diff --git a/esbuild.config.mjs b/esbuild.config.mjs index b13282b..c275170 100644 --- a/esbuild.config.mjs +++ b/esbuild.config.mjs @@ -1,15 +1,16 @@ import esbuild from "esbuild"; import process from "process"; import builtins from "builtin-modules"; +import { lessLoader } from "esbuild-plugin-less"; +import svg from 'esbuild-plugin-svg'; -const banner = -`/* +const banner = `/* THIS IS A GENERATED/BUNDLED FILE BY ESBUILD if you want to view the source, please visit the github repository of this plugin */ `; -const prod = (process.argv[2] === "production"); +const prod = process.argv[2] === "production"; const context = await esbuild.context({ banner: { @@ -31,13 +32,15 @@ const context = await esbuild.context({ "@lezer/common", "@lezer/highlight", "@lezer/lr", - ...builtins], + ...builtins, + ], format: "cjs", target: "es2018", logLevel: "info", sourcemap: prod ? false : "inline", treeShaking: true, outfile: "main.js", + plugins: [lessLoader(), svg()], }); if (prod) { @@ -45,4 +48,4 @@ if (prod) { process.exit(0); } else { await context.watch(); -} \ No newline at end of file +} diff --git a/main.css b/main.css new file mode 100644 index 0000000..4b83f05 --- /dev/null +++ b/main.css @@ -0,0 +1,1066 @@ +/* node_modules/x-data-spreadsheet/src/index.less */ +body { + margin: 0; +} +.x-spreadsheet { + font-size: 13px; + line-height: normal; + user-select: none; + -moz-user-select: none; + font-family: + "Lato", + "Source Sans Pro", + Roboto, + Helvetica, + Arial, + sans-serif; + box-sizing: content-box; + background: #fff; + -webkit-font-smoothing: antialiased; +} +.x-spreadsheet textarea { + font: + 400 13px Arial, + "Lato", + "Source Sans Pro", + Roboto, + Helvetica, + sans-serif; +} +.x-spreadsheet-sheet { + position: relative; + overflow: hidden; +} +.x-spreadsheet-table { + vertical-align: bottom; +} +.x-spreadsheet-tooltip { + font-family: inherit; + position: absolute; + padding: 5px 10px; + color: #fff; + border-radius: 1px; + background: #000000; + font-size: 12px; + z-index: 201; +} +.x-spreadsheet-tooltip:before { + pointer-events: none; + position: absolute; + left: calc(50% - 4px); + top: -4px; + content: ""; + width: 8px; + height: 8px; + background: inherit; + -webkit-transform: rotate(45deg); + transform: rotate(45deg); + z-index: 1; + box-shadow: 1px 1px 3px -1px rgba(0, 0, 0, 0.3); +} +.x-spreadsheet-color-palette { + padding: 5px; +} +.x-spreadsheet-color-palette table { + margin: 0; + padding: 0; + border-collapse: separate; + border-spacing: 2; + background: #fff; +} +.x-spreadsheet-color-palette table td { + margin: 0; + cursor: pointer; + border: 1px solid transparent; +} +.x-spreadsheet-color-palette table td:hover { + border-color: #ddd; +} +.x-spreadsheet-color-palette table td .x-spreadsheet-color-palette-cell { + width: 16px; + height: 16px; +} +.x-spreadsheet-border-palette { + padding: 6px; +} +.x-spreadsheet-border-palette table { + margin: 0; + padding: 0; + border-collapse: separate; + border-spacing: 0; + background: #fff; + table-layout: fixed; +} +.x-spreadsheet-border-palette table td { + margin: 0; +} +.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left { + border-right: 1px solid #eee; + padding-right: 6px; +} +.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left .x-spreadsheet-border-palette-cell { + width: 30px; + height: 30px; + cursor: pointer; + text-align: center; +} +.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left .x-spreadsheet-border-palette-cell .x-spreadsheet-icon-img { + opacity: 0.8; +} +.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left .x-spreadsheet-border-palette-cell:hover { + background-color: #eee; +} +.x-spreadsheet-border-palette .x-spreadsheet-border-palette-right { + padding-left: 6px; +} +.x-spreadsheet-border-palette .x-spreadsheet-border-palette-right .x-spreadsheet-toolbar-btn { + margin-top: 0; + margin-bottom: 3px; +} +.x-spreadsheet-border-palette .x-spreadsheet-border-palette-right .x-spreadsheet-line-type { + position: relative; + left: 0; + top: -3px; +} +.x-spreadsheet-dropdown { + position: relative; +} +.x-spreadsheet-dropdown .x-spreadsheet-dropdown-content { + position: absolute; + z-index: 200; + background: #fff; + box-shadow: 1px 2px 5px 2px rgba(51, 51, 51, 0.15); +} +.x-spreadsheet-dropdown.bottom-left .x-spreadsheet-dropdown-content { + top: calc(100% + 5px); + left: 0; +} +.x-spreadsheet-dropdown.bottom-right .x-spreadsheet-dropdown-content { + top: calc(100% + 5px); + right: 0; +} +.x-spreadsheet-dropdown.top-left .x-spreadsheet-dropdown-content { + bottom: calc(100% + 5px); + left: 0; +} +.x-spreadsheet-dropdown.top-right .x-spreadsheet-dropdown-content { + bottom: calc(100% + 5px); + right: 0; +} +.x-spreadsheet-dropdown .x-spreadsheet-dropdown-title { + padding: 0 5px; + display: inline-block; +} +.x-spreadsheet-dropdown .x-spreadsheet-dropdown-header .x-spreadsheet-icon.arrow-left { + margin-left: 4px; +} +.x-spreadsheet-dropdown .x-spreadsheet-dropdown-header .x-spreadsheet-icon.arrow-right { + width: 10px; + margin-right: 4px; +} +.x-spreadsheet-dropdown .x-spreadsheet-dropdown-header .x-spreadsheet-icon.arrow-right .arrow-down { + left: -130px; +} +.x-spreadsheet-resizer { + position: absolute; + z-index: 11; +} +.x-spreadsheet-resizer .x-spreadsheet-resizer-hover { + background-color: rgba(75, 137, 255, 0.25); +} +.x-spreadsheet-resizer .x-spreadsheet-resizer-line { + position: absolute; +} +.x-spreadsheet-resizer.horizontal { + cursor: row-resize; +} +.x-spreadsheet-resizer.horizontal .x-spreadsheet-resizer-line { + border-bottom: 2px dashed #4b89ff; + left: 0; + bottom: 0; +} +.x-spreadsheet-resizer.vertical { + cursor: col-resize; +} +.x-spreadsheet-resizer.vertical .x-spreadsheet-resizer-line { + border-right: 2px dashed #4b89ff; + top: 0; + right: 0; +} +.x-spreadsheet-scrollbar { + position: absolute; + bottom: 0; + right: 0; + background-color: #f4f5f8; + opacity: 0.9; + z-index: 12; +} +.x-spreadsheet-scrollbar.horizontal { + right: 15px; + overflow-x: scroll; + overflow-y: hidden; +} +.x-spreadsheet-scrollbar.horizontal > div { + height: 1px; + background: #ddd; +} +.x-spreadsheet-scrollbar.vertical { + bottom: 15px; + overflow-x: hidden; + overflow-y: scroll; +} +.x-spreadsheet-scrollbar.vertical > div { + width: 1px; + background: #ddd; +} +.x-spreadsheet-overlayer { + position: absolute; + left: 0; + top: 0; + z-index: 10; +} +.x-spreadsheet-overlayer .x-spreadsheet-overlayer-content { + position: absolute; + overflow: hidden; + pointer-events: none; + width: 100%; + height: 100%; +} +.x-spreadsheet-editor, +.x-spreadsheet-selector { + box-sizing: content-box; + position: absolute; + overflow: hidden; + pointer-events: none; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +.x-spreadsheet-selector .hide-input { + position: absolute; + z-index: 0; +} +.x-spreadsheet-selector .hide-input input { + padding: 0; + width: 0; + border: none !important; +} +.x-spreadsheet-selector .x-spreadsheet-selector-area { + position: absolute; + border: 2px solid #4b89ff; + background: rgba(75, 137, 255, 0.1); + z-index: 5; +} +.x-spreadsheet-selector .x-spreadsheet-selector-clipboard, +.x-spreadsheet-selector .x-spreadsheet-selector-autofill { + position: absolute; + background: transparent; + z-index: 100; +} +.x-spreadsheet-selector .x-spreadsheet-selector-clipboard { + border: 2px dashed #4b89ff; +} +.x-spreadsheet-selector .x-spreadsheet-selector-autofill { + border: 1px dashed rgba(0, 0, 0, 0.45); +} +.x-spreadsheet-selector .x-spreadsheet-selector-corner { + pointer-events: auto; + position: absolute; + cursor: crosshair; + font-size: 0; + height: 5px; + width: 5px; + right: -5px; + bottom: -5px; + border: 2px solid #ffffff; + background: #4b89ff; +} +.x-spreadsheet-editor { + z-index: 20; +} +.x-spreadsheet-editor .x-spreadsheet-editor-area { + position: absolute; + text-align: left; + border: 2px solid #4b89ff; + line-height: 0; + z-index: 100; + pointer-events: auto; +} +.x-spreadsheet-editor .x-spreadsheet-editor-area textarea { + box-sizing: content-box; + border: none; + padding: 0 3px; + outline: none; + resize: none; + text-align: start; + overflow-y: hidden; + font: + 400 13px Arial, + "Lato", + "Source Sans Pro", + Roboto, + Helvetica, + sans-serif; + color: inherit; + white-space: normal; + word-wrap: break-word; + line-height: 22px; + margin: 0; +} +.x-spreadsheet-editor .x-spreadsheet-editor-area .textline { + overflow: hidden; + visibility: hidden; + position: fixed; + top: 0; + left: 0; +} +.x-spreadsheet-item { + user-select: none; + background: 0; + border: 1px solid transparent; + outline: none; + height: 26px; + color: rgba(0, 0, 0, 0.9); + line-height: 26px; + list-style: none; + padding: 2px 10px; + cursor: default; + text-align: left; + overflow: hidden; +} +.x-spreadsheet-item.disabled { + pointer-events: none; + opacity: 0.5; +} +.x-spreadsheet-item:hover, +.x-spreadsheet-item.active { + background: rgba(0, 0, 0, 0.05); +} +.x-spreadsheet-item.divider { + height: 0; + padding: 0; + margin: 5px 0; + border: none; + border-bottom: 1px solid rgba(0, 0, 0, 0.1); +} +.x-spreadsheet-item .label { + float: right; + opacity: 0.65; + font-size: 1em; +} +.x-spreadsheet-item.state, +.x-spreadsheet-header.state { + padding-left: 35px !important; + position: relative; +} +.x-spreadsheet-item.state:before, +.x-spreadsheet-header.state:before { + content: ""; + position: absolute; + width: 10px; + height: 10px; + left: 12px; + top: calc(50% - 5px); + background: rgba(0, 0, 0, 0.08); + border-radius: 2px; +} +.x-spreadsheet-item.state.checked:before, +.x-spreadsheet-header.state.checked:before { + background: #4b89ff; +} +.x-spreadsheet-checkbox { + position: relative; + display: inline-block; + backface-visibility: hidden; + outline: 0; + vertical-align: baseline; + font-style: normal; + font-size: 1rem; + line-height: 1em; +} +.x-spreadsheet-checkbox > input { + position: absolute; + top: 0; + left: 0; + opacity: 0 !important; + outline: 0; + z-index: -1; +} +.x-spreadsheet-suggest, +.x-spreadsheet-contextmenu, +.x-spreadsheet-sort-filter { + position: absolute; + box-shadow: 1px 2px 5px 2px rgba(51, 51, 51, 0.15); + background: #fff; + z-index: 100; + width: 260px; + pointer-events: auto; + overflow: auto; +} +.x-spreadsheet-suggest { + width: 200px; +} +.x-spreadsheet-filter { + border: 1px solid #e9e9e9; + font-size: 12px; + margin: 10px; +} +.x-spreadsheet-filter .x-spreadsheet-header { + padding: 0.5em 0.75em; + background: #f8f8f9; + border-bottom: 1px solid #e9e9e9; + border-left: 1px solid transparent; +} +.x-spreadsheet-filter .x-spreadsheet-body { + height: 200px; + overflow-y: auto; +} +.x-spreadsheet-filter .x-spreadsheet-body .x-spreadsheet-item { + height: 20px; + line-height: 20px; +} +.x-spreadsheet-sort-filter .x-spreadsheet-buttons { + margin: 10px; +} +.x-spreadsheet-toolbar, +.x-spreadsheet-bottombar { + height: 40px; + padding: 0 30px; + text-align: left; + background: #f5f6f7; + display: flex; +} +.x-spreadsheet-bottombar { + position: relative; + border-top: 1px solid #e0e2e4; +} +.x-spreadsheet-bottombar .x-spreadsheet-menu > li { + line-height: 40px; + height: 40px; + padding-top: 0; + padding-bottom: 0; + vertical-align: middle; + border-right: 1px solid #e8eaed; +} +.x-spreadsheet-menu { + list-style: none; + margin: 0; + padding: 0; + user-select: none; +} +.x-spreadsheet-menu > li { + float: left; + line-height: 1.25em; + padding: 0.785em 1em; + margin: 0; + vertical-align: middle; + text-align: left; + font-weight: 400; + color: #80868b; + white-space: nowrap; + cursor: pointer; + transition: all 0.3s; + font-weight: bold; +} +.x-spreadsheet-menu > li.active { + background-color: #fff; + color: rgba(0, 0, 0, 0.65); +} +.x-spreadsheet-menu > li .x-spreadsheet-icon { + margin: 0 6px; +} +.x-spreadsheet-menu > li .x-spreadsheet-icon .x-spreadsheet-icon-img:hover { + opacity: 0.85; +} +.x-spreadsheet-menu > li .x-spreadsheet-dropdown { + display: inline-block; +} +.x-spreadsheet-toolbar { + border-bottom: 1px solid #e0e2e4; +} +.x-spreadsheet-toolbar .x-spreadsheet-toolbar-btns { + display: inline-flex; +} +.x-spreadsheet-toolbar .x-spreadsheet-toolbar-more { + padding: 0 6px 6px; + text-align: left; +} +.x-spreadsheet-toolbar .x-spreadsheet-toolbar-more .x-spreadsheet-toolbar-divider { + margin-top: 0; +} +.x-spreadsheet-toolbar .x-spreadsheet-toolbar-btn { + flex: 0 0 auto; + display: inline-block; + border: 1px solid transparent; + height: 26px; + line-height: 26px; + min-width: 26px; + margin: 6px 1px 0; + padding: 0; + text-align: center; + border-radius: 2px; +} +.x-spreadsheet-toolbar .x-spreadsheet-toolbar-btn.disabled { + pointer-events: none; + opacity: 0.5; +} +.x-spreadsheet-toolbar .x-spreadsheet-toolbar-btn:hover, +.x-spreadsheet-toolbar .x-spreadsheet-toolbar-btn.active { + background: rgba(0, 0, 0, 0.08); +} +.x-spreadsheet-toolbar-divider { + display: inline-block; + border-right: 1px solid #e0e2e4; + width: 0; + vertical-align: middle; + height: 18px; + margin: 12px 3px 0; +} +.x-spreadsheet-print { + position: absolute; + left: 0; + top: 0; + z-index: 100; + width: 100%; + height: 100%; + display: flex; + flex-direction: column; +} +.x-spreadsheet-print-bar { + background: #424242; + height: 60px; + line-height: 60px; + padding: 0 30px; +} +.x-spreadsheet-print-bar .-title { + color: #fff; + font-weight: bold; + font-size: 1.2em; + float: left; +} +.x-spreadsheet-print-bar .-right { + float: right; + margin-top: 12px; +} +.x-spreadsheet-print-content { + display: flex; + flex: auto; + flex-direction: row; + background: #d0d0d0; + height: calc(100% - 60px); +} +.x-spreadsheet-print-content .-sider { + flex: 0 0 300px; + width: 300px; + border-left: 2px solid #ccc; + background: #fff; +} +.x-spreadsheet-print-content .-content { + flex: auto; + overflow-x: auto; + overflow-y: scroll; + height: 100%; +} +.x-spreadsheet-canvas-card-wraper { + margin: 40px 20px; +} +.x-spreadsheet-canvas-card { + background: #fff; + margin: auto; + page-break-before: auto; + page-break-after: always; + box-shadow: + 0 8px 10px 1px rgba(0, 0, 0, 0.14), + 0 3px 14px 3px rgba(0, 0, 0, 0.12), + 0 4px 5px 0 rgba(0, 0, 0, 0.2); +} +.x-spreadsheet-calendar { + color: rgba(0, 0, 0, 0.65); + background: #ffffff; + user-select: none; +} +.x-spreadsheet-calendar .calendar-header { + font-weight: 700; + line-height: 30px; + text-align: center; + width: 100%; + float: left; + background: #f9fafb; +} +.x-spreadsheet-calendar .calendar-header .calendar-header-left { + padding-left: 5px; + float: left; +} +.x-spreadsheet-calendar .calendar-header .calendar-header-right { + float: right; +} +.x-spreadsheet-calendar .calendar-header .calendar-header-right a { + padding: 3px 0; + margin-right: 2px; + border-radius: 2px; +} +.x-spreadsheet-calendar .calendar-header .calendar-header-right a:hover { + background: rgba(0, 0, 0, 0.08); +} +.x-spreadsheet-calendar .calendar-body { + border-collapse: collapse; + border-spacing: 0; +} +.x-spreadsheet-calendar .calendar-body th, +.x-spreadsheet-calendar .calendar-body td { + width: 100%/7; + min-width: 32px; + text-align: center; + font-weight: 700; + line-height: 30px; + padding: 0; +} +.x-spreadsheet-calendar .calendar-body td > .cell:hover { + background: #ecf6fd; +} +.x-spreadsheet-calendar .calendar-body td > .cell.active, +.x-spreadsheet-calendar .calendar-body td > .cell.active:hover { + background: #ecf6fd; + color: #2185D0; +} +.x-spreadsheet-calendar .calendar-body td > .cell.disabled { + pointer-events: none; + opacity: 0.5; +} +.x-spreadsheet-datepicker { + box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2); + position: absolute; + left: 0; + top: calc(100% + 5px); + z-index: 10; + width: auto; +} +.x-spreadsheet-buttons { + display: flex; + justify-content: flex-end; +} +.x-spreadsheet-buttons .x-spreadsheet-button { + margin-left: 8px; +} +.x-spreadsheet-button { + display: inline-block; + border-radius: 3px; + line-height: 1em; + min-height: 1em; + white-space: nowrap; + text-align: center; + cursor: pointer; + font-size: 1em; + font-weight: 700; + padding: 0.75em 1em; + color: rgba(0, 0, 0, 0.6); + background: #E0E1E2; + text-decoration: none; + font-family: + "Lato", + "proxima-nova", + "Helvetica Neue", + Arial, + sans-serif; + outline: none; + vertical-align: baseline; + zoom: 1; + user-select: none; + transition: all 0.1s linear; +} +.x-spreadsheet-button.active, +.x-spreadsheet-button:hover { + background-color: #C0C1C2; + color: rgba(0, 0, 0, 0.8); +} +.x-spreadsheet-button.primary { + color: #fff; + background-color: #2185D0; +} +.x-spreadsheet-button.primary:hover, +.x-spreadsheet-button.primary.active { + color: #fff; + background-color: #1678c2; +} +.x-spreadsheet-form-input { + font-size: 1em; + position: relative; + font-weight: 400; + display: inline-flex; + color: rgba(0, 0, 0, 0.87); +} +.x-spreadsheet-form-input input { + z-index: 1; + margin: 0; + max-width: 100%; + flex: 1 0 auto; + outline: 0; + -webkit-tap-highlight-color: rgba(255, 255, 255, 0); + text-align: left; + line-height: 30px; + height: 30px; + padding: 0 8px; + background: #fff; + border: 1px solid #e9e9e9; + border-radius: 3px; + transition: box-shadow 0.1s ease, border-color 0.1s ease; + box-shadow: inset 0 1px 2px hsla(0, 0%, 4%, 0.06); +} +.x-spreadsheet-form-input input:focus { + border-color: #4b89ff; + box-shadow: inset 0 1px 2px rgba(75, 137, 255, 0.2); +} +.x-spreadsheet-form-select { + position: relative; + display: inline-block; + background: #fff; + border: 1px solid #e9e9e9; + border-radius: 2px; + cursor: pointer; + color: rgba(0, 0, 0, 0.87); + user-select: none; + box-shadow: inset 0 1px 2px hsla(0, 0%, 4%, 0.06); +} +.x-spreadsheet-form-select .input-text { + text-overflow: ellipsis; + white-space: nowrap; + min-width: 60px; + width: auto; + height: 30px; + line-height: 30px; + padding: 0 8px; +} +.x-spreadsheet-form-fields { + display: flex; + flex-direction: row; + flex-wrap: wrap; +} +.x-spreadsheet-form-fields .x-spreadsheet-form-field { + flex: 0 1 auto; +} +.x-spreadsheet-form-fields .x-spreadsheet-form-field .label { + display: inline-block; + margin: 0 10px 0 0; +} +.x-spreadsheet-form-field { + display: block; + vertical-align: middle; + margin-left: 10px; + margin-bottom: 10px; +} +.x-spreadsheet-form-field:first-child { + margin-left: 0; +} +.x-spreadsheet-form-field.error .x-spreadsheet-form-select, +.x-spreadsheet-form-field.error input { + border-color: #f04134; +} +.x-spreadsheet-form-field .tip { + color: #f04134; + font-size: 0.9em; +} +.x-spreadsheet-dimmer { + display: none; + position: absolute; + top: 0 !important; + left: 0 !important; + width: 100%; + height: 100%; + text-align: center; + vertical-align: middle; + background-color: rgba(0, 0, 0, 0.6); + opacity: 0; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; + -webkit-animation-duration: 0.5s; + animation-duration: 0.5s; + transition: background-color 0.5s linear; + user-select: none; + z-index: 1000; +} +.x-spreadsheet-dimmer.active { + display: block; + opacity: 1; +} +form fieldset { + border: none; +} +form fieldset label { + display: block; + margin-bottom: 0.5em; + font-size: 1em; + color: #666; +} +form fieldset select { + font-size: 1.1em; + width: 100%; + background-color: #fff; + border: none; + border-bottom: 2px solid #ddd; + padding: 0.5em 0.85em; + border-radius: 2px; +} +.x-spreadsheet-modal, +.x-spreadsheet-toast { + font-size: 13px; + position: fixed; + z-index: 1001; + text-align: left; + line-height: 1.25em; + min-width: 360px; + color: rgba(0, 0, 0, 0.87); + font-family: + "Lato", + "Source Sans Pro", + Roboto, + Helvetica, + Arial, + sans-serif; + border-radius: 4px; + border: 1px solid rgba(0, 0, 0, 0.1); + background-color: #fff; + background-clip: padding-box; + box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 8px; +} +.x-spreadsheet-toast { + background-color: rgba(255, 255, 255, 0.85); +} +.x-spreadsheet-modal-header, +.x-spreadsheet-toast-header { + font-weight: 600; + background-clip: padding-box; + background-color: rgba(255, 255, 255, 0.85); + border-bottom: 1px solid rgba(0, 0, 0, 0.05); + border-radius: 4px 4px 0 0; +} +.x-spreadsheet-modal-header .x-spreadsheet-icon, +.x-spreadsheet-toast-header .x-spreadsheet-icon { + position: absolute; + right: 0.8em; + top: 0.65em; + border-radius: 18px; +} +.x-spreadsheet-modal-header .x-spreadsheet-icon:hover, +.x-spreadsheet-toast-header .x-spreadsheet-icon:hover { + opacity: 1; + background: rgba(0, 0, 0, 0.08); +} +.x-spreadsheet-toast-header { + color: #F2711C; +} +.x-spreadsheet-modal-header { + border-bottom: 1px solid #e0e2e4; + background: rgba(0, 0, 0, 0.08); + font-size: 1.0785em; +} +.x-spreadsheet-modal-header, +.x-spreadsheet-modal-content, +.x-spreadsheet-toast-header, +.x-spreadsheet-toast-content { + padding: 0.75em 1em; +} +@media screen and (min-width: 320px) and (max-width: 480px) { + .x-spreadsheet-toolbar { + display: none; + } +} +.x-spreadsheet-icon { + width: 18px; + height: 18px; + margin: 1px 1px 2px 1px; + text-align: center; + vertical-align: middle; + user-select: none; + overflow: hidden; + position: relative; + display: inline-block; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img { + background-image: url(data:text/plain;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB4PSIwIiB5PSIwIiB3aWR0aD0iMjYycHgiIGhlaWdodD0iNzJweCIgdmlld0JveD0iMCAwIDI2MiA3MiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTEuNTY1NjM5MSw0LjQzNDM2MDg4IEw5LDcgTDE2LDcgTDE2LDAgTDEzLjA0MTg0MjQsMi45NTgxNTc1OCBDMTEuNTkzNjc4NywxLjczNjM1OTU5IDkuNzIyNjA3NzUsMSA3LjY3OTU1MDgzLDEgQzQuMjIxMjYyNTgsMSAxLjI1NTc1NTk5LDMuMTA5ODQ5MDggMCw2IEwyLDcgQzIuOTM2NTg3NzUsNC42MDk3NDQwNiA1LjEyOTQzNjk3LDMuMDgwMTEyMjkgNy42Nzk1NTA4MywzIEM5LjE0ODgxMjQ3LDMuMDUyODc0NyAxMC40OTk0NzgzLDMuNTc4NjIwNTMgMTEuNTY1NjM5MSw0LjQzNDM2MDg4IFoiIHRyYW5zZm9ybT0ibWF0cml4KC0xIDAgMCAxIDE3IDUpIi8+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxOCwwKSI+PHBhdGggZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTEuNTY1NjM5MSw0LjQzNDM2MDg4IEw5LDcgTDE2LDcgTDE2LDAgTDEzLjA0MTg0MjQsMi45NTgxNTc1OCBDMTEuNTkzNjc4NywxLjczNjM1OTU5IDkuNzIyNjA3NzUsMSA3LjY3OTU1MDgzLDEgQzQuMjIxMjYyNTgsMSAxLjI1NTc1NTk5LDMuMTA5ODQ5MDggMCw2IEwyLDcgQzIuOTM2NTg3NzUsNC42MDk3NDQwNiA1LjEyOTQzNjk3LDMuMDgwMTEyMjkgNy42Nzk1NTA4MywzIEM5LjE0ODgxMjQ3LDMuMDUyODc0NyAxMC40OTk0NzgzLDMuNTc4NjIwNTMgMTEuNTY1NjM5MSw0LjQzNDM2MDg4IFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgNSkiLz4KPC9nPgo8ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM2LDApIj48cGF0aCBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMywxNCBMMywxNCBMMywxMSBMMCwxMSBMMCw2LjAwNTkxOTA1IEMwLDQuODk4MDgwNTUgMC44OTQ1MTM3NTYsNCAxLjk5NDA2MDI4LDQgTDE0LjAwNTkzOTcsNCBDMTUuMTA3MjI4OCw0IDE2LDQuODg2NTU0ODQgMTYsNi4wMDU5MTkwNSBMMTYsMTEgTDEzLDExIEwxMywxNCBaIE01LDkgTDExLDkgTDExLDEyIEw1LDEyIEw1LDkgWiBNMywwIEwxMywwIEwxMywzIEwzLDMgTDMsMCBaIE0xMiw2IEwxNCw2IEwxNCw4IEwxMiw4IEwxMiw2IFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMikiLz4KPC9nPgo8ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDU0LDApIj48cGF0aCBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05LDAgTDEsMCBDMC40NSwwIDAsMC40NSAwLDEgTDAsNCBDMCw0LjU1IDAuNDUsNSAxLDUgTDksNSBDOS41NSw1IDEwLDQuNTUgMTAsNCBMMTAsMyBMMTEsMyBMMTEsNiBMNCw2IEw0LDE0IEw2LDE0IEw2LDggTDEzLDggTDEzLDIgTDEwLDIgTDEwLDEgQzEwLDAuNDUgOS41NSwwIDksMCBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzIDIpIi8+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3MiwwKSI+PHBhdGggZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMC4yNywxLjU1IEw1LjQzLDYuNyBMMywxMiBMNS41LDEyIEw3LjE0LDguNDIgTDExLjczLDEzIEwxMywxMS43MyBMMS41NSwwLjI3IEwwLjI3LDEuNTUgTDAuMjcsMS41NSBaIE0zLjgyLDAgTDUuODIsMiBMNy41OCwyIEw3LjAzLDMuMjEgTDguNzQsNC45MiBMMTAuMDgsMiBMMTQsMiBMMTQsMCBMMy44MiwwIEwzLjgyLDAgWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMiAzKSIvPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOTAsMCkiPjxwYXRoIGZpbGw9IiMwMDAwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTksMy41IEM5LDEuNTcgNy40MywwIDUuNSwwIEwxLjc3NjM1Njg0ZS0xNSwwIEwxLjc3NjM1Njg0ZS0xNSwxMiBMNi4yNSwxMiBDOC4wNCwxMiA5LjUsMTAuNTQgOS41LDguNzUgQzkuNSw3LjQ1IDguNzMsNi4zNCA3LjYzLDUuODIgQzguNDYsNS4yNCA5LDQuMzggOSwzLjUgWiBNNSwyIEM1LjgyOTk5OTkyLDIgNi41LDIuNjcgNi41LDMuNSBDNi41LDQuMzMgNS44Mjk5OTk5Miw1IDUsNSBMMyw1IEwzLDIgTDUsMiBaIE0zLDEwIEwzLDcgTDUuNSw3IEM2LjMyOTk5OTkyLDcgNyw3LjY3IDcsOC41IEM3LDkuMzMgNi4zMjk5OTk5MiwxMCA1LjUsMTAgTDMsMTAgWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNCAzKSIvPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTA4LDApIj48cG9seWdvbiBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHBvaW50cz0iNCAwIDQgMiA2LjU4IDIgMi45MiAxMCAwIDEwIDAgMTIgOCAxMiA4IDEwIDUuNDIgMTAgOS4wOCAyIDEyIDIgMTIgMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMyAzKSIvPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTI2LDApIj48cGF0aCBmaWxsPSIjMDAwMDAwIiBkPSJNNiwxMiBDOC43NiwxMiAxMSw5Ljc2IDExLDcgTDExLDAgTDksMCBMOSw3IEM5LDguNzUwMjk5MTYgNy40OTkxMjgwNywxMCA2LDEwIEM0LjUwMDg3MTkzLDEwIDMsOC43NTgzNzQ4NiAzLDcgTDMsMCBMMSwwIEwxLDcgQzEsOS43NiAzLjI0LDEyIDYsMTIgWiBNMCwxMyBMMCwxNSBMMTIsMTUgTDEyLDEzIEwwLDEzIFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMgMykiLz4KPC9nPgo8ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0NCwwKSI+PHBhdGggZmlsbD0iIzAxMDEwMSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMi44ODc1LDMuMDYgQzIuODg3NSwyLjYwMjUgMi45ODUsMi4xODYyNSAzLjE4Mzc1LDEuODA3NSBDMy4zODI1LDEuNDI4NzUgMy42NiwxLjEwNjI1IDQuMDIsMC44NCBDNC4zOCwwLjU3Mzc1IDQuODAzNzUsMC4zNjc1IDUuMjk4NzUsMC4yMjEyNSBDNS43OTM3NSwwLjA3NSA2LjMzMzc1LDAgNi45MjYyNSwwIEM3LjUzMzc1LDAgOC4wODUsMC4wODI1IDguNTgsMC4yNTEyNSBDOS4wNzUsMC40MiA5LjQ5ODc1LDAuNjUyNSA5Ljg1MTI1LDAuOTU2MjUgQzEwLjIwMzc1LDEuMjU2MjUgMTAuNDczNzUsMS42MTI1IDEwLjY2NSwyLjAyODc1IEMxMC44NTYyNSwyLjQ0MTI1IDEwLjk1LDIuODk1IDEwLjk1LDMuMzg2MjUgTDguNjkyNSwzLjM4NjI1IEM4LjY5MjUsMy4xNTc1IDguNjU1LDIuOTQzNzUgOC41ODM3NSwyLjc0ODc1IEM4LjUxMjUsMi41NSA4LjQsMi4zODEyNSA4LjI1LDIuMjQyNSBDOC4xLDIuMTAzNzUgNy45MTI1LDEuOTkxMjUgNy42ODc1LDEuOTE2MjUgQzcuNDYyNSwxLjgzNzUgNy4xOTYyNSwxLjggNi44ODg3NSwxLjggQzYuNTkyNSwxLjggNi4zMzc1LDEuODMzNzUgNi4xMTYyNSwxLjg5NzUgQzUuODk4NzUsMS45NjEyNSA1LjcxODc1LDIuMDUxMjUgNS41NzYyNSwyLjE2NzUgQzUuNDMzNzUsMi4yODM3NSA1LjMyNSwyLjQxODc1IDUuMjUzNzUsMi41NzI1IEM1LjE4MjUsMi43MjYyNSA1LjE0NSwyLjg5NSA1LjE0NSwzLjA2NzUgQzUuMTQ1LDMuNDI3NSA1LjMyODc1LDMuNzMxMjUgNS42OTYyNSwzLjk3NSBDNS43MTc4MDIwMywzLjk4OTA4MDY2IDUuNzM5NDIwMTIsNC4wMDMxMTcyOCA1Ljc2MTE4MzU3LDQuMDE3MzMzMTUgQzYuMDIzNDI5MjMsNC4xODg2MzE4NSA2LjUsNC41IDcsNSBMNCw1IEM0LDUgMy4yMTM3NSw0LjM3NjI1IDMuMTc2MjUsNC4zMDg3NSBDMi45ODUsMy45NTI1IDIuODg3NSwzLjUzNjI1IDIuODg3NSwzLjA2IFogTTE0LDYgTDAsNiBMMCw4IEw3LjIxODc1LDggQzcuMzUzNzUsOC4wNTI1IDcuNTE4NzUsOC4xMDUgNy42MzEyNSw4LjE1Mzc1IEM3LjkwODc1LDguMjc3NSA4LjEyNjI1LDguNDA4NzUgOC4yODM3NSw4LjUzNjI1IEM4LjQ0MTI1LDguNjY3NSA4LjU0NjI1LDguODEgOC42MDI1LDguOTYgQzguNjU4NzUsOS4xMTM3NSA4LjY4NSw5LjI4NjI1IDguNjg1LDkuNDczNzUgQzguNjg1LDkuNjUgOC42NTEyNSw5LjgxNSA4LjU4Mzc1LDkuOTY1IEM4LjUxNjI1LDEwLjExODc1IDguNDExMjUsMTAuMjUgOC4yNzI1LDEwLjM1ODc1IEM4LjEzMzc1LDEwLjQ2NzUgNy45NTM3NSwxMC41NTM3NSA3Ljc0LDEwLjYxNzUgQzcuNTIyNSwxMC42ODEyNSA3LjI3MTI1LDEwLjcxMTI1IDYuOTc4NzUsMTAuNzExMjUgQzYuNjUyNSwxMC43MTEyNSA2LjM1NjI1LDEwLjY3NzUgNi4wOSwxMC42MTM3NSBDNS44MjM3NSwxMC41NSA1LjU5ODc1LDEwLjQ0NSA1LjQxMTI1LDEwLjMwMjUgQzUuMjIzNzUsMTAuMTYgNS4wNzc1LDkuOTcyNSA0Ljk3MjUsOS43NDM3NSBDNC44Njc1LDkuNTE1IDQuNzgxMjUsOS4xNyA0Ljc4MTI1LDkgTDIuNTUsOSBDMi41NSw5LjI1MjUgMi42MSw5LjY4NzUgMi43MjYyNSwxMC4wMjUgQzIuODQyNSwxMC4zNjI1IDMuMDA3NSwxMC42NjYyNSAzLjIxMzc1LDEwLjkzMjUgQzMuNDIsMTEuMTk4NzUgMy42Njc1LDExLjQyNzUgMy45NDg3NSwxMS42MjI1IEM0LjIzLDExLjgxNzUgNC41MzM3NSwxMS45ODI1IDQuODYzNzUsMTIuMTEgQzUuMTkzNzUsMTIuMjQxMjUgNS41MzUsMTIuMzM4NzUgNS44OTg3NSwxMi4zOTg3NSBDNi4yNTg3NSwxMi40NjI1IDYuNjIyNSwxMi40OTI1IDYuOTgyNSwxMi40OTI1IEM3LjU4MjUsMTIuNDkyNSA4LjEzLDEyLjQyNSA4LjYxNzUsMTIuMjg2MjUgQzkuMTA1LDEyLjE0NzUgOS41MjUsMTEuOTQ4NzUgOS44NywxMS42OTM3NSBDMTAuMjE1LDExLjQzNSAxMC40ODEyNSwxMS4xMiAxMC42NzI1LDEwLjc0MTI1IEMxMC44NjM3NSwxMC4zNjI1IDEwLjk1Mzc1LDkuOTM1IDEwLjk1Mzc1LDkuNDU1IEMxMC45NTM3NSw5LjAwNSAxMC44NzUsOC42IDEwLjcyMTI1LDguMjQzNzUgQzEwLjY4Mzc1LDguMTU3NSAxMC42NDI1LDguMDc1IDEwLjU5Mzc1LDcuOTkyNSBMMTQsOCBMMTQsNiBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyIDMpIi8+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjIsMCkiPjxwYXRoIGZpbGw9IiMwMDAwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTcsMCBMNSwwIEwwLjUsMTIgTDIuNSwxMiBMMy42Miw5IEw4LjM3LDkgTDkuNDksMTIgTDExLjQ5LDEyIEw3LDAgTDcsMCBaIE00LjM4LDcgTDYsMi42NyBMNy42Miw3IEw0LjM4LDcgTDQuMzgsNyBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzIDEpIi8+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxODAsMCkiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICA8cGF0aCBmaWxsPSIjMDAwMDAwIiBkPSJNMTQuNSw4Ljg3IEMxNC41LDguODcgMTMsMTAuNDkgMTMsMTEuNDkgQzEzLDEyLjMyIDEzLjY3LDEyLjk5IDE0LjUsMTIuOTkgQzE1LjMzLDEyLjk5IDE2LDEyLjMyIDE2LDExLjQ5IEMxNiwxMC41IDE0LjUsOC44NyAxNC41LDguODcgTDE0LjUsOC44NyBaIE0xMi43MSw2Ljc5IEw1LjkxLDAgTDQuODUsMS4wNiBMNi40NCwyLjY1IEwyLjI5LDYuNzkgQzEuOSw3LjE4IDEuOSw3LjgxIDIuMjksOC4yIEw2Ljc5LDEyLjcgQzYuOTksMTIuOSA3LjI0LDEzIDcuNSwxMyBDNy43NiwxMyA4LjAxLDEyLjkgOC4yMSwxMi43MSBMMTIuNzEsOC4yMSBDMTMuMSw3LjgyIDEzLjEsNy4xOCAxMi43MSw2Ljc5IEwxMi43MSw2Ljc5IFogTTQuMjEsNyBMNy41LDMuNzEgTDEwLjc5LDcgTDQuMjEsNyBMNC4yMSw3IFoiLz4KICA8L2c+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxOTgsMCkiPjxwYXRoIGZpbGw9IiMwMDAwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTMsNiBMMSw2IEwxLDIgTDgsMiBMOCw0IEwzLDQgTDMsNiBaIE0xMCw0IEwxMCwyIEwxNywyIEwxNyw2IEwxNSw2IEwxNSw0IEwxMCw0IFogTTEwLDE0IEwxNSwxNCBMMTUsMTIgTDE3LDEyIEwxNywxNiBMMTAsMTYgTDEwLDE0IFogTTEsMTIgTDMsMTIgTDMsMTQgTDgsMTQgTDgsMTYgTDEsMTYgTDEsMTIgWiBNMSw4IEw1LDggTDUsNiBMOCw5IEw1LDEyIEw1LDEwIEwxLDEwIEwxLDggWiBNMTAsOSBMMTMsNiBMMTMsOCBMMTcsOCBMMTcsMTAgTDEzLDEwIEwxMywxMiBMMTAsOSBaIi8+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMTYsMCkiPjxwYXRoIGZpbGw9IiMwMDAwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTAsMTQgTDEwLDE0IEwxMCwxMiBMMCwxMiBMMCwxNCBaIE0xMCw0IEwwLDQgTDAsNiBMMTAsNiBMMTAsNCBaIE0wLDAgTDAsMiBMMTQsMiBMMTQsMCBMMCwwIFogTTAsMTAgTDE0LDEwIEwxNCw4IEwwLDggTDAsMTAgWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMiAyKSIvPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjM0LDApIj48cGF0aCBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yLDEyIEwyLDE0IEwxMiwxNCBMMTIsMTIgTDIsMTIgWiBNMiw0IEwyLDYgTDEyLDYgTDEyLDQgTDIsNCBaIE0wLDEwIEwxNCwxMCBMMTQsOCBMMCw4IEwwLDEwIFogTTAsMCBMMCwyIEwxNCwyIEwxNCwwIEwwLDAgWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMiAyKSIvPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwxOCkiPjxwYXRoIGZpbGw9IiMwMDAwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTQsMTQgTDE0LDE0IEwxNCwxMiBMNCwxMiBMNCwxNCBaIE0wLDEwIEwxNCwxMCBMMTQsOCBMMCw4IEwwLDEwIFogTTAsMCBMMCwyIEwxNCwyIEwxNCwwIEwwLDAgWiBNNCw2IEwxNCw2IEwxNCw0IEw0LDQgTDQsNiBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyIDIpIi8+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxOCwxOCkiPjxwYXRoIGZpbGw9IiMwMDAwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTAsMCBMMCwyIEwxMiwyIEwxMiwwIEwwLDAgTDAsMCBaIE0yLjUsNyBMNSw3IEw1LDE0IEw3LDE0IEw3LDcgTDkuNSw3IEw2LDMuNSBMMi41LDcgTDIuNSw3IFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMgMikiLz4KPC9nPgo8ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM2LDE4KSI+PHBhdGggZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNOS41LDMgTDcsMyBMNywwIEw1LDAgTDUsMyBMMi41LDMgTDYsNi41IEw5LjUsMyBMOS41LDMgWiBNMCw4IEwwLDEwIEwxMiwxMCBMMTIsOCBMMCw4IEwwLDggWiBNMi41LDE1IEw1LDE1IEw1LDE4IEw3LDE4IEw3LDE1IEw5LjUsMTUgTDYsMTEuNSBMMi41LDE1IEwyLjUsMTUgWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMykiLz4KPC9nPgo8ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDU0LDE4KSI+PHBhdGggZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNOS41LDcgTDcsNyBMNywwIEw1LDAgTDUsNyBMMi41LDcgTDYsMTAuNSBMOS41LDcgTDkuNSw3IFogTTAsMTIgTDAsMTQgTDEyLDE0IEwxMiwxMiBMMCwxMiBMMCwxMiBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzIDIpIi8+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3MiwxOCkiPjxwYXRoIGZpbGw9IiMwMDAwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTE0LDAgTDAsMCBMMCwyIEwxNCwyIEwxNCwwIFogTTAsMTIgTDQsMTIgTDQsMTAgTDAsMTAgTDAsMTIgWiBNMTEuNSw1IEwwLDUgTDAsNyBMMTEuNzUsNyBDMTIuNTgsNyAxMy4yNSw3LjY3IDEzLjI1LDguNSBDMTMuMjUsOS4zMyAxMi41OCwxMCAxMS43NSwxMCBMOSwxMCBMOSw4IEw2LDExIEw5LDE0IEw5LDEyIEwxMS41LDEyIEMxMy40MywxMiAxNSwxMC40MyAxNSw4LjUgQzE1LDYuNTcgMTMuNDMsNSAxMS41LDUgWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMiAzKSIvPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOTAsMTgpIj48cGF0aCBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wLDAgTDAsMSBMNiw3IEw2LDEyIEw4LDExIEw4LDcgTDE0LDEgTDE0LDAgTDAsMCBaIE00LDMgTDEwLDMgTDcsNiBMNCwzIFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgMykiLz4KPC9nPgo8ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEwOCwxOCkiPjxwb2x5Z29uIGZpbGw9IiMwMDAwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgcG9pbnRzPSIxMCAwIDAgMCAwIDEuOCA1LjUgNyAwIDEyLjIgMCAxNCAxMCAxNCAxMCAxMiAzLjEgMTIgOCA3IDMuMSAyIDEwIDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQgMikiLz4KPC9nPgo8ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyNiwxOCkiPjxwb2x5Z29uIGZpbGw9IiMwMDAwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgcG9pbnRzPSIwIDAgNCA0IDggMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNSA3KSIvPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQ0LDE4KSI+PHBvbHlnb24gZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBwb2ludHM9Ii0yIDIgMiA2IDYgMiIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDggMykiLz4KPC9nPgo8ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE2MiwxOCkiPjxwYXRoIGZpbGw9IiMwMDAwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEuOSw0IEMxLjksMi44NCAyLjg0LDEuOSA0LDEuOSBMOCwxLjkgTDgsMCBMNCwwIEMxLjc5LDAgMCwxLjc5IDAsNCBDMCw2LjIxIDEuNzksOCA0LDggTDgsOCBMOCw2LjEgTDQsNi4xIEMyLjg0LDYuMSAxLjksNS4xNiAxLjksNCBMMS45LDQgWiBNMTQsMCBMMTAsMCBMMTAsMS45IEwxNCwxLjkgQzE1LjE2LDEuOSAxNi4xLDIuODQgMTYuMSw0IEMxNi4xLDUuMTYgMTUuMTYsNi4xIDE0LDYuMSBMMTAsNi4xIEwxMCw4IEwxNCw4IEMxNi4yMSw4IDE4LDYuMjEgMTgsNCBDMTgsMS43OSAxNi4yMSwwIDE0LDAgTDE0LDAgWiBNNiw1IEwxMiw1IEwxMiwzIEw2LDMgTDYsNSBMNiw1IFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgNSkiLz4KPC9nPgo8ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4MCwxOCkiPjxwYXRoIGZpbGw9IiMwMDAwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTE1LDAgQzE1LjU1LDAgMTYsMC40NSAxNiwxIEwxNiwxNSBDMTYsMTUuNTUgMTUuNTUsMTYgMTUsMTYgTDEsMTYgQzAuNDUsMTYgMCwxNS41NSAwLDE1IEwwLDEgQzAsMC40NSAwLjQ1LDAgMSwwIEwxNSwwIFogTTIsMiBMMiwxNCBMMTQsMTQgTDE0LDIgTDIsMiBaIE02LDEyIEw0LDEyIEw0LDcgTDYsNyBMNiwxMiBMNiwxMiBaIE05LDEyIEw3LDEyIEw3LDQgTDksNCBMOSwxMiBMOSwxMiBaIE0xMiwxMiBMMTAsMTIgTDEwLDggTDEyLDggTDEyLDEyIEwxMiwxMiBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxIDEpIi8+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxOTgsMTgpIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgPHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBkPSJNMS41IDMuNUgxNi41VjE1LjVIMS41eiIvPgogICAgPHBhdGggZmlsbD0iIzAwMDAwMCIgZD0iTTYgOEg3VjE1SDZ6Ii8+CiAgICA8cGF0aCBmaWxsPSIjRDhEOEQ4IiBkPSJNMiA0SDE2VjdIMnoiLz4KICAgIDxwYXRoIGZpbGw9IiMwMDAwMDAiIGQ9Ik0yIDdIMTZWOEgyek0yIDExSDE2VjEySDJ6Ii8+CiAgPC9nPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjE2LDE4KSI+PHBhdGggZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMiwwLjUgQzEuMTcsMC41IDAuNSwxLjE3IDAuNSwyIEMwLjUsMi44MyAxLjE3LDMuNSAyLDMuNSBDMi44MywzLjUgMy41LDIuODMgMy41LDIgQzMuNSwxLjE3IDIuODMsMC41IDIsMC41IEwyLDAuNSBaIE0xMiwwLjUgQzExLjE3LDAuNSAxMC41LDEuMTcgMTAuNSwyIEMxMC41LDIuODMgMTEuMTcsMy41IDEyLDMuNSBDMTIuODMsMy41IDEzLjUsMi44MyAxMy41LDIgQzEzLjUsMS4xNyAxMi44MywwLjUgMTIsMC41IEwxMiwwLjUgWiBNNywwLjUgQzYuMTcsMC41IDUuNSwxLjE3IDUuNSwyIEM1LjUsMi44MyA2LjE3LDMuNSA3LDMuNSBDNy44MywzLjUgOC41LDIuODMgOC41LDIgQzguNSwxLjE3IDcuODMsMC41IDcsMC41IEw3LDAuNSBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyIDcpIi8+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMzQsMTgpIj48cGF0aCBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LDQgTDYsMCBMNCwwIEw0LDQgTDAsNCBMMCw2IEw0LDYgTDQsMTAgTDYsMTAgTDYsNiBMMTAsNiBMMTAsNCBMNiw0IFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQgNCkiLz4KPC9nPgo8ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsMzYpIj48cGF0aCBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wLDAgTDAsMTQgTDE0LDE0IEwxNCwwIEwwLDAgTDAsMCBaIE02LDEyIEwyLDEyIEwyLDggTDYsOCBMNiwxMiBMNiwxMiBaIE02LDYgTDIsNiBMMiwyIEw2LDIgTDYsNiBMNiw2IFogTTEyLDEyIEw4LDEyIEw4LDggTDEyLDggTDEyLDEyIEwxMiwxMiBaIE0xMiw2IEw4LDYgTDgsMiBMMTIsMiBMMTIsNiBMMTIsNiBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyIDIpIi8+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxOCwzNikiPgogIDxnIGZpbGw9IiMwMDAwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMiAyKSI+CiAgICA8cGF0aCBkPSJNMCwxNCBMMiwxNCBMMiwxMiBMMCwxMiBMMCwxNCBMMCwxNCBaIE0yLDMgTDAsMyBMMCw1IEwyLDUgTDIsMyBMMiwzIFogTTMsMTQgTDUsMTQgTDUsMTIgTDMsMTIgTDMsMTQgTDMsMTQgWiBNMTEsMCBMOSwwIEw5LDIgTDExLDIgTDExLDAgTDExLDAgWiBNMiwwIEwwLDAgTDAsMiBMMiwyIEwyLDAgTDIsMCBaIE01LDAgTDMsMCBMMywyIEw1LDIgTDUsMCBMNSwwIFogTTAsMTEgTDIsMTEgTDIsOSBMMCw5IEwwLDExIEwwLDExIFogTTksMTQgTDExLDE0IEwxMSwxMiBMOSwxMiBMOSwxNCBMOSwxNCBaIE0xMiwwIEwxMiwyIEwxNCwyIEwxNCwwIEwxMiwwIEwxMiwwIFogTTEyLDUgTDE0LDUgTDE0LDMgTDEyLDMgTDEyLDUgTDEyLDUgWiBNMTIsMTQgTDE0LDE0IEwxNCwxMiBMMTIsMTIgTDEyLDE0IEwxMiwxNCBaIE0xMiwxMSBMMTQsMTEgTDE0LDkgTDEyLDkgTDEyLDExIEwxMiwxMSBaIiBvcGFjaXR5PSIuNTQiLz4KICAgIDxwb2x5Z29uIHBvaW50cz0iOCAwIDYgMCA2IDYgMCA2IDAgOCA2IDggNiAxNCA4IDE0IDggOCAxNCA4IDE0IDYgOCA2Ii8+CiAgPC9nPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzYsMzYpIj4KICA8ZyBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgMikiPgogICAgPHBhdGggZD0iTTYsMTQgTDgsMTQgTDgsMTIgTDYsMTIgTDYsMTQgTDYsMTQgWiBNMywyIEw1LDIgTDUsMCBMMywwIEwzLDIgTDMsMiBaIE02LDExIEw4LDExIEw4LDkgTDYsOSBMNiwxMSBMNiwxMSBaIE0zLDE0IEw1LDE0IEw1LDEyIEwzLDEyIEwzLDE0IEwzLDE0IFogTTAsNSBMMiw1IEwyLDMgTDAsMyBMMCw1IEwwLDUgWiBNMCwxNCBMMiwxNCBMMiwxMiBMMCwxMiBMMCwxNCBMMCwxNCBaIE0wLDIgTDIsMiBMMiwwIEwwLDAgTDAsMiBMMCwyIFogTTAsMTEgTDIsMTEgTDIsOSBMMCw5IEwwLDExIEwwLDExIFogTTEyLDExIEwxNCwxMSBMMTQsOSBMMTIsOSBMMTIsMTEgTDEyLDExIFogTTEyLDE0IEwxNCwxNCBMMTQsMTIgTDEyLDEyIEwxMiwxNCBMMTIsMTQgWiBNMTIsNSBMMTQsNSBMMTQsMyBMMTIsMyBMMTIsNSBMMTIsNSBaIE0xMiwwIEwxMiwyIEwxNCwyIEwxNCwwIEwxMiwwIEwxMiwwIFogTTYsMiBMOCwyIEw4LDAgTDYsMCBMNiwyIEw2LDIgWiBNOSwyIEwxMSwyIEwxMSwwIEw5LDAgTDksMiBMOSwyIFogTTYsNSBMOCw1IEw4LDMgTDYsMyBMNiw1IEw2LDUgWiBNOSwxNCBMMTEsMTQgTDExLDEyIEw5LDEyIEw5LDE0IEw5LDE0IFoiIG9wYWNpdHk9Ii41NCIvPgogICAgPHBvbHlnb24gcG9pbnRzPSIwIDggMTQgOCAxNCA2IDAgNiIvPgogIDwvZz4KPC9nPgo8ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDU0LDM2KSI+CiAgPGcgZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyIDIpIj4KICAgIDxwYXRoIGQ9Ik0zLDE0IEw1LDE0IEw1LDEyIEwzLDEyIEwzLDE0IEwzLDE0IFogTTAsNSBMMiw1IEwyLDMgTDAsMyBMMCw1IEwwLDUgWiBNMCwyIEwyLDIgTDIsMCBMMCwwIEwwLDIgTDAsMiBaIE0zLDggTDUsOCBMNSw2IEwzLDYgTDMsOCBMMyw4IFogTTMsMiBMNSwyIEw1LDAgTDMsMCBMMywyIEwzLDIgWiBNMCwxNCBMMiwxNCBMMiwxMiBMMCwxMiBMMCwxNCBMMCwxNCBaIE0wLDggTDIsOCBMMiw2IEwwLDYgTDAsOCBMMCw4IFogTTAsMTEgTDIsMTEgTDIsOSBMMCw5IEwwLDExIEwwLDExIFogTTEyLDAgTDEyLDIgTDE0LDIgTDE0LDAgTDEyLDAgTDEyLDAgWiBNMTIsOCBMMTQsOCBMMTQsNiBMMTIsNiBMMTIsOCBMMTIsOCBaIE0xMiwxNCBMMTQsMTQgTDE0LDEyIEwxMiwxMiBMMTIsMTQgTDEyLDE0IFogTTEyLDUgTDE0LDUgTDE0LDMgTDEyLDMgTDEyLDUgTDEyLDUgWiBNMTIsMTEgTDE0LDExIEwxNCw5IEwxMiw5IEwxMiwxMSBMMTIsMTEgWiBNOSwxNCBMMTEsMTQgTDExLDEyIEw5LDEyIEw5LDE0IEw5LDE0IFogTTksOCBMMTEsOCBMMTEsNiBMOSw2IEw5LDggTDksOCBaIE05LDIgTDExLDIgTDExLDAgTDksMCBMOSwyIEw5LDIgWiIgb3BhY2l0eT0iLjU0Ii8+CiAgICA8cG9seWdvbiBwb2ludHM9IjYgMTQgOCAxNCA4IDAgNiAwIi8+CiAgPC9nPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNzIsMzYpIj4KICA8ZyBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgMikiPgogICAgPHBhdGggZD0iTTgsMyBMNiwzIEw2LDUgTDgsNSBMOCwzIEw4LDMgWiBNMTEsNiBMOSw2IEw5LDggTDExLDggTDExLDYgTDExLDYgWiBNOCw2IEw2LDYgTDYsOCBMOCw4IEw4LDYgTDgsNiBaIE04LDkgTDYsOSBMNiwxMSBMOCwxMSBMOCw5IEw4LDkgWiBNNSw2IEwzLDYgTDMsOCBMNSw4IEw1LDYgTDUsNiBaIiBvcGFjaXR5PSIuNTQiLz4KICAgIDxwYXRoIGQ9Ik0wLDAgTDE0LDAgTDE0LDE0IEwwLDE0IEwwLDAgWiBNMTIsMTIgTDEyLDIgTDIsMiBMMiwxMiBMMTIsMTIgWiIvPgogIDwvZz4KPC9nPgo8ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkwLDM2KSI+CiAgPGcgZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyIDIpIj4KICAgIDxwYXRoIGQ9Ik02LDggTDgsOCBMOCw2IEw2LDYgTDYsOCBMNiw4IFogTTYsNSBMOCw1IEw4LDMgTDYsMyBMNiw1IEw2LDUgWiBNNiwxMSBMOCwxMSBMOCw5IEw2LDkgTDYsMTEgTDYsMTEgWiBNNiwxNCBMOCwxNCBMOCwxMiBMNiwxMiBMNiwxNCBMNiwxNCBaIE0zLDE0IEw1LDE0IEw1LDEyIEwzLDEyIEwzLDE0IEwzLDE0IFogTTMsMiBMNSwyIEw1LDAgTDMsMCBMMywyIEwzLDIgWiBNMyw4IEw1LDggTDUsNiBMMyw2IEwzLDggTDMsOCBaIE0xMiwxNCBMMTQsMTQgTDE0LDEyIEwxMiwxMiBMMTIsMTQgTDEyLDE0IFogTTEyLDggTDE0LDggTDE0LDYgTDEyLDYgTDEyLDggTDEyLDggWiBNMTIsMTEgTDE0LDExIEwxNCw5IEwxMiw5IEwxMiwxMSBMMTIsMTEgWiBNMTIsNSBMMTQsNSBMMTQsMyBMMTIsMyBMMTIsNSBMMTIsNSBaIE02LDIgTDgsMiBMOCwwIEw2LDAgTDYsMiBMNiwyIFogTTEyLDAgTDEyLDIgTDE0LDIgTDE0LDAgTDEyLDAgTDEyLDAgWiBNOSwxNCBMMTEsMTQgTDExLDEyIEw5LDEyIEw5LDE0IEw5LDE0IFogTTksOCBMMTEsOCBMMTEsNiBMOSw2IEw5LDggTDksOCBaIE05LDIgTDExLDIgTDExLDAgTDksMCBMOSwyIEw5LDIgWiIgb3BhY2l0eT0iLjU0Ii8+CiAgICA8cG9seWdvbiBwb2ludHM9IjAgMTQgMiAxNCAyIDAgMCAwIi8+CiAgPC9nPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTA4LDM2KSI+CiAgPGcgZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyIDIpIj4KICAgIDxwYXRoIGQ9Ik0zLDggTDUsOCBMNSw2IEwzLDYgTDMsOCBMMyw4IFogTTAsMTQgTDIsMTQgTDIsMTIgTDAsMTIgTDAsMTQgTDAsMTQgWiBNNiwxNCBMOCwxNCBMOCwxMiBMNiwxMiBMNiwxNCBMNiwxNCBaIE02LDExIEw4LDExIEw4LDkgTDYsOSBMNiwxMSBMNiwxMSBaIE0zLDE0IEw1LDE0IEw1LDEyIEwzLDEyIEwzLDE0IEwzLDE0IFogTTAsMTEgTDIsMTEgTDIsOSBMMCw5IEwwLDExIEwwLDExIFogTTYsOCBMOCw4IEw4LDYgTDYsNiBMNiw4IEw2LDggWiBNMCw1IEwyLDUgTDIsMyBMMCwzIEwwLDUgTDAsNSBaIE0wLDggTDIsOCBMMiw2IEwwLDYgTDAsOCBMMCw4IFogTTEyLDggTDE0LDggTDE0LDYgTDEyLDYgTDEyLDggTDEyLDggWiBNMTIsMTEgTDE0LDExIEwxNCw5IEwxMiw5IEwxMiwxMSBMMTIsMTEgWiBNMTIsNSBMMTQsNSBMMTQsMyBMMTIsMyBMMTIsNSBMMTIsNSBaIE02LDUgTDgsNSBMOCwzIEw2LDMgTDYsNSBMNiw1IFogTTksMTQgTDExLDE0IEwxMSwxMiBMOSwxMiBMOSwxNCBMOSwxNCBaIE05LDggTDExLDggTDExLDYgTDksNiBMOSw4IEw5LDggWiBNMTIsMTQgTDE0LDE0IEwxNCwxMiBMMTIsMTIgTDEyLDE0IEwxMiwxNCBaIiBvcGFjaXR5PSIuNTQiLz4KICAgIDxwb2x5Z29uIHBvaW50cz0iMCAwIDAgMiAxNCAyIDE0IDAiLz4KICA8L2c+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjYsMzYpIj4KICA8ZyBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgMikiPgogICAgPHBhdGggZD0iTTAsMiBMMiwyIEwyLDAgTDAsMCBMMCwyIEwwLDIgWiBNMywyIEw1LDIgTDUsMCBMMywwIEwzLDIgTDMsMiBaIE0zLDggTDUsOCBMNSw2IEwzLDYgTDMsOCBMMyw4IFogTTMsMTQgTDUsMTQgTDUsMTIgTDMsMTIgTDMsMTQgTDMsMTQgWiBNMCw1IEwyLDUgTDIsMyBMMCwzIEwwLDUgTDAsNSBaIE0wLDggTDIsOCBMMiw2IEwwLDYgTDAsOCBMMCw4IFogTTAsMTQgTDIsMTQgTDIsMTIgTDAsMTIgTDAsMTQgTDAsMTQgWiBNMCwxMSBMMiwxMSBMMiw5IEwwLDkgTDAsMTEgTDAsMTEgWiBNOSw4IEwxMSw4IEwxMSw2IEw5LDYgTDksOCBMOSw4IFogTTYsMTQgTDgsMTQgTDgsMTIgTDYsMTIgTDYsMTQgTDYsMTQgWiBNOSwxNCBMMTEsMTQgTDExLDEyIEw5LDEyIEw5LDE0IEw5LDE0IFogTTYsMiBMOCwyIEw4LDAgTDYsMCBMNiwyIEw2LDIgWiBNOSwyIEwxMSwyIEwxMSwwIEw5LDAgTDksMiBMOSwyIFogTTYsMTEgTDgsMTEgTDgsOSBMNiw5IEw2LDExIEw2LDExIFogTTYsNSBMOCw1IEw4LDMgTDYsMyBMNiw1IEw2LDUgWiBNNiw4IEw4LDggTDgsNiBMNiw2IEw2LDggTDYsOCBaIiBvcGFjaXR5PSIuNTQiLz4KICAgIDxwb2x5Z29uIHBvaW50cz0iMTIgMCAxMiAxNCAxNCAxNCAxNCAwIi8+CiAgPC9nPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQ0LDM2KSI+CiAgPGcgZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyIDIpIj4KICAgIDxwYXRoIGQ9Ik01LDAgTDMsMCBMMywyIEw1LDIgTDUsMCBMNSwwIFogTTgsNiBMNiw2IEw2LDggTDgsOCBMOCw2IEw4LDYgWiBNOCw5IEw2LDkgTDYsMTEgTDgsMTEgTDgsOSBMOCw5IFogTTExLDYgTDksNiBMOSw4IEwxMSw4IEwxMSw2IEwxMSw2IFogTTUsNiBMMyw2IEwzLDggTDUsOCBMNSw2IEw1LDYgWiBNMTEsMCBMOSwwIEw5LDIgTDExLDIgTDExLDAgTDExLDAgWiBNOCwzIEw2LDMgTDYsNSBMOCw1IEw4LDMgTDgsMyBaIE04LDAgTDYsMCBMNiwyIEw4LDIgTDgsMCBMOCwwIFogTTIsOSBMMCw5IEwwLDExIEwyLDExIEwyLDkgTDIsOSBaIE0xMiwxMSBMMTQsMTEgTDE0LDkgTDEyLDkgTDEyLDExIEwxMiwxMSBaIE0xMiw1IEwxNCw1IEwxNCwzIEwxMiwzIEwxMiw1IEwxMiw1IFogTTEyLDggTDE0LDggTDE0LDYgTDEyLDYgTDEyLDggTDEyLDggWiBNMTIsMCBMMTIsMiBMMTQsMiBMMTQsMCBMMTIsMCBMMTIsMCBaIE0yLDAgTDAsMCBMMCwyIEwyLDIgTDIsMCBMMiwwIFogTTIsMyBMMCwzIEwwLDUgTDIsNSBMMiwzIEwyLDMgWiBNMiw2IEwwLDYgTDAsOCBMMiw4IEwyLDYgTDIsNiBaIiBvcGFjaXR5PSIuNTQiLz4KICAgIDxwb2x5Z29uIHBvaW50cz0iMCAxNCAxNCAxNCAxNCAxMiAwIDEyIi8+CiAgPC9nPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTYyLDM2KSI+PHBhdGggZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNiwxNCBMOCwxNCBMOCwxMiBMNiwxMiBMNiwxNCBMNiwxNCBaIE0zLDggTDUsOCBMNSw2IEwzLDYgTDMsOCBMMyw4IFogTTMsMiBMNSwyIEw1LDAgTDMsMCBMMywyIEwzLDIgWiBNNiwxMSBMOCwxMSBMOCw5IEw2LDkgTDYsMTEgTDYsMTEgWiBNMywxNCBMNSwxNCBMNSwxMiBMMywxMiBMMywxNCBMMywxNCBaIE0wLDUgTDIsNSBMMiwzIEwwLDMgTDAsNSBMMCw1IFogTTAsMTQgTDIsMTQgTDIsMTIgTDAsMTIgTDAsMTQgTDAsMTQgWiBNMCwyIEwyLDIgTDIsMCBMMCwwIEwwLDIgTDAsMiBaIE0wLDggTDIsOCBMMiw2IEwwLDYgTDAsOCBMMCw4IFogTTYsOCBMOCw4IEw4LDYgTDYsNiBMNiw4IEw2LDggWiBNMCwxMSBMMiwxMSBMMiw5IEwwLDkgTDAsMTEgTDAsMTEgWiBNMTIsMTEgTDE0LDExIEwxNCw5IEwxMiw5IEwxMiwxMSBMMTIsMTEgWiBNMTIsMTQgTDE0LDE0IEwxNCwxMiBMMTIsMTIgTDEyLDE0IEwxMiwxNCBaIE0xMiw4IEwxNCw4IEwxNCw2IEwxMiw2IEwxMiw4IEwxMiw4IFogTTEyLDUgTDE0LDUgTDE0LDMgTDEyLDMgTDEyLDUgTDEyLDUgWiBNMTIsMCBMMTIsMiBMMTQsMiBMMTQsMCBMMTIsMCBMMTIsMCBaIE02LDIgTDgsMiBMOCwwIEw2LDAgTDYsMiBMNiwyIFogTTksMiBMMTEsMiBMMTEsMCBMOSwwIEw5LDIgTDksMiBaIE02LDUgTDgsNSBMOCwzIEw2LDMgTDYsNSBMNiw1IFogTTksMTQgTDExLDE0IEwxMSwxMiBMOSwxMiBMOSwxNCBMOSwxNCBaIE05LDggTDExLDggTDExLDYgTDksNiBMOSw4IEw5LDggWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMiAyKSIgb3BhY2l0eT0iLjU0Ii8+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxODAsMzYpIj48cGF0aCBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LjUsMy42MiBMMCwxMC4xMiBMMCwxMyBMMi44OCwxMyBMOS4zOCw2LjUgTDYuNSwzLjYyIFogTTExLjg1LDQuMDIgQzEyLjA1LDMuODIgMTIuMDUsMy41MSAxMS44NSwzLjMxIEw5LjY4LDEuMTQgQzkuNDgsMC45NCA5LjE3LDAuOTQgOC45NywxLjE0IEw3LjYyLDIuNSBMMTAuNSw1LjM4IEwxMS44NSw0LjAyIEwxMS44NSw0LjAyIFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQpIi8+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxOTgsMzYpIj48cGF0aCBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wLDAgTDE0LDAgTDE0LDIgTDAsMiBMMCwwIFogTTAsNCBMNiw0IEw2LDYgTDAsNiBMMCw0IFogTTAsOCBMMiw4IEwyLDEwIEwwLDEwIEwwLDggWiBNOCw0IEwxNCw0IEwxNCw2IEw4LDYgTDgsNCBaIE00LDggTDYsOCBMNiwxMCBMNCwxMCBMNCw4IFogTTgsOCBMMTAsOCBMMTAsMTAgTDgsMTAgTDgsOCBaIE0xMiw4IEwxNCw4IEwxNCwxMCBMMTIsMTAgTDEyLDggWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMiA0KSIvPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjE2LDM2KSI+PHBvbHlnb24gZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBwb2ludHM9Ii0yIDIgMiA2IDYgMiIgdHJhbnNmb3JtPSJyb3RhdGUoOTAgMyAxMCkiLz4KPC9nPgo8ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIzNCwzNikiPjxwb2x5Z29uIGZpbGw9IiMwMDAwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgcG9pbnRzPSI3LjUzIDEuNTMgNi40NyAuNDcgNCAyLjk0IDEuNTMgLjQ3IC40NyAxLjUzIDIuOTQgNCAuNDcgNi40NyAxLjUzIDcuNTMgNCA1LjA2IDYuNDcgNy41MyA3LjUzIDYuNDcgNS4wNiA0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1IDUpIi8+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLDU0KSI+PHBvbHlnb24gZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBwb2ludHM9IjguNDQgLjQ0IDUgMy44OCAxLjU2IC40NCAuNSAxLjUgNSA2IDkuNSAxLjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQgNikiLz4KPC9nPgo8ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4LDU0KSI+PHBvbHlnb24gZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBwb2ludHM9IjUgMCAuNSA0LjUgMS41NiA1LjU2IDUgMi4xMiA4LjQ0IDUuNTYgOS41IDQuNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNCA2KSIvPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzYsNTQpIj48cG9seWdvbiBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHBvaW50cz0iOC40NCAuNDQgNSAzLjg4IDEuNTYgLjQ0IC41IDEuNSA1IDYgOS41IDEuNSIgdHJhbnNmb3JtPSJyb3RhdGUoOTAgNCA4KSIvPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTQsNTQpIj48cG9seWdvbiBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHBvaW50cz0iNSAwIC41IDQuNSAxLjU2IDUuNTYgNSAyLjEyIDguNDQgNS41NiA5LjUgNC41IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA0IDgpIi8+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3Miw1NCkiPjxwb2x5Z29uIGZpbGw9IiMwMDAwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgcG9pbnRzPSIxMiA1IDMuMTI1IDUgNy4wNiAxLjA2IDYgMCAwIDYgNiAxMiA3LjA2IDEwLjk0IDMuMTI1IDcgMTIgNyIgdHJhbnNmb3JtPSJtYXRyaXgoLTEgMCAwIDEgMTUgMykiLz4KPC9nPgo8ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkwLDU0KSI+PHBvbHlnb24gZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBwb2ludHM9IjEyIDUgMy4xMjUgNSA3LjA2IDEuMDYgNiAwIDAgNiA2IDEyIDcuMDYgMTAuOTQgMy4xMjUgNyAxMiA3IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzIDMpIi8+CjwvZz4KPC9zdmc+Cg==); + position: absolute; + width: 262px; + height: 444px; + opacity: 0.56; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.undo { + left: 0; + top: 0; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.redo { + left: -18px; + top: 0; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.print { + left: -36px; + top: 0; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.paintformat { + left: -54px; + top: 0; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.clearformat { + left: -72px; + top: 0; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.font-bold { + left: -90px; + top: 0; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.font-italic { + left: -108px; + top: 0; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.underline { + left: -126px; + top: 0; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.strike { + left: -144px; + top: 0; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.color { + left: -162px; + top: 0; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.bgcolor { + left: -180px; + top: 0; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.merge { + left: -198px; + top: 0; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.align-left { + left: -216px; + top: 0; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.align-center { + left: -234px; + top: 0; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.align-right { + left: 0; + top: -18px; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.align-top { + left: -18px; + top: -18px; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.align-middle { + left: -36px; + top: -18px; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.align-bottom { + left: -54px; + top: -18px; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.textwrap { + left: -72px; + top: -18px; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.autofilter { + left: -90px; + top: -18px; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.formula { + left: -108px; + top: -18px; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.arrow-down { + left: -126px; + top: -18px; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.arrow-right { + left: -144px; + top: -18px; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.link { + left: -162px; + top: -18px; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.chart { + left: -180px; + top: -18px; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.freeze { + left: -198px; + top: -18px; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.ellipsis { + left: -216px; + top: -18px; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.add { + left: -234px; + top: -18px; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.border-all { + left: 0; + top: -36px; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.border-inside { + left: -18px; + top: -36px; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.border-horizontal { + left: -36px; + top: -36px; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.border-vertical { + left: -54px; + top: -36px; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.border-outside { + left: -72px; + top: -36px; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.border-left { + left: -90px; + top: -36px; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.border-top { + left: -108px; + top: -36px; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.border-right { + left: -126px; + top: -36px; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.border-bottom { + left: -144px; + top: -36px; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.border-none { + left: -162px; + top: -36px; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.line-color { + left: -180px; + top: -36px; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.line-type { + left: -198px; + top: -36px; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.close { + left: -234px; + top: -36px; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.chevron-down { + left: 0; + top: -54px; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.chevron-up { + left: -18px; + top: -54px; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.chevron-left { + left: -36px; + top: -54px; +} +.x-spreadsheet-icon .x-spreadsheet-icon-img.chevron-right { + left: -54px; + top: -54px; +} +/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsibm9kZV9tb2R1bGVzL3gtZGF0YS1zcHJlYWRzaGVldC9zcmMvaW5kZXgubGVzcyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cbi54LXNwcmVhZHNoZWV0IHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgZm9udC1mYW1pbHk6ICdMYXRvJywgJ1NvdXJjZSBTYW5zIFBybycsIFJvYm90bywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xufVxuLngtc3ByZWFkc2hlZXQgdGV4dGFyZWEge1xuICBmb250OiA0MDAgMTNweCBBcmlhbCwgJ0xhdG8nLCAnU291cmNlIFNhbnMgUHJvJywgUm9ib3RvLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG59XG4ueC1zcHJlYWRzaGVldC1zaGVldCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi54LXNwcmVhZHNoZWV0LXRhYmxlIHtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbn1cbi54LXNwcmVhZHNoZWV0LXRvb2x0aXAge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICB6LWluZGV4OiAyMDE7XG59XG4ueC1zcHJlYWRzaGVldC10b29sdGlwOmJlZm9yZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gNHB4KTtcbiAgdG9wOiAtNHB4O1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogOHB4O1xuICBoZWlnaHQ6IDhweDtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgei1pbmRleDogMTtcbiAgYm94LXNoYWRvdzogMXB4IDFweCAzcHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG4ueC1zcHJlYWRzaGVldC1jb2xvci1wYWxldHRlIHtcbiAgcGFkZGluZzogNXB4O1xufVxuLngtc3ByZWFkc2hlZXQtY29sb3ItcGFsZXR0ZSB0YWJsZSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDI7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG4ueC1zcHJlYWRzaGVldC1jb2xvci1wYWxldHRlIHRhYmxlIHRkIHtcbiAgbWFyZ2luOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuLngtc3ByZWFkc2hlZXQtY29sb3ItcGFsZXR0ZSB0YWJsZSB0ZDpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI2RkZDtcbn1cbi54LXNwcmVhZHNoZWV0LWNvbG9yLXBhbGV0dGUgdGFibGUgdGQgLngtc3ByZWFkc2hlZXQtY29sb3ItcGFsZXR0ZS1jZWxsIHtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbn1cbi54LXNwcmVhZHNoZWV0LWJvcmRlci1wYWxldHRlIHtcbiAgcGFkZGluZzogNnB4O1xufVxuLngtc3ByZWFkc2hlZXQtYm9yZGVyLXBhbGV0dGUgdGFibGUge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xufVxuLngtc3ByZWFkc2hlZXQtYm9yZGVyLXBhbGV0dGUgdGFibGUgdGQge1xuICBtYXJnaW46IDA7XG59XG4ueC1zcHJlYWRzaGVldC1ib3JkZXItcGFsZXR0ZSAueC1zcHJlYWRzaGVldC1ib3JkZXItcGFsZXR0ZS1sZWZ0IHtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2VlZTtcbiAgcGFkZGluZy1yaWdodDogNnB4O1xufVxuLngtc3ByZWFkc2hlZXQtYm9yZGVyLXBhbGV0dGUgLngtc3ByZWFkc2hlZXQtYm9yZGVyLXBhbGV0dGUtbGVmdCAueC1zcHJlYWRzaGVldC1ib3JkZXItcGFsZXR0ZS1jZWxsIHtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ueC1zcHJlYWRzaGVldC1ib3JkZXItcGFsZXR0ZSAueC1zcHJlYWRzaGVldC1ib3JkZXItcGFsZXR0ZS1sZWZ0IC54LXNwcmVhZHNoZWV0LWJvcmRlci1wYWxldHRlLWNlbGwgLngtc3ByZWFkc2hlZXQtaWNvbi1pbWcge1xuICBvcGFjaXR5OiAwLjg7XG59XG4ueC1zcHJlYWRzaGVldC1ib3JkZXItcGFsZXR0ZSAueC1zcHJlYWRzaGVldC1ib3JkZXItcGFsZXR0ZS1sZWZ0IC54LXNwcmVhZHNoZWV0LWJvcmRlci1wYWxldHRlLWNlbGw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xufVxuLngtc3ByZWFkc2hlZXQtYm9yZGVyLXBhbGV0dGUgLngtc3ByZWFkc2hlZXQtYm9yZGVyLXBhbGV0dGUtcmlnaHQge1xuICBwYWRkaW5nLWxlZnQ6IDZweDtcbn1cbi54LXNwcmVhZHNoZWV0LWJvcmRlci1wYWxldHRlIC54LXNwcmVhZHNoZWV0LWJvcmRlci1wYWxldHRlLXJpZ2h0IC54LXNwcmVhZHNoZWV0LXRvb2xiYXItYnRuIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogM3B4O1xufVxuLngtc3ByZWFkc2hlZXQtYm9yZGVyLXBhbGV0dGUgLngtc3ByZWFkc2hlZXQtYm9yZGVyLXBhbGV0dGUtcmlnaHQgLngtc3ByZWFkc2hlZXQtbGluZS10eXBlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAwO1xuICB0b3A6IC0zcHg7XG59XG4ueC1zcHJlYWRzaGVldC1kcm9wZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi54LXNwcmVhZHNoZWV0LWRyb3Bkb3duIC54LXNwcmVhZHNoZWV0LWRyb3Bkb3duLWNvbnRlbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDIwMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMXB4IDJweCA1cHggMnB4IHJnYmEoNTEsIDUxLCA1MSwgMC4xNSk7XG59XG4ueC1zcHJlYWRzaGVldC1kcm9wZG93bi5ib3R0b20tbGVmdCAueC1zcHJlYWRzaGVldC1kcm9wZG93bi1jb250ZW50IHtcbiAgdG9wOiBjYWxjKDEwMCUgKyA1cHgpO1xuICBsZWZ0OiAwO1xufVxuLngtc3ByZWFkc2hlZXQtZHJvcGRvd24uYm90dG9tLXJpZ2h0IC54LXNwcmVhZHNoZWV0LWRyb3Bkb3duLWNvbnRlbnQge1xuICB0b3A6IGNhbGMoMTAwJSArIDVweCk7XG4gIHJpZ2h0OiAwO1xufVxuLngtc3ByZWFkc2hlZXQtZHJvcGRvd24udG9wLWxlZnQgLngtc3ByZWFkc2hlZXQtZHJvcGRvd24tY29udGVudCB7XG4gIGJvdHRvbTogY2FsYygxMDAlICsgNXB4KTtcbiAgbGVmdDogMDtcbn1cbi54LXNwcmVhZHNoZWV0LWRyb3Bkb3duLnRvcC1yaWdodCAueC1zcHJlYWRzaGVldC1kcm9wZG93bi1jb250ZW50IHtcbiAgYm90dG9tOiBjYWxjKDEwMCUgKyA1cHgpO1xuICByaWdodDogMDtcbn1cbi54LXNwcmVhZHNoZWV0LWRyb3Bkb3duIC54LXNwcmVhZHNoZWV0LWRyb3Bkb3duLXRpdGxlIHtcbiAgcGFkZGluZzogMCA1cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi54LXNwcmVhZHNoZWV0LWRyb3Bkb3duIC54LXNwcmVhZHNoZWV0LWRyb3Bkb3duLWhlYWRlciAueC1zcHJlYWRzaGVldC1pY29uLmFycm93LWxlZnQge1xuICBtYXJnaW4tbGVmdDogNHB4O1xufVxuLngtc3ByZWFkc2hlZXQtZHJvcGRvd24gLngtc3ByZWFkc2hlZXQtZHJvcGRvd24taGVhZGVyIC54LXNwcmVhZHNoZWV0LWljb24uYXJyb3ctcmlnaHQge1xuICB3aWR0aDogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XG59XG4ueC1zcHJlYWRzaGVldC1kcm9wZG93biAueC1zcHJlYWRzaGVldC1kcm9wZG93bi1oZWFkZXIgLngtc3ByZWFkc2hlZXQtaWNvbi5hcnJvdy1yaWdodCAuYXJyb3ctZG93biB7XG4gIGxlZnQ6IC0xMzBweDtcbn1cbi8qIHJlc2l6ZXIgKiovXG4ueC1zcHJlYWRzaGVldC1yZXNpemVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMTtcbn1cbi54LXNwcmVhZHNoZWV0LXJlc2l6ZXIgLngtc3ByZWFkc2hlZXQtcmVzaXplci1ob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNzUsIDEzNywgMjU1LCAwLjI1KTtcbn1cbi54LXNwcmVhZHNoZWV0LXJlc2l6ZXIgLngtc3ByZWFkc2hlZXQtcmVzaXplci1saW5lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLngtc3ByZWFkc2hlZXQtcmVzaXplci5ob3Jpem9udGFsIHtcbiAgY3Vyc29yOiByb3ctcmVzaXplO1xufVxuLngtc3ByZWFkc2hlZXQtcmVzaXplci5ob3Jpem9udGFsIC54LXNwcmVhZHNoZWV0LXJlc2l6ZXItbGluZSB7XG4gIGJvcmRlci1ib3R0b206IDJweCBkYXNoZWQgIzRiODlmZjtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xufVxuLngtc3ByZWFkc2hlZXQtcmVzaXplci52ZXJ0aWNhbCB7XG4gIGN1cnNvcjogY29sLXJlc2l6ZTtcbn1cbi54LXNwcmVhZHNoZWV0LXJlc2l6ZXIudmVydGljYWwgLngtc3ByZWFkc2hlZXQtcmVzaXplci1saW5lIHtcbiAgYm9yZGVyLXJpZ2h0OiAycHggZGFzaGVkICM0Yjg5ZmY7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG59XG4vKiBzY3JvbGxiYXIgKi9cbi54LXNwcmVhZHNoZWV0LXNjcm9sbGJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjVmODtcbiAgb3BhY2l0eTogMC45O1xuICB6LWluZGV4OiAxMjtcbn1cbi54LXNwcmVhZHNoZWV0LXNjcm9sbGJhci5ob3Jpem9udGFsIHtcbiAgcmlnaHQ6IDE1cHg7XG4gIG92ZXJmbG93LXg6IHNjcm9sbDtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xufVxuLngtc3ByZWFkc2hlZXQtc2Nyb2xsYmFyLmhvcml6b250YWwgPiBkaXYge1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZDogI2RkZDtcbn1cbi54LXNwcmVhZHNoZWV0LXNjcm9sbGJhci52ZXJ0aWNhbCB7XG4gIGJvdHRvbTogMTVweDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG4ueC1zcHJlYWRzaGVldC1zY3JvbGxiYXIudmVydGljYWwgPiBkaXYge1xuICB3aWR0aDogMXB4O1xuICBiYWNrZ3JvdW5kOiAjZGRkO1xufVxuLyogQHtjc3MtcHJlZml4fS1vdmVybGF5ZXIgKi9cbi54LXNwcmVhZHNoZWV0LW92ZXJsYXllciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMDtcbn1cbi54LXNwcmVhZHNoZWV0LW92ZXJsYXllciAueC1zcHJlYWRzaGVldC1vdmVybGF5ZXItY29udGVudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ueC1zcHJlYWRzaGVldC1lZGl0b3IsXG4ueC1zcHJlYWRzaGVldC1zZWxlY3RvciB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4vKiBAe2Nzcy1wcmVmaXh9LXNlbGVjdG9yICovXG4ueC1zcHJlYWRzaGVldC1zZWxlY3RvciAuaGlkZS1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMDtcbn1cbi54LXNwcmVhZHNoZWV0LXNlbGVjdG9yIC5oaWRlLWlucHV0IGlucHV0IHtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDA7XG4gIGJvcmRlcjogbm9uZSFpbXBvcnRhbnQ7XG59XG4ueC1zcHJlYWRzaGVldC1zZWxlY3RvciAueC1zcHJlYWRzaGVldC1zZWxlY3Rvci1hcmVhIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXI6IDJweCBzb2xpZCAjNGI4OWZmO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDc1LCAxMzcsIDI1NSwgMC4xKTtcbiAgei1pbmRleDogNTtcbn1cbi54LXNwcmVhZHNoZWV0LXNlbGVjdG9yIC54LXNwcmVhZHNoZWV0LXNlbGVjdG9yLWNsaXBib2FyZCxcbi54LXNwcmVhZHNoZWV0LXNlbGVjdG9yIC54LXNwcmVhZHNoZWV0LXNlbGVjdG9yLWF1dG9maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgei1pbmRleDogMTAwO1xufVxuLngtc3ByZWFkc2hlZXQtc2VsZWN0b3IgLngtc3ByZWFkc2hlZXQtc2VsZWN0b3ItY2xpcGJvYXJkIHtcbiAgYm9yZGVyOiAycHggZGFzaGVkICM0Yjg5ZmY7XG59XG4ueC1zcHJlYWRzaGVldC1zZWxlY3RvciAueC1zcHJlYWRzaGVldC1zZWxlY3Rvci1hdXRvZmlsbCB7XG4gIGJvcmRlcjogMXB4IGRhc2hlZCByZ2JhKDAsIDAsIDAsIDAuNDUpO1xufVxuLngtc3ByZWFkc2hlZXQtc2VsZWN0b3IgLngtc3ByZWFkc2hlZXQtc2VsZWN0b3ItY29ybmVyIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY3Vyc29yOiBjcm9zc2hhaXI7XG4gIGZvbnQtc2l6ZTogMDtcbiAgaGVpZ2h0OiA1cHg7XG4gIHdpZHRoOiA1cHg7XG4gIHJpZ2h0OiAtNXB4O1xuICBib3R0b206IC01cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZmZmZmY7XG4gIGJhY2tncm91bmQ6ICM0Yjg5ZmY7XG59XG4ueC1zcHJlYWRzaGVldC1lZGl0b3Ige1xuICB6LWluZGV4OiAyMDtcbn1cbi54LXNwcmVhZHNoZWV0LWVkaXRvciAueC1zcHJlYWRzaGVldC1lZGl0b3ItYXJlYSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm9yZGVyOiAycHggc29saWQgIzRiODlmZjtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHotaW5kZXg6IDEwMDtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG4ueC1zcHJlYWRzaGVldC1lZGl0b3IgLngtc3ByZWFkc2hlZXQtZWRpdG9yLWFyZWEgdGV4dGFyZWEge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAwIDNweDtcbiAgb3V0bGluZTogbm9uZTtcbiAgcmVzaXplOiBub25lO1xuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICBmb250OiA0MDAgMTNweCBBcmlhbCwgJ0xhdG8nLCAnU291cmNlIFNhbnMgUHJvJywgUm9ib3RvLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBtYXJnaW46IDA7XG59XG4ueC1zcHJlYWRzaGVldC1lZGl0b3IgLngtc3ByZWFkc2hlZXQtZWRpdG9yLWFyZWEgLnRleHRsaW5lIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cbi54LXNwcmVhZHNoZWV0LWl0ZW0ge1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYmFja2dyb3VuZDogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGhlaWdodDogMjZweDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDJweCAxMHB4O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ueC1zcHJlYWRzaGVldC1pdGVtLmRpc2FibGVkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDAuNTtcbn1cbi54LXNwcmVhZHNoZWV0LWl0ZW06aG92ZXIsXG4ueC1zcHJlYWRzaGVldC1pdGVtLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG4ueC1zcHJlYWRzaGVldC1pdGVtLmRpdmlkZXIge1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogNXB4IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi54LXNwcmVhZHNoZWV0LWl0ZW0gLmxhYmVsIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBvcGFjaXR5OiAwLjY1O1xuICBmb250LXNpemU6IDFlbTtcbn1cbi54LXNwcmVhZHNoZWV0LWl0ZW0uc3RhdGUsXG4ueC1zcHJlYWRzaGVldC1oZWFkZXIuc3RhdGUge1xuICBwYWRkaW5nLWxlZnQ6IDM1cHghaW1wb3J0YW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ueC1zcHJlYWRzaGVldC1pdGVtLnN0YXRlOmJlZm9yZSxcbi54LXNwcmVhZHNoZWV0LWhlYWRlci5zdGF0ZTpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICBsZWZ0OiAxMnB4O1xuICB0b3A6IGNhbGMoNTAlIC0gNXB4KTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA4KTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuLngtc3ByZWFkc2hlZXQtaXRlbS5zdGF0ZS5jaGVja2VkOmJlZm9yZSxcbi54LXNwcmVhZHNoZWV0LWhlYWRlci5zdGF0ZS5jaGVja2VkOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICM0Yjg5ZmY7XG59XG4ueC1zcHJlYWRzaGVldC1jaGVja2JveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIG91dGxpbmU6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG59XG4ueC1zcHJlYWRzaGVldC1jaGVja2JveCA+IGlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDAhaW1wb3J0YW50O1xuICBvdXRsaW5lOiAwO1xuICB6LWluZGV4OiAtMTtcbn1cbi54LXNwcmVhZHNoZWV0LXN1Z2dlc3QsXG4ueC1zcHJlYWRzaGVldC1jb250ZXh0bWVudSxcbi54LXNwcmVhZHNoZWV0LXNvcnQtZmlsdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3gtc2hhZG93OiAxcHggMnB4IDVweCAycHggcmdiYSg1MSwgNTEsIDUxLCAwLjE1KTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgei1pbmRleDogMTAwO1xuICB3aWR0aDogMjYwcHg7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBvdmVyZmxvdzogYXV0bztcbn1cbi54LXNwcmVhZHNoZWV0LXN1Z2dlc3Qge1xuICB3aWR0aDogMjAwcHg7XG59XG4ueC1zcHJlYWRzaGVldC1maWx0ZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTllOWU5O1xuICBmb250LXNpemU6IDEycHg7XG4gIG1hcmdpbjogMTBweDtcbn1cbi54LXNwcmVhZHNoZWV0LWZpbHRlciAueC1zcHJlYWRzaGVldC1oZWFkZXIge1xuICBwYWRkaW5nOiAwLjVlbSAwLjc1ZW07XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTllOWU5O1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuLngtc3ByZWFkc2hlZXQtZmlsdGVyIC54LXNwcmVhZHNoZWV0LWJvZHkge1xuICBoZWlnaHQ6IDIwMHB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuLngtc3ByZWFkc2hlZXQtZmlsdGVyIC54LXNwcmVhZHNoZWV0LWJvZHkgLngtc3ByZWFkc2hlZXQtaXRlbSB7XG4gIGhlaWdodDogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG59XG4ueC1zcHJlYWRzaGVldC1zb3J0LWZpbHRlciAueC1zcHJlYWRzaGVldC1idXR0b25zIHtcbiAgbWFyZ2luOiAxMHB4O1xufVxuLngtc3ByZWFkc2hlZXQtdG9vbGJhcixcbi54LXNwcmVhZHNoZWV0LWJvdHRvbWJhciB7XG4gIGhlaWdodDogNDBweDtcbiAgcGFkZGluZzogMCAzMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kOiAjZjVmNmY3O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLngtc3ByZWFkc2hlZXQtYm90dG9tYmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2UwZTJlNDtcbn1cbi54LXNwcmVhZHNoZWV0LWJvdHRvbWJhciAueC1zcHJlYWRzaGVldC1tZW51ID4gbGkge1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlOGVhZWQ7XG59XG4ueC1zcHJlYWRzaGVldC1tZW51IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi54LXNwcmVhZHNoZWV0LW1lbnUgPiBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBsaW5lLWhlaWdodDogMS4yNWVtO1xuICBwYWRkaW5nOiAwLjc4NWVtIDFlbTtcbiAgbWFyZ2luOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzgwODY4YjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4ueC1zcHJlYWRzaGVldC1tZW51ID4gbGkuYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42NSk7XG59XG4ueC1zcHJlYWRzaGVldC1tZW51ID4gbGkgLngtc3ByZWFkc2hlZXQtaWNvbiB7XG4gIG1hcmdpbjogMCA2cHg7XG59XG4ueC1zcHJlYWRzaGVldC1tZW51ID4gbGkgLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZzpob3ZlciB7XG4gIG9wYWNpdHk6IDAuODU7XG59XG4ueC1zcHJlYWRzaGVldC1tZW51ID4gbGkgLngtc3ByZWFkc2hlZXQtZHJvcGRvd24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4ueC1zcHJlYWRzaGVldC10b29sYmFyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMGUyZTQ7XG59XG4ueC1zcHJlYWRzaGVldC10b29sYmFyIC54LXNwcmVhZHNoZWV0LXRvb2xiYXItYnRucyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xufVxuLngtc3ByZWFkc2hlZXQtdG9vbGJhciAueC1zcHJlYWRzaGVldC10b29sYmFyLW1vcmUge1xuICBwYWRkaW5nOiAwIDZweCA2cHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4ueC1zcHJlYWRzaGVldC10b29sYmFyIC54LXNwcmVhZHNoZWV0LXRvb2xiYXItbW9yZSAueC1zcHJlYWRzaGVldC10b29sYmFyLWRpdmlkZXIge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLngtc3ByZWFkc2hlZXQtdG9vbGJhciAueC1zcHJlYWRzaGVldC10b29sYmFyLWJ0biB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBoZWlnaHQ6IDI2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICBtaW4td2lkdGg6IDI2cHg7XG4gIG1hcmdpbjogNnB4IDFweCAwO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbn1cbi54LXNwcmVhZHNoZWV0LXRvb2xiYXIgLngtc3ByZWFkc2hlZXQtdG9vbGJhci1idG4uZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMC41O1xufVxuLngtc3ByZWFkc2hlZXQtdG9vbGJhciAueC1zcHJlYWRzaGVldC10b29sYmFyLWJ0bjpob3Zlcixcbi54LXNwcmVhZHNoZWV0LXRvb2xiYXIgLngtc3ByZWFkc2hlZXQtdG9vbGJhci1idG4uYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA4KTtcbn1cbi54LXNwcmVhZHNoZWV0LXRvb2xiYXItZGl2aWRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2UwZTJlNDtcbiAgd2lkdGg6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGhlaWdodDogMThweDtcbiAgbWFyZ2luOiAxMnB4IDNweCAwO1xufVxuLngtc3ByZWFkc2hlZXQtcHJpbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLngtc3ByZWFkc2hlZXQtcHJpbnQtYmFyIHtcbiAgYmFja2dyb3VuZDogIzQyNDI0MjtcbiAgaGVpZ2h0OiA2MHB4O1xuICBsaW5lLWhlaWdodDogNjBweDtcbiAgcGFkZGluZzogMCAzMHB4O1xufVxuLngtc3ByZWFkc2hlZXQtcHJpbnQtYmFyIC4tdGl0bGUge1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGZsb2F0OiBsZWZ0O1xufVxuLngtc3ByZWFkc2hlZXQtcHJpbnQtYmFyIC4tcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi10b3A6IDEycHg7XG59XG4ueC1zcHJlYWRzaGVldC1wcmludC1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogYXV0bztcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYmFja2dyb3VuZDogI2QwZDBkMDtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA2MHB4KTtcbn1cbi54LXNwcmVhZHNoZWV0LXByaW50LWNvbnRlbnQgLi1zaWRlciB7XG4gIGZsZXg6IDAgMCAzMDBweDtcbiAgd2lkdGg6IDMwMHB4O1xuICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNjY2M7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG4ueC1zcHJlYWRzaGVldC1wcmludC1jb250ZW50IC4tY29udGVudCB7XG4gIGZsZXg6IGF1dG87XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLngtc3ByZWFkc2hlZXQtY2FudmFzLWNhcmQtd3JhcGVyIHtcbiAgbWFyZ2luOiA0MHB4IDIwcHg7XG59XG4ueC1zcHJlYWRzaGVldC1jYW52YXMtY2FyZCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIG1hcmdpbjogYXV0bztcbiAgcGFnZS1icmVhay1iZWZvcmU6IGF1dG87XG4gIHBhZ2UtYnJlYWstYWZ0ZXI6IGFsd2F5cztcbiAgYm94LXNoYWRvdzogMCA4cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAzcHggMTRweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCA0cHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuLngtc3ByZWFkc2hlZXQtY2FsZW5kYXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjY1KTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4ueC1zcHJlYWRzaGVldC1jYWxlbmRhciAuY2FsZW5kYXItaGVhZGVyIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBiYWNrZ3JvdW5kOiAjZjlmYWZiO1xufVxuLngtc3ByZWFkc2hlZXQtY2FsZW5kYXIgLmNhbGVuZGFyLWhlYWRlciAuY2FsZW5kYXItaGVhZGVyLWxlZnQge1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4ueC1zcHJlYWRzaGVldC1jYWxlbmRhciAuY2FsZW5kYXItaGVhZGVyIC5jYWxlbmRhci1oZWFkZXItcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG59XG4ueC1zcHJlYWRzaGVldC1jYWxlbmRhciAuY2FsZW5kYXItaGVhZGVyIC5jYWxlbmRhci1oZWFkZXItcmlnaHQgYSB7XG4gIHBhZGRpbmc6IDNweCAwO1xuICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuLngtc3ByZWFkc2hlZXQtY2FsZW5kYXIgLmNhbGVuZGFyLWhlYWRlciAuY2FsZW5kYXItaGVhZGVyLXJpZ2h0IGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDgpO1xufVxuLngtc3ByZWFkc2hlZXQtY2FsZW5kYXIgLmNhbGVuZGFyLWJvZHkge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cbi54LXNwcmVhZHNoZWV0LWNhbGVuZGFyIC5jYWxlbmRhci1ib2R5IHRoLFxuLngtc3ByZWFkc2hlZXQtY2FsZW5kYXIgLmNhbGVuZGFyLWJvZHkgdGQge1xuICB3aWR0aDogMTAwJS83O1xuICBtaW4td2lkdGg6IDMycHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIHBhZGRpbmc6IDA7XG59XG4ueC1zcHJlYWRzaGVldC1jYWxlbmRhciAuY2FsZW5kYXItYm9keSB0ZCA+IC5jZWxsOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2VjZjZmZDtcbn1cbi54LXNwcmVhZHNoZWV0LWNhbGVuZGFyIC5jYWxlbmRhci1ib2R5IHRkID4gLmNlbGwuYWN0aXZlLFxuLngtc3ByZWFkc2hlZXQtY2FsZW5kYXIgLmNhbGVuZGFyLWJvZHkgdGQgPiAuY2VsbC5hY3RpdmU6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZWNmNmZkO1xuICBjb2xvcjogIzIxODVEMDtcbn1cbi54LXNwcmVhZHNoZWV0LWNhbGVuZGFyIC5jYWxlbmRhci1ib2R5IHRkID4gLmNlbGwuZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMC41O1xufVxuLngtc3ByZWFkc2hlZXQtZGF0ZXBpY2tlciB7XG4gIGJveC1zaGFkb3c6IDJweCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IGNhbGMoMTAwJSArIDVweCk7XG4gIHotaW5kZXg6IDEwO1xuICB3aWR0aDogYXV0bztcbn1cbi54LXNwcmVhZHNoZWV0LWJ1dHRvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuLngtc3ByZWFkc2hlZXQtYnV0dG9ucyAueC1zcHJlYWRzaGVldC1idXR0b24ge1xuICBtYXJnaW4tbGVmdDogOHB4O1xufVxuLngtc3ByZWFkc2hlZXQtYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIG1pbi1oZWlnaHQ6IDFlbTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBiYWNrZ3JvdW5kOiAjRTBFMUUyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIiwgXCJwcm94aW1hLW5vdmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgb3V0bGluZTogbm9uZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB6b29tOiAxO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMXMgbGluZWFyO1xufVxuLngtc3ByZWFkc2hlZXQtYnV0dG9uLmFjdGl2ZSxcbi54LXNwcmVhZHNoZWV0LWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDMEMxQzI7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG59XG4ueC1zcHJlYWRzaGVldC1idXR0b24ucHJpbWFyeSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE4NUQwO1xufVxuLngtc3ByZWFkc2hlZXQtYnV0dG9uLnByaW1hcnk6aG92ZXIsXG4ueC1zcHJlYWRzaGVldC1idXR0b24ucHJpbWFyeS5hY3RpdmUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE2NzhjMjtcbn1cbi54LXNwcmVhZHNoZWV0LWZvcm0taW5wdXQge1xuICBmb250LXNpemU6IDFlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXdlaWdodDogNDAwO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4ueC1zcHJlYWRzaGVldC1mb3JtLWlucHV0IGlucHV0IHtcbiAgei1pbmRleDogMTtcbiAgbWFyZ2luOiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBvdXRsaW5lOiAwO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHBhZGRpbmc6IDAgOHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTllOWU5O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4xcyBlYXNlLCBib3JkZXItY29sb3IgMC4xcyBlYXNlO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggaHNsYSgwLCAwJSwgNCUsIDAuMDYpO1xufVxuLngtc3ByZWFkc2hlZXQtZm9ybS1pbnB1dCBpbnB1dDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzRiODlmZjtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoNzUsIDEzNywgMjU1LCAwLjIpO1xufVxuLngtc3ByZWFkc2hlZXQtZm9ybS1zZWxlY3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U5ZTllOTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IGhzbGEoMCwgMCUsIDQlLCAwLjA2KTtcbn1cbi54LXNwcmVhZHNoZWV0LWZvcm0tc2VsZWN0IC5pbnB1dC10ZXh0IHtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG1pbi13aWR0aDogNjBweDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIHBhZGRpbmc6IDAgOHB4O1xufVxuLngtc3ByZWFkc2hlZXQtZm9ybS1maWVsZHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4ueC1zcHJlYWRzaGVldC1mb3JtLWZpZWxkcyAueC1zcHJlYWRzaGVldC1mb3JtLWZpZWxkIHtcbiAgZmxleDogMCAxIGF1dG87XG59XG4ueC1zcHJlYWRzaGVldC1mb3JtLWZpZWxkcyAueC1zcHJlYWRzaGVldC1mb3JtLWZpZWxkIC5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDEwcHggMCAwO1xufVxuLngtc3ByZWFkc2hlZXQtZm9ybS1maWVsZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbi54LXNwcmVhZHNoZWV0LWZvcm0tZmllbGQ6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi54LXNwcmVhZHNoZWV0LWZvcm0tZmllbGQuZXJyb3IgLngtc3ByZWFkc2hlZXQtZm9ybS1zZWxlY3QsXG4ueC1zcHJlYWRzaGVldC1mb3JtLWZpZWxkLmVycm9yIGlucHV0IHtcbiAgYm9yZGVyLWNvbG9yOiAjZjA0MTM0O1xufVxuLngtc3ByZWFkc2hlZXQtZm9ybS1maWVsZCAudGlwIHtcbiAgY29sb3I6ICNmMDQxMzQ7XG4gIGZvbnQtc2l6ZTogMC45ZW07XG59XG4ueC1zcHJlYWRzaGVldC1kaW1tZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMCAhaW1wb3J0YW50O1xuICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cyBsaW5lYXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB6LWluZGV4OiAxMDAwO1xufVxuLngtc3ByZWFkc2hlZXQtZGltbWVyLmFjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvcGFjaXR5OiAxO1xufVxuZm9ybSBmaWVsZHNldCB7XG4gIGJvcmRlcjogbm9uZTtcbn1cbmZvcm0gZmllbGRzZXQgbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBjb2xvcjogIzY2Njtcbn1cbmZvcm0gZmllbGRzZXQgc2VsZWN0IHtcbiAgZm9udC1zaXplOiAxLjFlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkZGQ7XG4gIHBhZGRpbmc6IDAuNWVtIDAuODVlbTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuLngtc3ByZWFkc2hlZXQtbW9kYWwsXG4ueC1zcHJlYWRzaGVldC10b2FzdCB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDAxO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBsaW5lLWhlaWdodDogMS4yNWVtO1xuICBtaW4td2lkdGg6IDM2MHB4O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgZm9udC1mYW1pbHk6ICdMYXRvJywgJ1NvdXJjZSBTYW5zIFBybycsIFJvYm90bywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJveC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC4yKSAwcHggMnB4IDhweDtcbn1cbi54LXNwcmVhZHNoZWV0LXRvYXN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbn1cbi54LXNwcmVhZHNoZWV0LW1vZGFsLWhlYWRlcixcbi54LXNwcmVhZHNoZWV0LXRvYXN0LWhlYWRlciB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDtcbn1cbi54LXNwcmVhZHNoZWV0LW1vZGFsLWhlYWRlciAueC1zcHJlYWRzaGVldC1pY29uLFxuLngtc3ByZWFkc2hlZXQtdG9hc3QtaGVhZGVyIC54LXNwcmVhZHNoZWV0LWljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwLjhlbTtcbiAgdG9wOiAwLjY1ZW07XG4gIGJvcmRlci1yYWRpdXM6IDE4cHg7XG59XG4ueC1zcHJlYWRzaGVldC1tb2RhbC1oZWFkZXIgLngtc3ByZWFkc2hlZXQtaWNvbjpob3Zlcixcbi54LXNwcmVhZHNoZWV0LXRvYXN0LWhlYWRlciAueC1zcHJlYWRzaGVldC1pY29uOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA4KTtcbn1cbi54LXNwcmVhZHNoZWV0LXRvYXN0LWhlYWRlciB7XG4gIGNvbG9yOiAjRjI3MTFDO1xufVxuLngtc3ByZWFkc2hlZXQtbW9kYWwtaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMGUyZTQ7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gIGZvbnQtc2l6ZTogMS4wNzg1ZW07XG59XG4ueC1zcHJlYWRzaGVldC1tb2RhbC1oZWFkZXIsXG4ueC1zcHJlYWRzaGVldC1tb2RhbC1jb250ZW50LFxuLngtc3ByZWFkc2hlZXQtdG9hc3QtaGVhZGVyLFxuLngtc3ByZWFkc2hlZXQtdG9hc3QtY29udGVudCB7XG4gIHBhZGRpbmc6IDAuNzVlbSAxZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gIC54LXNwcmVhZHNoZWV0LXRvb2xiYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi54LXNwcmVhZHNoZWV0LWljb24ge1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBtYXJnaW46IDFweCAxcHggMnB4IDFweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9hc3NldHMvc3ByaXRlLnN2ZycpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAyNjJweDtcbiAgaGVpZ2h0OiA0NDRweDtcbiAgb3BhY2l0eTogMC41Njtcbn1cbi54LXNwcmVhZHNoZWV0LWljb24gLngtc3ByZWFkc2hlZXQtaWNvbi1pbWcudW5kbyB7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi54LXNwcmVhZHNoZWV0LWljb24gLngtc3ByZWFkc2hlZXQtaWNvbi1pbWcucmVkbyB7XG4gIGxlZnQ6IC0xOHB4O1xuICB0b3A6IDA7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nLnByaW50IHtcbiAgbGVmdDogLTM2cHg7XG4gIHRvcDogMDtcbn1cbi54LXNwcmVhZHNoZWV0LWljb24gLngtc3ByZWFkc2hlZXQtaWNvbi1pbWcucGFpbnRmb3JtYXQge1xuICBsZWZ0OiAtNTRweDtcbiAgdG9wOiAwO1xufVxuLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZy5jbGVhcmZvcm1hdCB7XG4gIGxlZnQ6IC03MnB4O1xuICB0b3A6IDA7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nLmZvbnQtYm9sZCB7XG4gIGxlZnQ6IC05MHB4O1xuICB0b3A6IDA7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nLmZvbnQtaXRhbGljIHtcbiAgbGVmdDogLTEwOHB4O1xuICB0b3A6IDA7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nLnVuZGVybGluZSB7XG4gIGxlZnQ6IC0xMjZweDtcbiAgdG9wOiAwO1xufVxuLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZy5zdHJpa2Uge1xuICBsZWZ0OiAtMTQ0cHg7XG4gIHRvcDogMDtcbn1cbi54LXNwcmVhZHNoZWV0LWljb24gLngtc3ByZWFkc2hlZXQtaWNvbi1pbWcuY29sb3Ige1xuICBsZWZ0OiAtMTYycHg7XG4gIHRvcDogMDtcbn1cbi54LXNwcmVhZHNoZWV0LWljb24gLngtc3ByZWFkc2hlZXQtaWNvbi1pbWcuYmdjb2xvciB7XG4gIGxlZnQ6IC0xODBweDtcbiAgdG9wOiAwO1xufVxuLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZy5tZXJnZSB7XG4gIGxlZnQ6IC0xOThweDtcbiAgdG9wOiAwO1xufVxuLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZy5hbGlnbi1sZWZ0IHtcbiAgbGVmdDogLTIxNnB4O1xuICB0b3A6IDA7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nLmFsaWduLWNlbnRlciB7XG4gIGxlZnQ6IC0yMzRweDtcbiAgdG9wOiAwO1xufVxuLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZy5hbGlnbi1yaWdodCB7XG4gIGxlZnQ6IDA7XG4gIHRvcDogLTE4cHg7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nLmFsaWduLXRvcCB7XG4gIGxlZnQ6IC0xOHB4O1xuICB0b3A6IC0xOHB4O1xufVxuLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZy5hbGlnbi1taWRkbGUge1xuICBsZWZ0OiAtMzZweDtcbiAgdG9wOiAtMThweDtcbn1cbi54LXNwcmVhZHNoZWV0LWljb24gLngtc3ByZWFkc2hlZXQtaWNvbi1pbWcuYWxpZ24tYm90dG9tIHtcbiAgbGVmdDogLTU0cHg7XG4gIHRvcDogLTE4cHg7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nLnRleHR3cmFwIHtcbiAgbGVmdDogLTcycHg7XG4gIHRvcDogLTE4cHg7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nLmF1dG9maWx0ZXIge1xuICBsZWZ0OiAtOTBweDtcbiAgdG9wOiAtMThweDtcbn1cbi54LXNwcmVhZHNoZWV0LWljb24gLngtc3ByZWFkc2hlZXQtaWNvbi1pbWcuZm9ybXVsYSB7XG4gIGxlZnQ6IC0xMDhweDtcbiAgdG9wOiAtMThweDtcbn1cbi54LXNwcmVhZHNoZWV0LWljb24gLngtc3ByZWFkc2hlZXQtaWNvbi1pbWcuYXJyb3ctZG93biB7XG4gIGxlZnQ6IC0xMjZweDtcbiAgdG9wOiAtMThweDtcbn1cbi54LXNwcmVhZHNoZWV0LWljb24gLngtc3ByZWFkc2hlZXQtaWNvbi1pbWcuYXJyb3ctcmlnaHQge1xuICBsZWZ0OiAtMTQ0cHg7XG4gIHRvcDogLTE4cHg7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nLmxpbmsge1xuICBsZWZ0OiAtMTYycHg7XG4gIHRvcDogLTE4cHg7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nLmNoYXJ0IHtcbiAgbGVmdDogLTE4MHB4O1xuICB0b3A6IC0xOHB4O1xufVxuLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZy5mcmVlemUge1xuICBsZWZ0OiAtMTk4cHg7XG4gIHRvcDogLTE4cHg7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nLmVsbGlwc2lzIHtcbiAgbGVmdDogLTIxNnB4O1xuICB0b3A6IC0xOHB4O1xufVxuLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZy5hZGQge1xuICBsZWZ0OiAtMjM0cHg7XG4gIHRvcDogLTE4cHg7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nLmJvcmRlci1hbGwge1xuICBsZWZ0OiAwO1xuICB0b3A6IC0zNnB4O1xufVxuLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZy5ib3JkZXItaW5zaWRlIHtcbiAgbGVmdDogLTE4cHg7XG4gIHRvcDogLTM2cHg7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nLmJvcmRlci1ob3Jpem9udGFsIHtcbiAgbGVmdDogLTM2cHg7XG4gIHRvcDogLTM2cHg7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nLmJvcmRlci12ZXJ0aWNhbCB7XG4gIGxlZnQ6IC01NHB4O1xuICB0b3A6IC0zNnB4O1xufVxuLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZy5ib3JkZXItb3V0c2lkZSB7XG4gIGxlZnQ6IC03MnB4O1xuICB0b3A6IC0zNnB4O1xufVxuLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZy5ib3JkZXItbGVmdCB7XG4gIGxlZnQ6IC05MHB4O1xuICB0b3A6IC0zNnB4O1xufVxuLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZy5ib3JkZXItdG9wIHtcbiAgbGVmdDogLTEwOHB4O1xuICB0b3A6IC0zNnB4O1xufVxuLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZy5ib3JkZXItcmlnaHQge1xuICBsZWZ0OiAtMTI2cHg7XG4gIHRvcDogLTM2cHg7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nLmJvcmRlci1ib3R0b20ge1xuICBsZWZ0OiAtMTQ0cHg7XG4gIHRvcDogLTM2cHg7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nLmJvcmRlci1ub25lIHtcbiAgbGVmdDogLTE2MnB4O1xuICB0b3A6IC0zNnB4O1xufVxuLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZy5saW5lLWNvbG9yIHtcbiAgbGVmdDogLTE4MHB4O1xuICB0b3A6IC0zNnB4O1xufVxuLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZy5saW5lLXR5cGUge1xuICBsZWZ0OiAtMTk4cHg7XG4gIHRvcDogLTM2cHg7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nLmNsb3NlIHtcbiAgbGVmdDogLTIzNHB4O1xuICB0b3A6IC0zNnB4O1xufVxuLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZy5jaGV2cm9uLWRvd24ge1xuICBsZWZ0OiAwO1xuICB0b3A6IC01NHB4O1xufVxuLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZy5jaGV2cm9uLXVwIHtcbiAgbGVmdDogLTE4cHg7XG4gIHRvcDogLTU0cHg7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nLmNoZXZyb24tbGVmdCB7XG4gIGxlZnQ6IC0zNnB4O1xuICB0b3A6IC01NHB4O1xufVxuLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZy5jaGV2cm9uLXJpZ2h0IHtcbiAgbGVmdDogLTU0cHg7XG4gIHRvcDogLTU0cHg7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQUE7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQUE7QUFFRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQUE7QUFFRTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUVFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBQUE7QUFHRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQUE7QUFFRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQUE7QUFFRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQUE7QUFFRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFBQTtBQUVFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQUE7QUFFRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQUE7QUFFRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUFBO0FBQUE7QUFJRTtBQUFBO0FBRUY7QUFDRTtBQUNFO0FBQUE7QUFBQTtBQUdKO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTsiLAogICJuYW1lcyI6IFtdCn0K */ diff --git a/main.ts b/main.ts index 2d07212..26e3fef 100644 --- a/main.ts +++ b/main.ts @@ -1,23 +1,16 @@ -import { App, Editor, MarkdownView, Modal, Notice, Plugin, PluginSettingTab, Setting } from 'obsidian'; +import { App, Editor, MarkdownView, Modal, Notice, Plugin, PluginSettingTab, Setting, WorkspaceLeaf } from 'obsidian'; -// Remember to rename these classes and interfaces! +import { ExcelView, VIEW_TYPE_EXCEL } from './src/ExcelView'; -interface MyPluginSettings { - mySetting: string; -} - -const DEFAULT_SETTINGS: MyPluginSettings = { - mySetting: 'default' -} - -export default class MyPlugin extends Plugin { - settings: MyPluginSettings; +export default class ExcelPlugin extends Plugin { async onload() { - await this.loadSettings(); + + this.registerView(VIEW_TYPE_EXCEL, (leaf: WorkspaceLeaf) => new ExcelView(leaf, this)); + this.registerExtensions(["xlsx"], VIEW_TYPE_EXCEL); // This creates an icon in the left ribbon. - const ribbonIconEl = this.addRibbonIcon('dice', 'Sample Plugin', (evt: MouseEvent) => { + const ribbonIconEl = this.addRibbonIcon('table', 'Excel', (evt: MouseEvent) => { // Called when the user clicks the icon. new Notice('This is a notice!'); }); @@ -28,45 +21,6 @@ export default class MyPlugin extends Plugin { const statusBarItemEl = this.addStatusBarItem(); statusBarItemEl.setText('Status Bar Text'); - // This adds a simple command that can be triggered anywhere - this.addCommand({ - id: 'open-sample-modal-simple', - name: 'Open sample modal (simple)', - callback: () => { - new SampleModal(this.app).open(); - } - }); - // This adds an editor command that can perform some operation on the current editor instance - this.addCommand({ - id: 'sample-editor-command', - name: 'Sample editor command', - editorCallback: (editor: Editor, view: MarkdownView) => { - console.log(editor.getSelection()); - editor.replaceSelection('Sample Editor Command'); - } - }); - // This adds a complex command that can check whether the current state of the app allows execution of the command - this.addCommand({ - id: 'open-sample-modal-complex', - name: 'Open sample modal (complex)', - checkCallback: (checking: boolean) => { - // Conditions to check - const markdownView = this.app.workspace.getActiveViewOfType(MarkdownView); - if (markdownView) { - // If checking is true, we're simply "checking" if the command can be run. - // If checking is false, then we want to actually perform the operation. - if (!checking) { - new SampleModal(this.app).open(); - } - - // This command will only show up in Command Palette when the check function returns true - return true; - } - } - }); - - // This adds a settings tab so the user can configure various aspects of the plugin - this.addSettingTab(new SampleSettingTab(this.app, this)); // If the plugin hooks up any global DOM events (on parts of the app that doesn't belong to this plugin) // Using this function will automatically remove the event listener when this plugin is disabled. @@ -82,53 +36,11 @@ export default class MyPlugin extends Plugin { } - async loadSettings() { - this.settings = Object.assign({}, DEFAULT_SETTINGS, await this.loadData()); - } + // async loadSettings() { + // this.settings = Object.assign({}, DEFAULT_SETTINGS, await this.loadData()); + // } - async saveSettings() { - await this.saveData(this.settings); - } -} - -class SampleModal extends Modal { - constructor(app: App) { - super(app); - } - - onOpen() { - const {contentEl} = this; - contentEl.setText('Woah!'); - } - - onClose() { - const {contentEl} = this; - contentEl.empty(); - } -} - -class SampleSettingTab extends PluginSettingTab { - plugin: MyPlugin; - - constructor(app: App, plugin: MyPlugin) { - super(app, plugin); - this.plugin = plugin; - } - - display(): void { - const {containerEl} = this; - - containerEl.empty(); - - new Setting(containerEl) - .setName('Setting #1') - .setDesc('It\'s a secret') - .addText(text => text - .setPlaceholder('Enter your secret') - .setValue(this.plugin.settings.mySetting) - .onChange(async (value) => { - this.plugin.settings.mySetting = value; - await this.plugin.saveSettings(); - })); - } + // async saveSettings() { + // await this.saveData(this.settings); + // } } diff --git a/manifest.json b/manifest.json index 624001a..06b818e 100644 --- a/manifest.json +++ b/manifest.json @@ -1,11 +1,11 @@ { - "id": "sample-plugin", - "name": "Sample Plugin", + "id": "com.ljcoder.obsidian-excel", + "name": "Excel", "version": "1.0.0", "minAppVersion": "0.15.0", - "description": "This is a sample plugin for Obsidian. This plugin demonstrates some of the capabilities of the Obsidian API.", - "author": "Obsidian", - "authorUrl": "https://obsidian.md", - "fundingUrl": "https://obsidian.md/pricing", + "description": "This is a Excel plugin for Obsidian.", + "author": "ljcoder", + "authorUrl": "https://github.com/ljcoder2015/obsidian-excel", + "fundingUrl": "https://github.com/ljcoder2015/obsidian-excel", "isDesktopOnly": false } diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..e6c4e2c --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1341 @@ +{ + "name": "obsidian-sample-plugin", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@esbuild/android-arm": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.3.tgz", + "integrity": "sha512-1Mlz934GvbgdDmt26rTLmf03cAgLg5HyOgJN+ZGCeP3Q9ynYTNMn2/LQxIl7Uy+o4K6Rfi2OuLsr12JQQR8gNg==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.3.tgz", + "integrity": "sha512-XvJsYo3dO3Pi4kpalkyMvfQsjxPWHYjoX4MDiB/FUM4YMfWcXa5l4VCwFWVYI1+92yxqjuqrhNg0CZg3gSouyQ==", + "dev": true, + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.3.tgz", + "integrity": "sha512-nuV2CmLS07Gqh5/GrZLuqkU9Bm6H6vcCspM+zjp9TdQlxJtIe+qqEXQChmfc7nWdyr/yz3h45Utk1tUn8Cz5+A==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.3.tgz", + "integrity": "sha512-01Hxaaat6m0Xp9AXGM8mjFtqqwDjzlMP0eQq9zll9U85ttVALGCGDuEvra5Feu/NbP5AEP1MaopPwzsTcUq1cw==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.3.tgz", + "integrity": "sha512-Eo2gq0Q/er2muf8Z83X21UFoB7EU6/m3GNKvrhACJkjVThd0uA+8RfKpfNhuMCl1bKRfBzKOk6xaYKQZ4lZqvA==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.3.tgz", + "integrity": "sha512-CN62ESxaquP61n1ZjQP/jZte8CE09M6kNn3baos2SeUfdVBkWN5n6vGp2iKyb/bm/x4JQzEvJgRHLGd5F5b81w==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.3.tgz", + "integrity": "sha512-feq+K8TxIznZE+zhdVurF3WNJ/Sa35dQNYbaqM/wsCbWdzXr5lyq+AaTUSER2cUR+SXPnd/EY75EPRjf4s1SLg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.3.tgz", + "integrity": "sha512-CLP3EgyNuPcg2cshbwkqYy5bbAgK+VhyfMU7oIYyn+x4Y67xb5C5ylxsNUjRmr8BX+MW3YhVNm6Lq6FKtRTWHQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.3.tgz", + "integrity": "sha512-JHeZXD4auLYBnrKn6JYJ0o5nWJI9PhChA/Nt0G4MvLaMrvXuWnY93R3a7PiXeJQphpL1nYsaMcoV2QtuvRnF/g==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.3.tgz", + "integrity": "sha512-FyXlD2ZjZqTFh0sOQxFDiWG1uQUEOLbEh9gKN/7pFxck5Vw0qjWSDqbn6C10GAa1rXJpwsntHcmLqydY9ST9ZA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.3.tgz", + "integrity": "sha512-OrDGMvDBI2g7s04J8dh8/I7eSO+/E7nMDT2Z5IruBfUO/RiigF1OF6xoH33Dn4W/OwAWSUf1s2nXamb28ZklTA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.3.tgz", + "integrity": "sha512-DcnUpXnVCJvmv0TzuLwKBC2nsQHle8EIiAJiJ+PipEVC16wHXaPEKP0EqN8WnBe0TPvMITOUlP2aiL5YMld+CQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.3.tgz", + "integrity": "sha512-BDYf/l1WVhWE+FHAW3FzZPtVlk9QsrwsxGzABmN4g8bTjmhazsId3h127pliDRRu5674k1Y2RWejbpN46N9ZhQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.3.tgz", + "integrity": "sha512-WViAxWYMRIi+prTJTyV1wnqd2mS2cPqJlN85oscVhXdb/ZTFJdrpaqm/uDsZPGKHtbg5TuRX/ymKdOSk41YZow==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.3.tgz", + "integrity": "sha512-Iw8lkNHUC4oGP1O/KhumcVy77u2s6+KUjieUqzEU3XuWJqZ+AY7uVMrrCbAiwWTkpQHkr00BuXH5RpC6Sb/7Ug==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.3.tgz", + "integrity": "sha512-0AGkWQMzeoeAtXQRNB3s4J1/T2XbigM2/Mn2yU1tQSmQRmHIZdkGbVq2A3aDdNslPyhb9/lH0S5GMTZ4xsjBqg==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.3.tgz", + "integrity": "sha512-4+rR/WHOxIVh53UIQIICryjdoKdHsFZFD4zLSonJ9RRw7bhKzVyXbnRPsWSfwybYqw9sB7ots/SYyufL1mBpEg==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.3.tgz", + "integrity": "sha512-cVpWnkx9IYg99EjGxa5Gc0XmqumtAwK3aoz7O4Dii2vko+qXbkHoujWA68cqXjhh6TsLaQelfDO4MVnyr+ODeA==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.3.tgz", + "integrity": "sha512-RxmhKLbTCDAY2xOfrww6ieIZkZF+KBqG7S2Ako2SljKXRFi+0863PspK74QQ7JpmWwncChY25JTJSbVBYGQk2Q==", + "dev": true, + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.3.tgz", + "integrity": "sha512-0r36VeEJ4efwmofxVJRXDjVRP2jTmv877zc+i+Pc7MNsIr38NfsjkQj23AfF7l0WbB+RQ7VUb+LDiqC/KY/M/A==", + "dev": true, + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.3.tgz", + "integrity": "sha512-wgO6rc7uGStH22nur4aLFcq7Wh86bE9cOFmfTr/yxN3BXvDEdCSXyKkO+U5JIt53eTOgC47v9k/C1bITWL/Teg==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.3.tgz", + "integrity": "sha512-FdVl64OIuiKjgXBjwZaJLKp0eaEckifbhn10dXWhysMJkWblg3OEEGKSIyhiD5RSgAya8WzP3DNkngtIg3Nt7g==", + "dev": true, + "optional": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true + }, + "@types/codemirror": { + "version": "5.60.8", + "resolved": "https://registry.npmjs.org/@types/codemirror/-/codemirror-5.60.8.tgz", + "integrity": "sha512-VjFgDF/eB+Aklcy15TtOTLQeMjTo07k7KAjql8OK5Dirr7a6sJY4T1uVBDuTVG9VEmn1uUsohOpYnVfgC6/jyw==", + "dev": true, + "requires": { + "@types/tern": "*" + } + }, + "@types/estree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", + "dev": true + }, + "@types/json-schema": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", + "dev": true + }, + "@types/less": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/less/-/less-3.0.3.tgz", + "integrity": "sha512-1YXyYH83h6We1djyoUEqTlVyQtCfJAFXELSKW2ZRtjHD4hQ82CC4lvrv5D0l0FLcKBaiPbXyi3MpMsI9ZRgKsw==", + "dev": true + }, + "@types/node": { + "version": "16.18.41", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.41.tgz", + "integrity": "sha512-YZJjn+Aaw0xihnpdImxI22jqGbp0DCgTFKRycygjGx/Y27NnWFJa5FJ7P+MRT3u07dogEeMVh70pWpbIQollTA==", + "dev": true + }, + "@types/tern": { + "version": "0.23.4", + "resolved": "https://registry.npmjs.org/@types/tern/-/tern-0.23.4.tgz", + "integrity": "sha512-JAUw1iXGO1qaWwEOzxTKJZ/5JxVeON9kvGZ/osgZaJImBnyjyn0cjovPsf6FNLmyGY8Vw9DoXZCMlfMkMwHRWg==", + "dev": true, + "requires": { + "@types/estree": "*" + } + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.29.0.tgz", + "integrity": "sha512-kgTsISt9pM53yRFQmLZ4npj99yGl3x3Pl7z4eA66OuTzAGC4bQB5H5fuLwPnqTKU3yyrrg4MIhjF17UYnL4c0w==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.29.0", + "@typescript-eslint/type-utils": "5.29.0", + "@typescript-eslint/utils": "5.29.0", + "debug": "^4.3.4", + "functional-red-black-tree": "^1.0.1", + "ignore": "^5.2.0", + "regexpp": "^3.2.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.29.0.tgz", + "integrity": "sha512-ruKWTv+x0OOxbzIw9nW5oWlUopvP/IQDjB5ZqmTglLIoDTctLlAJpAQFpNPJP/ZI7hTT9sARBosEfaKbcFuECw==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.29.0", + "@typescript-eslint/types": "5.29.0", + "@typescript-eslint/typescript-estree": "5.29.0", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.29.0.tgz", + "integrity": "sha512-etbXUT0FygFi2ihcxDZjz21LtC+Eps9V2xVx09zFoN44RRHPrkMflidGMI+2dUs821zR1tDS6Oc9IXxIjOUZwA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.29.0", + "@typescript-eslint/visitor-keys": "5.29.0" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.29.0.tgz", + "integrity": "sha512-JK6bAaaiJozbox3K220VRfCzLa9n0ib/J+FHIwnaV3Enw/TO267qe0pM1b1QrrEuy6xun374XEAsRlA86JJnyg==", + "dev": true, + "requires": { + "@typescript-eslint/utils": "5.29.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.29.0.tgz", + "integrity": "sha512-X99VbqvAXOMdVyfFmksMy3u8p8yoRGITgU1joBJPzeYa0rhdf5ok9S56/itRoUSh99fiDoMtarSIJXo7H/SnOg==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.29.0.tgz", + "integrity": "sha512-mQvSUJ/JjGBdvo+1LwC+GY2XmSYjK1nAaVw2emp/E61wEVYEyibRHCqm1I1vEKbXCpUKuW4G7u9ZCaZhJbLoNQ==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.29.0", + "@typescript-eslint/visitor-keys": "5.29.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.29.0.tgz", + "integrity": "sha512-3Eos6uP1nyLOBayc/VUdKZikV90HahXE5Dx9L5YlSd/7ylQPXhLk1BYb29SDgnBnTp+jmSZUU0QxUiyHgW4p7A==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "@typescript-eslint/scope-manager": "5.29.0", + "@typescript-eslint/types": "5.29.0", + "@typescript-eslint/typescript-estree": "5.29.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.29.0.tgz", + "integrity": "sha512-Hpb/mCWsjILvikMQoZIE3voc9wtQcS0A9FUw3h8bhr9UxBdtI/tw1ZDZUOXHXLOVMedKCH5NxyzATwnU78bWCQ==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.29.0", + "eslint-visitor-keys": "^3.3.0" + } + }, + "ansi-escapes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "integrity": "sha512-wiXutNjDUlNEDWHcYH3jtZUhd3c4/VojassD8zHdHCY13xbZy2XbW+NKQwA0tWGBVzDA9qEzYwfoSsWmviidhw==" + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==" + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "babel-polyfill": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.23.0.tgz", + "integrity": "sha512-0l7mVU+LrQ2X/ZTUq63T5i3VyR2aTgcRTFmBcD6djQ/Fek6q1A9t5u0F4jZVYHzp78jwWAzGfLpAY1b4/I3lfg==", + "requires": { + "babel-runtime": "^6.22.0", + "core-js": "^2.4.0", + "regenerator-runtime": "^0.10.0" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + } + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha512-j/Toj7f1z98Hh2cYo2BVr85EpIRWqUi7rtRSGxh/cqUjqrnJe9l9UE7IUGd2vQ2p+kSHLkSzObQPZPLUC6TQwg==" + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-width": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==" + }, + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true + }, + "copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "dev": true, + "requires": { + "is-what": "^3.14.1" + } + }, + "core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" + }, + "css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + } + }, + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "requires": { + "css-tree": "^1.1.2" + } + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "requires": { + "iconv-lite": "^0.6.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "optional": true, + "requires": { + "prr": "~1.0.1" + } + }, + "esbuild": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.3.tgz", + "integrity": "sha512-9n3AsBRe6sIyOc6kmoXg2ypCLgf3eZSraWFRpnkto+svt8cZNuKTkb1bhQcitBcvIqjNiK7K0J3KPmwGSfkA8g==", + "dev": true, + "requires": { + "@esbuild/android-arm": "0.17.3", + "@esbuild/android-arm64": "0.17.3", + "@esbuild/android-x64": "0.17.3", + "@esbuild/darwin-arm64": "0.17.3", + "@esbuild/darwin-x64": "0.17.3", + "@esbuild/freebsd-arm64": "0.17.3", + "@esbuild/freebsd-x64": "0.17.3", + "@esbuild/linux-arm": "0.17.3", + "@esbuild/linux-arm64": "0.17.3", + "@esbuild/linux-ia32": "0.17.3", + "@esbuild/linux-loong64": "0.17.3", + "@esbuild/linux-mips64el": "0.17.3", + "@esbuild/linux-ppc64": "0.17.3", + "@esbuild/linux-riscv64": "0.17.3", + "@esbuild/linux-s390x": "0.17.3", + "@esbuild/linux-x64": "0.17.3", + "@esbuild/netbsd-x64": "0.17.3", + "@esbuild/openbsd-x64": "0.17.3", + "@esbuild/sunos-x64": "0.17.3", + "@esbuild/win32-arm64": "0.17.3", + "@esbuild/win32-ia32": "0.17.3", + "@esbuild/win32-x64": "0.17.3" + } + }, + "esbuild-plugin-less": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/esbuild-plugin-less/-/esbuild-plugin-less-1.2.4.tgz", + "integrity": "sha512-5STq0iouqQ8FIC3d1VAT86Q21QNAprxUgblTuPmxkFD9j2iZQYw1yq317QKbBHnTUni4Fs/15a53k5RFfFfCbg==", + "dev": true, + "requires": { + "@types/less": "^3.0.3", + "less": "^4.2.0" + } + }, + "esbuild-plugin-svg": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/esbuild-plugin-svg/-/esbuild-plugin-svg-0.1.0.tgz", + "integrity": "sha512-/9ZhvIpl+Ovl6glVK3BedvIwrOwSQnECw4Fy6ZwysWib3Ns7UkX6WNGjMOWtvQ1Cnm0uc7sptiKGm0BthKCAJA==", + "dev": true, + "requires": { + "svgo": "^2.2.2" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^2.0.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "external-editor": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", + "requires": { + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" + } + }, + "fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "optional": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true + }, + "image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "dev": true, + "optional": true + }, + "inquirer": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.0.6.tgz", + "integrity": "sha512-thluxTGBXUGb8DuQcvH9/CM/CrcGyB5xUpWc9x6Slqcq1z/hRr2a6KxUpX4ddRfmbe0hg3E4jTvo5833aWz3BA==", + "requires": { + "ansi-escapes": "^1.1.0", + "chalk": "^1.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.0.1", + "figures": "^2.0.0", + "lodash": "^4.3.0", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rx": "^4.1.0", + "string-width": "^2.0.0", + "strip-ansi": "^3.0.0", + "through": "^2.3.6" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" + }, + "is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", + "dev": true + }, + "jquery": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.0.tgz", + "integrity": "sha512-umpJ0/k8X0MvD1ds0P9SfowREz2LenHsQaxSohMZ5OMNEU2r0tf8pdeEFTHMFxWVxKNyU9rTtK3CWzUCTKJUeQ==" + }, + "less": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/less/-/less-4.2.0.tgz", + "integrity": "sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==", + "dev": true, + "requires": { + "copy-anything": "^2.0.1", + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^3.1.0", + "parse-node-version": "^1.0.1", + "source-map": "~0.6.0", + "tslib": "^2.3.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "optional": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "optional": true + } + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "optional": true + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha512-7Wl+Jz+IGWuSdgsQEJ4JunV0si/iMhg42MnQQG6h1R6TNeVenp4U9x5CC5v/gYqz/fENLQITAWXidNtVL0NNbw==" + }, + "moment": { + "version": "2.29.4", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", + "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==" + }, + "needle": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.2.0.tgz", + "integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==", + "dev": true, + "optional": true, + "requires": { + "debug": "^3.2.6", + "iconv-lite": "^0.6.3", + "sax": "^1.2.4" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, + "node-fetch": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.6.3.tgz", + "integrity": "sha512-BDxbhLHXFFFvilHjh9xihcDyPkXQ+kjblxnl82zAX41xUYSNvuRpFRznmldR9+OKu+p+ULZ7hNoyunlLB5ecUA==", + "requires": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + }, + "obsidian": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/obsidian/-/obsidian-1.4.0.tgz", + "integrity": "sha512-fsZMPlxgflGSBSP6P4BjQi5+0MqZl3h6FEDEZ3CNnweNdDw0doyqN3FMO/PGWfuxPT77WicVwUxekuI3e6eCGg==", + "dev": true, + "requires": { + "@types/codemirror": "5.60.8", + "moment": "2.29.4" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "opencollective": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/opencollective/-/opencollective-1.0.3.tgz", + "integrity": "sha512-YBRI0Qa8+Ui0/STV1qYuPrJm889PT3oCPHMVoL+8Y3nwCffj7PSrB2NlGgrhgBKDujxTjxknHWJ/FiqOsYcIDw==", + "requires": { + "babel-polyfill": "6.23.0", + "chalk": "1.1.3", + "inquirer": "3.0.6", + "minimist": "1.2.0", + "node-fetch": "1.6.3", + "opn": "4.0.2" + } + }, + "opencollective-postinstall": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", + "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==" + }, + "opn": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/opn/-/opn-4.0.2.tgz", + "integrity": "sha512-iPBWbPP4OEOzR1xfhpGLDh+ypKBOygunZhM9jBtA7FS5sKjEiMZw0EFb82hnDOmTZX90ZWLoZKUza4cVt8MexA==", + "requires": { + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==" + }, + "parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "optional": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==" + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "requires": { + "pinkie": "^2.0.0" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true, + "optional": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "integrity": "sha512-02YopEIhAgiBHWeoTiA8aitHDt8z6w+rQqNuIftlM+ZtvSl/brTouaU7DW6GO/cHtvxJvS4Hwv2ibKdxIRi24w==" + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "rx": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", + "integrity": "sha512-CiaiuN6gapkdl+cZUr67W6I8jquN4lkak3vtIsIWCl4XIPP8ffsoyN6/+PuGXnQy8Cu8W2y9Xxh31Rq4M6wUug==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true, + "optional": true + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==" + }, + "svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dev": true, + "requires": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "typescript": { + "version": "4.7.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", + "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", + "dev": true + }, + "x-data-spreadsheet": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/x-data-spreadsheet/-/x-data-spreadsheet-1.1.9.tgz", + "integrity": "sha512-wk7knDBYdHjtWiHUVQryZMy00dsGNCF+6wMb5ykwEFcAtBYkYZakJCOCHpEo8onC0Lb/q2gIynWpbQxA4qakyg==", + "requires": { + "opencollective": "^1.0.3", + "opencollective-postinstall": "^2.0.2" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } +} diff --git a/package.json b/package.json index 6a00766..0b8f5db 100644 --- a/package.json +++ b/package.json @@ -17,8 +17,13 @@ "@typescript-eslint/parser": "5.29.0", "builtin-modules": "3.3.0", "esbuild": "0.17.3", + "esbuild-plugin-less": "^1.2.4", + "esbuild-plugin-svg": "^0.1.0", "obsidian": "latest", "tslib": "2.4.0", "typescript": "4.7.4" + }, + "dependencies": { + "x-data-spreadsheet": "^1.1.9" } } diff --git a/src/ExcelView.ts b/src/ExcelView.ts new file mode 100644 index 0000000..0450244 --- /dev/null +++ b/src/ExcelView.ts @@ -0,0 +1,60 @@ +import ExcelPlugin from "main"; +import { TextFileView, WorkspaceLeaf } from "obsidian"; +import Spreadsheet from "x-data-spreadsheet"; + +export const VIEW_TYPE_EXCEL = "excel-view"; + +export class ExcelView extends TextFileView { + public plugin: ExcelPlugin; + public ownerWindow: Window; + public ownerDocument: Document; + public sheet: any; + + constructor(leaf: WorkspaceLeaf, plugin: ExcelPlugin) { + super(leaf); + this.plugin = plugin; + } + + getViewData(): string { + return this.data; + } + + setViewData(data: string, clear: boolean): void { + this.data = data; + + this.containerEl.empty(); + this.containerEl.createDiv({ + attr: { + id: "x-spreadsheet" + // class: "sheet-box" + }, + }); + + console.log(this.ownerWindow, this.data); + const jsonData = JSON.parse(this.data || "{}") || {} + //@ts-ignore + this.sheet = new Spreadsheet("#x-spreadsheet") + .loadData(jsonData) // load data + .change(data => { + // save data to db + this.data = JSON.stringify(data); + }); + + this.sheet.validate() + } + + onload(): void { + const apiMissing = Boolean( + typeof this.containerEl.onWindowMigrated === "undefined" + ); + this.ownerWindow = this.containerEl.win; + } + + clear(): void { + this.data = ""; + } + + getViewType(): string { + return VIEW_TYPE_EXCEL; + } +} diff --git a/styles.css b/styles.css index 71cc60f..eddb9e3 100644 --- a/styles.css +++ b/styles.css @@ -1,8 +1,1067 @@ -/* - -This CSS file will be included with your plugin, and -available in the app when your plugin is enabled. - -If your plugin does not need CSS, delete this file. - -*/ +/* node_modules/x-data-spreadsheet/src/index.less */ +body { + margin: 0; + } + .x-spreadsheet { + font-size: 13px; + line-height: normal; + user-select: none; + -moz-user-select: none; + font-family: + "Lato", + "Source Sans Pro", + Roboto, + Helvetica, + Arial, + sans-serif; + box-sizing: content-box; + background: #fff; + -webkit-font-smoothing: antialiased; + } + .x-spreadsheet textarea { + font: + 400 13px Arial, + "Lato", + "Source Sans Pro", + Roboto, + Helvetica, + sans-serif; + } + .x-spreadsheet-sheet { + position: relative; + overflow: hidden; + } + .x-spreadsheet-table { + vertical-align: bottom; + } + .x-spreadsheet-tooltip { + font-family: inherit; + position: absolute; + padding: 5px 10px; + color: #fff; + border-radius: 1px; + background: #000000; + font-size: 12px; + z-index: 201; + } + .x-spreadsheet-tooltip:before { + pointer-events: none; + position: absolute; + left: calc(50% - 4px); + top: -4px; + content: ""; + width: 8px; + height: 8px; + background: inherit; + -webkit-transform: rotate(45deg); + transform: rotate(45deg); + z-index: 1; + box-shadow: 1px 1px 3px -1px rgba(0, 0, 0, 0.3); + } + .x-spreadsheet-color-palette { + padding: 5px; + } + .x-spreadsheet-color-palette table { + margin: 0; + padding: 0; + border-collapse: separate; + border-spacing: 2; + background: #fff; + } + .x-spreadsheet-color-palette table td { + margin: 0; + cursor: pointer; + border: 1px solid transparent; + } + .x-spreadsheet-color-palette table td:hover { + border-color: #ddd; + } + .x-spreadsheet-color-palette table td .x-spreadsheet-color-palette-cell { + width: 16px; + height: 16px; + } + .x-spreadsheet-border-palette { + padding: 6px; + } + .x-spreadsheet-border-palette table { + margin: 0; + padding: 0; + border-collapse: separate; + border-spacing: 0; + background: #fff; + table-layout: fixed; + } + .x-spreadsheet-border-palette table td { + margin: 0; + } + .x-spreadsheet-border-palette .x-spreadsheet-border-palette-left { + border-right: 1px solid #eee; + padding-right: 6px; + } + .x-spreadsheet-border-palette .x-spreadsheet-border-palette-left .x-spreadsheet-border-palette-cell { + width: 30px; + height: 30px; + cursor: pointer; + text-align: center; + } + .x-spreadsheet-border-palette .x-spreadsheet-border-palette-left .x-spreadsheet-border-palette-cell .x-spreadsheet-icon-img { + opacity: 0.8; + } + .x-spreadsheet-border-palette .x-spreadsheet-border-palette-left .x-spreadsheet-border-palette-cell:hover { + background-color: #eee; + } + .x-spreadsheet-border-palette .x-spreadsheet-border-palette-right { + padding-left: 6px; + } + .x-spreadsheet-border-palette .x-spreadsheet-border-palette-right .x-spreadsheet-toolbar-btn { + margin-top: 0; + margin-bottom: 3px; + } + .x-spreadsheet-border-palette .x-spreadsheet-border-palette-right .x-spreadsheet-line-type { + position: relative; + left: 0; + top: -3px; + } + .x-spreadsheet-dropdown { + position: relative; + } + .x-spreadsheet-dropdown .x-spreadsheet-dropdown-content { + position: absolute; + z-index: 200; + background: #fff; + box-shadow: 1px 2px 5px 2px rgba(51, 51, 51, 0.15); + } + .x-spreadsheet-dropdown.bottom-left .x-spreadsheet-dropdown-content { + top: calc(100% + 5px); + left: 0; + } + .x-spreadsheet-dropdown.bottom-right .x-spreadsheet-dropdown-content { + top: calc(100% + 5px); + right: 0; + } + .x-spreadsheet-dropdown.top-left .x-spreadsheet-dropdown-content { + bottom: calc(100% + 5px); + left: 0; + } + .x-spreadsheet-dropdown.top-right .x-spreadsheet-dropdown-content { + bottom: calc(100% + 5px); + right: 0; + } + .x-spreadsheet-dropdown .x-spreadsheet-dropdown-title { + padding: 0 5px; + display: inline-block; + } + .x-spreadsheet-dropdown .x-spreadsheet-dropdown-header .x-spreadsheet-icon.arrow-left { + margin-left: 4px; + } + .x-spreadsheet-dropdown .x-spreadsheet-dropdown-header .x-spreadsheet-icon.arrow-right { + width: 10px; + margin-right: 4px; + } + .x-spreadsheet-dropdown .x-spreadsheet-dropdown-header .x-spreadsheet-icon.arrow-right .arrow-down { + left: -130px; + } + .x-spreadsheet-resizer { + position: absolute; + z-index: 11; + } + .x-spreadsheet-resizer .x-spreadsheet-resizer-hover { + background-color: rgba(75, 137, 255, 0.25); + } + .x-spreadsheet-resizer .x-spreadsheet-resizer-line { + position: absolute; + } + .x-spreadsheet-resizer.horizontal { + cursor: row-resize; + } + .x-spreadsheet-resizer.horizontal .x-spreadsheet-resizer-line { + border-bottom: 2px dashed #4b89ff; + left: 0; + bottom: 0; + } + .x-spreadsheet-resizer.vertical { + cursor: col-resize; + } + .x-spreadsheet-resizer.vertical .x-spreadsheet-resizer-line { + border-right: 2px dashed #4b89ff; + top: 0; + right: 0; + } + .x-spreadsheet-scrollbar { + position: absolute; + bottom: 0; + right: 0; + background-color: #f4f5f8; + opacity: 0.9; + z-index: 12; + } + .x-spreadsheet-scrollbar.horizontal { + right: 15px; + overflow-x: scroll; + overflow-y: hidden; + } + .x-spreadsheet-scrollbar.horizontal > div { + height: 1px; + background: #ddd; + } + .x-spreadsheet-scrollbar.vertical { + bottom: 15px; + overflow-x: hidden; + overflow-y: scroll; + } + .x-spreadsheet-scrollbar.vertical > div { + width: 1px; + background: #ddd; + } + .x-spreadsheet-overlayer { + position: absolute; + left: 0; + top: 0; + z-index: 10; + } + .x-spreadsheet-overlayer .x-spreadsheet-overlayer-content { + position: absolute; + overflow: hidden; + pointer-events: none; + width: 100%; + height: 100%; + } + .x-spreadsheet-editor, + .x-spreadsheet-selector { + box-sizing: content-box; + position: absolute; + overflow: hidden; + pointer-events: none; + top: 0; + left: 0; + width: 100%; + height: 100%; + } + .x-spreadsheet-selector .hide-input { + position: absolute; + z-index: 0; + } + .x-spreadsheet-selector .hide-input input { + padding: 0; + width: 0; + border: none !important; + } + .x-spreadsheet-selector .x-spreadsheet-selector-area { + position: absolute; + border: 2px solid #4b89ff; + background: rgba(75, 137, 255, 0.1); + z-index: 5; + } + .x-spreadsheet-selector .x-spreadsheet-selector-clipboard, + .x-spreadsheet-selector .x-spreadsheet-selector-autofill { + position: absolute; + background: transparent; + z-index: 100; + } + .x-spreadsheet-selector .x-spreadsheet-selector-clipboard { + border: 2px dashed #4b89ff; + } + .x-spreadsheet-selector .x-spreadsheet-selector-autofill { + border: 1px dashed rgba(0, 0, 0, 0.45); + } + .x-spreadsheet-selector .x-spreadsheet-selector-corner { + pointer-events: auto; + position: absolute; + cursor: crosshair; + font-size: 0; + height: 5px; + width: 5px; + right: -5px; + bottom: -5px; + border: 2px solid #ffffff; + background: #4b89ff; + } + .x-spreadsheet-editor { + z-index: 20; + } + .x-spreadsheet-editor .x-spreadsheet-editor-area { + position: absolute; + text-align: left; + border: 2px solid #4b89ff; + line-height: 0; + z-index: 100; + pointer-events: auto; + } + .x-spreadsheet-editor .x-spreadsheet-editor-area textarea { + box-sizing: content-box; + border: none; + padding: 0 3px; + outline: none; + resize: none; + text-align: start; + overflow-y: hidden; + font: + 400 13px Arial, + "Lato", + "Source Sans Pro", + Roboto, + Helvetica, + sans-serif; + color: inherit; + white-space: normal; + word-wrap: break-word; + line-height: 22px; + margin: 0; + } + .x-spreadsheet-editor .x-spreadsheet-editor-area .textline { + overflow: hidden; + visibility: hidden; + position: fixed; + top: 0; + left: 0; + } + .x-spreadsheet-item { + user-select: none; + background: 0; + border: 1px solid transparent; + outline: none; + height: 26px; + color: rgba(0, 0, 0, 0.9); + line-height: 26px; + list-style: none; + padding: 2px 10px; + cursor: default; + text-align: left; + overflow: hidden; + } + .x-spreadsheet-item.disabled { + pointer-events: none; + opacity: 0.5; + } + .x-spreadsheet-item:hover, + .x-spreadsheet-item.active { + background: rgba(0, 0, 0, 0.05); + } + .x-spreadsheet-item.divider { + height: 0; + padding: 0; + margin: 5px 0; + border: none; + border-bottom: 1px solid rgba(0, 0, 0, 0.1); + } + .x-spreadsheet-item .label { + float: right; + opacity: 0.65; + font-size: 1em; + } + .x-spreadsheet-item.state, + .x-spreadsheet-header.state { + padding-left: 35px !important; + position: relative; + } + .x-spreadsheet-item.state:before, + .x-spreadsheet-header.state:before { + content: ""; + position: absolute; + width: 10px; + height: 10px; + left: 12px; + top: calc(50% - 5px); + background: rgba(0, 0, 0, 0.08); + border-radius: 2px; + } + .x-spreadsheet-item.state.checked:before, + .x-spreadsheet-header.state.checked:before { + background: #4b89ff; + } + .x-spreadsheet-checkbox { + position: relative; + display: inline-block; + backface-visibility: hidden; + outline: 0; + vertical-align: baseline; + font-style: normal; + font-size: 1rem; + line-height: 1em; + } + .x-spreadsheet-checkbox > input { + position: absolute; + top: 0; + left: 0; + opacity: 0 !important; + outline: 0; + z-index: -1; + } + .x-spreadsheet-suggest, + .x-spreadsheet-contextmenu, + .x-spreadsheet-sort-filter { + position: absolute; + box-shadow: 1px 2px 5px 2px rgba(51, 51, 51, 0.15); + background: #fff; + z-index: 100; + width: 260px; + pointer-events: auto; + overflow: auto; + } + .x-spreadsheet-suggest { + width: 200px; + } + .x-spreadsheet-filter { + border: 1px solid #e9e9e9; + font-size: 12px; + margin: 10px; + } + .x-spreadsheet-filter .x-spreadsheet-header { + padding: 0.5em 0.75em; + background: #f8f8f9; + border-bottom: 1px solid #e9e9e9; + border-left: 1px solid transparent; + } + .x-spreadsheet-filter .x-spreadsheet-body { + height: 200px; + overflow-y: auto; + } + .x-spreadsheet-filter .x-spreadsheet-body .x-spreadsheet-item { + height: 20px; + line-height: 20px; + } + .x-spreadsheet-sort-filter .x-spreadsheet-buttons { + margin: 10px; + } + .x-spreadsheet-toolbar, + .x-spreadsheet-bottombar { + height: 40px; + padding: 0 30px; + text-align: left; + background: #f5f6f7; + display: flex; + } + .x-spreadsheet-bottombar { + position: relative; + border-top: 1px solid #e0e2e4; + } + .x-spreadsheet-bottombar .x-spreadsheet-menu > li { + line-height: 40px; + height: 40px; + padding-top: 0; + padding-bottom: 0; + vertical-align: middle; + border-right: 1px solid #e8eaed; + } + .x-spreadsheet-menu { + list-style: none; + margin: 0; + padding: 0; + user-select: none; + } + .x-spreadsheet-menu > li { + float: left; + line-height: 1.25em; + padding: 0.785em 1em; + margin: 0; + vertical-align: middle; + text-align: left; + font-weight: 400; + color: #80868b; + white-space: nowrap; + cursor: pointer; + transition: all 0.3s; + font-weight: bold; + } + .x-spreadsheet-menu > li.active { + background-color: #fff; + color: rgba(0, 0, 0, 0.65); + } + .x-spreadsheet-menu > li .x-spreadsheet-icon { + margin: 0 6px; + } + .x-spreadsheet-menu > li .x-spreadsheet-icon .x-spreadsheet-icon-img:hover { + opacity: 0.85; + } + .x-spreadsheet-menu > li .x-spreadsheet-dropdown { + display: inline-block; + } + .x-spreadsheet-toolbar { + border-bottom: 1px solid #e0e2e4; + } + .x-spreadsheet-toolbar .x-spreadsheet-toolbar-btns { + display: inline-flex; + } + .x-spreadsheet-toolbar .x-spreadsheet-toolbar-more { + padding: 0 6px 6px; + text-align: left; + } + .x-spreadsheet-toolbar .x-spreadsheet-toolbar-more .x-spreadsheet-toolbar-divider { + margin-top: 0; + } + .x-spreadsheet-toolbar .x-spreadsheet-toolbar-btn { + flex: 0 0 auto; + display: inline-block; + border: 1px solid transparent; + height: 26px; + line-height: 26px; + min-width: 26px; + margin: 6px 1px 0; + padding: 0; + text-align: center; + border-radius: 2px; + } + .x-spreadsheet-toolbar .x-spreadsheet-toolbar-btn.disabled { + pointer-events: none; + opacity: 0.5; + } + .x-spreadsheet-toolbar .x-spreadsheet-toolbar-btn:hover, + .x-spreadsheet-toolbar .x-spreadsheet-toolbar-btn.active { + background: rgba(0, 0, 0, 0.08); + } + .x-spreadsheet-toolbar-divider { + display: inline-block; + border-right: 1px solid #e0e2e4; + width: 0; + vertical-align: middle; + height: 18px; + margin: 12px 3px 0; + } + .x-spreadsheet-print { + position: absolute; + left: 0; + top: 0; + z-index: 100; + width: 100%; + height: 100%; + display: flex; + flex-direction: column; + } + .x-spreadsheet-print-bar { + background: #424242; + height: 60px; + line-height: 60px; + padding: 0 30px; + } + .x-spreadsheet-print-bar .-title { + color: #fff; + font-weight: bold; + font-size: 1.2em; + float: left; + } + .x-spreadsheet-print-bar .-right { + float: right; + margin-top: 12px; + } + .x-spreadsheet-print-content { + display: flex; + flex: auto; + flex-direction: row; + background: #d0d0d0; + height: calc(100% - 60px); + } + .x-spreadsheet-print-content .-sider { + flex: 0 0 300px; + width: 300px; + border-left: 2px solid #ccc; + background: #fff; + } + .x-spreadsheet-print-content .-content { + flex: auto; + overflow-x: auto; + overflow-y: scroll; + height: 100%; + } + .x-spreadsheet-canvas-card-wraper { + margin: 40px 20px; + } + .x-spreadsheet-canvas-card { + background: #fff; + margin: auto; + page-break-before: auto; + page-break-after: always; + box-shadow: + 0 8px 10px 1px rgba(0, 0, 0, 0.14), + 0 3px 14px 3px rgba(0, 0, 0, 0.12), + 0 4px 5px 0 rgba(0, 0, 0, 0.2); + } + .x-spreadsheet-calendar { + color: rgba(0, 0, 0, 0.65); + background: #ffffff; + user-select: none; + } + .x-spreadsheet-calendar .calendar-header { + font-weight: 700; + line-height: 30px; + text-align: center; + width: 100%; + float: left; + background: #f9fafb; + } + .x-spreadsheet-calendar .calendar-header .calendar-header-left { + padding-left: 5px; + float: left; + } + .x-spreadsheet-calendar .calendar-header .calendar-header-right { + float: right; + } + .x-spreadsheet-calendar .calendar-header .calendar-header-right a { + padding: 3px 0; + margin-right: 2px; + border-radius: 2px; + } + .x-spreadsheet-calendar .calendar-header .calendar-header-right a:hover { + background: rgba(0, 0, 0, 0.08); + } + .x-spreadsheet-calendar .calendar-body { + border-collapse: collapse; + border-spacing: 0; + } + .x-spreadsheet-calendar .calendar-body th, + .x-spreadsheet-calendar .calendar-body td { + width: 100%/7; + min-width: 32px; + text-align: center; + font-weight: 700; + line-height: 30px; + padding: 0; + } + .x-spreadsheet-calendar .calendar-body td > .cell:hover { + background: #ecf6fd; + } + .x-spreadsheet-calendar .calendar-body td > .cell.active, + .x-spreadsheet-calendar .calendar-body td > .cell.active:hover { + background: #ecf6fd; + color: #2185D0; + } + .x-spreadsheet-calendar .calendar-body td > .cell.disabled { + pointer-events: none; + opacity: 0.5; + } + .x-spreadsheet-datepicker { + box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2); + position: absolute; + left: 0; + top: calc(100% + 5px); + z-index: 10; + width: auto; + } + .x-spreadsheet-buttons { + display: flex; + justify-content: flex-end; + } + .x-spreadsheet-buttons .x-spreadsheet-button { + margin-left: 8px; + } + .x-spreadsheet-button { + display: inline-block; + border-radius: 3px; + line-height: 1em; + min-height: 1em; + white-space: nowrap; + text-align: center; + cursor: pointer; + font-size: 1em; + font-weight: 700; + padding: 0.75em 1em; + color: rgba(0, 0, 0, 0.6); + background: #E0E1E2; + text-decoration: none; + font-family: + "Lato", + "proxima-nova", + "Helvetica Neue", + Arial, + sans-serif; + outline: none; + vertical-align: baseline; + zoom: 1; + user-select: none; + transition: all 0.1s linear; + } + .x-spreadsheet-button.active, + .x-spreadsheet-button:hover { + background-color: #C0C1C2; + color: rgba(0, 0, 0, 0.8); + } + .x-spreadsheet-button.primary { + color: #fff; + background-color: #2185D0; + } + .x-spreadsheet-button.primary:hover, + .x-spreadsheet-button.primary.active { + color: #fff; + background-color: #1678c2; + } + .x-spreadsheet-form-input { + font-size: 1em; + position: relative; + font-weight: 400; + display: inline-flex; + color: rgba(0, 0, 0, 0.87); + } + .x-spreadsheet-form-input input { + z-index: 1; + margin: 0; + max-width: 100%; + flex: 1 0 auto; + outline: 0; + -webkit-tap-highlight-color: rgba(255, 255, 255, 0); + text-align: left; + line-height: 30px; + height: 30px; + padding: 0 8px; + background: #fff; + border: 1px solid #e9e9e9; + border-radius: 3px; + transition: box-shadow 0.1s ease, border-color 0.1s ease; + box-shadow: inset 0 1px 2px hsla(0, 0%, 4%, 0.06); + } + .x-spreadsheet-form-input input:focus { + border-color: #4b89ff; + box-shadow: inset 0 1px 2px rgba(75, 137, 255, 0.2); + } + .x-spreadsheet-form-select { + position: relative; + display: inline-block; + background: #fff; + border: 1px solid #e9e9e9; + border-radius: 2px; + cursor: pointer; + color: rgba(0, 0, 0, 0.87); + user-select: none; + box-shadow: inset 0 1px 2px hsla(0, 0%, 4%, 0.06); + } + .x-spreadsheet-form-select .input-text { + text-overflow: ellipsis; + white-space: nowrap; + min-width: 60px; + width: auto; + height: 30px; + line-height: 30px; + padding: 0 8px; + } + .x-spreadsheet-form-fields { + display: flex; + flex-direction: row; + flex-wrap: wrap; + } + .x-spreadsheet-form-fields .x-spreadsheet-form-field { + flex: 0 1 auto; + } + .x-spreadsheet-form-fields .x-spreadsheet-form-field .label { + display: inline-block; + margin: 0 10px 0 0; + } + .x-spreadsheet-form-field { + display: block; + vertical-align: middle; + margin-left: 10px; + margin-bottom: 10px; + } + .x-spreadsheet-form-field:first-child { + margin-left: 0; + } + .x-spreadsheet-form-field.error .x-spreadsheet-form-select, + .x-spreadsheet-form-field.error input { + border-color: #f04134; + } + .x-spreadsheet-form-field .tip { + color: #f04134; + font-size: 0.9em; + } + .x-spreadsheet-dimmer { + display: none; + position: absolute; + top: 0 !important; + left: 0 !important; + width: 100%; + height: 100%; + text-align: center; + vertical-align: middle; + background-color: rgba(0, 0, 0, 0.6); + opacity: 0; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; + -webkit-animation-duration: 0.5s; + animation-duration: 0.5s; + transition: background-color 0.5s linear; + user-select: none; + z-index: 1000; + } + .x-spreadsheet-dimmer.active { + display: block; + opacity: 1; + } + form fieldset { + border: none; + } + form fieldset label { + display: block; + margin-bottom: 0.5em; + font-size: 1em; + color: #666; + } + form fieldset select { + font-size: 1.1em; + width: 100%; + background-color: #fff; + border: none; + border-bottom: 2px solid #ddd; + padding: 0.5em 0.85em; + border-radius: 2px; + } + .x-spreadsheet-modal, + .x-spreadsheet-toast { + font-size: 13px; + position: fixed; + z-index: 1001; + text-align: left; + line-height: 1.25em; + min-width: 360px; + color: rgba(0, 0, 0, 0.87); + font-family: + "Lato", + "Source Sans Pro", + Roboto, + Helvetica, + Arial, + sans-serif; + border-radius: 4px; + border: 1px solid rgba(0, 0, 0, 0.1); + background-color: #fff; + background-clip: padding-box; + box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 8px; + } + .x-spreadsheet-toast { + background-color: rgba(255, 255, 255, 0.85); + } + .x-spreadsheet-modal-header, + .x-spreadsheet-toast-header { + font-weight: 600; + background-clip: padding-box; + background-color: rgba(255, 255, 255, 0.85); + border-bottom: 1px solid rgba(0, 0, 0, 0.05); + border-radius: 4px 4px 0 0; + } + .x-spreadsheet-modal-header .x-spreadsheet-icon, + .x-spreadsheet-toast-header .x-spreadsheet-icon { + position: absolute; + right: 0.8em; + top: 0.65em; + border-radius: 18px; + } + .x-spreadsheet-modal-header .x-spreadsheet-icon:hover, + .x-spreadsheet-toast-header .x-spreadsheet-icon:hover { + opacity: 1; + background: rgba(0, 0, 0, 0.08); + } + .x-spreadsheet-toast-header { + color: #F2711C; + } + .x-spreadsheet-modal-header { + border-bottom: 1px solid #e0e2e4; + background: rgba(0, 0, 0, 0.08); + font-size: 1.0785em; + } + .x-spreadsheet-modal-header, + .x-spreadsheet-modal-content, + .x-spreadsheet-toast-header, + .x-spreadsheet-toast-content { + padding: 0.75em 1em; + } + @media screen and (min-width: 320px) and (max-width: 480px) { + .x-spreadsheet-toolbar { + display: none; + } + } + .x-spreadsheet-icon { + width: 18px; + height: 18px; + margin: 1px 1px 2px 1px; + text-align: center; + vertical-align: middle; + user-select: none; + overflow: hidden; + position: relative; + display: inline-block; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img { + background-image: url(data:text/plain;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB4PSIwIiB5PSIwIiB3aWR0aD0iMjYycHgiIGhlaWdodD0iNzJweCIgdmlld0JveD0iMCAwIDI2MiA3MiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTEuNTY1NjM5MSw0LjQzNDM2MDg4IEw5LDcgTDE2LDcgTDE2LDAgTDEzLjA0MTg0MjQsMi45NTgxNTc1OCBDMTEuNTkzNjc4NywxLjczNjM1OTU5IDkuNzIyNjA3NzUsMSA3LjY3OTU1MDgzLDEgQzQuMjIxMjYyNTgsMSAxLjI1NTc1NTk5LDMuMTA5ODQ5MDggMCw2IEwyLDcgQzIuOTM2NTg3NzUsNC42MDk3NDQwNiA1LjEyOTQzNjk3LDMuMDgwMTEyMjkgNy42Nzk1NTA4MywzIEM5LjE0ODgxMjQ3LDMuMDUyODc0NyAxMC40OTk0NzgzLDMuNTc4NjIwNTMgMTEuNTY1NjM5MSw0LjQzNDM2MDg4IFoiIHRyYW5zZm9ybT0ibWF0cml4KC0xIDAgMCAxIDE3IDUpIi8+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxOCwwKSI+PHBhdGggZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTEuNTY1NjM5MSw0LjQzNDM2MDg4IEw5LDcgTDE2LDcgTDE2LDAgTDEzLjA0MTg0MjQsMi45NTgxNTc1OCBDMTEuNTkzNjc4NywxLjczNjM1OTU5IDkuNzIyNjA3NzUsMSA3LjY3OTU1MDgzLDEgQzQuMjIxMjYyNTgsMSAxLjI1NTc1NTk5LDMuMTA5ODQ5MDggMCw2IEwyLDcgQzIuOTM2NTg3NzUsNC42MDk3NDQwNiA1LjEyOTQzNjk3LDMuMDgwMTEyMjkgNy42Nzk1NTA4MywzIEM5LjE0ODgxMjQ3LDMuMDUyODc0NyAxMC40OTk0NzgzLDMuNTc4NjIwNTMgMTEuNTY1NjM5MSw0LjQzNDM2MDg4IFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgNSkiLz4KPC9nPgo8ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM2LDApIj48cGF0aCBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMywxNCBMMywxNCBMMywxMSBMMCwxMSBMMCw2LjAwNTkxOTA1IEMwLDQuODk4MDgwNTUgMC44OTQ1MTM3NTYsNCAxLjk5NDA2MDI4LDQgTDE0LjAwNTkzOTcsNCBDMTUuMTA3MjI4OCw0IDE2LDQuODg2NTU0ODQgMTYsNi4wMDU5MTkwNSBMMTYsMTEgTDEzLDExIEwxMywxNCBaIE01LDkgTDExLDkgTDExLDEyIEw1LDEyIEw1LDkgWiBNMywwIEwxMywwIEwxMywzIEwzLDMgTDMsMCBaIE0xMiw2IEwxNCw2IEwxNCw4IEwxMiw4IEwxMiw2IFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMikiLz4KPC9nPgo8ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDU0LDApIj48cGF0aCBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05LDAgTDEsMCBDMC40NSwwIDAsMC40NSAwLDEgTDAsNCBDMCw0LjU1IDAuNDUsNSAxLDUgTDksNSBDOS41NSw1IDEwLDQuNTUgMTAsNCBMMTAsMyBMMTEsMyBMMTEsNiBMNCw2IEw0LDE0IEw2LDE0IEw2LDggTDEzLDggTDEzLDIgTDEwLDIgTDEwLDEgQzEwLDAuNDUgOS41NSwwIDksMCBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzIDIpIi8+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3MiwwKSI+PHBhdGggZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMC4yNywxLjU1IEw1LjQzLDYuNyBMMywxMiBMNS41LDEyIEw3LjE0LDguNDIgTDExLjczLDEzIEwxMywxMS43MyBMMS41NSwwLjI3IEwwLjI3LDEuNTUgTDAuMjcsMS41NSBaIE0zLjgyLDAgTDUuODIsMiBMNy41OCwyIEw3LjAzLDMuMjEgTDguNzQsNC45MiBMMTAuMDgsMiBMMTQsMiBMMTQsMCBMMy44MiwwIEwzLjgyLDAgWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMiAzKSIvPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOTAsMCkiPjxwYXRoIGZpbGw9IiMwMDAwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTksMy41IEM5LDEuNTcgNy40MywwIDUuNSwwIEwxLjc3NjM1Njg0ZS0xNSwwIEwxLjc3NjM1Njg0ZS0xNSwxMiBMNi4yNSwxMiBDOC4wNCwxMiA5LjUsMTAuNTQgOS41LDguNzUgQzkuNSw3LjQ1IDguNzMsNi4zNCA3LjYzLDUuODIgQzguNDYsNS4yNCA5LDQuMzggOSwzLjUgWiBNNSwyIEM1LjgyOTk5OTkyLDIgNi41LDIuNjcgNi41LDMuNSBDNi41LDQuMzMgNS44Mjk5OTk5Miw1IDUsNSBMMyw1IEwzLDIgTDUsMiBaIE0zLDEwIEwzLDcgTDUuNSw3IEM2LjMyOTk5OTkyLDcgNyw3LjY3IDcsOC41IEM3LDkuMzMgNi4zMjk5OTk5MiwxMCA1LjUsMTAgTDMsMTAgWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNCAzKSIvPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTA4LDApIj48cG9seWdvbiBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHBvaW50cz0iNCAwIDQgMiA2LjU4IDIgMi45MiAxMCAwIDEwIDAgMTIgOCAxMiA4IDEwIDUuNDIgMTAgOS4wOCAyIDEyIDIgMTIgMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMyAzKSIvPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTI2LDApIj48cGF0aCBmaWxsPSIjMDAwMDAwIiBkPSJNNiwxMiBDOC43NiwxMiAxMSw5Ljc2IDExLDcgTDExLDAgTDksMCBMOSw3IEM5LDguNzUwMjk5MTYgNy40OTkxMjgwNywxMCA2LDEwIEM0LjUwMDg3MTkzLDEwIDMsOC43NTgzNzQ4NiAzLDcgTDMsMCBMMSwwIEwxLDcgQzEsOS43NiAzLjI0LDEyIDYsMTIgWiBNMCwxMyBMMCwxNSBMMTIsMTUgTDEyLDEzIEwwLDEzIFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMgMykiLz4KPC9nPgo8ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0NCwwKSI+PHBhdGggZmlsbD0iIzAxMDEwMSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMi44ODc1LDMuMDYgQzIuODg3NSwyLjYwMjUgMi45ODUsMi4xODYyNSAzLjE4Mzc1LDEuODA3NSBDMy4zODI1LDEuNDI4NzUgMy42NiwxLjEwNjI1IDQuMDIsMC44NCBDNC4zOCwwLjU3Mzc1IDQuODAzNzUsMC4zNjc1IDUuMjk4NzUsMC4yMjEyNSBDNS43OTM3NSwwLjA3NSA2LjMzMzc1LDAgNi45MjYyNSwwIEM3LjUzMzc1LDAgOC4wODUsMC4wODI1IDguNTgsMC4yNTEyNSBDOS4wNzUsMC40MiA5LjQ5ODc1LDAuNjUyNSA5Ljg1MTI1LDAuOTU2MjUgQzEwLjIwMzc1LDEuMjU2MjUgMTAuNDczNzUsMS42MTI1IDEwLjY2NSwyLjAyODc1IEMxMC44NTYyNSwyLjQ0MTI1IDEwLjk1LDIuODk1IDEwLjk1LDMuMzg2MjUgTDguNjkyNSwzLjM4NjI1IEM4LjY5MjUsMy4xNTc1IDguNjU1LDIuOTQzNzUgOC41ODM3NSwyLjc0ODc1IEM4LjUxMjUsMi41NSA4LjQsMi4zODEyNSA4LjI1LDIuMjQyNSBDOC4xLDIuMTAzNzUgNy45MTI1LDEuOTkxMjUgNy42ODc1LDEuOTE2MjUgQzcuNDYyNSwxLjgzNzUgNy4xOTYyNSwxLjggNi44ODg3NSwxLjggQzYuNTkyNSwxLjggNi4zMzc1LDEuODMzNzUgNi4xMTYyNSwxLjg5NzUgQzUuODk4NzUsMS45NjEyNSA1LjcxODc1LDIuMDUxMjUgNS41NzYyNSwyLjE2NzUgQzUuNDMzNzUsMi4yODM3NSA1LjMyNSwyLjQxODc1IDUuMjUzNzUsMi41NzI1IEM1LjE4MjUsMi43MjYyNSA1LjE0NSwyLjg5NSA1LjE0NSwzLjA2NzUgQzUuMTQ1LDMuNDI3NSA1LjMyODc1LDMuNzMxMjUgNS42OTYyNSwzLjk3NSBDNS43MTc4MDIwMywzLjk4OTA4MDY2IDUuNzM5NDIwMTIsNC4wMDMxMTcyOCA1Ljc2MTE4MzU3LDQuMDE3MzMzMTUgQzYuMDIzNDI5MjMsNC4xODg2MzE4NSA2LjUsNC41IDcsNSBMNCw1IEM0LDUgMy4yMTM3NSw0LjM3NjI1IDMuMTc2MjUsNC4zMDg3NSBDMi45ODUsMy45NTI1IDIuODg3NSwzLjUzNjI1IDIuODg3NSwzLjA2IFogTTE0LDYgTDAsNiBMMCw4IEw3LjIxODc1LDggQzcuMzUzNzUsOC4wNTI1IDcuNTE4NzUsOC4xMDUgNy42MzEyNSw4LjE1Mzc1IEM3LjkwODc1LDguMjc3NSA4LjEyNjI1LDguNDA4NzUgOC4yODM3NSw4LjUzNjI1IEM4LjQ0MTI1LDguNjY3NSA4LjU0NjI1LDguODEgOC42MDI1LDguOTYgQzguNjU4NzUsOS4xMTM3NSA4LjY4NSw5LjI4NjI1IDguNjg1LDkuNDczNzUgQzguNjg1LDkuNjUgOC42NTEyNSw5LjgxNSA4LjU4Mzc1LDkuOTY1IEM4LjUxNjI1LDEwLjExODc1IDguNDExMjUsMTAuMjUgOC4yNzI1LDEwLjM1ODc1IEM4LjEzMzc1LDEwLjQ2NzUgNy45NTM3NSwxMC41NTM3NSA3Ljc0LDEwLjYxNzUgQzcuNTIyNSwxMC42ODEyNSA3LjI3MTI1LDEwLjcxMTI1IDYuOTc4NzUsMTAuNzExMjUgQzYuNjUyNSwxMC43MTEyNSA2LjM1NjI1LDEwLjY3NzUgNi4wOSwxMC42MTM3NSBDNS44MjM3NSwxMC41NSA1LjU5ODc1LDEwLjQ0NSA1LjQxMTI1LDEwLjMwMjUgQzUuMjIzNzUsMTAuMTYgNS4wNzc1LDkuOTcyNSA0Ljk3MjUsOS43NDM3NSBDNC44Njc1LDkuNTE1IDQuNzgxMjUsOS4xNyA0Ljc4MTI1LDkgTDIuNTUsOSBDMi41NSw5LjI1MjUgMi42MSw5LjY4NzUgMi43MjYyNSwxMC4wMjUgQzIuODQyNSwxMC4zNjI1IDMuMDA3NSwxMC42NjYyNSAzLjIxMzc1LDEwLjkzMjUgQzMuNDIsMTEuMTk4NzUgMy42Njc1LDExLjQyNzUgMy45NDg3NSwxMS42MjI1IEM0LjIzLDExLjgxNzUgNC41MzM3NSwxMS45ODI1IDQuODYzNzUsMTIuMTEgQzUuMTkzNzUsMTIuMjQxMjUgNS41MzUsMTIuMzM4NzUgNS44OTg3NSwxMi4zOTg3NSBDNi4yNTg3NSwxMi40NjI1IDYuNjIyNSwxMi40OTI1IDYuOTgyNSwxMi40OTI1IEM3LjU4MjUsMTIuNDkyNSA4LjEzLDEyLjQyNSA4LjYxNzUsMTIuMjg2MjUgQzkuMTA1LDEyLjE0NzUgOS41MjUsMTEuOTQ4NzUgOS44NywxMS42OTM3NSBDMTAuMjE1LDExLjQzNSAxMC40ODEyNSwxMS4xMiAxMC42NzI1LDEwLjc0MTI1IEMxMC44NjM3NSwxMC4zNjI1IDEwLjk1Mzc1LDkuOTM1IDEwLjk1Mzc1LDkuNDU1IEMxMC45NTM3NSw5LjAwNSAxMC44NzUsOC42IDEwLjcyMTI1LDguMjQzNzUgQzEwLjY4Mzc1LDguMTU3NSAxMC42NDI1LDguMDc1IDEwLjU5Mzc1LDcuOTkyNSBMMTQsOCBMMTQsNiBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyIDMpIi8+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjIsMCkiPjxwYXRoIGZpbGw9IiMwMDAwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTcsMCBMNSwwIEwwLjUsMTIgTDIuNSwxMiBMMy42Miw5IEw4LjM3LDkgTDkuNDksMTIgTDExLjQ5LDEyIEw3LDAgTDcsMCBaIE00LjM4LDcgTDYsMi42NyBMNy42Miw3IEw0LjM4LDcgTDQuMzgsNyBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzIDEpIi8+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxODAsMCkiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICA8cGF0aCBmaWxsPSIjMDAwMDAwIiBkPSJNMTQuNSw4Ljg3IEMxNC41LDguODcgMTMsMTAuNDkgMTMsMTEuNDkgQzEzLDEyLjMyIDEzLjY3LDEyLjk5IDE0LjUsMTIuOTkgQzE1LjMzLDEyLjk5IDE2LDEyLjMyIDE2LDExLjQ5IEMxNiwxMC41IDE0LjUsOC44NyAxNC41LDguODcgTDE0LjUsOC44NyBaIE0xMi43MSw2Ljc5IEw1LjkxLDAgTDQuODUsMS4wNiBMNi40NCwyLjY1IEwyLjI5LDYuNzkgQzEuOSw3LjE4IDEuOSw3LjgxIDIuMjksOC4yIEw2Ljc5LDEyLjcgQzYuOTksMTIuOSA3LjI0LDEzIDcuNSwxMyBDNy43NiwxMyA4LjAxLDEyLjkgOC4yMSwxMi43MSBMMTIuNzEsOC4yMSBDMTMuMSw3LjgyIDEzLjEsNy4xOCAxMi43MSw2Ljc5IEwxMi43MSw2Ljc5IFogTTQuMjEsNyBMNy41LDMuNzEgTDEwLjc5LDcgTDQuMjEsNyBMNC4yMSw3IFoiLz4KICA8L2c+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxOTgsMCkiPjxwYXRoIGZpbGw9IiMwMDAwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTMsNiBMMSw2IEwxLDIgTDgsMiBMOCw0IEwzLDQgTDMsNiBaIE0xMCw0IEwxMCwyIEwxNywyIEwxNyw2IEwxNSw2IEwxNSw0IEwxMCw0IFogTTEwLDE0IEwxNSwxNCBMMTUsMTIgTDE3LDEyIEwxNywxNiBMMTAsMTYgTDEwLDE0IFogTTEsMTIgTDMsMTIgTDMsMTQgTDgsMTQgTDgsMTYgTDEsMTYgTDEsMTIgWiBNMSw4IEw1LDggTDUsNiBMOCw5IEw1LDEyIEw1LDEwIEwxLDEwIEwxLDggWiBNMTAsOSBMMTMsNiBMMTMsOCBMMTcsOCBMMTcsMTAgTDEzLDEwIEwxMywxMiBMMTAsOSBaIi8+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMTYsMCkiPjxwYXRoIGZpbGw9IiMwMDAwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTAsMTQgTDEwLDE0IEwxMCwxMiBMMCwxMiBMMCwxNCBaIE0xMCw0IEwwLDQgTDAsNiBMMTAsNiBMMTAsNCBaIE0wLDAgTDAsMiBMMTQsMiBMMTQsMCBMMCwwIFogTTAsMTAgTDE0LDEwIEwxNCw4IEwwLDggTDAsMTAgWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMiAyKSIvPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjM0LDApIj48cGF0aCBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yLDEyIEwyLDE0IEwxMiwxNCBMMTIsMTIgTDIsMTIgWiBNMiw0IEwyLDYgTDEyLDYgTDEyLDQgTDIsNCBaIE0wLDEwIEwxNCwxMCBMMTQsOCBMMCw4IEwwLDEwIFogTTAsMCBMMCwyIEwxNCwyIEwxNCwwIEwwLDAgWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMiAyKSIvPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwxOCkiPjxwYXRoIGZpbGw9IiMwMDAwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTQsMTQgTDE0LDE0IEwxNCwxMiBMNCwxMiBMNCwxNCBaIE0wLDEwIEwxNCwxMCBMMTQsOCBMMCw4IEwwLDEwIFogTTAsMCBMMCwyIEwxNCwyIEwxNCwwIEwwLDAgWiBNNCw2IEwxNCw2IEwxNCw0IEw0LDQgTDQsNiBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyIDIpIi8+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxOCwxOCkiPjxwYXRoIGZpbGw9IiMwMDAwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTAsMCBMMCwyIEwxMiwyIEwxMiwwIEwwLDAgTDAsMCBaIE0yLjUsNyBMNSw3IEw1LDE0IEw3LDE0IEw3LDcgTDkuNSw3IEw2LDMuNSBMMi41LDcgTDIuNSw3IFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMgMikiLz4KPC9nPgo8ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM2LDE4KSI+PHBhdGggZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNOS41LDMgTDcsMyBMNywwIEw1LDAgTDUsMyBMMi41LDMgTDYsNi41IEw5LjUsMyBMOS41LDMgWiBNMCw4IEwwLDEwIEwxMiwxMCBMMTIsOCBMMCw4IEwwLDggWiBNMi41LDE1IEw1LDE1IEw1LDE4IEw3LDE4IEw3LDE1IEw5LjUsMTUgTDYsMTEuNSBMMi41LDE1IEwyLjUsMTUgWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMykiLz4KPC9nPgo8ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDU0LDE4KSI+PHBhdGggZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNOS41LDcgTDcsNyBMNywwIEw1LDAgTDUsNyBMMi41LDcgTDYsMTAuNSBMOS41LDcgTDkuNSw3IFogTTAsMTIgTDAsMTQgTDEyLDE0IEwxMiwxMiBMMCwxMiBMMCwxMiBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzIDIpIi8+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3MiwxOCkiPjxwYXRoIGZpbGw9IiMwMDAwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTE0LDAgTDAsMCBMMCwyIEwxNCwyIEwxNCwwIFogTTAsMTIgTDQsMTIgTDQsMTAgTDAsMTAgTDAsMTIgWiBNMTEuNSw1IEwwLDUgTDAsNyBMMTEuNzUsNyBDMTIuNTgsNyAxMy4yNSw3LjY3IDEzLjI1LDguNSBDMTMuMjUsOS4zMyAxMi41OCwxMCAxMS43NSwxMCBMOSwxMCBMOSw4IEw2LDExIEw5LDE0IEw5LDEyIEwxMS41LDEyIEMxMy40MywxMiAxNSwxMC40MyAxNSw4LjUgQzE1LDYuNTcgMTMuNDMsNSAxMS41LDUgWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMiAzKSIvPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOTAsMTgpIj48cGF0aCBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wLDAgTDAsMSBMNiw3IEw2LDEyIEw4LDExIEw4LDcgTDE0LDEgTDE0LDAgTDAsMCBaIE00LDMgTDEwLDMgTDcsNiBMNCwzIFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgMykiLz4KPC9nPgo8ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEwOCwxOCkiPjxwb2x5Z29uIGZpbGw9IiMwMDAwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgcG9pbnRzPSIxMCAwIDAgMCAwIDEuOCA1LjUgNyAwIDEyLjIgMCAxNCAxMCAxNCAxMCAxMiAzLjEgMTIgOCA3IDMuMSAyIDEwIDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQgMikiLz4KPC9nPgo8ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyNiwxOCkiPjxwb2x5Z29uIGZpbGw9IiMwMDAwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgcG9pbnRzPSIwIDAgNCA0IDggMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNSA3KSIvPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQ0LDE4KSI+PHBvbHlnb24gZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBwb2ludHM9Ii0yIDIgMiA2IDYgMiIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDggMykiLz4KPC9nPgo8ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE2MiwxOCkiPjxwYXRoIGZpbGw9IiMwMDAwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEuOSw0IEMxLjksMi44NCAyLjg0LDEuOSA0LDEuOSBMOCwxLjkgTDgsMCBMNCwwIEMxLjc5LDAgMCwxLjc5IDAsNCBDMCw2LjIxIDEuNzksOCA0LDggTDgsOCBMOCw2LjEgTDQsNi4xIEMyLjg0LDYuMSAxLjksNS4xNiAxLjksNCBMMS45LDQgWiBNMTQsMCBMMTAsMCBMMTAsMS45IEwxNCwxLjkgQzE1LjE2LDEuOSAxNi4xLDIuODQgMTYuMSw0IEMxNi4xLDUuMTYgMTUuMTYsNi4xIDE0LDYuMSBMMTAsNi4xIEwxMCw4IEwxNCw4IEMxNi4yMSw4IDE4LDYuMjEgMTgsNCBDMTgsMS43OSAxNi4yMSwwIDE0LDAgTDE0LDAgWiBNNiw1IEwxMiw1IEwxMiwzIEw2LDMgTDYsNSBMNiw1IFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgNSkiLz4KPC9nPgo8ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4MCwxOCkiPjxwYXRoIGZpbGw9IiMwMDAwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTE1LDAgQzE1LjU1LDAgMTYsMC40NSAxNiwxIEwxNiwxNSBDMTYsMTUuNTUgMTUuNTUsMTYgMTUsMTYgTDEsMTYgQzAuNDUsMTYgMCwxNS41NSAwLDE1IEwwLDEgQzAsMC40NSAwLjQ1LDAgMSwwIEwxNSwwIFogTTIsMiBMMiwxNCBMMTQsMTQgTDE0LDIgTDIsMiBaIE02LDEyIEw0LDEyIEw0LDcgTDYsNyBMNiwxMiBMNiwxMiBaIE05LDEyIEw3LDEyIEw3LDQgTDksNCBMOSwxMiBMOSwxMiBaIE0xMiwxMiBMMTAsMTIgTDEwLDggTDEyLDggTDEyLDEyIEwxMiwxMiBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxIDEpIi8+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxOTgsMTgpIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgPHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBkPSJNMS41IDMuNUgxNi41VjE1LjVIMS41eiIvPgogICAgPHBhdGggZmlsbD0iIzAwMDAwMCIgZD0iTTYgOEg3VjE1SDZ6Ii8+CiAgICA8cGF0aCBmaWxsPSIjRDhEOEQ4IiBkPSJNMiA0SDE2VjdIMnoiLz4KICAgIDxwYXRoIGZpbGw9IiMwMDAwMDAiIGQ9Ik0yIDdIMTZWOEgyek0yIDExSDE2VjEySDJ6Ii8+CiAgPC9nPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjE2LDE4KSI+PHBhdGggZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMiwwLjUgQzEuMTcsMC41IDAuNSwxLjE3IDAuNSwyIEMwLjUsMi44MyAxLjE3LDMuNSAyLDMuNSBDMi44MywzLjUgMy41LDIuODMgMy41LDIgQzMuNSwxLjE3IDIuODMsMC41IDIsMC41IEwyLDAuNSBaIE0xMiwwLjUgQzExLjE3LDAuNSAxMC41LDEuMTcgMTAuNSwyIEMxMC41LDIuODMgMTEuMTcsMy41IDEyLDMuNSBDMTIuODMsMy41IDEzLjUsMi44MyAxMy41LDIgQzEzLjUsMS4xNyAxMi44MywwLjUgMTIsMC41IEwxMiwwLjUgWiBNNywwLjUgQzYuMTcsMC41IDUuNSwxLjE3IDUuNSwyIEM1LjUsMi44MyA2LjE3LDMuNSA3LDMuNSBDNy44MywzLjUgOC41LDIuODMgOC41LDIgQzguNSwxLjE3IDcuODMsMC41IDcsMC41IEw3LDAuNSBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyIDcpIi8+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMzQsMTgpIj48cGF0aCBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LDQgTDYsMCBMNCwwIEw0LDQgTDAsNCBMMCw2IEw0LDYgTDQsMTAgTDYsMTAgTDYsNiBMMTAsNiBMMTAsNCBMNiw0IFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQgNCkiLz4KPC9nPgo8ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsMzYpIj48cGF0aCBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wLDAgTDAsMTQgTDE0LDE0IEwxNCwwIEwwLDAgTDAsMCBaIE02LDEyIEwyLDEyIEwyLDggTDYsOCBMNiwxMiBMNiwxMiBaIE02LDYgTDIsNiBMMiwyIEw2LDIgTDYsNiBMNiw2IFogTTEyLDEyIEw4LDEyIEw4LDggTDEyLDggTDEyLDEyIEwxMiwxMiBaIE0xMiw2IEw4LDYgTDgsMiBMMTIsMiBMMTIsNiBMMTIsNiBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyIDIpIi8+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxOCwzNikiPgogIDxnIGZpbGw9IiMwMDAwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMiAyKSI+CiAgICA8cGF0aCBkPSJNMCwxNCBMMiwxNCBMMiwxMiBMMCwxMiBMMCwxNCBMMCwxNCBaIE0yLDMgTDAsMyBMMCw1IEwyLDUgTDIsMyBMMiwzIFogTTMsMTQgTDUsMTQgTDUsMTIgTDMsMTIgTDMsMTQgTDMsMTQgWiBNMTEsMCBMOSwwIEw5LDIgTDExLDIgTDExLDAgTDExLDAgWiBNMiwwIEwwLDAgTDAsMiBMMiwyIEwyLDAgTDIsMCBaIE01LDAgTDMsMCBMMywyIEw1LDIgTDUsMCBMNSwwIFogTTAsMTEgTDIsMTEgTDIsOSBMMCw5IEwwLDExIEwwLDExIFogTTksMTQgTDExLDE0IEwxMSwxMiBMOSwxMiBMOSwxNCBMOSwxNCBaIE0xMiwwIEwxMiwyIEwxNCwyIEwxNCwwIEwxMiwwIEwxMiwwIFogTTEyLDUgTDE0LDUgTDE0LDMgTDEyLDMgTDEyLDUgTDEyLDUgWiBNMTIsMTQgTDE0LDE0IEwxNCwxMiBMMTIsMTIgTDEyLDE0IEwxMiwxNCBaIE0xMiwxMSBMMTQsMTEgTDE0LDkgTDEyLDkgTDEyLDExIEwxMiwxMSBaIiBvcGFjaXR5PSIuNTQiLz4KICAgIDxwb2x5Z29uIHBvaW50cz0iOCAwIDYgMCA2IDYgMCA2IDAgOCA2IDggNiAxNCA4IDE0IDggOCAxNCA4IDE0IDYgOCA2Ii8+CiAgPC9nPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzYsMzYpIj4KICA8ZyBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgMikiPgogICAgPHBhdGggZD0iTTYsMTQgTDgsMTQgTDgsMTIgTDYsMTIgTDYsMTQgTDYsMTQgWiBNMywyIEw1LDIgTDUsMCBMMywwIEwzLDIgTDMsMiBaIE02LDExIEw4LDExIEw4LDkgTDYsOSBMNiwxMSBMNiwxMSBaIE0zLDE0IEw1LDE0IEw1LDEyIEwzLDEyIEwzLDE0IEwzLDE0IFogTTAsNSBMMiw1IEwyLDMgTDAsMyBMMCw1IEwwLDUgWiBNMCwxNCBMMiwxNCBMMiwxMiBMMCwxMiBMMCwxNCBMMCwxNCBaIE0wLDIgTDIsMiBMMiwwIEwwLDAgTDAsMiBMMCwyIFogTTAsMTEgTDIsMTEgTDIsOSBMMCw5IEwwLDExIEwwLDExIFogTTEyLDExIEwxNCwxMSBMMTQsOSBMMTIsOSBMMTIsMTEgTDEyLDExIFogTTEyLDE0IEwxNCwxNCBMMTQsMTIgTDEyLDEyIEwxMiwxNCBMMTIsMTQgWiBNMTIsNSBMMTQsNSBMMTQsMyBMMTIsMyBMMTIsNSBMMTIsNSBaIE0xMiwwIEwxMiwyIEwxNCwyIEwxNCwwIEwxMiwwIEwxMiwwIFogTTYsMiBMOCwyIEw4LDAgTDYsMCBMNiwyIEw2LDIgWiBNOSwyIEwxMSwyIEwxMSwwIEw5LDAgTDksMiBMOSwyIFogTTYsNSBMOCw1IEw4LDMgTDYsMyBMNiw1IEw2LDUgWiBNOSwxNCBMMTEsMTQgTDExLDEyIEw5LDEyIEw5LDE0IEw5LDE0IFoiIG9wYWNpdHk9Ii41NCIvPgogICAgPHBvbHlnb24gcG9pbnRzPSIwIDggMTQgOCAxNCA2IDAgNiIvPgogIDwvZz4KPC9nPgo8ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDU0LDM2KSI+CiAgPGcgZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyIDIpIj4KICAgIDxwYXRoIGQ9Ik0zLDE0IEw1LDE0IEw1LDEyIEwzLDEyIEwzLDE0IEwzLDE0IFogTTAsNSBMMiw1IEwyLDMgTDAsMyBMMCw1IEwwLDUgWiBNMCwyIEwyLDIgTDIsMCBMMCwwIEwwLDIgTDAsMiBaIE0zLDggTDUsOCBMNSw2IEwzLDYgTDMsOCBMMyw4IFogTTMsMiBMNSwyIEw1LDAgTDMsMCBMMywyIEwzLDIgWiBNMCwxNCBMMiwxNCBMMiwxMiBMMCwxMiBMMCwxNCBMMCwxNCBaIE0wLDggTDIsOCBMMiw2IEwwLDYgTDAsOCBMMCw4IFogTTAsMTEgTDIsMTEgTDIsOSBMMCw5IEwwLDExIEwwLDExIFogTTEyLDAgTDEyLDIgTDE0LDIgTDE0LDAgTDEyLDAgTDEyLDAgWiBNMTIsOCBMMTQsOCBMMTQsNiBMMTIsNiBMMTIsOCBMMTIsOCBaIE0xMiwxNCBMMTQsMTQgTDE0LDEyIEwxMiwxMiBMMTIsMTQgTDEyLDE0IFogTTEyLDUgTDE0LDUgTDE0LDMgTDEyLDMgTDEyLDUgTDEyLDUgWiBNMTIsMTEgTDE0LDExIEwxNCw5IEwxMiw5IEwxMiwxMSBMMTIsMTEgWiBNOSwxNCBMMTEsMTQgTDExLDEyIEw5LDEyIEw5LDE0IEw5LDE0IFogTTksOCBMMTEsOCBMMTEsNiBMOSw2IEw5LDggTDksOCBaIE05LDIgTDExLDIgTDExLDAgTDksMCBMOSwyIEw5LDIgWiIgb3BhY2l0eT0iLjU0Ii8+CiAgICA8cG9seWdvbiBwb2ludHM9IjYgMTQgOCAxNCA4IDAgNiAwIi8+CiAgPC9nPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNzIsMzYpIj4KICA8ZyBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgMikiPgogICAgPHBhdGggZD0iTTgsMyBMNiwzIEw2LDUgTDgsNSBMOCwzIEw4LDMgWiBNMTEsNiBMOSw2IEw5LDggTDExLDggTDExLDYgTDExLDYgWiBNOCw2IEw2LDYgTDYsOCBMOCw4IEw4LDYgTDgsNiBaIE04LDkgTDYsOSBMNiwxMSBMOCwxMSBMOCw5IEw4LDkgWiBNNSw2IEwzLDYgTDMsOCBMNSw4IEw1LDYgTDUsNiBaIiBvcGFjaXR5PSIuNTQiLz4KICAgIDxwYXRoIGQ9Ik0wLDAgTDE0LDAgTDE0LDE0IEwwLDE0IEwwLDAgWiBNMTIsMTIgTDEyLDIgTDIsMiBMMiwxMiBMMTIsMTIgWiIvPgogIDwvZz4KPC9nPgo8ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkwLDM2KSI+CiAgPGcgZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyIDIpIj4KICAgIDxwYXRoIGQ9Ik02LDggTDgsOCBMOCw2IEw2LDYgTDYsOCBMNiw4IFogTTYsNSBMOCw1IEw4LDMgTDYsMyBMNiw1IEw2LDUgWiBNNiwxMSBMOCwxMSBMOCw5IEw2LDkgTDYsMTEgTDYsMTEgWiBNNiwxNCBMOCwxNCBMOCwxMiBMNiwxMiBMNiwxNCBMNiwxNCBaIE0zLDE0IEw1LDE0IEw1LDEyIEwzLDEyIEwzLDE0IEwzLDE0IFogTTMsMiBMNSwyIEw1LDAgTDMsMCBMMywyIEwzLDIgWiBNMyw4IEw1LDggTDUsNiBMMyw2IEwzLDggTDMsOCBaIE0xMiwxNCBMMTQsMTQgTDE0LDEyIEwxMiwxMiBMMTIsMTQgTDEyLDE0IFogTTEyLDggTDE0LDggTDE0LDYgTDEyLDYgTDEyLDggTDEyLDggWiBNMTIsMTEgTDE0LDExIEwxNCw5IEwxMiw5IEwxMiwxMSBMMTIsMTEgWiBNMTIsNSBMMTQsNSBMMTQsMyBMMTIsMyBMMTIsNSBMMTIsNSBaIE02LDIgTDgsMiBMOCwwIEw2LDAgTDYsMiBMNiwyIFogTTEyLDAgTDEyLDIgTDE0LDIgTDE0LDAgTDEyLDAgTDEyLDAgWiBNOSwxNCBMMTEsMTQgTDExLDEyIEw5LDEyIEw5LDE0IEw5LDE0IFogTTksOCBMMTEsOCBMMTEsNiBMOSw2IEw5LDggTDksOCBaIE05LDIgTDExLDIgTDExLDAgTDksMCBMOSwyIEw5LDIgWiIgb3BhY2l0eT0iLjU0Ii8+CiAgICA8cG9seWdvbiBwb2ludHM9IjAgMTQgMiAxNCAyIDAgMCAwIi8+CiAgPC9nPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTA4LDM2KSI+CiAgPGcgZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyIDIpIj4KICAgIDxwYXRoIGQ9Ik0zLDggTDUsOCBMNSw2IEwzLDYgTDMsOCBMMyw4IFogTTAsMTQgTDIsMTQgTDIsMTIgTDAsMTIgTDAsMTQgTDAsMTQgWiBNNiwxNCBMOCwxNCBMOCwxMiBMNiwxMiBMNiwxNCBMNiwxNCBaIE02LDExIEw4LDExIEw4LDkgTDYsOSBMNiwxMSBMNiwxMSBaIE0zLDE0IEw1LDE0IEw1LDEyIEwzLDEyIEwzLDE0IEwzLDE0IFogTTAsMTEgTDIsMTEgTDIsOSBMMCw5IEwwLDExIEwwLDExIFogTTYsOCBMOCw4IEw4LDYgTDYsNiBMNiw4IEw2LDggWiBNMCw1IEwyLDUgTDIsMyBMMCwzIEwwLDUgTDAsNSBaIE0wLDggTDIsOCBMMiw2IEwwLDYgTDAsOCBMMCw4IFogTTEyLDggTDE0LDggTDE0LDYgTDEyLDYgTDEyLDggTDEyLDggWiBNMTIsMTEgTDE0LDExIEwxNCw5IEwxMiw5IEwxMiwxMSBMMTIsMTEgWiBNMTIsNSBMMTQsNSBMMTQsMyBMMTIsMyBMMTIsNSBMMTIsNSBaIE02LDUgTDgsNSBMOCwzIEw2LDMgTDYsNSBMNiw1IFogTTksMTQgTDExLDE0IEwxMSwxMiBMOSwxMiBMOSwxNCBMOSwxNCBaIE05LDggTDExLDggTDExLDYgTDksNiBMOSw4IEw5LDggWiBNMTIsMTQgTDE0LDE0IEwxNCwxMiBMMTIsMTIgTDEyLDE0IEwxMiwxNCBaIiBvcGFjaXR5PSIuNTQiLz4KICAgIDxwb2x5Z29uIHBvaW50cz0iMCAwIDAgMiAxNCAyIDE0IDAiLz4KICA8L2c+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjYsMzYpIj4KICA8ZyBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgMikiPgogICAgPHBhdGggZD0iTTAsMiBMMiwyIEwyLDAgTDAsMCBMMCwyIEwwLDIgWiBNMywyIEw1LDIgTDUsMCBMMywwIEwzLDIgTDMsMiBaIE0zLDggTDUsOCBMNSw2IEwzLDYgTDMsOCBMMyw4IFogTTMsMTQgTDUsMTQgTDUsMTIgTDMsMTIgTDMsMTQgTDMsMTQgWiBNMCw1IEwyLDUgTDIsMyBMMCwzIEwwLDUgTDAsNSBaIE0wLDggTDIsOCBMMiw2IEwwLDYgTDAsOCBMMCw4IFogTTAsMTQgTDIsMTQgTDIsMTIgTDAsMTIgTDAsMTQgTDAsMTQgWiBNMCwxMSBMMiwxMSBMMiw5IEwwLDkgTDAsMTEgTDAsMTEgWiBNOSw4IEwxMSw4IEwxMSw2IEw5LDYgTDksOCBMOSw4IFogTTYsMTQgTDgsMTQgTDgsMTIgTDYsMTIgTDYsMTQgTDYsMTQgWiBNOSwxNCBMMTEsMTQgTDExLDEyIEw5LDEyIEw5LDE0IEw5LDE0IFogTTYsMiBMOCwyIEw4LDAgTDYsMCBMNiwyIEw2LDIgWiBNOSwyIEwxMSwyIEwxMSwwIEw5LDAgTDksMiBMOSwyIFogTTYsMTEgTDgsMTEgTDgsOSBMNiw5IEw2LDExIEw2LDExIFogTTYsNSBMOCw1IEw4LDMgTDYsMyBMNiw1IEw2LDUgWiBNNiw4IEw4LDggTDgsNiBMNiw2IEw2LDggTDYsOCBaIiBvcGFjaXR5PSIuNTQiLz4KICAgIDxwb2x5Z29uIHBvaW50cz0iMTIgMCAxMiAxNCAxNCAxNCAxNCAwIi8+CiAgPC9nPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQ0LDM2KSI+CiAgPGcgZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyIDIpIj4KICAgIDxwYXRoIGQ9Ik01LDAgTDMsMCBMMywyIEw1LDIgTDUsMCBMNSwwIFogTTgsNiBMNiw2IEw2LDggTDgsOCBMOCw2IEw4LDYgWiBNOCw5IEw2LDkgTDYsMTEgTDgsMTEgTDgsOSBMOCw5IFogTTExLDYgTDksNiBMOSw4IEwxMSw4IEwxMSw2IEwxMSw2IFogTTUsNiBMMyw2IEwzLDggTDUsOCBMNSw2IEw1LDYgWiBNMTEsMCBMOSwwIEw5LDIgTDExLDIgTDExLDAgTDExLDAgWiBNOCwzIEw2LDMgTDYsNSBMOCw1IEw4LDMgTDgsMyBaIE04LDAgTDYsMCBMNiwyIEw4LDIgTDgsMCBMOCwwIFogTTIsOSBMMCw5IEwwLDExIEwyLDExIEwyLDkgTDIsOSBaIE0xMiwxMSBMMTQsMTEgTDE0LDkgTDEyLDkgTDEyLDExIEwxMiwxMSBaIE0xMiw1IEwxNCw1IEwxNCwzIEwxMiwzIEwxMiw1IEwxMiw1IFogTTEyLDggTDE0LDggTDE0LDYgTDEyLDYgTDEyLDggTDEyLDggWiBNMTIsMCBMMTIsMiBMMTQsMiBMMTQsMCBMMTIsMCBMMTIsMCBaIE0yLDAgTDAsMCBMMCwyIEwyLDIgTDIsMCBMMiwwIFogTTIsMyBMMCwzIEwwLDUgTDIsNSBMMiwzIEwyLDMgWiBNMiw2IEwwLDYgTDAsOCBMMiw4IEwyLDYgTDIsNiBaIiBvcGFjaXR5PSIuNTQiLz4KICAgIDxwb2x5Z29uIHBvaW50cz0iMCAxNCAxNCAxNCAxNCAxMiAwIDEyIi8+CiAgPC9nPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTYyLDM2KSI+PHBhdGggZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNiwxNCBMOCwxNCBMOCwxMiBMNiwxMiBMNiwxNCBMNiwxNCBaIE0zLDggTDUsOCBMNSw2IEwzLDYgTDMsOCBMMyw4IFogTTMsMiBMNSwyIEw1LDAgTDMsMCBMMywyIEwzLDIgWiBNNiwxMSBMOCwxMSBMOCw5IEw2LDkgTDYsMTEgTDYsMTEgWiBNMywxNCBMNSwxNCBMNSwxMiBMMywxMiBMMywxNCBMMywxNCBaIE0wLDUgTDIsNSBMMiwzIEwwLDMgTDAsNSBMMCw1IFogTTAsMTQgTDIsMTQgTDIsMTIgTDAsMTIgTDAsMTQgTDAsMTQgWiBNMCwyIEwyLDIgTDIsMCBMMCwwIEwwLDIgTDAsMiBaIE0wLDggTDIsOCBMMiw2IEwwLDYgTDAsOCBMMCw4IFogTTYsOCBMOCw4IEw4LDYgTDYsNiBMNiw4IEw2LDggWiBNMCwxMSBMMiwxMSBMMiw5IEwwLDkgTDAsMTEgTDAsMTEgWiBNMTIsMTEgTDE0LDExIEwxNCw5IEwxMiw5IEwxMiwxMSBMMTIsMTEgWiBNMTIsMTQgTDE0LDE0IEwxNCwxMiBMMTIsMTIgTDEyLDE0IEwxMiwxNCBaIE0xMiw4IEwxNCw4IEwxNCw2IEwxMiw2IEwxMiw4IEwxMiw4IFogTTEyLDUgTDE0LDUgTDE0LDMgTDEyLDMgTDEyLDUgTDEyLDUgWiBNMTIsMCBMMTIsMiBMMTQsMiBMMTQsMCBMMTIsMCBMMTIsMCBaIE02LDIgTDgsMiBMOCwwIEw2LDAgTDYsMiBMNiwyIFogTTksMiBMMTEsMiBMMTEsMCBMOSwwIEw5LDIgTDksMiBaIE02LDUgTDgsNSBMOCwzIEw2LDMgTDYsNSBMNiw1IFogTTksMTQgTDExLDE0IEwxMSwxMiBMOSwxMiBMOSwxNCBMOSwxNCBaIE05LDggTDExLDggTDExLDYgTDksNiBMOSw4IEw5LDggWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMiAyKSIgb3BhY2l0eT0iLjU0Ii8+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxODAsMzYpIj48cGF0aCBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LjUsMy42MiBMMCwxMC4xMiBMMCwxMyBMMi44OCwxMyBMOS4zOCw2LjUgTDYuNSwzLjYyIFogTTExLjg1LDQuMDIgQzEyLjA1LDMuODIgMTIuMDUsMy41MSAxMS44NSwzLjMxIEw5LjY4LDEuMTQgQzkuNDgsMC45NCA5LjE3LDAuOTQgOC45NywxLjE0IEw3LjYyLDIuNSBMMTAuNSw1LjM4IEwxMS44NSw0LjAyIEwxMS44NSw0LjAyIFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQpIi8+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxOTgsMzYpIj48cGF0aCBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wLDAgTDE0LDAgTDE0LDIgTDAsMiBMMCwwIFogTTAsNCBMNiw0IEw2LDYgTDAsNiBMMCw0IFogTTAsOCBMMiw4IEwyLDEwIEwwLDEwIEwwLDggWiBNOCw0IEwxNCw0IEwxNCw2IEw4LDYgTDgsNCBaIE00LDggTDYsOCBMNiwxMCBMNCwxMCBMNCw4IFogTTgsOCBMMTAsOCBMMTAsMTAgTDgsMTAgTDgsOCBaIE0xMiw4IEwxNCw4IEwxNCwxMCBMMTIsMTAgTDEyLDggWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMiA0KSIvPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjE2LDM2KSI+PHBvbHlnb24gZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBwb2ludHM9Ii0yIDIgMiA2IDYgMiIgdHJhbnNmb3JtPSJyb3RhdGUoOTAgMyAxMCkiLz4KPC9nPgo8ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIzNCwzNikiPjxwb2x5Z29uIGZpbGw9IiMwMDAwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgcG9pbnRzPSI3LjUzIDEuNTMgNi40NyAuNDcgNCAyLjk0IDEuNTMgLjQ3IC40NyAxLjUzIDIuOTQgNCAuNDcgNi40NyAxLjUzIDcuNTMgNCA1LjA2IDYuNDcgNy41MyA3LjUzIDYuNDcgNS4wNiA0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1IDUpIi8+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLDU0KSI+PHBvbHlnb24gZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBwb2ludHM9IjguNDQgLjQ0IDUgMy44OCAxLjU2IC40NCAuNSAxLjUgNSA2IDkuNSAxLjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQgNikiLz4KPC9nPgo8ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4LDU0KSI+PHBvbHlnb24gZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBwb2ludHM9IjUgMCAuNSA0LjUgMS41NiA1LjU2IDUgMi4xMiA4LjQ0IDUuNTYgOS41IDQuNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNCA2KSIvPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzYsNTQpIj48cG9seWdvbiBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHBvaW50cz0iOC40NCAuNDQgNSAzLjg4IDEuNTYgLjQ0IC41IDEuNSA1IDYgOS41IDEuNSIgdHJhbnNmb3JtPSJyb3RhdGUoOTAgNCA4KSIvPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTQsNTQpIj48cG9seWdvbiBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHBvaW50cz0iNSAwIC41IDQuNSAxLjU2IDUuNTYgNSAyLjEyIDguNDQgNS41NiA5LjUgNC41IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA0IDgpIi8+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3Miw1NCkiPjxwb2x5Z29uIGZpbGw9IiMwMDAwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgcG9pbnRzPSIxMiA1IDMuMTI1IDUgNy4wNiAxLjA2IDYgMCAwIDYgNiAxMiA3LjA2IDEwLjk0IDMuMTI1IDcgMTIgNyIgdHJhbnNmb3JtPSJtYXRyaXgoLTEgMCAwIDEgMTUgMykiLz4KPC9nPgo8ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkwLDU0KSI+PHBvbHlnb24gZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBwb2ludHM9IjEyIDUgMy4xMjUgNSA3LjA2IDEuMDYgNiAwIDAgNiA2IDEyIDcuMDYgMTAuOTQgMy4xMjUgNyAxMiA3IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzIDMpIi8+CjwvZz4KPC9zdmc+Cg==); + position: absolute; + width: 262px; + height: 444px; + opacity: 0.56; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.undo { + left: 0; + top: 0; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.redo { + left: -18px; + top: 0; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.print { + left: -36px; + top: 0; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.paintformat { + left: -54px; + top: 0; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.clearformat { + left: -72px; + top: 0; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.font-bold { + left: -90px; + top: 0; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.font-italic { + left: -108px; + top: 0; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.underline { + left: -126px; + top: 0; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.strike { + left: -144px; + top: 0; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.color { + left: -162px; + top: 0; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.bgcolor { + left: -180px; + top: 0; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.merge { + left: -198px; + top: 0; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.align-left { + left: -216px; + top: 0; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.align-center { + left: -234px; + top: 0; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.align-right { + left: 0; + top: -18px; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.align-top { + left: -18px; + top: -18px; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.align-middle { + left: -36px; + top: -18px; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.align-bottom { + left: -54px; + top: -18px; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.textwrap { + left: -72px; + top: -18px; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.autofilter { + left: -90px; + top: -18px; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.formula { + left: -108px; + top: -18px; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.arrow-down { + left: -126px; + top: -18px; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.arrow-right { + left: -144px; + top: -18px; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.link { + left: -162px; + top: -18px; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.chart { + left: -180px; + top: -18px; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.freeze { + left: -198px; + top: -18px; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.ellipsis { + left: -216px; + top: -18px; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.add { + left: -234px; + top: -18px; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.border-all { + left: 0; + top: -36px; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.border-inside { + left: -18px; + top: -36px; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.border-horizontal { + left: -36px; + top: -36px; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.border-vertical { + left: -54px; + top: -36px; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.border-outside { + left: -72px; + top: -36px; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.border-left { + left: -90px; + top: -36px; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.border-top { + left: -108px; + top: -36px; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.border-right { + left: -126px; + top: -36px; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.border-bottom { + left: -144px; + top: -36px; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.border-none { + left: -162px; + top: -36px; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.line-color { + left: -180px; + top: -36px; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.line-type { + left: -198px; + top: -36px; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.close { + left: -234px; + top: -36px; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.chevron-down { + left: 0; + top: -54px; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.chevron-up { + left: -18px; + top: -54px; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.chevron-left { + left: -36px; + top: -54px; + } + .x-spreadsheet-icon .x-spreadsheet-icon-img.chevron-right { + left: -54px; + top: -54px; + } + /*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsibm9kZV9tb2R1bGVzL3gtZGF0YS1zcHJlYWRzaGVldC9zcmMvaW5kZXgubGVzcyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cbi54LXNwcmVhZHNoZWV0IHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgZm9udC1mYW1pbHk6ICdMYXRvJywgJ1NvdXJjZSBTYW5zIFBybycsIFJvYm90bywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xufVxuLngtc3ByZWFkc2hlZXQgdGV4dGFyZWEge1xuICBmb250OiA0MDAgMTNweCBBcmlhbCwgJ0xhdG8nLCAnU291cmNlIFNhbnMgUHJvJywgUm9ib3RvLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG59XG4ueC1zcHJlYWRzaGVldC1zaGVldCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi54LXNwcmVhZHNoZWV0LXRhYmxlIHtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbn1cbi54LXNwcmVhZHNoZWV0LXRvb2x0aXAge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICB6LWluZGV4OiAyMDE7XG59XG4ueC1zcHJlYWRzaGVldC10b29sdGlwOmJlZm9yZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gNHB4KTtcbiAgdG9wOiAtNHB4O1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogOHB4O1xuICBoZWlnaHQ6IDhweDtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgei1pbmRleDogMTtcbiAgYm94LXNoYWRvdzogMXB4IDFweCAzcHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG4ueC1zcHJlYWRzaGVldC1jb2xvci1wYWxldHRlIHtcbiAgcGFkZGluZzogNXB4O1xufVxuLngtc3ByZWFkc2hlZXQtY29sb3ItcGFsZXR0ZSB0YWJsZSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDI7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG4ueC1zcHJlYWRzaGVldC1jb2xvci1wYWxldHRlIHRhYmxlIHRkIHtcbiAgbWFyZ2luOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuLngtc3ByZWFkc2hlZXQtY29sb3ItcGFsZXR0ZSB0YWJsZSB0ZDpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI2RkZDtcbn1cbi54LXNwcmVhZHNoZWV0LWNvbG9yLXBhbGV0dGUgdGFibGUgdGQgLngtc3ByZWFkc2hlZXQtY29sb3ItcGFsZXR0ZS1jZWxsIHtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbn1cbi54LXNwcmVhZHNoZWV0LWJvcmRlci1wYWxldHRlIHtcbiAgcGFkZGluZzogNnB4O1xufVxuLngtc3ByZWFkc2hlZXQtYm9yZGVyLXBhbGV0dGUgdGFibGUge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xufVxuLngtc3ByZWFkc2hlZXQtYm9yZGVyLXBhbGV0dGUgdGFibGUgdGQge1xuICBtYXJnaW46IDA7XG59XG4ueC1zcHJlYWRzaGVldC1ib3JkZXItcGFsZXR0ZSAueC1zcHJlYWRzaGVldC1ib3JkZXItcGFsZXR0ZS1sZWZ0IHtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2VlZTtcbiAgcGFkZGluZy1yaWdodDogNnB4O1xufVxuLngtc3ByZWFkc2hlZXQtYm9yZGVyLXBhbGV0dGUgLngtc3ByZWFkc2hlZXQtYm9yZGVyLXBhbGV0dGUtbGVmdCAueC1zcHJlYWRzaGVldC1ib3JkZXItcGFsZXR0ZS1jZWxsIHtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ueC1zcHJlYWRzaGVldC1ib3JkZXItcGFsZXR0ZSAueC1zcHJlYWRzaGVldC1ib3JkZXItcGFsZXR0ZS1sZWZ0IC54LXNwcmVhZHNoZWV0LWJvcmRlci1wYWxldHRlLWNlbGwgLngtc3ByZWFkc2hlZXQtaWNvbi1pbWcge1xuICBvcGFjaXR5OiAwLjg7XG59XG4ueC1zcHJlYWRzaGVldC1ib3JkZXItcGFsZXR0ZSAueC1zcHJlYWRzaGVldC1ib3JkZXItcGFsZXR0ZS1sZWZ0IC54LXNwcmVhZHNoZWV0LWJvcmRlci1wYWxldHRlLWNlbGw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xufVxuLngtc3ByZWFkc2hlZXQtYm9yZGVyLXBhbGV0dGUgLngtc3ByZWFkc2hlZXQtYm9yZGVyLXBhbGV0dGUtcmlnaHQge1xuICBwYWRkaW5nLWxlZnQ6IDZweDtcbn1cbi54LXNwcmVhZHNoZWV0LWJvcmRlci1wYWxldHRlIC54LXNwcmVhZHNoZWV0LWJvcmRlci1wYWxldHRlLXJpZ2h0IC54LXNwcmVhZHNoZWV0LXRvb2xiYXItYnRuIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogM3B4O1xufVxuLngtc3ByZWFkc2hlZXQtYm9yZGVyLXBhbGV0dGUgLngtc3ByZWFkc2hlZXQtYm9yZGVyLXBhbGV0dGUtcmlnaHQgLngtc3ByZWFkc2hlZXQtbGluZS10eXBlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAwO1xuICB0b3A6IC0zcHg7XG59XG4ueC1zcHJlYWRzaGVldC1kcm9wZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi54LXNwcmVhZHNoZWV0LWRyb3Bkb3duIC54LXNwcmVhZHNoZWV0LWRyb3Bkb3duLWNvbnRlbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDIwMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMXB4IDJweCA1cHggMnB4IHJnYmEoNTEsIDUxLCA1MSwgMC4xNSk7XG59XG4ueC1zcHJlYWRzaGVldC1kcm9wZG93bi5ib3R0b20tbGVmdCAueC1zcHJlYWRzaGVldC1kcm9wZG93bi1jb250ZW50IHtcbiAgdG9wOiBjYWxjKDEwMCUgKyA1cHgpO1xuICBsZWZ0OiAwO1xufVxuLngtc3ByZWFkc2hlZXQtZHJvcGRvd24uYm90dG9tLXJpZ2h0IC54LXNwcmVhZHNoZWV0LWRyb3Bkb3duLWNvbnRlbnQge1xuICB0b3A6IGNhbGMoMTAwJSArIDVweCk7XG4gIHJpZ2h0OiAwO1xufVxuLngtc3ByZWFkc2hlZXQtZHJvcGRvd24udG9wLWxlZnQgLngtc3ByZWFkc2hlZXQtZHJvcGRvd24tY29udGVudCB7XG4gIGJvdHRvbTogY2FsYygxMDAlICsgNXB4KTtcbiAgbGVmdDogMDtcbn1cbi54LXNwcmVhZHNoZWV0LWRyb3Bkb3duLnRvcC1yaWdodCAueC1zcHJlYWRzaGVldC1kcm9wZG93bi1jb250ZW50IHtcbiAgYm90dG9tOiBjYWxjKDEwMCUgKyA1cHgpO1xuICByaWdodDogMDtcbn1cbi54LXNwcmVhZHNoZWV0LWRyb3Bkb3duIC54LXNwcmVhZHNoZWV0LWRyb3Bkb3duLXRpdGxlIHtcbiAgcGFkZGluZzogMCA1cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi54LXNwcmVhZHNoZWV0LWRyb3Bkb3duIC54LXNwcmVhZHNoZWV0LWRyb3Bkb3duLWhlYWRlciAueC1zcHJlYWRzaGVldC1pY29uLmFycm93LWxlZnQge1xuICBtYXJnaW4tbGVmdDogNHB4O1xufVxuLngtc3ByZWFkc2hlZXQtZHJvcGRvd24gLngtc3ByZWFkc2hlZXQtZHJvcGRvd24taGVhZGVyIC54LXNwcmVhZHNoZWV0LWljb24uYXJyb3ctcmlnaHQge1xuICB3aWR0aDogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XG59XG4ueC1zcHJlYWRzaGVldC1kcm9wZG93biAueC1zcHJlYWRzaGVldC1kcm9wZG93bi1oZWFkZXIgLngtc3ByZWFkc2hlZXQtaWNvbi5hcnJvdy1yaWdodCAuYXJyb3ctZG93biB7XG4gIGxlZnQ6IC0xMzBweDtcbn1cbi8qIHJlc2l6ZXIgKiovXG4ueC1zcHJlYWRzaGVldC1yZXNpemVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMTtcbn1cbi54LXNwcmVhZHNoZWV0LXJlc2l6ZXIgLngtc3ByZWFkc2hlZXQtcmVzaXplci1ob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNzUsIDEzNywgMjU1LCAwLjI1KTtcbn1cbi54LXNwcmVhZHNoZWV0LXJlc2l6ZXIgLngtc3ByZWFkc2hlZXQtcmVzaXplci1saW5lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLngtc3ByZWFkc2hlZXQtcmVzaXplci5ob3Jpem9udGFsIHtcbiAgY3Vyc29yOiByb3ctcmVzaXplO1xufVxuLngtc3ByZWFkc2hlZXQtcmVzaXplci5ob3Jpem9udGFsIC54LXNwcmVhZHNoZWV0LXJlc2l6ZXItbGluZSB7XG4gIGJvcmRlci1ib3R0b206IDJweCBkYXNoZWQgIzRiODlmZjtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xufVxuLngtc3ByZWFkc2hlZXQtcmVzaXplci52ZXJ0aWNhbCB7XG4gIGN1cnNvcjogY29sLXJlc2l6ZTtcbn1cbi54LXNwcmVhZHNoZWV0LXJlc2l6ZXIudmVydGljYWwgLngtc3ByZWFkc2hlZXQtcmVzaXplci1saW5lIHtcbiAgYm9yZGVyLXJpZ2h0OiAycHggZGFzaGVkICM0Yjg5ZmY7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG59XG4vKiBzY3JvbGxiYXIgKi9cbi54LXNwcmVhZHNoZWV0LXNjcm9sbGJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjVmODtcbiAgb3BhY2l0eTogMC45O1xuICB6LWluZGV4OiAxMjtcbn1cbi54LXNwcmVhZHNoZWV0LXNjcm9sbGJhci5ob3Jpem9udGFsIHtcbiAgcmlnaHQ6IDE1cHg7XG4gIG92ZXJmbG93LXg6IHNjcm9sbDtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xufVxuLngtc3ByZWFkc2hlZXQtc2Nyb2xsYmFyLmhvcml6b250YWwgPiBkaXYge1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZDogI2RkZDtcbn1cbi54LXNwcmVhZHNoZWV0LXNjcm9sbGJhci52ZXJ0aWNhbCB7XG4gIGJvdHRvbTogMTVweDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG4ueC1zcHJlYWRzaGVldC1zY3JvbGxiYXIudmVydGljYWwgPiBkaXYge1xuICB3aWR0aDogMXB4O1xuICBiYWNrZ3JvdW5kOiAjZGRkO1xufVxuLyogQHtjc3MtcHJlZml4fS1vdmVybGF5ZXIgKi9cbi54LXNwcmVhZHNoZWV0LW92ZXJsYXllciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMDtcbn1cbi54LXNwcmVhZHNoZWV0LW92ZXJsYXllciAueC1zcHJlYWRzaGVldC1vdmVybGF5ZXItY29udGVudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ueC1zcHJlYWRzaGVldC1lZGl0b3IsXG4ueC1zcHJlYWRzaGVldC1zZWxlY3RvciB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4vKiBAe2Nzcy1wcmVmaXh9LXNlbGVjdG9yICovXG4ueC1zcHJlYWRzaGVldC1zZWxlY3RvciAuaGlkZS1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMDtcbn1cbi54LXNwcmVhZHNoZWV0LXNlbGVjdG9yIC5oaWRlLWlucHV0IGlucHV0IHtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDA7XG4gIGJvcmRlcjogbm9uZSFpbXBvcnRhbnQ7XG59XG4ueC1zcHJlYWRzaGVldC1zZWxlY3RvciAueC1zcHJlYWRzaGVldC1zZWxlY3Rvci1hcmVhIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXI6IDJweCBzb2xpZCAjNGI4OWZmO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDc1LCAxMzcsIDI1NSwgMC4xKTtcbiAgei1pbmRleDogNTtcbn1cbi54LXNwcmVhZHNoZWV0LXNlbGVjdG9yIC54LXNwcmVhZHNoZWV0LXNlbGVjdG9yLWNsaXBib2FyZCxcbi54LXNwcmVhZHNoZWV0LXNlbGVjdG9yIC54LXNwcmVhZHNoZWV0LXNlbGVjdG9yLWF1dG9maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgei1pbmRleDogMTAwO1xufVxuLngtc3ByZWFkc2hlZXQtc2VsZWN0b3IgLngtc3ByZWFkc2hlZXQtc2VsZWN0b3ItY2xpcGJvYXJkIHtcbiAgYm9yZGVyOiAycHggZGFzaGVkICM0Yjg5ZmY7XG59XG4ueC1zcHJlYWRzaGVldC1zZWxlY3RvciAueC1zcHJlYWRzaGVldC1zZWxlY3Rvci1hdXRvZmlsbCB7XG4gIGJvcmRlcjogMXB4IGRhc2hlZCByZ2JhKDAsIDAsIDAsIDAuNDUpO1xufVxuLngtc3ByZWFkc2hlZXQtc2VsZWN0b3IgLngtc3ByZWFkc2hlZXQtc2VsZWN0b3ItY29ybmVyIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY3Vyc29yOiBjcm9zc2hhaXI7XG4gIGZvbnQtc2l6ZTogMDtcbiAgaGVpZ2h0OiA1cHg7XG4gIHdpZHRoOiA1cHg7XG4gIHJpZ2h0OiAtNXB4O1xuICBib3R0b206IC01cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZmZmZmY7XG4gIGJhY2tncm91bmQ6ICM0Yjg5ZmY7XG59XG4ueC1zcHJlYWRzaGVldC1lZGl0b3Ige1xuICB6LWluZGV4OiAyMDtcbn1cbi54LXNwcmVhZHNoZWV0LWVkaXRvciAueC1zcHJlYWRzaGVldC1lZGl0b3ItYXJlYSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm9yZGVyOiAycHggc29saWQgIzRiODlmZjtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHotaW5kZXg6IDEwMDtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG4ueC1zcHJlYWRzaGVldC1lZGl0b3IgLngtc3ByZWFkc2hlZXQtZWRpdG9yLWFyZWEgdGV4dGFyZWEge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAwIDNweDtcbiAgb3V0bGluZTogbm9uZTtcbiAgcmVzaXplOiBub25lO1xuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICBmb250OiA0MDAgMTNweCBBcmlhbCwgJ0xhdG8nLCAnU291cmNlIFNhbnMgUHJvJywgUm9ib3RvLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBtYXJnaW46IDA7XG59XG4ueC1zcHJlYWRzaGVldC1lZGl0b3IgLngtc3ByZWFkc2hlZXQtZWRpdG9yLWFyZWEgLnRleHRsaW5lIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cbi54LXNwcmVhZHNoZWV0LWl0ZW0ge1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYmFja2dyb3VuZDogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGhlaWdodDogMjZweDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDJweCAxMHB4O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ueC1zcHJlYWRzaGVldC1pdGVtLmRpc2FibGVkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDAuNTtcbn1cbi54LXNwcmVhZHNoZWV0LWl0ZW06aG92ZXIsXG4ueC1zcHJlYWRzaGVldC1pdGVtLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG4ueC1zcHJlYWRzaGVldC1pdGVtLmRpdmlkZXIge1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogNXB4IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi54LXNwcmVhZHNoZWV0LWl0ZW0gLmxhYmVsIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBvcGFjaXR5OiAwLjY1O1xuICBmb250LXNpemU6IDFlbTtcbn1cbi54LXNwcmVhZHNoZWV0LWl0ZW0uc3RhdGUsXG4ueC1zcHJlYWRzaGVldC1oZWFkZXIuc3RhdGUge1xuICBwYWRkaW5nLWxlZnQ6IDM1cHghaW1wb3J0YW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ueC1zcHJlYWRzaGVldC1pdGVtLnN0YXRlOmJlZm9yZSxcbi54LXNwcmVhZHNoZWV0LWhlYWRlci5zdGF0ZTpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICBsZWZ0OiAxMnB4O1xuICB0b3A6IGNhbGMoNTAlIC0gNXB4KTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA4KTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuLngtc3ByZWFkc2hlZXQtaXRlbS5zdGF0ZS5jaGVja2VkOmJlZm9yZSxcbi54LXNwcmVhZHNoZWV0LWhlYWRlci5zdGF0ZS5jaGVja2VkOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICM0Yjg5ZmY7XG59XG4ueC1zcHJlYWRzaGVldC1jaGVja2JveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIG91dGxpbmU6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG59XG4ueC1zcHJlYWRzaGVldC1jaGVja2JveCA+IGlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDAhaW1wb3J0YW50O1xuICBvdXRsaW5lOiAwO1xuICB6LWluZGV4OiAtMTtcbn1cbi54LXNwcmVhZHNoZWV0LXN1Z2dlc3QsXG4ueC1zcHJlYWRzaGVldC1jb250ZXh0bWVudSxcbi54LXNwcmVhZHNoZWV0LXNvcnQtZmlsdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3gtc2hhZG93OiAxcHggMnB4IDVweCAycHggcmdiYSg1MSwgNTEsIDUxLCAwLjE1KTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgei1pbmRleDogMTAwO1xuICB3aWR0aDogMjYwcHg7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBvdmVyZmxvdzogYXV0bztcbn1cbi54LXNwcmVhZHNoZWV0LXN1Z2dlc3Qge1xuICB3aWR0aDogMjAwcHg7XG59XG4ueC1zcHJlYWRzaGVldC1maWx0ZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTllOWU5O1xuICBmb250LXNpemU6IDEycHg7XG4gIG1hcmdpbjogMTBweDtcbn1cbi54LXNwcmVhZHNoZWV0LWZpbHRlciAueC1zcHJlYWRzaGVldC1oZWFkZXIge1xuICBwYWRkaW5nOiAwLjVlbSAwLjc1ZW07XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTllOWU5O1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuLngtc3ByZWFkc2hlZXQtZmlsdGVyIC54LXNwcmVhZHNoZWV0LWJvZHkge1xuICBoZWlnaHQ6IDIwMHB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuLngtc3ByZWFkc2hlZXQtZmlsdGVyIC54LXNwcmVhZHNoZWV0LWJvZHkgLngtc3ByZWFkc2hlZXQtaXRlbSB7XG4gIGhlaWdodDogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG59XG4ueC1zcHJlYWRzaGVldC1zb3J0LWZpbHRlciAueC1zcHJlYWRzaGVldC1idXR0b25zIHtcbiAgbWFyZ2luOiAxMHB4O1xufVxuLngtc3ByZWFkc2hlZXQtdG9vbGJhcixcbi54LXNwcmVhZHNoZWV0LWJvdHRvbWJhciB7XG4gIGhlaWdodDogNDBweDtcbiAgcGFkZGluZzogMCAzMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kOiAjZjVmNmY3O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLngtc3ByZWFkc2hlZXQtYm90dG9tYmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2UwZTJlNDtcbn1cbi54LXNwcmVhZHNoZWV0LWJvdHRvbWJhciAueC1zcHJlYWRzaGVldC1tZW51ID4gbGkge1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlOGVhZWQ7XG59XG4ueC1zcHJlYWRzaGVldC1tZW51IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi54LXNwcmVhZHNoZWV0LW1lbnUgPiBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBsaW5lLWhlaWdodDogMS4yNWVtO1xuICBwYWRkaW5nOiAwLjc4NWVtIDFlbTtcbiAgbWFyZ2luOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzgwODY4YjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4ueC1zcHJlYWRzaGVldC1tZW51ID4gbGkuYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42NSk7XG59XG4ueC1zcHJlYWRzaGVldC1tZW51ID4gbGkgLngtc3ByZWFkc2hlZXQtaWNvbiB7XG4gIG1hcmdpbjogMCA2cHg7XG59XG4ueC1zcHJlYWRzaGVldC1tZW51ID4gbGkgLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZzpob3ZlciB7XG4gIG9wYWNpdHk6IDAuODU7XG59XG4ueC1zcHJlYWRzaGVldC1tZW51ID4gbGkgLngtc3ByZWFkc2hlZXQtZHJvcGRvd24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4ueC1zcHJlYWRzaGVldC10b29sYmFyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMGUyZTQ7XG59XG4ueC1zcHJlYWRzaGVldC10b29sYmFyIC54LXNwcmVhZHNoZWV0LXRvb2xiYXItYnRucyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xufVxuLngtc3ByZWFkc2hlZXQtdG9vbGJhciAueC1zcHJlYWRzaGVldC10b29sYmFyLW1vcmUge1xuICBwYWRkaW5nOiAwIDZweCA2cHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4ueC1zcHJlYWRzaGVldC10b29sYmFyIC54LXNwcmVhZHNoZWV0LXRvb2xiYXItbW9yZSAueC1zcHJlYWRzaGVldC10b29sYmFyLWRpdmlkZXIge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLngtc3ByZWFkc2hlZXQtdG9vbGJhciAueC1zcHJlYWRzaGVldC10b29sYmFyLWJ0biB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBoZWlnaHQ6IDI2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICBtaW4td2lkdGg6IDI2cHg7XG4gIG1hcmdpbjogNnB4IDFweCAwO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbn1cbi54LXNwcmVhZHNoZWV0LXRvb2xiYXIgLngtc3ByZWFkc2hlZXQtdG9vbGJhci1idG4uZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMC41O1xufVxuLngtc3ByZWFkc2hlZXQtdG9vbGJhciAueC1zcHJlYWRzaGVldC10b29sYmFyLWJ0bjpob3Zlcixcbi54LXNwcmVhZHNoZWV0LXRvb2xiYXIgLngtc3ByZWFkc2hlZXQtdG9vbGJhci1idG4uYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA4KTtcbn1cbi54LXNwcmVhZHNoZWV0LXRvb2xiYXItZGl2aWRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2UwZTJlNDtcbiAgd2lkdGg6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGhlaWdodDogMThweDtcbiAgbWFyZ2luOiAxMnB4IDNweCAwO1xufVxuLngtc3ByZWFkc2hlZXQtcHJpbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLngtc3ByZWFkc2hlZXQtcHJpbnQtYmFyIHtcbiAgYmFja2dyb3VuZDogIzQyNDI0MjtcbiAgaGVpZ2h0OiA2MHB4O1xuICBsaW5lLWhlaWdodDogNjBweDtcbiAgcGFkZGluZzogMCAzMHB4O1xufVxuLngtc3ByZWFkc2hlZXQtcHJpbnQtYmFyIC4tdGl0bGUge1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGZsb2F0OiBsZWZ0O1xufVxuLngtc3ByZWFkc2hlZXQtcHJpbnQtYmFyIC4tcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi10b3A6IDEycHg7XG59XG4ueC1zcHJlYWRzaGVldC1wcmludC1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogYXV0bztcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYmFja2dyb3VuZDogI2QwZDBkMDtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA2MHB4KTtcbn1cbi54LXNwcmVhZHNoZWV0LXByaW50LWNvbnRlbnQgLi1zaWRlciB7XG4gIGZsZXg6IDAgMCAzMDBweDtcbiAgd2lkdGg6IDMwMHB4O1xuICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNjY2M7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG4ueC1zcHJlYWRzaGVldC1wcmludC1jb250ZW50IC4tY29udGVudCB7XG4gIGZsZXg6IGF1dG87XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLngtc3ByZWFkc2hlZXQtY2FudmFzLWNhcmQtd3JhcGVyIHtcbiAgbWFyZ2luOiA0MHB4IDIwcHg7XG59XG4ueC1zcHJlYWRzaGVldC1jYW52YXMtY2FyZCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIG1hcmdpbjogYXV0bztcbiAgcGFnZS1icmVhay1iZWZvcmU6IGF1dG87XG4gIHBhZ2UtYnJlYWstYWZ0ZXI6IGFsd2F5cztcbiAgYm94LXNoYWRvdzogMCA4cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAzcHggMTRweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCA0cHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuLngtc3ByZWFkc2hlZXQtY2FsZW5kYXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjY1KTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4ueC1zcHJlYWRzaGVldC1jYWxlbmRhciAuY2FsZW5kYXItaGVhZGVyIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBiYWNrZ3JvdW5kOiAjZjlmYWZiO1xufVxuLngtc3ByZWFkc2hlZXQtY2FsZW5kYXIgLmNhbGVuZGFyLWhlYWRlciAuY2FsZW5kYXItaGVhZGVyLWxlZnQge1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4ueC1zcHJlYWRzaGVldC1jYWxlbmRhciAuY2FsZW5kYXItaGVhZGVyIC5jYWxlbmRhci1oZWFkZXItcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG59XG4ueC1zcHJlYWRzaGVldC1jYWxlbmRhciAuY2FsZW5kYXItaGVhZGVyIC5jYWxlbmRhci1oZWFkZXItcmlnaHQgYSB7XG4gIHBhZGRpbmc6IDNweCAwO1xuICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuLngtc3ByZWFkc2hlZXQtY2FsZW5kYXIgLmNhbGVuZGFyLWhlYWRlciAuY2FsZW5kYXItaGVhZGVyLXJpZ2h0IGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDgpO1xufVxuLngtc3ByZWFkc2hlZXQtY2FsZW5kYXIgLmNhbGVuZGFyLWJvZHkge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cbi54LXNwcmVhZHNoZWV0LWNhbGVuZGFyIC5jYWxlbmRhci1ib2R5IHRoLFxuLngtc3ByZWFkc2hlZXQtY2FsZW5kYXIgLmNhbGVuZGFyLWJvZHkgdGQge1xuICB3aWR0aDogMTAwJS83O1xuICBtaW4td2lkdGg6IDMycHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIHBhZGRpbmc6IDA7XG59XG4ueC1zcHJlYWRzaGVldC1jYWxlbmRhciAuY2FsZW5kYXItYm9keSB0ZCA+IC5jZWxsOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2VjZjZmZDtcbn1cbi54LXNwcmVhZHNoZWV0LWNhbGVuZGFyIC5jYWxlbmRhci1ib2R5IHRkID4gLmNlbGwuYWN0aXZlLFxuLngtc3ByZWFkc2hlZXQtY2FsZW5kYXIgLmNhbGVuZGFyLWJvZHkgdGQgPiAuY2VsbC5hY3RpdmU6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZWNmNmZkO1xuICBjb2xvcjogIzIxODVEMDtcbn1cbi54LXNwcmVhZHNoZWV0LWNhbGVuZGFyIC5jYWxlbmRhci1ib2R5IHRkID4gLmNlbGwuZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMC41O1xufVxuLngtc3ByZWFkc2hlZXQtZGF0ZXBpY2tlciB7XG4gIGJveC1zaGFkb3c6IDJweCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IGNhbGMoMTAwJSArIDVweCk7XG4gIHotaW5kZXg6IDEwO1xuICB3aWR0aDogYXV0bztcbn1cbi54LXNwcmVhZHNoZWV0LWJ1dHRvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuLngtc3ByZWFkc2hlZXQtYnV0dG9ucyAueC1zcHJlYWRzaGVldC1idXR0b24ge1xuICBtYXJnaW4tbGVmdDogOHB4O1xufVxuLngtc3ByZWFkc2hlZXQtYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIG1pbi1oZWlnaHQ6IDFlbTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBiYWNrZ3JvdW5kOiAjRTBFMUUyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIiwgXCJwcm94aW1hLW5vdmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgb3V0bGluZTogbm9uZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB6b29tOiAxO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMXMgbGluZWFyO1xufVxuLngtc3ByZWFkc2hlZXQtYnV0dG9uLmFjdGl2ZSxcbi54LXNwcmVhZHNoZWV0LWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDMEMxQzI7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG59XG4ueC1zcHJlYWRzaGVldC1idXR0b24ucHJpbWFyeSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE4NUQwO1xufVxuLngtc3ByZWFkc2hlZXQtYnV0dG9uLnByaW1hcnk6aG92ZXIsXG4ueC1zcHJlYWRzaGVldC1idXR0b24ucHJpbWFyeS5hY3RpdmUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE2NzhjMjtcbn1cbi54LXNwcmVhZHNoZWV0LWZvcm0taW5wdXQge1xuICBmb250LXNpemU6IDFlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXdlaWdodDogNDAwO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4ueC1zcHJlYWRzaGVldC1mb3JtLWlucHV0IGlucHV0IHtcbiAgei1pbmRleDogMTtcbiAgbWFyZ2luOiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBvdXRsaW5lOiAwO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHBhZGRpbmc6IDAgOHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTllOWU5O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4xcyBlYXNlLCBib3JkZXItY29sb3IgMC4xcyBlYXNlO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggaHNsYSgwLCAwJSwgNCUsIDAuMDYpO1xufVxuLngtc3ByZWFkc2hlZXQtZm9ybS1pbnB1dCBpbnB1dDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzRiODlmZjtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoNzUsIDEzNywgMjU1LCAwLjIpO1xufVxuLngtc3ByZWFkc2hlZXQtZm9ybS1zZWxlY3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U5ZTllOTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IGhzbGEoMCwgMCUsIDQlLCAwLjA2KTtcbn1cbi54LXNwcmVhZHNoZWV0LWZvcm0tc2VsZWN0IC5pbnB1dC10ZXh0IHtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG1pbi13aWR0aDogNjBweDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIHBhZGRpbmc6IDAgOHB4O1xufVxuLngtc3ByZWFkc2hlZXQtZm9ybS1maWVsZHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4ueC1zcHJlYWRzaGVldC1mb3JtLWZpZWxkcyAueC1zcHJlYWRzaGVldC1mb3JtLWZpZWxkIHtcbiAgZmxleDogMCAxIGF1dG87XG59XG4ueC1zcHJlYWRzaGVldC1mb3JtLWZpZWxkcyAueC1zcHJlYWRzaGVldC1mb3JtLWZpZWxkIC5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDEwcHggMCAwO1xufVxuLngtc3ByZWFkc2hlZXQtZm9ybS1maWVsZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbi54LXNwcmVhZHNoZWV0LWZvcm0tZmllbGQ6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi54LXNwcmVhZHNoZWV0LWZvcm0tZmllbGQuZXJyb3IgLngtc3ByZWFkc2hlZXQtZm9ybS1zZWxlY3QsXG4ueC1zcHJlYWRzaGVldC1mb3JtLWZpZWxkLmVycm9yIGlucHV0IHtcbiAgYm9yZGVyLWNvbG9yOiAjZjA0MTM0O1xufVxuLngtc3ByZWFkc2hlZXQtZm9ybS1maWVsZCAudGlwIHtcbiAgY29sb3I6ICNmMDQxMzQ7XG4gIGZvbnQtc2l6ZTogMC45ZW07XG59XG4ueC1zcHJlYWRzaGVldC1kaW1tZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMCAhaW1wb3J0YW50O1xuICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cyBsaW5lYXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB6LWluZGV4OiAxMDAwO1xufVxuLngtc3ByZWFkc2hlZXQtZGltbWVyLmFjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvcGFjaXR5OiAxO1xufVxuZm9ybSBmaWVsZHNldCB7XG4gIGJvcmRlcjogbm9uZTtcbn1cbmZvcm0gZmllbGRzZXQgbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBjb2xvcjogIzY2Njtcbn1cbmZvcm0gZmllbGRzZXQgc2VsZWN0IHtcbiAgZm9udC1zaXplOiAxLjFlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkZGQ7XG4gIHBhZGRpbmc6IDAuNWVtIDAuODVlbTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuLngtc3ByZWFkc2hlZXQtbW9kYWwsXG4ueC1zcHJlYWRzaGVldC10b2FzdCB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDAxO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBsaW5lLWhlaWdodDogMS4yNWVtO1xuICBtaW4td2lkdGg6IDM2MHB4O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgZm9udC1mYW1pbHk6ICdMYXRvJywgJ1NvdXJjZSBTYW5zIFBybycsIFJvYm90bywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJveC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC4yKSAwcHggMnB4IDhweDtcbn1cbi54LXNwcmVhZHNoZWV0LXRvYXN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbn1cbi54LXNwcmVhZHNoZWV0LW1vZGFsLWhlYWRlcixcbi54LXNwcmVhZHNoZWV0LXRvYXN0LWhlYWRlciB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDtcbn1cbi54LXNwcmVhZHNoZWV0LW1vZGFsLWhlYWRlciAueC1zcHJlYWRzaGVldC1pY29uLFxuLngtc3ByZWFkc2hlZXQtdG9hc3QtaGVhZGVyIC54LXNwcmVhZHNoZWV0LWljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwLjhlbTtcbiAgdG9wOiAwLjY1ZW07XG4gIGJvcmRlci1yYWRpdXM6IDE4cHg7XG59XG4ueC1zcHJlYWRzaGVldC1tb2RhbC1oZWFkZXIgLngtc3ByZWFkc2hlZXQtaWNvbjpob3Zlcixcbi54LXNwcmVhZHNoZWV0LXRvYXN0LWhlYWRlciAueC1zcHJlYWRzaGVldC1pY29uOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA4KTtcbn1cbi54LXNwcmVhZHNoZWV0LXRvYXN0LWhlYWRlciB7XG4gIGNvbG9yOiAjRjI3MTFDO1xufVxuLngtc3ByZWFkc2hlZXQtbW9kYWwtaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMGUyZTQ7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gIGZvbnQtc2l6ZTogMS4wNzg1ZW07XG59XG4ueC1zcHJlYWRzaGVldC1tb2RhbC1oZWFkZXIsXG4ueC1zcHJlYWRzaGVldC1tb2RhbC1jb250ZW50LFxuLngtc3ByZWFkc2hlZXQtdG9hc3QtaGVhZGVyLFxuLngtc3ByZWFkc2hlZXQtdG9hc3QtY29udGVudCB7XG4gIHBhZGRpbmc6IDAuNzVlbSAxZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gIC54LXNwcmVhZHNoZWV0LXRvb2xiYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi54LXNwcmVhZHNoZWV0LWljb24ge1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBtYXJnaW46IDFweCAxcHggMnB4IDFweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9hc3NldHMvc3ByaXRlLnN2ZycpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAyNjJweDtcbiAgaGVpZ2h0OiA0NDRweDtcbiAgb3BhY2l0eTogMC41Njtcbn1cbi54LXNwcmVhZHNoZWV0LWljb24gLngtc3ByZWFkc2hlZXQtaWNvbi1pbWcudW5kbyB7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi54LXNwcmVhZHNoZWV0LWljb24gLngtc3ByZWFkc2hlZXQtaWNvbi1pbWcucmVkbyB7XG4gIGxlZnQ6IC0xOHB4O1xuICB0b3A6IDA7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nLnByaW50IHtcbiAgbGVmdDogLTM2cHg7XG4gIHRvcDogMDtcbn1cbi54LXNwcmVhZHNoZWV0LWljb24gLngtc3ByZWFkc2hlZXQtaWNvbi1pbWcucGFpbnRmb3JtYXQge1xuICBsZWZ0OiAtNTRweDtcbiAgdG9wOiAwO1xufVxuLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZy5jbGVhcmZvcm1hdCB7XG4gIGxlZnQ6IC03MnB4O1xuICB0b3A6IDA7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nLmZvbnQtYm9sZCB7XG4gIGxlZnQ6IC05MHB4O1xuICB0b3A6IDA7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nLmZvbnQtaXRhbGljIHtcbiAgbGVmdDogLTEwOHB4O1xuICB0b3A6IDA7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nLnVuZGVybGluZSB7XG4gIGxlZnQ6IC0xMjZweDtcbiAgdG9wOiAwO1xufVxuLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZy5zdHJpa2Uge1xuICBsZWZ0OiAtMTQ0cHg7XG4gIHRvcDogMDtcbn1cbi54LXNwcmVhZHNoZWV0LWljb24gLngtc3ByZWFkc2hlZXQtaWNvbi1pbWcuY29sb3Ige1xuICBsZWZ0OiAtMTYycHg7XG4gIHRvcDogMDtcbn1cbi54LXNwcmVhZHNoZWV0LWljb24gLngtc3ByZWFkc2hlZXQtaWNvbi1pbWcuYmdjb2xvciB7XG4gIGxlZnQ6IC0xODBweDtcbiAgdG9wOiAwO1xufVxuLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZy5tZXJnZSB7XG4gIGxlZnQ6IC0xOThweDtcbiAgdG9wOiAwO1xufVxuLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZy5hbGlnbi1sZWZ0IHtcbiAgbGVmdDogLTIxNnB4O1xuICB0b3A6IDA7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nLmFsaWduLWNlbnRlciB7XG4gIGxlZnQ6IC0yMzRweDtcbiAgdG9wOiAwO1xufVxuLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZy5hbGlnbi1yaWdodCB7XG4gIGxlZnQ6IDA7XG4gIHRvcDogLTE4cHg7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nLmFsaWduLXRvcCB7XG4gIGxlZnQ6IC0xOHB4O1xuICB0b3A6IC0xOHB4O1xufVxuLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZy5hbGlnbi1taWRkbGUge1xuICBsZWZ0OiAtMzZweDtcbiAgdG9wOiAtMThweDtcbn1cbi54LXNwcmVhZHNoZWV0LWljb24gLngtc3ByZWFkc2hlZXQtaWNvbi1pbWcuYWxpZ24tYm90dG9tIHtcbiAgbGVmdDogLTU0cHg7XG4gIHRvcDogLTE4cHg7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nLnRleHR3cmFwIHtcbiAgbGVmdDogLTcycHg7XG4gIHRvcDogLTE4cHg7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nLmF1dG9maWx0ZXIge1xuICBsZWZ0OiAtOTBweDtcbiAgdG9wOiAtMThweDtcbn1cbi54LXNwcmVhZHNoZWV0LWljb24gLngtc3ByZWFkc2hlZXQtaWNvbi1pbWcuZm9ybXVsYSB7XG4gIGxlZnQ6IC0xMDhweDtcbiAgdG9wOiAtMThweDtcbn1cbi54LXNwcmVhZHNoZWV0LWljb24gLngtc3ByZWFkc2hlZXQtaWNvbi1pbWcuYXJyb3ctZG93biB7XG4gIGxlZnQ6IC0xMjZweDtcbiAgdG9wOiAtMThweDtcbn1cbi54LXNwcmVhZHNoZWV0LWljb24gLngtc3ByZWFkc2hlZXQtaWNvbi1pbWcuYXJyb3ctcmlnaHQge1xuICBsZWZ0OiAtMTQ0cHg7XG4gIHRvcDogLTE4cHg7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nLmxpbmsge1xuICBsZWZ0OiAtMTYycHg7XG4gIHRvcDogLTE4cHg7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nLmNoYXJ0IHtcbiAgbGVmdDogLTE4MHB4O1xuICB0b3A6IC0xOHB4O1xufVxuLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZy5mcmVlemUge1xuICBsZWZ0OiAtMTk4cHg7XG4gIHRvcDogLTE4cHg7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nLmVsbGlwc2lzIHtcbiAgbGVmdDogLTIxNnB4O1xuICB0b3A6IC0xOHB4O1xufVxuLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZy5hZGQge1xuICBsZWZ0OiAtMjM0cHg7XG4gIHRvcDogLTE4cHg7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nLmJvcmRlci1hbGwge1xuICBsZWZ0OiAwO1xuICB0b3A6IC0zNnB4O1xufVxuLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZy5ib3JkZXItaW5zaWRlIHtcbiAgbGVmdDogLTE4cHg7XG4gIHRvcDogLTM2cHg7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nLmJvcmRlci1ob3Jpem9udGFsIHtcbiAgbGVmdDogLTM2cHg7XG4gIHRvcDogLTM2cHg7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nLmJvcmRlci12ZXJ0aWNhbCB7XG4gIGxlZnQ6IC01NHB4O1xuICB0b3A6IC0zNnB4O1xufVxuLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZy5ib3JkZXItb3V0c2lkZSB7XG4gIGxlZnQ6IC03MnB4O1xuICB0b3A6IC0zNnB4O1xufVxuLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZy5ib3JkZXItbGVmdCB7XG4gIGxlZnQ6IC05MHB4O1xuICB0b3A6IC0zNnB4O1xufVxuLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZy5ib3JkZXItdG9wIHtcbiAgbGVmdDogLTEwOHB4O1xuICB0b3A6IC0zNnB4O1xufVxuLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZy5ib3JkZXItcmlnaHQge1xuICBsZWZ0OiAtMTI2cHg7XG4gIHRvcDogLTM2cHg7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nLmJvcmRlci1ib3R0b20ge1xuICBsZWZ0OiAtMTQ0cHg7XG4gIHRvcDogLTM2cHg7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nLmJvcmRlci1ub25lIHtcbiAgbGVmdDogLTE2MnB4O1xuICB0b3A6IC0zNnB4O1xufVxuLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZy5saW5lLWNvbG9yIHtcbiAgbGVmdDogLTE4MHB4O1xuICB0b3A6IC0zNnB4O1xufVxuLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZy5saW5lLXR5cGUge1xuICBsZWZ0OiAtMTk4cHg7XG4gIHRvcDogLTM2cHg7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nLmNsb3NlIHtcbiAgbGVmdDogLTIzNHB4O1xuICB0b3A6IC0zNnB4O1xufVxuLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZy5jaGV2cm9uLWRvd24ge1xuICBsZWZ0OiAwO1xuICB0b3A6IC01NHB4O1xufVxuLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZy5jaGV2cm9uLXVwIHtcbiAgbGVmdDogLTE4cHg7XG4gIHRvcDogLTU0cHg7XG59XG4ueC1zcHJlYWRzaGVldC1pY29uIC54LXNwcmVhZHNoZWV0LWljb24taW1nLmNoZXZyb24tbGVmdCB7XG4gIGxlZnQ6IC0zNnB4O1xuICB0b3A6IC01NHB4O1xufVxuLngtc3ByZWFkc2hlZXQtaWNvbiAueC1zcHJlYWRzaGVldC1pY29uLWltZy5jaGV2cm9uLXJpZ2h0IHtcbiAgbGVmdDogLTU0cHg7XG4gIHRvcDogLTU0cHg7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQUE7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQUE7QUFFRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQUE7QUFFRTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUVFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBQUE7QUFHRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQUE7QUFFRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQUE7QUFFRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQUE7QUFFRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFBQTtBQUVFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQUE7QUFFRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQUE7QUFFRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUFBO0FBQUE7QUFJRTtBQUFBO0FBRUY7QUFDRTtBQUNFO0FBQUE7QUFBQTtBQUdKO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTsiLAogICJuYW1lcyI6IFtdCn0K */ + \ No newline at end of file