diff --git a/.github/workflows/pytest.yaml b/.github/workflows/pytest.yaml
index 4baa43733..b5b8cb784 100644
--- a/.github/workflows/pytest.yaml
+++ b/.github/workflows/pytest.yaml
@@ -48,7 +48,7 @@ jobs:
run: |
make check
- e2e:
+ playwright-shiny:
runs-on: ${{ matrix.os }}
if: github.event_name != 'release'
strategy:
@@ -67,9 +67,9 @@ jobs:
- name: Run End-to-End tests
timeout-minutes: 20
run: |
- make e2e
+ make playwright-shiny
- e2e-examples:
+ playwright-examples:
runs-on: ${{ matrix.os }}
if: github.event_name != 'release'
strategy:
@@ -99,11 +99,11 @@ jobs:
- name: Run example app tests
timeout-minutes: 20
run: |
- make e2e-examples
+ make playwright-examples
- e2e-deploys:
- # Only allow one `e2e-deploys` job to run at a time. (Independent of branch / PR)
- concurrency: e2e-deploys
+ playwright-deploys:
+ # Only allow one `playwright-deploys` job to run at a time. (Independent of branch / PR)
+ concurrency: playwright-deploys
runs-on: ${{ matrix.os }}
if: ${{ github.event_name == 'push' || (github.event_name == 'pull_request' && startsWith(github.head_ref, 'deploy')) }}
strategy:
@@ -128,7 +128,7 @@ jobs:
DEPLOY_SHINYAPPS_SECRET: "${{ secrets.DEPLOY_SHINYAPPS_SECRET }}"
timeout-minutes: 30
run: |
- make e2e-deploys
+ make playwright-deploys
pypi:
name: "Deploy to PyPI"
@@ -202,7 +202,7 @@ jobs:
- name: Run End-to-End tests
timeout-minutes: 20
run: |
- make e2e-junit
+ make testrail-junit
- name: Report results to Testrail
env:
TESTRAIL_URL: "https://posit.testrail.io"
diff --git a/.gitignore b/.gitignore
index a1827a31b..5560ec767 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,5 @@
# Byte-compiled / optimized / DLL files
-__pycache__/
+**/__pycache__/
*.py[cod]
*$py.class
@@ -110,3 +110,6 @@ docs/source/reference/
.Rproj.user
/.luarc.json
+
+# Developer scratch area
+_dev/
diff --git a/.vscode/settings.json b/.vscode/settings.json
index d2d06aa89..07dbac4c2 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -29,7 +29,7 @@
"editor.formatOnSave": true,
"editor.tabSize": 4,
"editor.codeActionsOnSave": {
- "source.organizeImports": true
+ "source.organizeImports": "explicit"
}
},
"isort.args": ["--profile", "black"],
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a20207b4c..093a5fd7f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,10 +9,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [UNRELEASED]
### New features
-- `shiny create` now allows you to select from a list of template apps.
-- `shiny create` provides templates which help you build your own custom JavaScript components.
+* `shiny create` now allows you to select from a list of template apps.
+* `shiny create` provides templates which help you build your own custom JavaScript components.
* Closed #814: The functions `reactive.Calc` and `reactive.Effect` have been changed to have lowercase names: `reactive.calc`, and `reactive.effect`. The old capitalized names are now aliases to the new lowercase names, so existing code will continue to work. Similarly, the class `reactive.Value` has a new alias, `reactive.value`, but in this case, since the original was a class, it keeps the original capitalized name as the primary name. The examples have not been changed yet, but will be changed in a future release. (#822)
+* Added `ui.layout_columns()` for creating responsive column-forward layouts based on Bootstrap's 12-column CSS Grid. (#856)
### Bug fixes
@@ -20,10 +21,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Other changes
+* Closed #492: `shiny.ui.nav()` is now deprecated in favor of the more aptly named `shiny.ui.nav_panel()` (#876).
* Update penguins example to credit Allison Horst and drop usage of `shiny.experimental` (#798).
+* `as_fillable_container()` and `as_fill_item()` no longer mutate the `Tag` object that was passed in. Instead, it returns a new `Tag` object. Also closed #856: these functions now put the `html-fill-container` and `html-fill-item` CSS classes last, instead of first. (#862)
-## [0.6.0] - 2023-08-08
+## [0.6.0] - 2023-10-30
### Breaking Changes
* `shiny.run` only allows positional arguments for `app`, `host`, and `port`, all other arguments must be specified with keywords.
diff --git a/MANIFEST.in b/MANIFEST.in
index b37964d55..cabdd7ce4 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -9,3 +9,4 @@ recursive-include docs *.rst conf.py Makefile make.bat *.jpg *.png *.gif
recursive-include shiny/www *
recursive-include shiny/experimental/www *
recursive-include shiny/api-examples *
+recursive-include shiny/templates *
diff --git a/Makefile b/Makefile
index ab53d9ad1..d4fc1bb2c 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-.PHONY: help clean clean-test clean-pyc clean-build help lint test e2e e2e-examples
+.PHONY: help clean clean-test clean-pyc clean-build help lint test playwright-shiny playwright-examples playwright-deploys install-trcli install-playwright
.DEFAULT_GOAL := help
define BROWSER_PYSCRIPT
@@ -83,31 +83,34 @@ test: ## run tests quickly with the default Python
python3 tests/pytest/asyncio_prevent.py
pytest
-# Default `FILE` to `e2e` if not specified
-FILE:=tests/e2e
+# Default `SUB_FILE` to empty
+SUB_FILE:=
-DEPLOYS_FILE:=tests/deploys
+DEPLOYS_FILE:=tests/playwright/deploys
-playwright-install:
+install-playwright:
playwright install --with-deps
-trcli-install:
+install-trcli:
which trcli || pip install trcli
-e2e: playwright-install ## end-to-end tests with playwright
- pytest $(FILE) -m "not examples and not integrationtest"
+install-rsconnect: ## install the main version of rsconnect till pypi version supports shiny express
+ pip install git+https://github.com/rstudio/rsconnect-python.git#egg=rsconnect-python
-e2e-examples: playwright-install ## end-to-end tests on examples with playwright
- pytest $(FILE) -m "examples"
+playwright-shiny: install-playwright ## end-to-end tests with playwright
+ pytest tests/playwright/shiny/$(SUB_FILE)
-e2e-deploys: playwright-install ## end-to-end tests on deploys with playwright
- pytest $(DEPLOYS_FILE) -s -m "integrationtest"
+playwright-examples: install-playwright ## end-to-end tests on examples with playwright
+ pytest tests/playwright/examples
-e2e-junit: playwright-install trcli-install ## end-to-end tests with playwright and generate junit report
- pytest $(FILE) --junitxml=report.xml
+playwright-deploys: install-playwright install-rsconnect ## end-to-end tests on deploys with playwright
+ pytest tests/playwright/deploys/$(SUB_FILE) -s
+
+testrail-junit: install-playwright install-trcli ## end-to-end tests with playwright and generate junit report
+ pytest tests/playwright/shiny/$(SUB_FILE) --junitxml=report.xml
coverage: ## check combined code coverage (must run e2e last)
- pytest --cov-report term-missing --cov=shiny tests/pytest/ tests/e2e/ -m "not examples and not integrationtest"
+ pytest --cov-report term-missing --cov=shiny tests/pytest/ tests/playwright/shiny/$(SUB_FILE)
coverage html
$(BROWSER) htmlcov/index.html
diff --git a/docs/.gitignore b/docs/.gitignore
index 95eb9c701..a3135790a 100644
--- a/docs/.gitignore
+++ b/docs/.gitignore
@@ -4,3 +4,4 @@ _inv/
_sidebar.yml
/.quarto/
objects.json
+site_libs/
diff --git a/docs/Makefile b/docs/Makefile
index d14e9b8b1..91fabe65c 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -39,11 +39,14 @@ $(PYBIN): $(VENV)
help:
@python -c "$$PRINT_HELP_PYSCRIPT" < $(MAKEFILE_LIST)
+dev-htmltools: $(PYBIN) ## Install development version of htmltools
+ $(PYBIN)/pip install https://github.com/rstudio/py-htmltools/tarball/main
+
deps: $(PYBIN) ## Install build dependencies
$(PYBIN)/pip install pip --upgrade
$(PYBIN)/pip install -e ..[doc]
-quartodoc: ## Build qmd files for API docs
+quartodoc: $(PYBIN) ## Build qmd files for API docs
. $(PYBIN)/activate \
&& quartodoc interlinks \
&& quartodoc build --config _quartodoc.yml --verbose
diff --git a/docs/README.md b/docs/README.md
index 82f211be5..fa9453816 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -8,6 +8,9 @@ This directory contains files to generate Shiny for Python API documentation, us
To build the docs, first install the Python dependencies and Quarto extensions:
```bash
+# Install development version of htmltools (do this if you are using a development version of shiny)
+make dev-htmltools
+
# Install build dependencies
make deps
```
diff --git a/docs/_quarto.yml b/docs/_quarto.yml
index b4f5d299c..3e1093ae7 100644
--- a/docs/_quarto.yml
+++ b/docs/_quarto.yml
@@ -5,6 +5,7 @@ project:
format:
html:
toc: true
+ css: shiny-docs.css
website:
title: "Shiny for Python (dev version)"
diff --git a/docs/_quartodoc.yml b/docs/_quartodoc.yml
index 503e57d74..9be9d456d 100644
--- a/docs/_quartodoc.yml
+++ b/docs/_quartodoc.yml
@@ -18,15 +18,16 @@ quartodoc:
- express.layout.span
- express.layout.pre
- express.layout.sidebar
+ - express.layout.layout_columns
- express.layout.layout_column_wrap
- express.layout.column
- express.layout.row
- express.layout.card
- express.layout.accordion
- express.layout.accordion_panel
- - express.layout.navset_tab
- - express.layout.navset_card_tab
- - express.layout.nav
+ - express.layout.navset
+ - express.layout.navset_card
+ - express.layout.nav_panel
- express.layout.page_fluid
- express.layout.page_fixed
- express.layout.page_fillable
@@ -46,6 +47,7 @@ quartodoc:
contents:
- ui.sidebar
- ui.layout_sidebar
+ - ui.layout_columns
- ui.layout_column_wrap
- ui.card
- ui.card_header
@@ -87,10 +89,10 @@ quartodoc:
- title: Navigation (tab) panels
desc: Create segments of UI content.
contents:
- - ui.nav
- - ui.nav_control
+ - ui.nav_panel
- ui.nav_spacer
- ui.nav_menu
+ - ui.nav_control
- ui.navset_bar
- ui.navset_tab
- ui.navset_pill
@@ -306,6 +308,7 @@ quartodoc:
contents:
- ui.panel_main
- ui.panel_sidebar
+ - ui.nav
- title: Experimental
desc: "These methods are under consideration and are considered unstable. However, if there is a method you are excited about, please let us know!"
contents:
diff --git a/docs/_renderer.py b/docs/_renderer.py
index ee72ca8af..cab180bdb 100644
--- a/docs/_renderer.py
+++ b/docs/_renderer.py
@@ -13,8 +13,11 @@
from griffe.docstrings import dataclasses as ds
from plum import dispatch
from quartodoc import MdRenderer
+from quartodoc.pandoc.blocks import DefinitionList
from quartodoc.renderers.base import convert_rst_link_to_md, sanitize
+# from quartodoc.ast import preview
+
SHINY_PATH = Path(files("shiny").joinpath())
SHINYLIVE_CODE_TEMPLATE = """
@@ -129,7 +132,7 @@ def render_annotation(self, el: None):
@dispatch
def render_annotation(self, el: exp.Expr):
- # an expression is essentially a list[exp.Name | str]
+ # an expression is essentially a list[exp.ExprName | str]
# e.g. Optional[TagList]
# -> [Name(source="Optional", ...), "[", Name(...), "]"]
@@ -138,12 +141,40 @@ def render_annotation(self, el: exp.Expr):
@dispatch
def render_annotation(self, el: exp.ExprName):
# e.g. Name(source="Optional", full="typing.Optional")
- return f"[{el.path}](`{el.canonical_path}`)"
+ return f"[{el.name}](`{el.canonical_path}`)"
@dispatch
- def summarize(self, el: dc.Object | dc.Alias):
- result = super().summarize(el)
- return html.escape(result)
+ # Overload of `quartodoc.renderers.md_renderer` to fix bug where the descriptions
+ # are cut off and never display other places. Fixing by always displaying the
+ # documentation.
+ def summarize(self, obj: Union[dc.Object, dc.Alias]) -> str:
+ # get high-level description
+ doc = obj.docstring
+ if doc is None:
+ docstring_parts = []
+ else:
+ docstring_parts = doc.parsed
+
+ if len(docstring_parts) and isinstance(
+ docstring_parts[0], ds.DocstringSectionText
+ ):
+ description = docstring_parts[0].value
+
+ # ## Approach: Always return the full description!
+ return description
+
+ # ## Alternative: Add ellipsis if the lines are cut off
+
+ # # If the description is more than one line, only show the first line.
+ # # Add `...` to indicate the description was truncated
+ # parts = description.split("\n")
+ # short = parts[0]
+ # if len(parts) > 1:
+ # short += "…"
+
+ # return short
+
+ return ""
# Consolidate the parameter type info into a single column
@dispatch
@@ -158,15 +189,14 @@ def render(self, el: ds.DocstringParameter):
# Wrap everything in a code block to allow for links
param = "" + param + ""
- clean_desc = sanitize(el.description, allow_markdown=True)
- return (param, clean_desc)
+ return (param, el.description)
@dispatch
def render(self, el: ds.DocstringSectionParameters):
rows = list(map(self.render, el.value))
- header = ["Parameter", "Description"]
+ # rows is a list of tuples of (, )
- return self._render_table(rows, header)
+ return str(DefinitionList(rows))
@dispatch
def signature(self, el: dc.Function, source: Optional[dc.Alias] = None):
diff --git a/docs/shiny-docs.css b/docs/shiny-docs.css
new file mode 100644
index 000000000..f5b1c0ba3
--- /dev/null
+++ b/docs/shiny-docs.css
@@ -0,0 +1,4 @@
+#parameters dd {
+ margin-top: 0.5rem;
+ margin-left: 2rem;
+}
diff --git a/examples/event/app.py b/examples/event/app.py
index 20adf5d25..31ee8eb26 100644
--- a/examples/event/app.py
+++ b/examples/event/app.py
@@ -12,12 +12,12 @@
"""
),
ui.navset_card_tab(
- ui.nav(
+ ui.nav_panel(
"Sync",
ui.input_action_button("btn", "Click me"),
ui.output_ui("btn_value"),
),
- ui.nav(
+ ui.nav_panel(
"Async",
ui.input_action_button("btn_async", "Click me"),
ui.output_ui("btn_async_value"),
diff --git a/examples/express/nav_app.py b/examples/express/nav_app.py
index 07fb07b34..d4f421ce8 100644
--- a/examples/express/nav_app.py
+++ b/examples/express/nav_app.py
@@ -4,12 +4,12 @@
from shiny import render, ui
from shiny.express import input, layout
-with layout.column(width=6):
- with layout.navset_tab():
- with layout.nav(title="One"):
+with layout.layout_column_wrap(width=1 / 2):
+ with layout.navset():
+ with layout.nav_panel(title="One"):
ui.input_slider("n", "N", 1, 100, 50)
- with layout.nav(title="Two"):
+ with layout.nav_panel(title="Two"):
@render.plot
def histogram():
@@ -17,13 +17,11 @@ def histogram():
x = 100 + 15 * np.random.randn(437)
plt.hist(x, input.n(), density=True)
-
-with layout.column(width=6):
- with layout.navset_card_tab():
- with layout.nav(title="One"):
+ with layout.navset_card():
+ with layout.nav_panel(title="One"):
ui.input_slider("n2", "N", 1, 100, 50)
- with layout.nav(title="Two"):
+ with layout.nav_panel(title="Two"):
@render.plot
def histogram2():
diff --git a/examples/inputs-update/app.py b/examples/inputs-update/app.py
index 133bdbfa9..be210a807 100644
--- a/examples/inputs-update/app.py
+++ b/examples/inputs-update/app.py
@@ -78,8 +78,8 @@
),
),
ui.navset_tab(
- ui.nav("panel1", ui.h2("This is the first panel.")),
- ui.nav("panel2", ui.h2("This is the second panel.")),
+ ui.nav_panel("panel1", ui.h2("This is the first panel.")),
+ ui.nav_panel("panel2", ui.h2("This is the second panel.")),
id="inTabset",
),
),
diff --git a/examples/static_plots/app.py b/examples/static_plots/app.py
index 043126331..cc99f20c0 100644
--- a/examples/static_plots/app.py
+++ b/examples/static_plots/app.py
@@ -8,7 +8,7 @@
nav = ui.navset_pill_list(
ui.nav_control(ui.p("Choose a package", class_="lead text-center")),
- ui.nav(
+ ui.nav_panel(
"Plotnine",
ui.output_plot("plotnine"),
ui.div(
@@ -27,7 +27,7 @@
),
),
),
- ui.nav(
+ ui.nav_panel(
"Seaborn",
ui.output_plot("seaborn"),
ui.div(
@@ -36,11 +36,11 @@
ui.input_slider("cov", "Co-variance", min=0, max=1, value=0.4),
),
),
- ui.nav("Pandas", ui.output_plot("pandas")),
- ui.nav("Holoviews", ui.output_plot("holoviews", height="600px")),
- ui.nav("xarray", ui.output_plot("xarray")),
- ui.nav("geopandas", ui.output_plot("geopandas")),
- ui.nav("missingno", ui.output_plot("missingno")),
+ ui.nav_panel("Pandas", ui.output_plot("pandas")),
+ ui.nav_panel("Holoviews", ui.output_plot("holoviews", height="600px")),
+ ui.nav_panel("xarray", ui.output_plot("xarray")),
+ ui.nav_panel("geopandas", ui.output_plot("geopandas")),
+ ui.nav_panel("missingno", ui.output_plot("missingno")),
widths=(2, 10),
well=False,
)
diff --git a/pyrightconfig.json b/pyrightconfig.json
index e10033fb7..284b67df5 100644
--- a/pyrightconfig.json
+++ b/pyrightconfig.json
@@ -6,8 +6,9 @@
"dist",
"typings",
"sandbox",
+ "_dev",
"docs",
- "tests/deploys/apps",
+ "tests/playwright/deploys/apps",
"shiny/templates"
],
"typeCheckingMode": "strict",
diff --git a/scripts/htmlDependencies.R b/scripts/htmlDependencies.R
index 24f23fcbc..20cca4307 100755
--- a/scripts/htmlDependencies.R
+++ b/scripts/htmlDependencies.R
@@ -11,7 +11,7 @@ versions <- list()
message("Installing GitHub packages: bslib, shiny, htmltools")
withr::local_temp_libpaths()
ignore <- capture.output({
- pak::pkg_install(c("cran::bslib", "cran::shiny", "cran::htmltools"))
+ pak::pkg_install(c("rstudio/bslib", "cran::shiny", "cran::htmltools"))
#pak::pkg_install(c("rstudio/bslib@main", "rstudio/shiny@main", "rstudio/htmltools@main"))
})
diff --git a/setup.cfg b/setup.cfg
index 44b7b81e0..6322b6094 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -37,7 +37,7 @@ install_requires =
starlette>=0.17.1
websockets>=10.0
python-multipart
- htmltools>=0.4.1.9001
+ htmltools @ git+https://github.com/posit-dev/py-htmltools.git
click>=8.1.4
markdown-it-py>=1.1.0
# This is needed for markdown-it-py. Without it, when loading shiny/ui/_markdown.py,
@@ -103,8 +103,8 @@ doc =
tabulate
shinylive==0.1.1
pydantic==1.10
- quartodoc==0.7.1
- griffe
+ quartodoc==0.7.2
+ griffe==0.33.0
[options.packages.find]
include = shiny, shiny.*
@@ -124,7 +124,7 @@ console_scripts =
# W503: Line break occurred before a binary operator
# E203: whitespace before ':' (see https://black.readthedocs.io/en/stable/guides/using_black_with_other_tools.html#flake8)
ignore = E302, E501, F403, F405, W503, E203
-extend_exclude = docs, .venv, venv, typings, e2e, build
+extend_exclude = docs, .venv, venv, typings, build, _dev
[isort]
profile=black
diff --git a/shiny/_app.py b/shiny/_app.py
index f8b01d139..664a2238a 100644
--- a/shiny/_app.py
+++ b/shiny/_app.py
@@ -46,12 +46,12 @@ class App:
----------
ui
The UI definition for the app (e.g., a call to :func:`~shiny.ui.page_fluid` or
- :func:`~shiny.ui.page_fixed`, with layouts and controls nested inside). You can
+ similar, with layouts and controls nested inside). You can
also pass a function that takes a :class:`~starlette.requests.Request` and
returns a UI definition, if you need the UI definition to be created dynamically
for each pageview.
server
- A function which is called once for each session, ensuring that each app is
+ A function which is called once for each session, ensuring that each session is
independent.
static_assets
Static files to be served by the app. If this is a string or Path object, it
@@ -225,7 +225,7 @@ def run(self, **kwargs: object) -> None:
Parameters
----------
- kwargs
+ **kwargs
Keyword arguments passed to :func:`~shiny.run_app`.
"""
from ._main import run_app
diff --git a/shiny/_main.py b/shiny/_main.py
index 57fc2d2dc..9a9dc659d 100644
--- a/shiny/_main.py
+++ b/shiny/_main.py
@@ -197,7 +197,7 @@ def run_app(
**kwargs: object,
) -> None:
"""
- Starts a Shiny app. Press ``Ctrl+C`` (or ``Ctrl+Break`` on Windows) to stop.
+ Starts a Shiny app. Press ``Ctrl+C`` (or ``Ctrl+Break`` on Windows) to stop the app.
Parameters
----------
@@ -207,8 +207,8 @@ def run_app(
directory. In other cases, the app location can be specified as a
``:`` string where the ``:`` is only necessary if
the application is named something other than ``app``. Note that ````
- can be relative path to a ``.py`` file or a directory (with an ``app.py`` file
- inside it); and in this case, the relative path is resolved relative to the
+ can be a relative path to a ``.py`` file or a directory (with an ``app.py`` file
+ inside of it); and in this case, the relative path is resolved relative to the
``app_dir`` directory.
host
The address that the app should listen on.
@@ -220,8 +220,8 @@ def run_app(
reload
Enable auto-reload.
reload_dirs
- List of directories (in addition to the app directory) to watch for changes that
- will trigger app reloading.
+ A list of directories (in addition to the app directory) to watch for changes that
+ will trigger an app reload.
reload_includes
List or tuple of file globs to indicate which files should be monitored for
changes. Can be combined with `reload_excludes`.
@@ -233,7 +233,7 @@ def run_app(
log_level
Log level.
app_dir
- Look for ``app`` under this directory (by adding this to the ``PYTHONPATH``).
+ The directory to look for ``app`` under (by adding this to the ``PYTHONPATH``).
factory
Treat ``app`` as an application factory, i.e. a () -> callable.
launch_browser
@@ -245,7 +245,7 @@ def run_app(
Tip
---
The ``shiny run`` command-line interface (which comes installed with Shiny) provides
- the same functionality as this function.
+ the same functionality as :func:`~shiny.run_app`.
Examples
--------
@@ -499,10 +499,32 @@ def try_import_module(module: str) -> Optional[types.ModuleType]:
),
help="Choose a template for your new application.",
)
-def create(template: Optional[str] = None) -> None:
- from ._template_utils import template_query
+@click.option(
+ "--mode",
+ "-m",
+ type=click.Choice(
+ ["core", "express"],
+ case_sensitive=False,
+ ),
+ help="Do you want to use a Shiny Express template or a Shiny Core template?",
+)
+@click.option(
+ "--github",
+ "-g",
+ help="The GitHub URL of the template sub-directory. For example https://github.com/posit-dev/py-shiny-templates/tree/main/dashboard",
+)
+def create(
+ template: Optional[str] = None,
+ mode: Optional[str] = None,
+ github: Optional[str] = None,
+) -> None:
+ from ._template_utils import template_query, use_git_template
+
+ if github is not None:
+ use_git_template(github, mode)
+ return
- template_query(template)
+ template_query(template, mode)
@main.command(
diff --git a/shiny/_template_utils.py b/shiny/_template_utils.py
index 8f908afb5..dd9d54072 100644
--- a/shiny/_template_utils.py
+++ b/shiny/_template_utils.py
@@ -1,10 +1,14 @@
import os
import shutil
import sys
+import tempfile
+import zipfile
from pathlib import Path
from typing import Dict, List, Optional
+from urllib.parse import urlparse
import questionary
+import requests
from questionary import Choice
from ._custom_component_template_questions import (
@@ -33,7 +37,7 @@ def choice_from_dict(choice_dict: Dict[str, str]) -> List[Choice]:
return [Choice(title=key, value=value) for key, value in choice_dict.items()]
-def template_query(question_state: Optional[str] = None):
+def template_query(question_state: Optional[str] = None, mode: Optional[str] = None):
"""
This will initiate a CLI query which will ask the user which template they would like.
If called without arguments this function will start from the top level and ask which
@@ -67,20 +71,99 @@ def template_query(question_state: Optional[str] = None):
elif template in package_template_choices.values():
js_component_questions(template)
else:
- app_template_questions(template)
+ app_template_questions(template, mode)
-def app_template_questions(template: str):
+def download_and_extract_zip(url: str, temp_dir: Path):
+ response = requests.get(url)
+ response.raise_for_status()
+ zip_file_path = temp_dir / "repo.zip"
+ zip_file_path.write_bytes(response.content)
+ with zipfile.ZipFile(zip_file_path, "r") as zip_file:
+ zip_file.extractall(temp_dir)
+
+
+def use_git_template(url: str, mode: Optional[str] = None):
+ # Github requires that we download the whole repository, so we need to
+ # download and unzip the repo, then navigate to the subdirectory.
+
+ parsed_url = urlparse(url)
+ path_parts = parsed_url.path.strip("/").split("/")
+ repo_owner, repo_name, _, branch_name = path_parts[:4]
+ subdirectory = "/".join(path_parts[4:])
+
+ zip_url = f"https://github.com/{repo_owner}/{repo_name}/archive/refs/heads/{branch_name}.zip"
+
+ with tempfile.TemporaryDirectory() as temp_dir:
+ temp_dir = Path(temp_dir)
+ download_and_extract_zip(zip_url, temp_dir)
+
+ template_dir = os.path.join(
+ temp_dir, f"{repo_name}-{branch_name}", subdirectory
+ )
+
+ if not os.path.exists(template_dir):
+ raise Exception(f"Template directory '{template_dir}' does not exist")
+
+ directory = repo_name + "-" + branch_name
+ path = temp_dir / directory / subdirectory
+ return app_template_questions(mode=mode, template_dir=path)
+
+
+def app_template_questions(
+ template: Optional[str] = None,
+ mode: Optional[str] = None,
+ template_dir: Optional[Path] = None,
+):
+ if template_dir is None:
+ if template is None:
+ raise ValueError("You must provide either template or template_dir")
+ template_dir = Path(__file__).parent / "templates/app-templates" / template
+
+ # Not all apps will be implemented in both express and core so we can
+ # avoid the questions if it's a core only app.
+ template_files = [file.name for file in template_dir.iterdir() if file.is_file()]
+ express_available = "app-express.py" in template_files
+
+ if mode == "express" and not express_available:
+ raise Exception("Express mode not available for that template.")
+
+ if mode is None and express_available:
+ mode = questionary.select(
+ "Would you like to use Shiny Express?",
+ [
+ Choice("Yes", "express"),
+ Choice("No", "core"),
+ back_choice,
+ cancel_choice,
+ ],
+ ).ask()
+
+ if mode is None or mode == "cancel":
+ sys.exit(1)
+ if mode == "back":
+ template_query()
+ return
+
appdir = questionary.path(
"Enter destination directory:",
- default=build_path_string(),
+ default=build_path_string(""),
only_directories=True,
).ask()
if appdir is None:
sys.exit(1)
- app_dir = copy_template_files(appdir, template, template_subdir="app-templates")
+ if appdir == ".":
+ appdir = build_path_string(template_dir.name)
+
+ app_dir = copy_template_files(
+ Path(appdir),
+ template_dir=template_dir,
+ express_available=express_available,
+ mode=mode,
+ )
+
print(f"Created Shiny app at {app_dir}")
print(f"Next steps open and edit the app file: {app_dir}/app.py")
@@ -129,8 +212,16 @@ def js_component_questions(component_type: Optional[str] = None):
if appdir is None:
sys.exit(1)
+ if appdir == ".":
+ appdir = build_path_string(component_type)
+
app_dir = copy_template_files(
- appdir, component_type, template_subdir="package-templates"
+ Path(appdir),
+ template_dir=Path(__file__).parent
+ / "templates/package-templates"
+ / component_type,
+ express_available=False,
+ mode=None,
)
# Print messsage saying we're building the component
@@ -152,12 +243,12 @@ def build_path_string(*path: str):
return os.path.join(".", *path)
-def copy_template_files(dest: str, template: str, template_subdir: str):
- if dest == ".":
- dest = build_path_string(template)
-
- app_dir = Path(dest)
- template_dir = Path(__file__).parent / "templates" / template_subdir / template
+def copy_template_files(
+ app_dir: Path,
+ template_dir: Path,
+ express_available: bool,
+ mode: Optional[str] = None,
+):
duplicate_files = [
file.name for file in template_dir.iterdir() if (app_dir / file.name).exists()
]
@@ -178,4 +269,16 @@ def copy_template_files(dest: str, template: str, template_subdir: str):
else:
shutil.copytree(item, app_dir / item.name)
+ def rename_unlink(file_to_rename: str, file_to_delete: str, dir: Path = app_dir):
+ (dir / file_to_rename).rename(dir / "app.py")
+ (dir / file_to_delete).unlink()
+
+ if express_available:
+ if mode == "express":
+ rename_unlink("app-express.py", "app-core.py")
+ if mode == "core":
+ rename_unlink("app-core.py", "app-express.py")
+ if (app_dir / "app-core.py").exists():
+ (app_dir / "app-core.py").rename(app_dir / "app.py")
+
return app_dir
diff --git a/shiny/_validation.py b/shiny/_validation.py
index 91d23f754..4f451831b 100644
--- a/shiny/_validation.py
+++ b/shiny/_validation.py
@@ -26,9 +26,16 @@ def req(*args: T, cancel_output: bool = False) -> T | None:
This is a convenient shorthand for throwing :func:`~shiny.types.SilentException` /
:func:`~shiny.types.SilentCancelOutputException` if any of the arguments are falsy.
+ The term "falsy" generally indicates that a value is considered `False` when
+ encountered in a logical context. We use the term a little loosely here; our usage
+ tries to match the intuitive notions of "Is this value missing or available?", or
+ "Has the user provided an answer?", or in the case of action buttons, "Has the
+ button been clicked?". So `False`, `None`, `0`, and `""` would be examples of Falsy
+ values.
+
Parameters
----------
- args
+ *args
Any number of arguments to check.
cancel_output
If ``True``, throw :func:`~shiny.types.SilentCancelOutputException` instead of
diff --git a/shiny/_versions.py b/shiny/_versions.py
index 5e1b69999..7a4a1832a 100644
--- a/shiny/_versions.py
+++ b/shiny/_versions.py
@@ -1,5 +1,5 @@
shiny_html_deps = "1.8.0"
-bslib = "0.6.1"
+bslib = "0.6.1.9000"
htmltools = "0.5.7"
bootstrap = "5.3.1"
requirejs = "2.3.6"
diff --git a/shiny/api-examples/as_fill_item/app.py b/shiny/api-examples/as_fill_item/app.py
index 70dfb98d1..20d0e748c 100644
--- a/shiny/api-examples/as_fill_item/app.py
+++ b/shiny/api-examples/as_fill_item/app.py
@@ -6,7 +6,7 @@
from shiny.ui import fill
-def outer_inner() -> tuple[htmltools.Tag, htmltools.Tag]:
+def outer_inner() -> htmltools.Tag:
inner = ui.div(
id="inner",
style=htmltools.css(
@@ -22,17 +22,17 @@ def outer_inner() -> tuple[htmltools.Tag, htmltools.Tag]:
border="3px red solid",
),
)
- return outer, inner
+ return outer
-outer0, inner0 = outer_inner()
+outer0 = outer_inner()
-outer1, inner1 = outer_inner()
-fill.as_fill_item(inner1)
+outer1 = outer_inner()
+outer1.children[0] = fill.as_fill_item(outer1.children[0])
-outer2, inner2 = outer_inner()
-fill.as_fillable_container(outer2)
-fill.as_fill_item(inner2)
+outer2 = outer_inner()
+outer2 = fill.as_fillable_container(outer2)
+outer2.children[0] = fill.as_fill_item(outer2.children[0])
app_ui = ui.page_fluid(
diff --git a/shiny/api-examples/as_fillable_container/app.py b/shiny/api-examples/as_fillable_container/app.py
index 47fd96208..a327f4d18 100644
--- a/shiny/api-examples/as_fillable_container/app.py
+++ b/shiny/api-examples/as_fillable_container/app.py
@@ -6,7 +6,7 @@
from shiny.ui import fill
-def outer_inner() -> tuple[htmltools.Tag, htmltools.Tag]:
+def outer_inner() -> htmltools.Tag:
inner = ui.div(
id="inner",
style=htmltools.css(
@@ -22,23 +22,22 @@ def outer_inner() -> tuple[htmltools.Tag, htmltools.Tag]:
border="3px red solid",
),
)
- return outer, inner
+ return outer
-outer0, inner0 = outer_inner()
-outer1, inner1 = outer_inner()
-outer2, inner2 = outer_inner()
+outer0 = outer_inner()
-fill.as_fillable_container(outer2)
-
-fill.as_fillable_container(outer2)
-fill.as_fill_item(inner2)
+outer1 = outer_inner()
+outer1 = fill.as_fillable_container(outer1)
+outer2 = outer_inner()
+outer2 = fill.as_fillable_container(outer2)
+outer2.children[0] = fill.as_fill_item(outer2.children[0])
app_ui = ui.page_fluid(
ui.markdown(
"""\
- # `as_fill_container()`
+ # `as_fillable_container()`
For an item to fill its parent element,
* the item must have `as_fill_item()` be called on it
@@ -49,7 +48,7 @@ def outer_inner() -> tuple[htmltools.Tag, htmltools.Tag]:
),
ui.row(
ui.column(4, ui.h5("Default behavior")),
- ui.column(4, ui.h5(ui.markdown("`as_fill_container(red)`"))),
+ ui.column(4, ui.h5(ui.markdown("`as_fillable_container(red)`"))),
ui.column(
4,
ui.h5(ui.markdown("`as_fill_item(blue)` + `as_fillable_container(red)`")),
diff --git a/shiny/api-examples/layout_column_wrap/app.py b/shiny/api-examples/layout_column_wrap/app.py
index 7dbeb11a9..9e12df756 100644
--- a/shiny/api-examples/layout_column_wrap/app.py
+++ b/shiny/api-examples/layout_column_wrap/app.py
@@ -7,7 +7,7 @@
ui.layout_column_wrap(y, y, y, width=1 / 2),
ui.hr(),
# Has three columns when viewport is wider than 750px
- ui.layout_column_wrap(y, y, y, width="250%"),
+ ui.layout_column_wrap(y, y, y, width="250px"),
)
diff --git a/shiny/api-examples/layout_columns/app.py b/shiny/api-examples/layout_columns/app.py
new file mode 100644
index 000000000..4691f902c
--- /dev/null
+++ b/shiny/api-examples/layout_columns/app.py
@@ -0,0 +1,33 @@
+from model_plots import * # model plots and cards
+
+from shiny import App, Inputs, Outputs, Session, render, ui
+
+app_ui = ui.page_fluid(
+ ui.panel_title(ui.h2("Model Dashboard")),
+ ui.markdown("Using `ui.layout_columns()` for the layout."),
+ ui.layout_columns(
+ card_loss,
+ card_acc,
+ card_feat,
+ col_widths={"sm": (5, 7, 12)},
+ # row_heights=(2, 3),
+ # height="700px",
+ ),
+)
+
+
+def server(input: Inputs, output: Outputs, session: Session):
+ @render.plot
+ def loss_over_time():
+ return plot_loss_over_time()
+
+ @render.plot
+ def accuracy_over_time():
+ return plot_accuracy_over_time()
+
+ @render.plot
+ def feature_importance():
+ return plot_feature_importance()
+
+
+app = App(app_ui, server)
diff --git a/shiny/api-examples/layout_columns/model_plots.py b/shiny/api-examples/layout_columns/model_plots.py
new file mode 100644
index 000000000..951204df9
--- /dev/null
+++ b/shiny/api-examples/layout_columns/model_plots.py
@@ -0,0 +1,56 @@
+import matplotlib.pyplot as plt
+import numpy as np
+
+from shiny import ui
+
+
+def plot_loss_over_time():
+ epochs = np.arange(1, 101)
+ loss = 1000 / np.sqrt(epochs) + np.random.rand(100) * 25
+
+ fig = plt.figure(figsize=(10, 6))
+ plt.plot(epochs, loss)
+ plt.xlabel("Epochs")
+ plt.ylabel("Loss")
+ return fig
+
+
+def plot_accuracy_over_time():
+ epochs = np.arange(1, 101)
+ accuracy = np.sqrt(epochs) / 12 + np.random.rand(100) * 0.15
+ accuracy = [np.min([np.max(accuracy[:i]), 1]) for i in range(1, 101)]
+
+ fig = plt.figure(figsize=(10, 6))
+ plt.plot(epochs, accuracy)
+ plt.xlabel("Epochs")
+ plt.ylabel("Accuracy")
+ return fig
+
+
+def plot_feature_importance():
+ features = ["Product Category", "Price", "Brand", "Rating", "Number of Reviews"]
+ importance = np.random.rand(5)
+
+ fig = plt.figure(figsize=(10, 6))
+ plt.barh(features, importance)
+ plt.xlabel("Importance")
+ return fig
+
+
+card_loss = ui.card(
+ ui.card_header("Loss Over Time"),
+ ui.output_plot("loss_over_time"),
+ full_screen=True,
+)
+
+card_acc = ui.card(
+ ui.card_header("Accuracy Over Time"),
+ ui.output_plot("accuracy_over_time"),
+ full_screen=True,
+)
+
+card_feat = ui.card(
+ ui.card_header("Feature Importance"),
+ ui.output_plot("feature_importance"),
+ full_screen=True,
+)
diff --git a/shiny/api-examples/nav/app.py b/shiny/api-examples/nav/app.py
index 48ed374fd..269c6a18e 100644
--- a/shiny/api-examples/nav/app.py
+++ b/shiny/api-examples/nav/app.py
@@ -6,9 +6,9 @@
def nav_controls(prefix: str) -> List[NavSetArg]:
return [
- ui.nav("a", prefix + ": tab a content"),
- ui.nav("b", prefix + ": tab b content"),
- ui.nav("c", prefix + ": tab c content"),
+ ui.nav_panel("a", prefix + ": tab a content"),
+ ui.nav_panel("b", prefix + ": tab b content"),
+ ui.nav_panel("c", prefix + ": tab c content"),
ui.nav_spacer(),
ui.nav_menu(
"Links",
diff --git a/shiny/api-examples/navset_hidden/app.py b/shiny/api-examples/navset_hidden/app.py
index 09ff8d859..014869a97 100644
--- a/shiny/api-examples/navset_hidden/app.py
+++ b/shiny/api-examples/navset_hidden/app.py
@@ -9,9 +9,9 @@
),
ui.panel_main(
ui.navset_hidden(
- ui.nav(None, "Panel 1 content", value="panel1"),
- ui.nav(None, "Panel 2 content", value="panel2"),
- ui.nav(None, "Panel 3 content", value="panel3"),
+ ui.nav_panel(None, "Panel 1 content", value="panel1"),
+ ui.nav_panel(None, "Panel 2 content", value="panel2"),
+ ui.nav_panel(None, "Panel 3 content", value="panel3"),
id="hidden_tabs",
),
),
diff --git a/shiny/api-examples/update_navs/app.py b/shiny/api-examples/update_navs/app.py
index e319eba51..6a8e392a9 100644
--- a/shiny/api-examples/update_navs/app.py
+++ b/shiny/api-examples/update_navs/app.py
@@ -7,9 +7,9 @@
),
ui.panel_main(
ui.navset_card_tab(
- ui.nav("Panel 1", "Panel 1 content", value="panel1"),
- ui.nav("Panel 2", "Panel 2 content", value="panel2"),
- ui.nav("Panel 3", "Panel 3 content", value="panel3"),
+ ui.nav_panel("Panel 1", "Panel 1 content", value="panel1"),
+ ui.nav_panel("Panel 2", "Panel 2 content", value="panel2"),
+ ui.nav_panel("Panel 3", "Panel 3 content", value="panel3"),
id="inTabset",
),
),
diff --git a/shiny/experimental/ui/_card.py b/shiny/experimental/ui/_card.py
index 6acd6b641..34d518a72 100644
--- a/shiny/experimental/ui/_card.py
+++ b/shiny/experimental/ui/_card.py
@@ -48,30 +48,30 @@ def card(
"""
A Bootstrap card component
- A general purpose container for grouping related UI elements together with a border
- and optional padding. To learn more about `card()`s, see [this
+ A card is a general purpose container that groups related UI elements together with a border
+ and optional padding. To learn more about `card()`s, see [the bslib card
article](https://rstudio.github.io/bslib/articles/cards.html).
Parameters
----------
*args
- Unnamed arguments can be any valid child of an :class:`~htmltools.Tag` (which
- includes card items such as :func:`~shiny.experimental.ui.card_body`.
+ Unnamed arguments can be any valid child of an :class:`~htmltools.Tag` (This
+ includes card items such as :func:`~shiny.experimental.ui.card_body`).
full_screen
- If `True`, an icon will appear when hovering over the card body. Clicking the
+ If `True`, an icon will appear when the user's pointer hovers over the card body. Clicking the
icon expands the card to fit viewport size.
- height,max_height,min_height
- Any valid CSS unit (e.g., `height="200px"`). Doesn't apply when a card is made
- `full_screen` (in this case, consider setting a `height` in
- :func:`~shiny.experimental.ui.card_body`).
+ height, max_height, min_height
+ Any valid CSS unit (e.g., `height="200px"`). These will not apply when a card is made
+ `full_screen`. In this case, consider setting a `height` in
+ :func:`~shiny.experimental.ui.card_body`.
fill
Whether or not to allow the card to grow/shrink to fit a fillable container with
an opinionated height (e.g., :func:`~shiny.ui.page_fillable`).
class_
Additional CSS classes for the returned Tag.
wrapper
- A function (which returns a UI element) to call on unnamed arguments in `*args`
- which are not already card item(s) (like
+ A function that returns a UI element to call on any unnamed arguments in `*args`
+ that are not already card item(s) (like
:func:`~shiny.ui.card_header`,
:func:`~shiny.experimental.ui.card_body`, etc.). Note that non-card items are
grouped together into one `wrapper` call (e.g. given `card("a", "b",
@@ -83,17 +83,17 @@ def card(
Returns
-------
:
- An :func:`~shiny.ui.tags.div` tag.
+ A :func:`~shiny.ui.tags.div` tag.
See Also
--------
* :func:`~shiny.ui.layout_column_wrap` for laying out multiple cards
- (or multiple columns inside a card).
- * :func:`~shiny.ui.card_header` for creating a header within the card.
- * :func:`~shiny.experimental.ui.card_title` for creating a title within the card body.
- * :func:`~shiny.experimental.ui.card_body` for putting content inside the card.
- * :func:`~shiny.ui.card_footer` for creating a footer within the card.
- * :func:`~shiny.experimental.ui.card_image` for adding an image to the card.
+ or multiple columns inside a card.
+ * :func:`~shiny.ui.card_header` for creating a header within a card.
+ * :func:`~shiny.experimental.ui.card_title` for creating a title within a card body.
+ * :func:`~shiny.experimental.ui.card_body` for putting content inside a card.
+ * :func:`~shiny.ui.card_footer` for creating a footer within a card.
+ * :func:`~shiny.experimental.ui.card_image` for adding an image to a card.
"""
return _card_impl(
*args,
@@ -118,33 +118,35 @@ def card_title(
**kwargs: TagAttrValue,
) -> Tagifiable:
"""
- Card title container
+ A card title container
- A general container for the "title" of a :func:`~shiny.ui.card`. This component is designed
+ :func:`~shiny.experimental.ui.card_title` creates a general container for the "title" of
+ a :func:`~shiny.ui.card`. This component is designed
to be provided as a direct child to :func:`~shiny.ui.card`.
Parameters
----------
*args
- Contents to the card's title. Or tag attributes that are supplied to the
+ Contents to appear in the card's title, or tag attributes to pass to the
resolved :class:`~htmltools.Tag` object.
container
- Method for the returned Tag object. Defaults to :func:`shiny.ui.tags.h5`.
+ Method for the returned :class:`~htmltools.Tag` object. Defaults to
+ :func:`~shiny.ui.tags`.h5.
**kwargs
- Additional HTML attributes for the returned Tag.
+ Additional HTML attributes for the returned :class:`~htmltools.Tag` object.
Returns
-------
:
- A Tag object.
+ An :class:`~htmltools.Tag` object.
See Also
--------
* :func:`~shiny.ui.card` for creating a card component.
- * :func:`~shiny.ui.card_header` for creating a header within the card.
- * :func:`~shiny.experimental.ui.card_body` for putting content inside the card.
- * :func:`~shiny.ui.card_footer` for creating a footer within the card.
- * :func:`~shiny.experimental.ui.card_image` for adding an image to the card.
+ * :func:`~shiny.ui.card_header` for creating a header within a card.
+ * :func:`~shiny.experimental.ui.card_body` for putting content inside a card.
+ * :func:`~shiny.ui.card_footer` for creating a footer within a card.
+ * :func:`~shiny.experimental.ui.card_image` for adding an image to a card.
"""
return container(*args, **kwargs)
@@ -188,21 +190,22 @@ def card_image(
**kwargs: TagAttrValue,
) -> Tagifiable:
"""
- Card image container
+ A card image container
- A general container for an image within a :func:`~shiny.ui.card`. This component is designed to be
+ :func:`~shiny.experimental.ui.card_image` creates a general container for an image within a
+ :func:`~shiny.ui.card`. This component is designed to be
provided as a direct child to :func:`~shiny.ui.card`.
Parameters
----------
file
- A file path pointing an image. The image will be base64 encoded and provided to
- the `src` attribute of the ``. Alternatively, you may set this value to
+ A file path pointing to an image. The image will be base64 encoded and provided to
+ the `src` attribute of the `` tag. Alternatively, you may set this value to
`None` and provide the `src` yourself via `*args:TagAttrs` or
- `**kwargs:TagAttrValue` (e.g. `{"src": "HOSTED_PATH_TO_IMAGE"}` or
+ `**kwargs:TagAttrValue` (e.g., `{"src": "HOSTED_PATH_TO_IMAGE"}` or
`src="HOSTED_PATH_TO_IMAGE"`).
*args
- Dictionary of tag attributes that are supplied to the resolved
+ A dictionary of tag attributes that are supplied to the resolved
:class:`~htmltools.Tag` object.
href
An optional URL to link to.
@@ -211,23 +214,24 @@ def card_image(
mime_type
The mime type of the `file`.
class_
- Additional CSS classes for the resolved Tag.
+ Additional CSS classes for the resolved :class:`~htmltools.Tag` object.
height
- Any valid CSS unit (e.g., `height="200px"`). Doesn't apply when a card is made
- `full_screen` (in this case, consider setting a `height` in
- :func:`~shiny.experimental.ui.card_body`).
+ Any valid CSS unit (e.g., `height="200px"`). `height` will not apply when a card is made
+ `full_screen`. In this case, consider setting a `height` in
+ :func:`~shiny.experimental.ui.card_body`.
fill
Whether to allow this element to grow/shrink to fit its `card` container.
width
Any valid CSS unit (e.g., `width="100%"`).
container
- Method to wrap the returned Tag object. Defaults to :func:`~shiny.experimental.ui.card_body`.
+ Method to wrap the returned :class:`~htmltools.Tag` object. Defaults to
+ :func:`~shiny.experimental.ui.card_body`.
If :func:`~shiny.experimental.ui.card_body` is used, each image will be in separate cards. If
the `container` method does not return a :class:`~shiny.ui.CardItem`, it
allows for consecutive non-`CardItem` objects to be bundled into a single
:func:`~shiny.experimental.ui.card_body` within :func:`~shiny.ui.card`.
**kwargs
- Additional HTML attributes for the resolved Tag.
+ Additional HTML attributes for the resolved :class:`~htmltools.Tag`.
"""
src = None
if file is not None:
diff --git a/shiny/experimental/ui/_deprecated.py b/shiny/experimental/ui/_deprecated.py
index 9fb3f1601..6d324bb0e 100644
--- a/shiny/experimental/ui/_deprecated.py
+++ b/shiny/experimental/ui/_deprecated.py
@@ -212,7 +212,7 @@ def input_text_area(
autocomplete: Optional[str] = None,
spellcheck: Optional[Literal["true", "false"]] = None,
) -> Tag:
- """Deprecated. Please use `shiny.ui.input_text_area()` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.input_text_area()` instead."""
warn_deprecated(
"`shiny.experimental.ui.input_text_area()` is deprecated. "
"This method will be removed in a future version, "
@@ -249,7 +249,7 @@ def navset_pill_card(
footer: TagChild = None,
placement: Literal["above", "below"] = "above",
) -> MainNavSetCard:
- """Deprecated. Please use `navset_card_pill()` instead of `navset_pill_card()`."""
+ """Deprecated. Please use :func:`~navset_card_pill()` instead of `navset_pill_card()`."""
warn_deprecated(
"`shiny.experimental.ui.navset_pill_card()` is deprecated. "
"This method will be removed in a future version, "
@@ -275,7 +275,7 @@ def navset_tab_card(
header: TagChild = None,
footer: TagChild = None,
) -> MainNavSetCard:
- """Deprecated. Please use `navset_card_tab()` instead of `navset_tab_card()`."""
+ """Deprecated. Please use :func:`~navset_card_tab()` instead of `navset_tab_card()`."""
warn_deprecated(
"`shiny.experimental.ui.navset_tab_card()` is deprecated. "
"This method will be removed in a future version, "
@@ -304,7 +304,7 @@ def tooltip(
options: Optional[dict[str, object]] = None,
**kwargs: TagAttrValue,
) -> Tag:
- """Deprecated. Please use `shiny.ui.tooltip()` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.tooltip()` instead."""
warn_deprecated(
"`shiny.experimental.ui.tooltip()` is deprecated. "
"This method will be removed in a future version, "
@@ -322,7 +322,7 @@ def tooltip(
# Deprecated 2023-08-23
def tooltip_update(id: str, *args: TagChild, session: Optional[Session] = None) -> None:
- """Deprecated. Please use `shiny.ui.update_tooltip()` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.update_tooltip()` instead."""
warn_deprecated(
"`shiny.experimental.ui.tooltip_update()` is deprecated. "
"This method will be removed in a future version, "
@@ -337,7 +337,7 @@ def tooltip_update(id: str, *args: TagChild, session: Optional[Session] = None)
# Deprecated 2023-09-12
def update_tooltip(id: str, *args: TagChild, session: Optional[Session] = None) -> None:
- """Deprecated. Please use `shiny.ui.update_tooltip()` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.update_tooltip()` instead."""
warn_deprecated(
"`shiny.experimental.ui.update_tooltip()` is deprecated. "
"This method will be removed in a future version, "
@@ -356,7 +356,7 @@ def tooltip_toggle(
show: Optional[bool] = None,
session: Optional[Session] = None,
) -> None:
- """Deprecated. Please use `shiny.ui.update_tooltip()`."""
+ """Deprecated. Please use :func:`~shiny.ui.update_tooltip()`."""
warn_deprecated(
"`shiny.experimental.ui.tooltip_toggle()` is deprecated. "
"This method will be removed in a future version, "
@@ -375,7 +375,7 @@ def toggle_tooltip(
show: Optional[bool] = None,
session: Optional[Session] = None,
) -> None:
- """Deprecated. Please use `shiny.ui.update_tooltip()` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.update_tooltip()` instead."""
warn_deprecated(
"`shiny.experimental.ui.tooltip_toggle()` is deprecated. "
"This method will be removed in a future version, "
@@ -438,7 +438,7 @@ def sidebar(
gap: Optional[CssUnit] = None,
padding: Optional[CssUnit | list[CssUnit]] = None,
) -> MainSidebar:
- """Deprecated. Please use `shiny.ui.sidebar()` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.sidebar()` instead."""
warn_deprecated(
"`shiny.experimental.ui.sidebar()` is deprecated. "
"This method will be removed in a future version, "
@@ -475,7 +475,7 @@ def layout_sidebar(
height: Optional[CssUnit] = None,
**kwargs: TagAttrValue,
) -> MainCardItem:
- """Deprecated. Please use `shiny.ui.layout_sidebar()` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.layout_sidebar()` instead."""
warn_deprecated(
"`shiny.experimental.ui.layout_sidebar()` is deprecated. "
"This method will be removed in a future version, "
@@ -505,7 +505,7 @@ def toggle_sidebar(
open: Literal["toggle", "open", "closed", "always"] | bool | None = None,
session: Session | None = None,
) -> None:
- """Deprecated. Please use `shiny.ui.update_sidebar()` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.update_sidebar()` instead."""
warn_deprecated(
"`shiny.experimental.ui.toggle_sidebar()` is deprecated. "
"This method will be removed in a future version, "
@@ -531,7 +531,7 @@ def sidebar_toggle(
open: Literal["toggle", "open", "closed", "always"] | bool | None = None,
session: Session | None = None,
) -> None:
- """Deprecated. Please use `shiny.ui.update_sidebar()` instead of
+ """Deprecated. Please use :func:`~shiny.ui.update_sidebar()` instead of
`shiny.experimental.ui.sidebar_toggle()`."""
warn_deprecated(
"`shiny.experimental.ui.sidebar_toggle()` is deprecated. "
@@ -553,7 +553,7 @@ def panel_sidebar(
width: int = 4,
**kwargs: TagAttrValue,
) -> DeprecatedPanelSidebar:
- """Deprecated. Please use `shiny.ui.sidebar()` instead of
+ """Deprecated. Please use :func:`~shiny.ui.sidebar()` instead of
`shiny.experimental.ui.panel_sidebar()`."""
warn_deprecated(
"`shiny.experimental.ui.panel_sidebar()` is deprecated. "
@@ -574,7 +574,7 @@ def panel_main(
width: int = 8,
**kwargs: TagAttrValue,
) -> DeprecatedPanelMain:
- """Deprecated. Please use `shiny.ui.layout_sidebar()` instead of
+ """Deprecated. Please use :func:`~shiny.ui.layout_sidebar()` instead of
`shiny.experimental.ui.panel_main()`."""
warn_deprecated(
"`shiny.experimental.ui.panel_main()` is deprecated. "
@@ -612,7 +612,7 @@ def as_css_unit(value: CssUnit) -> str:
# Deprecated 2023-09-12
def as_css_unit(value: None | CssUnit) -> None | str:
"""
- Deprecated. Please use `shiny.ui.css_unit.as_css_unit()` instead.
+ Deprecated. Please use :func:`~shiny.ui.css_unit.as_css_unit()` instead.
"""
warn_deprecated(
"`shiny.experimental.ui.as_css_unit()` is deprecated. "
@@ -635,7 +635,7 @@ def as_css_padding(padding: None) -> None:
# Deprecated 2023-09-12
def as_css_padding(padding: CssUnit | list[CssUnit] | None) -> str | None:
"""
- Deprecated. Please use `shiny.ui.css_unit.as_css_padding()` instead.
+ Deprecated. Please use :func:`~shiny.ui.css_unit.as_css_padding()` instead.
"""
warn_deprecated(
"`shiny.experimental.ui.as_css_padding()` is deprecated. "
@@ -660,7 +660,7 @@ def popover(
options: Optional[dict[str, Any]] = None,
**kwargs: TagAttrValue,
) -> Tag:
- """Deprecated. Please use `shiny.ui.popover()` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.popover()` instead."""
warn_deprecated(
"`shiny.experimental.ui.popover()` is deprecated. "
"This method will be removed in a future version, "
@@ -683,7 +683,7 @@ def toggle_popover(
show: Optional[bool] = None,
session: Optional[Session] = None,
) -> None:
- """Deprecated. Please use `shiny.ui.update_popover()` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.update_popover()` instead."""
warn_deprecated(
"`shiny.experimental.ui.update_popover()` is deprecated. "
"This method will be removed in a future version, "
@@ -699,7 +699,7 @@ def update_popover(
title: Optional[TagChild] = None,
session: Optional[Session] = None,
) -> None:
- """Deprecated. Please use `shiny.ui.update_popover()` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.update_popover()` instead."""
warn_deprecated(
"`shiny.experimental.ui.update_popover()` is deprecated. "
"This method will be removed in a future version, "
@@ -733,7 +733,7 @@ def accordion(
height: Optional[CssUnit] = None,
**kwargs: TagAttrValue,
) -> Tag:
- """Deprecated. Please use `shiny.ui.accordion()` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.accordion()` instead."""
warn_deprecated(
"`shiny.experimental.ui.accordion()` is deprecated. "
"This method will be removed in a future version, "
@@ -759,7 +759,7 @@ def accordion_panel(
icon: Optional[TagChild] = None,
**kwargs: TagAttrValue,
) -> MainAccordionPanel:
- """Deprecated. Please use `shiny.ui.accordion_panel()` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.accordion_panel()` instead."""
warn_deprecated(
"`shiny.experimental.ui.accordion_panel()` is deprecated. "
"This method will be removed in a future version, "
@@ -780,7 +780,7 @@ def accordion_panel_set(
values: bool | str | list[str],
session: Optional[Session] = None,
) -> None:
- """Deprecated. Please use `shiny.ui.update_accordion()` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.update_accordion()` instead."""
warn_deprecated(
"`shiny.experimental.ui.accordion_panel_set()` is deprecated. "
"This method will be removed in a future version, "
@@ -795,7 +795,7 @@ def accordion_panel_open(
values: bool | str | list[str],
session: Optional[Session] = None,
) -> None:
- """Deprecated. Please use `shiny.ui.update_accordion_panel(id, value, show=True)` or `shiny.ui.update_accordion(id, show = True)` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.update_accordion_panel(id, value, show=True)` or :func:`~shiny.ui.update_accordion(id, show = True)` instead."""
warn_deprecated(
"`shiny.experimental.ui.accordion_panel_open()` is deprecated. "
"This method will be removed in a future version, "
@@ -819,7 +819,7 @@ def accordion_panel_close(
values: bool | str | list[str],
session: Optional[Session] = None,
) -> None:
- """Deprecated. Please use `shiny.ui.update_accordion_panel(id, value, show=False)` or `shiny.ui.update_accordion(id, show = False)` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.update_accordion_panel(id, value, show=False)` or :func:`~shiny.ui.update_accordion(id, show = False)` instead."""
warn_deprecated(
"`shiny.experimental.ui.accordion_panel_close()` is deprecated. "
"This method will be removed in a future version, "
@@ -844,7 +844,7 @@ def accordion_panel_insert(
position: Literal["after", "before"] = "after",
session: Optional[Session] = None,
) -> None:
- """Deprecated. Please use `shiny.ui.insert_accordion_panel()` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.insert_accordion_panel()` instead."""
warn_deprecated(
"`shiny.experimental.ui.accordion_panel_insert()` is deprecated. "
"This method will be removed in a future version, "
@@ -865,7 +865,7 @@ def accordion_panel_remove(
target: str | list[str],
session: Optional[Session] = None,
) -> None:
- """Deprecated. Please use `shiny.ui.remove_accordion_panel()` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.remove_accordion_panel()` instead."""
warn_deprecated(
"`shiny.experimental.ui.accordion_panel_remove()` is deprecated. "
"This method will be removed in a future version, "
@@ -888,7 +888,7 @@ def update_accordion_panel(
icon: TagChild | None | MISSING_TYPE = MISSING,
session: Optional[Session] = None,
) -> None:
- """Deprecated. Please use `shiny.ui.update_accordion_panel()` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.update_accordion_panel()` instead."""
warn_deprecated(
"`shiny.experimental.ui.update_accordion_panel()` is deprecated. "
"This method will be removed in a future version, "
@@ -922,7 +922,7 @@ def as_fill_carrier(
warn_deprecated(
"`shiny.experimental.ui.as_fill_carrier()` is deprecated. "
"This method will be removed in a future version, "
- "please use `shiny.ui.fill.as_fill_container()` and `shiny.ui.fill.as_fillable_item()` instead."
+ "please use `shiny.ui.fill.as_fillable_container()` and `shiny.ui.fill.as_fillable_item()` instead."
)
if min_height is not None:
@@ -947,7 +947,7 @@ def as_fillable_container(
max_height: None = None,
gap: None = None,
) -> TagT:
- """Deprecated. Please use `shiny.ui.fill.as_fillable_container()` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.fill.as_fillable_container()` instead."""
warn_deprecated(
"`shiny.experimental.ui.as_fillable_container()` is deprecated. "
"This method will be removed in a future version, "
@@ -975,7 +975,7 @@ def as_fill_item(
min_height: None = None,
max_height: None = None,
) -> TagT:
- """Deprecated. Please use `shiny.ui.fill.as_fill_item()` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.fill.as_fill_item()` instead."""
warn_deprecated(
"`shiny.experimental.ui.as_fill_item()` is deprecated. "
"This method will be removed in a future version, "
@@ -994,7 +994,7 @@ def as_fill_item(
def remove_all_fill(tag: TagT) -> TagT:
- """Deprecated. Please use `shiny.ui.fill.remove_all_fill()` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.fill.remove_all_fill()` instead."""
warn_deprecated(
"`shiny.experimental.ui.remove_all_fill()` is deprecated. "
"This method will be removed in a future version, "
@@ -1038,7 +1038,7 @@ def is_fill_item(tag: TagChild) -> bool:
# ######################
TagCallable = TagFunction
-"""Deprecated. Please use `htmltools.TagFunction"""
+"""Deprecated. Please use `htmltools.TagFunction` instead."""
class CardItem(MainCardItem):
@@ -1061,7 +1061,7 @@ def card_header(
container: TagFunction = tags.div,
**kwargs: TagAttrValue,
) -> MainCardItem:
- """Deprecated. Please use `shiny.ui.card_header()` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.card_header()` instead."""
warn_deprecated(
"`shiny.experimental.ui.card_header()` is deprecated. "
"This method will be removed in a future version, "
@@ -1074,7 +1074,7 @@ def card_footer(
*args: TagChild | TagAttrs,
**kwargs: TagAttrValue,
) -> MainCardItem:
- """Deprecated. Please use `shiny.ui.card_footer()` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.card_footer()` instead."""
warn_deprecated(
"`shiny.experimental.ui.card_footer()` is deprecated. "
"This method will be removed in a future version, "
@@ -1103,7 +1103,7 @@ def value_box(
class_: Optional[str] = None,
**kwargs: TagAttrValue,
) -> Tag:
- """Deprecated. Please use `shiny.ui.value_box()` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.value_box()` instead."""
warn_deprecated(
"`shiny.experimental.ui.value_box()` is deprecated. "
"This method will be removed in a future version, "
@@ -1135,7 +1135,7 @@ def showcase_left_center(
max_height: CssUnit = "100px",
max_height_full_screen: CssUnit = "67%",
) -> MainShowcaseLayout:
- """Deprecated. Please use `shiny.ui.showcase_left_center()` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.showcase_left_center()` instead."""
warn_deprecated(
"`shiny.experimental.ui.showcase_left_center()` is deprecated. "
"This method will be removed in a future version, "
@@ -1153,7 +1153,7 @@ def showcase_top_right(
max_height: CssUnit = "75px",
max_height_full_screen: CssUnit = "67%",
) -> MainShowcaseLayout:
- """Deprecated. Please use `shiny.ui.showcase_top_right()` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.showcase_top_right()` instead."""
warn_deprecated(
"`shiny.experimental.ui.showcase_top_right()` is deprecated. "
"This method will be removed in a future version, "
@@ -1182,7 +1182,7 @@ def layout_column_wrap(
class_: Optional[str] = None,
**kwargs: TagAttrValue,
) -> Tag:
- """Deprecated. Please use `shiny.ui.layout_column_wrap()` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.layout_column_wrap()` instead."""
warn_deprecated(
"`shiny.experimental.ui.layout_column_wrap()` is deprecated. "
"This method will be removed in a future version, "
@@ -1228,7 +1228,7 @@ def navset_bar(
collapsible: bool = True,
fluid: bool = True,
) -> MainNavSetBar:
- """Deprecated. Please use `shiny.ui.navset_bar()` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.navset_bar()` instead."""
warn_deprecated(
"`shiny.experimental.ui.navset_bar()` is deprecated. "
"This method will be removed in a future version, "
@@ -1261,7 +1261,7 @@ def navset_card_tab(
header: TagChild = None,
footer: TagChild = None,
) -> MainNavSetCard:
- """Deprecated. Please use `shiny.ui.navset_card_tab()` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.navset_card_tab()` instead."""
warn_deprecated(
"`shiny.experimental.ui.navset_card_tab()` is deprecated. "
"This method will be removed in a future version, "
@@ -1286,7 +1286,7 @@ def navset_card_pill(
footer: TagChild = None,
placement: Literal["above", "below"] = "above",
) -> MainNavSetCard:
- """Deprecated. Please use `shiny.ui.navset_card_pill()` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.navset_card_pill()` instead."""
warn_deprecated(
"`shiny.experimental.ui.navset_card_pill()` is deprecated. "
"This method will be removed in a future version, "
@@ -1318,7 +1318,7 @@ def output_plot(
brush: bool | MainBrushOpts = False,
fill: bool | MISSING_TYPE = MISSING,
) -> Tag:
- """Deprecated. Please use `shiny.ui.output_plot()` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.output_plot()` instead."""
warn_deprecated(
"`shiny.experimental.ui.output_plot()` is deprecated. "
"This method will be removed in a future version, "
@@ -1352,7 +1352,7 @@ def output_image(
fill: bool = False,
# /NEW
) -> Tag:
- """Deprecated. Please use `shiny.ui.output_image()` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.output_image()` instead."""
warn_deprecated(
"`shiny.experimental.ui.output_image()` is deprecated. "
"This method will be removed in a future version, "
@@ -1380,7 +1380,7 @@ def output_ui(
fillable: bool = False,
**kwargs: TagAttrValue,
) -> Tag:
- """Deprecated. Please use `shiny.ui.output_ui()` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.output_ui()` instead."""
warn_deprecated(
"`shiny.experimental.ui.output_ui()` is deprecated. "
"This method will be removed in a future version, "
@@ -1409,7 +1409,7 @@ def page_sidebar(
lang: Optional[str] = None,
**kwargs: TagAttrValue,
) -> Tag:
- """Deprecated. Please use `shiny.ui.page_sidebar()` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.page_sidebar()` instead."""
warn_deprecated(
"`shiny.experimental.ui.page_sidebar()` is deprecated. "
"This method will be removed in a future version, "
@@ -1451,7 +1451,7 @@ def page_navbar(
window_title: str | MISSING_TYPE = MISSING,
lang: Optional[str] = None,
) -> Tag:
- """Deprecated. Please use `shiny.ui.page_navbar()` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.page_navbar()` instead."""
warn_deprecated(
"`shiny.experimental.ui.page_navbar()` is deprecated. "
"This method will be removed in a future version, "
@@ -1488,7 +1488,7 @@ def page_fillable(
lang: Optional[str] = None,
**kwargs: TagAttrValue,
) -> Tag:
- """Deprecated. Please use `shiny.ui.page_fillable()` instead."""
+ """Deprecated. Please use :func:`~shiny.ui.page_fillable()` instead."""
warn_deprecated(
"`shiny.experimental.ui.page_fillable()` is deprecated. "
"This method will be removed in a future version, "
diff --git a/shiny/express/_recall_context.py b/shiny/express/_recall_context.py
index 3317ff2a1..0dc55d52a 100644
--- a/shiny/express/_recall_context.py
+++ b/shiny/express/_recall_context.py
@@ -5,7 +5,7 @@
from types import TracebackType
from typing import Callable, Generic, Mapping, Optional, Type, TypeVar
-from htmltools import HTML, Tag, Tagifiable, TagList, tags
+from htmltools import Tag, wrap_displayhook_handler
from .._typing_extensions import ParamSpec
@@ -32,19 +32,6 @@ def __init__(
self.args: list[object] = list(args)
self.kwargs: dict[str, object] = dict(kwargs)
- def append_arg(self, value: object):
- if isinstance(value, (Tag, TagList, Tagifiable)):
- self.args.append(value)
- elif hasattr(value, "_repr_html_"):
- self.args.append(HTML(value._repr_html_())) # pyright: ignore
- else:
- # We should NOT end up here for objects that were `def`ed, because they
- # would already have been filtered out by _display_decorator_function_def().
- # This is only for other kinds of expressions, the kind which would normally
- # be printed at the console.
- if value is not None:
- self.args.append(tags.pre(repr(value)))
-
def __enter__(self) -> None:
if self.default_page is not None:
from . import _run
@@ -53,7 +40,7 @@ def __enter__(self) -> None:
self._prev_displayhook = sys.displayhook
# Collect each of the "printed" values in the args list.
- sys.displayhook = self.append_arg
+ sys.displayhook = wrap_displayhook_handler(self.args.append)
def __exit__(
self,
diff --git a/shiny/express/_run.py b/shiny/express/_run.py
index cf3db87ad..001c3139a 100644
--- a/shiny/express/_run.py
+++ b/shiny/express/_run.py
@@ -1,6 +1,7 @@
from __future__ import annotations
import ast
+import logging
import sys
from pathlib import Path
from typing import cast
@@ -19,7 +20,7 @@
__all__ = ("wrap_express_app",)
-_DEFAULT_PAGE_FUNCTION = ui.page_fluid
+_DEFAULT_PAGE_FUNCTION = ui.page_fixed
def wrap_express_app(file: Path) -> App:
@@ -35,6 +36,10 @@ def wrap_express_app(file: Path) -> App:
:
A `shiny.App` object.
"""
+ logging.getLogger("uvicorn.error").warning(
+ "Detected Shiny Express app. please note that Shiny Express is still in "
+ "development and the API is subject to change!"
+ )
app_ui = run_express(file)
@@ -67,46 +72,64 @@ def set_result(x: object):
nonlocal ui_result
ui_result = cast(Tag, x)
+ prev_displayhook = sys.displayhook
sys.displayhook = set_result
- reset_top_level_recall_context_manager()
- get_top_level_recall_context_manager().__enter__()
-
- file_path = str(file.resolve())
-
- var_context: dict[str, object] = {
- "__file__": file_path,
- display_decorator_func_name: _display_decorator_function_def,
- }
-
- # Execute each top-level node in the AST
- for node in tree.body:
- if isinstance(node, (ast.FunctionDef, ast.AsyncFunctionDef)):
- exec(
- compile(ast.Module([node], type_ignores=[]), file_path, "exec"),
- var_context,
- var_context,
- )
- else:
- exec(
- compile(ast.Interactive([node], type_ignores=[]), file_path, "single"),
- var_context,
- var_context,
+ try:
+ reset_top_level_recall_context_manager()
+ get_top_level_recall_context_manager().__enter__()
+
+ file_path = str(file.resolve())
+
+ var_context: dict[str, object] = {
+ "__file__": file_path,
+ display_decorator_func_name: _display_decorator_function_def,
+ }
+
+ # Execute each top-level node in the AST
+ for node in tree.body:
+ if isinstance(node, (ast.FunctionDef, ast.AsyncFunctionDef)):
+ exec(
+ compile(ast.Module([node], type_ignores=[]), file_path, "exec"),
+ var_context,
+ var_context,
+ )
+ else:
+ exec(
+ compile(
+ ast.Interactive([node], type_ignores=[]), file_path, "single"
+ ),
+ var_context,
+ var_context,
+ )
+
+ # When we called the function to get the top level recall context manager, we didn't
+ # store the result in a variable and re-use that variable here. That is intentional,
+ # because during the evaluation of the app code,
+ # replace_top_level_recall_context_manager() may have been called, which swaps
+ # out the context manager, and it's the new one that we need to exit here.
+ get_top_level_recall_context_manager().__exit__(None, None, None)
+
+ # If we're running as an Express app but there's also a top-level item named app
+ # which is a shiny.App object, the user probably made a mistake.
+ if "app" in var_context and isinstance(var_context["app"], App):
+ raise RuntimeError(
+ "This looks like a Shiny Express app because it imports shiny.express, "
+ "but it also looks like a Shiny Core app because it has a variable named "
+ "`app` which is a shiny.App object. Remove either the shiny.express import, "
+ "or the app=App()."
)
- get_top_level_recall_context_manager().__exit__(None, None, None)
+ return ui_result
- # If we're running as an Express app but there's also a top-level item named app
- # which is a shiny.App object, the user probably made a mistake.
- if "app" in var_context and isinstance(var_context["app"], App):
- raise RuntimeError(
- "This looks like a Shiny Express app because it imports shiny.express, "
- "but it also looks like a Shiny Classic app because it has a variable named "
- "`app` which is a shiny.App object. Remove either the shiny.express import, "
- "or the app=App()."
- )
+ except AttributeError as e:
+ # Need to catch AttributeError and convert to a different type of error, because
+ # uvicorn specifically catches AttributeErrors and prints an error message that
+ # is helpful for normal ASGI apps, but misleading in the case of Shiny Express.
+ raise RuntimeError(e) from e
- return ui_result
+ finally:
+ sys.displayhook = prev_displayhook
_top_level_recall_context_manager: RecallContextManager[Tag]
diff --git a/shiny/express/layout.py b/shiny/express/layout.py
index f3fb7ade7..3ea390868 100644
--- a/shiny/express/layout.py
+++ b/shiny/express/layout.py
@@ -7,6 +7,7 @@
from .. import ui
from ..types import MISSING, MISSING_TYPE
+from ..ui._layout_columns import BreakpointsUser
from ..ui.css import CssUnit
from . import _run
from ._recall_context import RecallContextManager, wrap_recall_context_manager
@@ -19,14 +20,15 @@
"pre",
"sidebar",
"layout_column_wrap",
+ "layout_columns",
"column",
"row",
"card",
"accordion",
"accordion_panel",
- "navset_tab",
- "navset_card_tab",
- "nav",
+ "navset",
+ "navset_card",
+ "nav_panel",
"page_fluid",
"page_fixed",
"page_fillable",
@@ -80,10 +82,12 @@ def sidebar(
position
Where the sidebar should appear relative to the main content.
open
- The initial state of the sidebar. It can be `"desktop"` (the sidebar starts open
- on desktop screen, closed on mobile), `"open"` or `True` (the sidebar starts
- open), `"closed"` or `False` (the sidebar starts closed), or `"always"` or
- `None` (the sidebar is always open and cannot be closed).
+ The initial state of the sidebar.
+
+ * `"desktop"`: the sidebar starts open on desktop screen, closed on mobile
+ * `"open"` or `True`: the sidebar starts open
+ * `"closed"` or `False`: the sidebar starts closed
+ * `"always"` or `None`: the sidebar is always open and cannot be closed
In :func:`~shiny.ui.update_sidebar`, `open` indicates the desired state of the
sidebar. Note that :func:`~shiny.ui.update_sidebar` can only open or close the
@@ -112,12 +116,15 @@ def sidebar(
padding
Padding within the sidebar itself. This can be a numeric vector (which will be
interpreted as pixels) or a character vector with valid CSS lengths. `padding`
- may be one to four values. If one, then that value will be used for all four
- sides. If two, then the first value will be used for the top and bottom, while
- the second value will be used for left and right. If three, then the first will
- be used for top, the second will be left and right, and the third will be
- bottom. If four, then the values will be interpreted as top, right, bottom, and
- left respectively.
+ may be one to four values.
+
+ * If a single value, then that value will be used for all four sides.
+ * If two, then the first value will be used for the top and bottom, while
+ the second value will be used for left and right.
+ * If three values, then the first will be used for top, the second will be left
+ and right, and the third will be bottom.
+ * If four, then the values will be interpreted as top, right, bottom, and left
+ respectively.
Returns
-------
@@ -166,21 +173,26 @@ def layout_column_wrap(
Parameters
----------
width
- The desired width of each card. It can be a (unit-less) number between 0 and 1
- and should be specified as `1/num`, where `num` represents the number of desired
- columns. It can be a CSS length unit representing either the minimum (when
- `fixed_width=False`) or fixed width (`fixed_width=True`). It can also be `None`,
- which allows power users to set the `grid-template-columns` CSS property
- manually, either via a `style` attribute or a CSS stylesheet. If missing, a
- value of `200px` will be used.
+ The desired width of each card. It can be one of the following:
+
+ * A (unit-less) number between 0 and 1, specified as `1/num`, where `num`
+ represents the number of desired columns.
+ * A CSS length unit representing either the minimum (when `fixed_width=False`)
+ or fixed width (`fixed_width=True`).
+ * `None`, which allows power users to set the `grid-template-columns` CSS
+ property manually, either via a `style` attribute or a CSS stylesheet.
+ * If missing, a value of `200px` will be used.
fixed_width
When `width` is greater than 1 or is a CSS length unit, e.g. `"200px"`,
`fixed_width` indicates whether that `width` value represents the absolute size
of each column (`fixed_width=TRUE`) or the minimum size of a column
- (`fixed_width=FALSE`). When `fixed_width=FALSE`, new columns are added to a row
- when `width` space is available and columns will never exceed the container or
- viewport size. When `fixed_width=TRUE`, all columns will be exactly `width`
- wide, which may result in columns overflowing the parent container.
+ (`fixed_width=FALSE`).
+
+ When `fixed_width=FALSE`, new columns are added to a row when `width` space is
+ available and columns will never exceed the container or viewport size.
+
+ When `fixed_width=TRUE`, all columns will be exactly `width` wide, which may
+ result in columns overflowing the parent container.
heights_equal
If `"all"` (the default), every card in every row of the grid will have the same
height. If `"row"`, then every card in _each_ row of the grid will have the same
@@ -206,6 +218,11 @@ def layout_column_wrap(
-------
:
A :class:`~htmltools.Tag` element.
+
+ See Also
+ --------
+ * :func:`~shiny.express.layout.layout_columns` for laying out elements into a
+ responsive 12-column grid.
"""
return RecallContextManager(
ui.layout_column_wrap,
@@ -225,6 +242,110 @@ def layout_column_wrap(
)
+def layout_columns(
+ *,
+ col_widths: BreakpointsUser[int] = None,
+ row_heights: BreakpointsUser[CssUnit] = None,
+ fill: bool = True,
+ fillable: bool = True,
+ gap: Optional[CssUnit] = None,
+ class_: Optional[str] = None,
+ height: Optional[CssUnit] = None,
+ **kwargs: TagAttrValue,
+):
+ """
+ Create responsive, column-based grid layouts, based on a 12-column grid.
+
+ Parameters
+ ----------
+ col_widths
+ The widths of the columns, possibly at different breakpoints. Can be one of the
+ following:
+
+ * `None` (the default): Automatically determines a sensible number of columns
+ based on the number of children given to the layout.
+ * A list or tuple of integers between 1 and 12, where each element represents
+ the number of columns for the relevant UI element. Column widths are recycled
+ to extend the values in `col_widths` to match the actual number of items in
+ the layout, and children are wrapped onto the next row when a row exceeds 12
+ column units. For example, `col_widths=(4, 8, 12)` allocates 4 columns to the
+ first element, 8 columns to the second element, and 12 columns to the third
+ element (which wraps to the next row). Negative values are also allowed, and
+ are treated as empty columns. For example, `col_widths=(-2, 8, -2)` would
+ allocate 8 columns to an element (with 2 empty columns on either side).
+ * A dictionary of column widths at different breakpoints. The keys should be
+ one of `"xs"`, `"sm"`, `"md"`, `"lg"`, `"xl"`, or `"xxl"`, and the values are
+ either of the above. For example, `col_widths={"sm": (3, 3, 6), "lg": (4)}`.
+
+ row_heights
+ The heights of the rows, possibly at different breakpoints. Can be one of the
+ following:
+
+ * A numeric vector, where each value represents the
+ [fractional unit](https://css-tricks.com/introduction-fr-css-unit/)
+ (`fr`) height of the relevant row. If there are more rows than values
+ provided, the pattern will be repeated. For example, `row_heights=(1, 2)`
+ allows even rows to take up twice as much space as odd rows.
+ * A list of numeric or CSS length units, where each value represents the height
+ of the relevant row. If more rows are needed than values provided, the pattern
+ will repeat. For example, `row_heights=["auto", 1]` allows the height of odd
+ rows to be driven my it's contents and even rows to be
+ [`1fr`](https://css-tricks.com/introduction-fr-css-unit/).
+ * A single string containing CSS length units. In this case, the value is
+ supplied directly to `grid-auto-rows`.
+ * A dictionary of row heights at different breakpoints, where each key is a
+ breakpoint name (one of `"xs"`, `"sm"`, `"md"`, `"lg"`, `"xl"`, or `"xxl"`)
+ and where the values may be any of the above options.
+
+ fill
+ Whether or not to allow the layout to grow/shrink to fit a fillable container
+ with an opinionated height (e.g., :func:`~shiny.ui.page_fillable`).
+
+ fillable
+ Whether or not each element is wrapped in a fillable container.
+
+ gap
+ Any valid CSS unit to use for the gap between columns.
+
+ class_
+ CSS class(es) to apply to the containing element.
+
+ height
+ Any valid CSS unit to use for the height.
+
+ **kwargs
+ Additional attributes to apply to the containing element.
+
+ Returns
+ -------
+ :
+ An :class:`~htmltools.Tag` element.
+
+ See Also
+ --------
+ * :func:`~shiny.express.layout.layout_column_wrap` for laying out elements into a
+ uniform grid.
+
+ Reference
+ --------
+ * [Bootstrap CSS Grid](https://getbootstrap.com/docs/5.3/layout/grid/)
+ * [Bootstrap Breakpoints](https://getbootstrap.com/docs/5.3/layout/breakpoints/)
+ """
+ return RecallContextManager(
+ ui.layout_columns,
+ kwargs=dict(
+ col_widths=col_widths,
+ row_heights=row_heights,
+ fill=fill,
+ fillable=fillable,
+ gap=gap,
+ class_=class_,
+ height=height,
+ **kwargs,
+ ),
+ )
+
+
def column(width: int, *, offset: int = 0, **kwargs: TagAttrValue):
"""
Responsive row-column based layout
@@ -238,7 +359,7 @@ def column(width: int, *, offset: int = 0, **kwargs: TagAttrValue):
The width of the column (an integer between 1 and 12).
offset
The number of columns to offset this column from the end of the previous column.
- kwargs
+ **kwargs
Attributes to place on the column tag.
Returns
@@ -274,7 +395,7 @@ def row(**kwargs: TagAttrValue):
Parameters
----------
- kwargs
+ **kwargs
Attributes to place on the row tag.
Returns
@@ -320,13 +441,6 @@ def card(
an opinionated height (e.g., :func:`~shiny.ui.page_fillable`).
class_
Additional CSS classes for the returned Tag.
- wrapper
- A function (which returns a UI element) to call on unnamed arguments in `*args`
- which are not already card item(s) (like :func:`~shiny.ui.card_header`,
- :func:`~shiny.experimental.ui.card_body`, etc.). Note that non-card items are
- grouped together into one `wrapper` call (e.g. given `card("a", "b",
- card_body("c"), "d")`, `wrapper` would be called twice, once with `"a"` and
- `"b"` and once with `"d"`).
**kwargs
HTML attributes on the returned Tag.
@@ -335,6 +449,15 @@ def card(
:
An :func:`~shiny.ui.tags.div` tag.
"""
+
+ # wrapper
+ # A function (which returns a UI element) to call on unnamed arguments in `*args`
+ # which are not already card item(s) (like :func:`~shiny.ui.card_header`,
+ # :func:`~shiny.experimental.ui.card_body`, etc.). Note that non-card items are
+ # grouped together into one `wrapper` call (e.g. given `card("a", "b",
+ # card_body("c"), "d")`, `wrapper` would be called twice, once with `"a"` and
+ # `"b"` and once with `"d"`).
+
return RecallContextManager(
ui.card,
kwargs=dict(
@@ -453,20 +576,21 @@ def accordion_panel(
# ======================================================================================
-def navset_tab(
+def navset(
*,
+ type: Literal["underline", "pill", "tab"] = "underline",
id: Optional[str] = None,
selected: Optional[str] = None,
header: TagChild = None,
footer: TagChild = None,
):
"""
- Render nav items as a tabset.
-
- This function wraps :func:`~shiny.ui.navset_tab`.
+ Render a set of nav items
Parameters
----------
+ type
+ The type of navset to render. Can be one of `"underline"`, `"pill"`, or `"tab"`.
id
If provided, will create an input value that holds the currently selected nav
item.
@@ -478,8 +602,21 @@ def navset_tab(
footer
UI to display below the selected content.
"""
+ # *args
+ # A collection of nav items (e.g., :func:`shiny.ui.nav`).
+
+ funcs = {
+ "underline": ui.navset_underline,
+ "pill": ui.navset_pill,
+ "tab": ui.navset_tab,
+ }
+
+ func = funcs.get(type, None)
+ if func is None:
+ raise ValueError(f"Invalid navset type: {type!r}")
+
return RecallContextManager(
- ui.navset_tab,
+ func,
kwargs=dict(
id=id,
selected=selected,
@@ -489,8 +626,9 @@ def navset_tab(
)
-def navset_card_tab(
+def navset_card(
*,
+ type: Literal["underline", "pill", "tab"] = "underline",
id: Optional[str] = None,
selected: Optional[str] = None,
title: Optional[TagChild] = None,
@@ -499,12 +637,12 @@ def navset_card_tab(
footer: TagChild = None,
):
"""
- Render nav items as a tabset inside a card container.
-
- This function wraps :func:`~shiny.ui.navset_card_tab`.
+ Render a set of nav items inside a card container.
Parameters
----------
+ type
+ The type of navset to render. Can be one of `"underline"`, `"pill"`, or `"tab"`.
id
If provided, will create an input value that holds the currently selected nav
item.
@@ -512,31 +650,27 @@ def navset_card_tab(
Choose a particular nav item to select by default value (should match it's
``value``).
sidebar
- A `Sidebar` component to display on every `nav()` page.
- fillable
- Whether or not to allow fill items to grow/shrink to fit the browser window. If
- `True`, all `nav()` pages are fillable. A character vector, matching the value
- of `nav()`s to be filled, may also be provided. Note that, if a `sidebar` is
- provided, `fillable` makes the main content portion fillable.
- gap
- A CSS length unit defining the gap (i.e., spacing) between elements provided to
- `*args`.
- padding
- Padding to use for the body. This can be a numeric vector (which will be
- interpreted as pixels) or a character vector with valid CSS lengths. The length
- can be between one and four. If one, then that value will be used for all four
- sides. If two, then the first value will be used for the top and bottom, while
- the second value will be used for left and right. If three, then the first will
- be used for top, the second will be left and right, and the third will be
- bottom. If four, then the values will be interpreted as top, right, bottom, and
- left respectively.
+ A :class:`shiny.ui.Sidebar` component to display on every :func:`~shiny.ui.nav` page.
header
UI to display above the selected content.
footer
UI to display below the selected content.
"""
+ # *args
+ # A collection of nav items (e.g., :func:`shiny.ui.nav`).
+
+ funcs = {
+ "underline": ui.navset_card_underline,
+ "pill": ui.navset_card_pill,
+ "tab": ui.navset_card_tab,
+ }
+
+ func = funcs.get(type, None)
+ if func is None:
+ raise ValueError(f"Invalid navset type: {type!r}")
+
return RecallContextManager(
- ui.navset_card_tab,
+ func,
kwargs=dict(
id=id,
selected=selected,
@@ -548,7 +682,7 @@ def navset_card_tab(
)
-def nav(
+def nav_panel(
title: TagChild,
*,
value: Optional[str] = None,
@@ -573,7 +707,7 @@ def nav(
An icon to appear inline with the button/link.
"""
return RecallContextManager(
- ui.nav,
+ ui.nav_panel,
args=(title,),
kwargs=dict(
value=value,
@@ -605,7 +739,7 @@ def page_fluid(
ISO 639-1 language code for the HTML page, such as ``"en"`` or ``"ko"``. This
will be used as the lang in the ```` tag, as in ````. The
default, `None`, results in an empty string.
- kwargs
+ **kwargs
Attributes on the page level container.
Returns
@@ -643,7 +777,7 @@ def page_fixed(
ISO 639-1 language code for the HTML page, such as ``"en"`` or ``"ko"``. This
will be used as the lang in the ```` tag, as in ````. The
default, `None`, results in an empty string.
- kwargs
+ **kwargs
Attributes on the page level container.
Returns
@@ -673,7 +807,7 @@ def page_fillable(
"""
Creates a fillable page.
- This function wraps :func:`~shiny.ui.page_fixed`.
+ This function wraps :func:`~shiny.ui.page_fillable`.
Parameters
----------
@@ -728,8 +862,6 @@ def page_sidebar(
Parameters
----------
- sidebar
- Content to display in the sidebar.
title
A title to display at the top of the page.
fillable
@@ -744,7 +876,7 @@ def page_sidebar(
ISO 639-1 language code for the HTML page, such as ``"en"`` or ``"ko"``. This
will be used as the lang in the ```` tag, as in ````. The
default, `None`, results in an empty string.
- kwargs
+ **kwargs
Additional attributes passed to :func:`~shiny.ui.layout_sidebar`.
Returns
@@ -752,6 +884,9 @@ def page_sidebar(
:
A UI element.
"""
+ # sidebar
+ # Content to display in the sidebar.
+
return RecallContextManager(
ui.page_sidebar,
kwargs=dict(
diff --git a/shiny/input_handler.py b/shiny/input_handler.py
index 49885319a..abd48cdb2 100644
--- a/shiny/input_handler.py
+++ b/shiny/input_handler.py
@@ -68,7 +68,7 @@ def _process_value(self, type: str, value: Any, name: str, session: Session) ->
``add()`` ing an input handler will make it persist for the duration of the Python
process (unless Shiny is explicitly reloaded). For that reason, verbose naming is
encouraged to minimize the risk of colliding with other Shiny input binding(s) which
-happen to use the same ``type`` (if this the binding is bundled with a package, we
+happen to use the same ``type`` (if the binding is bundled with a package, we
recommend the format of "packageName.widgetName").
Example
diff --git a/shiny/reactive/_core.py b/shiny/reactive/_core.py
index b3ffc94f2..40576c527 100644
--- a/shiny/reactive/_core.py
+++ b/shiny/reactive/_core.py
@@ -208,12 +208,12 @@ def isolate():
Ordinarily, the simple act of reading a reactive value causes a relationship to be
established between the caller and the reactive value, where a change to the
reactive value will cause the caller to re-execute. (The same applies for the act of
- getting a reactive expression's value.) `with isolate()` lets you read a reactive
- value or expression without establishing this relationship.
+ getting a reactive calculation's value.) `with isolate()` lets you read a reactive
+ value or calculation without establishing this relationship.
- ``with isolate()`` can also be useful for calling reactive expression at the
+ ``with isolate()`` can also be useful for calling reactive calculations at the
console, which can be useful for debugging. To do so, wrap the calls to the reactive
- expression with ``with isolate()``.
+ calculation with ``with isolate()``.
Returns
-------
@@ -253,7 +253,7 @@ async def flush() -> None:
Warning
-------
- This function shouldn't ever need to be called inside a Shiny app. It's only
+ You shouldn't ever need to call this function inside of a Shiny app. It's only
useful for testing and running reactive code interactively in the console.
"""
await _reactive_environment.flush()
@@ -263,14 +263,15 @@ def on_flushed(
func: Callable[[], Awaitable[None]], once: bool = False
) -> Callable[[], None]:
"""
- Register a function to be called when the reactive environment is flushed
+ Register a function to be called when the reactive environment is flushed.
Parameters
----------
func
The function to be called when the reactive environment is flushed
once
- If True, the function will only be called once, and then removed from the
+ Should the function be run once, and then cleared, or should it
+ re-run each time the event occurs.
Returns
-------
@@ -289,8 +290,8 @@ def lock() -> asyncio.Lock:
"""
A lock that should be held whenever manipulating the reactive graph.
- For example, this makes it safe to set a :class:`~reactive.Value` and call
- :func:`~reactive.flush()` from a different :class:`~asyncio.Task` than the one that
+ For example, :func:`~shiny.reactive.lock` makes it safe to set a :class:`~reactive.Value` and call
+ :func:`~shiny.reactive.flush` from a different :class:`~asyncio.Task` than the one that
is running the Shiny :class:`~shiny.Session`.
"""
return _reactive_environment.lock
@@ -303,8 +304,8 @@ def invalidate_later(
"""
Scheduled Invalidation
- Schedules the current reactive context to be invalidated in the given number of
- seconds.
+ When called from within a reactive context, :func:`~shiny.reactive.invalidate_later`
+ schedules the reactive context to be invalidated in the given number of seconds.
Parameters
----------
@@ -313,7 +314,7 @@ def invalidate_later(
Note
----
- When called within a reactive function (i.e., :func:`Effect`, :func:`Calc`,
+ When called within a reactive function (i.e., :func:`~reactive.effect`, :func:`~reactive.calc`,
:func:`render.ui`, etc.), that reactive context is invalidated (and re-executes)
after the interval has passed. The re-execution will reset the invalidation flag, so
in a typical use case, the object will keep re-executing and waiting for the
diff --git a/shiny/reactive/_poll.py b/shiny/reactive/_poll.py
index 479757ae5..413125a8b 100644
--- a/shiny/reactive/_poll.py
+++ b/shiny/reactive/_poll.py
@@ -29,9 +29,11 @@ def poll(
"""
Create a reactive polling object.
- Polling is a technique that approximates "real-time" or streaming updates, using a
- data source that does not actually have push notifications but does have a quick way
- to repeatedly check for changes on demand.
+ Polling is a technique that approximates "real-time" or streaming updates, as if a
+ data source were pushing notifications each time it is updated. The data source does
+ not actually push notifications; a polling object repeatedly checks for changes in an
+ efficient way at specified intervals. If a change is detected, the polling object runs
+ a function to re-read the data source.
A reactive polling object is constructed using two functions: a polling function,
which is a fast-running, inexpensive function that is used to determine whether some
@@ -48,7 +50,7 @@ def poll(
object at the top level of app.py (outside of the server function).
Both `poll_func` and the decorated (data reading) function can read reactive values
- and ~shiny.reactive.Calc objects. Any invalidations triggered by reactive
+ and :class:`~shiny.reactive.calc` objects. Any invalidations triggered by reactive
dependencies will apply to the reactive polling object immediately (not waiting for
the `interval_secs` delay to expire).
@@ -57,7 +59,7 @@ def poll(
poll_func
A function to be called frequently to determine whether a data source has
changed. The return value should be something that can be compared inexpensively
- using `==`. Both regular functions and coroutine functions are allowed.
+ using `==`. Both regular functions and co-routine functions are allowed.
Note that the `poll_func` should NOT return a bool that indicates whether the
data source has changed. Rather, each `poll_func` return value will be checked
@@ -71,12 +73,12 @@ def poll(
The function that will be used to compare each `poll_func` return value with its
immediate predecessor.
priority
- Reactive polling is implemented using an ~shiny.reactive.Effect to call
+ Reactive polling is implemented using an :class:`~shiny.reactive.effect` to call
`poll_func` on a timer; use the `priority` argument to control the order of this
- Effect's execution versus other Effects in your app. See ~shiny.reactive.Effect
- for more details.
+ Effect's execution versus other Effects in your app. See
+ :func:`~shiny.reactive.effect` for more details.
session
- A :class:`~shiny.Session` instance. If not provided, it is inferred via
+ A :class:`~shiny.Session` instance. If not provided, a session is inferred via
:func:`~shiny.session.get_current_session`. If there is no current session (i.e.
`poll` is being created outside of the server function), the lifetime of this
reactive poll object will not be tied to any specific session.
@@ -86,9 +88,9 @@ def poll(
:
A decorator that should be applied to a no-argument function that (expensively)
reads whatever data is desired. (This function may be a regular function or a
- coroutine function.) The result of the decorator is a reactive ~shiny.reactive.Calc
- that always returns up-to-date data, and invalidates callers when changes are
- detected via polling.
+ co-routine function.) The result of the decorator is a reactive
+ :class:`~shiny.reactive.calc` that always returns up-to-date data, and invalidates
+ callers when changes are detected via polling.
See Also
--------
@@ -224,9 +226,9 @@ def file_reader(
Note that `file_reader` works only on single files, not directories of files.
Both the `filepath` function and the decorated (file reading) function can read
- reactive values and ~shiny.reactive.Calc objects. Any invalidations triggered by
- reactive dependencies will apply to the reactive file reader object immediately (not
- waiting for the `interval_secs` delay to expire).
+ reactive values and :class:`~shiny.reactive.calc` objects. Any invalidations
+ triggered by reactive dependencies will apply to the reactive file reader object
+ immediately (not waiting for the `interval_secs` delay to expire).
Parameters
----------
@@ -239,18 +241,18 @@ def file_reader(
error and close the session.
If a function is used, make sure it is high performance (or is cached, i.e. use
- a ~shiny.reactive.Calc), as it will be called very frequently.
+ a :class:`~shiny.reactive.calc)`, as it will be called very frequently.
interval_secs
The number of seconds to wait after each time the file metadata is checked.
Note: depending on what other tasks are executing, the actual wait time may far
exceed this value.
priority
- Reactive polling is implemented using an ~shiny.reactive.Effect to call
+ Reactive polling is implemented using an :class:`~shiny.reactive.effect` to call
`poll_func` on a timer; use the `priority` argument to control the order of this
- Effect's execution versus other Effects in your app. See ~shiny.reactive.Effect
- for more details.
+ Effect's execution versus other Effects in your app. See
+ :func:`~shiny.reactive.effect` for more details.
session
- A :class:`~shiny.Session` instance. If not provided, it is inferred via
+ A :class:`~shiny.Session` instance. If not provided, a session is inferred via
:func:`~shiny.session.get_current_session`. If there is no current session (i.e.
`poll` is being created outside of the server function), the lifetime of this
reactive poll object will not be tied to any specific session.
@@ -260,9 +262,9 @@ def file_reader(
:
A decorator that should be applied to a no-argument function that (expensively)
reads whatever data is desired. (This function may be a regular function or a
- coroutine function.) The result of the decorator is a reactive ~shiny.reactive.Calc
- that always returns up-to-date data, and invalidates callers when changes are
- detected via polling.
+ co-routine function.) The result of the decorator is a reactive
+ :class:`~shiny.reactive.calc` that always returns up-to-date data, and invalidates
+ callers when changes are detected via polling.
See Also
--------
diff --git a/shiny/reactive/_reactives.py b/shiny/reactive/_reactives.py
index fd724b130..249654b4b 100644
--- a/shiny/reactive/_reactives.py
+++ b/shiny/reactive/_reactives.py
@@ -51,8 +51,8 @@ class Value(Generic[T]):
Create a reactive value.
Reactive values are the source of reactivity in Shiny. Changes to reactive values
- invalidate downstream reactive functions (:func:`~shiny.reactive.Calc`,
- :func:`~shiny.reactive.Effect`, and `render` functions decorated with `@output`).
+ invalidate downstream reactive functions (:func:`~shiny.reactive.calc`,
+ :func:`~shiny.reactive.effect`, and `render` functions decorated with `@output`).
When these functions are invalidated, they get scheduled to re-execute.
Shiny input values are read-only reactive values. For example, `input.x` is a
@@ -80,14 +80,14 @@ class Value(Generic[T]):
Note
----
A reactive value may only be read from within a reactive function (e.g.,
- :func:`~shiny.reactive.Calc`, :func:`~shiny.reactive.Effect`,
+ :func:`~shiny.reactive.calc`, :func:`~shiny.reactive.effect`,
:func:`shiny.render.text`, etc.) and, when doing so, the function takes a reactive
dependency on the value (i.e., when the value changes, the calling reactive function
will re-execute).
See Also
--------
- ~shiny.Inputs ~shiny.reactive.Calc ~shiny.reactive.Effect
+ ~shiny.Inputs ~shiny.reactive.calc ~shiny.reactive.effect
"""
# These overloads are necessary so that the following hold:
@@ -232,7 +232,7 @@ class Calc_(Generic[T]):
Warning
-------
Most users shouldn't use this class directly to initialize a reactive calculation
- (instead, use the :func:`~shiny.reactive.Calc` decorator).
+ (instead, use the :func:`~shiny.reactive.calc` decorator).
"""
def __init__(
@@ -337,7 +337,7 @@ class CalcAsync_(Calc_[T]):
Warning
-------
Most users shouldn't use this class directly to initialize a reactive calculation
- (instead, use the :func:`~shiny.reactive.Calc` decorator).
+ (instead, use the :func:`~shiny.reactive.calc` decorator).
"""
def __init__(
@@ -401,18 +401,17 @@ def calc(
"""
Mark a function as a reactive calculation.
- A reactive calculation is a function whose return value depends solely on other
- reactive value(s) (i.e., :class:`~shiny.Inputs`, :class:`~shiny.reactive.Value`,
+ A reactive calculation is a function whose return value depends on other
+ reactive value(s) (i.e., :class:`~shiny.Inputs`, :class:`~shiny.reactive.Value`s,
and other reactive calculations). Whenever a reactive value changes, any reactive
- calculations that depend on it are "invalidated" and automatically re-execute when
- necessary. If a reactive calculation is marked as invalidated, any other reactive
+ calculations that depend on it are "invalidated" and automatically re-execute if called while invalid. If a reactive calculation is marked as invalidated, any other reactive
calculations that recently called it are also marked as invalidated. In this way,
invalidations ripple through reactive calculations that depend on each other.
Parameters
----------
session
- A :class:`~shiny.Session` instance. If not provided, it is inferred via
+ A :class:`~shiny.Session` instance. If not provided, the session is inferred via
:func:`~shiny.session.get_current_session`.
Returns
@@ -423,13 +422,15 @@ def calc(
Tip
---
Reactive calculations should not produce any side effects; to reactively produce
- side effects, use :func:`~shiny.reactive.Effect` instead.
+ side effects, use :func:`~shiny.reactive.effect` instead.
+
+ Reactive calculations are analagous to reactive expressions in Shiny for R.
See Also
--------
~shiny.Inputs
~shiny.reactive.Value
- ~shiny.reactive.Effect
+ ~shiny.reactive.effect
~shiny.reactive.invalidate_later
~shiny.reactive.event
"""
@@ -671,17 +672,17 @@ def effect(
"""
Mark a function as a reactive side effect.
- A reactive effect is like a reactive calculation (:func:`~shiny.reactive.Calc`) in
+ A reactive effect is like a reactive calculation (:func:`~shiny.reactive.calc`) in
that it can read reactive values and call reactive calculations, and will
automatically re-execute when those dependencies change. But unlike reactive
calculations, it doesn't return a result and can't be used as an input to other
- reactive expressions. Thus, observers are only useful for their side effects (for
+ reactive expressions. Thus, reactive effects are only useful for their side effects (for
example, performing I/O).
Another contrast between reactive calculations and effects is their execution
strategy. Reactive calculations use lazy evaluation; that is, when their
dependencies change, they don't re-execute right away but rather wait until they are
- called by someone else. Indeed, if they are not called then they will never
+ called by someone else. Indeed, if they are not called, then they will never
re-execute. In contrast, effects use eager evaluation; as soon as their dependencies
change, they schedule themselves to re-execute.
@@ -695,7 +696,7 @@ def effect(
priority value will execute before all effects with lower priority values.
Positive, negative, and zero values are allowed.
session
- A :class:`~shiny.Session` instance. If not provided, it is inferred via
+ A :class:`~shiny.Session` instance. If not provided, the session is inferred via
:func:`~shiny.session.get_current_session`.
Returns
@@ -703,11 +704,15 @@ def effect(
:
A decorator that marks a function as a reactive effect (:class:`Effect_`).
+ Tip
+ ---
+ Reactive effects are analagous to observers in Shiny for R.
+
See Also
--------
~shiny.Inputs
~shiny.reactive.Value
- ~shiny.reactive.Effect
+ ~shiny.reactive.effect
~shiny.reactive.invalidate_later
~shiny.reactive.event
"""
@@ -738,22 +743,26 @@ def event(
Mark a function to react only when an "event" occurs.
Shiny's reactive programming framework is primarily designed for calculated values
- (:func:`~shiny.reactive.Calc`) and side-effect-causing actions
- (:func:`~shiny.reactive.Effect`) that respond to **any** of their inputs changing.
+ (:func:`~shiny.reactive.calc`) and side-effect-causing actions
+ (:func:`~shiny.reactive.effect`) that respond to **any** of their inputs changing.
That's often what is desired in Shiny apps, but not always: sometimes you want to
wait for a specific action to be taken from the user, like clicking an
- :func:`~shiny.ui.input_action_button`, before calculating or taking an action. A
- reactive value (or function) which triggers other calculation or action in this way
- is called an event.
+ :func:`~shiny.ui.input_action_button`, before calculating or taking an action. You
+ do not want the calculation or action to be prematurely triggered if other reactive
+ values that it calls are invalidated. The reactive value (or function) which triggers
+ other calculations or actions in this way is called an event.
These situations demand a more imperative, "event handling" style of programming,
which ``@reactive.event()`` provides. It does this by using the
:func:`~shiny.reactive.isolate` primitive under-the-hood to essentially "limit" the
- set of reactive dependencies to those in ``args``.
+ set of reactive dependencies to those in ``args``. In other words, the event can call
+ as many reactive values as it likes in its code body without taking a reactive
+ dependency on them; it will be invalidated only when a dependency listed in args is
+ invalidated.
Parameters
----------
- args
+ *args
One or more callables that represent the event; most likely this will be a
reactive input value linked to a :func:`~shiny.ui.input_action_button` or
similar (e.g., ``input.click``), but it can also be a (reactive or non-reactive)
@@ -761,7 +770,7 @@ def event(
ignore_none
Whether to ignore the event if the value is ``None`` or ``0``.
ignore_init
- If ``False``, the event trigger on the first run.
+ If ``False``, the event triggers on the first run.
Returns
-------
@@ -771,7 +780,7 @@ def event(
Tip
----
This decorator must be applied before the relevant reactivity decorator (i.e.,
- ``@reactive.event`` must be applied before ``@reactive.Effect``, ``@reactive.Calc``,
+ ``@reactive.event`` must be applied before ``@reactive.effect``, ``@reactive.calc``,
``@render.ui``, etc).
"""
@@ -796,8 +805,8 @@ def decorator(user_fn: Callable[[], T]) -> Callable[[], T]:
if isinstance(user_fn, Calc_):
raise TypeError(
- "`@reactive.event()` must be applied before `@reactive.Calc`.\n"
- + "In other words, `@reactive.Calc` must be above `@reactive.event()`."
+ "`@reactive.event()` must be applied before `@reactive.calc`.\n"
+ + "In other words, `@reactive.calc` must be above `@reactive.event()`."
)
# This is here instead of at the top of the .py file in order to avoid a
diff --git a/shiny/render/_dataframe.py b/shiny/render/_dataframe.py
index f788c0896..2e3af17ce 100644
--- a/shiny/render/_dataframe.py
+++ b/shiny/render/_dataframe.py
@@ -260,7 +260,7 @@ def data_frame(
_fn: DataFrameTransformer.ValueFn | None = None,
) -> DataFrameTransformer.OutputRenderer | DataFrameTransformer.OutputRendererDecorator:
"""
- Reactively render a Pandas data frame object (or similar) as an interactive table or
+ Reactively render a pandas `DataFrame` object (or similar) as an interactive table or
grid. Features fast virtualized scrolling, sorting, filtering, and row selection
(single or multiple).
diff --git a/shiny/render/_display.py b/shiny/render/_display.py
index f40d599de..b9eb002ee 100644
--- a/shiny/render/_display.py
+++ b/shiny/render/_display.py
@@ -4,7 +4,7 @@
import sys
from typing import Any, Callable, Optional, Union, overload
-from htmltools import TagAttrValue, TagFunction, TagList
+from htmltools import TagAttrValue, TagFunction, TagList, wrap_displayhook_handler
from .. import ui as _ui
from ..session._utils import RenderedDeps
@@ -29,7 +29,7 @@ async def DisplayTransformer(
) -> RenderedDeps | None:
results: list[object] = []
orig_displayhook = sys.displayhook
- sys.displayhook = results.append
+ sys.displayhook = wrap_displayhook_handler(results.append)
try:
x = _fn()
if inspect.iscoroutine(x):
@@ -95,7 +95,7 @@ def display(
fillable
Whether or not the UI output area should be considered a fillable (i.e.,
flexbox) container.
- kwargs
+ **kwargs
Attributes to be applied to the output container.
diff --git a/shiny/render/_render.py b/shiny/render/_render.py
index 80ce58a72..9c0d986e0 100644
--- a/shiny/render/_render.py
+++ b/shiny/render/_render.py
@@ -354,7 +354,7 @@ def image(
Returns
-------
:
- A decorator for a function that returns an `~shiny.types.ImgData` object.
+ A decorator for a function that returns an :func:`~shiny.types.ImgData` object.
Tip
----
@@ -457,12 +457,14 @@ def table(
**kwargs: object,
) -> TableTransformer.OutputRenderer | TableTransformer.OutputRendererDecorator:
"""
- Reactively render a Pandas data frame object (or similar) as a basic HTML table.
+ Reactively render a pandas ``DataFrame`` object (or similar) as a basic HTML
+ table.
- Consider using ~shiny.render.data_frame instead of this renderer, as it provides
- high performance virtual scrolling, built-in filtering and sorting, and a better
- default appearance. This renderer may still be helpful if you use pandas styling
- features that are not currently supported by ~shiny.render.data_frame.
+ Consider using :func:`~shiny.render.data_frame` instead of this renderer, as
+ it provides high performance virtual scrolling, built-in filtering and sorting,
+ and a better default appearance. This renderer may still be helpful if you
+ use pandas styling features that are not currently supported by
+ :func:`~shiny.render.data_frame`.
Parameters
----------
@@ -544,7 +546,8 @@ def ui(
Returns
-------
:
- A decorator for a function that returns an object of type `~shiny.ui.TagChild`.
+ A decorator for a function that returns an object of type
+ :class:`~shiny.ui.TagChild`.
Tip
----
diff --git a/shiny/render/transformer/_transformer.py b/shiny/render/transformer/_transformer.py
index 5efbf2e53..0392f4d97 100644
--- a/shiny/render/transformer/_transformer.py
+++ b/shiny/render/transformer/_transformer.py
@@ -652,7 +652,7 @@ def output_transformer(
* The first parameter to the handler function has the class
:class:`~shiny.render.transformer.TransformerMetadata` and is typically called
- `_meta`. This information gives context the to the handler while trying to
+ `_meta`. This information gives context to the handler while trying to
resolve the app-supplied value function (typically called `_fn`).
* The second parameter is the app-defined output value function (e.g. `_fn`). It's
return type (`IT`) determines what types can be returned by the app-supplied
@@ -666,7 +666,7 @@ def output_transformer(
default value. No default value is needed for keyword arguments that are passed
through (e.g. `**kwargs: Any`).
- The tranform function's return type (`OT`) determines the output type of the
+ The transform function's return type (`OT`) determines the output type of the
:class:`~shiny.render.transformer.OutputRenderer`. Note that in many cases (but not
all!) `IT` and `OT` will be the same. The `None` type should typically be defined in
both `IT` and `OT`. If `IT` allows for `None` values, it (typically) signals that
diff --git a/shiny/session/_utils.py b/shiny/session/_utils.py
index fce434fb1..dd1c255cd 100644
--- a/shiny/session/_utils.py
+++ b/shiny/session/_utils.py
@@ -44,8 +44,8 @@ def get_current_session() -> Optional[Session]:
Note
----
- Shiny apps should not need to call this function directly. Instead, it's intended to
- be used by Shiny developing who wish to create new functions that should only be
+ Shiny apps should not need to call this function directly. Instead, it is intended to
+ be used by Shiny developers who wish to create new functions that should only be
called from within an active Shiny session.
See Also
@@ -58,12 +58,12 @@ def get_current_session() -> Optional[Session]:
@contextmanager
def session_context(session: Optional[Session]):
"""
- Context manager for current session.
+ A context manager for current session.
Parameters
----------
session
- A :class:`~shiny.Session` instance. If not provided, it is inferred via
+ A :class:`~shiny.Session` instance. If not provided, the instance is inferred via
:func:`~shiny.session.get_current_session`.
"""
token: Token[Session | None] = _current_session.set(session)
@@ -81,7 +81,7 @@ def require_active_session(session: Optional[Session]) -> Session:
Parameters
----------
session
- A :class:`~shiny.Session` instance. If not provided, it is inferred via
+ A :class:`~shiny.Session` instance. If not provided, the session is inferred via
:func:`~shiny.session.get_current_session`.
Returns
@@ -91,8 +91,8 @@ def require_active_session(session: Optional[Session]) -> Session:
Note
----
- Shiny apps should not need to call this function directly. Instead, it's intended to
- be used by Shiny developing who wish to create new functions that should only be
+ Shiny apps should not need to call this function directly. Instead, it is intended to
+ be used by Shiny developers who wish to create new functions that should only be
called from within an active Shiny session.
Raises
diff --git a/shiny/templates/app-templates/basic-app/app.py b/shiny/templates/app-templates/basic-app/app-core.py
similarity index 100%
rename from shiny/templates/app-templates/basic-app/app.py
rename to shiny/templates/app-templates/basic-app/app-core.py
diff --git a/shiny/templates/app-templates/basic-app/app-express.py b/shiny/templates/app-templates/basic-app/app-express.py
new file mode 100644
index 000000000..0ba68b071
--- /dev/null
+++ b/shiny/templates/app-templates/basic-app/app-express.py
@@ -0,0 +1,10 @@
+from shiny import render, ui
+from shiny.express import input
+
+ui.panel_title("Hello Shiny!")
+ui.input_slider("n", "N", 0, 100, 20)
+
+
+@render.text
+def txt():
+ return f"n*2 is {input.n() * 2}"
diff --git a/shiny/templates/app-templates/dashboard/app.py b/shiny/templates/app-templates/dashboard/app-core.py
similarity index 95%
rename from shiny/templates/app-templates/dashboard/app.py
rename to shiny/templates/app-templates/dashboard/app-core.py
index 41983bbba..3e83227e0 100644
--- a/shiny/templates/app-templates/dashboard/app.py
+++ b/shiny/templates/app-templates/dashboard/app-core.py
@@ -30,13 +30,12 @@ def make_value_box(penguin):
),
),
ui.row(
- ui.layout_column_wrap(
+ ui.layout_columns(
*[make_value_box(penguin) for penguin in species],
- width=1 / 3,
)
),
ui.row(
- ui.layout_column_wrap(
+ ui.layout_columns(
ui.card(
ui.card_header("Summary statistics"),
ui.output_data_frame("summary_statistics"),
@@ -45,7 +44,6 @@ def make_value_box(penguin):
ui.card_header("Penguin bills"),
ui.output_plot("length_depth"),
),
- width=1 / 2,
),
),
)
diff --git a/shiny/templates/app-templates/multi-page/app.py b/shiny/templates/app-templates/multi-page/app-core.py
similarity index 100%
rename from shiny/templates/app-templates/multi-page/app.py
rename to shiny/templates/app-templates/multi-page/app-core.py
diff --git a/shiny/templates/app-templates/multi-page/modules.py b/shiny/templates/app-templates/multi-page/modules.py
index c8df0bfd2..3b9081bc3 100644
--- a/shiny/templates/app-templates/multi-page/modules.py
+++ b/shiny/templates/app-templates/multi-page/modules.py
@@ -8,24 +8,21 @@
@module.ui
def training_ui():
- return ui.nav(
+ return ui.nav_panel(
"Training Dashboard",
- ui.row(
- ui.layout_column_wrap(
- ui.card(
- ui.card_header("Model Metrics"),
- ui.output_plot("metric"),
- ui.input_select(
- "metric",
- "Metric",
- choices=["ROC Curve", "Precision-Recall"],
- ),
+ ui.layout_columns(
+ ui.card(
+ ui.card_header("Model Metrics"),
+ ui.output_plot("metric"),
+ ui.input_select(
+ "metric",
+ "Metric",
+ choices=["ROC Curve", "Precision-Recall"],
),
- ui.card(
- ui.card_header("Training Scores"),
- ui.output_plot("score_dist"),
- ),
- width=1 / 2,
+ ),
+ ui.card(
+ ui.card_header("Training Scores"),
+ ui.output_plot("score_dist"),
),
),
)
@@ -52,24 +49,25 @@ def metric():
@module.ui
def data_view_ui():
- return ui.nav(
+ return ui.nav_panel(
"View Data",
- ui.row(
- ui.layout_column_wrap(
- ui.value_box(
- title="Row count",
- value=ui.output_text("row_count"),
- theme="primary",
- ),
- ui.value_box(
- title="Mean score",
- value=ui.output_text("mean_score"),
- theme="bg-green",
- ),
- width=1 / 2,
+ ui.layout_columns(
+ ui.value_box(
+ title="Row count",
+ value=ui.output_text("row_count"),
+ theme="primary",
+ ),
+ ui.value_box(
+ title="Mean score",
+ value=ui.output_text("mean_score"),
+ theme="bg-green",
),
+ gap="20px",
+ ),
+ ui.layout_columns(
+ ui.card(ui.output_data_frame("data")),
+ style="margin-top: 20px;",
),
- ui.card(ui.output_data_frame("data")),
)
diff --git a/shiny/templates/package-templates/js-input/custom_component/distjs/index.js b/shiny/templates/package-templates/js-input/custom_component/distjs/index.js
index adf9f6c5e..620c5999a 100644
--- a/shiny/templates/package-templates/js-input/custom_component/distjs/index.js
+++ b/shiny/templates/package-templates/js-input/custom_component/distjs/index.js
@@ -177,15 +177,15 @@
super(), this._$Ep = void 0, this.isUpdatePending = false, this.hasUpdated = false, this._$Em = null, this._$Ev();
}
_$Ev() {
- this._$Eg = new Promise((t4) => this.enableUpdating = t4), this._$AL = /* @__PURE__ */ new Map(), this._$E_(), this.requestUpdate(), this.constructor.l?.forEach((t4) => t4(this));
+ this._$Eg = new Promise((t4) => this.enableUpdating = t4), this._$AL = /* @__PURE__ */ new Map(), this._$ES(), this.requestUpdate(), this.constructor.l?.forEach((t4) => t4(this));
}
addController(t4) {
- (this._$ES ??= []).push(t4), void 0 !== this.renderRoot && this.isConnected && t4.hostConnected?.();
+ (this._$E_ ??= /* @__PURE__ */ new Set()).add(t4), void 0 !== this.renderRoot && this.isConnected && t4.hostConnected?.();
}
removeController(t4) {
- this._$ES?.splice(this._$ES.indexOf(t4) >>> 0, 1);
+ this._$E_?.delete(t4);
}
- _$E_() {
+ _$ES() {
const t4 = /* @__PURE__ */ new Map(), s4 = this.constructor.elementProperties;
for (const i4 of s4.keys())
this.hasOwnProperty(i4) && (t4.set(i4, this[i4]), delete this[i4]);
@@ -196,12 +196,12 @@
return S(t4, this.constructor.elementStyles), t4;
}
connectedCallback() {
- this.renderRoot ??= this.createRenderRoot(), this.enableUpdating(true), this._$ES?.forEach((t4) => t4.hostConnected?.());
+ this.renderRoot ??= this.createRenderRoot(), this.enableUpdating(true), this._$E_?.forEach((t4) => t4.hostConnected?.());
}
enableUpdating(t4) {
}
disconnectedCallback() {
- this._$ES?.forEach((t4) => t4.hostDisconnected?.());
+ this._$E_?.forEach((t4) => t4.hostDisconnected?.());
}
attributeChangedCallback(t4, s4, i4) {
this._$AK(t4, i4);
@@ -248,7 +248,7 @@
if (!this.isUpdatePending)
return;
if (!this.hasUpdated) {
- if (this._$Ep) {
+ if (this.renderRoot ??= this.createRenderRoot(), this._$Ep) {
for (const [t6, s5] of this._$Ep)
this[t6] = s5;
this._$Ep = void 0;
@@ -261,7 +261,7 @@
let t4 = false;
const s4 = this._$AL;
try {
- t4 = this.shouldUpdate(s4), t4 ? (this.willUpdate(s4), this._$ES?.forEach((t5) => t5.hostUpdate?.()), this.update(s4)) : this._$ET();
+ t4 = this.shouldUpdate(s4), t4 ? (this.willUpdate(s4), this._$E_?.forEach((t5) => t5.hostUpdate?.()), this.update(s4)) : this._$ET();
} catch (s5) {
throw t4 = false, this._$ET(), s5;
}
@@ -270,7 +270,7 @@
willUpdate(t4) {
}
_$AE(t4) {
- this._$ES?.forEach((t5) => t5.hostUpdated?.()), this.hasUpdated || (this.hasUpdated = true, this.firstUpdated(t4)), this.updated(t4);
+ this._$E_?.forEach((t5) => t5.hostUpdated?.()), this.hasUpdated || (this.hasUpdated = true, this.firstUpdated(t4)), this.updated(t4);
}
_$ET() {
this._$AL = /* @__PURE__ */ new Map(), this.isUpdatePending = false;
@@ -292,7 +292,7 @@
firstUpdated(t4) {
}
};
- b.elementStyles = [], b.shadowRootOptions = { mode: "open" }, b[d("elementProperties")] = /* @__PURE__ */ new Map(), b[d("finalized")] = /* @__PURE__ */ new Map(), p?.({ ReactiveElement: b }), (a.reactiveElementVersions ??= []).push("2.0.1");
+ b.elementStyles = [], b.shadowRootOptions = { mode: "open" }, b[d("elementProperties")] = /* @__PURE__ */ new Map(), b[d("finalized")] = /* @__PURE__ */ new Map(), p?.({ ReactiveElement: b }), (a.reactiveElementVersions ??= []).push("2.0.2");
// node_modules/lit-html/lit-html.js
var t2 = globalThis;
@@ -551,7 +551,7 @@
}
};
var Z = t2.litHtmlPolyfillSupport;
- Z?.(V, M), (t2.litHtmlVersions ??= []).push("3.0.2");
+ Z?.(V, M), (t2.litHtmlVersions ??= []).push("3.1.0");
var j = (t4, i4, s4) => {
const e5 = s4?.renderBefore ?? i4;
let h3 = e5._$litPart$;
@@ -588,7 +588,7 @@
s3._$litElement$ = true, s3["finalized", "finalized"] = true, globalThis.litElementHydrateSupport?.({ LitElement: s3 });
var r4 = globalThis.litElementPolyfillSupport;
r4?.({ LitElement: s3 });
- (globalThis.litElementVersions ??= []).push("4.0.1");
+ (globalThis.litElementVersions ??= []).push("4.0.2");
// node_modules/@lit/reactive-element/decorators/custom-element.js
var t3 = (t4) => (e5, o5) => {
@@ -627,9 +627,41 @@
})(t4, e5, o5);
}
+ // node_modules/@posit-dev/shiny-bindings-core/dist/OptionalShiny.js
+ var Shiny = window.Shiny;
+
+ // node_modules/@posit-dev/shiny-bindings-core/dist/makeInputBinding.js
+ function makeInputBinding(tagName, { type = null } = {}) {
+ if (!Shiny) {
+ return;
+ }
+ class NewCustomBinding extends Shiny["InputBinding"] {
+ constructor() {
+ super();
+ }
+ find(scope) {
+ return $(scope).find(tagName);
+ }
+ getValue(el) {
+ return el.value;
+ }
+ getType(_2) {
+ return type;
+ }
+ subscribe(el, callback) {
+ el.notifyBindingOfChange = (ad) => callback(ad ?? false);
+ }
+ unsubscribe(el) {
+ el.notifyBindingOfChange = (_2) => {
+ };
+ }
+ }
+ Shiny.inputBindings.register(new NewCustomBinding(), `${tagName}-Binding`);
+ }
+
// srcts/index.ts
- var customInputTag = "shiny-custom-input";
- var ShinyCustomInput = class extends s3 {
+ var customInputTag = "custom-component";
+ var CustomComponentEl = class extends s3 {
constructor() {
super(...arguments);
this.value = 0;
@@ -638,14 +670,15 @@
* This alerts Shiny that the value has changed and it should check for the
* latest value. This is set by the input binding.
*/
- this.onChangeCallback = null;
+ this.notifyBindingOfChange = () => {
+ };
}
/**
* Function to run when the increment button is clicked.
*/
onIncrement() {
this.value++;
- this.onChangeCallback?.(true);
+ this.notifyBindingOfChange(true);
}
render() {
return x`
@@ -655,7 +688,7 @@
`;
}
};
- ShinyCustomInput.styles = i`
+ CustomComponentEl.styles = i`
:host {
display: block;
border: solid 1px gray;
@@ -666,25 +699,11 @@
`;
__decorateClass([
n4({ type: Number })
- ], ShinyCustomInput.prototype, "value", 2);
- ShinyCustomInput = __decorateClass([
+ ], CustomComponentEl.prototype, "value", 2);
+ CustomComponentEl = __decorateClass([
t3(customInputTag)
- ], ShinyCustomInput);
- var CustomInputBinding = class extends Shiny.InputBinding {
- constructor() {
- super();
- }
- find(scope) {
- return $(scope).find(customInputTag);
- }
- getValue(el) {
- return el.value;
- }
- subscribe(el, callback) {
- el.onChangeCallback = callback;
- }
- };
- Shiny.inputBindings.register(new CustomInputBinding(), customInputTag);
+ ], CustomComponentEl);
+ makeInputBinding(customInputTag);
})();
/*! Bundled license information:
diff --git a/shiny/templates/package-templates/js-input/package-lock.json b/shiny/templates/package-templates/js-input/package-lock.json
index cd7fbe350..b14fe37f3 100644
--- a/shiny/templates/package-templates/js-input/package-lock.json
+++ b/shiny/templates/package-templates/js-input/package-lock.json
@@ -9,7 +9,7 @@
"version": "1.0.0",
"license": "MIT",
"dependencies": {
- "@shiny-helpers/main": "0.0.13",
+ "@posit-dev/shiny-bindings-core": "^0.0.3",
"lit": "^3.0.2"
},
"devDependencies": {
@@ -382,10 +382,10 @@
"@lit-labs/ssr-dom-shim": "^1.1.2"
}
},
- "node_modules/@shiny-helpers/main": {
- "version": "0.0.13",
- "resolved": "https://registry.npmjs.org/@shiny-helpers/main/-/main-0.0.13.tgz",
- "integrity": "sha512-N53oFskuOxKlE2o0/5vI+7I87p4MRNB8Q5LA/vCWQP35nBCIA2ymePCPWVG5P58CFqeKpvBdmUhdN1FlGdf1fA=="
+ "node_modules/@posit-dev/shiny-bindings-core": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/@posit-dev/shiny-bindings-core/-/shiny-bindings-core-0.0.3.tgz",
+ "integrity": "sha512-G4Zd916Y9YkvuQHRJtRceQBwJD51pBsEyYZFpkIwHiyR56nGGbX0POqHSE39ZQMxa+ewhiBhd4FvK5RgGOoVCA=="
},
"node_modules/@types/trusted-types": {
"version": "2.0.7",
@@ -458,9 +458,9 @@
}
},
"node_modules/typescript": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.2.tgz",
- "integrity": "sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==",
+ "version": "5.3.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz",
+ "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==",
"dev": true,
"bin": {
"tsc": "bin/tsc",
diff --git a/shiny/templates/package-templates/js-input/package.json b/shiny/templates/package-templates/js-input/package.json
index 6ca6d3887..a3cf5f842 100644
--- a/shiny/templates/package-templates/js-input/package.json
+++ b/shiny/templates/package-templates/js-input/package.json
@@ -14,7 +14,7 @@
"typescript": "^5.2.2"
},
"dependencies": {
- "lit": "^3.0.2",
- "@shiny-helpers/main": "0.0.18"
+ "@posit-dev/shiny-bindings-core": "^0.0.3",
+ "lit": "^3.0.2"
}
}
diff --git a/shiny/templates/package-templates/js-input/srcts/index.ts b/shiny/templates/package-templates/js-input/srcts/index.ts
index 70b716a69..5edc92d89 100644
--- a/shiny/templates/package-templates/js-input/srcts/index.ts
+++ b/shiny/templates/package-templates/js-input/srcts/index.ts
@@ -1,16 +1,14 @@
import { LitElement, html, css } from "lit";
-import { customElement, property } from "lit/decorators.js";
-import type { CustomElementInput } from "@shiny-helpers/main";
-import { makeInputBinding } from "@shiny-helpers/main";
+import { property } from "lit/decorators.js";
+import type { CustomElementInput } from "@posit-dev/shiny-bindings-core";
+import { makeInputBinding } from "@posit-dev/shiny-bindings-core";
-const customInputTag = "custom-component";
/**
* An example element.
*
* @csspart button - The button that increments the value
* @csspart display - The span containing the value
*/
-@customElement(customInputTag)
export class CustomComponentEl
extends LitElement
implements CustomElementInput
@@ -53,4 +51,6 @@ export class CustomComponentEl
}
// Setup the input binding
-makeInputBinding(customInputTag);
+makeInputBinding("custom-component", CustomComponentEl, {
+ registerElement: true,
+});
diff --git a/shiny/templates/package-templates/js-input/tsconfig.json b/shiny/templates/package-templates/js-input/tsconfig.json
index 3ed0398b3..fcac5bbd6 100644
--- a/shiny/templates/package-templates/js-input/tsconfig.json
+++ b/shiny/templates/package-templates/js-input/tsconfig.json
@@ -11,8 +11,8 @@
"checkJs": false,
"skipLibCheck": true,
"isolatedModules": true,
- "outDir": "dist",
- "rootDir": "./src",
+ "outDir": "custom_component/distjs",
+ "rootDir": "srcts",
"noUnusedLocals": true,
"noUnusedParameters": true,
"noImplicitReturns": true,
diff --git a/shiny/templates/package-templates/js-output/custom_component/custom_component.py b/shiny/templates/package-templates/js-output/custom_component/custom_component.py
index 39cdea547..789e73371 100644
--- a/shiny/templates/package-templates/js-output/custom_component/custom_component.py
+++ b/shiny/templates/package-templates/js-output/custom_component/custom_component.py
@@ -35,7 +35,7 @@ async def render_custom_component(
return None
if not isinstance(res, int):
- # Throw an error if the value is not a dataframe
+ # Throw an error if the value is not an integer.
raise TypeError(f"Expected a integer, got {type(res)}. ")
# Send the results to the client. Make sure that this is a serializable
diff --git a/shiny/templates/package-templates/js-output/package-lock.json b/shiny/templates/package-templates/js-output/package-lock.json
index e3f727ac9..b14fe37f3 100644
--- a/shiny/templates/package-templates/js-output/package-lock.json
+++ b/shiny/templates/package-templates/js-output/package-lock.json
@@ -9,7 +9,7 @@
"version": "1.0.0",
"license": "MIT",
"dependencies": {
- "@shiny-helpers/main": "^0.0.18",
+ "@posit-dev/shiny-bindings-core": "^0.0.3",
"lit": "^3.0.2"
},
"devDependencies": {
@@ -382,10 +382,10 @@
"@lit-labs/ssr-dom-shim": "^1.1.2"
}
},
- "node_modules/@shiny-helpers/main": {
- "version": "0.0.18",
- "resolved": "https://registry.npmjs.org/@shiny-helpers/main/-/main-0.0.18.tgz",
- "integrity": "sha512-+qyE2+wD8JCTNltNGmYe5DZy/lE++RUfl100IjMgz1VJqf5mTD4cghYb0NsCCHc8AF+YpyDOAmmZVx3aIyffuA=="
+ "node_modules/@posit-dev/shiny-bindings-core": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/@posit-dev/shiny-bindings-core/-/shiny-bindings-core-0.0.3.tgz",
+ "integrity": "sha512-G4Zd916Y9YkvuQHRJtRceQBwJD51pBsEyYZFpkIwHiyR56nGGbX0POqHSE39ZQMxa+ewhiBhd4FvK5RgGOoVCA=="
},
"node_modules/@types/trusted-types": {
"version": "2.0.7",
@@ -458,9 +458,9 @@
}
},
"node_modules/typescript": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.2.tgz",
- "integrity": "sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==",
+ "version": "5.3.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz",
+ "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==",
"dev": true,
"bin": {
"tsc": "bin/tsc",
diff --git a/shiny/templates/package-templates/js-output/package.json b/shiny/templates/package-templates/js-output/package.json
index 1e35952f6..a3cf5f842 100644
--- a/shiny/templates/package-templates/js-output/package.json
+++ b/shiny/templates/package-templates/js-output/package.json
@@ -14,7 +14,7 @@
"typescript": "^5.2.2"
},
"dependencies": {
- "lit": "^3.0.2",
- "@shiny-helpers/main": "^0.0.18"
+ "@posit-dev/shiny-bindings-core": "^0.0.3",
+ "lit": "^3.0.2"
}
}
diff --git a/shiny/templates/package-templates/js-output/srcts/index.ts b/shiny/templates/package-templates/js-output/srcts/index.ts
index 722dd8ce8..6e0c00b97 100644
--- a/shiny/templates/package-templates/js-output/srcts/index.ts
+++ b/shiny/templates/package-templates/js-output/srcts/index.ts
@@ -1,7 +1,7 @@
import { LitElement, html, css } from "lit";
import { property } from "lit/decorators.js";
-import { makeOutputBinding } from "@shiny-helpers/main";
+import { makeOutputBinding } from "@posit-dev/shiny-bindings-core";
// What the server-side output binding will send to the client. It's important
// to make sure this matches what the python code is sending.
diff --git a/shiny/templates/package-templates/js-output/tsconfig.json b/shiny/templates/package-templates/js-output/tsconfig.json
index 3ed0398b3..fcac5bbd6 100644
--- a/shiny/templates/package-templates/js-output/tsconfig.json
+++ b/shiny/templates/package-templates/js-output/tsconfig.json
@@ -11,8 +11,8 @@
"checkJs": false,
"skipLibCheck": true,
"isolatedModules": true,
- "outDir": "dist",
- "rootDir": "./src",
+ "outDir": "custom_component/distjs",
+ "rootDir": "srcts",
"noUnusedLocals": true,
"noUnusedParameters": true,
"noImplicitReturns": true,
diff --git a/shiny/templates/package-templates/js-react/custom_component/__init__.py b/shiny/templates/package-templates/js-react/custom_component/__init__.py
index ec4c3a3fe..ff6916ded 100644
--- a/shiny/templates/package-templates/js-react/custom_component/__init__.py
+++ b/shiny/templates/package-templates/js-react/custom_component/__init__.py
@@ -1,5 +1,11 @@
-from .custom_component import custom_component
+from .custom_component import (
+ input_custom_component,
+ output_custom_component,
+ render_custom_component,
+)
__all__ = [
- "custom_component",
+ "input_custom_component",
+ "output_custom_component",
+ "render_custom_component",
]
diff --git a/shiny/templates/package-templates/js-react/custom_component/custom_component.py b/shiny/templates/package-templates/js-react/custom_component/custom_component.py
index 114f037f4..91529e1f6 100644
--- a/shiny/templates/package-templates/js-react/custom_component/custom_component.py
+++ b/shiny/templates/package-templates/js-react/custom_component/custom_component.py
@@ -3,6 +3,12 @@
from htmltools import HTMLDependency, Tag
from shiny.module import resolve_id
+from shiny.render.transformer import (
+ TransformerMetadata,
+ ValueFn,
+ output_transformer,
+ resolve_value_fn,
+)
# This object is used to let Shiny know where the dependencies needed to run
# our component all live. In this case, we're just using a single javascript
@@ -18,14 +24,46 @@
)
-def custom_component(id: str):
+def input_custom_component(id: str):
"""
A shiny input.
"""
return Tag(
# This is the name of the custom tag we created with our webcomponent
- "custom-component",
+ "custom-component-input",
custom_component_deps,
# Use resolve_id so that our component will work in a module
id=resolve_id(id),
)
+
+
+# Output component
+
+
+@output_transformer()
+async def render_custom_component(
+ _meta: TransformerMetadata,
+ _fn: ValueFn[str | None],
+):
+ res = await resolve_value_fn(_fn)
+ if res is None:
+ return None
+
+ if not isinstance(res, str):
+ # Throw an error if the value is not a string
+ raise TypeError(f"Expected a string, got {type(res)}. ")
+
+ # Send the results to the client. Make sure that this is a serializable
+ # object and matches what is expected in the javascript code.
+ return {"value": res}
+
+
+def output_custom_component(id: str):
+ """
+ Show a color
+ """
+ return Tag(
+ "custom-component-output",
+ custom_component_deps,
+ id=resolve_id(id),
+ )
diff --git a/shiny/templates/package-templates/js-react/example-app/app.py b/shiny/templates/package-templates/js-react/example-app/app.py
index 795cca6a1..a87660408 100644
--- a/shiny/templates/package-templates/js-react/example-app/app.py
+++ b/shiny/templates/package-templates/js-react/example-app/app.py
@@ -1,19 +1,23 @@
# pyright: basic
-from custom_component import custom_component
+from custom_component import (
+ input_custom_component,
+ output_custom_component,
+ render_custom_component,
+)
-from shiny import App, render, ui
+from shiny import App, ui
app_ui = ui.page_fluid(
- custom_component("myComponent"),
- ui.output_text("valueOut"),
+ input_custom_component("color"),
+ output_custom_component("valueOut"),
)
def server(input, output, session):
- @render.text
+ @render_custom_component
def valueOut():
- return f"Value from input is {input.myComponent()}"
+ return input.color()
app = App(app_ui, server)
diff --git a/shiny/templates/package-templates/js-react/package-lock.json b/shiny/templates/package-templates/js-react/package-lock.json
index e07e883b8..dc7eb9191 100644
--- a/shiny/templates/package-templates/js-react/package-lock.json
+++ b/shiny/templates/package-templates/js-react/package-lock.json
@@ -9,7 +9,7 @@
"version": "1.0.0",
"license": "MIT",
"dependencies": {
- "@shiny-helpers/react": "^0.0.13",
+ "@posit-dev/shiny-bindings-react": "^0.0.3",
"react": "^18.2.0",
"react-color": "^2.19.3",
"react-dom": "^18.2.0"
@@ -381,16 +381,21 @@
"react": "*"
}
},
- "node_modules/@shiny-helpers/react": {
- "version": "0.0.13",
- "resolved": "https://registry.npmjs.org/@shiny-helpers/react/-/react-0.0.13.tgz",
- "integrity": "sha512-4vzXoCglKl1OoVYRqcrxc4JI684kGY1oyEjrE6K4L1ITEeNiV3CtXTn4Qsks7HBm/5oCyv9TigQnFheubirSuw==",
+ "node_modules/@posit-dev/shiny-bindings-core": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/@posit-dev/shiny-bindings-core/-/shiny-bindings-core-0.0.2.tgz",
+ "integrity": "sha512-uJ1cUAjtIZVFqU7bXqjZm8HX72FrM3BVfCtReppTUrtqE2SJnOQNlUZpc+xkV+3WkPeqnpn0NS7SH880mkcrPQ=="
+ },
+ "node_modules/@posit-dev/shiny-bindings-react": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/@posit-dev/shiny-bindings-react/-/shiny-bindings-react-0.0.3.tgz",
+ "integrity": "sha512-zarfRZ3/dUFBf11Vc2fUM4grpp6xaJQAkqZRj9W/Xbtax3LJ4PElzPzjZicN9PdDBL72cux8XJ+U+0G3b6G8Nw==",
"dependencies": {
+ "@posit-dev/shiny-bindings-core": "*",
"@types/react": "^18.2.38",
"@types/react-dom": "^18.2.16",
"react": "^18.2.0",
"react-dom": "^18.2.0",
- "shiny-helpers": "*",
"typescript": "^5.2.2"
},
"peerDependencies": {
@@ -404,9 +409,9 @@
"integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng=="
},
"node_modules/@types/react": {
- "version": "18.2.39",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.39.tgz",
- "integrity": "sha512-Oiw+ppED6IremMInLV4HXGbfbG6GyziY3kqAwJYOR0PNbkYDmLWQA3a95EhdSmamsvbkJN96ZNN+YD+fGjzSBA==",
+ "version": "18.2.42",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.42.tgz",
+ "integrity": "sha512-c1zEr96MjakLYus/wPnuWDo1/zErfdU9rNsIGmE+NV71nx88FG9Ttgo5dqorXTu/LImX2f63WBP986gJkMPNbA==",
"dependencies": {
"@types/prop-types": "*",
"@types/scheduler": "*",
@@ -446,9 +451,9 @@
"integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A=="
},
"node_modules/csstype": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
- "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
+ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
},
"node_modules/esbuild": {
"version": "0.19.5",
@@ -597,24 +602,15 @@
"loose-envify": "^1.1.0"
}
},
- "node_modules/shiny-helpers": {
- "version": "0.0.12",
- "resolved": "https://registry.npmjs.org/shiny-helpers/-/shiny-helpers-0.0.12.tgz",
- "integrity": "sha512-8S99ig6OP/fsi/dzhstjw/4eHegY6tksUJE4821gqIGCu6DP9FlJGYZIt4hJqSEWdWpC2HlnFNLdd2PFkIThTw==",
- "peerDependencies": {
- "react": "^18.2.0",
- "react-dom": "^18.2.0"
- }
- },
"node_modules/tinycolor2": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz",
"integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw=="
},
"node_modules/typescript": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.2.tgz",
- "integrity": "sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==",
+ "version": "5.3.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz",
+ "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==",
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
diff --git a/shiny/templates/package-templates/js-react/package.json b/shiny/templates/package-templates/js-react/package.json
index 5a799590f..6ac2fbb2c 100644
--- a/shiny/templates/package-templates/js-react/package.json
+++ b/shiny/templates/package-templates/js-react/package.json
@@ -16,9 +16,9 @@
"typescript": "^5.2.2"
},
"dependencies": {
+ "@posit-dev/shiny-bindings-react": "^0.0.3",
"react": "^18.2.0",
"react-color": "^2.19.3",
- "react-dom": "^18.2.0",
- "@shiny-helpers/react": "^0.0.13"
+ "react-dom": "^18.2.0"
}
}
diff --git a/shiny/templates/package-templates/js-react/srcts/index.tsx b/shiny/templates/package-templates/js-react/srcts/index.tsx
index 606038896..4698b8219 100644
--- a/shiny/templates/package-templates/js-react/srcts/index.tsx
+++ b/shiny/templates/package-templates/js-react/srcts/index.tsx
@@ -1,17 +1,16 @@
import { SketchPicker } from "react-color";
-import type { ColorResult } from "react-color";
import React from "react";
-import { makeReactInput } from "@shiny-helpers/react";
+import { makeReactInput, makeReactOutput } from "@shiny-helpers/react";
// Generates a new input binding that renders the supplied react component
// into the root of the webcomponent.
makeReactInput({
- tagName: "custom-component",
+ tagName: "custom-component-input",
initialValue: "#fff",
- renderComp: ({ onNewValue }) => (
+ renderComp: ({ initialValue, onNewValue }) => (
onNewValue(color)}
/>
),
@@ -25,15 +24,29 @@ function ColorPickerReact({
initialValue: string;
onNewValue: (x: string) => void;
}) {
- const [currentColor, setCurrentColor] = React.useState(initialValue);
+ const [currentColor, setCurrentColor] = React.useState(initialValue);
return (
{
+ onChange={(color) => {
setCurrentColor(color.hex);
onNewValue(color.hex);
}}
/>
);
}
+
+makeReactOutput<{ value: string }>({
+ tagName: "custom-component-output",
+ renderComp: ({ value }) => (
+
+ ),
+});
diff --git a/shiny/templates/package-templates/js-react/tsconfig.json b/shiny/templates/package-templates/js-react/tsconfig.json
index 3f5645b52..b0c09e394 100644
--- a/shiny/templates/package-templates/js-react/tsconfig.json
+++ b/shiny/templates/package-templates/js-react/tsconfig.json
@@ -11,8 +11,8 @@
"checkJs": false,
"skipLibCheck": true,
"isolatedModules": true,
- "outDir": "dist",
- "rootDir": "./src",
+ "outDir": "custom_component/distjs",
+ "rootDir": "srcts",
"noUnusedLocals": true,
"noUnusedParameters": true,
"noImplicitReturns": true,
@@ -25,13 +25,7 @@
"noImplicitOverride": true,
"esModuleInterop": true,
"strict": true,
- "jsx": "react-jsx",
- "plugins": [
- {
- "name": "ts-lit-plugin",
- "strict": true
- }
- ]
+ "jsx": "react-jsx"
},
"include": ["srcts/**/*.ts", "srcts/index.tsx"],
"exclude": []
diff --git a/shiny/types.py b/shiny/types.py
index 5d62c47b1..fbdedbf89 100644
--- a/shiny/types.py
+++ b/shiny/types.py
@@ -37,7 +37,7 @@ class MISSING_TYPE:
# FileUploadOperation class.
class FileInfo(TypedDict):
"""
- Information about a file upload.
+ Class for information about a file upload.
See Also
--------
@@ -49,7 +49,7 @@ class FileInfo(TypedDict):
"""
name: str
- """The name of the file."""
+ """The name of the file being uploaded."""
size: int
"""The size of the file in bytes."""
type: str
@@ -144,7 +144,7 @@ class ActionButtonValue(int):
class NavSetArg(Protocol):
"""
- An value suitable for passing to a navigation container (e.g.,
+ A value suitable for passing to a navigation container (e.g.,
:func:`~shiny.ui.navset_tab`).
"""
diff --git a/shiny/ui/__init__.py b/shiny/ui/__init__.py
index 69fed6996..39a9f4832 100644
--- a/shiny/ui/__init__.py
+++ b/shiny/ui/__init__.py
@@ -23,6 +23,7 @@
)
from ._layout import layout_column_wrap
+from ._layout_columns import layout_columns
# Expose the following modules for extended usage: ex: ui.fill.as_fill_item(x)
@@ -86,7 +87,7 @@
from ._markdown import markdown
from ._modal import modal_button, modal, modal_show, modal_remove
from ._navs import (
- nav,
+ nav_panel,
nav_menu,
nav_control,
nav_spacer,
@@ -102,6 +103,7 @@
# Deprecated
navset_pill_card,
navset_tab_card,
+ nav,
)
from ._notification import notification_show, notification_remove
from ._output import (
@@ -185,6 +187,7 @@
"panel_sidebar",
"panel_main",
# _layout
+ "layout_columns",
"layout_column_wrap",
# _card
"CardItem",
@@ -267,7 +270,7 @@
"modal_show",
"modal_remove",
# _navs
- "nav",
+ "nav_panel",
"nav_menu",
"nav_control",
"nav_spacer",
@@ -283,6 +286,7 @@
# # Deprecated
"navset_pill_card",
"navset_tab_card",
+ "nav",
# _notification
"notification_show",
"notification_remove",
diff --git a/shiny/ui/_accordion.py b/shiny/ui/_accordion.py
index 1631d05fc..fdfefef93 100644
--- a/shiny/ui/_accordion.py
+++ b/shiny/ui/_accordion.py
@@ -26,7 +26,7 @@
class AccordionPanel:
"""
- Internal class used to represent an accordion panel.
+ The internal class used to represent an accordion panel.
This class is used to represent an accordion panel. It is not intended to be
instantiated directly. Instead, use :func:`~shiny.ui.accordion_panel`.
@@ -34,7 +34,7 @@ class AccordionPanel:
Parameters
----------
*args
- Contents to the accordion panel body. Or tag attributes that are supplied to the
+ Contents to appear in the accordion panel body, or tag attributes that are supplied to the
returned :class:`~htmltools.Tag` object.
data_value
A character string that uniquely identifies this panel.
@@ -397,7 +397,7 @@ def update_accordion(
session: Optional[Session] = None,
) -> None:
"""
- Dynamically set accordions panel state
+ Dynamically set accordions' states.
Dynamically (i.e., programmatically) update/modify :func:`~shiny.ui.accordion`s in a Shiny app.
These functions require an `id` to be provided to the :func:`~shiny.ui.accordion` and must also be
@@ -408,11 +408,11 @@ def update_accordion(
id
A string that matches an existing :func:`~shiny.ui.accordion`'s `id`.
show
- either a string or list of strings (used to identify particular
+ Either a string or list of strings (used to identify particular
:func:`~shiny.ui.accordion_panel`(s) by their `value`) or a `bool` to set the state of all
panels.
session
- A shiny session object (the default should almost always be used).
+ A Shiny session object (the default should almost always be used).
References
----------
@@ -442,7 +442,7 @@ def insert_accordion_panel(
session: Optional[Session] = None,
) -> None:
"""
- Insert an :func:`~shiny.ui.accordion_panel`
+ Insert an :func:`~shiny.ui.accordion_panel`.
Parameters
----------
@@ -457,7 +457,7 @@ def insert_accordion_panel(
`"after"` will append after the last panel and `"before"` will prepend before
the first panel.
session
- A shiny session object (the default should almost always be used).
+ A Shiny session object (the default should almost always be used).
References
----------
@@ -495,7 +495,7 @@ def remove_accordion_panel(
session: Optional[Session] = None,
) -> None:
"""
- Remove an :func:`~shiny.ui.accordion_panel`
+ Remove an :func:`~shiny.ui.accordion_panel`.
Parameters
----------
@@ -504,7 +504,7 @@ def remove_accordion_panel(
target
The `value` of an existing panel to remove.
session
- A shiny session object (the default should almost always be used).
+ A Shiny session object (the default should almost always be used).
References
----------
@@ -552,7 +552,7 @@ def update_accordion_panel(
session: Optional[Session] = None,
) -> None:
"""
- Dynamically update accordions panel contents
+ Dynamically update accordion panel contents.
Dynamically (i.e., programmatically) update/modify :func:`~shiny.ui.accordion` panels in a Shiny app.
These functions require an `id` to be provided to the :func:`~shiny.ui.accordion` and must also be
@@ -573,7 +573,7 @@ def update_accordion_panel(
icon
If not missing, the new icon of the panel.
session
- A shiny session object (the default should almost always be used).
+ A Shiny session object (the default should almost always be used).
References
----------
diff --git a/shiny/ui/_bootstrap.py b/shiny/ui/_bootstrap.py
index be0d23084..b66c79755 100644
--- a/shiny/ui/_bootstrap.py
+++ b/shiny/ui/_bootstrap.py
@@ -50,9 +50,9 @@ def row(*args: TagChild | TagAttrs, **kwargs: TagAttrValue) -> Tag:
Parameters
----------
- args
+ *args
Any number of child elements.
- kwargs
+ **kwargs
Attributes to place on the row tag.
Returns
@@ -79,11 +79,11 @@ def column(
----------
width
The width of the column (an integer between 1 and 12).
- args
+ *args
UI elements to place within the column.
offset
The number of columns to offset this column from the end of the previous column.
- kwargs
+ **kwargs
Attributes to place on the column tag.
Returns
@@ -110,16 +110,16 @@ def column(
def panel_well(*args: TagChild | TagAttrs, **kwargs: TagAttrValue) -> Tag:
"""
- Create a well panel
+ Create a well panel.
- Creates a panel with a slightly inset border and grey background. Equivalent to
+ Creates a panel with a slightly inset border and gray background. Equivalent to
Bootstrap's ``well`` CSS class.
Parameters
----------
- args
+ *args
UI elements to include inside the panel.
- kwargs
+ **kwargs
Attributes to place on the panel tag.
Returns
@@ -147,7 +147,7 @@ def panel_conditional(
**kwargs: TagAttrValue,
) -> Tag:
"""
- Create a conditional panel
+ Create a conditional panel.
Show UI elements only if a ``JavaScript`` condition is ``true``.
@@ -156,9 +156,9 @@ def panel_conditional(
condition
A JavaScript expression that will be evaluated repeatedly to determine whether
the panel should be displayed.
- args
+ *args
UI elements to include inside the panel.
- kwargs
+ **kwargs
Attributes to place on the panel tag.
Returns
@@ -170,12 +170,13 @@ def panel_conditional(
----
In the JS expression, you can refer to input and output JavaScript objects that
contain the current values of input and output. For example, if you have an input
- with an id of foo, then you can use input.foo to read its value. (Be sure not to
- modify the input/output objects, as this may cause unpredictable behavior.)
+ with an ``id`` of ``foo``, then you can use ``input.foo`` to read its value.
+ (Be sure not to modify the input/output objects, as this may cause unpredictable
+ behavior.)
You are not recommended to use special JavaScript characters such as a period . in
- the input id's, but if you do use them anyway, for example, ``id = "foo.bar"``, you
- will have to use ``input["foo.bar"]`` instead of ``input.foo.bar`` to read the input
+ the input id's, but if you do use them anyway, for example, `id = "foo.bar"`, you
+ will have to use `input["foo.bar"]` instead of ``input.foo.bar`` to read the input
value.
Tip
@@ -251,9 +252,9 @@ def panel_fixed(
Parameters
----------
- args
+ *args
UI elements to include inside the panel.
- kwargs
+ **kwargs
Arguments passed along to :func:`~shiny.ui.panel_absolute`.
Returns
@@ -297,28 +298,28 @@ def panel_absolute(
"""
Create a panel of absolutely positioned content.
- Creates a ``
`` tag whose CSS position is set to absolute (or fixed if ``fixed =
- True``). The way absolute positioning works in HTML is that absolute coordinates are
- specified relative to its nearest parent element whose position is not set to static
- (which is the default), and if no such parent is found, then relative to the page
- borders. If you're not sure what that means, just keep in mind that you may get
+ Creates a `
` tag whose CSS position is set to absolute (or fixed if ``fixed =
+ True``). In HTML, absolute coordinates are specified relative to an element's
+ nearest parent element whose position is not set to static (the default).
+ If no such parent is found, the coordinates are relative to the page borders.
+ If you're not sure what that means, just keep in mind that you may get
strange results if you use this function from inside of certain types of panels.
Parameters
----------
- args
+ *args
UI elements to include inside the panel.
top
- Distance between the top of the panel, and the top of the page or parent
+ Distance between the top of the panel and the top of the page or parent
container.
left
- Distance between the left side of the panel, and the left of the page or parent
+ Distance between the left side of the panel and the left of the page or parent
container.
right
- Distance between the right side of the panel, and the right of the page or
+ Distance between the right side of the panel and the right of the page or
parent container.
bottom
- Distance between the bottom of the panel, and the bottom of the page or parent
+ Distance between the bottom of the panel and the bottom of the page or parent
container.
width
Width of the panel.
@@ -335,7 +336,7 @@ def panel_absolute(
arrow, or ``"inherit"`` for the usual cursor behavior (including changing to an
I-beam when the cursor is over text). The default is ``"auto"``, which is
equivalent to ``"move" if draggable else "inherit"``.
- kwargs
+ **kwargs
Attributes added to the content's container tag.
Returns
@@ -351,12 +352,12 @@ def panel_absolute(
results.
Like most other distance parameters in Shiny, the position and size parameters take
- a number (interpreted as pixels) or a valid CSS size string, such as ``"100px"``
- (100 pixels) or ``"25%"``.
+ a number (interpreted as pixels) or a valid CSS size string, such as `"100px"`
+ (100 pixels) or `"25%"`.
- For arcane HTML reasons, to have the panel fill the page or parent you should
+ For arcane HTML reasons, to have the panel fill the page or parent,
specify 0 for ``top``, ``left``, ``right``, and ``bottom`` rather than the more
- obvious ``width = "100%"`` and ``height = "100%"``.
+ obvious `width = "100%"` and `height = "100%"`.
"""
style = css(
@@ -385,11 +386,14 @@ def help_text(*args: TagChild | TagAttrs, **kwargs: TagAttrValue) -> Tag:
"""
Create a help text element
+ Help text is stylized text which can be added to the user interface to provide additional explanation
+ or context. Text passed to :func:`~shiny.ui.help_text` receives the Bootstrap `help-block` class.
+
Parameters
----------
- args
+ *args
UI elements to include inside the help text.
- kwargs
+ **kwargs
Attributes to add to the text container.
Returns
diff --git a/shiny/ui/_card.py b/shiny/ui/_card.py
index aeaba298a..daa3785cd 100644
--- a/shiny/ui/_card.py
+++ b/shiny/ui/_card.py
@@ -367,7 +367,7 @@ def card_body(
class CardItem:
"""
- A wrapper around a :class:`~htmltools.Tag` object that represent the content of a
+ A wrapper around a :class:`~htmltools.Tag` object that represents the content of a
card item (e.g., :func:`~shiny.ui.card_header` or
:func:`~shiny.card_footer`).
@@ -377,15 +377,15 @@ class CardItem:
Parameters
----------
item
- A :class:`~htmltools.Tag` object that represent the content of a card item
+ A :class:`~htmltools.Tag` object that represents the content of a card item
(e.g., :func:`~shiny.ui.card_header` or
:func:`~shiny.card_footer`).
See Also
--------
* :func:`~shiny.ui.card` for creating a card component.
- * :func:`~shiny.ui.card_header` for creating a header within the card.
- * :func:`~shiny.ui.card_footer` for creating a footer within the card.
+ * :func:`~shiny.ui.card_header` for creating a header within a card.
+ * :func:`~shiny.ui.card_footer` for creating a footer within a card.
"""
def __init__(
@@ -396,7 +396,7 @@ def __init__(
def resolve(self) -> TagChild:
"""
- Resolves the `CardItem` class by returning the `item` provided at initialization.
+ Resolves an object with the `CardItem` class by returning the `item` provided at initialization.
Returns
-------
diff --git a/shiny/ui/_download_button.py b/shiny/ui/_download_button.py
index 42c5d61de..be0e92fd4 100644
--- a/shiny/ui/_download_button.py
+++ b/shiny/ui/_download_button.py
@@ -31,7 +31,7 @@ def download_button(
An icon to display on the button.
width
The width of the button.
- kwargs
+ **kwargs
Additional attributes for the button.
Returns
@@ -74,7 +74,7 @@ def download_link(
**kwargs: TagAttrValue,
) -> Tag:
"""
- Create a download button
+ Create a download button.
Parameters
----------
@@ -86,7 +86,7 @@ def download_link(
An icon to display on the button.
width
The width of the button.
- kwargs
+ **kwargs
Additional attributes for the button.
Returns
diff --git a/shiny/ui/_include_helpers.py b/shiny/ui/_include_helpers.py
index 1739bfc40..8ceebb12f 100644
--- a/shiny/ui/_include_helpers.py
+++ b/shiny/ui/_include_helpers.py
@@ -27,28 +27,31 @@ def include_js(
**kwargs: TagAttrValue,
) -> Tag:
"""
- Include a JavaScript file
+ Include a JavaScript file.
Parameters
----------
path
A path to a JS file.
method
- One of the following: ``"link"``, ``"link_files"``, or ``"inline"``. ``"link"``
- is the link to the CSS file via a :func:`~ui.tags.link` tag. This method is
- generally preferrable to ``"inline"`` since it allows the browser to cache the
- file. ``"link_files"`` is the same as ``"link"``, but also allow for the CSS
- file to request other files within ``path``'s immediate parent directory (e.g.,
- ``@import()`` another file). Note that this isn't the default behavior because
- you should **be careful not to include files in the same directory as ``path``
- that contain sensitive information**. A good general rule of thumb to follow is
- to have ``path`` be located in a subdirectory of the app directory. For example,
- if the app's source is located at ``/app/app.py``, then ``path`` should be
- somewhere like ``/app/css/custom.css`` (and all the other relevant accompanying
- 'safe' files should be located under ``/app/css/``). And finally, ``"inline"``
- is the inline the CSS file contents within a :func:`~ui.tags.style` tag.
+ One of the following:
+
+ * ``"link"`` is the link to the CSS file via a :func:`~ui.tags.link` tag. This
+ method is generally preferable to ``"inline"`` since it allows the browser to
+ cache the file.
+ * ``"link_files"`` is the same as ``"link"``, but also allow for the CSS file to
+ request other files within ``path``'s immediate parent directory (e.g.,
+ ``@import()`` another file). Note that this isn't the default behavior because
+ you should **be careful not to include files in the same directory as ``path``
+ that contain sensitive information**. A good general rule of thumb to follow
+ is to have ``path`` be located in a subdirectory of the app directory. For
+ example, if the app's source is located at ``/app/app.py``, then ``path``
+ should be somewhere like ``/app/css/custom.css`` (and all the other relevant
+ accompanying 'safe' files should be located under ``/app/css/``).
+ * ``"inline"`` is the inline the CSS file contents within a
+ :func:`~ui.tags.style` tag.
**kwargs
- Attributes which are passed on to `~ui.tags.script`
+ Attributes which are passed on to `~ui.tags.script`.
Returns
@@ -59,9 +62,10 @@ def include_js(
Note
----
This places a :func:`~ui.tags.script` tag in the :func:`~ui.tags.body` of the
- document. If instead, you want to place the tag in the :func:`~ui.tags.head` of the
- document, you can wrap it in ``head_content`` (in this case, just make sure you're
- aware that the DOM probably won't be ready when the script is executed).
+ document. If you want to place the tag in the :func:`~ui.tags.head` of the
+ document instead, you can wrap it in ``head_content`` (in this case, just
+ make sure you're aware that the DOM probably won't be ready when the script
+ is executed).
```{python}
#| eval: false
@@ -98,26 +102,29 @@ def include_css(
path: Path | str, *, method: Literal["link", "link_files", "inline"] = "link"
) -> Tag:
"""
- Include a CSS file
+ Include a CSS file.
Parameters
----------
path
A path to a CSS file.
method
- One of the following: ``"link"``, ``"link_files"``, or ``"inline"``. ``"link"``
- is the link to the CSS file via a :func:`~ui.tags.link` tag. This method is
- generally preferrable to ``"inline"`` since it allows the browser to cache the
- file. ``"link_files"`` is the same as ``"link"``, but also allow for the CSS
- file to request other files within ``path``'s immediate parent directory (e.g.,
- ``@import()`` another file). Note that this isn't the default behavior because
- you should **be careful not to include files in the same directory as ``path``
- that contain sensitive information**. A good general rule of thumb to follow is
- to have ``path`` be located in a subdirectory of the app directory. For example,
- if the app's source is located at ``/app/app.py``, then ``path`` should be
- somewhere like ``/app/css/custom.css`` (and all the other relevant accompanying
- 'safe' files should be located under ``/app/css/``). And finally, ``"inline"``
- is the inline the CSS file contents within a :func:`~ui.tags.style` tag.
+ One of the following:
+
+ * ``"link"`` is the link to the CSS file via a :func:`~ui.tags.link` tag. This
+ method is generally preferable to ``"inline"`` since it allows the browser to
+ cache the file.
+ * ``"link_files"`` is the same as ``"link"``, but also allow for the CSS file to
+ request other files within ``path``'s immediate parent directory (e.g.,
+ ``@import()`` another file). Note that this isn't the default behavior because
+ you should **be careful not to include files in the same directory as ``path``
+ that contain sensitive information**. A good general rule of thumb to follow
+ is to have ``path`` be located in a subdirectory of the app directory. For
+ example, if the app's source is located at ``/app/app.py``, then ``path``
+ should be somewhere like ``/app/css/custom.css`` (and all the other relevant
+ accompanying 'safe' files should be located under ``/app/css/``).
+ * ``"inline"`` is the inline the CSS file contents within a
+ :func:`~ui.tags.style` tag.
Returns
diff --git a/shiny/ui/_input_action_button.py b/shiny/ui/_input_action_button.py
index a2af0bc0f..b29ca7d7b 100644
--- a/shiny/ui/_input_action_button.py
+++ b/shiny/ui/_input_action_button.py
@@ -31,7 +31,7 @@ def input_action_button(
An icon to appear inline with the button/link.
width
The CSS width, e.g. '400px', or '100%'
- kwargs
+ **kwargs
Attributes to be applied to the button.
Returns
@@ -85,7 +85,7 @@ def input_action_link(
An input label.
icon
An icon to appear inline with the button/link.
- kwargs
+ **kwargs
Attributes to be applied to the link.
Returns
diff --git a/shiny/ui/_input_check_radio.py b/shiny/ui/_input_check_radio.py
index d00566364..6c330f62e 100644
--- a/shiny/ui/_input_check_radio.py
+++ b/shiny/ui/_input_check_radio.py
@@ -91,7 +91,7 @@ def input_switch(
) -> Tag:
"""
Create a switch that can be used to specify logical values. Similar to
- ~shiny.ui.input_checkbox, but implies to the user that the change will take effect
+ :func:`~shiny.ui.input_checkbox`, but implies to the user that the change will take effect
immediately.
Parameters
@@ -193,9 +193,9 @@ def input_checkbox_group(
selected
The values that should be initially selected, if any.
inline
- If `True`, the result is displayed inline
+ If `True`, the result is displayed inline.
width
- The CSS width, e.g. '400px', or '100%'
+ The CSS width, e.g. '400px', or '100%'.
Returns
-------
@@ -263,9 +263,9 @@ def input_radio_buttons(
selected
The values that should be initially selected, if any.
inline
- If ``True``, the result is displayed inline
+ If ``True``, the result is displayed inline.
width
- The CSS width, e.g. '400px', or '100%'
+ The CSS width, e.g. '400px', or '100%'.
Returns
-------
diff --git a/shiny/ui/_input_file.py b/shiny/ui/_input_file.py
index 25b93f23f..b1e8caa86 100644
--- a/shiny/ui/_input_file.py
+++ b/shiny/ui/_input_file.py
@@ -65,12 +65,12 @@ def input_file(
::: {.callout-note title="Server value"}
A list of dictionaries (one for each file upload) with the following keys:
- * name: The filename provided by the web browser. This is *not* the path to read
+ * ``name``: The filename provided by the web browser. This is *not* the path to read
to get at the actual data that was uploaded (see 'datapath').
- * size: The size of the uploaded data, in bytes.
- * type: The MIME type reported by the browser (for example, 'text/plain'), or
+ * ``size``: The size of the uploaded data, in bytes.
+ * ``type``: The MIME type reported by the browser (for example, 'text/plain'), or
empty string if the browser didn't know.
- * datapath: The path to a temp file that contains the data that was uploaded.
+ * ``datapath``: The path to a temp file that contains the data that was uploaded.
This file may be deleted if the user performs another upload operation.
:::
diff --git a/shiny/ui/_input_password.py b/shiny/ui/_input_password.py
index 7e3214ca6..fbdd49eaf 100644
--- a/shiny/ui/_input_password.py
+++ b/shiny/ui/_input_password.py
@@ -30,7 +30,7 @@ def input_password(
value
Initial value.
width
- The CSS width, e.g. '400px', or '100%'
+ The CSS width, e.g., '400px', or '100%'.
placeholder
The placeholder of the input.
diff --git a/shiny/ui/_input_select.py b/shiny/ui/_input_select.py
index 98f22d2d8..945640096 100644
--- a/shiny/ui/_input_select.py
+++ b/shiny/ui/_input_select.py
@@ -37,8 +37,10 @@
_topics = {
"Server value": """
-A list of strings, usually of length 1, with the value of the selected items. When
-``multiple=True`` and nothing is selected, this value will be ``None``.
+If `multiple=False`, the server value is a string with the value of the selected item.
+If `multiple=True`, the server value is a tuple containing the values of the
+selected items. When ``multiple=True`` and nothing is selected, this value
+will be ``None``.
"""
}
@@ -84,8 +86,10 @@ def input_selectize(
Notes
------
::: {.callout-note title="Server value"}
- A list of strings, usually of length 1, with the value of the selected items. When
- ``multiple=True`` and nothing is selected, this value will be ``None``.
+ If `multiple=False`, the server value is a string with the value of the selected item.
+ If `multiple=True`, the server value is a tuple containing the values of the
+ selected items. When ``multiple=True`` and nothing is selected, this value
+ will be ``None``.
:::
See Also
@@ -153,8 +157,10 @@ def input_select(
Notes
------
::: {.callout-note title="Server value"}
- A list of strings, usually of length 1, with the value of the selected items. When
- ``multiple=True`` and nothing is selected, this value will be ``None``.
+ If `multiple=False`, the server value is a string with the value of the selected item.
+ If `multiple=True`, the server value is a tuple containing the values of the
+ selected items. When ``multiple=True`` and nothing is selected, this value
+ will be ``None``.
:::
See Also
diff --git a/shiny/ui/_input_slider.py b/shiny/ui/_input_slider.py
index 32902817f..eeb37b389 100644
--- a/shiny/ui/_input_slider.py
+++ b/shiny/ui/_input_slider.py
@@ -98,7 +98,7 @@ def input_slider(
animate
``True`` to show simple animation controls with default settings; ``False`` not
to; or a custom settings list, such as those created using
- :class:`AnimationOptions()`.
+ :class:`~AnimationOptions`.
width
The CSS width, e.g. '400px', or '100%'
sep
@@ -132,7 +132,7 @@ def input_slider(
------
::: {.callout-note title="Server value"}
A number, date, or date-time (depending on the class of value), or in the case of
- slider range, a list of two numbers/dates/date-times.
+ slider range, a tuple of two numbers/dates/date-times.
:::
See Also
diff --git a/shiny/ui/_input_text.py b/shiny/ui/_input_text.py
index 61a328271..78da52bcd 100644
--- a/shiny/ui/_input_text.py
+++ b/shiny/ui/_input_text.py
@@ -22,7 +22,7 @@ def input_text(
spellcheck: Optional[Literal["true", "false"]] = None,
) -> Tag:
"""
- Create an input control for entry of text values
+ Create an input control for entry of text values.
Parameters
----------
@@ -33,17 +33,17 @@ def input_text(
value
Initial value.
width
- The CSS width, e.g. '400px', or '100%'
+ The CSS width, e.g., '400px', or '100%'.
placeholder
A hint as to what can be entered into the control.
autocomplete
- Whether to enable browser autocompletion of the text input (default is None).
- If None, then it will use the browser's default behavior. Other possible values
+ Whether to enable browser autocompletion of the text input (default is ``None``).
+ If `None`, then it will use the browser's default behavior. Other possible values
include "on", "off", "name", "username", and "email". See
https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete for
more.
spellcheck
- Whether to enable browser spell checking of the text input (default is None). If
+ Whether to enable browser spell checking of the text input (default is ``None``). If
None, then it will use the browser's default behavior.
Returns
@@ -108,16 +108,16 @@ def input_text_area(
value
Initial value.
width
- The CSS width, e.g. '400px', or '100%'
+ The CSS width, e.g., '400px', or '100%'.
height
- The CSS height, e.g. '400px', or '100%'
+ The CSS height, e.g., '400px', or '100%'.
cols
- Value of the visible character columns of the input, e.g. 80. This argument will
+ Value of the visible character columns of the input, e.g., 80. This argument will
only take effect if there is not a CSS width rule defined for this element; such
a rule could come from the width argument of this function or from a containing
page layout such as :func:`~shiny.ui.page_fluid`.
rows
- The value of the visible character rows of the input, e.g. 6. If the height
+ The value of the visible character rows of the input, e.g., 6. If the height
argument is specified, height will take precedence in the browser's rendering.
placeholder
A hint as to what can be entered into the control.
@@ -131,11 +131,11 @@ def input_text_area(
autocomplete
Whether to enable browser autocompletion of the text input (default is "off").
If `None`, then it will use the browser's default behavior. Other possible
- values include "on", "name", "username", and "email". See [Mozila's autocomplete
+ values include "on", "name", "username", and "email". See [Mozilla's autocomplete
documentation](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete)
for more.
spellcheck
- Whether to enable browser spell checking of the text input (default is None). If
+ Whether to enable browser spell checking of the text input (default is ``None``). If
None, then it will use the browser's default behavior.
Returns
diff --git a/shiny/ui/_input_update.py b/shiny/ui/_input_update.py
index 22a185d9c..85571e40c 100644
--- a/shiny/ui/_input_update.py
+++ b/shiny/ui/_input_update.py
@@ -45,7 +45,7 @@
The syntax of these functions is similar to the functions that created the inputs in
the first place. For example, :func:`~shiny.ui.input_numeric` and
- :func:`~update_numeric` take a similar set of arguments.
+ :func:`~shiny.ui.update_numeric` take a similar set of arguments.
Any arguments with ``None`` values will be ignored; they will not result in any
changes to the input object on the client.
@@ -82,7 +82,7 @@ def update_action_button(
An icon to appear inline with the button/link.
session
A :class:`~shiny.Session` instance. If not provided, it is inferred via
- :func:`~shiny.session.get_current_session`.
+ :func:`~shiny.session.get_current_session`.
Note
----
@@ -909,7 +909,7 @@ def update_tooltip(
session: Optional[Session] = None,
) -> None:
"""
- Update tooltip contents
+ Update tooltip contents.
Parameters
----------
@@ -966,12 +966,12 @@ def update_popover(
----------
id
The id of the popover DOM element to update.
- args
+ *args
The new contents of the popover.
title
The new title of the popover.
show
- Opens (`True`) or closes (`False) the popover.
+ Opens (`True`) or closes (`False`) the popover.
session
A Shiny session object (the default should almost always be used).
diff --git a/shiny/ui/_insert.py b/shiny/ui/_insert.py
index c802cd741..13c4fbdd4 100644
--- a/shiny/ui/_insert.py
+++ b/shiny/ui/_insert.py
@@ -18,35 +18,31 @@ def insert_ui(
session: Optional[Session] = None,
) -> None:
"""
- Insert UI objects
+ Insert UI objects.
Parameters
----------
ui
The UI object you want to insert. This can be anything that you usually put
- inside your apps's ui function. If you're inserting multiple elements in one
+ inside your app's UI function. If you're inserting multiple elements in one
call, make sure to wrap them in either a :func:`~shiny.ui.TagList` or a
:func:`~shiny.ui.tags.div` (the latter option has the advantage that you can
give it an id to make it easier to reference or remove it later on). If you want
- to insert raw html, use :func:`~shiny.ui.HTML`.
+ to insert raw HTML, use :func:`~shiny.ui.HTML`.
selector
A string that is accepted by jQuery's selector (i.e. the string ``s`` to be
placed in a ``$(s)`` jQuery call) which determines the element(s) relative to
which you want to insert your UI object.
where
- Where your UI object should go relative to the selector:
-
- - beforeBegin: Before the selector element itself
- - afterBegin: Just inside the selector element, before its first child
- - beforeEnd: Just inside the selector element, after its last child (default)
- - afterEnd: After the selector element itself
-
- Adapted from
+ Where your UI object should go relative to the selector: "beforeBegin":
+ before the selector element itself; "beforeEnd": just inside the selector
+ element, after its last child (default); "afterEnd": after the selector
+ element itself. Adapted from
https://developer.mozilla.org/en-US/docs/Web/API/Element/insertAdjacentHTML.
multiple
- In case your selector matches more than one element, multiple determines whether
- Shiny should insert the UI object relative to all matched elements or just
- relative to the first matched element (default).
+ In case your selector matches more than one element, ``multiple``
+ determines whether Shiny should insert the UI object relative to all
+ matched elements or just relative to the first matched element (default).
immediate
Whether the UI object should be immediately inserted or removed, or whether
Shiny should wait until all outputs have been updated and all effects have been
@@ -95,21 +91,21 @@ def remove_ui(
session: Optional[Session] = None,
) -> None:
"""
- Remove UI objects
+ Remove UI objects.
Parameters
----------
selector
A string that is accepted by jQuery's selector (i.e. the string ``x`` to be
- placed in a ``$(x)`` jQuery call) which determines the element(s) to remove. If
+ placed in a ``$(x)`` jQuery call), which determines the element(s) to remove. If
you want to remove a Shiny input or output, note that many of these are wrapped
in ``
``s, so you may need to use a somewhat complex selector — see the
Examples below. (Alternatively, you could also wrap the inputs/outputs that you
want to be able to remove easily in a ``
`` with an id.)
multiple
- In case your selector matches more than one element, multiple determines whether
- Shiny should insert the UI object relative to all matched elements or just
- relative to the first matched element (default).
+ In case your selector matches more than one element, ``multiple`` determines
+ whether Shiny should insert the UI object relative to all matched elements
+ or just relative to the first matched element (default).
immediate
Whether the UI object should be immediately inserted or removed, or whether
Shiny should wait until all outputs have been updated and all effects have been
diff --git a/shiny/ui/_layout.py b/shiny/ui/_layout.py
index 57f422ec4..c4bce6481 100644
--- a/shiny/ui/_layout.py
+++ b/shiny/ui/_layout.py
@@ -1,6 +1,6 @@
from __future__ import annotations
-from typing import Literal, Optional, cast
+from typing import Iterable, Literal, Optional, cast
from htmltools import Tag, TagAttrs, TagAttrValue, TagChild, css, div
@@ -33,8 +33,8 @@ def layout_column_wrap(
"""
A grid-like, column-first layout
- Wraps a 1d sequence of UI elements into a 2d grid. The number of columns (and rows)
- in the grid dependent on the column `width` as well as the size of the display.
+ Wraps a 1d sequence of UI elements into a 2d grid. The number of columns
+ (and rows) in the grid depends on the column width and the size of the display.
Parameters
----------
@@ -43,21 +43,26 @@ def layout_column_wrap(
:func:`~shiny.ui.card`). Named arguments become attributes on the
containing :class:`~htmltools.Tag` element.
width
- The desired width of each card. It can be a (unit-less) number between 0 and 1
- and should be specified as `1/num`, where `num` represents the number of desired
- columns. It can be a CSS length unit representing either the minimum (when
- `fixed_width=False`) or fixed width (`fixed_width=True`). It can also be `None`,
- which allows power users to set the `grid-template-columns` CSS property
- manually, either via a `style` attribute or a CSS stylesheet. If missing, a
- value of `200px` will be used.
+ The desired width of each card. It can be one of the following:
+
+ * A (unit-less) number between 0 and 1, specified as `1/num`, where `num`
+ represents the number of desired columns.
+ * A CSS length unit representing either the minimum (when `fixed_width=False`)
+ or fixed width (`fixed_width=True`).
+ * `None`, which allows power users to set the `grid-template-columns` CSS
+ property manually, either via a `style` attribute or a CSS stylesheet.
+ * If missing, a value of `200px` will be used.
fixed_width
- When `width` is greater than 1 or is a CSS length unit, e.g. `"200px"`,
+ When `width` is greater than 1 or is a CSS length unit, e.g., `"200px"`,
`fixed_width` indicates whether that `width` value represents the absolute size
of each column (`fixed_width=TRUE`) or the minimum size of a column
- (`fixed_width=FALSE`). When `fixed_width=FALSE`, new columns are added to a row
- when `width` space is available and columns will never exceed the container or
- viewport size. When `fixed_width=TRUE`, all columns will be exactly `width`
- wide, which may result in columns overflowing the parent container.
+ (`fixed_width=FALSE`).
+
+ When `fixed_width=FALSE`, new columns are added to a row when `width` space is
+ available and columns will never exceed the container or viewport size.
+
+ When `fixed_width=TRUE`, all columns will be exactly `width` wide, which may
+ result in columns overflowing the parent container.
heights_equal
If `"all"` (the default), every card in every row of the grid will have the same
height. If `"row"`, then every card in _each_ row of the grid will have the same
@@ -83,6 +88,11 @@ def layout_column_wrap(
-------
:
A :class:`~htmltools.Tag` element.
+
+ See Also
+ --------
+ * :func:`~shiny.ui.layout_columns` for laying out elements into a responsive
+ 12-column grid.
"""
attrs, children = consolidate_attrs(*args, class_=class_, **kwargs)
@@ -123,14 +133,6 @@ def layout_column_wrap(
else:
colspec = f"repeat(auto-fit, minmax(min({width_css_unit}, 100%), 1fr))"
- # Use a new dict so that we don't mutate the original `children` dict
- upgraded_children: list[TagChild] = []
- for child_value in children:
- child = div({"class": "bslib-gap-spacing"}, child_value)
- if fillable:
- child = as_fillable_container(child)
- upgraded_children.append(child)
-
tag_style_css = {
"grid-template-columns": colspec,
"grid-auto-rows": "1fr" if (heights_equal == "all") else None,
@@ -150,7 +152,7 @@ def layout_column_wrap(
"style": css(**tag_style_css),
},
attrs,
- *upgraded_children,
+ *wrap_all_in_gap_spaced_container(children, fillable),
components_dependency(),
)
if fill:
@@ -165,3 +167,23 @@ def is_probably_a_css_unit(x: TagChild) -> bool:
if isinstance_cssunit(x):
return True
return False
+
+
+def wrap_all_in_gap_spaced_container(
+ children: Iterable[TagChild],
+ fillable: bool = True,
+ class_: Optional[str] = None,
+) -> list[TagChild]:
+ item_class = "bslib-gap-spacing"
+ if class_ is not None:
+ item_class = f"{item_class} {class_}"
+
+ # Use a new list so that we don't mutate the original `children`
+ wrapped_children: list[TagChild] = []
+ for child_value in children:
+ child = div({"class": item_class}, child_value)
+ if fillable:
+ child = as_fillable_container(child)
+ wrapped_children.append(child)
+
+ return wrapped_children
diff --git a/shiny/ui/_layout_columns.py b/shiny/ui/_layout_columns.py
new file mode 100644
index 000000000..7bd2394db
--- /dev/null
+++ b/shiny/ui/_layout_columns.py
@@ -0,0 +1,281 @@
+from __future__ import annotations
+
+from enum import Enum
+from typing import Dict, Iterable, Literal, Optional, Tuple, TypeVar, Union, cast
+from warnings import warn
+
+from htmltools import Tag, TagAttrs, TagAttrValue, TagChild, css
+
+from ._html_deps_shinyverse import web_component_dependency
+from ._layout import wrap_all_in_gap_spaced_container
+from ._tag import consolidate_attrs
+from .css import CssUnit, as_css_unit
+from .fill import as_fill_item
+
+T = TypeVar("T")
+
+
+Breakpoint = Literal["xs", "sm", "md", "lg", "xl", "xxl"]
+"""
+References
+----------
+* [Available Bootstrap breakpoints](https://getbootstrap.com/docs/5.3/layout/breakpoints/#available-breakpoints)
+"""
+
+
+breakpoints: Tuple[Breakpoint, ...] = ("xs", "sm", "md", "lg", "xl", "xxl")
+
+
+BreakpointsSoft = Dict[Breakpoint, Union[Iterable[T], T, None]]
+BreakpointsOptional = Dict[Breakpoint, Union[Iterable[T], None]]
+BreakpointsComplete = Dict[Breakpoint, Iterable[T]]
+BreakpointsUser = Union[BreakpointsSoft[T], Iterable[T], T, None]
+
+
+def layout_columns(
+ *args: TagChild | TagAttrs,
+ col_widths: BreakpointsUser[int] = None,
+ row_heights: BreakpointsUser[CssUnit] = None,
+ fill: bool = True,
+ fillable: bool = True,
+ gap: Optional[CssUnit] = None,
+ class_: Optional[str] = None,
+ height: Optional[CssUnit] = None,
+ **kwargs: TagAttrValue,
+) -> Tag:
+ """
+ Create responsive, column-based grid layouts, based on a 12-column grid.
+
+ Parameters
+ ----------
+ *args
+ Child elements or attributes to be added to the layout.
+ col_widths
+ The widths of the columns, possibly at different breakpoints. Can be one of the
+ following:
+
+ * `None` (the default): Automatically determines a sensible number of columns
+ based on the number of children given to the layout.
+ * A list or tuple of integers between 1 and 12, where each element represents
+ the number of columns for the relevant UI element. Column widths are recycled
+ to extend the values in `col_widths` to match the actual number of items in
+ the layout, and children are wrapped onto the next row when a row exceeds 12
+ column units. For example, `col_widths=(4, 8, 12)` allocates 4 columns to the
+ first element, 8 columns to the second element, and 12 columns to the third
+ element (which wraps to the next row). Negative values are also allowed, and
+ are treated as empty columns. For example, `col_widths=(-2, 8, -2)` would
+ allocate 8 columns to an element (with 2 empty columns on either side).
+ * A dictionary of column widths at different breakpoints. The keys should be
+ one of `"xs"`, `"sm"`, `"md"`, `"lg"`, `"xl"`, or `"xxl"`, and the values are
+ either of the above. For example, `col_widths={"sm": (3, 3, 6), "lg": (4)}`.
+ row_heights
+ The heights of the rows, possibly at different breakpoints. Can be one of the
+ following:
+
+ * A numeric vector, where each value represents the
+ [fractional unit](https://css-tricks.com/introduction-fr-css-unit/)
+ (`fr`) height of the relevant row. If there are more rows than values
+ provided, the pattern will be repeated. For example, `row_heights=(1, 2)`
+ allows even rows to take up twice as much space as odd rows.
+ * A list of numeric or CSS length units, where each value represents the height
+ of the relevant row. If more rows are needed than values provided, the pattern
+ will repeat. For example, `row_heights=["auto", 1]` allows the height of odd
+ rows to be driven my it's contents and even rows to be
+ [`1fr`](https://css-tricks.com/introduction-fr-css-unit/).
+ * A single string containing CSS length units. In this case, the value is
+ supplied directly to `grid-auto-rows`.
+ * A dictionary of row heights at different breakpoints, where each key is a
+ breakpoint name (one of `"xs"`, `"sm"`, `"md"`, `"lg"`, `"xl"`, or `"xxl"`)
+ and where the values may be any of the above options.
+ fill
+ Whether or not to allow the layout to grow/shrink to fit a fillable container
+ with an opinionated height (e.g., :func:`~shiny.ui.page_fillable`).
+ fillable
+ Whether or not each element is wrapped in a fillable container.
+ gap
+ Any valid CSS unit to use for the gap between columns.
+ class_
+ CSS class(es) to apply to the containing element.
+ height
+ Any valid CSS unit to use for the height.
+ **kwargs
+ Additional attributes to apply to the containing element.
+
+ Returns
+ -------
+ :
+ An :class:`~htmltools.Tag` element.
+
+ See Also
+ --------
+ * :func:`~shiny.ui.layout_column_wrap` for laying out elements into a uniform grid.
+
+ Reference
+ --------
+ * [Bootstrap CSS Grid](https://getbootstrap.com/docs/5.3/layout/grid/)
+ * [Bootstrap Breakpoints](https://getbootstrap.com/docs/5.3/layout/breakpoints/)
+ """
+ attrs, children = consolidate_attrs(*args, class_=class_, **kwargs)
+
+ col_widths_spec = as_col_spec(col_widths, len(children))
+
+ # Create the bslib-layout-columns element
+ tag = Tag(
+ "bslib-layout-columns",
+ {
+ "class": "bslib-grid grid bslib-mb-spacing",
+ "style": css(
+ gap=as_css_unit(gap),
+ height=as_css_unit(height),
+ ),
+ },
+ col_widths_attrs(col_widths_spec),
+ attrs,
+ row_heights_attrs(row_heights),
+ *wrap_all_in_gap_spaced_container(children, fillable, "bslib-grid-item"),
+ web_component_dependency(),
+ )
+
+ # Apply fill to the outer layout (fillable is applied to the children)
+ if fill:
+ tag = as_fill_item(tag)
+
+ return tag
+
+
+def as_col_spec(
+ col_widths: BreakpointsUser[int],
+ n_kids: int,
+) -> BreakpointsOptional[int] | None:
+ if col_widths is None:
+ return None
+
+ if not isinstance(col_widths, Dict):
+ return {"md": validate_col_width(col_widths, n_kids, "md")}
+
+ ret: BreakpointsOptional[int] = {}
+ col_widths_items = cast(BreakpointsSoft[int], col_widths).items()
+
+ for brk, value in col_widths_items:
+ if brk not in breakpoints:
+ raise ValueError(
+ f"Breakpoint '{brk}' is not valid. Valid breakpoints are: {', '.join(breakpoints)}'."
+ )
+
+ if value is None:
+ ret[brk] = None
+ elif isinstance(value, (int, Iterable)):
+ ret[brk] = validate_col_width(value, n_kids, brk)
+ else:
+ raise TypeError(
+ f"Invalid type for value at breakpoint '{brk}'. Expected int or Iterable[int]."
+ )
+
+ return ret
+
+
+def validate_col_width(
+ x: Iterable[int] | int, n_kids: int, break_name: Breakpoint
+) -> Iterable[int]:
+ if isinstance(x, int):
+ y = [x]
+ else:
+ y = x
+
+ if not all(isinstance(i, int) for i in y):
+ raise ValueError(
+ f"Column values at breakpoint '{break_name}' must be integers. Values greater than 0 indicate width, and negative values indicate a column offset."
+ )
+
+ if any(i == 0 for i in y):
+ raise ValueError(
+ f"Column values at breakpoint '{break_name}' must be greater than 0 to indicate width, or negative to indicate a column offset."
+ )
+
+ if not any(b > 0 for b in y):
+ raise ValueError(
+ f"Column values at breakpoint '{break_name}' must include at least one positive integer width."
+ )
+
+ if len(list(y)) > n_kids:
+ warn(
+ f"More column widths than children at breakpoint '{break_name}', extra widths will be ignored."
+ )
+
+ return y
+
+
+def col_widths_attrs(col_widths: BreakpointsOptional[int] | None) -> TagAttrs:
+ ret: Dict[str, TagAttrValue] = {}
+ if col_widths is None:
+ return ret
+
+ for break_name, value in col_widths.items():
+ if isinstance(break_name, Enum):
+ break_name = break_name.value
+ break_name = f"col-widths-{break_name}"
+ if value is None:
+ ret[break_name] = ""
+ else:
+ ret[break_name] = ",".join([str(v) for v in value])
+
+ return ret
+
+
+def maybe_fr_unit(x: CssUnit) -> str:
+ if isinstance(x, float):
+ x = round(x)
+
+ if isinstance(x, int):
+ return f"{x}fr"
+
+ return x
+
+
+def row_heights_attrs(
+ x: BreakpointsUser[CssUnit],
+) -> TagAttrs:
+ if x is None:
+ return {"style": "", "class": ""}
+
+ if isinstance(x, (int, float, str)): # CssUnit
+ x = [x]
+
+ if hasattr(x, "__iter__") and not isinstance(x, Dict):
+ # For a single row_heights, we use the same value across all breakpoints,
+ # including mobile
+ height = " ".join([maybe_fr_unit(h) for h in x])
+ return {
+ "style": css(
+ **{"--bslib-grid--row-heights": height},
+ ),
+ "class": "",
+ }
+
+ x = cast(BreakpointsSoft[CssUnit], x)
+
+ # Remove any None values from x
+ x_complete = {k: v for k, v in x.items() if v is not None}
+
+ # We use classes to activate CSS variables at the right breakpoints. Note: Mobile
+ # row height is derived from xs or defaults to auto in the CSS, so we don't need the
+ # class to activate it
+ classes = [
+ f"bslib-grid--row-heights--{brk}" for brk in x_complete.keys() if brk != "xs"
+ ]
+
+ # Create CSS variables, treating numeric values as fractional units, passing strings
+ css_vars: Dict[str, str] = {}
+ for brk, heights in x_complete.items():
+ var = f"--bslib-grid--row-heights--{brk}"
+
+ if isinstance(heights, CssUnit):
+ heights = [heights]
+
+ value = " ".join([maybe_fr_unit(h) for h in heights])
+ css_vars[var] = value
+
+ return {
+ "style": css(**css_vars),
+ "class": " ".join(classes),
+ }
diff --git a/shiny/ui/_modal.py b/shiny/ui/_modal.py
index a1203255c..8f6532f33 100644
--- a/shiny/ui/_modal.py
+++ b/shiny/ui/_modal.py
@@ -18,8 +18,9 @@
def modal_button(label: TagChild, icon: TagChild = None, **kwargs: TagAttrValue) -> Tag:
"""
- Creates a button that will dismiss a :func:`modal` (useful when customising the
- ``footer`` of :func:`modal`).
+ Creates a button that will dismiss a :func:`modal`. :func:`~shiny.ui.modal_button` is usually
+ passed to the `footer` of a :func:`~shiny.ui.modal` to add a button to the footer that will close
+ the :func:`~shiny.ui.modal`.
Parameters
----------
@@ -27,7 +28,7 @@ def modal_button(label: TagChild, icon: TagChild = None, **kwargs: TagAttrValue)
An input label.
icon
An icon to appear inline with the button/link.
- kwargs
+ **kwargs
Attributes to be applied to the button.
Returns
@@ -67,29 +68,32 @@ def modal(
**kwargs: TagAttrValue,
) -> Tag:
"""
- Creates the UI for a modal dialog, using Bootstrap's modal class. Modals are
+ Creates the UI for a modal dialog, using Bootstrap's modal class.
+
+ A modal is a dialog box that appears in front of the app. Modals are
typically used for showing important messages, or for presenting UI that requires
input from the user, such as a user name and/or password input.
Parameters
----------
- args
+ *args
UI elements for the body of the modal.
title
An optional title for the modal dialog.
footer
UI for footer. Use ``None`` for no footer.
size
- One of "s" for small, "m" (the default) for medium, or "l" for large.
+ The size of the modal dialogue box. Use one of "s" for small, "m" (the default)
+ for medium, or "l" for large.
easy_close
If ``True``, the modal dialog can be dismissed by clicking outside the dialog
- box, or be pressing the Escape key. If ``False`` (the default), the modal dialog
+ box, or by pressing the Escape key. If ``False`` (the default), the modal dialog
can't be dismissed in those ways; instead it must be dismissed by clicking on a
``modal_button()``, or from a call to ``modal_remove()`` on the server.
fade
If ``False``, the modal dialog will have no fade-in animation (it will simply
appear rather than fade in to view).
- kwargs
+ **kwargs
Attributes to be applied to the modal's body tag.
Returns
@@ -156,13 +160,16 @@ def modal_show(modal: Tag, session: Optional[Session] = None) -> None:
"""
Show a modal dialog.
+ :func:`~shiny.ui.modal_show` is used to display a modal that has been
+ created with :func:`~shiny.ui.modal`.
+
Parameters
----------
modal
Typically a :func:`modal` instance.
session
- A :class:`~shiny.Session` instance. If not provided, it is inferred via
- :func:`~shiny.session.get_current_session`.
+ The :class:`~shiny.Session` instance to display the modal in. If not provided,
+ the session is inferred via :func:`~shiny.session.get_current_session`.
See Also
-------
@@ -180,13 +187,17 @@ def modal_show(modal: Tag, session: Optional[Session] = None) -> None:
def modal_remove(session: Optional[Session] = None) -> None:
"""
- Remove a modal dialog.
+ Remove a modal dialog box.
+
+ :func:`~shiny.ui.modal_remove` provides a way to remove a modal programatically.
+ Modals can also be removed manually by the user if a :func:`~shiny.ui.modal_button`
+ is provided, or if the modal is created with `easy_close=True`.
Parameters
----------
session
- A :class:`~shiny.Session` instance. If not provided, it is inferred via
- :func:`~shiny.session.get_current_session`.
+ The :class:`~shiny.Session` instance that contains the modal to remove. If not
+ provided, the session is inferred via :func:`~shiny.session.get_current_session`.
See Also
-------
diff --git a/shiny/ui/_navs.py b/shiny/ui/_navs.py
index f57338d76..8a883d164 100644
--- a/shiny/ui/_navs.py
+++ b/shiny/ui/_navs.py
@@ -1,7 +1,7 @@
from __future__ import annotations
__all__ = (
- "nav",
+ "nav_panel",
"nav_menu",
"nav_control",
"nav_spacer",
@@ -17,6 +17,7 @@
# Deprecated - 2023-08-15
"navset_pill_card",
"navset_tab_card",
+ "nav",
)
import copy
@@ -34,7 +35,6 @@
from ._card import CardItem, WrapperCallable, card, card_body, card_footer, card_header
from ._html_deps_shinyverse import components_dependency
from ._sidebar import Sidebar, layout_sidebar
-from ._tag import tag_add_style
from .css import CssUnit, as_css_padding, as_css_unit
from .fill import as_fill_item, as_fillable_container
@@ -42,7 +42,7 @@
# -----------------------------------------------------------------------------
# Navigation items
# -----------------------------------------------------------------------------
-class Nav:
+class NavPanel:
nav: Tag
content: Optional[Tag]
@@ -98,12 +98,12 @@ def tagify(self) -> None:
@add_example()
-def nav(
+def nav_panel(
title: TagChild,
*args: TagChild,
value: Optional[str] = None,
icon: TagChild = None,
-) -> Nav:
+) -> NavPanel:
"""
Create a nav item pointing to some internal content.
@@ -114,11 +114,11 @@ def nav(
*args
UI elements to display when the item is active.
value
- The value of the item. This is used to determine whether the item is active
- (when an ``id`` is provided to the nav container), programmatically select the
- item (e.g., :func:`~shiny.ui.update_navs`), and/or be provided to the
- ``selected`` argument of the navigation container (e.g.,
- :func:`~shiny.ui.navset_tab`).
+ The value of the item. Use this value to determine whether the item is active
+ (when an ``id`` is provided to the nav container) or to programmatically
+ select the item (e.g., :func:`~shiny.ui.update_navs`). You can also
+ provide the value to the ``selected`` argument of the navigation container
+ (e.g., :func:`~shiny.ui.navset_tab`).
icon
An icon to appear inline with the button/link.
@@ -151,13 +151,13 @@ def nav(
role="tab",
)
- return Nav(
+ return NavPanel(
tags.li(link),
div(*args, class_="tab-pane", role="tabpanel", data_value=value),
)
-def nav_control(*args: TagChild) -> Nav:
+def nav_control(*args: TagChild) -> NavPanel:
"""
Place a control in the navigation container.
@@ -168,7 +168,7 @@ def nav_control(*args: TagChild) -> Nav:
See Also
--------
- * ~shiny.ui.nav
+ * ~shiny.ui.nav_panel
* ~shiny.ui.nav_menu
* ~shiny.ui.nav_spacer
* ~shiny.ui.navset_bar
@@ -183,18 +183,18 @@ def nav_control(*args: TagChild) -> Nav:
Example
-------
- See :func:`~shiny.ui.nav`
+ See :func:`~shiny.ui.nav_panel`
"""
- return Nav(tags.li(*args))
+ return NavPanel(tags.li(*args))
-def nav_spacer() -> Nav:
+def nav_spacer() -> NavPanel:
"""
Create space between nav items.
See Also
--------
- * ~shiny.ui.nav
+ * ~shiny.ui.nav_panel
* ~shiny.ui.nav_menu
* ~shiny.ui.nav_control
* ~shiny.ui.navset_bar
@@ -209,10 +209,10 @@ def nav_spacer() -> Nav:
Example
-------
- See :func:`~shiny.ui.nav`
+ See :func:`~shiny.ui.nav_panel`
"""
- return Nav(tags.li(components_dependency(), class_="bslib-nav-spacer"))
+ return NavPanel(tags.li(components_dependency(), class_="bslib-nav-spacer"))
class NavMenu:
@@ -291,12 +291,12 @@ def menu_string_as_nav(x: str | NavSetArg) -> NavSetArg:
else:
nav = tags.li(x, class_="dropdown-header")
- return Nav(nav)
+ return NavPanel(nav)
def nav_menu(
title: TagChild,
- *args: Nav | str,
+ *args: NavPanel | str,
value: Optional[str] = None,
icon: TagChild = None,
align: Literal["left", "right"] = "left",
@@ -309,16 +309,16 @@ def nav_menu(
title
A title to display. Can be a character string or UI elements (i.e., tags).
*args
- A collection of nav items (e.g., :func:`~shiny.ui.nav`) and/or strings.
+ A collection of nav items (e.g., :func:`~shiny.ui.nav_panel`) and/or strings.
Strings will be rendered as a section header unless the string is a set
of two or more hyphens (e.g., ``---``), in which case it will be rendered
as a divider.
value
- The value of the item. This is used to determine whether the item is active
- (when an ``id`` is provided to the nav container), programmatically select the
- item (e.g., :func:`~shiny.ui.update_navs`), and/or be provided to the
- ``selected`` argument of the navigation container (e.g.,
- :func:`~shiny.ui.navset_tab`).
+ The value of the item. Use this value to determine whether the item is active
+ (when an ``id`` is provided to the nav container) or to programmatically
+ select the item (e.g., :func:`~shiny.ui.update_navs`). You can also
+ provide the value to the ``selected`` argument of the navigation container
+ (e.g., :func:`~shiny.ui.navset_tab`).
icon
An icon to appear inline with the button/link.
align
@@ -331,7 +331,7 @@ def nav_menu(
See Also
-------
- * ~shiny.ui.nav
+ * ~shiny.ui.nav_panel
* ~shiny.ui.nav_control
* ~shiny.ui.nav_spacer
* ~shiny.ui.navset_bar
@@ -346,7 +346,7 @@ def nav_menu(
Example
-------
- See :func:`~shiny.ui.nav`
+ See :func:`~shiny.ui.nav_panel`
"""
if value is None:
value = str(title)
@@ -414,7 +414,7 @@ def navset_tab(
Parameters
----------
*args
- A collection of nav items (e.g., :func:`shiny.ui.nav`).
+ A collection of nav items (e.g., :func:`shiny.ui.nav_panel`).
id
If provided, will create an input value that holds the currently selected nav
item.
@@ -429,7 +429,7 @@ def navset_tab(
See Also
--------
- * ~shiny.ui.nav
+ * ~shiny.ui.nav_panel
* ~shiny.ui.nav_menu
* ~shiny.ui.nav_control
* ~shiny.ui.nav_spacer
@@ -444,7 +444,7 @@ def navset_tab(
Example
-------
- See :func:`~shiny.ui.nav`
+ See :func:`~shiny.ui.nav_panel`
"""
return NavSet(
@@ -470,7 +470,7 @@ def navset_pill(
Parameters
----------
*args
- A collection of nav items (e.g., :func:`shiny.ui.nav`).
+ A collection of nav items (e.g., :func:`shiny.ui.nav_panel`).
id
If provided, will create an input value that holds the currently selected nav
item.
@@ -484,7 +484,7 @@ def navset_pill(
See Also
--------
- * ~shiny.ui.nav
+ * ~shiny.ui.nav_panel
* ~shiny.ui.nav_menu
* ~shiny.ui.nav_control
* ~shiny.ui.nav_spacer
@@ -499,7 +499,7 @@ def navset_pill(
Example
-------
- See :func:`~shiny.ui.nav`
+ See :func:`~shiny.ui.nav_panel`
"""
return NavSet(
@@ -525,7 +525,7 @@ def navset_underline(
Parameters
----------
*args
- A collection of nav items (e.g., :func:`shiny.ui.nav`).
+ A collection of nav items (e.g., :func:`shiny.ui.nav_panel`).
id
If provided, will create an input value that holds the currently selected nav
item.
@@ -539,7 +539,7 @@ def navset_underline(
See Also
--------
- * ~shiny.ui.nav
+ * ~shiny.ui.nav_panel
* ~shiny.ui.nav_menu
* ~shiny.ui.nav_control
* ~shiny.ui.nav_spacer
@@ -554,7 +554,7 @@ def navset_underline(
Example
-------
- See :func:`~shiny.ui.nav`
+ See :func:`~shiny.ui.nav_panel`
"""
return NavSet(
*args,
@@ -580,7 +580,7 @@ def navset_hidden(
Parameters
----------
*args
- A collection of nav items (e.g., :func:`shiny.ui.nav`).
+ A collection of nav items (e.g., :func:`shiny.ui.nav_panel`).
id
If provided, will create an input value that holds the currently selected nav
item.
@@ -594,7 +594,7 @@ def navset_hidden(
See Also
--------
- * ~shiny.ui.nav
+ * ~shiny.ui.nav_panel
* ~shiny.ui.nav_menu
* ~shiny.ui.nav_control
* ~shiny.ui.nav_spacer
@@ -693,7 +693,7 @@ def navset_card_tab(
Parameters
----------
*args
- A collection of nav items (e.g., :func:`shiny.ui.nav`).
+ A collection of nav items (e.g., :func:`shiny.ui.nav_panel`).
id
If provided, will create an input value that holds the currently selected nav
item.
@@ -702,23 +702,6 @@ def navset_card_tab(
``value``).
sidebar
A `Sidebar` component to display on every `nav()` page.
- fillable
- Whether or not to allow fill items to grow/shrink to fit the browser window. If
- `True`, all `nav()` pages are fillable. A character vector, matching the value
- of `nav()`s to be filled, may also be provided. Note that, if a `sidebar` is
- provided, `fillable` makes the main content portion fillable.
- gap
- A CSS length unit defining the gap (i.e., spacing) between elements provided to
- `*args`.
- padding
- Padding to use for the body. This can be a numeric vector (which will be
- interpreted as pixels) or a character vector with valid CSS lengths. The length
- can be between one and four. If one, then that value will be used for all four
- sides. If two, then the first value will be used for the top and bottom, while
- the second value will be used for left and right. If three, then the first will
- be used for top, the second will be left and right, and the third will be
- bottom. If four, then the values will be interpreted as top, right, bottom, and
- left respectively.
header
UI to display above the selected content.
footer
@@ -726,7 +709,7 @@ def navset_card_tab(
See Also
--------
- * ~shiny.ui.nav
+ * ~shiny.ui.nav_panel
* ~shiny.ui.nav_menu
* ~shiny.ui.nav_control
* ~shiny.ui.nav_spacer
@@ -741,7 +724,7 @@ def navset_card_tab(
Example
-------
- See :func:`~shiny.ui.nav`
+ See :func:`~shiny.ui.nav_panel`
"""
return NavSetCard(
@@ -773,7 +756,7 @@ def navset_card_pill(
Parameters
----------
*args
- A collection of nav items (e.g., :func:`shiny.ui.nav`).
+ A collection of nav items (e.g., :func:`shiny.ui.nav_panel`).
id
If provided, will create an input value that holds the currently selected nav
item.
@@ -781,7 +764,7 @@ def navset_card_pill(
Choose a particular nav item to select by default value (should match it's
``value``).
sidebar
- A :class:`shiny.ui.Sidebar` component to display on every :func:`~shiny.ui.nav` page.
+ A :class:`shiny.ui.Sidebar` component to display on every :func:`~shiny.ui.nav_panel` page.
header
UI to display above the selected content.
footer
@@ -791,7 +774,7 @@ def navset_card_pill(
See Also
--------
- * ~shiny.ui.nav
+ * ~shiny.ui.nav_panel
* ~shiny.ui.nav_menu
* ~shiny.ui.nav_control
* ~shiny.ui.nav_spacer
@@ -806,7 +789,7 @@ def navset_card_pill(
Example
-------
- See :func:`~shiny.ui.nav`
+ See :func:`~shiny.ui.nav_panel`
"""
return NavSetCard(
@@ -833,12 +816,12 @@ def navset_card_underline(
placement: Literal["above", "below"] = "above",
) -> NavSetCard:
"""
- Render nav items active/focused navigation links are styled with an underline inside a card container.
+ Render nav items inside a card container. Active/focused navigation links are styled with an underline.
Parameters
----------
*args
- A collection of nav items (e.g., :func:`shiny.ui.nav`).
+ A collection of nav items (e.g., :func:`shiny.ui.nav_panel`).
id
If provided, will create an input value that holds the currently selected nav
item.
@@ -846,7 +829,7 @@ def navset_card_underline(
Choose a particular nav item to select by default value (should match it's
``value``).
sidebar
- A :class:`shiny.ui.Sidebar` component to display on every :func:`~shiny.ui.nav` page.
+ A :class:`shiny.ui.Sidebar` component to display on every :func:`~shiny.ui.nav_panel` page.
header
UI to display above the selected content.
footer
@@ -856,7 +839,7 @@ def navset_card_underline(
See Also
--------
- * ~shiny.ui.nav
+ * ~shiny.ui.nav_panel
* ~shiny.ui.nav_menu
* ~shiny.ui.nav_control
* ~shiny.ui.nav_spacer
@@ -871,7 +854,7 @@ def navset_card_underline(
Example
-------
- See :func:`~shiny.ui.nav`
+ See :func:`~shiny.ui.nav_panel`
"""
return NavSetCard(
*args,
@@ -935,7 +918,7 @@ def navset_pill_list(
Parameters
----------
*args
- A collection of nav items (e.g., :func:`shiny.ui.nav`).
+ A collection of nav items (e.g., :func:`shiny.ui.nav_panel`).
id
If provided, will create an input value that holds the currently selected nav
item.
@@ -953,7 +936,7 @@ def navset_pill_list(
See Also
--------
- * ~shiny.ui.nav
+ * ~shiny.ui.nav_panel
* ~shiny.ui.nav_menu
* ~shiny.ui.nav_control
* ~shiny.ui.nav_spacer
@@ -968,7 +951,7 @@ def navset_pill_list(
Example
-------
- See :func:`~shiny.ui.nav`
+ See :func:`~shiny.ui.nav_panel`
"""
return NavSetPillList(
@@ -1129,7 +1112,7 @@ def _make_tabs_fillable(
# must to be a fillable container.
content = as_fillable_container(as_fill_item(content))
- for child in content.children:
+ for i, child in enumerate(content.children):
# Only work on Tags
if not isinstance(child, Tag):
continue
@@ -1146,9 +1129,11 @@ def _make_tabs_fillable(
padding=as_css_padding(padding),
__bslib_navbar_margin="0;" if navbar else None,
)
- child = tag_add_style(child, styles)
+ child.add_style(cast(str, styles))
child = as_fillable_container(as_fill_item(child))
+ content.children[i] = child
+
return content
@@ -1180,7 +1165,7 @@ def navset_bar(
Parameters
----------
*args
- A collection of nav items (e.g., :func:`shiny.ui.nav`).
+ A collection of nav items (e.g., :func:`shiny.ui.nav_panel`).
title
Title to display in the navbar.
id
@@ -1190,7 +1175,7 @@ def navset_bar(
Choose a particular nav item to select by default value (should match it's
``value``).
sidebar
- A :class:`~shiny.ui.Sidebar` component to display on every :func:`~shiny.ui.nav` page.
+ A :class:`~shiny.ui.Sidebar` component to display on every :func:`~shiny.ui.nav_panel` page.
fillable
Whether or not to allow fill items to grow/shrink to fit the browser window. If
`True`, all `nav()` pages are fillable. A character vector, matching the value
@@ -1230,7 +1215,7 @@ def navset_bar(
See Also
--------
* ~shiny.ui.page_navbar
- * ~shiny.ui.nav
+ * ~shiny.ui.nav_panel
* ~shiny.ui.nav_menu
* ~shiny.ui.nav_control
* ~shiny.ui.nav_spacer
@@ -1245,7 +1230,7 @@ def navset_bar(
Example
-------
- See :func:`~shiny.ui.nav`.
+ See :func:`~shiny.ui.nav_panel`.
"""
# If args contains any lists, flatten them into args.
@@ -1394,3 +1379,24 @@ def navset_tab_card(
header=header,
footer=footer,
)
+
+
+# Deprecated 2023-12-07
+def nav(
+ title: TagChild,
+ *args: TagChild,
+ value: Optional[str] = None,
+ icon: TagChild = None,
+) -> NavPanel:
+ """Deprecated. Please use `nav_panel()` instead of `nav()`."""
+ warn_deprecated(
+ "`nav()` is deprecated. "
+ "This method will be removed in a future version, "
+ "please use :func:`~shiny.ui.nav_panel` instead."
+ )
+ return nav_panel(
+ title,
+ *args,
+ value=value,
+ icon=icon,
+ )
diff --git a/shiny/ui/_notification.py b/shiny/ui/_notification.py
index 40d4c83f7..15f9d6f50 100644
--- a/shiny/ui/_notification.py
+++ b/shiny/ui/_notification.py
@@ -25,17 +25,22 @@ def notification_show(
"""
Show a notification to the user.
+ A notification is a message that appears near the bottom corner of the app.
+ Notifications normally disappear after a short period of time, and should multiple
+ notifications appear together, they will stack on top of one another.
+
Parameters
----------
ui
- Content of message.
+ Contents of the notification message.
action
Message content that represents an action. For example, this could be a link
that the user can click on. This is separate from ui so customized layouts can
- handle the main notification content separately from action content.
+ handle the main notification content separately from the action content.
duration
Number of seconds to display the message before it disappears. Use ``None`` to
- make the message not automatically disappear.
+ prevent the message from disappearing automatically. The user will need to click
+ the corner of the notification to close it.
close_button
If ``True``, display a button which will make the notification disappear when
clicked. If ``False`` do not display.
@@ -44,11 +49,11 @@ def notification_show(
notification with the same ``id`` will be replaced with this one (otherwise, a
new notification is created).
type
- A string which controls the color of the notification. One of "default" (gray),
- "message" (blue), "warning" (yellow), or "error" (red).
+ A string which controls the color of the notification. This should be one of
+ "default" (gray), "message" (blue), "warning" (yellow), or "error" (red).
session
- A :class:`~shiny.Session` instance. If not provided, it is inferred via
- :func:`~shiny.session.get_current_session`.
+ The :class:`~shiny.Session` in which the notification should appear. If not
+ provided, the session is inferred via :func:`~shiny.session.get_current_session`.
Returns
-------
@@ -89,12 +94,16 @@ def notification_remove(id: str, *, session: Optional[Session] = None) -> str:
"""
Remove a notification.
+ :func:`~shiny.ui.notification_remove` provides a way to remove a notification programatically.
+ Notifications can also be removed manually by the user, or automatically after a
+ specififed amont of time passes.
+
Parameters
----------
id
- A notification ``id``.
+ The ``id`` of the notification to remove.
session
- A :class:`~shiny.Session` instance. If not provided, it is inferred via
+ The :class:`~shiny.Session` in which the notification appears. If not provided, the session is inferred via
:func:`~shiny.session.get_current_session`.
Returns
diff --git a/shiny/ui/_output.py b/shiny/ui/_output.py
index db780ca1b..7accac6a1 100644
--- a/shiny/ui/_output.py
+++ b/shiny/ui/_output.py
@@ -246,7 +246,7 @@ def output_text(
id
An output id.
inline
- If ``True``, the result is displayed inline
+ If ``True``, the result is displayed inline.
container
A Callable that returns the output container.
@@ -284,7 +284,8 @@ def output_text_verbatim(id: str, placeholder: bool = False) -> Tag:
An output id.
placeholder
If the output is empty or ``None``, should an empty rectangle be displayed to
- serve as a placeholder? (does not affect behavior when the output is nonempty)
+ serve as a placeholder? (This does not affect behavior when the output
+ is nonempty.)
Returns
-------
@@ -345,7 +346,7 @@ def output_ui(
id
An output id.
inline
- If ``True``, the result is displayed inline
+ If ``True``, the result is displayed inline.
container
A Callable that returns the output container.
fill
@@ -354,7 +355,7 @@ def output_ui(
fillable
Whether or not the UI output area should be considered a fillable (i.e.,
flexbox) container.
- kwargs
+ **kwargs
Attributes to be applied to the output container.
Returns
diff --git a/shiny/ui/_page.py b/shiny/ui/_page.py
index 98eee94cd..207bd1ab0 100644
--- a/shiny/ui/_page.py
+++ b/shiny/ui/_page.py
@@ -36,7 +36,7 @@
from ._tag import consolidate_attrs
from ._utils import get_window_title
from .css import CssUnit, as_css_padding, as_css_unit
-from .fill._fill import FILLABLE_CONTAINTER_ATTRS
+from .fill._fill import as_fillable_container
def page_sidebar(
@@ -56,7 +56,7 @@ def page_sidebar(
----------
sidebar
Content to display in the sidebar.
- args
+ *args
UI elements.
title
A title to display at the top of the page.
@@ -72,7 +72,7 @@ def page_sidebar(
ISO 639-1 language code for the HTML page, such as ``"en"`` or ``"ko"``. This
will be used as the lang in the ```` tag, as in ````. The
default, `None`, results in an empty string.
- kwargs
+ **kwargs
Additional attributes passed to :func:`~shiny.ui.layout_sidebar`.
Returns
@@ -135,7 +135,7 @@ def page_navbar(
Parameters
----------
- args
+ *args
UI elements.
title
The browser window title (defaults to the host URL of the page). Can also be set
@@ -144,7 +144,7 @@ def page_navbar(
If provided, will create an input value that holds the currently selected nav
item.
selected
- Choose a particular nav item to select by default value (should match it's
+ Choose a particular nav item to select by default value (should match its
``value``).
sidebar
A :func:`~shiny.ui.sidebar` component to display on every page.
@@ -261,7 +261,7 @@ def page_fillable(
**kwargs: TagAttrValue,
) -> Tag:
"""
- Creates a fillable page
+ Create a fillable page.
Parameters
----------
@@ -298,15 +298,10 @@ def page_fillable(
style = css(padding=as_css_padding(padding), gap=as_css_unit(gap))
- return page_bootstrap(
+ page = page_bootstrap(
head_content(tags.style("html { height: 100%; }")),
- # Even though page_bootstrap accepts *args/**kwargs, we need to prepend the
- # class value to the tags.body. To avoid having a within a for a
- # core code path, we can manually use `FILLABLE_CONTAINER_ATTRS` here as the
- # first set of attributes.
- FILLABLE_CONTAINTER_ATTRS,
{"class": "bslib-page-fill bslib-gap-spacing", "style": style},
- {"class": "bslib-flow-mobile"} if fillable_mobile else None,
+ {"class": "bslib-flow-mobile"} if not fillable_mobile else None,
attrs,
*children,
components_dependency(),
@@ -314,6 +309,15 @@ def page_fillable(
lang=lang,
)
+ # page returns a tag, but we need to make the fillable
+ body = page.children[1]
+ if not isinstance(body, Tag) or body.name != "body":
+ raise ValueError("Expected a tag")
+
+ page.children[1] = as_fillable_container(body)
+
+ return page
+
@add_example()
def page_fluid(
@@ -327,7 +331,7 @@ def page_fluid(
Parameters
----------
- args
+ *args
UI elements.
title
The browser window title (defaults to the host URL of the page). Can also be set
@@ -336,7 +340,7 @@ def page_fluid(
ISO 639-1 language code for the HTML page, such as ``"en"`` or ``"ko"``. This
will be used as the lang in the ```` tag, as in ````. The
default, `None`, results in an empty string.
- kwargs
+ **kwargs
Attributes on the page level container.
Returns
@@ -368,7 +372,7 @@ def page_fixed(
Parameters
----------
- args
+ *args
UI elements.
title
The browser window title (defaults to the host URL of the page). Can also be set
@@ -377,7 +381,7 @@ def page_fixed(
ISO 639-1 language code for the HTML page, such as ``"en"`` or ``"ko"``. This
will be used as the lang in the ```` tag, as in ````. The
default, `None`, results in an empty string.
- kwargs
+ **kwargs
Attributes on the page level container.
Returns
@@ -409,7 +413,7 @@ def page_bootstrap(
Parameters
----------
- args
+ *args
UI elements.
title
The browser window title (defaults to the host URL of the page). Can also be set
@@ -418,7 +422,7 @@ def page_bootstrap(
ISO 639-1 language code for the HTML page, such as ``"en"`` or ``"ko"``. This
will be used as the lang in the ```` tag, as in ````. The
default, `None`, results in an empty string.
- kwargs
+ **kwargs
Attributes on the the `` tag.
Returns
diff --git a/shiny/ui/_popover.py b/shiny/ui/_popover.py
index da11aca5e..93c476759 100644
--- a/shiny/ui/_popover.py
+++ b/shiny/ui/_popover.py
@@ -112,7 +112,6 @@ def fa_gear_icon(title: str):
See Also
--------
*
- * :func:`~shiny.ui.toggle_popover`
* :func:`~shiny.ui.update_popover`
* :func:`~shiny.ui.tooltip`
"""
diff --git a/shiny/ui/_progress.py b/shiny/ui/_progress.py
index 253916675..735ae032c 100644
--- a/shiny/ui/_progress.py
+++ b/shiny/ui/_progress.py
@@ -16,6 +16,11 @@ class Progress:
"""
Initialize a progress bar.
+ :func:`~shiny.ui.Progress` creates a computation manager that can be used with `with` to
+ run a block of code. Shiny will display a progress bar while the code runs, which
+ you can update by calling the `set()` and `message()` methods of the computation
+ manager at strategic points in the code block.
+
Parameters
----------
min
@@ -25,8 +30,8 @@ class Progress:
The value that represents the end of the progress bar. Must be greater than
``min``.
session
- A :class:`~shiny.Session` instance. If not provided, it is inferred via
- :func:`~shiny.session.get_current_session`.
+ The :class:`~shiny.Session` instance that the progress bar should appear in. If not
+ provided, the session is inferred via :func:`~shiny.session.get_current_session`.
"""
_style = "notification"
@@ -66,8 +71,9 @@ def set(
detail: Optional[str] = None,
) -> None:
"""
- Updates the progress panel. When called the first time, the progress panel is
- displayed.
+ Opens and updates the progress panel.
+
+ When called the first time, the progress panel is displayed.
Parameters
----------
diff --git a/shiny/ui/_sidebar.py b/shiny/ui/_sidebar.py
index f5a7bd1b2..ea5c4ee00 100644
--- a/shiny/ui/_sidebar.py
+++ b/shiny/ui/_sidebar.py
@@ -40,7 +40,7 @@
class Sidebar:
"""
- Sidebar object
+ A sidebar object
Class returned from :func:`~shiny.ui.sidebar`. Please do not use this
class directly. Instead, supply the :func:`~shiny.ui.sidebar` object to
@@ -55,7 +55,7 @@ class directly. Instead, supply the :func:`~shiny.ui.sidebar` object to
position
Where the sidebar should appear relative to the main content.
open
- The initial state of the sidebar.
+ The initial state of the sidebar (open or collapsed).
width
A valid CSS unit used for the width of the sidebar.
max_height_mobile
@@ -77,7 +77,7 @@ class directly. Instead, supply the :func:`~shiny.ui.sidebar` object to
position
Where the sidebar should appear relative to the main content.
open
- The initial state of the sidebar.
+ The initial state of the sidebar (open or collapsed).
width
A valid CSS unit used for the width of the sidebar.
max_height_mobile
@@ -168,10 +168,12 @@ def sidebar(
position
Where the sidebar should appear relative to the main content.
open
- The initial state of the sidebar. It can be `"desktop"` (the sidebar starts open
- on desktop screen, closed on mobile), `"open"` or `True` (the sidebar starts
- open), `"closed"` or `False` (the sidebar starts closed), or `"always"` or
- `None` (the sidebar is always open and cannot be closed).
+ The initial state of the sidebar.
+
+ * `"desktop"`: the sidebar starts open on desktop screen, closed on mobile
+ * `"open"` or `True`: the sidebar starts open
+ * `"closed"` or `False`: the sidebar starts closed
+ * `"always"` or `None`: the sidebar is always open and cannot be closed
In :func:`~shiny.ui.update_sidebar`, `open` indicates the desired state of the
sidebar. Note that :func:`~shiny.ui.update_sidebar` can only open or close the
@@ -200,12 +202,15 @@ def sidebar(
padding
Padding within the sidebar itself. This can be a numeric vector (which will be
interpreted as pixels) or a character vector with valid CSS lengths. `padding`
- may be one to four values. If one, then that value will be used for all four
- sides. If two, then the first value will be used for the top and bottom, while
- the second value will be used for left and right. If three, then the first will
- be used for top, the second will be left and right, and the third will be
- bottom. If four, then the values will be interpreted as top, right, bottom, and
- left respectively.
+ may be one to four values.
+
+ * If a single value, then that value will be used for all four sides.
+ * If two, then the first value will be used for the top and bottom, while
+ the second value will be used for left and right.
+ * If three values, then the first will be used for top, the second will be left
+ and right, and the third will be bottom.
+ * If four, then the values will be interpreted as top, right, bottom, and left
+ respectively.
Returns
-------
@@ -337,12 +342,15 @@ def layout_sidebar(
padding
Padding within the sidebar itself. This can be a numeric vector (which will be
interpreted as pixels) or a character vector with valid CSS lengths. `padding`
- may be one to four values. If one, then that value will be used for all four
- sides. If two, then the first value will be used for the top and bottom, while
- the second value will be used for left and right. If three, then the first will
- be used for top, the second will be left and right, and the third will be
- bottom. If four, then the values will be interpreted as top, right, bottom, and
- left respectively.
+ may be one to four values.
+
+ * If a single value, then that value will be used for all four sides.
+ * If two, then the first value will be used for the top and bottom, while
+ the second value will be used for left and right.
+ * If three values, then the first will be used for top, the second will be left
+ and right, and the third will be bottom.
+ * If four, then the values will be interpreted as top, right, bottom, and left
+ respectively.
height
Any valid CSS unit to use for the height.
@@ -504,7 +512,7 @@ def update_sidebar(
session: Optional[Session] = None,
) -> None:
"""
- Update a sidebar's visibility
+ Update a sidebar's visibility.
Set a :func:`~shiny.ui.sidebar` state during an active Shiny user session.
@@ -574,8 +582,7 @@ def panel_sidebar(
width: int = 4,
**kwargs: TagAttrValue,
) -> DeprecatedPanelSidebar:
- """Deprecated. Please use :func:`shiny.ui.sidebar` instead of
- `ui.panel_sidebar()`."""
+ """Deprecated. Please use :func:`~shiny.ui.sidebar` instead."""
# TODO-future: >= 2024-01-01; Add deprecation message below
# Plan of action:
# * No deprecation messages today (2023-10-11), and existing code _just works_.
@@ -597,7 +604,7 @@ def panel_main(
width: int = 8,
**kwargs: TagAttrValue,
) -> DeprecatedPanelMain:
- """Deprecated. Please supply `panel_main(*args)` directly to `layout_sidebar()`."""
+ """Deprecated. Please supply the `*args` of :func:`~shiny.ui.panel_main` directly to :func:`~shiny.ui.layout_sidebar`."""
# TODO-future: >= 2023-11-01; Add deprecation message below
# warn_deprecated("Please use `layout_sidebar(*args)` instead of `panel_main()`. `panel_main()` will go away in a future version of Shiny.")
diff --git a/shiny/ui/_tag.py b/shiny/ui/_tag.py
index f508c70d2..8ed5d2dca 100644
--- a/shiny/ui/_tag.py
+++ b/shiny/ui/_tag.py
@@ -2,7 +2,7 @@
from typing import TypeVar, cast, overload
-from htmltools import Tag, TagAttrs, TagAttrValue, TagChild, div
+from htmltools import TagAttrs, TagAttrValue, TagChild, div
TagChildT = TypeVar("TagChildT", bound=TagChild)
@@ -60,104 +60,3 @@ def trinary(x: bool | str | None) -> None | str:
return "true"
else:
return "false"
-
-
-TagT = TypeVar("TagT", bound="Tag")
-
-# Tag.add_class(x: str) -> Self[Tag]:
-# cls = self.attrs.get("class")
-# if cls:
-# x = cls + " " + x
-# self.attrs["class"] = x
-# return self
-
-
-# Do not export
-# "Prepend" version of `tag.add_class(class_)`
-def tag_prepend_class(tag: TagT, *class_: str | None) -> TagT:
- classes = (
- *class_,
- tag.attrs.get("class"),
- )
- classes = [c for c in classes if c is not None]
- if len(classes) == 0:
- return tag
- tag.attrs["class"] = " ".join(classes)
- return tag
-
-
-def tag_remove_class(tag: TagT, *class_: str | None) -> TagT:
- """
- Remove a class value from the HTML class attribute.
-
- Parameters
- ----------
- *class_
- The class name to remove.
-
- Returns
- -------
- :
- The modified tag.
- """
- cls = tag.attrs.get("class")
- # If no class values to remove from, quit
- if not cls:
- return tag
-
- # Remove any `None` values
- set_to_remove = {c for c in class_ if c is not None}
-
- # If no classes to remove, quit
- if len(set_to_remove) == 0:
- return tag
-
- # Get new set of classes
- # Order matters, otherwise we could use `set()` subtraction: `set(cls.split(" ")) - set(class_)`
- new_cls: list[str] = []
- for cls_val in cls.split(" "):
- if cls_val not in set_to_remove:
- new_cls.append(cls_val)
-
- # If no classes left, remove the attribute
- if len(new_cls) == 0:
- # If here, `attrs.class` must exist
- tag.attrs.pop("class")
- return tag
-
- # Otherwise, set the new class
- tag.attrs["class"] = " ".join(new_cls)
- return tag
-
-
-def tag_add_style(
- tag: TagT,
- *style: str | None,
-) -> TagT:
- """
- Add a style value(s) to the HTML style attribute.
-
- Parameters
- ----------
- *style
- CSS properties and values already properly formatted. Each should already contain trailing semicolons.
-
- See Also
- --------
- ~htmltools.css
-
- Returns
- -------
- :
- The modified tag.
- """
- styles = (
- tag.attrs.get("style"),
- *style,
- )
- non_none_style_tuple = (s for s in styles if s is not None)
- style_str = "".join(non_none_style_tuple)
-
- if style_str:
- tag.attrs["style"] = style_str
- return tag
diff --git a/shiny/ui/_tooltip.py b/shiny/ui/_tooltip.py
index 0fb54d5ed..85c3b7a76 100644
--- a/shiny/ui/_tooltip.py
+++ b/shiny/ui/_tooltip.py
@@ -19,7 +19,7 @@ def tooltip(
**kwargs: TagAttrValue,
) -> Tag:
"""
- Add a tooltip to a UI element
+ Add a tooltip to a UI element.
Display additional information when focusing (or hovering over) a UI element.
@@ -35,7 +35,7 @@ def tooltip(
Contents to the tooltip's body. Or tag attributes that are supplied to the
resolved :class:`~htmltools.Tag` object.
id
- A character string. Required to re-actively respond to the visibility of the
+ A character string. Required to reactively respond to the visibility of the
tooltip (via the `input[id]` value) and/or update the visibility/contents of the
tooltip.
placement
diff --git a/shiny/ui/_valuebox.py b/shiny/ui/_valuebox.py
index 1f7f77c69..219c77cbd 100644
--- a/shiny/ui/_valuebox.py
+++ b/shiny/ui/_valuebox.py
@@ -247,11 +247,11 @@ def value_box_theme(
Parameters
---------
name
- The name of the theme, e.g. `"primary"`, `"danger"`, `"purple"`). `name` can
- also be a bootstrap supported color: `"blue"`, `"purple"`, `"pink"`, `"red"`,
+ The name of the theme, e.g. `"primary"`, `"danger"`, `"purple"`. `name` can
+ also be a Bootstrap-supported color: `"blue"`, `"purple"`, `"pink"`, `"red"`,
`"orange"`, `"yellow"`, `"green"`, `"teal"`, and `"cyan"`. These colors can be
used with `bg-NAME`, `text-NAME`, and `bg-gradient-NAME1-NAME2`. If a `name`
- does not start with `text-` or `bg-`, it will be auto prefixed with `bg-`.
+ does not start with `text-` or `bg-`, it will be auto-prefixed with `bg-`.
fg,bg
The background and foreground colors for the theme.
@@ -312,7 +312,7 @@ def value_box(
Value box
An opinionated (:func:`~shiny.ui.card`-powered) box, designed for
- displaying a `value` and `title`. Optionally, a `showcase` can provide for context
+ displaying a `value` and `title`. Optionally, a `showcase` can provide context
for what the `value` represents (for example, it could hold an icon, or even a
:func:`~shiny.ui.output_plot`).
@@ -331,22 +331,26 @@ def value_box(
showcase_layout
One of `"left center"` (default), `"top right"` or `"bottom"`. Alternatively,
you can customize the showcase layout options with the
- :func:`~shiny.ui.showcase_left_center`, :func:`~shiny.ui.showcase_top_right()`,
- or :func:`~shiny.ui.showcase_bottom()` functions. Use the options functions when
+ :func:`~shiny.ui.showcase_left_center`, :func:`~shiny.ui.showcase_top_right`,
+ or :func:`~shiny.ui.showcase_bottom` functions. Use the options functions when
you want to control the height or width of the showcase area.
- theme
+ theme
The name of a theme (e.g. `"primary"`, `"danger"`, `"purple"`, `"bg-green"`,
`"text-red"`) for the value box, or a theme constructed with
- :func:`~shiny.ui.value_box_theme`. The theme names provide a convenient way to
- use your app's Bootstrap theme colors as the foreground or background colors of
- the value box. For more control, you can create your own theme with
- :func:`~shiny.ui.value_box_theme` where you can pass foreground and background
- colors directly. Bootstrap supported color themes: `"blue"`, `"purple"`,
- `"pink"`, `"red"`, `"orange"`, `"yellow"`, `"green"`, `"teal"`, and `"cyan"`.
- These colors can be used with `bg-NAME`, `text-NAME`, and
- `bg-gradient-NAME1-NAME2` to change the background, foreground, or use a
- background gradient respectively. If a `theme` string does not start with
- `text-` or `bg-`, it will be auto prefixed with `bg-`.
+ :func:`~shiny.ui.value_box_theme`.
+
+ The theme names provide a convenient way to use your app's Bootstrap theme
+ colors as the foreground or background colors of the value box. For more
+ control, you can create your own theme with :func:`~shiny.ui.value_box_theme`
+ where you can pass foreground and background colors directly.
+
+ Bootstrap supported color themes: `"blue"`, `"purple"`, `"pink"`, `"red"`,
+ `"orange"`, `"yellow"`, `"green"`, `"teal"`, and `"cyan"`. These colors can be
+ used with `bg-NAME`, `text-NAME`, and `bg-gradient-NAME1-NAME2` to change the
+ background, foreground, or use a background gradient respectively.
+
+ If a `theme` string does not start with `text-` or `bg-`, it will be auto
+ prefixed with `bg-`.
full_screen
If `True`, an icon will appear when hovering over the card body. Clicking the
icon expands the card to fit viewport size.
diff --git a/shiny/ui/fill/_fill.py b/shiny/ui/fill/_fill.py
index 87f58bd37..6dd6d1c88 100644
--- a/shiny/ui/fill/_fill.py
+++ b/shiny/ui/fill/_fill.py
@@ -1,12 +1,12 @@
from __future__ import annotations
+from copy import copy
from typing import TypeVar
from htmltools import Tag, TagAttrs
from ..._docstring import add_example
from .._html_deps_shinyverse import fill_dependency
-from .._tag import tag_prepend_class, tag_remove_class
__all__ = (
"as_fillable_container",
@@ -31,22 +31,21 @@
@add_example()
-# TODO-future-API; These methods mutate their input values. Should they return a new object instead? Or not return at all (like `LIST.sort()`)?
def as_fillable_container(
tag: TagT,
) -> TagT:
- tag_prepend_class(tag, FILL_CONTAINER_CLASS)
- tag.append(fill_dependency())
- return tag
+ res = copy(tag)
+ res.add_class(FILL_CONTAINER_CLASS)
+ res.append(fill_dependency())
+ return res
@add_example()
-# TODO-future-API; These methods mutate their input values. Should they return a new object instead? Or not return at all (like `LIST.sort()`)?
def as_fill_item(
tag: TagT,
) -> TagT:
"""
- Coerce a tag to a fill item
+ Coerce a tag to a fill item.
Filling layouts are built on the foundation of _fillable containers_ and _fill
items_ (_fill carriers_ are both _fillable containers_ and _fill items_). This is
@@ -64,24 +63,25 @@ def as_fill_item(
Returns
-------
:
- The original :class:`~htmltools.Tag` object (`tag`) with additional attributes
- (and an :class:`~htmltools.HTMLDependency`).
+ A copy of the original :class:`~htmltools.Tag` object (`tag`) with additional
+ attributes (and an :class:`~htmltools.HTMLDependency`).
See Also
--------
* :func:`~shiny.ui.fill.as_fillable_container`
* :func:`~shiny.ui.fill.remove_all_fill`
"""
- tag_prepend_class(tag, FILL_ITEM_CLASS)
- tag.append(fill_dependency())
- return tag
+ res = copy(tag)
+ res.add_class(FILL_ITEM_CLASS)
+ res.append(fill_dependency())
+ return res
def remove_all_fill(
tag: TagT,
) -> TagT:
"""
- Remove any filling layouts from a tag
+ Remove any filling layouts from a tag.
Filling layouts are built on the foundation of _fillable containers_ and _fill
items_ (_fill carriers_ are both _fillable containers_ and _fill items_). This is
@@ -109,8 +109,8 @@ def remove_all_fill(
* :func:`~shiny.ui.fill.as_fillable_container`
"""
- tag_remove_class(tag, FILL_CONTAINER_CLASS)
- tag_remove_class(tag, FILL_ITEM_CLASS)
+ tag.remove_class(FILL_CONTAINER_CLASS)
+ tag.remove_class(FILL_ITEM_CLASS)
return tag
diff --git a/shiny/www/shared/bootstrap/_version.json b/shiny/www/shared/bootstrap/_version.json
index 25f3fbe75..bcff3dd6d 100644
--- a/shiny/www/shared/bootstrap/_version.json
+++ b/shiny/www/shared/bootstrap/_version.json
@@ -1,7 +1,7 @@
{
"note!": "This file is auto-generated by scripts/htmlDependencies.R",
"shiny_version": "CRAN (R 4.3.1)",
- "bslib_version": "CRAN (R 4.3.1)",
+ "bslib_version": "Github (rstudio/bslib@f05bd23d7df5a7465e418a5794925dacdd27bb6b)",
"htmltools_version": "CRAN (R 4.3.1)",
"bootstrap_version": "5.3.1"
}
diff --git a/shiny/www/shared/bootstrap/bootstrap.min.css b/shiny/www/shared/bootstrap/bootstrap.min.css
index ec247f46f..a9d99d005 100644
--- a/shiny/www/shared/bootstrap/bootstrap.min.css
+++ b/shiny/www/shared/bootstrap/bootstrap.min.css
@@ -3,5 +3,3 @@
* Copyright 2011-2023 The Bootstrap Authors
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/:root,[data-bs-theme="light"]{--bs-blue: #007bc2;--bs-indigo: #4b00c1;--bs-purple: #74149c;--bs-pink: #bf007f;--bs-red: #c10000;--bs-orange: #f45100;--bs-yellow: #f9b928;--bs-green: #00891a;--bs-teal: #00bf7f;--bs-cyan: #03c7e8;--bs-black: #000;--bs-white: #fff;--bs-gray: #707782;--bs-gray-dark: #343A46;--bs-gray-100: #f8f8f8;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #cdd4da;--bs-gray-500: #8D959E;--bs-gray-600: #707782;--bs-gray-700: #48505F;--bs-gray-800: #343A46;--bs-gray-900: #1D1F21;--bs-default: #dee2e6;--bs-primary: #007bc2;--bs-secondary: #404040;--bs-success: #00891a;--bs-info: #03c7e8;--bs-warning: #f9b928;--bs-danger: #c10000;--bs-light: #f8f8f8;--bs-dark: #202020;--bs-default-rgb: 222,226,230;--bs-primary-rgb: 0,123,194;--bs-secondary-rgb: 64,64,64;--bs-success-rgb: 0,137,26;--bs-info-rgb: 3,199,232;--bs-warning-rgb: 249,185,40;--bs-danger-rgb: 193,0,0;--bs-light-rgb: 248,248,248;--bs-dark-rgb: 32,32,32;--bs-primary-text-emphasis: #00314e;--bs-secondary-text-emphasis: #1a1a1a;--bs-success-text-emphasis: #00370a;--bs-info-text-emphasis: #01505d;--bs-warning-text-emphasis: #644a10;--bs-danger-text-emphasis: #4d0000;--bs-light-text-emphasis: #48505F;--bs-dark-text-emphasis: #48505F;--bs-primary-bg-subtle: #cce5f3;--bs-secondary-bg-subtle: #d9d9d9;--bs-success-bg-subtle: #cce7d1;--bs-info-bg-subtle: #cdf4fa;--bs-warning-bg-subtle: #fef1d4;--bs-danger-bg-subtle: #f3cccc;--bs-light-bg-subtle: #fcfcfc;--bs-dark-bg-subtle: #cdd4da;--bs-primary-border-subtle: #99cae7;--bs-secondary-border-subtle: #b3b3b3;--bs-success-border-subtle: #99d0a3;--bs-info-border-subtle: #9ae9f6;--bs-warning-border-subtle: #fde3a9;--bs-danger-border-subtle: #e69999;--bs-light-border-subtle: #e9ecef;--bs-dark-border-subtle: #8D959E;--bs-white-rgb: 255,255,255;--bs-black-rgb: 0,0,0;--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: "Source Code Pro", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255,255,255,0.15), rgba(255,255,255,0));--bs-body-font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--bs-body-font-size:1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #1D1F21;--bs-body-color-rgb: 29,31,33;--bs-body-bg: #fff;--bs-body-bg-rgb: 255,255,255;--bs-emphasis-color: #000;--bs-emphasis-color-rgb: 0,0,0;--bs-secondary-color: rgba(29,31,33,0.75);--bs-secondary-color-rgb: 29,31,33;--bs-secondary-bg: #e9ecef;--bs-secondary-bg-rgb: 233,236,239;--bs-tertiary-color: rgba(29,31,33,0.5);--bs-tertiary-color-rgb: 29,31,33;--bs-tertiary-bg: #f8f8f8;--bs-tertiary-bg-rgb: 248,248,248;--bs-heading-color: inherit;--bs-link-color: #007bc2;--bs-link-color-rgb: 0,123,194;--bs-link-decoration: underline;--bs-link-hover-color: #00629b;--bs-link-hover-color-rgb: 0,98,155;--bs-code-color: RGB(var(--bs-emphasis-color-rgb, 0, 0, 0));--bs-highlight-bg: #fef1d4;--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dee2e6;--bs-border-color-translucent: rgba(40,70,94,0.1);--bs-border-radius: 3px;--bs-border-radius-sm: .25rem;--bs-border-radius-lg: .5rem;--bs-border-radius-xl: 1rem;--bs-border-radius-xxl: 2rem;--bs-border-radius-2xl: var(--bs-border-radius-xxl);--bs-border-radius-pill: 50rem;--bs-box-shadow: 0px 1px 2px RGBA(var(--bslib-box-shadow-color-rgb), 0.1),0px 3px 7px RGBA(var(--bslib-box-shadow-color-rgb), 0.1),0px 12px 30px RGBA(var(--bslib-box-shadow-color-rgb), 0.08);--bs-box-shadow-sm: 0px 1px 2px RGBA(var(--bslib-box-shadow-color-rgb), 0.1),0px 2px 3px RGBA(var(--bslib-box-shadow-color-rgb), 0.1),0px 3px 8px RGBA(var(--bslib-box-shadow-color-rgb), 0.1);--bs-box-shadow-lg: 0px 16px 48px RGBA(var(--bslib-box-shadow-color-rgb), 0.1),0px 2px 3px RGBA(var(--bslib-box-shadow-color-rgb), 0.1),0px 16px 46px RGBA(var(--bslib-box-shadow-color-rgb), 0.1);--bs-box-shadow-inset: inset 0 1px 2px rgba(0,0,0,0.075);--bs-focus-ring-width: .25rem;--bs-focus-ring-opacity: .25;--bs-focus-ring-color: rgba(0,123,194,0.25);--bs-form-valid-color: #00891a;--bs-form-valid-border-color: #00891a;--bs-form-invalid-color: #c10000;--bs-form-invalid-border-color: #c10000}[data-bs-theme="dark"]{color-scheme:dark;--bs-body-color: #dee2e6;--bs-body-color-rgb: 222,226,230;--bs-body-bg: #1D1F21;--bs-body-bg-rgb: 29,31,33;--bs-emphasis-color: #fff;--bs-emphasis-color-rgb: 255,255,255;--bs-secondary-color: rgba(222,226,230,0.75);--bs-secondary-color-rgb: 222,226,230;--bs-secondary-bg: #343A46;--bs-secondary-bg-rgb: 52,58,70;--bs-tertiary-color: rgba(222,226,230,0.5);--bs-tertiary-color-rgb: 222,226,230;--bs-tertiary-bg: #292d34;--bs-tertiary-bg-rgb: 41,45,52;--bs-primary-text-emphasis: #66b0da;--bs-secondary-text-emphasis: #8c8c8c;--bs-success-text-emphasis: #66b876;--bs-info-text-emphasis: #68ddf1;--bs-warning-text-emphasis: #fbd57e;--bs-danger-text-emphasis: #da6666;--bs-light-text-emphasis: #f8f8f8;--bs-dark-text-emphasis: #dee2e6;--bs-primary-bg-subtle: #001927;--bs-secondary-bg-subtle: #0d0d0d;--bs-success-bg-subtle: #001b05;--bs-info-bg-subtle: #01282e;--bs-warning-bg-subtle: #322508;--bs-danger-bg-subtle: #270000;--bs-light-bg-subtle: #343A46;--bs-dark-bg-subtle: #1a1d23;--bs-primary-border-subtle: #004a74;--bs-secondary-border-subtle: #262626;--bs-success-border-subtle: #005210;--bs-info-border-subtle: #02778b;--bs-warning-border-subtle: #956f18;--bs-danger-border-subtle: #740000;--bs-light-border-subtle: #48505F;--bs-dark-border-subtle: #343A46;--bs-heading-color: inherit;--bs-link-color: #66b0da;--bs-link-hover-color: #85c0e1;--bs-link-color-rgb: 102,176,218;--bs-link-hover-color-rgb: 133,192,225;--bs-code-color: RGB(var(--bs-emphasis-color-rgb, 0, 0, 0));--bs-border-color: #495057;--bs-border-color-translucent: rgba(255,255,255,0.1);--bs-form-valid-color: #66b876;--bs-form-valid-border-color: #66b876;--bs-form-invalid-color: #da6666;--bs-form-invalid-border-color: #da6666}*,*::before,*::after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:2rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:400;line-height:1.2;color:var(--bs-heading-color)}h1,.h1{font-size:calc(1.335rem + 1.02vw)}@media (min-width: 1200px){h1,.h1{font-size:2.1rem}}h2,.h2{font-size:calc(1.325rem + .9vw)}@media (min-width: 1200px){h2,.h2{font-size:2rem}}h3,.h3{font-size:calc(1.3rem + .6vw)}@media (min-width: 1200px){h3,.h3{font-size:1.75rem}}h4,.h4{font-size:calc(1.275rem + .3vw)}@media (min-width: 1200px){h4,.h4{font-size:1.5rem}}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{text-decoration:underline dotted;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;-ms-text-decoration:underline dotted;-o-text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem;padding:.625rem 1.25rem;border-left:.25rem solid #e9ecef}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}b,strong{font-weight:bolder}small,.small{font-size:.875em}mark,.mark{padding:.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));text-decoration:underline;-webkit-text-decoration:underline;-moz-text-decoration:underline;-ms-text-decoration:underline;-o-text-decoration:underline}a:hover{--bs-link-color-rgb: var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em;color:RGB(var(--bs-emphasis-color-rgb, 0, 0, 0));background-color:RGBA(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.04);padding:.5rem;border:1px solid var(--bs-border-color, #dee2e6);border-radius:3px}pre code{background-color:transparent;font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);background-color:RGBA(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.04);border-radius:3px;padding:.125rem .25rem;word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role="button"]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type="date"]):not([type="datetime-local"]):not([type="month"]):not([type="week"]):not([type="time"])::-webkit-calendar-picker-indicator{display:none !important}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button:not(:disabled),[type="button"]:not(:disabled),[type="reset"]:not(:disabled),[type="submit"]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none !important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#707782}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width: 576px){.container-sm,.container{max-width:540px}}@media (min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media (min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media (min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}@media (min-width: 1400px){.container-xxl,.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1320px}}:root{--bs-breakpoint-xs: 0;--bs-breakpoint-sm: 576px;--bs-breakpoint-md: 768px;--bs-breakpoint-lg: 992px;--bs-breakpoint-xl: 1200px;--bs-breakpoint-xxl: 1400px}.row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;-webkit-flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.grid{display:grid;grid-template-rows:repeat(var(--bs-rows, 1), 1fr);grid-template-columns:repeat(var(--bs-columns, 12), 1fr);gap:var(--bs-gap, 1.5rem)}.grid .g-col-1{grid-column:auto/span 1}.grid .g-col-2{grid-column:auto/span 2}.grid .g-col-3{grid-column:auto/span 3}.grid .g-col-4{grid-column:auto/span 4}.grid .g-col-5{grid-column:auto/span 5}.grid .g-col-6{grid-column:auto/span 6}.grid .g-col-7{grid-column:auto/span 7}.grid .g-col-8{grid-column:auto/span 8}.grid .g-col-9{grid-column:auto/span 9}.grid .g-col-10{grid-column:auto/span 10}.grid .g-col-11{grid-column:auto/span 11}.grid .g-col-12{grid-column:auto/span 12}.grid .g-start-1{grid-column-start:1}.grid .g-start-2{grid-column-start:2}.grid .g-start-3{grid-column-start:3}.grid .g-start-4{grid-column-start:4}.grid .g-start-5{grid-column-start:5}.grid .g-start-6{grid-column-start:6}.grid .g-start-7{grid-column-start:7}.grid .g-start-8{grid-column-start:8}.grid .g-start-9{grid-column-start:9}.grid .g-start-10{grid-column-start:10}.grid .g-start-11{grid-column-start:11}@media (min-width: 576px){.grid .g-col-sm-1{grid-column:auto/span 1}.grid .g-col-sm-2{grid-column:auto/span 2}.grid .g-col-sm-3{grid-column:auto/span 3}.grid .g-col-sm-4{grid-column:auto/span 4}.grid .g-col-sm-5{grid-column:auto/span 5}.grid .g-col-sm-6{grid-column:auto/span 6}.grid .g-col-sm-7{grid-column:auto/span 7}.grid .g-col-sm-8{grid-column:auto/span 8}.grid .g-col-sm-9{grid-column:auto/span 9}.grid .g-col-sm-10{grid-column:auto/span 10}.grid .g-col-sm-11{grid-column:auto/span 11}.grid .g-col-sm-12{grid-column:auto/span 12}.grid .g-start-sm-1{grid-column-start:1}.grid .g-start-sm-2{grid-column-start:2}.grid .g-start-sm-3{grid-column-start:3}.grid .g-start-sm-4{grid-column-start:4}.grid .g-start-sm-5{grid-column-start:5}.grid .g-start-sm-6{grid-column-start:6}.grid .g-start-sm-7{grid-column-start:7}.grid .g-start-sm-8{grid-column-start:8}.grid .g-start-sm-9{grid-column-start:9}.grid .g-start-sm-10{grid-column-start:10}.grid .g-start-sm-11{grid-column-start:11}}@media (min-width: 768px){.grid .g-col-md-1{grid-column:auto/span 1}.grid .g-col-md-2{grid-column:auto/span 2}.grid .g-col-md-3{grid-column:auto/span 3}.grid .g-col-md-4{grid-column:auto/span 4}.grid .g-col-md-5{grid-column:auto/span 5}.grid .g-col-md-6{grid-column:auto/span 6}.grid .g-col-md-7{grid-column:auto/span 7}.grid .g-col-md-8{grid-column:auto/span 8}.grid .g-col-md-9{grid-column:auto/span 9}.grid .g-col-md-10{grid-column:auto/span 10}.grid .g-col-md-11{grid-column:auto/span 11}.grid .g-col-md-12{grid-column:auto/span 12}.grid .g-start-md-1{grid-column-start:1}.grid .g-start-md-2{grid-column-start:2}.grid .g-start-md-3{grid-column-start:3}.grid .g-start-md-4{grid-column-start:4}.grid .g-start-md-5{grid-column-start:5}.grid .g-start-md-6{grid-column-start:6}.grid .g-start-md-7{grid-column-start:7}.grid .g-start-md-8{grid-column-start:8}.grid .g-start-md-9{grid-column-start:9}.grid .g-start-md-10{grid-column-start:10}.grid .g-start-md-11{grid-column-start:11}}@media (min-width: 992px){.grid .g-col-lg-1{grid-column:auto/span 1}.grid .g-col-lg-2{grid-column:auto/span 2}.grid .g-col-lg-3{grid-column:auto/span 3}.grid .g-col-lg-4{grid-column:auto/span 4}.grid .g-col-lg-5{grid-column:auto/span 5}.grid .g-col-lg-6{grid-column:auto/span 6}.grid .g-col-lg-7{grid-column:auto/span 7}.grid .g-col-lg-8{grid-column:auto/span 8}.grid .g-col-lg-9{grid-column:auto/span 9}.grid .g-col-lg-10{grid-column:auto/span 10}.grid .g-col-lg-11{grid-column:auto/span 11}.grid .g-col-lg-12{grid-column:auto/span 12}.grid .g-start-lg-1{grid-column-start:1}.grid .g-start-lg-2{grid-column-start:2}.grid .g-start-lg-3{grid-column-start:3}.grid .g-start-lg-4{grid-column-start:4}.grid .g-start-lg-5{grid-column-start:5}.grid .g-start-lg-6{grid-column-start:6}.grid .g-start-lg-7{grid-column-start:7}.grid .g-start-lg-8{grid-column-start:8}.grid .g-start-lg-9{grid-column-start:9}.grid .g-start-lg-10{grid-column-start:10}.grid .g-start-lg-11{grid-column-start:11}}@media (min-width: 1200px){.grid .g-col-xl-1{grid-column:auto/span 1}.grid .g-col-xl-2{grid-column:auto/span 2}.grid .g-col-xl-3{grid-column:auto/span 3}.grid .g-col-xl-4{grid-column:auto/span 4}.grid .g-col-xl-5{grid-column:auto/span 5}.grid .g-col-xl-6{grid-column:auto/span 6}.grid .g-col-xl-7{grid-column:auto/span 7}.grid .g-col-xl-8{grid-column:auto/span 8}.grid .g-col-xl-9{grid-column:auto/span 9}.grid .g-col-xl-10{grid-column:auto/span 10}.grid .g-col-xl-11{grid-column:auto/span 11}.grid .g-col-xl-12{grid-column:auto/span 12}.grid .g-start-xl-1{grid-column-start:1}.grid .g-start-xl-2{grid-column-start:2}.grid .g-start-xl-3{grid-column-start:3}.grid .g-start-xl-4{grid-column-start:4}.grid .g-start-xl-5{grid-column-start:5}.grid .g-start-xl-6{grid-column-start:6}.grid .g-start-xl-7{grid-column-start:7}.grid .g-start-xl-8{grid-column-start:8}.grid .g-start-xl-9{grid-column-start:9}.grid .g-start-xl-10{grid-column-start:10}.grid .g-start-xl-11{grid-column-start:11}}@media (min-width: 1400px){.grid .g-col-xxl-1{grid-column:auto/span 1}.grid .g-col-xxl-2{grid-column:auto/span 2}.grid .g-col-xxl-3{grid-column:auto/span 3}.grid .g-col-xxl-4{grid-column:auto/span 4}.grid .g-col-xxl-5{grid-column:auto/span 5}.grid .g-col-xxl-6{grid-column:auto/span 6}.grid .g-col-xxl-7{grid-column:auto/span 7}.grid .g-col-xxl-8{grid-column:auto/span 8}.grid .g-col-xxl-9{grid-column:auto/span 9}.grid .g-col-xxl-10{grid-column:auto/span 10}.grid .g-col-xxl-11{grid-column:auto/span 11}.grid .g-col-xxl-12{grid-column:auto/span 12}.grid .g-start-xxl-1{grid-column-start:1}.grid .g-start-xxl-2{grid-column-start:2}.grid .g-start-xxl-3{grid-column-start:3}.grid .g-start-xxl-4{grid-column-start:4}.grid .g-start-xxl-5{grid-column-start:5}.grid .g-start-xxl-6{grid-column-start:6}.grid .g-start-xxl-7{grid-column-start:7}.grid .g-start-xxl-8{grid-column-start:8}.grid .g-start-xxl-9{grid-column-start:9}.grid .g-start-xxl-10{grid-column-start:10}.grid .g-start-xxl-11{grid-column-start:11}}.col{flex:1 0 0%;-webkit-flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333%}.offset-2{margin-left:16.66667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333%}.offset-5{margin-left:41.66667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333%}.offset-8{margin-left:66.66667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333%}.offset-11{margin-left:91.66667%}.g-0,.gx-0{--bs-gutter-x: 0}.g-0,.gy-0{--bs-gutter-y: 0}.g-1,.gx-1{--bs-gutter-x: .25rem}.g-1,.gy-1{--bs-gutter-y: .25rem}.g-2,.gx-2{--bs-gutter-x: .5rem}.g-2,.gy-2{--bs-gutter-y: .5rem}.g-3,.gx-3{--bs-gutter-x: 1rem}.g-3,.gy-3{--bs-gutter-y: 1rem}.g-4,.gx-4{--bs-gutter-x: 1.5rem}.g-4,.gy-4{--bs-gutter-y: 1.5rem}.g-5,.gx-5{--bs-gutter-x: 3rem}.g-5,.gy-5{--bs-gutter-y: 3rem}@media (min-width: 576px){.col-sm{flex:1 0 0%;-webkit-flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-sm-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-sm-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-sm-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-sm-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-sm-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-sm-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-sm-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-sm-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-sm-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-sm-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333%}.offset-sm-2{margin-left:16.66667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333%}.offset-sm-5{margin-left:41.66667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333%}.offset-sm-8{margin-left:66.66667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333%}.offset-sm-11{margin-left:91.66667%}.g-sm-0,.gx-sm-0{--bs-gutter-x: 0}.g-sm-0,.gy-sm-0{--bs-gutter-y: 0}.g-sm-1,.gx-sm-1{--bs-gutter-x: .25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y: .25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x: .5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y: .5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x: 1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y: 1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x: 1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y: 1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x: 3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y: 3rem}}@media (min-width: 768px){.col-md{flex:1 0 0%;-webkit-flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-md-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-md-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-md-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-md-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-md-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-md-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-md-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-md-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-md-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-md-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333%}.offset-md-2{margin-left:16.66667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333%}.offset-md-5{margin-left:41.66667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333%}.offset-md-8{margin-left:66.66667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333%}.offset-md-11{margin-left:91.66667%}.g-md-0,.gx-md-0{--bs-gutter-x: 0}.g-md-0,.gy-md-0{--bs-gutter-y: 0}.g-md-1,.gx-md-1{--bs-gutter-x: .25rem}.g-md-1,.gy-md-1{--bs-gutter-y: .25rem}.g-md-2,.gx-md-2{--bs-gutter-x: .5rem}.g-md-2,.gy-md-2{--bs-gutter-y: .5rem}.g-md-3,.gx-md-3{--bs-gutter-x: 1rem}.g-md-3,.gy-md-3{--bs-gutter-y: 1rem}.g-md-4,.gx-md-4{--bs-gutter-x: 1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y: 1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x: 3rem}.g-md-5,.gy-md-5{--bs-gutter-y: 3rem}}@media (min-width: 992px){.col-lg{flex:1 0 0%;-webkit-flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-lg-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-lg-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-lg-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-lg-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-lg-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-lg-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-lg-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-lg-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-lg-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-lg-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333%}.offset-lg-2{margin-left:16.66667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333%}.offset-lg-5{margin-left:41.66667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333%}.offset-lg-8{margin-left:66.66667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333%}.offset-lg-11{margin-left:91.66667%}.g-lg-0,.gx-lg-0{--bs-gutter-x: 0}.g-lg-0,.gy-lg-0{--bs-gutter-y: 0}.g-lg-1,.gx-lg-1{--bs-gutter-x: .25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y: .25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x: .5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y: .5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x: 1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y: 1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x: 1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y: 1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x: 3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y: 3rem}}@media (min-width: 1200px){.col-xl{flex:1 0 0%;-webkit-flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-xl-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-xl-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-xl-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-xl-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-xl-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-xl-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-xl-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-xl-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-xl-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-xl-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333%}.offset-xl-2{margin-left:16.66667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333%}.offset-xl-5{margin-left:41.66667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333%}.offset-xl-8{margin-left:66.66667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333%}.offset-xl-11{margin-left:91.66667%}.g-xl-0,.gx-xl-0{--bs-gutter-x: 0}.g-xl-0,.gy-xl-0{--bs-gutter-y: 0}.g-xl-1,.gx-xl-1{--bs-gutter-x: .25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y: .25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x: .5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y: .5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x: 1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y: 1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x: 1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y: 1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x: 3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y: 3rem}}@media (min-width: 1400px){.col-xxl{flex:1 0 0%;-webkit-flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-xxl-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-xxl-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-xxl-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-xxl-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-xxl-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-xxl-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-xxl-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-xxl-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-xxl-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-xxl-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333%}.offset-xxl-2{margin-left:16.66667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333%}.offset-xxl-5{margin-left:41.66667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333%}.offset-xxl-8{margin-left:66.66667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333%}.offset-xxl-11{margin-left:91.66667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: .25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y: .25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x: .5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y: .5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 3rem}}.table{--bs-table-color-type: initial;--bs-table-bg-type: initial;--bs-table-color-state: initial;--bs-table-bg-state: initial;--bs-table-color: var(--bs-body-color);--bs-table-bg: var(--bs-body-bg);--bs-table-border-color: var(--bs-border-color);--bs-table-accent-bg: rgba(0,0,0,0);--bs-table-striped-color: var(--bs-body-color);--bs-table-striped-bg: rgba(0,123,194,0.06);--bs-table-active-color: var(--bs-body-color);--bs-table-active-bg: rgba(0,0,0,0.1);--bs-table-hover-color: var(--bs-body-color);--bs-table-hover-bg: rgba(0,123,194,0.1);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(even)>*{--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(even){--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-active{--bs-table-color-state: var(--bs-table-active-color);--bs-table-bg-state: var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state: var(--bs-table-hover-color);--bs-table-bg-state: var(--bs-table-hover-bg)}.table-primary{--bs-table-color: #000;--bs-table-bg: #cce5f3;--bs-table-border-color: #b8cedb;--bs-table-striped-bg: #c2dae7;--bs-table-striped-color: #000;--bs-table-active-bg: #b8cedb;--bs-table-active-color: #000;--bs-table-hover-bg: #bdd4e1;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color: #000;--bs-table-bg: #d9d9d9;--bs-table-border-color: #c3c3c3;--bs-table-striped-bg: #cecece;--bs-table-striped-color: #000;--bs-table-active-bg: #c3c3c3;--bs-table-active-color: #000;--bs-table-hover-bg: #c9c9c9;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color: #000;--bs-table-bg: #cce7d1;--bs-table-border-color: #b8d0bc;--bs-table-striped-bg: #c2dbc7;--bs-table-striped-color: #000;--bs-table-active-bg: #b8d0bc;--bs-table-active-color: #000;--bs-table-hover-bg: #bdd6c1;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color: #000;--bs-table-bg: #cdf4fa;--bs-table-border-color: #b9dce1;--bs-table-striped-bg: #c3e8ee;--bs-table-striped-color: #000;--bs-table-active-bg: #b9dce1;--bs-table-active-color: #000;--bs-table-hover-bg: #bee2e7;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color: #000;--bs-table-bg: #fef1d4;--bs-table-border-color: #e5d9bf;--bs-table-striped-bg: #f1e5c9;--bs-table-striped-color: #000;--bs-table-active-bg: #e5d9bf;--bs-table-active-color: #000;--bs-table-hover-bg: #ebdfc4;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color: #000;--bs-table-bg: #f3cccc;--bs-table-border-color: #dbb8b8;--bs-table-striped-bg: #e7c2c2;--bs-table-striped-color: #000;--bs-table-active-bg: #dbb8b8;--bs-table-active-color: #000;--bs-table-hover-bg: #e1bdbd;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color: #000;--bs-table-bg: #f8f8f8;--bs-table-border-color: #dfdfdf;--bs-table-striped-bg: #ececec;--bs-table-striped-color: #000;--bs-table-active-bg: #dfdfdf;--bs-table-active-color: #000;--bs-table-hover-bg: #e5e5e5;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color: #fff;--bs-table-bg: #202020;--bs-table-border-color: #363636;--bs-table-striped-bg: #2b2b2b;--bs-table-striped-color: #fff;--bs-table-active-bg: #363636;--bs-table-active-color: #fff;--bs-table-hover-bg: #313131;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label,.shiny-input-container .control-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text,.help-text,.help-block{margin-top:.25rem;font-size:.875em;color:#707782}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:.9375rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid #8D959E;border-radius:var(--bs-border-radius);transition:border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type="file"]{overflow:hidden}.form-control[type="file"]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#80bde1;outline:0;box-shadow:0 0 0 .25rem rgba(0,123,194,0.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0 !important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0 !important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343A46' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:.9375rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid #8D959E;border-radius:var(--bs-border-radius);transition:border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#80bde1;outline:0;box-shadow:0 0 0 .25rem rgba(0,123,194,0.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme="dark"] .form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check,.shiny-input-container .checkbox,.shiny-input-container .radio{display:block;min-height:1.5rem;padding-left:0;margin-bottom:.25rem}.form-check .form-check-input,.form-check .shiny-input-container .checkbox input,.form-check .shiny-input-container .radio input,.shiny-input-container .checkbox .form-check-input,.shiny-input-container .checkbox .shiny-input-container .checkbox input,.shiny-input-container .checkbox .shiny-input-container .radio input,.shiny-input-container .radio .form-check-input,.shiny-input-container .radio .shiny-input-container .checkbox input,.shiny-input-container .radio .shiny-input-container .radio input{float:left;margin-left:0}.form-check-reverse{padding-right:0;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:0;margin-left:0}.form-check-input,.shiny-input-container .checkbox input,.shiny-input-container .checkbox-inline input,.shiny-input-container .radio input,.shiny-input-container .radio-inline input{--bs-form-check-bg: var(--bs-body-bg);width:1.2em;height:1.2em;margin-top:.15em;vertical-align:top;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);print-color-adjust:exact}.form-check-input[type="checkbox"],.shiny-input-container .checkbox input[type="checkbox"],.shiny-input-container .checkbox-inline input[type="checkbox"],.shiny-input-container .radio input[type="checkbox"],.shiny-input-container .radio-inline input[type="checkbox"]{border-radius:2px}.form-check-input[type="radio"],.shiny-input-container .checkbox input[type="radio"],.shiny-input-container .checkbox-inline input[type="radio"],.shiny-input-container .radio input[type="radio"],.shiny-input-container .radio-inline input[type="radio"]{border-radius:50%}.form-check-input:active,.shiny-input-container .checkbox input:active,.shiny-input-container .checkbox-inline input:active,.shiny-input-container .radio input:active,.shiny-input-container .radio-inline input:active{filter:brightness(90%)}.form-check-input:focus,.shiny-input-container .checkbox input:focus,.shiny-input-container .checkbox-inline input:focus,.shiny-input-container .radio input:focus,.shiny-input-container .radio-inline input:focus{border-color:#80bde1;outline:0;box-shadow:0 0 0 .25rem rgba(0,123,194,0.25)}.form-check-input:checked,.shiny-input-container .checkbox input:checked,.shiny-input-container .checkbox-inline input:checked,.shiny-input-container .radio input:checked,.shiny-input-container .radio-inline input:checked{background-color:#007bc2;border-color:#007bc2}.form-check-input:checked[type="checkbox"],.shiny-input-container .checkbox input:checked[type="checkbox"],.shiny-input-container .checkbox-inline input:checked[type="checkbox"],.shiny-input-container .radio input:checked[type="checkbox"],.shiny-input-container .radio-inline input:checked[type="checkbox"]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type="radio"],.shiny-input-container .checkbox input:checked[type="radio"],.shiny-input-container .checkbox-inline input:checked[type="radio"],.shiny-input-container .radio input:checked[type="radio"],.shiny-input-container .radio-inline input:checked[type="radio"]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type="checkbox"]:indeterminate,.shiny-input-container .checkbox input[type="checkbox"]:indeterminate,.shiny-input-container .checkbox-inline input[type="checkbox"]:indeterminate,.shiny-input-container .radio input[type="checkbox"]:indeterminate,.shiny-input-container .radio-inline input[type="checkbox"]:indeterminate{background-color:#007bc2;border-color:#007bc2;--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled,.shiny-input-container .checkbox input:disabled,.shiny-input-container .checkbox-inline input:disabled,.shiny-input-container .radio input:disabled,.shiny-input-container .radio-inline input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input[disabled]~span,.form-check-input:disabled~.form-check-label,.form-check-input:disabled~span,.shiny-input-container .checkbox input[disabled]~.form-check-label,.shiny-input-container .checkbox input[disabled]~span,.shiny-input-container .checkbox input:disabled~.form-check-label,.shiny-input-container .checkbox input:disabled~span,.shiny-input-container .checkbox-inline input[disabled]~.form-check-label,.shiny-input-container .checkbox-inline input[disabled]~span,.shiny-input-container .checkbox-inline input:disabled~.form-check-label,.shiny-input-container .checkbox-inline input:disabled~span,.shiny-input-container .radio input[disabled]~.form-check-label,.shiny-input-container .radio input[disabled]~span,.shiny-input-container .radio input:disabled~.form-check-label,.shiny-input-container .radio input:disabled~span,.shiny-input-container .radio-inline input[disabled]~.form-check-label,.shiny-input-container .radio-inline input[disabled]~span,.shiny-input-container .radio-inline input:disabled~.form-check-label,.shiny-input-container .radio-inline input:disabled~span{cursor:default;opacity:.5}.form-check-label,.shiny-input-container .checkbox label,.shiny-input-container .checkbox-inline label,.shiny-input-container .radio label,.shiny-input-container .radio-inline label{cursor:pointer}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280,0,0,0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380bde1'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme="dark"] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255,255,255,0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(0,123,194,0.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(0,123,194,0.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;background-color:#007bc2;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b3d7ed}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-tertiary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;background-color:#007bc2;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#b3d7ed}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-tertiary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity 0.1s ease-in-out,transform 0.1s ease-in-out}@media (prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb), .65);transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control:focus~label::after,.form-floating>.form-control:not(:placeholder-shown)~label::after,.form-floating>.form-control-plaintext~label::after,.form-floating>.form-select~label::after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb), .65);transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>:disabled~label,.form-floating>.form-control:disabled~label{color:#707782}.form-floating>:disabled~label::after,.form-floating>.form-control:disabled~label::after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:stretch;-webkit-align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;padding:.375rem .75rem;font-size:.9375rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid #8D959E;border-radius:var(--bs-border-radius)}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n + 3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n + 4),.input-group.has-validation>.form-floating:nth-last-child(n + 3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n + 3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2300891a' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb), 0.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2300891a' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb), 0.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3rem + calc(1.5em + .75rem))}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:var(--bs-form-valid-color)}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb), 0.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23c10000'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23c10000' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb), 0.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23c10000'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23c10000' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb), 0.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3rem + calc(1.5em + .75rem))}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:var(--bs-form-invalid-color)}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb), 0.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--bs-btn-padding-x: 2em;--bs-btn-padding-y: .75em;--bs-btn-font-family: ;--bs-btn-font-size:.9375rem;--bs-btn-font-weight: 500;--bs-btn-line-height: 1.5;--bs-btn-color: var(--bs-body-color);--bs-btn-bg: transparent;--bs-btn-border-width: var(--bs-border-width);--bs-btn-border-color: transparent;--bs-btn-border-radius: var(--bs-border-radius);--bs-btn-hover-border-color: transparent;--bs-btn-box-shadow: inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075);--bs-btn-disabled-opacity: .65;--bs-btn-focus-box-shadow: 0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show,.btn.in{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn.in:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-default{--bs-btn-color: #000;--bs-btn-bg: #dee2e6;--bs-btn-border-color: #dee2e6;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #e3e6ea;--bs-btn-hover-border-color: #e1e5e9;--bs-btn-focus-shadow-rgb: 189,192,196;--bs-btn-active-color: #000;--bs-btn-active-bg: #e5e8eb;--bs-btn-active-border-color: #e1e5e9;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #dee2e6;--bs-btn-disabled-border-color: #dee2e6}.btn-primary{--bs-btn-color: #fff;--bs-btn-bg: #007bc2;--bs-btn-border-color: #007bc2;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0069a5;--bs-btn-hover-border-color: #00629b;--bs-btn-focus-shadow-rgb: 38,143,203;--bs-btn-active-color: #fff;--bs-btn-active-bg: #00629b;--bs-btn-active-border-color: #005c92;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #007bc2;--bs-btn-disabled-border-color: #007bc2}.btn-secondary{--bs-btn-color: #fff;--bs-btn-bg: #404040;--bs-btn-border-color: #404040;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #363636;--bs-btn-hover-border-color: #333;--bs-btn-focus-shadow-rgb: 93,93,93;--bs-btn-active-color: #fff;--bs-btn-active-bg: #333;--bs-btn-active-border-color: #303030;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #404040;--bs-btn-disabled-border-color: #404040}.btn-success{--bs-btn-color: #fff;--bs-btn-bg: #00891a;--bs-btn-border-color: #00891a;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #007416;--bs-btn-hover-border-color: #006e15;--bs-btn-focus-shadow-rgb: 38,155,60;--bs-btn-active-color: #fff;--bs-btn-active-bg: #006e15;--bs-btn-active-border-color: #006714;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #00891a;--bs-btn-disabled-border-color: #00891a}.btn-info{--bs-btn-color: #000;--bs-btn-bg: #03c7e8;--bs-btn-border-color: #03c7e8;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #29cfeb;--bs-btn-hover-border-color: #1ccdea;--bs-btn-focus-shadow-rgb: 3,169,197;--bs-btn-active-color: #000;--bs-btn-active-bg: #35d2ed;--bs-btn-active-border-color: #1ccdea;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #03c7e8;--bs-btn-disabled-border-color: #03c7e8}.btn-warning{--bs-btn-color: #000;--bs-btn-bg: #f9b928;--bs-btn-border-color: #f9b928;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #fac448;--bs-btn-hover-border-color: #fac03e;--bs-btn-focus-shadow-rgb: 212,157,34;--bs-btn-active-color: #000;--bs-btn-active-bg: #fac753;--bs-btn-active-border-color: #fac03e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #f9b928;--bs-btn-disabled-border-color: #f9b928}.btn-danger{--bs-btn-color: #fff;--bs-btn-bg: #c10000;--bs-btn-border-color: #c10000;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #a40000;--bs-btn-hover-border-color: #9a0000;--bs-btn-focus-shadow-rgb: 202,38,38;--bs-btn-active-color: #fff;--bs-btn-active-bg: #9a0000;--bs-btn-active-border-color: #910000;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #c10000;--bs-btn-disabled-border-color: #c10000}.btn-light{--bs-btn-color: #000;--bs-btn-bg: #f8f8f8;--bs-btn-border-color: #f8f8f8;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #d3d3d3;--bs-btn-hover-border-color: #c6c6c6;--bs-btn-focus-shadow-rgb: 211,211,211;--bs-btn-active-color: #000;--bs-btn-active-bg: #c6c6c6;--bs-btn-active-border-color: #bababa;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #f8f8f8;--bs-btn-disabled-border-color: #f8f8f8}.btn-dark{--bs-btn-color: #fff;--bs-btn-bg: #202020;--bs-btn-border-color: #202020;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #414141;--bs-btn-hover-border-color: #363636;--bs-btn-focus-shadow-rgb: 65,65,65;--bs-btn-active-color: #fff;--bs-btn-active-bg: #4d4d4d;--bs-btn-active-border-color: #363636;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #202020;--bs-btn-disabled-border-color: #202020}.btn-outline-default{--bs-btn-color: #dee2e6;--bs-btn-border-color: #dee2e6;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #dee2e6;--bs-btn-hover-border-color: #dee2e6;--bs-btn-focus-shadow-rgb: 222,226,230;--bs-btn-active-color: #000;--bs-btn-active-bg: #dee2e6;--bs-btn-active-border-color: #dee2e6;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #dee2e6;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #dee2e6;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-primary{--bs-btn-color: #007bc2;--bs-btn-border-color: #007bc2;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #007bc2;--bs-btn-hover-border-color: #007bc2;--bs-btn-focus-shadow-rgb: 0,123,194;--bs-btn-active-color: #fff;--bs-btn-active-bg: #007bc2;--bs-btn-active-border-color: #007bc2;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #007bc2;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #007bc2;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-secondary{--bs-btn-color: #404040;--bs-btn-border-color: #404040;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #404040;--bs-btn-hover-border-color: #404040;--bs-btn-focus-shadow-rgb: 64,64,64;--bs-btn-active-color: #fff;--bs-btn-active-bg: #404040;--bs-btn-active-border-color: #404040;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #404040;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #404040;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-success{--bs-btn-color: #00891a;--bs-btn-border-color: #00891a;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #00891a;--bs-btn-hover-border-color: #00891a;--bs-btn-focus-shadow-rgb: 0,137,26;--bs-btn-active-color: #fff;--bs-btn-active-bg: #00891a;--bs-btn-active-border-color: #00891a;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #00891a;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #00891a;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-info{--bs-btn-color: #03c7e8;--bs-btn-border-color: #03c7e8;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #03c7e8;--bs-btn-hover-border-color: #03c7e8;--bs-btn-focus-shadow-rgb: 3,199,232;--bs-btn-active-color: #000;--bs-btn-active-bg: #03c7e8;--bs-btn-active-border-color: #03c7e8;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #03c7e8;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #03c7e8;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-warning{--bs-btn-color: #f9b928;--bs-btn-border-color: #f9b928;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f9b928;--bs-btn-hover-border-color: #f9b928;--bs-btn-focus-shadow-rgb: 249,185,40;--bs-btn-active-color: #000;--bs-btn-active-bg: #f9b928;--bs-btn-active-border-color: #f9b928;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #f9b928;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #f9b928;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-danger{--bs-btn-color: #c10000;--bs-btn-border-color: #c10000;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #c10000;--bs-btn-hover-border-color: #c10000;--bs-btn-focus-shadow-rgb: 193,0,0;--bs-btn-active-color: #fff;--bs-btn-active-bg: #c10000;--bs-btn-active-border-color: #c10000;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #c10000;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #c10000;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-light{--bs-btn-color: #f8f8f8;--bs-btn-border-color: #f8f8f8;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f8f8f8;--bs-btn-hover-border-color: #f8f8f8;--bs-btn-focus-shadow-rgb: 248,248,248;--bs-btn-active-color: #000;--bs-btn-active-bg: #f8f8f8;--bs-btn-active-border-color: #f8f8f8;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #f8f8f8;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #f8f8f8;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-dark{--bs-btn-color: #202020;--bs-btn-border-color: #202020;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #202020;--bs-btn-hover-border-color: #202020;--bs-btn-focus-shadow-rgb: 32,32,32;--bs-btn-active-color: #fff;--bs-btn-active-bg: #202020;--bs-btn-active-border-color: #202020;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #202020;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #202020;--bs-btn-bg: transparent;--bs-gradient: none}.btn-link{--bs-btn-font-weight: 400;--bs-btn-color: var(--bs-link-color);--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-hover-border-color: transparent;--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #707782;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: 0 0 0 #000;--bs-btn-focus-shadow-rgb: 38,143,203;text-decoration:underline;-webkit-text-decoration:underline;-moz-text-decoration:underline;-ms-text-decoration:underline;-o-text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg,.btn-group-lg>.btn{--bs-btn-padding-y: .5rem;--bs-btn-padding-x: 1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius: var(--bs-border-radius-lg)}.btn-sm,.btn-group-sm>.btn{--bs-btn-padding-y: .25rem;--bs-btn-padding-x: .5rem;--bs-btn-font-size:.875rem;--bs-btn-border-radius: var(--bs-border-radius-sm)}.fade{transition:opacity 0.15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show):not(.in){opacity:0}.collapse:not(.show):not(.in){display:none}.collapsing{height:0;overflow:hidden;transition:height 0.35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width 0.35s ease}@media (prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart,.dropup-center,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: .5rem;--bs-dropdown-spacer: .125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color: var(--bs-body-color);--bs-dropdown-bg: var(--bs-body-bg);--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-border-radius: var(--bs-border-radius);--bs-dropdown-border-width: var(--bs-border-width);--bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y: .5rem;--bs-dropdown-box-shadow: 0px 1px 2px RGBA(var(--bslib-box-shadow-color-rgb), 0.1),0px 3px 7px RGBA(var(--bslib-box-shadow-color-rgb), 0.1),0px 12px 30px RGBA(var(--bslib-box-shadow-color-rgb), 0.08);--bs-dropdown-link-color: var(--bs-body-color);--bs-dropdown-link-hover-color: var(--bs-body-color);--bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #007bc2;--bs-dropdown-link-disabled-color: var(--bs-tertiary-color);--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: .25rem;--bs-dropdown-header-color: #707782;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: .5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider,.dropdown-menu>li.divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item,.dropdown-menu>li>a{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius, 0)}.dropdown-item:hover,.dropdown-menu>li>a:hover,.dropdown-item:focus,.dropdown-menu>li>a:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-menu>li>a.active,.dropdown-item:active,.dropdown-menu>li>a:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-menu>li>a.disabled,.dropdown-item:disabled,.dropdown-menu>li>a:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show,.dropdown-menu.in{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color: #dee2e6;--bs-dropdown-bg: #343A46;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dee2e6;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg: rgba(255,255,255,0.15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #007bc2;--bs-dropdown-link-disabled-color: #8D959E;--bs-dropdown-header-color: #8D959E}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;justify-content:flex-start;-webkit-justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n + 3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:1.5em;padding-left:1.5em}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;-webkit-flex-direction:column;align-items:flex-start;-webkit-align-items:flex-start;justify-content:center;-webkit-justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn~.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: var(--bs-secondary-color);display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link,.nav-tabs>li>a,.nav-pills>li>a,:where(ul.nav.navbar-nav > li)>a{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;background:none;border:0;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.nav-link,.nav-tabs>li>a,.nav-pills>li>a,:where(ul.nav.navbar-nav > li)>a{transition:none}}.nav-link:hover,.nav-tabs>li>a:hover,.nav-pills>li>a:hover,:where(ul.nav.navbar-nav > li)>a:hover,.nav-link:focus,.nav-tabs>li>a:focus,.nav-pills>li>a:focus,:where(ul.nav.navbar-nav > li)>a:focus{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible,.nav-tabs>li>a:focus-visible,.nav-pills>li>a:focus-visible,:where(ul.nav.navbar-nav > li)>a:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(0,123,194,0.25)}.nav-link.disabled,.nav-tabs>li>a.disabled,.nav-pills>li>a.disabled,:where(ul.nav.navbar-nav > li)>a.disabled,.nav-link:disabled,.nav-tabs>li>a:disabled,.nav-pills>li>a:disabled,:where(ul.nav.navbar-nav > li)>a:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width: var(--bs-border-width);--bs-nav-tabs-border-color: var(--bs-border-color);--bs-nav-tabs-border-radius: var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color: var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg: var(--bs-body-bg);--bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link,.nav-tabs>li>a,.nav-tabs .nav-pills>li>a,.nav-tabs :where(ul.nav.navbar-nav > li)>a{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:hover,.nav-tabs>li>a:hover,.nav-tabs .nav-pills>li>a:hover,.nav-tabs :where(ul.nav.navbar-nav > li)>a:hover,.nav-tabs .nav-link:focus,.nav-tabs>li>a:focus,.nav-tabs .nav-pills>li>a:focus,.nav-tabs :where(ul.nav.navbar-nav > li)>a:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.active,.nav-tabs>li>a.active,.nav-tabs .nav-pills>li>a.active,.nav-tabs :where(ul.nav.navbar-nav > li)>a.active,.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-item.in .nav-link,.nav-tabs .nav-item.show .nav-tabs>li>a,.nav-tabs .nav-item.in .nav-tabs>li>a,.nav-tabs .nav-item.show .nav-pills>li>a,.nav-tabs .nav-item.in .nav-pills>li>a,.nav-tabs>li.show .nav-link,.nav-tabs>li.in .nav-link,.nav-tabs>li.show .nav-tabs>li>a,.nav-tabs>li.in .nav-tabs>li>a,.nav-tabs>li.show .nav-pills>li>a,.nav-tabs>li.in .nav-pills>li>a,.nav-tabs .nav-pills>li.show .nav-link,.nav-tabs .nav-pills>li.in .nav-link,.nav-tabs .nav-pills>li.show .nav-tabs>li>a,.nav-tabs .nav-pills>li.in .nav-tabs>li>a,.nav-tabs .nav-pills>li.show .nav-pills>li>a,.nav-tabs .nav-pills>li.in .nav-pills>li>a,.nav-tabs .nav-item.show :where(ul.nav.navbar-nav > li)>a,.nav-tabs .nav-item.in :where(ul.nav.navbar-nav > li)>a,.nav-tabs>li.show :where(ul.nav.navbar-nav > li)>a,.nav-tabs>li.in :where(ul.nav.navbar-nav > li)>a,.nav-tabs .nav-pills>li.show :where(ul.nav.navbar-nav > li)>a,.nav-tabs .nav-pills>li.in :where(ul.nav.navbar-nav > li)>a,.nav-tabs .show:where(ul.nav.navbar-nav > li):not(.dropdown) .nav-link,.nav-tabs .in:where(ul.nav.navbar-nav > li):not(.dropdown) .nav-link,.nav-tabs .show:where(ul.nav.navbar-nav > li):not(.dropdown) .nav-tabs>li>a,.nav-tabs .in:where(ul.nav.navbar-nav > li):not(.dropdown) .nav-tabs>li>a,.nav-tabs .show:where(ul.nav.navbar-nav > li):not(.dropdown) .nav-pills>li>a,.nav-tabs .in:where(ul.nav.navbar-nav > li):not(.dropdown) .nav-pills>li>a,.nav-tabs .show:where(ul.nav.navbar-nav > li):not(.dropdown) :where(ul.nav.navbar-nav > li)>a,.nav-tabs .in:where(ul.nav.navbar-nav > li):not(.dropdown) :where(ul.nav.navbar-nav > li)>a{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius: var(--bs-border-radius);--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #007bc2}.nav-pills .nav-link,.nav-pills .nav-tabs>li>a,.nav-pills>li>a,.nav-pills :where(ul.nav.navbar-nav > li)>a{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .nav-tabs>li>a.active,.nav-pills>li>a.active,.nav-pills :where(ul.nav.navbar-nav > li)>a.active,.nav-pills .show>.nav-link,.nav-pills .in>.nav-link,.nav-pills .nav-tabs>li.show>a,.nav-pills .nav-tabs>li.in>a,.nav-pills>li.show>a,.nav-pills>li.in>a,.nav-pills .show:where(ul.nav.navbar-nav > li)>a,.nav-pills .in:where(ul.nav.navbar-nav > li)>a{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: .125rem;--bs-nav-underline-link-active-color: var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link,.nav-underline .nav-tabs>li>a,.nav-underline .nav-pills>li>a,.nav-underline :where(ul.nav.navbar-nav > li)>a{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:hover,.nav-underline .nav-tabs>li>a:hover,.nav-underline .nav-pills>li>a:hover,.nav-underline :where(ul.nav.navbar-nav > li)>a:hover,.nav-underline .nav-link:focus,.nav-underline .nav-tabs>li>a:focus,.nav-underline .nav-pills>li>a:focus,.nav-underline :where(ul.nav.navbar-nav > li)>a:focus{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .nav-tabs>li>a.active,.nav-underline .nav-pills>li>a.active,.nav-underline :where(ul.nav.navbar-nav > li)>a.active,.nav-underline .show>.nav-link,.nav-underline .in>.nav-link,.nav-underline .nav-tabs>li.show>a,.nav-underline .nav-tabs>li.in>a,.nav-underline .nav-pills>li.show>a,.nav-underline .nav-pills>li.in>a,.nav-underline .show:where(ul.nav.navbar-nav > li)>a,.nav-underline .in:where(ul.nav.navbar-nav > li)>a{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill>.nav-link,.nav-tabs>li.nav-fill>a,.nav-pills>li.nav-fill>a,.nav-fill:where(ul.nav.navbar-nav > li)>a,.nav-fill .nav-item,.nav-fill .nav-tabs>li,.nav-fill .nav-pills>li,.nav-fill :where(ul.nav.navbar-nav > li):not(.dropdown){flex:1 1 auto;-webkit-flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-tabs>li.nav-justified>a,.nav-pills>li.nav-justified>a,.nav-justified:where(ul.nav.navbar-nav > li)>a,.nav-justified .nav-item,.nav-justified .nav-tabs>li,.nav-justified .nav-pills>li,.nav-justified :where(ul.nav.navbar-nav > li):not(.dropdown){flex-basis:0;-webkit-flex-basis:0;flex-grow:1;-webkit-flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-fill .nav-tabs>li .nav-link,.nav-fill .nav-tabs>li>a,.nav-fill .nav-pills>li .nav-link,.nav-fill .nav-pills>li>a,.nav-fill .nav-item :where(ul.nav.navbar-nav > li)>a,.nav-fill .nav-tabs>li :where(ul.nav.navbar-nav > li)>a,.nav-fill .nav-pills>li :where(ul.nav.navbar-nav > li)>a,.nav-fill :where(ul.nav.navbar-nav > li):not(.dropdown) .nav-link,.nav-fill :where(ul.nav.navbar-nav > li):not(.dropdown) :where(ul.nav.navbar-nav > li)>a,.nav-justified .nav-item .nav-link,.nav-justified .nav-tabs>li .nav-link,.nav-justified .nav-tabs>li>a,.nav-justified .nav-pills>li .nav-link,.nav-justified .nav-pills>li>a,.nav-justified .nav-item :where(ul.nav.navbar-nav > li)>a,.nav-justified .nav-tabs>li :where(ul.nav.navbar-nav > li)>a,.nav-justified .nav-pills>li :where(ul.nav.navbar-nav > li)>a,.nav-justified :where(ul.nav.navbar-nav > li):not(.dropdown) .nav-link,.nav-justified :where(ul.nav.navbar-nav > li):not(.dropdown) :where(ul.nav.navbar-nav > li)>a{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x: .66rem;--bs-navbar-padding-y: .5rem;--bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), 0.65);--bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), 0.8);--bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3);--bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y: .3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x: .5rem;--bs-navbar-toggler-padding-y: .25rem;--bs-navbar-toggler-padding-x: .75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2829,31,33,0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius: var(--bs-border-radius);--bs-navbar-toggler-focus-width: .25rem;--bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;position:relative;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;display:-webkit-flex;flex-wrap:inherit;-webkit-flex-wrap:inherit;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-tabs>li>a.active,.navbar-nav .nav-pills>li>a.active,.navbar-nav :where(ul.nav.navbar-nav > li)>a.active,.navbar-nav .nav-link.show,.navbar-nav .nav-link.in,.navbar-nav .nav-tabs>li>a.show,.navbar-nav .nav-tabs>li>a.in,.navbar-nav .nav-pills>li>a.show,.navbar-nav .nav-pills>li>a.in,.navbar-nav :where(ul.nav.navbar-nav > li)>a.show,.navbar-nav :where(ul.nav.navbar-nav > li)>a.in{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;-webkit-flex-basis:100%;flex-grow:1;-webkit-flex-grow:1;align-items:center;-webkit-align-items:center}.navbar-toggler,.navbar-toggle{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion: reduce){.navbar-toggler,.navbar-toggle{transition:none}}.navbar-toggler:hover,.navbar-toggle:hover{text-decoration:none}.navbar-toggler:focus,.navbar-toggle:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon,.navbar-toggle>.icon-bar:last-child{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media (min-width: 576px){.navbar-expand-sm{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link,.navbar-expand-sm .navbar-nav .nav-tabs>li>a,.navbar-expand-sm .navbar-nav .nav-pills>li>a,.navbar-expand-sm .navbar-nav :where(ul.nav.navbar-nav > li)>a{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-sm .navbar-toggler,.navbar-expand-sm .navbar-toggle{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 768px){.navbar-expand-md{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link,.navbar-expand-md .navbar-nav .nav-tabs>li>a,.navbar-expand-md .navbar-nav .nav-pills>li>a,.navbar-expand-md .navbar-nav :where(ul.nav.navbar-nav > li)>a{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-md .navbar-toggler,.navbar-expand-md .navbar-toggle{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 992px){.navbar-expand-lg,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl){flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-lg .navbar-nav,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link,.navbar-expand-lg .navbar-nav .nav-tabs>li>a,.navbar-expand-lg .navbar-nav .nav-pills>li>a,.navbar-expand-lg .navbar-nav :where(ul.nav.navbar-nav > li)>a,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav .nav-link,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav .nav-tabs>li>a,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav .nav-pills>li>a,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav :where(ul.nav.navbar-nav > li)>a{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-lg .navbar-toggler,.navbar-expand-lg .navbar-toggle,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-toggler,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-toggle{display:none}.navbar-expand-lg .offcanvas,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1200px){.navbar-expand-xl{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link,.navbar-expand-xl .navbar-nav .nav-tabs>li>a,.navbar-expand-xl .navbar-nav .nav-pills>li>a,.navbar-expand-xl .navbar-nav :where(ul.nav.navbar-nav > li)>a{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-xl .navbar-toggler,.navbar-expand-xl .navbar-toggle{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link,.navbar-expand-xxl .navbar-nav .nav-tabs>li>a,.navbar-expand-xxl .navbar-nav .nav-pills>li>a,.navbar-expand-xxl .navbar-nav :where(ul.nav.navbar-nav > li)>a{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-xxl .navbar-toggler,.navbar-expand-xxl .navbar-toggle{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link,.navbar-expand .navbar-nav .nav-tabs>li>a,.navbar-expand .navbar-nav .nav-pills>li>a,.navbar-expand .navbar-nav :where(ul.nav.navbar-nav > li)>a{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand .navbar-toggler,.navbar-expand .navbar-toggle{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar.navbar-inverse,.navbar[data-bs-theme="dark"]{--bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), 0.55);--bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), 0.75);--bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.25);--bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.1);--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme="dark"] .navbar-toggler-icon,[data-bs-theme="dark"] .navbar-toggle>.icon-bar:last-child{--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card,.well{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: .5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width: var(--bs-border-width);--bs-card-border-color: var(--bs-border-color-translucent);--bs-card-border-radius: 8px;--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(8px - (var(--bs-border-width)));--bs-card-cap-padding-y: .5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: var(--bs-body-bg);--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: .75rem;position:relative;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr,.well>hr{margin-right:0;margin-left:0}.card>.list-group,.well>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child,.well>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child,.well>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.well>.card-header+.list-group,.card>.list-group+.card-footer,.well>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;-webkit-flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active,.card-header-tabs .nav-tabs>li>a.active,.card-header-tabs .nav-pills>li>a.active,.card-header-tabs :where(ul.nav.navbar-nav > li)>a.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card,.card-group>.well{margin-bottom:var(--bs-card-group-margin)}@media (min-width: 576px){.card-group{display:flex;display:-webkit-flex;flex-flow:row wrap;-webkit-flex-flow:row wrap}.card-group>.card,.card-group>.well{flex:1 0 0%;-webkit-flex:1 0 0%;margin-bottom:0}.card-group>.card+.card,.card-group>.well+.card,.card-group>.card+.well,.card-group>.well+.well{margin-left:0;border-left:0}.card-group>.card:not(:last-child),.card-group>.well:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.well:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header,.card-group>.well:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.well:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer,.card-group>.well:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child),.card-group>.well:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.well:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header,.card-group>.well:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.well:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer,.card-group>.well:not(:first-child) .card-footer{border-bottom-left-radius:0}}.accordion{--bs-accordion-color: var(--bs-body-color);--bs-accordion-bg: var(--bs-body-bg);--bs-accordion-transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--bs-accordion-border-color: var(--bs-border-color);--bs-accordion-border-width: var(--bs-border-width);--bs-accordion-border-radius: var(--bs-border-radius);--bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: var(--bs-body-color);--bs-accordion-btn-bg: var(--bs-accordion-bg);--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%231D1F21'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2300314e'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-focus-border-color: #80bde1;--bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(0,123,194,0.25);--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: ;--bs-accordion-active-bg: }.accordion-button{position:relative;display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;-webkit-flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion: reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--bs-accordion-btn-focus-border-color);outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}[data-bs-theme="dark"] .accordion-button::after{--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2366b0da'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2366b0da'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x: 0;--bs-breadcrumb-padding-y: 0;--bs-breadcrumb-margin-bottom: 1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color: var(--bs-secondary-color);--bs-breadcrumb-item-padding-x: .5rem;--bs-breadcrumb-item-active-color: var(--bs-secondary-color);display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x: .75rem;--bs-pagination-padding-y: .375rem;--bs-pagination-font-size:1rem;--bs-pagination-color: var(--bs-link-color);--bs-pagination-bg: var(--bs-body-bg);--bs-pagination-border-width: var(--bs-border-width);--bs-pagination-border-color: var(--bs-border-color);--bs-pagination-border-radius: var(--bs-border-radius);--bs-pagination-hover-color: var(--bs-link-hover-color);--bs-pagination-hover-bg: var(--bs-tertiary-bg);--bs-pagination-hover-border-color: var(--bs-border-color);--bs-pagination-focus-color: var(--bs-link-hover-color);--bs-pagination-focus-bg: var(--bs-secondary-bg);--bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(0,123,194,0.25);--bs-pagination-active-color: #fff;--bs-pagination-active-bg: #007bc2;--bs-pagination-active-border-color: #007bc2;--bs-pagination-disabled-color: var(--bs-secondary-color);--bs-pagination-disabled-bg: var(--bs-secondary-bg);--bs-pagination-disabled-border-color: var(--bs-border-color);display:flex;display:-webkit-flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.page-link.active,.active>.page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(var(--bs-border-width) * -1)}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x: 1.5rem;--bs-pagination-padding-y: .75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius: var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x: .5rem;--bs-pagination-padding-y: .25rem;--bs-pagination-font-size:.875rem;--bs-pagination-border-radius: var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x: .65em;--bs-badge-padding-y: .35em;--bs-badge-font-size:.75em;--bs-badge-font-weight: 700;--bs-badge-color: #fff;--bs-badge-border-radius: var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg: transparent;--bs-alert-padding-x: 1rem;--bs-alert-padding-y: 1rem;--bs-alert-margin-bottom: 1rem;--bs-alert-color: inherit;--bs-alert-border-color: transparent;--bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius: var(--bs-border-radius);--bs-alert-link-color: inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-default{--bs-alert-color: var(--bs-default-text-emphasis);--bs-alert-bg: var(--bs-default-bg-subtle);--bs-alert-border-color: var(--bs-default-border-subtle);--bs-alert-link-color: var(--bs-default-text-emphasis)}.alert-primary{--bs-alert-color: var(--bs-primary-text-emphasis);--bs-alert-bg: var(--bs-primary-bg-subtle);--bs-alert-border-color: var(--bs-primary-border-subtle);--bs-alert-link-color: var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color: var(--bs-secondary-text-emphasis);--bs-alert-bg: var(--bs-secondary-bg-subtle);--bs-alert-border-color: var(--bs-secondary-border-subtle);--bs-alert-link-color: var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color: var(--bs-success-text-emphasis);--bs-alert-bg: var(--bs-success-bg-subtle);--bs-alert-border-color: var(--bs-success-border-subtle);--bs-alert-link-color: var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color: var(--bs-info-text-emphasis);--bs-alert-bg: var(--bs-info-bg-subtle);--bs-alert-border-color: var(--bs-info-border-subtle);--bs-alert-link-color: var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color: var(--bs-warning-text-emphasis);--bs-alert-bg: var(--bs-warning-bg-subtle);--bs-alert-border-color: var(--bs-warning-border-subtle);--bs-alert-link-color: var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color: var(--bs-danger-text-emphasis);--bs-alert-bg: var(--bs-danger-bg-subtle);--bs-alert-border-color: var(--bs-danger-border-subtle);--bs-alert-link-color: var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color: var(--bs-light-text-emphasis);--bs-alert-bg: var(--bs-light-bg-subtle);--bs-alert-border-color: var(--bs-light-border-subtle);--bs-alert-link-color: var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color: var(--bs-dark-text-emphasis);--bs-alert-bg: var(--bs-dark-bg-subtle);--bs-alert-border-color: var(--bs-dark-border-subtle);--bs-alert-link-color: var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height: 1rem;--bs-progress-font-size:.75rem;--bs-progress-bg: var(--bs-secondary-bg);--bs-progress-border-radius: var(--bs-border-radius);--bs-progress-box-shadow: var(--bs-box-shadow-inset);--bs-progress-bar-color: #fff;--bs-progress-bar-bg: #007bc2;--bs-progress-bar-transition: width 0.6s ease;display:flex;display:-webkit-flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;justify-content:center;-webkit-justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color: var(--bs-body-color);--bs-list-group-bg: var(--bs-body-bg);--bs-list-group-border-color: var(--bs-border-color);--bs-list-group-border-width: var(--bs-border-width);--bs-list-group-border-radius: var(--bs-border-radius);--bs-list-group-item-padding-x: 1rem;--bs-list-group-item-padding-y: .5rem;--bs-list-group-action-color: var(--bs-secondary-color);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-tertiary-bg);--bs-list-group-action-active-color: var(--bs-body-color);--bs-list-group-action-active-bg: var(--bs-secondary-bg);--bs-list-group-disabled-color: var(--bs-secondary-color);--bs-list-group-disabled-bg: var(--bs-body-bg);--bs-list-group-active-color: #fff;--bs-list-group-active-bg: #007bc2;--bs-list-group-active-border-color: #007bc2;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width: 576px){.list-group-horizontal-sm{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 768px){.list-group-horizontal-md{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 992px){.list-group-horizontal-lg{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1200px){.list-group-horizontal-xl{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-default{--bs-list-group-color: var(--bs-default-text-emphasis);--bs-list-group-bg: var(--bs-default-bg-subtle);--bs-list-group-border-color: var(--bs-default-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-default-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-default-border-subtle);--bs-list-group-active-color: var(--bs-default-bg-subtle);--bs-list-group-active-bg: var(--bs-default-text-emphasis);--bs-list-group-active-border-color: var(--bs-default-text-emphasis)}.list-group-item-primary{--bs-list-group-color: var(--bs-primary-text-emphasis);--bs-list-group-bg: var(--bs-primary-bg-subtle);--bs-list-group-border-color: var(--bs-primary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-primary-border-subtle);--bs-list-group-active-color: var(--bs-primary-bg-subtle);--bs-list-group-active-bg: var(--bs-primary-text-emphasis);--bs-list-group-active-border-color: var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color: var(--bs-secondary-text-emphasis);--bs-list-group-bg: var(--bs-secondary-bg-subtle);--bs-list-group-border-color: var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);--bs-list-group-active-color: var(--bs-secondary-bg-subtle);--bs-list-group-active-bg: var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color: var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color: var(--bs-success-text-emphasis);--bs-list-group-bg: var(--bs-success-bg-subtle);--bs-list-group-border-color: var(--bs-success-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-success-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-success-border-subtle);--bs-list-group-active-color: var(--bs-success-bg-subtle);--bs-list-group-active-bg: var(--bs-success-text-emphasis);--bs-list-group-active-border-color: var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color: var(--bs-info-text-emphasis);--bs-list-group-bg: var(--bs-info-bg-subtle);--bs-list-group-border-color: var(--bs-info-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-info-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-info-border-subtle);--bs-list-group-active-color: var(--bs-info-bg-subtle);--bs-list-group-active-bg: var(--bs-info-text-emphasis);--bs-list-group-active-border-color: var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color: var(--bs-warning-text-emphasis);--bs-list-group-bg: var(--bs-warning-bg-subtle);--bs-list-group-border-color: var(--bs-warning-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-warning-border-subtle);--bs-list-group-active-color: var(--bs-warning-bg-subtle);--bs-list-group-active-bg: var(--bs-warning-text-emphasis);--bs-list-group-active-border-color: var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color: var(--bs-danger-text-emphasis);--bs-list-group-bg: var(--bs-danger-bg-subtle);--bs-list-group-border-color: var(--bs-danger-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-danger-border-subtle);--bs-list-group-active-color: var(--bs-danger-bg-subtle);--bs-list-group-active-bg: var(--bs-danger-text-emphasis);--bs-list-group-active-border-color: var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color: var(--bs-light-text-emphasis);--bs-list-group-bg: var(--bs-light-bg-subtle);--bs-list-group-border-color: var(--bs-light-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-light-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-light-border-subtle);--bs-list-group-active-color: var(--bs-light-bg-subtle);--bs-list-group-active-bg: var(--bs-light-text-emphasis);--bs-list-group-active-border-color: var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color: var(--bs-dark-text-emphasis);--bs-list-group-bg: var(--bs-dark-bg-subtle);--bs-list-group-border-color: var(--bs-dark-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-dark-border-subtle);--bs-list-group-active-color: var(--bs-dark-bg-subtle);--bs-list-group-active-bg: var(--bs-dark-text-emphasis);--bs-list-group-active-border-color: var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color: #000;--bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity: .5;--bs-btn-close-hover-opacity: .75;--bs-btn-close-focus-shadow: 0 0 0 .25rem rgba(0,123,194,0.25);--bs-btn-close-focus-opacity: 1;--bs-btn-close-disabled-opacity: .25;--bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:3px;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close:disabled,.btn-close.disabled{pointer-events:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{filter:var(--bs-btn-close-white-filter)}[data-bs-theme="dark"] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: .75rem;--bs-toast-padding-y: .5rem;--bs-toast-spacing: 1.5rem;--bs-toast-max-width: 350px;--bs-toast-font-size:.875rem;--bs-toast-color: ;--bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-border-width: var(--bs-border-width);--bs-toast-border-color: var(--bs-border-color-translucent);--bs-toast-border-radius: var(--bs-border-radius);--bs-toast-box-shadow: var(--bs-box-shadow);--bs-toast-header-color: var(--bs-secondary-color);--bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-header-border-color: var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show):not(.in){display:none}.toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:max-content;width:-webkit-max-content;width:-moz-max-content;width:-ms-max-content;width:-o-max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: .5rem;--bs-modal-color: ;--bs-modal-bg: var(--bs-body-bg);--bs-modal-border-color: var(--bs-border-color-translucent);--bs-modal-border-width: var(--bs-border-width);--bs-modal-border-radius: var(--bs-border-radius-lg);--bs-modal-box-shadow: 0px 1px 2px RGBA(var(--bslib-box-shadow-color-rgb), 0.1),0px 2px 3px RGBA(var(--bslib-box-shadow-color-rgb), 0.1),0px 3px 8px RGBA(var(--bslib-box-shadow-color-rgb), 0.1);--bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1.5rem;--bs-modal-header-border-color: var(--bs-border-color);--bs-modal-header-border-width: none;--bs-modal-title-line-height: 1.5;--bs-modal-footer-gap: .5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: var(--bs-border-color);--bs-modal-footer-border-width: none;position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform 0.3s ease-out;transform:translate(0, -50px)}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog,.modal.in .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #464646;--bs-backdrop-opacity: .5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show,.modal-backdrop.in{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;display:-webkit-flex;flex-shrink:0;-webkit-flex-shrink:0;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;display:-webkit-flex;flex-shrink:0;-webkit-flex-shrink:0;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:center;-webkit-align-items:center;justify-content:flex-end;-webkit-justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width: 576px){.modal{--bs-modal-margin: 10%;--bs-modal-box-shadow: 0px 1px 2px RGBA(var(--bslib-box-shadow-color-rgb), 0.1),0px 3px 7px RGBA(var(--bslib-box-shadow-color-rgb), 0.1),0px 12px 30px RGBA(var(--bslib-box-shadow-color-rgb), 0.08)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width: 300px}}@media (min-width: 992px){.modal-lg,.modal-xl{--bs-modal-width: 800px}}@media (min-width: 1200px){.modal-xl{--bs-modal-width: 1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header,.modal-fullscreen .modal-footer{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header,.modal-fullscreen-sm-down .modal-footer{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header,.modal-fullscreen-md-down .modal-footer{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header,.modal-fullscreen-lg-down .modal-footer{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header,.modal-fullscreen-xl-down .modal-footer{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header,.modal-fullscreen-xxl-down .modal-footer{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex: 1080;--bs-tooltip-max-width: 200px;--bs-tooltip-padding-x: .5rem;--bs-tooltip-padding-y: .25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:.875rem;--bs-tooltip-color: var(--bs-body-bg);--bs-tooltip-bg: var(--bs-emphasis-color);--bs-tooltip-border-radius: var(--bs-border-radius);--bs-tooltip-opacity: .9;--bs-tooltip-arrow-width: .8rem;--bs-tooltip-arrow-height: .4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:"Open Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show,.tooltip.in{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-top .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-bottom .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex: 1070;--bs-popover-max-width: 276px;--bs-popover-font-size:.875rem;--bs-popover-bg: var(--bs-body-bg);--bs-popover-border-width: var(--bs-border-width);--bs-popover-border-color: var(--bs-border-color-translucent);--bs-popover-border-radius: var(--bs-border-radius-lg);--bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow: 0px 1px 2px RGBA(var(--bslib-box-shadow-color-rgb), 0.1),0px 3px 7px RGBA(var(--bslib-box-shadow-color-rgb), 0.1),0px 12px 30px RGBA(var(--bslib-box-shadow-color-rgb), 0.08);--bs-popover-header-padding-x: 1rem;--bs-popover-header-padding-y: .5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color: inherit;--bs-popover-header-bg: var(--bs-secondary-bg);--bs-popover-body-padding-x: 1rem;--bs-popover-body-padding-y: 1rem;--bs-popover-body-color: var(--bs-body-color);--bs-popover-arrow-width: 1rem;--bs-popover-arrow-height: .5rem;--bs-popover-arrow-border: var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:"Open Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::before,.popover .popover-arrow::after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::after{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::after{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header::before,.bs-popover-auto[data-popper-placement^="bottom"] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::after{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y;-webkit-touch-action:pan-y;-moz-touch-action:pan-y;-ms-touch-action:pan-y;-o-touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-o-backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:center;-webkit-justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity 0.15s ease}@media (prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;display:-webkit-flex;justify-content:center;-webkit-justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;-webkit-flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity 0.6s ease}@media (prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme="dark"] .carousel .carousel-control-prev-icon,[data-bs-theme="dark"] .carousel .carousel-control-next-icon,[data-bs-theme="dark"].carousel .carousel-control-prev-icon,[data-bs-theme="dark"].carousel .carousel-control-next-icon{filter:invert(1) grayscale(100)}[data-bs-theme="dark"] .carousel .carousel-indicators [data-bs-target],[data-bs-theme="dark"].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme="dark"] .carousel .carousel-caption,[data-bs-theme="dark"].carousel .carousel-caption{color:#000}.spinner-grow,.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg) /* rtl:ignore */}}.spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-border-width: .25em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: .2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed: 1.5s}}.offcanvas,.offcanvas-xxl,.offcanvas-xl,.offcanvas-lg,.offcanvas-md,.offcanvas-sm{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: var(--bs-body-color);--bs-offcanvas-bg: var(--bs-body-bg);--bs-offcanvas-border-width: var(--bs-border-width);--bs-offcanvas-border-color: var(--bs-border-color-translucent);--bs-offcanvas-box-shadow: 0px 1px 2px RGBA(var(--bslib-box-shadow-color-rgb), 0.1),0px 2px 3px RGBA(var(--bslib-box-shadow-color-rgb), 0.1),0px 3px 8px RGBA(var(--bslib-box-shadow-color-rgb), 0.1);--bs-offcanvas-transition: transform .3s ease-in-out;--bs-offcanvas-title-line-height: 1.5}@media (max-width: 575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 575.98px) and (prefers-reduced-motion: reduce){.offcanvas-sm{transition:none}}@media (max-width: 575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.showing,.offcanvas-sm.show:not(.hiding),.offcanvas-sm.in:not(.hiding){transform:none}.offcanvas-sm.showing,.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.in{visibility:visible}}@media (min-width: 576px){.offcanvas-sm{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}@media (max-width: 767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 767.98px) and (prefers-reduced-motion: reduce){.offcanvas-md{transition:none}}@media (max-width: 767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.showing,.offcanvas-md.show:not(.hiding),.offcanvas-md.in:not(.hiding){transform:none}.offcanvas-md.showing,.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.in{visibility:visible}}@media (min-width: 768px){.offcanvas-md{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}@media (max-width: 991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 991.98px) and (prefers-reduced-motion: reduce){.offcanvas-lg{transition:none}}@media (max-width: 991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.showing,.offcanvas-lg.show:not(.hiding),.offcanvas-lg.in:not(.hiding){transform:none}.offcanvas-lg.showing,.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.in{visibility:visible}}@media (min-width: 992px){.offcanvas-lg{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}@media (max-width: 1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce){.offcanvas-xl{transition:none}}@media (max-width: 1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.showing,.offcanvas-xl.show:not(.hiding),.offcanvas-xl.in:not(.hiding){transform:none}.offcanvas-xl.showing,.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.in{visibility:visible}}@media (min-width: 1200px){.offcanvas-xl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}@media (max-width: 1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce){.offcanvas-xxl{transition:none}}@media (max-width: 1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.showing,.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.in:not(.hiding){transform:none}.offcanvas-xxl.showing,.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.in{visibility:visible}}@media (min-width: 1400px){.offcanvas-xxl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding),.offcanvas.in:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show,.offcanvas.in{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#464646}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show,.offcanvas-backdrop.in{opacity:.5}.offcanvas-header{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;-webkit-flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{mask-image:linear-gradient(130deg, #000 55%, rgba(0,0,0,0.8) 75%, #000 95%);-webkit-mask-image:linear-gradient(130deg, #000 55%, rgba(0,0,0,0.8) 75%, #000 95%);mask-size:200% 100%;-webkit-mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{mask-position:-200% 0%;-webkit-mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-default{color:#000 !important;background-color:RGBA(var(--bs-default-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-primary{color:#fff !important;background-color:RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-secondary{color:#fff !important;background-color:RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-success{color:#fff !important;background-color:RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-info{color:#000 !important;background-color:RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-warning{color:#000 !important;background-color:RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-danger{color:#fff !important;background-color:RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-light{color:#000 !important;background-color:RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-dark{color:#fff !important;background-color:RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important}.link-default{color:RGBA(var(--bs-default-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-default-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-default:hover,.link-default:focus{color:RGBA(229,232,235, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(229,232,235, var(--bs-link-underline-opacity, 1)) !important}.link-primary{color:RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-primary:hover,.link-primary:focus{color:RGBA(0,98,155, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(0,98,155, var(--bs-link-underline-opacity, 1)) !important}.link-secondary{color:RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-secondary:hover,.link-secondary:focus{color:RGBA(51,51,51, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(51,51,51, var(--bs-link-underline-opacity, 1)) !important}.link-success{color:RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-success:hover,.link-success:focus{color:RGBA(0,110,21, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(0,110,21, var(--bs-link-underline-opacity, 1)) !important}.link-info{color:RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-info:hover,.link-info:focus{color:RGBA(53,210,237, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(53,210,237, var(--bs-link-underline-opacity, 1)) !important}.link-warning{color:RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-warning:hover,.link-warning:focus{color:RGBA(250,199,83, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(250,199,83, var(--bs-link-underline-opacity, 1)) !important}.link-danger{color:RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-danger:hover,.link-danger:focus{color:RGBA(154,0,0, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(154,0,0, var(--bs-link-underline-opacity, 1)) !important}.link-light{color:RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-light:hover,.link-light:focus{color:RGBA(249,249,249, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(249,249,249, var(--bs-link-underline-opacity, 1)) !important}.link-dark{color:RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-dark:hover,.link-dark:focus{color:RGBA(26,26,26, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(26,26,26, var(--bs-link-underline-opacity, 1)) !important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-body-emphasis:hover,.link-body-emphasis:focus{color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));text-underline-offset:.25em;backface-visibility:hidden;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-o-backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;-webkit-flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:0.2s ease-in-out transform}@media (prefers-reduced-motion: reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi,.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform, translate3d(0.25em, 0, 0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: calc(3 / 4 * 100%)}.ratio-16x9{--bs-aspect-ratio: calc(9 / 16 * 100%)}.ratio-21x9{--bs-aspect-ratio: calc(9 / 21 * 100%)}.fixed-top,.navbar-fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom,.navbar-fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top,.navbar-sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media (min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;display:-webkit-flex;flex-direction:row;-webkit-flex-direction:row;align-items:center;-webkit-align-items:center;align-self:stretch;-webkit-align-self:stretch}.vstack{display:flex;display:-webkit-flex;flex:1 1 auto;-webkit-flex:1 1 auto;flex-direction:column;-webkit-flex-direction:column;align-self:stretch;-webkit-align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.visually-hidden:not(caption),.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute !important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;-webkit-align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.float-start,.float-left{float:left !important}.float-end,.float-right{float:right !important}.float-none{float:none !important}.object-fit-contain{object-fit:contain !important}.object-fit-cover{object-fit:cover !important}.object-fit-fill{object-fit:fill !important}.object-fit-scale{object-fit:scale-down !important}.object-fit-none{object-fit:none !important}.opacity-0{opacity:0 !important}.opacity-25{opacity:.25 !important}.opacity-50{opacity:.5 !important}.opacity-75{opacity:.75 !important}.opacity-100{opacity:1 !important}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.overflow-visible{overflow:visible !important}.overflow-scroll{overflow:scroll !important}.overflow-x-auto{overflow-x:auto !important}.overflow-x-hidden{overflow-x:hidden !important}.overflow-x-visible{overflow-x:visible !important}.overflow-x-scroll{overflow-x:scroll !important}.overflow-y-auto{overflow-y:auto !important}.overflow-y-hidden{overflow-y:hidden !important}.overflow-y-visible{overflow-y:visible !important}.overflow-y-scroll{overflow-y:scroll !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-grid{display:grid !important}.d-inline-grid{display:inline-grid !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}.d-none{display:none !important}.shadow{box-shadow:0px 1px 2px RGBA(var(--bslib-box-shadow-color-rgb), 0.1),0px 3px 7px RGBA(var(--bslib-box-shadow-color-rgb), 0.1),0px 12px 30px RGBA(var(--bslib-box-shadow-color-rgb), 0.08) !important}.shadow-sm{box-shadow:0px 1px 2px RGBA(var(--bslib-box-shadow-color-rgb), 0.1),0px 2px 3px RGBA(var(--bslib-box-shadow-color-rgb), 0.1),0px 3px 8px RGBA(var(--bslib-box-shadow-color-rgb), 0.1) !important}.shadow-lg{box-shadow:0px 16px 48px RGBA(var(--bslib-box-shadow-color-rgb), 0.1),0px 2px 3px RGBA(var(--bslib-box-shadow-color-rgb), 0.1),0px 16px 46px RGBA(var(--bslib-box-shadow-color-rgb), 0.1) !important}.shadow-none{box-shadow:none !important}.focus-ring-default{--bs-focus-ring-color: rgba(var(--bs-default-rgb), var(--bs-focus-ring-opacity))}.focus-ring-primary{--bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.top-0{top:0 !important}.top-50{top:50% !important}.top-100{top:100% !important}.bottom-0{bottom:0 !important}.bottom-50{bottom:50% !important}.bottom-100{bottom:100% !important}.start-0{left:0 !important}.start-50{left:50% !important}.start-100{left:100% !important}.end-0{right:0 !important}.end-50{right:50% !important}.end-100{right:100% !important}.translate-middle{transform:translate(-50%, -50%) !important}.translate-middle-x{transform:translateX(-50%) !important}.translate-middle-y{transform:translateY(-50%) !important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-0{border:0 !important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-top-0{border-top:0 !important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-end-0{border-right:0 !important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-bottom-0{border-bottom:0 !important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-start-0{border-left:0 !important}.border-default{--bs-border-opacity: 1;border-color:rgba(var(--bs-default-rgb), var(--bs-border-opacity)) !important}.border-primary{--bs-border-opacity: 1;border-color:rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important}.border-secondary{--bs-border-opacity: 1;border-color:rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important}.border-success{--bs-border-opacity: 1;border-color:rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important}.border-info{--bs-border-opacity: 1;border-color:rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important}.border-warning{--bs-border-opacity: 1;border-color:rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important}.border-danger{--bs-border-opacity: 1;border-color:rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important}.border-light{--bs-border-opacity: 1;border-color:rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important}.border-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important}.border-black{--bs-border-opacity: 1;border-color:rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important}.border-white{--bs-border-opacity: 1;border-color:rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle) !important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle) !important}.border-success-subtle{border-color:var(--bs-success-border-subtle) !important}.border-info-subtle{border-color:var(--bs-info-border-subtle) !important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle) !important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle) !important}.border-light-subtle{border-color:var(--bs-light-border-subtle) !important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle) !important}.border-1{border-width:1px !important}.border-2{border-width:2px !important}.border-3{border-width:3px !important}.border-4{border-width:4px !important}.border-5{border-width:5px !important}.border-opacity-10{--bs-border-opacity: .1}.border-opacity-25{--bs-border-opacity: .25}.border-opacity-50{--bs-border-opacity: .5}.border-opacity-75{--bs-border-opacity: .75}.border-opacity-100{--bs-border-opacity: 1}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.mw-100{max-width:100% !important}.vw-100{width:100vw !important}.min-vw-100{min-width:100vw !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mh-100{max-height:100% !important}.vh-100{height:100vh !important}.min-vh-100{min-height:100vh !important}.flex-fill{flex:1 1 auto !important}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.justify-content-evenly{justify-content:space-evenly !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}.order-first{order:-1 !important}.order-0{order:0 !important}.order-1{order:1 !important}.order-2{order:2 !important}.order-3{order:3 !important}.order-4{order:4 !important}.order-5{order:5 !important}.order-last{order:6 !important}.m-0{margin:0 !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.m-auto{margin:auto !important}.mx-0{margin-right:0 !important;margin-left:0 !important}.mx-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-3{margin-right:1rem !important;margin-left:1rem !important}.mx-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-5{margin-right:3rem !important;margin-left:3rem !important}.mx-auto{margin-right:auto !important;margin-left:auto !important}.my-0{margin-top:0 !important;margin-bottom:0 !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-0{margin-top:0 !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.mt-auto{margin-top:auto !important}.me-0{margin-right:0 !important}.me-1{margin-right:.25rem !important}.me-2{margin-right:.5rem !important}.me-3{margin-right:1rem !important}.me-4{margin-right:1.5rem !important}.me-5{margin-right:3rem !important}.me-auto{margin-right:auto !important}.mb-0{margin-bottom:0 !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.mb-auto{margin-bottom:auto !important}.ms-0{margin-left:0 !important}.ms-1{margin-left:.25rem !important}.ms-2{margin-left:.5rem !important}.ms-3{margin-left:1rem !important}.ms-4{margin-left:1.5rem !important}.ms-5{margin-left:3rem !important}.ms-auto{margin-left:auto !important}.p-0{padding:0 !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.px-0{padding-right:0 !important;padding-left:0 !important}.px-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-3{padding-right:1rem !important;padding-left:1rem !important}.px-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-5{padding-right:3rem !important;padding-left:3rem !important}.py-0{padding-top:0 !important;padding-bottom:0 !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-0{padding-top:0 !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pe-0{padding-right:0 !important}.pe-1{padding-right:.25rem !important}.pe-2{padding-right:.5rem !important}.pe-3{padding-right:1rem !important}.pe-4{padding-right:1.5rem !important}.pe-5{padding-right:3rem !important}.pb-0{padding-bottom:0 !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}.ps-0{padding-left:0 !important}.ps-1{padding-left:.25rem !important}.ps-2{padding-left:.5rem !important}.ps-3{padding-left:1rem !important}.ps-4{padding-left:1.5rem !important}.ps-5{padding-left:3rem !important}.gap-0{gap:0 !important}.gap-1{gap:.25rem !important}.gap-2{gap:.5rem !important}.gap-3{gap:1rem !important}.gap-4{gap:1.5rem !important}.gap-5{gap:3rem !important}.row-gap-0{row-gap:0 !important}.row-gap-1{row-gap:.25rem !important}.row-gap-2{row-gap:.5rem !important}.row-gap-3{row-gap:1rem !important}.row-gap-4{row-gap:1.5rem !important}.row-gap-5{row-gap:3rem !important}.column-gap-0{column-gap:0 !important}.column-gap-1{column-gap:.25rem !important}.column-gap-2{column-gap:.5rem !important}.column-gap-3{column-gap:1rem !important}.column-gap-4{column-gap:1.5rem !important}.column-gap-5{column-gap:3rem !important}.font-monospace{font-family:var(--bs-font-monospace) !important}.fs-1{font-size:calc(1.335rem + 1.02vw) !important}.fs-2{font-size:calc(1.325rem + .9vw) !important}.fs-3{font-size:calc(1.3rem + .6vw) !important}.fs-4{font-size:calc(1.275rem + .3vw) !important}.fs-5{font-size:1.25rem !important}.fs-6{font-size:1rem !important}.fst-italic{font-style:italic !important}.fst-normal{font-style:normal !important}.fw-lighter{font-weight:lighter !important}.fw-light{font-weight:300 !important}.fw-normal{font-weight:400 !important}.fw-medium{font-weight:500 !important}.fw-semibold{font-weight:600 !important}.fw-bold{font-weight:700 !important}.fw-bolder{font-weight:bolder !important}.lh-1{line-height:1 !important}.lh-sm{line-height:1.25 !important}.lh-base{line-height:1.5 !important}.lh-lg{line-height:2 !important}.text-start{text-align:left !important}.text-end{text-align:right !important}.text-center{text-align:center !important}.text-decoration-none{text-decoration:none !important}.text-decoration-underline{text-decoration:underline !important}.text-decoration-line-through{text-decoration:line-through !important}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-break{word-wrap:break-word !important;word-break:break-word !important}.text-default{--bs-text-opacity: 1;color:rgba(var(--bs-default-rgb), var(--bs-text-opacity)) !important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important}.text-muted,.help-text,.help-block{--bs-text-opacity: 1;color:var(--bs-secondary-color) !important}.text-black-50{--bs-text-opacity: 1;color:rgba(0,0,0,0.5) !important}.text-white-50{--bs-text-opacity: 1;color:rgba(255,255,255,0.5) !important}.text-body-secondary{--bs-text-opacity: 1;color:var(--bs-secondary-color) !important}.text-body-tertiary{--bs-text-opacity: 1;color:var(--bs-tertiary-color) !important}.text-body-emphasis{--bs-text-opacity: 1;color:var(--bs-emphasis-color) !important}.text-reset{--bs-text-opacity: 1;color:inherit !important}.text-opacity-25{--bs-text-opacity: .25}.text-opacity-50{--bs-text-opacity: .5}.text-opacity-75{--bs-text-opacity: .75}.text-opacity-100{--bs-text-opacity: 1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis) !important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis) !important}.text-success-emphasis{color:var(--bs-success-text-emphasis) !important}.text-info-emphasis{color:var(--bs-info-text-emphasis) !important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis) !important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis) !important}.text-light-emphasis{color:var(--bs-light-text-emphasis) !important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis) !important}.link-opacity-10{--bs-link-opacity: .1}.link-opacity-10-hover:hover{--bs-link-opacity: .1}.link-opacity-25{--bs-link-opacity: .25}.link-opacity-25-hover:hover{--bs-link-opacity: .25}.link-opacity-50{--bs-link-opacity: .5}.link-opacity-50-hover:hover{--bs-link-opacity: .5}.link-opacity-75{--bs-link-opacity: .75}.link-opacity-75-hover:hover{--bs-link-opacity: .75}.link-opacity-100{--bs-link-opacity: 1}.link-opacity-100-hover:hover{--bs-link-opacity: 1}.link-offset-1{text-underline-offset:.125em !important}.link-offset-1-hover:hover{text-underline-offset:.125em !important}.link-offset-2{text-underline-offset:.25em !important}.link-offset-2-hover:hover{text-underline-offset:.25em !important}.link-offset-3{text-underline-offset:.375em !important}.link-offset-3-hover:hover{text-underline-offset:.375em !important}.link-underline-default{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-default-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-primary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-secondary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-success{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-info{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-warning{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-danger{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-light{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-dark{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important}.link-underline{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-underline-opacity-0{--bs-link-underline-opacity: 0}.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity: 0}.link-underline-opacity-10{--bs-link-underline-opacity: .1}.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity: .1}.link-underline-opacity-25{--bs-link-underline-opacity: .25}.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity: .25}.link-underline-opacity-50{--bs-link-underline-opacity: .5}.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity: .5}.link-underline-opacity-75{--bs-link-underline-opacity: .75}.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity: .75}.link-underline-opacity-100{--bs-link-underline-opacity: 1}.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity: 1}.bg-default{--bs-bg-opacity: 1;background-color:rgba(var(--bs-default-rgb), var(--bs-bg-opacity)) !important}.bg-primary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important}.bg-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important}.bg-success{--bs-bg-opacity: 1;background-color:rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important}.bg-info{--bs-bg-opacity: 1;background-color:rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important}.bg-warning{--bs-bg-opacity: 1;background-color:rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important}.bg-danger{--bs-bg-opacity: 1;background-color:rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important}.bg-light{--bs-bg-opacity: 1;background-color:rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important}.bg-dark{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important}.bg-black{--bs-bg-opacity: 1;background-color:rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important}.bg-white{--bs-bg-opacity: 1;background-color:rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important}.bg-body{--bs-bg-opacity: 1;background-color:rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important}.bg-transparent{--bs-bg-opacity: 1;background-color:rgba(0,0,0,0) !important}.bg-body-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important}.bg-body-tertiary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important}.bg-opacity-10{--bs-bg-opacity: .1}.bg-opacity-25{--bs-bg-opacity: .25}.bg-opacity-50{--bs-bg-opacity: .5}.bg-opacity-75{--bs-bg-opacity: .75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle) !important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle) !important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle) !important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle) !important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle) !important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle) !important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle) !important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle) !important}.bg-gradient{background-image:var(--bs-gradient) !important}.user-select-all{user-select:all !important}.user-select-auto{user-select:auto !important}.user-select-none{user-select:none !important}.pe-none{pointer-events:none !important}.pe-auto{pointer-events:auto !important}.rounded{border-radius:var(--bs-border-radius) !important}.rounded-0{border-radius:0 !important}.rounded-1{border-radius:var(--bs-border-radius-sm) !important}.rounded-2{border-radius:var(--bs-border-radius) !important}.rounded-3{border-radius:var(--bs-border-radius-lg) !important}.rounded-4{border-radius:var(--bs-border-radius-xl) !important}.rounded-5{border-radius:var(--bs-border-radius-xxl) !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:var(--bs-border-radius-pill) !important}.rounded-top{border-top-left-radius:var(--bs-border-radius) !important;border-top-right-radius:var(--bs-border-radius) !important}.rounded-top-0{border-top-left-radius:0 !important;border-top-right-radius:0 !important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm) !important;border-top-right-radius:var(--bs-border-radius-sm) !important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius) !important;border-top-right-radius:var(--bs-border-radius) !important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg) !important;border-top-right-radius:var(--bs-border-radius-lg) !important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl) !important;border-top-right-radius:var(--bs-border-radius-xl) !important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl) !important;border-top-right-radius:var(--bs-border-radius-xxl) !important}.rounded-top-circle{border-top-left-radius:50% !important;border-top-right-radius:50% !important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill) !important;border-top-right-radius:var(--bs-border-radius-pill) !important}.rounded-end{border-top-right-radius:var(--bs-border-radius) !important;border-bottom-right-radius:var(--bs-border-radius) !important}.rounded-end-0{border-top-right-radius:0 !important;border-bottom-right-radius:0 !important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm) !important;border-bottom-right-radius:var(--bs-border-radius-sm) !important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius) !important;border-bottom-right-radius:var(--bs-border-radius) !important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg) !important;border-bottom-right-radius:var(--bs-border-radius-lg) !important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl) !important;border-bottom-right-radius:var(--bs-border-radius-xl) !important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl) !important;border-bottom-right-radius:var(--bs-border-radius-xxl) !important}.rounded-end-circle{border-top-right-radius:50% !important;border-bottom-right-radius:50% !important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill) !important;border-bottom-right-radius:var(--bs-border-radius-pill) !important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius) !important;border-bottom-left-radius:var(--bs-border-radius) !important}.rounded-bottom-0{border-bottom-right-radius:0 !important;border-bottom-left-radius:0 !important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm) !important;border-bottom-left-radius:var(--bs-border-radius-sm) !important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius) !important;border-bottom-left-radius:var(--bs-border-radius) !important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg) !important;border-bottom-left-radius:var(--bs-border-radius-lg) !important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl) !important;border-bottom-left-radius:var(--bs-border-radius-xl) !important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl) !important;border-bottom-left-radius:var(--bs-border-radius-xxl) !important}.rounded-bottom-circle{border-bottom-right-radius:50% !important;border-bottom-left-radius:50% !important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill) !important;border-bottom-left-radius:var(--bs-border-radius-pill) !important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius) !important;border-top-left-radius:var(--bs-border-radius) !important}.rounded-start-0{border-bottom-left-radius:0 !important;border-top-left-radius:0 !important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm) !important;border-top-left-radius:var(--bs-border-radius-sm) !important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius) !important;border-top-left-radius:var(--bs-border-radius) !important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg) !important;border-top-left-radius:var(--bs-border-radius-lg) !important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl) !important;border-top-left-radius:var(--bs-border-radius-xl) !important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl) !important;border-top-left-radius:var(--bs-border-radius-xxl) !important}.rounded-start-circle{border-bottom-left-radius:50% !important;border-top-left-radius:50% !important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill) !important;border-top-left-radius:var(--bs-border-radius-pill) !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}.z-n1{z-index:-1 !important}.z-0{z-index:0 !important}.z-1{z-index:1 !important}.z-2{z-index:2 !important}.z-3{z-index:3 !important}@media (min-width: 576px){.float-sm-start{float:left !important}.float-sm-end{float:right !important}.float-sm-none{float:none !important}.object-fit-sm-contain{object-fit:contain !important}.object-fit-sm-cover{object-fit:cover !important}.object-fit-sm-fill{object-fit:fill !important}.object-fit-sm-scale{object-fit:scale-down !important}.object-fit-sm-none{object-fit:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-grid{display:grid !important}.d-sm-inline-grid{display:inline-grid !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}.d-sm-none{display:none !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.justify-content-sm-evenly{justify-content:space-evenly !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}.order-sm-first{order:-1 !important}.order-sm-0{order:0 !important}.order-sm-1{order:1 !important}.order-sm-2{order:2 !important}.order-sm-3{order:3 !important}.order-sm-4{order:4 !important}.order-sm-5{order:5 !important}.order-sm-last{order:6 !important}.m-sm-0{margin:0 !important}.m-sm-1{margin:.25rem !important}.m-sm-2{margin:.5rem !important}.m-sm-3{margin:1rem !important}.m-sm-4{margin:1.5rem !important}.m-sm-5{margin:3rem !important}.m-sm-auto{margin:auto !important}.mx-sm-0{margin-right:0 !important;margin-left:0 !important}.mx-sm-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-sm-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-sm-3{margin-right:1rem !important;margin-left:1rem !important}.mx-sm-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-sm-5{margin-right:3rem !important;margin-left:3rem !important}.mx-sm-auto{margin-right:auto !important;margin-left:auto !important}.my-sm-0{margin-top:0 !important;margin-bottom:0 !important}.my-sm-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-sm-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-sm-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-sm-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-sm-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-sm-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-sm-0{margin-top:0 !important}.mt-sm-1{margin-top:.25rem !important}.mt-sm-2{margin-top:.5rem !important}.mt-sm-3{margin-top:1rem !important}.mt-sm-4{margin-top:1.5rem !important}.mt-sm-5{margin-top:3rem !important}.mt-sm-auto{margin-top:auto !important}.me-sm-0{margin-right:0 !important}.me-sm-1{margin-right:.25rem !important}.me-sm-2{margin-right:.5rem !important}.me-sm-3{margin-right:1rem !important}.me-sm-4{margin-right:1.5rem !important}.me-sm-5{margin-right:3rem !important}.me-sm-auto{margin-right:auto !important}.mb-sm-0{margin-bottom:0 !important}.mb-sm-1{margin-bottom:.25rem !important}.mb-sm-2{margin-bottom:.5rem !important}.mb-sm-3{margin-bottom:1rem !important}.mb-sm-4{margin-bottom:1.5rem !important}.mb-sm-5{margin-bottom:3rem !important}.mb-sm-auto{margin-bottom:auto !important}.ms-sm-0{margin-left:0 !important}.ms-sm-1{margin-left:.25rem !important}.ms-sm-2{margin-left:.5rem !important}.ms-sm-3{margin-left:1rem !important}.ms-sm-4{margin-left:1.5rem !important}.ms-sm-5{margin-left:3rem !important}.ms-sm-auto{margin-left:auto !important}.p-sm-0{padding:0 !important}.p-sm-1{padding:.25rem !important}.p-sm-2{padding:.5rem !important}.p-sm-3{padding:1rem !important}.p-sm-4{padding:1.5rem !important}.p-sm-5{padding:3rem !important}.px-sm-0{padding-right:0 !important;padding-left:0 !important}.px-sm-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-sm-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-sm-3{padding-right:1rem !important;padding-left:1rem !important}.px-sm-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-sm-5{padding-right:3rem !important;padding-left:3rem !important}.py-sm-0{padding-top:0 !important;padding-bottom:0 !important}.py-sm-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-sm-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-sm-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-sm-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-sm-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-sm-0{padding-top:0 !important}.pt-sm-1{padding-top:.25rem !important}.pt-sm-2{padding-top:.5rem !important}.pt-sm-3{padding-top:1rem !important}.pt-sm-4{padding-top:1.5rem !important}.pt-sm-5{padding-top:3rem !important}.pe-sm-0{padding-right:0 !important}.pe-sm-1{padding-right:.25rem !important}.pe-sm-2{padding-right:.5rem !important}.pe-sm-3{padding-right:1rem !important}.pe-sm-4{padding-right:1.5rem !important}.pe-sm-5{padding-right:3rem !important}.pb-sm-0{padding-bottom:0 !important}.pb-sm-1{padding-bottom:.25rem !important}.pb-sm-2{padding-bottom:.5rem !important}.pb-sm-3{padding-bottom:1rem !important}.pb-sm-4{padding-bottom:1.5rem !important}.pb-sm-5{padding-bottom:3rem !important}.ps-sm-0{padding-left:0 !important}.ps-sm-1{padding-left:.25rem !important}.ps-sm-2{padding-left:.5rem !important}.ps-sm-3{padding-left:1rem !important}.ps-sm-4{padding-left:1.5rem !important}.ps-sm-5{padding-left:3rem !important}.gap-sm-0{gap:0 !important}.gap-sm-1{gap:.25rem !important}.gap-sm-2{gap:.5rem !important}.gap-sm-3{gap:1rem !important}.gap-sm-4{gap:1.5rem !important}.gap-sm-5{gap:3rem !important}.row-gap-sm-0{row-gap:0 !important}.row-gap-sm-1{row-gap:.25rem !important}.row-gap-sm-2{row-gap:.5rem !important}.row-gap-sm-3{row-gap:1rem !important}.row-gap-sm-4{row-gap:1.5rem !important}.row-gap-sm-5{row-gap:3rem !important}.column-gap-sm-0{column-gap:0 !important}.column-gap-sm-1{column-gap:.25rem !important}.column-gap-sm-2{column-gap:.5rem !important}.column-gap-sm-3{column-gap:1rem !important}.column-gap-sm-4{column-gap:1.5rem !important}.column-gap-sm-5{column-gap:3rem !important}.text-sm-start{text-align:left !important}.text-sm-end{text-align:right !important}.text-sm-center{text-align:center !important}}@media (min-width: 768px){.float-md-start{float:left !important}.float-md-end{float:right !important}.float-md-none{float:none !important}.object-fit-md-contain{object-fit:contain !important}.object-fit-md-cover{object-fit:cover !important}.object-fit-md-fill{object-fit:fill !important}.object-fit-md-scale{object-fit:scale-down !important}.object-fit-md-none{object-fit:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-grid{display:grid !important}.d-md-inline-grid{display:inline-grid !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}.d-md-none{display:none !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.justify-content-md-evenly{justify-content:space-evenly !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}.order-md-first{order:-1 !important}.order-md-0{order:0 !important}.order-md-1{order:1 !important}.order-md-2{order:2 !important}.order-md-3{order:3 !important}.order-md-4{order:4 !important}.order-md-5{order:5 !important}.order-md-last{order:6 !important}.m-md-0{margin:0 !important}.m-md-1{margin:.25rem !important}.m-md-2{margin:.5rem !important}.m-md-3{margin:1rem !important}.m-md-4{margin:1.5rem !important}.m-md-5{margin:3rem !important}.m-md-auto{margin:auto !important}.mx-md-0{margin-right:0 !important;margin-left:0 !important}.mx-md-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-md-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-md-3{margin-right:1rem !important;margin-left:1rem !important}.mx-md-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-md-5{margin-right:3rem !important;margin-left:3rem !important}.mx-md-auto{margin-right:auto !important;margin-left:auto !important}.my-md-0{margin-top:0 !important;margin-bottom:0 !important}.my-md-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-md-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-md-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-md-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-md-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-md-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-md-0{margin-top:0 !important}.mt-md-1{margin-top:.25rem !important}.mt-md-2{margin-top:.5rem !important}.mt-md-3{margin-top:1rem !important}.mt-md-4{margin-top:1.5rem !important}.mt-md-5{margin-top:3rem !important}.mt-md-auto{margin-top:auto !important}.me-md-0{margin-right:0 !important}.me-md-1{margin-right:.25rem !important}.me-md-2{margin-right:.5rem !important}.me-md-3{margin-right:1rem !important}.me-md-4{margin-right:1.5rem !important}.me-md-5{margin-right:3rem !important}.me-md-auto{margin-right:auto !important}.mb-md-0{margin-bottom:0 !important}.mb-md-1{margin-bottom:.25rem !important}.mb-md-2{margin-bottom:.5rem !important}.mb-md-3{margin-bottom:1rem !important}.mb-md-4{margin-bottom:1.5rem !important}.mb-md-5{margin-bottom:3rem !important}.mb-md-auto{margin-bottom:auto !important}.ms-md-0{margin-left:0 !important}.ms-md-1{margin-left:.25rem !important}.ms-md-2{margin-left:.5rem !important}.ms-md-3{margin-left:1rem !important}.ms-md-4{margin-left:1.5rem !important}.ms-md-5{margin-left:3rem !important}.ms-md-auto{margin-left:auto !important}.p-md-0{padding:0 !important}.p-md-1{padding:.25rem !important}.p-md-2{padding:.5rem !important}.p-md-3{padding:1rem !important}.p-md-4{padding:1.5rem !important}.p-md-5{padding:3rem !important}.px-md-0{padding-right:0 !important;padding-left:0 !important}.px-md-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-md-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-md-3{padding-right:1rem !important;padding-left:1rem !important}.px-md-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-md-5{padding-right:3rem !important;padding-left:3rem !important}.py-md-0{padding-top:0 !important;padding-bottom:0 !important}.py-md-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-md-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-md-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-md-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-md-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-md-0{padding-top:0 !important}.pt-md-1{padding-top:.25rem !important}.pt-md-2{padding-top:.5rem !important}.pt-md-3{padding-top:1rem !important}.pt-md-4{padding-top:1.5rem !important}.pt-md-5{padding-top:3rem !important}.pe-md-0{padding-right:0 !important}.pe-md-1{padding-right:.25rem !important}.pe-md-2{padding-right:.5rem !important}.pe-md-3{padding-right:1rem !important}.pe-md-4{padding-right:1.5rem !important}.pe-md-5{padding-right:3rem !important}.pb-md-0{padding-bottom:0 !important}.pb-md-1{padding-bottom:.25rem !important}.pb-md-2{padding-bottom:.5rem !important}.pb-md-3{padding-bottom:1rem !important}.pb-md-4{padding-bottom:1.5rem !important}.pb-md-5{padding-bottom:3rem !important}.ps-md-0{padding-left:0 !important}.ps-md-1{padding-left:.25rem !important}.ps-md-2{padding-left:.5rem !important}.ps-md-3{padding-left:1rem !important}.ps-md-4{padding-left:1.5rem !important}.ps-md-5{padding-left:3rem !important}.gap-md-0{gap:0 !important}.gap-md-1{gap:.25rem !important}.gap-md-2{gap:.5rem !important}.gap-md-3{gap:1rem !important}.gap-md-4{gap:1.5rem !important}.gap-md-5{gap:3rem !important}.row-gap-md-0{row-gap:0 !important}.row-gap-md-1{row-gap:.25rem !important}.row-gap-md-2{row-gap:.5rem !important}.row-gap-md-3{row-gap:1rem !important}.row-gap-md-4{row-gap:1.5rem !important}.row-gap-md-5{row-gap:3rem !important}.column-gap-md-0{column-gap:0 !important}.column-gap-md-1{column-gap:.25rem !important}.column-gap-md-2{column-gap:.5rem !important}.column-gap-md-3{column-gap:1rem !important}.column-gap-md-4{column-gap:1.5rem !important}.column-gap-md-5{column-gap:3rem !important}.text-md-start{text-align:left !important}.text-md-end{text-align:right !important}.text-md-center{text-align:center !important}}@media (min-width: 992px){.float-lg-start{float:left !important}.float-lg-end{float:right !important}.float-lg-none{float:none !important}.object-fit-lg-contain{object-fit:contain !important}.object-fit-lg-cover{object-fit:cover !important}.object-fit-lg-fill{object-fit:fill !important}.object-fit-lg-scale{object-fit:scale-down !important}.object-fit-lg-none{object-fit:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-grid{display:grid !important}.d-lg-inline-grid{display:inline-grid !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}.d-lg-none{display:none !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.justify-content-lg-evenly{justify-content:space-evenly !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}.order-lg-first{order:-1 !important}.order-lg-0{order:0 !important}.order-lg-1{order:1 !important}.order-lg-2{order:2 !important}.order-lg-3{order:3 !important}.order-lg-4{order:4 !important}.order-lg-5{order:5 !important}.order-lg-last{order:6 !important}.m-lg-0{margin:0 !important}.m-lg-1{margin:.25rem !important}.m-lg-2{margin:.5rem !important}.m-lg-3{margin:1rem !important}.m-lg-4{margin:1.5rem !important}.m-lg-5{margin:3rem !important}.m-lg-auto{margin:auto !important}.mx-lg-0{margin-right:0 !important;margin-left:0 !important}.mx-lg-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-lg-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-lg-3{margin-right:1rem !important;margin-left:1rem !important}.mx-lg-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-lg-5{margin-right:3rem !important;margin-left:3rem !important}.mx-lg-auto{margin-right:auto !important;margin-left:auto !important}.my-lg-0{margin-top:0 !important;margin-bottom:0 !important}.my-lg-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-lg-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-lg-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-lg-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-lg-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-lg-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-lg-0{margin-top:0 !important}.mt-lg-1{margin-top:.25rem !important}.mt-lg-2{margin-top:.5rem !important}.mt-lg-3{margin-top:1rem !important}.mt-lg-4{margin-top:1.5rem !important}.mt-lg-5{margin-top:3rem !important}.mt-lg-auto{margin-top:auto !important}.me-lg-0{margin-right:0 !important}.me-lg-1{margin-right:.25rem !important}.me-lg-2{margin-right:.5rem !important}.me-lg-3{margin-right:1rem !important}.me-lg-4{margin-right:1.5rem !important}.me-lg-5{margin-right:3rem !important}.me-lg-auto{margin-right:auto !important}.mb-lg-0{margin-bottom:0 !important}.mb-lg-1{margin-bottom:.25rem !important}.mb-lg-2{margin-bottom:.5rem !important}.mb-lg-3{margin-bottom:1rem !important}.mb-lg-4{margin-bottom:1.5rem !important}.mb-lg-5{margin-bottom:3rem !important}.mb-lg-auto{margin-bottom:auto !important}.ms-lg-0{margin-left:0 !important}.ms-lg-1{margin-left:.25rem !important}.ms-lg-2{margin-left:.5rem !important}.ms-lg-3{margin-left:1rem !important}.ms-lg-4{margin-left:1.5rem !important}.ms-lg-5{margin-left:3rem !important}.ms-lg-auto{margin-left:auto !important}.p-lg-0{padding:0 !important}.p-lg-1{padding:.25rem !important}.p-lg-2{padding:.5rem !important}.p-lg-3{padding:1rem !important}.p-lg-4{padding:1.5rem !important}.p-lg-5{padding:3rem !important}.px-lg-0{padding-right:0 !important;padding-left:0 !important}.px-lg-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-lg-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-lg-3{padding-right:1rem !important;padding-left:1rem !important}.px-lg-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-lg-5{padding-right:3rem !important;padding-left:3rem !important}.py-lg-0{padding-top:0 !important;padding-bottom:0 !important}.py-lg-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-lg-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-lg-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-lg-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-lg-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-lg-0{padding-top:0 !important}.pt-lg-1{padding-top:.25rem !important}.pt-lg-2{padding-top:.5rem !important}.pt-lg-3{padding-top:1rem !important}.pt-lg-4{padding-top:1.5rem !important}.pt-lg-5{padding-top:3rem !important}.pe-lg-0{padding-right:0 !important}.pe-lg-1{padding-right:.25rem !important}.pe-lg-2{padding-right:.5rem !important}.pe-lg-3{padding-right:1rem !important}.pe-lg-4{padding-right:1.5rem !important}.pe-lg-5{padding-right:3rem !important}.pb-lg-0{padding-bottom:0 !important}.pb-lg-1{padding-bottom:.25rem !important}.pb-lg-2{padding-bottom:.5rem !important}.pb-lg-3{padding-bottom:1rem !important}.pb-lg-4{padding-bottom:1.5rem !important}.pb-lg-5{padding-bottom:3rem !important}.ps-lg-0{padding-left:0 !important}.ps-lg-1{padding-left:.25rem !important}.ps-lg-2{padding-left:.5rem !important}.ps-lg-3{padding-left:1rem !important}.ps-lg-4{padding-left:1.5rem !important}.ps-lg-5{padding-left:3rem !important}.gap-lg-0{gap:0 !important}.gap-lg-1{gap:.25rem !important}.gap-lg-2{gap:.5rem !important}.gap-lg-3{gap:1rem !important}.gap-lg-4{gap:1.5rem !important}.gap-lg-5{gap:3rem !important}.row-gap-lg-0{row-gap:0 !important}.row-gap-lg-1{row-gap:.25rem !important}.row-gap-lg-2{row-gap:.5rem !important}.row-gap-lg-3{row-gap:1rem !important}.row-gap-lg-4{row-gap:1.5rem !important}.row-gap-lg-5{row-gap:3rem !important}.column-gap-lg-0{column-gap:0 !important}.column-gap-lg-1{column-gap:.25rem !important}.column-gap-lg-2{column-gap:.5rem !important}.column-gap-lg-3{column-gap:1rem !important}.column-gap-lg-4{column-gap:1.5rem !important}.column-gap-lg-5{column-gap:3rem !important}.text-lg-start{text-align:left !important}.text-lg-end{text-align:right !important}.text-lg-center{text-align:center !important}}@media (min-width: 1200px){.float-xl-start{float:left !important}.float-xl-end{float:right !important}.float-xl-none{float:none !important}.object-fit-xl-contain{object-fit:contain !important}.object-fit-xl-cover{object-fit:cover !important}.object-fit-xl-fill{object-fit:fill !important}.object-fit-xl-scale{object-fit:scale-down !important}.object-fit-xl-none{object-fit:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-grid{display:grid !important}.d-xl-inline-grid{display:inline-grid !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}.d-xl-none{display:none !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.justify-content-xl-evenly{justify-content:space-evenly !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}.order-xl-first{order:-1 !important}.order-xl-0{order:0 !important}.order-xl-1{order:1 !important}.order-xl-2{order:2 !important}.order-xl-3{order:3 !important}.order-xl-4{order:4 !important}.order-xl-5{order:5 !important}.order-xl-last{order:6 !important}.m-xl-0{margin:0 !important}.m-xl-1{margin:.25rem !important}.m-xl-2{margin:.5rem !important}.m-xl-3{margin:1rem !important}.m-xl-4{margin:1.5rem !important}.m-xl-5{margin:3rem !important}.m-xl-auto{margin:auto !important}.mx-xl-0{margin-right:0 !important;margin-left:0 !important}.mx-xl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xl-auto{margin-right:auto !important;margin-left:auto !important}.my-xl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xl-0{margin-top:0 !important}.mt-xl-1{margin-top:.25rem !important}.mt-xl-2{margin-top:.5rem !important}.mt-xl-3{margin-top:1rem !important}.mt-xl-4{margin-top:1.5rem !important}.mt-xl-5{margin-top:3rem !important}.mt-xl-auto{margin-top:auto !important}.me-xl-0{margin-right:0 !important}.me-xl-1{margin-right:.25rem !important}.me-xl-2{margin-right:.5rem !important}.me-xl-3{margin-right:1rem !important}.me-xl-4{margin-right:1.5rem !important}.me-xl-5{margin-right:3rem !important}.me-xl-auto{margin-right:auto !important}.mb-xl-0{margin-bottom:0 !important}.mb-xl-1{margin-bottom:.25rem !important}.mb-xl-2{margin-bottom:.5rem !important}.mb-xl-3{margin-bottom:1rem !important}.mb-xl-4{margin-bottom:1.5rem !important}.mb-xl-5{margin-bottom:3rem !important}.mb-xl-auto{margin-bottom:auto !important}.ms-xl-0{margin-left:0 !important}.ms-xl-1{margin-left:.25rem !important}.ms-xl-2{margin-left:.5rem !important}.ms-xl-3{margin-left:1rem !important}.ms-xl-4{margin-left:1.5rem !important}.ms-xl-5{margin-left:3rem !important}.ms-xl-auto{margin-left:auto !important}.p-xl-0{padding:0 !important}.p-xl-1{padding:.25rem !important}.p-xl-2{padding:.5rem !important}.p-xl-3{padding:1rem !important}.p-xl-4{padding:1.5rem !important}.p-xl-5{padding:3rem !important}.px-xl-0{padding-right:0 !important;padding-left:0 !important}.px-xl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xl-0{padding-top:0 !important}.pt-xl-1{padding-top:.25rem !important}.pt-xl-2{padding-top:.5rem !important}.pt-xl-3{padding-top:1rem !important}.pt-xl-4{padding-top:1.5rem !important}.pt-xl-5{padding-top:3rem !important}.pe-xl-0{padding-right:0 !important}.pe-xl-1{padding-right:.25rem !important}.pe-xl-2{padding-right:.5rem !important}.pe-xl-3{padding-right:1rem !important}.pe-xl-4{padding-right:1.5rem !important}.pe-xl-5{padding-right:3rem !important}.pb-xl-0{padding-bottom:0 !important}.pb-xl-1{padding-bottom:.25rem !important}.pb-xl-2{padding-bottom:.5rem !important}.pb-xl-3{padding-bottom:1rem !important}.pb-xl-4{padding-bottom:1.5rem !important}.pb-xl-5{padding-bottom:3rem !important}.ps-xl-0{padding-left:0 !important}.ps-xl-1{padding-left:.25rem !important}.ps-xl-2{padding-left:.5rem !important}.ps-xl-3{padding-left:1rem !important}.ps-xl-4{padding-left:1.5rem !important}.ps-xl-5{padding-left:3rem !important}.gap-xl-0{gap:0 !important}.gap-xl-1{gap:.25rem !important}.gap-xl-2{gap:.5rem !important}.gap-xl-3{gap:1rem !important}.gap-xl-4{gap:1.5rem !important}.gap-xl-5{gap:3rem !important}.row-gap-xl-0{row-gap:0 !important}.row-gap-xl-1{row-gap:.25rem !important}.row-gap-xl-2{row-gap:.5rem !important}.row-gap-xl-3{row-gap:1rem !important}.row-gap-xl-4{row-gap:1.5rem !important}.row-gap-xl-5{row-gap:3rem !important}.column-gap-xl-0{column-gap:0 !important}.column-gap-xl-1{column-gap:.25rem !important}.column-gap-xl-2{column-gap:.5rem !important}.column-gap-xl-3{column-gap:1rem !important}.column-gap-xl-4{column-gap:1.5rem !important}.column-gap-xl-5{column-gap:3rem !important}.text-xl-start{text-align:left !important}.text-xl-end{text-align:right !important}.text-xl-center{text-align:center !important}}@media (min-width: 1400px){.float-xxl-start{float:left !important}.float-xxl-end{float:right !important}.float-xxl-none{float:none !important}.object-fit-xxl-contain{object-fit:contain !important}.object-fit-xxl-cover{object-fit:cover !important}.object-fit-xxl-fill{object-fit:fill !important}.object-fit-xxl-scale{object-fit:scale-down !important}.object-fit-xxl-none{object-fit:none !important}.d-xxl-inline{display:inline !important}.d-xxl-inline-block{display:inline-block !important}.d-xxl-block{display:block !important}.d-xxl-grid{display:grid !important}.d-xxl-inline-grid{display:inline-grid !important}.d-xxl-table{display:table !important}.d-xxl-table-row{display:table-row !important}.d-xxl-table-cell{display:table-cell !important}.d-xxl-flex{display:flex !important}.d-xxl-inline-flex{display:inline-flex !important}.d-xxl-none{display:none !important}.flex-xxl-fill{flex:1 1 auto !important}.flex-xxl-row{flex-direction:row !important}.flex-xxl-column{flex-direction:column !important}.flex-xxl-row-reverse{flex-direction:row-reverse !important}.flex-xxl-column-reverse{flex-direction:column-reverse !important}.flex-xxl-grow-0{flex-grow:0 !important}.flex-xxl-grow-1{flex-grow:1 !important}.flex-xxl-shrink-0{flex-shrink:0 !important}.flex-xxl-shrink-1{flex-shrink:1 !important}.flex-xxl-wrap{flex-wrap:wrap !important}.flex-xxl-nowrap{flex-wrap:nowrap !important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-xxl-start{justify-content:flex-start !important}.justify-content-xxl-end{justify-content:flex-end !important}.justify-content-xxl-center{justify-content:center !important}.justify-content-xxl-between{justify-content:space-between !important}.justify-content-xxl-around{justify-content:space-around !important}.justify-content-xxl-evenly{justify-content:space-evenly !important}.align-items-xxl-start{align-items:flex-start !important}.align-items-xxl-end{align-items:flex-end !important}.align-items-xxl-center{align-items:center !important}.align-items-xxl-baseline{align-items:baseline !important}.align-items-xxl-stretch{align-items:stretch !important}.align-content-xxl-start{align-content:flex-start !important}.align-content-xxl-end{align-content:flex-end !important}.align-content-xxl-center{align-content:center !important}.align-content-xxl-between{align-content:space-between !important}.align-content-xxl-around{align-content:space-around !important}.align-content-xxl-stretch{align-content:stretch !important}.align-self-xxl-auto{align-self:auto !important}.align-self-xxl-start{align-self:flex-start !important}.align-self-xxl-end{align-self:flex-end !important}.align-self-xxl-center{align-self:center !important}.align-self-xxl-baseline{align-self:baseline !important}.align-self-xxl-stretch{align-self:stretch !important}.order-xxl-first{order:-1 !important}.order-xxl-0{order:0 !important}.order-xxl-1{order:1 !important}.order-xxl-2{order:2 !important}.order-xxl-3{order:3 !important}.order-xxl-4{order:4 !important}.order-xxl-5{order:5 !important}.order-xxl-last{order:6 !important}.m-xxl-0{margin:0 !important}.m-xxl-1{margin:.25rem !important}.m-xxl-2{margin:.5rem !important}.m-xxl-3{margin:1rem !important}.m-xxl-4{margin:1.5rem !important}.m-xxl-5{margin:3rem !important}.m-xxl-auto{margin:auto !important}.mx-xxl-0{margin-right:0 !important;margin-left:0 !important}.mx-xxl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xxl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xxl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xxl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xxl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xxl-auto{margin-right:auto !important;margin-left:auto !important}.my-xxl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xxl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xxl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xxl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xxl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xxl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xxl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xxl-0{margin-top:0 !important}.mt-xxl-1{margin-top:.25rem !important}.mt-xxl-2{margin-top:.5rem !important}.mt-xxl-3{margin-top:1rem !important}.mt-xxl-4{margin-top:1.5rem !important}.mt-xxl-5{margin-top:3rem !important}.mt-xxl-auto{margin-top:auto !important}.me-xxl-0{margin-right:0 !important}.me-xxl-1{margin-right:.25rem !important}.me-xxl-2{margin-right:.5rem !important}.me-xxl-3{margin-right:1rem !important}.me-xxl-4{margin-right:1.5rem !important}.me-xxl-5{margin-right:3rem !important}.me-xxl-auto{margin-right:auto !important}.mb-xxl-0{margin-bottom:0 !important}.mb-xxl-1{margin-bottom:.25rem !important}.mb-xxl-2{margin-bottom:.5rem !important}.mb-xxl-3{margin-bottom:1rem !important}.mb-xxl-4{margin-bottom:1.5rem !important}.mb-xxl-5{margin-bottom:3rem !important}.mb-xxl-auto{margin-bottom:auto !important}.ms-xxl-0{margin-left:0 !important}.ms-xxl-1{margin-left:.25rem !important}.ms-xxl-2{margin-left:.5rem !important}.ms-xxl-3{margin-left:1rem !important}.ms-xxl-4{margin-left:1.5rem !important}.ms-xxl-5{margin-left:3rem !important}.ms-xxl-auto{margin-left:auto !important}.p-xxl-0{padding:0 !important}.p-xxl-1{padding:.25rem !important}.p-xxl-2{padding:.5rem !important}.p-xxl-3{padding:1rem !important}.p-xxl-4{padding:1.5rem !important}.p-xxl-5{padding:3rem !important}.px-xxl-0{padding-right:0 !important;padding-left:0 !important}.px-xxl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xxl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xxl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xxl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xxl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xxl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xxl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xxl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xxl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xxl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xxl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xxl-0{padding-top:0 !important}.pt-xxl-1{padding-top:.25rem !important}.pt-xxl-2{padding-top:.5rem !important}.pt-xxl-3{padding-top:1rem !important}.pt-xxl-4{padding-top:1.5rem !important}.pt-xxl-5{padding-top:3rem !important}.pe-xxl-0{padding-right:0 !important}.pe-xxl-1{padding-right:.25rem !important}.pe-xxl-2{padding-right:.5rem !important}.pe-xxl-3{padding-right:1rem !important}.pe-xxl-4{padding-right:1.5rem !important}.pe-xxl-5{padding-right:3rem !important}.pb-xxl-0{padding-bottom:0 !important}.pb-xxl-1{padding-bottom:.25rem !important}.pb-xxl-2{padding-bottom:.5rem !important}.pb-xxl-3{padding-bottom:1rem !important}.pb-xxl-4{padding-bottom:1.5rem !important}.pb-xxl-5{padding-bottom:3rem !important}.ps-xxl-0{padding-left:0 !important}.ps-xxl-1{padding-left:.25rem !important}.ps-xxl-2{padding-left:.5rem !important}.ps-xxl-3{padding-left:1rem !important}.ps-xxl-4{padding-left:1.5rem !important}.ps-xxl-5{padding-left:3rem !important}.gap-xxl-0{gap:0 !important}.gap-xxl-1{gap:.25rem !important}.gap-xxl-2{gap:.5rem !important}.gap-xxl-3{gap:1rem !important}.gap-xxl-4{gap:1.5rem !important}.gap-xxl-5{gap:3rem !important}.row-gap-xxl-0{row-gap:0 !important}.row-gap-xxl-1{row-gap:.25rem !important}.row-gap-xxl-2{row-gap:.5rem !important}.row-gap-xxl-3{row-gap:1rem !important}.row-gap-xxl-4{row-gap:1.5rem !important}.row-gap-xxl-5{row-gap:3rem !important}.column-gap-xxl-0{column-gap:0 !important}.column-gap-xxl-1{column-gap:.25rem !important}.column-gap-xxl-2{column-gap:.5rem !important}.column-gap-xxl-3{column-gap:1rem !important}.column-gap-xxl-4{column-gap:1.5rem !important}.column-gap-xxl-5{column-gap:3rem !important}.text-xxl-start{text-align:left !important}.text-xxl-end{text-align:right !important}.text-xxl-center{text-align:center !important}}.bg-default{color:#000}.bg-primary{color:#fff}.bg-secondary{color:#fff}.bg-success{color:#fff}.bg-info{color:#000}.bg-warning{color:#000}.bg-danger{color:#fff}.bg-light{color:#000}.bg-dark{color:#fff}@media (min-width: 1200px){.fs-1{font-size:2.1rem !important}.fs-2{font-size:2rem !important}.fs-3{font-size:1.75rem !important}.fs-4{font-size:1.5rem !important}}@media print{.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-grid{display:grid !important}.d-print-inline-grid{display:inline-grid !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}.d-print-none{display:none !important}}.table th[align=left]{text-align:left}.table th[align=right]{text-align:right}.table th[align=center]{text-align:center}.well{display:block;background-color:RGBA(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.03);color:RGB(var(--bs-emphasis-color-rgb, 0, 0, 0));padding:1rem;border-radius:3px}.well-lg{padding:1.5rem;border-radius:.5rem}.well-sm{padding:0.5rem;border-radius:.25rem}.dropdown-menu>li.active>a{color:#fff;text-decoration:none;background-color:#007bc2}.navbar .nav.nav-underline{--bs-navbar-nav-link-padding-x: 0}.navbar:not(.fixed-bottom):not(.navbar-fixed-bottom):not(.navbar-fixed-bottom)+div>.tab-content>.tab-pane{--bslib-navbar-margin: 20px;margin-top:var(--bslib-navbar-margin)}ul.nav.navbar-nav{flex:1;-webkit-flex:1}ul.nav.navbar-nav.navbar-right{flex:unset;-webkit-flex:unset;display:flex;display:-webkit-flex;justify-content:flex-end;-webkit-justify-content:flex-end}:where(ul.nav.navbar-nav > li).active>a,:where(ul.nav.navbar-nav > li).show>a,.in:where(ul.nav.navbar-nav > li)>a{color:var(--bs-navbar-active-color)}:where(ul.nav.navbar-nav > li).bslib-nav-item{color:var(--bs-navbar-active-color)}.navbar.navbar-default{background-color:var(--bslib-navbar-default-bg, var(--bs-light)) !important}.navbar.navbar-inverse{background-color:var(--bslib-navbar-inverse-bg, var(--bs-dark)) !important;--bs-emphasis-color: white;--bs-emphasis-color-rgb: 255, 255, 255}[data-bs-theme="dark"] .navbar.navbar-default{background-color:var(--bslib-navbar-default-bg, var(--bs-dark)) !important}.navbar-toggle>.icon-bar{display:none}@media (max-width: 991.98px){.navbar-header{width:100%;display:flex;flex-direction:row;align-items:center;justify-content:space-between}.navbar-header .navbar-toggle{order:2}}.nav-tabs>li.active>a{color:var(--bs-emphasis-color);background-color:var(--bs-body-bg);border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg)}.nav-pills>li.active>a{color:#fff;background-color:#007bc2}.nav-stacked{flex-direction:column;-webkit-flex-direction:column}.progress-bar-default{background-color:#dee2e6;color:#000}.progress-bar-primary{background-color:#007bc2;color:#fff}.progress-bar-secondary{background-color:#404040;color:#fff}.progress-bar-success{background-color:#00891a;color:#fff}.progress-bar-info{background-color:#03c7e8;color:#000}.progress-bar-warning{background-color:#f9b928;color:#000}.progress-bar-danger{background-color:#c10000;color:#fff}.progress-bar-light{background-color:#f8f8f8;color:#000}.progress-bar-dark{background-color:#202020;color:#fff}.datatables thead .form-group.has-feedback+div{background-color:var(--bs-body-bg) !important;color:var(--bs-body-color) !important;border-color:var(--bs-border-color) !important;border-width:var(--bs-border-width);border-radius:var(--bs-border-radius);border-style:var(--bs-border-style)}@font-face{font-family:'Glyphicons Halflings';src:url("fonts/bootstrap/glyphicons-halflings-regular.eot");src:url("fonts/bootstrap/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"),url("fonts/bootstrap/glyphicons-halflings-regular.woff2") format("woff2"),url("fonts/bootstrap/glyphicons-halflings-regular.woff") format("woff"),url("fonts/bootstrap/glyphicons-halflings-regular.ttf") format("truetype"),url("fonts/bootstrap/glyphicons-halflings-regular.svg#glyphicons_halflingsregular") format("svg")}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}.form-group{margin-bottom:1rem}.input-daterange .input-group-addon.input-group-prepend.input-group-append{padding:inherit;line-height:inherit;text-shadow:inherit;border-width:0}.input-daterange .input-group-addon.input-group-prepend.input-group-append .input-group-text{border-radius:0}.shiny-input-checkboxgroup .checkbox-inline,.shiny-input-radiogroup .radio-inline{cursor:pointer}.shiny-input-checkboxgroup label~.shiny-options-group,.shiny-input-radiogroup label~.shiny-options-group{margin-top:calc(-.15em - var(--bs-border-width))}pre.shiny-code{padding:0.5rem}:where(.section.level1, section.level1){margin-top:1.5rem}:where(.section.level2, section.level2){margin-top:1.5rem}:where(.section.level3, section.level3){margin-top:1.5rem}:where(.section.level4, section.level4){margin-top:1rem}:where(.section.level5, section.level5){margin-top:1rem}:where(.section.level6, section.level6){margin-top:1rem}:root{--bslib-spacer: 1rem;--bslib-mb-spacer: var(--bslib-spacer, 1rem)}.bslib-mb-spacing{margin-bottom:var(--bslib-mb-spacer)}.bslib-gap-spacing{gap:var(--bslib-mb-spacer)}.bslib-gap-spacing>.bslib-mb-spacing,.bslib-gap-spacing>.form-group,.bslib-gap-spacing>p,.bslib-gap-spacing>pre{margin-bottom:0}.html-fill-container>.html-fill-item.bslib-mb-spacing{margin-bottom:0}.tab-content>.tab-pane.html-fill-container{display:none}.tab-content>.active.html-fill-container{display:flex}.tab-content.html-fill-container{padding:0}.bg-blue{--bslib-color-bg: #007bc2;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-blue{--bslib-color-fg: #007bc2;color:var(--bslib-color-fg)}.bg-indigo{--bslib-color-bg: #4b00c1;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-indigo{--bslib-color-fg: #4b00c1;color:var(--bslib-color-fg)}.bg-purple{--bslib-color-bg: #74149c;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-purple{--bslib-color-fg: #74149c;color:var(--bslib-color-fg)}.bg-pink{--bslib-color-bg: #bf007f;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-pink{--bslib-color-fg: #bf007f;color:var(--bslib-color-fg)}.bg-red{--bslib-color-bg: #c10000;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-red{--bslib-color-fg: #c10000;color:var(--bslib-color-fg)}.bg-orange{--bslib-color-bg: #f45100;--bslib-color-fg: #000;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-orange{--bslib-color-fg: #f45100;color:var(--bslib-color-fg)}.bg-yellow{--bslib-color-bg: #f9b928;--bslib-color-fg: #000;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-yellow{--bslib-color-fg: #f9b928;color:var(--bslib-color-fg)}.bg-green{--bslib-color-bg: #00891a;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-green{--bslib-color-fg: #00891a;color:var(--bslib-color-fg)}.bg-teal{--bslib-color-bg: #00bf7f;--bslib-color-fg: #000;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-teal{--bslib-color-fg: #00bf7f;color:var(--bslib-color-fg)}.bg-cyan{--bslib-color-bg: #03c7e8;--bslib-color-fg: #000;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-cyan{--bslib-color-fg: #03c7e8;color:var(--bslib-color-fg)}.text-default{--bslib-color-fg: #dee2e6}.bg-default{--bslib-color-bg: #dee2e6;--bslib-color-fg: #000}.text-primary{--bslib-color-fg: #007bc2}.bg-primary{--bslib-color-bg: #007bc2;--bslib-color-fg: #fff}.text-secondary{--bslib-color-fg: #404040}.bg-secondary{--bslib-color-bg: #404040;--bslib-color-fg: #fff}.text-success{--bslib-color-fg: #00891a}.bg-success{--bslib-color-bg: #00891a;--bslib-color-fg: #fff}.text-info{--bslib-color-fg: #03c7e8}.bg-info{--bslib-color-bg: #03c7e8;--bslib-color-fg: #000}.text-warning{--bslib-color-fg: #f9b928}.bg-warning{--bslib-color-bg: #f9b928;--bslib-color-fg: #000}.text-danger{--bslib-color-fg: #c10000}.bg-danger{--bslib-color-bg: #c10000;--bslib-color-fg: #fff}.text-light{--bslib-color-fg: #f8f8f8}.bg-light{--bslib-color-bg: #f8f8f8;--bslib-color-fg: #000}.text-dark{--bslib-color-fg: #202020}.bg-dark{--bslib-color-bg: #202020;--bslib-color-fg: #fff}.bg-gradient-blue-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #1e4ac2;background:linear-gradient(var(--bg-gradient-deg, 140deg), #007bc2 var(--bg-gradient-start, 36%), #4b00c1 var(--bg-gradient-end, 180%)) #1e4ac2;color:#fff}.bg-gradient-blue-purple{--bslib-color-fg: #fff;--bslib-color-bg: #2e52b3;background:linear-gradient(var(--bg-gradient-deg, 140deg), #007bc2 var(--bg-gradient-start, 36%), #74149c var(--bg-gradient-end, 180%)) #2e52b3;color:#fff}.bg-gradient-blue-pink{--bslib-color-fg: #fff;--bslib-color-bg: #4c4aa7;background:linear-gradient(var(--bg-gradient-deg, 140deg), #007bc2 var(--bg-gradient-start, 36%), #bf007f var(--bg-gradient-end, 180%)) #4c4aa7;color:#fff}.bg-gradient-blue-red{--bslib-color-fg: #fff;--bslib-color-bg: #4d4a74;background:linear-gradient(var(--bg-gradient-deg, 140deg), #007bc2 var(--bg-gradient-start, 36%), #c10000 var(--bg-gradient-end, 180%)) #4d4a74;color:#fff}.bg-gradient-blue-orange{--bslib-color-fg: #fff;--bslib-color-bg: #626a74;background:linear-gradient(var(--bg-gradient-deg, 140deg), #007bc2 var(--bg-gradient-start, 36%), #f45100 var(--bg-gradient-end, 180%)) #626a74;color:#fff}.bg-gradient-blue-yellow{--bslib-color-fg: #000;--bslib-color-bg: #649484;background:linear-gradient(var(--bg-gradient-deg, 140deg), #007bc2 var(--bg-gradient-start, 36%), #f9b928 var(--bg-gradient-end, 180%)) #649484;color:#000}.bg-gradient-blue-green{--bslib-color-fg: #fff;--bslib-color-bg: #00817f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #007bc2 var(--bg-gradient-start, 36%), #00891a var(--bg-gradient-end, 180%)) #00817f;color:#fff}.bg-gradient-blue-teal{--bslib-color-fg: #000;--bslib-color-bg: #0096a7;background:linear-gradient(var(--bg-gradient-deg, 140deg), #007bc2 var(--bg-gradient-start, 36%), #00bf7f var(--bg-gradient-end, 180%)) #0096a7;color:#000}.bg-gradient-blue-cyan{--bslib-color-fg: #000;--bslib-color-bg: #0199d1;background:linear-gradient(var(--bg-gradient-deg, 140deg), #007bc2 var(--bg-gradient-start, 36%), #03c7e8 var(--bg-gradient-end, 180%)) #0199d1;color:#000}.bg-gradient-indigo-blue{--bslib-color-fg: #fff;--bslib-color-bg: #2d31c1;background:linear-gradient(var(--bg-gradient-deg, 140deg), #4b00c1 var(--bg-gradient-start, 36%), #007bc2 var(--bg-gradient-end, 180%)) #2d31c1;color:#fff}.bg-gradient-indigo-purple{--bslib-color-fg: #fff;--bslib-color-bg: #5b08b2;background:linear-gradient(var(--bg-gradient-deg, 140deg), #4b00c1 var(--bg-gradient-start, 36%), #74149c var(--bg-gradient-end, 180%)) #5b08b2;color:#fff}.bg-gradient-indigo-pink{--bslib-color-fg: #fff;--bslib-color-bg: #7900a7;background:linear-gradient(var(--bg-gradient-deg, 140deg), #4b00c1 var(--bg-gradient-start, 36%), #bf007f var(--bg-gradient-end, 180%)) #7900a7;color:#fff}.bg-gradient-indigo-red{--bslib-color-fg: #fff;--bslib-color-bg: #7a0074;background:linear-gradient(var(--bg-gradient-deg, 140deg), #4b00c1 var(--bg-gradient-start, 36%), #c10000 var(--bg-gradient-end, 180%)) #7a0074;color:#fff}.bg-gradient-indigo-orange{--bslib-color-fg: #fff;--bslib-color-bg: #8f2074;background:linear-gradient(var(--bg-gradient-deg, 140deg), #4b00c1 var(--bg-gradient-start, 36%), #f45100 var(--bg-gradient-end, 180%)) #8f2074;color:#fff}.bg-gradient-indigo-yellow{--bslib-color-fg: #fff;--bslib-color-bg: #914a84;background:linear-gradient(var(--bg-gradient-deg, 140deg), #4b00c1 var(--bg-gradient-start, 36%), #f9b928 var(--bg-gradient-end, 180%)) #914a84;color:#fff}.bg-gradient-indigo-green{--bslib-color-fg: #fff;--bslib-color-bg: #2d377e;background:linear-gradient(var(--bg-gradient-deg, 140deg), #4b00c1 var(--bg-gradient-start, 36%), #00891a var(--bg-gradient-end, 180%)) #2d377e;color:#fff}.bg-gradient-indigo-teal{--bslib-color-fg: #fff;--bslib-color-bg: #2d4ca7;background:linear-gradient(var(--bg-gradient-deg, 140deg), #4b00c1 var(--bg-gradient-start, 36%), #00bf7f var(--bg-gradient-end, 180%)) #2d4ca7;color:#fff}.bg-gradient-indigo-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #2e50d1;background:linear-gradient(var(--bg-gradient-deg, 140deg), #4b00c1 var(--bg-gradient-start, 36%), #03c7e8 var(--bg-gradient-end, 180%)) #2e50d1;color:#fff}.bg-gradient-purple-blue{--bslib-color-fg: #fff;--bslib-color-bg: #463dab;background:linear-gradient(var(--bg-gradient-deg, 140deg), #74149c var(--bg-gradient-start, 36%), #007bc2 var(--bg-gradient-end, 180%)) #463dab;color:#fff}.bg-gradient-purple-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #640cab;background:linear-gradient(var(--bg-gradient-deg, 140deg), #74149c var(--bg-gradient-start, 36%), #4b00c1 var(--bg-gradient-end, 180%)) #640cab;color:#fff}.bg-gradient-purple-pink{--bslib-color-fg: #fff;--bslib-color-bg: #920c90;background:linear-gradient(var(--bg-gradient-deg, 140deg), #74149c var(--bg-gradient-start, 36%), #bf007f var(--bg-gradient-end, 180%)) #920c90;color:#fff}.bg-gradient-purple-red{--bslib-color-fg: #fff;--bslib-color-bg: #930c5e;background:linear-gradient(var(--bg-gradient-deg, 140deg), #74149c var(--bg-gradient-start, 36%), #c10000 var(--bg-gradient-end, 180%)) #930c5e;color:#fff}.bg-gradient-purple-orange{--bslib-color-fg: #fff;--bslib-color-bg: #a72c5e;background:linear-gradient(var(--bg-gradient-deg, 140deg), #74149c var(--bg-gradient-start, 36%), #f45100 var(--bg-gradient-end, 180%)) #a72c5e;color:#fff}.bg-gradient-purple-yellow{--bslib-color-fg: #fff;--bslib-color-bg: #a9566e;background:linear-gradient(var(--bg-gradient-deg, 140deg), #74149c var(--bg-gradient-start, 36%), #f9b928 var(--bg-gradient-end, 180%)) #a9566e;color:#fff}.bg-gradient-purple-green{--bslib-color-fg: #fff;--bslib-color-bg: #464368;background:linear-gradient(var(--bg-gradient-deg, 140deg), #74149c var(--bg-gradient-start, 36%), #00891a var(--bg-gradient-end, 180%)) #464368;color:#fff}.bg-gradient-purple-teal{--bslib-color-fg: #fff;--bslib-color-bg: #465890;background:linear-gradient(var(--bg-gradient-deg, 140deg), #74149c var(--bg-gradient-start, 36%), #00bf7f var(--bg-gradient-end, 180%)) #465890;color:#fff}.bg-gradient-purple-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #475cba;background:linear-gradient(var(--bg-gradient-deg, 140deg), #74149c var(--bg-gradient-start, 36%), #03c7e8 var(--bg-gradient-end, 180%)) #475cba;color:#fff}.bg-gradient-pink-blue{--bslib-color-fg: #fff;--bslib-color-bg: #73319a;background:linear-gradient(var(--bg-gradient-deg, 140deg), #bf007f var(--bg-gradient-start, 36%), #007bc2 var(--bg-gradient-end, 180%)) #73319a;color:#fff}.bg-gradient-pink-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #910099;background:linear-gradient(var(--bg-gradient-deg, 140deg), #bf007f var(--bg-gradient-start, 36%), #4b00c1 var(--bg-gradient-end, 180%)) #910099;color:#fff}.bg-gradient-pink-purple{--bslib-color-fg: #fff;--bslib-color-bg: #a1088b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #bf007f var(--bg-gradient-start, 36%), #74149c var(--bg-gradient-end, 180%)) #a1088b;color:#fff}.bg-gradient-pink-red{--bslib-color-fg: #fff;--bslib-color-bg: #c0004c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #bf007f var(--bg-gradient-start, 36%), #c10000 var(--bg-gradient-end, 180%)) #c0004c;color:#fff}.bg-gradient-pink-orange{--bslib-color-fg: #fff;--bslib-color-bg: #d4204c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #bf007f var(--bg-gradient-start, 36%), #f45100 var(--bg-gradient-end, 180%)) #d4204c;color:#fff}.bg-gradient-pink-yellow{--bslib-color-fg: #000;--bslib-color-bg: #d64a5c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #bf007f var(--bg-gradient-start, 36%), #f9b928 var(--bg-gradient-end, 180%)) #d64a5c;color:#000}.bg-gradient-pink-green{--bslib-color-fg: #fff;--bslib-color-bg: #733757;background:linear-gradient(var(--bg-gradient-deg, 140deg), #bf007f var(--bg-gradient-start, 36%), #00891a var(--bg-gradient-end, 180%)) #733757;color:#fff}.bg-gradient-pink-teal{--bslib-color-fg: #fff;--bslib-color-bg: #734c7f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #bf007f var(--bg-gradient-start, 36%), #00bf7f var(--bg-gradient-end, 180%)) #734c7f;color:#fff}.bg-gradient-pink-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #7450a9;background:linear-gradient(var(--bg-gradient-deg, 140deg), #bf007f var(--bg-gradient-start, 36%), #03c7e8 var(--bg-gradient-end, 180%)) #7450a9;color:#fff}.bg-gradient-red-blue{--bslib-color-fg: #fff;--bslib-color-bg: #74314e;background:linear-gradient(var(--bg-gradient-deg, 140deg), #c10000 var(--bg-gradient-start, 36%), #007bc2 var(--bg-gradient-end, 180%)) #74314e;color:#fff}.bg-gradient-red-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #92004d;background:linear-gradient(var(--bg-gradient-deg, 140deg), #c10000 var(--bg-gradient-start, 36%), #4b00c1 var(--bg-gradient-end, 180%)) #92004d;color:#fff}.bg-gradient-red-purple{--bslib-color-fg: #fff;--bslib-color-bg: #a2083e;background:linear-gradient(var(--bg-gradient-deg, 140deg), #c10000 var(--bg-gradient-start, 36%), #74149c var(--bg-gradient-end, 180%)) #a2083e;color:#fff}.bg-gradient-red-pink{--bslib-color-fg: #fff;--bslib-color-bg: #c00033;background:linear-gradient(var(--bg-gradient-deg, 140deg), #c10000 var(--bg-gradient-start, 36%), #bf007f var(--bg-gradient-end, 180%)) #c00033;color:#fff}.bg-gradient-red-orange{--bslib-color-fg: #fff;--bslib-color-bg: #d52000;background:linear-gradient(var(--bg-gradient-deg, 140deg), #c10000 var(--bg-gradient-start, 36%), #f45100 var(--bg-gradient-end, 180%)) #d52000;color:#fff}.bg-gradient-red-yellow{--bslib-color-fg: #000;--bslib-color-bg: #d74a10;background:linear-gradient(var(--bg-gradient-deg, 140deg), #c10000 var(--bg-gradient-start, 36%), #f9b928 var(--bg-gradient-end, 180%)) #d74a10;color:#000}.bg-gradient-red-green{--bslib-color-fg: #fff;--bslib-color-bg: #74370a;background:linear-gradient(var(--bg-gradient-deg, 140deg), #c10000 var(--bg-gradient-start, 36%), #00891a var(--bg-gradient-end, 180%)) #74370a;color:#fff}.bg-gradient-red-teal{--bslib-color-fg: #fff;--bslib-color-bg: #744c33;background:linear-gradient(var(--bg-gradient-deg, 140deg), #c10000 var(--bg-gradient-start, 36%), #00bf7f var(--bg-gradient-end, 180%)) #744c33;color:#fff}.bg-gradient-red-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #75505d;background:linear-gradient(var(--bg-gradient-deg, 140deg), #c10000 var(--bg-gradient-start, 36%), #03c7e8 var(--bg-gradient-end, 180%)) #75505d;color:#fff}.bg-gradient-orange-blue{--bslib-color-fg: #fff;--bslib-color-bg: #92624e;background:linear-gradient(var(--bg-gradient-deg, 140deg), #f45100 var(--bg-gradient-start, 36%), #007bc2 var(--bg-gradient-end, 180%)) #92624e;color:#fff}.bg-gradient-orange-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #b0314d;background:linear-gradient(var(--bg-gradient-deg, 140deg), #f45100 var(--bg-gradient-start, 36%), #4b00c1 var(--bg-gradient-end, 180%)) #b0314d;color:#fff}.bg-gradient-orange-purple{--bslib-color-fg: #fff;--bslib-color-bg: #c1393e;background:linear-gradient(var(--bg-gradient-deg, 140deg), #f45100 var(--bg-gradient-start, 36%), #74149c var(--bg-gradient-end, 180%)) #c1393e;color:#fff}.bg-gradient-orange-pink{--bslib-color-fg: #fff;--bslib-color-bg: #df3133;background:linear-gradient(var(--bg-gradient-deg, 140deg), #f45100 var(--bg-gradient-start, 36%), #bf007f var(--bg-gradient-end, 180%)) #df3133;color:#fff}.bg-gradient-orange-red{--bslib-color-fg: #fff;--bslib-color-bg: #e03100;background:linear-gradient(var(--bg-gradient-deg, 140deg), #f45100 var(--bg-gradient-start, 36%), #c10000 var(--bg-gradient-end, 180%)) #e03100;color:#fff}.bg-gradient-orange-yellow{--bslib-color-fg: #000;--bslib-color-bg: #f67b10;background:linear-gradient(var(--bg-gradient-deg, 140deg), #f45100 var(--bg-gradient-start, 36%), #f9b928 var(--bg-gradient-end, 180%)) #f67b10;color:#000}.bg-gradient-orange-green{--bslib-color-fg: #fff;--bslib-color-bg: #92670a;background:linear-gradient(var(--bg-gradient-deg, 140deg), #f45100 var(--bg-gradient-start, 36%), #00891a var(--bg-gradient-end, 180%)) #92670a;color:#fff}.bg-gradient-orange-teal{--bslib-color-fg: #000;--bslib-color-bg: #927d33;background:linear-gradient(var(--bg-gradient-deg, 140deg), #f45100 var(--bg-gradient-start, 36%), #00bf7f var(--bg-gradient-end, 180%)) #927d33;color:#000}.bg-gradient-orange-cyan{--bslib-color-fg: #000;--bslib-color-bg: #94805d;background:linear-gradient(var(--bg-gradient-deg, 140deg), #f45100 var(--bg-gradient-start, 36%), #03c7e8 var(--bg-gradient-end, 180%)) #94805d;color:#000}.bg-gradient-yellow-blue{--bslib-color-fg: #000;--bslib-color-bg: #95a066;background:linear-gradient(var(--bg-gradient-deg, 140deg), #f9b928 var(--bg-gradient-start, 36%), #007bc2 var(--bg-gradient-end, 180%)) #95a066;color:#000}.bg-gradient-yellow-indigo{--bslib-color-fg: #000;--bslib-color-bg: #b36f65;background:linear-gradient(var(--bg-gradient-deg, 140deg), #f9b928 var(--bg-gradient-start, 36%), #4b00c1 var(--bg-gradient-end, 180%)) #b36f65;color:#000}.bg-gradient-yellow-purple{--bslib-color-fg: #000;--bslib-color-bg: #c47756;background:linear-gradient(var(--bg-gradient-deg, 140deg), #f9b928 var(--bg-gradient-start, 36%), #74149c var(--bg-gradient-end, 180%)) #c47756;color:#000}.bg-gradient-yellow-pink{--bslib-color-fg: #000;--bslib-color-bg: #e26f4b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #f9b928 var(--bg-gradient-start, 36%), #bf007f var(--bg-gradient-end, 180%)) #e26f4b;color:#000}.bg-gradient-yellow-red{--bslib-color-fg: #000;--bslib-color-bg: #e36f18;background:linear-gradient(var(--bg-gradient-deg, 140deg), #f9b928 var(--bg-gradient-start, 36%), #c10000 var(--bg-gradient-end, 180%)) #e36f18;color:#000}.bg-gradient-yellow-orange{--bslib-color-fg: #000;--bslib-color-bg: #f78f18;background:linear-gradient(var(--bg-gradient-deg, 140deg), #f9b928 var(--bg-gradient-start, 36%), #f45100 var(--bg-gradient-end, 180%)) #f78f18;color:#000}.bg-gradient-yellow-green{--bslib-color-fg: #000;--bslib-color-bg: #95a622;background:linear-gradient(var(--bg-gradient-deg, 140deg), #f9b928 var(--bg-gradient-start, 36%), #00891a var(--bg-gradient-end, 180%)) #95a622;color:#000}.bg-gradient-yellow-teal{--bslib-color-fg: #000;--bslib-color-bg: #95bb4b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #f9b928 var(--bg-gradient-start, 36%), #00bf7f var(--bg-gradient-end, 180%)) #95bb4b;color:#000}.bg-gradient-yellow-cyan{--bslib-color-fg: #000;--bslib-color-bg: #97bf75;background:linear-gradient(var(--bg-gradient-deg, 140deg), #f9b928 var(--bg-gradient-start, 36%), #03c7e8 var(--bg-gradient-end, 180%)) #97bf75;color:#000}.bg-gradient-green-blue{--bslib-color-fg: #fff;--bslib-color-bg: #00835d;background:linear-gradient(var(--bg-gradient-deg, 140deg), #00891a var(--bg-gradient-start, 36%), #007bc2 var(--bg-gradient-end, 180%)) #00835d;color:#fff}.bg-gradient-green-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #1e525d;background:linear-gradient(var(--bg-gradient-deg, 140deg), #00891a var(--bg-gradient-start, 36%), #4b00c1 var(--bg-gradient-end, 180%)) #1e525d;color:#fff}.bg-gradient-green-purple{--bslib-color-fg: #fff;--bslib-color-bg: #2e5a4e;background:linear-gradient(var(--bg-gradient-deg, 140deg), #00891a var(--bg-gradient-start, 36%), #74149c var(--bg-gradient-end, 180%)) #2e5a4e;color:#fff}.bg-gradient-green-pink{--bslib-color-fg: #fff;--bslib-color-bg: #4c5242;background:linear-gradient(var(--bg-gradient-deg, 140deg), #00891a var(--bg-gradient-start, 36%), #bf007f var(--bg-gradient-end, 180%)) #4c5242;color:#fff}.bg-gradient-green-red{--bslib-color-fg: #fff;--bslib-color-bg: #4d5210;background:linear-gradient(var(--bg-gradient-deg, 140deg), #00891a var(--bg-gradient-start, 36%), #c10000 var(--bg-gradient-end, 180%)) #4d5210;color:#fff}.bg-gradient-green-orange{--bslib-color-fg: #fff;--bslib-color-bg: #627310;background:linear-gradient(var(--bg-gradient-deg, 140deg), #00891a var(--bg-gradient-start, 36%), #f45100 var(--bg-gradient-end, 180%)) #627310;color:#fff}.bg-gradient-green-yellow{--bslib-color-fg: #000;--bslib-color-bg: #649c20;background:linear-gradient(var(--bg-gradient-deg, 140deg), #00891a var(--bg-gradient-start, 36%), #f9b928 var(--bg-gradient-end, 180%)) #649c20;color:#000}.bg-gradient-green-teal{--bslib-color-fg: #000;--bslib-color-bg: #009f42;background:linear-gradient(var(--bg-gradient-deg, 140deg), #00891a var(--bg-gradient-start, 36%), #00bf7f var(--bg-gradient-end, 180%)) #009f42;color:#000}.bg-gradient-green-cyan{--bslib-color-fg: #000;--bslib-color-bg: #01a26c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #00891a var(--bg-gradient-start, 36%), #03c7e8 var(--bg-gradient-end, 180%)) #01a26c;color:#000}.bg-gradient-teal-blue{--bslib-color-fg: #000;--bslib-color-bg: #00a49a;background:linear-gradient(var(--bg-gradient-deg, 140deg), #00bf7f var(--bg-gradient-start, 36%), #007bc2 var(--bg-gradient-end, 180%)) #00a49a;color:#000}.bg-gradient-teal-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #1e7399;background:linear-gradient(var(--bg-gradient-deg, 140deg), #00bf7f var(--bg-gradient-start, 36%), #4b00c1 var(--bg-gradient-end, 180%)) #1e7399;color:#fff}.bg-gradient-teal-purple{--bslib-color-fg: #fff;--bslib-color-bg: #2e7b8b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #00bf7f var(--bg-gradient-start, 36%), #74149c var(--bg-gradient-end, 180%)) #2e7b8b;color:#fff}.bg-gradient-teal-pink{--bslib-color-fg: #fff;--bslib-color-bg: #4c737f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #00bf7f var(--bg-gradient-start, 36%), #bf007f var(--bg-gradient-end, 180%)) #4c737f;color:#fff}.bg-gradient-teal-red{--bslib-color-fg: #fff;--bslib-color-bg: #4d734c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #00bf7f var(--bg-gradient-start, 36%), #c10000 var(--bg-gradient-end, 180%)) #4d734c;color:#fff}.bg-gradient-teal-orange{--bslib-color-fg: #000;--bslib-color-bg: #62934c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #00bf7f var(--bg-gradient-start, 36%), #f45100 var(--bg-gradient-end, 180%)) #62934c;color:#000}.bg-gradient-teal-yellow{--bslib-color-fg: #000;--bslib-color-bg: #64bd5c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #00bf7f var(--bg-gradient-start, 36%), #f9b928 var(--bg-gradient-end, 180%)) #64bd5c;color:#000}.bg-gradient-teal-green{--bslib-color-fg: #000;--bslib-color-bg: #00a957;background:linear-gradient(var(--bg-gradient-deg, 140deg), #00bf7f var(--bg-gradient-start, 36%), #00891a var(--bg-gradient-end, 180%)) #00a957;color:#000}.bg-gradient-teal-cyan{--bslib-color-fg: #000;--bslib-color-bg: #01c2a9;background:linear-gradient(var(--bg-gradient-deg, 140deg), #00bf7f var(--bg-gradient-start, 36%), #03c7e8 var(--bg-gradient-end, 180%)) #01c2a9;color:#000}.bg-gradient-cyan-blue{--bslib-color-fg: #000;--bslib-color-bg: #02a9d9;background:linear-gradient(var(--bg-gradient-deg, 140deg), #03c7e8 var(--bg-gradient-start, 36%), #007bc2 var(--bg-gradient-end, 180%)) #02a9d9;color:#000}.bg-gradient-cyan-indigo{--bslib-color-fg: #000;--bslib-color-bg: #2077d8;background:linear-gradient(var(--bg-gradient-deg, 140deg), #03c7e8 var(--bg-gradient-start, 36%), #4b00c1 var(--bg-gradient-end, 180%)) #2077d8;color:#000}.bg-gradient-cyan-purple{--bslib-color-fg: #000;--bslib-color-bg: #307fca;background:linear-gradient(var(--bg-gradient-deg, 140deg), #03c7e8 var(--bg-gradient-start, 36%), #74149c var(--bg-gradient-end, 180%)) #307fca;color:#000}.bg-gradient-cyan-pink{--bslib-color-fg: #000;--bslib-color-bg: #4e77be;background:linear-gradient(var(--bg-gradient-deg, 140deg), #03c7e8 var(--bg-gradient-start, 36%), #bf007f var(--bg-gradient-end, 180%)) #4e77be;color:#000}.bg-gradient-cyan-red{--bslib-color-fg: #fff;--bslib-color-bg: #4f778b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #03c7e8 var(--bg-gradient-start, 36%), #c10000 var(--bg-gradient-end, 180%)) #4f778b;color:#fff}.bg-gradient-cyan-orange{--bslib-color-fg: #000;--bslib-color-bg: #63988b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #03c7e8 var(--bg-gradient-start, 36%), #f45100 var(--bg-gradient-end, 180%)) #63988b;color:#000}.bg-gradient-cyan-yellow{--bslib-color-fg: #000;--bslib-color-bg: #65c19b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #03c7e8 var(--bg-gradient-start, 36%), #f9b928 var(--bg-gradient-end, 180%)) #65c19b;color:#000}.bg-gradient-cyan-green{--bslib-color-fg: #000;--bslib-color-bg: #02ae96;background:linear-gradient(var(--bg-gradient-deg, 140deg), #03c7e8 var(--bg-gradient-start, 36%), #00891a var(--bg-gradient-end, 180%)) #02ae96;color:#000}.bg-gradient-cyan-teal{--bslib-color-fg: #000;--bslib-color-bg: #02c4be;background:linear-gradient(var(--bg-gradient-deg, 140deg), #03c7e8 var(--bg-gradient-start, 36%), #00bf7f var(--bg-gradient-end, 180%)) #02c4be;color:#000}.irs.irs--shiny{margin-top:3px}.irs.irs--shiny .irs-min,.irs.irs--shiny .irs-max,.irs.irs--shiny .irs-from,.irs.irs--shiny .irs-to,.irs.irs--shiny .irs-single{padding:3px 6px;top:-3px}.irs.irs--shiny .irs-handle{top:23px}.irs.irs--shiny .irs-bar{top:31px;height:3px;border:none}.irs.irs--shiny .irs-line{border-radius:8px}.irs.irs--shiny .irs-grid-pol{height:6px}.irs.irs--shiny .irs-grid-text{bottom:8px}.irs.irs--shiny .irs-handle:focus-visible,.irs.irs--shiny .irs-handle:active{color:#005688;background-color:#005688;border-color:#005688;outline:0;box-shadow:0 0 0 .25rem rgba(0,123,194,0.25)}.irs.irs--shiny~.slider-animate-container{text-align:left}.irs.irs--shiny~.slider-animate-container .slider-animate-button{opacity:1}.irs.irs--shiny.irs-with-grid~.slider-animate-container{margin-top:-5px}.irs.irs--shiny:not(.irs-with-grid)~.slider-animate-container{margin-top:5px}.table.dataTable{--dt-row-selected: var(--bs-primary-rgb, "0,123,194");--dt-row-selected-text: var(--bs-white-rgb, "255,255,255");--dt-row-selected-link: var(--bs-light-rgh, "248,248,248")}.table.dataTable.dataTable.table-striped>tbody>tr.odd:not(.selected)>*{box-shadow:none}.table.dataTable.dataTable.table-striped>tbody>tr.even:not(.selected)>*{box-shadow:inset 0 0 0 9999px var(--bs-table-striped-bg)}.table.dataTable.dataTable tbody td.active,.table.dataTable.dataTable tbody tr.active td{background-color:var(--bs-table-active-bg)}.table.dataTable.dataTable.table-hover>tbody>tr:hover:not(.selected)>*{box-shadow:inset 0 0 0 9999px var(--bs-table-hover-bg)}thead,tbody,tfoot,tr,td,th{border:none}.table>thead{border-bottom:1px solid var(--bs-table-color)}th{font-weight:600}.datatables .dataTables_wrapper div.dataTables_info{padding-top:calc(var(--bslib-spacer, 1rem) * 1.65);font-size:.95rem}.datatables .dataTables_paginate{padding-top:var(--bslib-spacer, 1rem)}.datatables .paginate_button a{font-size:.95rem}.datatables .dataTables_length,.datatables .dataTables_filter{padding-bottom:var(--bslib-spacer, 1rem)}.datatables .dataTables_wrapper .dt-row{max-width:100%;overflow:auto}.datatables .dataTables_wrapper .dataTables_length select,.datatables .dataTables_wrapper .dataTables_filter input{border:none;border-bottom:1px solid var(--bs-body-color);border-radius:0}.bslib-card-table-sm.bslib-card[data-full-screen="false"] .datatables .dataTables_wrapper{font-size:85%}.bslib-card-table-sm.bslib-card[data-full-screen="false"] .datatables .dataTables_wrapper .dataTables_length,.bslib-card-table-sm.bslib-card[data-full-screen="false"] .datatables .dataTables_wrapper .dataTables_filter,.bslib-card-table-sm.bslib-card[data-full-screen="false"] .datatables .dataTables_wrapper .dataTables_paginate{display:none}:root{--bslib-box-shadow-color-rgb: 29,31,33}[data-bs-theme="dark"]{--bslib-box-shadow-color-rgb: 0,0,0}.checkbox input,.radio input{margin-right:.35em}.shiny-input-container-inline .shiny-options-group{display:flex;flex-wrap:wrap;flex-direction:row;column-gap:1em}.shiny-input-container-inline .shiny-options-group .checkbox-inline,.shiny-input-container-inline .shiny-options-group .radio-inline{position:relative;padding-left:calc(1.2em + .35em * 2)}.shiny-input-container-inline .shiny-options-group .checkbox-inline input,.shiny-input-container-inline .shiny-options-group .radio-inline input{position:absolute;margin-top:0;left:0;top:calc(.15em + var(--bs-border-width))}.shiny-date-range-input .input-daterange .input-group-addon{margin-right:-1px}.btn-outline-default,.btn-default:not(.btn-primary,.btn-secondary,.btn-info,.btn-success,.btn-danger,.btn-warning,.btn-light,.btn-dark,.btn-link,[class*="btn-outline-"]){--bs-btn-color: #404040;--bs-btn-border-color: #404040;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #404040;--bs-btn-hover-border-color: #404040;--bs-btn-focus-shadow-rgb: 64,64,64;--bs-btn-active-color: #fff;--bs-btn-active-bg: #404040;--bs-btn-active-border-color: #404040;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #404040;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #404040;--bs-btn-bg: transparent;--bs-gradient: none}[data-bs-theme="dark"] .btn-outline-default,[data-bs-theme="dark"] .btn-default:not(.btn-primary,.btn-secondary,.btn-info,.btn-success,.btn-danger,.btn-warning,.btn-light,.btn-dark,.btn-link,[class*="btn-outline-"]){--bs-btn-color: #dee2e6;--bs-btn-border-color: #dee2e6;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #dee2e6;--bs-btn-hover-border-color: #dee2e6;--bs-btn-focus-shadow-rgb: 222,226,230;--bs-btn-active-color: #000;--bs-btn-active-bg: #dee2e6;--bs-btn-active-border-color: #dee2e6;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #dee2e6;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #dee2e6;--bs-btn-bg: transparent;--bs-gradient: none}.selectize-control.plugin-remove_button .item{align-items:flex-start !important}.selectize-control.plugin-remove_button .item .remove{border-left:none !important}.bslib-card{box-shadow:var(--bslib-card-box-shadow, 0px 1px 2px RGBA(var(--bslib-box-shadow-color-rgb), 0.1),0px 3px 7px RGBA(var(--bslib-box-shadow-color-rgb), 0.1),0px 12px 30px RGBA(var(--bslib-box-shadow-color-rgb), 0.08))}.bslib-card .bslib-card{--bslib-card-box-shadow: }.bslib-card-box-shadow-sm{--bslib-card-box-shadow: var(--bslib-card-box-shadow-sm, 0px 1px 2px RGBA(var(--bslib-box-shadow-color-rgb), 0.1),0px 2px 3px RGBA(var(--bslib-box-shadow-color-rgb), 0.1),0px 3px 8px RGBA(var(--bslib-box-shadow-color-rgb), 0.1))}.bslib-card-box-shadow-md{--bslib-card-box-shadow: var(--bslib-card-box-shadow-md, 0px 1px 2px RGBA(var(--bslib-box-shadow-color-rgb), 0.1),0px 3px 7px RGBA(var(--bslib-box-shadow-color-rgb), 0.1),0px 12px 30px RGBA(var(--bslib-box-shadow-color-rgb), 0.08))}.bslib-card-box-shadow-lg{--bslib-card-box-shadow: var(--bslib-card-box-shadow-lg, 0px 16px 48px RGBA(var(--bslib-box-shadow-color-rgb), 0.1),0px 2px 3px RGBA(var(--bslib-box-shadow-color-rgb), 0.1),0px 16px 46px RGBA(var(--bslib-box-shadow-color-rgb), 0.1))}.bslib-card-box-shadow-none{--bslib-card-box-shadow: none}:root{--bslib-dashboard-sidebar-bg: var(--bs-body-bg);--bslib-dashboard-sidebar-main-bg: var(--bs-body-bg);--bslib-dashboard-main-bg: rgb(247, 247, 247);--bs-card-border-color: var(--bslib-dashboard-border-color-translucent, var(--bs-border-color-translucent));--bslib-sidebar-bg: var(--bs-body-bg);--bslib-sidebar-fg: var(--bs-color)}[data-bs-theme="dark"]{--bslib-dashboard-main-bg: rgb(20, 20, 24)}.bslib-card .card-header,.bslib-card .card-footer{background-color:transparent;font-size:0.9rem}.bslib-card .card-header{font-weight:600;line-height:1.375rem}.bslib-page-dashboard,.main:has(.tab-content>.bslib-page-dashboard.active){background-color:var(--bslib-dashboard-main-bg);--_main-bg: var(--bslib-dashboard-main-bg)}.bslib-page-navbar>.navbar,.bslib-page-dashboard>.navbar{--bslib-navbar-default-bg: var(--bs-body-bg);--bslib-navbar-inverse-bg: var(--bs-body-color)}.bslib-page-navbar>.navbar+div,.bslib-page-dashboard>.navbar+div{border-top:var(--bs-border-width) solid var(--bs-border-color-translucent)}.bslib-page-navbar>.navbar+div>.bslib-sidebar-layout,.bslib-page-navbar>.navbar+div>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout.html-fill-item,.bslib-page-dashboard>.navbar+div>.bslib-sidebar-layout,.bslib-page-dashboard>.navbar+div>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout.html-fill-item{border-top:none !important}.bslib-page-sidebar{--bslib-page-sidebar-title-bg: var(--bs-body-bg);--bslib-page-sidebar-title-color: var(--bs-body-color)}.bslib-page-sidebar .bslib-page-title{border-color:var(--bs-border-color-translucent)}.nav-underline{--bs-link-color: rgba(var(--bs-body-color-rgb), 0.65);--bs-link-hover-color: rgba(var(--bs-body-color-rgb), 0.8);--bs-nav-link-font-size: 0.875rem}.nav-underline .nav-link,.nav-underline :where(ul.nav.navbar-nav > li)>a,.nav-underline .nav-tabs>li>a,.nav-underline .nav-pills>li>a{padding-left:5px !important;padding-right:5px !important}.nav-underline .nav-link.active,.nav-underline :where(ul.nav.navbar-nav > li)>a.active,.nav-underline .nav-tabs>li>a.active,.nav-underline .nav-pills>li>a.active{font-weight:500}.navbar-collapse.show .nav-underline,.navbar-collapse.in .nav-underline,.navbar-collapse.collapsing .nav-underline{--bs-nav-underline-border-width: 0;--bs-nav-underline-gap: 0}.navbar .nav-underline .nav-link,.navbar .nav-underline :where(ul.nav.navbar-nav > li)>a,.navbar .nav-underline .nav-tabs>li>a,.navbar .nav-underline .nav-pills>li>a{padding-bottom:calc(var(--bs-navbar-padding-y, .5rem) * 2);margin-bottom:calc(var(--bs-navbar-padding-y, .5rem) * -1)}.bslib-value-box.default .value-box-showcase>i.bi{background:linear-gradient(140deg, #007bc2 36%, #74149c 180%) #007bc2;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.bslib-value-box.default .value-box-showcase>i.fa{background:linear-gradient(140deg, #007bc2 36%, #74149c 180%) #007bc2;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.bslib-value-box.default .value-box-showcase>i.fas{background:linear-gradient(140deg, #007bc2 36%, #74149c 180%) #007bc2;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.bslib-value-box.default .value-box-showcase>i.far{background:linear-gradient(140deg, #007bc2 36%, #74149c 180%) #007bc2;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.bslib-value-box.default .value-box-showcase>i.fab{background:linear-gradient(140deg, #007bc2 36%, #74149c 180%) #007bc2;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.bslib-value-box.default .value-box-showcase>i.material-icons{background:linear-gradient(140deg, #007bc2 36%, #74149c 180%) #007bc2;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.bslib-value-box.default .value-box-showcase>svg.bi{fill:url("#bslib---icon-gradient") #007bc2 !important}.bslib-value-box.default .value-box-showcase>svg.fa{fill:url("#bslib---icon-gradient") #007bc2 !important}.bslib-value-box.default .value-box-showcase>svg.fas{fill:url("#bslib---icon-gradient") #007bc2 !important}.bslib-value-box.default .value-box-showcase>svg.far{fill:url("#bslib---icon-gradient") #007bc2 !important}.bslib-value-box.default .value-box-showcase>svg.fab{fill:url("#bslib---icon-gradient") #007bc2 !important}.bslib-value-box.default .value-box-showcase>svg.material-icons{fill:url("#bslib---icon-gradient") #007bc2 !important}.bslib-value-box.text-info{color:#028097 !important}.bslib-value-box.text-info,.bslib-value-box.text-info.text-cyan{--bslib-color-fg: $cyan !important}.bslib-value-box.text-light{--bslib-color-fg: $gray-600 !important}.bslib-value-box.text-warning{color:#A87600 !important}.bslib-value-box.text-warning,.bslib-value-box.text-warning.text-yellow{--bslib-color-fg: $warning !important}.bslib-value-box.text-teal.text-teal{--bslib-color-fg: #008558}.modal-body,.modal-footer{padding:1.5rem}.modal-header .btn-close{align-self:start;display:flex}#shiny-modal-wrapper:has(~.modal-backdrop) .modal{backdrop-filter:blur(2px)}#shiny-notification-panel#shiny-notification-panel{position:fixed;bottom:calc(var(--bslib-spacer, 1rem) / 2);right:calc(var(--bslib-spacer, 1rem) / 2);width:450px;z-index:1090}.progress-message{margin-right:.6rem}.shiny-notification.shiny-notification{position:relative;opacity:0.96;padding:calc(var(--bslib-spacer, 1rem) * 2);margin:var(--bslib-spacer, 1rem);border:1px solid var(--bs-border-color-translucent);border-radius:8px;box-shadow:0px 1px 2px RGBA(var(--bslib-box-shadow-color-rgb), 0.1),0px 3px 7px RGBA(var(--bslib-box-shadow-color-rgb), 0.1),0px 12px 30px RGBA(var(--bslib-box-shadow-color-rgb), 0.08)}.shiny-notification.shiny-notification .shiny-notification-close{position:absolute;font-size:1.5em;width:2rem;height:2rem;top:0;right:0;bottom:unset;display:flex;align-items:center;justify-content:center;padding:0.25rem;cursor:pointer;font-weight:200;color:currentColor}.shiny-notification.shiny-notification .shiny-notification-close:hover{font-weight:normal}.shiny-notification.shiny-notification .shiny-notification-content-text :last-child{margin-bottom:0}
-
-/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAic3RkaW4uY3NzIiwKCSJzb3VyY2VzIjogWwoJCSJzdGRpbiIsCgkJIi4uLy4uLy4uLy4uL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL19mdW5jdGlvbnMuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvYnNsaWItc2Nzcy9mdW5jdGlvbnMuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvc2Fzcy11dGlscy9jb2xvci1jb250cmFzdC5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9idWlsdGluL2JzNS9zaGlueS9fdmFyaWFibGVzLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2JzM2NvbXBhdC9fZGVmYXVsdHMuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL192YXJpYWJsZXMuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL192YXJpYWJsZXMtZGFyay5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvX21hcHMuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL19taXhpbnMuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL3ZlbmRvci9fcmZzLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9taXhpbnMvX2RlcHJlY2F0ZS5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvbWl4aW5zL19jb2xvci1tb2RlLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9taXhpbnMvX2NvbG9yLXNjaGVtZS5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvbWl4aW5zL19pbWFnZS5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvbWl4aW5zL19yZXNpemUuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL21peGlucy9fdmlzdWFsbHktaGlkZGVuLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvbWl4aW5zL191dGlsaXRpZXMuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL21peGlucy9fYmFja2Ryb3Auc2NzcyIsCgkJIi4uLy4uLy4uLy4uL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL21peGlucy9fYnV0dG9ucy5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvbWl4aW5zL19jYXJldC5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9taXhpbnMvX2xpc3RzLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9taXhpbnMvX2Zvcm1zLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9taXhpbnMvX3RhYmxlLXZhcmlhbnRzLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL21peGlucy9fYm94LXNoYWRvdy5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL21peGlucy9fdHJhbnNpdGlvbi5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvbWl4aW5zL19jb250YWluZXIuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL21peGlucy9fZ3JpZC5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9iczNjb21wYXQvX2RlY2xhcmF0aW9ucy5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9idWlsdGluL2JzNS9zaGlueS9fbWl4aW5zLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2J1aWx0aW4vYnM1L3NoaW55L2lvbnJhbmdlc2xpZGVyL192YXJpYWJsZXMuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL21peGlucy9fYmFubmVyLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9fdXRpbGl0aWVzLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9fcm9vdC5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvX3JlYm9vdC5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvX3R5cGUuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL19pbWFnZXMuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL19jb250YWluZXJzLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9fZ3JpZC5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvX3RhYmxlcy5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvX2Zvcm1zLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9mb3Jtcy9fbGFiZWxzLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9mb3Jtcy9fZm9ybS10ZXh0LnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9mb3Jtcy9fZm9ybS1jb250cm9sLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9mb3Jtcy9fZm9ybS1zZWxlY3Quc2NzcyIsCgkJIi4uLy4uLy4uLy4uL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL2Zvcm1zL19mb3JtLWNoZWNrLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9mb3Jtcy9fZm9ybS1yYW5nZS5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvZm9ybXMvX2Zsb2F0aW5nLWxhYmVscy5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9mb3Jtcy9fdmFsaWRhdGlvbi5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvX2J1dHRvbnMuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL190cmFuc2l0aW9ucy5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvX2Ryb3Bkb3duLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9fYnV0dG9uLWdyb3VwLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9fbmF2LnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9fbmF2YmFyLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9fY2FyZC5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvX2FjY29yZGlvbi5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvX2JyZWFkY3J1bWIuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL19wYWdpbmF0aW9uLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9fYmFkZ2Uuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL19hbGVydC5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvX3Byb2dyZXNzLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9fbGlzdC1ncm91cC5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvX2Nsb3NlLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9fdG9hc3RzLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9fbW9kYWwuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL190b29sdGlwLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9fcG9wb3Zlci5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvX2Nhcm91c2VsLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9fc3Bpbm5lcnMuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL19vZmZjYW52YXMuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL19wbGFjZWhvbGRlcnMuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL19oZWxwZXJzLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9oZWxwZXJzL19jbGVhcmZpeC5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvaGVscGVycy9fY29sb3ItYmcuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL2hlbHBlcnMvX2NvbG9yZWQtbGlua3Muc2NzcyIsCgkJIi4uLy4uLy4uLy4uL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL2hlbHBlcnMvX2ZvY3VzLXJpbmcuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL2hlbHBlcnMvX2ljb24tbGluay5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvaGVscGVycy9fcmF0aW8uc2NzcyIsCgkJIi4uLy4uLy4uLy4uL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL2hlbHBlcnMvX3Bvc2l0aW9uLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9oZWxwZXJzL19zdGFja3Muc2NzcyIsCgkJIi4uLy4uLy4uLy4uL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL2hlbHBlcnMvX3Zpc3VhbGx5LWhpZGRlbi5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvaGVscGVycy9fc3RyZXRjaGVkLWxpbmsuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL2hlbHBlcnMvX3RleHQtdHJ1bmNhdGlvbi5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvaGVscGVycy9fdnIuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL3V0aWxpdGllcy9fYXBpLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2JzM2NvbXBhdC9fcnVsZXMuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvYnMzY29tcGF0L193ZWxscy5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9iczNjb21wYXQvX2hlbHBfdGV4dC5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9iczNjb21wYXQvX2Ryb3Bkb3duX2NvbXBhdC5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9iczNjb21wYXQvX25hdmJhcl9jb21wYXQuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvYnMzY29tcGF0L19uYXZfY29tcGF0LnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2JzM2NvbXBhdC9fcHJvZ3Jlc3NfY29tcGF0LnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2JzM2NvbXBhdC9fZHRfY29tcGF0LnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2JzM2NvbXBhdC9fZ2x5cGhpY29ucy5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9iczNjb21wYXQvX3NoaW55X2lucHV0LnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2JzM2NvbXBhdC9fc2hpbnlfbWlzYy5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9iczNjb21wYXQvX2hlYWRlcnMuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvYnNsaWItc2Nzcy9ic2xpYi5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9ic2xpYi1zY3NzL3NwYWNlci5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9ic2xpYi1zY3NzL3RhYi1maWxsLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2JzbGliLXNjc3MvY29sb3ItdXRpbGl0aWVzLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2J1aWx0aW4vYnM1L3NoaW55L19ydWxlcy5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9idWlsdGluL2JzNS9zaGlueS9pb25yYW5nZXNsaWRlci9fcnVsZXMuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvYnVpbHRpbi9iczUvc2hpbnkvdGFibGVzL19ydWxlcy5zY3NzIgoJXSwKCSJzb3VyY2VzQ29udGVudCI6IFsKCQkiQGltcG9ydCBcIi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9fZnVuY3Rpb25zLnNjc3NcIjtcbkBpbXBvcnQgXCIvcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9ic2xpYi1zY3NzL2Z1bmN0aW9ucy5zY3NzXCI7XG4kY29sb3ItY29udHJhc3Qtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG5cblxuXG4kYnNsaWItcHJlc2V0LXR5cGU6IGJ1aWx0aW47XG4kYnNsaWItcHJlc2V0LW5hbWU6IHNoaW55O1xuJHdlYi1mb250LXBhdGg6IFwiZm9udC5jc3NcIiAhZGVmYXVsdDtcbkBpbXBvcnQgXCIvcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9idWlsdGluL2JzNS9zaGlueS9fdmFyaWFibGVzLnNjc3NcIjtcbiRlbmFibGUtY3NzZ3JpZDogdHJ1ZSAhZGVmYXVsdDtcbkBpbXBvcnQgXCIvcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9iczNjb21wYXQvX2RlZmF1bHRzLnNjc3NcIjtcbkBpbXBvcnQgXCIvcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvX3ZhcmlhYmxlcy5zY3NzXCI7XG5AaW1wb3J0IFwiL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL192YXJpYWJsZXMtZGFyay5zY3NzXCI7XG4kYm9vdHN0cmFwLXZlcnNpb246IDU7XG4kYnNsaWItcHJlc2V0LW5hbWU6IG51bGwgIWRlZmF1bHQ7XG4kYnNsaWItcHJlc2V0LXR5cGU6IG51bGwgIWRlZmF1bHQ7XG5AaW1wb3J0IFwiL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL19tYXBzLnNjc3NcIjtcbkBpbXBvcnQgXCIvcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvX21peGlucy5zY3NzXCI7XG5AaW1wb3J0IFwiL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvYnMzY29tcGF0L19kZWNsYXJhdGlvbnMuc2Nzc1wiO1xuQGltcG9ydCBcIi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2J1aWx0aW4vYnM1L3NoaW55L19taXhpbnMuc2Nzc1wiO1xuOnJvb3Qge1xuLS1ic2xpYi1ib290c3RyYXAtdmVyc2lvbjogI3skYm9vdHN0cmFwLXZlcnNpb259O1xuLS1ic2xpYi1wcmVzZXQtbmFtZTogI3skYnNsaWItcHJlc2V0LW5hbWV9O1xuLS1ic2xpYi1wcmVzZXQtdHlwZTogI3skYnNsaWItcHJlc2V0LXR5cGV9O1xufVxuQGltcG9ydCBcIi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9taXhpbnMvX2Jhbm5lci5zY3NzXCI7XG5AaW5jbHVkZSBic0Jhbm5lcignJylcbkBpbXBvcnQgXCIvcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvX3V0aWxpdGllcy5zY3NzXCI7XG5AaW1wb3J0IFwiL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL19yb290LnNjc3NcIjtcbkBpbXBvcnQgXCIvcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvX3JlYm9vdC5zY3NzXCI7XG5AaW1wb3J0IFwiL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL190eXBlLnNjc3NcIjtcbkBpbXBvcnQgXCIvcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvX2ltYWdlcy5zY3NzXCI7XG5AaW1wb3J0IFwiL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL19jb250YWluZXJzLnNjc3NcIjtcbkBpbXBvcnQgXCIvcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvX2dyaWQuc2Nzc1wiO1xuQGltcG9ydCBcIi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9fdGFibGVzLnNjc3NcIjtcbkBpbXBvcnQgXCIvcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvX2Zvcm1zLnNjc3NcIjtcbkBpbXBvcnQgXCIvcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvX2J1dHRvbnMuc2Nzc1wiO1xuQGltcG9ydCBcIi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9fdHJhbnNpdGlvbnMuc2Nzc1wiO1xuQGltcG9ydCBcIi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9fZHJvcGRvd24uc2Nzc1wiO1xuQGltcG9ydCBcIi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9fYnV0dG9uLWdyb3VwLnNjc3NcIjtcbkBpbXBvcnQgXCIvcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvX25hdi5zY3NzXCI7XG5AaW1wb3J0IFwiL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL19uYXZiYXIuc2Nzc1wiO1xuQGltcG9ydCBcIi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9fY2FyZC5zY3NzXCI7XG5AaW1wb3J0IFwiL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL19hY2NvcmRpb24uc2Nzc1wiO1xuQGltcG9ydCBcIi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9fYnJlYWRjcnVtYi5zY3NzXCI7XG5AaW1wb3J0IFwiL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL19wYWdpbmF0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCIvcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvX2JhZGdlLnNjc3NcIjtcbkBpbXBvcnQgXCIvcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvX2FsZXJ0LnNjc3NcIjtcbkBpbXBvcnQgXCIvcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvX3Byb2dyZXNzLnNjc3NcIjtcbkBpbXBvcnQgXCIvcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvX2xpc3QtZ3JvdXAuc2Nzc1wiO1xuQGltcG9ydCBcIi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9fY2xvc2Uuc2Nzc1wiO1xuQGltcG9ydCBcIi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9fdG9hc3RzLnNjc3NcIjtcbkBpbXBvcnQgXCIvcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvX21vZGFsLnNjc3NcIjtcbkBpbXBvcnQgXCIvcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvX3Rvb2x0aXAuc2Nzc1wiO1xuQGltcG9ydCBcIi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9fcG9wb3Zlci5zY3NzXCI7XG5AaW1wb3J0IFwiL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL19jYXJvdXNlbC5zY3NzXCI7XG5AaW1wb3J0IFwiL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL19zcGlubmVycy5zY3NzXCI7XG5AaW1wb3J0IFwiL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvbGliL2JzNS9zY3NzL19vZmZjYW52YXMuc2Nzc1wiO1xuQGltcG9ydCBcIi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy9fcGxhY2Vob2xkZXJzLnNjc3NcIjtcbkBpbXBvcnQgXCIvcHJpdmF0ZS92YXIvZm9sZGVycy90OC9qeHc0YmZ0ajM1ZzE1ZmNiNm00bWZiYzgwMDAwZ24vVC9SdG1wSmxTdERkL3RlbXBfbGlicGF0aDdkZjMxYTRlNDgyNS9ic2xpYi9saWIvYnM1L3Njc3MvX2hlbHBlcnMuc2Nzc1wiO1xuQGltcG9ydCBcIi9wcml2YXRlL3Zhci9mb2xkZXJzL3Q4L2p4dzRiZnRqMzVnMTVmY2I2bTRtZmJjODAwMDBnbi9UL1J0bXBKbFN0RGQvdGVtcF9saWJwYXRoN2RmMzFhNGU0ODI1L2JzbGliL2xpYi9iczUvc2Nzcy91dGlsaXRpZXMvX2FwaS5zY3NzXCI7XG4udGFibGUgdGhbYWxpZ249bGVmdF0geyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4udGFibGUgdGhbYWxpZ249cmlnaHRdIHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbi50YWJsZSB0aFthbGlnbj1jZW50ZXJdIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5AaW1wb3J0IFwiL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvYnMzY29tcGF0L19ydWxlcy5zY3NzXCI7XG5AaW1wb3J0IFwiL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvYnNsaWItc2Nzcy9ic2xpYi5zY3NzXCI7XG5AaW1wb3J0IFwiL3ByaXZhdGUvdmFyL2ZvbGRlcnMvdDgvanh3NGJmdGozNWcxNWZjYjZtNG1mYmM4MDAwMGduL1QvUnRtcEpsU3REZC90ZW1wX2xpYnBhdGg3ZGYzMWE0ZTQ4MjUvYnNsaWIvYnVpbHRpbi9iczUvc2hpbnkvX3J1bGVzLnNjc3NcIjsiLAoJCSIvLyBCb290c3RyYXAgZnVuY3Rpb25zXG4vL1xuLy8gVXRpbGl0eSBtaXhpbnMgYW5kIGZ1bmN0aW9ucyBmb3IgZXZhbHVhdGluZyBzb3VyY2UgY29kZSBhY3Jvc3Mgb3VyIHZhcmlhYmxlcywgbWFwcywgYW5kIG1peGlucy5cblxuLy8gQXNjZW5kaW5nXG4vLyBVc2VkIHRvIGV2YWx1YXRlIFNhc3MgbWFwcyBsaWtlIG91ciBncmlkIGJyZWFrcG9pbnRzLlxuQG1peGluIF9hc3NlcnQtYXNjZW5kaW5nKCRtYXAsICRtYXAtbmFtZSkge1xuICAkcHJldi1rZXk6IG51bGw7XG4gICRwcmV2LW51bTogbnVsbDtcbiAgQGVhY2ggJGtleSwgJG51bSBpbiAkbWFwIHtcbiAgICBAaWYgJHByZXYtbnVtID09IG51bGwgb3IgdW5pdCgkbnVtKSA9PSBcIiVcIiBvciB1bml0KCRwcmV2LW51bSkgPT0gXCIlXCIge1xuICAgICAgLy8gRG8gbm90aGluZ1xuICAgIH0gQGVsc2UgaWYgbm90IGNvbXBhcmFibGUoJHByZXYtbnVtLCAkbnVtKSB7XG4gICAgICBAd2FybiBcIlBvdGVudGlhbGx5IGludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdob3NlIHVuaXQgbWFrZXMgaXQgaW5jb21wYXJhYmxlIHRvICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH0gQGVsc2UgaWYgJHByZXYtbnVtID49ICRudW0ge1xuICAgICAgQHdhcm4gXCJJbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aGljaCBpc24ndCBncmVhdGVyIHRoYW4gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfVxuICAgICRwcmV2LWtleTogJGtleTtcbiAgICAkcHJldi1udW06ICRudW07XG4gIH1cbn1cblxuLy8gU3RhcnRzIGF0IHplcm9cbi8vIFVzZWQgdG8gZW5zdXJlIHRoZSBtaW4td2lkdGggb2YgdGhlIGxvd2VzdCBicmVha3BvaW50IHN0YXJ0cyBhdCAwLlxuQG1peGluIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJG1hcCwgJG1hcC1uYW1lOiBcIiRncmlkLWJyZWFrcG9pbnRzXCIpIHtcbiAgQGlmIGxlbmd0aCgkbWFwKSA+IDAge1xuICAgICR2YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XG4gICAgJGZpcnN0LXZhbHVlOiBudGgoJHZhbHVlcywgMSk7XG4gICAgQGlmICRmaXJzdC12YWx1ZSAhPSAwIHtcbiAgICAgIEB3YXJuIFwiRmlyc3QgYnJlYWtwb2ludCBpbiAjeyRtYXAtbmFtZX0gbXVzdCBzdGFydCBhdCAwLCBidXQgc3RhcnRzIGF0ICN7JGZpcnN0LXZhbHVlfS5cIjtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sb3JzXG5AZnVuY3Rpb24gdG8tcmdiKCR2YWx1ZSkge1xuICBAcmV0dXJuIHJlZCgkdmFsdWUpLCBncmVlbigkdmFsdWUpLCBibHVlKCR2YWx1ZSk7XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHNjc3MvZG9sbGFyLXZhcmlhYmxlLXBhdHRlcm5cbkBmdW5jdGlvbiByZ2JhLWNzcy12YXIoJGlkZW50aWZpZXIsICR0YXJnZXQpIHtcbiAgQGlmICRpZGVudGlmaWVyID09IFwiYm9keVwiIGFuZCAkdGFyZ2V0ID09IFwiYmdcIiB7XG4gICAgQHJldHVybiByZ2JhKHZhcigtLSN7JHByZWZpeH0jeyRpZGVudGlmaWVyfS1iZy1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9I3skdGFyZ2V0fS1vcGFjaXR5KSk7XG4gIH0gQGlmICRpZGVudGlmaWVyID09IFwiYm9keVwiIGFuZCAkdGFyZ2V0ID09IFwidGV4dFwiIHtcbiAgICBAcmV0dXJuIHJnYmEodmFyKC0tI3skcHJlZml4fSN7JGlkZW50aWZpZXJ9LWNvbG9yLXJnYiksIHZhcigtLSN7JHByZWZpeH0jeyR0YXJnZXR9LW9wYWNpdHkpKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiByZ2JhKHZhcigtLSN7JHByZWZpeH0jeyRpZGVudGlmaWVyfS1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9I3skdGFyZ2V0fS1vcGFjaXR5KSk7XG4gIH1cbn1cblxuQGZ1bmN0aW9uIG1hcC1sb29wKCRtYXAsICRmdW5jLCAkYXJncy4uLikge1xuICAkX21hcDogKCk7XG5cbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgIC8vIGFsbG93IHRvIHBhc3MgdGhlICRrZXkgYW5kICR2YWx1ZSBvZiB0aGUgbWFwIGFzIGFuIGZ1bmN0aW9uIGFyZ3VtZW50XG4gICAgJF9hcmdzOiAoKTtcbiAgICBAZWFjaCAkYXJnIGluICRhcmdzIHtcbiAgICAgICRfYXJnczogYXBwZW5kKCRfYXJncywgaWYoJGFyZyA9PSBcIiRrZXlcIiwgJGtleSwgaWYoJGFyZyA9PSBcIiR2YWx1ZVwiLCAkdmFsdWUsICRhcmcpKSk7XG4gICAgfVxuXG4gICAgJF9tYXA6IG1hcC1tZXJnZSgkX21hcCwgKCRrZXk6IGNhbGwoZ2V0LWZ1bmN0aW9uKCRmdW5jKSwgJF9hcmdzLi4uKSkpO1xuICB9XG5cbiAgQHJldHVybiAkX21hcDtcbn1cbi8vIHN0eWxlbGludC1lbmFibGUgc2Nzcy9kb2xsYXItdmFyaWFibGUtcGF0dGVyblxuXG5AZnVuY3Rpb24gdmFyaWZ5KCRsaXN0KSB7XG4gICRyZXN1bHQ6IG51bGw7XG4gIEBlYWNoICRlbnRyeSBpbiAkbGlzdCB7XG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIHZhcigtLSN7JHByZWZpeH0jeyRlbnRyeX0pLCBzcGFjZSk7XG4gIH1cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLyBJbnRlcm5hbCBCb290c3RyYXAgZnVuY3Rpb24gdG8gdHVybiBtYXBzIGludG8gaXRzIG5lZ2F0aXZlIHZhcmlhbnQuXG4vLyBJdCBwcmVmaXhlcyB0aGUga2V5cyB3aXRoIGBuYCBhbmQgbWFrZXMgdGhlIHZhbHVlIG5lZ2F0aXZlLlxuQGZ1bmN0aW9uIG5lZ2F0aXZpZnktbWFwKCRtYXApIHtcbiAgJHJlc3VsdDogKCk7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICBAaWYgJGtleSAhPSAwIHtcbiAgICAgICRyZXN1bHQ6IG1hcC1tZXJnZSgkcmVzdWx0LCAoXCJuXCIgKyAka2V5OiAoLSR2YWx1ZSkpKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLyBHZXQgbXVsdGlwbGUga2V5cyBmcm9tIGEgc2FzcyBtYXBcbkBmdW5jdGlvbiBtYXAtZ2V0LW11bHRpcGxlKCRtYXAsICR2YWx1ZXMpIHtcbiAgJHJlc3VsdDogKCk7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICBAaWYgKGluZGV4KCR2YWx1ZXMsICRrZXkpICE9IG51bGwpIHtcbiAgICAgICRyZXN1bHQ6IG1hcC1tZXJnZSgkcmVzdWx0LCAoJGtleTogJHZhbHVlKSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8gTWVyZ2UgbXVsdGlwbGUgbWFwc1xuQGZ1bmN0aW9uIG1hcC1tZXJnZS1tdWx0aXBsZSgkbWFwcy4uLikge1xuICAkbWVyZ2VkLW1hcHM6ICgpO1xuXG4gIEBlYWNoICRtYXAgaW4gJG1hcHMge1xuICAgICRtZXJnZWQtbWFwczogbWFwLW1lcmdlKCRtZXJnZWQtbWFwcywgJG1hcCk7XG4gIH1cbiAgQHJldHVybiAkbWVyZ2VkLW1hcHM7XG59XG5cbi8vIFJlcGxhY2UgYCRzZWFyY2hgIHdpdGggYCRyZXBsYWNlYCBpbiBgJHN0cmluZ2Bcbi8vIFVzZWQgb24gb3VyIFNWRyBpY29uIGJhY2tncm91bmRzIGZvciBjdXN0b20gZm9ybXMuXG4vL1xuLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBJbml0aWFsIHN0cmluZ1xuLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWFyY2ggLSBTdWJzdHJpbmcgdG8gcmVwbGFjZVxuLy8gQHBhcmFtIHtTdHJpbmd9ICRyZXBsYWNlICgnJykgLSBOZXcgdmFsdWVcbi8vIEByZXR1cm4ge1N0cmluZ30gLSBVcGRhdGVkIHN0cmluZ1xuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiBcIlwiKSB7XG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gIEBpZiAkaW5kZXgge1xuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuLy8gU2VlIGh0dHBzOi8vY29kZXBlbi5pby9rZXZpbndlYmVyL3Blbi9kWFdvUndcbi8vXG4vLyBSZXF1aXJlcyB0aGUgdXNlIG9mIHF1b3RlcyBhcm91bmQgZGF0YSBVUklzLlxuXG5AZnVuY3Rpb24gZXNjYXBlLXN2Zygkc3RyaW5nKSB7XG4gIEBpZiBzdHItaW5kZXgoJHN0cmluZywgXCJkYXRhOmltYWdlL3N2Zyt4bWxcIikge1xuICAgIEBlYWNoICRjaGFyLCAkZW5jb2RlZCBpbiAkZXNjYXBlZC1jaGFyYWN0ZXJzIHtcbiAgICAgIC8vIERvIG5vdCBlc2NhcGUgdGhlIHVybCBicmFja2V0c1xuICAgICAgQGlmIHN0ci1pbmRleCgkc3RyaW5nLCBcInVybChcIikgPT0gMSB7XG4gICAgICAgICRzdHJpbmc6IHVybChcIiN7c3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsIDYsIC0zKSwgJGNoYXIsICRlbmNvZGVkKX1cIik7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHN0cmluZzogc3RyLXJlcGxhY2UoJHN0cmluZywgJGNoYXIsICRlbmNvZGVkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbi8vIENvbG9yIGNvbnRyYXN0XG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzAxNjhcblxuLy8gQSBsaXN0IG9mIHByZS1jYWxjdWxhdGVkIG51bWJlcnMgb2YgcG93KGRpdmlkZSgoZGl2aWRlKCR2YWx1ZSwgMjU1KSArIC4wNTUpLCAxLjA1NSksIDIuNCkuIChmcm9tIDAgdG8gMjU1KVxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHQsIHNjc3MvZG9sbGFyLXZhcmlhYmxlLXBhdHRlcm5cbiRfbHVtaW5hbmNlLWxpc3Q6IC4wMDA4IC4wMDEgLjAwMTEgLjAwMTMgLjAwMTUgLjAwMTcgLjAwMiAuMDAyMiAuMDAyNSAuMDAyNyAuMDAzIC4wMDMzIC4wMDM3IC4wMDQgLjAwNDQgLjAwNDggLjAwNTIgLjAwNTYgLjAwNiAuMDA2NSAuMDA3IC4wMDc1IC4wMDggLjAwODYgLjAwOTEgLjAwOTcgLjAxMDMgLjAxMSAuMDExNiAuMDEyMyAuMDEzIC4wMTM3IC4wMTQ0IC4wMTUyIC4wMTYgLjAxNjggLjAxNzYgLjAxODUgLjAxOTQgLjAyMDMgLjAyMTIgLjAyMjIgLjAyMzIgLjAyNDIgLjAyNTIgLjAyNjIgLjAyNzMgLjAyODQgLjAyOTYgLjAzMDcgLjAzMTkgLjAzMzEgLjAzNDMgLjAzNTYgLjAzNjkgLjAzODIgLjAzOTUgLjA0MDkgLjA0MjMgLjA0MzcgLjA0NTIgLjA0NjcgLjA0ODIgLjA0OTcgLjA1MTMgLjA1MjkgLjA1NDUgLjA1NjEgLjA1NzggLjA1OTUgLjA2MTIgLjA2MyAuMDY0OCAuMDY2NiAuMDY4NSAuMDcwNCAuMDcyMyAuMDc0MiAuMDc2MiAuMDc4MiAuMDgwMiAuMDgyMyAuMDg0NCAuMDg2NSAuMDg4NyAuMDkwOCAuMDkzMSAuMDk1MyAuMDk3NiAuMDk5OSAuMTAyMiAuMTA0NiAuMTA3IC4xMDk1IC4xMTE5IC4xMTQ0IC4xMTcgLjExOTUgLjEyMjEgLjEyNDggLjEyNzQgLjEzMDEgLjEzMjkgLjEzNTYgLjEzODQgLjE0MTMgLjE0NDEgLjE0NyAuMTUgLjE1MjkgLjE1NTkgLjE1OSAuMTYyIC4xNjUxIC4xNjgzIC4xNzE0IC4xNzQ2IC4xNzc5IC4xODEyIC4xODQ1IC4xODc4IC4xOTEyIC4xOTQ2IC4xOTgxIC4yMDE2IC4yMDUxIC4yMDg2IC4yMTIyIC4yMTU5IC4yMTk1IC4yMjMyIC4yMjcgLjIzMDcgLjIzNDYgLjIzODQgLjI0MjMgLjI0NjIgLjI1MDIgLjI1NDIgLjI1ODIgLjI2MjMgLjI2NjQgLjI3MDUgLjI3NDcgLjI3ODkgLjI4MzEgLjI4NzQgLjI5MTggLjI5NjEgLjMwMDUgLjMwNSAuMzA5NSAuMzE0IC4zMTg1IC4zMjMxIC4zMjc4IC4zMzI1IC4zMzcyIC4zNDE5IC4zNDY3IC4zNTE1IC4zNTY0IC4zNjEzIC4zNjYzIC4zNzEyIC4zNzYzIC4zODEzIC4zODY0IC4zOTE2IC4zOTY4IC40MDIgLjQwNzIgLjQxMjUgLjQxNzkgLjQyMzMgLjQyODcgLjQzNDIgLjQzOTcgLjQ0NTIgLjQ1MDggLjQ1NjQgLjQ2MjEgLjQ2NzggLjQ3MzUgLjQ3OTMgLjQ4NTEgLjQ5MSAuNDk2OSAuNTAyOSAuNTA4OSAuNTE0OSAuNTIxIC41MjcxIC41MzMzIC41Mzk1IC41NDU3IC41NTIgLjU1ODMgLjU2NDcgLjU3MTEgLjU3NzYgLjU4NDEgLjU5MDYgLjU5NzIgLjYwMzggLjYxMDUgLjYxNzIgLjYyNCAuNjMwOCAuNjM3NiAuNjQ0NSAuNjUxNCAuNjU4NCAuNjY1NCAuNjcyNCAuNjc5NSAuNjg2NyAuNjkzOSAuNzAxMSAuNzA4NCAuNzE1NyAuNzIzMSAuNzMwNSAuNzM3OSAuNzQ1NCAuNzUyOSAuNzYwNSAuNzY4MiAuNzc1OCAuNzgzNSAuNzkxMyAuNzk5MSAuODA3IC44MTQ4IC44MjI4IC44MzA4IC44Mzg4IC44NDY5IC44NTUgLjg2MzIgLjg3MTQgLjg3OTYgLjg4NzkgLjg5NjMgLjkwNDcgLjkxMzEgLjkyMTYgLjkzMDEgLjkzODcgLjk0NzMgLjk1NiAuOTY0NyAuOTczNCAuOTgyMyAuOTkxMSAxO1xuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGJhY2tncm91bmQsICRjb2xvci1jb250cmFzdC1kYXJrOiAkY29sb3ItY29udHJhc3QtZGFyaywgJGNvbG9yLWNvbnRyYXN0LWxpZ2h0OiAkY29sb3ItY29udHJhc3QtbGlnaHQsICRtaW4tY29udHJhc3QtcmF0aW86ICRtaW4tY29udHJhc3QtcmF0aW8pIHtcbiAgJGZvcmVncm91bmRzOiAkY29sb3ItY29udHJhc3QtbGlnaHQsICRjb2xvci1jb250cmFzdC1kYXJrLCAkd2hpdGUsICRibGFjaztcbiAgJG1heC1yYXRpbzogMDtcbiAgJG1heC1yYXRpby1jb2xvcjogbnVsbDtcblxuICBAZWFjaCAkY29sb3IgaW4gJGZvcmVncm91bmRzIHtcbiAgICAkY29udHJhc3QtcmF0aW86IGNvbnRyYXN0LXJhdGlvKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xuICAgIEBpZiAkY29udHJhc3QtcmF0aW8gPiAkbWluLWNvbnRyYXN0LXJhdGlvIHtcbiAgICAgIEByZXR1cm4gJGNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGNvbnRyYXN0LXJhdGlvID4gJG1heC1yYXRpbyB7XG4gICAgICAkbWF4LXJhdGlvOiAkY29udHJhc3QtcmF0aW87XG4gICAgICAkbWF4LXJhdGlvLWNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG5cbiAgQHdhcm4gXCJGb3VuZCBubyBjb2xvciBsZWFkaW5nIHRvICN7JG1pbi1jb250cmFzdC1yYXRpb306MSBjb250cmFzdCByYXRpbyBhZ2FpbnN0ICN7JGJhY2tncm91bmR9Li4uXCI7XG5cbiAgQHJldHVybiAkbWF4LXJhdGlvLWNvbG9yO1xufVxuXG5AZnVuY3Rpb24gY29udHJhc3QtcmF0aW8oJGJhY2tncm91bmQsICRmb3JlZ3JvdW5kOiAkY29sb3ItY29udHJhc3QtbGlnaHQpIHtcbiAgJGwxOiBsdW1pbmFuY2UoJGJhY2tncm91bmQpO1xuICAkbDI6IGx1bWluYW5jZShvcGFxdWUoJGJhY2tncm91bmQsICRmb3JlZ3JvdW5kKSk7XG5cbiAgQHJldHVybiBpZigkbDEgPiAkbDIsIGRpdmlkZSgkbDEgKyAuMDUsICRsMiArIC4wNSksIGRpdmlkZSgkbDIgKyAuMDUsICRsMSArIC4wNSkpO1xufVxuXG4vLyBSZXR1cm4gV0NBRzIuMSByZWxhdGl2ZSBsdW1pbmFuY2Vcbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvV0NBRy8jZGZuLXJlbGF0aXZlLWx1bWluYW5jZVxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9XQ0FHLyNkZm4tY29udHJhc3QtcmF0aW9cbkBmdW5jdGlvbiBsdW1pbmFuY2UoJGNvbG9yKSB7XG4gICRyZ2I6IChcbiAgICBcInJcIjogcmVkKCRjb2xvciksXG4gICAgXCJnXCI6IGdyZWVuKCRjb2xvciksXG4gICAgXCJiXCI6IGJsdWUoJGNvbG9yKVxuICApO1xuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJHJnYiB7XG4gICAgJHZhbHVlOiBpZihkaXZpZGUoJHZhbHVlLCAyNTUpIDwgLjA0MDQ1LCBkaXZpZGUoZGl2aWRlKCR2YWx1ZSwgMjU1KSwgMTIuOTIpLCBudGgoJF9sdW1pbmFuY2UtbGlzdCwgJHZhbHVlICsgMSkpO1xuICAgICRyZ2I6IG1hcC1tZXJnZSgkcmdiLCAoJG5hbWU6ICR2YWx1ZSkpO1xuICB9XG5cbiAgQHJldHVybiAobWFwLWdldCgkcmdiLCBcInJcIikgKiAuMjEyNikgKyAobWFwLWdldCgkcmdiLCBcImdcIikgKiAuNzE1MikgKyAobWFwLWdldCgkcmdiLCBcImJcIikgKiAuMDcyMik7XG59XG5cbi8vIFJldHVybiBvcGFxdWUgY29sb3Jcbi8vIG9wYXF1ZSgjZmZmLCByZ2JhKDAsIDAsIDAsIC41KSkgPT4gIzgwODA4MFxuQGZ1bmN0aW9uIG9wYXF1ZSgkYmFja2dyb3VuZCwgJGZvcmVncm91bmQpIHtcbiAgQHJldHVybiBtaXgocmdiYSgkZm9yZWdyb3VuZCwgMSksICRiYWNrZ3JvdW5kLCBvcGFjaXR5KCRmb3JlZ3JvdW5kKSAqIDEwMCUpO1xufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3ItZnVuY3Rpb25zXG4vLyBUaW50IGEgY29sb3I6IG1peCBhIGNvbG9yIHdpdGggd2hpdGVcbkBmdW5jdGlvbiB0aW50LWNvbG9yKCRjb2xvciwgJHdlaWdodCkge1xuICBAcmV0dXJuIG1peCh3aGl0ZSwgJGNvbG9yLCAkd2VpZ2h0KTtcbn1cblxuLy8gU2hhZGUgYSBjb2xvcjogbWl4IGEgY29sb3Igd2l0aCBibGFja1xuQGZ1bmN0aW9uIHNoYWRlLWNvbG9yKCRjb2xvciwgJHdlaWdodCkge1xuICBAcmV0dXJuIG1peChibGFjaywgJGNvbG9yLCAkd2VpZ2h0KTtcbn1cblxuLy8gU2hhZGUgdGhlIGNvbG9yIGlmIHRoZSB3ZWlnaHQgaXMgcG9zaXRpdmUsIGVsc2UgdGludCBpdFxuQGZ1bmN0aW9uIHNoaWZ0LWNvbG9yKCRjb2xvciwgJHdlaWdodCkge1xuICBAcmV0dXJuIGlmKCR3ZWlnaHQgPiAwLCBzaGFkZS1jb2xvcigkY29sb3IsICR3ZWlnaHQpLCB0aW50LWNvbG9yKCRjb2xvciwgLSR3ZWlnaHQpKTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgY29sb3ItZnVuY3Rpb25zXG5cbi8vIFJldHVybiB2YWxpZCBjYWxjXG5AZnVuY3Rpb24gYWRkKCR2YWx1ZTEsICR2YWx1ZTIsICRyZXR1cm4tY2FsYzogdHJ1ZSkge1xuICBAaWYgJHZhbHVlMSA9PSBudWxsIHtcbiAgICBAcmV0dXJuICR2YWx1ZTI7XG4gIH1cblxuICBAaWYgJHZhbHVlMiA9PSBudWxsIHtcbiAgICBAcmV0dXJuICR2YWx1ZTE7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkdmFsdWUxKSA9PSBudW1iZXIgYW5kIHR5cGUtb2YoJHZhbHVlMikgPT0gbnVtYmVyIGFuZCBjb21wYXJhYmxlKCR2YWx1ZTEsICR2YWx1ZTIpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTEgKyAkdmFsdWUyO1xuICB9XG5cbiAgQHJldHVybiBpZigkcmV0dXJuLWNhbGMgPT0gdHJ1ZSwgY2FsYygjeyR2YWx1ZTF9ICsgI3skdmFsdWUyfSksICR2YWx1ZTEgKyB1bnF1b3RlKFwiICsgXCIpICsgJHZhbHVlMik7XG59XG5cbkBmdW5jdGlvbiBzdWJ0cmFjdCgkdmFsdWUxLCAkdmFsdWUyLCAkcmV0dXJuLWNhbGM6IHRydWUpIHtcbiAgQGlmICR2YWx1ZTEgPT0gbnVsbCBhbmQgJHZhbHVlMiA9PSBudWxsIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICBAaWYgJHZhbHVlMSA9PSBudWxsIHtcbiAgICBAcmV0dXJuIC0kdmFsdWUyO1xuICB9XG5cbiAgQGlmICR2YWx1ZTIgPT0gbnVsbCB7XG4gICAgQHJldHVybiAkdmFsdWUxO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHZhbHVlMSkgPT0gbnVtYmVyIGFuZCB0eXBlLW9mKCR2YWx1ZTIpID09IG51bWJlciBhbmQgY29tcGFyYWJsZSgkdmFsdWUxLCAkdmFsdWUyKSB7XG4gICAgQHJldHVybiAkdmFsdWUxIC0gJHZhbHVlMjtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZTIpICE9IG51bWJlciB7XG4gICAgJHZhbHVlMjogdW5xdW90ZShcIihcIikgKyAkdmFsdWUyICsgdW5xdW90ZShcIilcIik7XG4gIH1cblxuICBAcmV0dXJuIGlmKCRyZXR1cm4tY2FsYyA9PSB0cnVlLCBjYWxjKCN7JHZhbHVlMX0gLSAjeyR2YWx1ZTJ9KSwgJHZhbHVlMSArIHVucXVvdGUoXCIgLSBcIikgKyAkdmFsdWUyKTtcbn1cblxuQGZ1bmN0aW9uIGRpdmlkZSgkZGl2aWRlbmQsICRkaXZpc29yLCAkcHJlY2lzaW9uOiAxMCkge1xuICAkc2lnbjogaWYoJGRpdmlkZW5kID4gMCBhbmQgJGRpdmlzb3IgPiAwIG9yICRkaXZpZGVuZCA8IDAgYW5kICRkaXZpc29yIDwgMCwgMSwgLTEpO1xuICAkZGl2aWRlbmQ6IGFicygkZGl2aWRlbmQpO1xuICAkZGl2aXNvcjogYWJzKCRkaXZpc29yKTtcbiAgQGlmICRkaXZpZGVuZCA9PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQGlmICRkaXZpc29yID09IDAge1xuICAgIEBlcnJvciBcIkNhbm5vdCBkaXZpZGUgYnkgMFwiO1xuICB9XG4gICRyZW1haW5kZXI6ICRkaXZpZGVuZDtcbiAgJHJlc3VsdDogMDtcbiAgJGZhY3RvcjogMTA7XG4gIEB3aGlsZSAoJHJlbWFpbmRlciA+IDAgYW5kICRwcmVjaXNpb24gPj0gMCkge1xuICAgICRxdW90aWVudDogMDtcbiAgICBAd2hpbGUgKCRyZW1haW5kZXIgPj0gJGRpdmlzb3IpIHtcbiAgICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgLSAkZGl2aXNvcjtcbiAgICAgICRxdW90aWVudDogJHF1b3RpZW50ICsgMTtcbiAgICB9XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgJHF1b3RpZW50O1xuICAgICRmYWN0b3I6ICRmYWN0b3IgKiAuMTtcbiAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyICogMTA7XG4gICAgJHByZWNpc2lvbjogJHByZWNpc2lvbiAtIDE7XG4gICAgQGlmICgkcHJlY2lzaW9uIDwgMCBhbmQgJHJlbWFpbmRlciA+PSAkZGl2aXNvciAqIDUpIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAxO1xuICAgIH1cbiAgfVxuICAkcmVzdWx0OiAkcmVzdWx0ICogJGZhY3RvciAqICRzaWduO1xuICAkZGl2aWRlbmQtdW5pdDogdW5pdCgkZGl2aWRlbmQpO1xuICAkZGl2aXNvci11bml0OiB1bml0KCRkaXZpc29yKTtcbiAgJHVuaXQtbWFwOiAoXG4gICAgXCJweFwiOiAxcHgsXG4gICAgXCJyZW1cIjogMXJlbSxcbiAgICBcImVtXCI6IDFlbSxcbiAgICBcIiVcIjogMSVcbiAgKTtcbiAgQGlmICgkZGl2aWRlbmQtdW5pdCAhPSAkZGl2aXNvci11bml0IGFuZCBtYXAtaGFzLWtleSgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KSkge1xuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiBtYXAtZ2V0KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpO1xuICB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cbiIsCgkJIi8vIGNvbG9yLWNvbnRyYXN0KCkgd2FzIGludHJvZHVjZWQgaW4gQm9vdHN0cmFwIDUuXG4vLyBXZSBpbmNsdWRlIG91ciBvd24gdmVyc2lvbiBmb3IgYSBmZXcgcmVhc29uczpcbi8vIDEuIEVhc2lseSB0dXJuIG9mZiB3YXJuaW5ncyBvcHRpb25zKGJzbGliLmNvbG9yX2NvbnRyYXN0X3dhcm5pbmdzPUYpXG4vLyAyLiBBbGxvdyBCb290c3RyYXAgMyAmIDQgdG8gdXNlIGNvbG9yLWNvbnRyYXN0KCkgaW4gdmFyaWFibGUgZGVmaW5pdGlvbnNcbi8vIDMuIEFsbG93IEJvb3RzdHJhcCAzICYgNCB0byB1c2UgYnNfZ2V0X2NvbnRyYXN0KClcblxuLy8gQWxzbyBub3RlIHRoYXQgY29sb3ItY29udHJhc3QoKSBsaXZlcyBpbiBzYXNzLXV0aWxzIHNpbmNlIHByb2plY3RzIGxpa2UgUXVhcnRvXG4vLyBhbmQgZmxleGRhc2hib2FyZCBjdXJyZW50bHkgYXNzdW1lIGl0IGV4aXN0cyB0aGVyZS4uLi5cbkBpbXBvcnQgXCIuLi9zYXNzLXV0aWxzL2NvbG9yLWNvbnRyYXN0LnNjc3NcIjtcblxuXG5AZnVuY3Rpb24gaXMtY3NzLXZhcmlhYmxlKCR4KSB7XG4gIEBpZiAodHlwZS1vZigkeCkgIT0gc3RyaW5nKSB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiBzdHItc2xpY2UoJHgsIDEsIDYpID09ICd2YXIoLS0nO1xuICB9XG59XG4iLAoJCSIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQ29sb3IgY29udHJhc3RpbmcgKGJhY2twb3J0ZWQgdG8gQlM0IGZyb20gQlM1KVxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzMwMTY4XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBBIGxpc3Qgb2YgcHJlLWNhbGN1bGF0ZWQgbnVtYmVycyBvZiBwb3coZGl2aWRlKChkaXZpZGUoJHZhbHVlLCAyNTUpICsgLjA1NSksIDEuMDU1KSwgMi40KS4gKGZyb20gMCB0byAyNTUpXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdCwgc2Nzcy9kb2xsYXItdmFyaWFibGUtcGF0dGVyblxuJF9sdW1pbmFuY2UtbGlzdDogLjAwMDggLjAwMSAuMDAxMSAuMDAxMyAuMDAxNSAuMDAxNyAuMDAyIC4wMDIyIC4wMDI1IC4wMDI3IC4wMDMgLjAwMzMgLjAwMzcgLjAwNCAuMDA0NCAuMDA0OCAuMDA1MiAuMDA1NiAuMDA2IC4wMDY1IC4wMDcgLjAwNzUgLjAwOCAuMDA4NiAuMDA5MSAuMDA5NyAuMDEwMyAuMDExIC4wMTE2IC4wMTIzIC4wMTMgLjAxMzcgLjAxNDQgLjAxNTIgLjAxNiAuMDE2OCAuMDE3NiAuMDE4NSAuMDE5NCAuMDIwMyAuMDIxMiAuMDIyMiAuMDIzMiAuMDI0MiAuMDI1MiAuMDI2MiAuMDI3MyAuMDI4NCAuMDI5NiAuMDMwNyAuMDMxOSAuMDMzMSAuMDM0MyAuMDM1NiAuMDM2OSAuMDM4MiAuMDM5NSAuMDQwOSAuMDQyMyAuMDQzNyAuMDQ1MiAuMDQ2NyAuMDQ4MiAuMDQ5NyAuMDUxMyAuMDUyOSAuMDU0NSAuMDU2MSAuMDU3OCAuMDU5NSAuMDYxMiAuMDYzIC4wNjQ4IC4wNjY2IC4wNjg1IC4wNzA0IC4wNzIzIC4wNzQyIC4wNzYyIC4wNzgyIC4wODAyIC4wODIzIC4wODQ0IC4wODY1IC4wODg3IC4wOTA4IC4wOTMxIC4wOTUzIC4wOTc2IC4wOTk5IC4xMDIyIC4xMDQ2IC4xMDcgLjEwOTUgLjExMTkgLjExNDQgLjExNyAuMTE5NSAuMTIyMSAuMTI0OCAuMTI3NCAuMTMwMSAuMTMyOSAuMTM1NiAuMTM4NCAuMTQxMyAuMTQ0MSAuMTQ3IC4xNSAuMTUyOSAuMTU1OSAuMTU5IC4xNjIgLjE2NTEgLjE2ODMgLjE3MTQgLjE3NDYgLjE3NzkgLjE4MTIgLjE4NDUgLjE4NzggLjE5MTIgLjE5NDYgLjE5ODEgLjIwMTYgLjIwNTEgLjIwODYgLjIxMjIgLjIxNTkgLjIxOTUgLjIyMzIgLjIyNyAuMjMwNyAuMjM0NiAuMjM4NCAuMjQyMyAuMjQ2MiAuMjUwMiAuMjU0MiAuMjU4MiAuMjYyMyAuMjY2NCAuMjcwNSAuMjc0NyAuMjc4OSAuMjgzMSAuMjg3NCAuMjkxOCAuMjk2MSAuMzAwNSAuMzA1IC4zMDk1IC4zMTQgLjMxODUgLjMyMzEgLjMyNzggLjMzMjUgLjMzNzIgLjM0MTkgLjM0NjcgLjM1MTUgLjM1NjQgLjM2MTMgLjM2NjMgLjM3MTIgLjM3NjMgLjM4MTMgLjM4NjQgLjM5MTYgLjM5NjggLjQwMiAuNDA3MiAuNDEyNSAuNDE3OSAuNDIzMyAuNDI4NyAuNDM0MiAuNDM5NyAuNDQ1MiAuNDUwOCAuNDU2NCAuNDYyMSAuNDY3OCAuNDczNSAuNDc5MyAuNDg1MSAuNDkxIC40OTY5IC41MDI5IC41MDg5IC41MTQ5IC41MjEgLjUyNzEgLjUzMzMgLjUzOTUgLjU0NTcgLjU1MiAuNTU4MyAuNTY0NyAuNTcxMSAuNTc3NiAuNTg0MSAuNTkwNiAuNTk3MiAuNjAzOCAuNjEwNSAuNjE3MiAuNjI0IC42MzA4IC42Mzc2IC42NDQ1IC42NTE0IC42NTg0IC42NjU0IC42NzI0IC42Nzk1IC42ODY3IC42OTM5IC43MDExIC43MDg0IC43MTU3IC43MjMxIC43MzA1IC43Mzc5IC43NDU0IC43NTI5IC43NjA1IC43NjgyIC43NzU4IC43ODM1IC43OTEzIC43OTkxIC44MDcgLjgxNDggLjgyMjggLjgzMDggLjgzODggLjg0NjkgLjg1NSAuODYzMiAuODcxNCAuODc5NiAuODg3OSAuODk2MyAuOTA0NyAuOTEzMSAuOTIxNiAuOTMwMSAuOTM4NyAuOTQ3MyAuOTU2IC45NjQ3IC45NzM0IC45ODIzIC45OTExIDE7XG5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkYmFja2dyb3VuZCwgJGZvcmVncm91bmRzOiBudWxsKSB7XG5cbiAgLy8gVGhlc2UgdmFyaWFibGVzIHNob3VsZCBiZSBkZWZpbmVkIGluIF92YXJpYWJsZXMuc2NzcywgYnV0IHdlIGFsc29cbiAgLy8gZGVmaW5lIHRoZW0gaGVyZSBzbyB0aGF0IDNyZCBwYXJ0eSBsaWJzIGNhbiB1c2UgaWYgdGhleSB3YW50XG4gIC8vIHdpdGhvdXQgcG9sbHV0aW5nIHRoZSBnbG9iYWwgbmFtZXNwYWNlXG4gICRibGFjazogIzAwMCAhZGVmYXVsdDtcbiAgJHdoaXRlOiAjZmZmICFkZWZhdWx0O1xuICAkY29sb3ItY29udHJhc3QtZGFyazogJGJsYWNrICFkZWZhdWx0O1xuICAkY29sb3ItY29udHJhc3QtbGlnaHQ6ICR3aGl0ZSAhZGVmYXVsdDtcbiAgJG1pbi1jb250cmFzdC1yYXRpbzogMyAhZGVmYXVsdDtcblxuICBAaWYgJGZvcmVncm91bmRzID09IG51bGwge1xuICAgICRmb3JlZ3JvdW5kczogJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCAkY29sb3ItY29udHJhc3QtZGFyaywgJHdoaXRlLCAkYmxhY2s7XG4gIH0gQGVsc2Uge1xuICAgICRmb3JlZ3JvdW5kczogJGZvcmVncm91bmRzLCAkY29sb3ItY29udHJhc3QtbGlnaHQsICRjb2xvci1jb250cmFzdC1kYXJrLCAkd2hpdGUsICRibGFjaztcbiAgfVxuXG4gICRtYXgtcmF0aW86IDA7XG4gICRtYXgtcmF0aW8tY29sb3I6IG51bGw7XG5cbiAgQGVhY2ggJGNvbG9yIGluICRmb3JlZ3JvdW5kcyB7XG4gICAgJGNvbnRyYXN0LXJhdGlvOiBjb250cmFzdC1yYXRpbygkYmFja2dyb3VuZCwgJGNvbG9yKTtcbiAgICBAaWYgJGNvbnRyYXN0LXJhdGlvID4gJG1pbi1jb250cmFzdC1yYXRpbyB7XG4gICAgICBAcmV0dXJuICRjb2xvcjtcbiAgICB9IEBlbHNlIGlmICRjb250cmFzdC1yYXRpbyA+ICRtYXgtcmF0aW8ge1xuICAgICAgJG1heC1yYXRpbzogJGNvbnRyYXN0LXJhdGlvO1xuICAgICAgJG1heC1yYXRpby1jb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxuXG4gICRjb2xvci1jb250cmFzdC13YXJuaW5nczogZmFsc2UgIWRlZmF1bHQ7XG4gIEBpZiAkY29sb3ItY29udHJhc3Qtd2FybmluZ3Mge1xuICAgIEB3YXJuIFwiRm91bmQgbm8gY29sb3IgbGVhZGluZyB0byAjeyRtaW4tY29udHJhc3QtcmF0aW99OjEgY29udHJhc3QgcmF0aW8gYWdhaW5zdCAjeyRiYWNrZ3JvdW5kfS4uLlwiO1xuICB9XG5cbiAgQHJldHVybiAkbWF4LXJhdGlvLWNvbG9yO1xufVxuXG5AZnVuY3Rpb24gY29udHJhc3QtcmF0aW8oJGJhY2tncm91bmQsICRmb3JlZ3JvdW5kOiAkY29sb3ItY29udHJhc3QtbGlnaHQpIHtcbiAgJGwxOiBsdW1pbmFuY2UoJGJhY2tncm91bmQpO1xuICAkbDI6IGx1bWluYW5jZShvcGFxdWUoJGJhY2tncm91bmQsICRmb3JlZ3JvdW5kKSk7XG5cbiAgQHJldHVybiBpZigkbDEgPiAkbDIsIGRpdmlkZSgkbDEgKyAuMDUsICRsMiArIC4wNSksIGRpdmlkZSgkbDIgKyAuMDUsICRsMSArIC4wNSkpO1xufVxuXG4vLyBSZXR1cm4gV0NBRzIuMCByZWxhdGl2ZSBsdW1pbmFuY2Vcbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvV0FJL0dML3dpa2kvUmVsYXRpdmVfbHVtaW5hbmNlXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL1dDQUcyMC1URUNIUy9HMTcuaHRtbCNHMTctdGVzdHNcbkBmdW5jdGlvbiBsdW1pbmFuY2UoJGNvbG9yKSB7XG4gICRyZ2I6IChcbiAgICBcInJcIjogcmVkKCRjb2xvciksXG4gICAgXCJnXCI6IGdyZWVuKCRjb2xvciksXG4gICAgXCJiXCI6IGJsdWUoJGNvbG9yKVxuICApO1xuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJHJnYiB7XG4gICAgJHZhbHVlOiBpZihkaXZpZGUoJHZhbHVlLCAyNTUpIDwgLjA0MDQ1LCBkaXZpZGUoZGl2aWRlKCR2YWx1ZSwgMjU1KSwgMTIuOTIpLCBudGgoJF9sdW1pbmFuY2UtbGlzdCwgJHZhbHVlICsgMSkpO1xuICAgICRyZ2I6IG1hcC1tZXJnZSgkcmdiLCAoJG5hbWU6ICR2YWx1ZSkpO1xuICB9XG5cbiAgQHJldHVybiAobWFwLWdldCgkcmdiLCBcInJcIikgKiAuMjEyNikgKyAobWFwLWdldCgkcmdiLCBcImdcIikgKiAuNzE1MikgKyAobWFwLWdldCgkcmdiLCBcImJcIikgKiAuMDcyMik7XG59XG5cbi8vIFJldHVybiBvcGFxdWUgY29sb3Jcbi8vIG9wYXF1ZSgjZmZmLCByZ2JhKDAsIDAsIDAsIC41KSkgPT4gIzgwODA4MFxuQGZ1bmN0aW9uIG9wYXF1ZSgkYmFja2dyb3VuZCwgJGZvcmVncm91bmQpIHtcbiAgQHJldHVybiBtaXgocmdiYSgkZm9yZWdyb3VuZCwgMSksICRiYWNrZ3JvdW5kLCBvcGFjaXR5KCRmb3JlZ3JvdW5kKSAqIDEwMCUpO1xufVxuXG4vLyBBZGRlZCBpbiBCUzUgYXMgYW4gYWx0ZXJuYXRpdmUgdG8gdGhlIFxcIG9wZXJhdG9yLCB3aGljaFxuLy8gdGhyb3dzIHdhcm5pbmdzIGluIERhcnQgU2Fzc1xuLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzQyNDVcbkBmdW5jdGlvbiBkaXZpZGUoJGRpdmlkZW5kLCAkZGl2aXNvciwgJHByZWNpc2lvbjogMTApIHtcbiAgJHNpZ246IGlmKCRkaXZpZGVuZCA+IDAgYW5kICRkaXZpc29yID4gMCBvciAkZGl2aWRlbmQgPCAwIGFuZCAkZGl2aXNvciA8IDAsIDEsIC0xKTtcbiAgJGRpdmlkZW5kOiBhYnMoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3I6IGFicygkZGl2aXNvcik7XG4gIEBpZiAkZGl2aWRlbmQgPT0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEBpZiAkZGl2aXNvciA9PSAwIHtcbiAgICBAZXJyb3IgXCJDYW5ub3QgZGl2aWRlIGJ5IDBcIjtcbiAgfVxuICAkcmVtYWluZGVyOiAkZGl2aWRlbmQ7XG4gICRyZXN1bHQ6IDA7XG4gICRmYWN0b3I6IDEwO1xuICBAd2hpbGUgKCRyZW1haW5kZXIgPiAwIGFuZCAkcHJlY2lzaW9uID49IDApIHtcbiAgICAkcXVvdGllbnQ6IDA7XG4gICAgQHdoaWxlICgkcmVtYWluZGVyID49ICRkaXZpc29yKSB7XG4gICAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyIC0gJGRpdmlzb3I7XG4gICAgICAkcXVvdGllbnQ6ICRxdW90aWVudCArIDE7XG4gICAgfVxuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArICRxdW90aWVudDtcbiAgICAkZmFjdG9yOiAkZmFjdG9yICogLjE7XG4gICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAqIDEwO1xuICAgICRwcmVjaXNpb246ICRwcmVjaXNpb24gLSAxO1xuICAgIEBpZiAoJHByZWNpc2lvbiA8IDAgYW5kICRyZW1haW5kZXIgPj0gJGRpdmlzb3IgKiA1KSB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgMTtcbiAgICB9XG4gIH1cbiAgJHJlc3VsdDogJHJlc3VsdCAqICRmYWN0b3IgKiAkc2lnbjtcbiAgJGRpdmlkZW5kLXVuaXQ6IHVuaXQoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3ItdW5pdDogdW5pdCgkZGl2aXNvcik7XG4gICR1bml0LW1hcDogKFxuICAgIFwicHhcIjogMXB4LFxuICAgIFwicmVtXCI6IDFyZW0sXG4gICAgXCJlbVwiOiAxZW0sXG4gICAgXCIlXCI6IDElXG4gICk7XG4gIEBpZiAoJGRpdmlkZW5kLXVuaXQgIT0gJGRpdmlzb3ItdW5pdCBhbmQgbWFwLWhhcy1rZXkoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCkpIHtcbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogbWFwLWdldCgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KTtcbiAgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG4iLAoJCSIkYmx1ZTogIzAwN2JjMiAhZGVmYXVsdDtcbiRpbmRpZ286ICM0YjAwYzEgIWRlZmF1bHQ7XG4kcHVycGxlOiAjNzQxNDljICFkZWZhdWx0O1xuJHBpbms6ICNiZjAwN2YgIWRlZmF1bHQ7XG4kcmVkOiAjYzEwMDAwICFkZWZhdWx0O1xuJG9yYW5nZTogI2Y0NTEwMCAhZGVmYXVsdDtcbiR5ZWxsb3c6ICNmOWI5MjggIWRlZmF1bHQ7XG4kZ3JlZW46ICMwMDg5MWEgIWRlZmF1bHQ7XG4kdGVhbDogIzAwYmY3ZiAhZGVmYXVsdDtcbiRjeWFuOiAjMDNjN2U4ICFkZWZhdWx0O1xuJHdoaXRlOiAjZmZmZmZmICFkZWZhdWx0O1xuXG4kZ3JheTogIzYwNjA2MCAhZGVmYXVsdDtcbiRncmF5LWRhcms6ICMzMDMwMzAgIWRlZmF1bHQ7XG4kZ3JheS0xMDA6ICNmOGY4ZjggIWRlZmF1bHQ7XG4kZ3JheS0yMDA6ICNlOWVjZWYgIWRlZmF1bHQ7XG4kZ3JheS0zMDA6ICNkZWUyZTYgIWRlZmF1bHQ7XG4kZ3JheS00MDA6ICNjZGQ0ZGEgIWRlZmF1bHQ7XG4kZ3JheS01MDA6ICM4RDk1OUUgIWRlZmF1bHQ7XG4kZ3JheS02MDA6ICM3MDc3ODIgIWRlZmF1bHQ7XG4kZ3JheS03MDA6ICM0ODUwNUYgIWRlZmF1bHQ7XG4kZ3JheS04MDA6ICMzNDNBNDYgIWRlZmF1bHQ7XG4kZ3JheS05MDA6ICMxRDFGMjEgIWRlZmF1bHQ7XG5cbiRkZWZhdWx0OiAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kcHJpbWFyeTogJGJsdWUgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5OiAjNDA0MDQwICFkZWZhdWx0O1xuJHN1Y2Nlc3M6ICRncmVlbiAhZGVmYXVsdDtcbiRpbmZvOiAkY3lhbiAhZGVmYXVsdDtcbiR3YXJuaW5nOiAkeWVsbG93ICFkZWZhdWx0O1xuJGRhbmdlcjogJHJlZCAhZGVmYXVsdDtcbiRsaWdodDogJGdyYXktMTAwICFkZWZhdWx0O1xuJGRhcms6ICMyMDIwMjAgIWRlZmF1bHQ7XG5cbiRkZWZhdWx0LXJnYjogMjIyLCAyMjYsIDIzMCAhZGVmYXVsdDtcbiRwcmltYXJ5LXJnYjogMCwgMTIzLCAxOTQgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LXJnYjogNjQsIDY0LCA2NCAhZGVmYXVsdDtcbiRzdWNjZXNzLXJnYjogMCwgMTM3LCAyNiAhZGVmYXVsdDtcbiRpbmZvLXJnYjogMywgMTk5LCAyMzIgIWRlZmF1bHQ7XG4kd2FybmluZy1yZ2I6IDI0OSwgMTg1LCA0MCAhZGVmYXVsdDtcbiRkYW5nZXItcmdiOiAxOTMsIDAsIDAgIWRlZmF1bHQ7XG4kbGlnaHQtcmdiOiAyNDgsIDI0OCwgMjQ4ICFkZWZhdWx0O1xuJGRhcmstcmdiOiAzMiwgMzIsIDMyICFkZWZhdWx0O1xuJHdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NSAhZGVmYXVsdDtcbiRibGFjay1yZ2I6IDAsIDAsIDAgIWRlZmF1bHQ7XG4kYm9keS1jb2xvci1yZ2I6IDUyLCA1OCwgNzAgIWRlZmF1bHQ7XG4kYm9keS1iZy1yZ2I6IDI1NSwgMjU1LCAyNTUgIWRlZmF1bHQ7XG5cbiRncmFkaWVudDogbGluZWFyLWdyYWRpZW50KFxuICAxODBkZWcsXG4gIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSksXG4gIHJnYmEoMjU1LCAyNTUsIDI1NSwgMClcbikgIWRlZmF1bHQ7XG5cbiRib2R5LWNvbG9yOiAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kYm9keS1iZzogJHdoaXRlICFkZWZhdWx0O1xuXG4vLyBGb250c1xuJGZvbnQtZmFtaWx5LWJhc2U6IFwiT3BlbiBTYW5zXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBcIlNvdXJjZSBDb2RlIFByb1wiLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlXHQhZGVmYXVsdDtcblxuJHJvb3QtZm9udC1zaXplOiAxOHB4ICFkZWZhdWx0O1xuJGJvZHktZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuJGgxLWZvbnQtc2l6ZTogMi4xcmVtICFkZWZhdWx0O1xuXG4kYm9keS1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XG5cbi8vIFNwYWNpbmdcbiRoci1tYXJnaW4teTogMnJlbSAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy14OiAwLjY2cmVtICFkZWZhdWx0O1xuXG4vLyBJbnB1dHNcbiRpbnB1dC1idG4tZm9udC1zaXplOiAxNXB4ICFkZWZhdWx0O1xuXG4vLyBCdXR0b25zXG4kYnRuLWZvbnQtd2VpZ2h0OiA1MDAgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteTogMC43NWVtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXg6IDJlbSAhZGVmYXVsdDtcblxuLy8gRm9ybSBjb250cm9sc1xuJGZvcm0tY2hlY2staW5wdXQtd2lkdGg6IDEuMmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtYm9yZGVyLXJhZGl1czogMnB4ICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhZGVmYXVsdDtcbiRmb3JtLXRleHQtY29sb3I6ICRncmF5LTYwMCAhZGVmYXVsdDtcblxuLy8gQm9yZGVyc1xuJGlucHV0LWJvcmRlci1jb2xvcjogJGdyYXktNTAwICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXM6IDNweCAhZGVmYXVsdDtcbi8vIERlZmF1bHRzIHRvICRncmF5NzAwLCBvZiB3aGljaCB3ZSd2ZSBzZXQgdG8gYSBibHVlaXNoLWdyYXksIHdoaWNoIGxvb2tzIGEgYml0IHdlaXJkLi4uXG4vLyBXZSBjb3VsZCBnbyBmb3J3YXJkIHdpdGggdGhlIGJsdWUtaXNoIGdyYXksIGJ1dCBpZiB3ZSBkbywgd2UnbGwgd2FudCB0byBhbHNvIG1ha2Vcbi8vICRib3JkZXItY29sb3ItdHJhbnNsdWNlbnQtZGFyayBhIGJpdCBtb3JlIGJsdWVpc2hcbiRib3JkZXItY29sb3ItZGFyazogIzQ5NTA1NyAhZGVmYXVsdDtcblxuLy8gVGFibGVzXG4kdGFibGUtc3RyaXBlZC1iZzogcmdiYSgkcHJpbWFyeSwgMC4wNikgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmc6IHJnYmEoJHByaW1hcnksIDAuMSkgIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1vcmRlcjogZXZlbiAhZGVmYXVsdDtcblxuLy8gQm94IFNoYWRvd3Ncbi8vID0+IFRoZXNlIGFyZSBzaGlueS1wcmVzZXQtc3BlY2lmaWMsIGhvcGluZyBCb290c3RyYXAgYWRkcyBzb21ldGhpbmcgbGlrZSB0aGlzXG4kYnNsaWItYm94LXNoYWRvdy1jb2xvci1yZ2I6IDI5LCAzMSwgMzMgIWRlZmF1bHQ7XG4kYnNsaWItYm94LXNoYWRvdy1jb2xvci1yZ2ItZGFyazogMCwgMCwgMCAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3ctc206XG4gIDBweCAxcHggMnB4IFJHQkEodmFyKC0tYnNsaWItYm94LXNoYWRvdy1jb2xvci1yZ2IpLCAuMSksXG4gIDBweCAycHggM3B4IFJHQkEodmFyKC0tYnNsaWItYm94LXNoYWRvdy1jb2xvci1yZ2IpLCAwLjEpLFxuICAwcHggM3B4IDhweCBSR0JBKHZhcigtLWJzbGliLWJveC1zaGFkb3ctY29sb3ItcmdiKSwgMC4xKSAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3c6XG4gIDBweCAxcHggMnB4IFJHQkEodmFyKC0tYnNsaWItYm94LXNoYWRvdy1jb2xvci1yZ2IpLCAuMSksXG4gIDBweCAzcHggN3B4IFJHQkEodmFyKC0tYnNsaWItYm94LXNoYWRvdy1jb2xvci1yZ2IpLCAuMSksXG4gIDBweCAxMnB4IDMwcHggUkdCQSh2YXIoLS1ic2xpYi1ib3gtc2hhZG93LWNvbG9yLXJnYiksIC4wOCkgIWRlZmF1bHQ7XG5cbiRib3gtc2hhZG93LWxnOlxuICAwcHggMTZweCA0OHB4IFJHQkEodmFyKC0tYnNsaWItYm94LXNoYWRvdy1jb2xvci1yZ2IpLCAuMSksXG4gIDBweCAycHggM3B4IFJHQkEodmFyKC0tYnNsaWItYm94LXNoYWRvdy1jb2xvci1yZ2IpLCAwLjEpLFxuICAwcHggMTZweCA0NnB4IFJHQkEodmFyKC0tYnNsaWItYm94LXNoYWRvdy1jb2xvci1yZ2IpLCAwLjEpICFkZWZhdWx0O1xuXG4vLyBDYXJkc1xuJGNhcmQtYm9yZGVyLXJhZGl1czogOHB4ICFkZWZhdWx0O1xuXG4vLyBic2xpYiBEYXNoYm9hcmQgU3R5bGVzXG4vLyBcIkRhc2hib2FyZFwiIHN0eWxlcyBnaXZlIHlvdTpcbi8vICogc29mdGVyIGJvcmRlcnNcbi8vICogd2hpdGUgY2FyZHNcbi8vICogYm94IHNoYWRvdyBvbiBjYXJkc1xuLy8gKiB3aGl0ZSBzaWRlYmFyc1xuLy8gKiBsaWdodCBncmF5IGJhY2tncm91bmQgaW4gdGhlIG1haW4gY29udGFpbmVyKHMpXG4vLyAqIHdoaXRlIG5hdmJhciBhbmQgdGl0bGUgcGFuZWxcblxuJGJzbGliLWRhc2hib2FyZC1kZXNpZ246IHRydWUgIWRlZmF1bHQ7XG4kYnNsaWItZW5hYmxlLXNoYWRvd3M6ICRic2xpYi1kYXNoYm9hcmQtZGVzaWduICFkZWZhdWx0XG5cbiRib3JkZXItY29sb3ItdHJhbnNsdWNlbnQ6IGlmKCRic2xpYi1kYXNoYm9hcmQtZGVzaWduLCByZ2JhKDQwLCA3MCwgOTQsIDAuMSksIG51bGwpICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvci10cmFuc2x1Y2VudC1kYXJrOiBpZigkYnNsaWItZGFzaGJvYXJkLWRlc2lnbiwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpLCBudWxsKSAhZGVmYXVsdDtcblxuLy8gTW9kYWxzXG4kbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwOiAxMCUgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogbm9uZSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogMS41cmVtICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLWJnOiAjNDY0NjQ2ICFkZWZhdWx0O1xuXG4vLyBTaGlueTogQmFzZSBzaGlueS5zY3NzIHZhcmlhYmxlc1xuJG5vdGlmaWNhdGlvbi1jbG9zZS1jb2xvcjogY3VycmVudENvbG9yICFkZWZhdWx0O1xuIiwKCQkiLy8gQlMzIGhhZCAubmF2YmFyIHsgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuJG5hdmJhci1tYXJnaW4tYm90dG9tOiAyMHB4ICFkZWZhdWx0O1xuXG4vLyBCUzUrIHZhcmlhYmxlIHVzZWQgZm9yIHByZWZpeGluZyBDU1MgdmFyc1xuJHByZWZpeDogYnMtICFkZWZhdWx0OyIsCgkJIi8vIFZhcmlhYmxlc1xuLy9cbi8vIFZhcmlhYmxlcyBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1zdGF0ZS1wcm9wZXJ0eS1zaXplYCBmb3JtdWxhIGZvclxuLy8gY29uc2lzdGVudCBuYW1pbmcuIEV4OiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgYW5kICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMuXG5cbi8vIENvbG9yIHN5c3RlbVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JheS1jb2xvci12YXJpYWJsZXNcbiR3aGl0ZTogICAgI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogICAgIzAwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JheS1jb2xvci12YXJpYWJsZXNcblxuLy8gZnVzdi1kaXNhYmxlXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JheS1jb2xvcnMtbWFwXG4kZ3JheXM6IChcbiAgXCIxMDBcIjogJGdyYXktMTAwLFxuICBcIjIwMFwiOiAkZ3JheS0yMDAsXG4gIFwiMzAwXCI6ICRncmF5LTMwMCxcbiAgXCI0MDBcIjogJGdyYXktNDAwLFxuICBcIjUwMFwiOiAkZ3JheS01MDAsXG4gIFwiNjAwXCI6ICRncmF5LTYwMCxcbiAgXCI3MDBcIjogJGdyYXktNzAwLFxuICBcIjgwMFwiOiAkZ3JheS04MDAsXG4gIFwiOTAwXCI6ICRncmF5LTkwMFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JheS1jb2xvcnMtbWFwXG4vLyBmdXN2LWVuYWJsZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3ItdmFyaWFibGVzXG4kYmx1ZTogICAgIzBkNmVmZCAhZGVmYXVsdDtcbiRpbmRpZ286ICAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogICAgI2Q2MzM4NCAhZGVmYXVsdDtcbiRyZWQ6ICAgICAjZGMzNTQ1ICFkZWZhdWx0O1xuJG9yYW5nZTogICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAgI2ZmYzEwNyAhZGVmYXVsdDtcbiRncmVlbjogICAjMTk4NzU0ICFkZWZhdWx0O1xuJHRlYWw6ICAgICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogICAgIzBkY2FmMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY29sb3ItdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xvcnMtbWFwXG4kY29sb3JzOiAoXG4gIFwiYmx1ZVwiOiAgICAgICAkYmx1ZSxcbiAgXCJpbmRpZ29cIjogICAgICRpbmRpZ28sXG4gIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxuICBcInBpbmtcIjogICAgICAgJHBpbmssXG4gIFwicmVkXCI6ICAgICAgICAkcmVkLFxuICBcIm9yYW5nZVwiOiAgICAgJG9yYW5nZSxcbiAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3csXG4gIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXG4gIFwidGVhbFwiOiAgICAgICAkdGVhbCxcbiAgXCJjeWFuXCI6ICAgICAgICRjeWFuLFxuICBcImJsYWNrXCI6ICAgICAgJGJsYWNrLFxuICBcIndoaXRlXCI6ICAgICAgJHdoaXRlLFxuICBcImdyYXlcIjogICAgICAgJGdyYXktNjAwLFxuICBcImdyYXktZGFya1wiOiAgJGdyYXktODAwXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb2xvcnMtbWFwXG5cbi8vIFRoZSBjb250cmFzdCByYXRpbyB0byByZWFjaCBhZ2FpbnN0IHdoaXRlLCB0byBkZXRlcm1pbmUgaWYgY29sb3IgY2hhbmdlcyBmcm9tIFwibGlnaHRcIiB0byBcImRhcmtcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgZm9yIFdDQUcgMi4wIGFyZSAzLCA0LjUgYW5kIDcuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL1dDQUcyMC8jdmlzdWFsLWF1ZGlvLWNvbnRyYXN0LWNvbnRyYXN0XG4kbWluLWNvbnRyYXN0LXJhdGlvOiAgIDQuNSAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBjb2xvciBjb250cmFzdCBmdW5jdGlvbi5cbiRjb2xvci1jb250cmFzdC1kYXJrOiAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjb2xvci1jb250cmFzdC1saWdodDogICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gZnVzdi1kaXNhYmxlXG4kYmx1ZS0xMDA6IHRpbnQtY29sb3IoJGJsdWUsIDgwJSkgIWRlZmF1bHQ7XG4kYmx1ZS0yMDA6IHRpbnQtY29sb3IoJGJsdWUsIDYwJSkgIWRlZmF1bHQ7XG4kYmx1ZS0zMDA6IHRpbnQtY29sb3IoJGJsdWUsIDQwJSkgIWRlZmF1bHQ7XG4kYmx1ZS00MDA6IHRpbnQtY29sb3IoJGJsdWUsIDIwJSkgIWRlZmF1bHQ7XG4kYmx1ZS01MDA6ICRibHVlICFkZWZhdWx0O1xuJGJsdWUtNjAwOiBzaGFkZS1jb2xvcigkYmx1ZSwgMjAlKSAhZGVmYXVsdDtcbiRibHVlLTcwMDogc2hhZGUtY29sb3IoJGJsdWUsIDQwJSkgIWRlZmF1bHQ7XG4kYmx1ZS04MDA6IHNoYWRlLWNvbG9yKCRibHVlLCA2MCUpICFkZWZhdWx0O1xuJGJsdWUtOTAwOiBzaGFkZS1jb2xvcigkYmx1ZSwgODAlKSAhZGVmYXVsdDtcblxuJGluZGlnby0xMDA6IHRpbnQtY29sb3IoJGluZGlnbywgODAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tMjAwOiB0aW50LWNvbG9yKCRpbmRpZ28sIDYwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTMwMDogdGludC1jb2xvcigkaW5kaWdvLCA0MCUpICFkZWZhdWx0O1xuJGluZGlnby00MDA6IHRpbnQtY29sb3IoJGluZGlnbywgMjAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tNTAwOiAkaW5kaWdvICFkZWZhdWx0O1xuJGluZGlnby02MDA6IHNoYWRlLWNvbG9yKCRpbmRpZ28sIDIwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTcwMDogc2hhZGUtY29sb3IoJGluZGlnbywgNDAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tODAwOiBzaGFkZS1jb2xvcigkaW5kaWdvLCA2MCUpICFkZWZhdWx0O1xuJGluZGlnby05MDA6IHNoYWRlLWNvbG9yKCRpbmRpZ28sIDgwJSkgIWRlZmF1bHQ7XG5cbiRwdXJwbGUtMTAwOiB0aW50LWNvbG9yKCRwdXJwbGUsIDgwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTIwMDogdGludC1jb2xvcigkcHVycGxlLCA2MCUpICFkZWZhdWx0O1xuJHB1cnBsZS0zMDA6IHRpbnQtY29sb3IoJHB1cnBsZSwgNDAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtNDAwOiB0aW50LWNvbG9yKCRwdXJwbGUsIDIwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTUwMDogJHB1cnBsZSAhZGVmYXVsdDtcbiRwdXJwbGUtNjAwOiBzaGFkZS1jb2xvcigkcHVycGxlLCAyMCUpICFkZWZhdWx0O1xuJHB1cnBsZS03MDA6IHNoYWRlLWNvbG9yKCRwdXJwbGUsIDQwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTgwMDogc2hhZGUtY29sb3IoJHB1cnBsZSwgNjAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtOTAwOiBzaGFkZS1jb2xvcigkcHVycGxlLCA4MCUpICFkZWZhdWx0O1xuXG4kcGluay0xMDA6IHRpbnQtY29sb3IoJHBpbmssIDgwJSkgIWRlZmF1bHQ7XG4kcGluay0yMDA6IHRpbnQtY29sb3IoJHBpbmssIDYwJSkgIWRlZmF1bHQ7XG4kcGluay0zMDA6IHRpbnQtY29sb3IoJHBpbmssIDQwJSkgIWRlZmF1bHQ7XG4kcGluay00MDA6IHRpbnQtY29sb3IoJHBpbmssIDIwJSkgIWRlZmF1bHQ7XG4kcGluay01MDA6ICRwaW5rICFkZWZhdWx0O1xuJHBpbmstNjAwOiBzaGFkZS1jb2xvcigkcGluaywgMjAlKSAhZGVmYXVsdDtcbiRwaW5rLTcwMDogc2hhZGUtY29sb3IoJHBpbmssIDQwJSkgIWRlZmF1bHQ7XG4kcGluay04MDA6IHNoYWRlLWNvbG9yKCRwaW5rLCA2MCUpICFkZWZhdWx0O1xuJHBpbmstOTAwOiBzaGFkZS1jb2xvcigkcGluaywgODAlKSAhZGVmYXVsdDtcblxuJHJlZC0xMDA6IHRpbnQtY29sb3IoJHJlZCwgODAlKSAhZGVmYXVsdDtcbiRyZWQtMjAwOiB0aW50LWNvbG9yKCRyZWQsIDYwJSkgIWRlZmF1bHQ7XG4kcmVkLTMwMDogdGludC1jb2xvcigkcmVkLCA0MCUpICFkZWZhdWx0O1xuJHJlZC00MDA6IHRpbnQtY29sb3IoJHJlZCwgMjAlKSAhZGVmYXVsdDtcbiRyZWQtNTAwOiAkcmVkICFkZWZhdWx0O1xuJHJlZC02MDA6IHNoYWRlLWNvbG9yKCRyZWQsIDIwJSkgIWRlZmF1bHQ7XG4kcmVkLTcwMDogc2hhZGUtY29sb3IoJHJlZCwgNDAlKSAhZGVmYXVsdDtcbiRyZWQtODAwOiBzaGFkZS1jb2xvcigkcmVkLCA2MCUpICFkZWZhdWx0O1xuJHJlZC05MDA6IHNoYWRlLWNvbG9yKCRyZWQsIDgwJSkgIWRlZmF1bHQ7XG5cbiRvcmFuZ2UtMTAwOiB0aW50LWNvbG9yKCRvcmFuZ2UsIDgwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTIwMDogdGludC1jb2xvcigkb3JhbmdlLCA2MCUpICFkZWZhdWx0O1xuJG9yYW5nZS0zMDA6IHRpbnQtY29sb3IoJG9yYW5nZSwgNDAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtNDAwOiB0aW50LWNvbG9yKCRvcmFuZ2UsIDIwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTUwMDogJG9yYW5nZSAhZGVmYXVsdDtcbiRvcmFuZ2UtNjAwOiBzaGFkZS1jb2xvcigkb3JhbmdlLCAyMCUpICFkZWZhdWx0O1xuJG9yYW5nZS03MDA6IHNoYWRlLWNvbG9yKCRvcmFuZ2UsIDQwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTgwMDogc2hhZGUtY29sb3IoJG9yYW5nZSwgNjAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtOTAwOiBzaGFkZS1jb2xvcigkb3JhbmdlLCA4MCUpICFkZWZhdWx0O1xuXG4keWVsbG93LTEwMDogdGludC1jb2xvcigkeWVsbG93LCA4MCUpICFkZWZhdWx0O1xuJHllbGxvdy0yMDA6IHRpbnQtY29sb3IoJHllbGxvdywgNjAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctMzAwOiB0aW50LWNvbG9yKCR5ZWxsb3csIDQwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTQwMDogdGludC1jb2xvcigkeWVsbG93LCAyMCUpICFkZWZhdWx0O1xuJHllbGxvdy01MDA6ICR5ZWxsb3cgIWRlZmF1bHQ7XG4keWVsbG93LTYwMDogc2hhZGUtY29sb3IoJHllbGxvdywgMjAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctNzAwOiBzaGFkZS1jb2xvcigkeWVsbG93LCA0MCUpICFkZWZhdWx0O1xuJHllbGxvdy04MDA6IHNoYWRlLWNvbG9yKCR5ZWxsb3csIDYwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTkwMDogc2hhZGUtY29sb3IoJHllbGxvdywgODAlKSAhZGVmYXVsdDtcblxuJGdyZWVuLTEwMDogdGludC1jb2xvcigkZ3JlZW4sIDgwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tMjAwOiB0aW50LWNvbG9yKCRncmVlbiwgNjAlKSAhZGVmYXVsdDtcbiRncmVlbi0zMDA6IHRpbnQtY29sb3IoJGdyZWVuLCA0MCUpICFkZWZhdWx0O1xuJGdyZWVuLTQwMDogdGludC1jb2xvcigkZ3JlZW4sIDIwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tNTAwOiAkZ3JlZW4gIWRlZmF1bHQ7XG4kZ3JlZW4tNjAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDIwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tNzAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDQwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tODAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDYwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tOTAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDgwJSkgIWRlZmF1bHQ7XG5cbiR0ZWFsLTEwMDogdGludC1jb2xvcigkdGVhbCwgODAlKSAhZGVmYXVsdDtcbiR0ZWFsLTIwMDogdGludC1jb2xvcigkdGVhbCwgNjAlKSAhZGVmYXVsdDtcbiR0ZWFsLTMwMDogdGludC1jb2xvcigkdGVhbCwgNDAlKSAhZGVmYXVsdDtcbiR0ZWFsLTQwMDogdGludC1jb2xvcigkdGVhbCwgMjAlKSAhZGVmYXVsdDtcbiR0ZWFsLTUwMDogJHRlYWwgIWRlZmF1bHQ7XG4kdGVhbC02MDA6IHNoYWRlLWNvbG9yKCR0ZWFsLCAyMCUpICFkZWZhdWx0O1xuJHRlYWwtNzAwOiBzaGFkZS1jb2xvcigkdGVhbCwgNDAlKSAhZGVmYXVsdDtcbiR0ZWFsLTgwMDogc2hhZGUtY29sb3IoJHRlYWwsIDYwJSkgIWRlZmF1bHQ7XG4kdGVhbC05MDA6IHNoYWRlLWNvbG9yKCR0ZWFsLCA4MCUpICFkZWZhdWx0O1xuXG4kY3lhbi0xMDA6IHRpbnQtY29sb3IoJGN5YW4sIDgwJSkgIWRlZmF1bHQ7XG4kY3lhbi0yMDA6IHRpbnQtY29sb3IoJGN5YW4sIDYwJSkgIWRlZmF1bHQ7XG4kY3lhbi0zMDA6IHRpbnQtY29sb3IoJGN5YW4sIDQwJSkgIWRlZmF1bHQ7XG4kY3lhbi00MDA6IHRpbnQtY29sb3IoJGN5YW4sIDIwJSkgIWRlZmF1bHQ7XG4kY3lhbi01MDA6ICRjeWFuICFkZWZhdWx0O1xuJGN5YW4tNjAwOiBzaGFkZS1jb2xvcigkY3lhbiwgMjAlKSAhZGVmYXVsdDtcbiRjeWFuLTcwMDogc2hhZGUtY29sb3IoJGN5YW4sIDQwJSkgIWRlZmF1bHQ7XG4kY3lhbi04MDA6IHNoYWRlLWNvbG9yKCRjeWFuLCA2MCUpICFkZWZhdWx0O1xuJGN5YW4tOTAwOiBzaGFkZS1jb2xvcigkY3lhbiwgODAlKSAhZGVmYXVsdDtcblxuJGJsdWVzOiAoXG4gIFwiYmx1ZS0xMDBcIjogJGJsdWUtMTAwLFxuICBcImJsdWUtMjAwXCI6ICRibHVlLTIwMCxcbiAgXCJibHVlLTMwMFwiOiAkYmx1ZS0zMDAsXG4gIFwiYmx1ZS00MDBcIjogJGJsdWUtNDAwLFxuICBcImJsdWUtNTAwXCI6ICRibHVlLTUwMCxcbiAgXCJibHVlLTYwMFwiOiAkYmx1ZS02MDAsXG4gIFwiYmx1ZS03MDBcIjogJGJsdWUtNzAwLFxuICBcImJsdWUtODAwXCI6ICRibHVlLTgwMCxcbiAgXCJibHVlLTkwMFwiOiAkYmx1ZS05MDBcbikgIWRlZmF1bHQ7XG5cbiRpbmRpZ29zOiAoXG4gIFwiaW5kaWdvLTEwMFwiOiAkaW5kaWdvLTEwMCxcbiAgXCJpbmRpZ28tMjAwXCI6ICRpbmRpZ28tMjAwLFxuICBcImluZGlnby0zMDBcIjogJGluZGlnby0zMDAsXG4gIFwiaW5kaWdvLTQwMFwiOiAkaW5kaWdvLTQwMCxcbiAgXCJpbmRpZ28tNTAwXCI6ICRpbmRpZ28tNTAwLFxuICBcImluZGlnby02MDBcIjogJGluZGlnby02MDAsXG4gIFwiaW5kaWdvLTcwMFwiOiAkaW5kaWdvLTcwMCxcbiAgXCJpbmRpZ28tODAwXCI6ICRpbmRpZ28tODAwLFxuICBcImluZGlnby05MDBcIjogJGluZGlnby05MDBcbikgIWRlZmF1bHQ7XG5cbiRwdXJwbGVzOiAoXG4gIFwicHVycGxlLTEwMFwiOiAkcHVycGxlLTEwMCxcbiAgXCJwdXJwbGUtMjAwXCI6ICRwdXJwbGUtMjAwLFxuICBcInB1cnBsZS0zMDBcIjogJHB1cnBsZS0zMDAsXG4gIFwicHVycGxlLTQwMFwiOiAkcHVycGxlLTQwMCxcbiAgXCJwdXJwbGUtNTAwXCI6ICRwdXJwbGUtNTAwLFxuICBcInB1cnBsZS02MDBcIjogJHB1cnBsZS02MDAsXG4gIFwicHVycGxlLTcwMFwiOiAkcHVycGxlLTcwMCxcbiAgXCJwdXJwbGUtODAwXCI6ICRwdXJwbGUtODAwLFxuICBcInB1cnBsZS05MDBcIjogJHB1cnBsZS05MDBcbikgIWRlZmF1bHQ7XG5cbiRwaW5rczogKFxuICBcInBpbmstMTAwXCI6ICRwaW5rLTEwMCxcbiAgXCJwaW5rLTIwMFwiOiAkcGluay0yMDAsXG4gIFwicGluay0zMDBcIjogJHBpbmstMzAwLFxuICBcInBpbmstNDAwXCI6ICRwaW5rLTQwMCxcbiAgXCJwaW5rLTUwMFwiOiAkcGluay01MDAsXG4gIFwicGluay02MDBcIjogJHBpbmstNjAwLFxuICBcInBpbmstNzAwXCI6ICRwaW5rLTcwMCxcbiAgXCJwaW5rLTgwMFwiOiAkcGluay04MDAsXG4gIFwicGluay05MDBcIjogJHBpbmstOTAwXG4pICFkZWZhdWx0O1xuXG4kcmVkczogKFxuICBcInJlZC0xMDBcIjogJHJlZC0xMDAsXG4gIFwicmVkLTIwMFwiOiAkcmVkLTIwMCxcbiAgXCJyZWQtMzAwXCI6ICRyZWQtMzAwLFxuICBcInJlZC00MDBcIjogJHJlZC00MDAsXG4gIFwicmVkLTUwMFwiOiAkcmVkLTUwMCxcbiAgXCJyZWQtNjAwXCI6ICRyZWQtNjAwLFxuICBcInJlZC03MDBcIjogJHJlZC03MDAsXG4gIFwicmVkLTgwMFwiOiAkcmVkLTgwMCxcbiAgXCJyZWQtOTAwXCI6ICRyZWQtOTAwXG4pICFkZWZhdWx0O1xuXG4kb3JhbmdlczogKFxuICBcIm9yYW5nZS0xMDBcIjogJG9yYW5nZS0xMDAsXG4gIFwib3JhbmdlLTIwMFwiOiAkb3JhbmdlLTIwMCxcbiAgXCJvcmFuZ2UtMzAwXCI6ICRvcmFuZ2UtMzAwLFxuICBcIm9yYW5nZS00MDBcIjogJG9yYW5nZS00MDAsXG4gIFwib3JhbmdlLTUwMFwiOiAkb3JhbmdlLTUwMCxcbiAgXCJvcmFuZ2UtNjAwXCI6ICRvcmFuZ2UtNjAwLFxuICBcIm9yYW5nZS03MDBcIjogJG9yYW5nZS03MDAsXG4gIFwib3JhbmdlLTgwMFwiOiAkb3JhbmdlLTgwMCxcbiAgXCJvcmFuZ2UtOTAwXCI6ICRvcmFuZ2UtOTAwXG4pICFkZWZhdWx0O1xuXG4keWVsbG93czogKFxuICBcInllbGxvdy0xMDBcIjogJHllbGxvdy0xMDAsXG4gIFwieWVsbG93LTIwMFwiOiAkeWVsbG93LTIwMCxcbiAgXCJ5ZWxsb3ctMzAwXCI6ICR5ZWxsb3ctMzAwLFxuICBcInllbGxvdy00MDBcIjogJHllbGxvdy00MDAsXG4gIFwieWVsbG93LTUwMFwiOiAkeWVsbG93LTUwMCxcbiAgXCJ5ZWxsb3ctNjAwXCI6ICR5ZWxsb3ctNjAwLFxuICBcInllbGxvdy03MDBcIjogJHllbGxvdy03MDAsXG4gIFwieWVsbG93LTgwMFwiOiAkeWVsbG93LTgwMCxcbiAgXCJ5ZWxsb3ctOTAwXCI6ICR5ZWxsb3ctOTAwXG4pICFkZWZhdWx0O1xuXG4kZ3JlZW5zOiAoXG4gIFwiZ3JlZW4tMTAwXCI6ICRncmVlbi0xMDAsXG4gIFwiZ3JlZW4tMjAwXCI6ICRncmVlbi0yMDAsXG4gIFwiZ3JlZW4tMzAwXCI6ICRncmVlbi0zMDAsXG4gIFwiZ3JlZW4tNDAwXCI6ICRncmVlbi00MDAsXG4gIFwiZ3JlZW4tNTAwXCI6ICRncmVlbi01MDAsXG4gIFwiZ3JlZW4tNjAwXCI6ICRncmVlbi02MDAsXG4gIFwiZ3JlZW4tNzAwXCI6ICRncmVlbi03MDAsXG4gIFwiZ3JlZW4tODAwXCI6ICRncmVlbi04MDAsXG4gIFwiZ3JlZW4tOTAwXCI6ICRncmVlbi05MDBcbikgIWRlZmF1bHQ7XG5cbiR0ZWFsczogKFxuICBcInRlYWwtMTAwXCI6ICR0ZWFsLTEwMCxcbiAgXCJ0ZWFsLTIwMFwiOiAkdGVhbC0yMDAsXG4gIFwidGVhbC0zMDBcIjogJHRlYWwtMzAwLFxuICBcInRlYWwtNDAwXCI6ICR0ZWFsLTQwMCxcbiAgXCJ0ZWFsLTUwMFwiOiAkdGVhbC01MDAsXG4gIFwidGVhbC02MDBcIjogJHRlYWwtNjAwLFxuICBcInRlYWwtNzAwXCI6ICR0ZWFsLTcwMCxcbiAgXCJ0ZWFsLTgwMFwiOiAkdGVhbC04MDAsXG4gIFwidGVhbC05MDBcIjogJHRlYWwtOTAwXG4pICFkZWZhdWx0O1xuXG4kY3lhbnM6IChcbiAgXCJjeWFuLTEwMFwiOiAkY3lhbi0xMDAsXG4gIFwiY3lhbi0yMDBcIjogJGN5YW4tMjAwLFxuICBcImN5YW4tMzAwXCI6ICRjeWFuLTMwMCxcbiAgXCJjeWFuLTQwMFwiOiAkY3lhbi00MDAsXG4gIFwiY3lhbi01MDBcIjogJGN5YW4tNTAwLFxuICBcImN5YW4tNjAwXCI6ICRjeWFuLTYwMCxcbiAgXCJjeWFuLTcwMFwiOiAkY3lhbi03MDAsXG4gIFwiY3lhbi04MDBcIjogJGN5YW4tODAwLFxuICBcImN5YW4tOTAwXCI6ICRjeWFuLTkwMFxuKSAhZGVmYXVsdDtcbi8vIGZ1c3YtZW5hYmxlXG5cbi8vIFNlbWFudGljYWxseSwgJHNlY29uZGFyeSBpcyBjbG9zZXN0IHRvIEJTMydzICdkZWZhdWx0JyB0aGVtZSBjb2xvcjtcbi8vIHNvIHVzZSB0aGF0IGlmIHNwZWNpZmllZC4gT3RoZXJ3aXNlLCB1c2UgYSBsaWdodCBpbnN0ZWFkIG9mIGRhcmsgZ3JheVxuLy8gZGVmYXVsdCBjb2xvciBmb3IgJGRlZmF1bHQgc2luY2UgdGhhdCdzIGNsb3NlciB0byBib290c3RyYXAgMydzIGRlZmF1bHRcbiRkZWZhdWx0OiBpZih2YXJpYWJsZS1leGlzdHMoXCJzZWNvbmRhcnlcIiksICRzZWNvbmRhcnksICRncmF5LTMwMCkgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1jb2xvci12YXJpYWJsZXNcbiRwcmltYXJ5OiAgICAgICAkYmx1ZSAhZGVmYXVsdDtcbiRzZWNvbmRhcnk6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kc3VjY2VzczogICAgICAgJGdyZWVuICFkZWZhdWx0O1xuJGluZm86ICAgICAgICAgICRjeWFuICFkZWZhdWx0O1xuJHdhcm5pbmc6ICAgICAgICR5ZWxsb3cgIWRlZmF1bHQ7XG4kZGFuZ2VyOiAgICAgICAgJHJlZCAhZGVmYXVsdDtcbiRsaWdodDogICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kZGFyazogICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1jb2xvci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWNvbG9ycy1tYXBcbiR0aGVtZS1jb2xvcnM6IChcbiAgLy8gZGVmYXVsdCBuZWVkcyB0byBiZSAxc3Qgc28gdGhhdCAuYnRuLWRlZmF1bHQgY29tZXMgYmVmb3JlIC5idG4tcHJpbWFyeVxuICAvLyAmIHRoZXJlZm9yZSBoYXMgbG93ZXIgcHJpb3JpdHkuXG4gIFwiZGVmYXVsdFwiOiAgICAkZGVmYXVsdCxcbiAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxuICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcbiAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxuICBcImluZm9cIjogICAgICAgJGluZm8sXG4gIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcbiAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXG4gIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gIFwiZGFya1wiOiAgICAgICAkZGFya1xuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtY29sb3JzLW1hcFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtdGV4dC12YXJpYWJsZXNcbiRwcmltYXJ5LXRleHQtZW1waGFzaXM6ICAgc2hhZGUtY29sb3IoJHByaW1hcnksIDYwJSkgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LXRleHQtZW1waGFzaXM6IHNoYWRlLWNvbG9yKCRzZWNvbmRhcnksIDYwJSkgIWRlZmF1bHQ7XG4kc3VjY2Vzcy10ZXh0LWVtcGhhc2lzOiAgIHNoYWRlLWNvbG9yKCRzdWNjZXNzLCA2MCUpICFkZWZhdWx0O1xuJGluZm8tdGV4dC1lbXBoYXNpczogICAgICBzaGFkZS1jb2xvcigkaW5mbywgNjAlKSAhZGVmYXVsdDtcbiR3YXJuaW5nLXRleHQtZW1waGFzaXM6ICAgc2hhZGUtY29sb3IoJHdhcm5pbmcsIDYwJSkgIWRlZmF1bHQ7XG4kZGFuZ2VyLXRleHQtZW1waGFzaXM6ICAgIHNoYWRlLWNvbG9yKCRkYW5nZXIsIDYwJSkgIWRlZmF1bHQ7XG4kbGlnaHQtdGV4dC1lbXBoYXNpczogICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRkYXJrLXRleHQtZW1waGFzaXM6ICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS10ZXh0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtYmctc3VidGxlLXZhcmlhYmxlc1xuJHByaW1hcnktYmctc3VidGxlOiAgICAgICB0aW50LWNvbG9yKCRwcmltYXJ5LCA4MCUpICFkZWZhdWx0O1xuJHNlY29uZGFyeS1iZy1zdWJ0bGU6ICAgICB0aW50LWNvbG9yKCRzZWNvbmRhcnksIDgwJSkgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1iZy1zdWJ0bGU6ICAgICAgIHRpbnQtY29sb3IoJHN1Y2Nlc3MsIDgwJSkgIWRlZmF1bHQ7XG4kaW5mby1iZy1zdWJ0bGU6ICAgICAgICAgIHRpbnQtY29sb3IoJGluZm8sIDgwJSkgIWRlZmF1bHQ7XG4kd2FybmluZy1iZy1zdWJ0bGU6ICAgICAgIHRpbnQtY29sb3IoJHdhcm5pbmcsIDgwJSkgIWRlZmF1bHQ7XG4kZGFuZ2VyLWJnLXN1YnRsZTogICAgICAgIHRpbnQtY29sb3IoJGRhbmdlciwgODAlKSAhZGVmYXVsdDtcbiRsaWdodC1iZy1zdWJ0bGU6ICAgICAgICAgbWl4KCRncmF5LTEwMCwgJHdoaXRlKSAhZGVmYXVsdDtcbiRkYXJrLWJnLXN1YnRsZTogICAgICAgICAgJGdyYXktNDAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1iZy1zdWJ0bGUtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1ib3JkZXItc3VidGxlLXZhcmlhYmxlc1xuJHByaW1hcnktYm9yZGVyLXN1YnRsZTogICB0aW50LWNvbG9yKCRwcmltYXJ5LCA2MCUpICFkZWZhdWx0O1xuJHNlY29uZGFyeS1ib3JkZXItc3VidGxlOiB0aW50LWNvbG9yKCRzZWNvbmRhcnksIDYwJSkgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1ib3JkZXItc3VidGxlOiAgIHRpbnQtY29sb3IoJHN1Y2Nlc3MsIDYwJSkgIWRlZmF1bHQ7XG4kaW5mby1ib3JkZXItc3VidGxlOiAgICAgIHRpbnQtY29sb3IoJGluZm8sIDYwJSkgIWRlZmF1bHQ7XG4kd2FybmluZy1ib3JkZXItc3VidGxlOiAgIHRpbnQtY29sb3IoJHdhcm5pbmcsIDYwJSkgIWRlZmF1bHQ7XG4kZGFuZ2VyLWJvcmRlci1zdWJ0bGU6ICAgIHRpbnQtY29sb3IoJGRhbmdlciwgNjAlKSAhZGVmYXVsdDtcbiRsaWdodC1ib3JkZXItc3VidGxlOiAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGRhcmstYm9yZGVyLXN1YnRsZTogICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWJvcmRlci1zdWJ0bGUtdmFyaWFibGVzXG5cbi8vIENoYXJhY3RlcnMgd2hpY2ggYXJlIGVzY2FwZWQgYnkgdGhlIGVzY2FwZS1zdmcgZnVuY3Rpb25cbiRlc2NhcGVkLWNoYXJhY3RlcnM6IChcbiAgKFwiPFwiLCBcIiUzY1wiKSxcbiAgKFwiPlwiLCBcIiUzZVwiKSxcbiAgKFwiI1wiLCBcIiUyM1wiKSxcbiAgKFwiKFwiLCBcIiUyOFwiKSxcbiAgKFwiKVwiLCBcIiUyOVwiKSxcbikgIWRlZmF1bHQ7XG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJlZHVjZWQtbW90aW9uOiAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zbW9vdGgtc2Nyb2xsOiAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JpZC1jbGFzc2VzOiAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWNvbnRhaW5lci1jbGFzc2VzOiAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1jc3NncmlkOiAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWJ1dHRvbi1wb2ludGVyczogICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZnM6ICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtdmFsaWRhdGlvbi1pY29uczogICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLW5lZ2F0aXZlLW1hcmdpbnM6ICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXM6IHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXM6ICB0cnVlICFkZWZhdWx0O1xuXG4kZW5hYmxlLWRhcmstbW9kZTogICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGNvbG9yLW1vZGUtdHlwZTogICAgICAgICAgICAgZGF0YSAhZGVmYXVsdDsgLy8gYGRhdGFgIG9yIGBtZWRpYS1xdWVyeWBcblxuLy8gUHJlZml4IGZvciA6cm9vdCBDU1MgdmFyaWFibGVzXG5cbiR2YXJpYWJsZS1wcmVmaXg6ICAgICAgICAgICAgIGJzLSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAgZm9yIHRoZSBzaG9ydGVyIGAkcHJlZml4YFxuJHByZWZpeDogICAgICAgICAgICAgICAgICAgICAgJHZhcmlhYmxlLXByZWZpeCAhZGVmYXVsdDtcblxuLy8gR3JhZGllbnRcbi8vXG4vLyBUaGUgZ3JhZGllbnQgd2hpY2ggaXMgYWRkZWQgdG8gY29tcG9uZW50cyBpZiBgJGVuYWJsZS1ncmFkaWVudHNgIGlzIGB0cnVlYFxuLy8gVGhpcyBncmFkaWVudCBpcyBhbHNvIGFkZGVkIHRvIGVsZW1lbnRzIHdpdGggYC5iZy1ncmFkaWVudGBcbi8vIHNjc3MtZG9jcy1zdGFydCB2YXJpYWJsZS1ncmFkaWVudFxuJGdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKCR3aGl0ZSwgLjE1KSwgcmdiYSgkd2hpdGUsIDApKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdmFyaWFibGUtZ3JhZGllbnRcblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzcGFjZXItdmFyaWFibGVzLW1hcHNcbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKFxuICAwOiAwLFxuICAxOiAkc3BhY2VyICogLjI1LFxuICAyOiAkc3BhY2VyICogLjUsXG4gIDM6ICRzcGFjZXIsXG4gIDQ6ICRzcGFjZXIgKiAxLjUsXG4gIDU6ICRzcGFjZXIgKiAzLFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc3BhY2VyLXZhcmlhYmxlcy1tYXBzXG5cbi8vIFBvc2l0aW9uXG4vL1xuLy8gRGVmaW5lIHRoZSBlZGdlIHBvc2l0aW9uaW5nIGFuY2hvcnMgb2YgdGhlIHBvc2l0aW9uIHV0aWxpdGllcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBvc2l0aW9uLW1hcFxuJHBvc2l0aW9uLXZhbHVlczogKFxuICAwOiAwLFxuICA1MDogNTAlLFxuICAxMDA6IDEwMCVcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBvc2l0aW9uLW1hcFxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS10ZXh0LWFsaWduOiAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kYm9keS1zZWNvbmRhcnktY29sb3I6ICAgICAgcmdiYSgkYm9keS1jb2xvciwgLjc1KSAhZGVmYXVsdDtcbiRib2R5LXNlY29uZGFyeS1iZzogICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRib2R5LXRlcnRpYXJ5LWNvbG9yOiAgICAgICByZ2JhKCRib2R5LWNvbG9yLCAuNSkgIWRlZmF1bHQ7XG4kYm9keS10ZXJ0aWFyeS1iZzogICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuXG4kYm9keS1lbXBoYXNpcy1jb2xvcjogICAgICAgJGJsYWNrICFkZWZhdWx0O1xuXG4vLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHByaW1hcnkgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4kbGluay1zaGFkZS1wZXJjZW50YWdlOiAgICAgICAgICAgICAgICAgICAyMCUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBzaGlmdC1jb2xvcigkbGluay1jb2xvciwgJGxpbmstc2hhZGUtcGVyY2VudGFnZSkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kc3RyZXRjaGVkLWxpbmstcHNldWRvLWVsZW1lbnQ6ICAgICAgICAgICBhZnRlciAhZGVmYXVsdDtcbiRzdHJldGNoZWQtbGluay16LWluZGV4OiAgICAgICAgICAgICAgICAgIDEgIWRlZmF1bHQ7XG5cbi8vIEljb24gbGlua3Ncbi8vIHNjc3MtZG9jcy1zdGFydCBpY29uLWxpbmstdmFyaWFibGVzXG4kaWNvbi1saW5rLWdhcDogICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGljb24tbGluay11bmRlcmxpbmUtb2Zmc2V0OiAgLjI1ZW0gIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWljb24tc2l6ZTogICAgICAgICAxZW0gIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWljb24tdHJhbnNpdGlvbjogICAuMnMgZWFzZS1pbi1vdXQgdHJhbnNmb3JtICFkZWZhdWx0O1xuJGljb24tbGluay1pY29uLXRyYW5zZm9ybTogICAgdHJhbnNsYXRlM2QoLjI1ZW0sIDAsIDApICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBpY29uLWxpbmstdmFyaWFibGVzXG5cbi8vIFBhcmFncmFwaHNcbi8vXG4vLyBTdHlsZSBwIGVsZW1lbnQuXG5cbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAxcmVtICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyaWQtYnJlYWtwb2ludHNcbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4LFxuICB4eGw6IDE0MDBweFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JpZC1icmVha3BvaW50c1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcbkBpbmNsdWRlIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5cblxuLy8gR3JpZCBjb250YWluZXJzXG4vL1xuLy8gRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbnRhaW5lci1tYXgtd2lkdGhzXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweCxcbiAgeHhsOiAxMzIwcHhcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbnRhaW5lci1tYXgtd2lkdGhzXG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRjb250YWluZXItbWF4LXdpZHRocywgXCIkY29udGFpbmVyLW1heC13aWR0aHNcIik7XG5cblxuLy8gR3JpZCBjb2x1bW5zXG4vL1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJGdyaWQtcm93LWNvbHVtbnM6ICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuLy8gQ29udGFpbmVyIHBhZGRpbmdcblxuJGNvbnRhaW5lci1wYWRkaW5nLXg6ICRncmlkLWd1dHRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXZhcmlhYmxlc1xuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci13aWR0aHM6IChcbiAgMTogMXB4LFxuICAyOiAycHgsXG4gIDM6IDNweCxcbiAgNDogNHB4LFxuICA1OiA1cHhcbikgIWRlZmF1bHQ7XG4kYm9yZGVyLXN0eWxlOiAgICAgICAgICAgICAgICBzb2xpZCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3ItdHJhbnNsdWNlbnQ6ICAgIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYm9yZGVyLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXJhZGl1cy12YXJpYWJsZXNcbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXhsOiAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy14eGw6ICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtcGlsbDogICAgICAgICAgNTByZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJvcmRlci1yYWRpdXMtdmFyaWFibGVzXG4vLyBmdXN2LWRpc2FibGVcbiRib3JkZXItcmFkaXVzLTJ4bDogICAgICAgICAgICRib3JkZXItcmFkaXVzLXh4bCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjBcbi8vIGZ1c3YtZW5hYmxlXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBib3gtc2hhZG93LXZhcmlhYmxlc1xuJGJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctc206ICAgICAgICAgICAgICAgMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1sZzogICAgICAgICAgICAgICAwIDFyZW0gM3JlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1pbnNldDogICAgICAgICAgICBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBib3gtc2hhZG93LXZhcmlhYmxlc1xuXG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgICAkcHJpbWFyeSAhZGVmYXVsdDtcbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgIGNvbG9yLWNvbnRyYXN0KCRjb21wb25lbnQtYWN0aXZlLWJnKSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvY3VzLXJpbmctdmFyaWFibGVzXG4kZm9jdXMtcmluZy13aWR0aDogICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kZm9jdXMtcmluZy1vcGFjaXR5OiAgICAuMjUgIWRlZmF1bHQ7XG4kZm9jdXMtcmluZy1jb2xvcjogICAgICByZ2JhKCRwcmltYXJ5LCAkZm9jdXMtcmluZy1vcGFjaXR5KSAhZGVmYXVsdDtcbiRmb2N1cy1yaW5nLWJsdXI6ICAgICAgIDAgIWRlZmF1bHQ7XG4kZm9jdXMtcmluZy1ib3gtc2hhZG93OiAwIDAgJGZvY3VzLXJpbmctYmx1ciAkZm9jdXMtcmluZy13aWR0aCAkZm9jdXMtcmluZy1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9jdXMtcmluZy12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcmV0LXZhcmlhYmxlc1xuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcbiRjYXJldC12ZXJ0aWNhbC1hbGlnbjogICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbiRjYXJldC1zcGFjaW5nOiAgICAgICAgICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2FyZXQtdmFyaWFibGVzXG5cbiR0cmFuc2l0aW9uLWJhc2U6ICAgICAgICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1mYWRlOiAgICAgICAgICAgICBvcGFjaXR5IC4xNXMgbGluZWFyICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbGxhcHNlLXRyYW5zaXRpb25cbiR0cmFuc2l0aW9uLWNvbGxhcHNlOiAgICAgICAgIGhlaWdodCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZS13aWR0aDogICB3aWR0aCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbGxhcHNlLXRyYW5zaXRpb25cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4vLyBzY3NzLWRvY3Mtc3RhcnQgYXNwZWN0LXJhdGlvc1xuJGFzcGVjdC1yYXRpb3M6IChcbiAgXCIxeDFcIjogMTAwJSxcbiAgXCI0eDNcIjogY2FsYygzIC8gNCAqIDEwMCUpLFxuICBcIjE2eDlcIjogY2FsYyg5IC8gMTYgKiAxMDAlKSxcbiAgXCIyMXg5XCI6IGNhbGMoOSAvIDIxICogMTAwJSlcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGFzcGVjdC1yYXRpb3Ncbi8vIHN0eWxlbGludC1lbmFibGUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbi8vIFR5cG9ncmFwaHlcbi8vXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvbnQtdmFyaWFibGVzXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJOb3RvIFNhbnNcIiwgXCJMaWJlcmF0aW9uIFNhbnNcIiwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWZvbnQtc2Fucy1zZXJpZikgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktY29kZTogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Zm9udC1tb25vc3BhY2UpICFkZWZhdWx0O1xuXG4vLyAkZm9udC1zaXplLXJvb3QgYWZmZWN0cyB0aGUgdmFsdWUgb2YgYHJlbWAsIHdoaWNoIGlzIHVzZWQgZm9yIGFzIHdlbGwgZm9udCBzaXplcywgcGFkZGluZ3MsIGFuZCBtYXJnaW5zXG4vLyAkZm9udC1zaXplLWJhc2UgYWZmZWN0cyB0aGUgZm9udCBzaXplIG9mIHRoZSBib2R5IHRleHRcbiRmb250LXNpemUtcm9vdDogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC44NzUgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtbGlnaHRlcjogICAgICAgICBsaWdodGVyICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogICAgICAgICAgNDAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW1lZGl1bTogICAgICAgICAgNTAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LXNlbWlib2xkOiAgICAgICAgNjAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgICAgNzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGRlcjogICAgICAgICAgYm9sZGVyICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtYmFzZTogICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgMiAhZGVmYXVsdDtcblxuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMi41ICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMiAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNzUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb250LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9udC1zaXplc1xuJGZvbnQtc2l6ZXM6IChcbiAgMTogJGgxLWZvbnQtc2l6ZSxcbiAgMjogJGgyLWZvbnQtc2l6ZSxcbiAgMzogJGgzLWZvbnQtc2l6ZSxcbiAgNDogJGg0LWZvbnQtc2l6ZSxcbiAgNTogJGg1LWZvbnQtc2l6ZSxcbiAgNjogJGg2LWZvbnQtc2l6ZVxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9udC1zaXplc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaGVhZGluZ3MtdmFyaWFibGVzXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBudWxsICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtc3R5bGU6ICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgIDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGhlYWRpbmdzLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZGlzcGxheS1oZWFkaW5nc1xuJGRpc3BsYXktZm9udC1zaXplczogKFxuICAxOiA1cmVtLFxuICAyOiA0LjVyZW0sXG4gIDM6IDRyZW0sXG4gIDQ6IDMuNXJlbSxcbiAgNTogM3JlbSxcbiAgNjogMi41cmVtXG4pICFkZWZhdWx0O1xuXG4kZGlzcGxheS1mb250LWZhbWlseTogbnVsbCAhZGVmYXVsdDtcbiRkaXNwbGF5LWZvbnQtc3R5bGU6ICBudWxsICFkZWZhdWx0O1xuJGRpc3BsYXktZm9udC13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5LWxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGRpc3BsYXktaGVhZGluZ3NcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHR5cGUtdmFyaWFibGVzXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICAuODc1ZW0gIWRlZmF1bHQ7XG5cbiRzdWItc3VwLWZvbnQtc2l6ZTogICAgICAgICAgIC43NWVtICFkZWZhdWx0O1xuXG4vLyBmdXN2LWRpc2FibGVcbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIDUuMy4wXG4vLyBmdXN2LWVuYWJsZVxuXG4kaW5pdGlhbGlzbS1mb250LXNpemU6ICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kYmxvY2txdW90ZS1tYXJnaW4teTogICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvb3Rlci1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1ib3JkZXItd2lkdGg6ICAgICAkc3BhY2VyIC8gNCAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjogICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJGhyLW1hcmdpbi15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRoci1jb2xvcjogICAgICAgICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vIGZ1c3YtZGlzYWJsZVxuJGhyLWJnLWNvbG9yOiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjBcbiRoci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wXG4vLyBmdXN2LWVuYWJsZVxuXG4kaHItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBBbGxvd3MgZm9yIGluaGVyaXRlZCBjb2xvcnNcbiRoci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGhyLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgLjI1ICFkZWZhdWx0O1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdnItdmFyaWFibGVzXG4kdnItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdnItdmFyaWFibGVzXG5cbiRsZWdlbmQtbWFyZ2luLWJvdHRvbTogICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGxlZ2VuZC1mb250LXNpemU6ICAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJGxlZ2VuZC1mb250LXdlaWdodDogICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGR0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRsaXN0LWlubGluZS1wYWRkaW5nOiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbWFyay1wYWRkaW5nOiAgICAgICAgICAgICAgICAuMTg3NWVtICFkZWZhdWx0O1xuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgJHllbGxvdy0xMDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHR5cGUtdmFyaWFibGVzXG5cblxuLy8gVGFibGVzXG4vL1xuLy8gQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGFibGUtdmFyaWFibGVzXG4kdGFibGUtY2VsbC1wYWRkaW5nLXk6ICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmcteDogICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy15LXNtOiAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy14LXNtOiAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kdGFibGUtY2VsbC12ZXJ0aWNhbC1hbGlnbjogICB0b3AgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kdGFibGUtdGgtZm9udC13ZWlnaHQ6ICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kdGFibGUtc3RyaXBlZC1jb2xvcjogICAgICAgICAkdGFibGUtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1iZy1mYWN0b3I6ICAgICAuMDUgIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1iZzogICAgICAgICAgICByZ2JhKCRibGFjaywgJHRhYmxlLXN0cmlwZWQtYmctZmFjdG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZy1mYWN0b3I6ICAgICAgLjEgIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgJHRhYmxlLWFjdGl2ZS1iZy1mYWN0b3IpICFkZWZhdWx0O1xuXG4kdGFibGUtaG92ZXItY29sb3I6ICAgICAgICAgICAkdGFibGUtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmctZmFjdG9yOiAgICAgICAuMDc1ICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssICR0YWJsZS1ob3Zlci1iZy1mYWN0b3IpICFkZWZhdWx0O1xuXG4kdGFibGUtYm9yZGVyLWZhY3RvcjogICAgICAgICAuMSAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLW9yZGVyOiAgICAgICAgIG9kZCAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLWNvbHVtbnMtb3JkZXI6IGV2ZW4gIWRlZmF1bHQ7XG5cbiR0YWJsZS1ncm91cC1zZXBhcmF0b3ItY29sb3I6IGN1cnJlbnRjb2xvciAhZGVmYXVsdDtcblxuJHRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1iZy1zY2FsZTogICAgICAgICAgICAgIC04MCUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRhYmxlLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGFibGUtbG9vcFxuJHRhYmxlLXZhcmlhbnRzOiAoXG4gIFwicHJpbWFyeVwiOiAgICBzaGlmdC1jb2xvcigkcHJpbWFyeSwgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJzZWNvbmRhcnlcIjogIHNoaWZ0LWNvbG9yKCRzZWNvbmRhcnksICR0YWJsZS1iZy1zY2FsZSksXG4gIFwic3VjY2Vzc1wiOiAgICBzaGlmdC1jb2xvcigkc3VjY2VzcywgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJpbmZvXCI6ICAgICAgIHNoaWZ0LWNvbG9yKCRpbmZvLCAkdGFibGUtYmctc2NhbGUpLFxuICBcIndhcm5pbmdcIjogICAgc2hpZnQtY29sb3IoJHdhcm5pbmcsICR0YWJsZS1iZy1zY2FsZSksXG4gIFwiZGFuZ2VyXCI6ICAgICBzaGlmdC1jb2xvcigkZGFuZ2VyLCAkdGFibGUtYmctc2NhbGUpLFxuICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICBcImRhcmtcIjogICAgICAgJGRhcmssXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0YWJsZS1sb29wXG5cblxuLy8gQnV0dG9ucyArIEZvcm1zXG4vL1xuLy8gU2hhcmVkIHZhcmlhYmxlcyB0aGF0IGFyZSByZWFzc2lnbmVkIHRvIGAkaW5wdXQtYCBhbmQgYCRidG4tYCBzcGVjaWZpYyB2YXJpYWJsZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBpbnB1dC1idG4tdmFyaWFibGVzXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LWZhbWlseTogICAgICAgbnVsbCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplOiAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgICRmb2N1cy1yaW5nLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1jb2xvci1vcGFjaXR5OiAkZm9jdXMtcmluZy1vcGFjaXR5ICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1jb2xvcjogICAgICAgICAkZm9jdXMtcmluZy1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtYmx1cjogICAgICAgICAgJGZvY3VzLXJpbmctYmx1ciAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdzogICAgJGZvY3VzLXJpbmctYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbTogICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZzogICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWJvcmRlci13aWR0aDogICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgaW5wdXQtYnRuLXZhcmlhYmxlc1xuXG5cbi8vIEJ1dHRvbnNcbi8vXG4vLyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCwgYW5kIGJvcmRlciBjb2xvci5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi12YXJpYWJsZXNcbiRidG4tY29sb3I6ICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy15OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemU6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ0bi13aGl0ZS1zcGFjZTogICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gU2V0IHRvIGBub3dyYXBgIHRvIHByZXZlbnQgdGV4dCB3cmFwcGluZ1xuXG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcblxuJGJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kYnRuLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoJHdoaXRlLCAuMTUpLCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy13aWR0aDogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRidG4tZm9jdXMtYm94LXNoYWRvdzogICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRidG4tZGlzYWJsZWQtb3BhY2l0eTogICAgICAgIC42NSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJveC1zaGFkb3c6ICAgICAgIGluc2V0IDAgM3B4IDVweCByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWNvbG9yKSAhZGVmYXVsdDtcbiRidG4tbGluay1ob3Zlci1jb2xvcjogICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc20pICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpICFkZWZhdWx0O1xuXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRidG4taG92ZXItYmctc2hhZGUtYW1vdW50OiAgICAgICAxNSUgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWJnLXRpbnQtYW1vdW50OiAgICAgICAgMTUlICFkZWZhdWx0O1xuJGJ0bi1ob3Zlci1ib3JkZXItc2hhZGUtYW1vdW50OiAgIDIwJSAhZGVmYXVsdDtcbiRidG4taG92ZXItYm9yZGVyLXRpbnQtYW1vdW50OiAgICAxMCUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1iZy1zaGFkZS1hbW91bnQ6ICAgICAgMjAlICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYmctdGludC1hbW91bnQ6ICAgICAgIDIwJSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJvcmRlci1zaGFkZS1hbW91bnQ6ICAyNSUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3JkZXItdGludC1hbW91bnQ6ICAgMTAlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBidG4tdmFyaWFibGVzXG5cblxuLy8gRm9ybXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdGV4dC12YXJpYWJsZXNcbiRmb3JtLXRleHQtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLXRleHQtZm9udC1zdHlsZTogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tdGV4dC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tdGV4dC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tbGFiZWwtdmFyaWFibGVzXG4kZm9ybS1sYWJlbC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc3R5bGU6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1sYWJlbC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0taW5wdXQtdmFyaWFibGVzXG4kaW5wdXQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJvcmRlci1jb2xvcjogICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgJGJveC1zaGFkb3ctaW5zZXQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc20pICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnKSAhZGVmYXVsdDtcblxuJGlucHV0LWZvY3VzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICB0aW50LWNvbG9yKCRjb21wb25lbnQtYWN0aXZlLWJnLCA1MCUpICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGlucHV0LXBsYWludGV4dC1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtYm9yZGVyLXdpZHRofSAqIDIpICFkZWZhdWx0OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgJGlucHV0LXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1oYWxmOiAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuNWVtLCAkaW5wdXQtcGFkZGluZy15KSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjogICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjI1ZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAuNSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LXNtICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcblxuJGlucHV0LXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLWNvbG9yLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAzcmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWlucHV0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1jaGVjay12YXJpYWJsZXNcbiRmb3JtLWNoZWNrLWlucHV0LXdpZHRoOiAgICAgICAgICAgICAgICAgIDFlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLW1pbi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydDogICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1sYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbGFiZWwtY3Vyc29yOiAgICAgICAgICAgICAgICAgcG9pbnRlciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWFjdGl2ZS1maWx0ZXI6ICAgICAgICAgIGJyaWdodG5lc3MoOTAlKSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLXJhZGlvLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWZvY3VzLWJvcmRlcjogICAgICAgICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkZm9jdXMtcmluZy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWNvbG9yOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1ib3JkZXItY29sb3I6ICAgJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctaW1hZ2U6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwIDIwJz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSczJyBkPSdtNiAxMCAzIDMgNi02Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stcmFkaW8tY2hlY2tlZC1iZy1pbWFnZTogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMicgZmlsbD0nI3skZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1jb2xvcjogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yOiAgICRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWltYWdlOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyMCAyMCc+PHBhdGggZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMycgZD0nTTYgMTBoOCcvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtZGlzYWJsZWQtb3BhY2l0eTogICAgICAgIC41ICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbGFiZWwtZGlzYWJsZWQtb3BhY2l0eTogICAgICAgICRmb3JtLWNoZWNrLWlucHV0LWRpc2FibGVkLW9wYWNpdHkgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1idG4tY2hlY2stZGlzYWJsZWQtb3BhY2l0eTogICAgJGJ0bi1kaXNhYmxlZC1vcGFjaXR5ICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLWVuZDogICAgMXJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1jaGVjay12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tc3dpdGNoLXZhcmlhYmxlc1xuJGZvcm0tc3dpdGNoLWNvbG9yOiAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMjUpICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLXdpZHRoOiAgICAgICAgICAgICAgIDJlbSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1wYWRkaW5nLXN0YXJ0OiAgICAgICAkZm9ybS1zd2l0Y2gtd2lkdGggKyAuNWVtICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWJnLWltYWdlOiAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGZvcm0tc3dpdGNoLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1ib3JkZXItcmFkaXVzOiAgICAgICAkZm9ybS1zd2l0Y2gtd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtdHJhbnNpdGlvbjogICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbiAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kZm9ybS1zd2l0Y2gtZm9jdXMtY29sb3I6ICAgICAgICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1mb2N1cy1iZy1pbWFnZTogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRmb3JtLXN3aXRjaC1mb2N1cy1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXN3aXRjaC1jaGVja2VkLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLWltYWdlOiAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRmb3JtLXN3aXRjaC1jaGVja2VkLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLXBvc2l0aW9uOiByaWdodCBjZW50ZXIgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tc3dpdGNoLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaW5wdXQtZ3JvdXAtdmFyaWFibGVzXG4kaW5wdXQtZ3JvdXAtYWRkb24tcGFkZGluZy15OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1wYWRkaW5nLXg6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWZvbnQtd2VpZ2h0OiAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBpbnB1dC1ncm91cC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tc2VsZWN0LXZhcmlhYmxlc1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1mYW1pbHk6ICAgICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1zaXplOiAgICAgICAgICAgICAkaW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgICAgJGZvcm0tc2VsZWN0LXBhZGRpbmcteCAqIDMgIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgZm9yIGJhY2tncm91bmQtaW1hZ2VcbiRmb3JtLXNlbGVjdC1mb250LXdlaWdodDogICAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1saW5lLWhlaWdodDogICAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1jb2xvcjogICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1iZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJnLXBvc2l0aW9uOiAgICAgICAgICAgcmlnaHQgJGZvcm0tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgICAxNnB4IDEycHggIWRlZmF1bHQ7IC8vIEluIHBpeGVscyBiZWNhdXNlIGltYWdlIGRpbWVuc2lvbnNcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2Jz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tc2VsZWN0LWluZGljYXRvci1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdtMiA1IDYgNiA2LTYnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctZW5kOiAkZm9ybS1zZWxlY3QtcGFkZGluZy14ICogMi41ICsgJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb246ICAgIGNlbnRlciByaWdodCAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplOiAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWJvcmRlci13aWR0aDogICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzOiAgICAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3gtc2hhZG93OiAgICAgICAgICAkYm94LXNoYWRvdy1pbnNldCAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9jdXMtd2lkdGg6ICAgICAgICAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRmb3JtLXNlbGVjdC1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZS1zbTogICAgICAgICRpbnB1dC1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1zbTogICAgJGlucHV0LWJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXktbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteC1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLWxnOiAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LXRyYW5zaXRpb246ICAgICAgICAgICRpbnB1dC10cmFuc2l0aW9uICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXNlbGVjdC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tcmFuZ2UtdmFyaWFibGVzXG4kZm9ybS1yYW5nZS10cmFjay13aWR0aDogICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWN1cnNvcjogICAgICAgICBwb2ludGVyICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzOiAgMXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWJveC1zaGFkb3c6ICAgICAkYm94LXNoYWRvdy1pbnNldCAhZGVmYXVsdDtcblxuJGZvcm0tcmFuZ2UtdGh1bWItd2lkdGg6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgJGZvcm0tcmFuZ2UtdGh1bWItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgLjFyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgMCAwIDAgMXB4ICRib2R5LWJnLCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg6ICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7IC8vIEZvciBmb2N1cyBib3ggc2hhZG93IGlzc3VlIGluIEVkZ2VcbiRmb3JtLXJhbmdlLXRodW1iLWFjdGl2ZS1iZzogICAgICAgICAgICAgICB0aW50LWNvbG9yKCRjb21wb25lbnQtYWN0aXZlLWJnLCA3MCUpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItdHJhbnNpdGlvbjogICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1yYW5nZS12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tZmlsZS12YXJpYWJsZXNcbiRmb3JtLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1maWxlLWJ1dHRvbi1iZzogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcbiRmb3JtLWZpbGUtYnV0dG9uLWhvdmVyLWJnOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1maWxlLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1mbG9hdGluZy12YXJpYWJsZXNcbiRmb3JtLWZsb2F0aW5nLWhlaWdodDogICAgICAgICAgICAgICAgICBhZGQoMy41cmVtLCAkaW5wdXQtaGVpZ2h0LWJvcmRlcikgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1saW5lLWhlaWdodDogICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteDogICAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctcGFkZGluZy15OiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLXQ6ICAgICAgICAgMS42MjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLWI6ICAgICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLWhlaWdodDogICAgICAgICAgICAxLjVlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLW9wYWNpdHk6ICAgICAgICAgICAuNjUgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1sYWJlbC10cmFuc2Zvcm06ICAgICAgICAgc2NhbGUoLjg1KSB0cmFuc2xhdGVZKC0uNXJlbSkgdHJhbnNsYXRlWCguMTVyZW0pICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtZGlzYWJsZWQtY29sb3I6ICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLXRyYW5zaXRpb246ICAgICAgICAgICAgICBvcGFjaXR5IC4xcyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIC4xcyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1mbG9hdGluZy12YXJpYWJsZXNcblxuLy8gRm9ybSB2YWxpZGF0aW9uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWZlZWRiYWNrLXZhcmlhYmxlc1xuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJGZvcm0tdGV4dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXN0eWxlOiAgICAgICAgICAkZm9ybS10ZXh0LWZvbnQtc3R5bGUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogICAgICAgICAkc3VjY2VzcyAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgICRkYW5nZXIgIWRlZmF1bHQ7XG5cbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3I6ICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZDogICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3J9JyBkPSdNMi4zIDYuNzMuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3I6ICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkOiAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTIgMTInIHdpZHRoPScxMicgaGVpZ2h0PScxMicgZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nPjxjaXJjbGUgY3g9JzYnIGN5PSc2JyByPSc0LjUnLz48cGF0aCBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBkPSdNNS44IDMuNmguNEw2IDYuNXonLz48Y2lyY2xlIGN4PSc2JyBjeT0nOC4yJyByPScuNicgZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyBzdHJva2U9J25vbmUnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tZmVlZGJhY2stdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXZhbGlkYXRpb24tY29sb3JzXG4kZm9ybS12YWxpZC1jb2xvcjogICAgICAgICAgICAgICAgICAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXZhbGlkLWJvcmRlci1jb2xvcjogICAgICAgICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0taW52YWxpZC1jb2xvcjogICAgICAgICAgICAgICAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tdmFsaWRhdGlvbi1jb2xvcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXNcbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiAoXG4gIFwidmFsaWRcIjogKFxuICAgIFwiY29sb3JcIjogdmFyKC0tI3skcHJlZml4fWZvcm0tdmFsaWQtY29sb3IpLFxuICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLFxuICAgIFwidG9vbHRpcC1jb2xvclwiOiAjZmZmLFxuICAgIFwidG9vbHRpcC1iZy1jb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9c3VjY2VzcyksXG4gICAgXCJmb2N1cy1ib3gtc2hhZG93XCI6IDAgMCAkaW5wdXQtYnRuLWZvY3VzLWJsdXIgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEodmFyKC0tI3skcHJlZml4fXN1Y2Nlc3MtcmdiKSwgJGlucHV0LWJ0bi1mb2N1cy1jb2xvci1vcGFjaXR5KSxcbiAgICBcImJvcmRlci1jb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1ib3JkZXItY29sb3IpLFxuICApLFxuICBcImludmFsaWRcIjogKFxuICAgIFwiY29sb3JcIjogdmFyKC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1jb2xvciksXG4gICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZCxcbiAgICBcInRvb2x0aXAtY29sb3JcIjogI2ZmZixcbiAgICBcInRvb2x0aXAtYmctY29sb3JcIjogdmFyKC0tI3skcHJlZml4fWRhbmdlciksXG4gICAgXCJmb2N1cy1ib3gtc2hhZG93XCI6IDAgMCAkaW5wdXQtYnRuLWZvY3VzLWJsdXIgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEodmFyKC0tI3skcHJlZml4fWRhbmdlci1yZ2IpLCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yLW9wYWNpdHkpLFxuICAgIFwiYm9yZGVyLWNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yKSxcbiAgKVxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS12YWxpZGF0aW9uLXN0YXRlc1xuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB6aW5kZXgtc3RhY2tcbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXN0aWNreTogICAgICAgICAgICAgICAgICAgICAxMDIwICFkZWZhdWx0O1xuJHppbmRleC1maXhlZDogICAgICAgICAgICAgICAgICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtb2ZmY2FudmFzLWJhY2tkcm9wOiAgICAgICAgIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW9mZmNhbnZhczogICAgICAgICAgICAgICAgICAxMDQ1ICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgICAgICAgICAgIDEwNTUgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgICAgICAgICAgMTA4MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9hc3Q6ICAgICAgICAgICAgICAgICAgICAgIDEwOTAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHppbmRleC1zdGFja1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgemluZGV4LWxldmVscy1tYXBcbiR6aW5kZXgtbGV2ZWxzOiAoXG4gIG4xOiAtMSxcbiAgMDogMCxcbiAgMTogMSxcbiAgMjogMixcbiAgMzogM1xuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgemluZGV4LWxldmVscy1tYXBcblxuXG4vLyBOYXZzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBuYXYtdmFyaWFibGVzXG4kbmF2LWxpbmstcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstZm9udC1zaXplOiAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG5hdi1saW5rLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRuYXYtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtbGluay10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtbGluay1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICRmb2N1cy1yaW5nLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICBjb2xvci1jb250cmFzdCgkbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnLCAkY29tcG9uZW50LWFjdGl2ZS1jb2xvcikgIWRlZmF1bHQ7XG5cbiRuYXYtdW5kZXJsaW5lLWdhcDogICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbmF2LXVuZGVybGluZS1ib3JkZXItd2lkdGg6ICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJG5hdi11bmRlcmxpbmUtbGluay1hY3RpdmUtY29sb3I6ICAgdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbmF2LXZhcmlhYmxlc1xuXG5cbi8vIE5hdmJhclxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLXZhcmlhYmxlc1xuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRuYXZiYXItYnJhbmQtZm9udC1zaXplOiAgICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4vLyBDb21wdXRlIHRoZSBuYXZiYXItYnJhbmQgcGFkZGluZy15IHNvIHRoZSBuYXZiYXItYnJhbmQgd2lsbCBoYXZlIHRoZSBzYW1lIGhlaWdodCBhcyBuYXZiYXItdGV4dCBhbmQgbmF2LWxpbmtcbiRuYXYtbGluay1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICsgJG5hdi1saW5rLXBhZGRpbmcteSAqIDIgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLWhlaWdodDogICAgICAgICAgICAgICAkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1wYWRkaW5nLXk6ICAgICAgICAgICAgKCRuYXYtbGluay1oZWlnaHQgLSAkbmF2YmFyLWJyYW5kLWhlaWdodCkgKiAuNSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtbWFyZ2luLWVuZDogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogICAgICAkYnRuLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9jdXMtd2lkdGg6ICAgICAgICAkYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXRyYW5zaXRpb246ICAgICAgICAgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kbmF2YmFyLWJnOiAgICAgICBudWxsICFkZWZhdWx0OyAvLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBhbnkgbmF2YmFyUGFnZSgpXG4kbmF2YmFyLWxpZ2h0LWJnOiAkbmF2YmFyLWJnICFkZWZhdWx0OyAvLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBuYXZiYXJQYWdlKGludmVyc2UgPSBGQUxTRSlcbiRuYXZiYXItZGFyay1iZzogICRuYXZiYXItYmcgIWRlZmF1bHQ7IC8vIEJhY2tncm91bmQgY29sb3IgZm9yIG5hdmJhclBhZ2UoaW52ZXJzZSA9IFRSVUUpXG5cbiRuYXZiYXItbGlnaHQtY29udHJhc3Q6IGlmKFxuICB0eXBlLW9mKCRuYXZiYXItbGlnaHQtYmcpID09IGNvbG9yLFxuICBjb2xvci1jb250cmFzdCgkbmF2YmFyLWxpZ2h0LWJnKSxcbiAgdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYilcbikgIWRlZmF1bHQ7IC8vIERlZXBlc3QgY29udHJhc3RpbmcgY29sb3IgZm9yIG5hdmJhclBhZ2UoaW52ZXJzZSA9IEZBTFNFKS5cbiRuYXZiYXItZGFyay1jb250cmFzdDogaWYoXG4gIHR5cGUtb2YoJG5hdmJhci1kYXJrLWJnKSA9PSBjb2xvcixcbiAgY29sb3ItY29udHJhc3QoJG5hdmJhci1kYXJrLWJnKSxcbiAgdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYilcbikgIWRlZmF1bHQ7IC8vIERlZXBlc3QgY29udHJhc3RpbmcgY29sb3IgZm9yIG5hdmJhclBhZ2UoaW52ZXJzZSA9IFRSVUUpLlxuXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKCRuYXZiYXItbGlnaHQtY29udHJhc3QsIC42NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAgICAgICAgICByZ2JhKCRuYXZiYXItbGlnaHQtY29udHJhc3QsIC44KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgIHJnYmEoJG5hdmJhci1saWdodC1jb250cmFzdCwgMSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICByZ2JhKCRuYXZiYXItbGlnaHQtY29udHJhc3QsIC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaWNvbi1jb2xvcjogICAgICAgICAgIHJnYmEoaWYodHlwZS1vZigkbmF2YmFyLWxpZ2h0LWNvbnRyYXN0KT09Y29sb3IsICRuYXZiYXItbGlnaHQtY29udHJhc3QsICRib2R5LWNvbG9yKSwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1pY29uLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRuYXZiYXItbGlnaHQtY29udHJhc3QsIC4xNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWNvbG9yOiAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBuYXZiYXItdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXItZGFyay12YXJpYWJsZXNcbiRuYXZiYXItZGFyay1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJG5hdmJhci1kYXJrLWNvbnRyYXN0LCAuNTUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkbmF2YmFyLWRhcmstY29udHJhc3QsIC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICByZ2JhKCRuYXZiYXItZGFyay1jb250cmFzdCwgMSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I6ICAgICAgICByZ2JhKCRuYXZiYXItZGFyay1jb250cmFzdCwgLjI1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1pY29uLWNvbG9yOiAgICAgICAgICAgIHJnYmEoaWYodHlwZS1vZigkbmF2YmFyLWRhcmstY29udHJhc3QpPT1jb2xvciwgJG5hdmJhci1kYXJrLWNvbnRyYXN0LCAkd2hpdGUpLCAuNzUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZzogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWRhcmstaWNvbi1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkbmF2YmFyLWRhcmstY29udHJhc3QsIC4xKSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1jb2xvcjogICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3I6ICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBuYXZiYXItZGFyay12YXJpYWJsZXNcblxuXG4vLyBEcm9wZG93bnNcbi8vXG4vLyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBkcm9wZG93bi12YXJpYWJsZXNcbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXNwYWNlcjogICAgICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci13aWR0aDogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICBjYWxjKCN7JGRyb3Bkb3duLWJvcmRlci1yYWRpdXN9IC0gI3skZHJvcGRvd24tYm9yZGVyLXdpZHRofSkgIWRlZmF1bHQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZHJvcGRvd24tYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgJGJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICRkcm9wZG93bi1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICBjb2xvci1jb250cmFzdCgkZHJvcGRvd24tbGluay1hY3RpdmUtYmcsICRjb21wb25lbnQtYWN0aXZlLWNvbG9yKSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgJHNwYWNlciAqIC4yNSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICRkcm9wZG93bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLyBmdXN2LWRpc2FibGVcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZzogICAgICAgICAgICRkcm9wZG93bi1oZWFkZXItcGFkZGluZy15ICRkcm9wZG93bi1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMFxuLy8gZnVzdi1lbmFibGVcbi8vIHNjc3MtZG9jcy1lbmQgZHJvcGRvd24tdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBkcm9wZG93bi1kYXJrLXZhcmlhYmxlc1xuJGRyb3Bkb3duLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYm9yZGVyLWNvbG9yOiAgICAgICAgJGRyb3Bkb3duLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWRpdmlkZXItYmc6ICAgICAgICAgICRkcm9wZG93bi1kaXZpZGVyLWJnICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYm94LXNoYWRvdzogICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstY29sb3I6ICAgICAgICAgICRkcm9wZG93bi1kYXJrLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1ob3Zlci1jb2xvcjogICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1ob3Zlci1iZzogICAgICAgcmdiYSgkd2hpdGUsIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1jb2xvcjogICAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1iZzogICAgICAkZHJvcGRvd24tbGluay1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWRpc2FibGVkLWNvbG9yOiAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1oZWFkZXItY29sb3I6ICAgICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duLWRhcmstdmFyaWFibGVzXG5cblxuLy8gUGFnaW5hdGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcGFnaW5hdGlvbi12YXJpYWJsZXNcbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW1hcmdpbi1zdGFydDogICAgICAgICAgIGNhbGMoI3skcGFnaW5hdGlvbi1ib3JkZXItd2lkdGh9ICogLTEpICFkZWZhdWx0OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGZvY3VzLXJpbmctYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU6ICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDsgLy8gVG9kbyBpbiB2NjogcmVtb3ZlIHRoaXM/XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1zbSkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBhZ2luYXRpb24tdmFyaWFibGVzXG5cblxuLy8gUGxhY2Vob2xkZXJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwbGFjZWhvbGRlcnNcbiRwbGFjZWhvbGRlci1vcGFjaXR5LW1heDogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLW9wYWNpdHktbWluOiAgICAgICAgICAgLjIgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBsYWNlaG9sZGVyc1xuXG4vLyBDYXJkc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZC12YXJpYWJsZXNcbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtc3BhY2VyLXk6ICAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLXN1YnRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGNhcmQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHN1YnRyYWN0KCRjYXJkLWJvcmRlci1yYWRpdXMsICRjYXJkLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtcGFkZGluZy15OiAgICAgICAgICAgICAgICAkY2FyZC1zcGFjZXIteSAqIC41ICFkZWZhdWx0O1xuJGNhcmQtY2FwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXggIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yLXJnYiksIC4wMykgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtZ3JvdXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLXdpZHRoICogLjUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNhcmQtdmFyaWFibGVzXG5cbi8vIEFjY29yZGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYWNjb3JkaW9uLXZhcmlhYmxlc1xuJGFjY29yZGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgc3VidHJhY3QoJGFjY29yZGlvbi1ib3JkZXItcmFkaXVzLCAkYWNjb3JkaW9uLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy15ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAgICAgJGFjY29yZGlvbi1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYnV0dG9uLXBhZGRpbmcteTogICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy15ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tcGFkZGluZy14OiAgICAgICAgICAgICAgJGFjY29yZGlvbi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1iZzogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJnKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICRidG4tdHJhbnNpdGlvbiwgYm9yZGVyLXJhZGl1cyAuMTVzIGVhc2UgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1iZy1zdWJ0bGUpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXByaW1hcnktdGV4dC1lbXBoYXNpcykgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYnV0dG9uLWZvY3VzLWJvcmRlci1jb2xvcjogICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24taWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICRwcmltYXJ5LXRleHQtZW1waGFzaXMgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLXRyYW5zZm9ybTogICAgICAgICAgICAgICAgcm90YXRlKC0xODBkZWcpICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJ1dHRvbi1pY29uOiAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRhY2NvcmRpb24taWNvbi1jb2xvcn0nPjxwYXRoIGZpbGwtcnVsZT0nZXZlbm9kZCcgZD0nTTEuNjQ2IDQuNjQ2YS41LjUgMCAwIDEgLjcwOCAwTDggMTAuMjkzbDUuNjQ2LTUuNjQ3YS41LjUgMCAwIDEgLjcwOC43MDhsLTYgNmEuNS41IDAgMCAxLS43MDggMGwtNi02YS41LjUgMCAwIDEgMC0uNzA4eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1pY29uOiAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9JyN7JGFjY29yZGlvbi1pY29uLWFjdGl2ZS1jb2xvcn0nPjxwYXRoIGZpbGwtcnVsZT0nZXZlbm9kZCcgZD0nTTEuNjQ2IDQuNjQ2YS41LjUgMCAwIDEgLjcwOCAwTDggMTAuMjkzbDUuNjQ2LTUuNjQ3YS41LjUgMCAwIDEgLjcwOC43MDhsLTYgNmEuNS41IDAgMCAxLS43MDggMGwtNi02YS41LjUgMCAwIDEgMC0uNzA4eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYWNjb3JkaW9uLXZhcmlhYmxlc1xuXG4vLyBUb29sdGlwc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdG9vbHRpcC12YXJpYWJsZXNcbiR0b29sdGlwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICRzcGFjZXIgKiAuMjUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBUT0RPOiByZW1vdmUgdGhpcyBpbiB2NlxuXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAuOHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuLy8gZnVzdi1kaXNhYmxlXG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIEJvb3RzdHJhcCA1LjIuMCBmb3IgQ1NTIHZhcmlhYmxlc1xuLy8gZnVzdi1lbmFibGVcbi8vIHNjc3MtZG9jcy1lbmQgdG9vbHRpcC12YXJpYWJsZXNcblxuLy8gRm9ybSB0b29sdGlwcyBtdXN0IGNvbWUgYWZ0ZXIgcmVndWxhciB0b29sdGlwc1xuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRvb2x0aXAtZmVlZGJhY2stdmFyaWFibGVzXG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteTogICAgICR0b29sdGlwLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14OiAgICAgJHRvb2x0aXAtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemU6ICAgICAkdG9vbHRpcC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0OiAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHk6ICAgICAgICR0b29sdGlwLW9wYWNpdHkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXM6ICR0b29sdGlwLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRvb2x0aXAtZmVlZGJhY2stdmFyaWFibGVzXG5cblxuLy8gUG9wb3ZlcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBvcG92ZXItdmFyaWFibGVzXG4kcG9wb3Zlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpICFkZWZhdWx0O1xuJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgY2FsYygjeyRwb3BvdmVyLWJvcmRlci1yYWRpdXN9IC0gI3skcG9wb3Zlci1ib3JkZXItd2lkdGh9KSAhZGVmYXVsdDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICRib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1oZWFkZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItYmc6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICRoZWFkaW5ncy1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJHBvcG92ZXItYm9keS1jb2xvcjogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy14OiAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgcG9wb3Zlci12YXJpYWJsZXNcblxuLy8gZnVzdi1kaXNhYmxlXG4vLyBEZXByZWNhdGVkIGluIEJvb3RzdHJhcCA1LjIuMCBmb3IgQ1NTIHZhcmlhYmxlc1xuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbi8vIGZ1c3YtZW5hYmxlXG5cblxuLy8gVG9hc3RzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0b2FzdC12YXJpYWJsZXNcbiR0b2FzdC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDM1MHB4ICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWJvZHktYmctcmdiKSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kdG9hc3QtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdykgIWRlZmF1bHQ7XG4kdG9hc3Qtc3BhY2luZzogICAgICAgICAgICAgICAgICAgICAkY29udGFpbmVyLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuJHRvYXN0LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I6ICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWJnLXJnYiksIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkdG9hc3QtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0b2FzdC12YXJpYWJsZXNcblxuXG4vLyBCYWRnZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJhZGdlLXZhcmlhYmxlc1xuJGJhZGdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgLjc1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4zNWVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjY1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJhZGdlLXZhcmlhYmxlc1xuXG5cbi8vIE1vZGFsc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbW9kYWwtdmFyaWFibGVzXG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVuOiAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWRpYWxvZy1tYXJnaW46ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwOiAgICAgICAxLjc1cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRlbnQtY29sb3I6ICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzOiBzdWJ0cmFjdCgkbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzLCAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14czogICAgICAgJGJveC1zaGFkb3ctc20gIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiAgICAkYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG5cbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgICAgJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICRtb2RhbC1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBLZWVwIHRoaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG5cbiRtb2RhbC1mb290ZXItYmc6ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgICAgICAgODAwcHggIWRlZmF1bHQ7XG4kbW9kYWwteGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMTQwcHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1mYWRlLXRyYW5zZm9ybTogICAgICAgICAgICAgIHRyYW5zbGF0ZSgwLCAtNTBweCkgIWRlZmF1bHQ7XG4kbW9kYWwtc2hvdy10cmFuc2Zvcm06ICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4zcyBlYXNlLW91dCAhZGVmYXVsdDtcbiRtb2RhbC1zY2FsZS10cmFuc2Zvcm06ICAgICAgICAgICAgIHNjYWxlKDEuMDIpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBtb2RhbC12YXJpYWJsZXNcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGFsZXJ0LXZhcmlhYmxlc1xuJGFsZXJ0LXBhZGRpbmcteTogICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteDogICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGFsZXJ0LW1hcmdpbi1ib3R0b206ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRhbGVydC1kaXNtaXNzaWJsZS1wYWRkaW5nLXI6ICAgJGFsZXJ0LXBhZGRpbmcteCAqIDMgIWRlZmF1bHQ7IC8vIDN4IGNvdmVycyB3aWR0aCBvZiB4IHBsdXMgZGVmYXVsdCBwYWRkaW5nIG9uIGVpdGhlciBzaWRlXG4vLyBzY3NzLWRvY3MtZW5kIGFsZXJ0LXZhcmlhYmxlc1xuXG4vLyBmdXN2LWRpc2FibGVcbiRhbGVydC1iZy1zY2FsZTogICAgICAgICAgICAgICAgLTgwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAsIHRvIGJlIHJlbW92ZWQgaW4gdjZcbiRhbGVydC1ib3JkZXItc2NhbGU6ICAgICAgICAgICAgLTcwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAsIHRvIGJlIHJlbW92ZWQgaW4gdjZcbiRhbGVydC1jb2xvci1zY2FsZTogICAgICAgICAgICAgNDAlICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMCwgdG8gYmUgcmVtb3ZlZCBpbiB2NlxuLy8gZnVzdi1lbmFibGVcblxuLy8gUHJvZ3Jlc3MgYmFyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcHJvZ3Jlc3MtdmFyaWFibGVzXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjc1ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1pbnNldCkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAgICAgICAkcHJpbWFyeSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZzogICAgIDFzIGxpbmVhciBpbmZpbml0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogICAgICAgICAgIHdpZHRoIC42cyBlYXNlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwcm9ncmVzcy12YXJpYWJsZXNcblxuXG4vLyBMaXN0IGdyb3VwXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBsaXN0LWdyb3VwLXZhcmlhYmxlc1xuJGxpc3QtZ3JvdXAtY29sb3I6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbi8vIGZ1c3YtZGlzYWJsZVxuJGxpc3QtZ3JvdXAtaXRlbS1iZy1zY2FsZTogICAgICAgICAgLTgwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjBcbiRsaXN0LWdyb3VwLWl0ZW0tY29sb3Itc2NhbGU6ICAgICAgIDQwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjBcbi8vIGZ1c3YtZW5hYmxlXG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgICAgIGNvbG9yLWNvbnRyYXN0KCRsaXN0LWdyb3VwLWFjdGl2ZS1iZywgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICAgICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6ICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBsaXN0LWdyb3VwLXZhcmlhYmxlc1xuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRodW1ibmFpbC12YXJpYWJsZXNcbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJveC1zaGFkb3c6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1zbSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRodW1ibmFpbC12YXJpYWJsZXNcblxuXG4vLyBGaWd1cmVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmaWd1cmUtdmFyaWFibGVzXG4kZmlndXJlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZpZ3VyZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZpZ3VyZS12YXJpYWJsZXNcblxuXG4vLyBCcmVhZGNydW1ic1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnJlYWRjcnVtYi12YXJpYWJsZXNcbiRicmVhZGNydW1iLWZvbnQtc2l6ZTogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgcXVvdGUoXCIvXCIpICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1mbGlwcGVkOiAgICAgICAgJGJyZWFkY3J1bWItZGl2aWRlciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJyZWFkY3J1bWItdmFyaWFibGVzXG5cbi8vIENhcm91c2VsXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjYXJvdXNlbC12YXJpYWJsZXNcbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTogICAgIC45ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbjogICAgICAgIG9wYWNpdHkgLjE1cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodDogMTBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLW9wYWNpdHk6ICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtb3BhY2l0eTogIDEgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb246ICAgICAgb3BhY2l0eSAuNnMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24td2lkdGg6ICAgICAgICAgICAgIDcwJSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLXNwYWNlcjogICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgICAgICAgMnJlbSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfSc+PHBhdGggZD0nTTExLjM1NCAxLjY0NmEuNS41IDAgMCAxIDAgLjcwOEw1LjcwNyA4bDUuNjQ3IDUuNjQ2YS41LjUgMCAwIDEtLjcwOC43MDhsLTYtNmEuNS41IDAgMCAxIDAtLjcwOGw2LTZhLjUuNSAwIDAgMSAuNzA4IDB6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfSc+PHBhdGggZD0nTTQuNjQ2IDEuNjQ2YS41LjUgMCAwIDEgLjcwOCAwbDYgNmEuNS41IDAgMCAxIDAgLjcwOGwtNiA2YS41LjUgMCAwIDEtLjcwOC0uNzA4TDEwLjI5MyA4IDQuNjQ2IDIuMzU0YS41LjUgMCAwIDEgMC0uNzA4eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgIC42cyAhZGVmYXVsdDtcbiRjYXJvdXNlbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXQgIWRlZmF1bHQ7IC8vIERlZmluZSB0cmFuc2Zvcm0gdHJhbnNpdGlvbiBmaXJzdCBpZiB1c2luZyBtdWx0aXBsZSB0cmFuc2l0aW9ucyAoZS5nLiwgYHRyYW5zZm9ybSAycyBlYXNlLCBvcGFjaXR5IC41cyBlYXNlLW91dGApXG4vLyBzY3NzLWRvY3MtZW5kIGNhcm91c2VsLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2Fyb3VzZWwtZGFyay12YXJpYWJsZXNcbiRjYXJvdXNlbC1kYXJrLWluZGljYXRvci1hY3RpdmUtYmc6ICAkYmxhY2sgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtZGFyay1jYXB0aW9uLWNvbG9yOiAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGNhcm91c2VsLWRhcmstY29udHJvbC1pY29uLWZpbHRlcjogIGludmVydCgxKSBncmF5c2NhbGUoMTAwKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2Fyb3VzZWwtZGFyay12YXJpYWJsZXNcblxuXG4vLyBTcGlubmVyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc3Bpbm5lci12YXJpYWJsZXNcbiRzcGlubmVyLXdpZHRoOiAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodDogICAgICAgICAgJHNwaW5uZXItd2lkdGggIWRlZmF1bHQ7XG4kc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjogIC0uMTI1ZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGg6ICAgIC4yNWVtICFkZWZhdWx0O1xuJHNwaW5uZXItYW5pbWF0aW9uLXNwZWVkOiAuNzVzICFkZWZhdWx0O1xuXG4kc3Bpbm5lci13aWR0aC1zbTogICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQtc206ICAgICAgICRzcGlubmVyLXdpZHRoLXNtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoLXNtOiAuMmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBzcGlubmVyLXZhcmlhYmxlc1xuXG5cbi8vIENsb3NlXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjbG9zZS12YXJpYWJsZXNcbiRidG4tY2xvc2Utd2lkdGg6ICAgICAgICAgICAgMWVtICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1oZWlnaHQ6ICAgICAgICAgICAkYnRuLWNsb3NlLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1wYWRkaW5nLXg6ICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtcGFkZGluZy15OiAgICAgICAgJGJ0bi1jbG9zZS1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWNvbG9yOiAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRidG4tY2xvc2UtYmc6ICAgICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9JyN7JGJ0bi1jbG9zZS1jb2xvcn0nPjxwYXRoIGQ9J00uMjkzLjI5M2ExIDEgMCAwIDEgMS40MTQgMEw4IDYuNTg2IDE0LjI5My4yOTNhMSAxIDAgMSAxIDEuNDE0IDEuNDE0TDkuNDE0IDhsNi4yOTMgNi4yOTNhMSAxIDAgMCAxLTEuNDE0IDEuNDE0TDggOS40MTRsLTYuMjkzIDYuMjkzYTEgMSAwIDAgMS0xLjQxNC0xLjQxNEw2LjU4NiA4IC4yOTMgMS43MDdhMSAxIDAgMCAxIDAtMS40MTR6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1mb2N1cy1zaGFkb3c6ICAgICAkZm9jdXMtcmluZy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1vcGFjaXR5OiAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtaG92ZXItb3BhY2l0eTogICAgLjc1ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1mb2N1cy1vcGFjaXR5OiAgICAxICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1kaXNhYmxlZC1vcGFjaXR5OiAuMjUgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLXdoaXRlLWZpbHRlcjogICAgIGludmVydCgxKSBncmF5c2NhbGUoMTAwJSkgYnJpZ2h0bmVzcygyMDAlKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2xvc2UtdmFyaWFibGVzXG5cblxuLy8gT2ZmY2FudmFzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBvZmZjYW52YXMtdmFyaWFibGVzXG4kb2ZmY2FudmFzLXBhZGRpbmcteTogICAgICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtcGFkZGluZy14OiAgICAgICAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ob3Jpem9udGFsLXdpZHRoOiAgICAgICAgNDAwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLWhlaWdodDogICAgICAgICAzMHZoICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgLjNzICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10aXRsZS1saW5lLWhlaWdodDogICAgICAgJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iZy1jb2xvcjogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1jb2xvcjogICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFja2Ryb3AtYmc6ICAgICAgICAgICAgICRtb2RhbC1iYWNrZHJvcC1iZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFja2Ryb3Atb3BhY2l0eTogICAgICAgICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBvZmZjYW52YXMtdmFyaWFibGVzXG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbi8vIEFtb3VudCBpbnRlbnRpb25hbGx5IG1hdGNoZXMgbWl4dHVyZSBhbW91bnQgb2Ygc2hpbnk6OmlucHV0UGFuZWwoKVxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3JzdHVkaW8vc2hpbnkvYmxvYi80ZWViNGExL2luc3Qvd3d3L3NoYXJlZC9zaGlueV9zY3NzL2Jvb3RzdHJhcC5zY3NzI0wyNVxuJGNvZGUtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgUkdCQSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiLCAwLDAsMCksIDAuMDQpICFkZWZhdWx0O1xuJGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgUkdCKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IsIDAsMCwwKSkgIWRlZmF1bHQ7XG4kY29kZS1jb2xvci1kYXJrOiAgICAgICAgICAgICAgICAgICBSR0IodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiwgMCwwLDApKSAhZGVmYXVsdDtcblxuJGtiZC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgLjE4NzVyZW0gIWRlZmF1bHQ7XG4ka2JkLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGtiZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgJGNvZGUtZm9udC1zaXplICFkZWZhdWx0O1xuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAsIHJlbW92aW5nIGluIHY2XG5cbiRwcmUtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2RlLWJnICAhZGVmYXVsdDtcbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRjb2RlLWNvbG9yICFkZWZhdWx0O1xuIiwKCQkiLy8gRGFyayBjb2xvciBtb2RlIHZhcmlhYmxlc1xuLy9cbi8vIEN1c3RvbSB2YXJpYWJsZXMgZm9yIHRoZSBgW2RhdGEtYnMtdGhlbWU9XCJkYXJrXCJdYCB0aGVtZS4gVXNlIHRoaXMgYXMgYSBzdGFydGluZyBwb2ludCBmb3IgeW91ciBvd24gY3VzdG9tIGNvbG9yIG1vZGVzIGJ5IGNyZWF0aW5nIGEgbmV3IHRoZW1lLXNwZWNpZmljIGZpbGUgbGlrZSBgX3ZhcmlhYmxlcy1kYXJrLnNjc3NgIGFuZCBhZGRpbmcgdGhlIHZhcmlhYmxlcyB5b3UgbmVlZC5cblxuLy9cbi8vIEdsb2JhbCBjb2xvcnNcbi8vXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzYXNzLWRhcmstbW9kZS12YXJzXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtdGV4dC1kYXJrLXZhcmlhYmxlc1xuJHByaW1hcnktdGV4dC1lbXBoYXNpcy1kYXJrOiAgICAgICAgdGludC1jb2xvcigkcHJpbWFyeSwgNDAlKSAhZGVmYXVsdDtcbiRzZWNvbmRhcnktdGV4dC1lbXBoYXNpcy1kYXJrOiAgICAgIHRpbnQtY29sb3IoJHNlY29uZGFyeSwgNDAlKSAhZGVmYXVsdDtcbiRzdWNjZXNzLXRleHQtZW1waGFzaXMtZGFyazogICAgICAgIHRpbnQtY29sb3IoJHN1Y2Nlc3MsIDQwJSkgIWRlZmF1bHQ7XG4kaW5mby10ZXh0LWVtcGhhc2lzLWRhcms6ICAgICAgICAgICB0aW50LWNvbG9yKCRpbmZvLCA0MCUpICFkZWZhdWx0O1xuJHdhcm5pbmctdGV4dC1lbXBoYXNpcy1kYXJrOiAgICAgICAgdGludC1jb2xvcigkd2FybmluZywgNDAlKSAhZGVmYXVsdDtcbiRkYW5nZXItdGV4dC1lbXBoYXNpcy1kYXJrOiAgICAgICAgIHRpbnQtY29sb3IoJGRhbmdlciwgNDAlKSAhZGVmYXVsdDtcbiRsaWdodC10ZXh0LWVtcGhhc2lzLWRhcms6ICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrLXRleHQtZW1waGFzaXMtZGFyazogICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtdGV4dC1kYXJrLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtYmctc3VidGxlLWRhcmstdmFyaWFibGVzXG4kcHJpbWFyeS1iZy1zdWJ0bGUtZGFyazogICAgICAgICAgICBzaGFkZS1jb2xvcigkcHJpbWFyeSwgODAlKSAhZGVmYXVsdDtcbiRzZWNvbmRhcnktYmctc3VidGxlLWRhcms6ICAgICAgICAgIHNoYWRlLWNvbG9yKCRzZWNvbmRhcnksIDgwJSkgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1iZy1zdWJ0bGUtZGFyazogICAgICAgICAgICBzaGFkZS1jb2xvcigkc3VjY2VzcywgODAlKSAhZGVmYXVsdDtcbiRpbmZvLWJnLXN1YnRsZS1kYXJrOiAgICAgICAgICAgICAgIHNoYWRlLWNvbG9yKCRpbmZvLCA4MCUpICFkZWZhdWx0O1xuJHdhcm5pbmctYmctc3VidGxlLWRhcms6ICAgICAgICAgICAgc2hhZGUtY29sb3IoJHdhcm5pbmcsIDgwJSkgIWRlZmF1bHQ7XG4kZGFuZ2VyLWJnLXN1YnRsZS1kYXJrOiAgICAgICAgICAgICBzaGFkZS1jb2xvcigkZGFuZ2VyLCA4MCUpICFkZWZhdWx0O1xuJGxpZ2h0LWJnLXN1YnRsZS1kYXJrOiAgICAgICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGRhcmstYmctc3VidGxlLWRhcms6ICAgICAgICAgICAgICAgbWl4KCRncmF5LTgwMCwgJGJsYWNrKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtYmctc3VidGxlLWRhcmstdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1ib3JkZXItc3VidGxlLWRhcmstdmFyaWFibGVzXG4kcHJpbWFyeS1ib3JkZXItc3VidGxlLWRhcms6ICAgICAgICBzaGFkZS1jb2xvcigkcHJpbWFyeSwgNDAlKSAhZGVmYXVsdDtcbiRzZWNvbmRhcnktYm9yZGVyLXN1YnRsZS1kYXJrOiAgICAgIHNoYWRlLWNvbG9yKCRzZWNvbmRhcnksIDQwJSkgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1ib3JkZXItc3VidGxlLWRhcms6ICAgICAgICBzaGFkZS1jb2xvcigkc3VjY2VzcywgNDAlKSAhZGVmYXVsdDtcbiRpbmZvLWJvcmRlci1zdWJ0bGUtZGFyazogICAgICAgICAgIHNoYWRlLWNvbG9yKCRpbmZvLCA0MCUpICFkZWZhdWx0O1xuJHdhcm5pbmctYm9yZGVyLXN1YnRsZS1kYXJrOiAgICAgICAgc2hhZGUtY29sb3IoJHdhcm5pbmcsIDQwJSkgIWRlZmF1bHQ7XG4kZGFuZ2VyLWJvcmRlci1zdWJ0bGUtZGFyazogICAgICAgICBzaGFkZS1jb2xvcigkZGFuZ2VyLCA0MCUpICFkZWZhdWx0O1xuJGxpZ2h0LWJvcmRlci1zdWJ0bGUtZGFyazogICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGRhcmstYm9yZGVyLXN1YnRsZS1kYXJrOiAgICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1ib3JkZXItc3VidGxlLWRhcmstdmFyaWFibGVzXG5cbiRib2R5LWNvbG9yLWRhcms6ICAgICAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRib2R5LWJnLWRhcms6ICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRib2R5LXNlY29uZGFyeS1jb2xvci1kYXJrOiAgICAgICAgIHJnYmEoJGJvZHktY29sb3ItZGFyaywgLjc1KSAhZGVmYXVsdDtcbiRib2R5LXNlY29uZGFyeS1iZy1kYXJrOiAgICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRib2R5LXRlcnRpYXJ5LWNvbG9yLWRhcms6ICAgICAgICAgIHJnYmEoJGJvZHktY29sb3ItZGFyaywgLjUpICFkZWZhdWx0O1xuJGJvZHktdGVydGlhcnktYmctZGFyazogICAgICAgICAgICAgbWl4KCRncmF5LTgwMCwgJGdyYXktOTAwLCA1MCUpICFkZWZhdWx0O1xuJGJvZHktZW1waGFzaXMtY29sb3ItZGFyazogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvci1kYXJrOiAgICAgICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvci10cmFuc2x1Y2VudC1kYXJrOiAgICAgcmdiYSgkd2hpdGUsIC4xNSkgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3ItZGFyazogICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGxpbmstY29sb3ItZGFyazogICAgICAgICAgICAgICAgICAgdGludC1jb2xvcigkcHJpbWFyeSwgNDAlKSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yLWRhcms6ICAgICAgICAgICAgIHNoaWZ0LWNvbG9yKCRsaW5rLWNvbG9yLWRhcmssIC0kbGluay1zaGFkZS1wZXJjZW50YWdlKSAhZGVmYXVsdDtcbiRjb2RlLWNvbG9yLWRhcms6ICAgICAgICAgICAgICAgICAgIHRpbnQtY29sb3IoJGNvZGUtY29sb3IsIDQwJSkgIWRlZmF1bHQ7XG5cblxuLy9cbi8vIEZvcm1zXG4vL1xuXG4kZm9ybS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yLWRhcms6ICAkYm9keS1jb2xvci1kYXJrICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWluZGljYXRvci1kYXJrOiAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnPjxwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yLWRhcmt9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMicgZD0nbTIgNSA2IDYgNi02Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS1zd2l0Y2gtY29sb3ItZGFyazogICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjI1KSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1iZy1pbWFnZS1kYXJrOiAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGZvcm0tc3dpdGNoLWNvbG9yLWRhcmt9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS12YWxpZGF0aW9uLWNvbG9ycy1kYXJrXG4kZm9ybS12YWxpZC1jb2xvci1kYXJrOiAgICAgICAgICAgICAkZ3JlZW4tMzAwICFkZWZhdWx0O1xuJGZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yLWRhcms6ICAgICAgJGdyZWVuLTMwMCAhZGVmYXVsdDtcbiRmb3JtLWludmFsaWQtY29sb3ItZGFyazogICAgICAgICAgICRyZWQtMzAwICFkZWZhdWx0O1xuJGZvcm0taW52YWxpZC1ib3JkZXItY29sb3ItZGFyazogICAgJHJlZC0zMDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tdmFsaWRhdGlvbi1jb2xvcnMtZGFya1xuXG5cbi8vXG4vLyBBY2NvcmRpb25cbi8vXG5cbiRhY2NvcmRpb24taWNvbi1jb2xvci1kYXJrOiAgICAgICAgICRwcmltYXJ5LXRleHQtZW1waGFzaXMtZGFyayAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi1hY3RpdmUtY29sb3ItZGFyazogICRwcmltYXJ5LXRleHQtZW1waGFzaXMtZGFyayAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi1idXR0b24taWNvbi1kYXJrOiAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRhY2NvcmRpb24taWNvbi1jb2xvci1kYXJrfSc+PHBhdGggZmlsbC1ydWxlPSdldmVub2RkJyBkPSdNMS42NDYgNC42NDZhLjUuNSAwIDAgMSAuNzA4IDBMOCAxMC4yOTNsNS42NDYtNS42NDdhLjUuNSAwIDAgMSAuNzA4LjcwOGwtNiA2YS41LjUgMCAwIDEtLjcwOCAwbC02LTZhLjUuNSAwIDAgMSAwLS43MDh6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWljb24tZGFyazogIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRhY2NvcmRpb24taWNvbi1hY3RpdmUtY29sb3ItZGFya30nPjxwYXRoIGZpbGwtcnVsZT0nZXZlbm9kZCcgZD0nTTEuNjQ2IDQuNjQ2YS41LjUgMCAwIDEgLjcwOCAwTDggMTAuMjkzbDUuNjQ2LTUuNjQ3YS41LjUgMCAwIDEgLjcwOC43MDhsLTYgNmEuNS41IDAgMCAxLS43MDggMGwtNi02YS41LjUgMCAwIDEgMC0uNzA4eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc2Fzcy1kYXJrLW1vZGUtdmFyc1xuIiwKCQkiLy8gUmUtYXNzaWduZWQgbWFwc1xuLy9cbi8vIFBsYWNlZCBoZXJlIHNvIHRoYXQgb3RoZXJzIGNhbiBvdmVycmlkZSB0aGUgZGVmYXVsdCBTYXNzIG1hcHMgYW5kIHNlZSBhdXRvbWF0aWMgdXBkYXRlcyB0byB1dGlsaXRpZXMgYW5kIG1vcmUuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1jb2xvcnMtcmdiXG4kdGhlbWUtY29sb3JzLXJnYjogbWFwLWxvb3AoJHRoZW1lLWNvbG9ycywgdG8tcmdiLCBcIiR2YWx1ZVwiKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtY29sb3JzLXJnYlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtdGV4dC1tYXBcbiR0aGVtZS1jb2xvcnMtdGV4dDogKFxuICBcInByaW1hcnlcIjogJHByaW1hcnktdGV4dC1lbXBoYXNpcyxcbiAgXCJzZWNvbmRhcnlcIjogJHNlY29uZGFyeS10ZXh0LWVtcGhhc2lzLFxuICBcInN1Y2Nlc3NcIjogJHN1Y2Nlc3MtdGV4dC1lbXBoYXNpcyxcbiAgXCJpbmZvXCI6ICRpbmZvLXRleHQtZW1waGFzaXMsXG4gIFwid2FybmluZ1wiOiAkd2FybmluZy10ZXh0LWVtcGhhc2lzLFxuICBcImRhbmdlclwiOiAkZGFuZ2VyLXRleHQtZW1waGFzaXMsXG4gIFwibGlnaHRcIjogJGxpZ2h0LXRleHQtZW1waGFzaXMsXG4gIFwiZGFya1wiOiAkZGFyay10ZXh0LWVtcGhhc2lzLFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtdGV4dC1tYXBcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWJnLXN1YnRsZS1tYXBcbiR0aGVtZS1jb2xvcnMtYmctc3VidGxlOiAoXG4gIFwicHJpbWFyeVwiOiAkcHJpbWFyeS1iZy1zdWJ0bGUsXG4gIFwic2Vjb25kYXJ5XCI6ICRzZWNvbmRhcnktYmctc3VidGxlLFxuICBcInN1Y2Nlc3NcIjogJHN1Y2Nlc3MtYmctc3VidGxlLFxuICBcImluZm9cIjogJGluZm8tYmctc3VidGxlLFxuICBcIndhcm5pbmdcIjogJHdhcm5pbmctYmctc3VidGxlLFxuICBcImRhbmdlclwiOiAkZGFuZ2VyLWJnLXN1YnRsZSxcbiAgXCJsaWdodFwiOiAkbGlnaHQtYmctc3VidGxlLFxuICBcImRhcmtcIjogJGRhcmstYmctc3VidGxlLFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtYmctc3VidGxlLW1hcFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtYm9yZGVyLXN1YnRsZS1tYXBcbiR0aGVtZS1jb2xvcnMtYm9yZGVyLXN1YnRsZTogKFxuICBcInByaW1hcnlcIjogJHByaW1hcnktYm9yZGVyLXN1YnRsZSxcbiAgXCJzZWNvbmRhcnlcIjogJHNlY29uZGFyeS1ib3JkZXItc3VidGxlLFxuICBcInN1Y2Nlc3NcIjogJHN1Y2Nlc3MtYm9yZGVyLXN1YnRsZSxcbiAgXCJpbmZvXCI6ICRpbmZvLWJvcmRlci1zdWJ0bGUsXG4gIFwid2FybmluZ1wiOiAkd2FybmluZy1ib3JkZXItc3VidGxlLFxuICBcImRhbmdlclwiOiAkZGFuZ2VyLWJvcmRlci1zdWJ0bGUsXG4gIFwibGlnaHRcIjogJGxpZ2h0LWJvcmRlci1zdWJ0bGUsXG4gIFwiZGFya1wiOiAkZGFyay1ib3JkZXItc3VidGxlLFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtYm9yZGVyLXN1YnRsZS1tYXBcblxuJHRoZW1lLWNvbG9ycy10ZXh0LWRhcms6IG51bGwgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3JzLWJnLXN1YnRsZS1kYXJrOiBudWxsICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9ycy1ib3JkZXItc3VidGxlLWRhcms6IG51bGwgIWRlZmF1bHQ7XG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS10ZXh0LWRhcmstbWFwXG4gICR0aGVtZS1jb2xvcnMtdGV4dC1kYXJrOiAoXG4gICAgXCJwcmltYXJ5XCI6ICRwcmltYXJ5LXRleHQtZW1waGFzaXMtZGFyayxcbiAgICBcInNlY29uZGFyeVwiOiAkc2Vjb25kYXJ5LXRleHQtZW1waGFzaXMtZGFyayxcbiAgICBcInN1Y2Nlc3NcIjogJHN1Y2Nlc3MtdGV4dC1lbXBoYXNpcy1kYXJrLFxuICAgIFwiaW5mb1wiOiAkaW5mby10ZXh0LWVtcGhhc2lzLWRhcmssXG4gICAgXCJ3YXJuaW5nXCI6ICR3YXJuaW5nLXRleHQtZW1waGFzaXMtZGFyayxcbiAgICBcImRhbmdlclwiOiAkZGFuZ2VyLXRleHQtZW1waGFzaXMtZGFyayxcbiAgICBcImxpZ2h0XCI6ICRsaWdodC10ZXh0LWVtcGhhc2lzLWRhcmssXG4gICAgXCJkYXJrXCI6ICRkYXJrLXRleHQtZW1waGFzaXMtZGFyayxcbiAgKSAhZGVmYXVsdDtcbiAgLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS10ZXh0LWRhcmstbWFwXG5cbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWJnLXN1YnRsZS1kYXJrLW1hcFxuICAkdGhlbWUtY29sb3JzLWJnLXN1YnRsZS1kYXJrOiAoXG4gICAgXCJwcmltYXJ5XCI6ICRwcmltYXJ5LWJnLXN1YnRsZS1kYXJrLFxuICAgIFwic2Vjb25kYXJ5XCI6ICRzZWNvbmRhcnktYmctc3VidGxlLWRhcmssXG4gICAgXCJzdWNjZXNzXCI6ICRzdWNjZXNzLWJnLXN1YnRsZS1kYXJrLFxuICAgIFwiaW5mb1wiOiAkaW5mby1iZy1zdWJ0bGUtZGFyayxcbiAgICBcIndhcm5pbmdcIjogJHdhcm5pbmctYmctc3VidGxlLWRhcmssXG4gICAgXCJkYW5nZXJcIjogJGRhbmdlci1iZy1zdWJ0bGUtZGFyayxcbiAgICBcImxpZ2h0XCI6ICRsaWdodC1iZy1zdWJ0bGUtZGFyayxcbiAgICBcImRhcmtcIjogJGRhcmstYmctc3VidGxlLWRhcmssXG4gICkgIWRlZmF1bHQ7XG4gIC8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtYmctc3VidGxlLWRhcmstbWFwXG5cbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWJvcmRlci1zdWJ0bGUtZGFyay1tYXBcbiAgJHRoZW1lLWNvbG9ycy1ib3JkZXItc3VidGxlLWRhcms6IChcbiAgICBcInByaW1hcnlcIjogJHByaW1hcnktYm9yZGVyLXN1YnRsZS1kYXJrLFxuICAgIFwic2Vjb25kYXJ5XCI6ICRzZWNvbmRhcnktYm9yZGVyLXN1YnRsZS1kYXJrLFxuICAgIFwic3VjY2Vzc1wiOiAkc3VjY2Vzcy1ib3JkZXItc3VidGxlLWRhcmssXG4gICAgXCJpbmZvXCI6ICRpbmZvLWJvcmRlci1zdWJ0bGUtZGFyayxcbiAgICBcIndhcm5pbmdcIjogJHdhcm5pbmctYm9yZGVyLXN1YnRsZS1kYXJrLFxuICAgIFwiZGFuZ2VyXCI6ICRkYW5nZXItYm9yZGVyLXN1YnRsZS1kYXJrLFxuICAgIFwibGlnaHRcIjogJGxpZ2h0LWJvcmRlci1zdWJ0bGUtZGFyayxcbiAgICBcImRhcmtcIjogJGRhcmstYm9yZGVyLXN1YnRsZS1kYXJrLFxuICApICFkZWZhdWx0O1xuICAvLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWJvcmRlci1zdWJ0bGUtZGFyay1tYXBcbn1cblxuLy8gVXRpbGl0aWVzIG1hcHNcbi8vXG4vLyBFeHRlbmRzIHRoZSBkZWZhdWx0IGAkdGhlbWUtY29sb3JzYCBtYXBzIHRvIGhlbHAgY3JlYXRlIG91ciB1dGlsaXRpZXMuXG5cbi8vIENvbWUgdjYsIHdlJ2xsIGRlLWR1cGUgdGhlc2UgdmFyaWFibGVzLiBVbnRpbCB0aGVuLCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgd2Uga2VlcCB0aGVtIHRvIHJlYXNzaWduLlxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHV0aWxpdGllcy1jb2xvcnNcbiR1dGlsaXRpZXMtY29sb3JzOiAkdGhlbWUtY29sb3JzLXJnYiAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdXRpbGl0aWVzLWNvbG9yc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdXRpbGl0aWVzLXRleHQtY29sb3JzXG4kdXRpbGl0aWVzLXRleHQ6IG1hcC1tZXJnZShcbiAgJHV0aWxpdGllcy1jb2xvcnMsXG4gIChcbiAgICBcImJsYWNrXCI6IHRvLXJnYigkYmxhY2spLFxuICAgIFwid2hpdGVcIjogdG8tcmdiKCR3aGl0ZSksXG4gICAgXCJib2R5XCI6IHRvLXJnYigkYm9keS1jb2xvcilcbiAgKVxuKSAhZGVmYXVsdDtcbiR1dGlsaXRpZXMtdGV4dC1jb2xvcnM6IG1hcC1sb29wKCR1dGlsaXRpZXMtdGV4dCwgcmdiYS1jc3MtdmFyLCBcIiRrZXlcIiwgXCJ0ZXh0XCIpICFkZWZhdWx0O1xuXG4kdXRpbGl0aWVzLXRleHQtZW1waGFzaXMtY29sb3JzOiAoXG4gIFwicHJpbWFyeS1lbXBoYXNpc1wiOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS10ZXh0LWVtcGhhc2lzKSxcbiAgXCJzZWNvbmRhcnktZW1waGFzaXNcIjogdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS10ZXh0LWVtcGhhc2lzKSxcbiAgXCJzdWNjZXNzLWVtcGhhc2lzXCI6IHZhcigtLSN7JHByZWZpeH1zdWNjZXNzLXRleHQtZW1waGFzaXMpLFxuICBcImluZm8tZW1waGFzaXNcIjogdmFyKC0tI3skcHJlZml4fWluZm8tdGV4dC1lbXBoYXNpcyksXG4gIFwid2FybmluZy1lbXBoYXNpc1wiOiB2YXIoLS0jeyRwcmVmaXh9d2FybmluZy10ZXh0LWVtcGhhc2lzKSxcbiAgXCJkYW5nZXItZW1waGFzaXNcIjogdmFyKC0tI3skcHJlZml4fWRhbmdlci10ZXh0LWVtcGhhc2lzKSxcbiAgXCJsaWdodC1lbXBoYXNpc1wiOiB2YXIoLS0jeyRwcmVmaXh9bGlnaHQtdGV4dC1lbXBoYXNpcyksXG4gIFwiZGFyay1lbXBoYXNpc1wiOiB2YXIoLS0jeyRwcmVmaXh9ZGFyay10ZXh0LWVtcGhhc2lzKVxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdXRpbGl0aWVzLXRleHQtY29sb3JzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB1dGlsaXRpZXMtYmctY29sb3JzXG4kdXRpbGl0aWVzLWJnOiBtYXAtbWVyZ2UoXG4gICR1dGlsaXRpZXMtY29sb3JzLFxuICAoXG4gICAgXCJibGFja1wiOiB0by1yZ2IoJGJsYWNrKSxcbiAgICBcIndoaXRlXCI6IHRvLXJnYigkd2hpdGUpLFxuICAgIFwiYm9keVwiOiB0by1yZ2IoJGJvZHktYmcpXG4gIClcbikgIWRlZmF1bHQ7XG4kdXRpbGl0aWVzLWJnLWNvbG9yczogbWFwLWxvb3AoJHV0aWxpdGllcy1iZywgcmdiYS1jc3MtdmFyLCBcIiRrZXlcIiwgXCJiZ1wiKSAhZGVmYXVsdDtcblxuJHV0aWxpdGllcy1iZy1zdWJ0bGU6IChcbiAgXCJwcmltYXJ5LXN1YnRsZVwiOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1iZy1zdWJ0bGUpLFxuICBcInNlY29uZGFyeS1zdWJ0bGVcIjogdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZy1zdWJ0bGUpLFxuICBcInN1Y2Nlc3Mtc3VidGxlXCI6IHZhcigtLSN7JHByZWZpeH1zdWNjZXNzLWJnLXN1YnRsZSksXG4gIFwiaW5mby1zdWJ0bGVcIjogdmFyKC0tI3skcHJlZml4fWluZm8tYmctc3VidGxlKSxcbiAgXCJ3YXJuaW5nLXN1YnRsZVwiOiB2YXIoLS0jeyRwcmVmaXh9d2FybmluZy1iZy1zdWJ0bGUpLFxuICBcImRhbmdlci1zdWJ0bGVcIjogdmFyKC0tI3skcHJlZml4fWRhbmdlci1iZy1zdWJ0bGUpLFxuICBcImxpZ2h0LXN1YnRsZVwiOiB2YXIoLS0jeyRwcmVmaXh9bGlnaHQtYmctc3VidGxlKSxcbiAgXCJkYXJrLXN1YnRsZVwiOiB2YXIoLS0jeyRwcmVmaXh9ZGFyay1iZy1zdWJ0bGUpXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB1dGlsaXRpZXMtYmctY29sb3JzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB1dGlsaXRpZXMtYm9yZGVyLWNvbG9yc1xuJHV0aWxpdGllcy1ib3JkZXI6IG1hcC1tZXJnZShcbiAgJHV0aWxpdGllcy1jb2xvcnMsXG4gIChcbiAgICBcImJsYWNrXCI6IHRvLXJnYigkYmxhY2spLFxuICAgIFwid2hpdGVcIjogdG8tcmdiKCR3aGl0ZSlcbiAgKVxuKSAhZGVmYXVsdDtcbiR1dGlsaXRpZXMtYm9yZGVyLWNvbG9yczogbWFwLWxvb3AoJHV0aWxpdGllcy1ib3JkZXIsIHJnYmEtY3NzLXZhciwgXCIka2V5XCIsIFwiYm9yZGVyXCIpICFkZWZhdWx0O1xuXG4kdXRpbGl0aWVzLWJvcmRlci1zdWJ0bGU6IChcbiAgXCJwcmltYXJ5LXN1YnRsZVwiOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1ib3JkZXItc3VidGxlKSxcbiAgXCJzZWNvbmRhcnktc3VidGxlXCI6IHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYm9yZGVyLXN1YnRsZSksXG4gIFwic3VjY2Vzcy1zdWJ0bGVcIjogdmFyKC0tI3skcHJlZml4fXN1Y2Nlc3MtYm9yZGVyLXN1YnRsZSksXG4gIFwiaW5mby1zdWJ0bGVcIjogdmFyKC0tI3skcHJlZml4fWluZm8tYm9yZGVyLXN1YnRsZSksXG4gIFwid2FybmluZy1zdWJ0bGVcIjogdmFyKC0tI3skcHJlZml4fXdhcm5pbmctYm9yZGVyLXN1YnRsZSksXG4gIFwiZGFuZ2VyLXN1YnRsZVwiOiB2YXIoLS0jeyRwcmVmaXh9ZGFuZ2VyLWJvcmRlci1zdWJ0bGUpLFxuICBcImxpZ2h0LXN1YnRsZVwiOiB2YXIoLS0jeyRwcmVmaXh9bGlnaHQtYm9yZGVyLXN1YnRsZSksXG4gIFwiZGFyay1zdWJ0bGVcIjogdmFyKC0tI3skcHJlZml4fWRhcmstYm9yZGVyLXN1YnRsZSlcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHV0aWxpdGllcy1ib3JkZXItY29sb3JzXG5cbiR1dGlsaXRpZXMtbGlua3MtdW5kZXJsaW5lOiBtYXAtbG9vcCgkdXRpbGl0aWVzLWNvbG9ycywgcmdiYS1jc3MtdmFyLCBcIiRrZXlcIiwgXCJsaW5rLXVuZGVybGluZVwiKSAhZGVmYXVsdDtcblxuJG5lZ2F0aXZlLXNwYWNlcnM6IGlmKCRlbmFibGUtbmVnYXRpdmUtbWFyZ2lucywgbmVnYXRpdmlmeS1tYXAoJHNwYWNlcnMpLCBudWxsKSAhZGVmYXVsdDtcblxuJGd1dHRlcnM6ICRzcGFjZXJzICFkZWZhdWx0O1xuIiwKCQkiLy8gVG9nZ2xlc1xuLy9cbi8vIFVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBnbG9iYWwgdmFyaWFibGVzIHRvIGVuYWJsZSBjZXJ0YWluIHRoZW1lIGZlYXR1cmVzLlxuXG4vLyBWZW5kb3JcbkBpbXBvcnQgXCJ2ZW5kb3IvcmZzXCI7XG5cbi8vIERlcHJlY2F0ZVxuQGltcG9ydCBcIm1peGlucy9kZXByZWNhdGVcIjtcblxuLy8gSGVscGVyc1xuQGltcG9ydCBcIm1peGlucy9icmVha3BvaW50c1wiO1xuQGltcG9ydCBcIm1peGlucy9jb2xvci1tb2RlXCI7XG5AaW1wb3J0IFwibWl4aW5zL2NvbG9yLXNjaGVtZVwiO1xuQGltcG9ydCBcIm1peGlucy9pbWFnZVwiO1xuQGltcG9ydCBcIm1peGlucy9yZXNpemVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdmlzdWFsbHktaGlkZGVuXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2V0LXRleHRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC10cnVuY2F0ZVwiO1xuXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgXCJtaXhpbnMvdXRpbGl0aWVzXCI7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgXCJtaXhpbnMvYmFja2Ryb3BcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYnV0dG9uc1wiO1xuQGltcG9ydCBcIm1peGlucy9jYXJldFwiO1xuQGltcG9ydCBcIm1peGlucy9wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwibWl4aW5zL2xpc3RzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zvcm1zXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RhYmxlLXZhcmlhbnRzXCI7XG5cbi8vIFNraW5zXG5AaW1wb3J0IFwibWl4aW5zL2JvcmRlci1yYWRpdXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYm94LXNoYWRvd1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmFkaWVudHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdHJhbnNpdGlvblwiO1xuXG4vLyBMYXlvdXRcbkBpbXBvcnQgXCJtaXhpbnMvY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJtaXhpbnMvY29udGFpbmVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWRcIjtcbiIsCgkJIi8vIHN0eWxlbGludC1kaXNhYmxlIHNjc3MvZGltZW5zaW9uLW5vLW5vbi1udW1lcmljLXZhbHVlc1xuXG4vLyBTQ1NTIFJGUyBtaXhpblxuLy9cbi8vIEF1dG9tYXRlZCByZXNwb25zaXZlIHZhbHVlcyBmb3IgZm9udCBzaXplcywgcGFkZGluZ3MsIG1hcmdpbnMgYW5kIG11Y2ggbW9yZVxuLy9cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2Jsb2IvbWFpbi9MSUNFTlNFKVxuXG4vLyBDb25maWd1cmF0aW9uXG5cbi8vIEJhc2UgdmFsdWVcbiRyZnMtYmFzZS12YWx1ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRyZnMtdW5pdDogcmVtICFkZWZhdWx0O1xuXG5AaWYgJHJmcy11bml0ICE9IHJlbSBhbmQgJHJmcy11bml0ICE9IHB4IHtcbiAgQGVycm9yIFwiYCN7JHJmcy11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy11bml0LiBVc2UgYHB4YCBvciBgcmVtYC5cIjtcbn1cblxuLy8gQnJlYWtwb2ludCBhdCB3aGVyZSB2YWx1ZXMgc3RhcnQgZGVjcmVhc2luZyBpZiBzY3JlZW4gd2lkdGggaXMgc21hbGxlclxuJHJmcy1icmVha3BvaW50OiAxMjAwcHggIWRlZmF1bHQ7XG4kcmZzLWJyZWFrcG9pbnQtdW5pdDogcHggIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBweCBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gZW0gYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHJlbSB7XG4gIEBlcnJvciBcImAjeyRyZnMtYnJlYWtwb2ludC11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1icmVha3BvaW50LXVuaXQuIFVzZSBgcHhgLCBgZW1gIG9yIGByZW1gLlwiO1xufVxuXG4vLyBSZXNpemUgdmFsdWVzIGJhc2VkIG9uIHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoXG4kcmZzLXR3by1kaW1lbnNpb25hbDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEZhY3RvciBvZiBkZWNyZWFzZVxuJHJmcy1mYWN0b3I6IDEwICFkZWZhdWx0O1xuXG5AaWYgdHlwZS1vZigkcmZzLWZhY3RvcikgIT0gbnVtYmVyIG9yICRyZnMtZmFjdG9yIDw9IDEge1xuICBAZXJyb3IgXCJgI3skcmZzLWZhY3Rvcn1gIGlzIG5vdCBhIHZhbGlkICAkcmZzLWZhY3RvciwgaXQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMS5cIjtcbn1cblxuLy8gTW9kZS4gUG9zc2liaWxpdGllczogXCJtaW4tbWVkaWEtcXVlcnlcIiwgXCJtYXgtbWVkaWEtcXVlcnlcIlxuJHJmcy1tb2RlOiBtaW4tbWVkaWEtcXVlcnkgIWRlZmF1bHQ7XG5cbi8vIEdlbmVyYXRlIGVuYWJsZSBvciBkaXNhYmxlIGNsYXNzZXMuIFBvc3NpYmlsaXRpZXM6IGZhbHNlLCBcImVuYWJsZVwiIG9yIFwiZGlzYWJsZVwiXG4kcmZzLWNsYXNzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gMSByZW0gPSAkcmZzLXJlbS12YWx1ZSBweFxuJHJmcy1yZW0tdmFsdWU6IDE2ICFkZWZhdWx0O1xuXG4vLyBTYWZhcmkgaWZyYW1lIHJlc2l6ZSBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9pc3N1ZXMvMTRcbiRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGUgUkZTIGJ5IHNldHRpbmcgJGVuYWJsZS1yZnMgdG8gZmFsc2VcbiRlbmFibGUtcmZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBDYWNoZSAkcmZzLWJhc2UtdmFsdWUgdW5pdFxuJHJmcy1iYXNlLXZhbHVlLXVuaXQ6IHVuaXQoJHJmcy1iYXNlLXZhbHVlKTtcblxuQGZ1bmN0aW9uIGRpdmlkZSgkZGl2aWRlbmQsICRkaXZpc29yLCAkcHJlY2lzaW9uOiAxMCkge1xuICAkc2lnbjogaWYoJGRpdmlkZW5kID4gMCBhbmQgJGRpdmlzb3IgPiAwIG9yICRkaXZpZGVuZCA8IDAgYW5kICRkaXZpc29yIDwgMCwgMSwgLTEpO1xuICAkZGl2aWRlbmQ6IGFicygkZGl2aWRlbmQpO1xuICAkZGl2aXNvcjogYWJzKCRkaXZpc29yKTtcbiAgQGlmICRkaXZpZGVuZCA9PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQGlmICRkaXZpc29yID09IDAge1xuICAgIEBlcnJvciBcIkNhbm5vdCBkaXZpZGUgYnkgMFwiO1xuICB9XG4gICRyZW1haW5kZXI6ICRkaXZpZGVuZDtcbiAgJHJlc3VsdDogMDtcbiAgJGZhY3RvcjogMTA7XG4gIEB3aGlsZSAoJHJlbWFpbmRlciA+IDAgYW5kICRwcmVjaXNpb24gPj0gMCkge1xuICAgICRxdW90aWVudDogMDtcbiAgICBAd2hpbGUgKCRyZW1haW5kZXIgPj0gJGRpdmlzb3IpIHtcbiAgICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgLSAkZGl2aXNvcjtcbiAgICAgICRxdW90aWVudDogJHF1b3RpZW50ICsgMTtcbiAgICB9XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgJHF1b3RpZW50O1xuICAgICRmYWN0b3I6ICRmYWN0b3IgKiAuMTtcbiAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyICogMTA7XG4gICAgJHByZWNpc2lvbjogJHByZWNpc2lvbiAtIDE7XG4gICAgQGlmICgkcHJlY2lzaW9uIDwgMCBhbmQgJHJlbWFpbmRlciA+PSAkZGl2aXNvciAqIDUpIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAxO1xuICAgIH1cbiAgfVxuICAkcmVzdWx0OiAkcmVzdWx0ICogJGZhY3RvciAqICRzaWduO1xuICAkZGl2aWRlbmQtdW5pdDogdW5pdCgkZGl2aWRlbmQpO1xuICAkZGl2aXNvci11bml0OiB1bml0KCRkaXZpc29yKTtcbiAgJHVuaXQtbWFwOiAoXG4gICAgXCJweFwiOiAxcHgsXG4gICAgXCJyZW1cIjogMXJlbSxcbiAgICBcImVtXCI6IDFlbSxcbiAgICBcIiVcIjogMSVcbiAgKTtcbiAgQGlmICgkZGl2aWRlbmQtdW5pdCAhPSAkZGl2aXNvci11bml0IGFuZCBtYXAtaGFzLWtleSgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KSkge1xuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiBtYXAtZ2V0KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpO1xuICB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkcmZzLWJhc2UtdmFsdWUgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYmFzZS12YWx1ZS11bml0ID09IHB4IHtcbiAgJHJmcy1iYXNlLXZhbHVlOiBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlLCAkcmZzLWJhc2UtdmFsdWUgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJhc2UtdmFsdWUtdW5pdCA9PSByZW0ge1xuICAkcmZzLWJhc2UtdmFsdWU6IGRpdmlkZSgkcmZzLWJhc2UtdmFsdWUsIGRpdmlkZSgkcmZzLWJhc2UtdmFsdWUgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbn1cblxuLy8gQ2FjaGUgJHJmcy1icmVha3BvaW50IHVuaXQgdG8gcHJldmVudCBtdWx0aXBsZSBjYWxsc1xuJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGU6IHVuaXQoJHJmcy1icmVha3BvaW50KTtcblxuLy8gUmVtb3ZlIHVuaXQgZnJvbSAkcmZzLWJyZWFrcG9pbnQgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IHB4IHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSByZW0gb3IgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJlbVwiIHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCBkaXZpZGUoJHJmcy1icmVha3BvaW50ICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIENhbGN1bGF0ZSB0aGUgbWVkaWEgcXVlcnkgdmFsdWVcbiRyZnMtbXEtdmFsdWU6IGlmKCRyZnMtYnJlYWtwb2ludC11bml0ID09IHB4LCAjeyRyZnMtYnJlYWtwb2ludH1weCwgI3tkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLXJlbS12YWx1ZSl9I3skcmZzLWJyZWFrcG9pbnQtdW5pdH0pO1xuJHJmcy1tcS1wcm9wZXJ0eS13aWR0aDogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgbWF4LXdpZHRoLCBtaW4td2lkdGgpO1xuJHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHQ6IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksIG1heC1oZWlnaHQsIG1pbi1oZWlnaHQpO1xuXG4vLyBJbnRlcm5hbCBtaXhpbiB1c2VkIHRvIGRldGVybWluZSB3aGljaCBtZWRpYSBxdWVyeSBuZWVkcyB0byBiZSB1c2VkXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeSB7XG4gIEBpZiAkcmZzLXR3by1kaW1lbnNpb25hbCB7XG4gICAgQGlmICRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnkge1xuICAgICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSwgKCN7JHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHR9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pIGFuZCAoI3skcmZzLW1xLXByb3BlcnR5LWhlaWdodH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZGlzYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1ydWxlIHtcbiAgQGlmICRyZnMtY2xhc3MgPT0gZGlzYWJsZSBhbmQgJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSB7XG4gICAgLy8gQWRkaW5nIGFuIGV4dHJhIGNsYXNzIGluY3JlYXNlcyBzcGVjaWZpY2l0eSwgd2hpY2ggcHJldmVudHMgdGhlIG1lZGlhIHF1ZXJ5IHRvIG92ZXJyaWRlIHRoZSBwcm9wZXJ0eVxuICAgICYsXG4gICAgLmRpc2FibGUtcmZzICYsXG4gICAgJi5kaXNhYmxlLXJmcyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHJmcy1jbGFzcyA9PSBlbmFibGUgYW5kICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgIC5lbmFibGUtcmZzICYsXG4gICAgJi5lbmFibGUtcmZzIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGVuYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeS1ydWxlIHtcblxuICBAaWYgJHJmcy1jbGFzcyA9PSBlbmFibGUge1xuICAgIEBpZiAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkgKCkge1xuICAgICAgLmVuYWJsZS1yZnMgJixcbiAgICAgICYuZW5hYmxlLXJmcyB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICRyZnMtY2xhc3MgPT0gZGlzYWJsZSBhbmQgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgICAuZGlzYWJsZS1yZnMgJixcbiAgICAgICYuZGlzYWJsZS1yZnMge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeSAoKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgZm9ybWF0dGVkIG5vbi1yZXNwb25zaXZlIHZhbHVlXG5AZnVuY3Rpb24gcmZzLXZhbHVlKCR2YWx1ZXMpIHtcbiAgLy8gQ29udmVydCB0byBsaXN0XG4gICR2YWx1ZXM6IGlmKHR5cGUtb2YoJHZhbHVlcykgIT0gbGlzdCwgKCR2YWx1ZXMsKSwgJHZhbHVlcyk7XG5cbiAgJHZhbDogXCJcIjtcblxuICAvLyBMb29wIG92ZXIgZWFjaCB2YWx1ZSBhbmQgY2FsY3VsYXRlIHZhbHVlXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgJHZhbHVlID09IDAge1xuICAgICAgJHZhbDogJHZhbCArIFwiIDBcIjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQ2FjaGUgJHZhbHVlIHVuaXRcbiAgICAgICR1bml0OiBpZih0eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiwgdW5pdCgkdmFsdWUpLCBmYWxzZSk7XG5cbiAgICAgIEBpZiAkdW5pdCA9PSBweCB7XG4gICAgICAgIC8vIENvbnZlcnQgdG8gcmVtIGlmIG5lZWRlZFxuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyAkcmZzLXJlbS12YWx1ZSl9cmVtLCAkdmFsdWUpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHVuaXQgPT0gcmVtIHtcbiAgICAgICAgLy8gQ29udmVydCB0byBweCBpZiBuZWVkZWRcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgaWYoJHJmcy11bml0ID09IHB4LCAje2RpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyAxKSAqICRyZnMtcmVtLXZhbHVlfXB4LCAkdmFsdWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIElmICR2YWx1ZSBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkdmFsdWUgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVtb3ZlIGZpcnN0IHNwYWNlXG4gIEByZXR1cm4gdW5xdW90ZShzdHItc2xpY2UoJHZhbCwgMikpO1xufVxuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSByZXNwb25zaXZlIHZhbHVlIGNhbGN1bGF0ZWQgYnkgUkZTXG5AZnVuY3Rpb24gcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZXMpIHtcbiAgLy8gQ29udmVydCB0byBsaXN0XG4gICR2YWx1ZXM6IGlmKHR5cGUtb2YoJHZhbHVlcykgIT0gbGlzdCwgKCR2YWx1ZXMsKSwgJHZhbHVlcyk7XG5cbiAgJHZhbDogXCJcIjtcblxuICAvLyBMb29wIG92ZXIgZWFjaCB2YWx1ZSBhbmQgY2FsY3VsYXRlIHZhbHVlXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgJHZhbHVlID09IDAge1xuICAgICAgJHZhbDogJHZhbCArIFwiIDBcIjtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIENhY2hlICR2YWx1ZSB1bml0XG4gICAgICAkdW5pdDogaWYodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIsIHVuaXQoJHZhbHVlKSwgZmFsc2UpO1xuXG4gICAgICAvLyBJZiAkdmFsdWUgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJHZhbHVlIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgICAgIEBpZiBub3QgJHVuaXQgb3IgJHVuaXQgIT0gcHggYW5kICR1bml0ICE9IHJlbSB7XG4gICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArICR2YWx1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBSZW1vdmUgdW5pdCBmcm9tICR2YWx1ZSBmb3IgY2FsY3VsYXRpb25zXG4gICAgICAgICR2YWx1ZTogZGl2aWRlKCR2YWx1ZSwgJHZhbHVlICogMCArIGlmKCR1bml0ID09IHB4LCAxLCBkaXZpZGUoMSwgJHJmcy1yZW0tdmFsdWUpKSk7XG5cbiAgICAgICAgLy8gT25seSBhZGQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZSB2YWx1ZSBpcyBncmVhdGVyIHRoYW4gdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgQGlmIGFicygkdmFsdWUpIDw9ICRyZnMtYmFzZS12YWx1ZSBvciBub3QgJGVuYWJsZS1yZnMge1xuICAgICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArIGlmKCRyZnMtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCR2YWx1ZSwgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skdmFsdWV9cHgpO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgICAkdmFsdWUtbWluOiAkcmZzLWJhc2UtdmFsdWUgKyBkaXZpZGUoYWJzKCR2YWx1ZSkgLSAkcmZzLWJhc2UtdmFsdWUsICRyZnMtZmFjdG9yKTtcblxuICAgICAgICAgIC8vIENhbGN1bGF0ZSBkaWZmZXJlbmNlIGJldHdlZW4gJHZhbHVlIGFuZCB0aGUgbWluaW11bSB2YWx1ZVxuICAgICAgICAgICR2YWx1ZS1kaWZmOiBhYnMoJHZhbHVlKSAtICR2YWx1ZS1taW47XG5cbiAgICAgICAgICAvLyBCYXNlIHZhbHVlIGZvcm1hdHRpbmdcbiAgICAgICAgICAkbWluLXdpZHRoOiBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUtbWluLCAkcmZzLXJlbS12YWx1ZSl9cmVtLCAjeyR2YWx1ZS1taW59cHgpO1xuXG4gICAgICAgICAgLy8gVXNlIG5lZ2F0aXZlIHZhbHVlIGlmIG5lZWRlZFxuICAgICAgICAgICRtaW4td2lkdGg6IGlmKCR2YWx1ZSA8IDAsIC0kbWluLXdpZHRoLCAkbWluLXdpZHRoKTtcblxuICAgICAgICAgIC8vIFVzZSBgdm1pbmAgaWYgdHdvLWRpbWVuc2lvbmFsIGlzIGVuYWJsZWRcbiAgICAgICAgICAkdmFyaWFibGUtdW5pdDogaWYoJHJmcy10d28tZGltZW5zaW9uYWwsIHZtaW4sIHZ3KTtcblxuICAgICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgdmFyaWFibGUgd2lkdGggYmV0d2VlbiAwIGFuZCAkcmZzLWJyZWFrcG9pbnRcbiAgICAgICAgICAkdmFyaWFibGUtd2lkdGg6ICN7ZGl2aWRlKCR2YWx1ZS1kaWZmICogMTAwLCAkcmZzLWJyZWFrcG9pbnQpfSN7JHZhcmlhYmxlLXVuaXR9O1xuXG4gICAgICAgICAgLy8gUmV0dXJuIHRoZSBjYWxjdWxhdGVkIHZhbHVlXG4gICAgICAgICAgJHZhbDogJHZhbCArIFwiIGNhbGMoXCIgKyAkbWluLXdpZHRoICsgaWYoJHZhbHVlIDwgMCwgXCIgLSBcIiwgXCIgKyBcIikgKyAkdmFyaWFibGUtd2lkdGggKyBcIilcIjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSBmaXJzdCBzcGFjZVxuICBAcmV0dXJuIHVucXVvdGUoc3RyLXNsaWNlKCR2YWwsIDIpKTtcbn1cblxuLy8gUkZTIG1peGluXG5AbWl4aW4gcmZzKCR2YWx1ZXMsICRwcm9wZXJ0eTogZm9udC1zaXplKSB7XG4gIEBpZiAkdmFsdWVzICE9IG51bGwge1xuICAgICR2YWw6IHJmcy12YWx1ZSgkdmFsdWVzKTtcbiAgICAkZmx1aWQtdmFsOiByZnMtZmx1aWQtdmFsdWUoJHZhbHVlcyk7XG5cbiAgICAvLyBEbyBub3QgcHJpbnQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHJlc3BvbnNpdmUgJiBub24tcmVzcG9uc2l2ZSB2YWx1ZXMgYXJlIHRoZSBzYW1lXG4gICAgQGlmICR2YWwgPT0gJGZsdWlkLXZhbCB7XG4gICAgICAjeyRwcm9wZXJ0eX06ICR2YWw7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIF9yZnMtcnVsZSAoKSB7XG4gICAgICAgICN7JHByb3BlcnR5fTogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgJHZhbCwgJGZsdWlkLXZhbCk7XG5cbiAgICAgICAgLy8gSW5jbHVkZSBzYWZhcmkgaWZyYW1lIHJlc2l6ZSBmaXggaWYgbmVlZGVkXG4gICAgICAgIG1pbi13aWR0aDogaWYoJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4LCAoMCAqIDF2dyksIG51bGwpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5LXJ1bGUgKCkge1xuICAgICAgICAjeyRwcm9wZXJ0eX06IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksICRmbHVpZC12YWwsICR2YWwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBTaG9ydGhhbmQgaGVscGVyIG1peGluc1xuQG1peGluIGZvbnQtc2l6ZSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSk7XG59XG5cbkBtaXhpbiBwYWRkaW5nKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nKTtcbn1cblxuQG1peGluIHBhZGRpbmctdG9wKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLXRvcCk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLXJpZ2h0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLXJpZ2h0KTtcbn1cblxuQG1peGluIHBhZGRpbmctYm90dG9tKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLWJvdHRvbSk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLWxlZnQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctbGVmdCk7XG59XG5cbkBtaXhpbiBtYXJnaW4oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbik7XG59XG5cbkBtaXhpbiBtYXJnaW4tdG9wKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tdG9wKTtcbn1cblxuQG1peGluIG1hcmdpbi1yaWdodCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLXJpZ2h0KTtcbn1cblxuQG1peGluIG1hcmdpbi1ib3R0b20oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1ib3R0b20pO1xufVxuXG5AbWl4aW4gbWFyZ2luLWxlZnQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1sZWZ0KTtcbn1cbiIsCgkJIi8vIERlcHJlY2F0ZSBtaXhpblxuLy9cbi8vIFRoaXMgbWl4aW4gY2FuIGJlIHVzZWQgdG8gZGVwcmVjYXRlIG1peGlucyBvciBmdW5jdGlvbnMuXG4vLyBgJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlc2AgaXMgYSBnbG9iYWwgdmFyaWFibGUsIGAkaWdub3JlLXdhcm5pbmdgIGlzIGEgdmFyaWFibGUgdGhhdCBjYW4gYmUgcGFzc2VkIHRvXG4vLyBzb21lIGRlcHJlY2F0ZWQgbWl4aW5zIHRvIHN1cHByZXNzIHRoZSB3YXJuaW5nIChmb3IgZXhhbXBsZSBpZiB0aGUgbWl4aW4gaXMgc3RpbGwgYmUgdXNlZCBpbiB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIEJvb3RzdHJhcClcbkBtaXhpbiBkZXByZWNhdGUoJG5hbWUsICRkZXByZWNhdGUtdmVyc2lvbiwgJHJlbW92ZS12ZXJzaW9uLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIEBpZiAoJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlcyAhPSBmYWxzZSBhbmQgJGlnbm9yZS13YXJuaW5nICE9IHRydWUpIHtcbiAgICBAd2FybiBcIiN7JG5hbWV9IGhhcyBiZWVuIGRlcHJlY2F0ZWQgYXMgb2YgI3skZGVwcmVjYXRlLXZlcnNpb259LiBJdCB3aWxsIGJlIHJlbW92ZWQgZW50aXJlbHkgaW4gI3skcmVtb3ZlLXZlcnNpb259LlwiO1xuICB9XG59XG4iLAoJCSIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCB4eGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAaWYgbm90ICRuIHtcbiAgICBAZXJyb3IgXCJicmVha3BvaW50IGAjeyRuYW1lfWAgbm90IGZvdW5kIGluIGAjeyRicmVha3BvaW50c31gXCI7XG4gIH1cbiAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgcmVkdWNlZCBieSAwLjAycHggdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mXG4vLyBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KG1kLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJG1heCAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiAgYnJlYWtwb2ludC1tYXgoJG5leHQsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuZXh0LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwKCQkiLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbG9yLW1vZGUtbWl4aW5cbkBtaXhpbiBjb2xvci1tb2RlKCRtb2RlOiBsaWdodCwgJHJvb3Q6IGZhbHNlKSB7XG4gIEBpZiAkY29sb3ItbW9kZS10eXBlID09IFwibWVkaWEtcXVlcnlcIiB7XG4gICAgQGlmICRyb290ID09IHRydWUge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogJG1vZGUpIHtcbiAgICAgICAgOnJvb3Qge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiAkbW9kZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIFtkYXRhLWJzLXRoZW1lPVwiI3skbW9kZX1cIl0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGNvbG9yLW1vZGUtbWl4aW5cbiIsCgkJIi8vIHNjc3MtZG9jcy1zdGFydCBtaXhpbi1jb2xvci1zY2hlbWVcbkBtaXhpbiBjb2xvci1zY2hlbWUoJG5hbWUpIHtcbiAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogI3skbmFtZX0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBtaXhpbi1jb2xvci1zY2hlbWVcbiIsCgkJIi8vIEltYWdlIE1peGluc1xuLy8gLSBSZXNwb25zaXZlIGltYWdlXG4vLyAtIFJldGluYSBpbWFnZVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuXG5AbWl4aW4gaW1nLWZsdWlkIHtcbiAgLy8gUGFydCAxOiBTZXQgYSBtYXhpbXVtIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvLyBQYXJ0IDI6IE92ZXJyaWRlIHRoZSBoZWlnaHQgdG8gYXV0bywgb3RoZXJ3aXNlIGltYWdlcyB3aWxsIGJlIHN0cmV0Y2hlZFxuICAvLyB3aGVuIHNldHRpbmcgYSB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZSBvbiB0aGUgaW1nIGVsZW1lbnQuXG4gIGhlaWdodDogYXV0bztcbn1cbiIsCgkJIi8vIFJlc2l6ZSBhbnl0aGluZ1xuXG5AbWl4aW4gcmVzaXphYmxlKCRkaXJlY3Rpb24pIHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFBlciBDU1MzIFVJLCBgcmVzaXplYCBvbmx5IGFwcGxpZXMgd2hlbiBgb3ZlcmZsb3dgIGlzbid0IGB2aXNpYmxlYFxuICByZXNpemU6ICRkaXJlY3Rpb247IC8vIE9wdGlvbnM6IGhvcml6b250YWwsIHZlcnRpY2FsLCBib3RoXG59XG4iLAoJCSIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gSGlkZSBjb250ZW50IHZpc3VhbGx5IHdoaWxlIGtlZXBpbmcgaXQgYWNjZXNzaWJsZSB0byBhc3Npc3RpdmUgdGVjaG5vbG9naWVzXG4vL1xuLy8gU2VlOiBodHRwczovL3d3dy5hMTF5cHJvamVjdC5jb20vcG9zdHMvMjAxMy0wMS0xMS1ob3ctdG8taGlkZS1jb250ZW50L1xuLy8gU2VlOiBodHRwczovL2tpdHR5Z2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5cbkBtaXhpbiB2aXN1YWxseS1oaWRkZW4oKSB7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IC0xcHggIWltcG9ydGFudDsgLy8gRml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1Njg2XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuXG4gIC8vIEZpeCBmb3IgcG9zaXRpb25lZCB0YWJsZSBjYXB0aW9uIHRoYXQgY291bGQgYmVjb21lIGFub255bW91cyBjZWxsc1xuICAmOm5vdChjYXB0aW9uKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gVXNlIHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLCBvciBvbmUgb2YgaXRzIGNoaWxkIGVsZW1lbnRzIGlzIGZvY3VzZWRcbi8vIChpLmUuIHdoZW4gZm9jdXMgaXMgd2l0aGluIHRoZSBlbGVtZW50L2NvbnRhaW5lciB0aGF0IHRoZSBjbGFzcyB3YXMgYXBwbGllZCB0bylcbi8vXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi8yMDEzL05PVEUtV0NBRzIwLVRFQ0hTLTIwMTMwOTA1L0cxXG5cbkBtaXhpbiB2aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlKCkge1xuICAmOm5vdCg6Zm9jdXMpOm5vdCg6Zm9jdXMtd2l0aGluKSB7XG4gICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG4gIH1cbn1cbiIsCgkJIkBtaXhpbiByZXNldC10ZXh0IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG8gTk9UIHJlc2V0IGZvbnQtc2l6ZSBvciBvdmVyZmxvdy13cmFwIC8gd29yZC13cmFwLlxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xufVxuIiwKCQkiLy8gVGV4dCB0cnVuY2F0ZVxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuXG5AbWl4aW4gdGV4dC10cnVuY2F0ZSgpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLAoJCSIvLyBVdGlsaXR5IGdlbmVyYXRvclxuLy8gVXNlZCB0byBnZW5lcmF0ZSB1dGlsaXRpZXMgJiBwcmludCB1dGlsaXRpZXNcbkBtaXhpbiBnZW5lcmF0ZS11dGlsaXR5KCR1dGlsaXR5LCAkaW5maXg6IFwiXCIsICRpcy1yZnMtbWVkaWEtcXVlcnk6IGZhbHNlKSB7XG4gICR2YWx1ZXM6IG1hcC1nZXQoJHV0aWxpdHksIHZhbHVlcyk7XG5cbiAgLy8gSWYgdGhlIHZhbHVlcyBhcmUgYSBsaXN0IG9yIHN0cmluZywgY29udmVydCBpdCBpbnRvIGEgbWFwXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09IFwic3RyaW5nXCIgb3IgdHlwZS1vZihudGgoJHZhbHVlcywgMSkpICE9IFwibGlzdFwiIHtcbiAgICAkdmFsdWVzOiB6aXAoJHZhbHVlcywgJHZhbHVlcyk7XG4gIH1cblxuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgJHByb3BlcnRpZXM6IG1hcC1nZXQoJHV0aWxpdHksIHByb3BlcnR5KTtcblxuICAgIC8vIE11bHRpcGxlIHByb3BlcnRpZXMgYXJlIHBvc3NpYmxlLCBmb3IgZXhhbXBsZSB3aXRoIHZlcnRpY2FsIG9yIGhvcml6b250YWwgbWFyZ2lucyBvciBwYWRkaW5nc1xuICAgIEBpZiB0eXBlLW9mKCRwcm9wZXJ0aWVzKSA9PSBcInN0cmluZ1wiIHtcbiAgICAgICRwcm9wZXJ0aWVzOiBhcHBlbmQoKCksICRwcm9wZXJ0aWVzKTtcbiAgICB9XG5cbiAgICAvLyBVc2UgY3VzdG9tIGNsYXNzIGlmIHByZXNlbnRcbiAgICAkcHJvcGVydHktY2xhc3M6IGlmKG1hcC1oYXMta2V5KCR1dGlsaXR5LCBjbGFzcyksIG1hcC1nZXQoJHV0aWxpdHksIGNsYXNzKSwgbnRoKCRwcm9wZXJ0aWVzLCAxKSk7XG4gICAgJHByb3BlcnR5LWNsYXNzOiBpZigkcHJvcGVydHktY2xhc3MgPT0gbnVsbCwgXCJcIiwgJHByb3BlcnR5LWNsYXNzKTtcblxuICAgIC8vIFVzZSBjdXN0b20gQ1NTIHZhcmlhYmxlIG5hbWUgaWYgcHJlc2VudCwgb3RoZXJ3aXNlIGRlZmF1bHQgdG8gYGNsYXNzYFxuICAgICRjc3MtdmFyaWFibGUtbmFtZTogaWYobWFwLWhhcy1rZXkoJHV0aWxpdHksIGNzcy12YXJpYWJsZS1uYW1lKSwgbWFwLWdldCgkdXRpbGl0eSwgY3NzLXZhcmlhYmxlLW5hbWUpLCBtYXAtZ2V0KCR1dGlsaXR5LCBjbGFzcykpO1xuXG4gICAgLy8gU3RhdGUgcGFyYW1zIHRvIGdlbmVyYXRlIHBzZXVkby1jbGFzc2VzXG4gICAgJHN0YXRlOiBpZihtYXAtaGFzLWtleSgkdXRpbGl0eSwgc3RhdGUpLCBtYXAtZ2V0KCR1dGlsaXR5LCBzdGF0ZSksICgpKTtcblxuICAgICRpbmZpeDogaWYoJHByb3BlcnR5LWNsYXNzID09IFwiXCIgYW5kIHN0ci1zbGljZSgkaW5maXgsIDEsIDEpID09IFwiLVwiLCBzdHItc2xpY2UoJGluZml4LCAyKSwgJGluZml4KTtcblxuICAgIC8vIERvbid0IHByZWZpeCBpZiB2YWx1ZSBrZXkgaXMgbnVsbCAoZS5nLiB3aXRoIHNoYWRvdyBjbGFzcylcbiAgICAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXI6IGlmKCRrZXksIGlmKCRwcm9wZXJ0eS1jbGFzcyA9PSBcIlwiIGFuZCAkaW5maXggPT0gXCJcIiwgXCJcIiwgXCItXCIpICsgJGtleSwgXCJcIik7XG5cbiAgICBAaWYgbWFwLWdldCgkdXRpbGl0eSwgcmZzKSB7XG4gICAgICAvLyBJbnNpZGUgdGhlIG1lZGlhIHF1ZXJ5XG4gICAgICBAaWYgJGlzLXJmcy1tZWRpYS1xdWVyeSB7XG4gICAgICAgICR2YWw6IHJmcy12YWx1ZSgkdmFsdWUpO1xuXG4gICAgICAgIC8vIERvIG5vdCByZW5kZXIgYW55dGhpbmcgaWYgZmx1aWQgYW5kIG5vbiBmbHVpZCB2YWx1ZXMgYXJlIHRoZSBzYW1lXG4gICAgICAgICR2YWx1ZTogaWYoJHZhbCA9PSByZnMtZmx1aWQtdmFsdWUoJHZhbHVlKSwgbnVsbCwgJHZhbCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICR2YWx1ZTogcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGlzLWNzcy12YXI6IG1hcC1nZXQoJHV0aWxpdHksIGNzcy12YXIpO1xuICAgICRpcy1sb2NhbC12YXJzOiBtYXAtZ2V0KCR1dGlsaXR5LCBsb2NhbC12YXJzKTtcbiAgICAkaXMtcnRsOiBtYXAtZ2V0KCR1dGlsaXR5LCBydGwpO1xuXG4gICAgQGlmICR2YWx1ZSAhPSBudWxsIHtcbiAgICAgIEBpZiAkaXMtcnRsID09IGZhbHNlIHtcbiAgICAgICAgLyogcnRsOmJlZ2luOnJlbW92ZSAqL1xuICAgICAgfVxuXG4gICAgICBAaWYgJGlzLWNzcy12YXIge1xuICAgICAgICAuI3skcHJvcGVydHktY2xhc3MgKyAkaW5maXggKyAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXJ9IHtcbiAgICAgICAgICAtLSN7JHByZWZpeH0jeyRjc3MtdmFyaWFibGUtbmFtZX06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRwc2V1ZG8gaW4gJHN0YXRlIHtcbiAgICAgICAgICAuI3skcHJvcGVydHktY2xhc3MgKyAkaW5maXggKyAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXJ9LSN7JHBzZXVkb306I3skcHNldWRvfSB7XG4gICAgICAgICAgICAtLSN7JHByZWZpeH0jeyRjc3MtdmFyaWFibGUtbmFtZX06ICN7JHZhbHVlfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAuI3skcHJvcGVydHktY2xhc3MgKyAkaW5maXggKyAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXJ9IHtcbiAgICAgICAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xuICAgICAgICAgICAgQGlmICRpcy1sb2NhbC12YXJzIHtcbiAgICAgICAgICAgICAgQGVhY2ggJGxvY2FsLXZhciwgJHZhcmlhYmxlIGluICRpcy1sb2NhbC12YXJzIHtcbiAgICAgICAgICAgICAgICAtLSN7JHByZWZpeH0jeyRsb2NhbC12YXJ9OiAjeyR2YXJpYWJsZX07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJHBzZXVkbyBpbiAkc3RhdGUge1xuICAgICAgICAgIC4jeyRwcm9wZXJ0eS1jbGFzcyArICRpbmZpeCArICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcn0tI3skcHNldWRvfTojeyRwc2V1ZG99IHtcbiAgICAgICAgICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XG4gICAgICAgICAgICAgIEBpZiAkaXMtbG9jYWwtdmFycyB7XG4gICAgICAgICAgICAgICAgQGVhY2ggJGxvY2FsLXZhciwgJHZhcmlhYmxlIGluICRpcy1sb2NhbC12YXJzIHtcbiAgICAgICAgICAgICAgICAgIC0tI3skcHJlZml4fSN7JGxvY2FsLXZhcn06ICN7JHZhcmlhYmxlfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWUgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRpcy1ydGwgPT0gZmFsc2Uge1xuICAgICAgICAvKiBydGw6ZW5kOnJlbW92ZSAqL1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwKCQkiLy8gU2hhcmVkIGJldHdlZW4gbW9kYWxzIGFuZCBvZmZjYW52YXNlc1xuQG1peGluIG92ZXJsYXktYmFja2Ryb3AoJHppbmRleCwgJGJhY2tkcm9wLWJnLCAkYmFja2Ryb3Atb3BhY2l0eSkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2Ryb3AtYmc7XG5cbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgb3BhY2l0eTogMDsgfVxuICAmLnNob3cgeyBvcGFjaXR5OiAkYmFja2Ryb3Atb3BhY2l0eTsgfVxufVxuIiwKCQkiLy8gQnV0dG9uIHZhcmlhbnRzXG4vL1xuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tdmFyaWFudC1taXhpblxuQG1peGluIGJ1dHRvbi12YXJpYW50KFxuICAkYmFja2dyb3VuZCxcbiAgJGJvcmRlcixcbiAgJGNvbG9yOiBjb2xvci1jb250cmFzdCgkYmFja2dyb3VuZCksXG4gICRob3Zlci1iYWNrZ3JvdW5kOiBpZigkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1ob3Zlci1iZy1zaGFkZS1hbW91bnQpLCB0aW50LWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWhvdmVyLWJnLXRpbnQtYW1vdW50KSksXG4gICRob3Zlci1ib3JkZXI6IGlmKCRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCRib3JkZXIsICRidG4taG92ZXItYm9yZGVyLXNoYWRlLWFtb3VudCksIHRpbnQtY29sb3IoJGJvcmRlciwgJGJ0bi1ob3Zlci1ib3JkZXItdGludC1hbW91bnQpKSxcbiAgJGhvdmVyLWNvbG9yOiBjb2xvci1jb250cmFzdCgkaG92ZXItYmFja2dyb3VuZCksXG4gICRhY3RpdmUtYmFja2dyb3VuZDogaWYoJGNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCwgc2hhZGUtY29sb3IoJGJhY2tncm91bmQsICRidG4tYWN0aXZlLWJnLXNoYWRlLWFtb3VudCksIHRpbnQtY29sb3IoJGJhY2tncm91bmQsICRidG4tYWN0aXZlLWJnLXRpbnQtYW1vdW50KSksXG4gICRhY3RpdmUtYm9yZGVyOiBpZigkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkYm9yZGVyLCAkYnRuLWFjdGl2ZS1ib3JkZXItc2hhZGUtYW1vdW50KSwgdGludC1jb2xvcigkYm9yZGVyLCAkYnRuLWFjdGl2ZS1ib3JkZXItdGludC1hbW91bnQpKSxcbiAgJGFjdGl2ZS1jb2xvcjogY29sb3ItY29udHJhc3QoJGFjdGl2ZS1iYWNrZ3JvdW5kKSxcbiAgJGRpc2FibGVkLWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLFxuICAkZGlzYWJsZWQtYm9yZGVyOiAkYm9yZGVyLFxuICAkZGlzYWJsZWQtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRkaXNhYmxlZC1iYWNrZ3JvdW5kKVxuKSB7XG4gIC0tI3skcHJlZml4fWJ0bi1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYmc6ICN7JGJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yOiAjeyRib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3I6ICN7JGhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJnOiAjeyRob3Zlci1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcjogI3skaG92ZXItYm9yZGVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvY3VzLXNoYWRvdy1yZ2I6ICN7dG8tcmdiKG1peCgkY29sb3IsICRib3JkZXIsIDE1JSkpfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1jb2xvcjogI3skYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1iZzogI3skYWN0aXZlLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogI3skYWN0aXZlLWJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtc2hhZG93OiAjeyRidG4tYWN0aXZlLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtY29sb3I6ICN7JGRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJnOiAjeyRkaXNhYmxlZC1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogI3skZGlzYWJsZWQtYm9yZGVyfTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgYnRuLXZhcmlhbnQtbWl4aW5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi1vdXRsaW5lLXZhcmlhbnQtbWl4aW5cbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KFxuICAkY29sb3IsXG4gICRjb2xvci1ob3ZlcjogY29sb3ItY29udHJhc3QoJGNvbG9yKSxcbiAgJGFjdGl2ZS1iYWNrZ3JvdW5kOiAkY29sb3IsXG4gICRhY3RpdmUtYm9yZGVyOiAkY29sb3IsXG4gICRhY3RpdmUtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRhY3RpdmUtYmFja2dyb3VuZClcbikge1xuICAtLSN7JHByZWZpeH1idG4tY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3I6ICN7JGNvbG9yLWhvdmVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJnOiAjeyRhY3RpdmUtYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6ICN7JGFjdGl2ZS1ib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4tZm9jdXMtc2hhZG93LXJnYjogI3t0by1yZ2IoJGNvbG9yKX07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3I6ICN7JGFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYmc6ICN7JGFjdGl2ZS1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7JGFjdGl2ZS1ib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLXNoYWRvdzogI3skYnRuLWFjdGl2ZS1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJnOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9Z3JhZGllbnQ6IG5vbmU7XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi1vdXRsaW5lLXZhcmlhbnQtbWl4aW5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi1zaXplLW1peGluXG5AbWl4aW4gYnV0dG9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGJvcmRlci1yYWRpdXMpIHtcbiAgLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteTogI3skcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteDogI3skcGFkZGluZy14fTtcbiAgQGluY2x1ZGUgcmZzKCRmb250LXNpemUsIC0tI3skcHJlZml4fWJ0bi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLXJhZGl1czogI3skYm9yZGVyLXJhZGl1c307XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi1zaXplLW1peGluXG4iLAoJCSIvLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZXQtbWl4aW5zXG5AbWl4aW4gY2FyZXQtZG93bigkd2lkdGg6ICRjYXJldC13aWR0aCkge1xuICBib3JkZXItdG9wOiAkd2lkdGggc29saWQ7XG4gIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtdXAoJHdpZHRoOiAkY2FyZXQtd2lkdGgpIHtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LWVuZCgkd2lkdGg6ICRjYXJldC13aWR0aCkge1xuICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkO1xufVxuXG5AbWl4aW4gY2FyZXQtc3RhcnQoJHdpZHRoOiAkY2FyZXQtd2lkdGgpIHtcbiAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQoXG4gICRkaXJlY3Rpb246IGRvd24sXG4gICR3aWR0aDogJGNhcmV0LXdpZHRoLFxuICAkc3BhY2luZzogJGNhcmV0LXNwYWNpbmcsXG4gICR2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXZlcnRpY2FsLWFsaWduXG4pIHtcbiAgQGlmICRlbmFibGUtY2FyZXQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAkdmVydGljYWwtYWxpZ247XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWRvd24oJHdpZHRoKTtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXVwKCR3aWR0aCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZW5kIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtZW5kKCR3aWR0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gc3RhcnQge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmc7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkdmVydGljYWwtYWxpZ247XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXN0YXJ0KCR3aWR0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjplbXB0eTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGNhcmV0LW1peGluc1xuIiwKCQkiLy8gUGFnaW5hdGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcGFnaW5hdGlvbi1taXhpblxuQG1peGluIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkYm9yZGVyLXJhZGl1cykge1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXBhZGRpbmcteDogI3skcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXk6ICN7JHBhZGRpbmcteX07XG4gIEBpbmNsdWRlIHJmcygkZm9udC1zaXplLCAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1czogI3skYm9yZGVyLXJhZGl1c307XG59XG4vLyBzY3NzLWRvY3MtZW5kIHBhZ2luYXRpb24tbWl4aW5cbiIsCgkJIi8vIExpc3RzXG5cbi8vIFVuc3R5bGVkIGtlZXBzIGxpc3QgaXRlbXMgYmxvY2sgbGV2ZWwsIGp1c3QgcmVtb3ZlcyBkZWZhdWx0IGJyb3dzZXIgcGFkZGluZyBhbmQgbGlzdC1zdHlsZVxuQG1peGluIGxpc3QtdW5zdHlsZWQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLAoJCSIvLyBUaGlzIG1peGluIHVzZXMgYW4gYGlmKClgIHRlY2huaXF1ZSB0byBiZSBjb21wYXRpYmxlIHdpdGggRGFydCBTYXNzXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMTg3MyNpc3N1ZWNvbW1lbnQtMTUyMjkzNzI1IGZvciBtb3JlIGRldGFpbHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdmFsaWRhdGlvbi1taXhpbnNcbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gIEBpZiAoJHN0YXRlID09IFwidmFsaWRcIiBvciAkc3RhdGUgPT0gXCJpbnZhbGlkXCIpIHtcbiAgICAud2FzLXZhbGlkYXRlZCAje2lmKCYsIFwiJlwiLCBcIlwiKX06I3skc3RhdGV9LFxuICAgICN7aWYoJiwgXCImXCIsIFwiXCIpfS5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAje2lmKCYsIFwiJlwiLCBcIlwiKX0uaXMtI3skc3RhdGV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlKFxuICAkc3RhdGUsXG4gICRjb2xvcixcbiAgJGljb24sXG4gICR0b29sdGlwLWNvbG9yOiBjb2xvci1jb250cmFzdCgkY29sb3IpLFxuICAkdG9vbHRpcC1iZy1jb2xvcjogcmdiYSgkY29sb3IsICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eSksXG4gICRmb2N1cy1ib3gtc2hhZG93OiAwIDAgJGlucHV0LWJ0bi1mb2N1cy1ibHVyICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgJGlucHV0LWJ0bi1mb2N1cy1jb2xvci1vcGFjaXR5KSxcbiAgJGJvcmRlci1jb2xvcjogJGNvbG9yXG4pIHtcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1mZWVkYmFjay1mb250LXNpemUpO1xuICAgIGZvbnQtc3R5bGU6ICRmb3JtLWZlZWRiYWNrLWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBDb250YWluIHRvIHBhcmVudCB3aGVuIHBvc3NpYmxlXG4gICAgcGFkZGluZzogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXkgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg7XG4gICAgbWFyZ2luLXRvcDogLjFyZW07XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmctY29sb3I7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRpY29uKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAkZm9jdXMtYm94LXNoYWRvdztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG4gIHRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXIgcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLXNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgJjpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSksXG4gICAgICAgICY6bm90KFttdWx0aXBsZV0pW3NpemU9XCIxXCJdIHtcbiAgICAgICAgICAtLSN7JHByZWZpeH1mb3JtLXNlbGVjdC1iZy1pY29uOiAje2VzY2FwZS1zdmcoJGljb24pfTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLWVuZDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZm9ybS1zZWxlY3QtYmctcG9zaXRpb24sICRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGZvcm0tc2VsZWN0LWJnLXNpemUsICRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogJGZvY3VzLWJveC1zaGFkb3c7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY29udHJvbC1jb2xvciB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHdpZHRoOiBhZGQoJGZvcm0tY29sb3Itd2lkdGgsICRpbnB1dC1oZWlnaHQtaW5uZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRmb2N1cy1ib3gtc2hhZG93O1xuICAgICAgfVxuXG4gICAgICB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmZvcm0tY2hlY2staW5saW5lIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xuICAgICAgbWFyZ2luLWxlZnQ6IC41ZW07XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICA+IC5mb3JtLWNvbnRyb2w6bm90KDpmb2N1cyksXG4gICAgPiAuZm9ybS1zZWxlY3Q6bm90KDpmb2N1cyksXG4gICAgPiAuZm9ybS1mbG9hdGluZzpub3QoOmZvY3VzLXdpdGhpbikge1xuICAgICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgICBAaWYgJHN0YXRlID09IFwidmFsaWRcIiB7XG4gICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgfSBAZWxzZSBpZiAkc3RhdGUgPT0gXCJpbnZhbGlkXCIge1xuICAgICAgICAgIHotaW5kZXg6IDQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS12YWxpZGF0aW9uLW1peGluc1xuIiwKCQkiLy8gc2Nzcy1kb2NzLXN0YXJ0IHRhYmxlLXZhcmlhbnRcbkBtaXhpbiB0YWJsZS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQpIHtcbiAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgJGNvbG9yOiBjb2xvci1jb250cmFzdChvcGFxdWUoJGJvZHktYmcsICRiYWNrZ3JvdW5kKSk7XG4gICAgJGhvdmVyLWJnOiBtaXgoJGNvbG9yLCAkYmFja2dyb3VuZCwgcGVyY2VudGFnZSgkdGFibGUtaG92ZXItYmctZmFjdG9yKSk7XG4gICAgJHN0cmlwZWQtYmc6IG1peCgkY29sb3IsICRiYWNrZ3JvdW5kLCBwZXJjZW50YWdlKCR0YWJsZS1zdHJpcGVkLWJnLWZhY3RvcikpO1xuICAgICRhY3RpdmUtYmc6IG1peCgkY29sb3IsICRiYWNrZ3JvdW5kLCBwZXJjZW50YWdlKCR0YWJsZS1hY3RpdmUtYmctZmFjdG9yKSk7XG4gICAgJHRhYmxlLWJvcmRlci1jb2xvcjogbWl4KCRjb2xvciwgJGJhY2tncm91bmQsIHBlcmNlbnRhZ2UoJHRhYmxlLWJvcmRlci1mYWN0b3IpKTtcblxuICAgIC0tI3skcHJlZml4fXRhYmxlLWNvbG9yOiAjeyRjb2xvcn07XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYmc6ICN7JGJhY2tncm91bmR9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWJvcmRlci1jb2xvcjogI3skdGFibGUtYm9yZGVyLWNvbG9yfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWJnOiAjeyRzdHJpcGVkLWJnfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWNvbG9yOiAje2NvbG9yLWNvbnRyYXN0KCRzdHJpcGVkLWJnKX07XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWJnOiAjeyRhY3RpdmUtYmd9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1jb2xvcjogI3tjb2xvci1jb250cmFzdCgkYWN0aXZlLWJnKX07XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtaG92ZXItYmc6ICN7JGhvdmVyLWJnfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1jb2xvcjogI3tjb2xvci1jb250cmFzdCgkaG92ZXItYmcpfTtcblxuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtY29sb3IpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRhYmxlLWJvcmRlci1jb2xvcik7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgdGFibGUtdmFyaWFudFxuIiwKCQkiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4vLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byByZXBsYWNlIG5lZ2F0aXZlIHZhbHVlcyB3aXRoIDBcbkBmdW5jdGlvbiB2YWxpZC1yYWRpdXMoJHJhZGl1cykge1xuICAkcmV0dXJuOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICRyYWRpdXMge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCBtYXgoJHZhbHVlLCAwKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgJHZhbHVlKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXJhZGl1cy1taXhpbnNcbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzLCAkZmFsbGJhY2stYm9yZGVyLXJhZGl1czogZmFsc2UpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG4gIEBlbHNlIGlmICRmYWxsYmFjay1ib3JkZXItcmFkaXVzICE9IGZhbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1lbmQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1zdGFydC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1zdGFydC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLWVuZC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1lbmQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tc3RhcnQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBib3JkZXItcmFkaXVzLW1peGluc1xuIiwKCQkiQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAkcmVzdWx0OiAoKTtcblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkc2hhZG93IHtcbiAgICAgIEBpZiAkdmFsdWUgIT0gbnVsbCB7XG4gICAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAkdmFsdWUsIFwiY29tbWFcIik7XG4gICAgICB9XG4gICAgICBAaWYgJHZhbHVlID09IG5vbmUgYW5kIGxlbmd0aCgkc2hhZG93KSA+IDEge1xuICAgICAgICBAd2FybiBcIlRoZSBrZXl3b3JkICdub25lJyBtdXN0IGJlIHVzZWQgYXMgYSBzaW5nbGUgYXJndW1lbnQuXCI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmIChsZW5ndGgoJHJlc3VsdCkgPiAwKSB7XG4gICAgICBib3gtc2hhZG93OiAkcmVzdWx0O1xuICAgIH1cbiAgfVxufVxuIiwKCQkiLy8gR3JhZGllbnRzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmFkaWVudC1iZy1taXhpblxuQG1peGluIGdyYWRpZW50LWJnKCRjb2xvcjogbnVsbCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9Z3JhZGllbnQpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGdyYWRpZW50LWJnLW1peGluXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmFkaWVudC1taXhpbnNcbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC15KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiBudWxsLCAkZW5kLXBlcmNlbnQ6IG51bGwpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcbn1cblxuQG1peGluIGdyYWRpZW50LXgtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbn1cblxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICRncmF5LTcwMCwgJG91dGVyLWNvbG9yOiAkZ3JheS04MDApIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoJHdoaXRlLCAuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgZ3JhZGllbnQtbWl4aW5zXG4iLAoJCSIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbkBtaXhpbiB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLi4uKSB7XG4gIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID09IDAge1xuICAgICR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1iYXNlO1xuICB9XG5cbiAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPiAxIHtcbiAgICBAZWFjaCAkdmFsdWUgaW4gJHRyYW5zaXRpb24ge1xuICAgICAgQGlmICR2YWx1ZSA9PSBudWxsIG9yICR2YWx1ZSA9PSBub25lIHtcbiAgICAgICAgQHdhcm4gXCJUaGUga2V5d29yZCAnbm9uZScgb3IgJ251bGwnIG11c3QgYmUgdXNlZCBhcyBhIHNpbmdsZSBhcmd1bWVudC5cIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgQGlmIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbnVsbCB7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICB9XG5cbiAgICBAaWYgJGVuYWJsZS1yZWR1Y2VkLW1vdGlvbiBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIGFuZCBudGgoJHRyYW5zaXRpb24sIDEpICE9IG5vbmUge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vIHNjc3MtZG9jcy1zdGFydCBjbGVhcmZpeFxuQG1peGluIGNsZWFyZml4KCkge1xuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBjbGVhcmZpeFxuIiwKCQkiLy8gQ29udGFpbmVyIG1peGluc1xuXG5AbWl4aW4gbWFrZS1jb250YWluZXIoJGd1dHRlcjogJGNvbnRhaW5lci1wYWRkaW5nLXgpIHtcbiAgLS0jeyRwcmVmaXh9Z3V0dGVyLXg6ICN7JGd1dHRlcn07XG4gIC0tI3skcHJlZml4fWd1dHRlci15OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpICogLjUpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tI3skcHJlZml4fWd1dHRlci14KSAqIC41KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cbiIsCgkJIi8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIC0tI3skcHJlZml4fWd1dHRlci14OiAjeyRndXR0ZXJ9O1xuICAtLSN7JHByZWZpeH1ndXR0ZXIteTogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICAvLyBUT0RPOiBSZXZpc2l0IGNhbGMgb3JkZXIgYWZ0ZXIgaHR0cHM6Ly9naXRodWIuY29tL3JlYWN0LWJvb3RzdHJhcC9yZWFjdC1ib290c3RyYXAvaXNzdWVzLzYwMzkgaXMgZml4ZWRcbiAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteSkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWd1dHRlci14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxufVxuXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoKSB7XG4gIC8vIEFkZCBib3ggc2l6aW5nIGlmIG9ubHkgdGhlIGdyaWQgaXMgbG9hZGVkXG4gIGJveC1zaXppbmc6IGlmKHZhcmlhYmxlLWV4aXN0cyhpbmNsdWRlLWNvbHVtbi1ib3gtc2l6aW5nKSBhbmQgJGluY2x1ZGUtY29sdW1uLWJveC1zaXppbmcsIGJvcmRlci1ib3gsIG51bGwpO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBiZWNvbWluZyB0b28gbmFycm93IHdoZW4gYXQgc21hbGxlciBncmlkIHRpZXJzIGJ5XG4gIC8vIGFsd2F5cyBzZXR0aW5nIGB3aWR0aDogMTAwJTtgLiBUaGlzIHdvcmtzIGJlY2F1c2Ugd2Ugc2V0IHRoZSB3aWR0aFxuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIGZsZXgtc2hyaW5rOiAwO1xuICAtd2Via2l0LWZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBQcmV2ZW50IGAuY29sLWF1dG9gLCBgLmNvbGAgKCYgcmVzcG9uc2l2ZSB2YXJpYW50cykgZnJvbSBicmVha2luZyBvdXQgdGhlIGdyaWRcbiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpICogLjUpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tI3skcHJlZml4fWd1dHRlci14KSAqIC41KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLXRvcDogdmFyKC0tI3skcHJlZml4fWd1dHRlci15KTtcbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplOiBmYWxzZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgQGlmICRzaXplIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAtd2Via2l0LWZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKGRpdmlkZSgkc2l6ZSwgJGNvbHVtbnMpKTtcblxuICB9IEBlbHNlIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICAtd2Via2l0LWZsZXg6IDEgMSAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1jb2wtYXV0bygpIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIC13ZWJraXQtZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICAkbnVtOiBkaXZpZGUoJHNpemUsICRjb2x1bW5zKTtcbiAgbWFyZ2luLWxlZnQ6IGlmKCRudW0gPT0gMCwgMCwgcGVyY2VudGFnZSgkbnVtKSk7XG59XG5cbi8vIFJvdyBjb2x1bW5zXG4vL1xuLy8gU3BlY2lmeSBvbiBhIHBhcmVudCBlbGVtZW50KGUuZy4sIC5yb3cpIHRvIGZvcmNlIGltbWVkaWF0ZSBjaGlsZHJlbiBpbnRvIE5OXG4vLyBudW1iZXIgb2YgY29sdW1ucy4gU3VwcG9ydHMgd3JhcHBpbmcgdG8gbmV3IGxpbmVzLCBidXQgZG9lcyBub3QgZG8gYSBNYXNvbnJ5XG4vLyBzdHlsZSBncmlkLlxuQG1peGluIHJvdy1jb2xzKCRjb3VudCkge1xuICA+ICoge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIC13ZWJraXQtZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGRpdmlkZSgxMDAlLCAkY291bnQpO1xuICB9XG59XG5cbi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgJGdyaWQtY29sdW1uc2AuXG5cbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgLy8gUHJvdmlkZSBiYXNpYyBgLmNvbC17YnB9YCBjbGFzc2VzIGZvciBlcXVhbC13aWR0aCBmbGV4Ym94IGNvbHVtbnNcbiAgICAgIC5jb2wjeyRpbmZpeH0ge1xuICAgICAgICBmbGV4OiAxIDAgMCU7IC8vIEZsZXhidWdzICM0OiBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzI2ZsZXhidWctNFxuICAgICAgICAtd2Via2l0LWZsZXg6IDEgMCAwJTsgLy8gRmxleGJ1Z3MgIzQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjZmxleGJ1Zy00XG4gICAgICB9XG5cbiAgICAgIC5yb3ctY29scyN7JGluZml4fS1hdXRvID4gKiB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRncmlkLXJvdy1jb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtcm93LWNvbHVtbnMge1xuICAgICAgICAgIC5yb3ctY29scyN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByb3ctY29scygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LTBcbiAgICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gR3V0dGVyc1xuICAgICAgLy9cbiAgICAgIC8vIE1ha2UgdXNlIG9mIGAuZy0qYCwgYC5neC0qYCBvciBgLmd5LSpgIHV0aWxpdGllcyB0byBjaGFuZ2Ugc3BhY2luZyBiZXR3ZWVuIHRoZSBjb2x1bW5zLlxuICAgICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRndXR0ZXJzIHtcbiAgICAgICAgLmcjeyRpbmZpeH0tI3ska2V5fSxcbiAgICAgICAgLmd4I3skaW5maXh9LSN7JGtleX0ge1xuICAgICAgICAgIC0tI3skcHJlZml4fWd1dHRlci14OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cblxuICAgICAgICAuZyN7JGluZml4fS0jeyRrZXl9LFxuICAgICAgICAuZ3kjeyRpbmZpeH0tI3ska2V5fSB7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9Z3V0dGVyLXk6ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1jc3NncmlkKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5nLWNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gJGk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3RhcnQgd2l0aCBgMWAgYmVjYXVzZSBgMGAgaXMgYW5kIGludmFsaWQgdmFsdWUuXG4gICAgICAgIC8vIEVuZHMgd2l0aCBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGUuXG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICAgIC5nLXN0YXJ0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAkaTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vIEJTNSsgZGFyayBjb2xvciBtb2RlIGZvcmVncm91bmQgY29sb3JcbiRlbXBoYXNpcy1jb2xvci1yZ2I6IHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IsIDAsMCwwKSAhZGVmYXVsdDtcblxuLy8gQ2FyZHMgYXJlIHdoaXRlIGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3YW50IGEgc21hcnRlciBkZWZhdWx0IGZvciAud2VsbFxuLy8gdGhhdCBpdCBhcHBlYXJzIGdyYXkgYnkgZGVmYXVsdFxuJHdlbGwtYmc6IGlmKCRib290c3RyYXAtdmVyc2lvbj49NSwgUkdCQSgkZW1waGFzaXMtY29sb3ItcmdiLCAuMDMpLCByZ2JhKCRibGFjaywgLjAzKSkgIWRlZmF1bHQ7XG4kd2VsbC1jb2xvcjogaWYoJGJvb3RzdHJhcC12ZXJzaW9uPj01LCBSR0IoJGVtcGhhc2lzLWNvbG9yLXJnYiksICRib2R5LWNvbG9yKSAhZGVmYXVsdDtcblxuLy8gQm9vdHN0cmFwIDUuMy4xICsgc2VsZWN0aXplLmpzIHYwLjEyLjQgKGkuZS4sIHNoaW55IHYxLjcuNSkgc2hpbVxuLy9cbi8vIFN0YXJ0aW5nIHdpdGggNS4zLngsIEJvb3RzdHJhcCBzdGFydGVkIGhhdmluZyBTYXNzIHZhcmlhYmxlcyBkZWZhdWx0IHRvIENTU1xuLy8gdmFyaWFibGVzIChlLmcuLCAkaW5wdXQtY29sb3I6IHZhcigtLWJzLWJvZHktY29sb3IpKSwgd2hpY2ggaXMgcHJvYmxlbWF0aWMgZm9yXG4vLyBjb21wdWF0aW9uIHRoYXQgaGFwcGVucyBpbiBTYXNzIChlLmcuLCBgbWl4KCRjb2xvcjEsICRjb2xvcjIpYCkuIFRoaXMgYnVuZGxlXG4vLyBmaXhlcyB0aGlzIHByb2JsZW0gZm9yIHNoaW55OjpzZWxlY3RpemVJbnB1dCgpJ3MgU2FzcyBjb2RlIChmdXR1cmUgdmVyc2lvbnMgb2Zcbi8vIHNlbGVjdGl6ZUlucHV0KCkgc2hvdWxkIGhvcGVmdWxseSBhZGRyZXNzIHRoaXMgcHJvYmxlbSwgbWFraW5nIHRoaXMgdGVtcG9yYXJ5XG4vLyBzdG9wZ2FwIHNvbHV0aW9uIG5vIGxvbmdlciByZXF1aXJlZCkuXG4kc2VsZWN0aXplLWNvbG9yLXRleHQ6IGlmKGlzLWNzcy12YXJpYWJsZSgkaW5wdXQtY29sb3IpLCAkYm9keS1jb2xvciwgJGlucHV0LWNvbG9yKSAhZGVmYXVsdDtcbiRzZWxlY3RpemUtY29sb3ItaXRlbTogcmdiYSgkc2VsZWN0aXplLWNvbG9yLXRleHQsIDAuMSkgIWRlZmF1bHQ7XG4kc2VsZWN0aXplLWNvbG9yLWl0ZW0tYm9yZGVyOiBpZihpcy1jc3MtdmFyaWFibGUoJGlucHV0LWJvcmRlci1jb2xvciksICRib3JkZXItY29sb3IsICRpbnB1dC1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJHNlbGVjdGl6ZS1jb2xvci1kcm9wZG93bjogaWYoaXMtY3NzLXZhcmlhYmxlKCRkcm9wZG93bi1iZyksICRib2R5LWJnLCAkZHJvcGRvd24tYmcpICFkZWZhdWx0O1xuJHNlbGVjdGl6ZS1jb2xvci1kcm9wZG93bi1ib3JkZXItdG9wOiByZ2JhKCRpbnB1dC1ib3JkZXItY29sb3IsIDAuMikgIWRlZmF1bHQ7XG4kc2VsZWN0aXplLWNvbG9yLWRyb3Bkb3duLWl0ZW0tY3JlYXRlLXRleHQ6IHJnYmEoJHNlbGVjdGl6ZS1jb2xvci10ZXh0LCAwLjUpICFkZWZhdWx0O1xuQGlmIHZhcmlhYmxlLWV4aXN0cyhcImlucHV0LWJ0bi1mb250LXNpemVcIikge1xuICAkc2VsZWN0aXplLWZvbnQtc2l6ZTogJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG59IEBlbHNlIGlmIHZhcmlhYmxlLWV4aXN0cyhcImZvbnQtc2l6ZS1iYXNlXCIpIHtcbiAgJHNlbGVjdGl6ZS1mb250LXNpemU6ICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbn1cbiRzZWxlY3RpemUtZm9udC1mYW1pbHk6IGlmKCRpbnB1dC1idG4tZm9udC1mYW1pbHksICRpbnB1dC1idG4tZm9udC1mYW1pbHksIGluaGVyaXQpICFkZWZhdWx0O1xuIiwKCQkiLy8gQWNjb3JkaW9uc1xuLy8gVGhlc2UgZGVmaW5pdGlvbnMgY2FuJ3QgZ28gaW4gX2RlZmF1bHRzLnNjc3Mgd2l0aCBhICFkZWZhdWx0IGZsYWcgKGJlY2F1c2UgIWRlZmF1bHQgZG9lc24ndCByZXNwZWN0IG51bGwpXG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtYmc6IG51bGw7XG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtY29sb3I6IG51bGw7XG4kYWNjb3JkaW9uLWljb24tYWN0aXZlLWNvbG9yOiBudWxsO1xuXG4vLyBTaGlueTogc2VsZWN0SW5wdXQoKSBhbmQgc2VsZWN0aXplSW5wdXQoKVxuJHNlbGVjdGl6ZS1jb2xvci1kcm9wZG93bi1pdGVtLWFjdGl2ZTogJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kc2VsZWN0aXplLWNvbG9yLWRyb3Bkb3duLWl0ZW0tYWN0aXZlLXRleHQ6ICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG4vLyBDb21wb25lbnQgVmFyaWFibGVzXG5AaW1wb3J0IFwiaW9ucmFuZ2VzbGlkZXIvX3ZhcmlhYmxlcy5zY3NzXCI7XG4iLAoJCSIvLyBodHRwczovL2dpdGh1Yi5jb20vcnN0dWRpby9zaGlueS9ibG9iL21haW4vaW5zdC93d3cvc2hhcmVkL2lvbnJhbmdlc2xpZGVyL3Njc3Mvc2hpbnkuc2Nzc1xuXG4kZW1waGFzaXMtY29sb3ItcmdiOiB2YXIoLS1icy1lbXBoYXNpcy1jb2xvci1yZ2IsIDAsIDAsIDApICFkZWZhdWx0O1xuXG4kbWlubWF4X2JnX2NvbG9yOiBSR0JBKCRlbXBoYXNpcy1jb2xvci1yZ2IsIDAuMSkgIWRlZmF1bHQ7XG5cbiR0b3A6IDMycHggIWRlZmF1bHQ7XG5cbiRsaW5lX2hlaWdodDogMXB4ICFkZWZhdWx0O1xuJGxpbmVfYmc6IG5vbmUgIWRlZmF1bHQ7XG4kbGluZV9iZ19jb2xvcjogUkdCQSgkZW1waGFzaXMtY29sb3ItcmdiLCAwLjY1KSAhZGVmYXVsdDtcbiRsaW5lX2JvcmRlcjogbm9uZSAhZGVmYXVsdDtcblxuJGhhbmRsZV9jb2xvcjogJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kaGFuZGxlX2NvbG9yX2hvdmVyOiB0aW50LWNvbG9yKCRoYW5kbGVfY29sb3IsIDE1JSkgIWRlZmF1bHQ7XG4kaGFuZGxlX2JvcmRlcjogbm9uZSAhZGVmYXVsdDtcbiRoYW5kbGVfYm94X3NoYWRvdzogbm9uZSAhZGVmYXVsdDtcbiRoYW5kbGVfcmFkaXVzOiAkdG9wIC0gMTBweCAhZGVmYXVsdDtcbiRoYW5kbGVfaGVpZ2h0OiAxOXB4ICFkZWZhdWx0O1xuJGhhbmRsZV93aWR0aDogJGhhbmRsZV9oZWlnaHQgIWRlZmF1bHQ7XG5cbiRiYXJfY29sb3I6ICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kZ3JpZF9tYWpvcl9jb2xvcjogUkdCQSgkZW1waGFzaXMtY29sb3ItcmdiLCAwLjY1KSAhZGVmYXVsdDtcbiRncmlkX21pbm9yX2NvbG9yOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRncmlkX3RleHRfY29sb3I6IFJHQkEoJGVtcGhhc2lzLWNvbG9yLXJnYiwgMC44NSkgIWRlZmF1bHQ7XG4iLAoJCSJAbWl4aW4gYnNCYW5uZXIoJGZpbGUpIHtcbiAgLyohXG4gICAqIEJvb3RzdHJhcCAjeyRmaWxlfSB2NS4zLjEgKGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbS8pXG4gICAqIENvcHlyaWdodCAyMDExLTIwMjMgVGhlIEJvb3RzdHJhcCBBdXRob3JzXG4gICAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFpbi9MSUNFTlNFKVxuICAgKi9cbn1cbiIsCgkJIi8vIFV0aWxpdGllc1xuXG4kdXRpbGl0aWVzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kdXRpbGl0aWVzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICAvLyBzY3NzLWRvY3Mtc3RhcnQgdXRpbHMtdmVydGljYWwtYWxpZ25cbiAgICBcImFsaWduXCI6IChcbiAgICAgIHByb3BlcnR5OiB2ZXJ0aWNhbC1hbGlnbixcbiAgICAgIGNsYXNzOiBhbGlnbixcbiAgICAgIHZhbHVlczogYmFzZWxpbmUgdG9wIG1pZGRsZSBib3R0b20gdGV4dC1ib3R0b20gdGV4dC10b3BcbiAgICApLFxuICAgIC8vIHNjc3MtZG9jcy1lbmQgdXRpbHMtdmVydGljYWwtYWxpZ25cbiAgICAvLyBzY3NzLWRvY3Mtc3RhcnQgdXRpbHMtZmxvYXRcbiAgICBcImZsb2F0XCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogZmxvYXQsXG4gICAgICB2YWx1ZXM6IChcbiAgICAgICAgc3RhcnQ6IGxlZnQsXG4gICAgICAgIGVuZDogcmlnaHQsXG4gICAgICAgIG5vbmU6IG5vbmUsXG4gICAgICApXG4gICAgKSxcbiAgICAvLyBzY3NzLWRvY3MtZW5kIHV0aWxzLWZsb2F0XG4gICAgLy8gT2JqZWN0IEZpdCB1dGlsaXRpZXNcbiAgICAvLyBzY3NzLWRvY3Mtc3RhcnQgdXRpbHMtb2JqZWN0LWZpdFxuICAgIFwib2JqZWN0LWZpdFwiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJvcGVydHk6IG9iamVjdC1maXQsXG4gICAgICB2YWx1ZXM6IChcbiAgICAgICAgY29udGFpbjogY29udGFpbixcbiAgICAgICAgY292ZXI6IGNvdmVyLFxuICAgICAgICBmaWxsOiBmaWxsLFxuICAgICAgICBzY2FsZTogc2NhbGUtZG93bixcbiAgICAgICAgbm9uZTogbm9uZSxcbiAgICAgIClcbiAgICApLFxuICAgIC8vIHNjc3MtZG9jcy1lbmQgdXRpbHMtb2JqZWN0LWZpdFxuICAgIC8vIE9wYWNpdHkgdXRpbGl0aWVzXG4gICAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHV0aWxzLW9wYWNpdHlcbiAgICBcIm9wYWNpdHlcIjogKFxuICAgICAgcHJvcGVydHk6IG9wYWNpdHksXG4gICAgICB2YWx1ZXM6IChcbiAgICAgICAgMDogMCxcbiAgICAgICAgMjU6IC4yNSxcbiAgICAgICAgNTA6IC41LFxuICAgICAgICA3NTogLjc1LFxuICAgICAgICAxMDA6IDEsXG4gICAgICApXG4gICAgKSxcbiAgICAvLyBzY3NzLWRvY3MtZW5kIHV0aWxzLW9wYWNpdHlcbiAgICAvLyBzY3NzLWRvY3Mtc3RhcnQgdXRpbHMtb3ZlcmZsb3dcbiAgICBcIm92ZXJmbG93XCI6IChcbiAgICAgIHByb3BlcnR5OiBvdmVyZmxvdyxcbiAgICAgIHZhbHVlczogYXV0byBoaWRkZW4gdmlzaWJsZSBzY3JvbGwsXG4gICAgKSxcbiAgICBcIm92ZXJmbG93LXhcIjogKFxuICAgICAgcHJvcGVydHk6IG92ZXJmbG93LXgsXG4gICAgICB2YWx1ZXM6IGF1dG8gaGlkZGVuIHZpc2libGUgc2Nyb2xsLFxuICAgICksXG4gICAgXCJvdmVyZmxvdy15XCI6IChcbiAgICAgIHByb3BlcnR5OiBvdmVyZmxvdy15LFxuICAgICAgdmFsdWVzOiBhdXRvIGhpZGRlbiB2aXNpYmxlIHNjcm9sbCxcbiAgICApLFxuICAgIC8vIHNjc3MtZG9jcy1lbmQgdXRpbHMtb3ZlcmZsb3dcbiAgICAvLyBzY3NzLWRvY3Mtc3RhcnQgdXRpbHMtZGlzcGxheVxuICAgIFwiZGlzcGxheVwiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJpbnQ6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogZGlzcGxheSxcbiAgICAgIGNsYXNzOiBkLFxuICAgICAgdmFsdWVzOiBpbmxpbmUgaW5saW5lLWJsb2NrIGJsb2NrIGdyaWQgaW5saW5lLWdyaWQgdGFibGUgdGFibGUtcm93IHRhYmxlLWNlbGwgZmxleCBpbmxpbmUtZmxleCBub25lXG4gICAgKSxcbiAgICAvLyBzY3NzLWRvY3MtZW5kIHV0aWxzLWRpc3BsYXlcbiAgICAvLyBzY3NzLWRvY3Mtc3RhcnQgdXRpbHMtc2hhZG93XG4gICAgXCJzaGFkb3dcIjogKFxuICAgICAgcHJvcGVydHk6IGJveC1zaGFkb3csXG4gICAgICBjbGFzczogc2hhZG93LFxuICAgICAgdmFsdWVzOiAoXG4gICAgICAgIG51bGw6ICRib3gtc2hhZG93LFxuICAgICAgICBzbTogJGJveC1zaGFkb3ctc20sXG4gICAgICAgIGxnOiAkYm94LXNoYWRvdy1sZyxcbiAgICAgICAgbm9uZTogbm9uZSxcbiAgICAgIClcbiAgICApLFxuICAgIC8vIHNjc3MtZG9jcy1lbmQgdXRpbHMtc2hhZG93XG4gICAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHV0aWxzLWZvY3VzLXJpbmdcbiAgICBcImZvY3VzLXJpbmdcIjogKFxuICAgICAgY3NzLXZhcjogdHJ1ZSxcbiAgICAgIGNzcy12YXJpYWJsZS1uYW1lOiBmb2N1cy1yaW5nLWNvbG9yLFxuICAgICAgY2xhc3M6IGZvY3VzLXJpbmcsXG4gICAgICB2YWx1ZXM6IG1hcC1sb29wKCR0aGVtZS1jb2xvcnMtcmdiLCByZ2JhLWNzcy12YXIsIFwiJGtleVwiLCBcImZvY3VzLXJpbmdcIilcbiAgICApLFxuICAgIC8vIHNjc3MtZG9jcy1lbmQgdXRpbHMtZm9jdXMtcmluZ1xuICAgIC8vIHNjc3MtZG9jcy1zdGFydCB1dGlscy1wb3NpdGlvblxuICAgIFwicG9zaXRpb25cIjogKFxuICAgICAgcHJvcGVydHk6IHBvc2l0aW9uLFxuICAgICAgdmFsdWVzOiBzdGF0aWMgcmVsYXRpdmUgYWJzb2x1dGUgZml4ZWQgc3RpY2t5XG4gICAgKSxcbiAgICBcInRvcFwiOiAoXG4gICAgICBwcm9wZXJ0eTogdG9wLFxuICAgICAgdmFsdWVzOiAkcG9zaXRpb24tdmFsdWVzXG4gICAgKSxcbiAgICBcImJvdHRvbVwiOiAoXG4gICAgICBwcm9wZXJ0eTogYm90dG9tLFxuICAgICAgdmFsdWVzOiAkcG9zaXRpb24tdmFsdWVzXG4gICAgKSxcbiAgICBcInN0YXJ0XCI6IChcbiAgICAgIHByb3BlcnR5OiBsZWZ0LFxuICAgICAgY2xhc3M6IHN0YXJ0LFxuICAgICAgdmFsdWVzOiAkcG9zaXRpb24tdmFsdWVzXG4gICAgKSxcbiAgICBcImVuZFwiOiAoXG4gICAgICBwcm9wZXJ0eTogcmlnaHQsXG4gICAgICBjbGFzczogZW5kLFxuICAgICAgdmFsdWVzOiAkcG9zaXRpb24tdmFsdWVzXG4gICAgKSxcbiAgICBcInRyYW5zbGF0ZS1taWRkbGVcIjogKFxuICAgICAgcHJvcGVydHk6IHRyYW5zZm9ybSxcbiAgICAgIGNsYXNzOiB0cmFuc2xhdGUtbWlkZGxlLFxuICAgICAgdmFsdWVzOiAoXG4gICAgICAgIG51bGw6IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSxcbiAgICAgICAgeDogdHJhbnNsYXRlWCgtNTAlKSxcbiAgICAgICAgeTogdHJhbnNsYXRlWSgtNTAlKSxcbiAgICAgIClcbiAgICApLFxuICAgIC8vIHNjc3MtZG9jcy1lbmQgdXRpbHMtcG9zaXRpb25cbiAgICAvLyBzY3NzLWRvY3Mtc3RhcnQgdXRpbHMtYm9yZGVyc1xuICAgIFwiYm9yZGVyXCI6IChcbiAgICAgIHByb3BlcnR5OiBib3JkZXIsXG4gICAgICB2YWx1ZXM6IChcbiAgICAgICAgbnVsbDogdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgdmFyKC0tI3skcHJlZml4fWJvcmRlci1zdHlsZSkgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvciksXG4gICAgICAgIDA6IDAsXG4gICAgICApXG4gICAgKSxcbiAgICBcImJvcmRlci10b3BcIjogKFxuICAgICAgcHJvcGVydHk6IGJvcmRlci10b3AsXG4gICAgICB2YWx1ZXM6IChcbiAgICAgICAgbnVsbDogdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgdmFyKC0tI3skcHJlZml4fWJvcmRlci1zdHlsZSkgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvciksXG4gICAgICAgIDA6IDAsXG4gICAgICApXG4gICAgKSxcbiAgICBcImJvcmRlci1lbmRcIjogKFxuICAgICAgcHJvcGVydHk6IGJvcmRlci1yaWdodCxcbiAgICAgIGNsYXNzOiBib3JkZXItZW5kLFxuICAgICAgdmFsdWVzOiAoXG4gICAgICAgIG51bGw6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpIHZhcigtLSN7JHByZWZpeH1ib3JkZXItc3R5bGUpIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpLFxuICAgICAgICAwOiAwLFxuICAgICAgKVxuICAgICksXG4gICAgXCJib3JkZXItYm90dG9tXCI6IChcbiAgICAgIHByb3BlcnR5OiBib3JkZXItYm90dG9tLFxuICAgICAgdmFsdWVzOiAoXG4gICAgICAgIG51bGw6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpIHZhcigtLSN7JHByZWZpeH1ib3JkZXItc3R5bGUpIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpLFxuICAgICAgICAwOiAwLFxuICAgICAgKVxuICAgICksXG4gICAgXCJib3JkZXItc3RhcnRcIjogKFxuICAgICAgcHJvcGVydHk6IGJvcmRlci1sZWZ0LFxuICAgICAgY2xhc3M6IGJvcmRlci1zdGFydCxcbiAgICAgIHZhbHVlczogKFxuICAgICAgICBudWxsOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXN0eWxlKSB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSxcbiAgICAgICAgMDogMCxcbiAgICAgIClcbiAgICApLFxuICAgIFwiYm9yZGVyLWNvbG9yXCI6IChcbiAgICAgIHByb3BlcnR5OiBib3JkZXItY29sb3IsXG4gICAgICBjbGFzczogYm9yZGVyLFxuICAgICAgbG9jYWwtdmFyczogKFxuICAgICAgICBcImJvcmRlci1vcGFjaXR5XCI6IDFcbiAgICAgICksXG4gICAgICB2YWx1ZXM6ICR1dGlsaXRpZXMtYm9yZGVyLWNvbG9yc1xuICAgICksXG4gICAgXCJzdWJ0bGUtYm9yZGVyLWNvbG9yXCI6IChcbiAgICAgIHByb3BlcnR5OiBib3JkZXItY29sb3IsXG4gICAgICBjbGFzczogYm9yZGVyLFxuICAgICAgdmFsdWVzOiAkdXRpbGl0aWVzLWJvcmRlci1zdWJ0bGVcbiAgICApLFxuICAgIFwiYm9yZGVyLXdpZHRoXCI6IChcbiAgICAgIHByb3BlcnR5OiBib3JkZXItd2lkdGgsXG4gICAgICBjbGFzczogYm9yZGVyLFxuICAgICAgdmFsdWVzOiAkYm9yZGVyLXdpZHRoc1xuICAgICksXG4gICAgXCJib3JkZXItb3BhY2l0eVwiOiAoXG4gICAgICBjc3MtdmFyOiB0cnVlLFxuICAgICAgY2xhc3M6IGJvcmRlci1vcGFjaXR5LFxuICAgICAgdmFsdWVzOiAoXG4gICAgICAgIDEwOiAuMSxcbiAgICAgICAgMjU6IC4yNSxcbiAgICAgICAgNTA6IC41LFxuICAgICAgICA3NTogLjc1LFxuICAgICAgICAxMDA6IDFcbiAgICAgIClcbiAgICApLFxuICAgIC8vIHNjc3MtZG9jcy1lbmQgdXRpbHMtYm9yZGVyc1xuICAgIC8vIFNpemluZyB1dGlsaXRpZXNcbiAgICAvLyBzY3NzLWRvY3Mtc3RhcnQgdXRpbHMtc2l6aW5nXG4gICAgXCJ3aWR0aFwiOiAoXG4gICAgICBwcm9wZXJ0eTogd2lkdGgsXG4gICAgICBjbGFzczogdyxcbiAgICAgIHZhbHVlczogKFxuICAgICAgICAyNTogMjUlLFxuICAgICAgICA1MDogNTAlLFxuICAgICAgICA3NTogNzUlLFxuICAgICAgICAxMDA6IDEwMCUsXG4gICAgICAgIGF1dG86IGF1dG9cbiAgICAgIClcbiAgICApLFxuICAgIFwibWF4LXdpZHRoXCI6IChcbiAgICAgIHByb3BlcnR5OiBtYXgtd2lkdGgsXG4gICAgICBjbGFzczogbXcsXG4gICAgICB2YWx1ZXM6ICgxMDA6IDEwMCUpXG4gICAgKSxcbiAgICBcInZpZXdwb3J0LXdpZHRoXCI6IChcbiAgICAgIHByb3BlcnR5OiB3aWR0aCxcbiAgICAgIGNsYXNzOiB2dyxcbiAgICAgIHZhbHVlczogKDEwMDogMTAwdncpXG4gICAgKSxcbiAgICBcIm1pbi12aWV3cG9ydC13aWR0aFwiOiAoXG4gICAgICBwcm9wZXJ0eTogbWluLXdpZHRoLFxuICAgICAgY2xhc3M6IG1pbi12dyxcbiAgICAgIHZhbHVlczogKDEwMDogMTAwdncpXG4gICAgKSxcbiAgICBcImhlaWdodFwiOiAoXG4gICAgICBwcm9wZXJ0eTogaGVpZ2h0LFxuICAgICAgY2xhc3M6IGgsXG4gICAgICB2YWx1ZXM6IChcbiAgICAgICAgMjU6IDI1JSxcbiAgICAgICAgNTA6IDUwJSxcbiAgICAgICAgNzU6IDc1JSxcbiAgICAgICAgMTAwOiAxMDAlLFxuICAgICAgICBhdXRvOiBhdXRvXG4gICAgICApXG4gICAgKSxcbiAgICBcIm1heC1oZWlnaHRcIjogKFxuICAgICAgcHJvcGVydHk6IG1heC1oZWlnaHQsXG4gICAgICBjbGFzczogbWgsXG4gICAgICB2YWx1ZXM6ICgxMDA6IDEwMCUpXG4gICAgKSxcbiAgICBcInZpZXdwb3J0LWhlaWdodFwiOiAoXG4gICAgICBwcm9wZXJ0eTogaGVpZ2h0LFxuICAgICAgY2xhc3M6IHZoLFxuICAgICAgdmFsdWVzOiAoMTAwOiAxMDB2aClcbiAgICApLFxuICAgIFwibWluLXZpZXdwb3J0LWhlaWdodFwiOiAoXG4gICAgICBwcm9wZXJ0eTogbWluLWhlaWdodCxcbiAgICAgIGNsYXNzOiBtaW4tdmgsXG4gICAgICB2YWx1ZXM6ICgxMDA6IDEwMHZoKVxuICAgICksXG4gICAgLy8gc2Nzcy1kb2NzLWVuZCB1dGlscy1zaXppbmdcbiAgICAvLyBGbGV4IHV0aWxpdGllc1xuICAgIC8vIHNjc3MtZG9jcy1zdGFydCB1dGlscy1mbGV4XG4gICAgXCJmbGV4XCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogZmxleCxcbiAgICAgIHZhbHVlczogKGZpbGw6IDEgMSBhdXRvKVxuICAgICksXG4gICAgXCJmbGV4LWRpcmVjdGlvblwiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJvcGVydHk6IGZsZXgtZGlyZWN0aW9uLFxuICAgICAgY2xhc3M6IGZsZXgsXG4gICAgICB2YWx1ZXM6IHJvdyBjb2x1bW4gcm93LXJldmVyc2UgY29sdW1uLXJldmVyc2VcbiAgICApLFxuICAgIFwiZmxleC1ncm93XCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogZmxleC1ncm93LFxuICAgICAgY2xhc3M6IGZsZXgsXG4gICAgICB2YWx1ZXM6IChcbiAgICAgICAgZ3Jvdy0wOiAwLFxuICAgICAgICBncm93LTE6IDEsXG4gICAgICApXG4gICAgKSxcbiAgICBcImZsZXgtc2hyaW5rXCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogZmxleC1zaHJpbmssXG4gICAgICBjbGFzczogZmxleCxcbiAgICAgIHZhbHVlczogKFxuICAgICAgICBzaHJpbmstMDogMCxcbiAgICAgICAgc2hyaW5rLTE6IDEsXG4gICAgICApXG4gICAgKSxcbiAgICBcImZsZXgtd3JhcFwiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJvcGVydHk6IGZsZXgtd3JhcCxcbiAgICAgIGNsYXNzOiBmbGV4LFxuICAgICAgdmFsdWVzOiB3cmFwIG5vd3JhcCB3cmFwLXJldmVyc2VcbiAgICApLFxuICAgIFwianVzdGlmeS1jb250ZW50XCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eToganVzdGlmeS1jb250ZW50LFxuICAgICAgdmFsdWVzOiAoXG4gICAgICAgIHN0YXJ0OiBmbGV4LXN0YXJ0LFxuICAgICAgICBlbmQ6IGZsZXgtZW5kLFxuICAgICAgICBjZW50ZXI6IGNlbnRlcixcbiAgICAgICAgYmV0d2Vlbjogc3BhY2UtYmV0d2VlbixcbiAgICAgICAgYXJvdW5kOiBzcGFjZS1hcm91bmQsXG4gICAgICAgIGV2ZW5seTogc3BhY2UtZXZlbmx5LFxuICAgICAgKVxuICAgICksXG4gICAgXCJhbGlnbi1pdGVtc1wiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJvcGVydHk6IGFsaWduLWl0ZW1zLFxuICAgICAgdmFsdWVzOiAoXG4gICAgICAgIHN0YXJ0OiBmbGV4LXN0YXJ0LFxuICAgICAgICBlbmQ6IGZsZXgtZW5kLFxuICAgICAgICBjZW50ZXI6IGNlbnRlcixcbiAgICAgICAgYmFzZWxpbmU6IGJhc2VsaW5lLFxuICAgICAgICBzdHJldGNoOiBzdHJldGNoLFxuICAgICAgKVxuICAgICksXG4gICAgXCJhbGlnbi1jb250ZW50XCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogYWxpZ24tY29udGVudCxcbiAgICAgIHZhbHVlczogKFxuICAgICAgICBzdGFydDogZmxleC1zdGFydCxcbiAgICAgICAgZW5kOiBmbGV4LWVuZCxcbiAgICAgICAgY2VudGVyOiBjZW50ZXIsXG4gICAgICAgIGJldHdlZW46IHNwYWNlLWJldHdlZW4sXG4gICAgICAgIGFyb3VuZDogc3BhY2UtYXJvdW5kLFxuICAgICAgICBzdHJldGNoOiBzdHJldGNoLFxuICAgICAgKVxuICAgICksXG4gICAgXCJhbGlnbi1zZWxmXCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogYWxpZ24tc2VsZixcbiAgICAgIHZhbHVlczogKFxuICAgICAgICBhdXRvOiBhdXRvLFxuICAgICAgICBzdGFydDogZmxleC1zdGFydCxcbiAgICAgICAgZW5kOiBmbGV4LWVuZCxcbiAgICAgICAgY2VudGVyOiBjZW50ZXIsXG4gICAgICAgIGJhc2VsaW5lOiBiYXNlbGluZSxcbiAgICAgICAgc3RyZXRjaDogc3RyZXRjaCxcbiAgICAgIClcbiAgICApLFxuICAgIFwib3JkZXJcIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBvcmRlcixcbiAgICAgIHZhbHVlczogKFxuICAgICAgICBmaXJzdDogLTEsXG4gICAgICAgIDA6IDAsXG4gICAgICAgIDE6IDEsXG4gICAgICAgIDI6IDIsXG4gICAgICAgIDM6IDMsXG4gICAgICAgIDQ6IDQsXG4gICAgICAgIDU6IDUsXG4gICAgICAgIGxhc3Q6IDYsXG4gICAgICApLFxuICAgICksXG4gICAgLy8gc2Nzcy1kb2NzLWVuZCB1dGlscy1mbGV4XG4gICAgLy8gTWFyZ2luIHV0aWxpdGllc1xuICAgIC8vIHNjc3MtZG9jcy1zdGFydCB1dGlscy1zcGFjaW5nXG4gICAgXCJtYXJnaW5cIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBtYXJnaW4sXG4gICAgICBjbGFzczogbSxcbiAgICAgIHZhbHVlczogbWFwLW1lcmdlKCRzcGFjZXJzLCAoYXV0bzogYXV0bykpXG4gICAgKSxcbiAgICBcIm1hcmdpbi14XCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogbWFyZ2luLXJpZ2h0IG1hcmdpbi1sZWZ0LFxuICAgICAgY2xhc3M6IG14LFxuICAgICAgdmFsdWVzOiBtYXAtbWVyZ2UoJHNwYWNlcnMsIChhdXRvOiBhdXRvKSlcbiAgICApLFxuICAgIFwibWFyZ2luLXlcIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBtYXJnaW4tdG9wIG1hcmdpbi1ib3R0b20sXG4gICAgICBjbGFzczogbXksXG4gICAgICB2YWx1ZXM6IG1hcC1tZXJnZSgkc3BhY2VycywgKGF1dG86IGF1dG8pKVxuICAgICksXG4gICAgXCJtYXJnaW4tdG9wXCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogbWFyZ2luLXRvcCxcbiAgICAgIGNsYXNzOiBtdCxcbiAgICAgIHZhbHVlczogbWFwLW1lcmdlKCRzcGFjZXJzLCAoYXV0bzogYXV0bykpXG4gICAgKSxcbiAgICBcIm1hcmdpbi1lbmRcIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBtYXJnaW4tcmlnaHQsXG4gICAgICBjbGFzczogbWUsXG4gICAgICB2YWx1ZXM6IG1hcC1tZXJnZSgkc3BhY2VycywgKGF1dG86IGF1dG8pKVxuICAgICksXG4gICAgXCJtYXJnaW4tYm90dG9tXCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogbWFyZ2luLWJvdHRvbSxcbiAgICAgIGNsYXNzOiBtYixcbiAgICAgIHZhbHVlczogbWFwLW1lcmdlKCRzcGFjZXJzLCAoYXV0bzogYXV0bykpXG4gICAgKSxcbiAgICBcIm1hcmdpbi1zdGFydFwiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJvcGVydHk6IG1hcmdpbi1sZWZ0LFxuICAgICAgY2xhc3M6IG1zLFxuICAgICAgdmFsdWVzOiBtYXAtbWVyZ2UoJHNwYWNlcnMsIChhdXRvOiBhdXRvKSlcbiAgICApLFxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiB1dGlsaXRpZXNcbiAgICBcIm5lZ2F0aXZlLW1hcmdpblwiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJvcGVydHk6IG1hcmdpbixcbiAgICAgIGNsYXNzOiBtLFxuICAgICAgdmFsdWVzOiAkbmVnYXRpdmUtc3BhY2Vyc1xuICAgICksXG4gICAgXCJuZWdhdGl2ZS1tYXJnaW4teFwiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJvcGVydHk6IG1hcmdpbi1yaWdodCBtYXJnaW4tbGVmdCxcbiAgICAgIGNsYXNzOiBteCxcbiAgICAgIHZhbHVlczogJG5lZ2F0aXZlLXNwYWNlcnNcbiAgICApLFxuICAgIFwibmVnYXRpdmUtbWFyZ2luLXlcIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBtYXJnaW4tdG9wIG1hcmdpbi1ib3R0b20sXG4gICAgICBjbGFzczogbXksXG4gICAgICB2YWx1ZXM6ICRuZWdhdGl2ZS1zcGFjZXJzXG4gICAgKSxcbiAgICBcIm5lZ2F0aXZlLW1hcmdpbi10b3BcIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBtYXJnaW4tdG9wLFxuICAgICAgY2xhc3M6IG10LFxuICAgICAgdmFsdWVzOiAkbmVnYXRpdmUtc3BhY2Vyc1xuICAgICksXG4gICAgXCJuZWdhdGl2ZS1tYXJnaW4tZW5kXCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogbWFyZ2luLXJpZ2h0LFxuICAgICAgY2xhc3M6IG1lLFxuICAgICAgdmFsdWVzOiAkbmVnYXRpdmUtc3BhY2Vyc1xuICAgICksXG4gICAgXCJuZWdhdGl2ZS1tYXJnaW4tYm90dG9tXCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogbWFyZ2luLWJvdHRvbSxcbiAgICAgIGNsYXNzOiBtYixcbiAgICAgIHZhbHVlczogJG5lZ2F0aXZlLXNwYWNlcnNcbiAgICApLFxuICAgIFwibmVnYXRpdmUtbWFyZ2luLXN0YXJ0XCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogbWFyZ2luLWxlZnQsXG4gICAgICBjbGFzczogbXMsXG4gICAgICB2YWx1ZXM6ICRuZWdhdGl2ZS1zcGFjZXJzXG4gICAgKSxcbiAgICAvLyBQYWRkaW5nIHV0aWxpdGllc1xuICAgIFwicGFkZGluZ1wiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJvcGVydHk6IHBhZGRpbmcsXG4gICAgICBjbGFzczogcCxcbiAgICAgIHZhbHVlczogJHNwYWNlcnNcbiAgICApLFxuICAgIFwicGFkZGluZy14XCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogcGFkZGluZy1yaWdodCBwYWRkaW5nLWxlZnQsXG4gICAgICBjbGFzczogcHgsXG4gICAgICB2YWx1ZXM6ICRzcGFjZXJzXG4gICAgKSxcbiAgICBcInBhZGRpbmcteVwiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJvcGVydHk6IHBhZGRpbmctdG9wIHBhZGRpbmctYm90dG9tLFxuICAgICAgY2xhc3M6IHB5LFxuICAgICAgdmFsdWVzOiAkc3BhY2Vyc1xuICAgICksXG4gICAgXCJwYWRkaW5nLXRvcFwiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJvcGVydHk6IHBhZGRpbmctdG9wLFxuICAgICAgY2xhc3M6IHB0LFxuICAgICAgdmFsdWVzOiAkc3BhY2Vyc1xuICAgICksXG4gICAgXCJwYWRkaW5nLWVuZFwiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJvcGVydHk6IHBhZGRpbmctcmlnaHQsXG4gICAgICBjbGFzczogcGUsXG4gICAgICB2YWx1ZXM6ICRzcGFjZXJzXG4gICAgKSxcbiAgICBcInBhZGRpbmctYm90dG9tXCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogcGFkZGluZy1ib3R0b20sXG4gICAgICBjbGFzczogcGIsXG4gICAgICB2YWx1ZXM6ICRzcGFjZXJzXG4gICAgKSxcbiAgICBcInBhZGRpbmctc3RhcnRcIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBwYWRkaW5nLWxlZnQsXG4gICAgICBjbGFzczogcHMsXG4gICAgICB2YWx1ZXM6ICRzcGFjZXJzXG4gICAgKSxcbiAgICAvLyBHYXAgdXRpbGl0eVxuICAgIFwiZ2FwXCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogZ2FwLFxuICAgICAgY2xhc3M6IGdhcCxcbiAgICAgIHZhbHVlczogJHNwYWNlcnNcbiAgICApLFxuICAgIFwicm93LWdhcFwiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJvcGVydHk6IHJvdy1nYXAsXG4gICAgICBjbGFzczogcm93LWdhcCxcbiAgICAgIHZhbHVlczogJHNwYWNlcnNcbiAgICApLFxuICAgIFwiY29sdW1uLWdhcFwiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJvcGVydHk6IGNvbHVtbi1nYXAsXG4gICAgICBjbGFzczogY29sdW1uLWdhcCxcbiAgICAgIHZhbHVlczogJHNwYWNlcnNcbiAgICApLFxuICAgIC8vIHNjc3MtZG9jcy1lbmQgdXRpbHMtc3BhY2luZ1xuICAgIC8vIFRleHRcbiAgICAvLyBzY3NzLWRvY3Mtc3RhcnQgdXRpbHMtdGV4dFxuICAgIFwiZm9udC1mYW1pbHlcIjogKFxuICAgICAgcHJvcGVydHk6IGZvbnQtZmFtaWx5LFxuICAgICAgY2xhc3M6IGZvbnQsXG4gICAgICB2YWx1ZXM6IChtb25vc3BhY2U6IHZhcigtLSN7JHByZWZpeH1mb250LW1vbm9zcGFjZSkpXG4gICAgKSxcbiAgICBcImZvbnQtc2l6ZVwiOiAoXG4gICAgICByZnM6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogZm9udC1zaXplLFxuICAgICAgY2xhc3M6IGZzLFxuICAgICAgdmFsdWVzOiAkZm9udC1zaXplc1xuICAgICksXG4gICAgXCJmb250LXN0eWxlXCI6IChcbiAgICAgIHByb3BlcnR5OiBmb250LXN0eWxlLFxuICAgICAgY2xhc3M6IGZzdCxcbiAgICAgIHZhbHVlczogaXRhbGljIG5vcm1hbFxuICAgICksXG4gICAgXCJmb250LXdlaWdodFwiOiAoXG4gICAgICBwcm9wZXJ0eTogZm9udC13ZWlnaHQsXG4gICAgICBjbGFzczogZncsXG4gICAgICB2YWx1ZXM6IChcbiAgICAgICAgbGlnaHRlcjogJGZvbnQtd2VpZ2h0LWxpZ2h0ZXIsXG4gICAgICAgIGxpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQsXG4gICAgICAgIG5vcm1hbDogJGZvbnQtd2VpZ2h0LW5vcm1hbCxcbiAgICAgICAgbWVkaXVtOiAkZm9udC13ZWlnaHQtbWVkaXVtLFxuICAgICAgICBzZW1pYm9sZDogJGZvbnQtd2VpZ2h0LXNlbWlib2xkLFxuICAgICAgICBib2xkOiAkZm9udC13ZWlnaHQtYm9sZCxcbiAgICAgICAgYm9sZGVyOiAkZm9udC13ZWlnaHQtYm9sZGVyXG4gICAgICApXG4gICAgKSxcbiAgICBcImxpbmUtaGVpZ2h0XCI6IChcbiAgICAgIHByb3BlcnR5OiBsaW5lLWhlaWdodCxcbiAgICAgIGNsYXNzOiBsaCxcbiAgICAgIHZhbHVlczogKFxuICAgICAgICAxOiAxLFxuICAgICAgICBzbTogJGxpbmUtaGVpZ2h0LXNtLFxuICAgICAgICBiYXNlOiAkbGluZS1oZWlnaHQtYmFzZSxcbiAgICAgICAgbGc6ICRsaW5lLWhlaWdodC1sZyxcbiAgICAgIClcbiAgICApLFxuICAgIFwidGV4dC1hbGlnblwiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJvcGVydHk6IHRleHQtYWxpZ24sXG4gICAgICBjbGFzczogdGV4dCxcbiAgICAgIHZhbHVlczogKFxuICAgICAgICBzdGFydDogbGVmdCxcbiAgICAgICAgZW5kOiByaWdodCxcbiAgICAgICAgY2VudGVyOiBjZW50ZXIsXG4gICAgICApXG4gICAgKSxcbiAgICBcInRleHQtZGVjb3JhdGlvblwiOiAoXG4gICAgICBwcm9wZXJ0eTogdGV4dC1kZWNvcmF0aW9uLFxuICAgICAgdmFsdWVzOiBub25lIHVuZGVybGluZSBsaW5lLXRocm91Z2hcbiAgICApLFxuICAgIFwidGV4dC10cmFuc2Zvcm1cIjogKFxuICAgICAgcHJvcGVydHk6IHRleHQtdHJhbnNmb3JtLFxuICAgICAgY2xhc3M6IHRleHQsXG4gICAgICB2YWx1ZXM6IGxvd2VyY2FzZSB1cHBlcmNhc2UgY2FwaXRhbGl6ZVxuICAgICksXG4gICAgXCJ3aGl0ZS1zcGFjZVwiOiAoXG4gICAgICBwcm9wZXJ0eTogd2hpdGUtc3BhY2UsXG4gICAgICBjbGFzczogdGV4dCxcbiAgICAgIHZhbHVlczogKFxuICAgICAgICB3cmFwOiBub3JtYWwsXG4gICAgICAgIG5vd3JhcDogbm93cmFwLFxuICAgICAgKVxuICAgICksXG4gICAgXCJ3b3JkLXdyYXBcIjogKFxuICAgICAgcHJvcGVydHk6IHdvcmQtd3JhcCB3b3JkLWJyZWFrLFxuICAgICAgY2xhc3M6IHRleHQsXG4gICAgICB2YWx1ZXM6IChicmVhazogYnJlYWstd29yZCksXG4gICAgICBydGw6IGZhbHNlXG4gICAgKSxcbiAgICAvLyBzY3NzLWRvY3MtZW5kIHV0aWxzLXRleHRcbiAgICAvLyBzY3NzLWRvY3Mtc3RhcnQgdXRpbHMtY29sb3JcbiAgICBcImNvbG9yXCI6IChcbiAgICAgIHByb3BlcnR5OiBjb2xvcixcbiAgICAgIGNsYXNzOiB0ZXh0LFxuICAgICAgbG9jYWwtdmFyczogKFxuICAgICAgICBcInRleHQtb3BhY2l0eVwiOiAxXG4gICAgICApLFxuICAgICAgdmFsdWVzOiBtYXAtbWVyZ2UoXG4gICAgICAgICR1dGlsaXRpZXMtdGV4dC1jb2xvcnMsXG4gICAgICAgIChcbiAgICAgICAgICBcIm11dGVkXCI6IHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpLCAvLyBkZXByZWNhdGVkXG4gICAgICAgICAgXCJibGFjay01MFwiOiByZ2JhKCRibGFjaywgLjUpLCAvLyBkZXByZWNhdGVkXG4gICAgICAgICAgXCJ3aGl0ZS01MFwiOiByZ2JhKCR3aGl0ZSwgLjUpLCAvLyBkZXByZWNhdGVkXG4gICAgICAgICAgXCJib2R5LXNlY29uZGFyeVwiOiB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSxcbiAgICAgICAgICBcImJvZHktdGVydGlhcnlcIjogdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yKSxcbiAgICAgICAgICBcImJvZHktZW1waGFzaXNcIjogdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKSxcbiAgICAgICAgICBcInJlc2V0XCI6IGluaGVyaXQsXG4gICAgICAgIClcbiAgICAgIClcbiAgICApLFxuICAgIFwidGV4dC1vcGFjaXR5XCI6IChcbiAgICAgIGNzcy12YXI6IHRydWUsXG4gICAgICBjbGFzczogdGV4dC1vcGFjaXR5LFxuICAgICAgdmFsdWVzOiAoXG4gICAgICAgIDI1OiAuMjUsXG4gICAgICAgIDUwOiAuNSxcbiAgICAgICAgNzU6IC43NSxcbiAgICAgICAgMTAwOiAxXG4gICAgICApXG4gICAgKSxcbiAgICBcInRleHQtY29sb3JcIjogKFxuICAgICAgcHJvcGVydHk6IGNvbG9yLFxuICAgICAgY2xhc3M6IHRleHQsXG4gICAgICB2YWx1ZXM6ICR1dGlsaXRpZXMtdGV4dC1lbXBoYXNpcy1jb2xvcnNcbiAgICApLFxuICAgIC8vIHNjc3MtZG9jcy1lbmQgdXRpbHMtY29sb3JcbiAgICAvLyBzY3NzLWRvY3Mtc3RhcnQgdXRpbHMtbGlua3NcbiAgICBcImxpbmstb3BhY2l0eVwiOiAoXG4gICAgICBjc3MtdmFyOiB0cnVlLFxuICAgICAgY2xhc3M6IGxpbmstb3BhY2l0eSxcbiAgICAgIHN0YXRlOiBob3ZlcixcbiAgICAgIHZhbHVlczogKFxuICAgICAgICAxMDogLjEsXG4gICAgICAgIDI1OiAuMjUsXG4gICAgICAgIDUwOiAuNSxcbiAgICAgICAgNzU6IC43NSxcbiAgICAgICAgMTAwOiAxXG4gICAgICApXG4gICAgKSxcbiAgICBcImxpbmstb2Zmc2V0XCI6IChcbiAgICAgIHByb3BlcnR5OiB0ZXh0LXVuZGVybGluZS1vZmZzZXQsXG4gICAgICBjbGFzczogbGluay1vZmZzZXQsXG4gICAgICBzdGF0ZTogaG92ZXIsXG4gICAgICB2YWx1ZXM6IChcbiAgICAgICAgMTogLjEyNWVtLFxuICAgICAgICAyOiAuMjVlbSxcbiAgICAgICAgMzogLjM3NWVtLFxuICAgICAgKVxuICAgICksXG4gICAgXCJsaW5rLXVuZGVybGluZVwiOiAoXG4gICAgICBwcm9wZXJ0eTogdGV4dC1kZWNvcmF0aW9uLWNvbG9yLFxuICAgICAgY2xhc3M6IGxpbmstdW5kZXJsaW5lLFxuICAgICAgbG9jYWwtdmFyczogKFxuICAgICAgICBcImxpbmstdW5kZXJsaW5lLW9wYWNpdHlcIjogMVxuICAgICAgKSxcbiAgICAgIHZhbHVlczogbWFwLW1lcmdlKFxuICAgICAgICAkdXRpbGl0aWVzLWxpbmtzLXVuZGVybGluZSxcbiAgICAgICAgKFxuICAgICAgICAgIG51bGw6IHJnYmEodmFyKC0tI3skcHJlZml4fWxpbmstY29sb3ItcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKSxcbiAgICAgICAgKVxuICAgICAgKVxuICAgICksXG4gICAgXCJsaW5rLXVuZGVybGluZS1vcGFjaXR5XCI6IChcbiAgICAgIGNzcy12YXI6IHRydWUsXG4gICAgICBjbGFzczogbGluay11bmRlcmxpbmUtb3BhY2l0eSxcbiAgICAgIHN0YXRlOiBob3ZlcixcbiAgICAgIHZhbHVlczogKFxuICAgICAgICAwOiAwLFxuICAgICAgICAxMDogLjEsXG4gICAgICAgIDI1OiAuMjUsXG4gICAgICAgIDUwOiAuNSxcbiAgICAgICAgNzU6IC43NSxcbiAgICAgICAgMTAwOiAxXG4gICAgICApLFxuICAgICksXG4gICAgLy8gc2Nzcy1kb2NzLWVuZCB1dGlscy1saW5rc1xuICAgIC8vIHNjc3MtZG9jcy1zdGFydCB1dGlscy1iZy1jb2xvclxuICAgIFwiYmFja2dyb3VuZC1jb2xvclwiOiAoXG4gICAgICBwcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvcixcbiAgICAgIGNsYXNzOiBiZyxcbiAgICAgIGxvY2FsLXZhcnM6IChcbiAgICAgICAgXCJiZy1vcGFjaXR5XCI6IDFcbiAgICAgICksXG4gICAgICB2YWx1ZXM6IG1hcC1tZXJnZShcbiAgICAgICAgJHV0aWxpdGllcy1iZy1jb2xvcnMsXG4gICAgICAgIChcbiAgICAgICAgICBcInRyYW5zcGFyZW50XCI6IHRyYW5zcGFyZW50LFxuICAgICAgICAgIFwiYm9keS1zZWNvbmRhcnlcIjogcmdiYSh2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnLXJnYiksIHZhcigtLSN7JHByZWZpeH1iZy1vcGFjaXR5KSksXG4gICAgICAgICAgXCJib2R5LXRlcnRpYXJ5XCI6IHJnYmEodmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnLXJnYiksIHZhcigtLSN7JHByZWZpeH1iZy1vcGFjaXR5KSksXG4gICAgICAgIClcbiAgICAgIClcbiAgICApLFxuICAgIFwiYmctb3BhY2l0eVwiOiAoXG4gICAgICBjc3MtdmFyOiB0cnVlLFxuICAgICAgY2xhc3M6IGJnLW9wYWNpdHksXG4gICAgICB2YWx1ZXM6IChcbiAgICAgICAgMTA6IC4xLFxuICAgICAgICAyNTogLjI1LFxuICAgICAgICA1MDogLjUsXG4gICAgICAgIDc1OiAuNzUsXG4gICAgICAgIDEwMDogMVxuICAgICAgKVxuICAgICksXG4gICAgXCJzdWJ0bGUtYmFja2dyb3VuZC1jb2xvclwiOiAoXG4gICAgICBwcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvcixcbiAgICAgIGNsYXNzOiBiZyxcbiAgICAgIHZhbHVlczogJHV0aWxpdGllcy1iZy1zdWJ0bGVcbiAgICApLFxuICAgIC8vIHNjc3MtZG9jcy1lbmQgdXRpbHMtYmctY29sb3JcbiAgICBcImdyYWRpZW50XCI6IChcbiAgICAgIHByb3BlcnR5OiBiYWNrZ3JvdW5kLWltYWdlLFxuICAgICAgY2xhc3M6IGJnLFxuICAgICAgdmFsdWVzOiAoZ3JhZGllbnQ6IHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCkpXG4gICAgKSxcbiAgICAvLyBzY3NzLWRvY3Mtc3RhcnQgdXRpbHMtaW50ZXJhY3Rpb25cbiAgICBcInVzZXItc2VsZWN0XCI6IChcbiAgICAgIHByb3BlcnR5OiB1c2VyLXNlbGVjdCxcbiAgICAgIHZhbHVlczogYWxsIGF1dG8gbm9uZVxuICAgICksXG4gICAgXCJwb2ludGVyLWV2ZW50c1wiOiAoXG4gICAgICBwcm9wZXJ0eTogcG9pbnRlci1ldmVudHMsXG4gICAgICBjbGFzczogcGUsXG4gICAgICB2YWx1ZXM6IG5vbmUgYXV0byxcbiAgICApLFxuICAgIC8vIHNjc3MtZG9jcy1lbmQgdXRpbHMtaW50ZXJhY3Rpb25cbiAgICAvLyBzY3NzLWRvY3Mtc3RhcnQgdXRpbHMtYm9yZGVyLXJhZGl1c1xuICAgIFwicm91bmRlZFwiOiAoXG4gICAgICBwcm9wZXJ0eTogYm9yZGVyLXJhZGl1cyxcbiAgICAgIGNsYXNzOiByb3VuZGVkLFxuICAgICAgdmFsdWVzOiAoXG4gICAgICAgIG51bGw6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSxcbiAgICAgICAgMDogMCxcbiAgICAgICAgMTogdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc20pLFxuICAgICAgICAyOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cyksXG4gICAgICAgIDM6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnKSxcbiAgICAgICAgNDogdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMteGwpLFxuICAgICAgICA1OiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy14eGwpLFxuICAgICAgICBjaXJjbGU6IDUwJSxcbiAgICAgICAgcGlsbDogdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtcGlsbClcbiAgICAgIClcbiAgICApLFxuICAgIFwicm91bmRlZC10b3BcIjogKFxuICAgICAgcHJvcGVydHk6IGJvcmRlci10b3AtbGVmdC1yYWRpdXMgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMsXG4gICAgICBjbGFzczogcm91bmRlZC10b3AsXG4gICAgICB2YWx1ZXM6IChcbiAgICAgICAgbnVsbDogdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpLFxuICAgICAgICAwOiAwLFxuICAgICAgICAxOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1zbSksXG4gICAgICAgIDI6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSxcbiAgICAgICAgMzogdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpLFxuICAgICAgICA0OiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy14bCksXG4gICAgICAgIDU6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXh4bCksXG4gICAgICAgIGNpcmNsZTogNTAlLFxuICAgICAgICBwaWxsOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1waWxsKVxuICAgICAgKVxuICAgICksXG4gICAgXCJyb3VuZGVkLWVuZFwiOiAoXG4gICAgICBwcm9wZXJ0eTogYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMsXG4gICAgICBjbGFzczogcm91bmRlZC1lbmQsXG4gICAgICB2YWx1ZXM6IChcbiAgICAgICAgbnVsbDogdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpLFxuICAgICAgICAwOiAwLFxuICAgICAgICAxOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1zbSksXG4gICAgICAgIDI6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSxcbiAgICAgICAgMzogdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpLFxuICAgICAgICA0OiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy14bCksXG4gICAgICAgIDU6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXh4bCksXG4gICAgICAgIGNpcmNsZTogNTAlLFxuICAgICAgICBwaWxsOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1waWxsKVxuICAgICAgKVxuICAgICksXG4gICAgXCJyb3VuZGVkLWJvdHRvbVwiOiAoXG4gICAgICBwcm9wZXJ0eTogYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cyxcbiAgICAgIGNsYXNzOiByb3VuZGVkLWJvdHRvbSxcbiAgICAgIHZhbHVlczogKFxuICAgICAgICBudWxsOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cyksXG4gICAgICAgIDA6IDAsXG4gICAgICAgIDE6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXNtKSxcbiAgICAgICAgMjogdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpLFxuICAgICAgICAzOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZyksXG4gICAgICAgIDQ6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXhsKSxcbiAgICAgICAgNTogdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMteHhsKSxcbiAgICAgICAgY2lyY2xlOiA1MCUsXG4gICAgICAgIHBpbGw6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXBpbGwpXG4gICAgICApXG4gICAgKSxcbiAgICBcInJvdW5kZWQtc3RhcnRcIjogKFxuICAgICAgcHJvcGVydHk6IGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cyxcbiAgICAgIGNsYXNzOiByb3VuZGVkLXN0YXJ0LFxuICAgICAgdmFsdWVzOiAoXG4gICAgICAgIG51bGw6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSxcbiAgICAgICAgMDogMCxcbiAgICAgICAgMTogdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc20pLFxuICAgICAgICAyOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cyksXG4gICAgICAgIDM6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnKSxcbiAgICAgICAgNDogdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMteGwpLFxuICAgICAgICA1OiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy14eGwpLFxuICAgICAgICBjaXJjbGU6IDUwJSxcbiAgICAgICAgcGlsbDogdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtcGlsbClcbiAgICAgIClcbiAgICApLFxuICAgIC8vIHNjc3MtZG9jcy1lbmQgdXRpbHMtYm9yZGVyLXJhZGl1c1xuICAgIC8vIHNjc3MtZG9jcy1zdGFydCB1dGlscy12aXNpYmlsaXR5XG4gICAgXCJ2aXNpYmlsaXR5XCI6IChcbiAgICAgIHByb3BlcnR5OiB2aXNpYmlsaXR5LFxuICAgICAgY2xhc3M6IG51bGwsXG4gICAgICB2YWx1ZXM6IChcbiAgICAgICAgdmlzaWJsZTogdmlzaWJsZSxcbiAgICAgICAgaW52aXNpYmxlOiBoaWRkZW4sXG4gICAgICApXG4gICAgKSxcbiAgICAvLyBzY3NzLWRvY3MtZW5kIHV0aWxzLXZpc2liaWxpdHlcbiAgICAvLyBzY3NzLWRvY3Mtc3RhcnQgdXRpbHMtemluZGV4XG4gICAgXCJ6LWluZGV4XCI6IChcbiAgICAgIHByb3BlcnR5OiB6LWluZGV4LFxuICAgICAgY2xhc3M6IHosXG4gICAgICB2YWx1ZXM6ICR6aW5kZXgtbGV2ZWxzLFxuICAgIClcbiAgICAvLyBzY3NzLWRvY3MtZW5kIHV0aWxzLXppbmRleFxuICApLFxuICAkdXRpbGl0aWVzXG4pO1xuIiwKCQkiOnJvb3QsXG5bZGF0YS1icy10aGVtZT1cImxpZ2h0XCJdIHtcbiAgLy8gTm90ZTogQ3VzdG9tIHZhcmlhYmxlIHZhbHVlcyBvbmx5IHN1cHBvcnQgU2Fzc1NjcmlwdCBpbnNpZGUgYCN7fWAuXG5cbiAgLy8gQ29sb3JzXG4gIC8vXG4gIC8vIEdlbmVyYXRlIHBhbGV0dGVzIGZvciBmdWxsIGNvbG9ycywgZ3JheXMsIGFuZCB0aGVtZSBjb2xvcnMuXG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGNvbG9ycyB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkZ3JheXMge1xuICAgIC0tI3skcHJlZml4fWdyYXktI3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtcmdiIHtcbiAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tcmdiOiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLXRleHQge1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS10ZXh0LWVtcGhhc2lzOiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLWJnLXN1YnRsZSB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LWJnLXN1YnRsZTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy1ib3JkZXItc3VidGxlIHtcbiAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tYm9yZGVyLXN1YnRsZTogI3skdmFsdWV9O1xuICB9XG5cbiAgLS0jeyRwcmVmaXh9d2hpdGUtcmdiOiAje3RvLXJnYigkd2hpdGUpfTtcbiAgLS0jeyRwcmVmaXh9YmxhY2stcmdiOiAje3RvLXJnYigkYmxhY2spfTtcblxuICAvLyBGb250c1xuXG4gIC8vIE5vdGU6IFVzZSBgaW5zcGVjdGAgZm9yIGxpc3RzIHNvIHRoYXQgcXVvdGVkIGl0ZW1zIGtlZXAgdGhlIHF1b3Rlcy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3MvaXNzdWVzLzIzODMjaXNzdWVjb21tZW50LTMzNjM0OTE3MlxuICAtLSN7JHByZWZpeH1mb250LXNhbnMtc2VyaWY6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktc2Fucy1zZXJpZil9O1xuICAtLSN7JHByZWZpeH1mb250LW1vbm9zcGFjZTogI3tpbnNwZWN0KCRmb250LWZhbWlseS1tb25vc3BhY2UpfTtcbiAgLS0jeyRwcmVmaXh9Z3JhZGllbnQ6ICN7JGdyYWRpZW50fTtcblxuICAvLyBSb290IGFuZCBib2R5XG4gIC8vIHNjc3MtZG9jcy1zdGFydCByb290LWJvZHktdmFyaWFibGVzXG4gIEBpZiAkZm9udC1zaXplLXJvb3QgIT0gbnVsbCB7XG4gICAgLS0jeyRwcmVmaXh9cm9vdC1mb250LXNpemU6ICN7JGZvbnQtc2l6ZS1yb290fTtcbiAgfVxuICAtLSN7JHByZWZpeH1ib2R5LWZvbnQtZmFtaWx5OiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LWJhc2UpfTtcbiAgQGluY2x1ZGUgcmZzKCRmb250LXNpemUtYmFzZSwgLS0jeyRwcmVmaXh9Ym9keS1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1ib2R5LWZvbnQtd2VpZ2h0OiAjeyRmb250LXdlaWdodC1iYXNlfTtcbiAgLS0jeyRwcmVmaXh9Ym9keS1saW5lLWhlaWdodDogI3skbGluZS1oZWlnaHQtYmFzZX07XG4gIEBpZiAkYm9keS10ZXh0LWFsaWduICE9IG51bGwge1xuICAgIC0tI3skcHJlZml4fWJvZHktdGV4dC1hbGlnbjogI3skYm9keS10ZXh0LWFsaWdufTtcbiAgfVxuXG4gIC0tI3skcHJlZml4fWJvZHktY29sb3I6ICN7JGJvZHktY29sb3J9O1xuICAtLSN7JHByZWZpeH1ib2R5LWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktY29sb3IpfTtcbiAgLS0jeyRwcmVmaXh9Ym9keS1iZzogI3skYm9keS1iZ307XG4gIC0tI3skcHJlZml4fWJvZHktYmctcmdiOiAje3RvLXJnYigkYm9keS1iZyl9O1xuXG4gIC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yOiAjeyRib2R5LWVtcGhhc2lzLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS1lbXBoYXNpcy1jb2xvcil9O1xuXG4gIC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcjogI3skYm9keS1zZWNvbmRhcnktY29sb3J9O1xuICAtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS1zZWNvbmRhcnktY29sb3IpfTtcbiAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnOiAjeyRib2R5LXNlY29uZGFyeS1iZ307XG4gIC0tI3skcHJlZml4fXNlY29uZGFyeS1iZy1yZ2I6ICN7dG8tcmdiKCRib2R5LXNlY29uZGFyeS1iZyl9O1xuXG4gIC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yOiAjeyRib2R5LXRlcnRpYXJ5LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dGVydGlhcnktY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS10ZXJ0aWFyeS1jb2xvcil9O1xuICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZzogI3skYm9keS10ZXJ0aWFyeS1iZ307XG4gIC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnLXJnYjogI3t0by1yZ2IoJGJvZHktdGVydGlhcnktYmcpfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCByb290LWJvZHktdmFyaWFibGVzXG5cbiAgLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcjogI3skaGVhZGluZ3MtY29sb3J9O1xuXG4gIC0tI3skcHJlZml4fWxpbmstY29sb3I6ICN7JGxpbmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1saW5rLWNvbG9yLXJnYjogI3t0by1yZ2IoJGxpbmstY29sb3IpfTtcbiAgLS0jeyRwcmVmaXh9bGluay1kZWNvcmF0aW9uOiAjeyRsaW5rLWRlY29yYXRpb259O1xuXG4gIC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3I6ICN7JGxpbmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yLXJnYjogI3t0by1yZ2IoJGxpbmstaG92ZXItY29sb3IpfTtcblxuICBAaWYgJGxpbmstaG92ZXItZGVjb3JhdGlvbiAhPSBudWxsIHtcbiAgICAtLSN7JHByZWZpeH1saW5rLWhvdmVyLWRlY29yYXRpb246ICN7JGxpbmstaG92ZXItZGVjb3JhdGlvbn07XG4gIH1cblxuICAtLSN7JHByZWZpeH1jb2RlLWNvbG9yOiAjeyRjb2RlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9aGlnaGxpZ2h0LWJnOiAjeyRtYXJrLWJnfTtcblxuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcm9vdC1ib3JkZXItdmFyXG4gIC0tI3skcHJlZml4fWJvcmRlci13aWR0aDogI3skYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXN0eWxlOiAjeyRib3JkZXItc3R5bGV9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItY29sb3I6ICN7JGJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudDogI3skYm9yZGVyLWNvbG9yLXRyYW5zbHVjZW50fTtcblxuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzOiAjeyRib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1zbTogI3skYm9yZGVyLXJhZGl1cy1zbX07XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGc6ICN7JGJvcmRlci1yYWRpdXMtbGd9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXhsOiAjeyRib3JkZXItcmFkaXVzLXhsfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy14eGw6ICN7JGJvcmRlci1yYWRpdXMteHhsfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy0yeGw6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXh4bCk7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy4wIGZvciBjb25zaXN0ZW5jeVxuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXBpbGw6ICN7JGJvcmRlci1yYWRpdXMtcGlsbH07XG4gIC8vIHNjc3MtZG9jcy1lbmQgcm9vdC1ib3JkZXItdmFyXG5cbiAgLS0jeyRwcmVmaXh9Ym94LXNoYWRvdzogI3skYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWJveC1zaGFkb3ctc206ICN7JGJveC1zaGFkb3ctc219O1xuICAtLSN7JHByZWZpeH1ib3gtc2hhZG93LWxnOiAjeyRib3gtc2hhZG93LWxnfTtcbiAgLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1pbnNldDogI3skYm94LXNoYWRvdy1pbnNldH07XG5cbiAgLy8gRm9jdXMgc3R5bGVzXG4gIC8vIHNjc3MtZG9jcy1zdGFydCByb290LWZvY3VzLXZhcmlhYmxlc1xuICAtLSN7JHByZWZpeH1mb2N1cy1yaW5nLXdpZHRoOiAjeyRmb2N1cy1yaW5nLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy1vcGFjaXR5OiAjeyRmb2N1cy1yaW5nLW9wYWNpdHl9O1xuICAtLSN7JHByZWZpeH1mb2N1cy1yaW5nLWNvbG9yOiAjeyRmb2N1cy1yaW5nLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCByb290LWZvY3VzLXZhcmlhYmxlc1xuXG4gIC8vIHNjc3MtZG9jcy1zdGFydCByb290LWZvcm0tdmFsaWRhdGlvbi12YXJpYWJsZXNcbiAgLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1jb2xvcjogI3skZm9ybS12YWxpZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yOiAjeyRmb3JtLXZhbGlkLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1jb2xvcjogI3skZm9ybS1pbnZhbGlkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Zm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvcjogI3skZm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgcm9vdC1mb3JtLXZhbGlkYXRpb24tdmFyaWFibGVzXG59XG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaywgdHJ1ZSkge1xuICAgIGNvbG9yLXNjaGVtZTogZGFyaztcblxuICAgIC8vIHNjc3MtZG9jcy1zdGFydCByb290LWRhcmstbW9kZS12YXJzXG4gICAgLS0jeyRwcmVmaXh9Ym9keS1jb2xvcjogI3skYm9keS1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1ib2R5LWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktY29sb3ItZGFyayl9O1xuICAgIC0tI3skcHJlZml4fWJvZHktYmc6ICN7JGJvZHktYmctZGFya307XG4gICAgLS0jeyRwcmVmaXh9Ym9keS1iZy1yZ2I6ICN7dG8tcmdiKCRib2R5LWJnLWRhcmspfTtcblxuICAgIC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yOiAjeyRib2R5LWVtcGhhc2lzLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktZW1waGFzaXMtY29sb3ItZGFyayl9O1xuXG4gICAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yOiAjeyRib2R5LXNlY29uZGFyeS1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS1zZWNvbmRhcnktY29sb3ItZGFyayl9O1xuICAgIC0tI3skcHJlZml4fXNlY29uZGFyeS1iZzogI3skYm9keS1zZWNvbmRhcnktYmctZGFya307XG4gICAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnLXJnYjogI3t0by1yZ2IoJGJvZHktc2Vjb25kYXJ5LWJnLWRhcmspfTtcblxuICAgIC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yOiAjeyRib2R5LXRlcnRpYXJ5LWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktdGVydGlhcnktY29sb3ItZGFyayl9O1xuICAgIC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnOiAjeyRib2R5LXRlcnRpYXJ5LWJnLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnLXJnYjogI3t0by1yZ2IoJGJvZHktdGVydGlhcnktYmctZGFyayl9O1xuXG4gICAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy10ZXh0LWRhcmsge1xuICAgICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LXRleHQtZW1waGFzaXM6ICN7JHZhbHVlfTtcbiAgICB9XG5cbiAgICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLWJnLXN1YnRsZS1kYXJrIHtcbiAgICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS1iZy1zdWJ0bGU6ICN7JHZhbHVlfTtcbiAgICB9XG5cbiAgICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLWJvcmRlci1zdWJ0bGUtZGFyayB7XG4gICAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tYm9yZGVyLXN1YnRsZTogI3skdmFsdWV9O1xuICAgIH1cblxuICAgIC0tI3skcHJlZml4fWhlYWRpbmctY29sb3I6ICN7JGhlYWRpbmdzLWNvbG9yLWRhcmt9O1xuXG4gICAgLS0jeyRwcmVmaXh9bGluay1jb2xvcjogI3skbGluay1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yOiAjeyRsaW5rLWhvdmVyLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWxpbmstY29sb3ItcmdiOiAje3RvLXJnYigkbGluay1jb2xvci1kYXJrKX07XG4gICAgLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvci1yZ2I6ICN7dG8tcmdiKCRsaW5rLWhvdmVyLWNvbG9yLWRhcmspfTtcblxuICAgIC0tI3skcHJlZml4fWNvZGUtY29sb3I6ICN7JGNvZGUtY29sb3ItZGFya307XG5cbiAgICAtLSN7JHByZWZpeH1ib3JkZXItY29sb3I6ICN7JGJvcmRlci1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQ6ICN7JGJvcmRlci1jb2xvci10cmFuc2x1Y2VudC1kYXJrfTtcblxuICAgIC0tI3skcHJlZml4fWZvcm0tdmFsaWQtY29sb3I6ICN7JGZvcm0tdmFsaWQtY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1ib3JkZXItY29sb3I6ICN7JGZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1jb2xvcjogI3skZm9ybS1pbnZhbGlkLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1ib3JkZXItY29sb3I6ICN7JGZvcm0taW52YWxpZC1ib3JkZXItY29sb3ItZGFya307XG4gICAgLy8gc2Nzcy1kb2NzLWVuZCByb290LWRhcmstbW9kZS12YXJzXG4gIH1cbn1cbiIsCgkJIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlLCBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4XG5cblxuLy8gUmVib290XG4vL1xuLy8gTm9ybWFsaXphdGlvbiBvZiBIVE1MIGVsZW1lbnRzLCBtYW51YWxseSBmb3JrZWQgZnJvbSBOb3JtYWxpemUuY3NzIHRvIHJlbW92ZVxuLy8gc3R5bGVzIHRhcmdldGluZyBpcnJlbGV2YW50IGJyb3dzZXJzIHdoaWxlIGFwcGx5aW5nIG5ldyBzdHlsZXMuXG4vL1xuLy8gTm9ybWFsaXplIGlzIGxpY2Vuc2VkIE1JVC4gaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzc1xuXG5cbi8vIERvY3VtZW50XG4vL1xuLy8gQ2hhbmdlIGZyb20gYGJveC1zaXppbmc6IGNvbnRlbnQtYm94YCBzbyB0aGF0IGB3aWR0aGAgaXMgbm90IGFmZmVjdGVkIGJ5IGBwYWRkaW5nYCBvciBgYm9yZGVyYC5cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuXG4vLyBSb290XG4vL1xuLy8gQWJpbGl0eSB0byB0aGUgdmFsdWUgb2YgdGhlIHJvb3QgZm9udCBzaXplcywgYWZmZWN0aW5nIHRoZSB2YWx1ZSBvZiBgcmVtYC5cbi8vIG51bGwgYnkgZGVmYXVsdCwgdGh1cyBub3RoaW5nIGlzIGdlbmVyYXRlZC5cblxuOnJvb3Qge1xuICBAaWYgJGZvbnQtc2l6ZS1yb290ICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9cm9vdC1mb250LXNpemUpKTtcbiAgfVxuXG4gIEBpZiAkZW5hYmxlLXNtb290aC1zY3JvbGwge1xuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICAgICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQm9keVxuLy9cbi8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbi8vIDIuIEFzIGEgYmVzdCBwcmFjdGljZSwgYXBwbHkgYSBkZWZhdWx0IGBiYWNrZ3JvdW5kLWNvbG9yYC5cbi8vIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuLy8gNC4gQ2hhbmdlIHRoZSBkZWZhdWx0IHRhcCBoaWdobGlnaHQgdG8gYmUgY29tcGxldGVseSB0cmFuc3BhcmVudCBpbiBpT1MuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCByZWJvb3QtYm9keS1ydWxlc1xuYm9keSB7XG4gIG1hcmdpbjogMDsgLy8gMVxuICBmb250LWZhbWlseTogdmFyKC0tI3skcHJlZml4fWJvZHktZm9udC1mYW1pbHkpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fWJvZHktZm9udC1zaXplKSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1mb250LXdlaWdodCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1saW5lLWhlaWdodCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcik7XG4gIHRleHQtYWxpZ246IHZhcigtLSN7JHByZWZpeH1ib2R5LXRleHQtYWxpZ24pO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZyk7IC8vIDJcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAzXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgkYmxhY2ssIDApOyAvLyA0XG59XG4vLyBzY3NzLWRvY3MtZW5kIHJlYm9vdC1ib2R5LXJ1bGVzXG5cblxuLy8gQ29udGVudCBncm91cGluZ1xuLy9cbi8vIDEuIFJlc2V0IEZpcmVmb3gncyBncmF5IGNvbG9yXG5cbmhyIHtcbiAgbWFyZ2luOiAkaHItbWFyZ2luLXkgMDtcbiAgY29sb3I6ICRoci1jb2xvcjsgLy8gMVxuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6ICRoci1ib3JkZXItd2lkdGggc29saWQgJGhyLWJvcmRlci1jb2xvcjtcbiAgb3BhY2l0eTogJGhyLW9wYWNpdHk7XG59XG5cblxuLy8gVHlwb2dyYXBoeVxuLy9cbi8vIDEuIFJlbW92ZSB0b3AgbWFyZ2lucyBmcm9tIGhlYWRpbmdzXG4vLyAgICBCeSBkZWZhdWx0LCBgPGgxPmAtYDxoNj5gIGFsbCByZWNlaXZlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuIFdlIG51a2UgdGhlIHRvcFxuLy8gICAgbWFyZ2luIGZvciBlYXNpZXIgY29udHJvbCB3aXRoaW4gdHlwZSBzY2FsZXMgYXMgaXQgYXZvaWRzIG1hcmdpbiBjb2xsYXBzaW5nLlxuXG4laGVhZGluZyB7XG4gIG1hcmdpbi10b3A6IDA7IC8vIDFcbiAgbWFyZ2luLWJvdHRvbTogJGhlYWRpbmdzLW1hcmdpbi1ib3R0b207XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gIGZvbnQtc3R5bGU6ICRoZWFkaW5ncy1mb250LXN0eWxlO1xuICBmb250LXdlaWdodDogJGhlYWRpbmdzLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWhlYWRpbmctY29sb3IpO1xufVxuXG5oMSB7XG4gIEBleHRlbmQgJWhlYWRpbmc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTtcbn1cblxuaDIge1xuICBAZXh0ZW5kICVoZWFkaW5nO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7XG59XG5cbmgzIHtcbiAgQGV4dGVuZCAlaGVhZGluZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoMy1mb250LXNpemUpO1xufVxuXG5oNCB7XG4gIEBleHRlbmQgJWhlYWRpbmc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDQtZm9udC1zaXplKTtcbn1cblxuaDUge1xuICBAZXh0ZW5kICVoZWFkaW5nO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7XG59XG5cbmg2IHtcbiAgQGV4dGVuZCAlaGVhZGluZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoNi1mb250LXNpemUpO1xufVxuXG5cbi8vIFJlc2V0IG1hcmdpbnMgb24gcGFyYWdyYXBoc1xuLy9cbi8vIFNpbWlsYXJseSwgdGhlIHRvcCBtYXJnaW4gb24gYDxwPmBzIGdldCByZXNldC4gSG93ZXZlciwgd2UgYWxzbyByZXNldCB0aGVcbi8vIGJvdHRvbSBtYXJnaW4gdG8gdXNlIGByZW1gIHVuaXRzIGluc3RlYWQgb2YgYGVtYC5cblxucCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbn1cblxuXG4vLyBBYmJyZXZpYXRpb25zXG4vL1xuLy8gMS4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIE9wZXJhLCBhbmQgU2FmYXJpLlxuLy8gMi4gQWRkIGV4cGxpY2l0IGN1cnNvciB0byBpbmRpY2F0ZSBjaGFuZ2VkIGJlaGF2aW9yLlxuLy8gMy4gUHJldmVudCB0aGUgdGV4dC1kZWNvcmF0aW9uIHRvIGJlIHNraXBwZWQuXG5cbmFiYnJbdGl0bGVdIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAxXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAxXG4gIC1tb3otdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAxXG4gIC1tcy10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDFcbiAgLW8tdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAxXG4gIGN1cnNvcjogaGVscDsgLy8gMlxuICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7IC8vIDNcbn1cblxuXG4vLyBBZGRyZXNzXG5cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5cbi8vIExpc3RzXG5cbm9sLFxudWwge1xuICBwYWRkaW5nLWxlZnQ6IDJyZW07XG59XG5cbm9sLFxudWwsXG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbm9sIG9sLFxudWwgdWwsXG5vbCB1bCxcbnVsIG9sIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuZHQge1xuICBmb250LXdlaWdodDogJGR0LWZvbnQtd2VpZ2h0O1xufVxuXG4vLyAxLiBVbmRvIGJyb3dzZXIgZGVmYXVsdFxuXG5kZCB7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBtYXJnaW4tbGVmdDogMDsgLy8gMVxufVxuXG5cbi8vIEJsb2NrcXVvdGVcblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6ICgkYmxvY2txdW90ZS1mb250LXNpemUgLyAyKSAkYmxvY2txdW90ZS1mb250LXNpemU7XG4gIGJvcmRlci1sZWZ0OiAkYmxvY2txdW90ZS1ib3JkZXItd2lkdGggc29saWQgJGJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yO1xuICBwLCB1bCwgb2wge1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFN0cm9uZ1xuLy9cbi8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmlcblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZGVyO1xufVxuXG5cbi8vIFNtYWxsXG4vL1xuLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnNcblxuc21hbGwge1xuICBAaW5jbHVkZSBmb250LXNpemUoJHNtYWxsLWZvbnQtc2l6ZSk7XG59XG5cblxuLy8gTWFya1xuXG5tYXJrIHtcbiAgcGFkZGluZzogJG1hcmstcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWhpZ2hsaWdodC1iZyk7XG59XG5cblxuLy8gU3ViIGFuZCBTdXBcbi8vXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbi8vIGFsbCBicm93c2Vycy5cblxuc3ViLFxuc3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHN1Yi1zdXAtZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHsgYm90dG9tOiAtLjI1ZW07IH1cbnN1cCB7IHRvcDogLS41ZW07IH1cblxuXG4vLyBMaW5rc1xuXG5hIHtcbiAgY29sb3I6IHJnYmEodmFyKC0tI3skcHJlZml4fWxpbmstY29sb3ItcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstb3BhY2l0eSwgMSkpO1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuICAtbW96LXRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcbiAgLW1zLXRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcbiAgLW8tdGV4dC1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuXG4gICY6aG92ZXIge1xuICAgIC0tI3skcHJlZml4fWxpbmstY29sb3ItcmdiOiB2YXIoLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvci1yZ2IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgICAtbW96LXRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgICAtbXMtdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICAgIC1vLXRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxufVxuXG4vLyBBbmQgdW5kbyB0aGVzZSBzdHlsZXMgZm9yIHBsYWNlaG9sZGVyIGxpbmtzL25hbWVkIGFuY2hvcnMgKHdpdGhvdXQgaHJlZikuXG4vLyBJdCB3b3VsZCBiZSBtb3JlIHN0cmFpZ2h0Zm9yd2FyZCB0byBqdXN0IHVzZSBhW2hyZWZdIGluIHByZXZpb3VzIGJsb2NrLCBidXQgdGhhdFxuLy8gY2F1c2VzIHNwZWNpZmljaXR5IGlzc3VlcyBpbiBtYW55IG90aGVyIHN0eWxlcyB0aGF0IGFyZSB0b28gY29tcGxleCB0byBmaXguXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTQwMlxuXG5hOm5vdChbaHJlZl0pOm5vdChbY2xhc3NdKSB7XG4gICYsXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG5cbi8vIENvZGVcblxucHJlLFxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWNvZGU7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxZW0pOyAvLyBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG59XG5cbi8vIDEuIFJlbW92ZSBicm93c2VyIGRlZmF1bHQgdG9wIG1hcmdpblxuLy8gMi4gUmVzZXQgYnJvd3NlciBkZWZhdWx0IG9mIGAxZW1gIHRvIHVzZSBgcmVtYHNcbi8vIDMuIERvbid0IGFsbG93IGNvbnRlbnQgdG8gYnJlYWsgb3V0c2lkZVxuXG5wcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMDsgLy8gMVxuICBtYXJnaW4tYm90dG9tOiAxcmVtOyAvLyAyXG4gIG92ZXJmbG93OiBhdXRvOyAvLyAzXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogJHByZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByZS1iZztcbiAgcGFkZGluZzogJHNwYWNlciAvIDI7XG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLCAkYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG5cbiAgLy8gQWNjb3VudCBmb3Igc29tZSBjb2RlIG91dHB1dHMgdGhhdCBwbGFjZSBjb2RlIHRhZ3MgaW4gcHJlIHRhZ3NcbiAgY29kZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgfVxufVxuXG5jb2RlIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjb2RlLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y29kZS1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgcGFkZGluZzogJHNwYWNlci84ICRzcGFjZXIvNDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuXG4gIC8vIFN0cmVhbWxpbmUgdGhlIHN0eWxlIHdoZW4gaW5zaWRlIGFuY2hvcnMgdG8gYXZvaWQgYnJva2VuIHVuZGVybGluZSBhbmQgbW9yZVxuICBhID4gJiB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxua2JkIHtcbiAgcGFkZGluZzogJGtiZC1wYWRkaW5nLXkgJGtiZC1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgka2JkLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAka2JkLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAka2JkLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLXNtKTtcblxuICBrYmQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDFlbSk7XG4gICAgZm9udC13ZWlnaHQ6ICRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0O1xuICB9XG59XG5cblxuLy8gRmlndXJlc1xuLy9cbi8vIEFwcGx5IGEgY29uc2lzdGVudCBtYXJnaW4gc3RyYXRlZ3kgKG1hdGNoZXMgb3VyIHR5cGUgc3R5bGVzKS5cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuXG4vLyBJbWFnZXMgYW5kIGNvbnRlbnRcblxuaW1nLFxuc3ZnIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuXG4vLyBUYWJsZXNcbi8vXG4vLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzXG5cbnRhYmxlIHtcbiAgY2FwdGlvbi1zaWRlOiBib3R0b207XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG59XG5cbmNhcHRpb24ge1xuICBwYWRkaW5nLXRvcDogJHRhYmxlLWNlbGwtcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJHRhYmxlLWNlbGwtcGFkZGluZy15O1xuICBjb2xvcjogJHRhYmxlLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi8vIDEuIFJlbW92ZXMgZm9udC13ZWlnaHQgYm9sZCBieSBpbmhlcml0aW5nXG4vLyAyLiBNYXRjaGVzIGRlZmF1bHQgYDx0ZD5gIGFsaWdubWVudCBieSBpbmhlcml0aW5nIGB0ZXh0LWFsaWduYC5cbi8vIDMuIEZpeCBhbGlnbm1lbnQgZm9yIFNhZmFyaVxuXG50aCB7XG4gIGZvbnQtd2VpZ2h0OiAkdGFibGUtdGgtZm9udC13ZWlnaHQ7IC8vIDFcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gMlxuICB0ZXh0LWFsaWduOiAtd2Via2l0LW1hdGNoLXBhcmVudDsgLy8gM1xufVxuXG50aGVhZCxcbnRib2R5LFxudGZvb3QsXG50cixcbnRkLFxudGgge1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMDtcbn1cblxuXG4vLyBGb3Jtc1xuLy9cbi8vIDEuIEFsbG93IGxhYmVscyB0byB1c2UgYG1hcmdpbmAgZm9yIHNwYWNpbmcuXG5cbmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvLyAxXG59XG5cbi8vIFJlbW92ZSB0aGUgZGVmYXVsdCBgYm9yZGVyLXJhZGl1c2AgdGhhdCBtYWNPUyBDaHJvbWUgYWRkcy5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0MDkzXG5cbmJ1dHRvbiB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLy8gRXhwbGljaXRseSByZW1vdmUgZm9jdXMgb3V0bGluZSBpbiBDaHJvbWl1bSB3aGVuIGl0IHNob3VsZG4ndCBiZVxuLy8gdmlzaWJsZSAoZS5nLiBhcyByZXN1bHQgb2YgbW91c2UgY2xpY2sgb3IgdG91Y2ggdGFwKS4gSXQgYWxyZWFkeVxuLy8gc2hvdWxkIGJlIGRvaW5nIHRoaXMgYXV0b21hdGljYWxseSwgYnV0IHNlZW1zIHRvIGN1cnJlbnRseSBiZVxuLy8gY29uZnVzZWQgYW5kIGFwcGxpZXMgaXRzIHZlcnkgdmlzaWJsZSB0d28tdG9uZSBvdXRsaW5lIGFueXdheS5cblxuYnV0dG9uOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vLyAxLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmlcblxuaW5wdXQsXG5idXR0b24sXG5zZWxlY3QsXG5vcHRncm91cCxcbnRleHRhcmVhIHtcbiAgbWFyZ2luOiAwOyAvLyAxXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4vLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3hcbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuLy8gU2V0IHRoZSBjdXJzb3IgZm9yIG5vbi1gPGJ1dHRvbj5gIGJ1dHRvbnNcbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzMwNTYyXG5bcm9sZT1cImJ1dHRvblwiXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuc2VsZWN0IHtcbiAgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB3b3JkLXdyYXAgaW4gU2FmYXJpLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDk5MFxuICB3b3JkLXdyYXA6IG5vcm1hbDtcblxuICAvLyBVbmRvIHRoZSBvcGFjaXR5IGNoYW5nZSBmcm9tIENocm9tZVxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi8vIFJlbW92ZSB0aGUgZHJvcGRvd24gYXJyb3cgb25seSBmcm9tIHRleHQgdHlwZSBpbnB1dHMgYnVpbHQgd2l0aCBkYXRhbGlzdHMgaW4gQ2hyb21lLlxuLy8gU2VlIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS81NDk5NzExOFxuXG5bbGlzdF06bm90KFt0eXBlPVwiZGF0ZVwiXSk6bm90KFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0pOm5vdChbdHlwZT1cIm1vbnRoXCJdKTpub3QoW3R5cGU9XCJ3ZWVrXCJdKTpub3QoW3R5cGU9XCJ0aW1lXCJdKTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vLyAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2Bcbi8vICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbi8vIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4vLyAzLiBPcGluaW9uYXRlZDogYWRkIFwiaGFuZFwiIGN1cnNvciB0byBub24tZGlzYWJsZWQgYnV0dG9uIGVsZW1lbnRzLlxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSwgLy8gMVxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDJcblxuICBAaWYgJGVuYWJsZS1idXR0b24tcG9pbnRlcnMge1xuICAgICY6bm90KDpkaXNhYmxlZCkge1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyAvLyAzXG4gICAgfVxuICB9XG59XG5cbi8vIFJlbW92ZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgZnJvbSBGaXJlZm94LCBidXQgZG9uJ3QgcmVzdG9yZSB0aGUgb3V0bGluZSBsaWtlIE5vcm1hbGl6ZS5cblxuOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vLyAxLiBUZXh0YXJlYXMgc2hvdWxkIHJlYWxseSBvbmx5IHJlc2l6ZSB2ZXJ0aWNhbGx5IHNvIHRoZXkgZG9uJ3QgYnJlYWsgdGhlaXIgKGhvcml6b250YWwpIGNvbnRhaW5lcnMuXG5cbnRleHRhcmVhIHtcbiAgcmVzaXplOiB2ZXJ0aWNhbDsgLy8gMVxufVxuXG4vLyAxLiBCcm93c2VycyBzZXQgYSBkZWZhdWx0IGBtaW4td2lkdGg6IG1pbi1jb250ZW50O2Agb24gZmllbGRzZXRzLFxuLy8gICAgdW5saWtlIGUuZy4gYDxkaXY+YHMsIHdoaWNoIGhhdmUgYG1pbi13aWR0aDogMDtgIGJ5IGRlZmF1bHQuXG4vLyAgICBTbyB3ZSByZXNldCB0aGF0IHRvIGVuc3VyZSBmaWVsZHNldHMgYmVoYXZlIG1vcmUgbGlrZSBhIHN0YW5kYXJkIGJsb2NrIGVsZW1lbnQuXG4vLyAgICBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMjM1OVxuLy8gICAgYW5kIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlLyN0aGUtZmllbGRzZXQtYW5kLWxlZ2VuZC1lbGVtZW50c1xuLy8gMi4gUmVzZXQgdGhlIGRlZmF1bHQgb3V0bGluZSBiZWhhdmlvciBvZiBmaWVsZHNldHMgc28gdGhleSBkb24ndCBhZmZlY3QgcGFnZSBsYXlvdXQuXG5cbmZpZWxkc2V0IHtcbiAgbWluLXdpZHRoOiAwOyAvLyAxXG4gIHBhZGRpbmc6IDA7IC8vIDJcbiAgbWFyZ2luOiAwOyAvLyAyXG4gIGJvcmRlcjogMDsgLy8gMlxufVxuXG4vLyAxLiBCeSB1c2luZyBgZmxvYXQ6IGxlZnRgLCB0aGUgbGVnZW5kIHdpbGwgYmVoYXZlIGxpa2UgYSBibG9jayBlbGVtZW50LlxuLy8gICAgVGhpcyB3YXkgdGhlIGJvcmRlciBvZiBhIGZpZWxkc2V0IHdyYXBzIGFyb3VuZCB0aGUgbGVnZW5kIGlmIHByZXNlbnQuXG4vLyAyLiBGaXggd3JhcHBpbmcgYnVnLlxuLy8gICAgU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjk3MTJcblxubGVnZW5kIHtcbiAgZmxvYXQ6IGxlZnQ7IC8vIDFcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRsZWdlbmQtbWFyZ2luLWJvdHRvbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRsZWdlbmQtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRsZWdlbmQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuXG4gICsgKiB7XG4gICAgY2xlYXI6IGxlZnQ7IC8vIDJcbiAgfVxufVxuXG4vLyBGaXggaGVpZ2h0IG9mIGlucHV0cyB3aXRoIGEgdHlwZSBvZiBkYXRldGltZS1sb2NhbCwgZGF0ZSwgbW9udGgsIHdlZWssIG9yIHRpbWVcbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE4ODQyXG5cbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWZpZWxkcy13cmFwcGVyLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtdGV4dCxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbnV0ZSxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWhvdXItZmllbGQsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1kYXktZmllbGQsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250aC1maWVsZCxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXllYXItZmllbGQge1xuICBwYWRkaW5nOiAwO1xufVxuXG46Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vIDEuIFRoaXMgb3ZlcnJpZGVzIHRoZSBleHRyYSByb3VuZGVkIGNvcm5lcnMgb24gc2VhcmNoIGlucHV0cyBpbiBpT1Mgc28gdGhhdCBvdXJcbi8vICAgIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuLy8gICAgYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuLy8gICAgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU4Ni5cbi8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyXG59XG5cbi8vIDEuIEEgZmV3IGlucHV0IHR5cGVzIHNob3VsZCBzdGF5IExUUlxuLy8gU2VlIGh0dHBzOi8vcnRsc3R5bGluZy5jb20vcG9zdHMvcnRsLXN0eWxpbmcjZm9ybS1pbnB1dHNcbi8vIDIuIFJUTCBvbmx5IG91dHB1dFxuLy8gU2VlIGh0dHBzOi8vcnRsY3NzLmNvbS9sZWFybi91c2FnZS1ndWlkZS9jb250cm9sLWRpcmVjdGl2ZXMvI3Jhd1xuXG4vKiBydGw6cmF3OlxuW3R5cGU9XCJ0ZWxcIl0sXG5bdHlwZT1cInVybFwiXSxcblt0eXBlPVwiZW1haWxcIl0sXG5bdHlwZT1cIm51bWJlclwiXSB7XG4gIGRpcmVjdGlvbjogbHRyO1xufVxuKi9cblxuLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuXG46Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vIFJlbW92ZSBwYWRkaW5nIGFyb3VuZCBjb2xvciBwaWNrZXJzIGluIHdlYmtpdCBicm93c2Vyc1xuXG46Oi13ZWJraXQtY29sb3Itc3dhdGNoLXdyYXBwZXIge1xuICBwYWRkaW5nOiAwO1xufVxuXG5cbi8vIDEuIEluaGVyaXQgZm9udCBmYW1pbHkgYW5kIGxpbmUgaGVpZ2h0IGZvciBmaWxlIGlucHV0IGJ1dHRvbnNcbi8vIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5cbjo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICBmb250OiBpbmhlcml0OyAvLyAxXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG59XG5cbi8vIENvcnJlY3QgZWxlbWVudCBkaXNwbGF5c1xuXG5vdXRwdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8vIFJlbW92ZSBib3JkZXIgZnJvbSBpZnJhbWVcblxuaWZyYW1lIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBTdW1tYXJ5XG4vL1xuLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IC8vIDFcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5cbi8vIFByb2dyZXNzXG4vL1xuLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cblxuLy8gSGlkZGVuIGF0dHJpYnV0ZVxuLy9cbi8vIEFsd2F5cyBoaWRlIGFuIGVsZW1lbnQgd2l0aCB0aGUgYGhpZGRlbmAgSFRNTCBhdHRyaWJ1dGUuXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwKCQkiLy9cbi8vIEhlYWRpbmdzXG4vL1xuLmgxIHtcbiAgQGV4dGVuZCBoMTtcbn1cblxuLmgyIHtcbiAgQGV4dGVuZCBoMjtcbn1cblxuLmgzIHtcbiAgQGV4dGVuZCBoMztcbn1cblxuLmg0IHtcbiAgQGV4dGVuZCBoNDtcbn1cblxuLmg1IHtcbiAgQGV4dGVuZCBoNTtcbn1cblxuLmg2IHtcbiAgQGV4dGVuZCBoNjtcbn1cblxuXG4ubGVhZCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbGVhZC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGxlYWQtZm9udC13ZWlnaHQ7XG59XG5cbi8vIFR5cGUgZGlzcGxheSBjbGFzc2VzXG5AZWFjaCAkZGlzcGxheSwgJGZvbnQtc2l6ZSBpbiAkZGlzcGxheS1mb250LXNpemVzIHtcbiAgLmRpc3BsYXktI3skZGlzcGxheX0ge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplKTtcbiAgICBmb250LWZhbWlseTogJGRpc3BsYXktZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGRpc3BsYXktZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGRpc3BsYXktZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xuICB9XG59XG5cbi8vXG4vLyBFbXBoYXNpc1xuLy9cbi5zbWFsbCB7XG4gIEBleHRlbmQgc21hbGw7XG59XG5cbi5tYXJrIHtcbiAgQGV4dGVuZCBtYXJrO1xufVxuXG4vL1xuLy8gTGlzdHNcbi8vXG5cbi5saXN0LXVuc3R5bGVkIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xufVxuXG4vLyBJbmxpbmUgdHVybnMgbGlzdCBpdGVtcyBpbnRvIGlubGluZS1ibG9ja1xuLmxpc3QtaW5saW5lIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xufVxuLmxpc3QtaW5saW5lLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRsaXN0LWlubGluZS1wYWRkaW5nO1xuICB9XG59XG5cblxuLy9cbi8vIE1pc2Ncbi8vXG5cbi8vIEJ1aWxkcyBvbiBgYWJicmBcbi5pbml0aWFsaXNtIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbml0aWFsaXNtLWZvbnQtc2l6ZSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8vIEJsb2NrcXVvdGVzXG4uYmxvY2txdW90ZSB7XG4gIG1hcmdpbi1ib3R0b206ICRibG9ja3F1b3RlLW1hcmdpbi15O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJsb2NrcXVvdGUtZm9udC1zaXplKTtcblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5ibG9ja3F1b3RlLWZvb3RlciB7XG4gIG1hcmdpbi10b3A6IC0kYmxvY2txdW90ZS1tYXJnaW4teTtcbiAgbWFyZ2luLWJvdHRvbTogJGJsb2NrcXVvdGUtbWFyZ2luLXk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmxvY2txdW90ZS1mb290ZXItZm9udC1zaXplKTtcbiAgY29sb3I6ICRibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwyMDE0XFwwMEEwXCI7IC8vIGVtIGRhc2gsIG5ic3BcbiAgfVxufVxuIiwKCQkiLy8gUmVzcG9uc2l2ZSBpbWFnZXMgKGVuc3VyZSBpbWFnZXMgZG9uJ3Qgc2NhbGUgYmV5b25kIHRoZWlyIHBhcmVudHMpXG4vL1xuLy8gVGhpcyBpcyBwdXJwb3NlZnVsbHkgb3B0LWluIHZpYSBhbiBleHBsaWNpdCBjbGFzcyByYXRoZXIgdGhhbiBiZWluZyB0aGUgZGVmYXVsdCBmb3IgYWxsIGA8aW1nPmBzLlxuLy8gV2UgcHJldmlvdXNseSB0cmllZCB0aGUgXCJpbWFnZXMgYXJlIHJlc3BvbnNpdmUgYnkgZGVmYXVsdFwiIGFwcHJvYWNoIGluIEJvb3RzdHJhcCB2Mixcbi8vIGFuZCBhYmFuZG9uZWQgaXQgaW4gQm9vdHN0cmFwIHYzIGJlY2F1c2UgaXQgYnJlYWtzIGxvdHMgb2YgdGhpcmQtcGFydHkgd2lkZ2V0cyAoaW5jbHVkaW5nIEdvb2dsZSBNYXBzKVxuLy8gd2hpY2ggd2VyZW4ndCBleHBlY3RpbmcgdGhlIGltYWdlcyB3aXRoaW4gdGhlbXNlbHZlcyB0byBiZSBpbnZvbHVudGFyaWx5IHJlc2l6ZWQuXG4vLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE4MTc4XG4uaW1nLWZsdWlkIHtcbiAgQGluY2x1ZGUgaW1nLWZsdWlkKCk7XG59XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuLmltZy10aHVtYm5haWwge1xuICBwYWRkaW5nOiAkdGh1bWJuYWlsLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0aHVtYm5haWwtYmc7XG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXItd2lkdGggc29saWQgJHRodW1ibmFpbC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkdGh1bWJuYWlsLWJveC1zaGFkb3cpO1xuXG4gIC8vIEtlZXAgdGhlbSBhdCBtb3N0IDEwMCUgd2lkZVxuICBAaW5jbHVkZSBpbWctZmx1aWQoKTtcbn1cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbi5maWd1cmUge1xuICAvLyBFbnN1cmVzIHRoZSBjYXB0aW9uJ3MgdGV4dCBhbGlnbnMgd2l0aCB0aGUgaW1hZ2UuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmZpZ3VyZS1pbWcge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyICogLjU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uZmlndXJlLWNhcHRpb24ge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkZmlndXJlLWNhcHRpb24tY29sb3I7XG59XG4iLAoJCSIvLyBDb250YWluZXIgd2lkdGhzXG4vL1xuLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzLlxuXG5AaWYgJGVuYWJsZS1jb250YWluZXItY2xhc3NlcyB7XG4gIC8vIFNpbmdsZSBjb250YWluZXIgY2xhc3Mgd2l0aCBicmVha3BvaW50IG1heC13aWR0aHNcbiAgLmNvbnRhaW5lcixcbiAgLy8gMTAwJSB3aWRlIGNvbnRhaW5lciBhdCBhbGwgYnJlYWtwb2ludHNcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgY29udGFpbmVycyB0aGF0IGFyZSAxMDAlIHdpZGUgdW50aWwgYSBicmVha3BvaW50XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgIC5jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgQGV4dGVuZCAuY29udGFpbmVyLWZsdWlkO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgICAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgICAgfVxuXG4gICAgICAvLyBFeHRlbmQgZWFjaCBicmVha3BvaW50IHdoaWNoIGlzIHNtYWxsZXIgb3IgZXF1YWwgdG8gdGhlIGN1cnJlbnQgYnJlYWtwb2ludFxuICAgICAgJGV4dGVuZC1icmVha3BvaW50OiB0cnVlO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHdpZHRoIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAgICAgQGlmICgkZXh0ZW5kLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRuYW1lLCAkZ3JpZC1icmVha3BvaW50cyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIE9uY2UgdGhlIGN1cnJlbnQgYnJlYWtwb2ludCBpcyByZWFjaGVkLCBzdG9wIGV4dGVuZGluZ1xuICAgICAgICAgIEBpZiAoJGJyZWFrcG9pbnQgPT0gJG5hbWUpIHtcbiAgICAgICAgICAgICRleHRlbmQtYnJlYWtwb2ludDogZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLAoJCSIvLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4geW91ciBjb2x1bW5zLlxuXG46cm9vdCB7XG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgIC0tI3skcHJlZml4fWJyZWFrcG9pbnQtI3skbmFtZX06ICN7JHZhbHVlfTtcbiAgfVxufVxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuXG4gICAgPiAqIHtcbiAgICAgIEBpbmNsdWRlIG1ha2UtY29sLXJlYWR5KCk7XG4gICAgfVxuICB9XG59XG5cbkBpZiAkZW5hYmxlLWNzc2dyaWQge1xuICAuZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCh2YXIoLS0jeyRwcmVmaXh9cm93cywgMSksIDFmcik7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tI3skcHJlZml4fWNvbHVtbnMsICN7JGdyaWQtY29sdW1uc30pLCAxZnIpO1xuICAgIGdhcDogdmFyKC0tI3skcHJlZml4fWdhcCwgI3skZ3JpZC1ndXR0ZXItd2lkdGh9KTtcblxuICAgIEBpbmNsdWRlIG1ha2UtY3NzZ3JpZCgpO1xuICB9XG59XG5cblxuLy8gQ29sdW1uc1xuLy9cbi8vIENvbW1vbiBzdHlsZXMgZm9yIHNtYWxsIGFuZCBsYXJnZSBncmlkIGNvbHVtbnNcblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkLWNvbHVtbnMoKTtcbn1cbiIsCgkJIi8vXG4vLyBCYXNpYyBCb290c3RyYXAgdGFibGVcbi8vXG5cbi50YWJsZSB7XG4gIC8vIFJlc2V0IG5lZWRlZCBmb3IgbmVzdGluZyB0YWJsZXNcbiAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3ItdHlwZTogaW5pdGlhbDtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYmctdHlwZTogaW5pdGlhbDtcbiAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3Itc3RhdGU6IGluaXRpYWw7XG4gIC0tI3skcHJlZml4fXRhYmxlLWJnLXN0YXRlOiBpbml0aWFsO1xuICAvLyBFbmQgb2YgcmVzZXRcbiAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3I6ICN7JHRhYmxlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYmc6ICN7JHRhYmxlLWJnfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYm9yZGVyLWNvbG9yOiAjeyR0YWJsZS1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH10YWJsZS1hY2NlbnQtYmc6ICN7JHRhYmxlLWFjY2VudC1iZ307XG4gIC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtY29sb3I6ICN7JHRhYmxlLXN0cmlwZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWJnOiAjeyR0YWJsZS1zdHJpcGVkLWJnfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWNvbG9yOiAjeyR0YWJsZS1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtYmc6ICN7JHRhYmxlLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWNvbG9yOiAjeyR0YWJsZS1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWJnOiAjeyR0YWJsZS1ob3Zlci1iZ307XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIHZlcnRpY2FsLWFsaWduOiAkdGFibGUtY2VsbC12ZXJ0aWNhbC1hbGlnbjtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYm9yZGVyLWNvbG9yKTtcblxuICAvLyBUYXJnZXQgdGggJiB0ZFxuICAvLyBXZSBuZWVkIHRoZSBjaGlsZCBjb21iaW5hdG9yIHRvIHByZXZlbnQgc3R5bGVzIGxlYWtpbmcgdG8gbmVzdGVkIHRhYmxlcyB3aGljaCBkb2Vzbid0IGhhdmUgYSBgLnRhYmxlYCBjbGFzcy5cbiAgLy8gV2UgdXNlIHRoZSB1bml2ZXJzYWwgc2VsZWN0b3JzIGhlcmUgdG8gc2ltcGxpZnkgdGhlIHNlbGVjdG9yIChlbHNlIHdlIHdvdWxkIG5lZWQgNiBkaWZmZXJlbnQgc2VsZWN0b3JzKS5cbiAgLy8gQW5vdGhlciBhZHZhbnRhZ2UgaXMgdGhhdCB0aGlzIGdlbmVyYXRlcyBsZXNzIGNvZGUgYW5kIG1ha2VzIHRoZSBzZWxlY3RvciBsZXNzIHNwZWNpZmljIG1ha2luZyBpdCBlYXNpZXIgdG8gb3ZlcnJpZGUuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdW5pdmVyc2FsXG4gID4gOm5vdChjYXB0aW9uKSA+ICogPiAqIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXkgJHRhYmxlLWNlbGwtcGFkZGluZy14O1xuICAgIC8vIEZvbGxvd2luZyB0aGUgcHJlY2VwdCBvZiBjYXNjYWRlczogaHR0cHM6Ly9jb2RlcGVuLmlvL21pcmlhbXN1emFubmUvZnVsbC92WU5nb2RiXG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1jb2xvci1zdGF0ZSwgdmFyKC0tI3skcHJlZml4fXRhYmxlLWNvbG9yLXR5cGUsIHZhcigtLSN7JHByZWZpeH10YWJsZS1jb2xvcikpKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYmcpO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICR0YWJsZS1ib3JkZXItd2lkdGg7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgOTk5OXB4IHZhcigtLSN7JHByZWZpeH10YWJsZS1iZy1zdGF0ZSwgdmFyKC0tI3skcHJlZml4fXRhYmxlLWJnLXR5cGUsIHZhcigtLSN7JHByZWZpeH10YWJsZS1hY2NlbnQtYmcpKSk7XG4gIH1cblxuICA+IHRib2R5IHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbiAgfVxuXG4gID4gdGhlYWQge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIH1cbn1cblxuLnRhYmxlLWdyb3VwLWRpdmlkZXIge1xuICBib3JkZXItdG9wOiBjYWxjKCN7JHRhYmxlLWJvcmRlci13aWR0aH0gKiAyKSBzb2xpZCAkdGFibGUtZ3JvdXAtc2VwYXJhdG9yLWNvbG9yOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxufVxuXG4vL1xuLy8gQ2hhbmdlIHBsYWNlbWVudCBvZiBjYXB0aW9ucyB3aXRoIGEgY2xhc3Ncbi8vXG5cbi5jYXB0aW9uLXRvcCB7XG4gIGNhcHRpb24tc2lkZTogdG9wO1xufVxuXG5cbi8vXG4vLyBDb25kZW5zZWQgdGFibGUgdy8gaGFsZiBwYWRkaW5nXG4vL1xuXG4udGFibGUtc20ge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXVuaXZlcnNhbFxuICA+IDpub3QoY2FwdGlvbikgPiAqID4gKiB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy15LXNtICR0YWJsZS1jZWxsLXBhZGRpbmcteC1zbTtcbiAgfVxufVxuXG5cbi8vIEJvcmRlciB2ZXJzaW9uc1xuLy9cbi8vIEFkZCBvciByZW1vdmUgYm9yZGVycyBhbGwgYXJvdW5kIHRoZSB0YWJsZSBhbmQgYmV0d2VlbiBhbGwgdGhlIGNvbHVtbnMuXG4vL1xuLy8gV2hlbiBib3JkZXJzIGFyZSBhZGRlZCBvbiBhbGwgc2lkZXMgb2YgdGhlIGNlbGxzLCB0aGUgY29ybmVycyBjYW4gcmVuZGVyIG9kZCB3aGVuXG4vLyB0aGVzZSBib3JkZXJzIGRvIG5vdCBoYXZlIHRoZSBzYW1lIGNvbG9yIG9yIGlmIHRoZXkgYXJlIHNlbWktdHJhbnNwYXJlbnQuXG4vLyBUaGVyZWZvciB3ZSBhZGQgdG9wIGFuZCBib3JkZXIgYm90dG9tcyB0byB0aGUgYHRyYHMgYW5kIGxlZnQgYW5kIHJpZ2h0IGJvcmRlcnNcbi8vIHRvIHRoZSBgdGRgcyBvciBgdGhgc1xuXG4udGFibGUtYm9yZGVyZWQge1xuICA+IDpub3QoY2FwdGlvbikgPiAqIHtcbiAgICBib3JkZXItd2lkdGg6ICR0YWJsZS1ib3JkZXItd2lkdGggMDtcblxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdW5pdmVyc2FsXG4gICAgPiAqIHtcbiAgICAgIGJvcmRlci13aWR0aDogMCAkdGFibGUtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG4udGFibGUtYm9yZGVybGVzcyB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdW5pdmVyc2FsXG4gID4gOm5vdChjYXB0aW9uKSA+ICogPiAqIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICB9XG5cbiAgPiA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIH1cbn1cblxuLy8gWmVicmEtc3RyaXBpbmdcbi8vXG4vLyBEZWZhdWx0IHplYnJhLXN0cmlwZSBzdHlsZXMgKGFsdGVybmF0aW5nIGdyYXkgYW5kIHRyYW5zcGFyZW50IGJhY2tncm91bmRzKVxuXG4vLyBGb3Igcm93c1xuLnRhYmxlLXN0cmlwZWQge1xuICA+IHRib2R5ID4gdHI6bnRoLW9mLXR5cGUoI3skdGFibGUtc3RyaXBlZC1vcmRlcn0pID4gKiB7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3ItdHlwZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtY29sb3IpO1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWJnLXR5cGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWJnKTtcbiAgfVxufVxuXG4vLyBGb3IgY29sdW1uc1xuLnRhYmxlLXN0cmlwZWQtY29sdW1ucyB7XG4gID4gOm5vdChjYXB0aW9uKSA+IHRyID4gOm50aC1jaGlsZCgjeyR0YWJsZS1zdHJpcGVkLWNvbHVtbnMtb3JkZXJ9KSB7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3ItdHlwZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtY29sb3IpO1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWJnLXR5cGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWJnKTtcbiAgfVxufVxuXG4vLyBBY3RpdmUgdGFibGVcbi8vXG4vLyBUaGUgYC50YWJsZS1hY3RpdmVgIGNsYXNzIGNhbiBiZSBhZGRlZCB0byBoaWdobGlnaHQgcm93cyBvciBjZWxsc1xuXG4udGFibGUtYWN0aXZlIHtcbiAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3Itc3RhdGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtY29sb3IpO1xuICAtLSN7JHByZWZpeH10YWJsZS1iZy1zdGF0ZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1iZyk7XG59XG5cbi8vIEhvdmVyIGVmZmVjdFxuLy9cbi8vIFBsYWNlZCBoZXJlIHNpbmNlIGl0IGhhcyB0byBjb21lIGFmdGVyIHRoZSBwb3RlbnRpYWwgemVicmEgc3RyaXBpbmdcblxuLnRhYmxlLWhvdmVyIHtcbiAgPiB0Ym9keSA+IHRyOmhvdmVyID4gKiB7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3Itc3RhdGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1jb2xvcik7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYmctc3RhdGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1iZyk7XG4gIH1cbn1cblxuXG4vLyBUYWJsZSB2YXJpYW50c1xuLy9cbi8vIFRhYmxlIHZhcmlhbnRzIHNldCB0aGUgdGFibGUgY2VsbCBiYWNrZ3JvdW5kcywgYm9yZGVyIGNvbG9yc1xuLy8gYW5kIHRoZSBjb2xvcnMgb2YgdGhlIHN0cmlwZWQsIGhvdmVyZWQgJiBhY3RpdmUgdGFibGVzXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0YWJsZS12YXJpYW50cyB7XG4gIEBpbmNsdWRlIHRhYmxlLXZhcmlhbnQoJGNvbG9yLCAkdmFsdWUpO1xufVxuXG4vLyBSZXNwb25zaXZlIHRhYmxlc1xuLy9cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLnRhYmxlLXJlc3BvbnNpdmUtKmAgY2xhc3NlcyBmb3IgY29uZmlndXJpbmcgdGhlIHNjcmVlblxuLy8gc2l6ZSBvZiB3aGVyZSB5b3VyIHRhYmxlIHdpbGwgb3ZlcmZsb3cuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgIC50YWJsZS1yZXNwb25zaXZlI3skaW5maXh9IHtcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgfVxuICB9XG59XG4iLAoJCSIkc2hpbnktY2hlY2s6IFwiLnNoaW55LWlucHV0LWNvbnRhaW5lciAuY2hlY2tib3hcIjtcbiRzaGlueS1jaGVjay1pbmxpbmU6ICRzaGlueS1jaGVjayArIFwiLWlubGluZVwiO1xuJHNoaW55LXJhZGlvOiBcIi5zaGlueS1pbnB1dC1jb250YWluZXIgLnJhZGlvXCI7XG4kc2hpbnktcmFkaW8taW5saW5lOiAkc2hpbnktcmFkaW8gKyBcIi1pbmxpbmVcIjtcbiRmb3JtLWNoZWNrLWlucHV0LXNlbGVjdG9yOiBcIi5mb3JtLWNoZWNrLWlucHV0LCBcIiArXG4gICRzaGlueS1jaGVjayArIFwiIGlucHV0LCBcIiArICRzaGlueS1jaGVjay1pbmxpbmUgKyBcIiBpbnB1dCwgXCIgK1xuICAkc2hpbnktcmFkaW8gKyBcIiBpbnB1dCwgXCIgKyAkc2hpbnktcmFkaW8taW5saW5lICsgXCIgaW5wdXQsIFwiO1xuJGZvcm0tY2hlY2stbGFiZWwtc2VsZWN0b3I6IFwiLmZvcm0tY2hlY2stbGFiZWwsIFwiICtcbiAgJHNoaW55LWNoZWNrICsgXCIgbGFiZWwsIFwiICsgJHNoaW55LWNoZWNrLWlubGluZSArIFwiIGxhYmVsLCBcIiArXG4gICRzaGlueS1yYWRpbyArIFwiIGxhYmVsLCBcIiArICRzaGlueS1yYWRpby1pbmxpbmUgKyBcIiBsYWJlbCwgXCI7XG5cbkBpbXBvcnQgXCJmb3Jtcy9sYWJlbHNcIjtcbkBpbXBvcnQgXCJmb3Jtcy9mb3JtLXRleHRcIjtcbkBpbXBvcnQgXCJmb3Jtcy9mb3JtLWNvbnRyb2xcIjtcbkBpbXBvcnQgXCJmb3Jtcy9mb3JtLXNlbGVjdFwiO1xuQGltcG9ydCBcImZvcm1zL2Zvcm0tY2hlY2tcIjtcbkBpbXBvcnQgXCJmb3Jtcy9mb3JtLXJhbmdlXCI7XG5AaW1wb3J0IFwiZm9ybXMvZmxvYXRpbmctbGFiZWxzXCI7XG5AaW1wb3J0IFwiZm9ybXMvaW5wdXQtZ3JvdXBcIjtcbkBpbXBvcnQgXCJmb3Jtcy92YWxpZGF0aW9uXCI7XG4iLAoJCSIvL1xuLy8gTGFiZWxzXG4vL1xuXG4uZm9ybS1sYWJlbCwgLnNoaW55LWlucHV0LWNvbnRhaW5lciAuY29udHJvbC1sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWxhYmVsLW1hcmdpbi1ib3R0b207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1sYWJlbC1mb250LXNpemUpO1xuICBmb250LXN0eWxlOiAkZm9ybS1sYWJlbC1mb250LXN0eWxlO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuLy8gRm9yIHVzZSB3aXRoIGhvcml6b250YWwgYW5kIGlubGluZSBmb3Jtcywgd2hlbiB5b3UgbmVlZCB0aGUgbGFiZWwgKG9yIGxlZ2VuZClcbi8vIHRleHQgdG8gYWxpZ24gd2l0aCB0aGUgZm9ybSBjb250cm9scy5cbi5jb2wtZm9ybS1sYWJlbCB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBgPGxlZ2VuZD5gIGRlZmF1bHRcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpOyAvLyBPdmVycmlkZSB0aGUgYDxsZWdlbmQ+YCBkZWZhdWx0XG4gIGZvbnQtc3R5bGU6ICRmb3JtLWxhYmVsLWZvbnQtc3R5bGU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG4uY29sLWZvcm0tbGFiZWwtbGcge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1zbSB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbn1cbiIsCgkJIi8vXG4vLyBGb3JtIHRleHRcbi8vXG5cbi5mb3JtLXRleHQge1xuICBtYXJnaW4tdG9wOiAkZm9ybS10ZXh0LW1hcmdpbi10b3A7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS10ZXh0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtc3R5bGU6ICRmb3JtLXRleHQtZm9udC1zdHlsZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLXRleHQtZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS10ZXh0LWNvbG9yO1xufVxuIiwKCQkiLy9cbi8vIEdlbmVyYWwgZm9ybSBjb250cm9scyAocGx1cyBhIGZldyBzcGVjaWZpYyBoaWdoLWxldmVsIGludGVydmVudGlvbnMpXG4vL1xuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYXBwZWFyYW5jZTogbm9uZTsgLy8gRml4IGFwcGVhcmFuY2UgZm9yIGRhdGUgaW5wdXRzIGluIFNhZmFyaVxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIEZpeCBhcHBlYXJhbmNlIGZvciBkYXRlIGlucHV0cyBpbiBTYWZhcmlcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lOyAvLyBGaXggYXBwZWFyYW5jZSBmb3IgZGF0ZSBpbnB1dHMgaW4gU2FmYXJpXG4gIC1tcy1hcHBlYXJhbmNlOiBub25lOyAvLyBGaXggYXBwZWFyYW5jZSBmb3IgZGF0ZSBpbnB1dHMgaW4gU2FmYXJpXG4gIC1vLWFwcGVhcmFuY2U6IG5vbmU7IC8vIEZpeCBhcHBlYXJhbmNlIGZvciBkYXRlIGlucHV0cyBpbiBTYWZhcmlcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcblxuICAvLyBOb3RlOiBUaGlzIGhhcyBubyBlZmZlY3Qgb24gPHNlbGVjdD5zIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiBgPHNlbGVjdD5gcyBpbiBDU1MuXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMsIDApO1xuXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3cpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRpbnB1dC10cmFuc2l0aW9uKTtcblxuICAmW3R5cGU9XCJmaWxlXCJdIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyAvLyBwcmV2ZW50IHBzZXVkbyBlbGVtZW50IGJ1dHRvbiBvdmVybGFwXG5cbiAgICAmOm5vdCg6ZGlzYWJsZWQpOm5vdChbcmVhZG9ubHldKSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gQ3VzdG9taXplIHRoZSBgOmZvY3VzYCBzdGF0ZSB0byBpbWl0YXRlIG5hdGl2ZSBXZWJLaXQgc3R5bGVzLlxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGlucHV0LWZvY3VzLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1mb2N1cy1iZztcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3csICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gICY6Oi13ZWJraXQtZGF0ZS1hbmQtdGltZS12YWx1ZSB7XG4gICAgLy8gT24gQW5kcm9pZCBDaHJvbWUsIGZvcm0tY29udHJvbCdzIFwid2lkdGg6IDEwMCVcIiBtYWtlcyB0aGUgaW5wdXQgd2lkdGggdG9vIHNtYWxsXG4gICAgLy8gVGVzdGVkIHVuZGVyIEFuZHJvaWQgMTEgLyBDaHJvbWUgODksIEFuZHJvaWQgMTIgLyBDaHJvbWUgMTAwLCBBbmRyb2lkIDEzIC8gQ2hyb21lIDEwOVxuICAgIC8vXG4gICAgLy8gT24gaU9TIFNhZmFyaSwgZm9ybS1jb250cm9sJ3MgXCJhcHBlYXJhbmNlOiBub25lXCIgKyBcIndpZHRoOiAxMDAlXCIgbWFrZXMgdGhlIGlucHV0IHdpZHRoIHRvbyBzbWFsbFxuICAgIC8vIFRlc3RlZCB1bmRlciBpT1MgMTYuMiAvIFNhZmFyaSAxNi4yXG4gICAgbWluLXdpZHRoOiA4NXB4OyAvLyBTZWVtcyB0byBiZSBhIGdvb2QgbWluaW11bSBzYWZlIHdpZHRoXG5cbiAgICAvLyBBZGQgc29tZSBoZWlnaHQgdG8gZGF0ZSBpbnB1dHMgb24gaU9TXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yMzMwN1xuICAgIC8vIFRPRE86IHdlIGNhbiByZW1vdmUgdGhpcyB3b3JrYXJvdW5kIG9uY2UgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODk1OSBpcyByZXNvbHZlZFxuICAgIC8vIE11bHRpcGx5IGxpbmUtaGVpZ2h0IGJ5IDFlbSBpZiBpdCBoYXMgbm8gdW5pdFxuICAgIGhlaWdodDogaWYodW5pdCgkaW5wdXQtbGluZS1oZWlnaHQpID09IFwiXCIsICRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgJGlucHV0LWxpbmUtaGVpZ2h0KTtcblxuICAgIC8vIEFuZHJvaWQgQ2hyb21lIHR5cGU9XCJkYXRlXCIgaXMgdGFsbGVyIHRoYW4gdGhlIG90aGVyIGlucHV0c1xuICAgIC8vIGJlY2F1c2Ugb2YgXCJtYXJnaW46IDFweCAyNHB4IDFweCA0cHhcIiBpbnNpZGUgdGhlIHNoYWRvdyBET01cbiAgICAvLyBUZXN0ZWQgdW5kZXIgQW5kcm9pZCAxMSAvIENocm9tZSA4OSwgQW5kcm9pZCAxMiAvIENocm9tZSAxMDAsIEFuZHJvaWQgMTMgLyBDaHJvbWUgMTA5XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gUHJldmVudCBleGNlc3NpdmUgZGF0ZSBpbnB1dCBoZWlnaHQgaW4gV2Via2l0XG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMzQ0MzNcbiAgJjo6LXdlYmtpdC1kYXRldGltZS1lZGl0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGxhY2Vob2xkZXJcbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgLy8gT3ZlcnJpZGUgRmlyZWZveCdzIHVudXN1YWwgZGVmYXVsdCBvcGFjaXR5OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTE1MjYuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIGlucHV0c1xuICAvL1xuICAvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuICAvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJvcmRlci1jb2xvcjtcbiAgICAvLyBpT1MgZml4IGZvciB1bnJlYWRhYmxlIGRpc2FibGVkIGNvbnRlbnQ7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjU1LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBGaWxlIGlucHV0IGJ1dHRvbnMgdGhlbWluZ1xuICAmOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICAgIG1hcmdpbjogKC0kaW5wdXQtcGFkZGluZy15KSAoLSRpbnB1dC1wYWRkaW5nLXgpO1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAkaW5wdXQtcGFkZGluZy14O1xuICAgIGNvbG9yOiAkZm9ybS1maWxlLWJ1dHRvbi1jb2xvcjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZm9ybS1maWxlLWJ1dHRvbi1iZyk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIGJvcmRlci1pbmxpbmUtZW5kLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYnRuLXRyYW5zaXRpb24pO1xuICB9XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKTpub3QoW3JlYWRvbmx5XSk6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1maWxlLWJ1dHRvbi1ob3Zlci1iZztcbiAgfVxufVxuXG4vLyBSZWFkb25seSBjb250cm9scyBhcyBwbGFpbiB0ZXh0XG4vL1xuLy8gQXBwbHkgY2xhc3MgdG8gYSByZWFkb25seSBpbnB1dCB0byBtYWtlIGl0IGFwcGVhciBsaWtlIHJlZ3VsYXIgcGxhaW5cbi8vIHRleHQgKHdpdGhvdXQgYW55IGJvcmRlciwgYmFja2dyb3VuZCBjb2xvciwgZm9jdXMgaW5kaWNhdG9yKVxuXG4uZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBtYXRjaCBpbnB1dHMgaWYgdGhpcyBjbGFzcyBjb21lcyBvbiBpbnB1dHMgd2l0aCBkZWZhdWx0IG1hcmdpbnNcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1wbGFpbnRleHQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggMDtcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJi5mb3JtLWNvbnRyb2wtc20sXG4gICYuZm9ybS1jb250cm9sLWxnIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gQnVpbGQgb24gYC5mb3JtLWNvbnRyb2xgIHdpdGggbW9kaWZpZXIgY2xhc3NlcyB0byBkZWNyZWFzZSBvciBpbmNyZWFzZSB0aGVcbi8vIGhlaWdodCBhbmQgZm9udC1zaXplIG9mIGZvcm0gY29udHJvbHMuXG4vL1xuLy8gUmVwZWF0ZWQgaW4gYF9pbnB1dF9ncm91cC5zY3NzYCB0byBhdm9pZCBTYXNzIGV4dGVuZCBpc3N1ZXMuXG5cbi5mb3JtLWNvbnRyb2wtc20ge1xuICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG5cbiAgJjo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgICBtYXJnaW46ICgtJGlucHV0LXBhZGRpbmcteS1zbSkgKC0kaW5wdXQtcGFkZGluZy14LXNtKTtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgfVxufVxuXG4uZm9ybS1jb250cm9sLWxnIHtcbiAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xuXG4gICY6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gICAgbWFyZ2luOiAoLSRpbnB1dC1wYWRkaW5nLXktbGcpICgtJGlucHV0LXBhZGRpbmcteC1sZyk7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6ICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIH1cbn1cblxuLy8gTWFrZSBzdXJlIHRleHRhcmVhcyBkb24ndCBzaHJpbmsgdG9vIG11Y2ggd2hlbiByZXNpemVkXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yOTEyNFxuLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG50ZXh0YXJlYSB7XG4gICYuZm9ybS1jb250cm9sIHtcbiAgICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICB9XG5cbiAgJi5mb3JtLWNvbnRyb2wtc20ge1xuICAgIG1pbi1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG4gIH1cblxuICAmLmZvcm0tY29udHJvbC1sZyB7XG4gICAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbiAgfVxufVxuLy8gc3R5bGVsaW50LWVuYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLmZvcm0tY29udHJvbC1jb2xvciB7XG4gIHdpZHRoOiAkZm9ybS1jb2xvci13aWR0aDtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15O1xuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KFtyZWFkb25seV0pIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmOjotbW96LWNvbG9yLXN3YXRjaCB7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOjotd2Via2l0LWNvbG9yLXN3YXRjaCB7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmLmZvcm0tY29udHJvbC1zbSB7IGhlaWdodDogJGlucHV0LWhlaWdodC1zbTsgfVxuICAmLmZvcm0tY29udHJvbC1sZyB7IGhlaWdodDogJGlucHV0LWhlaWdodC1sZzsgfVxufVxuIiwKCQkiLy8gU2VsZWN0XG4vL1xuLy8gUmVwbGFjZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCBzZWxlY3Qgd2l0aCBhIGN1c3RvbSBvbmUsIG1vc3RseSBwdWxsZWQgZnJvbVxuLy8gaHR0cHM6Ly9wcmltZXIuZ2l0aHViLmlvLy5cblxuLmZvcm0tc2VsZWN0IHtcbiAgLS0jeyRwcmVmaXh9Zm9ybS1zZWxlY3QtYmctaW1nOiAje2VzY2FwZS1zdmcoJGZvcm0tc2VsZWN0LWluZGljYXRvcil9O1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJGZvcm0tc2VsZWN0LXBhZGRpbmcteSAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcgJGZvcm0tc2VsZWN0LXBhZGRpbmcteSAkZm9ybS1zZWxlY3QtcGFkZGluZy14O1xuICBmb250LWZhbWlseTogJGZvcm0tc2VsZWN0LWZvbnQtZmFtaWx5O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1zZWxlY3QtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1zZWxlY3QtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1zZWxlY3QtY29sb3I7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAtbXMtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW8tYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tc2VsZWN0LWJnO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1zZWxlY3QtYmctaW1nKSwgdmFyKC0tI3skcHJlZml4fWZvcm0tc2VsZWN0LWJnLWljb24sIG5vbmUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZm9ybS1zZWxlY3QtYmctcG9zaXRpb247XG4gIGJhY2tncm91bmQtc2l6ZTogJGZvcm0tc2VsZWN0LWJnLXNpemU7XG4gIGJvcmRlcjogJGZvcm0tc2VsZWN0LWJvcmRlci13aWR0aCBzb2xpZCAkZm9ybS1zZWxlY3QtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLCAwKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1zZWxlY3QtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGZvcm0tc2VsZWN0LXRyYW5zaXRpb24pO1xuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1zZWxlY3QtYm94LXNoYWRvdywgJGZvcm0tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgYm94LXNoYWRvdzogJGZvcm0tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgJlttdWx0aXBsZV0sXG4gICZbc2l6ZV06bm90KFtzaXplPVwiMVwiXSkge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkZm9ybS1zZWxlY3QtZGlzYWJsZWQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tc2VsZWN0LWRpc2FibGVkLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tc2VsZWN0LWRpc2FibGVkLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFJlbW92ZSBvdXRsaW5lIGZyb20gc2VsZWN0IGJveCBpbiBGRlxuICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwICRmb3JtLXNlbGVjdC1jb2xvcjtcbiAgfVxufVxuXG4uZm9ybS1zZWxlY3Qtc20ge1xuICBwYWRkaW5nLXRvcDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1zbTtcbiAgcGFkZGluZy1ib3R0b206ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctbGVmdDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLXNlbGVjdC1mb250LXNpemUtc20pO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLmZvcm0tc2VsZWN0LWxnIHtcbiAgcGFkZGluZy10b3A6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXktbGc7XG4gIHBhZGRpbmctYm90dG9tOiAkZm9ybS1zZWxlY3QtcGFkZGluZy15LWxnO1xuICBwYWRkaW5nLWxlZnQ6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1zZWxlY3QtZm9udC1zaXplLWxnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaykge1xuICAgIC5mb3JtLXNlbGVjdCB7XG4gICAgICAtLSN7JHByZWZpeH1mb3JtLXNlbGVjdC1iZy1pbWc6ICN7ZXNjYXBlLXN2ZygkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLWRhcmspfTtcbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vXG4vLyBDaGVjay9yYWRpb1xuLy9cblxuLmZvcm0tY2hlY2ssICN7JHNoaW55LWNoZWNrfSwgI3skc2hpbnktcmFkaW99IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi1oZWlnaHQ6ICRmb3JtLWNoZWNrLW1pbi1oZWlnaHQ7XG4gIHBhZGRpbmctbGVmdDogJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydDtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tY2hlY2stbWFyZ2luLWJvdHRvbTtcblxuICAuZm9ybS1jaGVjay1pbnB1dCwgI3skc2hpbnktY2hlY2t9IGlucHV0LCAjeyRzaGlueS1yYWRpb30gaW5wdXQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAkZm9ybS1jaGVjay1wYWRkaW5nLXN0YXJ0ICogLTE7XG4gIH1cbn1cblxuLmZvcm0tY2hlY2stcmV2ZXJzZSB7XG4gIHBhZGRpbmctcmlnaHQ6ICRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQ7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQgKiAtMTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4jeyRmb3JtLWNoZWNrLWlucHV0LXNlbGVjdG9yfSB7XG4gIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmc6ICN7JGZvcm0tY2hlY2staW5wdXQtYmd9O1xuXG4gIHdpZHRoOiAkZm9ybS1jaGVjay1pbnB1dC13aWR0aDtcbiAgaGVpZ2h0OiAkZm9ybS1jaGVjay1pbnB1dC13aWR0aDtcbiAgbWFyZ2luLXRvcDogKCRsaW5lLWhlaWdodC1iYXNlIC0gJGZvcm0tY2hlY2staW5wdXQtd2lkdGgpICogLjU7IC8vIGxpbmUtaGVpZ2h0IG1pbnVzIGNoZWNrIGhlaWdodFxuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1zLWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1vLWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmctaW1hZ2UpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYm9yZGVyOiAkZm9ybS1jaGVjay1pbnB1dC1ib3JkZXI7XG4gIHByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7IC8vIEtlZXAgdGhlbWVkIGFwcGVhcmFuY2UgZm9yIHByaW50XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGZvcm0tY2hlY2stdHJhbnNpdGlvbik7XG5cbiAgJlt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tY2hlY2staW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWNoZWNrLXJhZGlvLWJvcmRlci1yYWRpdXM7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgZmlsdGVyOiAkZm9ybS1jaGVjay1pbnB1dC1hY3RpdmUtZmlsdGVyO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1jaGVjay1pbnB1dC1mb2N1cy1ib3JkZXI7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiAkZm9ybS1jaGVjay1pbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgJjpjaGVja2VkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1ib3JkZXItY29sb3I7XG5cbiAgICAmW3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgICAtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnLWltYWdlOiAje2VzY2FwZS1zdmcoJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1pbWFnZSl9LCB2YXIoLS0jeyRwcmVmaXh9Z3JhZGllbnQpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmctaW1hZ2U6ICN7ZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWltYWdlKX07XG4gICAgICB9XG4gICAgfVxuXG4gICAgJlt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZy1pbWFnZTogI3tlc2NhcGUtc3ZnKCRmb3JtLWNoZWNrLXJhZGlvLWNoZWNrZWQtYmctaW1hZ2UpfSwgdmFyKC0tI3skcHJlZml4fWdyYWRpZW50KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnLWltYWdlOiAje2VzY2FwZS1zdmcoJGZvcm0tY2hlY2stcmFkaW8tY2hlY2tlZC1iZy1pbWFnZSl9O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZbdHlwZT1cImNoZWNrYm94XCJdOmluZGV0ZXJtaW5hdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJvcmRlci1jb2xvcjtcblxuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICAtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnLWltYWdlOiAje2VzY2FwZS1zdmcoJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1pbWFnZSl9LCB2YXIoLS0jeyRwcmVmaXh9Z3JhZGllbnQpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZy1pbWFnZTogI3tlc2NhcGUtc3ZnKCRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctaW1hZ2UpfTtcbiAgICB9XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBmaWx0ZXI6IG5vbmU7XG4gICAgb3BhY2l0eTogJGZvcm0tY2hlY2staW5wdXQtZGlzYWJsZWQtb3BhY2l0eTtcbiAgfVxuXG4gIC8vIFVzZSBkaXNhYmxlZCBhdHRyaWJ1dGUgaW4gYWRkaXRpb24gb2YgOmRpc2FibGVkIHBzZXVkby1jbGFzc1xuICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjgyNDdcbiAgJltkaXNhYmxlZF0sXG4gICY6ZGlzYWJsZWQge1xuICAgIH4gLmZvcm0tY2hlY2stbGFiZWwsIH4gc3BhbiB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBvcGFjaXR5OiAkZm9ybS1jaGVjay1sYWJlbC1kaXNhYmxlZC1vcGFjaXR5O1xuICAgIH1cbiAgfVxufVxuXG4jeyRmb3JtLWNoZWNrLWxhYmVsLXNlbGVjdG9yfSB7XG4gIGNvbG9yOiAkZm9ybS1jaGVjay1sYWJlbC1jb2xvcjtcbiAgY3Vyc29yOiAkZm9ybS1jaGVjay1sYWJlbC1jdXJzb3I7XG59XG5cbi8vXG4vLyBTd2l0Y2hcbi8vXG5cbi5mb3JtLXN3aXRjaCB7XG4gIHBhZGRpbmctbGVmdDogJGZvcm0tc3dpdGNoLXBhZGRpbmctc3RhcnQ7XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIC0tI3skcHJlZml4fWZvcm0tc3dpdGNoLWJnOiAje2VzY2FwZS1zdmcoJGZvcm0tc3dpdGNoLWJnLWltYWdlKX07XG5cbiAgICB3aWR0aDogJGZvcm0tc3dpdGNoLXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiAkZm9ybS1zd2l0Y2gtcGFkZGluZy1zdGFydCAqIC0xO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1mb3JtLXN3aXRjaC1iZyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1zd2l0Y2gtYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1zd2l0Y2gtdHJhbnNpdGlvbik7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIC0tI3skcHJlZml4fWZvcm0tc3dpdGNoLWJnOiAje2VzY2FwZS1zdmcoJGZvcm0tc3dpdGNoLWZvY3VzLWJnLWltYWdlKX07XG4gICAgfVxuXG4gICAgJjpjaGVja2VkIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLXBvc2l0aW9uO1xuXG4gICAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgICAtLSN7JHByZWZpeH1mb3JtLXN3aXRjaC1iZzogI3tlc2NhcGUtc3ZnKCRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLWltYWdlKX0sIHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1zd2l0Y2gtYmc6ICN7ZXNjYXBlLXN2ZygkZm9ybS1zd2l0Y2gtY2hlY2tlZC1iZy1pbWFnZSl9O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuZm9ybS1jaGVjay1yZXZlcnNlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zd2l0Y2gtcGFkZGluZy1zdGFydDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLXN3aXRjaC1wYWRkaW5nLXN0YXJ0ICogLTE7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuLmZvcm0tY2hlY2staW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4tZW5kO1xufVxuXG4uYnRuLWNoZWNrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAmW2Rpc2FibGVkXSxcbiAgJjpkaXNhYmxlZCB7XG4gICAgKyAuYnRuIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgZmlsdGVyOiBub25lO1xuICAgICAgb3BhY2l0eTogJGZvcm0tY2hlY2stYnRuLWNoZWNrLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgfVxuICB9XG59XG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaykge1xuICAgIC5mb3JtLXN3aXRjaCAuZm9ybS1jaGVjay1pbnB1dDpub3QoOmNoZWNrZWQpOm5vdCg6Zm9jdXMpIHtcbiAgICAgIC0tI3skcHJlZml4fWZvcm0tc3dpdGNoLWJnOiAje2VzY2FwZS1zdmcoJGZvcm0tc3dpdGNoLWJnLWltYWdlLWRhcmspfTtcbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vIFJhbmdlXG4vL1xuLy8gU3R5bGUgcmFuZ2UgaW5wdXRzIHRoZSBzYW1lIGFjcm9zcyBicm93c2Vycy4gVmVuZG9yLXNwZWNpZmljIHJ1bGVzIGZvciBwc2V1ZG9cbi8vIGVsZW1lbnRzIGNhbm5vdCBiZSBtaXhlZC4gQXMgc3VjaCwgdGhlcmUgYXJlIG5vIHNoYXJlZCBzdHlsZXMgZm9yIGZvY3VzIG9yXG4vLyBhY3RpdmUgc3RhdGVzIG9uIHByZWZpeGVkIHNlbGVjdG9ycy5cblxuLmZvcm0tcmFuZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhZGQoJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0LCAkZm9ybS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoICogMik7XG4gIHBhZGRpbmc6IDA7IC8vIE5lZWQgdG8gcmVzZXQgcGFkZGluZ1xuICBhcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1zLWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1vLWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG5cbiAgICAvLyBQc2V1ZG8tZWxlbWVudHMgbXVzdCBiZSBzcGxpdCBhY3Jvc3MgbXVsdGlwbGUgcnVsZXNldHMgdG8gaGF2ZSBhbiBlZmZlY3QuXG4gICAgLy8gTm8gYm94LXNoYWRvdygpIG1peGluIGZvciBmb2N1cyBhY2Nlc3NpYmlsaXR5LlxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHsgYm94LXNoYWRvdzogJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIgICAgIHsgYm94LXNoYWRvdzogJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICB9XG5cbiAgJjo6LW1vei1mb2N1cy1vdXRlciB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBtYXJnaW4tdG9wOiAoJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0IC0gJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0KSAqIC41OyAvLyBXZWJraXQgc3BlY2lmaWNcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1zLWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW8tYXBwZWFyYW5jZTogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZm9ybS1yYW5nZS10aHVtYi1iZyk7XG4gICAgYm9yZGVyOiAkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGZvcm0tcmFuZ2UtdGh1bWItdHJhbnNpdGlvbik7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZm9ybS1yYW5nZS10aHVtYi1hY3RpdmUtYmcpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50OyAvLyBXaHk/XG4gICAgY3Vyc29yOiAkZm9ybS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFuZ2UtdHJhY2stYmc7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tcy1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1vLWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGZvcm0tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmb3JtLXJhbmdlLXRodW1iLXRyYW5zaXRpb24pO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGZvcm0tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogJGZvcm0tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhbmdlLXRyYWNrLWJnO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZpcmVmb3ggc3BlY2lmaWM/XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnO1xuICAgIH1cbiAgfVxufVxuIiwKCQkiLmZvcm0tZmxvYXRpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LFxuICA+IC5mb3JtLXNlbGVjdCB7XG4gICAgaGVpZ2h0OiAkZm9ybS1mbG9hdGluZy1oZWlnaHQ7XG4gICAgbWluLWhlaWdodDogJGZvcm0tZmxvYXRpbmctaGVpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1mbG9hdGluZy1saW5lLWhlaWdodDtcbiAgfVxuXG4gID4gbGFiZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIGhlaWdodDogMTAwJTsgLy8gYWxsb3cgdGV4dGFyZWFzXG4gICAgcGFkZGluZzogJGZvcm0tZmxvYXRpbmctcGFkZGluZy15ICRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50OyAvLyBSZXF1aXJlZCBmb3IgYWxpZ25pbmcgbGFiZWwncyB0ZXh0IHdpdGggdGhlIGlucHV0IGFzIGl0IGFmZmVjdHMgaW5uZXIgYm94IG1vZGVsXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGZvcm0tZmxvYXRpbmctdHJhbnNpdGlvbik7XG4gIH1cblxuICA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICAgIHBhZGRpbmc6ICRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteSAkZm9ybS1mbG9hdGluZy1wYWRkaW5nLXg7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pIHtcbiAgICAgIHBhZGRpbmctdG9wOiAkZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLXQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy1iO1xuICAgIH1cbiAgICAvLyBEdXBsaWNhdGVkIGJlY2F1c2UgYDotd2Via2l0LWF1dG9maWxsYCBpbnZhbGlkYXRlcyBvdGhlciBzZWxlY3RvcnMgd2hlbiBncm91cGVkXG4gICAgJjotd2Via2l0LWF1dG9maWxsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAkZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLXQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy1iO1xuICAgIH1cbiAgfVxuXG4gID4gLmZvcm0tc2VsZWN0IHtcbiAgICBwYWRkaW5nLXRvcDogJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy10O1xuICAgIHBhZGRpbmctYm90dG9tOiAkZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLWI7XG4gIH1cblxuICA+IC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4gID4gLmZvcm0tY29udHJvbDpub3QoOnBsYWNlaG9sZGVyLXNob3duKSxcbiAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCxcbiAgPiAuZm9ybS1zZWxlY3Qge1xuICAgIH4gbGFiZWwge1xuICAgICAgY29sb3I6IHJnYmEodmFyKC0tI3skcHJlZml4fWJvZHktY29sb3ItcmdiKSwgI3skZm9ybS1mbG9hdGluZy1sYWJlbC1vcGFjaXR5fSk7XG4gICAgICB0cmFuc2Zvcm06ICRmb3JtLWZsb2F0aW5nLWxhYmVsLXRyYW5zZm9ybTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAkZm9ybS1mbG9hdGluZy1wYWRkaW5nLXkgKCRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteCAqIC41KTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIGhlaWdodDogJGZvcm0tZmxvYXRpbmctbGFiZWwtaGVpZ2h0O1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBEdXBsaWNhdGVkIGJlY2F1c2UgYDotd2Via2l0LWF1dG9maWxsYCBpbnZhbGlkYXRlcyBvdGhlciBzZWxlY3RvcnMgd2hlbiBncm91cGVkXG4gID4gLmZvcm0tY29udHJvbDotd2Via2l0LWF1dG9maWxsIHtcbiAgICB+IGxhYmVsIHtcbiAgICAgIGNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yLXJnYiksICN7JGZvcm0tZmxvYXRpbmctbGFiZWwtb3BhY2l0eX0pO1xuICAgICAgdHJhbnNmb3JtOiAkZm9ybS1mbG9hdGluZy1sYWJlbC10cmFuc2Zvcm07XG4gICAgfVxuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gICAgfiBsYWJlbCB7XG4gICAgICBib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggMDsgLy8gUmVxdWlyZWQgdG8gcHJvcGVybHkgcG9zaXRpb24gbGFiZWwgdGV4dCAtIGFzIGV4cGxhaW5lZCBhYm92ZVxuICAgIH1cbiAgfVxuXG4gID4gOmRpc2FibGVkIH4gbGFiZWwsXG4gID4gLmZvcm0tY29udHJvbDpkaXNhYmxlZCB+IGxhYmVsIHsgLy8gUmVxdWlyZWQgZm9yIGAuZm9ybS1jb250cm9sYHMgYmVjYXVzZSBvZiBzcGVjaWZpY2l0eVxuICAgIGNvbG9yOiAkZm9ybS1mbG9hdGluZy1sYWJlbC1kaXNhYmxlZC1jb2xvcjtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmlucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gRm9yIGZvcm0gdmFsaWRhdGlvbiBmZWVkYmFja1xuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDsgLy8gRm9yIGZvcm0gdmFsaWRhdGlvbiBmZWVkYmFja1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLXNlbGVjdCxcbiAgPiAuZm9ybS1mbG9hdGluZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBGb3IgZm9jdXMgc3RhdGUncyB6LWluZGV4XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgLXdlYmtpdC1mbGV4OiAxIDEgYXV0bztcbiAgICB3aWR0aDogMSU7XG4gICAgbWluLXdpZHRoOiAwOyAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNjI0NzE0MC93aHktZG9udC1mbGV4LWl0ZW1zLXNocmluay1wYXN0LWNvbnRlbnQtc2l6ZVxuICB9XG5cbiAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgZm9ybSBjb250cm9sIHRvIHRoZSB0b3Agb2Ygc3Vycm91bmRpbmcgZWxlbWVudHNcbiAgPiAuZm9ybS1jb250cm9sOmZvY3VzLFxuICA+IC5mb3JtLXNlbGVjdDpmb2N1cyxcbiAgPiAuZm9ybS1mbG9hdGluZzpmb2N1cy13aXRoaW4ge1xuICAgIHotaW5kZXg6IDU7XG4gIH1cblxuICAvLyBFbnN1cmUgYnV0dG9ucyBhcmUgYWx3YXlzIGFib3ZlIGlucHV0cyBmb3IgbW9yZSB2aXN1YWxseSBwbGVhc2luZyBib3JkZXJzLlxuICAvLyBUaGlzIGlzbid0IG5lZWRlZCBmb3IgYC5pbnB1dC1ncm91cC10ZXh0YCBzaW5jZSBpdCBzaGFyZXMgdGhlIHNhbWUgYm9yZGVyLWNvbG9yXG4gIC8vIGFzIG91ciBpbnB1dHMuXG4gIC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiA1O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRleHR1YWwgYWRkb25zXG4vL1xuLy8gU2VydmVzIGFzIGEgY2F0Y2gtYWxsIGVsZW1lbnQgZm9yIGFueSB0ZXh0IG9yIHJhZGlvL2NoZWNrYm94IGlucHV0IHlvdSB3aXNoXG4vLyB0byBwcmVwZW5kIG9yIGFwcGVuZCB0byBhbiBpbnB1dC5cblxuLmlucHV0LWdyb3VwLXRleHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJGlucHV0LWdyb3VwLWFkZG9uLXBhZGRpbmcteSAkaW5wdXQtZ3JvdXAtYWRkb24tcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7IC8vIE1hdGNoIGlucHV0c1xuICBmb250LXdlaWdodDogJGlucHV0LWdyb3VwLWFkZG9uLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1iZztcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xufVxuXG5cbi8vIFNpemluZ1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGZvcm0gY29udHJvbCBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXJcbi8vIG1hbmlwdWxhdGlvbi5cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmJ0biB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmJ0biB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tc2VsZWN0IHtcbiAgcGFkZGluZy1yaWdodDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteCArICRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcbn1cblxuXG4vLyBSb3VuZGVkIGNvcm5lcnNcbi8vXG4vLyBUaGVzZSBydWxlc2V0cyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIHNpemluZyBvbmVzIHRvIHByb3Blcmx5IG92ZXJyaWRlIHNtIGFuZCBsZ1xuLy8gYm9yZGVyLXJhZGl1cyB2YWx1ZXMgd2hlbiBleHRlbmRpbmcuIFRoZXkncmUgbW9yZSBzcGVjaWZpYyB0aGFuIHdlJ2QgbGlrZVxuLy8gd2l0aCB0aGUgYC5pbnB1dC1ncm91cCA+YCBwYXJ0LCBidXQgd2l0aG91dCBpdCwgd2UgY2Fubm90IG92ZXJyaWRlIHRoZSBzaXppbmcuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4uaW5wdXQtZ3JvdXAge1xuICAmOm5vdCguaGFzLXZhbGlkYXRpb24pIHtcbiAgICA+IDpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKTpub3QoLmRyb3Bkb3duLW1lbnUpOm5vdCguZm9ybS1mbG9hdGluZyksXG4gICAgPiAuZHJvcGRvd24tdG9nZ2xlOm50aC1sYXN0LWNoaWxkKG4gKyAzKSxcbiAgICA+IC5mb3JtLWZsb2F0aW5nOm5vdCg6bGFzdC1jaGlsZCkgPiAuZm9ybS1jb250cm9sLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bm90KDpsYXN0LWNoaWxkKSA+IC5mb3JtLXNlbGVjdCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cygwKTtcbiAgICB9XG4gIH1cblxuICAmLmhhcy12YWxpZGF0aW9uIHtcbiAgICA+IDpudGgtbGFzdC1jaGlsZChuICsgMyk6bm90KC5kcm9wZG93bi10b2dnbGUpOm5vdCguZHJvcGRvd24tbWVudSk6bm90KC5mb3JtLWZsb2F0aW5nKSxcbiAgICA+IC5kcm9wZG93bi10b2dnbGU6bnRoLWxhc3QtY2hpbGQobiArIDQpLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bnRoLWxhc3QtY2hpbGQobiArIDMpID4gLmZvcm0tY29udHJvbCxcbiAgICA+IC5mb3JtLWZsb2F0aW5nOm50aC1sYXN0LWNoaWxkKG4gKyAzKSA+IC5mb3JtLXNlbGVjdCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cygwKTtcbiAgICB9XG4gIH1cblxuICAkdmFsaWRhdGlvbi1tZXNzYWdlczogXCJcIjtcbiAgQGVhY2ggJHN0YXRlIGluIG1hcC1rZXlzKCRmb3JtLXZhbGlkYXRpb24tc3RhdGVzKSB7XG4gICAgJHZhbGlkYXRpb24tbWVzc2FnZXM6ICR2YWxpZGF0aW9uLW1lc3NhZ2VzICsgXCI6bm90KC5cIiArIHVucXVvdGUoJHN0YXRlKSArIFwiLXRvb2x0aXApXCIgKyBcIjpub3QoLlwiICsgdW5xdW90ZSgkc3RhdGUpICsgXCItZmVlZGJhY2spXCI7XG4gIH1cblxuICA+IDpub3QoOmZpcnN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLW1lbnUpI3skdmFsaWRhdGlvbi1tZXNzYWdlc30ge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCN7JGlucHV0LWJvcmRlci13aWR0aH0gKiAtMSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgQGluY2x1ZGUgYm9yZGVyLXN0YXJ0LXJhZGl1cygwKTtcbiAgfVxuXG4gID4gLmZvcm0tZmxvYXRpbmc6bm90KDpmaXJzdC1jaGlsZCkgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLWZsb2F0aW5nOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmZvcm0tc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKDApO1xuICB9XG59XG4iLAoJCSIvLyBGb3JtIHZhbGlkYXRpb25cbi8vXG4vLyBQcm92aWRlIGZlZWRiYWNrIHRvIHVzZXJzIHdoZW4gZm9ybSBmaWVsZCB2YWx1ZXMgYXJlIHZhbGlkIG9yIGludmFsaWQuIFdvcmtzXG4vLyBwcmltYXJpbHkgZm9yIGNsaWVudC1zaWRlIHZhbGlkYXRpb24gdmlhIHNjb3BlZCBgOmludmFsaWRgIGFuZCBgOnZhbGlkYFxuLy8gcHNldWRvLWNsYXNzZXMgYnV0IGFsc28gaW5jbHVkZXMgYC5pcy1pbnZhbGlkYCBhbmQgYC5pcy12YWxpZGAgY2xhc3NlcyBmb3Jcbi8vIHNlcnZlci1zaWRlIHZhbGlkYXRpb24uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXZhbGlkYXRpb24tc3RhdGVzLWxvb3BcbkBlYWNoICRzdGF0ZSwgJGRhdGEgaW4gJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXMge1xuICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkZGF0YS4uLik7XG59XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXMtbG9vcFxuIiwKCQkiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYnRuIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1idG4tcGFkZGluZy14OiAjeyRidG4tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteTogI3skYnRuLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWJ0bi1mb250LWZhbWlseTogI3skYnRuLWZvbnQtZmFtaWx5fTtcbiAgQGluY2x1ZGUgcmZzKCRidG4tZm9udC1zaXplLCAtLSN7JHByZWZpeH1idG4tZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvbnQtd2VpZ2h0OiAjeyRidG4tZm9udC13ZWlnaHR9O1xuICAtLSN7JHByZWZpeH1idG4tbGluZS1oZWlnaHQ6ICN7JGJ0bi1saW5lLWhlaWdodH07XG4gIC0tI3skcHJlZml4fWJ0bi1jb2xvcjogI3skYnRuLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJnOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci13aWR0aDogI3skYnRuLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLXJhZGl1czogI3skYnRuLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWJveC1zaGFkb3c6ICN7JGJ0bi1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLW9wYWNpdHk6ICN7JGJ0bi1kaXNhYmxlZC1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3c6IDAgMCAwICN7JGJ0bi1mb2N1cy13aWR0aH0gcmdiYSh2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLXNoYWRvdy1yZ2IpLCAuNSk7XG4gIC8vIHNjc3MtZG9jcy1lbmQgYnRuLWNzcy12YXJzXG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWJ0bi1wYWRkaW5nLXgpO1xuICBmb250LWZhbWlseTogdmFyKC0tI3skcHJlZml4fWJ0bi1mb250LWZhbWlseSk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9YnRuLWZvbnQtc2l6ZSkpO1xuICBmb250LXdlaWdodDogdmFyKC0tI3skcHJlZml4fWJ0bi1mb250LXdlaWdodCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWxpbmUtaGVpZ2h0KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIC1tb3otdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICAtbXMtdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICAtby10ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIHdoaXRlLXNwYWNlOiAkYnRuLXdoaXRlLXNwYWNlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IGlmKCRlbmFibGUtYnV0dG9uLXBvaW50ZXJzLCBwb2ludGVyLCBudWxsKTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW8tdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodmFyKC0tI3skcHJlZml4fWJ0bi1iZykpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1idG4tYm94LXNoYWRvdykpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRidG4tdHJhbnNpdGlvbik7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gICAgLW1vei10ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgICAtbXMtdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gICAgLW8tdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAuYnRuLWNoZWNrICsgJjpob3ZlciB7XG4gICAgLy8gb3ZlcnJpZGUgZm9yIHRoZSBjaGVja2JveC9yYWRpbyBidXR0b25zXG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcik7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZykpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3IpO1xuICAgIG91dGxpbmU6IDA7XG4gICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93KSwgdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1jaGVjazpmb2N1cy12aXNpYmxlICsgJiB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gICAgb3V0bGluZTogMDtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWJveC1zaGFkb3cpLCB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9XG4gIH1cblxuICAuYnRuLWNoZWNrOmNoZWNrZWQgKyAmLFxuICA6bm90KC5idG4tY2hlY2spICsgJjphY3RpdmUsXG4gICY6Zmlyc3QtY2hpbGQ6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgJi5zaG93IHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJnKTtcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBpZigkZW5hYmxlLWdyYWRpZW50cywgbm9uZSwgbnVsbCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtc2hhZG93KSk7XG5cbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tYWN0aXZlLXNoYWRvdyksIHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmOmRpc2FibGVkLFxuICAmLmRpc2FibGVkLFxuICBmaWVsZHNldDpkaXNhYmxlZCAmIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1jb2xvcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1iZyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogaWYoJGVuYWJsZS1ncmFkaWVudHMsIG5vbmUsIG51bGwpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3IpO1xuICAgIG9wYWNpdHk6IHZhcigtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtb3BhY2l0eSk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBBbHRlcm5hdGUgYnV0dG9uc1xuLy9cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi12YXJpYW50LWxvb3BzXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi0jeyRjb2xvcn0ge1xuICAgIEBpZiAkY29sb3IgPT0gXCJsaWdodFwiIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KFxuICAgICAgICAkdmFsdWUsXG4gICAgICAgICR2YWx1ZSxcbiAgICAgICAgJGhvdmVyLWJhY2tncm91bmQ6IHNoYWRlLWNvbG9yKCR2YWx1ZSwgJGJ0bi1ob3Zlci1iZy1zaGFkZS1hbW91bnQpLFxuICAgICAgICAkaG92ZXItYm9yZGVyOiBzaGFkZS1jb2xvcigkdmFsdWUsICRidG4taG92ZXItYm9yZGVyLXNoYWRlLWFtb3VudCksXG4gICAgICAgICRhY3RpdmUtYmFja2dyb3VuZDogc2hhZGUtY29sb3IoJHZhbHVlLCAkYnRuLWFjdGl2ZS1iZy1zaGFkZS1hbW91bnQpLFxuICAgICAgICAkYWN0aXZlLWJvcmRlcjogc2hhZGUtY29sb3IoJHZhbHVlLCAkYnRuLWFjdGl2ZS1ib3JkZXItc2hhZGUtYW1vdW50KVxuICAgICAgKTtcbiAgICB9IEBlbHNlIGlmICRjb2xvciA9PSBcImRhcmtcIiB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudChcbiAgICAgICAgJHZhbHVlLFxuICAgICAgICAkdmFsdWUsXG4gICAgICAgICRob3Zlci1iYWNrZ3JvdW5kOiB0aW50LWNvbG9yKCR2YWx1ZSwgJGJ0bi1ob3Zlci1iZy10aW50LWFtb3VudCksXG4gICAgICAgICRob3Zlci1ib3JkZXI6IHRpbnQtY29sb3IoJHZhbHVlLCAkYnRuLWhvdmVyLWJvcmRlci10aW50LWFtb3VudCksXG4gICAgICAgICRhY3RpdmUtYmFja2dyb3VuZDogdGludC1jb2xvcigkdmFsdWUsICRidG4tYWN0aXZlLWJnLXRpbnQtYW1vdW50KSxcbiAgICAgICAgJGFjdGl2ZS1ib3JkZXI6IHRpbnQtY29sb3IoJHZhbHVlLCAkYnRuLWFjdGl2ZS1ib3JkZXItdGludC1hbW91bnQpXG4gICAgICApO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJHZhbHVlLCAkdmFsdWUpO1xuICAgIH1cbiAgfVxufVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi12YXJpYW50LWxvb3BzXG5cblxuLy9cbi8vIExpbmsgYnV0dG9uc1xuLy9cblxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcbi5idG4tbGluayB7XG4gIC0tI3skcHJlZml4fWJ0bi1mb250LXdlaWdodDogI3skZm9udC13ZWlnaHQtbm9ybWFsfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiAjeyRidG4tbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3I6ICN7JGJ0bi1saW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3I6ICN7JGJ0bi1saW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtY29sb3I6ICN7JGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93OiAwIDAgMCAjMDAwOyAvLyBDYW4ndCB1c2UgYG5vbmVgIGFzIGtleXdvcmQgbmVnYXRlcyBhbGwgdmFsdWVzIHdoZW4gdXNlZCB3aXRoIG11bHRpcGxlIHNoYWRvd3NcbiAgLS0jeyRwcmVmaXh9YnRuLWZvY3VzLXNoYWRvdy1yZ2I6ICN7dG8tcmdiKG1peChjb2xvci1jb250cmFzdCgkbGluay1jb2xvciksICRsaW5rLWNvbG9yLCAxNSUpKX07XG5cbiAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcbiAgLW1vei10ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG4gIC1tcy10ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG4gIC1vLXRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gICAgLW1vei10ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gICAgLW1zLXRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgICAtby10ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNvbG9yKTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yKTtcbiAgfVxuXG4gIC8vIE5vIG5lZWQgZm9yIGFuIGFjdGl2ZSBzdGF0ZSBoZXJlXG59XG5cblxuLy9cbi8vIEJ1dHRvbiBTaXplc1xuLy9cblxuLmJ0bi1sZyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LWxnLCAkYnRuLXBhZGRpbmcteC1sZywgJGJ0bi1mb250LXNpemUtbGcsICRidG4tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5idG4tc20ge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1zbSwgJGJ0bi1wYWRkaW5nLXgtc20sICRidG4tZm9udC1zaXplLXNtLCAkYnRuLWJvcmRlci1yYWRpdXMtc20pO1xufVxuIiwKCQkiLmZhZGUge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWZhZGUpO1xuXG4gICY6bm90KC5zaG93KSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sbGFwc2UtY2xhc3Nlc1xuLmNvbGxhcHNlIHtcbiAgJjpub3QoLnNob3cpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5jb2xsYXBzaW5nIHtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWNvbGxhcHNlKTtcblxuICAmLmNvbGxhcHNlLWhvcml6b250YWwge1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWNvbGxhcHNlLXdpZHRoKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBjb2xsYXBzZS1jbGFzc2VzXG4iLAoJCSIvLyBUaGUgZHJvcGRvd24gd3JhcHBlciAoYDxkaXY+YClcbi5kcm9wdXAsXG4uZHJvcGVuZCxcbi5kcm9wZG93bixcbi5kcm9wc3RhcnQsXG4uZHJvcHVwLWNlbnRlcixcbi5kcm9wZG93bi1jZW50ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5kcm9wZG93bi10b2dnbGUge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIC8vIEdlbmVyYXRlIHRoZSBjYXJldCBhdXRvbWF0aWNhbGx5XG4gIEBpbmNsdWRlIGNhcmV0KCk7XG59XG5cbi8vIFRoZSBkcm9wZG93biBtZW51XG4uZHJvcGRvd24tbWVudSB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBkcm9wZG93bi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi16aW5kZXg6ICN7JHppbmRleC1kcm9wZG93bn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLW1pbi13aWR0aDogI3skZHJvcGRvd24tbWluLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tcGFkZGluZy14OiAjeyRkcm9wZG93bi1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1wYWRkaW5nLXk6ICN7JGRyb3Bkb3duLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLXNwYWNlcjogI3skZHJvcGRvd24tc3BhY2VyfTtcbiAgQGluY2x1ZGUgcmZzKCRkcm9wZG93bi1mb250LXNpemUsIC0tI3skcHJlZml4fWRyb3Bkb3duLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWNvbG9yOiAjeyRkcm9wZG93bi1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWJnOiAjeyRkcm9wZG93bi1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWJvcmRlci1jb2xvcjogI3skZHJvcGRvd24tYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLXJhZGl1czogI3skZHJvcGRvd24tYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWJvcmRlci13aWR0aDogI3skZHJvcGRvd24tYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogI3skZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWRpdmlkZXItYmc6ICN7JGRyb3Bkb3duLWRpdmlkZXItYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15OiAjeyRkcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm94LXNoYWRvdzogI3skZHJvcGRvd24tYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstY29sb3I6ICN7JGRyb3Bkb3duLWxpbmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAjeyRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1ob3Zlci1iZzogI3skZHJvcGRvd24tbGluay1ob3Zlci1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAjeyRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAjeyRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICN7JGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1pdGVtLXBhZGRpbmcteDogI3skZHJvcGRvd24taXRlbS1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1pdGVtLXBhZGRpbmcteTogI3skZHJvcGRvd24taXRlbS1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItY29sb3I6ICN7JGRyb3Bkb3duLWhlYWRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXg6ICN7JGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItcGFkZGluZy15OiAjeyRkcm9wZG93bi1oZWFkZXItcGFkZGluZy15fTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBkcm9wZG93bi1jc3MtdmFyc1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXppbmRleCk7XG4gIGRpc3BsYXk6IG5vbmU7IC8vIG5vbmUgYnkgZGVmYXVsdCwgYnV0IGJsb2NrIG9uIFwib3BlblwiIG9mIHRoZSBtZW51XG4gIG1pbi13aWR0aDogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLW1pbi13aWR0aCk7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1wYWRkaW5nLXgpO1xuICBtYXJnaW46IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgbWFyZ2luIG9mIHVsXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tZm9udC1zaXplKSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tY29sb3IpO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBFbnN1cmVzIHByb3BlciBhbGlnbm1lbnQgaWYgcGFyZW50IGhhcyBpdCBjaGFuZ2VkIChlLmcuLCBtb2RhbCBmb290ZXIpXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm94LXNoYWRvdykpO1xuXG4gICZbZGF0YS1icy1wb3BwZXJdIHtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tc3BhY2VyKTtcbiAgfVxuXG4gIEBpZiAkZHJvcGRvd24tcGFkZGluZy15ID09IDAge1xuICAgID4gLmRyb3Bkb3duLWl0ZW06Zmlyc3QtY2hpbGQsXG4gICAgPiBsaTpmaXJzdC1jaGlsZCAuZHJvcGRvd24taXRlbSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cbiAgICA+IC5kcm9wZG93bi1pdGVtOmxhc3QtY2hpbGQsXG4gICAgPiBsaTpsYXN0LWNoaWxkIC5kcm9wZG93bi1pdGVtIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuXG4gIH1cbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHJlc3BvbnNpdmUtYnJlYWtwb2ludHNcbi8vIFdlIGRlbGliZXJhdGVseSBoYXJkY29kZSB0aGUgYGJzLWAgcHJlZml4IGJlY2F1c2Ugd2UgY2hlY2tcbi8vIHRoaXMgY3VzdG9tIHByb3BlcnR5IGluIEpTIHRvIGRldGVybWluZSBQb3BwZXIncyBwb3NpdGlvbmluZ1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZHJvcGRvd24tbWVudSN7JGluZml4fS1zdGFydCB7XG4gICAgICAtLWJzLXBvc2l0aW9uOiBzdGFydDtcblxuICAgICAgJltkYXRhLWJzLXBvcHBlcl0ge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZHJvcGRvd24tbWVudSN7JGluZml4fS1lbmQge1xuICAgICAgLS1icy1wb3NpdGlvbjogZW5kO1xuXG4gICAgICAmW2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCByZXNwb25zaXZlLWJyZWFrcG9pbnRzXG5cbi8vIEFsbG93IGZvciBkcm9wZG93bnMgdG8gZ28gYm90dG9tIHVwIChha2EsIGRyb3B1cC1tZW51KVxuLy8gSnVzdCBhZGQgLmRyb3B1cCBhZnRlciB0aGUgc3RhbmRhcmQgLmRyb3Bkb3duIGNsYXNzIGFuZCB5b3UncmUgc2V0LlxuLmRyb3B1cCB7XG4gIC5kcm9wZG93bi1tZW51W2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1zcGFjZXIpO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQodXApO1xuICB9XG59XG5cbi5kcm9wZW5kIHtcbiAgLmRyb3Bkb3duLW1lbnVbZGF0YS1icy1wb3BwZXJdIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tc3BhY2VyKTtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KGVuZCk7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdmVydGljYWwtYWxpZ246IDA7XG4gICAgfVxuICB9XG59XG5cbi5kcm9wc3RhcnQge1xuICAuZHJvcGRvd24tbWVudVtkYXRhLWJzLXBvcHBlcl0ge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tc3BhY2VyKTtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KHN0YXJ0KTtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgdmVydGljYWwtYWxpZ246IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBgPGhyPmApIHdpdGhpbiB0aGUgZHJvcGRvd25cbi5kcm9wZG93bi1kaXZpZGVyIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15KSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWRpdmlkZXItYmcpO1xuICBvcGFjaXR5OiAxOyAvLyBSZXZpc2l0IGluIHY2IHRvIGRlLWR1cGUgc3R5bGVzIHRoYXQgY29uZmxpY3Qgd2l0aCA8aHI+IGVsZW1lbnRcbn1cblxuLy8gTGlua3MsIGJ1dHRvbnMsIGFuZCBtb3JlIHdpdGhpbiB0aGUgZHJvcGRvd24gbWVudVxuLy9cbi8vIGA8YnV0dG9uPmAtc3BlY2lmaWMgc3R5bGVzIGFyZSBkZW5vdGVkIHdpdGggYC8vIEZvciA8YnV0dG9uPnNgXG4uZHJvcGRvd24taXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1pdGVtLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy14KTtcbiAgY2xlYXI6IGJvdGg7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstY29sb3IpO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgLW1vei10ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIC1tcy10ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIC1vLXRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gcHJldmVudCBsaW5rcyBmcm9tIHJhbmRvbWx5IGJyZWFraW5nIG9udG8gbmV3IGxpbmVzXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgYm9yZGVyOiAwOyAvLyBGb3IgYDxidXR0b24+YHNcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1ib3JkZXItcmFkaXVzLCAwKSk7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICAgIC1tb3otdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gICAgLW1zLXRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICAgIC1vLXRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWhvdmVyLWJnKSk7XG4gIH1cblxuICAmLmFjdGl2ZSxcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtYmcpKTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgYmFja2dyb3VuZC1pbWFnZTogaWYoJGVuYWJsZS1ncmFkaWVudHMsIG5vbmUsIG51bGwpO1xuICB9XG59XG5cbi5kcm9wZG93bi1tZW51LnNob3cge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gRHJvcGRvd24gc2VjdGlvbiBoZWFkZXJzXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIGZvciB1c2Ugd2l0aCBoZWFkaW5nIGVsZW1lbnRzXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLXNtKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItY29sb3IpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBhcyB3aXRoID4gbGkgPiBhXG59XG5cbi8vIERyb3Bkb3duIHRleHRcbi5kcm9wZG93bi1pdGVtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstY29sb3IpO1xufVxuXG4vLyBEYXJrIGRyb3Bkb3duc1xuLmRyb3Bkb3duLW1lbnUtZGFyayB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBkcm9wZG93bi1kYXJrLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYmc6ICN7JGRyb3Bkb3duLWRhcmstYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm94LXNoYWRvdzogI3skZHJvcGRvd24tZGFyay1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1jb2xvcjogI3skZHJvcGRvd24tZGFyay1saW5rLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogI3skZHJvcGRvd24tZGFyay1saW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tZGl2aWRlci1iZzogI3skZHJvcGRvd24tZGFyay1kaXZpZGVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1ob3Zlci1iZzogI3skZHJvcGRvd24tZGFyay1saW5rLWhvdmVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstbGluay1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogI3skZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstbGluay1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1jb2xvcjogI3skZHJvcGRvd24tZGFyay1oZWFkZXItY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duLWRhcmstY3NzLXZhcnNcbn1cbiIsCgkJIi8vIE1ha2UgdGhlIGRpdiBiZWhhdmUgbGlrZSBhIGJ1dHRvblxuLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvLyBtYXRjaCAuYnRuIGFsaWdubWVudCBnaXZlbiBmb250LXNpemUgaGFjayBhYm92ZVxuXG4gID4gLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIC13ZWJraXQtZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAvLyBCcmluZyB0aGUgaG92ZXIsIGZvY3VzZWQsIGFuZCBcImFjdGl2ZVwiIGJ1dHRvbnMgdG8gdGhlIGZyb250IHRvIG92ZXJsYXlcbiAgLy8gdGhlIGJvcmRlcnMgcHJvcGVybHlcbiAgPiAuYnRuLWNoZWNrOmNoZWNrZWQgKyAuYnRuLFxuICA+IC5idG4tY2hlY2s6Zm9jdXMgKyAuYnRuLFxuICA+IC5idG46aG92ZXIsXG4gID4gLmJ0bjpmb2N1cyxcbiAgPiAuYnRuOmFjdGl2ZSxcbiAgPiAuYnRuLmFjdGl2ZSB7XG4gICAgei1pbmRleDogMTtcbiAgfVxufVxuXG4vLyBPcHRpb25hbDogR3JvdXAgbXVsdGlwbGUgYnV0dG9uIGdyb3VwcyB0b2dldGhlciBmb3IgYSB0b29sYmFyXG4uYnRuLXRvb2xiYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4uYnRuLWdyb3VwIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYnRuLWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnMgd2hlbiBidXR0b25zIGFyZSBuZXh0IHRvIGVhY2ggb3RoZXJcbiAgPiA6bm90KC5idG4tY2hlY2s6Zmlyc3QtY2hpbGQpICsgLmJ0bixcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygjeyRidG4tYm9yZGVyLXdpZHRofSAqIC0xKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgfVxuXG4gIC8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuICA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gID4gLmJ0bi5kcm9wZG93bi10b2dnbGUtc3BsaXQ6Zmlyc3QtY2hpbGQsXG4gID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWVuZC1yYWRpdXMoMCk7XG4gIH1cblxuICAvLyBUaGUgbGVmdCByYWRpdXMgc2hvdWxkIGJlIDAgaWYgdGhlIGJ1dHRvbiBpczpcbiAgLy8gLSB0aGUgXCJ0aGlyZCBvciBtb3JlXCIgY2hpbGRcbiAgLy8gLSB0aGUgc2Vjb25kIGNoaWxkIGFuZCB0aGUgcHJldmlvdXMgZWxlbWVudCBpc24ndCBgLmJ0bi1jaGVja2AgKG1ha2luZyBpdCB0aGUgZmlyc3QgY2hpbGQgdmlzdWFsbHkpXG4gIC8vIC0gcGFydCBvZiBhIGJ0bi1ncm91cCB3aGljaCBpc24ndCB0aGUgZmlyc3QgY2hpbGRcbiAgPiAuYnRuOm50aC1jaGlsZChuICsgMyksXG4gID4gOm5vdCguYnRuLWNoZWNrKSArIC5idG4sXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1zdGFydC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgYnV0dG9uIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llciBtYW5pcHVsYXRpb24uXG5cbi5idG4tZ3JvdXAtc20gPiAuYnRuIHsgQGV4dGVuZCAuYnRuLXNtOyB9XG4uYnRuLWdyb3VwLWxnID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1sZzsgfVxuXG5cbi8vXG4vLyBTcGxpdCBidXR0b24gZHJvcGRvd25zXG4vL1xuXG4uZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXggKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXggKiAuNzU7XG5cbiAgJjo6YWZ0ZXIsXG4gIC5kcm9wdXAgJjo6YWZ0ZXIsXG4gIC5kcm9wZW5kICY6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gIC5kcm9wc3RhcnQgJjo6YmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmJ0bi1zbSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbn1cblxuLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbn1cblxuXG4vLyBUaGUgY2xpY2thYmxlIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG1lbnVcbi8vIFNldCB0aGUgc2FtZSBpbnNldCBzaGFkb3cgYXMgdGhlIDphY3RpdmUgc3RhdGVcbi5idG4tZ3JvdXAuc2hvdyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcblxuICAvLyBTaG93IG5vIHNoYWRvdyBmb3IgYC5idG4tbGlua2Agc2luY2UgaXQgaGFzIG5vIG90aGVyIGJ1dHRvbiBzdHlsZXMuXG4gICYuYnRuLWxpbmsge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gVmVydGljYWwgYnV0dG9uIGdyb3Vwc1xuLy9cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKCN7JGJ0bi1ib3JkZXItd2lkdGh9ICogLTEpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxuXG4gID4gLmJ0biB+IC5idG4sXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG4iLAoJCSIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gS2lja3N0YXJ0IGFueSBuYXZpZ2F0aW9uIGNvbXBvbmVudCB3aXRoIGEgc2V0IG9mIHN0eWxlIHJlc2V0cy4gV29ya3Mgd2l0aFxuLy8gYDxuYXY+YHMsIGA8dWw+YHMgb3IgYDxvbD5gcy5cblxuLm5hdiB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXYtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstcGFkZGluZy14OiAjeyRuYXYtbGluay1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXk6ICN7JG5hdi1saW5rLXBhZGRpbmcteX07XG4gIEBpbmNsdWRlIHJmcygkbmF2LWxpbmstZm9udC1zaXplLCAtLSN7JHByZWZpeH1uYXYtbGluay1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1mb250LXdlaWdodDogI3skbmF2LWxpbmstZm9udC13ZWlnaHR9O1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1jb2xvcjogI3skbmF2LWxpbmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1ob3Zlci1jb2xvcjogI3skbmF2LWxpbmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1kaXNhYmxlZC1jb2xvcjogI3skbmF2LWxpbmstZGlzYWJsZWQtY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdi1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubmF2LWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC1zaXplKSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC13ZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgLW1vei10ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIC1tcy10ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIC1vLXRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRuYXYtbGluay10cmFuc2l0aW9uKTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLWhvdmVyLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICAgIC1tb3otdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gICAgLW1zLXRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICAgIC1vLXRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6ICRuYXYtbGluay1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGUgbGlnaHRlbnMgdGV4dFxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLWRpc2FibGVkLWNvbG9yKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cbn1cblxuLy9cbi8vIFRhYnNcbi8vXG5cbi5uYXYtdGFicyB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXYtdGFicy1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItd2lkdGg6ICN7JG5hdi10YWJzLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci1jb2xvcjogI3skbmF2LXRhYnMtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXJhZGl1czogI3skbmF2LXRhYnMtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAjeyRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAjeyRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAjeyRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogI3skbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXYtdGFicy1jc3MtdmFyc1xuXG4gIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItY29sb3IpO1xuXG4gIC5uYXYtbGluayB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItcmFkaXVzKSk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgLy8gUHJldmVudHMgYWN0aXZlIC5uYXYtbGluayB0YWIgb3ZlcmxhcHBpbmcgZm9jdXMgb3V0bGluZSBvZiBwcmV2aW91cy9uZXh0IC5uYXYtbGlua1xuICAgICAgaXNvbGF0aW9uOiBpc29sYXRlO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5uYXYtaXRlbS5zaG93IC5uYXYtbGluayB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstYWN0aXZlLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIC8vIE1ha2UgZHJvcGRvd24gYm9yZGVyIG92ZXJsYXAgdGFiIGJvcmRlclxuICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgLy8gUmVtb3ZlIHRoZSB0b3Agcm91bmRlZCBjb3JuZXJzIGhlcmUgc2luY2UgdGhlcmUgaXMgYSBoYXJkIGVkZ2UgYWJvdmUgdGhlIG1lbnVcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBQaWxsc1xuLy9cblxuLm5hdi1waWxscyB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXYtcGlsbHMtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICN7JG5hdi1waWxscy1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAjeyRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICN7JG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZ307XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2LXBpbGxzLWNzcy12YXJzXG5cbiAgLm5hdi1saW5rIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1uYXYtcGlsbHMtYm9yZGVyLXJhZGl1cykpO1xuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLnNob3cgPiAubmF2LWxpbmsge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZyh2YXIoLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnKSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gVW5kZXJsaW5lXG4vL1xuXG4ubmF2LXVuZGVybGluZSB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXYtdW5kZXJsaW5lLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtZ2FwOiAjeyRuYXYtdW5kZXJsaW5lLWdhcH07XG4gIC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtYm9yZGVyLXdpZHRoOiAjeyRuYXYtdW5kZXJsaW5lLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtbGluay1hY3RpdmUtY29sb3I6ICN7JG5hdi11bmRlcmxpbmUtbGluay1hY3RpdmUtY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdi11bmRlcmxpbmUtY3NzLXZhcnNcblxuICBnYXA6IHZhcigtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWdhcCk7XG5cbiAgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1ib3JkZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAuc2hvdyA+IC5uYXYtbGluayB7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1saW5rLWFjdGl2ZS1jb2xvcik7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogY3VycmVudGNvbG9yO1xuICB9XG59XG5cblxuLy9cbi8vIEp1c3RpZmllZCB2YXJpYW50c1xuLy9cblxuLm5hdi1maWxsIHtcbiAgPiAubmF2LWxpbmssXG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgLXdlYmtpdC1mbGV4OiAxIDEgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLm5hdi1qdXN0aWZpZWQge1xuICA+IC5uYXYtbGluayxcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgLXdlYmtpdC1mbGV4LWdyb3c6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5uYXYtZmlsbCxcbi5uYXYtanVzdGlmaWVkIHtcbiAgLm5hdi1pdGVtIC5uYXYtbGluayB7XG4gICAgd2lkdGg6IDEwMCU7IC8vIE1ha2Ugc3VyZSBidXR0b24gd2lsbCBncm93XG4gIH1cbn1cblxuXG4vLyBUYWJiYWJsZSB0YWJzXG4vL1xuLy8gSGlkZSB0YWJiYWJsZSBwYW5lcyB0byBzdGFydCwgc2hvdyB0aGVtIHdoZW4gYC5hY3RpdmVgXG5cbi50YWItY29udGVudCB7XG4gID4gLnRhYi1wYW5lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gID4gLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsCgkJIi8vIE5hdmJhclxuLy9cbi8vIFByb3ZpZGUgYSBzdGF0aWMgbmF2YmFyIGZyb20gd2hpY2ggd2UgZXhwYW5kIHRvIGNyZWF0ZSBmdWxsLXdpZHRoLCBmaXhlZCwgYW5kXG4vLyBvdGhlciBuYXZiYXIgdmFyaWF0aW9ucy5cblxuLm5hdmJhciB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXItY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXBhZGRpbmcteDogI3tpZigkbmF2YmFyLXBhZGRpbmcteCA9PSBudWxsLCAwLCAkbmF2YmFyLXBhZGRpbmcteCl9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItcGFkZGluZy15OiAjeyRuYXZiYXItcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItaG92ZXItY29sb3I6ICN7JG5hdmJhci1saWdodC1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1kaXNhYmxlZC1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWFjdGl2ZS1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1wYWRkaW5nLXk6ICN7JG5hdmJhci1icmFuZC1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtbWFyZ2luLWVuZDogI3skbmF2YmFyLWJyYW5kLW1hcmdpbi1lbmR9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtZm9udC1zaXplOiAjeyRuYXZiYXItYnJhbmQtZm9udC1zaXplfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtaG92ZXItY29sb3I6ICN7JG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg6ICN7JG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICN7JG5hdmJhci10b2dnbGVyLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogI3skbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAjeyRuYXZiYXItdG9nZ2xlci1mb250LXNpemV9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1pY29uLWJnOiAje2VzY2FwZS1zdmcoJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmcpfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAjeyRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItZm9jdXMtd2lkdGg6ICN7JG5hdmJhci10b2dnbGVyLWZvY3VzLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItdHJhbnNpdGlvbjogI3skbmF2YmFyLXRvZ2dsZXItdHJhbnNpdGlvbn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLWNzcy12YXJzXG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gYWxsb3cgdXMgdG8gZG8gdGhlIGxpbmUgYnJlYWsgZm9yIGNvbGxhcHNpbmcgY29udGVudFxuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDsgLy8gYWxsb3cgdXMgdG8gZG8gdGhlIGxpbmUgYnJlYWsgZm9yIGNvbGxhcHNpbmcgY29udGVudFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gc3BhY2Ugb3V0IGJyYW5kIGZyb20gbG9nb1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gc3BhY2Ugb3V0IGJyYW5kIGZyb20gbG9nb1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW5hdmJhci1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygpO1xuXG4gIC8vIEJlY2F1c2UgZmxleCBwcm9wZXJ0aWVzIGFyZW4ndCBpbmhlcml0ZWQsIHdlIG5lZWQgdG8gcmVkZWNsYXJlIHRoZXNlIGZpcnN0XG4gIC8vIGZldyBwcm9wZXJ0aWVzIHNvIHRoYXQgY29udGVudCBuZXN0ZWQgd2l0aGluIGJlaGF2ZSBwcm9wZXJseS5cbiAgLy8gVGhlIGBmbGV4LXdyYXBgIHByb3BlcnR5IGlzIGluaGVyaXRlZCB0byBzaW1wbGlmeSB0aGUgZXhwYW5kZWQgbmF2YmFyc1xuICAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZmxleC13cmFwOiBpbmhlcml0O1xuICAgIC13ZWJraXQtZmxleC13cmFwOiBpbmhlcml0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gID4gLmNvbnRhaW5lcixcbiAgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAZXh0ZW5kICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzO1xuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgPiAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aHMpfSB7XG4gICAgICBAZXh0ZW5kICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciBicmFuZFxuLy9cbi8vIFVzZWQgZm9yIGJyYW5kLCBwcm9qZWN0LCBvciBzaXRlIG5hbWVzLlxuXG4ubmF2YmFyLWJyYW5kIHtcbiAgcGFkZGluZy10b3A6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtcGFkZGluZy15KTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtcGFkZGluZy15KTtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLW1hcmdpbi1lbmQpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1mb250LXNpemUpKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICAtbW96LXRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgLW1zLXRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgLW8tdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWhvdmVyLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICAgIC1tb3otdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gICAgLW1zLXRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICAgIC1vLXRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIG5hdlxuLy9cbi8vIEN1c3RvbSBuYXZiYXIgbmF2aWdhdGlvbiAoZG9lc24ndCByZXF1aXJlIGAubmF2YCwgYnV0IGRvZXMgbWFrZSB1c2Ugb2YgYC5uYXYtbGlua2ApLlxuXG4ubmF2YmFyLW5hdiB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXItbmF2LWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteDogMDtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstcGFkZGluZy15OiAjeyRuYXYtbGluay1wYWRkaW5nLXl9O1xuICBAaW5jbHVkZSByZnMoJG5hdi1saW5rLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC13ZWlnaHQ6ICN7JG5hdi1saW5rLWZvbnQtd2VpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItY29sb3IpO1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1ob3Zlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1ob3Zlci1jb2xvcik7XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWRpc2FibGVkLWNvbG9yKTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXZiYXItbmF2LWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvLyBjYW5ub3QgdXNlIGBpbmhlcml0YCB0byBnZXQgdGhlIGAubmF2YmFyYHMgdmFsdWVcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvLyBjYW5ub3QgdXNlIGBpbmhlcml0YCB0byBnZXQgdGhlIGAubmF2YmFyYHMgdmFsdWVcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC5uYXYtbGluayB7XG4gICAgJi5hY3RpdmUsXG4gICAgJi5zaG93IHtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWFjdGl2ZS1jb2xvcik7XG4gICAgfVxuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdGV4dFxuLy9cbi8vXG5cbi5uYXZiYXItdGV4dCB7XG4gIHBhZGRpbmctdG9wOiAkbmF2LWxpbmstcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJG5hdi1saW5rLXBhZGRpbmcteTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItY29sb3IpO1xuXG4gIGEsXG4gIGE6aG92ZXIsXG4gIGE6Zm9jdXMgIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1hY3RpdmUtY29sb3IpO1xuICB9XG59XG5cblxuLy8gUmVzcG9uc2l2ZSBuYXZiYXJcbi8vXG4vLyBDdXN0b20gc3R5bGVzIGZvciByZXNwb25zaXZlIGNvbGxhcHNpbmcgYW5kIHRvZ2dsaW5nIG9mIG5hdmJhciBjb250ZW50cy5cbi8vIFBvd2VyZWQgYnkgdGhlIGNvbGxhcHNlIEJvb3RzdHJhcCBKYXZhU2NyaXB0IHBsdWdpbi5cblxuLy8gV2hlbiBjb2xsYXBzZWQsIHByZXZlbnQgdGhlIHRvZ2dsZWFibGUgbmF2YmFyIGNvbnRlbnRzIGZyb20gYXBwZWFyaW5nIGluXG4vLyB0aGUgZGVmYXVsdCBmbGV4Ym94IHJvdyBvcmllbnRhdGlvbi4gUmVxdWlyZXMgdGhlIHVzZSBvZiBgZmxleC13cmFwOiB3cmFwYFxuLy8gb24gdGhlIGAubmF2YmFyYCBwYXJlbnQuXG4ubmF2YmFyLWNvbGxhcHNlIHtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgLXdlYmtpdC1mbGV4LWJhc2lzOiAxMDAlO1xuICBmbGV4LWdyb3c6IDE7XG4gIC13ZWJraXQtZmxleC1ncm93OiAxO1xuICAvLyBGb3IgYWx3YXlzIGV4cGFuZGVkIG9yIGV4dHJhIGZ1bGwgbmF2YmFycywgZW5zdXJlIGNvbnRlbnQgYWxpZ25zIGl0c2VsZlxuICAvLyBwcm9wZXJseSB2ZXJ0aWNhbGx5LiBDYW4gYmUgZWFzaWx5IG92ZXJyaWRkZW4gd2l0aCBmbGV4IHV0aWxpdGllcy5cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vLyBCdXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBuYXZiYXIgd2hlbiBpbiBpdHMgY29sbGFwc2VkIHN0YXRlXG4ubmF2YmFyLXRvZ2dsZXIge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItcGFkZGluZy14KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1mb250LXNpemUpKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1ib3JkZXItY29sb3IpOyAvLyByZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci10cmFuc2l0aW9uKSk7XG5cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWZvY3VzLXdpZHRoKTtcbiAgfVxufVxuXG4vLyBLZWVwIGFzIGEgc2VwYXJhdGUgZWxlbWVudCBzbyBmb2xrcyBjYW4gZWFzaWx5IG92ZXJyaWRlIGl0IHdpdGggYW5vdGhlciBpY29uXG4vLyBvciBpbWFnZSBmaWxlIGFzIG5lZWRlZC5cbi5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS41ZW07XG4gIGhlaWdodDogMS41ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1pY29uLWJnKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG59XG5cbi5uYXZiYXItbmF2LXNjcm9sbCB7XG4gIG1heC1oZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1zY3JvbGwtaGVpZ2h0LCA3NXZoKTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci1leHBhbmQtbG9vcFxuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAubmF2YmFyLWV4cGFuZC0qYCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nXG4vLyB3aGVyZSB5b3VyIG5hdmJhciBjb2xsYXBzZXMuXG4ubmF2YmFyLWV4cGFuZCB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3Mvc2VsZWN0b3Itbm8tdW5pb24tY2xhc3MtbmFtZVxuICAgICYjeyRpbmZpeH0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmV4dCkge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgLXdlYmtpdC1mbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgICAgICAubmF2YmFyLW5hdiB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItbmF2LWxpbmstcGFkZGluZy14KTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tI3skcHJlZml4fW5hdmJhci1uYXYtbGluay1wYWRkaW5nLXgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItbmF2LXNjcm9sbCB7XG4gICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgICAtd2Via2l0LWZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLXRvZ2dsZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAub2ZmY2FudmFzIHtcbiAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgIHotaW5kZXg6IGF1dG87XG4gICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgIC13ZWJraXQtZmxleC1ncm93OiAxO1xuICAgICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG5vbmUpO1xuICAgICAgICAgIC8vIHN0eWxlbGludC1lbmFibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbiAgICAgICAgICAub2ZmY2FudmFzLWhlYWRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5vZmZjYW52YXMtYm9keSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICAgICAgLXdlYmtpdC1mbGV4LWdyb3c6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLWV4cGFuZC1sb29wXG5cbi8vIE5hdmJhciB0aGVtZXNcbi8vXG4vLyBTdHlsZXMgZm9yIHN3aXRjaGluZyBiZXR3ZWVuIG5hdmJhcnMgd2l0aCBsaWdodCBvciBkYXJrIGJhY2tncm91bmQuXG5cbi5uYXZiYXItbGlnaHQge1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgLm5hdmJhci1saWdodGBcIiwgXCJ2NS4yLjBcIiwgXCJ2Ni4wLjBcIiwgdHJ1ZSk7XG59XG5cbi5uYXZiYXItZGFyayxcbi5uYXZiYXJbZGF0YS1icy10aGVtZT1cImRhcmtcIl0ge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLWRhcmstY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWNvbG9yOiAjeyRuYXZiYXItZGFyay1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1ob3Zlci1jb2xvcjogI3skbmF2YmFyLWRhcmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItZGlzYWJsZWQtY29sb3I6ICN7JG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWFjdGl2ZS1jb2xvcjogI3skbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWNvbG9yOiAjeyRuYXZiYXItZGFyay1icmFuZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1ob3Zlci1jb2xvcjogI3skbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1ib3JkZXItY29sb3I6ICN7JG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItaWNvbi1iZzogI3tlc2NhcGUtc3ZnKCRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmcpfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXZiYXItZGFyay1jc3MtdmFyc1xufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmspIHtcbiAgICAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gICAgICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1pY29uLWJnOiAje2VzY2FwZS1zdmcoJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZyl9O1xuICAgIH1cbiAgfVxufVxuIiwKCQkiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uY2FyZCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBjYXJkLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWNhcmQtc3BhY2VyLXk6ICN7JGNhcmQtc3BhY2VyLXl9O1xuICAtLSN7JHByZWZpeH1jYXJkLXNwYWNlci14OiAjeyRjYXJkLXNwYWNlci14fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC10aXRsZS1zcGFjZXIteTogI3skY2FyZC10aXRsZS1zcGFjZXIteX07XG4gIC0tI3skcHJlZml4fWNhcmQtdGl0bGUtY29sb3I6ICN7JGNhcmQtdGl0bGUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1jYXJkLXN1YnRpdGxlLWNvbG9yOiAjeyRjYXJkLXN1YnRpdGxlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItd2lkdGg6ICN7JGNhcmQtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItY29sb3I6ICN7JGNhcmQtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItcmFkaXVzOiAjeyRjYXJkLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1jYXJkLWJveC1zaGFkb3c6ICN7JGNhcmQtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogI3skY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy15OiAjeyRjYXJkLWNhcC1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXg6ICN7JGNhcmQtY2FwLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWNhcmQtY2FwLWJnOiAjeyRjYXJkLWNhcC1iZ307XG4gIC0tI3skcHJlZml4fWNhcmQtY2FwLWNvbG9yOiAjeyRjYXJkLWNhcC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWNhcmQtaGVpZ2h0OiAjeyRjYXJkLWhlaWdodH07XG4gIC0tI3skcHJlZml4fWNhcmQtY29sb3I6ICN7JGNhcmQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1jYXJkLWJnOiAjeyRjYXJkLWJnfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAjeyRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmd9O1xuICAtLSN7JHByZWZpeH1jYXJkLWdyb3VwLW1hcmdpbjogI3skY2FyZC1ncm91cC1tYXJnaW59O1xuICAvLyBzY3NzLWRvY3MtZW5kIGNhcmQtY3NzLXZhcnNcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4td2lkdGg6IDA7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yMjc0MCNpc3N1ZWNvbW1lbnQtMzA1ODY4MTA2XG4gIGhlaWdodDogdmFyKC0tI3skcHJlZml4fWNhcmQtaGVpZ2h0KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1jYXJkLWJveC1zaGFkb3cpKTtcblxuICA+IGhyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICA+IC5saXN0LWdyb3VwIHtcbiAgICBib3JkZXItdG9wOiBpbmhlcml0O1xuICAgIGJvcmRlci1ib3R0b206IGluaGVyaXQ7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cbiAgfVxuXG4gIC8vIER1ZSB0byBzcGVjaWZpY2l0eSBvZiB0aGUgYWJvdmUgc2VsZWN0b3IgKGAuY2FyZCA+IC5saXN0LWdyb3VwYCksIHdlIG11c3RcbiAgLy8gdXNlIGEgY2hpbGQgc2VsZWN0b3IgaGVyZSB0byBwcmV2ZW50IGRvdWJsZSBib3JkZXJzLlxuICA+IC5jYXJkLWhlYWRlciArIC5saXN0LWdyb3VwLFxuICA+IC5saXN0LWdyb3VwICsgLmNhcmQtZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbi5jYXJkLWJvZHkge1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgZm9yIGRlY2tzIGFuZCBncm91cHMgc28gdGhhdCBjYXJkIGJsb2NrcyB0YWtlIHVwXG4gIC8vIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGUsIGVuc3VyaW5nIGZvb3RlcnMgYXJlIGFsaWduZWQgdG8gdGhlIGJvdHRvbS5cbiAgZmxleDogMSAxIGF1dG87XG4gIC13ZWJraXQtZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1jYXJkLXNwYWNlci15KSB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1zcGFjZXIteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jb2xvcik7XG59XG5cbi5jYXJkLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWNhcmQtdGl0bGUtc3BhY2VyLXkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtdGl0bGUtY29sb3IpO1xufVxuXG4uY2FyZC1zdWJ0aXRsZSB7XG4gIG1hcmdpbi10b3A6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWNhcmQtdGl0bGUtc3BhY2VyLXkpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLXN1YnRpdGxlLWNvbG9yKTtcbn1cblxuLmNhcmQtdGV4dDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtbGluayB7XG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gICAgLW1vei10ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgICAtbXMtdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gICAgLW8tdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gIH1cblxuICArIC5jYXJkLWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1zcGFjZXIteCk7XG4gIH1cbn1cblxuLy9cbi8vIE9wdGlvbmFsIHRleHR1YWwgY2Fwc1xuLy9cblxuLmNhcmQtaGVhZGVyIHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlbW92ZXMgdGhlIGRlZmF1bHQgbWFyZ2luLWJvdHRvbSBvZiA8aE4+XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtYmcpO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1jb2xvcik7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSAwIDApO1xuICB9XG59XG5cbi5jYXJkLWZvb3RlciB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLWJnKTtcbiAgYm9yZGVyLXRvcDogdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItY29sb3IpO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgdmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykgdmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICB9XG59XG5cblxuLy9cbi8vIEhlYWRlciBuYXZzXG4vL1xuXG4uY2FyZC1oZWFkZXItdGFicyB7XG4gIG1hcmdpbi1yaWdodDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy15KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1iZyk7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtYmcpO1xuICB9XG59XG5cbi5jYXJkLWhlYWRlci1waWxscyB7XG4gIG1hcmdpbi1yaWdodDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3Rcbn1cblxuLy8gQ2FyZCBpbWFnZVxuLmNhcmQtaW1nLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWNhcmQtaW1nLW92ZXJsYXktcGFkZGluZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIHdpZHRoOiAxMDAlOyAvLyBSZXF1aXJlZCBiZWNhdXNlIHdlIHVzZSBmbGV4Ym94IGFuZCB0aGlzIGluaGVyZW50bHkgYXBwbGllcyBhbGlnbi1zZWxmOiBzdHJldGNoXG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy10b3Age1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy1ib3R0b20ge1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG59XG5cblxuLy9cbi8vIENhcmQgZ3JvdXBzXG4vL1xuXG4uY2FyZC1ncm91cCB7XG4gIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcbiAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgPiAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWNhcmQtZ3JvdXAtbWFyZ2luKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIC13ZWJraXQtZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gICAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgICA+IC5jYXJkIHtcbiAgICAgIC8vIEZsZXhidWdzICM0OiBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzI2ZsZXhidWctNFxuICAgICAgZmxleDogMSAwIDAlO1xuICAgICAgLXdlYmtpdC1mbGV4OiAxIDAgMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICArIC5jYXJkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBIYW5kbGUgcm91bmRlZCBjb3JuZXJzXG4gICAgICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cygwKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmFjY29yZGlvbiB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBhY2NvcmRpb24tY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWNvbG9yOiAjeyRhY2NvcmRpb24tY29sb3J9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYmc6ICN7JGFjY29yZGlvbi1iZ307XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi10cmFuc2l0aW9uOiAjeyRhY2NvcmRpb24tdHJhbnNpdGlvbn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItY29sb3I6ICN7JGFjY29yZGlvbi1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXdpZHRoOiAjeyRhY2NvcmRpb24tYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1yYWRpdXM6ICN7JGFjY29yZGlvbi1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXM6ICN7JGFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1wYWRkaW5nLXg6ICN7JGFjY29yZGlvbi1idXR0b24tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1wYWRkaW5nLXk6ICN7JGFjY29yZGlvbi1idXR0b24tcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1jb2xvcjogI3skYWNjb3JkaW9uLWJ1dHRvbi1jb2xvcn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tYmc6ICN7JGFjY29yZGlvbi1idXR0b24tYmd9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb246ICN7ZXNjYXBlLXN2ZygkYWNjb3JkaW9uLWJ1dHRvbi1pY29uKX07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi13aWR0aDogI3skYWNjb3JkaW9uLWljb24td2lkdGh9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNmb3JtOiAjeyRhY2NvcmRpb24taWNvbi10cmFuc2Zvcm19O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNpdGlvbjogI3skYWNjb3JkaW9uLWljb24tdHJhbnNpdGlvbn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tYWN0aXZlLWljb246ICN7ZXNjYXBlLXN2ZygkYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtaWNvbil9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWZvY3VzLWJvcmRlci1jb2xvcjogI3skYWNjb3JkaW9uLWJ1dHRvbi1mb2N1cy1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWZvY3VzLWJveC1zaGFkb3c6ICN7JGFjY29yZGlvbi1idXR0b24tZm9jdXMtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib2R5LXBhZGRpbmcteDogI3skYWNjb3JkaW9uLWJvZHktcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvZHktcGFkZGluZy15OiAjeyRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWNvbG9yOiAjeyRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1hY3RpdmUtYmc6ICN7JGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWJnfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBhY2NvcmRpb24tY3NzLXZhcnNcbn1cblxuLmFjY29yZGlvbi1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1iYXNlKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gUmVzZXQgYnV0dG9uIHN0eWxlXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWJnKTtcbiAgYm9yZGVyOiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICBvdmVyZmxvdy1hbmNob3I6IG5vbmU7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24odmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi10cmFuc2l0aW9uKSk7XG5cbiAgJjpub3QoLmNvbGxhcHNlZCkge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWFjdGl2ZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1hY3RpdmUtYmcpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXdpZHRoKSkgMCB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1jb2xvcik7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1hY3RpdmUtaWNvbik7XG4gICAgICB0cmFuc2Zvcm06IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNmb3JtKTtcbiAgICB9XG4gIH1cblxuICAvLyBBY2NvcmRpb24gaWNvblxuICAmOjphZnRlciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgLXdlYmtpdC1mbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi13aWR0aCk7XG4gICAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXdpZHRoKTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24pO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXdpZHRoKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNpdGlvbikpO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgei1pbmRleDogMjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIHotaW5kZXg6IDM7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1mb2N1cy1ib3JkZXItY29sb3IpO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gIH1cbn1cblxuLmFjY29yZGlvbi1oZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uYWNjb3JkaW9uLWl0ZW0ge1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYmcpO1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1jb2xvcik7XG5cbiAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1yYWRpdXMpKTtcblxuICAgIC5hY2NvcmRpb24tYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cbiAgfVxuXG4gICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxuXG4gIC8vIE9ubHkgc2V0IGEgYm9yZGVyLXJhZGl1cyBvbiB0aGUgbGFzdCBpdGVtIGlmIHRoZSBhY2NvcmRpb24gaXMgY29sbGFwc2VkXG4gICY6bGFzdC1vZi10eXBlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1yYWRpdXMpKTtcblxuICAgIC5hY2NvcmRpb24tYnV0dG9uIHtcbiAgICAgICYuY29sbGFwc2VkIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFjY29yZGlvbi1jb2xsYXBzZSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG4gIH1cbn1cblxuLmFjY29yZGlvbi1ib2R5IHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib2R5LXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib2R5LXBhZGRpbmcteCk7XG59XG5cblxuLy8gRmx1c2ggYWNjb3JkaW9uIGl0ZW1zXG4vL1xuLy8gUmVtb3ZlIGJvcmRlcnMgYW5kIGJvcmRlci1yYWRpdXMgdG8ga2VlcCBhY2NvcmRpb24gaXRlbXMgZWRnZS10by1lZGdlLlxuXG4uYWNjb3JkaW9uLWZsdXNoIHtcbiAgLmFjY29yZGlvbi1jb2xsYXBzZSB7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcblxuICAgICY6Zmlyc3QtY2hpbGQgeyBib3JkZXItdG9wOiAwOyB9XG4gICAgJjpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbTogMDsgfVxuXG4gICAgLmFjY29yZGlvbi1idXR0b24ge1xuICAgICAgJixcbiAgICAgICYuY29sbGFwc2VkIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrKSB7XG4gICAgLmFjY29yZGlvbi1idXR0b246OmFmdGVyIHtcbiAgICAgIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbjogI3tlc2NhcGUtc3ZnKCRhY2NvcmRpb24tYnV0dG9uLWljb24tZGFyayl9O1xuICAgICAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1hY3RpdmUtaWNvbjogI3tlc2NhcGUtc3ZnKCRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1pY29uLWRhcmspfTtcbiAgICB9XG4gIH1cbn1cbiIsCgkJIi5icmVhZGNydW1iIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGJyZWFkY3J1bWItY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXg6ICN7JGJyZWFkY3J1bWItcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXk6ICN7JGJyZWFkY3J1bWItcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAjeyRicmVhZGNydW1iLW1hcmdpbi1ib3R0b219O1xuICBAaW5jbHVkZSByZnMoJGJyZWFkY3J1bWItZm9udC1zaXplLCAtLSN7JHByZWZpeH1icmVhZGNydW1iLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItYmc6ICN7JGJyZWFkY3J1bWItYmd9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICN7JGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogI3skYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteDogI3skYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I6ICN7JGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBicmVhZGNydW1iLWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLW1hcmdpbi1ib3R0b20pO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItZm9udC1zaXplKSk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWJnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi5icmVhZGNydW1iLWl0ZW0ge1xuICAvLyBUaGUgc2VwYXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYnMgKGJ5IGRlZmF1bHQsIGEgZm9yd2FyZC1zbGFzaDogXCIvXCIpXG4gICsgLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgZmxvYXQ6IGxlZnQ7IC8vIFN1cHByZXNzIGlubGluZSBzcGFjaW5ncyBhbmQgdW5kZXJsaW5pbmcgb2YgdGhlIHNlcGFyYXRvclxuICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXgpO1xuICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWRpdmlkZXItY29sb3IpO1xuICAgICAgY29udGVudDogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItZGl2aWRlciwgZXNjYXBlLXN2ZygkYnJlYWRjcnVtYi1kaXZpZGVyKSkgI3tcIi8qIHJ0bDpcIn0gdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItZGl2aWRlciwgZXNjYXBlLXN2ZygkYnJlYWRjcnVtYi1kaXZpZGVyLWZsaXBwZWQpKSAje1wiKi9cIn07XG4gICAgfVxuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLWFjdGl2ZS1jb2xvcik7XG4gIH1cbn1cbiIsCgkJIi5wYWdpbmF0aW9uIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHBhZ2luYXRpb24tY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXg6ICN7JHBhZ2luYXRpb24tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXk6ICN7JHBhZ2luYXRpb24tcGFkZGluZy15fTtcbiAgQGluY2x1ZGUgcmZzKCRwYWdpbmF0aW9uLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1iZzogI3skcGFnaW5hdGlvbi1iZ307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAjeyRwYWdpbmF0aW9uLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1czogI3skcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogI3skcGFnaW5hdGlvbi1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItYmc6ICN7JHBhZ2luYXRpb24taG92ZXItYmd9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogI3skcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWZvY3VzLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb2N1cy1iZzogI3skcGFnaW5hdGlvbi1mb2N1cy1iZ307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogI3skcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICN7JHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtYmc6ICN7JHBhZ2luYXRpb24tYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogI3skcGFnaW5hdGlvbi1kaXNhYmxlZC1iZ307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgcGFnaW5hdGlvbi1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xufVxuXG4ucGFnZS1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9udC1zaXplKSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1jb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIC1tb3otdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICAtbXMtdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICAtby10ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJnKTtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHBhZ2luYXRpb24tdHJhbnNpdGlvbik7XG5cbiAgJjpob3ZlciB7XG4gICAgei1pbmRleDogMjtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gICAgLW1vei10ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgICAtbXMtdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gICAgLW8tdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIHotaW5kZXg6IDM7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb2N1cy1iZyk7XG4gICAgb3V0bGluZTogJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICYuYWN0aXZlLFxuICAuYWN0aXZlID4gJiB7XG4gICAgei1pbmRleDogMztcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYWN0aXZlLWNvbG9yKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZyh2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtYmcpKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgLmRpc2FibGVkID4gJiB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1kaXNhYmxlZC1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3IpO1xuICB9XG59XG5cbi5wYWdlLWl0ZW0ge1xuICAmOm5vdCg6Zmlyc3QtY2hpbGQpIC5wYWdlLWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiAkcGFnaW5hdGlvbi1tYXJnaW4tc3RhcnQ7XG4gIH1cblxuICBAaWYgJHBhZ2luYXRpb24tbWFyZ2luLXN0YXJ0ID09IGNhbGMoI3skcGFnaW5hdGlvbi1ib3JkZXItd2lkdGh9ICogLTEpIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMpKTtcbiAgICAgIH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC8vIEFkZCBib3JkZXItcmFkaXVzIHRvIGFsbCBwYWdlTGlua3MgaW4gY2FzZSB0aGV5IGhhdmUgbGVmdCBtYXJnaW5cbiAgICAucGFnZS1saW5rIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBTaXppbmdcbi8vXG5cbi5wYWdpbmF0aW9uLWxnIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZywgJHBhZ2luYXRpb24tcGFkZGluZy14LWxnLCAkZm9udC1zaXplLWxnLCAkcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLnBhZ2luYXRpb24tc20ge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LXNtLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtc20sICRmb250LXNpemUtc20sICRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtc20pO1xufVxuIiwKCQkiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIFJlcXVpcmVzIG9uZSBvZiB0aGUgY29udGV4dHVhbCwgY29sb3IgbW9kaWZpZXIgY2xhc3NlcyBmb3IgYGNvbG9yYCBhbmRcbi8vIGBiYWNrZ3JvdW5kLWNvbG9yYC5cblxuLmJhZGdlIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGJhZGdlLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWJhZGdlLXBhZGRpbmcteDogI3skYmFkZ2UtcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtcGFkZGluZy15OiAjeyRiYWRnZS1wYWRkaW5nLXl9O1xuICBAaW5jbHVkZSByZnMoJGJhZGdlLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9YmFkZ2UtZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtZm9udC13ZWlnaHQ6ICN7JGJhZGdlLWZvbnQtd2VpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtY29sb3I6ICN7JGJhZGdlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtYm9yZGVyLXJhZGl1czogI3skYmFkZ2UtYm9yZGVyLXJhZGl1c307XG4gIC8vIHNjc3MtZG9jcy1lbmQgYmFkZ2UtY3NzLXZhcnNcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1iYWRnZS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1iYWRnZS1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fWJhZGdlLWZvbnQtc2l6ZSkpO1xuICBmb250LXdlaWdodDogdmFyKC0tI3skcHJlZml4fWJhZGdlLWZvbnQtd2VpZ2h0KTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YmFkZ2UtY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YmFkZ2UtYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygpO1xuXG4gIC8vIEVtcHR5IGJhZGdlcyBjb2xsYXBzZSBhdXRvbWF0aWNhbGx5XG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gUXVpY2sgZml4IGZvciBiYWRnZXMgaW4gYnV0dG9uc1xuLmJ0biAuYmFkZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDtcbn1cbiIsCgkJIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmFsZXJ0IHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGFsZXJ0LWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWFsZXJ0LWJnOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtcGFkZGluZy14OiAjeyRhbGVydC1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1hbGVydC1wYWRkaW5nLXk6ICN7JGFsZXJ0LXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWFsZXJ0LW1hcmdpbi1ib3R0b206ICN7JGFsZXJ0LW1hcmdpbi1ib3R0b219O1xuICAtLSN7JHByZWZpeH1hbGVydC1jb2xvcjogaW5oZXJpdDtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyOiAjeyRhbGVydC1ib3JkZXItd2lkdGh9IHNvbGlkIHZhcigtLSN7JHByZWZpeH1hbGVydC1ib3JkZXItY29sb3IpO1xuICAtLSN7JHByZWZpeH1hbGVydC1ib3JkZXItcmFkaXVzOiAjeyRhbGVydC1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtbGluay1jb2xvcjogaW5oZXJpdDtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBhbGVydC1jc3MtdmFyc1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWFsZXJ0LXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWFsZXJ0LXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLSN7JHByZWZpeH1hbGVydC1tYXJnaW4tYm90dG9tKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1hbGVydC1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1hbGVydC1iZyk7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlci1yYWRpdXMpKTtcbn1cblxuLy8gSGVhZGluZ3MgZm9yIGxhcmdlciBhbGVydHNcbi5hbGVydC1oZWFkaW5nIHtcbiAgLy8gU3BlY2lmaWVkIHRvIHByZXZlbnQgY29uZmxpY3RzIG9mIGNoYW5naW5nICRoZWFkaW5ncy1jb2xvclxuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLy8gUHJvdmlkZSBjbGFzcyBmb3IgbGlua3MgdGhhdCBtYXRjaCBhbGVydHNcbi5hbGVydC1saW5rIHtcbiAgZm9udC13ZWlnaHQ6ICRhbGVydC1saW5rLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWFsZXJ0LWxpbmstY29sb3IpO1xufVxuXG5cbi8vIERpc21pc3NpYmxlIGFsZXJ0c1xuLy9cbi8vIEV4cGFuZCB0aGUgcmlnaHQgcGFkZGluZyBhbmQgYWNjb3VudCBmb3IgdGhlIGNsb3NlIGJ1dHRvbidzIHBvc2l0aW9uaW5nLlxuXG4uYWxlcnQtZGlzbWlzc2libGUge1xuICBwYWRkaW5nLXJpZ2h0OiAkYWxlcnQtZGlzbWlzc2libGUtcGFkZGluZy1yO1xuXG4gIC8vIEFkanVzdCBjbG9zZSBsaW5rIHBvc2l0aW9uXG4gIC5idG4tY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogJHN0cmV0Y2hlZC1saW5rLXotaW5kZXggKyAxO1xuICAgIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nLXkgKiAxLjI1ICRhbGVydC1wYWRkaW5nLXg7XG4gIH1cbn1cblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYWxlcnQtbW9kaWZpZXJzXG4vLyBHZW5lcmF0ZSBjb250ZXh0dWFsIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGNvbG9yaXppbmcgdGhlIGFsZXJ0XG5AZWFjaCAkc3RhdGUgaW4gbWFwLWtleXMoJHRoZW1lLWNvbG9ycykge1xuICAuYWxlcnQtI3skc3RhdGV9IHtcbiAgICAtLSN7JHByZWZpeH1hbGVydC1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS10ZXh0LWVtcGhhc2lzKTtcbiAgICAtLSN7JHByZWZpeH1hbGVydC1iZzogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1iZy1zdWJ0bGUpO1xuICAgIC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1ib3JkZXItc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1hbGVydC1saW5rLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LXRleHQtZW1waGFzaXMpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGFsZXJ0LW1vZGlmaWVyc1xuIiwKCQkiLy8gRGlzYWJsZSBhbmltYXRpb24gaWYgdHJhbnNpdGlvbnMgYXJlIGRpc2FibGVkXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwcm9ncmVzcy1rZXlmcmFtZXNcbkBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgQGtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XG4gICAgMCUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6ICRwcm9ncmVzcy1oZWlnaHQ7IH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBwcm9ncmVzcy1rZXlmcmFtZXNcblxuLnByb2dyZXNzLFxuLnByb2dyZXNzLXN0YWNrZWQge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcHJvZ3Jlc3MtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtaGVpZ2h0OiAjeyRwcm9ncmVzcy1oZWlnaHR9O1xuICBAaW5jbHVkZSByZnMoJHByb2dyZXNzLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmc6ICN7JHByb2dyZXNzLWJnfTtcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogI3skcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fXByb2dyZXNzLWJveC1zaGFkb3c6ICN7JHByb2dyZXNzLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1wcm9ncmVzcy1iYXItY29sb3I6ICN7JHByb2dyZXNzLWJhci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXByb2dyZXNzLWJhci1iZzogI3skcHJvZ3Jlc3MtYmFyLWJnfTtcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICN7JHByb2dyZXNzLWJhci10cmFuc2l0aW9ufTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBwcm9ncmVzcy1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtaGVpZ2h0KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gZm9yY2Ugcm91bmRlZCBjb3JuZXJzIGJ5IGNyb3BwaW5nIGl0XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtZm9udC1zaXplKSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1iZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYm94LXNoYWRvdykpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJhci1jb2xvcik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJhci1iZyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24odmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJhci10cmFuc2l0aW9uKSk7XG59XG5cbi5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQoKTtcbiAgYmFja2dyb3VuZC1zaXplOiB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtaGVpZ2h0KSB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtaGVpZ2h0KTtcbn1cblxuLnByb2dyZXNzLXN0YWNrZWQgPiAucHJvZ3Jlc3Mge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLnByb2dyZXNzLXN0YWNrZWQgPiAucHJvZ3Jlc3MgPiAucHJvZ3Jlc3MtYmFyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgLnByb2dyZXNzLWJhci1hbmltYXRlZCB7XG4gICAgYW5pbWF0aW9uOiAkcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmcgcHJvZ3Jlc3MtYmFyLXN0cmlwZXM7XG5cbiAgICBAaWYgJGVuYWJsZS1yZWR1Y2VkLW1vdGlvbiB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLAoJCSIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gRWFzaWx5IHVzYWJsZSBvbiA8dWw+LCA8b2w+LCBvciA8ZGl2Pi5cblxuLmxpc3QtZ3JvdXAge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbGlzdC1ncm91cC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1iZzogI3skbGlzdC1ncm91cC1iZ307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoOiAjeyRsaXN0LWdyb3VwLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogI3skbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDogI3skbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICN7JGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogI3skbGlzdC1ncm91cC1hY3Rpb24tY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogI3skbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1iZzogI3skbGlzdC1ncm91cC1ob3Zlci1iZ307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogI3skbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAjeyRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1kaXNhYmxlZC1iZzogI3skbGlzdC1ncm91cC1kaXNhYmxlZC1iZ307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAjeyRsaXN0LWdyb3VwLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogI3skbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBsaXN0LWdyb3VwLWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLy8gTm8gbmVlZCB0byBzZXQgbGlzdC1zdHlsZTogbm9uZTsgc2luY2UgLmxpc3QtZ3JvdXAtaXRlbSBpcyBibG9jayBsZXZlbFxuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi5saXN0LWdyb3VwLW51bWJlcmVkIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBjb3VudGVyLXJlc2V0OiBzZWN0aW9uO1xuXG4gID4gLmxpc3QtZ3JvdXAtaXRlbTo6YmVmb3JlIHtcbiAgICAvLyBJbmNyZW1lbnRzIG9ubHkgdGhpcyBpbnN0YW5jZSBvZiB0aGUgc2VjdGlvbiBjb3VudGVyXG4gICAgY29udGVudDogY291bnRlcnMoc2VjdGlvbiwgXCIuXCIpIFwiLiBcIjtcbiAgICBjb3VudGVyLWluY3JlbWVudDogc2VjdGlvbjtcbiAgfVxufVxuXG4vLyBJbnRlcmFjdGl2ZSBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIGFuY2hvciBvciBidXR0b24gZWxlbWVudHMgaW5zdGVhZCBvZiBgbGlgcyBvciBgZGl2YHMgdG8gY3JlYXRlIGludGVyYWN0aXZlXG4vLyBsaXN0IGl0ZW1zLiBJbmNsdWRlcyBhbiBleHRyYSBgLmFjdGl2ZWAgbW9kaWZpZXIgY2xhc3MgZm9yIHNlbGVjdGVkIGl0ZW1zLlxuXG4ubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgYmVjb21lIDEwMCUgYnkgZGVmYXVsdCB0aG91Z2gpXG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tY29sb3IpO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgaW5oZXJpdClcblxuICAvLyBIb3ZlciBzdGF0ZVxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB6LWluZGV4OiAxOyAvLyBQbGFjZSBob3Zlci9mb2N1cyBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1iZyk7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmcpO1xuICB9XG59XG5cbi8vIEluZGl2aWR1YWwgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBvbiBgbGlgcyBvciBgZGl2YHMgd2l0aGluIHRoZSBgLmxpc3QtZ3JvdXBgIHBhcmVudC5cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1jb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIC1tb3otdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICAtbXMtdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICAtby10ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJnKTtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1jb2xvcik7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoaW5oZXJpdCk7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKGluaGVyaXQpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1kaXNhYmxlZC1iZyk7XG4gIH1cblxuICAvLyBJbmNsdWRlIGJvdGggaGVyZSBmb3IgYDxhPmBzIGFuZCBgPGJ1dHRvbj5gc1xuICAmLmFjdGl2ZSB7XG4gICAgei1pbmRleDogMjsgLy8gUGxhY2UgYWN0aXZlIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9zZWxlY3Rvci1uby1yZWR1bmRhbnQtbmVzdGluZy1zZWxlY3RvclxuICAmICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci13aWR0aCk7XG4gICAgfVxuICB9XG59XG5cbi8vIEhvcml6b250YWxcbi8vXG4vLyBDaGFuZ2UgdGhlIGxheW91dCBvZiBsaXN0IGdyb3VwIGl0ZW1zIGZyb20gdmVydGljYWwgKGRlZmF1bHQpIHRvIGhvcml6b250YWwuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5saXN0LWdyb3VwLWhvcml6b250YWwjeyRpbmZpeH0ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgPiAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXN0YXJ0LXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKSk7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1lbmQtcmFkaXVzKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLWVuZC1yYWRpdXModmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cykpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tc3RhcnQtcmFkaXVzKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci13aWR0aCk7XG4gICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG5cbiAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci13aWR0aCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gRmx1c2ggbGlzdCBpdGVtc1xuLy9cbi8vIFJlbW92ZSBib3JkZXJzIGFuZCBib3JkZXItcmFkaXVzIHRvIGtlZXAgbGlzdCBncm91cCBpdGVtcyBlZGdlLXRvLWVkZ2UuIE1vc3Rcbi8vIHVzZWZ1bCB3aXRoaW4gb3RoZXIgY29tcG9uZW50cyAoZS5nLiwgY2FyZHMpLlxuXG4ubGlzdC1ncm91cC1mbHVzaCB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG5cbiAgPiAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBib3JkZXItd2lkdGg6IDAgMCB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGxpc3QtZ3JvdXAtbW9kaWZpZXJzXG4vLyBMaXN0IGdyb3VwIGNvbnRleHR1YWwgdmFyaWFudHNcbi8vXG4vLyBBZGQgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGV4dCBhbmQgYmFja2dyb3VuZCBjb2xvciBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuLy8gT3JnYW5pemF0aW9uYWxseSwgdGhpcyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGA6aG92ZXJgIHN0YXRlcy5cblxuQGVhY2ggJHN0YXRlIGluIG1hcC1rZXlzKCR0aGVtZS1jb2xvcnMpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tdGV4dC1lbXBoYXNpcyk7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1iZzogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1iZy1zdWJ0bGUpO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWJvcmRlci1zdWJ0bGUpO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWJnOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWJvcmRlci1zdWJ0bGUpO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tYm9yZGVyLXN1YnRsZSk7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tYmctc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1iZzogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS10ZXh0LWVtcGhhc2lzKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tdGV4dC1lbXBoYXNpcyk7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgbGlzdC1ncm91cC1tb2RpZmllcnNcbiIsCgkJIi8vIFRyYW5zcGFyZW50IGJhY2tncm91bmQgYW5kIGJvcmRlciBwcm9wZXJ0aWVzIGluY2x1ZGVkIGZvciBidXR0b24gdmVyc2lvbi5cbi8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuLy8gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcblxuLmJ0bi1jbG9zZSB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBjbG9zZS1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1idG4tY2xvc2UtY29sb3I6ICN7JGJ0bi1jbG9zZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS1iZzogI3sgZXNjYXBlLXN2ZygkYnRuLWNsb3NlLWJnKSB9O1xuICAtLSN7JHByZWZpeH1idG4tY2xvc2Utb3BhY2l0eTogI3skYnRuLWNsb3NlLW9wYWNpdHl9O1xuICAtLSN7JHByZWZpeH1idG4tY2xvc2UtaG92ZXItb3BhY2l0eTogI3skYnRuLWNsb3NlLWhvdmVyLW9wYWNpdHl9O1xuICAtLSN7JHByZWZpeH1idG4tY2xvc2UtZm9jdXMtc2hhZG93OiAjeyRidG4tY2xvc2UtZm9jdXMtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWZvY3VzLW9wYWNpdHk6ICN7JGJ0bi1jbG9zZS1mb2N1cy1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWRpc2FibGVkLW9wYWNpdHk6ICN7JGJ0bi1jbG9zZS1kaXNhYmxlZC1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLXdoaXRlLWZpbHRlcjogI3skYnRuLWNsb3NlLXdoaXRlLWZpbHRlcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgY2xvc2UtY3NzLXZhcnNcblxuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgd2lkdGg6ICRidG4tY2xvc2Utd2lkdGg7XG4gIGhlaWdodDogJGJ0bi1jbG9zZS1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRidG4tY2xvc2UtcGFkZGluZy15ICRidG4tY2xvc2UtcGFkZGluZy14O1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS1jb2xvcik7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2UtYmcpIGNlbnRlciAvICRidG4tY2xvc2Utd2lkdGggYXV0byBuby1yZXBlYXQ7IC8vIGluY2x1ZGUgdHJhbnNwYXJlbnQgZm9yIGJ1dHRvbiBlbGVtZW50c1xuICBib3JkZXI6IDA7IC8vIGZvciBidXR0b24gZWxlbWVudHNcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygpO1xuICBvcGFjaXR5OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLW9wYWNpdHkpO1xuXG4gIC8vIE92ZXJyaWRlIDxhPidzIGhvdmVyIHN0eWxlXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3BhY2l0eTogdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS1ob3Zlci1vcGFjaXR5KTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS1mb2N1cy1zaGFkb3cpO1xuICAgIG9wYWNpdHk6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2UtZm9jdXMtb3BhY2l0eSk7XG4gIH1cblxuICAmOmRpc2FibGVkLFxuICAmLmRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1vLXVzZXItc2VsZWN0OiBub25lO1xuICAgIG9wYWNpdHk6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2UtZGlzYWJsZWQtb3BhY2l0eSk7XG4gIH1cbn1cblxuQG1peGluIGJ0bi1jbG9zZS13aGl0ZSgpIHtcbiAgZmlsdGVyOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLXdoaXRlLWZpbHRlcik7XG59XG5cbi5idG4tY2xvc2Utd2hpdGUge1xuICBAaW5jbHVkZSBidG4tY2xvc2Utd2hpdGUoKTtcbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrKSB7XG4gICAgLmJ0bi1jbG9zZSB7XG4gICAgICBAaW5jbHVkZSBidG4tY2xvc2Utd2hpdGUoKTtcbiAgICB9XG4gIH1cbn1cbiIsCgkJIi50b2FzdCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCB0b2FzdC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH10b2FzdC16aW5kZXg6ICN7JHppbmRleC10b2FzdH07XG4gIC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteDogI3skdG9hc3QtcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtcGFkZGluZy15OiAjeyR0b2FzdC1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH10b2FzdC1zcGFjaW5nOiAjeyR0b2FzdC1zcGFjaW5nfTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtbWF4LXdpZHRoOiAjeyR0b2FzdC1tYXgtd2lkdGh9O1xuICBAaW5jbHVkZSByZnMoJHRvYXN0LWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9dG9hc3QtZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtY29sb3I6ICN7JHRvYXN0LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtYmc6ICN7JHRvYXN0LWJhY2tncm91bmQtY29sb3J9O1xuICAtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItd2lkdGg6ICN7JHRvYXN0LWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci1jb2xvcjogI3skdG9hc3QtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXJhZGl1czogI3skdG9hc3QtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fXRvYXN0LWJveC1zaGFkb3c6ICN7JHRvYXN0LWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH10b2FzdC1oZWFkZXItY29sb3I6ICN7JHRvYXN0LWhlYWRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRvYXN0LWhlYWRlci1iZzogI3skdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3J9O1xuICAtLSN7JHByZWZpeH10b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yOiAjeyR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCB0b2FzdC1jc3MtdmFyc1xuXG4gIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtbWF4LXdpZHRoKTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXRvYXN0LWZvbnQtc2l6ZSkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXRvYXN0LWNvbG9yKTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b2FzdC1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci1jb2xvcik7XG4gIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH10b2FzdC1ib3gtc2hhZG93KTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXJhZGl1cykpO1xuXG4gICYuc2hvd2luZyB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICY6bm90KC5zaG93KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4udG9hc3QtY29udGFpbmVyIHtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtemluZGV4OiAjeyR6aW5kZXgtdG9hc3R9O1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogdmFyKC0tI3skcHJlZml4fXRvYXN0LXppbmRleCk7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgd2lkdGg6IC13ZWJraXQtbWF4LWNvbnRlbnQ7XG4gIHdpZHRoOiAtbW96LW1heC1jb250ZW50O1xuICB3aWR0aDogLW1zLW1heC1jb250ZW50O1xuICB3aWR0aDogLW8tbWF4LWNvbnRlbnQ7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgPiA6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fXRvYXN0LXNwYWNpbmcpO1xuICB9XG59XG5cbi50b2FzdC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtaGVhZGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRvYXN0LWhlYWRlci1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH10b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXJhZGl1cykgLSB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXdpZHRoKSkpO1xuXG4gIC5idG4tY2xvc2Uge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtcGFkZGluZy14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLSN7JHByZWZpeH10b2FzdC1wYWRkaW5nLXgpO1xuICB9XG59XG5cbi50b2FzdC1ib2R5IHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteCk7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cbiIsCgkJIi8vIHN0eWxlbGludC1kaXNhYmxlIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4vLyAubW9kYWwtb3BlbiAgICAgIC0gYm9keSBjbGFzcyBmb3Iga2lsbGluZyB0aGUgc2Nyb2xsXG4vLyAubW9kYWwgICAgICAgICAgIC0gY29udGFpbmVyIHRvIHNjcm9sbCB3aXRoaW5cbi8vIC5tb2RhbC1kaWFsb2cgICAgLSBwb3NpdGlvbmluZyBzaGVsbCBmb3IgdGhlIGFjdHVhbCBtb2RhbFxuLy8gLm1vZGFsLWNvbnRlbnQgICAtIGFjdHVhbCBtb2RhbCB3LyBiZyBhbmQgY29ybmVycyBhbmQgc3R1ZmZcblxuXG4vLyBDb250YWluZXIgdGhhdCB0aGUgbW9kYWwgc2Nyb2xscyB3aXRoaW5cbi5tb2RhbCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBtb2RhbC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1tb2RhbC16aW5kZXg6ICN7JHppbmRleC1tb2RhbH07XG4gIC0tI3skcHJlZml4fW1vZGFsLXdpZHRoOiAjeyRtb2RhbC1tZH07XG4gIC0tI3skcHJlZml4fW1vZGFsLXBhZGRpbmc6ICN7JG1vZGFsLWlubmVyLXBhZGRpbmd9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1tYXJnaW46ICN7JG1vZGFsLWRpYWxvZy1tYXJnaW59O1xuICAtLSN7JHByZWZpeH1tb2RhbC1jb2xvcjogI3skbW9kYWwtY29udGVudC1jb2xvcn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWJnOiAjeyRtb2RhbC1jb250ZW50LWJnfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLWNvbG9yOiAjeyRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWJvcmRlci13aWR0aDogI3skbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItcmFkaXVzOiAjeyRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1ib3gtc2hhZG93OiAjeyRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHN9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1pbm5lci1ib3JkZXItcmFkaXVzOiAjeyRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy14OiAjeyRtb2RhbC1oZWFkZXItcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcteTogI3skbW9kYWwtaGVhZGVyLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nOiAjeyRtb2RhbC1oZWFkZXItcGFkZGluZ307IC8vIFRvZG8gaW4gdjY6IFNwbGl0IHRoaXMgcGFkZGluZyBpbnRvIHggYW5kIHlcbiAgLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogI3skbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICN7JG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1tb2RhbC10aXRsZS1saW5lLWhlaWdodDogI3skbW9kYWwtdGl0bGUtbGluZS1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItZ2FwOiAjeyRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW59O1xuICAtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYmc6ICN7JG1vZGFsLWZvb3Rlci1iZ307XG4gIC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICN7JG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAjeyRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRofTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBtb2RhbC1jc3MtdmFyc1xuXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtemluZGV4KTtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAvLyBQcmV2ZW50IENocm9tZSBvbiBXaW5kb3dzIGZyb20gYWRkaW5nIGEgZm9jdXMgb3V0bGluZS4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMDk1MS5cbiAgb3V0bGluZTogMDtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvbid0IHVzZSBgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO2AgZHVlIHRvIGFcbiAgLy8gZ25hcmx5IGlPUyBTYWZhcmkgYnVnOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4MzQyXG4gIC8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTc2OTVcbn1cblxuLy8gU2hlbGwgZGl2IHRvIHBvc2l0aW9uIHRoZSBtb2RhbCB3aXRoIGJvdHRvbSBwYWRkaW5nXG4ubW9kYWwtZGlhbG9nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtbWFyZ2luKTtcbiAgLy8gYWxsb3cgY2xpY2tzIHRvIHBhc3MgdGhyb3VnaCBmb3IgY3VzdG9tIGNsaWNrIGhhbmRsaW5nIHRvIGNsb3NlIG1vZGFsXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gIC8vIFdoZW4gZmFkaW5nIGluIHRoZSBtb2RhbCwgYW5pbWF0ZSBpdCB0byBzbGlkZSBkb3duXG4gIC5tb2RhbC5mYWRlICYge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJG1vZGFsLXRyYW5zaXRpb24pO1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLWZhZGUtdHJhbnNmb3JtO1xuICB9XG4gIC5tb2RhbC5zaG93ICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNob3ctdHJhbnNmb3JtO1xuICB9XG5cbiAgLy8gV2hlbiB0cnlpbmcgdG8gY2xvc2UsIGFuaW1hdGUgZm9jdXMgdG8gc2NhbGVcbiAgLm1vZGFsLm1vZGFsLXN0YXRpYyAmIHtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1zY2FsZS10cmFuc2Zvcm07XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtbWFyZ2luKSAqIDIpO1xuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAubW9kYWwtYm9keSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLSN7JHByZWZpeH1tb2RhbC1tYXJnaW4pICogMik7XG59XG5cbi8vIEFjdHVhbCBtb2RhbFxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTsgLy8gRW5zdXJlIGAubW9kYWwtY29udGVudGAgZXh0ZW5kcyB0aGUgZnVsbCB3aWR0aCBvZiB0aGUgcGFyZW50IGAubW9kYWwtZGlhbG9nYFxuICAvLyBjb3VudGVyYWN0IHRoZSBwb2ludGVyLWV2ZW50czogbm9uZTsgaW4gdGhlIC5tb2RhbC1kaWFsb2dcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1jb2xvcik7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fW1vZGFsLWJveC1zaGFkb3cpKTtcbiAgLy8gUmVtb3ZlIGZvY3VzIG91dGxpbmUgZnJvbSBvcGVuZWQgbW9kYWxcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gTW9kYWwgYmFja2dyb3VuZFxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG1vZGFsLWJhY2tkcm9wLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWJhY2tkcm9wLXppbmRleDogI3skemluZGV4LW1vZGFsLWJhY2tkcm9wfTtcbiAgLS0jeyRwcmVmaXh9YmFja2Ryb3AtYmc6ICN7JG1vZGFsLWJhY2tkcm9wLWJnfTtcbiAgLS0jeyRwcmVmaXh9YmFja2Ryb3Atb3BhY2l0eTogI3skbW9kYWwtYmFja2Ryb3Atb3BhY2l0eX07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbW9kYWwtYmFja2Ryb3AtY3NzLXZhcnNcblxuICBAaW5jbHVkZSBvdmVybGF5LWJhY2tkcm9wKHZhcigtLSN7JHByZWZpeH1iYWNrZHJvcC16aW5kZXgpLCB2YXIoLS0jeyRwcmVmaXh9YmFja2Ryb3AtYmcpLCB2YXIoLS0jeyRwcmVmaXh9YmFja2Ryb3Atb3BhY2l0eSkpO1xufVxuXG4vLyBNb2RhbCBoZWFkZXJcbi8vIFRvcCBzZWN0aW9uIG9mIHRoZSBtb2RhbCB3LyB0aXRsZSBhbmQgZGlzbWlzc1xuLm1vZGFsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIC13ZWJraXQtZmxleC1zaHJpbms6IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvLyBQdXQgbW9kYWwgaGVhZGVyIGVsZW1lbnRzICh0aXRsZSBhbmQgZGlzbWlzcykgb24gb3Bwb3NpdGUgZW5kc1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gUHV0IG1vZGFsIGhlYWRlciBlbGVtZW50cyAodGl0bGUgYW5kIGRpc21pc3MpIG9uIG9wcG9zaXRlIGVuZHNcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nKTtcbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fW1vZGFsLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcblxuICAuYnRuLWNsb3NlIHtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy15KSAqIC41KSBjYWxjKHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy14KSAqIC41KTtcbiAgICBtYXJnaW46IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXkpKSBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy14KSkgY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcteSkpIGF1dG87XG4gIH1cbn1cblxuLy8gVGl0bGUgdGV4dCB3aXRoaW4gaGVhZGVyXG4ubW9kYWwtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogdmFyKC0tI3skcHJlZml4fW1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0KTtcbn1cblxuLy8gTW9kYWwgYm9keVxuLy8gV2hlcmUgYWxsIG1vZGFsIGNvbnRlbnQgcmVzaWRlcyAoc2libGluZyBvZiAubW9kYWwtaGVhZGVyIGFuZCAubW9kYWwtZm9vdGVyKVxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBzbyB0aGF0IHRoZSBib2R5IHRha2UgdXAgYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZVxuICAvLyB3aGVuIHRoZXJlIHNob3VsZCBiZSBhIGZpeGVkIGhlaWdodCBvbiBgLm1vZGFsLWRpYWxvZ2AuXG4gIGZsZXg6IDEgMSBhdXRvO1xuICAtd2Via2l0LWZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtcGFkZGluZyk7XG59XG5cbi8vIEZvb3RlciAoZm9yIGFjdGlvbnMpXG4ubW9kYWwtZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBmbGV4LXNocmluazogMDtcbiAgLXdlYmtpdC1mbGV4LXNocmluazogMDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gdmVydGljYWxseSBjZW50ZXJcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOyAvLyB2ZXJ0aWNhbGx5IGNlbnRlclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyAvLyBSaWdodCBhbGlnbiBidXR0b25zIHdpdGggZmxleCBwcm9wZXJ0eSBiZWNhdXNlIHRleHQtYWxpZ24gZG9lc24ndCB3b3JrIG9uIGZsZXggaXRlbXNcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyAvLyBSaWdodCBhbGlnbiBidXR0b25zIHdpdGggZmxleCBwcm9wZXJ0eSBiZWNhdXNlIHRleHQtYWxpZ24gZG9lc24ndCB3b3JrIG9uIGZsZXggaXRlbXNcbiAgcGFkZGluZzogY2FsYyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtcGFkZGluZykgLSB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWdhcCkgKiAuNSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYmcpO1xuICBib3JkZXItdG9wOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuXG4gIC8vIFBsYWNlIG1hcmdpbiBiZXR3ZWVuIGZvb3RlciBlbGVtZW50c1xuICAvLyBUaGlzIHNvbHV0aW9uIGlzIGZhciBmcm9tIGlkZWFsIGJlY2F1c2Ugb2YgdGhlIHVuaXZlcnNhbCBzZWxlY3RvciB1c2FnZSxcbiAgLy8gYnV0IGlzIG5lZWRlZCB0byBmaXggaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDgwMFxuICA+ICoge1xuICAgIG1hcmdpbjogY2FsYyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWdhcCkgKiAuNSk7IC8vIFRvZG8gaW4gdjY6IHJlcGxhY2Ugd2l0aCBnYXAgb24gcGFyZW50IGNsYXNzXG4gIH1cbn1cblxuLy8gU2NhbGUgdXAgdGhlIG1vZGFsXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIC5tb2RhbCB7XG4gICAgLS0jeyRwcmVmaXh9bW9kYWwtbWFyZ2luOiAjeyRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXB9O1xuICAgIC0tI3skcHJlZml4fW1vZGFsLWJveC1zaGFkb3c6ICN7JG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cH07XG4gIH1cblxuICAvLyBBdXRvbWF0aWNhbGx5IHNldCBtb2RhbCdzIHdpZHRoIGZvciBsYXJnZXIgdmlld3BvcnRzXG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIG1heC13aWR0aDogdmFyKC0tI3skcHJlZml4fW1vZGFsLXdpZHRoKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAubW9kYWwtc20ge1xuICAgIC0tI3skcHJlZml4fW1vZGFsLXdpZHRoOiAjeyRtb2RhbC1zbX07XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubW9kYWwtbGcsXG4gIC5tb2RhbC14bCB7XG4gICAgLS0jeyRwcmVmaXh9bW9kYWwtd2lkdGg6ICN7JG1vZGFsLWxnfTtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gIC5tb2RhbC14bCB7XG4gICAgLS0jeyRwcmVmaXh9bW9kYWwtd2lkdGg6ICN7JG1vZGFsLXhsfTtcbiAgfVxufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbW9kYWwtZnVsbHNjcmVlbi1sb29wXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgJHBvc3RmaXg6IGlmKCRpbmZpeCAhPSBcIlwiLCAkaW5maXggKyBcIi1kb3duXCIsIFwiXCIpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgIC5tb2RhbC1mdWxsc2NyZWVuI3skcG9zdGZpeH0ge1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAubW9kYWwtY29udGVudCB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgfVxuXG4gICAgICAubW9kYWwtaGVhZGVyLFxuICAgICAgLm1vZGFsLWZvb3RlciB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgICB9XG5cbiAgICAgIC5tb2RhbC1ib2R5IHtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgbW9kYWwtZnVsbHNjcmVlbi1sb29wXG4iLAoJCSIvLyBCYXNlIGNsYXNzXG4udG9vbHRpcCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCB0b29sdGlwLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXRvb2x0aXAtemluZGV4OiAjeyR6aW5kZXgtdG9vbHRpcH07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtbWF4LXdpZHRoOiAjeyR0b29sdGlwLW1heC13aWR0aH07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtcGFkZGluZy14OiAjeyR0b29sdGlwLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtcGFkZGluZy15OiAjeyR0b29sdGlwLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtbWFyZ2luOiAjeyR0b29sdGlwLW1hcmdpbn07XG4gIEBpbmNsdWRlIHJmcygkdG9vbHRpcC1mb250LXNpemUsIC0tI3skcHJlZml4fXRvb2x0aXAtZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1jb2xvcjogI3skdG9vbHRpcC1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtYmc6ICN7JHRvb2x0aXAtYmd9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLWJvcmRlci1yYWRpdXM6ICN7JHRvb2x0aXAtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtb3BhY2l0eTogI3skdG9vbHRpcC1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aDogI3skdG9vbHRpcC1hcnJvdy13aWR0aH07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAjeyR0b29sdGlwLWFycm93LWhlaWdodH07XG4gIC8vIHNjc3MtZG9jcy1lbmQgdG9vbHRpcC1jc3MtdmFyc1xuXG4gIHotaW5kZXg6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLXppbmRleCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IHZhcigtLSN7JHByZWZpeH10b29sdGlwLW1hcmdpbik7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImAkdG9vbHRpcC1tYXJnaW5gXCIsIFwidjVcIiwgXCJ2NS54XCIsIHRydWUpO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWZvbnQtc2l6ZSkpO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgdG9vbHRpcCdzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJi5zaG93IHsgb3BhY2l0eTogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtb3BhY2l0eSk7IH1cblxuICAudG9vbHRpcC1hcnJvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKTtcbiAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC10b3AgLnRvb2x0aXAtYXJyb3cge1xuICBib3R0b206IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuICAmOjpiZWZvcmUge1xuICAgIHRvcDogLTFweDtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCkgY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgMDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1iZyk7XG4gIH1cbn1cblxuLyogcnRsOmJlZ2luOmlnbm9yZSAqL1xuLmJzLXRvb2x0aXAtZW5kIC50b29sdGlwLWFycm93IHtcbiAgbGVmdDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTtcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICByaWdodDogLTFweDtcbiAgICBib3JkZXItd2lkdGg6IGNhbGModmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpICogLjUpIHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCkgY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgMDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWJnKTtcbiAgfVxufVxuXG4vKiBydGw6ZW5kOmlnbm9yZSAqL1xuXG4uYnMtdG9vbHRpcC1ib3R0b20gLnRvb2x0aXAtYXJyb3cge1xuICB0b3A6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuICAmOjpiZWZvcmUge1xuICAgIGJvdHRvbTogLTFweDtcbiAgICBib3JkZXItd2lkdGg6IDAgY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1iZyk7XG4gIH1cbn1cblxuLyogcnRsOmJlZ2luOmlnbm9yZSAqL1xuLmJzLXRvb2x0aXAtc3RhcnQgLnRvb2x0aXAtYXJyb3cge1xuICByaWdodDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTtcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBsZWZ0OiAtMXB4O1xuICAgIGJvcmRlci13aWR0aDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgMCBjYWxjKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKSAqIC41KSB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1iZyk7XG4gIH1cbn1cblxuLyogcnRsOmVuZDppZ25vcmUgKi9cblxuLmJzLXRvb2x0aXAtYXV0byB7XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC10b3A7XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtZW5kO1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1ib3R0b207XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1zdGFydDtcbiAgfVxufVxuXG4vLyBXcmFwcGVyIGZvciB0aGUgdG9vbHRpcCBjb250ZW50XG4udG9vbHRpcC1pbm5lciB7XG4gIG1heC13aWR0aDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtbWF4LXdpZHRoKTtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWJnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1ib3JkZXItcmFkaXVzKSk7XG59XG4iLAoJCSIucG9wb3ZlciB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBwb3BvdmVyLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXBvcG92ZXItemluZGV4OiAjeyR6aW5kZXgtcG9wb3Zlcn07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItbWF4LXdpZHRoOiAjeyRwb3BvdmVyLW1heC13aWR0aH07XG4gIEBpbmNsdWRlIHJmcygkcG9wb3Zlci1mb250LXNpemUsIC0tI3skcHJlZml4fXBvcG92ZXItZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1iZzogI3skcG9wb3Zlci1iZ307XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoOiAjeyRwb3BvdmVyLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLWNvbG9yOiAjeyRwb3BvdmVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXJhZGl1czogI3skcG9wb3Zlci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzOiAjeyRwb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJveC1zaGFkb3c6ICN7JHBvcG92ZXItYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogI3skcG9wb3Zlci1oZWFkZXItcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAjeyRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXl9O1xuICBAaW5jbHVkZSByZnMoJHBvcG92ZXItaGVhZGVyLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItY29sb3I6ICN7JHBvcG92ZXItaGVhZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItYmc6ICN7JHBvcG92ZXItaGVhZGVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib2R5LXBhZGRpbmcteDogI3skcG9wb3Zlci1ib2R5LXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICN7JHBvcG92ZXItYm9keS1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJvZHktY29sb3I6ICN7JHBvcG92ZXItYm9keS1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGg6ICN7JHBvcG92ZXItYXJyb3ctd2lkdGh9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodDogI3skcG9wb3Zlci1hcnJvdy1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWJvcmRlcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBwb3BvdmVyLWNzcy12YXJzXG5cbiAgei1pbmRleDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItemluZGV4KTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItbWF4LXdpZHRoKTtcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICBAaW5jbHVkZSByZXNldC10ZXh0KCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1mb250LXNpemUpKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHBvcG92ZXIncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3gtc2hhZG93KSk7XG5cbiAgLnBvcG92ZXItYXJyb3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCk7XG4gICAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci10b3Age1xuICA+IC5wb3BvdmVyLWFycm93IHtcbiAgICBib3R0b206IGNhbGMoLTEgKiAodmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KSkgLSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCkgY2FsYyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkgKiAuNSkgMDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctYm9yZGVyKTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBib3R0b206IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1iZyk7XG4gICAgfVxuICB9XG59XG5cbi8qIHJ0bDpiZWdpbjppZ25vcmUgKi9cbi5icy1wb3BvdmVyLWVuZCB7XG4gID4gLnBvcG92ZXItYXJyb3cge1xuICAgIGxlZnQ6IGNhbGMoLTEgKiAodmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KSkgLSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KTtcbiAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6IGNhbGModmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpICogLjUpIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCkgY2FsYyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkgKiAuNSkgMDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctYm9yZGVyKTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBsZWZ0OiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1iZyk7XG4gICAgfVxuICB9XG59XG5cbi8qIHJ0bDplbmQ6aWdub3JlICovXG5cbi5icy1wb3BvdmVyLWJvdHRvbSB7XG4gID4gLnBvcG92ZXItYXJyb3cge1xuICAgIHRvcDogY2FsYygtMSAqICh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpKSAtIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogMCBjYWxjKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSAqIC41KSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1ib3JkZXIpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHRvcDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJnKTtcbiAgICB9XG4gIH1cblxuICAvLyBUaGlzIHdpbGwgcmVtb3ZlIHRoZSBwb3BvdmVyLWhlYWRlcidzIGJvcmRlciBqdXN0IGJlbG93IHRoZSBhcnJvd1xuICAucG9wb3Zlci1oZWFkZXI6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKTtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItYmcpO1xuICB9XG59XG5cbi8qIHJ0bDpiZWdpbjppZ25vcmUgKi9cbi5icy1wb3BvdmVyLXN0YXJ0IHtcbiAgPiAucG9wb3Zlci1hcnJvdyB7XG4gICAgcmlnaHQ6IGNhbGMoLTEgKiAodmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KSkgLSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KTtcbiAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6IGNhbGModmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpICogLjUpIDAgY2FsYyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkgKiAuNSkgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctYm9yZGVyKTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICByaWdodDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1iZyk7XG4gICAgfVxuICB9XG59XG5cbi8qIHJ0bDplbmQ6aWdub3JlICovXG5cbi5icy1wb3BvdmVyLWF1dG8ge1xuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJ0b3BcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItdG9wO1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWVuZDtcbiAgfVxuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJib3R0b21cIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItYm90dG9tO1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItc3RhcnQ7XG4gIH1cbn1cblxuLy8gT2Zmc2V0IHRoZSBwb3BvdmVyIHRvIGFjY291bnQgZm9yIHRoZSBwb3BvdmVyIGFycm93XG4ucG9wb3Zlci1oZWFkZXIge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItcGFkZGluZy14KTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVzZXQgdGhlIGRlZmF1bHQgZnJvbSBSZWJvb3RcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1mb250LXNpemUpKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1iZyk7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fXBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuXG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnBvcG92ZXItYm9keSB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvZHktcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib2R5LXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib2R5LWNvbG9yKTtcbn1cbiIsCgkJIi8vIE5vdGVzIG9uIHRoZSBjbGFzc2VzOlxuLy9cbi8vIDEuIC5jYXJvdXNlbC5wb2ludGVyLWV2ZW50IHNob3VsZCBpZGVhbGx5IGJlIHBhbi15ICh0byBhbGxvdyBmb3IgdXNlcnMgdG8gc2Nyb2xsIHZlcnRpY2FsbHkpXG4vLyAgICBldmVuIHdoZW4gdGhlaXIgc2Nyb2xsIGFjdGlvbiBzdGFydGVkIG9uIGEgY2Fyb3VzZWwsIGJ1dCBmb3IgY29tcGF0aWJpbGl0eSAod2l0aCBGaXJlZm94KVxuLy8gICAgd2UncmUgcHJldmVudGluZyBhbGwgYWN0aW9ucyBpbnN0ZWFkXG4vLyAyLiBUaGUgLmNhcm91c2VsLWl0ZW0tc3RhcnQgYW5kIC5jYXJvdXNlbC1pdGVtLWVuZCBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXJlXG4vLyAgICB0aGUgYWN0aXZlIHNsaWRlIGlzIGhlYWRpbmcuXG4vLyAzLiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0gaXMgdGhlIGN1cnJlbnQgc2xpZGUuXG4vLyA0LiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tc3RhcnQgYW5kIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1lbmQgaXMgdGhlIGN1cnJlbnRcbi8vICAgIHNsaWRlIGluIGl0cyBpbi10cmFuc2l0aW9uIHN0YXRlLiBPbmx5IG9uZSBvZiB0aGVzZSBvY2N1cnMgYXQgYSB0aW1lLlxuLy8gNS4gLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLXN0YXJ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tZW5kXG4vLyAgICBpcyB0aGUgdXBjb21pbmcgc2xpZGUgaW4gdHJhbnNpdGlvbi5cblxuLmNhcm91c2VsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2Fyb3VzZWwucG9pbnRlci1ldmVudCB7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIC13ZWJraXQtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgLW1vei10b3VjaC1hY3Rpb246IHBhbi15O1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgLW8tdG91Y2gtYWN0aW9uOiBwYW4teTtcbn1cblxuLmNhcm91c2VsLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC1vLWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtdHJhbnNpdGlvbik7XG59XG5cbi5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcbi5jYXJvdXNlbC1pdGVtLW5leHQsXG4uY2Fyb3VzZWwtaXRlbS1wcmV2IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jYXJvdXNlbC1pdGVtLW5leHQ6bm90KC5jYXJvdXNlbC1pdGVtLXN0YXJ0KSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1lbmQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi5jYXJvdXNlbC1pdGVtLXByZXY6bm90KC5jYXJvdXNlbC1pdGVtLWVuZCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tc3RhcnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuXG5cbi8vXG4vLyBBbHRlcm5hdGUgdHJhbnNpdGlvbnNcbi8vXG5cbi5jYXJvdXNlbC1mYWRlIHtcbiAgLmNhcm91c2VsLWl0ZW0ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4gIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1zdGFydCxcbiAgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLWVuZCB7XG4gICAgei1pbmRleDogMTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXN0YXJ0LFxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tZW5kIHtcbiAgICB6LWluZGV4OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDBzICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBMZWZ0L3JpZ2h0IGNvbnRyb2xzIGZvciBuYXZcbi8vXG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbiAgLy8gVXNlIGZsZXggZm9yIGFsaWdubWVudCAoMS0zKVxuICBkaXNwbGF5OiBmbGV4OyAvLyAxLiBhbGxvdyBmbGV4IHN0eWxlc1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7IC8vIDEuIGFsbG93IGZsZXggc3R5bGVzXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIDIuIHZlcnRpY2FsbHkgY2VudGVyIGNvbnRlbnRzXG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gMi4gdmVydGljYWxseSBjZW50ZXIgY29udGVudHNcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8vIDMuIGhvcml6b250YWxseSBjZW50ZXIgY29udGVudHNcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgLy8gMy4gaG9yaXpvbnRhbGx5IGNlbnRlciBjb250ZW50c1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbik7XG5cbiAgLy8gSG92ZXIvZm9jdXMgc3RhdGVcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBpZigkZW5hYmxlLWdyYWRpZW50cywgbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKSwgbnVsbCk7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGlmKCRlbmFibGUtZ3JhZGllbnRzLCBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKSwgbnVsbCk7XG59XG5cbi8vIEljb25zIGZvciB3aXRoaW5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGhlaWdodDogJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbn1cblxuLyogcnRsOm9wdGlvbnM6IHtcbiAgXCJhdXRvUmVuYW1lXCI6IHRydWUsXG4gIFwic3RyaW5nTWFwXCI6WyB7XG4gICAgXCJuYW1lXCIgICAgOiBcInByZXYtbmV4dFwiLFxuICAgIFwic2VhcmNoXCIgIDogXCJwcmV2XCIsXG4gICAgXCJyZXBsYWNlXCIgOiBcIm5leHRcIlxuICB9IF1cbn0gKi9cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnKTtcbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnKTtcbn1cblxuLy8gT3B0aW9uYWwgaW5kaWNhdG9yIHBpcHMvY29udHJvbHNcbi8vXG4vLyBBZGQgYSBjb250YWluZXIgKHN1Y2ggYXMgYSBsaXN0KSB3aXRoIHRoZSBmb2xsb3dpbmcgY2xhc3MgYW5kIGFkZCBhbiBpdGVtIChpZGVhbGx5IGEgZm9jdXNhYmxlIGNvbnRyb2wsXG4vLyBsaWtlIGEgYnV0dG9uKSB3aXRoIGRhdGEtYnMtdGFyZ2V0IGZvciBlYWNoIHNsaWRlIHlvdXIgY2Fyb3VzZWwgaG9sZHMuXG5cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuICAvLyBVc2UgdGhlIC5jYXJvdXNlbC1jb250cm9sJ3Mgd2lkdGggYXMgbWFyZ2luIHNvIHdlIGRvbid0IG92ZXJsYXkgdGhvc2VcbiAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuXG4gIFtkYXRhLWJzLXRhcmdldF0ge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIC13ZWJraXQtZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6ICRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg7XG4gICAgaGVpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIHRleHQtaW5kZW50OiAtOTk5cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgYm9yZGVyOiAwO1xuICAgIC8vIFVzZSB0cmFuc3BhcmVudCBib3JkZXJzIHRvIGluY3JlYXNlIHRoZSBoaXQgYXJlYSBieSAxMHB4IG9uIHRvcCBhbmQgYm90dG9tLlxuICAgIGJvcmRlci10b3A6ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIG9wYWNpdHk6ICRjYXJvdXNlbC1pbmRpY2F0b3Itb3BhY2l0eTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC1pbmRpY2F0b3ItdHJhbnNpdGlvbik7XG4gIH1cblxuICAuYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1vcGFjaXR5O1xuICB9XG59XG5cblxuLy8gT3B0aW9uYWwgY2FwdGlvbnNcbi8vXG4vL1xuXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6ICgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpICogLjU7XG4gIGJvdHRvbTogJGNhcm91c2VsLWNhcHRpb24tc3BhY2VyO1xuICBsZWZ0OiAoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAqIC41O1xuICBwYWRkaW5nLXRvcDogJGNhcm91c2VsLWNhcHRpb24tcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJGNhcm91c2VsLWNhcHRpb24tcGFkZGluZy15O1xuICBjb2xvcjogJGNhcm91c2VsLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLy8gRGFyayBtb2RlIGNhcm91c2VsXG5cbkBtaXhpbiBjYXJvdXNlbC1kYXJrKCkge1xuICAuY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sXG4gIC5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gICAgZmlsdGVyOiAkY2Fyb3VzZWwtZGFyay1jb250cm9sLWljb24tZmlsdGVyO1xuICB9XG5cbiAgLmNhcm91c2VsLWluZGljYXRvcnMgW2RhdGEtYnMtdGFyZ2V0XSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcm91c2VsLWRhcmstaW5kaWNhdG9yLWFjdGl2ZS1iZztcbiAgfVxuXG4gIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICBjb2xvcjogJGNhcm91c2VsLWRhcmstY2FwdGlvbi1jb2xvcjtcbiAgfVxufVxuXG4uY2Fyb3VzZWwtZGFyayB7XG4gIEBpbmNsdWRlIGNhcm91c2VsLWRhcmsoKTtcbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrKSB7XG4gICAgQGlmICRjb2xvci1tb2RlLXR5cGUgPT0gXCJtZWRpYS1xdWVyeVwiIHtcbiAgICAgIC5jYXJvdXNlbCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcm91c2VsLWRhcmsoKTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIC5jYXJvdXNlbCxcbiAgICAgICYuY2Fyb3VzZWwge1xuICAgICAgICBAaW5jbHVkZSBjYXJvdXNlbC1kYXJrKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLAoJCSIvL1xuLy8gUm90YXRpbmcgYm9yZGVyXG4vL1xuXG4uc3Bpbm5lci1ncm93LFxuLnNwaW5uZXItYm9yZGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXNwaW5uZXItd2lkdGgpO1xuICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1zcGlubmVyLWhlaWdodCk7XG4gIHZlcnRpY2FsLWFsaWduOiB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci12ZXJ0aWNhbC1hbGlnbik7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBhbmltYXRpb246IHZhcigtLSN7JHByZWZpeH1zcGlubmVyLWFuaW1hdGlvbi1zcGVlZCkgbGluZWFyIGluZmluaXRlIHZhcigtLSN7JHByZWZpeH1zcGlubmVyLWFuaW1hdGlvbi1uYW1lKTtcbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItYm9yZGVyLWtleWZyYW1lc1xuQGtleWZyYW1lcyBzcGlubmVyLWJvcmRlciB7XG4gIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKSAje1wiLyogcnRsOmlnbm9yZSAqL1wifTsgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBzcGlubmVyLWJvcmRlci1rZXlmcmFtZXNcblxuLnNwaW5uZXItYm9yZGVyIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItYm9yZGVyLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXNwaW5uZXItd2lkdGg6ICN7JHNwaW5uZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWhlaWdodDogI3skc3Bpbm5lci1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLXZlcnRpY2FsLWFsaWduOiAjeyRzcGlubmVyLXZlcnRpY2FsLWFsaWdufTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1ib3JkZXItd2lkdGg6ICN7JHNwaW5uZXItYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tc3BlZWQ6ICN7JHNwaW5uZXItYW5pbWF0aW9uLXNwZWVkfTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tbmFtZTogc3Bpbm5lci1ib3JkZXI7XG4gIC8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lci1ib3JkZXItY3NzLXZhcnNcblxuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1zcGlubmVyLWJvcmRlci13aWR0aCkgc29saWQgY3VycmVudGNvbG9yO1xuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uc3Bpbm5lci1ib3JkZXItc20ge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgc3Bpbm5lci1ib3JkZXItc20tY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci13aWR0aDogI3skc3Bpbm5lci13aWR0aC1zbX07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItaGVpZ2h0OiAjeyRzcGlubmVyLWhlaWdodC1zbX07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItYm9yZGVyLXdpZHRoOiAjeyRzcGlubmVyLWJvcmRlci13aWR0aC1zbX07XG4gIC8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lci1ib3JkZXItc20tY3NzLXZhcnNcbn1cblxuLy9cbi8vIEdyb3dpbmcgY2lyY2xlXG4vL1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc3Bpbm5lci1ncm93LWtleWZyYW1lc1xuQGtleWZyYW1lcyBzcGlubmVyLWdyb3cge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXItZ3Jvdy1rZXlmcmFtZXNcblxuLnNwaW5uZXItZ3JvdyB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBzcGlubmVyLWdyb3ctY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci13aWR0aDogI3skc3Bpbm5lci13aWR0aH07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItaGVpZ2h0OiAjeyRzcGlubmVyLWhlaWdodH07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItdmVydGljYWwtYWxpZ246ICN7JHNwaW5uZXItdmVydGljYWwtYWxpZ259O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWFuaW1hdGlvbi1zcGVlZDogI3skc3Bpbm5lci1hbmltYXRpb24tc3BlZWR9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWFuaW1hdGlvbi1uYW1lOiBzcGlubmVyLWdyb3c7XG4gIC8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lci1ncm93LWNzcy12YXJzXG5cbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudGNvbG9yO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc3Bpbm5lci1ncm93LXNtIHtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci13aWR0aDogI3skc3Bpbm5lci13aWR0aC1zbX07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItaGVpZ2h0OiAjeyRzcGlubmVyLWhlaWdodC1zbX07XG59XG5cbkBpZiAkZW5hYmxlLXJlZHVjZWQtbW90aW9uIHtcbiAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAuc3Bpbm5lci1ib3JkZXIsXG4gICAgLnNwaW5uZXItZ3JvdyB7XG4gICAgICAtLSN7JHByZWZpeH1zcGlubmVyLWFuaW1hdGlvbi1zcGVlZDogI3skc3Bpbm5lci1hbmltYXRpb24tc3BlZWQgKiAyfTtcbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vIHN0eWxlbGludC1kaXNhYmxlIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4lb2ZmY2FudmFzLWNzcy12YXJzIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG9mZmNhbnZhcy1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtemluZGV4OiAjeyR6aW5kZXgtb2ZmY2FudmFzfTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXdpZHRoOiAjeyRvZmZjYW52YXMtaG9yaXpvbnRhbC13aWR0aH07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1oZWlnaHQ6ICN7JG9mZmNhbnZhcy12ZXJ0aWNhbC1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy14OiAjeyRvZmZjYW52YXMtcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteTogI3skb2ZmY2FudmFzLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1jb2xvcjogI3skb2ZmY2FudmFzLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJnOiAjeyRvZmZjYW52YXMtYmctY29sb3J9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLXdpZHRoOiAjeyRvZmZjYW52YXMtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci1jb2xvcjogI3skb2ZmY2FudmFzLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3gtc2hhZG93OiAjeyRvZmZjYW52YXMtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy10cmFuc2l0aW9uOiAje3RyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXR9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtdGl0bGUtbGluZS1oZWlnaHQ6ICN7JG9mZmNhbnZhcy10aXRsZS1saW5lLWhlaWdodH07XG4gIC8vIHNjc3MtZG9jcy1lbmQgb2ZmY2FudmFzLWNzcy12YXJzXG59XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgLm9mZmNhbnZhcyN7JGluZml4fSB7XG4gICAgQGV4dGVuZCAlb2ZmY2FudmFzLWNzcy12YXJzO1xuICB9XG59XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgLm9mZmNhbnZhcyN7JGluZml4fSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuZXh0KSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICBib3R0b206IDA7XG4gICAgICB6LWluZGV4OiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXppbmRleCk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWNvbG9yKTtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYmcpO1xuICAgICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm94LXNoYWRvdykpO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXRyYW5zaXRpb24pKTtcblxuICAgICAgJi5vZmZjYW52YXMtc3RhcnQge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXdpZHRoKTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgfVxuXG4gICAgICAmLm9mZmNhbnZhcy1lbmQge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy13aWR0aCk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICB9XG5cbiAgICAgICYub2ZmY2FudmFzLXRvcCB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1oZWlnaHQpO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgICAgfVxuXG4gICAgICAmLm9mZmNhbnZhcy1ib3R0b20ge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWhlaWdodCk7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci10b3A6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICAgIH1cblxuICAgICAgJi5zaG93aW5nLFxuICAgICAgJi5zaG93Om5vdCguaGlkaW5nKSB7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJi5zaG93aW5nLFxuICAgICAgJi5oaWRpbmcsXG4gICAgICAmLnNob3cge1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiBub3QgKCRpbmZpeCA9PSBcIlwiKSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuZXh0KSB7XG4gICAgICAgIC0tI3skcHJlZml4fW9mZmNhbnZhcy1oZWlnaHQ6IGF1dG87XG4gICAgICAgIC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbiAgICAgICAgLm9mZmNhbnZhcy1oZWFkZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAub2ZmY2FudmFzLWJvZHkge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICAtd2Via2l0LWZsZXgtZ3JvdzogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgICAgICAgLy8gUmVzZXQgYGJhY2tncm91bmQtY29sb3JgIGluIGNhc2UgYC5iZy0qYCBjbGFzc2VzIGFyZSB1c2VkIGluIG9mZmNhbnZhc1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm9mZmNhbnZhcy1iYWNrZHJvcCB7XG4gIEBpbmNsdWRlIG92ZXJsYXktYmFja2Ryb3AoJHppbmRleC1vZmZjYW52YXMtYmFja2Ryb3AsICRvZmZjYW52YXMtYmFja2Ryb3AtYmcsICRvZmZjYW52YXMtYmFja2Ryb3Atb3BhY2l0eSk7XG59XG5cbi5vZmZjYW52YXMtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteCk7XG5cbiAgLmJ0bi1jbG9zZSB7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteSkgKiAuNSkgY2FsYyh2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteCkgKiAuNSk7XG4gICAgbWFyZ2luLXRvcDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteSkpO1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteCkpO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXkpKTtcbiAgfVxufVxuXG4ub2ZmY2FudmFzLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtdGl0bGUtbGluZS1oZWlnaHQpO1xufVxuXG4ub2ZmY2FudmFzLWJvZHkge1xuICBmbGV4LWdyb3c6IDE7XG4gIC13ZWJraXQtZmxleC1ncm93OiAxO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXgpO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuIiwKCQkiLnBsYWNlaG9sZGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4taGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogd2FpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudGNvbG9yO1xuICBvcGFjaXR5OiAkcGxhY2Vob2xkZXItb3BhY2l0eS1tYXg7XG5cbiAgJi5idG46OmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cblxuLy8gU2l6aW5nXG4ucGxhY2Vob2xkZXIteHMge1xuICBtaW4taGVpZ2h0OiAuNmVtO1xufVxuXG4ucGxhY2Vob2xkZXItc20ge1xuICBtaW4taGVpZ2h0OiAuOGVtO1xufVxuXG4ucGxhY2Vob2xkZXItbGcge1xuICBtaW4taGVpZ2h0OiAxLjJlbTtcbn1cblxuLy8gQW5pbWF0aW9uXG4ucGxhY2Vob2xkZXItZ2xvdyB7XG4gIC5wbGFjZWhvbGRlciB7XG4gICAgYW5pbWF0aW9uOiBwbGFjZWhvbGRlci1nbG93IDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcGxhY2Vob2xkZXItZ2xvdyB7XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogJHBsYWNlaG9sZGVyLW9wYWNpdHktbWluO1xuICB9XG59XG5cbi5wbGFjZWhvbGRlci13YXZlIHtcbiAgbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KDEzMGRlZywgJGJsYWNrIDU1JSwgcmdiYSgwLCAwLCAwLCAoMSAtICRwbGFjZWhvbGRlci1vcGFjaXR5LW1pbikpIDc1JSwgJGJsYWNrIDk1JSk7XG4gIC13ZWJraXQtbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KDEzMGRlZywgJGJsYWNrIDU1JSwgcmdiYSgwLCAwLCAwLCAoMSAtICRwbGFjZWhvbGRlci1vcGFjaXR5LW1pbikpIDc1JSwgJGJsYWNrIDk1JSk7XG4gIG1hc2stc2l6ZTogMjAwJSAxMDAlO1xuICAtd2Via2l0LW1hc2stc2l6ZTogMjAwJSAxMDAlO1xuICBhbmltYXRpb246IHBsYWNlaG9sZGVyLXdhdmUgMnMgbGluZWFyIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHBsYWNlaG9sZGVyLXdhdmUge1xuICAxMDAlIHtcbiAgICBtYXNrLXBvc2l0aW9uOiAtMjAwJSAwJTtcbiAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IC0yMDAlIDAlO1xuICB9XG59XG4iLAoJCSJAaW1wb3J0IFwiaGVscGVycy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcImhlbHBlcnMvY29sb3ItYmdcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2NvbG9yZWQtbGlua3NcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2ZvY3VzLXJpbmdcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2ljb24tbGlua1wiO1xuQGltcG9ydCBcImhlbHBlcnMvcmF0aW9cIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3Bvc2l0aW9uXCI7XG5AaW1wb3J0IFwiaGVscGVycy9zdGFja3NcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3Zpc3VhbGx5LWhpZGRlblwiO1xuQGltcG9ydCBcImhlbHBlcnMvc3RyZXRjaGVkLWxpbmtcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3RleHQtdHJ1bmNhdGlvblwiO1xuQGltcG9ydCBcImhlbHBlcnMvdnJcIjtcbiIsCgkJIi5jbGVhcmZpeCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG4iLAoJCSIvLyBBbGwtY2FwcyBgUkdCQSgpYCBmdW5jdGlvbiB1c2VkIGJlY2F1c2Ugb2YgdGhpcyBTYXNzIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvbm9kZS1zYXNzL2lzc3Vlcy8yMjUxXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLnRleHQtYmctI3skY29sb3J9IHtcbiAgICBjb2xvcjogY29sb3ItY29udHJhc3QoJHZhbHVlKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IFJHQkEodmFyKC0tI3skcHJlZml4fSN7JGNvbG9yfS1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9Ymctb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gIH1cbn1cbiIsCgkJIi8vIEFsbC1jYXBzIGBSR0JBKClgIGZ1bmN0aW9uIHVzZWQgYmVjYXVzZSBvZiB0aGlzIFNhc3MgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9ub2RlLXNhc3MvaXNzdWVzLzIyNTFcbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAubGluay0jeyRjb2xvcn0ge1xuICAgIGNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH0jeyRjb2xvcn0tcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH0jeyRjb2xvcn0tcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuXG4gICAgQGlmICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UgIT0gMCB7XG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgICRob3Zlci1jb2xvcjogaWYoY29sb3ItY29udHJhc3QoJHZhbHVlKSA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCR2YWx1ZSwgJGxpbmstc2hhZGUtcGVyY2VudGFnZSksIHRpbnQtY29sb3IoJHZhbHVlLCAkbGluay1zaGFkZS1wZXJjZW50YWdlKSk7XG4gICAgICAgIGNvbG9yOiBSR0JBKCN7dG8tcmdiKCRob3Zlci1jb2xvcil9LCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAxKSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKHRvLXJnYigkaG92ZXItY29sb3IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE9uZS1vZmYgc3BlY2lhbCBsaW5rIGhlbHBlciBhcyBhIGJyaWRnZSB1bnRpbCB2NlxuLmxpbmstYm9keS1lbXBoYXNpcyB7XG4gIGNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAxKSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG5cbiAgQGlmICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UgIT0gMCB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAuNzUpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay11bmRlcmxpbmUtb3BhY2l0eSwgLjc1KSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICB9XG4gIH1cbn1cbiIsCgkJIi5mb2N1cy1yaW5nOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbiAgLy8gQnkgZGVmYXVsdCwgdGhlcmUgaXMgbm8gYC0tYnMtZm9jdXMtcmluZy14YCwgYC0tYnMtZm9jdXMtcmluZy15YCwgb3IgYC0tYnMtZm9jdXMtcmluZy1ibHVyYCwgYnV0IHdlIHByb3ZpZGUgQ1NTIHZhcmlhYmxlcyB3aXRoIGZhbGxiYWNrcyB0byBpbml0aWFsIGAwYCB2YWx1ZXNcbiAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWZvY3VzLXJpbmcteCwgMCkgdmFyKC0tI3skcHJlZml4fWZvY3VzLXJpbmcteSwgMCkgdmFyKC0tI3skcHJlZml4fWZvY3VzLXJpbmctYmx1ciwgMCkgdmFyKC0tI3skcHJlZml4fWZvY3VzLXJpbmctd2lkdGgpIHZhcigtLSN7JHByZWZpeH1mb2N1cy1yaW5nLWNvbG9yKTtcbn1cbiIsCgkJIi5pY29uLWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZ2FwOiAkaWNvbi1saW5rLWdhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHJnYmEodmFyKC0tI3skcHJlZml4fWxpbmstY29sb3ItcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstb3BhY2l0eSwgLjUpKTtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAkaWNvbi1saW5rLXVuZGVybGluZS1vZmZzZXQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtby1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgPiAuYmkge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIC13ZWJraXQtZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6ICRpY29uLWxpbmstaWNvbi1zaXplO1xuICAgIGhlaWdodDogJGljb24tbGluay1pY29uLXNpemU7XG4gICAgZmlsbDogY3VycmVudGNvbG9yO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGljb24tbGluay1pY29uLXRyYW5zaXRpb24pO1xuICB9XG59XG5cbi5pY29uLWxpbmstaG92ZXIge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzLXZpc2libGUge1xuICAgID4gLmJpIHtcbiAgICAgIHRyYW5zZm9ybTogdmFyKC0tI3skcHJlZml4fWljb24tbGluay10cmFuc2Zvcm0sICRpY29uLWxpbmstaWNvbi10cmFuc2Zvcm0pO1xuICAgIH1cbiAgfVxufVxuIiwKCQkiLy8gQ3JlZGl0OiBOaWNvbGFzIEdhbGxhZ2hlciBhbmQgU1VJVCBDU1MuXG5cbi5yYXRpbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tI3skcHJlZml4fWFzcGVjdC1yYXRpbyk7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gID4gKiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AZWFjaCAka2V5LCAkcmF0aW8gaW4gJGFzcGVjdC1yYXRpb3Mge1xuICAucmF0aW8tI3ska2V5fSB7XG4gICAgLS0jeyRwcmVmaXh9YXNwZWN0LXJhdGlvOiAjeyRyYXRpb307XG4gIH1cbn1cbiIsCgkJIi8vIFNob3J0aGFuZFxuXG4uZml4ZWQtdG9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4uZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4vLyBSZXNwb25zaXZlIHN0aWNreSB0b3AgYW5kIGJvdHRvbVxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLnN0aWNreSN7JGluZml4fS10b3Age1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHotaW5kZXg6ICR6aW5kZXgtc3RpY2t5O1xuICAgIH1cblxuICAgIC5zdGlja3kjeyRpbmZpeH0tYm90dG9tIHtcbiAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICBib3R0b206IDA7XG4gICAgICB6LWluZGV4OiAkemluZGV4LXN0aWNreTtcbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vIHNjc3MtZG9jcy1zdGFydCBzdGFja3Ncbi5oc3RhY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAtd2Via2l0LWFsaWduLXNlbGY6IHN0cmV0Y2g7XG59XG5cbi52c3RhY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICAtd2Via2l0LWZsZXg6IDEgMSBhdXRvO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogc3RyZXRjaDtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgc3RhY2tzXG4iLAoJCSIvL1xuLy8gVmlzdWFsbHkgaGlkZGVuXG4vL1xuXG4udmlzdWFsbHktaGlkZGVuLFxuLnZpc3VhbGx5LWhpZGRlbi1mb2N1c2FibGU6bm90KDpmb2N1cyk6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG59XG4iLAoJCSIvL1xuLy8gU3RyZXRjaGVkIGxpbmtcbi8vXG5cbi5zdHJldGNoZWQtbGluayB7XG4gICY6OiN7JHN0cmV0Y2hlZC1saW5rLXBzZXVkby1lbGVtZW50fSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkc3RyZXRjaGVkLWxpbmstei1pbmRleDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4iLAoJCSIvL1xuLy8gVGV4dCB0cnVuY2F0aW9uXG4vL1xuXG4udGV4dC10cnVuY2F0ZSB7XG4gIEBpbmNsdWRlIHRleHQtdHJ1bmNhdGUoKTtcbn1cbiIsCgkJIi52ciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiBzdHJldGNoO1xuICB3aWR0aDogJHZyLWJvcmRlci13aWR0aDtcbiAgbWluLWhlaWdodDogMWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gIG9wYWNpdHk6ICRoci1vcGFjaXR5O1xufVxuIiwKCQkiLy8gTG9vcCBvdmVyIGVhY2ggYnJlYWtwb2ludFxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcblxuICAvLyBHZW5lcmF0ZSBtZWRpYSBxdWVyeSBpZiBuZWVkZWRcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLy8gTG9vcCBvdmVyIGVhY2ggdXRpbGl0eSBwcm9wZXJ0eVxuICAgIEBlYWNoICRrZXksICR1dGlsaXR5IGluICR1dGlsaXRpZXMge1xuICAgICAgLy8gVGhlIHV0aWxpdHkgY2FuIGJlIGRpc2FibGVkIHdpdGggYGZhbHNlYCwgdGh1cyBjaGVjayBpZiB0aGUgdXRpbGl0eSBpcyBhIG1hcCBmaXJzdFxuICAgICAgLy8gT25seSBwcm9jZWVkIGlmIHJlc3BvbnNpdmUgbWVkaWEgcXVlcmllcyBhcmUgZW5hYmxlZCBvciBpZiBpdCdzIHRoZSBiYXNlIG1lZGlhIHF1ZXJ5XG4gICAgICBAaWYgdHlwZS1vZigkdXRpbGl0eSkgPT0gXCJtYXBcIiBhbmQgKG1hcC1nZXQoJHV0aWxpdHksIHJlc3BvbnNpdmUpIG9yICRpbmZpeCA9PSBcIlwiKSB7XG4gICAgICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxpdHkoJHV0aWxpdHksICRpbmZpeCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZCBmZyBjb250cmFzdHMgZm9yIGVhY2ggYmcgdXRpbGl0eSBjbGFzc1xuQGVhY2ggJGtleSwgJHZhbCBpbiAkdXRpbGl0aWVzLWNvbG9ycyB7XG4gIC5iZy0jeyRrZXl9IHtcbiAgICBjb2xvcjogY29sb3ItY29udHJhc3QocmdiKG50aCgkdmFsLCAxKSwgbnRoKCR2YWwsIDIpLCBudGgoJHZhbCwgMykpKTtcbiAgfVxufVxuXG4vLyBSRlMgcmVzY2FsaW5nXG5AbWVkaWEgKG1pbi13aWR0aDogJHJmcy1tcS12YWx1ZSkge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgQGlmIChtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkgPCAkcmZzLWJyZWFrcG9pbnQpIHtcbiAgICAgIC8vIExvb3Agb3ZlciBlYWNoIHV0aWxpdHkgcHJvcGVydHlcbiAgICAgIEBlYWNoICRrZXksICR1dGlsaXR5IGluICR1dGlsaXRpZXMge1xuICAgICAgICAvLyBUaGUgdXRpbGl0eSBjYW4gYmUgZGlzYWJsZWQgd2l0aCBgZmFsc2VgLCB0aHVzIGNoZWNrIGlmIHRoZSB1dGlsaXR5IGlzIGEgbWFwIGZpcnN0XG4gICAgICAgIC8vIE9ubHkgcHJvY2VlZCBpZiByZXNwb25zaXZlIG1lZGlhIHF1ZXJpZXMgYXJlIGVuYWJsZWQgb3IgaWYgaXQncyB0aGUgYmFzZSBtZWRpYSBxdWVyeVxuICAgICAgICBAaWYgdHlwZS1vZigkdXRpbGl0eSkgPT0gXCJtYXBcIiBhbmQgbWFwLWdldCgkdXRpbGl0eSwgcmZzKSBhbmQgKG1hcC1nZXQoJHV0aWxpdHksIHJlc3BvbnNpdmUpIG9yICRpbmZpeCA9PSBcIlwiKSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbGl0eSgkdXRpbGl0eSwgJGluZml4LCB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFByaW50IHV0aWxpdGllc1xuQG1lZGlhIHByaW50IHtcbiAgQGVhY2ggJGtleSwgJHV0aWxpdHkgaW4gJHV0aWxpdGllcyB7XG4gICAgLy8gVGhlIHV0aWxpdHkgY2FuIGJlIGRpc2FibGVkIHdpdGggYGZhbHNlYCwgdGh1cyBjaGVjayBpZiB0aGUgdXRpbGl0eSBpcyBhIG1hcCBmaXJzdFxuICAgIC8vIFRoZW4gY2hlY2sgaWYgdGhlIHV0aWxpdHkgbmVlZHMgcHJpbnQgc3R5bGVzXG4gICAgQGlmIHR5cGUtb2YoJHV0aWxpdHkpID09IFwibWFwXCIgYW5kIG1hcC1nZXQoJHV0aWxpdHksIHByaW50KSA9PSB0cnVlIHtcbiAgICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxpdHkoJHV0aWxpdHksIFwiLXByaW50XCIpO1xuICAgIH1cbiAgfVxufVxuIiwKCQkiQGltcG9ydCBcIndlbGxzXCI7XG5AaW1wb3J0IFwiaGVscF90ZXh0XCI7XG5AaW1wb3J0IFwiZHJvcGRvd25fY29tcGF0XCI7XG5AaW1wb3J0IFwibmF2YmFyX2NvbXBhdFwiO1xuQGltcG9ydCBcIm5hdl9jb21wYXRcIjtcbkBpbXBvcnQgXCJwcm9ncmVzc19jb21wYXRcIjtcbkBpbXBvcnQgXCJkdF9jb21wYXRcIjtcblxuQGltcG9ydCBcImdseXBoaWNvbnNcIjtcblxuQGltcG9ydCBcInNoaW55X2lucHV0XCI7XG5AaW1wb3J0IFwic2hpbnlfbWlzY1wiO1xuXG5AaW1wb3J0IFwiaGVhZGVyc1wiO1xuIiwKCQkiLy8gRGVyaXZlcyBmcm9tIEJTMyBTQVNTLCBidXQgbW9kaWZpZWQgdG8gaW5oZXJpdCBmcm9tIEJTNCB2YXJzXG4vLyBodHRwczovL2dpdGh1Yi5jb20vcnN0dWRpby9ic2xpYi9ibG9iLzA0OTI1ZTEvaW5zdC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fd2VsbHMuc2NzcyNMMVxuLndlbGwge1xuICBAZXh0ZW5kIC5jYXJkO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdlbGwtYmc7XG4gIGNvbG9yOiAkd2VsbC1jb2xvcjtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXg7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMpXG59XG5cbi8vIFNpemVzXG4ud2VsbC1sZyB7XG4gIHBhZGRpbmc6IDEuNSAqICRzcGFjZXI7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtbGcpO1xufVxuLndlbGwtc20ge1xuICBwYWRkaW5nOiAwLjUgKiAkc3BhY2VyO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLy8gRm9yIHdlbGxQYW5lbCgpIGluc2lkZSBhYnNvbHV0ZVBhbmVsKClcbkBpZiAkYm9vdHN0cmFwLXZlcnNpb24gPT0gNCB7XG4gIC5kcmFnZ2FibGUgLndlbGwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG9wYXF1ZSgkYm9keS1iZywgJHdlbGwtYmcpO1xuICB9XG59XG4iLAoJCSIuaGVscC10ZXh0LCAuaGVscC1ibG9jayB7XG4gIEBleHRlbmQgLmZvcm0tdGV4dDsgQGV4dGVuZCAudGV4dC1tdXRlZDtcbn1cbiIsCgkJIi8vICMgRFJPUERPV05TXG4vL1xuLy8gSW4gYnMzLCBkcm9wZG93biBtZW51cyBhcmUgLmRyb3Bkb3duLW1lbnU+bGkuYWN0aXZlPmFcbi8vIEluIGJzNCwgZHJvcGRvd24gbWVudXMgYXJlIC5kcm9wZG93bi1tZW51Pi5kcm9wZG93bi1pdGVtLmFjdGl2ZVxuLy9cbi8vIEFsc28sIGJzMyBkcm9wZG93bnMgd2l0aGluIHRhYnMvcGlsbHMgYXJlIGludGVyZmVyZWQgd2l0aCBpbiBiczQgYnlcbi8vIHNlbGVjdG9ycyBsaWtlIGAuYnMtdGFicyBsaT5hYCwgbWFraW5nIG1lbnUgaXRlbXMgbG9vayBsaWtlIHRhYnMuXG5cbi5kcm9wZG93bi1tZW51PmxpPmEge1xuICBAZXh0ZW5kIC5kcm9wZG93bi1pdGVtO1xufVxuLmRyb3Bkb3duLW1lbnU+bGkuYWN0aXZlPmEge1xuICAvLyBUaGlzIEBleHRlbmQgd29ya3MsIGJ1dCBpdCBsaXR0ZXJzIGAuZHJvcGRvd24tbWVudT5saS5hY3RpdmU+YWAgYWxsIG92ZXJcbiAgLy8gdGhlIGJvb3RzdHJhcC5jc3Mgb3V0cHV0IGJlY2F1c2UgaXQncyBzdWNoIGEgY29tbW9uIGNsYXNzLiBJbnN0ZWFkLCB3ZVxuICAvLyBjb3B5IHRoZXNlIGZldyBwcm9wZXJ0aWVzIGZyb20gZnJvbSBfZHJvcGRvd24uc2Nzcy5cbiAgLy8gQGV4dGVuZCAuYWN0aXZlO1xuICBjb2xvcjogJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZyk7XG59XG4uZHJvcGRvd24tbWVudT5saS5kaXZpZGVyIHtcbiAgQGV4dGVuZCAuZHJvcGRvd24tZGl2aWRlcjtcbn1cbiIsCgkJIiRuYXZiYXItZXhwYW5kLWJyZWFrcG9pbnQ6IGlmKCRib290c3RyYXAtdmVyc2lvbj49NSwgbGcsIHNtKSAhZGVmYXVsdDsgXG5cbi8vIGJzNCBuYXZiYXJzIHJlcXVpcmUgLm5hdmJhci1leHBhbmRbLXNtfC1tZHwtbGd8LXhsXSwgYnV0IGJzMyBuYXZiYXJzXG4vLyBkb24ndCBoYXZlIHRoZW0uIFRoaXMgc2VsZWN0b3IgbWF0Y2hlcyAubmF2YmFyIHdpdGhvdXQgLm5hdmJhci1leHBhbmRcbi8vIGFuZCBkZWZhdWx0cyBpdCB0byAubmF2YmFyLWV4cGFuZC1zbS5cbi5uYXZiYXI6bm90KC5uYXZiYXItZXhwYW5kKTpub3QoLm5hdmJhci1leHBhbmQtc20pOm5vdCgubmF2YmFyLWV4cGFuZC1tZCk6bm90KC5uYXZiYXItZXhwYW5kLWxnKTpub3QoLm5hdmJhci1leHBhbmQteGwpIHtcbiAgQGV4dGVuZCAubmF2YmFyLWV4cGFuZC0jeyRuYXZiYXItZXhwYW5kLWJyZWFrcG9pbnR9O1xufVxuXG4vLyBVbmZvcnR1bmF0ZWx5IHRoZSBAZXh0ZW5kIGFib3ZlLCBjb21iaW5lZCB3aXRoIHRoZSBAZXh0ZW5kIC5uYXYtbGluayBiZWxvd1xuLy8gcmVzdWx0cyBpbiAubmF2YmFyLWV4cGFuZCdzIHBhZGRpbmcgcnVsZXMgdGFraW5nIHByZWNlZGVuY2Ugb3ZlclxuLy8gLm5hdi11bmRlcmxpbmUncyBwYWRkaW5nIHJ1bGVzIChhbmQgdW5mb3J0dW5hdGVseSA6d2hlcmUoKS9jc3MtbGF5ZXJzIGRvZXNuJ3Rcbi8vIGhlbHAgaGVyZSwgc28ganVzdCByZS1hcHBseSB0aGUgcGFkZGluZyBydWxlcylcbi5uYXZiYXIgLm5hdi5uYXYtdW5kZXJsaW5lIHtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogMDtcbn1cblxuLm5hdmJhcjpub3QoLmZpeGVkLWJvdHRvbSk6bm90KC5uYXZiYXItZml4ZWQtYm90dG9tKSB7XG4gIC8vIEluc3RlYWQgb2YgZXhhY3RseSByZS1kb2luZyBiczMncyAubmF2YmFyIHsgbWFyZ2luLWJvdHRvbSB9LCBzZXRcbiAgLy8gbWFyZ2luLXRvcCBvbiBlYWNoIHBhbmUgKHNvICdmaWxsJyBwYW5lcyBjYW4gYmUgZmx1c2ggd2l0aCBuYXZiYXIpXG4gICYgKyBkaXYgPiAudGFiLWNvbnRlbnQgPiAudGFiLXBhbmUge1xuICAgIC0tYnNsaWItbmF2YmFyLW1hcmdpbjogI3skbmF2YmFyLW1hcmdpbi1ib3R0b219O1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWJzbGliLW5hdmJhci1tYXJnaW4pO1xuICB9XG59XG5cbi8vIE1hcCBCUzMgbmF2YmFyIHBvc2l0aW9uaW5nIHRvIGdlbmVyYWwgdXRpbGl0aWVzXG4ubmF2YmFyLWZpeGVkLXRvcCB7XG4gIEBleHRlbmQgLmZpeGVkLXRvcDtcbn1cbi5uYXZiYXItZml4ZWQtYm90dG9tIHtcbiAgQGV4dGVuZCAuZml4ZWQtYm90dG9tO1xufVxuLm5hdmJhci1zdGlja3ktdG9wIHtcbiAgQGV4dGVuZCAuc3RpY2t5LXRvcDtcbn1cblxudWwubmF2Lm5hdmJhci1uYXYge1xuICBmbGV4OiAxO1xuICAtd2Via2l0LWZsZXg6IDE7XG4gICYubmF2YmFyLXJpZ2h0IHtcbiAgICBmbGV4OiB1bnNldDtcbiAgICAtd2Via2l0LWZsZXg6IHVuc2V0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG59XG5cbi8vIDp3aGVyZSgpIGxvd2VycyB0aGUgc3BlY2lmaWNpdHkgb2YgdGhlIGV2ZW50dWFsbHkgQGV4dGVuZCBzZWxlY3Rvciwgd2hpY2ggaXNcbi8vIGltcG9ydGFudCB0byBtYWtlIHN1cmUgdGhvc2Ugc2VsZWN0b3JzIGRvbid0IGdldCBhbiBhcnRpZmljaWFsIHNwZWNpZmljaXR5XG4vLyBib29zdCAoZS5nLiwgd2UgZG9uJ3Qgd2FudCBgdWwubmF2Lm5hdmJhci1uYXY+bGk+YWAgdG8gYmUgbW9yZSBzcGVjaWZpYyB0aGFuXG4vLyBgLm5hdi11bmRlcmxpbmUgLm5hdi1saW5rYClcbjp3aGVyZSh1bC5uYXYubmF2YmFyLW5hdiA+IGxpKSB7XG4gICY6bm90KC5kcm9wZG93bikge1xuICAgIEBleHRlbmQgLm5hdi1pdGVtO1xuICB9XG5cbiAgPiBhIHtcbiAgICBAZXh0ZW5kIC5uYXYtbGluaztcbiAgfVxuICBcbiAgJi5hY3RpdmUsICYuc2hvdyB7XG4gICAgPiBhIHtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWFjdGl2ZS1jb2xvcik7XG4gICAgfVxuICB9XG5cbiAgJi5ic2xpYi1uYXYtaXRlbSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYWN0aXZlLWNvbG9yKTtcbiAgfVxufVxuXG5cbi5uYXZiYXIge1xuXG4gIC8vIERlZmF1bHRzIHRvIG51bGwgKGFuZCBpbiB0aGF0IGNhc2UsIHdlIGRvbid0IHdhbnQgdG8gZGVmaW5lIHRoZSBDU1MgdmFyKVxuICBAaWYgJG5hdmJhci1saWdodC1iZyB7XG4gICAgLS1ic2xpYi1uYXZiYXItZGVmYXVsdC1iZzogI3skbmF2YmFyLWxpZ2h0LWJnfTtcbiAgfVxuICBAaWYgJG5hdmJhci1kYXJrLWJnIHtcbiAgICAtLWJzbGliLW5hdmJhci1pbnZlcnNlLWJnOiAjeyRuYXZiYXItZGFyay1iZ307XG4gIH1cblxuICAvLyBCUzMgLm5hdmJhci1kZWZhdWx0IC0+IEJTNCAubmF2YmFyLWxpZ2h0XG4gICYubmF2YmFyLWRlZmF1bHQge1xuICAgIC8vIFNldHMgYSB2YXJpZXR5IG9mIGZnIGNvbG9ycyB3aGljaCBhcmUgY29uZmlndXJhYmxlIHZpYSAkbmF2YmFyLWxpZ2h0LSogb3B0aW9uc1xuICAgIEBleHRlbmQgLm5hdmJhci1saWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ic2xpYi1uYXZiYXItZGVmYXVsdC1iZywgdmFyKC0tI3skcHJlZml4fWxpZ2h0KSkgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIEJTMyAubmF2YmFyLWludmVyc2UgLT4gQlM0IC5uYXZiYXItZGFya1xuICAmLm5hdmJhci1pbnZlcnNlIHtcbiAgICAvLyBTZXRzIGEgdmFyaWV0eSBvZiBmZyBjb2xvcnMgd2hpY2ggYXJlIGNvbmZpZ3VyYWJsZSB2aWEgJG5hdmJhci1kYXJrLSogb3B0aW9uc1xuICAgIEBleHRlbmQgLm5hdmJhci1kYXJrO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzbGliLW5hdmJhci1pbnZlcnNlLWJnLCB2YXIoLS0jeyRwcmVmaXh9ZGFyaykpICFpbXBvcnRhbnQ7XG4gICAgLy8gRm9yIEJTNSsgbGVhbiBvbiBlbXBoYXNpcy1jb2xvclxuICAgIC0tYnMtZW1waGFzaXMtY29sb3I6IHdoaXRlO1xuICAgIC0tYnMtZW1waGFzaXMtY29sb3ItcmdiOiAyNTUsIDI1NSwgMjU1O1xuICB9XG59XG5cbiRlbmFibGUtZGFyay1tb2RlOiBmYWxzZSAhZGVmYXVsdDtcbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaykge1xuICAgIC5uYXZiYXIubmF2YmFyLWRlZmF1bHQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnNsaWItbmF2YmFyLWRlZmF1bHQtYmcsIHZhcigtLSN7JHByZWZpeH1kYXJrKSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gSW1wbGVtZW50IGJzMyBuYXZiYXIgdG9nZ2xlcjsgdXNlZCBpbiBSbWQgd2Vic2l0ZXMsIGkuZS5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9yc3R1ZGlvL3JtYXJrZG93bi13ZWJzaXRlL2Jsb2IvNDUzZTE4MDJiMzJiNWJhZjFjOGE2N2Y4MDk0N2FkY2M1M2U0OWI3Zi9fbmF2YmFyLmh0bWxcbi5uYXZiYXItdG9nZ2xlIHtcbiAgQGV4dGVuZCAubmF2YmFyLXRvZ2dsZXI7XG59XG4ubmF2YmFyLXRvZ2dsZSB7XG4gID4gLmljb24tYmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBAZXh0ZW5kIC5uYXZiYXItdG9nZ2xlci1pY29uO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNYWtlIHN1cmUgLm5hdmJhci10b2dnbGUgaXMgcmlnaHQgYW5kIGNlbnRlciBhbGlnbmVkIHdoZW4gbmF2YmFyIGlzIGNvbGxhcHNlZFxuQGlmICRib290c3RyYXAtdmVyc2lvbj49NSB7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYXZiYXItZXhwYW5kLWJyZWFrcG9pbnQpIHtcbiAgICAubmF2YmFyLWhlYWRlciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIC5uYXZiYXItdG9nZ2xlIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIFxufSBAZWxzZSB7XG5cbiAgLy8gSW4gQlM0LCBtZWRpYS1icmVha3BvaW50LWRvd24oKSBkb2VzIHRoZSBfbmV4dF8gYnJlYWtwb2ludCAoeHMtPnNtKVxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oeHMpIHtcbiAgICAubmF2YmFyLWhlYWRlciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIC5uYXZiYXItdG9nZ2xlIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59IiwKCQkiLy8gRml4IHRhYiBzZWxlY3RvciBib3JkZXJzIGluIGJzMy5cbi5uYXYtdGFicz5saSxcbi5uYXYtcGlsbHM+bGkge1xuICBAZXh0ZW5kIC5uYXYtaXRlbTtcbn1cbi5uYXYtdGFicz5saT5hLFxuLm5hdi1waWxscz5saT5hIHtcbiAgQGV4dGVuZCAubmF2LWxpbms7XG59XG5cbi8vIEFjdGl2ZSB0YWIvcGlsbC5cbi8vXG4vLyBiczMgdXNlcyAubmF2PmxpLmFjdGl2ZT5hLCBiczQgdXNlcyAubmF2PmxpPmEuYWN0aXZlIG9yIC5uYXY+bGkuc2hvdz5hLlxuLy9cbi8vIE15IG9yaWdpbmFsIGFwcHJvYWNoIHRvIHRoaXMgd2FzIG1ha2luZyAubmF2PmxpLmFjdGl2ZSBAZXh0ZW5kIC5zaG93LCBidXRcbi8vIGFmdGVyIGEgbG90IG9mIHRyaWFsIGFuZCBlcnJvciBJIGNvdWxkIG5vdCBnZXQgaXQgdG8gZnVsbHkgd29yay5cbi5uYXYtdGFicz5saS5hY3RpdmU+YSB7XG4gIGNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZztcbiAgYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yO1xufVxuLm5hdi1waWxscz5saS5hY3RpdmU+YSB7XG4gIGNvbG9yOiAkbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnO1xufVxuXG4vLyBTdXBwb3J0IHZlcnRpY2FsIHBpbGxzXG4ubmF2LXN0YWNrZWQge1xuICAvLyBEb24ndCBleHRlbmQgdGhlIC5mbGV4LWNvbHVtbiB1dGlsaXR5LCBpdCB1c2VzICFpbXBvcnRhbnRcbiAgLy8gQGV4dGVuZCAuZmxleC1jb2x1bW47XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuXG4uaW4ge1xuICBAZXh0ZW5kIC5zaG93O1xufVxuIiwKCQkiQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5wcm9ncmVzcy1iYXItI3skY29sb3J9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdmFsdWU7XG4gICAgY29sb3I6IGNvbG9yLWNvbnRyYXN0KCR2YWx1ZSk7XG4gIH1cbn1cbiIsCgkJIi8vIEZvciBEYXRhVGFibGVzIHdpdGggQlMgNStcbkBpZiAkYm9vdHN0cmFwLXZlcnNpb24gPj0gNSB7XG4gIC8vIEN1cnJlbnRseSBub3QgcG9zc2libGUgdGhyb3VnaCBEVDogcnN0dWRpby9EVCMxMDgxXG4gIC5kYXRhdGFibGVzIHRoZWFkIC5mb3JtLWdyb3VwLmhhcy1mZWVkYmFjayArIGRpdiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtYm9keS1iZykgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvcikgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJzLWJvcmRlci1jb2xvcikgIWltcG9ydGFudDtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLWJzLWJvcmRlci13aWR0aCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cyk7XG4gICAgYm9yZGVyLXN0eWxlOiB2YXIoLS1icy1ib3JkZXItc3R5bGUpO1xuICB9XG59XG4iLAoJCSIvLyBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgdG9vbHMvZ2x5cGhpY29ucy5SXG4vLyBDb25zaWRlciBtYWtpbmcgZWRpdHMgdGhlcmUgYmVmb3JlIGVkaXRpbmcgdGhpcyBmaWxlLlxuJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlcjogZmFsc2U7XG4kaWNvbi1mb250LW5hbWU6ICdnbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyJztcbiRpY29uLWZvbnQtc3ZnLWlkOiAnZ2x5cGhpY29uc19oYWxmbGluZ3NyZWd1bGFyJztcbiRpY29uLWZvbnQtcGF0aDogJ2ZvbnRzL2Jvb3RzdHJhcC8nO1xuLy9cbi8vIEdseXBoaWNvbnMgZm9yIEJvb3RzdHJhcFxuLy9cbi8vIFNpbmNlIGljb25zIGFyZSBmb250cywgdGhleSBjYW4gYmUgcGxhY2VkIGFueXdoZXJlIHRleHQgaXMgcGxhY2VkIGFuZCBhcmVcbi8vIHRodXMgYXV0b21hdGljYWxseSBzaXplZCB0byBtYXRjaCB0aGUgc3Vycm91bmRpbmcgY2hpbGQuIFRvIHVzZSwgY3JlYXRlIGFuXG4vLyBpbmxpbmUgZWxlbWVudCB3aXRoIHRoZSBhcHByb3ByaWF0ZSBjbGFzc2VzLCBsaWtlIHNvOlxuLy9cbi8vIDxhIGhyZWY9XCIjXCI+PHNwYW4gY2xhc3M9XCJnbHlwaGljb24gZ2x5cGhpY29uLXN0YXJcIj48L3NwYW4+IFN0YXI8L2E+XG5cbkBhdC1yb290IHtcbiAgLy8gSW1wb3J0IHRoZSBmb250c1xuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0dseXBoaWNvbnMgSGFsZmxpbmdzJztcbiAgICBzcmM6IHVybChpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCB0d2JzLWZvbnQtcGF0aCgnI3skaWNvbi1mb250LXBhdGh9I3skaWNvbi1mb250LW5hbWV9LmVvdCcpLCAnI3skaWNvbi1mb250LXBhdGh9I3skaWNvbi1mb250LW5hbWV9LmVvdCcpKTtcbiAgICBzcmM6IHVybChpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCB0d2JzLWZvbnQtcGF0aCgnI3skaWNvbi1mb250LXBhdGh9I3skaWNvbi1mb250LW5hbWV9LmVvdD8jaWVmaXgnKSwgJyN7JGljb24tZm9udC1wYXRofSN7JGljb24tZm9udC1uYW1lfS5lb3Q/I2llZml4JykpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgIHVybChpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCB0d2JzLWZvbnQtcGF0aCgnI3skaWNvbi1mb250LXBhdGh9I3skaWNvbi1mb250LW5hbWV9LndvZmYyJyksICcjeyRpY29uLWZvbnQtcGF0aH0jeyRpY29uLWZvbnQtbmFtZX0ud29mZjInKSkgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgdXJsKGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIHR3YnMtZm9udC1wYXRoKCcjeyRpY29uLWZvbnQtcGF0aH0jeyRpY29uLWZvbnQtbmFtZX0ud29mZicpLCAnI3skaWNvbi1mb250LXBhdGh9I3skaWNvbi1mb250LW5hbWV9LndvZmYnKSkgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICB1cmwoaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgdHdicy1mb250LXBhdGgoJyN7JGljb24tZm9udC1wYXRofSN7JGljb24tZm9udC1uYW1lfS50dGYnKSwgJyN7JGljb24tZm9udC1wYXRofSN7JGljb24tZm9udC1uYW1lfS50dGYnKSkgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICAgdXJsKGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIHR3YnMtZm9udC1wYXRoKCcjeyRpY29uLWZvbnQtcGF0aH0jeyRpY29uLWZvbnQtbmFtZX0uc3ZnIyN7JGljb24tZm9udC1zdmctaWR9JyksICcjeyRpY29uLWZvbnQtcGF0aH0jeyRpY29uLWZvbnQtbmFtZX0uc3ZnIyN7JGljb24tZm9udC1zdmctaWR9JykpIGZvcm1hdCgnc3ZnJyk7XG4gIH1cbn1cblxuLy8gQ2F0Y2hhbGwgYmFzZWNsYXNzXG4uZ2x5cGhpY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDFweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogJ0dseXBoaWNvbnMgSGFsZmxpbmdzJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi8vIEluZGl2aWR1YWwgaWNvbnNcbi5nbHlwaGljb24tYXN0ZXJpc2sgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDJhXCI7IH0gfVxuLmdseXBoaWNvbi1wbHVzICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMmJcIjsgfSB9XG4uZ2x5cGhpY29uLWV1cm8sXG4uZ2x5cGhpY29uLWV1ciAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwyMGFjXCI7IH0gfVxuLmdseXBoaWNvbi1taW51cyAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMjIxMlwiOyB9IH1cbi5nbHlwaGljb24tY2xvdWQgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDI2MDFcIjsgfSB9XG4uZ2x5cGhpY29uLWVudmVsb3BlICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwyNzA5XCI7IH0gfVxuLmdseXBoaWNvbi1wZW5jaWwgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMjcwZlwiOyB9IH1cbi5nbHlwaGljb24tZ2xhc3MgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMDFcIjsgfSB9XG4uZ2x5cGhpY29uLW11c2ljICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDAyXCI7IH0gfVxuLmdseXBoaWNvbi1zZWFyY2ggICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAwM1wiOyB9IH1cbi5nbHlwaGljb24taGVhcnQgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMDVcIjsgfSB9XG4uZ2x5cGhpY29uLXN0YXIgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDA2XCI7IH0gfVxuLmdseXBoaWNvbi1zdGFyLWVtcHR5ICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAwN1wiOyB9IH1cbi5nbHlwaGljb24tdXNlciAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMDhcIjsgfSB9XG4uZ2x5cGhpY29uLWZpbG0gICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDA5XCI7IH0gfVxuLmdseXBoaWNvbi10aC1sYXJnZSAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAxMFwiOyB9IH1cbi5nbHlwaGljb24tdGggICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTFcIjsgfSB9XG4uZ2x5cGhpY29uLXRoLWxpc3QgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDEyXCI7IH0gfVxuLmdseXBoaWNvbi1vayAgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAxM1wiOyB9IH1cbi5nbHlwaGljb24tcmVtb3ZlICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTRcIjsgfSB9XG4uZ2x5cGhpY29uLXpvb20taW4gICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDE1XCI7IH0gfVxuLmdseXBoaWNvbi16b29tLW91dCAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAxNlwiOyB9IH1cbi5nbHlwaGljb24tb2ZmICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTdcIjsgfSB9XG4uZ2x5cGhpY29uLXNpZ25hbCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDE4XCI7IH0gfVxuLmdseXBoaWNvbi1jb2cgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAxOVwiOyB9IH1cbi5nbHlwaGljb24tdHJhc2ggICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjBcIjsgfSB9XG4uZ2x5cGhpY29uLWhvbWUgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDIxXCI7IH0gfVxuLmdseXBoaWNvbi1maWxlICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAyMlwiOyB9IH1cbi5nbHlwaGljb24tdGltZSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjNcIjsgfSB9XG4uZ2x5cGhpY29uLXJvYWQgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDI0XCI7IH0gfVxuLmdseXBoaWNvbi1kb3dubG9hZC1hbHQgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAyNVwiOyB9IH1cbi5nbHlwaGljb24tZG93bmxvYWQgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjZcIjsgfSB9XG4uZ2x5cGhpY29uLXVwbG9hZCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDI3XCI7IH0gfVxuLmdseXBoaWNvbi1pbmJveCAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAyOFwiOyB9IH1cbi5nbHlwaGljb24tcGxheS1jaXJjbGUgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjlcIjsgfSB9XG4uZ2x5cGhpY29uLXJlcGVhdCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDMwXCI7IH0gfVxuLmdseXBoaWNvbi1yZWZyZXNoICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAzMVwiOyB9IH1cbi5nbHlwaGljb24tbGlzdC1hbHQgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzJcIjsgfSB9XG4uZ2x5cGhpY29uLWxvY2sgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDMzXCI7IH0gfVxuLmdseXBoaWNvbi1mbGFnICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAzNFwiOyB9IH1cbi5nbHlwaGljb24taGVhZHBob25lcyAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzVcIjsgfSB9XG4uZ2x5cGhpY29uLXZvbHVtZS1vZmYgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDM2XCI7IH0gfVxuLmdseXBoaWNvbi12b2x1bWUtZG93biAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAzN1wiOyB9IH1cbi5nbHlwaGljb24tdm9sdW1lLXVwICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzhcIjsgfSB9XG4uZ2x5cGhpY29uLXFyY29kZSAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDM5XCI7IH0gfVxuLmdseXBoaWNvbi1iYXJjb2RlICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA0MFwiOyB9IH1cbi5nbHlwaGljb24tdGFnICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDFcIjsgfSB9XG4uZ2x5cGhpY29uLXRhZ3MgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDQyXCI7IH0gfVxuLmdseXBoaWNvbi1ib29rICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA0M1wiOyB9IH1cbi5nbHlwaGljb24tYm9va21hcmsgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDRcIjsgfSB9XG4uZ2x5cGhpY29uLXByaW50ICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDQ1XCI7IH0gfVxuLmdseXBoaWNvbi1jYW1lcmEgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA0NlwiOyB9IH1cbi5nbHlwaGljb24tZm9udCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDdcIjsgfSB9XG4uZ2x5cGhpY29uLWJvbGQgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDQ4XCI7IH0gfVxuLmdseXBoaWNvbi1pdGFsaWMgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA0OVwiOyB9IH1cbi5nbHlwaGljb24tdGV4dC1oZWlnaHQgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTBcIjsgfSB9XG4uZ2x5cGhpY29uLXRleHQtd2lkdGggICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDUxXCI7IH0gfVxuLmdseXBoaWNvbi1hbGlnbi1sZWZ0ICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA1MlwiOyB9IH1cbi5nbHlwaGljb24tYWxpZ24tY2VudGVyICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTNcIjsgfSB9XG4uZ2x5cGhpY29uLWFsaWduLXJpZ2h0ICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDU0XCI7IH0gfVxuLmdseXBoaWNvbi1hbGlnbi1qdXN0aWZ5ICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA1NVwiOyB9IH1cbi5nbHlwaGljb24tbGlzdCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTZcIjsgfSB9XG4uZ2x5cGhpY29uLWluZGVudC1sZWZ0ICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDU3XCI7IH0gfVxuLmdseXBoaWNvbi1pbmRlbnQtcmlnaHQgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA1OFwiOyB9IH1cbi5nbHlwaGljb24tZmFjZXRpbWUtdmlkZW8gICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTlcIjsgfSB9XG4uZ2x5cGhpY29uLXBpY3R1cmUgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDYwXCI7IH0gfVxuLmdseXBoaWNvbi1tYXAtbWFya2VyICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA2MlwiOyB9IH1cbi5nbHlwaGljb24tYWRqdXN0ICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjNcIjsgfSB9XG4uZ2x5cGhpY29uLXRpbnQgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDY0XCI7IH0gfVxuLmdseXBoaWNvbi1lZGl0ICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA2NVwiOyB9IH1cbi5nbHlwaGljb24tc2hhcmUgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjZcIjsgfSB9XG4uZ2x5cGhpY29uLWNoZWNrICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDY3XCI7IH0gfVxuLmdseXBoaWNvbi1tb3ZlICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA2OFwiOyB9IH1cbi5nbHlwaGljb24tc3RlcC1iYWNrd2FyZCAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjlcIjsgfSB9XG4uZ2x5cGhpY29uLWZhc3QtYmFja3dhcmQgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDcwXCI7IH0gfVxuLmdseXBoaWNvbi1iYWNrd2FyZCAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA3MVwiOyB9IH1cbi5nbHlwaGljb24tcGxheSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzJcIjsgfSB9XG4uZ2x5cGhpY29uLXBhdXNlICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDczXCI7IH0gfVxuLmdseXBoaWNvbi1zdG9wICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA3NFwiOyB9IH1cbi5nbHlwaGljb24tZm9yd2FyZCAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzVcIjsgfSB9XG4uZ2x5cGhpY29uLWZhc3QtZm9yd2FyZCAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDc2XCI7IH0gfVxuLmdseXBoaWNvbi1zdGVwLWZvcndhcmQgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA3N1wiOyB9IH1cbi5nbHlwaGljb24tZWplY3QgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzhcIjsgfSB9XG4uZ2x5cGhpY29uLWNoZXZyb24tbGVmdCAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDc5XCI7IH0gfVxuLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0ICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA4MFwiOyB9IH1cbi5nbHlwaGljb24tcGx1cy1zaWduICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODFcIjsgfSB9XG4uZ2x5cGhpY29uLW1pbnVzLXNpZ24gICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDgyXCI7IH0gfVxuLmdseXBoaWNvbi1yZW1vdmUtc2lnbiAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA4M1wiOyB9IH1cbi5nbHlwaGljb24tb2stc2lnbiAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODRcIjsgfSB9XG4uZ2x5cGhpY29uLXF1ZXN0aW9uLXNpZ24gICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDg1XCI7IH0gfVxuLmdseXBoaWNvbi1pbmZvLXNpZ24gICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA4NlwiOyB9IH1cbi5nbHlwaGljb24tc2NyZWVuc2hvdCAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODdcIjsgfSB9XG4uZ2x5cGhpY29uLXJlbW92ZS1jaXJjbGUgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDg4XCI7IH0gfVxuLmdseXBoaWNvbi1vay1jaXJjbGUgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA4OVwiOyB9IH1cbi5nbHlwaGljb24tYmFuLWNpcmNsZSAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwOTBcIjsgfSB9XG4uZ2x5cGhpY29uLWFycm93LWxlZnQgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDkxXCI7IH0gfVxuLmdseXBoaWNvbi1hcnJvdy1yaWdodCAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA5MlwiOyB9IH1cbi5nbHlwaGljb24tYXJyb3ctdXAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwOTNcIjsgfSB9XG4uZ2x5cGhpY29uLWFycm93LWRvd24gICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDk0XCI7IH0gfVxuLmdseXBoaWNvbi1zaGFyZS1hbHQgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA5NVwiOyB9IH1cbi5nbHlwaGljb24tcmVzaXplLWZ1bGwgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwOTZcIjsgfSB9XG4uZ2x5cGhpY29uLXJlc2l6ZS1zbWFsbCAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDk3XCI7IH0gfVxuLmdseXBoaWNvbi1leGNsYW1hdGlvbi1zaWduICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEwMVwiOyB9IH1cbi5nbHlwaGljb24tZ2lmdCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDJcIjsgfSB9XG4uZ2x5cGhpY29uLWxlYWYgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTAzXCI7IH0gfVxuLmdseXBoaWNvbi1maXJlICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEwNFwiOyB9IH1cbi5nbHlwaGljb24tZXllLW9wZW4gICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDVcIjsgfSB9XG4uZ2x5cGhpY29uLWV5ZS1jbG9zZSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTA2XCI7IH0gfVxuLmdseXBoaWNvbi13YXJuaW5nLXNpZ24gICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEwN1wiOyB9IH1cbi5nbHlwaGljb24tcGxhbmUgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDhcIjsgfSB9XG4uZ2x5cGhpY29uLWNhbGVuZGFyICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTA5XCI7IH0gfVxuLmdseXBoaWNvbi1yYW5kb20gICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTExMFwiOyB9IH1cbi5nbHlwaGljb24tY29tbWVudCAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTFcIjsgfSB9XG4uZ2x5cGhpY29uLW1hZ25ldCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTEyXCI7IH0gfVxuLmdseXBoaWNvbi1jaGV2cm9uLXVwICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTExM1wiOyB9IH1cbi5nbHlwaGljb24tY2hldnJvbi1kb3duICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTRcIjsgfSB9XG4uZ2x5cGhpY29uLXJldHdlZXQgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTE1XCI7IH0gfVxuLmdseXBoaWNvbi1zaG9wcGluZy1jYXJ0ICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTExNlwiOyB9IH1cbi5nbHlwaGljb24tZm9sZGVyLWNsb3NlICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTdcIjsgfSB9XG4uZ2x5cGhpY29uLWZvbGRlci1vcGVuICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTE4XCI7IH0gfVxuLmdseXBoaWNvbi1yZXNpemUtdmVydGljYWwgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTExOVwiOyB9IH1cbi5nbHlwaGljb24tcmVzaXplLWhvcml6b250YWwgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjBcIjsgfSB9XG4uZ2x5cGhpY29uLWhkZCAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTIxXCI7IH0gfVxuLmdseXBoaWNvbi1idWxsaG9ybiAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEyMlwiOyB9IH1cbi5nbHlwaGljb24tYmVsbCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjNcIjsgfSB9XG4uZ2x5cGhpY29uLWNlcnRpZmljYXRlICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTI0XCI7IH0gfVxuLmdseXBoaWNvbi10aHVtYnMtdXAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEyNVwiOyB9IH1cbi5nbHlwaGljb24tdGh1bWJzLWRvd24gICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjZcIjsgfSB9XG4uZ2x5cGhpY29uLWhhbmQtcmlnaHQgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTI3XCI7IH0gfVxuLmdseXBoaWNvbi1oYW5kLWxlZnQgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEyOFwiOyB9IH1cbi5nbHlwaGljb24taGFuZC11cCAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjlcIjsgfSB9XG4uZ2x5cGhpY29uLWhhbmQtZG93biAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTMwXCI7IH0gfVxuLmdseXBoaWNvbi1jaXJjbGUtYXJyb3ctcmlnaHQgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEzMVwiOyB9IH1cbi5nbHlwaGljb24tY2lyY2xlLWFycm93LWxlZnQgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzJcIjsgfSB9XG4uZ2x5cGhpY29uLWNpcmNsZS1hcnJvdy11cCAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTMzXCI7IH0gfVxuLmdseXBoaWNvbi1jaXJjbGUtYXJyb3ctZG93biAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEzNFwiOyB9IH1cbi5nbHlwaGljb24tZ2xvYmUgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzVcIjsgfSB9XG4uZ2x5cGhpY29uLXdyZW5jaCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTM2XCI7IH0gfVxuLmdseXBoaWNvbi10YXNrcyAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEzN1wiOyB9IH1cbi5nbHlwaGljb24tZmlsdGVyICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzhcIjsgfSB9XG4uZ2x5cGhpY29uLWJyaWVmY2FzZSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTM5XCI7IH0gfVxuLmdseXBoaWNvbi1mdWxsc2NyZWVuICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE0MFwiOyB9IH1cbi5nbHlwaGljb24tZGFzaGJvYXJkICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDFcIjsgfSB9XG4uZ2x5cGhpY29uLXBhcGVyY2xpcCAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTQyXCI7IH0gfVxuLmdseXBoaWNvbi1oZWFydC1lbXB0eSAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE0M1wiOyB9IH1cbi5nbHlwaGljb24tbGluayAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDRcIjsgfSB9XG4uZ2x5cGhpY29uLXBob25lICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTQ1XCI7IH0gfVxuLmdseXBoaWNvbi1wdXNocGluICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE0NlwiOyB9IH1cbi5nbHlwaGljb24tdXNkICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDhcIjsgfSB9XG4uZ2x5cGhpY29uLWdicCAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTQ5XCI7IH0gfVxuLmdseXBoaWNvbi1zb3J0ICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE1MFwiOyB9IH1cbi5nbHlwaGljb24tc29ydC1ieS1hbHBoYWJldCAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTFcIjsgfSB9XG4uZ2x5cGhpY29uLXNvcnQtYnktYWxwaGFiZXQtYWx0ICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTUyXCI7IH0gfVxuLmdseXBoaWNvbi1zb3J0LWJ5LW9yZGVyICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE1M1wiOyB9IH1cbi5nbHlwaGljb24tc29ydC1ieS1vcmRlci1hbHQgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTRcIjsgfSB9XG4uZ2x5cGhpY29uLXNvcnQtYnktYXR0cmlidXRlcyAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTU1XCI7IH0gfVxuLmdseXBoaWNvbi1zb3J0LWJ5LWF0dHJpYnV0ZXMtYWx0IHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE1NlwiOyB9IH1cbi5nbHlwaGljb24tdW5jaGVja2VkICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTdcIjsgfSB9XG4uZ2x5cGhpY29uLWV4cGFuZCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTU4XCI7IH0gfVxuLmdseXBoaWNvbi1jb2xsYXBzZS1kb3duICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE1OVwiOyB9IH1cbi5nbHlwaGljb24tY29sbGFwc2UtdXAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjBcIjsgfSB9XG4uZ2x5cGhpY29uLWxvZy1pbiAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTYxXCI7IH0gfVxuLmdseXBoaWNvbi1mbGFzaCAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE2MlwiOyB9IH1cbi5nbHlwaGljb24tbG9nLW91dCAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjNcIjsgfSB9XG4uZ2x5cGhpY29uLW5ldy13aW5kb3cgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTY0XCI7IH0gfVxuLmdseXBoaWNvbi1yZWNvcmQgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE2NVwiOyB9IH1cbi5nbHlwaGljb24tc2F2ZSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjZcIjsgfSB9XG4uZ2x5cGhpY29uLW9wZW4gICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTY3XCI7IH0gfVxuLmdseXBoaWNvbi1zYXZlZCAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE2OFwiOyB9IH1cbi5nbHlwaGljb24taW1wb3J0ICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjlcIjsgfSB9XG4uZ2x5cGhpY29uLWV4cG9ydCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTcwXCI7IH0gfVxuLmdseXBoaWNvbi1zZW5kICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE3MVwiOyB9IH1cbi5nbHlwaGljb24tZmxvcHB5LWRpc2sgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzJcIjsgfSB9XG4uZ2x5cGhpY29uLWZsb3BweS1zYXZlZCAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTczXCI7IH0gfVxuLmdseXBoaWNvbi1mbG9wcHktcmVtb3ZlICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE3NFwiOyB9IH1cbi5nbHlwaGljb24tZmxvcHB5LXNhdmUgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzVcIjsgfSB9XG4uZ2x5cGhpY29uLWZsb3BweS1vcGVuICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTc2XCI7IH0gfVxuLmdseXBoaWNvbi1jcmVkaXQtY2FyZCAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE3N1wiOyB9IH1cbi5nbHlwaGljb24tdHJhbnNmZXIgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzhcIjsgfSB9XG4uZ2x5cGhpY29uLWN1dGxlcnkgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTc5XCI7IH0gfVxuLmdseXBoaWNvbi1oZWFkZXIgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE4MFwiOyB9IH1cbi5nbHlwaGljb24tY29tcHJlc3NlZCAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODFcIjsgfSB9XG4uZ2x5cGhpY29uLWVhcnBob25lICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTgyXCI7IH0gfVxuLmdseXBoaWNvbi1waG9uZS1hbHQgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE4M1wiOyB9IH1cbi5nbHlwaGljb24tdG93ZXIgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODRcIjsgfSB9XG4uZ2x5cGhpY29uLXN0YXRzICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTg1XCI7IH0gfVxuLmdseXBoaWNvbi1zZC12aWRlbyAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE4NlwiOyB9IH1cbi5nbHlwaGljb24taGQtdmlkZW8gICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODdcIjsgfSB9XG4uZ2x5cGhpY29uLXN1YnRpdGxlcyAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTg4XCI7IH0gfVxuLmdseXBoaWNvbi1zb3VuZC1zdGVyZW8gICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE4OVwiOyB9IH1cbi5nbHlwaGljb24tc291bmQtZG9sYnkgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOTBcIjsgfSB9XG4uZ2x5cGhpY29uLXNvdW5kLTUtMSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTkxXCI7IH0gfVxuLmdseXBoaWNvbi1zb3VuZC02LTEgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE5MlwiOyB9IH1cbi5nbHlwaGljb24tc291bmQtNy0xICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOTNcIjsgfSB9XG4uZ2x5cGhpY29uLWNvcHlyaWdodC1tYXJrICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTk0XCI7IH0gfVxuLmdseXBoaWNvbi1yZWdpc3RyYXRpb24tbWFyayAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE5NVwiOyB9IH1cbi5nbHlwaGljb24tY2xvdWQtZG93bmxvYWQgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOTdcIjsgfSB9XG4uZ2x5cGhpY29uLWNsb3VkLXVwbG9hZCAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTk4XCI7IH0gfVxuLmdseXBoaWNvbi10cmVlLWNvbmlmZXIgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE5OVwiOyB9IH1cbi5nbHlwaGljb24tdHJlZS1kZWNpZHVvdXMgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMDBcIjsgfSB9XG4uZ2x5cGhpY29uLWNkICAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjAxXCI7IH0gfVxuLmdseXBoaWNvbi1zYXZlLWZpbGUgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIwMlwiOyB9IH1cbi5nbHlwaGljb24tb3Blbi1maWxlICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMDNcIjsgfSB9XG4uZ2x5cGhpY29uLWxldmVsLXVwICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjA0XCI7IH0gfVxuLmdseXBoaWNvbi1jb3B5ICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIwNVwiOyB9IH1cbi5nbHlwaGljb24tcGFzdGUgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMDZcIjsgfSB9XG4vLyBUaGUgZm9sbG93aW5nIDIgR2x5cGhpY29ucyBhcmUgb21pdHRlZCBmb3IgdGhlIHRpbWUgYmVpbmcgYmVjYXVzZVxuLy8gdGhleSBjdXJyZW50bHkgdXNlIFVuaWNvZGUgY29kZXBvaW50cyB0aGF0IGFyZSBvdXRzaWRlIHRoZVxuLy8gQmFzaWMgTXVsdGlsaW5ndWFsIFBsYW5lIChCTVApLiBPbGRlciBidWdneSB2ZXJzaW9ucyBvZiBXZWJLaXQgY2FuJ3QgaGFuZGxlXG4vLyBub24tQk1QIGNvZGVwb2ludHMgaW4gQ1NTIHN0cmluZyBlc2NhcGVzLCBhbmQgdGh1cyBjYW4ndCBkaXNwbGF5IHRoZXNlIHR3byBpY29ucy5cbi8vIE5vdGFibHksIHRoZSBidWcgYWZmZWN0cyBzb21lIG9sZGVyIHZlcnNpb25zIG9mIHRoZSBBbmRyb2lkIEJyb3dzZXIuXG4vLyBNb3JlIGluZm86IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTAxMDZcbi8vIC5nbHlwaGljb24tZG9vciAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDFmNmFhXCI7IH0gfVxuLy8gLmdseXBoaWNvbi1rZXkgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMWY1MTFcIjsgfSB9XG4uZ2x5cGhpY29uLWFsZXJ0ICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjA5XCI7IH0gfVxuLmdseXBoaWNvbi1lcXVhbGl6ZXIgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIxMFwiOyB9IH1cbi5nbHlwaGljb24ta2luZyAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMTFcIjsgfSB9XG4uZ2x5cGhpY29uLXF1ZWVuICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjEyXCI7IH0gfVxuLmdseXBoaWNvbi1wYXduICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIxM1wiOyB9IH1cbi5nbHlwaGljb24tYmlzaG9wICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMTRcIjsgfSB9XG4uZ2x5cGhpY29uLWtuaWdodCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjE1XCI7IH0gfVxuLmdseXBoaWNvbi1iYWJ5LWZvcm11bGEgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIxNlwiOyB9IH1cbi5nbHlwaGljb24tdGVudCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDI2ZmFcIjsgfSB9XG4uZ2x5cGhpY29uLWJsYWNrYm9hcmQgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjE4XCI7IH0gfVxuLmdseXBoaWNvbi1iZWQgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIxOVwiOyB9IH1cbi5nbHlwaGljb24tYXBwbGUgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGY4ZmZcIjsgfSB9XG4uZ2x5cGhpY29uLWVyYXNlICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjIxXCI7IH0gfVxuLmdseXBoaWNvbi1ob3VyZ2xhc3MgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMjMxYlwiOyB9IH1cbi5nbHlwaGljb24tbGFtcCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMjNcIjsgfSB9XG4uZ2x5cGhpY29uLWR1cGxpY2F0ZSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjI0XCI7IH0gfVxuLmdseXBoaWNvbi1waWdneS1iYW5rICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIyNVwiOyB9IH1cbi5nbHlwaGljb24tc2Npc3NvcnMgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMjZcIjsgfSB9XG4uZ2x5cGhpY29uLWJpdGNvaW4gICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjI3XCI7IH0gfVxuLmdseXBoaWNvbi1idGMgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIyN1wiOyB9IH1cbi5nbHlwaGljb24teGJ0ICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMjdcIjsgfSB9XG4uZ2x5cGhpY29uLXllbiAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwwMGE1XCI7IH0gfVxuLmdseXBoaWNvbi1qcHkgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMDBhNVwiOyB9IH1cbi5nbHlwaGljb24tcnVibGUgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDIwYmRcIjsgfSB9XG4uZ2x5cGhpY29uLXJ1YiAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwyMGJkXCI7IH0gfVxuLmdseXBoaWNvbi1zY2FsZSAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIzMFwiOyB9IH1cbi5nbHlwaGljb24taWNlLWxvbGx5ICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMzFcIjsgfSB9XG4uZ2x5cGhpY29uLWljZS1sb2xseS10YXN0ZWQgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjMyXCI7IH0gfVxuLmdseXBoaWNvbi1lZHVjYXRpb24gICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIzM1wiOyB9IH1cbi5nbHlwaGljb24tb3B0aW9uLWhvcml6b250YWwgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMzRcIjsgfSB9XG4uZ2x5cGhpY29uLW9wdGlvbi12ZXJ0aWNhbCAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjM1XCI7IH0gfVxuLmdseXBoaWNvbi1tZW51LWhhbWJ1cmdlciAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIzNlwiOyB9IH1cbi5nbHlwaGljb24tbW9kYWwtd2luZG93ICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMzdcIjsgfSB9XG4uZ2x5cGhpY29uLW9pbCAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjM4XCI7IH0gfVxuLmdseXBoaWNvbi1ncmFpbiAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIzOVwiOyB9IH1cbi5nbHlwaGljb24tc3VuZ2xhc3NlcyAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNDBcIjsgfSB9XG4uZ2x5cGhpY29uLXRleHQtc2l6ZSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQxXCI7IH0gfVxuLmdseXBoaWNvbi10ZXh0LWNvbG9yICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI0MlwiOyB9IH1cbi5nbHlwaGljb24tdGV4dC1iYWNrZ3JvdW5kICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNDNcIjsgfSB9XG4uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi10b3AgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQ0XCI7IH0gfVxuLmdseXBoaWNvbi1vYmplY3QtYWxpZ24tYm90dG9tICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI0NVwiOyB9IH1cbi5nbHlwaGljb24tb2JqZWN0LWFsaWduLWhvcml6b250YWx7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNDZcIjsgfSB9XG4uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi1sZWZ0ICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQ3XCI7IH0gfVxuLmdseXBoaWNvbi1vYmplY3QtYWxpZ24tdmVydGljYWwgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI0OFwiOyB9IH1cbi5nbHlwaGljb24tb2JqZWN0LWFsaWduLXJpZ2h0ICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNDlcIjsgfSB9XG4uZ2x5cGhpY29uLXRyaWFuZ2xlLXJpZ2h0ICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjUwXCI7IH0gfVxuLmdseXBoaWNvbi10cmlhbmdsZS1sZWZ0ICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI1MVwiOyB9IH1cbi5nbHlwaGljb24tdHJpYW5nbGUtYm90dG9tICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNTJcIjsgfSB9XG4uZ2x5cGhpY29uLXRyaWFuZ2xlLXRvcCAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjUzXCI7IH0gfVxuLmdseXBoaWNvbi1jb25zb2xlICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI1NFwiOyB9IH1cbi5nbHlwaGljb24tc3VwZXJzY3JpcHQgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNTVcIjsgfSB9XG4uZ2x5cGhpY29uLXN1YnNjcmlwdCAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjU2XCI7IH0gfVxuLmdseXBoaWNvbi1tZW51LWxlZnQgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI1N1wiOyB9IH1cbi5nbHlwaGljb24tbWVudS1yaWdodCAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNThcIjsgfSB9XG4uZ2x5cGhpY29uLW1lbnUtZG93biAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjU5XCI7IH0gfVxuLmdseXBoaWNvbi1tZW51LXVwICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI2MFwiOyB9IH1cbiIsCgkJIi8vIERyb3BwZWQgaW4gQlM1LCBidXQgdGhpcyBzZWVtcyBwcmV0dHkgZnVuZGFtZW50YWw/XG4kZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuLmZvcm0tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBUaGUgQGV4dGVuZHMgaGVyZSBhZGQgYSBsb3Qgb2YgYmxvYXQgdG8gdmVyc2lvbj00ICgmIGl0J3Mgbm90IGVudGlyZWx5IGNvcnJlY3QpXG4vLyBJbnN0ZWFkIG9mIGZpeGluZywgY29uc2lkZXIgdGhpcyBkZXByZWNhdGVkLCBhbmQgZm9yIEJTNSwgd2UnbGwgbW9kaWZ5XG4vLyB0aGVpciBzZWxlY3RvcnMgZGlyZWN0bHkgdG8gYWNjb21vZGF0ZSBzaGlueVxuQGlmICRib290c3RyYXAtdmVyc2lvbiA9PSA0IHtcbiAgLnNoaW55LWlucHV0LWNoZWNrYm94Z3JvdXAsIC5zaGlueS1pbnB1dC1yYWRpb2dyb3VwIHtcbiAgICAvLyBUT0RPOiB0aGlzIGlzIHByZXR0eSBleHBlbnNpdmUhXG4gICAgLmNoZWNrYm94LCAucmFkaW8ge1xuICAgICAgQGV4dGVuZCAuZm9ybS1jaGVjaztcbiAgICAgIGxhYmVsIHtcbiAgICAgICAgQGV4dGVuZCAuZm9ybS1jaGVjay1sYWJlbDtcbiAgICAgIH1cbiAgICAgIGxhYmVsID4gaW5wdXQge1xuICAgICAgICBAZXh0ZW5kIC5mb3JtLWNoZWNrLWlucHV0O1xuICAgICAgfVxuICAgIH1cblxuICAvLyBTaW5jZSB0aGVzZSBpbmxpbmUgY2xhc3NlcyBkb24ndCBoYXZlIGEgcHJvcGVyIGRpdiBjb250YWluZXJcbiAgLy8gKHRoZXkncmUgbGFiZWxzKSwgd2UgYm9ycm93IGp1c3QgdGhlIHN0eWxpbmcgd2UgbmVlZCBmcm9tXG4gIC8vIC5mb3JtLWNoZWNrLWlubGluZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vcnN0dWRpby9iczQvYmxvYi83YWFkZDE5L2luc3Qvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19mb3Jtcy5zY3NzI0wyMjctTDI0MFxuICAgIC5jaGVja2JveC1pbmxpbmUsIC5yYWRpby1pbmxpbmUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg7XG5cbiAgICAgIGxhYmVsID4gaW5wdXQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmlucHV0LWRhdGVyYW5nZSAuaW5wdXQtZ3JvdXAtYWRkb24uaW5wdXQtZ3JvdXAtcHJlcGVuZC5pbnB1dC1ncm91cC1hcHBlbmQge1xuICBwYWRkaW5nOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgdGV4dC1zaGFkb3c6IGluaGVyaXQ7XG4gIGJvcmRlci13aWR0aDogMDtcbiAgLmlucHV0LWdyb3VwLXRleHQge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cblxuLnNoaW55LWlucHV0LWNoZWNrYm94Z3JvdXAgLmNoZWNrYm94LWlubGluZSxcbi5zaGlueS1pbnB1dC1yYWRpb2dyb3VwIC5yYWRpby1pbmxpbmUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vIEZpeCB0aGUgcG9zaXRpb24gb2YgY2hlY2tib3ggYW5kIHJhZGlvIGdyb3VwIGxhYmVscyB0byBtYXRjaCBvdGhlciBpbnB1dHNcbi8vIGxhYmVscywgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9yc3R1ZGlvL3NoaW55L2Jsb2IvNmZjMDYyODEvaW5zdC93d3cvc2hhcmVkL3NoaW55X3Njc3Mvc2hpbnkuc2NzcyNMMzQ0LUwzNTZcbi8vIFRPRE86IENvbnNpZGVyIHJlbW92aW5nIGlmIHdlIGFkZCBgaW5wdXRfY2hlY2tib3goKWAgYW5kIGBpbnB1dF9yYWRpbygpYFxuQGlmICRib290c3RyYXAtdmVyc2lvbiA9PSA1IHtcbiAgLnNoaW55LWlucHV0LWNoZWNrYm94Z3JvdXAsXG4gIC5zaGlueS1pbnB1dC1yYWRpb2dyb3VwIHtcbiAgICBsYWJlbCB+IC5zaGlueS1vcHRpb25zLWdyb3VwIHtcbiAgICAgIG1hcmdpbi10b3A6IGNhbGMoI3stKCRsaW5lLWhlaWdodC1iYXNlIC0gJGZvcm0tY2hlY2staW5wdXQtd2lkdGgpICogLjV9IC0gI3skaW5wdXQtYnRuLWJvcmRlci13aWR0aH0pO1xuICAgIH1cbiAgfVxufVxuIiwKCQkiLy8gRm9yIGNvZGUgaW5zaWRlIG9mIHNob3djYXNlIG1vZGVcbi8vIFRPRE86IHRoaXMgc2hvdWxkIHByb2JhYmx5IHBvcnRlZCB0byBzaGlueSBpdHNlbGZcbi8vIGlmIGFuZCB3aGVuIHNoaW55LXNob3djYXNlLmNzcyBpcyBwb3J0ZWQgdG8gc2Fzc1xucHJlLnNoaW55LWNvZGUge1xuICBwYWRkaW5nOiAwLjUgKiAkc3BhY2VyO1xufVxuXG4vLyBCUzUgY2hhbmdlZCBmbG9hdC1sZWZ0IC0+IGZsb2F0LXN0YXJ0XG5AaWYgJGJvb3RzdHJhcC12ZXJzaW9uICE9IDQge1xuICAuZmxvYXQtbGVmdCB7XG4gICAgQGV4dGVuZCAuZmxvYXQtc3RhcnQ7XG4gIH1cbiAgLmZsb2F0LXJpZ2h0IHtcbiAgICBAZXh0ZW5kIC5mbG9hdC1lbmQ7XG4gIH1cbn1cbiIsCgkJIi8vIEJTMyAtPiBCUzQgc2F3IGEgcmVtb3ZhbCBvZiBtYXJnaW4tdG9wIG9uIGhlYWRlcnMsXG4vLyB3aGljaCBpcyBhIHByZXR0eSBqYXJyaW5nIGNoYW5nZSwgZXhwZWNpYWxseSBmb3IgUm1kXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9mMTdmODgyZC9kaXN0L2Nzcy9ib290c3RyYXAuY3NzI0wxMjE5LUwxMjUwXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi80ZGU0ODc0ZS9zY3NzL19yZWJvb3Quc2NzcyNMODItTDg5XG5cbkBtaXhpbiBzZWN0aW9uLW1hcmdpbi10b3AoJGxldmVscywgJG1hcmdpbi10b3ApIHtcbiAgQGVhY2ggJGxldmVsIGluICRsZXZlbHMge1xuICAgIDp3aGVyZSguc2VjdGlvbi5sZXZlbCN7JGxldmVsfSwgc2VjdGlvbi5sZXZlbCN7JGxldmVsfSkge1xuICAgICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgfVxuICB9XG59XG5cbkBpZiAkYm9vdHN0cmFwLXZlcnNpb24gPj0gNSB7XG4gIC8vIEZvciBCUzUrLCBvbmx5IGFwcGx5IHRoZSBtYXJnaW4tdG9wIGlmIHBhbmRvYydzIENTUyBjbGFzc2VzXG4gIC8vIGFyZSBwcmVzZW50LiBUaGlzIHdheSBybWFya2Rvd246Omh0bWxfZG9jdW1lbnRfYmFzZSB3aWxsIGNvbnRpbnVlXG4gIC8vIHRvIGhhdmUgbWFyZ2luLXRvcCAod2hpY2ggaXMgZ29vZCksIGJ1dCAncmF3JyBoZWFkZXJzIHdvbid0LCB3aGljaFxuICAvLyBsZWFkcyB0byBhIGJldHRlciBleHBlcmllbmNlIHdpdGggYWNjb3JkaW9ucywgcG9wb3ZlcnMsIGV0Y1xuICAvLyAodGhlaXIgZGVzaWduL2V4YW1wbGVzIGV4cGVjdCBoZWFkZXJzIHRoYXQgZG9uJ3QgaGF2ZSBtYXJnaW4tdG9wKS5cbiAgLy8gSXQgYWxzbyBzZWVtcyBhcyB0aG91Z2ggUXVhcnRvIGRvY3MgZG9uJ3QgZ2VuZXJhdGUgdGhlc2UgQ1NTIGNsYXNzZXMsXG4gIC8vIGJ1dCBpdCBhbHNvIHNlZW1zIHRoZXkndmUgYWRkZWQgdGhlaXIgb3duIHJ1bGVzIGh0dHBzOi8vZ2l0aHViLmNvbS9xdWFydG8tZGV2L3F1YXJ0by1jbGkvYmxvYi8wZTY2MmMvc3JjL3Jlc291cmNlcy9mb3JtYXRzL2h0bWwvYm9vdHN0cmFwL19ib290c3RyYXAtcnVsZXMuc2NzcyNMNTk1LUw2MTMuXG4gIC8vIEluIHBhbmRvYywgYC0tdG8gaHRtbDRgIHdyaXRlcyBgZGl2LnNlY3Rpb24ubGV2ZWxYYCBhbmQgYC0tdG8gaHRtbDVgXG4gIC8vIHByb2R1Y2VzIGBzZWN0aW9uLmxldmVsWGAgZWxlbWVudHMuXG5cbiAgQGluY2x1ZGUgc2VjdGlvbi1tYXJnaW4tdG9wKDEgMiAzLCAxLjUgKiAkc3BhY2VyKTtcbiAgQGluY2x1ZGUgc2VjdGlvbi1tYXJnaW4tdG9wKDQgNSA2LCAkc3BhY2VyKTtcblxufSBAZWxzZSB7XG5cbiAgaDEsIGgyLCBoMyB7IG1hcmdpbi10b3A6IDEuNSAqICRzcGFjZXI7fVxuICBoNCwgaDUsIGg2IHsgbWFyZ2luLXRvcDogJHNwYWNlcjsgfVxuXG59XG4iLAoJCSJAaW1wb3J0IFwic3BhY2VyXCI7XG5AaW1wb3J0IFwidGFiLWZpbGxcIjtcbkBpbXBvcnQgXCJjb2xvci11dGlsaXRpZXNcIjtcbiIsCgkJIiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG5cbjpyb290IHtcbiAgLy8gQ29udHJvbHMgZGVmYXVsdCBzcGFjaW5nIGluIGxheW91dCBjb250YWluZXJzIChlLmcsIGxheW91dF9jb2x1bW5zKCkpXG4gIC0tYnNsaWItc3BhY2VyOiAjeyRzcGFjZXJ9O1xuICAtLWJzbGliLW1iLXNwYWNlcjogdmFyKC0tYnNsaWItc3BhY2VyLCAxcmVtKTtcbn1cblxuLy8gU29tZSB0aGluZ3MgbGlrZSBjYXJkKCksIHAoKSwgaW5wdXRzLCBldGMuIHdhbnQgc29tZSBtYXJnaW4tYm90dG9tIGJ5IGRlZmF1bHRcbi8vIHNvIHlvdSBjYW4gcGxvcCB0aGVtIGFueXdoZXJlIGFuZCB5b3UgZ2V0IHNwYWNpbmcgYmV0d2VlbiByb3dzLiBIb3dldmVyLCBub3dcbi8vIHRoYXQgd2UgaGF2ZSBsYXlvdXQgdXRpbGl0aWVzIGxpa2UgcGFnZV9maWxsYWJsZSgpLCBsYXlvdXRfY29sdW1ucygpLFxuLy8gbGF5b3V0X3NpZGViYXIoKSwgZXRjLiB3aGVyZSB3ZSBjYW4gY29udHJvbCB0aGUgZ2FwIGJldHdlZW4gcm93cy9jb2x1bW5zLCB3ZVxuLy8gbmVlZCBhIHdheSB0byByZXNldCB0aG9zZSBtYXJnaW4tYm90dG9tIHRvIDAgaW4gdGhvc2Ugc3BlY2lhbCBjb250ZXh0c1xuLy9cbi8vIFdlIGRvIHRoaXMgYnkgYWRkaW5nIHRoaXMgY2xhc3MgdG8gY29tcG9uZW50cyAoZS5nLiwgY2FyZCgpKS4uLlxuLmJzbGliLW1iLXNwYWNpbmcge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1ic2xpYi1tYi1zcGFjZXIpO1xufVxuXG4vLyAuLi5BbmQgdGhpcyBjbGFzcyBmb3IgbGF5b3V0IGNvbnRhaW5lcnMgKGUuZywgbGF5b3V0X2NvbHVtbnMoKSlcbi5ic2xpYi1nYXAtc3BhY2luZyB7XG4gIGdhcDogdmFyKC0tYnNsaWItbWItc3BhY2VyKTtcbiAgPiAuYnNsaWItbWItc3BhY2luZywgPiAuZm9ybS1ncm91cCwgPiBwLCA+IHByZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLyBXZSBnZW5lcmFsbHkgZG9uJ3Qgd2FudCBtYiBzcGFjaW5nIGZvciBfYWN0aXZhdGVkXyBmaWxsIGl0ZW1zXG4uaHRtbC1maWxsLWNvbnRhaW5lciA+IC5odG1sLWZpbGwtaXRlbS5ic2xpYi1tYi1zcGFjaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn0iLAoJCSIudGFiLWNvbnRlbnQge1xuICAvLyBXb3JrYXJvdW5kIGZvciBwa2dkb3duJ3MgQ1NTIHRvIG1ha2UgdGFiLXBhbmUgYWxsIGEgY29uc2lzdGVudCBoZWlnaHRcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3ItbGliL3BrZ2Rvd24vYmxvYi85NTZmMDcvaW5zdC9CUzUvYXNzZXRzL3BrZ2Rvd24uc2NzcyNMMzQyLUwzNTVcbiAgPi50YWItcGFuZS5odG1sLWZpbGwtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gVGFrZSBwcmVjZWRlbmNlIG92ZXIgQm9vdHN0cmFwJ3MgYGRpc3BsYXk6YmxvY2tgIHJ1bGVcbiAgPi5hY3RpdmUuaHRtbC1maWxsLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIC8vIEFub3RoZXIgd29ya2Fyb3VuZCBmb3IgcGtnZG93biBhZGRpbmcgZXh0cmEgcGFkZGluZyB3ZSBkaWRuJ3QgYXNrIGZvclxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vci1saWIvcGtnZG93bi9ibG9iLzk1NmYwNy9pbnN0L0JTNS9hc3NldHMvcGtnZG93bi5zY3NzI0wzMzUtTDMzN1xuICAmLmh0bWwtZmlsbC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cbiIsCgkJIiRic2xpYi1lbmFibGUtY29sb3ItdXRpbGl0aWVzOiAkYm9vdHN0cmFwLXZlcnNpb24gPj0gNSAhZGVmYXVsdDtcblxuQGlmICgkYnNsaWItZW5hYmxlLWNvbG9yLXV0aWxpdGllcykge1xuICAkYnNsaWItZ3JhZGllbnQtY29sb3JzOiAoKSAhZGVmYXVsdDtcblxuICAkYnNsaWItZ3JhZGllbnQtY29sb3JzLWRlZmF1bHRzOiAoKTtcbiAgJGJzbGliLWNvbG9yLW5hbWVzOiAoXCJibHVlXCIsIFwiaW5kaWdvXCIsIFwicHVycGxlXCIsIFwicGlua1wiLCBcInJlZFwiLCBcIm9yYW5nZVwiLCBcInllbGxvd1wiLCBcImdyZWVuXCIsIFwidGVhbFwiLCBcImN5YW5cIik7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGJzbGliLWNvbG9yLW5hbWVzIHtcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRjb2xvcnMsICRuYW1lKSkge1xuICAgICAgJGJzbGliLWdyYWRpZW50LWNvbG9ycy1kZWZhdWx0czogbWFwLW1lcmdlKFxuICAgICAgICAkYnNsaWItZ3JhZGllbnQtY29sb3JzLWRlZmF1bHRzLFxuICAgICAgICAoJG5hbWU6IG1hcC1nZXQoJGNvbG9ycywgJG5hbWUpKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAkYnNsaWItZ3JhZGllbnQtY29sb3JzOiBtYXAtbWVyZ2UoXG4gICAgJGJzbGliLWdyYWRpZW50LWNvbG9ycy1kZWZhdWx0cyxcbiAgICAkYnNsaWItZ3JhZGllbnQtY29sb3JzXG4gICk7XG5cbiAgLy8gTmFtZWQgY29sb3IgYmFja2dyb3VuZCBhbmQgZm9yZWdyb3VuZCB1dGlsaXR5IGNsYXNzZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJzbGliLWdyYWRpZW50LWNvbG9ycyB7XG4gICAgLmJnLSN7JG5hbWV9IHtcbiAgICAgIC0tYnNsaWItY29sb3ItYmc6ICN7JGNvbG9yfTtcbiAgICAgIC0tYnNsaWItY29sb3ItZmc6ICN7Y29sb3ItY29udHJhc3QoJGNvbG9yKX07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ic2xpYi1jb2xvci1iZyk7XG4gICAgICBjb2xvcjogdmFyKC0tYnNsaWItY29sb3ItZmcpO1xuICAgIH1cblxuICAgIC50ZXh0LSN7JG5hbWV9IHtcbiAgICAgIC0tYnNsaWItY29sb3ItZmc6ICN7JGNvbG9yfTtcbiAgICAgIGNvbG9yOiB2YXIoLS1ic2xpYi1jb2xvci1mZyk7XG4gICAgfVxuICB9XG5cbiAgLy8gRmlsbCBpbiB0aGUgYC0tY29sb3ItKmAgdmFyaWFibGVzXG4gIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgLnRleHQtI3skbmFtZX0ge1xuICAgICAgLS1ic2xpYi1jb2xvci1mZzogI3skY29sb3J9O1xuICAgIH1cbiAgICAuYmctI3skbmFtZX0ge1xuICAgICAgLS1ic2xpYi1jb2xvci1iZzogI3skY29sb3J9O1xuICAgICAgLS1ic2xpYi1jb2xvci1mZzogI3tjb2xvci1jb250cmFzdCgkY29sb3IpfTtcbiAgICB9XG4gIH1cblxuICAvLyBHcmFkaWVudCBiYWNrZ3JvdW5kcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy9cbiAgLy8gQ3JlYXRlcyBncmFkaWVudCBiYWNrZ3JvdW5kIGZvciBldmVyeSBuYW1lZCBjb2xvciBwYWlyLiBVc2VycyBjYW4gYWRkXG4gIC8vIGFkZGl0aW9uYWwgY29sb3JzIGludG8gdGhlIG1peCBieSBzZXR0aW5nICRic2xpYi1ncmFkaWVudC1jb2xvcnMgdG8gYSBtYXAgb2ZcbiAgLy8gY29sb3IgbmFtZXMgdG8gY29sb3JzLiBDcmVhdGVzIGNsYXNzIG5hbWVzIGxpa2U6IC5iZy1ncmFkaWVudC17ZnJvbX0te3RvfS5cbiAgQGVhY2ggJG5hbWUxLCAkY29sb3IxIGluICRic2xpYi1ncmFkaWVudC1jb2xvcnMge1xuICAgIEBlYWNoICRuYW1lMiwgJGNvbG9yMiBpbiAkYnNsaWItZ3JhZGllbnQtY29sb3JzIHtcbiAgICAgIEBpZiAkbmFtZTEgIT0gJG5hbWUyIHtcbiAgICAgICAgLmJnLWdyYWRpZW50LSN7JG5hbWUxfS0jeyRuYW1lMn0ge1xuICAgICAgICAgICRjb2xvci1taWQ6IG1peCgkY29sb3IxLCAkY29sb3IyLCA2MCUpO1xuICAgICAgICAgICRjb2xvci1mZzogY29sb3ItY29udHJhc3QoJGNvbG9yLW1pZCk7XG5cbiAgICAgICAgICAtLWJzbGliLWNvbG9yLWZnOiAjeyRjb2xvci1mZ307XG4gICAgICAgICAgLS1ic2xpYi1jb2xvci1iZzogI3skY29sb3ItbWlkfTtcblxuICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgIHZhcigtLWJnLWdyYWRpZW50LWRlZywgMTQwZGVnKSxcbiAgICAgICAgICAgICRjb2xvcjEgdmFyKC0tYmctZ3JhZGllbnQtc3RhcnQsIDM2JSksXG4gICAgICAgICAgICAkY29sb3IyIHZhcigtLWJnLWdyYWRpZW50LWVuZCwgMTgwJSlcbiAgICAgICAgICApICRjb2xvci1taWQ7XG4gICAgICAgICAgY29sb3I6ICRjb2xvci1mZztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwKCQkiLyotLSBzY3NzOnJ1bGVzIC0tKi9cbkBpbXBvcnQgXCJpb25yYW5nZXNsaWRlci9fcnVsZXMuc2Nzc1wiO1xuQGltcG9ydCBcInRhYmxlcy9fcnVsZXMuc2Nzc1wiO1xuXG4kd2ViLWZvbnQtcGF0aDogXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PU9wZW4rU2FuczppdGFsLHdnaHRAMCwzMDA7MCw0MDA7MCw1MDA7MCw2MDA7MCw3MDA7MCw4MDA7MSwzMDA7MSw0MDA7MSw1MDA7MSw2MDA7MSw3MDA7MSw4MDAmZmFtaWx5PVNvdXJjZStDb2RlK1BybzppdGFsLHdnaHRAMCw0MDA7MCw2MDA7MSw0MDA7MSw2MDAmZGlzcGxheT1zd2FwXCIgIWRlZmF1bHQ7XG5AaWYgJHdlYi1mb250LXBhdGgge1xuICBAaW1wb3J0IHVybCgkd2ViLWZvbnQtcGF0aCk7XG59XG5cbi8vIFZhcmlhYmxlc1xuOnJvb3Qge1xuICAtLWJzbGliLWJveC1zaGFkb3ctY29sb3ItcmdiOiAjeyRic2xpYi1ib3gtc2hhZG93LWNvbG9yLXJnYn07XG59XG5cbkBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaykge1xuICAtLWJzbGliLWJveC1zaGFkb3ctY29sb3ItcmdiOiAjeyRic2xpYi1ib3gtc2hhZG93LWNvbG9yLXJnYi1kYXJrfTtcbn1cblxuLy8gRm9yIHJhZGlvQnV0dG9ucygpL2NoZWNrYm94R3JvdXBJbnB1dCgpLCBtb3ZlIHRleHQgc2xpZ2h0bHkgdG8gdGhlIHJpZ2h0XG4kYnNsaWItY2hlY2tib3gtcmFkaW8tbWFyZ2luLXJpZ2h0OiAwLjM1ZW0gIWRlZmF1bHQ7XG4uY2hlY2tib3gsXG4ucmFkaW8ge1xuICBpbnB1dCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkYnNsaWItY2hlY2tib3gtcmFkaW8tbWFyZ2luLXJpZ2h0O1xuICB9XG59XG5cbi8vIEFsaWdubWVudCBmaXhlcyBmb3IgcmFkaW9CdXR0b25zKGlubGluZT1UUlVFKS9jaGVja2JveEdyb3VwSW5wdXQoaW5saW5lPVRSVUUpXG4vLyBUT0RPOiBJdCB3b3VsZCBiZSBuaWNlIHRvIGRvIHRoaXMgZm9yIGFsbCBpbmxpbmUgZ3JvdXBzLCBidXQgdGhhdCB3b3VsZFxuLy8gcmVxdWlyZSB1cGRhdGluZyB0aGUgaW5wdXQgbWFya3VwIHRvIHVzZSA8ZmllbGRzZXQ+IGFuZCA8bGVnZW5kPi5cbi5zaGlueS1pbnB1dC1jb250YWluZXItaW5saW5lIHtcbiAgLnNoaW55LW9wdGlvbnMtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgY29sdW1uLWdhcDogMWVtO1xuXG4gICAgLmNoZWNrYm94LWlubGluZSwgLnJhZGlvLWlubGluZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoI3skZm9ybS1jaGVjay1pbnB1dC13aWR0aH0gKyAjeyRic2xpYi1jaGVja2JveC1yYWRpby1tYXJnaW4tcmlnaHR9ICogMik7XG5cbiAgICAgIGlucHV0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IGNhbGMoI3soJGxpbmUtaGVpZ2h0LWJhc2UgLSAkZm9ybS1jaGVjay1pbnB1dC13aWR0aCkgKiAuNX0gKyAjeyRpbnB1dC1idG4tYm9yZGVyLXdpZHRofSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZvciBzaGlueTo6ZGF0ZVJhbmdlSW5wdXQoKSwgZml4IFwidG9cIiB3aWR0aCBpbiB0aGUgbWlkZGxlIG9mIHRoZSBkYXRlIHBpY2tlclxuLnNoaW55LWRhdGUtcmFuZ2UtaW5wdXQgLmlucHV0LWRhdGVyYW5nZSAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG59XG5cbi8vIE1ha2UgdGhlIGRlZmF1bHQgc2hpbnk6OmFjdGlvbkJ1dHRvbigpIGFuIG91dGxpbmUgdmFyaWFudCwgYnV0IG5vdCBvdGhlcnNcbi5idG4tb3V0bGluZS1kZWZhdWx0LFxuLmJ0bi1kZWZhdWx0Om5vdCguYnRuLXByaW1hcnksIC5idG4tc2Vjb25kYXJ5LCAuYnRuLWluZm8sIC5idG4tc3VjY2VzcywgLmJ0bi1kYW5nZXIsIC5idG4td2FybmluZywgLmJ0bi1saWdodCwgLmJ0bi1kYXJrLCAuYnRuLWxpbmssIFtjbGFzcyo9XCJidG4tb3V0bGluZS1cIl0pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkc2Vjb25kYXJ5KTtcbn1cblxuLy8gLi4uIGFuZCBtYWtlIGl0IGxvb2sgYmV0dGVyIGluIGRhcmsgbW9kZVxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrKSB7XG4gICAgLmJ0bi1vdXRsaW5lLWRlZmF1bHQsXG4gICAgLmJ0bi1kZWZhdWx0Om5vdCguYnRuLXByaW1hcnksIC5idG4tc2Vjb25kYXJ5LCAuYnRuLWluZm8sIC5idG4tc3VjY2VzcywgLmJ0bi1kYW5nZXIsIC5idG4td2FybmluZywgLmJ0bi1saWdodCwgLmJ0bi1kYXJrLCAuYnRuLWxpbmssIFtjbGFzcyo9XCJidG4tb3V0bGluZS1cIl0pIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGRhcmstdGV4dC1lbXBoYXNpcy1kYXJrKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gRm9yIHNlbGVjdGl6ZUlucHV0KG9wdGlvbnMgPSBsaXN0KHBsdWdpbnMgPSBcInJlbW92ZV9idXR0b25cIikpXG4vLyBUT0RPOiB3ZSBzaG91bGQgcHJvYmFibHkgbWFrZSB0aGlzIHRoZSBkZWZhdWx0IGJlaGF2aW9yIGluIHNoaW55XG4uc2VsZWN0aXplLWNvbnRyb2wucGx1Z2luLXJlbW92ZV9idXR0b24gLml0ZW0ge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICAucmVtb3ZlIHtcbiAgICBib3JkZXItbGVmdDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cblxuQGlmICgkYnNsaWItZW5hYmxlLXNoYWRvd3MpIHtcbiAgLy8gQWRkIGJveC1zaGFkb3cgJiByZW1vdmUgYm9yZGVyIGZyb20gJ3RvcC1sZXZlbCcgY2FyZCgpL2xheW91dF9zaWRlYmFyKClcbiAgLmJzbGliLWNhcmQge1xuICAgIC8vIEJTIGRvZXNuJ3QgaW5jbHVkZSBhIGJveC1zaGFkb3cgcnVsZSBmb3IgLmNhcmQgd2hlbiBgZW5hYmxlLXNoYWRvd3M6IGZhbHNlYFxuICAgIGJveC1zaGFkb3c6IHZhcigtLWJzbGliLWNhcmQtYm94LXNoYWRvdywgI3skYm94LXNoYWRvd30pO1xuXG4gICAgLy8gU2hhZG93cyBvbiB0b3AtbGV2ZWwgY2FyZHMsIG5vdCBpbiBuZXN0ZWQgY29tcG9uZW50c1xuICAgIC5ic2xpYi1jYXJkIHtcbiAgICAgIC0tYnNsaWItY2FyZC1ib3gtc2hhZG93OiA7IC8vIHVuc2V0IG91ciBzaGFkb3dcbiAgICB9XG4gIH1cblxuICAuYnNsaWItY2FyZC1ib3gtc2hhZG93LXNtIHtcbiAgICAtLWJzbGliLWNhcmQtYm94LXNoYWRvdzogdmFyKC0tYnNsaWItY2FyZC1ib3gtc2hhZG93LXNtLCAjeyRib3gtc2hhZG93LXNtfSk7XG4gIH1cbiAgLmJzbGliLWNhcmQtYm94LXNoYWRvdy1tZCB7XG4gICAgLS1ic2xpYi1jYXJkLWJveC1zaGFkb3c6IHZhcigtLWJzbGliLWNhcmQtYm94LXNoYWRvdy1tZCwgI3skYm94LXNoYWRvd30pO1xuICB9XG4gIC5ic2xpYi1jYXJkLWJveC1zaGFkb3ctbGcge1xuICAgIC0tYnNsaWItY2FyZC1ib3gtc2hhZG93OiB2YXIoLS1ic2xpYi1jYXJkLWJveC1zaGFkb3ctbGcsICN7JGJveC1zaGFkb3ctbGd9KTtcbiAgfVxuICAuYnNsaWItY2FyZC1ib3gtc2hhZG93LW5vbmUge1xuICAgIC0tYnNsaWItY2FyZC1ib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbi8vIFRPRE86IG1vdmUgdGhpcyBsb2dpYyBpbnRvIGEgXCJjb3JlXCIgYnVuZGxlIHRoYXQgY29tZXMgd2l0aCBhbnkgdGhlbWVcbi8vIChidXQgeW91IG9ubHkgZ2V0IHRoZSBzaGFkb3dzIGJ5IGRlZmF1bHQgaW4gdGhlIHByZXNldCB0aGVtZSlcbkBpZiAkYnNsaWItZGFzaGJvYXJkLWRlc2lnbiB7XG5cbiAgOnJvb3Qge1xuICAgIC0tYnNsaWItZGFzaGJvYXJkLXNpZGViYXItYmc6IHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKTtcbiAgICAtLWJzbGliLWRhc2hib2FyZC1zaWRlYmFyLW1haW4tYmc6IHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKTtcbiAgICAtLWJzbGliLWRhc2hib2FyZC1tYWluLWJnOiByZ2IoMjQ3LCAyNDcsIDI0Nyk7XG4gICAgLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItY29sb3I6IHZhcigtLWJzbGliLWRhc2hib2FyZC1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQsIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpKTtcbiAgICAtLWJzbGliLXNpZGViYXItYmc6IHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKTtcbiAgICAtLWJzbGliLXNpZGViYXItZmc6IHZhcigtLSN7JHByZWZpeH1jb2xvcik7XG4gIH1cblxuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmspIHtcbiAgICAtLWJzbGliLWRhc2hib2FyZC1tYWluLWJnOiByZ2IoMjAsIDIwLCAyNCk7XG4gIH1cblxuICAuYnNsaWItY2FyZCB7XG4gICAgLmNhcmQtaGVhZGVyLCAuY2FyZC1mb290ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICB9XG4gICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaWJvbGQ7XG4gICAgICBsaW5lLWhlaWdodDogMS4zNzVyZW07XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0IHRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2UgZGFzaGJvYXJkIGNsYXNzLi4uXG4gIC5ic2xpYi1wYWdlLWRhc2hib2FyZCxcbiAgLy8gb3Igb2YgZ2xvYmFsIG1haW4gY29udGVudCBhcmVhIGluIGEgcGFnZV9uYXZiYXIoKSB3aXRoIGEgZ2xvYmFsIHNpZGViYXJcbiAgLm1haW46aGFzKC50YWItY29udGVudCA+IC5ic2xpYi1wYWdlLWRhc2hib2FyZC5hY3RpdmUpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ic2xpYi1kYXNoYm9hcmQtbWFpbi1iZyk7XG4gICAgLy8gb3Igb2YgbWFpbiBhcmVhIG9mIGEgcGFnZV9zaWRlYmFyKClcbiAgICAtLV9tYWluLWJnOiB2YXIoLS1ic2xpYi1kYXNoYm9hcmQtbWFpbi1iZyk7XG4gIH1cblxuICAuYnNsaWItcGFnZS1uYXZiYXIsIC5ic2xpYi1wYWdlLWRhc2hib2FyZCB7XG4gICAgPiAubmF2YmFyIHtcbiAgICAgIC0tYnNsaWItbmF2YmFyLWRlZmF1bHQtYmc6IHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKTtcbiAgICAgIC0tYnNsaWItbmF2YmFyLWludmVyc2UtYmc6IHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKTtcbiAgICB9XG5cbiAgICA+IC5uYXZiYXIgKyBkaXYge1xuICAgICAgLy8gU2luY2Ugd2UncmUgdXNpbmcgYSB0cmFuc3BhcmVudCBuYXZiYXIsIHdlIG5lZWQgdG8gKGdlbmVyYWxseSkgYWRkIGEgYm9yZGVyLXRvcFxuICAgICAgYm9yZGVyLXRvcDogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcblxuICAgICAgLy8gQ2FzZSAxOiBwYWdlX25hdmJhcihzaWRlYmFyID0gLi4uKVxuICAgICAgLy8gQ2FzZSAyOiBwYWdlX25hdmJhcihuYXZfcGFuZWwobGF5b3V0X3NpZGViYXIoKSkpXG4gICAgICA+IC5ic2xpYi1zaWRlYmFyLWxheW91dCxcbiAgICAgID4gLnRhYi1jb250ZW50ID4gLnRhYi1wYW5lLmFjdGl2ZS5odG1sLWZpbGwtY29udGFpbmVyID4gLmJzbGliLXNpZGViYXItbGF5b3V0Lmh0bWwtZmlsbC1pdGVtIHtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZSAhaW1wb3J0YW50OyAvLyBNYWtlIHN1cmUgd2UgZG9uJ3QgZW5kIHVwIHcvIGEgZG91YmxlIGJvcmRlclxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5ic2xpYi1wYWdlLXNpZGViYXIge1xuICAgIC0tYnNsaWItcGFnZS1zaWRlYmFyLXRpdGxlLWJnOiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZyk7XG4gICAgLS1ic2xpYi1wYWdlLXNpZGViYXItdGl0bGUtY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKTtcblxuICAgIC5ic2xpYi1wYWdlLXRpdGxlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCk7XG4gICAgfVxuICB9XG59XG5cbi8vIEJ5IGRlZmF1bHQsIG5vbi1hY3RpdmUgLm5hdiBsaW5rcyByZWZsZWN0IHRoZSBwcmltYXJ5IGNvbG9yLiBUaGlzIHN0eWxpbmdcbi8vIHR3ZWFrIGJyaW5ncyB0aGVtIGNsb3NlciB0byBob3cgdGhleSdsbCBhcHBlYXIgaW4gYSBuYXZiYXIuXG4ubmF2LXVuZGVybGluZSB7XG4gIC0tI3skcHJlZml4fWxpbmstY29sb3I6IHJnYmEodmFyKC0tYnMtYm9keS1jb2xvci1yZ2IpLCAwLjY1KTtcbiAgLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcjogcmdiYSh2YXIoLS1icy1ib2R5LWNvbG9yLXJnYiksIDAuOCk7XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtc2l6ZTogMC44NzVyZW07XG5cbiAgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweCAhaW1wb3J0YW50O1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gV2hlbiB0aGUgbmF2YmFyIGlzIGNvbGxhcHNlZCAob3IgY29sbGFwc2luZykgb24gbW9iaWxlLCByZW1vdmUgdGhlXG4vLyAubmF2LXVuZGVybGluZSBib3JkZXJcbi5uYXZiYXItY29sbGFwc2Uuc2hvdywgLm5hdmJhci1jb2xsYXBzZS5jb2xsYXBzaW5nIHtcbiAgLm5hdi11bmRlcmxpbmUge1xuICAgIC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtYm9yZGVyLXdpZHRoOiAwO1xuICAgIC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtZ2FwOiAwO1xuICB9XG59XG5cbi8vIEFsaWduIHRoZSBib3R0b20gb2YgLm5hdi1saW5rIHcvIHRoZSBib3R0b20gb2YgdGhlIG5hdmJhciAod2hlbiB1bmRlcmxpbmVkKVxuLm5hdmJhciAubmF2LXVuZGVybGluZSAubmF2LWxpbmsge1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXBhZGRpbmcteSwgI3skbmF2YmFyLXBhZGRpbmcteX0pICogMik7XG4gIG1hcmdpbi1ib3R0b206ICBjYWxjKHZhcigtLSN7JHByZWZpeH1uYXZiYXItcGFkZGluZy15LCAjeyRuYXZiYXItcGFkZGluZy15fSkgKiAtMSk7XG59XG5cbi8vIEZvciB2YWx1ZV9ib3goKSwgYXBwbHkgYSBncmFkaWVudCB0byB0aGUgaWNvbiAoYnkgZGVmYXVsdClcbiRpY29uLWNsYXNzZXM6IChcImJpXCIsIFwiZmFcIiwgXCJmYXNcIiwgXCJmYXJcIiwgXCJmYWJcIiwgXCJtYXRlcmlhbC1pY29uc1wiKSAhZGVmYXVsdDtcbi5ic2xpYi12YWx1ZS1ib3guZGVmYXVsdCAudmFsdWUtYm94LXNob3djYXNlIHtcbiAgPiBpIHtcbiAgICBAZWFjaCAkaWNvbi1jbGFzcyBpbiAkaWNvbi1jbGFzc2VzIHtcbiAgICAgICYuI3skaWNvbi1jbGFzc30ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQwZGVnLCAkYmx1ZSAzNiUsICRwdXJwbGUgMTgwJSkgJGJsdWU7XG4gICAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gID4gc3ZnIHtcbiAgICBAZWFjaCAkaWNvbi1jbGFzcyBpbiAkaWNvbi1jbGFzc2VzIHtcbiAgICAgICYuI3skaWNvbi1jbGFzc30ge1xuICAgICAgICAvLyBSZXF1aXJlcyBpY29uLWdyYWRpZW50LnN2ZyB3aGljaCBpcyBhZGRlZCBpbiB0aGUgdmFsdWVfYm94KCkgZGVwZW5kZW5jeVxuICAgICAgICBmaWxsOiB1cmwoJyNic2xpYi0tLWljb24tZ3JhZGllbnQnKSAkYmx1ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGb3IgdmFsdWVfYm94KCksIGltcHJvdmUgY29udHJhc3Qgb2YgdGV4dCBjb2xvcnNcbi5ic2xpYi12YWx1ZS1ib3gge1xuICAkY3lhbjogIzAyODA5NzsgLy8gQ29udHJhc3QgNC42M1xuICAkd2FybmluZzogI0E4NzYwMDsgLy8gQ29udHJhc3QgNCAob2theSBmb3IgMTZweCsgdGV4dClcblxuICAmLnRleHQtaW5mbyB7XG4gICAgJiwgJi50ZXh0LWN5YW4ge1xuICAgICAgLS1ic2xpYi1jb2xvci1mZzogJGN5YW4gIWltcG9ydGFudDtcbiAgICB9XG4gICAgY29sb3I6ICRjeWFuICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmLnRleHQtbGlnaHQge1xuICAgIC0tYnNsaWItY29sb3ItZmc6ICRncmF5LTYwMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgJi50ZXh0LXdhcm5pbmcge1xuICAgICYsICYudGV4dC15ZWxsb3cge1xuICAgICAgLS1ic2xpYi1jb2xvci1mZzogJHdhcm5pbmcgIWltcG9ydGFudDtcbiAgICB9XG4gICAgY29sb3I6ICR3YXJuaW5nICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmLnRleHQtdGVhbC50ZXh0LXRlYWwge1xuICAgIC0tYnNsaWItY29sb3ItZmc6ICMwMDg1NTg7IC8vIENvbnRyYXN0IDQuNjdcbiAgfVxufVxuXG4vLyBNb2RhbHNcbi5tb2RhbC1ib2R5LCAubW9kYWwtZm9vdGVyIHtcbiAgcGFkZGluZzogMS41cmVtO1xufVxuLm1vZGFsLWhlYWRlciAuYnRuLWNsb3NlIHtcbiAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4jc2hpbnktbW9kYWwtd3JhcHBlcjpoYXMoIH4gLm1vZGFsLWJhY2tkcm9wKSAubW9kYWwge1xuICAvLyBCbHVyIHRoZSBiYWNrZ3JvdW5kIHdoZW4gdGhlIG1vZGFsIGhhcyBhIGJhY2tkcm9wXG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigycHgpO1xufVxuXG4vLyBQcm9ncmVzcyBCYXJzICYgTm90aWZpY2F0aW9uc1xuLy8gRklYTUU6IFVzZSBjc3MgbGF5ZXJzIChkeW5hbWljIHRoZW1laW5nIGlzc3VlKVxuI3NoaW55LW5vdGlmaWNhdGlvbi1wYW5lbCNzaGlueS1ub3RpZmljYXRpb24tcGFuZWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogY2FsYyh2YXIoLS1ic2xpYi1zcGFjZXIsIDFyZW0pIC8gMik7XG4gIHJpZ2h0OiBjYWxjKHZhcigtLWJzbGliLXNwYWNlciwgMXJlbSkgLyAyKTtcbiAgd2lkdGg6IDQ1MHB4O1xuICB6LWluZGV4OiAkemluZGV4LXRvYXN0O1xufVxuXG4ucHJvZ3Jlc3MtbWVzc2FnZSB7XG4gIG1hcmdpbi1yaWdodDogLjZyZW07XG59XG5cbi8vIEZJWE1FOiBVc2UgY3NzIGxheWVycyAoZHluYW1pYyB0aGVtZWluZyBpc3N1ZSlcbi5zaGlueS1ub3RpZmljYXRpb24uc2hpbnktbm90aWZpY2F0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvcGFjaXR5OiAwLjk2O1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLWJzbGliLXNwYWNlciwgMXJlbSkgKiAyKTtcbiAgbWFyZ2luOiB2YXIoLS1ic2xpYi1zcGFjZXIsIDFyZW0pO1xuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCk7XG4gIGJvcmRlci1yYWRpdXM6ICRjYXJkLWJvcmRlci1yYWRpdXM7XG4gIGJveC1zaGFkb3c6ICRib3gtc2hhZG93O1xuXG4gIC5zaGlueS1ub3RpZmljYXRpb24tY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiB1bnNldDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMC4yNXJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICBjb2xvcjogY3VycmVudENvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIH1cbiAgfVxuXG4gIC5zaGlueS1ub3RpZmljYXRpb24tY29udGVudC10ZXh0IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4iLAoJCSIuaXJzLmlycy0tc2hpbnkge1xuICAkaXJzLXNoaW55LXNwYWNlOiAzcHggIWRlZmF1bHQ7XG5cbiAgbWFyZ2luLXRvcDogJGlycy1zaGlueS1zcGFjZTtcblxuICAuaXJzLW1pbixcbiAgLmlycy1tYXgsXG4gIC5pcnMtZnJvbSxcbiAgLmlycy10byxcbiAgLmlycy1zaW5nbGUge1xuICAgIHBhZGRpbmc6ICRpcnMtc2hpbnktc3BhY2UgJGlycy1zaGlueS1zcGFjZSAqIDI7XG4gICAgdG9wOiAtJGlycy1zaGlueS1zcGFjZTtcbiAgfVxuXG4gIC5pcnMtaGFuZGxlIHtcbiAgICB0b3A6ICR0b3AgLSAoJGhhbmRsZV9oZWlnaHQgLyAyKSArICgkbGluZV9oZWlnaHQgLyAyKTtcbiAgfVxuXG4gIC5pcnMtYmFyIHtcbiAgICB0b3A6IDMxcHg7XG4gICAgaGVpZ2h0OiAkaXJzLXNoaW55LXNwYWNlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxuXG4gIC5pcnMtbGluZSB7XG4gICAgLy8gTk9URTogbm90IHN1cmUgd2UgbmVlZCB0aGlzIGJvcmRlciByYWRpdXNcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIH1cblxuICAuaXJzLWdyaWQtcG9sIHtcbiAgICBoZWlnaHQ6IDZweDtcbiAgfVxuXG4gIC5pcnMtZ3JpZC10ZXh0IHtcbiAgICBib3R0b206IDhweDtcbiAgfVxuXG4gIC8vIG1ha2UgaGFuZGxlcyBrZXlib2FyZCBhY2Nlc3NpYmxlXG4gIC8vXG4gIC8vIFdlIG1pZ2h0IG5lZWQgc29tZSBqYXZhc2NyaXB0IHNoZW5hbmlnYW5zIHRvIG1ha2UgdGhlIGhhbmRsZXMgb24gdGhlIHNsaWRlclxuICAvLyBrZXlib2FyZCBhY2Nlc3NpYmxlLiAgSSB0aGluayB3ZSBjYW4gZG8gdGhpcyBieSBhc3NpZ25pbmcgaXQgYSByb2xlIGFuZCBhbmRcbiAgLy8gYSB0YWJpbmRleD8gY2hlY2sgb3V0IHRoaXMgYXJ0aWNsZTpcbiAgLy8gaHR0cHM6Ly93d3cuNDU2YmVyZWFzdHJlZXQuY29tL2FyY2hpdmUvMjAxMzAyL21ha2luZ19lbGVtZW50c19rZXlib2FyZF9mb2N1c2FibGVfYW5kX2NsaWNrYWJsZS9cbiAgLmlycy1oYW5kbGU6Zm9jdXMtdmlzaWJsZSxcbiAgLmlycy1oYW5kbGU6YWN0aXZlIHtcbiAgICAvLyBGSVhNRVxuICAgIGNvbG9yOiBzaGFkZS1jb2xvcigkaGFuZGxlX2NvbG9yLCAzMCUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNoYWRlLWNvbG9yKCRoYW5kbGVfY29sb3IsIDMwJSk7XG4gICAgYm9yZGVyLWNvbG9yOiBzaGFkZS1jb2xvcigkaGFuZGxlX2NvbG9yLCAzMCk7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiAkYnRuLWZvY3VzLWJveC1zaGFkb3c7XG4gIH1cblxuICAmIH4gLnNsaWRlci1hbmltYXRlLWNvbnRhaW5lciB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgIC5zbGlkZXItYW5pbWF0ZS1idXR0b24ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICAmLmlycy13aXRoLWdyaWQgfiAuc2xpZGVyLWFuaW1hdGUtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICB9XG4gICY6bm90KC5pcnMtd2l0aC1ncmlkKSB+IC5zbGlkZXItYW5pbWF0ZS1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgfVxufVxuIiwKCQkiLy8gVE9ETzogTWFueSBvZiB0aGVzZSBydWxlcyBjb3VsZCBiZSBhcHBsaWVkIHRvIGFsbCBic2xpYiB0aGVtZXNcbi50YWJsZS5kYXRhVGFibGUge1xuICAvLyBDU1MgdmFyaWFibGVzIGFyZSBzY29wZWQgdG8gZGF0YXRhYmxlcyBpbiBCb290c3RyYXBcbiAgLS1kdC1yb3ctc2VsZWN0ZWQ6IHZhcigtLWJzLXByaW1hcnktcmdiLCBcIjAsMTIzLDE5NFwiKTtcbiAgLS1kdC1yb3ctc2VsZWN0ZWQtdGV4dDogdmFyKC0tYnMtd2hpdGUtcmdiLCBcIjI1NSwyNTUsMjU1XCIpO1xuICAtLWR0LXJvdy1zZWxlY3RlZC1saW5rOiB2YXIoLS1icy1saWdodC1yZ2gsIFwiMjQ4LDI0OCwyNDhcIik7XG59XG5cbi8vIE5vdGUgQ1NTIHNwZWNpZmljaXR5IGhhY2sgYmVjYXVzZSBEVCdzIENTUyBkZXBzIGFyZSBsb2FkZWQgYWZ0ZXIgdGhlIHRoZW1lXG4udGFibGUuZGF0YVRhYmxlLmRhdGFUYWJsZSB7XG4gICRjbGFzcy1zdHJpcGU6IFwiZXZlblwiO1xuICAkY2xhc3MtdW5zdHJpcGVkOiBcIm9kZFwiO1xuXG4gIEBpZiAkdGFibGUtc3RyaXBlZC1vcmRlciA9PSBvZGQge1xuICAgICRjbGFzcy1zdHJpcGU6IFwib2RkXCI7XG4gICAgJGNsYXNzLXVuc3RyaXBlZDogXCJldmVuXCI7XG4gIH1cblxuICAmLnRhYmxlLXN0cmlwZWQgPiB0Ym9keSA+IHRyLiN7JGNsYXNzLXVuc3RyaXBlZH06bm90KC5zZWxlY3RlZCkgPiAqIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5cbiAgJi50YWJsZS1zdHJpcGVkID4gdGJvZHkgPiB0ci4jeyRjbGFzcy1zdHJpcGV9Om5vdCguc2VsZWN0ZWQpID4gKiB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgOTk5OXB4IHZhcigtLWJzLXRhYmxlLXN0cmlwZWQtYmcpO1xuICB9XG5cbiAgdGJvZHkgdGQuYWN0aXZlLFxuICB0Ym9keSB0ci5hY3RpdmUgdGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXRhYmxlLWFjdGl2ZS1iZyk7XG4gIH1cblxuICAmLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0cjpob3Zlcjpub3QoLnNlbGVjdGVkKSA+ICoge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDk5OTlweCB2YXIoLS1icy10YWJsZS1ob3Zlci1iZyk7XG4gIH1cbn1cblxudGhlYWQsIHRib2R5LCB0Zm9vdCwgdHIsIHRkLCB0aCB7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLnRhYmxlID4gdGhlYWQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYnMtdGFibGUtY29sb3IpO1xufVxuXG50aCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5kYXRhdGFibGVzIHtcbiAgLy8gVGFibGUgcGFnaW5hdGlvbiByb3cgdHdlYWtzXG4gIC5kYXRhVGFibGVzX3dyYXBwZXIgZGl2LmRhdGFUYWJsZXNfaW5mbyB7XG4gICAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tYnNsaWItc3BhY2VyLCAxcmVtKSAqIDEuNjUpO1xuICAgIGZvbnQtc2l6ZTogLjk1cmVtO1xuICB9XG5cbiAgLmRhdGFUYWJsZXNfcGFnaW5hdGUge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1ic2xpYi1zcGFjZXIsIDFyZW0pO1xuICB9XG5cbiAgLnBhZ2luYXRlX2J1dHRvbiBhIHtcbiAgICBmb250LXNpemU6IC45NXJlbTtcbiAgfVxuXG4gIC8vIGNyZWF0ZSBzcGFjZSBiZXR3ZWVuICdzaG93IF9fXyBlbnRyaWVzJyBhbmQgJ3NlYXJjaCcgYWJvdmUgdGFibGVcbiAgLmRhdGFUYWJsZXNfbGVuZ3RoLCAuZGF0YVRhYmxlc19maWx0ZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1ic2xpYi1zcGFjZXIsIDFyZW0pO1xuICB9XG5cbiAgLy8gU2Nyb2xsIHRoZSBkYXRhIHRhYmxlIGNvbnRhaW5lciwgbm90IHRoZSBlbnRpcmUgd3JhcHBlclxuICAuZGF0YVRhYmxlc193cmFwcGVyIC5kdC1yb3cge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIFN0eWxlIHRoZSBsZW5ndGggYW5kIHNlYXJjaCBpbnB1dHNcbiAgLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19sZW5ndGggc2VsZWN0LFxuICAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX2ZpbHRlciBpbnB1dCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1icy1ib2R5LWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG5cbi8vIFRPRE86IFRoaXMgY291bGQgYmUgYXBwbGllZCBtb3JlIGdlbmVyYWxseSB2aWEgdGhlIGNhcmQgc2Nzc1xuLmJzbGliLWNhcmQtdGFibGUtc20ge1xuICAmLmJzbGliLWNhcmRbZGF0YS1mdWxsLXNjcmVlbj1cImZhbHNlXCJdIC5kYXRhdGFibGVzIC5kYXRhVGFibGVzX3dyYXBwZXIge1xuICAgIGZvbnQtc2l6ZTogODUlO1xuXG4gICAgLy8gaGlkZSB0aGUgc3VwcG9ydGluZyBlbGVtZW50cyB3aGVuIGluc2lkZSBhIG5vbi1mdWxsLXNjcmVlbiBjYXJkXG4gICAgLmRhdGFUYWJsZXNfbGVuZ3RoLCAgLy8gc2hvdyBfX18gZW50cmllc1xuICAgIC5kYXRhVGFibGVzX2ZpbHRlciwgIC8vIHNlYXJjaFxuICAgIC8vIC5kYXRhVGFibGVzX2luZm8sICAgIC8vIHNob3dpbmcgMSB0byAxMCBvZiAxMDAgZW50cmllc1xuICAgIC5kYXRhVGFibGVzX3BhZ2luYXRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iCgldLAoJIm5hbWVzIjogW10sCgkibWFwcGluZ3MiOiAiQThHTUUsT0FBTyxDQUFDLGVBQUksRTlHZWIsQUFBRCxJQUFLLEFBQUMsQ0FDTix5QkFBeUIsQ0FBQSxFQUFDLENBQzFCLG1CQUFtQixDQUFBLE1BQUMsQ0FDcEIsbUJBQW1CLENBQUEsUUFBQyxDQUNuQixBc0N4QkM7Ozs7S0FJRyxDRUxKLEFBQUQsSUFBSyxFQUNMLEFBQUEsYUFBQyxDQUFjLE9BQU8sQUFBckIsQ0FBdUIsQ0FRcEIsU0FBcUIsQ0FBZSxRQUFDLENBQXJDLFdBQXFCLENBQWUsUUFBQyxDQUFyQyxXQUFxQixDQUFlLFFBQUMsQ0FBckMsU0FBcUIsQ0FBZSxRQUFDLENBQXJDLFFBQXFCLENBQWUsUUFBQyxDQUFyQyxXQUFxQixDQUFlLFFBQUMsQ0FBckMsV0FBcUIsQ0FBZSxRQUFDLENBQXJDLFVBQXFCLENBQWUsUUFBQyxDQUFyQyxTQUFxQixDQUFlLFFBQUMsQ0FBckMsU0FBcUIsQ0FBZSxRQUFDLENBQXJDLFVBQXFCLENBQWUsS0FBQyxDQUFyQyxVQUFxQixDQUFlLEtBQUMsQ0FBckMsU0FBcUIsQ0FBZSxRQUFDLENBQXJDLGNBQXFCLENBQWUsUUFBQyxDQUlyQyxhQUEwQixDQUFvQixRQUFDLENBQS9DLGFBQTBCLENBQW9CLFFBQUMsQ0FBL0MsYUFBMEIsQ0FBb0IsUUFBQyxDQUEvQyxhQUEwQixDQUFvQixRQUFDLENBQS9DLGFBQTBCLENBQW9CLFFBQUMsQ0FBL0MsYUFBMEIsQ0FBb0IsUUFBQyxDQUEv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 */
\ No newline at end of file
diff --git a/shiny/www/shared/bslib/_version.json b/shiny/www/shared/bslib/_version.json
index 0f53df0cf..c644f81de 100644
--- a/shiny/www/shared/bslib/_version.json
+++ b/shiny/www/shared/bslib/_version.json
@@ -1,5 +1,5 @@
{
"note!": "This file is auto-generated by scripts/htmlDependencies.R",
"package": "bslib",
- "version": "CRAN (R 4.3.1)"
+ "version": "Github (rstudio/bslib@f05bd23d7df5a7465e418a5794925dacdd27bb6b)"
}
diff --git a/shiny/www/shared/bslib/components/components.css b/shiny/www/shared/bslib/components/components.css
index 790cfd655..8a99ab809 100644
--- a/shiny/www/shared/bslib/components/components.css
+++ b/shiny/www/shared/bslib/components/components.css
@@ -1 +1 @@
-.accordion .accordion-header{font-size:calc(1.325rem + .9vw);margin-top:0;margin-bottom:.5rem;font-weight:400;line-height:1.2;color:var(--bs-heading-color);margin-bottom:0}@media (min-width: 1200px){.accordion .accordion-header{font-size:2rem}}.accordion .accordion-icon:not(:empty){margin-right:0.75rem;display:flex}.accordion .accordion-button:not(.collapsed){box-shadow:none}.accordion .accordion-button:not(.collapsed):focus{box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.bslib-card{overflow:auto}.bslib-card .card-body+.card-body{padding-top:0}.bslib-card .card-body{overflow:auto}.bslib-card .card-body p{margin-top:0}.bslib-card .card-body p:last-child{margin-bottom:0}.bslib-card .card-body{max-height:var(--bslib-card-body-max-height, none)}.bslib-card[data-full-screen="true"]>.card-body{max-height:var(--bslib-card-body-max-height-full-screen, none)}.bslib-card .card-header .form-group{margin-bottom:0}.bslib-card .card-header .selectize-control{margin-bottom:0}.bslib-card .card-header .selectize-control .item{margin-right:1.15rem}.bslib-card .card-footer{margin-top:auto}.bslib-card .bslib-navs-card-title{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center}.bslib-card .bslib-navs-card-title .nav{margin-left:auto}.bslib-card .bslib-sidebar-layout:not([data-bslib-sidebar-border="true"]){border:none}.bslib-card .bslib-sidebar-layout:not([data-bslib-sidebar-border-radius="true"]){border-top-left-radius:0;border-top-right-radius:0}[data-full-screen="true"]{position:fixed;inset:3.5rem 1rem 1rem;height:auto !important;max-height:none !important;width:auto !important;z-index:1070}.bslib-full-screen-enter{display:none;position:absolute;bottom:var(--bslib-full-screen-enter-bottom, 0.2rem);right:var(--bslib-full-screen-enter-right, 0);top:var(--bslib-full-screen-enter-top);left:var(--bslib-full-screen-enter-left);color:var(--bslib-color-fg, var(--bs-card-color));background-color:var(--bslib-color-bg, var(--bs-card-bg, var(--bs-body-bg)));border:var(--bs-card-border-width) solid var(--bslib-color-fg, var(--bs-card-border-color));box-shadow:0 2px 4px rgba(0,0,0,0.15);margin:0.2rem 0.4rem;padding:0.55rem !important;font-size:.8rem;cursor:pointer;opacity:0.7;z-index:1070}.bslib-full-screen-enter:hover{opacity:1}.card[data-full-screen="false"]:hover>*>.bslib-full-screen-enter{display:block}.bslib-has-full-screen .card:hover>*>.bslib-full-screen-enter{display:none}@media (max-width: 575.98px){.bslib-full-screen-enter{display:none !important}}.bslib-full-screen-exit{position:relative;top:1.35rem;font-size:0.9rem;cursor:pointer;text-decoration:none;display:flex;float:right;margin-right:2.15rem;align-items:center;color:rgba(var(--bs-body-bg-rgb), 0.8)}.bslib-full-screen-exit:hover{color:rgba(var(--bs-body-bg-rgb), 1)}.bslib-full-screen-exit svg{margin-left:0.5rem;font-size:1.5rem}#bslib-full-screen-overlay{position:fixed;inset:0;background-color:rgba(var(--bs-body-color-rgb), 0.6);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:1069;animation:bslib-full-screen-overlay-enter 400ms cubic-bezier(0.6, 0.02, 0.65, 1) forwards}@keyframes bslib-full-screen-overlay-enter{0%{opacity:0}100%{opacity:1}}.bslib-grid{display:grid !important;gap:var(--bslib-spacer, 1rem);height:var(--bslib-grid-height)}.bslib-grid.grid{grid-template-columns:repeat(var(--bs-columns, 12), minmax(0, 1fr));grid-template-rows:unset;grid-auto-rows:var(--bslib-grid--row-heights);--bslib-grid--row-heights--xs: unset;--bslib-grid--row-heights--sm: unset;--bslib-grid--row-heights--md: unset;--bslib-grid--row-heights--lg: unset;--bslib-grid--row-heights--xl: unset;--bslib-grid--row-heights--xxl: unset}.bslib-grid.grid.bslib-grid--row-heights--xs{--bslib-grid--row-heights: var(--bslib-grid--row-heights--xs)}@media (min-width: 576px){.bslib-grid.grid.bslib-grid--row-heights--sm{--bslib-grid--row-heights: var(--bslib-grid--row-heights--sm)}}@media (min-width: 768px){.bslib-grid.grid.bslib-grid--row-heights--md{--bslib-grid--row-heights: var(--bslib-grid--row-heights--md)}}@media (min-width: 992px){.bslib-grid.grid.bslib-grid--row-heights--lg{--bslib-grid--row-heights: var(--bslib-grid--row-heights--lg)}}@media (min-width: 1200px){.bslib-grid.grid.bslib-grid--row-heights--xl{--bslib-grid--row-heights: var(--bslib-grid--row-heights--xl)}}@media (min-width: 1400px){.bslib-grid.grid.bslib-grid--row-heights--xxl{--bslib-grid--row-heights: var(--bslib-grid--row-heights--xxl)}}.bslib-grid>*>.shiny-input-container{width:100%}.bslib-grid-item{grid-column:auto/span 1}@media (max-width: 767.98px){.bslib-grid-item{grid-column:1 / -1}}@media (max-width: 575.98px){.bslib-grid{grid-template-columns:1fr !important;height:var(--bslib-grid-height-mobile)}.bslib-grid.grid{height:unset !important;grid-auto-rows:var(--bslib-grid--row-heights--xs, auto)}}@media (min-width: 576px){.nav:not(.nav-hidden){display:flex !important;display:-webkit-flex !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column){float:none !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column)>.bslib-nav-spacer{margin-left:auto !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column)>.form-inline{margin-top:auto;margin-bottom:auto}.nav:not(.nav-hidden).nav-stacked{flex-direction:column;-webkit-flex-direction:column;height:100%}.nav:not(.nav-hidden).nav-stacked>.bslib-nav-spacer{margin-top:auto !important}}.bslib-page-fill{width:100%;height:100%;margin:0;padding:var(--bslib-spacer, 1rem);gap:var(--bslib-spacer, 1rem)}@media (max-width: 575.98px){.bslib-flow-mobile>.html-fill-item{flex:0 0 auto}.bslib-flow-mobile.bslib-page-sidebar>.html-fill-item,.bslib-flow-mobile.bslib-page-navbar.has-page-sidebar>.html-fill-item{flex:1 1 auto}.bslib-flow-mobile.bslib-page-sidebar>.bslib-sidebar-layout>.main>.html-fill-item,.bslib-flow-mobile.bslib-page-navbar.has-page-sidebar>.html-fill-container>.bslib-sidebar-layout>.main>.html-fill-item{flex:0 0 auto}.bslib-flow-mobile.bslib-page-sidebar>.bslib-sidebar-layout:not(.sidebar-right)>.main,.bslib-flow-mobile.bslib-page-navbar.has-page-sidebar>.html-fill-container>.bslib-sidebar-layout:not(.sidebar-right)>.main{padding-left:var(--_padding-icon);padding-top:var(--_padding)}.bslib-flow-mobile.bslib-page-sidebar>.bslib-sidebar-layout:not(.sidebar-right)>.collapse-toggle,.bslib-flow-mobile.bslib-page-navbar.has-page-sidebar>.html-fill-container>.bslib-sidebar-layout:not(.sidebar-right)>.collapse-toggle{left:calc(var(--_icon-size) / 2)}.bslib-flow-mobile.bslib-page-sidebar>.bslib-sidebar-layout.sidebar-right>.main,.bslib-flow-mobile.bslib-page-navbar.has-page-sidebar>.html-fill-container>.bslib-sidebar-layout.sidebar-right>.main{padding-right:var(--_padding-icon)}.bslib-flow-mobile.bslib-page-sidebar>.bslib-sidebar-layout.sidebar-right>.collapse-toggle,.bslib-flow-mobile.bslib-page-navbar.has-page-sidebar>.html-fill-container>.bslib-sidebar-layout.sidebar-right>.collapse-toggle{right:calc(var(--_icon-size) / 2)}}.navbar+.container-fluid:has(>.tab-content>.tab-pane.active.html-fill-container){padding-left:0;padding-right:0}.navbar+.container-fluid>.tab-content>.tab-pane.active.html-fill-container{padding:var(--bslib-spacer, 1rem);gap:var(--bslib-spacer, 1rem)}.navbar+.container-fluid>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child){padding:0}.navbar+.container-fluid>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border="true"]){border-left:none;border-right:none;border-bottom:none}.navbar+.container-fluid>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius="true"]){border-radius:0}.navbar+div>.bslib-sidebar-layout{border-top:var(--bslib-sidebar-border)}:root{--bslib-page-sidebar-title-bg: #202020;--bslib-page-sidebar-title-color: #fff}.bslib-page-title{background-color:var(--bslib-page-sidebar-title-bg);color:var(--bslib-page-sidebar-title-color);font-size:1.5rem;font-weight:300;padding:var(--bslib-spacer, 1rem);padding-left:1.5rem;margin-bottom:0;border-bottom:1px solid #dee2e6}.bslib-sidebar-layout{--_transition-duration: 0;--_transition-easing-x: var(--bslib-sidebar-transition-easing-x, cubic-bezier(0.8, 0.78, 0.22, 1.07));--_border: var(--bslib-sidebar-border, var(--bs-card-border-width, var(--bs-border-width)) solid var(--bs-card-border-color, var(--bs-border-color-translucent)));--_border-radius: var(--bslib-sidebar-border-radius, var(--bs-border-radius));--_vert-border: var(--bslib-sidebar-vert-border, var(--_border));--_sidebar-width: var(--bslib-sidebar-width, 250px);--_sidebar-bg: var(--bslib-sidebar-bg, rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.05));--_sidebar-fg: var(--bslib-sidebar-fg, var(--bs-emphasis-color, black));--_main-fg: var(--bslib-sidebar-main-fg, var(--bs-card-color, var(--bs-body-color)));--_main-bg: var(--bslib-sidebar-main-bg, transparent);--_toggle-bg: var(--bslib-sidebar-toggle-bg, rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.1));--_padding: var(--bslib-sidebar-padding, calc(var(--bslib-spacer) * 1.5));--_icon-size: var(--bslib-sidebar-icon-size, var(--bslib-spacer, 1rem));--_icon-button-size: var(--bslib-sidebar-icon-button-size, calc(var(--_icon-size, 1rem) * 2));--_padding-icon: calc(var(--_icon-button-size, 2rem) * 1.5);--_toggle-border-radius: var(--bslib-collapse-toggle-border-radius, var(--bs-border-radius, 3px));--_toggle-transform: var(--bslib-collapse-toggle-transform, 0deg);--_toggle-transition-easing: var(--bslib-sidebar-toggle-transition-easing, cubic-bezier(1, 0, 0, 1));--_toggle-right-transform: var(--bslib-collapse-toggle-right-transform, 180deg);--_toggle-position-y: calc(var(--_js-toggle-count-this-side, 0) * calc(var(--_icon-size) + var(--_padding)) + var(--_icon-size, 1rem) / 2);--_toggle-position-x: calc(-2.5 * var(--_icon-size) - var(--bs-card-border-width, 1px));--_mobile-max-height: var(--bslib-sidebar-mobile-max-height, var(--bslib-sidebar-max-height-mobile));--_sidebar-mobile-opacity: var(--bslib-sidebar-mobile-opacity);--_sidebar-mobile-max-width: var(--bslib-sidebar-mobile-max-width);--_sidebar-mobile-box-shadow: var(--bslib-sidebar-mobile-box-shadow);--_column-main: minmax(0, 1fr);--_toggle-collective-height: calc(calc(var(--_icon-button-size) + 0.5em) * var(--_js-toggle-count-max-side, 1));display:grid !important;grid-template-columns:Min(calc(100% - var(--_padding-icon)), var(--_sidebar-width)) var(--_column-main);position:relative;transition:grid-template-columns ease-in-out var(--_transition-duration);border:var(--_border);border-radius:var(--_border-radius)}.bslib-sidebar-layout.transitioning{--_transition-duration: max(var(--bslib-sidebar-transition-duration, 300ms), 5ms)}@media (prefers-reduced-motion: reduce){.bslib-sidebar-layout{transition:none}}.bslib-sidebar-layout,.html-fill-container>.bslib-sidebar-layout.html-fill-item{min-height:var(--_toggle-collective-height)}.bslib-sidebar-layout[data-bslib-sidebar-border="false"]{border:none}.bslib-sidebar-layout[data-bslib-sidebar-border-radius="false"]{border-radius:initial}.bslib-sidebar-layout>.main,.bslib-sidebar-layout>.sidebar{grid-row:1 / 2;border-radius:inherit;overflow:auto}.bslib-sidebar-layout>.main{grid-column:2 / 3;border-top-left-radius:0;border-bottom-left-radius:0;padding:var(--_padding);transition:padding var(--_transition-easing-x) var(--_transition-duration);color:var(--_main-fg);background-color:var(--_main-bg)}.bslib-sidebar-layout>.sidebar{grid-column:1 / 2;width:100%;border-right:var(--_vert-border);border-top-right-radius:0;border-bottom-right-radius:0;color:var(--_sidebar-fg);background-color:var(--_sidebar-bg);backdrop-filter:blur(5px)}.bslib-sidebar-layout>.sidebar>.sidebar-content{display:flex;flex-direction:column;gap:var(--bslib-spacer, 1rem);padding:var(--_padding);padding-top:var(--_padding-icon)}.bslib-sidebar-layout>.sidebar>.sidebar-content>:last-child:not(.sidebar-title){margin-bottom:0}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion{margin-left:calc(-1 * var(--_padding));margin-right:calc(-1 * var(--_padding))}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:last-child{margin-bottom:calc(-1 * var(--_padding))}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:not(:last-child){margin-bottom:1rem}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-body{display:flex;flex-direction:column}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:not(:first-child) .accordion-item:first-child{border-top:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:not(:last-child) .accordion-item:last-child{border-bottom:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.bslib-sidebar-layout>.sidebar>.sidebar-content.has-accordion>.sidebar-title{border-bottom:none;padding-bottom:0}.bslib-sidebar-layout>.sidebar .shiny-input-container{width:100%}.bslib-sidebar-layout[data-bslib-sidebar-open="always"]>.sidebar>.sidebar-content{padding-top:var(--_padding)}.bslib-sidebar-layout>.collapse-toggle{grid-row:1 / 2;grid-column:1 / 2;display:inline-flex;align-items:center;position:absolute;right:calc(var(--_icon-size));top:calc(var(--_icon-size, 1rem) / 2);border:none;border-radius:var(--_toggle-border-radius);height:var(--_icon-button-size, 2rem);width:var(--_icon-button-size, 2rem);display:flex;align-items:center;justify-content:center;padding:0;color:var(--_sidebar-fg);background-color:unset;transition:color var(--_transition-easing-x) var(--_transition-duration),top var(--_transition-easing-x) var(--_transition-duration),right var(--_transition-easing-x) var(--_transition-duration),left var(--_transition-easing-x) var(--_transition-duration)}.bslib-sidebar-layout>.collapse-toggle:hover{background-color:var(--_toggle-bg)}.bslib-sidebar-layout>.collapse-toggle>.collapse-icon{opacity:0.8;width:var(--_icon-size);height:var(--_icon-size);transform:rotateY(var(--_toggle-transform));transition:transform var(--_toggle-transition-easing) var(--_transition-duration)}.bslib-sidebar-layout>.collapse-toggle:hover>.collapse-icon{opacity:1}.bslib-sidebar-layout .sidebar-title{font-size:1.25rem;line-height:1.25;margin-top:0;margin-bottom:1rem;padding-bottom:1rem;border-bottom:var(--_border)}.bslib-sidebar-layout.sidebar-right{grid-template-columns:var(--_column-main) Min(calc(100% - var(--_padding-icon)), var(--_sidebar-width))}.bslib-sidebar-layout.sidebar-right>.main{grid-column:1 / 2;border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:inherit;border-bottom-left-radius:inherit}.bslib-sidebar-layout.sidebar-right>.sidebar{grid-column:2 / 3;border-right:none;border-left:var(--_vert-border);border-top-left-radius:0;border-bottom-left-radius:0}.bslib-sidebar-layout.sidebar-right>.collapse-toggle{grid-column:2 / 3;left:var(--_icon-size);right:unset;border:var(--bslib-collapse-toggle-border)}.bslib-sidebar-layout.sidebar-right>.collapse-toggle>.collapse-icon{transform:rotateY(var(--_toggle-right-transform))}.bslib-sidebar-layout.transitioning>.sidebar>.sidebar-content{display:none}.bslib-sidebar-layout.sidebar-collapsed{--_toggle-transform: 180deg;--_toggle-right-transform: 0deg;--_vert-border: none;grid-template-columns:0 minmax(0, 1fr)}.bslib-sidebar-layout.sidebar-collapsed.sidebar-right{grid-template-columns:minmax(0, 1fr) 0}.bslib-sidebar-layout.sidebar-collapsed:not(.transitioning)>.sidebar>*{display:none}.bslib-sidebar-layout.sidebar-collapsed>.main{border-radius:inherit;padding-left:var(--_padding-icon);padding-right:var(--_padding-icon)}.bslib-sidebar-layout.sidebar-collapsed>.collapse-toggle{color:var(--_main-fg);top:var(--_toggle-position-y);right:var(--_toggle-position-x)}.bslib-sidebar-layout.sidebar-collapsed.sidebar-right>.collapse-toggle{left:var(--_toggle-position-x);right:unset}@media (max-width: 575.98px){.bslib-sidebar-layout[data-bslib-sidebar-open="desktop"]{--bslib-sidebar-js-init-collapsed: true}.bslib-sidebar-layout>.sidebar,.bslib-sidebar-layout.sidebar-right>.sidebar{border:none}.bslib-sidebar-layout>.main,.bslib-sidebar-layout.sidebar-right>.main{grid-column:1 / 3}.bslib-sidebar-layout[data-bslib-sidebar-open="always"]{display:block !important}.bslib-sidebar-layout[data-bslib-sidebar-open="always"]>.sidebar{max-height:var(--_mobile-max-height);overflow-y:auto;border-top:var(--_vert-border)}.bslib-sidebar-layout:not([data-bslib-sidebar-open="always"]){grid-template-columns:100% 0}.bslib-sidebar-layout:not([data-bslib-sidebar-open="always"]):not(.sidebar-collapsed)>.sidebar,.bslib-sidebar-layout:not([data-bslib-sidebar-open="always"]).transitioning>.sidebar{z-index:1}.bslib-sidebar-layout:not([data-bslib-sidebar-open="always"]):not(.sidebar-collapsed)>.collapse-toggle,.bslib-sidebar-layout:not([data-bslib-sidebar-open="always"]).transitioning>.collapse-toggle{z-index:1}.bslib-sidebar-layout:not([data-bslib-sidebar-open="always"]):not(.sidebar-right)>.collapse-toggle{left:var(--_icon-size);right:unset}.bslib-sidebar-layout:not([data-bslib-sidebar-open="always"]).sidebar-right>.collapse-toggle{right:var(--_icon-size);left:unset}.bslib-sidebar-layout:not([data-bslib-sidebar-open="always"])>.sidebar{opacity:var(--_sidebar-mobile-opacity, 1);max-width:var(--_sidebar-mobile-max-width, 100%);box-shadow:var(--_sidebar-mobile-box-shadow)}.bslib-sidebar-layout:not([data-bslib-sidebar-open="always"]):not(.sidebar-right)>.sidebar{margin-right:auto}.bslib-sidebar-layout:not([data-bslib-sidebar-open="always"]).sidebar-right>.sidebar{margin-left:auto}.bslib-sidebar-layout:not([data-bslib-sidebar-open="always"]).sidebar-right{grid-template-columns:0 100%}.bslib-sidebar-layout:not([data-bslib-sidebar-open="always"]).sidebar-collapsed{grid-template-columns:0 100%}.bslib-sidebar-layout:not([data-bslib-sidebar-open="always"]).sidebar-collapsed.sidebar-right{grid-template-columns:100% 0}.bslib-sidebar-layout:not([data-bslib-sidebar-open="always"])>.main{padding-top:var(--_toggle-collective-height);padding-left:var(--_padding);padding-right:var(--_padding)}}.bslib-value-box{container-name:bslib-value-box;container-type:inline-size}.bslib-value-box.default{--bslib-value-box-bg-default: var(--bs-card-bg, #fff);--bslib-value-box-border-color-default: var(--bs-card-border-color, var(--bs-border-color-translucent));color:var(--bslib-value-box-color, var(--bs-body-color));background-color:var(--bslib-value-box-bg, var(--bslib-value-box-bg-default));border-color:var(--bslib-value-box-border-color, var(--bslib-value-box-border-color-default))}.bslib-value-box .value-box-grid{display:grid;grid-template-areas:"left right";align-items:center;overflow:hidden}.bslib-value-box .value-box-showcase{height:100%;max-height:var(---bslib-value-box-showcase-max-h, 100%)}.bslib-value-box .value-box-showcase,.bslib-value-box .value-box-showcase>.html-fill-item{width:100%}.bslib-value-box[data-full-screen="true"] .value-box-showcase{max-height:var(---bslib-value-box-showcase-max-h-fs, 100%)}@media screen and (min-width: 575.98px){@container bslib-value-box (max-width: 300px){.bslib-value-box:not(.showcase-bottom) .value-box-grid{grid-template-columns:1fr !important;grid-template-rows:auto auto;grid-template-areas:"top" "bottom"}.bslib-value-box:not(.showcase-bottom) .value-box-grid .value-box-showcase{grid-area:top !important}.bslib-value-box:not(.showcase-bottom) .value-box-grid .value-box-area{grid-area:bottom !important;justify-content:end}}}.bslib-value-box .value-box-area{justify-content:center;padding:1.5rem 1rem;font-size:.9rem;font-weight:500}.bslib-value-box .value-box-area *{margin-bottom:0;margin-top:0}.bslib-value-box .value-box-title{font-size:1rem;margin-top:0;margin-bottom:.5rem;font-weight:400;line-height:1.2}.bslib-value-box .value-box-title:empty::after{content:'\00a0 '}.bslib-value-box .value-box-value{font-size:calc(1.325rem + .9vw);margin-top:0;margin-bottom:.5rem;font-weight:400;line-height:1.2}@media (min-width: 1200px){.bslib-value-box .value-box-value{font-size:2rem}}.bslib-value-box .value-box-value:empty::after{content:'\00a0 '}.bslib-value-box .value-box-showcase{align-items:center;justify-content:center;margin-top:auto;margin-bottom:auto;padding:1rem}.bslib-value-box .value-box-showcase .bi,.bslib-value-box .value-box-showcase .fa,.bslib-value-box .value-box-showcase .fab,.bslib-value-box .value-box-showcase .fas,.bslib-value-box .value-box-showcase .far{opacity:.85;min-width:50px;max-width:125%}.bslib-value-box .value-box-showcase .bi,.bslib-value-box .value-box-showcase .fa,.bslib-value-box .value-box-showcase .fab,.bslib-value-box .value-box-showcase .fas,.bslib-value-box .value-box-showcase .far{font-size:4rem}.bslib-value-box.showcase-top-right .value-box-grid{grid-template-columns:1fr var(---bslib-value-box-showcase-w, 50%)}.bslib-value-box.showcase-top-right .value-box-grid .value-box-showcase{grid-area:right;margin-left:auto;align-self:start;align-items:end;padding-left:0;padding-bottom:0}.bslib-value-box.showcase-top-right .value-box-grid .value-box-area{grid-area:left;align-self:end}.bslib-value-box.showcase-top-right[data-full-screen="true"] .value-box-grid{grid-template-columns:auto var(---bslib-value-box-showcase-w-fs, 1fr)}.bslib-value-box.showcase-top-right[data-full-screen="true"] .value-box-grid>div{align-self:center}.bslib-value-box.showcase-top-right:not([data-full-screen="true"]) .value-box-showcase{margin-top:0}@container bslib-value-box (max-width: 300px){.bslib-value-box.showcase-top-right:not([data-full-screen="true"]) .value-box-grid .value-box-showcase{padding-left:1rem}}.bslib-value-box.showcase-left-center .value-box-grid{grid-template-columns:var(---bslib-value-box-showcase-w, 30%) auto}.bslib-value-box.showcase-left-center[data-full-screen="true"] .value-box-grid{grid-template-columns:var(---bslib-value-box-showcase-w-fs, 1fr) auto}.bslib-value-box.showcase-left-center:not([data-fill-screen="true"]) .value-box-grid .value-box-showcase{grid-area:left}.bslib-value-box.showcase-left-center:not([data-fill-screen="true"]) .value-box-grid .value-box-area{grid-area:right}.bslib-value-box.showcase-bottom .value-box-grid{grid-template-columns:1fr;grid-template-rows:1fr var(---bslib-value-box-showcase-h, auto);grid-template-areas:"top" "bottom";overflow:hidden}.bslib-value-box.showcase-bottom .value-box-grid .value-box-showcase{grid-area:bottom;padding:0;margin:0}.bslib-value-box.showcase-bottom .value-box-grid .value-box-area{grid-area:top}.bslib-value-box.showcase-bottom[data-full-screen="true"] .value-box-grid{grid-template-rows:1fr var(---bslib-value-box-showcase-h-fs, 2fr)}.bslib-value-box.showcase-bottom[data-full-screen="true"] .value-box-grid .value-box-showcase{padding:1rem}
+.accordion .accordion-header{font-size:calc(1.325rem + .9vw);margin-top:0;margin-bottom:.5rem;font-weight:400;line-height:1.2;color:var(--bs-heading-color);margin-bottom:0}@media (min-width: 1200px){.accordion .accordion-header{font-size:2rem}}.accordion .accordion-icon:not(:empty){margin-right:0.75rem;display:flex}.accordion .accordion-button:not(.collapsed){box-shadow:none}.accordion .accordion-button:not(.collapsed):focus{box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.bslib-card{overflow:auto}.bslib-card .card-body+.card-body{padding-top:0}.bslib-card .card-body{overflow:auto}.bslib-card .card-body p{margin-top:0}.bslib-card .card-body p:last-child{margin-bottom:0}.bslib-card .card-body{max-height:var(--bslib-card-body-max-height, none)}.bslib-card[data-full-screen="true"]>.card-body{max-height:var(--bslib-card-body-max-height-full-screen, none)}.bslib-card .card-header .form-group{margin-bottom:0}.bslib-card .card-header .selectize-control{margin-bottom:0}.bslib-card .card-header .selectize-control .item{margin-right:1.15rem}.bslib-card .card-footer{margin-top:auto}.bslib-card .bslib-navs-card-title{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center}.bslib-card .bslib-navs-card-title .nav{margin-left:auto}.bslib-card .bslib-sidebar-layout:not([data-bslib-sidebar-border="true"]){border:none}.bslib-card .bslib-sidebar-layout:not([data-bslib-sidebar-border-radius="true"]){border-top-left-radius:0;border-top-right-radius:0}[data-full-screen="true"]{position:fixed;inset:3.5rem 1rem 1rem;height:auto !important;max-height:none !important;width:auto !important;z-index:1070}.bslib-full-screen-enter{display:none;position:absolute;bottom:var(--bslib-full-screen-enter-bottom, 0.2rem);right:var(--bslib-full-screen-enter-right, 0);top:var(--bslib-full-screen-enter-top);left:var(--bslib-full-screen-enter-left);color:var(--bslib-color-fg, var(--bs-card-color));background-color:var(--bslib-color-bg, var(--bs-card-bg, var(--bs-body-bg)));border:var(--bs-card-border-width) solid var(--bslib-color-fg, var(--bs-card-border-color));box-shadow:0 2px 4px rgba(0,0,0,0.15);margin:0.2rem 0.4rem;padding:0.55rem !important;font-size:.8rem;cursor:pointer;opacity:0.7;z-index:1070}.bslib-full-screen-enter:hover{opacity:1}.card[data-full-screen="false"]:hover>*>.bslib-full-screen-enter{display:block}.bslib-has-full-screen .card:hover>*>.bslib-full-screen-enter{display:none}@media (max-width: 575.98px){.bslib-full-screen-enter{display:none !important}}.bslib-full-screen-exit{position:relative;top:1.35rem;font-size:0.9rem;cursor:pointer;text-decoration:none;display:flex;float:right;margin-right:2.15rem;align-items:center;color:rgba(var(--bs-body-bg-rgb), 0.8)}.bslib-full-screen-exit:hover{color:rgba(var(--bs-body-bg-rgb), 1)}.bslib-full-screen-exit svg{margin-left:0.5rem;font-size:1.5rem}#bslib-full-screen-overlay{position:fixed;inset:0;background-color:rgba(var(--bs-body-color-rgb), 0.6);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:1069;animation:bslib-full-screen-overlay-enter 400ms cubic-bezier(0.6, 0.02, 0.65, 1) forwards}@keyframes bslib-full-screen-overlay-enter{0%{opacity:0}100%{opacity:1}}.bslib-grid{--_item-column-span: 1;display:grid !important;gap:var(--bslib-spacer, 1rem);height:var(--bslib-grid-height)}.bslib-grid>*{grid-column:auto/span var(--_item-column-span, 1)}.bslib-grid.grid{grid-template-columns:repeat(var(--bs-columns, 12), minmax(0, 1fr));grid-template-rows:unset;grid-auto-rows:var(--bslib-grid--row-heights);--bslib-grid--row-heights--xs: unset;--bslib-grid--row-heights--sm: unset;--bslib-grid--row-heights--md: unset;--bslib-grid--row-heights--lg: unset;--bslib-grid--row-heights--xl: unset;--bslib-grid--row-heights--xxl: unset}.bslib-grid.grid.bslib-grid--row-heights--xs{--bslib-grid--row-heights: var(--bslib-grid--row-heights--xs)}@media (min-width: 576px){.bslib-grid.grid.bslib-grid--row-heights--sm{--bslib-grid--row-heights: var(--bslib-grid--row-heights--sm)}}@media (min-width: 768px){.bslib-grid.grid.bslib-grid--row-heights--md{--bslib-grid--row-heights: var(--bslib-grid--row-heights--md)}}@media (min-width: 992px){.bslib-grid.grid.bslib-grid--row-heights--lg{--bslib-grid--row-heights: var(--bslib-grid--row-heights--lg)}}@media (min-width: 1200px){.bslib-grid.grid.bslib-grid--row-heights--xl{--bslib-grid--row-heights: var(--bslib-grid--row-heights--xl)}}@media (min-width: 1400px){.bslib-grid.grid.bslib-grid--row-heights--xxl{--bslib-grid--row-heights: var(--bslib-grid--row-heights--xxl)}}.bslib-grid>*>.shiny-input-container{width:100%}bslib-layout-columns.bslib-grid{--_item-column-span: 6}bslib-layout-columns[hidden-until-init]>*{display:none}@media (max-width: 767.98px){.bslib-grid>*{grid-column:1 / -1}}@media (max-width: 575.98px){.bslib-grid{grid-template-columns:1fr !important;height:var(--bslib-grid-height-mobile)}.bslib-grid.grid{height:unset !important}}@media (min-width: 576px){.nav:not(.nav-hidden){display:flex !important;display:-webkit-flex !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column){float:none !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column)>.bslib-nav-spacer{margin-left:auto !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column)>.form-inline{margin-top:auto;margin-bottom:auto}.nav:not(.nav-hidden).nav-stacked{flex-direction:column;-webkit-flex-direction:column;height:100%}.nav:not(.nav-hidden).nav-stacked>.bslib-nav-spacer{margin-top:auto !important}}.bslib-page-fill{width:100%;height:100%;margin:0;padding:var(--bslib-spacer, 1rem);gap:var(--bslib-spacer, 1rem)}@media (max-width: 575.98px){.bslib-flow-mobile>.html-fill-item{flex:0 0 auto}.bslib-flow-mobile.bslib-page-sidebar>.html-fill-item,.bslib-flow-mobile.bslib-page-navbar.has-page-sidebar>.html-fill-item{flex:1 1 auto}.bslib-flow-mobile.bslib-page-sidebar>.bslib-sidebar-layout>.main>.html-fill-item,.bslib-flow-mobile.bslib-page-navbar.has-page-sidebar>.html-fill-container>.bslib-sidebar-layout>.main>.html-fill-item{flex:0 0 auto}.bslib-flow-mobile.bslib-page-sidebar>.bslib-sidebar-layout:not(.sidebar-right)>.main,.bslib-flow-mobile.bslib-page-navbar.has-page-sidebar>.html-fill-container>.bslib-sidebar-layout:not(.sidebar-right)>.main{padding-left:var(--_padding-icon);padding-top:var(--_padding)}.bslib-flow-mobile.bslib-page-sidebar>.bslib-sidebar-layout:not(.sidebar-right)>.collapse-toggle,.bslib-flow-mobile.bslib-page-navbar.has-page-sidebar>.html-fill-container>.bslib-sidebar-layout:not(.sidebar-right)>.collapse-toggle{left:calc(var(--_icon-size) / 2)}.bslib-flow-mobile.bslib-page-sidebar>.bslib-sidebar-layout.sidebar-right>.main,.bslib-flow-mobile.bslib-page-navbar.has-page-sidebar>.html-fill-container>.bslib-sidebar-layout.sidebar-right>.main{padding-right:var(--_padding-icon)}.bslib-flow-mobile.bslib-page-sidebar>.bslib-sidebar-layout.sidebar-right>.collapse-toggle,.bslib-flow-mobile.bslib-page-navbar.has-page-sidebar>.html-fill-container>.bslib-sidebar-layout.sidebar-right>.collapse-toggle{right:calc(var(--_icon-size) / 2)}}.navbar+.container-fluid:has(>.tab-content>.tab-pane.active.html-fill-container){padding-left:0;padding-right:0}.navbar+.container-fluid>.tab-content>.tab-pane.active.html-fill-container{padding:var(--bslib-spacer, 1rem);gap:var(--bslib-spacer, 1rem)}.navbar+.container-fluid>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child){padding:0}.navbar+.container-fluid>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border="true"]){border-left:none;border-right:none;border-bottom:none}.navbar+.container-fluid>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius="true"]){border-radius:0}.navbar+div>.bslib-sidebar-layout{border-top:var(--bslib-sidebar-border)}:root{--bslib-page-sidebar-title-bg: #202020;--bslib-page-sidebar-title-color: #fff}.bslib-page-title{background-color:var(--bslib-page-sidebar-title-bg);color:var(--bslib-page-sidebar-title-color);font-size:1.5rem;font-weight:300;padding:var(--bslib-spacer, 1rem);padding-left:1.5rem;margin-bottom:0;border-bottom:1px solid #dee2e6}.bslib-sidebar-layout{--_transition-duration: 0;--_transition-easing-x: var(--bslib-sidebar-transition-easing-x, cubic-bezier(0.8, 0.78, 0.22, 1.07));--_border: var(--bslib-sidebar-border, var(--bs-card-border-width, var(--bs-border-width)) solid var(--bs-card-border-color, var(--bs-border-color-translucent)));--_border-radius: var(--bslib-sidebar-border-radius, var(--bs-border-radius));--_vert-border: var(--bslib-sidebar-vert-border, var(--_border));--_sidebar-width: var(--bslib-sidebar-width, 250px);--_sidebar-bg: var(--bslib-sidebar-bg, rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.05));--_sidebar-fg: var(--bslib-sidebar-fg, var(--bs-emphasis-color, black));--_main-fg: var(--bslib-sidebar-main-fg, var(--bs-card-color, var(--bs-body-color)));--_main-bg: var(--bslib-sidebar-main-bg, transparent);--_toggle-bg: var(--bslib-sidebar-toggle-bg, rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.1));--_padding: var(--bslib-sidebar-padding, calc(var(--bslib-spacer) * 1.5));--_icon-size: var(--bslib-sidebar-icon-size, var(--bslib-spacer, 1rem));--_icon-button-size: var(--bslib-sidebar-icon-button-size, calc(var(--_icon-size, 1rem) * 2));--_padding-icon: calc(var(--_icon-button-size, 2rem) * 1.5);--_toggle-border-radius: var(--bslib-collapse-toggle-border-radius, var(--bs-border-radius, 3px));--_toggle-transform: var(--bslib-collapse-toggle-transform, 0deg);--_toggle-transition-easing: var(--bslib-sidebar-toggle-transition-easing, cubic-bezier(1, 0, 0, 1));--_toggle-right-transform: var(--bslib-collapse-toggle-right-transform, 180deg);--_toggle-position-y: calc(var(--_js-toggle-count-this-side, 0) * calc(var(--_icon-size) + var(--_padding)) + var(--_icon-size, 1rem) / 2);--_toggle-position-x: calc(-2.5 * var(--_icon-size) - var(--bs-card-border-width, 1px));--_mobile-max-height: var(--bslib-sidebar-mobile-max-height, var(--bslib-sidebar-max-height-mobile));--_sidebar-mobile-opacity: var(--bslib-sidebar-mobile-opacity);--_sidebar-mobile-max-width: var(--bslib-sidebar-mobile-max-width);--_sidebar-mobile-box-shadow: var(--bslib-sidebar-mobile-box-shadow);--_column-main: minmax(0, 1fr);--_toggle-collective-height: calc(calc(var(--_icon-button-size) + 0.5em) * var(--_js-toggle-count-max-side, 1));display:grid !important;grid-template-columns:Min(calc(100% - var(--_padding-icon)), var(--_sidebar-width)) var(--_column-main);position:relative;transition:grid-template-columns ease-in-out var(--_transition-duration);border:var(--_border);border-radius:var(--_border-radius)}.bslib-sidebar-layout.transitioning{--_transition-duration: max(var(--bslib-sidebar-transition-duration, 300ms), 5ms)}@media (prefers-reduced-motion: reduce){.bslib-sidebar-layout{transition:none}}.bslib-sidebar-layout,.html-fill-container>.bslib-sidebar-layout.html-fill-item{min-height:var(--_toggle-collective-height)}.bslib-sidebar-layout[data-bslib-sidebar-border="false"]{border:none}.bslib-sidebar-layout[data-bslib-sidebar-border-radius="false"]{border-radius:initial}.bslib-sidebar-layout>.main,.bslib-sidebar-layout>.sidebar{grid-row:1 / 2;border-radius:inherit;overflow:auto}.bslib-sidebar-layout>.main{grid-column:2 / 3;border-top-left-radius:0;border-bottom-left-radius:0;padding:var(--_padding);transition:padding var(--_transition-easing-x) var(--_transition-duration);color:var(--_main-fg);background-color:var(--_main-bg)}.bslib-sidebar-layout>.sidebar{grid-column:1 / 2;width:100%;border-right:var(--_vert-border);border-top-right-radius:0;border-bottom-right-radius:0;color:var(--_sidebar-fg);background-color:var(--_sidebar-bg);backdrop-filter:blur(5px)}.bslib-sidebar-layout>.sidebar>.sidebar-content{display:flex;flex-direction:column;gap:var(--bslib-spacer, 1rem);padding:var(--_padding);padding-top:var(--_padding-icon)}.bslib-sidebar-layout>.sidebar>.sidebar-content>:last-child:not(.sidebar-title){margin-bottom:0}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion{margin-left:calc(-1 * var(--_padding));margin-right:calc(-1 * var(--_padding))}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:last-child{margin-bottom:calc(-1 * var(--_padding))}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:not(:last-child){margin-bottom:1rem}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-body{display:flex;flex-direction:column}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:not(:first-child) .accordion-item:first-child{border-top:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:not(:last-child) .accordion-item:last-child{border-bottom:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.bslib-sidebar-layout>.sidebar>.sidebar-content.has-accordion>.sidebar-title{border-bottom:none;padding-bottom:0}.bslib-sidebar-layout>.sidebar .shiny-input-container{width:100%}.bslib-sidebar-layout[data-bslib-sidebar-open="always"]>.sidebar>.sidebar-content{padding-top:var(--_padding)}.bslib-sidebar-layout>.collapse-toggle{grid-row:1 / 2;grid-column:1 / 2;display:inline-flex;align-items:center;position:absolute;right:calc(var(--_icon-size));top:calc(var(--_icon-size, 1rem) / 2);border:none;border-radius:var(--_toggle-border-radius);height:var(--_icon-button-size, 2rem);width:var(--_icon-button-size, 2rem);display:flex;align-items:center;justify-content:center;padding:0;color:var(--_sidebar-fg);background-color:unset;transition:color var(--_transition-easing-x) var(--_transition-duration),top var(--_transition-easing-x) var(--_transition-duration),right var(--_transition-easing-x) var(--_transition-duration),left var(--_transition-easing-x) var(--_transition-duration)}.bslib-sidebar-layout>.collapse-toggle:hover{background-color:var(--_toggle-bg)}.bslib-sidebar-layout>.collapse-toggle>.collapse-icon{opacity:0.8;width:var(--_icon-size);height:var(--_icon-size);transform:rotateY(var(--_toggle-transform));transition:transform var(--_toggle-transition-easing) var(--_transition-duration)}.bslib-sidebar-layout>.collapse-toggle:hover>.collapse-icon{opacity:1}.bslib-sidebar-layout .sidebar-title{font-size:1.25rem;line-height:1.25;margin-top:0;margin-bottom:1rem;padding-bottom:1rem;border-bottom:var(--_border)}.bslib-sidebar-layout.sidebar-right{grid-template-columns:var(--_column-main) Min(calc(100% - var(--_padding-icon)), var(--_sidebar-width))}.bslib-sidebar-layout.sidebar-right>.main{grid-column:1 / 2;border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:inherit;border-bottom-left-radius:inherit}.bslib-sidebar-layout.sidebar-right>.sidebar{grid-column:2 / 3;border-right:none;border-left:var(--_vert-border);border-top-left-radius:0;border-bottom-left-radius:0}.bslib-sidebar-layout.sidebar-right>.collapse-toggle{grid-column:2 / 3;left:var(--_icon-size);right:unset;border:var(--bslib-collapse-toggle-border)}.bslib-sidebar-layout.sidebar-right>.collapse-toggle>.collapse-icon{transform:rotateY(var(--_toggle-right-transform))}.bslib-sidebar-layout.transitioning>.sidebar>.sidebar-content{display:none}.bslib-sidebar-layout.sidebar-collapsed{--_toggle-transform: 180deg;--_toggle-right-transform: 0deg;--_vert-border: none;grid-template-columns:0 minmax(0, 1fr)}.bslib-sidebar-layout.sidebar-collapsed.sidebar-right{grid-template-columns:minmax(0, 1fr) 0}.bslib-sidebar-layout.sidebar-collapsed:not(.transitioning)>.sidebar>*{display:none}.bslib-sidebar-layout.sidebar-collapsed>.main{border-radius:inherit;padding-left:var(--_padding-icon);padding-right:var(--_padding-icon)}.bslib-sidebar-layout.sidebar-collapsed>.collapse-toggle{color:var(--_main-fg);top:var(--_toggle-position-y);right:var(--_toggle-position-x)}.bslib-sidebar-layout.sidebar-collapsed.sidebar-right>.collapse-toggle{left:var(--_toggle-position-x);right:unset}@media (max-width: 575.98px){.bslib-sidebar-layout[data-bslib-sidebar-open="desktop"]{--bslib-sidebar-js-init-collapsed: true}.bslib-sidebar-layout>.sidebar,.bslib-sidebar-layout.sidebar-right>.sidebar{border:none}.bslib-sidebar-layout>.main,.bslib-sidebar-layout.sidebar-right>.main{grid-column:1 / 3}.bslib-sidebar-layout[data-bslib-sidebar-open="always"]{display:block !important}.bslib-sidebar-layout[data-bslib-sidebar-open="always"]>.sidebar{max-height:var(--_mobile-max-height);overflow-y:auto;border-top:var(--_vert-border)}.bslib-sidebar-layout:not([data-bslib-sidebar-open="always"]){grid-template-columns:100% 0}.bslib-sidebar-layout:not([data-bslib-sidebar-open="always"]):not(.sidebar-collapsed)>.sidebar,.bslib-sidebar-layout:not([data-bslib-sidebar-open="always"]).transitioning>.sidebar{z-index:1}.bslib-sidebar-layout:not([data-bslib-sidebar-open="always"]):not(.sidebar-collapsed)>.collapse-toggle,.bslib-sidebar-layout:not([data-bslib-sidebar-open="always"]).transitioning>.collapse-toggle{z-index:1}.bslib-sidebar-layout:not([data-bslib-sidebar-open="always"]):not(.sidebar-right)>.collapse-toggle{left:var(--_icon-size);right:unset}.bslib-sidebar-layout:not([data-bslib-sidebar-open="always"]).sidebar-right>.collapse-toggle{right:var(--_icon-size);left:unset}.bslib-sidebar-layout:not([data-bslib-sidebar-open="always"])>.sidebar{opacity:var(--_sidebar-mobile-opacity, 1);max-width:var(--_sidebar-mobile-max-width, 100%);box-shadow:var(--_sidebar-mobile-box-shadow)}.bslib-sidebar-layout:not([data-bslib-sidebar-open="always"]):not(.sidebar-right)>.sidebar{margin-right:auto}.bslib-sidebar-layout:not([data-bslib-sidebar-open="always"]).sidebar-right>.sidebar{margin-left:auto}.bslib-sidebar-layout:not([data-bslib-sidebar-open="always"]).sidebar-right{grid-template-columns:0 100%}.bslib-sidebar-layout:not([data-bslib-sidebar-open="always"]).sidebar-collapsed{grid-template-columns:0 100%}.bslib-sidebar-layout:not([data-bslib-sidebar-open="always"]).sidebar-collapsed.sidebar-right{grid-template-columns:100% 0}.bslib-sidebar-layout:not([data-bslib-sidebar-open="always"])>.main{padding-top:var(--_toggle-collective-height);padding-left:var(--_padding);padding-right:var(--_padding)}}.bslib-value-box{container-name:bslib-value-box;container-type:inline-size}.bslib-value-box.default{--bslib-value-box-bg-default: var(--bs-card-bg, #fff);--bslib-value-box-border-color-default: var(--bs-card-border-color, var(--bs-border-color-translucent));color:var(--bslib-value-box-color, var(--bs-body-color));background-color:var(--bslib-value-box-bg, var(--bslib-value-box-bg-default));border-color:var(--bslib-value-box-border-color, var(--bslib-value-box-border-color-default))}.bslib-value-box .value-box-grid{display:grid;grid-template-areas:"left right";align-items:center;overflow:hidden}.bslib-value-box .value-box-showcase{height:100%;max-height:var(---bslib-value-box-showcase-max-h, 100%)}.bslib-value-box .value-box-showcase,.bslib-value-box .value-box-showcase>.html-fill-item{width:100%}.bslib-value-box[data-full-screen="true"] .value-box-showcase{max-height:var(---bslib-value-box-showcase-max-h-fs, 100%)}@media screen and (min-width: 575.98px){@container bslib-value-box (max-width: 300px){.bslib-value-box:not(.showcase-bottom) .value-box-grid{grid-template-columns:1fr !important;grid-template-rows:auto auto;grid-template-areas:"top" "bottom"}.bslib-value-box:not(.showcase-bottom) .value-box-grid .value-box-showcase{grid-area:top !important}.bslib-value-box:not(.showcase-bottom) .value-box-grid .value-box-area{grid-area:bottom !important;justify-content:end}}}.bslib-value-box .value-box-area{justify-content:center;padding:1.5rem 1rem;font-size:.9rem;font-weight:500}.bslib-value-box .value-box-area *{margin-bottom:0;margin-top:0}.bslib-value-box .value-box-title{font-size:1rem;margin-top:0;margin-bottom:.5rem;font-weight:400;line-height:1.2}.bslib-value-box .value-box-title:empty::after{content:'\00a0 '}.bslib-value-box .value-box-value{font-size:calc(1.325rem + .9vw);margin-top:0;margin-bottom:.5rem;font-weight:400;line-height:1.2}@media (min-width: 1200px){.bslib-value-box .value-box-value{font-size:2rem}}.bslib-value-box .value-box-value:empty::after{content:'\00a0 '}.bslib-value-box .value-box-showcase{align-items:center;justify-content:center;margin-top:auto;margin-bottom:auto;padding:1rem}.bslib-value-box .value-box-showcase .bi,.bslib-value-box .value-box-showcase .fa,.bslib-value-box .value-box-showcase .fab,.bslib-value-box .value-box-showcase .fas,.bslib-value-box .value-box-showcase .far{opacity:.85;min-width:50px;max-width:125%}.bslib-value-box .value-box-showcase .bi,.bslib-value-box .value-box-showcase .fa,.bslib-value-box .value-box-showcase .fab,.bslib-value-box .value-box-showcase .fas,.bslib-value-box .value-box-showcase .far{font-size:4rem}.bslib-value-box.showcase-top-right .value-box-grid{grid-template-columns:1fr var(---bslib-value-box-showcase-w, 50%)}.bslib-value-box.showcase-top-right .value-box-grid .value-box-showcase{grid-area:right;margin-left:auto;align-self:start;align-items:end;padding-left:0;padding-bottom:0}.bslib-value-box.showcase-top-right .value-box-grid .value-box-area{grid-area:left;align-self:end}.bslib-value-box.showcase-top-right[data-full-screen="true"] .value-box-grid{grid-template-columns:auto var(---bslib-value-box-showcase-w-fs, 1fr)}.bslib-value-box.showcase-top-right[data-full-screen="true"] .value-box-grid>div{align-self:center}.bslib-value-box.showcase-top-right:not([data-full-screen="true"]) .value-box-showcase{margin-top:0}@container bslib-value-box (max-width: 300px){.bslib-value-box.showcase-top-right:not([data-full-screen="true"]) .value-box-grid .value-box-showcase{padding-left:1rem}}.bslib-value-box.showcase-left-center .value-box-grid{grid-template-columns:var(---bslib-value-box-showcase-w, 30%) auto}.bslib-value-box.showcase-left-center[data-full-screen="true"] .value-box-grid{grid-template-columns:var(---bslib-value-box-showcase-w-fs, 1fr) auto}.bslib-value-box.showcase-left-center:not([data-fill-screen="true"]) .value-box-grid .value-box-showcase{grid-area:left}.bslib-value-box.showcase-left-center:not([data-fill-screen="true"]) .value-box-grid .value-box-area{grid-area:right}.bslib-value-box.showcase-bottom .value-box-grid{grid-template-columns:1fr;grid-template-rows:1fr var(---bslib-value-box-showcase-h, auto);grid-template-areas:"top" "bottom";overflow:hidden}.bslib-value-box.showcase-bottom .value-box-grid .value-box-showcase{grid-area:bottom;padding:0;margin:0}.bslib-value-box.showcase-bottom .value-box-grid .value-box-area{grid-area:top}.bslib-value-box.showcase-bottom[data-full-screen="true"] .value-box-grid{grid-template-rows:1fr var(---bslib-value-box-showcase-h-fs, 2fr)}.bslib-value-box.showcase-bottom[data-full-screen="true"] .value-box-grid .value-box-showcase{padding:1rem}
diff --git a/shiny/www/shared/bslib/components/components.min.js b/shiny/www/shared/bslib/components/components.min.js
index 17b4c08b3..61a5c5589 100644
--- a/shiny/www/shared/bslib/components/components.min.js
+++ b/shiny/www/shared/bslib/components/components.min.js
@@ -1,4 +1,4 @@
-/*! bslib 0.6.1 | (c) 2012-2023 RStudio, PBC. | License: MIT + file LICENSE */
+/*! bslib 0.6.1.9000 | (c) 2012-2023 RStudio, PBC. | License: MIT + file LICENSE */
"use strict";(()=>{var f=(r,e)=>()=>(r&&(e=r(r=0)),e);var x=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports);var h=(r,e,t)=>new Promise((n,s)=>{var i=o=>{try{d(t.next(o))}catch(p){s(p)}},c=o=>{try{d(t.throw(o))}catch(p){s(p)}},d=o=>o.done?n(o.value):Promise.resolve(o.value).then(i,c);d((t=t.apply(r,e)).next())});function L(r,e){window.Shiny&&Shiny.inputBindings.register(new r,"bslib."+e)}function E(r,e){return Object.prototype.hasOwnProperty.call(r,e)&&r[e]!==void 0}function w(r){let e=["a[href]","area[href]","button","details summary","input","iframe","select","textarea",'[contentEditable=""]','[contentEditable="true"]','[contentEditable="TRUE"]',"[tabindex]"],t=[':not([tabindex="-1"])',":not([disabled])"],n=e.map(i=>i+t.join("")),s=r.querySelectorAll(n.join(", "));return Array.from(s)}function g(...r){return h(this,null,function*(){if(!window.Shiny)throw new Error("This function must be called in a Shiny app.");return Shiny.renderContentAsync?yield Shiny.renderContentAsync.apply(null,r):yield Shiny.renderContent.apply(null,r)})}var b,v=f(()=>{"use strict";b=window.Shiny?Shiny.InputBinding:class{}});var M,H=f(()=>{"use strict";v();M=class extends b{find(e){return $(e).find(".accordion.bslib-accordion-input")}getValue(e){let n=this._getItemInfo(e).filter(s=>s.isOpen()).map(s=>s.value);return n.length===0?null:n}subscribe(e,t){$(e).on("shown.bs.collapse.accordionInputBinding hidden.bs.collapse.accordionInputBinding",function(n){t(!0)})}unsubscribe(e){$(e).off(".accordionInputBinding")}receiveMessage(e,t){return h(this,null,function*(){let n=t.method;if(n==="set")this._setItems(e,t);else if(n==="open")this._openItems(e,t);else if(n==="close")this._closeItems(e,t);else if(n==="remove")this._removeItem(e,t);else if(n==="insert")yield this._insertItem(e,t);else if(n==="update")yield this._updateItem(e,t);else throw new Error(`Method not yet implemented: ${n}`)})}_setItems(e,t){let n=this._getItemInfo(e),s=this._getValues(e,n,t.values);n.forEach(i=>{s.indexOf(i.value)>-1?i.show():i.hide()})}_openItems(e,t){let n=this._getItemInfo(e),s=this._getValues(e,n,t.values);n.forEach(i=>{s.indexOf(i.value)>-1&&i.show()})}_closeItems(e,t){let n=this._getItemInfo(e),s=this._getValues(e,n,t.values);n.forEach(i=>{s.indexOf(i.value)>-1&&i.hide()})}_insertItem(e,t){return h(this,null,function*(){let n=this._findItem(e,t.target);n||(n=t.position==="before"?e.firstElementChild:e.lastElementChild);let s=t.panel;if(n?yield g(n,s,t.position==="before"?"beforeBegin":"afterEnd"):yield g(e,s),this._isAutoClosing(e)){let i=$(s.html).attr("data-value");$(e).find(`[data-value="${i}"] .accordion-collapse`).attr("data-bs-parent","#"+e.id)}})}_removeItem(e,t){let n=this._getItemInfo(e).filter(i=>t.target.indexOf(i.value)>-1),s=Shiny==null?void 0:Shiny.unbindAll;n.forEach(i=>{s&&s(i.item),i.item.remove()})}_updateItem(e,t){return h(this,null,function*(){let n=this._findItem(e,t.target);if(!n)throw new Error(`Unable to find an accordion_panel() with a value of ${t.target}`);if(E(t,"value")&&(n.dataset.value=t.value),E(t,"body")){let i=n.querySelector(".accordion-body");yield g(i,t.body)}let s=n.querySelector(".accordion-header");if(E(t,"title")){let i=s.querySelector(".accordion-title");yield g(i,t.title)}if(E(t,"icon")){let i=s.querySelector(".accordion-button > .accordion-icon");yield g(i,t.icon)}})}_getItemInfo(e){return Array.from(e.querySelectorAll(":scope > .accordion-item")).map(n=>this._getSingleItemInfo(n))}_getSingleItemInfo(e){let t=e.querySelector(".accordion-collapse"),n=()=>$(t).hasClass("show");return{item:e,value:e.dataset.value,isOpen:n,show:()=>{n()||$(t).collapse("show")},hide:()=>{n()&&$(t).collapse("hide")}}}_getValues(e,t,n){let s=n!==!0?n:t.map(c=>c.value);return this._isAutoClosing(e)&&(s=s.slice(s.length-1,s.length)),s}_findItem(e,t){return e.querySelector(`[data-value="${t}"]`)}_isAutoClosing(e){return e.classList.contains("autoclose")}};L(M,"accordion")});var y,T=f(()=>{"use strict";y=class{constructor(){this.resizeObserverEntries=[],this.resizeObserver=new ResizeObserver(e=>{let t=new Event("resize");if(window.dispatchEvent(t),!window.Shiny)return;let n=[];for(let s of e)s.target instanceof HTMLElement&&s.target.querySelector(".shiny-bound-output")&&s.target.querySelectorAll(".shiny-bound-output").forEach(i=>{if(n.includes(i))return;let{binding:c,onResize:d}=$(i).data("shinyOutputBinding");if(!c||!c.resize)return;let o=i.shinyResizeObserver;if(o&&o!==this||(o||(i.shinyResizeObserver=this),d(i),n.push(i),!i.classList.contains("shiny-plot-output")))return;let p=i.querySelector('img:not([width="100%"])');p&&p.setAttribute("width","100%")})})}observe(e){this.resizeObserver.observe(e),this.resizeObserverEntries.push(e)}unobserve(e){let t=this.resizeObserverEntries.indexOf(e);t<0||(this.resizeObserver.unobserve(e),this.resizeObserverEntries.splice(t,1))}flush(){this.resizeObserverEntries.forEach(e=>{document.body.contains(e)||this.unobserve(e)})}}});var a,m,I=f(()=>{"use strict";v();T();a=class{constructor(e){var t;e.removeAttribute(a.attr.ATTR_INIT),(t=e.querySelector(`script[${a.attr.ATTR_INIT}]`))==null||t.remove(),this.card=e,a.instanceMap.set(e,this),a.shinyResizeObserver.observe(this.card),this._addEventListeners(),this.overlay=this._createOverlay(),this._exitFullScreenOnEscape=this._exitFullScreenOnEscape.bind(this),this._trapFocusExit=this._trapFocusExit.bind(this)}enterFullScreen(e){var t;e&&e.preventDefault(),document.addEventListener("keydown",this._exitFullScreenOnEscape,!1),document.addEventListener("keydown",this._trapFocusExit,!0),this.card.setAttribute(a.attr.ATTR_FULL_SCREEN,"true"),document.body.classList.add(a.attr.CLASS_HAS_FULL_SCREEN),this.card.insertAdjacentElement("beforebegin",this.overlay.container),(!this.card.contains(document.activeElement)||(t=document.activeElement)!=null&&t.classList.contains(a.attr.CLASS_FULL_SCREEN_ENTER))&&(this.card.setAttribute("tabindex","-1"),this.card.focus())}exitFullScreen(){document.removeEventListener("keydown",this._exitFullScreenOnEscape,!1),document.removeEventListener("keydown",this._trapFocusExit,!0),this.overlay.container.remove(),this.card.setAttribute(a.attr.ATTR_FULL_SCREEN,"false"),this.card.removeAttribute("tabindex"),document.body.classList.remove(a.attr.CLASS_HAS_FULL_SCREEN)}_addEventListeners(){let e=this.card.querySelector(`:scope > * > .${a.attr.CLASS_FULL_SCREEN_ENTER}`);e&&e.addEventListener("click",t=>this.enterFullScreen(t))}_exitFullScreenOnEscape(e){if(!(e.target instanceof HTMLElement))return;let t=["select[open]","input[aria-expanded='true']"];e.target.matches(t.join(", "))||e.key==="Escape"&&this.exitFullScreen()}_trapFocusExit(e){if(!(e instanceof KeyboardEvent)||e.key!=="Tab")return;let t=e.target===this.card,n=e.target===this.overlay.anchor,s=this.card.contains(e.target),i=()=>{e.preventDefault(),e.stopImmediatePropagation()};if(!(s||t||n)){i(),this.card.focus();return}let c=w(this.card).filter(S=>!S.classList.contains(a.attr.CLASS_FULL_SCREEN_ENTER));if(!(c.length>0)){i(),this.overlay.anchor.focus();return}if(t)return;let o=c[c.length-1],p=e.target===o;if(n&&e.shiftKey){i(),o.focus();return}if(p&&!e.shiftKey){i(),this.overlay.anchor.focus();return}}_createOverlay(){let e=document.createElement("div");e.id=a.attr.ID_FULL_SCREEN_OVERLAY,e.onclick=this.exitFullScreen.bind(this);let t=this._createOverlayCloseAnchor();return e.appendChild(t),{container:e,anchor:t}}_createOverlayCloseAnchor(){let e=document.createElement("a");return e.classList.add(a.attr.CLASS_FULL_SCREEN_EXIT),e.tabIndex=0,e.onclick=()=>this.exitFullScreen(),e.onkeydown=t=>{(t.key==="Enter"||t.key===" ")&&this.exitFullScreen()},e.innerHTML=this._overlayCloseHtml(),e}_overlayCloseHtml(){return"Close "}static getInstance(e){return a.instanceMap.get(e)}static initializeAllCards(e=!0){if(document.readyState==="loading"){a.onReadyScheduled||(a.onReadyScheduled=!0,document.addEventListener("DOMContentLoaded",()=>{a.initializeAllCards(!1)}));return}e&&a.shinyResizeObserver.flush();let t=`.${a.attr.CLASS_CARD}[${a.attr.ATTR_INIT}]`;if(!document.querySelector(t))return;document.querySelectorAll(t).forEach(s=>new a(s))}},m=a;m.attr={ATTR_INIT:"data-bslib-card-init",CLASS_CARD:"bslib-card",ATTR_FULL_SCREEN:"data-full-screen",CLASS_HAS_FULL_SCREEN:"bslib-has-full-screen",CLASS_FULL_SCREEN_ENTER:"bslib-full-screen-enter",CLASS_FULL_SCREEN_EXIT:"bslib-full-screen-exit",ID_FULL_SCREEN_OVERLAY:"bslib-full-screen-overlay"},m.shinyResizeObserver=new y,m.instanceMap=new WeakMap,m.onReadyScheduled=!1;window.bslib=window.bslib||{};window.bslib.Card=m});var l,u,C,A=f(()=>{"use strict";v();T();l=class{constructor(e){var s;l.instanceMap.set(e,this),this.layout={container:e,main:e.querySelector(":scope > .main"),sidebar:e.querySelector(":scope > .sidebar"),toggle:e.querySelector(":scope > .collapse-toggle")};let t=this.layout.sidebar.querySelector(":scope > .sidebar-content > .accordion");t&&((s=t==null?void 0:t.parentElement)==null||s.classList.add("has-accordion"),t.classList.add("accordion-flush")),this.layout.toggle&&(this._initEventListeners(),this._initSidebarCounters(),this._initDesktop()),l.shinyResizeObserver.observe(this.layout.main),e.removeAttribute("data-bslib-sidebar-init");let n=e.querySelector(":scope > script[data-bslib-sidebar-init]");n&&e.removeChild(n)}get isClosed(){return this.layout.container.classList.contains(l.classes.COLLAPSE)}static getInstance(e){return l.instanceMap.get(e)}static initCollapsibleAll(e=!0){if(document.readyState==="loading"){l.onReadyScheduled||(l.onReadyScheduled=!0,document.addEventListener("DOMContentLoaded",()=>{l.initCollapsibleAll(!1)}));return}let t=`.${l.classes.LAYOUT}[data-bslib-sidebar-init]`;if(!document.querySelector(t))return;e&&l.shinyResizeObserver.flush(),document.querySelectorAll(t).forEach(s=>new l(s))}_initEventListeners(){var t;let{toggle:e}=this.layout;e.addEventListener("click",n=>{n.preventDefault(),this.toggle("toggle")}),(t=e.querySelector(".collapse-icon"))==null||t.addEventListener("transitionend",()=>this._finalizeState())}_initSidebarCounters(){let{container:e}=this.layout,t=`.${l.classes.LAYOUT}> .main > .${l.classes.LAYOUT}:not([data-bslib-sidebar-open="always"])`;if(!(e.querySelector(t)===null))return;function s(o){return o=o?o.parentElement:null,o&&o.classList.contains("main")&&(o=o.parentElement),o&&o.classList.contains(l.classes.LAYOUT)?o:null}let i=[e],c=s(e);for(;c;)i.unshift(c),c=s(c);let d={left:0,right:0};i.forEach(function(o){let S=o.classList.contains("sidebar-right")?d.right++:d.left++;o.style.setProperty("--_js-toggle-count-this-side",S.toString()),o.style.setProperty("--_js-toggle-count-max-side",Math.max(d.right,d.left).toString())})}_initDesktop(){var s;let{container:e}=this.layout;if(((s=e.dataset.bslibSidebarOpen)==null?void 0:s.trim())!=="desktop")return;let n=window.getComputedStyle(e).getPropertyValue("--bslib-sidebar-js-init-collapsed").trim()==="true"?"close":"open";this.toggle(n,!0)}toggle(e,t=!1){typeof e=="undefined"&&(e="toggle");let{container:n,sidebar:s}=this.layout,i=this.isClosed;if(["open","close","toggle"].indexOf(e)===-1)throw new Error(`Unknown method ${e}`);if(e==="toggle"&&(e=i?"open":"close"),i&&e==="close"||!i&&e==="open"){t&&this._finalizeState();return}e==="open"&&(s.hidden=!1),n.classList.toggle(l.classes.TRANSITIONING,!t),n.classList.toggle(l.classes.COLLAPSE),t&&this._finalizeState()}_finalizeState(){let{container:e,sidebar:t,toggle:n}=this.layout;e.classList.remove(l.classes.TRANSITIONING),t.hidden=this.isClosed,n.setAttribute("aria-expanded",this.isClosed?"false":"true");let s=new CustomEvent("bslib.sidebar",{bubbles:!0,detail:{open:!this.isClosed}});t.dispatchEvent(s),$(t).trigger("toggleCollapse.sidebarInputBinding"),$(t).trigger(this.isClosed?"hidden":"shown")}},u=l;u.shinyResizeObserver=new y,u.classes={LAYOUT:"bslib-sidebar-layout",COLLAPSE:"sidebar-collapsed",TRANSITIONING:"transitioning"},u.onReadyScheduled=!1,u.instanceMap=new WeakMap;C=class extends b{find(e){return $(e).find(`.${u.classes.LAYOUT} > .bslib-sidebar-input`)}getValue(e){let t=u.getInstance(e.parentElement);return t?!t.isClosed:!1}setValue(e,t){let n=t?"open":"close";this.receiveMessage(e,{method:n})}subscribe(e,t){$(e).on("toggleCollapse.sidebarInputBinding",function(n){t(!0)})}unsubscribe(e){$(e).off(".sidebarInputBinding")}receiveMessage(e,t){let n=u.getInstance(e.parentElement);n&&n.toggle(t.method)}};L(C,"sidebar");window.bslib=window.bslib||{};window.bslib.Sidebar=u});function O(r){if(window.Shiny)for(let[e,t]of Object.entries(r))Shiny.addCustomMessageHandler(e,t)}var _=f(()=>{"use strict"});var N=x(F=>{H();I();A();v();_();var z={"bslib.toggle-input-binary":r=>h(F,null,function*(){let e=document.getElementById(r.id);e||console.warn("[bslib.toggle-input-binary] No element found",r);let t=$(e).data("shiny-input-binding");if(!(t instanceof b)){console.warn("[bslib.toggle-input-binary] No input binding found",r);return}let n=r.value;typeof n=="undefined"&&(n=!t.getValue(e)),yield t.receiveMessage(e,{value:n})})};window.Shiny&&O(z);function R(){let r=document.createElement("div");r.innerHTML=`
- `}onClick(e){e.stopPropagation(),this.mode=this.mode==="light"?"dark":"light"}updated(e){e.has("mode")&&(this.reflectPreference(),this.onChangeCallback(!0))}reflectPreference(){document.documentElement.setAttribute(this.attribute,this.mode),window.dispatchEvent(new Event("resize"))}};E.isShinyInput=!0,E.tagName="bslib-input-dark-mode",E.shinyCustomMessageHandlers={"bslib.toggle-dark-mode":({method:e,value:i})=>{e==="toggle"&&((typeof i=="undefined"||i===null)&&(i=(document.documentElement.dataset.bsTheme||"light")==="light"?"dark":"light"),document.documentElement.dataset.bsTheme=i)}},E.styles=[A`
+ `}onClick(e){e.stopPropagation(),this.mode=this.mode==="light"?"dark":"light"}updated(e){e.has("mode")&&(this.reflectPreference(),this.onChangeCallback(!0))}reflectPreference(){document.documentElement.setAttribute(this.attribute,this.mode),window.dispatchEvent(new Event("resize"))}};_.isShinyInput=!0,_.tagName="bslib-input-dark-mode",_.shinyCustomMessageHandlers={"bslib.toggle-dark-mode":({method:e,value:i})=>{e==="toggle"&&((typeof i=="undefined"||i===null)&&(i=(document.documentElement.dataset.bsTheme||"light")==="light"?"dark":"light"),document.documentElement.dataset.bsTheme=i)}},_.styles=[S`
:host {
/* open-props.style via shinycomponent */
--text-1: var(--text-1-light, var(--gray-8, #343a40));
@@ -67,7 +67,7 @@
the button up or down to keep it looking right inline */
--vertical-correction: calc((var(--size) - 1em) / 2);
}
- `,A`
+ `,S`
.sun-and-moon > :is(.moon, .sun, .sun-beams) {
transform-origin: center center;
}
@@ -113,7 +113,7 @@
cx: 15;
}
}
- `,A`
+ `,S`
.sun-and-moon > .sun {
transition: transform var(--speed-fast) var(--ease-in-out-2)
var(--speed-fast),
@@ -156,7 +156,7 @@
opacity var(--speed-fast) var(--ease-out-1);
transition-delay: 0s;
}
- `,A`
+ `,S`
:host {
display: inline-block;
@@ -206,7 +206,7 @@
svg circle {
vector-effect: non-scaling-stroke;
}
- `],C([g({type:String,reflect:!0})],E.prototype,"mode",2);function qe(n,{type:t=null}={}){if(!window.Shiny)return;class e extends Shiny.InputBinding{constructor(){super()}find(s){return $(s).find(n)}getValue(s){return"getValue"in s?s.getValue():s.value}getType(s){return t}subscribe(s,r){s.onChangeCallback=r}unsubscribe(s){s.onChangeCallback=r=>{}}receiveMessage(s,r){s.receiveMessage(s,r)}}Shiny.inputBindings.register(new e,`${n}-Binding`)}function je(n){if(window.Shiny)for(let[t,e]of Object.entries(n))Shiny.addCustomMessageHandler(t,e)}[b,y,E].forEach(n=>{customElements.define(n.tagName,n),window.Shiny&&(n.isShinyInput&&qe(n.tagName),"shinyCustomMessageHandlers"in n&&je(n.shinyCustomMessageHandlers))});})();
+ `],A([g({type:String,reflect:!0})],_.prototype,"mode",2);function Ge(n,{type:t=null}={}){if(!window.Shiny)return;class e extends Shiny.InputBinding{constructor(){super()}find(s){return $(s).find(n)}getValue(s){return"getValue"in s?s.getValue():s.value}getType(s){return t}subscribe(s,r){s.onChangeCallback=r}unsubscribe(s){s.onChangeCallback=r=>{}}receiveMessage(s,r){s.receiveMessage(s,r)}}Shiny.inputBindings.register(new e,`${n}-Binding`)}function Je(n){if(window.Shiny)for(let[t,e]of Object.entries(n))Shiny.addCustomMessageHandler(t,e)}var Ae=class extends HTMLElement{constructor(){super(...arguments);this._colUnits=12}static defaultColWidths(){return new Map(Object.entries({sm:null,lg:null}))}get colUnits(){return this._colUnits}set colUnits(e){this.style.setProperty("--bs-columns",`${e}`),this._colUnits=e}setFallbackItemSpan(e){this.style.setProperty("--_item-column-span",`${e}`)}connectedCallback(){this.classList.add("grid"),this.colWidths=this._readColWidths(),setTimeout(()=>{this._applyColWidthsSpec(),this.removeAttribute("hidden-until-init")})}_readColWidths(){let e=ut(this,"col-widths-");if(!e.size)return Ae.defaultColWidths();let i=new Map,s=["sm","md","lg","xl","xxl"],r=o=>["null","true",""].includes(o)?null:Array.from(o.split(",").map(Number));return s.forEach(o=>{let c=`col-widths-${o}`,a=e.get(c);typeof a!="undefined"&&(i.set(o,r(a)),e.delete(c))}),e.forEach((o,c)=>{i.set(c.replace("col-widths-",""),r(o))}),i}_resolveColWidthsSpec(){let e=Array.from(this.colWidths.values()).map(we),i=l=>l.every(h=>h===!0);if(!(l=>l.some(h=>h===!0))(e))return Qe(this.colWidths);let r=new Map,o=i(e),c=o?null:12,a=this.children.length;for(let[l,h]of this.colWidths)if(h===null){let p=["sm","md"].includes(l),d=ct(a,p,c);o&&(this.colUnits=d.units,d.units!==12&&this.setFallbackItemSpan(d.units>a?a:1)),r.set(l,d.widths)}else r.set(l,h);return Qe(r)}_applyColWidthsSpec(){if(this.colWidthsSpec||(this.colWidthsSpec=this._resolveColWidthsSpec()),!this.colWidthsSpec)throw new Error("Column widths must be specified.");let e=this.children;pt(this.colWidthsSpec,e,this.colUnits)}},B=Ae;B.tagName="bslib-layout-columns",B.isShinyInput=!1;function ct(n,t=!1,e=null){let i={units:e,widths:[0]};if(we(i.units)){if(i.units=n>7?12:n>3?n*2:n,n<4)return i.widths=[1],i;if(n<=7)return i.widths=[t?n:2],i}if(i.units===12){if(n<=3)return i.widths=[[12,6,4][n-1]],i;if(n===5||n===7)return i.widths=[t?4:3],i;if(n===6)return i.widths=[t?4:2],i}let s=t?[6,4,3]:[2,3,4],r=s.map(l=>l*n),a=r.map(l=>Math.ceil(l/12)).map(l=>l*12).map((l,h)=>l-r[h]);return i.widths=[s[a.indexOf(Math.min(...a))]],i}function Qe(n){if(!(n instanceof Map))throw new Error("Column widths must be specified as a Map or an object.");let t=new Map;for(let[e,i]of n){if(i.some(d=>d===0))throw new Error("Column values must be greater than 0 to indicate width, or negative to indicate a column offset.");if(i.length>1&&i.some(d=>isNaN(d)))throw new Error("Cannot mix widths and missing values. All column widths must be specified, or choose auto widths using a single `null` value.");if(i.every(d=>we(d))||i.every(d=>d>0)){t.set(e,{width:i,before:Array(i.length).fill(0),after:Array(i.length).fill(0)});continue}if(!i.some(d=>d>0))throw new Error("Column values must include at least one positive integer width.");let s=i.map((d,m)=>d>0?m:-1).filter(d=>d!==-1),r=Math.max(...s),o=s.length,c=s.map(d=>i[d]),a=Array(o).fill(0),l=Array(o).fill(0),h=0,p=0;for(;h0?p++:h>r?l[l.length-1]+=Math.abs(i[h]):a[p]+=Math.abs(i[h]),h++;t.set(e,{width:c,before:a,after:l})}return t}function pt(n,t,e=12){let i=t.length;function s(r,o){t[r].classList.add(o)}for(let[r,o]of n){if(o.width.length>i){let d=`Truncating number of widths at '${r}' breakpoint to match number of elements.`;console.warn(d,{widths:o.width.length,elements:i})}let c=Ce(o.width,i),a=Ce(o.before,i),l=Ce(o.after,i),h=0,p=(d,m=!1)=>{h=Math.abs(h);let v=h+d;v==e&&(v=0),v>e&&(v=m?-1*(v%e):d),h=v};for(let d=0;d0?l[d-1]:0),C=Math.min(c[d],e),Se=e-h;v>0&&(p(v,!0),h<0&&(h=Math.abs(h),c[d]>e-h&&(h=0),Se=0),m=Se>=c[d]||h>0),h>0&&h+c[d]>e&&(m=!0,h=0),m&&s(d,r==="xs"?`g-start-${h+1}`:`g-start-${r}-${h+1}`),s(d,r==="xs"?`g-col-${C}`:`g-col-${r}-${C}`),p(C,!1)}}}function ut(n,t){let e=new Map,i=n.getAttributeNames().filter(s=>s.startsWith(t));for(let s of i)e.set(s,n.getAttribute(s));return e}function Ce(n,t){let e=Array(t).fill(0);for(let i=0;i{customElements.define(n.tagName,n),window.Shiny&&(n.isShinyInput&&Ge(n.tagName),"shinyCustomMessageHandlers"in n&&Je(n.shinyCustomMessageHandlers))});})();
/*! Bundled license information:
@lit/reactive-element/decorators/custom-element.js:
diff --git a/shiny/www/shared/bslib/components/web-components.min.js.map b/shiny/www/shared/bslib/components/web-components.min.js.map
index 71db59d16..6563deccd 100644
--- a/shiny/www/shared/bslib/components/web-components.min.js.map
+++ b/shiny/www/shared/bslib/components/web-components.min.js.map
@@ -1,7 +1,7 @@
{
"version": 3,
- "sources": ["../../../node_modules/@lit/reactive-element/src/decorators/property.ts", "../../../node_modules/@lit/reactive-element/src/decorators/query-assigned-elements.ts", "../../../node_modules/@lit/reactive-element/src/css-tag.ts", "../../../node_modules/@lit/reactive-element/src/reactive-element.ts", "../../../node_modules/lit-html/src/lit-html.ts", "../../../node_modules/lit-element/src/lit-element.ts", "../../../srcts/src/components/webcomponents/_bslibElement.ts", "../../../srcts/src/components/_utilsTooltip.ts", "../../../srcts/src/components/_shinyResizeObserver.ts", "../../../srcts/src/components/webcomponents/tooltip.ts", "../../../srcts/src/components/webcomponents/popover.ts", "../../../srcts/src/components/webcomponents/inputDarkMode.ts", "../../../srcts/src/components/webcomponents/_makeInputBinding.ts", "../../../srcts/src/components/_shinyAddCustomMessageHandlers.ts", "../../../srcts/src/components/webcomponents/index.ts"],
- "sourcesContent": ["/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/*\n * IMPORTANT: For compatibility with tsickle and the Closure JS compiler, all\n * property decorators (but not class decorators) in this file that have\n * an @ExportDecoratedItems annotation must be defined as a regular function,\n * not an arrow function.\n */\nimport {PropertyDeclaration, ReactiveElement} from '../reactive-element.js';\nimport {ClassElement} from './base.js';\n\nconst standardProperty = (\n options: PropertyDeclaration,\n element: ClassElement\n) => {\n // When decorating an accessor, pass it through and add property metadata.\n // Note, the `hasOwnProperty` check in `createProperty` ensures we don't\n // stomp over the user's accessor.\n if (\n element.kind === 'method' &&\n element.descriptor &&\n !('value' in element.descriptor)\n ) {\n return {\n ...element,\n finisher(clazz: typeof ReactiveElement) {\n clazz.createProperty(element.key, options);\n },\n };\n } else {\n // createProperty() takes care of defining the property, but we still\n // must return some kind of descriptor, so return a descriptor for an\n // unused prototype field. The finisher calls createProperty().\n return {\n kind: 'field',\n key: Symbol(),\n placement: 'own',\n descriptor: {},\n // store the original key so subsequent decorators have access to it.\n originalKey: element.key,\n // When @babel/plugin-proposal-decorators implements initializers,\n // do this instead of the initializer below. See:\n // https://github.com/babel/babel/issues/9260 extras: [\n // {\n // kind: 'initializer',\n // placement: 'own',\n // initializer: descriptor.initializer,\n // }\n // ],\n initializer(this: {[key: string]: unknown}) {\n if (typeof element.initializer === 'function') {\n this[element.key as string] = element.initializer.call(this);\n }\n },\n finisher(clazz: typeof ReactiveElement) {\n clazz.createProperty(element.key, options);\n },\n };\n }\n};\n\nconst legacyProperty = (\n options: PropertyDeclaration,\n proto: Object,\n name: PropertyKey\n) => {\n (proto.constructor as typeof ReactiveElement).createProperty(name, options);\n};\n\n/**\n * A property decorator which creates a reactive property that reflects a\n * corresponding attribute value. When a decorated property is set\n * the element will update and render. A {@linkcode PropertyDeclaration} may\n * optionally be supplied to configure property features.\n *\n * This decorator should only be used for public fields. As public fields,\n * properties should be considered as primarily settable by element users,\n * either via attribute or the property itself.\n *\n * Generally, properties that are changed by the element should be private or\n * protected fields and should use the {@linkcode state} decorator.\n *\n * However, sometimes element code does need to set a public property. This\n * should typically only be done in response to user interaction, and an event\n * should be fired informing the user; for example, a checkbox sets its\n * `checked` property when clicked and fires a `changed` event. Mutating public\n * properties should typically not be done for non-primitive (object or array)\n * properties. In other cases when an element needs to manage state, a private\n * property decorated via the {@linkcode state} decorator should be used. When\n * needed, state properties can be initialized via public properties to\n * facilitate complex interactions.\n *\n * ```ts\n * class MyElement {\n * @property({ type: Boolean })\n * clicked = false;\n * }\n * ```\n * @category Decorator\n * @ExportDecoratedItems\n */\nexport function property(options?: PropertyDeclaration) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (protoOrDescriptor: Object | ClassElement, name?: PropertyKey): any =>\n name !== undefined\n ? legacyProperty(options!, protoOrDescriptor as Object, name)\n : standardProperty(options!, protoOrDescriptor as ClassElement);\n}\n", "/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/*\n * IMPORTANT: For compatibility with tsickle and the Closure JS compiler, all\n * property decorators (but not class decorators) in this file that have\n * an @ExportDecoratedItems annotation must be defined as a regular function,\n * not an arrow function.\n */\n\nimport {decorateProperty} from './base.js';\n\nimport type {ReactiveElement} from '../reactive-element.js';\nimport type {QueryAssignedNodesOptions} from './query-assigned-nodes.js';\n\nconst NODE_MODE = false;\nconst global = NODE_MODE ? globalThis : window;\n\n/**\n * A tiny module scoped polyfill for HTMLSlotElement.assignedElements.\n */\nconst slotAssignedElements =\n global.HTMLSlotElement?.prototype.assignedElements != null\n ? (slot: HTMLSlotElement, opts?: AssignedNodesOptions) =>\n slot.assignedElements(opts)\n : (slot: HTMLSlotElement, opts?: AssignedNodesOptions) =>\n slot\n .assignedNodes(opts)\n .filter(\n (node): node is Element => node.nodeType === Node.ELEMENT_NODE\n );\n\n/**\n * Options for the {@linkcode queryAssignedElements} decorator. Extends the\n * options that can be passed into\n * [HTMLSlotElement.assignedElements](https://developer.mozilla.org/en-US/docs/Web/API/HTMLSlotElement/assignedElements).\n */\nexport interface QueryAssignedElementsOptions\n extends QueryAssignedNodesOptions {\n /**\n * CSS selector used to filter the elements returned. For example, a selector\n * of `\".item\"` will only include elements with the `item` class.\n */\n selector?: string;\n}\n\n/**\n * A property decorator that converts a class property into a getter that\n * returns the `assignedElements` of the given `slot`. Provides a declarative\n * way to use\n * [`HTMLSlotElement.assignedElements`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLSlotElement/assignedElements).\n *\n * Can be passed an optional {@linkcode QueryAssignedElementsOptions} object.\n *\n * Example usage:\n * ```ts\n * class MyElement {\n * @queryAssignedElements({ slot: 'list' })\n * listItems!: Array;\n * @queryAssignedElements()\n * unnamedSlotEls!: Array;\n *\n * render() {\n * return html`\n * \n * \n * `;\n * }\n * }\n * ```\n *\n * Note, the type of this property should be annotated as `Array`.\n *\n * @category Decorator\n */\nexport function queryAssignedElements(options?: QueryAssignedElementsOptions) {\n const {slot, selector} = options ?? {};\n return decorateProperty({\n descriptor: (_name: PropertyKey) => ({\n get(this: ReactiveElement) {\n const slotSelector = `slot${slot ? `[name=${slot}]` : ':not([name])'}`;\n const slotEl =\n this.renderRoot?.querySelector(slotSelector);\n const elements =\n slotEl != null ? slotAssignedElements(slotEl, options) : [];\n if (selector) {\n return elements.filter((node) => node.matches(selector));\n }\n return elements;\n },\n enumerable: true,\n configurable: true,\n }),\n });\n}\n", "/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nconst NODE_MODE = false;\nconst global = NODE_MODE ? globalThis : window;\n\n/**\n * Whether the current browser supports `adoptedStyleSheets`.\n */\nexport const supportsAdoptingStyleSheets: boolean =\n global.ShadowRoot &&\n (global.ShadyCSS === undefined || global.ShadyCSS.nativeShadow) &&\n 'adoptedStyleSheets' in Document.prototype &&\n 'replace' in CSSStyleSheet.prototype;\n\n/**\n * A CSSResult or native CSSStyleSheet.\n *\n * In browsers that support constructible CSS style sheets, CSSStyleSheet\n * object can be used for styling along side CSSResult from the `css`\n * template tag.\n */\nexport type CSSResultOrNative = CSSResult | CSSStyleSheet;\n\nexport type CSSResultArray = Array;\n\n/**\n * A single CSSResult, CSSStyleSheet, or an array or nested arrays of those.\n */\nexport type CSSResultGroup = CSSResultOrNative | CSSResultArray;\n\nconst constructionToken = Symbol();\n\nconst cssTagCache = new WeakMap();\n\n/**\n * A container for a string of CSS text, that may be used to create a CSSStyleSheet.\n *\n * CSSResult is the return value of `css`-tagged template literals and\n * `unsafeCSS()`. In order to ensure that CSSResults are only created via the\n * `css` tag and `unsafeCSS()`, CSSResult cannot be constructed directly.\n */\nexport class CSSResult {\n // This property needs to remain unminified.\n ['_$cssResult$'] = true;\n readonly cssText: string;\n private _styleSheet?: CSSStyleSheet;\n private _strings: TemplateStringsArray | undefined;\n\n private constructor(\n cssText: string,\n strings: TemplateStringsArray | undefined,\n safeToken: symbol\n ) {\n if (safeToken !== constructionToken) {\n throw new Error(\n 'CSSResult is not constructable. Use `unsafeCSS` or `css` instead.'\n );\n }\n this.cssText = cssText;\n this._strings = strings;\n }\n\n // This is a getter so that it's lazy. In practice, this means stylesheets\n // are not created until the first element instance is made.\n get styleSheet(): CSSStyleSheet | undefined {\n // If `supportsAdoptingStyleSheets` is true then we assume CSSStyleSheet is\n // constructable.\n let styleSheet = this._styleSheet;\n const strings = this._strings;\n if (supportsAdoptingStyleSheets && styleSheet === undefined) {\n const cacheable = strings !== undefined && strings.length === 1;\n if (cacheable) {\n styleSheet = cssTagCache.get(strings);\n }\n if (styleSheet === undefined) {\n (this._styleSheet = styleSheet = new CSSStyleSheet()).replaceSync(\n this.cssText\n );\n if (cacheable) {\n cssTagCache.set(strings, styleSheet);\n }\n }\n }\n return styleSheet;\n }\n\n toString(): string {\n return this.cssText;\n }\n}\n\ntype ConstructableCSSResult = CSSResult & {\n new (\n cssText: string,\n strings: TemplateStringsArray | undefined,\n safeToken: symbol\n ): CSSResult;\n};\n\nconst textFromCSSResult = (value: CSSResultGroup | number) => {\n // This property needs to remain unminified.\n if ((value as CSSResult)['_$cssResult$'] === true) {\n return (value as CSSResult).cssText;\n } else if (typeof value === 'number') {\n return value;\n } else {\n throw new Error(\n `Value passed to 'css' function must be a 'css' function result: ` +\n `${value}. Use 'unsafeCSS' to pass non-literal values, but take care ` +\n `to ensure page security.`\n );\n }\n};\n\n/**\n * Wrap a value for interpolation in a {@linkcode css} tagged template literal.\n *\n * This is unsafe because untrusted CSS text can be used to phone home\n * or exfiltrate data to an attacker controlled site. Take care to only use\n * this with trusted input.\n */\nexport const unsafeCSS = (value: unknown) =>\n new (CSSResult as ConstructableCSSResult)(\n typeof value === 'string' ? value : String(value),\n undefined,\n constructionToken\n );\n\n/**\n * A template literal tag which can be used with LitElement's\n * {@linkcode LitElement.styles} property to set element styles.\n *\n * For security reasons, only literal string values and number may be used in\n * embedded expressions. To incorporate non-literal values {@linkcode unsafeCSS}\n * may be used inside an expression.\n */\nexport const css = (\n strings: TemplateStringsArray,\n ...values: (CSSResultGroup | number)[]\n): CSSResult => {\n const cssText =\n strings.length === 1\n ? strings[0]\n : values.reduce(\n (acc, v, idx) => acc + textFromCSSResult(v) + strings[idx + 1],\n strings[0]\n );\n return new (CSSResult as ConstructableCSSResult)(\n cssText,\n strings,\n constructionToken\n );\n};\n\n/**\n * Applies the given styles to a `shadowRoot`. When Shadow DOM is\n * available but `adoptedStyleSheets` is not, styles are appended to the\n * `shadowRoot` to [mimic spec behavior](https://wicg.github.io/construct-stylesheets/#using-constructed-stylesheets).\n * Note, when shimming is used, any styles that are subsequently placed into\n * the shadowRoot should be placed *before* any shimmed adopted styles. This\n * will match spec behavior that gives adopted sheets precedence over styles in\n * shadowRoot.\n */\nexport const adoptStyles = (\n renderRoot: ShadowRoot,\n styles: Array\n) => {\n if (supportsAdoptingStyleSheets) {\n (renderRoot as ShadowRoot).adoptedStyleSheets = styles.map((s) =>\n s instanceof CSSStyleSheet ? s : s.styleSheet!\n );\n } else {\n styles.forEach((s) => {\n const style = document.createElement('style');\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const nonce = (global as any)['litNonce'];\n if (nonce !== undefined) {\n style.setAttribute('nonce', nonce);\n }\n style.textContent = (s as CSSResult).cssText;\n renderRoot.appendChild(style);\n });\n }\n};\n\nconst cssResultFromStyleSheet = (sheet: CSSStyleSheet) => {\n let cssText = '';\n for (const rule of sheet.cssRules) {\n cssText += rule.cssText;\n }\n return unsafeCSS(cssText);\n};\n\nexport const getCompatibleStyle =\n supportsAdoptingStyleSheets ||\n (NODE_MODE && global.CSSStyleSheet === undefined)\n ? (s: CSSResultOrNative) => s\n : (s: CSSResultOrNative) =>\n s instanceof CSSStyleSheet ? cssResultFromStyleSheet(s) : s;\n", "/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/**\n * Use this module if you want to create your own base class extending\n * {@link ReactiveElement}.\n * @packageDocumentation\n */\n\nimport {\n getCompatibleStyle,\n adoptStyles,\n CSSResultGroup,\n CSSResultOrNative,\n} from './css-tag.js';\nimport type {\n ReactiveController,\n ReactiveControllerHost,\n} from './reactive-controller.js';\n\n// In the Node build, this import will be injected by Rollup:\n// import {HTMLElement, customElements} from '@lit-labs/ssr-dom-shim';\n\nexport * from './css-tag.js';\nexport type {\n ReactiveController,\n ReactiveControllerHost,\n} from './reactive-controller.js';\n\nconst NODE_MODE = false;\nconst global = NODE_MODE ? globalThis : window;\n\nif (NODE_MODE) {\n global.customElements ??= customElements;\n}\n\nconst DEV_MODE = true;\n\nlet requestUpdateThenable: (name: string) => {\n then: (\n onfulfilled?: (value: boolean) => void,\n _onrejected?: () => void\n ) => void;\n};\n\nlet issueWarning: (code: string, warning: string) => void;\n\nconst trustedTypes = (global as unknown as {trustedTypes?: {emptyScript: ''}})\n .trustedTypes;\n\n// Temporary workaround for https://crbug.com/993268\n// Currently, any attribute starting with \"on\" is considered to be a\n// TrustedScript source. Such boolean attributes must be set to the equivalent\n// trusted emptyScript value.\nconst emptyStringForBooleanAttribute = trustedTypes\n ? (trustedTypes.emptyScript as unknown as '')\n : '';\n\nconst polyfillSupport = DEV_MODE\n ? global.reactiveElementPolyfillSupportDevMode\n : global.reactiveElementPolyfillSupport;\n\nif (DEV_MODE) {\n // Ensure warnings are issued only 1x, even if multiple versions of Lit\n // are loaded.\n const issuedWarnings: Set = (global.litIssuedWarnings ??=\n new Set());\n\n // Issue a warning, if we haven't already.\n issueWarning = (code: string, warning: string) => {\n warning += ` See https://lit.dev/msg/${code} for more information.`;\n if (!issuedWarnings.has(warning)) {\n console.warn(warning);\n issuedWarnings.add(warning);\n }\n };\n\n issueWarning(\n 'dev-mode',\n `Lit is in dev mode. Not recommended for production!`\n );\n\n // Issue polyfill support warning.\n if (global.ShadyDOM?.inUse && polyfillSupport === undefined) {\n issueWarning(\n 'polyfill-support-missing',\n `Shadow DOM is being polyfilled via \\`ShadyDOM\\` but ` +\n `the \\`polyfill-support\\` module has not been loaded.`\n );\n }\n\n requestUpdateThenable = (name) => ({\n then: (\n onfulfilled?: (value: boolean) => void,\n _onrejected?: () => void\n ) => {\n issueWarning(\n 'request-update-promise',\n `The \\`requestUpdate\\` method should no longer return a Promise but ` +\n `does so on \\`${name}\\`. Use \\`updateComplete\\` instead.`\n );\n if (onfulfilled !== undefined) {\n onfulfilled(false);\n }\n },\n });\n}\n\n/**\n * Contains types that are part of the unstable debug API.\n *\n * Everything in this API is not stable and may change or be removed in the future,\n * even on patch releases.\n */\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace ReactiveUnstable {\n /**\n * When Lit is running in dev mode and `window.emitLitDebugLogEvents` is true,\n * we will emit 'lit-debug' events to window, with live details about the update and render\n * lifecycle. These can be useful for writing debug tooling and visualizations.\n *\n * Please be aware that running with window.emitLitDebugLogEvents has performance overhead,\n * making certain operations that are normally very cheap (like a no-op render) much slower,\n * because we must copy data and dispatch events.\n */\n // eslint-disable-next-line @typescript-eslint/no-namespace\n export namespace DebugLog {\n export type Entry = Update;\n export interface Update {\n kind: 'update';\n }\n }\n}\n\ninterface DebugLoggingWindow {\n // Even in dev mode, we generally don't want to emit these events, as that's\n // another level of cost, so only emit them when DEV_MODE is true _and_ when\n // window.emitLitDebugEvents is true.\n emitLitDebugLogEvents?: boolean;\n}\n\n/**\n * Useful for visualizing and logging insights into what the Lit template system is doing.\n *\n * Compiled out of prod mode builds.\n */\nconst debugLogEvent = DEV_MODE\n ? (event: ReactiveUnstable.DebugLog.Entry) => {\n const shouldEmit = (global as unknown as DebugLoggingWindow)\n .emitLitDebugLogEvents;\n if (!shouldEmit) {\n return;\n }\n global.dispatchEvent(\n new CustomEvent('lit-debug', {\n detail: event,\n })\n );\n }\n : undefined;\n\n/*\n * When using Closure Compiler, JSCompiler_renameProperty(property, object) is\n * replaced at compile time by the munged name for object[property]. We cannot\n * alias this function, so we have to use a small shim that has the same\n * behavior when not compiling.\n */\n/*@__INLINE__*/\nconst JSCompiler_renameProperty =
(\n prop: P,\n _obj: unknown\n): P => prop;\n\n/**\n * Converts property values to and from attribute values.\n */\nexport interface ComplexAttributeConverter {\n /**\n * Called to convert an attribute value to a property\n * value.\n */\n fromAttribute?(value: string | null, type?: TypeHint): Type;\n\n /**\n * Called to convert a property value to an attribute\n * value.\n *\n * It returns unknown instead of string, to be compatible with\n * https://github.com/WICG/trusted-types (and similar efforts).\n */\n toAttribute?(value: Type, type?: TypeHint): unknown;\n}\n\ntype AttributeConverter =\n | ComplexAttributeConverter\n | ((value: string | null, type?: TypeHint) => Type);\n\n/**\n * Defines options for a property accessor.\n */\nexport interface PropertyDeclaration {\n /**\n * When set to `true`, indicates the property is internal private state. The\n * property should not be set by users. When using TypeScript, this property\n * should be marked as `private` or `protected`, and it is also a common\n * practice to use a leading `_` in the name. The property is not added to\n * `observedAttributes`.\n */\n readonly state?: boolean;\n\n /**\n * Indicates how and whether the property becomes an observed attribute.\n * If the value is `false`, the property is not added to `observedAttributes`.\n * If true or absent, the lowercased property name is observed (e.g. `fooBar`\n * becomes `foobar`). If a string, the string value is observed (e.g\n * `attribute: 'foo-bar'`).\n */\n readonly attribute?: boolean | string;\n\n /**\n * Indicates the type of the property. This is used only as a hint for the\n * `converter` to determine how to convert the attribute\n * to/from a property.\n */\n readonly type?: TypeHint;\n\n /**\n * Indicates how to convert the attribute to/from a property. If this value\n * is a function, it is used to convert the attribute value a the property\n * value. If it's an object, it can have keys for `fromAttribute` and\n * `toAttribute`. If no `toAttribute` function is provided and\n * `reflect` is set to `true`, the property value is set directly to the\n * attribute. A default `converter` is used if none is provided; it supports\n * `Boolean`, `String`, `Number`, `Object`, and `Array`. Note,\n * when a property changes and the converter is used to update the attribute,\n * the property is never updated again as a result of the attribute changing,\n * and vice versa.\n */\n readonly converter?: AttributeConverter;\n\n /**\n * Indicates if the property should reflect to an attribute.\n * If `true`, when the property is set, the attribute is set using the\n * attribute name determined according to the rules for the `attribute`\n * property option and the value of the property converted using the rules\n * from the `converter` property option.\n */\n readonly reflect?: boolean;\n\n /**\n * A function that indicates if a property should be considered changed when\n * it is set. The function should take the `newValue` and `oldValue` and\n * return `true` if an update should be requested.\n */\n hasChanged?(value: Type, oldValue: Type): boolean;\n\n /**\n * Indicates whether an accessor will be created for this property. By\n * default, an accessor will be generated for this property that requests an\n * update when set. If this flag is `true`, no accessor will be created, and\n * it will be the user's responsibility to call\n * `this.requestUpdate(propertyName, oldValue)` to request an update when\n * the property changes.\n */\n readonly noAccessor?: boolean;\n}\n\n/**\n * Map of properties to PropertyDeclaration options. For each property an\n * accessor is made, and the property is processed according to the\n * PropertyDeclaration options.\n */\nexport interface PropertyDeclarations {\n readonly [key: string]: PropertyDeclaration;\n}\n\ntype PropertyDeclarationMap = Map;\n\ntype AttributeMap = Map;\n\n/**\n * A Map of property keys to values.\n *\n * Takes an optional type parameter T, which when specified as a non-any,\n * non-unknown type, will make the Map more strongly-typed, associating the map\n * keys with their corresponding value type on T.\n *\n * Use `PropertyValues` when overriding ReactiveElement.update() and\n * other lifecycle methods in order to get stronger type-checking on keys\n * and values.\n */\n// This type is conditional so that if the parameter T is not specified, or\n// is `any`, the type will include `Map`. Since T is not\n// given in the uses of PropertyValues in this file, all uses here fallback to\n// meaning `Map`, but if a developer uses\n// `PropertyValues` (or any other value for T) they will get a\n// strongly-typed Map type.\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type PropertyValues = T extends object\n ? PropertyValueMap\n : Map;\n\n/**\n * Do not use, instead prefer {@linkcode PropertyValues}.\n */\n// This type must be exported such that JavaScript generated by the Google\n// Closure Compiler can import a type reference.\nexport interface PropertyValueMap extends Map {\n get(k: K): T[K];\n set(key: K, value: T[K]): this;\n has(k: K): boolean;\n delete(k: K): boolean;\n}\n\nexport const defaultConverter: ComplexAttributeConverter = {\n toAttribute(value: unknown, type?: unknown): unknown {\n switch (type) {\n case Boolean:\n value = value ? emptyStringForBooleanAttribute : null;\n break;\n case Object:\n case Array:\n // if the value is `null` or `undefined` pass this through\n // to allow removing/no change behavior.\n value = value == null ? value : JSON.stringify(value);\n break;\n }\n return value;\n },\n\n fromAttribute(value: string | null, type?: unknown) {\n let fromValue: unknown = value;\n switch (type) {\n case Boolean:\n fromValue = value !== null;\n break;\n case Number:\n fromValue = value === null ? null : Number(value);\n break;\n case Object:\n case Array:\n // Do *not* generate exception when invalid JSON is set as elements\n // don't normally complain on being mis-configured.\n // TODO(sorvell): Do generate exception in *dev mode*.\n try {\n // Assert to adhere to Bazel's \"must type assert JSON parse\" rule.\n fromValue = JSON.parse(value!) as unknown;\n } catch (e) {\n fromValue = null;\n }\n break;\n }\n return fromValue;\n },\n};\n\nexport interface HasChanged {\n (value: unknown, old: unknown): boolean;\n}\n\n/**\n * Change function that returns true if `value` is different from `oldValue`.\n * This method is used as the default for a property's `hasChanged` function.\n */\nexport const notEqual: HasChanged = (value: unknown, old: unknown): boolean => {\n // This ensures (old==NaN, value==NaN) always returns false\n return old !== value && (old === old || value === value);\n};\n\nconst defaultPropertyDeclaration: PropertyDeclaration = {\n attribute: true,\n type: String,\n converter: defaultConverter,\n reflect: false,\n hasChanged: notEqual,\n};\n\n/**\n * The Closure JS Compiler doesn't currently have good support for static\n * property semantics where \"this\" is dynamic (e.g.\n * https://github.com/google/closure-compiler/issues/3177 and others) so we use\n * this hack to bypass any rewriting by the compiler.\n */\nconst finalized = 'finalized';\n\n/**\n * A string representing one of the supported dev mode warning categories.\n */\nexport type WarningKind = 'change-in-update' | 'migration';\n\nexport type Initializer = (element: ReactiveElement) => void;\n\n/**\n * Base element class which manages element properties and attributes. When\n * properties change, the `update` method is asynchronously called. This method\n * should be supplied by subclassers to render updates as desired.\n * @noInheritDoc\n */\nexport abstract class ReactiveElement\n // In the Node build, this `extends` clause will be substituted with\n // `(globalThis.HTMLElement ?? HTMLElement)`.\n //\n // This way, we will first prefer any global `HTMLElement` polyfill that the\n // user has assigned, and then fall back to the `HTMLElement` shim which has\n // been imported (see note at the top of this file about how this import is\n // generated by Rollup). Note that the `HTMLElement` variable has been\n // shadowed by this import, so it no longer refers to the global.\n extends HTMLElement\n implements ReactiveControllerHost\n{\n // Note: these are patched in only in DEV_MODE.\n /**\n * Read or set all the enabled warning categories for this class.\n *\n * This property is only used in development builds.\n *\n * @nocollapse\n * @category dev-mode\n */\n static enabledWarnings?: WarningKind[];\n\n /**\n * Enable the given warning category for this class.\n *\n * This method only exists in development builds, so it should be accessed\n * with a guard like:\n *\n * ```ts\n * // Enable for all ReactiveElement subclasses\n * ReactiveElement.enableWarning?.('migration');\n *\n * // Enable for only MyElement and subclasses\n * MyElement.enableWarning?.('migration');\n * ```\n *\n * @nocollapse\n * @category dev-mode\n */\n static enableWarning?: (warningKind: WarningKind) => void;\n\n /**\n * Disable the given warning category for this class.\n *\n * This method only exists in development builds, so it should be accessed\n * with a guard like:\n *\n * ```ts\n * // Disable for all ReactiveElement subclasses\n * ReactiveElement.disableWarning?.('migration');\n *\n * // Disable for only MyElement and subclasses\n * MyElement.disableWarning?.('migration');\n * ```\n *\n * @nocollapse\n * @category dev-mode\n */\n static disableWarning?: (warningKind: WarningKind) => void;\n\n /**\n * Adds an initializer function to the class that is called during instance\n * construction.\n *\n * This is useful for code that runs against a `ReactiveElement`\n * subclass, such as a decorator, that needs to do work for each\n * instance, such as setting up a `ReactiveController`.\n *\n * ```ts\n * const myDecorator = (target: typeof ReactiveElement, key: string) => {\n * target.addInitializer((instance: ReactiveElement) => {\n * // This is run during construction of the element\n * new MyController(instance);\n * });\n * }\n * ```\n *\n * Decorating a field will then cause each instance to run an initializer\n * that adds a controller:\n *\n * ```ts\n * class MyElement extends LitElement {\n * @myDecorator foo;\n * }\n * ```\n *\n * Initializers are stored per-constructor. Adding an initializer to a\n * subclass does not add it to a superclass. Since initializers are run in\n * constructors, initializers will run in order of the class hierarchy,\n * starting with superclasses and progressing to the instance's class.\n *\n * @nocollapse\n */\n static addInitializer(initializer: Initializer) {\n this.finalize();\n (this._initializers ??= []).push(initializer);\n }\n\n static _initializers?: Initializer[];\n\n /*\n * Due to closure compiler ES6 compilation bugs, @nocollapse is required on\n * all static methods and properties with initializers. Reference:\n * - https://github.com/google/closure-compiler/issues/1776\n */\n\n /**\n * Maps attribute names to properties; for example `foobar` attribute to\n * `fooBar` property. Created lazily on user subclasses when finalizing the\n * class.\n * @nocollapse\n */\n private static __attributeToPropertyMap: AttributeMap;\n\n /**\n * Marks class as having finished creating properties.\n */\n protected static [finalized] = true;\n\n /**\n * Memoized list of all element properties, including any superclass properties.\n * Created lazily on user subclasses when finalizing the class.\n * @nocollapse\n * @category properties\n */\n static elementProperties: PropertyDeclarationMap = new Map();\n\n /**\n * User-supplied object that maps property names to `PropertyDeclaration`\n * objects containing options for configuring reactive properties. When\n * a reactive property is set the element will update and render.\n *\n * By default properties are public fields, and as such, they should be\n * considered as primarily settable by element users, either via attribute or\n * the property itself.\n *\n * Generally, properties that are changed by the element should be private or\n * protected fields and should use the `state: true` option. Properties\n * marked as `state` do not reflect from the corresponding attribute\n *\n * However, sometimes element code does need to set a public property. This\n * should typically only be done in response to user interaction, and an event\n * should be fired informing the user; for example, a checkbox sets its\n * `checked` property when clicked and fires a `changed` event. Mutating\n * public properties should typically not be done for non-primitive (object or\n * array) properties. In other cases when an element needs to manage state, a\n * private property set with the `state: true` option should be used. When\n * needed, state properties can be initialized via public properties to\n * facilitate complex interactions.\n * @nocollapse\n * @category properties\n */\n static properties: PropertyDeclarations;\n\n /**\n * Memoized list of all element styles.\n * Created lazily on user subclasses when finalizing the class.\n * @nocollapse\n * @category styles\n */\n static elementStyles: Array = [];\n\n /**\n * Array of styles to apply to the element. The styles should be defined\n * using the {@linkcode css} tag function, via constructible stylesheets, or\n * imported from native CSS module scripts.\n *\n * Note on Content Security Policy:\n *\n * Element styles are implemented with `