From ca88c377f918a9178c56e206b7bb13baefd30c91 Mon Sep 17 00:00:00 2001 From: schneefux Date: Sat, 25 Mar 2017 13:13:28 +0100 Subject: accidentally committed minionlivesmatter changes to meta --- .../dist/bootstrap-material-design.css | 10360 ++++++++++++++++ .../dist/bootstrap-material-design.iife.js | 11743 +++++++++++++++++++ .../dist/bootstrap-material-design.iife.js.map | 1 + .../dist/bootstrap-material-design.iife.min.js | 9 + .../dist/bootstrap-material-design.min.css | 3 + .../dist/bootstrap-material-design.umd.js | 2936 +++++ .../dist/bootstrap-material-design.umd.js.map | 1 + .../assets/bootstrap/dist/css/bootstrap-grid.css | 2298 ++++ .../bootstrap/dist/css/bootstrap-grid.css.map | 1 + .../bootstrap/dist/css/bootstrap-grid.min.css | 1 + .../bootstrap/dist/css/bootstrap-grid.min.css.map | 1 + .../assets/bootstrap/dist/css/bootstrap-reboot.css | 334 + .../bootstrap/dist/css/bootstrap-reboot.css.map | 1 + .../bootstrap/dist/css/bootstrap-reboot.min.css | 1 + .../dist/css/bootstrap-reboot.min.css.map | 1 + templates/assets/bootstrap/dist/css/bootstrap.css | 9119 ++++++++++++++ .../assets/bootstrap/dist/css/bootstrap.css.map | 1 + .../assets/bootstrap/dist/css/bootstrap.min.css | 6 + .../bootstrap/dist/css/bootstrap.min.css.map | 1 + templates/assets/bootstrap/dist/js/bootstrap.js | 3558 ++++++ .../assets/bootstrap/dist/js/bootstrap.min.js | 7 + templates/assets/bootstrap/js/dist/alert.js | 183 + templates/assets/bootstrap/js/dist/alert.js.map | 1 + templates/assets/bootstrap/js/dist/button.js | 167 + templates/assets/bootstrap/js/dist/button.js.map | 1 + templates/assets/bootstrap/js/dist/carousel.js | 486 + templates/assets/bootstrap/js/dist/carousel.js.map | 1 + templates/assets/bootstrap/js/dist/collapse.js | 365 + templates/assets/bootstrap/js/dist/collapse.js.map | 1 + templates/assets/bootstrap/js/dist/dropdown.js | 291 + templates/assets/bootstrap/js/dist/dropdown.js.map | 1 + templates/assets/bootstrap/js/dist/modal.js | 535 + templates/assets/bootstrap/js/dist/modal.js.map | 1 + templates/assets/bootstrap/js/dist/popover.js | 193 + templates/assets/bootstrap/js/dist/popover.js.map | 1 + templates/assets/bootstrap/js/dist/scrollspy.js | 321 + .../assets/bootstrap/js/dist/scrollspy.js.map | 1 + templates/assets/bootstrap/js/dist/tab.js | 264 + templates/assets/bootstrap/js/dist/tab.js.map | 1 + templates/assets/bootstrap/js/dist/tooltip.js | 623 + templates/assets/bootstrap/js/dist/tooltip.js.map | 1 + templates/assets/bootstrap/js/dist/util.js | 153 + templates/assets/bootstrap/js/dist/util.js.map | 1 + templates/assets/jquery/dist/jquery.js | 9814 ++++++++++++++++ templates/assets/jquery/dist/jquery.min.js | 4 + templates/assets/jquery/dist/jquery.min.map | 1 + .../assets/jquery/external/sizzle/dist/sizzle.js | 2143 ++++ .../jquery/external/sizzle/dist/sizzle.min.js | 3 + .../jquery/external/sizzle/dist/sizzle.min.map | 1 + templates/assets/jquery/src/ajax/var/location.js | 3 + templates/assets/jquery/src/ajax/var/nonce.js | 5 + templates/assets/jquery/src/ajax/var/rquery.js | 3 + templates/assets/jquery/src/core/var/rsingleTag.js | 5 + templates/assets/jquery/src/css/var/cssExpand.js | 3 + templates/assets/jquery/src/css/var/getStyles.js | 15 + templates/assets/jquery/src/css/var/isHidden.js | 16 + templates/assets/jquery/src/css/var/rmargin.js | 3 + templates/assets/jquery/src/css/var/rnumnonpx.js | 5 + templates/assets/jquery/src/css/var/swap.js | 24 + templates/assets/jquery/src/data/var/acceptData.js | 18 + templates/assets/jquery/src/data/var/dataPriv.js | 5 + templates/assets/jquery/src/data/var/dataUser.js | 5 + .../jquery/src/manipulation/var/rcheckableType.js | 3 + .../jquery/src/manipulation/var/rscriptType.js | 3 + .../assets/jquery/src/manipulation/var/rtagName.js | 3 + templates/assets/jquery/src/traversing/var/dir.js | 20 + .../jquery/src/traversing/var/rneedsContext.js | 6 + .../assets/jquery/src/traversing/var/siblings.js | 15 + templates/assets/jquery/src/var/arr.js | 3 + templates/assets/jquery/src/var/class2type.js | 5 + templates/assets/jquery/src/var/concat.js | 5 + templates/assets/jquery/src/var/document.js | 3 + templates/assets/jquery/src/var/documentElement.js | 5 + templates/assets/jquery/src/var/hasOwn.js | 5 + templates/assets/jquery/src/var/indexOf.js | 5 + templates/assets/jquery/src/var/pnum.js | 3 + templates/assets/jquery/src/var/push.js | 5 + templates/assets/jquery/src/var/rcssNum.js | 7 + templates/assets/jquery/src/var/rnotwhite.js | 3 + templates/assets/jquery/src/var/slice.js | 5 + templates/assets/jquery/src/var/support.js | 5 + templates/assets/jquery/src/var/toString.js | 5 + .../assets/material-kit/dist/css/material-kit.css | 3746 ++++++ .../material-kit/dist/css/material-kit.css.map | 7 + .../assets/material-kit/dist/js/material-kit.js | 129 + .../tether/dist/css/tether-theme-arrows-dark.css | 150 + .../dist/css/tether-theme-arrows-dark.min.css | 1 + .../assets/tether/dist/css/tether-theme-arrows.css | 154 + .../tether/dist/css/tether-theme-arrows.min.css | 1 + .../assets/tether/dist/css/tether-theme-basic.css | 21 + .../tether/dist/css/tether-theme-basic.min.css | 1 + templates/assets/tether/dist/css/tether.css | 8 + templates/assets/tether/dist/css/tether.min.css | 1 + templates/assets/tether/dist/js/tether.js | 1811 +++ templates/assets/tether/dist/js/tether.min.js | 1 + templates/index.html | 27 +- 96 files changed, 62210 insertions(+), 13 deletions(-) create mode 100644 templates/assets/bootstrap-material-design/dist/bootstrap-material-design.css create mode 100644 templates/assets/bootstrap-material-design/dist/bootstrap-material-design.iife.js create mode 100644 templates/assets/bootstrap-material-design/dist/bootstrap-material-design.iife.js.map create mode 100644 templates/assets/bootstrap-material-design/dist/bootstrap-material-design.iife.min.js create mode 100644 templates/assets/bootstrap-material-design/dist/bootstrap-material-design.min.css create mode 100644 templates/assets/bootstrap-material-design/dist/bootstrap-material-design.umd.js create mode 100644 templates/assets/bootstrap-material-design/dist/bootstrap-material-design.umd.js.map create mode 100644 templates/assets/bootstrap/dist/css/bootstrap-grid.css create mode 100644 templates/assets/bootstrap/dist/css/bootstrap-grid.css.map create mode 100644 templates/assets/bootstrap/dist/css/bootstrap-grid.min.css create mode 100644 templates/assets/bootstrap/dist/css/bootstrap-grid.min.css.map create mode 100644 templates/assets/bootstrap/dist/css/bootstrap-reboot.css create mode 100644 templates/assets/bootstrap/dist/css/bootstrap-reboot.css.map create mode 100644 templates/assets/bootstrap/dist/css/bootstrap-reboot.min.css create mode 100644 templates/assets/bootstrap/dist/css/bootstrap-reboot.min.css.map create mode 100644 templates/assets/bootstrap/dist/css/bootstrap.css create mode 100644 templates/assets/bootstrap/dist/css/bootstrap.css.map create mode 100644 templates/assets/bootstrap/dist/css/bootstrap.min.css create mode 100644 templates/assets/bootstrap/dist/css/bootstrap.min.css.map create mode 100644 templates/assets/bootstrap/dist/js/bootstrap.js create mode 100644 templates/assets/bootstrap/dist/js/bootstrap.min.js create mode 100644 templates/assets/bootstrap/js/dist/alert.js create mode 100644 templates/assets/bootstrap/js/dist/alert.js.map create mode 100644 templates/assets/bootstrap/js/dist/button.js create mode 100644 templates/assets/bootstrap/js/dist/button.js.map create mode 100644 templates/assets/bootstrap/js/dist/carousel.js create mode 100644 templates/assets/bootstrap/js/dist/carousel.js.map create mode 100644 templates/assets/bootstrap/js/dist/collapse.js create mode 100644 templates/assets/bootstrap/js/dist/collapse.js.map create mode 100644 templates/assets/bootstrap/js/dist/dropdown.js create mode 100644 templates/assets/bootstrap/js/dist/dropdown.js.map create mode 100644 templates/assets/bootstrap/js/dist/modal.js create mode 100644 templates/assets/bootstrap/js/dist/modal.js.map create mode 100644 templates/assets/bootstrap/js/dist/popover.js create mode 100644 templates/assets/bootstrap/js/dist/popover.js.map create mode 100644 templates/assets/bootstrap/js/dist/scrollspy.js create mode 100644 templates/assets/bootstrap/js/dist/scrollspy.js.map create mode 100644 templates/assets/bootstrap/js/dist/tab.js create mode 100644 templates/assets/bootstrap/js/dist/tab.js.map create mode 100644 templates/assets/bootstrap/js/dist/tooltip.js create mode 100644 templates/assets/bootstrap/js/dist/tooltip.js.map create mode 100644 templates/assets/bootstrap/js/dist/util.js create mode 100644 templates/assets/bootstrap/js/dist/util.js.map create mode 100644 templates/assets/jquery/dist/jquery.js create mode 100644 templates/assets/jquery/dist/jquery.min.js create mode 100644 templates/assets/jquery/dist/jquery.min.map create mode 100644 templates/assets/jquery/external/sizzle/dist/sizzle.js create mode 100644 templates/assets/jquery/external/sizzle/dist/sizzle.min.js create mode 100644 templates/assets/jquery/external/sizzle/dist/sizzle.min.map create mode 100644 templates/assets/jquery/src/ajax/var/location.js create mode 100644 templates/assets/jquery/src/ajax/var/nonce.js create mode 100644 templates/assets/jquery/src/ajax/var/rquery.js create mode 100644 templates/assets/jquery/src/core/var/rsingleTag.js create mode 100644 templates/assets/jquery/src/css/var/cssExpand.js create mode 100644 templates/assets/jquery/src/css/var/getStyles.js create mode 100644 templates/assets/jquery/src/css/var/isHidden.js create mode 100644 templates/assets/jquery/src/css/var/rmargin.js create mode 100644 templates/assets/jquery/src/css/var/rnumnonpx.js create mode 100644 templates/assets/jquery/src/css/var/swap.js create mode 100644 templates/assets/jquery/src/data/var/acceptData.js create mode 100644 templates/assets/jquery/src/data/var/dataPriv.js create mode 100644 templates/assets/jquery/src/data/var/dataUser.js create mode 100644 templates/assets/jquery/src/manipulation/var/rcheckableType.js create mode 100644 templates/assets/jquery/src/manipulation/var/rscriptType.js create mode 100644 templates/assets/jquery/src/manipulation/var/rtagName.js create mode 100644 templates/assets/jquery/src/traversing/var/dir.js create mode 100644 templates/assets/jquery/src/traversing/var/rneedsContext.js create mode 100644 templates/assets/jquery/src/traversing/var/siblings.js create mode 100644 templates/assets/jquery/src/var/arr.js create mode 100644 templates/assets/jquery/src/var/class2type.js create mode 100644 templates/assets/jquery/src/var/concat.js create mode 100644 templates/assets/jquery/src/var/document.js create mode 100644 templates/assets/jquery/src/var/documentElement.js create mode 100644 templates/assets/jquery/src/var/hasOwn.js create mode 100644 templates/assets/jquery/src/var/indexOf.js create mode 100644 templates/assets/jquery/src/var/pnum.js create mode 100644 templates/assets/jquery/src/var/push.js create mode 100644 templates/assets/jquery/src/var/rcssNum.js create mode 100644 templates/assets/jquery/src/var/rnotwhite.js create mode 100644 templates/assets/jquery/src/var/slice.js create mode 100644 templates/assets/jquery/src/var/support.js create mode 100644 templates/assets/jquery/src/var/toString.js create mode 100644 templates/assets/material-kit/dist/css/material-kit.css create mode 100644 templates/assets/material-kit/dist/css/material-kit.css.map create mode 100644 templates/assets/material-kit/dist/js/material-kit.js create mode 100644 templates/assets/tether/dist/css/tether-theme-arrows-dark.css create mode 100644 templates/assets/tether/dist/css/tether-theme-arrows-dark.min.css create mode 100644 templates/assets/tether/dist/css/tether-theme-arrows.css create mode 100644 templates/assets/tether/dist/css/tether-theme-arrows.min.css create mode 100644 templates/assets/tether/dist/css/tether-theme-basic.css create mode 100644 templates/assets/tether/dist/css/tether-theme-basic.min.css create mode 100644 templates/assets/tether/dist/css/tether.css create mode 100644 templates/assets/tether/dist/css/tether.min.css create mode 100644 templates/assets/tether/dist/js/tether.js create mode 100644 templates/assets/tether/dist/js/tether.min.js diff --git a/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.css b/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.css new file mode 100644 index 0000000..70ae616 --- /dev/null +++ b/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.css @@ -0,0 +1,10360 @@ +.card { + font-size: .875rem; + font-weight: normal; } + +/*! normalize.css v4.0.0 | MIT License | github.com/necolas/normalize.css */ +html { + font-family: sans-serif; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; } + +body { + margin: 0; } + +article, +aside, +details, +figcaption, +figure, +footer, +header, +main, +menu, +nav, +section, +summary { + display: block; } + +audio, +canvas, +progress, +video { + display: inline-block; } + +audio:not([controls]) { + display: none; + height: 0; } + +progress { + vertical-align: baseline; } + +template, +[hidden] { + display: none; } + +a { + background-color: transparent; } + +a:active, +a:hover { + outline-width: 0; } + +abbr[title] { + border-bottom: none; + text-decoration: underline; + text-decoration: underline dotted; } + +b, +strong { + font-weight: inherit; } + +b, +strong { + font-weight: bolder; } + +dfn { + font-style: italic; } + +h1 { + font-size: 2em; + margin: 0.67em 0; } + +mark { + background-color: #ff0; + color: #000; } + +small { + font-size: 80%; } + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; } + +sub { + bottom: -0.25em; } + +sup { + top: -0.5em; } + +img { + border-style: none; } + +svg:not(:root) { + overflow: hidden; } + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; } + +figure { + margin: 1em 40px; } + +hr { + -webkit-box-sizing: content-box; + box-sizing: content-box; + height: 0; + overflow: visible; } + +button, +input, +select, +textarea { + font: inherit; } + +optgroup { + font-weight: bold; } + +button, +input, +select { + overflow: visible; } + +button, +input, +select, +textarea { + margin: 0; } + +button, +select { + text-transform: none; } + +button, +[type="button"], +[type="reset"], +[type="submit"] { + cursor: pointer; } + +[disabled] { + cursor: default; } + +button, +html [type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; } + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; } + +button:-moz-focusring, +input:-moz-focusring { + outline: 1px dotted ButtonText; } + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; } + +legend { + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: inherit; + display: table; + max-width: 100%; + padding: 0; + white-space: normal; } + +textarea { + overflow: auto; } + +[type="checkbox"], +[type="radio"] { + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 0; } + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; } + +[type="search"] { + -webkit-appearance: textfield; } + +[type="search"]::-webkit-search-cancel-button, +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; } + +@media print { + *, + *::before, + *::after, + *::first-letter, + *::first-line { + text-shadow: none !important; + -webkit-box-shadow: none !important; + box-shadow: none !important; } + a, + a:visited { + text-decoration: underline; } + abbr[title]::after { + content: " (" attr(title) ")"; } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; } + thead { + display: table-header-group; } + tr, + img { + page-break-inside: avoid; } + p, + h2, + h3 { + orphans: 3; + widows: 3; } + h2, + h3 { + page-break-after: avoid; } + .navbar { + display: none; } + .btn > .caret, .custom-file-control::before > .caret, + .dropup > .btn > .caret, + .dropup > .custom-file-control::before > .caret { + border-top-color: #000 !important; } + .tag { + border: 1px solid #000; } + .table { + border-collapse: collapse !important; } + .table td, + .table th { + background-color: #fff !important; } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; } } + +html { + -webkit-box-sizing: border-box; + box-sizing: border-box; } + +*, +*::before, +*::after { + -webkit-box-sizing: inherit; + box-sizing: inherit; } + +@-ms-viewport { + width: device-width; } + +html { + font-size: 16px; + -ms-overflow-style: scrollbar; + -webkit-tap-highlight-color: transparent; } + +body { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 1rem; + line-height: 1.5; + color: rgba(0, 0, 0, 0.87); + background-color: #fafafa; } + +[tabindex="-1"]:focus { + outline: none !important; } + +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: .5rem; } + +p { + margin-top: 0; + margin-bottom: 1rem; } + +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted rgba(0, 0, 0, 0.26); } + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; } + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; } + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; } + +dt { + font-weight: bold; } + +dd { + margin-bottom: .5rem; + margin-left: 0; } + +blockquote { + margin: 0 0 1rem; } + +a { + color: #009688; + text-decoration: none; } + a:focus, a:hover { + color: #004a43; + text-decoration: underline; } + a:focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; } + +a:not([href]):not([tabindex]) { + color: inherit; + text-decoration: none; } + a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover { + color: inherit; + text-decoration: none; } + a:not([href]):not([tabindex]):focus { + outline: none; } + +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; } + +figure { + margin: 0 0 1rem; } + +img { + vertical-align: middle; } + +[role="button"] { + cursor: pointer; } + +a, +area, +button, +[role="button"], +input, +label, +select, +summary, +textarea { + -ms-touch-action: manipulation; + touch-action: manipulation; } + +table { + border-collapse: collapse; + background-color: transparent; } + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: rgba(0, 0, 0, 0.26); + text-align: left; + caption-side: bottom; } + +th { + text-align: left; } + +label { + display: inline-block; + margin-bottom: .5rem; } + +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; } + +input, +button, +select, +textarea { + margin: 0; + line-height: inherit; + border-radius: 0; } + +input[type="radio"]:disabled, +input[type="checkbox"]:disabled { + cursor: not-allowed; } + +input[type="date"], +input[type="time"], +input[type="datetime-local"], +input[type="month"] { + -webkit-appearance: listbox; } + +textarea { + resize: vertical; } + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; } + +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; } + +input[type="search"] { + -webkit-appearance: none; } + +output { + display: inline-block; } + +[hidden] { + display: none !important; } + +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6 { + margin-bottom: 0.25rem; + font-family: inherit; + font-weight: 400; + line-height: 1.1; + color: inherit; } + +h1, .h1 { + font-size: 2.5rem; } + +h2, .h2 { + font-size: 2rem; } + +h3, .h3 { + font-size: 1.75rem; } + +h4, .h4 { + font-size: 1.5rem; } + +h5, .h5 { + font-size: 1.25rem; } + +h6, .h6 { + font-size: 1rem; } + +.lead { + font-size: 1.25rem; + font-weight: 300; } + +.display-1 { + font-size: 7rem; + font-weight: 300; } + +.display-2 { + font-size: 3.5rem; + font-weight: 300; } + +.display-3 { + font-size: 2.8125rem; + font-weight: 300; } + +.display-4 { + font-size: 2.125rem; + font-weight: 300; } + +hr { + margin-top: 0.5rem; + margin-bottom: 0.5rem; + border: 0; + border-top: 1px solid rgba(0, 0, 0, 0.1); } + +small, +.small { + font-size: 80%; + font-weight: normal; } + +mark, +.mark { + padding: 0.2em; + background-color: #ff5722; } + +.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: 5px; } + +.initialism { + font-size: 90%; + text-transform: uppercase; } + +.blockquote { + padding: 0.25rem 0.5rem; + margin-bottom: 0.5rem; + font-size: 1.25rem; + border-left: 0.25rem solid rgba(0, 0, 0, 0.12); } + +.blockquote-footer { + display: block; + font-size: 80%; + color: rgba(0, 0, 0, 0.26); } + .blockquote-footer::before { + content: "\2014 \00A0"; } + +.blockquote-reverse { + padding-right: 0.5rem; + padding-left: 0; + text-align: right; + border-right: 0.25rem solid rgba(0, 0, 0, 0.12); + border-left: 0; } + +.blockquote-reverse .blockquote-footer::before { + content: ""; } + +.blockquote-reverse .blockquote-footer::after { + content: "\00A0 \2014"; } + +.img-fluid, .carousel-inner > .carousel-item > img, +.carousel-inner > .carousel-item > a > img { + display: block; + max-width: 100%; + height: auto; } + +.img-rounded { + border-radius: 0.3rem; } + +.img-thumbnail { + padding: 0.25rem; + background-color: #fafafa; + border: 1px solid #ddd; + border-radius: 0.125rem; + -webkit-transition: all .2s ease-in-out; + -o-transition: all .2s ease-in-out; + transition: all .2s ease-in-out; + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); + display: inline-block; + max-width: 100%; + height: auto; } + +.img-circle { + border-radius: 50%; } + +.figure { + display: inline-block; } + +.figure-img { + margin-bottom: 0.25rem; + line-height: 1; } + +.figure-caption { + font-size: 90%; + color: rgba(0, 0, 0, 0.26); } + +code, +kbd, +pre, +samp { + font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; } + +code { + padding: 0.2rem 0.4rem; + font-size: 90%; + color: #bd4147; + background-color: #eee; + border-radius: 0.125rem; } + +kbd { + padding: 0.2rem 0.4rem; + font-size: 90%; + color: #fff; + background-color: #333; + border-radius: 0.0625rem; + -webkit-box-shadow: inset 0 -0.1rem 0 rgba(0, 0, 0, 0.25); + box-shadow: inset 0 -0.1rem 0 rgba(0, 0, 0, 0.25); } + kbd kbd { + padding: 0; + font-size: 100%; + font-weight: bold; + -webkit-box-shadow: none; + box-shadow: none; } + +pre { + display: block; + margin-top: 0; + margin-bottom: 1rem; + font-size: 90%; + color: rgba(0, 0, 0, 0.87); } + pre code { + padding: 0; + font-size: inherit; + color: inherit; + background-color: transparent; + border-radius: 0; } + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; } + +.container { + margin-left: auto; + margin-right: auto; + padding-left: 15px; + padding-right: 15px; } + @media (min-width: 544px) { + .container { + max-width: 576px; } } + @media (min-width: 768px) { + .container { + max-width: 720px; } } + @media (min-width: 992px) { + .container { + max-width: 940px; } } + @media (min-width: 1200px) { + .container { + max-width: 1140px; } } + +.container-fluid { + margin-left: auto; + margin-right: auto; + padding-left: 15px; + padding-right: 15px; } + +.row { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-left: -15px; + margin-right: -15px; } + +.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12 { + position: relative; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; + width: 100%; } + +.col-xs { + position: relative; + -webkit-flex-basis: 0; + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; } + +.col-xs-1 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 8.33333%; + -ms-flex: 0 0 8.33333%; + flex: 0 0 8.33333%; + max-width: 8.33333%; } + +.col-xs-2 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 16.66667%; + -ms-flex: 0 0 16.66667%; + flex: 0 0 16.66667%; + max-width: 16.66667%; } + +.col-xs-3 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 25%; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; } + +.col-xs-4 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 33.33333%; + -ms-flex: 0 0 33.33333%; + flex: 0 0 33.33333%; + max-width: 33.33333%; } + +.col-xs-5 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 41.66667%; + -ms-flex: 0 0 41.66667%; + flex: 0 0 41.66667%; + max-width: 41.66667%; } + +.col-xs-6 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 50%; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; } + +.col-xs-7 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 58.33333%; + -ms-flex: 0 0 58.33333%; + flex: 0 0 58.33333%; + max-width: 58.33333%; } + +.col-xs-8 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 66.66667%; + -ms-flex: 0 0 66.66667%; + flex: 0 0 66.66667%; + max-width: 66.66667%; } + +.col-xs-9 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 75%; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; } + +.col-xs-10 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 83.33333%; + -ms-flex: 0 0 83.33333%; + flex: 0 0 83.33333%; + max-width: 83.33333%; } + +.col-xs-11 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 91.66667%; + -ms-flex: 0 0 91.66667%; + flex: 0 0 91.66667%; + max-width: 91.66667%; } + +.col-xs-12 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 100%; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; } + +.pull-xs-0 { + right: auto; } + +.pull-xs-1 { + right: 8.33333%; } + +.pull-xs-2 { + right: 16.66667%; } + +.pull-xs-3 { + right: 25%; } + +.pull-xs-4 { + right: 33.33333%; } + +.pull-xs-5 { + right: 41.66667%; } + +.pull-xs-6 { + right: 50%; } + +.pull-xs-7 { + right: 58.33333%; } + +.pull-xs-8 { + right: 66.66667%; } + +.pull-xs-9 { + right: 75%; } + +.pull-xs-10 { + right: 83.33333%; } + +.pull-xs-11 { + right: 91.66667%; } + +.pull-xs-12 { + right: 100%; } + +.push-xs-0 { + left: auto; } + +.push-xs-1 { + left: 8.33333%; } + +.push-xs-2 { + left: 16.66667%; } + +.push-xs-3 { + left: 25%; } + +.push-xs-4 { + left: 33.33333%; } + +.push-xs-5 { + left: 41.66667%; } + +.push-xs-6 { + left: 50%; } + +.push-xs-7 { + left: 58.33333%; } + +.push-xs-8 { + left: 66.66667%; } + +.push-xs-9 { + left: 75%; } + +.push-xs-10 { + left: 83.33333%; } + +.push-xs-11 { + left: 91.66667%; } + +.push-xs-12 { + left: 100%; } + +.offset-xs-1 { + margin-left: 8.33333%; } + +.offset-xs-2 { + margin-left: 16.66667%; } + +.offset-xs-3 { + margin-left: 25%; } + +.offset-xs-4 { + margin-left: 33.33333%; } + +.offset-xs-5 { + margin-left: 41.66667%; } + +.offset-xs-6 { + margin-left: 50%; } + +.offset-xs-7 { + margin-left: 58.33333%; } + +.offset-xs-8 { + margin-left: 66.66667%; } + +.offset-xs-9 { + margin-left: 75%; } + +.offset-xs-10 { + margin-left: 83.33333%; } + +.offset-xs-11 { + margin-left: 91.66667%; } + +@media (min-width: 544px) { + .col-sm { + position: relative; + -webkit-flex-basis: 0; + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; } + .col-sm-1 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 8.33333%; + -ms-flex: 0 0 8.33333%; + flex: 0 0 8.33333%; + max-width: 8.33333%; } + .col-sm-2 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 16.66667%; + -ms-flex: 0 0 16.66667%; + flex: 0 0 16.66667%; + max-width: 16.66667%; } + .col-sm-3 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 25%; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; } + .col-sm-4 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 33.33333%; + -ms-flex: 0 0 33.33333%; + flex: 0 0 33.33333%; + max-width: 33.33333%; } + .col-sm-5 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 41.66667%; + -ms-flex: 0 0 41.66667%; + flex: 0 0 41.66667%; + max-width: 41.66667%; } + .col-sm-6 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 50%; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; } + .col-sm-7 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 58.33333%; + -ms-flex: 0 0 58.33333%; + flex: 0 0 58.33333%; + max-width: 58.33333%; } + .col-sm-8 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 66.66667%; + -ms-flex: 0 0 66.66667%; + flex: 0 0 66.66667%; + max-width: 66.66667%; } + .col-sm-9 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 75%; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; } + .col-sm-10 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 83.33333%; + -ms-flex: 0 0 83.33333%; + flex: 0 0 83.33333%; + max-width: 83.33333%; } + .col-sm-11 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 91.66667%; + -ms-flex: 0 0 91.66667%; + flex: 0 0 91.66667%; + max-width: 91.66667%; } + .col-sm-12 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 100%; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; } + .pull-sm-0 { + right: auto; } + .pull-sm-1 { + right: 8.33333%; } + .pull-sm-2 { + right: 16.66667%; } + .pull-sm-3 { + right: 25%; } + .pull-sm-4 { + right: 33.33333%; } + .pull-sm-5 { + right: 41.66667%; } + .pull-sm-6 { + right: 50%; } + .pull-sm-7 { + right: 58.33333%; } + .pull-sm-8 { + right: 66.66667%; } + .pull-sm-9 { + right: 75%; } + .pull-sm-10 { + right: 83.33333%; } + .pull-sm-11 { + right: 91.66667%; } + .pull-sm-12 { + right: 100%; } + .push-sm-0 { + left: auto; } + .push-sm-1 { + left: 8.33333%; } + .push-sm-2 { + left: 16.66667%; } + .push-sm-3 { + left: 25%; } + .push-sm-4 { + left: 33.33333%; } + .push-sm-5 { + left: 41.66667%; } + .push-sm-6 { + left: 50%; } + .push-sm-7 { + left: 58.33333%; } + .push-sm-8 { + left: 66.66667%; } + .push-sm-9 { + left: 75%; } + .push-sm-10 { + left: 83.33333%; } + .push-sm-11 { + left: 91.66667%; } + .push-sm-12 { + left: 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%; } } + +@media (min-width: 768px) { + .col-md { + position: relative; + -webkit-flex-basis: 0; + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; } + .col-md-1 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 8.33333%; + -ms-flex: 0 0 8.33333%; + flex: 0 0 8.33333%; + max-width: 8.33333%; } + .col-md-2 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 16.66667%; + -ms-flex: 0 0 16.66667%; + flex: 0 0 16.66667%; + max-width: 16.66667%; } + .col-md-3 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 25%; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; } + .col-md-4 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 33.33333%; + -ms-flex: 0 0 33.33333%; + flex: 0 0 33.33333%; + max-width: 33.33333%; } + .col-md-5 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 41.66667%; + -ms-flex: 0 0 41.66667%; + flex: 0 0 41.66667%; + max-width: 41.66667%; } + .col-md-6 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 50%; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; } + .col-md-7 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 58.33333%; + -ms-flex: 0 0 58.33333%; + flex: 0 0 58.33333%; + max-width: 58.33333%; } + .col-md-8 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 66.66667%; + -ms-flex: 0 0 66.66667%; + flex: 0 0 66.66667%; + max-width: 66.66667%; } + .col-md-9 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 75%; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; } + .col-md-10 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 83.33333%; + -ms-flex: 0 0 83.33333%; + flex: 0 0 83.33333%; + max-width: 83.33333%; } + .col-md-11 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 91.66667%; + -ms-flex: 0 0 91.66667%; + flex: 0 0 91.66667%; + max-width: 91.66667%; } + .col-md-12 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 100%; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; } + .pull-md-0 { + right: auto; } + .pull-md-1 { + right: 8.33333%; } + .pull-md-2 { + right: 16.66667%; } + .pull-md-3 { + right: 25%; } + .pull-md-4 { + right: 33.33333%; } + .pull-md-5 { + right: 41.66667%; } + .pull-md-6 { + right: 50%; } + .pull-md-7 { + right: 58.33333%; } + .pull-md-8 { + right: 66.66667%; } + .pull-md-9 { + right: 75%; } + .pull-md-10 { + right: 83.33333%; } + .pull-md-11 { + right: 91.66667%; } + .pull-md-12 { + right: 100%; } + .push-md-0 { + left: auto; } + .push-md-1 { + left: 8.33333%; } + .push-md-2 { + left: 16.66667%; } + .push-md-3 { + left: 25%; } + .push-md-4 { + left: 33.33333%; } + .push-md-5 { + left: 41.66667%; } + .push-md-6 { + left: 50%; } + .push-md-7 { + left: 58.33333%; } + .push-md-8 { + left: 66.66667%; } + .push-md-9 { + left: 75%; } + .push-md-10 { + left: 83.33333%; } + .push-md-11 { + left: 91.66667%; } + .push-md-12 { + left: 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%; } } + +@media (min-width: 992px) { + .col-lg { + position: relative; + -webkit-flex-basis: 0; + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; } + .col-lg-1 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 8.33333%; + -ms-flex: 0 0 8.33333%; + flex: 0 0 8.33333%; + max-width: 8.33333%; } + .col-lg-2 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 16.66667%; + -ms-flex: 0 0 16.66667%; + flex: 0 0 16.66667%; + max-width: 16.66667%; } + .col-lg-3 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 25%; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; } + .col-lg-4 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 33.33333%; + -ms-flex: 0 0 33.33333%; + flex: 0 0 33.33333%; + max-width: 33.33333%; } + .col-lg-5 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 41.66667%; + -ms-flex: 0 0 41.66667%; + flex: 0 0 41.66667%; + max-width: 41.66667%; } + .col-lg-6 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 50%; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; } + .col-lg-7 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 58.33333%; + -ms-flex: 0 0 58.33333%; + flex: 0 0 58.33333%; + max-width: 58.33333%; } + .col-lg-8 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 66.66667%; + -ms-flex: 0 0 66.66667%; + flex: 0 0 66.66667%; + max-width: 66.66667%; } + .col-lg-9 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 75%; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; } + .col-lg-10 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 83.33333%; + -ms-flex: 0 0 83.33333%; + flex: 0 0 83.33333%; + max-width: 83.33333%; } + .col-lg-11 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 91.66667%; + -ms-flex: 0 0 91.66667%; + flex: 0 0 91.66667%; + max-width: 91.66667%; } + .col-lg-12 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 100%; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; } + .pull-lg-0 { + right: auto; } + .pull-lg-1 { + right: 8.33333%; } + .pull-lg-2 { + right: 16.66667%; } + .pull-lg-3 { + right: 25%; } + .pull-lg-4 { + right: 33.33333%; } + .pull-lg-5 { + right: 41.66667%; } + .pull-lg-6 { + right: 50%; } + .pull-lg-7 { + right: 58.33333%; } + .pull-lg-8 { + right: 66.66667%; } + .pull-lg-9 { + right: 75%; } + .pull-lg-10 { + right: 83.33333%; } + .pull-lg-11 { + right: 91.66667%; } + .pull-lg-12 { + right: 100%; } + .push-lg-0 { + left: auto; } + .push-lg-1 { + left: 8.33333%; } + .push-lg-2 { + left: 16.66667%; } + .push-lg-3 { + left: 25%; } + .push-lg-4 { + left: 33.33333%; } + .push-lg-5 { + left: 41.66667%; } + .push-lg-6 { + left: 50%; } + .push-lg-7 { + left: 58.33333%; } + .push-lg-8 { + left: 66.66667%; } + .push-lg-9 { + left: 75%; } + .push-lg-10 { + left: 83.33333%; } + .push-lg-11 { + left: 91.66667%; } + .push-lg-12 { + left: 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%; } } + +@media (min-width: 1200px) { + .col-xl { + position: relative; + -webkit-flex-basis: 0; + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; } + .col-xl-1 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 8.33333%; + -ms-flex: 0 0 8.33333%; + flex: 0 0 8.33333%; + max-width: 8.33333%; } + .col-xl-2 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 16.66667%; + -ms-flex: 0 0 16.66667%; + flex: 0 0 16.66667%; + max-width: 16.66667%; } + .col-xl-3 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 25%; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; } + .col-xl-4 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 33.33333%; + -ms-flex: 0 0 33.33333%; + flex: 0 0 33.33333%; + max-width: 33.33333%; } + .col-xl-5 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 41.66667%; + -ms-flex: 0 0 41.66667%; + flex: 0 0 41.66667%; + max-width: 41.66667%; } + .col-xl-6 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 50%; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; } + .col-xl-7 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 58.33333%; + -ms-flex: 0 0 58.33333%; + flex: 0 0 58.33333%; + max-width: 58.33333%; } + .col-xl-8 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 66.66667%; + -ms-flex: 0 0 66.66667%; + flex: 0 0 66.66667%; + max-width: 66.66667%; } + .col-xl-9 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 75%; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; } + .col-xl-10 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 83.33333%; + -ms-flex: 0 0 83.33333%; + flex: 0 0 83.33333%; + max-width: 83.33333%; } + .col-xl-11 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 91.66667%; + -ms-flex: 0 0 91.66667%; + flex: 0 0 91.66667%; + max-width: 91.66667%; } + .col-xl-12 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 100%; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; } + .pull-xl-0 { + right: auto; } + .pull-xl-1 { + right: 8.33333%; } + .pull-xl-2 { + right: 16.66667%; } + .pull-xl-3 { + right: 25%; } + .pull-xl-4 { + right: 33.33333%; } + .pull-xl-5 { + right: 41.66667%; } + .pull-xl-6 { + right: 50%; } + .pull-xl-7 { + right: 58.33333%; } + .pull-xl-8 { + right: 66.66667%; } + .pull-xl-9 { + right: 75%; } + .pull-xl-10 { + right: 83.33333%; } + .pull-xl-11 { + right: 91.66667%; } + .pull-xl-12 { + right: 100%; } + .push-xl-0 { + left: auto; } + .push-xl-1 { + left: 8.33333%; } + .push-xl-2 { + left: 16.66667%; } + .push-xl-3 { + left: 25%; } + .push-xl-4 { + left: 33.33333%; } + .push-xl-5 { + left: 41.66667%; } + .push-xl-6 { + left: 50%; } + .push-xl-7 { + left: 58.33333%; } + .push-xl-8 { + left: 66.66667%; } + .push-xl-9 { + left: 75%; } + .push-xl-10 { + left: 83.33333%; } + .push-xl-11 { + left: 91.66667%; } + .push-xl-12 { + left: 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%; } } + +.table { + width: 100%; + max-width: 100%; + margin-bottom: 0.5rem; } + .table th, + .table td { + padding: 0.75rem; + vertical-align: top; + border-top: 1px solid rgba(0, 0, 0, 0.12); } + .table thead th { + vertical-align: bottom; + border-bottom: 2px solid rgba(0, 0, 0, 0.12); } + .table tbody + tbody { + border-top: 2px solid rgba(0, 0, 0, 0.12); } + .table .table { + background-color: #fafafa; } + +.table-sm th, +.table-sm td { + padding: 0.3rem; } + +.table-bordered { + border: 1px solid rgba(0, 0, 0, 0.12); } + .table-bordered th, + .table-bordered td { + border: 1px solid rgba(0, 0, 0, 0.12); } + .table-bordered thead th, + .table-bordered thead td { + border-bottom-width: 2px; } + +.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(0, 0, 0, 0.05); } + +.table-hover tbody tr:hover { + background-color: rgba(0, 0, 0, 0.075); } + +.table-active, +.table-active > th, +.table-active > td { + background-color: rgba(0, 0, 0, 0.075); } + +.table-hover .table-active:hover { + background-color: rgba(0, 0, 0, 0.075); } + .table-hover .table-active:hover > td, + .table-hover .table-active:hover > th { + background-color: rgba(0, 0, 0, 0.075); } + +.table-success, +.table-success > th, +.table-success > td { + background-color: #4caf50; } + +.table-hover .table-success:hover { + background-color: #449d48; } + .table-hover .table-success:hover > td, + .table-hover .table-success:hover > th { + background-color: #449d48; } + +.table-info, +.table-info > th, +.table-info > td { + background-color: #03a9f4; } + +.table-hover .table-info:hover { + background-color: #0398db; } + .table-hover .table-info:hover > td, + .table-hover .table-info:hover > th { + background-color: #0398db; } + +.table-warning, +.table-warning > th, +.table-warning > td { + background-color: #ff5722; } + +.table-hover .table-warning:hover { + background-color: #ff4409; } + .table-hover .table-warning:hover > td, + .table-hover .table-warning:hover > th { + background-color: #ff4409; } + +.table-danger, +.table-danger > th, +.table-danger > td { + background-color: #f44336; } + +.table-hover .table-danger:hover { + background-color: #f32c1e; } + .table-hover .table-danger:hover > td, + .table-hover .table-danger:hover > th { + background-color: #f32c1e; } + +.thead-inverse th { + color: #fff; + background-color: rgba(0, 0, 0, 0.87); } + +.thead-default th { + color: rgba(0, 0, 0, 0.54); + background-color: rgba(0, 0, 0, 0.12); } + +.table-inverse { + color: rgba(0, 0, 0, 0.12); + background-color: rgba(0, 0, 0, 0.87); } + .table-inverse th, + .table-inverse td, + .table-inverse thead th { + border-color: rgba(0, 0, 0, 0.54); } + .table-inverse.table-bordered { + border: 0; } + +.table-responsive { + display: block; + width: 100%; + min-height: .01%; + overflow-x: auto; } + +.table-reflow thead { + float: left; } + +.table-reflow tbody { + display: block; + white-space: nowrap; } + +.table-reflow th, +.table-reflow td { + border-top: 1px solid rgba(0, 0, 0, 0.12); + border-left: 1px solid rgba(0, 0, 0, 0.12); } + .table-reflow th:last-child, + .table-reflow td:last-child { + border-right: 1px solid rgba(0, 0, 0, 0.12); } + +.table-reflow thead:last-child tr:last-child th, +.table-reflow thead:last-child tr:last-child td, +.table-reflow tbody:last-child tr:last-child th, +.table-reflow tbody:last-child tr:last-child td, +.table-reflow tfoot:last-child tr:last-child th, +.table-reflow tfoot:last-child tr:last-child td { + border-bottom: 1px solid rgba(0, 0, 0, 0.12); } + +.table-reflow tr { + float: left; } + .table-reflow tr th, + .table-reflow tr td { + display: block !important; + border: 1px solid rgba(0, 0, 0, 0.12); } + +.form-control, .custom-file-control { + display: block; + width: 100%; + padding: 0.4375rem 0; + font-size: 1rem; + line-height: 1.25; + color: rgba(0, 0, 0, 0.54); + background-color: transparent; + background-image: none; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.26); + border-radius: 0; + -webkit-box-shadow: none; + box-shadow: none; } + .form-control::-ms-expand, .custom-file-control::-ms-expand { + background-color: transparent; + border: 0; } + .form-control:focus, .custom-file-control:focus { + color: rgba(0, 0, 0, 0.54); + background-color: transparent; + border-color: #66afe9; + outline: none; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px none; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px none; } + .form-control::-webkit-input-placeholder, .custom-file-control::-webkit-input-placeholder { + color: rgba(0, 0, 0, 0.26); + opacity: 1; } + .form-control::-moz-placeholder, .custom-file-control::-moz-placeholder { + color: rgba(0, 0, 0, 0.26); + opacity: 1; } + .form-control:-ms-input-placeholder, .custom-file-control:-ms-input-placeholder { + color: rgba(0, 0, 0, 0.26); + opacity: 1; } + .form-control::placeholder, .custom-file-control::placeholder { + color: rgba(0, 0, 0, 0.26); + opacity: 1; } + .form-control:disabled, .custom-file-control:disabled, .form-control[readonly], [readonly].custom-file-control { + background-color: transparent; + opacity: 1; } + .form-control:disabled, .custom-file-control:disabled { + cursor: not-allowed; } + +select.form-control:not([size]):not([multiple]), select.custom-file-control:not([size]):not([multiple]) { + height: 2.375rem; } + +select.form-control:focus::-ms-value, select.custom-file-control:focus::-ms-value { + color: rgba(0, 0, 0, 0.54); + background-color: transparent; } + +.form-control-file, +.form-control-range { + display: block; } + +.col-form-label { + padding-top: 0.4375rem; + padding-bottom: 0.4375rem; + margin-bottom: 0; } + +.col-form-label-lg { + padding-top: 0.5625rem; + padding-bottom: 0.5625rem; + font-size: 1.25rem; } + +.col-form-label-sm { + padding-top: 0.25rem; + padding-bottom: 0.25rem; + font-size: 0.875rem; } + +.col-form-legend { + padding-top: 0.4375rem; + padding-bottom: 0.4375rem; + margin-bottom: 0; + font-size: 1rem; } + +.form-control-static { + min-height: 2.375rem; + padding-top: 0.4375rem; + padding-bottom: 0.4375rem; + margin-bottom: 0; } + .form-control-static.form-control-sm, .input-group-sm > .form-control-static.form-control, .input-group-sm > .form-control-static.custom-file-control, + .input-group-sm > .form-control-static.input-group-addon, + .input-group-sm > .input-group-btn > .form-control-static.btn, + .input-group-sm > .input-group-btn > .form-control-static.custom-file-control::before, .form-control-static.form-control-lg, .input-group-lg > .form-control-static.form-control, .input-group-lg > .form-control-static.custom-file-control, + .input-group-lg > .form-control-static.input-group-addon, + .input-group-lg > .input-group-btn > .form-control-static.btn, + .input-group-lg > .input-group-btn > .form-control-static.custom-file-control::before { + padding-right: 0; + padding-left: 0; } + +.form-control-sm, .input-group-sm > .form-control, .input-group-sm > .custom-file-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn, +.input-group-sm > .input-group-btn > .custom-file-control::before { + padding: 0.25rem 0; + font-size: 0.875rem; + border-radius: 0.0625rem; } + +select.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]), .input-group-sm > select.custom-file-control:not([size]):not([multiple]), +.input-group-sm > select.input-group-addon:not([size]):not([multiple]), +.input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]), +.input-group-sm > .input-group-btn > select.custom-file-control:not([size]):not([multiple])::before { + height: 1.8125rem; } + +.form-control-lg, .input-group-lg > .form-control, .input-group-lg > .custom-file-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn, +.input-group-lg > .input-group-btn > .custom-file-control::before { + padding: 0.5625rem 0; + font-size: 1.25rem; + border-radius: 0.3rem; } + +select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]), .input-group-lg > select.custom-file-control:not([size]):not([multiple]), +.input-group-lg > select.input-group-addon:not([size]):not([multiple]), +.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]), +.input-group-lg > .input-group-btn > select.custom-file-control:not([size]):not([multiple])::before { + height: 2.79167rem; } + +.form-group { + margin-bottom: 0.5rem; } + +.form-text { + display: block; + margin-top: 0.125rem; } + +.form-check { + position: relative; + display: block; + margin-bottom: 0.375rem; } + .form-check + .form-check { + margin-top: -.25rem; } + .form-check.disabled .form-check-label { + color: rgba(0, 0, 0, 0.26); + cursor: not-allowed; } + +.form-check-label { + padding-left: 1.25rem; + margin-bottom: 0; + cursor: pointer; } + +.form-check-input { + position: absolute; + margin-top: .25rem; + margin-left: -1.25rem; } + .form-check-input:only-child { + position: static; } + +.form-check-inline { + position: relative; + display: inline-block; + padding-left: 1.25rem; + margin-bottom: 0; + vertical-align: middle; + cursor: pointer; } + .form-check-inline + .form-check-inline { + margin-left: .75rem; } + .form-check-inline.disabled { + cursor: not-allowed; } + +.form-control-feedback { + margin-top: 0.125rem; } + +.form-control-success, +.form-control-warning, +.form-control-danger { + padding-right: 0; + background-repeat: no-repeat; + background-position: center right 0.59375rem; + -webkit-background-size: 1.1875rem 1.1875rem; + background-size: 1.1875rem 1.1875rem; } + +.has-success .form-control-feedback, +.has-success .form-control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline, +.has-success.radio label, +.has-success.checkbox label, +.has-success.radio-inline label, +.has-success.checkbox-inline label, +.has-success .custom-control { + color: #4caf50; } + +.has-success .form-control, .has-success .custom-file-control { + border-color: #4caf50; } + +.has-success .input-group-addon { + color: #4caf50; + border-color: #4caf50; + background-color: #d9eeda; } + +.has-success .form-control-feedback { + color: #4caf50; } + +.has-success .form-control-success { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.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"); } + +.has-warning .form-control-feedback, +.has-warning .form-control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline, +.has-warning.radio label, +.has-warning.checkbox label, +.has-warning.radio-inline label, +.has-warning.checkbox-inline label, +.has-warning .custom-control { + color: #ff5722; } + +.has-warning .form-control, .has-warning .custom-file-control { + border-color: #ff5722; } + +.has-warning .input-group-addon { + color: #ff5722; + border-color: #ff5722; + background-color: #fff2ee; } + +.has-warning .form-control-feedback { + color: #ff5722; } + +.has-warning .form-control-warning { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"); } + +.has-danger .form-control-feedback, +.has-danger .form-control-label, +.has-danger .radio, +.has-danger .checkbox, +.has-danger .radio-inline, +.has-danger .checkbox-inline, +.has-danger.radio label, +.has-danger.checkbox label, +.has-danger.radio-inline label, +.has-danger.checkbox-inline label, +.has-danger .custom-control { + color: #f44336; } + +.has-danger .form-control, .has-danger .custom-file-control { + border-color: #f44336; } + +.has-danger .input-group-addon { + color: #f44336; + border-color: #f44336; + background-color: #fff8f7; } + +.has-danger .form-control-feedback { + color: #f44336; } + +.has-danger .form-control-danger { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"); } + +@media (min-width: 544px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; } + .form-inline .form-control, .form-inline .custom-file-control { + display: inline-block; + width: auto; + vertical-align: middle; } + .form-inline .form-control-static { + display: inline-block; } + .form-inline .input-group { + display: inline-table; + vertical-align: middle; } + .form-inline .input-group .input-group-addon, + .form-inline .input-group .input-group-btn, + .form-inline .input-group .form-control, + .form-inline .input-group .custom-file-control { + width: auto; } + .form-inline .input-group > .form-control, .form-inline .input-group > .custom-file-control { + width: 100%; } + .form-inline .form-control-label { + margin-bottom: 0; + vertical-align: middle; } + .form-inline .form-check { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; } + .form-inline .form-check-label { + padding-left: 0; } + .form-inline .form-check-input { + position: relative; + margin-left: 0; } + .form-inline .has-feedback .form-control-feedback { + top: 0; } } + +.btn, .custom-file-control::before { + display: inline-block; + font-weight: 500; + line-height: 1.25; + text-align: center; + white-space: nowrap; + vertical-align: middle; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + border: 1px solid transparent; + padding: 0.46875rem 1rem; + font-size: 1rem; + border-radius: 0.125rem; } + .btn:focus, .custom-file-control:focus::before, .btn.focus, .focus.custom-file-control::before, .btn:active:focus, .custom-file-control:active:focus::before, .btn:active.focus, .custom-file-control:active.focus::before, .btn.active:focus, .active.custom-file-control:focus::before, .btn.active.focus, .active.focus.custom-file-control::before { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; } + .btn:focus, .custom-file-control:focus::before, .btn:hover, .custom-file-control:hover::before { + text-decoration: none; } + .btn.focus, .focus.custom-file-control::before { + text-decoration: none; } + .btn:active, .custom-file-control:active::before, .btn.active, .active.custom-file-control::before { + background-image: none; + outline: 0; + -webkit-box-shadow: none; + box-shadow: none; } + .btn.disabled, .disabled.custom-file-control::before, .btn:disabled, .custom-file-control:disabled::before { + cursor: not-allowed; + opacity: .65; + -webkit-box-shadow: none; + box-shadow: none; } + +a.btn.disabled, a.disabled.custom-file-control::before, +fieldset[disabled] a.btn, +fieldset[disabled] a.custom-file-control::before { + pointer-events: none; } + +.btn-primary { + color: #fff; + background-color: #009688; + border-color: #009688; + -webkit-box-shadow: none; + box-shadow: none; } + .btn-primary:hover { + color: #fff; + background-color: #00635a; + border-color: #005951; } + .btn-primary:focus, .btn-primary.focus { + color: #fff; + background-color: #00635a; + border-color: #005951; } + .btn-primary:active, .btn-primary.active, + .open > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #00635a; + border-color: #005951; + background-image: none; + -webkit-box-shadow: none; + box-shadow: none; } + .btn-primary:active:hover, .btn-primary:active:focus, .btn-primary:active.focus, .btn-primary.active:hover, .btn-primary.active:focus, .btn-primary.active.focus, + .open > .btn-primary.dropdown-toggle:hover, + .open > .btn-primary.dropdown-toggle:focus, + .open > .btn-primary.dropdown-toggle.focus { + color: #fff; + background-color: #003f39; + border-color: #001714; } + .btn-primary.disabled:focus, .btn-primary.disabled.focus, .btn-primary:disabled:focus, .btn-primary:disabled.focus { + background-color: #009688; + border-color: #009688; } + .btn-primary.disabled:hover, .btn-primary:disabled:hover { + background-color: #009688; + border-color: #009688; } + +.btn-secondary { + color: rgba(0, 0, 0, 0.87); + background-color: #fafafa; + border-color: #ccc; + -webkit-box-shadow: none; + box-shadow: none; } + .btn-secondary:hover { + color: rgba(0, 0, 0, 0.87); + background-color: #e1e1e1; + border-color: #adadad; } + .btn-secondary:focus, .btn-secondary.focus { + color: rgba(0, 0, 0, 0.87); + background-color: #e1e1e1; + border-color: #adadad; } + .btn-secondary:active, .btn-secondary.active, + .open > .btn-secondary.dropdown-toggle { + color: rgba(0, 0, 0, 0.87); + background-color: #e1e1e1; + border-color: #adadad; + background-image: none; + -webkit-box-shadow: none; + box-shadow: none; } + .btn-secondary:active:hover, .btn-secondary:active:focus, .btn-secondary:active.focus, .btn-secondary.active:hover, .btn-secondary.active:focus, .btn-secondary.active.focus, + .open > .btn-secondary.dropdown-toggle:hover, + .open > .btn-secondary.dropdown-toggle:focus, + .open > .btn-secondary.dropdown-toggle.focus { + color: rgba(0, 0, 0, 0.87); + background-color: #cfcfcf; + border-color: #8c8c8c; } + .btn-secondary.disabled:focus, .btn-secondary.disabled.focus, .btn-secondary:disabled:focus, .btn-secondary:disabled.focus { + background-color: #fafafa; + border-color: #ccc; } + .btn-secondary.disabled:hover, .btn-secondary:disabled:hover { + background-color: #fafafa; + border-color: #ccc; } + +.btn-info { + color: #fff; + background-color: #03a9f4; + border-color: #03a9f4; + -webkit-box-shadow: none; + box-shadow: none; } + .btn-info:hover { + color: #fff; + background-color: #0286c2; + border-color: #027fb8; } + .btn-info:focus, .btn-info.focus { + color: #fff; + background-color: #0286c2; + border-color: #027fb8; } + .btn-info:active, .btn-info.active, + .open > .btn-info.dropdown-toggle { + color: #fff; + background-color: #0286c2; + border-color: #027fb8; + background-image: none; + -webkit-box-shadow: none; + box-shadow: none; } + .btn-info:active:hover, .btn-info:active:focus, .btn-info:active.focus, .btn-info.active:hover, .btn-info.active:focus, .btn-info.active.focus, + .open > .btn-info.dropdown-toggle:hover, + .open > .btn-info.dropdown-toggle:focus, + .open > .btn-info.dropdown-toggle.focus { + color: #fff; + background-color: #026e9e; + border-color: #015276; } + .btn-info.disabled:focus, .btn-info.disabled.focus, .btn-info:disabled:focus, .btn-info:disabled.focus { + background-color: #03a9f4; + border-color: #03a9f4; } + .btn-info.disabled:hover, .btn-info:disabled:hover { + background-color: #03a9f4; + border-color: #03a9f4; } + +.btn-success { + color: #fff; + background-color: #4caf50; + border-color: #4caf50; + -webkit-box-shadow: none; + box-shadow: none; } + .btn-success:hover { + color: #fff; + background-color: #3d8b40; + border-color: #39843c; } + .btn-success:focus, .btn-success.focus { + color: #fff; + background-color: #3d8b40; + border-color: #39843c; } + .btn-success:active, .btn-success.active, + .open > .btn-success.dropdown-toggle { + color: #fff; + background-color: #3d8b40; + border-color: #39843c; + background-image: none; + -webkit-box-shadow: none; + box-shadow: none; } + .btn-success:active:hover, .btn-success:active:focus, .btn-success:active.focus, .btn-success.active:hover, .btn-success.active:focus, .btn-success.active.focus, + .open > .btn-success.dropdown-toggle:hover, + .open > .btn-success.dropdown-toggle:focus, + .open > .btn-success.dropdown-toggle.focus { + color: #fff; + background-color: #327334; + border-color: #255627; } + .btn-success.disabled:focus, .btn-success.disabled.focus, .btn-success:disabled:focus, .btn-success:disabled.focus { + background-color: #4caf50; + border-color: #4caf50; } + .btn-success.disabled:hover, .btn-success:disabled:hover { + background-color: #4caf50; + border-color: #4caf50; } + +.btn-warning { + color: #fff; + background-color: #ff5722; + border-color: #ff5722; + -webkit-box-shadow: none; + box-shadow: none; } + .btn-warning:hover { + color: #fff; + background-color: #ee3900; + border-color: #e43700; } + .btn-warning:focus, .btn-warning.focus { + color: #fff; + background-color: #ee3900; + border-color: #e43700; } + .btn-warning:active, .btn-warning.active, + .open > .btn-warning.dropdown-toggle { + color: #fff; + background-color: #ee3900; + border-color: #e43700; + background-image: none; + -webkit-box-shadow: none; + box-shadow: none; } + .btn-warning:active:hover, .btn-warning:active:focus, .btn-warning:active.focus, .btn-warning.active:hover, .btn-warning.active:focus, .btn-warning.active.focus, + .open > .btn-warning.dropdown-toggle:hover, + .open > .btn-warning.dropdown-toggle:focus, + .open > .btn-warning.dropdown-toggle.focus { + color: #fff; + background-color: #ca3100; + border-color: #a22700; } + .btn-warning.disabled:focus, .btn-warning.disabled.focus, .btn-warning:disabled:focus, .btn-warning:disabled.focus { + background-color: #ff5722; + border-color: #ff5722; } + .btn-warning.disabled:hover, .btn-warning:disabled:hover { + background-color: #ff5722; + border-color: #ff5722; } + +.btn-danger { + color: #fff; + background-color: #f44336; + border-color: #f44336; + -webkit-box-shadow: none; + box-shadow: none; } + .btn-danger:hover { + color: #fff; + background-color: #ea1c0d; + border-color: #e11b0c; } + .btn-danger:focus, .btn-danger.focus { + color: #fff; + background-color: #ea1c0d; + border-color: #e11b0c; } + .btn-danger:active, .btn-danger.active, + .open > .btn-danger.dropdown-toggle { + color: #fff; + background-color: #ea1c0d; + border-color: #e11b0c; + background-image: none; + -webkit-box-shadow: none; + box-shadow: none; } + .btn-danger:active:hover, .btn-danger:active:focus, .btn-danger:active.focus, .btn-danger.active:hover, .btn-danger.active:focus, .btn-danger.active.focus, + .open > .btn-danger.dropdown-toggle:hover, + .open > .btn-danger.dropdown-toggle:focus, + .open > .btn-danger.dropdown-toggle.focus { + color: #fff; + background-color: #c8180b; + border-color: #a21309; } + .btn-danger.disabled:focus, .btn-danger.disabled.focus, .btn-danger:disabled:focus, .btn-danger:disabled.focus { + background-color: #f44336; + border-color: #f44336; } + .btn-danger.disabled:hover, .btn-danger:disabled:hover { + background-color: #f44336; + border-color: #f44336; } + +.btn-outline-primary { + color: #009688; + background-image: none; + background-color: transparent; + border-color: #009688; } + .btn-outline-primary:hover { + color: #fff; + background-color: #009688; + border-color: #009688; } + .btn-outline-primary:focus, .btn-outline-primary.focus { + color: #fff; + background-color: #009688; + border-color: #009688; } + .btn-outline-primary:active, .btn-outline-primary.active, + .open > .btn-outline-primary.dropdown-toggle { + color: #fff; + background-color: #009688; + border-color: #009688; } + .btn-outline-primary:active:hover, .btn-outline-primary:active:focus, .btn-outline-primary:active.focus, .btn-outline-primary.active:hover, .btn-outline-primary.active:focus, .btn-outline-primary.active.focus, + .open > .btn-outline-primary.dropdown-toggle:hover, + .open > .btn-outline-primary.dropdown-toggle:focus, + .open > .btn-outline-primary.dropdown-toggle.focus { + color: #fff; + background-color: #003f39; + border-color: #001714; } + .btn-outline-primary.disabled:focus, .btn-outline-primary.disabled.focus, .btn-outline-primary:disabled:focus, .btn-outline-primary:disabled.focus { + border-color: #00fce4; } + .btn-outline-primary.disabled:hover, .btn-outline-primary:disabled:hover { + border-color: #00fce4; } + +.btn-outline-secondary { + color: #ccc; + background-image: none; + background-color: transparent; + border-color: #ccc; } + .btn-outline-secondary:hover { + color: #fff; + background-color: #ccc; + border-color: #ccc; } + .btn-outline-secondary:focus, .btn-outline-secondary.focus { + color: #fff; + background-color: #ccc; + border-color: #ccc; } + .btn-outline-secondary:active, .btn-outline-secondary.active, + .open > .btn-outline-secondary.dropdown-toggle { + color: #fff; + background-color: #ccc; + border-color: #ccc; } + .btn-outline-secondary:active:hover, .btn-outline-secondary:active:focus, .btn-outline-secondary:active.focus, .btn-outline-secondary.active:hover, .btn-outline-secondary.active:focus, .btn-outline-secondary.active.focus, + .open > .btn-outline-secondary.dropdown-toggle:hover, + .open > .btn-outline-secondary.dropdown-toggle:focus, + .open > .btn-outline-secondary.dropdown-toggle.focus { + color: #fff; + background-color: #a1a1a1; + border-color: #8c8c8c; } + .btn-outline-secondary.disabled:focus, .btn-outline-secondary.disabled.focus, .btn-outline-secondary:disabled:focus, .btn-outline-secondary:disabled.focus { + border-color: white; } + .btn-outline-secondary.disabled:hover, .btn-outline-secondary:disabled:hover { + border-color: white; } + +.btn-outline-info { + color: #03a9f4; + background-image: none; + background-color: transparent; + border-color: #03a9f4; } + .btn-outline-info:hover { + color: #fff; + background-color: #03a9f4; + border-color: #03a9f4; } + .btn-outline-info:focus, .btn-outline-info.focus { + color: #fff; + background-color: #03a9f4; + border-color: #03a9f4; } + .btn-outline-info:active, .btn-outline-info.active, + .open > .btn-outline-info.dropdown-toggle { + color: #fff; + background-color: #03a9f4; + border-color: #03a9f4; } + .btn-outline-info:active:hover, .btn-outline-info:active:focus, .btn-outline-info:active.focus, .btn-outline-info.active:hover, .btn-outline-info.active:focus, .btn-outline-info.active.focus, + .open > .btn-outline-info.dropdown-toggle:hover, + .open > .btn-outline-info.dropdown-toggle:focus, + .open > .btn-outline-info.dropdown-toggle.focus { + color: #fff; + background-color: #026e9e; + border-color: #015276; } + .btn-outline-info.disabled:focus, .btn-outline-info.disabled.focus, .btn-outline-info:disabled:focus, .btn-outline-info:disabled.focus { + border-color: #60ccfd; } + .btn-outline-info.disabled:hover, .btn-outline-info:disabled:hover { + border-color: #60ccfd; } + +.btn-outline-success { + color: #4caf50; + background-image: none; + background-color: transparent; + border-color: #4caf50; } + .btn-outline-success:hover { + color: #fff; + background-color: #4caf50; + border-color: #4caf50; } + .btn-outline-success:focus, .btn-outline-success.focus { + color: #fff; + background-color: #4caf50; + border-color: #4caf50; } + .btn-outline-success:active, .btn-outline-success.active, + .open > .btn-outline-success.dropdown-toggle { + color: #fff; + background-color: #4caf50; + border-color: #4caf50; } + .btn-outline-success:active:hover, .btn-outline-success:active:focus, .btn-outline-success:active.focus, .btn-outline-success.active:hover, .btn-outline-success.active:focus, .btn-outline-success.active.focus, + .open > .btn-outline-success.dropdown-toggle:hover, + .open > .btn-outline-success.dropdown-toggle:focus, + .open > .btn-outline-success.dropdown-toggle.focus { + color: #fff; + background-color: #327334; + border-color: #255627; } + .btn-outline-success.disabled:focus, .btn-outline-success.disabled.focus, .btn-outline-success:disabled:focus, .btn-outline-success:disabled.focus { + border-color: #92cf94; } + .btn-outline-success.disabled:hover, .btn-outline-success:disabled:hover { + border-color: #92cf94; } + +.btn-outline-warning { + color: #ff5722; + background-image: none; + background-color: transparent; + border-color: #ff5722; } + .btn-outline-warning:hover { + color: #fff; + background-color: #ff5722; + border-color: #ff5722; } + .btn-outline-warning:focus, .btn-outline-warning.focus { + color: #fff; + background-color: #ff5722; + border-color: #ff5722; } + .btn-outline-warning:active, .btn-outline-warning.active, + .open > .btn-outline-warning.dropdown-toggle { + color: #fff; + background-color: #ff5722; + border-color: #ff5722; } + .btn-outline-warning:active:hover, .btn-outline-warning:active:focus, .btn-outline-warning:active.focus, .btn-outline-warning.active:hover, .btn-outline-warning.active:focus, .btn-outline-warning.active.focus, + .open > .btn-outline-warning.dropdown-toggle:hover, + .open > .btn-outline-warning.dropdown-toggle:focus, + .open > .btn-outline-warning.dropdown-toggle.focus { + color: #fff; + background-color: #ca3100; + border-color: #a22700; } + .btn-outline-warning.disabled:focus, .btn-outline-warning.disabled.focus, .btn-outline-warning:disabled:focus, .btn-outline-warning:disabled.focus { + border-color: #ffa588; } + .btn-outline-warning.disabled:hover, .btn-outline-warning:disabled:hover { + border-color: #ffa588; } + +.btn-outline-danger { + color: #f44336; + background-image: none; + background-color: transparent; + border-color: #f44336; } + .btn-outline-danger:hover { + color: #fff; + background-color: #f44336; + border-color: #f44336; } + .btn-outline-danger:focus, .btn-outline-danger.focus { + color: #fff; + background-color: #f44336; + border-color: #f44336; } + .btn-outline-danger:active, .btn-outline-danger.active, + .open > .btn-outline-danger.dropdown-toggle { + color: #fff; + background-color: #f44336; + border-color: #f44336; } + .btn-outline-danger:active:hover, .btn-outline-danger:active:focus, .btn-outline-danger:active.focus, .btn-outline-danger.active:hover, .btn-outline-danger.active:focus, .btn-outline-danger.active.focus, + .open > .btn-outline-danger.dropdown-toggle:hover, + .open > .btn-outline-danger.dropdown-toggle:focus, + .open > .btn-outline-danger.dropdown-toggle.focus { + color: #fff; + background-color: #c8180b; + border-color: #a21309; } + .btn-outline-danger.disabled:focus, .btn-outline-danger.disabled.focus, .btn-outline-danger:disabled:focus, .btn-outline-danger:disabled.focus { + border-color: #f99d97; } + .btn-outline-danger.disabled:hover, .btn-outline-danger:disabled:hover { + border-color: #f99d97; } + +.btn-link { + font-weight: normal; + color: #009688; + border-radius: 0; } + .btn-link, .btn-link:active, .btn-link.active, .btn-link:disabled { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; } + .btn-link, .btn-link:focus, .btn-link:active { + border-color: transparent; } + .btn-link:hover { + border-color: transparent; } + .btn-link:focus, .btn-link:hover { + color: #004a43; + text-decoration: underline; + background-color: transparent; } + .btn-link:disabled:focus, .btn-link:disabled:hover { + color: rgba(0, 0, 0, 0.26); + text-decoration: none; } + +.btn-lg, .btn-group-lg > .btn, .btn-group-lg > .custom-file-control::before { + padding: 0.75rem 1.5rem; + font-size: 1.25rem; + border-radius: 0.3rem; } + +.btn-sm, .btn-group-sm > .btn, .btn-group-sm > .custom-file-control::before { + padding: 0.40625rem 0.5rem; + font-size: 0.875rem; + border-radius: 0.0625rem; } + +.btn-block { + display: block; + width: 100%; } + +.btn-block + .btn-block { + margin-top: 0.5rem; } + +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; } + +.fade { + opacity: 0; + -webkit-transition: opacity .15s linear; + -o-transition: opacity .15s linear; + transition: opacity .15s linear; } + .fade.in { + opacity: 1; } + +.collapse { + display: none; } + .collapse.in { + display: block; } + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition-timing-function: ease; + -o-transition-timing-function: ease; + transition-timing-function: ease; + -webkit-transition-duration: .35s; + -o-transition-duration: .35s; + transition-duration: .35s; + -webkit-transition-property: height; + -o-transition-property: height; + transition-property: height; } + +.dropup, +.dropdown { + position: relative; } + +.dropdown-toggle::after { + display: inline-block; + width: 0; + height: 0; + margin-left: 0.3em; + vertical-align: middle; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-left: 0.3em solid transparent; } + +.dropdown-toggle:focus { + outline: 0; } + +.dropup .dropdown-toggle::after { + border-top: 0; + border-bottom: 0.3em solid; } + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + font-size: 1rem; + color: rgba(0, 0, 0, 0.87); + text-align: left; + list-style: none; + background-color: #fff; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0.125rem; + -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); } + +.dropdown-divider { + height: 1px; + margin: 0.25rem 0; + overflow: hidden; + background-color: #e5e5e5; } + +.dropdown-item { + display: block; + width: 100%; + padding: 3px 20px; + clear: both; + font-weight: normal; + color: rgba(0, 0, 0, 0.87); + text-align: inherit; + white-space: nowrap; + background: none; + border: 0; } + .dropdown-item:focus, .dropdown-item:hover { + color: rgba(0, 0, 0, 0.87); + text-decoration: none; + background-color: #f5f5f5; } + .dropdown-item.active, .dropdown-item.active:focus, .dropdown-item.active:hover { + color: #fff; + text-decoration: none; + background-color: #009688; + outline: 0; } + .dropdown-item.disabled, .dropdown-item.disabled:focus, .dropdown-item.disabled:hover { + color: rgba(0, 0, 0, 0.26); } + .dropdown-item.disabled:focus, .dropdown-item.disabled:hover { + text-decoration: none; + cursor: not-allowed; + background-color: transparent; + background-image: none; + filter: "progid:DXImageTransform.Microsoft.gradient(enabled = false)"; } + +.open > .dropdown-menu { + display: block; } + +.open > a { + outline: 0; } + +.dropdown-menu-right { + right: 0; + left: auto; } + +.dropdown-menu-left { + right: auto; + left: 0; } + +.dropdown-header { + display: block; + padding: 5px 20px; + font-size: 0.875rem; + color: rgba(0, 0, 0, 0.26); + white-space: nowrap; } + +.dropdown-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 990; } + +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + content: ""; + border-top: 0; + border-bottom: 0.3em solid; } + +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 2px; } + +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; } + .btn-group > .btn, .btn-group > .custom-file-control::before, + .btn-group-vertical > .btn, + .btn-group-vertical > .custom-file-control::before { + position: relative; + float: left; } + .btn-group > .btn:focus, .btn-group > .custom-file-control:focus::before, .btn-group > .btn:active, .btn-group > .custom-file-control:active::before, .btn-group > .btn.active, .btn-group > .active.custom-file-control::before, + .btn-group-vertical > .btn:focus, + .btn-group-vertical > .custom-file-control:focus::before, + .btn-group-vertical > .btn:active, + .btn-group-vertical > .custom-file-control:active::before, + .btn-group-vertical > .btn.active, + .btn-group-vertical > .active.custom-file-control::before { + z-index: 2; } + .btn-group > .btn:hover, .btn-group > .custom-file-control:hover::before, + .btn-group-vertical > .btn:hover, + .btn-group-vertical > .custom-file-control:hover::before { + z-index: 2; } + +.btn-group .btn + .btn, .btn-group .custom-file-control::before + .btn, .btn-group .btn + .custom-file-control::before, .btn-group .custom-file-control::before + .custom-file-control::before, +.btn-group .btn + .btn-group, +.btn-group .custom-file-control::before + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .custom-file-control::before, +.btn-group .btn-group + .btn-group { + margin-left: -1px; } + +.btn-toolbar { + margin-left: -0.5rem; } + .btn-toolbar::after { + content: ""; + display: table; + clear: both; } + .btn-toolbar .btn-group, + .btn-toolbar .input-group { + float: left; } + .btn-toolbar > .btn, .btn-toolbar > .custom-file-control::before, + .btn-toolbar > .btn-group, + .btn-toolbar > .input-group { + margin-left: 0.5rem; } + +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle), .btn-group > .custom-file-control:not(:first-child):not(:last-child):not(.dropdown-toggle)::before { + border-radius: 0; } + +.btn-group > .btn:first-child, .btn-group > .custom-file-control:first-child::before { + margin-left: 0; } + .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle), .btn-group > .custom-file-control:first-child:not(:last-child):not(.dropdown-toggle)::before { + border-bottom-right-radius: 0; + border-top-right-radius: 0; } + +.btn-group > .btn:last-child:not(:first-child), .btn-group > .custom-file-control:last-child:not(:first-child)::before, +.btn-group > .dropdown-toggle:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; } + +.btn-group > .btn-group { + float: left; } + +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn, .btn-group > .btn-group:not(:first-child):not(:last-child) > .custom-file-control::before { + border-radius: 0; } + +.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group > .btn-group:first-child:not(:last-child) > .custom-file-control:last-child::before, +.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-top-right-radius: 0; } + +.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child, .btn-group > .btn-group:last-child:not(:first-child) > .custom-file-control:first-child::before { + border-bottom-left-radius: 0; + border-top-left-radius: 0; } + +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; } + +.btn + .dropdown-toggle-split, .custom-file-control::before + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; } + .btn + .dropdown-toggle-split::after, .custom-file-control::before + .dropdown-toggle-split::after { + margin-left: 0; } + +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split, .btn-group-sm > .custom-file-control::before + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; } + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split, .btn-group-lg > .custom-file-control::before + .dropdown-toggle-split { + padding-right: 1.125rem; + padding-left: 1.125rem; } + +.btn-group.open .dropdown-toggle { + -webkit-box-shadow: none; + box-shadow: none; } + .btn-group.open .dropdown-toggle.btn-link { + -webkit-box-shadow: none; + box-shadow: none; } + +.btn .caret, .custom-file-control::before .caret { + margin-left: 0; } + +.btn-lg .caret, .btn-group-lg > .btn .caret, .btn-group-lg > .custom-file-control::before .caret { + border-width: 0.3em 0.3em 0; + border-bottom-width: 0; } + +.dropup .btn-lg .caret, .dropup .btn-group-lg > .btn .caret, .dropup .btn-group-lg > .custom-file-control::before .caret { + border-width: 0 0.3em 0.3em; } + +.btn-group-vertical > .btn, .btn-group-vertical > .custom-file-control::before, +.btn-group-vertical > .btn-group, +.btn-group-vertical > .btn-group > .btn, +.btn-group-vertical > .btn-group > .custom-file-control::before { + display: block; + float: none; + width: 100%; + max-width: 100%; } + +.btn-group-vertical > .btn-group::after { + content: ""; + display: table; + clear: both; } + +.btn-group-vertical > .btn-group > .btn, .btn-group-vertical > .btn-group > .custom-file-control::before { + float: none; } + +.btn-group-vertical > .btn + .btn, .btn-group-vertical > .custom-file-control::before + .btn, .btn-group-vertical > .btn + .custom-file-control::before, .btn-group-vertical > .custom-file-control::before + .custom-file-control::before, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .custom-file-control::before + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .custom-file-control::before, +.btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; } + +.btn-group-vertical > .btn:not(:first-child):not(:last-child), .btn-group-vertical > .custom-file-control:not(:first-child):not(:last-child)::before { + border-radius: 0; } + +.btn-group-vertical > .btn:first-child:not(:last-child), .btn-group-vertical > .custom-file-control:first-child:not(:last-child)::before { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } + +.btn-group-vertical > .btn:last-child:not(:first-child), .btn-group-vertical > .custom-file-control:last-child:not(:first-child)::before { + border-top-right-radius: 0; + border-top-left-radius: 0; } + +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn, .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .custom-file-control::before { + border-radius: 0; } + +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group-vertical > .btn-group:first-child:not(:last-child) > .custom-file-control:last-child::before, +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } + +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child, .btn-group-vertical > .btn-group:last-child:not(:first-child) > .custom-file-control:first-child::before { + border-top-right-radius: 0; + border-top-left-radius: 0; } + +[data-toggle="buttons"] > .btn input[type="radio"], [data-toggle="buttons"] > .custom-file-control::before input[type="radio"], +[data-toggle="buttons"] > .btn input[type="checkbox"], +[data-toggle="buttons"] > .custom-file-control::before input[type="checkbox"], +[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], +[data-toggle="buttons"] > .btn-group > .custom-file-control::before input[type="radio"], +[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"], +[data-toggle="buttons"] > .btn-group > .custom-file-control::before input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; } + +.input-group { + position: relative; + width: 100%; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; } + .input-group .form-control, .input-group .custom-file-control { + position: relative; + z-index: 2; + -webkit-box-flex: 1; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; + margin-bottom: 0; } + .input-group .form-control:focus, .input-group .custom-file-control:focus, .input-group .form-control:active, .input-group .custom-file-control:active, .input-group .form-control:hover, .input-group .custom-file-control:hover { + z-index: 3; } + +.input-group-addon:not(:first-child):not(:last-child), +.input-group-btn:not(:first-child):not(:last-child), +.input-group .form-control:not(:first-child):not(:last-child), +.input-group .custom-file-control:not(:first-child):not(:last-child) { + border-radius: 0; } + +.input-group-addon, +.input-group-btn { + white-space: nowrap; + vertical-align: middle; } + +.input-group-addon { + padding: 0.4375rem 0; + margin-bottom: 0; + font-size: 1rem; + font-weight: normal; + line-height: 1.25; + color: rgba(0, 0, 0, 0.54); + text-align: center; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0; } + .input-group-addon.form-control-sm, + .input-group-sm > .input-group-addon, + .input-group-sm > .input-group-btn > .input-group-addon.btn, + .input-group-sm > .input-group-btn > .input-group-addon.custom-file-control::before { + padding: 0.25rem 0; + font-size: 0.875rem; + border-radius: 0.0625rem; } + .input-group-addon.form-control-lg, + .input-group-lg > .input-group-addon, + .input-group-lg > .input-group-btn > .input-group-addon.btn, + .input-group-lg > .input-group-btn > .input-group-addon.custom-file-control::before { + padding: 0.5625rem 0; + font-size: 1.25rem; + border-radius: 0.3rem; } + .input-group-addon input[type="radio"], + .input-group-addon input[type="checkbox"] { + margin-top: 0; } + +.input-group .form-control:not(:last-child), .input-group .custom-file-control:not(:last-child), +.input-group-addon:not(:last-child), +.input-group-btn:not(:last-child) > .btn, +.input-group-btn:not(:last-child) > .custom-file-control::before, +.input-group-btn:not(:last-child) > .btn-group > .btn, +.input-group-btn:not(:last-child) > .btn-group > .custom-file-control::before, +.input-group-btn:not(:last-child) > .dropdown-toggle, +.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle), +.input-group-btn:not(:first-child) > .custom-file-control:not(:last-child):not(.dropdown-toggle)::before, +.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn, +.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .custom-file-control::before { + border-bottom-right-radius: 0; + border-top-right-radius: 0; } + +.input-group-addon:not(:last-child) { + border-right: 0; } + +.input-group .form-control:not(:first-child), .input-group .custom-file-control:not(:first-child), +.input-group-addon:not(:first-child), +.input-group-btn:not(:first-child) > .btn, +.input-group-btn:not(:first-child) > .custom-file-control::before, +.input-group-btn:not(:first-child) > .btn-group > .btn, +.input-group-btn:not(:first-child) > .btn-group > .custom-file-control::before, +.input-group-btn:not(:first-child) > .dropdown-toggle, +.input-group-btn:not(:last-child) > .btn:not(:first-child), +.input-group-btn:not(:last-child) > .custom-file-control:not(:first-child)::before, +.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn, +.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .custom-file-control::before { + border-bottom-left-radius: 0; + border-top-left-radius: 0; } + +.form-control + .input-group-addon:not(:first-child), .custom-file-control + .input-group-addon:not(:first-child) { + border-left: 0; } + +.input-group-btn { + position: relative; + font-size: 0; + white-space: nowrap; } + .input-group-btn > .btn, .input-group-btn > .custom-file-control::before { + position: relative; } + .input-group-btn > .btn + .btn, .input-group-btn > .custom-file-control::before + .btn, .input-group-btn > .btn + .custom-file-control::before, .input-group-btn > .custom-file-control::before + .custom-file-control::before { + margin-left: -1px; } + .input-group-btn > .btn:focus, .input-group-btn > .custom-file-control:focus::before, .input-group-btn > .btn:active, .input-group-btn > .custom-file-control:active::before, .input-group-btn > .btn:hover, .input-group-btn > .custom-file-control:hover::before { + z-index: 3; } + .input-group-btn:not(:last-child) > .btn, .input-group-btn:not(:last-child) > .custom-file-control::before, + .input-group-btn:not(:last-child) > .btn-group { + margin-right: -1px; } + .input-group-btn:not(:first-child) > .btn, .input-group-btn:not(:first-child) > .custom-file-control::before, + .input-group-btn:not(:first-child) > .btn-group { + z-index: 2; + margin-left: -1px; } + .input-group-btn:not(:first-child) > .btn:focus, .input-group-btn:not(:first-child) > .custom-file-control:focus::before, .input-group-btn:not(:first-child) > .btn:active, .input-group-btn:not(:first-child) > .custom-file-control:active::before, .input-group-btn:not(:first-child) > .btn:hover, .input-group-btn:not(:first-child) > .custom-file-control:hover::before, + .input-group-btn:not(:first-child) > .btn-group:focus, + .input-group-btn:not(:first-child) > .btn-group:active, + .input-group-btn:not(:first-child) > .btn-group:hover { + z-index: 3; } + +.custom-control { + position: relative; + display: inline; + padding-left: 1.5rem; + cursor: pointer; } + .custom-control + .custom-control { + margin-left: 1rem; } + +.custom-control-input { + position: absolute; + z-index: -1; + opacity: 0; } + .custom-control-input:checked ~ .custom-control-indicator { + color: #fff; + background-color: #0074d9; + -webkit-box-shadow: none; + box-shadow: none; } + .custom-control-input:focus ~ .custom-control-indicator { + -webkit-box-shadow: 0 0 0 0.075rem #fff, 0 0 0 0.2rem #0074d9; + box-shadow: 0 0 0 0.075rem #fff, 0 0 0 0.2rem #0074d9; } + .custom-control-input:active ~ .custom-control-indicator { + color: #fff; + background-color: #84c6ff; + -webkit-box-shadow: none; + box-shadow: none; } + .custom-control-input:disabled ~ .custom-control-indicator { + cursor: not-allowed; + background-color: #eee; } + .custom-control-input:disabled ~ .custom-control-description { + color: #767676; + cursor: not-allowed; } + +.custom-control-indicator { + position: absolute; + top: .0625rem; + left: 0; + display: block; + width: 1rem; + height: 1rem; + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-color: #ddd; + background-repeat: no-repeat; + background-position: center center; + -webkit-background-size: 50% 50%; + background-size: 50% 50%; + -webkit-box-shadow: inset 0 0.25rem 0.25rem rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0.25rem 0.25rem rgba(0, 0, 0, 0.1); } + +.custom-checkbox .custom-control-indicator { + border-radius: 0.125rem; } + +.custom-checkbox .custom-control-input:checked ~ .custom-control-indicator { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E"); } + +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-indicator { + background-color: #0074d9; + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E"); + -webkit-box-shadow: none; + box-shadow: none; } + +.custom-radio .custom-control-indicator { + border-radius: 50%; } + +.custom-radio .custom-control-input:checked ~ .custom-control-indicator { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E"); } + +.custom-controls-stacked .custom-control { + display: inline; } + .custom-controls-stacked .custom-control::after { + display: block; + margin-bottom: 0.25rem; + content: ""; } + .custom-controls-stacked .custom-control + .custom-control { + margin-left: 0; } + +.custom-select { + display: inline-block; + max-width: 100%; + padding: 0.375rem 1.75rem 0.375rem 0.75rem; + padding-right: 0.75rem \9; + color: rgba(0, 0, 0, 0.54); + vertical-align: middle; + background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center; + background-image: none \9; + -webkit-background-size: 8px 10px; + background-size: 8px 10px; + border: 1px solid rgba(0, 0, 0, 0.26); + border-radius: 0.125rem; + -moz-appearance: none; + -webkit-appearance: none; } + .custom-select:focus { + border-color: #51a7e8; + outline: none; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 5px rgba(81, 167, 232, 0.5); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 5px rgba(81, 167, 232, 0.5); } + .custom-select:focus::-ms-value { + color: rgba(0, 0, 0, 0.54); + background-color: transparent; } + .custom-select:disabled { + color: rgba(0, 0, 0, 0.26); + cursor: not-allowed; + background-color: rgba(0, 0, 0, 0.12); } + .custom-select::-ms-expand { + opacity: 0; } + +.custom-select-sm { + padding-top: 0.375rem; + padding-bottom: 0.375rem; + font-size: 75%; } + +.custom-file { + position: relative; + display: inline-block; + max-width: 100%; + height: 2.5rem; + cursor: pointer; } + +.custom-file-input { + min-width: 14rem; + max-width: 100%; + margin: 0; + filter: alpha(opacity=0); + opacity: 0; } + .custom-file-input:focus ~ .custom-file-control { + -webkit-box-shadow: 0 0 0 0.075rem #fff, 0 0 0 0.2rem #0074d9; + box-shadow: 0 0 0 0.075rem #fff, 0 0 0 0.2rem #0074d9; } + +.custom-file-control { + position: absolute; + top: 0; + right: 0; + left: 0; + z-index: 5; + height: 2.5rem; + padding: 0.5rem 1rem; + line-height: 1.3; + color: #555; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-color: transparent; + border: 0 solid #ddd; + border-radius: 0; + -webkit-box-shadow: none; + box-shadow: none; } + .custom-file-control:lang(en)::after { + content: "Choose file..."; } + .custom-file-control::before { + position: absolute; + top: 0; + right: 0; + bottom: 0; + z-index: 6; + display: block; + height: 2.5rem; + padding: 0.5rem 1rem; + line-height: 1.3; + color: #555; + background-color: #eee; + border: 0 solid #ddd; + border-radius: 0 0 0 0; } + .custom-file-control:lang(en)::before { + content: "Browse"; } + +.nav { + padding-left: 0; + margin-bottom: 0; + list-style: none; } + +.nav-link { + display: inline-block; } + .nav-link:focus, .nav-link:hover { + text-decoration: none; } + .nav-link.disabled { + color: rgba(0, 0, 0, 0.26); } + .nav-link.disabled, .nav-link.disabled:focus, .nav-link.disabled:hover { + color: rgba(0, 0, 0, 0.26); + cursor: not-allowed; + background-color: transparent; } + +.nav-inline .nav-item { + display: inline-block; } + +.nav-inline .nav-item + .nav-item, +.nav-inline .nav-link + .nav-link { + margin-left: 1rem; } + +.nav-tabs { + border-bottom: 1px solid #ddd; } + .nav-tabs::after { + content: ""; + display: table; + clear: both; } + .nav-tabs .nav-item { + float: left; + margin-bottom: -1px; } + .nav-tabs .nav-item + .nav-item { + margin-left: 0.2rem; } + .nav-tabs .nav-link { + display: block; + padding: 0.5em 1em; + border: 1px solid transparent; + border-top-right-radius: 0.125rem; + border-top-left-radius: 0.125rem; } + .nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover { + border-color: rgba(0, 0, 0, 0.12) rgba(0, 0, 0, 0.12) #ddd; } + .nav-tabs .nav-link.disabled, .nav-tabs .nav-link.disabled:focus, .nav-tabs .nav-link.disabled:hover { + color: rgba(0, 0, 0, 0.26); + background-color: transparent; + border-color: transparent; } + .nav-tabs .nav-link.active, .nav-tabs .nav-link.active:focus, .nav-tabs .nav-link.active:hover, + .nav-tabs .nav-item.open .nav-link, + .nav-tabs .nav-item.open .nav-link:focus, + .nav-tabs .nav-item.open .nav-link:hover { + color: rgba(0, 0, 0, 0.54); + background-color: transparent; + border-color: #ddd #ddd transparent; } + .nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-right-radius: 0; + border-top-left-radius: 0; } + +.nav-pills::after { + content: ""; + display: table; + clear: both; } + +.nav-pills .nav-item { + float: left; } + .nav-pills .nav-item + .nav-item { + margin-left: 0.2rem; } + +.nav-pills .nav-link { + display: block; + padding: 0.5em 1em; + border-radius: 0.125rem; } + +.nav-pills .nav-link.active, .nav-pills .nav-link.active:focus, .nav-pills .nav-link.active:hover, +.nav-pills .nav-item.open .nav-link, +.nav-pills .nav-item.open .nav-link:focus, +.nav-pills .nav-item.open .nav-link:hover { + color: #fff; + cursor: default; + background-color: #009688; } + +.nav-stacked .nav-item { + display: block; + float: none; } + .nav-stacked .nav-item + .nav-item { + margin-top: 0.2rem; + margin-left: 0; } + +.tab-content > .tab-pane { + display: none; } + +.tab-content > .active { + display: block; } + +.navbar { + position: relative; + padding: 0.25rem 0.5rem; } + .navbar::after { + content: ""; + display: table; + clear: both; } + @media (min-width: 544px) { + .navbar { + border-radius: 0.125rem; } } + +.navbar-full { + z-index: 1000; } + @media (min-width: 544px) { + .navbar-full { + border-radius: 0; } } + +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; } + @media (min-width: 544px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; } } + +.navbar-fixed-top { + top: 0; } + +.navbar-fixed-bottom { + bottom: 0; } + +.navbar-sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1030; + width: 100%; } + @media (min-width: 544px) { + .navbar-sticky-top { + border-radius: 0; } } + +.navbar-brand { + float: left; + padding-top: 0.25rem; + padding-bottom: 0.25rem; + margin-right: 1rem; + font-size: 1.25rem; } + .navbar-brand:focus, .navbar-brand:hover { + text-decoration: none; } + .navbar-brand > img { + display: block; } + +.navbar-divider { + float: left; + width: 1px; + padding-top: .425rem; + padding-bottom: .425rem; + margin-right: 0.5rem; + margin-left: 0.5rem; + overflow: hidden; } + .navbar-divider::before { + content: "\00a0"; } + +.navbar-toggler { + padding: .5rem .75rem; + font-size: 1.25rem; + line-height: 1; + background: none; + border: 1px solid transparent; + border-radius: 0.125rem; } + .navbar-toggler:focus, .navbar-toggler:hover { + text-decoration: none; } + +.navbar-nav .nav-item { + float: left; } + +.navbar-nav .nav-link { + display: block; + padding-top: .425rem; + padding-bottom: .425rem; } + .navbar-nav .nav-link + .nav-link { + margin-left: 1rem; } + +.navbar-nav .nav-item + .nav-item { + margin-left: 1rem; } + +.navbar-light .navbar-brand { + color: rgba(0, 0, 0, 0.8); } + .navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover { + color: rgba(0, 0, 0, 0.8); } + +.navbar-light .navbar-nav .nav-link { + color: rgba(0, 0, 0, 0.3); } + .navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover { + color: rgba(0, 0, 0, 0.6); } + +.navbar-light .navbar-nav .open > .nav-link, .navbar-light .navbar-nav .open > .nav-link:focus, .navbar-light .navbar-nav .open > .nav-link:hover, +.navbar-light .navbar-nav .active > .nav-link, +.navbar-light .navbar-nav .active > .nav-link:focus, +.navbar-light .navbar-nav .active > .nav-link:hover, +.navbar-light .navbar-nav .nav-link.open, +.navbar-light .navbar-nav .nav-link.open:focus, +.navbar-light .navbar-nav .nav-link.open:hover, +.navbar-light .navbar-nav .nav-link.active, +.navbar-light .navbar-nav .nav-link.active:focus, +.navbar-light .navbar-nav .nav-link.active:hover { + color: rgba(0, 0, 0, 0.8); } + +.navbar-light .navbar-divider { + background-color: rgba(0, 0, 0, 0.075); } + +.navbar-dark .navbar-brand { + color: white; } + .navbar-dark .navbar-brand:focus, .navbar-dark .navbar-brand:hover { + color: white; } + +.navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.5); } + .navbar-dark .navbar-nav .nav-link:focus, .navbar-dark .navbar-nav .nav-link:hover { + color: rgba(255, 255, 255, 0.75); } + +.navbar-dark .navbar-nav .open > .nav-link, .navbar-dark .navbar-nav .open > .nav-link:focus, .navbar-dark .navbar-nav .open > .nav-link:hover, +.navbar-dark .navbar-nav .active > .nav-link, +.navbar-dark .navbar-nav .active > .nav-link:focus, +.navbar-dark .navbar-nav .active > .nav-link:hover, +.navbar-dark .navbar-nav .nav-link.open, +.navbar-dark .navbar-nav .nav-link.open:focus, +.navbar-dark .navbar-nav .nav-link.open:hover, +.navbar-dark .navbar-nav .nav-link.active, +.navbar-dark .navbar-nav .nav-link.active:focus, +.navbar-dark .navbar-nav .nav-link.active:hover { + color: white; } + +.navbar-dark .navbar-divider { + background-color: rgba(255, 255, 255, 0.075); } + +.navbar-toggleable-xs::after { + content: ""; + display: table; + clear: both; } + +@media (max-width: 543px) { + .navbar-toggleable-xs .navbar-nav .nav-item { + float: none; + margin-left: 0; } } + +@media (min-width: 544px) { + .navbar-toggleable-xs { + display: block !important; } } + +.navbar-toggleable-sm::after { + content: ""; + display: table; + clear: both; } + +@media (max-width: 767px) { + .navbar-toggleable-sm .navbar-nav .nav-item { + float: none; + margin-left: 0; } } + +@media (min-width: 768px) { + .navbar-toggleable-sm { + display: block !important; } } + +.navbar-toggleable-md::after { + content: ""; + display: table; + clear: both; } + +@media (max-width: 991px) { + .navbar-toggleable-md .navbar-nav .nav-item { + float: none; + margin-left: 0; } } + +@media (min-width: 992px) { + .navbar-toggleable-md { + display: block !important; } } + +.card { + position: relative; + display: block; + margin-bottom: 0.75rem; + background-color: #fff; + border-radius: 0.125rem; + border: 1px solid rgba(0, 0, 0, 0.12); } + +.card-block { + padding: 1.25rem; } + .card-block::after { + content: ""; + display: table; + clear: both; } + +.card-title { + margin-bottom: 0.75rem; } + +.card-subtitle { + margin-top: -0.375rem; + margin-bottom: 0; } + +.card-text:last-child { + margin-bottom: 0; } + +.card-link:hover { + text-decoration: none; } + +.card-link + .card-link { + margin-left: 1.25rem; } + +.card > .list-group:first-child .list-group-item:first-child { + border-top-right-radius: 0.125rem; + border-top-left-radius: 0.125rem; } + +.card > .list-group:last-child .list-group-item:last-child { + border-bottom-right-radius: 0.125rem; + border-bottom-left-radius: 0.125rem; } + +.card-header { + padding: 0.75rem 1.25rem; + background-color: #fff; + border-bottom: 1px solid rgba(0, 0, 0, 0.12); } + .card-header::after { + content: ""; + display: table; + clear: both; } + .card-header:first-child { + border-radius: 0.125rem 0.125rem 0 0; } + +.card-footer { + padding: 0.75rem 1.25rem; + background-color: #fff; + border-top: 1px solid rgba(0, 0, 0, 0.12); } + .card-footer::after { + content: ""; + display: table; + clear: both; } + .card-footer:last-child { + border-radius: 0 0 0.125rem 0.125rem; } + +.card-header-tabs { + margin-right: -0.625rem; + margin-bottom: -0.75rem; + margin-left: -0.625rem; + border-bottom: 0; } + +.card-header-pills { + margin-right: -0.625rem; + margin-left: -0.625rem; } + +.card-primary { + background-color: #009688; + border-color: #009688; } + .card-primary .card-header, + .card-primary .card-footer { + background-color: transparent; } + +.card-success { + background-color: #4caf50; + border-color: #4caf50; } + .card-success .card-header, + .card-success .card-footer { + background-color: transparent; } + +.card-info { + background-color: #03a9f4; + border-color: #03a9f4; } + .card-info .card-header, + .card-info .card-footer { + background-color: transparent; } + +.card-warning { + background-color: #ff5722; + border-color: #ff5722; } + .card-warning .card-header, + .card-warning .card-footer { + background-color: transparent; } + +.card-danger { + background-color: #f44336; + border-color: #f44336; } + .card-danger .card-header, + .card-danger .card-footer { + background-color: transparent; } + +.card-outline-primary { + background-color: transparent; + border-color: #009688; } + +.card-outline-secondary { + background-color: transparent; + border-color: #ccc; } + +.card-outline-info { + background-color: transparent; + border-color: #03a9f4; } + +.card-outline-success { + background-color: transparent; + border-color: #4caf50; } + +.card-outline-warning { + background-color: transparent; + border-color: #ff5722; } + +.card-outline-danger { + background-color: transparent; + border-color: #f44336; } + +.card-inverse .card-header, +.card-inverse .card-footer { + border-color: rgba(255, 255, 255, 0.2); } + +.card-inverse .card-header, +.card-inverse .card-footer, +.card-inverse .card-title, +.card-inverse .card-blockquote { + color: #fff; } + +.card-inverse .card-link, +.card-inverse .card-text, +.card-inverse .card-subtitle, +.card-inverse .card-blockquote .blockquote-footer { + color: rgba(255, 255, 255, 0.65); } + +.card-inverse .card-link:focus, .card-inverse .card-link:hover { + color: #fff; } + +.card-blockquote { + padding: 0; + margin-bottom: 0; + border-left: 0; } + +.card-img { + border-radius: 0.25rem; } + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1.25rem; } + +.card-img-top { + border-top-right-radius: 0.125rem; + border-top-left-radius: 0.125rem; } + +.card-img-bottom { + border-bottom-right-radius: 0.125rem; + border-bottom-left-radius: 0.125rem; } + +@media (min-width: 544px) { + .card-deck { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-flow: row wrap; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + margin-right: -0.625rem; + margin-bottom: 0.75rem; + margin-left: -0.625rem; } + .card-deck .card { + -webkit-box-flex: 1; + -webkit-flex: 1 0 0; + -ms-flex: 1 0 0; + flex: 1 0 0; + margin-right: 0.625rem; + margin-bottom: 0; + margin-left: 0.625rem; } } + +@media (min-width: 544px) { + .card-group { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-flow: row wrap; + -ms-flex-flow: row wrap; + flex-flow: row wrap; } + .card-group .card { + -webkit-box-flex: 1; + -webkit-flex: 1 0 0; + -ms-flex: 1 0 0; + flex: 1 0 0; } + .card-group .card + .card { + margin-left: 0; + border-left: 0; } + .card-group .card:first-child { + border-bottom-right-radius: 0; + border-top-right-radius: 0; } + .card-group .card:first-child .card-img-top { + border-top-right-radius: 0; } + .card-group .card:first-child .card-img-bottom { + border-bottom-right-radius: 0; } + .card-group .card:last-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0; } + .card-group .card:last-child .card-img-top { + border-top-left-radius: 0; } + .card-group .card:last-child .card-img-bottom { + border-bottom-left-radius: 0; } + .card-group .card:not(:first-child):not(:last-child) { + border-radius: 0; } + .card-group .card:not(:first-child):not(:last-child) .card-img-top, + .card-group .card:not(:first-child):not(:last-child) .card-img-bottom { + border-radius: 0; } } + +@media (min-width: 544px) { + .card-columns { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; + -webkit-column-gap: 1.25rem; + -moz-column-gap: 1.25rem; + column-gap: 1.25rem; } + .card-columns .card { + display: inline-block; + width: 100%; } } + +.breadcrumb { + padding: 0.75rem 1rem; + margin-bottom: 0.5rem; + list-style: none; + background-color: rgba(0, 0, 0, 0.12); + border-radius: 0.125rem; } + .breadcrumb::after { + content: ""; + display: table; + clear: both; } + +.breadcrumb-item { + float: left; } + .breadcrumb-item + .breadcrumb-item::before { + display: inline-block; + padding-right: 0.5rem; + padding-left: 0.5rem; + color: rgba(0, 0, 0, 0.26); + content: "/"; } + .breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: underline; } + .breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: none; } + .breadcrumb-item.active { + color: rgba(0, 0, 0, 0.26); } + +.pagination { + display: inline-block; + padding-left: 0; + margin-top: 0.5rem; + margin-bottom: 0.5rem; + border-radius: 0.125rem; } + +.page-item { + display: inline; } + .page-item:first-child .page-link { + margin-left: 0; + border-bottom-left-radius: 0.125rem; + border-top-left-radius: 0.125rem; } + .page-item:last-child .page-link { + border-bottom-right-radius: 0.125rem; + border-top-right-radius: 0.125rem; } + .page-item.active .page-link, .page-item.active .page-link:focus, .page-item.active .page-link:hover { + z-index: 2; + color: #fff; + cursor: default; + background-color: #009688; + border-color: #009688; } + .page-item.disabled .page-link, .page-item.disabled .page-link:focus, .page-item.disabled .page-link:hover { + color: rgba(0, 0, 0, 0.26); + pointer-events: none; + cursor: not-allowed; + background-color: transparent; + border-color: #ddd; } + +.page-link { + position: relative; + float: left; + padding: 0.5rem 0.75rem; + margin-left: -1px; + color: #009688; + text-decoration: none; + background-color: transparent; + border: 0 solid #ddd; } + .page-link:focus, .page-link:hover { + color: #004a43; + background-color: rgba(0, 0, 0, 0.12); + border-color: #ddd; } + +.pagination-lg .page-link { + padding: 0.75rem 0; + font-size: 1.25rem; } + +.pagination-lg .page-item:first-child .page-link { + border-bottom-left-radius: 0.3rem; + border-top-left-radius: 0.3rem; } + +.pagination-lg .page-item:last-child .page-link { + border-bottom-right-radius: 0.3rem; + border-top-right-radius: 0.3rem; } + +.pagination-sm .page-link { + padding: 0.275rem 0; + font-size: 0.875rem; } + +.pagination-sm .page-item:first-child .page-link { + border-bottom-left-radius: 0.0625rem; + border-top-left-radius: 0.0625rem; } + +.pagination-sm .page-item:last-child .page-link { + border-bottom-right-radius: 0.0625rem; + border-top-right-radius: 0.0625rem; } + +.tag { + display: inline-block; + padding: 0.25em 0.4em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.125rem; } + .tag:empty { + display: none; } + +.btn .tag, .custom-file-control::before .tag { + position: relative; + top: -1px; } + +a.tag:focus, a.tag:hover { + color: #fff; + text-decoration: none; + cursor: pointer; } + +.tag-pill { + padding-right: 0.6em; + padding-left: 0.6em; + border-radius: 10rem; } + +.tag-default { + background-color: rgba(0, 0, 0, 0.26); } + .tag-default[href]:focus, .tag-default[href]:hover { + background-color: rgba(0, 0, 0, 0.26); } + +.tag-primary { + background-color: #009688; } + .tag-primary[href]:focus, .tag-primary[href]:hover { + background-color: #00635a; } + +.tag-success { + background-color: #4caf50; } + .tag-success[href]:focus, .tag-success[href]:hover { + background-color: #3d8b40; } + +.tag-info { + background-color: #03a9f4; } + .tag-info[href]:focus, .tag-info[href]:hover { + background-color: #0286c2; } + +.tag-warning { + background-color: #ff5722; } + .tag-warning[href]:focus, .tag-warning[href]:hover { + background-color: #ee3900; } + +.tag-danger { + background-color: #f44336; } + .tag-danger[href]:focus, .tag-danger[href]:hover { + background-color: #ea1c0d; } + +.jumbotron { + padding: 2rem 1rem; + margin-bottom: 2rem; + background-color: rgba(0, 0, 0, 0.12); + border-radius: 0.3rem; } + @media (min-width: 544px) { + .jumbotron { + padding: 4rem 2rem; } } + +.jumbotron-hr { + border-top-color: rgba(0, 0, 0, 0.12); } + +.jumbotron-fluid { + padding-right: 0; + padding-left: 0; + border-radius: 0; } + +.alert { + padding: 15px; + margin-bottom: 0.5rem; + border: 1px solid transparent; + border-radius: 0.125rem; } + +.alert-heading { + color: inherit; } + +.alert-link { + font-weight: bold; } + +.alert-dismissible { + padding-right: 35px; } + .alert-dismissible .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; } + +.alert-success { + background-color: #4caf50; + border-color: #449d48; + color: white; } + .alert-success hr { + border-top-color: #3d8b40; } + .alert-success .alert-link { + color: #e6e6e6; } + +.alert-info { + background-color: #03a9f4; + border-color: #0391d1; + color: white; } + .alert-info hr { + border-top-color: #027fb8; } + .alert-info .alert-link { + color: #e6e6e6; } + +.alert-warning { + background-color: #ff5722; + border-color: #ff4409; + color: white; } + .alert-warning hr { + border-top-color: #ee3900; } + .alert-warning .alert-link { + color: #e6e6e6; } + +.alert-danger { + background-color: #f44336; + border-color: #f32c1e; + color: white; } + .alert-danger hr { + border-top-color: #ea1c0d; } + .alert-danger .alert-link { + color: #e6e6e6; } + +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 0.5rem 0; } + to { + background-position: 0 0; } } + +@-o-keyframes progress-bar-stripes { + from { + background-position: 0.5rem 0; } + to { + background-position: 0 0; } } + +@keyframes progress-bar-stripes { + from { + background-position: 0.5rem 0; } + to { + background-position: 0 0; } } + +.progress { + display: block; + width: 100%; + height: 0.5rem; + margin-bottom: 0.5rem; } + +.progress[value] { + background-color: #eee; + border: 0; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border-radius: 0.125rem; } + +.progress[value]::-ms-fill { + background-color: #0074d9; + border: 0; } + +.progress[value]::-moz-progress-bar { + background-color: #0074d9; + border-bottom-left-radius: 0.125rem; + border-top-left-radius: 0.125rem; } + +.progress[value]::-webkit-progress-value { + background-color: #0074d9; + border-bottom-left-radius: 0.125rem; + border-top-left-radius: 0.125rem; } + +.progress[value="100"]::-moz-progress-bar { + border-bottom-right-radius: 0.125rem; + border-top-right-radius: 0.125rem; } + +.progress[value="100"]::-webkit-progress-value { + border-bottom-right-radius: 0.125rem; + border-top-right-radius: 0.125rem; } + +.progress[value]::-webkit-progress-bar { + background-color: #eee; + border-radius: 0.125rem; + -webkit-box-shadow: inset 0 0.1rem 0.1rem rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0.1rem 0.1rem rgba(0, 0, 0, 0.1); } + +base::-moz-progress-bar, +.progress[value] { + background-color: #eee; + border-radius: 0.125rem; + box-shadow: inset 0 0.1rem 0.1rem rgba(0, 0, 0, 0.1); } + +@media screen and (min-width: 0\0) { + .progress { + background-color: #eee; + border-radius: 0.125rem; + -webkit-box-shadow: inset 0 0.1rem 0.1rem rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0.1rem 0.1rem rgba(0, 0, 0, 0.1); } + .progress-bar { + display: inline-block; + height: 0.5rem; + text-indent: -999rem; + background-color: #0074d9; + border-bottom-left-radius: 0.125rem; + border-top-left-radius: 0.125rem; } + .progress[width="100%"] { + border-bottom-right-radius: 0.125rem; + border-top-right-radius: 0.125rem; } } + +.progress-striped[value]::-webkit-progress-value { + background-image: -webkit-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-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); + -webkit-background-size: 0.5rem 0.5rem; + background-size: 0.5rem 0.5rem; } + +.progress-striped[value]::-moz-progress-bar { + 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: 0.5rem 0.5rem; } + +.progress-striped[value]::-ms-fill { + 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: 0.5rem 0.5rem; } + +@media screen and (min-width: 0\0) { + .progress-bar-striped { + background-image: -webkit-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-image: -o-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-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); + -webkit-background-size: 0.5rem 0.5rem; + background-size: 0.5rem 0.5rem; } } + +.progress-animated[value]::-webkit-progress-value { + -webkit-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; } + +.progress-animated[value]::-moz-progress-bar { + animation: progress-bar-stripes 2s linear infinite; } + +@media screen and (min-width: 0\0) { + .progress-animated .progress-bar-striped { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; } } + +.progress-success[value]::-webkit-progress-value { + background-color: #4caf50; } + +.progress-success[value]::-moz-progress-bar { + background-color: #4caf50; } + +.progress-success[value]::-ms-fill { + background-color: #4caf50; } + +@media screen and (min-width: 0\0) { + .progress-success .progress-bar { + background-color: #4caf50; } } + +.progress-info[value]::-webkit-progress-value { + background-color: #03a9f4; } + +.progress-info[value]::-moz-progress-bar { + background-color: #03a9f4; } + +.progress-info[value]::-ms-fill { + background-color: #03a9f4; } + +@media screen and (min-width: 0\0) { + .progress-info .progress-bar { + background-color: #03a9f4; } } + +.progress-warning[value]::-webkit-progress-value { + background-color: #ff5722; } + +.progress-warning[value]::-moz-progress-bar { + background-color: #ff5722; } + +.progress-warning[value]::-ms-fill { + background-color: #ff5722; } + +@media screen and (min-width: 0\0) { + .progress-warning .progress-bar { + background-color: #ff5722; } } + +.progress-danger[value]::-webkit-progress-value { + background-color: #f44336; } + +.progress-danger[value]::-moz-progress-bar { + background-color: #f44336; } + +.progress-danger[value]::-ms-fill { + background-color: #f44336; } + +@media screen and (min-width: 0\0) { + .progress-danger .progress-bar { + background-color: #f44336; } } + +.media { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + margin-bottom: 0.5rem; } + +.media-body { + -webkit-box-flex: 1; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; } + +.media-middle { + -webkit-align-self: center; + -ms-flex-item-align: center; + align-self: center; } + +.media-bottom { + -webkit-align-self: flex-end; + -ms-flex-item-align: end; + align-self: flex-end; } + +.media-object { + display: block; } + .media-object.img-thumbnail { + max-width: none; } + +.media-right { + padding-left: 10px; } + +.media-left { + padding-right: 10px; } + +.media-heading { + margin-top: 0; + margin-bottom: 5px; } + +.media-list { + padding-left: 0; + list-style: none; } + +.list-group { + padding-left: 0; + margin-bottom: 0; } + +.list-group-item { + position: relative; + display: block; + padding: 0.75rem 1.25rem; + margin-bottom: 0; + background-color: inherit; + border: 0 solid #ddd; } + .list-group-item:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; } + .list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } + .list-group-item.disabled, .list-group-item.disabled:focus, .list-group-item.disabled:hover { + color: rgba(0, 0, 0, 0.26); + cursor: not-allowed; + background-color: rgba(0, 0, 0, 0.12); } + .list-group-item.disabled .list-group-item-heading, .list-group-item.disabled:focus .list-group-item-heading, .list-group-item.disabled:hover .list-group-item-heading { + color: inherit; } + .list-group-item.disabled .list-group-item-text, .list-group-item.disabled:focus .list-group-item-text, .list-group-item.disabled:hover .list-group-item-text { + color: rgba(0, 0, 0, 0.26); } + .list-group-item.active, .list-group-item.active:focus, .list-group-item.active:hover { + z-index: 2; + color: #fff; + text-decoration: none; + background-color: #009688; + border-color: #009688; } + .list-group-item.active .list-group-item-heading, + .list-group-item.active .list-group-item-heading > small, + .list-group-item.active .list-group-item-heading > .small, .list-group-item.active:focus .list-group-item-heading, + .list-group-item.active:focus .list-group-item-heading > small, + .list-group-item.active:focus .list-group-item-heading > .small, .list-group-item.active:hover .list-group-item-heading, + .list-group-item.active:hover .list-group-item-heading > small, + .list-group-item.active:hover .list-group-item-heading > .small { + color: inherit; } + .list-group-item.active .list-group-item-text, .list-group-item.active:focus .list-group-item-text, .list-group-item.active:hover .list-group-item-text { + color: #63fff0; } + +.list-group-flush .list-group-item { + border-radius: 0; } + +.list-group-item-action { + width: 100%; + color: #555; + text-align: inherit; } + .list-group-item-action .list-group-item-heading { + color: #333; } + .list-group-item-action:focus, .list-group-item-action:hover { + color: #555; + text-decoration: none; + background-color: #f5f5f5; } + +.list-group-item-success { + color: white; + background-color: #4caf50; } + +a.list-group-item-success, +button.list-group-item-success { + color: white; } + a.list-group-item-success .list-group-item-heading, + button.list-group-item-success .list-group-item-heading { + color: inherit; } + a.list-group-item-success:focus, a.list-group-item-success:hover, + button.list-group-item-success:focus, + button.list-group-item-success:hover { + color: white; + background-color: #449d48; } + a.list-group-item-success.active, a.list-group-item-success.active:focus, a.list-group-item-success.active:hover, + button.list-group-item-success.active, + button.list-group-item-success.active:focus, + button.list-group-item-success.active:hover { + color: #fff; + background-color: white; + border-color: white; } + +.list-group-item-info { + color: white; + background-color: #03a9f4; } + +a.list-group-item-info, +button.list-group-item-info { + color: white; } + a.list-group-item-info .list-group-item-heading, + button.list-group-item-info .list-group-item-heading { + color: inherit; } + a.list-group-item-info:focus, a.list-group-item-info:hover, + button.list-group-item-info:focus, + button.list-group-item-info:hover { + color: white; + background-color: #0398db; } + a.list-group-item-info.active, a.list-group-item-info.active:focus, a.list-group-item-info.active:hover, + button.list-group-item-info.active, + button.list-group-item-info.active:focus, + button.list-group-item-info.active:hover { + color: #fff; + background-color: white; + border-color: white; } + +.list-group-item-warning { + color: white; + background-color: #ff5722; } + +a.list-group-item-warning, +button.list-group-item-warning { + color: white; } + a.list-group-item-warning .list-group-item-heading, + button.list-group-item-warning .list-group-item-heading { + color: inherit; } + a.list-group-item-warning:focus, a.list-group-item-warning:hover, + button.list-group-item-warning:focus, + button.list-group-item-warning:hover { + color: white; + background-color: #ff4409; } + a.list-group-item-warning.active, a.list-group-item-warning.active:focus, a.list-group-item-warning.active:hover, + button.list-group-item-warning.active, + button.list-group-item-warning.active:focus, + button.list-group-item-warning.active:hover { + color: #fff; + background-color: white; + border-color: white; } + +.list-group-item-danger { + color: white; + background-color: #f44336; } + +a.list-group-item-danger, +button.list-group-item-danger { + color: white; } + a.list-group-item-danger .list-group-item-heading, + button.list-group-item-danger .list-group-item-heading { + color: inherit; } + a.list-group-item-danger:focus, a.list-group-item-danger:hover, + button.list-group-item-danger:focus, + button.list-group-item-danger:hover { + color: white; + background-color: #f32c1e; } + a.list-group-item-danger.active, a.list-group-item-danger.active:focus, a.list-group-item-danger.active:hover, + button.list-group-item-danger.active, + button.list-group-item-danger.active:focus, + button.list-group-item-danger.active:hover { + color: #fff; + background-color: white; + border-color: white; } + +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; } + +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; } + +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden; } + .embed-responsive .embed-responsive-item, + .embed-responsive iframe, + .embed-responsive embed, + .embed-responsive object, + .embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; } + +.embed-responsive-21by9 { + padding-bottom: 42.85714%; } + +.embed-responsive-16by9 { + padding-bottom: 56.25%; } + +.embed-responsive-4by3 { + padding-bottom: 75%; } + +.embed-responsive-1by1 { + padding-bottom: 100%; } + +.close { + float: right; + font-size: 1.5rem; + font-weight: bold; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: .2; } + .close:focus, .close:hover { + color: #000; + text-decoration: none; + cursor: pointer; + opacity: .5; } + +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; } + +.modal-open { + overflow: hidden; } + +.modal { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + display: none; + overflow: hidden; + outline: 0; + -webkit-overflow-scrolling: touch; } + .modal.fade .modal-dialog { + -webkit-transition: -webkit-transform .3s ease-out; + transition: -webkit-transform .3s ease-out; + -o-transition: transform .3s ease-out, -o-transform .3s ease-out; + transition: transform .3s ease-out; + transition: transform .3s ease-out, -webkit-transform .3s ease-out, -o-transform .3s ease-out; + -webkit-transform: translate(0, -25%); + -ms-transform: translate(0, -25%); + -o-transform: translate(0, -25%); + transform: translate(0, -25%); } + .modal.in .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); } + +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; } + +.modal-dialog { + position: relative; + width: auto; + margin: 10px; } + +.modal-content { + position: relative; + background-color: #fff; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; + -webkit-box-shadow: 0 9px 46px 8px rgba(0, 0, 0, 0.14), 0 11px 15px -7px rgba(0, 0, 0, 0.12), 0 24px 38px 3px rgba(0, 0, 0, 0.2); + box-shadow: 0 9px 46px 8px rgba(0, 0, 0, 0.14), 0 11px 15px -7px rgba(0, 0, 0, 0.12), 0 24px 38px 3px rgba(0, 0, 0, 0.2); + outline: 0; } + +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000; } + .modal-backdrop.fade { + opacity: 0; } + .modal-backdrop.in { + opacity: 0.26; } + +.modal-header { + padding: 15px; + border-bottom: 1px solid #e5e5e5; } + .modal-header::after { + content: ""; + display: table; + clear: both; } + +.modal-header .close { + margin-top: -2px; } + +.modal-title { + margin: 0; + line-height: 1.5; } + +.modal-body { + position: relative; + padding: 15px; } + +.modal-footer { + padding: 15px; + text-align: right; + border-top: 1px solid #e5e5e5; } + .modal-footer::after { + content: ""; + display: table; + clear: both; } + +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; } + +@media (min-width: 544px) { + .modal-dialog { + max-width: 600px; + margin: 30px auto; } + .modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); } + .modal-sm { + max-width: 300px; } } + +@media (min-width: 992px) { + .modal-lg { + max-width: 900px; } } + +.tooltip { + position: absolute; + z-index: 1070; + display: block; + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + font-size: 0.875rem; + word-wrap: break-word; + opacity: 0; } + .tooltip.in { + opacity: 0.9; } + .tooltip.tooltip-top, .tooltip.bs-tether-element-attached-bottom { + padding: 5px 0; + margin-top: -3px; } + .tooltip.tooltip-top .tooltip-arrow, .tooltip.bs-tether-element-attached-bottom .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #000; } + .tooltip.tooltip-right, .tooltip.bs-tether-element-attached-left { + padding: 0 5px; + margin-left: 3px; } + .tooltip.tooltip-right .tooltip-arrow, .tooltip.bs-tether-element-attached-left .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #000; } + .tooltip.tooltip-bottom, .tooltip.bs-tether-element-attached-top { + padding: 5px 0; + margin-top: 3px; } + .tooltip.tooltip-bottom .tooltip-arrow, .tooltip.bs-tether-element-attached-top .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; } + .tooltip.tooltip-left, .tooltip.bs-tether-element-attached-right { + padding: 0 5px; + margin-left: -3px; } + .tooltip.tooltip-left .tooltip-arrow, .tooltip.bs-tether-element-attached-right .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #000; } + +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 0.125rem; } + +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; } + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: block; + max-width: 276px; + padding: 1px; + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + font-size: 0.875rem; + word-wrap: break-word; + background-color: #fff; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); } + .popover.popover-top, .popover.bs-tether-element-attached-bottom { + margin-top: -10px; } + .popover.popover-top .popover-arrow, .popover.bs-tether-element-attached-bottom .popover-arrow { + bottom: -11px; + left: 50%; + margin-left: -11px; + border-top-color: rgba(0, 0, 0, 0.25); + border-bottom-width: 0; } + .popover.popover-top .popover-arrow::after, .popover.bs-tether-element-attached-bottom .popover-arrow::after { + bottom: 1px; + margin-left: -10px; + content: ""; + border-top-color: #fff; + border-bottom-width: 0; } + .popover.popover-right, .popover.bs-tether-element-attached-left { + margin-left: 10px; } + .popover.popover-right .popover-arrow, .popover.bs-tether-element-attached-left .popover-arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-right-color: rgba(0, 0, 0, 0.25); + border-left-width: 0; } + .popover.popover-right .popover-arrow::after, .popover.bs-tether-element-attached-left .popover-arrow::after { + bottom: -10px; + left: 1px; + content: ""; + border-right-color: #fff; + border-left-width: 0; } + .popover.popover-bottom, .popover.bs-tether-element-attached-top { + margin-top: 10px; } + .popover.popover-bottom .popover-arrow, .popover.bs-tether-element-attached-top .popover-arrow { + top: -11px; + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: rgba(0, 0, 0, 0.25); } + .popover.popover-bottom .popover-arrow::after, .popover.bs-tether-element-attached-top .popover-arrow::after { + top: 1px; + margin-left: -10px; + content: ""; + border-top-width: 0; + border-bottom-color: #fff; } + .popover.popover-left, .popover.bs-tether-element-attached-right { + margin-left: -10px; } + .popover.popover-left .popover-arrow, .popover.bs-tether-element-attached-right .popover-arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: rgba(0, 0, 0, 0.25); } + .popover.popover-left .popover-arrow::after, .popover.bs-tether-element-attached-right .popover-arrow::after { + right: 1px; + bottom: -10px; + content: ""; + border-right-width: 0; + border-left-color: #fff; } + +.popover-title { + padding: 8px 14px; + margin: 0; + font-size: 1rem; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-radius: 0.2375rem 0.2375rem 0 0; } + .popover-title:empty { + display: none; } + +.popover-content { + padding: 9px 14px; } + +.popover-arrow, .popover-arrow::after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; } + +.popover-arrow { + border-width: 11px; } + +.popover-arrow::after { + content: ""; + border-width: 10px; } + +.carousel { + position: relative; } + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; } + .carousel-inner > .carousel-item { + position: relative; + display: none; + -webkit-transition: .6s ease-in-out left; + -o-transition: .6s ease-in-out left; + transition: .6s ease-in-out left; } + .carousel-inner > .carousel-item > img, + .carousel-inner > .carousel-item > a > img { + line-height: 1; } + @media all and (transform-3d), (-webkit-transform-3d) { + .carousel-inner > .carousel-item { + -webkit-transition: -webkit-transform .6s ease-in-out; + transition: -webkit-transform .6s ease-in-out; + -o-transition: transform .6s ease-in-out, -o-transform .6s ease-in-out; + transition: transform .6s ease-in-out; + transition: transform .6s ease-in-out, -webkit-transform .6s ease-in-out, -o-transform .6s ease-in-out; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-perspective: 1000px; + perspective: 1000px; } + .carousel-inner > .carousel-item.next, .carousel-inner > .carousel-item.active.right { + left: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); } + .carousel-inner > .carousel-item.prev, .carousel-inner > .carousel-item.active.left { + left: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); } + .carousel-inner > .carousel-item.next.left, .carousel-inner > .carousel-item.prev.right, .carousel-inner > .carousel-item.active { + left: 0; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } } + .carousel-inner > .active, + .carousel-inner > .next, + .carousel-inner > .prev { + display: block; } + .carousel-inner > .active { + left: 0; } + .carousel-inner > .next, + .carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; } + .carousel-inner > .next { + left: 100%; } + .carousel-inner > .prev { + left: -100%; } + .carousel-inner > .next.left, + .carousel-inner > .prev.right { + left: 0; } + .carousel-inner > .active.left { + left: -100%; } + .carousel-inner > .active.right { + left: 100%; } + +.carousel-control { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 15%; + font-size: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); + opacity: 0.5; } + .carousel-control.left { + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.0001))); + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); } + .carousel-control.right { + right: 0; + left: auto; + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.0001)), to(rgba(0, 0, 0, 0.5))); + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); } + .carousel-control:focus, .carousel-control:hover { + color: #fff; + text-decoration: none; + outline: 0; + opacity: .9; } + .carousel-control .icon-prev, + .carousel-control .icon-next { + position: absolute; + top: 50%; + z-index: 5; + display: inline-block; + width: 20px; + height: 20px; + margin-top: -10px; + font-family: serif; + line-height: 1; } + .carousel-control .icon-prev { + left: 50%; + margin-left: -10px; } + .carousel-control .icon-next { + right: 50%; + margin-right: -10px; } + .carousel-control .icon-prev::before { + content: "\2039"; } + .carousel-control .icon-next::before { + content: "\203a"; } + +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + padding-left: 0; + margin-left: -30%; + text-align: center; + list-style: none; } + .carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + cursor: pointer; + background-color: transparent; + border: 1px solid #fff; + border-radius: 10px; } + .carousel-indicators .active { + width: 12px; + height: 12px; + margin: 0; + background-color: #fff; } + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); } + .carousel-caption .btn, .carousel-caption .custom-file-control::before { + text-shadow: none; } + +@media (min-width: 544px) { + .carousel-control .icon-prev, + .carousel-control .icon-next { + width: 30px; + height: 30px; + margin-top: -15px; + font-size: 30px; } + .carousel-control .icon-prev { + margin-left: -15px; } + .carousel-control .icon-next { + margin-right: -15px; } + .carousel-caption { + right: 20%; + left: 20%; + padding-bottom: 30px; } + .carousel-indicators { + bottom: 20px; } } + +.bg-faded { + background-color: #f7f7f9; } + +.bg-primary { + color: #fff !important; + background-color: #009688 !important; } + +a.bg-primary:focus, a.bg-primary:hover { + background-color: #00635a !important; } + +.bg-success { + color: #fff !important; + background-color: #4caf50 !important; } + +a.bg-success:focus, a.bg-success:hover { + background-color: #3d8b40 !important; } + +.bg-info { + color: #fff !important; + background-color: #03a9f4 !important; } + +a.bg-info:focus, a.bg-info:hover { + background-color: #0286c2 !important; } + +.bg-warning { + color: #fff !important; + background-color: #ff5722 !important; } + +a.bg-warning:focus, a.bg-warning:hover { + background-color: #ee3900 !important; } + +.bg-danger { + color: #fff !important; + background-color: #f44336 !important; } + +a.bg-danger:focus, a.bg-danger:hover { + background-color: #ea1c0d !important; } + +.bg-inverse { + color: #fff !important; + background-color: rgba(0, 0, 0, 0.87) !important; } + +a.bg-inverse:focus, a.bg-inverse:hover { + background-color: rgba(0, 0, 0, 0.87) !important; } + +.clearfix::after { + content: ""; + display: table; + clear: both; } + +.d-block { + display: block !important; } + +.d-inline-block { + display: inline-block !important; } + +.d-inline { + display: inline !important; } + +.flex-xs-first { + -webkit-box-ordinal-group: 0; + -webkit-order: -1; + -ms-flex-order: -1; + order: -1; } + +.flex-xs-last { + -webkit-box-ordinal-group: 2; + -webkit-order: 1; + -ms-flex-order: 1; + order: 1; } + +.flex-xs-unordered { + -webkit-box-ordinal-group: 1; + -webkit-order: 0; + -ms-flex-order: 0; + order: 0; } + +.flex-items-xs-top { + -webkit-box-align: start; + -webkit-align-items: flex-start; + -ms-flex-align: start; + -ms-grid-row-align: flex-start; + align-items: flex-start; } + +.flex-items-xs-middle { + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + -ms-grid-row-align: center; + align-items: center; } + +.flex-items-xs-bottom { + -webkit-box-align: end; + -webkit-align-items: flex-end; + -ms-flex-align: end; + -ms-grid-row-align: flex-end; + align-items: flex-end; } + +.flex-xs-top { + -webkit-align-self: flex-start; + -ms-flex-item-align: start; + align-self: flex-start; } + +.flex-xs-middle { + -webkit-align-self: center; + -ms-flex-item-align: center; + align-self: center; } + +.flex-xs-bottom { + -webkit-align-self: flex-end; + -ms-flex-item-align: end; + align-self: flex-end; } + +.flex-items-xs-left { + -webkit-box-pack: start; + -webkit-justify-content: flex-start; + -ms-flex-pack: start; + justify-content: flex-start; } + +.flex-items-xs-center { + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; } + +.flex-items-xs-right { + -webkit-box-pack: end; + -webkit-justify-content: flex-end; + -ms-flex-pack: end; + justify-content: flex-end; } + +.flex-items-xs-around { + -webkit-justify-content: space-around; + -ms-flex-pack: distribute; + justify-content: space-around; } + +.flex-items-xs-between { + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; } + +@media (min-width: 544px) { + .flex-sm-first { + -webkit-box-ordinal-group: 0; + -webkit-order: -1; + -ms-flex-order: -1; + order: -1; } + .flex-sm-last { + -webkit-box-ordinal-group: 2; + -webkit-order: 1; + -ms-flex-order: 1; + order: 1; } + .flex-sm-unordered { + -webkit-box-ordinal-group: 1; + -webkit-order: 0; + -ms-flex-order: 0; + order: 0; } } + +@media (min-width: 544px) { + .flex-items-sm-top { + -webkit-box-align: start; + -webkit-align-items: flex-start; + -ms-flex-align: start; + -ms-grid-row-align: flex-start; + align-items: flex-start; } + .flex-items-sm-middle { + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + -ms-grid-row-align: center; + align-items: center; } + .flex-items-sm-bottom { + -webkit-box-align: end; + -webkit-align-items: flex-end; + -ms-flex-align: end; + -ms-grid-row-align: flex-end; + align-items: flex-end; } } + +@media (min-width: 544px) { + .flex-sm-top { + -webkit-align-self: flex-start; + -ms-flex-item-align: start; + align-self: flex-start; } + .flex-sm-middle { + -webkit-align-self: center; + -ms-flex-item-align: center; + align-self: center; } + .flex-sm-bottom { + -webkit-align-self: flex-end; + -ms-flex-item-align: end; + align-self: flex-end; } } + +@media (min-width: 544px) { + .flex-items-sm-left { + -webkit-box-pack: start; + -webkit-justify-content: flex-start; + -ms-flex-pack: start; + justify-content: flex-start; } + .flex-items-sm-center { + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; } + .flex-items-sm-right { + -webkit-box-pack: end; + -webkit-justify-content: flex-end; + -ms-flex-pack: end; + justify-content: flex-end; } + .flex-items-sm-around { + -webkit-justify-content: space-around; + -ms-flex-pack: distribute; + justify-content: space-around; } + .flex-items-sm-between { + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; } } + +@media (min-width: 768px) { + .flex-md-first { + -webkit-box-ordinal-group: 0; + -webkit-order: -1; + -ms-flex-order: -1; + order: -1; } + .flex-md-last { + -webkit-box-ordinal-group: 2; + -webkit-order: 1; + -ms-flex-order: 1; + order: 1; } + .flex-md-unordered { + -webkit-box-ordinal-group: 1; + -webkit-order: 0; + -ms-flex-order: 0; + order: 0; } } + +@media (min-width: 768px) { + .flex-items-md-top { + -webkit-box-align: start; + -webkit-align-items: flex-start; + -ms-flex-align: start; + -ms-grid-row-align: flex-start; + align-items: flex-start; } + .flex-items-md-middle { + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + -ms-grid-row-align: center; + align-items: center; } + .flex-items-md-bottom { + -webkit-box-align: end; + -webkit-align-items: flex-end; + -ms-flex-align: end; + -ms-grid-row-align: flex-end; + align-items: flex-end; } } + +@media (min-width: 768px) { + .flex-md-top { + -webkit-align-self: flex-start; + -ms-flex-item-align: start; + align-self: flex-start; } + .flex-md-middle { + -webkit-align-self: center; + -ms-flex-item-align: center; + align-self: center; } + .flex-md-bottom { + -webkit-align-self: flex-end; + -ms-flex-item-align: end; + align-self: flex-end; } } + +@media (min-width: 768px) { + .flex-items-md-left { + -webkit-box-pack: start; + -webkit-justify-content: flex-start; + -ms-flex-pack: start; + justify-content: flex-start; } + .flex-items-md-center { + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; } + .flex-items-md-right { + -webkit-box-pack: end; + -webkit-justify-content: flex-end; + -ms-flex-pack: end; + justify-content: flex-end; } + .flex-items-md-around { + -webkit-justify-content: space-around; + -ms-flex-pack: distribute; + justify-content: space-around; } + .flex-items-md-between { + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; } } + +@media (min-width: 992px) { + .flex-lg-first { + -webkit-box-ordinal-group: 0; + -webkit-order: -1; + -ms-flex-order: -1; + order: -1; } + .flex-lg-last { + -webkit-box-ordinal-group: 2; + -webkit-order: 1; + -ms-flex-order: 1; + order: 1; } + .flex-lg-unordered { + -webkit-box-ordinal-group: 1; + -webkit-order: 0; + -ms-flex-order: 0; + order: 0; } } + +@media (min-width: 992px) { + .flex-items-lg-top { + -webkit-box-align: start; + -webkit-align-items: flex-start; + -ms-flex-align: start; + -ms-grid-row-align: flex-start; + align-items: flex-start; } + .flex-items-lg-middle { + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + -ms-grid-row-align: center; + align-items: center; } + .flex-items-lg-bottom { + -webkit-box-align: end; + -webkit-align-items: flex-end; + -ms-flex-align: end; + -ms-grid-row-align: flex-end; + align-items: flex-end; } } + +@media (min-width: 992px) { + .flex-lg-top { + -webkit-align-self: flex-start; + -ms-flex-item-align: start; + align-self: flex-start; } + .flex-lg-middle { + -webkit-align-self: center; + -ms-flex-item-align: center; + align-self: center; } + .flex-lg-bottom { + -webkit-align-self: flex-end; + -ms-flex-item-align: end; + align-self: flex-end; } } + +@media (min-width: 992px) { + .flex-items-lg-left { + -webkit-box-pack: start; + -webkit-justify-content: flex-start; + -ms-flex-pack: start; + justify-content: flex-start; } + .flex-items-lg-center { + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; } + .flex-items-lg-right { + -webkit-box-pack: end; + -webkit-justify-content: flex-end; + -ms-flex-pack: end; + justify-content: flex-end; } + .flex-items-lg-around { + -webkit-justify-content: space-around; + -ms-flex-pack: distribute; + justify-content: space-around; } + .flex-items-lg-between { + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; } } + +@media (min-width: 1200px) { + .flex-xl-first { + -webkit-box-ordinal-group: 0; + -webkit-order: -1; + -ms-flex-order: -1; + order: -1; } + .flex-xl-last { + -webkit-box-ordinal-group: 2; + -webkit-order: 1; + -ms-flex-order: 1; + order: 1; } + .flex-xl-unordered { + -webkit-box-ordinal-group: 1; + -webkit-order: 0; + -ms-flex-order: 0; + order: 0; } } + +@media (min-width: 1200px) { + .flex-items-xl-top { + -webkit-box-align: start; + -webkit-align-items: flex-start; + -ms-flex-align: start; + -ms-grid-row-align: flex-start; + align-items: flex-start; } + .flex-items-xl-middle { + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + -ms-grid-row-align: center; + align-items: center; } + .flex-items-xl-bottom { + -webkit-box-align: end; + -webkit-align-items: flex-end; + -ms-flex-align: end; + -ms-grid-row-align: flex-end; + align-items: flex-end; } } + +@media (min-width: 1200px) { + .flex-xl-top { + -webkit-align-self: flex-start; + -ms-flex-item-align: start; + align-self: flex-start; } + .flex-xl-middle { + -webkit-align-self: center; + -ms-flex-item-align: center; + align-self: center; } + .flex-xl-bottom { + -webkit-align-self: flex-end; + -ms-flex-item-align: end; + align-self: flex-end; } } + +@media (min-width: 1200px) { + .flex-items-xl-left { + -webkit-box-pack: start; + -webkit-justify-content: flex-start; + -ms-flex-pack: start; + justify-content: flex-start; } + .flex-items-xl-center { + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; } + .flex-items-xl-right { + -webkit-box-pack: end; + -webkit-justify-content: flex-end; + -ms-flex-pack: end; + justify-content: flex-end; } + .flex-items-xl-around { + -webkit-justify-content: space-around; + -ms-flex-pack: distribute; + justify-content: space-around; } + .flex-items-xl-between { + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; } } + +.pull-xs-left { + float: left !important; + margin-right: auto; } + +.pull-xs-right { + float: right !important; + margin-left: auto; } + +.pull-xs-none { + float: none !important; } + +@media (min-width: 544px) { + .pull-sm-left { + float: left !important; + margin-right: auto; } + .pull-sm-right { + float: right !important; + margin-left: auto; } + .pull-sm-none { + float: none !important; } } + +@media (min-width: 768px) { + .pull-md-left { + float: left !important; + margin-right: auto; } + .pull-md-right { + float: right !important; + margin-left: auto; } + .pull-md-none { + float: none !important; } } + +@media (min-width: 992px) { + .pull-lg-left { + float: left !important; + margin-right: auto; } + .pull-lg-right { + float: right !important; + margin-left: auto; } + .pull-lg-none { + float: none !important; } } + +@media (min-width: 1200px) { + .pull-xl-left { + float: left !important; + margin-right: auto; } + .pull-xl-right { + float: right !important; + margin-left: auto; } + .pull-xl-none { + float: none !important; } } + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; } + +.sr-only-focusable:active, .sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; } + +.w-100 { + width: 100% !important; } + +.m-x-auto { + margin-right: auto !important; + margin-left: auto !important; } + +.m-a-0 { + margin: 0 0 !important; } + +.m-t-0 { + margin-top: 0 !important; } + +.m-r-0 { + margin-right: 0 !important; } + +.m-b-0 { + margin-bottom: 0 !important; } + +.m-l-0 { + margin-left: 0 !important; } + +.m-x-0 { + margin-right: 0 !important; + margin-left: 0 !important; } + +.m-y-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; } + +.m-a-1 { + margin: 0.5rem 0.5rem !important; } + +.m-t-1 { + margin-top: 0.5rem !important; } + +.m-r-1 { + margin-right: 0.5rem !important; } + +.m-b-1 { + margin-bottom: 0.5rem !important; } + +.m-l-1 { + margin-left: 0.5rem !important; } + +.m-x-1 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; } + +.m-y-1 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; } + +.m-a-2 { + margin: 0.75rem 0.75rem !important; } + +.m-t-2 { + margin-top: 0.75rem !important; } + +.m-r-2 { + margin-right: 0.75rem !important; } + +.m-b-2 { + margin-bottom: 0.75rem !important; } + +.m-l-2 { + margin-left: 0.75rem !important; } + +.m-x-2 { + margin-right: 0.75rem !important; + margin-left: 0.75rem !important; } + +.m-y-2 { + margin-top: 0.75rem !important; + margin-bottom: 0.75rem !important; } + +.m-a-3 { + margin: 1.5rem 1.5rem !important; } + +.m-t-3 { + margin-top: 1.5rem !important; } + +.m-r-3 { + margin-right: 1.5rem !important; } + +.m-b-3 { + margin-bottom: 1.5rem !important; } + +.m-l-3 { + margin-left: 1.5rem !important; } + +.m-x-3 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; } + +.m-y-3 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; } + +.p-a-0 { + padding: 0 0 !important; } + +.p-t-0 { + padding-top: 0 !important; } + +.p-r-0 { + padding-right: 0 !important; } + +.p-b-0 { + padding-bottom: 0 !important; } + +.p-l-0 { + padding-left: 0 !important; } + +.p-x-0 { + padding-right: 0 !important; + padding-left: 0 !important; } + +.p-y-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; } + +.p-a-1 { + padding: 0.5rem 0.5rem !important; } + +.p-t-1 { + padding-top: 0.5rem !important; } + +.p-r-1 { + padding-right: 0.5rem !important; } + +.p-b-1 { + padding-bottom: 0.5rem !important; } + +.p-l-1 { + padding-left: 0.5rem !important; } + +.p-x-1 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; } + +.p-y-1 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; } + +.p-a-2 { + padding: 0.75rem 0.75rem !important; } + +.p-t-2 { + padding-top: 0.75rem !important; } + +.p-r-2 { + padding-right: 0.75rem !important; } + +.p-b-2 { + padding-bottom: 0.75rem !important; } + +.p-l-2 { + padding-left: 0.75rem !important; } + +.p-x-2 { + padding-right: 0.75rem !important; + padding-left: 0.75rem !important; } + +.p-y-2 { + padding-top: 0.75rem !important; + padding-bottom: 0.75rem !important; } + +.p-a-3 { + padding: 1.5rem 1.5rem !important; } + +.p-t-3 { + padding-top: 1.5rem !important; } + +.p-r-3 { + padding-right: 1.5rem !important; } + +.p-b-3 { + padding-bottom: 1.5rem !important; } + +.p-l-3 { + padding-left: 1.5rem !important; } + +.p-x-3 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; } + +.p-y-3 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; } + +.pos-f-t { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; } + +.text-justify { + text-align: justify !important; } + +.text-nowrap { + white-space: nowrap !important; } + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } + +.text-xs-left { + text-align: left !important; } + +.text-xs-right { + text-align: right !important; } + +.text-xs-center { + text-align: center !important; } + +@media (min-width: 544px) { + .text-sm-left { + text-align: left !important; } + .text-sm-right { + text-align: right !important; } + .text-sm-center { + text-align: center !important; } } + +@media (min-width: 768px) { + .text-md-left { + text-align: left !important; } + .text-md-right { + text-align: right !important; } + .text-md-center { + text-align: center !important; } } + +@media (min-width: 992px) { + .text-lg-left { + text-align: left !important; } + .text-lg-right { + text-align: right !important; } + .text-lg-center { + text-align: center !important; } } + +@media (min-width: 1200px) { + .text-xl-left { + text-align: left !important; } + .text-xl-right { + text-align: right !important; } + .text-xl-center { + text-align: center !important; } } + +.text-lowercase { + text-transform: lowercase !important; } + +.text-uppercase { + text-transform: uppercase !important; } + +.text-capitalize { + text-transform: capitalize !important; } + +.font-weight-normal { + font-weight: normal; } + +.font-weight-bold { + font-weight: bold; } + +.font-italic { + font-style: italic; } + +.text-muted, .bmd-help { + color: rgba(0, 0, 0, 0.26) !important; } + +a.text-muted:focus, a.bmd-help:focus, a.text-muted:hover, a.bmd-help:hover { + color: rgba(0, 0, 0, 0.26); } + +.text-primary { + color: #009688 !important; } + +a.text-primary:focus, a.text-primary:hover { + color: #00635a; } + +.text-success { + color: #4caf50 !important; } + +a.text-success:focus, a.text-success:hover { + color: #3d8b40; } + +.text-info { + color: #03a9f4 !important; } + +a.text-info:focus, a.text-info:hover { + color: #0286c2; } + +.text-warning { + color: #ff5722 !important; } + +a.text-warning:focus, a.text-warning:hover { + color: #ee3900; } + +.text-danger { + color: #f44336 !important; } + +a.text-danger:focus, a.text-danger:hover { + color: #ea1c0d; } + +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; } + +.invisible { + visibility: hidden !important; } + +.hidden-xs-up { + display: none !important; } + +@media (max-width: 543px) { + .hidden-xs-down { + display: none !important; } } + +@media (min-width: 544px) { + .hidden-sm-up { + display: none !important; } } + +@media (max-width: 767px) { + .hidden-sm-down { + display: none !important; } } + +@media (min-width: 768px) { + .hidden-md-up { + display: none !important; } } + +@media (max-width: 991px) { + .hidden-md-down { + display: none !important; } } + +@media (min-width: 992px) { + .hidden-lg-up { + display: none !important; } } + +@media (max-width: 1199px) { + .hidden-lg-down { + display: none !important; } } + +@media (min-width: 1200px) { + .hidden-xl-up { + display: none !important; } } + +.hidden-xl-down { + display: none !important; } + +.visible-print-block { + display: none !important; } + @media print { + .visible-print-block { + display: block !important; } } + +.visible-print-inline { + display: none !important; } + @media print { + .visible-print-inline { + display: inline !important; } } + +.visible-print-inline-block { + display: none !important; } + @media print { + .visible-print-inline-block { + display: inline-block !important; } } + +@media print { + .hidden-print { + display: none !important; } } + +body { + font-weight: 400; } + +a:focus { + outline: none; } + +button:focus { + outline: none; } + +.bmd-layout-canvas { + position: absolute; + width: 100%; + height: 100%; } + +.bmd-layout-container { + position: relative; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + width: 100%; + height: 100%; + overflow-x: hidden; + overflow-y: auto; + -webkit-overflow-scrolling: touch; } + +.bmd-layout-header { + z-index: 3; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; + -webkit-box-pack: start; + -webkit-justify-content: flex-start; + -ms-flex-pack: start; + justify-content: flex-start; + width: 100%; + max-height: 1000px; + -webkit-transform: translateZ(0); + transform: translateZ(0); + -webkit-transition-duration: 0.2s; + -o-transition-duration: 0.2s; + transition-duration: 0.2s; + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + -o-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } + +.bmd-layout-content { + position: relative; + z-index: 1; + display: inline-block; + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; + overflow-x: hidden; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + -webkit-transition-duration: 0.2s; + -o-transition-duration: 0.2s; + transition-duration: 0.2s; + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + -o-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } + +.bmd-layout-spacer { + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; } + +.bmd-layout-backdrop { + position: absolute; + top: 0; + left: 0; + z-index: 4; + width: 100%; + height: 100%; + visibility: hidden; + background-color: transparent; + -webkit-transition-property: background-color; + -o-transition-property: background-color; + transition-property: background-color; + -webkit-transition-duration: 0.2s; + -o-transition-duration: 0.2s; + transition-duration: 0.2s; + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + -o-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } + @supports (pointer-events: auto) { + .bmd-layout-backdrop { + background-color: rgba(0, 0, 0, 0.5); + opacity: 0; + -webkit-transition-property: opacity; + -o-transition-property: opacity; + transition-property: opacity; + visibility: visible; + pointer-events: none; } } + +.btn, .custom-file-control::before { + position: relative; + margin-bottom: 0.3125rem; + font-size: 0.875rem; + text-decoration: none; + text-transform: uppercase; + letter-spacing: 0; + cursor: pointer; + background-color: transparent; + border: 0; + outline: 0; + -webkit-transition: background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1); + transition: background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1); + -o-transition: box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1); + transition: box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1); + transition: box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1); + will-change: box-shadow, transform; + color: rgba(0, 0, 0, 0.87); + background-color: inherit; + border-color: #ccc; } + .btn:focus, .custom-file-control:focus::before, .btn.focus, .focus.custom-file-control::before, .btn:active:focus, .custom-file-control:active:focus::before, .btn:active.focus, .custom-file-control:active.focus::before, .btn.active:focus, .active.custom-file-control:focus::before, .btn.active.focus, .active.focus.custom-file-control::before { + outline: 0; } + .btn:hover, .custom-file-control:hover::before { + color: rgba(0, 0, 0, 0.87); + background-color: rgba(153, 153, 153, 0.2); + border-color: rgba(153, 153, 153, 0.2); } + .btn:focus, .custom-file-control:focus::before, .btn.focus, .focus.custom-file-control::before { + color: rgba(0, 0, 0, 0.87); + background-color: rgba(153, 153, 153, 0.2); + border-color: rgba(153, 153, 153, 0.2); } + .btn:active, .custom-file-control:active::before, .btn.active, .active.custom-file-control::before, + .open > .btn.dropdown-toggle, + .open > .dropdown-toggle.custom-file-control::before { + color: rgba(0, 0, 0, 0.87); + background-color: rgba(153, 153, 153, 0.2); + border-color: rgba(153, 153, 153, 0.2); } + .btn:active:hover, .custom-file-control:active:hover::before, .btn:active:focus, .custom-file-control:active:focus::before, .btn:active.focus, .custom-file-control:active.focus::before, .btn.active:hover, .active.custom-file-control:hover::before, .btn.active:focus, .active.custom-file-control:focus::before, .btn.active.focus, .active.focus.custom-file-control::before, + .open > .btn.dropdown-toggle:hover, + .open > .dropdown-toggle.custom-file-control:hover::before, + .open > .btn.dropdown-toggle:focus, + .open > .dropdown-toggle.custom-file-control:focus::before, + .open > .btn.dropdown-toggle.focus, + .open > .dropdown-toggle.focus.custom-file-control::before { + color: rgba(0, 0, 0, 0.87); + background-color: rgba(153, 153, 153, 0.4); + border-color: rgba(153, 153, 153, 0.4); } + .open > .btn.dropdown-toggle.bmd-btn-icon, .open > .dropdown-toggle.bmd-btn-icon.custom-file-control::before { + color: inherit; + background-color: inherit; } + .open > .btn.dropdown-toggle.bmd-btn-icon:hover, .open > .dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before { + background-color: rgba(153, 153, 153, 0.2); } + .btn.disabled:focus, .disabled.custom-file-control:focus::before, .btn.disabled.focus, .disabled.focus.custom-file-control::before, .btn:disabled:focus, .custom-file-control:disabled:focus::before, .btn:disabled.focus, .custom-file-control:disabled.focus::before { + background-color: inherit; + border-color: #ccc; } + .btn.disabled:hover, .disabled.custom-file-control:hover::before, .btn:disabled:hover, .custom-file-control:disabled:hover::before { + background-color: inherit; + border-color: #ccc; } + .bg-inverse .btn, .bg-inverse .custom-file-control::before { + color: rgba(0, 0, 0, 0.87); + background-color: inherit; + border-color: #ccc; } + .bg-inverse .btn:hover, .bg-inverse .custom-file-control:hover::before { + color: rgba(0, 0, 0, 0.87); + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn:focus, .bg-inverse .custom-file-control:focus::before, .bg-inverse .btn.focus, .bg-inverse .focus.custom-file-control::before { + color: rgba(0, 0, 0, 0.87); + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn:active, .bg-inverse .custom-file-control:active::before, .bg-inverse .btn.active, .bg-inverse .active.custom-file-control::before, + .open > .bg-inverse .btn.dropdown-toggle, + .open > .bg-inverse .dropdown-toggle.custom-file-control::before { + color: rgba(0, 0, 0, 0.87); + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn:active:hover, .bg-inverse .custom-file-control:active:hover::before, .bg-inverse .btn:active:focus, .bg-inverse .custom-file-control:active:focus::before, .bg-inverse .btn:active.focus, .bg-inverse .custom-file-control:active.focus::before, .bg-inverse .btn.active:hover, .bg-inverse .active.custom-file-control:hover::before, .bg-inverse .btn.active:focus, .bg-inverse .active.custom-file-control:focus::before, .bg-inverse .btn.active.focus, .bg-inverse .active.focus.custom-file-control::before, + .open > .bg-inverse .btn.dropdown-toggle:hover, + .open > .bg-inverse .dropdown-toggle.custom-file-control:hover::before, + .open > .bg-inverse .btn.dropdown-toggle:focus, + .open > .bg-inverse .dropdown-toggle.custom-file-control:focus::before, + .open > .bg-inverse .btn.dropdown-toggle.focus, + .open > .bg-inverse .dropdown-toggle.focus.custom-file-control::before { + color: rgba(0, 0, 0, 0.87); + background-color: rgba(204, 204, 204, 0.25); + border-color: rgba(204, 204, 204, 0.25); } + .open > .bg-inverse .btn.dropdown-toggle.bmd-btn-icon, .open > .bg-inverse .dropdown-toggle.bmd-btn-icon.custom-file-control::before { + color: inherit; + background-color: inherit; } + .open > .bg-inverse .btn.dropdown-toggle.bmd-btn-icon:hover, .open > .bg-inverse .dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before { + background-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.disabled:focus, .bg-inverse .disabled.custom-file-control:focus::before, .bg-inverse .btn.disabled.focus, .bg-inverse .disabled.focus.custom-file-control::before, .bg-inverse .btn:disabled:focus, .bg-inverse .custom-file-control:disabled:focus::before, .bg-inverse .btn:disabled.focus, .bg-inverse .custom-file-control:disabled.focus::before { + background-color: inherit; + border-color: #ccc; } + .bg-inverse .btn.disabled:hover, .bg-inverse .disabled.custom-file-control:hover::before, .bg-inverse .btn:disabled:hover, .bg-inverse .custom-file-control:disabled:hover::before { + background-color: inherit; + border-color: #ccc; } + .btn.btn-link, .btn-link.custom-file-control::before { + background-color: transparent; } + .btn.btn-primary, .btn-primary.custom-file-control::before { + color: #009688; + background-color: inherit; + border-color: #ccc; } + .btn.btn-primary:hover, .btn-primary.custom-file-control:hover::before { + color: #009688; + background-color: rgba(153, 153, 153, 0.2); + border-color: rgba(153, 153, 153, 0.2); } + .btn.btn-primary:focus, .btn-primary.custom-file-control:focus::before, .btn.btn-primary.focus, .btn-primary.focus.custom-file-control::before { + color: #009688; + background-color: rgba(153, 153, 153, 0.2); + border-color: rgba(153, 153, 153, 0.2); } + .btn.btn-primary:active, .btn-primary.custom-file-control:active::before, .btn.btn-primary.active, .btn-primary.active.custom-file-control::before, + .open > .btn.btn-primary.dropdown-toggle, + .open > .btn-primary.dropdown-toggle.custom-file-control::before { + color: #009688; + background-color: rgba(153, 153, 153, 0.2); + border-color: rgba(153, 153, 153, 0.2); } + .btn.btn-primary:active:hover, .btn-primary.custom-file-control:active:hover::before, .btn.btn-primary:active:focus, .btn-primary.custom-file-control:active:focus::before, .btn.btn-primary:active.focus, .btn-primary.custom-file-control:active.focus::before, .btn.btn-primary.active:hover, .btn-primary.active.custom-file-control:hover::before, .btn.btn-primary.active:focus, .btn-primary.active.custom-file-control:focus::before, .btn.btn-primary.active.focus, .btn-primary.active.focus.custom-file-control::before, + .open > .btn.btn-primary.dropdown-toggle:hover, + .open > .btn-primary.dropdown-toggle.custom-file-control:hover::before, + .open > .btn.btn-primary.dropdown-toggle:focus, + .open > .btn-primary.dropdown-toggle.custom-file-control:focus::before, + .open > .btn.btn-primary.dropdown-toggle.focus, + .open > .btn-primary.dropdown-toggle.focus.custom-file-control::before { + color: #009688; + background-color: rgba(153, 153, 153, 0.4); + border-color: rgba(153, 153, 153, 0.4); } + .open > .btn.btn-primary.dropdown-toggle.bmd-btn-icon, .open > .btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control::before { + color: inherit; + background-color: inherit; } + .open > .btn.btn-primary.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before { + background-color: rgba(153, 153, 153, 0.2); } + .btn.btn-primary.disabled:focus, .btn-primary.disabled.custom-file-control:focus::before, .btn.btn-primary.disabled.focus, .btn-primary.disabled.focus.custom-file-control::before, .btn.btn-primary:disabled:focus, .btn-primary.custom-file-control:disabled:focus::before, .btn.btn-primary:disabled.focus, .btn-primary.custom-file-control:disabled.focus::before { + background-color: inherit; + border-color: #ccc; } + .btn.btn-primary.disabled:hover, .btn-primary.disabled.custom-file-control:hover::before, .btn.btn-primary:disabled:hover, .btn-primary.custom-file-control:disabled:hover::before { + background-color: inherit; + border-color: #ccc; } + .bg-inverse .btn.btn-primary, .bg-inverse .btn-primary.custom-file-control::before { + color: #009688; + background-color: inherit; + border-color: #ccc; } + .bg-inverse .btn.btn-primary:hover, .bg-inverse .btn-primary.custom-file-control:hover::before { + color: #009688; + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-primary:focus, .bg-inverse .btn-primary.custom-file-control:focus::before, .bg-inverse .btn.btn-primary.focus, .bg-inverse .btn-primary.focus.custom-file-control::before { + color: #009688; + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-primary:active, .bg-inverse .btn-primary.custom-file-control:active::before, .bg-inverse .btn.btn-primary.active, .bg-inverse .btn-primary.active.custom-file-control::before, + .open > .bg-inverse .btn.btn-primary.dropdown-toggle, + .open > .bg-inverse .btn-primary.dropdown-toggle.custom-file-control::before { + color: #009688; + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-primary:active:hover, .bg-inverse .btn-primary.custom-file-control:active:hover::before, .bg-inverse .btn.btn-primary:active:focus, .bg-inverse .btn-primary.custom-file-control:active:focus::before, .bg-inverse .btn.btn-primary:active.focus, .bg-inverse .btn-primary.custom-file-control:active.focus::before, .bg-inverse .btn.btn-primary.active:hover, .bg-inverse .btn-primary.active.custom-file-control:hover::before, .bg-inverse .btn.btn-primary.active:focus, .bg-inverse .btn-primary.active.custom-file-control:focus::before, .bg-inverse .btn.btn-primary.active.focus, .bg-inverse .btn-primary.active.focus.custom-file-control::before, + .open > .bg-inverse .btn.btn-primary.dropdown-toggle:hover, + .open > .bg-inverse .btn-primary.dropdown-toggle.custom-file-control:hover::before, + .open > .bg-inverse .btn.btn-primary.dropdown-toggle:focus, + .open > .bg-inverse .btn-primary.dropdown-toggle.custom-file-control:focus::before, + .open > .bg-inverse .btn.btn-primary.dropdown-toggle.focus, + .open > .bg-inverse .btn-primary.dropdown-toggle.focus.custom-file-control::before { + color: #009688; + background-color: rgba(204, 204, 204, 0.25); + border-color: rgba(204, 204, 204, 0.25); } + .open > .bg-inverse .btn.btn-primary.dropdown-toggle.bmd-btn-icon, .open > .bg-inverse .btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control::before { + color: inherit; + background-color: inherit; } + .open > .bg-inverse .btn.btn-primary.dropdown-toggle.bmd-btn-icon:hover, .open > .bg-inverse .btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before { + background-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-primary.disabled:focus, .bg-inverse .btn-primary.disabled.custom-file-control:focus::before, .bg-inverse .btn.btn-primary.disabled.focus, .bg-inverse .btn-primary.disabled.focus.custom-file-control::before, .bg-inverse .btn.btn-primary:disabled:focus, .bg-inverse .btn-primary.custom-file-control:disabled:focus::before, .bg-inverse .btn.btn-primary:disabled.focus, .bg-inverse .btn-primary.custom-file-control:disabled.focus::before { + background-color: inherit; + border-color: #ccc; } + .bg-inverse .btn.btn-primary.disabled:hover, .bg-inverse .btn-primary.disabled.custom-file-control:hover::before, .bg-inverse .btn.btn-primary:disabled:hover, .bg-inverse .btn-primary.custom-file-control:disabled:hover::before { + background-color: inherit; + border-color: #ccc; } + .btn.btn-primary.btn-link, .btn-primary.btn-link.custom-file-control::before { + background-color: transparent; } + .btn.btn-secondary, .btn-secondary.custom-file-control::before { + color: rgba(0, 0, 0, 0.87); + background-color: inherit; + border-color: #ccc; } + .btn.btn-secondary:hover, .btn-secondary.custom-file-control:hover::before { + color: rgba(0, 0, 0, 0.87); + background-color: rgba(153, 153, 153, 0.2); + border-color: rgba(153, 153, 153, 0.2); } + .btn.btn-secondary:focus, .btn-secondary.custom-file-control:focus::before, .btn.btn-secondary.focus, .btn-secondary.focus.custom-file-control::before { + color: rgba(0, 0, 0, 0.87); + background-color: rgba(153, 153, 153, 0.2); + border-color: rgba(153, 153, 153, 0.2); } + .btn.btn-secondary:active, .btn-secondary.custom-file-control:active::before, .btn.btn-secondary.active, .btn-secondary.active.custom-file-control::before, + .open > .btn.btn-secondary.dropdown-toggle, + .open > .btn-secondary.dropdown-toggle.custom-file-control::before { + color: rgba(0, 0, 0, 0.87); + background-color: rgba(153, 153, 153, 0.2); + border-color: rgba(153, 153, 153, 0.2); } + .btn.btn-secondary:active:hover, .btn-secondary.custom-file-control:active:hover::before, .btn.btn-secondary:active:focus, .btn-secondary.custom-file-control:active:focus::before, .btn.btn-secondary:active.focus, .btn-secondary.custom-file-control:active.focus::before, .btn.btn-secondary.active:hover, .btn-secondary.active.custom-file-control:hover::before, .btn.btn-secondary.active:focus, .btn-secondary.active.custom-file-control:focus::before, .btn.btn-secondary.active.focus, .btn-secondary.active.focus.custom-file-control::before, + .open > .btn.btn-secondary.dropdown-toggle:hover, + .open > .btn-secondary.dropdown-toggle.custom-file-control:hover::before, + .open > .btn.btn-secondary.dropdown-toggle:focus, + .open > .btn-secondary.dropdown-toggle.custom-file-control:focus::before, + .open > .btn.btn-secondary.dropdown-toggle.focus, + .open > .btn-secondary.dropdown-toggle.focus.custom-file-control::before { + color: rgba(0, 0, 0, 0.87); + background-color: rgba(153, 153, 153, 0.4); + border-color: rgba(153, 153, 153, 0.4); } + .open > .btn.btn-secondary.dropdown-toggle.bmd-btn-icon, .open > .btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control::before { + color: inherit; + background-color: inherit; } + .open > .btn.btn-secondary.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before { + background-color: rgba(153, 153, 153, 0.2); } + .btn.btn-secondary.disabled:focus, .btn-secondary.disabled.custom-file-control:focus::before, .btn.btn-secondary.disabled.focus, .btn-secondary.disabled.focus.custom-file-control::before, .btn.btn-secondary:disabled:focus, .btn-secondary.custom-file-control:disabled:focus::before, .btn.btn-secondary:disabled.focus, .btn-secondary.custom-file-control:disabled.focus::before { + background-color: inherit; + border-color: #ccc; } + .btn.btn-secondary.disabled:hover, .btn-secondary.disabled.custom-file-control:hover::before, .btn.btn-secondary:disabled:hover, .btn-secondary.custom-file-control:disabled:hover::before { + background-color: inherit; + border-color: #ccc; } + .bg-inverse .btn.btn-secondary, .bg-inverse .btn-secondary.custom-file-control::before { + color: rgba(0, 0, 0, 0.87); + background-color: inherit; + border-color: #ccc; } + .bg-inverse .btn.btn-secondary:hover, .bg-inverse .btn-secondary.custom-file-control:hover::before { + color: rgba(0, 0, 0, 0.87); + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-secondary:focus, .bg-inverse .btn-secondary.custom-file-control:focus::before, .bg-inverse .btn.btn-secondary.focus, .bg-inverse .btn-secondary.focus.custom-file-control::before { + color: rgba(0, 0, 0, 0.87); + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-secondary:active, .bg-inverse .btn-secondary.custom-file-control:active::before, .bg-inverse .btn.btn-secondary.active, .bg-inverse .btn-secondary.active.custom-file-control::before, + .open > .bg-inverse .btn.btn-secondary.dropdown-toggle, + .open > .bg-inverse .btn-secondary.dropdown-toggle.custom-file-control::before { + color: rgba(0, 0, 0, 0.87); + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-secondary:active:hover, .bg-inverse .btn-secondary.custom-file-control:active:hover::before, .bg-inverse .btn.btn-secondary:active:focus, .bg-inverse .btn-secondary.custom-file-control:active:focus::before, .bg-inverse .btn.btn-secondary:active.focus, .bg-inverse .btn-secondary.custom-file-control:active.focus::before, .bg-inverse .btn.btn-secondary.active:hover, .bg-inverse .btn-secondary.active.custom-file-control:hover::before, .bg-inverse .btn.btn-secondary.active:focus, .bg-inverse .btn-secondary.active.custom-file-control:focus::before, .bg-inverse .btn.btn-secondary.active.focus, .bg-inverse .btn-secondary.active.focus.custom-file-control::before, + .open > .bg-inverse .btn.btn-secondary.dropdown-toggle:hover, + .open > .bg-inverse .btn-secondary.dropdown-toggle.custom-file-control:hover::before, + .open > .bg-inverse .btn.btn-secondary.dropdown-toggle:focus, + .open > .bg-inverse .btn-secondary.dropdown-toggle.custom-file-control:focus::before, + .open > .bg-inverse .btn.btn-secondary.dropdown-toggle.focus, + .open > .bg-inverse .btn-secondary.dropdown-toggle.focus.custom-file-control::before { + color: rgba(0, 0, 0, 0.87); + background-color: rgba(204, 204, 204, 0.25); + border-color: rgba(204, 204, 204, 0.25); } + .open > .bg-inverse .btn.btn-secondary.dropdown-toggle.bmd-btn-icon, .open > .bg-inverse .btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control::before { + color: inherit; + background-color: inherit; } + .open > .bg-inverse .btn.btn-secondary.dropdown-toggle.bmd-btn-icon:hover, .open > .bg-inverse .btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before { + background-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-secondary.disabled:focus, .bg-inverse .btn-secondary.disabled.custom-file-control:focus::before, .bg-inverse .btn.btn-secondary.disabled.focus, .bg-inverse .btn-secondary.disabled.focus.custom-file-control::before, .bg-inverse .btn.btn-secondary:disabled:focus, .bg-inverse .btn-secondary.custom-file-control:disabled:focus::before, .bg-inverse .btn.btn-secondary:disabled.focus, .bg-inverse .btn-secondary.custom-file-control:disabled.focus::before { + background-color: inherit; + border-color: #ccc; } + .bg-inverse .btn.btn-secondary.disabled:hover, .bg-inverse .btn-secondary.disabled.custom-file-control:hover::before, .bg-inverse .btn.btn-secondary:disabled:hover, .bg-inverse .btn-secondary.custom-file-control:disabled:hover::before { + background-color: inherit; + border-color: #ccc; } + .btn.btn-secondary.btn-link, .btn-secondary.btn-link.custom-file-control::before { + background-color: transparent; } + .btn.btn-info, .btn-info.custom-file-control::before { + color: #03a9f4; + background-color: inherit; + border-color: #ccc; } + .btn.btn-info:hover, .btn-info.custom-file-control:hover::before { + color: #03a9f4; + background-color: rgba(153, 153, 153, 0.2); + border-color: rgba(153, 153, 153, 0.2); } + .btn.btn-info:focus, .btn-info.custom-file-control:focus::before, .btn.btn-info.focus, .btn-info.focus.custom-file-control::before { + color: #03a9f4; + background-color: rgba(153, 153, 153, 0.2); + border-color: rgba(153, 153, 153, 0.2); } + .btn.btn-info:active, .btn-info.custom-file-control:active::before, .btn.btn-info.active, .btn-info.active.custom-file-control::before, + .open > .btn.btn-info.dropdown-toggle, + .open > .btn-info.dropdown-toggle.custom-file-control::before { + color: #03a9f4; + background-color: rgba(153, 153, 153, 0.2); + border-color: rgba(153, 153, 153, 0.2); } + .btn.btn-info:active:hover, .btn-info.custom-file-control:active:hover::before, .btn.btn-info:active:focus, .btn-info.custom-file-control:active:focus::before, .btn.btn-info:active.focus, .btn-info.custom-file-control:active.focus::before, .btn.btn-info.active:hover, .btn-info.active.custom-file-control:hover::before, .btn.btn-info.active:focus, .btn-info.active.custom-file-control:focus::before, .btn.btn-info.active.focus, .btn-info.active.focus.custom-file-control::before, + .open > .btn.btn-info.dropdown-toggle:hover, + .open > .btn-info.dropdown-toggle.custom-file-control:hover::before, + .open > .btn.btn-info.dropdown-toggle:focus, + .open > .btn-info.dropdown-toggle.custom-file-control:focus::before, + .open > .btn.btn-info.dropdown-toggle.focus, + .open > .btn-info.dropdown-toggle.focus.custom-file-control::before { + color: #03a9f4; + background-color: rgba(153, 153, 153, 0.4); + border-color: rgba(153, 153, 153, 0.4); } + .open > .btn.btn-info.dropdown-toggle.bmd-btn-icon, .open > .btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control::before { + color: inherit; + background-color: inherit; } + .open > .btn.btn-info.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before { + background-color: rgba(153, 153, 153, 0.2); } + .btn.btn-info.disabled:focus, .btn-info.disabled.custom-file-control:focus::before, .btn.btn-info.disabled.focus, .btn-info.disabled.focus.custom-file-control::before, .btn.btn-info:disabled:focus, .btn-info.custom-file-control:disabled:focus::before, .btn.btn-info:disabled.focus, .btn-info.custom-file-control:disabled.focus::before { + background-color: inherit; + border-color: #ccc; } + .btn.btn-info.disabled:hover, .btn-info.disabled.custom-file-control:hover::before, .btn.btn-info:disabled:hover, .btn-info.custom-file-control:disabled:hover::before { + background-color: inherit; + border-color: #ccc; } + .bg-inverse .btn.btn-info, .bg-inverse .btn-info.custom-file-control::before { + color: #03a9f4; + background-color: inherit; + border-color: #ccc; } + .bg-inverse .btn.btn-info:hover, .bg-inverse .btn-info.custom-file-control:hover::before { + color: #03a9f4; + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-info:focus, .bg-inverse .btn-info.custom-file-control:focus::before, .bg-inverse .btn.btn-info.focus, .bg-inverse .btn-info.focus.custom-file-control::before { + color: #03a9f4; + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-info:active, .bg-inverse .btn-info.custom-file-control:active::before, .bg-inverse .btn.btn-info.active, .bg-inverse .btn-info.active.custom-file-control::before, + .open > .bg-inverse .btn.btn-info.dropdown-toggle, + .open > .bg-inverse .btn-info.dropdown-toggle.custom-file-control::before { + color: #03a9f4; + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-info:active:hover, .bg-inverse .btn-info.custom-file-control:active:hover::before, .bg-inverse .btn.btn-info:active:focus, .bg-inverse .btn-info.custom-file-control:active:focus::before, .bg-inverse .btn.btn-info:active.focus, .bg-inverse .btn-info.custom-file-control:active.focus::before, .bg-inverse .btn.btn-info.active:hover, .bg-inverse .btn-info.active.custom-file-control:hover::before, .bg-inverse .btn.btn-info.active:focus, .bg-inverse .btn-info.active.custom-file-control:focus::before, .bg-inverse .btn.btn-info.active.focus, .bg-inverse .btn-info.active.focus.custom-file-control::before, + .open > .bg-inverse .btn.btn-info.dropdown-toggle:hover, + .open > .bg-inverse .btn-info.dropdown-toggle.custom-file-control:hover::before, + .open > .bg-inverse .btn.btn-info.dropdown-toggle:focus, + .open > .bg-inverse .btn-info.dropdown-toggle.custom-file-control:focus::before, + .open > .bg-inverse .btn.btn-info.dropdown-toggle.focus, + .open > .bg-inverse .btn-info.dropdown-toggle.focus.custom-file-control::before { + color: #03a9f4; + background-color: rgba(204, 204, 204, 0.25); + border-color: rgba(204, 204, 204, 0.25); } + .open > .bg-inverse .btn.btn-info.dropdown-toggle.bmd-btn-icon, .open > .bg-inverse .btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control::before { + color: inherit; + background-color: inherit; } + .open > .bg-inverse .btn.btn-info.dropdown-toggle.bmd-btn-icon:hover, .open > .bg-inverse .btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before { + background-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-info.disabled:focus, .bg-inverse .btn-info.disabled.custom-file-control:focus::before, .bg-inverse .btn.btn-info.disabled.focus, .bg-inverse .btn-info.disabled.focus.custom-file-control::before, .bg-inverse .btn.btn-info:disabled:focus, .bg-inverse .btn-info.custom-file-control:disabled:focus::before, .bg-inverse .btn.btn-info:disabled.focus, .bg-inverse .btn-info.custom-file-control:disabled.focus::before { + background-color: inherit; + border-color: #ccc; } + .bg-inverse .btn.btn-info.disabled:hover, .bg-inverse .btn-info.disabled.custom-file-control:hover::before, .bg-inverse .btn.btn-info:disabled:hover, .bg-inverse .btn-info.custom-file-control:disabled:hover::before { + background-color: inherit; + border-color: #ccc; } + .btn.btn-info.btn-link, .btn-info.btn-link.custom-file-control::before { + background-color: transparent; } + .btn.btn-success, .btn-success.custom-file-control::before { + color: #4caf50; + background-color: inherit; + border-color: #ccc; } + .btn.btn-success:hover, .btn-success.custom-file-control:hover::before { + color: #4caf50; + background-color: rgba(153, 153, 153, 0.2); + border-color: rgba(153, 153, 153, 0.2); } + .btn.btn-success:focus, .btn-success.custom-file-control:focus::before, .btn.btn-success.focus, .btn-success.focus.custom-file-control::before { + color: #4caf50; + background-color: rgba(153, 153, 153, 0.2); + border-color: rgba(153, 153, 153, 0.2); } + .btn.btn-success:active, .btn-success.custom-file-control:active::before, .btn.btn-success.active, .btn-success.active.custom-file-control::before, + .open > .btn.btn-success.dropdown-toggle, + .open > .btn-success.dropdown-toggle.custom-file-control::before { + color: #4caf50; + background-color: rgba(153, 153, 153, 0.2); + border-color: rgba(153, 153, 153, 0.2); } + .btn.btn-success:active:hover, .btn-success.custom-file-control:active:hover::before, .btn.btn-success:active:focus, .btn-success.custom-file-control:active:focus::before, .btn.btn-success:active.focus, .btn-success.custom-file-control:active.focus::before, .btn.btn-success.active:hover, .btn-success.active.custom-file-control:hover::before, .btn.btn-success.active:focus, .btn-success.active.custom-file-control:focus::before, .btn.btn-success.active.focus, .btn-success.active.focus.custom-file-control::before, + .open > .btn.btn-success.dropdown-toggle:hover, + .open > .btn-success.dropdown-toggle.custom-file-control:hover::before, + .open > .btn.btn-success.dropdown-toggle:focus, + .open > .btn-success.dropdown-toggle.custom-file-control:focus::before, + .open > .btn.btn-success.dropdown-toggle.focus, + .open > .btn-success.dropdown-toggle.focus.custom-file-control::before { + color: #4caf50; + background-color: rgba(153, 153, 153, 0.4); + border-color: rgba(153, 153, 153, 0.4); } + .open > .btn.btn-success.dropdown-toggle.bmd-btn-icon, .open > .btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control::before { + color: inherit; + background-color: inherit; } + .open > .btn.btn-success.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before { + background-color: rgba(153, 153, 153, 0.2); } + .btn.btn-success.disabled:focus, .btn-success.disabled.custom-file-control:focus::before, .btn.btn-success.disabled.focus, .btn-success.disabled.focus.custom-file-control::before, .btn.btn-success:disabled:focus, .btn-success.custom-file-control:disabled:focus::before, .btn.btn-success:disabled.focus, .btn-success.custom-file-control:disabled.focus::before { + background-color: inherit; + border-color: #ccc; } + .btn.btn-success.disabled:hover, .btn-success.disabled.custom-file-control:hover::before, .btn.btn-success:disabled:hover, .btn-success.custom-file-control:disabled:hover::before { + background-color: inherit; + border-color: #ccc; } + .bg-inverse .btn.btn-success, .bg-inverse .btn-success.custom-file-control::before { + color: #4caf50; + background-color: inherit; + border-color: #ccc; } + .bg-inverse .btn.btn-success:hover, .bg-inverse .btn-success.custom-file-control:hover::before { + color: #4caf50; + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-success:focus, .bg-inverse .btn-success.custom-file-control:focus::before, .bg-inverse .btn.btn-success.focus, .bg-inverse .btn-success.focus.custom-file-control::before { + color: #4caf50; + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-success:active, .bg-inverse .btn-success.custom-file-control:active::before, .bg-inverse .btn.btn-success.active, .bg-inverse .btn-success.active.custom-file-control::before, + .open > .bg-inverse .btn.btn-success.dropdown-toggle, + .open > .bg-inverse .btn-success.dropdown-toggle.custom-file-control::before { + color: #4caf50; + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-success:active:hover, .bg-inverse .btn-success.custom-file-control:active:hover::before, .bg-inverse .btn.btn-success:active:focus, .bg-inverse .btn-success.custom-file-control:active:focus::before, .bg-inverse .btn.btn-success:active.focus, .bg-inverse .btn-success.custom-file-control:active.focus::before, .bg-inverse .btn.btn-success.active:hover, .bg-inverse .btn-success.active.custom-file-control:hover::before, .bg-inverse .btn.btn-success.active:focus, .bg-inverse .btn-success.active.custom-file-control:focus::before, .bg-inverse .btn.btn-success.active.focus, .bg-inverse .btn-success.active.focus.custom-file-control::before, + .open > .bg-inverse .btn.btn-success.dropdown-toggle:hover, + .open > .bg-inverse .btn-success.dropdown-toggle.custom-file-control:hover::before, + .open > .bg-inverse .btn.btn-success.dropdown-toggle:focus, + .open > .bg-inverse .btn-success.dropdown-toggle.custom-file-control:focus::before, + .open > .bg-inverse .btn.btn-success.dropdown-toggle.focus, + .open > .bg-inverse .btn-success.dropdown-toggle.focus.custom-file-control::before { + color: #4caf50; + background-color: rgba(204, 204, 204, 0.25); + border-color: rgba(204, 204, 204, 0.25); } + .open > .bg-inverse .btn.btn-success.dropdown-toggle.bmd-btn-icon, .open > .bg-inverse .btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control::before { + color: inherit; + background-color: inherit; } + .open > .bg-inverse .btn.btn-success.dropdown-toggle.bmd-btn-icon:hover, .open > .bg-inverse .btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before { + background-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-success.disabled:focus, .bg-inverse .btn-success.disabled.custom-file-control:focus::before, .bg-inverse .btn.btn-success.disabled.focus, .bg-inverse .btn-success.disabled.focus.custom-file-control::before, .bg-inverse .btn.btn-success:disabled:focus, .bg-inverse .btn-success.custom-file-control:disabled:focus::before, .bg-inverse .btn.btn-success:disabled.focus, .bg-inverse .btn-success.custom-file-control:disabled.focus::before { + background-color: inherit; + border-color: #ccc; } + .bg-inverse .btn.btn-success.disabled:hover, .bg-inverse .btn-success.disabled.custom-file-control:hover::before, .bg-inverse .btn.btn-success:disabled:hover, .bg-inverse .btn-success.custom-file-control:disabled:hover::before { + background-color: inherit; + border-color: #ccc; } + .btn.btn-success.btn-link, .btn-success.btn-link.custom-file-control::before { + background-color: transparent; } + .btn.btn-warning, .btn-warning.custom-file-control::before { + color: #ff5722; + background-color: inherit; + border-color: #ccc; } + .btn.btn-warning:hover, .btn-warning.custom-file-control:hover::before { + color: #ff5722; + background-color: rgba(153, 153, 153, 0.2); + border-color: rgba(153, 153, 153, 0.2); } + .btn.btn-warning:focus, .btn-warning.custom-file-control:focus::before, .btn.btn-warning.focus, .btn-warning.focus.custom-file-control::before { + color: #ff5722; + background-color: rgba(153, 153, 153, 0.2); + border-color: rgba(153, 153, 153, 0.2); } + .btn.btn-warning:active, .btn-warning.custom-file-control:active::before, .btn.btn-warning.active, .btn-warning.active.custom-file-control::before, + .open > .btn.btn-warning.dropdown-toggle, + .open > .btn-warning.dropdown-toggle.custom-file-control::before { + color: #ff5722; + background-color: rgba(153, 153, 153, 0.2); + border-color: rgba(153, 153, 153, 0.2); } + .btn.btn-warning:active:hover, .btn-warning.custom-file-control:active:hover::before, .btn.btn-warning:active:focus, .btn-warning.custom-file-control:active:focus::before, .btn.btn-warning:active.focus, .btn-warning.custom-file-control:active.focus::before, .btn.btn-warning.active:hover, .btn-warning.active.custom-file-control:hover::before, .btn.btn-warning.active:focus, .btn-warning.active.custom-file-control:focus::before, .btn.btn-warning.active.focus, .btn-warning.active.focus.custom-file-control::before, + .open > .btn.btn-warning.dropdown-toggle:hover, + .open > .btn-warning.dropdown-toggle.custom-file-control:hover::before, + .open > .btn.btn-warning.dropdown-toggle:focus, + .open > .btn-warning.dropdown-toggle.custom-file-control:focus::before, + .open > .btn.btn-warning.dropdown-toggle.focus, + .open > .btn-warning.dropdown-toggle.focus.custom-file-control::before { + color: #ff5722; + background-color: rgba(153, 153, 153, 0.4); + border-color: rgba(153, 153, 153, 0.4); } + .open > .btn.btn-warning.dropdown-toggle.bmd-btn-icon, .open > .btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control::before { + color: inherit; + background-color: inherit; } + .open > .btn.btn-warning.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before { + background-color: rgba(153, 153, 153, 0.2); } + .btn.btn-warning.disabled:focus, .btn-warning.disabled.custom-file-control:focus::before, .btn.btn-warning.disabled.focus, .btn-warning.disabled.focus.custom-file-control::before, .btn.btn-warning:disabled:focus, .btn-warning.custom-file-control:disabled:focus::before, .btn.btn-warning:disabled.focus, .btn-warning.custom-file-control:disabled.focus::before { + background-color: inherit; + border-color: #ccc; } + .btn.btn-warning.disabled:hover, .btn-warning.disabled.custom-file-control:hover::before, .btn.btn-warning:disabled:hover, .btn-warning.custom-file-control:disabled:hover::before { + background-color: inherit; + border-color: #ccc; } + .bg-inverse .btn.btn-warning, .bg-inverse .btn-warning.custom-file-control::before { + color: #ff5722; + background-color: inherit; + border-color: #ccc; } + .bg-inverse .btn.btn-warning:hover, .bg-inverse .btn-warning.custom-file-control:hover::before { + color: #ff5722; + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-warning:focus, .bg-inverse .btn-warning.custom-file-control:focus::before, .bg-inverse .btn.btn-warning.focus, .bg-inverse .btn-warning.focus.custom-file-control::before { + color: #ff5722; + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-warning:active, .bg-inverse .btn-warning.custom-file-control:active::before, .bg-inverse .btn.btn-warning.active, .bg-inverse .btn-warning.active.custom-file-control::before, + .open > .bg-inverse .btn.btn-warning.dropdown-toggle, + .open > .bg-inverse .btn-warning.dropdown-toggle.custom-file-control::before { + color: #ff5722; + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-warning:active:hover, .bg-inverse .btn-warning.custom-file-control:active:hover::before, .bg-inverse .btn.btn-warning:active:focus, .bg-inverse .btn-warning.custom-file-control:active:focus::before, .bg-inverse .btn.btn-warning:active.focus, .bg-inverse .btn-warning.custom-file-control:active.focus::before, .bg-inverse .btn.btn-warning.active:hover, .bg-inverse .btn-warning.active.custom-file-control:hover::before, .bg-inverse .btn.btn-warning.active:focus, .bg-inverse .btn-warning.active.custom-file-control:focus::before, .bg-inverse .btn.btn-warning.active.focus, .bg-inverse .btn-warning.active.focus.custom-file-control::before, + .open > .bg-inverse .btn.btn-warning.dropdown-toggle:hover, + .open > .bg-inverse .btn-warning.dropdown-toggle.custom-file-control:hover::before, + .open > .bg-inverse .btn.btn-warning.dropdown-toggle:focus, + .open > .bg-inverse .btn-warning.dropdown-toggle.custom-file-control:focus::before, + .open > .bg-inverse .btn.btn-warning.dropdown-toggle.focus, + .open > .bg-inverse .btn-warning.dropdown-toggle.focus.custom-file-control::before { + color: #ff5722; + background-color: rgba(204, 204, 204, 0.25); + border-color: rgba(204, 204, 204, 0.25); } + .open > .bg-inverse .btn.btn-warning.dropdown-toggle.bmd-btn-icon, .open > .bg-inverse .btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control::before { + color: inherit; + background-color: inherit; } + .open > .bg-inverse .btn.btn-warning.dropdown-toggle.bmd-btn-icon:hover, .open > .bg-inverse .btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before { + background-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-warning.disabled:focus, .bg-inverse .btn-warning.disabled.custom-file-control:focus::before, .bg-inverse .btn.btn-warning.disabled.focus, .bg-inverse .btn-warning.disabled.focus.custom-file-control::before, .bg-inverse .btn.btn-warning:disabled:focus, .bg-inverse .btn-warning.custom-file-control:disabled:focus::before, .bg-inverse .btn.btn-warning:disabled.focus, .bg-inverse .btn-warning.custom-file-control:disabled.focus::before { + background-color: inherit; + border-color: #ccc; } + .bg-inverse .btn.btn-warning.disabled:hover, .bg-inverse .btn-warning.disabled.custom-file-control:hover::before, .bg-inverse .btn.btn-warning:disabled:hover, .bg-inverse .btn-warning.custom-file-control:disabled:hover::before { + background-color: inherit; + border-color: #ccc; } + .btn.btn-warning.btn-link, .btn-warning.btn-link.custom-file-control::before { + background-color: transparent; } + .btn.btn-danger, .btn-danger.custom-file-control::before { + color: #f44336; + background-color: inherit; + border-color: #ccc; } + .btn.btn-danger:hover, .btn-danger.custom-file-control:hover::before { + color: #f44336; + background-color: rgba(153, 153, 153, 0.2); + border-color: rgba(153, 153, 153, 0.2); } + .btn.btn-danger:focus, .btn-danger.custom-file-control:focus::before, .btn.btn-danger.focus, .btn-danger.focus.custom-file-control::before { + color: #f44336; + background-color: rgba(153, 153, 153, 0.2); + border-color: rgba(153, 153, 153, 0.2); } + .btn.btn-danger:active, .btn-danger.custom-file-control:active::before, .btn.btn-danger.active, .btn-danger.active.custom-file-control::before, + .open > .btn.btn-danger.dropdown-toggle, + .open > .btn-danger.dropdown-toggle.custom-file-control::before { + color: #f44336; + background-color: rgba(153, 153, 153, 0.2); + border-color: rgba(153, 153, 153, 0.2); } + .btn.btn-danger:active:hover, .btn-danger.custom-file-control:active:hover::before, .btn.btn-danger:active:focus, .btn-danger.custom-file-control:active:focus::before, .btn.btn-danger:active.focus, .btn-danger.custom-file-control:active.focus::before, .btn.btn-danger.active:hover, .btn-danger.active.custom-file-control:hover::before, .btn.btn-danger.active:focus, .btn-danger.active.custom-file-control:focus::before, .btn.btn-danger.active.focus, .btn-danger.active.focus.custom-file-control::before, + .open > .btn.btn-danger.dropdown-toggle:hover, + .open > .btn-danger.dropdown-toggle.custom-file-control:hover::before, + .open > .btn.btn-danger.dropdown-toggle:focus, + .open > .btn-danger.dropdown-toggle.custom-file-control:focus::before, + .open > .btn.btn-danger.dropdown-toggle.focus, + .open > .btn-danger.dropdown-toggle.focus.custom-file-control::before { + color: #f44336; + background-color: rgba(153, 153, 153, 0.4); + border-color: rgba(153, 153, 153, 0.4); } + .open > .btn.btn-danger.dropdown-toggle.bmd-btn-icon, .open > .btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control::before { + color: inherit; + background-color: inherit; } + .open > .btn.btn-danger.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before { + background-color: rgba(153, 153, 153, 0.2); } + .btn.btn-danger.disabled:focus, .btn-danger.disabled.custom-file-control:focus::before, .btn.btn-danger.disabled.focus, .btn-danger.disabled.focus.custom-file-control::before, .btn.btn-danger:disabled:focus, .btn-danger.custom-file-control:disabled:focus::before, .btn.btn-danger:disabled.focus, .btn-danger.custom-file-control:disabled.focus::before { + background-color: inherit; + border-color: #ccc; } + .btn.btn-danger.disabled:hover, .btn-danger.disabled.custom-file-control:hover::before, .btn.btn-danger:disabled:hover, .btn-danger.custom-file-control:disabled:hover::before { + background-color: inherit; + border-color: #ccc; } + .bg-inverse .btn.btn-danger, .bg-inverse .btn-danger.custom-file-control::before { + color: #f44336; + background-color: inherit; + border-color: #ccc; } + .bg-inverse .btn.btn-danger:hover, .bg-inverse .btn-danger.custom-file-control:hover::before { + color: #f44336; + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-danger:focus, .bg-inverse .btn-danger.custom-file-control:focus::before, .bg-inverse .btn.btn-danger.focus, .bg-inverse .btn-danger.focus.custom-file-control::before { + color: #f44336; + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-danger:active, .bg-inverse .btn-danger.custom-file-control:active::before, .bg-inverse .btn.btn-danger.active, .bg-inverse .btn-danger.active.custom-file-control::before, + .open > .bg-inverse .btn.btn-danger.dropdown-toggle, + .open > .bg-inverse .btn-danger.dropdown-toggle.custom-file-control::before { + color: #f44336; + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-danger:active:hover, .bg-inverse .btn-danger.custom-file-control:active:hover::before, .bg-inverse .btn.btn-danger:active:focus, .bg-inverse .btn-danger.custom-file-control:active:focus::before, .bg-inverse .btn.btn-danger:active.focus, .bg-inverse .btn-danger.custom-file-control:active.focus::before, .bg-inverse .btn.btn-danger.active:hover, .bg-inverse .btn-danger.active.custom-file-control:hover::before, .bg-inverse .btn.btn-danger.active:focus, .bg-inverse .btn-danger.active.custom-file-control:focus::before, .bg-inverse .btn.btn-danger.active.focus, .bg-inverse .btn-danger.active.focus.custom-file-control::before, + .open > .bg-inverse .btn.btn-danger.dropdown-toggle:hover, + .open > .bg-inverse .btn-danger.dropdown-toggle.custom-file-control:hover::before, + .open > .bg-inverse .btn.btn-danger.dropdown-toggle:focus, + .open > .bg-inverse .btn-danger.dropdown-toggle.custom-file-control:focus::before, + .open > .bg-inverse .btn.btn-danger.dropdown-toggle.focus, + .open > .bg-inverse .btn-danger.dropdown-toggle.focus.custom-file-control::before { + color: #f44336; + background-color: rgba(204, 204, 204, 0.25); + border-color: rgba(204, 204, 204, 0.25); } + .open > .bg-inverse .btn.btn-danger.dropdown-toggle.bmd-btn-icon, .open > .bg-inverse .btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control::before { + color: inherit; + background-color: inherit; } + .open > .bg-inverse .btn.btn-danger.dropdown-toggle.bmd-btn-icon:hover, .open > .bg-inverse .btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before { + background-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-danger.disabled:focus, .bg-inverse .btn-danger.disabled.custom-file-control:focus::before, .bg-inverse .btn.btn-danger.disabled.focus, .bg-inverse .btn-danger.disabled.focus.custom-file-control::before, .bg-inverse .btn.btn-danger:disabled:focus, .bg-inverse .btn-danger.custom-file-control:disabled:focus::before, .bg-inverse .btn.btn-danger:disabled.focus, .bg-inverse .btn-danger.custom-file-control:disabled.focus::before { + background-color: inherit; + border-color: #ccc; } + .bg-inverse .btn.btn-danger.disabled:hover, .bg-inverse .btn-danger.disabled.custom-file-control:hover::before, .bg-inverse .btn.btn-danger:disabled:hover, .bg-inverse .btn-danger.custom-file-control:disabled:hover::before { + background-color: inherit; + border-color: #ccc; } + .btn.btn-danger.btn-link, .btn-danger.btn-link.custom-file-control::before { + background-color: transparent; } + .btn.bmd-btn-fab.btn-primary, .bmd-btn-fab.btn-primary.custom-file-control::before, .btn.btn-raised.btn-primary, .btn-raised.btn-primary.custom-file-control::before, + .btn-group-raised .btn.btn-primary, + .btn-group-raised .btn-primary.custom-file-control::before { + color: #fff; + background-color: #009688; + border-color: #009688; } + .btn.bmd-btn-fab.btn-primary:hover, .bmd-btn-fab.btn-primary.custom-file-control:hover::before, .btn.btn-raised.btn-primary:hover, .btn-raised.btn-primary.custom-file-control:hover::before, + .btn-group-raised .btn.btn-primary:hover, + .btn-group-raised .btn-primary.custom-file-control:hover::before { + color: #fff; + background-color: #008276; + border-color: #005951; } + .btn.bmd-btn-fab.btn-primary:focus, .bmd-btn-fab.btn-primary.custom-file-control:focus::before, .btn.bmd-btn-fab.btn-primary.focus, .bmd-btn-fab.btn-primary.focus.custom-file-control::before, .btn.btn-raised.btn-primary:focus, .btn-raised.btn-primary.custom-file-control:focus::before, .btn.btn-raised.btn-primary.focus, .btn-raised.btn-primary.focus.custom-file-control::before, + .btn-group-raised .btn.btn-primary:focus, + .btn-group-raised .btn-primary.custom-file-control:focus::before, + .btn-group-raised .btn.btn-primary.focus, + .btn-group-raised .btn-primary.focus.custom-file-control::before { + color: #fff; + background-color: #008276; + border-color: #005951; } + .btn.bmd-btn-fab.btn-primary:active, .bmd-btn-fab.btn-primary.custom-file-control:active::before, .btn.bmd-btn-fab.btn-primary.active, .bmd-btn-fab.btn-primary.active.custom-file-control::before, + .open > .btn.bmd-btn-fab.btn-primary.dropdown-toggle, + .open > .bmd-btn-fab.btn-primary.dropdown-toggle.custom-file-control::before, .btn.btn-raised.btn-primary:active, .btn-raised.btn-primary.custom-file-control:active::before, .btn.btn-raised.btn-primary.active, .btn-raised.btn-primary.active.custom-file-control::before, + .open > .btn.btn-raised.btn-primary.dropdown-toggle, + .open > .btn-raised.btn-primary.dropdown-toggle.custom-file-control::before, + .btn-group-raised .btn.btn-primary:active, + .btn-group-raised .btn-primary.custom-file-control:active::before, + .btn-group-raised .btn.btn-primary.active, + .btn-group-raised .btn-primary.active.custom-file-control::before, + .open > + .btn-group-raised .btn.btn-primary.dropdown-toggle, + .open > + .btn-group-raised .btn-primary.dropdown-toggle.custom-file-control::before { + color: #fff; + background-color: #008276; + border-color: #005951; } + .btn.bmd-btn-fab.btn-primary:active:hover, .bmd-btn-fab.btn-primary.custom-file-control:active:hover::before, .btn.bmd-btn-fab.btn-primary:active:focus, .bmd-btn-fab.btn-primary.custom-file-control:active:focus::before, .btn.bmd-btn-fab.btn-primary:active.focus, .bmd-btn-fab.btn-primary.custom-file-control:active.focus::before, .btn.bmd-btn-fab.btn-primary.active:hover, .bmd-btn-fab.btn-primary.active.custom-file-control:hover::before, .btn.bmd-btn-fab.btn-primary.active:focus, .bmd-btn-fab.btn-primary.active.custom-file-control:focus::before, .btn.bmd-btn-fab.btn-primary.active.focus, .bmd-btn-fab.btn-primary.active.focus.custom-file-control::before, + .open > .btn.bmd-btn-fab.btn-primary.dropdown-toggle:hover, + .open > .bmd-btn-fab.btn-primary.dropdown-toggle.custom-file-control:hover::before, + .open > .btn.bmd-btn-fab.btn-primary.dropdown-toggle:focus, + .open > .bmd-btn-fab.btn-primary.dropdown-toggle.custom-file-control:focus::before, + .open > .btn.bmd-btn-fab.btn-primary.dropdown-toggle.focus, + .open > .bmd-btn-fab.btn-primary.dropdown-toggle.focus.custom-file-control::before, .btn.btn-raised.btn-primary:active:hover, .btn-raised.btn-primary.custom-file-control:active:hover::before, .btn.btn-raised.btn-primary:active:focus, .btn-raised.btn-primary.custom-file-control:active:focus::before, .btn.btn-raised.btn-primary:active.focus, .btn-raised.btn-primary.custom-file-control:active.focus::before, .btn.btn-raised.btn-primary.active:hover, .btn-raised.btn-primary.active.custom-file-control:hover::before, .btn.btn-raised.btn-primary.active:focus, .btn-raised.btn-primary.active.custom-file-control:focus::before, .btn.btn-raised.btn-primary.active.focus, .btn-raised.btn-primary.active.focus.custom-file-control::before, + .open > .btn.btn-raised.btn-primary.dropdown-toggle:hover, + .open > .btn-raised.btn-primary.dropdown-toggle.custom-file-control:hover::before, + .open > .btn.btn-raised.btn-primary.dropdown-toggle:focus, + .open > .btn-raised.btn-primary.dropdown-toggle.custom-file-control:focus::before, + .open > .btn.btn-raised.btn-primary.dropdown-toggle.focus, + .open > .btn-raised.btn-primary.dropdown-toggle.focus.custom-file-control::before, + .btn-group-raised .btn.btn-primary:active:hover, + .btn-group-raised .btn-primary.custom-file-control:active:hover::before, + .btn-group-raised .btn.btn-primary:active:focus, + .btn-group-raised .btn-primary.custom-file-control:active:focus::before, + .btn-group-raised .btn.btn-primary:active.focus, + .btn-group-raised .btn-primary.custom-file-control:active.focus::before, + .btn-group-raised .btn.btn-primary.active:hover, + .btn-group-raised .btn-primary.active.custom-file-control:hover::before, + .btn-group-raised .btn.btn-primary.active:focus, + .btn-group-raised .btn-primary.active.custom-file-control:focus::before, + .btn-group-raised .btn.btn-primary.active.focus, + .btn-group-raised .btn-primary.active.focus.custom-file-control::before, + .open > + .btn-group-raised .btn.btn-primary.dropdown-toggle:hover, + .open > + .btn-group-raised .btn-primary.dropdown-toggle.custom-file-control:hover::before, + .open > + .btn-group-raised .btn.btn-primary.dropdown-toggle:focus, + .open > + .btn-group-raised .btn-primary.dropdown-toggle.custom-file-control:focus::before, + .open > + .btn-group-raised .btn.btn-primary.dropdown-toggle.focus, + .open > + .btn-group-raised .btn-primary.dropdown-toggle.focus.custom-file-control::before { + color: #fff; + background-color: #008276; + border-color: #001714; } + .open > .btn.bmd-btn-fab.btn-primary.dropdown-toggle.bmd-btn-icon, .open > .bmd-btn-fab.btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control::before, .open > .btn.btn-raised.btn-primary.dropdown-toggle.bmd-btn-icon, .open > .btn-raised.btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control::before, .open > + .btn-group-raised .btn.btn-primary.dropdown-toggle.bmd-btn-icon, .open > + .btn-group-raised .btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control::before { + color: inherit; + background-color: #009688; } + .open > .btn.bmd-btn-fab.btn-primary.dropdown-toggle.bmd-btn-icon:hover, .open > .bmd-btn-fab.btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before, .open > .btn.btn-raised.btn-primary.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-raised.btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before, .open > + .btn-group-raised .btn.btn-primary.dropdown-toggle.bmd-btn-icon:hover, .open > + .btn-group-raised .btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before { + background-color: #008276; } + .btn.bmd-btn-fab.btn-primary.disabled:focus, .bmd-btn-fab.btn-primary.disabled.custom-file-control:focus::before, .btn.bmd-btn-fab.btn-primary.disabled.focus, .bmd-btn-fab.btn-primary.disabled.focus.custom-file-control::before, .btn.bmd-btn-fab.btn-primary:disabled:focus, .bmd-btn-fab.btn-primary.custom-file-control:disabled:focus::before, .btn.bmd-btn-fab.btn-primary:disabled.focus, .bmd-btn-fab.btn-primary.custom-file-control:disabled.focus::before, .btn.btn-raised.btn-primary.disabled:focus, .btn-raised.btn-primary.disabled.custom-file-control:focus::before, .btn.btn-raised.btn-primary.disabled.focus, .btn-raised.btn-primary.disabled.focus.custom-file-control::before, .btn.btn-raised.btn-primary:disabled:focus, .btn-raised.btn-primary.custom-file-control:disabled:focus::before, .btn.btn-raised.btn-primary:disabled.focus, .btn-raised.btn-primary.custom-file-control:disabled.focus::before, + .btn-group-raised .btn.btn-primary.disabled:focus, + .btn-group-raised .btn-primary.disabled.custom-file-control:focus::before, + .btn-group-raised .btn.btn-primary.disabled.focus, + .btn-group-raised .btn-primary.disabled.focus.custom-file-control::before, + .btn-group-raised .btn.btn-primary:disabled:focus, + .btn-group-raised .btn-primary.custom-file-control:disabled:focus::before, + .btn-group-raised .btn.btn-primary:disabled.focus, + .btn-group-raised .btn-primary.custom-file-control:disabled.focus::before { + background-color: #009688; + border-color: #009688; } + .btn.bmd-btn-fab.btn-primary.disabled:hover, .bmd-btn-fab.btn-primary.disabled.custom-file-control:hover::before, .btn.bmd-btn-fab.btn-primary:disabled:hover, .bmd-btn-fab.btn-primary.custom-file-control:disabled:hover::before, .btn.btn-raised.btn-primary.disabled:hover, .btn-raised.btn-primary.disabled.custom-file-control:hover::before, .btn.btn-raised.btn-primary:disabled:hover, .btn-raised.btn-primary.custom-file-control:disabled:hover::before, + .btn-group-raised .btn.btn-primary.disabled:hover, + .btn-group-raised .btn-primary.disabled.custom-file-control:hover::before, + .btn-group-raised .btn.btn-primary:disabled:hover, + .btn-group-raised .btn-primary.custom-file-control:disabled:hover::before { + background-color: #009688; + border-color: #009688; } + .btn.bmd-btn-fab.btn-secondary, .bmd-btn-fab.btn-secondary.custom-file-control::before, .btn.btn-raised.btn-secondary, .btn-raised.btn-secondary.custom-file-control::before, + .btn-group-raised .btn.btn-secondary, + .btn-group-raised .btn-secondary.custom-file-control::before { + color: rgba(0, 0, 0, 0.87); + background-color: #fafafa; + border-color: #ccc; } + .btn.bmd-btn-fab.btn-secondary:hover, .bmd-btn-fab.btn-secondary.custom-file-control:hover::before, .btn.btn-raised.btn-secondary:hover, .btn-raised.btn-secondary.custom-file-control:hover::before, + .btn-group-raised .btn.btn-secondary:hover, + .btn-group-raised .btn-secondary.custom-file-control:hover::before { + color: rgba(0, 0, 0, 0.87); + background-color: #f0f0f0; + border-color: #adadad; } + .btn.bmd-btn-fab.btn-secondary:focus, .bmd-btn-fab.btn-secondary.custom-file-control:focus::before, .btn.bmd-btn-fab.btn-secondary.focus, .bmd-btn-fab.btn-secondary.focus.custom-file-control::before, .btn.btn-raised.btn-secondary:focus, .btn-raised.btn-secondary.custom-file-control:focus::before, .btn.btn-raised.btn-secondary.focus, .btn-raised.btn-secondary.focus.custom-file-control::before, + .btn-group-raised .btn.btn-secondary:focus, + .btn-group-raised .btn-secondary.custom-file-control:focus::before, + .btn-group-raised .btn.btn-secondary.focus, + .btn-group-raised .btn-secondary.focus.custom-file-control::before { + color: rgba(0, 0, 0, 0.87); + background-color: #f0f0f0; + border-color: #adadad; } + .btn.bmd-btn-fab.btn-secondary:active, .bmd-btn-fab.btn-secondary.custom-file-control:active::before, .btn.bmd-btn-fab.btn-secondary.active, .bmd-btn-fab.btn-secondary.active.custom-file-control::before, + .open > .btn.bmd-btn-fab.btn-secondary.dropdown-toggle, + .open > .bmd-btn-fab.btn-secondary.dropdown-toggle.custom-file-control::before, .btn.btn-raised.btn-secondary:active, .btn-raised.btn-secondary.custom-file-control:active::before, .btn.btn-raised.btn-secondary.active, .btn-raised.btn-secondary.active.custom-file-control::before, + .open > .btn.btn-raised.btn-secondary.dropdown-toggle, + .open > .btn-raised.btn-secondary.dropdown-toggle.custom-file-control::before, + .btn-group-raised .btn.btn-secondary:active, + .btn-group-raised .btn-secondary.custom-file-control:active::before, + .btn-group-raised .btn.btn-secondary.active, + .btn-group-raised .btn-secondary.active.custom-file-control::before, + .open > + .btn-group-raised .btn.btn-secondary.dropdown-toggle, + .open > + .btn-group-raised .btn-secondary.dropdown-toggle.custom-file-control::before { + color: rgba(0, 0, 0, 0.87); + background-color: #f0f0f0; + border-color: #adadad; } + .btn.bmd-btn-fab.btn-secondary:active:hover, .bmd-btn-fab.btn-secondary.custom-file-control:active:hover::before, .btn.bmd-btn-fab.btn-secondary:active:focus, .bmd-btn-fab.btn-secondary.custom-file-control:active:focus::before, .btn.bmd-btn-fab.btn-secondary:active.focus, .bmd-btn-fab.btn-secondary.custom-file-control:active.focus::before, .btn.bmd-btn-fab.btn-secondary.active:hover, .bmd-btn-fab.btn-secondary.active.custom-file-control:hover::before, .btn.bmd-btn-fab.btn-secondary.active:focus, .bmd-btn-fab.btn-secondary.active.custom-file-control:focus::before, .btn.bmd-btn-fab.btn-secondary.active.focus, .bmd-btn-fab.btn-secondary.active.focus.custom-file-control::before, + .open > .btn.bmd-btn-fab.btn-secondary.dropdown-toggle:hover, + .open > .bmd-btn-fab.btn-secondary.dropdown-toggle.custom-file-control:hover::before, + .open > .btn.bmd-btn-fab.btn-secondary.dropdown-toggle:focus, + .open > .bmd-btn-fab.btn-secondary.dropdown-toggle.custom-file-control:focus::before, + .open > .btn.bmd-btn-fab.btn-secondary.dropdown-toggle.focus, + .open > .bmd-btn-fab.btn-secondary.dropdown-toggle.focus.custom-file-control::before, .btn.btn-raised.btn-secondary:active:hover, .btn-raised.btn-secondary.custom-file-control:active:hover::before, .btn.btn-raised.btn-secondary:active:focus, .btn-raised.btn-secondary.custom-file-control:active:focus::before, .btn.btn-raised.btn-secondary:active.focus, .btn-raised.btn-secondary.custom-file-control:active.focus::before, .btn.btn-raised.btn-secondary.active:hover, .btn-raised.btn-secondary.active.custom-file-control:hover::before, .btn.btn-raised.btn-secondary.active:focus, .btn-raised.btn-secondary.active.custom-file-control:focus::before, .btn.btn-raised.btn-secondary.active.focus, .btn-raised.btn-secondary.active.focus.custom-file-control::before, + .open > .btn.btn-raised.btn-secondary.dropdown-toggle:hover, + .open > .btn-raised.btn-secondary.dropdown-toggle.custom-file-control:hover::before, + .open > .btn.btn-raised.btn-secondary.dropdown-toggle:focus, + .open > .btn-raised.btn-secondary.dropdown-toggle.custom-file-control:focus::before, + .open > .btn.btn-raised.btn-secondary.dropdown-toggle.focus, + .open > .btn-raised.btn-secondary.dropdown-toggle.focus.custom-file-control::before, + .btn-group-raised .btn.btn-secondary:active:hover, + .btn-group-raised .btn-secondary.custom-file-control:active:hover::before, + .btn-group-raised .btn.btn-secondary:active:focus, + .btn-group-raised .btn-secondary.custom-file-control:active:focus::before, + .btn-group-raised .btn.btn-secondary:active.focus, + .btn-group-raised .btn-secondary.custom-file-control:active.focus::before, + .btn-group-raised .btn.btn-secondary.active:hover, + .btn-group-raised .btn-secondary.active.custom-file-control:hover::before, + .btn-group-raised .btn.btn-secondary.active:focus, + .btn-group-raised .btn-secondary.active.custom-file-control:focus::before, + .btn-group-raised .btn.btn-secondary.active.focus, + .btn-group-raised .btn-secondary.active.focus.custom-file-control::before, + .open > + .btn-group-raised .btn.btn-secondary.dropdown-toggle:hover, + .open > + .btn-group-raised .btn-secondary.dropdown-toggle.custom-file-control:hover::before, + .open > + .btn-group-raised .btn.btn-secondary.dropdown-toggle:focus, + .open > + .btn-group-raised .btn-secondary.dropdown-toggle.custom-file-control:focus::before, + .open > + .btn-group-raised .btn.btn-secondary.dropdown-toggle.focus, + .open > + .btn-group-raised .btn-secondary.dropdown-toggle.focus.custom-file-control::before { + color: rgba(0, 0, 0, 0.87); + background-color: #f0f0f0; + border-color: #8c8c8c; } + .open > .btn.bmd-btn-fab.btn-secondary.dropdown-toggle.bmd-btn-icon, .open > .bmd-btn-fab.btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control::before, .open > .btn.btn-raised.btn-secondary.dropdown-toggle.bmd-btn-icon, .open > .btn-raised.btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control::before, .open > + .btn-group-raised .btn.btn-secondary.dropdown-toggle.bmd-btn-icon, .open > + .btn-group-raised .btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control::before { + color: inherit; + background-color: #fafafa; } + .open > .btn.bmd-btn-fab.btn-secondary.dropdown-toggle.bmd-btn-icon:hover, .open > .bmd-btn-fab.btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before, .open > .btn.btn-raised.btn-secondary.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-raised.btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before, .open > + .btn-group-raised .btn.btn-secondary.dropdown-toggle.bmd-btn-icon:hover, .open > + .btn-group-raised .btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before { + background-color: #f0f0f0; } + .btn.bmd-btn-fab.btn-secondary.disabled:focus, .bmd-btn-fab.btn-secondary.disabled.custom-file-control:focus::before, .btn.bmd-btn-fab.btn-secondary.disabled.focus, .bmd-btn-fab.btn-secondary.disabled.focus.custom-file-control::before, .btn.bmd-btn-fab.btn-secondary:disabled:focus, .bmd-btn-fab.btn-secondary.custom-file-control:disabled:focus::before, .btn.bmd-btn-fab.btn-secondary:disabled.focus, .bmd-btn-fab.btn-secondary.custom-file-control:disabled.focus::before, .btn.btn-raised.btn-secondary.disabled:focus, .btn-raised.btn-secondary.disabled.custom-file-control:focus::before, .btn.btn-raised.btn-secondary.disabled.focus, .btn-raised.btn-secondary.disabled.focus.custom-file-control::before, .btn.btn-raised.btn-secondary:disabled:focus, .btn-raised.btn-secondary.custom-file-control:disabled:focus::before, .btn.btn-raised.btn-secondary:disabled.focus, .btn-raised.btn-secondary.custom-file-control:disabled.focus::before, + .btn-group-raised .btn.btn-secondary.disabled:focus, + .btn-group-raised .btn-secondary.disabled.custom-file-control:focus::before, + .btn-group-raised .btn.btn-secondary.disabled.focus, + .btn-group-raised .btn-secondary.disabled.focus.custom-file-control::before, + .btn-group-raised .btn.btn-secondary:disabled:focus, + .btn-group-raised .btn-secondary.custom-file-control:disabled:focus::before, + .btn-group-raised .btn.btn-secondary:disabled.focus, + .btn-group-raised .btn-secondary.custom-file-control:disabled.focus::before { + background-color: #fafafa; + border-color: #ccc; } + .btn.bmd-btn-fab.btn-secondary.disabled:hover, .bmd-btn-fab.btn-secondary.disabled.custom-file-control:hover::before, .btn.bmd-btn-fab.btn-secondary:disabled:hover, .bmd-btn-fab.btn-secondary.custom-file-control:disabled:hover::before, .btn.btn-raised.btn-secondary.disabled:hover, .btn-raised.btn-secondary.disabled.custom-file-control:hover::before, .btn.btn-raised.btn-secondary:disabled:hover, .btn-raised.btn-secondary.custom-file-control:disabled:hover::before, + .btn-group-raised .btn.btn-secondary.disabled:hover, + .btn-group-raised .btn-secondary.disabled.custom-file-control:hover::before, + .btn-group-raised .btn.btn-secondary:disabled:hover, + .btn-group-raised .btn-secondary.custom-file-control:disabled:hover::before { + background-color: #fafafa; + border-color: #ccc; } + .btn.bmd-btn-fab.btn-info, .bmd-btn-fab.btn-info.custom-file-control::before, .btn.btn-raised.btn-info, .btn-raised.btn-info.custom-file-control::before, + .btn-group-raised .btn.btn-info, + .btn-group-raised .btn-info.custom-file-control::before { + color: #fff; + background-color: #03a9f4; + border-color: #03a9f4; } + .btn.bmd-btn-fab.btn-info:hover, .bmd-btn-fab.btn-info.custom-file-control:hover::before, .btn.btn-raised.btn-info:hover, .btn-raised.btn-info.custom-file-control:hover::before, + .btn-group-raised .btn.btn-info:hover, + .btn-group-raised .btn-info.custom-file-control:hover::before { + color: #fff; + background-color: #039be0; + border-color: #027fb8; } + .btn.bmd-btn-fab.btn-info:focus, .bmd-btn-fab.btn-info.custom-file-control:focus::before, .btn.bmd-btn-fab.btn-info.focus, .bmd-btn-fab.btn-info.focus.custom-file-control::before, .btn.btn-raised.btn-info:focus, .btn-raised.btn-info.custom-file-control:focus::before, .btn.btn-raised.btn-info.focus, .btn-raised.btn-info.focus.custom-file-control::before, + .btn-group-raised .btn.btn-info:focus, + .btn-group-raised .btn-info.custom-file-control:focus::before, + .btn-group-raised .btn.btn-info.focus, + .btn-group-raised .btn-info.focus.custom-file-control::before { + color: #fff; + background-color: #039be0; + border-color: #027fb8; } + .btn.bmd-btn-fab.btn-info:active, .bmd-btn-fab.btn-info.custom-file-control:active::before, .btn.bmd-btn-fab.btn-info.active, .bmd-btn-fab.btn-info.active.custom-file-control::before, + .open > .btn.bmd-btn-fab.btn-info.dropdown-toggle, + .open > .bmd-btn-fab.btn-info.dropdown-toggle.custom-file-control::before, .btn.btn-raised.btn-info:active, .btn-raised.btn-info.custom-file-control:active::before, .btn.btn-raised.btn-info.active, .btn-raised.btn-info.active.custom-file-control::before, + .open > .btn.btn-raised.btn-info.dropdown-toggle, + .open > .btn-raised.btn-info.dropdown-toggle.custom-file-control::before, + .btn-group-raised .btn.btn-info:active, + .btn-group-raised .btn-info.custom-file-control:active::before, + .btn-group-raised .btn.btn-info.active, + .btn-group-raised .btn-info.active.custom-file-control::before, + .open > + .btn-group-raised .btn.btn-info.dropdown-toggle, + .open > + .btn-group-raised .btn-info.dropdown-toggle.custom-file-control::before { + color: #fff; + background-color: #039be0; + border-color: #027fb8; } + .btn.bmd-btn-fab.btn-info:active:hover, .bmd-btn-fab.btn-info.custom-file-control:active:hover::before, .btn.bmd-btn-fab.btn-info:active:focus, .bmd-btn-fab.btn-info.custom-file-control:active:focus::before, .btn.bmd-btn-fab.btn-info:active.focus, .bmd-btn-fab.btn-info.custom-file-control:active.focus::before, .btn.bmd-btn-fab.btn-info.active:hover, .bmd-btn-fab.btn-info.active.custom-file-control:hover::before, .btn.bmd-btn-fab.btn-info.active:focus, .bmd-btn-fab.btn-info.active.custom-file-control:focus::before, .btn.bmd-btn-fab.btn-info.active.focus, .bmd-btn-fab.btn-info.active.focus.custom-file-control::before, + .open > .btn.bmd-btn-fab.btn-info.dropdown-toggle:hover, + .open > .bmd-btn-fab.btn-info.dropdown-toggle.custom-file-control:hover::before, + .open > .btn.bmd-btn-fab.btn-info.dropdown-toggle:focus, + .open > .bmd-btn-fab.btn-info.dropdown-toggle.custom-file-control:focus::before, + .open > .btn.bmd-btn-fab.btn-info.dropdown-toggle.focus, + .open > .bmd-btn-fab.btn-info.dropdown-toggle.focus.custom-file-control::before, .btn.btn-raised.btn-info:active:hover, .btn-raised.btn-info.custom-file-control:active:hover::before, .btn.btn-raised.btn-info:active:focus, .btn-raised.btn-info.custom-file-control:active:focus::before, .btn.btn-raised.btn-info:active.focus, .btn-raised.btn-info.custom-file-control:active.focus::before, .btn.btn-raised.btn-info.active:hover, .btn-raised.btn-info.active.custom-file-control:hover::before, .btn.btn-raised.btn-info.active:focus, .btn-raised.btn-info.active.custom-file-control:focus::before, .btn.btn-raised.btn-info.active.focus, .btn-raised.btn-info.active.focus.custom-file-control::before, + .open > .btn.btn-raised.btn-info.dropdown-toggle:hover, + .open > .btn-raised.btn-info.dropdown-toggle.custom-file-control:hover::before, + .open > .btn.btn-raised.btn-info.dropdown-toggle:focus, + .open > .btn-raised.btn-info.dropdown-toggle.custom-file-control:focus::before, + .open > .btn.btn-raised.btn-info.dropdown-toggle.focus, + .open > .btn-raised.btn-info.dropdown-toggle.focus.custom-file-control::before, + .btn-group-raised .btn.btn-info:active:hover, + .btn-group-raised .btn-info.custom-file-control:active:hover::before, + .btn-group-raised .btn.btn-info:active:focus, + .btn-group-raised .btn-info.custom-file-control:active:focus::before, + .btn-group-raised .btn.btn-info:active.focus, + .btn-group-raised .btn-info.custom-file-control:active.focus::before, + .btn-group-raised .btn.btn-info.active:hover, + .btn-group-raised .btn-info.active.custom-file-control:hover::before, + .btn-group-raised .btn.btn-info.active:focus, + .btn-group-raised .btn-info.active.custom-file-control:focus::before, + .btn-group-raised .btn.btn-info.active.focus, + .btn-group-raised .btn-info.active.focus.custom-file-control::before, + .open > + .btn-group-raised .btn.btn-info.dropdown-toggle:hover, + .open > + .btn-group-raised .btn-info.dropdown-toggle.custom-file-control:hover::before, + .open > + .btn-group-raised .btn.btn-info.dropdown-toggle:focus, + .open > + .btn-group-raised .btn-info.dropdown-toggle.custom-file-control:focus::before, + .open > + .btn-group-raised .btn.btn-info.dropdown-toggle.focus, + .open > + .btn-group-raised .btn-info.dropdown-toggle.focus.custom-file-control::before { + color: #fff; + background-color: #039be0; + border-color: #015276; } + .open > .btn.bmd-btn-fab.btn-info.dropdown-toggle.bmd-btn-icon, .open > .bmd-btn-fab.btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control::before, .open > .btn.btn-raised.btn-info.dropdown-toggle.bmd-btn-icon, .open > .btn-raised.btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control::before, .open > + .btn-group-raised .btn.btn-info.dropdown-toggle.bmd-btn-icon, .open > + .btn-group-raised .btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control::before { + color: inherit; + background-color: #03a9f4; } + .open > .btn.bmd-btn-fab.btn-info.dropdown-toggle.bmd-btn-icon:hover, .open > .bmd-btn-fab.btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before, .open > .btn.btn-raised.btn-info.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-raised.btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before, .open > + .btn-group-raised .btn.btn-info.dropdown-toggle.bmd-btn-icon:hover, .open > + .btn-group-raised .btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before { + background-color: #039be0; } + .btn.bmd-btn-fab.btn-info.disabled:focus, .bmd-btn-fab.btn-info.disabled.custom-file-control:focus::before, .btn.bmd-btn-fab.btn-info.disabled.focus, .bmd-btn-fab.btn-info.disabled.focus.custom-file-control::before, .btn.bmd-btn-fab.btn-info:disabled:focus, .bmd-btn-fab.btn-info.custom-file-control:disabled:focus::before, .btn.bmd-btn-fab.btn-info:disabled.focus, .bmd-btn-fab.btn-info.custom-file-control:disabled.focus::before, .btn.btn-raised.btn-info.disabled:focus, .btn-raised.btn-info.disabled.custom-file-control:focus::before, .btn.btn-raised.btn-info.disabled.focus, .btn-raised.btn-info.disabled.focus.custom-file-control::before, .btn.btn-raised.btn-info:disabled:focus, .btn-raised.btn-info.custom-file-control:disabled:focus::before, .btn.btn-raised.btn-info:disabled.focus, .btn-raised.btn-info.custom-file-control:disabled.focus::before, + .btn-group-raised .btn.btn-info.disabled:focus, + .btn-group-raised .btn-info.disabled.custom-file-control:focus::before, + .btn-group-raised .btn.btn-info.disabled.focus, + .btn-group-raised .btn-info.disabled.focus.custom-file-control::before, + .btn-group-raised .btn.btn-info:disabled:focus, + .btn-group-raised .btn-info.custom-file-control:disabled:focus::before, + .btn-group-raised .btn.btn-info:disabled.focus, + .btn-group-raised .btn-info.custom-file-control:disabled.focus::before { + background-color: #03a9f4; + border-color: #03a9f4; } + .btn.bmd-btn-fab.btn-info.disabled:hover, .bmd-btn-fab.btn-info.disabled.custom-file-control:hover::before, .btn.bmd-btn-fab.btn-info:disabled:hover, .bmd-btn-fab.btn-info.custom-file-control:disabled:hover::before, .btn.btn-raised.btn-info.disabled:hover, .btn-raised.btn-info.disabled.custom-file-control:hover::before, .btn.btn-raised.btn-info:disabled:hover, .btn-raised.btn-info.custom-file-control:disabled:hover::before, + .btn-group-raised .btn.btn-info.disabled:hover, + .btn-group-raised .btn-info.disabled.custom-file-control:hover::before, + .btn-group-raised .btn.btn-info:disabled:hover, + .btn-group-raised .btn-info.custom-file-control:disabled:hover::before { + background-color: #03a9f4; + border-color: #03a9f4; } + .btn.bmd-btn-fab.btn-success, .bmd-btn-fab.btn-success.custom-file-control::before, .btn.btn-raised.btn-success, .btn-raised.btn-success.custom-file-control::before, + .btn-group-raised .btn.btn-success, + .btn-group-raised .btn-success.custom-file-control::before { + color: #fff; + background-color: #4caf50; + border-color: #4caf50; } + .btn.bmd-btn-fab.btn-success:hover, .bmd-btn-fab.btn-success.custom-file-control:hover::before, .btn.btn-raised.btn-success:hover, .btn-raised.btn-success.custom-file-control:hover::before, + .btn-group-raised .btn.btn-success:hover, + .btn-group-raised .btn-success.custom-file-control:hover::before { + color: #fff; + background-color: #46a149; + border-color: #39843c; } + .btn.bmd-btn-fab.btn-success:focus, .bmd-btn-fab.btn-success.custom-file-control:focus::before, .btn.bmd-btn-fab.btn-success.focus, .bmd-btn-fab.btn-success.focus.custom-file-control::before, .btn.btn-raised.btn-success:focus, .btn-raised.btn-success.custom-file-control:focus::before, .btn.btn-raised.btn-success.focus, .btn-raised.btn-success.focus.custom-file-control::before, + .btn-group-raised .btn.btn-success:focus, + .btn-group-raised .btn-success.custom-file-control:focus::before, + .btn-group-raised .btn.btn-success.focus, + .btn-group-raised .btn-success.focus.custom-file-control::before { + color: #fff; + background-color: #46a149; + border-color: #39843c; } + .btn.bmd-btn-fab.btn-success:active, .bmd-btn-fab.btn-success.custom-file-control:active::before, .btn.bmd-btn-fab.btn-success.active, .bmd-btn-fab.btn-success.active.custom-file-control::before, + .open > .btn.bmd-btn-fab.btn-success.dropdown-toggle, + .open > .bmd-btn-fab.btn-success.dropdown-toggle.custom-file-control::before, .btn.btn-raised.btn-success:active, .btn-raised.btn-success.custom-file-control:active::before, .btn.btn-raised.btn-success.active, .btn-raised.btn-success.active.custom-file-control::before, + .open > .btn.btn-raised.btn-success.dropdown-toggle, + .open > .btn-raised.btn-success.dropdown-toggle.custom-file-control::before, + .btn-group-raised .btn.btn-success:active, + .btn-group-raised .btn-success.custom-file-control:active::before, + .btn-group-raised .btn.btn-success.active, + .btn-group-raised .btn-success.active.custom-file-control::before, + .open > + .btn-group-raised .btn.btn-success.dropdown-toggle, + .open > + .btn-group-raised .btn-success.dropdown-toggle.custom-file-control::before { + color: #fff; + background-color: #46a149; + border-color: #39843c; } + .btn.bmd-btn-fab.btn-success:active:hover, .bmd-btn-fab.btn-success.custom-file-control:active:hover::before, .btn.bmd-btn-fab.btn-success:active:focus, .bmd-btn-fab.btn-success.custom-file-control:active:focus::before, .btn.bmd-btn-fab.btn-success:active.focus, .bmd-btn-fab.btn-success.custom-file-control:active.focus::before, .btn.bmd-btn-fab.btn-success.active:hover, .bmd-btn-fab.btn-success.active.custom-file-control:hover::before, .btn.bmd-btn-fab.btn-success.active:focus, .bmd-btn-fab.btn-success.active.custom-file-control:focus::before, .btn.bmd-btn-fab.btn-success.active.focus, .bmd-btn-fab.btn-success.active.focus.custom-file-control::before, + .open > .btn.bmd-btn-fab.btn-success.dropdown-toggle:hover, + .open > .bmd-btn-fab.btn-success.dropdown-toggle.custom-file-control:hover::before, + .open > .btn.bmd-btn-fab.btn-success.dropdown-toggle:focus, + .open > .bmd-btn-fab.btn-success.dropdown-toggle.custom-file-control:focus::before, + .open > .btn.bmd-btn-fab.btn-success.dropdown-toggle.focus, + .open > .bmd-btn-fab.btn-success.dropdown-toggle.focus.custom-file-control::before, .btn.btn-raised.btn-success:active:hover, .btn-raised.btn-success.custom-file-control:active:hover::before, .btn.btn-raised.btn-success:active:focus, .btn-raised.btn-success.custom-file-control:active:focus::before, .btn.btn-raised.btn-success:active.focus, .btn-raised.btn-success.custom-file-control:active.focus::before, .btn.btn-raised.btn-success.active:hover, .btn-raised.btn-success.active.custom-file-control:hover::before, .btn.btn-raised.btn-success.active:focus, .btn-raised.btn-success.active.custom-file-control:focus::before, .btn.btn-raised.btn-success.active.focus, .btn-raised.btn-success.active.focus.custom-file-control::before, + .open > .btn.btn-raised.btn-success.dropdown-toggle:hover, + .open > .btn-raised.btn-success.dropdown-toggle.custom-file-control:hover::before, + .open > .btn.btn-raised.btn-success.dropdown-toggle:focus, + .open > .btn-raised.btn-success.dropdown-toggle.custom-file-control:focus::before, + .open > .btn.btn-raised.btn-success.dropdown-toggle.focus, + .open > .btn-raised.btn-success.dropdown-toggle.focus.custom-file-control::before, + .btn-group-raised .btn.btn-success:active:hover, + .btn-group-raised .btn-success.custom-file-control:active:hover::before, + .btn-group-raised .btn.btn-success:active:focus, + .btn-group-raised .btn-success.custom-file-control:active:focus::before, + .btn-group-raised .btn.btn-success:active.focus, + .btn-group-raised .btn-success.custom-file-control:active.focus::before, + .btn-group-raised .btn.btn-success.active:hover, + .btn-group-raised .btn-success.active.custom-file-control:hover::before, + .btn-group-raised .btn.btn-success.active:focus, + .btn-group-raised .btn-success.active.custom-file-control:focus::before, + .btn-group-raised .btn.btn-success.active.focus, + .btn-group-raised .btn-success.active.focus.custom-file-control::before, + .open > + .btn-group-raised .btn.btn-success.dropdown-toggle:hover, + .open > + .btn-group-raised .btn-success.dropdown-toggle.custom-file-control:hover::before, + .open > + .btn-group-raised .btn.btn-success.dropdown-toggle:focus, + .open > + .btn-group-raised .btn-success.dropdown-toggle.custom-file-control:focus::before, + .open > + .btn-group-raised .btn.btn-success.dropdown-toggle.focus, + .open > + .btn-group-raised .btn-success.dropdown-toggle.focus.custom-file-control::before { + color: #fff; + background-color: #46a149; + border-color: #255627; } + .open > .btn.bmd-btn-fab.btn-success.dropdown-toggle.bmd-btn-icon, .open > .bmd-btn-fab.btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control::before, .open > .btn.btn-raised.btn-success.dropdown-toggle.bmd-btn-icon, .open > .btn-raised.btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control::before, .open > + .btn-group-raised .btn.btn-success.dropdown-toggle.bmd-btn-icon, .open > + .btn-group-raised .btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control::before { + color: inherit; + background-color: #4caf50; } + .open > .btn.bmd-btn-fab.btn-success.dropdown-toggle.bmd-btn-icon:hover, .open > .bmd-btn-fab.btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before, .open > .btn.btn-raised.btn-success.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-raised.btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before, .open > + .btn-group-raised .btn.btn-success.dropdown-toggle.bmd-btn-icon:hover, .open > + .btn-group-raised .btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before { + background-color: #46a149; } + .btn.bmd-btn-fab.btn-success.disabled:focus, .bmd-btn-fab.btn-success.disabled.custom-file-control:focus::before, .btn.bmd-btn-fab.btn-success.disabled.focus, .bmd-btn-fab.btn-success.disabled.focus.custom-file-control::before, .btn.bmd-btn-fab.btn-success:disabled:focus, .bmd-btn-fab.btn-success.custom-file-control:disabled:focus::before, .btn.bmd-btn-fab.btn-success:disabled.focus, .bmd-btn-fab.btn-success.custom-file-control:disabled.focus::before, .btn.btn-raised.btn-success.disabled:focus, .btn-raised.btn-success.disabled.custom-file-control:focus::before, .btn.btn-raised.btn-success.disabled.focus, .btn-raised.btn-success.disabled.focus.custom-file-control::before, .btn.btn-raised.btn-success:disabled:focus, .btn-raised.btn-success.custom-file-control:disabled:focus::before, .btn.btn-raised.btn-success:disabled.focus, .btn-raised.btn-success.custom-file-control:disabled.focus::before, + .btn-group-raised .btn.btn-success.disabled:focus, + .btn-group-raised .btn-success.disabled.custom-file-control:focus::before, + .btn-group-raised .btn.btn-success.disabled.focus, + .btn-group-raised .btn-success.disabled.focus.custom-file-control::before, + .btn-group-raised .btn.btn-success:disabled:focus, + .btn-group-raised .btn-success.custom-file-control:disabled:focus::before, + .btn-group-raised .btn.btn-success:disabled.focus, + .btn-group-raised .btn-success.custom-file-control:disabled.focus::before { + background-color: #4caf50; + border-color: #4caf50; } + .btn.bmd-btn-fab.btn-success.disabled:hover, .bmd-btn-fab.btn-success.disabled.custom-file-control:hover::before, .btn.bmd-btn-fab.btn-success:disabled:hover, .bmd-btn-fab.btn-success.custom-file-control:disabled:hover::before, .btn.btn-raised.btn-success.disabled:hover, .btn-raised.btn-success.disabled.custom-file-control:hover::before, .btn.btn-raised.btn-success:disabled:hover, .btn-raised.btn-success.custom-file-control:disabled:hover::before, + .btn-group-raised .btn.btn-success.disabled:hover, + .btn-group-raised .btn-success.disabled.custom-file-control:hover::before, + .btn-group-raised .btn.btn-success:disabled:hover, + .btn-group-raised .btn-success.custom-file-control:disabled:hover::before { + background-color: #4caf50; + border-color: #4caf50; } + .btn.bmd-btn-fab.btn-warning, .bmd-btn-fab.btn-warning.custom-file-control::before, .btn.btn-raised.btn-warning, .btn-raised.btn-warning.custom-file-control::before, + .btn-group-raised .btn.btn-warning, + .btn-group-raised .btn-warning.custom-file-control::before { + color: #fff; + background-color: #ff5722; + border-color: #ff5722; } + .btn.bmd-btn-fab.btn-warning:hover, .bmd-btn-fab.btn-warning.custom-file-control:hover::before, .btn.btn-raised.btn-warning:hover, .btn-raised.btn-warning.custom-file-control:hover::before, + .btn-group-raised .btn.btn-warning:hover, + .btn-group-raised .btn-warning.custom-file-control:hover::before { + color: #fff; + background-color: #ff470e; + border-color: #e43700; } + .btn.bmd-btn-fab.btn-warning:focus, .bmd-btn-fab.btn-warning.custom-file-control:focus::before, .btn.bmd-btn-fab.btn-warning.focus, .bmd-btn-fab.btn-warning.focus.custom-file-control::before, .btn.btn-raised.btn-warning:focus, .btn-raised.btn-warning.custom-file-control:focus::before, .btn.btn-raised.btn-warning.focus, .btn-raised.btn-warning.focus.custom-file-control::before, + .btn-group-raised .btn.btn-warning:focus, + .btn-group-raised .btn-warning.custom-file-control:focus::before, + .btn-group-raised .btn.btn-warning.focus, + .btn-group-raised .btn-warning.focus.custom-file-control::before { + color: #fff; + background-color: #ff470e; + border-color: #e43700; } + .btn.bmd-btn-fab.btn-warning:active, .bmd-btn-fab.btn-warning.custom-file-control:active::before, .btn.bmd-btn-fab.btn-warning.active, .bmd-btn-fab.btn-warning.active.custom-file-control::before, + .open > .btn.bmd-btn-fab.btn-warning.dropdown-toggle, + .open > .bmd-btn-fab.btn-warning.dropdown-toggle.custom-file-control::before, .btn.btn-raised.btn-warning:active, .btn-raised.btn-warning.custom-file-control:active::before, .btn.btn-raised.btn-warning.active, .btn-raised.btn-warning.active.custom-file-control::before, + .open > .btn.btn-raised.btn-warning.dropdown-toggle, + .open > .btn-raised.btn-warning.dropdown-toggle.custom-file-control::before, + .btn-group-raised .btn.btn-warning:active, + .btn-group-raised .btn-warning.custom-file-control:active::before, + .btn-group-raised .btn.btn-warning.active, + .btn-group-raised .btn-warning.active.custom-file-control::before, + .open > + .btn-group-raised .btn.btn-warning.dropdown-toggle, + .open > + .btn-group-raised .btn-warning.dropdown-toggle.custom-file-control::before { + color: #fff; + background-color: #ff470e; + border-color: #e43700; } + .btn.bmd-btn-fab.btn-warning:active:hover, .bmd-btn-fab.btn-warning.custom-file-control:active:hover::before, .btn.bmd-btn-fab.btn-warning:active:focus, .bmd-btn-fab.btn-warning.custom-file-control:active:focus::before, .btn.bmd-btn-fab.btn-warning:active.focus, .bmd-btn-fab.btn-warning.custom-file-control:active.focus::before, .btn.bmd-btn-fab.btn-warning.active:hover, .bmd-btn-fab.btn-warning.active.custom-file-control:hover::before, .btn.bmd-btn-fab.btn-warning.active:focus, .bmd-btn-fab.btn-warning.active.custom-file-control:focus::before, .btn.bmd-btn-fab.btn-warning.active.focus, .bmd-btn-fab.btn-warning.active.focus.custom-file-control::before, + .open > .btn.bmd-btn-fab.btn-warning.dropdown-toggle:hover, + .open > .bmd-btn-fab.btn-warning.dropdown-toggle.custom-file-control:hover::before, + .open > .btn.bmd-btn-fab.btn-warning.dropdown-toggle:focus, + .open > .bmd-btn-fab.btn-warning.dropdown-toggle.custom-file-control:focus::before, + .open > .btn.bmd-btn-fab.btn-warning.dropdown-toggle.focus, + .open > .bmd-btn-fab.btn-warning.dropdown-toggle.focus.custom-file-control::before, .btn.btn-raised.btn-warning:active:hover, .btn-raised.btn-warning.custom-file-control:active:hover::before, .btn.btn-raised.btn-warning:active:focus, .btn-raised.btn-warning.custom-file-control:active:focus::before, .btn.btn-raised.btn-warning:active.focus, .btn-raised.btn-warning.custom-file-control:active.focus::before, .btn.btn-raised.btn-warning.active:hover, .btn-raised.btn-warning.active.custom-file-control:hover::before, .btn.btn-raised.btn-warning.active:focus, .btn-raised.btn-warning.active.custom-file-control:focus::before, .btn.btn-raised.btn-warning.active.focus, .btn-raised.btn-warning.active.focus.custom-file-control::before, + .open > .btn.btn-raised.btn-warning.dropdown-toggle:hover, + .open > .btn-raised.btn-warning.dropdown-toggle.custom-file-control:hover::before, + .open > .btn.btn-raised.btn-warning.dropdown-toggle:focus, + .open > .btn-raised.btn-warning.dropdown-toggle.custom-file-control:focus::before, + .open > .btn.btn-raised.btn-warning.dropdown-toggle.focus, + .open > .btn-raised.btn-warning.dropdown-toggle.focus.custom-file-control::before, + .btn-group-raised .btn.btn-warning:active:hover, + .btn-group-raised .btn-warning.custom-file-control:active:hover::before, + .btn-group-raised .btn.btn-warning:active:focus, + .btn-group-raised .btn-warning.custom-file-control:active:focus::before, + .btn-group-raised .btn.btn-warning:active.focus, + .btn-group-raised .btn-warning.custom-file-control:active.focus::before, + .btn-group-raised .btn.btn-warning.active:hover, + .btn-group-raised .btn-warning.active.custom-file-control:hover::before, + .btn-group-raised .btn.btn-warning.active:focus, + .btn-group-raised .btn-warning.active.custom-file-control:focus::before, + .btn-group-raised .btn.btn-warning.active.focus, + .btn-group-raised .btn-warning.active.focus.custom-file-control::before, + .open > + .btn-group-raised .btn.btn-warning.dropdown-toggle:hover, + .open > + .btn-group-raised .btn-warning.dropdown-toggle.custom-file-control:hover::before, + .open > + .btn-group-raised .btn.btn-warning.dropdown-toggle:focus, + .open > + .btn-group-raised .btn-warning.dropdown-toggle.custom-file-control:focus::before, + .open > + .btn-group-raised .btn.btn-warning.dropdown-toggle.focus, + .open > + .btn-group-raised .btn-warning.dropdown-toggle.focus.custom-file-control::before { + color: #fff; + background-color: #ff470e; + border-color: #a22700; } + .open > .btn.bmd-btn-fab.btn-warning.dropdown-toggle.bmd-btn-icon, .open > .bmd-btn-fab.btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control::before, .open > .btn.btn-raised.btn-warning.dropdown-toggle.bmd-btn-icon, .open > .btn-raised.btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control::before, .open > + .btn-group-raised .btn.btn-warning.dropdown-toggle.bmd-btn-icon, .open > + .btn-group-raised .btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control::before { + color: inherit; + background-color: #ff5722; } + .open > .btn.bmd-btn-fab.btn-warning.dropdown-toggle.bmd-btn-icon:hover, .open > .bmd-btn-fab.btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before, .open > .btn.btn-raised.btn-warning.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-raised.btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before, .open > + .btn-group-raised .btn.btn-warning.dropdown-toggle.bmd-btn-icon:hover, .open > + .btn-group-raised .btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before { + background-color: #ff470e; } + .btn.bmd-btn-fab.btn-warning.disabled:focus, .bmd-btn-fab.btn-warning.disabled.custom-file-control:focus::before, .btn.bmd-btn-fab.btn-warning.disabled.focus, .bmd-btn-fab.btn-warning.disabled.focus.custom-file-control::before, .btn.bmd-btn-fab.btn-warning:disabled:focus, .bmd-btn-fab.btn-warning.custom-file-control:disabled:focus::before, .btn.bmd-btn-fab.btn-warning:disabled.focus, .bmd-btn-fab.btn-warning.custom-file-control:disabled.focus::before, .btn.btn-raised.btn-warning.disabled:focus, .btn-raised.btn-warning.disabled.custom-file-control:focus::before, .btn.btn-raised.btn-warning.disabled.focus, .btn-raised.btn-warning.disabled.focus.custom-file-control::before, .btn.btn-raised.btn-warning:disabled:focus, .btn-raised.btn-warning.custom-file-control:disabled:focus::before, .btn.btn-raised.btn-warning:disabled.focus, .btn-raised.btn-warning.custom-file-control:disabled.focus::before, + .btn-group-raised .btn.btn-warning.disabled:focus, + .btn-group-raised .btn-warning.disabled.custom-file-control:focus::before, + .btn-group-raised .btn.btn-warning.disabled.focus, + .btn-group-raised .btn-warning.disabled.focus.custom-file-control::before, + .btn-group-raised .btn.btn-warning:disabled:focus, + .btn-group-raised .btn-warning.custom-file-control:disabled:focus::before, + .btn-group-raised .btn.btn-warning:disabled.focus, + .btn-group-raised .btn-warning.custom-file-control:disabled.focus::before { + background-color: #ff5722; + border-color: #ff5722; } + .btn.bmd-btn-fab.btn-warning.disabled:hover, .bmd-btn-fab.btn-warning.disabled.custom-file-control:hover::before, .btn.bmd-btn-fab.btn-warning:disabled:hover, .bmd-btn-fab.btn-warning.custom-file-control:disabled:hover::before, .btn.btn-raised.btn-warning.disabled:hover, .btn-raised.btn-warning.disabled.custom-file-control:hover::before, .btn.btn-raised.btn-warning:disabled:hover, .btn-raised.btn-warning.custom-file-control:disabled:hover::before, + .btn-group-raised .btn.btn-warning.disabled:hover, + .btn-group-raised .btn-warning.disabled.custom-file-control:hover::before, + .btn-group-raised .btn.btn-warning:disabled:hover, + .btn-group-raised .btn-warning.custom-file-control:disabled:hover::before { + background-color: #ff5722; + border-color: #ff5722; } + .btn.bmd-btn-fab.btn-danger, .bmd-btn-fab.btn-danger.custom-file-control::before, .btn.btn-raised.btn-danger, .btn-raised.btn-danger.custom-file-control::before, + .btn-group-raised .btn.btn-danger, + .btn-group-raised .btn-danger.custom-file-control::before { + color: #fff; + background-color: #f44336; + border-color: #f44336; } + .btn.bmd-btn-fab.btn-danger:hover, .bmd-btn-fab.btn-danger.custom-file-control:hover::before, .btn.btn-raised.btn-danger:hover, .btn-raised.btn-danger.custom-file-control:hover::before, + .btn-group-raised .btn.btn-danger:hover, + .btn-group-raised .btn-danger.custom-file-control:hover::before { + color: #fff; + background-color: #f55549; + border-color: #e11b0c; } + .btn.bmd-btn-fab.btn-danger:focus, .bmd-btn-fab.btn-danger.custom-file-control:focus::before, .btn.bmd-btn-fab.btn-danger.focus, .bmd-btn-fab.btn-danger.focus.custom-file-control::before, .btn.btn-raised.btn-danger:focus, .btn-raised.btn-danger.custom-file-control:focus::before, .btn.btn-raised.btn-danger.focus, .btn-raised.btn-danger.focus.custom-file-control::before, + .btn-group-raised .btn.btn-danger:focus, + .btn-group-raised .btn-danger.custom-file-control:focus::before, + .btn-group-raised .btn.btn-danger.focus, + .btn-group-raised .btn-danger.focus.custom-file-control::before { + color: #fff; + background-color: #f55549; + border-color: #e11b0c; } + .btn.bmd-btn-fab.btn-danger:active, .bmd-btn-fab.btn-danger.custom-file-control:active::before, .btn.bmd-btn-fab.btn-danger.active, .bmd-btn-fab.btn-danger.active.custom-file-control::before, + .open > .btn.bmd-btn-fab.btn-danger.dropdown-toggle, + .open > .bmd-btn-fab.btn-danger.dropdown-toggle.custom-file-control::before, .btn.btn-raised.btn-danger:active, .btn-raised.btn-danger.custom-file-control:active::before, .btn.btn-raised.btn-danger.active, .btn-raised.btn-danger.active.custom-file-control::before, + .open > .btn.btn-raised.btn-danger.dropdown-toggle, + .open > .btn-raised.btn-danger.dropdown-toggle.custom-file-control::before, + .btn-group-raised .btn.btn-danger:active, + .btn-group-raised .btn-danger.custom-file-control:active::before, + .btn-group-raised .btn.btn-danger.active, + .btn-group-raised .btn-danger.active.custom-file-control::before, + .open > + .btn-group-raised .btn.btn-danger.dropdown-toggle, + .open > + .btn-group-raised .btn-danger.dropdown-toggle.custom-file-control::before { + color: #fff; + background-color: #f55549; + border-color: #e11b0c; } + .btn.bmd-btn-fab.btn-danger:active:hover, .bmd-btn-fab.btn-danger.custom-file-control:active:hover::before, .btn.bmd-btn-fab.btn-danger:active:focus, .bmd-btn-fab.btn-danger.custom-file-control:active:focus::before, .btn.bmd-btn-fab.btn-danger:active.focus, .bmd-btn-fab.btn-danger.custom-file-control:active.focus::before, .btn.bmd-btn-fab.btn-danger.active:hover, .bmd-btn-fab.btn-danger.active.custom-file-control:hover::before, .btn.bmd-btn-fab.btn-danger.active:focus, .bmd-btn-fab.btn-danger.active.custom-file-control:focus::before, .btn.bmd-btn-fab.btn-danger.active.focus, .bmd-btn-fab.btn-danger.active.focus.custom-file-control::before, + .open > .btn.bmd-btn-fab.btn-danger.dropdown-toggle:hover, + .open > .bmd-btn-fab.btn-danger.dropdown-toggle.custom-file-control:hover::before, + .open > .btn.bmd-btn-fab.btn-danger.dropdown-toggle:focus, + .open > .bmd-btn-fab.btn-danger.dropdown-toggle.custom-file-control:focus::before, + .open > .btn.bmd-btn-fab.btn-danger.dropdown-toggle.focus, + .open > .bmd-btn-fab.btn-danger.dropdown-toggle.focus.custom-file-control::before, .btn.btn-raised.btn-danger:active:hover, .btn-raised.btn-danger.custom-file-control:active:hover::before, .btn.btn-raised.btn-danger:active:focus, .btn-raised.btn-danger.custom-file-control:active:focus::before, .btn.btn-raised.btn-danger:active.focus, .btn-raised.btn-danger.custom-file-control:active.focus::before, .btn.btn-raised.btn-danger.active:hover, .btn-raised.btn-danger.active.custom-file-control:hover::before, .btn.btn-raised.btn-danger.active:focus, .btn-raised.btn-danger.active.custom-file-control:focus::before, .btn.btn-raised.btn-danger.active.focus, .btn-raised.btn-danger.active.focus.custom-file-control::before, + .open > .btn.btn-raised.btn-danger.dropdown-toggle:hover, + .open > .btn-raised.btn-danger.dropdown-toggle.custom-file-control:hover::before, + .open > .btn.btn-raised.btn-danger.dropdown-toggle:focus, + .open > .btn-raised.btn-danger.dropdown-toggle.custom-file-control:focus::before, + .open > .btn.btn-raised.btn-danger.dropdown-toggle.focus, + .open > .btn-raised.btn-danger.dropdown-toggle.focus.custom-file-control::before, + .btn-group-raised .btn.btn-danger:active:hover, + .btn-group-raised .btn-danger.custom-file-control:active:hover::before, + .btn-group-raised .btn.btn-danger:active:focus, + .btn-group-raised .btn-danger.custom-file-control:active:focus::before, + .btn-group-raised .btn.btn-danger:active.focus, + .btn-group-raised .btn-danger.custom-file-control:active.focus::before, + .btn-group-raised .btn.btn-danger.active:hover, + .btn-group-raised .btn-danger.active.custom-file-control:hover::before, + .btn-group-raised .btn.btn-danger.active:focus, + .btn-group-raised .btn-danger.active.custom-file-control:focus::before, + .btn-group-raised .btn.btn-danger.active.focus, + .btn-group-raised .btn-danger.active.focus.custom-file-control::before, + .open > + .btn-group-raised .btn.btn-danger.dropdown-toggle:hover, + .open > + .btn-group-raised .btn-danger.dropdown-toggle.custom-file-control:hover::before, + .open > + .btn-group-raised .btn.btn-danger.dropdown-toggle:focus, + .open > + .btn-group-raised .btn-danger.dropdown-toggle.custom-file-control:focus::before, + .open > + .btn-group-raised .btn.btn-danger.dropdown-toggle.focus, + .open > + .btn-group-raised .btn-danger.dropdown-toggle.focus.custom-file-control::before { + color: #fff; + background-color: #f55549; + border-color: #a21309; } + .open > .btn.bmd-btn-fab.btn-danger.dropdown-toggle.bmd-btn-icon, .open > .bmd-btn-fab.btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control::before, .open > .btn.btn-raised.btn-danger.dropdown-toggle.bmd-btn-icon, .open > .btn-raised.btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control::before, .open > + .btn-group-raised .btn.btn-danger.dropdown-toggle.bmd-btn-icon, .open > + .btn-group-raised .btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control::before { + color: inherit; + background-color: #f44336; } + .open > .btn.bmd-btn-fab.btn-danger.dropdown-toggle.bmd-btn-icon:hover, .open > .bmd-btn-fab.btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before, .open > .btn.btn-raised.btn-danger.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-raised.btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before, .open > + .btn-group-raised .btn.btn-danger.dropdown-toggle.bmd-btn-icon:hover, .open > + .btn-group-raised .btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before { + background-color: #f55549; } + .btn.bmd-btn-fab.btn-danger.disabled:focus, .bmd-btn-fab.btn-danger.disabled.custom-file-control:focus::before, .btn.bmd-btn-fab.btn-danger.disabled.focus, .bmd-btn-fab.btn-danger.disabled.focus.custom-file-control::before, .btn.bmd-btn-fab.btn-danger:disabled:focus, .bmd-btn-fab.btn-danger.custom-file-control:disabled:focus::before, .btn.bmd-btn-fab.btn-danger:disabled.focus, .bmd-btn-fab.btn-danger.custom-file-control:disabled.focus::before, .btn.btn-raised.btn-danger.disabled:focus, .btn-raised.btn-danger.disabled.custom-file-control:focus::before, .btn.btn-raised.btn-danger.disabled.focus, .btn-raised.btn-danger.disabled.focus.custom-file-control::before, .btn.btn-raised.btn-danger:disabled:focus, .btn-raised.btn-danger.custom-file-control:disabled:focus::before, .btn.btn-raised.btn-danger:disabled.focus, .btn-raised.btn-danger.custom-file-control:disabled.focus::before, + .btn-group-raised .btn.btn-danger.disabled:focus, + .btn-group-raised .btn-danger.disabled.custom-file-control:focus::before, + .btn-group-raised .btn.btn-danger.disabled.focus, + .btn-group-raised .btn-danger.disabled.focus.custom-file-control::before, + .btn-group-raised .btn.btn-danger:disabled:focus, + .btn-group-raised .btn-danger.custom-file-control:disabled:focus::before, + .btn-group-raised .btn.btn-danger:disabled.focus, + .btn-group-raised .btn-danger.custom-file-control:disabled.focus::before { + background-color: #f44336; + border-color: #f44336; } + .btn.bmd-btn-fab.btn-danger.disabled:hover, .bmd-btn-fab.btn-danger.disabled.custom-file-control:hover::before, .btn.bmd-btn-fab.btn-danger:disabled:hover, .bmd-btn-fab.btn-danger.custom-file-control:disabled:hover::before, .btn.btn-raised.btn-danger.disabled:hover, .btn-raised.btn-danger.disabled.custom-file-control:hover::before, .btn.btn-raised.btn-danger:disabled:hover, .btn-raised.btn-danger.custom-file-control:disabled:hover::before, + .btn-group-raised .btn.btn-danger.disabled:hover, + .btn-group-raised .btn-danger.disabled.custom-file-control:hover::before, + .btn-group-raised .btn.btn-danger:disabled:hover, + .btn-group-raised .btn-danger.custom-file-control:disabled:hover::before { + background-color: #f44336; + border-color: #f44336; } + .btn.bmd-btn-fab:focus, .bmd-btn-fab.custom-file-control:focus::before, .btn.bmd-btn-fab:hover, .bmd-btn-fab.custom-file-control:hover::before, .btn.btn-raised:focus, .btn-raised.custom-file-control:focus::before, .btn.btn-raised:hover, .btn-raised.custom-file-control:hover::before, + .btn-group-raised .btn:focus, + .btn-group-raised .custom-file-control:focus::before, + .btn-group-raised .btn:hover, + .btn-group-raised .custom-file-control:hover::before { + z-index: 1; + -webkit-box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2); + box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2); } + .btn.bmd-btn-fab.active, .bmd-btn-fab.active.custom-file-control::before, .btn.bmd-btn-fab:active, .bmd-btn-fab.custom-file-control:active::before, .btn.btn-raised.active, .btn-raised.active.custom-file-control::before, .btn.btn-raised:active, .btn-raised.custom-file-control:active::before, + .btn-group-raised .btn.active, + .btn-group-raised .active.custom-file-control::before, + .btn-group-raised .btn:active, + .btn-group-raised .custom-file-control:active::before { + z-index: 1; + -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.18), 0 8px 16px rgba(0, 0, 0, 0.36); + box-shadow: 0 0 8px rgba(0, 0, 0, 0.18), 0 8px 16px rgba(0, 0, 0, 0.36); } + .btn.btn-raised, .btn-raised.custom-file-control::before, + .btn-group-raised .btn, + .btn-group-raised .custom-file-control::before { + -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); } + .btn.btn-raised.btn-link, .btn-raised.btn-link.custom-file-control::before, + .btn-group-raised .btn.btn-link, + .btn-group-raised .btn-link.custom-file-control::before { + -webkit-box-shadow: none; + box-shadow: none; } + .btn.btn-raised.btn-link.active, .btn-raised.btn-link.active.custom-file-control::before, + .btn-group-raised .btn.btn-link.active, + .btn-group-raised .btn-link.active.custom-file-control::before { + -webkit-box-shadow: none; + box-shadow: none; } + .btn.btn-raised.btn-link:focus, .btn-raised.btn-link.custom-file-control:focus::before, .btn.btn-raised.btn-link:active, .btn-raised.btn-link.custom-file-control:active::before, .btn.btn-raised.btn-link:hover, .btn-raised.btn-link.custom-file-control:hover::before, + .btn-group-raised .btn.btn-link:focus, + .btn-group-raised .btn-link.custom-file-control:focus::before, + .btn-group-raised .btn.btn-link:active, + .btn-group-raised .btn-link.custom-file-control:active::before, + .btn-group-raised .btn.btn-link:hover, + .btn-group-raised .btn-link.custom-file-control:hover::before { + -webkit-box-shadow: none; + box-shadow: none; } + fieldset[disabled][disabled] .btn.btn-raised, fieldset[disabled][disabled] .btn-raised.custom-file-control::before, .btn.btn-raised.disabled, .btn-raised.disabled.custom-file-control::before, .btn.btn-raised:disabled, .btn-raised.custom-file-control:disabled::before, .btn.btn-raised[disabled], .btn-raised[disabled].custom-file-control::before, fieldset[disabled][disabled] + .btn-group-raised .btn, fieldset[disabled][disabled] + .btn-group-raised .custom-file-control::before, + .btn-group-raised .btn.disabled, + .btn-group-raised .disabled.custom-file-control::before, + .btn-group-raised .btn:disabled, + .btn-group-raised .custom-file-control:disabled::before, + .btn-group-raised .btn[disabled], + .btn-group-raised [disabled].custom-file-control::before { + -webkit-box-shadow: none; + box-shadow: none; } + .btn.btn-outline, .btn-outline.custom-file-control::before, .btn.btn-outline-primary, .btn-outline-primary.custom-file-control::before, .btn.btn-outline-secondary, .btn-outline-secondary.custom-file-control::before, .btn.btn-outline-info, .btn-outline-info.custom-file-control::before, .btn.btn-outline-success, .btn-outline-success.custom-file-control::before, .btn.btn-outline-warning, .btn-outline-warning.custom-file-control::before, .btn.btn-outline-danger, .btn-outline-danger.custom-file-control::before { + border-color: currentColor; + border-style: solid; + border-width: 1px; } + .btn.btn-outline, .btn-outline.custom-file-control::before { + color: rgba(0, 0, 0, 0.87); + background-color: inherit; + border-color: rgba(0, 0, 0, 0.87); } + .btn.btn-outline:hover, .btn-outline.custom-file-control:hover::before { + color: rgba(0, 0, 0, 0.87); + background-color: rgba(153, 153, 153, 0.2); + border-color: rgba(0, 0, 0, 0.87); } + .btn.btn-outline:focus, .btn-outline.custom-file-control:focus::before, .btn.btn-outline.focus, .btn-outline.focus.custom-file-control::before { + color: rgba(0, 0, 0, 0.87); + background-color: rgba(153, 153, 153, 0.2); + border-color: rgba(0, 0, 0, 0.87); } + .btn.btn-outline:active, .btn-outline.custom-file-control:active::before, .btn.btn-outline.active, .btn-outline.active.custom-file-control::before, + .open > .btn.btn-outline.dropdown-toggle, + .open > .btn-outline.dropdown-toggle.custom-file-control::before { + color: rgba(0, 0, 0, 0.87); + background-color: rgba(153, 153, 153, 0.2); + border-color: rgba(0, 0, 0, 0.87); } + .btn.btn-outline:active:hover, .btn-outline.custom-file-control:active:hover::before, .btn.btn-outline:active:focus, .btn-outline.custom-file-control:active:focus::before, .btn.btn-outline:active.focus, .btn-outline.custom-file-control:active.focus::before, .btn.btn-outline.active:hover, .btn-outline.active.custom-file-control:hover::before, .btn.btn-outline.active:focus, .btn-outline.active.custom-file-control:focus::before, .btn.btn-outline.active.focus, .btn-outline.active.focus.custom-file-control::before, + .open > .btn.btn-outline.dropdown-toggle:hover, + .open > .btn-outline.dropdown-toggle.custom-file-control:hover::before, + .open > .btn.btn-outline.dropdown-toggle:focus, + .open > .btn-outline.dropdown-toggle.custom-file-control:focus::before, + .open > .btn.btn-outline.dropdown-toggle.focus, + .open > .btn-outline.dropdown-toggle.focus.custom-file-control::before { + color: rgba(0, 0, 0, 0.87); + background-color: rgba(153, 153, 153, 0.4); + border-color: rgba(0, 0, 0, 0.87); } + .open > .btn.btn-outline.dropdown-toggle.bmd-btn-icon, .open > .btn-outline.dropdown-toggle.bmd-btn-icon.custom-file-control::before { + color: inherit; + background-color: inherit; } + .open > .btn.btn-outline.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-outline.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before { + background-color: rgba(153, 153, 153, 0.2); } + .btn.btn-outline.disabled:focus, .btn-outline.disabled.custom-file-control:focus::before, .btn.btn-outline.disabled.focus, .btn-outline.disabled.focus.custom-file-control::before, .btn.btn-outline:disabled:focus, .btn-outline.custom-file-control:disabled:focus::before, .btn.btn-outline:disabled.focus, .btn-outline.custom-file-control:disabled.focus::before { + background-color: inherit; + border-color: rgba(0, 0, 0, 0.87); } + .btn.btn-outline.disabled:hover, .btn-outline.disabled.custom-file-control:hover::before, .btn.btn-outline:disabled:hover, .btn-outline.custom-file-control:disabled:hover::before { + background-color: inherit; + border-color: rgba(0, 0, 0, 0.87); } + .bg-inverse .btn.btn-outline, .bg-inverse .btn-outline.custom-file-control::before { + color: rgba(0, 0, 0, 0.87); + background-color: inherit; + border-color: rgba(0, 0, 0, 0.87); } + .bg-inverse .btn.btn-outline:hover, .bg-inverse .btn-outline.custom-file-control:hover::before { + color: rgba(0, 0, 0, 0.87); + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-outline:focus, .bg-inverse .btn-outline.custom-file-control:focus::before, .bg-inverse .btn.btn-outline.focus, .bg-inverse .btn-outline.focus.custom-file-control::before { + color: rgba(0, 0, 0, 0.87); + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-outline:active, .bg-inverse .btn-outline.custom-file-control:active::before, .bg-inverse .btn.btn-outline.active, .bg-inverse .btn-outline.active.custom-file-control::before, + .open > .bg-inverse .btn.btn-outline.dropdown-toggle, + .open > .bg-inverse .btn-outline.dropdown-toggle.custom-file-control::before { + color: rgba(0, 0, 0, 0.87); + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-outline:active:hover, .bg-inverse .btn-outline.custom-file-control:active:hover::before, .bg-inverse .btn.btn-outline:active:focus, .bg-inverse .btn-outline.custom-file-control:active:focus::before, .bg-inverse .btn.btn-outline:active.focus, .bg-inverse .btn-outline.custom-file-control:active.focus::before, .bg-inverse .btn.btn-outline.active:hover, .bg-inverse .btn-outline.active.custom-file-control:hover::before, .bg-inverse .btn.btn-outline.active:focus, .bg-inverse .btn-outline.active.custom-file-control:focus::before, .bg-inverse .btn.btn-outline.active.focus, .bg-inverse .btn-outline.active.focus.custom-file-control::before, + .open > .bg-inverse .btn.btn-outline.dropdown-toggle:hover, + .open > .bg-inverse .btn-outline.dropdown-toggle.custom-file-control:hover::before, + .open > .bg-inverse .btn.btn-outline.dropdown-toggle:focus, + .open > .bg-inverse .btn-outline.dropdown-toggle.custom-file-control:focus::before, + .open > .bg-inverse .btn.btn-outline.dropdown-toggle.focus, + .open > .bg-inverse .btn-outline.dropdown-toggle.focus.custom-file-control::before { + color: rgba(0, 0, 0, 0.87); + background-color: rgba(204, 204, 204, 0.25); + border-color: rgba(204, 204, 204, 0.25); } + .open > .bg-inverse .btn.btn-outline.dropdown-toggle.bmd-btn-icon, .open > .bg-inverse .btn-outline.dropdown-toggle.bmd-btn-icon.custom-file-control::before { + color: inherit; + background-color: inherit; } + .open > .bg-inverse .btn.btn-outline.dropdown-toggle.bmd-btn-icon:hover, .open > .bg-inverse .btn-outline.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before { + background-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-outline.disabled:focus, .bg-inverse .btn-outline.disabled.custom-file-control:focus::before, .bg-inverse .btn.btn-outline.disabled.focus, .bg-inverse .btn-outline.disabled.focus.custom-file-control::before, .bg-inverse .btn.btn-outline:disabled:focus, .bg-inverse .btn-outline.custom-file-control:disabled:focus::before, .bg-inverse .btn.btn-outline:disabled.focus, .bg-inverse .btn-outline.custom-file-control:disabled.focus::before { + background-color: inherit; + border-color: rgba(0, 0, 0, 0.87); } + .bg-inverse .btn.btn-outline.disabled:hover, .bg-inverse .btn-outline.disabled.custom-file-control:hover::before, .bg-inverse .btn.btn-outline:disabled:hover, .bg-inverse .btn-outline.custom-file-control:disabled:hover::before { + background-color: inherit; + border-color: rgba(0, 0, 0, 0.87); } + .btn.btn-outline.btn-link, .btn-outline.btn-link.custom-file-control::before { + background-color: transparent; } + .btn.btn-outline-primary, .btn-outline-primary.custom-file-control::before { + color: #009688; + background-color: inherit; + border-color: #009688; } + .btn.btn-outline-primary:hover, .btn-outline-primary.custom-file-control:hover::before { + color: #009688; + background-color: rgba(153, 153, 153, 0.2); + border-color: #009688; } + .btn.btn-outline-primary:focus, .btn-outline-primary.custom-file-control:focus::before, .btn.btn-outline-primary.focus, .btn-outline-primary.focus.custom-file-control::before { + color: #009688; + background-color: rgba(153, 153, 153, 0.2); + border-color: #009688; } + .btn.btn-outline-primary:active, .btn-outline-primary.custom-file-control:active::before, .btn.btn-outline-primary.active, .btn-outline-primary.active.custom-file-control::before, + .open > .btn.btn-outline-primary.dropdown-toggle, + .open > .btn-outline-primary.dropdown-toggle.custom-file-control::before { + color: #009688; + background-color: rgba(153, 153, 153, 0.2); + border-color: #009688; } + .btn.btn-outline-primary:active:hover, .btn-outline-primary.custom-file-control:active:hover::before, .btn.btn-outline-primary:active:focus, .btn-outline-primary.custom-file-control:active:focus::before, .btn.btn-outline-primary:active.focus, .btn-outline-primary.custom-file-control:active.focus::before, .btn.btn-outline-primary.active:hover, .btn-outline-primary.active.custom-file-control:hover::before, .btn.btn-outline-primary.active:focus, .btn-outline-primary.active.custom-file-control:focus::before, .btn.btn-outline-primary.active.focus, .btn-outline-primary.active.focus.custom-file-control::before, + .open > .btn.btn-outline-primary.dropdown-toggle:hover, + .open > .btn-outline-primary.dropdown-toggle.custom-file-control:hover::before, + .open > .btn.btn-outline-primary.dropdown-toggle:focus, + .open > .btn-outline-primary.dropdown-toggle.custom-file-control:focus::before, + .open > .btn.btn-outline-primary.dropdown-toggle.focus, + .open > .btn-outline-primary.dropdown-toggle.focus.custom-file-control::before { + color: #009688; + background-color: rgba(153, 153, 153, 0.4); + border-color: #009688; } + .open > .btn.btn-outline-primary.dropdown-toggle.bmd-btn-icon, .open > .btn-outline-primary.dropdown-toggle.bmd-btn-icon.custom-file-control::before { + color: inherit; + background-color: inherit; } + .open > .btn.btn-outline-primary.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-outline-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before { + background-color: rgba(153, 153, 153, 0.2); } + .btn.btn-outline-primary.disabled:focus, .btn-outline-primary.disabled.custom-file-control:focus::before, .btn.btn-outline-primary.disabled.focus, .btn-outline-primary.disabled.focus.custom-file-control::before, .btn.btn-outline-primary:disabled:focus, .btn-outline-primary.custom-file-control:disabled:focus::before, .btn.btn-outline-primary:disabled.focus, .btn-outline-primary.custom-file-control:disabled.focus::before { + background-color: inherit; + border-color: #009688; } + .btn.btn-outline-primary.disabled:hover, .btn-outline-primary.disabled.custom-file-control:hover::before, .btn.btn-outline-primary:disabled:hover, .btn-outline-primary.custom-file-control:disabled:hover::before { + background-color: inherit; + border-color: #009688; } + .bg-inverse .btn.btn-outline-primary, .bg-inverse .btn-outline-primary.custom-file-control::before { + color: #009688; + background-color: inherit; + border-color: #009688; } + .bg-inverse .btn.btn-outline-primary:hover, .bg-inverse .btn-outline-primary.custom-file-control:hover::before { + color: #009688; + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-outline-primary:focus, .bg-inverse .btn-outline-primary.custom-file-control:focus::before, .bg-inverse .btn.btn-outline-primary.focus, .bg-inverse .btn-outline-primary.focus.custom-file-control::before { + color: #009688; + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-outline-primary:active, .bg-inverse .btn-outline-primary.custom-file-control:active::before, .bg-inverse .btn.btn-outline-primary.active, .bg-inverse .btn-outline-primary.active.custom-file-control::before, + .open > .bg-inverse .btn.btn-outline-primary.dropdown-toggle, + .open > .bg-inverse .btn-outline-primary.dropdown-toggle.custom-file-control::before { + color: #009688; + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-outline-primary:active:hover, .bg-inverse .btn-outline-primary.custom-file-control:active:hover::before, .bg-inverse .btn.btn-outline-primary:active:focus, .bg-inverse .btn-outline-primary.custom-file-control:active:focus::before, .bg-inverse .btn.btn-outline-primary:active.focus, .bg-inverse .btn-outline-primary.custom-file-control:active.focus::before, .bg-inverse .btn.btn-outline-primary.active:hover, .bg-inverse .btn-outline-primary.active.custom-file-control:hover::before, .bg-inverse .btn.btn-outline-primary.active:focus, .bg-inverse .btn-outline-primary.active.custom-file-control:focus::before, .bg-inverse .btn.btn-outline-primary.active.focus, .bg-inverse .btn-outline-primary.active.focus.custom-file-control::before, + .open > .bg-inverse .btn.btn-outline-primary.dropdown-toggle:hover, + .open > .bg-inverse .btn-outline-primary.dropdown-toggle.custom-file-control:hover::before, + .open > .bg-inverse .btn.btn-outline-primary.dropdown-toggle:focus, + .open > .bg-inverse .btn-outline-primary.dropdown-toggle.custom-file-control:focus::before, + .open > .bg-inverse .btn.btn-outline-primary.dropdown-toggle.focus, + .open > .bg-inverse .btn-outline-primary.dropdown-toggle.focus.custom-file-control::before { + color: #009688; + background-color: rgba(204, 204, 204, 0.25); + border-color: rgba(204, 204, 204, 0.25); } + .open > .bg-inverse .btn.btn-outline-primary.dropdown-toggle.bmd-btn-icon, .open > .bg-inverse .btn-outline-primary.dropdown-toggle.bmd-btn-icon.custom-file-control::before { + color: inherit; + background-color: inherit; } + .open > .bg-inverse .btn.btn-outline-primary.dropdown-toggle.bmd-btn-icon:hover, .open > .bg-inverse .btn-outline-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before { + background-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-outline-primary.disabled:focus, .bg-inverse .btn-outline-primary.disabled.custom-file-control:focus::before, .bg-inverse .btn.btn-outline-primary.disabled.focus, .bg-inverse .btn-outline-primary.disabled.focus.custom-file-control::before, .bg-inverse .btn.btn-outline-primary:disabled:focus, .bg-inverse .btn-outline-primary.custom-file-control:disabled:focus::before, .bg-inverse .btn.btn-outline-primary:disabled.focus, .bg-inverse .btn-outline-primary.custom-file-control:disabled.focus::before { + background-color: inherit; + border-color: #009688; } + .bg-inverse .btn.btn-outline-primary.disabled:hover, .bg-inverse .btn-outline-primary.disabled.custom-file-control:hover::before, .bg-inverse .btn.btn-outline-primary:disabled:hover, .bg-inverse .btn-outline-primary.custom-file-control:disabled:hover::before { + background-color: inherit; + border-color: #009688; } + .btn.btn-outline-primary.btn-link, .btn-outline-primary.btn-link.custom-file-control::before { + background-color: transparent; } + .btn.btn-outline-secondary, .btn-outline-secondary.custom-file-control::before { + color: rgba(0, 0, 0, 0.87); + background-color: inherit; + border-color: rgba(0, 0, 0, 0.87); } + .btn.btn-outline-secondary:hover, .btn-outline-secondary.custom-file-control:hover::before { + color: rgba(0, 0, 0, 0.87); + background-color: rgba(153, 153, 153, 0.2); + border-color: rgba(0, 0, 0, 0.87); } + .btn.btn-outline-secondary:focus, .btn-outline-secondary.custom-file-control:focus::before, .btn.btn-outline-secondary.focus, .btn-outline-secondary.focus.custom-file-control::before { + color: rgba(0, 0, 0, 0.87); + background-color: rgba(153, 153, 153, 0.2); + border-color: rgba(0, 0, 0, 0.87); } + .btn.btn-outline-secondary:active, .btn-outline-secondary.custom-file-control:active::before, .btn.btn-outline-secondary.active, .btn-outline-secondary.active.custom-file-control::before, + .open > .btn.btn-outline-secondary.dropdown-toggle, + .open > .btn-outline-secondary.dropdown-toggle.custom-file-control::before { + color: rgba(0, 0, 0, 0.87); + background-color: rgba(153, 153, 153, 0.2); + border-color: rgba(0, 0, 0, 0.87); } + .btn.btn-outline-secondary:active:hover, .btn-outline-secondary.custom-file-control:active:hover::before, .btn.btn-outline-secondary:active:focus, .btn-outline-secondary.custom-file-control:active:focus::before, .btn.btn-outline-secondary:active.focus, .btn-outline-secondary.custom-file-control:active.focus::before, .btn.btn-outline-secondary.active:hover, .btn-outline-secondary.active.custom-file-control:hover::before, .btn.btn-outline-secondary.active:focus, .btn-outline-secondary.active.custom-file-control:focus::before, .btn.btn-outline-secondary.active.focus, .btn-outline-secondary.active.focus.custom-file-control::before, + .open > .btn.btn-outline-secondary.dropdown-toggle:hover, + .open > .btn-outline-secondary.dropdown-toggle.custom-file-control:hover::before, + .open > .btn.btn-outline-secondary.dropdown-toggle:focus, + .open > .btn-outline-secondary.dropdown-toggle.custom-file-control:focus::before, + .open > .btn.btn-outline-secondary.dropdown-toggle.focus, + .open > .btn-outline-secondary.dropdown-toggle.focus.custom-file-control::before { + color: rgba(0, 0, 0, 0.87); + background-color: rgba(153, 153, 153, 0.4); + border-color: rgba(0, 0, 0, 0.87); } + .open > .btn.btn-outline-secondary.dropdown-toggle.bmd-btn-icon, .open > .btn-outline-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control::before { + color: inherit; + background-color: inherit; } + .open > .btn.btn-outline-secondary.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-outline-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before { + background-color: rgba(153, 153, 153, 0.2); } + .btn.btn-outline-secondary.disabled:focus, .btn-outline-secondary.disabled.custom-file-control:focus::before, .btn.btn-outline-secondary.disabled.focus, .btn-outline-secondary.disabled.focus.custom-file-control::before, .btn.btn-outline-secondary:disabled:focus, .btn-outline-secondary.custom-file-control:disabled:focus::before, .btn.btn-outline-secondary:disabled.focus, .btn-outline-secondary.custom-file-control:disabled.focus::before { + background-color: inherit; + border-color: rgba(0, 0, 0, 0.87); } + .btn.btn-outline-secondary.disabled:hover, .btn-outline-secondary.disabled.custom-file-control:hover::before, .btn.btn-outline-secondary:disabled:hover, .btn-outline-secondary.custom-file-control:disabled:hover::before { + background-color: inherit; + border-color: rgba(0, 0, 0, 0.87); } + .bg-inverse .btn.btn-outline-secondary, .bg-inverse .btn-outline-secondary.custom-file-control::before { + color: rgba(0, 0, 0, 0.87); + background-color: inherit; + border-color: rgba(0, 0, 0, 0.87); } + .bg-inverse .btn.btn-outline-secondary:hover, .bg-inverse .btn-outline-secondary.custom-file-control:hover::before { + color: rgba(0, 0, 0, 0.87); + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-outline-secondary:focus, .bg-inverse .btn-outline-secondary.custom-file-control:focus::before, .bg-inverse .btn.btn-outline-secondary.focus, .bg-inverse .btn-outline-secondary.focus.custom-file-control::before { + color: rgba(0, 0, 0, 0.87); + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-outline-secondary:active, .bg-inverse .btn-outline-secondary.custom-file-control:active::before, .bg-inverse .btn.btn-outline-secondary.active, .bg-inverse .btn-outline-secondary.active.custom-file-control::before, + .open > .bg-inverse .btn.btn-outline-secondary.dropdown-toggle, + .open > .bg-inverse .btn-outline-secondary.dropdown-toggle.custom-file-control::before { + color: rgba(0, 0, 0, 0.87); + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-outline-secondary:active:hover, .bg-inverse .btn-outline-secondary.custom-file-control:active:hover::before, .bg-inverse .btn.btn-outline-secondary:active:focus, .bg-inverse .btn-outline-secondary.custom-file-control:active:focus::before, .bg-inverse .btn.btn-outline-secondary:active.focus, .bg-inverse .btn-outline-secondary.custom-file-control:active.focus::before, .bg-inverse .btn.btn-outline-secondary.active:hover, .bg-inverse .btn-outline-secondary.active.custom-file-control:hover::before, .bg-inverse .btn.btn-outline-secondary.active:focus, .bg-inverse .btn-outline-secondary.active.custom-file-control:focus::before, .bg-inverse .btn.btn-outline-secondary.active.focus, .bg-inverse .btn-outline-secondary.active.focus.custom-file-control::before, + .open > .bg-inverse .btn.btn-outline-secondary.dropdown-toggle:hover, + .open > .bg-inverse .btn-outline-secondary.dropdown-toggle.custom-file-control:hover::before, + .open > .bg-inverse .btn.btn-outline-secondary.dropdown-toggle:focus, + .open > .bg-inverse .btn-outline-secondary.dropdown-toggle.custom-file-control:focus::before, + .open > .bg-inverse .btn.btn-outline-secondary.dropdown-toggle.focus, + .open > .bg-inverse .btn-outline-secondary.dropdown-toggle.focus.custom-file-control::before { + color: rgba(0, 0, 0, 0.87); + background-color: rgba(204, 204, 204, 0.25); + border-color: rgba(204, 204, 204, 0.25); } + .open > .bg-inverse .btn.btn-outline-secondary.dropdown-toggle.bmd-btn-icon, .open > .bg-inverse .btn-outline-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control::before { + color: inherit; + background-color: inherit; } + .open > .bg-inverse .btn.btn-outline-secondary.dropdown-toggle.bmd-btn-icon:hover, .open > .bg-inverse .btn-outline-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before { + background-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-outline-secondary.disabled:focus, .bg-inverse .btn-outline-secondary.disabled.custom-file-control:focus::before, .bg-inverse .btn.btn-outline-secondary.disabled.focus, .bg-inverse .btn-outline-secondary.disabled.focus.custom-file-control::before, .bg-inverse .btn.btn-outline-secondary:disabled:focus, .bg-inverse .btn-outline-secondary.custom-file-control:disabled:focus::before, .bg-inverse .btn.btn-outline-secondary:disabled.focus, .bg-inverse .btn-outline-secondary.custom-file-control:disabled.focus::before { + background-color: inherit; + border-color: rgba(0, 0, 0, 0.87); } + .bg-inverse .btn.btn-outline-secondary.disabled:hover, .bg-inverse .btn-outline-secondary.disabled.custom-file-control:hover::before, .bg-inverse .btn.btn-outline-secondary:disabled:hover, .bg-inverse .btn-outline-secondary.custom-file-control:disabled:hover::before { + background-color: inherit; + border-color: rgba(0, 0, 0, 0.87); } + .btn.btn-outline-secondary.btn-link, .btn-outline-secondary.btn-link.custom-file-control::before { + background-color: transparent; } + .btn.btn-outline-info, .btn-outline-info.custom-file-control::before { + color: #03a9f4; + background-color: inherit; + border-color: #03a9f4; } + .btn.btn-outline-info:hover, .btn-outline-info.custom-file-control:hover::before { + color: #03a9f4; + background-color: rgba(153, 153, 153, 0.2); + border-color: #03a9f4; } + .btn.btn-outline-info:focus, .btn-outline-info.custom-file-control:focus::before, .btn.btn-outline-info.focus, .btn-outline-info.focus.custom-file-control::before { + color: #03a9f4; + background-color: rgba(153, 153, 153, 0.2); + border-color: #03a9f4; } + .btn.btn-outline-info:active, .btn-outline-info.custom-file-control:active::before, .btn.btn-outline-info.active, .btn-outline-info.active.custom-file-control::before, + .open > .btn.btn-outline-info.dropdown-toggle, + .open > .btn-outline-info.dropdown-toggle.custom-file-control::before { + color: #03a9f4; + background-color: rgba(153, 153, 153, 0.2); + border-color: #03a9f4; } + .btn.btn-outline-info:active:hover, .btn-outline-info.custom-file-control:active:hover::before, .btn.btn-outline-info:active:focus, .btn-outline-info.custom-file-control:active:focus::before, .btn.btn-outline-info:active.focus, .btn-outline-info.custom-file-control:active.focus::before, .btn.btn-outline-info.active:hover, .btn-outline-info.active.custom-file-control:hover::before, .btn.btn-outline-info.active:focus, .btn-outline-info.active.custom-file-control:focus::before, .btn.btn-outline-info.active.focus, .btn-outline-info.active.focus.custom-file-control::before, + .open > .btn.btn-outline-info.dropdown-toggle:hover, + .open > .btn-outline-info.dropdown-toggle.custom-file-control:hover::before, + .open > .btn.btn-outline-info.dropdown-toggle:focus, + .open > .btn-outline-info.dropdown-toggle.custom-file-control:focus::before, + .open > .btn.btn-outline-info.dropdown-toggle.focus, + .open > .btn-outline-info.dropdown-toggle.focus.custom-file-control::before { + color: #03a9f4; + background-color: rgba(153, 153, 153, 0.4); + border-color: #03a9f4; } + .open > .btn.btn-outline-info.dropdown-toggle.bmd-btn-icon, .open > .btn-outline-info.dropdown-toggle.bmd-btn-icon.custom-file-control::before { + color: inherit; + background-color: inherit; } + .open > .btn.btn-outline-info.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-outline-info.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before { + background-color: rgba(153, 153, 153, 0.2); } + .btn.btn-outline-info.disabled:focus, .btn-outline-info.disabled.custom-file-control:focus::before, .btn.btn-outline-info.disabled.focus, .btn-outline-info.disabled.focus.custom-file-control::before, .btn.btn-outline-info:disabled:focus, .btn-outline-info.custom-file-control:disabled:focus::before, .btn.btn-outline-info:disabled.focus, .btn-outline-info.custom-file-control:disabled.focus::before { + background-color: inherit; + border-color: #03a9f4; } + .btn.btn-outline-info.disabled:hover, .btn-outline-info.disabled.custom-file-control:hover::before, .btn.btn-outline-info:disabled:hover, .btn-outline-info.custom-file-control:disabled:hover::before { + background-color: inherit; + border-color: #03a9f4; } + .bg-inverse .btn.btn-outline-info, .bg-inverse .btn-outline-info.custom-file-control::before { + color: #03a9f4; + background-color: inherit; + border-color: #03a9f4; } + .bg-inverse .btn.btn-outline-info:hover, .bg-inverse .btn-outline-info.custom-file-control:hover::before { + color: #03a9f4; + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-outline-info:focus, .bg-inverse .btn-outline-info.custom-file-control:focus::before, .bg-inverse .btn.btn-outline-info.focus, .bg-inverse .btn-outline-info.focus.custom-file-control::before { + color: #03a9f4; + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-outline-info:active, .bg-inverse .btn-outline-info.custom-file-control:active::before, .bg-inverse .btn.btn-outline-info.active, .bg-inverse .btn-outline-info.active.custom-file-control::before, + .open > .bg-inverse .btn.btn-outline-info.dropdown-toggle, + .open > .bg-inverse .btn-outline-info.dropdown-toggle.custom-file-control::before { + color: #03a9f4; + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-outline-info:active:hover, .bg-inverse .btn-outline-info.custom-file-control:active:hover::before, .bg-inverse .btn.btn-outline-info:active:focus, .bg-inverse .btn-outline-info.custom-file-control:active:focus::before, .bg-inverse .btn.btn-outline-info:active.focus, .bg-inverse .btn-outline-info.custom-file-control:active.focus::before, .bg-inverse .btn.btn-outline-info.active:hover, .bg-inverse .btn-outline-info.active.custom-file-control:hover::before, .bg-inverse .btn.btn-outline-info.active:focus, .bg-inverse .btn-outline-info.active.custom-file-control:focus::before, .bg-inverse .btn.btn-outline-info.active.focus, .bg-inverse .btn-outline-info.active.focus.custom-file-control::before, + .open > .bg-inverse .btn.btn-outline-info.dropdown-toggle:hover, + .open > .bg-inverse .btn-outline-info.dropdown-toggle.custom-file-control:hover::before, + .open > .bg-inverse .btn.btn-outline-info.dropdown-toggle:focus, + .open > .bg-inverse .btn-outline-info.dropdown-toggle.custom-file-control:focus::before, + .open > .bg-inverse .btn.btn-outline-info.dropdown-toggle.focus, + .open > .bg-inverse .btn-outline-info.dropdown-toggle.focus.custom-file-control::before { + color: #03a9f4; + background-color: rgba(204, 204, 204, 0.25); + border-color: rgba(204, 204, 204, 0.25); } + .open > .bg-inverse .btn.btn-outline-info.dropdown-toggle.bmd-btn-icon, .open > .bg-inverse .btn-outline-info.dropdown-toggle.bmd-btn-icon.custom-file-control::before { + color: inherit; + background-color: inherit; } + .open > .bg-inverse .btn.btn-outline-info.dropdown-toggle.bmd-btn-icon:hover, .open > .bg-inverse .btn-outline-info.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before { + background-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-outline-info.disabled:focus, .bg-inverse .btn-outline-info.disabled.custom-file-control:focus::before, .bg-inverse .btn.btn-outline-info.disabled.focus, .bg-inverse .btn-outline-info.disabled.focus.custom-file-control::before, .bg-inverse .btn.btn-outline-info:disabled:focus, .bg-inverse .btn-outline-info.custom-file-control:disabled:focus::before, .bg-inverse .btn.btn-outline-info:disabled.focus, .bg-inverse .btn-outline-info.custom-file-control:disabled.focus::before { + background-color: inherit; + border-color: #03a9f4; } + .bg-inverse .btn.btn-outline-info.disabled:hover, .bg-inverse .btn-outline-info.disabled.custom-file-control:hover::before, .bg-inverse .btn.btn-outline-info:disabled:hover, .bg-inverse .btn-outline-info.custom-file-control:disabled:hover::before { + background-color: inherit; + border-color: #03a9f4; } + .btn.btn-outline-info.btn-link, .btn-outline-info.btn-link.custom-file-control::before { + background-color: transparent; } + .btn.btn-outline-success, .btn-outline-success.custom-file-control::before { + color: #4caf50; + background-color: inherit; + border-color: #4caf50; } + .btn.btn-outline-success:hover, .btn-outline-success.custom-file-control:hover::before { + color: #4caf50; + background-color: rgba(153, 153, 153, 0.2); + border-color: #4caf50; } + .btn.btn-outline-success:focus, .btn-outline-success.custom-file-control:focus::before, .btn.btn-outline-success.focus, .btn-outline-success.focus.custom-file-control::before { + color: #4caf50; + background-color: rgba(153, 153, 153, 0.2); + border-color: #4caf50; } + .btn.btn-outline-success:active, .btn-outline-success.custom-file-control:active::before, .btn.btn-outline-success.active, .btn-outline-success.active.custom-file-control::before, + .open > .btn.btn-outline-success.dropdown-toggle, + .open > .btn-outline-success.dropdown-toggle.custom-file-control::before { + color: #4caf50; + background-color: rgba(153, 153, 153, 0.2); + border-color: #4caf50; } + .btn.btn-outline-success:active:hover, .btn-outline-success.custom-file-control:active:hover::before, .btn.btn-outline-success:active:focus, .btn-outline-success.custom-file-control:active:focus::before, .btn.btn-outline-success:active.focus, .btn-outline-success.custom-file-control:active.focus::before, .btn.btn-outline-success.active:hover, .btn-outline-success.active.custom-file-control:hover::before, .btn.btn-outline-success.active:focus, .btn-outline-success.active.custom-file-control:focus::before, .btn.btn-outline-success.active.focus, .btn-outline-success.active.focus.custom-file-control::before, + .open > .btn.btn-outline-success.dropdown-toggle:hover, + .open > .btn-outline-success.dropdown-toggle.custom-file-control:hover::before, + .open > .btn.btn-outline-success.dropdown-toggle:focus, + .open > .btn-outline-success.dropdown-toggle.custom-file-control:focus::before, + .open > .btn.btn-outline-success.dropdown-toggle.focus, + .open > .btn-outline-success.dropdown-toggle.focus.custom-file-control::before { + color: #4caf50; + background-color: rgba(153, 153, 153, 0.4); + border-color: #4caf50; } + .open > .btn.btn-outline-success.dropdown-toggle.bmd-btn-icon, .open > .btn-outline-success.dropdown-toggle.bmd-btn-icon.custom-file-control::before { + color: inherit; + background-color: inherit; } + .open > .btn.btn-outline-success.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-outline-success.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before { + background-color: rgba(153, 153, 153, 0.2); } + .btn.btn-outline-success.disabled:focus, .btn-outline-success.disabled.custom-file-control:focus::before, .btn.btn-outline-success.disabled.focus, .btn-outline-success.disabled.focus.custom-file-control::before, .btn.btn-outline-success:disabled:focus, .btn-outline-success.custom-file-control:disabled:focus::before, .btn.btn-outline-success:disabled.focus, .btn-outline-success.custom-file-control:disabled.focus::before { + background-color: inherit; + border-color: #4caf50; } + .btn.btn-outline-success.disabled:hover, .btn-outline-success.disabled.custom-file-control:hover::before, .btn.btn-outline-success:disabled:hover, .btn-outline-success.custom-file-control:disabled:hover::before { + background-color: inherit; + border-color: #4caf50; } + .bg-inverse .btn.btn-outline-success, .bg-inverse .btn-outline-success.custom-file-control::before { + color: #4caf50; + background-color: inherit; + border-color: #4caf50; } + .bg-inverse .btn.btn-outline-success:hover, .bg-inverse .btn-outline-success.custom-file-control:hover::before { + color: #4caf50; + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-outline-success:focus, .bg-inverse .btn-outline-success.custom-file-control:focus::before, .bg-inverse .btn.btn-outline-success.focus, .bg-inverse .btn-outline-success.focus.custom-file-control::before { + color: #4caf50; + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-outline-success:active, .bg-inverse .btn-outline-success.custom-file-control:active::before, .bg-inverse .btn.btn-outline-success.active, .bg-inverse .btn-outline-success.active.custom-file-control::before, + .open > .bg-inverse .btn.btn-outline-success.dropdown-toggle, + .open > .bg-inverse .btn-outline-success.dropdown-toggle.custom-file-control::before { + color: #4caf50; + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-outline-success:active:hover, .bg-inverse .btn-outline-success.custom-file-control:active:hover::before, .bg-inverse .btn.btn-outline-success:active:focus, .bg-inverse .btn-outline-success.custom-file-control:active:focus::before, .bg-inverse .btn.btn-outline-success:active.focus, .bg-inverse .btn-outline-success.custom-file-control:active.focus::before, .bg-inverse .btn.btn-outline-success.active:hover, .bg-inverse .btn-outline-success.active.custom-file-control:hover::before, .bg-inverse .btn.btn-outline-success.active:focus, .bg-inverse .btn-outline-success.active.custom-file-control:focus::before, .bg-inverse .btn.btn-outline-success.active.focus, .bg-inverse .btn-outline-success.active.focus.custom-file-control::before, + .open > .bg-inverse .btn.btn-outline-success.dropdown-toggle:hover, + .open > .bg-inverse .btn-outline-success.dropdown-toggle.custom-file-control:hover::before, + .open > .bg-inverse .btn.btn-outline-success.dropdown-toggle:focus, + .open > .bg-inverse .btn-outline-success.dropdown-toggle.custom-file-control:focus::before, + .open > .bg-inverse .btn.btn-outline-success.dropdown-toggle.focus, + .open > .bg-inverse .btn-outline-success.dropdown-toggle.focus.custom-file-control::before { + color: #4caf50; + background-color: rgba(204, 204, 204, 0.25); + border-color: rgba(204, 204, 204, 0.25); } + .open > .bg-inverse .btn.btn-outline-success.dropdown-toggle.bmd-btn-icon, .open > .bg-inverse .btn-outline-success.dropdown-toggle.bmd-btn-icon.custom-file-control::before { + color: inherit; + background-color: inherit; } + .open > .bg-inverse .btn.btn-outline-success.dropdown-toggle.bmd-btn-icon:hover, .open > .bg-inverse .btn-outline-success.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before { + background-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-outline-success.disabled:focus, .bg-inverse .btn-outline-success.disabled.custom-file-control:focus::before, .bg-inverse .btn.btn-outline-success.disabled.focus, .bg-inverse .btn-outline-success.disabled.focus.custom-file-control::before, .bg-inverse .btn.btn-outline-success:disabled:focus, .bg-inverse .btn-outline-success.custom-file-control:disabled:focus::before, .bg-inverse .btn.btn-outline-success:disabled.focus, .bg-inverse .btn-outline-success.custom-file-control:disabled.focus::before { + background-color: inherit; + border-color: #4caf50; } + .bg-inverse .btn.btn-outline-success.disabled:hover, .bg-inverse .btn-outline-success.disabled.custom-file-control:hover::before, .bg-inverse .btn.btn-outline-success:disabled:hover, .bg-inverse .btn-outline-success.custom-file-control:disabled:hover::before { + background-color: inherit; + border-color: #4caf50; } + .btn.btn-outline-success.btn-link, .btn-outline-success.btn-link.custom-file-control::before { + background-color: transparent; } + .btn.btn-outline-warning, .btn-outline-warning.custom-file-control::before { + color: #ff5722; + background-color: inherit; + border-color: #ff5722; } + .btn.btn-outline-warning:hover, .btn-outline-warning.custom-file-control:hover::before { + color: #ff5722; + background-color: rgba(153, 153, 153, 0.2); + border-color: #ff5722; } + .btn.btn-outline-warning:focus, .btn-outline-warning.custom-file-control:focus::before, .btn.btn-outline-warning.focus, .btn-outline-warning.focus.custom-file-control::before { + color: #ff5722; + background-color: rgba(153, 153, 153, 0.2); + border-color: #ff5722; } + .btn.btn-outline-warning:active, .btn-outline-warning.custom-file-control:active::before, .btn.btn-outline-warning.active, .btn-outline-warning.active.custom-file-control::before, + .open > .btn.btn-outline-warning.dropdown-toggle, + .open > .btn-outline-warning.dropdown-toggle.custom-file-control::before { + color: #ff5722; + background-color: rgba(153, 153, 153, 0.2); + border-color: #ff5722; } + .btn.btn-outline-warning:active:hover, .btn-outline-warning.custom-file-control:active:hover::before, .btn.btn-outline-warning:active:focus, .btn-outline-warning.custom-file-control:active:focus::before, .btn.btn-outline-warning:active.focus, .btn-outline-warning.custom-file-control:active.focus::before, .btn.btn-outline-warning.active:hover, .btn-outline-warning.active.custom-file-control:hover::before, .btn.btn-outline-warning.active:focus, .btn-outline-warning.active.custom-file-control:focus::before, .btn.btn-outline-warning.active.focus, .btn-outline-warning.active.focus.custom-file-control::before, + .open > .btn.btn-outline-warning.dropdown-toggle:hover, + .open > .btn-outline-warning.dropdown-toggle.custom-file-control:hover::before, + .open > .btn.btn-outline-warning.dropdown-toggle:focus, + .open > .btn-outline-warning.dropdown-toggle.custom-file-control:focus::before, + .open > .btn.btn-outline-warning.dropdown-toggle.focus, + .open > .btn-outline-warning.dropdown-toggle.focus.custom-file-control::before { + color: #ff5722; + background-color: rgba(153, 153, 153, 0.4); + border-color: #ff5722; } + .open > .btn.btn-outline-warning.dropdown-toggle.bmd-btn-icon, .open > .btn-outline-warning.dropdown-toggle.bmd-btn-icon.custom-file-control::before { + color: inherit; + background-color: inherit; } + .open > .btn.btn-outline-warning.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-outline-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before { + background-color: rgba(153, 153, 153, 0.2); } + .btn.btn-outline-warning.disabled:focus, .btn-outline-warning.disabled.custom-file-control:focus::before, .btn.btn-outline-warning.disabled.focus, .btn-outline-warning.disabled.focus.custom-file-control::before, .btn.btn-outline-warning:disabled:focus, .btn-outline-warning.custom-file-control:disabled:focus::before, .btn.btn-outline-warning:disabled.focus, .btn-outline-warning.custom-file-control:disabled.focus::before { + background-color: inherit; + border-color: #ff5722; } + .btn.btn-outline-warning.disabled:hover, .btn-outline-warning.disabled.custom-file-control:hover::before, .btn.btn-outline-warning:disabled:hover, .btn-outline-warning.custom-file-control:disabled:hover::before { + background-color: inherit; + border-color: #ff5722; } + .bg-inverse .btn.btn-outline-warning, .bg-inverse .btn-outline-warning.custom-file-control::before { + color: #ff5722; + background-color: inherit; + border-color: #ff5722; } + .bg-inverse .btn.btn-outline-warning:hover, .bg-inverse .btn-outline-warning.custom-file-control:hover::before { + color: #ff5722; + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-outline-warning:focus, .bg-inverse .btn-outline-warning.custom-file-control:focus::before, .bg-inverse .btn.btn-outline-warning.focus, .bg-inverse .btn-outline-warning.focus.custom-file-control::before { + color: #ff5722; + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-outline-warning:active, .bg-inverse .btn-outline-warning.custom-file-control:active::before, .bg-inverse .btn.btn-outline-warning.active, .bg-inverse .btn-outline-warning.active.custom-file-control::before, + .open > .bg-inverse .btn.btn-outline-warning.dropdown-toggle, + .open > .bg-inverse .btn-outline-warning.dropdown-toggle.custom-file-control::before { + color: #ff5722; + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-outline-warning:active:hover, .bg-inverse .btn-outline-warning.custom-file-control:active:hover::before, .bg-inverse .btn.btn-outline-warning:active:focus, .bg-inverse .btn-outline-warning.custom-file-control:active:focus::before, .bg-inverse .btn.btn-outline-warning:active.focus, .bg-inverse .btn-outline-warning.custom-file-control:active.focus::before, .bg-inverse .btn.btn-outline-warning.active:hover, .bg-inverse .btn-outline-warning.active.custom-file-control:hover::before, .bg-inverse .btn.btn-outline-warning.active:focus, .bg-inverse .btn-outline-warning.active.custom-file-control:focus::before, .bg-inverse .btn.btn-outline-warning.active.focus, .bg-inverse .btn-outline-warning.active.focus.custom-file-control::before, + .open > .bg-inverse .btn.btn-outline-warning.dropdown-toggle:hover, + .open > .bg-inverse .btn-outline-warning.dropdown-toggle.custom-file-control:hover::before, + .open > .bg-inverse .btn.btn-outline-warning.dropdown-toggle:focus, + .open > .bg-inverse .btn-outline-warning.dropdown-toggle.custom-file-control:focus::before, + .open > .bg-inverse .btn.btn-outline-warning.dropdown-toggle.focus, + .open > .bg-inverse .btn-outline-warning.dropdown-toggle.focus.custom-file-control::before { + color: #ff5722; + background-color: rgba(204, 204, 204, 0.25); + border-color: rgba(204, 204, 204, 0.25); } + .open > .bg-inverse .btn.btn-outline-warning.dropdown-toggle.bmd-btn-icon, .open > .bg-inverse .btn-outline-warning.dropdown-toggle.bmd-btn-icon.custom-file-control::before { + color: inherit; + background-color: inherit; } + .open > .bg-inverse .btn.btn-outline-warning.dropdown-toggle.bmd-btn-icon:hover, .open > .bg-inverse .btn-outline-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before { + background-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-outline-warning.disabled:focus, .bg-inverse .btn-outline-warning.disabled.custom-file-control:focus::before, .bg-inverse .btn.btn-outline-warning.disabled.focus, .bg-inverse .btn-outline-warning.disabled.focus.custom-file-control::before, .bg-inverse .btn.btn-outline-warning:disabled:focus, .bg-inverse .btn-outline-warning.custom-file-control:disabled:focus::before, .bg-inverse .btn.btn-outline-warning:disabled.focus, .bg-inverse .btn-outline-warning.custom-file-control:disabled.focus::before { + background-color: inherit; + border-color: #ff5722; } + .bg-inverse .btn.btn-outline-warning.disabled:hover, .bg-inverse .btn-outline-warning.disabled.custom-file-control:hover::before, .bg-inverse .btn.btn-outline-warning:disabled:hover, .bg-inverse .btn-outline-warning.custom-file-control:disabled:hover::before { + background-color: inherit; + border-color: #ff5722; } + .btn.btn-outline-warning.btn-link, .btn-outline-warning.btn-link.custom-file-control::before { + background-color: transparent; } + .btn.btn-outline-danger, .btn-outline-danger.custom-file-control::before { + color: #f44336; + background-color: inherit; + border-color: #f44336; } + .btn.btn-outline-danger:hover, .btn-outline-danger.custom-file-control:hover::before { + color: #f44336; + background-color: rgba(153, 153, 153, 0.2); + border-color: #f44336; } + .btn.btn-outline-danger:focus, .btn-outline-danger.custom-file-control:focus::before, .btn.btn-outline-danger.focus, .btn-outline-danger.focus.custom-file-control::before { + color: #f44336; + background-color: rgba(153, 153, 153, 0.2); + border-color: #f44336; } + .btn.btn-outline-danger:active, .btn-outline-danger.custom-file-control:active::before, .btn.btn-outline-danger.active, .btn-outline-danger.active.custom-file-control::before, + .open > .btn.btn-outline-danger.dropdown-toggle, + .open > .btn-outline-danger.dropdown-toggle.custom-file-control::before { + color: #f44336; + background-color: rgba(153, 153, 153, 0.2); + border-color: #f44336; } + .btn.btn-outline-danger:active:hover, .btn-outline-danger.custom-file-control:active:hover::before, .btn.btn-outline-danger:active:focus, .btn-outline-danger.custom-file-control:active:focus::before, .btn.btn-outline-danger:active.focus, .btn-outline-danger.custom-file-control:active.focus::before, .btn.btn-outline-danger.active:hover, .btn-outline-danger.active.custom-file-control:hover::before, .btn.btn-outline-danger.active:focus, .btn-outline-danger.active.custom-file-control:focus::before, .btn.btn-outline-danger.active.focus, .btn-outline-danger.active.focus.custom-file-control::before, + .open > .btn.btn-outline-danger.dropdown-toggle:hover, + .open > .btn-outline-danger.dropdown-toggle.custom-file-control:hover::before, + .open > .btn.btn-outline-danger.dropdown-toggle:focus, + .open > .btn-outline-danger.dropdown-toggle.custom-file-control:focus::before, + .open > .btn.btn-outline-danger.dropdown-toggle.focus, + .open > .btn-outline-danger.dropdown-toggle.focus.custom-file-control::before { + color: #f44336; + background-color: rgba(153, 153, 153, 0.4); + border-color: #f44336; } + .open > .btn.btn-outline-danger.dropdown-toggle.bmd-btn-icon, .open > .btn-outline-danger.dropdown-toggle.bmd-btn-icon.custom-file-control::before { + color: inherit; + background-color: inherit; } + .open > .btn.btn-outline-danger.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-outline-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before { + background-color: rgba(153, 153, 153, 0.2); } + .btn.btn-outline-danger.disabled:focus, .btn-outline-danger.disabled.custom-file-control:focus::before, .btn.btn-outline-danger.disabled.focus, .btn-outline-danger.disabled.focus.custom-file-control::before, .btn.btn-outline-danger:disabled:focus, .btn-outline-danger.custom-file-control:disabled:focus::before, .btn.btn-outline-danger:disabled.focus, .btn-outline-danger.custom-file-control:disabled.focus::before { + background-color: inherit; + border-color: #f44336; } + .btn.btn-outline-danger.disabled:hover, .btn-outline-danger.disabled.custom-file-control:hover::before, .btn.btn-outline-danger:disabled:hover, .btn-outline-danger.custom-file-control:disabled:hover::before { + background-color: inherit; + border-color: #f44336; } + .bg-inverse .btn.btn-outline-danger, .bg-inverse .btn-outline-danger.custom-file-control::before { + color: #f44336; + background-color: inherit; + border-color: #f44336; } + .bg-inverse .btn.btn-outline-danger:hover, .bg-inverse .btn-outline-danger.custom-file-control:hover::before { + color: #f44336; + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-outline-danger:focus, .bg-inverse .btn-outline-danger.custom-file-control:focus::before, .bg-inverse .btn.btn-outline-danger.focus, .bg-inverse .btn-outline-danger.focus.custom-file-control::before { + color: #f44336; + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-outline-danger:active, .bg-inverse .btn-outline-danger.custom-file-control:active::before, .bg-inverse .btn.btn-outline-danger.active, .bg-inverse .btn-outline-danger.active.custom-file-control::before, + .open > .bg-inverse .btn.btn-outline-danger.dropdown-toggle, + .open > .bg-inverse .btn-outline-danger.dropdown-toggle.custom-file-control::before { + color: #f44336; + background-color: rgba(204, 204, 204, 0.15); + border-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-outline-danger:active:hover, .bg-inverse .btn-outline-danger.custom-file-control:active:hover::before, .bg-inverse .btn.btn-outline-danger:active:focus, .bg-inverse .btn-outline-danger.custom-file-control:active:focus::before, .bg-inverse .btn.btn-outline-danger:active.focus, .bg-inverse .btn-outline-danger.custom-file-control:active.focus::before, .bg-inverse .btn.btn-outline-danger.active:hover, .bg-inverse .btn-outline-danger.active.custom-file-control:hover::before, .bg-inverse .btn.btn-outline-danger.active:focus, .bg-inverse .btn-outline-danger.active.custom-file-control:focus::before, .bg-inverse .btn.btn-outline-danger.active.focus, .bg-inverse .btn-outline-danger.active.focus.custom-file-control::before, + .open > .bg-inverse .btn.btn-outline-danger.dropdown-toggle:hover, + .open > .bg-inverse .btn-outline-danger.dropdown-toggle.custom-file-control:hover::before, + .open > .bg-inverse .btn.btn-outline-danger.dropdown-toggle:focus, + .open > .bg-inverse .btn-outline-danger.dropdown-toggle.custom-file-control:focus::before, + .open > .bg-inverse .btn.btn-outline-danger.dropdown-toggle.focus, + .open > .bg-inverse .btn-outline-danger.dropdown-toggle.focus.custom-file-control::before { + color: #f44336; + background-color: rgba(204, 204, 204, 0.25); + border-color: rgba(204, 204, 204, 0.25); } + .open > .bg-inverse .btn.btn-outline-danger.dropdown-toggle.bmd-btn-icon, .open > .bg-inverse .btn-outline-danger.dropdown-toggle.bmd-btn-icon.custom-file-control::before { + color: inherit; + background-color: inherit; } + .open > .bg-inverse .btn.btn-outline-danger.dropdown-toggle.bmd-btn-icon:hover, .open > .bg-inverse .btn-outline-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before { + background-color: rgba(204, 204, 204, 0.15); } + .bg-inverse .btn.btn-outline-danger.disabled:focus, .bg-inverse .btn-outline-danger.disabled.custom-file-control:focus::before, .bg-inverse .btn.btn-outline-danger.disabled.focus, .bg-inverse .btn-outline-danger.disabled.focus.custom-file-control::before, .bg-inverse .btn.btn-outline-danger:disabled:focus, .bg-inverse .btn-outline-danger.custom-file-control:disabled:focus::before, .bg-inverse .btn.btn-outline-danger:disabled.focus, .bg-inverse .btn-outline-danger.custom-file-control:disabled.focus::before { + background-color: inherit; + border-color: #f44336; } + .bg-inverse .btn.btn-outline-danger.disabled:hover, .bg-inverse .btn-outline-danger.disabled.custom-file-control:hover::before, .bg-inverse .btn.btn-outline-danger:disabled:hover, .bg-inverse .btn-outline-danger.custom-file-control:disabled:hover::before { + background-color: inherit; + border-color: #f44336; } + .btn.btn-outline-danger.btn-link, .btn-outline-danger.btn-link.custom-file-control::before { + background-color: transparent; } + .btn.bmd-btn-fab, .bmd-btn-fab.custom-file-control::before, .btn.bmd-btn-icon, .bmd-btn-icon.custom-file-control::before { + overflow: hidden; + font-size: 1.5rem; + line-height: normal; } + .btn-group-lg .btn.bmd-btn-fab, .btn-group-lg .bmd-btn-fab.custom-file-control::before, + .btn-group-sm .btn.bmd-btn-fab, + .btn-group-sm .bmd-btn-fab.custom-file-control::before, .btn.bmd-btn-fab, .bmd-btn-fab.custom-file-control::before, .btn-group-lg .btn.bmd-btn-icon, .btn-group-lg .bmd-btn-icon.custom-file-control::before, + .btn-group-sm .btn.bmd-btn-icon, + .btn-group-sm .bmd-btn-icon.custom-file-control::before, .btn.bmd-btn-icon, .bmd-btn-icon.custom-file-control::before { + padding: 0; + border-radius: 50%; } + .btn.bmd-btn-fab .material-icons, .bmd-btn-fab.custom-file-control::before .material-icons, .btn.bmd-btn-icon .material-icons, .bmd-btn-icon.custom-file-control::before .material-icons { + position: absolute; + top: 50%; + left: 50%; + width: 1.5rem; + line-height: 1.5rem; + -webkit-transform: translate(-0.75rem, -0.75rem); + -ms-transform: translate(-0.75rem, -0.75rem); + -o-transform: translate(-0.75rem, -0.75rem); + transform: translate(-0.75rem, -0.75rem); } + .btn.bmd-btn-fab, .bmd-btn-fab.custom-file-control::before { + width: 3.5rem; + min-width: 3.5rem; + height: 3.5rem; + -webkit-box-shadow: 0 1px 1.5px 0 rgba(0, 0, 0, 0.12), 0 1px 1px 0 rgba(0, 0, 0, 0.26); + box-shadow: 0 1px 1.5px 0 rgba(0, 0, 0, 0.12), 0 1px 1px 0 rgba(0, 0, 0, 0.26); } + .btn.bmd-btn-fab .ripple-container, .bmd-btn-fab.custom-file-control::before .ripple-container { + border-radius: 50%; } + .btn.bmd-btn-fab.bmd-btn-fab-sm, .bmd-btn-fab.bmd-btn-fab-sm.custom-file-control::before, + .btn-group-sm .btn.bmd-btn-fab, + .btn-group-sm .bmd-btn-fab.custom-file-control::before { + width: 2.5rem; + min-width: 2.5rem; + height: 2.5rem; } + .btn.bmd-btn-icon, .bmd-btn-icon.custom-file-control::before { + width: 2rem; + min-width: 2rem; + height: 2rem; + margin: 0; + color: inherit; } + .btn.bmd-btn-icon.bmd-btn-icon-sm, .bmd-btn-icon.bmd-btn-icon-sm.custom-file-control::before, + .btn-group-sm .btn.bmd-btn-icon, + .btn-group-sm .bmd-btn-icon.custom-file-control::before { + width: 1.5rem; + min-width: 1.5rem; + height: 1.5rem; + font-size: 1.125rem; } + .btn.bmd-btn-icon.bmd-btn-icon-sm .material-icons, .bmd-btn-icon.bmd-btn-icon-sm.custom-file-control::before .material-icons, + .btn-group-sm .btn.bmd-btn-icon .material-icons, + .btn-group-sm .bmd-btn-icon.custom-file-control::before .material-icons { + width: 1.125rem; + font-size: 1.125rem; + line-height: 1; + -webkit-transform: translate(-0.5625rem, -0.5625rem); + -ms-transform: translate(-0.5625rem, -0.5625rem); + -o-transform: translate(-0.5625rem, -0.5625rem); + transform: translate(-0.5625rem, -0.5625rem); } + .btn .material-icons, .custom-file-control::before .material-icons { + position: relative; + top: .25em; + margin-top: -1em; + margin-bottom: -1em; + font-size: 1.5em; } + .btn.btn-lg, .btn-group-lg > .btn, .btn-group-lg > .custom-file-control::before, .btn-lg.custom-file-control::before, + .btn-group-lg .btn, + .btn-group-lg .custom-file-control::before { + padding: 0.75rem 1.5rem; + font-size: 1.25rem; + border-radius: 0.3rem; } + .btn.btn-sm, .btn-group-sm > .btn, .btn-group-sm > .custom-file-control::before, .btn-sm.custom-file-control::before, + .btn-group-sm .btn, + .btn-group-sm .custom-file-control::before { + padding: 0.40625rem 0.5rem; + font-size: 0.8125rem; + border-radius: 0.0625rem; + font-size: 0.8125rem; } + +fieldset[disabled][disabled] .btn, fieldset[disabled][disabled] .custom-file-control::before, .btn.disabled, .disabled.custom-file-control::before, .btn:disabled, .custom-file-control:disabled::before, .btn[disabled], [disabled].custom-file-control::before, fieldset[disabled][disabled] +.input-group-btn .btn, fieldset[disabled][disabled] +.input-group-btn .custom-file-control::before, +.input-group-btn .btn.disabled, +.input-group-btn .disabled.custom-file-control::before, +.input-group-btn .btn:disabled, +.input-group-btn .custom-file-control:disabled::before, +.input-group-btn .btn[disabled], +.input-group-btn [disabled].custom-file-control::before, fieldset[disabled][disabled] +.btn-group, +.btn-group.disabled, +.btn-group:disabled, +.btn-group[disabled], fieldset[disabled][disabled] +.btn-group-vertical, +.btn-group-vertical.disabled, +.btn-group-vertical:disabled, +.btn-group-vertical[disabled] { + color: rgba(0, 0, 0, 0.26); } + .bg-inverse fieldset[disabled][disabled] .btn, .bg-inverse fieldset[disabled][disabled] .custom-file-control::before, .bg-inverse .btn.disabled, .bg-inverse .disabled.custom-file-control::before, .bg-inverse .btn:disabled, .bg-inverse .custom-file-control:disabled::before, .bg-inverse .btn[disabled], .bg-inverse [disabled].custom-file-control::before, .bg-inverse fieldset[disabled][disabled] + .input-group-btn .btn, .bg-inverse fieldset[disabled][disabled] + .input-group-btn .custom-file-control::before, .bg-inverse + .input-group-btn .btn.disabled, .bg-inverse + .input-group-btn .disabled.custom-file-control::before, .bg-inverse + .input-group-btn .btn:disabled, .bg-inverse + .input-group-btn .custom-file-control:disabled::before, .bg-inverse + .input-group-btn .btn[disabled], .bg-inverse + .input-group-btn [disabled].custom-file-control::before, .bg-inverse fieldset[disabled][disabled] + .btn-group, .bg-inverse + .btn-group.disabled, .bg-inverse + .btn-group:disabled, .bg-inverse + .btn-group[disabled], .bg-inverse fieldset[disabled][disabled] + .btn-group-vertical, .bg-inverse + .btn-group-vertical.disabled, .bg-inverse + .btn-group-vertical:disabled, .bg-inverse + .btn-group-vertical[disabled] { + color: rgba(255, 255, 255, 0.3); } + fieldset[disabled][disabled] .btn, fieldset[disabled][disabled] .custom-file-control::before, fieldset[disabled][disabled] .btn:hover, fieldset[disabled][disabled] .custom-file-control:hover::before, fieldset[disabled][disabled] .btn:focus, fieldset[disabled][disabled] .custom-file-control:focus::before, .btn.disabled, .disabled.custom-file-control::before, .btn.disabled:hover, .disabled.custom-file-control:hover::before, .btn.disabled:focus, .disabled.custom-file-control:focus::before, .btn:disabled, .custom-file-control:disabled::before, .btn:disabled:hover, .custom-file-control:disabled:hover::before, .btn:disabled:focus, .custom-file-control:disabled:focus::before, .btn[disabled], [disabled].custom-file-control::before, .btn[disabled]:hover, [disabled].custom-file-control:hover::before, .btn[disabled]:focus, [disabled].custom-file-control:focus::before, fieldset[disabled][disabled] + .input-group-btn .btn, fieldset[disabled][disabled] + .input-group-btn .custom-file-control::before, fieldset[disabled][disabled] + .input-group-btn .btn:hover, fieldset[disabled][disabled] + .input-group-btn .custom-file-control:hover::before, fieldset[disabled][disabled] + .input-group-btn .btn:focus, fieldset[disabled][disabled] + .input-group-btn .custom-file-control:focus::before, + .input-group-btn .btn.disabled, + .input-group-btn .disabled.custom-file-control::before, + .input-group-btn .btn.disabled:hover, + .input-group-btn .disabled.custom-file-control:hover::before, + .input-group-btn .btn.disabled:focus, + .input-group-btn .disabled.custom-file-control:focus::before, + .input-group-btn .btn:disabled, + .input-group-btn .custom-file-control:disabled::before, + .input-group-btn .btn:disabled:hover, + .input-group-btn .custom-file-control:disabled:hover::before, + .input-group-btn .btn:disabled:focus, + .input-group-btn .custom-file-control:disabled:focus::before, + .input-group-btn .btn[disabled], + .input-group-btn [disabled].custom-file-control::before, + .input-group-btn .btn[disabled]:hover, + .input-group-btn [disabled].custom-file-control:hover::before, + .input-group-btn .btn[disabled]:focus, + .input-group-btn [disabled].custom-file-control:focus::before, fieldset[disabled][disabled] + .btn-group, fieldset[disabled][disabled] + .btn-group:hover, fieldset[disabled][disabled] + .btn-group:focus, + .btn-group.disabled, + .btn-group.disabled:hover, + .btn-group.disabled:focus, + .btn-group:disabled, + .btn-group:disabled:hover, + .btn-group:disabled:focus, + .btn-group[disabled], + .btn-group[disabled]:hover, + .btn-group[disabled]:focus, fieldset[disabled][disabled] + .btn-group-vertical, fieldset[disabled][disabled] + .btn-group-vertical:hover, fieldset[disabled][disabled] + .btn-group-vertical:focus, + .btn-group-vertical.disabled, + .btn-group-vertical.disabled:hover, + .btn-group-vertical.disabled:focus, + .btn-group-vertical:disabled, + .btn-group-vertical:disabled:hover, + .btn-group-vertical:disabled:focus, + .btn-group-vertical[disabled], + .btn-group-vertical[disabled]:hover, + .btn-group-vertical[disabled]:focus { + background: transparent; } + +.btn-group, +.btn-group-vertical { + position: relative; + margin: 10px 1px; } + .btn-group .dropdown-menu, + .btn-group-vertical .dropdown-menu { + border-radius: 0 0 0.125rem 0.125rem; } + .btn-group.btn-group-raised, + .btn-group-vertical.btn-group-raised { + -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); } + .btn-group .btn + .btn, .btn-group .custom-file-control::before + .btn, .btn-group .btn + .custom-file-control::before, .btn-group .custom-file-control::before + .custom-file-control::before, + .btn-group .btn, + .btn-group .custom-file-control::before, + .btn-group .btn:active, + .btn-group .custom-file-control:active::before, + .btn-group .btn-group, + .btn-group-vertical .btn + .btn, + .btn-group-vertical .custom-file-control::before + .btn, + .btn-group-vertical .btn + .custom-file-control::before, + .btn-group-vertical .custom-file-control::before + .custom-file-control::before, + .btn-group-vertical .btn, + .btn-group-vertical .custom-file-control::before, + .btn-group-vertical .btn:active, + .btn-group-vertical .custom-file-control:active::before, + .btn-group-vertical .btn-group { + margin: 0; } + .btn-group > .btn-group, + .btn-group-vertical > .btn-group { + margin: 0; } + +.checkbox label, +label.checkbox-inline { + padding-left: 1.5625rem; + cursor: pointer; } + .checkbox label .checkbox-decorator, + label.checkbox-inline .checkbox-decorator { + position: absolute; + top: 0.125rem; + left: 0; + vertical-align: middle; } + .checkbox label .checkbox-decorator::before, + label.checkbox-inline .checkbox-decorator::before { + position: absolute; + left: 0; + z-index: 1; + display: block; + width: 1.25rem; + height: 1.25rem; + margin: 0; + content: ""; + background-color: rgba(0, 0, 0, 0.84); + border-radius: 100%; + opacity: 0; + -webkit-transform: scale3d(2.3, 2.3, 1); + transform: scale3d(2.3, 2.3, 1); } + .checkbox label .checkbox-decorator .check, + label.checkbox-inline .checkbox-decorator .check { + position: relative; + z-index: 1; + display: inline-block; + width: 1.25rem; + height: 1.25rem; + overflow: hidden; + border: 0.125rem solid rgba(0, 0, 0, 0.54); + border-radius: 0.125rem; } + .checkbox label .checkbox-decorator .check::before, + label.checkbox-inline .checkbox-decorator .check::before { + position: absolute; + display: block; + width: 0; + height: 0; + margin-top: -4px; + margin-left: 6px; + content: ""; + -webkit-box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0 inset; + box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0 inset; + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); + -webkit-animation: checkbox-off; + -o-animation: checkbox-off; + animation: checkbox-off; } + .is-focused .checkbox label .checkbox-decorator .check::before, .is-focused + label.checkbox-inline .checkbox-decorator .check::before { + -webkit-animation: checkbox-off 0.3s forwards; + -o-animation: checkbox-off 0.3s forwards; + animation: checkbox-off 0.3s forwards; } + .checkbox label input[type=checkbox], + label.checkbox-inline input[type=checkbox] { + position: absolute; + left: 0; + z-index: -1; + width: 0; + height: 0; + margin: 0; + overflow: hidden; + pointer-events: none; + opacity: 0; } + .checkbox label input[type=checkbox]:focus + .checkbox-decorator .check::after, + label.checkbox-inline input[type=checkbox]:focus + .checkbox-decorator .check::after { + opacity: 0.2; } + .checkbox label input[type=checkbox]:checked + .checkbox-decorator .check, + label.checkbox-inline input[type=checkbox]:checked + .checkbox-decorator .check { + color: #009688; + border-color: #009688; } + .checkbox label input[type=checkbox]:checked + .checkbox-decorator .check::before, + label.checkbox-inline input[type=checkbox]:checked + .checkbox-decorator .check::before { + color: #009688; + -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 032px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px; + box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 032px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px; + -webkit-animation: checkbox-on 0.3s forwards; + -o-animation: checkbox-on 0.3s forwards; + animation: checkbox-on 0.3s forwards; } + .checkbox label input[type=checkbox]:checked + .checkbox-decorator::before, + label.checkbox-inline input[type=checkbox]:checked + .checkbox-decorator::before { + -webkit-animation: rippleOn; + -o-animation: rippleOn; + animation: rippleOn; } + .is-focused .checkbox label input[type=checkbox]:checked + .checkbox-decorator::before, .is-focused + label.checkbox-inline input[type=checkbox]:checked + .checkbox-decorator::before { + -webkit-animation: rippleOn 500ms; + -o-animation: rippleOn 500ms; + animation: rippleOn 500ms; } + .checkbox label input[type=checkbox]:checked + .checkbox-decorator .check::after, + label.checkbox-inline input[type=checkbox]:checked + .checkbox-decorator .check::after { + -webkit-animation: rippleOn 500ms forwards; + -o-animation: rippleOn 500ms forwards; + animation: rippleOn 500ms forwards; } + .checkbox label input[type=checkbox]:not(:checked) + .checkbox-decorator::before, + label.checkbox-inline input[type=checkbox]:not(:checked) + .checkbox-decorator::before { + -webkit-animation: rippleOff; + -o-animation: rippleOff; + animation: rippleOff; } + .is-focused .checkbox label input[type=checkbox]:not(:checked) + .checkbox-decorator::before, .is-focused + label.checkbox-inline input[type=checkbox]:not(:checked) + .checkbox-decorator::before { + -webkit-animation: rippleOff 500ms; + -o-animation: rippleOff 500ms; + animation: rippleOff 500ms; } + .checkbox label input[type=checkbox]:not(:checked) + .checkbox-decorator .check::after, + label.checkbox-inline input[type=checkbox]:not(:checked) + .checkbox-decorator .check::after { + -webkit-animation: rippleOff 500ms forwards; + -o-animation: rippleOff 500ms forwards; + animation: rippleOff 500ms forwards; } + .checkbox label input[type=checkbox][disabled] + .checkbox-decorator .check::after, + .checkbox label input[type=checkbox][disabled] .check::after, + fieldset[disabled] .checkbox label input[type=checkbox] + .checkbox-decorator .check::after, + fieldset[disabled] .checkbox label input[type=checkbox] .check::after, + label.checkbox-inline input[type=checkbox][disabled] + .checkbox-decorator .check::after, + label.checkbox-inline input[type=checkbox][disabled] .check::after, + fieldset[disabled] + label.checkbox-inline input[type=checkbox] + .checkbox-decorator .check::after, + fieldset[disabled] + label.checkbox-inline input[type=checkbox] .check::after { + background-color: rgba(0, 0, 0, 0.87); + -webkit-transform: rotate(-45deg); + -ms-transform: rotate(-45deg); + -o-transform: rotate(-45deg); + transform: rotate(-45deg); } + .checkbox label input[type=checkbox][disabled] + .checkbox-decorator .check, + .checkbox label input[type=checkbox][disabled] .check, + fieldset[disabled] .checkbox label input[type=checkbox] + .checkbox-decorator .check, + fieldset[disabled] .checkbox label input[type=checkbox] .check, + label.checkbox-inline input[type=checkbox][disabled] + .checkbox-decorator .check, + label.checkbox-inline input[type=checkbox][disabled] .check, + fieldset[disabled] + label.checkbox-inline input[type=checkbox] + .checkbox-decorator .check, + fieldset[disabled] + label.checkbox-inline input[type=checkbox] .check { + border-color: rgba(0, 0, 0, 0.26); } + +@-webkit-keyframes checkbox-on { + 0% { + -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px; + box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px; } + 50% { + -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px 2px 0 11px; + box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px 2px 0 11px; } + 100% { + -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px; + box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px; } } + +@-o-keyframes checkbox-on { + 0% { + box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px; } + 50% { + box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px 2px 0 11px; } + 100% { + box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px; } } + +@keyframes checkbox-on { + 0% { + -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px; + box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px; } + 50% { + -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px 2px 0 11px; + box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px 2px 0 11px; } + 100% { + -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px; + box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px; } } + +@-webkit-keyframes checkbox-off { + 0% { + -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset; + box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset; } + 25% { + -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset; + box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset; } + 50% { + width: 0; + height: 0; + margin-top: -4px; + margin-left: 6px; + -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px, 0 0 0 0 inset; + box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px, 0 0 0 0 inset; + -webkit-transform: rotate(45deg); + transform: rotate(45deg); } + 51% { + width: 20px; + height: 20px; + margin-top: -2px; + margin-left: -2px; + -webkit-box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 10px inset; + box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 10px inset; + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + width: 20px; + height: 20px; + margin-top: -2px; + margin-left: -2px; + -webkit-box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0 inset; + box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0 inset; + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } } + +@-o-keyframes checkbox-off { + 0% { + box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset; } + 25% { + box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset; } + 50% { + width: 0; + height: 0; + margin-top: -4px; + margin-left: 6px; + box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px, 0 0 0 0 inset; + -o-transform: rotate(45deg); + transform: rotate(45deg); } + 51% { + width: 20px; + height: 20px; + margin-top: -2px; + margin-left: -2px; + box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 10px inset; + -o-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + width: 20px; + height: 20px; + margin-top: -2px; + margin-left: -2px; + box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0 inset; + -o-transform: rotate(0deg); + transform: rotate(0deg); } } + +@keyframes checkbox-off { + 0% { + -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset; + box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset; } + 25% { + -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset; + box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset; } + 50% { + width: 0; + height: 0; + margin-top: -4px; + margin-left: 6px; + -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px, 0 0 0 0 inset; + box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px, 0 0 0 0 inset; + -webkit-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); } + 51% { + width: 20px; + height: 20px; + margin-top: -2px; + margin-left: -2px; + -webkit-box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 10px inset; + box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 10px inset; + -webkit-transform: rotate(0deg); + -o-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + width: 20px; + height: 20px; + margin-top: -2px; + margin-left: -2px; + -webkit-box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0 inset; + box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0 inset; + -webkit-transform: rotate(0deg); + -o-transform: rotate(0deg); + transform: rotate(0deg); } } + +@-webkit-keyframes rippleOn { + 0% { + opacity: 0; } + 50% { + opacity: 0.2; } + 100% { + opacity: 0; } } + +@-o-keyframes rippleOn { + 0% { + opacity: 0; } + 50% { + opacity: 0.2; } + 100% { + opacity: 0; } } + +@keyframes rippleOn { + 0% { + opacity: 0; } + 50% { + opacity: 0.2; } + 100% { + opacity: 0; } } + +@-webkit-keyframes rippleOff { + 0% { + opacity: 0; } + 50% { + opacity: 0.2; } + 100% { + opacity: 0; } } + +@-o-keyframes rippleOff { + 0% { + opacity: 0; } + 50% { + opacity: 0.2; } + 100% { + opacity: 0; } } + +@keyframes rippleOff { + 0% { + opacity: 0; } + 50% { + opacity: 0.2; } + 100% { + opacity: 0; } } + +.custom-file-control [class^='bmd-label'], +.custom-file-control [class*=' bmd-label'] { + color: rgba(0, 0, 0, 0.26); } + +.custom-file-control .form-control, .custom-file-control .custom-file-control, +.is-focused .custom-file-control .form-control, +.is-focused .custom-file-control .custom-file-control { + background-image: -webkit-linear-gradient(bottom, #009688 2px, rgba(0, 150, 136, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px); + background-image: -o-linear-gradient(bottom, #009688 2px, rgba(0, 150, 136, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px); + background-image: linear-gradient(to top, #009688 2px, rgba(0, 150, 136, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); } + +.custom-file-control .form-control:invalid, .custom-file-control .custom-file-control:invalid { + background-image: -webkit-linear-gradient(bottom, #d50000 2px, rgba(213, 0, 0, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px); + background-image: -o-linear-gradient(bottom, #d50000 2px, rgba(213, 0, 0, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px); + background-image: linear-gradient(to top, #d50000 2px, rgba(213, 0, 0, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); } + +.custom-file-control .form-control:-moz-read-only, .custom-file-control .custom-file-control:-moz-read-only { + background-image: linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); } + +.custom-file-control .form-control:read-only, .custom-file-control .custom-file-control:read-only { + background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px); + background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px); + background-image: linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); } + +fieldset[disabled][disabled] .custom-file-control .form-control, fieldset[disabled][disabled] .custom-file-control .custom-file-control, .custom-file-control .form-control.disabled, .custom-file-control .disabled.custom-file-control, .custom-file-control .form-control:disabled, .custom-file-control .custom-file-control:disabled, .custom-file-control .form-control[disabled], .custom-file-control [disabled].custom-file-control { + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.26)), color-stop(30%, rgba(0, 0, 0, 0.26)), color-stop(30%, transparent), to(transparent)); + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 30%, transparent 30%, transparent 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 30%, transparent 30%, transparent 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 30%, transparent 30%, transparent 100%); + background-repeat: repeat-x; + -webkit-background-size: 3px 1px; + background-size: 3px 1px; } + +.custom-file-control .form-control.form-control-success, .custom-file-control .form-control-success.custom-file-control, +.is-focused .custom-file-control .form-control.form-control-success, +.is-focused .custom-file-control .form-control-success.custom-file-control { + background-image: -webkit-linear-gradient(bottom, #009688 2px, rgba(0, 150, 136, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.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-image: -o-linear-gradient(bottom, #009688 2px, rgba(0, 150, 136, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.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-image: linear-gradient(to top, #009688 2px, rgba(0, 150, 136, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.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"); } + +.custom-file-control .form-control.form-control-warning, .custom-file-control .form-control-warning.custom-file-control, +.is-focused .custom-file-control .form-control.form-control-warning, +.is-focused .custom-file-control .form-control-warning.custom-file-control { + background-image: -webkit-linear-gradient(bottom, #009688 2px, rgba(0, 150, 136, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"); + background-image: -o-linear-gradient(bottom, #009688 2px, rgba(0, 150, 136, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"); + background-image: linear-gradient(to top, #009688 2px, rgba(0, 150, 136, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"); } + +.custom-file-control .form-control.form-control-danger, .custom-file-control .form-control-danger.custom-file-control, +.is-focused .custom-file-control .form-control.form-control-danger, +.is-focused .custom-file-control .form-control-danger.custom-file-control { + background-image: -webkit-linear-gradient(bottom, #009688 2px, rgba(0, 150, 136, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"); + background-image: -o-linear-gradient(bottom, #009688 2px, rgba(0, 150, 136, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"); + background-image: linear-gradient(to top, #009688 2px, rgba(0, 150, 136, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"); } + +.custom-file-control .is-focused .form-control-feedback, +.custom-file-control .is-focused .form-control-label, +.custom-file-control .is-focused .radio, +.custom-file-control .is-focused .checkbox, +.custom-file-control .is-focused .radio-inline, +.custom-file-control .is-focused .checkbox-inline, +.custom-file-control .is-focused.radio label, +.custom-file-control .is-focused.checkbox label, +.custom-file-control .is-focused.radio-inline label, +.custom-file-control .is-focused.checkbox-inline label, +.custom-file-control .is-focused .custom-control, .custom-file-control.is-focused .form-control-feedback, +.custom-file-control.is-focused .form-control-label, +.custom-file-control.is-focused .radio, +.custom-file-control.is-focused .checkbox, +.custom-file-control.is-focused .radio-inline, +.custom-file-control.is-focused .checkbox-inline, +.custom-file-control.is-focused.radio label, +.custom-file-control.is-focused.checkbox label, +.custom-file-control.is-focused.radio-inline label, +.custom-file-control.is-focused.checkbox-inline label, +.custom-file-control.is-focused .custom-control { + color: rgba(0, 0, 0, 0.26); } + +.custom-file-control .is-focused .form-control, .custom-file-control .is-focused .custom-file-control, .custom-file-control.is-focused .form-control, .custom-file-control.is-focused .custom-file-control { + border-color: rgba(0, 0, 0, 0.26); } + +.custom-file-control .is-focused .input-group-addon, .custom-file-control.is-focused .input-group-addon { + color: rgba(0, 0, 0, 0.26); + border-color: rgba(0, 0, 0, 0.26); + background-color: rgba(102, 102, 102, 0.26); } + +.custom-file-control .is-focused .form-control-feedback, .custom-file-control.is-focused .form-control-feedback { + color: rgba(0, 0, 0, 0.26); } + +.custom-file-control .is-focused [class^='bmd-label'], +.custom-file-control .is-focused [class*=' bmd-label'], .custom-file-control.is-focused [class^='bmd-label'], +.custom-file-control.is-focused [class*=' bmd-label'] { + color: #009688; } + +.custom-file-control .is-focused .bmd-label-placeholder, .custom-file-control.is-focused .bmd-label-placeholder { + color: rgba(0, 0, 0, 0.26); } + +.custom-file-control .is-focused .form-control, .custom-file-control .is-focused .custom-file-control, .custom-file-control.is-focused .form-control, .custom-file-control.is-focused .custom-file-control { + border-color: rgba(0, 0, 0, 0.26); } + +.custom-file-control .is-focused .bmd-help, .custom-file-control.is-focused .bmd-help { + color: rgba(0, 0, 0, 0.54); } + +.custom-file-control::before { + position: absolute; + height: calc(100% - 1px); } + +.switch label { + position: relative; + padding-left: 2.4375rem; } + .switch label .bmd-switch-track { + position: absolute; + top: 0.3125rem; + left: 0; + display: inline-block; + width: 2.125rem; + height: 0.875rem; + cursor: pointer; + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.26)), color-stop(50%, rgba(0, 0, 0, 0.26)), color-stop(50%, #49dcce), to(#49dcce)); + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 50%, #49dcce 50%, #49dcce 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 50%, #49dcce 50%, #49dcce 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 50%, #49dcce 50%, #49dcce 100%); + background-position: 0%; + -webkit-background-size: 4.25rem 0.875rem; + background-size: 4.25rem 0.875rem; + border-radius: 2.125rem; + -webkit-transition: background-position 0.2s ease-in; + -o-transition: background-position 0.2s ease-in; + transition: background-position 0.2s ease-in; } + .switch label .bmd-switch-track::after { + position: absolute; + top: 50%; + left: 0; + display: block; + -webkit-align-self: center; + -ms-flex-item-align: center; + align-self: center; + width: 1.25rem; + height: 1.25rem; + content: ""; + background: #f1f1f1; + border-radius: 100%; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); + -webkit-transition: left 0.2s ease-in, background-color 0.2s ease-in, -webkit-transform 0.3s ease; + transition: left 0.2s ease-in, background-color 0.2s ease-in, -webkit-transform 0.3s ease; + -o-transition: left 0.2s ease-in, background-color 0.2s ease-in, transform 0.3s ease, -o-transform 0.3s ease; + transition: left 0.2s ease-in, background-color 0.2s ease-in, transform 0.3s ease; + transition: left 0.2s ease-in, background-color 0.2s ease-in, transform 0.3s ease, -webkit-transform 0.3s ease, -o-transform 0.3s ease; + -webkit-transform: translateY(-50%); + -ms-transform: translateY(-50%); + -o-transform: translateY(-50%); + transform: translateY(-50%); } + .switch label .bmd-switch-track:active::after { + -webkit-transform: translateY(-50%) scale3d(1.15, 0.85, 1); + transform: translateY(-50%) scale3d(1.15, 0.85, 1); } + .switch label input { + position: absolute; + display: block; + width: 0; + height: 0; + opacity: 0; } + .switch label input:checked + .bmd-switch-track { + background-position: -100%; } + .switch label input:checked + .bmd-switch-track::after { + left: calc(100% - 1.25rem); + background-color: #009688; } + .switch label input:disabled + .bmd-switch-track:active::after { + -webkit-transform: translateY(-50%); + -ms-transform: translateY(-50%); + -o-transform: translateY(-50%); + transform: translateY(-50%); } + .switch label input:disabled + .bmd-switch-track { + cursor: default; + background: rgba(0, 0, 0, 0.12); } + .switch label input:disabled + .bmd-switch-track::after { + background: #bdbdbd; } + +.radio label, +label.radio-inline { + position: relative; + padding-left: 1.5625rem; } + .radio label .bmd-radio-outer-circle, + .radio label .bmd-radio-inner-circle, + label.radio-inline .bmd-radio-outer-circle, + label.radio-inline .bmd-radio-inner-circle { + position: absolute; + top: 0.125rem; + left: 0; + display: inline-block; + width: 1.25rem; + height: 1.25rem; + cursor: pointer; + -webkit-transition-duration: 0.2s; + -o-transition-duration: 0.2s; + transition-duration: 0.2s; } + .radio label .bmd-radio-outer-circle.bmd-radio-outer-circle, + .radio label .bmd-radio-inner-circle.bmd-radio-outer-circle, + label.radio-inline .bmd-radio-outer-circle.bmd-radio-outer-circle, + label.radio-inline .bmd-radio-inner-circle.bmd-radio-outer-circle { + border: 0.125rem solid rgba(0, 0, 0, 0.54); + border-radius: 50%; + -webkit-transition: border-color ease .28s; + -o-transition: border-color ease .28s; + transition: border-color ease .28s; } + .radio label .bmd-radio-outer-circle.bmd-radio-inner-circle, + .radio label .bmd-radio-inner-circle.bmd-radio-inner-circle, + label.radio-inline .bmd-radio-outer-circle.bmd-radio-inner-circle, + label.radio-inline .bmd-radio-inner-circle.bmd-radio-inner-circle { + display: inline-block; + background-color: #009688; + border-radius: 50%; + -webkit-transition: -webkit-transform ease .28s; + transition: -webkit-transform ease .28s; + -o-transition: transform ease .28s, -o-transform ease .28s; + transition: transform ease .28s; + transition: transform ease .28s, -webkit-transform ease .28s, -o-transform ease .28s; + -webkit-transform: scale3d(0, 0, 0); + transform: scale3d(0, 0, 0); } + .radio label .bmd-radio-outer-circle.bmd-radio-inner-circle::after, + .radio label .bmd-radio-inner-circle.bmd-radio-inner-circle::after, + label.radio-inline .bmd-radio-outer-circle.bmd-radio-inner-circle::after, + label.radio-inline .bmd-radio-inner-circle.bmd-radio-inner-circle::after { + position: absolute; + top: -1em; + left: -1em; + z-index: 1; + display: block; + width: 50px; + height: 50px; + margin: 0; + content: ""; + background-color: rgba(0, 0, 0, 0.87); + border-radius: 100%; + opacity: 0; + -webkit-transform: scale3d(1.5, 1.5, 1); + transform: scale3d(1.5, 1.5, 1); } + .radio label input[type=radio], + label.radio-inline input[type=radio] { + position: absolute; + left: 0; + z-index: -1; + width: 0; + height: 0; + margin: 0; + overflow: hidden; + pointer-events: none; + opacity: 0; } + .radio label input[type=radio]:checked ~ .bmd-radio-inner-circle, + label.radio-inline input[type=radio]:checked ~ .bmd-radio-inner-circle { + background-color: #009688; } + .radio label input[type=radio]:checked ~ .bmd-radio-outer-circle, + label.radio-inline input[type=radio]:checked ~ .bmd-radio-outer-circle { + border-color: #009688; } + .radio label input[type=radio]:checked ~ .bmd-radio-inner-circle, + label.radio-inline input[type=radio]:checked ~ .bmd-radio-inner-circle { + -webkit-transform: scale3d(0.55, 0.55, 1); + transform: scale3d(0.55, 0.55, 1); } + .radio label input[type=radio]:checked ~ .bmd-radio-inner-circle::after, + label.radio-inline input[type=radio]:checked ~ .bmd-radio-inner-circle::after { + -webkit-animation: rippleOn; + -o-animation: rippleOn; + animation: rippleOn; } + .is-focused .radio label input[type=radio]:checked ~ .bmd-radio-inner-circle::after, .is-focused + label.radio-inline input[type=radio]:checked ~ .bmd-radio-inner-circle::after { + -webkit-animation: rippleOn 500ms; + -o-animation: rippleOn 500ms; + animation: rippleOn 500ms; } + .radio label input[type=radio]:not(:checked) ~ .bmd-radio-inner-circle::after, + label.radio-inline input[type=radio]:not(:checked) ~ .bmd-radio-inner-circle::after { + -webkit-animation: rippleOff 500ms; + -o-animation: rippleOff 500ms; + animation: rippleOff 500ms; } + .radio label input[type=radio][disabled] + .bmd-radio-outer-circle, .radio label input[type=radio]:disabled + .bmd-radio-outer-circle, + fieldset[disabled] .radio label input[type=radio] + .bmd-radio-outer-circle, + label.radio-inline input[type=radio][disabled] + .bmd-radio-outer-circle, + label.radio-inline input[type=radio]:disabled + .bmd-radio-outer-circle, + fieldset[disabled] + label.radio-inline input[type=radio] + .bmd-radio-outer-circle { + cursor: default; } + .radio label input[type=radio][disabled] ~ .bmd-radio-inner-circle, .radio label input[type=radio]:disabled ~ .bmd-radio-inner-circle, + fieldset[disabled] .radio label input[type=radio] ~ .bmd-radio-inner-circle, + label.radio-inline input[type=radio][disabled] ~ .bmd-radio-inner-circle, + label.radio-inline input[type=radio]:disabled ~ .bmd-radio-inner-circle, + fieldset[disabled] + label.radio-inline input[type=radio] ~ .bmd-radio-inner-circle { + background-color: rgba(0, 0, 0, 0.26); } + .radio label input[type=radio][disabled] ~ .bmd-radio-outer-circle, .radio label input[type=radio]:disabled ~ .bmd-radio-outer-circle, + fieldset[disabled] .radio label input[type=radio] ~ .bmd-radio-outer-circle, + label.radio-inline input[type=radio][disabled] ~ .bmd-radio-outer-circle, + label.radio-inline input[type=radio]:disabled ~ .bmd-radio-outer-circle, + fieldset[disabled] + label.radio-inline input[type=radio] ~ .bmd-radio-outer-circle { + border-color: rgba(0, 0, 0, 0.26); } + .bg-inverse .radio label input[type=radio][disabled] ~ .bmd-radio-inner-circle, .bg-inverse .radio label input[type=radio]:disabled ~ .bmd-radio-inner-circle, .bg-inverse + fieldset[disabled] .radio label input[type=radio] ~ .bmd-radio-inner-circle, .bg-inverse + label.radio-inline input[type=radio][disabled] ~ .bmd-radio-inner-circle, .bg-inverse + label.radio-inline input[type=radio]:disabled ~ .bmd-radio-inner-circle, .bg-inverse + fieldset[disabled] + label.radio-inline input[type=radio] ~ .bmd-radio-inner-circle { + background-color: rgba(255, 255, 255, 0.3); } + .bg-inverse .radio label input[type=radio][disabled] ~ .bmd-radio-outer-circle, .bg-inverse .radio label input[type=radio]:disabled ~ .bmd-radio-outer-circle, .bg-inverse + fieldset[disabled] .radio label input[type=radio] ~ .bmd-radio-outer-circle, .bg-inverse + label.radio-inline input[type=radio][disabled] ~ .bmd-radio-outer-circle, .bg-inverse + label.radio-inline input[type=radio]:disabled ~ .bmd-radio-outer-circle, .bg-inverse + fieldset[disabled] + label.radio-inline input[type=radio] ~ .bmd-radio-outer-circle { + border-color: rgba(255, 255, 255, 0.3); } + +@keyframes rippleOn { + 0% { + opacity: 0; } + 50% { + opacity: 0.2; } + 100% { + opacity: 0; } } + +@keyframes rippleOff { + 0% { + opacity: 0; } + 50% { + opacity: 0.2; } + 100% { + opacity: 0; } } + +form { + margin-bottom: 1.125rem; } + .navbar form { + margin-bottom: 0; } + .navbar form .bmd-form-group { + display: inline-block; + padding-top: 0; } + .navbar form .btn, .navbar form .custom-file-control::before { + margin-bottom: 0; } + +.form-control, .custom-file-control { + background: no-repeat center bottom, center calc(100% - 1px); + -webkit-background-size: 0 100%, 100% 100%; + background-size: 0 100%, 100% 100%; + border: 0; + -webkit-transition: background 0s ease-out; + -o-transition: background 0s ease-out; + transition: background 0s ease-out; } + .form-control:focus, .custom-file-control:focus, + .bmd-form-group.is-focused .form-control, + .bmd-form-group.is-focused .custom-file-control { + -webkit-background-size: 100% 100%, 100% 100%; + background-size: 100% 100%, 100% 100%; + -webkit-transition-duration: 0.3s; + -o-transition-duration: 0.3s; + transition-duration: 0.3s; } + +.bmd-help { + position: absolute; + display: none; + font-size: .8rem; + font-weight: normal; } + .bmd-form-group.is-focused .bmd-help { + display: block; } + .bmd-help:nth-of-type(2) { + padding-top: 1rem; } + .bmd-help + .bmd-help { + position: relative; + margin-bottom: 0; } + +.radio label, +.is-focused .radio label, +.radio-inline, +.is-focused +.radio-inline, +.checkbox label, +.is-focused +.checkbox label, +.checkbox-inline, +.is-focused +.checkbox-inline, +.switch label, +.is-focused +.switch label { + color: rgba(0, 0, 0, 0.26); } + .radio label:focus, .radio label:active, .radio label:hover, + .is-focused .radio label:focus, + .is-focused .radio label:active, + .is-focused .radio label:hover, + .radio-inline:focus, + .radio-inline:active, + .radio-inline:hover, + .is-focused + .radio-inline:focus, + .is-focused + .radio-inline:active, + .is-focused + .radio-inline:hover, + .checkbox label:focus, + .checkbox label:active, + .checkbox label:hover, + .is-focused + .checkbox label:focus, + .is-focused + .checkbox label:active, + .is-focused + .checkbox label:hover, + .checkbox-inline:focus, + .checkbox-inline:active, + .checkbox-inline:hover, + .is-focused + .checkbox-inline:focus, + .is-focused + .checkbox-inline:active, + .is-focused + .checkbox-inline:hover, + .switch label:focus, + .switch label:active, + .switch label:hover, + .is-focused + .switch label:focus, + .is-focused + .switch label:active, + .is-focused + .switch label:hover { + color: rgba(0, 0, 0, 0.54); } + .radio label label:has(input[type=radio][disabled]), .radio label label:has(input[type=radio][disabled]):hover, .radio label label:has(input[type=radio][disabled]):focus, + .radio label label:has(input[type=checkbox][disabled]), + .radio label label:has(input[type=checkbox][disabled]):hover, + .radio label label:has(input[type=checkbox][disabled]):focus, + fieldset[disabled] .radio label, + fieldset[disabled] .radio label:hover, + fieldset[disabled] .radio label:focus, + .is-focused .radio label label:has(input[type=radio][disabled]), + .is-focused .radio label label:has(input[type=radio][disabled]):hover, + .is-focused .radio label label:has(input[type=radio][disabled]):focus, + .is-focused .radio label label:has(input[type=checkbox][disabled]), + .is-focused .radio label label:has(input[type=checkbox][disabled]):hover, + .is-focused .radio label label:has(input[type=checkbox][disabled]):focus, + fieldset[disabled] + .is-focused .radio label, + fieldset[disabled] + .is-focused .radio label:hover, + fieldset[disabled] + .is-focused .radio label:focus, + .radio-inline label:has(input[type=radio][disabled]), + .radio-inline label:has(input[type=radio][disabled]):hover, + .radio-inline label:has(input[type=radio][disabled]):focus, + .radio-inline label:has(input[type=checkbox][disabled]), + .radio-inline label:has(input[type=checkbox][disabled]):hover, + .radio-inline label:has(input[type=checkbox][disabled]):focus, + fieldset[disabled] + .radio-inline, + fieldset[disabled] + .radio-inline:hover, + fieldset[disabled] + .radio-inline:focus, + .is-focused + .radio-inline label:has(input[type=radio][disabled]), + .is-focused + .radio-inline label:has(input[type=radio][disabled]):hover, + .is-focused + .radio-inline label:has(input[type=radio][disabled]):focus, + .is-focused + .radio-inline label:has(input[type=checkbox][disabled]), + .is-focused + .radio-inline label:has(input[type=checkbox][disabled]):hover, + .is-focused + .radio-inline label:has(input[type=checkbox][disabled]):focus, + fieldset[disabled] + .is-focused + .radio-inline, + fieldset[disabled] + .is-focused + .radio-inline:hover, + fieldset[disabled] + .is-focused + .radio-inline:focus, + .checkbox label label:has(input[type=radio][disabled]), + .checkbox label label:has(input[type=radio][disabled]):hover, + .checkbox label label:has(input[type=radio][disabled]):focus, + .checkbox label label:has(input[type=checkbox][disabled]), + .checkbox label label:has(input[type=checkbox][disabled]):hover, + .checkbox label label:has(input[type=checkbox][disabled]):focus, + fieldset[disabled] + .checkbox label, + fieldset[disabled] + .checkbox label:hover, + fieldset[disabled] + .checkbox label:focus, + .is-focused + .checkbox label label:has(input[type=radio][disabled]), + .is-focused + .checkbox label label:has(input[type=radio][disabled]):hover, + .is-focused + .checkbox label label:has(input[type=radio][disabled]):focus, + .is-focused + .checkbox label label:has(input[type=checkbox][disabled]), + .is-focused + .checkbox label label:has(input[type=checkbox][disabled]):hover, + .is-focused + .checkbox label label:has(input[type=checkbox][disabled]):focus, + fieldset[disabled] + .is-focused + .checkbox label, + fieldset[disabled] + .is-focused + .checkbox label:hover, + fieldset[disabled] + .is-focused + .checkbox label:focus, + .checkbox-inline label:has(input[type=radio][disabled]), + .checkbox-inline label:has(input[type=radio][disabled]):hover, + .checkbox-inline label:has(input[type=radio][disabled]):focus, + .checkbox-inline label:has(input[type=checkbox][disabled]), + .checkbox-inline label:has(input[type=checkbox][disabled]):hover, + .checkbox-inline label:has(input[type=checkbox][disabled]):focus, + fieldset[disabled] + .checkbox-inline, + fieldset[disabled] + .checkbox-inline:hover, + fieldset[disabled] + .checkbox-inline:focus, + .is-focused + .checkbox-inline label:has(input[type=radio][disabled]), + .is-focused + .checkbox-inline label:has(input[type=radio][disabled]):hover, + .is-focused + .checkbox-inline label:has(input[type=radio][disabled]):focus, + .is-focused + .checkbox-inline label:has(input[type=checkbox][disabled]), + .is-focused + .checkbox-inline label:has(input[type=checkbox][disabled]):hover, + .is-focused + .checkbox-inline label:has(input[type=checkbox][disabled]):focus, + fieldset[disabled] + .is-focused + .checkbox-inline, + fieldset[disabled] + .is-focused + .checkbox-inline:hover, + fieldset[disabled] + .is-focused + .checkbox-inline:focus, + .switch label label:has(input[type=radio][disabled]), + .switch label label:has(input[type=radio][disabled]):hover, + .switch label label:has(input[type=radio][disabled]):focus, + .switch label label:has(input[type=checkbox][disabled]), + .switch label label:has(input[type=checkbox][disabled]):hover, + .switch label label:has(input[type=checkbox][disabled]):focus, + fieldset[disabled] + .switch label, + fieldset[disabled] + .switch label:hover, + fieldset[disabled] + .switch label:focus, + .is-focused + .switch label label:has(input[type=radio][disabled]), + .is-focused + .switch label label:has(input[type=radio][disabled]):hover, + .is-focused + .switch label label:has(input[type=radio][disabled]):focus, + .is-focused + .switch label label:has(input[type=checkbox][disabled]), + .is-focused + .switch label label:has(input[type=checkbox][disabled]):hover, + .is-focused + .switch label label:has(input[type=checkbox][disabled]):focus, + fieldset[disabled] + .is-focused + .switch label, + fieldset[disabled] + .is-focused + .switch label:hover, + fieldset[disabled] + .is-focused + .switch label:focus { + color: rgba(0, 0, 0, 0.26); } + +[class^='bmd-label'], +[class*=' bmd-label'] { + color: rgba(0, 0, 0, 0.26); } + +.form-control, .custom-file-control, +.is-focused .form-control, +.is-focused .custom-file-control { + background-image: -webkit-linear-gradient(bottom, #009688 2px, rgba(0, 150, 136, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px); + background-image: -o-linear-gradient(bottom, #009688 2px, rgba(0, 150, 136, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px); + background-image: linear-gradient(to top, #009688 2px, rgba(0, 150, 136, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); } + +.form-control:invalid, .custom-file-control:invalid { + background-image: -webkit-linear-gradient(bottom, #d50000 2px, rgba(213, 0, 0, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px); + background-image: -o-linear-gradient(bottom, #d50000 2px, rgba(213, 0, 0, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px); + background-image: linear-gradient(to top, #d50000 2px, rgba(213, 0, 0, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); } + +.form-control:-moz-read-only, .custom-file-control:-moz-read-only { + background-image: linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); } + +.form-control:read-only, .custom-file-control:read-only { + background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px); + background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px); + background-image: linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); } + +fieldset[disabled][disabled] .form-control, fieldset[disabled][disabled] .custom-file-control, .form-control.disabled, .disabled.custom-file-control, .form-control:disabled, .custom-file-control:disabled, .form-control[disabled], [disabled].custom-file-control { + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.26)), color-stop(30%, rgba(0, 0, 0, 0.26)), color-stop(30%, transparent), to(transparent)); + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 30%, transparent 30%, transparent 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 30%, transparent 30%, transparent 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 30%, transparent 30%, transparent 100%); + background-repeat: repeat-x; + -webkit-background-size: 3px 1px; + background-size: 3px 1px; } + +.form-control.form-control-success, .form-control-success.custom-file-control, +.is-focused .form-control.form-control-success, +.is-focused .form-control-success.custom-file-control { + background-image: -webkit-linear-gradient(bottom, #009688 2px, rgba(0, 150, 136, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.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-image: -o-linear-gradient(bottom, #009688 2px, rgba(0, 150, 136, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.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-image: linear-gradient(to top, #009688 2px, rgba(0, 150, 136, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.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"); } + +.form-control.form-control-warning, .form-control-warning.custom-file-control, +.is-focused .form-control.form-control-warning, +.is-focused .form-control-warning.custom-file-control { + background-image: -webkit-linear-gradient(bottom, #009688 2px, rgba(0, 150, 136, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"); + background-image: -o-linear-gradient(bottom, #009688 2px, rgba(0, 150, 136, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"); + background-image: linear-gradient(to top, #009688 2px, rgba(0, 150, 136, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"); } + +.form-control.form-control-danger, .form-control-danger.custom-file-control, +.is-focused .form-control.form-control-danger, +.is-focused .form-control-danger.custom-file-control { + background-image: -webkit-linear-gradient(bottom, #009688 2px, rgba(0, 150, 136, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"); + background-image: -o-linear-gradient(bottom, #009688 2px, rgba(0, 150, 136, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"); + background-image: linear-gradient(to top, #009688 2px, rgba(0, 150, 136, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"); } + +.is-focused .form-control-feedback, +.is-focused .form-control-label, +.is-focused .radio, +.is-focused .checkbox, +.is-focused .radio-inline, +.is-focused .checkbox-inline, +.is-focused.radio label, +.is-focused.checkbox label, +.is-focused.radio-inline label, +.is-focused.checkbox-inline label, +.is-focused .custom-control, +.is-focused .form-control-feedback, +.is-focused .form-control-label, +.is-focused .radio, +.is-focused .checkbox, +.is-focused .radio-inline, +.is-focused .checkbox-inline, +.is-focused.radio label, +.is-focused.checkbox label, +.is-focused.radio-inline label, +.is-focused.checkbox-inline label, +.is-focused .custom-control { + color: rgba(0, 0, 0, 0.26); } + +.is-focused .form-control, .is-focused .custom-file-control, +.is-focused .form-control, +.is-focused .custom-file-control { + border-color: rgba(0, 0, 0, 0.26); } + +.is-focused .input-group-addon, +.is-focused .input-group-addon { + color: rgba(0, 0, 0, 0.26); + border-color: rgba(0, 0, 0, 0.26); + background-color: rgba(102, 102, 102, 0.26); } + +.is-focused .form-control-feedback, +.is-focused .form-control-feedback { + color: rgba(0, 0, 0, 0.26); } + +.is-focused [class^='bmd-label'], +.is-focused [class*=' bmd-label'], +.is-focused [class^='bmd-label'], +.is-focused [class*=' bmd-label'] { + color: #009688; } + +.is-focused .bmd-label-placeholder, +.is-focused .bmd-label-placeholder { + color: rgba(0, 0, 0, 0.26); } + +.is-focused .form-control, .is-focused .custom-file-control, +.is-focused .form-control, +.is-focused .custom-file-control { + border-color: rgba(0, 0, 0, 0.26); } + +.is-focused .bmd-help, +.is-focused .bmd-help { + color: rgba(0, 0, 0, 0.54); } + +.has-success [class^='bmd-label'], +.has-success [class*=' bmd-label'] { + color: #4caf50; } + +.has-success .form-control, .has-success .custom-file-control, +.is-focused .has-success .form-control, +.is-focused .has-success .custom-file-control { + background-image: -webkit-linear-gradient(bottom, #4caf50 2px, rgba(76, 175, 80, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px); + background-image: -o-linear-gradient(bottom, #4caf50 2px, rgba(76, 175, 80, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px); + background-image: linear-gradient(to top, #4caf50 2px, rgba(76, 175, 80, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); } + +.has-success .form-control:invalid, .has-success .custom-file-control:invalid { + background-image: -webkit-linear-gradient(bottom, #d50000 2px, rgba(213, 0, 0, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px); + background-image: -o-linear-gradient(bottom, #d50000 2px, rgba(213, 0, 0, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px); + background-image: linear-gradient(to top, #d50000 2px, rgba(213, 0, 0, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); } + +.has-success .form-control:-moz-read-only, .has-success .custom-file-control:-moz-read-only { + background-image: linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); } + +.has-success .form-control:read-only, .has-success .custom-file-control:read-only { + background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px); + background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px); + background-image: linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); } + +fieldset[disabled][disabled] .has-success .form-control, fieldset[disabled][disabled] .has-success .custom-file-control, .has-success .form-control.disabled, .has-success .disabled.custom-file-control, .has-success .form-control:disabled, .has-success .custom-file-control:disabled, .has-success .form-control[disabled], .has-success [disabled].custom-file-control { + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.26)), color-stop(30%, rgba(0, 0, 0, 0.26)), color-stop(30%, transparent), to(transparent)); + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 30%, transparent 30%, transparent 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 30%, transparent 30%, transparent 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 30%, transparent 30%, transparent 100%); + background-repeat: repeat-x; + -webkit-background-size: 3px 1px; + background-size: 3px 1px; } + +.has-success .form-control.form-control-success, .has-success .form-control-success.custom-file-control, +.is-focused .has-success .form-control.form-control-success, +.is-focused .has-success .form-control-success.custom-file-control { + background-image: -webkit-linear-gradient(bottom, #4caf50 2px, rgba(76, 175, 80, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.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-image: -o-linear-gradient(bottom, #4caf50 2px, rgba(76, 175, 80, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.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-image: linear-gradient(to top, #4caf50 2px, rgba(76, 175, 80, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.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"); } + +.has-success .form-control.form-control-warning, .has-success .form-control-warning.custom-file-control, +.is-focused .has-success .form-control.form-control-warning, +.is-focused .has-success .form-control-warning.custom-file-control { + background-image: -webkit-linear-gradient(bottom, #4caf50 2px, rgba(76, 175, 80, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"); + background-image: -o-linear-gradient(bottom, #4caf50 2px, rgba(76, 175, 80, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"); + background-image: linear-gradient(to top, #4caf50 2px, rgba(76, 175, 80, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"); } + +.has-success .form-control.form-control-danger, .has-success .form-control-danger.custom-file-control, +.is-focused .has-success .form-control.form-control-danger, +.is-focused .has-success .form-control-danger.custom-file-control { + background-image: -webkit-linear-gradient(bottom, #4caf50 2px, rgba(76, 175, 80, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"); + background-image: -o-linear-gradient(bottom, #4caf50 2px, rgba(76, 175, 80, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"); + background-image: linear-gradient(to top, #4caf50 2px, rgba(76, 175, 80, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"); } + +.has-success .is-focused .form-control-feedback, +.has-success .is-focused .form-control-label, +.has-success .is-focused .radio, +.has-success .is-focused .checkbox, +.has-success .is-focused .radio-inline, +.has-success .is-focused .checkbox-inline, +.has-success .is-focused.radio label, +.has-success .is-focused.checkbox label, +.has-success .is-focused.radio-inline label, +.has-success .is-focused.checkbox-inline label, +.has-success .is-focused .custom-control, .has-success.is-focused .form-control-feedback, +.has-success.is-focused .form-control-label, +.has-success.is-focused .radio, +.has-success.is-focused .checkbox, +.has-success.is-focused .radio-inline, +.has-success.is-focused .checkbox-inline, +.has-success.is-focused.radio label, +.has-success.is-focused.checkbox label, +.has-success.is-focused.radio-inline label, +.has-success.is-focused.checkbox-inline label, +.has-success.is-focused .custom-control { + color: #4caf50; } + +.has-success .is-focused .form-control, .has-success .is-focused .custom-file-control, .has-success.is-focused .form-control, .has-success.is-focused .custom-file-control { + border-color: #4caf50; } + +.has-success .is-focused .input-group-addon, .has-success.is-focused .input-group-addon { + color: #4caf50; + border-color: #4caf50; + background-color: #d9eeda; } + +.has-success .is-focused .form-control-feedback, .has-success.is-focused .form-control-feedback { + color: #4caf50; } + +.has-success .is-focused [class^='bmd-label'], +.has-success .is-focused [class*=' bmd-label'], .has-success.is-focused [class^='bmd-label'], +.has-success.is-focused [class*=' bmd-label'] { + color: #4caf50; } + +.has-success .is-focused .bmd-label-placeholder, .has-success.is-focused .bmd-label-placeholder { + color: #4caf50; } + +.has-success .is-focused .form-control, .has-success .is-focused .custom-file-control, .has-success.is-focused .form-control, .has-success.is-focused .custom-file-control { + border-color: #4caf50; } + +.has-success .is-focused .bmd-help, .has-success.is-focused .bmd-help { + color: rgba(0, 0, 0, 0.54); } + +.has-info [class^='bmd-label'], +.has-info [class*=' bmd-label'] { + color: #03a9f4; } + +.has-info .form-control, .has-info .custom-file-control, +.is-focused .has-info .form-control, +.is-focused .has-info .custom-file-control { + background-image: -webkit-linear-gradient(bottom, #03a9f4 2px, rgba(3, 169, 244, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px); + background-image: -o-linear-gradient(bottom, #03a9f4 2px, rgba(3, 169, 244, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px); + background-image: linear-gradient(to top, #03a9f4 2px, rgba(3, 169, 244, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); } + +.has-info .form-control:invalid, .has-info .custom-file-control:invalid { + background-image: -webkit-linear-gradient(bottom, #d50000 2px, rgba(213, 0, 0, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px); + background-image: -o-linear-gradient(bottom, #d50000 2px, rgba(213, 0, 0, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px); + background-image: linear-gradient(to top, #d50000 2px, rgba(213, 0, 0, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); } + +.has-info .form-control:-moz-read-only, .has-info .custom-file-control:-moz-read-only { + background-image: linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); } + +.has-info .form-control:read-only, .has-info .custom-file-control:read-only { + background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px); + background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px); + background-image: linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); } + +fieldset[disabled][disabled] .has-info .form-control, fieldset[disabled][disabled] .has-info .custom-file-control, .has-info .form-control.disabled, .has-info .disabled.custom-file-control, .has-info .form-control:disabled, .has-info .custom-file-control:disabled, .has-info .form-control[disabled], .has-info [disabled].custom-file-control { + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.26)), color-stop(30%, rgba(0, 0, 0, 0.26)), color-stop(30%, transparent), to(transparent)); + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 30%, transparent 30%, transparent 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 30%, transparent 30%, transparent 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 30%, transparent 30%, transparent 100%); + background-repeat: repeat-x; + -webkit-background-size: 3px 1px; + background-size: 3px 1px; } + +.has-info .form-control.form-control-success, .has-info .form-control-success.custom-file-control, +.is-focused .has-info .form-control.form-control-success, +.is-focused .has-info .form-control-success.custom-file-control { + background-image: -webkit-linear-gradient(bottom, #03a9f4 2px, rgba(3, 169, 244, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.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-image: -o-linear-gradient(bottom, #03a9f4 2px, rgba(3, 169, 244, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.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-image: linear-gradient(to top, #03a9f4 2px, rgba(3, 169, 244, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.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"); } + +.has-info .form-control.form-control-warning, .has-info .form-control-warning.custom-file-control, +.is-focused .has-info .form-control.form-control-warning, +.is-focused .has-info .form-control-warning.custom-file-control { + background-image: -webkit-linear-gradient(bottom, #03a9f4 2px, rgba(3, 169, 244, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"); + background-image: -o-linear-gradient(bottom, #03a9f4 2px, rgba(3, 169, 244, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"); + background-image: linear-gradient(to top, #03a9f4 2px, rgba(3, 169, 244, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"); } + +.has-info .form-control.form-control-danger, .has-info .form-control-danger.custom-file-control, +.is-focused .has-info .form-control.form-control-danger, +.is-focused .has-info .form-control-danger.custom-file-control { + background-image: -webkit-linear-gradient(bottom, #03a9f4 2px, rgba(3, 169, 244, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"); + background-image: -o-linear-gradient(bottom, #03a9f4 2px, rgba(3, 169, 244, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"); + background-image: linear-gradient(to top, #03a9f4 2px, rgba(3, 169, 244, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"); } + +.has-info .is-focused .form-control-feedback, +.has-info .is-focused .form-control-label, +.has-info .is-focused .radio, +.has-info .is-focused .checkbox, +.has-info .is-focused .radio-inline, +.has-info .is-focused .checkbox-inline, +.has-info .is-focused.radio label, +.has-info .is-focused.checkbox label, +.has-info .is-focused.radio-inline label, +.has-info .is-focused.checkbox-inline label, +.has-info .is-focused .custom-control, .has-info.is-focused .form-control-feedback, +.has-info.is-focused .form-control-label, +.has-info.is-focused .radio, +.has-info.is-focused .checkbox, +.has-info.is-focused .radio-inline, +.has-info.is-focused .checkbox-inline, +.has-info.is-focused.radio label, +.has-info.is-focused.checkbox label, +.has-info.is-focused.radio-inline label, +.has-info.is-focused.checkbox-inline label, +.has-info.is-focused .custom-control { + color: #03a9f4; } + +.has-info .is-focused .form-control, .has-info .is-focused .custom-file-control, .has-info.is-focused .form-control, .has-info.is-focused .custom-file-control { + border-color: #03a9f4; } + +.has-info .is-focused .input-group-addon, .has-info.is-focused .input-group-addon { + color: #03a9f4; + border-color: #03a9f4; + background-color: #c5ecfe; } + +.has-info .is-focused .form-control-feedback, .has-info.is-focused .form-control-feedback { + color: #03a9f4; } + +.has-info .is-focused [class^='bmd-label'], +.has-info .is-focused [class*=' bmd-label'], .has-info.is-focused [class^='bmd-label'], +.has-info.is-focused [class*=' bmd-label'] { + color: #03a9f4; } + +.has-info .is-focused .bmd-label-placeholder, .has-info.is-focused .bmd-label-placeholder { + color: #03a9f4; } + +.has-info .is-focused .form-control, .has-info .is-focused .custom-file-control, .has-info.is-focused .form-control, .has-info.is-focused .custom-file-control { + border-color: #03a9f4; } + +.has-info .is-focused .bmd-help, .has-info.is-focused .bmd-help { + color: rgba(0, 0, 0, 0.54); } + +.has-warning [class^='bmd-label'], +.has-warning [class*=' bmd-label'] { + color: #ff5722; } + +.has-warning .form-control, .has-warning .custom-file-control, +.is-focused .has-warning .form-control, +.is-focused .has-warning .custom-file-control { + background-image: -webkit-linear-gradient(bottom, #ff5722 2px, rgba(255, 87, 34, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px); + background-image: -o-linear-gradient(bottom, #ff5722 2px, rgba(255, 87, 34, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px); + background-image: linear-gradient(to top, #ff5722 2px, rgba(255, 87, 34, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); } + +.has-warning .form-control:invalid, .has-warning .custom-file-control:invalid { + background-image: -webkit-linear-gradient(bottom, #d50000 2px, rgba(213, 0, 0, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px); + background-image: -o-linear-gradient(bottom, #d50000 2px, rgba(213, 0, 0, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px); + background-image: linear-gradient(to top, #d50000 2px, rgba(213, 0, 0, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); } + +.has-warning .form-control:-moz-read-only, .has-warning .custom-file-control:-moz-read-only { + background-image: linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); } + +.has-warning .form-control:read-only, .has-warning .custom-file-control:read-only { + background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px); + background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px); + background-image: linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); } + +fieldset[disabled][disabled] .has-warning .form-control, fieldset[disabled][disabled] .has-warning .custom-file-control, .has-warning .form-control.disabled, .has-warning .disabled.custom-file-control, .has-warning .form-control:disabled, .has-warning .custom-file-control:disabled, .has-warning .form-control[disabled], .has-warning [disabled].custom-file-control { + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.26)), color-stop(30%, rgba(0, 0, 0, 0.26)), color-stop(30%, transparent), to(transparent)); + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 30%, transparent 30%, transparent 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 30%, transparent 30%, transparent 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 30%, transparent 30%, transparent 100%); + background-repeat: repeat-x; + -webkit-background-size: 3px 1px; + background-size: 3px 1px; } + +.has-warning .form-control.form-control-success, .has-warning .form-control-success.custom-file-control, +.is-focused .has-warning .form-control.form-control-success, +.is-focused .has-warning .form-control-success.custom-file-control { + background-image: -webkit-linear-gradient(bottom, #ff5722 2px, rgba(255, 87, 34, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.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-image: -o-linear-gradient(bottom, #ff5722 2px, rgba(255, 87, 34, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.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-image: linear-gradient(to top, #ff5722 2px, rgba(255, 87, 34, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.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"); } + +.has-warning .form-control.form-control-warning, .has-warning .form-control-warning.custom-file-control, +.is-focused .has-warning .form-control.form-control-warning, +.is-focused .has-warning .form-control-warning.custom-file-control { + background-image: -webkit-linear-gradient(bottom, #ff5722 2px, rgba(255, 87, 34, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"); + background-image: -o-linear-gradient(bottom, #ff5722 2px, rgba(255, 87, 34, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"); + background-image: linear-gradient(to top, #ff5722 2px, rgba(255, 87, 34, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"); } + +.has-warning .form-control.form-control-danger, .has-warning .form-control-danger.custom-file-control, +.is-focused .has-warning .form-control.form-control-danger, +.is-focused .has-warning .form-control-danger.custom-file-control { + background-image: -webkit-linear-gradient(bottom, #ff5722 2px, rgba(255, 87, 34, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"); + background-image: -o-linear-gradient(bottom, #ff5722 2px, rgba(255, 87, 34, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"); + background-image: linear-gradient(to top, #ff5722 2px, rgba(255, 87, 34, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"); } + +.has-warning .is-focused .form-control-feedback, +.has-warning .is-focused .form-control-label, +.has-warning .is-focused .radio, +.has-warning .is-focused .checkbox, +.has-warning .is-focused .radio-inline, +.has-warning .is-focused .checkbox-inline, +.has-warning .is-focused.radio label, +.has-warning .is-focused.checkbox label, +.has-warning .is-focused.radio-inline label, +.has-warning .is-focused.checkbox-inline label, +.has-warning .is-focused .custom-control, .has-warning.is-focused .form-control-feedback, +.has-warning.is-focused .form-control-label, +.has-warning.is-focused .radio, +.has-warning.is-focused .checkbox, +.has-warning.is-focused .radio-inline, +.has-warning.is-focused .checkbox-inline, +.has-warning.is-focused.radio label, +.has-warning.is-focused.checkbox label, +.has-warning.is-focused.radio-inline label, +.has-warning.is-focused.checkbox-inline label, +.has-warning.is-focused .custom-control { + color: #ff5722; } + +.has-warning .is-focused .form-control, .has-warning .is-focused .custom-file-control, .has-warning.is-focused .form-control, .has-warning.is-focused .custom-file-control { + border-color: #ff5722; } + +.has-warning .is-focused .input-group-addon, .has-warning.is-focused .input-group-addon { + color: #ff5722; + border-color: #ff5722; + background-color: #fff2ee; } + +.has-warning .is-focused .form-control-feedback, .has-warning.is-focused .form-control-feedback { + color: #ff5722; } + +.has-warning .is-focused [class^='bmd-label'], +.has-warning .is-focused [class*=' bmd-label'], .has-warning.is-focused [class^='bmd-label'], +.has-warning.is-focused [class*=' bmd-label'] { + color: #ff5722; } + +.has-warning .is-focused .bmd-label-placeholder, .has-warning.is-focused .bmd-label-placeholder { + color: #ff5722; } + +.has-warning .is-focused .form-control, .has-warning .is-focused .custom-file-control, .has-warning.is-focused .form-control, .has-warning.is-focused .custom-file-control { + border-color: #ff5722; } + +.has-warning .is-focused .bmd-help, .has-warning.is-focused .bmd-help { + color: rgba(0, 0, 0, 0.54); } + +.has-danger [class^='bmd-label'], +.has-danger [class*=' bmd-label'] { + color: #f44336; } + +.has-danger .form-control, .has-danger .custom-file-control, +.is-focused .has-danger .form-control, +.is-focused .has-danger .custom-file-control { + background-image: -webkit-linear-gradient(bottom, #f44336 2px, rgba(244, 67, 54, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px); + background-image: -o-linear-gradient(bottom, #f44336 2px, rgba(244, 67, 54, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px); + background-image: linear-gradient(to top, #f44336 2px, rgba(244, 67, 54, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); } + +.has-danger .form-control:invalid, .has-danger .custom-file-control:invalid { + background-image: -webkit-linear-gradient(bottom, #d50000 2px, rgba(213, 0, 0, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px); + background-image: -o-linear-gradient(bottom, #d50000 2px, rgba(213, 0, 0, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px); + background-image: linear-gradient(to top, #d50000 2px, rgba(213, 0, 0, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); } + +.has-danger .form-control:-moz-read-only, .has-danger .custom-file-control:-moz-read-only { + background-image: linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); } + +.has-danger .form-control:read-only, .has-danger .custom-file-control:read-only { + background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px); + background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px); + background-image: linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); } + +fieldset[disabled][disabled] .has-danger .form-control, fieldset[disabled][disabled] .has-danger .custom-file-control, .has-danger .form-control.disabled, .has-danger .disabled.custom-file-control, .has-danger .form-control:disabled, .has-danger .custom-file-control:disabled, .has-danger .form-control[disabled], .has-danger [disabled].custom-file-control { + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.26)), color-stop(30%, rgba(0, 0, 0, 0.26)), color-stop(30%, transparent), to(transparent)); + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 30%, transparent 30%, transparent 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 30%, transparent 30%, transparent 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 30%, transparent 30%, transparent 100%); + background-repeat: repeat-x; + -webkit-background-size: 3px 1px; + background-size: 3px 1px; } + +.has-danger .form-control.form-control-success, .has-danger .form-control-success.custom-file-control, +.is-focused .has-danger .form-control.form-control-success, +.is-focused .has-danger .form-control-success.custom-file-control { + background-image: -webkit-linear-gradient(bottom, #f44336 2px, rgba(244, 67, 54, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.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-image: -o-linear-gradient(bottom, #f44336 2px, rgba(244, 67, 54, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.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-image: linear-gradient(to top, #f44336 2px, rgba(244, 67, 54, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.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"); } + +.has-danger .form-control.form-control-warning, .has-danger .form-control-warning.custom-file-control, +.is-focused .has-danger .form-control.form-control-warning, +.is-focused .has-danger .form-control-warning.custom-file-control { + background-image: -webkit-linear-gradient(bottom, #f44336 2px, rgba(244, 67, 54, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"); + background-image: -o-linear-gradient(bottom, #f44336 2px, rgba(244, 67, 54, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"); + background-image: linear-gradient(to top, #f44336 2px, rgba(244, 67, 54, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"); } + +.has-danger .form-control.form-control-danger, .has-danger .form-control-danger.custom-file-control, +.is-focused .has-danger .form-control.form-control-danger, +.is-focused .has-danger .form-control-danger.custom-file-control { + background-image: -webkit-linear-gradient(bottom, #f44336 2px, rgba(244, 67, 54, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"); + background-image: -o-linear-gradient(bottom, #f44336 2px, rgba(244, 67, 54, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"); + background-image: linear-gradient(to top, #f44336 2px, rgba(244, 67, 54, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"); } + +.has-danger .is-focused .form-control-feedback, +.has-danger .is-focused .form-control-label, +.has-danger .is-focused .radio, +.has-danger .is-focused .checkbox, +.has-danger .is-focused .radio-inline, +.has-danger .is-focused .checkbox-inline, +.has-danger .is-focused.radio label, +.has-danger .is-focused.checkbox label, +.has-danger .is-focused.radio-inline label, +.has-danger .is-focused.checkbox-inline label, +.has-danger .is-focused .custom-control, .has-danger.is-focused .form-control-feedback, +.has-danger.is-focused .form-control-label, +.has-danger.is-focused .radio, +.has-danger.is-focused .checkbox, +.has-danger.is-focused .radio-inline, +.has-danger.is-focused .checkbox-inline, +.has-danger.is-focused.radio label, +.has-danger.is-focused.checkbox label, +.has-danger.is-focused.radio-inline label, +.has-danger.is-focused.checkbox-inline label, +.has-danger.is-focused .custom-control { + color: #f44336; } + +.has-danger .is-focused .form-control, .has-danger .is-focused .custom-file-control, .has-danger.is-focused .form-control, .has-danger.is-focused .custom-file-control { + border-color: #f44336; } + +.has-danger .is-focused .input-group-addon, .has-danger.is-focused .input-group-addon { + color: #f44336; + border-color: #f44336; + background-color: #fff8f7; } + +.has-danger .is-focused .form-control-feedback, .has-danger.is-focused .form-control-feedback { + color: #f44336; } + +.has-danger .is-focused [class^='bmd-label'], +.has-danger .is-focused [class*=' bmd-label'], .has-danger.is-focused [class^='bmd-label'], +.has-danger.is-focused [class*=' bmd-label'] { + color: #f44336; } + +.has-danger .is-focused .bmd-label-placeholder, .has-danger.is-focused .bmd-label-placeholder { + color: #f44336; } + +.has-danger .is-focused .form-control, .has-danger .is-focused .custom-file-control, .has-danger.is-focused .form-control, .has-danger.is-focused .custom-file-control { + border-color: #f44336; } + +.has-danger .is-focused .bmd-help, .has-danger.is-focused .bmd-help { + color: rgba(0, 0, 0, 0.54); } + +.bmd-form-group { + position: relative; + padding-top: 1.75rem; } + .bmd-form-group [class^='bmd-label'], + .bmd-form-group [class*=' bmd-label'] { + position: absolute; + pointer-events: none; + -webkit-transition: 0.3s ease all; + -o-transition: 0.3s ease all; + transition: 0.3s ease all; } + .bmd-form-group [class^='bmd-label'].bmd-label-floating, + .bmd-form-group [class*=' bmd-label'].bmd-label-floating { + will-change: left, top, contents; } + .bmd-form-group.is-filled .bmd-label-placeholder { + display: none; } + .bmd-form-group.bmd-collapse-inline { + padding: 0; } + .bmd-form-group.bmd-collapse-inline .collapse.in { + max-width: 600px; } + .bmd-form-group.bmd-collapse-inline .collapsing, + .bmd-form-group.bmd-collapse-inline .width:not(.collapse), + .bmd-form-group.bmd-collapse-inline .collapse.in { + display: inline-block; } + .bmd-form-group.bmd-collapse-inline .collapsing { + -webkit-transition-duration: 0.2s; + -o-transition-duration: 0.2s; + transition-duration: 0.2s; + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + -o-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } + .bmd-form-group .form-control, .bmd-form-group .custom-file-control, + .bmd-form-group label, + .bmd-form-group input::-webkit-input-placeholder { + line-height: 1; } + .bmd-form-group .form-control, .bmd-form-group .custom-file-control, + .bmd-form-group label, + .bmd-form-group input::-moz-placeholder { + line-height: 1; } + .bmd-form-group .form-control, .bmd-form-group .custom-file-control, + .bmd-form-group label, + .bmd-form-group input:-ms-input-placeholder { + line-height: 1; } + .bmd-form-group .form-control, .bmd-form-group .custom-file-control, + .bmd-form-group label, + .bmd-form-group input::placeholder { + line-height: 1; } + .bmd-form-group .radio label, + .bmd-form-group label.radio-inline, + .bmd-form-group .checkbox label, + .bmd-form-group label.checkbox-inline, + .bmd-form-group .switch label { + line-height: 1.5; } + .bmd-form-group input::-webkit-input-placeholder { + font-size: 1rem; } + .bmd-form-group input::-moz-placeholder { + font-size: 1rem; } + .bmd-form-group input:-ms-input-placeholder { + font-size: 1rem; } + .bmd-form-group input::placeholder { + font-size: 1rem; } + .bmd-form-group .checkbox label, + .bmd-form-group .radio label, + .bmd-form-group label { + font-size: 1rem; } + .bmd-form-group .bmd-label-floating, + .bmd-form-group .bmd-label-placeholder { + top: 2.1875rem; } + .bmd-form-group.is-focused .bmd-label-floating, + .bmd-form-group .is-focused .bmd-label-floating, .bmd-form-group.is-filled .bmd-label-floating, + .bmd-form-group .is-filled .bmd-label-floating { + top: 1rem; + left: 0; + font-size: 0.75rem; } + .bmd-form-group .bmd-label-static { + top: 1rem; + left: 0; + font-size: 0.75rem; } + .bmd-form-group .bmd-help { + margin-top: 0; + font-size: 0.75rem; } + .bmd-form-group .form-control.form-control-success, .bmd-form-group .form-control-success.custom-file-control, .bmd-form-group .form-control.form-control-warning, .bmd-form-group .form-control-warning.custom-file-control, .bmd-form-group .form-control.form-control-danger, .bmd-form-group .form-control-danger.custom-file-control { + -webkit-background-size: 0 100%, 100% 100%, 0.9375rem 0.9375rem; + background-size: 0 100%, 100% 100%, 0.9375rem 0.9375rem; } + .bmd-form-group .form-control.form-control-success, .bmd-form-group .form-control-success.custom-file-control, .bmd-form-group .form-control.form-control-success:focus, .bmd-form-group .form-control-success.custom-file-control:focus, + .bmd-form-group.is-focused .bmd-form-group .form-control.form-control-success, + .bmd-form-group.is-focused .bmd-form-group .form-control-success.custom-file-control, .bmd-form-group .form-control.form-control-warning, .bmd-form-group .form-control-warning.custom-file-control, .bmd-form-group .form-control.form-control-warning:focus, .bmd-form-group .form-control-warning.custom-file-control:focus, + .bmd-form-group.is-focused .bmd-form-group .form-control.form-control-warning, + .bmd-form-group.is-focused .bmd-form-group .form-control-warning.custom-file-control, .bmd-form-group .form-control.form-control-danger, .bmd-form-group .form-control-danger.custom-file-control, .bmd-form-group .form-control.form-control-danger:focus, .bmd-form-group .form-control-danger.custom-file-control:focus, + .bmd-form-group.is-focused .bmd-form-group .form-control.form-control-danger, + .bmd-form-group.is-focused .bmd-form-group .form-control-danger.custom-file-control { + padding-right: 0; + background-repeat: no-repeat, no-repeat; + background-position: center bottom, center calc(100% - 1px), center right 0.46875rem; } + .bmd-form-group .form-control.form-control-success:focus, .bmd-form-group .form-control-success.custom-file-control:focus, + .bmd-form-group.is-focused .bmd-form-group .form-control.form-control-success, + .bmd-form-group.is-focused .bmd-form-group .form-control-success.custom-file-control, .bmd-form-group .form-control.form-control-warning:focus, .bmd-form-group .form-control-warning.custom-file-control:focus, + .bmd-form-group.is-focused .bmd-form-group .form-control.form-control-warning, + .bmd-form-group.is-focused .bmd-form-group .form-control-warning.custom-file-control, .bmd-form-group .form-control.form-control-danger:focus, .bmd-form-group .form-control-danger.custom-file-control:focus, + .bmd-form-group.is-focused .bmd-form-group .form-control.form-control-danger, + .bmd-form-group.is-focused .bmd-form-group .form-control-danger.custom-file-control { + -webkit-background-size: 100% 100%, 100% 100%, 0.9375rem 0.9375rem; + background-size: 100% 100%, 100% 100%, 0.9375rem 0.9375rem; } + .bmd-form-group.bmd-form-group-sm { + padding-top: 1.40625rem; } + .bmd-form-group.bmd-form-group-sm .form-control, .bmd-form-group.bmd-form-group-sm .custom-file-control, + .bmd-form-group.bmd-form-group-sm label, + .bmd-form-group.bmd-form-group-sm input::-webkit-input-placeholder { + line-height: 1; } + .bmd-form-group.bmd-form-group-sm .form-control, .bmd-form-group.bmd-form-group-sm .custom-file-control, + .bmd-form-group.bmd-form-group-sm label, + .bmd-form-group.bmd-form-group-sm input::-moz-placeholder { + line-height: 1; } + .bmd-form-group.bmd-form-group-sm .form-control, .bmd-form-group.bmd-form-group-sm .custom-file-control, + .bmd-form-group.bmd-form-group-sm label, + .bmd-form-group.bmd-form-group-sm input:-ms-input-placeholder { + line-height: 1; } + .bmd-form-group.bmd-form-group-sm .form-control, .bmd-form-group.bmd-form-group-sm .custom-file-control, + .bmd-form-group.bmd-form-group-sm label, + .bmd-form-group.bmd-form-group-sm input::placeholder { + line-height: 1; } + .bmd-form-group.bmd-form-group-sm .radio label, + .bmd-form-group.bmd-form-group-sm label.radio-inline, + .bmd-form-group.bmd-form-group-sm .checkbox label, + .bmd-form-group.bmd-form-group-sm label.checkbox-inline, + .bmd-form-group.bmd-form-group-sm .switch label { + line-height: 1.5; } + .bmd-form-group.bmd-form-group-sm input::-webkit-input-placeholder { + font-size: 0.875rem; } + .bmd-form-group.bmd-form-group-sm input::-moz-placeholder { + font-size: 0.875rem; } + .bmd-form-group.bmd-form-group-sm input:-ms-input-placeholder { + font-size: 0.875rem; } + .bmd-form-group.bmd-form-group-sm input::placeholder { + font-size: 0.875rem; } + .bmd-form-group.bmd-form-group-sm .checkbox label, + .bmd-form-group.bmd-form-group-sm .radio label, + .bmd-form-group.bmd-form-group-sm label { + font-size: 0.875rem; } + .bmd-form-group.bmd-form-group-sm .bmd-label-floating, + .bmd-form-group.bmd-form-group-sm .bmd-label-placeholder { + top: 1.65625rem; } + .bmd-form-group.bmd-form-group-sm.is-focused .bmd-label-floating, + .bmd-form-group.bmd-form-group-sm .is-focused .bmd-label-floating, .bmd-form-group.bmd-form-group-sm.is-filled .bmd-label-floating, + .bmd-form-group.bmd-form-group-sm .is-filled .bmd-label-floating { + top: 0.75rem; + left: 0; + font-size: 0.65625rem; } + .bmd-form-group.bmd-form-group-sm .bmd-label-static { + top: 0.75rem; + left: 0; + font-size: 0.65625rem; } + .bmd-form-group.bmd-form-group-sm .bmd-help { + margin-top: 0; + font-size: 0.65625rem; } + .bmd-form-group.bmd-form-group-sm .form-control.form-control-success, .bmd-form-group.bmd-form-group-sm .form-control-success.custom-file-control, .bmd-form-group.bmd-form-group-sm .form-control.form-control-warning, .bmd-form-group.bmd-form-group-sm .form-control-warning.custom-file-control, .bmd-form-group.bmd-form-group-sm .form-control.form-control-danger, .bmd-form-group.bmd-form-group-sm .form-control-danger.custom-file-control { + -webkit-background-size: 0 100%, 100% 100%, 0.6875rem 0.6875rem; + background-size: 0 100%, 100% 100%, 0.6875rem 0.6875rem; } + .bmd-form-group.bmd-form-group-sm .form-control.form-control-success, .bmd-form-group.bmd-form-group-sm .form-control-success.custom-file-control, .bmd-form-group.bmd-form-group-sm .form-control.form-control-success:focus, .bmd-form-group.bmd-form-group-sm .form-control-success.custom-file-control:focus, + .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control.form-control-success, + .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control-success.custom-file-control, .bmd-form-group.bmd-form-group-sm .form-control.form-control-warning, .bmd-form-group.bmd-form-group-sm .form-control-warning.custom-file-control, .bmd-form-group.bmd-form-group-sm .form-control.form-control-warning:focus, .bmd-form-group.bmd-form-group-sm .form-control-warning.custom-file-control:focus, + .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control.form-control-warning, + .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control-warning.custom-file-control, .bmd-form-group.bmd-form-group-sm .form-control.form-control-danger, .bmd-form-group.bmd-form-group-sm .form-control-danger.custom-file-control, .bmd-form-group.bmd-form-group-sm .form-control.form-control-danger:focus, .bmd-form-group.bmd-form-group-sm .form-control-danger.custom-file-control:focus, + .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control.form-control-danger, + .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control-danger.custom-file-control { + padding-right: 0; + background-repeat: no-repeat, no-repeat; + background-position: center bottom, center calc(100% - 1px), center right 0.34375rem; } + .bmd-form-group.bmd-form-group-sm .form-control.form-control-success:focus, .bmd-form-group.bmd-form-group-sm .form-control-success.custom-file-control:focus, + .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control.form-control-success, + .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control-success.custom-file-control, .bmd-form-group.bmd-form-group-sm .form-control.form-control-warning:focus, .bmd-form-group.bmd-form-group-sm .form-control-warning.custom-file-control:focus, + .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control.form-control-warning, + .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control-warning.custom-file-control, .bmd-form-group.bmd-form-group-sm .form-control.form-control-danger:focus, .bmd-form-group.bmd-form-group-sm .form-control-danger.custom-file-control:focus, + .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control.form-control-danger, + .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control-danger.custom-file-control { + -webkit-background-size: 100% 100%, 100% 100%, 0.6875rem 0.6875rem; + background-size: 100% 100%, 100% 100%, 0.6875rem 0.6875rem; } + .bmd-form-group.bmd-form-group-lg { + padding-top: 1.9375rem; } + .bmd-form-group.bmd-form-group-lg .form-control, .bmd-form-group.bmd-form-group-lg .custom-file-control, + .bmd-form-group.bmd-form-group-lg label, + .bmd-form-group.bmd-form-group-lg input::-webkit-input-placeholder { + line-height: 1; } + .bmd-form-group.bmd-form-group-lg .form-control, .bmd-form-group.bmd-form-group-lg .custom-file-control, + .bmd-form-group.bmd-form-group-lg label, + .bmd-form-group.bmd-form-group-lg input::-moz-placeholder { + line-height: 1; } + .bmd-form-group.bmd-form-group-lg .form-control, .bmd-form-group.bmd-form-group-lg .custom-file-control, + .bmd-form-group.bmd-form-group-lg label, + .bmd-form-group.bmd-form-group-lg input:-ms-input-placeholder { + line-height: 1; } + .bmd-form-group.bmd-form-group-lg .form-control, .bmd-form-group.bmd-form-group-lg .custom-file-control, + .bmd-form-group.bmd-form-group-lg label, + .bmd-form-group.bmd-form-group-lg input::placeholder { + line-height: 1; } + .bmd-form-group.bmd-form-group-lg .radio label, + .bmd-form-group.bmd-form-group-lg label.radio-inline, + .bmd-form-group.bmd-form-group-lg .checkbox label, + .bmd-form-group.bmd-form-group-lg label.checkbox-inline, + .bmd-form-group.bmd-form-group-lg .switch label { + line-height: 1.5; } + .bmd-form-group.bmd-form-group-lg input::-webkit-input-placeholder { + font-size: 1.25rem; } + .bmd-form-group.bmd-form-group-lg input::-moz-placeholder { + font-size: 1.25rem; } + .bmd-form-group.bmd-form-group-lg input:-ms-input-placeholder { + font-size: 1.25rem; } + .bmd-form-group.bmd-form-group-lg input::placeholder { + font-size: 1.25rem; } + .bmd-form-group.bmd-form-group-lg .checkbox label, + .bmd-form-group.bmd-form-group-lg .radio label, + .bmd-form-group.bmd-form-group-lg label { + font-size: 1.25rem; } + .bmd-form-group.bmd-form-group-lg .bmd-label-floating, + .bmd-form-group.bmd-form-group-lg .bmd-label-placeholder { + top: 2.5rem; } + .bmd-form-group.bmd-form-group-lg.is-focused .bmd-label-floating, + .bmd-form-group.bmd-form-group-lg .is-focused .bmd-label-floating, .bmd-form-group.bmd-form-group-lg.is-filled .bmd-label-floating, + .bmd-form-group.bmd-form-group-lg .is-filled .bmd-label-floating { + top: 1rem; + left: 0; + font-size: 0.9375rem; } + .bmd-form-group.bmd-form-group-lg .bmd-label-static { + top: 1rem; + left: 0; + font-size: 0.9375rem; } + .bmd-form-group.bmd-form-group-lg .bmd-help { + margin-top: 0; + font-size: 0.9375rem; } + .bmd-form-group.bmd-form-group-lg .form-control.form-control-success, .bmd-form-group.bmd-form-group-lg .form-control-success.custom-file-control, .bmd-form-group.bmd-form-group-lg .form-control.form-control-warning, .bmd-form-group.bmd-form-group-lg .form-control-warning.custom-file-control, .bmd-form-group.bmd-form-group-lg .form-control.form-control-danger, .bmd-form-group.bmd-form-group-lg .form-control-danger.custom-file-control { + -webkit-background-size: 0 100%, 100% 100%, 1.1875rem 1.1875rem; + background-size: 0 100%, 100% 100%, 1.1875rem 1.1875rem; } + .bmd-form-group.bmd-form-group-lg .form-control.form-control-success, .bmd-form-group.bmd-form-group-lg .form-control-success.custom-file-control, .bmd-form-group.bmd-form-group-lg .form-control.form-control-success:focus, .bmd-form-group.bmd-form-group-lg .form-control-success.custom-file-control:focus, + .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control.form-control-success, + .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control-success.custom-file-control, .bmd-form-group.bmd-form-group-lg .form-control.form-control-warning, .bmd-form-group.bmd-form-group-lg .form-control-warning.custom-file-control, .bmd-form-group.bmd-form-group-lg .form-control.form-control-warning:focus, .bmd-form-group.bmd-form-group-lg .form-control-warning.custom-file-control:focus, + .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control.form-control-warning, + .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control-warning.custom-file-control, .bmd-form-group.bmd-form-group-lg .form-control.form-control-danger, .bmd-form-group.bmd-form-group-lg .form-control-danger.custom-file-control, .bmd-form-group.bmd-form-group-lg .form-control.form-control-danger:focus, .bmd-form-group.bmd-form-group-lg .form-control-danger.custom-file-control:focus, + .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control.form-control-danger, + .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control-danger.custom-file-control { + padding-right: 0; + background-repeat: no-repeat, no-repeat; + background-position: center bottom, center calc(100% - 1px), center right 0.59375rem; } + .bmd-form-group.bmd-form-group-lg .form-control.form-control-success:focus, .bmd-form-group.bmd-form-group-lg .form-control-success.custom-file-control:focus, + .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control.form-control-success, + .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control-success.custom-file-control, .bmd-form-group.bmd-form-group-lg .form-control.form-control-warning:focus, .bmd-form-group.bmd-form-group-lg .form-control-warning.custom-file-control:focus, + .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control.form-control-warning, + .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control-warning.custom-file-control, .bmd-form-group.bmd-form-group-lg .form-control.form-control-danger:focus, .bmd-form-group.bmd-form-group-lg .form-control-danger.custom-file-control:focus, + .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control.form-control-danger, + .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control-danger.custom-file-control { + -webkit-background-size: 100% 100%, 100% 100%, 1.1875rem 1.1875rem; + background-size: 100% 100%, 100% 100%, 1.1875rem 1.1875rem; } + +.form-control, .custom-file-control, +label, +input::-webkit-input-placeholder { + line-height: 1; } + +.form-control, .custom-file-control, +label, +input::-moz-placeholder { + line-height: 1; } + +.form-control, .custom-file-control, +label, +input:-ms-input-placeholder { + line-height: 1; } + +.form-control, .custom-file-control, +label, +input::placeholder { + line-height: 1; } + +.radio label, +label.radio-inline, +.checkbox label, +label.checkbox-inline, +.switch label { + line-height: 1.5; } + +input::-webkit-input-placeholder { + font-size: 1rem; } + +input::-moz-placeholder { + font-size: 1rem; } + +input:-ms-input-placeholder { + font-size: 1rem; } + +input::placeholder { + font-size: 1rem; } + +.checkbox label, +.radio label, +label { + font-size: 1rem; } + +.bmd-label-floating, +.bmd-label-placeholder { + top: 2.1875rem; } + +.is-focused .bmd-label-floating, +.is-focused .bmd-label-floating, +.is-filled .bmd-label-floating, +.is-filled .bmd-label-floating { + top: 1rem; + left: 0; + font-size: 0.75rem; } + +.bmd-label-static { + top: 1rem; + left: 0; + font-size: 0.75rem; } + +.bmd-help { + margin-top: 0; + font-size: 0.75rem; } + +.form-control.form-control-success, .form-control-success.custom-file-control, .form-control.form-control-warning, .form-control-warning.custom-file-control, .form-control.form-control-danger, .form-control-danger.custom-file-control { + -webkit-background-size: 0 100%, 100% 100%, 0.9375rem 0.9375rem; + background-size: 0 100%, 100% 100%, 0.9375rem 0.9375rem; } + .form-control.form-control-success, .form-control-success.custom-file-control, .form-control.form-control-success:focus, .form-control-success.custom-file-control:focus, + .bmd-form-group.is-focused .form-control.form-control-success, + .bmd-form-group.is-focused .form-control-success.custom-file-control, .form-control.form-control-warning, .form-control-warning.custom-file-control, .form-control.form-control-warning:focus, .form-control-warning.custom-file-control:focus, + .bmd-form-group.is-focused .form-control.form-control-warning, + .bmd-form-group.is-focused .form-control-warning.custom-file-control, .form-control.form-control-danger, .form-control-danger.custom-file-control, .form-control.form-control-danger:focus, .form-control-danger.custom-file-control:focus, + .bmd-form-group.is-focused .form-control.form-control-danger, + .bmd-form-group.is-focused .form-control-danger.custom-file-control { + padding-right: 0; + background-repeat: no-repeat, no-repeat; + background-position: center bottom, center calc(100% - 1px), center right 0.46875rem; } + .form-control.form-control-success:focus, .form-control-success.custom-file-control:focus, + .bmd-form-group.is-focused .form-control.form-control-success, + .bmd-form-group.is-focused .form-control-success.custom-file-control, .form-control.form-control-warning:focus, .form-control-warning.custom-file-control:focus, + .bmd-form-group.is-focused .form-control.form-control-warning, + .bmd-form-group.is-focused .form-control-warning.custom-file-control, .form-control.form-control-danger:focus, .form-control-danger.custom-file-control:focus, + .bmd-form-group.is-focused .form-control.form-control-danger, + .bmd-form-group.is-focused .form-control-danger.custom-file-control { + -webkit-background-size: 100% 100%, 100% 100%, 0.9375rem 0.9375rem; + background-size: 100% 100%, 100% 100%, 0.9375rem 0.9375rem; } + +select, select.form-control, select.custom-file-control { + -moz-appearance: none; + -webkit-appearance: none; } + +@media (min-width: 544px) { + .form-inline .input-group { + display: -webkit-inline-box; + display: -webkit-inline-flex; + display: -ms-inline-flexbox; + display: inline-flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; } } + +.input-group .input-group-addon { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + background-color: transparent; + border-color: transparent; } + +.input-group .input-group-addon + input, +.input-group input + .input-group-addon { + margin-left: .75rem; } + +.list-group { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; + padding: .5rem 0; } + .list-group.bmd-list-group-sm { + padding: .25rem 0; } + .list-group.bmd-list-group-sm .list-group-item { + padding: .5rem 1rem; } + +.bmd-list-group-col { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + min-width: 0; } + +.list-group-item { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-flow: row wrap; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + padding: 1rem; + line-height: 1; } + .list-group-item .list-group-item-text { + min-width: 0; + max-height: 2.188rem; + overflow: hidden; + text-overflow: ellipsis; } + .list-group-item :first-child { + margin-right: 2rem; } + .list-group-item > .pull-xs-right, + .list-group-item > .pull-sm-right, + .list-group-item > .pull-md-right, + .list-group-item > .pull-lg-right, + .list-group-item > .pull-xl-right, + .list-group-item > * ~ .label:last-child, + .list-group-item > * ~ .material-icons:last-child { + margin-right: 0; + margin-left: auto; } + .list-group-item .material-icons.pull-xs-right, + .list-group-item .material-icons.pull-sm-right, + .list-group-item .material-icons.pull-md-right, + .list-group-item .material-icons.pull-lg-right, + .list-group-item .material-icons.pull-xl-right, + .list-group-item .material-icons ~ .material-icons:last-child { + padding-left: 1rem; } + .list-group-item .list-group-item-text { + font-size: .875rem; + color: rgba(0, 0, 0, 0.54); } + +.table-inverse { + color: rgba(255, 255, 255, 0.84); } + +.nav-link { + text-transform: uppercase; } + +.navbar-nav .nav-link { + padding: 0.5321rem; + font-size: 0.875rem; + font-weight: 400; } + +.nav-tabs, +.nav-pills { + border: 0; } + .nav-tabs .nav-link, + .nav-pills .nav-link { + padding: 1.4286em 0.8575em; + font-size: 0.875rem; + font-weight: 500; + border: 0; } + +.nav-tabs .nav-link { + border-bottom: 0.214rem solid transparent; } + +.nav-tabs .nav-link { + color: rgba(0, 0, 0, 0.54); } + .nav-tabs .nav-link.active { + color: rgba(0, 0, 0, 0.87); + border-color: #009688; } + .nav-tabs .nav-link.active:focus, .nav-tabs .nav-link.active:hover { + border-color: #009688; } + .nav-tabs .nav-link.disabled { + color: rgba(0, 0, 0, 0.26); } + .nav-tabs .nav-link.disabled, .nav-tabs .nav-link.disabled:focus, .nav-tabs .nav-link.disabled:hover { + color: rgba(0, 0, 0, 0.26); } + +.nav-tabs.bg-primary .nav-link { + color: white; } + .nav-tabs.bg-primary .nav-link.active { + color: #fff; + border-color: #fff; } + .nav-tabs.bg-primary .nav-link.active:focus, .nav-tabs.bg-primary .nav-link.active:hover { + border-color: #fff; } + .nav-tabs.bg-primary .nav-link.disabled { + color: rgba(255, 255, 255, 0.84); } + .nav-tabs.bg-primary .nav-link.disabled, .nav-tabs.bg-primary .nav-link.disabled:focus, .nav-tabs.bg-primary .nav-link.disabled:hover { + color: rgba(255, 255, 255, 0.84); } + +.nav-tabs.bg-inverse .nav-link { + color: white; } + .nav-tabs.bg-inverse .nav-link.active { + color: #fff; + border-color: #fff; } + .nav-tabs.bg-inverse .nav-link.active:focus, .nav-tabs.bg-inverse .nav-link.active:hover { + border-color: #fff; } + .nav-tabs.bg-inverse .nav-link.disabled { + color: rgba(255, 255, 255, 0.84); } + .nav-tabs.bg-inverse .nav-link.disabled, .nav-tabs.bg-inverse .nav-link.disabled:focus, .nav-tabs.bg-inverse .nav-link.disabled:hover { + color: rgba(255, 255, 255, 0.84); } + +.nav .nav-item { + position: relative; } + +.navbar { + z-index: 1; + border: 0; + border-radius: 0; + -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-flow: row nowrap; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + -webkit-align-self: stretch; + -ms-flex-item-align: stretch; + align-self: stretch; } + .navbar .navbar-brand { + position: relative; } + .navbar > * { + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; } + .navbar > .container { + -webkit-box-flex: 1; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; } + +.alert { + border: 0; + border-radius: 0; } + +.progress { + height: 4px; + background: #c8c8c8; + border-radius: 0; + -webkit-box-shadow: none; + box-shadow: none; } + .progress .progress-bar { + -webkit-box-shadow: none; + box-shadow: none; } + +.page-item:first-child .page-link { + border-bottom-left-radius: 4em; + border-top-left-radius: 4em; } + +.page-item:last-child .page-link { + border-bottom-right-radius: 4em; + border-top-right-radius: 4em; + margin-right: 0; } + +.page-item:first-child .page-link, .page-item:last-child .page-link { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + padding-right: 0; + padding-left: 0; } + .page-item:first-child .page-link > .material-icons, .page-item:last-child .page-link > .material-icons { + font-size: 1.5em; } + +.page-link { + min-width: 2.6em; + margin-right: 0.5em; + text-align: center; + border-radius: 4em; } + .page-link:focus, .page-link:hover { + text-decoration: none; } + +.pagination-lg .page-link { + min-width: 2.8em; } + +.pagination-lg .page-link { + padding: 0.75rem 0; + font-size: 1.25rem; } + +.pagination-lg .page-item:first-child .page-link { + border-bottom-left-radius: 4em; + border-top-left-radius: 4em; } + +.pagination-lg .page-item:last-child .page-link { + border-bottom-right-radius: 4em; + border-top-right-radius: 4em; } + +.pagination-sm .page-link { + min-width: 2.2em; } + +.pagination-sm .page-link { + padding: 0.275rem 0; + font-size: 0.875rem; } + +.pagination-sm .page-item:first-child .page-link { + border-bottom-left-radius: 4em; + border-top-left-radius: 4em; } + +.pagination-sm .page-item:last-child .page-link { + border-bottom-right-radius: 4em; + border-top-right-radius: 4em; } + +h6 { + font-weight: 500; } + +.card { + border: 0; + -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); } + .card .card-header { + padding: 1rem; } + .card .card-block { + padding: 1.5rem 1rem 1rem; } + .card h1.card-title, .card h2.card-title, .card h3.card-title, .card h4.card-title, .card h5.card-title, .card h6.card-title { + font-size: 1.5rem; + font-weight: 300; } + .card .bmd-card-actions, + .card .card-footer { + padding: .5rem; } + .card.bmd-card-raised { + -webkit-box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2); + box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2); } + @media (min-width: 992px) { + .card.bmd-card-flat { + -webkit-box-shadow: none; + box-shadow: none; } } + +.modal-content { + border: 0; + border-radius: 0.125rem; } + .modal-content .modal-header { + padding: 24px 24px 0; + border-bottom: 0; } + .modal-content .modal-body { + padding: 20px 24px 24px; } + .modal-content .modal-footer { + padding: 8px 8px 8px 24px; + border-top: 0; } + .modal-content .modal-footer .btn, .modal-content .modal-footer .custom-file-control::before { + margin: 0; } + .modal-content .modal-footer .btn + .btn, .modal-content .modal-footer .custom-file-control::before + .btn, .modal-content .modal-footer .btn + .custom-file-control::before, .modal-content .modal-footer .custom-file-control::before + .custom-file-control::before { + margin-left: 8px; } + +.dropdown-menu { + display: block; + padding: .25rem 0; + border: 0; + opacity: 0; + -webkit-transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); + transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); + -o-transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), -o-transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); + transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1); + transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), -o-transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); + -webkit-transform: scale(0); + -ms-transform: scale(0); + -o-transform: scale(0); + transform: scale(0); + -webkit-transform-origin: 0 0; + -ms-transform-origin: 0 0; + -o-transform-origin: 0 0; + transform-origin: 0 0; + will-change: transform; + right: 0; + left: auto; + -webkit-transform-origin: 100% 0; + -ms-transform-origin: 100% 0; + -o-transform-origin: 100% 0; + transform-origin: 100% 0; } + @media (min-width: 768px) { + .dropdown-menu { + padding: .5rem 0; } } + .open > .dropdown-menu { + opacity: 1; + -webkit-transform: scale(1); + -ms-transform: scale(1); + -o-transform: scale(1); + transform: scale(1); } + .dropdown-menu.dropdown-menu-left { + top: 100%; + left: 0; + -webkit-transform-origin: 0 0; + -ms-transform-origin: 0 0; + -o-transform-origin: 0 0; + transform-origin: 0 0; } + .dropdown-menu.dropdown-menu-right { + right: 0; + left: auto; + -webkit-transform-origin: 100% 0; + -ms-transform-origin: 100% 0; + -o-transform-origin: 100% 0; + transform-origin: 100% 0; } + .dropdown-menu .dropdown-item { + position: relative; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-flow: row wrap; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + min-width: 7rem; + max-width: 17.5rem; + min-height: 3rem; + padding: 0.8rem 1rem 0.8rem 1rem; + overflow: hidden; + line-height: 1; + text-overflow: ellipsis; + word-wrap: break-word; } + @media (min-width: 768px) { + .dropdown-menu .dropdown-item { + padding-right: 1.5rem; + padding-left: 1.5rem; } } + +.dropdown-toggle.bmd-btn-icon::after, .dropdown-toggle.bmd-btn-fab::after { + display: none; } + +.dropdown-toggle.bmd-btn-icon ~ .dropdown-menu.dropdown-menu-top-left, .dropdown-toggle.bmd-btn-icon ~ .dropdown-menu.dropdown-menu-top-right, .dropdown-toggle.bmd-btn-fab ~ .dropdown-menu.dropdown-menu-top-left, .dropdown-toggle.bmd-btn-fab ~ .dropdown-menu.dropdown-menu-top-right { + bottom: 2rem; } + +.dropdown-toggle.bmd-btn-fab-sm ~ .dropdown-menu.dropdown-menu-top-left, .dropdown-toggle.bmd-btn-fab-sm ~ .dropdown-menu.dropdown-menu-top-right { + bottom: 2.5rem; } + +.dropdown-toggle.bmd-btn-icon ~ .dropdown-menu { + margin: 0; } + +.bmd-layout-drawer { + position: absolute; + z-index: 5; + -webkit-box-sizing: border-box; + box-sizing: border-box; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + max-height: 100%; + overflow: visible; + overflow-y: auto; + font-size: .875rem; + -webkit-transition: -webkit-transform; + transition: -webkit-transform; + -o-transition: transform, -o-transform; + transition: transform; + transition: transform, -webkit-transform, -o-transform; + will-change: transform; + -webkit-transform-style: preserve-3d; + transform-style: preserve-3d; + -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + -webkit-transition-duration: 0.2s; + -o-transition-duration: 0.2s; + transition-duration: 0.2s; + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + -o-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } + .bmd-layout-drawer > * { + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; } + .bmd-layout-drawer > header { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-pack: end; + -webkit-justify-content: flex-end; + -ms-flex-pack: end; + justify-content: flex-end; + padding: 1rem; } + .bmd-layout-drawer > header .navbar-brand { + padding-left: 1.5rem; + font-size: 1.25rem; } + .bmd-layout-drawer > .list-group { + padding-top: 1rem; } + .bmd-layout-drawer > .list-group .list-group-item { + padding-right: 2.5rem; + padding-left: 2.5rem; + font-size: .8125rem; + font-weight: 500; } + +.bmd-drawer-f-l > .bmd-layout-drawer { + top: 0; + left: 0; + width: 240px; + height: 100%; + -webkit-transform: translateX(-250px); + -ms-transform: translateX(-250px); + -o-transform: translateX(-250px); + transform: translateX(-250px); } + +.bmd-drawer-f-l > .bmd-layout-header, +.bmd-drawer-f-l > .bmd-layout-content { + margin-left: 0; } + +.bmd-drawer-f-r > .bmd-layout-drawer { + top: 0; + right: 0; + width: 240px; + height: 100%; + -webkit-transform: translateX(250px); + -ms-transform: translateX(250px); + -o-transform: translateX(250px); + transform: translateX(250px); } + +.bmd-drawer-f-r > .bmd-layout-header, +.bmd-drawer-f-r > .bmd-layout-content { + margin-right: 0; } + +.bmd-drawer-f-t > .bmd-layout-drawer { + top: 0; + left: 0; + width: 100%; + height: 100px; + -webkit-transform: translateY(-110px); + -ms-transform: translateY(-110px); + -o-transform: translateY(-110px); + transform: translateY(-110px); } + +.bmd-drawer-f-t > .bmd-layout-content { + margin-top: 0; } + +.bmd-drawer-f-b > .bmd-layout-drawer { + bottom: 0; + left: 0; + width: 100%; + height: 100px; + -webkit-transform: translateY(110px); + -ms-transform: translateY(110px); + -o-transform: translateY(110px); + transform: translateY(110px); } + +.bmd-drawer-f-b > .bmd-layout-content { + margin-bottom: 0; } + +:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-l > .bmd-layout-header { + width: calc(100% - 240px); + margin-left: 240px; } + +:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-l > .bmd-layout-drawer { + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + -o-transform: translateX(0); + transform: translateX(0); } + +:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-l > .bmd-layout-content { + margin-left: 240px; } + +:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-r > .bmd-layout-header { + width: calc(100% - 240px); + margin-right: 240px; } + +:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-r > .bmd-layout-drawer { + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + -o-transform: translateX(0); + transform: translateX(0); } + +:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-r > .bmd-layout-content { + margin-right: 240px; } + +:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-t > .bmd-layout-header { + margin-top: 100px; } + +:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-t > .bmd-layout-drawer { + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + -o-transform: translateY(0); + transform: translateY(0); } + +:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-b > .bmd-layout-drawer { + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + -o-transform: translateY(0); + transform: translateY(0); } + +:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-b > .bmd-layout-content { + margin-bottom: 100px; } + +:not(.bmd-drawer-out).bmd-drawer-overlay.bmd-drawer-overlay > .bmd-layout-backdrop .in { + visibility: visible; + background-color: rgba(0, 0, 0, 0.5); } + +@supports (pointer-events: auto) { + :not(.bmd-drawer-out).bmd-drawer-overlay.bmd-drawer-overlay > .bmd-layout-backdrop.in { + pointer-events: auto; + opacity: 1; } } + +:not(.bmd-drawer-out).bmd-drawer-overlay.bmd-drawer-overlay.bmd-drawer-f-l > .bmd-layout-header, +:not(.bmd-drawer-out).bmd-drawer-overlay.bmd-drawer-overlay.bmd-drawer-f-l > .bmd-layout-content { + width: 100%; + margin-left: 0; } + +:not(.bmd-drawer-out).bmd-drawer-overlay.bmd-drawer-overlay.bmd-drawer-f-r > .bmd-layout-header, +:not(.bmd-drawer-out).bmd-drawer-overlay.bmd-drawer-overlay.bmd-drawer-f-r > .bmd-layout-content { + width: 100%; + margin-right: 0; } + +:not(.bmd-drawer-out).bmd-drawer-overlay.bmd-drawer-overlay > .bmd-layout-backdrop .in { + visibility: visible; + background-color: rgba(0, 0, 0, 0.5); } + +@supports (pointer-events: auto) { + :not(.bmd-drawer-out).bmd-drawer-overlay.bmd-drawer-overlay > .bmd-layout-backdrop.in { + pointer-events: auto; + opacity: 1; } } + +:not(.bmd-drawer-out).bmd-drawer-overlay.bmd-drawer-overlay.bmd-drawer-f-t > .bmd-layout-header { + margin-top: 0; } + +:not(.bmd-drawer-out).bmd-drawer-overlay.bmd-drawer-overlay.bmd-drawer-f-b > .bmd-layout-content { + margin-bottom: 0; } + +@media (min-width: 544px) { + :not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-l > .bmd-layout-header { + width: calc(100% - 240px); + margin-left: 240px; } + :not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-l > .bmd-layout-drawer { + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + -o-transform: translateX(0); + transform: translateX(0); } + :not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-l > .bmd-layout-content { + margin-left: 240px; } + :not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-r > .bmd-layout-header { + width: calc(100% - 240px); + margin-right: 240px; } + :not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-r > .bmd-layout-drawer { + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + -o-transform: translateX(0); + transform: translateX(0); } + :not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-r > .bmd-layout-content { + margin-right: 240px; } } + +@media (min-width: 544px) { + :not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-t > .bmd-layout-header { + margin-top: 100px; } + :not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-t > .bmd-layout-drawer { + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + -o-transform: translateY(0); + transform: translateY(0); } + :not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-b > .bmd-layout-drawer { + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + -o-transform: translateY(0); + transform: translateY(0); } + :not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-b > .bmd-layout-content { + margin-bottom: 100px; } } + +@media (max-width: 767px) { + :not(.bmd-drawer-out).bmd-drawer-overlay-sm-down > .bmd-layout-backdrop .in { + visibility: visible; + background-color: rgba(0, 0, 0, 0.5); } + @supports (pointer-events: auto) { + :not(.bmd-drawer-out).bmd-drawer-overlay-sm-down > .bmd-layout-backdrop.in { + pointer-events: auto; + opacity: 1; } } + :not(.bmd-drawer-out).bmd-drawer-overlay-sm-down.bmd-drawer-f-l > .bmd-layout-header, + :not(.bmd-drawer-out).bmd-drawer-overlay-sm-down.bmd-drawer-f-l > .bmd-layout-content { + width: 100%; + margin-left: 0; } + :not(.bmd-drawer-out).bmd-drawer-overlay-sm-down.bmd-drawer-f-r > .bmd-layout-header, + :not(.bmd-drawer-out).bmd-drawer-overlay-sm-down.bmd-drawer-f-r > .bmd-layout-content { + width: 100%; + margin-right: 0; } } + +@media (max-width: 767px) { + :not(.bmd-drawer-out).bmd-drawer-overlay-sm-down > .bmd-layout-backdrop .in { + visibility: visible; + background-color: rgba(0, 0, 0, 0.5); } + @supports (pointer-events: auto) { + :not(.bmd-drawer-out).bmd-drawer-overlay-sm-down > .bmd-layout-backdrop.in { + pointer-events: auto; + opacity: 1; } } + :not(.bmd-drawer-out).bmd-drawer-overlay-sm-down.bmd-drawer-f-t > .bmd-layout-header { + margin-top: 0; } + :not(.bmd-drawer-out).bmd-drawer-overlay-sm-down.bmd-drawer-f-b > .bmd-layout-content { + margin-bottom: 0; } } + +@media (min-width: 768px) { + :not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-l > .bmd-layout-header { + width: calc(100% - 240px); + margin-left: 240px; } + :not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-l > .bmd-layout-drawer { + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + -o-transform: translateX(0); + transform: translateX(0); } + :not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-l > .bmd-layout-content { + margin-left: 240px; } + :not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-r > .bmd-layout-header { + width: calc(100% - 240px); + margin-right: 240px; } + :not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-r > .bmd-layout-drawer { + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + -o-transform: translateX(0); + transform: translateX(0); } + :not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-r > .bmd-layout-content { + margin-right: 240px; } } + +@media (min-width: 768px) { + :not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-t > .bmd-layout-header { + margin-top: 100px; } + :not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-t > .bmd-layout-drawer { + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + -o-transform: translateY(0); + transform: translateY(0); } + :not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-b > .bmd-layout-drawer { + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + -o-transform: translateY(0); + transform: translateY(0); } + :not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-b > .bmd-layout-content { + margin-bottom: 100px; } } + +@media (max-width: 991px) { + :not(.bmd-drawer-out).bmd-drawer-overlay-md-down > .bmd-layout-backdrop .in { + visibility: visible; + background-color: rgba(0, 0, 0, 0.5); } + @supports (pointer-events: auto) { + :not(.bmd-drawer-out).bmd-drawer-overlay-md-down > .bmd-layout-backdrop.in { + pointer-events: auto; + opacity: 1; } } + :not(.bmd-drawer-out).bmd-drawer-overlay-md-down.bmd-drawer-f-l > .bmd-layout-header, + :not(.bmd-drawer-out).bmd-drawer-overlay-md-down.bmd-drawer-f-l > .bmd-layout-content { + width: 100%; + margin-left: 0; } + :not(.bmd-drawer-out).bmd-drawer-overlay-md-down.bmd-drawer-f-r > .bmd-layout-header, + :not(.bmd-drawer-out).bmd-drawer-overlay-md-down.bmd-drawer-f-r > .bmd-layout-content { + width: 100%; + margin-right: 0; } } + +@media (max-width: 991px) { + :not(.bmd-drawer-out).bmd-drawer-overlay-md-down > .bmd-layout-backdrop .in { + visibility: visible; + background-color: rgba(0, 0, 0, 0.5); } + @supports (pointer-events: auto) { + :not(.bmd-drawer-out).bmd-drawer-overlay-md-down > .bmd-layout-backdrop.in { + pointer-events: auto; + opacity: 1; } } + :not(.bmd-drawer-out).bmd-drawer-overlay-md-down.bmd-drawer-f-t > .bmd-layout-header { + margin-top: 0; } + :not(.bmd-drawer-out).bmd-drawer-overlay-md-down.bmd-drawer-f-b > .bmd-layout-content { + margin-bottom: 0; } } + +@media (min-width: 992px) { + :not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-l > .bmd-layout-header { + width: calc(100% - 240px); + margin-left: 240px; } + :not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-l > .bmd-layout-drawer { + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + -o-transform: translateX(0); + transform: translateX(0); } + :not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-l > .bmd-layout-content { + margin-left: 240px; } + :not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-r > .bmd-layout-header { + width: calc(100% - 240px); + margin-right: 240px; } + :not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-r > .bmd-layout-drawer { + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + -o-transform: translateX(0); + transform: translateX(0); } + :not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-r > .bmd-layout-content { + margin-right: 240px; } } + +@media (min-width: 992px) { + :not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-t > .bmd-layout-header { + margin-top: 100px; } + :not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-t > .bmd-layout-drawer { + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + -o-transform: translateY(0); + transform: translateY(0); } + :not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-b > .bmd-layout-drawer { + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + -o-transform: translateY(0); + transform: translateY(0); } + :not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-b > .bmd-layout-content { + margin-bottom: 100px; } } + +@media (max-width: 1199px) { + :not(.bmd-drawer-out).bmd-drawer-overlay-lg-down > .bmd-layout-backdrop .in { + visibility: visible; + background-color: rgba(0, 0, 0, 0.5); } + @supports (pointer-events: auto) { + :not(.bmd-drawer-out).bmd-drawer-overlay-lg-down > .bmd-layout-backdrop.in { + pointer-events: auto; + opacity: 1; } } + :not(.bmd-drawer-out).bmd-drawer-overlay-lg-down.bmd-drawer-f-l > .bmd-layout-header, + :not(.bmd-drawer-out).bmd-drawer-overlay-lg-down.bmd-drawer-f-l > .bmd-layout-content { + width: 100%; + margin-left: 0; } + :not(.bmd-drawer-out).bmd-drawer-overlay-lg-down.bmd-drawer-f-r > .bmd-layout-header, + :not(.bmd-drawer-out).bmd-drawer-overlay-lg-down.bmd-drawer-f-r > .bmd-layout-content { + width: 100%; + margin-right: 0; } } + +@media (max-width: 1199px) { + :not(.bmd-drawer-out).bmd-drawer-overlay-lg-down > .bmd-layout-backdrop .in { + visibility: visible; + background-color: rgba(0, 0, 0, 0.5); } + @supports (pointer-events: auto) { + :not(.bmd-drawer-out).bmd-drawer-overlay-lg-down > .bmd-layout-backdrop.in { + pointer-events: auto; + opacity: 1; } } + :not(.bmd-drawer-out).bmd-drawer-overlay-lg-down.bmd-drawer-f-t > .bmd-layout-header { + margin-top: 0; } + :not(.bmd-drawer-out).bmd-drawer-overlay-lg-down.bmd-drawer-f-b > .bmd-layout-content { + margin-bottom: 0; } } + +@media (min-width: 1200px) { + :not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-l > .bmd-layout-header { + width: calc(100% - 240px); + margin-left: 240px; } + :not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-l > .bmd-layout-drawer { + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + -o-transform: translateX(0); + transform: translateX(0); } + :not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-l > .bmd-layout-content { + margin-left: 240px; } + :not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-r > .bmd-layout-header { + width: calc(100% - 240px); + margin-right: 240px; } + :not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-r > .bmd-layout-drawer { + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + -o-transform: translateX(0); + transform: translateX(0); } + :not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-r > .bmd-layout-content { + margin-right: 240px; } } + +@media (min-width: 1200px) { + :not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-t > .bmd-layout-header { + margin-top: 100px; } + :not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-t > .bmd-layout-drawer { + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + -o-transform: translateY(0); + transform: translateY(0); } + :not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-b > .bmd-layout-drawer { + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + -o-transform: translateY(0); + transform: translateY(0); } + :not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-b > .bmd-layout-content { + margin-bottom: 100px; } } + +:not(.bmd-drawer-out).bmd-drawer-overlay-xl-down > .bmd-layout-backdrop .in { + visibility: visible; + background-color: rgba(0, 0, 0, 0.5); } + +@supports (pointer-events: auto) { + :not(.bmd-drawer-out).bmd-drawer-overlay-xl-down > .bmd-layout-backdrop.in { + pointer-events: auto; + opacity: 1; } } + +:not(.bmd-drawer-out).bmd-drawer-overlay-xl-down.bmd-drawer-f-l > .bmd-layout-header, +:not(.bmd-drawer-out).bmd-drawer-overlay-xl-down.bmd-drawer-f-l > .bmd-layout-content { + width: 100%; + margin-left: 0; } + +:not(.bmd-drawer-out).bmd-drawer-overlay-xl-down.bmd-drawer-f-r > .bmd-layout-header, +:not(.bmd-drawer-out).bmd-drawer-overlay-xl-down.bmd-drawer-f-r > .bmd-layout-content { + width: 100%; + margin-right: 0; } + +:not(.bmd-drawer-out).bmd-drawer-overlay-xl-down > .bmd-layout-backdrop .in { + visibility: visible; + background-color: rgba(0, 0, 0, 0.5); } + +@supports (pointer-events: auto) { + :not(.bmd-drawer-out).bmd-drawer-overlay-xl-down > .bmd-layout-backdrop.in { + pointer-events: auto; + opacity: 1; } } + +:not(.bmd-drawer-out).bmd-drawer-overlay-xl-down.bmd-drawer-f-t > .bmd-layout-header { + margin-top: 0; } + +:not(.bmd-drawer-out).bmd-drawer-overlay-xl-down.bmd-drawer-f-b > .bmd-layout-content { + margin-bottom: 0; } + +.ripple { + position: relative; } + +.ripple-container { + position: absolute; + top: 0; + left: 0; + z-index: 1; + width: 100%; + height: 100%; + overflow: hidden; + pointer-events: none; + border-radius: inherit; } + .ripple-container .ripple-decorator { + position: absolute; + width: 20px; + height: 20px; + margin-top: -10px; + margin-left: -10px; + pointer-events: none; + background-color: rgba(0, 0, 0, 0.05); + border-radius: 100%; + opacity: 0; + -webkit-transform: scale(1); + -ms-transform: scale(1); + -o-transform: scale(1); + transform: scale(1); + -webkit-transform-origin: 50%; + -ms-transform-origin: 50%; + -o-transform-origin: 50%; + transform-origin: 50%; } + .ripple-container .ripple-decorator.ripple-on { + opacity: 0.1; + -webkit-transition: opacity 0.15s ease-in 0s, -webkit-transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s; + transition: opacity 0.15s ease-in 0s, -webkit-transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s; + -o-transition: opacity 0.15s ease-in 0s, transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s, -o-transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s; + transition: opacity 0.15s ease-in 0s, transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s; + transition: opacity 0.15s ease-in 0s, transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s, -webkit-transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s, -o-transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s; } + .ripple-container .ripple-decorator.ripple-out { + opacity: 0; + -webkit-transition: opacity 0.1s linear 0s !important; + -o-transition: opacity 0.1s linear 0s !important; + transition: opacity 0.1s linear 0s !important; } + +/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1peGlucy9fdHlwZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19ub3JtYWxpemUuc2NzcyIsImJvb3RzdHJhcC1tYXRlcmlhbC1kZXNpZ24uY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wcmludC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yZWJvb3Quc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCJ2YXJpYWJsZXMvYm9vdHN0cmFwL190eXBlLnNjc3MiLCJ2YXJpYWJsZXMvX2NvbG9ycy5zY3NzIiwidmFyaWFibGVzL2Jvb3RzdHJhcC9fYm9keS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faG92ZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RhYi1mb2N1cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190eXBlLnNjc3MiLCJ2YXJpYWJsZXMvYm9vdHN0cmFwL19zcGFjaW5nLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19pbWFnZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2ltYWdlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCJ2YXJpYWJsZXMvYm9vdHN0cmFwL19jb21wb25lbnRzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX21peGlucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jb2RlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2dyaWQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLWZyYW1ld29yay5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190YWJsZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RhYmxlLXJvdy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19mb3Jtcy5zY3NzIiwidmFyaWFibGVzL2Jvb3RzdHJhcC9fZm9ybXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zvcm1zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbnMuc2NzcyIsInZhcmlhYmxlcy9ib290c3RyYXAvX2J1dHRvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYW5pbWF0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Ryb3Bkb3duLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19uYXYtZGl2aWRlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcmVzZXQtZmlsdGVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2xlYXJmaXguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY3VzdG9tLWZvcm1zLnNjc3MiLCJ2YXJpYWJsZXMvYm9vdHN0cmFwL19jdXN0b20tZm9ybXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2LnNjc3MiLCJ2YXJpYWJsZXMvYm9vdHN0cmFwL19uYXYuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2YmFyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NhcmQuc2NzcyIsInZhcmlhYmxlcy9ib290c3RyYXAvX2NhcmQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NhcmRzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JyZWFkY3J1bWIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcGFnaW5hdGlvbi5zY3NzIiwidmFyaWFibGVzL2Jvb3RzdHJhcC9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190YWdzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190YWcuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fanVtYm90cm9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2FsZXJ0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19hbGVydC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wcm9ncmVzcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19wcm9ncmVzcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19tZWRpYS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19saXN0LWdyb3VwLnNjc3MiLCJ2YXJpYWJsZXMvYm9vdHN0cmFwL19saXN0LWdyb3VwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0LWdyb3VwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2xvc2Uuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbW9kYWwuc2NzcyIsInZhcmlhYmxlcy9ib290c3RyYXAvX21vZGFscy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190b29sdGlwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19yZXNldC10ZXh0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3BvcG92ZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2Fyb3VzZWwuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2JhY2tncm91bmQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhY2tncm91bmQtdmFyaWFudC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fY2xlYXJmaXguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2Rpc3BsYXkuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2ZsZXguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3B1bGxzLnNjc3MiLCJfY29yZS1ib290c3RyYXAuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NjcmVlbnJlYWRlcnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3NjcmVlbi1yZWFkZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NwYWNpbmcuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3RleHQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtdHJ1bmNhdGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtZW1waGFzaXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtaGlkZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fdmlzaWJpbGl0eS5zY3NzIiwiX3JlYm9vdC5zY3NzIiwiX3ZhcmlhYmxlcy5zY3NzIiwiX2xheW91dC5zY3NzIiwibWl4aW5zL19hbmltYXRpb25zLnNjc3MiLCJfYnV0dG9ucy5zY3NzIiwibWl4aW5zL19idXR0b25zLnNjc3MiLCJtaXhpbnMvX2hvdmVyLnNjc3MiLCJtaXhpbnMvX2Zvcm1zLnNjc3MiLCJfY2hlY2tib3hlcy5zY3NzIiwiX2N1c3RvbS1mb3Jtcy5zY3NzIiwiX3N3aXRjaGVzLnNjc3MiLCJtaXhpbnMvX3V0aWxpdGllcy5zY3NzIiwiX3JhZGlvcy5zY3NzIiwiX2Zvcm1zLnNjc3MiLCJfaW5wdXQtZ3JvdXAuc2NzcyIsIl9saXN0LWdyb3VwLnNjc3MiLCJfdGFibGVzLnNjc3MiLCJfbmF2LnNjc3MiLCJtaXhpbnMvX25hdnMuc2NzcyIsIl9uYXZiYXIuc2NzcyIsIl9hbGVydHMuc2NzcyIsIl9wcm9ncmVzcy5zY3NzIiwiX3BhZ2luYXRpb24uc2NzcyIsIl90eXBlLnNjc3MiLCJfY2FyZHMuc2NzcyIsIl9tb2RhbC5zY3NzIiwiX2Ryb3Bkb3duLnNjc3MiLCJ2YXJpYWJsZXMvX21lbnUuc2NzcyIsIl9kcmF3ZXIuc2NzcyIsIm1peGlucy9fZHJhd2VyLnNjc3MiLCJ2YXJpYWJsZXMvX2RyYXdlci5zY3NzIiwibWl4aW5zL19sYXlvdXQuc2NzcyIsIl9yaXBwbGVzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0E7RUFDRSxtQkFBbUI7RUFDbkIsb0JBQW9CLEVBQ3JCOztBQ1ZELDRFQUE0RTtBQU81RTtFQUNFLHdCQUF3QjtFQUN4QiwyQkFBMkI7RUFDM0IsK0JBQStCLEVBQ2hDOztBQU1EO0VBQ0UsVUFBVSxFQUNYOztBQVdEOzs7Ozs7Ozs7Ozs7RUFZRSxlQUFlLEVBQ2hCOztBQU1EOzs7O0VBSUUsc0JBQXNCLEVBQ3ZCOztBQU1EO0VBQ0UsY0FBYztFQUNkLFVBQVUsRUFDWDs7QUFNRDtFQUNFLHlCQUF5QixFQUMxQjs7QUFPRDs7RUFFRSxjQUFjLEVBQ2Y7O0FBU0Q7RUFDRSw4QkFBOEIsRUFDL0I7O0FBT0Q7O0VBRUUsaUJBQWlCLEVBQ2xCOztBQVVEO0VBQ0Usb0JBQW9CO0VBQ3BCLDJCQUEyQjtFQUMzQixrQ0FBa0MsRUFDbkM7O0FBTUQ7O0VBRUUscUJBQXFCLEVBQ3RCOztBQU1EOztFQUVFLG9CQUFvQixFQUNyQjs7QUFNRDtFQUNFLG1CQUFtQixFQUNwQjs7QUFPRDtFQUNFLGVBQWU7RUFDZixpQkFBaUIsRUFDbEI7O0FBTUQ7RUFDRSx1QkFBdUI7RUFDdkIsWUFBWSxFQUNiOztBQU1EO0VBQ0UsZUFBZSxFQUNoQjs7QUFPRDs7RUFFRSxlQUFlO0VBQ2YsZUFBZTtFQUNmLG1CQUFtQjtFQUNuQix5QkFBeUIsRUFDMUI7O0FBRUQ7RUFD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RVBoQjtFQUtDO0lGa0JSLFlBQXVELEVFaEI5QztFQUZEO0lGa0JSLGdCQUErQixFRWhCdEI7RUFGRDtJRmtCUixpQkFBK0IsRUVoQnRCO0VBRkQ7SUZrQlIsV0FBK0IsRUVoQnRCO0VBRkQ7SUZrQlIsaUJBQStCLEVFaEJ0QjtFQUZEO0lGa0JSLGlCQUErQixFRWhCdEI7RUFGRDtJRmtCUixXQUErQixFRWhCdEI7RUFGRDtJRmtCUixpQkFBK0IsRUVoQnRCO0VBRkQ7SUZrQlIsaUJBQStCLEVFaEJ0QjtFQUZEO0lGa0JSLFdBQStCLEVFaEJ0QjtFQUZEO0lGa0JSLGlCQUErQixFRWhCdEI7RUFGRDtJRmtCUixpQkFBK0IsRUVoQnRCO0VBRkQ7SUZrQlIsWUFBK0IsRUVoQnRCO0VBRkQ7SUZjUixXQUFzRCxFRVo3QztFQUZEO0lGY1IsZUFBOEIsRUVackI7RUFGRDtJRmNSLGdCQUE4QixFRVpyQjtFQUZEO0lGY1IsVUFBOEIsRUVackI7RUFGRDtJRmNSLGdCQUE4QixFRVpyQjtFQUZEO0lGY1IsZ0JBQThCLEVFWnJCO0VBRkQ7SUZjUixVQUE4QixFRVpyQjtFQUZEO0lGY1IsZ0JBQThCLEVFWnJCO0VBRkQ7SUZjUixnQkFBOEIsRUVackI7RUFGRDtJRmNSLFVBQThCLEVFWnJCO0VBRkQ7SUZjUixnQkFBOEIsRUVackI7RUFGRDtJRmNSLGdCQUE4QixFRVpyQjtFQUZEO0lGY1IsV0FBOEIsRUVackI7RUFPRDtJRkNSLGdCQUF1QixFRUNkO0VBRkQ7SUZDUixzQkFBdUIsRUVDZDtFQUZEO0lGQ1IsdUJBQXVCLEVFQ2Q7RUFGRDtJRkNSLGlCQUF1QixFRUNkO0VBRkQ7SUZDUix1QkFBdUIsRUVDZDtFQUZEO0lGQ1IsdUJBQXVCLEVFQ2Q7RUFGRDtJRkNSLGlCQUF1QixFRUNkO0VBRkQ7SUZDUix1QkFBdUIsRUVDZDtFQUZEO0lGQ1IsdUJBQXVCLEVFQ2Q7RUFGRDtJRkNSLGlCQUF1QixFRUNkO0VBRkQ7SUZDUix1QkFBdUIsRUVDZDtFQUZEO0lGQ1IsdUJBQXVCLEVFQ2QsRUFBQTs7QURuQlA7RUNYSTtJ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d0N3QjtZWHhDeEIsaUJXd0N3QixFQUN6Qjs7QUFJSDs7O0VBRUUscUJBQXFCLEVBQ3RCOztBQU9EO0VFcERFLFkxQnFRbUM7RTBCcFFuQywwQnhCa0tnQjtFd0JqS2hCLHNCeEJpS2dCO0VXdEtkLHlCWThCaUM7VVo5QmpDLGlCWThCaUMsRUQyQnBDO0VBRkQ7SUU5Q0ksWTFCK1BpQztJMEI5UGpDLDBCQVZ3QjtJQVdwQixzQkFWZ0IsRXRCR0M7RW9CbUR6QjtJRXZDSSxZMUJ3UGlDO0kwQnZQakMsMEJBakJ3QjtJQWtCcEIsc0JBakJnQixFQWtCckI7RUZvQ0g7O0lFL0JJLFkxQmdQaUM7STBCL09qQywwQkF6QndCO0lBMEJwQixzQkF6QmdCO0lBMkJwQix1QkFBdUI7SWI1QnZCLHlCWStCaUM7WVovQmpDLGlCWStCaUMsRUNPbEM7SUZpQkg7Ozs7TUVyQk0sWTFCc08rQjtNMEJyTy9CLDBCQUF3QjtNQUNwQixzQkFBb0IsRUFDekI7RUZrQkw7SUVYTSwwQnhCMEhZO0l3QnpIUixzQnhCeUhRLEV3QnhIYjtFRlNMO0lFUE0sMEJ4QnNIWTtJd0JySFIsc0J4QnFIUSxFRWxLTzs7QW9Cc0R6QjtFRXZERSwyQnhCeVZVO0V3QnhWViwwQnZCTmtDO0V1Qk9sQyxtQjFCeVFtQztFYTlRakMseUJZOEJpQztVWjlCakMsaUJZOEJpQyxFRDhCcEM7RUFGRDtJRWpESSwyQnhCbVZRO0l3QmxWUiwwQkFWd0I7SUFXcEIsc0JBVmdCLEV0QkdDO0VvQnNEekI7SUUxQ0ksMkJ4QjRVUTtJd0IzVVIsMEJBakJ3QjtJQWtCcEIsc0JBakJnQixFQWtCckI7RUZ1Q0g7O0lFbENJLDJCeEJvVVE7SXdCblVSLDBCQXpCd0I7SUEwQnBCLHNCQXpCZ0I7SUEyQnBCLHVCQUF1QjtJYjVCdkIseUJZK0JpQztZWi9CakMsaUJZK0JpQyxFQ09sQztJRm9CSDs7OztNRXhCTSwyQnhCMFRNO013QnpUTiwwQkFBd0I7TUFDcEIsc0JBQW9CLEVBQ3pCO0VGcUJMO0lFZE0sMEJ2QjlDOEI7SXVCK0MxQixtQjFCaU8yQixFMEJoT2hDO0VGWUw7SUVWTSwwQnZCbEQ4QjtJdUJtRDFCLG1CMUI2TjJCLEVJMVFaOztBb0J5RHpCO0VFMURFLFkxQjZRbUM7RTBCNVFuQywwQnhCZ0lzQjtFd0IvSHRCLHNCeEIrSHNCO0VXcElwQix5Qlk4QmlDO1VaOUJqQyxpQlk4QmlDLEVEaUNwQztFQUZEO0lFcERJLFkxQnVRaUM7STBCdFFqQywwQkFWd0I7SUFXcEIsc0JBVmdCLEV0QkdDO0VvQnlEekI7SUU3Q0ksWTFCZ1FpQztJMEIvUGpDLDBCQWpCd0I7SUFrQnBCLHNCQWpCZ0IsRUFrQnJCO0VGMENIOztJRXJDSSxZMUJ3UGlDO0kwQnZQakMsMEJBekJ3QjtJQTBCcEIsc0JBekJnQjtJQTJCcEIsdUJBQXVCO0liNUJ2Qix5QlkrQmlDO1laL0JqQyxpQlkrQmlDLEVDT2xDO0lGdUJIOzs7O01FM0JNLFkxQjhPK0I7TTBCN08vQiwwQkFBd0I7TUFDcEIsc0JBQW9CLEVBQ3pCO0VGd0JMO0lFakJNLDBCeEJ3RmtCO0l3QnZGZCxzQnhCdUZjLEV3QnRGbkI7RUZlTDtJRWJNLDBCeEJvRmtCO0l3Qm5GZCxzQnhCbUZjLEVFaElDOztBb0I0RHpCO0VFN0RFLFkxQmlSbUM7RTBCaFJuQywwQnhCbUxpQjtFd0JsTGpCLHNCeEJrTGlCO0VXdkxmLHlCWThCaUM7VVo5QmpDLGlCWThCaUMsRURvQ3BDO0VBRkQ7SUV2REksWTFCMlFpQztJMEIxUWpDLDBCQVZ3QjtJQVdwQixzQkFWZ0IsRXRCR0M7RW9CNER6QjtJRWhESSxZMUJvUWlDO0kwQm5RakMsMEJBakJ3QjtJQWtCcEIsc0JBakJnQixFQWtCckI7RUY2Q0g7O0lFeENJLFkxQjRQaUM7STBCM1BqQywwQkF6QndCO0lBMEJwQixzQkF6QmdCO0lBMkJwQix1QkFBdUI7SWI1QnZCLHlCWStCaUM7WVovQmpDLGlCWStCaUMsRUNPbEM7SUYwQkg7Ozs7TUU5Qk0sWTFCa1ArQjtNMEJqUC9CLDBCQUF3QjtNQUNwQixzQkFBb0IsRUFDekI7RUYyQkw7SUVwQk0sMEJ4QjJJYTtJd0IxSVQsc0J4QjBJUyxFd0J6SWQ7RUZrQkw7SUVoQk0sMEJ4QnVJYTtJd0J0SVQsc0J4QnNJUyxFRW5MTTs7QW9CK0R6QjtFRWhFRSxZMUJxUm1DO0UwQnBSbkMsMEJ4QnlSdUI7RXdCeFJ2QixzQnhCd1J1QjtFVzdSckIseUJZOEJpQztVWjlCakMsaUJZOEJpQyxFRHVDcEM7RUFGRDtJRTFESSxZMUIrUWlDO0kwQjlRakMsMEJBVndCO0lBV3BCLHNCQVZnQixFdEJHQztFb0IrRHpCO0lFbkRJLFkxQndRaUM7STBCdlFqQywwQkFqQndCO0lBa0JwQixzQkFqQmdCLEVBa0JyQjtFRmdESDs7SUUzQ0ksWTFCZ1FpQztJMEIvUGpDLDBCQXpCd0I7SUEwQnBCLHNCQXpCZ0I7SUEyQnBCLHVCQUF1QjtJYjVCdkIseUJZK0JpQztZWi9CakMsaUJZK0JpQyxFQ09sQztJRjZCSDs7OztNRWpDTSxZMUJzUCtCO00wQnJQL0IsMEJBQXdCO01BQ3BCLHNCQUFvQixFQUN6QjtFRjhCTDtJRXZCTSwwQnhCaVBtQjtJd0JoUGYsc0J4QmdQZSxFd0IvT3BCO0VGcUJMO0lFbkJNLDBCeEI2T21CO0l3QjVPZixzQnhCNE9lLEVFelJBOztBb0JrRXpCO0VFbkVFLFkxQnlSbUM7RTBCeFJuQywwQnhCMEJlO0V3QnpCZixzQnhCeUJlO0VXOUJiLHlCWThCaUM7VVo5QmpDLGlCWThCaUMsRUQwQ3BDO0VBRkQ7SUU3REksWTFCbVJpQztJMEJsUmpDLDBCQVZ3QjtJQVdwQixzQkFWZ0IsRXRCR0M7RW9Ca0V6QjtJRXRESSxZMUI0UWlDO0kwQjNRakMsMEJBakJ3QjtJQWtCcEIsc0JBakJnQixFQWtCckI7RUZtREg7O0lFOUNJLFkxQm9RaUM7STBCblFqQywwQkF6QndCO0lBMEJwQixzQkF6QmdCO0lBMkJwQix1QkFBdUI7SWI1QnZCLHlCWStCaUM7WVovQmpDLGlCWStCaUMsRUNPbEM7SUZnQ0g7Ozs7TUVwQ00sWTFCMFArQjtNMEJ6UC9CLDBCQUF3QjtNQUNwQixzQkFBb0IsRUFDekI7RUZpQ0w7SUUxQk0sMEJ4QmRXO0l3QmVQLHNCeEJmTyxFd0JnQlo7RUZ3Qkw7SUV0Qk0sMEJ4QmxCVztJd0JtQlAsc0J4Qm5CTyxFRTFCUTs7QW9CdUV6QjtFRXBCRSxleEIrR2dCO0V3QjlHaEIsdUJBQXVCO0VBQ3ZCLDhCQUE4QjtFQUM5QixzQnhCNEdnQixFc0J6RmpCO0VBRkQ7SUVkSSxZQUFZO0lBQ1osMEJ4QndHYztJd0J2R1Ysc0J4QnVHVSxFRWxLTztFb0J1RXpCO0lFUEksWUFBWTtJQUNaLDBCeEJpR2M7SXdCaEdWLHNCeEJnR1UsRXdCL0ZmO0VGSUg7O0lFQ0ksWUFBWTtJQUNaLDBCeEJ5RmM7SXdCeEZWLHNCeEJ3RlUsRXdCL0VmO0lGWkg7Ozs7TUVRTSxZQUFZO01BQ1osMEJBQXdCO01BQ3BCLHNCQUFvQixFQUN6QjtFRlhMO0lFa0JNLHNCQUFxQixFQUN0QjtFRm5CTDtJRXFCTSxzQkFBcUIsRXRCNUZGOztBb0IwRXpCO0VFdkJFLFkxQnVObUM7RTBCdE5uQyx1QkFBdUI7RUFDdkIsOEJBQThCO0VBQzlCLG1CMUJvTm1DLEV3QjlMcEM7RUFGRDtJRWpCSSxZQUFZO0lBQ1osdUIxQmdOaUM7STBCL003QixtQjFCK002QixFSTFRWjtFb0IwRXpCO0lFVkksWUFBWTtJQUNaLHVCMUJ5TWlDO0kwQnhNN0IsbUIxQndNNkIsRTBCdk1sQztFRk9IOztJRUZJLFlBQVk7SUFDWix1QjFCaU1pQztJMEJoTTdCLG1CMUJnTTZCLEUwQnZMbEM7SUZUSDs7OztNRUtNLFlBQVk7TUFDWiwwQkFBd0I7TUFDcEIsc0JBQW9CLEVBQ3pCO0VGUkw7SUVlTSxvQkFBcUIsRUFDdEI7RUZoQkw7SUVrQk0sb0JBQXFCLEV0QjVGRjs7QW9CNkV6QjtFRTFCRSxleEI2RXNCO0V3QjVFdEIsdUJBQXVCO0VBQ3ZCLDhCQUE4QjtFQUM5QixzQnhCMEVzQixFc0JqRHZCO0VBRkQ7SUVwQkksWUFBWTtJQUNaLDBCeEJzRW9CO0l3QnJFaEIsc0J4QnFFZ0IsRUVoSUM7RW9CNkV6QjtJRWJJLFlBQVk7SUFDWiwwQnhCK0RvQjtJd0I5RGhCLHNCeEI4RGdCLEV3QjdEckI7RUZVSDs7SUVMSSxZQUFZO0lBQ1osMEJ4QnVEb0I7SXdCdERoQixzQnhCc0RnQixFd0I3Q3JCO0lGTkg7Ozs7TUVFTSxZQUFZO01BQ1osMEJBQXdCO01BQ3BCLHNCQUFvQixFQUN6QjtFRkxMO0lFWU0sc0JBQXFCLEVBQ3RCO0VGYkw7SUVlTSxzQkFBcUIsRXRCNUZGOztBb0JnRnpCO0VFN0JFLGV4QmdJaUI7RXdCL0hqQix1QkFBdUI7RUFDdkIsOEJBQThCO0VBQzlCLHNCeEI2SGlCLEVzQmpHbEI7RUFGRDtJRXZCSSxZQUFZO0lBQ1osMEJ4QnlIZTtJd0J4SFgsc0J4QndIVyxFRW5MTTtFb0JnRnpCO0lFaEJJLFlBQVk7SUFDWiwwQnhCa0hlO0l3QmpIWCxzQnhCaUhXLEV3QmhIaEI7RUZhSDs7SUVSSSxZQUFZO0lBQ1osMEJ4QjBHZTtJd0J6R1gsc0J4QnlHVyxFd0JoR2hCO0lGSEg7Ozs7TUVETSxZQUFZO01BQ1osMEJBQXdCO01BQ3BCLHNCQUFvQixFQUN6QjtFRkZMO0lFU00sc0JBQXFCLEVBQ3RCO0VGVkw7SUVZTSxzQkFBcUIsRXRCNUZGOztBb0JtRnpCO0VFaENFLGV4QnNPdUI7RXdCck92Qix1QkFBdUI7RUFDdkIsOEJBQThCO0VBQzlCLHNCeEJtT3VCLEVzQnBNeEI7RUFGRDtJRTFCSSxZQUFZO0lBQ1osMEJ4QitOcUI7SXdCOU5qQixzQnhCOE5pQixFRXpSQTtFb0JtRnpCO0lFbkJJLFlBQVk7SUFDWiwwQnhCd05xQjtJd0J2TmpCLHNCeEJ1TmlCLEV3QnROdEI7RUZnQkg7O0lFWEksWUFBWTtJQUNaLDBCeEJnTnFCO0l3Qi9NakIsc0J4QitNaUIsRXdCdE10QjtJRkFIOzs7O01FSk0sWUFBWTtNQUNaLDBCQUF3QjtNQUNwQixzQkFBb0IsRUFDekI7RUZDTDtJRU1NLHNCQUFxQixFQUN0QjtFRlBMO0lFU00sc0JBQXFCLEV0QjVGRjs7QW9Cc0Z6QjtFRW5DRSxleEJ6QmU7RXdCMEJmLHVCQUF1QjtFQUN2Qiw4QkFBOEI7RUFDOUIsc0J4QjVCZSxFc0I4RGhCO0VBRkQ7SUU3QkksWUFBWTtJQUNaLDBCeEJoQ2E7SXdCaUNU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WCxrQmpDakZZLEVpQ3NGYjtJQXBDTDs7OztNQWtDUSxXQUFXLEU3QjlIZDs7QThCOUNMO0VBQ0UsbUJBQW1CO0VBQ25CLGdCQUFnQjtFQUNoQixxQmxDbVY4QjtFa0NsVjlCLGdCQUFnQixFQUtqQjtFQVREO0lBT0ksa0JsQ2dWMEIsRWtDL1UzQjs7QUFHSDtFQUNFLG1CQUFtQjtFQUNuQixZQUFZO0VBQ1osV0FBVyxFQThCWjtFQWpDRDtJQU1JLFlsQ2tWOEM7SWtDalY5QywwQmxDa1ZpRDtJYXpXakQseUJiMFc4QztZYTFXOUMsaUJiMFc4QyxFa0NqVi9DO0VBVEg7SUFhSSw4RGxDK1UrRTtZa0MvVS9FLHNEbEMrVStFLEVrQzlVaEY7RUFkSDtJQWlCSSxZbEM2VTZDO0lrQzVVN0MsMEJsQzZVZ0Q7SWEvV2hELHlCYmdYNkM7WWFoWDdDLGlCYmdYNkMsRWtDNVU5QztFQXBCSDtJQXdCTSxvQmxDaVRzQztJa0NoVHRDLHVCbEM0VDJDLEVrQzNUNUM7RUExQkw7SUE2Qk0sZWxDeVQ4QztJa0N4VDlDLG9CbEMyU3NDLEVrQzFTdkM7O0FBUUw7RUFDRSxtQkFBbUI7RUFDbkIsY0FBYztFQUNkLFFBQVE7RUFDUixlQUFlO0VBQ2YsWWxDbVN3QztFa0NsU3hDLGFsQ2tTd0M7RWtDalN4QyxxQkFBcUI7RUFDckIsMEJBQWtCO0tBQWxCLHVCQUFrQjtNQUFsQixzQkFBa0I7VUFBbEIsa0JBQWtCO0VBQ2xCLHVCbENnU3dDO0VrQy9SeEMsNkJBQTZCO0VBQzdCLG1DQUFtQztFQUNuQyxpQ2xDOFIyQztVa0M5UjNDLHlCbEM4UjJDO0Vhald6QywrRGJrVzREO1VhbFc1RCx1RGJrVzRELEVrQzdSL0Q7O0FBTUQ7RXZCN0VJLHdCQ0c0QixFc0I2RTdCOztBQUhIO0VBTUksMk5sQ2tTOEIsRWtDalMvQjs7QUFQSDtFQVVJLDBCbEMrUnNDO0VrQzlSdEMsd0tsQytSb0M7RWFyWHBDLHlCYnNYMkM7VWF0WDNDLGlCYnNYMkMsRWtDOVI1Qzs7QUFPSDtFQUVJLG1CbEN1UnFCLEVrQ3RSdEI7O0FBSEg7RUFNSSxxS2xDb1IyQixFa0NuUjVCOztBQVNIO0VBRUksZ0JBQWdCLEVBV2pCO0VBYkg7SUFLTSxlQUFlO0lBQ2YsdUJsQ3dPMEI7SWtDdk8xQixZQUFZLEVBQ2I7RUFSTDtJQVdNLGVBQWUsRUFDaEI7O0FBWUw7RUFDRSxzQkFBc0I7RUFDdEIsZ0JBQWdCO0VBQ2hCLDJDbENpUHVDO0VrQ2hQdkMsMEJBQTBDO0VBQzFDLDJCaENnTlU7RWdDL01WLHVCQUF1QjtFQUN2QixvTkFBc0c7RUFDdEcsMEJBQTBCO0VBQzFCLGtDbENrUG9DO1VrQ2xQcEMsMEJsQ2tQb0M7RWtDalBwQyxzQ2hDMk1VO0VTOVZSLHdCQ0c0QjtFc0JtSjlCLHNCQUFzQjtFQUN0Qix5QkFBeUIsRUE0QjFCO0VBMUNEO0lBaUJJLHNCbENnUHNDO0lrQy9PdEMsY0FBYztJckJ6SmQsMEZieVlnRjtZYXpZaEYsa0ZieVlnRixFa0NwT2pGO0lBOUJIO01BMkJNLDJCaEMwTE07TWdDekxOLDhCaEN5TE0sRWdDeExQO0VBN0JMO0lBaUNJLDJCaENvTFE7SWdDbkxSLG9CbENnTHdDO0lrQy9LeEMsc0NoQ2tMUSxFZ0NqTFQ7RUFwQ0g7SUF3Q0ksV0FBVyxFQUNaOztBQUdIO0VBQ0Usc0JsQ3dNd0M7RWtDdk14Qyx5QmxDdU13QztFa0N0TXhDLGVsQ3NOOEIsRWtDaE4vQjs7QUFPRDtFQUNFLG1CQUFtQjtFQUNuQixzQkFBc0I7RUFDdEIsZ0JBQWdCO0VBQ2hCLGVsQ3VNbUM7RWtDdE1uQyxnQkFBZ0IsRUFDakI7O0FBRUQ7RUFDRSxpQmxDbU1rQztFa0NsTWxDLGdCQUFnQjtFQUNoQixVQUFVO0VBQ1YseUJBQWE7RUFDYixXQUFXLEVBS1o7RUFWRDtJckIzTUksOERiZ1prRTtZYWhabEUsc0RiZ1prRSxFa0M1TG5FOztBQUdIO0VBQ0UsbUJBQW1CO0VBQ25CLE9BQU87RUFDUCxTQUFTO0VBQ1QsUUFBUTtFQUNSLFdBQVc7RUFDWCxlbENpTG1DO0VrQ2hMbkMscUJsQ3FMOEI7RWtDcEw5QixpQkNqTzJCO0VEa08zQixZbENxTDhCO0VrQ3BMOUIsMEJBQWtCO0tBQWxCLHVCQUFrQjtNQUFsQixzQkFBa0I7VUFBbEIsa0JBQWtCO0VBQ2xCLDhCQ3hPMEI7RUR5TzFCLHFCbENxTDhCO0VXMVo1QixpQndCRHlCO0V0Qkd6Qix5QnNCSnlCO1V0Qkl6QixpQnNCSnlCLEVEc1E1QjtFQTNDRDtJQWtCTSwwQmxDc0xrQixFa0NyTG5CO0VBbkJMO0lBdUJJLG1CQUFtQjtJQUNuQixPQ3BQd0I7SURxUHhCLFNDclB3QjtJRHNQeEIsVUN0UHdCO0lEdVB4QixXQUFXO0lBQ1gsZUFBZTtJQUNmLGVsQzBKaUM7SWtDekpqQyxxQmxDOEo0QjtJa0M3SjVCLGlCQ3hQeUI7SUR5UHpCLFlsQzhKNEI7SWtDN0o1Qix1QmxDb0s0QjtJa0NuSzVCLHFCbEMrSjRCO0lXMVo1Qix1QnVCNFBnRixFQUNqRjtFQXBDSDtJQXdDTSxrQmxDbUtVLEVrQ2xLWDs7QUVqUUw7RUFDRSxnQkFBZ0I7RUFDaEIsaUJBQWlCO0VBQ2pCLGlCQUFpQixFQUNsQjs7QUFFRDtFQUNFLHNCQUFzQixFQWdCdkI7RUFqQkQ7SUFJSSxzQkFBc0IsRWhDUXJCO0VnQ1pMO0lBU0ksMkJsQzhVUSxFa0N2VVQ7SUFoQkg7TUFZTSwyQmxDMlVNO01rQzFVTixvQnBDdVVzQztNb0N0VXRDLDhCcEMrZHFDLEVJaGR0Qzs7QWdDUEw7RUFFSSxzQkFBc0IsRUFDdkI7O0FBSEg7O0VBT0ksa0JwQzJjZ0MsRW9DMWNqQzs7QUFRSDtFQUNFLDhCcEN3Y2dELEVvQ3paakQ7RUFoREQ7SUovQ0ksWUFBWTtJQUNaLGVBQWU7SUFDZixZQUFZLEVBQ2I7RUk0Q0g7SUFLSSxZQUFZO0lBRVosb0JwQzJDYyxFb0N0Q2Y7SUFaSDtNQVVNLG9CcEN1YitCLEVvQ3RiaEM7RUFYTDtJQWVJLGVBQWU7SUFDZixtQnBDbWJvQztJb0NsYnBDLDhCQUFnRDtJekJ4RGhELGtDQ0g0QjtJREk1QixpQ0NKNEIsRXdCeUU3QjtJQS9CSDtNQXFCTSwyRHBDb2I0QyxFSW5lN0M7SWdDMEJMO01BMEJRLDJCbEN1Ukk7TWtDdFJKLDhCQUE4QjtNQUM5Qiww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MkMzZDFDLGtCQUFrQjtFQUNsQixlekMySGdCO0V5QzFIaEIsc0JBQXNCO0VBQ3RCLDhCQ2xEeUI7RURtRHpCLHFCM0NrZXlDLEUyQzNkMUM7RUFmRDtJQVdJLGUzQzZEMEI7STJDNUQxQixzQ3pDMFNRO0l5Q3pTUixtQjNDaWV1QyxFSW5nQnRDOztBeUNwQkg7RUFDRSxtQkRBdUI7RUNDdkIsbUI3Q29Lb0IsRTZDbktyQjs7QUFJRztFbENxQkYsa0NYME0wQjtFV3pNMUIsK0JYeU0wQixFNkM3TnZCOztBQUdEO0VsQ0VGLG1DWHdOMEI7RVd2TjFCLGdDWHVOMEIsRTZDeE52Qjs7QUFkTDtFQUNFLG9CREN1QjtFQ0F2QixvQjdDcUtvQixFNkNwS3JCOztBQUlHO0VsQ3FCRixxQ0N0QjZCO0VEdUI3QixrQ0N2QjZCLEVpQ0cxQjs7QUFHRDtFbENFRixzQ0NSNkI7RURTN0IsbUNDVDZCLEVpQ1ExQjs7QUNaUDtFQUNFLHNCQUFzQjtFQUN0QixzQjlDK25COEI7RThDOW5COUIsZTlDNG5CNkI7RThDM25CN0Isa0I5QzRuQjhCO0U4QzNuQjlCLGVBQWU7RUFDZixZOUN1bkI4QjtFOEN0bkI5QixtQkFBbUI7RUFDbkIsb0JBQW9CO0VBQ3BCLHlCQUF5QjtFbkNWdkIsd0JDRzRCLEVrQ2MvQjtFQWhCRDtJQWNJLGNBQWMsRUFDZjs7QUFJSDtFQUNFLG1CQUFtQjtFQUNuQixVQUFVLEVBQ1g7O0FBSUQ7RUFFSSxZOUNrbUI0QjtFOENqbUI1QixzQkFBc0I7RUFDdEIsZ0JBQWdCLEUxQ1pmOztBMENxQkw7RUFDRSxxQjlDNGxCOEI7RThDM2xCOUIsb0I5QzJsQjhCO0VXcm9CNUIscUJYd29CNkIsRThDNWxCaEM7O0FBTUQ7RUNuREUsc0M3QytWVSxFNEMxU1g7RUFGRDtJQy9DTSxzQ0FBd0IsRTNDZ0J6Qjs7QTBDbUNMO0VDdkRFLDBCN0N5S2dCLEU0Q2hIakI7RUFGRDtJQ25ETSwwQkFBd0IsRTNDZ0J6Qjs7QTBDdUNMO0VDM0RFLDBCN0MwTGlCLEU0QzdIbEI7RUFGRDtJQ3ZETSwwQkFBd0IsRTNDZ0J6Qjs7QTBDMkNMO0VDL0RFLDBCN0N1SXNCLEU0Q3RFdkI7RUFGRDtJQzNETSwwQkFBd0IsRTNDZ0J6Qjs7QTBDK0NMO0VDbkVFLDBCN0NnU3VCLEU0QzNOeEI7RUFGRDtJQy9ETSwwQkFBd0IsRTNDZ0J6Qjs7QTBDbURMO0VDdkVFLDBCN0NpQ2UsRTRDd0NoQjtFQUZEO0lDbkVNLDBCQUF3QixFM0NnQnpCOztBNEN2Qkw7RUFDRSxtQkFBK0M7RUFDL0Msb0JoRHFpQm1DO0VnRHBpQm5DLHNDOUMrVlU7RVM5VlIsc0JYcU8wQixFZ0RoTzdCO0UvQm9DRztJK0I3Q0o7TUFPSSxtQmhEZ2lCaUMsRWdEOWhCcEMsRUFBQTs7QUFFRDtFQUNFLHNDQUF3QixFQUN6Qjs7QUFFRDtFQUNFLGlCQUFpQjtFQUNqQixnQkFBZ0I7RXJDYmQsaUJxQ2NzQixFQUN6Qjs7QUNmRDtFQUNFLGNqRDBxQmdDO0VpRHpxQmhDLHNCMUNEZ0M7RTBDRWhDLDhCQUE2QztFdENIM0Msd0JDRzRCLEVxQ0UvQjs7QUFHRDtFQUVFLGVBQWUsRUFDaEI7O0FBR0Q7RUFDRSxrQmpEOHBCZ0MsRWlEN3BCakM7O0FBT0Q7RUFDRSxvQkFBOEIsRUFTL0I7RUFWRDtJQUtJLG1CQUFtQjtJQUNuQixVQUFVO0lBQ1YsYUFBYTtJQUNiLGVBQWUsRUFDaEI7O0FBUUg7RUN6Q0UsMEJoRDBMaUI7RWdEekxqQixzQmxENmlCcUM7RWtENWlCckMsYWhEOFZVLEUrQ3JUWDtFQ3ZDQztJQUNFLDBCQUF3QixFQUN6QjtFQUNEO0lBQ0UsZUFBYSxFQUNkOztBRG1DSDtFQzVDRSwwQmhEdUlzQjtFZ0R0SXRCLHNCbERpakJxQztFa0RoakJyQyxhaEQ4VlUsRStDbFRYO0VDMUNDO0lBQ0UsMEJBQXdCLEVBQ3pCO0VBQ0Q7SUFDRSxlQUFhLEVBQ2Q7O0FEc0NIO0VDL0NFLDBCaERnU3VCO0VnRC9SdkIsc0JsRHNqQnFDO0VrRHJqQnJDLGFoRDhWVSxFK0MvU1g7RUM3Q0M7SUFDRSwwQkFBd0IsRUFDekI7RUFDRDtJQUNFLGVBQWEsRUFDZDs7QUR5Q0g7RUNsREUsMEJoRGlDZTtFZ0RoQ2Ysc0JsRDBqQnFDO0VrRHpqQnJDLGFoRDhWVSxFK0M1U1g7RUNoREM7SUFDRSwwQkFBd0IsRUFDekI7RUFDRDtJQUNFLGVBQWEsRUFDZDs7QUNSSDtFQUNFO0lBQU8sOEJBQWdDLEVBQUE7RUFDdkM7SUFBSyx5QkFBeUIsRUFBQSxFQUFBOztBQUZoQztFQUNFO0lBQU8sOEJBQWdDLEVBQUE7RUFDdkM7SUFBSyx5QkFBeUIsRUFBQSxFQUFBOztBQUZoQztFQUNFO0lBQU8sOEJBQWdDLEVBQUE7RUFDdkM7SUFBSyx5QkFBeUIsRUFBQSxFQUFBOztBQVFoQztFQUNFLGVBQWU7RUFDZixZQUFZO0VBQ1osZTVDWmdDO0U0Q2FoQyxzQjVDYmdDLEU0Q2NqQzs7QUFDRDtFQUVFLHVCbkRpckJnQztFbUQvcUJoQyxVQUFVO0VBRVYseUJBQWlCO0tBQWpCLHNCQUFpQjtVQUFqQixpQkFBaUI7RXhDdEJmLHdCQ0c0QixFdUNzQi9COztBQUdEO0VBQ0UsMEJuRHVxQm1DO0VtRHJxQm5DLFVBQVUsRUFDWDs7QUFDRDtFQUNFLDBCbkRrcUJtQztFV3pxQmpDLG9DQ3hCNEI7RUR5QjVCLGlDQ3pCNEIsRXVDaUMvQjs7QUFDRDtFQUNFLDBCbkQ4cEJtQztFV3pxQmpDLG9DQ3hCNEI7RUR5QjVCLGlDQ3pCNEIsRXVDcUMvQjs7QUFFRDtFeEM3QkkscUNDVjRCO0VEVzVCLGtDQ1g0QixFdUN5Qy9COztBQUNEO0V4Q2hDSSxxQ0NWNEI7RURXNUIsa0NDWDRCLEV1QzRDL0I7O0FBR0Q7RUFDRSx1Qm5EZ3BCZ0M7RVduc0I5Qix3QkNHNEI7RUNENUIsNkRib3NCa0Q7VWFwc0JsRCxxRGJvc0JrRCxFbURocEJyRDs7QUFDRDs7RUFFRSx1Qm5EMG9CZ0M7RVduc0I5Qix3QkNHNEI7RUNENUIscURib3NCa0QsRW1EMW9CckQ7O0FBR0Q7RUFDRTtJQUNFLHVCbkRrb0I4QjtJV25zQjlCLHdCQ0c0QjtJQ0Q1Qiw2RGJvc0JrRDtZYXBzQmxELHFEYm9zQmtELEVtRGxvQm5EO0VBQ0Q7SUFDRSxzQkFBc0I7SUFDdEIsZTVDdEU4QjtJNEN1RTlCLHFCQUFxQjtJQUNyQiwwQm5EMm5CaUM7SVd6cUJqQyxvQ0N4QjRCO0lEeUI1QixpQ0N6QjRCLEV1Q3dFN0I7RUFDRDtJeEMvREUscUNDVjRCO0lEVzVCLGtDQ1g0QixFdUMyRTdCLEVBQUE7O0FBUUg7RUNqREUsOE1BQWlDO0VBQWpDLHNNQUFpQztFRG1EakMsdUM1Q3ZGZ0M7VTRDdUZoQywrQjVDdkZnQyxFNEN3RmpDOztBQUNEO0VDckRFLHNNQUFpQztFRHVEakMsK0I1QzNGZ0MsRTRDNEZqQzs7QUFDRDtFQ3pERSxzTUFBaUM7RUQyRGpDLCtCNUMvRmdDLEU0Q2dHakM7O0FBRUQ7RUFDRTtJQy9EQSw4TUFBaUM7SUFBakMseU1BQWlDO0lBQWpDLHNNQUFpQztJRGlFL0IsdUM1Q3JHOEI7WTRDcUc5QiwrQjVDckc4QixFNENzRy9CLEVBQUE7O0FBUUg7RUFDRSwyREFBbUQ7VUFBbkQsbURBQW1ELEVBQ3BEOztBQUNEO0VBQ0UsbURBQW1ELEVBQ3BEOztBQUVEO0VBQ0U7SUFDRSwyREFBbUQ7U0FBbkQsc0RBQW1EO1lBQW5ELG1EQUFtRCxFQUNwRCxFQUFBOztBQVFIO0VFaklJLDBCbkR5TGUsRW1EeExoQjs7QUZnSUg7RUU3SEksMEJuRHFMZSxFbURwTGhCOztBRjRISDtFRXhISSwwQm5EZ0xlLEVtRC9LaEI7O0FBR0Q7RUFDRTtJQUNFLDBCbkQwS2EsRW1EektkLEVBQUE7O0FGb0hMO0VFcElJLDBCbkRzSW9CLEVtRHJJckI7O0FGbUlIO0VFaElJLDBCbkRrSW9CLEVtRGpJckI7O0FGK0hIO0VFM0hJLDBCbkQ2SG9CLEVtRDVIckI7O0FBR0Q7RUFDRTtJQUNFLDBCbkR1SGtCLEVtRHRIbkIsRUFBQTs7QUZ1SEw7RUV2SUksMEJuRCtScUIsRW1EOVJ0Qjs7QUZzSUg7RUVuSUksMEJuRDJScUIsRW1EMVJ0Qjs7QUZrSUg7RUU5SEksMEJuRHNScUIsRW1EclJ0Qjs7QUFHRDtFQUNFO0lBQ0UsMEJuRGdSbUIsRW1EL1FwQixFQUFBOztBRjBITDtFRTFJSSwwQm5EZ0NhLEVtRC9CZDs7QUZ5SUg7RUV0SUksMEJuRDRCYSxFbUQzQmQ7O0FGcUlIO0VFaklJLDBCbkR1QmEsRW1EdEJkOztBQUdEO0VBQ0U7SUFDRSwwQm5EaUJXLEVtRGhCWixFQUFBOztBQ25CSDtFQUNFLHFCQUFjO0VBQWQsc0JBQWM7RUFBZCxxQkFBYztFQUFkLGNBQWM7RUFDZCxzQi9DRThCLEUrQ0QvQjs7QUFDRDtFQUNFLG9CQUFRO0VBQVIsZ0JBQVE7TUFBUixZQUFRO1VBQVIsUUFBUSxFQUNUOztBQUNEO0VBQ0UsMkJBQW1CO01BQW5CLDRCQUFtQjtVQUFuQixtQkFBbUIsRUFDcEI7O0FBQ0Q7RUFDRSw2QkFBcUI7TUFBckIseUJBQXFCO1VBQXJCLHFCQUFxQixFQUN0Qjs7QUFtQ0g7RUFDRSxlQUFlLEVBTWhCO0VBUEQ7SUFLSSxnQkFBZ0IsRUFDakI7O0FBUUg7RUFDRSxtQnRENnNCZ0MsRXNENXNCakM7O0FBRUQ7RUFDRSxvQnREeXNCZ0MsRXNEeHNCakM7O0FBT0Q7RUFDRSxjQUFjO0VBQ2QsbUJ0RDhyQmdDLEVzRDdyQmpDOztBQU9EO0VBQ0UsZ0JBQWdCO0VBQ2hCLGlCQUFpQixFQUNsQjs7QUNwRkQ7RUFFRSxnQkFBZ0I7RUFDaEIsaUJBQWlCLEVBQ2xCOztBQU9EO0VBQ0UsbUJBQW1CO0VBQ25CLGVBQWU7RUFDZix5QnZEc3RCNkM7RXVEcHRCN0MsaUJDaEIrQjtFRGlCL0IsMEJDbkJxQztFRG9CckMscUJ2RGdzQmtDLEV1RGxwQm5DO0VBckREO0k1Q0xJLDJCNkNMNkI7STdDTTdCLDBCNkNONkIsRURxQjlCO0VBWEg7SUFjSSxpQkFBaUI7STVDTGpCLDhCNkNuQjZCO0k3Q29CN0IsNkI2Q3BCNkIsRUQwQjlCO0VBaEJIO0lBb0JNLDJCckQrVE07SXFEOVROLG9CdkQyVHNDO0l1RDFUdEMsc0NyRDZUTSxFRTFUUDtJbUR6Qkw7TUEwQlEsZUFBZSxFQUNoQjtJQTNCUDtNQTZCUSwyQnJEc1RJLEVxRHJUTDtFQTlCUDtJQW9DTSxXQUFXO0lBQ1gsWXZEd0x1QjtJdUR2THZCLHNCQUFzQjtJQUN0QiwwQnJEc0hZO0lxRHJIWixzQnJEcUhZLEVFcEliO0ltRHpCTDs7Ozs7OztNQThDUSxlQUFlLEVBQ2hCO0lBL0NQO01BaURRLGV2RDhwQitCLEV1RDdwQmhDOztBQUtQO0VBRUksaUJBQWlCLEVBQ2xCOztBQVNIO0VBQ0UsWUFBWTtFQUNaLFl2RGdwQmtDO0V1RC9vQmxDLG9CQUFvQixFQVlyQjtFQWZEO0lBTUksWXZEOG9CZ0MsRXVEN29CakM7RUFQSDtJQVdJLFl2RHVvQmdDO0l1RHRvQmhDLHNCQUFzQjtJQUN0QiwwQnZEMm5CbUMsRUluc0JsQzs7QXFEcEJIO0VBQ0UsYXZEK1ZRO0V1RDlWUiwwQnZEd0xlLEV1RHZMaEI7O0FBRUQ7O0VBQ0UsYXZEMFZRLEV1RHhVVDtFQW5CRDs7SUFJSSxlQUFlLEVBQ2hCO0VBTEg7OztJQVFJLGF2RG1WTTtJdURsVk4sMEJBQXdCLEVyRE16QjtFcURmSDs7OztJQWNNLFlBQVk7SUFDWix3QnZENFVJO0l1RDNVSixvQnZEMlVJLEVFM1RQOztBcURyQ0g7RUFDRSxhdkQrVlE7RXVEOVZSLDBCdkRxSW9CLEV1RHBJckI7O0FBRUQ7O0VBQ0UsYXZEMFZRLEV1RHhVVDtFQW5CRDs7SUFJSSxlQUFlLEVBQ2hCO0VBTEg7OztJQVFJLGF2RG1WTTtJdURsVk4sMEJBQXdCLEVyRE16QjtFcURmSDs7OztJQWNNLFlBQVk7SUFDWix3QnZENFVJO0l1RDNVSixvQnZEMlVJLEVFM1RQOztBcURyQ0g7RUFDRSxhdkQrVlE7RXVEOVZSLDBCdkQ4UnFCLEV1RDdSdEI7O0FBRUQ7O0VBQ0UsYXZEMFZRLEV1RHhVVDtFQW5CRDs7SUFJSSxlQUFlLEVBQ2hCO0VBTEg7OztJQVFJLGF2RG1WTTtJdURsVk4sMEJBQXdCLEVyRE16QjtFcURmSDs7OztJQWNNLFlBQVk7SUFDWix3QnZENFVJO0l1RDNVSixvQnZEMlVJLEVFM1RQOztBcURyQ0g7RUFDRSxhdkQrVlE7RXVEOVZSLDBCdkQrQmEsRXVEOUJkOztBQUVEOztFQUNFLGF2RDBWUSxFdUR4VVQ7RUFuQkQ7O0lBSUksZUFBZSxFQUNoQjtFQUxIOzs7SUFRSSxhdkRtVk07SXVEbFZOLDBCQUF3QixFckRNekI7RXFEZkg7Ozs7SUFjTSxZQUFZO0lBQ1osd0J2RDRVSTtJdUQzVUosb0J2RDJVSSxFRTNUUDs7QW1EMkVMO0VBQ0UsY0FBYztFQUNkLG1CdkRxbkJ5QyxFdURwbkIxQzs7QUFDRDtFQUNFLGlCQUFpQjtFQUNqQixpQkFBaUIsRUFDbEI7O0FHeEhEO0VBQ0UsbUJBQW1CO0VBQ25CLGVBQWU7RUFDZixVQUFVO0VBQ1YsV0FBVztFQUNYLGlCQUFpQixFQWVsQjtFQXBCRDs7Ozs7SUFZSSxtQkFBbUI7SUFDbkIsT0FBTztJQUNQLFVBQVU7SUFDVixRQUFRO0lBQ1IsWUFBWTtJQUNaLGFBQWE7SUFDYixVQUFVLEVBQ1g7O0FBR0g7RUFDRSwwQkFBMEIsRUFDM0I7O0FBRUQ7RUFDRSx1QkFBMEIsRUFDM0I7O0FBRUQ7RUFDRSxvQkFBMEIsRUFDM0I7O0FBRUQ7RUFDRSxxQkFBMEIsRUFDM0I7O0FDdENEO0VBQ0UsYUFBYTtFQUNiLGtCQUEyQjtFQUMzQixrQjNEc3lCZ0M7RTJEcnlCaEMsZUFBZTtFQUNmLFkzRHF5QmdDO0UyRHB5QmhDLDBCM0RxeUJ3QztFMkRweUJ4QyxZQUFZLEVBUWI7RUFmRDtJQVVJLFkzRGd5QjhCO0kyRC94QjlCLHNCQUFzQjtJQUN0QixnQkFBZ0I7SUFDaEIsWUFBWSxFdkRVWDs7QXVEQUw7RUFDRSxXQUFXO0VBQ1gsZ0JBQWdCO0VBQ2hCLHdCQUF3QjtFQUN4QixVQUFVO0VBQ1YseUJBQXlCLEVBQzFCOztBQ3RCRDtFQUNFLGlCQUFpQixFQUNsQjs7QUFHRDtFQUNFLGdCQUFnQjtFQUNoQixPQUFPO0VBQ1AsU0FBUztFQUNULFVBQVU7RUFDVixRQUFRO0VBQ1IsYzVEeWM2QjtFNER4YzdCLGNBQWM7RUFDZCxpQkFBaUI7RUFHakIsV0FBVztFQUNYLGtDQUFrQyxFQVFuQztFQXBCRDtJQWdCSSxtREFBbUM7SUFBbkMsMkNBQW1DO0lBQW5DLGlFQUFtQztJQUFuQyxtQ0FBbUM7SUFBbkMsOEZBQW1DO0lBQ25DLHNDQUFvQjtRQUFwQixrQ0FBb0I7U0FBcEIsaUNBQW9CO1lBQXBCLDhCQUFvQixFQUNyQjtFQWxCSDtJQW1CdUIsbUNBQW9CO1FBQXBCLCtCQUFvQjtTQUFwQiw4QkFBb0I7WUFBcEIsMkJBQW9CLEVBQVU7O0FBRXJEO0VBQ0UsbUJBQW1CO0VBQ25CLGlCQUFpQixFQUNsQjs7QUFHRDtFQUNFLG1CQUFtQjtFQUNuQixZQUFZO0VBQ1osYTVEeW1CZ0MsRTREeG1CakM7O0FBR0Q7RUFDRSxtQkFBbUI7RUFDbkIsdUI1RHltQm1DO0U0RHhtQm5DLHFDQUE2QjtVQUE3Qiw2QkFBNkI7RUFDN0IscUM1RHdtQm1DO0VXdHBCakMsc0JYcU8wQjtFYW5PMUIsaUlYNFZRO1VXNVZSLHlIWDRWUTtFMEQ1U1YsV0FBVyxFQUNaOztBQUdEO0VBQ0UsZ0JBQWdCO0VBQ2hCLE9BQU87RUFDUCxTQUFTO0VBQ1QsVUFBVTtFQUNWLFFBQVE7RUFDUixjNUQwWjZCO0U0RHpaN0IsdUI1RDhsQmdDLEU0RHpsQmpDO0VBWkQ7SUFVVyxXQUFXLEVBQUk7RUFWMUI7SUFXUyxjQ3hEd0IsRUR3RFk7O0FBSzdDO0VBQ0UsYzVEMmtCZ0M7RTREMWtCaEMsaUM1RHFsQm1DLEU0RG5sQnBDO0VBSkQ7STVCeEVJLFlBQVk7SUFDWixlQUFlO0lBQ2YsWUFBWSxFQUNiOztBNEIyRUg7RUFDRSxpQkFBaUIsRUFDbEI7O0FBR0Q7RUFDRSxVQUFVO0VBQ1YsaUI1RHNGb0IsRTREckZyQjs7QUFJRDtFQUNFLG1CQUFtQjtFQUNuQixjNURtakJnQyxFNERsakJqQzs7QUFHRDtFQUNFLGM1RDhpQmdDO0U0RDdpQmhDLGtCQUFrQjtFQUNsQiw4QjVENGpCbUMsRTREMWpCcEM7RUFMRDtJNUJoR0ksWUFBWTtJQUNaLGVBQWU7SUFDZixZQUFZLEVBQ2I7O0E0QnFHSDtFQUNFLG1CQUFtQjtFQUNuQixhQUFhO0VBQ2IsWUFBWTtFQUNaLGFBQWE7RUFDYixpQkFBaUIsRUFDbEI7O0EzQ25FRztFMkN3RUY7SUFDRSxpQjVEaWpCK0I7STREaGpCL0Isa0JBQXlDLEVBQzFDO0VBRUQ7SS9DcEhFLGtEYnVwQjRDO1lhdnBCNUMsMENidXBCNEMsRTREamlCN0M7RUFFRDtJQUFZLGlCNUQwaUJxQixFNEQxaUJHLEVBQUE7O0EzQ2pGbEM7RTJDcUZGO0lBQVksaUI1RG9pQnFCLEU0RHBpQkcsRUFBQTs7QUVqSXRDO0VBQ0UsbUJBQW1CO0VBQ25CLGM5RG9kNkI7RThEbmQ3QixlQUFlO0VDSGYsd0Q5RE1pRTtFOERKakUsbUJBQW1CO0VBQ25CLG9CQUFvQjtFQUNwQix1QkFBdUI7RUFDdkIsaUJBQWlCO0VBQ2pCLGlCL0RzS29CO0UrRHJLcEIsaUJBQWlCO0VBQ2pCLGtCQUFrQjtFQUNsQixzQkFBc0I7RUFDdEIsa0JBQWtCO0VBQ2xCLHFCQUFxQjtFQUNyQixvQkFBb0I7RUFDcEIsbUJBQW1CO0VBQ25CLHFCQUFxQjtFRFByQixvQjlEa0tzQjtFOERoS3RCLHNCQUFzQjtFQUN0QixXQUFXLEVBd0RaO0VBbEVEO0lBWVMsYTlENGtCdUIsRThENWtCTTtFQVp0QztJQWdCSSxlQUErQjtJQUMvQixpQjlEMGtCNkIsRThEamtCOUI7SUExQkg7TUFvQk0sVUFBVTtNQUNWLFVBQVU7TUFDVixrQjlEdWtCMkI7TThEdGtCM0Isd0JBQXlEO01BQ3pELHVCOUQrakI0QixFOEQ5akI3QjtFQXpCTDtJQTZCSSxlOURna0I2QjtJOEQvakI3QixpQjlENmpCNkIsRThEcGpCOUI7SUF2Q0g7TUFpQ00sU0FBUztNQUNULFFBQVE7TUFDUixpQjlEMGpCMkI7TThEempCM0IsNEJBQThFO01BQzlFLHlCOURrakI0QixFOERqakI3QjtFQXRDTDtJQTBDSSxlQUErQjtJQUMvQixnQjlEZ2pCNkIsRThEdmlCOUI7SUFwREg7TUE4Q00sT0FBTztNQUNQLFVBQVU7TUFDVixrQjlENmlCMkI7TThENWlCM0Isd0I5RDRpQjJCO004RDNpQjNCLDBCOURxaUI0QixFOERwaUI3QjtFQW5ETDtJQXVESSxlOURzaUI2QjtJOERyaUI3QixrQjlEbWlCNkIsRThEMWhCOUI7SUFqRUg7TUEyRE0sU0FBUztNQUNULFNBQVM7TUFDVCxpQjlEZ2lCMkI7TThEL2hCM0IsNEI5RCtoQjJCO004RDloQjNCLHdCOUR3aEI0QixFOER2aEI3Qjs7QUFLTDtFQUNFLGlCOUQrZ0JpQztFOEQ5Z0JqQyxpQjlEbWhCK0I7RThEbGhCL0IsWTlEOGdCZ0M7RThEN2dCaEMsbUJBQW1CO0VBQ25CLHVCOUQ2Z0JnQztFV3BsQjlCLHdCQ0c0QixFa0RzRS9COztBQUdEO0VBQ0UsbUJBQW1CO0VBQ25CLFNBQVM7RUFDVCxVQUFVO0VBQ1YsMEJBQTBCO0VBQzFCLG9CQUFvQixFQUNyQjs7QUV0RkQ7RUFDRSxtQkFBbUI7RUFDbkIsT0FBTztFQUNQLFFBQVE7RUFDUixjaEVrZDZCO0VnRWpkN0IsZUFBZTtFQUNmLGlCaEVnbUJ5QztFZ0UvbEJ6QyxhaEU2bEJ1QztFK0RubUJ2Qyx3RDlETWlFO0U4REpqRSxtQkFBbUI7RUFDbkIsb0JBQW9CO0VBQ3BCLHVCQUF1QjtFQUN2QixpQkFBaUI7RUFDakIsaUIvRHNLb0I7RStEcktwQixpQkFBaUI7RUFDakIsa0JBQWtCO0VBQ2xCLHNCQUFzQjtFQUN0QixrQkFBa0I7RUFDbEIscUJBQXFCO0VBQ3JCLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIscUJBQXFCO0VDSnJCLG9CaEUrSnNCO0VnRTdKdEIsc0JBQXNCO0VBQ3RCLHVCaEV1bEJ3QztFZ0V0bEJ4QyxxQ0FBNkI7VUFBN0IsNkJBQTZCO0VBQzdCLHFDaEV3bEJ3QztFV3BtQnRDLHNCWHFPMEI7RWFuTzFCLGtEYm1tQmlEO1Vhbm1CakQsMENibW1CaUQsRWdFbmdCcEQ7RUF0R0Q7SUF5Qkksa0JoRXlsQnNDLEVnRXprQnZDO0lBekNIO01BNEJNLGNoRXlsQnFEO01nRXhsQnJELFVBQVU7TUFDVixtQmhFdWxCcUQ7TWdFdGxCckQsc0NoRXVsQnVDO01nRXRsQnZDLHVCQUF1QixFQVF4QjtNQXhDTDtRQWtDUSxZQUFZO1FBQ1osbUJoRStrQmtDO1FnRTlrQmxDLFlBQVk7UUFDWix1QmhFZ2tCa0M7UWdFL2pCbEMsdUJBQXVCLEVBQ3hCO0VBdkNQO0lBNkNJLGtCaEVxa0JzQyxFZ0VyakJ2QztJQTdESDtNQWdETSxTQUFTO01BQ1QsWWhFb2tCcUQ7TWdFbmtCckQsa0JoRW1rQnFEO01nRWxrQnJELHdDaEVta0J1QztNZ0Vsa0J2QyxxQkFBcUIsRUFRdEI7TUE1REw7UUFzRFEsY2hFNGpCa0M7UWdFM2pCbEMsVUFBVTtRQUNWLFlBQVk7UUFDWix5QmhFNGlCa0M7UWdFM2lCbEMscUJBQXFCLEVBQ3RCO0VBM0RQO0lBaUVJLGlCaEVpakJzQyxFZ0VqaUJ2QztJQWpGSDtNQW9FTSxXaEVpakJxRDtNZ0VoakJyRCxVQUFVO01BQ1YsbUJoRStpQnFEO01nRTlpQnJELG9CQUFvQjtNQUNwQix5Q2hFOGlCdUMsRWdFdGlCeEM7TUFoRkw7UUEwRVEsU0FBUztRQUNULG1CaEV1aUJrQztRZ0V0aUJsQyxZQUFZO1FBQ1osb0JBQW9CO1FBQ3BCLDBCaEV1aEJrQyxFZ0V0aEJuQztFQS9FUDtJQXFGSSxtQmhFNmhCc0MsRWdFN2dCdkM7SUFyR0g7TUF3Rk0sU0FBUztNQUNULGFoRTRoQnFEO01nRTNoQnJELGtCaEUyaEJxRDtNZ0UxaEJyRCxzQkFBc0I7TUFDdEIsdUNoRTBoQnVDLEVnRWxoQnhDO01BcEdMO1FBOEZRLFdBQVc7UUFDWCxjaEVtaEJrQztRZ0VsaEJsQyxZQUFZO1FBQ1osc0JBQXNCO1FBQ3RCLHdCaEVtZ0JrQyxFZ0VsZ0JuQzs7QUFPUDtFQUNFLGtCaEVpZ0J3QztFZ0VoZ0J4QyxVQUFVO0VBQ1YsZ0JoRTJEbUI7RWdFMURuQiwwQmhFNmYwQztFZ0U1ZjFDLGlDQUFpRDtFckQzRy9DLHVDcUQ2RzhHLEVBS2pIO0VBWkQ7SUFVSSxjQUFjLEVBQ2Y7O0FBR0g7RUFDRSxrQmhFc2Z3QyxFZ0VyZnpDOztBQU9EO0VBR0ksbUJBQW1CO0VBQ25CLGVBQWU7RUFDZixTQUFTO0VBQ1QsVUFBVTtFQUNWLDBCQUEwQjtFQUMxQixvQkFBb0IsRUFDckI7O0FBRUg7RUFDRSxtQmhFd2V5RCxFZ0V2ZTFEOztBQUNEO0VBQ0UsWUFBWTtFQUNaLG1CaEVpZXdDLEVnRWhlekM7O0FDakpEO0VBQ0UsbUJBQW1CLEVBQ3BCOztBQUVEO0VBQ0UsbUJBQW1CO0VBQ25CLFlBQVk7RUFDWixpQkFBaUIsRUF5RWxCO0VBNUVEO0lBTUksbUJBQW1CO0lBQ25CLGNBQWM7SUFDZCx5Q0FBaUM7SUFBakMsb0NBQWlDO0lBQWpDLGlDQUFpQyxFQWdDbEM7SUF4Q0g7O01BY00sZUFBZSxFQUNoQjtJQUdEO01BbEJKO1FBbUJNLHNEQUFzQztRQUF0Qyw4Q0FBc0M7UUFBdEMsdUVBQXNDO1FBQXRDLHNDQUFzQztRQUF0Qyx1R0FBc0M7UUFDdEMsb0NBQTRCO2dCQUE1Qiw0QkFBNEI7UUFDNUIsNEJBQW9CO2dCQUFwQixvQkFBb0IsRUFtQnZCO1FBeENIO1VBeUJRLFFBQVE7VUFDUiwyQ0FBc0I7a0JBQXRCLG1DQUFzQixFQUN2QjtRQTNCUDtVQThCUSxRQUFRO1VBQ1IsNENBQXNCO2tCQUF0QixvQ0FBc0IsRUFDdkI7UUFoQ1A7VUFvQ1EsUUFBUTtVQUNSLHdDQUFzQjtrQkFBdEIsZ0NBQXNCLEVBQ3ZCLEVBQUE7RUF0Q1A7OztJQTZDSSxlQUFlLEVBQ2hCO0VBOUNIO0lBaURJLFFBQVEsRUFDVDtFQWxESDs7SUFzREksbUJBQW1CO0lBQ25CLE9BQU87SUFDUCxZQUFZLEVBQ2I7RUF6REg7SUE0REksV0FBVyxFQUNaO0VBN0RIO0lBK0RJLFlBQVksRUFDYjtFQWhFSDs7SUFtRUksUUFBUSxFQUNUO0VBcEVIO0lBdUVJLFlBQVksRUFDYjtFQXhFSDtJQTBFSSxXQUFXLEVBQ1o7O0FBUUg7RUFDRSxtQkFBbUI7RUFDbkIsT0FBTztFQUNQLFVBQVU7RUFDVixRQUFRO0VBQ1IsV2pFdXJCK0M7RWlFdHJCL0MsZ0JqRXlyQmdEO0VpRXhyQmhELFlqRW9yQmdEO0VpRW5yQmhELG1CQUFtQjtFQUNuQiwwQ2pFZ3JCMEQ7RWlFL3FCMUQsYWpFb3JCOEMsRWlFOW5CL0M7RUFoRUQ7SWJqRkUscUhBQWlDO0lBQWpDLG1HQUFpQztJQUFqQyw4RkFBaUM7SUFBakMsK0ZBQWlDO0lBQ2pDLDRCQUE0QjtJQUM1Qix1SEFBd0osRWFnR3ZKO0VBakJIO0lBbUJJLFNBQVM7SUFDVCxXQUFXO0lickdiLHFIQUFpQztJQUFqQyxtR0FBaUM7SUFBakMsOEZBQWlDO0lBQWpDLCtGQUFpQztJQUNqQyw0QkFBNEI7SUFDNUIsdUhBQXdKLEVhcUd2SjtFQXRCSDtJQTBCSSxZakVpcUI4QztJaUVocUI5QyxzQkFBc0I7SUFDdEIsV0FBVztJQUNYLFlBQVksRTdEOUZYO0U2RGlFTDs7SUFtQ0ksbUJBQW1CO0lBQ25CLFNBQVM7SUFDVCxXQUFXO0lBQ1gsc0JBQXNCO0lBQ3RCLFlqRXFxQjhDO0lpRXBxQjlDLGFqRW9xQjhDO0lpRW5xQjlDLGtCQUFrQztJQUNsQyxtQkFBbUI7SUFDbkIsZUFBZSxFQUNoQjtFQTVDSDtJQThDSSxVQUFVO0lBQ1YsbUJBQW1DLEVBQ3BDO0VBaERIO0lBa0RJLFdBQVc7SUFDWCxvQkFBb0MsRUFDckM7RUFwREg7SUF3RE0saUJBQWlCLEVBQ2xCO0VBekRMO0lBNkRNLGlCQUFpQixFQUNsQjs7QUFVTDtFQUNFLG1CQUFtQjtFQUNuQixhQUFhO0VBQ2IsVUFBVTtFQUNWLFlBQVk7RUFDWixXakVvbkIrQztFaUVubkIvQyxnQkFBZ0I7RUFDaEIsa0JBQXlDO0VBQ3pDLG1CQUFtQjtFQUNuQixpQkFBaUIsRUF5QmxCO0VBbENEO0lBWUksc0JBQXNCO0lBQ3RCLFlqRThtQjhDO0lpRTdtQjlDLGFqRTZtQjhDO0lpRTVtQjlDLFlBQVk7SUFDWixvQkFBb0I7SUFDcEIsZ0JBQWdCO0lBTWhCLDhCQUFzQjtJQUN0Qix1QmpFc21COEM7SWlFcm1COUMsb0JqRWttQjhDLEVpRWptQi9DO0VBMUJIO0lBNkJJLFlqRStsQjhDO0lpRTlsQjlDLGFqRThsQjhDO0lpRTdsQjlDLFVBQVU7SUFDVix1QmpFNmxCOEMsRWlFNWxCL0M7O0FBUUg7RUFDRSxtQkFBbUI7RUFDbkIsV0FBYTtFQUNiLGFBQWE7RUFDYixVQUFZO0VBQ1osWUFBWTtFQUNaLGtCQUFrQjtFQUNsQixxQkFBcUI7RUFDckIsWWpFaWxCZ0Q7RWlFaGxCaEQsbUJBQW1CO0VBQ25CLDBDakU4akIwRCxFaUV6akIzRDtFQWZEO0lBYUksa0JBQWtCLEVBQ25COztBaEQxS0M7RWdEb0xGOztJQUdJLFlqRWlqQjRDO0lpRWhqQjVDLGFqRWdqQjRDO0lpRS9pQjVDLGtCQUEwQztJQUMxQyxnQmpFOGlCNEMsRWlFN2lCN0M7RUFQSDtJQVNJLG1CQUEyQyxFQUM1QztFQVZIO0lBWUksb0JBQTRDLEVBQzdDO0VBSUg7SUFDRSxXQUFhO0lBQ2IsVUFBWTtJQUNaLHFCQUFxQixFQUN0QjtFQUdEO0lBQ0UsYUFBYSxFQUNkLEVBQUE7O0FDdlBIO0VBQ0UsMEJsRTJDaUMsRWtFMUNsQzs7QUNIQztFQUNFLHVCQUF1QjtFQUN2QixxQ0FBbUMsRUFDcEM7O0FBQ0Q7RUFFSSxxQ0FBZ0QsRS9EY2pEOztBK0RwQkg7RUFDRSx1QkFBdUI7RUFDdkIscUNBQW1DLEVBQ3BDOztBQUNEO0VBRUkscUNBQWdELEUvRGNqRDs7QStEcEJIO0VBQ0UsdUJBQXVCO0VBQ3ZCLHFDQUFtQyxFQUNwQzs7QUFDRDtFQUVJLHFDQUFnRCxFL0RjakQ7O0ErRHBCSDtFQUNFLHVCQUF1QjtFQUN2QixxQ0FBbUMsRUFDcEM7O0FBQ0Q7RUFFSSxxQ0FBZ0QsRS9EY2pEOztBK0RwQkg7RUFDRSx1QkFBdUI7RUFDdkIscUNBQW1DLEVBQ3BDOztBQUNEO0VBRUkscUNBQWdELEUvRGNqRDs7QStEcEJIO0VBQ0UsdUJBQXVCO0VBQ3ZCLGlEQUFtQyxFQUNwQzs7QUFDRDtFQUVJLGlEQUFnRCxFL0RjakQ7O0FnRXZCTDtFcENFSSxZQUFZO0VBQ1osZUFBZTtFQUNmLFlBQVksRUFDYjs7QXFDREg7RUFDRSwwQkFBMEIsRUFDM0I7O0FBQ0Q7RUFDRSxpQ0FBaUMsRUFDbEM7O0FBQ0Q7RUFDRSwyQkFBMkIsRUFDNUI7O0FDSks7RUFBRSw2QkFBVTtFQUFWLGtCQUFVO01BQVYsbUJBQVU7VUFBVixVQUFVLEVBQUk7O0FBQ2hCO0VBQUUsNkJBQVM7RUFBVCxpQkFBUztNQUFULGtCQUFTO1VBQVQsU0FBUyxFQUFJOztBQUNmO0VBQUUsNkJBQVM7RUFBVCxpQkFBUztNQUFULGtCQUFTO1VBQVQsU0FBUyxFQUFJOztBQUtmO0VBQUUseUJBQXdCO0VBQXhCLGdDQUF3QjtNQUF4QixzQkFBd0I7Y0FBeEIsK0JBQXdCO1VBQXhCLHdCQUF3QixFQUFJOztBQUM5QjtFQUFFLDBCQUFvQjtFQUFwQiw0QkFBb0I7TUFBcEIsdUJBQW9CO2NBQXBCLDJCQUFvQjtVQUFwQixvQkFBb0IsRUFBSTs7QUFDMUI7RUFBRSx1QkFBc0I7RUFBdEIsOEJBQXNCO01BQXRCLG9CQUFzQjtjQUF0Qiw2QkFBc0I7VUFBdEIsc0JBQXNCLEVBQUk7O0FBSzVCO0VBQUUsK0JBQXVCO01BQXZCLDJCQUF1QjtVQUF2Qix1QkFBdUIsRUFBSTs7QUFDN0I7RUFBRSwyQkFBbUI7TUFBbkIsNEJBQW1CO1VBQW5CLG1CQUFtQixFQUFJOztBQUN6QjtFQUFFLDZCQUFxQjtNQUFyQix5QkFBcUI7VUFBckIscUJBQXFCLEVBQUk7O0FBSzNCO0VBQUUsd0JBQTRCO0VBQTVCLG9DQUE0QjtNQUE1QixxQkFBNEI7VUFBNUIsNEJBQTRCLEVBQUk7O0FBQ2xDO0VBQUUseUJBQXdCO0VBQXhCLGdDQUF3QjtNQUF4QixzQkFBd0I7VUFBeEIsd0JBQXdCLEVBQUk7O0FBQzlCO0VBQUUsc0JBQTBCO0VBQTFCLGtDQUEwQjtNQUExQixtQkFBMEI7VUFBMUIsMEJBQTBCLEVBQUk7O0FBQ2hDO0VBQUUsc0NBQThCO01BQTlCLDBCQUE4QjtVQUE5Qiw4QkFBOEIsRUFBSTs7QUFDcEM7RUFBRSwwQkFBK0I7RUFBL0IsdUNBQStCO01BQS9CLHVCQUErQjtVQUEvQiwrQkFBK0IsRUFBSTs7QXJEWXZDO0VxRHJDRTtJQUFFLDZCQUFVO0lBQVYsa0JBQVU7UUFBVixtQkFBVTtZQUFWLFVBQVUsRUFBSTtFQUNoQjtJQUFFLDZCQUFTO0lBQVQsaUJBQVM7UUFBVCxrQkFBUztZQUFULFNBQVMsRUFBSTtFQUNmO0lBQUUsNkJBQVM7SUFBVCxpQkFBUztRQUFULGtCQUFTO1lBQVQsU0FBUyxFQUFJLEVBQUE7O0FyRG1DakI7RXFEOUJFO0lBQUUseUJBQXdCO0lBQXhCLGdDQUF3QjtRQUF4QixzQkFBd0I7Z0JBQXhCLCtCQUF3QjtZQUF4Qix3QkFBd0IsRUFBSTtFQUM5QjtJQUFFLDBCQUFvQjtJQUFwQiw0QkFBb0I7UUFBcEIsdUJBQW9CO2dCQUFwQiwyQkFBb0I7WUFBcEIsb0JBQW9CLEVBQUk7RUFDMUI7SUFBRSx1QkFBc0I7SUFBdEIsOEJBQXNCO1FBQXRCLG9CQUFzQjtnQkFBdEIsNkJBQXNCO1lBQXRCLHNCQUFzQixFQUFJLEVBQUE7O0FyRDRCOUI7RXFEdkJFO0lBQUUsK0JBQXVCO1FBQXZCLDJCQUF1QjtZQUF2Qix1QkFBdUIsRUFBSTtFQUM3QjtJQUFFLDJCQUFtQjtRQUFuQiw0QkFBbUI7WUFBbkIsbUJBQW1CLEVBQUk7RUFDekI7SUFBRSw2QkFBcUI7UUFBckIseUJBQXFCO1lBQXJCLHFCQUFxQixFQUFJLEVBQUE7O0FyRHFCN0I7RXFEaEJFO0lBQUUsd0JBQTRCO0lBQTVCLG9DQUE0QjtRQUE1QixxQkFBNEI7WUFBNUIsNEJBQTRCLEVBQUk7RUFDbEM7SUFBRSx5QkFBd0I7SUFBeEIsZ0NBQXdCO1FBQXhCLHNCQUF3QjtZQUF4Qix3QkFBd0IsRUFBSTtFQUM5QjtJQUFFLHNCQUEwQjtJQUExQixrQ0FBMEI7UUFBMUIsbUJBQTBCO1lBQTFCLDBCQUEwQixFQUFJO0VBQ2hDO0lBQUUsc0NBQThCO1FBQTlCLDBCQUE4QjtZQUE5Qiw4QkFBOEIsRUFBSTtFQUNwQztJQUFFLDBCQUErQjtJQUEvQix1Q0FBK0I7UUFBL0IsdUJBQStCO1lBQS9CLCtCQUErQixFQUFJLEVBQUE7O0FyRFl2QztFcURyQ0U7SUFBRSw2QkFBVTtJQUFWLGtCQUFVO1FBQVYsbUJBQVU7WUFBVixVQUFVLEVBQUk7RUFDaEI7SUFBRSw2QkFBUztJQUFULGlCQUFTO1FBQVQsa0JBQVM7WUFBVCxTQUFTLEVBQUk7RUFDZjtJQUFFLDZCQUFTO0lBQVQsaUJBQVM7UUFBVCxrQkFBUztZQUFULFNBQVMsRUFBSSxFQUFBOztBckRtQ2pCO0VxRDlCRTtJQUFFLHlCQUF3QjtJQUF4QixnQ0FBd0I7UUFBeEIsc0JBQXdCO2dCQUF4QiwrQkFBd0I7WUFBeEIsd0JBQXdCLEVBQUk7RUFDOUI7SUFBRSwwQkFBb0I7SUFBcEIsNEJBQW9CO1FBQXBCLHVCQUFvQjtnQkFBcEIsMkJBQW9CO1lBQXBCLG9CQUFvQixFQUFJO0VBQzFCO0lBQUUsdUJBQXNCO0lBQXRCLDhCQUFzQjtRQUF0QixvQkFBc0I7Z0JBQXRCLDZCQUFzQjtZQUF0QixzQkFBc0IsRUFBSSxFQUFBOztBckQ0QjlCO0VxRHZCRTtJQUFFLCtCQUF1QjtRQUF2QiwyQkFBdUI7WUFBdkIsdUJBQXVCLEVBQUk7RUFDN0I7SUFBRSwyQkFBbUI7UUFBbkIsNEJBQW1CO1lBQW5CLG1CQUFtQixFQUFJO0VBQ3pCO0lBQUUsNkJBQXFCO1FBQXJCLHlCQUFxQjtZQUFyQixxQkFBcUIsRUFBSSxFQUFBOztBckRxQjdCO0VxRGhCRTtJQUFFLHdCQUE0QjtJQUE1QixvQ0FBNEI7UUFBNUIscUJBQTRCO1lBQTVCLDRCQUE0QixFQUFJO0VBQ2xDO0lBQUUseUJBQXdCO0lBQXhCLGdDQUF3QjtRQUF4QixzQkFBd0I7WUFBeEIsd0JBQXdCLEVBQUk7RUFDOUI7SUFBRSxzQkFBMEI7SUFBMUIsa0NBQTBCO1FBQTFCLG1CQUEwQjtZQUExQiwwQkFBMEIsRUFBSTtFQUNoQztJQUFFLHNDQUE4QjtRQUE5QiwwQkFBOEI7WUFBOUIsOEJBQThCLEVBQUk7RUFDcEM7SUFBRSwwQkFBK0I7SUFBL0IsdUNBQStCO1FBQS9CLHVCQUErQjtZQUEvQiwrQkFBK0IsRUFBSSxFQUFBOztBckRZdkM7RXFEckNFO0lBQUUsNkJBQVU7SUFBVixrQkFBVTtRQUFWLG1CQUFVO1lBQVYsVUFBVSxFQUFJO0VBQ2hCO0lBQUUsNkJBQVM7SUFBVCxpQkFBUztRQUFULGtCQUFTO1lBQVQsU0FBUyxFQUFJO0VBQ2Y7SUFBRSw2QkFBUztJQUFULGlCQUFTO1FBQVQsa0JBQVM7WUFBVCxTQUFTLEVBQUksRUFBQTs7QXJEbUNqQjtFcUQ5QkU7SUFBRSx5QkFBd0I7SUFBeEIsZ0NBQXdCO1FBQXhCLHNCQUF3QjtnQkFBeEIsK0JBQXdCO1lBQXhCLHdCQUF3QixFQUFJO0VBQzlCO0lBQUUsMEJBQW9CO0lBQXBCLDRCQUFvQjtRQUFwQix1QkFBb0I7Z0JBQXBCLDJCQUFvQjtZQUFwQixvQkFBb0IsRUFBSTtFQUMxQjtJQUFFLHVCQUFzQjtJQUF0Qiw4QkFBc0I7UUFBdEIsb0JBQXNCO2dCQUF0Qiw2QkFBc0I7WUFBdEIsc0JBQXNCLEVBQUksRUFBQTs7QXJENEI5QjtFcUR2QkU7SUFBRSwrQkFBdUI7UUFBdkIsMkJBQXVCO1lBQXZCLHVCQUF1QixFQUFJO0VBQzdCO0lBQUUsMkJBQW1CO1FBQW5CLDRCQUFtQjtZQUFuQixtQkFBbUIsRUFBSTtFQUN6QjtJQUFFLDZCQUFxQjtRQUFyQix5QkFBcUI7WUFBckIscUJBQXFCLEVBQUksRUFBQTs7QXJEcUI3QjtFcURoQkU7SUFBRSx3QkFBNEI7SUFBNUIsb0NBQTRCO1FBQTVCLHFCQUE0QjtZQUE1Qiw0QkFBNEIsRUFBSTtFQUNsQztJQUFFLHlCQUF3QjtJQUF4QixnQ0FBd0I7UUFBeEIsc0JBQXdCO1lBQXhCLHdCQUF3QixFQUFJO0VBQzlCO0lBQUUsc0JBQTBCO0lBQTFCLGtDQUEwQjtRQUExQixtQkFBMEI7WUFBMUIsMEJBQTBCLEVBQUk7RUFDaEM7SUFBRSxzQ0FBOEI7UUFBOUIsMEJBQThCO1lBQTlCLDhCQUE4QixFQUFJO0VBQ3BDO0lBQUUsMEJBQStCO0lBQS9CLHVDQUErQjtRQUEvQix1QkFBK0I7WUFBL0IsK0JBQStCLEVBQUksRUFBQTs7QXJEWXZDO0VxRHJDRTtJQUFFLDZCQUFVO0lBQVYsa0JBQVU7UUFBVixtQkFBVTtZQUFWLFVBQVUsRUFBSTtFQUNoQjtJQUFFLDZCQUFTO0lBQVQsaUJBQVM7UUFBVCxrQkFBUztZQUFULFNBQVMsRUFBSTtFQUNmO0lBQUUsNkJBQVM7SUFBVCxpQkFBUztRQUFULGtCQUFTO1lBQVQsU0FBUyxFQUFJLEVBQUE7O0FyRG1DakI7RXFEOUJFO0lBQUUseUJBQXdCO0lBQXhCLGdDQUF3QjtRQUF4QixzQkFBd0I7Z0JBQXhCLCtCQUF3QjtZQUF4Qix3QkFBd0IsRUFBSTtFQUM5QjtJQUFFLDBCQUFvQjtJQUFwQiw0QkFBb0I7UUFBcEIsdUJBQW9CO2dCQUFwQiwyQkFBb0I7WUFBcEIsb0JBQW9CLEVBQUk7RUFDMUI7SUFBRSx1QkFBc0I7SUFBdEIsOEJBQXNCO1FBQXRCLG9CQUFzQjtnQkFBdEIsNkJBQXNCO1lBQXRCLHNCQUFzQixFQUFJLEVBQUE7O0FyRDRCOUI7RXFEdkJFO0lBQUUsK0JBQXVCO1FBQXZCLDJCQUF1QjtZQUF2Qix1QkFBdUIsRUFBSTtFQUM3QjtJQUFFLDJCQUFtQjtRQUFuQiw0QkFBbUI7WUFBbkIsbUJBQW1CLEVBQUk7RUFDekI7SUFBRSw2QkFBcUI7UUFBckIseUJBQXFCO1lBQXJCLHFCQUFxQixFQUFJLEVBQUE7O0FyRHFCN0I7RXFEaEJFO0lBQUUsd0JBQTRCO0lBQTVCLG9DQUE0QjtRQUE1QixxQkFBNEI7WUFBNUIsNEJBQTRCLEVBQUk7RUFDbEM7SUFBRSx5QkFBd0I7SUFBeEIsZ0NBQXdCO1FBQXhCLHNCQUF3QjtZQUF4Qix3QkFBd0IsRUFBSTtFQUM5QjtJQUFFLHNCQUEwQjtJQUExQixrQ0FBMEI7UUFBMUIsbUJBQTBCO1lBQTFCLDBCQUEwQixFQUFJO0VBQ2hDO0lBQUUsc0NBQThCO1FBQTlCLDBCQUE4QjtZQUE5Qiw4QkFBOEIsRUFBSTtFQUNwQztJQUFFLDBCQUErQjtJQUEvQix1Q0FBK0I7UUFBL0IsdUJBQStCO1lBQS9CLCtCQUErQixFQUFJLEVBQUE7O0FDL0J2QztFQ1VGLHVCQUF1QjtFQUVyQixtQkFBbUIsRURWbEI7O0FBQ0Q7RUNhRix3QkFBd0I7RUFFdEIsa0JBQWtCLEVEYmpCOztBQUNEO0VBQ0UsdUJBQXVCLEVBQ3hCOztBdERtQ0Q7RXNEM0NBO0lDVUYsdUJBQXVCO0lBRXJCLG1CQUFtQixFRFZsQjtFQUNEO0lDYUYsd0JBQXdCO0lBRXRCLGtCQUFrQixFRGJqQjtFQUNEO0lBQ0UsdUJBQXVCLEVBQ3hCLEVBQUE7O0F0RG1DRDtFc0QzQ0E7SUNVRix1QkFBdUI7SUFFckIsbUJBQW1CLEVEVmxCO0VBQ0Q7SUNhRix3QkFBd0I7SUFFdEIsa0JBQWtCLEVEYmpCO0VBQ0Q7SUFDRSx1QkFBdUIsRUFDeEIsRUFBQTs7QXREbUNEO0VzRDNDQTtJQ1VGLHVCQUF1QjtJQUVyQixtQkFBbUIsRURWbEI7RUFDRDtJQ2FGLHdCQUF3QjtJQUV0QixrQkFBa0IsRURiakI7RUFDRDtJQUNFLHVCQUF1QixFQUN4QixFQUFBOztBdERtQ0Q7RXNEM0NBO0lDVUYsdUJBQXVCO0lBRXJCLG1CQUFtQixFRFZsQjtFQUNEO0lDYUYsd0JBQXdCO0lBRXRCLGtCQUFrQixFRGJqQjtFQUNEO0lBQ0UsdUJBQXVCLEVBQ3hCLEVBQUE7O0FFTkw7RUNDRSxtQkFBbUI7RUFDbkIsV0FBVztFQUNYLFlBQVk7RUFDWixXQUFXO0VBQ1gsYUFBYTtFQUNiLGlCQUFpQjtFQUNqQix1QkFBVTtFQUNWLFVBQVUsRUROWDs7QUFFRDtFQ2dCSSxpQkFBaUI7RUFDakIsWUFBWTtFQUNaLGFBQWE7RUFDYixVQUFVO0VBQ1Ysa0JBQWtCO0VBQ2xCLFdBQVcsRUFDWjs7QUM1Qkg7RUFBUyx1QkFBdUIsRUFBSTs7QUFJcEM7RUFDRSw4QkFBOEI7RUFDOUIsNkJBQThCLEVBQy9COztBQU9HO0VBQUUsdUJBQStDLEVBQUk7O0FBQ3JEO0VBQUUseUJBQXlDLEVBQUk7O0FBQy9DO0VBQUUsMkJBQTJDLEVBQUk7O0FBQ2pEO0VBQUUsNEJBQTRDLEVBQUk7O0FBQ2xEO0VBQUUsMEJBQTBDLEVBQUk7O0FBR2hEO0VBQ0UsMkJBQTJDO0VBQzNDLDBCQUEwQyxFQUMzQzs7QUFDRDtFQUNFLHlCQUF5QztFQUN6Qyw0QkFBNEMsRUFDN0M7O0FBZEQ7RUFBRSxpQ0FBK0MsRUFBSTs7QUFDckQ7RUFBRSw4QkFBeUMsRUFBSTs7QUFDL0M7RUFBRSxnQ0FBMkMsRUFBSTs7QUFDakQ7RUFBRSxpQ0FBNEMsRUFBSTs7QUFDbEQ7RUFBRSwrQkFBMEMsRUFBSTs7QUFHaEQ7RUFDRSxnQ0FBMkM7RUFDM0MsK0JBQTBDLEVBQzNDOztBQUNEO0VBQ0UsOEJBQXlDO0VBQ3pDLGlDQUE0QyxFQUM3Qzs7QUFkRDtFQUFFLG1DQUErQyxFQUFJOztBQUNyRDtFQUFFLCtCQUF5QyxFQUFJOztBQUMvQztFQUFFLGlDQUEyQyxFQUFJOztBQUNqRDtFQUFFLGtDQUE0QyxFQUFJOztBQUNsRDtFQUFFLGdDQUEwQyxFQUFJOztBQUdoRDtFQUNFLGlDQUEyQztFQUMzQyxnQ0FBMEMsRUFDM0M7O0FBQ0Q7RUFDRSwrQkFBeUM7RUFDekMsa0NBQTRDLEVBQzdDOztBQWREO0VBQUUsaUNBQStDLEVBQUk7O0FBQ3JEO0VBQUUsOEJBQXlDLEVBQUk7O0FBQy9DO0VBQUUsZ0NBQTJDLEVBQUk7O0FBQ2pEO0VBQUUsaUNBQTRDLEVBQUk7O0FBQ2xEO0VBQUUsK0JBQTBDLEVBQUk7O0FBR2hEO0VBQ0UsZ0NBQTJDO0VBQzNDLCtCQUEwQyxFQUMzQzs7QUFDRDtFQUNFLDhCQUF5QztFQUN6QyxpQ0FBNEMsRUFDN0M7O0FBZEQ7RUFBRSx3QkFBK0MsRUFBSTs7QUFDckQ7RUFBRSwwQkFBeUMsRUFBSTs7QUFDL0M7RUFBRSw0QkFBMkMsRUFBSTs7QUFDakQ7RUFBRSw2QkFBNEMsRUFBSTs7QUFDbEQ7RUFBRSwyQkFBMEMsRUFBSTs7QUFHaEQ7RUFDRSw0QkFBMkM7RUFDM0MsMkJBQTBDLEVBQzNDOztBQUNEO0VBQ0UsMEJBQXlDO0VBQ3pDLDZCQUE0QyxFQUM3Qzs7QUFkRDtFQUFFLGtDQUErQyxFQUFJOztBQUNyRDtFQUFFLCtCQUF5QyxFQUFJOztBQUMvQztFQUFFLGlDQUEyQyxFQUFJOztBQUNqRDtFQUFFLGtDQUE0QyxFQUFJOztBQUNsRDtFQUFFLGdDQUEwQyxFQUFJOztBQUdoRDtFQUNFLGlDQUEyQztFQUMzQyxnQ0FBMEMsRUFDM0M7O0FBQ0Q7RUFDRSwrQkFBeUM7RUFDekMsa0NBQTRDLEVBQzdDOztBQWREO0VBQUUsb0NBQStDLEVBQUk7O0FBQ3JEO0VBQUUsZ0NBQXlDLEVBQUk7O0FBQy9DO0VBQUUsa0NBQTJDLEVBQUk7O0FBQ2pEO0VBQUUsbUNBQTRDLEVBQUk7O0FBQ2xEO0VBQUUsaUNBQTBDLEVBQUk7O0FBR2hEO0VBQ0Usa0NBQTJDO0VBQzNDLGlDQUEwQyxFQUMzQzs7QUFDRDtFQUNFLGdDQUF5QztFQUN6QyxtQ0FBNEMsRUFDN0M7O0FBZEQ7RUFBRSxrQ0FBK0MsRUFBSTs7QUFDckQ7RUFBRSwrQkFBeUMsRUFBSTs7QUFDL0M7RUFBRSxpQ0FBMkMsRUFBSTs7QUFDakQ7RUFBRSxrQ0FBNEMsRUFBSTs7QUFDbEQ7RUFBRSxnQ0FBMEMsRUFBSTs7QUFHaEQ7RUFDRSxpQ0FBMkM7RUFDM0MsZ0NBQTBDLEVBQzNDOztBQUNEO0VBQ0UsK0JBQXlDO0VBQ3pDLGtDQUE0QyxFQUM3Qzs7QUFNTDtFQUNFLGdCQUFnQjtFQUNoQixPQUFPO0VBQ1AsU0FBUztFQUNULFFBQVE7RUFDUixjM0UrYTZCLEUyRTlhOUI7O0FDcENEO0VBQXVCLCtCQUErQixFQUFJOztBQUMxRDtFQUF1QiwrQkFBK0IsRUFBSTs7QUFDMUQ7RUNKRSxpQkFBaUI7RUFDakIsd0JBQXdCO0VBQ3hCLG9CQUFvQixFREUyQjs7QUFNN0M7RUFBRSw0QkFBNEIsRUFBSTs7QUFDbEM7RUFBRSw2QkFBNkIsRUFBSTs7QUFDbkM7RUFBRSw4QkFBOEIsRUFBSTs7QTNENkJwQztFMkQvQkE7SUFBRSw0QkFBNEIsRUFBSTtFQUNsQztJQUFFLDZCQUE2QixFQUFJO0VBQ25DO0lBQUUsOEJBQThCLEVBQUksRUFBQTs7QTNENkJwQztFMkQvQkE7SUFBRSw0QkFBNEIsRUFBSTtFQUNsQztJQUFFLDZCQUE2QixFQUFJO0VBQ25DO0lBQUUsOEJBQThCLEVBQUksRUFBQTs7QTNENkJwQztFMkQvQkE7SUFBRSw0QkFBNEIsRUFBSTtFQUNsQztJQUFFLDZCQUE2QixFQUFJO0VBQ25DO0lBQUUsOEJBQThCLEVBQUksRUFBQTs7QTNENkJwQztFMkQvQkE7SUFBRSw0QkFBNEIsRUFBSTtFQUNsQztJQUFFLDZCQUE2QixFQUFJO0VBQ25DO0lBQUUsOEJBQThCLEVBQUksRUFBQTs7QUFNeEM7RUFBdUIscUNBQXFDLEVBQUk7O0FBQ2hFO0VBQXVCLHFDQUFxQyxFQUFJOztBQUNoRTtFQUF1QixzQ0FBc0MsRUFBSTs7QUFJakU7RUFBdUIsb0JBQW9CLEVBQUk7O0FBQy9DO0VBQXVCLGtCQUFrQixFQUFJOztBQUM3QztFQUF1QixtQkFBbUIsRUFBSTs7QUUzQjVDO0VBQ0Usc0NBQXdCLEVBQ3pCOztBQUNEO0VBRUksMkJBQWEsRTFFZWQ7O0EwRXBCSDtFQUNFLDBCQUF3QixFQUN6Qjs7QUFDRDtFQUVJLGVBQWEsRTFFZWQ7O0EwRXBCSDtFQUNFLDBCQUF3QixFQUN6Qjs7QUFDRDtFQUVJLGVBQWEsRTFFZWQ7O0EwRXBCSDtFQUNFLDBCQUF3QixFQUN6Qjs7QUFDRDtFQUVJLGVBQWEsRTFFZWQ7O0EwRXBCSDtFQUNFLDBCQUF3QixFQUN6Qjs7QUFDRDtFQUVJLGVBQWEsRTFFZWQ7O0EwRXBCSDtFQUNFLDBCQUF3QixFQUN6Qjs7QUFDRDtFQUVJLGVBQWEsRTFFZWQ7O0F3RXlCTDtFRzlDRSxZQUFZO0VBQ1osbUJBQW1CO0VBQ25CLGtCQUFrQjtFQUNsQiw4QkFBOEI7RUFDOUIsVUFBVSxFSDRDWDs7QUk1Q0Q7RUFDRSw4QkFBOEIsRUFDL0I7O0FBS0M7RUFFSSx5QkFBeUIsRUFFNUI7O0EvRHlDQztFK0R4Q0Y7SUFFSSx5QkFBeUIsRUFFNUIsRUFBQTs7QS9EdUJDO0UrRGhDRjtJQUVJLHlCQUF5QixFQUU1QixFQUFBOztBL0R5Q0M7RStEeENGO0lBRUkseUJBQXlCLEVBRTVCLEVBQUE7O0EvRHVCQztFK0RoQ0Y7SUFFSSx5QkFBeUIsRUFFNUIsRUFBQTs7QS9EeUNDO0UrRHhDRjtJQUVJLHlCQUF5QixFQUU1QixFQUFBOztBL0R1QkM7RStEaENGO0lBRUkseUJBQXlCLEVBRTVCLEVBQUE7O0EvRHlDQztFK0R4Q0Y7SUFFSSx5QkFBeUIsRUFFNUIsRUFBQTs7QS9EdUJDO0UrRGhDRjtJQUVJLHlCQUF5QixFQUU1QixFQUFBOztBQUNEO0VBRUkseUJBQXlCLEVBRTVCOztBQVFIO0VBQ0UseUJBQXlCLEVBSzFCO0VBSEM7SUFIRjtNQUlJLDBCQUEwQixFQUU3QixFQUFBOztBQUNEO0VBQ0UseUJBQXlCLEVBSzFCO0VBSEM7SUFIRjtNQUlJLDJCQUEyQixFQUU5QixFQUFBOztBQUNEO0VBQ0UseUJBQXlCLEVBSzFCO0VBSEM7SUFIRjtNQUlJLGlDQUFpQyxFQUVwQyxFQUFBOztBQUdDO0VBREY7SUFFSSx5QkFBeUIsRUFFNUIsRUFBQTs7QUN4REQ7RUFDRSxpQkNTd0IsRURSekI7O0FBRUQ7RUFFSSxjQUFjLEVBQ2Y7O0FBR0g7RUFDRSxjQUFjLEVBR2Y7O0FFUEQ7RUFDRSxtQkFBbUI7RUFDbkIsWUFBWTtFQUNaLGFBQWEsRUFDZDs7QUFHRDtFQUNFLG1CQUFtQjtFQUNuQixxQkFBYztFQUFkLHNCQUFjO0VBQWQscUJBQWM7RUFBZCxjQUFjO0VBQ2QsNkJBQXVCO0VBQXZCLDhCQUF1QjtFQUF2QiwrQkFBdUI7TUFBdkIsMkJBQXVCO1VBQXZCLHVCQUF1QjtFQUN2QixZQUFZO0VBQ1osYUFBYTtFQUNiLG1CQUFtQjtFQUNuQixpQkFBaUI7RUFDakIsa0NBQWtDLEVBQ25DOztBQUdEO0VBQ0UsV0FBVztFQUNYLHFCQUFjO0VBQWQsc0JBQWM7RUFBZCxxQkFBYztFQUFkLGNBQWM7RUFDZCw2QkFBdUI7RUFBdkIsOEJBQXVCO0VBQXZCLCtCQUF1QjtNQUF2QiwyQkFBdUI7VUFBdkIsdUJBQXVCO0VBQ3ZCLDBCQUFrQjtNQUFsQixzQkFBa0I7VUFBbEIsa0JBQWtCO0VBQ2xCLHVCQUFlO01BQWYscUJBQWU7VUFBZixlQUFlO0VBQ2Ysd0JBQTRCO0VBQTVCLG9DQUE0QjtNQUE1QixxQkFBNEI7VUFBNUIsNEJBQTRCO0VBQzVCLFlBQVk7RUFDWixtQkFBbUI7RUFDbkIsaUNBQXFCO1VBQXJCLHlCQUFxQjtFQ2pCckIsa0NBRDhDO09BQzlDLDZCQUQ4QztVQUM5QywwQkFEOEM7RUFFOUMsaUVGb0hpRDtPRXBIakQsNERGb0hpRDtVRXBIakQseURGb0hpRCxFQ2xHbEQ7O0FBR0Q7RUFDRSxtQkFBbUI7RUFDbkIsV0FBVztFQUNYLHNCQUFzQjtFQUV0QixvQkFBYTtFQUFiLHFCQUFhO01BQWIscUJBQWE7VUFBYixhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLGlCQUFpQjtFQUNqQixrQ0FBa0M7RUM5QmxDLGtDQUQ4QztPQUM5Qyw2QkFEOEM7VUFDOUMsMEJBRDhDO0VBRTlDLGlFRm9IaUQ7T0VwSGpELDRERm9IaUQ7VUVwSGpELHlERm9IaUQsRUNyRmxEOztBQUdEO0VBQ0Usb0JBQWE7RUFBYixxQkFBYTtNQUFiLHFCQUFhO1VBQWIsYUFBYSxFQUNkOztBQUdEO0VBQ0UsbUJBQW1CO0VBQ25CLE9BQU87RUFDUCxRQUFRO0VBQ1IsV0FBVztFQUNYLFlBQVk7RUFDWixhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLDhCQUE4QjtFQUM5Qiw4Q0FBc0M7RUFBdEMseUNBQXNDO0VBQXRDLHNDQUFzQztFQ2pEdEMsa0NBRDhDO09BQzlDLDZCQUQ4QztVQUM5QywwQkFEOEM7RUFFOUMsaUVGb0hpRDtPRXBIakQsNERGb0hpRDtVRXBIakQseURGb0hpRCxFQ3hEbEQ7RUFUaUM7SUFabEM7TUFhSSxxQ0FBc0I7TUFDdEIsV0FBVztNQUNYLHFDQUE2QjtNQUE3QixnQ0FBNkI7TUFBN0IsNkJBQTZCO01BQzdCLG9CQUFvQjtNQUNwQixxQkFBcUIsRUFJeEIsRUFBQTs7QUU1RUQ7RUFDRSxtQkFBbUI7RUFDbkIseUI1REQ4QjtFNERFOUIsb0I1REx5QjtFNERNekIsc0JBQXNCO0VBQ3RCLDBCQUEwQjtFQUMxQixrQkFBa0I7RUFDbEIsZ0JBQWdCO0VBQ2hCLDhCQUE4QjtFQUM5QixVQUFVO0VBQ1YsV0FBVztFQUNYLG9LSHlIaUQ7RUd6SGpELDRKSHlIaUQ7RUd6SGpELHVKSHlIaUQ7RUd6SGpELG9KSHlIaUQ7RUd6SGpELHdNSHlIaUQ7RUd4SGpELG1DQUFtQztFQ2JuQywyQnBGZ1dVO0VvRi9WViwwQjdES2dDO0U2REpoQyxtQjdESzZCLEU0RG9LOUI7RUExS0Q7SUNtTk0sV0FBVyxFQUNaO0VEcE5MO0lDSUksMkJwRjJWUTtJb0YxVlIsMkM3REd3QjtJNkRGeEIsdUM3REV3QixFckJESDtFaUZQekI7SUNXSSwyQnBGb1ZRO0lvRm5WUiwyQzdESndCO0k2REt4Qix1QzdETHdCLEU2RE16QjtFRGRIOzs7SUNtQkksMkJwRjRVUTtJb0YzVVIsMkM3RFp3QjtJNkRheEIsdUM3RGJ3QixFNkRzQnpCO0lEOUJIOzs7Ozs7O01DMEJNLDJCcEZxVU07TW9GcFVOLDJDN0RsQnVCO002RG1CdkIsdUM3RG5CdUIsRTZEb0J4QjtFQUlIO0lBQ0UsZUFBZTtJQUNmLDBCN0Q5QjhCLEU2RG9DL0I7SUFSRDtNQU1JLDJDN0QvQnNCLEU2RGdDdkI7RUR4Q0w7SUMrQ00sMEI3RDFDNEI7STZEMkM1QixtQjdEMUN5QixFNkQyQzFCO0VEakRMO0lDbURNLDBCN0Q5QzRCO0k2RCtDNUIsbUI3RDlDeUIsRXJCQ047RWtGc0V2QjtJQTlFQSwyQnBGZ1dVO0lvRi9WViwwQjdES2dDO0k2REpoQyxtQjdESzZCLEU2RHFGNUI7SUFkRDtNQXpFRSwyQnBGMlZRO01vRjFWUiw0QzdET2dDO002RE5oQyx3QzdETWdDLEVyQkxYO0lrRnNFdkI7TUFsRUUsMkJwRm9WUTtNb0ZuVlIsNEM3REFnQztNNkRDaEMsd0M3RERnQyxFNkRFakM7SUErREQ7OztNQTFERSwyQnBGNFVRO01vRjNVUiw0QzdEUmdDO002RFNoQyx3QzdEVGdDLEU2RGtCakM7TUErQ0Q7Ozs7Ozs7UUFuREksMkJwRnFVTTtRb0ZwVU4sNEM3RGQrQjtRNkRlL0Isd0M3RGYrQixFNkRnQmhDO0lBSUg7TUFDRSxlQUFlO01BQ2YsMEI3RDlCOEIsRTZEb0MvQjtNQVJEO1FBTUksNEM3RDNCOEIsRTZENEIvQjtJQXFDSDtNQTlCSSwwQjdEMUM0QjtNNkQyQzVCLG1CN0QxQ3lCLEU2RDJDMUI7SUE0Qkg7TUExQkksMEI3RDlDNEI7TTZEK0M1QixtQjdEOUN5QixFckJDTjtFaUZQekI7SUMrRkksOEJBQThCLEVBQy9CO0VEaEdIO0lDREUsZXBGMEtnQjtJb0Z6S2hCLDBCN0RLZ0M7STZESmhDLG1CN0RLNkIsRTZEb0c1QjtJRDFHSDtNQ0lJLGVwRnFLYztNb0ZwS2QsMkM3REd3QjtNNkRGeEIsdUM3REV3QixFckJESDtJaUZQekI7TUNXSSxlcEY4SmM7TW9GN0pkLDJDN0RKd0I7TTZES3hCLHVDN0RMd0IsRTZETXpCO0lEZEg7OztNQ21CSSxlcEZzSmM7TW9GckpkLDJDN0Rad0I7TTZEYXhCLHVDN0Rid0IsRTZEc0J6QjtNRDlCSDs7Ozs7OztRQzBCTSxlcEYrSVk7UW9GOUlaLDJDN0RsQnVCO1E2RG1CdkIsdUM3RG5CdUIsRTZEb0J4QjtJQUlIO01BQ0UsZUFBZTtNQUNmLDBCN0Q5QjhCLEU2RG9DL0I7TUFSRDtRQU1JLDJDN0QvQnNCLEU2RGdDdkI7SUR4Q0w7TUMrQ00sMEI3RDFDNEI7TTZEMkM1QixtQjdEMUN5QixFNkQyQzFCO0lEakRMO01DbURNLDBCN0Q5QzRCO002RCtDNUIsbUI3RDlDeUIsRXJCQ047SWtGc0V2QjtNQTlFQSxlcEYwS2dCO01vRnpLaEIsMEI3REtnQztNNkRKaEMsbUI3REs2QixFNkRxRjVCO01BZEQ7UUF6RUUsZXBGcUtjO1FvRnBLZCw0QzdET2dDO1E2RE5oQyx3QzdETWdDLEVyQkxYO01rRnNFdkI7UUFsRUUsZXBGOEpjO1FvRjdKZCw0QzdEQWdDO1E2RENoQyx3QzdERGdDLEU2REVqQztNQStERDs7O1FBMURFLGVwRnNKYztRb0ZySmQsNEM3RFJnQztRNkRTaEMsd0M3RFRnQyxFNkRrQmpDO1FBK0NEOzs7Ozs7O1VBbkRJLGVwRitJWTtVb0Y5SVosNEM3RGQrQjtVNkRlL0Isd0M3RGYrQixFNkRnQmhDO01BSUg7UUFDRSxlQUFlO1FBQ2YsMEI3RDlCOEIsRTZEb0MvQjtRQVJEO1VBTUksNEM3RDNCOEIsRTZENEIvQjtNQXFDSDtRQTlCSSwwQjdEMUM0QjtRNkQyQzVCLG1CN0QxQ3lCLEU2RDJDMUI7TUE0Qkg7UUExQkksMEI3RDlDNEI7UTZEK0M1QixtQjdEOUN5QixFckJDTjtJaUZQekI7TUMrRkksOEJBQThCLEVBQy9CO0VEaEdIO0lDREUsMkJwRmdXVTtJb0YvVlYsMEI3REtnQztJNkRKaEMsbUI3REs2QixFNkR1RzVCO0lEN0dIO01DSUksMkJwRjJWUTtNb0YxVlIsMkM3REd3QjtNNkRGeEIsdUM3REV3QixFckJESDtJaUZQekI7TUNXSSwyQnBGb1ZRO01vRm5WUiwyQzdESndCO002REt4Qix1QzdETHdCLEU2RE16QjtJRGRIOzs7TUNtQkksMkJwRjRVUTtNb0YzVVIsMkM3RFp3QjtNNkRheEIsdUM3RGJ3QixFNkRzQnpCO01EOUJIOzs7Ozs7O1FDMEJNLDJCcEZxVU07UW9GcFVOLDJDN0RsQnVCO1E2RG1CdkIsdUM3RG5CdUIsRTZEb0J4QjtJQUlIO01BQ0UsZUFBZTtNQUNmLDBCN0Q5QjhCLEU2RG9DL0I7TUFSRDtRQU1JLDJDN0QvQnNCLEU2RGdDdkI7SUR4Q0w7TUMrQ00sMEI3RDFDNEI7TTZEMkM1QixtQjdEMUN5QixFNkQyQzFCO0lEakRMO01DbURNLDBCN0Q5QzRCO002RCtDNUIsbUI3RDlDeUIsRXJCQ047SWtGc0V2QjtNQTlFQSwyQnBGZ1dVO01vRi9WViwwQjdES2dDO002REpoQyxtQjdESzZCLEU2RHFGNUI7TUFkRDtRQXpFRSwyQnBGMlZRO1FvRjFWUiw0QzdET2dDO1E2RE5oQyx3QzdETWdDLEVyQkxYO01rRnNFdkI7UUFsRUUsMkJwRm9WUTtRb0ZuVlIsNEM3REFnQztRNkRDaEMsd0M3RERnQyxFNkRFakM7TUErREQ7OztRQTFERSwyQnBGNFVRO1FvRjNVUiw0QzdEUmdDO1E2RFNoQyx3QzdEVGdDLEU2RGtCakM7UUErQ0Q7Ozs7Ozs7VUFuREksMkJwRnFVTTtVb0ZwVU4sNEM3RGQrQjtVNkRlL0Isd0M3RGYrQixFNkRnQmhDO01BSUg7UUFDRSxlQUFlO1FBQ2YsMEI3RDlCOEIsRTZEb0MvQjtRQVJEO1VBTUksNEM3RDNCOEIsRTZENEIvQjtNQXFDSDtRQTlCSSwwQjdEMUM0QjtRNkQyQzVCLG1CN0QxQ3lCLEU2RDJDMUI7TUE0Qkg7UUExQkksMEI3RDlDNEI7UTZEK0M1QixtQjdEOUN5QixFckJDTjtJaUZQekI7TUMrRkksOEJBQThCLEVBQy9CO0VEaEdIO0lDREUsZXBGd0lzQjtJb0Z2SXRCLDBCN0RLZ0M7STZESmhDLG1CN0RLNkIsRTZEMEc1QjtJRGhISDtNQ0lJLGVwRm1Jb0I7TW9GbElwQiwyQzdER3dCO002REZ4Qix1QzdERXdCLEVyQkRIO0lpRlB6QjtNQ1dJLGVwRjRIb0I7TW9GM0hwQiwyQzdESndCO002REt4Qix1QzdETHdCLEU2RE16QjtJRGRIOzs7TUNtQkksZXBGb0hvQjtNb0ZuSHBCLDJDN0Rad0I7TTZEYXhCLHVDN0Rid0IsRTZEc0J6QjtNRDlCSDs7Ozs7OztRQzBCTSxlcEY2R2tCO1FvRjVHbEIsMkM3RGxCdUI7UTZEbUJ2Qix1QzdEbkJ1QixFNkRvQnhCO0lBSUg7TUFDRSxlQUFlO01BQ2YsMEI3RDlCOEIsRTZEb0MvQjtNQVJEO1FBTUksMkM3RC9Cc0IsRTZEZ0N2QjtJRHhDTDtNQytDTSwwQjdEMUM0QjtNNkQyQzVCLG1CN0QxQ3lCLEU2RDJDMUI7SURqREw7TUNtRE0sMEI3RDlDNEI7TTZEK0M1QixtQjdEOUN5QixFckJDTjtJa0ZzRXZCO01BOUVBLGVwRndJc0I7TW9Gdkl0QiwwQjdES2dDO002REpoQyxtQjdESzZCLEU2RHFGNUI7TUFkRDtRQXpFRSxlcEZtSW9CO1FvRmxJcEIsNEM3RE9nQztRNkROaEMsd0M3RE1nQyxFckJMWDtNa0ZzRXZCO1FBbEVFLGVwRjRIb0I7UW9GM0hwQiw0QzdEQWdDO1E2RENoQyx3QzdERGdDLEU2REVqQztNQStERDs7O1FBMURFLGVwRm9Ib0I7UW9GbkhwQiw0QzdEUmdDO1E2RFNoQyx3QzdEVGdDLEU2RGtCakM7UUErQ0Q7Ozs7Ozs7VUFuREksZXBGNkdrQjtVb0Y1R2xCLDRDN0RkK0I7VTZEZS9CLHdDN0RmK0IsRTZEZ0JoQztNQUlIO1FBQ0UsZUFBZTtRQUNmLDBCN0Q5QjhCLEU2RG9DL0I7UUFSRDtVQU1JLDRDN0QzQjhCLEU2RDRCL0I7TUFxQ0g7UUE5QkksMEI3RDFDNEI7UTZEMkM1QixtQjdEMUN5QixFNkQyQzFCO01BNEJIO1FBMUJJLDBCN0Q5QzRCO1E2RCtDNUIsbUI3RDlDeUIsRXJCQ047SWlGUHpCO01DK0ZJLDhCQUE4QixFQUMvQjtFRGhHSDtJQ0RFLGVwRjJMaUI7SW9GMUxqQiwwQjdES2dDO0k2REpoQyxtQjdESzZCLEU2RDZHNUI7SURuSEg7TUNJSSxlcEZzTGU7TW9GckxmLDJDN0RHd0I7TTZERnhCLHVDN0RFd0IsRXJCREg7SWlGUHpCO01DV0ksZXBGK0tlO01vRjlLZiwyQzdESndCO002REt4Qix1QzdETHdCLEU2RE16QjtJRGRIOzs7TUNtQkksZXBGdUtlO01vRnRLZiwyQzdEWndCO002RGF4Qix1QzdEYndCLEU2RHNCekI7TUQ5Qkg7Ozs7Ozs7UUMwQk0sZXBGZ0thO1FvRi9KYiwyQzdEbEJ1QjtRNkRtQnZCLHVDN0RuQnVCLEU2RG9CeEI7SUFJSDtNQUNFLGVBQWU7TUFDZiwwQjdEOUI4QixFNkRvQy9CO01BUkQ7UUFNSSwyQzdEL0JzQixFNkRnQ3ZCO0lEeENMO01DK0NNLDBCN0QxQzRCO002RDJDNUIsbUI3RDFDeUIsRTZEMkMxQjtJRGpETDtNQ21ETSwwQjdEOUM0QjtNNkQrQzVCLG1CN0Q5Q3lCLEVyQkNOO0lrRnNFdkI7TUE5RUEsZXBGMkxpQjtNb0YxTGpCLDBCN0RLZ0M7TTZESmhDLG1CN0RLNkIsRTZEcUY1QjtNQWREO1FBekVFLGVwRnNMZTtRb0ZyTGYsNEM3RE9nQztRNkROaEMsd0M3RE1nQyxFckJMWDtNa0ZzRXZCO1FBbEVFLGVwRitLZTtRb0Y5S2YsNEM3REFnQztRNkRDaEMsd0M3RERnQyxFNkRFakM7TUErREQ7OztRQTFERSxlcEZ1S2U7UW9GdEtmLDRDN0RSZ0M7UTZEU2hDLHdDN0RUZ0MsRTZEa0JqQztRQStDRDs7Ozs7OztVQW5ESSxlcEZnS2E7VW9GL0piLDRDN0RkK0I7VTZEZS9CLHdDN0RmK0IsRTZEZ0JoQztNQUlIO1FBQ0UsZUFBZTtRQUNmLDBCN0Q5QjhCLEU2RG9DL0I7UUFSRDtVQU1JLDRDN0QzQjhCLEU2RDRCL0I7TUFxQ0g7UUE5QkksMEI3RDFDNEI7UTZEMkM1QixtQjdEMUN5QixFNkQyQzFCO01BNEJIO1FBMUJJLDBCN0Q5QzRCO1E2RCtDNUIsbUI3RDlDeUIsRXJCQ047SWlGUHpCO01DK0ZJLDhCQUE4QixFQUMvQjtFRGhHSDtJQ0RFLGVwRmlTdUI7SW9GaFN2QiwwQjdES2dDO0k2REpoQyxtQjdESzZCLEU2RGdINUI7SUR0SEg7TUNJSSxlcEY0UnFCO01vRjNSckIsMkM3REd3QjtNNkRGeEIsdUM3REV3QixFckJESDtJaUZQekI7TUNXSSxlcEZxUnFCO01vRnBSckIsMkM3REp3QjtNNkRLeEIsdUM3REx3QixFNkRNekI7SURkSDs7O01DbUJJLGVwRjZRcUI7TW9GNVFyQiwyQzdEWndCO002RGF4Qix1QzdEYndCLEU2RHNCekI7TUQ5Qkg7Ozs7Ozs7UUMwQk0sZXBGc1FtQjtRb0ZyUW5CLDJDN0RsQnVCO1E2RG1CdkIsdUM3RG5CdUIsRTZEb0J4QjtJQUlIO01BQ0UsZUFBZTtNQUNmLDBCN0Q5QjhCLEU2RG9DL0I7TUFSRDtRQU1JLDJDN0QvQnNCLEU2RGdDdkI7SUR4Q0w7TUMrQ00sMEI3RDFDNEI7TTZEMkM1QixtQjdEMUN5QixFNkQyQzFCO0lEakRMO01DbURNLDBCN0Q5QzRCO002RCtDNUIsbUI3RDlDeUIsRXJCQ047SWtGc0V2QjtNQTlFQSxlcEZpU3VCO01vRmhTdkIsMEI3REtnQztNNkRKaEMsbUI3REs2QixFNkRxRjVCO01BZEQ7UUF6RUUsZXBGNFJxQjtRb0YzUnJCLDRDN0RPZ0M7UTZETmhDLHdDN0RNZ0MsRXJCTFg7TWtGc0V2QjtRQWxFRSxlcEZxUnFCO1FvRnBSckIsNEM3REFnQztRNkRDaEMsd0M3RERnQyxFNkRFakM7TUErREQ7OztRQTFERSxlcEY2UXFCO1FvRjVRckIsNEM3RFJnQztRNkRTaEMsd0M3RFRnQyxFNkRrQmpDO1FBK0NEOzs7Ozs7O1VBbkRJLGVwRnNRbUI7VW9GclFuQiw0QzdEZCtCO1U2RGUvQix3QzdEZitCLEU2RGdCaEM7TUFJSDtRQUNFLGVBQWU7UUFDZiwwQjdEOUI4QixFNkRvQy9CO1FBUkQ7VUFNSSw0QzdEM0I4QixFNkQ0Qi9CO01BcUNIO1FBOUJJLDBCN0QxQzRCO1E2RDJDNUIsbUI3RDFDeUIsRTZEMkMxQjtNQTRCSDtRQTFCSSwwQjdEOUM0QjtRNkQrQzVCLG1CN0Q5Q3lCLEVyQkNOO0lpRlB6QjtNQytGSSw4QkFBOEIsRUFDL0I7RURoR0g7SUNERSxlcEZrQ2U7SW9GakNmLDBCN0RLZ0M7STZESmhDLG1CN0RLNkIsRTZEbUg1QjtJRHpISDtNQ0lJLGVwRjZCYTtNb0Y1QmIsMkM3REd3QjtNNkRGeEIsdUM3REV3QixFckJESDtJaUZQekI7TUNXSSxlcEZzQmE7TW9GckJiLDJDN0RKd0I7TTZES3hCLHVDN0RMd0IsRTZETXpCO0lEZEg7OztNQ21CSSxlcEZjYTtNb0ZiYiwyQzdEWndCO002RGF4Qix1QzdEYndCLEU2RHNCekI7TUQ5Qkg7Ozs7Ozs7UUMwQk0sZXBGT1c7UW9GTlgsMkM3RGxCdUI7UTZEbUJ2Qix1QzdEbkJ1QixFNkRvQnhCO0lBSUg7TUFDRSxlQUFlO01BQ2YsMEI3RDlCOEIsRTZEb0MvQjtNQVJEO1FBTUksMkM3RC9Cc0IsRTZEZ0N2QjtJRHhDTDtNQytDTSwwQjdEMUM0QjtNNkQyQzVCLG1CN0QxQ3lCLEU2RDJDMUI7SURqREw7TUNtRE0sMEI3RDlDNEI7TTZEK0M1QixtQjdEOUN5QixFckJDTjtJa0ZzRXZCO01BOUVBLGVwRmtDZTtNb0ZqQ2YsMEI3REtnQztNNkRKaEMsbUI3REs2QixFNkRxRjVCO01BZEQ7UUF6RUUsZXBGNkJhO1FvRjVCYiw0QzdET2dDO1E2RE5oQyx3QzdETWdDLEVyQkxYO01rRnNFdkI7UUFsRUUsZXBGc0JhO1FvRnJCYiw0QzdEQWdDO1E2RENoQyx3QzdERGdDLEU2REVqQztNQStERDs7O1FBMURFLGVwRmNhO1FvRmJiLDRDN0RSZ0M7UTZEU2hDLHdDN0RUZ0MsRTZEa0JqQztRQStDRDs7Ozs7OztVQW5ESSxlcEZPVztVb0ZOWCw0QzdEZCtCO1U2RGUvQix3QzdEZitCLEU2RGdCaEM7TUFJSDtRQUNFLGVBQWU7UUFDZiwwQjdEOUI4QixFNkRvQy9CO1FBUkQ7VUFNSSw0QzdEM0I4QixFNkQ0Qi9CO01BcUNIO1FBOUJJLDBCN0QxQzRCO1E2RDJDNUIsbUI3RDFDeUIsRTZEMkMxQjtNQTRCSDtRQTFCSSwwQjdEOUM0QjtRNkQrQzVCLG1CN0Q5Q3lCLEVyQkNOO0lpRlB6QjtNQytGSSw4QkFBOEIsRUFDL0I7RURoR0g7OztJQ0RFLFl0RjRRbUM7SXNGM1FuQywwQnBGeUtnQjtJb0Z4S2hCLHNCcEZ3S2dCLEVvRmdCZjtJRHpMSDs7O01DSUksWXRGdVFpQztNc0Z0UWpDLDBCQStKbUQ7TUE5Sm5ELHNCQWdLbUIsRWxGL0pFO0lpRlB6Qjs7Ozs7TUNXSSxZdEZnUWlDO01zRi9QakMsMEJBd0ptRDtNQXZKbkQsc0JBeUptQixFQXhKcEI7SURkSDs7Ozs7Ozs7Ozs7OztNQ21CSSxZdEZ3UGlDO01zRnZQakMsMEJBZ0ptRDtNQS9JbkQsc0JBaUptQixFQXhJcEI7TUQ5Qkg7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7UUMwQk0sWXRGaVArQjtRc0ZoUC9CLDBCQXlJaUQ7UUF4SWpELHNCQThJa0IsRUE3SW5CO0lBSUg7OztNQUNFLGVBQWU7TUFDZiwwQnBGc0ljLEVvRmhJZjtNQVJEOzs7UUFNSSwwQkE2SGlELEVBNUhsRDtJRHhDTDs7Ozs7Ozs7O01DK0NNLDBCcEYwSFk7TW9GekhaLHNCcEZ5SFksRW9GeEhiO0lEakRMOzs7OztNQ21ETSwwQnBGc0hZO01vRnJIWixzQnBGcUhZLEVFbEtPO0VpRlB6Qjs7O0lDREUsMkJwRmdXVTtJb0YvVlYsMEJuRkNrQztJbUZBbEMsbUJ0RmdSbUMsRXNGckZsQztJRDVMSDs7O01DSUksMkJwRjJWUTtNb0YxVlIsMEJBK0ptRDtNQTlKbkQsc0JBZ0ttQixFbEYvSkU7SWlGUHpCOzs7OztNQ1dJLDJCcEZvVlE7TW9GblZSLDBCQXdKbUQ7TUF2Sm5ELHNCQXlKbUIsRUF4SnBCO0lEZEg7Ozs7Ozs7Ozs7Ozs7TUNtQkksMkJwRjRVUTtNb0YzVVIsMEJBZ0ptRDtNQS9JbkQsc0JBaUptQixFQXhJcEI7TUQ5Qkg7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7UUMwQk0sMkJwRnFVTTtRb0ZwVU4sMEJBeUlpRDtRQXhJakQsc0JBOElrQixFQTdJbkI7SUFJSDs7O01BQ0UsZUFBZTtNQUNmLDBCbkZsQ2dDLEVtRndDakM7TUFSRDs7O1FBTUksMEJBNkhpRCxFQTVIbEQ7SUR4Q0w7Ozs7Ozs7OztNQytDTSwwQm5GOUM4QjtNbUYrQzlCLG1CdEZpTytCLEVzRmhPaEM7SURqREw7Ozs7O01DbURNLDBCbkZsRDhCO01tRm1EOUIsbUJ0RjZOK0IsRUkxUVo7RWlGUHpCOzs7SUNERSxZdEZvUm1DO0lzRm5SbkMsMEJwRnVJc0I7SW9GdEl0QixzQnBGc0lzQixFb0Z3RHJCO0lEL0xIOzs7TUNJSSxZdEYrUWlDO01zRjlRakMsMEJBK0ptRDtNQTlKbkQsc0JBZ0ttQixFbEYvSkU7SWlGUHpCOzs7OztNQ1dJLFl0RndRaUM7TXNGdlFqQywwQkF3Sm1EO01BdkpuRCxzQkF5Sm1CLEVBeEpwQjtJRGRIOzs7Ozs7Ozs7Ozs7O01DbUJJLFl0RmdRaUM7TXNGL1BqQywwQkFnSm1EO01BL0luRCxzQkFpSm1CLEVBeElwQjtNRDlCSDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztRQzBCTSxZdEZ5UCtCO1FzRnhQL0IsMEJBeUlpRDtRQXhJakQsc0JBOElrQixFQTdJbkI7SUFJSDs7O01BQ0UsZUFBZTtNQUNmLDBCcEZvR29CLEVvRjlGckI7TUFSRDs7O1FBTUksMEJBNkhpRCxFQTVIbEQ7SUR4Q0w7Ozs7Ozs7OztNQytDTSwwQnBGd0ZrQjtNb0Z2RmxCLHNCcEZ1RmtCLEVvRnRGbkI7SURqREw7Ozs7O01DbURNLDBCcEZvRmtCO01vRm5GbEIsc0JwRm1Ga0IsRUVoSUM7RWlGUHpCOzs7SUNERSxZdEZ3Um1DO0lzRnZSbkMsMEJwRjBMaUI7SW9GekxqQixzQnBGeUxpQixFb0ZRaEI7SURsTUg7OztNQ0lJLFl0Rm1SaUM7TXNGbFJqQywwQkErSm1EO01BOUpuRCxzQkFnS21CLEVsRi9KRTtJaUZQekI7Ozs7O01DV0ksWXRGNFFpQztNc0YzUWpDLDBCQXdKbUQ7TUF2Sm5ELHNCQXlKbUIsRUF4SnBCO0lEZEg7Ozs7Ozs7Ozs7Ozs7TUNtQkksWXRGb1FpQztNc0ZuUWpDLDBCQWdKbUQ7TUEvSW5ELHNCQWlKbUIsRUF4SXBCO01EOUJIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1FDMEJNLFl0RjZQK0I7UXNGNVAvQiwwQkF5SWlEO1FBeElqRCxzQkE4SWtCLEVBN0luQjtJQUlIOzs7TUFDRSxlQUFlO01BQ2YsMEJwRnVKZSxFb0ZqSmhCO01BUkQ7OztRQU1JLDBCQTZIaUQsRUE1SGxEO0lEeENMOzs7Ozs7Ozs7TUMrQ00sMEJwRjJJYTtNb0YxSWIsc0JwRjBJYSxFb0Z6SWQ7SURqREw7Ozs7O01DbURNLDBCcEZ1SWE7TW9GdEliLHNCcEZzSWEsRUVuTE07RWlGUHpCOzs7SUNERSxZdEY0Um1DO0lzRjNSbkMsMEJwRmdTdUI7SW9GL1J2QixzQnBGK1J1QixFb0YzRnRCO0lEck1IOzs7TUNJSSxZdEZ1UmlDO01zRnRSakMsMEJBK0ptRDtNQTlKbkQsc0JBZ0ttQixFbEYvSkU7SWlGUHpCOzs7OztNQ1dJLFl0RmdSaUM7TXNGL1FqQywwQkF3Sm1EO01BdkpuRCxzQkF5Sm1CLEVBeEpwQjtJRGRIOzs7Ozs7Ozs7Ozs7O01DbUJJLFl0RndRaUM7TXNGdlFqQywwQkFnSm1EO01BL0luRCxzQkFpSm1CLEVBeElwQjtNRDlCSDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztRQzBCTSxZdEZpUStCO1FzRmhRL0IsMEJBeUlpRDtRQXhJakQsc0JBOElrQixFQTdJbkI7SUFJSDs7O01BQ0UsZUFBZTtNQUNmLDBCcEY2UHFCLEVvRnZQdEI7TUFSRDs7O1FBTUksMEJBNkhpRCxFQTVIbEQ7SUR4Q0w7Ozs7Ozs7OztNQytDTSwwQnBGaVBtQjtNb0ZoUG5CLHNCcEZnUG1CLEVvRi9PcEI7SURqREw7Ozs7O01DbURNLDBCcEY2T21CO01vRjVPbkIsc0JwRjRPbUIsRUV6UkE7RWlGUHpCOzs7SUNERSxZdEZnU21DO0lzRi9SbkMsMEJwRmlDZTtJb0ZoQ2Ysc0JwRmdDZSxFb0Z1S2Q7SUR4TUg7OztNQ0lJLFl0RjJSaUM7TXNGMVJqQywwQkErSjZFO01BOUo3RSxzQkFnS21CLEVsRi9KRTtJaUZQekI7Ozs7O01DV0ksWXRGb1JpQztNc0ZuUmpDLDBCQXdKNkU7TUF2SjdFLHNCQXlKbUIsRUF4SnBCO0lEZEg7Ozs7Ozs7Ozs7Ozs7TUNtQkksWXRGNFFpQztNc0YzUWpDLDBCQWdKNkU7TUEvSTdFLHNCQWlKbUIsRUF4SXBCO01EOUJIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1FDMEJNLFl0RnFRK0I7UXNGcFEvQiwwQkF5STJFO1FBeEkzRSxzQkE4SWtCLEVBN0luQjtJQUlIOzs7TUFDRSxlQUFlO01BQ2YsMEJwRkZhLEVvRlFkO01BUkQ7OztRQU1JLDBCQTZIMkUsRUE1SDVFO0lEeENMOzs7Ozs7Ozs7TUMrQ00sMEJwRmRXO01vRmVYLHNCcEZmVyxFb0ZnQlo7SURqREw7Ozs7O01DbURNLDBCcEZsQlc7TW9GbUJYLHNCcEZuQlcsRUUxQlE7RWlGUHpCOzs7OztJQWtDTSxXQUFXO0l4RS9CYix5SFg0VlE7WVc1VlIsaUhYNFZRLEVFM1VQO0VpRnBCTDs7Ozs7SUEwQ00sV0FBVztJeEV2Q2IsZ0ZYNFZRO1lXNVZSLHdFWDRWUSxFbUZsVFA7RUE3Q0w7OztJeEVHSSx3SFg0VlE7WVc1VlIsZ0hYNFZRLEVtRjVSVDtJQW5FSDs7O01BMERNLHlCQUFpQjtjQUFqQixpQkFBaUIsRUFJbEI7TUE5REw7OztRQTREUSx5QkFBaUI7Z0JBQWpCLGlCQUFpQixFRTNEdEI7TUZESDs7Ozs7OztRQTREUSx5QkFBaUI7Z0JBQWpCLGlCQUFpQixFakZOcEI7SW9GeERIOzs7Ozs7Ozs7TUhtRUkseUJBQWlCO2NBQWpCLGlCQUFpQixFRzlEcEI7RUhISDtJQ29JSSwyQkFBMkI7SUFDM0Isb0JBQW9CO0lBQ3BCLGtCQUFrQixFQUNuQjtFRHZJSDtJQ0RFLDJCcEZnV1U7SW9GL1ZWLDBCN0RLZ0M7STZESmhDLGtDcEY4VlUsRW9Gbk5UO0lENUlIO01DSUksMkJwRjJWUTtNb0YxVlIsMkM3REd3QjtNNkRGeEIsa0NwRnlWUSxFRXhWYTtJaUZQekI7TUNXSSwyQnBGb1ZRO01vRm5WUiwyQzdESndCO002REt4QixrQ3BGa1ZRLEVvRmpWVDtJRGRIOzs7TUNtQkksMkJwRjRVUTtNb0YzVVIsMkM3RFp3QjtNNkRheEIsa0NwRjBVUSxFb0ZqVVQ7TUQ5Qkg7Ozs7Ozs7UUMwQk0sMkJwRnFVTTtRb0ZwVU4sMkM3RGxCdUI7UTZEbUJ2QixrQ3BGbVVNLEVvRmxVUDtJQUlIO01BQ0UsZUFBZTtNQUNmLDBCN0Q5QjhCLEU2RG9DL0I7TUFSRDtRQU1JLDJDN0QvQnNCLEU2RGdDdkI7SUR4Q0w7TUMrQ00sMEI3RDFDNEI7TTZEMkM1QixrQ3BGK1NNLEVvRjlTUDtJRGpETDtNQ21ETSwwQjdEOUM0QjtNNkQrQzVCLGtDcEYyU00sRUV4VmE7SWtGc0V2QjtNQTlFQSwyQnBGZ1dVO01vRi9WViwwQjdES2dDO002REpoQyxrQ3BGOFZVLEVvRnBRVDtNQWREO1FBekVFLDJCcEYyVlE7UW9GMVZSLDRDN0RPZ0M7UTZETmhDLHdDN0RNZ0MsRXJCTFg7TWtGc0V2QjtRQWxFRSwyQnBGb1ZRO1FvRm5WUiw0QzdEQWdDO1E2RENoQyx3QzdERGdDLEU2REVqQztNQStERDs7O1FBMURFLDJCcEY0VVE7UW9GM1VSLDRDN0RSZ0M7UTZEU2hDLHdDN0RUZ0MsRTZEa0JqQztRQStDRDs7Ozs7OztVQW5ESSwyQnBGcVVNO1VvRnBVTiw0QzdEZCtCO1U2RGUvQix3QzdEZitCLEU2RGdCaEM7TUFJSDtRQUNFLGVBQWU7UUFDZiwwQjdEOUI4QixFNkRvQy9CO1FBUkQ7VUFNSSw0QzdEM0I4QixFNkQ0Qi9CO01BcUNIO1FBOUJJLDBCN0QxQzRCO1E2RDJDNUIsa0NwRitTTSxFb0Y5U1A7TUE0Qkg7UUExQkksMEI3RDlDNEI7UTZEK0M1QixrQ3BGMlNNLEVFeFZhO0lpRlB6QjtNQytGSSw4QkFBOEIsRUFDL0I7RURoR0g7SUNERSxlcEYwS2dCO0lvRnpLaEIsMEI3REtnQztJNkRKaEMsc0JwRndLZ0IsRW9GMUJmO0lEL0lIO01DSUksZXBGcUtjO01vRnBLZCwyQzdER3dCO002REZ4QixzQnBGbUtjLEVFbEtPO0lpRlB6QjtNQ1dJLGVwRjhKYztNb0Y3SmQsMkM3REp3QjtNNkRLeEIsc0JwRjRKYyxFb0YzSmY7SURkSDs7O01DbUJJLGVwRnNKYztNb0ZySmQsMkM3RFp3QjtNNkRheEIsc0JwRm9KYyxFb0YzSWY7TUQ5Qkg7Ozs7Ozs7UUMwQk0sZXBGK0lZO1FvRjlJWiwyQzdEbEJ1QjtRNkRtQnZCLHNCcEY2SVksRW9GNUliO0lBSUg7TUFDRSxlQUFlO01BQ2YsMEI3RDlCOEIsRTZEb0MvQjtNQVJEO1FBTUksMkM3RC9Cc0IsRTZEZ0N2QjtJRHhDTDtNQytDTSwwQjdEMUM0QjtNNkQyQzVCLHNCcEZ5SFksRW9GeEhiO0lEakRMO01DbURNLDBCN0Q5QzRCO002RCtDNUIsc0JwRnFIWSxFRWxLTztJa0ZzRXZCO01BOUVBLGVwRjBLZ0I7TW9GektoQiwwQjdES2dDO002REpoQyxzQnBGd0tnQixFb0Y5RWY7TUFkRDtRQXpFRSxlcEZxS2M7UW9GcEtkLDRDN0RPZ0M7UTZETmhDLHdDN0RNZ0MsRXJCTFg7TWtGc0V2QjtRQWxFRSxlcEY4SmM7UW9GN0pkLDRDN0RBZ0M7UTZEQ2hDLHdDN0REZ0MsRTZERWpDO01BK0REOzs7UUExREUsZXBGc0pjO1FvRnJKZCw0QzdEUmdDO1E2RFNoQyx3QzdEVGdDLEU2RGtCakM7UUErQ0Q7Ozs7Ozs7VUFuREksZXBGK0lZO1VvRjlJWiw0QzdEZCtCO1U2RGUvQix3QzdEZitCLEU2RGdCaEM7TUFJSDtRQUNFLGVBQWU7UUFDZiwwQjdEOUI4QixFNkRvQy9CO1FBUkQ7VUFNSSw0QzdEM0I4QixFNkQ0Qi9CO01BcUNIO1FBOUJJLDBCN0QxQzRCO1E2RDJDNUIsc0JwRnlIWSxFb0Z4SGI7TUE0Qkg7UUExQkksMEI3RDlDNEI7UTZEK0M1QixzQnBGcUhZLEVFbEtPO0lpRlB6QjtNQytGSSw4QkFBOEIsRUFDL0I7RURoR0g7SUNERSwyQnBGZ1dVO0lvRi9WViwwQjdES2dDO0k2REpoQyxrQ3BGOFZVLEVvRjdNVDtJRGxKSDtNQ0lJLDJCcEYyVlE7TW9GMVZSLDJDN0RHd0I7TTZERnhCLGtDcEZ5VlEsRUV4VmE7SWlGUHpCO01DV0ksMkJwRm9WUTtNb0ZuVlIsMkM3REp3QjtNNkRLeEIsa0NwRmtWUSxFb0ZqVlQ7SURkSDs7O01DbUJJLDJCcEY0VVE7TW9GM1VSLDJDN0Rad0I7TTZEYXhCLGtDcEYwVVEsRW9GalVUO01EOUJIOzs7Ozs7O1FDMEJNLDJCcEZxVU07UW9GcFVOLDJDN0RsQnVCO1E2RG1CdkIsa0NwRm1VTSxFb0ZsVVA7SUFJSDtNQUNFLGVBQWU7TUFDZiwwQjdEOUI4QixFNkRvQy9CO01BUkQ7UUFNSSwyQzdEL0JzQixFNkRnQ3ZCO0lEeENMO01DK0NNLDBCN0QxQzRCO002RDJDNUIsa0NwRitTTSxFb0Y5U1A7SURqREw7TUNtRE0sMEI3RDlDNEI7TTZEK0M1QixrQ3BGMlNNLEVFeFZhO0lrRnNFdkI7TUE5RUEsMkJwRmdXVTtNb0YvVlYsMEI3REtnQztNNkRKaEMsa0NwRjhWVSxFb0ZwUVQ7TUFkRDtRQXpFRSwyQnBGMlZRO1FvRjFWUiw0QzdET2dDO1E2RE5oQyx3QzdETWdDLEVyQkxYO01rRnNFdkI7UUFsRUUsMkJwRm9WUTtRb0ZuVlIsNEM3REFnQztRNkRDaEMsd0M3RERnQyxFNkRFakM7TUErREQ7OztRQTFERSwyQnBGNFVRO1FvRjNVUiw0QzdEUmdDO1E2RFNoQyx3QzdEVGdDLEU2RGtCakM7UUErQ0Q7Ozs7Ozs7VUFuREksMkJwRnFVTTtVb0ZwVU4sNEM3RGQrQjtVNkRlL0Isd0M3RGYrQixFNkRnQmhDO01BSUg7UUFDRSxlQUFlO1FBQ2YsMEI3RDlCOEIsRTZEb0MvQjtRQVJEO1VBTUksNEM3RDNCOEIsRTZENEIvQjtNQXFDSDtRQTlCSSwwQjdEMUM0QjtRNkQyQzVCLGtDcEYrU00sRW9GOVNQO01BNEJIO1FBMUJJLDBCN0Q5QzRCO1E2RCtDNUIsa0NwRjJTTSxFRXhWYTtJaUZQekI7TUMrRkksOEJBQThCLEVBQy9CO0VEaEdIO0lDREUsZXBGd0lzQjtJb0Z2SXRCLDBCN0RLZ0M7STZESmhDLHNCcEZzSXNCLEVvRmNyQjtJRHJKSDtNQ0lJLGVwRm1Jb0I7TW9GbElwQiwyQzdER3dCO002REZ4QixzQnBGaUlvQixFRWhJQztJaUZQekI7TUNXSSxlcEY0SG9CO01vRjNIcEIsMkM3REp3QjtNNkRLeEIsc0JwRjBIb0IsRW9GekhyQjtJRGRIOzs7TUNtQkksZXBGb0hvQjtNb0ZuSHBCLDJDN0Rad0I7TTZEYXhCLHNCcEZrSG9CLEVvRnpHckI7TUQ5Qkg7Ozs7Ozs7UUMwQk0sZXBGNkdrQjtRb0Y1R2xCLDJDN0RsQnVCO1E2RG1CdkIsc0JwRjJHa0IsRW9GMUduQjtJQUlIO01BQ0UsZUFBZTtNQUNmLDBCN0Q5QjhCLEU2RG9DL0I7TUFSRDtRQU1JLDJDN0QvQnNCLEU2RGdDdkI7SUR4Q0w7TUMrQ00sMEI3RDFDNEI7TTZEMkM1QixzQnBGdUZrQixFb0Z0Rm5CO0lEakRMO01DbURNLDBCN0Q5QzRCO002RCtDNUIsc0JwRm1Ga0IsRUVoSUM7SWtGc0V2QjtNQTlFQSxlcEZ3SXNCO01vRnZJdEIsMEI3REtnQztNNkRKaEMsc0JwRnNJc0IsRW9GNUNyQjtNQWREO1FBekVFLGVwRm1Jb0I7UW9GbElwQiw0QzdET2dDO1E2RE5oQyx3QzdETWdDLEVyQkxYO01rRnNFdkI7UUFsRUUsZXBGNEhvQjtRb0YzSHBCLDRDN0RBZ0M7UTZEQ2hDLHdDN0REZ0MsRTZERWpDO01BK0REOzs7UUExREUsZXBGb0hvQjtRb0ZuSHBCLDRDN0RSZ0M7UTZEU2hDLHdDN0RUZ0MsRTZEa0JqQztRQStDRDs7Ozs7OztVQW5ESSxlcEY2R2tCO1VvRjVHbEIsNEM3RGQrQjtVNkRlL0Isd0M3RGYrQixFNkRnQmhDO01BSUg7UUFDRSxlQUFlO1FBQ2YsMEI3RDlCOEIsRTZEb0MvQjtRQVJEO1VBTUksNEM3RDNCOEIsRTZENEIvQjtNQXFDSDtRQTlCSSwwQjdEMUM0QjtRNkQyQzVCLHNCcEZ1RmtCLEVvRnRGbkI7TUE0Qkg7UUExQkksMEI3RDlDNEI7UTZEK0M1QixzQnBGbUZrQixFRWhJQztJaUZQekI7TUMrRkksOEJBQThCLEVBQy9CO0VEaEdIO0lDREUsZXBGMkxpQjtJb0YxTGpCLDBCN0RLZ0M7STZESmhDLHNCcEZ5TGlCLEVvRmxDaEI7SUR4Skg7TUNJSSxlcEZzTGU7TW9GckxmLDJDN0RHd0I7TTZERnhCLHNCcEZvTGUsRUVuTE07SWlGUHpCO01DV0ksZXBGK0tlO01vRjlLZiwyQzdESndCO002REt4QixzQnBGNktlLEVvRjVLaEI7SURkSDs7O01DbUJJLGVwRnVLZTtNb0Z0S2YsMkM3RFp3QjtNNkRheEIsc0JwRnFLZSxFb0Y1SmhCO01EOUJIOzs7Ozs7O1FDMEJNLGVwRmdLYTtRb0YvSmIsMkM3RGxCdUI7UTZEbUJ2QixzQnBGOEphLEVvRjdKZDtJQUlIO01BQ0UsZUFBZTtNQUNmLDBCN0Q5QjhCLEU2RG9DL0I7TUFSRDtRQU1JLDJDN0QvQnNCLEU2RGdDdkI7SUR4Q0w7TUMrQ00sMEI3RDFDNEI7TTZEMkM1QixzQnBGMElhLEVvRnpJZDtJRGpETDtNQ21ETSwwQjdEOUM0QjtNNkQrQzVCLHNCcEZzSWEsRUVuTE07SWtGc0V2QjtNQTlFQSxlcEYyTGlCO01vRjFMakIsMEI3REtnQztNNkRKaEMsc0JwRnlMaUIsRW9GL0ZoQjtNQWREO1FBekVFLGVwRnNMZTtRb0ZyTGYsNEM3RE9nQztRNkROaEMsd0M3RE1nQyxFckJMWDtNa0ZzRXZCO1FBbEVFLGVwRitLZTtRb0Y5S2YsNEM3REFnQztRNkRDaEMsd0M3RERnQyxFNkRFakM7TUErREQ7OztRQTFERSxlcEZ1S2U7UW9GdEtmLDRDN0RSZ0M7UTZEU2hDLHdDN0RUZ0MsRTZEa0JqQztRQStDRDs7Ozs7OztVQW5ESSxlcEZnS2E7VW9GL0piLDRDN0RkK0I7VTZEZS9CLHdDN0RmK0IsRTZEZ0JoQztNQUlIO1FBQ0UsZUFBZTtRQUNmLDBCN0Q5QjhCLEU2RG9DL0I7UUFSRDtVQU1JLDRDN0QzQjhCLEU2RDRCL0I7TUFxQ0g7UUE5QkksMEI3RDFDNEI7UTZEMkM1QixzQnBGMElhLEVvRnpJZDtNQTRCSDtRQTFCSSwwQjdEOUM0QjtRNkQrQzVCLHNCcEZzSWEsRUVuTE07SWlGUHpCO01DK0ZJLDhCQUE4QixFQUMvQjtFRGhHSDtJQ0RFLGVwRmlTdUI7SW9GaFN2QiwwQjdES2dDO0k2REpoQyxzQnBGK1J1QixFb0ZySXRCO0lEM0pIO01DSUksZXBGNFJxQjtNb0YzUnJCLDJDN0RHd0I7TTZERnhCLHNCcEYwUnFCLEVFelJBO0lpRlB6QjtNQ1dJLGVwRnFScUI7TW9GcFJyQiwyQzdESndCO002REt4QixzQnBGbVJxQixFb0ZsUnRCO0lEZEg7OztNQ21CSSxlcEY2UXFCO01vRjVRckIsMkM3RFp3QjtNNkRheEIsc0JwRjJRcUIsRW9GbFF0QjtNRDlCSDs7Ozs7OztRQzBCTSxlcEZzUW1CO1FvRnJRbkIsMkM3RGxCdUI7UTZEbUJ2QixzQnBGb1FtQixFb0ZuUXBCO0lBSUg7TUFDRSxlQUFlO01BQ2YsMEI3RDlCOEIsRTZEb0MvQjtNQVJEO1FBTUksMkM3RC9Cc0IsRTZEZ0N2QjtJRHhDTDtNQytDTSwwQjdEMUM0QjtNNkQyQzVCLHNCcEZnUG1CLEVvRi9PcEI7SURqREw7TUNtRE0sMEI3RDlDNEI7TTZEK0M1QixzQnBGNE9tQixFRXpSQTtJa0ZzRXZCO01BOUVBLGVwRmlTdUI7TW9GaFN2QiwwQjdES2dDO002REpoQyxzQnBGK1J1QixFb0ZyTXRCO01BZEQ7UUF6RUUsZXBGNFJxQjtRb0YzUnJCLDRDN0RPZ0M7UTZETmhDLHdDN0RNZ0MsRXJCTFg7TWtGc0V2QjtRQWxFRSxlcEZxUnFCO1FvRnBSckIsNEM3REFnQztRNkRDaEMsd0M3RERnQyxFNkRFakM7TUErREQ7OztRQTFERSxlcEY2UXFCO1FvRjVRckIsNEM3RFJnQztRNkRTaEMsd0M3RFRnQyxFNkRrQmpDO1FBK0NEOzs7Ozs7O1VBbkRJLGVwRnNRbUI7VW9GclFuQiw0QzdEZCtCO1U2RGUvQix3QzdEZitCLEU2RGdCaEM7TUFJSDtRQUNFLGVBQWU7UUFDZiwwQjdEOUI4QixFNkRvQy9CO1FBUkQ7VUFNSSw0QzdEM0I4QixFNkQ0Qi9CO01BcUNIO1FBOUJJLDBCN0QxQzRCO1E2RDJDNUIsc0JwRmdQbUIsRW9GL09wQjtNQTRCSDtRQTFCSSwwQjdEOUM0QjtRNkQrQzVCLHNCcEY0T21CLEVFelJBO0lpRlB6QjtNQytGSSw4QkFBOEIsRUFDL0I7RURoR0g7SUNERSxlcEZrQ2U7SW9GakNmLDBCN0RLZ0M7STZESmhDLHNCcEZnQ2UsRW9GNkhkO0lEOUpIO01DSUksZXBGNkJhO01vRjVCYiwyQzdER3dCO002REZ4QixzQnBGMkJhLEVFMUJRO0lpRlB6QjtNQ1dJLGVwRnNCYTtNb0ZyQmIsMkM3REp3QjtNNkRLeEIsc0JwRm9CYSxFb0ZuQmQ7SURkSDs7O01DbUJJLGVwRmNhO01vRmJiLDJDN0Rad0I7TTZEYXhCLHNCcEZZYSxFb0ZIZDtNRDlCSDs7Ozs7OztRQzBCTSxlcEZPVztRb0ZOWCwyQzdEbEJ1QjtRNkRtQnZCLHNCcEZLVyxFb0ZKWjtJQUlIO01BQ0UsZUFBZTtNQUNmLDBCN0Q5QjhCLEU2RG9DL0I7TUFSRDtRQU1JLDJDN0QvQnNCLEU2RGdDdkI7SUR4Q0w7TUMrQ00sMEI3RDFDNEI7TTZEMkM1QixzQnBGZlcsRW9GZ0JaO0lEakRMO01DbURNLDBCN0Q5QzRCO002RCtDNUIsc0JwRm5CVyxFRTFCUTtJa0ZzRXZCO01BOUVBLGVwRmtDZTtNb0ZqQ2YsMEI3REtnQztNNkRKaEMsc0JwRmdDZSxFb0YwRGQ7TUFkRDtRQXpFRSxlcEY2QmE7UW9GNUJiLDRDN0RPZ0M7UTZETmhDLHdDN0RNZ0MsRXJCTFg7TWtGc0V2QjtRQWxFRSxlcEZzQmE7UW9GckJiLDRDN0RBZ0M7UTZEQ2hDLHdDN0REZ0MsRTZERWpDO01BK0REOzs7UUExREUsZXBGY2E7UW9GYmIsNEM3RFJnQztRNkRTaEMsd0M3RFRnQyxFNkRrQmpDO1FBK0NEOzs7Ozs7O1VBbkRJLGVwRk9XO1VvRk5YLDRDN0RkK0I7VTZEZS9CLHdDN0RmK0IsRTZEZ0JoQztNQUlIO1FBQ0UsZUFBZTtRQUNmLDBCN0Q5QjhCLEU2RG9DL0I7UUFSRDtVQU1JLDRDN0QzQjhCLEU2RDRCL0I7TUFxQ0g7UUE5QkksMEI3RDFDNEI7UTZEMkM1Qixz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MEIsRUFFN0I7O0FBRUM7RUFFRSxpQkFBMEIsRUFFN0I7O0FHcExQO0VBQ0UsbUJBQW1CLEVBQ3BCOztBQUVEO0VBQ0UsbUJBQW1CO0VBQ25CLE9BQU87RUFDUCxRQUFRO0VBQ1IsV0FBVztFQUNYLFlBQVk7RUFDWixhQUFhO0VBQ2IsaUJBQWlCO0VBQ2pCLHFCQUFxQjtFQUNyQix1QkFBdUIsRUF5QnhCO0VBbENEO0lBWUksbUJBQW1CO0lBQ25CLFlBQVk7SUFDWixhQUFhO0lBQ2Isa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixxQkFBcUI7SUFDckIsc0MvRzJVUTtJK0cxVVIsb0JBQW9CO0lBQ3BCLFdBQVc7SUFDWCw0QkFBZ0I7UUFBaEIsd0JBQWdCO1NBQWhCLHVCQUFnQjtZQUFoQixvQkFBZ0I7SUFDaEIsOEJBQXNCO1FBQXRCLDBCQUFzQjtTQUF0Qix5QkFBc0I7WUFBdEIsc0JBQXNCLEVBV3ZCO0lBakNIO01BeUJNLGFBQWE7TUFDYix1R0FBc0Y7TUFBdEYsK0ZBQXNGO01BQXRGLCtJQUFzRjtNQUF0Rix1RkFBc0Y7TUFBdEYsc01BQXNGLEVBQ3ZGO0lBM0JMO01BOEJNLFdBQVc7TUFDWCxzREFBOEM7TUFBOUMsaURBQThDO01BQTlDLDhDQUE4QyxFQUMvQyIsImZpbGUiOiJib290c3RyYXAtbWF0ZXJpYWwtZGVzaWduLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBtaXhpbiBoZWFkaW5ncygpIHtcbiAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gMTRzcCBmb250XG4lc3RkLWZvbnQge1xuICBmb250LXNpemU6IC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2NC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8vXG4vLyAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4vLyAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIElFIGFuZCBpT1MuXG4vL1xuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8vIDFcbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG59XG5cbi8vXG4vLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbi8vXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8vIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbi8vIDIuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuLy9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscywgLy8gMVxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbm1haW4sIC8vIDJcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7IC8vIDFcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbi8vXG5cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLy9cbi8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4vL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuLy9cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4vLyAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbi8vXG5cbnRlbXBsYXRlLCAvLyAyXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIExpbmtzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuLy9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vL1xuLy8gUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4vLyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbi8vXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmUtd2lkdGg6IDA7XG59XG5cbi8vIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbi8vXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLy8gMVxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLy8gMlxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbn1cblxuLy9cbi8vIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuLy9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xufVxuXG4vL1xuLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbi8vXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vL1xuLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuLy9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vL1xuLy8gQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuLy8gYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbi8vXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4vL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbi8vXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8vXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbi8vIGFsbCBicm93c2Vycy5cbi8vXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8vIEVtYmVkZGVkIGNvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbi8vXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLy9cbi8vIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuLy9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLyBHcm91cGluZyBjb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbi8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbi8vXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG59XG5cbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4vL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vL1xuLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbi8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuLy9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICBoZWlnaHQ6IDA7IC8vIDFcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbn1cblxuLy8gRm9ybXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbi8vXG5cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250OiBpbmhlcml0O1xufVxuXG4vL1xuLy8gUmVzdG9yZSB0aGUgZm9udCB3ZWlnaHQgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4vL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vL1xuLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4vLyAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuLy8gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuLy9cblxuYnV0dG9uLFxuaW5wdXQsIC8vIDFcbnNlbGVjdCB7IC8vIDJcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8vXG4vLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBTYWZhcmkuXG4vLyAxLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4vL1xuXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHsgLy8gMVxuICBtYXJnaW46IDA7XG59XG5cbi8vXG4vLyBSZW1vdmUgdGhlIGluaGVyaXRlbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbi8vIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGVuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbi8vXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8vIDFcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8vXG4vLyBDaGFuZ2UgdGhlIGN1cnNvciBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbi8vXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vL1xuLy8gUmVzdG9yZSB0aGUgZGVmYXVsdCBjdXJzb3IgdG8gZGlzYWJsZWQgZWxlbWVudHMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4vL1xuXG5bZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vL1xuLy8gMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4vLyAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4vLyAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUy5cbi8vXG5cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8vIDFcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG59XG5cbi8vXG4vLyBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuLy9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8vXG4vLyBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4vL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5pbnB1dDotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLy9cbi8vIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuLy9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuLy8gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuLy8gMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuLy8gICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gIGNvbG9yOiBpbmhlcml0OyAvLyAyXG4gIGRpc3BsYXk6IHRhYmxlOyAvLyAxXG4gIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICBwYWRkaW5nOiAwOyAvLyAzXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbn1cblxuLy9cbi8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4vL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vL1xuLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbi8vXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICBwYWRkaW5nOiAwOyAvLyAyXG59XG5cbi8vXG4vLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4vL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vL1xuLy8gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2Ugb2Ygc2VhcmNoIGlucHV0cyBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbi8vXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG59XG5cbi8vXG4vLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBvbiBPUyBYIGFuZFxuLy8gU2FmYXJpIG9uIE9TIFguXG4vL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuIiwiLmNhcmQge1xuICBmb250LXNpemU6IC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLyohIG5vcm1hbGl6ZS5jc3MgdjQuMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG50ZW1wbGF0ZSxcbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZS13aWR0aDogMDsgfVxuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IH1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udDogaW5oZXJpdDsgfVxuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIG1hcmdpbjogMDsgfVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5bZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgfVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5pbnB1dDotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZGlzcGxheTogdGFibGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMDsgfVxuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IH1cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyLFxuICAqOjpmaXJzdC1sZXR0ZXIsXG4gICo6OmZpcnN0LWxpbmUge1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYWJiclt0aXRsZV06OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgLm5hdmJhciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuYnRuID4gLmNhcmV0LCAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlID4gLmNhcmV0LFxuICAuZHJvcHVwID4gLmJ0biA+IC5jYXJldCxcbiAgLmRyb3B1cCA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgPiAuY2FyZXQge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDAgIWltcG9ydGFudDsgfVxuICAudGFnIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwOyB9XG4gIC50YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50OyB9XG4gICAgLnRhYmxlIHRkLFxuICAgIC50YWJsZSB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cbiAgLnRhYmxlLWJvcmRlcmVkIHRoLFxuICAudGFibGUtYm9yZGVyZWQgdGQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQgIWltcG9ydGFudDsgfSB9XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuQC1tcy12aWV3cG9ydCB7XG4gIHdpZHRoOiBkZXZpY2Utd2lkdGg7IH1cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBzY3JvbGxiYXI7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7IH1cblxuW3RhYmluZGV4PVwiLTFcIl06Zm9jdXMge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7IH1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtOyB9XG5cbnAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbmFiYnJbdGl0bGVdLFxuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7XG4gIGN1cnNvcjogaGVscDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG5cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbm9sLFxudWwsXG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxub2wgb2wsXG51bCB1bCxcbm9sIHVsLFxudWwgb2wge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuYSB7XG4gIGNvbG9yOiAjMDA5Njg4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgYTpmb2N1cywgYTpob3ZlciB7XG4gICAgY29sb3I6ICMwMDRhNDM7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYTpmb2N1cyB7XG4gICAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyB9XG5cbmE6bm90KFtocmVmXSk6bm90KFt0YWJpbmRleF0pIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICBhOm5vdChbaHJlZl0pOm5vdChbdGFiaW5kZXhdKTpmb2N1cywgYTpub3QoW2hyZWZdKTpub3QoW3RhYmluZGV4XSk6aG92ZXIge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICBhOm5vdChbaHJlZl0pOm5vdChbdGFiaW5kZXhdKTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuXG5wcmUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5maWd1cmUge1xuICBtYXJnaW46IDAgMCAxcmVtOyB9XG5cbmltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuW3JvbGU9XCJidXR0b25cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuYSxcbmFyZWEsXG5idXR0b24sXG5bcm9sZT1cImJ1dHRvblwiXSxcbmlucHV0LFxubGFiZWwsXG5zZWxlY3QsXG5zdW1tYXJ5LFxudGV4dGFyZWEge1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgfVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbmNhcHRpb24ge1xuICBwYWRkaW5nLXRvcDogMC43NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTsgfVxuXG50aCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtOyB9XG5cbmJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQ7XG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjsgfVxuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl06ZGlzYWJsZWQsXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGxpc3Rib3g7IH1cblxudGV4dGFyZWEge1xuICByZXNpemU6IHZlcnRpY2FsOyB9XG5cbmZpZWxkc2V0IHtcbiAgbWluLXdpZHRoOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDsgfVxuXG5sZWdlbmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG5vdXRwdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgY29sb3I6IGluaGVyaXQ7IH1cblxuaDEsIC5oMSB7XG4gIGZvbnQtc2l6ZTogMi41cmVtOyB9XG5cbmgyLCAuaDIge1xuICBmb250LXNpemU6IDJyZW07IH1cblxuaDMsIC5oMyB7XG4gIGZvbnQtc2l6ZTogMS43NXJlbTsgfVxuXG5oNCwgLmg0IHtcbiAgZm9udC1zaXplOiAxLjVyZW07IH1cblxuaDUsIC5oNSB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuXG5oNiwgLmg2IHtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogMzAwOyB9XG5cbi5kaXNwbGF5LTEge1xuICBmb250LXNpemU6IDdyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLmRpc3BsYXktMiB7XG4gIGZvbnQtc2l6ZTogMy41cmVtO1xuICBmb250LXdlaWdodDogMzAwOyB9XG5cbi5kaXNwbGF5LTMge1xuICBmb250LXNpemU6IDIuODEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuXG4uZGlzcGxheS00IHtcbiAgZm9udC1zaXplOiAyLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuXG5ociB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cblxuc21hbGwsXG4uc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG5tYXJrLFxuLm1hcmsge1xuICBwYWRkaW5nOiAwLjJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTcyMjsgfVxuXG4ubGlzdC11bnN0eWxlZCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4ubGlzdC1pbmxpbmUge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLmxpc3QtaW5saW5lLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmxpc3QtaW5saW5lLWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cblxuLmluaXRpYWxpc20ge1xuICBmb250LXNpemU6IDkwJTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uYmxvY2txdW90ZSB7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDAuMjVyZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuXG4uYmxvY2txdW90ZS1mb290ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiA4MCU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG4gIC5ibG9ja3F1b3RlLWZvb3Rlcjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMjAxNCBcXDAwQTBcIjsgfVxuXG4uYmxvY2txdW90ZS1yZXZlcnNlIHtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBib3JkZXItcmlnaHQ6IDAuMjVyZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmJsb2NrcXVvdGUtcmV2ZXJzZSAuYmxvY2txdW90ZS1mb290ZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7IH1cblxuLmJsb2NrcXVvdGUtcmV2ZXJzZSAuYmxvY2txdW90ZS1mb290ZXI6OmFmdGVyIHtcbiAgY29udGVudDogXCJcXDAwQTAgXFwyMDE0XCI7IH1cblxuLmltZy1mbHVpZCwgLmNhcm91c2VsLWlubmVyID4gLmNhcm91c2VsLWl0ZW0gPiBpbWcsXG4uY2Fyb3VzZWwtaW5uZXIgPiAuY2Fyb3VzZWwtaXRlbSA+IGEgPiBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLmltZy1yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogMC4zcmVtOyB9XG5cbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogMC4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgYm9yZGVyLXJhZGl1czogMC4xMjVyZW07XG4gIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uaW1nLWNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuXG4uZmlndXJlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5maWd1cmUtaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLmZpZ3VyZS1jYXB0aW9uIHtcbiAgZm9udC1zaXplOiA5MCU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTsgfVxuXG5jb2RlIHtcbiAgcGFkZGluZzogMC4ycmVtIDAuNHJlbTtcbiAgZm9udC1zaXplOiA5MCU7XG4gIGNvbG9yOiAjYmQ0MTQ3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTsgfVxuXG5rYmQge1xuICBwYWRkaW5nOiAwLjJyZW0gMC40cmVtO1xuICBmb250LXNpemU6IDkwJTtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XG4gIGJvcmRlci1yYWRpdXM6IDAuMDYyNXJlbTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4xcmVtIDAgcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuICBrYmQga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG5cbnByZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDkwJTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cbiAgcHJlIGNvZGUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLnByZS1zY3JvbGxhYmxlIHtcbiAgbWF4LWhlaWdodDogMzQwcHg7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG4uY29udGFpbmVyIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1NDRweCkge1xuICAgIC5jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA1NzZweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA3MjBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA5NDBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMTE0MHB4OyB9IH1cblxuLmNvbnRhaW5lci1mbHVpZCB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDsgfVxuXG4ucm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gIG1hcmdpbi1yaWdodDogLTE1cHg7IH1cblxuLmNvbC14cy0xLCAuY29sLXhzLTIsIC5jb2wteHMtMywgLmNvbC14cy00LCAuY29sLXhzLTUsIC5jb2wteHMtNiwgLmNvbC14cy03LCAuY29sLXhzLTgsIC5jb2wteHMtOSwgLmNvbC14cy0xMCwgLmNvbC14cy0xMSwgLmNvbC14cy0xMiwgLmNvbC1zbS0xLCAuY29sLXNtLTIsIC5jb2wtc20tMywgLmNvbC1zbS00LCAuY29sLXNtLTUsIC5jb2wtc20tNiwgLmNvbC1zbS03LCAuY29sLXNtLTgsIC5jb2wtc20tOSwgLmNvbC1zbS0xMCwgLmNvbC1zbS0xMSwgLmNvbC1zbS0xMiwgLmNvbC1tZC0xLCAuY29sLW1kLTIsIC5jb2wtbWQtMywgLmNvbC1tZC00LCAuY29sLW1kLTUsIC5jb2wtbWQtNiwgLmNvbC1tZC03LCAuY29sLW1kLTgsIC5jb2wtbWQtOSwgLmNvbC1tZC0xMCwgLmNvbC1tZC0xMSwgLmNvbC1tZC0xMiwgLmNvbC1sZy0xLCAuY29sLWxnLTIsIC5jb2wtbGctMywgLmNvbC1sZy00LCAuY29sLWxnLTUsIC5jb2wtbGctNiwgLmNvbC1sZy03LCAuY29sLWxnLTgsIC5jb2wtbGctOSwgLmNvbC1sZy0xMCwgLmNvbC1sZy0xMSwgLmNvbC1sZy0xMiwgLmNvbC14bC0xLCAuY29sLXhsLTIsIC5jb2wteGwtMywgLmNvbC14bC00LCAuY29sLXhsLTUsIC5jb2wteGwtNiwgLmNvbC14bC03LCAuY29sLXhsLTgsIC5jb2wteGwtOSwgLmNvbC14bC0xMCwgLmNvbC14bC0xMSwgLmNvbC14bC0xMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5jb2wteHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIGZsZXgtZ3JvdzogMTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmctbGVmdDogMTVweDsgfVxuXG4uY29sLXhzLTEge1xuICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gIG1heC13aWR0aDogOC4zMzMzMyU7IH1cblxuLmNvbC14cy0yIHtcbiAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cblxuLmNvbC14cy0zIHtcbiAgZmxleDogMCAwIDI1JTtcbiAgbWF4LXdpZHRoOiAyNSU7IH1cblxuLmNvbC14cy00IHtcbiAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLmNvbC14cy01IHtcbiAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cblxuLmNvbC14cy02IHtcbiAgZmxleDogMCAwIDUwJTtcbiAgbWF4LXdpZHRoOiA1MCU7IH1cblxuLmNvbC14cy03IHtcbiAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLmNvbC14cy04IHtcbiAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cblxuLmNvbC14cy05IHtcbiAgZmxleDogMCAwIDc1JTtcbiAgbWF4LXdpZHRoOiA3NSU7IH1cblxuLmNvbC14cy0xMCB7XG4gIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG5cbi5jb2wteHMtMTEge1xuICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uY29sLXhzLTEyIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4ucHVsbC14cy0wIHtcbiAgcmlnaHQ6IGF1dG87IH1cblxuLnB1bGwteHMtMSB7XG4gIHJpZ2h0OiA4LjMzMzMzJTsgfVxuXG4ucHVsbC14cy0yIHtcbiAgcmlnaHQ6IDE2LjY2NjY3JTsgfVxuXG4ucHVsbC14cy0zIHtcbiAgcmlnaHQ6IDI1JTsgfVxuXG4ucHVsbC14cy00IHtcbiAgcmlnaHQ6IDMzLjMzMzMzJTsgfVxuXG4ucHVsbC14cy01IHtcbiAgcmlnaHQ6IDQxLjY2NjY3JTsgfVxuXG4ucHVsbC14cy02IHtcbiAgcmlnaHQ6IDUwJTsgfVxuXG4ucHVsbC14cy03IHtcbiAgcmlnaHQ6IDU4LjMzMzMzJTsgfVxuXG4ucHVsbC14cy04IHtcbiAgcmlnaHQ6IDY2LjY2NjY3JTsgfVxuXG4ucHVsbC14cy05IHtcbiAgcmlnaHQ6IDc1JTsgfVxuXG4ucHVsbC14cy0xMCB7XG4gIHJpZ2h0OiA4My4zMzMzMyU7IH1cblxuLnB1bGwteHMtMTEge1xuICByaWdodDogOTEuNjY2NjclOyB9XG5cbi5wdWxsLXhzLTEyIHtcbiAgcmlnaHQ6IDEwMCU7IH1cblxuLnB1c2gteHMtMCB7XG4gIGxlZnQ6IGF1dG87IH1cblxuLnB1c2gteHMtMSB7XG4gIGxlZnQ6IDguMzMzMzMlOyB9XG5cbi5wdXNoLXhzLTIge1xuICBsZWZ0OiAxNi42NjY2NyU7IH1cblxuLnB1c2gteHMtMyB7XG4gIGxlZnQ6IDI1JTsgfVxuXG4ucHVzaC14cy00IHtcbiAgbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5wdXNoLXhzLTUge1xuICBsZWZ0OiA0MS42NjY2NyU7IH1cblxuLnB1c2gteHMtNiB7XG4gIGxlZnQ6IDUwJTsgfVxuXG4ucHVzaC14cy03IHtcbiAgbGVmdDogNTguMzMzMzMlOyB9XG5cbi5wdXNoLXhzLTgge1xuICBsZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnB1c2gteHMtOSB7XG4gIGxlZnQ6IDc1JTsgfVxuXG4ucHVzaC14cy0xMCB7XG4gIGxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4ucHVzaC14cy0xMSB7XG4gIGxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4ucHVzaC14cy0xMiB7XG4gIGxlZnQ6IDEwMCU7IH1cblxuLm9mZnNldC14cy0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi5vZmZzZXQteHMtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLm9mZnNldC14cy0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4ub2Zmc2V0LXhzLTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5vZmZzZXQteHMtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLm9mZnNldC14cy02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4ub2Zmc2V0LXhzLTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5vZmZzZXQteHMtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLm9mZnNldC14cy05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4ub2Zmc2V0LXhzLTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4ub2Zmc2V0LXhzLTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTQ0cHgpIHtcbiAgLmNvbC1zbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH1cbiAgLmNvbC1zbS0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAuY29sLXNtLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmNvbC1zbS0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5jb2wtc20tNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuY29sLXNtLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmNvbC1zbS02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5jb2wtc20tNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuY29sLXNtLTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmNvbC1zbS05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlOyB9XG4gIC5jb2wtc20tMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmNvbC1zbS0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuY29sLXNtLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLnB1bGwtc20tMCB7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnB1bGwtc20tMSB7XG4gICAgcmlnaHQ6IDguMzMzMzMlOyB9XG4gIC5wdWxsLXNtLTIge1xuICAgIHJpZ2h0OiAxNi42NjY2NyU7IH1cbiAgLnB1bGwtc20tMyB7XG4gICAgcmlnaHQ6IDI1JTsgfVxuICAucHVsbC1zbS00IHtcbiAgICByaWdodDogMzMuMzMzMzMlOyB9XG4gIC5wdWxsLXNtLTUge1xuICAgIHJpZ2h0OiA0MS42NjY2NyU7IH1cbiAgLnB1bGwtc20tNiB7XG4gICAgcmlnaHQ6IDUwJTsgfVxuICAucHVsbC1zbS03IHtcbiAgICByaWdodDogNTguMzMzMzMlOyB9XG4gIC5wdWxsLXNtLTgge1xuICAgIHJpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgLnB1bGwtc20tOSB7XG4gICAgcmlnaHQ6IDc1JTsgfVxuICAucHVsbC1zbS0xMCB7XG4gICAgcmlnaHQ6IDgzLjMzMzMzJTsgfVxuICAucHVsbC1zbS0xMSB7XG4gICAgcmlnaHQ6IDkxLjY2NjY3JTsgfVxuICAucHVsbC1zbS0xMiB7XG4gICAgcmlnaHQ6IDEwMCU7IH1cbiAgLnB1c2gtc20tMCB7XG4gICAgbGVmdDogYXV0bzsgfVxuICAucHVzaC1zbS0xIHtcbiAgICBsZWZ0OiA4LjMzMzMzJTsgfVxuICAucHVzaC1zbS0yIHtcbiAgICBsZWZ0OiAxNi42NjY2NyU7IH1cbiAgLnB1c2gtc20tMyB7XG4gICAgbGVmdDogMjUlOyB9XG4gIC5wdXNoLXNtLTQge1xuICAgIGxlZnQ6IDMzLjMzMzMzJTsgfVxuICAucHVzaC1zbS01IHtcbiAgICBsZWZ0OiA0MS42NjY2NyU7IH1cbiAgLnB1c2gtc20tNiB7XG4gICAgbGVmdDogNTAlOyB9XG4gIC5wdXNoLXNtLTcge1xuICAgIGxlZnQ6IDU4LjMzMzMzJTsgfVxuICAucHVzaC1zbS04IHtcbiAgICBsZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLnB1c2gtc20tOSB7XG4gICAgbGVmdDogNzUlOyB9XG4gIC5wdXNoLXNtLTEwIHtcbiAgICBsZWZ0OiA4My4zMzMzMyU7IH1cbiAgLnB1c2gtc20tMTEge1xuICAgIGxlZnQ6IDkxLjY2NjY3JTsgfVxuICAucHVzaC1zbS0xMiB7XG4gICAgbGVmdDogMTAwJTsgfVxuICAub2Zmc2V0LXNtLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAub2Zmc2V0LXNtLTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAub2Zmc2V0LXNtLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLm9mZnNldC1zbS0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5vZmZzZXQtc20tNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAub2Zmc2V0LXNtLTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLm9mZnNldC1zbS02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5vZmZzZXQtc20tNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAub2Zmc2V0LXNtLTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLm9mZnNldC1zbS05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5vZmZzZXQtc20tMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLm9mZnNldC1zbS0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29sLW1kIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMTVweDsgfVxuICAuY29sLW1kLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5jb2wtbWQtMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuY29sLW1kLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLmNvbC1tZC00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5jb2wtbWQtNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuY29sLW1kLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLmNvbC1tZC03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC5jb2wtbWQtOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuY29sLW1kLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLmNvbC1tZC0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuY29sLW1kLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC5jb2wtbWQtMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAucHVsbC1tZC0wIHtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC1tZC0xIHtcbiAgICByaWdodDogOC4zMzMzMyU7IH1cbiAgLnB1bGwtbWQtMiB7XG4gICAgcmlnaHQ6IDE2LjY2NjY3JTsgfVxuICAucHVsbC1tZC0zIHtcbiAgICByaWdodDogMjUlOyB9XG4gIC5wdWxsLW1kLTQge1xuICAgIHJpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgLnB1bGwtbWQtNSB7XG4gICAgcmlnaHQ6IDQxLjY2NjY3JTsgfVxuICAucHVsbC1tZC02IHtcbiAgICByaWdodDogNTAlOyB9XG4gIC5wdWxsLW1kLTcge1xuICAgIHJpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgLnB1bGwtbWQtOCB7XG4gICAgcmlnaHQ6IDY2LjY2NjY3JTsgfVxuICAucHVsbC1tZC05IHtcbiAgICByaWdodDogNzUlOyB9XG4gIC5wdWxsLW1kLTEwIHtcbiAgICByaWdodDogODMuMzMzMzMlOyB9XG4gIC5wdWxsLW1kLTExIHtcbiAgICByaWdodDogOTEuNjY2NjclOyB9XG4gIC5wdWxsLW1kLTEyIHtcbiAgICByaWdodDogMTAwJTsgfVxuICAucHVzaC1tZC0wIHtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5wdXNoLW1kLTEge1xuICAgIGxlZnQ6IDguMzMzMzMlOyB9XG4gIC5wdXNoLW1kLTIge1xuICAgIGxlZnQ6IDE2LjY2NjY3JTsgfVxuICAucHVzaC1tZC0zIHtcbiAgICBsZWZ0OiAyNSU7IH1cbiAgLnB1c2gtbWQtNCB7XG4gICAgbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5wdXNoLW1kLTUge1xuICAgIGxlZnQ6IDQxLjY2NjY3JTsgfVxuICAucHVzaC1tZC02IHtcbiAgICBsZWZ0OiA1MCU7IH1cbiAgLnB1c2gtbWQtNyB7XG4gICAgbGVmdDogNTguMzMzMzMlOyB9XG4gIC5wdXNoLW1kLTgge1xuICAgIGxlZnQ6IDY2LjY2NjY3JTsgfVxuICAucHVzaC1tZC05IHtcbiAgICBsZWZ0OiA3NSU7IH1cbiAgLnB1c2gtbWQtMTAge1xuICAgIGxlZnQ6IDgzLjMzMzMzJTsgfVxuICAucHVzaC1tZC0xMSB7XG4gICAgbGVmdDogOTEuNjY2NjclOyB9XG4gIC5wdXNoLW1kLTEyIHtcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5vZmZzZXQtbWQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5vZmZzZXQtbWQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5vZmZzZXQtbWQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAub2Zmc2V0LW1kLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLm9mZnNldC1tZC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5vZmZzZXQtbWQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAub2Zmc2V0LW1kLTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLm9mZnNldC1tZC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5vZmZzZXQtbWQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAub2Zmc2V0LW1kLTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLm9mZnNldC1tZC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAub2Zmc2V0LW1kLTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jb2wtbGcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9XG4gIC5jb2wtbGctMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLmNvbC1sZy0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5jb2wtbGctMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAuY29sLWxnLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmNvbC1sZy01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC5jb2wtbGctNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAuY29sLWxnLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmNvbC1sZy04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC5jb2wtbGctOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAuY29sLWxnLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC5jb2wtbGctMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmNvbC1sZy0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5wdWxsLWxnLTAge1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLWxnLTEge1xuICAgIHJpZ2h0OiA4LjMzMzMzJTsgfVxuICAucHVsbC1sZy0yIHtcbiAgICByaWdodDogMTYuNjY2NjclOyB9XG4gIC5wdWxsLWxnLTMge1xuICAgIHJpZ2h0OiAyNSU7IH1cbiAgLnB1bGwtbGctNCB7XG4gICAgcmlnaHQ6IDMzLjMzMzMzJTsgfVxuICAucHVsbC1sZy01IHtcbiAgICByaWdodDogNDEuNjY2NjclOyB9XG4gIC5wdWxsLWxnLTYge1xuICAgIHJpZ2h0OiA1MCU7IH1cbiAgLnB1bGwtbGctNyB7XG4gICAgcmlnaHQ6IDU4LjMzMzMzJTsgfVxuICAucHVsbC1sZy04IHtcbiAgICByaWdodDogNjYuNjY2NjclOyB9XG4gIC5wdWxsLWxnLTkge1xuICAgIHJpZ2h0OiA3NSU7IH1cbiAgLnB1bGwtbGctMTAge1xuICAgIHJpZ2h0OiA4My4zMzMzMyU7IH1cbiAgLnB1bGwtbGctMTEge1xuICAgIHJpZ2h0OiA5MS42NjY2NyU7IH1cbiAgLnB1bGwtbGctMTIge1xuICAgIHJpZ2h0OiAxMDAlOyB9XG4gIC5wdXNoLWxnLTAge1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnB1c2gtbGctMSB7XG4gICAgbGVmdDogOC4zMzMzMyU7IH1cbiAgLnB1c2gtbGctMiB7XG4gICAgbGVmdDogMTYuNjY2NjclOyB9XG4gIC5wdXNoLWxnLTMge1xuICAgIGxlZnQ6IDI1JTsgfVxuICAucHVzaC1sZy00IHtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLnB1c2gtbGctNSB7XG4gICAgbGVmdDogNDEuNjY2NjclOyB9XG4gIC5wdXNoLWxnLTYge1xuICAgIGxlZnQ6IDUwJTsgfVxuICAucHVzaC1sZy03IHtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLnB1c2gtbGctOCB7XG4gICAgbGVmdDogNjYuNjY2NjclOyB9XG4gIC5wdXNoLWxnLTkge1xuICAgIGxlZnQ6IDc1JTsgfVxuICAucHVzaC1sZy0xMCB7XG4gICAgbGVmdDogODMuMzMzMzMlOyB9XG4gIC5wdXNoLWxnLTExIHtcbiAgICBsZWZ0OiA5MS42NjY2NyU7IH1cbiAgLnB1c2gtbGctMTIge1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLm9mZnNldC1sZy0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLm9mZnNldC1sZy0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLm9mZnNldC1sZy0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5vZmZzZXQtbGctMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAub2Zmc2V0LWxnLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm9mZnNldC1sZy01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5vZmZzZXQtbGctNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAub2Zmc2V0LWxnLTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm9mZnNldC1sZy04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5vZmZzZXQtbGctOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAub2Zmc2V0LWxnLTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5vZmZzZXQtbGctMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5jb2wteGwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9XG4gIC5jb2wteGwtMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLmNvbC14bC0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5jb2wteGwtMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAuY29sLXhsLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmNvbC14bC01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC5jb2wteGwtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAuY29sLXhsLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmNvbC14bC04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC5jb2wteGwtOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAuY29sLXhsLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC5jb2wteGwtMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmNvbC14bC0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5wdWxsLXhsLTAge1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLXhsLTEge1xuICAgIHJpZ2h0OiA4LjMzMzMzJTsgfVxuICAucHVsbC14bC0yIHtcbiAgICByaWdodDogMTYuNjY2NjclOyB9XG4gIC5wdWxsLXhsLTMge1xuICAgIHJpZ2h0OiAyNSU7IH1cbiAgLnB1bGwteGwtNCB7XG4gICAgcmlnaHQ6IDMzLjMzMzMzJTsgfVxuICAucHVsbC14bC01IHtcbiAgICByaWdodDogNDEuNjY2NjclOyB9XG4gIC5wdWxsLXhsLTYge1xuICAgIHJpZ2h0OiA1MCU7IH1cbiAgLnB1bGwteGwtNyB7XG4gICAgcmlnaHQ6IDU4LjMzMzMzJTsgfVxuICAucHVsbC14bC04IHtcbiAgICByaWdodDogNjYuNjY2NjclOyB9XG4gIC5wdWxsLXhsLTkge1xuICAgIHJpZ2h0OiA3NSU7IH1cbiAgLnB1bGwteGwtMTAge1xuICAgIHJpZ2h0OiA4My4zMzMzMyU7IH1cbiAgLnB1bGwteGwtMTEge1xuICAgIHJpZ2h0OiA5MS42NjY2NyU7IH1cbiAgLnB1bGwteGwtMTIge1xuICAgIHJpZ2h0OiAxMDAlOyB9XG4gIC5wdXNoLXhsLTAge1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnB1c2gteGwtMSB7XG4gICAgbGVmdDogOC4zMzMzMyU7IH1cbiAgLnB1c2gteGwtMiB7XG4gICAgbGVmdDogMTYuNjY2NjclOyB9XG4gIC5wdXNoLXhsLTMge1xuICAgIGxlZnQ6IDI1JTsgfVxuICAucHVzaC14bC00IHtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLnB1c2gteGwtNSB7XG4gICAgbGVmdDogNDEuNjY2NjclOyB9XG4gIC5wdXNoLXhsLTYge1xuICAgIGxlZnQ6IDUwJTsgfVxuICAucHVzaC14bC03IHtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLnB1c2gteGwtOCB7XG4gICAgbGVmdDogNjYuNjY2NjclOyB9XG4gIC5wdXNoLXhsLTkge1xuICAgIGxlZnQ6IDc1JTsgfVxuICAucHVzaC14bC0xMCB7XG4gICAgbGVmdDogODMuMzMzMzMlOyB9XG4gIC5wdXNoLXhsLTExIHtcbiAgICBsZWZ0OiA5MS42NjY2NyU7IH1cbiAgLnB1c2gteGwtMTIge1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLm9mZnNldC14bC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLm9mZnNldC14bC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLm9mZnNldC14bC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5vZmZzZXQteGwtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAub2Zmc2V0LXhsLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm9mZnNldC14bC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5vZmZzZXQteGwtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAub2Zmc2V0LXhsLTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm9mZnNldC14bC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5vZmZzZXQteGwtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAub2Zmc2V0LXhsLTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5vZmZzZXQteGwtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH0gfVxuXG4udGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cbiAgLnRhYmxlIHRoLFxuICAudGFibGUgdGQge1xuICAgIHBhZGRpbmc6IDAuNzVyZW07XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuICAudGFibGUgdGhlYWQgdGgge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cbiAgLnRhYmxlIHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTIpOyB9XG4gIC50YWJsZSAudGFibGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7IH1cblxuLnRhYmxlLXNtIHRoLFxuLnRhYmxlLXNtIHRkIHtcbiAgcGFkZGluZzogMC4zcmVtOyB9XG5cbi50YWJsZS1ib3JkZXJlZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cbiAgLnRhYmxlLWJvcmRlcmVkIHRoLFxuICAudGFibGUtYm9yZGVyZWQgdGQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cbiAgLnRhYmxlLWJvcmRlcmVkIHRoZWFkIHRoLFxuICAudGFibGUtYm9yZGVyZWQgdGhlYWQgdGQge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDsgfVxuXG4udGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA1KTsgfVxuXG4udGFibGUtaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDc1KTsgfVxuXG4udGFibGUtYWN0aXZlLFxuLnRhYmxlLWFjdGl2ZSA+IHRoLFxuLnRhYmxlLWFjdGl2ZSA+IHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA3NSk7IH1cblxuLnRhYmxlLWhvdmVyIC50YWJsZS1hY3RpdmU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDc1KTsgfVxuICAudGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3ZlciA+IHRkLFxuICAudGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3ZlciA+IHRoIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDc1KTsgfVxuXG4udGFibGUtc3VjY2Vzcyxcbi50YWJsZS1zdWNjZXNzID4gdGgsXG4udGFibGUtc3VjY2VzcyA+IHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRjYWY1MDsgfVxuXG4udGFibGUtaG92ZXIgLnRhYmxlLXN1Y2Nlc3M6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDQ5ZDQ4OyB9XG4gIC50YWJsZS1ob3ZlciAudGFibGUtc3VjY2Vzczpob3ZlciA+IHRkLFxuICAudGFibGUtaG92ZXIgLnRhYmxlLXN1Y2Nlc3M6aG92ZXIgPiB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQ0OWQ0ODsgfVxuXG4udGFibGUtaW5mbyxcbi50YWJsZS1pbmZvID4gdGgsXG4udGFibGUtaW5mbyA+IHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAzYTlmNDsgfVxuXG4udGFibGUtaG92ZXIgLnRhYmxlLWluZm86aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDM5OGRiOyB9XG4gIC50YWJsZS1ob3ZlciAudGFibGUtaW5mbzpob3ZlciA+IHRkLFxuICAudGFibGUtaG92ZXIgLnRhYmxlLWluZm86aG92ZXIgPiB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAzOThkYjsgfVxuXG4udGFibGUtd2FybmluZyxcbi50YWJsZS13YXJuaW5nID4gdGgsXG4udGFibGUtd2FybmluZyA+IHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTcyMjsgfVxuXG4udGFibGUtaG92ZXIgLnRhYmxlLXdhcm5pbmc6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY0NDA5OyB9XG4gIC50YWJsZS1ob3ZlciAudGFibGUtd2FybmluZzpob3ZlciA+IHRkLFxuICAudGFibGUtaG92ZXIgLnRhYmxlLXdhcm5pbmc6aG92ZXIgPiB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNDQwOTsgfVxuXG4udGFibGUtZGFuZ2VyLFxuLnRhYmxlLWRhbmdlciA+IHRoLFxuLnRhYmxlLWRhbmdlciA+IHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjsgfVxuXG4udGFibGUtaG92ZXIgLnRhYmxlLWRhbmdlcjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMzJjMWU7IH1cbiAgLnRhYmxlLWhvdmVyIC50YWJsZS1kYW5nZXI6aG92ZXIgPiB0ZCxcbiAgLnRhYmxlLWhvdmVyIC50YWJsZS1kYW5nZXI6aG92ZXIgPiB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzMmMxZTsgfVxuXG4udGhlYWQtaW52ZXJzZSB0aCB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG5cbi50aGVhZC1kZWZhdWx0IHRoIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cblxuLnRhYmxlLWludmVyc2Uge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgfVxuICAudGFibGUtaW52ZXJzZSB0aCxcbiAgLnRhYmxlLWludmVyc2UgdGQsXG4gIC50YWJsZS1pbnZlcnNlIHRoZWFkIHRoIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7IH1cbiAgLnRhYmxlLWludmVyc2UudGFibGUtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogMDsgfVxuXG4udGFibGUtcmVzcG9uc2l2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogLjAxJTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG4udGFibGUtcmVmbG93IHRoZWFkIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnRhYmxlLXJlZmxvdyB0Ym9keSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi50YWJsZS1yZWZsb3cgdGgsXG4udGFibGUtcmVmbG93IHRkIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuICAudGFibGUtcmVmbG93IHRoOmxhc3QtY2hpbGQsXG4gIC50YWJsZS1yZWZsb3cgdGQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuXG4udGFibGUtcmVmbG93IHRoZWFkOmxhc3QtY2hpbGQgdHI6bGFzdC1jaGlsZCB0aCxcbi50YWJsZS1yZWZsb3cgdGhlYWQ6bGFzdC1jaGlsZCB0cjpsYXN0LWNoaWxkIHRkLFxuLnRhYmxlLXJlZmxvdyB0Ym9keTpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgdGgsXG4udGFibGUtcmVmbG93IHRib2R5Omxhc3QtY2hpbGQgdHI6bGFzdC1jaGlsZCB0ZCxcbi50YWJsZS1yZWZsb3cgdGZvb3Q6bGFzdC1jaGlsZCB0cjpsYXN0LWNoaWxkIHRoLFxuLnRhYmxlLXJlZmxvdyB0Zm9vdDpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgdGQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuXG4udGFibGUtcmVmbG93IHRyIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnRhYmxlLXJlZmxvdyB0ciB0aCxcbiAgLnRhYmxlLXJlZmxvdyB0ciB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTIpOyB9XG5cbi5mb3JtLWNvbnRyb2wsIC5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjQzNzVyZW0gMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMjYpO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5mb3JtLWNvbnRyb2w6Oi1tcy1leHBhbmQsIC5jdXN0b20tZmlsZS1jb250cm9sOjotbXMtZXhwYW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7IH1cbiAgLmZvcm0tY29udHJvbDpmb2N1cywgLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXMge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogIzY2YWZlOTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KSwgMCAwIDhweCBub25lOyB9XG4gIC5mb3JtLWNvbnRyb2w6OnBsYWNlaG9sZGVyLCAuY3VzdG9tLWZpbGUtY29udHJvbDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmZvcm0tY29udHJvbDpkaXNhYmxlZCwgLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQsIC5mb3JtLWNvbnRyb2xbcmVhZG9ubHldLCBbcmVhZG9ubHldLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmZvcm0tY29udHJvbDpkaXNhYmxlZCwgLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuc2VsZWN0LmZvcm0tY29udHJvbDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksIHNlbGVjdC5jdXN0b20tZmlsZS1jb250cm9sOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSB7XG4gIGhlaWdodDogMi4zNzVyZW07IH1cblxuc2VsZWN0LmZvcm0tY29udHJvbDpmb2N1czo6LW1zLXZhbHVlLCBzZWxlY3QuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6LW1zLXZhbHVlIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5mb3JtLWNvbnRyb2wtZmlsZSxcbi5mb3JtLWNvbnRyb2wtcmFuZ2Uge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uY29sLWZvcm0tbGFiZWwge1xuICBwYWRkaW5nLXRvcDogMC40Mzc1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC40Mzc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jb2wtZm9ybS1sYWJlbC1sZyB7XG4gIHBhZGRpbmctdG9wOiAwLjU2MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjU2MjVyZW07XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuXG4uY29sLWZvcm0tbGFiZWwtc20ge1xuICBwYWRkaW5nLXRvcDogMC4yNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLmNvbC1mb3JtLWxlZ2VuZCB7XG4gIHBhZGRpbmctdG9wOiAwLjQzNzVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjQzNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4uZm9ybS1jb250cm9sLXN0YXRpYyB7XG4gIG1pbi1oZWlnaHQ6IDIuMzc1cmVtO1xuICBwYWRkaW5nLXRvcDogMC40Mzc1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC40Mzc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5mb3JtLWNvbnRyb2wtc3RhdGljLmZvcm0tY29udHJvbC1zbSwgLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbC1zdGF0aWMuZm9ybS1jb250cm9sLCAuaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLXN0YXRpYy5jdXN0b20tZmlsZS1jb250cm9sLFxuICAuaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLXN0YXRpYy5pbnB1dC1ncm91cC1hZGRvbixcbiAgLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5mb3JtLWNvbnRyb2wtc3RhdGljLmJ0bixcbiAgLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5mb3JtLWNvbnRyb2wtc3RhdGljLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmZvcm0tY29udHJvbC1zdGF0aWMuZm9ybS1jb250cm9sLWxnLCAuaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLXN0YXRpYy5mb3JtLWNvbnRyb2wsIC5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wtc3RhdGljLmN1c3RvbS1maWxlLWNvbnRyb2wsXG4gIC5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wtc3RhdGljLmlucHV0LWdyb3VwLWFkZG9uLFxuICAuaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmZvcm0tY29udHJvbC1zdGF0aWMuYnRuLFxuICAuaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmZvcm0tY29udHJvbC1zdGF0aWMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uZm9ybS1jb250cm9sLXNtLCAuaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLCAuaW5wdXQtZ3JvdXAtc20gPiAuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1idG4gPiAuYnRuLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICBwYWRkaW5nOiAwLjI1cmVtIDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMDYyNXJlbTsgfVxuXG5zZWxlY3QuZm9ybS1jb250cm9sLXNtOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSwgLmlucHV0LWdyb3VwLXNtID4gc2VsZWN0LmZvcm0tY29udHJvbDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksIC5pbnB1dC1ncm91cC1zbSA+IHNlbGVjdC5jdXN0b20tZmlsZS1jb250cm9sOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSxcbi5pbnB1dC1ncm91cC1zbSA+IHNlbGVjdC5pbnB1dC1ncm91cC1hZGRvbjpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYnRuID4gc2VsZWN0LmJ0bjpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYnRuID4gc2VsZWN0LmN1c3RvbS1maWxlLWNvbnRyb2w6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pOjpiZWZvcmUge1xuICBoZWlnaHQ6IDEuODEyNXJlbTsgfVxuXG4uZm9ybS1jb250cm9sLWxnLCAuaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLCAuaW5wdXQtZ3JvdXAtbGcgPiAuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1idG4gPiAuYnRuLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjNyZW07IH1cblxuc2VsZWN0LmZvcm0tY29udHJvbC1sZzpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksIC5pbnB1dC1ncm91cC1sZyA+IHNlbGVjdC5mb3JtLWNvbnRyb2w6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pLCAuaW5wdXQtZ3JvdXAtbGcgPiBzZWxlY3QuY3VzdG9tLWZpbGUtY29udHJvbDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksXG4uaW5wdXQtZ3JvdXAtbGcgPiBzZWxlY3QuaW5wdXQtZ3JvdXAtYWRkb246bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IHNlbGVjdC5idG46bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IHNlbGVjdC5jdXN0b20tZmlsZS1jb250cm9sOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKTo6YmVmb3JlIHtcbiAgaGVpZ2h0OiAyLjc5MTY3cmVtOyB9XG5cbi5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5mb3JtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMC4xMjVyZW07IH1cblxuLmZvcm0tY2hlY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwLjM3NXJlbTsgfVxuICAuZm9ybS1jaGVjayArIC5mb3JtLWNoZWNrIHtcbiAgICBtYXJnaW4tdG9wOiAtLjI1cmVtOyB9XG4gIC5mb3JtLWNoZWNrLmRpc2FibGVkIC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmZvcm0tY2hlY2staW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi10b3A6IC4yNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0xLjI1cmVtOyB9XG4gIC5mb3JtLWNoZWNrLWlucHV0Om9ubHktY2hpbGQge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cblxuLmZvcm0tY2hlY2staW5saW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5mb3JtLWNoZWNrLWlubGluZSArIC5mb3JtLWNoZWNrLWlubGluZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC43NXJlbTsgfVxuICAuZm9ybS1jaGVjay1pbmxpbmUuZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIG1hcmdpbi10b3A6IDAuMTI1cmVtOyB9XG5cbi5mb3JtLWNvbnRyb2wtc3VjY2Vzcyxcbi5mb3JtLWNvbnRyb2wtd2FybmluZyxcbi5mb3JtLWNvbnRyb2wtZGFuZ2VyIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IDAuNTkzNzVyZW07XG4gIGJhY2tncm91bmQtc2l6ZTogMS4xODc1cmVtIDEuMTg3NXJlbTsgfVxuXG4uaGFzLXN1Y2Nlc3MgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sLWxhYmVsLFxuLmhhcy1zdWNjZXNzIC5yYWRpbyxcbi5oYXMtc3VjY2VzcyAuY2hlY2tib3gsXG4uaGFzLXN1Y2Nlc3MgLnJhZGlvLWlubGluZSxcbi5oYXMtc3VjY2VzcyAuY2hlY2tib3gtaW5saW5lLFxuLmhhcy1zdWNjZXNzLnJhZGlvIGxhYmVsLFxuLmhhcy1zdWNjZXNzLmNoZWNrYm94IGxhYmVsLFxuLmhhcy1zdWNjZXNzLnJhZGlvLWlubGluZSBsYWJlbCxcbi5oYXMtc3VjY2Vzcy5jaGVja2JveC1pbmxpbmUgbGFiZWwsXG4uaGFzLXN1Y2Nlc3MgLmN1c3RvbS1jb250cm9sIHtcbiAgY29sb3I6ICM0Y2FmNTA7IH1cblxuLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wsIC5oYXMtc3VjY2VzcyAuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIGJvcmRlci1jb2xvcjogIzRjYWY1MDsgfVxuXG4uaGFzLXN1Y2Nlc3MgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgY29sb3I6ICM0Y2FmNTA7XG4gIGJvcmRlci1jb2xvcjogIzRjYWY1MDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZWVkYTsgfVxuXG4uaGFzLXN1Y2Nlc3MgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIGNvbG9yOiAjNGNhZjUwOyB9XG5cbi5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sLXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPSclMjM1Y2I4NWMnIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLyUzRSUzQy9zdmclM0VcIik7IH1cblxuLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uaGFzLXdhcm5pbmcgLmZvcm0tY29udHJvbC1sYWJlbCxcbi5oYXMtd2FybmluZyAucmFkaW8sXG4uaGFzLXdhcm5pbmcgLmNoZWNrYm94LFxuLmhhcy13YXJuaW5nIC5yYWRpby1pbmxpbmUsXG4uaGFzLXdhcm5pbmcgLmNoZWNrYm94LWlubGluZSxcbi5oYXMtd2FybmluZy5yYWRpbyBsYWJlbCxcbi5oYXMtd2FybmluZy5jaGVja2JveCBsYWJlbCxcbi5oYXMtd2FybmluZy5yYWRpby1pbmxpbmUgbGFiZWwsXG4uaGFzLXdhcm5pbmcuY2hlY2tib3gtaW5saW5lIGxhYmVsLFxuLmhhcy13YXJuaW5nIC5jdXN0b20tY29udHJvbCB7XG4gIGNvbG9yOiAjZmY1NzIyOyB9XG5cbi5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sLCAuaGFzLXdhcm5pbmcgLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBib3JkZXItY29sb3I6ICNmZjU3MjI7IH1cblxuLmhhcy13YXJuaW5nIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gIGNvbG9yOiAjZmY1NzIyO1xuICBib3JkZXItY29sb3I6ICNmZjU3MjI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmYyZWU7IH1cblxuLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICBjb2xvcjogI2ZmNTcyMjsgfVxuXG4uaGFzLXdhcm5pbmcgLmZvcm0tY29udHJvbC13YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZmlsbD0nJTIzZjBhZDRlJyBkPSdNNC40IDUuMzI0aC0uOHYtMi40NmguOHptMCAxLjQyaC0uOFY1Ljg5aC44ek0zLjc2LjYzTC4wNCA3LjA3NWMtLjExNS4yLjAxNi40MjUuMjYuNDI2aDcuMzk3Yy4yNDIgMCAuMzcyLS4yMjYuMjU4LS40MjZDNi43MjYgNC45MjQgNS40NyAyLjc5IDQuMjUzLjYzYy0uMTEzLS4xNzQtLjM5LS4xNzQtLjQ5NCAweicvJTNFJTNDL3N2ZyUzRVwiKTsgfVxuXG4uaGFzLWRhbmdlciAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmhhcy1kYW5nZXIgLmZvcm0tY29udHJvbC1sYWJlbCxcbi5oYXMtZGFuZ2VyIC5yYWRpbyxcbi5oYXMtZGFuZ2VyIC5jaGVja2JveCxcbi5oYXMtZGFuZ2VyIC5yYWRpby1pbmxpbmUsXG4uaGFzLWRhbmdlciAuY2hlY2tib3gtaW5saW5lLFxuLmhhcy1kYW5nZXIucmFkaW8gbGFiZWwsXG4uaGFzLWRhbmdlci5jaGVja2JveCBsYWJlbCxcbi5oYXMtZGFuZ2VyLnJhZGlvLWlubGluZSBsYWJlbCxcbi5oYXMtZGFuZ2VyLmNoZWNrYm94LWlubGluZSBsYWJlbCxcbi5oYXMtZGFuZ2VyIC5jdXN0b20tY29udHJvbCB7XG4gIGNvbG9yOiAjZjQ0MzM2OyB9XG5cbi5oYXMtZGFuZ2VyIC5mb3JtLWNvbnRyb2wsIC5oYXMtZGFuZ2VyIC5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYm9yZGVyLWNvbG9yOiAjZjQ0MzM2OyB9XG5cbi5oYXMtZGFuZ2VyIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gIGNvbG9yOiAjZjQ0MzM2O1xuICBib3JkZXItY29sb3I6ICNmNDQzMzY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY4Zjc7IH1cblxuLmhhcy1kYW5nZXIgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIGNvbG9yOiAjZjQ0MzM2OyB9XG5cbi5oYXMtZGFuZ2VyIC5mb3JtLWNvbnRyb2wtZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPSclMjNkOTUzNGYnIHZpZXdCb3g9Jy0yIC0yIDcgNyclM0UlM0NwYXRoIHN0cm9rZT0nJTIzZDk1MzRmJyBkPSdNMCAwbDMgM20wLTNMMCAzJy8lM0UlM0NjaXJjbGUgcj0nLjUnLyUzRSUzQ2NpcmNsZSBjeD0nMycgcj0nLjUnLyUzRSUzQ2NpcmNsZSBjeT0nMycgcj0nLjUnLyUzRSUzQ2NpcmNsZSBjeD0nMycgY3k9JzMnIHI9Jy41Jy8lM0UlM0Mvc3ZnJTNFXCIpOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NDRweCkge1xuICAuZm9ybS1pbmxpbmUgLmZvcm0tZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLmZvcm0taW5saW5lIC5mb3JtLWNvbnRyb2wsIC5mb3JtLWlubGluZSAuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLmZvcm0taW5saW5lIC5mb3JtLWNvbnRyb2wtc3RhdGljIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmZvcm0taW5saW5lIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaW5saW5lLXRhYmxlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAuZm9ybS1pbmxpbmUgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1hZGRvbixcbiAgICAuZm9ybS1pbmxpbmUgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idG4sXG4gICAgLmZvcm0taW5saW5lIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sLFxuICAgIC5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXAgLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgLmZvcm0taW5saW5lIC5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wsIC5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmZvcm0taW5saW5lIC5mb3JtLWNvbnRyb2wtbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuZm9ybS1pbmxpbmUgLmZvcm0tY2hlY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuZm9ybS1pbmxpbmUgLmZvcm0tY2hlY2stbGFiZWwge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAuZm9ybS1pbmxpbmUgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuZm9ybS1pbmxpbmUgLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICB0b3A6IDA7IH0gfVxuXG4uYnRuLCAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMC40Njg3NXJlbSAxcmVtO1xuICBmb250LXNpemU6IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtOyB9XG4gIC5idG46Zm9jdXMsIC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uZm9jdXMsIC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG46YWN0aXZlOmZvY3VzLCAuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSwgLmJ0bjphY3RpdmUuZm9jdXMsIC5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYnRuLmFjdGl2ZTpmb2N1cywgLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYWN0aXZlLmZvY3VzLCAuYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyB9XG4gIC5idG46Zm9jdXMsIC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG46aG92ZXIsIC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuYnRuLmZvY3VzLCAuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmJ0bjphY3RpdmUsIC5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmFjdGl2ZSwgLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5idG4uZGlzYWJsZWQsIC5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG46ZGlzYWJsZWQsIC5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOjpiZWZvcmUge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgb3BhY2l0eTogLjY1O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuYS5idG4uZGlzYWJsZWQsIGEuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuZmllbGRzZXRbZGlzYWJsZWRdIGEuYnRuLFxuZmllbGRzZXRbZGlzYWJsZWRdIGEuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLmJ0bi1wcmltYXJ5IHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ODg7XG4gIGJvcmRlci1jb2xvcjogIzAwOTY4ODtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAuYnRuLXByaW1hcnk6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDYzNWE7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA1OTUxOyB9XG4gIC5idG4tcHJpbWFyeTpmb2N1cywgLmJ0bi1wcmltYXJ5LmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2MzVhO1xuICAgIGJvcmRlci1jb2xvcjogIzAwNTk1MTsgfVxuICAuYnRuLXByaW1hcnk6YWN0aXZlLCAuYnRuLXByaW1hcnkuYWN0aXZlLFxuICAub3BlbiA+IC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDYzNWE7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA1OTUxO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5idG4tcHJpbWFyeTphY3RpdmU6aG92ZXIsIC5idG4tcHJpbWFyeTphY3RpdmU6Zm9jdXMsIC5idG4tcHJpbWFyeTphY3RpdmUuZm9jdXMsIC5idG4tcHJpbWFyeS5hY3RpdmU6aG92ZXIsIC5idG4tcHJpbWFyeS5hY3RpdmU6Zm9jdXMsIC5idG4tcHJpbWFyeS5hY3RpdmUuZm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgIC5vcGVuID4gLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAub3BlbiA+IC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzZjM5O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDAxNzE0OyB9XG4gIC5idG4tcHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmZvY3VzLCAuYnRuLXByaW1hcnk6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4tcHJpbWFyeTpkaXNhYmxlZC5mb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTY4ODtcbiAgICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgLmJ0bi1wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnRuLXByaW1hcnk6ZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ODg7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA5Njg4OyB9XG5cbi5idG4tc2Vjb25kYXJ5IHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG4gIGJvcmRlci1jb2xvcjogI2NjYztcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAuYnRuLXNlY29uZGFyeTpob3ZlciB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UxZTFlMTtcbiAgICBib3JkZXItY29sb3I6ICNhZGFkYWQ7IH1cbiAgLmJ0bi1zZWNvbmRhcnk6Zm9jdXMsIC5idG4tc2Vjb25kYXJ5LmZvY3VzIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTFlMWUxO1xuICAgIGJvcmRlci1jb2xvcjogI2FkYWRhZDsgfVxuICAuYnRuLXNlY29uZGFyeTphY3RpdmUsIC5idG4tc2Vjb25kYXJ5LmFjdGl2ZSxcbiAgLm9wZW4gPiAuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMWUxZTE7XG4gICAgYm9yZGVyLWNvbG9yOiAjYWRhZGFkO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5idG4tc2Vjb25kYXJ5OmFjdGl2ZTpob3ZlciwgLmJ0bi1zZWNvbmRhcnk6YWN0aXZlOmZvY3VzLCAuYnRuLXNlY29uZGFyeTphY3RpdmUuZm9jdXMsIC5idG4tc2Vjb25kYXJ5LmFjdGl2ZTpob3ZlciwgLmJ0bi1zZWNvbmRhcnkuYWN0aXZlOmZvY3VzLCAuYnRuLXNlY29uZGFyeS5hY3RpdmUuZm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgLm9wZW4gPiAuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2ZjZmNmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjOGM4YzhjOyB9XG4gIC5idG4tc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnRuLXNlY29uZGFyeS5kaXNhYmxlZC5mb2N1cywgLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4tc2Vjb25kYXJ5OmRpc2FibGVkLmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xuICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAuYnRuLXNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG5cbi5idG4taW5mbyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDNhOWY0O1xuICBib3JkZXItY29sb3I6ICMwM2E5ZjQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgLmJ0bi1pbmZvOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDI4NmMyO1xuICAgIGJvcmRlci1jb2xvcjogIzAyN2ZiODsgfVxuICAuYnRuLWluZm86Zm9jdXMsIC5idG4taW5mby5mb2N1cyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAyODZjMjtcbiAgICBib3JkZXItY29sb3I6ICMwMjdmYjg7IH1cbiAgLmJ0bi1pbmZvOmFjdGl2ZSwgLmJ0bi1pbmZvLmFjdGl2ZSxcbiAgLm9wZW4gPiAuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDI4NmMyO1xuICAgIGJvcmRlci1jb2xvcjogIzAyN2ZiODtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuYnRuLWluZm86YWN0aXZlOmhvdmVyLCAuYnRuLWluZm86YWN0aXZlOmZvY3VzLCAuYnRuLWluZm86YWN0aXZlLmZvY3VzLCAuYnRuLWluZm8uYWN0aXZlOmhvdmVyLCAuYnRuLWluZm8uYWN0aXZlOmZvY3VzLCAuYnRuLWluZm8uYWN0aXZlLmZvY3VzLFxuICAgIC5vcGVuID4gLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAub3BlbiA+IC5idG4taW5mby5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAyNmU5ZTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAxNTI3NjsgfVxuICAuYnRuLWluZm8uZGlzYWJsZWQ6Zm9jdXMsIC5idG4taW5mby5kaXNhYmxlZC5mb2N1cywgLmJ0bi1pbmZvOmRpc2FibGVkOmZvY3VzLCAuYnRuLWluZm86ZGlzYWJsZWQuZm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwM2E5ZjQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDNhOWY0OyB9XG4gIC5idG4taW5mby5kaXNhYmxlZDpob3ZlciwgLmJ0bi1pbmZvOmRpc2FibGVkOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDNhOWY0O1xuICAgIGJvcmRlci1jb2xvcjogIzAzYTlmNDsgfVxuXG4uYnRuLXN1Y2Nlc3Mge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRjYWY1MDtcbiAgYm9yZGVyLWNvbG9yOiAjNGNhZjUwO1xuICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5idG4tc3VjY2Vzczpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNkOGI0MDtcbiAgICBib3JkZXItY29sb3I6ICMzOTg0M2M7IH1cbiAgLmJ0bi1zdWNjZXNzOmZvY3VzLCAuYnRuLXN1Y2Nlc3MuZm9jdXMge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzZDhiNDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzk4NDNjOyB9XG4gIC5idG4tc3VjY2VzczphY3RpdmUsIC5idG4tc3VjY2Vzcy5hY3RpdmUsXG4gIC5vcGVuID4gLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNkOGI0MDtcbiAgICBib3JkZXItY29sb3I6ICMzOTg0M2M7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLmJ0bi1zdWNjZXNzOmFjdGl2ZTpob3ZlciwgLmJ0bi1zdWNjZXNzOmFjdGl2ZTpmb2N1cywgLmJ0bi1zdWNjZXNzOmFjdGl2ZS5mb2N1cywgLmJ0bi1zdWNjZXNzLmFjdGl2ZTpob3ZlciwgLmJ0bi1zdWNjZXNzLmFjdGl2ZTpmb2N1cywgLmJ0bi1zdWNjZXNzLmFjdGl2ZS5mb2N1cyxcbiAgICAub3BlbiA+IC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgLm9wZW4gPiAuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgIC5vcGVuID4gLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMjczMzQ7XG4gICAgICBib3JkZXItY29sb3I6ICMyNTU2Mjc7IH1cbiAgLmJ0bi1zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQuZm9jdXMsIC5idG4tc3VjY2VzczpkaXNhYmxlZDpmb2N1cywgLmJ0bi1zdWNjZXNzOmRpc2FibGVkLmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGNhZjUwO1xuICAgIGJvcmRlci1jb2xvcjogIzRjYWY1MDsgfVxuICAuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idG4tc3VjY2VzczpkaXNhYmxlZDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRjYWY1MDtcbiAgICBib3JkZXItY29sb3I6ICM0Y2FmNTA7IH1cblxuLmJ0bi13YXJuaW5nIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjU3MjI7XG4gIGJvcmRlci1jb2xvcjogI2ZmNTcyMjtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAuYnRuLXdhcm5pbmc6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZTM5MDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjZTQzNzAwOyB9XG4gIC5idG4td2FybmluZzpmb2N1cywgLmJ0bi13YXJuaW5nLmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWUzOTAwO1xuICAgIGJvcmRlci1jb2xvcjogI2U0MzcwMDsgfVxuICAuYnRuLXdhcm5pbmc6YWN0aXZlLCAuYnRuLXdhcm5pbmcuYWN0aXZlLFxuICAub3BlbiA+IC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZTM5MDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjZTQzNzAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5idG4td2FybmluZzphY3RpdmU6aG92ZXIsIC5idG4td2FybmluZzphY3RpdmU6Zm9jdXMsIC5idG4td2FybmluZzphY3RpdmUuZm9jdXMsIC5idG4td2FybmluZy5hY3RpdmU6aG92ZXIsIC5idG4td2FybmluZy5hY3RpdmU6Zm9jdXMsIC5idG4td2FybmluZy5hY3RpdmUuZm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgIC5vcGVuID4gLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAub3BlbiA+IC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuZm9jdXMge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2EzMTAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYTIyNzAwOyB9XG4gIC5idG4td2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ0bi13YXJuaW5nLmRpc2FibGVkLmZvY3VzLCAuYnRuLXdhcm5pbmc6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4td2FybmluZzpkaXNhYmxlZC5mb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTcyMjtcbiAgICBib3JkZXItY29sb3I6ICNmZjU3MjI7IH1cbiAgLmJ0bi13YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnRuLXdhcm5pbmc6ZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjU3MjI7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmY1NzIyOyB9XG5cbi5idG4tZGFuZ2VyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNDQzMzY7XG4gIGJvcmRlci1jb2xvcjogI2Y0NDMzNjtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAuYnRuLWRhbmdlcjpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VhMWMwZDtcbiAgICBib3JkZXItY29sb3I6ICNlMTFiMGM7IH1cbiAgLmJ0bi1kYW5nZXI6Zm9jdXMsIC5idG4tZGFuZ2VyLmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWExYzBkO1xuICAgIGJvcmRlci1jb2xvcjogI2UxMWIwYzsgfVxuICAuYnRuLWRhbmdlcjphY3RpdmUsIC5idG4tZGFuZ2VyLmFjdGl2ZSxcbiAgLm9wZW4gPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYTFjMGQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZTExYjBjO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5idG4tZGFuZ2VyOmFjdGl2ZTpob3ZlciwgLmJ0bi1kYW5nZXI6YWN0aXZlOmZvY3VzLCAuYnRuLWRhbmdlcjphY3RpdmUuZm9jdXMsIC5idG4tZGFuZ2VyLmFjdGl2ZTpob3ZlciwgLmJ0bi1kYW5nZXIuYWN0aXZlOmZvY3VzLCAuYnRuLWRhbmdlci5hY3RpdmUuZm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgLm9wZW4gPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuZm9jdXMge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzgxODBiO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYTIxMzA5OyB9XG4gIC5idG4tZGFuZ2VyLmRpc2FibGVkOmZvY3VzLCAuYnRuLWRhbmdlci5kaXNhYmxlZC5mb2N1cywgLmJ0bi1kYW5nZXI6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4tZGFuZ2VyOmRpc2FibGVkLmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQ0MzM2O1xuICAgIGJvcmRlci1jb2xvcjogI2Y0NDMzNjsgfVxuICAuYnRuLWRhbmdlci5kaXNhYmxlZDpob3ZlciwgLmJ0bi1kYW5nZXI6ZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNDQzMzY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjQ0MzM2OyB9XG5cbi5idG4tb3V0bGluZS1wcmltYXJ5IHtcbiAgY29sb3I6ICMwMDk2ODg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgLmJ0bi1vdXRsaW5lLXByaW1hcnk6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ODg7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA5Njg4OyB9XG4gIC5idG4tb3V0bGluZS1wcmltYXJ5OmZvY3VzLCAuYnRuLW91dGxpbmUtcHJpbWFyeS5mb2N1cyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTY4ODtcbiAgICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgLmJ0bi1vdXRsaW5lLXByaW1hcnk6YWN0aXZlLCAuYnRuLW91dGxpbmUtcHJpbWFyeS5hY3RpdmUsXG4gIC5vcGVuID4gLmJ0bi1vdXRsaW5lLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5Njg4O1xuICAgIGJvcmRlci1jb2xvcjogIzAwOTY4ODsgfVxuICAgIC5idG4tb3V0bGluZS1wcmltYXJ5OmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLXByaW1hcnk6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtcHJpbWFyeTphY3RpdmUuZm9jdXMsIC5idG4tb3V0bGluZS1wcmltYXJ5LmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLXByaW1hcnkuYWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtcHJpbWFyeS5hY3RpdmUuZm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzZjM5O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDAxNzE0OyB9XG4gIC5idG4tb3V0bGluZS1wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnRuLW91dGxpbmUtcHJpbWFyeS5kaXNhYmxlZC5mb2N1cywgLmJ0bi1vdXRsaW5lLXByaW1hcnk6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4tb3V0bGluZS1wcmltYXJ5OmRpc2FibGVkLmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMwMGZjZTQ7IH1cbiAgLmJ0bi1vdXRsaW5lLXByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idG4tb3V0bGluZS1wcmltYXJ5OmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICMwMGZjZTQ7IH1cblxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeSB7XG4gIGNvbG9yOiAjY2NjO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gIC5idG4tb3V0bGluZS1zZWNvbmRhcnk6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gIC5idG4tb3V0bGluZS1zZWNvbmRhcnk6Zm9jdXMsIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZm9jdXMge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gIC5idG4tb3V0bGluZS1zZWNvbmRhcnk6YWN0aXZlLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmFjdGl2ZSxcbiAgLm9wZW4gPiAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1zZWNvbmRhcnk6YWN0aXZlLmZvY3VzLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5hY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuYWN0aXZlLmZvY3VzLFxuICAgIC5vcGVuID4gLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAub3BlbiA+IC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ExYTFhMTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzhjOGM4YzsgfVxuICAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRpc2FibGVkLmZvY3VzLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmRpc2FibGVkOmZvY3VzLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmRpc2FibGVkLmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHdoaXRlOyB9XG4gIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC5idG4tb3V0bGluZS1zZWNvbmRhcnk6ZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogd2hpdGU7IH1cblxuLmJ0bi1vdXRsaW5lLWluZm8ge1xuICBjb2xvcjogIzAzYTlmNDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogIzAzYTlmNDsgfVxuICAuYnRuLW91dGxpbmUtaW5mbzpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAzYTlmNDtcbiAgICBib3JkZXItY29sb3I6ICMwM2E5ZjQ7IH1cbiAgLmJ0bi1vdXRsaW5lLWluZm86Zm9jdXMsIC5idG4tb3V0bGluZS1pbmZvLmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDNhOWY0O1xuICAgIGJvcmRlci1jb2xvcjogIzAzYTlmNDsgfVxuICAuYnRuLW91dGxpbmUtaW5mbzphY3RpdmUsIC5idG4tb3V0bGluZS1pbmZvLmFjdGl2ZSxcbiAgLm9wZW4gPiAuYnRuLW91dGxpbmUtaW5mby5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwM2E5ZjQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDNhOWY0OyB9XG4gICAgLmJ0bi1vdXRsaW5lLWluZm86YWN0aXZlOmhvdmVyLCAuYnRuLW91dGxpbmUtaW5mbzphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1pbmZvOmFjdGl2ZS5mb2N1cywgLmJ0bi1vdXRsaW5lLWluZm8uYWN0aXZlOmhvdmVyLCAuYnRuLW91dGxpbmUtaW5mby5hY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1pbmZvLmFjdGl2ZS5mb2N1cyxcbiAgICAub3BlbiA+IC5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAub3BlbiA+IC5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAub3BlbiA+IC5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMjZlOWU7XG4gICAgICBib3JkZXItY29sb3I6ICMwMTUyNzY7IH1cbiAgLmJ0bi1vdXRsaW5lLWluZm8uZGlzYWJsZWQ6Zm9jdXMsIC5idG4tb3V0bGluZS1pbmZvLmRpc2FibGVkLmZvY3VzLCAuYnRuLW91dGxpbmUtaW5mbzpkaXNhYmxlZDpmb2N1cywgLmJ0bi1vdXRsaW5lLWluZm86ZGlzYWJsZWQuZm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzYwY2NmZDsgfVxuICAuYnRuLW91dGxpbmUtaW5mby5kaXNhYmxlZDpob3ZlciwgLmJ0bi1vdXRsaW5lLWluZm86ZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzYwY2NmZDsgfVxuXG4uYnRuLW91dGxpbmUtc3VjY2VzcyB7XG4gIGNvbG9yOiAjNGNhZjUwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiAjNGNhZjUwOyB9XG4gIC5idG4tb3V0bGluZS1zdWNjZXNzOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGNhZjUwO1xuICAgIGJvcmRlci1jb2xvcjogIzRjYWY1MDsgfVxuICAuYnRuLW91dGxpbmUtc3VjY2Vzczpmb2N1cywgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZm9jdXMge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0Y2FmNTA7XG4gICAgYm9yZGVyLWNvbG9yOiAjNGNhZjUwOyB9XG4gIC5idG4tb3V0bGluZS1zdWNjZXNzOmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuYWN0aXZlLFxuICAub3BlbiA+IC5idG4tb3V0bGluZS1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRjYWY1MDtcbiAgICBib3JkZXItY29sb3I6ICM0Y2FmNTA7IH1cbiAgICAuYnRuLW91dGxpbmUtc3VjY2VzczphY3RpdmU6aG92ZXIsIC5idG4tb3V0bGluZS1zdWNjZXNzOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6YWN0aXZlLmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5hY3RpdmU6aG92ZXIsIC5idG4tb3V0bGluZS1zdWNjZXNzLmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuYWN0aXZlLmZvY3VzLFxuICAgIC5vcGVuID4gLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgIC5vcGVuID4gLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgIC5vcGVuID4gLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMyNzMzNDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzI1NTYyNzsgfVxuICAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZGlzYWJsZWQuZm9jdXMsIC5idG4tb3V0bGluZS1zdWNjZXNzOmRpc2FibGVkOmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2VzczpkaXNhYmxlZC5mb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjOTJjZjk0OyB9XG4gIC5idG4tb3V0bGluZS1zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYnRuLW91dGxpbmUtc3VjY2VzczpkaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjOTJjZjk0OyB9XG5cbi5idG4tb3V0bGluZS13YXJuaW5nIHtcbiAgY29sb3I6ICNmZjU3MjI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6ICNmZjU3MjI7IH1cbiAgLmJ0bi1vdXRsaW5lLXdhcm5pbmc6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjU3MjI7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmY1NzIyOyB9XG4gIC5idG4tb3V0bGluZS13YXJuaW5nOmZvY3VzLCAuYnRuLW91dGxpbmUtd2FybmluZy5mb2N1cyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTcyMjtcbiAgICBib3JkZXItY29sb3I6ICNmZjU3MjI7IH1cbiAgLmJ0bi1vdXRsaW5lLXdhcm5pbmc6YWN0aXZlLCAuYnRuLW91dGxpbmUtd2FybmluZy5hY3RpdmUsXG4gIC5vcGVuID4gLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1NzIyO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmNTcyMjsgfVxuICAgIC5idG4tb3V0bGluZS13YXJuaW5nOmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLXdhcm5pbmc6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtd2FybmluZzphY3RpdmUuZm9jdXMsIC5idG4tb3V0bGluZS13YXJuaW5nLmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLXdhcm5pbmcuYWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtd2FybmluZy5hY3RpdmUuZm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGUuZm9jdXMge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2EzMTAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYTIyNzAwOyB9XG4gIC5idG4tb3V0bGluZS13YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAuYnRuLW91dGxpbmUtd2FybmluZy5kaXNhYmxlZC5mb2N1cywgLmJ0bi1vdXRsaW5lLXdhcm5pbmc6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4tb3V0bGluZS13YXJuaW5nOmRpc2FibGVkLmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICNmZmE1ODg7IH1cbiAgLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idG4tb3V0bGluZS13YXJuaW5nOmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICNmZmE1ODg7IH1cblxuLmJ0bi1vdXRsaW5lLWRhbmdlciB7XG4gIGNvbG9yOiAjZjQ0MzM2O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiAjZjQ0MzM2OyB9XG4gIC5idG4tb3V0bGluZS1kYW5nZXI6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNDQzMzY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjQ0MzM2OyB9XG4gIC5idG4tb3V0bGluZS1kYW5nZXI6Zm9jdXMsIC5idG4tb3V0bGluZS1kYW5nZXIuZm9jdXMge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNDQzMzY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjQ0MzM2OyB9XG4gIC5idG4tb3V0bGluZS1kYW5nZXI6YWN0aXZlLCAuYnRuLW91dGxpbmUtZGFuZ2VyLmFjdGl2ZSxcbiAgLm9wZW4gPiAuYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjtcbiAgICBib3JkZXItY29sb3I6ICNmNDQzMzY7IH1cbiAgICAuYnRuLW91dGxpbmUtZGFuZ2VyOmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLWRhbmdlcjphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1kYW5nZXI6YWN0aXZlLmZvY3VzLCAuYnRuLW91dGxpbmUtZGFuZ2VyLmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLWRhbmdlci5hY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1kYW5nZXIuYWN0aXZlLmZvY3VzLFxuICAgIC5vcGVuID4gLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAub3BlbiA+IC5idG4tb3V0bGluZS1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2M4MTgwYjtcbiAgICAgIGJvcmRlci1jb2xvcjogI2EyMTMwOTsgfVxuICAuYnRuLW91dGxpbmUtZGFuZ2VyLmRpc2FibGVkOmZvY3VzLCAuYnRuLW91dGxpbmUtZGFuZ2VyLmRpc2FibGVkLmZvY3VzLCAuYnRuLW91dGxpbmUtZGFuZ2VyOmRpc2FibGVkOmZvY3VzLCAuYnRuLW91dGxpbmUtZGFuZ2VyOmRpc2FibGVkLmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICNmOTlkOTc7IH1cbiAgLmJ0bi1vdXRsaW5lLWRhbmdlci5kaXNhYmxlZDpob3ZlciwgLmJ0bi1vdXRsaW5lLWRhbmdlcjpkaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjk5ZDk3OyB9XG5cbi5idG4tbGluayB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMDA5Njg4O1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIC5idG4tbGluaywgLmJ0bi1saW5rOmFjdGl2ZSwgLmJ0bi1saW5rLmFjdGl2ZSwgLmJ0bi1saW5rOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5idG4tbGluaywgLmJ0bi1saW5rOmZvY3VzLCAuYnRuLWxpbms6YWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idG4tbGluazpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnRuLWxpbms6Zm9jdXMsIC5idG4tbGluazpob3ZlciB7XG4gICAgY29sb3I6ICMwMDRhNDM7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ0bi1saW5rOmRpc2FibGVkOmZvY3VzLCAuYnRuLWxpbms6ZGlzYWJsZWQ6aG92ZXIge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uYnRuLWxnLCAuYnRuLWdyb3VwLWxnID4gLmJ0biwgLmJ0bi1ncm91cC1sZyA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICBwYWRkaW5nOiAwLjc1cmVtIDEuNXJlbTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjNyZW07IH1cblxuLmJ0bi1zbSwgLmJ0bi1ncm91cC1zbSA+IC5idG4sIC5idG4tZ3JvdXAtc20gPiAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgcGFkZGluZzogMC40MDYyNXJlbSAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMDYyNXJlbTsgfVxuXG4uYnRuLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5idG4tYmxvY2sgKyAuYnRuLWJsb2NrIHtcbiAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG5cbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0uYnRuLWJsb2NrLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLmJ0bi1ibG9jayxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0uYnRuLWJsb2NrIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmZhZGUge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXMgbGluZWFyOyB9XG4gIC5mYWRlLmluIHtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbi5jb2xsYXBzZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNvbGxhcHNlLmluIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjM1cztcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0OyB9XG5cbi5kcm9wdXAsXG4uZHJvcGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwLjNlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXRvcDogMC4zZW0gc29saWQ7XG4gIGJvcmRlci1yaWdodDogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAwLjNlbSBzb2xpZCB0cmFuc3BhcmVudDsgfVxuXG4uZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgb3V0bGluZTogMDsgfVxuXG4uZHJvcHVwIC5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMC4zZW0gc29saWQ7IH1cblxuLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1pbi13aWR0aDogMTYwcHg7XG4gIHBhZGRpbmc6IDVweCAwO1xuICBtYXJnaW46IDJweCAwIDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtO1xuICBib3gtc2hhZG93OiAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cblxuLmRyb3Bkb3duLWRpdmlkZXIge1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAwLjI1cmVtIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNWU1ZTU7IH1cblxuLmRyb3Bkb3duLWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDNweCAyMHB4O1xuICBjbGVhcjogYm90aDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDsgfVxuICAuZHJvcGRvd24taXRlbTpmb2N1cywgLmRyb3Bkb3duLWl0ZW06aG92ZXIge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1OyB9XG4gIC5kcm9wZG93bi1pdGVtLmFjdGl2ZSwgLmRyb3Bkb3duLWl0ZW0uYWN0aXZlOmZvY3VzLCAuZHJvcGRvd24taXRlbS5hY3RpdmU6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5Njg4O1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmRyb3Bkb3duLWl0ZW0uZGlzYWJsZWQsIC5kcm9wZG93bi1pdGVtLmRpc2FibGVkOmZvY3VzLCAuZHJvcGRvd24taXRlbS5kaXNhYmxlZDpob3ZlciB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7IH1cbiAgLmRyb3Bkb3duLWl0ZW0uZGlzYWJsZWQ6Zm9jdXMsIC5kcm9wZG93bi1pdGVtLmRpc2FibGVkOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIGZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKVwiOyB9XG5cbi5vcGVuID4gLmRyb3Bkb3duLW1lbnUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ub3BlbiA+IGEge1xuICBvdXRsaW5lOiAwOyB9XG5cbi5kcm9wZG93bi1tZW51LXJpZ2h0IHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmRyb3Bkb3duLW1lbnUtbGVmdCB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwOyB9XG5cbi5kcm9wZG93bi1oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNXB4IDIwcHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5kcm9wZG93bi1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA5OTA7IH1cblxuLmRyb3B1cCAuY2FyZXQsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSAuZHJvcGRvd24gLmNhcmV0IHtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMC4zZW0gc29saWQ7IH1cblxuLmRyb3B1cCAuZHJvcGRvd24tbWVudSxcbi5uYXZiYXItZml4ZWQtYm90dG9tIC5kcm9wZG93biAuZHJvcGRvd24tbWVudSB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAycHg7IH1cblxuLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuYnRuLWdyb3VwID4gLmJ0biwgLmJ0bi1ncm91cCA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmJ0bi1ncm91cCA+IC5idG46Zm9jdXMsIC5idG4tZ3JvdXAgPiAuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLWdyb3VwID4gLmJ0bjphY3RpdmUsIC5idG4tZ3JvdXAgPiAuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJ0bi1ncm91cCA+IC5idG4uYWN0aXZlLCAuYnRuLWdyb3VwID4gLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46Zm9jdXMsXG4gICAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46YWN0aXZlLFxuICAgIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi5hY3RpdmUsXG4gICAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAuYnRuLWdyb3VwID4gLmJ0bjpob3ZlciwgLmJ0bi1ncm91cCA+IC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46aG92ZXIsXG4gICAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgei1pbmRleDogMjsgfVxuXG4uYnRuLWdyb3VwIC5idG4gKyAuYnRuLCAuYnRuLWdyb3VwIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgKyAuYnRuLCAuYnRuLWdyb3VwIC5idG4gKyAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLWdyb3VwIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgKyAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuLmJ0bi1ncm91cCAuYnRuICsgLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAgLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSArIC5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwIC5idG4tZ3JvdXAgKyAuYnRuLFxuLmJ0bi1ncm91cCAuYnRuLWdyb3VwICsgLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbi5idG4tZ3JvdXAgLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xuICBtYXJnaW4tbGVmdDogLTFweDsgfVxuXG4uYnRuLXRvb2xiYXIge1xuICBtYXJnaW4tbGVmdDogLTAuNXJlbTsgfVxuICAuYnRuLXRvb2xiYXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5idG4tdG9vbGJhciAuYnRuLWdyb3VwLFxuICAuYnRuLXRvb2xiYXIgLmlucHV0LWdyb3VwIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAuYnRuLXRvb2xiYXIgPiAuYnRuLCAuYnRuLXRvb2xiYXIgPiAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAuYnRuLXRvb2xiYXIgPiAuYnRuLWdyb3VwLFxuICAuYnRuLXRvb2xiYXIgPiAuaW5wdXQtZ3JvdXAge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cblxuLmJ0bi1ncm91cCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksIC5idG4tZ3JvdXAgPiAuY3VzdG9tLWZpbGUtY29udHJvbDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKTo6YmVmb3JlIHtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4uYnRuLWdyb3VwID4gLmJ0bjpmaXJzdC1jaGlsZCwgLmJ0bi1ncm91cCA+IC5jdXN0b20tZmlsZS1jb250cm9sOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuYnRuLWdyb3VwID4gLmJ0bjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSwgLmJ0bi1ncm91cCA+IC5jdXN0b20tZmlsZS1jb250cm9sOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpOjpiZWZvcmUge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9XG5cbi5idG4tZ3JvdXAgPiAuYnRuOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5idG4tZ3JvdXAgPiAuY3VzdG9tLWZpbGUtY29udHJvbDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpOjpiZWZvcmUsXG4uYnRuLWdyb3VwID4gLmRyb3Bkb3duLXRvZ2dsZTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7IH1cblxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXAge1xuICBmbG9hdDogbGVmdDsgfVxuXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biwgLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuOmxhc3QtY2hpbGQsIC5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkgPiAuY3VzdG9tLWZpbGUtY29udHJvbDpsYXN0LWNoaWxkOjpiZWZvcmUsXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsgfVxuXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bjpmaXJzdC1jaGlsZCwgLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5jdXN0b20tZmlsZS1jb250cm9sOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOyB9XG5cbi5idG4tZ3JvdXAgLmRyb3Bkb3duLXRvZ2dsZTphY3RpdmUsXG4uYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIG91dGxpbmU6IDA7IH1cblxuLmJ0biArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQsIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtOyB9XG4gIC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0OjphZnRlciwgLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQ6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uYnRuLXNtICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCwgLmJ0bi1ncm91cC1zbSA+IC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LCAuYnRuLWdyb3VwLXNtID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjM3NXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjM3NXJlbTsgfVxuXG4uYnRuLWxnICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCwgLmJ0bi1ncm91cC1sZyA+IC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LCAuYnRuLWdyb3VwLWxnID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjEyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjEyNXJlbTsgfVxuXG4uYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgLmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGUuYnRuLWxpbmsge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLmJ0biAuY2FyZXQsIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgLmNhcmV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmJ0bi1sZyAuY2FyZXQsIC5idG4tZ3JvdXAtbGcgPiAuYnRuIC5jYXJldCwgLmJ0bi1ncm91cC1sZyA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgLmNhcmV0IHtcbiAgYm9yZGVyLXdpZHRoOiAwLjNlbSAwLjNlbSAwO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwOyB9XG5cbi5kcm9wdXAgLmJ0bi1sZyAuY2FyZXQsIC5kcm9wdXAgLmJ0bi1ncm91cC1sZyA+IC5idG4gLmNhcmV0LCAuZHJvcHVwIC5idG4tZ3JvdXAtbGcgPiAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIC5jYXJldCB7XG4gIGJvcmRlci13aWR0aDogMCAwLjNlbSAwLjNlbTsgfVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0biwgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwID4gLmJ0bixcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXAgPiAuYnRuLCAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cCA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICBmbG9hdDogbm9uZTsgfVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0biArIC5idG4sIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlICsgLmJ0biwgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4gKyAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSArIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0biArIC5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSArIC5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cCArIC5idG4sXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cCArIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xuICBtYXJnaW4tdG9wOiAtMXB4O1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpLCAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKTo6YmVmb3JlIHtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpLCAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKTo6YmVmb3JlIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5jdXN0b20tZmlsZS1jb250cm9sOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCk6OmJlZm9yZSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOyB9XG5cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuLCAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSA+IC5idG46bGFzdC1jaGlsZCwgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSA+IC5jdXN0b20tZmlsZS1jb250cm9sOmxhc3QtY2hpbGQ6OmJlZm9yZSxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG46Zmlyc3QtY2hpbGQsIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuY3VzdG9tLWZpbGUtY29udHJvbDpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7IH1cblxuW2RhdGEtdG9nZ2xlPVwiYnV0dG9uc1wiXSA+IC5idG4gaW5wdXRbdHlwZT1cInJhZGlvXCJdLCBbZGF0YS10b2dnbGU9XCJidXR0b25zXCJdID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5bZGF0YS10b2dnbGU9XCJidXR0b25zXCJdID4gLmJ0biBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5bZGF0YS10b2dnbGU9XCJidXR0b25zXCJdID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5bZGF0YS10b2dnbGU9XCJidXR0b25zXCJdID4gLmJ0bi1ncm91cCA+IC5idG4gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuW2RhdGEtdG9nZ2xlPVwiYnV0dG9uc1wiXSA+IC5idG4tZ3JvdXAgPiAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbltkYXRhLXRvZ2dsZT1cImJ1dHRvbnNcIl0gPiAuYnRuLWdyb3VwID4gLmJ0biBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5bZGF0YS10b2dnbGU9XCJidXR0b25zXCJdID4gLmJ0bi1ncm91cCA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uaW5wdXQtZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sLCAuaW5wdXQtZ3JvdXAgLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGZsZXg6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmZvY3VzLCAuaW5wdXQtZ3JvdXAgLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXMsIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmFjdGl2ZSwgLmlucHV0LWdyb3VwIC5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZSwgLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6aG92ZXIsIC5pbnB1dC1ncm91cCAuY3VzdG9tLWZpbGUtY29udHJvbDpob3ZlciB7XG4gICAgICB6LWluZGV4OiAzOyB9XG5cbi5pbnB1dC1ncm91cC1hZGRvbjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cCAuY3VzdG9tLWZpbGUtY29udHJvbDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtYnRuIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBwYWRkaW5nOiAwLjQzNzVyZW0gMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIC5pbnB1dC1ncm91cC1hZGRvbi5mb3JtLWNvbnRyb2wtc20sXG4gIC5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hZGRvbixcbiAgLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5pbnB1dC1ncm91cC1hZGRvbi5idG4sXG4gIC5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1idG4gPiAuaW5wdXQtZ3JvdXAtYWRkb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICBwYWRkaW5nOiAwLjI1cmVtIDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjA2MjVyZW07IH1cbiAgLmlucHV0LWdyb3VwLWFkZG9uLmZvcm0tY29udHJvbC1sZyxcbiAgLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFkZG9uLFxuICAuaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmlucHV0LWdyb3VwLWFkZG9uLmJ0bixcbiAgLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IC5pbnB1dC1ncm91cC1hZGRvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIHBhZGRpbmc6IDAuNTYyNXJlbSAwO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjNyZW07IH1cbiAgLmlucHV0LWdyb3VwLWFkZG9uIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgLmlucHV0LWdyb3VwLWFkZG9uIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpub3QoOmxhc3QtY2hpbGQpLCAuaW5wdXQtZ3JvdXAgLmN1c3RvbS1maWxlLWNvbnRyb2w6bm90KDpsYXN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cC1hZGRvbjpub3QoOmxhc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bm90KDpsYXN0LWNoaWxkKSA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuLWdyb3VwID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bm90KDpsYXN0LWNoaWxkKSA+IC5idG4tZ3JvdXAgPiAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmxhc3QtY2hpbGQpID4gLmRyb3Bkb3duLXRvZ2dsZSxcbi5pbnB1dC1ncm91cC1idG46bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5jdXN0b20tZmlsZS1jb250cm9sOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpOjpiZWZvcmUsXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9XG5cbi5pbnB1dC1ncm91cC1hZGRvbjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgYm9yZGVyLXJpZ2h0OiAwOyB9XG5cbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOm5vdCg6Zmlyc3QtY2hpbGQpLCAuaW5wdXQtZ3JvdXAgLmN1c3RvbS1maWxlLWNvbnRyb2w6bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAtYWRkb246bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bm90KDpmaXJzdC1jaGlsZCkgPiAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4tZ3JvdXAgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4tZ3JvdXAgPiAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5kcm9wZG93bi10b2dnbGUsXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmxhc3QtY2hpbGQpID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6bm90KDpmaXJzdC1jaGlsZCk6OmJlZm9yZSxcbi5pbnB1dC1ncm91cC1idG46bm90KDpsYXN0LWNoaWxkKSA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOyB9XG5cbi5mb3JtLWNvbnRyb2wgKyAuaW5wdXQtZ3JvdXAtYWRkb246bm90KDpmaXJzdC1jaGlsZCksIC5jdXN0b20tZmlsZS1jb250cm9sICsgLmlucHV0LWdyb3VwLWFkZG9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmlucHV0LWdyb3VwLWJ0biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIC5pbnB1dC1ncm91cC1idG4gPiAuYnRuLCAuaW5wdXQtZ3JvdXAtYnRuID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmlucHV0LWdyb3VwLWJ0biA+IC5idG4gKyAuYnRuLCAuaW5wdXQtZ3JvdXAtYnRuID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSArIC5idG4sIC5pbnB1dC1ncm91cC1idG4gPiAuYnRuICsgLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmlucHV0LWdyb3VwLWJ0biA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgKyAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4OyB9XG4gICAgLmlucHV0LWdyb3VwLWJ0biA+IC5idG46Zm9jdXMsIC5pbnB1dC1ncm91cC1idG4gPiAuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0bjphY3RpdmUsIC5pbnB1dC1ncm91cC1idG4gPiAuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmlucHV0LWdyb3VwLWJ0biA+IC5idG46aG92ZXIsIC5pbnB1dC1ncm91cC1idG4gPiAuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIHotaW5kZXg6IDM7IH1cbiAgLmlucHV0LWdyb3VwLWJ0bjpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biwgLmlucHV0LWdyb3VwLWJ0bjpub3QoOmxhc3QtY2hpbGQpID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgLmlucHV0LWdyb3VwLWJ0bjpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bi1ncm91cCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXB4OyB9XG4gIC5pbnB1dC1ncm91cC1idG46bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLCAuaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4tZ3JvdXAge1xuICAgIHotaW5kZXg6IDI7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7IH1cbiAgICAuaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bjpmb2N1cywgLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5pbnB1dC1ncm91cC1idG46bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuOmFjdGl2ZSwgLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bjpob3ZlciwgLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4tZ3JvdXA6Zm9jdXMsXG4gICAgLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4tZ3JvdXA6YWN0aXZlLFxuICAgIC5pbnB1dC1ncm91cC1idG46bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLWdyb3VwOmhvdmVyIHtcbiAgICAgIHotaW5kZXg6IDM7IH1cblxuLmN1c3RvbS1jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmN1c3RvbS1jb250cm9sICsgLmN1c3RvbS1jb250cm9sIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IC0xO1xuICBvcGFjaXR5OiAwOyB9XG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzRkOTtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1pbmRpY2F0b3Ige1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMDc1cmVtICNmZmYsIDAgMCAwIDAuMnJlbSAjMDA3NGQ5OyB9XG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODRjNmZmO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIH4gLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOyB9XG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB+IC5jdXN0b20tY29udHJvbC1kZXNjcmlwdGlvbiB7XG4gICAgY29sb3I6ICM3Njc2NzY7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC4wNjI1cmVtO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDUwJSA1MCU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMC4yNXJlbSAwLjI1cmVtIHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4uY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbmRpY2F0b3Ige1xuICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTsgfVxuXG4uY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGZpbGw9JyUyM2ZmZicgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2IDIuOTc0IDcuMjUgOCAyLjE5M3onLyUzRSUzQy9zdmclM0VcIik7IH1cblxuLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1pbmRpY2F0b3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3NGQ5O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDQnJTNFJTNDcGF0aCBzdHJva2U9JyUyM2ZmZicgZD0nTTAgMmg0Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICBib3gtc2hhZG93OiBub25lOyB9XG5cbi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuXG4uY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4JyUzRSUzQ2NpcmNsZSByPSczJyBmaWxsPSclMjNmZmYnLyUzRSUzQy9zdmclM0VcIik7IH1cblxuLmN1c3RvbS1jb250cm9scy1zdGFja2VkIC5jdXN0b20tY29udHJvbCB7XG4gIGRpc3BsYXk6IGlubGluZTsgfVxuICAuY3VzdG9tLWNvbnRyb2xzLXN0YWNrZWQgLmN1c3RvbS1jb250cm9sOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICBjb250ZW50OiBcIlwiOyB9XG4gIC5jdXN0b20tY29udHJvbHMtc3RhY2tlZCAuY3VzdG9tLWNvbnRyb2wgKyAuY3VzdG9tLWNvbnRyb2wge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5jdXN0b20tc2VsZWN0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAuMzc1cmVtIDEuNzVyZW0gMC4zNzVyZW0gMC43NXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC43NXJlbSBcXDk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBiYWNrZ3JvdW5kOiAjZmZmIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQgNSclM0UlM0NwYXRoIGZpbGw9JyUyMzMzMycgZD0nTTIgMEwwIDJoNHptMCA1TDAgM2g0eicvJTNFJTNDL3N2ZyUzRVwiKSBuby1yZXBlYXQgcmlnaHQgMC43NXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgXFw5O1xuICBiYWNrZ3JvdW5kLXNpemU6IDhweCAxMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMjYpO1xuICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgLmN1c3RvbS1zZWxlY3Q6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzUxYTdlODtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDc1KSwgMCAwIDVweCByZ2JhKDgxLCAxNjcsIDIzMiwgMC41KTsgfVxuICAgIC5jdXN0b20tc2VsZWN0OmZvY3VzOjotbXMtdmFsdWUge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuY3VzdG9tLXNlbGVjdDpkaXNhYmxlZCB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTIpOyB9XG4gIC5jdXN0b20tc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBvcGFjaXR5OiAwOyB9XG5cbi5jdXN0b20tc2VsZWN0LXNtIHtcbiAgcGFkZGluZy10b3A6IDAuMzc1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4zNzVyZW07XG4gIGZvbnQtc2l6ZTogNzUlOyB9XG5cbi5jdXN0b20tZmlsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMi41cmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgbWluLXdpZHRoOiAxNHJlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbiAgb3BhY2l0eTogMDsgfVxuICAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4wNzVyZW0gI2ZmZiwgMCAwIDAgMC4ycmVtICMwMDc0ZDk7IH1cblxuLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDU7XG4gIGhlaWdodDogMi41cmVtO1xuICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgY29sb3I6ICM1NTU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwIHNvbGlkICNkZGQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgLmN1c3RvbS1maWxlLWNvbnRyb2w6bGFuZyhlbik6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIkNob29zZSBmaWxlLi4uXCI7IH1cbiAgLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogNjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIGNvbG9yOiAjNTU1O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gICAgYm9yZGVyOiAwIHNvbGlkICNkZGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuY3VzdG9tLWZpbGUtY29udHJvbDpsYW5nKGVuKTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIkJyb3dzZVwiOyB9XG5cbi5uYXYge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLm5hdi1saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5uYXYtbGluazpmb2N1cywgLm5hdi1saW5rOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLm5hdi1saW5rLmRpc2FibGVkIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuICAgIC5uYXYtbGluay5kaXNhYmxlZCwgLm5hdi1saW5rLmRpc2FibGVkOmZvY3VzLCAubmF2LWxpbmsuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLm5hdi1pbmxpbmUgLm5hdi1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5uYXYtaW5saW5lIC5uYXYtaXRlbSArIC5uYXYtaXRlbSxcbi5uYXYtaW5saW5lIC5uYXYtbGluayArIC5uYXYtbGluayB7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG5cbi5uYXYtdGFicyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkOyB9XG4gIC5uYXYtdGFiczo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLm5hdi10YWJzIC5uYXYtaXRlbSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogLTFweDsgfVxuICAgIC5uYXYtdGFicyAubmF2LWl0ZW0gKyAubmF2LWl0ZW0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuMnJlbTsgfVxuICAubmF2LXRhYnMgLm5hdi1saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjVlbSAxZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMTI1cmVtO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMTI1cmVtOyB9XG4gICAgLm5hdi10YWJzIC5uYXYtbGluazpmb2N1cywgLm5hdi10YWJzIC5uYXYtbGluazpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xMikgcmdiYSgwLCAwLCAwLCAwLjEyKSAjZGRkOyB9XG4gICAgLm5hdi10YWJzIC5uYXYtbGluay5kaXNhYmxlZCwgLm5hdi10YWJzIC5uYXYtbGluay5kaXNhYmxlZDpmb2N1cywgLm5hdi10YWJzIC5uYXYtbGluay5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAubmF2LXRhYnMgLm5hdi1saW5rLmFjdGl2ZSwgLm5hdi10YWJzIC5uYXYtbGluay5hY3RpdmU6Zm9jdXMsIC5uYXYtdGFicyAubmF2LWxpbmsuYWN0aXZlOmhvdmVyLFxuICAubmF2LXRhYnMgLm5hdi1pdGVtLm9wZW4gLm5hdi1saW5rLFxuICAubmF2LXRhYnMgLm5hdi1pdGVtLm9wZW4gLm5hdi1saW5rOmZvY3VzLFxuICAubmF2LXRhYnMgLm5hdi1pdGVtLm9wZW4gLm5hdi1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6ICNkZGQgI2RkZCB0cmFuc3BhcmVudDsgfVxuICAubmF2LXRhYnMgLmRyb3Bkb3duLW1lbnUge1xuICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsgfVxuXG4ubmF2LXBpbGxzOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDsgfVxuXG4ubmF2LXBpbGxzIC5uYXYtaXRlbSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC5uYXYtcGlsbHMgLm5hdi1pdGVtICsgLm5hdi1pdGVtIHtcbiAgICBtYXJnaW4tbGVmdDogMC4ycmVtOyB9XG5cbi5uYXYtcGlsbHMgLm5hdi1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuNWVtIDFlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4xMjVyZW07IH1cblxuLm5hdi1waWxscyAubmF2LWxpbmsuYWN0aXZlLCAubmF2LXBpbGxzIC5uYXYtbGluay5hY3RpdmU6Zm9jdXMsIC5uYXYtcGlsbHMgLm5hdi1saW5rLmFjdGl2ZTpob3Zlcixcbi5uYXYtcGlsbHMgLm5hdi1pdGVtLm9wZW4gLm5hdi1saW5rLFxuLm5hdi1waWxscyAubmF2LWl0ZW0ub3BlbiAubmF2LWxpbms6Zm9jdXMsXG4ubmF2LXBpbGxzIC5uYXYtaXRlbS5vcGVuIC5uYXYtbGluazpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ODg7IH1cblxuLm5hdi1zdGFja2VkIC5uYXYtaXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTsgfVxuICAubmF2LXN0YWNrZWQgLm5hdi1pdGVtICsgLm5hdi1pdGVtIHtcbiAgICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLnRhYi1jb250ZW50ID4gLnRhYi1wYW5lIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4udGFiLWNvbnRlbnQgPiAuYWN0aXZlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLm5hdmJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07IH1cbiAgLm5hdmJhcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDU0NHB4KSB7XG4gICAgLm5hdmJhciB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTsgfSB9XG5cbi5uYXZiYXItZnVsbCB7XG4gIHotaW5kZXg6IDEwMDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDU0NHB4KSB7XG4gICAgLm5hdmJhci1mdWxsIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0gfVxuXG4ubmF2YmFyLWZpeGVkLXRvcCxcbi5uYXZiYXItZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAzMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTQ0cHgpIHtcbiAgICAubmF2YmFyLWZpeGVkLXRvcCxcbiAgICAubmF2YmFyLWZpeGVkLWJvdHRvbSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9IH1cblxuLm5hdmJhci1maXhlZC10b3Age1xuICB0b3A6IDA7IH1cblxuLm5hdmJhci1maXhlZC1ib3R0b20ge1xuICBib3R0b206IDA7IH1cblxuLm5hdmJhci1zdGlja3ktdG9wIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMDMwO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTQ0cHgpIHtcbiAgICAubmF2YmFyLXN0aWNreS10b3Age1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG5cbi5uYXZiYXItYnJhbmQge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy10b3A6IDAuMjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAubmF2YmFyLWJyYW5kOmZvY3VzLCAubmF2YmFyLWJyYW5kOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLm5hdmJhci1icmFuZCA+IGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLm5hdmJhci1kaXZpZGVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxcHg7XG4gIHBhZGRpbmctdG9wOiAuNDI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogLjQyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLm5hdmJhci1kaXZpZGVyOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwwMGEwXCI7IH1cblxuLm5hdmJhci10b2dnbGVyIHtcbiAgcGFkZGluZzogLjVyZW0gLjc1cmVtO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMC4xMjVyZW07IH1cbiAgLm5hdmJhci10b2dnbGVyOmZvY3VzLCAubmF2YmFyLXRvZ2dsZXI6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4ubmF2YmFyLW5hdiAubmF2LWl0ZW0ge1xuICBmbG9hdDogbGVmdDsgfVxuXG4ubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IC40MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAuNDI1cmVtOyB9XG4gIC5uYXZiYXItbmF2IC5uYXYtbGluayArIC5uYXYtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cblxuLm5hdmJhci1uYXYgLm5hdi1pdGVtICsgLm5hdi1pdGVtIHtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cblxuLm5hdmJhci1saWdodCAubmF2YmFyLWJyYW5kIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTsgfVxuICAubmF2YmFyLWxpZ2h0IC5uYXZiYXItYnJhbmQ6Zm9jdXMsIC5uYXZiYXItbGlnaHQgLm5hdmJhci1icmFuZDpob3ZlciB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTsgfVxuXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cbiAgLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbms6Zm9jdXMsIC5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpOyB9XG5cbi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm9wZW4gPiAubmF2LWxpbmssIC5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm9wZW4gPiAubmF2LWxpbms6Zm9jdXMsIC5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm9wZW4gPiAubmF2LWxpbms6aG92ZXIsXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5hY3RpdmUgPiAubmF2LWxpbmssXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5hY3RpdmUgPiAubmF2LWxpbms6Zm9jdXMsXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5hY3RpdmUgPiAubmF2LWxpbms6aG92ZXIsXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluay5vcGVuLFxuLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmsub3Blbjpmb2N1cyxcbi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rLm9wZW46aG92ZXIsXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluay5hY3RpdmUsXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluay5hY3RpdmU6Zm9jdXMsXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluay5hY3RpdmU6aG92ZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpOyB9XG5cbi5uYXZiYXItbGlnaHQgLm5hdmJhci1kaXZpZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA3NSk7IH1cblxuLm5hdmJhci1kYXJrIC5uYXZiYXItYnJhbmQge1xuICBjb2xvcjogd2hpdGU7IH1cbiAgLm5hdmJhci1kYXJrIC5uYXZiYXItYnJhbmQ6Zm9jdXMsIC5uYXZiYXItZGFyayAubmF2YmFyLWJyYW5kOmhvdmVyIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cblxuLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluazpmb2N1cywgLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluazpob3ZlciB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7IH1cblxuLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5vcGVuID4gLm5hdi1saW5rLCAubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm9wZW4gPiAubmF2LWxpbms6Zm9jdXMsIC5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAub3BlbiA+IC5uYXYtbGluazpob3Zlcixcbi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAuYWN0aXZlID4gLm5hdi1saW5rLFxuLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5hY3RpdmUgPiAubmF2LWxpbms6Zm9jdXMsXG4ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLmFjdGl2ZSA+IC5uYXYtbGluazpob3Zlcixcbi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsub3Blbixcbi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsub3Blbjpmb2N1cyxcbi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsub3Blbjpob3Zlcixcbi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsuYWN0aXZlLFxuLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluay5hY3RpdmU6Zm9jdXMsXG4ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rLmFjdGl2ZTpob3ZlciB7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuXG4ubmF2YmFyLWRhcmsgLm5hdmJhci1kaXZpZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA3NSk7IH1cblxuLm5hdmJhci10b2dnbGVhYmxlLXhzOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTQzcHgpIHtcbiAgLm5hdmJhci10b2dnbGVhYmxlLXhzIC5uYXZiYXItbmF2IC5uYXYtaXRlbSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTQ0cHgpIHtcbiAgLm5hdmJhci10b2dnbGVhYmxlLXhzIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLm5hdmJhci10b2dnbGVhYmxlLXNtOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLm5hdmJhci10b2dnbGVhYmxlLXNtIC5uYXZiYXItbmF2IC5uYXYtaXRlbSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm5hdmJhci10b2dnbGVhYmxlLXNtIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLm5hdmJhci10b2dnbGVhYmxlLW1kOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLm5hdmJhci10b2dnbGVhYmxlLW1kIC5uYXZiYXItbmF2IC5uYXYtaXRlbSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm5hdmJhci10b2dnbGVhYmxlLW1kIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLmNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuXG4uY2FyZC1ibG9jayB7XG4gIHBhZGRpbmc6IDEuMjVyZW07IH1cbiAgLmNhcmQtYmxvY2s6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi5jYXJkLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTsgfVxuXG4uY2FyZC1zdWJ0aXRsZSB7XG4gIG1hcmdpbi10b3A6IC0wLjM3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC10ZXh0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLWxpbms6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmNhcmQtbGluayArIC5jYXJkLWxpbmsge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG4uY2FyZCA+IC5saXN0LWdyb3VwOmZpcnN0LWNoaWxkIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4xMjVyZW07XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMTI1cmVtOyB9XG5cbi5jYXJkID4gLmxpc3QtZ3JvdXA6bGFzdC1jaGlsZCAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4xMjVyZW07XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMTI1cmVtOyB9XG5cbi5jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMS4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cbiAgLmNhcmQtaGVhZGVyOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuY2FyZC1oZWFkZXI6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtIDAuMTI1cmVtIDAgMDsgfVxuXG4uY2FyZC1mb290ZXIge1xuICBwYWRkaW5nOiAwLjc1cmVtIDEuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTIpOyB9XG4gIC5jYXJkLWZvb3Rlcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmNhcmQtZm9vdGVyOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwLjEyNXJlbSAwLjEyNXJlbTsgfVxuXG4uY2FyZC1oZWFkZXItdGFicyB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC43NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMDsgfVxuXG4uY2FyZC1oZWFkZXItcGlsbHMge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuXG4uY2FyZC1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTY4ODtcbiAgYm9yZGVyLWNvbG9yOiAjMDA5Njg4OyB9XG4gIC5jYXJkLXByaW1hcnkgLmNhcmQtaGVhZGVyLFxuICAuY2FyZC1wcmltYXJ5IC5jYXJkLWZvb3RlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLmNhcmQtc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0Y2FmNTA7XG4gIGJvcmRlci1jb2xvcjogIzRjYWY1MDsgfVxuICAuY2FyZC1zdWNjZXNzIC5jYXJkLWhlYWRlcixcbiAgLmNhcmQtc3VjY2VzcyAuY2FyZC1mb290ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5jYXJkLWluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDNhOWY0O1xuICBib3JkZXItY29sb3I6ICMwM2E5ZjQ7IH1cbiAgLmNhcmQtaW5mbyAuY2FyZC1oZWFkZXIsXG4gIC5jYXJkLWluZm8gLmNhcmQtZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uY2FyZC13YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTcyMjtcbiAgYm9yZGVyLWNvbG9yOiAjZmY1NzIyOyB9XG4gIC5jYXJkLXdhcm5pbmcgLmNhcmQtaGVhZGVyLFxuICAuY2FyZC13YXJuaW5nIC5jYXJkLWZvb3RlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLmNhcmQtZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjtcbiAgYm9yZGVyLWNvbG9yOiAjZjQ0MzM2OyB9XG4gIC5jYXJkLWRhbmdlciAuY2FyZC1oZWFkZXIsXG4gIC5jYXJkLWRhbmdlciAuY2FyZC1mb290ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5jYXJkLW91dGxpbmUtcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cblxuLmNhcmQtb3V0bGluZS1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG5cbi5jYXJkLW91dGxpbmUtaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6ICMwM2E5ZjQ7IH1cblxuLmNhcmQtb3V0bGluZS1zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogIzRjYWY1MDsgfVxuXG4uY2FyZC1vdXRsaW5lLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiAjZmY1NzIyOyB9XG5cbi5jYXJkLW91dGxpbmUtZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogI2Y0NDMzNjsgfVxuXG4uY2FyZC1pbnZlcnNlIC5jYXJkLWhlYWRlcixcbi5jYXJkLWludmVyc2UgLmNhcmQtZm9vdGVyIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7IH1cblxuLmNhcmQtaW52ZXJzZSAuY2FyZC1oZWFkZXIsXG4uY2FyZC1pbnZlcnNlIC5jYXJkLWZvb3Rlcixcbi5jYXJkLWludmVyc2UgLmNhcmQtdGl0bGUsXG4uY2FyZC1pbnZlcnNlIC5jYXJkLWJsb2NrcXVvdGUge1xuICBjb2xvcjogI2ZmZjsgfVxuXG4uY2FyZC1pbnZlcnNlIC5jYXJkLWxpbmssXG4uY2FyZC1pbnZlcnNlIC5jYXJkLXRleHQsXG4uY2FyZC1pbnZlcnNlIC5jYXJkLXN1YnRpdGxlLFxuLmNhcmQtaW52ZXJzZSAuY2FyZC1ibG9ja3F1b3RlIC5ibG9ja3F1b3RlLWZvb3RlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjUpOyB9XG5cbi5jYXJkLWludmVyc2UgLmNhcmQtbGluazpmb2N1cywgLmNhcmQtaW52ZXJzZSAuY2FyZC1saW5rOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLmNhcmQtYmxvY2txdW90ZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5jYXJkLWltZyB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07IH1cblxuLmNhcmQtaW1nLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogMS4yNXJlbTsgfVxuXG4uY2FyZC1pbWctdG9wIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMTI1cmVtO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjEyNXJlbTsgfVxuXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMTI1cmVtO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjEyNXJlbTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTQ0cHgpIHtcbiAgLmNhcmQtZGVjayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICAgIC5jYXJkLWRlY2sgLmNhcmQge1xuICAgICAgZmxleDogMSAwIDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NDRweCkge1xuICAuY2FyZC1ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gICAgLmNhcmQtZ3JvdXAgLmNhcmQge1xuICAgICAgZmxleDogMSAwIDA7IH1cbiAgICAgIC5jYXJkLWdyb3VwIC5jYXJkICsgLmNhcmQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgICAgIC5jYXJkLWdyb3VwIC5jYXJkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9XG4gICAgICAgIC5jYXJkLWdyb3VwIC5jYXJkOmZpcnN0LWNoaWxkIC5jYXJkLWltZy10b3Age1xuICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9XG4gICAgICAgIC5jYXJkLWdyb3VwIC5jYXJkOmZpcnN0LWNoaWxkIC5jYXJkLWltZy1ib3R0b20ge1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOyB9XG4gICAgICAuY2FyZC1ncm91cCAuY2FyZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsgfVxuICAgICAgICAuY2FyZC1ncm91cCAuY2FyZDpsYXN0LWNoaWxkIC5jYXJkLWltZy10b3Age1xuICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7IH1cbiAgICAgICAgLmNhcmQtZ3JvdXAgLmNhcmQ6bGFzdC1jaGlsZCAuY2FyZC1pbWctYm90dG9tIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9XG4gICAgICAuY2FyZC1ncm91cCAuY2FyZDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgICAgICAuY2FyZC1ncm91cCAuY2FyZDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIC5jYXJkLWltZy10b3AsXG4gICAgICAgIC5jYXJkLWdyb3VwIC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgLmNhcmQtaW1nLWJvdHRvbSB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NDRweCkge1xuICAuY2FyZC1jb2x1bW5zIHtcbiAgICBjb2x1bW4tY291bnQ6IDM7XG4gICAgY29sdW1uLWdhcDogMS4yNXJlbTsgfVxuICAgIC5jYXJkLWNvbHVtbnMgLmNhcmQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uYnJlYWRjcnVtYiB7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTsgfVxuICAuYnJlYWRjcnVtYjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLmJyZWFkY3J1bWItaXRlbSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC5icmVhZGNydW1iLWl0ZW0gKyAuYnJlYWRjcnVtYi1pdGVtOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7XG4gICAgY29udGVudDogXCIvXCI7IH1cbiAgLmJyZWFkY3J1bWItaXRlbSArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmJyZWFkY3J1bWItaXRlbSArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5icmVhZGNydW1iLWl0ZW0uYWN0aXZlIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuXG4ucGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4xMjVyZW07IH1cblxuLnBhZ2UtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZTsgfVxuICAucGFnZS1pdGVtOmZpcnN0LWNoaWxkIC5wYWdlLWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMTI1cmVtO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMTI1cmVtOyB9XG4gIC5wYWdlLWl0ZW06bGFzdC1jaGlsZCAucGFnZS1saW5rIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4xMjVyZW07XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMTI1cmVtOyB9XG4gIC5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbmssIC5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbms6Zm9jdXMsIC5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbms6aG92ZXIge1xuICAgIHotaW5kZXg6IDI7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ODg7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA5Njg4OyB9XG4gIC5wYWdlLWl0ZW0uZGlzYWJsZWQgLnBhZ2UtbGluaywgLnBhZ2UtaXRlbS5kaXNhYmxlZCAucGFnZS1saW5rOmZvY3VzLCAucGFnZS1pdGVtLmRpc2FibGVkIC5wYWdlLWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGRkOyB9XG5cbi5wYWdlLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIGNvbG9yOiAjMDA5Njg4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDAgc29saWQgI2RkZDsgfVxuICAucGFnZS1saW5rOmZvY3VzLCAucGFnZS1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogIzAwNGE0MztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAgIGJvcmRlci1jb2xvcjogI2RkZDsgfVxuXG4ucGFnaW5hdGlvbi1sZyAucGFnZS1saW5rIHtcbiAgcGFkZGluZzogMC43NXJlbSAwO1xuICBmb250LXNpemU6IDEuMjVyZW07IH1cblxuLnBhZ2luYXRpb24tbGcgLnBhZ2UtaXRlbTpmaXJzdC1jaGlsZCAucGFnZS1saW5rIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4zcmVtO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjNyZW07IH1cblxuLnBhZ2luYXRpb24tbGcgLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmsge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4zcmVtO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4zcmVtOyB9XG5cbi5wYWdpbmF0aW9uLXNtIC5wYWdlLWxpbmsge1xuICBwYWRkaW5nOiAwLjI3NXJlbSAwO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5wYWdpbmF0aW9uLXNtIC5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGluayB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMDYyNXJlbTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4wNjI1cmVtOyB9XG5cbi5wYWdpbmF0aW9uLXNtIC5wYWdlLWl0ZW06bGFzdC1jaGlsZCAucGFnZS1saW5rIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMDYyNXJlbTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMDYyNXJlbTsgfVxuXG4udGFnIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjI1ZW0gMC40ZW07XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgYm9yZGVyLXJhZGl1czogMC4xMjVyZW07IH1cbiAgLnRhZzplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uYnRuIC50YWcsIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgLnRhZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMXB4OyB9XG5cbmEudGFnOmZvY3VzLCBhLnRhZzpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4udGFnLXBpbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjZlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjZlbTtcbiAgYm9yZGVyLXJhZGl1czogMTByZW07IH1cblxuLnRhZy1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuICAudGFnLWRlZmF1bHRbaHJlZl06Zm9jdXMsIC50YWctZGVmYXVsdFtocmVmXTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuXG4udGFnLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5Njg4OyB9XG4gIC50YWctcHJpbWFyeVtocmVmXTpmb2N1cywgLnRhZy1wcmltYXJ5W2hyZWZdOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2MzVhOyB9XG5cbi50YWctc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0Y2FmNTA7IH1cbiAgLnRhZy1zdWNjZXNzW2hyZWZdOmZvY3VzLCAudGFnLXN1Y2Nlc3NbaHJlZl06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzZDhiNDA7IH1cblxuLnRhZy1pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAzYTlmNDsgfVxuICAudGFnLWluZm9baHJlZl06Zm9jdXMsIC50YWctaW5mb1tocmVmXTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAyODZjMjsgfVxuXG4udGFnLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1NzIyOyB9XG4gIC50YWctd2FybmluZ1tocmVmXTpmb2N1cywgLnRhZy13YXJuaW5nW2hyZWZdOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWUzOTAwOyB9XG5cbi50YWctZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjsgfVxuICAudGFnLWRhbmdlcltocmVmXTpmb2N1cywgLnRhZy1kYW5nZXJbaHJlZl06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYTFjMGQ7IH1cblxuLmp1bWJvdHJvbiB7XG4gIHBhZGRpbmc6IDJyZW0gMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgYm9yZGVyLXJhZGl1czogMC4zcmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1NDRweCkge1xuICAgIC5qdW1ib3Ryb24ge1xuICAgICAgcGFkZGluZzogNHJlbSAycmVtOyB9IH1cblxuLmp1bWJvdHJvbi1ociB7XG4gIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cblxuLmp1bWJvdHJvbi1mbHVpZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4uYWxlcnQge1xuICBwYWRkaW5nOiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTsgfVxuXG4uYWxlcnQtaGVhZGluZyB7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG5cbi5hbGVydC1saW5rIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgcGFkZGluZy1yaWdodDogMzVweDsgfVxuICAuYWxlcnQtZGlzbWlzc2libGUgLmNsb3NlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMnB4O1xuICAgIHJpZ2h0OiAtMjFweDtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4uYWxlcnQtc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0Y2FmNTA7XG4gIGJvcmRlci1jb2xvcjogIzQ0OWQ0ODtcbiAgY29sb3I6IHdoaXRlOyB9XG4gIC5hbGVydC1zdWNjZXNzIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjM2Q4YjQwOyB9XG4gIC5hbGVydC1zdWNjZXNzIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogI2U2ZTZlNjsgfVxuXG4uYWxlcnQtaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwM2E5ZjQ7XG4gIGJvcmRlci1jb2xvcjogIzAzOTFkMTtcbiAgY29sb3I6IHdoaXRlOyB9XG4gIC5hbGVydC1pbmZvIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMDI3ZmI4OyB9XG4gIC5hbGVydC1pbmZvIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogI2U2ZTZlNjsgfVxuXG4uYWxlcnQtd2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjU3MjI7XG4gIGJvcmRlci1jb2xvcjogI2ZmNDQwOTtcbiAgY29sb3I6IHdoaXRlOyB9XG4gIC5hbGVydC13YXJuaW5nIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZWUzOTAwOyB9XG4gIC5hbGVydC13YXJuaW5nIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogI2U2ZTZlNjsgfVxuXG4uYWxlcnQtZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjtcbiAgYm9yZGVyLWNvbG9yOiAjZjMyYzFlO1xuICBjb2xvcjogd2hpdGU7IH1cbiAgLmFsZXJ0LWRhbmdlciBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2VhMWMwZDsgfVxuICAuYWxlcnQtZGFuZ2VyIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogI2U2ZTZlNjsgfVxuXG5Aa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgZnJvbSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMC41cmVtIDA7IH1cbiAgdG8ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfSB9XG5cbi5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4ucHJvZ3Jlc3NbdmFsdWVdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgYm9yZGVyOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTsgfVxuXG4ucHJvZ3Jlc3NbdmFsdWVdOjotbXMtZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDc0ZDk7XG4gIGJvcmRlcjogMDsgfVxuXG4ucHJvZ3Jlc3NbdmFsdWVdOjotbW96LXByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDc0ZDk7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMTI1cmVtO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjEyNXJlbTsgfVxuXG4ucHJvZ3Jlc3NbdmFsdWVdOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzRkOTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4xMjVyZW07XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMTI1cmVtOyB9XG5cbi5wcm9ncmVzc1t2YWx1ZT1cIjEwMFwiXTo6LW1vei1wcm9ncmVzcy1iYXIge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4xMjVyZW07XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjEyNXJlbTsgfVxuXG4ucHJvZ3Jlc3NbdmFsdWU9XCIxMDBcIl06Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4xMjVyZW07XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjEyNXJlbTsgfVxuXG4ucHJvZ3Jlc3NbdmFsdWVdOjotd2Via2l0LXByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAuMXJlbSAwLjFyZW0gcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbmJhc2U6Oi1tb3otcHJvZ3Jlc3MtYmFyLFxuLnByb2dyZXNzW3ZhbHVlXSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAuMXJlbSAwLjFyZW0gcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgLnByb2dyZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMC4xcmVtIDAuMXJlbSByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgLnByb2dyZXNzLWJhciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMC41cmVtO1xuICAgIHRleHQtaW5kZW50OiAtOTk5cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDc0ZDk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4xMjVyZW07XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4xMjVyZW07IH1cbiAgLnByb2dyZXNzW3dpZHRoPVwiMTAwJVwiXSB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMTI1cmVtO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjEyNXJlbTsgfSB9XG5cbi5wcm9ncmVzcy1zdHJpcGVkW3ZhbHVlXTo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDAuNXJlbSAwLjVyZW07IH1cblxuLnByb2dyZXNzLXN0cmlwZWRbdmFsdWVdOjotbW96LXByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDAuNXJlbSAwLjVyZW07IH1cblxuLnByb2dyZXNzLXN0cmlwZWRbdmFsdWVdOjotbXMtZmlsbCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDAuNXJlbSAwLjVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAucHJvZ3Jlc3MtYmFyLXN0cmlwZWQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMC41cmVtIDAuNXJlbTsgfSB9XG5cbi5wcm9ncmVzcy1hbmltYXRlZFt2YWx1ZV06Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICBhbmltYXRpb246IHByb2dyZXNzLWJhci1zdHJpcGVzIDJzIGxpbmVhciBpbmZpbml0ZTsgfVxuXG4ucHJvZ3Jlc3MtYW5pbWF0ZWRbdmFsdWVdOjotbW96LXByb2dyZXNzLWJhciB7XG4gIGFuaW1hdGlvbjogcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMnMgbGluZWFyIGluZmluaXRlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgLnByb2dyZXNzLWFuaW1hdGVkIC5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gICAgYW5pbWF0aW9uOiBwcm9ncmVzcy1iYXItc3RyaXBlcyAycyBsaW5lYXIgaW5maW5pdGU7IH0gfVxuXG4ucHJvZ3Jlc3Mtc3VjY2Vzc1t2YWx1ZV06Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGNhZjUwOyB9XG5cbi5wcm9ncmVzcy1zdWNjZXNzW3ZhbHVlXTo6LW1vei1wcm9ncmVzcy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGNhZjUwOyB9XG5cbi5wcm9ncmVzcy1zdWNjZXNzW3ZhbHVlXTo6LW1zLWZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGNhZjUwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgLnByb2dyZXNzLXN1Y2Nlc3MgLnByb2dyZXNzLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRjYWY1MDsgfSB9XG5cbi5wcm9ncmVzcy1pbmZvW3ZhbHVlXTo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwM2E5ZjQ7IH1cblxuLnByb2dyZXNzLWluZm9bdmFsdWVdOjotbW96LXByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwM2E5ZjQ7IH1cblxuLnByb2dyZXNzLWluZm9bdmFsdWVdOjotbXMtZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwM2E5ZjQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAucHJvZ3Jlc3MtaW5mbyAucHJvZ3Jlc3MtYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDNhOWY0OyB9IH1cblxuLnByb2dyZXNzLXdhcm5pbmdbdmFsdWVdOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTcyMjsgfVxuXG4ucHJvZ3Jlc3Mtd2FybmluZ1t2YWx1ZV06Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTcyMjsgfVxuXG4ucHJvZ3Jlc3Mtd2FybmluZ1t2YWx1ZV06Oi1tcy1maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTcyMjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gIC5wcm9ncmVzcy13YXJuaW5nIC5wcm9ncmVzcy1iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjU3MjI7IH0gfVxuXG4ucHJvZ3Jlc3MtZGFuZ2VyW3ZhbHVlXTo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNDQzMzY7IH1cblxuLnByb2dyZXNzLWRhbmdlclt2YWx1ZV06Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjsgfVxuXG4ucHJvZ3Jlc3MtZGFuZ2VyW3ZhbHVlXTo6LW1zLWZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQ0MzM2OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgLnByb2dyZXNzLWRhbmdlciAucHJvZ3Jlc3MtYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQ0MzM2OyB9IH1cblxuLm1lZGlhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5tZWRpYS1ib2R5IHtcbiAgZmxleDogMTsgfVxuXG4ubWVkaWEtbWlkZGxlIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG5cbi5tZWRpYS1ib3R0b20ge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm1lZGlhLW9iamVjdC5pbWctdGh1bWJuYWlsIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cblxuLm1lZGlhLXJpZ2h0IHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG5cbi5tZWRpYS1sZWZ0IHtcbiAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuXG4ubWVkaWEtaGVhZGluZyB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDVweDsgfVxuXG4ubWVkaWEtbGlzdCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4ubGlzdC1ncm91cCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICBib3JkZXI6IDAgc29saWQgI2RkZDsgfVxuICAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOyB9XG4gIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9XG4gIC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQsIC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQ6Zm9jdXMsIC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuICAgIC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLCAubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkOmZvY3VzIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZywgLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZDpob3ZlciAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICAgICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICAubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCwgLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZDpmb2N1cyAubGlzdC1ncm91cC1pdGVtLXRleHQsIC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQ6aG92ZXIgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG4gIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlLCAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpmb2N1cywgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6aG92ZXIge1xuICAgIHotaW5kZXg6IDI7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ODg7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA5Njg4OyB9XG4gICAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLFxuICAgIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IHNtYWxsLFxuICAgIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IC5zbWFsbCwgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6Zm9jdXMgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLFxuICAgIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmZvY3VzIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IHNtYWxsLFxuICAgIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmZvY3VzIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IC5zbWFsbCwgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6aG92ZXIgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLFxuICAgIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmhvdmVyIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IHNtYWxsLFxuICAgIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmhvdmVyIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IC5zbWFsbCB7XG4gICAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAgIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCwgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6Zm9jdXMgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0LCAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpob3ZlciAubGlzdC1ncm91cC1pdGVtLXRleHQge1xuICAgICAgY29sb3I6ICM2M2ZmZjA7IH1cblxuLmxpc3QtZ3JvdXAtZmx1c2ggLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICM1NTU7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IH1cbiAgLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24gLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICBjb2xvcjogIzMzMzsgfVxuICAubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cywgLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIge1xuICAgIGNvbG9yOiAjNTU1O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1OyB9XG5cbi5saXN0LWdyb3VwLWl0ZW0tc3VjY2VzcyB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRjYWY1MDsgfVxuXG5hLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzIHtcbiAgY29sb3I6IHdoaXRlOyB9XG4gIGEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICBhLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzOmZvY3VzLCBhLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzOmhvdmVyLFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3M6Zm9jdXMsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzczpob3ZlciB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0NDlkNDg7IH1cbiAgYS5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5hY3RpdmUsIGEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MuYWN0aXZlOmZvY3VzLCBhLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmFjdGl2ZTpob3ZlcixcbiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmFjdGl2ZSxcbiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmFjdGl2ZTpmb2N1cyxcbiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmFjdGl2ZTpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLWNvbG9yOiB3aGl0ZTsgfVxuXG4ubGlzdC1ncm91cC1pdGVtLWluZm8ge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwM2E5ZjQ7IH1cblxuYS5saXN0LWdyb3VwLWl0ZW0taW5mbyxcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mbyB7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuICBhLmxpc3QtZ3JvdXAtaXRlbS1pbmZvIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyxcbiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1pbmZvIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgYS5saXN0LWdyb3VwLWl0ZW0taW5mbzpmb2N1cywgYS5saXN0LWdyb3VwLWl0ZW0taW5mbzpob3ZlcixcbiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1pbmZvOmZvY3VzLFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLWluZm86aG92ZXIge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDM5OGRiOyB9XG4gIGEubGlzdC1ncm91cC1pdGVtLWluZm8uYWN0aXZlLCBhLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmFjdGl2ZTpmb2N1cywgYS5saXN0LWdyb3VwLWl0ZW0taW5mby5hY3RpdmU6aG92ZXIsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mby5hY3RpdmUsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mby5hY3RpdmU6Zm9jdXMsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mby5hY3RpdmU6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlci1jb2xvcjogd2hpdGU7IH1cblxuLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nIHtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1NzIyOyB9XG5cbmEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcsXG5idXR0b24ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcge1xuICBjb2xvcjogd2hpdGU7IH1cbiAgYS5saXN0LWdyb3VwLWl0ZW0td2FybmluZyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0td2FybmluZyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIGEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmc6Zm9jdXMsIGEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmc6aG92ZXIsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0td2FybmluZzpmb2N1cyxcbiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nOmhvdmVyIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNDQwOTsgfVxuICBhLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmFjdGl2ZSwgYS5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5hY3RpdmU6Zm9jdXMsIGEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcuYWN0aXZlOmhvdmVyLFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcuYWN0aXZlLFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcuYWN0aXZlOmZvY3VzLFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcuYWN0aXZlOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXItY29sb3I6IHdoaXRlOyB9XG5cbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyIHtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQ0MzM2OyB9XG5cbmEubGlzdC1ncm91cC1pdGVtLWRhbmdlcixcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyIHtcbiAgY29sb3I6IHdoaXRlOyB9XG4gIGEubGlzdC1ncm91cC1pdGVtLWRhbmdlciAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgYS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyOmZvY3VzLCBhLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXI6aG92ZXIsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyOmZvY3VzLFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLWRhbmdlcjpob3ZlciB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMzJjMWU7IH1cbiAgYS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmFjdGl2ZSwgYS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmFjdGl2ZTpmb2N1cywgYS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmFjdGl2ZTpob3ZlcixcbiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIuYWN0aXZlLFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLWRhbmdlci5hY3RpdmU6Zm9jdXMsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmFjdGl2ZTpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLWNvbG9yOiB3aGl0ZTsgfVxuXG4ubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cblxuLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuXG4uZW1iZWQtcmVzcG9uc2l2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZW1iZWQtcmVzcG9uc2l2ZSAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxuICAuZW1iZWQtcmVzcG9uc2l2ZSBpZnJhbWUsXG4gIC5lbWJlZC1yZXNwb25zaXZlIGVtYmVkLFxuICAuZW1iZWQtcmVzcG9uc2l2ZSBvYmplY3QsXG4gIC5lbWJlZC1yZXNwb25zaXZlIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IDA7IH1cblxuLmVtYmVkLXJlc3BvbnNpdmUtMjFieTkge1xuICBwYWRkaW5nLWJvdHRvbTogNDIuODU3MTQlOyB9XG5cbi5lbWJlZC1yZXNwb25zaXZlLTE2Ynk5IHtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuXG4uZW1iZWQtcmVzcG9uc2l2ZS00YnkzIHtcbiAgcGFkZGluZy1ib3R0b206IDc1JTsgfVxuXG4uZW1iZWQtcmVzcG9uc2l2ZS0xYnkxIHtcbiAgcGFkZGluZy1ib3R0b206IDEwMCU7IH1cblxuLmNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgI2ZmZjtcbiAgb3BhY2l0eTogLjI7IH1cbiAgLmNsb3NlOmZvY3VzLCAuY2xvc2U6aG92ZXIge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3BhY2l0eTogLjU7IH1cblxuYnV0dG9uLmNsb3NlIHtcbiAgcGFkZGluZzogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLm1vZGFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDUwO1xuICBkaXNwbGF5OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvdXRsaW5lOiAwO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cbiAgLm1vZGFsLmZhZGUgLm1vZGFsLWRpYWxvZyB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBlYXNlLW91dDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMjUlKTsgfVxuICAubW9kYWwuaW4gLm1vZGFsLWRpYWxvZyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLm1vZGFsLW9wZW4gLm1vZGFsIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG5cbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDEwcHg7IH1cblxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgYm9yZGVyLXJhZGl1czogMC4zcmVtO1xuICBib3gtc2hhZG93OiAwIDlweCA0NnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDExcHggMTVweCAtN3B4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMjRweCAzOHB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIG91dGxpbmU6IDA7IH1cblxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwNDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cbiAgLm1vZGFsLWJhY2tkcm9wLmZhZGUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLm1vZGFsLWJhY2tkcm9wLmluIHtcbiAgICBvcGFjaXR5OiAwLjI2OyB9XG5cbi5tb2RhbC1oZWFkZXIge1xuICBwYWRkaW5nOiAxNXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTsgfVxuICAubW9kYWwtaGVhZGVyOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4ubW9kYWwtaGVhZGVyIC5jbG9zZSB7XG4gIG1hcmdpbi10b3A6IC0ycHg7IH1cblxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi5tb2RhbC1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxNXB4OyB9XG5cbi5tb2RhbC1mb290ZXIge1xuICBwYWRkaW5nOiAxNXB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7IH1cbiAgLm1vZGFsLWZvb3Rlcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLm1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5cHg7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG92ZXJmbG93OiBzY3JvbGw7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU0NHB4KSB7XG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgbWFyZ2luOiAzMHB4IGF1dG87IH1cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG4gIC5tb2RhbC1zbSB7XG4gICAgbWF4LXdpZHRoOiAzMDBweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubW9kYWwtbGcge1xuICAgIG1heC13aWR0aDogOTAwcHg7IH0gfVxuXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA3MDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG9wYWNpdHk6IDA7IH1cbiAgLnRvb2x0aXAuaW4ge1xuICAgIG9wYWNpdHk6IDAuOTsgfVxuICAudG9vbHRpcC50b29sdGlwLXRvcCwgLnRvb2x0aXAuYnMtdGV0aGVyLWVsZW1lbnQtYXR0YWNoZWQtYm90dG9tIHtcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gICAgLnRvb2x0aXAudG9vbHRpcC10b3AgLnRvb2x0aXAtYXJyb3csIC50b29sdGlwLmJzLXRldGhlci1lbGVtZW50LWF0dGFjaGVkLWJvdHRvbSAudG9vbHRpcC1hcnJvdyB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTVweDtcbiAgICAgIGJvcmRlci13aWR0aDogNXB4IDVweCAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzAwMDsgfVxuICAudG9vbHRpcC50b29sdGlwLXJpZ2h0LCAudG9vbHRpcC5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1sZWZ0IHtcbiAgICBwYWRkaW5nOiAwIDVweDtcbiAgICBtYXJnaW4tbGVmdDogM3B4OyB9XG4gICAgLnRvb2x0aXAudG9vbHRpcC1yaWdodCAudG9vbHRpcC1hcnJvdywgLnRvb2x0aXAuYnMtdGV0aGVyLWVsZW1lbnQtYXR0YWNoZWQtbGVmdCAudG9vbHRpcC1hcnJvdyB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgYm9yZGVyLXdpZHRoOiA1cHggNXB4IDVweCAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjMDAwOyB9XG4gIC50b29sdGlwLnRvb2x0aXAtYm90dG9tLCAudG9vbHRpcC5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC10b3Age1xuICAgIHBhZGRpbmc6IDVweCAwO1xuICAgIG1hcmdpbi10b3A6IDNweDsgfVxuICAgIC50b29sdGlwLnRvb2x0aXAtYm90dG9tIC50b29sdGlwLWFycm93LCAudG9vbHRpcC5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC10b3AgLnRvb2x0aXAtYXJyb3cge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gICAgICBib3JkZXItd2lkdGg6IDAgNXB4IDVweDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMDA7IH1cbiAgLnRvb2x0aXAudG9vbHRpcC1sZWZ0LCAudG9vbHRpcC5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1yaWdodCB7XG4gICAgcGFkZGluZzogMCA1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0zcHg7IH1cbiAgICAudG9vbHRpcC50b29sdGlwLWxlZnQgLnRvb2x0aXAtYXJyb3csIC50b29sdGlwLmJzLXRldGhlci1lbGVtZW50LWF0dGFjaGVkLXJpZ2h0IC50b29sdGlwLWFycm93IHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgYm9yZGVyLXdpZHRoOiA1cHggMCA1cHggNXB4O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICMwMDA7IH1cblxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6IDIwMHB4O1xuICBwYWRkaW5nOiAzcHggOHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTsgfVxuXG4udG9vbHRpcC1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfVxuXG4ucG9wb3ZlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDYwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAyNzZweDtcbiAgcGFkZGluZzogMXB4O1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIGxpbmUtYnJlYWs6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGJvcmRlci1yYWRpdXM6IDAuM3JlbTtcbiAgYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cbiAgLnBvcG92ZXIucG9wb3Zlci10b3AsIC5wb3BvdmVyLmJzLXRldGhlci1lbGVtZW50LWF0dGFjaGVkLWJvdHRvbSB7XG4gICAgbWFyZ2luLXRvcDogLTEwcHg7IH1cbiAgICAucG9wb3Zlci5wb3BvdmVyLXRvcCAucG9wb3Zlci1hcnJvdywgLnBvcG92ZXIuYnMtdGV0aGVyLWVsZW1lbnQtYXR0YWNoZWQtYm90dG9tIC5wb3BvdmVyLWFycm93IHtcbiAgICAgIGJvdHRvbTogLTExcHg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTExcHg7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsgfVxuICAgICAgLnBvcG92ZXIucG9wb3Zlci10b3AgLnBvcG92ZXItYXJyb3c6OmFmdGVyLCAucG9wb3Zlci5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1ib3R0b20gLnBvcG92ZXItYXJyb3c6OmFmdGVyIHtcbiAgICAgICAgYm90dG9tOiAxcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsgfVxuICAucG9wb3Zlci5wb3BvdmVyLXJpZ2h0LCAucG9wb3Zlci5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuICAgIC5wb3BvdmVyLnBvcG92ZXItcmlnaHQgLnBvcG92ZXItYXJyb3csIC5wb3BvdmVyLmJzLXRldGhlci1lbGVtZW50LWF0dGFjaGVkLWxlZnQgLnBvcG92ZXItYXJyb3cge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiAtMTFweDtcbiAgICAgIG1hcmdpbi10b3A6IC0xMXB4O1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IH1cbiAgICAgIC5wb3BvdmVyLnBvcG92ZXItcmlnaHQgLnBvcG92ZXItYXJyb3c6OmFmdGVyLCAucG9wb3Zlci5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1sZWZ0IC5wb3BvdmVyLWFycm93OjphZnRlciB7XG4gICAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICAgIGxlZnQ6IDFweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZmZmO1xuICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuICAucG9wb3Zlci5wb3BvdmVyLWJvdHRvbSwgLnBvcG92ZXIuYnMtdGV0aGVyLWVsZW1lbnQtYXR0YWNoZWQtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgLnBvcG92ZXIucG9wb3Zlci1ib3R0b20gLnBvcG92ZXItYXJyb3csIC5wb3BvdmVyLmJzLXRldGhlci1lbGVtZW50LWF0dGFjaGVkLXRvcCAucG9wb3Zlci1hcnJvdyB7XG4gICAgICB0b3A6IC0xMXB4O1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xMXB4O1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cbiAgICAgIC5wb3BvdmVyLnBvcG92ZXItYm90dG9tIC5wb3BvdmVyLWFycm93OjphZnRlciwgLnBvcG92ZXIuYnMtdGV0aGVyLWVsZW1lbnQtYXR0YWNoZWQtdG9wIC5wb3BvdmVyLWFycm93OjphZnRlciB7XG4gICAgICAgIHRvcDogMXB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7IH1cbiAgLnBvcG92ZXIucG9wb3Zlci1sZWZ0LCAucG9wb3Zlci5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1yaWdodCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4OyB9XG4gICAgLnBvcG92ZXIucG9wb3Zlci1sZWZ0IC5wb3BvdmVyLWFycm93LCAucG9wb3Zlci5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1yaWdodCAucG9wb3Zlci1hcnJvdyB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAtMTFweDtcbiAgICAgIG1hcmdpbi10b3A6IC0xMXB4O1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cbiAgICAgIC5wb3BvdmVyLnBvcG92ZXItbGVmdCAucG9wb3Zlci1hcnJvdzo6YWZ0ZXIsIC5wb3BvdmVyLmJzLXRldGhlci1lbGVtZW50LWF0dGFjaGVkLXJpZ2h0IC5wb3BvdmVyLWFycm93OjphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAxcHg7XG4gICAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNmZmY7IH1cblxuLnBvcG92ZXItdGl0bGUge1xuICBwYWRkaW5nOiA4cHggMTRweDtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWJlYmViO1xuICBib3JkZXItcmFkaXVzOiAwLjIzNzVyZW0gMC4yMzc1cmVtIDAgMDsgfVxuICAucG9wb3Zlci10aXRsZTplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4ucG9wb3Zlci1jb250ZW50IHtcbiAgcGFkZGluZzogOXB4IDE0cHg7IH1cblxuLnBvcG92ZXItYXJyb3csIC5wb3BvdmVyLWFycm93OjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7IH1cblxuLnBvcG92ZXItYXJyb3cge1xuICBib3JkZXItd2lkdGg6IDExcHg7IH1cblxuLnBvcG92ZXItYXJyb3c6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXdpZHRoOiAxMHB4OyB9XG5cbi5jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uY2Fyb3VzZWwtaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5jYXJvdXNlbC1pbm5lciA+IC5jYXJvdXNlbC1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiAuNnMgZWFzZS1pbi1vdXQgbGVmdDsgfVxuICAgIC5jYXJvdXNlbC1pbm5lciA+IC5jYXJvdXNlbC1pdGVtID4gaW1nLFxuICAgIC5jYXJvdXNlbC1pbm5lciA+IC5jYXJvdXNlbC1pdGVtID4gYSA+IGltZyB7XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIEBtZWRpYSBhbGwgYW5kICh0cmFuc2Zvcm0tM2QpLCAoLXdlYmtpdC10cmFuc2Zvcm0tM2QpIHtcbiAgICAgIC5jYXJvdXNlbC1pbm5lciA+IC5jYXJvdXNlbC1pdGVtIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC42cyBlYXNlLWluLW91dDtcbiAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBwZXJzcGVjdGl2ZTogMTAwMHB4OyB9XG4gICAgICAgIC5jYXJvdXNlbC1pbm5lciA+IC5jYXJvdXNlbC1pdGVtLm5leHQsIC5jYXJvdXNlbC1pbm5lciA+IC5jYXJvdXNlbC1pdGVtLmFjdGl2ZS5yaWdodCB7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOyB9XG4gICAgICAgIC5jYXJvdXNlbC1pbm5lciA+IC5jYXJvdXNlbC1pdGVtLnByZXYsIC5jYXJvdXNlbC1pbm5lciA+IC5jYXJvdXNlbC1pdGVtLmFjdGl2ZS5sZWZ0IHtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOyB9XG4gICAgICAgIC5jYXJvdXNlbC1pbm5lciA+IC5jYXJvdXNlbC1pdGVtLm5leHQubGVmdCwgLmNhcm91c2VsLWlubmVyID4gLmNhcm91c2VsLWl0ZW0ucHJldi5yaWdodCwgLmNhcm91c2VsLWlubmVyID4gLmNhcm91c2VsLWl0ZW0uYWN0aXZlIHtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuICAuY2Fyb3VzZWwtaW5uZXIgPiAuYWN0aXZlLFxuICAuY2Fyb3VzZWwtaW5uZXIgPiAubmV4dCxcbiAgLmNhcm91c2VsLWlubmVyID4gLnByZXYge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jYXJvdXNlbC1pbm5lciA+IC5hY3RpdmUge1xuICAgIGxlZnQ6IDA7IH1cbiAgLmNhcm91c2VsLWlubmVyID4gLm5leHQsXG4gIC5jYXJvdXNlbC1pbm5lciA+IC5wcmV2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jYXJvdXNlbC1pbm5lciA+IC5uZXh0IHtcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5jYXJvdXNlbC1pbm5lciA+IC5wcmV2IHtcbiAgICBsZWZ0OiAtMTAwJTsgfVxuICAuY2Fyb3VzZWwtaW5uZXIgPiAubmV4dC5sZWZ0LFxuICAuY2Fyb3VzZWwtaW5uZXIgPiAucHJldi5yaWdodCB7XG4gICAgbGVmdDogMDsgfVxuICAuY2Fyb3VzZWwtaW5uZXIgPiAuYWN0aXZlLmxlZnQge1xuICAgIGxlZnQ6IC0xMDAlOyB9XG4gIC5jYXJvdXNlbC1pbm5lciA+IC5hY3RpdmUucmlnaHQge1xuICAgIGxlZnQ6IDEwMCU7IH1cblxuLmNhcm91c2VsLWNvbnRyb2wge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTUlO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBvcGFjaXR5OiAwLjU7IH1cbiAgLmNhcm91c2VsLWNvbnRyb2wubGVmdCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSkgMCUsIHJnYmEoMCwgMCwgMCwgMC4wMDAxKSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nIzgwMDAwMDAwJywgZW5kQ29sb3JzdHI9JyMwMDAwMDAwMCcsIEdyYWRpZW50VHlwZT0xKTsgfVxuICAuY2Fyb3VzZWwtY29udHJvbC5yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC4wMDAxKSAwJSwgcmdiYSgwLCAwLCAwLCAwLjUpIDEwMCUpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjMDAwMDAwMDAnLCBlbmRDb2xvcnN0cj0nIzgwMDAwMDAwJywgR3JhZGllbnRUeXBlPTEpOyB9XG4gIC5jYXJvdXNlbC1jb250cm9sOmZvY3VzLCAuY2Fyb3VzZWwtY29udHJvbDpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgb3BhY2l0eTogLjk7IH1cbiAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tcHJldixcbiAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tbmV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICBmb250LWZhbWlseTogc2VyaWY7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tcHJldiB7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMTBweDsgfVxuICAuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1uZXh0IHtcbiAgICByaWdodDogNTAlO1xuICAgIG1hcmdpbi1yaWdodDogLTEwcHg7IH1cbiAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tcHJldjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMjAzOVwiOyB9XG4gIC5jYXJvdXNlbC1jb250cm9sIC5pY29uLW5leHQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXDIwM2FcIjsgfVxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxMHB4O1xuICBsZWZ0OiA1MCU7XG4gIHotaW5kZXg6IDE1O1xuICB3aWR0aDogNjAlO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAtMzAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmNhcm91c2VsLWluZGljYXRvcnMgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luOiAxcHg7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTlweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gIC5jYXJvdXNlbC1pbmRpY2F0b3JzIC5hY3RpdmUge1xuICAgIHdpZHRoOiAxMnB4O1xuICAgIGhlaWdodDogMTJweDtcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDE1JTtcbiAgYm90dG9tOiAyMHB4O1xuICBsZWZ0OiAxNSU7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpOyB9XG4gIC5jYXJvdXNlbC1jYXB0aW9uIC5idG4sIC5jYXJvdXNlbC1jYXB0aW9uIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIHRleHQtc2hhZG93OiBub25lOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NDRweCkge1xuICAuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1wcmV2LFxuICAuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1uZXh0IHtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgbWFyZ2luLXRvcDogLTE1cHg7XG4gICAgZm9udC1zaXplOiAzMHB4OyB9XG4gIC5jYXJvdXNlbC1jb250cm9sIC5pY29uLXByZXYge1xuICAgIG1hcmdpbi1sZWZ0OiAtMTVweDsgfVxuICAuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1uZXh0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4OyB9XG4gIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICByaWdodDogMjAlO1xuICAgIGxlZnQ6IDIwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfVxuICAuY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gICAgYm90dG9tOiAyMHB4OyB9IH1cblxuLmJnLWZhZGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmOTsgfVxuXG4uYmctcHJpbWFyeSB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ODggIWltcG9ydGFudDsgfVxuXG5hLmJnLXByaW1hcnk6Zm9jdXMsIGEuYmctcHJpbWFyeTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDYzNWEgIWltcG9ydGFudDsgfVxuXG4uYmctc3VjY2VzcyB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0Y2FmNTAgIWltcG9ydGFudDsgfVxuXG5hLmJnLXN1Y2Nlc3M6Zm9jdXMsIGEuYmctc3VjY2Vzczpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzZDhiNDAgIWltcG9ydGFudDsgfVxuXG4uYmctaW5mbyB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwM2E5ZjQgIWltcG9ydGFudDsgfVxuXG5hLmJnLWluZm86Zm9jdXMsIGEuYmctaW5mbzpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMjg2YzIgIWltcG9ydGFudDsgfVxuXG4uYmctd2FybmluZyB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjU3MjIgIWltcG9ydGFudDsgfVxuXG5hLmJnLXdhcm5pbmc6Zm9jdXMsIGEuYmctd2FybmluZzpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZTM5MDAgIWltcG9ydGFudDsgfVxuXG4uYmctZGFuZ2VyIHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNiAhaW1wb3J0YW50OyB9XG5cbmEuYmctZGFuZ2VyOmZvY3VzLCBhLmJnLWRhbmdlcjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYTFjMGQgIWltcG9ydGFudDsgfVxuXG4uYmctaW52ZXJzZSB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NykgIWltcG9ydGFudDsgfVxuXG5hLmJnLWludmVyc2U6Zm9jdXMsIGEuYmctaW52ZXJzZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NykgIWltcG9ydGFudDsgfVxuXG4uY2xlYXJmaXg6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5kLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uZC1pbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uZC1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfVxuXG4uZmxleC14cy1maXJzdCB7XG4gIG9yZGVyOiAtMTsgfVxuXG4uZmxleC14cy1sYXN0IHtcbiAgb3JkZXI6IDE7IH1cblxuLmZsZXgteHMtdW5vcmRlcmVkIHtcbiAgb3JkZXI6IDA7IH1cblxuLmZsZXgtaXRlbXMteHMtdG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLmZsZXgtaXRlbXMteHMtbWlkZGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uZmxleC1pdGVtcy14cy1ib3R0b20ge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLmZsZXgteHMtdG9wIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4uZmxleC14cy1taWRkbGUge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cblxuLmZsZXgteHMtYm90dG9tIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cblxuLmZsZXgtaXRlbXMteHMtbGVmdCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4uZmxleC1pdGVtcy14cy1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uZmxleC1pdGVtcy14cy1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmZsZXgtaXRlbXMteHMtYXJvdW5kIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLmZsZXgtaXRlbXMteHMtYmV0d2VlbiB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTQ0cHgpIHtcbiAgLmZsZXgtc20tZmlyc3Qge1xuICAgIG9yZGVyOiAtMTsgfVxuICAuZmxleC1zbS1sYXN0IHtcbiAgICBvcmRlcjogMTsgfVxuICAuZmxleC1zbS11bm9yZGVyZWQge1xuICAgIG9yZGVyOiAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU0NHB4KSB7XG4gIC5mbGV4LWl0ZW1zLXNtLXRvcCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgLmZsZXgtaXRlbXMtc20tbWlkZGxlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5mbGV4LWl0ZW1zLXNtLWJvdHRvbSB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU0NHB4KSB7XG4gIC5mbGV4LXNtLXRvcCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuICAuZmxleC1zbS1taWRkbGUge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuICAuZmxleC1zbS1ib3R0b20ge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU0NHB4KSB7XG4gIC5mbGV4LWl0ZW1zLXNtLWxlZnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAuZmxleC1pdGVtcy1zbS1jZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5mbGV4LWl0ZW1zLXNtLXJpZ2h0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC5mbGV4LWl0ZW1zLXNtLWFyb3VuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cbiAgLmZsZXgtaXRlbXMtc20tYmV0d2VlbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mbGV4LW1kLWZpcnN0IHtcbiAgICBvcmRlcjogLTE7IH1cbiAgLmZsZXgtbWQtbGFzdCB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmZsZXgtbWQtdW5vcmRlcmVkIHtcbiAgICBvcmRlcjogMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZmxleC1pdGVtcy1tZC10b3Age1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gIC5mbGV4LWl0ZW1zLW1kLW1pZGRsZSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuZmxleC1pdGVtcy1tZC1ib3R0b20ge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZmxleC1tZC10b3Age1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cbiAgLmZsZXgtbWQtbWlkZGxlIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cbiAgLmZsZXgtbWQtYm90dG9tIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZmxleC1pdGVtcy1tZC1sZWZ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLmZsZXgtaXRlbXMtbWQtY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuZmxleC1pdGVtcy1tZC1yaWdodCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAuZmxleC1pdGVtcy1tZC1hcm91bmQge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG4gIC5mbGV4LWl0ZW1zLW1kLWJldHdlZW4ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZmxleC1sZy1maXJzdCB7XG4gICAgb3JkZXI6IC0xOyB9XG4gIC5mbGV4LWxnLWxhc3Qge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5mbGV4LWxnLXVub3JkZXJlZCB7XG4gICAgb3JkZXI6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmZsZXgtaXRlbXMtbGctdG9wIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAuZmxleC1pdGVtcy1sZy1taWRkbGUge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmZsZXgtaXRlbXMtbGctYm90dG9tIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmZsZXgtbGctdG9wIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG4gIC5mbGV4LWxnLW1pZGRsZSB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG4gIC5mbGV4LWxnLWJvdHRvbSB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmZsZXgtaXRlbXMtbGctbGVmdCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5mbGV4LWl0ZW1zLWxnLWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmZsZXgtaXRlbXMtbGctcmlnaHQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgLmZsZXgtaXRlbXMtbGctYXJvdW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuICAuZmxleC1pdGVtcy1sZy1iZXR3ZWVuIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5mbGV4LXhsLWZpcnN0IHtcbiAgICBvcmRlcjogLTE7IH1cbiAgLmZsZXgteGwtbGFzdCB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmZsZXgteGwtdW5vcmRlcmVkIHtcbiAgICBvcmRlcjogMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmZsZXgtaXRlbXMteGwtdG9wIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAuZmxleC1pdGVtcy14bC1taWRkbGUge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmZsZXgtaXRlbXMteGwtYm90dG9tIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5mbGV4LXhsLXRvcCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuICAuZmxleC14bC1taWRkbGUge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuICAuZmxleC14bC1ib3R0b20ge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZmxleC1pdGVtcy14bC1sZWZ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLmZsZXgtaXRlbXMteGwtY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuZmxleC1pdGVtcy14bC1yaWdodCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAuZmxleC1pdGVtcy14bC1hcm91bmQge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG4gIC5mbGV4LWl0ZW1zLXhsLWJldHdlZW4ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG5cbi5wdWxsLXhzLWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLnB1bGwteHMtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuLnB1bGwteHMtbm9uZSB7XG4gIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU0NHB4KSB7XG4gIC5wdWxsLXNtLWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLXNtLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAucHVsbC1zbS1ub25lIHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wdWxsLW1kLWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLW1kLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAucHVsbC1tZC1ub25lIHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wdWxsLWxnLWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLWxnLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAucHVsbC1sZy1ub25lIHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucHVsbC14bC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAucHVsbC14bC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLnB1bGwteGwtbm9uZSB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBib3JkZXI6IDA7IH1cblxuLnNyLW9ubHktZm9jdXNhYmxlOmFjdGl2ZSwgLnNyLW9ubHktZm9jdXNhYmxlOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bzsgfVxuXG4udy0xMDAge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi5tLXgtYXV0byB7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG5cbi5tLWEtMCB7XG4gIG1hcmdpbjogMCAwICFpbXBvcnRhbnQ7IH1cblxuLm0tdC0wIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG5cbi5tLXItMCB7XG4gIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbi5tLWItMCB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4ubS1sLTAge1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbi5tLXgtMCB7XG4gIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbi5tLXktMCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbi5tLWEtMSB7XG4gIG1hcmdpbjogMC41cmVtIDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLXQtMSB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLXItMSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tYi0xIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tbC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLXgtMSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ubS15LTEge1xuICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tYS0yIHtcbiAgbWFyZ2luOiAwLjc1cmVtIDAuNzVyZW0gIWltcG9ydGFudDsgfVxuXG4ubS10LTIge1xuICBtYXJnaW4tdG9wOiAwLjc1cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tci0yIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tYi0yIHtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLWwtMiB7XG4gIG1hcmdpbi1sZWZ0OiAwLjc1cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0teC0yIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAwLjc1cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0teS0yIHtcbiAgbWFyZ2luLXRvcDogMC43NXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tYS0zIHtcbiAgbWFyZ2luOiAxLjVyZW0gMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tdC0zIHtcbiAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tci0zIHtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ubS1iLTMge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ubS1sLTMge1xuICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0teC0zIHtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLXktMyB7XG4gIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ucC1hLTAge1xuICBwYWRkaW5nOiAwIDAgIWltcG9ydGFudDsgfVxuXG4ucC10LTAge1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG5cbi5wLXItMCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG4ucC1iLTAge1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbi5wLWwtMCB7XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbi5wLXgtMCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cblxuLnAteS0wIHtcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4ucC1hLTEge1xuICBwYWRkaW5nOiAwLjVyZW0gMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLnAtdC0xIHtcbiAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLXItMSB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLWItMSB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ucC1sLTEge1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLXgtMSB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLXktMSB7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLWEtMiB7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMC43NXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLXQtMiB7XG4gIHBhZGRpbmctdG9wOiAwLjc1cmVtICFpbXBvcnRhbnQ7IH1cblxuLnAtci0yIHtcbiAgcGFkZGluZy1yaWdodDogMC43NXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLWItMiB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjc1cmVtICFpbXBvcnRhbnQ7IH1cblxuLnAtbC0yIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtICFpbXBvcnRhbnQ7IH1cblxuLnAteC0yIHtcbiAgcGFkZGluZy1yaWdodDogMC43NXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW0gIWltcG9ydGFudDsgfVxuXG4ucC15LTIge1xuICBwYWRkaW5nLXRvcDogMC43NXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLWEtMyB7XG4gIHBhZGRpbmc6IDEuNXJlbSAxLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ucC10LTMge1xuICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuLnAtci0zIHtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuLnAtYi0zIHtcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLWwtMyB7XG4gIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuLnAteC0zIHtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuLnAteS0zIHtcbiAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuLnBvcy1mLXQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMzA7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuXG4udGV4dC1ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtdHJ1bmNhdGUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4udGV4dC14cy1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LXhzLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuXG4udGV4dC14cy1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTQ0cHgpIHtcbiAgLnRleHQtc20tbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LXNtLXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LXNtLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRleHQtbWQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LW1kLXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LW1kLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnRleHQtbGctbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LWxnLXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LWxnLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC50ZXh0LXhsLWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAudGV4dC14bC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAudGV4dC14bC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9IH1cblxuLnRleHQtbG93ZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LXVwcGVyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsgfVxuXG4udGV4dC1jYXBpdGFsaXplIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxuXG4uZm9udC13ZWlnaHQtbm9ybWFsIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4uZm9udC13ZWlnaHQtYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5mb250LWl0YWxpYyB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4udGV4dC1tdXRlZCwgLmJtZC1oZWxwIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNikgIWltcG9ydGFudDsgfVxuXG5hLnRleHQtbXV0ZWQ6Zm9jdXMsIGEuYm1kLWhlbHA6Zm9jdXMsIGEudGV4dC1tdXRlZDpob3ZlciwgYS5ibWQtaGVscDpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG5cbi50ZXh0LXByaW1hcnkge1xuICBjb2xvcjogIzAwOTY4OCAhaW1wb3J0YW50OyB9XG5cbmEudGV4dC1wcmltYXJ5OmZvY3VzLCBhLnRleHQtcHJpbWFyeTpob3ZlciB7XG4gIGNvbG9yOiAjMDA2MzVhOyB9XG5cbi50ZXh0LXN1Y2Nlc3Mge1xuICBjb2xvcjogIzRjYWY1MCAhaW1wb3J0YW50OyB9XG5cbmEudGV4dC1zdWNjZXNzOmZvY3VzLCBhLnRleHQtc3VjY2Vzczpob3ZlciB7XG4gIGNvbG9yOiAjM2Q4YjQwOyB9XG5cbi50ZXh0LWluZm8ge1xuICBjb2xvcjogIzAzYTlmNCAhaW1wb3J0YW50OyB9XG5cbmEudGV4dC1pbmZvOmZvY3VzLCBhLnRleHQtaW5mbzpob3ZlciB7XG4gIGNvbG9yOiAjMDI4NmMyOyB9XG5cbi50ZXh0LXdhcm5pbmcge1xuICBjb2xvcjogI2ZmNTcyMiAhaW1wb3J0YW50OyB9XG5cbmEudGV4dC13YXJuaW5nOmZvY3VzLCBhLnRleHQtd2FybmluZzpob3ZlciB7XG4gIGNvbG9yOiAjZWUzOTAwOyB9XG5cbi50ZXh0LWRhbmdlciB7XG4gIGNvbG9yOiAjZjQ0MzM2ICFpbXBvcnRhbnQ7IH1cblxuYS50ZXh0LWRhbmdlcjpmb2N1cywgYS50ZXh0LWRhbmdlcjpob3ZlciB7XG4gIGNvbG9yOiAjZWExYzBkOyB9XG5cbi50ZXh0LWhpZGUge1xuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7IH1cblxuLmhpZGRlbi14cy11cCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTQzcHgpIHtcbiAgLmhpZGRlbi14cy1kb3duIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTQ0cHgpIHtcbiAgLmhpZGRlbi1zbS11cCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tc20tZG93biB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWQtdXAge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAuaGlkZGVuLW1kLWRvd24ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaGlkZGVuLWxnLXVwIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC5oaWRkZW4tbGctZG93biB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuaGlkZGVuLXhsLXVwIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uaGlkZGVuLXhsLWRvd24ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnZpc2libGUtcHJpbnQtYmxvY2sge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHByaW50IHtcbiAgICAudmlzaWJsZS1wcmludC1ibG9jayB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLnZpc2libGUtcHJpbnQtaW5saW5lIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBwcmludCB7XG4gICAgLnZpc2libGUtcHJpbnQtaW5saW5lIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9IH1cblxuLnZpc2libGUtcHJpbnQtaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBwcmludCB7XG4gICAgLnZpc2libGUtcHJpbnQtaW5saW5lLWJsb2NrIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50IHtcbiAgLmhpZGRlbi1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuYm9keSB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuYTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4uYm1kLWxheW91dC1jYW52YXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLmJtZC1sYXlvdXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuXG4uYm1kLWxheW91dC1oZWFkZXIge1xuICB6LWluZGV4OiAzO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMDBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsgfVxuXG4uYm1kLWxheW91dC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsZXgtZ3JvdzogMTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpOyB9XG5cbi5ibWQtbGF5b3V0LXNwYWNlciB7XG4gIGZsZXgtZ3JvdzogMTsgfVxuXG4uYm1kLWxheW91dC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA0O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsgfVxuICBAc3VwcG9ydHMgKHBvaW50ZXItZXZlbnRzOiBhdXRvKSB7XG4gICAgLmJtZC1sYXlvdXQtYmFja2Ryb3Age1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH0gfVxuXG4uYnRuLCAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgb3V0bGluZTogMDtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjJzIGN1YmljLWJlemllcigwLjQsIDAsIDEsIDEpLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSwgY29sb3IgMC4ycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICB3aWxsLWNoYW5nZTogYm94LXNoYWRvdywgdHJhbnNmb3JtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gIC5idG46Zm9jdXMsIC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uZm9jdXMsIC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG46YWN0aXZlOmZvY3VzLCAuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSwgLmJ0bjphY3RpdmUuZm9jdXMsIC5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYnRuLmFjdGl2ZTpmb2N1cywgLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYWN0aXZlLmZvY3VzLCAuYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuYnRuOmhvdmVyLCAuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7IH1cbiAgLmJ0bjpmb2N1cywgLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5mb2N1cywgLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gIC5idG46YWN0aXZlLCAuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJ0bi5hY3RpdmUsIC5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAub3BlbiA+IC5idG4uZHJvcGRvd24tdG9nZ2xlLFxuICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7IH1cbiAgICAuYnRuOmFjdGl2ZTpob3ZlciwgLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5idG46YWN0aXZlOmZvY3VzLCAuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSwgLmJ0bjphY3RpdmUuZm9jdXMsIC5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYnRuLmFjdGl2ZTpob3ZlciwgLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYWN0aXZlOmZvY3VzLCAuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5hY3RpdmUuZm9jdXMsIC5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5vcGVuID4gLmJ0bi5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAub3BlbiA+IC5idG4uZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjQpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuNCk7IH1cbiAgLm9wZW4gPiAuYnRuLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XG4gICAgLm9wZW4gPiAuYnRuLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTsgfVxuICAuYnRuLmRpc2FibGVkOmZvY3VzLCAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmRpc2FibGVkLmZvY3VzLCAuZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuOmRpc2FibGVkOmZvY3VzLCAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpmb2N1czo6YmVmb3JlLCAuYnRuOmRpc2FibGVkLmZvY3VzLCAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAuYnRuLmRpc2FibGVkOmhvdmVyLCAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuOmRpc2FibGVkOmhvdmVyLCAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpob3Zlcjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAuYmctaW52ZXJzZSAuYnRuLCAuYmctaW52ZXJzZSAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5iZy1pbnZlcnNlIC5idG46aG92ZXIsIC5iZy1pbnZlcnNlIC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgLmJnLWludmVyc2UgLmJ0bjpmb2N1cywgLmJnLWludmVyc2UgLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5mb2N1cywgLmJnLWludmVyc2UgLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAuYmctaW52ZXJzZSAuYnRuOmFjdGl2ZSwgLmJnLWludmVyc2UgLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYWN0aXZlLCAuYmctaW52ZXJzZSAuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uZHJvcGRvd24tdG9nZ2xlLFxuICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuOmFjdGl2ZTpob3ZlciwgLmJnLWludmVyc2UgLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG46YWN0aXZlOmZvY3VzLCAuYmctaW52ZXJzZSAuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bjphY3RpdmUuZm9jdXMsIC5iZy1pbnZlcnNlIC5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmFjdGl2ZTpob3ZlciwgLmJnLWludmVyc2UgLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYWN0aXZlOmZvY3VzLCAuYmctaW52ZXJzZSAuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5hY3RpdmUuZm9jdXMsIC5iZy1pbnZlcnNlIC5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4yNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjI1KTsgfVxuICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5iZy1pbnZlcnNlIC5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5iZy1pbnZlcnNlIC5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAuYmctaW52ZXJzZSAuYnRuLmRpc2FibGVkOmZvY3VzLCAuYmctaW52ZXJzZSAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmRpc2FibGVkLmZvY3VzLCAuYmctaW52ZXJzZSAuZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuOmRpc2FibGVkOmZvY3VzLCAuYmctaW52ZXJzZSAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuOmRpc2FibGVkLmZvY3VzLCAuYmctaW52ZXJzZSAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAuYmctaW52ZXJzZSAuYnRuLmRpc2FibGVkOmhvdmVyLCAuYmctaW52ZXJzZSAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuOmRpc2FibGVkOmhvdmVyLCAuYmctaW52ZXJzZSAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgLmJ0bi5idG4tbGluaywgLmJ0bi1saW5rLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ0bi5idG4tcHJpbWFyeSwgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgY29sb3I6ICMwMDk2ODg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAuYnRuLmJ0bi1wcmltYXJ5OmhvdmVyLCAuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDA5Njg4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7IH1cbiAgICAuYnRuLmJ0bi1wcmltYXJ5OmZvY3VzLCAuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1wcmltYXJ5LmZvY3VzLCAuYnRuLXByaW1hcnkuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDA5Njg4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7IH1cbiAgICAuYnRuLmJ0bi1wcmltYXJ5OmFjdGl2ZSwgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsIC5idG4uYnRuLXByaW1hcnkuYWN0aXZlLCAuYnRuLXByaW1hcnkuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAub3BlbiA+IC5idG4uYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLFxuICAgIC5vcGVuID4gLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwMDk2ODg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTsgfVxuICAgICAgLmJ0bi5idG4tcHJpbWFyeTphY3RpdmU6aG92ZXIsIC5idG4tcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1wcmltYXJ5OmFjdGl2ZTpmb2N1cywgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXByaW1hcnk6YWN0aXZlLmZvY3VzLCAuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmUuZm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcHJpbWFyeS5hY3RpdmU6aG92ZXIsIC5idG4tcHJpbWFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1wcmltYXJ5LmFjdGl2ZTpmb2N1cywgLmJ0bi1wcmltYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXByaW1hcnkuYWN0aXZlLmZvY3VzLCAuYnRuLXByaW1hcnkuYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAub3BlbiA+IC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAgIC5vcGVuID4gLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMDA5Njg4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuNCk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjQpOyB9XG4gICAgLm9wZW4gPiAuYnRuLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4tcHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcHJpbWFyeS5kaXNhYmxlZC5mb2N1cywgLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcHJpbWFyeTpkaXNhYmxlZDpmb2N1cywgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcHJpbWFyeTpkaXNhYmxlZC5mb2N1cywgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQuZm9jdXM6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgLmJ0bi5idG4tcHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tcHJpbWFyeTpkaXNhYmxlZDpob3ZlciwgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgLmJnLWludmVyc2UgLmJ0bi5idG4tcHJpbWFyeSwgLmJnLWludmVyc2UgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzAwOTY4ODtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXByaW1hcnk6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAwOTY4ODtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1wcmltYXJ5OmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1wcmltYXJ5LmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLXByaW1hcnkuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMwMDk2ODg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tcHJpbWFyeTphY3RpdmUsIC5iZy1pbnZlcnNlIC5idG4tcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1wcmltYXJ5LmFjdGl2ZSwgLmJnLWludmVyc2UgLmJ0bi1wcmltYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMDA5Njg4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tcHJpbWFyeTphY3RpdmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1wcmltYXJ5OmFjdGl2ZTpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXByaW1hcnk6YWN0aXZlLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmUuZm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tcHJpbWFyeS5hY3RpdmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tcHJpbWFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1wcmltYXJ5LmFjdGl2ZTpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1wcmltYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXByaW1hcnkuYWN0aXZlLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLXByaW1hcnkuYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICMwMDk2ODg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjI1KTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4yNSk7IH1cbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tcHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tcHJpbWFyeS5kaXNhYmxlZC5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tcHJpbWFyeTpkaXNhYmxlZDpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tcHJpbWFyeTpkaXNhYmxlZC5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQuZm9jdXM6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tcHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmJnLWludmVyc2UgLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tcHJpbWFyeTpkaXNhYmxlZDpob3ZlciwgLmJnLWludmVyc2UgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5idG4uYnRuLXByaW1hcnkuYnRuLWxpbmssIC5idG4tcHJpbWFyeS5idG4tbGluay5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ0bi5idG4tc2Vjb25kYXJ5LCAuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgLmJ0bi5idG4tc2Vjb25kYXJ5OmhvdmVyLCAuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTsgfVxuICAgIC5idG4uYnRuLXNlY29uZGFyeTpmb2N1cywgLmJ0bi1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1zZWNvbmRhcnkuZm9jdXMsIC5idG4tc2Vjb25kYXJ5LmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4tc2Vjb25kYXJ5OmFjdGl2ZSwgLmJ0bi1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJ0bi5idG4tc2Vjb25kYXJ5LmFjdGl2ZSwgLmJ0bi1zZWNvbmRhcnkuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAub3BlbiA+IC5idG4uYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUsXG4gICAgLm9wZW4gPiAuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7IH1cbiAgICAgIC5idG4uYnRuLXNlY29uZGFyeTphY3RpdmU6aG92ZXIsIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXNlY29uZGFyeTphY3RpdmU6Zm9jdXMsIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXNlY29uZGFyeTphY3RpdmUuZm9jdXMsIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXNlY29uZGFyeS5hY3RpdmU6aG92ZXIsIC5idG4tc2Vjb25kYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXNlY29uZGFyeS5hY3RpdmU6Zm9jdXMsIC5idG4tc2Vjb25kYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXNlY29uZGFyeS5hY3RpdmUuZm9jdXMsIC5idG4tc2Vjb25kYXJ5LmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAub3BlbiA+IC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjQpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC40KTsgfVxuICAgIC5vcGVuID4gLmJ0bi5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XG4gICAgICAub3BlbiA+IC5idG4uYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4tc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnRuLXNlY29uZGFyeS5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXNlY29uZGFyeS5kaXNhYmxlZC5mb2N1cywgLmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tc2Vjb25kYXJ5OmRpc2FibGVkLmZvY3VzLCAuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5idG4uYnRuLXNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWQ6aG92ZXIsIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgLmJnLWludmVyc2UgLmJ0bi5idG4tc2Vjb25kYXJ5LCAuYmctaW52ZXJzZSAuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1zZWNvbmRhcnk6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeTpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1zZWNvbmRhcnkuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeTphY3RpdmUsIC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeS5hY3RpdmUsIC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUsXG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeTphY3RpdmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeTphY3RpdmU6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeTphY3RpdmUuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeS5hY3RpdmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeS5hY3RpdmU6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeS5hY3RpdmUuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4yNSk7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMjUpOyB9XG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLXNlY29uZGFyeS5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeS5kaXNhYmxlZC5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWQ6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tc2Vjb25kYXJ5OmRpc2FibGVkLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJnLWludmVyc2UgLmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWQ6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5idG4uYnRuLXNlY29uZGFyeS5idG4tbGluaywgLmJ0bi1zZWNvbmRhcnkuYnRuLWxpbmsuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idG4uYnRuLWluZm8sIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjMDNhOWY0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgLmJ0bi5idG4taW5mbzpob3ZlciwgLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzAzYTlmNDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4taW5mbzpmb2N1cywgLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4taW5mby5mb2N1cywgLmJ0bi1pbmZvLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzAzYTlmNDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4taW5mbzphY3RpdmUsIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJ0bi1pbmZvLmFjdGl2ZSwgLmJ0bi1pbmZvLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+IC5idG4taW5mby5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDNhOWY0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7IH1cbiAgICAgIC5idG4uYnRuLWluZm86YWN0aXZlOmhvdmVyLCAuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4taW5mbzphY3RpdmU6Zm9jdXMsIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1pbmZvOmFjdGl2ZS5mb2N1cywgLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLWluZm8uYWN0aXZlOmhvdmVyLCAuYnRuLWluZm8uYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4taW5mby5hY3RpdmU6Zm9jdXMsIC5idG4taW5mby5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1pbmZvLmFjdGl2ZS5mb2N1cywgLmJ0bi1pbmZvLmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgICAgLm9wZW4gPiAuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4taW5mby5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4taW5mby5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgIC5vcGVuID4gLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAzYTlmNDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjQpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC40KTsgfVxuICAgIC5vcGVuID4gLmJ0bi5idG4taW5mby5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5idG4taW5mby5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgIC5vcGVuID4gLmJ0bi5idG4taW5mby5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5idG4taW5mby5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTsgfVxuICAgIC5idG4uYnRuLWluZm8uZGlzYWJsZWQ6Zm9jdXMsIC5idG4taW5mby5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLWluZm8uZGlzYWJsZWQuZm9jdXMsIC5idG4taW5mby5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLWluZm86ZGlzYWJsZWQ6Zm9jdXMsIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLWluZm86ZGlzYWJsZWQuZm9jdXMsIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5idG4uYnRuLWluZm8uZGlzYWJsZWQ6aG92ZXIsIC5idG4taW5mby5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLWluZm86ZGlzYWJsZWQ6aG92ZXIsIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLWluZm8sIC5iZy1pbnZlcnNlIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwM2E5ZjQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1pbmZvOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMwM2E5ZjQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4taW5mbzpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4taW5mby5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1pbmZvLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMDNhOWY0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLWluZm86YWN0aXZlLCAuYmctaW52ZXJzZSAuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4taW5mby5hY3RpdmUsIC5iZy1pbnZlcnNlIC5idG4taW5mby5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAzYTlmNDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLWluZm86YWN0aXZlOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4taW5mbzphY3RpdmU6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1pbmZvOmFjdGl2ZS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLWluZm8uYWN0aXZlOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLWluZm8uYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4taW5mby5hY3RpdmU6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4taW5mby5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1pbmZvLmFjdGl2ZS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1pbmZvLmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4taW5mby5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4taW5mby5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4taW5mby5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjMDNhOWY0O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4yNSk7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMjUpOyB9XG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiwgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLWluZm8uZGlzYWJsZWQ6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4taW5mby5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLWluZm8uZGlzYWJsZWQuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4taW5mby5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLWluZm86ZGlzYWJsZWQ6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLWluZm86ZGlzYWJsZWQuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLWluZm8uZGlzYWJsZWQ6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4taW5mby5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLWluZm86ZGlzYWJsZWQ6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAuYnRuLmJ0bi1pbmZvLmJ0bi1saW5rLCAuYnRuLWluZm8uYnRuLWxpbmsuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idG4uYnRuLXN1Y2Nlc3MsIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjNGNhZjUwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgLmJ0bi5idG4tc3VjY2Vzczpob3ZlciwgLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzRjYWY1MDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4tc3VjY2Vzczpmb2N1cywgLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tc3VjY2Vzcy5mb2N1cywgLmJ0bi1zdWNjZXNzLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzRjYWY1MDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4tc3VjY2VzczphY3RpdmUsIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJ0bi1zdWNjZXNzLmFjdGl2ZSwgLmJ0bi1zdWNjZXNzLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+IC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjNGNhZjUwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7IH1cbiAgICAgIC5idG4uYnRuLXN1Y2Nlc3M6YWN0aXZlOmhvdmVyLCAuYnRuLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tc3VjY2VzczphY3RpdmU6Zm9jdXMsIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1zdWNjZXNzOmFjdGl2ZS5mb2N1cywgLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXN1Y2Nlc3MuYWN0aXZlOmhvdmVyLCAuYnRuLXN1Y2Nlc3MuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tc3VjY2Vzcy5hY3RpdmU6Zm9jdXMsIC5idG4tc3VjY2Vzcy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1zdWNjZXNzLmFjdGl2ZS5mb2N1cywgLmJ0bi1zdWNjZXNzLmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgICAgLm9wZW4gPiAuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgIC5vcGVuID4gLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzRjYWY1MDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjQpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC40KTsgfVxuICAgIC5vcGVuID4gLmJ0bi5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTsgfVxuICAgIC5idG4uYnRuLXN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idG4tc3VjY2Vzcy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXN1Y2Nlc3MuZGlzYWJsZWQuZm9jdXMsIC5idG4tc3VjY2Vzcy5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQuZm9jdXMsIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5idG4uYnRuLXN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idG4tc3VjY2Vzcy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQ6aG92ZXIsIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXN1Y2Nlc3MsIC5iZy1pbnZlcnNlIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICM0Y2FmNTA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1zdWNjZXNzOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICM0Y2FmNTA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tc3VjY2Vzczpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tc3VjY2Vzcy5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1zdWNjZXNzLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjNGNhZjUwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXN1Y2Nlc3M6YWN0aXZlLCAuYmctaW52ZXJzZSAuYnRuLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tc3VjY2Vzcy5hY3RpdmUsIC5iZy1pbnZlcnNlIC5idG4tc3VjY2Vzcy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzRjYWY1MDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXN1Y2Nlc3M6YWN0aXZlOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tc3VjY2VzczphY3RpdmU6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1zdWNjZXNzOmFjdGl2ZS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXN1Y2Nlc3MuYWN0aXZlOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLXN1Y2Nlc3MuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tc3VjY2Vzcy5hY3RpdmU6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tc3VjY2Vzcy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1zdWNjZXNzLmFjdGl2ZS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1zdWNjZXNzLmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjNGNhZjUwO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4yNSk7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMjUpOyB9XG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiwgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tc3VjY2Vzcy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXN1Y2Nlc3MuZGlzYWJsZWQuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tc3VjY2Vzcy5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQ6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tc3VjY2Vzcy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQ6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAuYnRuLmJ0bi1zdWNjZXNzLmJ0bi1saW5rLCAuYnRuLXN1Y2Nlc3MuYnRuLWxpbmsuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idG4uYnRuLXdhcm5pbmcsIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjZmY1NzIyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgLmJ0bi5idG4td2FybmluZzpob3ZlciwgLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmNTcyMjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4td2FybmluZzpmb2N1cywgLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4td2FybmluZy5mb2N1cywgLmJ0bi13YXJuaW5nLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmNTcyMjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4td2FybmluZzphY3RpdmUsIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJ0bi13YXJuaW5nLmFjdGl2ZSwgLmJ0bi13YXJuaW5nLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+IC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmY1NzIyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7IH1cbiAgICAgIC5idG4uYnRuLXdhcm5pbmc6YWN0aXZlOmhvdmVyLCAuYnRuLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4td2FybmluZzphY3RpdmU6Zm9jdXMsIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi13YXJuaW5nOmFjdGl2ZS5mb2N1cywgLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXdhcm5pbmcuYWN0aXZlOmhvdmVyLCAuYnRuLXdhcm5pbmcuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4td2FybmluZy5hY3RpdmU6Zm9jdXMsIC5idG4td2FybmluZy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi13YXJuaW5nLmFjdGl2ZS5mb2N1cywgLmJ0bi13YXJuaW5nLmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgICAgLm9wZW4gPiAuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgIC5vcGVuID4gLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmNTcyMjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjQpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC40KTsgfVxuICAgIC5vcGVuID4gLmJ0bi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgIC5vcGVuID4gLmJ0bi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTsgfVxuICAgIC5idG4uYnRuLXdhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idG4td2FybmluZy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXdhcm5pbmcuZGlzYWJsZWQuZm9jdXMsIC5idG4td2FybmluZy5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXdhcm5pbmc6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXdhcm5pbmc6ZGlzYWJsZWQuZm9jdXMsIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5idG4uYnRuLXdhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idG4td2FybmluZy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXdhcm5pbmc6ZGlzYWJsZWQ6aG92ZXIsIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXdhcm5pbmcsIC5iZy1pbnZlcnNlIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZjU3MjI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi13YXJuaW5nOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZjU3MjI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4td2FybmluZzpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4td2FybmluZy5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi13YXJuaW5nLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmY1NzIyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXdhcm5pbmc6YWN0aXZlLCAuYmctaW52ZXJzZSAuYnRuLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4td2FybmluZy5hY3RpdmUsIC5iZy1pbnZlcnNlIC5idG4td2FybmluZy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmNTcyMjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXdhcm5pbmc6YWN0aXZlOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4td2FybmluZzphY3RpdmU6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi13YXJuaW5nOmFjdGl2ZS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXdhcm5pbmcuYWN0aXZlOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLXdhcm5pbmcuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4td2FybmluZy5hY3RpdmU6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4td2FybmluZy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi13YXJuaW5nLmFjdGl2ZS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi13YXJuaW5nLmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjZmY1NzIyO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4yNSk7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMjUpOyB9XG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiwgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXdhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4td2FybmluZy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXdhcm5pbmcuZGlzYWJsZWQuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4td2FybmluZy5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXdhcm5pbmc6ZGlzYWJsZWQ6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXdhcm5pbmc6ZGlzYWJsZWQuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXdhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4td2FybmluZy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXdhcm5pbmc6ZGlzYWJsZWQ6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAuYnRuLmJ0bi13YXJuaW5nLmJ0bi1saW5rLCAuYnRuLXdhcm5pbmcuYnRuLWxpbmsuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idG4uYnRuLWRhbmdlciwgLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogI2Y0NDMzNjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5idG4uYnRuLWRhbmdlcjpob3ZlciwgLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZjQ0MzM2O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7IH1cbiAgICAuYnRuLmJ0bi1kYW5nZXI6Zm9jdXMsIC5idG4tZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tZGFuZ2VyLmZvY3VzLCAuYnRuLWRhbmdlci5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmNDQzMzY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTsgfVxuICAgIC5idG4uYnRuLWRhbmdlcjphY3RpdmUsIC5idG4tZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsIC5idG4uYnRuLWRhbmdlci5hY3RpdmUsIC5idG4tZGFuZ2VyLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLFxuICAgIC5vcGVuID4gLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2Y0NDMzNjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgICAuYnRuLmJ0bi1kYW5nZXI6YWN0aXZlOmhvdmVyLCAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1kYW5nZXI6YWN0aXZlOmZvY3VzLCAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1kYW5nZXI6YWN0aXZlLmZvY3VzLCAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1kYW5nZXIuYWN0aXZlOmhvdmVyLCAuYnRuLWRhbmdlci5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1kYW5nZXIuYWN0aXZlOmZvY3VzLCAuYnRuLWRhbmdlci5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1kYW5nZXIuYWN0aXZlLmZvY3VzLCAuYnRuLWRhbmdlci5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgICAgLm9wZW4gPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmNDQzMzY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC40KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuNCk7IH1cbiAgICAub3BlbiA+IC5idG4uYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTsgfVxuICAgIC5idG4uYnRuLWRhbmdlci5kaXNhYmxlZDpmb2N1cywgLmJ0bi1kYW5nZXIuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1kYW5nZXIuZGlzYWJsZWQuZm9jdXMsIC5idG4tZGFuZ2VyLmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tZGFuZ2VyOmRpc2FibGVkOmZvY3VzLCAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLWRhbmdlcjpkaXNhYmxlZC5mb2N1cywgLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAuYnRuLmJ0bi1kYW5nZXIuZGlzYWJsZWQ6aG92ZXIsIC5idG4tZGFuZ2VyLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tZGFuZ2VyOmRpc2FibGVkOmhvdmVyLCAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLWRhbmdlciwgLmJnLWludmVyc2UgLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZjQ0MzM2O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tZGFuZ2VyOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2Y0NDMzNjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXI6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tZGFuZ2VyLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2Y0NDMzNjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXI6YWN0aXZlLCAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXIuYWN0aXZlLCAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmNDQzMzY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXI6YWN0aXZlOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXI6YWN0aXZlOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXI6YWN0aXZlLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXIuYWN0aXZlOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXIuYWN0aXZlOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXIuYWN0aXZlLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogI2Y0NDMzNjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMjUpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjI1KTsgfVxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiwgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLWRhbmdlci5kaXNhYmxlZDpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1kYW5nZXIuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXIuZGlzYWJsZWQuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tZGFuZ2VyLmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tZGFuZ2VyOmRpc2FibGVkOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLWRhbmdlcjpkaXNhYmxlZC5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXIuZGlzYWJsZWQ6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tZGFuZ2VyLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tZGFuZ2VyOmRpc2FibGVkOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAuYnRuLmJ0bi1kYW5nZXIuYnRuLWxpbmssIC5idG4tZGFuZ2VyLmJ0bi1saW5rLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LCAuYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXByaW1hcnksIC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tcHJpbWFyeSxcbiAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTY4ODtcbiAgICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgICAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5OmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXByaW1hcnk6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1wcmltYXJ5OmhvdmVyLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4Mjc2O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDA1OTUxOyB9XG4gICAgLmJ0bi5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeTpmb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeS5mb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5OmZvY3VzLCAuYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5mb2N1cywgLmJ0bi1yYWlzZWQuYnRuLXByaW1hcnkuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXByaW1hcnk6Zm9jdXMsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1wcmltYXJ5LmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tcHJpbWFyeS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4Mjc2O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDA1OTUxOyB9XG4gICAgLmJ0bi5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeTphY3RpdmUsIC5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmFjdGl2ZSwgLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+IC5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXByaW1hcnk6YWN0aXZlLCAuYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXByaW1hcnkuYWN0aXZlLCAuYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5vcGVuID4gLmJ0bi5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tcHJpbWFyeTphY3RpdmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tcHJpbWFyeS5hY3RpdmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1wcmltYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPlxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLFxuICAgIC5vcGVuID5cbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDgyNzY7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDU5NTE7IH1cbiAgICAgIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnk6YWN0aXZlOmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeTphY3RpdmU6Zm9jdXMsIC5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5OmFjdGl2ZS5mb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnkuYWN0aXZlOmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnkuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeS5hY3RpdmU6Zm9jdXMsIC5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmFjdGl2ZS5mb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgICAgLm9wZW4gPiAuYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+IC5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeTphY3RpdmU6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeTphY3RpdmU6Zm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeTphY3RpdmUuZm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5hY3RpdmU6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5hY3RpdmU6Zm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5hY3RpdmUuZm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1wcmltYXJ5OmFjdGl2ZTpob3ZlcixcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tcHJpbWFyeTphY3RpdmU6Zm9jdXMsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXByaW1hcnk6YWN0aXZlLmZvY3VzLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1wcmltYXJ5LmFjdGl2ZTpob3ZlcixcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tcHJpbWFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tcHJpbWFyeS5hY3RpdmU6Zm9jdXMsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXByaW1hcnkuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXByaW1hcnkuYWN0aXZlLmZvY3VzLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1wcmltYXJ5LmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwODI3NjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDAxNzE0OyB9XG4gICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAub3BlbiA+XG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+XG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTY4ODsgfVxuICAgICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDgyNzY7IH1cbiAgICAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnkuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnkuZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5OmRpc2FibGVkOmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5OmRpc2FibGVkLmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmZvY3VzLCAuYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeTpkaXNhYmxlZDpmb2N1cywgLmJ0bi1yYWlzZWQuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXByaW1hcnk6ZGlzYWJsZWQuZm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQuZm9jdXM6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1wcmltYXJ5LmRpc2FibGVkOmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tcHJpbWFyeS5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tcHJpbWFyeS5kaXNhYmxlZC5mb2N1cyxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXByaW1hcnkuZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXByaW1hcnk6ZGlzYWJsZWQ6Zm9jdXMsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1wcmltYXJ5OmRpc2FibGVkLmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTY4ODtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAwOTY4ODsgfVxuICAgIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeS5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnk6ZGlzYWJsZWQ6aG92ZXIsIC5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmJ0bi1yYWlzZWQuYnRuLXByaW1hcnkuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXByaW1hcnk6ZGlzYWJsZWQ6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1wcmltYXJ5LmRpc2FibGVkOmhvdmVyLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tcHJpbWFyeS5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tcHJpbWFyeTpkaXNhYmxlZDpob3ZlcixcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ODg7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgLmJ0bi5ibWQtYnRuLWZhYi5idG4tc2Vjb25kYXJ5LCAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LCAuYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc2Vjb25kYXJ5LFxuICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgLmJ0bi5ibWQtYnRuLWZhYi5idG4tc2Vjb25kYXJ5OmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5OmhvdmVyLCAuYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zZWNvbmRhcnk6aG92ZXIsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2FkYWRhZDsgfVxuICAgIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeTpmb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuZm9jdXMsIC5ibWQtYnRuLWZhYi5idG4tc2Vjb25kYXJ5LmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnk6Zm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXNlY29uZGFyeS5mb2N1cywgLmJ0bi1yYWlzZWQuYnRuLXNlY29uZGFyeS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc2Vjb25kYXJ5OmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zZWNvbmRhcnkuZm9jdXMsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zZWNvbmRhcnkuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2FkYWRhZDsgfVxuICAgIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeTphY3RpdmUsIC5ibWQtYnRuLWZhYi5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5hY3RpdmUsIC5ibWQtYnRuLWZhYi5idG4tc2Vjb25kYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLFxuICAgIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnk6YWN0aXZlLCAuYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmFjdGl2ZSwgLmJ0bi1yYWlzZWQuYnRuLXNlY29uZGFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5vcGVuID4gLmJ0bi5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLFxuICAgIC5vcGVuID4gLmJ0bi1yYWlzZWQuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXNlY29uZGFyeTphY3RpdmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zZWNvbmRhcnkuYWN0aXZlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc2Vjb25kYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPlxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUsXG4gICAgLm9wZW4gPlxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYWRhZGFkOyB9XG4gICAgICAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnk6YWN0aXZlOmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnk6YWN0aXZlOmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnk6YWN0aXZlLmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuYWN0aXZlOmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuYWN0aXZlOmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuYWN0aXZlLmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgICAgLm9wZW4gPiAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXNlY29uZGFyeTphY3RpdmU6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnk6YWN0aXZlOmZvY3VzLCAuYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5OmFjdGl2ZS5mb2N1cywgLmJ0bi1yYWlzZWQuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXNlY29uZGFyeS5hY3RpdmU6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnkuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnkuYWN0aXZlOmZvY3VzLCAuYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmFjdGl2ZS5mb2N1cywgLmJ0bi1yYWlzZWQuYnRuLXNlY29uZGFyeS5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1yYWlzZWQuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgIC5vcGVuID4gLmJ0bi1yYWlzZWQuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc2Vjb25kYXJ5OmFjdGl2ZTpob3ZlcixcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zZWNvbmRhcnk6YWN0aXZlOmZvY3VzLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXNlY29uZGFyeTphY3RpdmUuZm9jdXMsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc2Vjb25kYXJ5LmFjdGl2ZTpob3ZlcixcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc2Vjb25kYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zZWNvbmRhcnkuYWN0aXZlOmZvY3VzLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zZWNvbmRhcnkuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXNlY29uZGFyeS5hY3RpdmUuZm9jdXMsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXNlY29uZGFyeS5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzhjOGM4YzsgfVxuICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5vcGVuID4gLmJ0bi5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiwgLm9wZW4gPiAuYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAub3BlbiA+XG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID5cbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7IH1cbiAgICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5vcGVuID4gLmJ0bi5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XG4gICAgLmJ0bi5ibWQtYnRuLWZhYi5idG4tc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5kaXNhYmxlZC5mb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWQ6Zm9jdXMsIC5ibWQtYnRuLWZhYi5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tc2Vjb25kYXJ5OmRpc2FibGVkLmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQuZm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXNlY29uZGFyeTpkaXNhYmxlZDpmb2N1cywgLmJ0bi1yYWlzZWQuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5OmRpc2FibGVkLmZvY3VzLCAuYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQuZm9jdXM6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXNlY29uZGFyeS5kaXNhYmxlZC5mb2N1cyxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXNlY29uZGFyeS5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc2Vjb25kYXJ5OmRpc2FibGVkOmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWQuZm9jdXMsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG4gICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC5ibWQtYnRuLWZhYi5idG4tc2Vjb25kYXJ5LmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tc2Vjb25kYXJ5OmRpc2FibGVkOmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWQ6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpob3Zlcjo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXNlY29uZGFyeS5kaXNhYmxlZDpob3ZlcixcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXNlY29uZGFyeS5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc2Vjb25kYXJ5OmRpc2FibGVkOmhvdmVyLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm8sIC5ibWQtYnRuLWZhYi5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4taW5mbywgLmJ0bi1yYWlzZWQuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1pbmZvLFxuICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDNhOWY0O1xuICAgIGJvcmRlci1jb2xvcjogIzAzYTlmNDsgfVxuICAgIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm86aG92ZXIsIC5ibWQtYnRuLWZhYi5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4taW5mbzpob3ZlciwgLmJ0bi1yYWlzZWQuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWluZm86aG92ZXIsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMzliZTA7XG4gICAgICBib3JkZXItY29sb3I6ICMwMjdmYjg7IH1cbiAgICAuYnRuLmJtZC1idG4tZmFiLmJ0bi1pbmZvOmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1pbmZvLmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLWluZm8uZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLWluZm86Zm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvLmZvY3VzLCAuYnRuLXJhaXNlZC5idG4taW5mby5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4taW5mbzpmb2N1cyxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWluZm8uZm9jdXMsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1pbmZvLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMzliZTA7XG4gICAgICBib3JkZXItY29sb3I6ICMwMjdmYjg7IH1cbiAgICAuYnRuLmJtZC1idG4tZmFiLmJ0bi1pbmZvOmFjdGl2ZSwgLmJtZC1idG4tZmFiLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm8uYWN0aXZlLCAuYm1kLWJ0bi1mYWIuYnRuLWluZm8uYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAub3BlbiA+IC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLFxuICAgIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4taW5mbzphY3RpdmUsIC5idG4tcmFpc2VkLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4taW5mby5hY3RpdmUsIC5idG4tcmFpc2VkLmJ0bi1pbmZvLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmJ0bi1yYWlzZWQuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLFxuICAgIC5vcGVuID4gLmJ0bi1yYWlzZWQuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1pbmZvOmFjdGl2ZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1pbmZvLmFjdGl2ZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWluZm8uYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAub3BlbiA+XG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4taW5mby5kcm9wZG93bi10b2dnbGUsXG4gICAgLm9wZW4gPlxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4taW5mby5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAzOWJlMDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAyN2ZiODsgfVxuICAgICAgLmJ0bi5ibWQtYnRuLWZhYi5idG4taW5mbzphY3RpdmU6aG92ZXIsIC5ibWQtYnRuLWZhYi5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1pbmZvOmFjdGl2ZTpmb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm86YWN0aXZlLmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmUuZm9jdXM6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4taW5mby5hY3RpdmU6aG92ZXIsIC5ibWQtYnRuLWZhYi5idG4taW5mby5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1pbmZvLmFjdGl2ZTpmb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1pbmZvLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm8uYWN0aXZlLmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLWluZm8uYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4taW5mby5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAub3BlbiA+IC5ibWQtYnRuLWZhYi5idG4taW5mby5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAgIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYm1kLWJ0bi1mYWIuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvOmFjdGl2ZTpob3ZlciwgLmJ0bi1yYWlzZWQuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvOmFjdGl2ZTpmb2N1cywgLmJ0bi1yYWlzZWQuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvOmFjdGl2ZS5mb2N1cywgLmJ0bi1yYWlzZWQuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmUuZm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvLmFjdGl2ZTpob3ZlciwgLmJ0bi1yYWlzZWQuYnRuLWluZm8uYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvLmFjdGl2ZTpmb2N1cywgLmJ0bi1yYWlzZWQuYnRuLWluZm8uYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvLmFjdGl2ZS5mb2N1cywgLmJ0bi1yYWlzZWQuYnRuLWluZm8uYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgIC5vcGVuID4gLmJ0bi1yYWlzZWQuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAgIC5vcGVuID4gLmJ0bi1yYWlzZWQuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgIC5vcGVuID4gLmJ0bi1yYWlzZWQuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWluZm86YWN0aXZlOmhvdmVyLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1pbmZvOmFjdGl2ZTpmb2N1cyxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4taW5mbzphY3RpdmUuZm9jdXMsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmUuZm9jdXM6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWluZm8uYWN0aXZlOmhvdmVyLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1pbmZvLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1pbmZvLmFjdGl2ZTpmb2N1cyxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4taW5mby5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4taW5mby5hY3RpdmUuZm9jdXMsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWluZm8uYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgICAgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAgIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4taW5mby5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4taW5mby5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDM5YmUwO1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMTUyNzY7IH1cbiAgICAub3BlbiA+IC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiwgLm9wZW4gPiAuYm1kLWJ0bi1mYWIuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5vcGVuID4gLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmJ0bi1yYWlzZWQuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5vcGVuID5cbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID5cbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDNhOWY0OyB9XG4gICAgICAub3BlbiA+IC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYm1kLWJ0bi1mYWIuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5vcGVuID4gLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJ0bi1yYWlzZWQuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAzOWJlMDsgfVxuICAgIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm8uZGlzYWJsZWQ6Zm9jdXMsIC5ibWQtYnRuLWZhYi5idG4taW5mby5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm8uZGlzYWJsZWQuZm9jdXMsIC5ibWQtYnRuLWZhYi5idG4taW5mby5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm86ZGlzYWJsZWQ6Zm9jdXMsIC5ibWQtYnRuLWZhYi5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm86ZGlzYWJsZWQuZm9jdXMsIC5ibWQtYnRuLWZhYi5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4taW5mby5kaXNhYmxlZDpmb2N1cywgLmJ0bi1yYWlzZWQuYnRuLWluZm8uZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLWluZm8uZGlzYWJsZWQuZm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1pbmZvLmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvOmRpc2FibGVkOmZvY3VzLCAuYnRuLXJhaXNlZC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4taW5mbzpkaXNhYmxlZC5mb2N1cywgLmJ0bi1yYWlzZWQuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWluZm8uZGlzYWJsZWQ6Zm9jdXMsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1pbmZvLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1pbmZvLmRpc2FibGVkLmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4taW5mby5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4taW5mbzpkaXNhYmxlZDpmb2N1cyxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpmb2N1czo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWluZm86ZGlzYWJsZWQuZm9jdXMsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQuZm9jdXM6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDNhOWY0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDNhOWY0OyB9XG4gICAgLmJ0bi5ibWQtYnRuLWZhYi5idG4taW5mby5kaXNhYmxlZDpob3ZlciwgLmJtZC1idG4tZmFiLmJ0bi1pbmZvLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4taW5mbzpkaXNhYmxlZDpob3ZlciwgLmJtZC1idG4tZmFiLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvLmRpc2FibGVkOmhvdmVyLCAuYnRuLXJhaXNlZC5idG4taW5mby5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4taW5mbzpkaXNhYmxlZDpob3ZlciwgLmJ0bi1yYWlzZWQuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpob3Zlcjo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWluZm8uZGlzYWJsZWQ6aG92ZXIsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1pbmZvLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1pbmZvOmRpc2FibGVkOmhvdmVyLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAzYTlmNDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAzYTlmNDsgfVxuICAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLCAuYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXN1Y2Nlc3MsIC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc3VjY2VzcyxcbiAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRjYWY1MDtcbiAgICBib3JkZXItY29sb3I6ICM0Y2FmNTA7IH1cbiAgICAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzOmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXN1Y2Nlc3M6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zdWNjZXNzOmhvdmVyLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDZhMTQ5O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMzk4NDNjOyB9XG4gICAgLmJ0bi5ibWQtYnRuLWZhYi5idG4tc3VjY2Vzczpmb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tc3VjY2Vzcy5mb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzOmZvY3VzLCAuYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5mb2N1cywgLmJ0bi1yYWlzZWQuYnRuLXN1Y2Nlc3MuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXN1Y2Nlc3M6Zm9jdXMsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zdWNjZXNzLmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc3VjY2Vzcy5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDZhMTQ5O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMzk4NDNjOyB9XG4gICAgLmJ0bi5ibWQtYnRuLWZhYi5idG4tc3VjY2VzczphY3RpdmUsIC5ibWQtYnRuLWZhYi5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmFjdGl2ZSwgLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+IC5ibWQtYnRuLWZhYi5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXN1Y2Nlc3M6YWN0aXZlLCAuYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXN1Y2Nlc3MuYWN0aXZlLCAuYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5vcGVuID4gLmJ0bi5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc3VjY2VzczphY3RpdmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc3VjY2Vzcy5hY3RpdmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zdWNjZXNzLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPlxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLFxuICAgIC5vcGVuID5cbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0NmExNDk7XG4gICAgICBib3JkZXItY29sb3I6ICMzOTg0M2M7IH1cbiAgICAgIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3M6YWN0aXZlOmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tc3VjY2VzczphY3RpdmU6Zm9jdXMsIC5ibWQtYnRuLWZhYi5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzOmFjdGl2ZS5mb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3MuYWN0aXZlOmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3MuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tc3VjY2Vzcy5hY3RpdmU6Zm9jdXMsIC5ibWQtYnRuLWZhYi5idG4tc3VjY2Vzcy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmFjdGl2ZS5mb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgICAgLm9wZW4gPiAuYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+IC5ibWQtYnRuLWZhYi5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2VzczphY3RpdmU6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2VzczphY3RpdmU6Zm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2VzczphY3RpdmUuZm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5hY3RpdmU6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5hY3RpdmU6Zm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5hY3RpdmUuZm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zdWNjZXNzOmFjdGl2ZTpob3ZlcixcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc3VjY2VzczphY3RpdmU6Zm9jdXMsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXN1Y2Nlc3M6YWN0aXZlLmZvY3VzLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zdWNjZXNzLmFjdGl2ZTpob3ZlcixcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc3VjY2Vzcy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc3VjY2Vzcy5hY3RpdmU6Zm9jdXMsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXN1Y2Nlc3MuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXN1Y2Nlc3MuYWN0aXZlLmZvY3VzLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zdWNjZXNzLmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ2YTE0OTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMjU1NjI3OyB9XG4gICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAub3BlbiA+XG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+XG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRjYWY1MDsgfVxuICAgICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0NmExNDk7IH1cbiAgICAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmRpc2FibGVkLmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzOmRpc2FibGVkOmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzOmRpc2FibGVkLmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmRpc2FibGVkLmZvY3VzLCAuYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2VzczpkaXNhYmxlZDpmb2N1cywgLmJ0bi1yYWlzZWQuYnRuLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQuZm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQuZm9jdXM6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zdWNjZXNzLmRpc2FibGVkOmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc3VjY2Vzcy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc3VjY2Vzcy5kaXNhYmxlZC5mb2N1cyxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQ6Zm9jdXMsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zdWNjZXNzOmRpc2FibGVkLmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRjYWY1MDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzRjYWY1MDsgfVxuICAgIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5ibWQtYnRuLWZhYi5idG4tc3VjY2Vzcy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQ6aG92ZXIsIC5ibWQtYnRuLWZhYi5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmJ0bi1yYWlzZWQuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQ6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zdWNjZXNzLmRpc2FibGVkOmhvdmVyLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc3VjY2Vzcy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc3VjY2VzczpkaXNhYmxlZDpob3ZlcixcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0Y2FmNTA7XG4gICAgICBib3JkZXItY29sb3I6ICM0Y2FmNTA7IH1cbiAgLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZywgLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi13YXJuaW5nLCAuYnRuLXJhaXNlZC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXdhcm5pbmcsXG4gIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjU3MjI7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmY1NzIyOyB9XG4gICAgLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZzpob3ZlciwgLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi13YXJuaW5nOmhvdmVyLCAuYnRuLXJhaXNlZC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4td2FybmluZzpob3ZlcixcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNDcwZTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2U0MzcwMDsgfVxuICAgIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmc6Zm9jdXMsIC5ibWQtYnRuLWZhYi5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmcuZm9jdXMsIC5ibWQtYnRuLWZhYi5idG4td2FybmluZy5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4td2FybmluZzpmb2N1cywgLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuZm9jdXMsIC5idG4tcmFpc2VkLmJ0bi13YXJuaW5nLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi13YXJuaW5nOmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4td2FybmluZy5mb2N1cyxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXdhcm5pbmcuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNDcwZTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2U0MzcwMDsgfVxuICAgIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmc6YWN0aXZlLCAuYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZy5hY3RpdmUsIC5ibWQtYnRuLWZhYi5idG4td2FybmluZy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUsXG4gICAgLm9wZW4gPiAuYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi13YXJuaW5nOmFjdGl2ZSwgLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi13YXJuaW5nLmFjdGl2ZSwgLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUsXG4gICAgLm9wZW4gPiAuYnRuLXJhaXNlZC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXdhcm5pbmc6YWN0aXZlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXdhcm5pbmcuYWN0aXZlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4td2FybmluZy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5vcGVuID5cbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+XG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY0NzBlO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZTQzNzAwOyB9XG4gICAgICAuYnRuLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nOmFjdGl2ZTpob3ZlciwgLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmc6YWN0aXZlOmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZzphY3RpdmUuZm9jdXMsIC5ibWQtYnRuLWZhYi5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nLmFjdGl2ZTpob3ZlciwgLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmcuYWN0aXZlOmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmcuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZy5hY3RpdmUuZm9jdXMsIC5ibWQtYnRuLWZhYi5idG4td2FybmluZy5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAub3BlbiA+IC5ibWQtYnRuLWZhYi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmc6YWN0aXZlOmhvdmVyLCAuYnRuLXJhaXNlZC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmc6YWN0aXZlOmZvY3VzLCAuYnRuLXJhaXNlZC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmc6YWN0aXZlLmZvY3VzLCAuYnRuLXJhaXNlZC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuYWN0aXZlOmhvdmVyLCAuYnRuLXJhaXNlZC5idG4td2FybmluZy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuYWN0aXZlOmZvY3VzLCAuYnRuLXJhaXNlZC5idG4td2FybmluZy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuYWN0aXZlLmZvY3VzLCAuYnRuLXJhaXNlZC5idG4td2FybmluZy5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgICAgLm9wZW4gPiAuYnRuLXJhaXNlZC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYnRuLXJhaXNlZC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYnRuLXJhaXNlZC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4td2FybmluZzphY3RpdmU6aG92ZXIsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXdhcm5pbmc6YWN0aXZlOmZvY3VzLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi13YXJuaW5nOmFjdGl2ZS5mb2N1cyxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4td2FybmluZy5hY3RpdmU6aG92ZXIsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXdhcm5pbmcuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXdhcm5pbmcuYWN0aXZlOmZvY3VzLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi13YXJuaW5nLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi13YXJuaW5nLmFjdGl2ZS5mb2N1cyxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4td2FybmluZy5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjQ3MGU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2EyMjcwMDsgfVxuICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5ibWQtYnRuLWZhYi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLm9wZW4gPiAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiwgLm9wZW4gPiAuYnRuLXJhaXNlZC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLm9wZW4gPlxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiwgLm9wZW4gPlxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjU3MjI7IH1cbiAgICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5ibWQtYnRuLWZhYi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLm9wZW4gPiAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYnRuLXJhaXNlZC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY0NzBlOyB9XG4gICAgLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZy5kaXNhYmxlZC5mb2N1cywgLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nLmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZzpkaXNhYmxlZDpmb2N1cywgLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZzpkaXNhYmxlZC5mb2N1cywgLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQuZm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi13YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAuYnRuLXJhaXNlZC5idG4td2FybmluZy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4td2FybmluZy5kaXNhYmxlZC5mb2N1cywgLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmc6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4tcmFpc2VkLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi13YXJuaW5nOmRpc2FibGVkLmZvY3VzLCAuYnRuLXJhaXNlZC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4td2FybmluZy5kaXNhYmxlZDpmb2N1cyxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXdhcm5pbmcuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXdhcm5pbmcuZGlzYWJsZWQuZm9jdXMsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi13YXJuaW5nLmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi13YXJuaW5nOmRpc2FibGVkOmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4td2FybmluZzpkaXNhYmxlZC5mb2N1cyxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjU3MjI7XG4gICAgICBib3JkZXItY29sb3I6ICNmZjU3MjI7IH1cbiAgICAuYnRuLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmcuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nOmRpc2FibGVkOmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi13YXJuaW5nLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi13YXJuaW5nOmRpc2FibGVkOmhvdmVyLCAuYnRuLXJhaXNlZC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4td2FybmluZy5kaXNhYmxlZDpob3ZlcixcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXdhcm5pbmcuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXdhcm5pbmc6ZGlzYWJsZWQ6aG92ZXIsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1NzIyO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmY1NzIyOyB9XG4gIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWRhbmdlciwgLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLWRhbmdlciwgLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWRhbmdlcixcbiAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQ0MzM2O1xuICAgIGJvcmRlci1jb2xvcjogI2Y0NDMzNjsgfVxuICAgIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWRhbmdlcjpob3ZlciwgLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLWRhbmdlcjpob3ZlciwgLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tZGFuZ2VyOmhvdmVyLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNTU1NDk7XG4gICAgICBib3JkZXItY29sb3I6ICNlMTFiMGM7IH1cbiAgICAuYnRuLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXI6Zm9jdXMsIC5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLWRhbmdlci5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tZGFuZ2VyOmZvY3VzLCAuYnRuLXJhaXNlZC5idG4tZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1kYW5nZXIuZm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1kYW5nZXIuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWRhbmdlcjpmb2N1cyxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tZGFuZ2VyLmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tZGFuZ2VyLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNTU1NDk7XG4gICAgICBib3JkZXItY29sb3I6ICNlMTFiMGM7IH1cbiAgICAuYnRuLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXI6YWN0aXZlLCAuYm1kLWJ0bi1mYWIuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuYWN0aXZlLCAuYm1kLWJ0bi1mYWIuYnRuLWRhbmdlci5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+IC5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tZGFuZ2VyOmFjdGl2ZSwgLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5hY3RpdmUsIC5idG4tcmFpc2VkLmJ0bi1kYW5nZXIuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1kYW5nZXI6YWN0aXZlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tZGFuZ2VyLmFjdGl2ZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWRhbmdlci5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5vcGVuID5cbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLFxuICAgIC5vcGVuID5cbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1NTU0OTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2UxMWIwYzsgfVxuICAgICAgLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyOmFjdGl2ZTpob3ZlciwgLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyOmFjdGl2ZTpmb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyOmFjdGl2ZS5mb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmUuZm9jdXM6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmFjdGl2ZTpob3ZlciwgLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmFjdGl2ZTpmb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmFjdGl2ZS5mb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAgIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1kYW5nZXI6YWN0aXZlOmhvdmVyLCAuYnRuLXJhaXNlZC5idG4tZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tZGFuZ2VyOmFjdGl2ZTpmb2N1cywgLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLWRhbmdlcjphY3RpdmUuZm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmUuZm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1kYW5nZXIuYWN0aXZlOmhvdmVyLCAuYnRuLXJhaXNlZC5idG4tZGFuZ2VyLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tZGFuZ2VyLmFjdGl2ZTpmb2N1cywgLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5hY3RpdmUuZm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1kYW5nZXIuYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tcmFpc2VkLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgICAgLm9wZW4gPiAuYnRuLXJhaXNlZC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAgIC5vcGVuID4gLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWRhbmdlcjphY3RpdmU6aG92ZXIsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tZGFuZ2VyOmFjdGl2ZTpmb2N1cyxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1kYW5nZXI6YWN0aXZlLmZvY3VzLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmUuZm9jdXM6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWRhbmdlci5hY3RpdmU6aG92ZXIsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWRhbmdlci5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tZGFuZ2VyLmFjdGl2ZTpmb2N1cyxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tZGFuZ2VyLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1kYW5nZXIuYWN0aXZlLmZvY3VzLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1kYW5nZXIuYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAgIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjU1NTQ5O1xuICAgICAgICBib3JkZXItY29sb3I6ICNhMjEzMDk7IH1cbiAgICAub3BlbiA+IC5idG4uYm1kLWJ0bi1mYWIuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLm9wZW4gPlxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+XG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQ0MzM2OyB9XG4gICAgICAub3BlbiA+IC5idG4uYm1kLWJ0bi1mYWIuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1NTU0OTsgfVxuICAgIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWRhbmdlci5kaXNhYmxlZDpmb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuZGlzYWJsZWQuZm9jdXMsIC5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyOmRpc2FibGVkOmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWRhbmdlcjpkaXNhYmxlZC5mb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5kaXNhYmxlZDpmb2N1cywgLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tZGFuZ2VyLmRpc2FibGVkLmZvY3VzLCAuYnRuLXJhaXNlZC5idG4tZGFuZ2VyLmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1kYW5nZXI6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLWRhbmdlcjpkaXNhYmxlZC5mb2N1cywgLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tZGFuZ2VyLmRpc2FibGVkOmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tZGFuZ2VyLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1kYW5nZXIuZGlzYWJsZWQuZm9jdXMsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1kYW5nZXIuZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWRhbmdlcjpkaXNhYmxlZDpmb2N1cyxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tZGFuZ2VyOmRpc2FibGVkLmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQuZm9jdXM6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQ0MzM2O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZjQ0MzM2OyB9XG4gICAgLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmRpc2FibGVkOmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLWRhbmdlci5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWRhbmdlcjpkaXNhYmxlZDpob3ZlciwgLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5kaXNhYmxlZDpob3ZlciwgLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tZGFuZ2VyOmRpc2FibGVkOmhvdmVyLCAuYnRuLXJhaXNlZC5idG4tZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1kYW5nZXIuZGlzYWJsZWQ6aG92ZXIsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1kYW5nZXIuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWRhbmdlcjpkaXNhYmxlZDpob3ZlcixcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjtcbiAgICAgIGJvcmRlci1jb2xvcjogI2Y0NDMzNjsgfVxuICAuYnRuLmJtZC1idG4tZmFiOmZvY3VzLCAuYm1kLWJ0bi1mYWIuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiOmhvdmVyLCAuYm1kLWJ0bi1mYWIuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQ6Zm9jdXMsIC5idG4tcmFpc2VkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkOmhvdmVyLCAuYnRuLXJhaXNlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gIC5idG4tZ3JvdXAtcmFpc2VkIC5idG46Zm9jdXMsXG4gIC5idG4tZ3JvdXAtcmFpc2VkIC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gIC5idG4tZ3JvdXAtcmFpc2VkIC5idG46aG92ZXIsXG4gIC5idG4tZ3JvdXAtcmFpc2VkIC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgYm94LXNoYWRvdzogMCA0cHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuICAuYnRuLmJtZC1idG4tZmFiLmFjdGl2ZSwgLmJtZC1idG4tZmFiLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWI6YWN0aXZlLCAuYm1kLWJ0bi1mYWIuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmFjdGl2ZSwgLmJ0bi1yYWlzZWQuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkOmFjdGl2ZSwgLmJ0bi1yYWlzZWQuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSxcbiAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5hY3RpdmUsXG4gIC5idG4tZ3JvdXAtcmFpc2VkIC5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuOmFjdGl2ZSxcbiAgLmJ0bi1ncm91cC1yYWlzZWQgLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuMTgpLCAwIDhweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4zNik7IH1cbiAgLmJ0bi5idG4tcmFpc2VkLCAuYnRuLXJhaXNlZC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4sXG4gIC5idG4tZ3JvdXAtcmFpc2VkIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuICAgIC5idG4uYnRuLXJhaXNlZC5idG4tbGluaywgLmJ0bi1yYWlzZWQuYnRuLWxpbmsuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWxpbmssXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1saW5rLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgICAuYnRuLmJ0bi1yYWlzZWQuYnRuLWxpbmsuYWN0aXZlLCAuYnRuLXJhaXNlZC5idG4tbGluay5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tbGluay5hY3RpdmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWxpbmsuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAgIC5idG4uYnRuLXJhaXNlZC5idG4tbGluazpmb2N1cywgLmJ0bi1yYWlzZWQuYnRuLWxpbmsuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLWxpbms6YWN0aXZlLCAuYnRuLXJhaXNlZC5idG4tbGluay5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLWxpbms6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi1saW5rLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWxpbms6Zm9jdXMsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWxpbmsuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tbGluazphY3RpdmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWxpbmsuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWxpbms6aG92ZXIsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWxpbmsuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXVtkaXNhYmxlZF0gLmJ0bi5idG4tcmFpc2VkLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5idG4tcmFpc2VkLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmRpc2FibGVkLCAuYnRuLXJhaXNlZC5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZDpkaXNhYmxlZCwgLmJ0bi1yYWlzZWQuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWRbZGlzYWJsZWRdLCAuYnRuLXJhaXNlZFtkaXNhYmxlZF0uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0biwgZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXVxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5kaXNhYmxlZCxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG46ZGlzYWJsZWQsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuW2Rpc2FibGVkXSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCBbZGlzYWJsZWRdLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5idG4uYnRuLW91dGxpbmUsIC5idG4tb3V0bGluZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeSwgLmJ0bi1vdXRsaW5lLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeSwgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtaW5mbywgLmJ0bi1vdXRsaW5lLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MsIC5idG4tb3V0bGluZS1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nLCAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyLCAuYnRuLW91dGxpbmUtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDFweDsgfVxuICAuYnRuLmJ0bi1vdXRsaW5lLCAuYnRuLW91dGxpbmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgfVxuICAgIC5idG4uYnRuLW91dGxpbmU6aG92ZXIsIC5idG4tb3V0bGluZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lOmZvY3VzLCAuYnRuLW91dGxpbmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLmZvY3VzLCAuYnRuLW91dGxpbmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZTphY3RpdmUsIC5idG4tb3V0bGluZS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+IC5idG4tb3V0bGluZS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG4gICAgICAuYnRuLmJ0bi1vdXRsaW5lOmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmU6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZTphY3RpdmUuZm9jdXMsIC5idG4tb3V0bGluZS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUuYWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS5hY3RpdmUuZm9jdXMsIC5idG4tb3V0bGluZS5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgIC5vcGVuID4gLmJ0bi1vdXRsaW5lLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYnRuLW91dGxpbmUuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tb3V0bGluZS5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tb3V0bGluZS5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC40KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG4gICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmJ0bi1vdXRsaW5lLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJ0bi1vdXRsaW5lLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS5kaXNhYmxlZDpmb2N1cywgLmJ0bi1vdXRsaW5lLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS5kaXNhYmxlZC5mb2N1cywgLmJ0bi1vdXRsaW5lLmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZTpkaXNhYmxlZDpmb2N1cywgLmJ0bi1vdXRsaW5lLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZTpkaXNhYmxlZC5mb2N1cywgLmJ0bi1vdXRsaW5lLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQuZm9jdXM6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS5kaXNhYmxlZDpob3ZlciwgLmJ0bi1vdXRsaW5lLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZTpkaXNhYmxlZDpob3ZlciwgLmJ0bi1vdXRsaW5lLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG4gICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZSwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZTphY3RpdmUsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLmFjdGl2ZSwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUuZHJvcGRvd24tdG9nZ2xlLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZTphY3RpdmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lOmFjdGl2ZTpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmU6YWN0aXZlLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmUuZm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS5hY3RpdmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLmFjdGl2ZTpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUuYWN0aXZlLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUuYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjI1KTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4yNSk7IH1cbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS5kaXNhYmxlZDpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS5kaXNhYmxlZC5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZTpkaXNhYmxlZDpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZTpkaXNhYmxlZC5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQuZm9jdXM6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS5kaXNhYmxlZDpob3ZlciwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZTpkaXNhYmxlZDpob3ZlciwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgfVxuICAgIC5idG4uYnRuLW91dGxpbmUuYnRuLWxpbmssIC5idG4tb3V0bGluZS5idG4tbGluay5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5LCAuYnRuLW91dGxpbmUtcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjMDA5Njg4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA5Njg4OyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5OmhvdmVyLCAuYnRuLW91dGxpbmUtcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwMDk2ODg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnk6Zm9jdXMsIC5idG4tb3V0bGluZS1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5LmZvY3VzLCAuYnRuLW91dGxpbmUtcHJpbWFyeS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwMDk2ODg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnk6YWN0aXZlLCAuYnRuLW91dGxpbmUtcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuYWN0aXZlLCAuYnRuLW91dGxpbmUtcHJpbWFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5vcGVuID4gLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+IC5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwMDk2ODg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgICAgIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeTphY3RpdmU6aG92ZXIsIC5idG4tb3V0bGluZS1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeTphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeTphY3RpdmUuZm9jdXMsIC5idG4tb3V0bGluZS1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeS5hY3RpdmU6aG92ZXIsIC5idG4tb3V0bGluZS1wcmltYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeS5hY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1wcmltYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeS5hY3RpdmUuZm9jdXMsIC5idG4tb3V0bGluZS1wcmltYXJ5LmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAub3BlbiA+IC5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAwOTY4ODtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjQpO1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTsgfVxuICAgIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ0bi1vdXRsaW5lLXByaW1hcnkuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuZGlzYWJsZWQuZm9jdXMsIC5idG4tb3V0bGluZS1wcmltYXJ5LmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5OmRpc2FibGVkOmZvY3VzLCAuYnRuLW91dGxpbmUtcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeTpkaXNhYmxlZC5mb2N1cywgLmJ0bi1vdXRsaW5lLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idG4tb3V0bGluZS1wcmltYXJ5LmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5OmRpc2FibGVkOmhvdmVyLCAuYnRuLW91dGxpbmUtcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAwOTY4ODsgfVxuICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeSwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDA5Njg4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAwOTY4ODsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5OmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAwOTY4ODtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnk6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5LmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAwOTY4ODtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnk6YWN0aXZlLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuYWN0aXZlLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMwMDk2ODg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnk6YWN0aXZlOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnk6YWN0aXZlOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnk6YWN0aXZlLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuYWN0aXZlOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuYWN0aXZlOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuYWN0aXZlLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogIzAwOTY4ODtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMjUpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjI1KTsgfVxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiwgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXByaW1hcnkuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuZGlzYWJsZWQuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1wcmltYXJ5LmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5OmRpc2FibGVkOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeTpkaXNhYmxlZC5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDA5Njg4OyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1wcmltYXJ5LmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5OmRpc2FibGVkOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuYnRuLWxpbmssIC5idG4tb3V0bGluZS1wcmltYXJ5LmJ0bi1saW5rLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeSwgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnk6aG92ZXIsIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnk6Zm9jdXMsIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5mb2N1cywgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTphY3RpdmUsIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkuYWN0aXZlLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUsXG4gICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cbiAgICAgIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnk6YWN0aXZlLmZvY3VzLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5hY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkuYWN0aXZlLmZvY3VzLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgIC5vcGVuID4gLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjQpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cbiAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kaXNhYmxlZC5mb2N1cywgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmRpc2FibGVkOmZvY3VzLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnk6ZGlzYWJsZWQuZm9jdXMsIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmRpc2FibGVkOmhvdmVyLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG4gICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnksIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnk6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnk6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTphY3RpdmUsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkuYWN0aXZlLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTphY3RpdmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnk6YWN0aXZlOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmFjdGl2ZS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5hY3RpdmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkuYWN0aXZlOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmFjdGl2ZS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMjUpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjI1KTsgfVxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kaXNhYmxlZC5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmRpc2FibGVkOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnk6ZGlzYWJsZWQuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmRpc2FibGVkOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgfVxuICAgIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmJ0bi1saW5rLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmJ0bi1saW5rLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnRuLmJ0bi1vdXRsaW5lLWluZm8sIC5idG4tb3V0bGluZS1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgY29sb3I6ICMwM2E5ZjQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXItY29sb3I6ICMwM2E5ZjQ7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLWluZm86aG92ZXIsIC5idG4tb3V0bGluZS1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzAzYTlmNDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAzYTlmNDsgfVxuICAgIC5idG4uYnRuLW91dGxpbmUtaW5mbzpmb2N1cywgLmJ0bi1vdXRsaW5lLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLWluZm8uZm9jdXMsIC5idG4tb3V0bGluZS1pbmZvLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzAzYTlmNDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAzYTlmNDsgfVxuICAgIC5idG4uYnRuLW91dGxpbmUtaW5mbzphY3RpdmUsIC5idG4tb3V0bGluZS1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtaW5mby5hY3RpdmUsIC5idG4tb3V0bGluZS1pbmZvLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlLFxuICAgIC5vcGVuID4gLmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzAzYTlmNDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAzYTlmNDsgfVxuICAgICAgLmJ0bi5idG4tb3V0bGluZS1pbmZvOmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1pbmZvOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1pbmZvOmFjdGl2ZS5mb2N1cywgLmJ0bi1vdXRsaW5lLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmUuZm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1pbmZvLmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLWluZm8uYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1pbmZvLmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLWluZm8uYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1pbmZvLmFjdGl2ZS5mb2N1cywgLmJ0bi1vdXRsaW5lLWluZm8uYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgIC5vcGVuID4gLmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAgIC5vcGVuID4gLmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgIC5vcGVuID4gLmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMDNhOWY0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuNCk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzAzYTlmNDsgfVxuICAgIC5vcGVuID4gLmJ0bi5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XG4gICAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtaW5mby5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS1pbmZvLmRpc2FibGVkOmZvY3VzLCAuYnRuLW91dGxpbmUtaW5mby5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtaW5mby5kaXNhYmxlZC5mb2N1cywgLmJ0bi1vdXRsaW5lLWluZm8uZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLWluZm86ZGlzYWJsZWQ6Zm9jdXMsIC5idG4tb3V0bGluZS1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1pbmZvOmRpc2FibGVkLmZvY3VzLCAuYnRuLW91dGxpbmUtaW5mby5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAzYTlmNDsgfVxuICAgIC5idG4uYnRuLW91dGxpbmUtaW5mby5kaXNhYmxlZDpob3ZlciwgLmJ0bi1vdXRsaW5lLWluZm8uZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLWluZm86ZGlzYWJsZWQ6aG92ZXIsIC5idG4tb3V0bGluZS1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDNhOWY0OyB9XG4gICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1pbmZvLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtaW5mby5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwM2E5ZjQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDNhOWY0OyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWluZm86aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMDNhOWY0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mbzpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWluZm8uZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMDNhOWY0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mbzphY3RpdmUsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mby5hY3RpdmUsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mby5kcm9wZG93bi10b2dnbGUsXG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAzYTlmNDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mbzphY3RpdmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mbzphY3RpdmU6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mbzphY3RpdmUuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mby5hY3RpdmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mby5hY3RpdmU6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mby5hY3RpdmUuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtaW5mby5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mby5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjMDNhOWY0O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4yNSk7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMjUpOyB9XG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mby5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtaW5mby5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1pbmZvLmRpc2FibGVkOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtaW5mby5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mby5kaXNhYmxlZC5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLWluZm8uZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWluZm86ZGlzYWJsZWQ6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1pbmZvOmRpc2FibGVkLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtaW5mby5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6ICMwM2E5ZjQ7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mby5kaXNhYmxlZDpob3ZlciwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLWluZm8uZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWluZm86ZGlzYWJsZWQ6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzAzYTlmNDsgfVxuICAgIC5idG4uYnRuLW91dGxpbmUtaW5mby5idG4tbGluaywgLmJ0bi1vdXRsaW5lLWluZm8uYnRuLWxpbmsuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idG4uYnRuLW91dGxpbmUtc3VjY2VzcywgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogIzRjYWY1MDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1jb2xvcjogIzRjYWY1MDsgfVxuICAgIC5idG4uYnRuLW91dGxpbmUtc3VjY2Vzczpob3ZlciwgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjNGNhZjUwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNGNhZjUwOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzOmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtc3VjY2Vzcy5mb2N1cywgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjNGNhZjUwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNGNhZjUwOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzOmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUsXG4gICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjNGNhZjUwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNGNhZjUwOyB9XG4gICAgICAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6YWN0aXZlOmhvdmVyLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6YWN0aXZlLmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuYWN0aXZlOmhvdmVyLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuYWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuYWN0aXZlLmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICM0Y2FmNTA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC40KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNGNhZjUwOyB9XG4gICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiwgLm9wZW4gPiAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idG4tb3V0bGluZS1zdWNjZXNzLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmRpc2FibGVkLmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtc3VjY2VzczpkaXNhYmxlZDpmb2N1cywgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6ZGlzYWJsZWQuZm9jdXMsIC5idG4tb3V0bGluZS1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQuZm9jdXM6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNGNhZjUwOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtc3VjY2VzczpkaXNhYmxlZDpob3ZlciwgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICM0Y2FmNTA7IH1cbiAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzRjYWY1MDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICM0Y2FmNTA7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc3VjY2Vzczpob3ZlciwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICM0Y2FmNTA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc3VjY2Vzcy5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICM0Y2FmNTA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzOmFjdGl2ZSwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmFjdGl2ZSwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjNGNhZjUwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzOmFjdGl2ZTpob3ZlciwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzOmFjdGl2ZTpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzOmFjdGl2ZS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmUuZm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmFjdGl2ZTpob3ZlciwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmFjdGl2ZTpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmFjdGl2ZS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICM0Y2FmNTA7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjI1KTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4yNSk7IH1cbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zdWNjZXNzLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmRpc2FibGVkLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc3VjY2VzczpkaXNhYmxlZDpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6ZGlzYWJsZWQuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQuZm9jdXM6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzRjYWY1MDsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc3VjY2VzczpkaXNhYmxlZDpob3ZlciwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNGNhZjUwOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmJ0bi1saW5rLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5idG4tbGluay5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nLCAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjZmY1NzIyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmY1NzIyOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nOmhvdmVyLCAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZjU3MjI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6ICNmZjU3MjI7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmc6Zm9jdXMsIC5idG4tb3V0bGluZS13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nLmZvY3VzLCAuYnRuLW91dGxpbmUtd2FybmluZy5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZjU3MjI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6ICNmZjU3MjI7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmc6YWN0aXZlLCAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuYWN0aXZlLCAuYnRuLW91dGxpbmUtd2FybmluZy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5vcGVuID4gLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+IC5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZjU3MjI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6ICNmZjU3MjI7IH1cbiAgICAgIC5idG4uYnRuLW91dGxpbmUtd2FybmluZzphY3RpdmU6aG92ZXIsIC5idG4tb3V0bGluZS13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtd2FybmluZzphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtd2FybmluZzphY3RpdmUuZm9jdXMsIC5idG4tb3V0bGluZS13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtd2FybmluZy5hY3RpdmU6aG92ZXIsIC5idG4tb3V0bGluZS13YXJuaW5nLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtd2FybmluZy5hY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS13YXJuaW5nLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtd2FybmluZy5hY3RpdmUuZm9jdXMsIC5idG4tb3V0bGluZS13YXJuaW5nLmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAub3BlbiA+IC5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmNTcyMjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjQpO1xuICAgICAgICBib3JkZXItY29sb3I6ICNmZjU3MjI7IH1cbiAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTsgfVxuICAgIC5idG4uYnRuLW91dGxpbmUtd2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZGlzYWJsZWQuZm9jdXMsIC5idG4tb3V0bGluZS13YXJuaW5nLmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nOmRpc2FibGVkOmZvY3VzLCAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtd2FybmluZzpkaXNhYmxlZC5mb2N1cywgLmJ0bi1vdXRsaW5lLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICNmZjU3MjI7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idG4tb3V0bGluZS13YXJuaW5nLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nOmRpc2FibGVkOmhvdmVyLCAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZmNTcyMjsgfVxuICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtd2FybmluZywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmY1NzIyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZmNTcyMjsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmNTcyMjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmc6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmNTcyMjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmc6YWN0aXZlLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuYWN0aXZlLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZjU3MjI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmc6YWN0aXZlOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmc6YWN0aXZlOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmc6YWN0aXZlLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuYWN0aXZlOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuYWN0aXZlOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuYWN0aXZlLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogI2ZmNTcyMjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMjUpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjI1KTsgfVxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiwgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtd2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZGlzYWJsZWQuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS13YXJuaW5nLmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nOmRpc2FibGVkOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtd2FybmluZzpkaXNhYmxlZC5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmY1NzIyOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS13YXJuaW5nLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nOmRpc2FibGVkOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6ICNmZjU3MjI7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuYnRuLWxpbmssIC5idG4tb3V0bGluZS13YXJuaW5nLmJ0bi1saW5rLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlciwgLmJ0bi1vdXRsaW5lLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjZjQ0MzM2O1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjQ0MzM2OyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXI6aG92ZXIsIC5idG4tb3V0bGluZS1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZjQ0MzM2O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZjQ0MzM2OyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXI6Zm9jdXMsIC5idG4tb3V0bGluZS1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5mb2N1cywgLmJ0bi1vdXRsaW5lLWRhbmdlci5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmNDQzMzY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6ICNmNDQzMzY7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlcjphY3RpdmUsIC5idG4tb3V0bGluZS1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXIuYWN0aXZlLCAuYnRuLW91dGxpbmUtZGFuZ2VyLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGUsXG4gICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmNDQzMzY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6ICNmNDQzMzY7IH1cbiAgICAgIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyOmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlcjphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXI6YWN0aXZlLmZvY3VzLCAuYnRuLW91dGxpbmUtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyLmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLWRhbmdlci5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5hY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1kYW5nZXIuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXIuYWN0aXZlLmZvY3VzLCAuYnRuLW91dGxpbmUtZGFuZ2VyLmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgIC5vcGVuID4gLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tb3V0bGluZS1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tb3V0bGluZS1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2Y0NDMzNjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjQpO1xuICAgICAgICBib3JkZXItY29sb3I6ICNmNDQzMzY7IH1cbiAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tb3V0bGluZS1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXIuZGlzYWJsZWQ6Zm9jdXMsIC5idG4tb3V0bGluZS1kYW5nZXIuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5kaXNhYmxlZC5mb2N1cywgLmJ0bi1vdXRsaW5lLWRhbmdlci5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyOmRpc2FibGVkOmZvY3VzLCAuYnRuLW91dGxpbmUtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXI6ZGlzYWJsZWQuZm9jdXMsIC5idG4tb3V0bGluZS1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICNmNDQzMzY7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5kaXNhYmxlZDpob3ZlciwgLmJ0bi1vdXRsaW5lLWRhbmdlci5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyOmRpc2FibGVkOmhvdmVyLCAuYnRuLW91dGxpbmUtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZjQ0MzM2OyB9XG4gICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZjQ0MzM2O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2Y0NDMzNjsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXI6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmNDQzMzY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXI6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLWRhbmdlci5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2Y0NDMzNjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlcjphY3RpdmUsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXIuYWN0aXZlLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtZGFuZ2VyLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmNDQzMzY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlcjphY3RpdmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXI6YWN0aXZlOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyOmFjdGl2ZS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5hY3RpdmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1kYW5nZXIuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXIuYWN0aXZlOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtZGFuZ2VyLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyLmFjdGl2ZS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLWRhbmdlci5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogI2Y0NDMzNjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMjUpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjI1KTsgfVxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXIuZGlzYWJsZWQ6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1kYW5nZXIuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5kaXNhYmxlZC5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLWRhbmdlci5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyOmRpc2FibGVkOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXI6ZGlzYWJsZWQuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZjQ0MzM2OyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5kaXNhYmxlZDpob3ZlciwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLWRhbmdlci5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyOmRpc2FibGVkOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2Y0NDMzNjsgfVxuICAgIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyLmJ0bi1saW5rLCAuYnRuLW91dGxpbmUtZGFuZ2VyLmJ0bi1saW5rLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnRuLmJtZC1idG4tZmFiLCAuYm1kLWJ0bi1mYWIuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJtZC1idG4taWNvbiwgLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICAgIC5idG4tZ3JvdXAtbGcgLmJ0bi5ibWQtYnRuLWZhYiwgLmJ0bi1ncm91cC1sZyAuYm1kLWJ0bi1mYWIuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtc20gLmJ0bi5ibWQtYnRuLWZhYixcbiAgICAuYnRuLWdyb3VwLXNtIC5ibWQtYnRuLWZhYi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIsIC5ibWQtYnRuLWZhYi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4tZ3JvdXAtbGcgLmJ0bi5ibWQtYnRuLWljb24sIC5idG4tZ3JvdXAtbGcgLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1zbSAuYnRuLmJtZC1idG4taWNvbixcbiAgICAuYnRuLWdyb3VwLXNtIC5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJtZC1idG4taWNvbiwgLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuICAgIC5idG4uYm1kLWJ0bi1mYWIgLm1hdGVyaWFsLWljb25zLCAuYm1kLWJ0bi1mYWIuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIC5tYXRlcmlhbC1pY29ucywgLmJ0bi5ibWQtYnRuLWljb24gLm1hdGVyaWFsLWljb25zLCAuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSAubWF0ZXJpYWwtaWNvbnMge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0wLjc1cmVtLCAtMC43NXJlbSk7IH1cbiAgLmJ0bi5ibWQtYnRuLWZhYiwgLmJtZC1idG4tZmFiLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgd2lkdGg6IDMuNXJlbTtcbiAgICBtaW4td2lkdGg6IDMuNXJlbTtcbiAgICBoZWlnaHQ6IDMuNXJlbTtcbiAgICBib3gtc2hhZG93OiAwIDFweCAxLjVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMXB4IDFweCAwIHJnYmEoMCwgMCwgMCwgMC4yNik7IH1cbiAgICAuYnRuLmJtZC1idG4tZmFiIC5yaXBwbGUtY29udGFpbmVyLCAuYm1kLWJ0bi1mYWIuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIC5yaXBwbGUtY29udGFpbmVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuICAgIC5idG4uYm1kLWJ0bi1mYWIuYm1kLWJ0bi1mYWItc20sIC5ibWQtYnRuLWZhYi5ibWQtYnRuLWZhYi1zbS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1zbSAuYnRuLmJtZC1idG4tZmFiLFxuICAgIC5idG4tZ3JvdXAtc20gLmJtZC1idG4tZmFiLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICB3aWR0aDogMi41cmVtO1xuICAgICAgbWluLXdpZHRoOiAyLjVyZW07XG4gICAgICBoZWlnaHQ6IDIuNXJlbTsgfVxuICAuYnRuLmJtZC1idG4taWNvbiwgLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIHdpZHRoOiAycmVtO1xuICAgIG1pbi13aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgLmJ0bi5ibWQtYnRuLWljb24uYm1kLWJ0bi1pY29uLXNtLCAuYm1kLWJ0bi1pY29uLmJtZC1idG4taWNvbi1zbS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1zbSAuYnRuLmJtZC1idG4taWNvbixcbiAgICAuYnRuLWdyb3VwLXNtIC5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICBtaW4td2lkdGg6IDEuNXJlbTtcbiAgICAgIGhlaWdodDogMS41cmVtO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAgICAgLmJ0bi5ibWQtYnRuLWljb24uYm1kLWJ0bi1pY29uLXNtIC5tYXRlcmlhbC1pY29ucywgLmJtZC1idG4taWNvbi5ibWQtYnRuLWljb24tc20uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIC5tYXRlcmlhbC1pY29ucyxcbiAgICAgIC5idG4tZ3JvdXAtc20gLmJ0bi5ibWQtYnRuLWljb24gLm1hdGVyaWFsLWljb25zLFxuICAgICAgLmJ0bi1ncm91cC1zbSAuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSAubWF0ZXJpYWwtaWNvbnMge1xuICAgICAgICB3aWR0aDogMS4xMjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMC41NjI1cmVtLCAtMC41NjI1cmVtKTsgfVxuICAuYnRuIC5tYXRlcmlhbC1pY29ucywgLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSAubWF0ZXJpYWwtaWNvbnMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC4yNWVtO1xuICAgIG1hcmdpbi10b3A6IC0xZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLTFlbTtcbiAgICBmb250LXNpemU6IDEuNWVtOyB9XG4gIC5idG4uYnRuLWxnLCAuYnRuLWdyb3VwLWxnID4gLmJ0biwgLmJ0bi1ncm91cC1sZyA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4tbGcuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAuYnRuLWdyb3VwLWxnIC5idG4sXG4gIC5idG4tZ3JvdXAtbGcgLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgcGFkZGluZzogMC43NXJlbSAxLjVyZW07XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuM3JlbTsgfVxuICAuYnRuLmJ0bi1zbSwgLmJ0bi1ncm91cC1zbSA+IC5idG4sIC5idG4tZ3JvdXAtc20gPiAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLXNtLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgLmJ0bi1ncm91cC1zbSAuYnRuLFxuICAuYnRuLWdyb3VwLXNtIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIHBhZGRpbmc6IDAuNDA2MjVyZW0gMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMDYyNXJlbTtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuXG5maWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5idG4sIGZpZWxkc2V0W2Rpc2FibGVkXVtkaXNhYmxlZF0gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5kaXNhYmxlZCwgLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bjpkaXNhYmxlZCwgLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6OmJlZm9yZSwgLmJ0bltkaXNhYmxlZF0sIFtkaXNhYmxlZF0uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdXG4uaW5wdXQtZ3JvdXAtYnRuIC5idG4sIGZpZWxkc2V0W2Rpc2FibGVkXVtkaXNhYmxlZF1cbi5pbnB1dC1ncm91cC1idG4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbi5pbnB1dC1ncm91cC1idG4gLmJ0bi5kaXNhYmxlZCxcbi5pbnB1dC1ncm91cC1idG4gLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbi5pbnB1dC1ncm91cC1idG4gLmJ0bjpkaXNhYmxlZCxcbi5pbnB1dC1ncm91cC1idG4gLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6OmJlZm9yZSxcbi5pbnB1dC1ncm91cC1idG4gLmJ0bltkaXNhYmxlZF0sXG4uaW5wdXQtZ3JvdXAtYnRuIFtkaXNhYmxlZF0uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC5kaXNhYmxlZCxcbi5idG4tZ3JvdXA6ZGlzYWJsZWQsXG4uYnRuLWdyb3VwW2Rpc2FibGVkXSwgZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCxcbi5idG4tZ3JvdXAtdmVydGljYWwuZGlzYWJsZWQsXG4uYnRuLWdyb3VwLXZlcnRpY2FsOmRpc2FibGVkLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbFtkaXNhYmxlZF0ge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuICAuYmctaW52ZXJzZSBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5idG4sIC5iZy1pbnZlcnNlIGZpZWxkc2V0W2Rpc2FibGVkXVtkaXNhYmxlZF0gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5kaXNhYmxlZCwgLmJnLWludmVyc2UgLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bjpkaXNhYmxlZCwgLmJnLWludmVyc2UgLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bltkaXNhYmxlZF0sIC5iZy1pbnZlcnNlIFtkaXNhYmxlZF0uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYmctaW52ZXJzZSBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdXG4gIC5pbnB1dC1ncm91cC1idG4gLmJ0biwgLmJnLWludmVyc2UgZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXVxuICAuaW5wdXQtZ3JvdXAtYnRuIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5iZy1pbnZlcnNlXG4gIC5pbnB1dC1ncm91cC1idG4gLmJ0bi5kaXNhYmxlZCwgLmJnLWludmVyc2VcbiAgLmlucHV0LWdyb3VwLWJ0biAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYmctaW52ZXJzZVxuICAuaW5wdXQtZ3JvdXAtYnRuIC5idG46ZGlzYWJsZWQsIC5iZy1pbnZlcnNlXG4gIC5pbnB1dC1ncm91cC1idG4gLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6OmJlZm9yZSwgLmJnLWludmVyc2VcbiAgLmlucHV0LWdyb3VwLWJ0biAuYnRuW2Rpc2FibGVkXSwgLmJnLWludmVyc2VcbiAgLmlucHV0LWdyb3VwLWJ0biBbZGlzYWJsZWRdLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJnLWludmVyc2UgZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXVxuICAuYnRuLWdyb3VwLCAuYmctaW52ZXJzZVxuICAuYnRuLWdyb3VwLmRpc2FibGVkLCAuYmctaW52ZXJzZVxuICAuYnRuLWdyb3VwOmRpc2FibGVkLCAuYmctaW52ZXJzZVxuICAuYnRuLWdyb3VwW2Rpc2FibGVkXSwgLmJnLWludmVyc2UgZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXVxuICAuYnRuLWdyb3VwLXZlcnRpY2FsLCAuYmctaW52ZXJzZVxuICAuYnRuLWdyb3VwLXZlcnRpY2FsLmRpc2FibGVkLCAuYmctaW52ZXJzZVxuICAuYnRuLWdyb3VwLXZlcnRpY2FsOmRpc2FibGVkLCAuYmctaW52ZXJzZVxuICAuYnRuLWdyb3VwLXZlcnRpY2FsW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTsgfVxuICBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5idG4sIGZpZWxkc2V0W2Rpc2FibGVkXVtkaXNhYmxlZF0gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXSAuYnRuOmhvdmVyLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIGZpZWxkc2V0W2Rpc2FibGVkXVtkaXNhYmxlZF0gLmJ0bjpmb2N1cywgZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXSAuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmRpc2FibGVkLCAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmRpc2FibGVkOmhvdmVyLCAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmRpc2FibGVkOmZvY3VzLCAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuOmRpc2FibGVkLCAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDo6YmVmb3JlLCAuYnRuOmRpc2FibGVkOmhvdmVyLCAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpob3Zlcjo6YmVmb3JlLCAuYnRuOmRpc2FibGVkOmZvY3VzLCAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpmb2N1czo6YmVmb3JlLCAuYnRuW2Rpc2FibGVkXSwgW2Rpc2FibGVkXS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG5bZGlzYWJsZWRdOmhvdmVyLCBbZGlzYWJsZWRdLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bltkaXNhYmxlZF06Zm9jdXMsIFtkaXNhYmxlZF0uY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdXG4gIC5pbnB1dC1ncm91cC1idG4gLmJ0biwgZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXVxuICAuaW5wdXQtZ3JvdXAtYnRuIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIGZpZWxkc2V0W2Rpc2FibGVkXVtkaXNhYmxlZF1cbiAgLmlucHV0LWdyb3VwLWJ0biAuYnRuOmhvdmVyLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdXG4gIC5pbnB1dC1ncm91cC1idG4gLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXVxuICAuaW5wdXQtZ3JvdXAtYnRuIC5idG46Zm9jdXMsIGZpZWxkc2V0W2Rpc2FibGVkXVtkaXNhYmxlZF1cbiAgLmlucHV0LWdyb3VwLWJ0biAuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAuaW5wdXQtZ3JvdXAtYnRuIC5idG4uZGlzYWJsZWQsXG4gIC5pbnB1dC1ncm91cC1idG4gLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgLmlucHV0LWdyb3VwLWJ0biAuYnRuLmRpc2FibGVkOmhvdmVyLFxuICAuaW5wdXQtZ3JvdXAtYnRuIC5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gIC5pbnB1dC1ncm91cC1idG4gLmJ0bi5kaXNhYmxlZDpmb2N1cyxcbiAgLmlucHV0LWdyb3VwLWJ0biAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAuaW5wdXQtZ3JvdXAtYnRuIC5idG46ZGlzYWJsZWQsXG4gIC5pbnB1dC1ncm91cC1idG4gLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6OmJlZm9yZSxcbiAgLmlucHV0LWdyb3VwLWJ0biAuYnRuOmRpc2FibGVkOmhvdmVyLFxuICAuaW5wdXQtZ3JvdXAtYnRuIC5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUsXG4gIC5pbnB1dC1ncm91cC1idG4gLmJ0bjpkaXNhYmxlZDpmb2N1cyxcbiAgLmlucHV0LWdyb3VwLWJ0biAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpmb2N1czo6YmVmb3JlLFxuICAuaW5wdXQtZ3JvdXAtYnRuIC5idG5bZGlzYWJsZWRdLFxuICAuaW5wdXQtZ3JvdXAtYnRuIFtkaXNhYmxlZF0uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAuaW5wdXQtZ3JvdXAtYnRuIC5idG5bZGlzYWJsZWRdOmhvdmVyLFxuICAuaW5wdXQtZ3JvdXAtYnRuIFtkaXNhYmxlZF0uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAuaW5wdXQtZ3JvdXAtYnRuIC5idG5bZGlzYWJsZWRdOmZvY3VzLFxuICAuaW5wdXQtZ3JvdXAtYnRuIFtkaXNhYmxlZF0uY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdXG4gIC5idG4tZ3JvdXAsIGZpZWxkc2V0W2Rpc2FibGVkXVtkaXNhYmxlZF1cbiAgLmJ0bi1ncm91cDpob3ZlciwgZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXVxuICAuYnRuLWdyb3VwOmZvY3VzLFxuICAuYnRuLWdyb3VwLmRpc2FibGVkLFxuICAuYnRuLWdyb3VwLmRpc2FibGVkOmhvdmVyLFxuICAuYnRuLWdyb3VwLmRpc2FibGVkOmZvY3VzLFxuICAuYnRuLWdyb3VwOmRpc2FibGVkLFxuICAuYnRuLWdyb3VwOmRpc2FibGVkOmhvdmVyLFxuICAuYnRuLWdyb3VwOmRpc2FibGVkOmZvY3VzLFxuICAuYnRuLWdyb3VwW2Rpc2FibGVkXSxcbiAgLmJ0bi1ncm91cFtkaXNhYmxlZF06aG92ZXIsXG4gIC5idG4tZ3JvdXBbZGlzYWJsZWRdOmZvY3VzLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdXG4gIC5idG4tZ3JvdXAtdmVydGljYWwsIGZpZWxkc2V0W2Rpc2FibGVkXVtkaXNhYmxlZF1cbiAgLmJ0bi1ncm91cC12ZXJ0aWNhbDpob3ZlciwgZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXVxuICAuYnRuLWdyb3VwLXZlcnRpY2FsOmZvY3VzLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsLmRpc2FibGVkLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsLmRpc2FibGVkOmhvdmVyLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsLmRpc2FibGVkOmZvY3VzLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsOmRpc2FibGVkLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsOmRpc2FibGVkOmhvdmVyLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsOmRpc2FibGVkOmZvY3VzLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsW2Rpc2FibGVkXSxcbiAgLmJ0bi1ncm91cC12ZXJ0aWNhbFtkaXNhYmxlZF06aG92ZXIsXG4gIC5idG4tZ3JvdXAtdmVydGljYWxbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAxMHB4IDFweDsgfVxuICAuYnRuLWdyb3VwIC5kcm9wZG93bi1tZW51LFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsIC5kcm9wZG93bi1tZW51IHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMC4xMjVyZW0gMC4xMjVyZW07IH1cbiAgLmJ0bi1ncm91cC5idG4tZ3JvdXAtcmFpc2VkLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsLmJ0bi1ncm91cC1yYWlzZWQge1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuICAuYnRuLWdyb3VwIC5idG4gKyAuYnRuLCAuYnRuLWdyb3VwIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgKyAuYnRuLCAuYnRuLWdyb3VwIC5idG4gKyAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLWdyb3VwIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgKyAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAuYnRuLWdyb3VwIC5idG4sXG4gIC5idG4tZ3JvdXAgLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgLmJ0bi1ncm91cCAuYnRuOmFjdGl2ZSxcbiAgLmJ0bi1ncm91cCAuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSxcbiAgLmJ0bi1ncm91cCAuYnRuLWdyb3VwLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsIC5idG4gKyAuYnRuLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgKyAuYnRuLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsIC5idG4gKyAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgKyAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsIC5idG4sXG4gIC5idG4tZ3JvdXAtdmVydGljYWwgLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgLmJ0bi1ncm91cC12ZXJ0aWNhbCAuYnRuOmFjdGl2ZSxcbiAgLmJ0bi1ncm91cC12ZXJ0aWNhbCAuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSxcbiAgLmJ0bi1ncm91cC12ZXJ0aWNhbCAuYnRuLWdyb3VwIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXAsXG4gIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLmNoZWNrYm94IGxhYmVsLFxubGFiZWwuY2hlY2tib3gtaW5saW5lIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjU2MjVyZW07XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuY2hlY2tib3ggbGFiZWwgLmNoZWNrYm94LWRlY29yYXRvcixcbiAgbGFiZWwuY2hlY2tib3gtaW5saW5lIC5jaGVja2JveC1kZWNvcmF0b3Ige1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuMTI1cmVtO1xuICAgIGxlZnQ6IDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIC5jaGVja2JveCBsYWJlbCAuY2hlY2tib3gtZGVjb3JhdG9yOjpiZWZvcmUsXG4gICAgbGFiZWwuY2hlY2tib3gtaW5saW5lIC5jaGVja2JveC1kZWNvcmF0b3I6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEuMjVyZW07XG4gICAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg0KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDIuMywgMi4zLCAxKTsgfVxuICAgIC5jaGVja2JveCBsYWJlbCAuY2hlY2tib3gtZGVjb3JhdG9yIC5jaGVjayxcbiAgICBsYWJlbC5jaGVja2JveC1pbmxpbmUgLmNoZWNrYm94LWRlY29yYXRvciAuY2hlY2sge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgICAgaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJvcmRlcjogMC4xMjVyZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwLjU0KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtOyB9XG4gICAgICAuY2hlY2tib3ggbGFiZWwgLmNoZWNrYm94LWRlY29yYXRvciAuY2hlY2s6OmJlZm9yZSxcbiAgICAgIGxhYmVsLmNoZWNrYm94LWlubGluZSAuY2hlY2tib3gtZGVjb3JhdG9yIC5jaGVjazo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTRweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMCwgMCAwIDAgMCwgMCAwIDAgMCwgMCAwIDAgMCwgMCAwIDAgMCwgMCAwIDAgMCwgMCAwIDAgMCBpbnNldDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICBhbmltYXRpb246IGNoZWNrYm94LW9mZjsgfVxuICAgICAgICAuaXMtZm9jdXNlZCAuY2hlY2tib3ggbGFiZWwgLmNoZWNrYm94LWRlY29yYXRvciAuY2hlY2s6OmJlZm9yZSwgLmlzLWZvY3VzZWRcbiAgICAgICAgbGFiZWwuY2hlY2tib3gtaW5saW5lIC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrOjpiZWZvcmUge1xuICAgICAgICAgIGFuaW1hdGlvbjogY2hlY2tib3gtb2ZmIDAuM3MgZm9yd2FyZHM7IH1cbiAgLmNoZWNrYm94IGxhYmVsIGlucHV0W3R5cGU9Y2hlY2tib3hdLFxuICBsYWJlbC5jaGVja2JveC1pbmxpbmUgaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmNoZWNrYm94IGxhYmVsIGlucHV0W3R5cGU9Y2hlY2tib3hdOmZvY3VzICsgLmNoZWNrYm94LWRlY29yYXRvciAuY2hlY2s6OmFmdGVyLFxuICAgIGxhYmVsLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XTpmb2N1cyArIC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrOjphZnRlciB7XG4gICAgICBvcGFjaXR5OiAwLjI7IH1cbiAgICAuY2hlY2tib3ggbGFiZWwgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrLFxuICAgIGxhYmVsLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgLmNoZWNrYm94LWRlY29yYXRvciAuY2hlY2sge1xuICAgICAgY29sb3I6ICMwMDk2ODg7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgICAuY2hlY2tib3ggbGFiZWwgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrOjpiZWZvcmUsXG4gICAgbGFiZWwuY2hlY2tib3gtaW5saW5lIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyAuY2hlY2tib3gtZGVjb3JhdG9yIC5jaGVjazo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDA5Njg4O1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCwgMTBweCAtMTBweCAwIDEwcHgsIDMycHggMCAwIDIwcHgsIDAzMnB4IDAgMjBweCwgLTVweCA1cHggMCAxMHB4LCAyMHB4IC0xMnB4IDAgMTFweDtcbiAgICAgIGFuaW1hdGlvbjogY2hlY2tib3gtb24gMC4zcyBmb3J3YXJkczsgfVxuICAgIC5jaGVja2JveCBsYWJlbCBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgLmNoZWNrYm94LWRlY29yYXRvcjo6YmVmb3JlLFxuICAgIGxhYmVsLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgLmNoZWNrYm94LWRlY29yYXRvcjo6YmVmb3JlIHtcbiAgICAgIGFuaW1hdGlvbjogcmlwcGxlT247IH1cbiAgICAgIC5pcy1mb2N1c2VkIC5jaGVja2JveCBsYWJlbCBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgLmNoZWNrYm94LWRlY29yYXRvcjo6YmVmb3JlLCAuaXMtZm9jdXNlZFxuICAgICAgbGFiZWwuY2hlY2tib3gtaW5saW5lIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyAuY2hlY2tib3gtZGVjb3JhdG9yOjpiZWZvcmUge1xuICAgICAgICBhbmltYXRpb246IHJpcHBsZU9uIDUwMG1zOyB9XG4gICAgLmNoZWNrYm94IGxhYmVsIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyAuY2hlY2tib3gtZGVjb3JhdG9yIC5jaGVjazo6YWZ0ZXIsXG4gICAgbGFiZWwuY2hlY2tib3gtaW5saW5lIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyAuY2hlY2tib3gtZGVjb3JhdG9yIC5jaGVjazo6YWZ0ZXIge1xuICAgICAgYW5pbWF0aW9uOiByaXBwbGVPbiA1MDBtcyBmb3J3YXJkczsgfVxuICAgIC5jaGVja2JveCBsYWJlbCBpbnB1dFt0eXBlPWNoZWNrYm94XTpub3QoOmNoZWNrZWQpICsgLmNoZWNrYm94LWRlY29yYXRvcjo6YmVmb3JlLFxuICAgIGxhYmVsLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XTpub3QoOmNoZWNrZWQpICsgLmNoZWNrYm94LWRlY29yYXRvcjo6YmVmb3JlIHtcbiAgICAgIGFuaW1hdGlvbjogcmlwcGxlT2ZmOyB9XG4gICAgICAuaXMtZm9jdXNlZCAuY2hlY2tib3ggbGFiZWwgaW5wdXRbdHlwZT1jaGVja2JveF06bm90KDpjaGVja2VkKSArIC5jaGVja2JveC1kZWNvcmF0b3I6OmJlZm9yZSwgLmlzLWZvY3VzZWRcbiAgICAgIGxhYmVsLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XTpub3QoOmNoZWNrZWQpICsgLmNoZWNrYm94LWRlY29yYXRvcjo6YmVmb3JlIHtcbiAgICAgICAgYW5pbWF0aW9uOiByaXBwbGVPZmYgNTAwbXM7IH1cbiAgICAuY2hlY2tib3ggbGFiZWwgaW5wdXRbdHlwZT1jaGVja2JveF06bm90KDpjaGVja2VkKSArIC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrOjphZnRlcixcbiAgICBsYWJlbC5jaGVja2JveC1pbmxpbmUgaW5wdXRbdHlwZT1jaGVja2JveF06bm90KDpjaGVja2VkKSArIC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrOjphZnRlciB7XG4gICAgICBhbmltYXRpb246IHJpcHBsZU9mZiA1MDBtcyBmb3J3YXJkczsgfVxuICAgIC5jaGVja2JveCBsYWJlbCBpbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF0gKyAuY2hlY2tib3gtZGVjb3JhdG9yIC5jaGVjazo6YWZ0ZXIsXG4gICAgLmNoZWNrYm94IGxhYmVsIGlucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXSAuY2hlY2s6OmFmdGVyLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXSAuY2hlY2tib3ggbGFiZWwgaW5wdXRbdHlwZT1jaGVja2JveF0gKyAuY2hlY2tib3gtZGVjb3JhdG9yIC5jaGVjazo6YWZ0ZXIsXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdIC5jaGVja2JveCBsYWJlbCBpbnB1dFt0eXBlPWNoZWNrYm94XSAuY2hlY2s6OmFmdGVyLFxuICAgIGxhYmVsLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF0gKyAuY2hlY2tib3gtZGVjb3JhdG9yIC5jaGVjazo6YWZ0ZXIsXG4gICAgbGFiZWwuY2hlY2tib3gtaW5saW5lIGlucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXSAuY2hlY2s6OmFmdGVyLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXVxuICAgIGxhYmVsLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XSArIC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrOjphZnRlcixcbiAgICBmaWVsZHNldFtkaXNhYmxlZF1cbiAgICBsYWJlbC5jaGVja2JveC1pbmxpbmUgaW5wdXRbdHlwZT1jaGVja2JveF0gLmNoZWNrOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAgIC5jaGVja2JveCBsYWJlbCBpbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF0gKyAuY2hlY2tib3gtZGVjb3JhdG9yIC5jaGVjayxcbiAgICAuY2hlY2tib3ggbGFiZWwgaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdIC5jaGVjayxcbiAgICBmaWVsZHNldFtkaXNhYmxlZF0gLmNoZWNrYm94IGxhYmVsIGlucHV0W3R5cGU9Y2hlY2tib3hdICsgLmNoZWNrYm94LWRlY29yYXRvciAuY2hlY2ssXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdIC5jaGVja2JveCBsYWJlbCBpbnB1dFt0eXBlPWNoZWNrYm94XSAuY2hlY2ssXG4gICAgbGFiZWwuY2hlY2tib3gtaW5saW5lIGlucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXSArIC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrLFxuICAgIGxhYmVsLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF0gLmNoZWNrLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXVxuICAgIGxhYmVsLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XSArIC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXVxuICAgIGxhYmVsLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XSAuY2hlY2sge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG5cbkBrZXlmcmFtZXMgY2hlY2tib3gtb24ge1xuICAwJSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCwgMTBweCAtMTBweCAwIDEwcHgsIDMycHggMCAwIDIwcHgsIDAgMzJweCAwIDIwcHgsIC01cHggNXB4IDAgMTBweCwgMTVweCAycHggMCAxMXB4OyB9XG4gIDUwJSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCwgMTBweCAtMTBweCAwIDEwcHgsIDMycHggMCAwIDIwcHgsIDAgMzJweCAwIDIwcHgsIC01cHggNXB4IDAgMTBweCwgMjBweCAycHggMCAxMXB4OyB9XG4gIDEwMCUge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwcHgsIDEwcHggLTEwcHggMCAxMHB4LCAzMnB4IDAgMCAyMHB4LCAwIDMycHggMCAyMHB4LCAtNXB4IDVweCAwIDEwcHgsIDIwcHggLTEycHggMCAxMXB4OyB9IH1cblxuQGtleWZyYW1lcyBjaGVja2JveC1vZmYge1xuICAwJSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCwgMTBweCAtMTBweCAwIDEwcHgsIDMycHggMCAwIDIwcHgsIDAgMzJweCAwIDIwcHgsIC01cHggNXB4IDAgMTBweCwgMjBweCAtMTJweCAwIDExcHgsIDAgMCAwIDAgaW5zZXQ7IH1cbiAgMjUlIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxMHB4LCAxMHB4IC0xMHB4IDAgMTBweCwgMzJweCAwIDAgMjBweCwgMCAzMnB4IDAgMjBweCwgLTVweCA1cHggMCAxMHB4LCAyMHB4IC0xMnB4IDAgMTFweCwgMCAwIDAgMCBpbnNldDsgfVxuICA1MCUge1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCwgMTBweCAtMTBweCAwIDEwcHgsIDMycHggMCAwIDIwcHgsIDAgMzJweCAwIDIwcHgsIC01cHggNXB4IDAgMTBweCwgMTVweCAycHggMCAxMXB4LCAwIDAgMCAwIGluc2V0O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuICA1MSUge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAsIDAgMCAwIDAsIDAgMCAwIDAsIDAgMCAwIDAsIDAgMCAwIDAsIDAgMCAwIDAsIDAgMCAwIDEwcHggaW5zZXQ7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0ycHg7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMCwgMCAwIDAgMCwgMCAwIDAgMCwgMCAwIDAgMCwgMCAwIDAgMCwgMCAwIDAgMCwgMCAwIDAgMCBpbnNldDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgcmlwcGxlT24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMjsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyByaXBwbGVPZmYge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMjsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmN1c3RvbS1maWxlLWNvbnRyb2wgW2NsYXNzXj0nYm1kLWxhYmVsJ10sXG4uY3VzdG9tLWZpbGUtY29udHJvbCBbY2xhc3MqPScgYm1kLWxhYmVsJ10ge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuXG4uY3VzdG9tLWZpbGUtY29udHJvbCAuZm9ybS1jb250cm9sLCAuY3VzdG9tLWZpbGUtY29udHJvbCAuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sIC5mb3JtLWNvbnRyb2wsXG4uaXMtZm9jdXNlZCAuY3VzdG9tLWZpbGUtY29udHJvbCAuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICMwMDk2ODggMnB4LCByZ2JhKDAsIDE1MCwgMTM2LCAwKSAycHgpLCBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDFweCwgdHJhbnNwYXJlbnQgMXB4KTsgfVxuXG4uY3VzdG9tLWZpbGUtY29udHJvbCAuZm9ybS1jb250cm9sOmludmFsaWQsIC5jdXN0b20tZmlsZS1jb250cm9sIC5jdXN0b20tZmlsZS1jb250cm9sOmludmFsaWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjZDUwMDAwIDJweCwgcmdiYSgyMTMsIDAsIDAsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpOyB9XG5cbi5jdXN0b20tZmlsZS1jb250cm9sIC5mb3JtLWNvbnRyb2w6cmVhZC1vbmx5LCAuY3VzdG9tLWZpbGUtY29udHJvbCAuY3VzdG9tLWZpbGUtY29udHJvbDpyZWFkLW9ubHkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDFweCwgdHJhbnNwYXJlbnQgMXB4KSwgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjI2KSAxcHgsIHRyYW5zcGFyZW50IDFweCk7IH1cblxuZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXSAuY3VzdG9tLWZpbGUtY29udHJvbCAuZm9ybS1jb250cm9sLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5jdXN0b20tZmlsZS1jb250cm9sIC5jdXN0b20tZmlsZS1jb250cm9sLCAuY3VzdG9tLWZpbGUtY29udHJvbCAuZm9ybS1jb250cm9sLmRpc2FibGVkLCAuY3VzdG9tLWZpbGUtY29udHJvbCAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbCwgLmN1c3RvbS1maWxlLWNvbnRyb2wgLmZvcm0tY29udHJvbDpkaXNhYmxlZCwgLmN1c3RvbS1maWxlLWNvbnRyb2wgLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQsIC5jdXN0b20tZmlsZS1jb250cm9sIC5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdLCAuY3VzdG9tLWZpbGUtY29udHJvbCBbZGlzYWJsZWRdLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC4yNikgMCUsIHJnYmEoMCwgMCwgMCwgMC4yNikgMzAlLCB0cmFuc3BhcmVudCAzMCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGJhY2tncm91bmQtc2l6ZTogM3B4IDFweDsgfVxuXG4uY3VzdG9tLWZpbGUtY29udHJvbCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzLCAuY3VzdG9tLWZpbGUtY29udHJvbCAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3MsXG4uaXMtZm9jdXNlZCAuY3VzdG9tLWZpbGUtY29udHJvbCAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICMwMDk2ODggMnB4LCByZ2JhKDAsIDE1MCwgMTM2LCAwKSAycHgpLCBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDFweCwgdHJhbnNwYXJlbnQgMXB4KSwgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZmlsbD0nJTIzNWNiODVjJyBkPSdNMi4zIDYuNzNMLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6Jy8lM0UlM0Mvc3ZnJTNFXCIpOyB9XG5cbi5jdXN0b20tZmlsZS1jb250cm9sIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXdhcm5pbmcsIC5jdXN0b20tZmlsZS1jb250cm9sIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sLFxuLmlzLWZvY3VzZWQgLmN1c3RvbS1maWxlLWNvbnRyb2wgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtd2FybmluZyxcbi5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgIzAwOTY4OCAycHgsIHJnYmEoMCwgMTUwLCAxMzYsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPSclMjNmMGFkNGUnIGQ9J000LjQgNS4zMjRoLS44di0yLjQ2aC44em0wIDEuNDJoLS44VjUuODloLjh6TTMuNzYuNjNMLjA0IDcuMDc1Yy0uMTE1LjIuMDE2LjQyNS4yNi40MjZoNy4zOTdjLjI0MiAwIC4zNzItLjIyNi4yNTgtLjQyNkM2LjcyNiA0LjkyNCA1LjQ3IDIuNzkgNC4yNTMuNjNjLS4xMTMtLjE3NC0uMzktLjE3NC0uNDk0IDB6Jy8lM0UlM0Mvc3ZnJTNFXCIpOyB9XG5cbi5jdXN0b20tZmlsZS1jb250cm9sIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlciwgLmN1c3RvbS1maWxlLWNvbnRyb2wgLmZvcm0tY29udHJvbC1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlcixcbi5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjMDA5Njg4IDJweCwgcmdiYSgwLCAxNTAsIDEzNiwgMCkgMnB4KSwgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjI2KSAxcHgsIHRyYW5zcGFyZW50IDFweCksIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nJTIzZDk1MzRmJyB2aWV3Qm94PSctMiAtMiA3IDcnJTNFJTNDcGF0aCBzdHJva2U9JyUyM2Q5NTM0ZicgZD0nTTAgMGwzIDNtMC0zTDAgMycvJTNFJTNDY2lyY2xlIHI9Jy41Jy8lM0UlM0NjaXJjbGUgY3g9JzMnIHI9Jy41Jy8lM0UlM0NjaXJjbGUgY3k9JzMnIHI9Jy41Jy8lM0UlM0NjaXJjbGUgY3g9JzMnIGN5PSczJyByPScuNScvJTNFJTNDL3N2ZyUzRVwiKTsgfVxuXG4uY3VzdG9tLWZpbGUtY29udHJvbCAuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmN1c3RvbS1maWxlLWNvbnRyb2wgLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1sYWJlbCxcbi5jdXN0b20tZmlsZS1jb250cm9sIC5pcy1mb2N1c2VkIC5yYWRpbyxcbi5jdXN0b20tZmlsZS1jb250cm9sIC5pcy1mb2N1c2VkIC5jaGVja2JveCxcbi5jdXN0b20tZmlsZS1jb250cm9sIC5pcy1mb2N1c2VkIC5yYWRpby1pbmxpbmUsXG4uY3VzdG9tLWZpbGUtY29udHJvbCAuaXMtZm9jdXNlZCAuY2hlY2tib3gtaW5saW5lLFxuLmN1c3RvbS1maWxlLWNvbnRyb2wgLmlzLWZvY3VzZWQucmFkaW8gbGFiZWwsXG4uY3VzdG9tLWZpbGUtY29udHJvbCAuaXMtZm9jdXNlZC5jaGVja2JveCBsYWJlbCxcbi5jdXN0b20tZmlsZS1jb250cm9sIC5pcy1mb2N1c2VkLnJhZGlvLWlubGluZSBsYWJlbCxcbi5jdXN0b20tZmlsZS1jb250cm9sIC5pcy1mb2N1c2VkLmNoZWNrYm94LWlubGluZSBsYWJlbCxcbi5jdXN0b20tZmlsZS1jb250cm9sIC5pcy1mb2N1c2VkIC5jdXN0b20tY29udHJvbCwgLmN1c3RvbS1maWxlLWNvbnRyb2wuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmN1c3RvbS1maWxlLWNvbnRyb2wuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWxhYmVsLFxuLmN1c3RvbS1maWxlLWNvbnRyb2wuaXMtZm9jdXNlZCAucmFkaW8sXG4uY3VzdG9tLWZpbGUtY29udHJvbC5pcy1mb2N1c2VkIC5jaGVja2JveCxcbi5jdXN0b20tZmlsZS1jb250cm9sLmlzLWZvY3VzZWQgLnJhZGlvLWlubGluZSxcbi5jdXN0b20tZmlsZS1jb250cm9sLmlzLWZvY3VzZWQgLmNoZWNrYm94LWlubGluZSxcbi5jdXN0b20tZmlsZS1jb250cm9sLmlzLWZvY3VzZWQucmFkaW8gbGFiZWwsXG4uY3VzdG9tLWZpbGUtY29udHJvbC5pcy1mb2N1c2VkLmNoZWNrYm94IGxhYmVsLFxuLmN1c3RvbS1maWxlLWNvbnRyb2wuaXMtZm9jdXNlZC5yYWRpby1pbmxpbmUgbGFiZWwsXG4uY3VzdG9tLWZpbGUtY29udHJvbC5pcy1mb2N1c2VkLmNoZWNrYm94LWlubGluZSBsYWJlbCxcbi5jdXN0b20tZmlsZS1jb250cm9sLmlzLWZvY3VzZWQgLmN1c3RvbS1jb250cm9sIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7IH1cblxuLmN1c3RvbS1maWxlLWNvbnRyb2wgLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbCwgLmN1c3RvbS1maWxlLWNvbnRyb2wgLmlzLWZvY3VzZWQgLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5jdXN0b20tZmlsZS1jb250cm9sLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbCwgLmN1c3RvbS1maWxlLWNvbnRyb2wuaXMtZm9jdXNlZCAuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuXG4uY3VzdG9tLWZpbGUtY29udHJvbCAuaXMtZm9jdXNlZCAuaW5wdXQtZ3JvdXAtYWRkb24sIC5jdXN0b20tZmlsZS1jb250cm9sLmlzLWZvY3VzZWQgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDIsIDEwMiwgMTAyLCAwLjI2KTsgfVxuXG4uY3VzdG9tLWZpbGUtY29udHJvbCAuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWZlZWRiYWNrLCAuY3VzdG9tLWZpbGUtY29udHJvbC5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuXG4uY3VzdG9tLWZpbGUtY29udHJvbCAuaXMtZm9jdXNlZCBbY2xhc3NePSdibWQtbGFiZWwnXSxcbi5jdXN0b20tZmlsZS1jb250cm9sIC5pcy1mb2N1c2VkIFtjbGFzcyo9JyBibWQtbGFiZWwnXSwgLmN1c3RvbS1maWxlLWNvbnRyb2wuaXMtZm9jdXNlZCBbY2xhc3NePSdibWQtbGFiZWwnXSxcbi5jdXN0b20tZmlsZS1jb250cm9sLmlzLWZvY3VzZWQgW2NsYXNzKj0nIGJtZC1sYWJlbCddIHtcbiAgY29sb3I6ICMwMDk2ODg7IH1cblxuLmN1c3RvbS1maWxlLWNvbnRyb2wgLmlzLWZvY3VzZWQgLmJtZC1sYWJlbC1wbGFjZWhvbGRlciwgLmN1c3RvbS1maWxlLWNvbnRyb2wuaXMtZm9jdXNlZCAuYm1kLWxhYmVsLXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7IH1cblxuLmN1c3RvbS1maWxlLWNvbnRyb2wgLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbCwgLmN1c3RvbS1maWxlLWNvbnRyb2wgLmlzLWZvY3VzZWQgLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5jdXN0b20tZmlsZS1jb250cm9sLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbCwgLmN1c3RvbS1maWxlLWNvbnRyb2wuaXMtZm9jdXNlZCAuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuXG4uY3VzdG9tLWZpbGUtY29udHJvbCAuaXMtZm9jdXNlZCAuYm1kLWhlbHAsIC5jdXN0b20tZmlsZS1jb250cm9sLmlzLWZvY3VzZWQgLmJtZC1oZWxwIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7IH1cblxuLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxcHgpOyB9XG5cbi5zd2l0Y2ggbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogMi40Mzc1cmVtOyB9XG4gIC5zd2l0Y2ggbGFiZWwgLmJtZC1zd2l0Y2gtdHJhY2sge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuMzEyNXJlbTtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMi4xMjVyZW07XG4gICAgaGVpZ2h0OiAwLjg3NXJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuMjYpIDAlLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDUwJSwgIzQ5ZGNjZSA1MCUsICM0OWRjY2UgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiA0LjI1cmVtIDAuODc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDIuMTI1cmVtO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gMC4ycyBlYXNlLWluOyB9XG4gICAgLnN3aXRjaCBsYWJlbCAuYm1kLXN3aXRjaC10cmFjazo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICB3aWR0aDogMS4yNXJlbTtcbiAgICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjFmMWYxO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuMnMgZWFzZS1pbiwgYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UtaW4sIHRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgICAuc3dpdGNoIGxhYmVsIC5ibWQtc3dpdGNoLXRyYWNrOmFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7IH1cbiAgLnN3aXRjaCBsYWJlbCBpbnB1dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBvcGFjaXR5OiAwOyB9XG4gICAgLnN3aXRjaCBsYWJlbCBpbnB1dDpjaGVja2VkICsgLmJtZC1zd2l0Y2gtdHJhY2sge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMCU7IH1cbiAgICAgIC5zd2l0Y2ggbGFiZWwgaW5wdXQ6Y2hlY2tlZCArIC5ibWQtc3dpdGNoLXRyYWNrOjphZnRlciB7XG4gICAgICAgIGxlZnQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5Njg4OyB9XG4gICAgLnN3aXRjaCBsYWJlbCBpbnB1dDpkaXNhYmxlZCArIC5ibWQtc3dpdGNoLXRyYWNrOmFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgLnN3aXRjaCBsYWJlbCBpbnB1dDpkaXNhYmxlZCArIC5ibWQtc3dpdGNoLXRyYWNrIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cbiAgICAgIC5zd2l0Y2ggbGFiZWwgaW5wdXQ6ZGlzYWJsZWQgKyAuYm1kLXN3aXRjaC10cmFjazo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjYmRiZGJkOyB9XG5cbi5yYWRpbyBsYWJlbCxcbmxhYmVsLnJhZGlvLWlubGluZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAxLjU2MjVyZW07IH1cbiAgLnJhZGlvIGxhYmVsIC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlLFxuICAucmFkaW8gbGFiZWwgLmJtZC1yYWRpby1pbm5lci1jaXJjbGUsXG4gIGxhYmVsLnJhZGlvLWlubGluZSAuYm1kLXJhZGlvLW91dGVyLWNpcmNsZSxcbiAgbGFiZWwucmFkaW8taW5saW5lIC5ibWQtcmFkaW8taW5uZXItY2lyY2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjEyNXJlbTtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMS4yNXJlbTtcbiAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7IH1cbiAgICAucmFkaW8gbGFiZWwgLmJtZC1yYWRpby1vdXRlci1jaXJjbGUuYm1kLXJhZGlvLW91dGVyLWNpcmNsZSxcbiAgICAucmFkaW8gbGFiZWwgLmJtZC1yYWRpby1pbm5lci1jaXJjbGUuYm1kLXJhZGlvLW91dGVyLWNpcmNsZSxcbiAgICBsYWJlbC5yYWRpby1pbmxpbmUgLmJtZC1yYWRpby1vdXRlci1jaXJjbGUuYm1kLXJhZGlvLW91dGVyLWNpcmNsZSxcbiAgICBsYWJlbC5yYWRpby1pbmxpbmUgLmJtZC1yYWRpby1pbm5lci1jaXJjbGUuYm1kLXJhZGlvLW91dGVyLWNpcmNsZSB7XG4gICAgICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkIHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgZWFzZSAuMjhzOyB9XG4gICAgLnJhZGlvIGxhYmVsIC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlLmJtZC1yYWRpby1pbm5lci1jaXJjbGUsXG4gICAgLnJhZGlvIGxhYmVsIC5ibWQtcmFkaW8taW5uZXItY2lyY2xlLmJtZC1yYWRpby1pbm5lci1jaXJjbGUsXG4gICAgbGFiZWwucmFkaW8taW5saW5lIC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlLmJtZC1yYWRpby1pbm5lci1jaXJjbGUsXG4gICAgbGFiZWwucmFkaW8taW5saW5lIC5ibWQtcmFkaW8taW5uZXItY2lyY2xlLmJtZC1yYWRpby1pbm5lci1jaXJjbGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTY4ODtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBlYXNlIC4yOHM7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMCwgMCwgMCk7IH1cbiAgICAgIC5yYWRpbyBsYWJlbCAuYm1kLXJhZGlvLW91dGVyLWNpcmNsZS5ibWQtcmFkaW8taW5uZXItY2lyY2xlOjphZnRlcixcbiAgICAgIC5yYWRpbyBsYWJlbCAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZS5ibWQtcmFkaW8taW5uZXItY2lyY2xlOjphZnRlcixcbiAgICAgIGxhYmVsLnJhZGlvLWlubGluZSAuYm1kLXJhZGlvLW91dGVyLWNpcmNsZS5ibWQtcmFkaW8taW5uZXItY2lyY2xlOjphZnRlcixcbiAgICAgIGxhYmVsLnJhZGlvLWlubGluZSAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZS5ibWQtcmFkaW8taW5uZXItY2lyY2xlOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtMWVtO1xuICAgICAgICBsZWZ0OiAtMWVtO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS41LCAxLjUsIDEpOyB9XG4gIC5yYWRpbyBsYWJlbCBpbnB1dFt0eXBlPXJhZGlvXSxcbiAgbGFiZWwucmFkaW8taW5saW5lIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMDsgfVxuICAgIC5yYWRpbyBsYWJlbCBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkIH4gLmJtZC1yYWRpby1pbm5lci1jaXJjbGUsXG4gICAgbGFiZWwucmFkaW8taW5saW5lIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQgfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5Njg4OyB9XG4gICAgLnJhZGlvIGxhYmVsIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQgfiAuYm1kLXJhZGlvLW91dGVyLWNpcmNsZSxcbiAgICBsYWJlbC5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCB+IC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAwOTY4ODsgfVxuICAgIC5yYWRpbyBsYWJlbCBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkIH4gLmJtZC1yYWRpby1pbm5lci1jaXJjbGUsXG4gICAgbGFiZWwucmFkaW8taW5saW5lIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQgfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC41NSwgMC41NSwgMSk7IH1cbiAgICAgIC5yYWRpbyBsYWJlbCBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkIH4gLmJtZC1yYWRpby1pbm5lci1jaXJjbGU6OmFmdGVyLFxuICAgICAgbGFiZWwucmFkaW8taW5saW5lIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQgfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZTo6YWZ0ZXIge1xuICAgICAgICBhbmltYXRpb246IHJpcHBsZU9uOyB9XG4gICAgICAgIC5pcy1mb2N1c2VkIC5yYWRpbyBsYWJlbCBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkIH4gLmJtZC1yYWRpby1pbm5lci1jaXJjbGU6OmFmdGVyLCAuaXMtZm9jdXNlZFxuICAgICAgICBsYWJlbC5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCB+IC5ibWQtcmFkaW8taW5uZXItY2lyY2xlOjphZnRlciB7XG4gICAgICAgICAgYW5pbWF0aW9uOiByaXBwbGVPbiA1MDBtczsgfVxuICAgIC5yYWRpbyBsYWJlbCBpbnB1dFt0eXBlPXJhZGlvXTpub3QoOmNoZWNrZWQpIH4gLmJtZC1yYWRpby1pbm5lci1jaXJjbGU6OmFmdGVyLFxuICAgIGxhYmVsLnJhZGlvLWlubGluZSBpbnB1dFt0eXBlPXJhZGlvXTpub3QoOmNoZWNrZWQpIH4gLmJtZC1yYWRpby1pbm5lci1jaXJjbGU6OmFmdGVyIHtcbiAgICAgIGFuaW1hdGlvbjogcmlwcGxlT2ZmIDUwMG1zOyB9XG4gICAgLnJhZGlvIGxhYmVsIGlucHV0W3R5cGU9cmFkaW9dW2Rpc2FibGVkXSArIC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlLCAucmFkaW8gbGFiZWwgaW5wdXRbdHlwZT1yYWRpb106ZGlzYWJsZWQgKyAuYm1kLXJhZGlvLW91dGVyLWNpcmNsZSxcbiAgICBmaWVsZHNldFtkaXNhYmxlZF0gLnJhZGlvIGxhYmVsIGlucHV0W3R5cGU9cmFkaW9dICsgLmJtZC1yYWRpby1vdXRlci1jaXJjbGUsXG4gICAgbGFiZWwucmFkaW8taW5saW5lIGlucHV0W3R5cGU9cmFkaW9dW2Rpc2FibGVkXSArIC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlLFxuICAgIGxhYmVsLnJhZGlvLWlubGluZSBpbnB1dFt0eXBlPXJhZGlvXTpkaXNhYmxlZCArIC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXVxuICAgIGxhYmVsLnJhZGlvLWlubGluZSBpbnB1dFt0eXBlPXJhZGlvXSArIC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgIC5yYWRpbyBsYWJlbCBpbnB1dFt0eXBlPXJhZGlvXVtkaXNhYmxlZF0gfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSwgLnJhZGlvIGxhYmVsIGlucHV0W3R5cGU9cmFkaW9dOmRpc2FibGVkIH4gLmJtZC1yYWRpby1pbm5lci1jaXJjbGUsXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdIC5yYWRpbyBsYWJlbCBpbnB1dFt0eXBlPXJhZGlvXSB+IC5ibWQtcmFkaW8taW5uZXItY2lyY2xlLFxuICAgIGxhYmVsLnJhZGlvLWlubGluZSBpbnB1dFt0eXBlPXJhZGlvXVtkaXNhYmxlZF0gfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSxcbiAgICBsYWJlbC5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1yYWRpb106ZGlzYWJsZWQgfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSxcbiAgICBmaWVsZHNldFtkaXNhYmxlZF1cbiAgICBsYWJlbC5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1yYWRpb10gfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG4gICAgLnJhZGlvIGxhYmVsIGlucHV0W3R5cGU9cmFkaW9dW2Rpc2FibGVkXSB+IC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlLCAucmFkaW8gbGFiZWwgaW5wdXRbdHlwZT1yYWRpb106ZGlzYWJsZWQgfiAuYm1kLXJhZGlvLW91dGVyLWNpcmNsZSxcbiAgICBmaWVsZHNldFtkaXNhYmxlZF0gLnJhZGlvIGxhYmVsIGlucHV0W3R5cGU9cmFkaW9dIH4gLmJtZC1yYWRpby1vdXRlci1jaXJjbGUsXG4gICAgbGFiZWwucmFkaW8taW5saW5lIGlucHV0W3R5cGU9cmFkaW9dW2Rpc2FibGVkXSB+IC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlLFxuICAgIGxhYmVsLnJhZGlvLWlubGluZSBpbnB1dFt0eXBlPXJhZGlvXTpkaXNhYmxlZCB+IC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXVxuICAgIGxhYmVsLnJhZGlvLWlubGluZSBpbnB1dFt0eXBlPXJhZGlvXSB+IC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuICAgIC5iZy1pbnZlcnNlIC5yYWRpbyBsYWJlbCBpbnB1dFt0eXBlPXJhZGlvXVtkaXNhYmxlZF0gfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSwgLmJnLWludmVyc2UgLnJhZGlvIGxhYmVsIGlucHV0W3R5cGU9cmFkaW9dOmRpc2FibGVkIH4gLmJtZC1yYWRpby1pbm5lci1jaXJjbGUsIC5iZy1pbnZlcnNlXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdIC5yYWRpbyBsYWJlbCBpbnB1dFt0eXBlPXJhZGlvXSB+IC5ibWQtcmFkaW8taW5uZXItY2lyY2xlLCAuYmctaW52ZXJzZVxuICAgIGxhYmVsLnJhZGlvLWlubGluZSBpbnB1dFt0eXBlPXJhZGlvXVtkaXNhYmxlZF0gfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSwgLmJnLWludmVyc2VcbiAgICBsYWJlbC5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1yYWRpb106ZGlzYWJsZWQgfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSwgLmJnLWludmVyc2VcbiAgICBmaWVsZHNldFtkaXNhYmxlZF1cbiAgICBsYWJlbC5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1yYWRpb10gfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7IH1cbiAgICAuYmctaW52ZXJzZSAucmFkaW8gbGFiZWwgaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdIH4gLmJtZC1yYWRpby1vdXRlci1jaXJjbGUsIC5iZy1pbnZlcnNlIC5yYWRpbyBsYWJlbCBpbnB1dFt0eXBlPXJhZGlvXTpkaXNhYmxlZCB+IC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlLCAuYmctaW52ZXJzZVxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXSAucmFkaW8gbGFiZWwgaW5wdXRbdHlwZT1yYWRpb10gfiAuYm1kLXJhZGlvLW91dGVyLWNpcmNsZSwgLmJnLWludmVyc2VcbiAgICBsYWJlbC5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdIH4gLmJtZC1yYWRpby1vdXRlci1jaXJjbGUsIC5iZy1pbnZlcnNlXG4gICAgbGFiZWwucmFkaW8taW5saW5lIGlucHV0W3R5cGU9cmFkaW9dOmRpc2FibGVkIH4gLmJtZC1yYWRpby1vdXRlci1jaXJjbGUsIC5iZy1pbnZlcnNlXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdXG4gICAgbGFiZWwucmFkaW8taW5saW5lIGlucHV0W3R5cGU9cmFkaW9dIH4gLmJtZC1yYWRpby1vdXRlci1jaXJjbGUge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7IH1cblxuQGtleWZyYW1lcyByaXBwbGVPbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4yOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJpcHBsZU9mZiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4yOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5mb3JtIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4xMjVyZW07IH1cbiAgLm5hdmJhciBmb3JtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLm5hdmJhciBmb3JtIC5ibWQtZm9ybS1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgIC5uYXZiYXIgZm9ybSAuYnRuLCAubmF2YmFyIGZvcm0gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5mb3JtLWNvbnRyb2wsIC5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciBib3R0b20sIGNlbnRlciBjYWxjKDEwMCUgLSAxcHgpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDAgMTAwJSwgMTAwJSAxMDAlO1xuICBib3JkZXI6IDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMHMgZWFzZS1vdXQ7IH1cbiAgLmZvcm0tY29udHJvbDpmb2N1cywgLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXMsXG4gIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wsXG4gIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJSwgMTAwJSAxMDAlO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7IH1cblxuLmJtZC1oZWxwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LXNpemU6IC44cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtaGVscCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmJtZC1oZWxwOm50aC1vZi10eXBlKDIpIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTsgfVxuICAuYm1kLWhlbHAgKyAuYm1kLWhlbHAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5yYWRpbyBsYWJlbCxcbi5pcy1mb2N1c2VkIC5yYWRpbyBsYWJlbCxcbi5yYWRpby1pbmxpbmUsXG4uaXMtZm9jdXNlZFxuLnJhZGlvLWlubGluZSxcbi5jaGVja2JveCBsYWJlbCxcbi5pcy1mb2N1c2VkXG4uY2hlY2tib3ggbGFiZWwsXG4uY2hlY2tib3gtaW5saW5lLFxuLmlzLWZvY3VzZWRcbi5jaGVja2JveC1pbmxpbmUsXG4uc3dpdGNoIGxhYmVsLFxuLmlzLWZvY3VzZWRcbi5zd2l0Y2ggbGFiZWwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuICAucmFkaW8gbGFiZWw6Zm9jdXMsIC5yYWRpbyBsYWJlbDphY3RpdmUsIC5yYWRpbyBsYWJlbDpob3ZlcixcbiAgLmlzLWZvY3VzZWQgLnJhZGlvIGxhYmVsOmZvY3VzLFxuICAuaXMtZm9jdXNlZCAucmFkaW8gbGFiZWw6YWN0aXZlLFxuICAuaXMtZm9jdXNlZCAucmFkaW8gbGFiZWw6aG92ZXIsXG4gIC5yYWRpby1pbmxpbmU6Zm9jdXMsXG4gIC5yYWRpby1pbmxpbmU6YWN0aXZlLFxuICAucmFkaW8taW5saW5lOmhvdmVyLFxuICAuaXMtZm9jdXNlZFxuICAucmFkaW8taW5saW5lOmZvY3VzLFxuICAuaXMtZm9jdXNlZFxuICAucmFkaW8taW5saW5lOmFjdGl2ZSxcbiAgLmlzLWZvY3VzZWRcbiAgLnJhZGlvLWlubGluZTpob3ZlcixcbiAgLmNoZWNrYm94IGxhYmVsOmZvY3VzLFxuICAuY2hlY2tib3ggbGFiZWw6YWN0aXZlLFxuICAuY2hlY2tib3ggbGFiZWw6aG92ZXIsXG4gIC5pcy1mb2N1c2VkXG4gIC5jaGVja2JveCBsYWJlbDpmb2N1cyxcbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94IGxhYmVsOmFjdGl2ZSxcbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94IGxhYmVsOmhvdmVyLFxuICAuY2hlY2tib3gtaW5saW5lOmZvY3VzLFxuICAuY2hlY2tib3gtaW5saW5lOmFjdGl2ZSxcbiAgLmNoZWNrYm94LWlubGluZTpob3ZlcixcbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94LWlubGluZTpmb2N1cyxcbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94LWlubGluZTphY3RpdmUsXG4gIC5pcy1mb2N1c2VkXG4gIC5jaGVja2JveC1pbmxpbmU6aG92ZXIsXG4gIC5zd2l0Y2ggbGFiZWw6Zm9jdXMsXG4gIC5zd2l0Y2ggbGFiZWw6YWN0aXZlLFxuICAuc3dpdGNoIGxhYmVsOmhvdmVyLFxuICAuaXMtZm9jdXNlZFxuICAuc3dpdGNoIGxhYmVsOmZvY3VzLFxuICAuaXMtZm9jdXNlZFxuICAuc3dpdGNoIGxhYmVsOmFjdGl2ZSxcbiAgLmlzLWZvY3VzZWRcbiAgLnN3aXRjaCBsYWJlbDpob3ZlciB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7IH1cbiAgLnJhZGlvIGxhYmVsIGxhYmVsOmhhcyhpbnB1dFt0eXBlPXJhZGlvXVtkaXNhYmxlZF0pLCAucmFkaW8gbGFiZWwgbGFiZWw6aGFzKGlucHV0W3R5cGU9cmFkaW9dW2Rpc2FibGVkXSk6aG92ZXIsIC5yYWRpbyBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpmb2N1cyxcbiAgLnJhZGlvIGxhYmVsIGxhYmVsOmhhcyhpbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF0pLFxuICAucmFkaW8gbGFiZWwgbGFiZWw6aGFzKGlucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXSk6aG92ZXIsXG4gIC5yYWRpbyBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5yYWRpbyBsYWJlbCxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5yYWRpbyBsYWJlbDpob3ZlcixcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5yYWRpbyBsYWJlbDpmb2N1cyxcbiAgLmlzLWZvY3VzZWQgLnJhZGlvIGxhYmVsIGxhYmVsOmhhcyhpbnB1dFt0eXBlPXJhZGlvXVtkaXNhYmxlZF0pLFxuICAuaXMtZm9jdXNlZCAucmFkaW8gbGFiZWwgbGFiZWw6aGFzKGlucHV0W3R5cGU9cmFkaW9dW2Rpc2FibGVkXSk6aG92ZXIsXG4gIC5pcy1mb2N1c2VkIC5yYWRpbyBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpmb2N1cyxcbiAgLmlzLWZvY3VzZWQgLnJhZGlvIGxhYmVsIGxhYmVsOmhhcyhpbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF0pLFxuICAuaXMtZm9jdXNlZCAucmFkaW8gbGFiZWwgbGFiZWw6aGFzKGlucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXSk6aG92ZXIsXG4gIC5pcy1mb2N1c2VkIC5yYWRpbyBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5pcy1mb2N1c2VkIC5yYWRpbyBsYWJlbCxcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5pcy1mb2N1c2VkIC5yYWRpbyBsYWJlbDpob3ZlcixcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5pcy1mb2N1c2VkIC5yYWRpbyBsYWJlbDpmb2N1cyxcbiAgLnJhZGlvLWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKSxcbiAgLnJhZGlvLWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpob3ZlcixcbiAgLnJhZGlvLWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpmb2N1cyxcbiAgLnJhZGlvLWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKSxcbiAgLnJhZGlvLWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpob3ZlcixcbiAgLnJhZGlvLWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5yYWRpby1pbmxpbmUsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXVxuICAucmFkaW8taW5saW5lOmhvdmVyLFxuICBmaWVsZHNldFtkaXNhYmxlZF1cbiAgLnJhZGlvLWlubGluZTpmb2N1cyxcbiAgLmlzLWZvY3VzZWRcbiAgLnJhZGlvLWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKSxcbiAgLmlzLWZvY3VzZWRcbiAgLnJhZGlvLWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpob3ZlcixcbiAgLmlzLWZvY3VzZWRcbiAgLnJhZGlvLWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpmb2N1cyxcbiAgLmlzLWZvY3VzZWRcbiAgLnJhZGlvLWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKSxcbiAgLmlzLWZvY3VzZWRcbiAgLnJhZGlvLWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpob3ZlcixcbiAgLmlzLWZvY3VzZWRcbiAgLnJhZGlvLWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5pcy1mb2N1c2VkXG4gIC5yYWRpby1pbmxpbmUsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXVxuICAuaXMtZm9jdXNlZFxuICAucmFkaW8taW5saW5lOmhvdmVyLFxuICBmaWVsZHNldFtkaXNhYmxlZF1cbiAgLmlzLWZvY3VzZWRcbiAgLnJhZGlvLWlubGluZTpmb2N1cyxcbiAgLmNoZWNrYm94IGxhYmVsIGxhYmVsOmhhcyhpbnB1dFt0eXBlPXJhZGlvXVtkaXNhYmxlZF0pLFxuICAuY2hlY2tib3ggbGFiZWwgbGFiZWw6aGFzKGlucHV0W3R5cGU9cmFkaW9dW2Rpc2FibGVkXSk6aG92ZXIsXG4gIC5jaGVja2JveCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpmb2N1cyxcbiAgLmNoZWNrYm94IGxhYmVsIGxhYmVsOmhhcyhpbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF0pLFxuICAuY2hlY2tib3ggbGFiZWwgbGFiZWw6aGFzKGlucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXSk6aG92ZXIsXG4gIC5jaGVja2JveCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5jaGVja2JveCBsYWJlbCxcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5jaGVja2JveCBsYWJlbDpob3ZlcixcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5jaGVja2JveCBsYWJlbDpmb2N1cyxcbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94IGxhYmVsIGxhYmVsOmhhcyhpbnB1dFt0eXBlPXJhZGlvXVtkaXNhYmxlZF0pLFxuICAuaXMtZm9jdXNlZFxuICAuY2hlY2tib3ggbGFiZWwgbGFiZWw6aGFzKGlucHV0W3R5cGU9cmFkaW9dW2Rpc2FibGVkXSk6aG92ZXIsXG4gIC5pcy1mb2N1c2VkXG4gIC5jaGVja2JveCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpmb2N1cyxcbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94IGxhYmVsIGxhYmVsOmhhcyhpbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF0pLFxuICAuaXMtZm9jdXNlZFxuICAuY2hlY2tib3ggbGFiZWwgbGFiZWw6aGFzKGlucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXSk6aG92ZXIsXG4gIC5pcy1mb2N1c2VkXG4gIC5jaGVja2JveCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5pcy1mb2N1c2VkXG4gIC5jaGVja2JveCBsYWJlbCxcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5pcy1mb2N1c2VkXG4gIC5jaGVja2JveCBsYWJlbDpob3ZlcixcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5pcy1mb2N1c2VkXG4gIC5jaGVja2JveCBsYWJlbDpmb2N1cyxcbiAgLmNoZWNrYm94LWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKSxcbiAgLmNoZWNrYm94LWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpob3ZlcixcbiAgLmNoZWNrYm94LWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpmb2N1cyxcbiAgLmNoZWNrYm94LWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKSxcbiAgLmNoZWNrYm94LWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpob3ZlcixcbiAgLmNoZWNrYm94LWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5jaGVja2JveC1pbmxpbmUsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXVxuICAuY2hlY2tib3gtaW5saW5lOmhvdmVyLFxuICBmaWVsZHNldFtkaXNhYmxlZF1cbiAgLmNoZWNrYm94LWlubGluZTpmb2N1cyxcbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94LWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKSxcbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94LWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpob3ZlcixcbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94LWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpmb2N1cyxcbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94LWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKSxcbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94LWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpob3ZlcixcbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94LWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5pcy1mb2N1c2VkXG4gIC5jaGVja2JveC1pbmxpbmUsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXVxuICAuaXMtZm9jdXNlZFxuICAuY2hlY2tib3gtaW5saW5lOmhvdmVyLFxuICBmaWVsZHNldFtkaXNhYmxlZF1cbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94LWlubGluZTpmb2N1cyxcbiAgLnN3aXRjaCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKSxcbiAgLnN3aXRjaCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpob3ZlcixcbiAgLnN3aXRjaCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpmb2N1cyxcbiAgLnN3aXRjaCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKSxcbiAgLnN3aXRjaCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpob3ZlcixcbiAgLnN3aXRjaCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5zd2l0Y2ggbGFiZWwsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXVxuICAuc3dpdGNoIGxhYmVsOmhvdmVyLFxuICBmaWVsZHNldFtkaXNhYmxlZF1cbiAgLnN3aXRjaCBsYWJlbDpmb2N1cyxcbiAgLmlzLWZvY3VzZWRcbiAgLnN3aXRjaCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKSxcbiAgLmlzLWZvY3VzZWRcbiAgLnN3aXRjaCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpob3ZlcixcbiAgLmlzLWZvY3VzZWRcbiAgLnN3aXRjaCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpmb2N1cyxcbiAgLmlzLWZvY3VzZWRcbiAgLnN3aXRjaCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKSxcbiAgLmlzLWZvY3VzZWRcbiAgLnN3aXRjaCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpob3ZlcixcbiAgLmlzLWZvY3VzZWRcbiAgLnN3aXRjaCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5pcy1mb2N1c2VkXG4gIC5zd2l0Y2ggbGFiZWwsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXVxuICAuaXMtZm9jdXNlZFxuICAuc3dpdGNoIGxhYmVsOmhvdmVyLFxuICBmaWVsZHNldFtkaXNhYmxlZF1cbiAgLmlzLWZvY3VzZWRcbiAgLnN3aXRjaCBsYWJlbDpmb2N1cyB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7IH1cblxuW2NsYXNzXj0nYm1kLWxhYmVsJ10sXG5bY2xhc3MqPScgYm1kLWxhYmVsJ10ge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuXG4uZm9ybS1jb250cm9sLCAuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wsXG4uaXMtZm9jdXNlZCAuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICMwMDk2ODggMnB4LCByZ2JhKDAsIDE1MCwgMTM2LCAwKSAycHgpLCBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDFweCwgdHJhbnNwYXJlbnQgMXB4KTsgfVxuXG4uZm9ybS1jb250cm9sOmludmFsaWQsIC5jdXN0b20tZmlsZS1jb250cm9sOmludmFsaWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjZDUwMDAwIDJweCwgcmdiYSgyMTMsIDAsIDAsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpOyB9XG5cbi5mb3JtLWNvbnRyb2w6cmVhZC1vbmx5LCAuY3VzdG9tLWZpbGUtY29udHJvbDpyZWFkLW9ubHkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDFweCwgdHJhbnNwYXJlbnQgMXB4KSwgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjI2KSAxcHgsIHRyYW5zcGFyZW50IDFweCk7IH1cblxuZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXSAuZm9ybS1jb250cm9sLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5jdXN0b20tZmlsZS1jb250cm9sLCAuZm9ybS1jb250cm9sLmRpc2FibGVkLCAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbCwgLmZvcm0tY29udHJvbDpkaXNhYmxlZCwgLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQsIC5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdLCBbZGlzYWJsZWRdLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC4yNikgMCUsIHJnYmEoMCwgMCwgMCwgMC4yNikgMzAlLCB0cmFuc3BhcmVudCAzMCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGJhY2tncm91bmQtc2l6ZTogM3B4IDFweDsgfVxuXG4uZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzLCAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3MsXG4uaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICMwMDk2ODggMnB4LCByZ2JhKDAsIDE1MCwgMTM2LCAwKSAycHgpLCBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDFweCwgdHJhbnNwYXJlbnQgMXB4KSwgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZmlsbD0nJTIzNWNiODVjJyBkPSdNMi4zIDYuNzNMLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6Jy8lM0UlM0Mvc3ZnJTNFXCIpOyB9XG5cbi5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXdhcm5pbmcsIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sLFxuLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtd2FybmluZyxcbi5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgIzAwOTY4OCAycHgsIHJnYmEoMCwgMTUwLCAxMzYsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPSclMjNmMGFkNGUnIGQ9J000LjQgNS4zMjRoLS44di0yLjQ2aC44em0wIDEuNDJoLS44VjUuODloLjh6TTMuNzYuNjNMLjA0IDcuMDc1Yy0uMTE1LjIuMDE2LjQyNS4yNi40MjZoNy4zOTdjLjI0MiAwIC4zNzItLjIyNi4yNTgtLjQyNkM2LjcyNiA0LjkyNCA1LjQ3IDIuNzkgNC4yNTMuNjNjLS4xMTMtLjE3NC0uMzktLjE3NC0uNDk0IDB6Jy8lM0UlM0Mvc3ZnJTNFXCIpOyB9XG5cbi5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlciwgLmZvcm0tY29udHJvbC1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlcixcbi5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjMDA5Njg4IDJweCwgcmdiYSgwLCAxNTAsIDEzNiwgMCkgMnB4KSwgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjI2KSAxcHgsIHRyYW5zcGFyZW50IDFweCksIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nJTIzZDk1MzRmJyB2aWV3Qm94PSctMiAtMiA3IDcnJTNFJTNDcGF0aCBzdHJva2U9JyUyM2Q5NTM0ZicgZD0nTTAgMGwzIDNtMC0zTDAgMycvJTNFJTNDY2lyY2xlIHI9Jy41Jy8lM0UlM0NjaXJjbGUgY3g9JzMnIHI9Jy41Jy8lM0UlM0NjaXJjbGUgY3k9JzMnIHI9Jy41Jy8lM0UlM0NjaXJjbGUgY3g9JzMnIGN5PSczJyByPScuNScvJTNFJTNDL3N2ZyUzRVwiKTsgfVxuXG4uaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1sYWJlbCxcbi5pcy1mb2N1c2VkIC5yYWRpbyxcbi5pcy1mb2N1c2VkIC5jaGVja2JveCxcbi5pcy1mb2N1c2VkIC5yYWRpby1pbmxpbmUsXG4uaXMtZm9jdXNlZCAuY2hlY2tib3gtaW5saW5lLFxuLmlzLWZvY3VzZWQucmFkaW8gbGFiZWwsXG4uaXMtZm9jdXNlZC5jaGVja2JveCBsYWJlbCxcbi5pcy1mb2N1c2VkLnJhZGlvLWlubGluZSBsYWJlbCxcbi5pcy1mb2N1c2VkLmNoZWNrYm94LWlubGluZSBsYWJlbCxcbi5pcy1mb2N1c2VkIC5jdXN0b20tY29udHJvbCxcbi5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWxhYmVsLFxuLmlzLWZvY3VzZWQgLnJhZGlvLFxuLmlzLWZvY3VzZWQgLmNoZWNrYm94LFxuLmlzLWZvY3VzZWQgLnJhZGlvLWlubGluZSxcbi5pcy1mb2N1c2VkIC5jaGVja2JveC1pbmxpbmUsXG4uaXMtZm9jdXNlZC5yYWRpbyBsYWJlbCxcbi5pcy1mb2N1c2VkLmNoZWNrYm94IGxhYmVsLFxuLmlzLWZvY3VzZWQucmFkaW8taW5saW5lIGxhYmVsLFxuLmlzLWZvY3VzZWQuY2hlY2tib3gtaW5saW5lIGxhYmVsLFxuLmlzLWZvY3VzZWQgLmN1c3RvbS1jb250cm9sIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7IH1cblxuLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbCwgLmlzLWZvY3VzZWQgLmN1c3RvbS1maWxlLWNvbnRyb2wsXG4uaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLFxuLmlzLWZvY3VzZWQgLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7IH1cblxuLmlzLWZvY3VzZWQgLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlzLWZvY3VzZWQgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDIsIDEwMiwgMTAyLCAwLjI2KTsgfVxuXG4uaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG5cbi5pcy1mb2N1c2VkIFtjbGFzc149J2JtZC1sYWJlbCddLFxuLmlzLWZvY3VzZWQgW2NsYXNzKj0nIGJtZC1sYWJlbCddLFxuLmlzLWZvY3VzZWQgW2NsYXNzXj0nYm1kLWxhYmVsJ10sXG4uaXMtZm9jdXNlZCBbY2xhc3MqPScgYm1kLWxhYmVsJ10ge1xuICBjb2xvcjogIzAwOTY4ODsgfVxuXG4uaXMtZm9jdXNlZCAuYm1kLWxhYmVsLXBsYWNlaG9sZGVyLFxuLmlzLWZvY3VzZWQgLmJtZC1sYWJlbC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG5cbi5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wsIC5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sLFxuLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbCxcbi5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG5cbi5pcy1mb2N1c2VkIC5ibWQtaGVscCxcbi5pcy1mb2N1c2VkIC5ibWQtaGVscCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpOyB9XG5cbi5oYXMtc3VjY2VzcyBbY2xhc3NePSdibWQtbGFiZWwnXSxcbi5oYXMtc3VjY2VzcyBbY2xhc3MqPScgYm1kLWxhYmVsJ10ge1xuICBjb2xvcjogIzRjYWY1MDsgfVxuXG4uaGFzLXN1Y2Nlc3MgLmZvcm0tY29udHJvbCwgLmhhcy1zdWNjZXNzIC5jdXN0b20tZmlsZS1jb250cm9sLFxuLmlzLWZvY3VzZWQgLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wsXG4uaXMtZm9jdXNlZCAuaGFzLXN1Y2Nlc3MgLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjNGNhZjUwIDJweCwgcmdiYSg3NiwgMTc1LCA4MCwgMCkgMnB4KSwgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjI2KSAxcHgsIHRyYW5zcGFyZW50IDFweCk7IH1cblxuLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2w6aW52YWxpZCwgLmhhcy1zdWNjZXNzIC5jdXN0b20tZmlsZS1jb250cm9sOmludmFsaWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjZDUwMDAwIDJweCwgcmdiYSgyMTMsIDAsIDAsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpOyB9XG5cbi5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sOnJlYWQtb25seSwgLmhhcy1zdWNjZXNzIC5jdXN0b20tZmlsZS1jb250cm9sOnJlYWQtb25seSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDFweCwgdHJhbnNwYXJlbnQgMXB4KTsgfVxuXG5maWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5oYXMtc3VjY2VzcyAuY3VzdG9tLWZpbGUtY29udHJvbCwgLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wuZGlzYWJsZWQsIC5oYXMtc3VjY2VzcyAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbCwgLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2w6ZGlzYWJsZWQsIC5oYXMtc3VjY2VzcyAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZCwgLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdLCAuaGFzLXN1Y2Nlc3MgW2Rpc2FibGVkXS5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuMjYpIDAlLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDMwJSwgdHJhbnNwYXJlbnQgMzAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLXNpemU6IDNweCAxcHg7IH1cblxuLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3MsIC5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzLFxuLmlzLWZvY3VzZWQgLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgIzRjYWY1MCAycHgsIHJnYmEoNzYsIDE3NSwgODAsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPSclMjM1Y2I4NWMnIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLyUzRSUzQy9zdmclM0VcIik7IH1cblxuLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXdhcm5pbmcsIC5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC13YXJuaW5nLFxuLmlzLWZvY3VzZWQgLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgIzRjYWY1MCAycHgsIHJnYmEoNzYsIDE3NSwgODAsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPSclMjNmMGFkNGUnIGQ9J000LjQgNS4zMjRoLS44di0yLjQ2aC44em0wIDEuNDJoLS44VjUuODloLjh6TTMuNzYuNjNMLjA0IDcuMDc1Yy0uMTE1LjIuMDE2LjQyNS4yNi40MjZoNy4zOTdjLjI0MiAwIC4zNzItLjIyNi4yNTgtLjQyNkM2LjcyNiA0LjkyNCA1LjQ3IDIuNzkgNC4yNTMuNjNjLS4xMTMtLjE3NC0uMzktLjE3NC0uNDk0IDB6Jy8lM0UlM0Mvc3ZnJTNFXCIpOyB9XG5cbi5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXIsIC5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sLFxuLmlzLWZvY3VzZWQgLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlcixcbi5pcy1mb2N1c2VkIC5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgIzRjYWY1MCAycHgsIHJnYmEoNzYsIDE3NSwgODAsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyUyM2Q5NTM0Zicgdmlld0JveD0nLTIgLTIgNyA3JyUzRSUzQ3BhdGggc3Ryb2tlPSclMjNkOTUzNGYnIGQ9J00wIDBsMyAzbTAtM0wwIDMnLyUzRSUzQ2NpcmNsZSByPScuNScvJTNFJTNDY2lyY2xlIGN4PSczJyByPScuNScvJTNFJTNDY2lyY2xlIGN5PSczJyByPScuNScvJTNFJTNDY2lyY2xlIGN4PSczJyBjeT0nMycgcj0nLjUnLyUzRSUzQy9zdmclM0VcIik7IH1cblxuLmhhcy1zdWNjZXNzIC5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uaGFzLXN1Y2Nlc3MgLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1sYWJlbCxcbi5oYXMtc3VjY2VzcyAuaXMtZm9jdXNlZCAucmFkaW8sXG4uaGFzLXN1Y2Nlc3MgLmlzLWZvY3VzZWQgLmNoZWNrYm94LFxuLmhhcy1zdWNjZXNzIC5pcy1mb2N1c2VkIC5yYWRpby1pbmxpbmUsXG4uaGFzLXN1Y2Nlc3MgLmlzLWZvY3VzZWQgLmNoZWNrYm94LWlubGluZSxcbi5oYXMtc3VjY2VzcyAuaXMtZm9jdXNlZC5yYWRpbyBsYWJlbCxcbi5oYXMtc3VjY2VzcyAuaXMtZm9jdXNlZC5jaGVja2JveCBsYWJlbCxcbi5oYXMtc3VjY2VzcyAuaXMtZm9jdXNlZC5yYWRpby1pbmxpbmUgbGFiZWwsXG4uaGFzLXN1Y2Nlc3MgLmlzLWZvY3VzZWQuY2hlY2tib3gtaW5saW5lIGxhYmVsLFxuLmhhcy1zdWNjZXNzIC5pcy1mb2N1c2VkIC5jdXN0b20tY29udHJvbCwgLmhhcy1zdWNjZXNzLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5oYXMtc3VjY2Vzcy5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtbGFiZWwsXG4uaGFzLXN1Y2Nlc3MuaXMtZm9jdXNlZCAucmFkaW8sXG4uaGFzLXN1Y2Nlc3MuaXMtZm9jdXNlZCAuY2hlY2tib3gsXG4uaGFzLXN1Y2Nlc3MuaXMtZm9jdXNlZCAucmFkaW8taW5saW5lLFxuLmhhcy1zdWNjZXNzLmlzLWZvY3VzZWQgLmNoZWNrYm94LWlubGluZSxcbi5oYXMtc3VjY2Vzcy5pcy1mb2N1c2VkLnJhZGlvIGxhYmVsLFxuLmhhcy1zdWNjZXNzLmlzLWZvY3VzZWQuY2hlY2tib3ggbGFiZWwsXG4uaGFzLXN1Y2Nlc3MuaXMtZm9jdXNlZC5yYWRpby1pbmxpbmUgbGFiZWwsXG4uaGFzLXN1Y2Nlc3MuaXMtZm9jdXNlZC5jaGVja2JveC1pbmxpbmUgbGFiZWwsXG4uaGFzLXN1Y2Nlc3MuaXMtZm9jdXNlZCAuY3VzdG9tLWNvbnRyb2wge1xuICBjb2xvcjogIzRjYWY1MDsgfVxuXG4uaGFzLXN1Y2Nlc3MgLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbCwgLmhhcy1zdWNjZXNzIC5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sLCAuaGFzLXN1Y2Nlc3MuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLCAuaGFzLXN1Y2Nlc3MuaXMtZm9jdXNlZCAuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIGJvcmRlci1jb2xvcjogIzRjYWY1MDsgfVxuXG4uaGFzLXN1Y2Nlc3MgLmlzLWZvY3VzZWQgLmlucHV0LWdyb3VwLWFkZG9uLCAuaGFzLXN1Y2Nlc3MuaXMtZm9jdXNlZCAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBjb2xvcjogIzRjYWY1MDtcbiAgYm9yZGVyLWNvbG9yOiAjNGNhZjUwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDllZWRhOyB9XG5cbi5oYXMtc3VjY2VzcyAuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWZlZWRiYWNrLCAuaGFzLXN1Y2Nlc3MuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgY29sb3I6ICM0Y2FmNTA7IH1cblxuLmhhcy1zdWNjZXNzIC5pcy1mb2N1c2VkIFtjbGFzc149J2JtZC1sYWJlbCddLFxuLmhhcy1zdWNjZXNzIC5pcy1mb2N1c2VkIFtjbGFzcyo9JyBibWQtbGFiZWwnXSwgLmhhcy1zdWNjZXNzLmlzLWZvY3VzZWQgW2NsYXNzXj0nYm1kLWxhYmVsJ10sXG4uaGFzLXN1Y2Nlc3MuaXMtZm9jdXNlZCBbY2xhc3MqPScgYm1kLWxhYmVsJ10ge1xuICBjb2xvcjogIzRjYWY1MDsgfVxuXG4uaGFzLXN1Y2Nlc3MgLmlzLWZvY3VzZWQgLmJtZC1sYWJlbC1wbGFjZWhvbGRlciwgLmhhcy1zdWNjZXNzLmlzLWZvY3VzZWQgLmJtZC1sYWJlbC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjNGNhZjUwOyB9XG5cbi5oYXMtc3VjY2VzcyAuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLCAuaGFzLXN1Y2Nlc3MgLmlzLWZvY3VzZWQgLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5oYXMtc3VjY2Vzcy5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wsIC5oYXMtc3VjY2Vzcy5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYm9yZGVyLWNvbG9yOiAjNGNhZjUwOyB9XG5cbi5oYXMtc3VjY2VzcyAuaXMtZm9jdXNlZCAuYm1kLWhlbHAsIC5oYXMtc3VjY2Vzcy5pcy1mb2N1c2VkIC5ibWQtaGVscCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpOyB9XG5cbi5oYXMtaW5mbyBbY2xhc3NePSdibWQtbGFiZWwnXSxcbi5oYXMtaW5mbyBbY2xhc3MqPScgYm1kLWxhYmVsJ10ge1xuICBjb2xvcjogIzAzYTlmNDsgfVxuXG4uaGFzLWluZm8gLmZvcm0tY29udHJvbCwgLmhhcy1pbmZvIC5jdXN0b20tZmlsZS1jb250cm9sLFxuLmlzLWZvY3VzZWQgLmhhcy1pbmZvIC5mb3JtLWNvbnRyb2wsXG4uaXMtZm9jdXNlZCAuaGFzLWluZm8gLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjMDNhOWY0IDJweCwgcmdiYSgzLCAxNjksIDI0NCwgMCkgMnB4KSwgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjI2KSAxcHgsIHRyYW5zcGFyZW50IDFweCk7IH1cblxuLmhhcy1pbmZvIC5mb3JtLWNvbnRyb2w6aW52YWxpZCwgLmhhcy1pbmZvIC5jdXN0b20tZmlsZS1jb250cm9sOmludmFsaWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjZDUwMDAwIDJweCwgcmdiYSgyMTMsIDAsIDAsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpOyB9XG5cbi5oYXMtaW5mbyAuZm9ybS1jb250cm9sOnJlYWQtb25seSwgLmhhcy1pbmZvIC5jdXN0b20tZmlsZS1jb250cm9sOnJlYWQtb25seSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDFweCwgdHJhbnNwYXJlbnQgMXB4KTsgfVxuXG5maWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5oYXMtaW5mbyAuZm9ybS1jb250cm9sLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5oYXMtaW5mbyAuY3VzdG9tLWZpbGUtY29udHJvbCwgLmhhcy1pbmZvIC5mb3JtLWNvbnRyb2wuZGlzYWJsZWQsIC5oYXMtaW5mbyAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbCwgLmhhcy1pbmZvIC5mb3JtLWNvbnRyb2w6ZGlzYWJsZWQsIC5oYXMtaW5mbyAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZCwgLmhhcy1pbmZvIC5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdLCAuaGFzLWluZm8gW2Rpc2FibGVkXS5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuMjYpIDAlLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDMwJSwgdHJhbnNwYXJlbnQgMzAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLXNpemU6IDNweCAxcHg7IH1cblxuLmhhcy1pbmZvIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3MsIC5oYXMtaW5mbyAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5oYXMtaW5mbyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzLFxuLmlzLWZvY3VzZWQgLmhhcy1pbmZvIC5mb3JtLWNvbnRyb2wtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgIzAzYTlmNCAycHgsIHJnYmEoMywgMTY5LCAyNDQsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPSclMjM1Y2I4NWMnIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLyUzRSUzQy9zdmclM0VcIik7IH1cblxuLmhhcy1pbmZvIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXdhcm5pbmcsIC5oYXMtaW5mbyAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5oYXMtaW5mbyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC13YXJuaW5nLFxuLmlzLWZvY3VzZWQgLmhhcy1pbmZvIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgIzAzYTlmNCAycHgsIHJnYmEoMywgMTY5LCAyNDQsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPSclMjNmMGFkNGUnIGQ9J000LjQgNS4zMjRoLS44di0yLjQ2aC44em0wIDEuNDJoLS44VjUuODloLjh6TTMuNzYuNjNMLjA0IDcuMDc1Yy0uMTE1LjIuMDE2LjQyNS4yNi40MjZoNy4zOTdjLjI0MiAwIC4zNzItLjIyNi4yNTgtLjQyNkM2LjcyNiA0LjkyNCA1LjQ3IDIuNzkgNC4yNTMuNjNjLS4xMTMtLjE3NC0uMzktLjE3NC0uNDk0IDB6Jy8lM0UlM0Mvc3ZnJTNFXCIpOyB9XG5cbi5oYXMtaW5mbyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXIsIC5oYXMtaW5mbyAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sLFxuLmlzLWZvY3VzZWQgLmhhcy1pbmZvIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlcixcbi5pcy1mb2N1c2VkIC5oYXMtaW5mbyAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgIzAzYTlmNCAycHgsIHJnYmEoMywgMTY5LCAyNDQsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyUyM2Q5NTM0Zicgdmlld0JveD0nLTIgLTIgNyA3JyUzRSUzQ3BhdGggc3Ryb2tlPSclMjNkOTUzNGYnIGQ9J00wIDBsMyAzbTAtM0wwIDMnLyUzRSUzQ2NpcmNsZSByPScuNScvJTNFJTNDY2lyY2xlIGN4PSczJyByPScuNScvJTNFJTNDY2lyY2xlIGN5PSczJyByPScuNScvJTNFJTNDY2lyY2xlIGN4PSczJyBjeT0nMycgcj0nLjUnLyUzRSUzQy9zdmclM0VcIik7IH1cblxuLmhhcy1pbmZvIC5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uaGFzLWluZm8gLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1sYWJlbCxcbi5oYXMtaW5mbyAuaXMtZm9jdXNlZCAucmFkaW8sXG4uaGFzLWluZm8gLmlzLWZvY3VzZWQgLmNoZWNrYm94LFxuLmhhcy1pbmZvIC5pcy1mb2N1c2VkIC5yYWRpby1pbmxpbmUsXG4uaGFzLWluZm8gLmlzLWZvY3VzZWQgLmNoZWNrYm94LWlubGluZSxcbi5oYXMtaW5mbyAuaXMtZm9jdXNlZC5yYWRpbyBsYWJlbCxcbi5oYXMtaW5mbyAuaXMtZm9jdXNlZC5jaGVja2JveCBsYWJlbCxcbi5oYXMtaW5mbyAuaXMtZm9jdXNlZC5yYWRpby1pbmxpbmUgbGFiZWwsXG4uaGFzLWluZm8gLmlzLWZvY3VzZWQuY2hlY2tib3gtaW5saW5lIGxhYmVsLFxuLmhhcy1pbmZvIC5pcy1mb2N1c2VkIC5jdXN0b20tY29udHJvbCwgLmhhcy1pbmZvLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5oYXMtaW5mby5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtbGFiZWwsXG4uaGFzLWluZm8uaXMtZm9jdXNlZCAucmFkaW8sXG4uaGFzLWluZm8uaXMtZm9jdXNlZCAuY2hlY2tib3gsXG4uaGFzLWluZm8uaXMtZm9jdXNlZCAucmFkaW8taW5saW5lLFxuLmhhcy1pbmZvLmlzLWZvY3VzZWQgLmNoZWNrYm94LWlubGluZSxcbi5oYXMtaW5mby5pcy1mb2N1c2VkLnJhZGlvIGxhYmVsLFxuLmhhcy1pbmZvLmlzLWZvY3VzZWQuY2hlY2tib3ggbGFiZWwsXG4uaGFzLWluZm8uaXMtZm9jdXNlZC5yYWRpby1pbmxpbmUgbGFiZWwsXG4uaGFzLWluZm8uaXMtZm9jdXNlZC5jaGVja2JveC1pbmxpbmUgbGFiZWwsXG4uaGFzLWluZm8uaXMtZm9jdXNlZCAuY3VzdG9tLWNvbnRyb2wge1xuICBjb2xvcjogIzAzYTlmNDsgfVxuXG4uaGFzLWluZm8gLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbCwgLmhhcy1pbmZvIC5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sLCAuaGFzLWluZm8uaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLCAuaGFzLWluZm8uaXMtZm9jdXNlZCAuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIGJvcmRlci1jb2xvcjogIzAzYTlmNDsgfVxuXG4uaGFzLWluZm8gLmlzLWZvY3VzZWQgLmlucHV0LWdyb3VwLWFkZG9uLCAuaGFzLWluZm8uaXMtZm9jdXNlZCAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBjb2xvcjogIzAzYTlmNDtcbiAgYm9yZGVyLWNvbG9yOiAjMDNhOWY0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzVlY2ZlOyB9XG5cbi5oYXMtaW5mbyAuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWZlZWRiYWNrLCAuaGFzLWluZm8uaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgY29sb3I6ICMwM2E5ZjQ7IH1cblxuLmhhcy1pbmZvIC5pcy1mb2N1c2VkIFtjbGFzc149J2JtZC1sYWJlbCddLFxuLmhhcy1pbmZvIC5pcy1mb2N1c2VkIFtjbGFzcyo9JyBibWQtbGFiZWwnXSwgLmhhcy1pbmZvLmlzLWZvY3VzZWQgW2NsYXNzXj0nYm1kLWxhYmVsJ10sXG4uaGFzLWluZm8uaXMtZm9jdXNlZCBbY2xhc3MqPScgYm1kLWxhYmVsJ10ge1xuICBjb2xvcjogIzAzYTlmNDsgfVxuXG4uaGFzLWluZm8gLmlzLWZvY3VzZWQgLmJtZC1sYWJlbC1wbGFjZWhvbGRlciwgLmhhcy1pbmZvLmlzLWZvY3VzZWQgLmJtZC1sYWJlbC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjMDNhOWY0OyB9XG5cbi5oYXMtaW5mbyAuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLCAuaGFzLWluZm8gLmlzLWZvY3VzZWQgLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5oYXMtaW5mby5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wsIC5oYXMtaW5mby5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDNhOWY0OyB9XG5cbi5oYXMtaW5mbyAuaXMtZm9jdXNlZCAuYm1kLWhlbHAsIC5oYXMtaW5mby5pcy1mb2N1c2VkIC5ibWQtaGVscCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpOyB9XG5cbi5oYXMtd2FybmluZyBbY2xhc3NePSdibWQtbGFiZWwnXSxcbi5oYXMtd2FybmluZyBbY2xhc3MqPScgYm1kLWxhYmVsJ10ge1xuICBjb2xvcjogI2ZmNTcyMjsgfVxuXG4uaGFzLXdhcm5pbmcgLmZvcm0tY29udHJvbCwgLmhhcy13YXJuaW5nIC5jdXN0b20tZmlsZS1jb250cm9sLFxuLmlzLWZvY3VzZWQgLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2wsXG4uaXMtZm9jdXNlZCAuaGFzLXdhcm5pbmcgLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjZmY1NzIyIDJweCwgcmdiYSgyNTUsIDg3LCAzNCwgMCkgMnB4KSwgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjI2KSAxcHgsIHRyYW5zcGFyZW50IDFweCk7IH1cblxuLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2w6aW52YWxpZCwgLmhhcy13YXJuaW5nIC5jdXN0b20tZmlsZS1jb250cm9sOmludmFsaWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjZDUwMDAwIDJweCwgcmdiYSgyMTMsIDAsIDAsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpOyB9XG5cbi5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sOnJlYWQtb25seSwgLmhhcy13YXJuaW5nIC5jdXN0b20tZmlsZS1jb250cm9sOnJlYWQtb25seSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDFweCwgdHJhbnNwYXJlbnQgMXB4KTsgfVxuXG5maWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5oYXMtd2FybmluZyAuY3VzdG9tLWZpbGUtY29udHJvbCwgLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2wuZGlzYWJsZWQsIC5oYXMtd2FybmluZyAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbCwgLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2w6ZGlzYWJsZWQsIC5oYXMtd2FybmluZyAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZCwgLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdLCAuaGFzLXdhcm5pbmcgW2Rpc2FibGVkXS5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuMjYpIDAlLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDMwJSwgdHJhbnNwYXJlbnQgMzAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLXNpemU6IDNweCAxcHg7IH1cblxuLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3MsIC5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzLFxuLmlzLWZvY3VzZWQgLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2wtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgI2ZmNTcyMiAycHgsIHJnYmEoMjU1LCA4NywgMzQsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPSclMjM1Y2I4NWMnIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLyUzRSUzQy9zdmclM0VcIik7IH1cblxuLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXdhcm5pbmcsIC5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC13YXJuaW5nLFxuLmlzLWZvY3VzZWQgLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgI2ZmNTcyMiAycHgsIHJnYmEoMjU1LCA4NywgMzQsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPSclMjNmMGFkNGUnIGQ9J000LjQgNS4zMjRoLS44di0yLjQ2aC44em0wIDEuNDJoLS44VjUuODloLjh6TTMuNzYuNjNMLjA0IDcuMDc1Yy0uMTE1LjIuMDE2LjQyNS4yNi40MjZoNy4zOTdjLjI0MiAwIC4zNzItLjIyNi4yNTgtLjQyNkM2LjcyNiA0LjkyNCA1LjQ3IDIuNzkgNC4yNTMuNjNjLS4xMTMtLjE3NC0uMzktLjE3NC0uNDk0IDB6Jy8lM0UlM0Mvc3ZnJTNFXCIpOyB9XG5cbi5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXIsIC5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sLFxuLmlzLWZvY3VzZWQgLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlcixcbi5pcy1mb2N1c2VkIC5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgI2ZmNTcyMiAycHgsIHJnYmEoMjU1LCA4NywgMzQsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyUyM2Q5NTM0Zicgdmlld0JveD0nLTIgLTIgNyA3JyUzRSUzQ3BhdGggc3Ryb2tlPSclMjNkOTUzNGYnIGQ9J00wIDBsMyAzbTAtM0wwIDMnLyUzRSUzQ2NpcmNsZSByPScuNScvJTNFJTNDY2lyY2xlIGN4PSczJyByPScuNScvJTNFJTNDY2lyY2xlIGN5PSczJyByPScuNScvJTNFJTNDY2lyY2xlIGN4PSczJyBjeT0nMycgcj0nLjUnLyUzRSUzQy9zdmclM0VcIik7IH1cblxuLmhhcy13YXJuaW5nIC5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uaGFzLXdhcm5pbmcgLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1sYWJlbCxcbi5oYXMtd2FybmluZyAuaXMtZm9jdXNlZCAucmFkaW8sXG4uaGFzLXdhcm5pbmcgLmlzLWZvY3VzZWQgLmNoZWNrYm94LFxuLmhhcy13YXJuaW5nIC5pcy1mb2N1c2VkIC5yYWRpby1pbmxpbmUsXG4uaGFzLXdhcm5pbmcgLmlzLWZvY3VzZWQgLmNoZWNrYm94LWlubGluZSxcbi5oYXMtd2FybmluZyAuaXMtZm9jdXNlZC5yYWRpbyBsYWJlbCxcbi5oYXMtd2FybmluZyAuaXMtZm9jdXNlZC5jaGVja2JveCBsYWJlbCxcbi5oYXMtd2FybmluZyAuaXMtZm9jdXNlZC5yYWRpby1pbmxpbmUgbGFiZWwsXG4uaGFzLXdhcm5pbmcgLmlzLWZvY3VzZWQuY2hlY2tib3gtaW5saW5lIGxhYmVsLFxuLmhhcy13YXJuaW5nIC5pcy1mb2N1c2VkIC5jdXN0b20tY29udHJvbCwgLmhhcy13YXJuaW5nLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5oYXMtd2FybmluZy5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtbGFiZWwsXG4uaGFzLXdhcm5pbmcuaXMtZm9jdXNlZCAucmFkaW8sXG4uaGFzLXdhcm5pbmcuaXMtZm9jdXNlZCAuY2hlY2tib3gsXG4uaGFzLXdhcm5pbmcuaXMtZm9jdXNlZCAucmFkaW8taW5saW5lLFxuLmhhcy13YXJuaW5nLmlzLWZvY3VzZWQgLmNoZWNrYm94LWlubGluZSxcbi5oYXMtd2FybmluZy5pcy1mb2N1c2VkLnJhZGlvIGxhYmVsLFxuLmhhcy13YXJuaW5nLmlzLWZvY3VzZWQuY2hlY2tib3ggbGFiZWwsXG4uaGFzLXdhcm5pbmcuaXMtZm9jdXNlZC5yYWRpby1pbmxpbmUgbGFiZWwsXG4uaGFzLXdhcm5pbmcuaXMtZm9jdXNlZC5jaGVja2JveC1pbmxpbmUgbGFiZWwsXG4uaGFzLXdhcm5pbmcuaXMtZm9jdXNlZCAuY3VzdG9tLWNvbnRyb2wge1xuICBjb2xvcjogI2ZmNTcyMjsgfVxuXG4uaGFzLXdhcm5pbmcgLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbCwgLmhhcy13YXJuaW5nIC5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sLCAuaGFzLXdhcm5pbmcuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLCAuaGFzLXdhcm5pbmcuaXMtZm9jdXNlZCAuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIGJvcmRlci1jb2xvcjogI2ZmNTcyMjsgfVxuXG4uaGFzLXdhcm5pbmcgLmlzLWZvY3VzZWQgLmlucHV0LWdyb3VwLWFkZG9uLCAuaGFzLXdhcm5pbmcuaXMtZm9jdXNlZCAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBjb2xvcjogI2ZmNTcyMjtcbiAgYm9yZGVyLWNvbG9yOiAjZmY1NzIyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmMmVlOyB9XG5cbi5oYXMtd2FybmluZyAuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWZlZWRiYWNrLCAuaGFzLXdhcm5pbmcuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgY29sb3I6ICNmZjU3MjI7IH1cblxuLmhhcy13YXJuaW5nIC5pcy1mb2N1c2VkIFtjbGFzc149J2JtZC1sYWJlbCddLFxuLmhhcy13YXJuaW5nIC5pcy1mb2N1c2VkIFtjbGFzcyo9JyBibWQtbGFiZWwnXSwgLmhhcy13YXJuaW5nLmlzLWZvY3VzZWQgW2NsYXNzXj0nYm1kLWxhYmVsJ10sXG4uaGFzLXdhcm5pbmcuaXMtZm9jdXNlZCBbY2xhc3MqPScgYm1kLWxhYmVsJ10ge1xuICBjb2xvcjogI2ZmNTcyMjsgfVxuXG4uaGFzLXdhcm5pbmcgLmlzLWZvY3VzZWQgLmJtZC1sYWJlbC1wbGFjZWhvbGRlciwgLmhhcy13YXJuaW5nLmlzLWZvY3VzZWQgLmJtZC1sYWJlbC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjZmY1NzIyOyB9XG5cbi5oYXMtd2FybmluZyAuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLCAuaGFzLXdhcm5pbmcgLmlzLWZvY3VzZWQgLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5oYXMtd2FybmluZy5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wsIC5oYXMtd2FybmluZy5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmY1NzIyOyB9XG5cbi5oYXMtd2FybmluZyAuaXMtZm9jdXNlZCAuYm1kLWhlbHAsIC5oYXMtd2FybmluZy5pcy1mb2N1c2VkIC5ibWQtaGVscCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpOyB9XG5cbi5oYXMtZGFuZ2VyIFtjbGFzc149J2JtZC1sYWJlbCddLFxuLmhhcy1kYW5nZXIgW2NsYXNzKj0nIGJtZC1sYWJlbCddIHtcbiAgY29sb3I6ICNmNDQzMzY7IH1cblxuLmhhcy1kYW5nZXIgLmZvcm0tY29udHJvbCwgLmhhcy1kYW5nZXIgLmN1c3RvbS1maWxlLWNvbnRyb2wsXG4uaXMtZm9jdXNlZCAuaGFzLWRhbmdlciAuZm9ybS1jb250cm9sLFxuLmlzLWZvY3VzZWQgLmhhcy1kYW5nZXIgLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjZjQ0MzM2IDJweCwgcmdiYSgyNDQsIDY3LCA1NCwgMCkgMnB4KSwgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjI2KSAxcHgsIHRyYW5zcGFyZW50IDFweCk7IH1cblxuLmhhcy1kYW5nZXIgLmZvcm0tY29udHJvbDppbnZhbGlkLCAuaGFzLWRhbmdlciAuY3VzdG9tLWZpbGUtY29udHJvbDppbnZhbGlkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgI2Q1MDAwMCAycHgsIHJnYmEoMjEzLCAwLCAwLCAwKSAycHgpLCBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDFweCwgdHJhbnNwYXJlbnQgMXB4KTsgfVxuXG4uaGFzLWRhbmdlciAuZm9ybS1jb250cm9sOnJlYWQtb25seSwgLmhhcy1kYW5nZXIgLmN1c3RvbS1maWxlLWNvbnRyb2w6cmVhZC1vbmx5IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjI2KSAxcHgsIHRyYW5zcGFyZW50IDFweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpOyB9XG5cbmZpZWxkc2V0W2Rpc2FibGVkXVtkaXNhYmxlZF0gLmhhcy1kYW5nZXIgLmZvcm0tY29udHJvbCwgZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXSAuaGFzLWRhbmdlciAuY3VzdG9tLWZpbGUtY29udHJvbCwgLmhhcy1kYW5nZXIgLmZvcm0tY29udHJvbC5kaXNhYmxlZCwgLmhhcy1kYW5nZXIgLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5oYXMtZGFuZ2VyIC5mb3JtLWNvbnRyb2w6ZGlzYWJsZWQsIC5oYXMtZGFuZ2VyIC5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLCAuaGFzLWRhbmdlciAuZm9ybS1jb250cm9sW2Rpc2FibGVkXSwgLmhhcy1kYW5nZXIgW2Rpc2FibGVkXS5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuMjYpIDAlLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDMwJSwgdHJhbnNwYXJlbnQgMzAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLXNpemU6IDNweCAxcHg7IH1cblxuLmhhcy1kYW5nZXIgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtc3VjY2VzcywgLmhhcy1kYW5nZXIgLmZvcm0tY29udHJvbC1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2wsXG4uaXMtZm9jdXNlZCAuaGFzLWRhbmdlciAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzLFxuLmlzLWZvY3VzZWQgLmhhcy1kYW5nZXIgLmZvcm0tY29udHJvbC1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjZjQ0MzM2IDJweCwgcmdiYSgyNDQsIDY3LCA1NCwgMCkgMnB4KSwgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjI2KSAxcHgsIHRyYW5zcGFyZW50IDFweCksIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGZpbGw9JyUyMzVjYjg1YycgZD0nTTIuMyA2LjczTC42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvJTNFJTNDL3N2ZyUzRVwiKTsgfVxuXG4uaGFzLWRhbmdlciAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC13YXJuaW5nLCAuaGFzLWRhbmdlciAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5oYXMtZGFuZ2VyIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXdhcm5pbmcsXG4uaXMtZm9jdXNlZCAuaGFzLWRhbmdlciAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICNmNDQzMzYgMnB4LCByZ2JhKDI0NCwgNjcsIDU0LCAwKSAycHgpLCBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDFweCwgdHJhbnNwYXJlbnQgMXB4KSwgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZmlsbD0nJTIzZjBhZDRlJyBkPSdNNC40IDUuMzI0aC0uOHYtMi40NmguOHptMCAxLjQyaC0uOFY1Ljg5aC44ek0zLjc2LjYzTC4wNCA3LjA3NWMtLjExNS4yLjAxNi40MjUuMjYuNDI2aDcuMzk3Yy4yNDIgMCAuMzcyLS4yMjYuMjU4LS40MjZDNi43MjYgNC45MjQgNS40NyAyLjc5IDQuMjUzLjYzYy0uMTEzLS4xNzQtLjM5LS4xNzQtLjQ5NCAweicvJTNFJTNDL3N2ZyUzRVwiKTsgfVxuXG4uaGFzLWRhbmdlciAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXIsIC5oYXMtZGFuZ2VyIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2wsXG4uaXMtZm9jdXNlZCAuaGFzLWRhbmdlciAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXIsXG4uaXMtZm9jdXNlZCAuaGFzLWRhbmdlciAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgI2Y0NDMzNiAycHgsIHJnYmEoMjQ0LCA2NywgNTQsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyUyM2Q5NTM0Zicgdmlld0JveD0nLTIgLTIgNyA3JyUzRSUzQ3BhdGggc3Ryb2tlPSclMjNkOTUzNGYnIGQ9J00wIDBsMyAzbTAtM0wwIDMnLyUzRSUzQ2NpcmNsZSByPScuNScvJTNFJTNDY2lyY2xlIGN4PSczJyByPScuNScvJTNFJTNDY2lyY2xlIGN5PSczJyByPScuNScvJTNFJTNDY2lyY2xlIGN4PSczJyBjeT0nMycgcj0nLjUnLyUzRSUzQy9zdmclM0VcIik7IH1cblxuLmhhcy1kYW5nZXIgLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5oYXMtZGFuZ2VyIC5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtbGFiZWwsXG4uaGFzLWRhbmdlciAuaXMtZm9jdXNlZCAucmFkaW8sXG4uaGFzLWRhbmdlciAuaXMtZm9jdXNlZCAuY2hlY2tib3gsXG4uaGFzLWRhbmdlciAuaXMtZm9jdXNlZCAucmFkaW8taW5saW5lLFxuLmhhcy1kYW5nZXIgLmlzLWZvY3VzZWQgLmNoZWNrYm94LWlubGluZSxcbi5oYXMtZGFuZ2VyIC5pcy1mb2N1c2VkLnJhZGlvIGxhYmVsLFxuLmhhcy1kYW5nZXIgLmlzLWZvY3VzZWQuY2hlY2tib3ggbGFiZWwsXG4uaGFzLWRhbmdlciAuaXMtZm9jdXNlZC5yYWRpby1pbmxpbmUgbGFiZWwsXG4uaGFzLWRhbmdlciAuaXMtZm9jdXNlZC5jaGVja2JveC1pbmxpbmUgbGFiZWwsXG4uaGFzLWRhbmdlciAuaXMtZm9jdXNlZCAuY3VzdG9tLWNvbnRyb2wsIC5oYXMtZGFuZ2VyLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5oYXMtZGFuZ2VyLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1sYWJlbCxcbi5oYXMtZGFuZ2VyLmlzLWZvY3VzZWQgLnJhZGlvLFxuLmhhcy1kYW5nZXIuaXMtZm9jdXNlZCAuY2hlY2tib3gsXG4uaGFzLWRhbmdlci5pcy1mb2N1c2VkIC5yYWRpby1pbmxpbmUsXG4uaGFzLWRhbmdlci5pcy1mb2N1c2VkIC5jaGVja2JveC1pbmxpbmUsXG4uaGFzLWRhbmdlci5pcy1mb2N1c2VkLnJhZGlvIGxhYmVsLFxuLmhhcy1kYW5nZXIuaXMtZm9jdXNlZC5jaGVja2JveCBsYWJlbCxcbi5oYXMtZGFuZ2VyLmlzLWZvY3VzZWQucmFkaW8taW5saW5lIGxhYmVsLFxuLmhhcy1kYW5nZXIuaXMtZm9jdXNlZC5jaGVja2JveC1pbmxpbmUgbGFiZWwsXG4uaGFzLWRhbmdlci5pcy1mb2N1c2VkIC5jdXN0b20tY29udHJvbCB7XG4gIGNvbG9yOiAjZjQ0MzM2OyB9XG5cbi5oYXMtZGFuZ2VyIC5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wsIC5oYXMtZGFuZ2VyIC5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sLCAuaGFzLWRhbmdlci5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wsIC5oYXMtZGFuZ2VyLmlzLWZvY3VzZWQgLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBib3JkZXItY29sb3I6ICNmNDQzMzY7IH1cblxuLmhhcy1kYW5nZXIgLmlzLWZvY3VzZWQgLmlucHV0LWdyb3VwLWFkZG9uLCAuaGFzLWRhbmdlci5pcy1mb2N1c2VkIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gIGNvbG9yOiAjZjQ0MzM2O1xuICBib3JkZXItY29sb3I6ICNmNDQzMzY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY4Zjc7IH1cblxuLmhhcy1kYW5nZXIgLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1mZWVkYmFjaywgLmhhcy1kYW5nZXIuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgY29sb3I6ICNmNDQzMzY7IH1cblxuLmhhcy1kYW5nZXIgLmlzLWZvY3VzZWQgW2NsYXNzXj0nYm1kLWxhYmVsJ10sXG4uaGFzLWRhbmdlciAuaXMtZm9jdXNlZCBbY2xhc3MqPScgYm1kLWxhYmVsJ10sIC5oYXMtZGFuZ2VyLmlzLWZvY3VzZWQgW2NsYXNzXj0nYm1kLWxhYmVsJ10sXG4uaGFzLWRhbmdlci5pcy1mb2N1c2VkIFtjbGFzcyo9JyBibWQtbGFiZWwnXSB7XG4gIGNvbG9yOiAjZjQ0MzM2OyB9XG5cbi5oYXMtZGFuZ2VyIC5pcy1mb2N1c2VkIC5ibWQtbGFiZWwtcGxhY2Vob2xkZXIsIC5oYXMtZGFuZ2VyLmlzLWZvY3VzZWQgLmJtZC1sYWJlbC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjZjQ0MzM2OyB9XG5cbi5oYXMtZGFuZ2VyIC5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wsIC5oYXMtZGFuZ2VyIC5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sLCAuaGFzLWRhbmdlci5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wsIC5oYXMtZGFuZ2VyLmlzLWZvY3VzZWQgLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBib3JkZXItY29sb3I6ICNmNDQzMzY7IH1cblxuLmhhcy1kYW5nZXIgLmlzLWZvY3VzZWQgLmJtZC1oZWxwLCAuaGFzLWRhbmdlci5pcy1mb2N1c2VkIC5ibWQtaGVscCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpOyB9XG5cbi5ibWQtZm9ybS1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDEuNzVyZW07IH1cbiAgLmJtZC1mb3JtLWdyb3VwIFtjbGFzc149J2JtZC1sYWJlbCddLFxuICAuYm1kLWZvcm0tZ3JvdXAgW2NsYXNzKj0nIGJtZC1sYWJlbCddIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlIGFsbDsgfVxuICAgIC5ibWQtZm9ybS1ncm91cCBbY2xhc3NePSdibWQtbGFiZWwnXS5ibWQtbGFiZWwtZmxvYXRpbmcsXG4gICAgLmJtZC1mb3JtLWdyb3VwIFtjbGFzcyo9JyBibWQtbGFiZWwnXS5ibWQtbGFiZWwtZmxvYXRpbmcge1xuICAgICAgd2lsbC1jaGFuZ2U6IGxlZnQsIHRvcCwgY29udGVudHM7IH1cbiAgLmJtZC1mb3JtLWdyb3VwLmlzLWZpbGxlZCAuYm1kLWxhYmVsLXBsYWNlaG9sZGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5ibWQtZm9ybS1ncm91cC5ibWQtY29sbGFwc2UtaW5saW5lIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1jb2xsYXBzZS1pbmxpbmUgLmNvbGxhcHNlLmluIHtcbiAgICAgIG1heC13aWR0aDogNjAwcHg7IH1cbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWNvbGxhcHNlLWlubGluZSAuY29sbGFwc2luZyxcbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWNvbGxhcHNlLWlubGluZSAud2lkdGg6bm90KC5jb2xsYXBzZSksXG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1jb2xsYXBzZS1pbmxpbmUgLmNvbGxhcHNlLmluIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtY29sbGFwc2UtaW5saW5lIC5jb2xsYXBzaW5nIHtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsgfVxuICAuYm1kLWZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbCwgLmJtZC1mb3JtLWdyb3VwIC5jdXN0b20tZmlsZS1jb250cm9sLFxuICAuYm1kLWZvcm0tZ3JvdXAgbGFiZWwsXG4gIC5ibWQtZm9ybS1ncm91cCBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5ibWQtZm9ybS1ncm91cCAucmFkaW8gbGFiZWwsXG4gIC5ibWQtZm9ybS1ncm91cCBsYWJlbC5yYWRpby1pbmxpbmUsXG4gIC5ibWQtZm9ybS1ncm91cCAuY2hlY2tib3ggbGFiZWwsXG4gIC5ibWQtZm9ybS1ncm91cCBsYWJlbC5jaGVja2JveC1pbmxpbmUsXG4gIC5ibWQtZm9ybS1ncm91cCAuc3dpdGNoIGxhYmVsIHtcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gIC5ibWQtZm9ybS1ncm91cCBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuYm1kLWZvcm0tZ3JvdXAgLmNoZWNrYm94IGxhYmVsLFxuICAuYm1kLWZvcm0tZ3JvdXAgLnJhZGlvIGxhYmVsLFxuICAuYm1kLWZvcm0tZ3JvdXAgbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuYm1kLWZvcm0tZ3JvdXAgLmJtZC1sYWJlbC1mbG9hdGluZyxcbiAgLmJtZC1mb3JtLWdyb3VwIC5ibWQtbGFiZWwtcGxhY2Vob2xkZXIge1xuICAgIHRvcDogMi4xODc1cmVtOyB9XG4gIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtbGFiZWwtZmxvYXRpbmcsXG4gIC5ibWQtZm9ybS1ncm91cCAuaXMtZm9jdXNlZCAuYm1kLWxhYmVsLWZsb2F0aW5nLCAuYm1kLWZvcm0tZ3JvdXAuaXMtZmlsbGVkIC5ibWQtbGFiZWwtZmxvYXRpbmcsXG4gIC5ibWQtZm9ybS1ncm91cCAuaXMtZmlsbGVkIC5ibWQtbGFiZWwtZmxvYXRpbmcge1xuICAgIHRvcDogMXJlbTtcbiAgICBsZWZ0OiAwO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYm1kLWZvcm0tZ3JvdXAgLmJtZC1sYWJlbC1zdGF0aWMge1xuICAgIHRvcDogMXJlbTtcbiAgICBsZWZ0OiAwO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYm1kLWZvcm0tZ3JvdXAgLmJtZC1oZWxwIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYm1kLWZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtc3VjY2VzcywgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtd2FybmluZywgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtZGFuZ2VyLCAuYm1kLWZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbC1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAwIDEwMCUsIDEwMCUgMTAwJSwgMC45Mzc1cmVtIDAuOTM3NXJlbTsgfVxuICAgIC5ibWQtZm9ybS1ncm91cCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzLCAuYm1kLWZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbC1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5ibWQtZm9ybS1ncm91cCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzOmZvY3VzLCAuYm1kLWZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbC1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXMsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3MsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtd2FybmluZywgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtd2FybmluZzpmb2N1cywgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzLFxuICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC13YXJuaW5nLFxuICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cCAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbCwgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlciwgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5ibWQtZm9ybS1ncm91cCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXI6Zm9jdXMsIC5ibWQtZm9ybS1ncm91cCAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzLFxuICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXIsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQsIG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b20sIGNlbnRlciBjYWxjKDEwMCUgLSAxcHgpLCBjZW50ZXIgcmlnaHQgMC40Njg3NXJlbTsgfVxuICAgIC5ibWQtZm9ybS1ncm91cCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzOmZvY3VzLCAuYm1kLWZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbC1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXMsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3MsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtd2FybmluZzpmb2N1cywgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzLFxuICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC13YXJuaW5nLFxuICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cCAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbCwgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlcjpmb2N1cywgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXMsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlcixcbiAgICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuYm1kLWZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbC1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJSwgMTAwJSAxMDAlLCAwLjkzNzVyZW0gMC45Mzc1cmVtOyB9XG4gIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSB7XG4gICAgcGFkZGluZy10b3A6IDEuNDA2MjVyZW07IH1cbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbCwgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5jdXN0b20tZmlsZS1jb250cm9sLFxuICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSBsYWJlbCxcbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5yYWRpbyBsYWJlbCxcbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gbGFiZWwucmFkaW8taW5saW5lLFxuICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuY2hlY2tib3ggbGFiZWwsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIGxhYmVsLmNoZWNrYm94LWlubGluZSxcbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLnN3aXRjaCBsYWJlbCB7XG4gICAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIGlucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5jaGVja2JveCBsYWJlbCxcbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLnJhZGlvIGxhYmVsLFxuICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSBsYWJlbCB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5ibWQtbGFiZWwtZmxvYXRpbmcsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5ibWQtbGFiZWwtcGxhY2Vob2xkZXIge1xuICAgICAgdG9wOiAxLjY1NjI1cmVtOyB9XG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtLmlzLWZvY3VzZWQgLmJtZC1sYWJlbC1mbG9hdGluZyxcbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmlzLWZvY3VzZWQgLmJtZC1sYWJlbC1mbG9hdGluZywgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtLmlzLWZpbGxlZCAuYm1kLWxhYmVsLWZsb2F0aW5nLFxuICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuaXMtZmlsbGVkIC5ibWQtbGFiZWwtZmxvYXRpbmcge1xuICAgICAgdG9wOiAwLjc1cmVtO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGZvbnQtc2l6ZTogMC42NTYyNXJlbTsgfVxuICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuYm1kLWxhYmVsLXN0YXRpYyB7XG4gICAgICB0b3A6IDAuNzVyZW07XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZm9udC1zaXplOiAwLjY1NjI1cmVtOyB9XG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5ibWQtaGVscCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgZm9udC1zaXplOiAwLjY1NjI1cmVtOyB9XG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3MsIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbCwgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXdhcm5pbmcsIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbCwgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlciwgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAwIDEwMCUsIDEwMCUgMTAwJSwgMC42ODc1cmVtIDAuNjg3NXJlbTsgfVxuICAgICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3MsIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbCwgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3M6Zm9jdXMsIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1cyxcbiAgICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzLFxuICAgICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtd2FybmluZywgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtd2FybmluZzpmb2N1cywgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzLFxuICAgICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXdhcm5pbmcsXG4gICAgICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXIsIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtZGFuZ2VyOmZvY3VzLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1cyxcbiAgICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXIsXG4gICAgICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQsIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGJvdHRvbSwgY2VudGVyIGNhbGMoMTAwJSAtIDFweCksIGNlbnRlciByaWdodCAwLjM0Mzc1cmVtOyB9XG4gICAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtc3VjY2Vzczpmb2N1cywgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzLFxuICAgICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3MsXG4gICAgICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC13YXJuaW5nOmZvY3VzLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXMsXG4gICAgICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtd2FybmluZyxcbiAgICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbCwgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlcjpmb2N1cywgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXMsXG4gICAgICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtZGFuZ2VyLFxuICAgICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJSwgMTAwJSAxMDAlLCAwLjY4NzVyZW0gMC42ODc1cmVtOyB9XG4gIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyB7XG4gICAgcGFkZGluZy10b3A6IDEuOTM3NXJlbTsgfVxuICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmN1c3RvbS1maWxlLWNvbnRyb2wsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIGxhYmVsLFxuICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLnJhZGlvIGxhYmVsLFxuICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyBsYWJlbC5yYWRpby1pbmxpbmUsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5jaGVja2JveCBsYWJlbCxcbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgbGFiZWwuY2hlY2tib3gtaW5saW5lLFxuICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuc3dpdGNoIGxhYmVsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuY2hlY2tib3ggbGFiZWwsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5yYWRpbyBsYWJlbCxcbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5ibWQtbGFiZWwtZmxvYXRpbmcsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5ibWQtbGFiZWwtcGxhY2Vob2xkZXIge1xuICAgICAgdG9wOiAyLjVyZW07IH1cbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcuaXMtZm9jdXNlZCAuYm1kLWxhYmVsLWZsb2F0aW5nLFxuICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuaXMtZm9jdXNlZCAuYm1kLWxhYmVsLWZsb2F0aW5nLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcuaXMtZmlsbGVkIC5ibWQtbGFiZWwtZmxvYXRpbmcsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5pcy1maWxsZWQgLmJtZC1sYWJlbC1mbG9hdGluZyB7XG4gICAgICB0b3A6IDFyZW07XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmJtZC1sYWJlbC1zdGF0aWMge1xuICAgICAgdG9wOiAxcmVtO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5ibWQtaGVscCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtc3VjY2VzcywgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtd2FybmluZywgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtZGFuZ2VyLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDAgMTAwJSwgMTAwJSAxMDAlLCAxLjE4NzVyZW0gMS4xODc1cmVtOyB9XG4gICAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtc3VjY2VzcywgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtc3VjY2Vzczpmb2N1cywgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzLFxuICAgICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3MsXG4gICAgICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC13YXJuaW5nLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC13YXJuaW5nOmZvY3VzLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXMsXG4gICAgICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtd2FybmluZyxcbiAgICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbCwgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlciwgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXI6Zm9jdXMsIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzLFxuICAgICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlcixcbiAgICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCwgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgYm90dG9tLCBjZW50ZXIgY2FsYygxMDAlIC0gMXB4KSwgY2VudGVyIHJpZ2h0IDAuNTkzNzVyZW07IH1cbiAgICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzOmZvY3VzLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXMsXG4gICAgICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtc3VjY2VzcyxcbiAgICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbCwgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXdhcm5pbmc6Zm9jdXMsIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1cyxcbiAgICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC13YXJuaW5nLFxuICAgICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtZGFuZ2VyOmZvY3VzLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1cyxcbiAgICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXIsXG4gICAgICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlLCAxMDAlIDEwMCUsIDEuMTg3NXJlbSAxLjE4NzVyZW07IH1cblxuLmZvcm0tY29udHJvbCwgLmN1c3RvbS1maWxlLWNvbnRyb2wsXG5sYWJlbCxcbmlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5yYWRpbyBsYWJlbCxcbmxhYmVsLnJhZGlvLWlubGluZSxcbi5jaGVja2JveCBsYWJlbCxcbmxhYmVsLmNoZWNrYm94LWlubGluZSxcbi5zd2l0Y2ggbGFiZWwge1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbmlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4uY2hlY2tib3ggbGFiZWwsXG4ucmFkaW8gbGFiZWwsXG5sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4uYm1kLWxhYmVsLWZsb2F0aW5nLFxuLmJtZC1sYWJlbC1wbGFjZWhvbGRlciB7XG4gIHRvcDogMi4xODc1cmVtOyB9XG5cbi5pcy1mb2N1c2VkIC5ibWQtbGFiZWwtZmxvYXRpbmcsXG4uaXMtZm9jdXNlZCAuYm1kLWxhYmVsLWZsb2F0aW5nLFxuLmlzLWZpbGxlZCAuYm1kLWxhYmVsLWZsb2F0aW5nLFxuLmlzLWZpbGxlZCAuYm1kLWxhYmVsLWZsb2F0aW5nIHtcbiAgdG9wOiAxcmVtO1xuICBsZWZ0OiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07IH1cblxuLmJtZC1sYWJlbC1zdGF0aWMge1xuICB0b3A6IDFyZW07XG4gIGxlZnQ6IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuXG4uYm1kLWhlbHAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07IH1cblxuLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtc3VjY2VzcywgLmZvcm0tY29udHJvbC1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXdhcm5pbmcsIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sLCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXIsIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLXNpemU6IDAgMTAwJSwgMTAwJSAxMDAlLCAwLjkzNzVyZW0gMC45Mzc1cmVtOyB9XG4gIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3MsIC5mb3JtLWNvbnRyb2wtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sLCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzOmZvY3VzLCAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1cyxcbiAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtc3VjY2VzcyxcbiAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXdhcm5pbmcsIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sLCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC13YXJuaW5nOmZvY3VzLCAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1cyxcbiAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtd2FybmluZyxcbiAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlciwgLmZvcm0tY29udHJvbC1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbCwgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtZGFuZ2VyOmZvY3VzLCAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzLFxuICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXIsXG4gIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCwgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b20sIGNlbnRlciBjYWxjKDEwMCUgLSAxcHgpLCBjZW50ZXIgcmlnaHQgMC40Njg3NXJlbTsgfVxuICAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzOmZvY3VzLCAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1cyxcbiAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtc3VjY2VzcyxcbiAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXdhcm5pbmc6Zm9jdXMsIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzLFxuICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC13YXJuaW5nLFxuICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbCwgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtZGFuZ2VyOmZvY3VzLCAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzLFxuICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXIsXG4gIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlLCAxMDAlIDEwMCUsIDAuOTM3NXJlbSAwLjkzNzVyZW07IH1cblxuc2VsZWN0LCBzZWxlY3QuZm9ybS1jb250cm9sLCBzZWxlY3QuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NDRweCkge1xuICAuZm9ybS1pbmxpbmUgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cblxuLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWFkZG9uICsgaW5wdXQsXG4uaW5wdXQtZ3JvdXAgaW5wdXQgKyAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBtYXJnaW4tbGVmdDogLjc1cmVtOyB9XG5cbi5saXN0LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1ncm93OiAxO1xuICBwYWRkaW5nOiAuNXJlbSAwOyB9XG4gIC5saXN0LWdyb3VwLmJtZC1saXN0LWdyb3VwLXNtIHtcbiAgICBwYWRkaW5nOiAuMjVyZW0gMDsgfVxuICAgIC5saXN0LWdyb3VwLmJtZC1saXN0LWdyb3VwLXNtIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgcGFkZGluZzogLjVyZW0gMXJlbTsgfVxuXG4uYm1kLWxpc3QtZ3JvdXAtY29sIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWluLXdpZHRoOiAwOyB9XG5cbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICAubGlzdC1ncm91cC1pdGVtIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCB7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1heC1oZWlnaHQ6IDIuMTg4cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH1cbiAgLmxpc3QtZ3JvdXAtaXRlbSA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMnJlbTsgfVxuICAubGlzdC1ncm91cC1pdGVtID4gLnB1bGwteHMtcmlnaHQsXG4gIC5saXN0LWdyb3VwLWl0ZW0gPiAucHVsbC1zbS1yaWdodCxcbiAgLmxpc3QtZ3JvdXAtaXRlbSA+IC5wdWxsLW1kLXJpZ2h0LFxuICAubGlzdC1ncm91cC1pdGVtID4gLnB1bGwtbGctcmlnaHQsXG4gIC5saXN0LWdyb3VwLWl0ZW0gPiAucHVsbC14bC1yaWdodCxcbiAgLmxpc3QtZ3JvdXAtaXRlbSA+ICogfiAubGFiZWw6bGFzdC1jaGlsZCxcbiAgLmxpc3QtZ3JvdXAtaXRlbSA+ICogfiAubWF0ZXJpYWwtaWNvbnM6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5saXN0LWdyb3VwLWl0ZW0gLm1hdGVyaWFsLWljb25zLnB1bGwteHMtcmlnaHQsXG4gIC5saXN0LWdyb3VwLWl0ZW0gLm1hdGVyaWFsLWljb25zLnB1bGwtc20tcmlnaHQsXG4gIC5saXN0LWdyb3VwLWl0ZW0gLm1hdGVyaWFsLWljb25zLnB1bGwtbWQtcmlnaHQsXG4gIC5saXN0LWdyb3VwLWl0ZW0gLm1hdGVyaWFsLWljb25zLnB1bGwtbGctcmlnaHQsXG4gIC5saXN0LWdyb3VwLWl0ZW0gLm1hdGVyaWFsLWljb25zLnB1bGwteGwtcmlnaHQsXG4gIC5saXN0LWdyb3VwLWl0ZW0gLm1hdGVyaWFsLWljb25zIH4gLm1hdGVyaWFsLWljb25zOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuICAubGlzdC1ncm91cC1pdGVtIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCB7XG4gICAgZm9udC1zaXplOiAuODc1cmVtO1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpOyB9XG5cbi50YWJsZS1pbnZlcnNlIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NCk7IH1cblxuLm5hdi1saW5rIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICBwYWRkaW5nOiAwLjUzMjFyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLm5hdi10YWJzLFxuLm5hdi1waWxscyB7XG4gIGJvcmRlcjogMDsgfVxuICAubmF2LXRhYnMgLm5hdi1saW5rLFxuICAubmF2LXBpbGxzIC5uYXYtbGluayB7XG4gICAgcGFkZGluZzogMS40Mjg2ZW0gMC44NTc1ZW07XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGJvcmRlcjogMDsgfVxuXG4ubmF2LXRhYnMgLm5hdi1saW5rIHtcbiAgYm9yZGVyLWJvdHRvbTogMC4yMTRyZW0gc29saWQgdHJhbnNwYXJlbnQ7IH1cblxuLm5hdi10YWJzIC5uYXYtbGluayB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpOyB9XG4gIC5uYXYtdGFicyAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgICAubmF2LXRhYnMgLm5hdi1saW5rLmFjdGl2ZTpmb2N1cywgLm5hdi10YWJzIC5uYXYtbGluay5hY3RpdmU6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDA5Njg4OyB9XG4gIC5uYXYtdGFicyAubmF2LWxpbmsuZGlzYWJsZWQge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG4gICAgLm5hdi10YWJzIC5uYXYtbGluay5kaXNhYmxlZCwgLm5hdi10YWJzIC5uYXYtbGluay5kaXNhYmxlZDpmb2N1cywgLm5hdi10YWJzIC5uYXYtbGluay5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuXG4ubmF2LXRhYnMuYmctcHJpbWFyeSAubmF2LWxpbmsge1xuICBjb2xvcjogd2hpdGU7IH1cbiAgLm5hdi10YWJzLmJnLXByaW1hcnkgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmOyB9XG4gICAgLm5hdi10YWJzLmJnLXByaW1hcnkgLm5hdi1saW5rLmFjdGl2ZTpmb2N1cywgLm5hdi10YWJzLmJnLXByaW1hcnkgLm5hdi1saW5rLmFjdGl2ZTpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICNmZmY7IH1cbiAgLm5hdi10YWJzLmJnLXByaW1hcnkgLm5hdi1saW5rLmRpc2FibGVkIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg0KTsgfVxuICAgIC5uYXYtdGFicy5iZy1wcmltYXJ5IC5uYXYtbGluay5kaXNhYmxlZCwgLm5hdi10YWJzLmJnLXByaW1hcnkgLm5hdi1saW5rLmRpc2FibGVkOmZvY3VzLCAubmF2LXRhYnMuYmctcHJpbWFyeSAubmF2LWxpbmsuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NCk7IH1cblxuLm5hdi10YWJzLmJnLWludmVyc2UgLm5hdi1saW5rIHtcbiAgY29sb3I6IHdoaXRlOyB9XG4gIC5uYXYtdGFicy5iZy1pbnZlcnNlIC5uYXYtbGluay5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZjsgfVxuICAgIC5uYXYtdGFicy5iZy1pbnZlcnNlIC5uYXYtbGluay5hY3RpdmU6Zm9jdXMsIC5uYXYtdGFicy5iZy1pbnZlcnNlIC5uYXYtbGluay5hY3RpdmU6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmOyB9XG4gIC5uYXYtdGFicy5iZy1pbnZlcnNlIC5uYXYtbGluay5kaXNhYmxlZCB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NCk7IH1cbiAgICAubmF2LXRhYnMuYmctaW52ZXJzZSAubmF2LWxpbmsuZGlzYWJsZWQsIC5uYXYtdGFicy5iZy1pbnZlcnNlIC5uYXYtbGluay5kaXNhYmxlZDpmb2N1cywgLm5hdi10YWJzLmJnLWludmVyc2UgLm5hdi1saW5rLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODQpOyB9XG5cbi5uYXYgLm5hdi1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5uYXZiYXIge1xuICB6LWluZGV4OiAxO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBmbGV4LXNocmluazogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDsgfVxuICAubmF2YmFyIC5uYXZiYXItYnJhbmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubmF2YmFyID4gKiB7XG4gICAgZmxleC1zaHJpbms6IDA7IH1cbiAgLm5hdmJhciA+IC5jb250YWluZXIge1xuICAgIGZsZXg6IDE7IH1cblxuLmFsZXJ0IHtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5wcm9ncmVzcyB7XG4gIGhlaWdodDogNHB4O1xuICBiYWNrZ3JvdW5kOiAjYzhjOGM4O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5wcm9ncmVzcyAucHJvZ3Jlc3MtYmFyIHtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG5cbi5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGluayB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRlbTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNGVtOyB9XG5cbi5wYWdlLWl0ZW06bGFzdC1jaGlsZCAucGFnZS1saW5rIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRlbTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGluaywgLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmsge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGluayA+IC5tYXRlcmlhbC1pY29ucywgLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmsgPiAubWF0ZXJpYWwtaWNvbnMge1xuICAgIGZvbnQtc2l6ZTogMS41ZW07IH1cblxuLnBhZ2UtbGluayB7XG4gIG1pbi13aWR0aDogMi42ZW07XG4gIG1hcmdpbi1yaWdodDogMC41ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNGVtOyB9XG4gIC5wYWdlLWxpbms6Zm9jdXMsIC5wYWdlLWxpbms6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4ucGFnaW5hdGlvbi1sZyAucGFnZS1saW5rIHtcbiAgbWluLXdpZHRoOiAyLjhlbTsgfVxuXG4ucGFnaW5hdGlvbi1sZyAucGFnZS1saW5rIHtcbiAgcGFkZGluZzogMC43NXJlbSAwO1xuICBmb250LXNpemU6IDEuMjVyZW07IH1cblxuLnBhZ2luYXRpb24tbGcgLnBhZ2UtaXRlbTpmaXJzdC1jaGlsZCAucGFnZS1saW5rIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNGVtO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0ZW07IH1cblxuLnBhZ2luYXRpb24tbGcgLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmsge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNGVtO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNGVtOyB9XG5cbi5wYWdpbmF0aW9uLXNtIC5wYWdlLWxpbmsge1xuICBtaW4td2lkdGg6IDIuMmVtOyB9XG5cbi5wYWdpbmF0aW9uLXNtIC5wYWdlLWxpbmsge1xuICBwYWRkaW5nOiAwLjI3NXJlbSAwO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5wYWdpbmF0aW9uLXNtIC5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGluayB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRlbTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNGVtOyB9XG5cbi5wYWdpbmF0aW9uLXNtIC5wYWdlLWl0ZW06bGFzdC1jaGlsZCAucGFnZS1saW5rIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRlbTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRlbTsgfVxuXG5oNiB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLmNhcmQge1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuICAuY2FyZCAuY2FyZC1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDFyZW07IH1cbiAgLmNhcmQgLmNhcmQtYmxvY2sge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAxcmVtIDFyZW07IH1cbiAgLmNhcmQgaDEuY2FyZC10aXRsZSwgLmNhcmQgaDIuY2FyZC10aXRsZSwgLmNhcmQgaDMuY2FyZC10aXRsZSwgLmNhcmQgaDQuY2FyZC10aXRsZSwgLmNhcmQgaDUuY2FyZC10aXRsZSwgLmNhcmQgaDYuY2FyZC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAuY2FyZCAuYm1kLWNhcmQtYWN0aW9ucyxcbiAgLmNhcmQgLmNhcmQtZm9vdGVyIHtcbiAgICBwYWRkaW5nOiAuNXJlbTsgfVxuICAuY2FyZC5ibWQtY2FyZC1yYWlzZWQge1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgM3B4IDE0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuY2FyZC5ibWQtY2FyZC1mbGF0IHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH0gfVxuXG4ubW9kYWwtY29udGVudCB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMC4xMjVyZW07IH1cbiAgLm1vZGFsLWNvbnRlbnQgLm1vZGFsLWhlYWRlciB7XG4gICAgcGFkZGluZzogMjRweCAyNHB4IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAubW9kYWwtY29udGVudCAubW9kYWwtYm9keSB7XG4gICAgcGFkZGluZzogMjBweCAyNHB4IDI0cHg7IH1cbiAgLm1vZGFsLWNvbnRlbnQgLm1vZGFsLWZvb3RlciB7XG4gICAgcGFkZGluZzogOHB4IDhweCA4cHggMjRweDtcbiAgICBib3JkZXItdG9wOiAwOyB9XG4gICAgLm1vZGFsLWNvbnRlbnQgLm1vZGFsLWZvb3RlciAuYnRuLCAubW9kYWwtY29udGVudCAubW9kYWwtZm9vdGVyIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLm1vZGFsLWNvbnRlbnQgLm1vZGFsLWZvb3RlciAuYnRuICsgLmJ0biwgLm1vZGFsLWNvbnRlbnQgLm1vZGFsLWZvb3RlciAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlICsgLmJ0biwgLm1vZGFsLWNvbnRlbnQgLm1vZGFsLWZvb3RlciAuYnRuICsgLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLm1vZGFsLWNvbnRlbnQgLm1vZGFsLWZvb3RlciAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlICsgLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XG5cbi5kcm9wZG93bi1tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IC4yNXJlbSAwO1xuICBib3JkZXI6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksIG9wYWNpdHkgMC4ycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgcGFkZGluZzogLjVyZW0gMDsgfSB9XG4gIC5vcGVuID4gLmRyb3Bkb3duLW1lbnUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAuZHJvcGRvd24tbWVudS5kcm9wZG93bi1tZW51LWxlZnQge1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDsgfVxuICAuZHJvcGRvd24tbWVudS5kcm9wZG93bi1tZW51LXJpZ2h0IHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDsgfVxuICAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24taXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1pbi13aWR0aDogN3JlbTtcbiAgICBtYXgtd2lkdGg6IDE3LjVyZW07XG4gICAgbWluLWhlaWdodDogM3JlbTtcbiAgICBwYWRkaW5nOiAwLjhyZW0gMXJlbSAwLjhyZW0gMXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLWl0ZW0ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtOyB9IH1cblxuLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246OmFmdGVyLCAuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4tZmFiOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24gfiAuZHJvcGRvd24tbWVudS5kcm9wZG93bi1tZW51LXRvcC1sZWZ0LCAuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiB+IC5kcm9wZG93bi1tZW51LmRyb3Bkb3duLW1lbnUtdG9wLXJpZ2h0LCAuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4tZmFiIH4gLmRyb3Bkb3duLW1lbnUuZHJvcGRvd24tbWVudS10b3AtbGVmdCwgLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWZhYiB+IC5kcm9wZG93bi1tZW51LmRyb3Bkb3duLW1lbnUtdG9wLXJpZ2h0IHtcbiAgYm90dG9tOiAycmVtOyB9XG5cbi5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1mYWItc20gfiAuZHJvcGRvd24tbWVudS5kcm9wZG93bi1tZW51LXRvcC1sZWZ0LCAuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4tZmFiLXNtIH4gLmRyb3Bkb3duLW1lbnUuZHJvcGRvd24tbWVudS10b3AtcmlnaHQge1xuICBib3R0b206IDIuNXJlbTsgfVxuXG4uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiB+IC5kcm9wZG93bi1tZW51IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5ibWQtbGF5b3V0LWRyYXdlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogNTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBmb250LXNpemU6IC44NzVyZW07XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgYm94LXNoYWRvdzogMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsgfVxuICAuYm1kLWxheW91dC1kcmF3ZXIgPiAqIHtcbiAgICBmbGV4LXNocmluazogMDsgfVxuICAuYm1kLWxheW91dC1kcmF3ZXIgPiBoZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHBhZGRpbmc6IDFyZW07IH1cbiAgICAuYm1kLWxheW91dC1kcmF3ZXIgPiBoZWFkZXIgLm5hdmJhci1icmFuZCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYm1kLWxheW91dC1kcmF3ZXIgPiAubGlzdC1ncm91cCB7XG4gICAgcGFkZGluZy10b3A6IDFyZW07IH1cbiAgICAuYm1kLWxheW91dC1kcmF3ZXIgPiAubGlzdC1ncm91cCAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMi41cmVtO1xuICAgICAgZm9udC1zaXplOiAuODEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtZHJhd2VyIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMjQwcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7IH1cblxuLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtaGVhZGVyLFxuLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5ibWQtZHJhd2VyLWYtciA+IC5ibWQtbGF5b3V0LWRyYXdlciB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAyNDBweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9XG5cbi5ibWQtZHJhd2VyLWYtciA+IC5ibWQtbGF5b3V0LWhlYWRlcixcbi5ibWQtZHJhd2VyLWYtciA+IC5ibWQtbGF5b3V0LWNvbnRlbnQge1xuICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLmJtZC1kcmF3ZXItZi10ID4gLmJtZC1sYXlvdXQtZHJhd2VyIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMTBweCk7IH1cblxuLmJtZC1kcmF3ZXItZi10ID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLmJtZC1kcmF3ZXItZi1iID4gLmJtZC1sYXlvdXQtZHJhd2VyIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDExMHB4KTsgfVxuXG4uYm1kLWRyYXdlci1mLWIgPiAuYm1kLWxheW91dC1jb250ZW50IHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG46bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi5ibWQtZHJhd2VyLWYtbCA+IC5ibWQtbGF5b3V0LWhlYWRlciB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAyNDBweCk7XG4gIG1hcmdpbi1sZWZ0OiAyNDBweDsgfVxuXG46bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi5ibWQtZHJhd2VyLWYtbCA+IC5ibWQtbGF5b3V0LWRyYXdlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG46bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi5ibWQtZHJhd2VyLWYtbCA+IC5ibWQtbGF5b3V0LWNvbnRlbnQge1xuICBtYXJnaW4tbGVmdDogMjQwcHg7IH1cblxuOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4uYm1kLWRyYXdlci1mLXIgPiAuYm1kLWxheW91dC1oZWFkZXIge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMjQwcHgpO1xuICBtYXJnaW4tcmlnaHQ6IDI0MHB4OyB9XG5cbjpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLmJtZC1kcmF3ZXItZi1yID4gLmJtZC1sYXlvdXQtZHJhd2VyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbjpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLmJtZC1kcmF3ZXItZi1yID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gIG1hcmdpbi1yaWdodDogMjQwcHg7IH1cblxuOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4uYm1kLWRyYXdlci1mLXQgPiAuYm1kLWxheW91dC1oZWFkZXIge1xuICBtYXJnaW4tdG9wOiAxMDBweDsgfVxuXG46bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi5ibWQtZHJhd2VyLWYtdCA+IC5ibWQtbGF5b3V0LWRyYXdlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG46bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi5ibWQtZHJhd2VyLWYtYiA+IC5ibWQtbGF5b3V0LWRyYXdlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG46bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi5ibWQtZHJhd2VyLWYtYiA+IC5ibWQtbGF5b3V0LWNvbnRlbnQge1xuICBtYXJnaW4tYm90dG9tOiAxMDBweDsgfVxuXG46bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LmJtZC1kcmF3ZXItb3ZlcmxheSA+IC5ibWQtbGF5b3V0LWJhY2tkcm9wIC5pbiB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuXG5Ac3VwcG9ydHMgKHBvaW50ZXItZXZlbnRzOiBhdXRvKSB7XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXkuYm1kLWRyYXdlci1vdmVybGF5ID4gLmJtZC1sYXlvdXQtYmFja2Ryb3AuaW4ge1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG46bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LmJtZC1kcmF3ZXItb3ZlcmxheS5ibWQtZHJhd2VyLWYtbCA+IC5ibWQtbGF5b3V0LWhlYWRlcixcbjpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXkuYm1kLWRyYXdlci1vdmVybGF5LmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG46bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LmJtZC1kcmF3ZXItb3ZlcmxheS5ibWQtZHJhd2VyLWYtciA+IC5ibWQtbGF5b3V0LWhlYWRlcixcbjpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXkuYm1kLWRyYXdlci1vdmVybGF5LmJtZC1kcmF3ZXItZi1yID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS5ibWQtZHJhd2VyLW92ZXJsYXkgPiAuYm1kLWxheW91dC1iYWNrZHJvcCAuaW4ge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cblxuQHN1cHBvcnRzIChwb2ludGVyLWV2ZW50czogYXV0bykge1xuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LmJtZC1kcmF3ZXItb3ZlcmxheSA+IC5ibWQtbGF5b3V0LWJhY2tkcm9wLmluIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS5ibWQtZHJhd2VyLW92ZXJsYXkuYm1kLWRyYXdlci1mLXQgPiAuYm1kLWxheW91dC1oZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbjpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXkuYm1kLWRyYXdlci1vdmVybGF5LmJtZC1kcmF3ZXItZi1iID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU0NHB4KSB7XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLXNtLXVwLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtaGVhZGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjQwcHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAyNDBweDsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi1zbS11cC5ibWQtZHJhd2VyLWYtbCA+IC5ibWQtbGF5b3V0LWRyYXdlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLXNtLXVwLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IDI0MHB4OyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLXNtLXVwLmJtZC1kcmF3ZXItZi1yID4gLmJtZC1sYXlvdXQtaGVhZGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjQwcHgpO1xuICAgIG1hcmdpbi1yaWdodDogMjQwcHg7IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4tc20tdXAuYm1kLWRyYXdlci1mLXIgPiAuYm1kLWxheW91dC1kcmF3ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi1zbS11cC5ibWQtZHJhd2VyLWYtciA+IC5ibWQtbGF5b3V0LWNvbnRlbnQge1xuICAgIG1hcmdpbi1yaWdodDogMjQwcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTQ0cHgpIHtcbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4tc20tdXAuYm1kLWRyYXdlci1mLXQgPiAuYm1kLWxheW91dC1oZWFkZXIge1xuICAgIG1hcmdpbi10b3A6IDEwMHB4OyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLXNtLXVwLmJtZC1kcmF3ZXItZi10ID4gLmJtZC1sYXlvdXQtZHJhd2VyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4tc20tdXAuYm1kLWRyYXdlci1mLWIgPiAuYm1kLWxheW91dC1kcmF3ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi1zbS11cC5ibWQtZHJhd2VyLWYtYiA+IC5ibWQtbGF5b3V0LWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDEwMHB4OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXktc20tZG93biA+IC5ibWQtbGF5b3V0LWJhY2tkcm9wIC5pbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cbiAgQHN1cHBvcnRzIChwb2ludGVyLWV2ZW50czogYXV0bykge1xuICAgIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXktc20tZG93biA+IC5ibWQtbGF5b3V0LWJhY2tkcm9wLmluIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgb3BhY2l0eTogMTsgfSB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXktc20tZG93bi5ibWQtZHJhd2VyLWYtbCA+IC5ibWQtbGF5b3V0LWhlYWRlcixcbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1zbS1kb3duLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1zbS1kb3duLmJtZC1kcmF3ZXItZi1yID4gLmJtZC1sYXlvdXQtaGVhZGVyLFxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LXNtLWRvd24uYm1kLWRyYXdlci1mLXIgPiAuYm1kLWxheW91dC1jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1zbS1kb3duID4gLmJtZC1sYXlvdXQtYmFja2Ryb3AgLmluIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICBAc3VwcG9ydHMgKHBvaW50ZXItZXZlbnRzOiBhdXRvKSB7XG4gICAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1zbS1kb3duID4gLmJtZC1sYXlvdXQtYmFja2Ryb3AuaW4ge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1zbS1kb3duLmJtZC1kcmF3ZXItZi10ID4gLmJtZC1sYXlvdXQtaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXktc20tZG93bi5ibWQtZHJhd2VyLWYtYiA+IC5ibWQtbGF5b3V0LWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4tbWQtdXAuYm1kLWRyYXdlci1mLWwgPiAuYm1kLWxheW91dC1oZWFkZXIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyNDBweCk7XG4gICAgbWFyZ2luLWxlZnQ6IDI0MHB4OyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLW1kLXVwLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtZHJhd2VyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4tbWQtdXAuYm1kLWRyYXdlci1mLWwgPiAuYm1kLWxheW91dC1jb250ZW50IHtcbiAgICBtYXJnaW4tbGVmdDogMjQwcHg7IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4tbWQtdXAuYm1kLWRyYXdlci1mLXIgPiAuYm1kLWxheW91dC1oZWFkZXIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyNDBweCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNDBweDsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi1tZC11cC5ibWQtZHJhd2VyLWYtciA+IC5ibWQtbGF5b3V0LWRyYXdlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLW1kLXVwLmJtZC1kcmF3ZXItZi1yID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNDBweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi1tZC11cC5ibWQtZHJhd2VyLWYtdCA+IC5ibWQtbGF5b3V0LWhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogMTAwcHg7IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4tbWQtdXAuYm1kLWRyYXdlci1mLXQgPiAuYm1kLWxheW91dC1kcmF3ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi1tZC11cC5ibWQtZHJhd2VyLWYtYiA+IC5ibWQtbGF5b3V0LWRyYXdlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLW1kLXVwLmJtZC1kcmF3ZXItZi1iID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1tZC1kb3duID4gLmJtZC1sYXlvdXQtYmFja2Ryb3AgLmluIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICBAc3VwcG9ydHMgKHBvaW50ZXItZXZlbnRzOiBhdXRvKSB7XG4gICAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1tZC1kb3duID4gLmJtZC1sYXlvdXQtYmFja2Ryb3AuaW4ge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1tZC1kb3duLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtaGVhZGVyLFxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LW1kLWRvd24uYm1kLWRyYXdlci1mLWwgPiAuYm1kLWxheW91dC1jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LW1kLWRvd24uYm1kLWRyYXdlci1mLXIgPiAuYm1kLWxheW91dC1oZWFkZXIsXG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXktbWQtZG93bi5ibWQtZHJhd2VyLWYtciA+IC5ibWQtbGF5b3V0LWNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LW1kLWRvd24gPiAuYm1kLWxheW91dC1iYWNrZHJvcCAuaW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG4gIEBzdXBwb3J0cyAocG9pbnRlci1ldmVudHM6IGF1dG8pIHtcbiAgICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LW1kLWRvd24gPiAuYm1kLWxheW91dC1iYWNrZHJvcC5pbiB7XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LW1kLWRvd24uYm1kLWRyYXdlci1mLXQgPiAuYm1kLWxheW91dC1oZWFkZXIge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1tZC1kb3duLmJtZC1kcmF3ZXItZi1iID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi1sZy11cC5ibWQtZHJhd2VyLWYtbCA+IC5ibWQtbGF5b3V0LWhlYWRlciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDI0MHB4KTtcbiAgICBtYXJnaW4tbGVmdDogMjQwcHg7IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4tbGctdXAuYm1kLWRyYXdlci1mLWwgPiAuYm1kLWxheW91dC1kcmF3ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi1sZy11cC5ibWQtZHJhd2VyLWYtbCA+IC5ibWQtbGF5b3V0LWNvbnRlbnQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNDBweDsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi1sZy11cC5ibWQtZHJhd2VyLWYtciA+IC5ibWQtbGF5b3V0LWhlYWRlciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDI0MHB4KTtcbiAgICBtYXJnaW4tcmlnaHQ6IDI0MHB4OyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLWxnLXVwLmJtZC1kcmF3ZXItZi1yID4gLmJtZC1sYXlvdXQtZHJhd2VyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4tbGctdXAuYm1kLWRyYXdlci1mLXIgPiAuYm1kLWxheW91dC1jb250ZW50IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDI0MHB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLWxnLXVwLmJtZC1kcmF3ZXItZi10ID4gLmJtZC1sYXlvdXQtaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAxMDBweDsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi1sZy11cC5ibWQtZHJhd2VyLWYtdCA+IC5ibWQtbGF5b3V0LWRyYXdlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLWxnLXVwLmJtZC1kcmF3ZXItZi1iID4gLmJtZC1sYXlvdXQtZHJhd2VyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4tbGctdXAuYm1kLWRyYXdlci1mLWIgPiAuYm1kLWxheW91dC1jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1sZy1kb3duID4gLmJtZC1sYXlvdXQtYmFja2Ryb3AgLmluIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICBAc3VwcG9ydHMgKHBvaW50ZXItZXZlbnRzOiBhdXRvKSB7XG4gICAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1sZy1kb3duID4gLmJtZC1sYXlvdXQtYmFja2Ryb3AuaW4ge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1sZy1kb3duLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtaGVhZGVyLFxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LWxnLWRvd24uYm1kLWRyYXdlci1mLWwgPiAuYm1kLWxheW91dC1jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LWxnLWRvd24uYm1kLWRyYXdlci1mLXIgPiAuYm1kLWxheW91dC1oZWFkZXIsXG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXktbGctZG93bi5ibWQtZHJhd2VyLWYtciA+IC5ibWQtbGF5b3V0LWNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1sZy1kb3duID4gLmJtZC1sYXlvdXQtYmFja2Ryb3AgLmluIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICBAc3VwcG9ydHMgKHBvaW50ZXItZXZlbnRzOiBhdXRvKSB7XG4gICAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1sZy1kb3duID4gLmJtZC1sYXlvdXQtYmFja2Ryb3AuaW4ge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1sZy1kb3duLmJtZC1kcmF3ZXItZi10ID4gLmJtZC1sYXlvdXQtaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXktbGctZG93bi5ibWQtZHJhd2VyLWYtYiA+IC5ibWQtbGF5b3V0LWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLXhsLXVwLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtaGVhZGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjQwcHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAyNDBweDsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi14bC11cC5ibWQtZHJhd2VyLWYtbCA+IC5ibWQtbGF5b3V0LWRyYXdlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLXhsLXVwLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IDI0MHB4OyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLXhsLXVwLmJtZC1kcmF3ZXItZi1yID4gLmJtZC1sYXlvdXQtaGVhZGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjQwcHgpO1xuICAgIG1hcmdpbi1yaWdodDogMjQwcHg7IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4teGwtdXAuYm1kLWRyYXdlci1mLXIgPiAuYm1kLWxheW91dC1kcmF3ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi14bC11cC5ibWQtZHJhd2VyLWYtciA+IC5ibWQtbGF5b3V0LWNvbnRlbnQge1xuICAgIG1hcmdpbi1yaWdodDogMjQwcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLXhsLXVwLmJtZC1kcmF3ZXItZi10ID4gLmJtZC1sYXlvdXQtaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAxMDBweDsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi14bC11cC5ibWQtZHJhd2VyLWYtdCA+IC5ibWQtbGF5b3V0LWRyYXdlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLXhsLXVwLmJtZC1kcmF3ZXItZi1iID4gLmJtZC1sYXlvdXQtZHJhd2VyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4teGwtdXAuYm1kLWRyYXdlci1mLWIgPiAuYm1kLWxheW91dC1jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDsgfSB9XG5cbjpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXkteGwtZG93biA+IC5ibWQtbGF5b3V0LWJhY2tkcm9wIC5pbiB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuXG5Ac3VwcG9ydHMgKHBvaW50ZXItZXZlbnRzOiBhdXRvKSB7XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXkteGwtZG93biA+IC5ibWQtbGF5b3V0LWJhY2tkcm9wLmluIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS14bC1kb3duLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtaGVhZGVyLFxuOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS14bC1kb3duLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG46bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LXhsLWRvd24uYm1kLWRyYXdlci1mLXIgPiAuYm1kLWxheW91dC1oZWFkZXIsXG46bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LXhsLWRvd24uYm1kLWRyYXdlci1mLXIgPiAuYm1kLWxheW91dC1jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG46bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LXhsLWRvd24gPiAuYm1kLWxheW91dC1iYWNrZHJvcCAuaW4ge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cblxuQHN1cHBvcnRzIChwb2ludGVyLWV2ZW50czogYXV0bykge1xuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LXhsLWRvd24gPiAuYm1kLWxheW91dC1iYWNrZHJvcC5pbiB7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbjpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXkteGwtZG93bi5ibWQtZHJhd2VyLWYtdCA+IC5ibWQtbGF5b3V0LWhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS14bC1kb3duLmJtZC1kcmF3ZXItZi1iID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnJpcHBsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ucmlwcGxlLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDsgfVxuICAucmlwcGxlLWNvbnRhaW5lciAucmlwcGxlLWRlY29yYXRvciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCU7IH1cbiAgICAucmlwcGxlLWNvbnRhaW5lciAucmlwcGxlLWRlY29yYXRvci5yaXBwbGUtb24ge1xuICAgICAgb3BhY2l0eTogMC4xO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlLWluIDBzLCB0cmFuc2Zvcm0gMC41cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpIDAuMXM7IH1cbiAgICAucmlwcGxlLWNvbnRhaW5lciAucmlwcGxlLWRlY29yYXRvci5yaXBwbGUtb3V0IHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgbGluZWFyIDBzICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIEltcG9ydGFudFJ1bGUsIFF1YWxpZnlpbmdFbGVtZW50XG5cbi8vIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzc1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUHJpbnQgc3R5bGVzLlxuLy8gSW5saW5lZCB0byBhdm9pZCB0aGUgYWRkaXRpb25hbCBIVFRQIHJlcXVlc3Q6XG4vLyBodHRwOi8vd3d3LnBocGllZC5jb20vZGVsYXktbG9hZGluZy15b3VyLXByaW50LWNzcy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZiAkZW5hYmxlLXByaW50LXN0eWxlcyB7XG4gIEBtZWRpYSBwcmludCB7XG4gICAgKixcbiAgICAqOjpiZWZvcmUsXG4gICAgKjo6YWZ0ZXIsXG4gICAgKjo6Zmlyc3QtbGV0dGVyLFxuICAgICo6OmZpcnN0LWxpbmUge1xuICAgICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IG91dCBgY29sb3JgIGFuZCBgYmFja2dyb3VuZGBcbiAgICAgIC8vY29sb3I6ICMwMDAgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gICBodHRwOi8vd3d3LnNhbmJlaWppLmNvbS9hcmNoaXZlcy85NTNcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAvL2JhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYSxcbiAgICBhOnZpc2l0ZWQge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IHRoZSBmb2xsb3dpbmcgc2VsZWN0b3Igb3V0XG4gICAgLy9hW2hyZWZdOjphZnRlciB7XG4gICAgLy8gIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICAgIC8vfVxuXG4gICAgYWJiclt0aXRsZV06OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgdGhlIGZvbGxvd2luZyBzZWxlY3RvciBvdXRcbiAgICAvL1xuICAgIC8vIERvbid0IHNob3cgbGlua3MgdGhhdCBhcmUgZnJhZ21lbnQgaWRlbnRpZmllcnMsXG4gICAgLy8gb3IgdXNlIHRoZSBgamF2YXNjcmlwdDpgIHBzZXVkbyBwcm90b2NvbFxuICAgIC8vXG5cbiAgICAvL2FbaHJlZl49XCIjXCJdOjphZnRlcixcbiAgICAvL2FbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTo6YWZ0ZXIge1xuICAgIC8vICBjb250ZW50OiBcIlwiO1xuICAgIC8vfVxuXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICM5OTk7ICAgLy8gQm9vdHN0cmFwIGN1c3RvbSBjb2RlOyB1c2luZyBgJGJvcmRlci13aWR0aGAgaW5zdGVhZCBvZiAxcHhcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIFByaW50aW5nIFRhYmxlczpcbiAgICAvLyBodHRwOi8vY3NzLWRpc2N1c3MuaW5jdXRpby5jb20vd2lraS9QcmludGluZ19UYWJsZXNcbiAgICAvL1xuXG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuICAgIH1cblxuICAgIHRyLFxuICAgIGltZyB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIHN0YXJ0XG5cbiAgICAvLyBCb290c3RyYXAgY29tcG9uZW50c1xuICAgIC5uYXZiYXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmJ0bixcbiAgICAuZHJvcHVwID4gLmJ0biB7XG4gICAgICA+IC5jYXJldCB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnRhZyB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgIzAwMDtcbiAgICB9XG5cbiAgICAudGFibGUge1xuICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50O1xuXG4gICAgICB0ZCxcbiAgICAgIHRoIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICAudGFibGUtYm9yZGVyZWQge1xuICAgICAgdGgsXG4gICAgICB0ZCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBlbmRcbiAgfVxufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZSwgUXVhbGlmeWluZ0VsZW1lbnQsIER1cGxpY2F0ZVByb3BlcnR5XG5cbi8vIFJlYm9vdFxuLy9cbi8vIEdsb2JhbCByZXNldHMgdG8gY29tbW9uIEhUTUwgZWxlbWVudHMgYW5kIG1vcmUgZm9yIGVhc2llciB1c2FnZSBieSBCb290c3RyYXAuXG4vLyBBZGRzIGFkZGl0aW9uYWwgcnVsZXMgb24gdG9wIG9mIE5vcm1hbGl6ZS5jc3MsIGluY2x1ZGluZyBzZXZlcmFsIG92ZXJyaWRlcy5cblxuXG4vLyBSZXNldCB0aGUgYm94LXNpemluZ1xuLy9cbi8vIENoYW5nZSBmcm9tIGBib3gtc2l6aW5nOiBjb250ZW50LWJveGAgdG8gYGJvcmRlci1ib3hgIHNvIHRoYXQgd2hlbiB5b3UgYWRkXG4vLyBgcGFkZGluZ2Agb3IgYGJvcmRlcmBzIHRvIGFuIGVsZW1lbnQsIHRoZSBvdmVyYWxsIGRlY2xhcmVkIGB3aWR0aGAgZG9lcyBub3Rcbi8vIGNoYW5nZS4gRm9yIGV4YW1wbGUsIGB3aWR0aDogMTAwcHg7YCB3aWxsIGFsd2F5cyBiZSBgMTAwcHhgIGRlc3BpdGUgdGhlXG4vLyBgYm9yZGVyOiAxMHB4IHNvbGlkIHJlZDtgIGFuZCBgcGFkZGluZzogMjBweDtgLlxuLy9cbi8vIEhlYWRzIHVwISBUaGlzIHJlc2V0IG1heSBjYXVzZSBjb25mbGljdHMgd2l0aCBzb21lIHRoaXJkLXBhcnR5IHdpZGdldHMuIEZvclxuLy8gcmVjb21tZW5kYXRpb25zIG9uIHJlc29sdmluZyBzdWNoIGNvbmZsaWN0cywgc2VlXG4vLyBodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbS9nZXR0aW5nLXN0YXJ0ZWQvI3RoaXJkLWJveC1zaXppbmcuXG4vL1xuLy8gQ3JlZGl0OiBodHRwczovL2Nzcy10cmlja3MuY29tL2luaGVyaXRpbmctYm94LXNpemluZy1wcm9iYWJseS1zbGlnaHRseS1iZXR0ZXItYmVzdC1wcmFjdGljZS9cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cblxuLy8gTWFrZSB2aWV3cG9ydCByZXNwb25zaXZlXG4vL1xuLy8gQHZpZXdwb3J0IGlzIG5lZWRlZCBiZWNhdXNlIElFIDEwKyBkb2Vzbid0IGhvbm9yIDxtZXRhIG5hbWU9XCJ2aWV3cG9ydFwiPiBpblxuLy8gc29tZSBjYXNlcy4gU2VlIGh0dHA6Ly90aW1rYWRsZWMuY29tLzIwMTIvMTAvaWUxMC1zbmFwLW1vZGUtYW5kLXJlc3BvbnNpdmUtZGVzaWduLy5cbi8vIEV2ZW50dWFsbHkgQHZpZXdwb3J0IHdpbGwgcmVwbGFjZSA8bWV0YSBuYW1lPVwidmlld3BvcnRcIj4uXG4vL1xuLy8gSG93ZXZlciwgYGRldmljZS13aWR0aGAgaXMgYnJva2VuIG9uIElFIDEwIG9uIFdpbmRvd3MgKFBob25lKSA4LFxuLy8gKHNlZSBodHRwOi8vdGlta2FkbGVjLmNvbS8yMDEzLzAxL3dpbmRvd3MtcGhvbmUtOC1hbmQtZGV2aWNlLXdpZHRoLyBhbmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMDQ5Nylcbi8vIGFuZCB0aGUgZml4IGZvciB0aGF0IGludm9sdmVzIGEgc25pcHBldCBvZiBKYXZhU2NyaXB0IHRvIHNuaWZmIHRoZSB1c2VyIGFnZW50XG4vLyBhbmQgYXBwbHkgc29tZSBjb25kaXRpb25hbCBDU1MuXG4vL1xuLy8gU2VlIGh0dHA6Ly9nZXRib290c3RyYXAuY29tL2dldHRpbmctc3RhcnRlZC8jc3VwcG9ydC1pZTEwLXdpZHRoIGZvciB0aGUgcmVsZXZhbnQgaGFjay5cbi8vXG4vLyBXcmFwIGBAdmlld3BvcnRgIHdpdGggYEBhdC1yb290YCBmb3Igd2hlbiBmb2xrcyBkbyBhIG5lc3RlZCBpbXBvcnQgKGUuZy4sXG4vLyBgLmNsYXNzLW5hbWUgeyBAaW1wb3J0IFwiYm9vdHN0cmFwXCI7IH1gKS5cbkBhdC1yb290IHtcbiAgQC1tcy12aWV3cG9ydCB7IHdpZHRoOiBkZXZpY2Utd2lkdGg7IH1cbn1cblxuXG4vL1xuLy8gUmVzZXQgSFRNTCwgYm9keSwgYW5kIG1vcmVcbi8vXG5cbmh0bWwge1xuICAvLyBTZXRzIGEgc3BlY2lmaWMgZGVmYXVsdCBgZm9udC1zaXplYCBmb3IgdXNlciB3aXRoIGByZW1gIHR5cGUgc2NhbGVzLlxuICBmb250LXNpemU6ICRmb250LXNpemUtcm9vdDtcbiAgLy8gQXMgYSBzaWRlLWVmZmVjdCBvZiBzZXR0aW5nIHRoZSBAdmlld3BvcnQgYWJvdmUsXG4gIC8vIElFMTEgJiBFZGdlIG1ha2UgdGhlIHNjcm9sbGJhciBvdmVybGFwIHRoZSBjb250ZW50IGFuZCBhdXRvbWF0aWNhbGx5IGhpZGUgaXRzZWxmIHdoZW4gbm90IGluIHVzZS5cbiAgLy8gVW5mb3J0dW5hdGVseSwgdGhlIGF1dG8tc2hvd2luZyBvZiB0aGUgc2Nyb2xsYmFyIGlzIHNvbWV0aW1lcyB0b28gc2Vuc2l0aXZlLFxuICAvLyB0aHVzIG1ha2luZyBpdCBoYXJkIHRvIGNsaWNrIG9uIHN0dWZmIG5lYXIgdGhlIHJpZ2h0IGVkZ2Ugb2YgdGhlIHBhZ2UuXG4gIC8vIFNvIHdlIGFkZCB0aGlzIHN0eWxlIHRvIGZvcmNlIElFMTEgJiBFZGdlIHRvIHVzZSBhIFwibm9ybWFsXCIsIG5vbi1vdmVybGFwcGluZywgbm9uLWF1dG8taGlkaW5nIHNjcm9sbGJhci5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTg1NDNcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBzY3JvbGxiYXI7XG4gIC8vIENoYW5nZXMgdGhlIGRlZmF1bHQgdGFwIGhpZ2hsaWdodCB0byBiZSBjb21wbGV0ZWx5IHRyYW5zcGFyZW50IGluIGlPUy5cbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLDApO1xufVxuXG5ib2R5IHtcbiAgLy8gTWFrZSB0aGUgYGJvZHlgIHVzZSB0aGUgYGZvbnQtc2l6ZS1yb290YFxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIC8vIEdvIGVhc3kgb24gdGhlIGV5ZXMgYW5kIHVzZSBzb21ldGhpbmcgb3RoZXIgdGhhbiBgIzAwMGAgZm9yIHRleHRcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAvLyBCeSBkZWZhdWx0LCBgPGJvZHk+YCBoYXMgbm8gYGJhY2tncm91bmQtY29sb3JgIHNvIHdlIHNldCBvbmUgYXMgYSBiZXN0IHByYWN0aWNlLlxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZztcbn1cblxuLy8gU3VwcHJlc3MgdGhlIGZvY3VzIG91dGxpbmUgb24gZWxlbWVudHMgdGhhdCBjYW5ub3QgYmUgYWNjZXNzZWQgdmlhIGtleWJvYXJkLlxuLy8gVGhpcyBwcmV2ZW50cyBhbiB1bndhbnRlZCBmb2N1cyBvdXRsaW5lIGZyb20gYXBwZWFyaW5nIGFyb3VuZCBlbGVtZW50cyB0aGF0XG4vLyBtaWdodCBzdGlsbCByZXNwb25kIHRvIHBvaW50ZXIgZXZlbnRzLlxuLy9cbi8vIENyZWRpdDogaHR0cHM6Ly9naXRodWIuY29tL3N1aXRjc3MvYmFzZVxuW3RhYmluZGV4PVwiLTFcIl06Zm9jdXMge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG5cblxuLy9cbi8vIFR5cG9ncmFwaHlcbi8vXG5cbi8vIFJlbW92ZSB0b3AgbWFyZ2lucyBmcm9tIGhlYWRpbmdzXG4vL1xuLy8gQnkgZGVmYXVsdCwgYDxoMT5gLWA8aDY+YCBhbGwgcmVjZWl2ZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiBXZSBudWtlIHRoZSB0b3Bcbi8vIG1hcmdpbiBmb3IgZWFzaWVyIGNvbnRyb2wgd2l0aGluIHR5cGUgc2NhbGVzIGFzIGl0IGF2b2lkcyBtYXJnaW4gY29sbGFwc2luZy5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbn1cblxuLy8gUmVzZXQgbWFyZ2lucyBvbiBwYXJhZ3JhcGhzXG4vL1xuLy8gU2ltaWxhcmx5LCB0aGUgdG9wIG1hcmdpbiBvbiBgPHA+YHMgZ2V0IHJlc2V0LiBIb3dldmVyLCB3ZSBhbHNvIHJlc2V0IHRoZVxuLy8gYm90dG9tIG1hcmdpbiB0byB1c2UgYHJlbWAgdW5pdHMgaW5zdGVhZCBvZiBgZW1gLlxucCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi8vIEFiYnJldmlhdGlvbnMgYW5kIGFjcm9ueW1zXG5hYmJyW3RpdGxlXSxcbi8vIEFkZCBkYXRhLSogYXR0cmlidXRlIHRvIGhlbHAgb3V0IG91ciB0b29sdGlwIHBsdWdpbiwgcGVyIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNTI1N1xuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7XG4gIGN1cnNvcjogaGVscDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAkYWJici1ib3JkZXItY29sb3I7XG59XG5cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5vbCxcbnVsLFxuZGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5vbCBvbCxcbnVsIHVsLFxub2wgdWwsXG51bCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6ICRkdC1mb250LXdlaWdodDtcbn1cblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIFVuZG8gYnJvd3NlciBkZWZhdWx0XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5cbi8vXG4vLyBMaW5rc1xuLy9cblxuYSB7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgdGFiLWZvY3VzKCk7XG4gIH1cbn1cblxuLy8gQW5kIHVuZG8gdGhlc2Ugc3R5bGVzIGZvciBwbGFjZWhvbGRlciBsaW5rcy9uYW1lZCBhbmNob3JzICh3aXRob3V0IGhyZWYpXG4vLyB3aGljaCBoYXZlIG5vdCBiZWVuIG1hZGUgZXhwbGljaXRseSBrZXlib2FyZC1mb2N1c2FibGUgKHdpdGhvdXQgdGFiaW5kZXgpLlxuLy8gSXQgd291bGQgYmUgbW9yZSBzdHJhaWdodGZvcndhcmQgdG8ganVzdCB1c2UgYVtocmVmXSBpbiBwcmV2aW91cyBibG9jaywgYnV0IHRoYXRcbi8vIGNhdXNlcyBzcGVjaWZpY2l0eSBpc3N1ZXMgaW4gbWFueSBvdGhlciBzdHlsZXMgdGhhdCBhcmUgdG9vIGNvbXBsZXggdG8gZml4LlxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTk0MDJcblxuYTpub3QoW2hyZWZdKTpub3QoW3RhYmluZGV4XSkge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG59XG5cblxuLy9cbi8vIENvZGVcbi8vXG5cbnByZSB7XG4gIC8vIFJlbW92ZSBicm93c2VyIGRlZmF1bHQgdG9wIG1hcmdpblxuICBtYXJnaW4tdG9wOiAwO1xuICAvLyBSZXNldCBicm93c2VyIGRlZmF1bHQgb2YgYDFlbWAgdG8gdXNlIGByZW1gc1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAvLyBOb3JtYWxpemUgdjQgcmVtb3ZlZCB0aGlzIHByb3BlcnR5LCBjYXVzaW5nIGA8cHJlPmAgY29udGVudCB0byBicmVhayBvdXQgb2Ygd3JhcHBpbmcgY29kZSBzbmlwcGV0c1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuZmlndXJlIHtcbiAgLy8gTm9ybWFsaXplIGFkZHMgYG1hcmdpbmAgdG8gYGZpZ3VyZWBzIGFzIGJyb3dzZXJzIGFwcGx5IGl0IGluY29uc2lzdGVudGx5LlxuICAvLyBXZSByZXNldCB0aGF0IHRvIGNyZWF0ZSBhIGJldHRlciBmbG93IGluLXBhZ2UuXG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblxuLy9cbi8vIEltYWdlc1xuLy9cblxuaW1nIHtcbiAgLy8gQnkgZGVmYXVsdCwgYDxpbWc+YHMgYXJlIGBpbmxpbmUtYmxvY2tgLiBUaGlzIGFzc3VtZXMgdGhhdCwgYW5kIHZlcnRpY2FsbHlcbiAgLy8gY2VudGVycyB0aGVtLiBUaGlzIHdvbid0IGFwcGx5IHNob3VsZCB5b3UgcmVzZXQgdGhlbSB0byBgYmxvY2tgIGxldmVsLlxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvLyBOb3RlOiBgPGltZz5gcyBhcmUgZGVsaWJlcmF0ZWx5IG5vdCBtYWRlIHJlc3BvbnNpdmUgYnkgZGVmYXVsdC5cbiAgLy8gRm9yIHRoZSByYXRpb25hbGUgYmVoaW5kIHRoaXMsIHNlZSB0aGUgY29tbWVudHMgb24gdGhlIGAuaW1nLWZsdWlkYCBjbGFzcy5cbn1cblxuXG4vLyBpT1MgXCJjbGlja2FibGUgZWxlbWVudHNcIiBmaXggZm9yIHJvbGU9XCJidXR0b25cIlxuLy9cbi8vIEZpeGVzIFwiY2xpY2thYmlsaXR5XCIgaXNzdWUgKGFuZCBtb3JlIGdlbmVyYWxseSwgdGhlIGZpcmluZyBvZiBldmVudHMgc3VjaCBhcyBmb2N1cyBhcyB3ZWxsKVxuLy8gZm9yIHRyYWRpdGlvbmFsbHkgbm9uLWZvY3VzYWJsZSBlbGVtZW50cyB3aXRoIHJvbGU9XCJidXR0b25cIlxuLy8gc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5cbltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5cbi8vIEF2b2lkIDMwMG1zIGNsaWNrIGRlbGF5IG9uIHRvdWNoIGRldmljZXMgdGhhdCBzdXBwb3J0IHRoZSBgdG91Y2gtYWN0aW9uYCBDU1MgcHJvcGVydHkuXG4vL1xuLy8gSW4gcGFydGljdWxhciwgdW5saWtlIG1vc3Qgb3RoZXIgYnJvd3NlcnMsIElFMTErRWRnZSBvbiBXaW5kb3dzIDEwIG9uIHRvdWNoIGRldmljZXMgYW5kIElFIE1vYmlsZSAxMC0xMVxuLy8gRE9OJ1QgcmVtb3ZlIHRoZSBjbGljayBkZWxheSB3aGVuIGA8bWV0YSBuYW1lPVwidmlld3BvcnRcIiBjb250ZW50PVwid2lkdGg9ZGV2aWNlLXdpZHRoXCI+YCBpcyBwcmVzZW50LlxuLy8gSG93ZXZlciwgdGhleSBETyBzdXBwb3J0IHJlbW92aW5nIHRoZSBjbGljayBkZWxheSB2aWEgYHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uYC5cbi8vIFNlZTpcbi8vICogaHR0cDovL3Y0LWFscGhhLmdldGJvb3RzdHJhcC5jb20vY29udGVudC9yZWJvb3QvI2NsaWNrLWRlbGF5LW9wdGltaXphdGlvbi1mb3ItdG91Y2hcbi8vICogaHR0cDovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy10b3VjaC1hY3Rpb25cbi8vICogaHR0cDovL3BhdHJpY2tobGF1a2UuZ2l0aHViLmlvL3RvdWNoL3Rlc3RzL3Jlc3VsdHMvI3N1cHByZXNzaW5nLTMwMG1zLWRlbGF5XG5cbmEsXG5hcmVhLFxuYnV0dG9uLFxuW3JvbGU9XCJidXR0b25cIl0sXG5pbnB1dCxcbmxhYmVsLFxuc2VsZWN0LFxuc3VtbWFyeSxcbnRleHRhcmVhIHtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG59XG5cblxuLy9cbi8vIFRhYmxlc1xuLy9cblxudGFibGUge1xuICAvLyBObyBsb25nZXIgcGFydCBvZiBOb3JtYWxpemUgc2luY2UgdjRcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgLy8gUmVzZXQgZm9yIG5lc3Rpbmcgd2l0aGluIHBhcmVudHMgd2l0aCBgYmFja2dyb3VuZC1jb2xvcmAuXG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iZztcbn1cblxuY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgY29sb3I6ICR0ZXh0LW11dGVkO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbn1cblxudGgge1xuICAvLyBDZW50ZXJlZCBieSBkZWZhdWx0LCBidXQgbGVmdC1hbGlnbi1lZCB0byBtYXRjaCB0aGUgYHRkYHMgYmVsb3cuXG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cblxuLy9cbi8vIEZvcm1zXG4vL1xuXG5sYWJlbCB7XG4gIC8vIEFsbG93IGxhYmVscyB0byB1c2UgYG1hcmdpbmAgZm9yIHNwYWNpbmcuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG59XG5cbi8vIFdvcmsgYXJvdW5kIGEgRmlyZWZveC9JRSBidWcgd2hlcmUgdGhlIHRyYW5zcGFyZW50IGBidXR0b25gIGJhY2tncm91bmRcbi8vIHJlc3VsdHMgaW4gYSBsb3NzIG9mIHRoZSBkZWZhdWx0IGBidXR0b25gIGZvY3VzIHN0eWxlcy5cbi8vXG4vLyBDcmVkaXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9zdWl0Y3NzL2Jhc2UvXG5idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiAxcHggZG90dGVkO1xuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG59XG5cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAvLyBSZW1vdmUgYWxsIGBtYXJnaW5gcyBzbyBvdXIgY2xhc3NlcyBkb24ndCBoYXZlIHRvIGRvIGl0IHRoZW1zZWx2ZXMuXG4gIG1hcmdpbjogMDtcbiAgLy8gTm9ybWFsaXplIGluY2x1ZGVzIGBmb250OiBpbmhlcml0O2AsIHNvIGBmb250LWZhbWlseWAuIGBmb250LXNpemVgLCBldGMgYXJlXG4gIC8vIHByb3Blcmx5IGluaGVyaXRlZC4gSG93ZXZlciwgYGxpbmUtaGVpZ2h0YCBpc24ndCBhZGRyZXNzZWQgdGhlcmUuIFVzaW5nIHRoaXNcbiAgLy8gZW5zdXJlcyB3ZSBkb24ndCBuZWVkIHRvIHVubmVjZXNzYXJpbHkgcmVkZWNsYXJlIHRoZSBnbG9iYWwgZm9udCBzdGFjay5cbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIC8vIGlPUyBhZGRzIHJvdW5kZWQgYm9yZGVycyBieSBkZWZhdWx0XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIC8vIEFwcGx5IGEgZGlzYWJsZWQgY3Vyc29yIGZvciByYWRpb3MgYW5kIGNoZWNrYm94ZXMuXG4gIC8vXG4gIC8vIE5vdGU6IE5laXRoZXIgcmFkaW9zIG5vciBjaGVja2JveGVzIGNhbiBiZSByZWFkb25seS5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICB9XG59XG5cblxuaW5wdXRbdHlwZT1cImRhdGVcIl0sXG5pbnB1dFt0eXBlPVwidGltZVwiXSxcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbmlucHV0W3R5cGU9XCJtb250aFwiXSB7XG4gIC8vIFJlbW92ZSB0aGUgZGVmYXVsdCBhcHBlYXJhbmNlIG9mIHRlbXBvcmFsIGlucHV0cyB0byBhdm9pZCBhIE1vYmlsZSBTYWZhcmlcbiAgLy8gYnVnIHdoZXJlIHNldHRpbmcgYSBjdXN0b20gbGluZS1oZWlnaHQgcHJldmVudHMgdGV4dCBmcm9tIGJlaW5nIHZlcnRpY2FsbHlcbiAgLy8gY2VudGVyZWQgd2l0aGluIHRoZSBpbnB1dC5cbiAgLy9cbiAgLy8gQnVnIHJlcG9ydDogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTI2NlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGxpc3Rib3g7XG59XG5cbnRleHRhcmVhIHtcbiAgLy8gVGV4dGFyZWFzIHNob3VsZCByZWFsbHkgb25seSByZXNpemUgdmVydGljYWxseSBzbyB0aGV5IGRvbid0IGJyZWFrIHRoZWlyIChob3Jpem9udGFsKSBjb250YWluZXJzLlxuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG5maWVsZHNldCB7XG4gIC8vIENocm9tZSBhbmQgRmlyZWZveCBzZXQgYSBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbiAgLy8gc28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgaXQgYmVoYXZlcyBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMjM1OS5cbiAgbWluLXdpZHRoOiAwO1xuICAvLyBSZXNldCB0aGUgZGVmYXVsdCBvdXRsaW5lIGJlaGF2aW9yIG9mIGZpZWxkc2V0cyBzbyB0aGV5IGRvbid0IGFmZmVjdCBwYWdlIGxheW91dC5cbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbmxlZ2VuZCB7XG4gIC8vIFJlc2V0IHRoZSBlbnRpcmUgbGVnZW5kIGVsZW1lbnQgdG8gbWF0Y2ggdGhlIGBmaWVsZHNldGBcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLy8gVGhpcyBvdmVycmlkZXMgdGhlIGV4dHJhIHJvdW5kZWQgY29ybmVycyBvbiBzZWFyY2ggaW5wdXRzIGluIGlPUyBzbyB0aGF0IG91clxuICAvLyBgLmZvcm0tY29udHJvbGAgY2xhc3MgY2FuIHByb3Blcmx5IHN0eWxlIHRoZW0uIE5vdGUgdGhhdCB0aGlzIGNhbm5vdCBzaW1wbHlcbiAgLy8gYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTg2LlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vIHRvZG86IG5lZWRlZD9cbm91dHB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbi8vICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbi8vICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuLy8gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG59XG5cbi8vIEFsd2F5cyBoaWRlIGFuIGVsZW1lbnQgd2l0aCB0aGUgYGhpZGRlbmAgSFRNTCBhdHRyaWJ1dGUgKGZyb20gUHVyZUNTUykuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi8vIFZhcmlhYmxlc1xuLy9cbi8vIENvcHkgc2V0dGluZ3MgZnJvbSB0aGlzIGZpbGUgaW50byB0aGUgcHJvdmlkZWQgYF9jdXN0b20uc2Nzc2AgdG8gb3ZlcnJpZGVcbi8vIHRoZSBCb290c3RyYXAgZGVmYXVsdHMgd2l0aG91dCBtb2RpZnlpbmcga2V5LCB2ZXJzaW9uZWQgZmlsZXMuXG5cblxuLy8gVGFibGUgb2YgQ29udGVudHNcbi8vXG4vLyBDb2xvcnNcbi8vIE9wdGlvbnNcbi8vIFNwYWNpbmdcbi8vIEJvZHlcbi8vIExpbmtzXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vIEdyaWQgY29sdW1uc1xuLy8gRm9udHNcbi8vIENvbXBvbmVudHNcblxuQG1peGluIF9hc3NlcnQtYXNjZW5kaW5nKCRtYXAsICRtYXAtbmFtZSkge1xuICAkcHJldi1rZXk6IG51bGw7XG4gICRwcmV2LW51bTogbnVsbDtcbiAgQGVhY2ggJGtleSwgJG51bSBpbiAkbWFwIHtcbiAgICBAaWYgJHByZXYtbnVtID09IG51bGwge1xuICAgICAgLy8gRG8gbm90aGluZ1xuICAgIH0gQGVsc2UgaWYgbm90IGNvbXBhcmFibGUoJHByZXYtbnVtLCAkbnVtKSB7XG4gICAgICBAd2FybiBcIlBvdGVudGlhbGx5IGludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdob3NlIHVuaXQgbWFrZXMgaXQgaW5jb21wYXJhYmxlIHRvICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH0gQGVsc2UgaWYgJHByZXYtbnVtID49ICRudW0ge1xuICAgICAgQHdhcm4gXCJJbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aGljaCBpc24ndCBncmVhdGVyIHRoYW4gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfVxuICAgICRwcmV2LWtleTogJGtleTtcbiAgICAkcHJldi1udW06ICRudW07XG4gIH1cbn1cblxuLy8gR2VuZXJhbCB2YXJpYWJsZSBzdHJ1Y3R1cmVcbi8vXG4vLyBWYXJpYWJsZSBmb3JtYXQgc2hvdWxkIGZvbGxvdyB0aGUgYCRjb21wb25lbnQtbW9kaWZpZXItc3RhdGUtcHJvcGVydHlgIG9yZGVyLlxuXG5cbi8vIENvbG9yc1xuLy9cbi8vIEdyYXlzY2FsZSBhbmQgYnJhbmQgY29sb3JzIGZvciB1c2UgYWNyb3NzIEJvb3RzdHJhcC5cblxuJGdyYXktZGFyazogICAgICAgICAgICAgICAgICMzNzNhM2MgIWRlZmF1bHQ7XG4kZ3JheTogICAgICAgICAgICAgICAgICAgICAgIzU1NTk1YyAhZGVmYXVsdDtcbiRncmF5LWxpZ2h0OiAgICAgICAgICAgICAgICAjODE4YTkxICFkZWZhdWx0O1xuJGdyYXktbGlnaHRlcjogICAgICAgICAgICAgICNlY2VlZWYgIWRlZmF1bHQ7XG4kZ3JheS1saWdodGVzdDogICAgICAgICAgICAgI2Y3ZjdmOSAhZGVmYXVsdDtcblxuJGJyYW5kLXByaW1hcnk6ICAgICAgICAgICAgICMwMjc1ZDggIWRlZmF1bHQ7XG4kYnJhbmQtc3VjY2VzczogICAgICAgICAgICAgIzVjYjg1YyAhZGVmYXVsdDtcbiRicmFuZC1pbmZvOiAgICAgICAgICAgICAgICAjNWJjMGRlICFkZWZhdWx0O1xuJGJyYW5kLXdhcm5pbmc6ICAgICAgICAgICAgICNmMGFkNGUgIWRlZmF1bHQ7XG4kYnJhbmQtZGFuZ2VyOiAgICAgICAgICAgICAgI2Q5NTM0ZiAhZGVmYXVsdDtcbiRicmFuZC1pbnZlcnNlOiAgICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuXG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtZmxleDogICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtcm91bmRlZDogICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeTogIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByaW50LXN0eWxlczogICAgICAgdHJ1ZSAhZGVmYXVsdDtcblxuXG4vLyBTcGFjaW5nXG4vL1xuLy8gQ29udHJvbCB0aGUgZGVmYXVsdCBzdHlsaW5nIG9mIG1vc3QgQm9vdHN0cmFwIGVsZW1lbnRzIGJ5IG1vZGlmeWluZyB0aGVzZVxuLy8gdmFyaWFibGVzLiBNb3N0bHkgZm9jdXNlZCBvbiBzcGFjaW5nLlxuLy8gWW91IGNhbiBhZGQgbW9yZSBlbnRyaWVzIHRvIHRoZSAkc3BhY2VycyBtYXAsIHNob3VsZCB5b3UgbmVlZCBtb3JlIHZhcmlhdGlvbi5cblxuJHNwYWNlcjogICAxcmVtICFkZWZhdWx0O1xuJHNwYWNlci14OiAkc3BhY2VyICFkZWZhdWx0O1xuJHNwYWNlci15OiAkc3BhY2VyICFkZWZhdWx0O1xuJHNwYWNlcnM6IChcbiAgMDogKFxuICAgIHg6IDAsXG4gICAgeTogMFxuICApLFxuICAxOiAoXG4gICAgeDogJHNwYWNlci14LFxuICAgIHk6ICRzcGFjZXIteVxuICApLFxuICAyOiAoXG4gICAgeDogKCRzcGFjZXIteCAqIDEuNSksXG4gICAgeTogKCRzcGFjZXIteSAqIDEuNSlcbiAgKSxcbiAgMzogKFxuICAgIHg6ICgkc3BhY2VyLXggKiAzKSxcbiAgICB5OiAoJHNwYWNlci15ICogMylcbiAgKVxuKSAhZGVmYXVsdDtcbiRib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS1iZzogICAgI2ZmZiAhZGVmYXVsdDtcbiRib2R5LWNvbG9yOiAkZ3JheS1kYXJrICFkZWZhdWx0O1xuXG5cbi8vIExpbmtzXG4vL1xuLy8gU3R5bGUgYW5jaG9yIGVsZW1lbnRzLlxuXG4kbGluay1jb2xvcjogICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRsaW5rLWRlY29yYXRpb246ICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICBkYXJrZW4oJGxpbmstY29sb3IsIDE1JSkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWRlZmF1bHQ7XG5cblxuLy8gR3JpZCBicmVha3BvaW50c1xuLy9cbi8vIERlZmluZSB0aGUgbWluaW11bSBkaW1lbnNpb25zIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLFxuLy8gYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcywgZm9yIHVzZSBpbiBtZWRpYSBxdWVyaWVzLlxuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICB4czogMCxcbiAgc206IDU0NHB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiA5OTJweCxcbiAgeGw6IDEyMDBweFxuKSAhZGVmYXVsdDtcbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICBzbTogNTc2cHgsXG4gIG1kOiA3MjBweCxcbiAgbGc6IDk0MHB4LFxuICB4bDogMTE0MHB4XG4pICFkZWZhdWx0O1xuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBcIiRjb250YWluZXItbWF4LXdpZHRoc1wiKTtcblxuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGdyaWQtY29sdW1uczogICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogMzBweCAhZGVmYXVsdDtcblxuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LXNlcmlmOiAgICAgIEdlb3JnaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFRpbWVzLCBzZXJpZiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vIFBpeGVsIHZhbHVlIHVzZWQgdG8gcmVzcG9uc2l2ZWx5IHNjYWxlIGFsbCB0eXBvZ3JhcGh5LiBBcHBsaWVkIHRvIHRoZSBgPGh0bWw+YCBlbGVtZW50LlxuJGZvbnQtc2l6ZS1yb290OiAxNnB4ICFkZWZhdWx0O1xuXG4kZm9udC1zaXplLWJhc2U6IDFyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxnOiAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLXNtOiAgIC44NzVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLXhzOiAgIC43NXJlbSAhZGVmYXVsdDtcblxuJGxpbmUtaGVpZ2h0LWJhc2U6IDEuNSAhZGVmYXVsdDtcblxuJGZvbnQtc2l6ZS1oMTogMi41cmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1oMjogMnJlbSAhZGVmYXVsdDtcbiRmb250LXNpemUtaDM6IDEuNzVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLWg0OiAxLjVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLWg1OiAxLjI1cmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1oNjogMXJlbSAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXNpemU6IDZyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTItc2l6ZTogNS41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkzLXNpemU6IDQuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5NC1zaXplOiAzLjVyZW0gIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5Mi13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5My13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5NC13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcblxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICgkc3BhY2VyIC8gMikgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgMS4xICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG5cbiRsZWFkLWZvbnQtc2l6ZTogICAxLjI1cmVtICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcblxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4kdGV4dC1tdXRlZDogJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbiRhYmJyLWJvcmRlci1jb2xvcjogJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbiRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjogJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWJvcmRlci13aWR0aDogLjI1cmVtICFkZWZhdWx0O1xuXG4kaHItYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLC4xKSAhZGVmYXVsdDtcbiRoci1ib3JkZXItd2lkdGg6ICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRtYXJrLXBhZGRpbmc6IC4yZW0gIWRlZmF1bHQ7XG5cbiRkdC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuJGtiZC1ib3gtc2hhZG93OiAgICAgICAgIGluc2V0IDAgLS4xcmVtIDAgcmdiYSgwLDAsMCwuMjUpICFkZWZhdWx0O1xuJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbiRsaXN0LWlubGluZS1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICg0IC8gMykgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgIC4zcmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc206ICAgICAgIC4ycmVtICFkZWZhdWx0O1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgIC4zZW0gIWRlZmF1bHQ7XG4kY2FyZXQtd2lkdGgtbGc6ICAgICAgICAgJGNhcmV0LXdpZHRoICFkZWZhdWx0O1xuXG5cbi8vIFRhYmxlc1xuLy9cbi8vIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtc20tY2VsbC1wYWRkaW5nOiAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuXG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHRhYmxlLWJnLWFjY2VudDogICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtYmctaG92ZXI6ICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtYmctYWN0aXZlOiAgICAgICAgICAgICAgICR0YWJsZS1iZy1ob3ZlciAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnNcbi8vXG4vLyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4kYnRuLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgICAgbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xNSksIDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwwLDAsLjEyNSkgIWRlZmF1bHQ7XG5cbiRidG4tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXByaW1hcnktYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRidG4tcHJpbWFyeS1ib3JkZXI6ICAgICAgICAgICAgICRidG4tcHJpbWFyeS1iZyAhZGVmYXVsdDtcblxuJGJ0bi1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRidG4tc2Vjb25kYXJ5LWJnOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXNlY29uZGFyeS1ib3JkZXI6ICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuXG4kYnRuLWluZm8tY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG4kYnRuLWluZm8tYm9yZGVyOiAgICAgICAgICAgICAgICAkYnRuLWluZm8tYmcgIWRlZmF1bHQ7XG5cbiRidG4tc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbiRidG4tc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICAgICRidG4tc3VjY2Vzcy1iZyAhZGVmYXVsdDtcblxuJGJ0bi13YXJuaW5nLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4td2FybmluZy1iZzogICAgICAgICAgICAgICAgICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xuJGJ0bi13YXJuaW5nLWJvcmRlcjogICAgICAgICAgICAgJGJ0bi13YXJuaW5nLWJnICFkZWZhdWx0O1xuXG4kYnRuLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1kYW5nZXItYmc6ICAgICAgICAgICAgICAgICAgJGJyYW5kLWRhbmdlciAhZGVmYXVsdDtcbiRidG4tZGFuZ2VyLWJvcmRlcjogICAgICAgICAgICAgICRidG4tZGFuZ2VyLWJnICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy15LWxnOiAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcblxuJGJ0bi1ibG9jay1zcGFjaW5nLXk6ICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kYnRuLXRvb2xiYXItbWFyZ2luOiAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG5cbi8vIEZvcm1zXG5cbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRpbnB1dC1iZy1kaXNhYmxlZDogICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5ICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgwLDAsMCwuMTUpICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvcm0gY29udHJvbHMgYW5kIGJ1dHRvbnNcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1iZy1mb2N1czogICAgICAgICAgICAgICAgICRpbnB1dC1iZztcbiRpbnB1dC1ib3JkZXItZm9jdXM6ICAgICAgICAgICAgICM2NmFmZTkgIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdy1mb2N1czogICAgICAgICByZ2JhKDEwMiwxNzUsMjMzLC42KSAhZGVmYXVsdDtcbiRpbnB1dC1jb2xvci1mb2N1czogICAgICAgICAgICAgICRpbnB1dC1jb2xvcjtcblxuJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyOiAgICAgICAgIzk5OSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgKCgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSkgKyAoJGlucHV0LXBhZGRpbmcteSAqIDIpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICgoJGZvbnQtc2l6ZS1sZyAqICRsaW5lLWhlaWdodC1sZykgKyAoJGlucHV0LXBhZGRpbmcteS1sZyAqIDIpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtc206ICAgICAgICAgICAgICAgICgoJGZvbnQtc2l6ZS1zbSAqICRsaW5lLWhlaWdodC1zbSkgKyAoJGlucHV0LXBhZGRpbmcteS1zbSAqIDIpKSAhZGVmYXVsdDtcblxuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgJHNwYWNlci15ICFkZWZhdWx0O1xuXG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1cnNvci1kaXNhYmxlZDogICAgICAgICAgICAgICAgbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1ndXR0ZXI6ICAgMS41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLXNwYWNlci14OiAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLXNwYWNlci15OiAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTogICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc6ICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZTogICAgNTAlIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdzogaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoMCwwLDAsLjEpICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtZGlzYWJsZWQtY3Vyc29yOiAgICAgICAgICAgICAkY3Vyc29yLWRpc2FibGVkICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWRpc2FibGVkLWluZGljYXRvci1iZzogICAgICAgI2VlZSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1kaXNhYmxlZC1kZXNjcmlwdGlvbi1jb2xvcjogICM3Njc2NzYgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1jaGVja2VkLWluZGljYXRvci1jb2xvcjogICAgICAjZmZmICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWNoZWNrZWQtaW5kaWNhdG9yLWJnOiAgICAgICAgICMwMDc0ZDkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtY2hlY2tlZC1pbmRpY2F0b3ItYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWZvY3VzLWluZGljYXRvci1ib3gtc2hhZG93OiAwIDAgMCAuMDc1cmVtICNmZmYsIDAgMCAwIC4ycmVtICMwMDc0ZDkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1hY3RpdmUtaW5kaWNhdG9yLWNvbG9yOiAgICAgICNmZmYgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtYWN0aXZlLWluZGljYXRvci1iZzogICAgICAgICAjODRjNmZmICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWFjdGl2ZS1pbmRpY2F0b3ItYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1jaGVja2VkLWljb246IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGZpbGw9JyUyM2ZmZicgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2IDIuOTc0IDcuMjUgOCAyLjE5M3onLyUzRSUzQy9zdmclM0VcIikgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtYmc6ICMwMDc0ZDkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtaWNvbjogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA0JyUzRSUzQ3BhdGggc3Ryb2tlPSclMjNmZmYnIGQ9J00wIDJoNCcvJTNFJTNDL3N2ZyUzRVwiKSAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhZGlvLXJhZGl1czogNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYWRpby1jaGVja2VkLWljb246IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4JyUzRSUzQ2NpcmNsZSByPSczJyBmaWxsPSclMjNmZmYnLyUzRSUzQy9zdmclM0VcIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgMXJlbSAhZGVmYXVsdDsgLy8gRXh0cmEgcGFkZGluZyB0byBhY2NvdW50IGZvciB0aGUgcHJlc2VuY2Ugb2YgdGhlIGJhY2tncm91bmQtaW1hZ2UgYmFzZWQgaW5kaWNhdG9yXG4kY3VzdG9tLXNlbGVjdC1jb2xvcjogICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmc6ICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnOiAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZy1zaXplOiAgICAgICA4cHggMTBweCAhZGVmYXVsdDsgLy8gSW4gcGl4ZWxzIGJlY2F1c2UgaW1hZ2UgZGltZW5zaW9uc1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yOiAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA1JyUzRSUzQ3BhdGggZmlsbD0nJTIzMzMzJyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8lM0UlM0Mvc3ZnJTNFXCIpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoOiAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItY29sb3I6ICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogIzUxYTdlOCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgLjA3NSksIDAgMCA1cHggcmdiYSg4MSwgMTY3LCAyMzIsIC41KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3Qtc20tcGFkZGluZy15OiAuMnJlbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXNtLWZvbnQtc2l6ZTogNzUlICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtaGVpZ2h0OiAgICAgICAgICAgMi41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXdpZHRoOiAgICAgICAgICAgIDE0cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJveC1zaGFkb3c6IDAgMCAwIC4wNzVyZW0gI2ZmZiwgMCAwIDAgLjJyZW0gIzAwNzRkOSAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLXBhZGRpbmcteDogICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXBhZGRpbmcteTogICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ6ICAgMS41ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWNvbG9yOiAgICAgICAgICM1NTUgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYmc6ICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGg6ICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjogICNkZGQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm94LXNoYWRvdzogICAgaW5zZXQgMCAuMnJlbSAuNHJlbSByZ2JhKDAsMCwwLC4wNSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yOiAgJGN1c3RvbS1maWxlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1iZzogICAgICNlZWUgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtdGV4dDogKFxuICBwbGFjZWhvbGRlcjogKFxuICAgIGVuOiBcIkNob29zZSBmaWxlLi4uXCJcbiAgKSxcbiAgYnV0dG9uLWxhYmVsOiAoXG4gICAgZW46IFwiQnJvd3NlXCJcbiAgKVxuKSAhZGVmYXVsdDtcblxuXG4vLyBGb3JtIHZhbGlkYXRpb24gaWNvbnNcbiRmb3JtLWljb24tc3VjY2VzczogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZmlsbD0nJTIzNWNiODVjJyBkPSdNMi4zIDYuNzNMLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6Jy8lM0UlM0Mvc3ZnJTNFXCIpICFkZWZhdWx0O1xuJGZvcm0taWNvbi13YXJuaW5nOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPSclMjNmMGFkNGUnIGQ9J000LjQgNS4zMjRoLS44di0yLjQ2aC44em0wIDEuNDJoLS44VjUuODloLjh6TTMuNzYuNjNMLjA0IDcuMDc1Yy0uMTE1LjIuMDE2LjQyNS4yNi40MjZoNy4zOTdjLjI0MiAwIC4zNzItLjIyNi4yNTgtLjQyNkM2LjcyNiA0LjkyNCA1LjQ3IDIuNzkgNC4yNTMuNjNjLS4xMTMtLjE3NC0uMzktLjE3NC0uNDk0IDB6Jy8lM0UlM0Mvc3ZnJTNFXCIpICFkZWZhdWx0O1xuJGZvcm0taWNvbi1kYW5nZXI6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nJTIzZDk1MzRmJyB2aWV3Qm94PSctMiAtMiA3IDcnJTNFJTNDcGF0aCBzdHJva2U9JyUyM2Q5NTM0ZicgZD0nTTAgMGwzIDNtMC0zTDAgMycvJTNFJTNDY2lyY2xlIHI9Jy41Jy8lM0UlM0NjaXJjbGUgY3g9JzMnIHI9Jy41Jy8lM0UlM0NjaXJjbGUgY3k9JzMnIHI9Jy41Jy8lM0UlM0NjaXJjbGUgY3g9JzMnIGN5PSczJyByPScuNScvJTNFJTNDL3N2ZyUzRVwiKSAhZGVmYXVsdDtcblxuXG4vLyBEcm9wZG93bnNcbi8vXG4vLyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgIDE2MHB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLW1hcmdpbi10b3A6ICAgICAgICAgICAgMnB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgIHJnYmEoMCwwLDAsLjE1KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAjZTVlNWU1ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICAgMCA2cHggMTJweCByZ2JhKDAsMCwwLC4xNzUpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICAgZGFya2VuKCRncmF5LWRhcmssIDUlKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG5cbiR6aW5kZXgtZHJvcGRvd24tYmFja2Ryb3A6ICA5OTAgIWRlZmF1bHQ7XG4kemluZGV4LW5hdmJhcjogICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgIDEwNjAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuJHppbmRleC1uYXZiYXItZml4ZWQ6ICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtbmF2YmFyLXN0aWNreTogICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJnOiAgICAgICAgICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcblxuXG4vLyBOYXZiYXJcblxuJG5hdmJhci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgKCRzcGFjZXIgLyAyKSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtcGFkZGluZy15OiAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LDEpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwuMjUpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEoMCwwLDAsLjYpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgcmdiYSgwLDAsMCwuOCkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICByZ2JhKDAsMCwwLC4xNSkgIWRlZmF1bHQ7XG5cblxuLy8gTmF2c1xuXG4kbmF2LWl0ZW0tbWFyZ2luOiAgICAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJG5hdi1pdGVtLWlubGluZS1zcGFjZXI6ICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmc6ICAgICAgICAgICAgICAuNWVtIDFlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRuYXYtZGlzYWJsZWQtbGluay1jb2xvcjogICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kbmF2LWRpc2FibGVkLWxpbmstaG92ZXItY29sb3I6ICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJG5hdi1kaXNhYmxlZC1saW5rLWhvdmVyLWJnOiAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRncmF5ICFkZWZhdWx0O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICNkZGQgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yOiAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRuYXYtdGFicy1qdXN0aWZpZWQtYWN0aXZlLWxpbmstYm9yZGVyLWNvbG9yOiAkYm9keS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWNvbG9yOiAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtYWN0aXZlLWxpbmstYmc6ICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG5cbi8vIFBhZ2luYXRpb25cblxuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAgIC4yNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuXG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXI6ICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyOiAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyOiAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuXG4vLyBKdW1ib3Ryb25cblxuJGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybSBzdGF0ZXMgYW5kIGFsZXJ0c1xuLy9cbi8vIERlZmluZSBjb2xvcnMgZm9yIGZvcm0gZmVlZGJhY2sgc3RhdGVzIGFuZCwgYnkgZGVmYXVsdCwgYWxlcnRzLlxuXG4kc3RhdGUtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAgICAjM2M3NjNkICFkZWZhdWx0O1xuJHN0YXRlLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgI2RmZjBkOCAhZGVmYXVsdDtcbiRzdGF0ZS1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgIGRhcmtlbigkc3RhdGUtc3VjY2Vzcy1iZywgNSUpICFkZWZhdWx0O1xuXG4kc3RhdGUtaW5mby10ZXh0OiAgICAgICAgICAgICAgICAjMzE3MDhmICFkZWZhdWx0O1xuJHN0YXRlLWluZm8tYmc6ICAgICAgICAgICAgICAgICAgI2Q5ZWRmNyAhZGVmYXVsdDtcbiRzdGF0ZS1pbmZvLWJvcmRlcjogICAgICAgICAgICAgIGRhcmtlbigkc3RhdGUtaW5mby1iZywgNyUpICFkZWZhdWx0O1xuXG4kc3RhdGUtd2FybmluZy10ZXh0OiAgICAgICAgICAgICAjOGE2ZDNiICFkZWZhdWx0O1xuJHN0YXRlLXdhcm5pbmctYmc6ICAgICAgICAgICAgICAgI2ZjZjhlMyAhZGVmYXVsdDtcbiRtYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRzdGF0ZS13YXJuaW5nLWJnICFkZWZhdWx0O1xuJHN0YXRlLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgZGFya2VuKCRzdGF0ZS13YXJuaW5nLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS1kYW5nZXItdGV4dDogICAgICAgICAgICAgICNhOTQ0NDIgIWRlZmF1bHQ7XG4kc3RhdGUtZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAjZjJkZWRlICFkZWZhdWx0O1xuJHN0YXRlLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgZGFya2VuKCRzdGF0ZS1kYW5nZXItYmcsIDUlKSAhZGVmYXVsdDtcblxuXG4vLyBDYXJkc1xuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci13aWR0aDogICAgICAgIDFweCAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgcmdiYSgwLDAsMCwuMTI1KSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXMtaW5uZXI6ICRjYXJkLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuJGNhcmQtbGluay1ob3Zlci1jb2xvcjogICAgI2ZmZiAhZGVmYXVsdDtcblxuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogMS4yNXJlbSAhZGVmYXVsdDtcblxuJGNhcmQtZGVjay1tYXJnaW46ICAgICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcblxuJGNhcmQtY29sdW1ucy1zbS11cC1jb2x1bW4tZ2FwOiAxLjI1cmVtICFkZWZhdWx0O1xuXG5cbi8vIFRvb2x0aXBzXG5cbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteTogICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteDogICAgICAgICAgIDhweCAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAgICAgIDNweCAhZGVmYXVsdDtcblxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgJHRvb2x0aXAtYmcgIWRlZmF1bHQ7XG5cblxuLy8gUG9wb3ZlcnNcblxuJHBvcG92ZXItaW5uZXItcGFkZGluZzogICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDI3NnB4ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4yKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCA1cHggMTBweCByZ2JhKDAsMCwwLC4yKSAhZGVmYXVsdDtcblxuJHBvcG92ZXItdGl0bGUtYmc6ICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJHBvcG92ZXItYmcsIDMlKSAhZGVmYXVsdDtcbiRwb3BvdmVyLXRpdGxlLXBhZGRpbmcteDogICAgICAgICAgICAgMTRweCAhZGVmYXVsdDtcbiRwb3BvdmVyLXRpdGxlLXBhZGRpbmcteTogICAgICAgICAgICAgOHB4ICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1jb250ZW50LXBhZGRpbmcteDogICAgICAgICAgIDE0cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1jb250ZW50LXBhZGRpbmcteTogICAgICAgICAgIDlweCAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg6ICAgICAgICAgICAoJHBvcG92ZXItYXJyb3ctd2lkdGggKyAxcHgpICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgICBmYWRlLWluKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgLjA1KSAhZGVmYXVsdDtcblxuXG4vLyBUYWdzXG5cbiR0YWctZGVmYXVsdC1iZzogICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiR0YWctcHJpbWFyeS1iZzogICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiR0YWctc3VjY2Vzcy1iZzogICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbiR0YWctaW5mby1iZzogICAgICAgICAgICAgICAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcbiR0YWctd2FybmluZy1iZzogICAgICAgICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbiR0YWctZGFuZ2VyLWJnOiAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuXG4kdGFnLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiR0YWctbGluay1ob3Zlci1jb2xvcjogICAgICAjZmZmICFkZWZhdWx0O1xuJHRhZy1mb250LXNpemU6ICAgICAgICAgICAgIDc1JSAhZGVmYXVsdDtcbiR0YWctZm9udC13ZWlnaHQ6ICAgICAgICAgICBib2xkICFkZWZhdWx0O1xuJHRhZy1wYWRkaW5nLXg6ICAgICAgICAgICAgIC40ZW0gIWRlZmF1bHQ7XG4kdGFnLXBhZGRpbmcteTogICAgICAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG5cbiR0YWctcGlsbC1wYWRkaW5nLXg6ICAgICAgICAuNmVtICFkZWZhdWx0O1xuLy8gVXNlIGEgaGlnaGVyIHRoYW4gbm9ybWFsIHZhbHVlIHRvIGVuc3VyZSBjb21wbGV0ZWx5IHJvdW5kZWQgZWRnZXMgd2hlblxuLy8gY3VzdG9taXppbmcgcGFkZGluZyBvciBmb250LXNpemUgb24gbGFiZWxzLlxuJHRhZy1waWxsLWJvcmRlci1yYWRpdXM6ICAgIDEwcmVtICFkZWZhdWx0O1xuXG4vLyBNb2RhbHNcblxuLy8gUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCBib2R5XG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAxNXB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtZGlhbG9nLW1hcmdpbjogICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1zbS11cC1tYXJnaW4teTogMzBweCAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLXBhZGRpbmc6ICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgcmdiYSgwLDAsMCwuMikgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6ICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQteHMtYm94LXNoYWRvdzogICAgMCAzcHggOXB4IHJnYmEoMCwwLDAsLjUpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtc20tdXAtYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKDAsMCwwLC41KSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgIC41ICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgI2U1ZTVlNSAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICAgJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgIDkwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgNjAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuJGFsZXJ0LXBhZGRpbmc6ICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgYm9sZCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItd2lkdGg6ICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRhbGVydC1zdWNjZXNzLWJnOiAgICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLWJnICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtdGV4dDogICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtdGV4dCAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLWJvcmRlcjogICAgICAgICRzdGF0ZS1zdWNjZXNzLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LWluZm8tYmc6ICAgICAgICAgICAgICAgJHN0YXRlLWluZm8tYmcgIWRlZmF1bHQ7XG4kYWxlcnQtaW5mby10ZXh0OiAgICAgICAgICAgICAkc3RhdGUtaW5mby10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LWluZm8tYm9yZGVyOiAgICAgICAgICAgJHN0YXRlLWluZm8tYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtd2FybmluZy1iZzogICAgICAgICAgICAkc3RhdGUtd2FybmluZy1iZyAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLXRleHQ6ICAgICAgICAgICRzdGF0ZS13YXJuaW5nLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy1ib3JkZXI6ICAgICAgICAkc3RhdGUtd2FybmluZy1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC1kYW5nZXItYmc6ICAgICAgICAgICAgICRzdGF0ZS1kYW5nZXItYmcgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLWJvcmRlcjogICAgICAgICAkc3RhdGUtZGFuZ2VyLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vLyBQcm9ncmVzcyBiYXJzXG5cbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICNlZWUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAjMDA3NGQ5ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgICAgICBpbnNldCAwIC4xcmVtIC4xcmVtIHJnYmEoMCwwLDAsLjEpICFkZWZhdWx0O1xuXG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItc3VjY2Vzcy1iZzogICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci13YXJuaW5nLWJnOiAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWRhbmdlci1iZzogICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1pbmZvLWJnOiAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG5cblxuLy8gTGlzdCBncm91cFxuXG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXI6ICAgICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLXRleHQtY29sb3I6ICBsaWdodGVuKCRsaXN0LWdyb3VwLWFjdGl2ZS1iZywgNDAlKSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtdGV4dC1jb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWxpbmstY29sb3I6ICAgICAgICAgIzU1NSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWxpbmstaG92ZXItY29sb3I6ICAgJGxpc3QtZ3JvdXAtbGluay1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWxpbmstaGVhZGluZy1jb2xvcjogIzMzMyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteTogICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLW1hcmdpbi1ib3R0b206IDVweCAhZGVmYXVsdDtcblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG5cbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItd2lkdGg6ICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAgICAgICNkZGQgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm94LXNoYWRvdzogICAgICAgIDAgMXB4IDJweCByZ2JhKDAsMCwwLC4wNzUpICFkZWZhdWx0O1xuXG5cbi8vIEZpZ3VyZXNcblxuJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTogOTAlICFkZWZhdWx0O1xuXG5cbi8vIEJyZWFkY3J1bWJzXG5cbiRicmVhZGNydW1iLXBhZGRpbmcteTogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nOiAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgIFwiL1wiICFkZWZhdWx0O1xuXG5cbi8vIE1lZGlhIG9iamVjdHNcblxuJG1lZGlhLW1hcmdpbi10b3A6ICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRtZWRpYS1oZWFkaW5nLW1hcmdpbi1ib3R0b206ICA1cHggIWRlZmF1bHQ7XG4kbWVkaWEtYWxpZ25tZW50LXBhZGRpbmcteDogICAxMHB4ICFkZWZhdWx0O1xuXG5cbi8vIENhcm91c2VsXG5cbiRjYXJvdXNlbC10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgICAwIDFweCAycHggcmdiYSgwLDAsMCwuNikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXNtLXVwLXNpemU6ICAgICAgICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3JzLXdpZHRoOiAgICAgICAgICAgICAgICAgICA2MCUgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtc2l6ZTogICAgICAgICAgICAgIDEycHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgNzAlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tc20tdXAtd2lkdGg6ICAgICAgICAgICAgICAgIDYwJSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuXG4vLyBDbG9zZVxuXG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICBib2xkICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgIDAgMXB4IDAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLyBDb2RlXG5cbiRjb2RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgIDkwJSAhZGVmYXVsdDtcbiRjb2RlLXBhZGRpbmcteDogICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuJGNvZGUtcGFkZGluZy15OiAgICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAjYmQ0MTQ3ICFkZWZhdWx0O1xuJGNvZGUtYmc6ICAgICAgICAgICAgICAgICAgICAgI2Y3ZjdmOSAhZGVmYXVsdDtcblxuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XG5cbiRwcmUtYmc6ICAgICAgICAgICAgICAgICAgICAgICNmN2Y3ZjkgIWRlZmF1bHQ7XG4kcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJHByZS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcbiRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAgIDM0MHB4ICFkZWZhdWx0O1xuIiwiLy8gVHlwb2dyYXBoeVxuLy9cbi8vIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4vLyBodHRwczovL3d3dy5nb29nbGUuY29tL2Rlc2lnbi9zcGVjL3N0eWxlL3R5cG9ncmFwaHkuaHRtbCN0eXBvZ3JhcGh5LXN0eWxlc1xuLy8gaHR0cDovL3d3dy5nZXRtZGwuaW8vc3R5bGVzL2luZGV4Lmh0bWxcblxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICdSb2JvdG8nLCAnSGVsdmV0aWNhJywgJ0FyaWFsJywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbi8vJGZvbnQtZmFtaWx5LXNlcmlmOiAgICAgICAgICBHZW9yZ2lhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBUaW1lcywgc2VyaWYgIWRlZmF1bHQ7XG4vLyRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuLy8kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLyBQaXhlbCB2YWx1ZSB1c2VkIHRvIHJlc3BvbnNpdmVseSBzY2FsZSBhbGwgdHlwb2dyYXBoeS4gQXBwbGllZCB0byB0aGUgYDxodG1sPmAgZWxlbWVudC5cbi8vJGZvbnQtc2l6ZS1yb290OiAgICAgICAgICAgICAxNnB4ICFkZWZhdWx0O1xuLy9cbi8vJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuLy8kZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4vLyRmb250LXNpemUtc206ICAgICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbi8vJGZvbnQtc2l6ZS14czogICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4vL1xuLy8kZm9udC1zaXplLWgxOiAgICAgICAgICAgICAgIDIuNXJlbSAhZGVmYXVsdDtcbi8vJGZvbnQtc2l6ZS1oMjogICAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuLy8kZm9udC1zaXplLWgzOiAgICAgICAgICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XG4vLyRmb250LXNpemUtaDQ6ICAgICAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuLy8kZm9udC1zaXplLWg1OiAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4vLyRmb250LXNpemUtaDY6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbi8vXG4kZGlzcGxheTEtc2l6ZTogICAgICAgICAgICAgICA3cmVtICFkZWZhdWx0OyAvLyBtZCBkaXNwbGF5LTQgMTEycHggd2FzIDZyZW07XG4kZGlzcGxheTItc2l6ZTogICAgICAgICAgICAgICAzLjVyZW0gIWRlZmF1bHQ7IC8vIG1kIGRpc3BsYXktMyA1NnB4IHdhcyA1LjVyZW1cbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAgICAgIDIuODEyNXJlbSAhZGVmYXVsdDsgLy8gbWQgZGlzcGxheS0yIDQ1cHggd2FzIDQuNXJlbVxuJGRpc3BsYXk0LXNpemU6ICAgICAgICAgICAgICAgMi4xMjVyZW0gIWRlZmF1bHQ7IC8vIG1kIGRpc3BsYXktMSAzNHB4IHdhcyAzLjVyZW1cbi8vXG4vLyRkaXNwbGF5MS13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbi8vJGRpc3BsYXkyLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuLy8kZGlzcGxheTMtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4vLyRkaXNwbGF5NC13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbi8vXG4vLyRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4vL1xuLy8kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICAgICgkc3BhY2VyIC8gMikgIWRlZmF1bHQ7XG4vLyRoZWFkaW5ncy1mb250LWZhbWlseTogICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgICAgNDAwICFkZWZhdWx0OyAvLyB3YXMgNTAwXG4vLyRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgMS4xICFkZWZhdWx0O1xuLy8kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4vL1xuLy8kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4vLyRsZWFkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuLy9cbi8vJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vL1xuLy8kYWJici1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vXG4vLyRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG4vLyRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjogICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vL1xuLy8kaHItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKDAsMCwwLC4xKSAhZGVmYXVsdDtcbi8vJGhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbi8vXG4vLyRsaXN0LWlubGluZS1wYWRkaW5nOiAgICAgICAgIDVweCAhZGVmYXVsdDtcbi8vXG4vLyRkdC1mb250LXdlaWdodDogICAgICAgICAgICAgIGJvbGQgIWRlZmF1bHQ7XG4vL1xuLy8kbmVzdGVkLWtiZC1mb250LXdlaWdodDogICAgICBib2xkICFkZWZhdWx0O1xuXG5cbiIsIi8vXG4vL1RvIGdldCB0aGlzIGxpc3Qgb2YgY29sb3JzIGluamVjdCBqUXVlcnkgYXQgaHR0cDovL3d3dy5nb29nbGUuY29tL2Rlc2lnbi9zcGVjL3N0eWxlL2NvbG9yLmh0bWwjY29sb3ItY29sb3ItcGFsZXR0ZVxuLy9cbi8vVGhlbiwgcnVuIHRoaXMgc2NyaXB0IHRvIGdldCB0aGUgbGlzdEBtaXhpbiAoZnVuY3Rpb24oKXtcbi8vICB2YXIgY29sb3JzID0ge30sIG1haW4gPSB7fTtcbi8vICAkKFwiLmNvbG9yLWdyb3VwXCIpQG1peGluIGVhY2goZnVuY3Rpb24oKXtcbi8vICAgIHZhciBjb2xvciA9ICQodGhpcykuZmluZChcIi5uYW1lXCIpLnRleHQoKS50cmltKCkudG9Mb3dlckNhc2UoKS5yZXBsYWNlKFwiIFwiLCBcIi1cIik7XG4vLyAgICBjb2xvcnNbY29sb3JdID0ge307XG4vL1xuLy8gICAgJCh0aGlzKUBtaXhpbiBmaW5kKFwiLmNvbG9yXCIpLm5vdChcIi5tYWluLWNvbG9yXCIpLmVhY2goZnVuY3Rpb24oKXtcbi8vICAgICAgdmFyIHNoYWRlID0gJCh0aGlzKS5maW5kKFwiLnNoYWRlXCIpLnRleHQoKS50cmltKCksXG4vLyAgICAgICAgICBoZXggICA9ICQodGhpcykuZmluZChcIi5oZXhcIikudGV4dCgpLnRyaW0oKTtcbi8vXG4vLyAgICAgIGNvbG9yc1tjb2xvcl1bc2hhZGVdID0gaGV4O1xuLy8gICAgfSk7XG4vLyAgICBtYWluW2NvbG9yXSA9IGNvbG9yICsgXCItXCIgKyAkKHRoaXMpLmZpbmQoXCIubWFpbi1jb2xvciAuc2hhZGVcIikudGV4dCgpLnRyaW0oKTtcbi8vXG4vLyAgfSk7XG4vLyAgdmFyIExFU1MgPSBcIlwiO1xuLy8gICRAbWl4aW4gZWFjaChjb2xvcnMsIGZ1bmN0aW9uKG5hbWUsIHNoYWRlcyl7XG4vLyAgICBMRVNTICs9IFwiXFxuXFxuXCI7XG4vLyAgICAkQG1peGluIGVhY2goc2hhZGVzLCBmdW5jdGlvbihzaGFkZSwgaGV4KXtcbi8vICAgICAgTEVTUyArPSBcIiRcIiArIG5hbWUgKyBcIi1cIiArIHNoYWRlICsgXCI6IFwiICsgaGV4ICsgXCI7XFxuXCIgIWRlZmF1bHQ7XG4vLyAgICB9KTtcbi8vICAgIGlmIChtYWluW25hbWVdKSB7XG4vLyAgICAgIExFU1MgKz0gXCIkXCIgKyBuYW1lICsgXCI6IFwiICsgbWFpbltuYW1lXSArIFwiO1xcblwiICFkZWZhdWx0O1xuLy8gICAgfVxuLy8gIH0pO1xuLy8gIGNvbnNvbGUubG9nKExFU1MpO1xuLy99KSgpO1xuXG4kcmVkLTUwOiAjZmZlYmVlICFkZWZhdWx0O1xuJHJlZC0xMDA6ICNmZmNkZDIgIWRlZmF1bHQ7XG4kcmVkLTIwMDogI2VmOWE5YSAhZGVmYXVsdDtcbiRyZWQtMzAwOiAjZTU3MzczICFkZWZhdWx0O1xuJHJlZC00MDA6ICNlZjUzNTAgIWRlZmF1bHQ7XG4kcmVkLTUwMDogI2Y0NDMzNiAhZGVmYXVsdDtcbiRyZWQtNjAwOiAjZTUzOTM1ICFkZWZhdWx0O1xuJHJlZC03MDA6ICNkMzJmMmYgIWRlZmF1bHQ7XG4kcmVkLTgwMDogI2M2MjgyOCAhZGVmYXVsdDtcbiRyZWQtOTAwOiAjYjcxYzFjICFkZWZhdWx0O1xuJHJlZC1hMTAwOiAjZmY4YTgwICFkZWZhdWx0O1xuJHJlZC1hMjAwOiAjZmY1MjUyICFkZWZhdWx0O1xuJHJlZC1hNDAwOiAjZmYxNzQ0ICFkZWZhdWx0O1xuJHJlZC1hNzAwOiAjZDUwMDAwICFkZWZhdWx0O1xuJHJlZDogJHJlZC01MDAgIWRlZmF1bHQ7XG5cblxuJHBpbmstNTA6ICNmY2U0ZWMgIWRlZmF1bHQ7XG4kcGluay0xMDA6ICNmOGJiZDAgIWRlZmF1bHQ7XG4kcGluay0yMDA6ICNmNDhmYjEgIWRlZmF1bHQ7XG4kcGluay0zMDA6ICNmMDYyOTIgIWRlZmF1bHQ7XG4kcGluay00MDA6ICNlYzQwN2EgIWRlZmF1bHQ7XG4kcGluay01MDA6ICNlOTFlNjMgIWRlZmF1bHQ7XG4kcGluay02MDA6ICNkODFiNjAgIWRlZmF1bHQ7XG4kcGluay03MDA6ICNjMjE4NWIgIWRlZmF1bHQ7XG4kcGluay04MDA6ICNhZDE0NTcgIWRlZmF1bHQ7XG4kcGluay05MDA6ICM4ODBlNGYgIWRlZmF1bHQ7XG4kcGluay1hMTAwOiAjZmY4MGFiICFkZWZhdWx0O1xuJHBpbmstYTIwMDogI2ZmNDA4MSAhZGVmYXVsdDtcbiRwaW5rLWE0MDA6ICNmNTAwNTcgIWRlZmF1bHQ7XG4kcGluay1hNzAwOiAjYzUxMTYyICFkZWZhdWx0O1xuJHBpbms6ICRwaW5rLTUwMCAhZGVmYXVsdDtcblxuXG4kcHVycGxlLTUwOiAjZjNlNWY1ICFkZWZhdWx0O1xuJHB1cnBsZS0xMDA6ICNlMWJlZTcgIWRlZmF1bHQ7XG4kcHVycGxlLTIwMDogI2NlOTNkOCAhZGVmYXVsdDtcbiRwdXJwbGUtMzAwOiAjYmE2OGM4ICFkZWZhdWx0O1xuJHB1cnBsZS00MDA6ICNhYjQ3YmMgIWRlZmF1bHQ7XG4kcHVycGxlLTUwMDogIzljMjdiMCAhZGVmYXVsdDtcbiRwdXJwbGUtNjAwOiAjOGUyNGFhICFkZWZhdWx0O1xuJHB1cnBsZS03MDA6ICM3YjFmYTIgIWRlZmF1bHQ7XG4kcHVycGxlLTgwMDogIzZhMWI5YSAhZGVmYXVsdDtcbiRwdXJwbGUtOTAwOiAjNGExNDhjICFkZWZhdWx0O1xuJHB1cnBsZS1hMTAwOiAjZWE4MGZjICFkZWZhdWx0O1xuJHB1cnBsZS1hMjAwOiAjZTA0MGZiICFkZWZhdWx0O1xuJHB1cnBsZS1hNDAwOiAjZDUwMGY5ICFkZWZhdWx0O1xuJHB1cnBsZS1hNzAwOiAjYTBmICFkZWZhdWx0O1xuJHB1cnBsZTogJHB1cnBsZS01MDAgIWRlZmF1bHQ7XG5cblxuJGRlZXAtcHVycGxlLTUwOiAjZWRlN2Y2ICFkZWZhdWx0O1xuJGRlZXAtcHVycGxlLTEwMDogI2QxYzRlOSAhZGVmYXVsdDtcbiRkZWVwLXB1cnBsZS0yMDA6ICNiMzlkZGIgIWRlZmF1bHQ7XG4kZGVlcC1wdXJwbGUtMzAwOiAjOTU3NWNkICFkZWZhdWx0O1xuJGRlZXAtcHVycGxlLTQwMDogIzdlNTdjMiAhZGVmYXVsdDtcbiRkZWVwLXB1cnBsZS01MDA6ICM2NzNhYjcgIWRlZmF1bHQ7XG4kZGVlcC1wdXJwbGUtNjAwOiAjNWUzNWIxICFkZWZhdWx0O1xuJGRlZXAtcHVycGxlLTcwMDogIzUxMmRhOCAhZGVmYXVsdDtcbiRkZWVwLXB1cnBsZS04MDA6ICM0NTI3YTAgIWRlZmF1bHQ7XG4kZGVlcC1wdXJwbGUtOTAwOiAjMzExYjkyICFkZWZhdWx0O1xuJGRlZXAtcHVycGxlLWExMDA6ICNiMzg4ZmYgIWRlZmF1bHQ7XG4kZGVlcC1wdXJwbGUtYTIwMDogIzdjNGRmZiAhZGVmYXVsdDtcbiRkZWVwLXB1cnBsZS1hNDAwOiAjNjUxZmZmICFkZWZhdWx0O1xuJGRlZXAtcHVycGxlLWE3MDA6ICM2MjAwZWEgIWRlZmF1bHQ7XG4kZGVlcC1wdXJwbGU6ICRkZWVwLXB1cnBsZS01MDAgIWRlZmF1bHQ7XG5cblxuJGluZGlnby01MDogI2U4ZWFmNiAhZGVmYXVsdDtcbiRpbmRpZ28tMTAwOiAjYzVjYWU5ICFkZWZhdWx0O1xuJGluZGlnby0yMDA6ICM5ZmE4ZGEgIWRlZmF1bHQ7XG4kaW5kaWdvLTMwMDogIzc5ODZjYiAhZGVmYXVsdDtcbiRpbmRpZ28tNDAwOiAjNWM2YmMwICFkZWZhdWx0O1xuJGluZGlnby01MDA6ICMzZjUxYjUgIWRlZmF1bHQ7XG4kaW5kaWdvLTYwMDogIzM5NDlhYiAhZGVmYXVsdDtcbiRpbmRpZ28tNzAwOiAjMzAzZjlmICFkZWZhdWx0O1xuJGluZGlnby04MDA6ICMyODM1OTMgIWRlZmF1bHQ7XG4kaW5kaWdvLTkwMDogIzFhMjM3ZSAhZGVmYXVsdDtcbiRpbmRpZ28tYTEwMDogIzhjOWVmZiAhZGVmYXVsdDtcbiRpbmRpZ28tYTIwMDogIzUzNmRmZSAhZGVmYXVsdDtcbiRpbmRpZ28tYTQwMDogIzNkNWFmZSAhZGVmYXVsdDtcbiRpbmRpZ28tYTcwMDogIzMwNGZmZSAhZGVmYXVsdDtcbiRpbmRpZ286ICRpbmRpZ28tNTAwICFkZWZhdWx0O1xuXG5cbiRibHVlLTUwOiAjZTNmMmZkICFkZWZhdWx0O1xuJGJsdWUtMTAwOiAjYmJkZWZiICFkZWZhdWx0O1xuJGJsdWUtMjAwOiAjOTBjYWY5ICFkZWZhdWx0O1xuJGJsdWUtMzAwOiAjNjRiNWY2ICFkZWZhdWx0O1xuJGJsdWUtNDAwOiAjNDJhNWY1ICFkZWZhdWx0O1xuJGJsdWUtNTAwOiAjMjE5NmYzICFkZWZhdWx0O1xuJGJsdWUtNjAwOiAjMWU4OGU1ICFkZWZhdWx0O1xuJGJsdWUtNzAwOiAjMTk3NmQyICFkZWZhdWx0O1xuJGJsdWUtODAwOiAjMTU2NWMwICFkZWZhdWx0O1xuJGJsdWUtOTAwOiAjMGQ0N2ExICFkZWZhdWx0O1xuJGJsdWUtYTEwMDogIzgyYjFmZiAhZGVmYXVsdDtcbiRibHVlLWEyMDA6ICM0NDhhZmYgIWRlZmF1bHQ7XG4kYmx1ZS1hNDAwOiAjMjk3OWZmICFkZWZhdWx0O1xuJGJsdWUtYTcwMDogIzI5NjJmZiAhZGVmYXVsdDtcbiRibHVlOiAkYmx1ZS01MDAgIWRlZmF1bHQ7XG5cblxuJGxpZ2h0LWJsdWUtNTA6ICNlMWY1ZmUgIWRlZmF1bHQ7XG4kbGlnaHQtYmx1ZS0xMDA6ICNiM2U1ZmMgIWRlZmF1bHQ7XG4kbGlnaHQtYmx1ZS0yMDA6ICM4MWQ0ZmEgIWRlZmF1bHQ7XG4kbGlnaHQtYmx1ZS0zMDA6ICM0ZmMzZjcgIWRlZmF1bHQ7XG4kbGlnaHQtYmx1ZS00MDA6ICMyOWI2ZjYgIWRlZmF1bHQ7XG4kbGlnaHQtYmx1ZS01MDA6ICMwM2E5ZjQgIWRlZmF1bHQ7XG4kbGlnaHQtYmx1ZS02MDA6ICMwMzliZTUgIWRlZmF1bHQ7XG4kbGlnaHQtYmx1ZS03MDA6ICMwMjg4ZDEgIWRlZmF1bHQ7XG4kbGlnaHQtYmx1ZS04MDA6ICMwMjc3YmQgIWRlZmF1bHQ7XG4kbGlnaHQtYmx1ZS05MDA6ICMwMTU3OWIgIWRlZmF1bHQ7XG4kbGlnaHQtYmx1ZS1hMTAwOiAjODBkOGZmICFkZWZhdWx0O1xuJGxpZ2h0LWJsdWUtYTIwMDogIzQwYzRmZiAhZGVmYXVsdDtcbiRsaWdodC1ibHVlLWE0MDA6ICMwMGIwZmYgIWRlZmF1bHQ7XG4kbGlnaHQtYmx1ZS1hNzAwOiAjMDA5MWVhICFkZWZhdWx0O1xuJGxpZ2h0LWJsdWU6ICRsaWdodC1ibHVlLTUwMCAhZGVmYXVsdDtcblxuXG4kY3lhbi01MDogI2UwZjdmYSAhZGVmYXVsdDtcbiRjeWFuLTEwMDogI2IyZWJmMiAhZGVmYXVsdDtcbiRjeWFuLTIwMDogIzgwZGVlYSAhZGVmYXVsdDtcbiRjeWFuLTMwMDogIzRkZDBlMSAhZGVmYXVsdDtcbiRjeWFuLTQwMDogIzI2YzZkYSAhZGVmYXVsdDtcbiRjeWFuLTUwMDogIzAwYmNkNCAhZGVmYXVsdDtcbiRjeWFuLTYwMDogIzAwYWNjMSAhZGVmYXVsdDtcbiRjeWFuLTcwMDogIzAwOTdhNyAhZGVmYXVsdDtcbiRjeWFuLTgwMDogIzAwODM4ZiAhZGVmYXVsdDtcbiRjeWFuLTkwMDogIzAwNjA2NCAhZGVmYXVsdDtcbiRjeWFuLWExMDA6ICM4NGZmZmYgIWRlZmF1bHQ7XG4kY3lhbi1hMjAwOiAjMThmZmZmICFkZWZhdWx0O1xuJGN5YW4tYTQwMDogIzAwZTVmZiAhZGVmYXVsdDtcbiRjeWFuLWE3MDA6ICMwMGI4ZDQgIWRlZmF1bHQ7XG4kY3lhbjogJGN5YW4tNTAwICFkZWZhdWx0O1xuXG5cbiR0ZWFsLTUwOiAjZTBmMmYxICFkZWZhdWx0O1xuJHRlYWwtMTAwOiAjYjJkZmRiICFkZWZhdWx0O1xuJHRlYWwtMjAwOiAjODBjYmM0ICFkZWZhdWx0O1xuJHRlYWwtMzAwOiAjNGRiNmFjICFkZWZhdWx0O1xuJHRlYWwtNDAwOiAjMjZhNjlhICFkZWZhdWx0O1xuJHRlYWwtNTAwOiAjMDA5Njg4ICFkZWZhdWx0O1xuJHRlYWwtNjAwOiAjMDA4OTdiICFkZWZhdWx0O1xuJHRlYWwtNzAwOiAjMDA3OTZiICFkZWZhdWx0O1xuJHRlYWwtODAwOiAjMDA2OTVjICFkZWZhdWx0O1xuJHRlYWwtOTAwOiAjMDA0ZDQwICFkZWZhdWx0O1xuJHRlYWwtYTEwMDogI2E3ZmZlYiAhZGVmYXVsdDtcbiR0ZWFsLWEyMDA6ICM2NGZmZGEgIWRlZmF1bHQ7XG4kdGVhbC1hNDAwOiAjMWRlOWI2ICFkZWZhdWx0O1xuJHRlYWwtYTcwMDogIzAwYmZhNSAhZGVmYXVsdDtcbiR0ZWFsOiAkdGVhbC01MDAgIWRlZmF1bHQ7XG5cblxuJGdyZWVuLTUwOiAjZThmNWU5ICFkZWZhdWx0O1xuJGdyZWVuLTEwMDogI2M4ZTZjOSAhZGVmYXVsdDtcbiRncmVlbi0yMDA6ICNhNWQ2YTcgIWRlZmF1bHQ7XG4kZ3JlZW4tMzAwOiAjODFjNzg0ICFkZWZhdWx0O1xuJGdyZWVuLTQwMDogIzY2YmI2YSAhZGVmYXVsdDtcbiRncmVlbi01MDA6ICM0Y2FmNTAgIWRlZmF1bHQ7XG4kZ3JlZW4tNjAwOiAjNDNhMDQ3ICFkZWZhdWx0O1xuJGdyZWVuLTcwMDogIzM4OGUzYyAhZGVmYXVsdDtcbiRncmVlbi04MDA6ICMyZTdkMzIgIWRlZmF1bHQ7XG4kZ3JlZW4tOTAwOiAjMWI1ZTIwICFkZWZhdWx0O1xuJGdyZWVuLWExMDA6ICNiOWY2Y2EgIWRlZmF1bHQ7XG4kZ3JlZW4tYTIwMDogIzY5ZjBhZSAhZGVmYXVsdDtcbiRncmVlbi1hNDAwOiAjMDBlNjc2ICFkZWZhdWx0O1xuJGdyZWVuLWE3MDA6ICMwMGM4NTMgIWRlZmF1bHQ7XG4kZ3JlZW46ICRncmVlbi01MDAgIWRlZmF1bHQ7XG5cblxuJGxpZ2h0LWdyZWVuLTUwOiAjZjFmOGU5ICFkZWZhdWx0O1xuJGxpZ2h0LWdyZWVuLTEwMDogI2RjZWRjOCAhZGVmYXVsdDtcbiRsaWdodC1ncmVlbi0yMDA6ICNjNWUxYTUgIWRlZmF1bHQ7XG4kbGlnaHQtZ3JlZW4tMzAwOiAjYWVkNTgxICFkZWZhdWx0O1xuJGxpZ2h0LWdyZWVuLTQwMDogIzljY2M2NSAhZGVmYXVsdDtcbiRsaWdodC1ncmVlbi01MDA6ICM4YmMzNGEgIWRlZmF1bHQ7XG4kbGlnaHQtZ3JlZW4tNjAwOiAjN2NiMzQyICFkZWZhdWx0O1xuJGxpZ2h0LWdyZWVuLTcwMDogIzY4OWYzOCAhZGVmYXVsdDtcbiRsaWdodC1ncmVlbi04MDA6ICM1NThiMmYgIWRlZmF1bHQ7XG4kbGlnaHQtZ3JlZW4tOTAwOiAjMzM2OTFlICFkZWZhdWx0O1xuJGxpZ2h0LWdyZWVuLWExMDA6ICNjY2ZmOTAgIWRlZmF1bHQ7XG4kbGlnaHQtZ3JlZW4tYTIwMDogI2IyZmY1OSAhZGVmYXVsdDtcbiRsaWdodC1ncmVlbi1hNDAwOiAjNzZmZjAzICFkZWZhdWx0O1xuJGxpZ2h0LWdyZWVuLWE3MDA6ICM2NGRkMTcgIWRlZmF1bHQ7XG4kbGlnaHQtZ3JlZW46ICRsaWdodC1ncmVlbi01MDAgIWRlZmF1bHQ7XG5cblxuJGxpbWUtNTA6ICNmOWZiZTcgIWRlZmF1bHQ7XG4kbGltZS0xMDA6ICNmMGY0YzMgIWRlZmF1bHQ7XG4kbGltZS0yMDA6ICNlNmVlOWMgIWRlZmF1bHQ7XG4kbGltZS0zMDA6ICNkY2U3NzUgIWRlZmF1bHQ7XG4kbGltZS00MDA6ICNkNGUxNTcgIWRlZmF1bHQ7XG4kbGltZS01MDA6ICNjZGRjMzkgIWRlZmF1bHQ7XG4kbGltZS02MDA6ICNjMGNhMzMgIWRlZmF1bHQ7XG4kbGltZS03MDA6ICNhZmI0MmIgIWRlZmF1bHQ7XG4kbGltZS04MDA6ICM5ZTlkMjQgIWRlZmF1bHQ7XG4kbGltZS05MDA6ICM4Mjc3MTcgIWRlZmF1bHQ7XG4kbGltZS1hMTAwOiAjZjRmZjgxICFkZWZhdWx0O1xuJGxpbWUtYTIwMDogI2VlZmY0MSAhZGVmYXVsdDtcbiRsaW1lLWE0MDA6ICNjNmZmMDAgIWRlZmF1bHQ7XG4kbGltZS1hNzAwOiAjYWVlYTAwICFkZWZhdWx0O1xuJGxpbWU6ICRsaW1lLTUwMCAhZGVmYXVsdDtcblxuXG4keWVsbG93LTUwOiAjZmZmZGU3ICFkZWZhdWx0O1xuJHllbGxvdy0xMDA6ICNmZmY5YzQgIWRlZmF1bHQ7XG4keWVsbG93LTIwMDogI2ZmZjU5ZCAhZGVmYXVsdDtcbiR5ZWxsb3ctMzAwOiAjZmZmMTc2ICFkZWZhdWx0O1xuJHllbGxvdy00MDA6ICNmZmVlNTggIWRlZmF1bHQ7XG4keWVsbG93LTUwMDogI2ZmZWIzYiAhZGVmYXVsdDtcbiR5ZWxsb3ctNjAwOiAjZmRkODM1ICFkZWZhdWx0O1xuJHllbGxvdy03MDA6ICNmYmMwMmQgIWRlZmF1bHQ7XG4keWVsbG93LTgwMDogI2Y5YTgyNSAhZGVmYXVsdDtcbiR5ZWxsb3ctOTAwOiAjZjU3ZjE3ICFkZWZhdWx0O1xuJHllbGxvdy1hMTAwOiAjZmZmZjhkICFkZWZhdWx0O1xuJHllbGxvdy1hMjAwOiAjZmYwICFkZWZhdWx0O1xuJHllbGxvdy1hNDAwOiAjZmZlYTAwICFkZWZhdWx0O1xuJHllbGxvdy1hNzAwOiAjZmZkNjAwICFkZWZhdWx0O1xuJHllbGxvdzogJHllbGxvdy01MDAgIWRlZmF1bHQ7XG5cblxuJGFtYmVyLTUwOiAjZmZmOGUxICFkZWZhdWx0O1xuJGFtYmVyLTEwMDogI2ZmZWNiMyAhZGVmYXVsdDtcbiRhbWJlci0yMDA6ICNmZmUwODIgIWRlZmF1bHQ7XG4kYW1iZXItMzAwOiAjZmZkNTRmICFkZWZhdWx0O1xuJGFtYmVyLTQwMDogI2ZmY2EyOCAhZGVmYXVsdDtcbiRhbWJlci01MDA6ICNmZmMxMDcgIWRlZmF1bHQ7XG4kYW1iZXItNjAwOiAjZmZiMzAwICFkZWZhdWx0O1xuJGFtYmVyLTcwMDogI2ZmYTAwMCAhZGVmYXVsdDtcbiRhbWJlci04MDA6ICNmZjhmMDAgIWRlZmF1bHQ7XG4kYW1iZXItOTAwOiAjZmY2ZjAwICFkZWZhdWx0O1xuJGFtYmVyLWExMDA6ICNmZmU1N2YgIWRlZmF1bHQ7XG4kYW1iZXItYTIwMDogI2ZmZDc0MCAhZGVmYXVsdDtcbiRhbWJlci1hNDAwOiAjZmZjNDAwICFkZWZhdWx0O1xuJGFtYmVyLWE3MDA6ICNmZmFiMDAgIWRlZmF1bHQ7XG4kYW1iZXI6ICRhbWJlci01MDAgIWRlZmF1bHQ7XG5cblxuJG9yYW5nZS01MDogI2ZmZjNlMCAhZGVmYXVsdDtcbiRvcmFuZ2UtMTAwOiAjZmZlMGIyICFkZWZhdWx0O1xuJG9yYW5nZS0yMDA6ICNmZmNjODAgIWRlZmF1bHQ7XG4kb3JhbmdlLTMwMDogI2ZmYjc0ZCAhZGVmYXVsdDtcbiRvcmFuZ2UtNDAwOiAjZmZhNzI2ICFkZWZhdWx0O1xuJG9yYW5nZS01MDA6ICNmZjk4MDAgIWRlZmF1bHQ7XG4kb3JhbmdlLTYwMDogI2ZiOGMwMCAhZGVmYXVsdDtcbiRvcmFuZ2UtNzAwOiAjZjU3YzAwICFkZWZhdWx0O1xuJG9yYW5nZS04MDA6ICNlZjZjMDAgIWRlZmF1bHQ7XG4kb3JhbmdlLTkwMDogI2U2NTEwMCAhZGVmYXVsdDtcbiRvcmFuZ2UtYTEwMDogI2ZmZDE4MCAhZGVmYXVsdDtcbiRvcmFuZ2UtYTIwMDogI2ZmYWI0MCAhZGVmYXVsdDtcbiRvcmFuZ2UtYTQwMDogI2ZmOTEwMCAhZGVmYXVsdDtcbiRvcmFuZ2UtYTcwMDogI2ZmNmQwMCAhZGVmYXVsdDtcbiRvcmFuZ2U6ICRvcmFuZ2UtNTAwICFkZWZhdWx0O1xuXG5cbiRkZWVwLW9yYW5nZS01MDogI2ZiZTllNyAhZGVmYXVsdDtcbiRkZWVwLW9yYW5nZS0xMDA6ICNmZmNjYmMgIWRlZmF1bHQ7XG4kZGVlcC1vcmFuZ2UtMjAwOiAjZmZhYjkxICFkZWZhdWx0O1xuJGRlZXAtb3JhbmdlLTMwMDogI2ZmOGE2NSAhZGVmYXVsdDtcbiRkZWVwLW9yYW5nZS00MDA6ICNmZjcwNDMgIWRlZmF1bHQ7XG4kZGVlcC1vcmFuZ2UtNTAwOiAjZmY1NzIyICFkZWZhdWx0O1xuJGRlZXAtb3JhbmdlLTYwMDogI2Y0NTExZSAhZGVmYXVsdDtcbiRkZWVwLW9yYW5nZS03MDA6ICNlNjRhMTkgIWRlZmF1bHQ7XG4kZGVlcC1vcmFuZ2UtODAwOiAjZDg0MzE1ICFkZWZhdWx0O1xuJGRlZXAtb3JhbmdlLTkwMDogI2JmMzYwYyAhZGVmYXVsdDtcbiRkZWVwLW9yYW5nZS1hMTAwOiAjZmY5ZTgwICFkZWZhdWx0O1xuJGRlZXAtb3JhbmdlLWEyMDA6ICNmZjZlNDAgIWRlZmF1bHQ7XG4kZGVlcC1vcmFuZ2UtYTQwMDogI2ZmM2QwMCAhZGVmYXVsdDtcbiRkZWVwLW9yYW5nZS1hNzAwOiAjZGQyYzAwICFkZWZhdWx0O1xuJGRlZXAtb3JhbmdlOiAkZGVlcC1vcmFuZ2UtNTAwICFkZWZhdWx0O1xuXG5cbiRicm93bi01MDogI2VmZWJlOSAhZGVmYXVsdDtcbiRicm93bi0xMDA6ICNkN2NjYzggIWRlZmF1bHQ7XG4kYnJvd24tMjAwOiAjYmNhYWE0ICFkZWZhdWx0O1xuJGJyb3duLTMwMDogI2ExODg3ZiAhZGVmYXVsdDtcbiRicm93bi00MDA6ICM4ZDZlNjMgIWRlZmF1bHQ7XG4kYnJvd24tNTAwOiAjNzk1NTQ4ICFkZWZhdWx0O1xuJGJyb3duLTYwMDogIzZkNGM0MSAhZGVmYXVsdDtcbiRicm93bi03MDA6ICM1ZDQwMzcgIWRlZmF1bHQ7XG4kYnJvd24tODAwOiAjNGUzNDJlICFkZWZhdWx0O1xuJGJyb3duLTkwMDogIzNlMjcyMyAhZGVmYXVsdDtcbiRicm93bi1hMTAwOiAjZDdjY2M4ICFkZWZhdWx0O1xuJGJyb3duLWEyMDA6ICNiY2FhYTQgIWRlZmF1bHQ7XG4kYnJvd24tYTQwMDogIzhkNmU2MyAhZGVmYXVsdDtcbiRicm93bi1hNzAwOiAjNWQ0MDM3ICFkZWZhdWx0O1xuJGJyb3duOiAkYnJvd24tNTAwICFkZWZhdWx0O1xuXG5cbiRncmV5LTUwOiAjZmFmYWZhICFkZWZhdWx0O1xuJGdyZXktMTAwOiAjZjVmNWY1ICFkZWZhdWx0O1xuJGdyZXktMjAwOiAjZWVlICFkZWZhdWx0O1xuJGdyZXktMzAwOiAjZTBlMGUwICFkZWZhdWx0O1xuJGdyZXktNDAwOiAjYmRiZGJkICFkZWZhdWx0O1xuJGdyZXktNTAwOiAjOWU5ZTllO1xuJGdyZXktNjAwOiAjNzU3NTc1ICFkZWZhdWx0O1xuJGdyZXktNzAwOiAjNjE2MTYxICFkZWZhdWx0O1xuJGdyZXktODAwOiAjNDI0MjQyICFkZWZhdWx0O1xuJGdyZXktOTAwOiAjMjEyMTIxICFkZWZhdWx0O1xuJGdyZXktYTEwMDogI2Y1ZjVmNSAhZGVmYXVsdDtcbiRncmV5LWEyMDA6ICNlZWUgIWRlZmF1bHQ7XG4kZ3JleS1hNDAwOiAjYmRiZGJkICFkZWZhdWx0O1xuJGdyZXktYTcwMDogIzYxNjE2MSAhZGVmYXVsdDtcbiRncmV5OiAkZ3JleS01MDAgIWRlZmF1bHQ7XG5cblxuJGJsdWUtZ3JleS01MDogI2VjZWZmMSAhZGVmYXVsdDtcbiRibHVlLWdyZXktMTAwOiAjY2ZkOGRjICFkZWZhdWx0O1xuJGJsdWUtZ3JleS0yMDA6ICNiMGJlYzUgIWRlZmF1bHQ7XG4kYmx1ZS1ncmV5LTMwMDogIzkwYTRhZSAhZGVmYXVsdDtcbiRibHVlLWdyZXktNDAwOiAjNzg5MDljICFkZWZhdWx0O1xuJGJsdWUtZ3JleS01MDA6ICM2MDdkOGIgIWRlZmF1bHQ7XG4kYmx1ZS1ncmV5LTYwMDogIzU0NmU3YSAhZGVmYXVsdDtcbiRibHVlLWdyZXktNzAwOiAjNDU1YTY0ICFkZWZhdWx0O1xuJGJsdWUtZ3JleS04MDA6ICMzNzQ3NGYgIWRlZmF1bHQ7XG4kYmx1ZS1ncmV5LTkwMDogIzI2MzIzOCAhZGVmYXVsdDtcbiRibHVlLWdyZXktYTEwMDogI2NmZDhkYyAhZGVmYXVsdDtcbiRibHVlLWdyZXktYTIwMDogI2IwYmVjNSAhZGVmYXVsdDtcbiRibHVlLWdyZXktYTQwMDogIzc4OTA5YyAhZGVmYXVsdDtcbiRibHVlLWdyZXktYTcwMDogIzQ1NWE2NCAhZGVmYXVsdDtcbiRibHVlLWdyZXk6ICRibHVlLWdyZXktNTAwICFkZWZhdWx0O1xuXG5cbiRibGFjazogIzAwMDtcbiR3aGl0ZTogI2ZmZjtcbiIsIi8vIEJvZHlcbi8vXG4vLyBTZXR0aW5ncyBmb3IgdGhlIGA8Ym9keT5gIGVsZW1lbnQuXG5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICAgICAgI2ZhZmFmYSAhZGVmYXVsdDtcbi8vJGJvZHktY29sb3I6ICAgICAgICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuIiwiQG1peGluIGhvdmVyIHtcbiAgLy8gVE9ETzogcmUtZW5hYmxlIGFsb25nIHdpdGggbXE0LWhvdmVyLXNoaW1cbi8vICBAaWYgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeSB7XG4vLyAgICAvLyBTZWUgTWVkaWEgUXVlcmllcyBMZXZlbCA0OiBodHRwOi8vZHJhZnRzLmNzc3dnLm9yZy9tZWRpYXF1ZXJpZXMvI2hvdmVyXG4vLyAgICAvLyBDdXJyZW50bHkgc2hpbW1lZCBieSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9tcTQtaG92ZXItc2hpbVxuLy8gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbi8vICAgICAgJjpob3ZlciB7IEBjb250ZW50IH1cbi8vICAgIH1cbi8vICB9XG4vLyAgQGVsc2Uge1xuICAgICY6aG92ZXIgeyBAY29udGVudCB9XG4vLyAgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMge1xuICBAaWYgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeSB7XG4gICAgJjpmb2N1cyB7IEBjb250ZW50IH1cbiAgICBAaW5jbHVkZSBob3ZlciB7IEBjb250ZW50IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBjb250ZW50XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gIEBpZiAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5IHtcbiAgICAmLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGNvbnRlbnRcbiAgICB9XG4gICAgQGluY2x1ZGUgaG92ZXIgeyBAY29udGVudCB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICYsXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBjb250ZW50XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cy1hY3RpdmUge1xuICBAaWYgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeSB7XG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAY29udGVudFxuICAgIH1cbiAgICBAaW5jbHVkZSBob3ZlciB7IEBjb250ZW50IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBjb250ZW50XG4gICAgfVxuICB9XG59XG4iLCIvLyBXZWJLaXQtc3R5bGUgZm9jdXNcblxuQG1peGluIHRhYi1mb2N1cygpIHtcbiAgLy8gV2ViS2l0LXNwZWNpZmljLiBPdGhlciBicm93c2VycyB3aWxsIGtlZXAgdGhlaXIgZGVmYXVsdCBvdXRsaW5lIHN0eWxlLlxuICAvLyAoSW5pdGlhbGx5IHRyaWVkIHRvIGFsc28gZm9yY2UgZGVmYXVsdCB2aWEgYG91dGxpbmU6IGluaXRpYWxgLFxuICAvLyBidXQgdGhhdCBzZWVtcyB0byBlcnJvbmVvdXNseSByZW1vdmUgdGhlIG91dGxpbmUgaW4gRmlyZWZveCBhbHRvZ2V0aGVyLilcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cbiIsIi8vXG4vLyBIZWFkaW5nc1xuLy9cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRoZWFkaW5ncy1jb2xvcjtcbn1cblxuaDEsIC5oMSB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMTsgfVxuaDIsIC5oMiB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMjsgfVxuaDMsIC5oMyB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMzsgfVxuaDQsIC5oNCB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNDsgfVxuaDUsIC5oNSB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNTsgfVxuaDYsIC5oNiB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNjsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGxlYWQtZm9udC13ZWlnaHQ7XG59XG5cbi8vIFR5cGUgZGlzcGxheSBjbGFzc2VzXG4uZGlzcGxheS0xIHtcbiAgZm9udC1zaXplOiAkZGlzcGxheTEtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5MS13ZWlnaHQ7XG59XG4uZGlzcGxheS0yIHtcbiAgZm9udC1zaXplOiAkZGlzcGxheTItc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5Mi13ZWlnaHQ7XG59XG4uZGlzcGxheS0zIHtcbiAgZm9udC1zaXplOiAkZGlzcGxheTMtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5My13ZWlnaHQ7XG59XG4uZGlzcGxheS00IHtcbiAgZm9udC1zaXplOiAkZGlzcGxheTQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5NC13ZWlnaHQ7XG59XG5cblxuLy9cbi8vIEhvcml6b250YWwgcnVsZXNcbi8vXG5cbmhyIHtcbiAgbWFyZ2luLXRvcDogJHNwYWNlci15O1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyLXk7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogJGhyLWJvcmRlci13aWR0aCBzb2xpZCAkaHItYm9yZGVyLWNvbG9yO1xufVxuXG5cbi8vXG4vLyBFbXBoYXNpc1xuLy9cblxuc21hbGwsXG4uc21hbGwge1xuICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbm1hcmssXG4ubWFyayB7XG4gIHBhZGRpbmc6ICRtYXJrLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtYXJrLWJnO1xufVxuXG5cbi8vXG4vLyBMaXN0c1xuLy9cblxuLmxpc3QtdW5zdHlsZWQge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkO1xufVxuXG4vLyBJbmxpbmUgdHVybnMgbGlzdCBpdGVtcyBpbnRvIGlubGluZS1ibG9ja1xuLmxpc3QtaW5saW5lIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZDtcbn1cbi5saXN0LWlubGluZS1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkbGlzdC1pbmxpbmUtcGFkZGluZztcbiAgfVxufVxuXG5cbi8vXG4vLyBNaXNjXG4vL1xuXG4vLyBCdWlsZHMgb24gYGFiYnJgXG4uaW5pdGlhbGlzbSB7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vLyBCbG9ja3F1b3Rlc1xuLmJsb2NrcXVvdGUge1xuICBwYWRkaW5nOiAoJHNwYWNlciAvIDIpICRzcGFjZXI7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIGZvbnQtc2l6ZTogJGJsb2NrcXVvdGUtZm9udC1zaXplO1xuICBib3JkZXItbGVmdDogJGJsb2NrcXVvdGUtYm9yZGVyLXdpZHRoIHNvbGlkICRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjtcbn1cblxuLmJsb2NrcXVvdGUtZm9vdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogODAlOyAvLyBiYWNrIHRvIGRlZmF1bHQgZm9udC1zaXplXG4gIGNvbG9yOiAkYmxvY2txdW90ZS1zbWFsbC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwyMDE0IFxcMDBBMFwiOyAvLyBlbSBkYXNoLCBuYnNwXG4gIH1cbn1cblxuLy8gT3Bwb3NpdGUgYWxpZ25tZW50IG9mIGJsb2NrcXVvdGVcbi5ibG9ja3F1b3RlLXJldmVyc2Uge1xuICBwYWRkaW5nLXJpZ2h0OiAkc3BhY2VyO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBib3JkZXItcmlnaHQ6ICRibG9ja3F1b3RlLWJvcmRlci13aWR0aCBzb2xpZCAkYmxvY2txdW90ZS1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG4uYmxvY2txdW90ZS1yZXZlcnNlIC5ibG9ja3F1b3RlLWZvb3RlciB7XG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcXDAwQTAgXFwyMDE0XCI7IC8vIG5ic3AsIGVtIGRhc2hcbiAgfVxufVxuXG5AaWYgbm90ICRlbmFibGUtZmxleCB7XG4gIC8vIENsZWFuIHVwIHNvbWUgaG9yaXpvbnRhbCBgPGRsPmBzIGJ1aWx0IHdpdGggZ3JpZHNcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcbiAgZGwucm93IHtcbiAgICA+IGRkICsgZHQge1xuICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgfVxuICB9XG4gIC8vIHNjc3MtbGludDplbmFibGUgUXVhbGlmeWluZ0VsZW1lbnRcbn1cbiIsIi8vIFNwYWNpbmdcbi8vXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXG4vLyB2YXJpYWJsZXMuIE1vc3RseSBmb2N1c2VkIG9uIHNwYWNpbmcuXG5cbiRzcGFjZXI6ICAgICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7IC8vIDFyZW0gIWRlZmF1bHQ7ICAgIC8vICRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b20gdXNlcyAkc3BhY2VyLXkuICBEZWNpZGVkIHRvIHRyeSB0aGlzIGdsb2JhbGx5IGFuZCBzZWUgaG93IGl0IHdvcmtzIG91dC5cbi8vJHNwYWNlci14OiAgICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuLy8kc3BhY2VyLXk6ICAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4vLyRzcGFjZXJzOiAoXG4vLyAgMDogKFxuLy8gICAgeDogICAwLFxuLy8gICAgeTogICAwXG4vLyAgKSxcbi8vICAxOiAoXG4vLyAgICB4OiAgICRzcGFjZXIteCxcbi8vICAgIHk6ICAgJHNwYWNlci15XG4vLyAgKSxcbi8vICAyOiAoXG4vLyAgICB4OiAgICgkc3BhY2VyLXggKiAxLjUpLFxuLy8gICAgeTogICAoJHNwYWNlci15ICogMS41KVxuLy8gICksXG4vLyAgMzogKFxuLy8gICAgeDogICAoJHNwYWNlci14ICogMyksXG4vLyAgICB5OiAgICgkc3BhY2VyLXkgKiAzKVxuLy8gIClcbi8vKSAhZGVmYXVsdDtcbiIsIi8vIExpc3RzXG5cbi8vIFVuc3R5bGVkIGtlZXBzIGxpc3QgaXRlbXMgYmxvY2sgbGV2ZWwsIGp1c3QgcmVtb3ZlcyBkZWZhdWx0IGJyb3dzZXIgcGFkZGluZyBhbmQgbGlzdC1zdHlsZVxuQG1peGluIGxpc3QtdW5zdHlsZWQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvLyBSZXNwb25zaXZlIGltYWdlcyAoZW5zdXJlIGltYWdlcyBkb24ndCBzY2FsZSBiZXlvbmQgdGhlaXIgcGFyZW50cylcbi8vXG4vLyBUaGlzIGlzIHB1cnBvc2VmdWxseSBvcHQtaW4gdmlhIGFuIGV4cGxpY2l0IGNsYXNzIHJhdGhlciB0aGFuIGJlaW5nIHRoZSBkZWZhdWx0IGZvciBhbGwgYDxpbWc+YHMuXG4vLyBXZSBwcmV2aW91c2x5IHRyaWVkIHRoZSBcImltYWdlcyBhcmUgcmVzcG9uc2l2ZSBieSBkZWZhdWx0XCIgYXBwcm9hY2ggaW4gQm9vdHN0cmFwIHYyLFxuLy8gYW5kIGFiYW5kb25lZCBpdCBpbiBCb290c3RyYXAgdjMgYmVjYXVzZSBpdCBicmVha3MgbG90cyBvZiB0aGlyZC1wYXJ0eSB3aWRnZXRzIChpbmNsdWRpbmcgR29vZ2xlIE1hcHMpXG4vLyB3aGljaCB3ZXJlbid0IGV4cGVjdGluZyB0aGUgaW1hZ2VzIHdpdGhpbiB0aGVtc2VsdmVzIHRvIGJlIGludm9sdW50YXJpbHkgcmVzaXplZC5cbi8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTgxNzhcbi5pbWctZmx1aWQge1xuICBAaW5jbHVkZSBpbWctZmx1aWQoKTtcbn1cblxuLy8gUm91bmRlZCBjb3JuZXJzXG4uaW1nLXJvdW5kZWQge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuLmltZy10aHVtYm5haWwge1xuICBwYWRkaW5nOiAkdGh1bWJuYWlsLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0aHVtYm5haWwtYmc7XG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXItd2lkdGggc29saWQgJHRodW1ibmFpbC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzKTtcbiAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkdGh1bWJuYWlsLWJveC1zaGFkb3cpO1xuXG4gIC8vIEtlZXAgdGhlbSBhdCBtb3N0IDEwMCUgd2lkZVxuICBAaW5jbHVkZSBpbWctZmx1aWQoaW5saW5lLWJsb2NrKTtcbn1cblxuLy8gUGVyZmVjdCBjaXJjbGVcbi5pbWctY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuLmZpZ3VyZSB7XG4gIC8vIEVuc3VyZXMgdGhlIGNhcHRpb24ncyB0ZXh0IGFsaWducyB3aXRoIHRoZSBpbWFnZS5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZmlndXJlLWltZyB7XG4gIG1hcmdpbi1ib3R0b206ICgkc3BhY2VyLXkgLyAyKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5maWd1cmUtY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICRncmF5LWxpZ2h0O1xufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5cbkBtaXhpbiBpbWctZmx1aWQoJGRpc3BsYXk6IGJsb2NrKSB7XG4gIGRpc3BsYXk6ICRkaXNwbGF5O1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIGhlaWdodDogYXV0bzsgLy8gUGFydCAyOiBTY2FsZSB0aGUgaGVpZ2h0IGFjY29yZGluZyB0byB0aGUgd2lkdGgsIG90aGVyd2lzZSB5b3UgZ2V0IHN0cmV0Y2hpbmdcbn1cblxuXG4vLyBSZXRpbmEgaW1hZ2Vcbi8vXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemUuXG5cbkBtaXhpbiBpbWctcmV0aW5hKCRmaWxlLTF4LCAkZmlsZS0yeCwgJHdpZHRoLTF4LCAkaGVpZ2h0LTF4KSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0xeCk7XG5cbiAgLy8gQXV0b3ByZWZpeGVyIHRha2VzIGNhcmUgb2YgYWRkaW5nIC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbyBhbmQgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbyxcbiAgLy8gYnV0IGRvZXNuJ3QgY29udmVydCBkcHB4PT5kcGkuXG4gIC8vIFRoZXJlJ3Mgbm8gc3VjaCB0aGluZyBhcyB1bnByZWZpeGVkIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gc2luY2UgaXQncyBub25zdGFuZGFyZC5cbiAgLy8gQ29tcGF0aWJpbGl0eSBpbmZvOiBodHRwOi8vY2FuaXVzZS5jb20vI2ZlYXQ9Y3NzLW1lZGlhLXJlc29sdXRpb25cbiAgQG1lZGlhXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIC8vIElFOS0xMSBkb24ndCBzdXBwb3J0IGRwcHhcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHsgLy8gU3RhbmRhcmRpemVkXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTJ4KTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICR3aWR0aC0xeCAkaGVpZ2h0LTF4O1xuICB9XG59XG4iLCIvLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuIiwiLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuLy8kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgKDQgLyAzKSAhZGVmYXVsdDtcbi8vJGxpbmUtaGVpZ2h0LXNtOiAgICAgICAgIDEuNSAhZGVmYXVsdDtcbi8vXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDsgLy8gLjI1cmVtICFkZWZhdWx0O1xuLy8kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgLjA2MjVyZW0gIWRlZmF1bHQ7IC8vIC4ycmVtICFkZWZhdWx0O1xuLy9cbi8vJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4vLyRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbi8vXG4vLyRjYXJldC13aWR0aDogICAgICAgICAgICAuM2VtICFkZWZhdWx0O1xuLy8kY2FyZXQtd2lkdGgtbGc6ICAgICAgICAgJGNhcmV0LXdpZHRoICFkZWZhdWx0O1xuIiwiLy8gVG9nZ2xlc1xuLy9cbi8vIFVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBnbG9iYWwgdmFyaWFibGVzIHRvIGVuYWJsZSBjZXJ0YWluIHRoZW1lIGZlYXR1cmVzLlxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG4gIH1cbn1cblxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICB9XG59XG5cbi8vIFV0aWxpdGllc1xuQGltcG9ydCBcIm1peGlucy9icmVha3BvaW50c1wiO1xuQGltcG9ydCBcIm1peGlucy9ob3ZlclwiO1xuQGltcG9ydCBcIm1peGlucy9pbWFnZVwiO1xuQGltcG9ydCBcIm1peGlucy90YWdcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzZXQtZmlsdGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy9zY3JlZW4tcmVhZGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL3NpemVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGFiLWZvY3VzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2V0LXRleHRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC1lbXBoYXNpc1wiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LWhpZGVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC10cnVuY2F0ZVwiO1xuXG4vLyAvLyBDb21wb25lbnRzXG5AaW1wb3J0IFwibWl4aW5zL2FsZXJ0XCI7XG5AaW1wb3J0IFwibWl4aW5zL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvY2FyZHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcIm1peGlucy9saXN0c1wiO1xuQGltcG9ydCBcIm1peGlucy9saXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwibWl4aW5zL25hdi1kaXZpZGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zvcm1zXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Byb2dyZXNzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RhYmxlLXJvd1wiO1xuXG4vLyAvLyBTa2luc1xuQGltcG9ydCBcIm1peGlucy9iYWNrZ3JvdW5kLXZhcmlhbnRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYm9yZGVyLXJhZGl1c1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmFkaWVudHNcIjtcblxuLy8gLy8gTGF5b3V0XG5AaW1wb3J0IFwibWl4aW5zL2NsZWFyZml4XCI7XG4vLyBAaW1wb3J0IFwibWl4aW5zL25hdmJhci1hbGlnblwiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkLWZyYW1ld29ya1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkXCI7XG5AaW1wb3J0IFwibWl4aW5zL3B1bGxzXCI7XG4iLCIvLyBJbmxpbmUgYW5kIGJsb2NrIGNvZGUgc3R5bGVzXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xufVxuXG4vLyBJbmxpbmUgY29kZVxuY29kZSB7XG4gIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmcteSAkY29kZS1wYWRkaW5nLXg7XG4gIGZvbnQtc2l6ZTogJGNvZGUtZm9udC1zaXplO1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gVXNlciBpbnB1dCB0eXBpY2FsbHkgZW50ZXJlZCB2aWEga2V5Ym9hcmRcbmtiZCB7XG4gIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmcteSAkY29kZS1wYWRkaW5nLXg7XG4gIGZvbnQtc2l6ZTogJGNvZGUtZm9udC1zaXplO1xuICBjb2xvcjogJGtiZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGtiZC1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1zbSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGtiZC1ib3gtc2hhZG93KTtcblxuICBrYmQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAxMDAlO1xuICAgIGZvbnQtd2VpZ2h0OiAkbmVzdGVkLWtiZC1mb250LXdlaWdodDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cbi8vIEJsb2NrcyBvZiBjb2RlXG5wcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAkY29kZS1mb250LXNpemU7XG4gIGNvbG9yOiAkcHJlLWNvbG9yO1xuXG4gIC8vIEFjY291bnQgZm9yIHNvbWUgY29kZSBvdXRwdXRzIHRoYXQgcGxhY2UgY29kZSB0YWdzIGluIHByZSB0YWdzXG4gIGNvZGUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cblxuLy8gRW5hYmxlIHNjcm9sbGFibGUgYmxvY2tzIG9mIGNvZGVcbi5wcmUtc2Nyb2xsYWJsZSB7XG4gIG1heC1oZWlnaHQ6ICRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG4iLCIvLyBDb250YWluZXIgd2lkdGhzXG4vL1xuLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAuY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoKTtcbiAgfVxufVxuXG4vLyBGbHVpZCBjb250YWluZXJcbi8vXG4vLyBVdGlsaXplcyB0aGUgbWl4aW4gbWVhbnQgZm9yIGZpeGVkIHdpZHRoIGNvbnRhaW5lcnMsIGJ1dCB3aXRob3V0IGFueSBkZWZpbmVkXG4vLyB3aWR0aCBmb3IgZmx1aWQsIGZ1bGwgd2lkdGggbGF5b3V0cy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgfVxufVxuXG4vLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4gYW5kIGNsZWFyIHRoZSBmbG9hdHMgb2YgeW91ciBjb2x1bW5zLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuICB9XG59XG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zKCk7XG59XG4iLCIvLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbkBtaXhpbiBtYWtlLWNvbnRhaW5lcigkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcbiAgQGlmIG5vdCAkZW5hYmxlLWZsZXgge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gIH1cbn1cblxuXG4vLyBGb3IgZWFjaCBicmVha3BvaW50LCBkZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgdGhlIGNvbnRhaW5lciBpbiBhIG1lZGlhIHF1ZXJ5XG5AbWl4aW4gbWFrZS1jb250YWluZXItbWF4LXdpZHRocygkbWF4LXdpZHRoczogJGNvbnRhaW5lci1tYXgtd2lkdGhzLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkbWF4LXdpZHRocyB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIEBpZiAkZW5hYmxlLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICB9XG4gIG1hcmdpbi1sZWZ0OiAgKCRndXR0ZXIgLyAtMik7XG4gIG1hcmdpbi1yaWdodDogKCRndXR0ZXIgLyAtMik7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1yZWFkeSgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDsgLy8gUHJldmVudCBjb2xsYXBzaW5nXG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG5cbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHVzZSBgZmxleGAgdmFsdWVzXG4gIC8vIGxhdGVyIG9uIHRvIG92ZXJyaWRlIHRoaXMgaW5pdGlhbCB3aWR0aC5cbiAgQGlmICRlbmFibGUtZmxleCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIEBpZiAkZW5hYmxlLWZsZXgge1xuICAgIGZsZXg6IDAgMCBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xuICAgIC8vIEFkZCBhIGBtYXgtd2lkdGhgIHRvIGVuc3VyZSBjb250ZW50IHdpdGhpbiBlYWNoIGNvbHVtbiBkb2VzIG5vdCBibG93IG91dFxuICAgIC8vIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uLiBBcHBsaWVzIHRvIElFMTArIGFuZCBGaXJlZm94LiBDaHJvbWUgYW5kIFNhZmFyaVxuICAgIC8vIGRvIG5vdCBhcHBlYXIgdG8gcmVxdWlyZSB0aGlzLlxuICAgIG1heC13aWR0aDogcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbiAgfSBAZWxzZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG4gIH1cbn1cblxuQG1peGluIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1wdXNoKCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBsZWZ0OiBpZigkc2l6ZSA+IDAsIHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyksIGF1dG8pO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtcHVsbCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgcmlnaHQ6IGlmKCRzaXplID4gMCwgcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKSwgYXV0byk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1tb2RpZmllcigkdHlwZSwgJHNpemUsICRjb2x1bW5zKSB7XG4gIC8vIFdvcmsgYXJvdW5kIHRoZSBsYWNrIG9mIGR5bmFtaWMgbWl4aW4gQGluY2x1ZGUgc3VwcG9ydCAoaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvNjI2KVxuICBAaWYgJHR5cGUgPT0gcHVzaCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb2wtcHVzaCgkc2l6ZSwgJGNvbHVtbnMpO1xuICB9IEBlbHNlIGlmICR0eXBlID09IHB1bGwge1xuICAgIEBpbmNsdWRlIG1ha2UtY29sLXB1bGwoJHNpemUsICRjb2x1bW5zKTtcbiAgfSBAZWxzZSBpZiAkdHlwZSA9PSBvZmZzZXQge1xuICAgIEBpbmNsdWRlIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnMpO1xuICB9XG59XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NDRweCwgbWQ6IDc2OHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU0NHB4LCBtZDogNzY4cHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU0NHB4LCBtZDogNzY4cHgpKVxuLy8gICAgNTQ0cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMS5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTQ0cHgsIG1kOiA3NjhweCkpXG4vLyAgICA3NjdweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gMXB4LCBudWxsKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgJGdyaWQtY29sdW1uc2AuXG5cbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG5cbiAgLy8gQ29tbW9uIHByb3BlcnRpZXMgZm9yIGFsbCBicmVha3BvaW50c1xuICAlZ3JpZC1jb2x1bW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBjb2xsYXBzaW5nIHdoZW4gZW1wdHlcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgLy8gSW5uZXIgZ3V0dGVyIHZpYSBwYWRkaW5nXG4gICAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcbiAgICBwYWRkaW5nLWxlZnQ6ICgkZ3V0dGVyIC8gMik7XG5cbiAgICBAaWYgJGVuYWJsZS1mbGV4IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gICRicmVha3BvaW50LWNvdW50ZXI6IDA7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRicmVha3BvaW50LWNvdW50ZXI6ICgkYnJlYWtwb2ludC1jb3VudGVyICsgMSk7XG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgIC5jb2wtI3skYnJlYWtwb2ludH0tI3skaX0ge1xuICAgICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXG4gICAgICBAaWYgJGVuYWJsZS1mbGV4IHtcbiAgICAgICAgLmNvbC0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLmNvbC0jeyRicmVha3BvaW50fS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zLCAkZ3V0dGVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAZWFjaCAkbW9kaWZpZXIgaW4gKHB1bGwsIHB1c2gpIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgICAgLiN7JG1vZGlmaWVyfS0jeyRicmVha3BvaW50fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1tb2RpZmllcigkbW9kaWZpZXIsICRpLCAkY29sdW1ucylcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gYCRjb2x1bW5zIC0gMWAgYmVjYXVzZSBvZmZzZXR0aW5nIGJ5IHRoZSB3aWR0aCBvZiBhbiBlbnRpcmUgcm93IGlzbid0IHBvc3NpYmxlXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcbiAgICAgICAgQGlmICRicmVha3BvaW50LWNvdW50ZXIgIT0gMSBvciAkaSAhPSAwIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LXhzLTBcbiAgICAgICAgICAub2Zmc2V0LSN7JGJyZWFrcG9pbnR9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLW1vZGlmaWVyKG9mZnNldCwgJGksICRjb2x1bW5zKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEJhc2ljIEJvb3RzdHJhcCB0YWJsZVxuLy9cblxuLnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcblxuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBib3JkZXItdG9wOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0aGVhZCB0aCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICBib3JkZXItYm90dG9tOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXItdG9wOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAudGFibGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnO1xuICB9XG59XG5cblxuLy9cbi8vIENvbmRlbnNlZCB0YWJsZSB3LyBoYWxmIHBhZGRpbmdcbi8vXG5cbi50YWJsZS1zbSB7XG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLXNtLWNlbGwtcGFkZGluZztcbiAgfVxufVxuXG5cbi8vIEJvcmRlcmVkIHZlcnNpb25cbi8vXG4vLyBBZGQgYm9yZGVycyBhbGwgYXJvdW5kIHRoZSB0YWJsZSBhbmQgYmV0d2VlbiBhbGwgdGhlIGNvbHVtbnMuXG5cbi50YWJsZS1ib3JkZXJlZCB7XG4gIGJvcmRlcjogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuXG4gIHRoLFxuICB0ZCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0aGVhZCB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogKDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBaZWJyYS1zdHJpcGluZ1xuLy9cbi8vIERlZmF1bHQgemVicmEtc3RyaXBlIHN0eWxlcyAoYWx0ZXJuYXRpbmcgZ3JheSBhbmQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMpXG5cbi50YWJsZS1zdHJpcGVkIHtcbiAgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJnLWFjY2VudDtcbiAgfVxufVxuXG5cbi8vIEhvdmVyIGVmZmVjdFxuLy9cbi8vIFBsYWNlZCBoZXJlIHNpbmNlIGl0IGhhcyB0byBjb21lIGFmdGVyIHRoZSBwb3RlbnRpYWwgemVicmEgc3RyaXBpbmdcblxuLnRhYmxlLWhvdmVyIHtcbiAgdGJvZHkgdHIge1xuICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iZy1ob3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUYWJsZSBiYWNrZ3JvdW5kc1xuLy9cbi8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4vLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuXG4vLyBHZW5lcmF0ZSB0aGUgY29udGV4dHVhbCB2YXJpYW50c1xuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoYWN0aXZlLCAkdGFibGUtYmctYWN0aXZlKTtcbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KHN1Y2Nlc3MsICRzdGF0ZS1zdWNjZXNzLWJnKTtcbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KGluZm8sICRzdGF0ZS1pbmZvLWJnKTtcbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KHdhcm5pbmcsICRzdGF0ZS13YXJuaW5nLWJnKTtcbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KGRhbmdlciwgJHN0YXRlLWRhbmdlci1iZyk7XG5cblxuLy8gSW52ZXJzZSBzdHlsZXNcbi8vXG4vLyBTYW1lIHRhYmxlIG1hcmt1cCwgYnV0IGludmVydGVkIGNvbG9yIHNjaGVtZeKAlGRhcmsgYmFja2dyb3VuZCBhbmQgbGlnaHQgdGV4dC5cblxuLnRoZWFkLWludmVyc2Uge1xuICB0aCB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktZGFyaztcbiAgfVxufVxuXG4udGhlYWQtZGVmYXVsdCB7XG4gIHRoIHtcbiAgICBjb2xvcjogJGdyYXk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktbGlnaHRlcjtcbiAgfVxufVxuXG4udGFibGUtaW52ZXJzZSB7XG4gIGNvbG9yOiAkZ3JheS1saWdodGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1kYXJrO1xuXG4gIHRoLFxuICB0ZCxcbiAgdGhlYWQgdGgge1xuICAgIGJvcmRlci1jb2xvcjogJGdyYXk7XG4gIH1cblxuICAmLnRhYmxlLWJvcmRlcmVkIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuXG5cbi8vIFJlc3BvbnNpdmUgdGFibGVzXG4vL1xuLy8gV3JhcCB5b3VyIHRhYmxlcyBpbiBgLnRhYmxlLXJlc3BvbnNpdmVgIGFuZCB3ZSdsbCBtYWtlIHRoZW0gbW9iaWxlIGZyaWVuZGx5XG4vLyBieSBlbmFibGluZyBob3Jpem9udGFsIHNjcm9sbGluZy4gT25seSBhcHBsaWVzIDw3NjhweC4gRXZlcnl0aGluZyBhYm92ZSB0aGF0XG4vLyB3aWxsIGRpc3BsYXkgbm9ybWFsbHkuXG5cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAuMDElOyAvLyBXb3JrYXJvdW5kIGZvciBJRTkgYnVnIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNDgzNylcbiAgb3ZlcmZsb3cteDogYXV0bztcblxuICAvLyBUT0RPOiBmaW5kIG91dCBpZiB3ZSBuZWVkIHRoaXMgc3RpbGwuXG4gIC8vXG4gIC8vIGJvcmRlcjogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAvLyAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwMDU3XG59XG5cblxuLnRhYmxlLXJlZmxvdyB7XG4gIHRoZWFkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuXG4gIHRib2R5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG5cbiAgdGgsXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgYm9yZGVyLWxlZnQ6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgdHI6bGFzdC1jaGlsZCB0aCxcbiAgICAgIHRyOmxhc3QtY2hpbGQgdGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZVxuICB0ciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG4gIC8vIHNjc3MtbGludDplbmFibGUgSW1wb3J0YW50UnVsZVxufVxuIiwiLy8gVGFibGVzXG5cbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kKSB7XG4gIC8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4gIC8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG4gIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICYsXG4gICAgPiB0aCxcbiAgICA+IHRkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlcyBmb3IgYC50YWJsZS1ob3ZlcmBcbiAgLy8gTm90ZTogdGhpcyBpcyBub3QgYXZhaWxhYmxlIGZvciBjZWxscyBvciByb3dzIHdpdGhpbiBgdGhlYWRgIG9yIGB0Zm9vdGAuXG4gIC50YWJsZS1ob3ZlciB7XG4gICAgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuXG4gICAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgID4gdGQsXG4gICAgICAgID4gdGgge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nRWxlbWVudFxuXG4vL1xuLy8gVGV4dHVhbCBmb3JtIGNvbnRyb2xzXG4vL1xuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICAvLyAvLyBNYWtlIGlucHV0cyBhdCBsZWFzdCB0aGUgaGVpZ2h0IG9mIHRoZWlyIGJ1dHRvbiBjb3VudGVycGFydCAoYmFzZSBsaW5lLWhlaWdodCArIHBhZGRpbmcgKyBib3JkZXIpXG4gIC8vIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICAvLyBSZXNldCB1bnVzdWFsIEZpcmVmb3gtb24tQW5kcm9pZCBkZWZhdWx0IHN0eWxlOyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcy9pc3N1ZXMvMjE0LlxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG4gIC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIGA8c2VsZWN0PmBzIGluIENTUy5cbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3cpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXMpO1xuXG4gIC8vIFVuc3R5bGUgdGhlIGNhcmV0IG9uIGA8c2VsZWN0PmBzIGluIElFMTArLlxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC1mb2N1cygpO1xuXG4gIC8vIFBsYWNlaG9sZGVyXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyO1xuICAgIC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBhbmQgcmVhZC1vbmx5IGlucHV0c1xuICAvL1xuICAvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuICAvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG4gICY6ZGlzYWJsZWQsXG4gICZbcmVhZG9ubHldIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmctZGlzYWJsZWQ7XG4gICAgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY1NS5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICB9XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAmOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICB9XG5cbiAgJjpmb2N1czo6LW1zLXZhbHVlIHtcbiAgICAvLyBTdXBwcmVzcyB0aGUgbmVzdGVkIGRlZmF1bHQgd2hpdGUgdGV4dCBvbiBibHVlIGJhY2tncm91bmQgaGlnaGxpZ2h0IGdpdmVuIHRvXG4gICAgLy8gdGhlIHNlbGVjdGVkIG9wdGlvbiB0ZXh0IHdoZW4gdGhlIChzdGlsbCBjbG9zZWQpIDxzZWxlY3Q+IHJlY2VpdmVzIGZvY3VzXG4gICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UsIGFzIGl0IGxvb2tzIGJhZCBhbmQgY2Fubm90IGJlIG1hZGUgdG9cbiAgICAvLyBtYXRjaCB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgbmF0aXZlIHdpZGdldC5cbiAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgfVxufVxuXG4vLyBNYWtlIGZpbGUgaW5wdXRzIGJldHRlciBtYXRjaCB0ZXh0IGlucHV0cyBieSBmb3JjaW5nIHRoZW0gdG8gbmV3IGxpbmVzLlxuLmZvcm0tY29udHJvbC1maWxlLFxuLmZvcm0tY29udHJvbC1yYW5nZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5cbi8vXG4vLyBMYWJlbHNcbi8vXG5cbi8vIEZvciB1c2Ugd2l0aCBob3Jpem9udGFsIGFuZCBpbmxpbmUgZm9ybXMsIHdoZW4geW91IG5lZWQgdGhlIGxhYmVsIHRleHQgdG9cbi8vIGFsaWduIHdpdGggdGhlIGZvcm0gY29udHJvbHMuXG4uY29sLWZvcm0tbGFiZWwge1xuICBwYWRkaW5nLXRvcDogJGlucHV0LXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRpbnB1dC1wYWRkaW5nLXk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBgPGxhYmVsPmAgZGVmYXVsdFxufVxuXG4uY29sLWZvcm0tbGFiZWwtbGcge1xuICBwYWRkaW5nLXRvcDogJGlucHV0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1ib3R0b206ICRpbnB1dC1wYWRkaW5nLXktbGc7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcbn1cblxuLmNvbC1mb3JtLWxhYmVsLXNtIHtcbiAgcGFkZGluZy10b3A6ICRpbnB1dC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctYm90dG9tOiAkaW5wdXQtcGFkZGluZy15LXNtO1xuICBmb250LXNpemU6ICRmb250LXNpemUtc207XG59XG5cblxuLy9cbi8vIExlZ2VuZHNcbi8vXG5cbi8vIEZvciB1c2Ugd2l0aCBob3Jpem9udGFsIGFuZCBpbmxpbmUgZm9ybXMsIHdoZW4geW91IG5lZWQgdGhlIGxlZ2VuZCB0ZXh0IHRvXG4vLyBiZSB0aGUgc2FtZSBzaXplIGFzIHJlZ3VsYXIgbGFiZWxzLCBhbmQgdG8gYWxpZ24gd2l0aCB0aGUgZm9ybSBjb250cm9scy5cbi5jb2wtZm9ybS1sZWdlbmQge1xuICBwYWRkaW5nLXRvcDogJGlucHV0LXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRpbnB1dC1wYWRkaW5nLXk7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xufVxuXG5cbi8vIFN0YXRpYyBmb3JtIGNvbnRyb2wgdGV4dFxuLy9cbi8vIEFwcGx5IGNsYXNzIHRvIGFuIGVsZW1lbnQgdG8gbWFrZSBhbnkgc3RyaW5nIG9mIHRleHQgYWxpZ24gd2l0aCBsYWJlbHMgaW4gYVxuLy8gaG9yaXpvbnRhbCBmb3JtIGxheW91dC5cblxuLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICAvLyBTaXplIGl0IGFwcHJvcHJpYXRlbHkgbmV4dCB0byByZWFsIGZvcm0gY29udHJvbHNcbiAgcGFkZGluZy10b3A6ICRpbnB1dC1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkaW5wdXQtcGFkZGluZy15O1xuICAvLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gZnJvbSBgcGBcbiAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAmLmZvcm0tY29udHJvbC1zbSxcbiAgJi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIEJ1aWxkIG9uIGAuZm9ybS1jb250cm9sYCB3aXRoIG1vZGlmaWVyIGNsYXNzZXMgdG8gZGVjcmVhc2Ugb3IgaW5jcmVhc2UgdGhlXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxuLy9cbi8vIFRoZSBgLmZvcm0tZ3JvdXAtKiBmb3JtLWNvbnRyb2xgIHZhcmlhdGlvbnMgYXJlIHNhZGx5IGR1cGxpY2F0ZWQgdG8gYXZvaWQgdGhlXG4vLyBpc3N1ZSBkb2N1bWVudGVkIGluIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTUwNzQuXG5cbi5mb3JtLWNvbnRyb2wtc20ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wtc20ge1xuICAmOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICB9XG59XG5cbi5mb3JtLWNvbnRyb2wtbGcge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wtbGcge1xuICAmOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xuICB9XG59XG5cblxuLy8gRm9ybSBncm91cHNcbi8vXG4vLyBEZXNpZ25lZCB0byBoZWxwIHdpdGggdGhlIG9yZ2FuaXphdGlvbiBhbmQgc3BhY2luZyBvZiB2ZXJ0aWNhbCBmb3Jtcy4gRm9yXG4vLyBob3Jpem9udGFsIGZvcm1zLCB1c2UgdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLlxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b207XG59XG5cbi5mb3JtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogKCRzcGFjZXIgKiAuMjUpO1xufVxuXG5cbi8vIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuLy9cbi8vIEluZGVudCB0aGUgbGFiZWxzIHRvIHBvc2l0aW9uIHJhZGlvcy9jaGVja2JveGVzIGFzIGhhbmdpbmcgY29udHJvbHMuXG5cbi5mb3JtLWNoZWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogKCRzcGFjZXIgKiAuNzUpO1xuXG4gIC8vIE1vdmUgdXAgc2libGluZyByYWRpb3Mgb3IgY2hlY2tib3hlcyBmb3IgdGlnaHRlciBzcGFjaW5nXG4gICsgLmZvcm0tY2hlY2sge1xuICAgIG1hcmdpbi10b3A6IC0uMjVyZW07XG4gIH1cblxuICAmLmRpc2FibGVkIHtcbiAgICAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG59XG5cbi5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IGA8bGFiZWw+YCBib3R0b20gbWFyZ2luXG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmZvcm0tY2hlY2staW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi10b3A6IC4yNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0xLjI1cmVtO1xuXG4gICY6b25seS1jaGlsZCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgfVxufVxuXG4vLyBSYWRpb3MgYW5kIGNoZWNrYm94ZXMgb24gc2FtZSBsaW5lXG4uZm9ybS1jaGVjay1pbmxpbmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IGA8bGFiZWw+YCBib3R0b20gbWFyZ2luXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICArIC5mb3JtLWNoZWNrLWlubGluZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC43NXJlbTtcbiAgfVxuXG4gICYuZGlzYWJsZWQge1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBmZWVkYmFjayBzdGF0ZXNcbi8vXG4vLyBBcHBseSBjb250ZXh0dWFsIGFuZCBzZW1hbnRpYyBzdGF0ZXMgdG8gaW5kaXZpZHVhbCBmb3JtIGNvbnRyb2xzLlxuXG4uZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgbWFyZ2luLXRvcDogKCRzcGFjZXIgKiAuMjUpO1xufVxuXG4uZm9ybS1jb250cm9sLXN1Y2Nlc3MsXG4uZm9ybS1jb250cm9sLXdhcm5pbmcsXG4uZm9ybS1jb250cm9sLWRhbmdlciB7XG4gIHBhZGRpbmctcmlnaHQ6ICgkaW5wdXQtcGFkZGluZy14ICogMyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCAoJGlucHV0LWhlaWdodCAvIDQpO1xuICBiYWNrZ3JvdW5kLXNpemU6ICgkaW5wdXQtaGVpZ2h0IC8gMikgKCRpbnB1dC1oZWlnaHQgLyAyKTtcbn1cblxuLy8gRm9ybSB2YWxpZGF0aW9uIHN0YXRlc1xuLmhhcy1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJGJyYW5kLXN1Y2Nlc3MpO1xuXG4gIC5mb3JtLWNvbnRyb2wtc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogJGZvcm0taWNvbi1zdWNjZXNzO1xuICB9XG59XG5cbi5oYXMtd2FybmluZyB7XG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCRicmFuZC13YXJuaW5nKTtcblxuICAuZm9ybS1jb250cm9sLXdhcm5pbmcge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICRmb3JtLWljb24td2FybmluZztcbiAgfVxufVxuXG4uaGFzLWRhbmdlciB7XG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCRicmFuZC1kYW5nZXIpO1xuXG4gIC5mb3JtLWNvbnRyb2wtZGFuZ2VyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAkZm9ybS1pY29uLWRhbmdlcjtcbiAgfVxufVxuXG5cbi8vIElubGluZSBmb3Jtc1xuLy9cbi8vIE1ha2UgZm9ybXMgYXBwZWFyIGlubGluZSgtYmxvY2spIGJ5IGFkZGluZyB0aGUgYC5mb3JtLWlubGluZWAgY2xhc3MuIElubGluZVxuLy8gZm9ybXMgYmVnaW4gc3RhY2tlZCBvbiBleHRyYSBzbWFsbCAobW9iaWxlKSBkZXZpY2VzIGFuZCB0aGVuIGdvIGlubGluZSB3aGVuXG4vLyB2aWV3cG9ydHMgcmVhY2ggPDc2OHB4LlxuLy9cbi8vIFJlcXVpcmVzIHdyYXBwaW5nIGlucHV0cyBhbmQgbGFiZWxzIHdpdGggYC5mb3JtLWdyb3VwYCBmb3IgcHJvcGVyIGRpc3BsYXkgb2Zcbi8vIGRlZmF1bHQgSFRNTCBmb3JtIGNvbnRyb2xzIGFuZCBvdXIgY3VzdG9tIGZvcm0gY29udHJvbHMgKGUuZy4sIGlucHV0IGdyb3VwcykuXG5cbi5mb3JtLWlubGluZSB7XG5cbiAgLy8gS2ljayBpbiB0aGUgaW5saW5lXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAvLyBJbmxpbmUtYmxvY2sgYWxsIHRoZSB0aGluZ3MgZm9yIFwiaW5saW5lXCJcbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBBbGxvdyBmb2xrcyB0byAqbm90KiB1c2UgYC5mb3JtLWdyb3VwYFxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87IC8vIFByZXZlbnQgbGFiZWxzIGZyb20gc3RhY2tpbmcgYWJvdmUgaW5wdXRzIGluIGAuZm9ybS1ncm91cGBcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gTWFrZSBzdGF0aWMgY29udHJvbHMgYmVoYXZlIGxpa2UgcmVndWxhciBvbmVzXG4gICAgLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAuaW5wdXQtZ3JvdXAtYWRkb24sXG4gICAgICAuaW5wdXQtZ3JvdXAtYnRuLFxuICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElucHV0IGdyb3VwcyBuZWVkIHRoYXQgMTAwJSB3aWR0aCB0aG91Z2hcbiAgICAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5mb3JtLWNvbnRyb2wtbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIG9uIHJhZGlvcy9jaGVja2JveGVzIHRoYXQgd2VyZSB1c2VkIGZvciBzdGFja2luZywgYW5kXG4gICAgLy8gdGhlbiB1bmRvIHRoZSBmbG9hdGluZyBvZiByYWRpb3MgYW5kIGNoZWNrYm94ZXMgdG8gbWF0Y2guXG4gICAgLmZvcm0tY2hlY2sge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgICAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC8vIFJlLW92ZXJyaWRlIHRoZSBmZWVkYmFjayBpY29uLlxuICAgIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3Jtc1xuXG4vL1xuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIDApICFkZWZhdWx0OyAvLyAjZmZmICFkZWZhdWx0O1xuJGlucHV0LWJnLWRpc2FibGVkOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIDApICFkZWZhdWx0OyAvLyAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy9cbi8vJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXkgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDsgLy8gI2NjYyAhZGVmYXVsdDtcbi8vJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvcm0gY29udHJvbHMgYW5kIGJ1dHRvbnNcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7IC8vaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSkgIWRlZmF1bHQ7XG4vL1xuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgMCAhZGVmYXVsdDsgLy8gJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4vLyRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuLy8kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcbi8vXG4vLyRpbnB1dC1ib3JkZXItZm9jdXM6ICAgICAgICAgICAgICM2NmFmZTkgIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdy1mb2N1czogICAgICAgICBub25lICFkZWZhdWx0OyAvLyByZ2JhKDEwMiwxNzUsMjMzLC42KSAhZGVmYXVsdDtcbi8vXG4kaW5wdXQtY29sb3ItcGxhY2Vob2xkZXI6ICAgICAgICAkYm1kLWxhYmVsLWNvbG9yICFkZWZhdWx0OyAvLyAjOTk5ICFkZWZhdWx0O1xuXG5cblxuJGlucHV0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgMCAhZGVmYXVsdDsgLy8gLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjQzNzVyZW0gIWRlZmF1bHQ7IC8vIHNwZWMgOHB4IC8vIC4zNzVyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgIDAgIWRlZmF1bHQ7IC8vIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXktc206ICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDsgLy8gc3BlYyA0cHggLy8uMjc1cmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy14LWxnOiAgICAgICAgICAgICAwICFkZWZhdWx0OyAvLyAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy15LWxnOiAgICAgICAgICAgICAuNTYyNXJlbSAhZGVmYXVsdDsgLy8gbm8tc3BlYyA5cHggLy8gLjc1cmVtICFkZWZhdWx0O1xuXG4vLyRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICgoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UpICsgKCRpbnB1dC1wYWRkaW5nLXkgKiAyKSkgIWRlZmF1bHQ7XG4vLyRpbnB1dC1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICgoJGZvbnQtc2l6ZS1sZyAqICRsaW5lLWhlaWdodC1sZykgKyAoJGlucHV0LXBhZGRpbmcteS1sZyAqIDIpKSAhZGVmYXVsdDtcbi8vJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICAgKCgkZm9udC1zaXplLXNtICogJGxpbmUtaGVpZ2h0LXNtKSArICgkaW5wdXQtcGFkZGluZy15LXNtICogMikpICFkZWZhdWx0O1xuLy9cbi8vJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgJHNwYWNlci15ICFkZWZhdWx0O1xuLy9cbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDsgLy8kZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogIHRyYW5zcGFyZW50ICFkZWZhdWx0OyAvLyRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4vL1xuLy8kY3Vyc29yLWRpc2FibGVkOiAgICAgICAgICAgICAgICBub3QtYWxsb3dlZCAhZGVmYXVsdDtcbi8vXG4vLy8vIEZvcm0gdmFsaWRhdGlvbiBpY29uc1xuLy8kZm9ybS1pY29uLXN1Y2Nlc3M6IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQTJNVElnTnpreUlqNDhjR0YwYUNCbWFXeHNQU0lqTldOaU9EVmpJaUJrUFNKTk1qTXpMamdnTmpFd1l5MHhNeTR6SURBdE1qWXROaTB6TkMweE5pNDRURGt3TGpVZ05EUTRMamhETnpZdU15QTBNekFnT0RBZ05EQXpMak1nT1RndU9DQXpPRGxqTVRndU9DMHhOQzR5SURRMUxqVXRNVEF1TkNBMU9TNDRJRGd1Tkd3M01pQTVOVXcwTlRFdU15QXlOREpqTVRJdU5TMHlNQ0F6T0M0NExUSTJMaklnTlRndU9DMHhNeTQzSURJd0lERXlMalFnTWpZZ016Z3VOeUF4TXk0M0lEVTRMamhNTWpjd0lEVTVNR010Tnk0MElERXlMVEl3TGpJZ01Ua3VOQzB6TkM0eklESXdhQzB5ZWlJdlBqd3ZjM1puUGc9PVwiO1xuLy8kZm9ybS1pY29uLXdhcm5pbmc6IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQTJNVElnTnpreUlqNDhjR0YwYUNCbWFXeHNQU0lqWmpCaFpEUmxJaUJrUFNKTk5qQXpJRFkwTUM0eWJDMHlOemd1TlMwMU1EbGpMVE11T0MwMkxqWXRNVEF1T0MweE1DNDJMVEU0TGpVdE1UQXVObk10TVRRdU55QTBMVEU0TGpVZ01UQXVOa3c1SURZME1DNHlZeTB6TGpjZ05pNDFMVE11TmlBeE5DNDBMaklnTWpBdU9DQXpMamdnTmk0MUlERXdMamdnTVRBdU5DQXhPQzR6SURFd0xqUm9OVFUzWXpjdU5pQXdJREUwTGpZdE5DQXhPQzQwTFRFd0xqUWdNeTQxTFRZdU5DQXpMall0TVRRdU5DQXdMVEl3TGpoNmJTMHlOall1TkMwek1HZ3ROakV1TWxZMU5EbG9OakV1TW5ZMk1TNHllbTB3TFRFd04yZ3ROakV1TWxZek1EUm9OakV1TW5ZeE9UbDZJaTgrUEM5emRtYytcIjtcbi8vJGZvcm0taWNvbi1kYW5nZXI6IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQTJNVElnTnpreUlqNDhjR0YwYUNCbWFXeHNQU0lqWkRrMU16Um1JaUJrUFNKTk5EUTNJRFUwTkM0MFl5MHhOQzQwSURFMExqUXRNemN1TmlBeE5DNDBMVFV5SURCc0xUZzVMVGt5TGpjdE9Ea2dPVEl1TjJNdE1UUXVOU0F4TkM0MExUTTNMamNnTVRRdU5DMDFNaUF3TFRFMExqUXRNVFF1TkMweE5DNDBMVE0zTGpZZ01DMDFNbXc1TWk0MExUazJMak10T1RJdU5DMDVOaTR6WXkweE5DNDBMVEUwTGpRdE1UUXVOQzB6Tnk0MklEQXROVEp6TXpjdU5pMHhOQzR6SURVeUlEQnNPRGtnT1RJdU9DQTRPUzR5TFRreUxqZGpNVFF1TkMweE5DNDBJRE0zTGpZdE1UUXVOQ0ExTWlBd0lERTBMak1nTVRRdU5DQXhOQzR6SURNM0xqWWdNQ0ExTWt3ek5UUXVOaUF6T1Rac09USXVOQ0E1Tmk0MFl6RTBMalFnTVRRdU5DQXhOQzQwSURNM0xqWWdNQ0ExTW5vaUx6NDhMM04yWno0PVwiO1xuXG4iLCIvLyBGb3JtIHZhbGlkYXRpb24gc3RhdGVzXG4vL1xuLy8gVXNlZCBpbiBfZm9ybXMuc2NzcyB0byBnZW5lcmF0ZSB0aGUgZm9ybSB2YWxpZGF0aW9uIENTUyBmb3Igd2FybmluZ3MsIGVycm9ycyxcbi8vIGFuZCBzdWNjZXNzZXMuXG5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtdmFsaWRhdGlvbigkY29sb3IpIHtcbiAgLy8gQ29sb3IgdGhlIGxhYmVsIGFuZCBoZWxwIHRleHRcbiAgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbiAgLmZvcm0tY29udHJvbC1sYWJlbCxcbiAgLnJhZGlvLFxuICAuY2hlY2tib3gsXG4gIC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveC1pbmxpbmUsXG4gICYucmFkaW8gbGFiZWwsXG4gICYuY2hlY2tib3ggbGFiZWwsXG4gICYucmFkaW8taW5saW5lIGxhYmVsLFxuICAmLmNoZWNrYm94LWlubGluZSBsYWJlbCxcbiAgLmN1c3RvbS1jb250cm9sIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG4gIC8vIFNldCB0aGUgYm9yZGVyIGFuZCBib3ggc2hhZG93IG9uIHNwZWNpZmljIGlucHV0cyB0byBtYXRjaFxuICAuZm9ybS1jb250cm9sIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAvLyBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpKTsgLy8gUmVkZWNsYXJlIHNvIHRyYW5zaXRpb25zIHdvcmtcblxuICAgICY6Zm9jdXMge1xuICAgICAgLy8gYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlci1jb2xvciwgMTAlKTtcbiAgICAgIC8vICRzaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgNnB4IGxpZ2h0ZW4oJGJvcmRlci1jb2xvciwgMjAlKTtcbiAgICAgIC8vIEBpbmNsdWRlIGJveC1zaGFkb3coJHNoYWRvdyk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0IHZhbGlkYXRpb24gc3RhdGVzIGFsc28gZm9yIGFkZG9uc1xuICAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkY29sb3IsIDQwJSk7XG4gIH1cbiAgLy8gT3B0aW9uYWwgZmVlZGJhY2sgaWNvblxuICAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vIEZvcm0gY29udHJvbCBmb2N1cyBzdGF0ZVxuLy9cbi8vIEdlbmVyYXRlIGEgY3VzdG9taXplZCBmb2N1cyBzdGF0ZSBhbmQgZm9yIGFueSBpbnB1dCB3aXRoIHRoZSBzcGVjaWZpZWQgY29sb3IsXG4vLyB3aGljaCBkZWZhdWx0cyB0byB0aGUgYEBpbnB1dC1ib3JkZXItZm9jdXNgIHZhcmlhYmxlLlxuLy9cbi8vIFdlIGhpZ2hseSBlbmNvdXJhZ2UgeW91IHRvIG5vdCBjdXN0b21pemUgdGhlIGRlZmF1bHQgdmFsdWUsIGJ1dCBpbnN0ZWFkIHVzZVxuLy8gdGhpcyB0byB0d2VhayBjb2xvcnMgb24gYW4gYXMtbmVlZGVkIGJhc2lzLiBUaGlzIGFlc3RoZXRpYyBjaGFuZ2UgaXMgYmFzZWQgb25cbi8vIFdlYktpdCdzIGRlZmF1bHQgc3R5bGVzLCBidXQgYXBwbGljYWJsZSB0byBhIHdpZGVyIHJhbmdlIG9mIGJyb3dzZXJzLiBJdHNcbi8vIHVzYWJpbGl0eSBhbmQgYWNjZXNzaWJpbGl0eSBzaG91bGQgYmUgdGFrZW4gaW50byBhY2NvdW50IHdpdGggYW55IGNoYW5nZS5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlOiBjaGFuZ2UgdGhlIGRlZmF1bHQgYmx1ZSBib3JkZXIgYW5kIHNoYWRvdyB0byB3aGl0ZSBmb3IgYmV0dGVyXG4vLyBjb250cmFzdCBhZ2FpbnN0IGEgZGFyayBncmF5IGJhY2tncm91bmQuXG5AbWl4aW4gZm9ybS1jb250cm9sLWZvY3VzKCkge1xuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGlucHV0LWNvbG9yLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZy1mb2N1cztcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAkc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDhweCAkaW5wdXQtYm94LXNoYWRvdy1mb2N1cztcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRzaGFkb3cpO1xuICB9XG59XG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBSZWxhdGl2ZSB0ZXh0IHNpemUsIHBhZGRpbmcsIGFuZCBib3JkZXItcmFkaWkgY2hhbmdlcyBmb3IgZm9ybSBjb250cm9scy4gRm9yXG4vLyBob3Jpem9udGFsIHNpemluZywgd3JhcCBjb250cm9scyBpbiB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuIGA8c2VsZWN0PmBcbi8vIGVsZW1lbnQgZ2V0cyBzcGVjaWFsIGxvdmUgYmVjYXVzZSBpdCdzIHNwZWNpYWwsIGFuZCB0aGF0J3MgYSBmYWN0IVxuXG5AbWl4aW4gaW5wdXQtc2l6ZSgkcGFyZW50LCAkaW5wdXQtaGVpZ2h0LCAkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICBzZWxlY3QjeyRwYXJlbnR9IHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIH1cblxuICB0ZXh0YXJlYSN7JHBhcmVudH0sXG4gIHNlbGVjdFttdWx0aXBsZV0jeyRwYXJlbnR9IHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIFF1YWxpZnlpbmdFbGVtZW50XG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6ICRidG4tZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkYnRuLWxpbmUtaGVpZ2h0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LCAkYnRuLXBhZGRpbmcteCwgJGZvbnQtc2l6ZS1iYXNlLCAkYnRuLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuMnMgZWFzZS1pbi1vdXQpO1xuXG4gICYsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIHRhYi1mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbiAgJi5mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgICBvcGFjaXR5OiAuNjU7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG4vLyBGdXR1cmUtcHJvb2YgZGlzYWJsaW5nIG9mIGNsaWNrcyBvbiBgPGE+YCBlbGVtZW50c1xuYS5idG4uZGlzYWJsZWQsXG5maWVsZHNldFtkaXNhYmxlZF0gYS5idG4ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuXG4vL1xuLy8gQWx0ZXJuYXRlIGJ1dHRvbnNcbi8vXG5cbi5idG4tcHJpbWFyeSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4tcHJpbWFyeS1jb2xvciwgJGJ0bi1wcmltYXJ5LWJnLCAkYnRuLXByaW1hcnktYm9yZGVyKTtcbn1cbi5idG4tc2Vjb25kYXJ5IHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1zZWNvbmRhcnktY29sb3IsICRidG4tc2Vjb25kYXJ5LWJnLCAkYnRuLXNlY29uZGFyeS1ib3JkZXIpO1xufVxuLmJ0bi1pbmZvIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1pbmZvLWNvbG9yLCAkYnRuLWluZm8tYmcsICRidG4taW5mby1ib3JkZXIpO1xufVxuLmJ0bi1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1zdWNjZXNzLWNvbG9yLCAkYnRuLXN1Y2Nlc3MtYmcsICRidG4tc3VjY2Vzcy1ib3JkZXIpO1xufVxuLmJ0bi13YXJuaW5nIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi13YXJuaW5nLWNvbG9yLCAkYnRuLXdhcm5pbmctYmcsICRidG4td2FybmluZy1ib3JkZXIpO1xufVxuLmJ0bi1kYW5nZXIge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLWRhbmdlci1jb2xvciwgJGJ0bi1kYW5nZXItYmcsICRidG4tZGFuZ2VyLWJvcmRlcik7XG59XG5cbi8vIFJlbW92ZSBhbGwgYmFja2dyb3VuZHNcbi5idG4tb3V0bGluZS1wcmltYXJ5IHtcbiAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkYnRuLXByaW1hcnktYmcpO1xufVxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGJ0bi1zZWNvbmRhcnktYm9yZGVyKTtcbn1cbi5idG4tb3V0bGluZS1pbmZvIHtcbiAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkYnRuLWluZm8tYmcpO1xufVxuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3Mge1xuICBAaW5jbHVkZSBidXR0b24tb3V0bGluZS12YXJpYW50KCRidG4tc3VjY2Vzcy1iZyk7XG59XG4uYnRuLW91dGxpbmUtd2FybmluZyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGJ0bi13YXJuaW5nLWJnKTtcbn1cbi5idG4tb3V0bGluZS1kYW5nZXIge1xuICBAaW5jbHVkZSBidXR0b24tb3V0bGluZS12YXJpYW50KCRidG4tZGFuZ2VyLWJnKTtcbn1cblxuXG4vL1xuLy8gTGluayBidXR0b25zXG4vL1xuXG4vLyBNYWtlIGEgYnV0dG9uIGxvb2sgYW5kIGJlaGF2ZSBsaWtlIGEgbGlua1xuLmJ0bi1saW5rIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICYsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxuICAmLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAmOmRpc2FibGVkIHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBCdXR0b24gU2l6ZXNcbi8vXG5cbi5idG4tbGcge1xuICAvLyBsaW5lLWhlaWdodDogZW5zdXJlIGV2ZW4tbnVtYmVyZWQgaGVpZ2h0IG9mIGJ1dHRvbiBuZXh0IHRvIGxhcmdlIGlucHV0XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LWxnLCAkYnRuLXBhZGRpbmcteC1sZywgJGZvbnQtc2l6ZS1sZywgJGJ0bi1ib3JkZXItcmFkaXVzLWxnKTtcbn1cbi5idG4tc20ge1xuICAvLyBsaW5lLWhlaWdodDogZW5zdXJlIHByb3BlciBoZWlnaHQgb2YgYnV0dG9uIG5leHQgdG8gc21hbGwgaW5wdXRcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktc20sICRidG4tcGFkZGluZy14LXNtLCAkZm9udC1zaXplLXNtLCAkYnRuLWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG5cbi8vXG4vLyBCbG9jayBidXR0b25cbi8vXG5cbi5idG4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8vIFZlcnRpY2FsbHkgc3BhY2Ugb3V0IG11bHRpcGxlIGJsb2NrIGJ1dHRvbnNcbi5idG4tYmxvY2sgKyAuYnRuLWJsb2NrIHtcbiAgbWFyZ2luLXRvcDogJGJ0bi1ibG9jay1zcGFjaW5nLXk7XG59XG5cbi8vIFNwZWNpZmljaXR5IG92ZXJyaWRlc1xuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAmLmJ0bi1ibG9jayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbnM6XG4kYm1kLWJ0bi1mb250LXNpemU6IC44NzVyZW0gIWRlZmF1bHQ7IC8vIDE0cHhcbiRibWQtYnRuLWZvbnQtc2l6ZS1sZzogMS4yNXJlbSAhZGVmYXVsdDtcbiRibWQtYnRuLWZvbnQtc2l6ZS1zbTogLjgxMjVyZW0gIWRlZmF1bHQ7IC8vIDEzcHhcbiRibWQtYnRuLW1hcmdpbi1ib3R0b206IC4zMTI1cmVtICFkZWZhdWx0OyAvLyA1cHhcblxuLy8gZGVmYXVsdCBidG4gd2l0aCBubyBzcGVjaWZpYyB0eXBlIGRlc2lnbmF0aW9uXG4kYm1kLWJ0bi1jb2xvcjogICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJGJtZC1idG4tYmc6ICAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDsgLy8kYm9keS1iZyAhZGVmYXVsdDsgLy8gI2ZmZlxuJGJtZC1idG4tYm9yZGVyOiAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcblxuJGJtZC1idG4tZm9jdXMtYmc6IHJnYmEoIzk5OSwgLjIwKSAhZGVmYXVsdDsgLy8gc3BlYzogYmcgSG92ZXI6IDIwJSAjOTk5OTk5XG4kYm1kLWJ0bi1hY3RpdmUtYmc6IHJnYmEoIzk5OSwgLjQwKSAhZGVmYXVsdDsgLy8gc3BlYzogYmcgUHJlc3NlZDogNDAlICM5OTk5OTlcbiRibWQtYnRuLWRpc2FibGVkOiByZ2JhKCRibGFjaywgLjI2KSAhZGVmYXVsdDsgLy8gc3BlYzogbGlnaHQgdGhlbWU6IERpc2FibGVkIHRleHQ6IDI2JSAkYmxhY2tcblxuJGJtZC1pbnZlcnNlLWJ0bi1mb2N1cy1iZzogcmdiYSgjY2NjLCAuMTUpICFkZWZhdWx0OyAvLyBzcGVjOiBkYXJrIGJnIEhvdmVyOiAxNSUgI0NDQ0NDQ1xuJGJtZC1pbnZlcnNlLWJ0bi1hY3RpdmUtYmc6IHJnYmEoI2NjYywgLjI1KSAhZGVmYXVsdDsgLy8gc3BlYzogZGFyayBQcmVzc2VkOiAyNSUgI0NDQ0NDQ1xuJGJtZC1pbnZlcnNlLWJ0bi1kaXNhYmxlZDogcmdiYSgkd2hpdGUsIC4zMCkgIWRlZmF1bHQ7IC8vIHNwZWM6IGRhcmsgdGhlbWU6IERpc2FibGVkIHRleHQ6IDMwJSAkd2hpdGVcblxuJGJtZC1idG4tZmFiLXNpemU6IDMuNXJlbSAhZGVmYXVsdDsgLy8gNTZweFxuJGJtZC1idG4tZmFiLXNpemUtc206IDIuNXJlbSAhZGVmYXVsdDsgLy8gNDBweFxuJGJtZC1idG4tZmFiLWZvbnQtc2l6ZTogMS41cmVtICFkZWZhdWx0OyAvLyAyNHB4XG5cbi8vIGljb25zXG4kYm1kLWJ0bi1pY29uLXNpemU6IDJyZW0gIWRlZmF1bHQ7IC8vIDMycHhcbiRibWQtYnRuLWljb24tc2l6ZS1zbTogKC43NSAqICRibWQtYnRuLWljb24tc2l6ZSkgIWRlZmF1bHQ7IC8vIH4yNHB4XG4kYm1kLWJ0bi1pY29uLWZvbnQtc2l6ZS1zbTogKC43NSAqICRibWQtYnRuLWZhYi1mb250LXNpemUpICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnNcbi8vXG4vLyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCBhbmQgYm9yZGVyIGNvbG9yLlxuJGJ0bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDsgLy8gMXJlbVxuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgLjQ2ODc1cmVtICFkZWZhdWx0OyAvLyAuNXJlbSBhY2hpZXZlIGEgMzZkcCBoZWlnaHRcbi8vJGJ0bi1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgMSAhZGVmYXVsdDsgLy8xLjI1XG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICA1MDAgIWRlZmF1bHQ7IC8vIG5vcm1hbFxuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJveC1zaGFkb3c6ICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7IC8vIGluc2V0IDAgM3B4IDVweCByZ2JhKDAsMCwwLC4xMjUpXG5cbi8vXG4vLyRidG4tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyRidG4tcHJpbWFyeS1iZzogICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuLy8kYnRuLXByaW1hcnktYm9yZGVyOiAgICAgICAgICAgICAkYnRuLXByaW1hcnktYmcgIWRlZmF1bHQ7XG4vL1xuJGJ0bi1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRidG4tc2Vjb25kYXJ5LWJnOiAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0OyAvLyAjZmZmXG4vLyRidG4tc2Vjb25kYXJ5LWJvcmRlcjogICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XG4vL1xuLy8kYnRuLWluZm8tY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8kYnRuLWluZm8tYmc6ICAgICAgICAgICAgICAgICAgICAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcbi8vJGJ0bi1pbmZvLWJvcmRlcjogICAgICAgICAgICAgICAgJGJ0bi1pbmZvLWJnICFkZWZhdWx0O1xuLy9cbi8vJGJ0bi1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vJGJ0bi1zdWNjZXNzLWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4vLyRidG4tc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICAgICRidG4tc3VjY2Vzcy1iZyAhZGVmYXVsdDtcbi8vXG4vLyRidG4td2FybmluZy1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyRidG4td2FybmluZy1iZzogICAgICAgICAgICAgICAgICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xuLy8kYnRuLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgICAkYnRuLXdhcm5pbmctYmcgIWRlZmF1bHQ7XG4vL1xuLy8kYnRuLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8kYnRuLWRhbmdlci1iZzogICAgICAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuLy8kYnRuLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgICAkYnRuLWRhbmdlci1iZyAhZGVmYXVsdDtcbi8vXG4vLyRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy9cbi8vJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAuNDA2MjVyZW0gIWRlZmF1bHQ7IC8vIGFjaGlldmUgYSAzMmRwIGhlaWdodCB3YXMgLjI1cmVtXG4vL1xuLy8kYnRuLXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4vLyRidG4tcGFkZGluZy15LWxnOiAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbi8vXG4vLy8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbi8vJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4vLyRidG4tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuLy8kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuIiwiLy8gQnV0dG9uIHZhcmlhbnRzXG4vL1xuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5cbkBtaXhpbiBidXR0b24tdmFyaWFudCgkY29sb3IsICRiYWNrZ3JvdW5kLCAkYm9yZGVyKSB7XG4gICRhY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpO1xuICAkYWN0aXZlLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEyJSk7XG5cbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3cpO1xuXG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICB9XG5cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAub3BlbiA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcbiAgICAvLyBSZW1vdmUgdGhlIGdyYWRpZW50IGZvciB0aGUgcHJlc3NlZC9hY3RpdmUgc3RhdGVcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxNyUpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXIsIDI1JSk7XG4gICAgfVxuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG4gICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTclKTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkY29sb3IsIDI1JSk7XG4gICAgfVxuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogbGlnaHRlbigkY29sb3IsIDIwJSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogbGlnaHRlbigkY29sb3IsIDIwJSk7XG4gICAgfVxuICB9XG59XG5cbi8vIEJ1dHRvbiBzaXplc1xuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRib3JkZXItcmFkaXVzKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbn1cbiIsIi5mYWRlIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGxpbmVhcjtcblxuICAmLmluIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5jb2xsYXBzZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgJi5pbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLy8gdHImLmluICAgIHsgZGlzcGxheTogdGFibGUtcm93OyB9XG4gIC8vIHRib2R5Ji5pbiB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfVxufVxuXG4uY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjM1cztcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0O1xufVxuIiwiLy8gVGhlIGRyb3Bkb3duIHdyYXBwZXIgKGA8ZGl2PmApXG4uZHJvcHVwLFxuLmRyb3Bkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgLy8gR2VuZXJhdGUgdGhlIGNhcmV0IGF1dG9tYXRpY2FsbHlcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJldC13aWR0aDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICAgIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRoZSBmb2N1cyBvbiB0aGUgZHJvcGRvd24gdG9nZ2xlIHdoZW4gY2xvc2luZyBkcm9wZG93bnNcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4uZHJvcHVwIHtcbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gVGhlIGRyb3Bkb3duIG1lbnVcbi5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZHJvcGRvd247XG4gIGRpc3BsYXk6IG5vbmU7IC8vIG5vbmUgYnkgZGVmYXVsdCwgYnV0IGJsb2NrIG9uIFwib3BlblwiIG9mIHRoZSBtZW51XG4gIGZsb2F0OiBsZWZ0O1xuICBtaW4td2lkdGg6ICRkcm9wZG93bi1taW4td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nLXkgMDtcbiAgbWFyZ2luOiAkZHJvcGRvd24tbWFyZ2luLXRvcCAwIDA7IC8vIG92ZXJyaWRlIGRlZmF1bHQgdWxcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRW5zdXJlcyBwcm9wZXIgYWxpZ25tZW50IGlmIHBhcmVudCBoYXMgaXQgY2hhbmdlZCAoZS5nLiwgbW9kYWwgZm9vdGVyKVxuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlci13aWR0aCBzb2xpZCAkZHJvcGRvd24tYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkZHJvcGRvd24tYm94LXNoYWRvdyk7XG59XG5cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gYDxocj5gKSB3aXRoaW4gdGhlIGRyb3Bkb3duXG4uZHJvcGRvd24tZGl2aWRlciB7XG4gIEBpbmNsdWRlIG5hdi1kaXZpZGVyKCRkcm9wZG93bi1kaXZpZGVyLWJnKTtcbn1cblxuLy8gTGlua3MsIGJ1dHRvbnMsIGFuZCBtb3JlIHdpdGhpbiB0aGUgZHJvcGRvd24gbWVudVxuLy9cbi8vIGA8YnV0dG9uPmAtc3BlY2lmaWMgc3R5bGVzIGFyZSBkZW5vdGVkIHdpdGggYC8vIEZvciA8YnV0dG9uPnNgXG4uZHJvcGRvd24taXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHBhZGRpbmc6IDNweCAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3I7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBwcmV2ZW50IGxpbmtzIGZyb20gcmFuZG9tbHkgYnJlYWtpbmcgb250byBuZXcgbGluZXNcbiAgYmFja2dyb3VuZDogbm9uZTsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIGJvcmRlcjogMDsgLy8gRm9yIGA8YnV0dG9uPmBzXG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWxpbmstaG92ZXItYmc7XG4gIH1cblxuICAvLyBBY3RpdmUgc3RhdGVcbiAgJi5hY3RpdmUge1xuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tbGluay1hY3RpdmUtYmc7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gIC8vXG4gIC8vIEdyYXkgb3V0IHRleHQgYW5kIGVuc3VyZSB0aGUgaG92ZXIvZm9jdXMgc3RhdGUgcmVtYWlucyBncmF5XG4gICYuZGlzYWJsZWQge1xuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBOdWtlIGhvdmVyL2ZvY3VzIGVmZmVjdHNcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRcbiAgICAgIEBpbmNsdWRlIHJlc2V0LWZpbHRlcigpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBPcGVuIHN0YXRlIGZvciB0aGUgZHJvcGRvd25cbi5vcGVuIHtcbiAgLy8gU2hvdyB0aGUgbWVudVxuICA+IC5kcm9wZG93bi1tZW51IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgb3V0bGluZSB3aGVuIDpmb2N1cyBpcyB0cmlnZ2VyZWRcbiAgPiBhIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vIE1lbnUgcG9zaXRpb25pbmdcbi8vXG4vLyBBZGQgZXh0cmEgY2xhc3MgdG8gYC5kcm9wZG93bi1tZW51YCB0byBmbGlwIHRoZSBhbGlnbm1lbnQgb2YgdGhlIGRyb3Bkb3duXG4vLyBtZW51IHdpdGggdGhlIHBhcmVudC5cbi5kcm9wZG93bi1tZW51LXJpZ2h0IHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IC8vIFJlc2V0IHRoZSBkZWZhdWx0IGZyb20gYC5kcm9wZG93bi1tZW51YFxufVxuXG4uZHJvcGRvd24tbWVudS1sZWZ0IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7XG59XG5cbi8vIERyb3Bkb3duIHNlY3Rpb24gaGVhZGVyc1xuLmRyb3Bkb3duLWhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICBjb2xvcjogJGRyb3Bkb3duLWhlYWRlci1jb2xvcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gYXMgd2l0aCA+IGxpID4gYVxufVxuXG4vLyBCYWNrZHJvcCB0byBjYXRjaCBib2R5IGNsaWNrcyBvbiBtb2JpbGUsIGV0Yy5cbi5kcm9wZG93bi1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWRyb3Bkb3duLWJhY2tkcm9wO1xufVxuXG4vLyBBbGxvdyBmb3IgZHJvcGRvd25zIHRvIGdvIGJvdHRvbSB1cCAoYWthLCBkcm9wdXAtbWVudSlcbi8vXG4vLyBKdXN0IGFkZCAuZHJvcHVwIGFmdGVyIHRoZSBzdGFuZGFyZCAuZHJvcGRvd24gY2xhc3MgYW5kIHlvdSdyZSBzZXQuXG4vLyBUT0RPOiBhYnN0cmFjdCB0aGlzIHNvIHRoYXQgdGhlIG5hdmJhciBmaXhlZCBzdHlsZXMgYXJlIG5vdCBwbGFjZWQgaGVyZT9cblxuLmRyb3B1cCxcbi5uYXZiYXItZml4ZWQtYm90dG9tIC5kcm9wZG93biB7XG4gIC8vIFJldmVyc2UgdGhlIGNhcmV0XG4gIC5jYXJldCB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgfVxuXG4gIC8vIERpZmZlcmVudCBwb3NpdGlvbmluZyBmb3IgYm90dG9tIHVwIG1lbnVcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRyb3Bkb3duLW1hcmdpbi10b3A7XG4gIH1cbn1cbiIsIi8vIEhvcml6b250YWwgZGl2aWRlcnNcbi8vXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGhyKSB3aXRoaW4gZHJvcGRvd25zIGFuZCBuYXYgbGlzdHNcblxuQG1peGluIG5hdi1kaXZpZGVyKCRjb2xvcjogI2U1ZTVlNSkge1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAoJHNwYWNlci15IC8gMikgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xufVxuIiwiLy8gUmVzZXQgZmlsdGVycyBmb3IgSUVcbi8vXG4vLyBXaGVuIHlvdSBuZWVkIHRvIHJlbW92ZSBhIGdyYWRpZW50IGJhY2tncm91bmQsIGRvIG5vdCBmb3JnZXQgdG8gdXNlIHRoaXMgdG8gcmVzZXRcbi8vIHRoZSBJRSBmaWx0ZXIgZm9yIElFOS5cblxuQG1peGluIHJlc2V0LWZpbHRlcigpIHtcbiAgZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkID0gZmFsc2UpXCI7XG59XG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nRWxlbWVudFxuXG4vLyBNYWtlIHRoZSBkaXYgYmVoYXZlIGxpa2UgYSBidXR0b25cbi5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIG1hdGNoIC5idG4gYWxpZ25tZW50IGdpdmVuIGZvbnQtc2l6ZSBoYWNrIGFib3ZlXG5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAvLyBCcmluZyB0aGUgXCJhY3RpdmVcIiBidXR0b24gdG8gdGhlIGZyb250XG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzIHdoZW4gYnV0dG9ucyBhcmUgbmV4dCB0byBlYWNoIG90aGVyXG4uYnRuLWdyb3VwIHtcbiAgLmJ0biArIC5idG4sXG4gIC5idG4gKyAuYnRuLWdyb3VwLFxuICAuYnRuLWdyb3VwICsgLmJ0bixcbiAgLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg7XG4gIH1cbn1cblxuLy8gT3B0aW9uYWw6IEdyb3VwIG11bHRpcGxlIGJ1dHRvbiBncm91cHMgdG9nZXRoZXIgZm9yIGEgdG9vbGJhclxuLmJ0bi10b29sYmFyIHtcbiAgbWFyZ2luLWxlZnQ6IC0kYnRuLXRvb2xiYXItbWFyZ2luOyAvLyBPZmZzZXQgdGhlIGZpcnN0IGNoaWxkJ3MgbWFyZ2luXG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgLmJ0bi1ncm91cCxcbiAgLmlucHV0LWdyb3VwIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuXG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwLFxuICA+IC5pbnB1dC1ncm91cCB7XG4gICAgbWFyZ2luLWxlZnQ6ICRidG4tdG9vbGJhci1tYXJnaW47XG4gIH1cbn1cblxuLmJ0bi1ncm91cCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSkge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vLyBTZXQgY29ybmVycyBpbmRpdmlkdWFsIGJlY2F1c2Ugc29tZXRpbWVzIGEgc2luZ2xlIGJ1dHRvbiBjYW4gYmUgaW4gYSAuYnRuLWdyb3VwIGFuZCB3ZSBuZWVkIDpmaXJzdC1jaGlsZCBhbmQgOmxhc3QtY2hpbGQgdG8gYm90aCBtYXRjaFxuLmJ0bi1ncm91cCA+IC5idG46Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogMDtcblxuICAmOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICB9XG59XG4vLyBOZWVkIC5kcm9wZG93bi10b2dnbGUgc2luY2UgOmxhc3QtY2hpbGQgZG9lc24ndCBhcHBseSBnaXZlbiBhIC5kcm9wZG93bi1tZW51IGltbWVkaWF0ZWx5IGFmdGVyIGl0XG4uYnRuLWdyb3VwID4gLmJ0bjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmJ0bi1ncm91cCA+IC5kcm9wZG93bi10b2dnbGU6bm90KDpmaXJzdC1jaGlsZCkge1xuICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG59XG5cbi8vIEN1c3RvbSBlZGl0cyBmb3IgaW5jbHVkaW5nIGJ0bi1ncm91cHMgd2l0aGluIGJ0bi1ncm91cHMgKHVzZWZ1bCBmb3IgaW5jbHVkaW5nIGRyb3Bkb3duIGJ1dHRvbnMgd2l0aGluIGEgYnRuLWdyb3VwKVxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXAge1xuICBmbG9hdDogbGVmdDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICA+IC5idG46bGFzdC1jaGlsZCxcbiAgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICB9XG59XG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cblxuLy8gT24gYWN0aXZlIGFuZCBvcGVuLCBkb24ndCBzaG93IG91dGxpbmVcbi5idG4tZ3JvdXAgLmRyb3Bkb3duLXRvZ2dsZTphY3RpdmUsXG4uYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIG91dGxpbmU6IDA7XG59XG5cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgYnV0dG9uIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llciBtYW5pcHVsYXRpb24uXG5cbi5idG4tZ3JvdXAtc20gPiAuYnRuIHsgQGV4dGVuZCAuYnRuLXNtOyB9XG4uYnRuLWdyb3VwLWxnID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1sZzsgfVxuXG5cbi8vXG4vLyBTcGxpdCBidXR0b24gZHJvcGRvd25zXG4vL1xuXG4uYnRuICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14ICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14ICogLjc1O1xuXG4gICY6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4uYnRuLXNtICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xufVxuXG4uYnRuLWxnICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14LWxnICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LWxnICogLjc1O1xufVxuXG5cbi8vIFRoZSBjbGlja2FibGUgYnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbWVudVxuLy8gUmVtb3ZlIHRoZSBncmFkaWVudCBhbmQgc2V0IHRoZSBzYW1lIGluc2V0IHNoYWRvdyBhcyB0aGUgOmFjdGl2ZSBzdGF0ZVxuLmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGUge1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuXG4gIC8vIFNob3cgbm8gc2hhZG93IGZvciBgLmJ0bi1saW5rYCBzaW5jZSBpdCBoYXMgbm8gb3RoZXIgYnV0dG9uIHN0eWxlcy5cbiAgJi5idG4tbGluayB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG5cbi8vIFJlcG9zaXRpb24gdGhlIGNhcmV0XG4uYnRuIC5jYXJldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLy8gQ2FyZXRzIGluIG90aGVyIGJ1dHRvbiBzaXplc1xuLmJ0bi1sZyAuY2FyZXQge1xuICBib3JkZXItd2lkdGg6ICRjYXJldC13aWR0aC1sZyAkY2FyZXQtd2lkdGgtbGcgMDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbn1cbi8vIFVwc2lkZSBkb3duIGNhcmV0cyBmb3IgLmRyb3B1cFxuLmRyb3B1cCAuYnRuLWxnIC5jYXJldCB7XG4gIGJvcmRlci13aWR0aDogMCAkY2FyZXQtd2lkdGgtbGcgJGNhcmV0LXdpZHRoLWxnO1xufVxuXG5cblxuLy9cbi8vIFZlcnRpY2FsIGJ1dHRvbiBncm91cHNcbi8vXG5cbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCxcbiAgPiAuYnRuLWdyb3VwID4gLmJ0biB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gQ2xlYXIgZmxvYXRzIHNvIGRyb3Bkb3duIG1lbnVzIGNhbiBiZSBwcm9wZXJseSBwbGFjZWRcbiAgPiAuYnRuLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXG4gICAgPiAuYnRuIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cbiAgfVxuXG4gID4gLmJ0biArIC5idG4sXG4gID4gLmJ0biArIC5idG4tZ3JvdXAsXG4gID4gLmJ0bi1ncm91cCArIC5idG4sXG4gID4gLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbi10b3A6IC0kaW5wdXQtYnRuLWJvcmRlci13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0biB7XG4gICY6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuICAmOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICB9XG4gICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICA+IC5idG46bGFzdC1jaGlsZCxcbiAgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG46Zmlyc3QtY2hpbGQge1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbn1cblxuXG4vLyBDaGVja2JveCBhbmQgcmFkaW8gb3B0aW9uc1xuLy9cbi8vIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIGJyb3dzZXIncyBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2ssIHBvd2VyZWQgYnkgdGhlXG4vLyBgcmVxdWlyZWRgIGF0dHJpYnV0ZSwgd2UgaGF2ZSB0byBcImhpZGVcIiB0aGUgaW5wdXRzIHZpYSBgY2xpcGAuIFdlIGNhbm5vdCB1c2Vcbi8vIGBkaXNwbGF5OiBub25lO2Agb3IgYHZpc2liaWxpdHk6IGhpZGRlbjtgIGFzIHRoYXQgYWxzbyBoaWRlcyB0aGUgcG9wb3Zlci5cbi8vIFNpbXBseSB2aXN1YWxseSBoaWRpbmcgdGhlIGlucHV0cyB2aWEgYG9wYWNpdHlgIHdvdWxkIGxlYXZlIHRoZW0gY2xpY2thYmxlIGluXG4vLyBjZXJ0YWluIGNhc2VzIHdoaWNoIGlzIHByZXZlbnRlZCBieSB1c2luZyBgY2xpcGAgYW5kIGBwb2ludGVyLWV2ZW50c2AuXG4vLyBUaGlzIHdheSwgd2UgZW5zdXJlIGEgRE9NIGVsZW1lbnQgaXMgdmlzaWJsZSB0byBwb3NpdGlvbiB0aGUgcG9wb3ZlciBmcm9tLlxuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMjc5NCBhbmRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE0NTU5IGZvciBtb3JlIGluZm9ybWF0aW9uLlxuXG5bZGF0YS10b2dnbGU9XCJidXR0b25zXCJdIHtcbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAgPiAuYnRuIHtcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmlucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcblxuICBAaWYgJGVuYWJsZS1mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9IEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAvLyBQcmV2ZW50IGlucHV0IGdyb3VwcyBmcm9tIGluaGVyaXRpbmcgYm9yZGVyIHN0eWxlcyBmcm9tIHRhYmxlIGNlbGxzIHdoZW5cbiAgICAvLyBwbGFjZWQgd2l0aGluIGEgdGFibGUuXG4gICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBpbnB1dCBpcyBhbHdheXMgYWJvdmUgdGhlICphcHBlbmRlZCogYWRkb24gYnV0dG9uIGZvclxuICAgIC8vIHByb3BlciBib3JkZXIgY29sb3JzLlxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIC8vIEJyaW5nIHRoZSBcImFjdGl2ZVwiIGZvcm0gY29udHJvbCB0byB0aGUgZnJvbnRcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cy1hY3RpdmUge1xuICAgICAgei1pbmRleDogMztcbiAgICB9XG4gICAgQGlmICRlbmFibGUtZmxleCB7XG4gICAgICBmbGV4OiAxO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gSUU5IGZ1YmFycyB0aGUgcGxhY2Vob2xkZXIgYXR0cmlidXRlIGluIHRleHQgaW5wdXRzIGFuZCB0aGUgYXJyb3dzIG9uXG4gICAgICAvLyBzZWxlY3QgZWxlbWVudHMgaW4gaW5wdXQgZ3JvdXBzLiBUbyBmaXggaXQsIHdlIGZsb2F0IHRoZSBpbnB1dC4gRGV0YWlsczpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1NjEjaXNzdWVjb21tZW50LTI4OTM2ODU1XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1idG4sXG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbCB7XG4gIEBpZiBub3QgJGVuYWJsZS1mbGV4IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB9XG5cbiAgJjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICB9XG59XG5cbi5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1idG4ge1xuICBAaWYgbm90ICRlbmFibGUtZmxleCB7XG4gICAgd2lkdGg6IDElO1xuICB9XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIE1hdGNoIHRoZSBpbnB1dHNcbn1cblxuXG4vLyBTaXppbmcgb3B0aW9uc1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGZvcm0gY29udHJvbCBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXJcbi8vIG1hbmlwdWxhdGlvbi5cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1idG4gPiAuYnRuIHtcbiAgQGV4dGVuZCAuZm9ybS1jb250cm9sLWxnO1xufVxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1idG4gPiAuYnRuIHtcbiAgQGV4dGVuZCAuZm9ybS1jb250cm9sLXNtO1xufVxuXG5cbi8vXG4vLyBUZXh0IGlucHV0IGdyb3Vwc1xuLy9cblxuLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBBbGxvdyB1c2Ugb2YgPGxhYmVsPiBlbGVtZW50cyBieSBvdmVycmlkaW5nIG91ciBkZWZhdWx0IG1hcmdpbi1ib3R0b21cbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWJnO1xuICBib3JkZXI6ICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIFNpemluZ1xuICAmLmZvcm0tY29udHJvbC1zbSB7XG4gICAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcbiAgfVxuICAmLmZvcm0tY29udHJvbC1sZyB7XG4gICAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbiAgfVxuXG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFF1YWxpZnlpbmdFbGVtZW50XG4gIC8vIE51a2UgZGVmYXVsdCBtYXJnaW5zIGZyb20gY2hlY2tib3hlcyBhbmQgcmFkaW9zIHRvIHZlcnRpY2FsbHkgY2VudGVyIHdpdGhpbi5cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgLy8gc2Nzcy1saW50OmVuYWJsZSBRdWFsaWZ5aW5nRWxlbWVudFxufVxuXG5cbi8vXG4vLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbi8vXG5cbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOm5vdCg6bGFzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAtYWRkb246bm90KDpsYXN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cC1idG46bm90KDpsYXN0LWNoaWxkKSA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuLWdyb3VwID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bm90KDpsYXN0LWNoaWxkKSA+IC5kcm9wZG93bi10b2dnbGUsXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5pbnB1dC1ncm91cC1idG46bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbn1cbi5pbnB1dC1ncm91cC1hZGRvbjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xufVxuLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAtYWRkb246bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLWdyb3VwID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bm90KDpmaXJzdC1jaGlsZCkgPiAuZHJvcGRvd24tdG9nZ2xlLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cC1idG46bm90KDpsYXN0LWNoaWxkKSA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuLmZvcm0tY29udHJvbCArIC5pbnB1dC1ncm91cC1hZGRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG4vL1xuLy8gQnV0dG9uIGlucHV0IGdyb3Vwc1xuLy9cblxuLmlucHV0LWdyb3VwLWJ0biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gSmFua2lseSBwcmV2ZW50IGlucHV0IGJ1dHRvbiBncm91cHMgZnJvbSB3cmFwcGluZyB3aXRoIGB3aGl0ZS1zcGFjZWAgYW5kXG4gIC8vIGBmb250LXNpemVgIGluIGNvbWJpbmF0aW9uIHdpdGggYGlubGluZS1ibG9ja2Agb24gYnV0dG9ucy5cbiAgZm9udC1zaXplOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3Igc3BhY2luZywgcG9zaXRpb24gZm9yIGJyaW5naW5nIGhvdmVyZWQvZm9jdXNlZC9hY3RpdmVkXG4gIC8vIGVsZW1lbnQgYWJvdmUgdGhlIHNpYmxpbmdzLlxuICA+IC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICArIC5idG4ge1xuICAgICAgbWFyZ2luLWxlZnQ6ICgtJGlucHV0LWJ0bi1ib3JkZXItd2lkdGgpO1xuICAgIH1cbiAgICAvLyBCcmluZyB0aGUgXCJhY3RpdmVcIiBidXR0b24gdG8gdGhlIGZyb250XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMtYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuICB9XG5cbiAgLy8gTmVnYXRpdmUgbWFyZ2luIHRvIG9ubHkgaGF2ZSBhIHNpbmdsZSwgc2hhcmVkIGJvcmRlciBiZXR3ZWVuIHRoZSB0d29cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICA+IC5idG4sXG4gICAgPiAuYnRuLWdyb3VwIHtcbiAgICAgIG1hcmdpbi1yaWdodDogKC0kaW5wdXQtYnRuLWJvcmRlci13aWR0aCk7XG4gICAgfVxuICB9XG4gICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgID4gLmJ0bixcbiAgICA+IC5idG4tZ3JvdXAge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAoLSRpbnB1dC1idG4tYm9yZGVyLXdpZHRoKTtcbiAgICAgIC8vIEJlY2F1c2Ugc3BlY2lmaWNpdHlcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzLWFjdGl2ZSB7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBQcm9wZXJ0eUNvdW50XG5cbi8vIEVtYmVkZGVkIGljb25zIGZyb20gT3BlbiBJY29uaWMuXG4vLyBSZWxlYXNlZCB1bmRlciBNSVQgYW5kIGNvcHlyaWdodCAyMDE0IFdheWJ1cnkuXG4vLyBodHRwOi8vdXNlaWNvbmljLmNvbS9vcGVuXG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gQmFzZSBjbGFzcyB0YWtlcyBjYXJlIG9mIGFsbCB0aGUga2V5IGJlaGF2aW9yYWwgYXNwZWN0cy5cblxuLmN1c3RvbS1jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1jb250cm9sLWd1dHRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICsgLmN1c3RvbS1jb250cm9sIHtcbiAgICBtYXJnaW4tbGVmdDogJGN1c3RvbS1jb250cm9sLXNwYWNlci14O1xuICB9XG59XG5cbi5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogLTE7IC8vIFB1dCB0aGUgaW5wdXQgYmVoaW5kIHRoZSBsYWJlbCBzbyBpdCBkb2Vzbid0IG92ZXJsYXkgdGV4dFxuICBvcGFjaXR5OiAwO1xuXG4gICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1pbmRpY2F0b3Ige1xuICAgIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtY2hlY2tlZC1pbmRpY2F0b3ItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWNoZWNrZWQtaW5kaWNhdG9yLWJnO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWNoZWNrZWQtaW5kaWNhdG9yLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1pbmRpY2F0b3Ige1xuICAgIC8vIHRoZSBtaXhpbiBpcyBub3QgdXNlZCBoZXJlIHRvIG1ha2Ugc3VyZSB0aGVyZSBpcyBmZWVkYmFja1xuICAgIGJveC1zaGFkb3c6ICRjdXN0b20tY29udHJvbC1mb2N1cy1pbmRpY2F0b3ItYm94LXNoYWRvdztcbiAgfVxuXG4gICY6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1hY3RpdmUtaW5kaWNhdG9yLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1hY3RpdmUtaW5kaWNhdG9yLWJnO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWFjdGl2ZS1pbmRpY2F0b3ItYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICB+IC5jdXN0b20tY29udHJvbC1pbmRpY2F0b3Ige1xuICAgICAgY3Vyc29yOiAkY3VzdG9tLWNvbnRyb2wtZGlzYWJsZWQtY3Vyc29yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWRpc2FibGVkLWluZGljYXRvci1iZztcbiAgICB9XG5cbiAgICB+IC5jdXN0b20tY29udHJvbC1kZXNjcmlwdGlvbiB7XG4gICAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWRpc2FibGVkLWRlc2NyaXB0aW9uLWNvbG9yO1xuICAgICAgY3Vyc29yOiAkY3VzdG9tLWNvbnRyb2wtZGlzYWJsZWQtY3Vyc29yO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDdXN0b20gaW5kaWNhdG9yXG4vL1xuLy8gR2VuZXJhdGVzIGEgc2hhZG93IGVsZW1lbnQgdG8gY3JlYXRlIG91ciBtYWtlc2hpZnQgY2hlY2tib3gvcmFkaW8gYmFja2dyb3VuZC5cblxuLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAuMDYyNXJlbTtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gIGhlaWdodDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdyk7XG59XG5cbi8vIENoZWNrYm94ZXNcbi8vXG4vLyBUd2VhayBqdXN0IGEgZmV3IHRoaW5ncyBmb3IgY2hlY2tib3hlcy5cblxuLmN1c3RvbS1jaGVja2JveCB7XG4gIC5jdXN0b20tY29udHJvbC1pbmRpY2F0b3Ige1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1jaGVja2JveC1yYWRpdXMpO1xuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAkY3VzdG9tLWNoZWNrYm94LWNoZWNrZWQtaWNvbjtcbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jaGVja2JveC1pbmRldGVybWluYXRlLWJnO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1pY29uO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jaGVja2JveC1pbmRldGVybWluYXRlLWJveC1zaGFkb3cpO1xuICB9XG59XG5cbi8vIFJhZGlvc1xuLy9cbi8vIFR3ZWFrIGp1c3QgYSBmZXcgdGhpbmdzIGZvciByYWRpb3MuXG5cbi5jdXN0b20tcmFkaW8ge1xuICAuY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yIHtcbiAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXJhZGlvLXJhZGl1cztcbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogJGN1c3RvbS1yYWRpby1jaGVja2VkLWljb247XG4gIH1cbn1cblxuXG4vLyBMYXlvdXQgb3B0aW9uc1xuLy9cbi8vIEJ5IGRlZmF1bHQgcmFkaW9zIGFuZCBjaGVja2JveGVzIGFyZSBgaW5saW5lLWJsb2NrYCB3aXRoIG5vIGFkZGl0aW9uYWwgc3BhY2luZ1xuLy8gc2V0LiBVc2UgdGhlc2Ugb3B0aW9uYWwgY2xhc3NlcyB0byB0d2VhayB0aGUgbGF5b3V0LlxuXG4uY3VzdG9tLWNvbnRyb2xzLXN0YWNrZWQge1xuICAuY3VzdG9tLWNvbnRyb2wge1xuICAgIGRpc3BsYXk6IGlubGluZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGN1c3RvbS1jb250cm9sLXNwYWNlci15O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG5cbiAgICArIC5jdXN0b20tY29udHJvbCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBTZWxlY3Rcbi8vXG4vLyBSZXBsYWNlcyB0aGUgYnJvd3NlciBkZWZhdWx0IHNlbGVjdCB3aXRoIGEgY3VzdG9tIG9uZSwgbW9zdGx5IHB1bGxlZCBmcm9tXG4vLyBodHRwOi8vcHJpbWVyY3NzLmlvLlxuLy9cbi8vIEluY2x1ZGVzIElFOS1zcGVjaWZpYyBoYWNrcyAobm90ZWQgYnkgYCBcXDlgKS5cblxuLmN1c3RvbS1zZWxlY3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICgkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDtcbiAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14IFxcOTtcbiAgY29sb3I6ICRjdXN0b20tc2VsZWN0LWNvbG9yO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBiYWNrZ3JvdW5kOiAkY3VzdG9tLXNlbGVjdC1iZyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3Igbm8tcmVwZWF0IHJpZ2h0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgXFw5O1xuICBiYWNrZ3JvdW5kLXNpemU6ICRjdXN0b20tc2VsZWN0LWJnLXNpemU7XG4gIGJvcmRlcjogJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzKTtcbiAgLy8gVXNlIHZlbmRvciBwcmVmaXhlcyBhcyBgYXBwZWFyYW5jZWAgaXNuJ3QgcGFydCBvZiB0aGUgQ1NTIHNwZWMuXG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93KTtcblxuICAgICY6Oi1tcy12YWx1ZSB7XG4gICAgICAvLyBGb3IgdmlzdWFsIGNvbnNpc3RlbmN5IHdpdGggb3RoZXIgcGxhdGZvcm1zL2Jyb3dzZXJzLFxuICAgICAgLy8gc3VwcmVzcyB0aGUgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gICAgfVxuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yO1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEhpZGVzIHRoZSBkZWZhdWx0IGNhcmV0IGluIElFMTFcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uY3VzdG9tLXNlbGVjdC1zbSB7XG4gIHBhZGRpbmctdG9wOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk7XG4gIGZvbnQtc2l6ZTogJGN1c3RvbS1zZWxlY3Qtc20tZm9udC1zaXplO1xuXG4gIC8vICY6bm90KFttdWx0aXBsZV0pIHtcbiAgLy8gICBoZWlnaHQ6IDI2cHg7XG4gIC8vICAgbWluLWhlaWdodDogMjZweDtcbiAgLy8gfVxufVxuXG5cbi8vIEZpbGVcbi8vXG4vLyBDdXN0b20gZmlsZSBpbnB1dC5cblxuLmN1c3RvbS1maWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jdXN0b20tZmlsZS1pbnB1dCB7XG4gIG1pbi13aWR0aDogJGN1c3RvbS1maWxlLXdpZHRoO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5ID0gMCk7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJjpmb2N1cyB+IC5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tZmlsZS1mb2N1cy1ib3gtc2hhZG93KTtcbiAgfVxufVxuXG4uY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogNTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBwYWRkaW5nOiAkY3VzdG9tLWZpbGUtcGFkZGluZy14ICRjdXN0b20tZmlsZS1wYWRkaW5nLXk7XG4gIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkY3VzdG9tLWZpbGUtY29sb3I7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWZpbGUtYmc7XG4gIGJvcmRlcjogJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aCBzb2xpZCAkY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWZpbGUtYm94LXNoYWRvdyk7XG5cbiAgQGVhY2ggJGxhbmcsICR0ZXh0IGluIG1hcC1nZXQoJGN1c3RvbS1maWxlLXRleHQsIHBsYWNlaG9sZGVyKSB7XG4gICAgJjpsYW5nKCN7JGxhbmd9KTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJHRleHQ7XG4gICAgfVxuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aDtcbiAgICByaWdodDogLSRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGg7XG4gICAgYm90dG9tOiAtJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aDtcbiAgICB6LWluZGV4OiA2O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgICBwYWRkaW5nOiAkY3VzdG9tLWZpbGUtcGFkZGluZy14ICRjdXN0b20tZmlsZS1wYWRkaW5nLXk7XG4gICAgbGluZS1oZWlnaHQ6ICRjdXN0b20tZmlsZS1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJGN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWZpbGUtYnV0dG9uLWJnO1xuICAgIGJvcmRlcjogJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aCBzb2xpZCAkY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyAkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyAwKTtcbiAgfVxuXG4gIEBlYWNoICRsYW5nLCAkdGV4dCBpbiBtYXAtZ2V0KCRjdXN0b20tZmlsZS10ZXh0LCBidXR0b24tbGFiZWwpIHtcbiAgICAmOmxhbmcoI3skbGFuZ30pOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJHRleHQ7XG4gICAgfVxuICB9XG59XG4iLCIkY3VzdG9tLWZpbGUtYmc6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aDogMCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3gtc2hhZG93OiBub25lICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ6IDEuMyAhZGVmYXVsdDtcbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBLaWNrc3RhcnQgYW55IG5hdmlnYXRpb24gY29tcG9uZW50IHdpdGggYSBzZXQgb2Ygc3R5bGUgcmVzZXRzLiBXb3JrcyB3aXRoXG4vLyBgPG5hdj5gcyBvciBgPHVsPmBzLlxuXG4ubmF2IHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubmF2LWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlIGxpZ2h0ZW5zIHRleHQgYW5kIHJlbW92ZXMgaG92ZXIvdGFiIGVmZmVjdHNcbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRuYXYtZGlzYWJsZWQtbGluay1jb2xvcjtcblxuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2LWRpc2FibGVkLWxpbmstaG92ZXItY29sb3I7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LWRpc2FibGVkLWxpbmstaG92ZXItYmc7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2IGlubGluZVxuXG4ubmF2LWlubGluZSB7XG4gIC5uYXYtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgLm5hdi1pdGVtICsgLm5hdi1pdGVtLFxuICAubmF2LWxpbmsgKyAubmF2LWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiAkbmF2LWl0ZW0taW5saW5lLXNwYWNlcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBUYWJzXG4vL1xuXG4ubmF2LXRhYnMge1xuICBib3JkZXItYm90dG9tOiAkbmF2LXRhYnMtYm9yZGVyLXdpZHRoIHNvbGlkICRuYXYtdGFicy1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgLm5hdi1pdGVtIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICAvLyBNYWtlIHRoZSBsaXN0LWl0ZW1zIG92ZXJsYXkgdGhlIGJvdHRvbSBib3JkZXJcbiAgICBtYXJnaW4tYm90dG9tOiAtJG5hdi10YWJzLWJvcmRlci13aWR0aDtcblxuICAgICsgLm5hdi1pdGVtIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkbmF2LWl0ZW0tbWFyZ2luO1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG5hdi1saW5rLXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkbmF2LXRhYnMtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRuYXYtdGFicy1ib3JkZXItcmFkaXVzKTtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yICRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvciAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAubmF2LWl0ZW0ub3BlbiAubmF2LWxpbmsge1xuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYmc7XG4gICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1ib3JkZXItY29sb3IgJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJvcmRlci1jb2xvciB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgLy8gTWFrZSBkcm9wZG93biBib3JkZXIgb3ZlcmxhcCB0YWIgYm9yZGVyXG4gICAgbWFyZ2luLXRvcDogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gICAgLy8gUmVtb3ZlIHRoZSB0b3Agcm91bmRlZCBjb3JuZXJzIGhlcmUgc2luY2UgdGhlcmUgaXMgYSBoYXJkIGVkZ2UgYWJvdmUgdGhlIG1lbnVcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBQaWxsc1xuLy9cblxuLm5hdi1waWxscyB7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgLm5hdi1pdGVtIHtcbiAgICBmbG9hdDogbGVmdDtcblxuICAgICsgLm5hdi1pdGVtIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkbmF2LWl0ZW0tbWFyZ2luO1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG5hdi1saW5rLXBhZGRpbmc7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbmF2LXBpbGxzLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLm5hdi1pdGVtLm9wZW4gLm5hdi1saW5rIHtcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJG5hdi1waWxscy1hY3RpdmUtbGluay1jb2xvcjtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtcGlsbHMtYWN0aXZlLWxpbmstYmc7XG4gICAgfVxuICB9XG59XG5cbi5uYXYtc3RhY2tlZCB7XG4gIC5uYXYtaXRlbSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG5cbiAgICArIC5uYXYtaXRlbSB7XG4gICAgICBtYXJnaW4tdG9wOiAkbmF2LWl0ZW0tbWFyZ2luO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIFRhYmJhYmxlIHRhYnNcbi8vXG5cbi8vIEhpZGUgdGFiYmFibGUgcGFuZXMgdG8gc3RhcnQsIHNob3cgdGhlbSB3aGVuIGAuYWN0aXZlYFxuLnRhYi1jb250ZW50IHtcbiAgPiAudGFiLXBhbmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgPiAuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuIiwiLy8gTmF2cyBodHRwczovL3d3dy5nb29nbGUuY29tL2Rlc2lnbi9zcGVjL2NvbXBvbmVudHMvdGFicy5odG1sI3RhYnMtc3BlY3NcblxuJG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRuYXYtZGlzYWJsZWQtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbiRibWQtbmF2YmFyLWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgJGJtZC1mb250LXdlaWdodC1iYXNlICFkZWZhdWx0OyAvL1xuJGJtZC1uYXZiYXItbGluay1mb250LXNpemU6ICAgICAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0OyAvLyAxNFxuJGJtZC1uYXZiYXItbGluay1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAuNTMyMXJlbTsgLy8gN1xuXG5cbi8vIHRhYnMgJiBwaWxsc1xuJGJtZC1uYXYtdGFicy1waWxscy1mb250LXdlaWdodDogICAgICAgICAgICA1MDAgIWRlZmF1bHQ7IC8vXG4kYm1kLW5hdi10YWJzLXBpbGxzLWZvbnQtc2l6ZTogICAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7IC8vIDE0XG4kYm1kLW5hdi10YWJzLXBpbGxzLWxpbmstcGFkZGluZzogICAgICAgICAgIDEuNDI4NmVtIC44NTc1ZW0gIWRlZmF1bHQ7IC8vIHNwZWMgLy8gd2FzIC41ZW0gMWVtICAgLy8gcmVsYXRpdmUgZW0gYmFzZWQgb24gMTRcblxuLy8gdGFicyBvbmx5XG4kYm1kLW5hdi10YWJzLWJvcmRlci1zaXplOiAgICAgICAgICAgICAgICAgIC4yMTRyZW0gIWRlZmF1bHQ7IC8vIDNweFxuXG4kYm1kLW5hdi10YWJzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRncmF5ICFkZWZhdWx0O1xuJGJtZC1uYXYtdGFicy1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJGJtZC1uYXYtdGFicy1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRibWQtbmF2LXRhYnMtZGlzYWJsZWQtbGluay1jb2xvcjogICAgICAgICAgJG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGJtZC1uYXYtdGFicy1kaXNhYmxlZC1saW5rLWNvbG9yLWhvdmVyOiAgICAkbmF2LWRpc2FibGVkLWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRibWQtbmF2LXRhYnMtcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgJGJtZC1pbnZlcnNlICFkZWZhdWx0O1xuJGJtZC1uYXYtdGFicy1wcmltYXJ5LWFjdGl2ZS1jb2xvcjogICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJtZC1uYXYtdGFicy1wcmltYXJ5LWFjdGl2ZS1ib3JkZXItY29sb3I6ICAjZmZmICFkZWZhdWx0O1xuJGJtZC1uYXYtdGFicy1wcmltYXJ5LWRpc2FibGVkLWxpbmstY29sb3I6ICAgICAgICRibWQtaW52ZXJzZS1saWdodCAhZGVmYXVsdDtcbiRibWQtbmF2LXRhYnMtcHJpbWFyeS1kaXNhYmxlZC1saW5rLWNvbG9yLWhvdmVyOiAkYm1kLWludmVyc2UtbGlnaHQgIWRlZmF1bHQ7XG5cbiRibWQtbmF2LXRhYnMtaW52ZXJzZS1jb2xvcjogICAgICAgICAgICAgICAgJGJtZC1pbnZlcnNlICFkZWZhdWx0O1xuJGJtZC1uYXYtdGFicy1pbnZlcnNlLWFjdGl2ZS1jb2xvcjogICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJtZC1uYXYtdGFicy1pbnZlcnNlLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAjZmZmICFkZWZhdWx0O1xuJGJtZC1uYXYtdGFicy1pbnZlcnNlLWRpc2FibGVkLWxpbmstY29sb3I6ICAgICAgICRibWQtaW52ZXJzZS1saWdodCAhZGVmYXVsdDtcbiRibWQtbmF2LXRhYnMtaW52ZXJzZS1kaXNhYmxlZC1saW5rLWNvbG9yLWhvdmVyOiAkYm1kLWludmVyc2UtbGlnaHQgIWRlZmF1bHQ7XG5cblxuLy8kbmF2LWl0ZW0tbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuXG5cblxuLy8kYm1kLW5hdi1saW5rLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgIDEgIWRlZmF1bHQ7IC8vIG1ha2VzIGl0IGVhc2llciB0byBsaW5lIHVwIHdpdGggdGhlIHNwZWNcbi8vJG5hdi1saW5rLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAuNWVtIDFlbSAhZGVmYXVsdDsgLy8gY2hhbmdpbmcgdGhpcyBmb3IgdGFicyBhbHRlcnMgZ2VuZXJpYyBuYXZiYXJzLCBzbyBkbyBpdCBlbHNld2hlcmUgd2l0aCBoaWdoZXIgc3BlY2lmaWNpdHlcbi8vJG5hdi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG5cbi8vXG4vLyRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbi8vXG4vLyRuYXYtdGFicy1saW5rLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbi8vJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy9cbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7IC8vICRib2R5LWJnXG4vLyRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgJGdyYXkgIWRlZmF1bHQ7XG4vLyRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAgI2RkZCAhZGVmYXVsdDtcbi8vXG4vLyRuYXYtdGFicy1qdXN0aWZpZWQtbGluay1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbi8vJG5hdi10YWJzLWp1c3RpZmllZC1hY3RpdmUtbGluay1ib3JkZXItY29sb3I6ICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbi8vXG4vLyRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4vLyRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4vLyRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4iLCIvLyBXcmFwcGVyIGFuZCBiYXNlIGNsYXNzXG4vL1xuLy8gUHJvdmlkZSBhIHN0YXRpYyBuYXZiYXIgZnJvbSB3aGljaCB3ZSBleHBhbmQgdG8gY3JlYXRlIGZ1bGwtd2lkdGgsIGZpeGVkLCBhbmRcbi8vIG90aGVyIG5hdmJhciB2YXJpYXRpb25zLlxuXG4ubmF2YmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAkbmF2YmFyLXBhZGRpbmcteSAkbmF2YmFyLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG5hdmJhci1ib3JkZXItcmFkaXVzKTtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBhbGlnbm1lbnQgb3B0aW9uc1xuLy9cbi8vIERpc3BsYXkgdGhlIG5hdmJhciBhY3Jvc3MgdGhlIGVudGlyZXR5IG9mIHRoZSBwYWdlIG9yIGZpeGVkIGl0IHRvIHRoZSB0b3Agb3Jcbi8vIGJvdHRvbSBvZiB0aGUgcGFnZS5cblxuLy8gQSBzdGF0aWMsIGZ1bGwgd2lkdGggbW9kaWZpZXIgd2l0aCBubyByb3VuZGVkIGNvcm5lcnMuXG4ubmF2YmFyLWZ1bGwge1xuICB6LWluZGV4OiAkemluZGV4LW5hdmJhcjtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgfVxufVxuXG4vLyBGaXggdGhlIHRvcC9ib3R0b20gbmF2YmFycyB3aGVuIHNjcmVlbiByZWFsIGVzdGF0ZSBzdXBwb3J0cyBpdFxuLm5hdmJhci1maXhlZC10b3AsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbmF2YmFyLWZpeGVkO1xuXG4gIC8vIFVuZG8gdGhlIHJvdW5kZWQgY29ybmVyc1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgfVxufVxuXG4ubmF2YmFyLWZpeGVkLXRvcCB7XG4gIHRvcDogMDtcbn1cblxuLm5hdmJhci1maXhlZC1ib3R0b20ge1xuICBib3R0b206IDA7XG59XG5cbi5uYXZiYXItc3RpY2t5LXRvcCB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbiAgei1pbmRleDogJHppbmRleC1uYXZiYXItc3RpY2t5O1xuICB3aWR0aDogMTAwJTtcblxuICAvLyBVbmRvIHRoZSByb3VuZGVkIGNvcm5lcnNcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gIH1cbn1cblxuXG4vL1xuLy8gQnJhbmQvcHJvamVjdCBuYW1lXG4vL1xuXG4ubmF2YmFyLWJyYW5kIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctdG9wOiAgICAkbmF2YmFyLWJyYW5kLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRuYXZiYXItYnJhbmQtcGFkZGluZy15O1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgPiBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cblxuLm5hdmJhci1kaXZpZGVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAkYm9yZGVyLXdpZHRoO1xuICBwYWRkaW5nLXRvcDogLjQyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IC40MjVyZW07XG4gIG1hcmdpbi1yaWdodDogJG5hdmJhci1wYWRkaW5nLXg7XG4gIG1hcmdpbi1sZWZ0OiAgJG5hdmJhci1wYWRkaW5nLXg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMDBhMFwiO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIHRvZ2dsZVxuLy9cbi8vIEN1c3RvbSBidXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBgLm5hdmJhci1jb2xsYXBzZWAsIHBvd2VyZWQgYnkgdGhlIGNvbGxhcHNlXG4vLyBCb290c3RyYXAgSmF2YVNjcmlwdCBwbHVnaW4uXG5cbi5uYXZiYXItdG9nZ2xlciB7XG4gIHBhZGRpbmc6IC41cmVtIC43NXJlbTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWxnO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRidG4tYm9yZGVyLXJhZGl1cyk7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG4vLyBOYXZpZ2F0aW9uXG4vL1xuLy8gQ3VzdG9tIG5hdmJhciBuYXZpZ2F0aW9uIGJ1aWx0IG9uIHRoZSBiYXNlIGAubmF2YCBzdHlsZXMuXG5cbi5uYXZiYXItbmF2IHtcbiAgLm5hdi1pdGVtIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuXG4gIC5uYXYtbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy10b3A6ICAgIC40MjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IC40MjVyZW07XG5cbiAgICArIC5uYXYtbGluayB7XG4gICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICB9XG4gIH1cblxuICAubmF2LWl0ZW0gKyAubmF2LWl0ZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICB9XG59XG5cbi8vIERhcmsgbGlua3MgYWdhaW5zdCBhIGxpZ2h0IGJhY2tncm91bmRcbi5uYXZiYXItbGlnaHQge1xuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAub3BlbiA+IC5uYXYtbGluayxcbiAgICAuYWN0aXZlID4gLm5hdi1saW5rLFxuICAgIC5uYXYtbGluay5vcGVuLFxuICAgIC5uYXYtbGluay5hY3RpdmUge1xuICAgICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1kaXZpZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLC4wNzUpO1xuICB9XG59XG5cbi8vIFdoaXRlIGxpbmtzIGFnYWluc3QgYSBkYXJrIGJhY2tncm91bmRcbi5uYXZiYXItZGFyayB7XG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstaG92ZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm9wZW4gPiAubmF2LWxpbmssXG4gICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAubmF2LWxpbmsub3BlbixcbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1kaXZpZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4wNzUpO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIHRvZ2dsZWFibGVcbi8vXG4vLyBDdXN0b20gb3ZlcnJpZGUgZm9yIGNvbGxhcHNlIHBsdWdpbiBpbiBuYXZiYXIuXG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIEltcG9ydGFudFJ1bGVcbi5uYXZiYXItdG9nZ2xlYWJsZSB7XG4gICYteHMge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xuICAgICAgLm5hdmJhci1uYXYgLm5hdi1pdGVtIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICYtc20ge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgLm5hdmJhci1uYXYgLm5hdi1pdGVtIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICYtbWQge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgLm5hdmJhci1uYXYgLm5hdi1pdGVtIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1saW50OmVuYWJsZSBJbXBvcnRhbnRSdWxlXG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogJGNhcmQtc3BhY2VyLXk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWJnO1xuICAvLyBib3JkZXI6ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XG4gIGJvcmRlcjogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcbn1cblxuLmNhcmQtYmxvY2sge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXg7XG59XG5cbi5jYXJkLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogJGNhcmQtc3BhY2VyLXk7XG59XG5cbi5jYXJkLXN1YnRpdGxlIHtcbiAgbWFyZ2luLXRvcDogLSgkY2FyZC1zcGFjZXIteSAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC10ZXh0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vLyAuY2FyZC1hY3Rpb25zIHtcbi8vICAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXkgJGNhcmQtc3BhY2VyLXg7XG5cbi8vICAgLmNhcmQtbGluayArIC5jYXJkLWxpbmsge1xuLy8gICAgIG1hcmdpbi1sZWZ0OiAkY2FyZC1zcGFjZXIteDtcbi8vICAgfVxuLy8gfVxuXG4uY2FyZC1saW5rIHtcbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICsgLmNhcmQtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJkLXNwYWNlci14O1xuICB9XG59XG5cbi5jYXJkIHtcbiAgPiAubGlzdC1ncm91cDpmaXJzdC1jaGlsZCB7XG4gICAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICA+IC5saXN0LWdyb3VwOmxhc3QtY2hpbGQge1xuICAgIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gT3B0aW9uYWwgdGV4dHVhbCBjYXBzXG4vL1xuXG4uY2FyZC1oZWFkZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXkgJGNhcmQtc3BhY2VyLXg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWNhcC1iZztcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMtaW5uZXIgJGNhcmQtYm9yZGVyLXJhZGl1cy1pbm5lciAwIDApO1xuICB9XG59XG5cbi5jYXJkLWZvb3RlciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteSAkY2FyZC1zcGFjZXIteDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtY2FwLWJnO1xuICBib3JkZXItdG9wOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgJGNhcmQtYm9yZGVyLXJhZGl1cy1pbm5lciAkY2FyZC1ib3JkZXItcmFkaXVzLWlubmVyKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBIZWFkZXIgbmF2c1xuLy9cblxuLmNhcmQtaGVhZGVyLXRhYnMge1xuICBtYXJnaW4tcmlnaHQ6IC0oJGNhcmQtc3BhY2VyLXggLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogLSRjYXJkLXNwYWNlci15O1xuICBtYXJnaW4tbGVmdDogLSgkY2FyZC1zcGFjZXIteCAvIDIpO1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuXG4uY2FyZC1oZWFkZXItcGlsbHMge1xuICBtYXJnaW4tcmlnaHQ6IC0oJGNhcmQtc3BhY2VyLXggLyAyKTtcbiAgbWFyZ2luLWxlZnQ6IC0oJGNhcmQtc3BhY2VyLXggLyAyKTtcbn1cblxuXG4vL1xuLy8gQmFja2dyb3VuZCB2YXJpYXRpb25zXG4vL1xuXG4uY2FyZC1wcmltYXJ5IHtcbiAgQGluY2x1ZGUgY2FyZC12YXJpYW50KCRicmFuZC1wcmltYXJ5LCAkYnJhbmQtcHJpbWFyeSk7XG59XG4uY2FyZC1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgY2FyZC12YXJpYW50KCRicmFuZC1zdWNjZXNzLCAkYnJhbmQtc3VjY2Vzcyk7XG59XG4uY2FyZC1pbmZvIHtcbiAgQGluY2x1ZGUgY2FyZC12YXJpYW50KCRicmFuZC1pbmZvLCAkYnJhbmQtaW5mbyk7XG59XG4uY2FyZC13YXJuaW5nIHtcbiAgQGluY2x1ZGUgY2FyZC12YXJpYW50KCRicmFuZC13YXJuaW5nLCAkYnJhbmQtd2FybmluZyk7XG59XG4uY2FyZC1kYW5nZXIge1xuICBAaW5jbHVkZSBjYXJkLXZhcmlhbnQoJGJyYW5kLWRhbmdlciwgJGJyYW5kLWRhbmdlcik7XG59XG5cbi8vIFJlbW92ZSBhbGwgYmFja2dyb3VuZHNcbi5jYXJkLW91dGxpbmUtcHJpbWFyeSB7XG4gIEBpbmNsdWRlIGNhcmQtb3V0bGluZS12YXJpYW50KCRidG4tcHJpbWFyeS1iZyk7XG59XG4uY2FyZC1vdXRsaW5lLXNlY29uZGFyeSB7XG4gIEBpbmNsdWRlIGNhcmQtb3V0bGluZS12YXJpYW50KCRidG4tc2Vjb25kYXJ5LWJvcmRlcik7XG59XG4uY2FyZC1vdXRsaW5lLWluZm8ge1xuICBAaW5jbHVkZSBjYXJkLW91dGxpbmUtdmFyaWFudCgkYnRuLWluZm8tYmcpO1xufVxuLmNhcmQtb3V0bGluZS1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgY2FyZC1vdXRsaW5lLXZhcmlhbnQoJGJ0bi1zdWNjZXNzLWJnKTtcbn1cbi5jYXJkLW91dGxpbmUtd2FybmluZyB7XG4gIEBpbmNsdWRlIGNhcmQtb3V0bGluZS12YXJpYW50KCRidG4td2FybmluZy1iZyk7XG59XG4uY2FyZC1vdXRsaW5lLWRhbmdlciB7XG4gIEBpbmNsdWRlIGNhcmQtb3V0bGluZS12YXJpYW50KCRidG4tZGFuZ2VyLWJnKTtcbn1cblxuLy9cbi8vIEludmVyc2UgdGV4dCB3aXRoaW4gYSBjYXJkIGZvciB1c2Ugd2l0aCBkYXJrIGJhY2tncm91bmRzXG4vL1xuXG4uY2FyZC1pbnZlcnNlIHtcbiAgQGluY2x1ZGUgY2FyZC1pbnZlcnNlO1xufVxuXG4vL1xuLy8gQmxvY2txdW90ZVxuLy9cblxuLmNhcmQtYmxvY2txdW90ZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG4vLyBDYXJkIGltYWdlXG4uY2FyZC1pbWcge1xuICAvLyBtYXJnaW46IC0xLjMyNXJlbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyguMjVyZW0pO1xufVxuLmNhcmQtaW1nLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZztcbn1cblxuXG5cbi8vIENhcmQgaW1hZ2UgY2Fwc1xuLmNhcmQtaW1nLXRvcCB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMtaW5uZXIpO1xufVxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMtaW5uZXIpO1xufVxuXG5cbi8vIENhcmQgc2V0XG4vL1xuLy8gSGVhZHMgdXAhIFdlIGRvIHNvbWUgZnVua3kgc3R5bGUgcmVzZXR0aW5nIGhlcmUgZm9yIG1hcmdpbnMgYWNyb3NzIG91ciB0d29cbi8vIHZhcmlhdGlvbnMgKG9uZSBmbGV4LCBvbmUgdGFibGUpLiBJbmRpdmlkdWFsIGNhcmRzIGhhdmUgbWFyZ2luLWJvdHRvbSBieVxuLy8gZGVmYXVsdCwgYnV0IHRoZXkncmUgaWdub3JlZCBkdWUgdG8gdGFibGUgc3R5bGVzLiBGb3IgYSBjb25zaXN0ZW50IGRlc2lnbixcbi8vIHdlJ3ZlIGRvbmUgdGhlIHNhbWUgdG8gdGhlIGZsZXggdmFyaWF0aW9uLlxuLy9cbi8vIFRob3NlIGNoYW5nZXMgYXJlIG5vdGVkIGJ5IGAvLyBNYXJnaW4gYmFsYW5jaW5nYC5cblxuQGlmICRlbmFibGUtZmxleCB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAuY2FyZC1kZWNrIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtZGVjay1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1zcGFjZXIteTsgLy8gTWFyZ2luIGJhbGFuY2luZ1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1kZWNrLW1hcmdpbjtcblxuICAgICAgLmNhcmQge1xuICAgICAgICBmbGV4OiAxIDAgMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkY2FyZC1kZWNrLW1hcmdpbjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gTWFyZ2luIGJhbGFuY2luZ1xuICAgICAgICBtYXJnaW4tbGVmdDogJGNhcmQtZGVjay1tYXJnaW47XG4gICAgICB9XG4gICAgfVxuICB9XG59IEBlbHNlIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICRzcGFjZS1iZXR3ZWVuLWNhcmRzOiAoMiAqICRjYXJkLWRlY2stbWFyZ2luKTtcbiAgICAuY2FyZC1kZWNrIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1zcGFjZXIteTsgLy8gTWFyZ2luIGJhbGFuY2luZ1xuICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICAgIGJvcmRlci1zcGFjaW5nOiAkc3BhY2UtYmV0d2Vlbi1jYXJkcyAwO1xuXG4gICAgICAuY2FyZCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIE1hcmdpbiBiYWxhbmNpbmdcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNhcmQtZGVjay13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogKC0kc3BhY2UtYmV0d2Vlbi1jYXJkcyk7XG4gICAgICBtYXJnaW4tbGVmdDogKC0kc3BhY2UtYmV0d2Vlbi1jYXJkcyk7XG4gICAgfVxuICB9XG59XG5cbi8vXG4vLyBDYXJkIGdyb3Vwc1xuLy9cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAuY2FyZC1ncm91cCB7XG4gICAgQGlmICRlbmFibGUtZmxleCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgIH1cblxuICAgIC5jYXJkIHtcbiAgICAgIEBpZiAkZW5hYmxlLWZsZXgge1xuICAgICAgICBmbGV4OiAxIDAgMDtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgfVxuXG4gICAgICArIC5jYXJkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBIYW5kbGUgcm91bmRlZCBjb3JuZXJzXG4gICAgICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3Age1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20ge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIENhcmRcbi8vXG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLmNhcmQtY29sdW1ucyB7XG4gICAgY29sdW1uLWNvdW50OiAzO1xuICAgIGNvbHVtbi1nYXA6ICRjYXJkLWNvbHVtbnMtc20tdXAtY29sdW1uLWdhcDtcblxuICAgIC5jYXJkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBEb24ndCBsZXQgdGhlbSBleGNlZWQgdGhlIGNvbHVtbiB3aWR0aFxuICAgIH1cbiAgfVxufVxuIiwiLy8gQ2FyZHNcbi8vJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbi8vJGNhcmQtc3BhY2VyLXk6ICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuLy8kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAxcHggIWRlZmF1bHQ7XG4vLyRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDsgLy8gI2U1ZTVlNVxuLy8kY2FyZC1ib3JkZXItcmFkaXVzLWlubmVyOiAkY2FyZC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRjYXJkLWNhcC1iZzogICAgICAgICAgICAgICRjYXJkLWJnICFkZWZhdWx0OyAvLyAjZjVmNWY1XG4vL1xuLy8kY2FyZC1saW5rLWhvdmVyLWNvbG9yOiAgICAjZmZmICFkZWZhdWx0O1xuLy9cbi8vJGNhcmQtZGVjay1tYXJnaW46ICAgICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcbiIsIi8vIENhcmQgdmFyaWFudHNcblxuQG1peGluIGNhcmQtdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gIC5jYXJkLWhlYWRlcixcbiAgLmNhcmQtZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG5AbWl4aW4gY2FyZC1vdXRsaW5lLXZhcmlhbnQoJGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcbn1cblxuLy9cbi8vIEludmVyc2UgdGV4dCB3aXRoaW4gYSBjYXJkIGZvciB1c2Ugd2l0aCBkYXJrIGJhY2tncm91bmRzXG4vL1xuXG5AbWl4aW4gY2FyZC1pbnZlcnNlIHtcbiAgLmNhcmQtaGVhZGVyLFxuICAuY2FyZC1mb290ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMik7XG4gIH1cbiAgLmNhcmQtaGVhZGVyLFxuICAuY2FyZC1mb290ZXIsXG4gIC5jYXJkLXRpdGxlLFxuICAuY2FyZC1ibG9ja3F1b3RlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuICAuY2FyZC1saW5rLFxuICAuY2FyZC10ZXh0LFxuICAuY2FyZC1zdWJ0aXRsZSxcbiAgLmNhcmQtYmxvY2txdW90ZSAuYmxvY2txdW90ZS1mb290ZXIge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC42NSk7XG4gIH1cbiAgLmNhcmQtbGluayB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6ICRjYXJkLWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG59XG4iLCIuYnJlYWRjcnVtYiB7XG4gIHBhZGRpbmc6ICRicmVhZGNydW1iLXBhZGRpbmcteSAkYnJlYWRjcnVtYi1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXIteTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJyZWFkY3J1bWItYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLmJyZWFkY3J1bWItaXRlbSB7XG4gIGZsb2F0OiBsZWZ0O1xuXG4gIC8vIFRoZSBzZXBhcmF0b3IgYmV0d2VlbiBicmVhZGNydW1icyAoYnkgZGVmYXVsdCwgYSBmb3J3YXJkLXNsYXNoOiBcIi9cIilcbiAgKyAuYnJlYWRjcnVtYi1pdGVtOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gU3VwcHJlc3MgdW5kZXJsaW5pbmcgb2YgdGhlIHNlcGFyYXRvciBpbiBtb2Rlcm4gYnJvd3NlcnNcbiAgICBwYWRkaW5nLXJpZ2h0OiAkYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc7XG4gICAgcGFkZGluZy1sZWZ0OiAkYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWRpdmlkZXItY29sb3I7XG4gICAgY29udGVudDogXCIjeyRicmVhZGNydW1iLWRpdmlkZXJ9XCI7XG4gIH1cblxuICAvLyBJRTktMTEgaGFjayB0byBwcm9wZXJseSBoYW5kbGUgaHlwZXJsaW5rIHVuZGVybGluZXMgZm9yIGJyZWFkY3J1bWJzIGJ1aWx0XG4gIC8vIHdpdGhvdXQgYDx1bD5gcy4gVGhlIGA6OmJlZm9yZWAgcHNldWRvLWVsZW1lbnQgZ2VuZXJhdGVzIGFuIGVsZW1lbnRcbiAgLy8gKndpdGhpbiogdGhlIC5icmVhZGNydW1iLWl0ZW0gYW5kIHRoZXJlYnkgaW5oZXJpdHMgdGhlIGB0ZXh0LWRlY29yYXRpb25gLlxuICAvL1xuICAvLyBUbyB0cmljayBJRSBpbnRvIHN1cHByZXNzaW5nIHRoZSB1bmRlcmxpbmUsIHdlIGdpdmUgdGhlIHBzZXVkby1lbGVtZW50IGFuXG4gIC8vIHVuZGVybGluZSBhbmQgdGhlbiBpbW1lZGlhdGVseSByZW1vdmUgaXQuXG4gICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I7XG4gIH1cbn1cbiIsIi5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi10b3A6ICRzcGFjZXIteTtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlci15O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCk7XG59XG5cbi5wYWdlLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmU7IC8vIFJlbW92ZSBsaXN0LXN0eWxlIGFuZCBibG9jay1sZXZlbCBkZWZhdWx0c1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIC5wYWdlLWxpbmsge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuICAmOmxhc3QtY2hpbGQge1xuICAgIC5wYWdlLWxpbmsge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgJi5hY3RpdmUgLnBhZ2UtbGluayB7XG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYmc7XG4gICAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXI7XG4gICAgfVxuICB9XG5cbiAgJi5kaXNhYmxlZCAucGFnZS1saW5rIHtcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXI7XG4gICAgfVxuICB9XG59XG5cbi5wYWdlLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0OyAvLyBDb2xsYXBzZSB3aGl0ZS1zcGFjZVxuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1wYWRkaW5nLXkgJHBhZ2luYXRpb24tcGFkZGluZy14O1xuICBtYXJnaW4tbGVmdDogLTFweDtcbiAgY29sb3I6ICRwYWdpbmF0aW9uLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWJnO1xuICBib3JkZXI6ICRwYWdpbmF0aW9uLWJvcmRlci13aWR0aCBzb2xpZCAkcGFnaW5hdGlvbi1ib3JkZXItY29sb3I7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBTaXppbmdcbi8vXG5cbi5wYWdpbmF0aW9uLWxnIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZywgJHBhZ2luYXRpb24tcGFkZGluZy14LWxnLCAkZm9udC1zaXplLWxnLCAkbGluZS1oZWlnaHQtbGcsICRib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLnBhZ2luYXRpb24tc20ge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LXNtLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtc20sICRmb250LXNpemUtc20sICRsaW5lLWhlaWdodC1zbSwgJGJvcmRlci1yYWRpdXMtc20pO1xufVxuIiwiJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAwO1xuJHBhZ2luYXRpb24tYmc6IHRyYW5zcGFyZW50O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6IHRyYW5zcGFyZW50O1xuXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6IDA7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206IDA7XG4iLCIvLyBQYWdpbmF0aW9uXG5cbkBtaXhpbiBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICAucGFnZS1saW5rIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICB9XG5cbiAgLnBhZ2UtaXRlbSB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBSZXF1aXJlcyBvbmUgb2YgdGhlIGNvbnRleHR1YWwsIGNvbG9yIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGBjb2xvcmAgYW5kXG4vLyBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbi50YWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICR0YWctcGFkZGluZy15ICR0YWctcGFkZGluZy14O1xuICBmb250LXNpemU6ICR0YWctZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJHRhZy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkdGFnLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygpO1xuXG4gIC8vIEVtcHR5IHRhZ3MgY29sbGFwc2UgYXV0b21hdGljYWxseVxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIFF1aWNrIGZpeCBmb3IgdGFncyBpbiBidXR0b25zXG4uYnRuIC50YWcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDtcbn1cblxuLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcbi8vIEFkZCBob3ZlciBlZmZlY3RzLCBidXQgb25seSBmb3IgbGlua3NcbmEudGFnIHtcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiAkdGFnLWxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuLy8gc2Nzcy1saW50OmVuYWJsZSBRdWFsaWZ5aW5nRWxlbWVudFxuXG4vLyBQaWxsIHRhZ3Ncbi8vXG4vLyBNYWtlIHRoZW0gZXh0cmEgcm91bmRlZCB3aXRoIGEgbW9kaWZpZXIgdG8gcmVwbGFjZSB2MydzIGJhZGdlcy5cblxuLnRhZy1waWxsIHtcbiAgcGFkZGluZy1yaWdodDogJHRhZy1waWxsLXBhZGRpbmcteDtcbiAgcGFkZGluZy1sZWZ0OiAkdGFnLXBpbGwtcGFkZGluZy14O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0YWctcGlsbC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gQ29sb3JzXG4vL1xuLy8gQ29udGV4dHVhbCB2YXJpYXRpb25zIChsaW5rZWQgdGFncyBnZXQgZGFya2VyIG9uIDpob3ZlcikuXG5cbi50YWctZGVmYXVsdCB7XG4gIEBpbmNsdWRlIHRhZy12YXJpYW50KCR0YWctZGVmYXVsdC1iZyk7XG59XG5cbi50YWctcHJpbWFyeSB7XG4gIEBpbmNsdWRlIHRhZy12YXJpYW50KCR0YWctcHJpbWFyeS1iZyk7XG59XG5cbi50YWctc3VjY2VzcyB7XG4gIEBpbmNsdWRlIHRhZy12YXJpYW50KCR0YWctc3VjY2Vzcy1iZyk7XG59XG5cbi50YWctaW5mbyB7XG4gIEBpbmNsdWRlIHRhZy12YXJpYW50KCR0YWctaW5mby1iZyk7XG59XG5cbi50YWctd2FybmluZyB7XG4gIEBpbmNsdWRlIHRhZy12YXJpYW50KCR0YWctd2FybmluZy1iZyk7XG59XG5cbi50YWctZGFuZ2VyIHtcbiAgQGluY2x1ZGUgdGFnLXZhcmlhbnQoJHRhZy1kYW5nZXItYmcpO1xufVxuIiwiLy8gVGFnc1xuXG5AbWl4aW4gdGFnLXZhcmlhbnQoJGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblxuICAmW2hyZWZdIHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICAgIH1cbiAgfVxufVxuIiwiLmp1bWJvdHJvbiB7XG4gIHBhZGRpbmc6ICRqdW1ib3Ryb24tcGFkZGluZyAoJGp1bWJvdHJvbi1wYWRkaW5nIC8gMik7XG4gIG1hcmdpbi1ib3R0b206ICRqdW1ib3Ryb24tcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGp1bWJvdHJvbi1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1sZyk7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIHBhZGRpbmc6ICgkanVtYm90cm9uLXBhZGRpbmcgKiAyKSAkanVtYm90cm9uLXBhZGRpbmc7XG4gIH1cbn1cblxuLmp1bWJvdHJvbi1ociB7XG4gIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkanVtYm90cm9uLWJnLCAxMCUpO1xufVxuXG4uanVtYm90cm9uLWZsdWlkIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYWxlcnQge1xuICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlci15O1xuICBib3JkZXI6ICRhbGVydC1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGFsZXJ0LWJvcmRlci1yYWRpdXMpO1xufVxuXG4vLyBIZWFkaW5ncyBmb3IgbGFyZ2VyIGFsZXJ0c1xuLmFsZXJ0LWhlYWRpbmcge1xuICAvLyBTcGVjaWZpZWQgdG8gcHJldmVudCBjb25mbGljdHMgb2YgY2hhbmdpbmcgJGhlYWRpbmdzLWNvbG9yXG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4vLyBQcm92aWRlIGNsYXNzIGZvciBsaW5rcyB0aGF0IG1hdGNoIGFsZXJ0c1xuLmFsZXJ0LWxpbmsge1xuICBmb250LXdlaWdodDogJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ7XG59XG5cblxuLy8gRGlzbWlzc2libGUgYWxlcnRzXG4vL1xuLy8gRXhwYW5kIHRoZSByaWdodCBwYWRkaW5nIGFuZCBhY2NvdW50IGZvciB0aGUgY2xvc2UgYnV0dG9uJ3MgcG9zaXRpb25pbmcuXG5cbi5hbGVydC1kaXNtaXNzaWJsZSB7XG4gIHBhZGRpbmctcmlnaHQ6ICgkYWxlcnQtcGFkZGluZyArIDIwcHgpO1xuXG4gIC8vIEFkanVzdCBjbG9zZSBsaW5rIHBvc2l0aW9uXG4gIC5jbG9zZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTJweDtcbiAgICByaWdodDogLTIxcHg7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuXG4vLyBBbHRlcm5hdGUgc3R5bGVzXG4vL1xuLy8gR2VuZXJhdGUgY29udGV4dHVhbCBtb2RpZmllciBjbGFzc2VzIGZvciBjb2xvcml6aW5nIHRoZSBhbGVydC5cblxuLmFsZXJ0LXN1Y2Nlc3Mge1xuICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCRhbGVydC1zdWNjZXNzLWJnLCAkYWxlcnQtc3VjY2Vzcy1ib3JkZXIsICRhbGVydC1zdWNjZXNzLXRleHQpO1xufVxuLmFsZXJ0LWluZm8ge1xuICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCRhbGVydC1pbmZvLWJnLCAkYWxlcnQtaW5mby1ib3JkZXIsICRhbGVydC1pbmZvLXRleHQpO1xufVxuLmFsZXJ0LXdhcm5pbmcge1xuICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCRhbGVydC13YXJuaW5nLWJnLCAkYWxlcnQtd2FybmluZy1ib3JkZXIsICRhbGVydC13YXJuaW5nLXRleHQpO1xufVxuLmFsZXJ0LWRhbmdlciB7XG4gIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQoJGFsZXJ0LWRhbmdlci1iZywgJGFsZXJ0LWRhbmdlci1ib3JkZXIsICRhbGVydC1kYW5nZXItdGV4dCk7XG59XG4iLCIvLyBBbGVydHNcblxuQG1peGluIGFsZXJ0LXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRib2R5LWNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIGNvbG9yOiAkYm9keS1jb2xvcjtcblxuICBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRib3JkZXIsIDUlKTtcbiAgfVxuICAuYWxlcnQtbGluayB7XG4gICAgY29sb3I6IGRhcmtlbigkYm9keS1jb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy9cbi8vIFByb2dyZXNzIGFuaW1hdGlvbnNcbi8vXG5cbkBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICBmcm9tIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogJHNwYWNlci15IDA7IH1cbiAgdG8geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbn1cblxuXG4vL1xuLy8gQmFzaWMgcHJvZ3Jlc3MgYmFyXG4vL1xuXG4ucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJHNwYWNlci15OyAvLyB0b2RvOiBtYWtlIGEgbmV3IHZhciBmb3IgdGhpc1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyLXk7XG59XG4ucHJvZ3Jlc3NbdmFsdWVdIHtcbiAgLy8gU2V0IG92ZXJhbGwgYmFja2dyb3VuZFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmc7XG4gIC8vIFJlbW92ZSBGaXJlZm94IGFuZCBPcGVyYSBib3JkZXJcbiAgYm9yZGVyOiAwO1xuICAvLyBSZXNldCB0aGUgZGVmYXVsdCBhcHBlYXJhbmNlXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIC8vIFNldCBvdmVyYWxsIGJvcmRlciByYWRpdXNcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8vIEZpbGxlZC1pbiBwb3J0aW9uIG9mIHRoZSBiYXJcbi5wcm9ncmVzc1t2YWx1ZV06Oi1tcy1maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhci1jb2xvcjtcbiAgLy8gUmVtb3ZlIHJpZ2h0LWhhbmQgYm9yZGVyIG9mIHZhbHVlIGJhciBmcm9tIElFMTArL0VkZ2VcbiAgYm9yZGVyOiAwO1xufVxuLnByb2dyZXNzW3ZhbHVlXTo6LW1vei1wcm9ncmVzcy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJHByb2dyZXNzLWJvcmRlci1yYWRpdXMpO1xufVxuLnByb2dyZXNzW3ZhbHVlXTo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cyk7XG59XG4vLyBUd2Vha3MgZm9yIGZ1bGwgcHJvZ3Jlc3MgYmFyXG4ucHJvZ3Jlc3NbdmFsdWU9XCIxMDBcIl06Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cyk7XG59XG4ucHJvZ3Jlc3NbdmFsdWU9XCIxMDBcIl06Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRwcm9ncmVzcy1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gVW5maWxsZWQgcG9ydGlvbiBvZiB0aGUgYmFyXG4ucHJvZ3Jlc3NbdmFsdWVdOjotd2Via2l0LXByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHByb2dyZXNzLWJveC1zaGFkb3cpO1xufVxuYmFzZTo6LW1vei1wcm9ncmVzcy1iYXIsIC8vIEFic3VyZC1idXQtc3ludGFjdGljYWxseS12YWxpZCBzZWxlY3RvciB0byBtYWtlIHRoZXNlIHN0eWxlcyBGaXJlZm94LW9ubHlcbi5wcm9ncmVzc1t2YWx1ZV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHByb2dyZXNzLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwcm9ncmVzcy1ib3gtc2hhZG93KTtcbn1cblxuLy8gSUU5IGhhY2tzIHRvIGFjY29tcGFueSBjdXN0b20gbWFya3VwLiBXZSBkb24ndCBuZWVkIHRvIHNjb3BlIHRoaXMgdmlhIG1lZGlhIHF1ZXJpZXMsIGJ1dCBJIGZlZWwgYmV0dGVyIGRvaW5nIGl0IGFueXdheS5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAucHJvZ3Jlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iZztcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRwcm9ncmVzcy1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRwcm9ncmVzcy1ib3gtc2hhZG93KTtcbiAgfVxuICAucHJvZ3Jlc3MtYmFyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAkc3BhY2VyLXk7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTlyZW07IC8vIFNpbXVsYXRlIGhpZGluZyBvZiB2YWx1ZSBhcyBpbiBuYXRpdmUgYDxwcm9ncmVzcz5gXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhci1jb2xvcjtcbiAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJHByb2dyZXNzLWJvcmRlci1yYWRpdXMpO1xuICB9XG4gIC5wcm9ncmVzc1t3aWR0aD1cIjEwMCVcIl0ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJHByb2dyZXNzLWJvcmRlci1yYWRpdXMpO1xuICB9XG59XG5cblxuLy9cbi8vIFN0cmlwZWRcbi8vXG5cbi5wcm9ncmVzcy1zdHJpcGVkW3ZhbHVlXTo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQoKTtcbiAgYmFja2dyb3VuZC1zaXplOiAkc3BhY2VyLXkgJHNwYWNlci15O1xufVxuLnByb2dyZXNzLXN0cmlwZWRbdmFsdWVdOjotbW96LXByb2dyZXNzLWJhciB7XG4gIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQoKTtcbiAgYmFja2dyb3VuZC1zaXplOiAkc3BhY2VyLXkgJHNwYWNlci15O1xufVxuLnByb2dyZXNzLXN0cmlwZWRbdmFsdWVdOjotbXMtZmlsbCB7XG4gIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQoKTtcbiAgYmFja2dyb3VuZC1zaXplOiAkc3BhY2VyLXkgJHNwYWNlci15O1xufVxuLy8gSUU5XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1zdHJpcGVkKCk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkc3BhY2VyLXkgJHNwYWNlci15O1xuICB9XG59XG5cblxuLy9cbi8vIEFuaW1hdGVkXG4vL1xuXG4ucHJvZ3Jlc3MtYW5pbWF0ZWRbdmFsdWVdOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgYW5pbWF0aW9uOiBwcm9ncmVzcy1iYXItc3RyaXBlcyAycyBsaW5lYXIgaW5maW5pdGU7XG59XG4ucHJvZ3Jlc3MtYW5pbWF0ZWRbdmFsdWVdOjotbW96LXByb2dyZXNzLWJhciB7XG4gIGFuaW1hdGlvbjogcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMnMgbGluZWFyIGluZmluaXRlO1xufVxuLy8gSUU5XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgLnByb2dyZXNzLWFuaW1hdGVkIC5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gICAgYW5pbWF0aW9uOiBwcm9ncmVzcy1iYXItc3RyaXBlcyAycyBsaW5lYXIgaW5maW5pdGU7XG4gIH1cbn1cblxuXG4vL1xuLy8gVmFyaWF0aW9uc1xuLy9cblxuLnByb2dyZXNzLXN1Y2Nlc3Mge1xuICBAaW5jbHVkZSBwcm9ncmVzcy12YXJpYW50KCRwcm9ncmVzcy1iYXItc3VjY2Vzcy1iZyk7XG59XG4ucHJvZ3Jlc3MtaW5mbyB7XG4gIEBpbmNsdWRlIHByb2dyZXNzLXZhcmlhbnQoJHByb2dyZXNzLWJhci1pbmZvLWJnKTtcbn1cbi5wcm9ncmVzcy13YXJuaW5nIHtcbiAgQGluY2x1ZGUgcHJvZ3Jlc3MtdmFyaWFudCgkcHJvZ3Jlc3MtYmFyLXdhcm5pbmctYmcpO1xufVxuLnByb2dyZXNzLWRhbmdlciB7XG4gIEBpbmNsdWRlIHByb2dyZXNzLXZhcmlhbnQoJHByb2dyZXNzLWJhci1kYW5nZXItYmcpO1xufVxuIiwiLy8gR3JhZGllbnRzXG5cbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG4vLyBDb2xvciBzdG9wcyBhcmUgbm90IGF2YWlsYWJsZSBpbiBJRTkuXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MSk7IC8vIElFOVxufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbi8vIENvbG9yIHN0b3BzIGFyZSBub3QgYXZhaWxhYmxlIGluIElFOS5cbkBtaXhpbiBncmFkaWVudC15KCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MCk7IC8vIElFOVxufVxuXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xufVxuQG1peGluIGdyYWRpZW50LXgtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogIzAwYjNlZSwgJG1pZC1jb2xvcjogIzdhNDNiNiwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogI2MzMzI1Zikge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTEpOyAvLyBJRTkgZ2V0cyBubyBjb2xvci1zdG9wIGF0IGFsbCBmb3IgcHJvcGVyIGZhbGxiYWNrXG59XG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAjMDBiM2VlLCAkbWlkLWNvbG9yOiAjN2E0M2I2LCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAjYzMzMjVmKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0wKTsgLy8gSUU5IGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xufVxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICM1NTUsICRvdXRlci1jb2xvcjogIzMzMykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG59IiwiLy8gUHJvZ3Jlc3MgYmFyc1xuXG5AbWl4aW4gcHJvZ3Jlc3MtdmFyaWFudCgkY29sb3IpIHtcbiAgJlt2YWx1ZV06Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICZbdmFsdWVdOjotbW96LXByb2dyZXNzLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLy8gSUUxMCssIE1pY3Jvc29mdCBFZGdlXG4gICZbdmFsdWVdOjotbXMtZmlsbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLy8gSUU5XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIC5wcm9ncmVzcy1iYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuIiwiQGlmICRlbmFibGUtZmxleCB7XG4gIC5tZWRpYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICB9XG4gIC5tZWRpYS1ib2R5IHtcbiAgICBmbGV4OiAxO1xuICB9XG4gIC5tZWRpYS1taWRkbGUge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgfVxuICAubWVkaWEtYm90dG9tIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgfVxufSBAZWxzZSB7XG4gIC5tZWRpYSB7XG4gICAgbWFyZ2luLXRvcDogJG1lZGlhLW1hcmdpbi10b3A7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG4gIC5tZWRpYSxcbiAgLm1lZGlhLWJvZHkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgLm1lZGlhLWJvZHkge1xuICAgIHdpZHRoOiAxMDAwMHB4O1xuICB9XG4gIC5tZWRpYS1sZWZ0LFxuICAubWVkaWEtcmlnaHQsXG4gIC5tZWRpYS1ib2R5IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cbiAgLm1lZGlhLW1pZGRsZSB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuICAubWVkaWEtYm90dG9tIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICB9XG59XG5cblxuLy9cbi8vIEltYWdlcy9lbGVtZW50cyBhcyB0aGUgbWVkaWEgYW5jaG9yXG4vL1xuXG4ubWVkaWEtb2JqZWN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgLy8gRml4IGNvbGxhcHNlIGluIHdlYmtpdCBmcm9tIG1heC13aWR0aDogMTAwJSBhbmQgZGlzcGxheTogdGFibGUtY2VsbC5cbiAgJi5pbWctdGh1bWJuYWlsIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cblxuXG4vL1xuLy8gQWxpZ25tZW50XG4vL1xuXG4ubWVkaWEtcmlnaHQge1xuICBwYWRkaW5nLWxlZnQ6ICRtZWRpYS1hbGlnbm1lbnQtcGFkZGluZy14O1xufVxuXG4ubWVkaWEtbGVmdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRtZWRpYS1hbGlnbm1lbnQtcGFkZGluZy14O1xufVxuXG5cbi8vXG4vLyBIZWFkaW5nc1xuLy9cblxuLm1lZGlhLWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWEtaGVhZGluZy1tYXJnaW4tYm90dG9tO1xufVxuXG5cbi8vXG4vLyBNZWRpYSBsaXN0IHZhcmlhdGlvblxuLy9cblxuLm1lZGlhLWxpc3Qge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gRWFzaWx5IHVzYWJsZSBvbiA8dWw+LCA8b2w+LCBvciA8ZGl2Pi5cblxuLmxpc3QtZ3JvdXAge1xuICAvLyBObyBuZWVkIHRvIHNldCBsaXN0LXN0eWxlOiBub25lOyBzaW5jZSAubGlzdC1ncm91cC1pdGVtIGlzIGJsb2NrIGxldmVsXG4gIHBhZGRpbmctbGVmdDogMDsgLy8gcmVzZXQgcGFkZGluZyBiZWNhdXNlIHVsIGFuZCBvbFxuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5cbi8vIEluZGl2aWR1YWwgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBvbiBgbGlgcyBvciBgZGl2YHMgd2l0aGluIHRoZSBgLmxpc3QtZ3JvdXBgIHBhcmVudC5cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14O1xuICAvLyBQbGFjZSB0aGUgYm9yZGVyIG9uIHRoZSBsaXN0IGl0ZW1zIGFuZCBuZWdhdGl2ZSBtYXJnaW4gdXAgZm9yIGJldHRlciBzdHlsaW5nXG4gIG1hcmdpbi1ib3R0b206IC0kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWJnO1xuICBib3JkZXI6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aCBzb2xpZCAkbGlzdC1ncm91cC1ib3JkZXItY29sb3I7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmLmRpc2FibGVkIHtcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1iZztcblxuICAgICAgLy8gRm9yY2UgY29sb3IgdG8gaW5oZXJpdCBmb3IgY3VzdG9tIGNvbnRlbnRcbiAgICAgIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgfVxuICAgICAgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHtcbiAgICAgICAgY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLXRleHQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDI7IC8vIFBsYWNlIGFjdGl2ZSBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyAvLyBSZXBlYXQgaGVyZSBiZWNhdXNlIGl0IGluaGVyaXRzIGdsb2JhbCBhOmhvdmVyIG90aGVyd2lzZVxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyO1xuXG4gICAgICAvLyBGb3JjZSBjb2xvciB0byBpbmhlcml0IGZvciBjdXN0b20gY29udGVudFxuICAgICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLFxuICAgICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nID4gc21hbGwsXG4gICAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcgPiAuc21hbGwge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIH1cbiAgICAgIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCB7XG4gICAgICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtdGV4dC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmxpc3QtZ3JvdXAtZmx1c2gge1xuICAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG5cblxuLy8gSW50ZXJhY3RpdmUgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBhbmNob3Igb3IgYnV0dG9uIGVsZW1lbnRzIGluc3RlYWQgb2YgYGxpYHMgb3IgYGRpdmBzIHRvIGNyZWF0ZSBpbnRlcmFjdGl2ZVxuLy8gbGlzdCBpdGVtcy4gSW5jbHVkZXMgYW4gZXh0cmEgYC5hY3RpdmVgIG1vZGlmaWVyIGNsYXNzIGZvciBzZWxlY3RlZCBpdGVtcy5cblxuLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGJlY29tZSAxMDAlIGJ5IGRlZmF1bHQgdGhvdWdoKVxuICBjb2xvcjogJGxpc3QtZ3JvdXAtbGluay1jb2xvcjtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGluaGVyaXQpXG5cbiAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtbGluay1oZWFkaW5nLWNvbG9yO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1ob3Zlci1iZztcbiAgfVxufVxuXG5cbi8vIENvbnRleHR1YWwgdmFyaWFudHNcbi8vXG4vLyBBZGQgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGV4dCBhbmQgYmFja2dyb3VuZCBjb2xvciBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuLy8gT3JnYW5pemF0aW9uYWxseSwgdGhpcyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGA6aG92ZXJgIHN0YXRlcy5cblxuQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoc3VjY2VzcywgJHN0YXRlLXN1Y2Nlc3MtYmcsICRzdGF0ZS1zdWNjZXNzLXRleHQpO1xuQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoaW5mbywgJHN0YXRlLWluZm8tYmcsICRzdGF0ZS1pbmZvLXRleHQpO1xuQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQod2FybmluZywgJHN0YXRlLXdhcm5pbmctYmcsICRzdGF0ZS13YXJuaW5nLXRleHQpO1xuQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoZGFuZ2VyLCAkc3RhdGUtZGFuZ2VyLWJnLCAkc3RhdGUtZGFuZ2VyLXRleHQpO1xuXG5cbi8vIEN1c3RvbSBjb250ZW50IG9wdGlvbnNcbi8vXG4vLyBFeHRyYSBjbGFzc2VzIGZvciBjcmVhdGluZyB3ZWxsLWZvcm1hdHRlZCBjb250ZW50IHdpdGhpbiBgLmxpc3QtZ3JvdXAtaXRlbWBzLlxuXG4ubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbGlzdC1ncm91cC1pdGVtLWhlYWRpbmctbWFyZ2luLWJvdHRvbTtcbn1cbi5saXN0LWdyb3VwLWl0ZW0tdGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG4iLCIvLyBMaXN0IGdyb3VwXG5cbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDsgLy8gI2ZmZlxuLy8kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgIDAgIWRlZmF1bHQ7IC8vICRib3JkZXItd2lkdGhcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgMCAhZGVmYXVsdDsgLy8gJGJvcmRlci1yYWRpdXNcbi8vXG4vLyRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbi8vJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbi8vJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlcjogICAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4vLyRsaXN0LWdyb3VwLWFjdGl2ZS10ZXh0LWNvbG9yOiAgbGlnaHRlbigkbGlzdC1ncm91cC1hY3RpdmUtYmcsIDQwJSkgIWRlZmF1bHQ7XG4vL1xuLy8kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbi8vJGxpc3QtZ3JvdXAtZGlzYWJsZWQtdGV4dC1jb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XG4vL1xuLy8kbGlzdC1ncm91cC1saW5rLWNvbG9yOiAgICAgICAgICM1NTUgIWRlZmF1bHQ7XG4vLyRsaXN0LWdyb3VwLWxpbmstaG92ZXItY29sb3I6ICAgJGxpc3QtZ3JvdXAtbGluay1jb2xvciAhZGVmYXVsdDtcbi8vJGxpc3QtZ3JvdXAtbGluay1oZWFkaW5nLWNvbG9yOiAjMzMzICFkZWZhdWx0O1xuXG4iLCIvLyBMaXN0IEdyb3Vwc1xuXG5AbWl4aW4gbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGNvbG9yKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICB9XG5cbiAgYS5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9LFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIENyZWRpdDogTmljb2xhcyBHYWxsYWdoZXIgYW5kIFNVSVQgQ1NTLlxuXG4uZW1iZWQtcmVzcG9uc2l2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxuICBpZnJhbWUsXG4gIGVtYmVkLFxuICBvYmplY3QsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuLmVtYmVkLXJlc3BvbnNpdmUtMjFieTkge1xuICBwYWRkaW5nLWJvdHRvbTogcGVyY2VudGFnZSg5IC8gMjEpO1xufVxuXG4uZW1iZWQtcmVzcG9uc2l2ZS0xNmJ5OSB7XG4gIHBhZGRpbmctYm90dG9tOiBwZXJjZW50YWdlKDkgLyAxNik7XG59XG5cbi5lbWJlZC1yZXNwb25zaXZlLTRieTMge1xuICBwYWRkaW5nLWJvdHRvbTogcGVyY2VudGFnZSgzIC8gNCk7XG59XG5cbi5lbWJlZC1yZXNwb25zaXZlLTFieTEge1xuICBwYWRkaW5nLWJvdHRvbTogcGVyY2VudGFnZSgxIC8gMSk7XG59XG4iLCIuY2xvc2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogKCRmb250LXNpemUtYmFzZSAqIDEuNSk7XG4gIGZvbnQtd2VpZ2h0OiAkY2xvc2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICB0ZXh0LXNoYWRvdzogJGNsb3NlLXRleHQtc2hhZG93O1xuICBvcGFjaXR5OiAuMjtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG9wYWNpdHk6IC41O1xuICB9XG59XG5cbi8vIEFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgYnV0dG9uIHZlcnNpb25cbi8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuLy8gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcbmJ1dHRvbi5jbG9zZSB7XG4gIHBhZGRpbmc6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuLy8gc2Nzcy1saW50OmVuYWJsZSBRdWFsaWZ5aW5nRWxlbWVudFxuIiwiLy8gLm1vZGFsLW9wZW4gICAgICAtIGJvZHkgY2xhc3MgZm9yIGtpbGxpbmcgdGhlIHNjcm9sbFxuLy8gLm1vZGFsICAgICAgICAgICAtIGNvbnRhaW5lciB0byBzY3JvbGwgd2l0aGluXG4vLyAubW9kYWwtZGlhbG9nICAgIC0gcG9zaXRpb25pbmcgc2hlbGwgZm9yIHRoZSBhY3R1YWwgbW9kYWxcbi8vIC5tb2RhbC1jb250ZW50ICAgLSBhY3R1YWwgbW9kYWwgdy8gYmcgYW5kIGNvcm5lcnMgYW5kIHNoaXRcblxuXG4vLyBLaWxsIHRoZSBzY3JvbGwgb24gdGhlIGJvZHlcbi5tb2RhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8gQ29udGFpbmVyIHRoYXQgdGhlIG1vZGFsIHNjcm9sbHMgd2l0aGluXG4ubW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbDtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLy8gUHJldmVudCBDaHJvbWUgb24gV2luZG93cyBmcm9tIGFkZGluZyBhIGZvY3VzIG91dGxpbmUuIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTA5NTEuXG4gIG91dGxpbmU6IDA7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAvLyBXaGVuIGZhZGluZyBpbiB0aGUgbW9kYWwsIGFuaW1hdGUgaXQgdG8gc2xpZGUgZG93blxuICAmLmZhZGUgLm1vZGFsLWRpYWxvZyB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBlYXNlLW91dDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMjUlKTtcbiAgfVxuICAmLmluIC5tb2RhbC1kaWFsb2cgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxufVxuLm1vZGFsLW9wZW4gLm1vZGFsIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luO1xufVxuXG4vLyBBY3R1YWwgbW9kYWxcbi5tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtY29udGVudC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLWxnKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkbW9kYWwtY29udGVudC14cy1ib3gtc2hhZG93KTtcbiAgLy8gUmVtb3ZlIGZvY3VzIG91dGxpbmUgZnJvbSBvcGVuZWQgbW9kYWxcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gTW9kYWwgYmFja2dyb3VuZFxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWwtYmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1iYWNrZHJvcC1iZztcblxuICAvLyBGYWRlIGZvciBiYWNrZHJvcFxuICAmLmZhZGUgeyBvcGFjaXR5OiAwOyB9XG4gICYuaW4geyBvcGFjaXR5OiAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTsgfVxufVxuXG4vLyBNb2RhbCBoZWFkZXJcbi8vIFRvcCBzZWN0aW9uIG9mIHRoZSBtb2RhbCB3LyB0aXRsZSBhbmQgZGlzbWlzc1xuLm1vZGFsLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRtb2RhbC10aXRsZS1wYWRkaW5nO1xuICBib3JkZXItYm90dG9tOiAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG4vLyBDbG9zZSBpY29uXG4ubW9kYWwtaGVhZGVyIC5jbG9zZSB7XG4gIG1hcmdpbi10b3A6IC0ycHg7XG59XG5cbi8vIFRpdGxlIHRleHQgd2l0aGluIGhlYWRlclxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0O1xufVxuXG4vLyBNb2RhbCBib2R5XG4vLyBXaGVyZSBhbGwgbW9kYWwgY29udGVudCByZXNpZGVzIChzaWJsaW5nIG9mIC5tb2RhbC1oZWFkZXIgYW5kIC5tb2RhbC1mb290ZXIpXG4ubW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmc7XG59XG5cbi8vIEZvb3RlciAoZm9yIGFjdGlvbnMpXG4ubW9kYWwtZm9vdGVyIHtcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmc7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyAvLyByaWdodCBhbGlnbiBidXR0b25zXG4gIGJvcmRlci10b3A6ICRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpOyAvLyBjbGVhciBpdCBpbiBjYXNlIGZvbGtzIHVzZSAucHVsbC0qIGNsYXNzZXMgb24gYnV0dG9uc1xufVxuXG4vLyBNZWFzdXJlIHNjcm9sbGJhciB3aWR0aCBmb3IgcGFkZGluZyBib2R5IGR1cmluZyBtb2RhbCBzaG93L2hpZGVcbi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogc2Nyb2xsO1xufVxuXG4vLyBTY2FsZSB1cCB0aGUgbW9kYWxcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLy8gQXV0b21hdGljYWxseSBzZXQgbW9kYWwncyB3aWR0aCBmb3IgbGFyZ2VyIHZpZXdwb3J0c1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICBtYXgtd2lkdGg6ICRtb2RhbC1tZDtcbiAgICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctc20tdXAtbWFyZ2luLXkgYXV0bztcbiAgfVxuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LXNtLXVwLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgLm1vZGFsLXNtIHsgbWF4LXdpZHRoOiAkbW9kYWwtc207IH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubW9kYWwtbGcgeyBtYXgtd2lkdGg6ICRtb2RhbC1sZzsgfVxufVxuIiwiLy8gTW9kYWxzXG4kbW9kYWwtY29udGVudC14cy1ib3gtc2hhZG93OiAkYm1kLXNoYWRvdy0yNGRwICFkZWZhdWx0O1xuXG4vLyBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIGJvZHlcbi8vJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgMTVweCAhZGVmYXVsdDtcbi8vXG4vLyRtb2RhbC10aXRsZS1wYWRkaW5nOiAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4vLyRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuLy9cbi8vJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsLjIpICFkZWZhdWx0O1xuLy9cbi8vJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgIC4yNiAhZGVmYXVsdDsgLy8gLjVcbi8vJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgI2U1ZTVlNSAhZGVmYXVsdDtcbi8vJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4vL1xuLy8kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICA5MDBweCAhZGVmYXVsdDtcbi8vJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgNjAwcHggIWRlZmF1bHQ7XG4vLyRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuIiwiLy8gQmFzZSBjbGFzc1xuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICR6aW5kZXgtdG9vbHRpcDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSB0b29sdGlwJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3BhY2l0eTogMDtcblxuICAmLmluIHsgb3BhY2l0eTogJHRvb2x0aXAtb3BhY2l0eTsgfVxuXG4gICYudG9vbHRpcC10b3AsXG4gICYuYnMtdGV0aGVyLWVsZW1lbnQtYXR0YWNoZWQtYm90dG9tIHtcbiAgICBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAwO1xuICAgIG1hcmdpbi10b3A6IC0kdG9vbHRpcC1tYXJnaW47XG5cbiAgICAudG9vbHRpcC1hcnJvdyB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aCAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG4gICYudG9vbHRpcC1yaWdodCxcbiAgJi5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1sZWZ0IHtcbiAgICBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiAkdG9vbHRpcC1tYXJnaW47XG5cbiAgICAudG9vbHRpcC1hcnJvdyB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxuICAmLnRvb2x0aXAtYm90dG9tLFxuICAmLmJzLXRldGhlci1lbGVtZW50LWF0dGFjaGVkLXRvcCB7XG4gICAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICBtYXJnaW4tdG9wOiAkdG9vbHRpcC1tYXJnaW47XG5cbiAgICAudG9vbHRpcC1hcnJvdyB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG4gICYudG9vbHRpcC1sZWZ0LFxuICAmLmJzLXRldGhlci1lbGVtZW50LWF0dGFjaGVkLXJpZ2h0IHtcbiAgICBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiAtJHRvb2x0aXAtbWFyZ2luO1xuXG4gICAgLnRvb2x0aXAtYXJyb3cge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGggMCAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLy8gV3JhcHBlciBmb3IgdGhlIHRvb2x0aXAgY29udGVudFxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZy15ICR0b29sdGlwLXBhZGRpbmcteDtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gQXJyb3dzXG4udG9vbHRpcC1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cbiIsIkBtaXhpbiByZXNldC10ZXh0IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG8gTk9UIHJlc2V0IGZvbnQtc2l6ZSBvciB3b3JkLXdyYXAuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbn1cbiIsIi5wb3BvdmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtcG9wb3ZlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogJHBvcG92ZXItbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAkcG9wb3Zlci1pbm5lci1wYWRkaW5nO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgcG9wb3ZlcidzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCAkcG9wb3Zlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtbGcpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwb3BvdmVyLWJveC1zaGFkb3cpO1xuXG5cbiAgLy8gUG9wb3ZlciBkaXJlY3Rpb25zXG5cbiAgJi5wb3BvdmVyLXRvcCxcbiAgJi5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1ib3R0b20ge1xuICAgIG1hcmdpbi10b3A6IC0kcG9wb3Zlci1hcnJvdy13aWR0aDtcblxuICAgIC5wb3BvdmVyLWFycm93IHtcbiAgICAgIGJvdHRvbTogLSRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYm90dG9tOiAxcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYucG9wb3Zlci1yaWdodCxcbiAgJi5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG5cbiAgICAucG9wb3Zlci1hcnJvdyB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICAgIG1hcmdpbi10b3A6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYm90dG9tOiAtJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgICAgIGxlZnQ6IDFweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5wb3BvdmVyLWJvdHRvbSxcbiAgJi5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC10b3Age1xuICAgIG1hcmdpbi10b3A6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuXG4gICAgLnBvcG92ZXItYXJyb3cge1xuICAgICAgdG9wOiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLSRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5wb3BvdmVyLWxlZnQsXG4gICYuYnMtdGV0aGVyLWVsZW1lbnQtYXR0YWNoZWQtcmlnaHQge1xuICAgIG1hcmdpbi1sZWZ0OiAtJHBvcG92ZXItYXJyb3ctd2lkdGg7XG5cbiAgICAucG9wb3Zlci1hcnJvdyB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgICBtYXJnaW4tdG9wOiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAxcHg7XG4gICAgICAgIGJvdHRvbTogLSRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBPZmZzZXQgdGhlIHBvcG92ZXIgdG8gYWNjb3VudCBmb3IgdGhlIHBvcG92ZXIgYXJyb3dcbi5wb3BvdmVyLXRpdGxlIHtcbiAgcGFkZGluZzogJHBvcG92ZXItdGl0bGUtcGFkZGluZy15ICRwb3BvdmVyLXRpdGxlLXBhZGRpbmcteDtcbiAgbWFyZ2luOiAwOyAvLyByZXNldCBoZWFkaW5nIG1hcmdpblxuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBvcG92ZXItdGl0bGUtYmc7XG4gIGJvcmRlci1ib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCBkYXJrZW4oJHBvcG92ZXItdGl0bGUtYmcsIDUlKTtcbiAgJG9mZnNldC1ib3JkZXItd2lkdGg6ICgkYm9yZGVyLXdpZHRoIC8gJGZvbnQtc2l6ZS1yb290KTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygoJGJvcmRlci1yYWRpdXMtbGcgLSAkb2Zmc2V0LWJvcmRlci13aWR0aCkgKCRib3JkZXItcmFkaXVzLWxnIC0gJG9mZnNldC1ib3JkZXItd2lkdGgpIDAgMCk7XG5cbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucG9wb3Zlci1jb250ZW50IHtcbiAgcGFkZGluZzogJHBvcG92ZXItY29udGVudC1wYWRkaW5nLXkgJHBvcG92ZXItY29udGVudC1wYWRkaW5nLXg7XG59XG5cblxuLy8gQXJyb3dzXG4vL1xuLy8gLnBvcG92ZXItYXJyb3cgaXMgb3V0ZXIsIC5wb3BvdmVyLWFycm93OjphZnRlciBpcyBpbm5lclxuXG4ucG9wb3Zlci1hcnJvdyB7XG4gICYsXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgfVxufVxuLnBvcG92ZXItYXJyb3cge1xuICBib3JkZXItd2lkdGg6ICRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xufVxuLnBvcG92ZXItYXJyb3c6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbn1cbiIsIi8vIFdyYXBwZXIgZm9yIHRoZSBzbGlkZSBjb250YWluZXIgYW5kIGluZGljYXRvcnNcbi5jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhcm91c2VsLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICA+IC5jYXJvdXNlbC1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiAuNnMgZWFzZS1pbi1vdXQgbGVmdDtcblxuICAgIC8vIEFjY291bnQgZm9yIGphbmtpdHVkZSBvbiBpbWFnZXNcbiAgICA+IGltZyxcbiAgICA+IGEgPiBpbWcge1xuICAgICAgQGV4dGVuZCAuaW1nLWZsdWlkO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuXG4gICAgLy8gV2ViS2l0IENTUzMgdHJhbnNmb3JtcyBmb3Igc3VwcG9ydGVkIGRldmljZXNcbiAgICBAbWVkaWEgYWxsIGFuZCAodHJhbnNmb3JtLTNkKSwgKC13ZWJraXQtdHJhbnNmb3JtLTNkKSB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjZzIGVhc2UtaW4tb3V0O1xuICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgcGVyc3BlY3RpdmU6IDEwMDBweDtcblxuICAgICAgJi5uZXh0LFxuICAgICAgJi5hY3RpdmUucmlnaHQge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgfVxuICAgICAgJi5wcmV2LFxuICAgICAgJi5hY3RpdmUubGVmdCB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgICAgfVxuICAgICAgJi5uZXh0LmxlZnQsXG4gICAgICAmLnByZXYucmlnaHQsXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgPiAuYWN0aXZlLFxuICA+IC5uZXh0LFxuICA+IC5wcmV2IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gID4gLmFjdGl2ZSB7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gID4gLm5leHQsXG4gID4gLnByZXYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5uZXh0IHtcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG4gID4gLnByZXYge1xuICAgIGxlZnQ6IC0xMDAlO1xuICB9XG4gID4gLm5leHQubGVmdCxcbiAgPiAucHJldi5yaWdodCB7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gID4gLmFjdGl2ZS5sZWZ0IHtcbiAgICBsZWZ0OiAtMTAwJTtcbiAgfVxuICA+IC5hY3RpdmUucmlnaHQge1xuICAgIGxlZnQ6IDEwMCU7XG4gIH1cbn1cblxuXG4vL1xuLy8gTGVmdC9yaWdodCBjb250cm9scyBmb3IgbmF2XG4vL1xuXG4uY2Fyb3VzZWwtY29udHJvbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgZm9udC1zaXplOiAkY2Fyb3VzZWwtY29udHJvbC1mb250LXNpemU7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXNoYWRvdzogJGNhcm91c2VsLXRleHQtc2hhZG93O1xuICBvcGFjaXR5OiAkY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5O1xuICAvLyBXZSBjYW4ndCBoYXZlIHRoaXMgdHJhbnNpdGlvbiBoZXJlIGJlY2F1c2UgV2ViS2l0IGNhbmNlbHMgdGhlIGNhcm91c2VsXG4gIC8vIGFuaW1hdGlvbiBpZiB5b3UgdHJpcCB0aGlzIHdoaWxlIGluIHRoZSBtaWRkbGUgb2YgYW5vdGhlciBhbmltYXRpb24uXG5cbiAgLy8gU2V0IGdyYWRpZW50cyBmb3IgYmFja2dyb3VuZHNcbiAgJi5sZWZ0IHtcbiAgICBAaW5jbHVkZSBncmFkaWVudC14KCRzdGFydC1jb2xvcjogcmdiYSgwLDAsMCwuNSksICRlbmQtY29sb3I6IHJnYmEoMCwwLDAsLjAwMDEpKTtcbiAgfVxuICAmLnJpZ2h0IHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LXgoJHN0YXJ0LWNvbG9yOiByZ2JhKDAsMCwwLC4wMDAxKSwgJGVuZC1jb2xvcjogcmdiYSgwLDAsMCwuNSkpO1xuICB9XG5cbiAgLy8gSG92ZXIvZm9jdXMgc3RhdGVcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICBvcGFjaXR5OiAuOTtcbiAgfVxuXG4gIC8vIFRvZ2dsZXNcbiAgLmljb24tcHJldixcbiAgLmljb24tbmV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAkY2Fyb3VzZWwtaWNvbi13aWR0aDtcbiAgICBoZWlnaHQ6ICRjYXJvdXNlbC1pY29uLXdpZHRoO1xuICAgIG1hcmdpbi10b3A6IC0oJGNhcm91c2VsLWljb24td2lkdGggLyAyKTtcbiAgICBmb250LWZhbWlseTogc2VyaWY7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cbiAgLmljb24tcHJldiB7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtKCRjYXJvdXNlbC1pY29uLXdpZHRoIC8gMik7XG4gIH1cbiAgLmljb24tbmV4dCB7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0oJGNhcm91c2VsLWljb24td2lkdGggLyAyKTtcbiAgfVxuXG4gIC5pY29uLXByZXYge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcMjAzOVwiOy8vIFNJTkdMRSBMRUZULVBPSU5USU5HIEFOR0xFIFFVT1RBVElPTiBNQVJLIChVKzIwMzkpXG4gICAgfVxuICB9XG4gIC5pY29uLW5leHQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcMjAzYVwiOy8vIFNJTkdMRSBSSUdIVC1QT0lOVElORyBBTkdMRSBRVU9UQVRJT04gTUFSSyAoVSsyMDNBKVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIE9wdGlvbmFsIGluZGljYXRvciBwaXBzXG4vL1xuLy8gQWRkIGFuIHVub3JkZXJlZCBsaXN0IHdpdGggdGhlIGZvbGxvd2luZyBjbGFzcyBhbmQgYWRkIGEgbGlzdCBpdGVtIGZvciBlYWNoXG4vLyBzbGlkZSB5b3VyIGNhcm91c2VsIGhvbGRzLlxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxMHB4O1xuICBsZWZ0OiA1MCU7XG4gIHotaW5kZXg6IDE1O1xuICB3aWR0aDogJGNhcm91c2VsLWluZGljYXRvcnMtd2lkdGg7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWxlZnQ6IC0oJGNhcm91c2VsLWluZGljYXRvcnMtd2lkdGggLyAyKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBoZWlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBtYXJnaW46IDFweDtcbiAgICB0ZXh0LWluZGVudDogLTk5OXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAvLyBJRTkgaGFjayBmb3IgZXZlbnQgaGFuZGxpbmdcbiAgICAvL1xuICAgIC8vIEludGVybmV0IEV4cGxvcmVyIDkgZG9lcyBub3QgcHJvcGVybHkgaGFuZGxlIGNsaWNrcyBvbiBlbGVtZW50cyB3aXRoIGEgYGJhY2tncm91bmQtY29sb3JgIG9mIGB0cmFuc3BhcmVudGAsXG4gICAgLy8gc28gd2UgdXNlIGByZ2JhKDAsMCwwLDApYCBpbnN0ZWFkIHNpbmNlIGl0J3MgYSBub24tYnVnZ3kgZXF1aXZhbGVudC5cbiAgICAvLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI0ludGVybmV0X0V4cGxvcmVyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwKTsgLy8gSUU5XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNhcm91c2VsLWluZGljYXRvci1ib3JkZXItY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogJGNhcm91c2VsLWluZGljYXRvci1zaXplO1xuICB9XG5cbiAgLmFjdGl2ZSB7XG4gICAgd2lkdGg6ICRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLXNpemU7XG4gICAgaGVpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1zaXplO1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZztcbiAgfVxufVxuXG5cbi8vIE9wdGlvbmFsIGNhcHRpb25zXG4vL1xuLy8gSGlkZGVuIGJ5IGRlZmF1bHQgZm9yIHNtYWxsZXIgdmlld3BvcnRzLlxuXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6ICgoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAvIDIpO1xuICBib3R0b206IDIwcHg7XG4gIGxlZnQ6ICgoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAvIDIpO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBjb2xvcjogJGNhcm91c2VsLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1zaGFkb3c6ICRjYXJvdXNlbC10ZXh0LXNoYWRvdztcblxuICAuYnRuIHtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTsgLy8gTm8gc2hhZG93IGZvciBidXR0b24gZWxlbWVudHMgaW4gY2Fyb3VzZWwtY2FwdGlvblxuICB9XG59XG5cblxuLy9cbi8vIFJlc3BvbnNpdmUgdmFyaWF0aW9uc1xuLy9cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAvLyBTY2FsZSB1cCB0aGUgY29udHJvbHMgYSBzbWlkZ2VcbiAgLmNhcm91c2VsLWNvbnRyb2wge1xuICAgIC5pY29uLXByZXYsXG4gICAgLmljb24tbmV4dCB7XG4gICAgICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtc20tdXAtc2l6ZTtcbiAgICAgIGhlaWdodDogJGNhcm91c2VsLWNvbnRyb2wtc20tdXAtc2l6ZTtcbiAgICAgIG1hcmdpbi10b3A6IC0oJGNhcm91c2VsLWNvbnRyb2wtc20tdXAtc2l6ZSAvIDIpO1xuICAgICAgZm9udC1zaXplOiAkY2Fyb3VzZWwtY29udHJvbC1zbS11cC1zaXplO1xuICAgIH1cbiAgICAuaWNvbi1wcmV2IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtKCRjYXJvdXNlbC1jb250cm9sLXNtLXVwLXNpemUgLyAyKTtcbiAgICB9XG4gICAgLmljb24tbmV4dCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0oJGNhcm91c2VsLWNvbnRyb2wtc20tdXAtc2l6ZSAvIDIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNob3cgYW5kIGxlZnQgYWxpZ24gdGhlIGNhcHRpb25zXG4gIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICByaWdodDogKCgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24tc20tdXAtd2lkdGgpIC8gMik7XG4gICAgbGVmdDogKCgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24tc20tdXAtd2lkdGgpIC8gMik7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIH1cblxuICAvLyBNb3ZlIHVwIHRoZSBpbmRpY2F0b3JzXG4gIC5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgICBib3R0b206IDIwcHg7XG4gIH1cbn1cbiIsIi8vXG4vLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG4vL1xuXG4uYmctZmFkZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1saWdodGVzdDtcbn1cblxuQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLXByaW1hcnknLCAkYnJhbmQtcHJpbWFyeSk7XG5cbkBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy1zdWNjZXNzJywgJGJyYW5kLXN1Y2Nlc3MpO1xuXG5AaW5jbHVkZSBiZy12YXJpYW50KCcuYmctaW5mbycsICRicmFuZC1pbmZvKTtcblxuQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLXdhcm5pbmcnLCAkYnJhbmQtd2FybmluZyk7XG5cbkBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy1kYW5nZXInLCAkYnJhbmQtZGFuZ2VyKTtcblxuQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLWludmVyc2UnLCAkYnJhbmQtaW52ZXJzZSk7XG4iLCIvLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIGEjeyRwYXJlbnR9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIuY2xlYXJmaXgge1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuIiwiLy9cbi8vIERpc3BsYXkgdXRpbGl0aWVzXG4vL1xuXG4uZC1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG4uZC1pbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbn1cbi5kLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xufVxuIiwiLy8gRmxleCB2YXJpYXRpb25cbi8vXG4vLyBDdXN0b20gc3R5bGVzIGZvciBhZGRpdGlvbmFsIGZsZXggYWxpZ25tZW50IG9wdGlvbnMuXG5cbkBpZiAkZW5hYmxlLWZsZXgge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgIC8vIEZsZXggY29sdW1uIHJlb3JkZXJpbmdcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAuZmxleC0jeyRicmVha3BvaW50fS1maXJzdCB7IG9yZGVyOiAtMTsgfVxuICAgICAgLmZsZXgtI3skYnJlYWtwb2ludH0tbGFzdCB7IG9yZGVyOiAxOyB9XG4gICAgICAuZmxleC0jeyRicmVha3BvaW50fS11bm9yZGVyZWQgeyBvcmRlcjogMDsgfVxuICAgIH1cblxuICAgIC8vIEFsaWdubWVudCBmb3IgZXZlcnkgaXRlbVxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAgIC5mbGV4LWl0ZW1zLSN7JGJyZWFrcG9pbnR9LXRvcCB7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgICAuZmxleC1pdGVtcy0jeyRicmVha3BvaW50fS1taWRkbGUgeyBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAuZmxleC1pdGVtcy0jeyRicmVha3BvaW50fS1ib3R0b20geyBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbm1lbnQgcGVyIGl0ZW1cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAuZmxleC0jeyRicmVha3BvaW50fS10b3AgICB7IGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cbiAgICAgIC5mbGV4LSN7JGJyZWFrcG9pbnR9LW1pZGRsZSB7IGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuICAgICAgLmZsZXgtI3skYnJlYWtwb2ludH0tYm90dG9tIHsgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cbiAgICB9XG5cbiAgICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCBvZiBpdGVtXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgLmZsZXgtaXRlbXMtI3skYnJlYWtwb2ludH0tbGVmdCB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgICAgLmZsZXgtaXRlbXMtI3skYnJlYWtwb2ludH0tY2VudGVyIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgIC5mbGV4LWl0ZW1zLSN7JGJyZWFrcG9pbnR9LXJpZ2h0IHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgICAgLmZsZXgtaXRlbXMtI3skYnJlYWtwb2ludH0tYXJvdW5kIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cbiAgICAgIC5mbGV4LWl0ZW1zLSN7JGJyZWFrcG9pbnR9LWJldHdlZW4geyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICB9XG4gIH1cbn1cbiIsIkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAucHVsbC0jeyRicmVha3BvaW50fS1sZWZ0IHtcbiAgICAgIEBpbmNsdWRlIHB1bGwtbGVmdCgpO1xuICAgIH1cbiAgICAucHVsbC0jeyRicmVha3BvaW50fS1yaWdodCB7XG4gICAgICBAaW5jbHVkZSBwdWxsLXJpZ2h0KCk7XG4gICAgfVxuICAgIC5wdWxsLSN7JGJyZWFrcG9pbnR9LW5vbmUge1xuICAgICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZJWE1FOiBvbmx5IG5lY2Vzc2FyeSBiZWNhdXNlIHRoZXJlIGlzbid0IGFuIHVuZGVyc2NvcmVkIGZpbGUgLSBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODM1MFxuLy9AaW1wb3J0IFwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9cbi8vQGltcG9ydCBcIi4uLy4uL2Jvb3RzdHJhcC9zY3NzL1xuXG4vLyBDb3JlIHZhcmlhYmxlcyBhbmQgbWl4aW5zXG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvY3VzdG9tXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvbWl4aW5zXCI7XG5cbi8vICM4NTMgc3RhcnQgLSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xODk3Ni9maWxlc1xuLy8gaGFja1xuQG1peGluIHB1bGwtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIEBpZiAkZW5hYmxlLWZsZXgge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxufVxuQG1peGluIHB1bGwtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgQGlmICRlbmFibGUtZmxleCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbn1cbi8vICM4NTMgZW5kIC0gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTg5NzYvZmlsZXNcblxuXG4vLyBSZXNldCBhbmQgZGVwZW5kZW5jaWVzXG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3Mvbm9ybWFsaXplXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvcHJpbnRcIjtcblxuLy8gQ29yZSBDU1NcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9yZWJvb3RcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy90eXBlXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvaW1hZ2VzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvY29kZVwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL2dyaWRcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy90YWJsZXNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9mb3Jtc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL2J1dHRvbnNcIjtcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL2FuaW1hdGlvblwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL2Ryb3Bkb3duXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvYnV0dG9uLWdyb3VwXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvaW5wdXQtZ3JvdXBcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9jdXN0b20tZm9ybXNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9uYXZcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9uYXZiYXJcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9jYXJkXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvYnJlYWRjcnVtYlwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL3BhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy90YWdzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvanVtYm90cm9uXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvYWxlcnRcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9wcm9ncmVzc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL21lZGlhXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvbGlzdC1ncm91cFwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL3Jlc3BvbnNpdmUtZW1iZWRcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9jbG9zZVwiO1xuXG4vLyBDb21wb25lbnRzIHcvIEphdmFTY3JpcHRcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9tb2RhbFwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL3Rvb2x0aXBcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9wb3BvdmVyXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvY2Fyb3VzZWxcIjtcblxuLy8gVXRpbGl0eSBjbGFzc2VzXG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzXCI7XG4iLCIvL1xuLy8gU2NyZWVucmVhZGVyc1xuLy9cblxuLnNyLW9ubHkge1xuICBAaW5jbHVkZSBzci1vbmx5KCk7XG59XG5cbi5zci1vbmx5LWZvY3VzYWJsZSB7XG4gIEBpbmNsdWRlIHNyLW9ubHktZm9jdXNhYmxlKCk7XG59XG4iLCIvLyBPbmx5IGRpc3BsYXkgY29udGVudCB0byBzY3JlZW4gcmVhZGVyc1xuLy9cbi8vIFNlZTogaHR0cDovL2ExMXlwcm9qZWN0LmNvbS9wb3N0cy9ob3ctdG8taGlkZS1jb250ZW50XG5cbkBtaXhpbiBzci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuQG1peGluIHNyLW9ubHktZm9jdXNhYmxlIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICB9XG59XG4iLCIvLyBXaWR0aFxuXG4udy0xMDAgeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi8vIE1hcmdpbiBhbmQgUGFkZGluZ1xuXG4ubS14LWF1dG8ge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6ICBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbkBlYWNoICRwcm9wLCAkYWJicmV2IGluIChtYXJnaW46IG0sIHBhZGRpbmc6IHApIHtcbiAgQGVhY2ggJHNpemUsICRsZW5ndGhzIGluICRzcGFjZXJzIHtcbiAgICAkbGVuZ3RoLXg6ICAgbWFwLWdldCgkbGVuZ3RocywgeCk7XG4gICAgJGxlbmd0aC15OiAgIG1hcC1nZXQoJGxlbmd0aHMsIHkpO1xuXG4gICAgLiN7JGFiYnJldn0tYS0jeyRzaXplfSB7ICN7JHByb3B9OiAgICAgICAgJGxlbmd0aC15ICRsZW5ndGgteCAhaW1wb3J0YW50OyB9IC8vIGEgPSBBbGwgc2lkZXNcbiAgICAuI3skYWJicmV2fS10LSN7JHNpemV9IHsgI3skcHJvcH0tdG9wOiAgICAkbGVuZ3RoLXkgIWltcG9ydGFudDsgfVxuICAgIC4jeyRhYmJyZXZ9LXItI3skc2l6ZX0geyAjeyRwcm9wfS1yaWdodDogICRsZW5ndGgteCAhaW1wb3J0YW50OyB9XG4gICAgLiN7JGFiYnJldn0tYi0jeyRzaXplfSB7ICN7JHByb3B9LWJvdHRvbTogJGxlbmd0aC15ICFpbXBvcnRhbnQ7IH1cbiAgICAuI3skYWJicmV2fS1sLSN7JHNpemV9IHsgI3skcHJvcH0tbGVmdDogICAkbGVuZ3RoLXggIWltcG9ydGFudDsgfVxuXG4gICAgLy8gQXhlc1xuICAgIC4jeyRhYmJyZXZ9LXgtI3skc2l6ZX0ge1xuICAgICAgI3skcHJvcH0tcmlnaHQ6ICAkbGVuZ3RoLXggIWltcG9ydGFudDtcbiAgICAgICN7JHByb3B9LWxlZnQ6ICAgJGxlbmd0aC14ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC4jeyRhYmJyZXZ9LXktI3skc2l6ZX0ge1xuICAgICAgI3skcHJvcH0tdG9wOiAgICAkbGVuZ3RoLXkgIWltcG9ydGFudDtcbiAgICAgICN7JHByb3B9LWJvdHRvbTogJGxlbmd0aC15ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIFBvc2l0aW9uaW5nXG5cbi5wb3MtZi10IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW5hdmJhci1maXhlZDtcbn1cbiIsIi8vXG4vLyBUZXh0XG4vL1xuXG4vLyBBbGlnbm1lbnRcblxuLnRleHQtanVzdGlmeSAgICAgICAgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW5vd3JhcCAgICAgICAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4udGV4dC10cnVuY2F0ZSAgICAgICB7IEBpbmNsdWRlIHRleHQtdHJ1bmNhdGU7IH1cblxuLy8gUmVzcG9uc2l2ZSBhbGlnbm1lbnRcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgIC50ZXh0LSN7JGJyZWFrcG9pbnR9LWxlZnQgICB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC50ZXh0LSN7JGJyZWFrcG9pbnR9LXJpZ2h0ICB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudGV4dC0jeyRicmVha3BvaW50fS1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uXG5cbi50ZXh0LWxvd2VyY2FzZSAgICAgIHsgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC11cHBlcmNhc2UgICAgICB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsgfVxuLnRleHQtY2FwaXRhbGl6ZSAgICAgeyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50OyB9XG5cbi8vIFdlaWdodCBhbmQgaXRhbGljc1xuXG4uZm9udC13ZWlnaHQtbm9ybWFsICB7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbi5mb250LXdlaWdodC1ib2xkICAgIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbi5mb250LWl0YWxpYyAgICAgICAgIHsgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8vIENvbnRleHR1YWwgY29sb3JzXG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtbXV0ZWQnLCAkdGV4dC1tdXRlZCk7XG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtcHJpbWFyeScsICRicmFuZC1wcmltYXJ5KTtcblxuQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC1zdWNjZXNzJywgJGJyYW5kLXN1Y2Nlc3MpO1xuXG5AaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJy50ZXh0LWluZm8nLCAkYnJhbmQtaW5mbyk7XG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtd2FybmluZycsICRicmFuZC13YXJuaW5nKTtcblxuQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC1kYW5nZXInLCAkYnJhbmQtZGFuZ2VyKTtcblxuLy8gTWlzY1xuXG4udGV4dC1oaWRlIHtcbiAgQGluY2x1ZGUgdGV4dC1oaWRlKCk7XG59XG4iLCIvLyBUZXh0IHRydW5jYXRlXG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LXRydW5jYXRlKCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn0iLCIvLyBUeXBvZ3JhcGh5XG5cbkBtaXhpbiB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBhI3skcGFyZW50fSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbkBtaXhpbiB0ZXh0LWhpZGUoKSB7XG4gIGZvbnQ6IDAvMCBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZVxuXG4vL1xuLy8gVmlzaWJpbGl0eSB1dGlsaXRpZXNcbi8vXG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IHV0aWxpdGllc1xuXG5AZWFjaCAkYnAgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgLmhpZGRlbi0jeyRicH0tdXAge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJwKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIC5oaWRkZW4tI3skYnB9LWRvd24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnApIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBQcmludCB1dGlsaXRpZXNcbi8vXG4vLyBNZWRpYSBxdWVyaWVzIGFyZSBwbGFjZWQgb24gdGhlIGluc2lkZSB0byBiZSBtaXhpbi1mcmllbmRseS5cblxuLnZpc2libGUtcHJpbnQtYmxvY2sge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1wcmludC1pbmxpbmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtcHJpbnQtaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmhpZGRlbi1wcmludCB7XG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCJib2R5IHtcbiAgZm9udC13ZWlnaHQ6ICRibWQtZm9udC13ZWlnaHQtYmFzZTtcbn1cblxuYSB7XG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IC8vIHJlbW92ZSB0aGUgdGVycmlibGUgQGluY2x1ZGUgdGFiLWZvY3VzKCk7XG4gIH1cbn1cblxuYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgLy9vdXRsaW5lOiAxcHggZG90dGVkO1xuICAvL291dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbn1cblxuXG4vLy8vIFByZXZlbnQgaGlnaGxpZ2h0IG9uIG1vYmlsZVxuLy8qIHtcbi8vICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoJHdoaXRlLCAwKTtcbi8vICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuLy8gICY6Zm9jdXMge1xuLy8gICAgb3V0bGluZTogMDtcbi8vICB9XG4vL31cbiIsIi8vIEZJWE1FOiByZS1leGFtaW5lIG9yZ2FuaXphdGlvbiBvZiB2YXJpYWJsZXMsIGZpbGVzLCBvcmRlcmluZyBldGMuICBXaGlsZSB0aGUgb3JkZXJpbmcgd29ya3MsIHdlIG5lZWQgdG8gYmUgc3VyZSB0aGlzIGlzIG1vcmUgY29tcHJlaGVuc2libGUuXG5AaW1wb3J0IFwidmFyaWFibGVzL2NvbG9yc1wiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9zaGFkb3dcIjtcblxuLy8gcmVkZWZpbmUgPyBUT0RPOiBkbyB3ZSBuZWVkIHRoaXMgYm1kIHZhcmlhbnQ/ICBUaGlzIGlzIHVzZWQgYXMgJGJvZHktY29sb3JcbiRncmF5LWxpZ2h0ZXI6IHJnYmEoJGJsYWNrLCAwLjEyKSAhZGVmYXVsdDtcbiRncmF5LWxpZ2h0OiByZ2JhKCRibGFjaywgMC4yNikgIWRlZmF1bHQ7XG4kZ3JheTogcmdiYSgkYmxhY2ssIC41NCkgIWRlZmF1bHQ7IC8vIHNwZWMgY29sb3JcbiRncmF5LWRhcms6IHJnYmEoJGJsYWNrLCAwLjg3KSAhZGVmYXVsdDsgICAvLyB1c2VkIGZvciB0ZXh0IGNvbG9yIC0gb3RoZXJzIHVzZSBncmV5LTYwMCB3aGljaCBpcyBjb25zaWRlcmFibHkgbGlnaHRlclxuXG4kYm1kLWZvbnQtd2VpZ2h0LWJhc2U6IDQwMDtcblxuLy8gd29uZGVyaW5nIGlmIGFueSBvZiB0aGVzZSBjb3VsZCBzdGlsbCBiZSByZWZhY3RvcmVkIG91dCwgYnV0IGFyZSBkZWZpbml0ZWx5IGluIHVzZS5cbiRibWQtaW52ZXJzZTogcmdiYSgkd2hpdGUsIDEpICFkZWZhdWx0O1xuJGJtZC1pbnZlcnNlLWxpZ2h0OiByZ2JhKCR3aGl0ZSwgMC44NCkgIWRlZmF1bHQ7XG4kYm1kLWludmVyc2UtbGlnaHRlcjogcmdiYSgkd2hpdGUsIDAuNTQpICFkZWZhdWx0O1xuXG4kYm1kLWxhYmVsLWNvbG9yOiAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRibWQtbGFiZWwtY29sb3ItaW5uZXItZm9jdXM6ICRncmF5ICFkZWZhdWx0OyAvLyBlLmcuIHJhZGlvIGxhYmVsIG9yIHRleHQtbXV0ZWQgbm90IGEgY29udHJvbC1sYWJlbCB3aGljaCBpcyBwcmltYXJ5XG5cbi8vIEN1c3RvbWl6ZWQgQlMgdmFyaWFibGVzXG5AaW1wb3J0IFwidmFyaWFibGVzL2Jvb3RzdHJhcC9jb21wb25lbnRzXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2Jvb3RzdHJhcC9jdXN0b20tZm9ybXNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvYm9vdHN0cmFwL3NwYWNpbmdcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvYm9vdHN0cmFwL2JvZHlcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvYm9vdHN0cmFwL2JyYW5kXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2Jvb3RzdHJhcC9idXR0b25zXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2Jvb3RzdHJhcC9jYXJkXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2Jvb3RzdHJhcC9jb2RlXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2Jvb3RzdHJhcC9kcm9wZG93blwiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9ib290c3RyYXAvZm9ybXNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvYm9vdHN0cmFwL2xpc3QtZ3JvdXBcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvYm9vdHN0cmFwL25hdlwiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9ib290c3RyYXAvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9ib290c3RyYXAvc3RhdGVcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvYm9vdHN0cmFwL3R5cGVcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvYm9vdHN0cmFwL21vZGFsc1wiO1xuXG4vLyBpbXBvcnQgdGhlaXIgdmFycyBhZnRlciBjdXN0b21pemF0aW9uIGZvciB1c2UgYmVsb3dcbiRlbmFibGUtZmxleDogdHJ1ZTsgICAgIC8vIGZ1bGx5IGFkb3B0IGZsZXhib3ggbGF5b3V0c1xuJGVuYWJsZS1zaGFkb3dzOiB0cnVlOyAgLy8gZW5hYmxlIHNoYWRvd3MsIHNldCB0byBmYWxzZSB0byB0dXJuIG9mZiBzaGFkb3dzXG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvdmFyaWFibGVzXCI7IC8vIGZyb20gYm9vdHN0cmFwIG5vZGVfbW9kdWxlXG5cblxuLy9cbkBpbXBvcnQgXCJ2YXJpYWJsZXMvbGF5b3V0XCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL21lbnVcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvZHJhd2VyXCI7XG5cbiRibWQtbGFiZWwtY29sb3ItZm9jdXM6ICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRibWQtaW52YWxpZC11bmRlcmxpbmU6ICAkcmVkLWE3MDAgIWRlZmF1bHQ7XG4kYm1kLXJlYWRvbmx5LXVuZGVybGluZTogJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuLy8tLS1cbi8vIHZlcmlmaWVkIGluIHVzZSB3aXRoIHJlZmFjdG9yaW5nIHRvIHY0XG5cbi8vLS0tXG4vLy0tIHVudmVyaWZpZWQgYmVsb3cgaGVyZVxuJGJtZC1icmFuZC1pbnZlcnNlOiAkaW5kaWdvICFkZWZhdWx0O1xuLy8gVHlwb2dyYXBoeSBlbGVtZW50cyBGSVhNRTogcmV2aWV3IHRvIHNlZSBpZiB3ZSBhY3R1YWxseSBuZWVkIHRoZXNlXG4kaWNvbi1jb2xvcjogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cblxuLy8tLS1cbi8vIEZJWE1FOiBTaW1pbGFyIGJ1dCBub3QgcXVpdGUgdGhlIHNhbWUgYXMgQm9vdHN0cmFwIHZhcmlhYmxlc1xuLy8gRklYTUU6IHRoZXNlIG5lZWQgdG8gZWl0aGVyIGEpIGJlIGNvbnZlcnRlZCB0byAkYm1kLSBvciBiKSBjb252ZXJ0ZWQgdG8gYnMgdmFyaWFibGVzXG4vLy0tLVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gaW5wdXRzXG4kYm1kLWJtZC1sYWJlbC1zdGF0aWMtc2l6ZS1yYXRpbzogNzUgLyAxMDAgIWRlZmF1bHQ7XG4kYm1kLWhlbHAtc2l6ZS1yYXRpbzogNzUgLyAxMDAgIWRlZmF1bHQ7XG5cbi8vJGJtZC1mb3JtLWNvbnRyb2wtYmctcmVwZWF0LXk6IHJlcGVhdC15ICFkZWZhdWx0OyAvLyBpdCBjb3VsZCB3b3JrIHdpdGggbm8tcmVwZWF0LCBidXQgb24gU2FmYXJpIGl0J3MgYnVnZ2VkIGFuZCByZXBlYXQteSBpcyBuZWVkZWQsIGJ1dCByZXBlYXQteSBpcyBidWdnZWQgb24gdGhlIHdhcm5pbmcgaWNvbi5cbiRibWQtZm9ybS1jb250cm9sLWJnLXJlcGVhdC15OiBuby1yZXBlYXQgIWRlZmF1bHQ7XG4kYm1kLWZvcm0tY29udHJvbC1iZy1wb3NpdGlvbjogY2VudGVyIGJvdHRvbSwgY2VudGVyIGNhbGMoMTAwJSAtIDFweCkgIWRlZmF1bHQ7XG4kYm1kLWZvcm0tY29udHJvbC1iZy1zaXplOiAwIDEwMCUsIDEwMCUgMTAwJSAhZGVmYXVsdDtcbiRibWQtZm9ybS1jb250cm9sLWJnLXNpemUtYWN0aXZlOiAxMDAlIDEwMCUsIDEwMCUgMTAwJSAhZGVmYXVsdDtcblxuLy8gZXhwYW5kYWJsZVxuJGlucHV0LXRleHQtYnV0dG9uLXNpemU6IDMycHggIWRlZmF1bHQ7XG5cbi8vIHNpemluZ1xuJGJtZC1mb3JtLWxpbmUtaGVpZ2h0OiAxICFkZWZhdWx0OyAvLyBzZXQgYXMgMXggZm9udC1zaXplIHNvIHRoYXQgcGFkZGluZyBpcyBlYXNpZXIgY2FsY3VsYXRlZCB0byBtYXRjaCB0aGUgc3BlYy5cbiRibWQtbGFiZWwtdG9wLW1hcmdpbi1iYXNlOiAxcmVtICFkZWZhdWx0O1xuXG4kYm1kLWZvcm0tbGluZS1oZWlnaHQtbGc6ICAxICFkZWZhdWx0OyAvLyBzZXQgYXMgMXggZm9udC1zaXplIHNvIHRoYXQgcGFkZGluZyBpcyBlYXNpZXIgY2FsY3VsYXRlZCB0byBtYXRjaCB0aGUgc3BlYy5cbiRibWQtbGFiZWwtdG9wLW1hcmdpbi1sZzogMXJlbSAhZGVmYXVsdDsgLy8gMTZweFxuXG4kYm1kLWZvcm0tbGluZS1oZWlnaHQtc206ICAxICFkZWZhdWx0OyAvLyBzZXQgYXMgMXggZm9udC1zaXplIHNvIHRoYXQgcGFkZGluZyBpcyBlYXNpZXIgY2FsY3VsYXRlZCB0byBtYXRjaCB0aGUgc3BlYy5cbiRibWQtbGFiZWwtdG9wLW1hcmdpbi1zbTogLjc1cmVtICFkZWZhdWx0OyAvLyAxMnB4XG5cbiR0ZXh0LWRpc2FibGVkOiAjYThhOGE4ICFkZWZhdWx0O1xuJGJhY2tncm91bmQtZGlzYWJsZWQ6ICNlYWVhZWEgIWRlZmF1bHQ7XG5cbi8vIENoZWNrYm94ZXNcbiRibWQtY2hlY2tib3gtc2l6ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRibWQtY2hlY2tib3gtYW5pbWF0aW9uLXJpcHBsZTogNTAwbXMgIWRlZmF1bHQ7XG4kYm1kLWNoZWNrYm94LWFuaW1hdGlvbi1jaGVjazogMC4zcyAhZGVmYXVsdDtcbiRibWQtY2hlY2tib3gtY2hlY2tlZC1jb2xvcjogJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kYm1kLWNoZWNrYm94LWxhYmVsLXBhZGRpbmc6IC4zMTI1cmVtICFkZWZhdWx0OyAvLyA1cHhcblxuJGJtZC1jaGVja2JveC1ib3JkZXItc2l6ZTogLjEyNXJlbSAhZGVmYXVsdDtcbiRibWQtY2hlY2tib3gtYm9yZGVyLWNvbG9yOiAkYm1kLWxhYmVsLWNvbG9yLWlubmVyLWZvY3VzICFkZWZhdWx0O1xuJGJtZC1jaGVja2JveC1ib3JkZXItY29sb3ItZGlzYWJsZWQ6ICRncmF5LWxpZ2h0ICFkZWZhdWx0OyAvLyNiZGJkYmQgIWRlZmF1bHQ7XG5cbi8vIFN3aXRjaGVzXG4kYm1kLXN3aXRjaC1sYWJlbC1wYWRkaW5nOiAuMzEyNXJlbSAhZGVmYXVsdDsgLy8gNXB4XG4kYm1kLXN3aXRjaC13aWR0aDogMi4xMjVyZW0gIWRlZmF1bHQ7IC8vIDM0cHhcbiRibWQtc3dpdGNoLWhlaWdodDogLjg3NXJlbSAhZGVmYXVsdDsgLy8gMTRweFxuJGJtZC1zd2l0Y2gtaGFuZGxlLXNpemU6IDEuMjVyZW0gIWRlZmF1bHQ7IC8vIDIwcHggKHdhcyAxOHB4KVxuXG4kYm1kLXN3aXRjaC1oYW5kbGUtY2hlY2tlZC1iZzogJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kYm1kLXN3aXRjaC1oYW5kbGUtdW5jaGVja2VkLWJnOiAjZjFmMWYxICFkZWZhdWx0O1xuJGJtZC1zd2l0Y2gtaGFuZGxlLWRpc2FibGVkLWJnOiAjYmRiZGJkICFkZWZhdWx0O1xuJGJtZC1zd2l0Y2gtdW5jaGVja2VkLWJnOiAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRibWQtc3dpdGNoLWNoZWNrZWQtYmc6IGRlc2F0dXJhdGUobGlnaHRlbigkYm1kLXN3aXRjaC1oYW5kbGUtY2hlY2tlZC1iZywgMjglKSwgMzIlKTsgLy8ga2luZCBvZiBtYWdpYyByZWNpcGVcbiRibWQtc3dpdGNoLWRpc2FibGVkLWJnOiAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4vLyBQb3BvdmVycyBhbmQgUG9wdXBzXG4kYm1kLXBvcG92ZXItYmFja2dyb3VuZDogcmdiYSgxMDEsIDEwMSwgMTAxLCAwLjkpICFkZWZhdWx0O1xuJGJtZC1wb3BvdmVyLWNvbG9yOiAjZWNlY2VjICFkZWZhdWx0O1xuXG4vLyBSYWRpbzpcbiRibWQtcmFkaW8tYm9yZGVyOiAuMTI1cmVtICFkZWZhdWx0OyAvLyAycHhcbiRibWQtcmFkaW8tc2l6ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRibWQtcmFkaW8tcmlwcGxlLW9mZnNldDogMWVtICFkZWZhdWx0O1xuJGJtZC1yYWRpby1sYWJlbC1wYWRkaW5nOiAuMzEyNXJlbSAhZGVmYXVsdDsgLy8gNXB4XG5cbiRibWQtcmFkaW8tY29sb3Itb2ZmOiAkYm1kLWxhYmVsLWNvbG9yLWlubmVyLWZvY3VzICFkZWZhdWx0OyAgLy8gRklYTUUgc2VlbXMgaW5jb25zaXN0ZW50LCBjaGVjayBzcGVjXG4kYm1kLXJhZGlvLWNvbG9yLW9uOiAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRibWQtcmFkaW8tY29sb3ItZGlzYWJsZWQ6ICRncmF5LWxpZ2h0OyAvLyBsaWdodCB0aGVtZSBzcGVjOiBEaXNhYmxlZDogIzAwMDAwMCwgT3BhY2l0eSAgMjYlXG4kYm1kLXJhZGlvLWNvbG9yLWRpc2FibGVkLWludmVyc2U6ICByZ2JhKCR3aGl0ZSwgMC4zMCk7IC8vIGRhcmsgdGhlbWUgc3BlYzogRGlzYWJsZWQ6ICNGRkZGRkYsIE9wYWNpdHkgIDMwJVxuXG4vLyBBbmltYXRpb25zXG4kYm1kLWFuaW1hdGlvbi1jdXJ2ZS1mYXN0LW91dC1zbG93LWluOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpICFkZWZhdWx0O1xuJGJtZC1hbmltYXRpb24tY3VydmUtbGluZWFyLW91dC1zbG93LWluOiBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKSAhZGVmYXVsdDtcbiRibWQtYW5pbWF0aW9uLWN1cnZlLWZhc3Qtb3V0LWxpbmVhci1pbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMSwgMSkgIWRlZmF1bHQ7XG4kYm1kLWFuaW1hdGlvbi1jdXJ2ZS1kZWZhdWx0OiAkYm1kLWFuaW1hdGlvbi1jdXJ2ZS1mYXN0LW91dC1zbG93LWluICFkZWZhdWx0O1xuIiwiLy8gVGhpcyBpcyBhIHNldCBvZiBmbGV4LWJhc2VkIGxheW91dCBjb250YWluZXJzIG5lY2Vzc2FyeSBmb3IgY29tcG9uZW50cyBzdWNoIGFzIHRoZSBkcmF3ZXIuXG4vLyAgSXQgYWxsb3dzIGZvciBmbGV4IGJhc2VkIHBvc2l0aW9uaW5nIHN1Y2ggYXMgc3RpY2t5IGhlYWRlciBhbmQgZm9vdGVyIGluc2lkZSBhbiBibWQtbGF5b3V0LCB3aXRoIGFcbi8vICBibWQtbGF5b3V0LWNvbnRlbnQgdGhhdCBzY3JvbGxzLlxuXG4vLyBtb2JpbGUgd2Via2l0IHNtb290aCBzY3JvbGxpbmc6IGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9hLzE1MTQ3NDk3LzIzNjM5MzVcblxuLy8gRmlyc3QgZWxlbWVudFxuLmJtZC1sYXlvdXQtY2FudmFzIHsgLy8gYWRkZWQgYnkganM/XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLy8gUHJpbWFyeSBsYXlvdXQgY29udGFpbmVyLCBiZWxvbmdzIGluc2lkZSBhIGJtZC1sYXlvdXQtY2FudmFzLlxuLmJtZC1sYXlvdXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvLyBhbGxvd3MgZm9yIHN0aWNreSBoZWFkZXIgYW5kIGZvb3RlclxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgLy8gbW9iaWxlIHdlYmtpdCBzbW9vdGggc2Nyb2xsaW5nXG59XG5cbi8vIEhlYWRlciBsYXlvdXQgKGZpeGVkIHRvcCksIGJlbG9uZ3MgaW4gYSBibWQtbGF5b3V0LWNvbnRhaW5lclxuLmJtZC1sYXlvdXQtaGVhZGVyIHtcbiAgei1pbmRleDogMztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLy8gc2luY2UgdGhpcyBpcyBhIGNvbHVtbiwgaXQgaXMgbmVjZXNzYXJ5IHRoYXQgc29tZXRoaW5nIGxpa2UgYW4gYWN0dWFsIG5hdmJhciBpcyBhIGNoaWxkXG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBmbGV4LXNocmluazogMDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwMHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7IC8vIG1vYmlsZSB3ZWJraXQgc21vb3RoIHNjcm9sbGluZ1xuICBAaW5jbHVkZSBtYXRlcmlhbC1hbmltYXRpb24tZGVmYXVsdCgpO1xufVxuXG4vLyBDb250ZW50IGxheW91dCwgYmVsb25ncyBpbiBhIGJtZC1sYXlvdXQtY29udGFpbmVyXG4uYm1kLWxheW91dC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxOyAvLyB1bmRlciBhIGhlYWRlclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8vLW1zLWZsZXg6IDAgMSBhdXRvOyAvLyBGaXggSUUxMCBidWcuXG4gIGZsZXgtZ3JvdzogMTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvOyAvLyBtb2JpbGUgd2Via2l0IHNtb290aCBzY3JvbGxpbmcgbWF5IG5lZWQgc2Nyb2xsLCBidXQgYXV0byBzZWVtcyB0byBiZSB3b3JraW5nIGFuZCBvbWl0cyB0aGUgc2Nyb2xsIGJvcmRlclxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IC8vIG1vYmlsZSB3ZWJraXQgc21vb3RoIHNjcm9sbGluZ1xuICBAaW5jbHVkZSBtYXRlcmlhbC1hbmltYXRpb24tZGVmYXVsdCgpO1xufVxuXG4vLyBQdXNoZXMgZmxleC1iYXNlZCBjb250ZW50IHRvIHRoZSBvdGhlciBlbmQgKHggb3IgeSlcbi5ibWQtbGF5b3V0LXNwYWNlciB7XG4gIGZsZXgtZ3JvdzogMTtcbn1cblxuLy8gQmFja2Ryb3AgLSBnZW5lcmljIGJhY2tkcm9wIHRvIGJlIHVzZWQgYnkgb3RoZXIgY29tcG9uZW50cyBpLmUuIGRyYXdlciBpbiBvdmVybGF5IG1vZGVcbi5ibWQtbGF5b3V0LWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3I7XG4gIEBpbmNsdWRlIG1hdGVyaWFsLWFuaW1hdGlvbi1kZWZhdWx0KCk7XG5cbiAgQHN1cHBvcnRzIChwb2ludGVyLWV2ZW50czogYXV0bykge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC8vIE5PVEU6IHRoZSAmLmluIHN0eWxlIGlzIHJlc3BvbnNpdmUsIGdlbmVyYXRlZCBieSBAbWl4aW4gYm1kLWxheW91dC1iYWNrZHJvcC1pbigpIHdoZXJlIG5lZWRlZC5cbn1cbiIsIi8vIEFuaW1hdGlvbnMgKGZyb20gbWRsIGh0dHA6Ly93d3cuZ2V0bWRsLmlvLylcblxuQG1peGluIG1hdGVyaWFsLWFuaW1hdGlvbi1mYXN0LW91dC1zbG93LWluKCRkdXJhdGlvbjowLjJzKSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICRibWQtYW5pbWF0aW9uLWN1cnZlLWZhc3Qtb3V0LXNsb3ctaW47XG59XG5cbkBtaXhpbiBtYXRlcmlhbC1hbmltYXRpb24tbGluZWFyLW91dC1zbG93LWluKCRkdXJhdGlvbjowLjJzKSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICRibWQtYW5pbWF0aW9uLWN1cnZlLWxpbmVhci1vdXQtc2xvdy1pbjtcbn1cblxuQG1peGluIG1hdGVyaWFsLWFuaW1hdGlvbi1mYXN0LW91dC1saW5lYXItaW4oJGR1cmF0aW9uOjAuMnMpIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJGJtZC1hbmltYXRpb24tY3VydmUtZmFzdC1vdXQtbGluZWFyLWluO1xufVxuXG5AbWl4aW4gbWF0ZXJpYWwtYW5pbWF0aW9uLWRlZmF1bHQoJGR1cmF0aW9uOjAuMnMpIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJGJtZC1hbmltYXRpb24tY3VydmUtZGVmYXVsdDtcbn1cbiIsIi8vIHNwZWNpZmljYXRpb246IGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vZGVzaWduL3NwZWMvY29tcG9uZW50cy9idXR0b25zLmh0bWxcblxuLy8gYm1kIGRlZmF1bHQgYnV0dG9ucyBhcmUgZmxhdCBieSBkZWZhdWx0XG4uYnRuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAkYm1kLWJ0bi1tYXJnaW4tYm90dG9tOyAvLyBqdXN0IGVub3VnaCByb29tIHNvIHRoYXQgZm9jdXMgc2hhZG93cyBhcmVuJ3QgY292ZXJlZCB1cFxuICBmb250LXNpemU6ICRibWQtYnRuLWZvbnQtc2l6ZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiAwO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMnMgJGJtZC1hbmltYXRpb24tY3VydmUtZmFzdC1vdXQtbGluZWFyLWluLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgJGJtZC1hbmltYXRpb24tY3VydmUtZGVmYXVsdCwgY29sb3IgMC4ycyAkYm1kLWFuaW1hdGlvbi1jdXJ2ZS1kZWZhdWx0O1xuICB3aWxsLWNoYW5nZTogYm94LXNoYWRvdywgdHJhbnNmb3JtO1xuXG4gIEBpbmNsdWRlIHVuZG8tYnMtdGFiLWZvY3VzKCk7XG5cbiAgLy8tLVxuICAvLyBDb2xvcnNcblxuICAvLyBmbGF0IHJlbW92ZXMgYmcsIGFkZCBjb2xvciB2YXJpYXRpb25zIHRvIHRleHRcbiAgQGluY2x1ZGUgYm1kLWZsYXQtYnV0dG9uLWNvbG9yKCk7XG5cbiAgLy8gZmFiIGFuZCByYWlzZWRcbiAgLy8gIC0gY29sb3JlZCwgYWRkIHRoZWlyIHRleHQgYW5kIGJnXG4gIC8vICAtIGhvdmVyIGNvbG9yIGNvbnRyYXN0ZWRcbiAgLy8gIC0gc2hhcmVkIHNoYWRvdyBzdGF0ZSBvbiBob3Zlci9hY3RpdmUvZm9jdXNcbiAgJi5ibWQtYnRuLWZhYixcbiAgJi5idG4tcmFpc2VkLFxuICAuYnRuLWdyb3VwLXJhaXNlZCAmIHtcbiAgICBAaW5jbHVkZSBibWQtcmFpc2VkLWJ1dHRvbi1jb2xvcigpO1xuXG4gICAgLy8gZW5sYXJnZWQgc2hhZG93IG9uIGhvdmVyLCBmb2N1c1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgLy9ib3JkZXI6IDFweCBzb2xpZCAkYmx1ZTtcbiAgICAgIHotaW5kZXg6IDE7IC8vIGFkZCB0byB0aGUgei1pbmRleCBzbyB0aGF0IHRoZSBleHBhbmRlZCBzaGFkb3cgaXMgYWJvdmUgYW55dGhpbmcgYmVsb3cgaXQgaS5lLiBhbm90aGVyIGJ1dHRvblxuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYm1kLXNoYWRvdy00ZHApO1xuICAgIH1cblxuICAgIC8vIDphY3RpdmUgLSBtb21lbnRhcnkgcHJlc3M6IGJpZyBzaGFkb3csIHJlbGVhc2UgYW5kIGl0IGlzIGdvbmVcbiAgICAvLyAuYWN0aXZlIC0gcGVyc2lzdGVudCBiaWcgc2hhZG93XG4gICAgJi5hY3RpdmUsXG4gICAgJjphY3RpdmUge1xuICAgICAgei1pbmRleDogMTsgLy8gYWRkIHRvIHRoZSB6LWluZGV4IHNvIHRoYXQgdGhlIGV4cGFuZGVkIHNoYWRvdyBpcyBhYm92ZSBhbnl0aGluZyBiZWxvdyBpdCBpLmUuIGFub3RoZXIgYnV0dG9uXG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRibWQtc2hhZG93LWZvY3VzKTtcbiAgICAgIC8vYm9yZGVyOiAxcHggc29saWQgJGdyZWVuO1xuICAgIH1cbiAgfVxuXG4gIC8vLS0tXG4gIC8vIGJ0bi1yYWlzZWRcbiAgJi5idG4tcmFpc2VkLFxuICAuYnRuLWdyb3VwLXJhaXNlZCAmIHtcblxuICAgIC8vIGJhc2VsaW5lIHNoYWRvd1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJtZC1zaGFkb3ctMmRwKTtcblxuICAgIC8vIHJldmVyc2UgYW55IG9mIHRoZSBhYm92ZSBmb3IgbGlua3NcbiAgICAmLmJ0bi1saW5rIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBibWQtaG92ZXItZm9jdXMtYWN0aXZlKCkge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJtZC1kaXNhYmxlZCgpIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8tLS1cbiAgLy8gYnRuLW91dGxpbmVcbiAgQGluY2x1ZGUgYm1kLW91dGxpbmUtYnV0dG9uLWNvbG9yKCk7XG5cbiAgLy8gaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9kZXNpZ24vc3BlYy9jb21wb25lbnRzL2J1dHRvbnMtZmxvYXRpbmctYWN0aW9uLWJ1dHRvbi5odG1sXG4gICYuYm1kLWJ0bi1mYWIsXG4gICYuYm1kLWJ0bi1pY29uIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZvbnQtc2l6ZTogJGJtZC1idG4tZmFiLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuXG4gICAgLmJ0bi1ncm91cC1sZyAmLFxuICAgIC5idG4tZ3JvdXAtc20gJixcbiAgICAmIHtcbiAgICAgIHBhZGRpbmc6IDA7IC8vIG5lZWQgc3BlY2lmaWNpdHlcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB9XG5cbiAgICAubWF0ZXJpYWwtaWNvbnMge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB3aWR0aDogJGJtZC1idG4tZmFiLWZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkYm1kLWJ0bi1mYWItZm9udC1zaXplO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLSgkYm1kLWJ0bi1mYWItZm9udC1zaXplIC8gMiksIC0oJGJtZC1idG4tZmFiLWZvbnQtc2l6ZSAvIDIpKTtcbiAgICB9XG4gIH1cblxuICAmLmJtZC1idG4tZmFiIHtcbiAgICAvLyBzZWUgYWJvdmUgZm9yIGNvbG9yIHZhcmlhdGlvbnNcbiAgICB3aWR0aDogJGJtZC1idG4tZmFiLXNpemU7XG4gICAgbWluLXdpZHRoOiAkYm1kLWJ0bi1mYWItc2l6ZTtcbiAgICBoZWlnaHQ6ICRibWQtYnRuLWZhYi1zaXplO1xuICAgIC8vbWFyZ2luOiBhdXRvO1xuICAgIC8vbWFyZ2luOiAycHg7IC8vIHVzZSB6LWluZGV4IGZvY3VzL2hvdmVyL2FjdGl2ZSBpbnN0ZWFkLiBUaGlzIGlzIG5vdCBjYWxsZWQgZm9yIGluIHRoZSBzcGVjLCBidXQgaXQgZW5zdXJlcyByb29tIGZvciB0aGUgYm94LXNoYWRvdywgd2hpY2ggaXMgbmljZSB0byBoYXZlLlxuICAgIGJveC1zaGFkb3c6IDAgMXB4IDEuNXB4IDAgJGdyYXktbGlnaHRlciwgMCAxcHggMXB4IDAgJGdyYXktbGlnaHQ7XG5cbiAgICAucmlwcGxlLWNvbnRhaW5lciB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgfVxuXG4gICAgJi5ibWQtYnRuLWZhYi1zbSxcbiAgICAuYnRuLWdyb3VwLXNtICYge1xuICAgICAgd2lkdGg6ICRibWQtYnRuLWZhYi1zaXplLXNtO1xuICAgICAgbWluLXdpZHRoOiAkYm1kLWJ0bi1mYWItc2l6ZS1zbTtcbiAgICAgIGhlaWdodDogJGJtZC1idG4tZmFiLXNpemUtc207XG4gICAgICAvL21hcmdpbjogMXB4OyAvLyB1c2Ugei1pbmRleCBmb2N1cy9ob3Zlci9hY3RpdmUgaW5zdGVhZC4gVGhpcyBpcyBub3QgY2FsbGVkIGZvciBpbiB0aGUgc3BlYywgYnV0IGl0IGVuc3VyZXMgcm9vbSBmb3IgdGhlIGJveC1zaGFkb3csIHdoaWNoIGlzIG5pY2UgdG8gaGF2ZS5cblxuICAgICAgLy8ubWF0ZXJpYWwtaWNvbnMge1xuICAgICAgLy8gIHRvcDogKCRibWQtYnRuLWljb24tc2l6ZS1zbSAtICRibWQtYnRuLWZhYi1mb250LXNpemUpIC8gMjtcbiAgICAgIC8vICBsZWZ0OiAoJGJtZC1idG4taWNvbi1zaXplLXNtIC0gJGJtZC1idG4tZmFiLWZvbnQtc2l6ZSkgLyAyO1xuICAgICAgLy99XG4gICAgfVxuICB9XG5cbiAgLy8gSWNvbiBidXR0b25zXG4gICYuYm1kLWJ0bi1pY29uIHtcbiAgICB3aWR0aDogJGJtZC1idG4taWNvbi1zaXplO1xuICAgIG1pbi13aWR0aDogJGJtZC1idG4taWNvbi1zaXplO1xuICAgIGhlaWdodDogJGJtZC1idG4taWNvbi1zaXplO1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICYuYm1kLWJ0bi1pY29uLXNtLFxuICAgIC5idG4tZ3JvdXAtc20gJiB7XG4gICAgICB3aWR0aDogJGJtZC1idG4taWNvbi1zaXplLXNtO1xuICAgICAgbWluLXdpZHRoOiAkYm1kLWJ0bi1pY29uLXNpemUtc207XG4gICAgICBoZWlnaHQ6ICRibWQtYnRuLWljb24tc2l6ZS1zbTtcbiAgICAgIGZvbnQtc2l6ZTogJGJtZC1idG4taWNvbi1mb250LXNpemUtc207XG5cbiAgICAgIC5tYXRlcmlhbC1pY29ucyB7XG4gICAgICAgIC8vJHBvc2l0aW9uOiAoJGJtZC1idG4taWNvbi1zaXplLXNtIC0gJGJtZC1idG4taWNvbi1mb250LXNpemUtc20pIC8gMjtcbiAgICAgICAgLy90b3A6ICRwb3NpdGlvbjtcbiAgICAgICAgLy9sZWZ0OiAkcG9zaXRpb247XG4gICAgICAgIHdpZHRoOiAkYm1kLWJ0bi1pY29uLWZvbnQtc2l6ZS1zbTtcbiAgICAgICAgZm9udC1zaXplOiAkYm1kLWJ0bi1pY29uLWZvbnQtc2l6ZS1zbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0oJGJtZC1idG4taWNvbi1mb250LXNpemUtc20gLyAyKSwgLSgkYm1kLWJ0bi1pY29uLWZvbnQtc2l6ZS1zbSAvIDIpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBBbGlnbiBpY29ucyBpbnNpZGUgYnV0dG9ucyB3aXRoIHRleHRcbiAgLm1hdGVyaWFsLWljb25zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAuMjVlbTtcbiAgICBtYXJnaW4tdG9wOiAtMWVtO1xuICAgIG1hcmdpbi1ib3R0b206IC0xZW07XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgfVxuXG4gIC8vIFNpemUgdmFyaWF0aW9uc1xuICAmLmJ0bi1sZyxcbiAgLmJ0bi1ncm91cC1sZyAmIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1sZywgJGJ0bi1wYWRkaW5nLXgtbGcsICRibWQtYnRuLWZvbnQtc2l6ZS1sZywgJGJ0bi1ib3JkZXItcmFkaXVzLWxnKTtcbiAgfVxuICAmLmJ0bi1zbSxcbiAgLmJ0bi1ncm91cC1zbSAmIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1zbSwgJGJ0bi1wYWRkaW5nLXgtc20sICRibWQtYnRuLWZvbnQtc2l6ZS1zbSwgJGJ0bi1ib3JkZXItcmFkaXVzLXNtKTtcbiAgICBmb250LXNpemU6ICRibWQtYnRuLWZvbnQtc2l6ZS1zbTtcbiAgfVxufVxuXG4vLyBEaXNhYmxlZCBidXR0b25zIGFuZCBidXR0b24gZ3JvdXBzXG4uYnRuLFxuLmlucHV0LWdyb3VwLWJ0biAuYnRuLFxuLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICAvLyBoYXZlIHRvIHJhdGNoZXQgdXAgdGhlIHNwZWNpZmljaXR5IHRvIGtpbGwgZHJvcCBzaGFkb3dzIG9uIGRpc2FibGVkIHJhaXNlZCBidXR0b25zXG4gIEBpbmNsdWRlIGJtZC1kaXNhYmxlZCgpIHtcbiAgICBjb2xvcjogJGJtZC1idG4tZGlzYWJsZWQ7XG4gICAgLmJnLWludmVyc2UgJiB7XG4gICAgICBjb2xvcjogJGJtZC1pbnZlcnNlLWJ0bi1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvLyBmbGF0IGJ1dHRvbnMgc2hvdWxkbid0IGxvc2UgdHJhbnNwYXJlbmN5IG9uIGRpc2FibGVkIGhvdmVyL2ZvY3VzXG4gICAgJixcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIGJ0bi1ncm91cCB2YXJpYXRpb25zXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDEwcHggMXB4O1xuXG4gIC8vIHNwZWM6IGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vZGVzaWduL3NwZWMvY29tcG9uZW50cy9idXR0b25zLmh0bWwjYnV0dG9ucy10b2dnbGUtYnV0dG9uc1xuICAvLyYub3BlbiB7XG4gIC8vICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgLy8gIH1cbiAgLy9cbiAgLy8gID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4ge1xuICAvLyAgICBAaW5jbHVkZSBibWQtcmFpc2VkLWJ1dHRvbi1jb2xvci1iZygpO1xuICAvLyAgfVxuICAvL31cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRib3JkZXItcmFkaXVzICRib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgJi5idG4tZ3JvdXAtcmFpc2VkIHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRibWQtc2hhZG93LTJkcCk7XG4gIH1cblxuICAuYnRuICsgLmJ0bixcbiAgLmJ0bixcbiAgLmJ0bjphY3RpdmUsXG4gIC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIHJlbW92ZSBtYXJnaW4gZnJvbSBuZXN0ZWQgYnRuLWdyb3VwKHMpIHRvIHByb3Blcmx5IGFsaWduIHRoZW0gd2l0aCB0aGUgb3V0ZXIgYnV0dG9uc1xuICA+IC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuIiwiLy8gZnJvbSBicyBtaXhpbnMvYnV0dG9ucyBidXR0b24tdmFyaWFudFxuQG1peGluIGJtZC1idXR0b24tdmFyaWFudCgkY29sb3IsICRiYWNrZ3JvdW5kLCAkZm9jdXMtYmFja2dyb3VuZCwgJGFjdGl2ZS1iYWNrZ3JvdW5kLCAkYm9yZGVyLCAkZm9jdXMtYm9yZGVyLCAkYWN0aXZlLWJvcmRlcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb2N1cy1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGZvY3VzLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvY3VzLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9jdXMtYm9yZGVyO1xuICB9XG5cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAub3BlbiA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb2N1cy1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGZvY3VzLWJvcmRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIHdoZW4gaXQgaXMgYW4gaWNvbiwga2lsbCB0aGUgYWN0aXZlIGJnIG9uIG9wZW4gZHJvcGRvd24sIGJ1dCBzdGFiaWxpemUgb24gaG92ZXJcbiAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24ge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gICAgLy8gbGVhdmUgaG92ZXIgb24gd2l0aCB0aGUgbGlnaHRlciBmb2N1cyBjb2xvclxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvY3VzLWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJtZC1mbGF0LWJ1dHRvbi12YXJpYW50KFxuICAkY29sb3IsXG4gICRib3JkZXI6ICRibWQtYnRuLWJvcmRlcixcbiAgJGZvY3VzLWJvcmRlcjogJGJtZC1idG4tZm9jdXMtYmcsXG4gICRhY3RpdmUtYm9yZGVyOiAkYm1kLWJ0bi1hY3RpdmUtYmdcbikge1xuXG4gICRiYWNrZ3JvdW5kOiAkYm1kLWJ0bi1iZztcbiAgJGZvY3VzLWJhY2tncm91bmQ6ICRibWQtYnRuLWZvY3VzLWJnO1xuICAkYWN0aXZlLWJhY2tncm91bmQ6ICRibWQtYnRuLWFjdGl2ZS1iZztcblxuICBAaW5jbHVkZSBibWQtYnV0dG9uLXZhcmlhbnQoJGNvbG9yLFxuICAgICRiYWNrZ3JvdW5kLFxuICAgICRmb2N1cy1iYWNrZ3JvdW5kLFxuICAgICRhY3RpdmUtYmFja2dyb3VuZCxcbiAgICAkYm9yZGVyLFxuICAgICRmb2N1cy1ib3JkZXIsXG4gICAgJGFjdGl2ZS1ib3JkZXIpO1xuXG4gIC8vIGludmVyc2UgY29sb3Igc2NoZW1lXG4gIC5iZy1pbnZlcnNlICYge1xuICAgICRmb2N1cy1iYWNrZ3JvdW5kOiAkYm1kLWludmVyc2UtYnRuLWZvY3VzLWJnO1xuICAgICRmb2N1cy1ib3JkZXI6ICRibWQtaW52ZXJzZS1idG4tZm9jdXMtYmc7XG5cbiAgICAkYWN0aXZlLWJhY2tncm91bmQ6ICRibWQtaW52ZXJzZS1idG4tYWN0aXZlLWJnO1xuICAgICRhY3RpdmUtYm9yZGVyOiAkYm1kLWludmVyc2UtYnRuLWFjdGl2ZS1iZztcblxuICAgIEBpbmNsdWRlIGJtZC1idXR0b24tdmFyaWFudCgkY29sb3IsXG4gICAgICAkYmFja2dyb3VuZCxcbiAgICAgICRmb2N1cy1iYWNrZ3JvdW5kLFxuICAgICAgJGFjdGl2ZS1iYWNrZ3JvdW5kLFxuICAgICAgJGJvcmRlcixcbiAgICAgICRmb2N1cy1ib3JkZXIsXG4gICAgICAkYWN0aXZlLWJvcmRlcik7XG4gIH1cblxuICAvLyByZXZlcnNlIHRoZSBhYm92ZSBmb3IgbGlua3NcbiAgJi5idG4tbGluayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJtZC1mbGF0LWJ1dHRvbi1jb2xvcigpIHtcblxuICBAaW5jbHVkZSBibWQtZmxhdC1idXR0b24tdmFyaWFudCgkYm1kLWJ0bi1jb2xvcik7XG5cbiAgLy8gZmxhdCBiZyB3aXRoIHRleHQgY29sb3IgdmFyaWF0aW9uc1xuICAmLmJ0bi1wcmltYXJ5IHtcbiAgICBAaW5jbHVkZSBibWQtZmxhdC1idXR0b24tdmFyaWFudCgkYnRuLXByaW1hcnktYmcpO1xuICB9XG4gICYuYnRuLXNlY29uZGFyeSB7XG4gICAgQGluY2x1ZGUgYm1kLWZsYXQtYnV0dG9uLXZhcmlhbnQoJGJ0bi1zZWNvbmRhcnktY29sb3IpO1xuICB9XG4gICYuYnRuLWluZm8ge1xuICAgIEBpbmNsdWRlIGJtZC1mbGF0LWJ1dHRvbi12YXJpYW50KCRidG4taW5mby1iZyk7XG4gIH1cbiAgJi5idG4tc3VjY2VzcyB7XG4gICAgQGluY2x1ZGUgYm1kLWZsYXQtYnV0dG9uLXZhcmlhbnQoJGJ0bi1zdWNjZXNzLWJnKTtcbiAgfVxuICAmLmJ0bi13YXJuaW5nIHtcbiAgICBAaW5jbHVkZSBibWQtZmxhdC1idXR0b24tdmFyaWFudCgkYnRuLXdhcm5pbmctYmcpO1xuICB9XG4gICYuYnRuLWRhbmdlciB7XG4gICAgQGluY2x1ZGUgYm1kLWZsYXQtYnV0dG9uLXZhcmlhbnQoJGJ0bi1kYW5nZXItYmcpO1xuICB9XG59XG5cbkBtaXhpbiBibWQtb3V0bGluZS1idXR0b24tY29sb3IoKSB7XG4gICYuYnRuLW91dGxpbmUsXG4gICYuYnRuLW91dGxpbmUtcHJpbWFyeSxcbiAgJi5idG4tb3V0bGluZS1zZWNvbmRhcnksXG4gICYuYnRuLW91dGxpbmUtaW5mbyxcbiAgJi5idG4tb3V0bGluZS1zdWNjZXNzLFxuICAmLmJ0bi1vdXRsaW5lLXdhcm5pbmcsXG4gICYuYnRuLW91dGxpbmUtZGFuZ2VyIHtcbiAgICBib3JkZXItY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICB9XG5cbiAgLy8gZmxhdCBiZyB3aXRoIHRleHQgYW5kIGJvcmRlciBjb2xvciB2YXJpYXRpb25zXG4gICYuYnRuLW91dGxpbmUge1xuICAgIEBpbmNsdWRlIGJtZC1mbGF0LWJ1dHRvbi12YXJpYW50KCRibWQtYnRuLWNvbG9yLCAkYm1kLWJ0bi1jb2xvciwgJGJtZC1idG4tY29sb3IsICRibWQtYnRuLWNvbG9yKTtcbiAgfVxuICAmLmJ0bi1vdXRsaW5lLXByaW1hcnkge1xuICAgIEBpbmNsdWRlIGJtZC1mbGF0LWJ1dHRvbi12YXJpYW50KCRidG4tcHJpbWFyeS1iZywgJGJ0bi1wcmltYXJ5LWJnLCAkYnRuLXByaW1hcnktYmcsICRidG4tcHJpbWFyeS1iZyk7XG4gIH1cbiAgJi5idG4tb3V0bGluZS1zZWNvbmRhcnkge1xuICAgIEBpbmNsdWRlIGJtZC1mbGF0LWJ1dHRvbi12YXJpYW50KCRidG4tc2Vjb25kYXJ5LWNvbG9yLCAkYnRuLXNlY29uZGFyeS1jb2xvciwgJGJ0bi1zZWNvbmRhcnktY29sb3IsICRidG4tc2Vjb25kYXJ5LWNvbG9yKTtcbiAgfVxuICAmLmJ0bi1vdXRsaW5lLWluZm8ge1xuICAgIEBpbmNsdWRlIGJtZC1mbGF0LWJ1dHRvbi12YXJpYW50KCRidG4taW5mby1iZywgJGJ0bi1pbmZvLWJnLCAkYnRuLWluZm8tYmcsICRidG4taW5mby1iZyk7XG4gIH1cbiAgJi5idG4tb3V0bGluZS1zdWNjZXNzIHtcbiAgICBAaW5jbHVkZSBibWQtZmxhdC1idXR0b24tdmFyaWFudCgkYnRuLXN1Y2Nlc3MtYmcsICRidG4tc3VjY2Vzcy1iZywgJGJ0bi1zdWNjZXNzLWJnLCAkYnRuLXN1Y2Nlc3MtYmcpO1xuICB9XG4gICYuYnRuLW91dGxpbmUtd2FybmluZyB7XG4gICAgQGluY2x1ZGUgYm1kLWZsYXQtYnV0dG9uLXZhcmlhbnQoJGJ0bi13YXJuaW5nLWJnLCAkYnRuLXdhcm5pbmctYmcsICRidG4td2FybmluZy1iZywgJGJ0bi13YXJuaW5nLWJnKTtcbiAgfVxuICAmLmJ0bi1vdXRsaW5lLWRhbmdlciB7XG4gICAgQGluY2x1ZGUgYm1kLWZsYXQtYnV0dG9uLXZhcmlhbnQoJGJ0bi1kYW5nZXItYmcsICRidG4tZGFuZ2VyLWJnLCAkYnRuLWRhbmdlci1iZywgJGJ0bi1kYW5nZXItYmcpO1xuICB9XG59XG5cbkBtaXhpbiBibWQtcmFpc2VkLWJ1dHRvbi12YXJpYW50KCRjb2xvciwgJGJhY2tncm91bmQsICRib3JkZXIpIHtcblxuICAvLyBGSVhNRTogU1BFQyAtIHRoaXMgc2hvdWxkIGJlIHRoZSA2MDAgY29sb3IsIGhvdyBjYW4gd2UgZ2V0IHRoYXQgcHJvZ3JhbW1hdGljYWxseSBpZiBhdCBhbGw/IE9yIGFyZSB3ZSBsaW1pdGVkIHRvIHRoZSBjb2xvciBwYWxldHRlIG9ubHk/XG4gICRmb2N1cy1iYWNrZ3JvdW5kOiBjb250cmFzdC1jb2xvcigkYmFja2dyb3VuZCwgZGFya2VuKCRiYWNrZ3JvdW5kLCA0JSksIGxpZ2h0ZW4oJGJhY2tncm91bmQsIDQlKSk7XG4gIC8vJGZvY3VzLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKTsgIC8vIGRlZmF1bHQgYm9vdHN0cmFwXG4gICRmb2N1cy1ib3JkZXI6IGRhcmtlbigkYm9yZGVyLCAxMiUpO1xuXG4gICRhY3RpdmUtYmFja2dyb3VuZDogJGZvY3VzLWJhY2tncm91bmQ7XG4gIC8vJGFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDE3JSk7XG4gICRhY3RpdmUtYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMjUlKTtcblxuICBAaW5jbHVkZSBibWQtYnV0dG9uLXZhcmlhbnQoJGNvbG9yLFxuICAgICRiYWNrZ3JvdW5kLFxuICAgICRmb2N1cy1iYWNrZ3JvdW5kLFxuICAgICRhY3RpdmUtYmFja2dyb3VuZCxcbiAgICAkYm9yZGVyLFxuICAgICRmb2N1cy1ib3JkZXIsXG4gICAgJGFjdGl2ZS1ib3JkZXIpO1xufVxuXG5AbWl4aW4gYm1kLXJhaXNlZC1idXR0b24tY29sb3IoKSB7XG5cbiAgJi5idG4tcHJpbWFyeSB7XG4gICAgQGluY2x1ZGUgYm1kLXJhaXNlZC1idXR0b24tdmFyaWFudCgkYnRuLXByaW1hcnktY29sb3IsICRidG4tcHJpbWFyeS1iZywgJGJ0bi1wcmltYXJ5LWJvcmRlcik7XG4gIH1cbiAgJi5idG4tc2Vjb25kYXJ5IHtcbiAgICBAaW5jbHVkZSBibWQtcmFpc2VkLWJ1dHRvbi12YXJpYW50KCRidG4tc2Vjb25kYXJ5LWNvbG9yLCAkYnRuLXNlY29uZGFyeS1iZywgJGJ0bi1zZWNvbmRhcnktYm9yZGVyKTtcbiAgfVxuICAmLmJ0bi1pbmZvIHtcbiAgICBAaW5jbHVkZSBibWQtcmFpc2VkLWJ1dHRvbi12YXJpYW50KCRidG4taW5mby1jb2xvciwgJGJ0bi1pbmZvLWJnLCAkYnRuLWluZm8tYm9yZGVyKTtcbiAgfVxuICAmLmJ0bi1zdWNjZXNzIHtcbiAgICBAaW5jbHVkZSBibWQtcmFpc2VkLWJ1dHRvbi12YXJpYW50KCRidG4tc3VjY2Vzcy1jb2xvciwgJGJ0bi1zdWNjZXNzLWJnLCAkYnRuLXN1Y2Nlc3MtYm9yZGVyKTtcbiAgfVxuICAmLmJ0bi13YXJuaW5nIHtcbiAgICBAaW5jbHVkZSBibWQtcmFpc2VkLWJ1dHRvbi12YXJpYW50KCRidG4td2FybmluZy1jb2xvciwgJGJ0bi13YXJuaW5nLWJnLCAkYnRuLXdhcm5pbmctYm9yZGVyKTtcbiAgfVxuICAmLmJ0bi1kYW5nZXIge1xuICAgIEBpbmNsdWRlIGJtZC1yYWlzZWQtYnV0dG9uLXZhcmlhbnQoJGJ0bi1kYW5nZXItY29sb3IsICRidG4tZGFuZ2VyLWJnLCAkYnRuLWRhbmdlci1ib3JkZXIpO1xuICB9XG59XG5cbkBtaXhpbiB1bmRvLWJzLXRhYi1mb2N1cygpIHtcbiAgLy8gY2xlYXIgb3V0IHRoZSB0YWItZm9jdXMoKSBmcm9tIEJTXG4gICYsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIC8vQGluY2x1ZGUgdGFiLWZvY3VzKCk7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGJtZC1ob3Zlci1mb2N1cy1hY3RpdmUge1xuICAvLyBhZGQgdGhlIC5hY3RpdmUgdG8gdGhlIHdob2xlIG1peCBvZiBob3Zlci1mb2N1cy1hY3RpdmVcbiAgJi5hY3RpdmUge1xuICAgIEBjb250ZW50XG4gIH1cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMtYWN0aXZlKCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJAbWl4aW4gYm1kLWRpc2FibGVkKCkge1xuICBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdICYsXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdIHtcbiAgICBAY29udGVudFxuICB9XG59XG5cbkBtaXhpbiBibWQtc2VsZWN0aW9uLWNvbG9yKCkge1xuICAucmFkaW8gbGFiZWwsXG4gIC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveCBsYWJlbCxcbiAgLmNoZWNrYm94LWlubGluZSxcbiAgLnN3aXRjaCBsYWJlbCB7XG5cbiAgICAvLyBvdmVycmlkZSBib290c3RyYXAgZm9jdXMgYW5kIGtlZXAgYWxsIHRoZSBzdGFuZGFyZCBjb2xvciAoY291bGQgYmUgbXVsdGlwbGUgcmFkaW9zIGluIHRoZSBmb3JtIGdyb3VwKVxuICAgIC8vY29sb3I6ICRibWQtbGFiZWwtY29sb3I7XG5cbiAgICAmLFxuICAgIC5pcy1mb2N1c2VkICYge1xuICAgICAgLy8gZm9ybS1ncm91cCBmb2N1cyBjb3VsZCBjaGFuZ2UgbXVsdGlwbGUgY2hlY2tib3hlcy9yYWRpb3MsIGRpc2FibGUgdGhhdCBjaGFuZ2UgYnkgdXNpbmcgdGhlIHNhbWUgY29sb3IgYXMgbm9uLWZvcm0tZ3JvdXAgaXMtZm9jdXNlZFxuICAgICAgY29sb3I6ICRibWQtbGFiZWwtY29sb3I7XG5cbiAgICAgIC8vIG9uIGZvY3VzIGp1c3QgZGFya2VuIHRoZSBzcGVjaWZpYyBsYWJlbHMsIGRvIG5vdCB0dXJuIHRoZW0gdG8gdGhlIGJyYW5kLXByaW1hcnlcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzLWFjdGl2ZSgpIHtcbiAgICAgICAgLy8mOmhvdmVyLFxuICAgICAgICAvLyY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGJtZC1sYWJlbC1jb2xvci1pbm5lci1mb2N1cztcbiAgICAgIH1cblxuICAgICAgLy8gY29ycmVjdCB0aGUgYWJvdmUgZm9jdXMgY29sb3IgZm9yIGRpc2FibGVkIGl0ZW1zXG4gICAgICBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKSwgLy8gY3NzIDQgd2hpY2ggaXMgdW5saWtlbHkgdG8gd29yayBmb3IgYSB3aGlsZSwgYnV0IG5vIG90aGVyIHB1cmUgY3NzIHdheS5cbiAgICAgIGxhYmVsOmhhcyhpbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF0pLCAvLyBjc3MgNFxuICAgICAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICAgICAmLFxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBjb2xvcjogJGJtZC1sYWJlbC1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlIGZvciBkaXNhYmxlZCBpbnB1dHMgIE9MRCwgdXNlIGNvbG9yIGFwcHJvYWNoIHdpdGggb3BhY2l0eSBidWlsdCBpbiwgc2VlIHJhZGlvc1xuICAvL2ZpZWxkc2V0W2Rpc2FibGVkXSAmLFxuICAvL2ZpZWxkc2V0W2Rpc2FibGVkXSAmIGlucHV0W3R5cGU9Y2hlY2tib3hdLFxuICAvL2lucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXTpub3QoOmNoZWNrZWQpIH4gLmNoZWNrYm94LWRlY29yYXRvciAuY2hlY2s6OmJlZm9yZSxcbiAgLy9pbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF06bm90KDpjaGVja2VkKSB+IC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrLFxuICAvL2lucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXSArIC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlIHtcbiAgLy8gIG9wYWNpdHk6IDAuNTtcbiAgLy99XG59XG5cbkBtaXhpbiBibWQtcmFkaW8tY29sb3IoJGNvbG9yKSB7XG5cbiAgfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgfiAuYm1kLXJhZGlvLW91dGVyLWNpcmNsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuQG1peGluIGJtZC1mb3JtLWNvbG9yKCRsYWJlbC1jb2xvciwgJGxhYmVsLWNvbG9yLWZvY3VzLCAkYm9yZGVyLWNvbG9yKSB7XG5cbiAgW2NsYXNzXj0nYm1kLWxhYmVsJ10sXG4gIFtjbGFzcyo9JyBibWQtbGFiZWwnXSB7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcbiAgfVxuXG4gIC8vIG92ZXJyaWRlIEJTIGFuZCBrZWVwIHRoZSBib3JkZXItY29sb3Igbm9ybWFsL2dyZXkgc28gdGhhdCBvdmVybGFpZCBmb2N1cyBhbmltYXRpb24gZHJhd3MgYXR0ZW50aW9uXG4gIC5mb3JtLWNvbnRyb2wge1xuXG4gICAgLy8gdW5kZXJsaW5lIGFuaW1hdGlvbiBjb2xvciBvbiBmb2N1c1xuICAgICR1bmRlcmxpbmUtYmFja2dyb3VuZC1pbWFnZTogICAgICAgICAgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgJGxhYmVsLWNvbG9yLWZvY3VzIDJweCwgZmFkZS1vdXQoJGxhYmVsLWNvbG9yLWZvY3VzLCAxKSAycHgpLCBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAkaW5wdXQtYm9yZGVyLWNvbG9yIDFweCwgZmFkZS1vdXQoJGlucHV0LWJvcmRlci1jb2xvciwgMSkgMXB4KTtcbiAgICAkdW5kZXJsaW5lLWJhY2tncm91bmQtaW1hZ2UtaW52YWxpZDogIGxpbmVhci1ncmFkaWVudCh0byB0b3AsICRibWQtaW52YWxpZC11bmRlcmxpbmUgMnB4LCBmYWRlLW91dCgkYm1kLWludmFsaWQtdW5kZXJsaW5lLCAxKSAycHgpLCBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAkaW5wdXQtYm9yZGVyLWNvbG9yIDFweCwgZmFkZS1vdXQoJGlucHV0LWJvcmRlci1jb2xvciwgMSkgMXB4KTtcbiAgICAkdW5kZXJsaW5lLWJhY2tncm91bmQtaW1hZ2UtcmVhZG9ubHk6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICRibWQtcmVhZG9ubHktdW5kZXJsaW5lIDFweCwgZmFkZS1vdXQoJGJtZC1yZWFkb25seS11bmRlcmxpbmUsIDEpIDFweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsICRpbnB1dC1ib3JkZXItY29sb3IgMXB4LCBmYWRlLW91dCgkaW5wdXQtYm9yZGVyLWNvbG9yLCAxKSAxcHgpO1xuICAgICR1bmRlcmxpbmUtYmFja2dyb3VuZC1pbWFnZS1kaXNhYmxlZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkaW5wdXQtYm9yZGVyLWNvbG9yIDAlLCAkaW5wdXQtYm9yZGVyLWNvbG9yIDMwJSwgdHJhbnNwYXJlbnQgMzAlLCB0cmFuc3BhcmVudCAxMDAlKTtcblxuICAgIC8vIGJnIGltYWdlIGlzIGFsd2F5cyB0aGVyZSwgd2UganVzdCBuZWVkIHRvIHJldmVhbCBpdFxuICAgICYsXG4gICAgLmlzLWZvY3VzZWQgJiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkdW5kZXJsaW5lLWJhY2tncm91bmQtaW1hZ2U7XG4gICAgfVxuXG4gICAgJjppbnZhbGlkIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICR1bmRlcmxpbmUtYmFja2dyb3VuZC1pbWFnZS1pbnZhbGlkO1xuICAgIH1cblxuICAgICY6cmVhZC1vbmx5IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICR1bmRlcmxpbmUtYmFja2dyb3VuZC1pbWFnZS1yZWFkb25seTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBibWQtZGlzYWJsZWQoKSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkdW5kZXJsaW5lLWJhY2tncm91bmQtaW1hZ2UtZGlzYWJsZWQ7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDNweCAxcHg7XG4gICAgfVxuXG4gICAgLy8gYWxsb3cgdW5kZXJsaW5lIGZvY3VzIGltYWdlIGFuZCB2YWxpZGF0aW9uIGltYWdlcyB0byBjb2V4aXN0XG4gICAgJi5mb3JtLWNvbnRyb2wtc3VjY2VzcyB7XG4gICAgICAmLFxuICAgICAgLmlzLWZvY3VzZWQgJiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICR1bmRlcmxpbmUtYmFja2dyb3VuZC1pbWFnZSwgJGZvcm0taWNvbi1zdWNjZXNzO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmZvcm0tY29udHJvbC13YXJuaW5nIHtcbiAgICAgICYsXG4gICAgICAuaXMtZm9jdXNlZCAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJHVuZGVybGluZS1iYWNrZ3JvdW5kLWltYWdlLCAkZm9ybS1pY29uLXdhcm5pbmc7XG4gICAgICB9XG4gICAgfVxuICAgICYuZm9ybS1jb250cm9sLWRhbmdlciB7XG4gICAgICAmLFxuICAgICAgLmlzLWZvY3VzZWQgJiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICR1bmRlcmxpbmUtYmFja2dyb3VuZC1pbWFnZSwgJGZvcm0taWNvbi1kYW5nZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWZvY3VzZWQsIC8vIG1heSBvciBtYXkgbm90IGJlIGEgZm9ybS1ncm91cCBvciBibWQtZm9ybS1ncm91cFxuICAmLmlzLWZvY3VzZWQge1xuICAgIC8vIG9uIGZvY3VzIHNldCBib3JkZXJzIGFuZCBsYWJlbHMgdG8gdGhlIHZhbGlkYXRpb24gY29sb3JcblxuICAgIC8vIFVzZSB0aGUgQlMgcHJvdmlkZWQgbWl4aW4gZm9yIHRoZSBidWxrIG9mIHRoZSBjb2xvclxuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCRsYWJlbC1jb2xvcik7XG5cbiAgICBbY2xhc3NePSdibWQtbGFiZWwnXSxcbiAgICBbY2xhc3MqPScgYm1kLWxhYmVsJ10ge1xuICAgICAgY29sb3I6ICRsYWJlbC1jb2xvci1mb2N1cztcbiAgICB9XG5cbiAgICAuYm1kLWxhYmVsLXBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7IC8vIGtlZXAgdGhlIHBsYWNlaG9sZGVyIGNvbG9yXG4gICAgfVxuXG4gICAgLy8gU2V0IHRoZSBib3JkZXIgYW5kIGJveCBzaGFkb3cgb24gc3BlY2lmaWMgaW5wdXRzIHRvIG1hdGNoXG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gU2V0IHZhbGlkYXRpb24gc3RhdGVzIGFsc28gZm9yIGFkZG9uc1xuICAgIC8vLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgICAvLyAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgIC8vfVxuXG4gICAgLmJtZC1oZWxwIHtcbiAgICAgIGNvbG9yOiAkYm1kLWxhYmVsLWNvbG9yLWlubmVyLWZvY3VzO1xuICAgIH1cbiAgfVxufVxuXG4vLyBtdXN0IGJlIGJyb2tlbiBvdXQgZm9yIHJldXNlIC0gd2Via2l0IHNlbGVjdG9yIGJyZWFrcyBmaXJlZm94XG5AbWl4aW4gYm1kLWxhYmVsLXN0YXRpYygkbGFiZWwtdG9wLCAkc3RhdGljLWZvbnQtc2l6ZSkge1xuICB0b3A6ICRsYWJlbC10b3A7XG4gIGxlZnQ6IDA7XG4gIC8vIG11c3QgcmVwZWF0IGJlY2F1c2UgdGhlIHByZXZpb3VzIChtb3JlIGdlbmVyaWMpIHNlbGVjdG9yc1xuICBmb250LXNpemU6ICRzdGF0aWMtZm9udC1zaXplO1xufVxuXG5AbWl4aW4gYm1kLWZvcm0tc2l6ZS12YXJpYW50KCRmb250LXNpemUsICRsYWJlbC10b3AtbWFyZ2luLCAkdmFyaWFudC1wYWRkaW5nLXksICR2YXJpYW50LWxpbmUtaGVpZ2h0LCAkZm9ybS1ncm91cC1jb250ZXh0OiBudWxsKSB7XG5cbiAgJHZhcmlhbnQtaW5wdXQtaGVpZ2h0OiAoKCRmb250LXNpemUgKiAkdmFyaWFudC1saW5lLWhlaWdodCkgKyAoJHZhcmlhbnQtcGFkZGluZy15ICogMikpO1xuICAkc3RhdGljLWZvbnQtc2l6ZTogKCRibWQtYm1kLWxhYmVsLXN0YXRpYy1zaXplLXJhdGlvICogJGZvbnQtc2l6ZSk7XG4gICRoZWxwLWZvbnQtc2l6ZTogKCRibWQtaGVscC1zaXplLXJhdGlvICogJGZvbnQtc2l6ZSk7XG5cbiAgJGxhYmVsLXN0YXRpYy10b3A6ICRsYWJlbC10b3AtbWFyZ2luO1xuICAkbGFiZWwtcGxhY2Vob2xkZXItdG9wOiAkbGFiZWwtdG9wLW1hcmdpbiArICRzdGF0aWMtZm9udC1zaXplICsgJHZhcmlhbnQtcGFkZGluZy15O1xuXG4gIC8vQGRlYnVnIFwiZm9udC1zaXplOiAjeyRmb250LXNpemV9IHN0YXRpYy1mb250LXNpemU6ICN7JHN0YXRpYy1mb250LXNpemV9IGhlbHAtZm9udC1zaXplOiAjeyRoZWxwLWZvbnQtc2l6ZX0gZm9ybS1ncm91cC1jb250ZXh0OiAjeyRmb3JtLWdyb3VwLWNvbnRleHR9IFwiO1xuXG4gIC8vTGFiZWwgaGVpZ2h0OiA3MmRwXG4gIC8vUGFkZGluZyBhYm92ZSBsYWJlbCB0ZXh0OiAxNmRwXG4gIC8vUGFkZGluZyBiZXR3ZWVuIGxhYmVsIGFuZCBpbnB1dCB0ZXh0OiA4ZHBcbiAgLy9QYWRkaW5nIGJlbG93IGlucHV0IHRleHQgKGluY2x1ZGluZyBkaXZpZGVyKTogMTZkcFxuICAvL1BhZGRpbmcgYmVsb3cgdGV4dCBkaXZpZGVyOiA4ZHBcblxuICBAaWYgJGZvcm0tZ3JvdXAtY29udGV4dCB7XG4gICAgLy8gQ3JlYXRlIGEgc3BhY2UgYXQgdGhlIHRvcCBvZiB0aGUgYm1kLWZvcm0tZ3JvdXAgZm9yIHRoZSBsYWJlbC5cbiAgICAvLyAgVGhlIGxhYmVsIGlzIGFic29sdXRlbHkgcG9zaXRpb25lZCwgc28gd2UgdXNlIHRvcCBwYWRkaW5nIHRvIG1ha2Ugc3BhY2UuICBUaGlzIHBhZGRpbmcgZXh0ZW5kcyBvdmVyIHRoZSBsYWJlbCBkb3duIHRvIHRoZSB0b3Agb2YgdGhlIGlucHV0IChwYWRkaW5nKS5cbiAgICBwYWRkaW5nLXRvcDogKCRsYWJlbC10b3AtbWFyZ2luICsgJHN0YXRpYy1mb250LXNpemUpO1xuICAgIC8vIG5vdGU6IGJvdHRvbS1tYXJnaW4gb2YgdGhpcyBpcyBkZXRlcm1pbmVkIGJ5ICRzcGFjZXIuICBAc2VlIF9zcGFjZXIuc2Nzc1xuICAgIC8vbWFyZ2luLWJvdHRvbTogKDEuNSAqICRoZWxwLWZvbnQtc2l6ZSk7XG4gIH1cblxuICAvLyBUT0RPOiByZW1vdmUgdGhpcyB3aGVuIGtub3duIHN0YWJsZS4gIGh0dHBzOi8vZ2l0aHViLmNvbS9GZXpWcmFzdGEvYm9vdHN0cmFwLW1hdGVyaWFsLWRlc2lnbi9pc3N1ZXMvODQ5XG4gIC8vQGVsc2Uge1xuICAvL1xuICAvLyAgLy8gZm9yIHJhZGlvcyBhbmQgY2hlY2tib3hlcyB3aXRob3V0IGEgZm9ybS1ncm91cCwgYWRkIHNvbWUgZXh0cmEgdmVydGljYWwgc3BhY2luZyB0byBwYWQgZG93biBzbyB0aGF0XG4gIC8vICAvLyAgYW55IGhlbHAgdGV4dCBhYm92ZSBpcyBub3QgZW5jcm9hY2hlZCB1cG9uLCBvciBzbyB0aGF0IGl0IGFwcGVhcnMgbW9yZSBldmVubHkgc3BhY2VkIHZzIGZvcm0tZ3JvdXBzXG4gIC8vICAucmFkaW8sXG4gIC8vICBsYWJlbC5yYWRpby1pbmxpbmUsXG4gIC8vICAuY2hlY2tib3gsXG4gIC8vICBsYWJlbC5jaGVja2JveC1pbmxpbmUsXG4gIC8vICAuc3dpdGNoIHtcbiAgLy8gICAgcGFkZGluZy10b3A6ICRzcGFjZXIteTtcbiAgLy8gIH1cbiAgLy99XG5cbiAgLy8gU2V0IGFsbCBsaW5lLWhlaWdodHMgcHJlZmVyYWJseSB0byAxIHNvIHRoYXQgd2UgY2FuIHNwYWNlIG91dCBldmVyeXRoaW5nIG1hbnVhbGx5IHdpdGhvdXQgYWRkaXRpb25hbCBhZGRlZCBzcGFjZVxuICAvLyAgZnJvbSB0aGUgZGVmYXVsdCBsaW5lLWhlaWdodCBvZiAxLjVcbiAgLmZvcm0tY29udHJvbCxcbiAgbGFiZWwsXG4gIGlucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgbGluZS1oZWlnaHQ6ICR2YXJpYW50LWxpbmUtaGVpZ2h0O1xuICB9XG5cbiAgLnJhZGlvIGxhYmVsLFxuICBsYWJlbC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveCBsYWJlbCxcbiAgbGFiZWwuY2hlY2tib3gtaW5saW5lLFxuICAuc3dpdGNoIGxhYmVsIHtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7IC8vIGtlZXAgdGhlIHNhbWUgbGluZSBoZWlnaHQgZm9yIHJhZGlvcyBhbmQgY2hlY2tib3hlc1xuICB9XG5cbiAgLy8gTm90ZTogdGhpcyBtYXkgYmUgaW5zaWRlIG9yIG91dHNpZGUgYSBmb3JtLWdyb3VwLCBtYXkgYmUgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIG9yIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZ1xuICBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIGdlbmVyaWMgbGFiZWxzIHVzZWQgYW55d2hlcmUgaW4gdGhlIGZvcm1cbiAgLmNoZWNrYm94IGxhYmVsLFxuICAucmFkaW8gbGFiZWwsXG4gIGxhYmVsIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIH1cblxuICAvLyBmbG9hdGluZy9wbGFjZWhvbGRlciBkZWZhdWx0IChubyBmb2N1cylcbiAgLmJtZC1sYWJlbC1mbG9hdGluZyxcbiAgLmJtZC1sYWJlbC1wbGFjZWhvbGRlciB7XG4gICAgLy9AZGVidWcgXCJ0b3A6ICN7JGxhYmVsLWFzLXBsYWNlaG9sZGVyLXRvcH1cIjtcbiAgICB0b3A6ICRsYWJlbC1wbGFjZWhvbGRlci10b3A7IC8vIHBsYWNlIHRoZSBmbG9hdGluZyBsYWJlbCB0byBsb29rIGxpa2UgYSBwbGFjZWhvbGRlciB3aXRoIGlucHV0IHBhZGRpbmdcbiAgfVxuXG4gIC8vIGZsb2F0aW5nIGZvY3VzZWQvZmlsbGVkIHdpbGwgbG9vayBsaWtlIHN0YXRpY1xuICAmLmlzLWZvY3VzZWQsXG4gIC5pcy1mb2N1c2VkLFxuICAmLmlzLWZpbGxlZCxcbiAgLmlzLWZpbGxlZCB7XG4gICAgLmJtZC1sYWJlbC1mbG9hdGluZyB7XG4gICAgICBAaW5jbHVkZSBibWQtbGFiZWwtc3RhdGljKCRsYWJlbC1zdGF0aWMtdG9wLCAkc3RhdGljLWZvbnQtc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gc3RhdGljXG4gIC5ibWQtbGFiZWwtc3RhdGljIHtcbiAgICBAaW5jbHVkZSBibWQtbGFiZWwtc3RhdGljKCRsYWJlbC1zdGF0aWMtdG9wLCAkc3RhdGljLWZvbnQtc2l6ZSk7XG4gIH1cbiAgLy8gIzU1OSBGaXggZm9yIHdlYmtpdC9jaHJvbWUgYXV0b2ZpbGwgLSBydWxlIG11c3QgYmUgc2VwYXJhdGUgYmVjYXVzZSBpdCBicmVha3MgZmlyZWZveCBvdGhlcndpc2UgIzczMVxuICAvL2lucHV0Oi13ZWJraXQtYXV0b2ZpbGwgfiAuYm1kLWxhYmVsLWZsb2F0aW5nIHsgIEZJWE1FOiBjb25maXJtIHRoYXQgdGhlIGF1dG9maWxsIGpzIGdlbmVyYXRpb24gb2YgY2hhbmdlIGV2ZW50IG1ha2VzIHRoaXMgdW5uZWNlc3NhcnlcbiAgLy8gIEBpbmNsdWRlIGJtZC1sYWJlbC1zdGF0aWMoJGxhYmVsLXRvcCwgJHN0YXRpYy1mb250LXNpemUsICRzdGF0aWMtbGluZS1oZWlnaHQpO1xuICAvL31cblxuICAuYm1kLWhlbHAge1xuICAgIG1hcmdpbi10b3A6IDA7IC8vIGFsbG93IHRoZSBpbnB1dCBtYXJnaW4gdG8gc2V0LW9mZiB0aGUgdG9wIG9mIHRoZSBoZWxwLWJsb2NrXG4gICAgZm9udC1zaXplOiAkaGVscC1mb250LXNpemU7XG4gIH1cblxuICAvLyB2YWxpZGF0aW9uIGljb24gcGxhY2VtZW50XG4gIC5mb3JtLWNvbnRyb2wge1xuICAgICYuZm9ybS1jb250cm9sLXN1Y2Nlc3MsXG4gICAgJi5mb3JtLWNvbnRyb2wtd2FybmluZyxcbiAgICAmLmZvcm0tY29udHJvbC1kYW5nZXIge1xuICAgICAgJGljb24tYmctc2l6ZTogKCR2YXJpYW50LWlucHV0LWhlaWdodCAqIC41KSAoJHZhcmlhbnQtaW5wdXQtaGVpZ2h0ICogLjUpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAkYm1kLWZvcm0tY29udHJvbC1iZy1zaXplLCAkaWNvbi1iZy1zaXplO1xuXG4gICAgICAmLFxuICAgICAgJjpmb2N1cyxcbiAgICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkICYge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAoJGlucHV0LXBhZGRpbmcteCAqIDMpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogJGJtZC1mb3JtLWNvbnRyb2wtYmctcmVwZWF0LXksIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGJtZC1mb3JtLWNvbnRyb2wtYmctcG9zaXRpb24sIGNlbnRlciByaWdodCAoJHZhcmlhbnQtaW5wdXQtaGVpZ2h0ICogLjI1KTtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyxcbiAgICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkICYge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRibWQtZm9ybS1jb250cm9sLWJnLXNpemUtYWN0aXZlLCAkaWNvbi1iZy1zaXplO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gaHR0cDovL3d3dy5nb29nbGUuY29tL2Rlc2lnbi9zcGVjL2NvbXBvbmVudHMvc2VsZWN0aW9uLWNvbnRyb2xzLmh0bWwjc2VsZWN0aW9uLWNvbnRyb2xzLWNoZWNrYm94XG4uY2hlY2tib3ggbGFiZWwsXG5sYWJlbC5jaGVja2JveC1pbmxpbmUge1xuICBwYWRkaW5nLWxlZnQ6ICRibWQtY2hlY2tib3gtc2l6ZSArICRibWQtY2hlY2tib3gtbGFiZWwtcGFkZGluZzsgLy8gYWJzb2x1dGVseSBwb3NpdGlvbmVkIHNvIGFkZCB0aGUgcmFkaW8gc2l6ZVxuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLmNoZWNrYm94LWRlY29yYXRvciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC4xMjVyZW07XG4gICAgbGVmdDogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgJjo6YmVmb3JlIHsgLy8gRklYTUU6IGRvY3VtZW50IHdoeSB0aGlzIGlzIG5lY2Vzc2FyeSAoZG9lc24ndCBzZWVtIHRvIGJlIG9uIGNocm9tZSlcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogJGJtZC1jaGVja2JveC1zaXplO1xuICAgICAgaGVpZ2h0OiAkYm1kLWNoZWNrYm94LXNpemU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmxhY2ssIC44NCk7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgyLjMsIDIuMywgMSk7XG4gICAgfVxuXG4gICAgLmNoZWNrIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogJGJtZC1jaGVja2JveC1zaXplO1xuICAgICAgaGVpZ2h0OiAkYm1kLWNoZWNrYm94LXNpemU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgYm9yZGVyOiAkYm1kLWNoZWNrYm94LWJvcmRlci1zaXplIHNvbGlkICRibWQtY2hlY2tib3gtYm9yZGVyLWNvbG9yO1xuICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG5cbiAgICAgIC8vIGNoZWNrYm94IG91dGxpbmVcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAsXG4gICAgICAgIDAgMCAwIDAsXG4gICAgICAgIDAgMCAwIDAsXG4gICAgICAgIDAgMCAwIDAsXG4gICAgICAgIDAgMCAwIDAsXG4gICAgICAgIDAgMCAwIDAsXG4gICAgICAgIDAgMCAwIDAgaW5zZXQ7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgYW5pbWF0aW9uOiBjaGVja2JveC1vZmY7XG5cbiAgICAgICAgLmlzLWZvY3VzZWQgJiB7XG4gICAgICAgICAgLy8gUHJldmVudCBjaGVja2JveCBhbmltYXRpb24gYW5kIHJpcHBsZSBlZmZlY3Qgb24gcGFnZSBsb2FkXG4gICAgICAgICAgYW5pbWF0aW9uOiBjaGVja2JveC1vZmYgJGJtZC1jaGVja2JveC1hbmltYXRpb24tY2hlY2sgZm9yd2FyZHM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG5cbiAgICAvLyBIaWRlIG5hdGl2ZSBjaGVja2JveFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgJjpmb2N1cyArIC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrOjphZnRlciB7XG4gICAgICBvcGFjaXR5OiAwLjI7XG4gICAgfVxuXG4gICAgJjpjaGVja2VkIHtcblxuICAgICAgLy8gRklYTUU6IG9uY2Ugd29ya2luZyAtIGNvbWJpbmUgZnVydGhlciB0byByZWR1Y2UgY29kZVxuICAgICAgKyAuY2hlY2tib3gtZGVjb3JhdG9yIC5jaGVjayB7XG4gICAgICAgIGNvbG9yOiAkYm1kLWNoZWNrYm94LWNoZWNrZWQtY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJtZC1jaGVja2JveC1jaGVja2VkLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICArIC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogJGJtZC1jaGVja2JveC1jaGVja2VkLWNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxMHB4LFxuICAgICAgICAxMHB4IC0xMHB4IDAgMTBweCxcbiAgICAgICAgMzJweCAwIDAgMjBweCxcbiAgICAgICAgMDMycHggMCAyMHB4LFxuICAgICAgICAtNXB4IDVweCAwIDEwcHgsXG4gICAgICAgIDIwcHggLTEycHggMCAxMXB4O1xuICAgICAgICBhbmltYXRpb246IGNoZWNrYm94LW9uICRibWQtY2hlY2tib3gtYW5pbWF0aW9uLWNoZWNrIGZvcndhcmRzO1xuICAgICAgfVxuXG4gICAgICArIC5jaGVja2JveC1kZWNvcmF0b3I6OmJlZm9yZSB7XG4gICAgICAgIGFuaW1hdGlvbjogcmlwcGxlT247XG4gICAgICAgIC5pcy1mb2N1c2VkICYge1xuICAgICAgICAgIC8vIFByZXZlbnQgY2hlY2tib3ggYW5pbWF0aW9uIGFuZCByaXBwbGUgZWZmZWN0IG9uIHBhZ2UgbG9hZFxuICAgICAgICAgIGFuaW1hdGlvbjogcmlwcGxlT24gJGJtZC1jaGVja2JveC1hbmltYXRpb24tcmlwcGxlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICsgLmNoZWNrYm94LWRlY29yYXRvciAuY2hlY2s6OmFmdGVyIHtcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtc3VjY2VzczsgLy8gRklYTUU6IHNlZW1zIGxpa2UgdGhvIHdyb25nIGNvbG9yLCB0ZXN0IGFuZCBtYWtlIHN1cmUgaXQgY2FuIGJlIHJlbW92ZWRcbiAgICAgICAgYW5pbWF0aW9uOiByaXBwbGVPbiAkYm1kLWNoZWNrYm94LWFuaW1hdGlvbi1yaXBwbGUgZm9yd2FyZHM7IC8vIFJpcHBsZSBlZmZlY3Qgb24gY2hlY2tcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCg6Y2hlY2tlZCkge1xuICAgICAgKyAuY2hlY2tib3gtZGVjb3JhdG9yOjpiZWZvcmUge1xuICAgICAgICBhbmltYXRpb246IHJpcHBsZU9mZjtcbiAgICAgICAgLmlzLWZvY3VzZWQgJiB7XG4gICAgICAgICAgLy8gUHJldmVudCBjaGVja2JveCBhbmltYXRpb24gYW5kIHJpcHBsZSBlZmZlY3Qgb24gcGFnZSBsb2FkXG4gICAgICAgICAgYW5pbWF0aW9uOiByaXBwbGVPZmYgJGJtZC1jaGVja2JveC1hbmltYXRpb24tcmlwcGxlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICsgLmNoZWNrYm94LWRlY29yYXRvciAuY2hlY2s6OmFmdGVyIHtcbiAgICAgICAgYW5pbWF0aW9uOiByaXBwbGVPZmYgJGJtZC1jaGVja2JveC1hbmltYXRpb24tcmlwcGxlIGZvcndhcmRzOyAvLyBSaXBwbGUgZWZmZWN0IG9uIHVuY2hlY2tcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSxcbiAgICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgICArIC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrOjphZnRlcixcbiAgICAgIC5jaGVjazo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1kYXJrO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgfVxuICAgICAgKyAuY2hlY2tib3gtZGVjb3JhdG9yIC5jaGVjayxcbiAgICAgIC5jaGVjayB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJtZC1jaGVja2JveC1ib3JkZXItY29sb3ItZGlzYWJsZWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBrZXlmcmFtZXMgY2hlY2tib3gtb24ge1xuICAwJSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCxcbiAgICAxMHB4IC0xMHB4IDAgMTBweCxcbiAgICAzMnB4IDAgMCAyMHB4LFxuICAgIDAgMzJweCAwIDIwcHgsXG4gICAgLTVweCA1cHggMCAxMHB4LFxuICAgIDE1cHggMnB4IDAgMTFweDtcbiAgfVxuICA1MCUge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwcHgsXG4gICAgMTBweCAtMTBweCAwIDEwcHgsXG4gICAgMzJweCAwIDAgMjBweCxcbiAgICAwIDMycHggMCAyMHB4LFxuICAgIC01cHggNXB4IDAgMTBweCxcbiAgICAyMHB4IDJweCAwIDExcHg7XG4gIH1cbiAgMTAwJSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCxcbiAgICAxMHB4IC0xMHB4IDAgMTBweCxcbiAgICAzMnB4IDAgMCAyMHB4LFxuICAgIDAgMzJweCAwIDIwcHgsXG4gICAgLTVweCA1cHggMCAxMHB4LFxuICAgIDIwcHggLTEycHggMCAxMXB4O1xuICB9XG59XG5cbkBrZXlmcmFtZXMgY2hlY2tib3gtb2ZmIHtcbiAgMCUge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwcHgsXG4gICAgMTBweCAtMTBweCAwIDEwcHgsXG4gICAgMzJweCAwIDAgMjBweCxcbiAgICAwIDMycHggMCAyMHB4LFxuICAgIC01cHggNXB4IDAgMTBweCxcbiAgICAyMHB4IC0xMnB4IDAgMTFweCxcbiAgICAwIDAgMCAwIGluc2V0O1xuICB9XG4gIDI1JSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCxcbiAgICAxMHB4IC0xMHB4IDAgMTBweCxcbiAgICAzMnB4IDAgMCAyMHB4LFxuICAgIDAgMzJweCAwIDIwcHgsXG4gICAgLTVweCA1cHggMCAxMHB4LFxuICAgIDIwcHggLTEycHggMCAxMXB4LFxuICAgIDAgMCAwIDAgaW5zZXQ7XG4gIH1cbiAgNTAlIHtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLTRweDtcbiAgICBtYXJnaW4tbGVmdDogNnB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwcHgsXG4gICAgMTBweCAtMTBweCAwIDEwcHgsXG4gICAgMzJweCAwIDAgMjBweCxcbiAgICAwIDMycHggMCAyMHB4LFxuICAgIC01cHggNXB4IDAgMTBweCxcbiAgICAxNXB4IDJweCAwIDExcHgsXG4gICAgMCAwIDAgMCBpbnNldDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIH1cbiAgNTElIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICBtYXJnaW4tbGVmdDogLTJweDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwLFxuICAgIDAgMCAwIDAsXG4gICAgMCAwIDAgMCxcbiAgICAwIDAgMCAwLFxuICAgIDAgMCAwIDAsXG4gICAgMCAwIDAgMCxcbiAgICAwIDAgMCAxMHB4IGluc2V0O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAsXG4gICAgMCAwIDAgMCxcbiAgICAwIDAgMCAwLFxuICAgIDAgMCAwIDAsXG4gICAgMCAwIDAgMCxcbiAgICAwIDAgMCAwLFxuICAgIDAgMCAwIDAgaW5zZXQ7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByaXBwbGVPbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4yO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByaXBwbGVPZmYge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMjtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4iLCIuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIEBleHRlbmQgLmZvcm0tY29udHJvbDtcbiAgQGluY2x1ZGUgYm1kLWZvcm0tY29sb3IoJGJtZC1sYWJlbC1jb2xvciwgJGJtZC1sYWJlbC1jb2xvci1mb2N1cywgJGlucHV0LWJvcmRlci1jb2xvcik7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBAZXh0ZW5kIC5idG47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMXB4KTtcbiAgfVxufVxuIiwiLy8gaHR0cDovL2NvZGVwZW4uaW8vcm9zc2tldmluL3Blbi9FUFB3UlI/ZWRpdG9ycz0xMTBcbi5zd2l0Y2gge1xuICBsYWJlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogJGJtZC1zd2l0Y2gtd2lkdGggKyAkYm1kLXN3aXRjaC1sYWJlbC1wYWRkaW5nOyAvLyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQgc28gYWRkIHRoZSByYWRpbyBzaXplXG5cbiAgICAuYm1kLXN3aXRjaC10cmFjayB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGNhbGMtdG9wKCRsaW5lLWhlaWdodC1iYXNlLCAkZm9udC1zaXplLWJhc2UsICRibWQtc3dpdGNoLWhlaWdodCk7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6ICRibWQtc3dpdGNoLXdpZHRoO1xuICAgICAgaGVpZ2h0OiAkYm1kLXN3aXRjaC1oZWlnaHQ7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgdG8gcmlnaHQsXG4gICAgICAgICAgJGJtZC1zd2l0Y2gtdW5jaGVja2VkLWJnIDAlLFxuICAgICAgICAgICRibWQtc3dpdGNoLXVuY2hlY2tlZC1iZyA1MCUsXG4gICAgICAgICAgJGJtZC1zd2l0Y2gtY2hlY2tlZC1iZyA1MCUsXG4gICAgICAgICAgJGJtZC1zd2l0Y2gtY2hlY2tlZC1iZyAxMDAlXG4gICAgICApO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6ICRibWQtc3dpdGNoLXdpZHRoICogMiAkYm1kLXN3aXRjaC1oZWlnaHQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAkYm1kLXN3aXRjaC13aWR0aDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gMC4ycyBlYXNlLWluO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAkYm1kLXN3aXRjaC1oYW5kbGUtc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkYm1kLXN3aXRjaC1oYW5kbGUtc2l6ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYmFja2dyb3VuZDogJGJtZC1zd2l0Y2gtaGFuZGxlLXVuY2hlY2tlZC1iZztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAgICAgdHJhbnNpdGlvbjogbGVmdCAwLjJzIGVhc2UtaW4sIGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLWluLCB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEplbGx5IGVmZmVjdCBvbiBjbGlja1xuICAgICAgJjphY3RpdmU6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgLy8gSGlkZSBvcmlnaW5hbCBjaGVja2JveCwgYnV0IGRvbid0IHVzZSBgZGlzcGxheTogbm9uZWAgdG8gYWxsb3cgZm9jdXMgb24gaXQgdXNpbmcga2V5Ym9hcmRcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAmOmNoZWNrZWQge1xuICAgICAgICArIC5ibWQtc3dpdGNoLXRyYWNrIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwJTtcbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBsZWZ0OiB1bnF1b3RlKFwiY2FsYygxMDAlIC0gI3skYm1kLXN3aXRjaC1oYW5kbGUtc2l6ZX0pXCIpOyAvL2NhbGMoMTAwJSAtICRibWQtc3dpdGNoLWhhbmRsZS1zaXplKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibWQtc3dpdGNoLWhhbmRsZS1jaGVja2VkLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgLy8gTm8gamVsbHkgZWZmZWN0IG9uIGRpc2FibGVkIHN3aXRjaHNcbiAgICAgICAgKyAuYm1kLXN3aXRjaC10cmFjazphY3RpdmU6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIH1cblxuICAgICAgICArIC5ibWQtc3dpdGNoLXRyYWNrIHtcbiAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGJtZC1zd2l0Y2gtZGlzYWJsZWQtYmc7XG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGJtZC1zd2l0Y2gtaGFuZGxlLWRpc2FibGVkLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGZ1bmN0aW9uIGNhbGMtdG9wKCRsaW5lLWhlaWdodC1iYXNlLCAkZm9udC1zaXplLCAkY29tcG9uZW50LWhlaWdodCkge1xuICBAcmV0dXJuICgoJGxpbmUtaGVpZ2h0LWJhc2UgKiAkZm9udC1zaXplKSAtICRjb21wb25lbnQtaGVpZ2h0KSAvIDI7IC8vIHZlcnRpY2FsIGNlbnRlciBvZiBsaW5lLWhlaWdodFxufVxuXG5cblxuXG4vLyBFbXVsYXRlIHRoZSBsZXNzICNjb250cmFzdCBmdW5jdGlvblxuLy8gVE9ETzogdGhpcyBtYXkgYmUgdXNlZnVsIGZvciB0aGUgaW52ZXJzZSB0aGVtZSwgYnV0IGlmIG5vdCwgcmVtb3ZlIChpdCBpcyB1bnVzZWQgYWZ0ZXIgdGhlIHJlbW92YWwgb2YgZnVsbHBhbGV0dGUpXG4vLyBjb250cmFzdC1jb2xvciBhbmQgYnJpZ2h0bmVzcyBib3Jyb3dlZCBmcm9tIGNvbXBhc3Ncbi8vIENvcHlyaWdodCAoYykgMjAwOS0yMDE0IENocmlzdG9waGVyIE0uIEVwcHN0ZWluXG4vLyBDb21wbGllcyB3aXRoIGxpY2Vuc2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9Db21wYXNzL2NvbXBhc3MvYmxvYi9zdGFibGUvTElDRU5TRS5tYXJrZG93blxuQGZ1bmN0aW9uIGNvbnRyYXN0LWNvbG9yKCRjb2xvciwgJGRhcms6ICRjb250cmFzdGVkLWRhcmstZGVmYXVsdCwgJGxpZ2h0OiAkY29udHJhc3RlZC1saWdodC1kZWZhdWx0LCAkdGhyZXNob2xkOiBudWxsKSB7XG4gIEBpZiAkdGhyZXNob2xkIHtcbiAgICAvLyBEZXByZWNhdGVkIGluIENvbXBhc3MgMC4xM1xuICAgIEB3YXJuIFwiVGhlICR0aHJlc2hvbGQgYXJnbWVudCB0byBjb250cmFzdC1jb2xvciBpcyBubyBsb25nZXIgbmVlZGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgcmVsZWFzZS5cIjtcbiAgfVxuXG4gIEBpZiAkY29sb3IgPT0gbnVsbCB7XG4gICAgQHJldHVybiBudWxsO1xuICB9IEBlbHNlIHtcbiAgICAkY29sb3ItYnJpZ2h0bmVzczogYnJpZ2h0bmVzcygkY29sb3IpO1xuICAgICRkYXJrLXRleHQtYnJpZ2h0bmVzczogYnJpZ2h0bmVzcygkZGFyayk7XG4gICAgJGxpZ2h0LXRleHQtYnJpZ2h0bmVzczogYnJpZ2h0bmVzcygkbGlnaHQpO1xuICAgIEByZXR1cm4gaWYoYWJzKCRjb2xvci1icmlnaHRuZXNzIC0gJGxpZ2h0LXRleHQtYnJpZ2h0bmVzcykgPiBhYnMoJGNvbG9yLWJyaWdodG5lc3MgLSAkZGFyay10ZXh0LWJyaWdodG5lc3MpLCAkbGlnaHQsICRkYXJrKTtcbiAgfVxufVxuXG5AZnVuY3Rpb24gYnJpZ2h0bmVzcygkY29sb3IpIHtcbiAgQGlmIHR5cGUtb2YoJGNvbG9yKSA9PSBjb2xvciB7XG4gICAgQHJldHVybiAocmVkKCRjb2xvcikgKiAwLjI5OSArIGdyZWVuKCRjb2xvcikgKiAwLjU4NyArIGJsdWUoJGNvbG9yKSAqIDAuMTE0KSAvIDI1NSAqIDEwMCU7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gdW5xdW90ZShcImJyaWdodG5lc3MoI3skY29sb3J9KVwiKTtcbiAgfVxufVxuIiwiLnJhZGlvIGxhYmVsLFxubGFiZWwucmFkaW8taW5saW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6ICRibWQtcmFkaW8tc2l6ZSArICRibWQtcmFkaW8tbGFiZWwtcGFkZGluZzsgLy8gYWJzb2x1dGVseSBwb3NpdGlvbmVkIHNvIGFkZCB0aGUgcmFkaW8gc2l6ZVxuXG4gIC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlLCAvLyBkb24ndCB1c2UgZ2VuZXJpYyBzcGFuLCBpdCBtYXkgY29uZmxpY3Qgd2l0aCBzcGFuIGluIHVzZXIgbWFya3VwICM2OTNcbiAgLmJtZC1yYWRpby1pbm5lci1jaXJjbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMtdG9wKCRsaW5lLWhlaWdodC1iYXNlLCAkZm9udC1zaXplLWJhc2UsICRibWQtcmFkaW8tc2l6ZSk7IC8vIHZlcnRpY2FsIGNlbnRlciBvZiBsaW5lLWhlaWdodFxuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAkYm1kLXJhZGlvLXNpemU7XG4gICAgaGVpZ2h0OiAkYm1kLXJhZGlvLXNpemU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG5cbiAgICAmLmJtZC1yYWRpby1vdXRlci1jaXJjbGUge1xuICAgICAgYm9yZGVyOiAkYm1kLXJhZGlvLWJvcmRlciBzb2xpZCAkYm1kLXJhZGlvLWNvbG9yLW9mZjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciBlYXNlIC4yOHM7XG4gICAgfVxuICAgICYuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm1kLXJhZGlvLWNvbG9yLW9uO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIGVhc2UgLjI4cztcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLCAwLCAwKTtcblxuICAgICAgLy8gZm9jdXMvcHJlc3MgcmlwcGxlXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtI3skYm1kLXJhZGlvLXJpcHBsZS1vZmZzZXR9O1xuICAgICAgICBsZWZ0OiAtI3skYm1kLXJhZGlvLXJpcHBsZS1vZmZzZXR9O1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1kYXJrO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS41LCAxLjUsIDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgICAvLyBIaWRlIG5hdGl2ZSByYWRpb1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgJjpjaGVja2VkIHtcbiAgICAgIEBpbmNsdWRlIGJtZC1yYWRpby1jb2xvcigkYm1kLXJhZGlvLWNvbG9yLW9uKTtcblxuICAgICAgfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjU1LCAwLjU1LCAxKTtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGFuaW1hdGlvbjogcmlwcGxlT247XG5cbiAgICAgICAgICAuaXMtZm9jdXNlZCAmIHtcbiAgICAgICAgICAgIC8vIFByZXZlbnQgcmlwcGxlIGVmZmVjdCBvbiBwYWdlIGxvYWRcbiAgICAgICAgICAgIGFuaW1hdGlvbjogcmlwcGxlT24gNTAwbXM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoOmNoZWNrZWQpIH4gLmJtZC1yYWRpby1pbm5lci1jaXJjbGU6OmFmdGVyIHtcbiAgICAgIGFuaW1hdGlvbjogcmlwcGxlT2ZmIDUwMG1zO1xuICAgIH1cblxuICAgICZbZGlzYWJsZWRdLFxuICAgICY6ZGlzYWJsZWQsXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuXG4gICAgICArIC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlIHtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBibWQtcmFkaW8tY29sb3IoJGJtZC1yYWRpby1jb2xvci1kaXNhYmxlZCk7XG5cbiAgICAgIC5iZy1pbnZlcnNlICYge1xuICAgICAgICBAaW5jbHVkZSBibWQtcmFkaW8tY29sb3IoJGJtZC1yYWRpby1jb2xvci1kaXNhYmxlZC1pbnZlcnNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGtleWZyYW1lcyByaXBwbGVPbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4yO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByaXBwbGVPZmYge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMjtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4iLCJmb3JtIHtcbiAgLy8gZW5zdXJlIGVub3VnaCByb29tIGF0IHRoZSBib3R0b20gb2YgYW55IGZvcm0gdG8gZGlzcGxheSBhIG9uZS1saW5lIGJtZC1oZWxwXG4gIG1hcmdpbi1ib3R0b206ICgkYm1kLWhlbHAtc2l6ZS1yYXRpbyAqICRmb250LXNpemUtYmFzZSkgKiAkbGluZS1oZWlnaHQtYmFzZTtcblxuICAvLyByZXZlcnNlIHRoZSBhYm92ZSBmb3IgbmF2YmFycyAobm8gaGVscCBleHBlY3RlZCBpbiBhIG5hdmJhciBmb3JtKVxuICAubmF2YmFyICYge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIG9ubHkgYWRqdXN0IGJvdHRvbSBzbyB0aGF0IHB1bGwteHMtcmlnaHQgZmxleGVkIG1hcmdpbi1sZWZ0OiBhdXRvIHdvcmtzXG5cbiAgICAuYm1kLWZvcm0tZ3JvdXAge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG4gICAgLmJ0biB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyAtLS0tLVxuLy8gSW5wdXRzXG4vL1xuLy8gUmVmZXJlbmNlIGh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9kZXNpZ24vc3BlYy9jb21wb25lbnRzL3RleHQtZmllbGRzLmh0bWxcbi8vIE1ETCBpbXBsZW1lbnRhdGlvbjogaHR0cDovL3d3dy5nZXRtZGwuaW8vY29tcG9uZW50cy9pbmRleC5odG1sI3RleHRmaWVsZHMtc2VjdGlvblxuLmZvcm0tY29udHJvbCB7XG4gIGJhY2tncm91bmQ6ICRibWQtZm9ybS1jb250cm9sLWJnLXJlcGVhdC15ICRibWQtZm9ybS1jb250cm9sLWJnLXBvc2l0aW9uO1xuICBiYWNrZ3JvdW5kLXNpemU6ICRibWQtZm9ybS1jb250cm9sLWJnLXNpemU7XG4gIGJvcmRlcjogMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwcyBlYXNlLW91dDtcblxuICAvLyBUaGUgYm9yZGVyIGJvdHRvbSBzaG91bGQgYmUgc3RhdGljIGluIGFsbCBzdGF0ZXMsIHRoZSBkZWNvcmF0b3Igd2lsbCBiZSBhbmltYXRlZCBvdmVyIHRoaXMuXG4gICY6Zm9jdXMsXG4gIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkICYge1xuICAgIGJhY2tncm91bmQtc2l6ZTogJGJtZC1mb3JtLWNvbnRyb2wtYmctc2l6ZS1hY3RpdmU7XG4gICAgLy9ib3JkZXItYm90dG9tOiAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIH1cbn1cblxuLy8gSGVscCBibG9ja3MgKG5vdCBpbiB2NClcbi8vICBwb3NpdGlvbjogYWJzb2x1dGUgYXBwcm9hY2ggLSB1c2VzIG5vIHZlcnRpY2FsIHNwYWNlIGFuZCB0aGVyZSBpcyBubyBmb3JtIGp1bXBpbmcsIGJ1dCB0ZXh0IHdyYXBwaW5nIC0gbm90IHNvIGdvb2QuXG4vLyAgRklYTUU6IHdpZHRoL3dyYXBwaW5nIGlzbid0IGF1dG9tYXRpYyBhbmQgb3ZlcmZsb3dzIG9jY3VyLiAgV2hhdCBhcmUgc29tZSBzb2x1dGlvbnM/XG4vL1xuLmJtZC1oZWxwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LXNpemU6IC44cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBAZXh0ZW5kIC50ZXh0LW11dGVkO1xuXG4gIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNdWx0aXBsZSBoZWxwIGJsb2Nrc1xuICAvLyAtIGFic29sdXRlIHBvc2l0aW9uaW5nIGlzIHVzZWQgYWJvdmUgdG8gcHJldmVudCBib3VuY2luZ1xuICAvLyAtIHdoZW4gdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSwgdGhpcyB3aWxsIGJvdW5jZSBidXQgd2lsbCBhdCBsZWFzdCBzaG93XG4gICY6bnRoLW9mLXR5cGUoMikge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtOyAvLyB0aGUgZmlyc3Qgb25lIHJlcXVpcmVzIHRvcCBwYWRkaW5nIHRvIHB1c2ggaXQgYmVsb3cgdGhlIGZpcnN0IG9uZSB3aGljaCBpcyBhYnNvbHV0ZSBwb3NpdGlvbmVkXG4gIH1cblxuICArIC5ibWQtaGVscCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8gLS0tLS1cbi8vIFN0YXRlIGNvbG9yaW5nOiBkZWZhdWx0LCBzdWNjZXNzLCBpbmZvLCB3YXJuaW5nLCBkYW5nZXJcbi8vXG5AaW5jbHVkZSBibWQtc2VsZWN0aW9uLWNvbG9yKCk7XG5AaW5jbHVkZSBibWQtZm9ybS1jb2xvcigkYm1kLWxhYmVsLWNvbG9yLCAkYm1kLWxhYmVsLWNvbG9yLWZvY3VzLCAkaW5wdXQtYm9yZGVyLWNvbG9yKTtcblxuLmhhcy1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgYm1kLWZvcm0tY29sb3IoJGJyYW5kLXN1Y2Nlc3MsICRicmFuZC1zdWNjZXNzLCAkYnJhbmQtc3VjY2Vzcyk7XG59XG5cbi5oYXMtaW5mbyB7XG4gIEBpbmNsdWRlIGJtZC1mb3JtLWNvbG9yKCRicmFuZC1pbmZvLCAkYnJhbmQtaW5mbywgJGJyYW5kLWluZm8pO1xufVxuXG4uaGFzLXdhcm5pbmcge1xuICBAaW5jbHVkZSBibWQtZm9ybS1jb2xvcigkYnJhbmQtd2FybmluZywgJGJyYW5kLXdhcm5pbmcsICRicmFuZC13YXJuaW5nKTtcbn1cblxuLmhhcy1kYW5nZXIge1xuICBAaW5jbHVkZSBibWQtZm9ybS1jb2xvcigkYnJhbmQtZGFuZ2VyLCAkYnJhbmQtZGFuZ2VyLCAkYnJhbmQtZGFuZ2VyKTtcbn1cblxuLy8gUmVmZXJlbmNlIGh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9kZXNpZ24vc3BlYy9jb21wb25lbnRzL3RleHQtZmllbGRzLmh0bWxcbi8vIE1ETCBpbXBsZW1lbnRhdGlvbjogaHR0cDovL3d3dy5nZXRtZGwuaW8vY29tcG9uZW50cy9pbmRleC5odG1sI3RleHRmaWVsZHMtc2VjdGlvblxuLy8udmFyaWF0aW9ucyh1bnF1b3RlKFwiIGxhYmVsXCIpLCBjb2xvciwgJGJtZC1pbnB1dC1wbGFjZWhvbGRlci1jb2xvcik7ICAvLyBkZWZhdWx0IGxhYmVsIGNvbG9yIHZhcmlhdGlvbnNcblxuLy8gV2hlcmVhcyAuZm9ybS1ncm91cCBhZGRzIHN0cnVjdHVyZSwgYm1kLWZvcm0tZ3JvdXAganVzdCBuZWVkcyB0byBtYWtlIHN1cmUgd2UgaGF2ZSBlbm91Z2ggcGFkZGluZyBmb3Igb3VyIGxhYmVscyB0byB3b3JrLiAgVGhhdCdzIHRoZSBvbmx5IHB1cnBvc2UuXG4uYm1kLWZvcm0tZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLy8gLS0tLS1cbiAgLy8gTGFiZWxzXG4gIC8vXG4gIC8vIFJlZmVyZW5jZSBodHRwOi8vd3d3Lmdvb2dsZS5jb20vZGVzaWduL3NwZWMvY29tcG9uZW50cy90ZXh0LWZpZWxkcy5odG1sXG4gIC8vIE1ETCBpbXBsZW1lbnRhdGlvbjogaHR0cDovL3d3dy5nZXRtZGwuaW8vY29tcG9uZW50cy9pbmRleC5odG1sI3RleHRmaWVsZHMtc2VjdGlvblxuICBbY2xhc3NePSdibWQtbGFiZWwnXSxcbiAgW2NsYXNzKj0nIGJtZC1sYWJlbCddIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlIGFsbDtcblxuICAgIC8vIGhpbnQgdG8gYnJvd3NlciBmb3Igb3B0aW1pemF0aW9uXG4gICAgJi5ibWQtbGFiZWwtZmxvYXRpbmcge1xuICAgICAgd2lsbC1jaGFuZ2U6IGxlZnQsIHRvcCwgY29udGVudHM7IC8vIFRPRE86IGV2YWx1YXRlIGVmZmVjdGl2ZW5lc3MgLSBsb29raW5nIGZvciBjb21tdW5pdHkgZmVlZGJhY2tcbiAgICB9XG4gIH1cblxuICAvLyBoaWRlIGxhYmVsLXBsYWNlaG9sZGVycyB3aGVuIHRoZSBmaWVsZCBpcyBmaWxsZWRcbiAgJi5pcy1maWxsZWQgLmJtZC1sYWJlbC1wbGFjZWhvbGRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIE9wdGlvbmFsIGNsYXNzIHRvIG1ha2UgdGhlIHRleHQgZmllbGQgaW5saW5lIGNvbGxhcHNpYmxlL2V4cGFuZGFibGUgKGNvbGxhcHNlZCBieSBkZWZhdWx0KVxuICAvLyAgICBUaGlzIHVzZXMgdGhlIEJTIGNvbGxhcHNlIGpzIHRvIG1ha2UgdGhlIHdpZHRoIGV4cGFuZC5cbiAgLy8gICAgYHdpZHRoYCBjbGFzcyBtdXN0IGFsc28gYmUgb24gdGhlIGVsZW1lbnQgRklYTUU6IGRvIHRoaXMgd2l0aCBKUywgaXQgaXMgYSBtYXJrZXIgY2xhc3MgYW5kIHNob3VsZCBiZSBpbXBsaWNpdCBiZWNhdXNlIGFmdGVyIGFsbCwgd2UgYXJlIGFuIGJtZC1jb2xsYXBzZS1pbmxpbmVcbiAgLy8gICAgRklYTUU6IGpzIG5lZWRzIHRvIGRvIHRoZSBmb2N1cyBvbiBzaG93bi5icy5jb2xsYXBzZSBldmVudCBodHRwOi8vdjQtYWxwaGEuZ2V0Ym9vdHN0cmFwLmNvbS9jb21wb25lbnRzL2NvbGxhcHNlLyNldmVudHNcbiAgJi5ibWQtY29sbGFwc2UtaW5saW5lIHtcbiAgICBwYWRkaW5nOiAwOyAvLyBnZXQgcmlkIG9mIGFueSBwYWRkaW5nIGFzIHRoaXMgaXMgYSB3aWR0aCB0cmFuc2l0aW9uXG5cbiAgICAvLyBFeHBhbmRhYmxlIEhvbGRlci5cbiAgICAuY29sbGFwc2Uge1xuICAgICAgJi5pbiB7XG4gICAgICAgIC8vIFRoaXMgaXMgYW4gdW5mb3J0dW5hdGUgaGFjay4gQW5pbWF0aW5nIGJldHdlZW4gd2lkdGhzIGluIHBlcmNlbnQgKCUpXG4gICAgICAgIC8vIGluIG1hbnkgYnJvd3NlcnMgKENocm9tZSwgRmlyZWZveCkgb25seSBhbmltYXRlcyB0aGUgaW5uZXIgdmlzdWFsIHN0eWxlXG4gICAgICAgIC8vIG9mIHRoZSBpbnB1dCAtIHRoZSBvdXRlciBib3VuZGluZyBib3ggc3RpbGwgJ2p1bXBzJy5cbiAgICAgICAgLy8gVGh1cyBhc3N1bWUgYSBzZW5zaWJsZSBtYXhpbXVtLCBhbmQgYW5pbWF0ZSB0by9mcm9tIHRoYXQgdmFsdWUuXG4gICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbGxhcHNpbmcsXG4gICAgLndpZHRoOm5vdCguY29sbGFwc2UpLCAvLyBjb2xsYXBzaW5nIGlzIHJlbW92ZWQgYW5kIG1vbWVudGFyaWx5IG9ubHkgd2lkdGggaXMgcHJlc2VudFxuICAgIC5jb2xsYXBzZS5pbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmNvbGxhcHNpbmcge1xuICAgICAgQGluY2x1ZGUgbWF0ZXJpYWwtYW5pbWF0aW9uLWRlZmF1bHQoKTtcbiAgICB9XG4gIH1cblxuICAvLyBkZWZhdWx0IGZsb2F0aW5nIHNpemUvbG9jYXRpb24gd2l0aCBhbiBibWQtZm9ybS1ncm91cFxuICBAaW5jbHVkZSBibWQtZm9ybS1zaXplLXZhcmlhbnQoJGZvbnQtc2l6ZS1iYXNlLCAkYm1kLWxhYmVsLXRvcC1tYXJnaW4tYmFzZSwgJGlucHV0LXBhZGRpbmcteSwgJGJtZC1mb3JtLWxpbmUtaGVpZ2h0LCBcImJtZC1mb3JtLWdyb3VwIGRlZmF1bHRcIik7XG5cbiAgLy8gc20gZmxvYXRpbmcgc2l6ZS9sb2NhdGlvblxuICAmLmJtZC1mb3JtLWdyb3VwLXNtIHtcbiAgICBAaW5jbHVkZSBibWQtZm9ybS1zaXplLXZhcmlhbnQoJGZvbnQtc2l6ZS1zbSwgJGJtZC1sYWJlbC10b3AtbWFyZ2luLXNtLCAkaW5wdXQtcGFkZGluZy15LXNtLCAkYm1kLWZvcm0tbGluZS1oZWlnaHQtc20sIFwiYm1kLWZvcm0tZ3JvdXAgc21cIik7XG4gIH1cblxuICAvLyBsZyBmbG9hdGluZyBzaXplL2xvY2F0aW9uXG4gICYuYm1kLWZvcm0tZ3JvdXAtbGcge1xuICAgIEBpbmNsdWRlIGJtZC1mb3JtLXNpemUtdmFyaWFudCgkZm9udC1zaXplLWxnLCAkYm1kLWxhYmVsLXRvcC1tYXJnaW4tbGcsICRpbnB1dC1wYWRkaW5nLXktbGcsICRibWQtZm9ybS1saW5lLWhlaWdodC1zbSwgXCJibWQtZm9ybS1ncm91cCBsZ1wiKTtcbiAgfVxufVxuXG4vLyBkZWZhdWx0IGZsb2F0aW5nIHNpemUvbG9jYXRpb24gd2l0aG91dCBhIGZvcm0tZ3JvdXAgKHdpbGwgc2tpcCBmb3JtLWdyb3VwIHN0eWxlcywgYW5kIGp1c3QgcmVuZGVyIGRlZmF1bHQgc2l6aW5nIHZhcmlhdGlvbikgLSBJTVBPUlRBTlQgZm9yIG5vbi1mb3JtLWdyb3VwIHNwYWNpbmcgc3VjaCBhcyByYWRpby9jaGVja2JveC9zd2l0Y2hcbkBpbmNsdWRlIGJtZC1mb3JtLXNpemUtdmFyaWFudCgkZm9udC1zaXplLWJhc2UsICRibWQtbGFiZWwtdG9wLW1hcmdpbi1iYXNlLCAkaW5wdXQtcGFkZGluZy15LCAkYm1kLWZvcm0tbGluZS1oZWlnaHQpO1xuXG5zZWxlY3Qge1xuICAmLFxuICAmLmZvcm0tY29udHJvbCB7XG4gICAgLy8gVXNlIHZlbmRvciBwcmVmaXhlcyBhcyBgYXBwZWFyYW5jZWAgaXNuJ3QgcGFydCBvZiB0aGUgQ1NTIHNwZWMuIE9TWCBkb2Vzbid0IG9iZXkgdGhlIGJvcmRlci1yYWRpdXM6IDAgd2l0aG91dCB0aGlzLlxuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cbn1cblxuLy8gSW5wdXQgZmlsZXMgLSBoaWRlIGFjdHVhbCBpbnB1dCAtIHJlcXVpcmVzIHNwZWNpZmljIG1hcmt1cCBpbiB0aGUgc2FtcGxlLlxuLy8uYm1kLWZvcm0tZ3JvdXAgaW5wdXRbdHlwZT1maWxlXSB7XG4vLyAgb3BhY2l0eTogMDtcbi8vICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyAgdG9wOiAwO1xuLy8gIHJpZ2h0OiAwO1xuLy8gIGJvdHRvbTogMDtcbi8vICBsZWZ0OiAwO1xuLy8gIHdpZHRoOiAxMDAlO1xuLy8gIGhlaWdodDogMTAwJTtcbi8vICB6LWluZGV4OiAxMDA7XG4vL31cblxuLy9cbi8vXG4vLy5mb3JtLWhvcml6b250YWwge1xuLy9cbi8vICAvLyBDb25zaXN0ZW50IHZlcnRpY2FsIGFsaWdubWVudCBvZiByYWRpb3MgYW5kIGNoZWNrYm94ZXNcbi8vICAucmFkaW8sXG4vLyAgLmNoZWNrYm94LFxuLy8gIC5yYWRpby1pbmxpbmUsXG4vLyAgLmNoZWNrYm94LWlubGluZSB7XG4vLyAgICBwYWRkaW5nLXRvcDogMDtcbi8vICB9XG4vL1xuLy8gIC5yYWRpbyB7XG4vLyAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuLy8gIH1cbi8vXG4vLyAgbGFiZWwge1xuLy8gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4vLyAgfVxuLy9cbi8vICBsYWJlbCB7XG4vLyAgICBtYXJnaW46IDA7XG4vLyAgfVxuLy99XG5cbi5mb3JtLWlubGluZSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGlucHV0LWdyb3VwIGFuZCBpbnB1dC1ncm91cC1hZGRvbiBzdHlsZXNcbi8vICBub3RlOiBmb3JtLWdyb3VwcyBhcmUgbm90IHJlcXVpcmVkXG4vL1xuQG1peGluIGlucHV0LWdyb3VwLWJ1dHRvbi12YXJpYXRpb24oJHZlcnRpY2FsLXBhZGRpbmcpIHtcbiAgLmlucHV0LWdyb3VwLWJ0biB7XG4gICAgLmJ0biB7XG4gICAgICAvL21hcmdpbjogMCAwICR2ZXJ0aWNhbC1wYWRkaW5nIDA7XG4gICAgfVxuICB9XG59XG5cbi8vIGRlZmF1bHQgbWFyZ2luIC0gbm8gZm9ybS1ncm91cCByZXF1aXJlZFxuQGluY2x1ZGUgaW5wdXQtZ3JvdXAtYnV0dG9uLXZhcmlhdGlvbihpbnB1dC1wYWRkaW5nLXkpO1xuXG4mLmJtZC1mb3JtLWdyb3VwLXNtIHtcbiAgQGluY2x1ZGUgaW5wdXQtZ3JvdXAtYnV0dG9uLXZhcmlhdGlvbigkaW5wdXQtcGFkZGluZy15LXNtKTtcbn1cblxuJi5ibWQtZm9ybS1ncm91cC1sZyB7XG4gIEBpbmNsdWRlIGlucHV0LWdyb3VwLWJ1dHRvbi12YXJpYXRpb24oJGlucHV0LXBhZGRpbmcteS1sZyk7XG59XG5cbi5pbnB1dC1ncm91cCB7IC8vIG1heSBiZSBpbiBvciBvdXRzaWRlIG9mIGZvcm0tZ3JvdXBcblxuICAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYWRkb24gKyBpbnB1dCxcbiAgaW5wdXQgKyAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAuNzVyZW07XG4gIH1cbn1cbiIsIi8vIGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vZGVzaWduL3NwZWMvY29tcG9uZW50cy9saXN0cy5odG1sI2xpc3RzLXNwZWNzXG5cbi8vIC0gc2luZ2xlIGxpbmUgNDhkcFxuLy8gLSBzaW5nbGUgbGluZSBhdmF0YXIgNTZkcFxuLy8gLSBkb3VibGUgbGluZSAod2l0aCBhbmQgdy9vIGF2YXRhcikgNzJkcFxuLy8gLSB0cmlwbGUgbGluZSA4OGRwXG5cbi5saXN0LWdyb3VwIHtcbiAgLy8gIzg1MyBzdGFydCAtLSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xODk4MS9maWxlc1xuICBAaWYgJGVuYWJsZS1mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLy8gIzg1MyBlbmQgLS0gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTg5ODEvZmlsZXNcblxuICBmbGV4LWdyb3c6IDE7XG5cbiAgLy8gQWRkIDhkcCBvZiBwYWRkaW5nIGF0IHRoZSB0b3AgYW5kIGJvdHRvbSBvZiBhIGxpc3QuIE9uZSBleGNlcHRpb24gaXMgYXQgdGhlIHRvcCBvZiBhIGxpc3Qgd2l0aCBhIHN1YmhlYWRlciwgYmVjYXVzZSBzdWJoZWFkZXJzIGNvbnRhaW4gdGhlaXIgb3duIHBhZGRpbmcuXG4gIHBhZGRpbmc6IC41cmVtIDA7XG5cbiAgLy8gZGVuc2Ugc2l6ZSB2YXJpYXRpb25cbiAgJi5ibWQtbGlzdC1ncm91cC1zbSB7XG4gICAgcGFkZGluZzogLjI1cmVtIDA7XG5cbiAgICAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgIHBhZGRpbmc6IC41cmVtIDFyZW07XG4gICAgfVxuICB9XG59XG5cbi5ibWQtbGlzdC1ncm91cC1jb2wge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4td2lkdGg6IDA7XG4gIC8vZmxleC1zaHJpbms6IDA7XG59XG5cbi5saXN0LWdyb3VwLWl0ZW0ge1xuICAvLyAjODUzIHN0YXJ0IC0tIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE4OTgxL2ZpbGVzXG4gIEBpZiAkZW5hYmxlLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9IEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAvLyAjODUzIGVuZCAtLSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xODk4MS9maWxlc1xuICBwYWRkaW5nOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMTtcblxuICAubGlzdC1ncm91cC1pdGVtLXRleHQgeyAvLyB3b3JkIHdyYXA/IGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9hLzI2NTM1NDY5LzIzNjM5MzVcbiAgICAvL2ZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1heC1oZWlnaHQ6IDIuMTg4cmVtOyAvLyA4OGRwIHRpbGUgdG90YWwgaGVpZ2h0XG4gICAgLy8gRklYTUU6IHRleHQgb3ZlcmZsb3cgd2l0aCBlbGxpcHNpcyBpcyBub3Qgd29ya2luZ1xuICAgIC8vZmxleDogMCAxIGF1dG87IC8vICAgIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTIwMjIyODgvaG93LXRvLWtlZXAtYS1mbGV4LWl0ZW0tZnJvbS1vdmVyZmxvd2luZy1kdWUtdG8taXRzLXRleHRcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB9XG5cbiAgLy8tLS0tLS1cbiAgLy8gTk9URTogdGhlcmUgYXJlIG1hbnkgdmFyaWF0aW9ucyBvZiBpY29ucy9sYWJlbHMgaW4gYSBsaXN0LCBlYWNoIG9uZSBvZiB0aGVzZSBydWxlcyBleGlzdCBmb3IgYSByZWFzb24uXG5cbiAgLy8gZmlyc3QgaWNvbi9sYWJlbCBvbiB0aGUgbGVmdFxuICA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMnJlbTsgLy8gc2luZ2xlIGxpbmUgaWNvbiBpcyA3MmRwIHRvIHRleHQgKDE2IHBhZCArIDI0IGljb24gKyAzMiBtYXJnaW4pXG4gIH1cblxuICAvLyBzZWNvbmQgaWNvbi9sYWJlbCwgb3Igb25seSBpY29uL2xhYmVsIG1hcmtlZCBhcyAncHVsbC0qLXJpZ2h0Jywgb3IgYW55IGRpcmVjdCBjaGlsZCBlbGVtZW50IG1hcmtlZCBhcyByaWdodFxuICA+IC5wdWxsLXhzLXJpZ2h0LFxuICA+IC5wdWxsLXNtLXJpZ2h0LFxuICA+IC5wdWxsLW1kLXJpZ2h0LFxuICA+IC5wdWxsLWxnLXJpZ2h0LFxuICA+IC5wdWxsLXhsLXJpZ2h0LFxuICA+ICogfiAubGFiZWw6bGFzdC1jaGlsZCxcbiAgPiAqIH4gLm1hdGVyaWFsLWljb25zOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDsgLy8gc29tZSB2YXJpYXRpb25zIGFjdHVhbGx5IG1hdGNoIHRoZSBmaXJzdC1jaGlsZFxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgLy8gYWRkIHRoZSBwYWRkaW5nIHRvIGljb25zIChtYXJnaW4tbGVmdCBpcyB1c2VkIGZvciBhbGlnbm1lbnQpXG4gIC5tYXRlcmlhbC1pY29ucy5wdWxsLXhzLXJpZ2h0LCAvLyBuZWVkIHRoZSBzcGVjaWZpY2l0eVxuICAubWF0ZXJpYWwtaWNvbnMucHVsbC1zbS1yaWdodCxcbiAgLm1hdGVyaWFsLWljb25zLnB1bGwtbWQtcmlnaHQsXG4gIC5tYXRlcmlhbC1pY29ucy5wdWxsLWxnLXJpZ2h0LFxuICAubWF0ZXJpYWwtaWNvbnMucHVsbC14bC1yaWdodCxcbiAgLm1hdGVyaWFsLWljb25zIH4gLm1hdGVyaWFsLWljb25zOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgLy8gZ3VhcmFudGVlIHNwYWNlIHBlciBzcGVjXG4gIH1cbiAgLy8tLS0tLS1cblxuICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICAgIC8vZm9udC1zaXplOiAxcmVtO1xuICB9XG5cbiAgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHtcbiAgICBmb250LXNpemU6IC44NzVyZW07XG4gICAgY29sb3I6ICRncmF5O1xuICB9XG59XG4iLCIvLyBCUzQgaGFzIG5vdCB5ZXQgY29udmVydGVkIHRoZSBmb2xsb3dpbmcgdG8gdmFyaWFibGVzIC0ga2VlcCBhbiBleWUgb24gaXQgYW5kIG1vdmUgdG8gdmFyaWFibGVzIHdoZW4gcG9zc2libGUuXG4udGhlYWQtaW52ZXJzZSB7XG4gIHRoIHtcbiAgICAvL2NvbG9yOiAkYm1kLWludmVyc2U7IC8vICNmZmY7XG4gICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1kYXJrO1xuICB9XG59XG4udGhlYWQtZGVmYXVsdCB7XG4gIHRoIHtcbiAgICAvL2NvbG9yOiAkZ3JheTtcbiAgICAvL2JhY2tncm91bmQtY29sb3I6ICRibWQtaW52ZXJzZS1saWdodGVyOyAvLyRncmF5LWxpZ2h0ZXI7XG4gIH1cbn1cblxuLnRhYmxlLWludmVyc2Uge1xuICBjb2xvcjogJGJtZC1pbnZlcnNlLWxpZ2h0OyAvLyRncmF5LWxpZ2h0ZXI7XG4gIC8vYmFja2dyb3VuZC1jb2xvcjogJGdyYXktZGFyaztcblxuICAvL3RoLFxuICAvL3RkLFxuICAvL3RoZWFkIHRoIHtcbiAgLy8gIGJvcmRlci1jb2xvcjogJGdyYXk7XG4gIC8vfVxufVxuXG5cbiIsIi8vIGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vZGVzaWduL3NwZWMvY29tcG9uZW50cy90YWJzLmh0bWwjdGFicy1zcGVjc1xuXG4ubmF2LWxpbmsge1xuICAvL2xpbmUtaGVpZ2h0OiAkYm1kLW5hdi1saW5rLWxpbmUtaGVpZ2h0OyAvLyBzZXQgYmFzZWxpbmUgbGluZS1oZWlnaHQgYW5kIGZvbnQgc2l6ZXNcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLy8gbmF2YmFyc1xuLm5hdmJhci1uYXYge1xuICAubmF2LWxpbmsge1xuICAgIHBhZGRpbmc6ICRibWQtbmF2YmFyLWxpbmstcGFkZGluZztcbiAgICBmb250LXNpemU6ICRibWQtbmF2YmFyLWxpbmstZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkYm1kLW5hdmJhci1saW5rLWZvbnQtd2VpZ2h0O1xuICB9XG59XG5cblxuLy8gcGlsbHMgYW5kIHRhYnNcbi5uYXYtdGFicyxcbi5uYXYtcGlsbHMge1xuICBib3JkZXI6IDA7XG5cbiAgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nOiAkYm1kLW5hdi10YWJzLXBpbGxzLWxpbmstcGFkZGluZztcbiAgICBmb250LXNpemU6ICRibWQtbmF2LXRhYnMtcGlsbHMtZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkYm1kLW5hdi10YWJzLXBpbGxzLWZvbnQtd2VpZ2h0O1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG4vLyB0YWJzIG9ubHlcbi5uYXYtdGFicyB7XG4gIC5uYXYtbGluayB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJtZC1uYXYtdGFicy1ib3JkZXItc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC8vIGNvbG9yc1xuICBAaW5jbHVkZSBibWQtdGFicy1jb2xvcigkYm1kLW5hdi10YWJzLWNvbG9yLCAkYm1kLW5hdi10YWJzLWFjdGl2ZS1jb2xvciwgJGJtZC1uYXYtdGFicy1hY3RpdmUtYm9yZGVyLWNvbG9yLCAkYm1kLW5hdi10YWJzLWRpc2FibGVkLWxpbmstY29sb3IsICRibWQtbmF2LXRhYnMtZGlzYWJsZWQtbGluay1jb2xvci1ob3Zlcik7XG5cbiAgJi5iZy1wcmltYXJ5IHtcbiAgICBAaW5jbHVkZSBibWQtdGFicy1jb2xvcigkYm1kLW5hdi10YWJzLXByaW1hcnktY29sb3IsICRibWQtbmF2LXRhYnMtcHJpbWFyeS1hY3RpdmUtY29sb3IsICRibWQtbmF2LXRhYnMtcHJpbWFyeS1hY3RpdmUtYm9yZGVyLWNvbG9yLCAkYm1kLW5hdi10YWJzLXByaW1hcnktZGlzYWJsZWQtbGluay1jb2xvciwgJGJtZC1uYXYtdGFicy1wcmltYXJ5LWRpc2FibGVkLWxpbmstY29sb3ItaG92ZXIpO1xuICB9XG5cbiAgJi5iZy1pbnZlcnNlIHtcbiAgICBAaW5jbHVkZSBibWQtdGFicy1jb2xvcigkYm1kLW5hdi10YWJzLWludmVyc2UtY29sb3IsICRibWQtbmF2LXRhYnMtaW52ZXJzZS1hY3RpdmUtY29sb3IsICRibWQtbmF2LXRhYnMtaW52ZXJzZS1hY3RpdmUtYm9yZGVyLWNvbG9yLCAkYm1kLW5hdi10YWJzLWludmVyc2UtZGlzYWJsZWQtbGluay1jb2xvciwgJGJtZC1uYXYtdGFicy1pbnZlcnNlLWRpc2FibGVkLWxpbmstY29sb3ItaG92ZXIpO1xuICB9XG59XG5cbi8vIHVzZWQgdG8gY29ycmVjdGx5IHNpemUgcmlwcGxlIGNvbnRhaW5lclxuLm5hdiB7XG4gIC5uYXYtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59XG4iLCJAbWl4aW4gYm1kLXRhYnMtY29sb3IoJGNvbG9yLCAkYWN0aXZlLWNvbG9yLCAkYWN0aXZlLWJvcmRlciwgJGRpc2FibGVkLWxpbmstY29sb3IsICRkaXNhYmxlZC1saW5rLWhvdmVyLWNvbG9yKSB7XG4gIC5uYXYtbGluayB7XG5cbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgY29sb3I6ICRhY3RpdmUtY29sb3I7XG4gICAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0YXRlIGxpZ2h0ZW5zIHRleHQgYW5kIHJlbW92ZXMgaG92ZXIvdGFiIGVmZmVjdHNcbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkZGlzYWJsZWQtbGluay1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJGRpc2FibGVkLWxpbmstaG92ZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIubmF2YmFyIHtcbiAgei1pbmRleDogMTsgLy8gcmVxdWlyZWQgdG8gbWFrZSB0aGUgc2hhZG93IG92ZXJsYXAgdGhlIGJlbG93IGNvbnRlbnQgKG5lZWQgaXMgdmlzaWJsZSBpbiBtb2JpbGUgZHJhd2VyIG92ZXJsYXkpXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYm1kLXNoYWRvdy0yZHApO1xuXG4gIC8vIGdpdmUgY29ycmVjdCBzaXplIHRvIHJpcHBsZSBjb250YWluZXJcbiAgLm5hdmJhci1icmFuZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLy8gIzg1MyBzdGFydCAtIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE4OTc2L2ZpbGVzXG4gIEBpZiAkZW5hYmxlLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcblxuICAgID4gKiB7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG4gIC8vICM4NTMgZW5kIC0gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTg5NzYvZmlsZXNcblxuICA+IC5jb250YWluZXIge1xuICAgIGZsZXg6IDE7XG4gIH1cbn1cbiIsIi5hbGVydCB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbiIsIlxuLnByb2dyZXNzIHtcbiAgaGVpZ2h0OiA0cHg7XG4gIGJhY2tncm91bmQ6ICNjOGM4Yzg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIC5wcm9ncmVzcy1iYXIge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgLy9AaW5jbHVkZSB2YXJpYXRpb25zKHVucXVvdGUoXCIucHJvZ3Jlc3MtYmFyXCIpLCB1bnF1b3RlKFwiXCIpLCBiYWNrZ3JvdW5kLWNvbG9yLCAkYnJhbmQtcHJpbWFyeSk7XG4gIH1cbn1cbiIsIi5wYWdlLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkIC5wYWdlLWxpbmsge1xuICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cyg0ZW0pO1xuICB9XG4gICY6bGFzdC1jaGlsZCAucGFnZS1saW5rIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDRlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCxcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICA+IC5tYXRlcmlhbC1pY29ucyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5wYWdlLWxpbmsge1xuICBtaW4td2lkdGg6IDIuNmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDRlbTtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cblxuLy9cbi8vIFNpemluZ1xuLy9cblxuLnBhZ2luYXRpb24tbGcge1xuICAucGFnZS1saW5rIHtcbiAgICBtaW4td2lkdGg6IDIuOGVtO1xuICB9XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktbGcsICRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZywgJGZvbnQtc2l6ZS1sZywgJGxpbmUtaGVpZ2h0LWxnLCA0ZW0pO1xufVxuXG4ucGFnaW5hdGlvbi1zbSB7XG4gIC5wYWdlLWxpbmsge1xuICAgIG1pbi13aWR0aDogMi4yZW07XG4gIH1cbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbSwgJHBhZ2luYXRpb24tcGFkZGluZy14LXNtLCAkZm9udC1zaXplLXNtLCAkbGluZS1oZWlnaHQtc20sIDRlbSk7XG59XG4iLCIvLyBUaGlzIG5lZWRzIHJldmlldywgaW5jbHVkaW5nIGNvbG9yczogaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9kZXNpZ24vc3BlYy9zdHlsZS90eXBvZ3JhcGh5Lmh0bWwjdHlwb2dyYXBoeS1zdHlsZXNcblxuLy8gYWRqdXN0IHVwIHRoZSBoNiB3ZWlnaHRcbmg2IHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbiIsIi8vaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9kZXNpZ24vc3BlYy9jb21wb25lbnRzL2NhcmRzLmh0bWwjY2FyZHMtY29udGVudC1ibG9ja3Ncbi8vIENhcmQgcmVzdGluZyBlbGV2YXRpb246IDJkcFxuLmNhcmQge1xuICBib3JkZXI6IDA7XG5cbiAgLy8gQ2FyZHMgaGF2ZSBhIGRlZmF1bHQgZWxldmF0aW9uIG9mIDJkcC5cbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYm1kLXNoYWRvdy0yZHApO1xuICBAZXh0ZW5kICVzdGQtZm9udDtcblxuICAvLyBzcGVjOiBzZWUgXCJBdmF0YXIsIFRpdGxlLCBhbmQgU3VidGl0bGUgYXJlYVwiXG4gIC8vIEhlaWdodDogNzJkcFxuICAvLyBQYWRkaW5nOiAxNmRwXG4gIC8vIFRvcCBhbmQgYm90dG9tIHBhZGRpbmc6IDE2ZHBcbiAgLmNhcmQtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICB9XG5cbiAgLmNhcmQtYmxvY2sge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAxcmVtIDFyZW07XG4gICAgLy9AZXh0ZW5kICVzdGQtZm9udDtcbiAgfVxuXG4gIC8vIFByaW1hcnkgdGl0bGUvdGV4dFxuICAvLyAgLSBUaXRsZTogMjRzcCBvciAxNHNwXG4gIC8vICAtIFN1YnRpdGxlOiAxNHNwXG5cbiAgLy8gbm9uLWgqIGNhcmQtdGl0bGVzIHdpbGwgYmUgMTRzcFxuICAvLyYuY2FyZC10aXRsZSB7XG4gIC8vICBAZXh0ZW5kICVzdGQtZm9udDtcbiAgLy99XG5cbiAgLy8gYW55IGgqIHdpbGwgc2lnbmFsIHRoZSBsYXJnZXIgc2l6ZSBzaG91bGQgcmVuZGVyIGFzIDI0c3BcbiAgQGluY2x1ZGUgaGVhZGluZ3MoKSB7XG4gICAgJi5jYXJkLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB9XG4gIH1cblxuICAuYm1kLWNhcmQtYWN0aW9ucywgLy8gbmVlZGVkPyAgaWYgeW91IGhhdmUgYWN0aW9ucyBpbiB0aGUgbWlkZGxlIG9mIHRoZSBjYXJkIChzZWUgc3BlYyksIGl0IG1heSBiZSBuZWNlc3NhcnlcbiAgLmNhcmQtZm9vdGVyIHsgLy8gYXNzdW1lIGZvb3RlciBpcyB0aGUgc2V0IG9mIGFjdGlvbnM/XG4gICAgcGFkZGluZzogLjVyZW07XG4gIH1cblxuICAmLmJtZC1jYXJkLXJhaXNlZCB7XG4gICAgLy8gQ2FyZCByYWlzZWQgZWxldmF0aW9uOiA4ZHBcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRibWQtc2hhZG93LThkcCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLy8gT24gZGVza3RvcCwgY2FyZHMgY2FuIGhhdmUgYSByZXN0aW5nIGVsZXZhdGlvbiBvZiAwZHAgYW5kIGdhaW4gYW4gZWxldmF0aW9uIG9mIDhkcCBvbiBob3Zlci5cbiAgICAmLmJtZC1jYXJkLWZsYXQge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuXG4iLCIvLyBNb2RhbHNcbi8vIGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vZGVzaWduL3NwZWMvY29tcG9uZW50cy9kaWFsb2dzLmh0bWwjZGlhbG9ncy1zcGVjc1xuXG4ubW9kYWwtY29udGVudCB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG5cbiAgLm1vZGFsLWhlYWRlciB7XG4gICAgcGFkZGluZzogMjRweCAyNHB4IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgfVxuICAubW9kYWwtYm9keSB7XG4gICAgcGFkZGluZzogMjBweCAyNHB4IDI0cHg7XG4gIH1cbiAgLm1vZGFsLWZvb3RlciB7XG4gICAgcGFkZGluZzogOHB4IDhweCA4cHggMjRweDtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIC5idG4ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5idG4gKyAuYnRuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgfVxuICB9XG59XG4iLCIvLyBNZW51cyBodHRwczovL3d3dy5nb29nbGUuY29tL2Rlc2lnbi9zcGVjL2NvbXBvbmVudHMvbWVudXMuaHRtbCNtZW51cy1zcGVjc1xuLy8gRHJvcGRvd24gYnV0dG9ucyAobW9iaWxlIGFuZCBkZXNrdG9wKSBodHRwczovL3d3dy5nb29nbGUuY29tL2Rlc2lnbi9zcGVjL2NvbXBvbmVudHMvYnV0dG9ucy5odG1sI2J1dHRvbnMtZHJvcGRvd24tYnV0dG9uc1xuXG5AbWl4aW4gbWVudS1ib3R0b20tbGVmdCB7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xufVxuXG5AbWl4aW4gbWVudS1ib3R0b20tcmlnaHQge1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xufVxuXG4uZHJvcGRvd24tbWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrOyAvLyB1dGlsaXplIHRyYW5zaXRpb24gdHJhbnNmb3JtIGluc3RlYWQgb2YgZmxpcHBpbmcgZGlzcGxheVxuICBwYWRkaW5nOiAuMjVyZW0gMDtcbiAgYm9yZGVyOiAwO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGJtZC1tZW51LWV4cGFuZC1kdXJhdGlvbiAkYm1kLWFuaW1hdGlvbi1jdXJ2ZS1kZWZhdWx0LCBvcGFjaXR5ICRibWQtbWVudS1mYWRlLWR1cmF0aW9uICRibWQtYW5pbWF0aW9uLWN1cnZlLWRlZmF1bHQ7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgcGFkZGluZzogLjVyZW0gMDtcbiAgfVxuXG4gIC5vcGVuID4gJiB7XG4gICAgLy96LWluZGV4OiA5OTk7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5cbiAgLy8gRGVmYXVsdCB0aGUgYWxpZ25tZW50IG9mIHRoZSBkcm9wZG93biB0byBvcmlnaW5hdGUgb24gdGhlIGJvdHRvbSByaWdodCBvZiB0aGUgYnV0dG9uXG4gIEBpbmNsdWRlIG1lbnUtYm90dG9tLXJpZ2h0KCk7XG4gIC8vIEZJWE1FOiBib290c3RyYXAgYWxpZ25tZW50IGlzc3VlIC0gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODg1MlxuXG4gICYuZHJvcGRvd24tbWVudS1sZWZ0IHtcbiAgICBAaW5jbHVkZSBtZW51LWJvdHRvbS1sZWZ0KCk7XG4gIH1cblxuICAmLmRyb3Bkb3duLW1lbnUtcmlnaHQge1xuICAgIEBpbmNsdWRlIG1lbnUtYm90dG9tLXJpZ2h0KCk7XG4gIH1cblxuICAvLyYuZHJvcGRvd24tbWVudS10b3AtbGVmdCB7XG4gIC8vICB0b3A6IGF1dG87XG4gIC8vICBib3R0b206IDA7ICAvLyBuZWVkcyB0byBiZSBvdmVycmlkZGVuIHdpdGggdGhlIHRvZ2dsZS1idXR0b24gaGVpZ2h0LCBzZWUgYm1kLWJ0bi1pY29uIGFib3ZlXG4gIC8vICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7XG4gIC8vfVxuICAvL1xuICAvLyYuZHJvcGRvd24tbWVudS10b3AtcmlnaHQge1xuICAvLyAgdG9wOiBhdXRvO1xuICAvLyAgcmlnaHQ6IDA7XG4gIC8vICBib3R0b206IDA7ICAvLyBuZWVkcyB0byBiZSBvdmVycmlkZGVuIHdpdGggdGhlIHRvZ2dsZS1idXR0b24gaGVpZ2h0LCBzZWUgYm1kLWJ0bi1pY29uIGFib3ZlXG4gIC8vICBsZWZ0OiBhdXRvO1xuICAvLyAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAxMDAlO1xuICAvL31cblxuICAvLyBodHRwczovL3d3dy5nb29nbGUuY29tL2Rlc2lnbi9zcGVjL2NvbXBvbmVudHMvbWVudXMuaHRtbCNtZW51cy1zcGVjc1xuICAuZHJvcGRvd24taXRlbSB7XG4gICAgLy8gdXNlZCB0byBwcm9wZXJseSBzaXplIHRoZSByaXBwbGUgY29udGFpbmVyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBtaW4td2lkdGg6ICRibWQtbWVudS1pdGVtLW1pbi13aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRibWQtbWVudS1pdGVtLW1heC13aWR0aDtcbiAgICBtaW4taGVpZ2h0OiAkYm1kLW1lbnUtaXRlbS1taW4taGVpZ2h0O1xuXG4gICAgcGFkZGluZzogJGJtZC1tZW51LWl0ZW0tcGFkZGluZy10b3AgJGJtZC1tZW51LWl0ZW0tcGFkZGluZy1yaWdodCAkYm1kLW1lbnUtaXRlbS1wYWRkaW5nLWJvdHRvbSAkYm1kLW1lbnUtaXRlbS1wYWRkaW5nLWxlZnQ7XG5cbiAgICAvLyBGSVhNRTogbXVsdGktbGluZSBtZW51IHdvcmQgd3JhcHBpbmcgZG9lc24ndCB3b3JrIC0gc2VlIHRoZSBtYXhpbXVtIHdpZHRoIGV4YW1wbGUgaW4gbWVudXMubWRcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGxpbmUtaGVpZ2h0OiAkYm1kLW1lbnUtbGluZS1oZWlnaHQ7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuXG5cbiAgICAvLyBTaW1wbGUgbWVudXMgYWx3YXlzIG1haW50YWluIGEgMTZkcCBtYXJnaW4gKHBob25lKSBvciAyNGRwIG1hcmdpbiAodGFibGV0KSB0byB0aGUgbGVmdCBhbmQgcmlnaHQgZWRnZXMgb2YgdGhlIHNjcmVlbi5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkYm1kLW1lbnUtaXRlbS1wYWRkaW5nLXJpZ2h0LW1kO1xuICAgICAgcGFkZGluZy1sZWZ0OiAkYm1kLW1lbnUtaXRlbS1wYWRkaW5nLWxlZnQtbWQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8gdGhpcyBjb3VsZCBiZSBpbiBhIC5idG4tZ3JvdXAgb3IgLmRyb3Bkb3duXG4uZHJvcGRvd24tdG9nZ2xlIHtcblxuICAmLmJtZC1idG4taWNvbixcbiAgJi5ibWQtYnRuLWZhYiB7XG4gICAgLy8gcmVtb3ZlIHRoZSBkcm9wZG93biBpY29uXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICB+IC5kcm9wZG93bi1tZW51IHtcbiAgICAgICYuZHJvcGRvd24tbWVudS10b3AtbGVmdCxcbiAgICAgICYuZHJvcGRvd24tbWVudS10b3AtcmlnaHQge1xuICAgICAgICBib3R0b206ICRibWQtYnRuLWljb24tc2l6ZTsgLy8gcHVzaCB1cCB0aGUgYm90dG9tIG9mIHRoZSBtZW51IHRoZSBoZWlnaHQgb2YgdGhlIGJ1dHRvblxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuYm1kLWJ0bi1mYWItc20ge1xuICAgIH4gLmRyb3Bkb3duLW1lbnUge1xuICAgICAgJi5kcm9wZG93bi1tZW51LXRvcC1sZWZ0LFxuICAgICAgJi5kcm9wZG93bi1tZW51LXRvcC1yaWdodCB7XG4gICAgICAgIGJvdHRvbTogJGJtZC1idG4tZmFiLXNpemUtc207IC8vIHB1c2ggdXAgdGhlIGJvdHRvbSBvZiB0aGUgbWVudSB0aGUgaGVpZ2h0IG9mIHRoZSBidXR0b25cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmJtZC1idG4taWNvbiB7XG4gICAgfiAuZHJvcGRvd24tbWVudSB7XG4gICAgICAvLyBjb2xsYXBzZSBzb21lIHNwYWNpbmdcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbn1cbiIsIiRibWQtbWVudS1saW5lLWhlaWdodDogMSAhZGVmYXVsdDsgLy8gbWFrZXMgaXQgZWFzaWVyIHRvIHVzZSBzaXplcyB0byBtYXRjaCBzcGVjXG5cbiRibWQtbWVudS1pdGVtLW1pbi13aWR0aDogN3JlbSAhZGVmYXVsdDsgLy8gTWluaW11bSB3aWR0aCBvbiBtb2JpbGUgPSAyICogNTZkcCA9IDExMmRwXG4kYm1kLW1lbnUtaXRlbS1tYXgtd2lkdGg6IDE3LjVyZW0gIWRlZmF1bHQ7IC8vIE1heGltdW0gd2lkdGggb24gbW9iaWxlIChpbiBib3RoIHBvcnRyYWl0IGFuZCBsYW5kc2NhcGUpID0gNSAqIDU2ZHAgPSAyODBkcFxuJGJtZC1tZW51LWl0ZW0tbWluLWhlaWdodDogM3JlbSAhZGVmYXVsdDsgLy8gNDhweFxuXG4kYm1kLW1lbnUtaXRlbS1wYWRkaW5nLXJpZ2h0OiAxcmVtICFkZWZhdWx0O1xuJGJtZC1tZW51LWl0ZW0tcGFkZGluZy1ib3R0b206IC44cmVtICFkZWZhdWx0O1xuJGJtZC1tZW51LWl0ZW0tcGFkZGluZy1sZWZ0OiAxcmVtICFkZWZhdWx0O1xuJGJtZC1tZW51LWl0ZW0tcGFkZGluZy10b3A6IC44cmVtICFkZWZhdWx0O1xuXG4vLyBtZCBhbmQgdXBcbiRibWQtbWVudS1pdGVtLXBhZGRpbmctcmlnaHQtbWQ6IDEuNXJlbSAhZGVmYXVsdDtcbiRibWQtbWVudS1pdGVtLXBhZGRpbmctbGVmdC1tZDogMS41cmVtICFkZWZhdWx0O1xuXG4vLyBNZW51XG4kYm1kLW1lbnUtZXhwYW5kLWR1cmF0aW9uOiAwLjNzICFkZWZhdWx0O1xuJGJtZC1tZW51LWZhZGUtZHVyYXRpb246IDAuMnMgIWRlZmF1bHQ7XG4iLCIvLyBJbXBsZW1lbnRhdGlvbiBzcGVjaWZpY2F0aW9uIGluIGh0dHBzOi8vZ2l0aHViLmNvbS9GZXpWcmFzdGEvYm9vdHN0cmFwLW1hdGVyaWFsLWRlc2lnbi9pc3N1ZXMvODIyXG5cbi8vIERyYXdlci5cbi5ibWQtbGF5b3V0LWRyYXdlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogNTsgLy8gb3ZlciBhIGhlYWRlciBhbmQgY29udGVudFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBmb250LXNpemU6IC44NzVyZW07XG4gIC8vY29sb3I6ICRibWQtbGF5b3V0LWRyYXdlci10ZXh0LWNvbG9yO1xuICAvL2JhY2tncm91bmQ6ICRibWQtbGF5b3V0LWRyYXdlci1iZy1jb2xvcjtcblxuICAvLyBUcmFuc2Zvcm0gb2Zmc2NyZWVuLlxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm07XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJtZC1zaGFkb3ctMmRwKTtcbiAgQGluY2x1ZGUgbWF0ZXJpYWwtYW5pbWF0aW9uLWRlZmF1bHQoKTtcblxuICA+ICoge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG5cbiAgLy8gUGxhY2VtZW50IG9mIGNvbW1vbiBjb21wb25lbnRzIHdpdGhpbiB0aGUgZHJhd2VyXG4gIC8vICBZb3UgbWlnaHQgc2F5IHRoaXMgaXMgb3BpbmlvbmF0ZWQgLSBmZWVkYmFjayB3ZWxjb21lLlxuICA+IGhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgcGFkZGluZzogMXJlbTtcblxuICAgIC5uYXZiYXItYnJhbmQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgfVxuICB9XG5cbiAgPiAubGlzdC1ncm91cCB7XG4gICAgcGFkZGluZy10b3A6IDFyZW07XG5cbiAgICAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMi41cmVtO1xuICAgICAgZm9udC1zaXplOiAuODEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuICB9XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLVxuLy8gU2l6aW5nIGFuZCBwb3NpdGlvbmluZyBiZWxvdyBoZXJlXG5cbi8vIGZvciBsZWZ0IG9yIHJpZ2h0IGRyYXdlcnMsIHNldHVwIHdpZHRocywgaGVpZ2h0cyBhbmQgcG9zaXRpb25zXG5AaW5jbHVkZSBibWQtZHJhd2VyLXgtb3V0KCRibWQtZHJhd2VyLXgtc2l6ZSk7XG5cbi8vIGZvciB0b3Agb3IgYm90dG9tIGRyYXdlcnMsIHNldHVwIHdpZHRocywgaGVpZ2h0cyBhbmQgcG9zaXRpb25zXG5AaW5jbHVkZSBibWQtZHJhd2VyLXktb3V0KCRibWQtZHJhd2VyLXktc2l6ZSk7XG5cbi8vIE1hcmtlciBjbGFzcyBmb3IgYm90aCB0cmlnZ2VyaW5nIHRoZSBvcGVuaW5nIG9mIHRoZSBkcmF3ZXIgKGkuZS4gamF2YXNjcmlwdCAjYWRkQ2xhc3MoJy5ibWQtZHJhd2VyLWluJykpLCBhcyB3ZWxsXG4vLyAgYXMgcmVzcG9uc2l2ZSBzaXplcyAoaS5lLiBibWQtZHJhd2VyLWluLW1kIHdpbGwgb3BlbiBvbmNlIHRoZSBicm93c2VyIGlzIHdpZGVyIHRoYW4gNzY4cHgpLlxuLy9cbi8vXG4vLyBibWQtZHJhd2VyLWluLCBibWQtZHJhd2VyLWluLXNtLCBibWQtZHJhd2VyLWluLW1kLCBibWQtZHJhd2VyLWluLWxnXG4vLyAgV2UgaXRlcmF0ZSBvdmVyIHRoZSBzdGFuZGFyZCBncmlkIGJyZWFrcG9pbnRzLCBidXQgd2UgYWxzbyBuZWVkIHN0eWxlcyBmb3IgdGhlIHNpbXBsZXIgYGJtZC1kcmF3ZXItaW5gXG4vLyAgd2l0aG91dCBhIHNpemUgKGZvciB0cmlnZ2VyZWQgb3BlbmluZ3MpLiAgU2luY2UgdGhlIHhzIHNpemUgaXMgMCwgaW5zdGVhZCBvZiB1c2luZyBgYm1kLWRyYXdlci1pbi14c2Bcbi8vICAod2hpY2ggaXMgbW9zdGx5IG1lYW5pbmdsZXNzKSwgd2UgY3JlYXRlIGBibWQtZHJhd2VyLWluYCBtZWFuaW5nIGFsd2F5cyBvcGVuLlxuLy9cbi8vICBOT1RFOiBibWQtZHJhd2VyLWluLSogdXNlcyBtZWRpYS1icmVha3BvaW50LXVwKClcbi8vXG4vLyBibWQtZHJhd2VyLW91dFxuLy8gIEEgbWFya2VyIGNsYXNzIHRoYXQgd2lsbCBfZm9yY2VfIHRoZSBkcmF3ZXIgY2xvc2VkIHJlZ2FyZGxlc3Mgb2YgdGhlIHJlc3BvbnNpdmUgY2xhc3MgcHJlc2VudC4gSWYgKGZvciBzb21lXG4vLyAgc3RyYW5nZSByZWFzb24pIGJvdGggYm1kLWRyYXdlci1vdXQgYW5kIGJtZC1kcmF3ZXItaW4gYXJlIHByZXNlbnQsIGl0IGFwcGVhcnMgdGhhdCB0aGUgY2xvc2VkIG9wdGlvbiB3aW5zLlxuLy9cbi8vIGJtZC1kcmF3ZXItb3ZlcmxheSwgYm1kLWRyYXdlci1vdmVybGF5LXNtLCBibWQtZHJhd2VyLW92ZXJsYXktbWQsIGJtZC1kcmF3ZXItb3ZlcmxheS1sZ1xuLy8gIFdlIGl0ZXJhdGUgb3ZlciB0aGUgc3RhbmRhcmQgZ3JpZCBicmVha3BvaW50cywgYnV0IHdlIGFsc28gbmVlZCBzdHlsZXMgZm9yIHRoZSBzaW1wbGVyIGBibWQtZHJhd2VyLW92ZXJsYXlgLlxuLy8gIFNpbmNlIHRoZSB4cyBzaXplIGlzIDAsIGluc3RlYWQgb2YgdXNpbmcgYGJtZC1kcmF3ZXItb3ZlcmxheS14c2AsIHdlIGNyZWF0ZSBgYm1kLWRyYXdlci1vdmVybGF5YCBtZWFuaW5nIGFsd2F5cyBvdmVybGF5LlxuLy9cbi8vICBOT1RFOiBibWQtZHJhd2VyLW92ZXJsYXktKiB1c2VzIG1lZGlhLWJyZWFrcG9pbnQtZG93bigpIC0gdGhpcyBpcyBiZWNhdXNlIHdlIHVzdWFsbHkgd2FudCBhIHJlc3BvbnNpdmUgb3ZlcmxheSB0byBiZSB1c2VkIGluIHNtYWxsIHNjcmVlbiBzY2VuYXJpb3MuXG4vL1xuXG4vL1xuLy8gRHJhd2VyIG9wZW4gcG9zaXRpb25pbmcsIGFuZCBzdHlsZSBvcHRpb25zIChwdXNoIGlzIGRlZmF1bHQsIG92ZXJsYXkgaXMgb3B0aW9uYWwpXG46bm90KC5ibWQtZHJhd2VyLW91dCkgeyAvLyBmaXJzdCBlbGltaW5hdGUgcG9zaXRpb25pbmcgb3Igc2l6aW5nIHJ1bGVzIGlmIHRoZSBkcmF3ZXIgaXMgYWxyZWFkeSBmb3JjZWQgY2xvc2VkXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG5cbiAgICBAaW5jbHVkZSBibWQtZHJhd2VyLXgtaW4tdXAoJGJtZC1kcmF3ZXIteC1zaXplLCAkYnJlYWtwb2ludCk7XG4gICAgQGluY2x1ZGUgYm1kLWRyYXdlci15LWluLXVwKCRibWQtZHJhd2VyLXktc2l6ZSwgJGJyZWFrcG9pbnQpO1xuXG4gICAgQGluY2x1ZGUgYm1kLWRyYXdlci14LW92ZXJsYXktZG93bigkYnJlYWtwb2ludCk7XG4gICAgQGluY2x1ZGUgYm1kLWRyYXdlci15LW92ZXJsYXktZG93bigkYnJlYWtwb2ludCk7XG4gIH1cbn1cblxuLy8vLy0tLS1cbi8vLy8gRXhhbXBsZSAxOiBjcmVhdGVzIGEgbWVkaWEgcmVzcG9uc2l2ZSBraXRjaGVuLXNpbmstZHJhd2VyIHRoYXQgcGFpcnMgd2l0aCBibWQtZHJhd2VyLWluLWxnIGFuZCBhbGxvd3MgZm9yIHRoZSBibWQtZHJhd2VyLWluIHRyaWdnZXJcbi8vLmtpdGNoZW4tc2luay1kcmF3ZXIge1xuLy8gICRjdXN0b20tc2l6ZTogNTAwcHg7XG4vLyAgQGluY2x1ZGUgYm1kLWRyYXdlci14LW91dCgkY3VzdG9tLXNpemUpO1xuLy8gICY6bm90KC5ibWQtZHJhd2VyLW91dCkge1xuLy8gICAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbi8vICAgICAgQGluY2x1ZGUgYm1kLWRyYXdlci14LWluLXVwKCRjdXN0b20tc2l6ZSwgJGJyZWFrcG9pbnQpO1xuLy8gICAgfVxuLy8gIH1cbi8vfVxuLy9cbi8vLy9cbi8vLy8tLS0tXG4vLy8vIEV4YW1wbGUgMjogY3JlYXRlcyBhIE5PTi1yZXNwb25zaXZlIGtpdGNoZW4tc2luay1kcmF3ZXIgYW5kIGFsbG93cyBmb3IgdGhlIGJtZC1kcmF3ZXItaW4gdHJpZ2dlclxuLy8ua2l0Y2hlbi1zaW5rLWRyYXdlci1zdGF0aWMge1xuLy8gICRjdXN0b20tc2l6ZTogNTAwcHg7XG4vLyAgQGluY2x1ZGUgYm1kLWRyYXdlci14LW91dCgkY3VzdG9tLXNpemUpOyAvLyBjbG9zZWQgYnkgZGVmYXVsdFxuLy8gIEBpbmNsdWRlIGJtZC1kcmF3ZXIteC1pbigkY3VzdG9tLXNpemUpOyAvLyB0cmlnZ2VyZWQgd2l0aCBibWQtZHJhd2VyLWluXG4vLyAgQGluY2x1ZGUgYm1kLWRyYXdlci14LW92ZXJsYXkoKTsgLy8gb3ZlcmxheSBieSBkZWZhdWx0LCBubyBvdGhlciBjbGFzc2VzIG5lY2Vzc2FyeVxuLy99XG5cbiIsIi8vIE1peGlucyB0byBhbGxvdyBjcmVhdGlvbiBvZiBhZGRpdGlvbmFsIGN1c3RvbSBkcmF3ZXIgc2l6ZXMgd2hlbiB1c2luZyB0aGUgZGVmYXVsdHMgYXQgdGhlIHNhbWUgdGltZVxuXG5AbWl4aW4gYm1kLWRyYXdlci14LW91dCgkc2l6ZSkge1xuICBAZWFjaCAkc2lkZSwgJGFiYnJldiBpbiAobGVmdDogbCwgcmlnaHQ6IHIpIHtcbiAgICAmLmJtZC1kcmF3ZXItZi0jeyRhYmJyZXZ9IHtcbiAgICAgID4gLmJtZC1sYXlvdXQtZHJhd2VyIHtcbiAgICAgICAgLy8gcG9zaXRpb25cbiAgICAgICAgdG9wOiAwO1xuICAgICAgICAjeyRzaWRlfTogMDtcblxuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICBAaWYgJHNpZGUgPT0gbGVmdCB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSAtIDEwcHgpOyAvLyBpbml0aWFsIHBvc2l0aW9uIG9mIGRyYXdlciAoY2xvc2VkKSwgd2F5IG9mZiBzY3JlZW5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplICsgMTBweCk7IC8vIGluaXRpYWwgcG9zaXRpb24gb2YgZHJhd2VyIChjbG9zZWQpLCB3YXkgb2ZmIHNjcmVlblxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgID4gLmJtZC1sYXlvdXQtaGVhZGVyLFxuICAgICAgPiAuYm1kLWxheW91dC1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLSN7JHNpZGV9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYm1kLWRyYXdlci15LW91dCgkc2l6ZSkge1xuICBAZWFjaCAkc2lkZSwgJGFiYnJldiBpbiAodG9wOiB0LCBib3R0b206IGIpIHtcbiAgICAmLmJtZC1kcmF3ZXItZi0jeyRhYmJyZXZ9IHtcbiAgICAgID4gLmJtZC1sYXlvdXQtZHJhd2VyIHtcbiAgICAgICAgLy8gcG9zaXRpb25cbiAgICAgICAgI3skc2lkZX06IDA7XG4gICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG5cbiAgICAgICAgQGlmICRzaWRlID09IHRvcCB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSAtIDEwcHgpOyAvLyBpbml0aWFsIHBvc2l0aW9uIG9mIGRyYXdlciAoY2xvc2VkKSwgd2F5IG9mZiBzY3JlZW5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplICsgMTBweCk7IC8vIGluaXRpYWwgcG9zaXRpb24gb2YgZHJhd2VyIChjbG9zZWQpLCB3YXkgb2ZmIHNjcmVlblxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gICAgICAgIG1hcmdpbi0jeyRzaWRlfTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGZ1bmN0aW9uIGJtZC1kcmF3ZXItYnJlYWtwb2ludC1uYW1lKCRicmVha3BvaW50LCAkc3VmZml4OiBcIlwiKSB7XG4gIC8vIGUuZy4gJiwgJi1zbSwgJi1tZCwgJi1sZ1xuICAkbmFtZTogXCImLSN7JGJyZWFrcG9pbnR9I3skc3VmZml4fVwiO1xuICBAaWYgJGJyZWFrcG9pbnQgPT0geHMge1xuICAgICRuYW1lOiBcIiZcIjtcbiAgfVxuICBAcmV0dXJuICRuYW1lO1xufVxuXG5AbWl4aW4gYm1kLWRyYXdlci14LWluKCRzaXplKSB7XG4gIEBlYWNoICRzaWRlLCAkYWJicmV2IGluIChsZWZ0OiBsLCByaWdodDogcikge1xuICAgICYuYm1kLWRyYXdlci1mLSN7JGFiYnJldn0ge1xuICAgICAgLy8gUHVzaCAtIGRyYXdlciB3aWxsIHB1c2ggdGhlIGhlYWRlciBhbmQgY29udGVudCAoZGVmYXVsdCBiZWhhdmlvcilcbiAgICAgID4gLmJtZC1sYXlvdXQtaGVhZGVyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JHNpemV9KTtcbiAgICAgICAgbWFyZ2luLSN7JHNpZGV9OiAkc2l6ZTtcbiAgICAgIH1cblxuICAgICAgPiAuYm1kLWxheW91dC1kcmF3ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICB9XG5cbiAgICAgID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gICAgICAgIG1hcmdpbi0jeyRzaWRlfTogJHNpemU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBibWQtZHJhd2VyLXktaW4oJHNpemUpIHtcbiAgQGVhY2ggJHNpZGUsICRhYmJyZXYgaW4gKHRvcDogdCwgYm90dG9tOiBiKSB7XG4gICAgJi5ibWQtZHJhd2VyLWYtI3skYWJicmV2fSB7XG5cbiAgICAgIC8vIDEuIFB1c2ggLSBkcmF3ZXIgd2lsbCBwdXNoIHRoZSBoZWFkZXIgb3IgY29udGVudFxuICAgICAgPiAuYm1kLWxheW91dC1oZWFkZXIge1xuICAgICAgICBAaWYgJHNpZGUgPT0gdG9wIHsgLy8gb25seSBhZGQgbWFyZ2luLXRvcCBvbiBhIGhlYWRlciB3aGVuIHRoZSBkcmF3ZXIgaXMgYXQgdGhlIHRvcFxuICAgICAgICAgIG1hcmdpbi0jeyRzaWRlfTogJHNpemU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgPiAuYm1kLWxheW91dC1kcmF3ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICB9XG5cbiAgICAgID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gICAgICAgIEBpZiAkc2lkZSA9PSBib3R0b20geyAvLyBvbmx5IGFkZCBtYXJnaW4tYm90dG9tIG9uIGNvbnRlbnQgd2hlbiB0aGUgZHJhd2VyIGlzIGF0IHRoZSBib3R0b21cbiAgICAgICAgICBtYXJnaW4tI3skc2lkZX06ICRzaXplO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIGJyZWFrcG9pbnQgYmFzZWQgb3BlbiB0byBhIHBhcnRpY3VsYXIgc2l6ZVxuQG1peGluIGJtZC1kcmF3ZXIteC1pbi11cCgkc2l6ZSwgJGJyZWFrcG9pbnQpIHtcbiAgLy8gZS5nLiAmLCAmLXNtLCAmLW1kLCAmLWxnXG4gICRuYW1lOiBibWQtZHJhd2VyLWJyZWFrcG9pbnQtbmFtZSgkYnJlYWtwb2ludCwgXCItdXBcIik7XG5cbiAgJi5ibWQtZHJhd2VyLWluIHtcbiAgICAje3VucXVvdGUoJG5hbWUpfSB7IC8vIGJtZC1kcmF3ZXItaW4sIGJtZC1kcmF3ZXItaW4tc20sIGJtZC1kcmF3ZXItaW4tbWQsIGJtZC1kcmF3ZXItaW4tbGdcblxuICAgICAgQGlmICRicmVha3BvaW50ID09IHhzIHtcbiAgICAgICAgLy8gYm1kLWRyYXdlci1pbiBtYXJrZXIgY2xhc3MgKG5vbi1yZXNwb25zaXZlKVxuICAgICAgICBAaW5jbHVkZSBibWQtZHJhd2VyLXgtaW4oJHNpemUpO1xuICAgICAgfSBAZWxzZSB7XG5cbiAgICAgICAgLy8gcmVzcG9uc2l2ZSBjbGFzc1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAgICAgLy8gYm1kLWRyYXdlci1mLShsZWZ0IGFuZCByaWdodCkgc3R5bGVzXG4gICAgICAgICAgQGluY2x1ZGUgYm1kLWRyYXdlci14LWluKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBicmVha3BvaW50IGJhc2VkIG9wZW4gdG8gYSBwYXJ0aWN1bGFyIHNpemVcbkBtaXhpbiBibWQtZHJhd2VyLXktaW4tdXAoJHNpemUsICRicmVha3BvaW50KSB7XG4gIC8vIGUuZy4gJiwgJi1zbSwgJi1tZCwgJi1sZ1xuICAkbmFtZTogYm1kLWRyYXdlci1icmVha3BvaW50LW5hbWUoJGJyZWFrcG9pbnQsIFwiLXVwXCIpO1xuXG4gICYuYm1kLWRyYXdlci1pbiB7XG4gICAgI3t1bnF1b3RlKCRuYW1lKX0geyAvLyBibWQtZHJhd2VyLWluLCBibWQtZHJhd2VyLWluLXNtLCBibWQtZHJhd2VyLWluLW1kLCBibWQtZHJhd2VyLWluLWxnXG5cbiAgICAgIEBpZiAkYnJlYWtwb2ludCA9PSB4cyB7XG4gICAgICAgIC8vIGJtZC1kcmF3ZXItaW4gbWFya2VyIGNsYXNzIChub24tcmVzcG9uc2l2ZSlcbiAgICAgICAgQGluY2x1ZGUgYm1kLWRyYXdlci15LWluKCRzaXplKTtcbiAgICAgIH0gQGVsc2Uge1xuXG4gICAgICAgIC8vIHJlc3BvbnNpdmUgY2xhc3NcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgICAgIC8vIGJtZC1kcmF3ZXItZi0obGVmdCBhbmQgcmlnaHQpIHN0eWxlc1xuICAgICAgICAgIEBpbmNsdWRlIGJtZC1kcmF3ZXIteS1pbigkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJtZC1kcmF3ZXIteC1vdmVybGF5KCkge1xuICBAaW5jbHVkZSBibWQtbGF5b3V0LWJhY2tkcm9wLWluKCk7XG5cbiAgQGVhY2ggJHNpZGUsICRhYmJyZXYgaW4gKGxlZnQ6IGwsIHJpZ2h0OiByKSB7XG4gICAgJi5ibWQtZHJhd2VyLWYtI3skYWJicmV2fSB7XG4gICAgICA+IC5ibWQtbGF5b3V0LWhlYWRlcixcbiAgICAgID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tI3skc2lkZX06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBibWQtZHJhd2VyLXktb3ZlcmxheSgpIHtcbiAgQGluY2x1ZGUgYm1kLWxheW91dC1iYWNrZHJvcC1pbigpO1xuXG4gIEBlYWNoICRzaWRlLCAkYWJicmV2IGluICh0b3A6IHQsIGJvdHRvbTogYikge1xuICAgICYuYm1kLWRyYXdlci1mLSN7JGFiYnJldn0ge1xuICAgICAgPiAuYm1kLWxheW91dC1oZWFkZXIge1xuICAgICAgICBAaWYgJHNpZGUgPT0gdG9wIHsgLy8gb25seSBhZGQgbWFyZ2luLXRvcCBvbiBhIGhlYWRlciB3aGVuIHRoZSBkcmF3ZXIgaXMgYXQgdGhlIHRvcFxuICAgICAgICAgIG1hcmdpbi0jeyRzaWRlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICA+IC5ibWQtbGF5b3V0LWNvbnRlbnQge1xuICAgICAgICBAaWYgJHNpZGUgPT0gYm90dG9tIHsgLy8gb25seSBhZGQgbWFyZ2luLWJvdHRvbSBvbiBjb250ZW50IHdoZW4gdGhlIGRyYXdlciBpcyBhdCB0aGUgYm90dG9tXG4gICAgICAgICAgbWFyZ2luLSN7JHNpZGV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE92ZXJsYXkgLSBsZWZ0L3JpZ2h0IHJlc3BvbnNpdmUgb3ZlcmxheSBjbGFzc2VzIGFuZCBtYXJrZXIgY2xhc3NcbkBtaXhpbiBibWQtZHJhd2VyLXgtb3ZlcmxheS1kb3duKCRicmVha3BvaW50KSB7XG4gIC8vIGUuZy4gJiwgJi1zbSwgJi1tZCwgJi1sZ1xuICAkbmFtZTogYm1kLWRyYXdlci1icmVha3BvaW50LW5hbWUoJGJyZWFrcG9pbnQsIFwiLWRvd25cIik7XG5cbiAgJi5ibWQtZHJhd2VyLW92ZXJsYXkge1xuICAgICN7dW5xdW90ZSgkbmFtZSl9IHsgLy8gYm1kLWRyYXdlci1vdmVybGF5LCBibWQtZHJhd2VyLW92ZXJsYXktc20sIGJtZC1kcmF3ZXItb3ZlcmxheS1tZCwgYm1kLWRyYXdlci1vdmVybGF5LWxnXG5cbiAgICAgIC8vIHggLSBsZWZ0L3JpZ2h0XG5cbiAgICAgIEBpZiAkYnJlYWtwb2ludCA9PSB4cyB7IC8vIG92ZXJsYXkgbWFya2VyIGNsYXNzIChub24tcmVzcG9uc2l2ZSlcblxuICAgICAgICAvLyBNdXN0IGRvdWJsZSB1cCBvbiB0aGUgLmJtZC1kcmF3ZXItb3ZlcmxheSBjbGFzcyB0byBpbmNyZWFzZSBzcGVjaWZpY2l0eSBvdGhlcndpc2UgdGhlXG4gICAgICAgIC8vICByZXNwb25zaXZlIGJtZC1kcmF3ZXItaW4tKiBtZWRpYSBxdWVyaWVzIGFib3ZlIHdpbiAoYW5kIG92ZXJsYXkgaXMgaWdub3JlZClcbiAgICAgICAgJi5ibWQtZHJhd2VyLW92ZXJsYXkge1xuICAgICAgICAgIEBpbmNsdWRlIGJtZC1kcmF3ZXIteC1vdmVybGF5KCk7XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHsgLy8gb3ZlcmxheSByZXNwb25zaXZlIGNsYXNzXG4gICAgICAgICAgQGluY2x1ZGUgYm1kLWRyYXdlci14LW92ZXJsYXkoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPdmVybGF5IC0gdG9wL2JvdHRvbSByZXNwb25zaXZlIG92ZXJsYXkgY2xhc3NlcyBhbmQgbWFya2VyIGNsYXNzXG5AbWl4aW4gYm1kLWRyYXdlci15LW92ZXJsYXktZG93bigkYnJlYWtwb2ludCkge1xuICAvLyBlLmcuICYsICYtc20sICYtbWQsICYtbGdcbiAgJG5hbWU6IGJtZC1kcmF3ZXItYnJlYWtwb2ludC1uYW1lKCRicmVha3BvaW50LCBcIi1kb3duXCIpO1xuXG4gICYuYm1kLWRyYXdlci1vdmVybGF5IHtcbiAgICAje3VucXVvdGUoJG5hbWUpfSB7IC8vIGJtZC1kcmF3ZXItb3ZlcmxheSwgYm1kLWRyYXdlci1vdmVybGF5LXNtLCBibWQtZHJhd2VyLW92ZXJsYXktbWQsIGJtZC1kcmF3ZXItb3ZlcmxheS1sZ1xuICAgICAgLy8vLyB5IC0gdG9wL2JvdHRvbVxuXG4gICAgICBAaWYgJGJyZWFrcG9pbnQgPT0geHMgeyAvLyBvdmVybGF5IG1hcmtlciBjbGFzcyAobm9uLXJlc3BvbnNpdmUpXG5cbiAgICAgICAgLy8gTXVzdCBkb3VibGUgdXAgb24gdGhlIC5ibWQtZHJhd2VyLW92ZXJsYXkgY2xhc3MgdG8gaW5jcmVhc2Ugc3BlY2lmaWNpdHkgb3RoZXJ3aXNlIHRoZVxuICAgICAgICAvLyAgcmVzcG9uc2l2ZSBibWQtZHJhd2VyLWluLSogbWVkaWEgcXVlcmllcyBhYm92ZSB3aW4gKGFuZCBvdmVybGF5IGlzIGlnbm9yZWQpXG4gICAgICAgICYuYm1kLWRyYXdlci1vdmVybGF5IHtcbiAgICAgICAgICBAaW5jbHVkZSBibWQtZHJhd2VyLXktb3ZlcmxheSgpO1xuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7IC8vIG92ZXJsYXkgcmVzcG9uc2l2ZSBjbGFzc1xuICAgICAgICAgIEBpbmNsdWRlIGJtZC1kcmF3ZXIteS1vdmVybGF5KCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLy8gRHJhd2VyXG5cbi8vIFNpemluZ1xuJGJtZC1kcmF3ZXIteC1zaXplOiAyNDBweCAhZGVmYXVsdDtcbiRibWQtZHJhd2VyLXktc2l6ZTogMTAwcHggIWRlZmF1bHQ7XG4iLCIvLyBHZW5lcmF0ZXMgdGhlIGAuaW5gIHN0eWxlIGZvciB0aGUgZ2VuZXJpYyBiYWNrZHJvcCB1c2VkIGNvbXBvbmVudHMgc3VjaCBhcyB0aGUgZHJhd2VyIGluIG92ZXJsYXkgbW9kZVxuQG1peGluIGJtZC1sYXlvdXQtYmFja2Ryb3AtaW4oKSB7XG5cbiAgPiAuYm1kLWxheW91dC1iYWNrZHJvcCB7XG4gICAgLmluIHtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgfVxuXG4gICAgQHN1cHBvcnRzIChwb2ludGVyLWV2ZW50czogYXV0bykge1xuICAgICAgJi5pbiB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gbWFya2VyIGNsYXNzICh1c2VkIGFzIGEgc2VsZWN0b3IgZm9yIG9uZS1vZmYgZWxlbWVudHMgdG8gZGVjb3JhdGUpXG4ucmlwcGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucmlwcGxlLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcblxuICAucmlwcGxlLWRlY29yYXRvciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMDUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJTtcblxuICAgICYucmlwcGxlLW9uIHtcbiAgICAgIG9wYWNpdHk6IDAuMTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZS1pbiAwcywgdHJhbnNmb3JtIDAuNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSAwLjFzO1xuICAgIH1cblxuICAgICYucmlwcGxlLW91dCB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGxpbmVhciAwcyAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIl19 */ diff --git a/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.iife.js b/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.iife.js new file mode 100644 index 0000000..aa626d5 --- /dev/null +++ b/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.iife.js @@ -0,0 +1,11743 @@ +/*! + * bootstrap-material-design v4.0.2 (https://github.com/FezVrasta/bootstrap-material-design) + * Copyright 2016 Federico Zivolo and contributors + * Licensed under MIT + */ +(function () { + 'use strict'; + + var commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {} + + function interopDefault(ex) { + return ex && typeof ex === 'object' && 'default' in ex ? ex['default'] : ex; + } + + function createCommonjsModule(fn, module) { + return module = { exports: {} }, fn(module, module.exports), module.exports; + } + + var _global = createCommonjsModule(function (module) { + // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 + var global = module.exports = typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')(); + if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef + }); + + var _global$1 = interopDefault(_global); + +var require$$3 = Object.freeze({ + default: _global$1 + }); + + var _has = createCommonjsModule(function (module) { + var hasOwnProperty = {}.hasOwnProperty; + module.exports = function (it, key) { + return hasOwnProperty.call(it, key); + }; + }); + + var _has$1 = interopDefault(_has); + +var require$$4 = Object.freeze({ + default: _has$1 + }); + + var _fails = createCommonjsModule(function (module) { + module.exports = function (exec) { + try { + return !!exec(); + } catch (e) { + return true; + } + }; + }); + + var _fails$1 = interopDefault(_fails); + +var require$$1$1 = Object.freeze({ + default: _fails$1 + }); + + var _descriptors = createCommonjsModule(function (module) { + // Thank's IE8 for his funny defineProperty + module.exports = !interopDefault(require$$1$1)(function () { + return Object.defineProperty({}, 'a', { get: function get() { + return 7; + } }).a != 7; + }); + }); + + var _descriptors$1 = interopDefault(_descriptors); + +var require$$1 = Object.freeze({ + default: _descriptors$1 + }); + + var _core = createCommonjsModule(function (module) { + var core = module.exports = { version: '2.4.0' }; + if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef + }); + + var _core$1 = interopDefault(_core); + var version = _core.version; + +var require$$0 = Object.freeze({ + default: _core$1, + version: version + }); + + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { + return typeof obj; + } : function (obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; + }; + + var classCallCheck = function (instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + }; + + var createClass = function () { + function defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + return function (Constructor, protoProps, staticProps) { + if (protoProps) defineProperties(Constructor.prototype, protoProps); + if (staticProps) defineProperties(Constructor, staticProps); + return Constructor; + }; + }(); + + var get = function get(object, property, receiver) { + if (object === null) object = Function.prototype; + var desc = Object.getOwnPropertyDescriptor(object, property); + + if (desc === undefined) { + var parent = Object.getPrototypeOf(object); + + if (parent === null) { + return undefined; + } else { + return get(parent, property, receiver); + } + } else if ("value" in desc) { + return desc.value; + } else { + var getter = desc.get; + + if (getter === undefined) { + return undefined; + } + + return getter.call(receiver); + } + }; + + var inherits = function (subClass, superClass) { + if (typeof superClass !== "function" && superClass !== null) { + throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); + } + + subClass.prototype = Object.create(superClass && superClass.prototype, { + constructor: { + value: subClass, + enumerable: false, + writable: true, + configurable: true + } + }); + if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; + }; + + var possibleConstructorReturn = function (self, call) { + if (!self) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + + return call && (typeof call === "object" || typeof call === "function") ? call : self; + }; + + var _isObject = createCommonjsModule(function (module) { + module.exports = function (it) { + return (typeof it === 'undefined' ? 'undefined' : _typeof(it)) === 'object' ? it !== null : typeof it === 'function'; + }; + }); + + var _isObject$1 = interopDefault(_isObject); + + + + var require$$0$1 = Object.freeze({ + default: _isObject$1 + }); + + var _anObject = createCommonjsModule(function (module) { + var isObject = interopDefault(require$$0$1); + module.exports = function (it) { + if (!isObject(it)) throw TypeError(it + ' is not an object!'); + return it; + }; + }); + + var _anObject$1 = interopDefault(_anObject); + +var require$$5 = Object.freeze({ + default: _anObject$1 + }); + + var _domCreate = createCommonjsModule(function (module) { + var isObject = interopDefault(require$$0$1), + document = interopDefault(require$$3).document + // in old IE typeof document.createElement is 'object' + , + is = isObject(document) && isObject(document.createElement); + module.exports = function (it) { + return is ? document.createElement(it) : {}; + }; + }); + + var _domCreate$1 = interopDefault(_domCreate); + +var require$$2$2 = Object.freeze({ + default: _domCreate$1 + }); + + var _ie8DomDefine = createCommonjsModule(function (module) { + module.exports = !interopDefault(require$$1) && !interopDefault(require$$1$1)(function () { + return Object.defineProperty(interopDefault(require$$2$2)('div'), 'a', { get: function get() { + return 7; + } }).a != 7; + }); + }); + + var _ie8DomDefine$1 = interopDefault(_ie8DomDefine); + +var require$$1$3 = Object.freeze({ + default: _ie8DomDefine$1 + }); + + var _toPrimitive = createCommonjsModule(function (module) { + // 7.1.1 ToPrimitive(input [, PreferredType]) + var isObject = interopDefault(require$$0$1); + // instead of the ES6 spec version, we didn't implement @@toPrimitive case + // and the second argument - flag - preferred type is a string + module.exports = function (it, S) { + if (!isObject(it)) return it; + var fn, val; + if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; + if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val; + if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; + throw TypeError("Can't convert object to primitive value"); + }; + }); + + var _toPrimitive$1 = interopDefault(_toPrimitive); + +var require$$4$1 = Object.freeze({ + default: _toPrimitive$1 + }); + + var _objectDp = createCommonjsModule(function (module, exports) { + var anObject = interopDefault(require$$5), + IE8_DOM_DEFINE = interopDefault(require$$1$3), + toPrimitive = interopDefault(require$$4$1), + dP = Object.defineProperty; + + exports.f = interopDefault(require$$1) ? Object.defineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPrimitive(P, true); + anObject(Attributes); + if (IE8_DOM_DEFINE) try { + return dP(O, P, Attributes); + } catch (e) {/* empty */} + if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!'); + if ('value' in Attributes) O[P] = Attributes.value; + return O; + }; + }); + + var _objectDp$1 = interopDefault(_objectDp); + var f = _objectDp.f; + +var require$$2$1 = Object.freeze({ + default: _objectDp$1, + f: f + }); + + var _propertyDesc = createCommonjsModule(function (module) { + module.exports = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; + }; + }); + + var _propertyDesc$1 = interopDefault(_propertyDesc); + +var require$$2$3 = Object.freeze({ + default: _propertyDesc$1 + }); + + var _hide = createCommonjsModule(function (module) { + var dP = interopDefault(require$$2$1), + createDesc = interopDefault(require$$2$3); + module.exports = interopDefault(require$$1) ? function (object, key, value) { + return dP.f(object, key, createDesc(1, value)); + } : function (object, key, value) { + object[key] = value; + return object; + }; + }); + + var _hide$1 = interopDefault(_hide); + +var require$$2 = Object.freeze({ + default: _hide$1 + }); + + var _uid = createCommonjsModule(function (module) { + var id = 0, + px = Math.random(); + module.exports = function (key) { + return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); + }; + }); + + var _uid$1 = interopDefault(_uid); + +var require$$12 = Object.freeze({ + default: _uid$1 + }); + + var _redefine = createCommonjsModule(function (module) { + var global = interopDefault(require$$3), + hide = interopDefault(require$$2), + has = interopDefault(require$$4), + SRC = interopDefault(require$$12)('src'), + TO_STRING = 'toString', + $toString = Function[TO_STRING], + TPL = ('' + $toString).split(TO_STRING); + + interopDefault(require$$0).inspectSource = function (it) { + return $toString.call(it); + }; + + (module.exports = function (O, key, val, safe) { + var isFunction = typeof val == 'function'; + if (isFunction) has(val, 'name') || hide(val, 'name', key); + if (O[key] === val) return; + if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key))); + if (O === global) { + O[key] = val; + } else { + if (!safe) { + delete O[key]; + hide(O, key, val); + } else { + if (O[key]) O[key] = val;else hide(O, key, val); + } + } + // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative + })(Function.prototype, TO_STRING, function toString() { + return typeof this == 'function' && this[SRC] || $toString.call(this); + }); + }); + + var _redefine$1 = interopDefault(_redefine); + +var require$$4$2 = Object.freeze({ + default: _redefine$1 + }); + + var _aFunction = createCommonjsModule(function (module) { + module.exports = function (it) { + if (typeof it != 'function') throw TypeError(it + ' is not a function!'); + return it; + }; + }); + + var _aFunction$1 = interopDefault(_aFunction); + +var require$$0$2 = Object.freeze({ + default: _aFunction$1 + }); + + var _ctx = createCommonjsModule(function (module) { + // optional / simple context binding + var aFunction = interopDefault(require$$0$2); + module.exports = function (fn, that, length) { + aFunction(fn); + if (that === undefined) return fn; + switch (length) { + case 1: + return function (a) { + return fn.call(that, a); + }; + case 2: + return function (a, b) { + return fn.call(that, a, b); + }; + case 3: + return function (a, b, c) { + return fn.call(that, a, b, c); + }; + } + return function () /* ...args */{ + return fn.apply(that, arguments); + }; + }; + }); + + var _ctx$1 = interopDefault(_ctx); + +var require$$31 = Object.freeze({ + default: _ctx$1 + }); + + var _export = createCommonjsModule(function (module) { + var global = interopDefault(require$$3), + core = interopDefault(require$$0), + hide = interopDefault(require$$2), + redefine = interopDefault(require$$4$2), + ctx = interopDefault(require$$31), + PROTOTYPE = 'prototype'; + + var $export = function $export(type, name, source) { + var IS_FORCED = type & $export.F, + IS_GLOBAL = type & $export.G, + IS_STATIC = type & $export.S, + IS_PROTO = type & $export.P, + IS_BIND = type & $export.B, + target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE], + exports = IS_GLOBAL ? core : core[name] || (core[name] = {}), + expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {}), + key, + own, + out, + exp; + if (IS_GLOBAL) source = name; + for (key in source) { + // contains in native + own = !IS_FORCED && target && target[key] !== undefined; + // export native or passed + out = (own ? target : source)[key]; + // bind timers to global for call from export context + exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; + // extend global + if (target) redefine(target, key, out, type & $export.U); + // export + if (exports[key] != out) hide(exports, key, exp); + if (IS_PROTO && expProto[key] != out) expProto[key] = out; + } + }; + global.core = core; + // type bitmap + $export.F = 1; // forced + $export.G = 2; // global + $export.S = 4; // static + $export.P = 8; // proto + $export.B = 16; // bind + $export.W = 32; // wrap + $export.U = 64; // safe + $export.R = 128; // real proto method for `library` + module.exports = $export; + }); + + var _export$1 = interopDefault(_export); + +var require$$1$2 = Object.freeze({ + default: _export$1 + }); + + var _meta = createCommonjsModule(function (module) { + var META = interopDefault(require$$12)('meta'), + isObject = interopDefault(require$$0$1), + has = interopDefault(require$$4), + setDesc = interopDefault(require$$2$1).f, + id = 0; + var isExtensible = Object.isExtensible || function () { + return true; + }; + var FREEZE = !interopDefault(require$$1$1)(function () { + return isExtensible(Object.preventExtensions({})); + }); + var setMeta = function setMeta(it) { + setDesc(it, META, { value: { + i: 'O' + ++id, // object ID + w: {} // weak collections IDs + } }); + }; + var fastKey = function fastKey(it, create) { + // return primitive with prefix + if (!isObject(it)) return (typeof it === 'undefined' ? 'undefined' : _typeof(it)) == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; + if (!has(it, META)) { + // can't set metadata to uncaught frozen object + if (!isExtensible(it)) return 'F'; + // not necessary to add metadata + if (!create) return 'E'; + // add missing metadata + setMeta(it); + // return object ID + }return it[META].i; + }; + var getWeak = function getWeak(it, create) { + if (!has(it, META)) { + // can't set metadata to uncaught frozen object + if (!isExtensible(it)) return true; + // not necessary to add metadata + if (!create) return false; + // add missing metadata + setMeta(it); + // return hash weak collections IDs + }return it[META].w; + }; + // add metadata on freeze-family methods calling + var onFreeze = function onFreeze(it) { + if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it); + return it; + }; + var meta = module.exports = { + KEY: META, + NEED: false, + fastKey: fastKey, + getWeak: getWeak, + onFreeze: onFreeze + }; + }); + + var _meta$1 = interopDefault(_meta); + var KEY = _meta.KEY; + var NEED = _meta.NEED; + var fastKey = _meta.fastKey; + var getWeak = _meta.getWeak; + var onFreeze = _meta.onFreeze; + + + + var require$$6 = Object.freeze({ + default: _meta$1, + KEY: KEY, + NEED: NEED, + fastKey: fastKey, + getWeak: getWeak, + onFreeze: onFreeze + }); + + var _shared = createCommonjsModule(function (module) { + var global = interopDefault(require$$3), + SHARED = '__core-js_shared__', + store = global[SHARED] || (global[SHARED] = {}); + module.exports = function (key) { + return store[key] || (store[key] = {}); + }; + }); + + var _shared$1 = interopDefault(_shared); + +var require$$1$4 = Object.freeze({ + default: _shared$1 + }); + + var _wks = createCommonjsModule(function (module) { + var store = interopDefault(require$$1$4)('wks'), + uid = interopDefault(require$$12), + _Symbol = interopDefault(require$$3).Symbol, + USE_SYMBOL = typeof _Symbol == 'function'; + + var $exports = module.exports = function (name) { + return store[name] || (store[name] = USE_SYMBOL && _Symbol[name] || (USE_SYMBOL ? _Symbol : uid)('Symbol.' + name)); + }; + + $exports.store = store; + }); + + var _wks$1 = interopDefault(_wks); + +var require$$0$4 = Object.freeze({ + default: _wks$1 + }); + + var _setToStringTag = createCommonjsModule(function (module) { + var def = interopDefault(require$$2$1).f, + has = interopDefault(require$$4), + TAG = interopDefault(require$$0$4)('toStringTag'); + + module.exports = function (it, tag, stat) { + if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag }); + }; + }); + + var _setToStringTag$1 = interopDefault(_setToStringTag); + +var require$$0$3 = Object.freeze({ + default: _setToStringTag$1 + }); + + var _wksExt = createCommonjsModule(function (module, exports) { + exports.f = interopDefault(require$$0$4); + }); + + var _wksExt$1 = interopDefault(_wksExt); + var f$1 = _wksExt.f; + +var require$$1$5 = Object.freeze({ + default: _wksExt$1, + f: f$1 + }); + + var _library = createCommonjsModule(function (module) { + module.exports = false; + }); + + var _library$1 = interopDefault(_library); + +var require$$2$4 = Object.freeze({ + default: _library$1 + }); + + var _wksDefine = createCommonjsModule(function (module) { + var global = interopDefault(require$$3), + core = interopDefault(require$$0), + LIBRARY = interopDefault(require$$2$4), + wksExt = interopDefault(require$$1$5), + defineProperty = interopDefault(require$$2$1).f; + module.exports = function (name) { + var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {}); + if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) }); + }; + }); + + var _wksDefine$1 = interopDefault(_wksDefine); + +var require$$0$5 = Object.freeze({ + default: _wksDefine$1 + }); + + var _cof = createCommonjsModule(function (module) { + var toString = {}.toString; + + module.exports = function (it) { + return toString.call(it).slice(8, -1); + }; + }); + + var _cof$1 = interopDefault(_cof); + +var require$$0$6 = Object.freeze({ + default: _cof$1 + }); + + var _iobject = createCommonjsModule(function (module) { + // fallback for non-array-like ES3 and non-enumerable old V8 strings + var cof = interopDefault(require$$0$6); + module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) { + return cof(it) == 'String' ? it.split('') : Object(it); + }; + }); + + var _iobject$1 = interopDefault(_iobject); + +var require$$1$8 = Object.freeze({ + default: _iobject$1 + }); + + var _defined = createCommonjsModule(function (module) { + // 7.2.1 RequireObjectCoercible(argument) + module.exports = function (it) { + if (it == undefined) throw TypeError("Can't call method on " + it); + return it; + }; + }); + + var _defined$1 = interopDefault(_defined); + +var require$$4$3 = Object.freeze({ + default: _defined$1 + }); + + var _toIobject = createCommonjsModule(function (module) { + // to indexed object, toObject with fallback for non-array-like ES3 strings + var IObject = interopDefault(require$$1$8), + defined = interopDefault(require$$4$3); + module.exports = function (it) { + return IObject(defined(it)); + }; + }); + + var _toIobject$1 = interopDefault(_toIobject); + +var require$$1$7 = Object.freeze({ + default: _toIobject$1 + }); + + var _toInteger = createCommonjsModule(function (module) { + // 7.1.4 ToInteger + var ceil = Math.ceil, + floor = Math.floor; + module.exports = function (it) { + return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); + }; + }); + + var _toInteger$1 = interopDefault(_toInteger); + +var require$$26 = Object.freeze({ + default: _toInteger$1 + }); + + var _toLength = createCommonjsModule(function (module) { + // 7.1.15 ToLength + var toInteger = interopDefault(require$$26), + min = Math.min; + module.exports = function (it) { + return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 + }; + }); + + var _toLength$1 = interopDefault(_toLength); + +var require$$3$1 = Object.freeze({ + default: _toLength$1 + }); + + var _toIndex = createCommonjsModule(function (module) { + var toInteger = interopDefault(require$$26), + max = Math.max, + min = Math.min; + module.exports = function (index, length) { + index = toInteger(index); + return index < 0 ? max(index + length, 0) : min(index, length); + }; + }); + + var _toIndex$1 = interopDefault(_toIndex); + +var require$$24 = Object.freeze({ + default: _toIndex$1 + }); + + var _arrayIncludes = createCommonjsModule(function (module) { + // false -> Array#indexOf + // true -> Array#includes + var toIObject = interopDefault(require$$1$7), + toLength = interopDefault(require$$3$1), + toIndex = interopDefault(require$$24); + module.exports = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIObject($this), + length = toLength(O.length), + index = toIndex(fromIndex, length), + value; + // Array#includes uses SameValueZero equality algorithm + if (IS_INCLUDES && el != el) while (length > index) { + value = O[index++]; + if (value != value) return true; + // Array#toIndex ignores holes, Array#includes - not + } else for (; length > index; index++) { + if (IS_INCLUDES || index in O) { + if (O[index] === el) return IS_INCLUDES || index || 0; + } + }return !IS_INCLUDES && -1; + }; + }; + }); + + var _arrayIncludes$1 = interopDefault(_arrayIncludes); + +var require$$1$9 = Object.freeze({ + default: _arrayIncludes$1 + }); + + var _sharedKey = createCommonjsModule(function (module) { + var shared = interopDefault(require$$1$4)('keys'), + uid = interopDefault(require$$12); + module.exports = function (key) { + return shared[key] || (shared[key] = uid(key)); + }; + }); + + var _sharedKey$1 = interopDefault(_sharedKey); + +var require$$0$7 = Object.freeze({ + default: _sharedKey$1 + }); + + var _objectKeysInternal = createCommonjsModule(function (module) { + var has = interopDefault(require$$4), + toIObject = interopDefault(require$$1$7), + arrayIndexOf = interopDefault(require$$1$9)(false), + IE_PROTO = interopDefault(require$$0$7)('IE_PROTO'); + + module.exports = function (object, names) { + var O = toIObject(object), + i = 0, + result = [], + key; + for (key in O) { + if (key != IE_PROTO) has(O, key) && result.push(key); + } // Don't enum bug & hidden keys + while (names.length > i) { + if (has(O, key = names[i++])) { + ~arrayIndexOf(result, key) || result.push(key); + } + }return result; + }; + }); + + var _objectKeysInternal$1 = interopDefault(_objectKeysInternal); + +var require$$1$6 = Object.freeze({ + default: _objectKeysInternal$1 + }); + + var _enumBugKeys = createCommonjsModule(function (module) { + // IE 8- don't enum bug keys + module.exports = 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'.split(','); + }); + + var _enumBugKeys$1 = interopDefault(_enumBugKeys); + +var require$$0$8 = Object.freeze({ + default: _enumBugKeys$1 + }); + + var _objectKeys = createCommonjsModule(function (module) { + // 19.1.2.14 / 15.2.3.14 Object.keys(O) + var $keys = interopDefault(require$$1$6), + enumBugKeys = interopDefault(require$$0$8); + + module.exports = Object.keys || function keys(O) { + return $keys(O, enumBugKeys); + }; + }); + + var _objectKeys$1 = interopDefault(_objectKeys); + +var require$$2$5 = Object.freeze({ + default: _objectKeys$1 + }); + + var _keyof = createCommonjsModule(function (module) { + var getKeys = interopDefault(require$$2$5), + toIObject = interopDefault(require$$1$7); + module.exports = function (object, el) { + var O = toIObject(object), + keys = getKeys(O), + length = keys.length, + index = 0, + key; + while (length > index) { + if (O[key = keys[index++]] === el) return key; + } + }; + }); + + var _keyof$1 = interopDefault(_keyof); + +var require$$16 = Object.freeze({ + default: _keyof$1 + }); + + var _objectGops = createCommonjsModule(function (module, exports) { + exports.f = Object.getOwnPropertySymbols; + }); + + var _objectGops$1 = interopDefault(_objectGops); + var f$2 = _objectGops.f; + +var require$$2$6 = Object.freeze({ + default: _objectGops$1, + f: f$2 + }); + + var _objectPie = createCommonjsModule(function (module, exports) { + exports.f = {}.propertyIsEnumerable; + }); + + var _objectPie$1 = interopDefault(_objectPie); + var f$3 = _objectPie.f; + +var require$$0$9 = Object.freeze({ + default: _objectPie$1, + f: f$3 + }); + + var _enumKeys = createCommonjsModule(function (module) { + // all enumerable object keys, includes symbols + var getKeys = interopDefault(require$$2$5), + gOPS = interopDefault(require$$2$6), + pIE = interopDefault(require$$0$9); + module.exports = function (it) { + var result = getKeys(it), + getSymbols = gOPS.f; + if (getSymbols) { + var symbols = getSymbols(it), + isEnum = pIE.f, + i = 0, + key; + while (symbols.length > i) { + if (isEnum.call(it, key = symbols[i++])) result.push(key); + } + }return result; + }; + }); + + var _enumKeys$1 = interopDefault(_enumKeys); + +var require$$15 = Object.freeze({ + default: _enumKeys$1 + }); + + var _isArray = createCommonjsModule(function (module) { + // 7.2.2 IsArray(argument) + var cof = interopDefault(require$$0$6); + module.exports = Array.isArray || function isArray(arg) { + return cof(arg) == 'Array'; + }; + }); + + var _isArray$1 = interopDefault(_isArray); + +var require$$1$10 = Object.freeze({ + default: _isArray$1 + }); + + var _objectDps = createCommonjsModule(function (module) { + var dP = interopDefault(require$$2$1), + anObject = interopDefault(require$$5), + getKeys = interopDefault(require$$2$5); + + module.exports = interopDefault(require$$1) ? Object.defineProperties : function defineProperties(O, Properties) { + anObject(O); + var keys = getKeys(Properties), + length = keys.length, + i = 0, + P; + while (length > i) { + dP.f(O, P = keys[i++], Properties[P]); + }return O; + }; + }); + + var _objectDps$1 = interopDefault(_objectDps); + +var require$$0$10 = Object.freeze({ + default: _objectDps$1 + }); + + var _html = createCommonjsModule(function (module) { + module.exports = interopDefault(require$$3).document && document.documentElement; + }); + + var _html$1 = interopDefault(_html); + +var require$$3$2 = Object.freeze({ + default: _html$1 + }); + + var _objectCreate = createCommonjsModule(function (module) { + // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) + var anObject = interopDefault(require$$5), + dPs = interopDefault(require$$0$10), + enumBugKeys = interopDefault(require$$0$8), + IE_PROTO = interopDefault(require$$0$7)('IE_PROTO'), + Empty = function Empty() {/* empty */}, + PROTOTYPE = 'prototype'; + + // Create object with fake `null` prototype: use iframe Object with cleared prototype + var _createDict = function createDict() { + // Thrash, waste and sodomy: IE GC bug + var iframe = interopDefault(require$$2$2)('iframe'), + i = enumBugKeys.length, + lt = '<', + gt = '>', + iframeDocument; + iframe.style.display = 'none'; + interopDefault(require$$3$2).appendChild(iframe); + iframe.src = 'javascript:'; // eslint-disable-line no-script-url + // createDict = iframe.contentWindow.Object; + // html.removeChild(iframe); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt); + iframeDocument.close(); + _createDict = iframeDocument.F; + while (i--) { + delete _createDict[PROTOTYPE][enumBugKeys[i]]; + }return _createDict(); + }; + + module.exports = Object.create || function create(O, Properties) { + var result; + if (O !== null) { + Empty[PROTOTYPE] = anObject(O); + result = new Empty(); + Empty[PROTOTYPE] = null; + // add "__proto__" for Object.getPrototypeOf polyfill + result[IE_PROTO] = O; + } else result = _createDict(); + return Properties === undefined ? result : dPs(result, Properties); + }; + }); + + var _objectCreate$1 = interopDefault(_objectCreate); + +var require$$6$1 = Object.freeze({ + default: _objectCreate$1 + }); + + var _objectGopn = createCommonjsModule(function (module, exports) { + // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) + var $keys = interopDefault(require$$1$6), + hiddenKeys = interopDefault(require$$0$8).concat('length', 'prototype'); + + exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return $keys(O, hiddenKeys); + }; + }); + + var _objectGopn$1 = interopDefault(_objectGopn); + var f$5 = _objectGopn.f; + +var require$$3$3 = Object.freeze({ + default: _objectGopn$1, + f: f$5 + }); + + var _objectGopnExt = createCommonjsModule(function (module) { + // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window + var toIObject = interopDefault(require$$1$7), + gOPN = interopDefault(require$$3$3).f, + toString = {}.toString; + + var windowNames = (typeof window === 'undefined' ? 'undefined' : _typeof(window)) == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : []; + + var getWindowNames = function getWindowNames(it) { + try { + return gOPN(it); + } catch (e) { + return windowNames.slice(); + } + }; + + module.exports.f = function getOwnPropertyNames(it) { + return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it)); + }; + }); + + var _objectGopnExt$1 = interopDefault(_objectGopnExt); + var f$4 = _objectGopnExt.f; + + + + var require$$0$11 = Object.freeze({ + default: _objectGopnExt$1, + f: f$4 + }); + + var _objectGopd = createCommonjsModule(function (module, exports) { + var pIE = interopDefault(require$$0$9), + createDesc = interopDefault(require$$2$3), + toIObject = interopDefault(require$$1$7), + toPrimitive = interopDefault(require$$4$1), + has = interopDefault(require$$4), + IE8_DOM_DEFINE = interopDefault(require$$1$3), + gOPD = Object.getOwnPropertyDescriptor; + + exports.f = interopDefault(require$$1) ? gOPD : function getOwnPropertyDescriptor(O, P) { + O = toIObject(O); + P = toPrimitive(P, true); + if (IE8_DOM_DEFINE) try { + return gOPD(O, P); + } catch (e) {/* empty */} + if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]); + }; + }); + + var _objectGopd$1 = interopDefault(_objectGopd); + var f$6 = _objectGopd.f; + +var require$$2$7 = Object.freeze({ + default: _objectGopd$1, + f: f$6 + }); + + var es6_symbol = createCommonjsModule(function (module) { + 'use strict'; + // ECMAScript 6 symbols shim + + var global = interopDefault(require$$3), + has = interopDefault(require$$4), + DESCRIPTORS = interopDefault(require$$1), + $export = interopDefault(require$$1$2), + redefine = interopDefault(require$$4$2), + META = interopDefault(require$$6).KEY, + $fails = interopDefault(require$$1$1), + shared = interopDefault(require$$1$4), + setToStringTag = interopDefault(require$$0$3), + uid = interopDefault(require$$12), + wks = interopDefault(require$$0$4), + wksExt = interopDefault(require$$1$5), + wksDefine = interopDefault(require$$0$5), + keyOf = interopDefault(require$$16), + enumKeys = interopDefault(require$$15), + isArray = interopDefault(require$$1$10), + anObject = interopDefault(require$$5), + toIObject = interopDefault(require$$1$7), + toPrimitive = interopDefault(require$$4$1), + createDesc = interopDefault(require$$2$3), + _create = interopDefault(require$$6$1), + gOPNExt = interopDefault(require$$0$11), + $GOPD = interopDefault(require$$2$7), + $DP = interopDefault(require$$2$1), + $keys = interopDefault(require$$2$5), + gOPD = $GOPD.f, + dP = $DP.f, + gOPN = gOPNExt.f, + $Symbol = global.Symbol, + $JSON = global.JSON, + _stringify = $JSON && $JSON.stringify, + PROTOTYPE = 'prototype', + HIDDEN = wks('_hidden'), + TO_PRIMITIVE = wks('toPrimitive'), + isEnum = {}.propertyIsEnumerable, + SymbolRegistry = shared('symbol-registry'), + AllSymbols = shared('symbols'), + OPSymbols = shared('op-symbols'), + ObjectProto = Object[PROTOTYPE], + USE_NATIVE = typeof $Symbol == 'function', + QObject = global.QObject; + // Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 + var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; + + // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 + var setSymbolDesc = DESCRIPTORS && $fails(function () { + return _create(dP({}, 'a', { + get: function get() { + return dP(this, 'a', { value: 7 }).a; + } + })).a != 7; + }) ? function (it, key, D) { + var protoDesc = gOPD(ObjectProto, key); + if (protoDesc) delete ObjectProto[key]; + dP(it, key, D); + if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc); + } : dP; + + var wrap = function wrap(tag) { + var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]); + sym._k = tag; + return sym; + }; + + var isSymbol = USE_NATIVE && _typeof($Symbol.iterator) == 'symbol' ? function (it) { + return (typeof it === 'undefined' ? 'undefined' : _typeof(it)) == 'symbol'; + } : function (it) { + return it instanceof $Symbol; + }; + + var $defineProperty = function defineProperty(it, key, D) { + if (it === ObjectProto) $defineProperty(OPSymbols, key, D); + anObject(it); + key = toPrimitive(key, true); + anObject(D); + if (has(AllSymbols, key)) { + if (!D.enumerable) { + if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {})); + it[HIDDEN][key] = true; + } else { + if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false; + D = _create(D, { enumerable: createDesc(0, false) }); + }return setSymbolDesc(it, key, D); + }return dP(it, key, D); + }; + var $defineProperties = function defineProperties(it, P) { + anObject(it); + var keys = enumKeys(P = toIObject(P)), + i = 0, + l = keys.length, + key; + while (l > i) { + $defineProperty(it, key = keys[i++], P[key]); + }return it; + }; + var $create = function create(it, P) { + return P === undefined ? _create(it) : $defineProperties(_create(it), P); + }; + var $propertyIsEnumerable = function propertyIsEnumerable(key) { + var E = isEnum.call(this, key = toPrimitive(key, true)); + if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false; + return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true; + }; + var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) { + it = toIObject(it); + key = toPrimitive(key, true); + if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return; + var D = gOPD(it, key); + if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true; + return D; + }; + var $getOwnPropertyNames = function getOwnPropertyNames(it) { + var names = gOPN(toIObject(it)), + result = [], + i = 0, + key; + while (names.length > i) { + if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key); + }return result; + }; + var $getOwnPropertySymbols = function getOwnPropertySymbols(it) { + var IS_OP = it === ObjectProto, + names = gOPN(IS_OP ? OPSymbols : toIObject(it)), + result = [], + i = 0, + key; + while (names.length > i) { + if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]); + }return result; + }; + + // 19.4.1.1 Symbol([description]) + if (!USE_NATIVE) { + $Symbol = function _Symbol() { + if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!'); + var tag = uid(arguments.length > 0 ? arguments[0] : undefined); + var $set = function $set(value) { + if (this === ObjectProto) $set.call(OPSymbols, value); + if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false; + setSymbolDesc(this, tag, createDesc(1, value)); + }; + if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set }); + return wrap(tag); + }; + redefine($Symbol[PROTOTYPE], 'toString', function toString() { + return this._k; + }); + + $GOPD.f = $getOwnPropertyDescriptor; + $DP.f = $defineProperty; + interopDefault(require$$3$3).f = gOPNExt.f = $getOwnPropertyNames; + interopDefault(require$$0$9).f = $propertyIsEnumerable; + interopDefault(require$$2$6).f = $getOwnPropertySymbols; + + if (DESCRIPTORS && !interopDefault(require$$2$4)) { + redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true); + } + + wksExt.f = function (name) { + return wrap(wks(name)); + }; + } + + $export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol }); + + for (var symbols = + // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14 + 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'.split(','), i = 0; symbols.length > i;) { + wks(symbols[i++]); + }for (var symbols = $keys(wks.store), i = 0; symbols.length > i;) { + wksDefine(symbols[i++]); + }$export($export.S + $export.F * !USE_NATIVE, 'Symbol', { + // 19.4.2.1 Symbol.for(key) + 'for': function _for(key) { + return has(SymbolRegistry, key += '') ? SymbolRegistry[key] : SymbolRegistry[key] = $Symbol(key); + }, + // 19.4.2.5 Symbol.keyFor(sym) + keyFor: function keyFor(key) { + if (isSymbol(key)) return keyOf(SymbolRegistry, key); + throw TypeError(key + ' is not a symbol!'); + }, + useSetter: function useSetter() { + setter = true; + }, + useSimple: function useSimple() { + setter = false; + } + }); + + $export($export.S + $export.F * !USE_NATIVE, 'Object', { + // 19.1.2.2 Object.create(O [, Properties]) + create: $create, + // 19.1.2.4 Object.defineProperty(O, P, Attributes) + defineProperty: $defineProperty, + // 19.1.2.3 Object.defineProperties(O, Properties) + defineProperties: $defineProperties, + // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) + getOwnPropertyDescriptor: $getOwnPropertyDescriptor, + // 19.1.2.7 Object.getOwnPropertyNames(O) + getOwnPropertyNames: $getOwnPropertyNames, + // 19.1.2.8 Object.getOwnPropertySymbols(O) + getOwnPropertySymbols: $getOwnPropertySymbols + }); + + // 24.3.2 JSON.stringify(value [, replacer [, space]]) + $JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () { + var S = $Symbol(); + // MS Edge converts symbol values to JSON as {} + // WebKit converts symbol values to JSON as null + // V8 throws on boxed symbols + return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}'; + })), 'JSON', { + stringify: function stringify(it) { + if (it === undefined || isSymbol(it)) return; // IE8 returns string on undefined + var args = [it], + i = 1, + replacer, + $replacer; + while (arguments.length > i) { + args.push(arguments[i++]); + }replacer = args[1]; + if (typeof replacer == 'function') $replacer = replacer; + if ($replacer || !isArray(replacer)) replacer = function replacer(key, value) { + if ($replacer) value = $replacer.call(this, key, value); + if (!isSymbol(value)) return value; + }; + args[1] = replacer; + return _stringify.apply($JSON, args); + } + }); + + // 19.4.3.4 Symbol.prototype[@@toPrimitive](hint) + $Symbol[PROTOTYPE][TO_PRIMITIVE] || interopDefault(require$$2)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf); + // 19.4.3.5 Symbol.prototype[@@toStringTag] + setToStringTag($Symbol, 'Symbol'); + // 20.2.1.9 Math[@@toStringTag] + setToStringTag(Math, 'Math', true); + // 24.3.3 JSON[@@toStringTag] + setToStringTag(global.JSON, 'JSON', true); + }); + + interopDefault(es6_symbol); + + var es6_object_create = createCommonjsModule(function (module) { + var $export = interopDefault(require$$1$2); + // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) + $export($export.S, 'Object', { create: interopDefault(require$$6$1) }); + }); + + interopDefault(es6_object_create); + + var es6_object_defineProperty = createCommonjsModule(function (module) { + var $export = interopDefault(require$$1$2); + // 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes) + $export($export.S + $export.F * !interopDefault(require$$1), 'Object', { defineProperty: interopDefault(require$$2$1).f }); + }); + + interopDefault(es6_object_defineProperty); + + var es6_object_defineProperties = createCommonjsModule(function (module) { + var $export = interopDefault(require$$1$2); + // 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties) + $export($export.S + $export.F * !interopDefault(require$$1), 'Object', { defineProperties: interopDefault(require$$0$10) }); + }); + + interopDefault(es6_object_defineProperties); + + var _objectSap = createCommonjsModule(function (module) { + // most Object methods by ES6 should accept primitives + var $export = interopDefault(require$$1$2), + core = interopDefault(require$$0), + fails = interopDefault(require$$1$1); + module.exports = function (KEY, exec) { + var fn = (core.Object || {})[KEY] || Object[KEY], + exp = {}; + exp[KEY] = exec(fn); + $export($export.S + $export.F * fails(function () { + fn(1); + }), 'Object', exp); + }; + }); + + var _objectSap$1 = interopDefault(_objectSap); + +var require$$0$12 = Object.freeze({ + default: _objectSap$1 + }); + + var es6_object_getOwnPropertyDescriptor = createCommonjsModule(function (module) { + // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) + var toIObject = interopDefault(require$$1$7), + $getOwnPropertyDescriptor = interopDefault(require$$2$7).f; + + interopDefault(require$$0$12)('getOwnPropertyDescriptor', function () { + return function getOwnPropertyDescriptor(it, key) { + return $getOwnPropertyDescriptor(toIObject(it), key); + }; + }); + }); + + interopDefault(es6_object_getOwnPropertyDescriptor); + + var _toObject = createCommonjsModule(function (module) { + // 7.1.13 ToObject(argument) + var defined = interopDefault(require$$4$3); + module.exports = function (it) { + return Object(defined(it)); + }; + }); + + var _toObject$1 = interopDefault(_toObject); + +var require$$5$1 = Object.freeze({ + default: _toObject$1 + }); + + var _objectGpo = createCommonjsModule(function (module) { + // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) + var has = interopDefault(require$$4), + toObject = interopDefault(require$$5$1), + IE_PROTO = interopDefault(require$$0$7)('IE_PROTO'), + ObjectProto = Object.prototype; + + module.exports = Object.getPrototypeOf || function (O) { + O = toObject(O); + if (has(O, IE_PROTO)) return O[IE_PROTO]; + if (typeof O.constructor == 'function' && O instanceof O.constructor) { + return O.constructor.prototype; + }return O instanceof Object ? ObjectProto : null; + }; + }); + + var _objectGpo$1 = interopDefault(_objectGpo); + +var require$$0$13 = Object.freeze({ + default: _objectGpo$1 + }); + + var es6_object_getPrototypeOf = createCommonjsModule(function (module) { + // 19.1.2.9 Object.getPrototypeOf(O) + var toObject = interopDefault(require$$5$1), + $getPrototypeOf = interopDefault(require$$0$13); + + interopDefault(require$$0$12)('getPrototypeOf', function () { + return function getPrototypeOf(it) { + return $getPrototypeOf(toObject(it)); + }; + }); + }); + + interopDefault(es6_object_getPrototypeOf); + + var es6_object_keys = createCommonjsModule(function (module) { + // 19.1.2.14 Object.keys(O) + var toObject = interopDefault(require$$5$1), + $keys = interopDefault(require$$2$5); + + interopDefault(require$$0$12)('keys', function () { + return function keys(it) { + return $keys(toObject(it)); + }; + }); + }); + + interopDefault(es6_object_keys); + + var es6_object_getOwnPropertyNames = createCommonjsModule(function (module) { + // 19.1.2.7 Object.getOwnPropertyNames(O) + interopDefault(require$$0$12)('getOwnPropertyNames', function () { + return interopDefault(require$$0$11).f; + }); + }); + + interopDefault(es6_object_getOwnPropertyNames); + + var es6_object_freeze = createCommonjsModule(function (module) { + // 19.1.2.5 Object.freeze(O) + var isObject = interopDefault(require$$0$1), + meta = interopDefault(require$$6).onFreeze; + + interopDefault(require$$0$12)('freeze', function ($freeze) { + return function freeze(it) { + return $freeze && isObject(it) ? $freeze(meta(it)) : it; + }; + }); + }); + + interopDefault(es6_object_freeze); + + var es6_object_seal = createCommonjsModule(function (module) { + // 19.1.2.17 Object.seal(O) + var isObject = interopDefault(require$$0$1), + meta = interopDefault(require$$6).onFreeze; + + interopDefault(require$$0$12)('seal', function ($seal) { + return function seal(it) { + return $seal && isObject(it) ? $seal(meta(it)) : it; + }; + }); + }); + + interopDefault(es6_object_seal); + + var es6_object_preventExtensions = createCommonjsModule(function (module) { + // 19.1.2.15 Object.preventExtensions(O) + var isObject = interopDefault(require$$0$1), + meta = interopDefault(require$$6).onFreeze; + + interopDefault(require$$0$12)('preventExtensions', function ($preventExtensions) { + return function preventExtensions(it) { + return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it; + }; + }); + }); + + interopDefault(es6_object_preventExtensions); + + var es6_object_isFrozen = createCommonjsModule(function (module) { + // 19.1.2.12 Object.isFrozen(O) + var isObject = interopDefault(require$$0$1); + + interopDefault(require$$0$12)('isFrozen', function ($isFrozen) { + return function isFrozen(it) { + return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true; + }; + }); + }); + + interopDefault(es6_object_isFrozen); + + var es6_object_isSealed = createCommonjsModule(function (module) { + // 19.1.2.13 Object.isSealed(O) + var isObject = interopDefault(require$$0$1); + + interopDefault(require$$0$12)('isSealed', function ($isSealed) { + return function isSealed(it) { + return isObject(it) ? $isSealed ? $isSealed(it) : false : true; + }; + }); + }); + + interopDefault(es6_object_isSealed); + + var es6_object_isExtensible = createCommonjsModule(function (module) { + // 19.1.2.11 Object.isExtensible(O) + var isObject = interopDefault(require$$0$1); + + interopDefault(require$$0$12)('isExtensible', function ($isExtensible) { + return function isExtensible(it) { + return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false; + }; + }); + }); + + interopDefault(es6_object_isExtensible); + + var _objectAssign = createCommonjsModule(function (module) { + 'use strict'; + // 19.1.2.1 Object.assign(target, source, ...) + + var getKeys = interopDefault(require$$2$5), + gOPS = interopDefault(require$$2$6), + pIE = interopDefault(require$$0$9), + toObject = interopDefault(require$$5$1), + IObject = interopDefault(require$$1$8), + $assign = Object.assign; + + // should work with symbols and should have deterministic property order (V8 bug) + module.exports = !$assign || interopDefault(require$$1$1)(function () { + var A = {}, + B = {}, + S = Symbol(), + K = 'abcdefghijklmnopqrst'; + A[S] = 7; + K.split('').forEach(function (k) { + B[k] = k; + }); + return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K; + }) ? function assign(target, source) { + // eslint-disable-line no-unused-vars + var T = toObject(target), + aLen = arguments.length, + index = 1, + getSymbols = gOPS.f, + isEnum = pIE.f; + while (aLen > index) { + var S = IObject(arguments[index++]), + keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S), + length = keys.length, + j = 0, + key; + while (length > j) { + if (isEnum.call(S, key = keys[j++])) T[key] = S[key]; + } + }return T; + } : $assign; + }); + + var _objectAssign$1 = interopDefault(_objectAssign); + +var require$$3$4 = Object.freeze({ + default: _objectAssign$1 + }); + + var es6_object_assign = createCommonjsModule(function (module) { + // 19.1.3.1 Object.assign(target, source) + var $export = interopDefault(require$$1$2); + + $export($export.S + $export.F, 'Object', { assign: interopDefault(require$$3$4) }); + }); + + interopDefault(es6_object_assign); + + var _sameValue = createCommonjsModule(function (module) { + // 7.2.9 SameValue(x, y) + module.exports = Object.is || function is(x, y) { + return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; + }; + }); + + var _sameValue$1 = interopDefault(_sameValue); + +var require$$21 = Object.freeze({ + default: _sameValue$1 + }); + + var es6_object_is = createCommonjsModule(function (module) { + // 19.1.3.10 Object.is(value1, value2) + var $export = interopDefault(require$$1$2); + $export($export.S, 'Object', { is: interopDefault(require$$21) }); + }); + + interopDefault(es6_object_is); + + var _setProto = createCommonjsModule(function (module) { + // Works with __proto__ only. Old v8 can't work with null proto objects. + /* eslint-disable no-proto */ + var isObject = interopDefault(require$$0$1), + anObject = interopDefault(require$$5); + var check = function check(O, proto) { + anObject(O); + if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!"); + }; + module.exports = { + set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line + function (test, buggy, set) { + try { + set = interopDefault(require$$31)(Function.call, interopDefault(require$$2$7).f(Object.prototype, '__proto__').set, 2); + set(test, []); + buggy = !(test instanceof Array); + } catch (e) { + buggy = true; + } + return function setPrototypeOf(O, proto) { + check(O, proto); + if (buggy) O.__proto__ = proto;else set(O, proto); + return O; + }; + }({}, false) : undefined), + check: check + }; + }); + + var _setProto$1 = interopDefault(_setProto); + var set$1 = _setProto.set; + var check = _setProto.check; + +var require$$0$14 = Object.freeze({ + default: _setProto$1, + set: set$1, + check: check + }); + + var es6_object_setPrototypeOf = createCommonjsModule(function (module) { + // 19.1.3.19 Object.setPrototypeOf(O, proto) + var $export = interopDefault(require$$1$2); + $export($export.S, 'Object', { setPrototypeOf: interopDefault(require$$0$14).set }); + }); + + interopDefault(es6_object_setPrototypeOf); + + var _classof = createCommonjsModule(function (module) { + // getting tag from 19.1.3.6 Object.prototype.toString() + var cof = interopDefault(require$$0$6), + TAG = interopDefault(require$$0$4)('toStringTag') + // ES3 wrong here + , + ARG = cof(function () { + return arguments; + }()) == 'Arguments'; + + // fallback for IE11 Script Access Denied error + var tryGet = function tryGet(it, key) { + try { + return it[key]; + } catch (e) {/* empty */} + }; + + module.exports = function (it) { + var O, T, B; + return it === undefined ? 'Undefined' : it === null ? 'Null' + // @@toStringTag case + : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T + // builtinTag case + : ARG ? cof(O) + // ES3 arguments fallback + : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B; + }; + }); + + var _classof$1 = interopDefault(_classof); + +var require$$1$11 = Object.freeze({ + default: _classof$1 + }); + + var es6_object_toString = createCommonjsModule(function (module) { + 'use strict'; + // 19.1.3.6 Object.prototype.toString() + + var classof = interopDefault(require$$1$11), + test = {}; + test[interopDefault(require$$0$4)('toStringTag')] = 'z'; + if (test + '' != '[object z]') { + interopDefault(require$$4$2)(Object.prototype, 'toString', function toString() { + return '[object ' + classof(this) + ']'; + }, true); + } + }); + + interopDefault(es6_object_toString); + + var _invoke = createCommonjsModule(function (module) { + // fast apply, http://jsperf.lnkit.com/fast-apply/5 + module.exports = function (fn, args, that) { + var un = that === undefined; + switch (args.length) { + case 0: + return un ? fn() : fn.call(that); + case 1: + return un ? fn(args[0]) : fn.call(that, args[0]); + case 2: + return un ? fn(args[0], args[1]) : fn.call(that, args[0], args[1]); + case 3: + return un ? fn(args[0], args[1], args[2]) : fn.call(that, args[0], args[1], args[2]); + case 4: + return un ? fn(args[0], args[1], args[2], args[3]) : fn.call(that, args[0], args[1], args[2], args[3]); + }return fn.apply(that, args); + }; + }); + + var _invoke$1 = interopDefault(_invoke); + +var require$$1$13 = Object.freeze({ + default: _invoke$1 + }); + + var _bind = createCommonjsModule(function (module) { + 'use strict'; + + var aFunction = interopDefault(require$$0$2), + isObject = interopDefault(require$$0$1), + invoke = interopDefault(require$$1$13), + arraySlice = [].slice, + factories = {}; + + var construct = function construct(F, len, args) { + if (!(len in factories)) { + for (var n = [], i = 0; i < len; i++) { + n[i] = 'a[' + i + ']'; + }factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')'); + }return factories[len](F, args); + }; + + module.exports = Function.bind || function bind(that /*, args... */) { + var fn = aFunction(this), + partArgs = arraySlice.call(arguments, 1); + var bound = function bound() /* args... */{ + var args = partArgs.concat(arraySlice.call(arguments)); + return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that); + }; + if (isObject(fn.prototype)) bound.prototype = fn.prototype; + return bound; + }; + }); + + var _bind$1 = interopDefault(_bind); + +var require$$1$12 = Object.freeze({ + default: _bind$1 + }); + + var es6_function_bind = createCommonjsModule(function (module) { + // 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...) + var $export = interopDefault(require$$1$2); + + $export($export.P, 'Function', { bind: interopDefault(require$$1$12) }); + }); + + interopDefault(es6_function_bind); + + var es6_function_name = createCommonjsModule(function (module) { + var dP = interopDefault(require$$2$1).f, + createDesc = interopDefault(require$$2$3), + has = interopDefault(require$$4), + FProto = Function.prototype, + nameRE = /^\s*function ([^ (]*)/, + NAME = 'name'; + + var isExtensible = Object.isExtensible || function () { + return true; + }; + + // 19.2.4.2 name + NAME in FProto || interopDefault(require$$1) && dP(FProto, NAME, { + configurable: true, + get: function get() { + try { + var that = this, + name = ('' + that).match(nameRE)[1]; + has(that, NAME) || !isExtensible(that) || dP(that, NAME, createDesc(5, name)); + return name; + } catch (e) { + return ''; + } + } + }); + }); + + interopDefault(es6_function_name); + + var es6_function_hasInstance = createCommonjsModule(function (module) { + 'use strict'; + + var isObject = interopDefault(require$$0$1), + getPrototypeOf = interopDefault(require$$0$13), + HAS_INSTANCE = interopDefault(require$$0$4)('hasInstance'), + FunctionProto = Function.prototype; + // 19.2.3.6 Function.prototype[@@hasInstance](V) + if (!(HAS_INSTANCE in FunctionProto)) interopDefault(require$$2$1).f(FunctionProto, HAS_INSTANCE, { value: function value(O) { + if (typeof this != 'function' || !isObject(O)) return false; + if (!isObject(this.prototype)) return O instanceof this; + // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this: + while (O = getPrototypeOf(O)) { + if (this.prototype === O) return true; + }return false; + } }); + }); + + interopDefault(es6_function_hasInstance); + + var _stringWs = createCommonjsModule(function (module) { + module.exports = '\t\n\u000b\f\r   ᠎    ' + '          \u2028\u2029'; + }); + + var _stringWs$1 = interopDefault(_stringWs); + +var require$$0$17 = Object.freeze({ + default: _stringWs$1 + }); + + var _stringTrim = createCommonjsModule(function (module) { + var $export = interopDefault(require$$1$2), + defined = interopDefault(require$$4$3), + fails = interopDefault(require$$1$1), + spaces = interopDefault(require$$0$17), + space = '[' + spaces + ']', + non = '​…', + ltrim = RegExp('^' + space + space + '*'), + rtrim = RegExp(space + space + '*$'); + + var exporter = function exporter(KEY, exec, ALIAS) { + var exp = {}; + var FORCE = fails(function () { + return !!spaces[KEY]() || non[KEY]() != non; + }); + var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY]; + if (ALIAS) exp[ALIAS] = fn; + $export($export.P + $export.F * FORCE, 'String', exp); + }; + + // 1 -> String#trimLeft + // 2 -> String#trimRight + // 3 -> String#trim + var trim = exporter.trim = function (string, TYPE) { + string = String(defined(string)); + if (TYPE & 1) string = string.replace(ltrim, ''); + if (TYPE & 2) string = string.replace(rtrim, ''); + return string; + }; + + module.exports = exporter; + }); + + var _stringTrim$1 = interopDefault(_stringTrim); + +var require$$0$16 = Object.freeze({ + default: _stringTrim$1 + }); + + var _parseInt = createCommonjsModule(function (module) { + var $parseInt = interopDefault(require$$3).parseInt, + $trim = interopDefault(require$$0$16).trim, + ws = interopDefault(require$$0$17), + hex = /^[\-+]?0[xX]/; + + module.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) { + var string = $trim(String(str), 3); + return $parseInt(string, radix >>> 0 || (hex.test(string) ? 16 : 10)); + } : $parseInt; + }); + + var _parseInt$1 = interopDefault(_parseInt); + +var require$$0$15 = Object.freeze({ + default: _parseInt$1 + }); + + var es6_parseInt = createCommonjsModule(function (module) { + var $export = interopDefault(require$$1$2), + $parseInt = interopDefault(require$$0$15); + // 18.2.5 parseInt(string, radix) + $export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt }); + }); + + interopDefault(es6_parseInt); + + var _parseFloat = createCommonjsModule(function (module) { + var $parseFloat = interopDefault(require$$3).parseFloat, + $trim = interopDefault(require$$0$16).trim; + + module.exports = 1 / $parseFloat(interopDefault(require$$0$17) + '-0') !== -Infinity ? function parseFloat(str) { + var string = $trim(String(str), 3), + result = $parseFloat(string); + return result === 0 && string.charAt(0) == '-' ? -0 : result; + } : $parseFloat; + }); + + var _parseFloat$1 = interopDefault(_parseFloat); + +var require$$0$18 = Object.freeze({ + default: _parseFloat$1 + }); + + var es6_parseFloat = createCommonjsModule(function (module) { + var $export = interopDefault(require$$1$2), + $parseFloat = interopDefault(require$$0$18); + // 18.2.4 parseFloat(string) + $export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat }); + }); + + interopDefault(es6_parseFloat); + + var _inheritIfRequired = createCommonjsModule(function (module) { + var isObject = interopDefault(require$$0$1), + setPrototypeOf = interopDefault(require$$0$14).set; + module.exports = function (that, target, C) { + var P, + S = target.constructor; + if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) { + setPrototypeOf(that, P); + }return that; + }; + }); + + var _inheritIfRequired$1 = interopDefault(_inheritIfRequired); + +var require$$0$19 = Object.freeze({ + default: _inheritIfRequired$1 + }); + + var es6_number_constructor = createCommonjsModule(function (module) { + 'use strict'; + + var global = interopDefault(require$$3), + has = interopDefault(require$$4), + cof = interopDefault(require$$0$6), + inheritIfRequired = interopDefault(require$$0$19), + toPrimitive = interopDefault(require$$4$1), + fails = interopDefault(require$$1$1), + gOPN = interopDefault(require$$3$3).f, + gOPD = interopDefault(require$$2$7).f, + dP = interopDefault(require$$2$1).f, + $trim = interopDefault(require$$0$16).trim, + NUMBER = 'Number', + $Number = global[NUMBER], + Base = $Number, + proto = $Number.prototype + // Opera ~12 has broken Object#toString + , + BROKEN_COF = cof(interopDefault(require$$6$1)(proto)) == NUMBER, + TRIM = 'trim' in String.prototype; + + // 7.1.3 ToNumber(argument) + var toNumber = function toNumber(argument) { + var it = toPrimitive(argument, false); + if (typeof it == 'string' && it.length > 2) { + it = TRIM ? it.trim() : $trim(it, 3); + var first = it.charCodeAt(0), + third, + radix, + maxCode; + if (first === 43 || first === 45) { + third = it.charCodeAt(2); + if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix + } else if (first === 48) { + switch (it.charCodeAt(1)) { + case 66:case 98: + radix = 2;maxCode = 49;break; // fast equal /^0b[01]+$/i + case 79:case 111: + radix = 8;maxCode = 55;break; // fast equal /^0o[0-7]+$/i + default: + return +it; + } + for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) { + code = digits.charCodeAt(i); + // parseInt parses a string to a first unavailable symbol + // but ToNumber should return NaN if a string contains unavailable symbols + if (code < 48 || code > maxCode) return NaN; + }return parseInt(digits, radix); + } + }return +it; + }; + + if (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) { + $Number = function Number(value) { + var it = arguments.length < 1 ? 0 : value, + that = this; + return that instanceof $Number + // check on 1..constructor(foo) case + && (BROKEN_COF ? fails(function () { + proto.valueOf.call(that); + }) : cof(that) != NUMBER) ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it); + }; + for (var keys = interopDefault(require$$1) ? gOPN(Base) : ( + // ES3: + 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + + // ES6 (in case, if modules with ES6 Number statics required before): + 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' + 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger').split(','), j = 0, key; keys.length > j; j++) { + if (has(Base, key = keys[j]) && !has($Number, key)) { + dP($Number, key, gOPD(Base, key)); + } + } + $Number.prototype = proto; + proto.constructor = $Number; + interopDefault(require$$4$2)(global, NUMBER, $Number); + } + }); + + interopDefault(es6_number_constructor); + + var _aNumberValue = createCommonjsModule(function (module) { + var cof = interopDefault(require$$0$6); + module.exports = function (it, msg) { + if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg); + return +it; + }; + }); + + var _aNumberValue$1 = interopDefault(_aNumberValue); + +var require$$0$20 = Object.freeze({ + default: _aNumberValue$1 + }); + + var _stringRepeat = createCommonjsModule(function (module) { + 'use strict'; + + var toInteger = interopDefault(require$$26), + defined = interopDefault(require$$4$3); + + module.exports = function repeat(count) { + var str = String(defined(this)), + res = '', + n = toInteger(count); + if (n < 0 || n == Infinity) throw RangeError("Count can't be negative"); + for (; n > 0; (n >>>= 1) && (str += str)) { + if (n & 1) res += str; + }return res; + }; + }); + + var _stringRepeat$1 = interopDefault(_stringRepeat); + +var require$$1$14 = Object.freeze({ + default: _stringRepeat$1 + }); + + var es6_number_toFixed = createCommonjsModule(function (module) { + 'use strict'; + + var $export = interopDefault(require$$1$2), + toInteger = interopDefault(require$$26), + aNumberValue = interopDefault(require$$0$20), + repeat = interopDefault(require$$1$14), + $toFixed = 1..toFixed, + floor = Math.floor, + data = [0, 0, 0, 0, 0, 0], + ERROR = 'Number.toFixed: incorrect invocation!', + ZERO = '0'; + + var multiply = function multiply(n, c) { + var i = -1, + c2 = c; + while (++i < 6) { + c2 += n * data[i]; + data[i] = c2 % 1e7; + c2 = floor(c2 / 1e7); + } + }; + var divide = function divide(n) { + var i = 6, + c = 0; + while (--i >= 0) { + c += data[i]; + data[i] = floor(c / n); + c = c % n * 1e7; + } + }; + var numToString = function numToString() { + var i = 6, + s = ''; + while (--i >= 0) { + if (s !== '' || i === 0 || data[i] !== 0) { + var t = String(data[i]); + s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t; + } + }return s; + }; + var pow = function pow(x, n, acc) { + return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc); + }; + var log = function log(x) { + var n = 0, + x2 = x; + while (x2 >= 4096) { + n += 12; + x2 /= 4096; + } + while (x2 >= 2) { + n += 1; + x2 /= 2; + }return n; + }; + + $export($export.P + $export.F * (!!$toFixed && (0.00008.toFixed(3) !== '0.000' || 0.9.toFixed(0) !== '1' || 1.255.toFixed(2) !== '1.25' || 1000000000000000128..toFixed(0) !== '1000000000000000128') || !interopDefault(require$$1$1)(function () { + // V8 ~ Android 4.3- + $toFixed.call({}); + })), 'Number', { + toFixed: function toFixed(fractionDigits) { + var x = aNumberValue(this, ERROR), + f = toInteger(fractionDigits), + s = '', + m = ZERO, + e, + z, + j, + k; + if (f < 0 || f > 20) throw RangeError(ERROR); + if (x != x) return 'NaN'; + if (x <= -1e21 || x >= 1e21) return String(x); + if (x < 0) { + s = '-'; + x = -x; + } + if (x > 1e-21) { + e = log(x * pow(2, 69, 1)) - 69; + z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1); + z *= 0x10000000000000; + e = 52 - e; + if (e > 0) { + multiply(0, z); + j = f; + while (j >= 7) { + multiply(1e7, 0); + j -= 7; + } + multiply(pow(10, j, 1), 0); + j = e - 1; + while (j >= 23) { + divide(1 << 23); + j -= 23; + } + divide(1 << j); + multiply(1, 1); + divide(2); + m = numToString(); + } else { + multiply(0, z); + multiply(1 << -e, 0); + m = numToString() + repeat.call(ZERO, f); + } + } + if (f > 0) { + k = m.length; + m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f)); + } else { + m = s + m; + }return m; + } + }); + }); + + interopDefault(es6_number_toFixed); + + var es6_number_toPrecision = createCommonjsModule(function (module) { + 'use strict'; + + var $export = interopDefault(require$$1$2), + $fails = interopDefault(require$$1$1), + aNumberValue = interopDefault(require$$0$20), + $toPrecision = 1..toPrecision; + + $export($export.P + $export.F * ($fails(function () { + // IE7- + return $toPrecision.call(1, undefined) !== '1'; + }) || !$fails(function () { + // V8 ~ Android 4.3- + $toPrecision.call({}); + })), 'Number', { + toPrecision: function toPrecision(precision) { + var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!'); + return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision); + } + }); + }); + + interopDefault(es6_number_toPrecision); + + var es6_number_epsilon = createCommonjsModule(function (module) { + // 20.1.2.1 Number.EPSILON + var $export = interopDefault(require$$1$2); + + $export($export.S, 'Number', { EPSILON: Math.pow(2, -52) }); + }); + + interopDefault(es6_number_epsilon); + + var es6_number_isFinite = createCommonjsModule(function (module) { + // 20.1.2.2 Number.isFinite(number) + var $export = interopDefault(require$$1$2), + _isFinite = interopDefault(require$$3).isFinite; + + $export($export.S, 'Number', { + isFinite: function isFinite(it) { + return typeof it == 'number' && _isFinite(it); + } + }); + }); + + interopDefault(es6_number_isFinite); + + var _isInteger = createCommonjsModule(function (module) { + // 20.1.2.3 Number.isInteger(number) + var isObject = interopDefault(require$$0$1), + floor = Math.floor; + module.exports = function isInteger(it) { + return !isObject(it) && isFinite(it) && floor(it) === it; + }; + }); + + var _isInteger$1 = interopDefault(_isInteger); + +var require$$0$21 = Object.freeze({ + default: _isInteger$1 + }); + + var es6_number_isInteger = createCommonjsModule(function (module) { + // 20.1.2.3 Number.isInteger(number) + var $export = interopDefault(require$$1$2); + + $export($export.S, 'Number', { isInteger: interopDefault(require$$0$21) }); + }); + + interopDefault(es6_number_isInteger); + + var es6_number_isNan = createCommonjsModule(function (module) { + // 20.1.2.4 Number.isNaN(number) + var $export = interopDefault(require$$1$2); + + $export($export.S, 'Number', { + isNaN: function isNaN(number) { + return number != number; + } + }); + }); + + interopDefault(es6_number_isNan); + + var es6_number_isSafeInteger = createCommonjsModule(function (module) { + // 20.1.2.5 Number.isSafeInteger(number) + var $export = interopDefault(require$$1$2), + isInteger = interopDefault(require$$0$21), + abs = Math.abs; + + $export($export.S, 'Number', { + isSafeInteger: function isSafeInteger(number) { + return isInteger(number) && abs(number) <= 0x1fffffffffffff; + } + }); + }); + + interopDefault(es6_number_isSafeInteger); + + var es6_number_maxSafeInteger = createCommonjsModule(function (module) { + // 20.1.2.6 Number.MAX_SAFE_INTEGER + var $export = interopDefault(require$$1$2); + + $export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff }); + }); + + interopDefault(es6_number_maxSafeInteger); + + var es6_number_minSafeInteger = createCommonjsModule(function (module) { + // 20.1.2.10 Number.MIN_SAFE_INTEGER + var $export = interopDefault(require$$1$2); + + $export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff }); + }); + + interopDefault(es6_number_minSafeInteger); + + var es6_number_parseFloat = createCommonjsModule(function (module) { + var $export = interopDefault(require$$1$2), + $parseFloat = interopDefault(require$$0$18); + // 20.1.2.12 Number.parseFloat(string) + $export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat }); + }); + + interopDefault(es6_number_parseFloat); + + var es6_number_parseInt = createCommonjsModule(function (module) { + var $export = interopDefault(require$$1$2), + $parseInt = interopDefault(require$$0$15); + // 20.1.2.13 Number.parseInt(string, radix) + $export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt }); + }); + + interopDefault(es6_number_parseInt); + + var _mathLog1p = createCommonjsModule(function (module) { + // 20.2.2.20 Math.log1p(x) + module.exports = Math.log1p || function log1p(x) { + return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x); + }; + }); + + var _mathLog1p$1 = interopDefault(_mathLog1p); + +var require$$0$22 = Object.freeze({ + default: _mathLog1p$1 + }); + + var es6_math_acosh = createCommonjsModule(function (module) { + // 20.2.2.3 Math.acosh(x) + var $export = interopDefault(require$$1$2), + log1p = interopDefault(require$$0$22), + sqrt = Math.sqrt, + $acosh = Math.acosh; + + $export($export.S + $export.F * !($acosh + // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509 + && Math.floor($acosh(Number.MAX_VALUE)) == 710 + // Tor Browser bug: Math.acosh(Infinity) -> NaN + && $acosh(Infinity) == Infinity), 'Math', { + acosh: function acosh(x) { + return (x = +x) < 1 ? NaN : x > 94906265.62425156 ? Math.log(x) + Math.LN2 : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1)); + } + }); + }); + + interopDefault(es6_math_acosh); + + var es6_math_asinh = createCommonjsModule(function (module) { + // 20.2.2.5 Math.asinh(x) + var $export = interopDefault(require$$1$2), + $asinh = Math.asinh; + + function asinh(x) { + return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1)); + } + + // Tor Browser bug: Math.asinh(0) -> -0 + $export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh }); + }); + + interopDefault(es6_math_asinh); + + var es6_math_atanh = createCommonjsModule(function (module) { + // 20.2.2.7 Math.atanh(x) + var $export = interopDefault(require$$1$2), + $atanh = Math.atanh; + + // Tor Browser bug: Math.atanh(-0) -> 0 + $export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', { + atanh: function atanh(x) { + return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2; + } + }); + }); + + interopDefault(es6_math_atanh); + + var _mathSign = createCommonjsModule(function (module) { + // 20.2.2.28 Math.sign(x) + module.exports = Math.sign || function sign(x) { + return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1; + }; + }); + + var _mathSign$1 = interopDefault(_mathSign); + +var require$$0$23 = Object.freeze({ + default: _mathSign$1 + }); + + var es6_math_cbrt = createCommonjsModule(function (module) { + // 20.2.2.9 Math.cbrt(x) + var $export = interopDefault(require$$1$2), + sign = interopDefault(require$$0$23); + + $export($export.S, 'Math', { + cbrt: function cbrt(x) { + return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3); + } + }); + }); + + interopDefault(es6_math_cbrt); + + var es6_math_clz32 = createCommonjsModule(function (module) { + // 20.2.2.11 Math.clz32(x) + var $export = interopDefault(require$$1$2); + + $export($export.S, 'Math', { + clz32: function clz32(x) { + return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32; + } + }); + }); + + interopDefault(es6_math_clz32); + + var es6_math_cosh = createCommonjsModule(function (module) { + // 20.2.2.12 Math.cosh(x) + var $export = interopDefault(require$$1$2), + exp = Math.exp; + + $export($export.S, 'Math', { + cosh: function cosh(x) { + return (exp(x = +x) + exp(-x)) / 2; + } + }); + }); + + interopDefault(es6_math_cosh); + + var _mathExpm1 = createCommonjsModule(function (module) { + // 20.2.2.14 Math.expm1(x) + var $expm1 = Math.expm1; + module.exports = !$expm1 + // Old FF bug + || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168 + // Tor Browser bug + || $expm1(-2e-17) != -2e-17 ? function expm1(x) { + return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1; + } : $expm1; + }); + + var _mathExpm1$1 = interopDefault(_mathExpm1); + +var require$$0$24 = Object.freeze({ + default: _mathExpm1$1 + }); + + var es6_math_expm1 = createCommonjsModule(function (module) { + // 20.2.2.14 Math.expm1(x) + var $export = interopDefault(require$$1$2), + $expm1 = interopDefault(require$$0$24); + + $export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 }); + }); + + interopDefault(es6_math_expm1); + + var es6_math_fround = createCommonjsModule(function (module) { + // 20.2.2.16 Math.fround(x) + var $export = interopDefault(require$$1$2), + sign = interopDefault(require$$0$23), + pow = Math.pow, + EPSILON = pow(2, -52), + EPSILON32 = pow(2, -23), + MAX32 = pow(2, 127) * (2 - EPSILON32), + MIN32 = pow(2, -126); + + var roundTiesToEven = function roundTiesToEven(n) { + return n + 1 / EPSILON - 1 / EPSILON; + }; + + $export($export.S, 'Math', { + fround: function fround(x) { + var $abs = Math.abs(x), + $sign = sign(x), + a, + result; + if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32; + a = (1 + EPSILON32 / EPSILON) * $abs; + result = a - (a - $abs); + if (result > MAX32 || result != result) return $sign * Infinity; + return $sign * result; + } + }); + }); + + interopDefault(es6_math_fround); + + var es6_math_hypot = createCommonjsModule(function (module) { + // 20.2.2.17 Math.hypot([value1[, value2[, … ]]]) + var $export = interopDefault(require$$1$2), + abs = Math.abs; + + $export($export.S, 'Math', { + hypot: function hypot(value1, value2) { + // eslint-disable-line no-unused-vars + var sum = 0, + i = 0, + aLen = arguments.length, + larg = 0, + arg, + div; + while (i < aLen) { + arg = abs(arguments[i++]); + if (larg < arg) { + div = larg / arg; + sum = sum * div * div + 1; + larg = arg; + } else if (arg > 0) { + div = arg / larg; + sum += div * div; + } else sum += arg; + } + return larg === Infinity ? Infinity : larg * Math.sqrt(sum); + } + }); + }); + + interopDefault(es6_math_hypot); + + var es6_math_imul = createCommonjsModule(function (module) { + // 20.2.2.18 Math.imul(x, y) + var $export = interopDefault(require$$1$2), + $imul = Math.imul; + + // some WebKit versions fails with big numbers, some has wrong arity + $export($export.S + $export.F * interopDefault(require$$1$1)(function () { + return $imul(0xffffffff, 5) != -5 || $imul.length != 2; + }), 'Math', { + imul: function imul(x, y) { + var UINT16 = 0xffff, + xn = +x, + yn = +y, + xl = UINT16 & xn, + yl = UINT16 & yn; + return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0); + } + }); + }); + + interopDefault(es6_math_imul); + + var es6_math_log10 = createCommonjsModule(function (module) { + // 20.2.2.21 Math.log10(x) + var $export = interopDefault(require$$1$2); + + $export($export.S, 'Math', { + log10: function log10(x) { + return Math.log(x) / Math.LN10; + } + }); + }); + + interopDefault(es6_math_log10); + + var es6_math_log1p = createCommonjsModule(function (module) { + // 20.2.2.20 Math.log1p(x) + var $export = interopDefault(require$$1$2); + + $export($export.S, 'Math', { log1p: interopDefault(require$$0$22) }); + }); + + interopDefault(es6_math_log1p); + + var es6_math_log2 = createCommonjsModule(function (module) { + // 20.2.2.22 Math.log2(x) + var $export = interopDefault(require$$1$2); + + $export($export.S, 'Math', { + log2: function log2(x) { + return Math.log(x) / Math.LN2; + } + }); + }); + + interopDefault(es6_math_log2); + + var es6_math_sign = createCommonjsModule(function (module) { + // 20.2.2.28 Math.sign(x) + var $export = interopDefault(require$$1$2); + + $export($export.S, 'Math', { sign: interopDefault(require$$0$23) }); + }); + + interopDefault(es6_math_sign); + + var es6_math_sinh = createCommonjsModule(function (module) { + // 20.2.2.30 Math.sinh(x) + var $export = interopDefault(require$$1$2), + expm1 = interopDefault(require$$0$24), + exp = Math.exp; + + // V8 near Chromium 38 has a problem with very small numbers + $export($export.S + $export.F * interopDefault(require$$1$1)(function () { + return !Math.sinh(-2e-17) != -2e-17; + }), 'Math', { + sinh: function sinh(x) { + return Math.abs(x = +x) < 1 ? (expm1(x) - expm1(-x)) / 2 : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2); + } + }); + }); + + interopDefault(es6_math_sinh); + + var es6_math_tanh = createCommonjsModule(function (module) { + // 20.2.2.33 Math.tanh(x) + var $export = interopDefault(require$$1$2), + expm1 = interopDefault(require$$0$24), + exp = Math.exp; + + $export($export.S, 'Math', { + tanh: function tanh(x) { + var a = expm1(x = +x), + b = expm1(-x); + return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x)); + } + }); + }); + + interopDefault(es6_math_tanh); + + var es6_math_trunc = createCommonjsModule(function (module) { + // 20.2.2.34 Math.trunc(x) + var $export = interopDefault(require$$1$2); + + $export($export.S, 'Math', { + trunc: function trunc(it) { + return (it > 0 ? Math.floor : Math.ceil)(it); + } + }); + }); + + interopDefault(es6_math_trunc); + + var es6_string_fromCodePoint = createCommonjsModule(function (module) { + var $export = interopDefault(require$$1$2), + toIndex = interopDefault(require$$24), + fromCharCode = String.fromCharCode, + $fromCodePoint = String.fromCodePoint; + + // length should be 1, old FF problem + $export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', { + // 21.1.2.2 String.fromCodePoint(...codePoints) + fromCodePoint: function fromCodePoint(x) { + // eslint-disable-line no-unused-vars + var res = [], + aLen = arguments.length, + i = 0, + code; + while (aLen > i) { + code = +arguments[i++]; + if (toIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point'); + res.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)); + }return res.join(''); + } + }); + }); + + interopDefault(es6_string_fromCodePoint); + + var es6_string_raw = createCommonjsModule(function (module) { + var $export = interopDefault(require$$1$2), + toIObject = interopDefault(require$$1$7), + toLength = interopDefault(require$$3$1); + + $export($export.S, 'String', { + // 21.1.2.4 String.raw(callSite, ...substitutions) + raw: function raw(callSite) { + var tpl = toIObject(callSite.raw), + len = toLength(tpl.length), + aLen = arguments.length, + res = [], + i = 0; + while (len > i) { + res.push(String(tpl[i++])); + if (i < aLen) res.push(String(arguments[i])); + }return res.join(''); + } + }); + }); + + interopDefault(es6_string_raw); + + var es6_string_trim = createCommonjsModule(function (module) { + 'use strict'; + // 21.1.3.25 String.prototype.trim() + + interopDefault(require$$0$16)('trim', function ($trim) { + return function trim() { + return $trim(this, 3); + }; + }); + }); + + interopDefault(es6_string_trim); + + var _stringAt = createCommonjsModule(function (module) { + var toInteger = interopDefault(require$$26), + defined = interopDefault(require$$4$3); + // true -> String#at + // false -> String#codePointAt + module.exports = function (TO_STRING) { + return function (that, pos) { + var s = String(defined(that)), + i = toInteger(pos), + l = s.length, + a, + b; + if (i < 0 || i >= l) return TO_STRING ? '' : undefined; + a = s.charCodeAt(i); + return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff ? TO_STRING ? s.charAt(i) : a : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; + }; + }; + }); + + var _stringAt$1 = interopDefault(_stringAt); + +var require$$0$25 = Object.freeze({ + default: _stringAt$1 + }); + + var _iterators = createCommonjsModule(function (module) { + module.exports = {}; + }); + + var _iterators$1 = interopDefault(_iterators); + +var require$$1$15 = Object.freeze({ + default: _iterators$1 + }); + + var _iterCreate = createCommonjsModule(function (module) { + 'use strict'; + + var create = interopDefault(require$$6$1), + descriptor = interopDefault(require$$2$3), + setToStringTag = interopDefault(require$$0$3), + IteratorPrototype = {}; + + // 25.1.2.1.1 %IteratorPrototype%[@@iterator]() + interopDefault(require$$2)(IteratorPrototype, interopDefault(require$$0$4)('iterator'), function () { + return this; + }); + + module.exports = function (Constructor, NAME, next) { + Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) }); + setToStringTag(Constructor, NAME + ' Iterator'); + }; + }); + + var _iterCreate$1 = interopDefault(_iterCreate); + +var require$$0$26 = Object.freeze({ + default: _iterCreate$1 + }); + + var _iterDefine = createCommonjsModule(function (module) { + 'use strict'; + + var LIBRARY = interopDefault(require$$2$4), + $export = interopDefault(require$$1$2), + redefine = interopDefault(require$$4$2), + hide = interopDefault(require$$2), + has = interopDefault(require$$4), + Iterators = interopDefault(require$$1$15), + $iterCreate = interopDefault(require$$0$26), + setToStringTag = interopDefault(require$$0$3), + getPrototypeOf = interopDefault(require$$0$13), + ITERATOR = interopDefault(require$$0$4)('iterator'), + BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next` + , + FF_ITERATOR = '@@iterator', + KEYS = 'keys', + VALUES = 'values'; + + var returnThis = function returnThis() { + return this; + }; + + module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) { + $iterCreate(Constructor, NAME, next); + var getMethod = function getMethod(kind) { + if (!BUGGY && kind in proto) return proto[kind]; + switch (kind) { + case KEYS: + return function keys() { + return new Constructor(this, kind); + }; + case VALUES: + return function values() { + return new Constructor(this, kind); + }; + }return function entries() { + return new Constructor(this, kind); + }; + }; + var TAG = NAME + ' Iterator', + DEF_VALUES = DEFAULT == VALUES, + VALUES_BUG = false, + proto = Base.prototype, + $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT], + $default = $native || getMethod(DEFAULT), + $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined, + $anyNative = NAME == 'Array' ? proto.entries || $native : $native, + methods, + key, + IteratorPrototype; + // Fix native + if ($anyNative) { + IteratorPrototype = getPrototypeOf($anyNative.call(new Base())); + if (IteratorPrototype !== Object.prototype) { + // Set @@toStringTag to native iterators + setToStringTag(IteratorPrototype, TAG, true); + // fix for some old engines + if (!LIBRARY && !has(IteratorPrototype, ITERATOR)) hide(IteratorPrototype, ITERATOR, returnThis); + } + } + // fix Array#{values, @@iterator}.name in V8 / FF + if (DEF_VALUES && $native && $native.name !== VALUES) { + VALUES_BUG = true; + $default = function values() { + return $native.call(this); + }; + } + // Define iterator + if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) { + hide(proto, ITERATOR, $default); + } + // Plug for library + Iterators[NAME] = $default; + Iterators[TAG] = returnThis; + if (DEFAULT) { + methods = { + values: DEF_VALUES ? $default : getMethod(VALUES), + keys: IS_SET ? $default : getMethod(KEYS), + entries: $entries + }; + if (FORCED) for (key in methods) { + if (!(key in proto)) redefine(proto, key, methods[key]); + } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods); + } + return methods; + }; + }); + + var _iterDefine$1 = interopDefault(_iterDefine); + +var require$$4$4 = Object.freeze({ + default: _iterDefine$1 + }); + + var es6_string_iterator = createCommonjsModule(function (module) { + 'use strict'; + + var $at = interopDefault(require$$0$25)(true); + + // 21.1.3.27 String.prototype[@@iterator]() + interopDefault(require$$4$4)(String, 'String', function (iterated) { + this._t = String(iterated); // target + this._i = 0; // next index + // 21.1.5.2.1 %StringIteratorPrototype%.next() + }, function () { + var O = this._t, + index = this._i, + point; + if (index >= O.length) return { value: undefined, done: true }; + point = $at(O, index); + this._i += point.length; + return { value: point, done: false }; + }); + }); + + interopDefault(es6_string_iterator); + + var es6_string_codePointAt = createCommonjsModule(function (module) { + 'use strict'; + + var $export = interopDefault(require$$1$2), + $at = interopDefault(require$$0$25)(false); + $export($export.P, 'String', { + // 21.1.3.3 String.prototype.codePointAt(pos) + codePointAt: function codePointAt(pos) { + return $at(this, pos); + } + }); + }); + + interopDefault(es6_string_codePointAt); + + var _isRegexp = createCommonjsModule(function (module) { + // 7.2.8 IsRegExp(argument) + var isObject = interopDefault(require$$0$1), + cof = interopDefault(require$$0$6), + MATCH = interopDefault(require$$0$4)('match'); + module.exports = function (it) { + var isRegExp; + return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp'); + }; + }); + + var _isRegexp$1 = interopDefault(_isRegexp); + +var require$$2$8 = Object.freeze({ + default: _isRegexp$1 + }); + + var _stringContext = createCommonjsModule(function (module) { + // helper for String#{startsWith, endsWith, includes} + var isRegExp = interopDefault(require$$2$8), + defined = interopDefault(require$$4$3); + + module.exports = function (that, searchString, NAME) { + if (isRegExp(searchString)) throw TypeError('String#' + NAME + " doesn't accept regex!"); + return String(defined(that)); + }; + }); + + var _stringContext$1 = interopDefault(_stringContext); + +var require$$1$16 = Object.freeze({ + default: _stringContext$1 + }); + + var _failsIsRegexp = createCommonjsModule(function (module) { + var MATCH = interopDefault(require$$0$4)('match'); + module.exports = function (KEY) { + var re = /./; + try { + '/./'[KEY](re); + } catch (e) { + try { + re[MATCH] = false; + return !'/./'[KEY](re); + } catch (f) {/* empty */} + }return true; + }; + }); + + var _failsIsRegexp$1 = interopDefault(_failsIsRegexp); + +var require$$0$27 = Object.freeze({ + default: _failsIsRegexp$1 + }); + + var es6_string_endsWith = createCommonjsModule(function (module) { + // 21.1.3.6 String.prototype.endsWith(searchString [, endPosition]) + 'use strict'; + + var $export = interopDefault(require$$1$2), + toLength = interopDefault(require$$3$1), + context = interopDefault(require$$1$16), + ENDS_WITH = 'endsWith', + $endsWith = ''[ENDS_WITH]; + + $export($export.P + $export.F * interopDefault(require$$0$27)(ENDS_WITH), 'String', { + endsWith: function endsWith(searchString /*, endPosition = @length */) { + var that = context(this, searchString, ENDS_WITH), + endPosition = arguments.length > 1 ? arguments[1] : undefined, + len = toLength(that.length), + end = endPosition === undefined ? len : Math.min(toLength(endPosition), len), + search = String(searchString); + return $endsWith ? $endsWith.call(that, search, end) : that.slice(end - search.length, end) === search; + } + }); + }); + + interopDefault(es6_string_endsWith); + + var es6_string_includes = createCommonjsModule(function (module) { + // 21.1.3.7 String.prototype.includes(searchString, position = 0) + 'use strict'; + + var $export = interopDefault(require$$1$2), + context = interopDefault(require$$1$16), + INCLUDES = 'includes'; + + $export($export.P + $export.F * interopDefault(require$$0$27)(INCLUDES), 'String', { + includes: function includes(searchString /*, position = 0 */) { + return !!~context(this, searchString, INCLUDES).indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined); + } + }); + }); + + interopDefault(es6_string_includes); + + var es6_string_repeat = createCommonjsModule(function (module) { + var $export = interopDefault(require$$1$2); + + $export($export.P, 'String', { + // 21.1.3.13 String.prototype.repeat(count) + repeat: interopDefault(require$$1$14) + }); + }); + + interopDefault(es6_string_repeat); + + var es6_string_startsWith = createCommonjsModule(function (module) { + // 21.1.3.18 String.prototype.startsWith(searchString [, position ]) + 'use strict'; + + var $export = interopDefault(require$$1$2), + toLength = interopDefault(require$$3$1), + context = interopDefault(require$$1$16), + STARTS_WITH = 'startsWith', + $startsWith = ''[STARTS_WITH]; + + $export($export.P + $export.F * interopDefault(require$$0$27)(STARTS_WITH), 'String', { + startsWith: function startsWith(searchString /*, position = 0 */) { + var that = context(this, searchString, STARTS_WITH), + index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length)), + search = String(searchString); + return $startsWith ? $startsWith.call(that, search, index) : that.slice(index, index + search.length) === search; + } + }); + }); + + interopDefault(es6_string_startsWith); + + var _stringHtml = createCommonjsModule(function (module) { + var $export = interopDefault(require$$1$2), + fails = interopDefault(require$$1$1), + defined = interopDefault(require$$4$3), + quot = /"/g; + // B.2.3.2.1 CreateHTML(string, tag, attribute, value) + var createHTML = function createHTML(string, tag, attribute, value) { + var S = String(defined(string)), + p1 = '<' + tag; + if (attribute !== '') p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"'; + return p1 + '>' + S + ''; + }; + module.exports = function (NAME, exec) { + var O = {}; + O[NAME] = exec(createHTML); + $export($export.P + $export.F * fails(function () { + var test = ''[NAME]('"'); + return test !== test.toLowerCase() || test.split('"').length > 3; + }), 'String', O); + }; + }); + + var _stringHtml$1 = interopDefault(_stringHtml); + +var require$$0$28 = Object.freeze({ + default: _stringHtml$1 + }); + + var es6_string_anchor = createCommonjsModule(function (module) { + 'use strict'; + // B.2.3.2 String.prototype.anchor(name) + + interopDefault(require$$0$28)('anchor', function (createHTML) { + return function anchor(name) { + return createHTML(this, 'a', 'name', name); + }; + }); + }); + + interopDefault(es6_string_anchor); + + var es6_string_big = createCommonjsModule(function (module) { + 'use strict'; + // B.2.3.3 String.prototype.big() + + interopDefault(require$$0$28)('big', function (createHTML) { + return function big() { + return createHTML(this, 'big', '', ''); + }; + }); + }); + + interopDefault(es6_string_big); + + var es6_string_blink = createCommonjsModule(function (module) { + 'use strict'; + // B.2.3.4 String.prototype.blink() + + interopDefault(require$$0$28)('blink', function (createHTML) { + return function blink() { + return createHTML(this, 'blink', '', ''); + }; + }); + }); + + interopDefault(es6_string_blink); + + var es6_string_bold = createCommonjsModule(function (module) { + 'use strict'; + // B.2.3.5 String.prototype.bold() + + interopDefault(require$$0$28)('bold', function (createHTML) { + return function bold() { + return createHTML(this, 'b', '', ''); + }; + }); + }); + + interopDefault(es6_string_bold); + + var es6_string_fixed = createCommonjsModule(function (module) { + 'use strict'; + // B.2.3.6 String.prototype.fixed() + + interopDefault(require$$0$28)('fixed', function (createHTML) { + return function fixed() { + return createHTML(this, 'tt', '', ''); + }; + }); + }); + + interopDefault(es6_string_fixed); + + var es6_string_fontcolor = createCommonjsModule(function (module) { + 'use strict'; + // B.2.3.7 String.prototype.fontcolor(color) + + interopDefault(require$$0$28)('fontcolor', function (createHTML) { + return function fontcolor(color) { + return createHTML(this, 'font', 'color', color); + }; + }); + }); + + interopDefault(es6_string_fontcolor); + + var es6_string_fontsize = createCommonjsModule(function (module) { + 'use strict'; + // B.2.3.8 String.prototype.fontsize(size) + + interopDefault(require$$0$28)('fontsize', function (createHTML) { + return function fontsize(size) { + return createHTML(this, 'font', 'size', size); + }; + }); + }); + + interopDefault(es6_string_fontsize); + + var es6_string_italics = createCommonjsModule(function (module) { + 'use strict'; + // B.2.3.9 String.prototype.italics() + + interopDefault(require$$0$28)('italics', function (createHTML) { + return function italics() { + return createHTML(this, 'i', '', ''); + }; + }); + }); + + interopDefault(es6_string_italics); + + var es6_string_link = createCommonjsModule(function (module) { + 'use strict'; + // B.2.3.10 String.prototype.link(url) + + interopDefault(require$$0$28)('link', function (createHTML) { + return function link(url) { + return createHTML(this, 'a', 'href', url); + }; + }); + }); + + interopDefault(es6_string_link); + + var es6_string_small = createCommonjsModule(function (module) { + 'use strict'; + // B.2.3.11 String.prototype.small() + + interopDefault(require$$0$28)('small', function (createHTML) { + return function small() { + return createHTML(this, 'small', '', ''); + }; + }); + }); + + interopDefault(es6_string_small); + + var es6_string_strike = createCommonjsModule(function (module) { + 'use strict'; + // B.2.3.12 String.prototype.strike() + + interopDefault(require$$0$28)('strike', function (createHTML) { + return function strike() { + return createHTML(this, 'strike', '', ''); + }; + }); + }); + + interopDefault(es6_string_strike); + + var es6_string_sub = createCommonjsModule(function (module) { + 'use strict'; + // B.2.3.13 String.prototype.sub() + + interopDefault(require$$0$28)('sub', function (createHTML) { + return function sub() { + return createHTML(this, 'sub', '', ''); + }; + }); + }); + + interopDefault(es6_string_sub); + + var es6_string_sup = createCommonjsModule(function (module) { + 'use strict'; + // B.2.3.14 String.prototype.sup() + + interopDefault(require$$0$28)('sup', function (createHTML) { + return function sup() { + return createHTML(this, 'sup', '', ''); + }; + }); + }); + + interopDefault(es6_string_sup); + + var es6_date_now = createCommonjsModule(function (module) { + // 20.3.3.1 / 15.9.4.4 Date.now() + var $export = interopDefault(require$$1$2); + + $export($export.S, 'Date', { now: function now() { + return new Date().getTime(); + } }); + }); + + interopDefault(es6_date_now); + + var es6_date_toJson = createCommonjsModule(function (module) { + 'use strict'; + + var $export = interopDefault(require$$1$2), + toObject = interopDefault(require$$5$1), + toPrimitive = interopDefault(require$$4$1); + + $export($export.P + $export.F * interopDefault(require$$1$1)(function () { + return new Date(NaN).toJSON() !== null || Date.prototype.toJSON.call({ toISOString: function toISOString() { + return 1; + } }) !== 1; + }), 'Date', { + toJSON: function toJSON(key) { + var O = toObject(this), + pv = toPrimitive(O); + return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString(); + } + }); + }); + + interopDefault(es6_date_toJson); + + var es6_date_toIsoString = createCommonjsModule(function (module) { + 'use strict'; + // 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString() + + var $export = interopDefault(require$$1$2), + fails = interopDefault(require$$1$1), + getTime = Date.prototype.getTime; + + var lz = function lz(num) { + return num > 9 ? num : '0' + num; + }; + + // PhantomJS / old WebKit has a broken implementations + $export($export.P + $export.F * (fails(function () { + return new Date(-5e13 - 1).toISOString() != '0385-07-25T07:06:39.999Z'; + }) || !fails(function () { + new Date(NaN).toISOString(); + })), 'Date', { + toISOString: function toISOString() { + if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value'); + var d = this, + y = d.getUTCFullYear(), + m = d.getUTCMilliseconds(), + s = y < 0 ? '-' : y > 9999 ? '+' : ''; + return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) + '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) + 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) + ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z'; + } + }); + }); + + interopDefault(es6_date_toIsoString); + + var es6_date_toString = createCommonjsModule(function (module) { + var DateProto = Date.prototype, + INVALID_DATE = 'Invalid Date', + TO_STRING = 'toString', + $toString = DateProto[TO_STRING], + getTime = DateProto.getTime; + if (new Date(NaN) + '' != INVALID_DATE) { + interopDefault(require$$4$2)(DateProto, TO_STRING, function toString() { + var value = getTime.call(this); + return value === value ? $toString.call(this) : INVALID_DATE; + }); + } + }); + + interopDefault(es6_date_toString); + + var _dateToPrimitive = createCommonjsModule(function (module) { + 'use strict'; + + var anObject = interopDefault(require$$5), + toPrimitive = interopDefault(require$$4$1), + NUMBER = 'number'; + + module.exports = function (hint) { + if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint'); + return toPrimitive(anObject(this), hint != NUMBER); + }; + }); + + var _dateToPrimitive$1 = interopDefault(_dateToPrimitive); + +var require$$0$29 = Object.freeze({ + default: _dateToPrimitive$1 + }); + + var es6_date_toPrimitive = createCommonjsModule(function (module) { + var TO_PRIMITIVE = interopDefault(require$$0$4)('toPrimitive'), + proto = Date.prototype; + + if (!(TO_PRIMITIVE in proto)) interopDefault(require$$2)(proto, TO_PRIMITIVE, interopDefault(require$$0$29)); + }); + + interopDefault(es6_date_toPrimitive); + + var es6_array_isArray = createCommonjsModule(function (module) { + // 22.1.2.2 / 15.4.3.2 Array.isArray(arg) + var $export = interopDefault(require$$1$2); + + $export($export.S, 'Array', { isArray: interopDefault(require$$1$10) }); + }); + + interopDefault(es6_array_isArray); + + var _iterCall = createCommonjsModule(function (module) { + // call something on iterator step with safe closing on error + var anObject = interopDefault(require$$5); + module.exports = function (iterator, fn, value, entries) { + try { + return entries ? fn(anObject(value)[0], value[1]) : fn(value); + // 7.4.6 IteratorClose(iterator, completion) + } catch (e) { + var ret = iterator['return']; + if (ret !== undefined) anObject(ret.call(iterator)); + throw e; + } + }; + }); + + var _iterCall$1 = interopDefault(_iterCall); + +var require$$4$5 = Object.freeze({ + default: _iterCall$1 + }); + + var _isArrayIter = createCommonjsModule(function (module) { + // check on default Array iterator + var Iterators = interopDefault(require$$1$15), + ITERATOR = interopDefault(require$$0$4)('iterator'), + ArrayProto = Array.prototype; + + module.exports = function (it) { + return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it); + }; + }); + + var _isArrayIter$1 = interopDefault(_isArrayIter); + +var require$$17 = Object.freeze({ + default: _isArrayIter$1 + }); + + var _createProperty = createCommonjsModule(function (module) { + 'use strict'; + + var $defineProperty = interopDefault(require$$2$1), + createDesc = interopDefault(require$$2$3); + + module.exports = function (object, index, value) { + if (index in object) $defineProperty.f(object, index, createDesc(0, value));else object[index] = value; + }; + }); + + var _createProperty$1 = interopDefault(_createProperty); + +var require$$0$30 = Object.freeze({ + default: _createProperty$1 + }); + + var core_getIteratorMethod = createCommonjsModule(function (module) { + var classof = interopDefault(require$$1$11), + ITERATOR = interopDefault(require$$0$4)('iterator'), + Iterators = interopDefault(require$$1$15); + module.exports = interopDefault(require$$0).getIteratorMethod = function (it) { + if (it != undefined) return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)]; + }; + }); + + var core_getIteratorMethod$1 = interopDefault(core_getIteratorMethod); + +var require$$13 = Object.freeze({ + default: core_getIteratorMethod$1 + }); + + var _iterDetect = createCommonjsModule(function (module) { + var ITERATOR = interopDefault(require$$0$4)('iterator'), + SAFE_CLOSING = false; + + try { + var riter = [7][ITERATOR](); + riter['return'] = function () { + SAFE_CLOSING = true; + }; + Array.from(riter, function () { + throw 2; + }); + } catch (e) {/* empty */} + + module.exports = function (exec, skipClosing) { + if (!skipClosing && !SAFE_CLOSING) return false; + var safe = false; + try { + var arr = [7], + iter = arr[ITERATOR](); + iter.next = function () { + return { done: safe = true }; + }; + arr[ITERATOR] = function () { + return iter; + }; + exec(arr); + } catch (e) {/* empty */} + return safe; + }; + }); + + var _iterDetect$1 = interopDefault(_iterDetect); + +var require$$5$2 = Object.freeze({ + default: _iterDetect$1 + }); + + var es6_array_from = createCommonjsModule(function (module) { + 'use strict'; + + var ctx = interopDefault(require$$31), + $export = interopDefault(require$$1$2), + toObject = interopDefault(require$$5$1), + call = interopDefault(require$$4$5), + isArrayIter = interopDefault(require$$17), + toLength = interopDefault(require$$3$1), + createProperty = interopDefault(require$$0$30), + getIterFn = interopDefault(require$$13); + + $export($export.S + $export.F * !interopDefault(require$$5$2)(function (iter) { + Array.from(iter); + }), 'Array', { + // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined) + from: function from(arrayLike /*, mapfn = undefined, thisArg = undefined*/) { + var O = toObject(arrayLike), + C = typeof this == 'function' ? this : Array, + aLen = arguments.length, + mapfn = aLen > 1 ? arguments[1] : undefined, + mapping = mapfn !== undefined, + index = 0, + iterFn = getIterFn(O), + length, + result, + step, + iterator; + if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2); + // if object isn't iterable or it's array with default iterator - use simple case + if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) { + for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) { + createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value); + } + } else { + length = toLength(O.length); + for (result = new C(length); length > index; index++) { + createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]); + } + } + result.length = index; + return result; + } + }); + }); + + interopDefault(es6_array_from); + + var es6_array_of = createCommonjsModule(function (module) { + 'use strict'; + + var $export = interopDefault(require$$1$2), + createProperty = interopDefault(require$$0$30); + + // WebKit Array.of isn't generic + $export($export.S + $export.F * interopDefault(require$$1$1)(function () { + function F() {} + return !(Array.of.call(F) instanceof F); + }), 'Array', { + // 22.1.2.3 Array.of( ...items) + of: function of() /* ...args */{ + var index = 0, + aLen = arguments.length, + result = new (typeof this == 'function' ? this : Array)(aLen); + while (aLen > index) { + createProperty(result, index, arguments[index++]); + }result.length = aLen; + return result; + } + }); + }); + + interopDefault(es6_array_of); + + var _strictMethod = createCommonjsModule(function (module) { + var fails = interopDefault(require$$1$1); + + module.exports = function (method, arg) { + return !!method && fails(function () { + arg ? method.call(null, function () {}, 1) : method.call(null); + }); + }; + }); + + var _strictMethod$1 = interopDefault(_strictMethod); + +var require$$0$31 = Object.freeze({ + default: _strictMethod$1 + }); + + var es6_array_join = createCommonjsModule(function (module) { + 'use strict'; + // 22.1.3.13 Array.prototype.join(separator) + + var $export = interopDefault(require$$1$2), + toIObject = interopDefault(require$$1$7), + arrayJoin = [].join; + + // fallback for not array-like strings + $export($export.P + $export.F * (interopDefault(require$$1$8) != Object || !interopDefault(require$$0$31)(arrayJoin)), 'Array', { + join: function join(separator) { + return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator); + } + }); + }); + + interopDefault(es6_array_join); + + var es6_array_slice = createCommonjsModule(function (module) { + 'use strict'; + + var $export = interopDefault(require$$1$2), + html = interopDefault(require$$3$2), + cof = interopDefault(require$$0$6), + toIndex = interopDefault(require$$24), + toLength = interopDefault(require$$3$1), + arraySlice = [].slice; + + // fallback for not array-like ES3 strings and DOM objects + $export($export.P + $export.F * interopDefault(require$$1$1)(function () { + if (html) arraySlice.call(html); + }), 'Array', { + slice: function slice(begin, end) { + var len = toLength(this.length), + klass = cof(this); + end = end === undefined ? len : end; + if (klass == 'Array') return arraySlice.call(this, begin, end); + var start = toIndex(begin, len), + upTo = toIndex(end, len), + size = toLength(upTo - start), + cloned = Array(size), + i = 0; + for (; i < size; i++) { + cloned[i] = klass == 'String' ? this.charAt(start + i) : this[start + i]; + }return cloned; + } + }); + }); + + interopDefault(es6_array_slice); + + var es6_array_sort = createCommonjsModule(function (module) { + 'use strict'; + + var $export = interopDefault(require$$1$2), + aFunction = interopDefault(require$$0$2), + toObject = interopDefault(require$$5$1), + fails = interopDefault(require$$1$1), + $sort = [].sort, + test = [1, 2, 3]; + + $export($export.P + $export.F * (fails(function () { + // IE8- + test.sort(undefined); + }) || !fails(function () { + // V8 bug + test.sort(null); + // Old WebKit + }) || !interopDefault(require$$0$31)($sort)), 'Array', { + // 22.1.3.25 Array.prototype.sort(comparefn) + sort: function sort(comparefn) { + return comparefn === undefined ? $sort.call(toObject(this)) : $sort.call(toObject(this), aFunction(comparefn)); + } + }); + }); + + interopDefault(es6_array_sort); + + var _arraySpeciesConstructor = createCommonjsModule(function (module) { + var isObject = interopDefault(require$$0$1), + isArray = interopDefault(require$$1$10), + SPECIES = interopDefault(require$$0$4)('species'); + + module.exports = function (original) { + var C; + if (isArray(original)) { + C = original.constructor; + // cross-realm fallback + if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined; + if (isObject(C)) { + C = C[SPECIES]; + if (C === null) C = undefined; + } + }return C === undefined ? Array : C; + }; + }); + + var _arraySpeciesConstructor$1 = interopDefault(_arraySpeciesConstructor); + +var require$$0$33 = Object.freeze({ + default: _arraySpeciesConstructor$1 + }); + + var _arraySpeciesCreate = createCommonjsModule(function (module) { + // 9.4.2.3 ArraySpeciesCreate(originalArray, length) + var speciesConstructor = interopDefault(require$$0$33); + + module.exports = function (original, length) { + return new (speciesConstructor(original))(length); + }; + }); + + var _arraySpeciesCreate$1 = interopDefault(_arraySpeciesCreate); + +var require$$0$32 = Object.freeze({ + default: _arraySpeciesCreate$1 + }); + + var _arrayMethods = createCommonjsModule(function (module) { + // 0 -> Array#forEach + // 1 -> Array#map + // 2 -> Array#filter + // 3 -> Array#some + // 4 -> Array#every + // 5 -> Array#find + // 6 -> Array#findIndex + var ctx = interopDefault(require$$31), + IObject = interopDefault(require$$1$8), + toObject = interopDefault(require$$5$1), + toLength = interopDefault(require$$3$1), + asc = interopDefault(require$$0$32); + module.exports = function (TYPE, $create) { + var IS_MAP = TYPE == 1, + IS_FILTER = TYPE == 2, + IS_SOME = TYPE == 3, + IS_EVERY = TYPE == 4, + IS_FIND_INDEX = TYPE == 6, + NO_HOLES = TYPE == 5 || IS_FIND_INDEX, + create = $create || asc; + return function ($this, callbackfn, that) { + var O = toObject($this), + self = IObject(O), + f = ctx(callbackfn, that, 3), + length = toLength(self.length), + index = 0, + result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined, + val, + res; + for (; length > index; index++) { + if (NO_HOLES || index in self) { + val = self[index]; + res = f(val, index, O); + if (TYPE) { + if (IS_MAP) result[index] = res; // map + else if (res) switch (TYPE) { + case 3: + return true; // some + case 5: + return val; // find + case 6: + return index; // findIndex + case 2: + result.push(val); // filter + } else if (IS_EVERY) return false; // every + } + } + }return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result; + }; + }; + }); + + var _arrayMethods$1 = interopDefault(_arrayMethods); + +var require$$10 = Object.freeze({ + default: _arrayMethods$1 + }); + + var es6_array_forEach = createCommonjsModule(function (module) { + 'use strict'; + + var $export = interopDefault(require$$1$2), + $forEach = interopDefault(require$$10)(0), + STRICT = interopDefault(require$$0$31)([].forEach, true); + + $export($export.P + $export.F * !STRICT, 'Array', { + // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg]) + forEach: function forEach(callbackfn /* , thisArg */) { + return $forEach(this, callbackfn, arguments[1]); + } + }); + }); + + interopDefault(es6_array_forEach); + + var es6_array_map = createCommonjsModule(function (module) { + 'use strict'; + + var $export = interopDefault(require$$1$2), + $map = interopDefault(require$$10)(1); + + $export($export.P + $export.F * !interopDefault(require$$0$31)([].map, true), 'Array', { + // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg]) + map: function map(callbackfn /* , thisArg */) { + return $map(this, callbackfn, arguments[1]); + } + }); + }); + + interopDefault(es6_array_map); + + var es6_array_filter = createCommonjsModule(function (module) { + 'use strict'; + + var $export = interopDefault(require$$1$2), + $filter = interopDefault(require$$10)(2); + + $export($export.P + $export.F * !interopDefault(require$$0$31)([].filter, true), 'Array', { + // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg]) + filter: function filter(callbackfn /* , thisArg */) { + return $filter(this, callbackfn, arguments[1]); + } + }); + }); + + interopDefault(es6_array_filter); + + var es6_array_some = createCommonjsModule(function (module) { + 'use strict'; + + var $export = interopDefault(require$$1$2), + $some = interopDefault(require$$10)(3); + + $export($export.P + $export.F * !interopDefault(require$$0$31)([].some, true), 'Array', { + // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg]) + some: function some(callbackfn /* , thisArg */) { + return $some(this, callbackfn, arguments[1]); + } + }); + }); + + interopDefault(es6_array_some); + + var es6_array_every = createCommonjsModule(function (module) { + 'use strict'; + + var $export = interopDefault(require$$1$2), + $every = interopDefault(require$$10)(4); + + $export($export.P + $export.F * !interopDefault(require$$0$31)([].every, true), 'Array', { + // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg]) + every: function every(callbackfn /* , thisArg */) { + return $every(this, callbackfn, arguments[1]); + } + }); + }); + + interopDefault(es6_array_every); + + var _arrayReduce = createCommonjsModule(function (module) { + var aFunction = interopDefault(require$$0$2), + toObject = interopDefault(require$$5$1), + IObject = interopDefault(require$$1$8), + toLength = interopDefault(require$$3$1); + + module.exports = function (that, callbackfn, aLen, memo, isRight) { + aFunction(callbackfn); + var O = toObject(that), + self = IObject(O), + length = toLength(O.length), + index = isRight ? length - 1 : 0, + i = isRight ? -1 : 1; + if (aLen < 2) for (;;) { + if (index in self) { + memo = self[index]; + index += i; + break; + } + index += i; + if (isRight ? index < 0 : length <= index) { + throw TypeError('Reduce of empty array with no initial value'); + } + } + for (; isRight ? index >= 0 : length > index; index += i) { + if (index in self) { + memo = callbackfn(memo, self[index], index, O); + } + }return memo; + }; + }); + + var _arrayReduce$1 = interopDefault(_arrayReduce); + +var require$$1$17 = Object.freeze({ + default: _arrayReduce$1 + }); + + var es6_array_reduce = createCommonjsModule(function (module) { + 'use strict'; + + var $export = interopDefault(require$$1$2), + $reduce = interopDefault(require$$1$17); + + $export($export.P + $export.F * !interopDefault(require$$0$31)([].reduce, true), 'Array', { + // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue]) + reduce: function reduce(callbackfn /* , initialValue */) { + return $reduce(this, callbackfn, arguments.length, arguments[1], false); + } + }); + }); + + interopDefault(es6_array_reduce); + + var es6_array_reduceRight = createCommonjsModule(function (module) { + 'use strict'; + + var $export = interopDefault(require$$1$2), + $reduce = interopDefault(require$$1$17); + + $export($export.P + $export.F * !interopDefault(require$$0$31)([].reduceRight, true), 'Array', { + // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue]) + reduceRight: function reduceRight(callbackfn /* , initialValue */) { + return $reduce(this, callbackfn, arguments.length, arguments[1], true); + } + }); + }); + + interopDefault(es6_array_reduceRight); + + var es6_array_indexOf = createCommonjsModule(function (module) { + 'use strict'; + + var $export = interopDefault(require$$1$2), + $indexOf = interopDefault(require$$1$9)(false), + $native = [].indexOf, + NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0; + + $export($export.P + $export.F * (NEGATIVE_ZERO || !interopDefault(require$$0$31)($native)), 'Array', { + // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex]) + indexOf: function indexOf(searchElement /*, fromIndex = 0 */) { + return NEGATIVE_ZERO + // convert -0 to +0 + ? $native.apply(this, arguments) || 0 : $indexOf(this, searchElement, arguments[1]); + } + }); + }); + + interopDefault(es6_array_indexOf); + + var es6_array_lastIndexOf = createCommonjsModule(function (module) { + 'use strict'; + + var $export = interopDefault(require$$1$2), + toIObject = interopDefault(require$$1$7), + toInteger = interopDefault(require$$26), + toLength = interopDefault(require$$3$1), + $native = [].lastIndexOf, + NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0; + + $export($export.P + $export.F * (NEGATIVE_ZERO || !interopDefault(require$$0$31)($native)), 'Array', { + // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex]) + lastIndexOf: function lastIndexOf(searchElement /*, fromIndex = @[*-1] */) { + // convert -0 to +0 + if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0; + var O = toIObject(this), + length = toLength(O.length), + index = length - 1; + if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1])); + if (index < 0) index = length + index; + for (; index >= 0; index--) { + if (index in O) if (O[index] === searchElement) return index || 0; + }return -1; + } + }); + }); + + interopDefault(es6_array_lastIndexOf); + + var _arrayCopyWithin = createCommonjsModule(function (module) { + // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) + 'use strict'; + + var toObject = interopDefault(require$$5$1), + toIndex = interopDefault(require$$24), + toLength = interopDefault(require$$3$1); + + module.exports = [].copyWithin || function copyWithin(target /*= 0*/, start /*= 0, end = @length*/) { + var O = toObject(this), + len = toLength(O.length), + to = toIndex(target, len), + from = toIndex(start, len), + end = arguments.length > 2 ? arguments[2] : undefined, + count = Math.min((end === undefined ? len : toIndex(end, len)) - from, len - to), + inc = 1; + if (from < to && to < from + count) { + inc = -1; + from += count - 1; + to += count - 1; + } + while (count-- > 0) { + if (from in O) O[to] = O[from];else delete O[to]; + to += inc; + from += inc; + }return O; + }; + }); + + var _arrayCopyWithin$1 = interopDefault(_arrayCopyWithin); + +var require$$2$9 = Object.freeze({ + default: _arrayCopyWithin$1 + }); + + var _addToUnscopables = createCommonjsModule(function (module) { + // 22.1.3.31 Array.prototype[@@unscopables] + var UNSCOPABLES = interopDefault(require$$0$4)('unscopables'), + ArrayProto = Array.prototype; + if (ArrayProto[UNSCOPABLES] == undefined) interopDefault(require$$2)(ArrayProto, UNSCOPABLES, {}); + module.exports = function (key) { + ArrayProto[UNSCOPABLES][key] = true; + }; + }); + + var _addToUnscopables$1 = interopDefault(_addToUnscopables); + +var require$$0$34 = Object.freeze({ + default: _addToUnscopables$1 + }); + + var es6_array_copyWithin = createCommonjsModule(function (module) { + // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) + var $export = interopDefault(require$$1$2); + + $export($export.P, 'Array', { copyWithin: interopDefault(require$$2$9) }); + + interopDefault(require$$0$34)('copyWithin'); + }); + + interopDefault(es6_array_copyWithin); + + var _arrayFill = createCommonjsModule(function (module) { + // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) + 'use strict'; + + var toObject = interopDefault(require$$5$1), + toIndex = interopDefault(require$$24), + toLength = interopDefault(require$$3$1); + module.exports = function fill(value /*, start = 0, end = @length */) { + var O = toObject(this), + length = toLength(O.length), + aLen = arguments.length, + index = toIndex(aLen > 1 ? arguments[1] : undefined, length), + end = aLen > 2 ? arguments[2] : undefined, + endPos = end === undefined ? length : toIndex(end, length); + while (endPos > index) { + O[index++] = value; + }return O; + }; + }); + + var _arrayFill$1 = interopDefault(_arrayFill); + +var require$$3$5 = Object.freeze({ + default: _arrayFill$1 + }); + + var es6_array_fill = createCommonjsModule(function (module) { + // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) + var $export = interopDefault(require$$1$2); + + $export($export.P, 'Array', { fill: interopDefault(require$$3$5) }); + + interopDefault(require$$0$34)('fill'); + }); + + interopDefault(es6_array_fill); + + var es6_array_find = createCommonjsModule(function (module) { + 'use strict'; + // 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined) + + var $export = interopDefault(require$$1$2), + $find = interopDefault(require$$10)(5), + KEY = 'find', + forced = true; + // Shouldn't skip holes + if (KEY in []) Array(1)[KEY](function () { + forced = false; + }); + $export($export.P + $export.F * forced, 'Array', { + find: function find(callbackfn /*, that = undefined */) { + return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } + }); + interopDefault(require$$0$34)(KEY); + }); + + interopDefault(es6_array_find); + + var es6_array_findIndex = createCommonjsModule(function (module) { + 'use strict'; + // 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined) + + var $export = interopDefault(require$$1$2), + $find = interopDefault(require$$10)(6), + KEY = 'findIndex', + forced = true; + // Shouldn't skip holes + if (KEY in []) Array(1)[KEY](function () { + forced = false; + }); + $export($export.P + $export.F * forced, 'Array', { + findIndex: function findIndex(callbackfn /*, that = undefined */) { + return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } + }); + interopDefault(require$$0$34)(KEY); + }); + + interopDefault(es6_array_findIndex); + + var _setSpecies = createCommonjsModule(function (module) { + 'use strict'; + + var global = interopDefault(require$$3), + dP = interopDefault(require$$2$1), + DESCRIPTORS = interopDefault(require$$1), + SPECIES = interopDefault(require$$0$4)('species'); + + module.exports = function (KEY) { + var C = global[KEY]; + if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, { + configurable: true, + get: function get() { + return this; + } + }); + }; + }); + + var _setSpecies$1 = interopDefault(_setSpecies); + +var require$$0$35 = Object.freeze({ + default: _setSpecies$1 + }); + + var es6_array_species = createCommonjsModule(function (module) { + interopDefault(require$$0$35)('Array'); + }); + + interopDefault(es6_array_species); + + var _iterStep = createCommonjsModule(function (module) { + module.exports = function (done, value) { + return { value: value, done: !!done }; + }; + }); + + var _iterStep$1 = interopDefault(_iterStep); + +var require$$3$6 = Object.freeze({ + default: _iterStep$1 + }); + + var es6_array_iterator = createCommonjsModule(function (module) { + 'use strict'; + + var addToUnscopables = interopDefault(require$$0$34), + step = interopDefault(require$$3$6), + Iterators = interopDefault(require$$1$15), + toIObject = interopDefault(require$$1$7); + + // 22.1.3.4 Array.prototype.entries() + // 22.1.3.13 Array.prototype.keys() + // 22.1.3.29 Array.prototype.values() + // 22.1.3.30 Array.prototype[@@iterator]() + module.exports = interopDefault(require$$4$4)(Array, 'Array', function (iterated, kind) { + this._t = toIObject(iterated); // target + this._i = 0; // next index + this._k = kind; // kind + // 22.1.5.2.1 %ArrayIteratorPrototype%.next() + }, function () { + var O = this._t, + kind = this._k, + index = this._i++; + if (!O || index >= O.length) { + this._t = undefined; + return step(1); + } + if (kind == 'keys') return step(0, index); + if (kind == 'values') return step(0, O[index]); + return step(0, [index, O[index]]); + }, 'values'); + + // argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7) + Iterators.Arguments = Iterators.Array; + + addToUnscopables('keys'); + addToUnscopables('values'); + addToUnscopables('entries'); + }); + + var es6_array_iterator$1 = interopDefault(es6_array_iterator); + +var require$$5$3 = Object.freeze({ + default: es6_array_iterator$1 + }); + + var _flags = createCommonjsModule(function (module) { + 'use strict'; + // 21.2.5.3 get RegExp.prototype.flags + + var anObject = interopDefault(require$$5); + module.exports = function () { + var that = anObject(this), + result = ''; + if (that.global) result += 'g'; + if (that.ignoreCase) result += 'i'; + if (that.multiline) result += 'm'; + if (that.unicode) result += 'u'; + if (that.sticky) result += 'y'; + return result; + }; + }); + + var _flags$1 = interopDefault(_flags); + +var require$$1$18 = Object.freeze({ + default: _flags$1 + }); + + var es6_regexp_constructor = createCommonjsModule(function (module) { + var global = interopDefault(require$$3), + inheritIfRequired = interopDefault(require$$0$19), + dP = interopDefault(require$$2$1).f, + gOPN = interopDefault(require$$3$3).f, + isRegExp = interopDefault(require$$2$8), + $flags = interopDefault(require$$1$18), + $RegExp = global.RegExp, + Base = $RegExp, + proto = $RegExp.prototype, + re1 = /a/g, + re2 = /a/g + // "new" creates a new object, old webkit buggy here + , + CORRECT_NEW = new $RegExp(re1) !== re1; + + if (interopDefault(require$$1) && (!CORRECT_NEW || interopDefault(require$$1$1)(function () { + re2[interopDefault(require$$0$4)('match')] = false; + // RegExp constructor can alter flags and IsRegExp works correct with @@match + return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i'; + }))) { + $RegExp = function RegExp(p, f) { + var tiRE = this instanceof $RegExp, + piRE = isRegExp(p), + fiU = f === undefined; + return !tiRE && piRE && p.constructor === $RegExp && fiU ? p : inheritIfRequired(CORRECT_NEW ? new Base(piRE && !fiU ? p.source : p, f) : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f), tiRE ? this : proto, $RegExp); + }; + var proxy = function proxy(key) { + key in $RegExp || dP($RegExp, key, { + configurable: true, + get: function get() { + return Base[key]; + }, + set: function set(it) { + Base[key] = it; + } + }); + }; + for (var keys = gOPN(Base), i = 0; keys.length > i;) { + proxy(keys[i++]); + }proto.constructor = $RegExp; + $RegExp.prototype = proto; + interopDefault(require$$4$2)(global, 'RegExp', $RegExp); + } + + interopDefault(require$$0$35)('RegExp'); + }); + + interopDefault(es6_regexp_constructor); + + var es6_regexp_flags = createCommonjsModule(function (module) { + // 21.2.5.3 get RegExp.prototype.flags() + if (interopDefault(require$$1) && /./g.flags != 'g') interopDefault(require$$2$1).f(RegExp.prototype, 'flags', { + configurable: true, + get: interopDefault(require$$1$18) + }); + }); + + interopDefault(es6_regexp_flags); + + var es6_regexp_toString = createCommonjsModule(function (module) { + 'use strict'; + + var anObject = interopDefault(require$$5), + $flags = interopDefault(require$$1$18), + DESCRIPTORS = interopDefault(require$$1), + TO_STRING = 'toString', + $toString = /./[TO_STRING]; + + var define = function define(fn) { + interopDefault(require$$4$2)(RegExp.prototype, TO_STRING, fn, true); + }; + + // 21.2.5.14 RegExp.prototype.toString() + if (interopDefault(require$$1$1)(function () { + return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; + })) { + define(function toString() { + var R = anObject(this); + return '/'.concat(R.source, '/', 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined); + }); + // FF44- RegExp#toString has a wrong name + } else if ($toString.name != TO_STRING) { + define(function toString() { + return $toString.call(this); + }); + } + }); + + interopDefault(es6_regexp_toString); + + var _fixReWks = createCommonjsModule(function (module) { + 'use strict'; + + var hide = interopDefault(require$$2), + redefine = interopDefault(require$$4$2), + fails = interopDefault(require$$1$1), + defined = interopDefault(require$$4$3), + wks = interopDefault(require$$0$4); + + module.exports = function (KEY, length, exec) { + var SYMBOL = wks(KEY), + fns = exec(defined, SYMBOL, ''[KEY]), + strfn = fns[0], + rxfn = fns[1]; + if (fails(function () { + var O = {}; + O[SYMBOL] = function () { + return 7; + }; + return ''[KEY](O) != 7; + })) { + redefine(String.prototype, KEY, strfn); + hide(RegExp.prototype, SYMBOL, length == 2 + // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue) + // 21.2.5.11 RegExp.prototype[@@split](string, limit) + ? function (string, arg) { + return rxfn.call(string, this, arg); + } + // 21.2.5.6 RegExp.prototype[@@match](string) + // 21.2.5.9 RegExp.prototype[@@search](string) + : function (string) { + return rxfn.call(string, this); + }); + } + }; + }); + + var _fixReWks$1 = interopDefault(_fixReWks); + +var require$$1$19 = Object.freeze({ + default: _fixReWks$1 + }); + + var es6_regexp_match = createCommonjsModule(function (module) { + // @@match logic + interopDefault(require$$1$19)('match', 1, function (defined, MATCH, $match) { + // 21.1.3.11 String.prototype.match(regexp) + return [function match(regexp) { + 'use strict'; + + var O = defined(this), + fn = regexp == undefined ? undefined : regexp[MATCH]; + return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O)); + }, $match]; + }); + }); + + interopDefault(es6_regexp_match); + + var es6_regexp_replace = createCommonjsModule(function (module) { + // @@replace logic + interopDefault(require$$1$19)('replace', 2, function (defined, REPLACE, $replace) { + // 21.1.3.14 String.prototype.replace(searchValue, replaceValue) + return [function replace(searchValue, replaceValue) { + 'use strict'; + + var O = defined(this), + fn = searchValue == undefined ? undefined : searchValue[REPLACE]; + return fn !== undefined ? fn.call(searchValue, O, replaceValue) : $replace.call(String(O), searchValue, replaceValue); + }, $replace]; + }); + }); + + interopDefault(es6_regexp_replace); + + var es6_regexp_search = createCommonjsModule(function (module) { + // @@search logic + interopDefault(require$$1$19)('search', 1, function (defined, SEARCH, $search) { + // 21.1.3.15 String.prototype.search(regexp) + return [function search(regexp) { + 'use strict'; + + var O = defined(this), + fn = regexp == undefined ? undefined : regexp[SEARCH]; + return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O)); + }, $search]; + }); + }); + + interopDefault(es6_regexp_search); + + var es6_regexp_split = createCommonjsModule(function (module) { + // @@split logic + interopDefault(require$$1$19)('split', 2, function (defined, SPLIT, $split) { + 'use strict'; + + var isRegExp = interopDefault(require$$2$8), + _split = $split, + $push = [].push, + $SPLIT = 'split', + LENGTH = 'length', + LAST_INDEX = 'lastIndex'; + if ('abbc'[$SPLIT](/(b)*/)[1] == 'c' || 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 || 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 || '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 || '.'[$SPLIT](/()()/)[LENGTH] > 1 || ''[$SPLIT](/.?/)[LENGTH]) { + var NPCG = /()??/.exec('')[1] === undefined; // nonparticipating capturing group + // based on es5-shim implementation, need to rework it + $split = function $split(separator, limit) { + var string = String(this); + if (separator === undefined && limit === 0) return []; + // If `separator` is not a regex, use native split + if (!isRegExp(separator)) return _split.call(string, separator, limit); + var output = []; + var flags = (separator.ignoreCase ? 'i' : '') + (separator.multiline ? 'm' : '') + (separator.unicode ? 'u' : '') + (separator.sticky ? 'y' : ''); + var lastLastIndex = 0; + var splitLimit = limit === undefined ? 4294967295 : limit >>> 0; + // Make `global` and avoid `lastIndex` issues by working with a copy + var separatorCopy = new RegExp(separator.source, flags + 'g'); + var separator2, match, lastIndex, lastLength, i; + // Doesn't need flags gy, but they don't hurt + if (!NPCG) separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\s)', flags); + while (match = separatorCopy.exec(string)) { + // `separatorCopy.lastIndex` is not reliable cross-browser + lastIndex = match.index + match[0][LENGTH]; + if (lastIndex > lastLastIndex) { + output.push(string.slice(lastLastIndex, match.index)); + // Fix browsers whose `exec` methods don't consistently return `undefined` for NPCG + if (!NPCG && match[LENGTH] > 1) match[0].replace(separator2, function () { + for (i = 1; i < arguments[LENGTH] - 2; i++) { + if (arguments[i] === undefined) match[i] = undefined; + } + }); + if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1)); + lastLength = match[0][LENGTH]; + lastLastIndex = lastIndex; + if (output[LENGTH] >= splitLimit) break; + } + if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop + } + if (lastLastIndex === string[LENGTH]) { + if (lastLength || !separatorCopy.test('')) output.push(''); + } else output.push(string.slice(lastLastIndex)); + return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output; + }; + // Chakra, V8 + } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) { + $split = function $split(separator, limit) { + return separator === undefined && limit === 0 ? [] : _split.call(this, separator, limit); + }; + } + // 21.1.3.17 String.prototype.split(separator, limit) + return [function split(separator, limit) { + var O = defined(this), + fn = separator == undefined ? undefined : separator[SPLIT]; + return fn !== undefined ? fn.call(separator, O, limit) : $split.call(String(O), separator, limit); + }, $split]; + }); + }); + + interopDefault(es6_regexp_split); + + var _anInstance = createCommonjsModule(function (module) { + module.exports = function (it, Constructor, name, forbiddenField) { + if (!(it instanceof Constructor) || forbiddenField !== undefined && forbiddenField in it) { + throw TypeError(name + ': incorrect invocation!'); + }return it; + }; + }); + + var _anInstance$1 = interopDefault(_anInstance); + +var require$$4$6 = Object.freeze({ + default: _anInstance$1 + }); + + var _forOf = createCommonjsModule(function (module) { + var ctx = interopDefault(require$$31), + call = interopDefault(require$$4$5), + isArrayIter = interopDefault(require$$17), + anObject = interopDefault(require$$5), + toLength = interopDefault(require$$3$1), + getIterFn = interopDefault(require$$13), + BREAK = {}, + RETURN = {}; + var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) { + var iterFn = ITERATOR ? function () { + return iterable; + } : getIterFn(iterable), + f = ctx(fn, that, entries ? 2 : 1), + index = 0, + length, + step, + iterator, + result; + if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!'); + // fast case for arrays with default iterator + if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) { + result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]); + if (result === BREAK || result === RETURN) return result; + } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) { + result = call(iterator, f, step.value, entries); + if (result === BREAK || result === RETURN) return result; + } + }; + exports.BREAK = BREAK; + exports.RETURN = RETURN; + }); + + var _forOf$1 = interopDefault(_forOf); + +var require$$1$20 = Object.freeze({ + default: _forOf$1 + }); + + var _speciesConstructor = createCommonjsModule(function (module) { + // 7.3.20 SpeciesConstructor(O, defaultConstructor) + var anObject = interopDefault(require$$5), + aFunction = interopDefault(require$$0$2), + SPECIES = interopDefault(require$$0$4)('species'); + module.exports = function (O, D) { + var C = anObject(O).constructor, + S; + return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S); + }; + }); + + var _speciesConstructor$1 = interopDefault(_speciesConstructor); + +var require$$8 = Object.freeze({ + default: _speciesConstructor$1 + }); + + var _task = createCommonjsModule(function (module) { + var ctx = interopDefault(require$$31), + invoke = interopDefault(require$$1$13), + html = interopDefault(require$$3$2), + cel = interopDefault(require$$2$2), + global = interopDefault(require$$3), + process = global.process, + setTask = global.setImmediate, + clearTask = global.clearImmediate, + MessageChannel = global.MessageChannel, + counter = 0, + queue = {}, + ONREADYSTATECHANGE = 'onreadystatechange', + defer, + channel, + port; + var run = function run() { + var id = +this; + if (queue.hasOwnProperty(id)) { + var fn = queue[id]; + delete queue[id]; + fn(); + } + }; + var listener = function listener(event) { + run.call(event.data); + }; + // Node.js 0.9+ & IE10+ has setImmediate, otherwise: + if (!setTask || !clearTask) { + setTask = function setImmediate(fn) { + var args = [], + i = 1; + while (arguments.length > i) { + args.push(arguments[i++]); + }queue[++counter] = function () { + invoke(typeof fn == 'function' ? fn : Function(fn), args); + }; + defer(counter); + return counter; + }; + clearTask = function clearImmediate(id) { + delete queue[id]; + }; + // Node.js 0.8- + if (interopDefault(require$$0$6)(process) == 'process') { + defer = function defer(id) { + process.nextTick(ctx(run, id, 1)); + }; + // Browsers with MessageChannel, includes WebWorkers + } else if (MessageChannel) { + channel = new MessageChannel(); + port = channel.port2; + channel.port1.onmessage = listener; + defer = ctx(port.postMessage, port, 1); + // Browsers with postMessage, skip WebWorkers + // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' + } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) { + defer = function defer(id) { + global.postMessage(id + '', '*'); + }; + global.addEventListener('message', listener, false); + // IE8- + } else if (ONREADYSTATECHANGE in cel('script')) { + defer = function defer(id) { + html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () { + html.removeChild(this); + run.call(id); + }; + }; + // Rest old browsers + } else { + defer = function defer(id) { + setTimeout(ctx(run, id, 1), 0); + }; + } + } + module.exports = { + set: setTask, + clear: clearTask + }; + }); + + var _task$1 = interopDefault(_task); + var set$2 = _task.set; + var clear = _task.clear; + +var require$$0$36 = Object.freeze({ + default: _task$1, + set: set$2, + clear: clear + }); + + var _microtask = createCommonjsModule(function (module) { + var global = interopDefault(require$$3), + macrotask = interopDefault(require$$0$36).set, + Observer = global.MutationObserver || global.WebKitMutationObserver, + process = global.process, + Promise = global.Promise, + isNode = interopDefault(require$$0$6)(process) == 'process'; + + module.exports = function () { + var head, last, notify; + + var flush = function flush() { + var parent, fn; + if (isNode && (parent = process.domain)) parent.exit(); + while (head) { + fn = head.fn; + head = head.next; + try { + fn(); + } catch (e) { + if (head) notify();else last = undefined; + throw e; + } + }last = undefined; + if (parent) parent.enter(); + }; + + // Node.js + if (isNode) { + notify = function notify() { + process.nextTick(flush); + }; + // browsers with MutationObserver + } else if (Observer) { + var toggle = true, + node = document.createTextNode(''); + new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new + notify = function notify() { + node.data = toggle = !toggle; + }; + // environments with maybe non-completely correct, but existent Promise + } else if (Promise && Promise.resolve) { + var promise = Promise.resolve(); + notify = function notify() { + promise.then(flush); + }; + // for other environments - macrotask based on: + // - setImmediate + // - MessageChannel + // - window.postMessag + // - onreadystatechange + // - setTimeout + } else { + notify = function notify() { + // strange IE + webpack dev server bug - use .call(global) + macrotask.call(global, flush); + }; + } + + return function (fn) { + var task = { fn: fn, next: undefined }; + if (last) last.next = task; + if (!head) { + head = task; + notify(); + }last = task; + }; + }; + }); + + var _microtask$1 = interopDefault(_microtask); + +var require$$8$1 = Object.freeze({ + default: _microtask$1 + }); + + var _redefineAll = createCommonjsModule(function (module) { + var redefine = interopDefault(require$$4$2); + module.exports = function (target, src, safe) { + for (var key in src) { + redefine(target, key, src[key], safe); + }return target; + }; + }); + + var _redefineAll$1 = interopDefault(_redefineAll); + +var require$$3$7 = Object.freeze({ + default: _redefineAll$1 + }); + + var es6_promise = createCommonjsModule(function (module) { + 'use strict'; + + var LIBRARY = interopDefault(require$$2$4), + global = interopDefault(require$$3), + ctx = interopDefault(require$$31), + classof = interopDefault(require$$1$11), + $export = interopDefault(require$$1$2), + isObject = interopDefault(require$$0$1), + aFunction = interopDefault(require$$0$2), + anInstance = interopDefault(require$$4$6), + forOf = interopDefault(require$$1$20), + speciesConstructor = interopDefault(require$$8), + task = interopDefault(require$$0$36).set, + microtask = interopDefault(require$$8$1)(), + PROMISE = 'Promise', + TypeError = global.TypeError, + process = global.process, + $Promise = global[PROMISE], + process = global.process, + isNode = classof(process) == 'process', + empty = function empty() {/* empty */}, + Internal, + GenericPromiseCapability, + Wrapper; + + var USE_NATIVE = !!function () { + try { + // correct subclassing with @@species support + var promise = $Promise.resolve(1), + FakePromise = (promise.constructor = {})[interopDefault(require$$0$4)('species')] = function (exec) { + exec(empty, empty); + }; + // unhandled rejections tracking support, NodeJS Promise without it fails @@species test + return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise; + } catch (e) {/* empty */} + }(); + + // helpers + var sameConstructor = function sameConstructor(a, b) { + // with library wrapper special case + return a === b || a === $Promise && b === Wrapper; + }; + var isThenable = function isThenable(it) { + var then; + return isObject(it) && typeof (then = it.then) == 'function' ? then : false; + }; + var newPromiseCapability = function newPromiseCapability(C) { + return sameConstructor($Promise, C) ? new PromiseCapability(C) : new GenericPromiseCapability(C); + }; + var PromiseCapability = GenericPromiseCapability = function GenericPromiseCapability(C) { + var resolve, reject; + this.promise = new C(function ($$resolve, $$reject) { + if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor'); + resolve = $$resolve; + reject = $$reject; + }); + this.resolve = aFunction(resolve); + this.reject = aFunction(reject); + }; + var perform = function perform(exec) { + try { + exec(); + } catch (e) { + return { error: e }; + } + }; + var notify = function notify(promise, isReject) { + if (promise._n) return; + promise._n = true; + var chain = promise._c; + microtask(function () { + var value = promise._v, + ok = promise._s == 1, + i = 0; + var run = function run(reaction) { + var handler = ok ? reaction.ok : reaction.fail, + resolve = reaction.resolve, + reject = reaction.reject, + domain = reaction.domain, + result, + then; + try { + if (handler) { + if (!ok) { + if (promise._h == 2) onHandleUnhandled(promise); + promise._h = 1; + } + if (handler === true) result = value;else { + if (domain) domain.enter(); + result = handler(value); + if (domain) domain.exit(); + } + if (result === reaction.promise) { + reject(TypeError('Promise-chain cycle')); + } else if (then = isThenable(result)) { + then.call(result, resolve, reject); + } else resolve(result); + } else reject(value); + } catch (e) { + reject(e); + } + }; + while (chain.length > i) { + run(chain[i++]); + } // variable length - can't use forEach + promise._c = []; + promise._n = false; + if (isReject && !promise._h) onUnhandled(promise); + }); + }; + var onUnhandled = function onUnhandled(promise) { + task.call(global, function () { + var value = promise._v, + abrupt, + handler, + console; + if (isUnhandled(promise)) { + abrupt = perform(function () { + if (isNode) { + process.emit('unhandledRejection', value, promise); + } else if (handler = global.onunhandledrejection) { + handler({ promise: promise, reason: value }); + } else if ((console = global.console) && console.error) { + console.error('Unhandled promise rejection', value); + } + }); + // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should + promise._h = isNode || isUnhandled(promise) ? 2 : 1; + }promise._a = undefined; + if (abrupt) throw abrupt.error; + }); + }; + var isUnhandled = function isUnhandled(promise) { + if (promise._h == 1) return false; + var chain = promise._a || promise._c, + i = 0, + reaction; + while (chain.length > i) { + reaction = chain[i++]; + if (reaction.fail || !isUnhandled(reaction.promise)) return false; + }return true; + }; + var onHandleUnhandled = function onHandleUnhandled(promise) { + task.call(global, function () { + var handler; + if (isNode) { + process.emit('rejectionHandled', promise); + } else if (handler = global.onrejectionhandled) { + handler({ promise: promise, reason: promise._v }); + } + }); + }; + var $reject = function $reject(value) { + var promise = this; + if (promise._d) return; + promise._d = true; + promise = promise._w || promise; // unwrap + promise._v = value; + promise._s = 2; + if (!promise._a) promise._a = promise._c.slice(); + notify(promise, true); + }; + var $resolve = function $resolve(value) { + var promise = this, + then; + if (promise._d) return; + promise._d = true; + promise = promise._w || promise; // unwrap + try { + if (promise === value) throw TypeError("Promise can't be resolved itself"); + if (then = isThenable(value)) { + microtask(function () { + var wrapper = { _w: promise, _d: false }; // wrap + try { + then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1)); + } catch (e) { + $reject.call(wrapper, e); + } + }); + } else { + promise._v = value; + promise._s = 1; + notify(promise, false); + } + } catch (e) { + $reject.call({ _w: promise, _d: false }, e); // wrap + } + }; + + // constructor polyfill + if (!USE_NATIVE) { + // 25.4.3.1 Promise(executor) + $Promise = function Promise(executor) { + anInstance(this, $Promise, PROMISE, '_h'); + aFunction(executor); + Internal.call(this); + try { + executor(ctx($resolve, this, 1), ctx($reject, this, 1)); + } catch (err) { + $reject.call(this, err); + } + }; + Internal = function Promise(executor) { + this._c = []; // <- awaiting reactions + this._a = undefined; // <- checked in isUnhandled reactions + this._s = 0; // <- state + this._d = false; // <- done + this._v = undefined; // <- value + this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled + this._n = false; // <- notify + }; + Internal.prototype = interopDefault(require$$3$7)($Promise.prototype, { + // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected) + then: function then(onFulfilled, onRejected) { + var reaction = newPromiseCapability(speciesConstructor(this, $Promise)); + reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true; + reaction.fail = typeof onRejected == 'function' && onRejected; + reaction.domain = isNode ? process.domain : undefined; + this._c.push(reaction); + if (this._a) this._a.push(reaction); + if (this._s) notify(this, false); + return reaction.promise; + }, + // 25.4.5.1 Promise.prototype.catch(onRejected) + 'catch': function _catch(onRejected) { + return this.then(undefined, onRejected); + } + }); + PromiseCapability = function PromiseCapability() { + var promise = new Internal(); + this.promise = promise; + this.resolve = ctx($resolve, promise, 1); + this.reject = ctx($reject, promise, 1); + }; + } + + $export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise }); + interopDefault(require$$0$3)($Promise, PROMISE); + interopDefault(require$$0$35)(PROMISE); + Wrapper = interopDefault(require$$0)[PROMISE]; + + // statics + $export($export.S + $export.F * !USE_NATIVE, PROMISE, { + // 25.4.4.5 Promise.reject(r) + reject: function reject(r) { + var capability = newPromiseCapability(this), + $$reject = capability.reject; + $$reject(r); + return capability.promise; + } + }); + $export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, { + // 25.4.4.6 Promise.resolve(x) + resolve: function resolve(x) { + // instanceof instead of internal slot check because we should fix it without replacement native Promise core + if (x instanceof $Promise && sameConstructor(x.constructor, this)) return x; + var capability = newPromiseCapability(this), + $$resolve = capability.resolve; + $$resolve(x); + return capability.promise; + } + }); + $export($export.S + $export.F * !(USE_NATIVE && interopDefault(require$$5$2)(function (iter) { + $Promise.all(iter)['catch'](empty); + })), PROMISE, { + // 25.4.4.1 Promise.all(iterable) + all: function all(iterable) { + var C = this, + capability = newPromiseCapability(C), + resolve = capability.resolve, + reject = capability.reject; + var abrupt = perform(function () { + var values = [], + index = 0, + remaining = 1; + forOf(iterable, false, function (promise) { + var $index = index++, + alreadyCalled = false; + values.push(undefined); + remaining++; + C.resolve(promise).then(function (value) { + if (alreadyCalled) return; + alreadyCalled = true; + values[$index] = value; + --remaining || resolve(values); + }, reject); + }); + --remaining || resolve(values); + }); + if (abrupt) reject(abrupt.error); + return capability.promise; + }, + // 25.4.4.4 Promise.race(iterable) + race: function race(iterable) { + var C = this, + capability = newPromiseCapability(C), + reject = capability.reject; + var abrupt = perform(function () { + forOf(iterable, false, function (promise) { + C.resolve(promise).then(capability.resolve, reject); + }); + }); + if (abrupt) reject(abrupt.error); + return capability.promise; + } + }); + }); + + interopDefault(es6_promise); + + var _collectionStrong = createCommonjsModule(function (module) { + 'use strict'; + + var dP = interopDefault(require$$2$1).f, + create = interopDefault(require$$6$1), + redefineAll = interopDefault(require$$3$7), + ctx = interopDefault(require$$31), + anInstance = interopDefault(require$$4$6), + defined = interopDefault(require$$4$3), + forOf = interopDefault(require$$1$20), + $iterDefine = interopDefault(require$$4$4), + step = interopDefault(require$$3$6), + setSpecies = interopDefault(require$$0$35), + DESCRIPTORS = interopDefault(require$$1), + fastKey = interopDefault(require$$6).fastKey, + SIZE = DESCRIPTORS ? '_s' : 'size'; + + var getEntry = function getEntry(that, key) { + // fast case + var index = fastKey(key), + entry; + if (index !== 'F') return that._i[index]; + // frozen object case + for (entry = that._f; entry; entry = entry.n) { + if (entry.k == key) return entry; + } + }; + + module.exports = { + getConstructor: function getConstructor(wrapper, NAME, IS_MAP, ADDER) { + var C = wrapper(function (that, iterable) { + anInstance(that, C, NAME, '_i'); + that._i = create(null); // index + that._f = undefined; // first entry + that._l = undefined; // last entry + that[SIZE] = 0; // size + if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); + }); + redefineAll(C.prototype, { + // 23.1.3.1 Map.prototype.clear() + // 23.2.3.2 Set.prototype.clear() + clear: function clear() { + for (var that = this, data = that._i, entry = that._f; entry; entry = entry.n) { + entry.r = true; + if (entry.p) entry.p = entry.p.n = undefined; + delete data[entry.i]; + } + that._f = that._l = undefined; + that[SIZE] = 0; + }, + // 23.1.3.3 Map.prototype.delete(key) + // 23.2.3.4 Set.prototype.delete(value) + 'delete': function _delete(key) { + var that = this, + entry = getEntry(that, key); + if (entry) { + var next = entry.n, + prev = entry.p; + delete that._i[entry.i]; + entry.r = true; + if (prev) prev.n = next; + if (next) next.p = prev; + if (that._f == entry) that._f = next; + if (that._l == entry) that._l = prev; + that[SIZE]--; + }return !!entry; + }, + // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined) + // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined) + forEach: function forEach(callbackfn /*, that = undefined */) { + anInstance(this, C, 'forEach'); + var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3), + entry; + while (entry = entry ? entry.n : this._f) { + f(entry.v, entry.k, this); + // revert to the last existing entry + while (entry && entry.r) { + entry = entry.p; + } + } + }, + // 23.1.3.7 Map.prototype.has(key) + // 23.2.3.7 Set.prototype.has(value) + has: function has(key) { + return !!getEntry(this, key); + } + }); + if (DESCRIPTORS) dP(C.prototype, 'size', { + get: function get() { + return defined(this[SIZE]); + } + }); + return C; + }, + def: function def(that, key, value) { + var entry = getEntry(that, key), + prev, + index; + // change existing entry + if (entry) { + entry.v = value; + // create new entry + } else { + that._l = entry = { + i: index = fastKey(key, true), // <- index + k: key, // <- key + v: value, // <- value + p: prev = that._l, // <- previous entry + n: undefined, // <- next entry + r: false // <- removed + }; + if (!that._f) that._f = entry; + if (prev) prev.n = entry; + that[SIZE]++; + // add to index + if (index !== 'F') that._i[index] = entry; + }return that; + }, + getEntry: getEntry, + setStrong: function setStrong(C, NAME, IS_MAP) { + // add .keys, .values, .entries, [@@iterator] + // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11 + $iterDefine(C, NAME, function (iterated, kind) { + this._t = iterated; // target + this._k = kind; // kind + this._l = undefined; // previous + }, function () { + var that = this, + kind = that._k, + entry = that._l; + // revert to the last existing entry + while (entry && entry.r) { + entry = entry.p; + } // get next entry + if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) { + // or finish the iteration + that._t = undefined; + return step(1); + } + // return step by kind + if (kind == 'keys') return step(0, entry.k); + if (kind == 'values') return step(0, entry.v); + return step(0, [entry.k, entry.v]); + }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); + + // add [@@species], 23.1.2.2, 23.2.2.2 + setSpecies(NAME); + } + }; + }); + + var _collectionStrong$1 = interopDefault(_collectionStrong); + var getConstructor = _collectionStrong.getConstructor; + var def = _collectionStrong.def; + var getEntry = _collectionStrong.getEntry; + var setStrong = _collectionStrong.setStrong; + +var require$$1$21 = Object.freeze({ + default: _collectionStrong$1, + getConstructor: getConstructor, + def: def, + getEntry: getEntry, + setStrong: setStrong + }); + + var _collection = createCommonjsModule(function (module) { + 'use strict'; + + var global = interopDefault(require$$3), + $export = interopDefault(require$$1$2), + redefine = interopDefault(require$$4$2), + redefineAll = interopDefault(require$$3$7), + meta = interopDefault(require$$6), + forOf = interopDefault(require$$1$20), + anInstance = interopDefault(require$$4$6), + isObject = interopDefault(require$$0$1), + fails = interopDefault(require$$1$1), + $iterDetect = interopDefault(require$$5$2), + setToStringTag = interopDefault(require$$0$3), + inheritIfRequired = interopDefault(require$$0$19); + + module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) { + var Base = global[NAME], + C = Base, + ADDER = IS_MAP ? 'set' : 'add', + proto = C && C.prototype, + O = {}; + var fixMethod = function fixMethod(KEY) { + var fn = proto[KEY]; + redefine(proto, KEY, KEY == 'delete' ? function (a) { + return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a); + } : KEY == 'has' ? function has(a) { + return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a); + } : KEY == 'get' ? function get(a) { + return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a); + } : KEY == 'add' ? function add(a) { + fn.call(this, a === 0 ? 0 : a);return this; + } : function set(a, b) { + fn.call(this, a === 0 ? 0 : a, b);return this; + }); + }; + if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () { + new C().entries().next(); + }))) { + // create collection constructor + C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER); + redefineAll(C.prototype, methods); + meta.NEED = true; + } else { + var instance = new C() + // early implementations not supports chaining + , + HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance + // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false + , + THROWS_ON_PRIMITIVES = fails(function () { + instance.has(1); + }) + // most early implementations doesn't supports iterables, most modern - not close it correctly + , + ACCEPT_ITERABLES = $iterDetect(function (iter) { + new C(iter); + }) // eslint-disable-line no-new + // for early implementations -0 and +0 not the same + , + BUGGY_ZERO = !IS_WEAK && fails(function () { + // V8 ~ Chromium 42- fails only with 5+ elements + var $instance = new C(), + index = 5; + while (index--) { + $instance[ADDER](index, index); + }return !$instance.has(-0); + }); + if (!ACCEPT_ITERABLES) { + C = wrapper(function (target, iterable) { + anInstance(target, C, NAME); + var that = inheritIfRequired(new Base(), target, C); + if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); + return that; + }); + C.prototype = proto; + proto.constructor = C; + } + if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) { + fixMethod('delete'); + fixMethod('has'); + IS_MAP && fixMethod('get'); + } + if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER); + // weak collections should not contains .clear method + if (IS_WEAK && proto.clear) delete proto.clear; + } + + setToStringTag(C, NAME); + + O[NAME] = C; + $export($export.G + $export.W + $export.F * (C != Base), O); + + if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP); + + return C; + }; + }); + + var _collection$1 = interopDefault(_collection); + +var require$$0$37 = Object.freeze({ + default: _collection$1 + }); + + var es6_map = createCommonjsModule(function (module) { + 'use strict'; + + var strong = interopDefault(require$$1$21); + + // 23.1 Map Objects + module.exports = interopDefault(require$$0$37)('Map', function (get) { + return function Map() { + return get(this, arguments.length > 0 ? arguments[0] : undefined); + }; + }, { + // 23.1.3.6 Map.prototype.get(key) + get: function get(key) { + var entry = strong.getEntry(this, key); + return entry && entry.v; + }, + // 23.1.3.9 Map.prototype.set(key, value) + set: function set(key, value) { + return strong.def(this, key === 0 ? 0 : key, value); + } + }, strong, true); + }); + + var es6_map$1 = interopDefault(es6_map); + +var require$$3$8 = Object.freeze({ + default: es6_map$1 + }); + + var es6_set = createCommonjsModule(function (module) { + 'use strict'; + + var strong = interopDefault(require$$1$21); + + // 23.2 Set Objects + module.exports = interopDefault(require$$0$37)('Set', function (get) { + return function Set() { + return get(this, arguments.length > 0 ? arguments[0] : undefined); + }; + }, { + // 23.2.3.1 Set.prototype.add(value) + add: function add(value) { + return strong.def(this, value = value === 0 ? 0 : value, value); + } + }, strong); + }); + + var es6_set$1 = interopDefault(es6_set); + +var require$$4$7 = Object.freeze({ + default: es6_set$1 + }); + + var _collectionWeak = createCommonjsModule(function (module) { + 'use strict'; + + var redefineAll = interopDefault(require$$3$7), + getWeak = interopDefault(require$$6).getWeak, + anObject = interopDefault(require$$5), + isObject = interopDefault(require$$0$1), + anInstance = interopDefault(require$$4$6), + forOf = interopDefault(require$$1$20), + createArrayMethod = interopDefault(require$$10), + $has = interopDefault(require$$4), + arrayFind = createArrayMethod(5), + arrayFindIndex = createArrayMethod(6), + id = 0; + + // fallback for uncaught frozen keys + var uncaughtFrozenStore = function uncaughtFrozenStore(that) { + return that._l || (that._l = new UncaughtFrozenStore()); + }; + var UncaughtFrozenStore = function UncaughtFrozenStore() { + this.a = []; + }; + var findUncaughtFrozen = function findUncaughtFrozen(store, key) { + return arrayFind(store.a, function (it) { + return it[0] === key; + }); + }; + UncaughtFrozenStore.prototype = { + get: function get(key) { + var entry = findUncaughtFrozen(this, key); + if (entry) return entry[1]; + }, + has: function has(key) { + return !!findUncaughtFrozen(this, key); + }, + set: function set(key, value) { + var entry = findUncaughtFrozen(this, key); + if (entry) entry[1] = value;else this.a.push([key, value]); + }, + 'delete': function _delete(key) { + var index = arrayFindIndex(this.a, function (it) { + return it[0] === key; + }); + if (~index) this.a.splice(index, 1); + return !!~index; + } + }; + + module.exports = { + getConstructor: function getConstructor(wrapper, NAME, IS_MAP, ADDER) { + var C = wrapper(function (that, iterable) { + anInstance(that, C, NAME, '_i'); + that._i = id++; // collection id + that._l = undefined; // leak store for uncaught frozen objects + if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); + }); + redefineAll(C.prototype, { + // 23.3.3.2 WeakMap.prototype.delete(key) + // 23.4.3.3 WeakSet.prototype.delete(value) + 'delete': function _delete(key) { + if (!isObject(key)) return false; + var data = getWeak(key); + if (data === true) return uncaughtFrozenStore(this)['delete'](key); + return data && $has(data, this._i) && delete data[this._i]; + }, + // 23.3.3.4 WeakMap.prototype.has(key) + // 23.4.3.4 WeakSet.prototype.has(value) + has: function has(key) { + if (!isObject(key)) return false; + var data = getWeak(key); + if (data === true) return uncaughtFrozenStore(this).has(key); + return data && $has(data, this._i); + } + }); + return C; + }, + def: function def(that, key, value) { + var data = getWeak(anObject(key), true); + if (data === true) uncaughtFrozenStore(that).set(key, value);else data[that._i] = value; + return that; + }, + ufstore: uncaughtFrozenStore + }; + }); + + var _collectionWeak$1 = interopDefault(_collectionWeak); + var getConstructor$1 = _collectionWeak.getConstructor; + var def$1 = _collectionWeak.def; + var ufstore = _collectionWeak.ufstore; + +var require$$1$22 = Object.freeze({ + default: _collectionWeak$1, + getConstructor: getConstructor$1, + def: def$1, + ufstore: ufstore + }); + + var es6_weakMap = createCommonjsModule(function (module) { + 'use strict'; + + var each = interopDefault(require$$10)(0), + redefine = interopDefault(require$$4$2), + meta = interopDefault(require$$6), + assign = interopDefault(require$$3$4), + weak = interopDefault(require$$1$22), + isObject = interopDefault(require$$0$1), + getWeak = meta.getWeak, + isExtensible = Object.isExtensible, + uncaughtFrozenStore = weak.ufstore, + tmp = {}, + InternalMap; + + var wrapper = function wrapper(get) { + return function WeakMap() { + return get(this, arguments.length > 0 ? arguments[0] : undefined); + }; + }; + + var methods = { + // 23.3.3.3 WeakMap.prototype.get(key) + get: function get(key) { + if (isObject(key)) { + var data = getWeak(key); + if (data === true) return uncaughtFrozenStore(this).get(key); + return data ? data[this._i] : undefined; + } + }, + // 23.3.3.5 WeakMap.prototype.set(key, value) + set: function set(key, value) { + return weak.def(this, key, value); + } + }; + + // 23.3 WeakMap Objects + var $WeakMap = module.exports = interopDefault(require$$0$37)('WeakMap', wrapper, methods, weak, true, true); + + // IE11 WeakMap frozen keys fix + if (new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7) { + InternalMap = weak.getConstructor(wrapper); + assign(InternalMap.prototype, methods); + meta.NEED = true; + each(['delete', 'has', 'get', 'set'], function (key) { + var proto = $WeakMap.prototype, + method = proto[key]; + redefine(proto, key, function (a, b) { + // store frozen objects on internal weakmap shim + if (isObject(a) && !isExtensible(a)) { + if (!this._f) this._f = new InternalMap(); + var result = this._f[key](a, b); + return key == 'set' ? this : result; + // store all the rest on native weakmap + }return method.call(this, a, b); + }); + }); + } + }); + + var es6_weakMap$1 = interopDefault(es6_weakMap); + +var require$$0$38 = Object.freeze({ + default: es6_weakMap$1 + }); + + var es6_weakSet = createCommonjsModule(function (module) { + 'use strict'; + + var weak = interopDefault(require$$1$22); + + // 23.4 WeakSet Objects + interopDefault(require$$0$37)('WeakSet', function (get) { + return function WeakSet() { + return get(this, arguments.length > 0 ? arguments[0] : undefined); + }; + }, { + // 23.4.3.1 WeakSet.prototype.add(value) + add: function add(value) { + return weak.def(this, value, true); + } + }, weak, false, true); + }); + + interopDefault(es6_weakSet); + + var _typed = createCommonjsModule(function (module) { + var global = interopDefault(require$$3), + hide = interopDefault(require$$2), + uid = interopDefault(require$$12), + TYPED = uid('typed_array'), + VIEW = uid('view'), + ABV = !!(global.ArrayBuffer && global.DataView), + CONSTR = ABV, + i = 0, + l = 9, + Typed; + + var TypedArrayConstructors = 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'.split(','); + + while (i < l) { + if (Typed = global[TypedArrayConstructors[i++]]) { + hide(Typed.prototype, TYPED, true); + hide(Typed.prototype, VIEW, true); + } else CONSTR = false; + } + + module.exports = { + ABV: ABV, + CONSTR: CONSTR, + TYPED: TYPED, + VIEW: VIEW + }; + }); + + var _typed$1 = interopDefault(_typed); + var ABV = _typed.ABV; + var CONSTR = _typed.CONSTR; + var TYPED = _typed.TYPED; + var VIEW = _typed.VIEW; + +var require$$33 = Object.freeze({ + default: _typed$1, + ABV: ABV, + CONSTR: CONSTR, + TYPED: TYPED, + VIEW: VIEW + }); + + var _typedBuffer = createCommonjsModule(function (module, exports) { + 'use strict'; + + var global = interopDefault(require$$3), + DESCRIPTORS = interopDefault(require$$1), + LIBRARY = interopDefault(require$$2$4), + $typed = interopDefault(require$$33), + hide = interopDefault(require$$2), + redefineAll = interopDefault(require$$3$7), + fails = interopDefault(require$$1$1), + anInstance = interopDefault(require$$4$6), + toInteger = interopDefault(require$$26), + toLength = interopDefault(require$$3$1), + gOPN = interopDefault(require$$3$3).f, + dP = interopDefault(require$$2$1).f, + arrayFill = interopDefault(require$$3$5), + setToStringTag = interopDefault(require$$0$3), + ARRAY_BUFFER = 'ArrayBuffer', + DATA_VIEW = 'DataView', + PROTOTYPE = 'prototype', + WRONG_LENGTH = 'Wrong length!', + WRONG_INDEX = 'Wrong index!', + $ArrayBuffer = global[ARRAY_BUFFER], + $DataView = global[DATA_VIEW], + Math = global.Math, + RangeError = global.RangeError, + Infinity = global.Infinity, + BaseBuffer = $ArrayBuffer, + abs = Math.abs, + pow = Math.pow, + floor = Math.floor, + log = Math.log, + LN2 = Math.LN2, + BUFFER = 'buffer', + BYTE_LENGTH = 'byteLength', + BYTE_OFFSET = 'byteOffset', + $BUFFER = DESCRIPTORS ? '_b' : BUFFER, + $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH, + $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET; + + // IEEE754 conversions based on https://github.com/feross/ieee754 + var packIEEE754 = function packIEEE754(value, mLen, nBytes) { + var buffer = Array(nBytes), + eLen = nBytes * 8 - mLen - 1, + eMax = (1 << eLen) - 1, + eBias = eMax >> 1, + rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0, + i = 0, + s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0, + e, + m, + c; + value = abs(value); + if (value != value || value === Infinity) { + m = value != value ? 1 : 0; + e = eMax; + } else { + e = floor(log(value) / LN2); + if (value * (c = pow(2, -e)) < 1) { + e--; + c *= 2; + } + if (e + eBias >= 1) { + value += rt / c; + } else { + value += rt * pow(2, 1 - eBias); + } + if (value * c >= 2) { + e++; + c /= 2; + } + if (e + eBias >= eMax) { + m = 0; + e = eMax; + } else if (e + eBias >= 1) { + m = (value * c - 1) * pow(2, mLen); + e = e + eBias; + } else { + m = value * pow(2, eBias - 1) * pow(2, mLen); + e = 0; + } + } + for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8) {} + e = e << mLen | m; + eLen += mLen; + for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8) {} + buffer[--i] |= s * 128; + return buffer; + }; + var unpackIEEE754 = function unpackIEEE754(buffer, mLen, nBytes) { + var eLen = nBytes * 8 - mLen - 1, + eMax = (1 << eLen) - 1, + eBias = eMax >> 1, + nBits = eLen - 7, + i = nBytes - 1, + s = buffer[i--], + e = s & 127, + m; + s >>= 7; + for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8) {} + m = e & (1 << -nBits) - 1; + e >>= -nBits; + nBits += mLen; + for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8) {} + if (e === 0) { + e = 1 - eBias; + } else if (e === eMax) { + return m ? NaN : s ? -Infinity : Infinity; + } else { + m = m + pow(2, mLen); + e = e - eBias; + }return (s ? -1 : 1) * m * pow(2, e - mLen); + }; + + var unpackI32 = function unpackI32(bytes) { + return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0]; + }; + var packI8 = function packI8(it) { + return [it & 0xff]; + }; + var packI16 = function packI16(it) { + return [it & 0xff, it >> 8 & 0xff]; + }; + var packI32 = function packI32(it) { + return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff]; + }; + var packF64 = function packF64(it) { + return packIEEE754(it, 52, 8); + }; + var packF32 = function packF32(it) { + return packIEEE754(it, 23, 4); + }; + + var addGetter = function addGetter(C, key, internal) { + dP(C[PROTOTYPE], key, { get: function get() { + return this[internal]; + } }); + }; + + var get = function get(view, bytes, index, isLittleEndian) { + var numIndex = +index, + intIndex = toInteger(numIndex); + if (numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX); + var store = view[$BUFFER]._b, + start = intIndex + view[$OFFSET], + pack = store.slice(start, start + bytes); + return isLittleEndian ? pack : pack.reverse(); + }; + var set = function set(view, bytes, index, conversion, value, isLittleEndian) { + var numIndex = +index, + intIndex = toInteger(numIndex); + if (numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX); + var store = view[$BUFFER]._b, + start = intIndex + view[$OFFSET], + pack = conversion(+value); + for (var i = 0; i < bytes; i++) { + store[start + i] = pack[isLittleEndian ? i : bytes - i - 1]; + } + }; + + var validateArrayBufferArguments = function validateArrayBufferArguments(that, length) { + anInstance(that, $ArrayBuffer, ARRAY_BUFFER); + var numberLength = +length, + byteLength = toLength(numberLength); + if (numberLength != byteLength) throw RangeError(WRONG_LENGTH); + return byteLength; + }; + + if (!$typed.ABV) { + $ArrayBuffer = function ArrayBuffer(length) { + var byteLength = validateArrayBufferArguments(this, length); + this._b = arrayFill.call(Array(byteLength), 0); + this[$LENGTH] = byteLength; + }; + + $DataView = function DataView(buffer, byteOffset, byteLength) { + anInstance(this, $DataView, DATA_VIEW); + anInstance(buffer, $ArrayBuffer, DATA_VIEW); + var bufferLength = buffer[$LENGTH], + offset = toInteger(byteOffset); + if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!'); + byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength); + if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH); + this[$BUFFER] = buffer; + this[$OFFSET] = offset; + this[$LENGTH] = byteLength; + }; + + if (DESCRIPTORS) { + addGetter($ArrayBuffer, BYTE_LENGTH, '_l'); + addGetter($DataView, BUFFER, '_b'); + addGetter($DataView, BYTE_LENGTH, '_l'); + addGetter($DataView, BYTE_OFFSET, '_o'); + } + + redefineAll($DataView[PROTOTYPE], { + getInt8: function getInt8(byteOffset) { + return get(this, 1, byteOffset)[0] << 24 >> 24; + }, + getUint8: function getUint8(byteOffset) { + return get(this, 1, byteOffset)[0]; + }, + getInt16: function getInt16(byteOffset /*, littleEndian */) { + var bytes = get(this, 2, byteOffset, arguments[1]); + return (bytes[1] << 8 | bytes[0]) << 16 >> 16; + }, + getUint16: function getUint16(byteOffset /*, littleEndian */) { + var bytes = get(this, 2, byteOffset, arguments[1]); + return bytes[1] << 8 | bytes[0]; + }, + getInt32: function getInt32(byteOffset /*, littleEndian */) { + return unpackI32(get(this, 4, byteOffset, arguments[1])); + }, + getUint32: function getUint32(byteOffset /*, littleEndian */) { + return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0; + }, + getFloat32: function getFloat32(byteOffset /*, littleEndian */) { + return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4); + }, + getFloat64: function getFloat64(byteOffset /*, littleEndian */) { + return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8); + }, + setInt8: function setInt8(byteOffset, value) { + set(this, 1, byteOffset, packI8, value); + }, + setUint8: function setUint8(byteOffset, value) { + set(this, 1, byteOffset, packI8, value); + }, + setInt16: function setInt16(byteOffset, value /*, littleEndian */) { + set(this, 2, byteOffset, packI16, value, arguments[2]); + }, + setUint16: function setUint16(byteOffset, value /*, littleEndian */) { + set(this, 2, byteOffset, packI16, value, arguments[2]); + }, + setInt32: function setInt32(byteOffset, value /*, littleEndian */) { + set(this, 4, byteOffset, packI32, value, arguments[2]); + }, + setUint32: function setUint32(byteOffset, value /*, littleEndian */) { + set(this, 4, byteOffset, packI32, value, arguments[2]); + }, + setFloat32: function setFloat32(byteOffset, value /*, littleEndian */) { + set(this, 4, byteOffset, packF32, value, arguments[2]); + }, + setFloat64: function setFloat64(byteOffset, value /*, littleEndian */) { + set(this, 8, byteOffset, packF64, value, arguments[2]); + } + }); + } else { + if (!fails(function () { + new $ArrayBuffer(); // eslint-disable-line no-new + }) || !fails(function () { + new $ArrayBuffer(.5); // eslint-disable-line no-new + })) { + $ArrayBuffer = function ArrayBuffer(length) { + return new BaseBuffer(validateArrayBufferArguments(this, length)); + }; + var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE]; + for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) { + if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]); + }; + if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer; + } + // iOS Safari 7.x bug + var view = new $DataView(new $ArrayBuffer(2)), + $setInt8 = $DataView[PROTOTYPE].setInt8; + view.setInt8(0, 2147483648); + view.setInt8(1, 2147483649); + if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], { + setInt8: function setInt8(byteOffset, value) { + $setInt8.call(this, byteOffset, value << 24 >> 24); + }, + setUint8: function setUint8(byteOffset, value) { + $setInt8.call(this, byteOffset, value << 24 >> 24); + } + }, true); + } + setToStringTag($ArrayBuffer, ARRAY_BUFFER); + setToStringTag($DataView, DATA_VIEW); + hide($DataView[PROTOTYPE], $typed.VIEW, true); + exports[ARRAY_BUFFER] = $ArrayBuffer; + exports[DATA_VIEW] = $DataView; + }); + + var _typedBuffer$1 = interopDefault(_typedBuffer); + +var require$$32 = Object.freeze({ + default: _typedBuffer$1 + }); + + var es6_typed_arrayBuffer = createCommonjsModule(function (module) { + 'use strict'; + + var $export = interopDefault(require$$1$2), + $typed = interopDefault(require$$33), + buffer = interopDefault(require$$32), + anObject = interopDefault(require$$5), + toIndex = interopDefault(require$$24), + toLength = interopDefault(require$$3$1), + isObject = interopDefault(require$$0$1), + ArrayBuffer = interopDefault(require$$3).ArrayBuffer, + speciesConstructor = interopDefault(require$$8), + $ArrayBuffer = buffer.ArrayBuffer, + $DataView = buffer.DataView, + $isView = $typed.ABV && ArrayBuffer.isView, + $slice = $ArrayBuffer.prototype.slice, + VIEW = $typed.VIEW, + ARRAY_BUFFER = 'ArrayBuffer'; + + $export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer }); + + $export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, { + // 24.1.3.1 ArrayBuffer.isView(arg) + isView: function isView(it) { + return $isView && $isView(it) || isObject(it) && VIEW in it; + } + }); + + $export($export.P + $export.U + $export.F * interopDefault(require$$1$1)(function () { + return !new $ArrayBuffer(2).slice(1, undefined).byteLength; + }), ARRAY_BUFFER, { + // 24.1.4.3 ArrayBuffer.prototype.slice(start, end) + slice: function slice(start, end) { + if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix + var len = anObject(this).byteLength, + first = toIndex(start, len), + final = toIndex(end === undefined ? len : end, len), + result = new (speciesConstructor(this, $ArrayBuffer))(toLength(final - first)), + viewS = new $DataView(this), + viewT = new $DataView(result), + index = 0; + while (first < final) { + viewT.setUint8(index++, viewS.getUint8(first++)); + }return result; + } + }); + + interopDefault(require$$0$35)(ARRAY_BUFFER); + }); + + interopDefault(es6_typed_arrayBuffer); + + var es6_typed_dataView = createCommonjsModule(function (module) { + var $export = interopDefault(require$$1$2); + $export($export.G + $export.W + $export.F * !interopDefault(require$$33).ABV, { + DataView: interopDefault(require$$32).DataView + }); + }); + + interopDefault(es6_typed_dataView); + + var _typedArray = createCommonjsModule(function (module) { + 'use strict'; + + if (interopDefault(require$$1)) { + var LIBRARY = interopDefault(require$$2$4), + global = interopDefault(require$$3), + fails = interopDefault(require$$1$1), + $export = interopDefault(require$$1$2), + $typed = interopDefault(require$$33), + $buffer = interopDefault(require$$32), + ctx = interopDefault(require$$31), + anInstance = interopDefault(require$$4$6), + propertyDesc = interopDefault(require$$2$3), + hide = interopDefault(require$$2), + redefineAll = interopDefault(require$$3$7), + toInteger = interopDefault(require$$26), + toLength = interopDefault(require$$3$1), + toIndex = interopDefault(require$$24), + toPrimitive = interopDefault(require$$4$1), + has = interopDefault(require$$4), + same = interopDefault(require$$21), + classof = interopDefault(require$$1$11), + isObject = interopDefault(require$$0$1), + toObject = interopDefault(require$$5$1), + isArrayIter = interopDefault(require$$17), + create = interopDefault(require$$6$1), + getPrototypeOf = interopDefault(require$$0$13), + gOPN = interopDefault(require$$3$3).f, + getIterFn = interopDefault(require$$13), + uid = interopDefault(require$$12), + wks = interopDefault(require$$0$4), + createArrayMethod = interopDefault(require$$10), + createArrayIncludes = interopDefault(require$$1$9), + speciesConstructor = interopDefault(require$$8), + ArrayIterators = interopDefault(require$$5$3), + Iterators = interopDefault(require$$1$15), + $iterDetect = interopDefault(require$$5$2), + setSpecies = interopDefault(require$$0$35), + arrayFill = interopDefault(require$$3$5), + arrayCopyWithin = interopDefault(require$$2$9), + $DP = interopDefault(require$$2$1), + $GOPD = interopDefault(require$$2$7), + dP = $DP.f, + gOPD = $GOPD.f, + RangeError = global.RangeError, + TypeError = global.TypeError, + Uint8Array = global.Uint8Array, + ARRAY_BUFFER = 'ArrayBuffer', + SHARED_BUFFER = 'Shared' + ARRAY_BUFFER, + BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT', + PROTOTYPE = 'prototype', + ArrayProto = Array[PROTOTYPE], + $ArrayBuffer = $buffer.ArrayBuffer, + $DataView = $buffer.DataView, + arrayForEach = createArrayMethod(0), + arrayFilter = createArrayMethod(2), + arraySome = createArrayMethod(3), + arrayEvery = createArrayMethod(4), + arrayFind = createArrayMethod(5), + arrayFindIndex = createArrayMethod(6), + arrayIncludes = createArrayIncludes(true), + arrayIndexOf = createArrayIncludes(false), + arrayValues = ArrayIterators.values, + arrayKeys = ArrayIterators.keys, + arrayEntries = ArrayIterators.entries, + arrayLastIndexOf = ArrayProto.lastIndexOf, + arrayReduce = ArrayProto.reduce, + arrayReduceRight = ArrayProto.reduceRight, + arrayJoin = ArrayProto.join, + arraySort = ArrayProto.sort, + arraySlice = ArrayProto.slice, + arrayToString = ArrayProto.toString, + arrayToLocaleString = ArrayProto.toLocaleString, + ITERATOR = wks('iterator'), + TAG = wks('toStringTag'), + TYPED_CONSTRUCTOR = uid('typed_constructor'), + DEF_CONSTRUCTOR = uid('def_constructor'), + ALL_CONSTRUCTORS = $typed.CONSTR, + TYPED_ARRAY = $typed.TYPED, + VIEW = $typed.VIEW, + WRONG_LENGTH = 'Wrong length!'; + + var $map = createArrayMethod(1, function (O, length) { + return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length); + }); + + var LITTLE_ENDIAN = fails(function () { + return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1; + }); + + var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () { + new Uint8Array(1).set({}); + }); + + var strictToLength = function strictToLength(it, SAME) { + if (it === undefined) throw TypeError(WRONG_LENGTH); + var number = +it, + length = toLength(it); + if (SAME && !same(number, length)) throw RangeError(WRONG_LENGTH); + return length; + }; + + var toOffset = function toOffset(it, BYTES) { + var offset = toInteger(it); + if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!'); + return offset; + }; + + var validate = function validate(it) { + if (isObject(it) && TYPED_ARRAY in it) return it; + throw TypeError(it + ' is not a typed array!'); + }; + + var allocate = function allocate(C, length) { + if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) { + throw TypeError('It is not a typed array constructor!'); + }return new C(length); + }; + + var speciesFromList = function speciesFromList(O, list) { + return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list); + }; + + var fromList = function fromList(C, list) { + var index = 0, + length = list.length, + result = allocate(C, length); + while (length > index) { + result[index] = list[index++]; + }return result; + }; + + var addGetter = function addGetter(it, key, internal) { + dP(it, key, { get: function get() { + return this._d[internal]; + } }); + }; + + var $from = function from(source /*, mapfn, thisArg */) { + var O = toObject(source), + aLen = arguments.length, + mapfn = aLen > 1 ? arguments[1] : undefined, + mapping = mapfn !== undefined, + iterFn = getIterFn(O), + i, + length, + values, + result, + step, + iterator; + if (iterFn != undefined && !isArrayIter(iterFn)) { + for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) { + values.push(step.value); + }O = values; + } + if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2); + for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) { + result[i] = mapping ? mapfn(O[i], i) : O[i]; + } + return result; + }; + + var $of = function of() /*...items*/{ + var index = 0, + length = arguments.length, + result = allocate(this, length); + while (length > index) { + result[index] = arguments[index++]; + }return result; + }; + + // iOS Safari 6.x fails here + var TO_LOCALE_BUG = !!Uint8Array && fails(function () { + arrayToLocaleString.call(new Uint8Array(1)); + }); + + var $toLocaleString = function toLocaleString() { + return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments); + }; + + var proto = { + copyWithin: function copyWithin(target, start /*, end */) { + return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined); + }, + every: function every(callbackfn /*, thisArg */) { + return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + }, + fill: function fill(value /*, start, end */) { + // eslint-disable-line no-unused-vars + return arrayFill.apply(validate(this), arguments); + }, + filter: function filter(callbackfn /*, thisArg */) { + return speciesFromList(this, arrayFilter(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined)); + }, + find: function find(predicate /*, thisArg */) { + return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined); + }, + findIndex: function findIndex(predicate /*, thisArg */) { + return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined); + }, + forEach: function forEach(callbackfn /*, thisArg */) { + arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + }, + indexOf: function indexOf(searchElement /*, fromIndex */) { + return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); + }, + includes: function includes(searchElement /*, fromIndex */) { + return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); + }, + join: function join(separator) { + // eslint-disable-line no-unused-vars + return arrayJoin.apply(validate(this), arguments); + }, + lastIndexOf: function lastIndexOf(searchElement /*, fromIndex */) { + // eslint-disable-line no-unused-vars + return arrayLastIndexOf.apply(validate(this), arguments); + }, + map: function map(mapfn /*, thisArg */) { + return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined); + }, + reduce: function reduce(callbackfn /*, initialValue */) { + // eslint-disable-line no-unused-vars + return arrayReduce.apply(validate(this), arguments); + }, + reduceRight: function reduceRight(callbackfn /*, initialValue */) { + // eslint-disable-line no-unused-vars + return arrayReduceRight.apply(validate(this), arguments); + }, + reverse: function reverse() { + var that = this, + length = validate(that).length, + middle = Math.floor(length / 2), + index = 0, + value; + while (index < middle) { + value = that[index]; + that[index++] = that[--length]; + that[length] = value; + }return that; + }, + some: function some(callbackfn /*, thisArg */) { + return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + }, + sort: function sort(comparefn) { + return arraySort.call(validate(this), comparefn); + }, + subarray: function subarray(begin, end) { + var O = validate(this), + length = O.length, + $begin = toIndex(begin, length); + return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(O.buffer, O.byteOffset + $begin * O.BYTES_PER_ELEMENT, toLength((end === undefined ? length : toIndex(end, length)) - $begin)); + } + }; + + var $slice = function slice(start, end) { + return speciesFromList(this, arraySlice.call(validate(this), start, end)); + }; + + var $set = function set(arrayLike /*, offset */) { + validate(this); + var offset = toOffset(arguments[1], 1), + length = this.length, + src = toObject(arrayLike), + len = toLength(src.length), + index = 0; + if (len + offset > length) throw RangeError(WRONG_LENGTH); + while (index < len) { + this[offset + index] = src[index++]; + } + }; + + var $iterators = { + entries: function entries() { + return arrayEntries.call(validate(this)); + }, + keys: function keys() { + return arrayKeys.call(validate(this)); + }, + values: function values() { + return arrayValues.call(validate(this)); + } + }; + + var isTAIndex = function isTAIndex(target, key) { + return isObject(target) && target[TYPED_ARRAY] && (typeof key === 'undefined' ? 'undefined' : _typeof(key)) != 'symbol' && key in target && String(+key) == String(key); + }; + var $getDesc = function getOwnPropertyDescriptor(target, key) { + return isTAIndex(target, key = toPrimitive(key, true)) ? propertyDesc(2, target[key]) : gOPD(target, key); + }; + var $setDesc = function defineProperty(target, key, desc) { + if (isTAIndex(target, key = toPrimitive(key, true)) && isObject(desc) && has(desc, 'value') && !has(desc, 'get') && !has(desc, 'set') + // TODO: add validation descriptor w/o calling accessors + && !desc.configurable && (!has(desc, 'writable') || desc.writable) && (!has(desc, 'enumerable') || desc.enumerable)) { + target[key] = desc.value; + return target; + } else return dP(target, key, desc); + }; + + if (!ALL_CONSTRUCTORS) { + $GOPD.f = $getDesc; + $DP.f = $setDesc; + } + + $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', { + getOwnPropertyDescriptor: $getDesc, + defineProperty: $setDesc + }); + + if (fails(function () { + arrayToString.call({}); + })) { + arrayToString = arrayToLocaleString = function toString() { + return arrayJoin.call(this); + }; + } + + var $TypedArrayPrototype$ = redefineAll({}, proto); + redefineAll($TypedArrayPrototype$, $iterators); + hide($TypedArrayPrototype$, ITERATOR, $iterators.values); + redefineAll($TypedArrayPrototype$, { + slice: $slice, + set: $set, + constructor: function constructor() {/* noop */}, + toString: arrayToString, + toLocaleString: $toLocaleString + }); + addGetter($TypedArrayPrototype$, 'buffer', 'b'); + addGetter($TypedArrayPrototype$, 'byteOffset', 'o'); + addGetter($TypedArrayPrototype$, 'byteLength', 'l'); + addGetter($TypedArrayPrototype$, 'length', 'e'); + dP($TypedArrayPrototype$, TAG, { + get: function get() { + return this[TYPED_ARRAY]; + } + }); + + module.exports = function (KEY, BYTES, wrapper, CLAMPED) { + CLAMPED = !!CLAMPED; + var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array', + ISNT_UINT8 = NAME != 'Uint8Array', + GETTER = 'get' + KEY, + SETTER = 'set' + KEY, + TypedArray = global[NAME], + Base = TypedArray || {}, + TAC = TypedArray && getPrototypeOf(TypedArray), + FORCED = !TypedArray || !$typed.ABV, + O = {}, + TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE]; + var getter = function getter(that, index) { + var data = that._d; + return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN); + }; + var setter = function setter(that, index, value) { + var data = that._d; + if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff; + data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN); + }; + var addElement = function addElement(that, index) { + dP(that, index, { + get: function get() { + return getter(this, index); + }, + set: function set(value) { + return setter(this, index, value); + }, + enumerable: true + }); + }; + if (FORCED) { + TypedArray = wrapper(function (that, data, $offset, $length) { + anInstance(that, TypedArray, NAME, '_d'); + var index = 0, + offset = 0, + buffer, + byteLength, + length, + klass; + if (!isObject(data)) { + length = strictToLength(data, true); + byteLength = length * BYTES; + buffer = new $ArrayBuffer(byteLength); + } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) { + buffer = data; + offset = toOffset($offset, BYTES); + var $len = data.byteLength; + if ($length === undefined) { + if ($len % BYTES) throw RangeError(WRONG_LENGTH); + byteLength = $len - offset; + if (byteLength < 0) throw RangeError(WRONG_LENGTH); + } else { + byteLength = toLength($length) * BYTES; + if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH); + } + length = byteLength / BYTES; + } else if (TYPED_ARRAY in data) { + return fromList(TypedArray, data); + } else { + return $from.call(TypedArray, data); + } + hide(that, '_d', { + b: buffer, + o: offset, + l: byteLength, + e: length, + v: new $DataView(buffer) + }); + while (index < length) { + addElement(that, index++); + } + }); + TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$); + hide(TypedArrayPrototype, 'constructor', TypedArray); + } else if (!$iterDetect(function (iter) { + // V8 works with iterators, but fails in many other cases + // https://code.google.com/p/v8/issues/detail?id=4552 + new TypedArray(null); // eslint-disable-line no-new + new TypedArray(iter); // eslint-disable-line no-new + }, true)) { + TypedArray = wrapper(function (that, data, $offset, $length) { + anInstance(that, TypedArray, NAME); + var klass; + // `ws` module bug, temporarily remove validation length for Uint8Array + // https://github.com/websockets/ws/pull/645 + if (!isObject(data)) return new Base(strictToLength(data, ISNT_UINT8)); + if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) { + return $length !== undefined ? new Base(data, toOffset($offset, BYTES), $length) : $offset !== undefined ? new Base(data, toOffset($offset, BYTES)) : new Base(data); + } + if (TYPED_ARRAY in data) return fromList(TypedArray, data); + return $from.call(TypedArray, data); + }); + arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) { + if (!(key in TypedArray)) hide(TypedArray, key, Base[key]); + }); + TypedArray[PROTOTYPE] = TypedArrayPrototype; + if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray; + } + var $nativeIterator = TypedArrayPrototype[ITERATOR], + CORRECT_ITER_NAME = !!$nativeIterator && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined), + $iterator = $iterators.values; + hide(TypedArray, TYPED_CONSTRUCTOR, true); + hide(TypedArrayPrototype, TYPED_ARRAY, NAME); + hide(TypedArrayPrototype, VIEW, true); + hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray); + + if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) { + dP(TypedArrayPrototype, TAG, { + get: function get() { + return NAME; + } + }); + } + + O[NAME] = TypedArray; + + $export($export.G + $export.W + $export.F * (TypedArray != Base), O); + + $export($export.S, NAME, { + BYTES_PER_ELEMENT: BYTES, + from: $from, + of: $of + }); + + if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES); + + $export($export.P, NAME, proto); + + setSpecies(NAME); + + $export($export.P + $export.F * FORCED_SET, NAME, { set: $set }); + + $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators); + + $export($export.P + $export.F * (TypedArrayPrototype.toString != arrayToString), NAME, { toString: arrayToString }); + + $export($export.P + $export.F * fails(function () { + new TypedArray(1).slice(); + }), NAME, { slice: $slice }); + + $export($export.P + $export.F * (fails(function () { + return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString(); + }) || !fails(function () { + TypedArrayPrototype.toLocaleString.call([1, 2]); + })), NAME, { toLocaleString: $toLocaleString }); + + Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator; + if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator); + }; + } else module.exports = function () {/* empty */}; + }); + + var _typedArray$1 = interopDefault(_typedArray); + + + + var require$$0$39 = Object.freeze({ + default: _typedArray$1 + }); + + var es6_typed_int8Array = createCommonjsModule(function (module) { + interopDefault(require$$0$39)('Int8', 1, function (init) { + return function Int8Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; + }); + }); + + interopDefault(es6_typed_int8Array); + + var es6_typed_uint8Array = createCommonjsModule(function (module) { + interopDefault(require$$0$39)('Uint8', 1, function (init) { + return function Uint8Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; + }); + }); + + interopDefault(es6_typed_uint8Array); + + var es6_typed_uint8ClampedArray = createCommonjsModule(function (module) { + interopDefault(require$$0$39)('Uint8', 1, function (init) { + return function Uint8ClampedArray(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; + }, true); + }); + + interopDefault(es6_typed_uint8ClampedArray); + + var es6_typed_int16Array = createCommonjsModule(function (module) { + interopDefault(require$$0$39)('Int16', 2, function (init) { + return function Int16Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; + }); + }); + + interopDefault(es6_typed_int16Array); + + var es6_typed_uint16Array = createCommonjsModule(function (module) { + interopDefault(require$$0$39)('Uint16', 2, function (init) { + return function Uint16Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; + }); + }); + + interopDefault(es6_typed_uint16Array); + + var es6_typed_int32Array = createCommonjsModule(function (module) { + interopDefault(require$$0$39)('Int32', 4, function (init) { + return function Int32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; + }); + }); + + interopDefault(es6_typed_int32Array); + + var es6_typed_uint32Array = createCommonjsModule(function (module) { + interopDefault(require$$0$39)('Uint32', 4, function (init) { + return function Uint32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; + }); + }); + + interopDefault(es6_typed_uint32Array); + + var es6_typed_float32Array = createCommonjsModule(function (module) { + interopDefault(require$$0$39)('Float32', 4, function (init) { + return function Float32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; + }); + }); + + interopDefault(es6_typed_float32Array); + + var es6_typed_float64Array = createCommonjsModule(function (module) { + interopDefault(require$$0$39)('Float64', 8, function (init) { + return function Float64Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; + }); + }); + + interopDefault(es6_typed_float64Array); + + var es6_reflect_apply = createCommonjsModule(function (module) { + // 26.1.1 Reflect.apply(target, thisArgument, argumentsList) + var $export = interopDefault(require$$1$2), + aFunction = interopDefault(require$$0$2), + anObject = interopDefault(require$$5), + rApply = (interopDefault(require$$3).Reflect || {}).apply, + fApply = Function.apply; + // MS Edge argumentsList argument is optional + $export($export.S + $export.F * !interopDefault(require$$1$1)(function () { + rApply(function () {}); + }), 'Reflect', { + apply: function apply(target, thisArgument, argumentsList) { + var T = aFunction(target), + L = anObject(argumentsList); + return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L); + } + }); + }); + + interopDefault(es6_reflect_apply); + + var es6_reflect_construct = createCommonjsModule(function (module) { + // 26.1.2 Reflect.construct(target, argumentsList [, newTarget]) + var $export = interopDefault(require$$1$2), + create = interopDefault(require$$6$1), + aFunction = interopDefault(require$$0$2), + anObject = interopDefault(require$$5), + isObject = interopDefault(require$$0$1), + fails = interopDefault(require$$1$1), + bind = interopDefault(require$$1$12), + rConstruct = (interopDefault(require$$3).Reflect || {}).construct; + + // MS Edge supports only 2 arguments and argumentsList argument is optional + // FF Nightly sets third argument as `new.target`, but does not create `this` from it + var NEW_TARGET_BUG = fails(function () { + function F() {} + return !(rConstruct(function () {}, [], F) instanceof F); + }); + var ARGS_BUG = !fails(function () { + rConstruct(function () {}); + }); + + $export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', { + construct: function construct(Target, args /*, newTarget*/) { + aFunction(Target); + anObject(args); + var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]); + if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget); + if (Target == newTarget) { + // w/o altered newTarget, optimization for 0-4 arguments + switch (args.length) { + case 0: + return new Target(); + case 1: + return new Target(args[0]); + case 2: + return new Target(args[0], args[1]); + case 3: + return new Target(args[0], args[1], args[2]); + case 4: + return new Target(args[0], args[1], args[2], args[3]); + } + // w/o altered newTarget, lot of arguments case + var $args = [null]; + $args.push.apply($args, args); + return new (bind.apply(Target, $args))(); + } + // with altered newTarget, not support built-in constructors + var proto = newTarget.prototype, + instance = create(isObject(proto) ? proto : Object.prototype), + result = Function.apply.call(Target, instance, args); + return isObject(result) ? result : instance; + } + }); + }); + + interopDefault(es6_reflect_construct); + + var es6_reflect_defineProperty = createCommonjsModule(function (module) { + // 26.1.3 Reflect.defineProperty(target, propertyKey, attributes) + var dP = interopDefault(require$$2$1), + $export = interopDefault(require$$1$2), + anObject = interopDefault(require$$5), + toPrimitive = interopDefault(require$$4$1); + + // MS Edge has broken Reflect.defineProperty - throwing instead of returning false + $export($export.S + $export.F * interopDefault(require$$1$1)(function () { + Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 }); + }), 'Reflect', { + defineProperty: function defineProperty(target, propertyKey, attributes) { + anObject(target); + propertyKey = toPrimitive(propertyKey, true); + anObject(attributes); + try { + dP.f(target, propertyKey, attributes); + return true; + } catch (e) { + return false; + } + } + }); + }); + + interopDefault(es6_reflect_defineProperty); + + var es6_reflect_deleteProperty = createCommonjsModule(function (module) { + // 26.1.4 Reflect.deleteProperty(target, propertyKey) + var $export = interopDefault(require$$1$2), + gOPD = interopDefault(require$$2$7).f, + anObject = interopDefault(require$$5); + + $export($export.S, 'Reflect', { + deleteProperty: function deleteProperty(target, propertyKey) { + var desc = gOPD(anObject(target), propertyKey); + return desc && !desc.configurable ? false : delete target[propertyKey]; + } + }); + }); + + interopDefault(es6_reflect_deleteProperty); + + var es6_reflect_enumerate = createCommonjsModule(function (module) { + 'use strict'; + // 26.1.5 Reflect.enumerate(target) + + var $export = interopDefault(require$$1$2), + anObject = interopDefault(require$$5); + var Enumerate = function Enumerate(iterated) { + this._t = anObject(iterated); // target + this._i = 0; // next index + var keys = this._k = [] // keys + , + key; + for (key in iterated) { + keys.push(key); + } + }; + interopDefault(require$$0$26)(Enumerate, 'Object', function () { + var that = this, + keys = that._k, + key; + do { + if (that._i >= keys.length) return { value: undefined, done: true }; + } while (!((key = keys[that._i++]) in that._t)); + return { value: key, done: false }; + }); + + $export($export.S, 'Reflect', { + enumerate: function enumerate(target) { + return new Enumerate(target); + } + }); + }); + + interopDefault(es6_reflect_enumerate); + + var es6_reflect_get = createCommonjsModule(function (module) { + // 26.1.6 Reflect.get(target, propertyKey [, receiver]) + var gOPD = interopDefault(require$$2$7), + getPrototypeOf = interopDefault(require$$0$13), + has = interopDefault(require$$4), + $export = interopDefault(require$$1$2), + isObject = interopDefault(require$$0$1), + anObject = interopDefault(require$$5); + + function get(target, propertyKey /*, receiver*/) { + var receiver = arguments.length < 3 ? target : arguments[2], + desc, + proto; + if (anObject(target) === receiver) return target[propertyKey]; + if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value') ? desc.value : desc.get !== undefined ? desc.get.call(receiver) : undefined; + if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver); + } + + $export($export.S, 'Reflect', { get: get }); + }); + + interopDefault(es6_reflect_get); + + var es6_reflect_getOwnPropertyDescriptor = createCommonjsModule(function (module) { + // 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey) + var gOPD = interopDefault(require$$2$7), + $export = interopDefault(require$$1$2), + anObject = interopDefault(require$$5); + + $export($export.S, 'Reflect', { + getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) { + return gOPD.f(anObject(target), propertyKey); + } + }); + }); + + interopDefault(es6_reflect_getOwnPropertyDescriptor); + + var es6_reflect_getPrototypeOf = createCommonjsModule(function (module) { + // 26.1.8 Reflect.getPrototypeOf(target) + var $export = interopDefault(require$$1$2), + getProto = interopDefault(require$$0$13), + anObject = interopDefault(require$$5); + + $export($export.S, 'Reflect', { + getPrototypeOf: function getPrototypeOf(target) { + return getProto(anObject(target)); + } + }); + }); + + interopDefault(es6_reflect_getPrototypeOf); + + var es6_reflect_has = createCommonjsModule(function (module) { + // 26.1.9 Reflect.has(target, propertyKey) + var $export = interopDefault(require$$1$2); + + $export($export.S, 'Reflect', { + has: function has(target, propertyKey) { + return propertyKey in target; + } + }); + }); + + interopDefault(es6_reflect_has); + + var es6_reflect_isExtensible = createCommonjsModule(function (module) { + // 26.1.10 Reflect.isExtensible(target) + var $export = interopDefault(require$$1$2), + anObject = interopDefault(require$$5), + $isExtensible = Object.isExtensible; + + $export($export.S, 'Reflect', { + isExtensible: function isExtensible(target) { + anObject(target); + return $isExtensible ? $isExtensible(target) : true; + } + }); + }); + + interopDefault(es6_reflect_isExtensible); + + var _ownKeys = createCommonjsModule(function (module) { + // all object keys, includes non-enumerable and symbols + var gOPN = interopDefault(require$$3$3), + gOPS = interopDefault(require$$2$6), + anObject = interopDefault(require$$5), + Reflect = interopDefault(require$$3).Reflect; + module.exports = Reflect && Reflect.ownKeys || function ownKeys(it) { + var keys = gOPN.f(anObject(it)), + getSymbols = gOPS.f; + return getSymbols ? keys.concat(getSymbols(it)) : keys; + }; + }); + + var _ownKeys$1 = interopDefault(_ownKeys); + +var require$$3$9 = Object.freeze({ + default: _ownKeys$1 + }); + + var es6_reflect_ownKeys = createCommonjsModule(function (module) { + // 26.1.11 Reflect.ownKeys(target) + var $export = interopDefault(require$$1$2); + + $export($export.S, 'Reflect', { ownKeys: interopDefault(require$$3$9) }); + }); + + interopDefault(es6_reflect_ownKeys); + + var es6_reflect_preventExtensions = createCommonjsModule(function (module) { + // 26.1.12 Reflect.preventExtensions(target) + var $export = interopDefault(require$$1$2), + anObject = interopDefault(require$$5), + $preventExtensions = Object.preventExtensions; + + $export($export.S, 'Reflect', { + preventExtensions: function preventExtensions(target) { + anObject(target); + try { + if ($preventExtensions) $preventExtensions(target); + return true; + } catch (e) { + return false; + } + } + }); + }); + + interopDefault(es6_reflect_preventExtensions); + + var es6_reflect_set = createCommonjsModule(function (module) { + // 26.1.13 Reflect.set(target, propertyKey, V [, receiver]) + var dP = interopDefault(require$$2$1), + gOPD = interopDefault(require$$2$7), + getPrototypeOf = interopDefault(require$$0$13), + has = interopDefault(require$$4), + $export = interopDefault(require$$1$2), + createDesc = interopDefault(require$$2$3), + anObject = interopDefault(require$$5), + isObject = interopDefault(require$$0$1); + + function set(target, propertyKey, V /*, receiver*/) { + var receiver = arguments.length < 4 ? target : arguments[3], + ownDesc = gOPD.f(anObject(target), propertyKey), + existingDescriptor, + proto; + if (!ownDesc) { + if (isObject(proto = getPrototypeOf(target))) { + return set(proto, propertyKey, V, receiver); + } + ownDesc = createDesc(0); + } + if (has(ownDesc, 'value')) { + if (ownDesc.writable === false || !isObject(receiver)) return false; + existingDescriptor = gOPD.f(receiver, propertyKey) || createDesc(0); + existingDescriptor.value = V; + dP.f(receiver, propertyKey, existingDescriptor); + return true; + } + return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true); + } + + $export($export.S, 'Reflect', { set: set }); + }); + + interopDefault(es6_reflect_set); + + var es6_reflect_setPrototypeOf = createCommonjsModule(function (module) { + // 26.1.14 Reflect.setPrototypeOf(target, proto) + var $export = interopDefault(require$$1$2), + setProto = interopDefault(require$$0$14); + + if (setProto) $export($export.S, 'Reflect', { + setPrototypeOf: function setPrototypeOf(target, proto) { + setProto.check(target, proto); + try { + setProto.set(target, proto); + return true; + } catch (e) { + return false; + } + } + }); + }); + + interopDefault(es6_reflect_setPrototypeOf); + + var es7_array_includes = createCommonjsModule(function (module) { + 'use strict'; + // https://github.com/tc39/Array.prototype.includes + + var $export = interopDefault(require$$1$2), + $includes = interopDefault(require$$1$9)(true); + + $export($export.P, 'Array', { + includes: function includes(el /*, fromIndex = 0 */) { + return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); + } + }); + + interopDefault(require$$0$34)('includes'); + }); + + interopDefault(es7_array_includes); + + var es7_string_at = createCommonjsModule(function (module) { + 'use strict'; + // https://github.com/mathiasbynens/String.prototype.at + + var $export = interopDefault(require$$1$2), + $at = interopDefault(require$$0$25)(true); + + $export($export.P, 'String', { + at: function at(pos) { + return $at(this, pos); + } + }); + }); + + interopDefault(es7_string_at); + + var _stringPad = createCommonjsModule(function (module) { + // https://github.com/tc39/proposal-string-pad-start-end + var toLength = interopDefault(require$$3$1), + repeat = interopDefault(require$$1$14), + defined = interopDefault(require$$4$3); + + module.exports = function (that, maxLength, fillString, left) { + var S = String(defined(that)), + stringLength = S.length, + fillStr = fillString === undefined ? ' ' : String(fillString), + intMaxLength = toLength(maxLength); + if (intMaxLength <= stringLength || fillStr == '') return S; + var fillLen = intMaxLength - stringLength, + stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length)); + if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen); + return left ? stringFiller + S : S + stringFiller; + }; + }); + + var _stringPad$1 = interopDefault(_stringPad); + +var require$$0$40 = Object.freeze({ + default: _stringPad$1 + }); + + var es7_string_padStart = createCommonjsModule(function (module) { + 'use strict'; + // https://github.com/tc39/proposal-string-pad-start-end + + var $export = interopDefault(require$$1$2), + $pad = interopDefault(require$$0$40); + + $export($export.P, 'String', { + padStart: function padStart(maxLength /*, fillString = ' ' */) { + return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true); + } + }); + }); + + interopDefault(es7_string_padStart); + + var es7_string_padEnd = createCommonjsModule(function (module) { + 'use strict'; + // https://github.com/tc39/proposal-string-pad-start-end + + var $export = interopDefault(require$$1$2), + $pad = interopDefault(require$$0$40); + + $export($export.P, 'String', { + padEnd: function padEnd(maxLength /*, fillString = ' ' */) { + return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false); + } + }); + }); + + interopDefault(es7_string_padEnd); + + var es7_string_trimLeft = createCommonjsModule(function (module) { + 'use strict'; + // https://github.com/sebmarkbage/ecmascript-string-left-right-trim + + interopDefault(require$$0$16)('trimLeft', function ($trim) { + return function trimLeft() { + return $trim(this, 1); + }; + }, 'trimStart'); + }); + + interopDefault(es7_string_trimLeft); + + var es7_string_trimRight = createCommonjsModule(function (module) { + 'use strict'; + // https://github.com/sebmarkbage/ecmascript-string-left-right-trim + + interopDefault(require$$0$16)('trimRight', function ($trim) { + return function trimRight() { + return $trim(this, 2); + }; + }, 'trimEnd'); + }); + + interopDefault(es7_string_trimRight); + + var es7_string_matchAll = createCommonjsModule(function (module) { + 'use strict'; + // https://tc39.github.io/String.prototype.matchAll/ + + var $export = interopDefault(require$$1$2), + defined = interopDefault(require$$4$3), + toLength = interopDefault(require$$3$1), + isRegExp = interopDefault(require$$2$8), + getFlags = interopDefault(require$$1$18), + RegExpProto = RegExp.prototype; + + var $RegExpStringIterator = function $RegExpStringIterator(regexp, string) { + this._r = regexp; + this._s = string; + }; + + interopDefault(require$$0$26)($RegExpStringIterator, 'RegExp String', function next() { + var match = this._r.exec(this._s); + return { value: match, done: match === null }; + }); + + $export($export.P, 'String', { + matchAll: function matchAll(regexp) { + defined(this); + if (!isRegExp(regexp)) throw TypeError(regexp + ' is not a regexp!'); + var S = String(this), + flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp), + rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags); + rx.lastIndex = toLength(regexp.lastIndex); + return new $RegExpStringIterator(rx, S); + } + }); + }); + + interopDefault(es7_string_matchAll); + + var es7_symbol_asyncIterator = createCommonjsModule(function (module) { + interopDefault(require$$0$5)('asyncIterator'); + }); + + interopDefault(es7_symbol_asyncIterator); + + var es7_symbol_observable = createCommonjsModule(function (module) { + interopDefault(require$$0$5)('observable'); + }); + + interopDefault(es7_symbol_observable); + + var es7_object_getOwnPropertyDescriptors = createCommonjsModule(function (module) { + // https://github.com/tc39/proposal-object-getownpropertydescriptors + var $export = interopDefault(require$$1$2), + ownKeys = interopDefault(require$$3$9), + toIObject = interopDefault(require$$1$7), + gOPD = interopDefault(require$$2$7), + createProperty = interopDefault(require$$0$30); + + $export($export.S, 'Object', { + getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) { + var O = toIObject(object), + getDesc = gOPD.f, + keys = ownKeys(O), + result = {}, + i = 0, + key; + while (keys.length > i) { + createProperty(result, key = keys[i++], getDesc(O, key)); + }return result; + } + }); + }); + + interopDefault(es7_object_getOwnPropertyDescriptors); + + var _objectToArray = createCommonjsModule(function (module) { + var getKeys = interopDefault(require$$2$5), + toIObject = interopDefault(require$$1$7), + isEnum = interopDefault(require$$0$9).f; + module.exports = function (isEntries) { + return function (it) { + var O = toIObject(it), + keys = getKeys(O), + length = keys.length, + i = 0, + result = [], + key; + while (length > i) { + if (isEnum.call(O, key = keys[i++])) { + result.push(isEntries ? [key, O[key]] : O[key]); + } + }return result; + }; + }; + }); + + var _objectToArray$1 = interopDefault(_objectToArray); + +var require$$0$41 = Object.freeze({ + default: _objectToArray$1 + }); + + var es7_object_values = createCommonjsModule(function (module) { + // https://github.com/tc39/proposal-object-values-entries + var $export = interopDefault(require$$1$2), + $values = interopDefault(require$$0$41)(false); + + $export($export.S, 'Object', { + values: function values(it) { + return $values(it); + } + }); + }); + + interopDefault(es7_object_values); + + var es7_object_entries = createCommonjsModule(function (module) { + // https://github.com/tc39/proposal-object-values-entries + var $export = interopDefault(require$$1$2), + $entries = interopDefault(require$$0$41)(true); + + $export($export.S, 'Object', { + entries: function entries(it) { + return $entries(it); + } + }); + }); + + interopDefault(es7_object_entries); + + var _objectForcedPam = createCommonjsModule(function (module) { + // Forced replacement prototype accessors methods + module.exports = interopDefault(require$$2$4) || !interopDefault(require$$1$1)(function () { + var K = Math.random(); + // In FF throws only define methods + __defineSetter__.call(null, K, function () {/* empty */}); + delete interopDefault(require$$3)[K]; + }); + }); + + var _objectForcedPam$1 = interopDefault(_objectForcedPam); + +var require$$0$42 = Object.freeze({ + default: _objectForcedPam$1 + }); + + var es7_object_defineGetter = createCommonjsModule(function (module) { + 'use strict'; + + var $export = interopDefault(require$$1$2), + toObject = interopDefault(require$$5$1), + aFunction = interopDefault(require$$0$2), + $defineProperty = interopDefault(require$$2$1); + + // B.2.2.2 Object.prototype.__defineGetter__(P, getter) + interopDefault(require$$1) && $export($export.P + interopDefault(require$$0$42), 'Object', { + __defineGetter__: function __defineGetter__(P, getter) { + $defineProperty.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true }); + } + }); + }); + + interopDefault(es7_object_defineGetter); + + var es7_object_defineSetter = createCommonjsModule(function (module) { + 'use strict'; + + var $export = interopDefault(require$$1$2), + toObject = interopDefault(require$$5$1), + aFunction = interopDefault(require$$0$2), + $defineProperty = interopDefault(require$$2$1); + + // B.2.2.3 Object.prototype.__defineSetter__(P, setter) + interopDefault(require$$1) && $export($export.P + interopDefault(require$$0$42), 'Object', { + __defineSetter__: function __defineSetter__(P, setter) { + $defineProperty.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true }); + } + }); + }); + + interopDefault(es7_object_defineSetter); + + var es7_object_lookupGetter = createCommonjsModule(function (module) { + 'use strict'; + + var $export = interopDefault(require$$1$2), + toObject = interopDefault(require$$5$1), + toPrimitive = interopDefault(require$$4$1), + getPrototypeOf = interopDefault(require$$0$13), + getOwnPropertyDescriptor = interopDefault(require$$2$7).f; + + // B.2.2.4 Object.prototype.__lookupGetter__(P) + interopDefault(require$$1) && $export($export.P + interopDefault(require$$0$42), 'Object', { + __lookupGetter__: function __lookupGetter__(P) { + var O = toObject(this), + K = toPrimitive(P, true), + D; + do { + if (D = getOwnPropertyDescriptor(O, K)) return D.get; + } while (O = getPrototypeOf(O)); + } + }); + }); + + interopDefault(es7_object_lookupGetter); + + var es7_object_lookupSetter = createCommonjsModule(function (module) { + 'use strict'; + + var $export = interopDefault(require$$1$2), + toObject = interopDefault(require$$5$1), + toPrimitive = interopDefault(require$$4$1), + getPrototypeOf = interopDefault(require$$0$13), + getOwnPropertyDescriptor = interopDefault(require$$2$7).f; + + // B.2.2.5 Object.prototype.__lookupSetter__(P) + interopDefault(require$$1) && $export($export.P + interopDefault(require$$0$42), 'Object', { + __lookupSetter__: function __lookupSetter__(P) { + var O = toObject(this), + K = toPrimitive(P, true), + D; + do { + if (D = getOwnPropertyDescriptor(O, K)) return D.set; + } while (O = getPrototypeOf(O)); + } + }); + }); + + interopDefault(es7_object_lookupSetter); + + var _arrayFromIterable = createCommonjsModule(function (module) { + var forOf = interopDefault(require$$1$20); + + module.exports = function (iter, ITERATOR) { + var result = []; + forOf(iter, false, result.push, result, ITERATOR); + return result; + }; + }); + + var _arrayFromIterable$1 = interopDefault(_arrayFromIterable); + +var require$$3$10 = Object.freeze({ + default: _arrayFromIterable$1 + }); + + var _collectionToJson = createCommonjsModule(function (module) { + // https://github.com/DavidBruant/Map-Set.prototype.toJSON + var classof = interopDefault(require$$1$11), + from = interopDefault(require$$3$10); + module.exports = function (NAME) { + return function toJSON() { + if (classof(this) != NAME) throw TypeError(NAME + "#toJSON isn't generic"); + return from(this); + }; + }; + }); + + var _collectionToJson$1 = interopDefault(_collectionToJson); + +var require$$0$43 = Object.freeze({ + default: _collectionToJson$1 + }); + + var es7_map_toJson = createCommonjsModule(function (module) { + // https://github.com/DavidBruant/Map-Set.prototype.toJSON + var $export = interopDefault(require$$1$2); + + $export($export.P + $export.R, 'Map', { toJSON: interopDefault(require$$0$43)('Map') }); + }); + + interopDefault(es7_map_toJson); + + var es7_set_toJson = createCommonjsModule(function (module) { + // https://github.com/DavidBruant/Map-Set.prototype.toJSON + var $export = interopDefault(require$$1$2); + + $export($export.P + $export.R, 'Set', { toJSON: interopDefault(require$$0$43)('Set') }); + }); + + interopDefault(es7_set_toJson); + + var es7_system_global = createCommonjsModule(function (module) { + // https://github.com/ljharb/proposal-global + var $export = interopDefault(require$$1$2); + + $export($export.S, 'System', { global: interopDefault(require$$3) }); + }); + + interopDefault(es7_system_global); + + var es7_error_isError = createCommonjsModule(function (module) { + // https://github.com/ljharb/proposal-is-error + var $export = interopDefault(require$$1$2), + cof = interopDefault(require$$0$6); + + $export($export.S, 'Error', { + isError: function isError(it) { + return cof(it) === 'Error'; + } + }); + }); + + interopDefault(es7_error_isError); + + var es7_math_iaddh = createCommonjsModule(function (module) { + // https://gist.github.com/BrendanEich/4294d5c212a6d2254703 + var $export = interopDefault(require$$1$2); + + $export($export.S, 'Math', { + iaddh: function iaddh(x0, x1, y0, y1) { + var $x0 = x0 >>> 0, + $x1 = x1 >>> 0, + $y0 = y0 >>> 0; + return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0; + } + }); + }); + + interopDefault(es7_math_iaddh); + + var es7_math_isubh = createCommonjsModule(function (module) { + // https://gist.github.com/BrendanEich/4294d5c212a6d2254703 + var $export = interopDefault(require$$1$2); + + $export($export.S, 'Math', { + isubh: function isubh(x0, x1, y0, y1) { + var $x0 = x0 >>> 0, + $x1 = x1 >>> 0, + $y0 = y0 >>> 0; + return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0; + } + }); + }); + + interopDefault(es7_math_isubh); + + var es7_math_imulh = createCommonjsModule(function (module) { + // https://gist.github.com/BrendanEich/4294d5c212a6d2254703 + var $export = interopDefault(require$$1$2); + + $export($export.S, 'Math', { + imulh: function imulh(u, v) { + var UINT16 = 0xffff, + $u = +u, + $v = +v, + u0 = $u & UINT16, + v0 = $v & UINT16, + u1 = $u >> 16, + v1 = $v >> 16, + t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); + return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16); + } + }); + }); + + interopDefault(es7_math_imulh); + + var es7_math_umulh = createCommonjsModule(function (module) { + // https://gist.github.com/BrendanEich/4294d5c212a6d2254703 + var $export = interopDefault(require$$1$2); + + $export($export.S, 'Math', { + umulh: function umulh(u, v) { + var UINT16 = 0xffff, + $u = +u, + $v = +v, + u0 = $u & UINT16, + v0 = $v & UINT16, + u1 = $u >>> 16, + v1 = $v >>> 16, + t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); + return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16); + } + }); + }); + + interopDefault(es7_math_umulh); + + var _metadata = createCommonjsModule(function (module) { + var Map = interopDefault(require$$3$8), + $export = interopDefault(require$$1$2), + shared = interopDefault(require$$1$4)('metadata'), + store = shared.store || (shared.store = new (interopDefault(require$$0$38))()); + + var getOrCreateMetadataMap = function getOrCreateMetadataMap(target, targetKey, create) { + var targetMetadata = store.get(target); + if (!targetMetadata) { + if (!create) return undefined; + store.set(target, targetMetadata = new Map()); + } + var keyMetadata = targetMetadata.get(targetKey); + if (!keyMetadata) { + if (!create) return undefined; + targetMetadata.set(targetKey, keyMetadata = new Map()); + }return keyMetadata; + }; + var ordinaryHasOwnMetadata = function ordinaryHasOwnMetadata(MetadataKey, O, P) { + var metadataMap = getOrCreateMetadataMap(O, P, false); + return metadataMap === undefined ? false : metadataMap.has(MetadataKey); + }; + var ordinaryGetOwnMetadata = function ordinaryGetOwnMetadata(MetadataKey, O, P) { + var metadataMap = getOrCreateMetadataMap(O, P, false); + return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey); + }; + var ordinaryDefineOwnMetadata = function ordinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P) { + getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue); + }; + var ordinaryOwnMetadataKeys = function ordinaryOwnMetadataKeys(target, targetKey) { + var metadataMap = getOrCreateMetadataMap(target, targetKey, false), + keys = []; + if (metadataMap) metadataMap.forEach(function (_, key) { + keys.push(key); + }); + return keys; + }; + var toMetaKey = function toMetaKey(it) { + return it === undefined || (typeof it === 'undefined' ? 'undefined' : _typeof(it)) == 'symbol' ? it : String(it); + }; + var exp = function exp(O) { + $export($export.S, 'Reflect', O); + }; + + module.exports = { + store: store, + map: getOrCreateMetadataMap, + has: ordinaryHasOwnMetadata, + get: ordinaryGetOwnMetadata, + set: ordinaryDefineOwnMetadata, + keys: ordinaryOwnMetadataKeys, + key: toMetaKey, + exp: exp + }; + }); + + var _metadata$1 = interopDefault(_metadata); + var store = _metadata.store; + var map = _metadata.map; + var has = _metadata.has; + var get$1 = _metadata.get; + var set$3 = _metadata.set; + var keys = _metadata.keys; + var key = _metadata.key; + var exp = _metadata.exp; + + + + var require$$2$10 = Object.freeze({ + default: _metadata$1, + store: store, + map: map, + has: has, + get: get$1, + set: set$3, + keys: keys, + key: key, + exp: exp + }); + + var es7_reflect_defineMetadata = createCommonjsModule(function (module) { + var metadata = interopDefault(require$$2$10), + anObject = interopDefault(require$$5), + toMetaKey = metadata.key, + ordinaryDefineOwnMetadata = metadata.set; + + metadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) { + ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey)); + } }); + }); + + interopDefault(es7_reflect_defineMetadata); + + var es7_reflect_deleteMetadata = createCommonjsModule(function (module) { + var metadata = interopDefault(require$$2$10), + anObject = interopDefault(require$$5), + toMetaKey = metadata.key, + getOrCreateMetadataMap = metadata.map, + store = metadata.store; + + metadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /*, targetKey */) { + var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]), + metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false); + if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false; + if (metadataMap.size) return true; + var targetMetadata = store.get(target); + targetMetadata['delete'](targetKey); + return !!targetMetadata.size || store['delete'](target); + } }); + }); + + interopDefault(es7_reflect_deleteMetadata); + + var es7_reflect_getMetadata = createCommonjsModule(function (module) { + var metadata = interopDefault(require$$2$10), + anObject = interopDefault(require$$5), + getPrototypeOf = interopDefault(require$$0$13), + ordinaryHasOwnMetadata = metadata.has, + ordinaryGetOwnMetadata = metadata.get, + toMetaKey = metadata.key; + + var ordinaryGetMetadata = function ordinaryGetMetadata(MetadataKey, O, P) { + var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); + if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P); + var parent = getPrototypeOf(O); + return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined; + }; + + metadata.exp({ getMetadata: function getMetadata(metadataKey, target /*, targetKey */) { + return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2])); + } }); + }); + + interopDefault(es7_reflect_getMetadata); + + var es7_reflect_getMetadataKeys = createCommonjsModule(function (module) { + var Set = interopDefault(require$$4$7), + from = interopDefault(require$$3$10), + metadata = interopDefault(require$$2$10), + anObject = interopDefault(require$$5), + getPrototypeOf = interopDefault(require$$0$13), + ordinaryOwnMetadataKeys = metadata.keys, + toMetaKey = metadata.key; + + var ordinaryMetadataKeys = function ordinaryMetadataKeys(O, P) { + var oKeys = ordinaryOwnMetadataKeys(O, P), + parent = getPrototypeOf(O); + if (parent === null) return oKeys; + var pKeys = ordinaryMetadataKeys(parent, P); + return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys; + }; + + metadata.exp({ getMetadataKeys: function getMetadataKeys(target /*, targetKey */) { + return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1])); + } }); + }); + + interopDefault(es7_reflect_getMetadataKeys); + + var es7_reflect_getOwnMetadata = createCommonjsModule(function (module) { + var metadata = interopDefault(require$$2$10), + anObject = interopDefault(require$$5), + ordinaryGetOwnMetadata = metadata.get, + toMetaKey = metadata.key; + + metadata.exp({ getOwnMetadata: function getOwnMetadata(metadataKey, target /*, targetKey */) { + return ordinaryGetOwnMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2])); + } }); + }); + + interopDefault(es7_reflect_getOwnMetadata); + + var es7_reflect_getOwnMetadataKeys = createCommonjsModule(function (module) { + var metadata = interopDefault(require$$2$10), + anObject = interopDefault(require$$5), + ordinaryOwnMetadataKeys = metadata.keys, + toMetaKey = metadata.key; + + metadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /*, targetKey */) { + return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1])); + } }); + }); + + interopDefault(es7_reflect_getOwnMetadataKeys); + + var es7_reflect_hasMetadata = createCommonjsModule(function (module) { + var metadata = interopDefault(require$$2$10), + anObject = interopDefault(require$$5), + getPrototypeOf = interopDefault(require$$0$13), + ordinaryHasOwnMetadata = metadata.has, + toMetaKey = metadata.key; + + var ordinaryHasMetadata = function ordinaryHasMetadata(MetadataKey, O, P) { + var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); + if (hasOwn) return true; + var parent = getPrototypeOf(O); + return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false; + }; + + metadata.exp({ hasMetadata: function hasMetadata(metadataKey, target /*, targetKey */) { + return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2])); + } }); + }); + + interopDefault(es7_reflect_hasMetadata); + + var es7_reflect_hasOwnMetadata = createCommonjsModule(function (module) { + var metadata = interopDefault(require$$2$10), + anObject = interopDefault(require$$5), + ordinaryHasOwnMetadata = metadata.has, + toMetaKey = metadata.key; + + metadata.exp({ hasOwnMetadata: function hasOwnMetadata(metadataKey, target /*, targetKey */) { + return ordinaryHasOwnMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2])); + } }); + }); + + interopDefault(es7_reflect_hasOwnMetadata); + + var es7_reflect_metadata = createCommonjsModule(function (module) { + var metadata = interopDefault(require$$2$10), + anObject = interopDefault(require$$5), + aFunction = interopDefault(require$$0$2), + toMetaKey = metadata.key, + ordinaryDefineOwnMetadata = metadata.set; + + metadata.exp({ metadata: function metadata(metadataKey, metadataValue) { + return function decorator(target, targetKey) { + ordinaryDefineOwnMetadata(metadataKey, metadataValue, (targetKey !== undefined ? anObject : aFunction)(target), toMetaKey(targetKey)); + }; + } }); + }); + + interopDefault(es7_reflect_metadata); + + var es7_asap = createCommonjsModule(function (module) { + // https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask + var $export = interopDefault(require$$1$2), + microtask = interopDefault(require$$8$1)(), + process = interopDefault(require$$3).process, + isNode = interopDefault(require$$0$6)(process) == 'process'; + + $export($export.G, { + asap: function asap(fn) { + var domain = isNode && process.domain; + microtask(domain ? domain.bind(fn) : fn); + } + }); + }); + + interopDefault(es7_asap); + + var es7_observable = createCommonjsModule(function (module) { + 'use strict'; + // https://github.com/zenparsing/es-observable + + var $export = interopDefault(require$$1$2), + global = interopDefault(require$$3), + core = interopDefault(require$$0), + microtask = interopDefault(require$$8$1)(), + OBSERVABLE = interopDefault(require$$0$4)('observable'), + aFunction = interopDefault(require$$0$2), + anObject = interopDefault(require$$5), + anInstance = interopDefault(require$$4$6), + redefineAll = interopDefault(require$$3$7), + hide = interopDefault(require$$2), + forOf = interopDefault(require$$1$20), + RETURN = forOf.RETURN; + + var getMethod = function getMethod(fn) { + return fn == null ? undefined : aFunction(fn); + }; + + var cleanupSubscription = function cleanupSubscription(subscription) { + var cleanup = subscription._c; + if (cleanup) { + subscription._c = undefined; + cleanup(); + } + }; + + var subscriptionClosed = function subscriptionClosed(subscription) { + return subscription._o === undefined; + }; + + var closeSubscription = function closeSubscription(subscription) { + if (!subscriptionClosed(subscription)) { + subscription._o = undefined; + cleanupSubscription(subscription); + } + }; + + var Subscription = function Subscription(observer, subscriber) { + anObject(observer); + this._c = undefined; + this._o = observer; + observer = new SubscriptionObserver(this); + try { + var cleanup = subscriber(observer), + subscription = cleanup; + if (cleanup != null) { + if (typeof cleanup.unsubscribe === 'function') cleanup = function cleanup() { + subscription.unsubscribe(); + };else aFunction(cleanup); + this._c = cleanup; + } + } catch (e) { + observer.error(e); + return; + }if (subscriptionClosed(this)) cleanupSubscription(this); + }; + + Subscription.prototype = redefineAll({}, { + unsubscribe: function unsubscribe() { + closeSubscription(this); + } + }); + + var SubscriptionObserver = function SubscriptionObserver(subscription) { + this._s = subscription; + }; + + SubscriptionObserver.prototype = redefineAll({}, { + next: function next(value) { + var subscription = this._s; + if (!subscriptionClosed(subscription)) { + var observer = subscription._o; + try { + var m = getMethod(observer.next); + if (m) return m.call(observer, value); + } catch (e) { + try { + closeSubscription(subscription); + } finally { + throw e; + } + } + } + }, + error: function error(value) { + var subscription = this._s; + if (subscriptionClosed(subscription)) throw value; + var observer = subscription._o; + subscription._o = undefined; + try { + var m = getMethod(observer.error); + if (!m) throw value; + value = m.call(observer, value); + } catch (e) { + try { + cleanupSubscription(subscription); + } finally { + throw e; + } + }cleanupSubscription(subscription); + return value; + }, + complete: function complete(value) { + var subscription = this._s; + if (!subscriptionClosed(subscription)) { + var observer = subscription._o; + subscription._o = undefined; + try { + var m = getMethod(observer.complete); + value = m ? m.call(observer, value) : undefined; + } catch (e) { + try { + cleanupSubscription(subscription); + } finally { + throw e; + } + }cleanupSubscription(subscription); + return value; + } + } + }); + + var $Observable = function Observable(subscriber) { + anInstance(this, $Observable, 'Observable', '_f')._f = aFunction(subscriber); + }; + + redefineAll($Observable.prototype, { + subscribe: function subscribe(observer) { + return new Subscription(observer, this._f); + }, + forEach: function forEach(fn) { + var that = this; + return new (core.Promise || global.Promise)(function (resolve, reject) { + aFunction(fn); + var subscription = that.subscribe({ + next: function next(value) { + try { + return fn(value); + } catch (e) { + reject(e); + subscription.unsubscribe(); + } + }, + error: reject, + complete: resolve + }); + }); + } + }); + + redefineAll($Observable, { + from: function from(x) { + var C = typeof this === 'function' ? this : $Observable; + var method = getMethod(anObject(x)[OBSERVABLE]); + if (method) { + var observable = anObject(method.call(x)); + return observable.constructor === C ? observable : new C(function (observer) { + return observable.subscribe(observer); + }); + } + return new C(function (observer) { + var done = false; + microtask(function () { + if (!done) { + try { + if (forOf(x, false, function (it) { + observer.next(it); + if (done) return RETURN; + }) === RETURN) return; + } catch (e) { + if (done) throw e; + observer.error(e); + return; + }observer.complete(); + } + }); + return function () { + done = true; + }; + }); + }, + of: function of() { + for (var i = 0, l = arguments.length, items = Array(l); i < l;) { + items[i] = arguments[i++]; + }return new (typeof this === 'function' ? this : $Observable)(function (observer) { + var done = false; + microtask(function () { + if (!done) { + for (var i = 0; i < items.length; ++i) { + observer.next(items[i]); + if (done) return; + }observer.complete(); + } + }); + return function () { + done = true; + }; + }); + } + }); + + hide($Observable.prototype, OBSERVABLE, function () { + return this; + }); + + $export($export.G, { Observable: $Observable }); + + interopDefault(require$$0$35)('Observable'); + }); + + interopDefault(es7_observable); + + var _path = createCommonjsModule(function (module) { + module.exports = interopDefault(require$$3); + }); + + var _path$1 = interopDefault(_path); + +var require$$2$11 = Object.freeze({ + default: _path$1 + }); + + var _partial = createCommonjsModule(function (module) { + 'use strict'; + + var path = interopDefault(require$$2$11), + invoke = interopDefault(require$$1$13), + aFunction = interopDefault(require$$0$2); + module.exports = function () /* ...pargs */{ + var fn = aFunction(this), + length = arguments.length, + pargs = Array(length), + i = 0, + _ = path._, + holder = false; + while (length > i) { + if ((pargs[i] = arguments[i++]) === _) holder = true; + }return function () /* ...args */{ + var that = this, + aLen = arguments.length, + j = 0, + k = 0, + args; + if (!holder && !aLen) return invoke(fn, pargs, that); + args = pargs.slice(); + if (holder) for (; length > j; j++) { + if (args[j] === _) args[j] = arguments[k++]; + }while (aLen > k) { + args.push(arguments[k++]); + }return invoke(fn, args, that); + }; + }; + }); + + var _partial$1 = interopDefault(_partial); + +var require$$0$44 = Object.freeze({ + default: _partial$1 + }); + + var web_timers = createCommonjsModule(function (module) { + // ie9- setTimeout & setInterval additional parameters fix + var global = interopDefault(require$$3), + $export = interopDefault(require$$1$2), + invoke = interopDefault(require$$1$13), + partial = interopDefault(require$$0$44), + navigator = global.navigator, + MSIE = !!navigator && /MSIE .\./.test(navigator.userAgent); // <- dirty ie9- check + var wrap = function wrap(set) { + return MSIE ? function (fn, time /*, ...args */) { + return set(invoke(partial, [].slice.call(arguments, 2), typeof fn == 'function' ? fn : Function(fn)), time); + } : set; + }; + $export($export.G + $export.B + $export.F * MSIE, { + setTimeout: wrap(global.setTimeout), + setInterval: wrap(global.setInterval) + }); + }); + + interopDefault(web_timers); + + var web_immediate = createCommonjsModule(function (module) { + var $export = interopDefault(require$$1$2), + $task = interopDefault(require$$0$36); + $export($export.G + $export.B, { + setImmediate: $task.set, + clearImmediate: $task.clear + }); + }); + + interopDefault(web_immediate); + + var web_dom_iterable = createCommonjsModule(function (module) { + var $iterators = interopDefault(require$$5$3), + redefine = interopDefault(require$$4$2), + global = interopDefault(require$$3), + hide = interopDefault(require$$2), + Iterators = interopDefault(require$$1$15), + wks = interopDefault(require$$0$4), + ITERATOR = wks('iterator'), + TO_STRING_TAG = wks('toStringTag'), + ArrayValues = Iterators.Array; + + for (var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++) { + var NAME = collections[i], + Collection = global[NAME], + proto = Collection && Collection.prototype, + key; + if (proto) { + if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues); + if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME); + Iterators[NAME] = ArrayValues; + for (key in $iterators) { + if (!proto[key]) redefine(proto, key, $iterators[key], true); + } + } + } + }); + + interopDefault(web_dom_iterable); + + var shim = createCommonjsModule(function (module) { + module.exports = interopDefault(require$$0); + }); + + interopDefault(shim); + + var runtime = createCommonjsModule(function (module) { + /** + * Copyright (c) 2014, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * https://raw.github.com/facebook/regenerator/master/LICENSE file. An + * additional grant of patent rights can be found in the PATENTS file in + * the same directory. + */ + + !function (global) { + "use strict"; + + var hasOwn = Object.prototype.hasOwnProperty; + var undefined; // More compressible than void 0. + var $Symbol = typeof Symbol === "function" ? Symbol : {}; + var iteratorSymbol = $Symbol.iterator || "@@iterator"; + var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; + + var inModule = (typeof module === "undefined" ? "undefined" : _typeof(module)) === "object"; + var runtime = global.regeneratorRuntime; + if (runtime) { + if (inModule) { + // If regeneratorRuntime is defined globally and we're in a module, + // make the exports object identical to regeneratorRuntime. + module.exports = runtime; + } + // Don't bother evaluating the rest of this file if the runtime was + // already defined globally. + return; + } + + // Define the runtime globally (as expected by generated code) as either + // module.exports (if we're in a module) or a new, empty object. + runtime = global.regeneratorRuntime = inModule ? module.exports : {}; + + function wrap(innerFn, outerFn, self, tryLocsList) { + // If outerFn provided, then outerFn.prototype instanceof Generator. + var generator = Object.create((outerFn || Generator).prototype); + var context = new Context(tryLocsList || []); + + // The ._invoke method unifies the implementations of the .next, + // .throw, and .return methods. + generator._invoke = makeInvokeMethod(innerFn, self, context); + + return generator; + } + runtime.wrap = wrap; + + // Try/catch helper to minimize deoptimizations. Returns a completion + // record like context.tryEntries[i].completion. This interface could + // have been (and was previously) designed to take a closure to be + // invoked without arguments, but in all the cases we care about we + // already have an existing method we want to call, so there's no need + // to create a new function object. We can even get away with assuming + // the method takes exactly one argument, since that happens to be true + // in every case, so we don't have to touch the arguments object. The + // only additional allocation required is the completion record, which + // has a stable shape and so hopefully should be cheap to allocate. + function tryCatch(fn, obj, arg) { + try { + return { type: "normal", arg: fn.call(obj, arg) }; + } catch (err) { + return { type: "throw", arg: err }; + } + } + + var GenStateSuspendedStart = "suspendedStart"; + var GenStateSuspendedYield = "suspendedYield"; + var GenStateExecuting = "executing"; + var GenStateCompleted = "completed"; + + // Returning this object from the innerFn has the same effect as + // breaking out of the dispatch switch statement. + var ContinueSentinel = {}; + + // Dummy constructor functions that we use as the .constructor and + // .constructor.prototype properties for functions that return Generator + // objects. For full spec compliance, you may wish to configure your + // minifier not to mangle the names of these two functions. + function Generator() {} + function GeneratorFunction() {} + function GeneratorFunctionPrototype() {} + + var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype; + GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype; + GeneratorFunctionPrototype.constructor = GeneratorFunction; + GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName = "GeneratorFunction"; + + // Helper for defining the .next, .throw, and .return methods of the + // Iterator interface in terms of a single ._invoke method. + function defineIteratorMethods(prototype) { + ["next", "throw", "return"].forEach(function (method) { + prototype[method] = function (arg) { + return this._invoke(method, arg); + }; + }); + } + + runtime.isGeneratorFunction = function (genFun) { + var ctor = typeof genFun === "function" && genFun.constructor; + return ctor ? ctor === GeneratorFunction || + // For the native GeneratorFunction constructor, the best we can + // do is to check its .name property. + (ctor.displayName || ctor.name) === "GeneratorFunction" : false; + }; + + runtime.mark = function (genFun) { + if (Object.setPrototypeOf) { + Object.setPrototypeOf(genFun, GeneratorFunctionPrototype); + } else { + genFun.__proto__ = GeneratorFunctionPrototype; + if (!(toStringTagSymbol in genFun)) { + genFun[toStringTagSymbol] = "GeneratorFunction"; + } + } + genFun.prototype = Object.create(Gp); + return genFun; + }; + + // Within the body of any async function, `await x` is transformed to + // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test + // `value instanceof AwaitArgument` to determine if the yielded value is + // meant to be awaited. Some may consider the name of this method too + // cutesy, but they are curmudgeons. + runtime.awrap = function (arg) { + return new AwaitArgument(arg); + }; + + function AwaitArgument(arg) { + this.arg = arg; + } + + function AsyncIterator(generator) { + function invoke(method, arg, resolve, reject) { + var record = tryCatch(generator[method], generator, arg); + if (record.type === "throw") { + reject(record.arg); + } else { + var result = record.arg; + var value = result.value; + if (value instanceof AwaitArgument) { + return Promise.resolve(value.arg).then(function (value) { + invoke("next", value, resolve, reject); + }, function (err) { + invoke("throw", err, resolve, reject); + }); + } + + return Promise.resolve(value).then(function (unwrapped) { + // When a yielded Promise is resolved, its final value becomes + // the .value of the Promise<{value,done}> result for the + // current iteration. If the Promise is rejected, however, the + // result for this iteration will be rejected with the same + // reason. Note that rejections of yielded Promises are not + // thrown back into the generator function, as is the case + // when an awaited Promise is rejected. This difference in + // behavior between yield and await is important, because it + // allows the consumer to decide what to do with the yielded + // rejection (swallow it and continue, manually .throw it back + // into the generator, abandon iteration, whatever). With + // await, by contrast, there is no opportunity to examine the + // rejection reason outside the generator function, so the + // only option is to throw it from the await expression, and + // let the generator function handle the exception. + result.value = unwrapped; + resolve(result); + }, reject); + } + } + + if ((typeof process === "undefined" ? "undefined" : _typeof(process)) === "object" && process.domain) { + invoke = process.domain.bind(invoke); + } + + var previousPromise; + + function enqueue(method, arg) { + function callInvokeWithMethodAndArg() { + return new Promise(function (resolve, reject) { + invoke(method, arg, resolve, reject); + }); + } + + return previousPromise = + // If enqueue has been called before, then we want to wait until + // all previous Promises have been resolved before calling invoke, + // so that results are always delivered in the correct order. If + // enqueue has not been called before, then it is important to + // call invoke immediately, without waiting on a callback to fire, + // so that the async generator function has the opportunity to do + // any necessary setup in a predictable way. This predictability + // is why the Promise constructor synchronously invokes its + // executor callback, and why async functions synchronously + // execute code before the first await. Since we implement simple + // async functions in terms of async generators, it is especially + // important to get this right, even though it requires care. + previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, + // Avoid propagating failures to Promises returned by later + // invocations of the iterator. + callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); + } + + // Define the unified helper method that is used to implement .next, + // .throw, and .return (see defineIteratorMethods). + this._invoke = enqueue; + } + + defineIteratorMethods(AsyncIterator.prototype); + + // Note that simple async functions are implemented on top of + // AsyncIterator objects; they just return a Promise for the value of + // the final result produced by the iterator. + runtime.async = function (innerFn, outerFn, self, tryLocsList) { + var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList)); + + return runtime.isGeneratorFunction(outerFn) ? iter // If outerFn is a generator, return the full iterator. + : iter.next().then(function (result) { + return result.done ? result.value : iter.next(); + }); + }; + + function makeInvokeMethod(innerFn, self, context) { + var state = GenStateSuspendedStart; + + return function invoke(method, arg) { + if (state === GenStateExecuting) { + throw new Error("Generator is already running"); + } + + if (state === GenStateCompleted) { + if (method === "throw") { + throw arg; + } + + // Be forgiving, per 25.3.3.3.3 of the spec: + // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume + return doneResult(); + } + + while (true) { + var delegate = context.delegate; + if (delegate) { + if (method === "return" || method === "throw" && delegate.iterator[method] === undefined) { + // A return or throw (when the delegate iterator has no throw + // method) always terminates the yield* loop. + context.delegate = null; + + // If the delegate iterator has a return method, give it a + // chance to clean up. + var returnMethod = delegate.iterator["return"]; + if (returnMethod) { + var record = tryCatch(returnMethod, delegate.iterator, arg); + if (record.type === "throw") { + // If the return method threw an exception, let that + // exception prevail over the original return or throw. + method = "throw"; + arg = record.arg; + continue; + } + } + + if (method === "return") { + // Continue with the outer return, now that the delegate + // iterator has been terminated. + continue; + } + } + + var record = tryCatch(delegate.iterator[method], delegate.iterator, arg); + + if (record.type === "throw") { + context.delegate = null; + + // Like returning generator.throw(uncaught), but without the + // overhead of an extra function call. + method = "throw"; + arg = record.arg; + continue; + } + + // Delegate generator ran and handled its own exceptions so + // regardless of what the method was, we continue as if it is + // "next" with an undefined arg. + method = "next"; + arg = undefined; + + var info = record.arg; + if (info.done) { + context[delegate.resultName] = info.value; + context.next = delegate.nextLoc; + } else { + state = GenStateSuspendedYield; + return info; + } + + context.delegate = null; + } + + if (method === "next") { + // Setting context._sent for legacy support of Babel's + // function.sent implementation. + context.sent = context._sent = arg; + } else if (method === "throw") { + if (state === GenStateSuspendedStart) { + state = GenStateCompleted; + throw arg; + } + + if (context.dispatchException(arg)) { + // If the dispatched exception was caught by a catch block, + // then let that catch block handle the exception normally. + method = "next"; + arg = undefined; + } + } else if (method === "return") { + context.abrupt("return", arg); + } + + state = GenStateExecuting; + + var record = tryCatch(innerFn, self, context); + if (record.type === "normal") { + // If an exception is thrown from innerFn, we leave state === + // GenStateExecuting and loop back for another invocation. + state = context.done ? GenStateCompleted : GenStateSuspendedYield; + + var info = { + value: record.arg, + done: context.done + }; + + if (record.arg === ContinueSentinel) { + if (context.delegate && method === "next") { + // Deliberately forget the last sent value so that we don't + // accidentally pass it on to the delegate. + arg = undefined; + } + } else { + return info; + } + } else if (record.type === "throw") { + state = GenStateCompleted; + // Dispatch the exception by looping back around to the + // context.dispatchException(arg) call above. + method = "throw"; + arg = record.arg; + } + } + }; + } + + // Define Generator.prototype.{next,throw,return} in terms of the + // unified ._invoke helper method. + defineIteratorMethods(Gp); + + Gp[iteratorSymbol] = function () { + return this; + }; + + Gp[toStringTagSymbol] = "Generator"; + + Gp.toString = function () { + return "[object Generator]"; + }; + + function pushTryEntry(locs) { + var entry = { tryLoc: locs[0] }; + + if (1 in locs) { + entry.catchLoc = locs[1]; + } + + if (2 in locs) { + entry.finallyLoc = locs[2]; + entry.afterLoc = locs[3]; + } + + this.tryEntries.push(entry); + } + + function resetTryEntry(entry) { + var record = entry.completion || {}; + record.type = "normal"; + delete record.arg; + entry.completion = record; + } + + function Context(tryLocsList) { + // The root entry object (effectively a try statement without a catch + // or a finally block) gives us a place to store values thrown from + // locations where there is no enclosing try statement. + this.tryEntries = [{ tryLoc: "root" }]; + tryLocsList.forEach(pushTryEntry, this); + this.reset(true); + } + + runtime.keys = function (object) { + var keys = []; + for (var key in object) { + keys.push(key); + } + keys.reverse(); + + // Rather than returning an object with a next method, we keep + // things simple and return the next function itself. + return function next() { + while (keys.length) { + var key = keys.pop(); + if (key in object) { + next.value = key; + next.done = false; + return next; + } + } + + // To avoid creating an additional object, we just hang the .value + // and .done properties off the next function object itself. This + // also ensures that the minifier will not anonymize the function. + next.done = true; + return next; + }; + }; + + function values(iterable) { + if (iterable) { + var iteratorMethod = iterable[iteratorSymbol]; + if (iteratorMethod) { + return iteratorMethod.call(iterable); + } + + if (typeof iterable.next === "function") { + return iterable; + } + + if (!isNaN(iterable.length)) { + var i = -1, + next = function next() { + while (++i < iterable.length) { + if (hasOwn.call(iterable, i)) { + next.value = iterable[i]; + next.done = false; + return next; + } + } + + next.value = undefined; + next.done = true; + + return next; + }; + + return next.next = next; + } + } + + // Return an iterator with no values. + return { next: doneResult }; + } + runtime.values = values; + + function doneResult() { + return { value: undefined, done: true }; + } + + Context.prototype = { + constructor: Context, + + reset: function reset(skipTempReset) { + this.prev = 0; + this.next = 0; + // Resetting context._sent for legacy support of Babel's + // function.sent implementation. + this.sent = this._sent = undefined; + this.done = false; + this.delegate = null; + + this.tryEntries.forEach(resetTryEntry); + + if (!skipTempReset) { + for (var name in this) { + // Not sure about the optimal order of these conditions: + if (name.charAt(0) === "t" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) { + this[name] = undefined; + } + } + } + }, + + stop: function stop() { + this.done = true; + + var rootEntry = this.tryEntries[0]; + var rootRecord = rootEntry.completion; + if (rootRecord.type === "throw") { + throw rootRecord.arg; + } + + return this.rval; + }, + + dispatchException: function dispatchException(exception) { + if (this.done) { + throw exception; + } + + var context = this; + function handle(loc, caught) { + record.type = "throw"; + record.arg = exception; + context.next = loc; + return !!caught; + } + + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + var record = entry.completion; + + if (entry.tryLoc === "root") { + // Exception thrown outside of any try block that could handle + // it, so set the completion value of the entire function to + // throw the exception. + return handle("end"); + } + + if (entry.tryLoc <= this.prev) { + var hasCatch = hasOwn.call(entry, "catchLoc"); + var hasFinally = hasOwn.call(entry, "finallyLoc"); + + if (hasCatch && hasFinally) { + if (this.prev < entry.catchLoc) { + return handle(entry.catchLoc, true); + } else if (this.prev < entry.finallyLoc) { + return handle(entry.finallyLoc); + } + } else if (hasCatch) { + if (this.prev < entry.catchLoc) { + return handle(entry.catchLoc, true); + } + } else if (hasFinally) { + if (this.prev < entry.finallyLoc) { + return handle(entry.finallyLoc); + } + } else { + throw new Error("try statement without catch or finally"); + } + } + } + }, + + abrupt: function abrupt(type, arg) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { + var finallyEntry = entry; + break; + } + } + + if (finallyEntry && (type === "break" || type === "continue") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) { + // Ignore the finally entry if control is not jumping to a + // location outside the try/catch block. + finallyEntry = null; + } + + var record = finallyEntry ? finallyEntry.completion : {}; + record.type = type; + record.arg = arg; + + if (finallyEntry) { + this.next = finallyEntry.finallyLoc; + } else { + this.complete(record); + } + + return ContinueSentinel; + }, + + complete: function complete(record, afterLoc) { + if (record.type === "throw") { + throw record.arg; + } + + if (record.type === "break" || record.type === "continue") { + this.next = record.arg; + } else if (record.type === "return") { + this.rval = record.arg; + this.next = "end"; + } else if (record.type === "normal" && afterLoc) { + this.next = afterLoc; + } + }, + + finish: function finish(finallyLoc) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + if (entry.finallyLoc === finallyLoc) { + this.complete(entry.completion, entry.afterLoc); + resetTryEntry(entry); + return ContinueSentinel; + } + } + }, + + "catch": function _catch(tryLoc) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + if (entry.tryLoc === tryLoc) { + var record = entry.completion; + if (record.type === "throw") { + var thrown = record.arg; + resetTryEntry(entry); + } + return thrown; + } + } + + // The context.catch method must only be called with a location + // argument that corresponds to a known catch block. + throw new Error("illegal catch attempt"); + }, + + delegateYield: function delegateYield(iterable, resultName, nextLoc) { + this.delegate = { + iterator: values(iterable), + resultName: resultName, + nextLoc: nextLoc + }; + + return ContinueSentinel; + } + }; + }( + // Among the various tricks for obtaining a reference to the global + // object, this seems to be the most reliable technique that does not + // use indirect eval (which violates Content Security Policy). + _typeof(commonjsGlobal) === "object" ? commonjsGlobal : (typeof window === "undefined" ? "undefined" : _typeof(window)) === "object" ? window : (typeof self === "undefined" ? "undefined" : _typeof(self)) === "object" ? self : commonjsGlobal); + }); + + interopDefault(runtime); + + var _replacer = createCommonjsModule(function (module) { + module.exports = function (regExp, replace) { + var replacer = replace === Object(replace) ? function (part) { + return replace[part]; + } : replace; + return function (it) { + return String(it).replace(regExp, replacer); + }; + }; + }); + + var _replacer$1 = interopDefault(_replacer); + +var require$$0$45 = Object.freeze({ + default: _replacer$1 + }); + + var core_regexp_escape = createCommonjsModule(function (module) { + // https://github.com/benjamingr/RexExp.escape + var $export = interopDefault(require$$1$2), + $re = interopDefault(require$$0$45)(/[\\^$*+?.()|[\]{}]/g, '\\$&'); + + $export($export.S, 'RegExp', { escape: function escape(it) { + return $re(it); + } }); + }); + + interopDefault(core_regexp_escape); + + var _escape = createCommonjsModule(function (module) { + module.exports = interopDefault(require$$0).RegExp.escape; + }); + + interopDefault(_escape); + + var index = createCommonjsModule(function (module) { + "use strict"; + + /* eslint max-len: 0 */ + + if (commonjsGlobal._babelPolyfill) { + throw new Error("only one instance of babel-polyfill is allowed"); + } + commonjsGlobal._babelPolyfill = true; + + // Should be removed in the next major release: + + var DEFINE_PROPERTY = "defineProperty"; + function define(O, key, value) { + O[key] || Object[DEFINE_PROPERTY](O, key, { + writable: true, + configurable: true, + value: value + }); + } + + define(String.prototype, "padLeft", "".padStart); + define(String.prototype, "padRight", "".padEnd); + + "pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill".split(",").forEach(function (key) { + [][key] && define(Array, key, Function.call.bind([][key])); + }); + }); + + interopDefault(index); + + /*! + * Bootstrap v4.0.0-alpha.3 (http://getbootstrap.com) + * Copyright 2011-2016 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */if(typeof jQuery==='undefined'){throw new Error('Bootstrap\'s JavaScript requires jQuery');}+function($){var version=$.fn.jquery.split(' ')[0].split('.');if(version[0]<2&&version[1]<9||version[0]==1&&version[1]==9&&version[2]<1||version[0]>=4){throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');}}(jQuery);+function($){/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0-alpha.3): util.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */'use strict';var _get=function get(_x,_x2,_x3){var _again=true;_function:while(_again){var object=_x,property=_x2,receiver=_x3;_again=false;if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined;}else{_x=parent;_x2=property;_x3=receiver;_again=true;desc=parent=undefined;continue _function;}}else if('value'in desc){return desc.value;}else{var getter=desc.get;if(getter===undefined){return undefined;}return getter.call(receiver);}}};var _createClass=function(){function defineProperties(target,props){for(var i=0;ithis._items.length-1||index<0){return;}if(this._isSliding){$(this._element).one(Event.SLID,function(){return _this2.to(index);});return;}if(activeIndex===index){this.pause();this.cycle();return;}var direction=index>activeIndex?Direction.NEXT:Direction.PREVIOUS;this._slide(direction,this._items[index]);}},{key:'dispose',value:function dispose(){$(this._element).off(EVENT_KEY);$.removeData(this._element,DATA_KEY);this._items=null;this._config=null;this._element=null;this._interval=null;this._isPaused=null;this._isSliding=null;this._activeElement=null;this._indicatorsElement=null;}// private + },{key:'_getConfig',value:function _getConfig(config){config=$.extend({},Default,config);Util.typeCheckConfig(NAME,config,DefaultType);return config;}},{key:'_addEventListeners',value:function _addEventListeners(){if(this._config.keyboard){$(this._element).on(Event.KEYDOWN,$.proxy(this._keydown,this));}if(this._config.pause==='hover'&&!('ontouchstart'in document.documentElement)){$(this._element).on(Event.MOUSEENTER,$.proxy(this.pause,this)).on(Event.MOUSELEAVE,$.proxy(this.cycle,this));}}},{key:'_keydown',value:function _keydown(event){event.preventDefault();if(/input|textarea/i.test(event.target.tagName)){return;}switch(event.which){case ARROW_LEFT_KEYCODE:this.prev();break;case ARROW_RIGHT_KEYCODE:this.next();break;default:return;}}},{key:'_getItemIndex',value:function _getItemIndex(element){this._items=$.makeArray($(element).parent().find(Selector.ITEM));return this._items.indexOf(element);}},{key:'_getItemByDirection',value:function _getItemByDirection(direction,activeElement){var isNextDirection=direction===Direction.NEXT;var isPrevDirection=direction===Direction.PREVIOUS;var activeIndex=this._getItemIndex(activeElement);var lastItemIndex=this._items.length-1;var isGoingToWrap=isPrevDirection&&activeIndex===0||isNextDirection&&activeIndex===lastItemIndex;if(isGoingToWrap&&!this._config.wrap){return activeElement;}var delta=direction===Direction.PREVIOUS?-1:1;var itemIndex=(activeIndex+delta)%this._items.length;return itemIndex===-1?this._items[this._items.length-1]:this._items[itemIndex];}},{key:'_triggerSlideEvent',value:function _triggerSlideEvent(relatedTarget,directionalClassname){var slideEvent=$.Event(Event.SLIDE,{relatedTarget:relatedTarget,direction:directionalClassname});$(this._element).trigger(slideEvent);return slideEvent;}},{key:'_setActiveIndicatorElement',value:function _setActiveIndicatorElement(element){if(this._indicatorsElement){$(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE);var nextIndicator=this._indicatorsElement.children[this._getItemIndex(element)];if(nextIndicator){$(nextIndicator).addClass(ClassName.ACTIVE);}}}},{key:'_slide',value:function _slide(direction,element){var _this3=this;var activeElement=$(this._element).find(Selector.ACTIVE_ITEM)[0];var nextElement=element||activeElement&&this._getItemByDirection(direction,activeElement);var isCycling=Boolean(this._interval);var directionalClassName=direction===Direction.NEXT?ClassName.LEFT:ClassName.RIGHT;if(nextElement&&$(nextElement).hasClass(ClassName.ACTIVE)){this._isSliding=false;return;}var slideEvent=this._triggerSlideEvent(nextElement,directionalClassName);if(slideEvent.isDefaultPrevented()){return;}if(!activeElement||!nextElement){// some weirdness is happening, so we bail + return;}this._isSliding=true;if(isCycling){this.pause();}this._setActiveIndicatorElement(nextElement);var slidEvent=$.Event(Event.SLID,{relatedTarget:nextElement,direction:directionalClassName});if(Util.supportsTransitionEnd()&&$(this._element).hasClass(ClassName.SLIDE)){$(nextElement).addClass(direction);Util.reflow(nextElement);$(activeElement).addClass(directionalClassName);$(nextElement).addClass(directionalClassName);$(activeElement).one(Util.TRANSITION_END,function(){$(nextElement).removeClass(directionalClassName).removeClass(direction);$(nextElement).addClass(ClassName.ACTIVE);$(activeElement).removeClass(ClassName.ACTIVE).removeClass(direction).removeClass(directionalClassName);_this3._isSliding=false;setTimeout(function(){return $(_this3._element).trigger(slidEvent);},0);}).emulateTransitionEnd(TRANSITION_DURATION);}else{$(activeElement).removeClass(ClassName.ACTIVE);$(nextElement).addClass(ClassName.ACTIVE);this._isSliding=false;$(this._element).trigger(slidEvent);}if(isCycling){this.cycle();}}// static + }],[{key:'_jQueryInterface',value:function _jQueryInterface(config){return this.each(function(){var data=$(this).data(DATA_KEY);var _config=$.extend({},Default,$(this).data());if((typeof config==='undefined'?'undefined':_typeof(config))==='object'){$.extend(_config,config);}var action=typeof config==='string'?config:_config.slide;if(!data){data=new Carousel(this,_config);$(this).data(DATA_KEY,data);}if(typeof config==='number'){data.to(config);}else if(typeof action==='string'){if(data[action]===undefined){throw new Error('No method named "'+action+'"');}data[action]();}else if(_config.interval){data.pause();data.cycle();}});}},{key:'_dataApiClickHandler',value:function _dataApiClickHandler(event){var selector=Util.getSelectorFromElement(this);if(!selector){return;}var target=$(selector)[0];if(!target||!$(target).hasClass(ClassName.CAROUSEL)){return;}var config=$.extend({},$(target).data(),$(this).data());var slideIndex=this.getAttribute('data-slide-to');if(slideIndex){config.interval=false;}Carousel._jQueryInterface.call($(target),config);if(slideIndex){$(target).data(DATA_KEY).to(slideIndex);}event.preventDefault();}},{key:'VERSION',get:function get(){return VERSION;}},{key:'Default',get:function get(){return Default;}}]);return Carousel;}();$(document).on(Event.CLICK_DATA_API,Selector.DATA_SLIDE,Carousel._dataApiClickHandler);$(window).on(Event.LOAD_DATA_API,function(){$(Selector.DATA_RIDE).each(function(){var $carousel=$(this);Carousel._jQueryInterface.call($carousel,$carousel.data());});});/** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */$.fn[NAME]=Carousel._jQueryInterface;$.fn[NAME].Constructor=Carousel;$.fn[NAME].noConflict=function(){$.fn[NAME]=JQUERY_NO_CONFLICT;return Carousel._jQueryInterface;};return Carousel;}(jQuery);/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0-alpha.3): collapse.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */var Collapse=function($){/** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */var NAME='collapse';var VERSION='4.0.0-alpha.3';var DATA_KEY='bs.collapse';var EVENT_KEY='.'+DATA_KEY;var DATA_API_KEY='.data-api';var JQUERY_NO_CONFLICT=$.fn[NAME];var TRANSITION_DURATION=600;var Default={toggle:true,parent:''};var DefaultType={toggle:'boolean',parent:'string'};var Event={SHOW:'show'+EVENT_KEY,SHOWN:'shown'+EVENT_KEY,HIDE:'hide'+EVENT_KEY,HIDDEN:'hidden'+EVENT_KEY,CLICK_DATA_API:'click'+EVENT_KEY+DATA_API_KEY};var ClassName={IN:'in',COLLAPSE:'collapse',COLLAPSING:'collapsing',COLLAPSED:'collapsed'};var Dimension={WIDTH:'width',HEIGHT:'height'};var Selector={ACTIVES:'.panel > .in, .panel > .collapsing',DATA_TOGGLE:'[data-toggle="collapse"]'};/** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */var Collapse=function(){function Collapse(element,config){_classCallCheck(this,Collapse);this._isTransitioning=false;this._element=element;this._config=this._getConfig(config);this._triggerArray=$.makeArray($('[data-toggle="collapse"][href="#'+element.id+'"],'+('[data-toggle="collapse"][data-target="#'+element.id+'"]')));this._parent=this._config.parent?this._getParent():null;if(!this._config.parent){this._addAriaAndCollapsedClass(this._element,this._triggerArray);}if(this._config.toggle){this.toggle();}}/** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */// getters + _createClass(Collapse,[{key:'toggle',// public + value:function toggle(){if($(this._element).hasClass(ClassName.IN)){this.hide();}else{this.show();}}},{key:'show',value:function show(){var _this4=this;if(this._isTransitioning||$(this._element).hasClass(ClassName.IN)){return;}var actives=undefined;var activesData=undefined;if(this._parent){actives=$.makeArray($(Selector.ACTIVES));if(!actives.length){actives=null;}}if(actives){activesData=$(actives).data(DATA_KEY);if(activesData&&activesData._isTransitioning){return;}}var startEvent=$.Event(Event.SHOW);$(this._element).trigger(startEvent);if(startEvent.isDefaultPrevented()){return;}if(actives){Collapse._jQueryInterface.call($(actives),'hide');if(!activesData){$(actives).data(DATA_KEY,null);}}var dimension=this._getDimension();$(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);this._element.style[dimension]=0;this._element.setAttribute('aria-expanded',true);if(this._triggerArray.length){$(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded',true);}this.setTransitioning(true);var complete=function complete(){$(_this4._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.IN);_this4._element.style[dimension]='';_this4.setTransitioning(false);$(_this4._element).trigger(Event.SHOWN);};if(!Util.supportsTransitionEnd()){complete();return;}var capitalizedDimension=dimension[0].toUpperCase()+dimension.slice(1);var scrollSize='scroll'+capitalizedDimension;$(this._element).one(Util.TRANSITION_END,complete).emulateTransitionEnd(TRANSITION_DURATION);this._element.style[dimension]=this._element[scrollSize]+'px';}},{key:'hide',value:function hide(){var _this5=this;if(this._isTransitioning||!$(this._element).hasClass(ClassName.IN)){return;}var startEvent=$.Event(Event.HIDE);$(this._element).trigger(startEvent);if(startEvent.isDefaultPrevented()){return;}var dimension=this._getDimension();var offsetDimension=dimension===Dimension.WIDTH?'offsetWidth':'offsetHeight';this._element.style[dimension]=this._element[offsetDimension]+'px';Util.reflow(this._element);$(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.IN);this._element.setAttribute('aria-expanded',false);if(this._triggerArray.length){$(this._triggerArray).addClass(ClassName.COLLAPSED).attr('aria-expanded',false);}this.setTransitioning(true);var complete=function complete(){_this5.setTransitioning(false);$(_this5._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);};this._element.style[dimension]=0;if(!Util.supportsTransitionEnd()){complete();return;}$(this._element).one(Util.TRANSITION_END,complete).emulateTransitionEnd(TRANSITION_DURATION);}},{key:'setTransitioning',value:function setTransitioning(isTransitioning){this._isTransitioning=isTransitioning;}},{key:'dispose',value:function dispose(){$.removeData(this._element,DATA_KEY);this._config=null;this._parent=null;this._element=null;this._triggerArray=null;this._isTransitioning=null;}// private + },{key:'_getConfig',value:function _getConfig(config){config=$.extend({},Default,config);config.toggle=Boolean(config.toggle);// coerce string values + Util.typeCheckConfig(NAME,config,DefaultType);return config;}},{key:'_getDimension',value:function _getDimension(){var hasWidth=$(this._element).hasClass(Dimension.WIDTH);return hasWidth?Dimension.WIDTH:Dimension.HEIGHT;}},{key:'_getParent',value:function _getParent(){var _this6=this;var parent=$(this._config.parent)[0];var selector='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]';$(parent).find(selector).each(function(i,element){_this6._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element),[element]);});return parent;}},{key:'_addAriaAndCollapsedClass',value:function _addAriaAndCollapsedClass(element,triggerArray){if(element){var isOpen=$(element).hasClass(ClassName.IN);element.setAttribute('aria-expanded',isOpen);if(triggerArray.length){$(triggerArray).toggleClass(ClassName.COLLAPSED,!isOpen).attr('aria-expanded',isOpen);}}}// static + }],[{key:'_getTargetFromElement',value:function _getTargetFromElement(element){var selector=Util.getSelectorFromElement(element);return selector?$(selector)[0]:null;}},{key:'_jQueryInterface',value:function _jQueryInterface(config){return this.each(function(){var $this=$(this);var data=$this.data(DATA_KEY);var _config=$.extend({},Default,$this.data(),(typeof config==='undefined'?'undefined':_typeof(config))==='object'&&config);if(!data&&_config.toggle&&/show|hide/.test(config)){_config.toggle=false;}if(!data){data=new Collapse(this,_config);$this.data(DATA_KEY,data);}if(typeof config==='string'){if(data[config]===undefined){throw new Error('No method named "'+config+'"');}data[config]();}});}},{key:'VERSION',get:function get(){return VERSION;}},{key:'Default',get:function get(){return Default;}}]);return Collapse;}();$(document).on(Event.CLICK_DATA_API,Selector.DATA_TOGGLE,function(event){event.preventDefault();var target=Collapse._getTargetFromElement(this);var data=$(target).data(DATA_KEY);var config=data?'toggle':$(this).data();Collapse._jQueryInterface.call($(target),config);});/** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */$.fn[NAME]=Collapse._jQueryInterface;$.fn[NAME].Constructor=Collapse;$.fn[NAME].noConflict=function(){$.fn[NAME]=JQUERY_NO_CONFLICT;return Collapse._jQueryInterface;};return Collapse;}(jQuery);/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0-alpha.3): dropdown.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */var Dropdown=function($){/** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */var NAME='dropdown';var VERSION='4.0.0-alpha.3';var DATA_KEY='bs.dropdown';var EVENT_KEY='.'+DATA_KEY;var DATA_API_KEY='.data-api';var JQUERY_NO_CONFLICT=$.fn[NAME];var ESCAPE_KEYCODE=27;// KeyboardEvent.which value for Escape (Esc) key + var ARROW_UP_KEYCODE=38;// KeyboardEvent.which value for up arrow key + var ARROW_DOWN_KEYCODE=40;// KeyboardEvent.which value for down arrow key + var RIGHT_MOUSE_BUTTON_WHICH=3;// MouseEvent.which value for the right button (assuming a right-handed mouse) + var Event={HIDE:'hide'+EVENT_KEY,HIDDEN:'hidden'+EVENT_KEY,SHOW:'show'+EVENT_KEY,SHOWN:'shown'+EVENT_KEY,CLICK:'click'+EVENT_KEY,CLICK_DATA_API:'click'+EVENT_KEY+DATA_API_KEY,KEYDOWN_DATA_API:'keydown'+EVENT_KEY+DATA_API_KEY};var ClassName={BACKDROP:'dropdown-backdrop',DISABLED:'disabled',OPEN:'open'};var Selector={BACKDROP:'.dropdown-backdrop',DATA_TOGGLE:'[data-toggle="dropdown"]',FORM_CHILD:'.dropdown form',ROLE_MENU:'[role="menu"]',ROLE_LISTBOX:'[role="listbox"]',NAVBAR_NAV:'.navbar-nav',VISIBLE_ITEMS:'[role="menu"] li:not(.disabled) a, '+'[role="listbox"] li:not(.disabled) a'};/** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */var Dropdown=function(){function Dropdown(element){_classCallCheck(this,Dropdown);this._element=element;this._addEventListeners();}/** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */// getters + _createClass(Dropdown,[{key:'toggle',// public + value:function toggle(){if(this.disabled||$(this).hasClass(ClassName.DISABLED)){return false;}var parent=Dropdown._getParentFromElement(this);var isActive=$(parent).hasClass(ClassName.OPEN);Dropdown._clearMenus();if(isActive){return false;}if('ontouchstart'in document.documentElement&&!$(parent).closest(Selector.NAVBAR_NAV).length){// if mobile we use a backdrop because click events don't delegate + var dropdown=document.createElement('div');dropdown.className=ClassName.BACKDROP;$(dropdown).insertBefore(this);$(dropdown).on('click',Dropdown._clearMenus);}var relatedTarget={relatedTarget:this};var showEvent=$.Event(Event.SHOW,relatedTarget);$(parent).trigger(showEvent);if(showEvent.isDefaultPrevented()){return false;}this.focus();this.setAttribute('aria-expanded','true');$(parent).toggleClass(ClassName.OPEN);$(parent).trigger($.Event(Event.SHOWN,relatedTarget));return false;}},{key:'dispose',value:function dispose(){$.removeData(this._element,DATA_KEY);$(this._element).off(EVENT_KEY);this._element=null;}// private + },{key:'_addEventListeners',value:function _addEventListeners(){$(this._element).on(Event.CLICK,this.toggle);}// static + }],[{key:'_jQueryInterface',value:function _jQueryInterface(config){return this.each(function(){var data=$(this).data(DATA_KEY);if(!data){$(this).data(DATA_KEY,data=new Dropdown(this));}if(typeof config==='string'){if(data[config]===undefined){throw new Error('No method named "'+config+'"');}data[config].call(this);}});}},{key:'_clearMenus',value:function _clearMenus(event){if(event&&event.which===RIGHT_MOUSE_BUTTON_WHICH){return;}var backdrop=$(Selector.BACKDROP)[0];if(backdrop){backdrop.parentNode.removeChild(backdrop);}var toggles=$.makeArray($(Selector.DATA_TOGGLE));for(var i=0;i0){// up + index--;}if(event.which===ARROW_DOWN_KEYCODE&&indexdocument.documentElement.clientHeight;if(!this._isBodyOverflowing&&isModalOverflowing){this._element.style.paddingLeft=this._scrollbarWidth+'px';}if(this._isBodyOverflowing&&!isModalOverflowing){this._element.style.paddingRight=this._scrollbarWidth+'px';}}},{key:'_resetAdjustments',value:function _resetAdjustments(){this._element.style.paddingLeft='';this._element.style.paddingRight='';}},{key:'_checkScrollbar',value:function _checkScrollbar(){this._isBodyOverflowing=document.body.clientWidth=maxScroll){var target=this._targets[this._targets.length-1];if(this._activeTarget!==target){this._activate(target);}}if(this._activeTarget&&scrollTop=this._offsets[i]&&(this._offsets[i+1]===undefined||scrollTop .nav-item .fade, > .fade',ACTIVE:'.active',ACTIVE_CHILD:'> .nav-item > .active, > .active',DATA_TOGGLE:'[data-toggle="tab"], [data-toggle="pill"]',DROPDOWN_TOGGLE:'.dropdown-toggle',DROPDOWN_ACTIVE_CHILD:'> .dropdown-menu .active'};/** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */var Tab=function(){function Tab(element){_classCallCheck(this,Tab);this._element=element;}/** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */// getters + _createClass(Tab,[{key:'show',// public + value:function show(){var _this15=this;if(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&$(this._element).hasClass(ClassName.ACTIVE)){return;}var target=undefined;var previous=undefined;var ulElement=$(this._element).closest(Selector.UL)[0];var selector=Util.getSelectorFromElement(this._element);if(ulElement){previous=$.makeArray($(ulElement).find(Selector.ACTIVE));previous=previous[previous.length-1];}var hideEvent=$.Event(Event.HIDE,{relatedTarget:this._element});var showEvent=$.Event(Event.SHOW,{relatedTarget:previous});if(previous){$(previous).trigger(hideEvent);}$(this._element).trigger(showEvent);if(showEvent.isDefaultPrevented()||hideEvent.isDefaultPrevented()){return;}if(selector){target=$(selector)[0];}this._activate(this._element,ulElement);var complete=function complete(){var hiddenEvent=$.Event(Event.HIDDEN,{relatedTarget:_this15._element});var shownEvent=$.Event(Event.SHOWN,{relatedTarget:previous});$(previous).trigger(hiddenEvent);$(_this15._element).trigger(shownEvent);};if(target){this._activate(target,target.parentNode,complete);}else{complete();}}},{key:'dispose',value:function dispose(){$.removeClass(this._element,DATA_KEY);this._element=null;}// private + },{key:'_activate',value:function _activate(element,container,callback){var active=$(container).find(Selector.ACTIVE_CHILD)[0];var isTransitioning=callback&&Util.supportsTransitionEnd()&&(active&&$(active).hasClass(ClassName.FADE)||Boolean($(container).find(Selector.FADE_CHILD)[0]));var complete=$.proxy(this._transitionComplete,this,element,active,isTransitioning,callback);if(active&&isTransitioning){$(active).one(Util.TRANSITION_END,complete).emulateTransitionEnd(TRANSITION_DURATION);}else{complete();}if(active){$(active).removeClass(ClassName.IN);}}},{key:'_transitionComplete',value:function _transitionComplete(element,active,isTransitioning,callback){if(active){$(active).removeClass(ClassName.ACTIVE);var dropdownChild=$(active).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];if(dropdownChild){$(dropdownChild).removeClass(ClassName.ACTIVE);}active.setAttribute('aria-expanded',false);}$(element).addClass(ClassName.ACTIVE);element.setAttribute('aria-expanded',true);if(isTransitioning){Util.reflow(element);$(element).addClass(ClassName.IN);}else{$(element).removeClass(ClassName.FADE);}if(element.parentNode&&$(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)){var dropdownElement=$(element).closest(Selector.DROPDOWN)[0];if(dropdownElement){$(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);}element.setAttribute('aria-expanded',true);}if(callback){callback();}}// static + }],[{key:'_jQueryInterface',value:function _jQueryInterface(config){return this.each(function(){var $this=$(this);var data=$this.data(DATA_KEY);if(!data){data=data=new Tab(this);$this.data(DATA_KEY,data);}if(typeof config==='string'){if(data[config]===undefined){throw new Error('No method named "'+config+'"');}data[config]();}});}},{key:'VERSION',get:function get(){return VERSION;}}]);return Tab;}();$(document).on(Event.CLICK_DATA_API,Selector.DATA_TOGGLE,function(event){event.preventDefault();Tab._jQueryInterface.call($(this),'show');});/** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */$.fn[NAME]=Tab._jQueryInterface;$.fn[NAME].Constructor=Tab;$.fn[NAME].noConflict=function(){$.fn[NAME]=JQUERY_NO_CONFLICT;return Tab._jQueryInterface;};return Tab;}(jQuery);/* global Tether *//** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0-alpha.3): tooltip.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */var Tooltip=function($){/** + * Check for Tether dependency + * Tether - http://github.hubspot.com/tether/ + */if(window.Tether===undefined){throw new Error('Bootstrap tooltips require Tether (http://github.hubspot.com/tether/)');}/** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */var NAME='tooltip';var VERSION='4.0.0-alpha.3';var DATA_KEY='bs.tooltip';var EVENT_KEY='.'+DATA_KEY;var JQUERY_NO_CONFLICT=$.fn[NAME];var TRANSITION_DURATION=150;var CLASS_PREFIX='bs-tether';var Default={animation:true,template:'',trigger:'hover focus',title:'',delay:0,html:false,selector:false,placement:'top',offset:'0 0',constraints:[]};var DefaultType={animation:'boolean',template:'string',title:'(string|element|function)',trigger:'string',delay:'(number|object)',html:'boolean',selector:'(string|boolean)',placement:'(string|function)',offset:'string',constraints:'array'};var AttachmentMap={TOP:'bottom center',RIGHT:'middle left',BOTTOM:'top center',LEFT:'middle right'};var HoverState={IN:'in',OUT:'out'};var Event={HIDE:'hide'+EVENT_KEY,HIDDEN:'hidden'+EVENT_KEY,SHOW:'show'+EVENT_KEY,SHOWN:'shown'+EVENT_KEY,INSERTED:'inserted'+EVENT_KEY,CLICK:'click'+EVENT_KEY,FOCUSIN:'focusin'+EVENT_KEY,FOCUSOUT:'focusout'+EVENT_KEY,MOUSEENTER:'mouseenter'+EVENT_KEY,MOUSELEAVE:'mouseleave'+EVENT_KEY};var ClassName={FADE:'fade',IN:'in'};var Selector={TOOLTIP:'.tooltip',TOOLTIP_INNER:'.tooltip-inner'};var TetherClass={element:false,enabled:false};var Trigger={HOVER:'hover',FOCUS:'focus',CLICK:'click',MANUAL:'manual'};/** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */var Tooltip=function(){function Tooltip(element,config){_classCallCheck(this,Tooltip);// private + this._isEnabled=true;this._timeout=0;this._hoverState='';this._activeTrigger={};this._tether=null;// protected + this.element=element;this.config=this._getConfig(config);this.tip=null;this._setListeners();}/** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */// getters + _createClass(Tooltip,[{key:'enable',// public + value:function enable(){this._isEnabled=true;}},{key:'disable',value:function disable(){this._isEnabled=false;}},{key:'toggleEnabled',value:function toggleEnabled(){this._isEnabled=!this._isEnabled;}},{key:'toggle',value:function toggle(event){if(event){var dataKey=this.constructor.DATA_KEY;var context=$(event.currentTarget).data(dataKey);if(!context){context=new this.constructor(event.currentTarget,this._getDelegateConfig());$(event.currentTarget).data(dataKey,context);}context._activeTrigger.click=!context._activeTrigger.click;if(context._isWithActiveTrigger()){context._enter(null,context);}else{context._leave(null,context);}}else{if($(this.getTipElement()).hasClass(ClassName.IN)){this._leave(null,this);return;}this._enter(null,this);}}},{key:'dispose',value:function dispose(){clearTimeout(this._timeout);this.cleanupTether();$.removeData(this.element,this.constructor.DATA_KEY);$(this.element).off(this.constructor.EVENT_KEY);if(this.tip){$(this.tip).remove();}this._isEnabled=null;this._timeout=null;this._hoverState=null;this._activeTrigger=null;this._tether=null;this.element=null;this.config=null;this.tip=null;}},{key:'show',value:function show(){var _this16=this;var showEvent=$.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){$(this.element).trigger(showEvent);var isInTheDom=$.contains(this.element.ownerDocument.documentElement,this.element);if(showEvent.isDefaultPrevented()||!isInTheDom){return;}var tip=this.getTipElement();var tipId=Util.getUID(this.constructor.NAME);tip.setAttribute('id',tipId);this.element.setAttribute('aria-describedby',tipId);this.setContent();if(this.config.animation){$(tip).addClass(ClassName.FADE);}var placement=typeof this.config.placement==='function'?this.config.placement.call(this,tip,this.element):this.config.placement;var attachment=this._getAttachment(placement);$(tip).data(this.constructor.DATA_KEY,this).appendTo(document.body);$(this.element).trigger(this.constructor.Event.INSERTED);this._tether=new Tether({attachment:attachment,element:tip,target:this.element,classes:TetherClass,classPrefix:CLASS_PREFIX,offset:this.config.offset,constraints:this.config.constraints,addTargetClasses:false});Util.reflow(tip);this._tether.position();$(tip).addClass(ClassName.IN);var complete=function complete(){var prevHoverState=_this16._hoverState;_this16._hoverState=null;$(_this16.element).trigger(_this16.constructor.Event.SHOWN);if(prevHoverState===HoverState.OUT){_this16._leave(null,_this16);}};if(Util.supportsTransitionEnd()&&$(this.tip).hasClass(ClassName.FADE)){$(this.tip).one(Util.TRANSITION_END,complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);return;}complete();}}},{key:'hide',value:function hide(callback){var _this17=this;var tip=this.getTipElement();var hideEvent=$.Event(this.constructor.Event.HIDE);var complete=function complete(){if(_this17._hoverState!==HoverState.IN&&tip.parentNode){tip.parentNode.removeChild(tip);}_this17.element.removeAttribute('aria-describedby');$(_this17.element).trigger(_this17.constructor.Event.HIDDEN);_this17.cleanupTether();if(callback){callback();}};$(this.element).trigger(hideEvent);if(hideEvent.isDefaultPrevented()){return;}$(tip).removeClass(ClassName.IN);if(Util.supportsTransitionEnd()&&$(this.tip).hasClass(ClassName.FADE)){$(tip).one(Util.TRANSITION_END,complete).emulateTransitionEnd(TRANSITION_DURATION);}else{complete();}this._hoverState='';}// protected + },{key:'isWithContent',value:function isWithContent(){return Boolean(this.getTitle());}},{key:'getTipElement',value:function getTipElement(){return this.tip=this.tip||$(this.config.template)[0];}},{key:'setContent',value:function setContent(){var $tip=$(this.getTipElement());this.setElementContent($tip.find(Selector.TOOLTIP_INNER),this.getTitle());$tip.removeClass(ClassName.FADE).removeClass(ClassName.IN);this.cleanupTether();}},{key:'setElementContent',value:function setElementContent($element,content){var html=this.config.html;if((typeof content==='undefined'?'undefined':_typeof(content))==='object'&&(content.nodeType||content.jquery)){// content is a DOM node or a jQuery + if(html){if(!$(content).parent().is($element)){$element.empty().append(content);}}else{$element.text($(content).text());}}else{$element[html?'html':'text'](content);}}},{key:'getTitle',value:function getTitle(){var title=this.element.getAttribute('data-original-title');if(!title){title=typeof this.config.title==='function'?this.config.title.call(this.element):this.config.title;}return title;}},{key:'cleanupTether',value:function cleanupTether(){if(this._tether){this._tether.destroy();}}// private + },{key:'_getAttachment',value:function _getAttachment(placement){return AttachmentMap[placement.toUpperCase()];}},{key:'_setListeners',value:function _setListeners(){var _this18=this;var triggers=this.config.trigger.split(' ');triggers.forEach(function(trigger){if(trigger==='click'){$(_this18.element).on(_this18.constructor.Event.CLICK,_this18.config.selector,$.proxy(_this18.toggle,_this18));}else if(trigger!==Trigger.MANUAL){var eventIn=trigger===Trigger.HOVER?_this18.constructor.Event.MOUSEENTER:_this18.constructor.Event.FOCUSIN;var eventOut=trigger===Trigger.HOVER?_this18.constructor.Event.MOUSELEAVE:_this18.constructor.Event.FOCUSOUT;$(_this18.element).on(eventIn,_this18.config.selector,$.proxy(_this18._enter,_this18)).on(eventOut,_this18.config.selector,$.proxy(_this18._leave,_this18));}});if(this.config.selector){this.config=$.extend({},this.config,{trigger:'manual',selector:''});}else{this._fixTitle();}}},{key:'_fixTitle',value:function _fixTitle(){var titleType=_typeof(this.element.getAttribute('data-original-title'));if(this.element.getAttribute('title')||titleType!=='string'){this.element.setAttribute('data-original-title',this.element.getAttribute('title')||'');this.element.setAttribute('title','');}}},{key:'_enter',value:function _enter(event,context){var dataKey=this.constructor.DATA_KEY;context=context||$(event.currentTarget).data(dataKey);if(!context){context=new this.constructor(event.currentTarget,this._getDelegateConfig());$(event.currentTarget).data(dataKey,context);}if(event){context._activeTrigger[event.type==='focusin'?Trigger.FOCUS:Trigger.HOVER]=true;}if($(context.getTipElement()).hasClass(ClassName.IN)||context._hoverState===HoverState.IN){context._hoverState=HoverState.IN;return;}clearTimeout(context._timeout);context._hoverState=HoverState.IN;if(!context.config.delay||!context.config.delay.show){context.show();return;}context._timeout=setTimeout(function(){if(context._hoverState===HoverState.IN){context.show();}},context.config.delay.show);}},{key:'_leave',value:function _leave(event,context){var dataKey=this.constructor.DATA_KEY;context=context||$(event.currentTarget).data(dataKey);if(!context){context=new this.constructor(event.currentTarget,this._getDelegateConfig());$(event.currentTarget).data(dataKey,context);}if(event){context._activeTrigger[event.type==='focusout'?Trigger.FOCUS:Trigger.HOVER]=false;}if(context._isWithActiveTrigger()){return;}clearTimeout(context._timeout);context._hoverState=HoverState.OUT;if(!context.config.delay||!context.config.delay.hide){context.hide();return;}context._timeout=setTimeout(function(){if(context._hoverState===HoverState.OUT){context.hide();}},context.config.delay.hide);}},{key:'_isWithActiveTrigger',value:function _isWithActiveTrigger(){for(var trigger in this._activeTrigger){if(this._activeTrigger[trigger]){return true;}}return false;}},{key:'_getConfig',value:function _getConfig(config){config=$.extend({},this.constructor.Default,$(this.element).data(),config);if(config.delay&&typeof config.delay==='number'){config.delay={show:config.delay,hide:config.delay};}Util.typeCheckConfig(NAME,config,this.constructor.DefaultType);return config;}},{key:'_getDelegateConfig',value:function _getDelegateConfig(){var config={};if(this.config){for(var key in this.config){if(this.constructor.Default[key]!==this.config[key]){config[key]=this.config[key];}}}return config;}// static + }],[{key:'_jQueryInterface',value:function _jQueryInterface(config){return this.each(function(){var data=$(this).data(DATA_KEY);var _config=(typeof config==='undefined'?'undefined':_typeof(config))==='object'?config:null;if(!data&&/destroy|hide/.test(config)){return;}if(!data){data=new Tooltip(this,_config);$(this).data(DATA_KEY,data);}if(typeof config==='string'){if(data[config]===undefined){throw new Error('No method named "'+config+'"');}data[config]();}});}},{key:'VERSION',get:function get(){return VERSION;}},{key:'Default',get:function get(){return Default;}},{key:'NAME',get:function get(){return NAME;}},{key:'DATA_KEY',get:function get(){return DATA_KEY;}},{key:'Event',get:function get(){return Event;}},{key:'EVENT_KEY',get:function get(){return EVENT_KEY;}},{key:'DefaultType',get:function get(){return DefaultType;}}]);return Tooltip;}();$.fn[NAME]=Tooltip._jQueryInterface;$.fn[NAME].Constructor=Tooltip;$.fn[NAME].noConflict=function(){$.fn[NAME]=JQUERY_NO_CONFLICT;return Tooltip._jQueryInterface;};return Tooltip;}(jQuery);/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0-alpha.3): popover.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */var Popover=function($){/** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */var NAME='popover';var VERSION='4.0.0-alpha.3';var DATA_KEY='bs.popover';var EVENT_KEY='.'+DATA_KEY;var JQUERY_NO_CONFLICT=$.fn[NAME];var Default=$.extend({},Tooltip.Default,{placement:'right',trigger:'click',content:'',template:''});var DefaultType=$.extend({},Tooltip.DefaultType,{content:'(string|element|function)'});var ClassName={FADE:'fade',IN:'in'};var Selector={TITLE:'.popover-title',CONTENT:'.popover-content',ARROW:'.popover-arrow'};var Event={HIDE:'hide'+EVENT_KEY,HIDDEN:'hidden'+EVENT_KEY,SHOW:'show'+EVENT_KEY,SHOWN:'shown'+EVENT_KEY,INSERTED:'inserted'+EVENT_KEY,CLICK:'click'+EVENT_KEY,FOCUSIN:'focusin'+EVENT_KEY,FOCUSOUT:'focusout'+EVENT_KEY,MOUSEENTER:'mouseenter'+EVENT_KEY,MOUSELEAVE:'mouseleave'+EVENT_KEY};/** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */var Popover=function(_Tooltip){_inherits(Popover,_Tooltip);function Popover(){_classCallCheck(this,Popover);_get(Object.getPrototypeOf(Popover.prototype),'constructor',this).apply(this,arguments);}/** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */_createClass(Popover,[{key:'isWithContent',// overrides + value:function isWithContent(){return this.getTitle()||this._getContent();}},{key:'getTipElement',value:function getTipElement(){return this.tip=this.tip||$(this.config.template)[0];}},{key:'setContent',value:function setContent(){var $tip=$(this.getTipElement());// we use append for html objects to maintain js events + this.setElementContent($tip.find(Selector.TITLE),this.getTitle());this.setElementContent($tip.find(Selector.CONTENT),this._getContent());$tip.removeClass(ClassName.FADE).removeClass(ClassName.IN);this.cleanupTether();}// private + },{key:'_getContent',value:function _getContent(){return this.element.getAttribute('data-content')||(typeof this.config.content==='function'?this.config.content.call(this.element):this.config.content);}// static + }],[{key:'_jQueryInterface',value:function _jQueryInterface(config){return this.each(function(){var data=$(this).data(DATA_KEY);var _config=(typeof config==='undefined'?'undefined':_typeof(config))==='object'?config:null;if(!data&&/destroy|hide/.test(config)){return;}if(!data){data=new Popover(this,_config);$(this).data(DATA_KEY,data);}if(typeof config==='string'){if(data[config]===undefined){throw new Error('No method named "'+config+'"');}data[config]();}});}},{key:'VERSION',// getters + get:function get(){return VERSION;}},{key:'Default',get:function get(){return Default;}},{key:'NAME',get:function get(){return NAME;}},{key:'DATA_KEY',get:function get(){return DATA_KEY;}},{key:'Event',get:function get(){return Event;}},{key:'EVENT_KEY',get:function get(){return EVENT_KEY;}},{key:'DefaultType',get:function get(){return DefaultType;}}]);return Popover;}(Tooltip);$.fn[NAME]=Popover._jQueryInterface;$.fn[NAME].Constructor=Popover;$.fn[NAME].noConflict=function(){$.fn[NAME]=JQUERY_NO_CONFLICT;return Popover._jQueryInterface;};return Popover;}(jQuery);}(jQuery); + + var Util = function () { + + /** + * ------------------------------------------------------------------------ + * Private TransitionEnd Helpers + * ------------------------------------------------------------------------ + */ + + var transitionEnd = false; + var _transitionEndSelector = ''; + + var TransitionEndEvent = { + WebkitTransition: 'webkitTransitionEnd', + MozTransition: 'transitionend', + OTransition: 'oTransitionEnd otransitionend', + transition: 'transitionend' + }; + + function transitionEndTest() { + if (window.QUnit) { + return false; + } + + var el = document.createElement('bmd'); + + for (var name in TransitionEndEvent) { + if (el.style[name] !== undefined) { + return TransitionEndEvent[name]; // { end: TransitionEndEvent[name] } + } + } + + return false; + } + + function setTransitionEndSupport() { + transitionEnd = transitionEndTest(); + + // generate a concatenated transition end event selector + for (var name in TransitionEndEvent) { + _transitionEndSelector += ' ' + TransitionEndEvent[name]; + } + } + + /** + * -------------------------------------------------------------------------- + * Public Util Api + * -------------------------------------------------------------------------- + */ + + var Util = { + transitionEndSupported: function transitionEndSupported() { + return transitionEnd; + }, + transitionEndSelector: function transitionEndSelector() { + return _transitionEndSelector; + }, + isChar: function isChar(event) { + if (typeof event.which === 'undefined') { + return true; + } else if (typeof event.which === 'number' && event.which > 0) { + return !event.ctrlKey && !event.metaKey && !event.altKey && event.which !== 8 // backspace + && event.which !== 9 // tab + && event.which !== 13 // enter + && event.which !== 16 // shift + && event.which !== 17 // ctrl + && event.which !== 20 // caps lock + && event.which !== 27 // escape + ; + } + return false; + }, + assert: function assert($element, invalidTest, message) { + if (invalidTest) { + if (!$element === undefined) { + $element.css('border', '1px solid red'); + } + console.error(message, $element); // eslint-disable-line no-console + throw message; + } + }, + describe: function describe($element) { + if ($element === undefined) { + return 'undefined'; + } else if ($element.length === 0) { + return '(no matching elements)'; + } + return $element[0].outerHTML.split('>')[0] + '>'; + } + }; + + setTransitionEndSupport(); + return Util; + }(jQuery); + + var Base = function ($) { + + var ClassName = { + BMD_FORM_GROUP: 'bmd-form-group', + IS_FILLED: 'is-filled', + IS_FOCUSED: 'is-focused' + }; + + var Selector = { + BMD_FORM_GROUP: '.' + ClassName.BMD_FORM_GROUP + }; + + var Default = {}; + + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + var Base = function () { + + /** + * + * @param element + * @param config + * @param properties - anything that needs to be set as this[key] = value. Works around the need to call `super` before using `this` + */ + function Base($element, config) { + var properties = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2]; + classCallCheck(this, Base); + + this.$element = $element; + this.config = $.extend(true, {}, Default, config); + + // set properties for use in the constructor initialization + for (var key in properties) { + this[key] = properties[key]; + } + } + + createClass(Base, [{ + key: 'dispose', + value: function dispose(dataKey) { + this.$element.data(dataKey, null); + this.$element = null; + this.config = null; + } + + // ------------------------------------------------------------------------ + // protected + + }, { + key: 'addFormGroupFocus', + value: function addFormGroupFocus() { + if (!this.$element.prop('disabled')) { + this.$bmdFormGroup.addClass(ClassName.IS_FOCUSED); + } + } + }, { + key: 'removeFormGroupFocus', + value: function removeFormGroupFocus() { + this.$bmdFormGroup.removeClass(ClassName.IS_FOCUSED); + } + }, { + key: 'removeIsFilled', + value: function removeIsFilled() { + this.$bmdFormGroup.removeClass(ClassName.IS_FILLED); + } + }, { + key: 'addIsFilled', + value: function addIsFilled() { + this.$bmdFormGroup.addClass(ClassName.IS_FILLED); + } + + // Find bmd-form-group + + }, { + key: 'findMdbFormGroup', + value: function findMdbFormGroup() { + var raiseError = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0]; + + var mfg = this.$element.closest(Selector.BMD_FORM_GROUP); + if (mfg.length === 0 && raiseError) { + $.error('Failed to find ' + Selector.BMD_FORM_GROUP + ' for ' + Util.describe(this.$element)); + } + return mfg; + } + + // ------------------------------------------------------------------------ + // private + + // ------------------------------------------------------------------------ + // static + + }]); + return Base; + }(); + + return Base; + }(jQuery); + + var BaseInput = function ($) { + + var ClassName = { + FORM_GROUP: 'form-group', + BMD_FORM_GROUP: 'bmd-form-group', + BMD_LABEL: 'bmd-label', + BMD_LABEL_STATIC: 'bmd-label-static', + BMD_LABEL_PLACEHOLDER: 'bmd-label-placeholder', + BMD_LABEL_FLOATING: 'bmd-label-floating', + HAS_DANGER: 'has-danger', + IS_FILLED: 'is-filled', + IS_FOCUSED: 'is-focused', + INPUT_GROUP: 'input-group' + }; + + var Selector = { + FORM_GROUP: '.' + ClassName.FORM_GROUP, + BMD_FORM_GROUP: '.' + ClassName.BMD_FORM_GROUP, + BMD_LABEL_WILDCARD: 'label[class^=\'' + ClassName.BMD_LABEL + '\'], label[class*=\' ' + ClassName.BMD_LABEL + '\']' // match any label variant if specified + }; + + var Default = { + validate: false, + formGroup: { + required: false + }, + bmdFormGroup: { + template: '', + create: true, // create a wrapper if form-group not found + required: true // not recommended to turn this off, only used for inline components + }, + label: { + required: false, + + // Prioritized find order for resolving the label to be used as an bmd-label if not specified in the markup + // - a function(thisComponent); or + // - a string selector used like $bmdFormGroup.find(selector) + // + // Note this only runs if $bmdFormGroup.find(Selector.BMD_LABEL_WILDCARD) fails to find a label (as authored in the markup) + // + selectors: ['.form-control-label', // in the case of horizontal or inline forms, this will be marked + '> label' // usual case for text inputs, first child. Deeper would find toggle labels so don't do that. + ], + className: ClassName.BMD_LABEL_STATIC + }, + requiredClasses: [], + invalidComponentMatches: [], + convertInputSizeVariations: true + }; + + var FormControlSizeMarkers = { + 'form-control-lg': 'bmd-form-group-lg', + 'form-control-sm': 'bmd-form-group-sm' + }; + + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + var BaseInput = function (_Base) { + inherits(BaseInput, _Base); + + /** + * + * @param element + * @param config + * @param properties - anything that needs to be set as this[key] = value. Works around the need to call `super` before using `this` + */ + function BaseInput($element, config) { + var properties = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2]; + classCallCheck(this, BaseInput); + + // Enforce no overlap between components to prevent side effects + var _this = possibleConstructorReturn(this, Object.getPrototypeOf(BaseInput).call(this, $element, $.extend(true, {}, Default, config), properties)); + + _this._rejectInvalidComponentMatches(); + + // Enforce expected structure (if any) + _this.rejectWithoutRequiredStructure(); + + // Enforce required classes for a consistent rendering + _this._rejectWithoutRequiredClasses(); + + // Resolve the form-group first, it will be used for bmd-form-group if possible + // note: different components have different rules + _this.$formGroup = _this.findFormGroup(_this.config.formGroup.required); + + // Will add bmd-form-group to form-group or create an bmd-form-group + // Performance Note: for those forms that are really performance driven, create the markup with the .bmd-form-group to avoid + // rendering changes once added. + _this.$bmdFormGroup = _this.resolveMdbFormGroup(); + + // Resolve and mark the bmdLabel if necessary as defined by the config + _this.$bmdLabel = _this.resolveMdbLabel(); + + // Signal to the bmd-form-group that a form-control-* variation is being used + _this.resolveMdbFormGroupSizing(); + + _this.addFocusListener(); + _this.addChangeListener(); + + if (_this.$element.val() != '') { + _this.addIsFilled(); + } + return _this; + } + + createClass(BaseInput, [{ + key: 'dispose', + value: function dispose(dataKey) { + get(Object.getPrototypeOf(BaseInput.prototype), 'dispose', this).call(this, dataKey); + this.$bmdFormGroup = null; + this.$formGroup = null; + } + + // ------------------------------------------------------------------------ + // protected + + }, { + key: 'rejectWithoutRequiredStructure', + value: function rejectWithoutRequiredStructure() { + // implement + } + }, { + key: 'addFocusListener', + value: function addFocusListener() { + var _this2 = this; + + this.$element.on('focus', function () { + _this2.addFormGroupFocus(); + }).on('blur', function () { + _this2.removeFormGroupFocus(); + }); + } + }, { + key: 'addChangeListener', + value: function addChangeListener() { + var _this3 = this; + + this.$element.on('keydown paste', function (event) { + if (Util.isChar(event)) { + _this3.addIsFilled(); + } + }).on('keyup change', function () { + + // make sure empty is added back when there is a programmatic value change. + // NOTE: programmatic changing of value using $.val() must trigger the change event i.e. $.val('x').trigger('change') + if (_this3.isEmpty()) { + _this3.removeIsFilled(); + } else { + _this3.addIsFilled(); + } + + if (_this3.config.validate) { + // Validation events do not bubble, so they must be attached directly to the text: http://jsfiddle.net/PEpRM/1/ + // Further, even the bind method is being caught, but since we are already calling #checkValidity here, just alter + // the form-group on change. + // + // NOTE: I'm not sure we should be intervening regarding validation, this seems better as a README and snippet of code. + // BUT, I've left it here for backwards compatibility. + var isValid = typeof _this3.$element[0].checkValidity === 'undefined' || _this3.$element[0].checkValidity(); + if (isValid) { + _this3.removeHasDanger(); + } else { + _this3.addHasDanger(); + } + } + }); + } + }, { + key: 'addHasDanger', + value: function addHasDanger() { + this.$bmdFormGroup.addClass(ClassName.HAS_DANGER); + } + }, { + key: 'removeHasDanger', + value: function removeHasDanger() { + this.$bmdFormGroup.removeClass(ClassName.HAS_DANGER); + } + }, { + key: 'isEmpty', + value: function isEmpty() { + return this.$element.val() === null || this.$element.val() === undefined || this.$element.val() === ''; + } + + // Will add bmd-form-group to form-group or create a bmd-form-group if necessary + + }, { + key: 'resolveMdbFormGroup', + value: function resolveMdbFormGroup() { + var mfg = this.findMdbFormGroup(false); + if (mfg === undefined || mfg.length === 0) { + if (this.config.bmdFormGroup.create && (this.$formGroup === undefined || this.$formGroup.length === 0)) { + // If a form-group doesn't exist (not recommended), take a guess and wrap the element (assuming no label). + // note: it's possible to make this smarter, but I need to see valid cases before adding any complexity. + + // this may be an input-group, wrap that instead + if (this.outerElement().parent().hasClass(ClassName.INPUT_GROUP)) { + this.outerElement().parent().wrap(this.config.bmdFormGroup.template); + } else { + this.outerElement().wrap(this.config.bmdFormGroup.template); + } + } else { + // a form-group does exist, add our marker class to it + this.$formGroup.addClass(ClassName.BMD_FORM_GROUP); + + // OLD: may want to implement this after all, see how the styling turns out, but using an existing form-group is less manipulation of the dom and therefore preferable + // A form-group does exist, so add an bmd-form-group wrapping it's internal contents + //fg.wrapInner(this.config.bmdFormGroup.template) + } + + mfg = this.findMdbFormGroup(this.config.bmdFormGroup.required); + } + + return mfg; + } + + // Demarcation element (e.g. first child of a form-group) + // Subclasses such as file inputs may have different structures + + }, { + key: 'outerElement', + value: function outerElement() { + return this.$element; + } + + // Will add bmd-label to bmd-form-group if not already specified + + }, { + key: 'resolveMdbLabel', + value: function resolveMdbLabel() { + + var label = this.$bmdFormGroup.find(Selector.BMD_LABEL_WILDCARD); + if (label === undefined || label.length === 0) { + // we need to find it based on the configured selectors + label = this.findMdbLabel(this.config.label.required); + + if (label === undefined || label.length === 0) { + // no label found, and finder did not require one + } else { + // a candidate label was found, add the configured default class name + label.addClass(this.config.label.className); + } + } + + return label; + } + + // Find bmd-label variant based on the config selectors + + }, { + key: 'findMdbLabel', + value: function findMdbLabel() { + var raiseError = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0]; + + var label = null; + + // use the specified selector order + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = this.config.label.selectors[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var selector = _step.value; + + if ($.isFunction(selector)) { + label = selector(this); + } else { + label = this.$bmdFormGroup.find(selector); + } + + if (label !== undefined && label.length > 0) { + break; + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + if (label.length === 0 && raiseError) { + $.error('Failed to find ' + Selector.BMD_LABEL_WILDCARD + ' within form-group for ' + Util.describe(this.$element)); + } + return label; + } + + // Find bmd-form-group + + }, { + key: 'findFormGroup', + value: function findFormGroup() { + var raiseError = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0]; + + var fg = this.$element.closest(Selector.FORM_GROUP); + if (fg.length === 0 && raiseError) { + $.error('Failed to find ' + Selector.FORM_GROUP + ' for ' + Util.describe(this.$element)); + } + return fg; + } + + // Due to the interconnected nature of labels/inputs/help-blocks, signal the bmd-form-group-* size variation based on + // a found form-control-* size + + }, { + key: 'resolveMdbFormGroupSizing', + value: function resolveMdbFormGroupSizing() { + if (!this.config.convertInputSizeVariations) { + return; + } + + // Modification - Change text-sm/lg to form-group-sm/lg instead (preferred standard and simpler css/less variants) + for (var inputSize in FormControlSizeMarkers) { + if (this.$element.hasClass(inputSize)) { + //this.$element.removeClass(inputSize) + this.$bmdFormGroup.addClass(FormControlSizeMarkers[inputSize]); + } + } + } + + // ------------------------------------------------------------------------ + // private + + }, { + key: '_rejectInvalidComponentMatches', + value: function _rejectInvalidComponentMatches() { + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = this.config.invalidComponentMatches[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var otherComponent = _step2.value; + + otherComponent.rejectMatch(this.constructor.name, this.$element); + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + } + }, { + key: '_rejectWithoutRequiredClasses', + value: function _rejectWithoutRequiredClasses() { + var _iteratorNormalCompletion3 = true; + var _didIteratorError3 = false; + var _iteratorError3 = undefined; + + try { + for (var _iterator3 = this.config.requiredClasses[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { + var requiredClass = _step3.value; + + + var found = false; + // allow one of several classes to be passed in x||y + if (requiredClass.indexOf('||') !== -1) { + var oneOf = requiredClass.split('||'); + var _iteratorNormalCompletion4 = true; + var _didIteratorError4 = false; + var _iteratorError4 = undefined; + + try { + for (var _iterator4 = oneOf[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { + var _requiredClass = _step4.value; + + if (this.$element.hasClass(_requiredClass)) { + found = true; + break; + } + } + } catch (err) { + _didIteratorError4 = true; + _iteratorError4 = err; + } finally { + try { + if (!_iteratorNormalCompletion4 && _iterator4.return) { + _iterator4.return(); + } + } finally { + if (_didIteratorError4) { + throw _iteratorError4; + } + } + } + } else if (this.$element.hasClass(requiredClass)) { + found = true; + } + + // error if not found + if (!found) { + $.error(this.constructor.name + ' element: ' + Util.describe(this.$element) + ' requires class: ' + requiredClass); + } + } + } catch (err) { + _didIteratorError3 = true; + _iteratorError3 = err; + } finally { + try { + if (!_iteratorNormalCompletion3 && _iterator3.return) { + _iterator3.return(); + } + } finally { + if (_didIteratorError3) { + throw _iteratorError3; + } + } + } + } + + // ------------------------------------------------------------------------ + // static + + }]); + return BaseInput; + }(Base); + + return BaseInput; + }(jQuery); + + var BaseSelection = function ($) { + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + var Default = { + label: { + required: false + + // Prioritized find order for resolving the label to be used as an bmd-label if not specified in the markup + // - a function(thisComponent); or + // - a string selector used like $bmdFormGroup.find(selector) + // + // Note this only runs if $bmdFormGroup.find(Selector.BMD_LABEL_WILDCARD) fails to find a label (as authored in the markup) + // + //selectors: [ + // `.form-control-label`, // in the case of horizontal or inline forms, this will be marked + // `> label` // usual case for text inputs + //] + } + }; + + var Selector = { + LABEL: 'label' + }; + + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + var BaseSelection = function (_BaseInput) { + inherits(BaseSelection, _BaseInput); + + function BaseSelection($element, config, properties) { + classCallCheck(this, BaseSelection); + + var _this = possibleConstructorReturn(this, Object.getPrototypeOf(BaseSelection).call(this, $element, $.extend(true, {}, Default, config), properties)); + // properties = {inputType: checkbox, outerClass: checkbox-inline} + // '.checkbox|switch|radio > label > input[type=checkbox|radio]' + // '.${this.outerClass} > label > input[type=${this.inputType}]' + + _this.decorateMarkup(); + return _this; + } + + // ------------------------------------------------------------------------ + // protected + + createClass(BaseSelection, [{ + key: 'decorateMarkup', + value: function decorateMarkup() { + this.$element.after(this.config.template); + } + + // Demarcation element (e.g. first child of a form-group) + + }, { + key: 'outerElement', + value: function outerElement() { + // .checkbox|switch|radio > label > input[type=checkbox|radio] + // label.checkbox-inline > input[type=checkbox|radio] + // .${this.outerClass} > label > input[type=${this.inputType}] + return this.$element.parent().closest('.' + this.outerClass); + } + }, { + key: 'rejectWithoutRequiredStructure', + value: function rejectWithoutRequiredStructure() { + // '.checkbox|switch|radio > label > input[type=checkbox|radio]' + // '.${this.outerClass} > label > input[type=${this.inputType}]' + Util.assert(this.$element, !this.$element.parent().prop('tagName') === 'label', this.constructor.name + '\'s ' + Util.describe(this.$element) + ' parent element should be