@gravitee/ui-components 3.23.0 → 3.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +22 -21
- package/src/atoms/gv-autocomplete.js +5 -6
- package/src/atoms/gv-button.js +4 -4
- package/src/atoms/gv-checkbox.js +3 -3
- package/src/atoms/gv-date-picker-calendar.js +4 -5
- package/src/atoms/gv-date-picker-cell.js +4 -4
- package/src/atoms/gv-date-picker.js +4 -5
- package/src/atoms/gv-file-upload.js +4 -5
- package/src/atoms/gv-icon.js +14 -7
- package/src/atoms/gv-image.js +4 -4
- package/src/atoms/gv-input-message.js +2 -3
- package/src/atoms/gv-input.js +3 -3
- package/src/atoms/gv-link.js +6 -6
- package/src/atoms/gv-message.js +3 -3
- package/src/atoms/gv-metric.js +3 -3
- package/src/atoms/gv-relative-time.js +6 -4
- package/src/atoms/gv-select-native.js +6 -6
- package/src/atoms/gv-select.js +5 -5
- package/src/atoms/gv-spinner.js +2 -2
- package/src/atoms/gv-state.js +3 -3
- package/src/atoms/gv-switch.js +4 -4
- package/src/atoms/gv-tag.js +3 -3
- package/src/atoms/gv-text.js +4 -4
- package/src/charts/gv-chart-bar.js +2 -2
- package/src/charts/gv-chart-gauge.js +2 -2
- package/src/charts/gv-chart-histogram.js +2 -2
- package/src/charts/gv-chart-line.js +2 -2
- package/src/charts/gv-chart-map.js +2 -2
- package/src/charts/gv-chart-pie.js +2 -2
- package/src/lib/item.js +2 -2
- package/src/lib/studio.js +3 -3
- package/src/mixins/chart-element.js +3 -4
- package/src/mixins/input-element.js +3 -3
- package/src/mixins/item-resource.js +3 -3
- package/src/mixins/with-skeleton-attribute.js +2 -2
- package/src/molecules/gv-card-full.js +3 -3
- package/src/molecules/gv-card-list.js +3 -4
- package/src/molecules/gv-card.js +3 -3
- package/src/molecules/gv-category-list.js +2 -3
- package/src/molecules/gv-category.js +3 -3
- package/src/molecules/gv-code-hint.js +2 -3
- package/src/molecules/gv-code.js +3 -3
- package/src/molecules/gv-confirm.js +2 -3
- package/src/molecules/gv-cron-editor.js +3 -3
- package/src/molecules/gv-dropdown-menu.js +2 -3
- package/src/molecules/gv-expandable.js +3 -3
- package/src/molecules/gv-expression-language.js +2 -3
- package/src/molecules/gv-identity-picture.js +3 -4
- package/src/molecules/gv-list.js +4 -4
- package/src/molecules/gv-metrics.js +4 -4
- package/src/molecules/gv-modal.js +2 -2
- package/src/molecules/gv-nav.js +5 -5
- package/src/molecules/gv-option.js +6 -6
- package/src/molecules/gv-plans.js +5 -6
- package/src/molecules/gv-popover.js +3 -4
- package/src/molecules/gv-promote.js +3 -3
- package/src/molecules/gv-rating-list.js +4 -5
- package/src/molecules/gv-rating.js +4 -4
- package/src/molecules/gv-row-expandable.js +2 -2
- package/src/molecules/gv-row.js +3 -3
- package/src/molecules/gv-stats.js +4 -4
- package/src/molecules/gv-stepper.js +4 -4
- package/src/molecules/gv-table.js +7 -8
- package/src/molecules/gv-tree.js +4 -4
- package/src/organisms/gv-documentation.js +2 -2
- package/src/organisms/gv-header.js +6 -6
- package/src/organisms/gv-http-client.js +2 -2
- package/src/organisms/gv-menu.js +3 -3
- package/src/organisms/gv-newsletter-subscription.js +2 -2
- package/src/organisms/gv-pagination.js +2 -2
- package/src/organisms/gv-properties.js +3 -3
- package/src/organisms/gv-resizable-views.js +3 -4
- package/src/organisms/gv-resources.js +2 -2
- package/src/organisms/gv-schema-form-array.js +5 -5
- package/src/organisms/gv-schema-form-control-object.js +5 -5
- package/src/organisms/gv-schema-form-control.js +4 -9
- package/src/organisms/gv-schema-form.js +8 -7
- package/src/organisms/gv-tabs.js +2 -3
- package/src/organisms/gv-user-menu.js +4 -4
- package/src/organisms/gv-vertical-menu.js +2 -2
- package/src/policy-studio/gv-flow-step.js +3 -3
- package/src/policy-studio/gv-flow.js +5 -5
- package/src/policy-studio/gv-policy-studio-menu.js +4 -4
- package/src/policy-studio/gv-policy-studio.js +5 -5
- package/src/styles/empty.js +2 -2
- package/src/styles/input.js +2 -2
- package/src/styles/link.js +2 -2
- package/src/styles/skeleton.js +2 -2
- package/src/styles/zoom.js +2 -2
- package/src/theme/gv-theme.js +2 -2
|
@@ -13,19 +13,18 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { css, LitElement } from 'lit
|
|
17
|
-
import { html } from 'lit-html';
|
|
16
|
+
import { css, LitElement, html } from 'lit';
|
|
18
17
|
import { skeleton } from '../styles/skeleton';
|
|
19
18
|
import { empty } from '../styles/empty';
|
|
20
19
|
import { link } from '../styles/link';
|
|
21
|
-
import { classMap } from 'lit
|
|
22
|
-
import { repeat } from 'lit
|
|
20
|
+
import { classMap } from 'lit/directives/class-map';
|
|
21
|
+
import { repeat } from 'lit/directives/repeat';
|
|
23
22
|
import { dispatchCustomEvent } from '../lib/events';
|
|
24
23
|
import { getLanguage, i18n } from '../lib/i18n';
|
|
25
|
-
import { until } from 'lit
|
|
26
|
-
import { styleMap } from 'lit
|
|
24
|
+
import { until } from 'lit/directives/until';
|
|
25
|
+
import { styleMap } from 'lit/directives/style-map';
|
|
27
26
|
import { withResizeObserver } from '../mixins/with-resize-observer';
|
|
28
|
-
import { ifDefined } from 'lit
|
|
27
|
+
import { ifDefined } from 'lit/directives/if-defined';
|
|
29
28
|
import '../atoms/gv-image';
|
|
30
29
|
import '../organisms/gv-pagination';
|
|
31
30
|
import { getCssVar } from '../lib/style';
|
|
@@ -573,4 +572,4 @@ export class GvTable extends withResizeObserver(LitElement) {
|
|
|
573
572
|
|
|
574
573
|
}
|
|
575
574
|
window.customElements.define('gv-table', GvTable);
|
|
576
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL21vbGVjdWxlcy9ndi10YWJsZS5qcyJdLCJuYW1lcyI6WyJjc3MiLCJMaXRFbGVtZW50IiwiaHRtbCIsInNrZWxldG9uIiwiZW1wdHkiLCJsaW5rIiwiY2xhc3NNYXAiLCJyZXBlYXQiLCJkaXNwYXRjaEN1c3RvbUV2ZW50IiwiZ2V0TGFuZ3VhZ2UiLCJpMThuIiwidW50aWwiLCJzdHlsZU1hcCIsIndpdGhSZXNpemVPYnNlcnZlciIsImlmRGVmaW5lZCIsImdldENzc1ZhciIsIkd2VGFibGUiLCJwcm9wZXJ0aWVzIiwiaXRlbXMiLCJ0eXBlIiwiQXJyYXkiLCJ0aXRsZSIsIlN0cmluZyIsIm9yZGVyIiwib3B0aW9ucyIsIm5vaGVhZGVyIiwiQm9vbGVhbiIsIm5vc29ydCIsInJvd3NoZWlnaHQiLCJyb3doZWlnaHQiLCJlbXB0eW1lc3NhZ2UiLCJmb3JtYXQiLCJGdW5jdGlvbiIsImNvbXBhcmVGbiIsInNlbGVjdGVkIiwicmVmbGVjdCIsInRvdGFsIiwiX2l0ZW1zIiwiYXR0cmlidXRlIiwiX3NrZWxldG9uIiwiX2Vycm9yIiwiX2VtcHR5IiwiX2l0ZW1zUHJvdmlkZXIiLCJfcGFnZSIsIk51bWJlciIsInN0eWxlcyIsImNvbnN0cnVjdG9yIiwiX2lkIiwiRGF0ZSIsImdldFRpbWUiLCJicmVha3BvaW50cyIsIndpZHRoIiwiaXRlbSIsIml0ZW0yIiwidmFsdWUiLCJpdGVtRGF0YSIsIl9nZXREYXRhRnJvbUZpZWxkIiwidG9Mb3dlckNhc2UiLCJpdGVtRGF0YTIiLCJzdGFydHNXaXRoIiwibG9jYWxlQ29tcGFyZSIsImFkZEV2ZW50TGlzdGVuZXIiLCJlIiwiZGV0YWlsIiwicGFnZSIsIlByb21pc2UiLCJyZXNvbHZlIiwidGhlbiIsIm1hcCIsImluZGV4IiwiaWQiLCJfb25Tb3J0Q2hhbmdlZCIsImxlbmd0aCIsImNhdGNoIiwiY29uc29sZSIsImVycm9yIiwiZmllbGQiLCJwcmV2ZW50RGVmYXVsdCIsImRlc2MiLCJwcmV2aW91c09yZGVyIiwic3Vic3RyaW5nIiwic29ydCIsInBhZ2luZyIsInNwbGljZSIsIl9nZXRJdGVtSWQiLCJfb25TZWxlY3QiLCJldmVudCIsInRhcmdldCIsImRhdGFzZXQiLCJwcmV2ZW50U2VsZWN0Iiwic2VsZWN0YWJsZSIsIml0ZW1JZCIsIl9pc1NlbGVjdGVkIiwiZmlsdGVyIiwic2VsZWN0ZWRJdGVtcyIsImluY2x1ZGVzIiwiX29uTW91c2VFbnRlciIsIl9vbk1vdXNlTGVhdmUiLCJfcmVuZGVySGVhZGVyIiwic3R5bGVHcmlkQ29sdW1ucyIsInN0eWxlIiwiaGVpZ2h0IiwidGhlYWRlciIsImRhdGEiLCJvcHRpb24iLCJvcmRlclZhbHVlIiwibGFiZWwiLCJoZWFkZXJTdHlsZSIsImJpbmQiLCJ0YWciLCJfcmVuZGVySWNvbiIsIml0ZW1JbmRleCIsImljb24iLCJpY29uVGl0bGUiLCJfcmVuZGVyQ29tcG9uZW50IiwiY29uZGl0aW9uIiwiZWxlbWVudCIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImF0dHJpYnV0ZXMiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsInJlcGxhY2UiLCJjbGFzc0xpc3QiLCJhZGQiLCJzdG9wUHJvcGFnYXRpb24iLCJvcHRpb25Db25maXJtIiwiY29uZmlybSIsInNldFRpbWVvdXQiLCJ0IiwibXNnIiwibWVzc2FnZSIsImRhbmdlciIsIm9uQ2xpY2siLCJhcHBlbmRDaGlsZCIsIl9yZW5kZXJDZWxsIiwiZm9ybWF0dGVkVmFsdWUiLCJhbHQiLCJfcmVuZGVySW1hZ2UiLCJfZ2V0Rm9ybWF0dGVkQ2VsbFZhbHVlIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwidG9Mb2NhbGVTdHJpbmciLCJ0b0xvY2FsZVRpbWVTdHJpbmciLCJfcmVuZGVyUm93cyIsInJvdyIsImN1cnNvciIsIl9yZW5kZXJUYWciLCJfcmVuZGVySXRlbXMiLCJ3aWR0aFRlbXBsYXRlIiwibyIsImZpeGVkRGF0YSIsImZpeGVkV2lkdGgiLCJyZWR1Y2UiLCJhY2MiLCJwYXJzZUludCIsImNvbHVtbkdhcCIsImpvaW4iLCJfcmVuZGVyUGFnaW5hdGlvbiIsInBhZ2luYXRpb25EYXRhIiwiZmlyc3QiLCJsYXN0IiwiY3VycmVudF9wYWdlIiwidG90YWxfcGFnZXMiLCJzcGxpdCIsInAiLCJjIiwiX29uSW1hZ2VMb2FkZWQiLCJwaWN0dXJlIiwidXBkYXRlZCIsInByb3BzIiwicmVuZGVyIiwiY2xhc3NlcyIsInRhYmxlIiwiZW1wdHlTdHlsZSIsImRpc3BsYXkiLCJ3aW5kb3ciLCJjdXN0b21FbGVtZW50cyIsImRlZmluZSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0EsR0FBVCxFQUFjQyxVQUFkLFFBQWdDLGFBQWhDO0FBQ0EsU0FBU0MsSUFBVCxRQUFxQixVQUFyQjtBQUNBLFNBQVNDLFFBQVQsUUFBeUIsb0JBQXpCO0FBQ0EsU0FBU0MsS0FBVCxRQUFzQixpQkFBdEI7QUFDQSxTQUFTQyxJQUFULFFBQXFCLGdCQUFyQjtBQUNBLFNBQVNDLFFBQVQsUUFBeUIsK0JBQXpCO0FBQ0EsU0FBU0MsTUFBVCxRQUF1Qiw0QkFBdkI7QUFDQSxTQUFTQyxtQkFBVCxRQUFvQyxlQUFwQztBQUNBLFNBQVNDLFdBQVQsRUFBc0JDLElBQXRCLFFBQWtDLGFBQWxDO0FBQ0EsU0FBU0MsS0FBVCxRQUFzQiwyQkFBdEI7QUFDQSxTQUFTQyxRQUFULFFBQXlCLCtCQUF6QjtBQUNBLFNBQVNDLGtCQUFULFFBQW1DLGdDQUFuQztBQUNBLFNBQVNDLFNBQVQsUUFBMEIsZ0NBQTFCO0FBQ0EsT0FBTyxtQkFBUDtBQUNBLE9BQU8sNEJBQVA7QUFDQSxTQUFTQyxTQUFULFFBQTBCLGNBQTFCO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFD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QUFMLEdBQWtCLEtBQUtBLFVBQXZCLEdBQW9DO0FBRDNCLEtBQW5CO0FBSUEsV0FBTzFCLElBQUksZ0JBQ0lJLFFBQVEsQ0FBQ3NLLE9BQUQsQ0FEWixZQUNnQ2hLLFFBQVEsQ0FBQztBQUFFbUssTUFBQUEsT0FBTyxFQUFFLEtBQUtuSixVQUFMLEdBQWtCLE9BQWxCLEdBQTRCO0FBQXZDLEtBQUQsQ0FEeEMsTUFFTCxLQUFLUCxLQUFMLEdBQ0VuQixJQUFJLDRDQUVFLEtBQUttQixLQUZQLElBRWdCLENBQUMsS0FBS29CLE1BQU4sR0FBZXZDLElBQUksVUFBVSxLQUFLa0MsS0FBTCxJQUFlLEtBQUtDLE1BQUwsSUFBZSxLQUFLQSxNQUFMLENBQVltQyxNQUFwRCxVQUFuQixHQUEyRixFQUYzRyxlQUROLEdBTUUsRUFSRyxJQVNMLENBQUMsS0FBSy9CLE1BQU4sSUFBZ0IsS0FBS2pCLE9BQXJCLElBQWdDLEtBQUtBLE9BQUwsQ0FBYStFLElBQTdDLEdBQ0UsS0FBSzZDLFlBQUwsRUFERixHQUVFbEosSUFBSSw4QkFBOEJVLFFBQVEsQ0FBQ2tLLFVBQUQsQ0FBdEMsTUFDQSxLQUFLaEosWUFBTCxHQUFvQixLQUFLQSxZQUF6QixHQUF3Q3BCLElBQUksQ0FBQyxnQkFBRCxDQUQ1QyxTQVhELFVBQVg7QUFnQkQ7O0FBcG1CeUQ7QUF1bUI1RHNLLE1BQU0sQ0FBQ0MsY0FBUCxDQUFzQkMsTUFBdEIsQ0FBNkIsVUFBN0IsRUFBeUNsSyxPQUF6QyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBjc3MsIExpdEVsZW1lbnQgfSBmcm9tICdsaXQtZWxlbWVudCc7XG5pbXBvcnQgeyBodG1sIH0gZnJvbSAnbGl0LWh0bWwnO1xuaW1wb3J0IHsgc2tlbGV0b24gfSBmcm9tICcuLi9zdHlsZXMvc2tlbGV0b24nO1xuaW1wb3J0IHsgZW1wdHkgfSBmcm9tICcuLi9zdHlsZXMvZW1wdHknO1xuaW1wb3J0IHsgbGluayB9IGZyb20gJy4uL3N0eWxlcy9saW5rJztcbmltcG9ydCB7IGNsYXNzTWFwIH0gZnJvbSAnbGl0LWh0bWwvZGlyZWN0aXZlcy9jbGFzcy1tYXAnO1xuaW1wb3J0IHsgcmVwZWF0IH0gZnJvbSAnbGl0LWh0bWwvZGlyZWN0aXZlcy9yZXBlYXQnO1xuaW1wb3J0IHsgZGlzcGF0Y2hDdXN0b21FdmVudCB9IGZyb20gJy4uL2xpYi9ldmVudHMnO1xuaW1wb3J0IHsgZ2V0TGFuZ3VhZ2UsIGkxOG4gfSBmcm9tICcuLi9saWIvaTE4bic7XG5pbXBvcnQgeyB1bnRpbCB9IGZyb20gJ2xpdC1odG1sL2RpcmVjdGl2ZXMvdW50aWwnO1xuaW1wb3J0IHsgc3R5bGVNYXAgfSBmcm9tICdsaXQtaHRtbC9kaXJlY3RpdmVzL3N0eWxlLW1hcCc7XG5pbXBvcnQgeyB3aXRoUmVzaXplT2JzZXJ2ZXIgfSBmcm9tICcuLi9taXhpbnMvd2l0aC1yZXNpemUtb2JzZXJ2ZXInO1xuaW1wb3J0IHsgaWZEZWZpbmVkIH0gZnJvbSAnbGl0LWh0bWwvZGlyZWN0aXZlcy9pZi1kZWZpbmVkJztcbmltcG9ydCAnLi4vYXRvbXMvZ3YtaW1hZ2UnO1xuaW1wb3J0ICcuLi9vcmdhbmlzbXMvZ3YtcGFnaW5hdGlvbic7XG5pbXBvcnQgeyBnZXRDc3NWYXIgfSBmcm9tICcuLi9saWIvc3R5bGUnO1xuXG4vKipcbiAqIFRhYmxlIGNvbXBvbmVudFxuICpcbiAqICMjIERldGFpbHNcbiAqICogaGFzIEB0aGVtZSBmYWNldFxuICpcbiAqIEBmaXJlcyBndi10YWJsZTpzZWxlY3QgLSB3aGVuIHRhYmxlIHJvdyBpcyBzZWxlY3RlZFxuICogQGZpcmVzIGd2LXRhYmxlOm1vdXNlZW50ZXIgLSB3aGVuIHRoZSBwb2ludGVyIGlzIGVudGVyaW5nIG9uIGEgdGFibGUgcm93XG4gKiBAZmlyZXMgZ3YtdGFibGU6bW91c2VsZWF2ZSAtIHdoZW4gdGhlIHBvaW50ZXIgaXMgbGVhdmluZyBhIHRhYmxlIHJvd1xuICogQGZpcmVzIGd2LXRhYmxlOnNvcnQgLSB3aGVuIHRoZSBvcmRlciBpcyBjaGFuZ2VkXG4gKlxuICogQGF0dHIge0FycmF5PGFueT59IGl0ZW1zIC0gQSBsaXN0IG9mIGl0ZW1zIHRvIGRpc3BsYXlcbiAqIEBhdHRyIHtTdHJpbmd9IHRpdGxlIC0gQSB0aXRsZSB0byBkaXNwbGF5XG4gKiBAYXR0ciB7U3RyaW5nfSBvcmRlciAtIElmIGRlZmluZWQsIHRoZSB0YWJsZSB3aWxsIGJlIG9yZGVyZWQgYnkgdGhlIGZpZWxkLiBTdGFydCB3aXRoICctJyB0byBzb3J0IGluIGRlc2NcbiAqIEBhdHRyIHtBcnJheTxhbnk+fSBvcHRpb25zIC0gVGhlIGxpc3Qgb2Ygb3B0aW9ucyB0byBkaXNwbGF5XG4gKiBAYXR0ciB7Qm9vbGVhbn0gbm9oZWFkZXIgLSBVc2VkIHRvIGhpZGUgdGhlIHRhYmxlIGhlYWRlclxuICogQGF0dHIge0Jvb2xlYW59IG5vc29ydCAtIFVzZWQgdG8gZGlzYWJsZSB0aGUgY2xpY2sgb24gaGVhZGVyIHRvIHNvcnRcbiAqIEBhdHRyIHtTdHJpbmd9IHJvd3NoZWlnaHQgLSBUaGUgaGVpZ2h0IG9mIHRoZSB0YWJsZSByb3dzXG4gKiBAYXR0ciB7U3RyaW5nfSByb3doZWlnaHQgLSBUaGUgaGVpZ2h0IG9mIHRoZSB0YWJsZSBzaW5nbGUgcm93XG4gKiBAYXR0ciB7U3RyaW5nfSBlbXB0eW1lc3NhZ2UgLSBUaGUgZW1wdHkgbWVzc2FnZSB0byBkaXNwbGF5XG4gKiBAYXR0ciB7RnVuY3Rpb259IGZvcm1hdCAtIEEgZnVuY3Rpb24gdG8gZm9ybWF0IHRhYmxlIGhlYWRlcnMgYW5kIHN0cmluZyBjZWxsc1xuICogQGF0dHIge0Z1bmN0aW9ufSBjb21wYXJlRm4gLSBBIGZ1bmN0aW9uIHRvIGRlZmluZSBob3cgdG8gc29ydC4gRGVmYXVsdCBmdW5jdGlvbiB3aWxsIHNvcnQgc2VsZWN0ZWQgZmllbGQgaWdub3JpbmcgY2FzZVxuICogQGF0dHIge0FycmF5PGFueT59IHNlbGVjdGVkIC0gQSBsaXN0IG9mIHNlbGVjdGVkIGlkcyBvZiB0aGUgaXRlbXMgZGlzcGxheWVkXG4gKiBAYXR0ciB7U3RyaW5nfSB0b3RhbCAtIFRvdGFsIG9mIGRhdGEgZGlzcGxheWVkIG9uIHRoZSB0YWJsZSAodXNlZnVsIHdpdGggaW4gY2FzZSBvZiBwYWdpbmF0aW9uKVxuICogQGF0dHIge0Jvb2xlYW59IHNrZWxldG9uIC0gRm9yY2UgZ3YtdGFibGUgdG8gYmUgaW4gc2tlbGV0b24gbW9kZVxuICpcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtdGFibGUtc2VsZWN0ZWQtLWJnYz12YXIoLS1ndi10aGVtZS1jb2xvciwgIzVhNzY4NCldIC0gU2VsZWN0ZWQgYmFja2dyb3VuZCBjb2xvclxuICogQGNzc3Byb3Age0NvbG9yfSBbLS1ndi10YWJsZS1ob3Zlci0tYmdjPXZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3ItbGlnaHRlciwgI2ZhZmFmYSldIC0gUm93IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXJcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtdGFibGUtLWJnYz12YXIoLS1ndi10aGVtZS1uZXV0cmFsLWNvbG9yLWxpZ2h0ZXN0LCAjZmZmZmZmKV0gLSBCYWNrZ3JvdW5kIGNvbG9yXG4gKiBAY3NzcHJvcCB7Q29sb3J9IFstLWd2LXRhYmxlLS1iZGM9dmFyKC0tZ3YtdGhlbWUtbmV1dHJhbC1jb2xvci1kYXJrLCAjZDlkOWQ5KV0gLSBCb3JkZXIgY29sb3JcbiAqIEBjc3Nwcm9wIHtTdHJpbmd9IFstLWd2LXRhYmxlLWhlYWRlci0tZno9dmFyKC0tZ3YtdGhlbWUtZm9udC1zaXplLWwsIDIwcHgpXSAtIFRpdGxlIGZvbnQgc2l6ZVxuICogQGNzc3Byb3Age0xlbmd0aH0gWy0tZ3YtdGFibGUtaGVhZGVyLS1wPTJyZW0gNHJlbV0gLSBUaXRsZSBwYWRkaW5nXG4gKiBAY3NzcHJvcCB7U3RyaW5nfSBbLS1ndi10YWJsZS1yb3dzLS1vdj1hdXRvXSAtIE92ZXJmbG93IG9uIHRhYmxlXG4gKiBAY3NzcHJvcCB7TGVuZ3RofSBbLS1ndi10YWJsZS0tY29sbWc9MC4ycmVtXSAtIENvbHVtbiBnYXBcbiAqIEBjc3Nwcm9wIHtTdHJpbmd9IFstLWd2LXRhYmxlLXJvdy0tYWk9Y2VudGVyXSAtIFJvdyBhbGlnbi1pdGVtc1xuICogQGNzc3Byb3Age1N0cmluZ30gWy0tZ3YtdGFibGUtcm93LS1hYz1jZW50ZXJdIC0gUm93IGFsaWduLWNvbnRlbnRcbiAqIEBjc3Nwcm9wIHtTdHJpbmd9IFstLWd2LXRhYmxlLWNlbGwtLWQ9ZmxleF0gLSBDZWxsIGRpc3BsYXlcbiAqL1xuZXhwb3J0IGNsYXNzIEd2VGFibGUgZXh0ZW5kcyB3aXRoUmVzaXplT2JzZXJ2ZXIoTGl0RWxlbWVudCkge1xuICBzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGl0ZW1zOiB7IHR5cGU6IEFycmF5IH0sXG4gICAgICB0aXRsZTogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIG9yZGVyOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgb3B0aW9uczogeyB0eXBlOiBBcnJheSB9LFxuICAgICAgbm9oZWFkZXI6IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgbm9zb3J0OiB7IHR5cGU6IEJvb2xlYW4gfSxcbiAgICAgIHJvd3NoZWlnaHQ6IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICByb3doZWlnaHQ6IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICBlbXB0eW1lc3NhZ2U6IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICBmb3JtYXQ6IHsgdHlwZTogRnVuY3Rpb24gfSxcbiAgICAgIGNvbXBhcmVGbjogeyB0eXBlOiBGdW5jdGlvbiB9LFxuICAgICAgc2VsZWN0ZWQ6IHsgdHlwZTogQXJyYXksIHJlZmxlY3Q6IHRydWUgfSxcbiAgICAgIHRvdGFsOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgc2tlbGV0b246IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgX2l0ZW1zOiB7IHR5cGU6IEFycmF5LCBhdHRyaWJ1dGU6IGZhbHNlIH0sXG4gICAgICBfc2tlbGV0b246IHsgdHlwZTogQm9vbGVhbiwgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgICAgX2Vycm9yOiB7IHR5cGU6IEJvb2xlYW4sIGF0dHJpYnV0ZTogZmFsc2UgfSxcbiAgICAgIF9lbXB0eTogeyB0eXBlOiBCb29sZWFuLCBhdHRyaWJ1dGU6IGZhbHNlIH0sXG4gICAgICBfaXRlbXNQcm92aWRlcjogeyB0eXBlOiBBcnJheSwgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgICAgX3BhZ2U6IHsgdHlwZTogTnVtYmVyLCBhdHRyaWJ1dGU6IGZhbHNlIH0sXG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBnZXQgc3R5bGVzKCkge1xuICAgIHJldHVybiBbXG4gICAgICBsaW5rLFxuICAgICAgc2tlbGV0b24sXG4gICAgICBlbXB0eSxcbiAgICAgIC8vIGxhbmd1YWdlPUNTU1xuICAgICAgY3NzYFxuICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgLS1zZWxlY3RlZC0tYmdjOiB2YXIoLS1ndi10YWJsZS1zZWxlY3RlZC0tYmdjLCB2YXIoLS1ndi10aGVtZS1jb2xvciwgIzVhNzY4NCkpO1xuICAgICAgICAgIC0taG92ZXItYmdjOiB2YXIoLS1ndi10YWJsZS1ob3Zlci0tYmdjLCB2YXIoLS1ndi10aGVtZS1uZXV0cmFsLWNvbG9yLWxpZ2h0ZXIsICNmYWZhZmEpKTtcbiAgICAgICAgICAtLWJnYzogdmFyKC0tZ3YtdGFibGUtLWJnYywgdmFyKC0tZ3YtdGhlbWUtbmV1dHJhbC1jb2xvci1saWdodGVzdCwgI2ZmZmZmZikpO1xuICAgICAgICAgIC0tYmRjOiB2YXIoLS1ndi10YWJsZS0tYmRjLCB2YXIoLS1ndi10aGVtZS1uZXV0cmFsLWNvbG9yLWRhcmssICNkOWQ5ZDkpKTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luOiAwLjJyZW07XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50YWJsZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmdjKTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJvd3Mge1xuICAgICAgICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcbiAgICAgICAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gICAgICAgICAgb3ZlcmZsb3c6IHZhcigtLWd2LXRhYmxlLXJvd3MtLW92LCBhdXRvKTtcbiAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMjUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cblxuICAgICAgICAucm93czo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICA6aG9zdChbdy1sdC03NjhdKSAucm93IHtcbiAgICAgICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICAgIH1cblxuICAgICAgICA6aG9zdChbdy1sdC01ODBdKSAucm93IHtcbiAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIH1cblxuICAgICAgICA6aG9zdChbdy1sdC00MDBdKSAucm93IHtcbiAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAudGhlYWRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3YtdGhlbWUtbmV1dHJhbC1jb2xvci1saWdodGVyKTtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAuMnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yb3csXG4gICAgICAgIC50aGVhZGVyIHtcbiAgICAgICAgICBhbGlnbi1pdGVtczogdmFyKC0tZ3YtdGFibGUtcm93LS1haSwgY2VudGVyKTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiB2YXIoLS1ndi10YWJsZS1yb3ctLWFjLCBjZW50ZXIpO1xuICAgICAgICAgIGJvcmRlci1yaWdodDogc29saWQgdGhpY2sgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jZWxsIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgZGlzcGxheTogdmFyKC0tZ3YtdGFibGUtY2VsbC0tZCwgZmxleCk7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yb3c6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCA1cHggM3B4IC02cHggdmFyKC0tYmRjKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yb3c6aG92ZXIsXG4gICAgICAgIC5yb3cuc2VsZWN0ZWQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyLWJnYyk7XG4gICAgICAgIH1cblxuICAgICAgICAucm93LnNlbGVjdGVkIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXNlbGVjdGVkLS1iZ2MpO1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICAuaGVhZGVyIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmRjKTtcbiAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1ndi10YWJsZS1oZWFkZXItLXAsIDJyZW0gNHJlbSk7XG4gICAgICAgIH1cblxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZ3YtdGFibGUtaGVhZGVyLS1meiwgdmFyKC0tZ3YtdGhlbWUtZm9udC1zaXplLWwsIDIwcHgpKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tZ3YtdGFibGUtaGVhZGVyLS1meiwgdmFyKC0tZ3YtdGhlbWUtZm9udC1zaXplLWwsIDIwcHgpKTtcbiAgICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgIH1cblxuICAgICAgICAudGl0bGUgc3BhbiB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICBmb250LXNpemU6IHZhcigtLWd2LXRoZW1lLWZvbnQtc2l6ZS1zKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tZ3YtdGhlbWUtZm9udC1zaXplLXMpO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICB9XG5cbiAgICAgICAgZ3YtaWRlbnRpdHktcGljdHVyZSB7XG4gICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICAgIC0tZ3YtaW1hZ2UtLW9mOiBjb250YWluO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgZ3YtaWNvbiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgLS1ndi1pY29uLS1zOiAxOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgZ3YtaWNvbi5kZXNjIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgZ3YtcGFnaW5hdGlvbiB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICAgIH1cblxuICAgICAgICAuY2VsbCA+ICo6bm90KGd2LXRhZykge1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgYCxcbiAgICBdO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLl9pZCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgIHRoaXMuYnJlYWtwb2ludHMgPSB7XG4gICAgICB3aWR0aDogWzQwMCwgNTgwLCA3NjhdLFxuICAgIH07XG4gICAgdGhpcy5fZW1wdHkgPSBmYWxzZTtcbiAgICB0aGlzLm9yZGVyID0gJyc7XG4gICAgdGhpcy5fcGFnZSA9IDE7XG4gICAgdGhpcy5faXRlbXNQcm92aWRlciA9IFtdO1xuICAgIHRoaXMuc2VsZWN0ZWQgPSBbXTtcbiAgICB0aGlzLmNvbXBhcmVGbiA9IChpdGVtLCBpdGVtMiwgdmFsdWUpID0+IHtcbiAgICAgIGNvbnN0IGl0ZW1EYXRhID1cbiAgICAgICAgdGhpcy5fZ2V0RGF0YUZyb21GaWVsZChpdGVtLCB2YWx1ZSkgJiYgdGhpcy5fZ2V0RGF0YUZyb21GaWVsZChpdGVtLCB2YWx1ZSkudG9Mb3dlckNhc2VcbiAgICAgICAgICA/IHRoaXMuX2dldERhdGFGcm9tRmllbGQoaXRlbSwgdmFsdWUpLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICA6ICcnO1xuICAgICAgY29uc3QgaXRlbURhdGEyID1cbiAgICAgICAgdGhpcy5fZ2V0RGF0YUZyb21GaWVsZChpdGVtMiwgdmFsdWUpICYmIHRoaXMuX2dldERhdGFGcm9tRmllbGQoaXRlbTIsIHZhbHVlKS50b0xvd2VyQ2FzZVxuICAgICAgICAgID8gdGhpcy5fZ2V0RGF0YUZyb21GaWVsZChpdGVtMiwgdmFsdWUpLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICA6ICcnO1xuICAgICAgaWYgKHRoaXMub3JkZXIuc3RhcnRzV2l0aCgnLScpKSB7XG4gICAgICAgIHJldHVybiBpdGVtRGF0YTIubG9jYWxlQ29tcGFyZShpdGVtRGF0YSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gaXRlbURhdGEubG9jYWxlQ29tcGFyZShpdGVtRGF0YTIpO1xuICAgICAgfVxuICAgIH07XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdndi1wYWdpbmF0aW9uOnBhZ2luYXRlJywgKGUpID0+IHtcbiAgICAgIHRoaXMuX3BhZ2UgPSBlLmRldGFpbC5wYWdlO1xuICAgIH0pO1xuICB9XG5cbiAgc2V0IGl0ZW1zKGl0ZW1zKSB7XG4gICAgdGhpcy5fc2tlbGV0b24gPSB0cnVlO1xuICAgIFByb21pc2UucmVzb2x2ZShpdGVtcylcbiAgICAgIC50aGVuKChpdGVtcykgPT4ge1xuICAgICAgICBpZiAoaXRlbXMpIHtcbiAgICAgICAgICB0aGlzLl9pdGVtc1Byb3ZpZGVyID0gaXRlbXMubWFwKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaXRlbS5faWQgPSBpdGVtLmlkID09IG51bGwgPyBpbmRleCA6IGl0ZW0uaWQ7XG4gICAgICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLl9vblNvcnRDaGFuZ2VkKCk7XG4gICAgICAgICAgdGhpcy5fZW1wdHkgPSB0aGlzLl9pdGVtc1Byb3ZpZGVyLmxlbmd0aCA9PT0gMDtcbiAgICAgICAgICB0aGlzLl9za2VsZXRvbiA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlKSA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgIHRoaXMuX2Vycm9yID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5fc2tlbGV0b24gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5faXRlbXNQcm92aWRlciA9IFtdO1xuICAgICAgfSk7XG4gIH1cblxuICBnZXQgaXRlbXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1zUHJvdmlkZXI7XG4gIH1cblxuICBfb25Tb3J0Q2hhbmdlZChmaWVsZCwgZSkge1xuICAgIGlmIChlKSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICAgIGlmICh0aGlzLl9pdGVtc1Byb3ZpZGVyICYmIHRoaXMub3JkZXIpIHtcbiAgICAgIGNvbnN0IGRlc2MgPSB0aGlzLm9yZGVyLnN0YXJ0c1dpdGgoJy0nKTtcbiAgICAgIGNvbnN0IHByZXZpb3VzT3JkZXIgPSBkZXNjID8gdGhpcy5vcmRlci5zdWJzdHJpbmcoMSkgOiB0aGlzLm9yZGVyO1xuICAgICAgY29uc3QgdmFsdWUgPSBmaWVsZCB8fCBwcmV2aW91c09yZGVyO1xuICAgICAgaWYgKGZpZWxkKSB7XG4gICAgICAgIHRoaXMub3JkZXIgPSBwcmV2aW91c09yZGVyID09PSB2YWx1ZSA/IChkZXNjID8gdmFsdWUgOiAnLScgKyB2YWx1ZSkgOiB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIHRoaXMuX2l0ZW1zUHJvdmlkZXIgPSB0aGlzLl9pdGVtc1Byb3ZpZGVyLnNvcnQoKGl0ZW0sIGl0ZW0yKSA9PiB0aGlzLmNvbXBhcmVGbihpdGVtLCBpdGVtMiwgdmFsdWUpKTtcbiAgICAgIGlmIChmaWVsZCkge1xuICAgICAgICBkaXNwYXRjaEN1c3RvbUV2ZW50KHRoaXMsICdzb3J0JywgeyBvcmRlcjogdGhpcy5vcmRlciB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXQgX2l0ZW1zKCkge1xuICAgIGlmICh0aGlzLl9pdGVtc1Byb3ZpZGVyKSB7XG4gICAgICBpZiAodGhpcy5vcHRpb25zICYmIHRoaXMub3B0aW9ucy5wYWdpbmcgJiYgdGhpcy5vcHRpb25zLnBhZ2luZyA8IHRoaXMuX2l0ZW1zUHJvdmlkZXIubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gKHRoaXMuX3BhZ2UgLSAxKSAqIHRoaXMub3B0aW9ucy5wYWdpbmc7XG4gICAgICAgIHJldHVybiBbLi4udGhpcy5faXRlbXNQcm92aWRlcl0uc3BsaWNlKGluZGV4LCB0aGlzLm9wdGlvbnMucGFnaW5nKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLl9pdGVtc1Byb3ZpZGVyO1xuICAgIH1cbiAgICByZXR1cm4gW107XG4gIH1cblxuICBfZ2V0SXRlbUlkKGl0ZW0pIHtcbiAgICByZXR1cm4gaXRlbS5pZCA9PSBudWxsID8gaXRlbS5faWQgOiBpdGVtLmlkO1xuICB9XG5cbiAgX29uU2VsZWN0KGl0ZW0sIGV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLl9za2VsZXRvbiAmJiAhZXZlbnQudGFyZ2V0LmRhdGFzZXQucHJldmVudFNlbGVjdCkge1xuICAgICAgaWYgKHRoaXMub3B0aW9ucy5zZWxlY3RhYmxlKSB7XG4gICAgICAgIGNvbnN0IGl0ZW1JZCA9IHRoaXMuX2dldEl0ZW1JZChpdGVtKTtcbiAgICAgICAgaWYgKHRoaXMuX2lzU2VsZWN0ZWQoaXRlbSkpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkID0gdGhpcy5zZWxlY3RlZC5maWx0ZXIoKGlkKSA9PiBpdGVtSWQgIT09IGlkKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm9wdGlvbnMuc2VsZWN0YWJsZSA9PT0gJ211bHRpJykge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBbLi4udGhpcy5zZWxlY3RlZCwgaXRlbUlkXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkID0gW2l0ZW1JZF07XG4gICAgICAgIH1cbiAgICAgICAgZGlzcGF0Y2hDdXN0b21FdmVudCh0aGlzLCAnc2VsZWN0JywgeyBpdGVtczogdGhpcy5zZWxlY3RlZEl0ZW1zLCBvcHRpb25zOiB0aGlzLm9wdGlvbnMgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkaXNwYXRjaEN1c3RvbUV2ZW50KHRoaXMsICdzZWxlY3QnLCB7IGl0ZW1zOiBbaXRlbV0gfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0IHNlbGVjdGVkSXRlbXMoKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQgJiYgdGhpcy5faXRlbXNQcm92aWRlcikge1xuICAgICAgcmV0dXJuIHRoaXMuX2l0ZW1zUHJvdmlkZXIuZmlsdGVyKChpdGVtKSA9PiB0aGlzLnNlbGVjdGVkICYmIHRoaXMuc2VsZWN0ZWQuaW5jbHVkZXModGhpcy5fZ2V0SXRlbUlkKGl0ZW0pKSk7XG4gICAgfVxuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIF9vbk1vdXNlRW50ZXIoaXRlbSkge1xuICAgIGlmICghKHRoaXMuc2VsZWN0ZWQgJiYgdGhpcy5zZWxlY3RlZC5sZW5ndGggPiAwKSAmJiAhdGhpcy5fc2tlbGV0b24pIHtcbiAgICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQodGhpcywgJ21vdXNlZW50ZXInLCB7IGl0ZW0gfSk7XG4gICAgfVxuICB9XG5cbiAgX29uTW91c2VMZWF2ZSgpIHtcbiAgICBpZiAoISh0aGlzLnNlbGVjdGVkICYmIHRoaXMuc2VsZWN0ZWQubGVuZ3RoID4gMCkgJiYgIXRoaXMuX3NrZWxldG9uKSB7XG4gICAgICBkaXNwYXRjaEN1c3RvbUV2ZW50KHRoaXMsICdtb3VzZWxlYXZlJyk7XG4gICAgfVxuICB9XG5cbiAgX3JlbmRlckhlYWRlcihzdHlsZUdyaWRDb2x1bW5zKSB7XG4gICAgaWYgKHRoaXMubm9oZWFkZXIpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgc3R5bGUgPSB7XG4gICAgICAgIC4uLnN0eWxlR3JpZENvbHVtbnMsXG4gICAgICAgIC4uLntcbiAgICAgICAgICBoZWlnaHQ6IHRoaXMucm93aGVpZ2h0LFxuICAgICAgICAgICdncmlkLWF1dG8tcm93cyc6IHRoaXMucm93aGVpZ2h0ID8gbnVsbCA6ICdtaW5tYXgoODBweCwgYXV0byknLFxuICAgICAgICB9LFxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIGh0bWxgIDxkaXYgY2xhc3M9JHtjbGFzc01hcCh7IHRoZWFkZXI6IHRydWUgfSl9IHN0eWxlPSR7c3R5bGVNYXAoc3R5bGUpfT5cbiAgICAgICAgJHt0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLmRhdGEgJiYgdGhpcy5faXRlbXMgJiYgdGhpcy5faXRlbXMubGVuZ3RoXG4gICAgICAgICAgPyByZXBlYXQoXG4gICAgICAgICAgICAgIHRoaXMub3B0aW9ucy5kYXRhLFxuICAgICAgICAgICAgICAob3B0aW9uKSA9PiBvcHRpb24sXG4gICAgICAgICAgICAgIChvcHRpb24pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcmRlclZhbHVlID0gdGhpcy5vcmRlciAmJiB0aGlzLm9yZGVyLnN0YXJ0c1dpdGgoJy0nKSA/IHRoaXMub3JkZXIuc3Vic3RyaW5nKDEpIDogdGhpcy5vcmRlcjtcbiAgICAgICAgICAgICAgICBjb25zdCBsYWJlbCA9IHRoaXMuZm9ybWF0ICYmIG9wdGlvbi5sYWJlbCA/IHRoaXMuZm9ybWF0KG9wdGlvbi5sYWJlbCkgOiBvcHRpb24ubGFiZWw7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3R5bGUgPSB0eXBlb2Ygb3B0aW9uLmhlYWRlclN0eWxlID09PSAnZnVuY3Rpb24nID8gb3B0aW9uLmhlYWRlclN0eWxlKGxhYmVsKSA6IG9wdGlvbi5oZWFkZXJTdHlsZTtcbiAgICAgICAgICAgICAgICByZXR1cm4gaHRtbGAgPGRpdiBzdHlsZT1cIiR7c3R5bGUgfHwgJyd9XCI+XG4gICAgICAgICAgICAgICAgICAke3RoaXMub3JkZXIgJiYgIXRoaXMubm9zb3J0XG4gICAgICAgICAgICAgICAgICAgID8gaHRtbGBcbiAgICAgICAgICAgICAgICAgICA8Z3YtYnV0dG9uIGxpbmsgQGNsaWNrPVwiJHt0aGlzLl9vblNvcnRDaGFuZ2VkLmJpbmQodGhpcywgb3B0aW9uLmZpZWxkIHx8IG9wdGlvbi50YWcpfVwiPiR7dW50aWwobGFiZWwpfTwvZ3YtYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICR7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcmRlclZhbHVlID09PSBvcHRpb24udGFnIHx8IChvcmRlclZhbHVlID09PSBvcHRpb24uZmllbGQgJiYgb3B0aW9uLnR5cGUgIT09ICdpbWFnZScpXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8gaHRtbGAgPGd2LWljb24gY2xhc3M9JHtjbGFzc01hcCh7IGRlc2M6IHRoaXMub3JkZXIuc3RhcnRzV2l0aCgnLScpIH0pfSBzaGFwZT1cImRlc2lnbjp0cmlhbmdsZVwiPjwvZ3YtaWNvbj5gXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDogJydcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvYT5gXG4gICAgICAgICAgICAgICAgICAgIDogdW50aWwobGFiZWwpfVxuICAgICAgICAgICAgICAgIDwvZGl2PmA7XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgOiAnJ31cbiAgICAgIDwvZGl2PmA7XG4gICAgfVxuICB9XG5cbiAgX3JlbmRlckljb24oaXRlbSwgaXRlbUluZGV4LCBvcHRpb24pIHtcbiAgICBjb25zdCBpY29uID0gdHlwZW9mIG9wdGlvbi5pY29uID09PSAnZnVuY3Rpb24nID8gb3B0aW9uLmljb24oaXRlbSkgOiBvcHRpb24uaWNvbjtcbiAgICBjb25zdCBpY29uVGl0bGUgPSB0eXBlb2Ygb3B0aW9uLmljb25UaXRsZSA9PT0gJ2Z1bmN0aW9uJyA/IG9wdGlvbi5pY29uVGl0bGUoaXRlbSkgOiBvcHRpb24uaWNvblRpdGxlO1xuICAgIGlmIChpY29uKSB7XG4gICAgICByZXR1cm4gaHRtbGAgPGd2LWljb24gc2hhcGU9XCIke2ljb259XCIgdGl0bGU9XCIke2ljb25UaXRsZX1cIj48L2d2LWljb24+YDtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgX3JlbmRlckNvbXBvbmVudChpdGVtLCBpdGVtSW5kZXgsIG9wdGlvbiwgdmFsdWUsIHR5cGUpIHtcbiAgICBpZiAob3B0aW9uLmNvbmRpdGlvbiAmJiAhb3B0aW9uLmNvbmRpdGlvbihpdGVtKSkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0eXBlKTtcbiAgICBlbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gICAgaWYgKG9wdGlvbi5hdHRyaWJ1dGVzKSB7XG4gICAgICBPYmplY3Qua2V5cyhvcHRpb24uYXR0cmlidXRlcykuZm9yRWFjaCgoYXR0cmlidXRlKSA9PiB7XG4gICAgICAgIGlmIChhdHRyaWJ1dGUuc3RhcnRzV2l0aCgnb24nKSkge1xuICAgICAgICAgIGNvbnN0IGV2ZW50ID0gYXR0cmlidXRlLnJlcGxhY2UoJ29uJywgJycpLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgaWYgKGV2ZW50ID09PSAnY2xpY2snKSB7XG4gICAgICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2xpbmsnKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZWxlbWVudC5kYXRhc2V0LnByZXZlbnRTZWxlY3QgPSB0cnVlO1xuICAgICAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihldmVudCwgKGUpID0+IHtcbiAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICBjb25zdCBvcHRpb25Db25maXJtID0gdHlwZW9mIG9wdGlvbi5jb25maXJtID09PSAnZnVuY3Rpb24nID8gb3B0aW9uLmNvbmZpcm0oaXRlbSkgOiBvcHRpb24uY29uZmlybTtcbiAgICAgICAgICAgIGlmIChvcHRpb25Db25maXJtID09IG51bGwpIHtcbiAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgb3B0aW9uLmF0dHJpYnV0ZXNbYXR0cmlidXRlXShpdGVtLCBlLCBlbGVtZW50LCB0aGlzKTtcbiAgICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIG9wdGlvbi5hdHRyaWJ1dGVzW2F0dHJpYnV0ZV0gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IG9wdGlvbi5hdHRyaWJ1dGVzW2F0dHJpYnV0ZV0oaXRlbSk7XG4gICAgICAgICAgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICAgICAgICAgIGVsZW1lbnRbYXR0cmlidXRlXSA9IHZhbHVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAodGhpcy5mb3JtYXQgJiYgdHlwZW9mIG9wdGlvbi5hdHRyaWJ1dGVzW2F0dHJpYnV0ZV0gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1hdChvcHRpb24uYXR0cmlidXRlc1thdHRyaWJ1dGVdKS50aGVuKCh0KSA9PiB7XG4gICAgICAgICAgICAgIGVsZW1lbnRbYXR0cmlidXRlXSA9IHQ7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZWxlbWVudFthdHRyaWJ1dGVdID0gb3B0aW9uLmF0dHJpYnV0ZXNbYXR0cmlidXRlXTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2lucHV0JywgKGV2ZW50KSA9PiB7XG4gICAgICB0aGlzLl9pdGVtc1tpdGVtSW5kZXhdW29wdGlvbi5maWVsZF0gPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgfSk7XG5cbiAgICBjb25zdCBvcHRpb25Db25maXJtID0gdHlwZW9mIG9wdGlvbi5jb25maXJtID09PSAnZnVuY3Rpb24nID8gb3B0aW9uLmNvbmZpcm0oaXRlbSkgOiBvcHRpb24uY29uZmlybTtcblxuICAgIGlmIChvcHRpb25Db25maXJtKSB7XG4gICAgICBjb25zdCBjb25maXJtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZ3YtY29uZmlybScpO1xuICAgICAgaWYgKHRoaXMuZm9ybWF0KSB7XG4gICAgICAgIHRoaXMuZm9ybWF0KG9wdGlvbkNvbmZpcm0ubXNnKS50aGVuKCh0KSA9PiAoY29uZmlybS5tZXNzYWdlID0gdCkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uZmlybS5tZXNzYWdlID0gb3B0aW9uQ29uZmlybS5tc2c7XG4gICAgICB9XG4gICAgICBpZiAob3B0aW9uQ29uZmlybS5kYW5nZXIpIHtcbiAgICAgICAgY29uZmlybS5kYW5nZXIgPSB0cnVlO1xuICAgICAgfVxuICAgICAgY29uZmlybS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChlKSA9PiBlLnN0b3BQcm9wYWdhdGlvbigpKTtcbiAgICAgIGNvbmZpcm0uYWRkRXZlbnRMaXN0ZW5lcignZ3YtY29uZmlybTpvaycsIChlKSA9PiB7XG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIG9wdGlvbi5hdHRyaWJ1dGVzLm9uQ2xpY2soaXRlbSwgZSwgZWxlbWVudCk7XG4gICAgICB9KTtcbiAgICAgIGNvbmZpcm0uYXBwZW5kQ2hpbGQoZWxlbWVudCk7XG4gICAgICByZXR1cm4gY29uZmlybTtcbiAgICB9XG4gICAgcmV0dXJuIGVsZW1lbnQ7XG4gIH1cblxuICBfcmVuZGVyQ2VsbChmb3JtYXR0ZWRWYWx1ZSwgb3B0aW9uLCBpdGVtLCBpdGVtSW5kZXgpIHtcbiAgICBpZiAob3B0aW9uLnR5cGUpIHtcbiAgICAgIGlmIChvcHRpb24udHlwZSA9PT0gJ2ltYWdlJykge1xuICAgICAgICBsZXQgYWx0ID0gJyc7XG4gICAgICAgIGlmIChvcHRpb24uYWx0KSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBvcHRpb24uYWx0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBhbHQgPSBvcHRpb24uYWx0KGl0ZW0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhbHQgPSB0aGlzLl9nZXREYXRhRnJvbUZpZWxkKGl0ZW0sIG9wdGlvbi5hbHQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fcmVuZGVySW1hZ2UoZm9ybWF0dGVkVmFsdWUsIGFsdCk7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBvcHRpb24udHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVuZGVyQ29tcG9uZW50KGl0ZW0sIGl0ZW1JbmRleCwgb3B0aW9uLCBmb3JtYXR0ZWRWYWx1ZSwgb3B0aW9uLnR5cGUoaXRlbSkpO1xuICAgICAgfSBlbHNlIGlmIChvcHRpb24udHlwZS5zdGFydHNXaXRoKCdndi0nKSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVuZGVyQ29tcG9uZW50KGl0ZW0sIGl0ZW1JbmRleCwgb3B0aW9uLCBmb3JtYXR0ZWRWYWx1ZSwgb3B0aW9uLnR5cGUpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdW50aWwoZm9ybWF0dGVkVmFsdWUpO1xuICB9XG5cbiAgX2dldEZvcm1hdHRlZENlbGxWYWx1ZShvcHRpb24sIGl0ZW0pIHtcbiAgICBsZXQgdmFsdWUgPSBvcHRpb24uZmllbGQgPyB0aGlzLl9nZXREYXRhRnJvbUZpZWxkKGl0ZW0sIG9wdGlvbi5maWVsZCkgOiAnJztcblxuICAgIGlmICh2YWx1ZSkge1xuICAgICAgaWYgKG9wdGlvbi50eXBlID09PSAnZGF0ZScpIHtcbiAgICAgICAgdmFsdWUgPSBuZXcgRGF0ZSh2YWx1ZSkudG9Mb2NhbGVEYXRlU3RyaW5nKGdldExhbmd1YWdlKCkpO1xuICAgICAgfSBlbHNlIGlmIChvcHRpb24udHlwZSA9PT0gJ2RhdGV0aW1lJykge1xuICAgICAgICB2YWx1ZSA9IG5ldyBEYXRlKHZhbHVlKS50b0xvY2FsZVN0cmluZyhnZXRMYW5ndWFnZSgpKTtcbiAgICAgIH0gZWxzZSBpZiAob3B0aW9uLnR5cGUgPT09ICd0aW1lJykge1xuICAgICAgICB2YWx1ZSA9IG5ldyBEYXRlKHZhbHVlKS50b0xvY2FsZVRpbWVTdHJpbmcoZ2V0TGFuZ3VhZ2UoKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbi5mb3JtYXQpIHtcbiAgICAgIHZhbHVlID0gb3B0aW9uLmZvcm1hdCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgX2lzU2VsZWN0ZWQoaXRlbSkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkICYmIHRoaXMuc2VsZWN0ZWQuaW5jbHVkZXModGhpcy5fZ2V0SXRlbUlkKGl0ZW0pKTtcbiAgfVxuXG4gIF9yZW5kZXJSb3dzKHN0eWxlR3JpZENvbHVtbnMpIHtcbiAgICByZXR1cm4gaHRtbGAgPGRpdlxuICAgICAgY2xhc3M9XCJyb3dzXCJcbiAgICAgIHN0eWxlPSR7c3R5bGVNYXAoeyBoZWlnaHQ6IHRoaXMucm93c2hlaWdodCwgJ3VzZXItc2VsZWN0JzogdGhpcy5vcHRpb25zLnNlbGVjdGFibGUgPyAnbm9uZScgOiAnJyB9KX1cbiAgICAgIEBtb3VzZWxlYXZlPVwiJHt0aGlzLl9vbk1vdXNlTGVhdmUuYmluZCh0aGlzKX1cIlxuICAgID5cbiAgICAgICR7dGhpcy5faXRlbXMgJiYgdGhpcy5faXRlbXMubGVuZ3RoXG4gICAgICAgID8gcmVwZWF0KFxuICAgICAgICAgICAgdGhpcy5faXRlbXMsXG4gICAgICAgICAgICAoaXRlbSkgPT4gaXRlbSxcbiAgICAgICAgICAgIChpdGVtLCBpdGVtSW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIGh0bWxgXG4gICAgICAgICAgPGRpdiBjbGFzcz0ke2NsYXNzTWFwKHtcbiAgICAgICAgICAgIHJvdzogdHJ1ZSxcbiAgICAgICAgICAgIHNrZWxldG9uOiB0aGlzLl9za2VsZXRvbixcbiAgICAgICAgICAgIHNlbGVjdGVkOiB0aGlzLl9pc1NlbGVjdGVkKGl0ZW0pLFxuICAgICAgICAgIH0pfSBzdHlsZT0ke3N0eWxlTWFwKHtcbiAgICAgICAgICAgICAgICAuLi5zdHlsZUdyaWRDb2x1bW5zLFxuICAgICAgICAgICAgICAgIC4uLntcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogdGhpcy5yb3doZWlnaHQsXG4gICAgICAgICAgICAgICAgICAnZ3JpZC1hdXRvLXJvd3MnOiB0aGlzLnJvd2hlaWdodCA/IG51bGwgOiAnbWlubWF4KDgwcHgsIGF1dG8pJyxcbiAgICAgICAgICAgICAgICAgIGN1cnNvcjogdGhpcy5vcHRpb25zLnNlbGVjdGFibGUgPyAncG9pbnRlcicgOiAnJyxcbiAgICAgICAgICAgICAgICAgICdib3JkZXItY29sb3InOiB0aGlzLm9wdGlvbnMuc2VsZWN0YWJsZSAmJiB0aGlzLl9pc1NlbGVjdGVkKGl0ZW0pID8gJ3ZhcigtLXNlbGVjdGVkLS1iZ2MpJyA6ICcnLFxuICAgICAgICAgICAgICAgICAgJ2NvbHVtbi1nYXAnOiAndmFyKC0tZ3YtdGFibGUtLWNvbG1nLCAwLjJyZW0pJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIEBjbGljaz1cIiR7dGhpcy5fb25TZWxlY3QuYmluZCh0aGlzLCBpdGVtKX1cIlxuICAgICAgICAgICAgQG1vdXNlZW50ZXI9XCIke3RoaXMuX29uTW91c2VFbnRlci5iaW5kKHRoaXMsIGl0ZW0pfVwiPlxuICAgICAgICAgICAgJHtcbiAgICAgICAgICAgICAgdGhpcy5vcHRpb25zICYmIHRoaXMub3B0aW9ucy5kYXRhXG4gICAgICAgICAgICAgICAgPyByZXBlYXQoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucy5kYXRhLFxuICAgICAgICAgICAgICAgICAgICAob3B0aW9uKSA9PiBvcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIChvcHRpb24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHlsZSA9IHR5cGVvZiBvcHRpb24uc3R5bGUgPT09ICdmdW5jdGlvbicgPyBvcHRpb24uc3R5bGUoaXRlbSkgOiBvcHRpb24uc3R5bGU7XG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkVmFsdWUgPSB0aGlzLl9nZXRGb3JtYXR0ZWRDZWxsVmFsdWUob3B0aW9uLCBpdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaHRtbGA8ZGl2IGNsYXNzPVwiY2VsbFwiIHN0eWxlPVwiJHtpZkRlZmluZWQoc3R5bGUpfVwiIHRpdGxlPVwiJHtmb3JtYXR0ZWRWYWx1ZX1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICR7dGhpcy5fcmVuZGVyQ2VsbChmb3JtYXR0ZWRWYWx1ZSwgb3B0aW9uLCBpdGVtLCBpdGVtSW5kZXgpfSR7dGhpcy5fcmVuZGVyVGFnKG9wdGlvbiwgaXRlbSl9JHtvcHRpb24uaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IHRoaXMuX3JlbmRlckljb24oaXRlbSwgaXRlbUluZGV4LCBvcHRpb24pXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDogJyd9XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IGA7XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgOiAnJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5gO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICApXG4gICAgICAgIDogJyd9XG4gICAgPC9kaXY+YDtcbiAgfVxuXG4gIF9yZW5kZXJJdGVtcygpIHtcbiAgICBsZXQgd2lkdGhUZW1wbGF0ZSA9IHRoaXMub3B0aW9ucy5kYXRhLm1hcCgobykgPT4ge1xuICAgICAgaWYgKG8ud2lkdGgpIHtcbiAgICAgICAgcmV0dXJuIG8ud2lkdGg7XG4gICAgICB9IGVsc2UgaWYgKG8udHlwZSA9PT0gJ2ltYWdlJykge1xuICAgICAgICByZXR1cm4gJzgwcHgnO1xuICAgICAgfSBlbHNlIGlmIChvLnR5cGUgPT09ICdpY29uJykge1xuICAgICAgICByZXR1cm4gJzQwcHgnO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSk7XG4gICAgY29uc3QgZml4ZWREYXRhID0gd2lkdGhUZW1wbGF0ZS5maWx0ZXIoKHdpZHRoKSA9PiB3aWR0aCAhPT0gbnVsbCk7XG4gICAgY29uc3QgZml4ZWRXaWR0aCA9IGZpeGVkRGF0YS5yZWR1Y2UoKGFjYywgd2lkdGgpID0+IHtcbiAgICAgIHJldHVybiBhY2MgKyBwYXJzZUludCh3aWR0aC5yZXBsYWNlKCdweCcsICcnKSwgMTApO1xuICAgIH0sIDApO1xuXG4gICAgd2lkdGhUZW1wbGF0ZSA9IHdpZHRoVGVtcGxhdGUubWFwKCh3aWR0aCkgPT4ge1xuICAgICAgaWYgKHdpZHRoID09IG51bGwpIHtcbiAgICAgICAgY29uc3QgY29sdW1uR2FwID0gZ2V0Q3NzVmFyKHRoaXMsICctLWd2LXRhYmxlLS1jb2xtZycsICcwLjJyZW0nKTtcbiAgICAgICAgcmV0dXJuIGBjYWxjKCgxMDAlIC0gKCAke2ZpeGVkV2lkdGh9cHggKyAke3RoaXMub3B0aW9ucy5kYXRhLmxlbmd0aCAtIDF9ICogJHtjb2x1bW5HYXB9ICkgKSAvICR7XG4gICAgICAgICAgdGhpcy5vcHRpb25zLmRhdGEubGVuZ3RoIC0gZml4ZWREYXRhLmxlbmd0aFxuICAgICAgICB9KWA7XG4gICAgICB9XG4gICAgICByZXR1cm4gd2lkdGg7XG4gICAgfSk7XG5cbiAgICBjb25zdCBzdHlsZUdyaWRDb2x1bW5zID0geyAnZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zJzogd2lkdGhUZW1wbGF0ZS5qb2luKCcgJykgfTtcbiAgICByZXR1cm4gaHRtbGAgJHt0aGlzLl9yZW5kZXJIZWFkZXIoc3R5bGVHcmlkQ29sdW1ucyl9ICR7dGhpcy5fcmVuZGVyUm93cyhzdHlsZUdyaWRDb2x1bW5zKX0gJHt0aGlzLl9yZW5kZXJQYWdpbmF0aW9uKCl9IGA7XG4gIH1cblxuICBfcmVuZGVyUGFnaW5hdGlvbigpIHtcbiAgICBpZiAodGhpcy5vcHRpb25zICYmIHRoaXMub3B0aW9ucy5wYWdpbmcgJiYgdGhpcy5faXRlbXNQcm92aWRlcikge1xuICAgICAgY29uc3QgcGFnaW5hdGlvbkRhdGEgPSB7XG4gICAgICAgIGZpcnN0OiAxLFxuICAgICAgICBsYXN0OiB0aGlzLl9pdGVtc1Byb3ZpZGVyLmxlbmd0aCAvIHRoaXMub3B0aW9ucy5wYWdpbmcsXG4gICAgICAgIHRvdGFsOiB0aGlzLl9pdGVtc1Byb3ZpZGVyLmxlbmd0aCxcbiAgICAgICAgY3VycmVudF9wYWdlOiB0aGlzLl9wYWdlLFxuICAgICAgICB0b3RhbF9wYWdlczogdGhpcy5faXRlbXNQcm92aWRlci5sZW5ndGggLyB0aGlzLm9wdGlvbnMucGFnaW5nLFxuICAgICAgfTtcbiAgICAgIHJldHVybiBodG1sYDxndi1wYWdpbmF0aW9uIC5kYXRhPVwiJHtwYWdpbmF0aW9uRGF0YX1cIiB3aWRnZXQ9XCJ0cnVlXCI+PC9ndi1wYWdpbmF0aW9uPmA7XG4gICAgfVxuICB9XG5cbiAgX2dldERhdGFGcm9tRmllbGQoaXRlbSwgZmllbGQpIHtcbiAgICBpZiAodHlwZW9mIGZpZWxkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm4gZmllbGQoaXRlbSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmaWVsZC5zcGxpdCgnLicpLnJlZHVjZSgocCwgYykgPT4gcCAmJiBwW2NdLCBpdGVtKTtcbiAgICB9XG4gIH1cblxuICBfcmVuZGVyVGFnKG9wdGlvbiwgaXRlbSkge1xuICAgIGlmIChvcHRpb24udGFnKSB7XG4gICAgICBsZXQgdGFnO1xuICAgICAgaWYgKHR5cGVvZiBvcHRpb24udGFnID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRhZyA9IG9wdGlvbi50YWcoaXRlbSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0YWcgPSBvcHRpb24uZm9ybWF0ID8gb3B0aW9uLmZvcm1hdCh0aGlzLl9nZXREYXRhRnJvbUZpZWxkKGl0ZW0sIG9wdGlvbi50YWcpKSA6IHRoaXMuX2dldERhdGFGcm9tRmllbGQoaXRlbSwgb3B0aW9uLnRhZyk7XG4gICAgICB9XG4gICAgICBpZiAodGFnKSB7XG4gICAgICAgIHJldHVybiBodG1sYCA8Z3YtdGFnID9za2VsZXRvbj1cIiR7dGhpcy5fc2tlbGV0b259XCI+JHt0YWd9PC9ndi10YWc+YDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgX29uSW1hZ2VMb2FkZWQoKSB7XG4gICAgdGhpcy5fc2tlbGV0b24gPSBmYWxzZTtcbiAgfVxuXG4gIF9yZW5kZXJJbWFnZShwaWN0dXJlLCBhbHQpIHtcbiAgICByZXR1cm4gaHRtbGA8Z3YtaWRlbnRpdHktcGljdHVyZSAucGljdHVyZT1cIiR7cGljdHVyZX1cIiAuZGlzcGxheV9uYW1lPVwiJHthbHR9XCI+PC9ndi1pZGVudGl0eS1waWN0dXJlPmA7XG4gIH1cblxuICB1cGRhdGVkKHByb3BzKSB7XG4gICAgdGhpcy5fb25Tb3J0Q2hhbmdlZCgpO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGlmICh0aGlzLl9lcnJvcikge1xuICAgICAgcmV0dXJuIGh0bWxgPGRpdiBjbGFzcz1cImVycm9yXCI+JHtpMThuKCdndi10YWJsZS5lcnJvcicpfTwvZGl2PmA7XG4gICAgfVxuXG4gICAgY29uc3QgY2xhc3NlcyA9IHtcbiAgICAgIHRhYmxlOiB0cnVlLFxuICAgICAgc2tlbGV0b246IHRoaXMuX3NrZWxldG9uIHx8IHRoaXMuc2tlbGV0b24sXG4gICAgfTtcblxuICAgIGNvbnN0IGVtcHR5U3R5bGUgPSB7XG4gICAgICBoZWlnaHQ6IHRoaXMucm93c2hlaWdodCA/IHRoaXMucm93c2hlaWdodCA6ICcnLFxuICAgIH07XG5cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9JHtjbGFzc01hcChjbGFzc2VzKX0gc3R5bGU9XCIke3N0eWxlTWFwKHsgZGlzcGxheTogdGhpcy5yb3dzaGVpZ2h0ID8gJ2Jsb2NrJyA6ICdmbGV4JyB9KX1cIj5cbiAgICAgICAgJHt0aGlzLnRpdGxlXG4gICAgICAgICAgPyBodG1sYCA8ZGl2IGNsYXNzPVwiaGVhZGVyXCI+XG4gICAgICAgICAgICAgIDxoMyBjbGFzcz1cInRpdGxlXCI+XG4gICAgICAgICAgICAgICAgJHt0aGlzLnRpdGxlfSAkeyF0aGlzLl9lbXB0eSA/IGh0bWxgPHNwYW4+KCR7dGhpcy50b3RhbCB8fCAodGhpcy5faXRlbXMgJiYgdGhpcy5faXRlbXMubGVuZ3RoKX0pPC9zcGFuPmAgOiAnJ31cbiAgICAgICAgICAgICAgPC9oMz5cbiAgICAgICAgICAgIDwvZGl2PmBcbiAgICAgICAgICA6ICcnfVxuICAgICAgICAkeyF0aGlzLl9lbXB0eSAmJiB0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLmRhdGFcbiAgICAgICAgICA/IHRoaXMuX3JlbmRlckl0ZW1zKClcbiAgICAgICAgICA6IGh0bWxgIDxkaXYgY2xhc3M9XCJlbXB0eVwiIHN0eWxlPVwiJHtzdHlsZU1hcChlbXB0eVN0eWxlKX1cIj5cbiAgICAgICAgICAgICAgJHt0aGlzLmVtcHR5bWVzc2FnZSA/IHRoaXMuZW1wdHltZXNzYWdlIDogaTE4bignZ3YtdGFibGUuZW1wdHknKX1cbiAgICAgICAgICAgIDwvZGl2PmB9XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbndpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoJ2d2LXRhYmxlJywgR3ZUYWJsZSk7XG4iXX0=
|
|
575
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL21vbGVjdWxlcy9ndi10YWJsZS5qcyJdLCJuYW1lcyI6WyJjc3MiLCJMaXRFbGVtZW50IiwiaHRtbCIsInNrZWxldG9uIiwiZW1wdHkiLCJsaW5rIiwiY2xhc3NNYXAiLCJyZXBlYXQiLCJkaXNwYXRjaEN1c3RvbUV2ZW50IiwiZ2V0TGFuZ3VhZ2UiLCJpMThuIiwidW50aWwiLCJzdHlsZU1hcCIsIndpdGhSZXNpemVPYnNlcnZlciIsImlmRGVmaW5lZCIsImdldENzc1ZhciIsIkd2VGFibGUiLCJwcm9wZXJ0aWVzIiwiaXRlbXMiLCJ0eXBlIiwiQXJyYXkiLCJ0aXRsZSIsIlN0cmluZyIsIm9yZGVyIiwib3B0aW9ucyIsIm5vaGVhZGVyIiwiQm9vbGVhbiIsIm5vc29ydCIsInJvd3NoZWlnaHQiLCJyb3doZWlnaHQiLCJlbXB0eW1lc3NhZ2UiLCJmb3JtYXQiLCJGdW5jdGlvbiIsImNvbXBhcmVGbiIsInNlbGVjdGVkIiwicmVmbGVjdCIsInRvdGFsIiwiX2l0ZW1zIiwiYXR0cmlidXRlIiwiX3NrZWxldG9uIiwiX2Vycm9yIiwiX2VtcHR5IiwiX2l0ZW1zUHJvdmlkZXIiLCJfcGFnZSIsIk51bWJlciIsInN0eWxlcyIsImNvbnN0cnVjdG9yIiwiX2lkIiwiRGF0ZSIsImdldFRpbWUiLCJicmVha3BvaW50cyIsIndpZHRoIiwiaXRlbSIsIml0ZW0yIiwidmFsdWUiLCJpdGVtRGF0YSIsIl9nZXREYXRhRnJvbUZpZWxkIiwidG9Mb3dlckNhc2UiLCJpdGVtRGF0YTIiLCJzdGFydHNXaXRoIiwibG9jYWxlQ29tcGFyZSIsImFkZEV2ZW50TGlzdGVuZXIiLCJlIiwiZGV0YWlsIiwicGFnZSIsIlByb21pc2UiLCJyZXNvbHZlIiwidGhlbiIsIm1hcCIsImluZGV4IiwiaWQiLCJfb25Tb3J0Q2hhbmdlZCIsImxlbmd0aCIsImNhdGNoIiwiY29uc29sZSIsImVycm9yIiwiZmllbGQiLCJwcmV2ZW50RGVmYXVsdCIsImRlc2MiLCJwcmV2aW91c09yZGVyIiwic3Vic3RyaW5nIiwic29ydCIsInBhZ2luZyIsInNwbGljZSIsIl9nZXRJdGVtSWQiLCJfb25TZWxlY3QiLCJldmVudCIsInRhcmdldCIsImRhdGFzZXQiLCJwcmV2ZW50U2VsZWN0Iiwic2VsZWN0YWJsZSIsIml0ZW1JZCIsIl9pc1NlbGVjdGVkIiwiZmlsdGVyIiwic2VsZWN0ZWRJdGVtcyIsImluY2x1ZGVzIiwiX29uTW91c2VFbnRlciIsIl9vbk1vdXNlTGVhdmUiLCJfcmVuZGVySGVhZGVyIiwic3R5bGVHcmlkQ29sdW1ucyIsInN0eWxlIiwiaGVpZ2h0IiwidGhlYWRlciIsImRhdGEiLCJvcHRpb24iLCJvcmRlclZhbHVlIiwibGFiZWwiLCJoZWFkZXJTdHlsZSIsImJpbmQiLCJ0YWciLCJfcmVuZGVySWNvbiIsIml0ZW1JbmRleCIsImljb24iLCJpY29uVGl0bGUiLCJfcmVuZGVyQ29tcG9uZW50IiwiY29uZGl0aW9uIiwiZWxlbWVudCIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImF0dHJpYnV0ZXMiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsInJlcGxhY2UiLCJjbGFzc0xpc3QiLCJhZGQiLCJzdG9wUHJvcGFnYXRpb24iLCJvcHRpb25Db25maXJtIiwiY29uZmlybSIsInNldFRpbWVvdXQiLCJ0IiwibXNnIiwibWVzc2FnZSIsImRhbmdlciIsIm9uQ2xpY2siLCJhcHBlbmRDaGlsZCIsIl9yZW5kZXJDZWxsIiwiZm9ybWF0dGVkVmFsdWUiLCJhbHQiLCJfcmVuZGVySW1hZ2UiLCJfZ2V0Rm9ybWF0dGVkQ2VsbFZhbHVlIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwidG9Mb2NhbGVTdHJpbmciLCJ0b0xvY2FsZVRpbWVTdHJpbmciLCJfcmVuZGVyUm93cyIsInJvdyIsImN1cnNvciIsIl9yZW5kZXJUYWciLCJfcmVuZGVySXRlbXMiLCJ3aWR0aFRlbXBsYXRlIiwibyIsImZpeGVkRGF0YSIsImZpeGVkV2lkdGgiLCJyZWR1Y2UiLCJhY2MiLCJwYXJzZUludCIsImNvbHVtbkdhcCIsImpvaW4iLCJfcmVuZGVyUGFnaW5hdGlvbiIsInBhZ2luYXRpb25EYXRhIiwiZmlyc3QiLCJsYXN0IiwiY3VycmVudF9wYWdlIiwidG90YWxfcGFnZXMiLCJzcGxpdCIsInAiLCJjIiwiX29uSW1hZ2VMb2FkZWQiLCJwaWN0dXJlIiwidXBkYXRlZCIsInByb3BzIiwicmVuZGVyIiwiY2xhc3NlcyIsInRhYmxlIiwiZW1wdHlTdHlsZSIsImRpc3BsYXkiLCJ3aW5kb3ciLCJjdXN0b21FbGVtZW50cyIsImRlZmluZSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0EsR0FBVCxFQUFjQyxVQUFkLEVBQTBCQyxJQUExQixRQUFzQyxLQUF0QztBQUNBLFNBQVNDLFFBQVQsUUFBeUIsb0JBQXpCO0FBQ0EsU0FBU0MsS0FBVCxRQUFzQixpQkFBdEI7QUFDQSxTQUFTQyxJQUFULFFBQXFCLGdCQUFyQjtBQUNBLFNBQVNDLFFBQVQsUUFBeUIsMEJBQXpCO0FBQ0EsU0FBU0MsTUFBVCxRQUF1Qix1QkFBdkI7QUFDQSxTQUFTQyxtQkFBVCxRQUFvQyxlQUFwQztBQUNBLFNBQVNDLFdBQVQsRUFBc0JDLElBQXRCLFFBQWtDLGFBQWxDO0FBQ0EsU0FBU0MsS0FBVCxRQUFzQixzQkFBdEI7QUFDQSxTQUFTQyxRQUFULFFBQXlCLDBCQUF6QjtBQUNBLFNBQVNDLGtCQUFULFFBQW1DLGdDQUFuQztBQUNBLFNBQVNDLFNBQVQsUUFBMEIsMkJBQTFCO0FBQ0EsT0FBTyxtQkFBUDtBQUNBLE9BQU8sNEJBQVA7QUFDQSxTQUFTQyxTQUFULFFBQTBCLGNBQTFCO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFD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LFVBQXZCLEdBQW9DO0FBRDNCLEtBQW5CO0FBSUEsV0FBTzFCLElBQUksZ0JBQ0lJLFFBQVEsQ0FBQ3NLLE9BQUQsQ0FEWixZQUNnQ2hLLFFBQVEsQ0FBQztBQUFFbUssTUFBQUEsT0FBTyxFQUFFLEtBQUtuSixVQUFMLEdBQWtCLE9BQWxCLEdBQTRCO0FBQXZDLEtBQUQsQ0FEeEMsTUFFTCxLQUFLUCxLQUFMLEdBQ0VuQixJQUFJLDRDQUVFLEtBQUttQixLQUZQLElBRWdCLENBQUMsS0FBS29CLE1BQU4sR0FBZXZDLElBQUksVUFBVSxLQUFLa0MsS0FBTCxJQUFlLEtBQUtDLE1BQUwsSUFBZSxLQUFLQSxNQUFMLENBQVltQyxNQUFwRCxVQUFuQixHQUEyRixFQUYzRyxlQUROLEdBTUUsRUFSRyxJQVNMLENBQUMsS0FBSy9CLE1BQU4sSUFBZ0IsS0FBS2pCLE9BQXJCLElBQWdDLEtBQUtBLE9BQUwsQ0FBYStFLElBQTdDLEdBQ0UsS0FBSzZDLFlBQUwsRUFERixHQUVFbEosSUFBSSw4QkFBOEJVLFFBQVEsQ0FBQ2tLLFVBQUQsQ0FBdEMsTUFDQSxLQUFLaEosWUFBTCxHQUFvQixLQUFLQSxZQUF6QixHQUF3Q3BCLElBQUksQ0FBQyxnQkFBRCxDQUQ1QyxTQVhELFVBQVg7QUFnQkQ7O0FBcG1CeUQ7QUF1bUI1RHNLLE1BQU0sQ0FBQ0MsY0FBUCxDQUFzQkMsTUFBdEIsQ0FBNkIsVUFBN0IsRUFBeUNsSyxPQUF6QyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBjc3MsIExpdEVsZW1lbnQsIGh0bWwgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgc2tlbGV0b24gfSBmcm9tICcuLi9zdHlsZXMvc2tlbGV0b24nO1xuaW1wb3J0IHsgZW1wdHkgfSBmcm9tICcuLi9zdHlsZXMvZW1wdHknO1xuaW1wb3J0IHsgbGluayB9IGZyb20gJy4uL3N0eWxlcy9saW5rJztcbmltcG9ydCB7IGNsYXNzTWFwIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvY2xhc3MtbWFwJztcbmltcG9ydCB7IHJlcGVhdCB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3JlcGVhdCc7XG5pbXBvcnQgeyBkaXNwYXRjaEN1c3RvbUV2ZW50IH0gZnJvbSAnLi4vbGliL2V2ZW50cyc7XG5pbXBvcnQgeyBnZXRMYW5ndWFnZSwgaTE4biB9IGZyb20gJy4uL2xpYi9pMThuJztcbmltcG9ydCB7IHVudGlsIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvdW50aWwnO1xuaW1wb3J0IHsgc3R5bGVNYXAgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9zdHlsZS1tYXAnO1xuaW1wb3J0IHsgd2l0aFJlc2l6ZU9ic2VydmVyIH0gZnJvbSAnLi4vbWl4aW5zL3dpdGgtcmVzaXplLW9ic2VydmVyJztcbmltcG9ydCB7IGlmRGVmaW5lZCB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL2lmLWRlZmluZWQnO1xuaW1wb3J0ICcuLi9hdG9tcy9ndi1pbWFnZSc7XG5pbXBvcnQgJy4uL29yZ2FuaXNtcy9ndi1wYWdpbmF0aW9uJztcbmltcG9ydCB7IGdldENzc1ZhciB9IGZyb20gJy4uL2xpYi9zdHlsZSc7XG5cbi8qKlxuICogVGFibGUgY29tcG9uZW50XG4gKlxuICogIyMgRGV0YWlsc1xuICogKiBoYXMgQHRoZW1lIGZhY2V0XG4gKlxuICogQGZpcmVzIGd2LXRhYmxlOnNlbGVjdCAtIHdoZW4gdGFibGUgcm93IGlzIHNlbGVjdGVkXG4gKiBAZmlyZXMgZ3YtdGFibGU6bW91c2VlbnRlciAtIHdoZW4gdGhlIHBvaW50ZXIgaXMgZW50ZXJpbmcgb24gYSB0YWJsZSByb3dcbiAqIEBmaXJlcyBndi10YWJsZTptb3VzZWxlYXZlIC0gd2hlbiB0aGUgcG9pbnRlciBpcyBsZWF2aW5nIGEgdGFibGUgcm93XG4gKiBAZmlyZXMgZ3YtdGFibGU6c29ydCAtIHdoZW4gdGhlIG9yZGVyIGlzIGNoYW5nZWRcbiAqXG4gKiBAYXR0ciB7QXJyYXk8YW55Pn0gaXRlbXMgLSBBIGxpc3Qgb2YgaXRlbXMgdG8gZGlzcGxheVxuICogQGF0dHIge1N0cmluZ30gdGl0bGUgLSBBIHRpdGxlIHRvIGRpc3BsYXlcbiAqIEBhdHRyIHtTdHJpbmd9IG9yZGVyIC0gSWYgZGVmaW5lZCwgdGhlIHRhYmxlIHdpbGwgYmUgb3JkZXJlZCBieSB0aGUgZmllbGQuIFN0YXJ0IHdpdGggJy0nIHRvIHNvcnQgaW4gZGVzY1xuICogQGF0dHIge0FycmF5PGFueT59IG9wdGlvbnMgLSBUaGUgbGlzdCBvZiBvcHRpb25zIHRvIGRpc3BsYXlcbiAqIEBhdHRyIHtCb29sZWFufSBub2hlYWRlciAtIFVzZWQgdG8gaGlkZSB0aGUgdGFibGUgaGVhZGVyXG4gKiBAYXR0ciB7Qm9vbGVhbn0gbm9zb3J0IC0gVXNlZCB0byBkaXNhYmxlIHRoZSBjbGljayBvbiBoZWFkZXIgdG8gc29ydFxuICogQGF0dHIge1N0cmluZ30gcm93c2hlaWdodCAtIFRoZSBoZWlnaHQgb2YgdGhlIHRhYmxlIHJvd3NcbiAqIEBhdHRyIHtTdHJpbmd9IHJvd2hlaWdodCAtIFRoZSBoZWlnaHQgb2YgdGhlIHRhYmxlIHNpbmdsZSByb3dcbiAqIEBhdHRyIHtTdHJpbmd9IGVtcHR5bWVzc2FnZSAtIFRoZSBlbXB0eSBtZXNzYWdlIHRvIGRpc3BsYXlcbiAqIEBhdHRyIHtGdW5jdGlvbn0gZm9ybWF0IC0gQSBmdW5jdGlvbiB0byBmb3JtYXQgdGFibGUgaGVhZGVycyBhbmQgc3RyaW5nIGNlbGxzXG4gKiBAYXR0ciB7RnVuY3Rpb259IGNvbXBhcmVGbiAtIEEgZnVuY3Rpb24gdG8gZGVmaW5lIGhvdyB0byBzb3J0LiBEZWZhdWx0IGZ1bmN0aW9uIHdpbGwgc29ydCBzZWxlY3RlZCBmaWVsZCBpZ25vcmluZyBjYXNlXG4gKiBAYXR0ciB7QXJyYXk8YW55Pn0gc2VsZWN0ZWQgLSBBIGxpc3Qgb2Ygc2VsZWN0ZWQgaWRzIG9mIHRoZSBpdGVtcyBkaXNwbGF5ZWRcbiAqIEBhdHRyIHtTdHJpbmd9IHRvdGFsIC0gVG90YWwgb2YgZGF0YSBkaXNwbGF5ZWQgb24gdGhlIHRhYmxlICh1c2VmdWwgd2l0aCBpbiBjYXNlIG9mIHBhZ2luYXRpb24pXG4gKiBAYXR0ciB7Qm9vbGVhbn0gc2tlbGV0b24gLSBGb3JjZSBndi10YWJsZSB0byBiZSBpbiBza2VsZXRvbiBtb2RlXG4gKlxuICogQGNzc3Byb3Age0NvbG9yfSBbLS1ndi10YWJsZS1zZWxlY3RlZC0tYmdjPXZhcigtLWd2LXRoZW1lLWNvbG9yLCAjNWE3Njg0KV0gLSBTZWxlY3RlZCBiYWNrZ3JvdW5kIGNvbG9yXG4gKiBAY3NzcHJvcCB7Q29sb3J9IFstLWd2LXRhYmxlLWhvdmVyLS1iZ2M9dmFyKC0tZ3YtdGhlbWUtbmV1dHJhbC1jb2xvci1saWdodGVyLCAjZmFmYWZhKV0gLSBSb3cgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlclxuICogQGNzc3Byb3Age0NvbG9yfSBbLS1ndi10YWJsZS0tYmdjPXZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3ItbGlnaHRlc3QsICNmZmZmZmYpXSAtIEJhY2tncm91bmQgY29sb3JcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtdGFibGUtLWJkYz12YXIoLS1ndi10aGVtZS1uZXV0cmFsLWNvbG9yLWRhcmssICNkOWQ5ZDkpXSAtIEJvcmRlciBjb2xvclxuICogQGNzc3Byb3Age1N0cmluZ30gWy0tZ3YtdGFibGUtaGVhZGVyLS1mej12YXIoLS1ndi10aGVtZS1mb250LXNpemUtbCwgMjBweCldIC0gVGl0bGUgZm9udCBzaXplXG4gKiBAY3NzcHJvcCB7TGVuZ3RofSBbLS1ndi10YWJsZS1oZWFkZXItLXA9MnJlbSA0cmVtXSAtIFRpdGxlIHBhZGRpbmdcbiAqIEBjc3Nwcm9wIHtTdHJpbmd9IFstLWd2LXRhYmxlLXJvd3MtLW92PWF1dG9dIC0gT3ZlcmZsb3cgb24gdGFibGVcbiAqIEBjc3Nwcm9wIHtMZW5ndGh9IFstLWd2LXRhYmxlLS1jb2xtZz0wLjJyZW1dIC0gQ29sdW1uIGdhcFxuICogQGNzc3Byb3Age1N0cmluZ30gWy0tZ3YtdGFibGUtcm93LS1haT1jZW50ZXJdIC0gUm93IGFsaWduLWl0ZW1zXG4gKiBAY3NzcHJvcCB7U3RyaW5nfSBbLS1ndi10YWJsZS1yb3ctLWFjPWNlbnRlcl0gLSBSb3cgYWxpZ24tY29udGVudFxuICogQGNzc3Byb3Age1N0cmluZ30gWy0tZ3YtdGFibGUtY2VsbC0tZD1mbGV4XSAtIENlbGwgZGlzcGxheVxuICovXG5leHBvcnQgY2xhc3MgR3ZUYWJsZSBleHRlbmRzIHdpdGhSZXNpemVPYnNlcnZlcihMaXRFbGVtZW50KSB7XG4gIHN0YXRpYyBnZXQgcHJvcGVydGllcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaXRlbXM6IHsgdHlwZTogQXJyYXkgfSxcbiAgICAgIHRpdGxlOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgb3JkZXI6IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICBvcHRpb25zOiB7IHR5cGU6IEFycmF5IH0sXG4gICAgICBub2hlYWRlcjogeyB0eXBlOiBCb29sZWFuIH0sXG4gICAgICBub3NvcnQ6IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgcm93c2hlaWdodDogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIHJvd2hlaWdodDogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIGVtcHR5bWVzc2FnZTogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIGZvcm1hdDogeyB0eXBlOiBGdW5jdGlvbiB9LFxuICAgICAgY29tcGFyZUZuOiB7IHR5cGU6IEZ1bmN0aW9uIH0sXG4gICAgICBzZWxlY3RlZDogeyB0eXBlOiBBcnJheSwgcmVmbGVjdDogdHJ1ZSB9LFxuICAgICAgdG90YWw6IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICBza2VsZXRvbjogeyB0eXBlOiBCb29sZWFuIH0sXG4gICAgICBfaXRlbXM6IHsgdHlwZTogQXJyYXksIGF0dHJpYnV0ZTogZmFsc2UgfSxcbiAgICAgIF9za2VsZXRvbjogeyB0eXBlOiBCb29sZWFuLCBhdHRyaWJ1dGU6IGZhbHNlIH0sXG4gICAgICBfZXJyb3I6IHsgdHlwZTogQm9vbGVhbiwgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgICAgX2VtcHR5OiB7IHR5cGU6IEJvb2xlYW4sIGF0dHJpYnV0ZTogZmFsc2UgfSxcbiAgICAgIF9pdGVtc1Byb3ZpZGVyOiB7IHR5cGU6IEFycmF5LCBhdHRyaWJ1dGU6IGZhbHNlIH0sXG4gICAgICBfcGFnZTogeyB0eXBlOiBOdW1iZXIsIGF0dHJpYnV0ZTogZmFsc2UgfSxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGdldCBzdHlsZXMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIGxpbmssXG4gICAgICBza2VsZXRvbixcbiAgICAgIGVtcHR5LFxuICAgICAgLy8gbGFuZ3VhZ2U9Q1NTXG4gICAgICBjc3NgXG4gICAgICAgIDpob3N0IHtcbiAgICAgICAgICAtLXNlbGVjdGVkLS1iZ2M6IHZhcigtLWd2LXRhYmxlLXNlbGVjdGVkLS1iZ2MsIHZhcigtLWd2LXRoZW1lLWNvbG9yLCAjNWE3Njg0KSk7XG4gICAgICAgICAgLS1ob3Zlci1iZ2M6IHZhcigtLWd2LXRhYmxlLWhvdmVyLS1iZ2MsIHZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3ItbGlnaHRlciwgI2ZhZmFmYSkpO1xuICAgICAgICAgIC0tYmdjOiB2YXIoLS1ndi10YWJsZS0tYmdjLCB2YXIoLS1ndi10aGVtZS1uZXV0cmFsLWNvbG9yLWxpZ2h0ZXN0LCAjZmZmZmZmKSk7XG4gICAgICAgICAgLS1iZGM6IHZhcigtLWd2LXRhYmxlLS1iZGMsIHZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3ItZGFyaywgI2Q5ZDlkOSkpO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBtYXJnaW46IDAuMnJlbTtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG5cbiAgICAgICAgLnRhYmxlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZ2MpO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAucm93cyB7XG4gICAgICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuICAgICAgICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgICAgICAgICBvdmVyZmxvdzogdmFyKC0tZ3YtdGFibGUtcm93cy0tb3YsIGF1dG8pO1xuICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAyNTBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yb3dzOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIDpob3N0KFt3LWx0LTc2OF0pIC5yb3cge1xuICAgICAgICAgIGhlaWdodDogNzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIDpob3N0KFt3LWx0LTU4MF0pIC5yb3cge1xuICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIDpob3N0KFt3LWx0LTQwMF0pIC5yb3cge1xuICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50aGVhZGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ndi10aGVtZS1uZXV0cmFsLWNvbG9yLWxpZ2h0ZXIpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIHBhZGRpbmc6IDAgMC4ycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJvdyxcbiAgICAgICAgLnRoZWFkZXIge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1ndi10YWJsZS1yb3ctLWFpLCBjZW50ZXIpO1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IHZhcigtLWd2LXRhYmxlLXJvdy0tYWMsIGNlbnRlcik7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB0aGljayB0cmFuc3BhcmVudDtcbiAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICB9XG5cbiAgICAgICAgZGl2IHtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNlbGwge1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBkaXNwbGF5OiB2YXIoLS1ndi10YWJsZS1jZWxsLS1kLCBmbGV4KTtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJvdzpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDVweCAzcHggLTZweCB2YXIoLS1iZGMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJvdzpob3ZlcixcbiAgICAgICAgLnJvdy5zZWxlY3RlZCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXItYmdjKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yb3cuc2VsZWN0ZWQge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tc2VsZWN0ZWQtLWJnYyk7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkZXIge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iZGMpO1xuICAgICAgICAgIHBhZGRpbmc6IHZhcigtLWd2LXRhYmxlLWhlYWRlci0tcCwgMnJlbSA0cmVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1ndi10YWJsZS1oZWFkZXItLWZ6LCB2YXIoLS1ndi10aGVtZS1mb250LXNpemUtbCwgMjBweCkpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1ndi10YWJsZS1oZWFkZXItLWZ6LCB2YXIoLS1ndi10aGVtZS1mb250LXNpemUtbCwgMjBweCkpO1xuICAgICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgfVxuXG4gICAgICAgIC50aXRsZSBzcGFuIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZ3YtdGhlbWUtZm9udC1zaXplLXMpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1ndi10aGVtZS1mb250LXNpemUtcyk7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgIH1cblxuICAgICAgICBndi1pZGVudGl0eS1waWN0dXJlIHtcbiAgICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgICAgLS1ndi1pbWFnZS0tb2Y6IGNvbnRhaW47XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBndi1pY29uIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAtLWd2LWljb24tLXM6IDE4cHg7XG4gICAgICAgIH1cblxuICAgICAgICBndi1pY29uLmRlc2Mge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICBndi1wYWdpbmF0aW9uIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jZWxsID4gKjpub3QoZ3YtdGFnKSB7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICBgLFxuICAgIF07XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX2lkID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgdGhpcy5icmVha3BvaW50cyA9IHtcbiAgICAgIHdpZHRoOiBbNDAwLCA1ODAsIDc2OF0sXG4gICAgfTtcbiAgICB0aGlzLl9lbXB0eSA9IGZhbHNlO1xuICAgIHRoaXMub3JkZXIgPSAnJztcbiAgICB0aGlzLl9wYWdlID0gMTtcbiAgICB0aGlzLl9pdGVtc1Byb3ZpZGVyID0gW107XG4gICAgdGhpcy5zZWxlY3RlZCA9IFtdO1xuICAgIHRoaXMuY29tcGFyZUZuID0gKGl0ZW0sIGl0ZW0yLCB2YWx1ZSkgPT4ge1xuICAgICAgY29uc3QgaXRlbURhdGEgPVxuICAgICAgICB0aGlzLl9nZXREYXRhRnJvbUZpZWxkKGl0ZW0sIHZhbHVlKSAmJiB0aGlzLl9nZXREYXRhRnJvbUZpZWxkKGl0ZW0sIHZhbHVlKS50b0xvd2VyQ2FzZVxuICAgICAgICAgID8gdGhpcy5fZ2V0RGF0YUZyb21GaWVsZChpdGVtLCB2YWx1ZSkudG9Mb3dlckNhc2UoKVxuICAgICAgICAgIDogJyc7XG4gICAgICBjb25zdCBpdGVtRGF0YTIgPVxuICAgICAgICB0aGlzLl9nZXREYXRhRnJvbUZpZWxkKGl0ZW0yLCB2YWx1ZSkgJiYgdGhpcy5fZ2V0RGF0YUZyb21GaWVsZChpdGVtMiwgdmFsdWUpLnRvTG93ZXJDYXNlXG4gICAgICAgICAgPyB0aGlzLl9nZXREYXRhRnJvbUZpZWxkKGl0ZW0yLCB2YWx1ZSkudG9Mb3dlckNhc2UoKVxuICAgICAgICAgIDogJyc7XG4gICAgICBpZiAodGhpcy5vcmRlci5zdGFydHNXaXRoKCctJykpIHtcbiAgICAgICAgcmV0dXJuIGl0ZW1EYXRhMi5sb2NhbGVDb21wYXJlKGl0ZW1EYXRhKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBpdGVtRGF0YS5sb2NhbGVDb21wYXJlKGl0ZW1EYXRhMik7XG4gICAgICB9XG4gICAgfTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ2d2LXBhZ2luYXRpb246cGFnaW5hdGUnLCAoZSkgPT4ge1xuICAgICAgdGhpcy5fcGFnZSA9IGUuZGV0YWlsLnBhZ2U7XG4gICAgfSk7XG4gIH1cblxuICBzZXQgaXRlbXMoaXRlbXMpIHtcbiAgICB0aGlzLl9za2VsZXRvbiA9IHRydWU7XG4gICAgUHJvbWlzZS5yZXNvbHZlKGl0ZW1zKVxuICAgICAgLnRoZW4oKGl0ZW1zKSA9PiB7XG4gICAgICAgIGlmIChpdGVtcykge1xuICAgICAgICAgIHRoaXMuX2l0ZW1zUHJvdmlkZXIgPSBpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBpdGVtLl9pZCA9IGl0ZW0uaWQgPT0gbnVsbCA/IGluZGV4IDogaXRlbS5pZDtcbiAgICAgICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMuX29uU29ydENoYW5nZWQoKTtcbiAgICAgICAgICB0aGlzLl9lbXB0eSA9IHRoaXMuX2l0ZW1zUHJvdmlkZXIubGVuZ3RoID09PSAwO1xuICAgICAgICAgIHRoaXMuX3NrZWxldG9uID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgdGhpcy5fZXJyb3IgPSB0cnVlO1xuICAgICAgICB0aGlzLl9za2VsZXRvbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLl9pdGVtc1Byb3ZpZGVyID0gW107XG4gICAgICB9KTtcbiAgfVxuXG4gIGdldCBpdGVtcygpIHtcbiAgICByZXR1cm4gdGhpcy5faXRlbXNQcm92aWRlcjtcbiAgfVxuXG4gIF9vblNvcnRDaGFuZ2VkKGZpZWxkLCBlKSB7XG4gICAgaWYgKGUpIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2l0ZW1zUHJvdmlkZXIgJiYgdGhpcy5vcmRlcikge1xuICAgICAgY29uc3QgZGVzYyA9IHRoaXMub3JkZXIuc3RhcnRzV2l0aCgnLScpO1xuICAgICAgY29uc3QgcHJldmlvdXNPcmRlciA9IGRlc2MgPyB0aGlzLm9yZGVyLnN1YnN0cmluZygxKSA6IHRoaXMub3JkZXI7XG4gICAgICBjb25zdCB2YWx1ZSA9IGZpZWxkIHx8IHByZXZpb3VzT3JkZXI7XG4gICAgICBpZiAoZmllbGQpIHtcbiAgICAgICAgdGhpcy5vcmRlciA9IHByZXZpb3VzT3JkZXIgPT09IHZhbHVlID8gKGRlc2MgPyB2YWx1ZSA6ICctJyArIHZhbHVlKSA6IHZhbHVlO1xuICAgICAgfVxuICAgICAgdGhpcy5faXRlbXNQcm92aWRlciA9IHRoaXMuX2l0ZW1zUHJvdmlkZXIuc29ydCgoaXRlbSwgaXRlbTIpID0+IHRoaXMuY29tcGFyZUZuKGl0ZW0sIGl0ZW0yLCB2YWx1ZSkpO1xuICAgICAgaWYgKGZpZWxkKSB7XG4gICAgICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQodGhpcywgJ3NvcnQnLCB7IG9yZGVyOiB0aGlzLm9yZGVyIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldCBfaXRlbXMoKSB7XG4gICAgaWYgKHRoaXMuX2l0ZW1zUHJvdmlkZXIpIHtcbiAgICAgIGlmICh0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLnBhZ2luZyAmJiB0aGlzLm9wdGlvbnMucGFnaW5nIDwgdGhpcy5faXRlbXNQcm92aWRlci5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSAodGhpcy5fcGFnZSAtIDEpICogdGhpcy5vcHRpb25zLnBhZ2luZztcbiAgICAgICAgcmV0dXJuIFsuLi50aGlzLl9pdGVtc1Byb3ZpZGVyXS5zcGxpY2UoaW5kZXgsIHRoaXMub3B0aW9ucy5wYWdpbmcpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuX2l0ZW1zUHJvdmlkZXI7XG4gICAgfVxuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIF9nZXRJdGVtSWQoaXRlbSkge1xuICAgIHJldHVybiBpdGVtLmlkID09IG51bGwgPyBpdGVtLl9pZCA6IGl0ZW0uaWQ7XG4gIH1cblxuICBfb25TZWxlY3QoaXRlbSwgZXZlbnQpIHtcbiAgICBpZiAoIXRoaXMuX3NrZWxldG9uICYmICFldmVudC50YXJnZXQuZGF0YXNldC5wcmV2ZW50U2VsZWN0KSB7XG4gICAgICBpZiAodGhpcy5vcHRpb25zLnNlbGVjdGFibGUpIHtcbiAgICAgICAgY29uc3QgaXRlbUlkID0gdGhpcy5fZ2V0SXRlbUlkKGl0ZW0pO1xuICAgICAgICBpZiAodGhpcy5faXNTZWxlY3RlZChpdGVtKSkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGVkLmZpbHRlcigoaWQpID0+IGl0ZW1JZCAhPT0gaWQpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMub3B0aW9ucy5zZWxlY3RhYmxlID09PSAnbXVsdGknKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZCA9IFsuLi50aGlzLnNlbGVjdGVkLCBpdGVtSWRdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBbaXRlbUlkXTtcbiAgICAgICAgfVxuICAgICAgICBkaXNwYXRjaEN1c3RvbUV2ZW50KHRoaXMsICdzZWxlY3QnLCB7IGl0ZW1zOiB0aGlzLnNlbGVjdGVkSXRlbXMsIG9wdGlvbnM6IHRoaXMub3B0aW9ucyB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQodGhpcywgJ3NlbGVjdCcsIHsgaXRlbXM6IFtpdGVtXSB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXQgc2VsZWN0ZWRJdGVtcygpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZCAmJiB0aGlzLl9pdGVtc1Byb3ZpZGVyKSB7XG4gICAgICByZXR1cm4gdGhpcy5faXRlbXNQcm92aWRlci5maWx0ZXIoKGl0ZW0pID0+IHRoaXMuc2VsZWN0ZWQgJiYgdGhpcy5zZWxlY3RlZC5pbmNsdWRlcyh0aGlzLl9nZXRJdGVtSWQoaXRlbSkpKTtcbiAgICB9XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgX29uTW91c2VFbnRlcihpdGVtKSB7XG4gICAgaWYgKCEodGhpcy5zZWxlY3RlZCAmJiB0aGlzLnNlbGVjdGVkLmxlbmd0aCA+IDApICYmICF0aGlzLl9za2VsZXRvbikge1xuICAgICAgZGlzcGF0Y2hDdXN0b21FdmVudCh0aGlzLCAnbW91c2VlbnRlcicsIHsgaXRlbSB9KTtcbiAgICB9XG4gIH1cblxuICBfb25Nb3VzZUxlYXZlKCkge1xuICAgIGlmICghKHRoaXMuc2VsZWN0ZWQgJiYgdGhpcy5zZWxlY3RlZC5sZW5ndGggPiAwKSAmJiAhdGhpcy5fc2tlbGV0b24pIHtcbiAgICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQodGhpcywgJ21vdXNlbGVhdmUnKTtcbiAgICB9XG4gIH1cblxuICBfcmVuZGVySGVhZGVyKHN0eWxlR3JpZENvbHVtbnMpIHtcbiAgICBpZiAodGhpcy5ub2hlYWRlcikge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzdHlsZSA9IHtcbiAgICAgICAgLi4uc3R5bGVHcmlkQ29sdW1ucyxcbiAgICAgICAgLi4ue1xuICAgICAgICAgIGhlaWdodDogdGhpcy5yb3doZWlnaHQsXG4gICAgICAgICAgJ2dyaWQtYXV0by1yb3dzJzogdGhpcy5yb3doZWlnaHQgPyBudWxsIDogJ21pbm1heCg4MHB4LCBhdXRvKScsXG4gICAgICAgIH0sXG4gICAgICB9O1xuXG4gICAgICByZXR1cm4gaHRtbGAgPGRpdiBjbGFzcz0ke2NsYXNzTWFwKHsgdGhlYWRlcjogdHJ1ZSB9KX0gc3R5bGU9JHtzdHlsZU1hcChzdHlsZSl9PlxuICAgICAgICAke3RoaXMub3B0aW9ucyAmJiB0aGlzLm9wdGlvbnMuZGF0YSAmJiB0aGlzLl9pdGVtcyAmJiB0aGlzLl9pdGVtcy5sZW5ndGhcbiAgICAgICAgICA/IHJlcGVhdChcbiAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLmRhdGEsXG4gICAgICAgICAgICAgIChvcHRpb24pID0+IG9wdGlvbixcbiAgICAgICAgICAgICAgKG9wdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9yZGVyVmFsdWUgPSB0aGlzLm9yZGVyICYmIHRoaXMub3JkZXIuc3RhcnRzV2l0aCgnLScpID8gdGhpcy5vcmRlci5zdWJzdHJpbmcoMSkgOiB0aGlzLm9yZGVyO1xuICAgICAgICAgICAgICAgIGNvbnN0IGxhYmVsID0gdGhpcy5mb3JtYXQgJiYgb3B0aW9uLmxhYmVsID8gdGhpcy5mb3JtYXQob3B0aW9uLmxhYmVsKSA6IG9wdGlvbi5sYWJlbDtcbiAgICAgICAgICAgICAgICBjb25zdCBzdHlsZSA9IHR5cGVvZiBvcHRpb24uaGVhZGVyU3R5bGUgPT09ICdmdW5jdGlvbicgPyBvcHRpb24uaGVhZGVyU3R5bGUobGFiZWwpIDogb3B0aW9uLmhlYWRlclN0eWxlO1xuICAgICAgICAgICAgICAgIHJldHVybiBodG1sYCA8ZGl2IHN0eWxlPVwiJHtzdHlsZSB8fCAnJ31cIj5cbiAgICAgICAgICAgICAgICAgICR7dGhpcy5vcmRlciAmJiAhdGhpcy5ub3NvcnRcbiAgICAgICAgICAgICAgICAgICAgPyBodG1sYFxuICAgICAgICAgICAgICAgICAgIDxndi1idXR0b24gbGluayBAY2xpY2s9XCIke3RoaXMuX29uU29ydENoYW5nZWQuYmluZCh0aGlzLCBvcHRpb24uZmllbGQgfHwgb3B0aW9uLnRhZyl9XCI+JHt1bnRpbChsYWJlbCl9PC9ndi1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgJHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyVmFsdWUgPT09IG9wdGlvbi50YWcgfHwgKG9yZGVyVmFsdWUgPT09IG9wdGlvbi5maWVsZCAmJiBvcHRpb24udHlwZSAhPT0gJ2ltYWdlJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPyBodG1sYCA8Z3YtaWNvbiBjbGFzcz0ke2NsYXNzTWFwKHsgZGVzYzogdGhpcy5vcmRlci5zdGFydHNXaXRoKCctJykgfSl9IHNoYXBlPVwiZGVzaWduOnRyaWFuZ2xlXCI+PC9ndi1pY29uPmBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnJ1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9hPmBcbiAgICAgICAgICAgICAgICAgICAgOiB1bnRpbChsYWJlbCl9XG4gICAgICAgICAgICAgICAgPC9kaXY+YDtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICA6ICcnfVxuICAgICAgPC9kaXY+YDtcbiAgICB9XG4gIH1cblxuICBfcmVuZGVySWNvbihpdGVtLCBpdGVtSW5kZXgsIG9wdGlvbikge1xuICAgIGNvbnN0IGljb24gPSB0eXBlb2Ygb3B0aW9uLmljb24gPT09ICdmdW5jdGlvbicgPyBvcHRpb24uaWNvbihpdGVtKSA6IG9wdGlvbi5pY29uO1xuICAgIGNvbnN0IGljb25UaXRsZSA9IHR5cGVvZiBvcHRpb24uaWNvblRpdGxlID09PSAnZnVuY3Rpb24nID8gb3B0aW9uLmljb25UaXRsZShpdGVtKSA6IG9wdGlvbi5pY29uVGl0bGU7XG4gICAgaWYgKGljb24pIHtcbiAgICAgIHJldHVybiBodG1sYCA8Z3YtaWNvbiBzaGFwZT1cIiR7aWNvbn1cIiB0aXRsZT1cIiR7aWNvblRpdGxlfVwiPjwvZ3YtaWNvbj5gO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBfcmVuZGVyQ29tcG9uZW50KGl0ZW0sIGl0ZW1JbmRleCwgb3B0aW9uLCB2YWx1ZSwgdHlwZSkge1xuICAgIGlmIChvcHRpb24uY29uZGl0aW9uICYmICFvcHRpb24uY29uZGl0aW9uKGl0ZW0pKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHR5cGUpO1xuICAgIGVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcbiAgICBpZiAob3B0aW9uLmF0dHJpYnV0ZXMpIHtcbiAgICAgIE9iamVjdC5rZXlzKG9wdGlvbi5hdHRyaWJ1dGVzKS5mb3JFYWNoKChhdHRyaWJ1dGUpID0+IHtcbiAgICAgICAgaWYgKGF0dHJpYnV0ZS5zdGFydHNXaXRoKCdvbicpKSB7XG4gICAgICAgICAgY29uc3QgZXZlbnQgPSBhdHRyaWJ1dGUucmVwbGFjZSgnb24nLCAnJykudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICBpZiAoZXZlbnQgPT09ICdjbGljaycpIHtcbiAgICAgICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnbGluaycpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBlbGVtZW50LmRhdGFzZXQucHJldmVudFNlbGVjdCA9IHRydWU7XG4gICAgICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKGV2ZW50LCAoZSkgPT4ge1xuICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbkNvbmZpcm0gPSB0eXBlb2Ygb3B0aW9uLmNvbmZpcm0gPT09ICdmdW5jdGlvbicgPyBvcHRpb24uY29uZmlybShpdGVtKSA6IG9wdGlvbi5jb25maXJtO1xuICAgICAgICAgICAgaWYgKG9wdGlvbkNvbmZpcm0gPT0gbnVsbCkge1xuICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBvcHRpb24uYXR0cmlidXRlc1thdHRyaWJ1dGVdKGl0ZW0sIGUsIGVsZW1lbnQsIHRoaXMpO1xuICAgICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2Ygb3B0aW9uLmF0dHJpYnV0ZXNbYXR0cmlidXRlXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIGNvbnN0IHZhbHVlID0gb3B0aW9uLmF0dHJpYnV0ZXNbYXR0cmlidXRlXShpdGVtKTtcbiAgICAgICAgICBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgICAgICAgICAgZWxlbWVudFthdHRyaWJ1dGVdID0gdmFsdWU7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmICh0aGlzLmZvcm1hdCAmJiB0eXBlb2Ygb3B0aW9uLmF0dHJpYnV0ZXNbYXR0cmlidXRlXSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybWF0KG9wdGlvbi5hdHRyaWJ1dGVzW2F0dHJpYnV0ZV0pLnRoZW4oKHQpID0+IHtcbiAgICAgICAgICAgICAgZWxlbWVudFthdHRyaWJ1dGVdID0gdDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBlbGVtZW50W2F0dHJpYnV0ZV0gPSBvcHRpb24uYXR0cmlidXRlc1thdHRyaWJ1dGVdO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLCAoZXZlbnQpID0+IHtcbiAgICAgIHRoaXMuX2l0ZW1zW2l0ZW1JbmRleF1bb3B0aW9uLmZpZWxkXSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICB9KTtcblxuICAgIGNvbnN0IG9wdGlvbkNvbmZpcm0gPSB0eXBlb2Ygb3B0aW9uLmNvbmZpcm0gPT09ICdmdW5jdGlvbicgPyBvcHRpb24uY29uZmlybShpdGVtKSA6IG9wdGlvbi5jb25maXJtO1xuXG4gICAgaWYgKG9wdGlvbkNvbmZpcm0pIHtcbiAgICAgIGNvbnN0IGNvbmZpcm0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdndi1jb25maXJtJyk7XG4gICAgICBpZiAodGhpcy5mb3JtYXQpIHtcbiAgICAgICAgdGhpcy5mb3JtYXQob3B0aW9uQ29uZmlybS5tc2cpLnRoZW4oKHQpID0+IChjb25maXJtLm1lc3NhZ2UgPSB0KSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25maXJtLm1lc3NhZ2UgPSBvcHRpb25Db25maXJtLm1zZztcbiAgICAgIH1cbiAgICAgIGlmIChvcHRpb25Db25maXJtLmRhbmdlcikge1xuICAgICAgICBjb25maXJtLmRhbmdlciA9IHRydWU7XG4gICAgICB9XG4gICAgICBjb25maXJtLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGUpID0+IGUuc3RvcFByb3BhZ2F0aW9uKCkpO1xuICAgICAgY29uZmlybS5hZGRFdmVudExpc3RlbmVyKCdndi1jb25maXJtOm9rJywgKGUpID0+IHtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgb3B0aW9uLmF0dHJpYnV0ZXMub25DbGljayhpdGVtLCBlLCBlbGVtZW50KTtcbiAgICAgIH0pO1xuICAgICAgY29uZmlybS5hcHBlbmRDaGlsZChlbGVtZW50KTtcbiAgICAgIHJldHVybiBjb25maXJtO1xuICAgIH1cbiAgICByZXR1cm4gZWxlbWVudDtcbiAgfVxuXG4gIF9yZW5kZXJDZWxsKGZvcm1hdHRlZFZhbHVlLCBvcHRpb24sIGl0ZW0sIGl0ZW1JbmRleCkge1xuICAgIGlmIChvcHRpb24udHlwZSkge1xuICAgICAgaWYgKG9wdGlvbi50eXBlID09PSAnaW1hZ2UnKSB7XG4gICAgICAgIGxldCBhbHQgPSAnJztcbiAgICAgICAgaWYgKG9wdGlvbi5hbHQpIHtcbiAgICAgICAgICBpZiAodHlwZW9mIG9wdGlvbi5hbHQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGFsdCA9IG9wdGlvbi5hbHQoaXRlbSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGFsdCA9IHRoaXMuX2dldERhdGFGcm9tRmllbGQoaXRlbSwgb3B0aW9uLmFsdCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9yZW5kZXJJbWFnZShmb3JtYXR0ZWRWYWx1ZSwgYWx0KTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIG9wdGlvbi50eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZW5kZXJDb21wb25lbnQoaXRlbSwgaXRlbUluZGV4LCBvcHRpb24sIGZvcm1hdHRlZFZhbHVlLCBvcHRpb24udHlwZShpdGVtKSk7XG4gICAgICB9IGVsc2UgaWYgKG9wdGlvbi50eXBlLnN0YXJ0c1dpdGgoJ2d2LScpKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZW5kZXJDb21wb25lbnQoaXRlbSwgaXRlbUluZGV4LCBvcHRpb24sIGZvcm1hdHRlZFZhbHVlLCBvcHRpb24udHlwZSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1bnRpbChmb3JtYXR0ZWRWYWx1ZSk7XG4gIH1cblxuICBfZ2V0Rm9ybWF0dGVkQ2VsbFZhbHVlKG9wdGlvbiwgaXRlbSkge1xuICAgIGxldCB2YWx1ZSA9IG9wdGlvbi5maWVsZCA/IHRoaXMuX2dldERhdGFGcm9tRmllbGQoaXRlbSwgb3B0aW9uLmZpZWxkKSA6ICcnO1xuXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBpZiAob3B0aW9uLnR5cGUgPT09ICdkYXRlJykge1xuICAgICAgICB2YWx1ZSA9IG5ldyBEYXRlKHZhbHVlKS50b0xvY2FsZURhdGVTdHJpbmcoZ2V0TGFuZ3VhZ2UoKSk7XG4gICAgICB9IGVsc2UgaWYgKG9wdGlvbi50eXBlID09PSAnZGF0ZXRpbWUnKSB7XG4gICAgICAgIHZhbHVlID0gbmV3IERhdGUodmFsdWUpLnRvTG9jYWxlU3RyaW5nKGdldExhbmd1YWdlKCkpO1xuICAgICAgfSBlbHNlIGlmIChvcHRpb24udHlwZSA9PT0gJ3RpbWUnKSB7XG4gICAgICAgIHZhbHVlID0gbmV3IERhdGUodmFsdWUpLnRvTG9jYWxlVGltZVN0cmluZyhnZXRMYW5ndWFnZSgpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAob3B0aW9uLmZvcm1hdCkge1xuICAgICAgdmFsdWUgPSBvcHRpb24uZm9ybWF0KHZhbHVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBfaXNTZWxlY3RlZChpdGVtKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWQgJiYgdGhpcy5zZWxlY3RlZC5pbmNsdWRlcyh0aGlzLl9nZXRJdGVtSWQoaXRlbSkpO1xuICB9XG5cbiAgX3JlbmRlclJvd3Moc3R5bGVHcmlkQ29sdW1ucykge1xuICAgIHJldHVybiBodG1sYCA8ZGl2XG4gICAgICBjbGFzcz1cInJvd3NcIlxuICAgICAgc3R5bGU9JHtzdHlsZU1hcCh7IGhlaWdodDogdGhpcy5yb3dzaGVpZ2h0LCAndXNlci1zZWxlY3QnOiB0aGlzLm9wdGlvbnMuc2VsZWN0YWJsZSA/ICdub25lJyA6ICcnIH0pfVxuICAgICAgQG1vdXNlbGVhdmU9XCIke3RoaXMuX29uTW91c2VMZWF2ZS5iaW5kKHRoaXMpfVwiXG4gICAgPlxuICAgICAgJHt0aGlzLl9pdGVtcyAmJiB0aGlzLl9pdGVtcy5sZW5ndGhcbiAgICAgICAgPyByZXBlYXQoXG4gICAgICAgICAgICB0aGlzLl9pdGVtcyxcbiAgICAgICAgICAgIChpdGVtKSA9PiBpdGVtLFxuICAgICAgICAgICAgKGl0ZW0sIGl0ZW1JbmRleCkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gaHRtbGBcbiAgICAgICAgICA8ZGl2IGNsYXNzPSR7Y2xhc3NNYXAoe1xuICAgICAgICAgICAgcm93OiB0cnVlLFxuICAgICAgICAgICAgc2tlbGV0b246IHRoaXMuX3NrZWxldG9uLFxuICAgICAgICAgICAgc2VsZWN0ZWQ6IHRoaXMuX2lzU2VsZWN0ZWQoaXRlbSksXG4gICAgICAgICAgfSl9IHN0eWxlPSR7c3R5bGVNYXAoe1xuICAgICAgICAgICAgICAgIC4uLnN0eWxlR3JpZENvbHVtbnMsXG4gICAgICAgICAgICAgICAgLi4ue1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiB0aGlzLnJvd2hlaWdodCxcbiAgICAgICAgICAgICAgICAgICdncmlkLWF1dG8tcm93cyc6IHRoaXMucm93aGVpZ2h0ID8gbnVsbCA6ICdtaW5tYXgoODBweCwgYXV0byknLFxuICAgICAgICAgICAgICAgICAgY3Vyc29yOiB0aGlzLm9wdGlvbnMuc2VsZWN0YWJsZSA/ICdwb2ludGVyJyA6ICcnLFxuICAgICAgICAgICAgICAgICAgJ2JvcmRlci1jb2xvcic6IHRoaXMub3B0aW9ucy5zZWxlY3RhYmxlICYmIHRoaXMuX2lzU2VsZWN0ZWQoaXRlbSkgPyAndmFyKC0tc2VsZWN0ZWQtLWJnYyknIDogJycsXG4gICAgICAgICAgICAgICAgICAnY29sdW1uLWdhcCc6ICd2YXIoLS1ndi10YWJsZS0tY29sbWcsIDAuMnJlbSknLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgQGNsaWNrPVwiJHt0aGlzLl9vblNlbGVjdC5iaW5kKHRoaXMsIGl0ZW0pfVwiXG4gICAgICAgICAgICBAbW91c2VlbnRlcj1cIiR7dGhpcy5fb25Nb3VzZUVudGVyLmJpbmQodGhpcywgaXRlbSl9XCI+XG4gICAgICAgICAgICAke1xuICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLmRhdGFcbiAgICAgICAgICAgICAgICA/IHJlcGVhdChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLmRhdGEsXG4gICAgICAgICAgICAgICAgICAgIChvcHRpb24pID0+IG9wdGlvbixcbiAgICAgICAgICAgICAgICAgICAgKG9wdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0eWxlID0gdHlwZW9mIG9wdGlvbi5zdHlsZSA9PT0gJ2Z1bmN0aW9uJyA/IG9wdGlvbi5zdHlsZShpdGVtKSA6IG9wdGlvbi5zdHlsZTtcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmb3JtYXR0ZWRWYWx1ZSA9IHRoaXMuX2dldEZvcm1hdHRlZENlbGxWYWx1ZShvcHRpb24sIGl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBodG1sYDxkaXYgY2xhc3M9XCJjZWxsXCIgc3R5bGU9XCIke2lmRGVmaW5lZChzdHlsZSl9XCIgdGl0bGU9XCIke2Zvcm1hdHRlZFZhbHVlfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgJHt0aGlzLl9yZW5kZXJDZWxsKGZvcm1hdHRlZFZhbHVlLCBvcHRpb24sIGl0ZW0sIGl0ZW1JbmRleCl9JHt0aGlzLl9yZW5kZXJUYWcob3B0aW9uLCBpdGVtKX0ke29wdGlvbi5pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8gdGhpcy5fcmVuZGVySWNvbihpdGVtLCBpdGVtSW5kZXgsIG9wdGlvbilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnJ31cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gYDtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICA6ICcnXG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PmA7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgIClcbiAgICAgICAgOiAnJ31cbiAgICA8L2Rpdj5gO1xuICB9XG5cbiAgX3JlbmRlckl0ZW1zKCkge1xuICAgIGxldCB3aWR0aFRlbXBsYXRlID0gdGhpcy5vcHRpb25zLmRhdGEubWFwKChvKSA9PiB7XG4gICAgICBpZiAoby53aWR0aCkge1xuICAgICAgICByZXR1cm4gby53aWR0aDtcbiAgICAgIH0gZWxzZSBpZiAoby50eXBlID09PSAnaW1hZ2UnKSB7XG4gICAgICAgIHJldHVybiAnODBweCc7XG4gICAgICB9IGVsc2UgaWYgKG8udHlwZSA9PT0gJ2ljb24nKSB7XG4gICAgICAgIHJldHVybiAnNDBweCc7XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9KTtcbiAgICBjb25zdCBmaXhlZERhdGEgPSB3aWR0aFRlbXBsYXRlLmZpbHRlcigod2lkdGgpID0+IHdpZHRoICE9PSBudWxsKTtcbiAgICBjb25zdCBmaXhlZFdpZHRoID0gZml4ZWREYXRhLnJlZHVjZSgoYWNjLCB3aWR0aCkgPT4ge1xuICAgICAgcmV0dXJuIGFjYyArIHBhcnNlSW50KHdpZHRoLnJlcGxhY2UoJ3B4JywgJycpLCAxMCk7XG4gICAgfSwgMCk7XG5cbiAgICB3aWR0aFRlbXBsYXRlID0gd2lkdGhUZW1wbGF0ZS5tYXAoKHdpZHRoKSA9PiB7XG4gICAgICBpZiAod2lkdGggPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBjb2x1bW5HYXAgPSBnZXRDc3NWYXIodGhpcywgJy0tZ3YtdGFibGUtLWNvbG1nJywgJzAuMnJlbScpO1xuICAgICAgICByZXR1cm4gYGNhbGMoKDEwMCUgLSAoICR7Zml4ZWRXaWR0aH1weCArICR7dGhpcy5vcHRpb25zLmRhdGEubGVuZ3RoIC0gMX0gKiAke2NvbHVtbkdhcH0gKSApIC8gJHtcbiAgICAgICAgICB0aGlzLm9wdGlvbnMuZGF0YS5sZW5ndGggLSBmaXhlZERhdGEubGVuZ3RoXG4gICAgICAgIH0pYDtcbiAgICAgIH1cbiAgICAgIHJldHVybiB3aWR0aDtcbiAgICB9KTtcblxuICAgIGNvbnN0IHN0eWxlR3JpZENvbHVtbnMgPSB7ICdncmlkLXRlbXBsYXRlLWNvbHVtbnMnOiB3aWR0aFRlbXBsYXRlLmpvaW4oJyAnKSB9O1xuICAgIHJldHVybiBodG1sYCAke3RoaXMuX3JlbmRlckhlYWRlcihzdHlsZUdyaWRDb2x1bW5zKX0gJHt0aGlzLl9yZW5kZXJSb3dzKHN0eWxlR3JpZENvbHVtbnMpfSAke3RoaXMuX3JlbmRlclBhZ2luYXRpb24oKX0gYDtcbiAgfVxuXG4gIF9yZW5kZXJQYWdpbmF0aW9uKCkge1xuICAgIGlmICh0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLnBhZ2luZyAmJiB0aGlzLl9pdGVtc1Byb3ZpZGVyKSB7XG4gICAgICBjb25zdCBwYWdpbmF0aW9uRGF0YSA9IHtcbiAgICAgICAgZmlyc3Q6IDEsXG4gICAgICAgIGxhc3Q6IHRoaXMuX2l0ZW1zUHJvdmlkZXIubGVuZ3RoIC8gdGhpcy5vcHRpb25zLnBhZ2luZyxcbiAgICAgICAgdG90YWw6IHRoaXMuX2l0ZW1zUHJvdmlkZXIubGVuZ3RoLFxuICAgICAgICBjdXJyZW50X3BhZ2U6IHRoaXMuX3BhZ2UsXG4gICAgICAgIHRvdGFsX3BhZ2VzOiB0aGlzLl9pdGVtc1Byb3ZpZGVyLmxlbmd0aCAvIHRoaXMub3B0aW9ucy5wYWdpbmcsXG4gICAgICB9O1xuICAgICAgcmV0dXJuIGh0bWxgPGd2LXBhZ2luYXRpb24gLmRhdGE9XCIke3BhZ2luYXRpb25EYXRhfVwiIHdpZGdldD1cInRydWVcIj48L2d2LXBhZ2luYXRpb24+YDtcbiAgICB9XG4gIH1cblxuICBfZ2V0RGF0YUZyb21GaWVsZChpdGVtLCBmaWVsZCkge1xuICAgIGlmICh0eXBlb2YgZmllbGQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJldHVybiBmaWVsZChpdGVtKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZpZWxkLnNwbGl0KCcuJykucmVkdWNlKChwLCBjKSA9PiBwICYmIHBbY10sIGl0ZW0pO1xuICAgIH1cbiAgfVxuXG4gIF9yZW5kZXJUYWcob3B0aW9uLCBpdGVtKSB7XG4gICAgaWYgKG9wdGlvbi50YWcpIHtcbiAgICAgIGxldCB0YWc7XG4gICAgICBpZiAodHlwZW9mIG9wdGlvbi50YWcgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdGFnID0gb3B0aW9uLnRhZyhpdGVtKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRhZyA9IG9wdGlvbi5mb3JtYXQgPyBvcHRpb24uZm9ybWF0KHRoaXMuX2dldERhdGFGcm9tRmllbGQoaXRlbSwgb3B0aW9uLnRhZykpIDogdGhpcy5fZ2V0RGF0YUZyb21GaWVsZChpdGVtLCBvcHRpb24udGFnKTtcbiAgICAgIH1cbiAgICAgIGlmICh0YWcpIHtcbiAgICAgICAgcmV0dXJuIGh0bWxgIDxndi10YWcgP3NrZWxldG9uPVwiJHt0aGlzLl9za2VsZXRvbn1cIj4ke3RhZ308L2d2LXRhZz5gO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBfb25JbWFnZUxvYWRlZCgpIHtcbiAgICB0aGlzLl9za2VsZXRvbiA9IGZhbHNlO1xuICB9XG5cbiAgX3JlbmRlckltYWdlKHBpY3R1cmUsIGFsdCkge1xuICAgIHJldHVybiBodG1sYDxndi1pZGVudGl0eS1waWN0dXJlIC5waWN0dXJlPVwiJHtwaWN0dXJlfVwiIC5kaXNwbGF5X25hbWU9XCIke2FsdH1cIj48L2d2LWlkZW50aXR5LXBpY3R1cmU+YDtcbiAgfVxuXG4gIHVwZGF0ZWQocHJvcHMpIHtcbiAgICB0aGlzLl9vblNvcnRDaGFuZ2VkKCk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgaWYgKHRoaXMuX2Vycm9yKSB7XG4gICAgICByZXR1cm4gaHRtbGA8ZGl2IGNsYXNzPVwiZXJyb3JcIj4ke2kxOG4oJ2d2LXRhYmxlLmVycm9yJyl9PC9kaXY+YDtcbiAgICB9XG5cbiAgICBjb25zdCBjbGFzc2VzID0ge1xuICAgICAgdGFibGU6IHRydWUsXG4gICAgICBza2VsZXRvbjogdGhpcy5fc2tlbGV0b24gfHwgdGhpcy5za2VsZXRvbixcbiAgICB9O1xuXG4gICAgY29uc3QgZW1wdHlTdHlsZSA9IHtcbiAgICAgIGhlaWdodDogdGhpcy5yb3dzaGVpZ2h0ID8gdGhpcy5yb3dzaGVpZ2h0IDogJycsXG4gICAgfTtcblxuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz0ke2NsYXNzTWFwKGNsYXNzZXMpfSBzdHlsZT1cIiR7c3R5bGVNYXAoeyBkaXNwbGF5OiB0aGlzLnJvd3NoZWlnaHQgPyAnYmxvY2snIDogJ2ZsZXgnIH0pfVwiPlxuICAgICAgICAke3RoaXMudGl0bGVcbiAgICAgICAgICA/IGh0bWxgIDxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cbiAgICAgICAgICAgICAgPGgzIGNsYXNzPVwidGl0bGVcIj5cbiAgICAgICAgICAgICAgICAke3RoaXMudGl0bGV9ICR7IXRoaXMuX2VtcHR5ID8gaHRtbGA8c3Bhbj4oJHt0aGlzLnRvdGFsIHx8ICh0aGlzLl9pdGVtcyAmJiB0aGlzLl9pdGVtcy5sZW5ndGgpfSk8L3NwYW4+YCA6ICcnfVxuICAgICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgPC9kaXY+YFxuICAgICAgICAgIDogJyd9XG4gICAgICAgICR7IXRoaXMuX2VtcHR5ICYmIHRoaXMub3B0aW9ucyAmJiB0aGlzLm9wdGlvbnMuZGF0YVxuICAgICAgICAgID8gdGhpcy5fcmVuZGVySXRlbXMoKVxuICAgICAgICAgIDogaHRtbGAgPGRpdiBjbGFzcz1cImVtcHR5XCIgc3R5bGU9XCIke3N0eWxlTWFwKGVtcHR5U3R5bGUpfVwiPlxuICAgICAgICAgICAgICAke3RoaXMuZW1wdHltZXNzYWdlID8gdGhpcy5lbXB0eW1lc3NhZ2UgOiBpMThuKCdndi10YWJsZS5lbXB0eScpfVxuICAgICAgICAgICAgPC9kaXY+YH1cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxud2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZ3YtdGFibGUnLCBHdlRhYmxlKTtcbiJdfQ==
|
package/src/molecules/gv-tree.js
CHANGED
|
@@ -13,12 +13,12 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { LitElement, html, css } from 'lit
|
|
17
|
-
import { repeat } from 'lit
|
|
16
|
+
import { LitElement, html, css } from 'lit';
|
|
17
|
+
import { repeat } from 'lit/directives/repeat';
|
|
18
18
|
import '../atoms/gv-button';
|
|
19
19
|
import '../atoms/gv-icon';
|
|
20
20
|
import { dispatchCustomEvent } from '../lib/events';
|
|
21
|
-
import { classMap } from 'lit
|
|
21
|
+
import { classMap } from 'lit/directives/class-map';
|
|
22
22
|
/**
|
|
23
23
|
* A tree menu
|
|
24
24
|
*
|
|
@@ -124,4 +124,4 @@ export class GvTree extends LitElement {
|
|
|
124
124
|
|
|
125
125
|
}
|
|
126
126
|
window.customElements.define('gv-tree', GvTree);
|
|
127
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL21vbGVjdWxlcy9ndi10cmVlLmpzIl0sIm5hbWVzIjpbIkxpdEVsZW1lbnQiLCJodG1sIiwiY3NzIiwicmVwZWF0IiwiZGlzcGF0Y2hDdXN0b21FdmVudCIsImNsYXNzTWFwIiwiR3ZUcmVlIiwicHJvcGVydGllcyIsIml0ZW1zIiwidHlwZSIsIkFycmF5IiwiY2xvc2VkIiwiQm9vbGVhbiIsInJlZmxlY3QiLCJzZWxlY3RlZEl0ZW0iLCJPYmplY3QiLCJzdHlsZXMiLCJjb25zdHJ1Y3RvciIsIl9vblNlbGVjdCIsIm1lbnVJdGVtIiwiZSIsInN0b3BQcm9wYWdhdGlvbiIsIl9vbkNsaWNrIiwiZXhwYW5kZWQiLCJyZXF1ZXN0VXBkYXRlIiwiX2dldE1lbnVJdGVtUGFnZSIsImJpbmQiLCJuYW1lIiwiX2dldE1lbnVJdGVtRm9sZGVyIiwiX2dldE1lbnUiLCJjaGlsZHJlbiIsIm1lbnVJdGVtcyIsIml0ZW0iLCJfZ2V0TWVudUl0ZW0iLCJsZW5ndGgiLCJfdG9nZ2xlTWVudSIsInJlbmRlciIsImNsYXNzZXMiLCJ0cmVlIiwid2luZG93IiwiY3VzdG9tRWxlbWVudHMiLCJkZWZpbmUiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNBLFVBQVQsRUFBcUJDLElBQXJCLEVBQTJCQyxHQUEzQixRQUFzQyxhQUF0QztBQUNBLFNBQVNDLE1BQVQsUUFBdUIsNEJBQXZCO0FBQ0EsT0FBTyxvQkFBUDtBQUNBLE9BQU8sa0JBQVA7QUFDQSxTQUFTQyxtQkFBVCxRQUFvQyxlQUFwQztBQUNBLFNBQVNDLFFBQVQsUUFBeUIsK0JBQXpCO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FB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RkcsRUFBWDtBQUtEOztBQUVEZ0IsRUFBQUEsV0FBVyxHQUFHO0FBQ1osU0FBS3hCLE1BQUwsR0FBYyxDQUFDLEtBQUtBLE1BQXBCO0FBQ0FQLElBQUFBLG1CQUFtQixDQUFDLElBQUQsRUFBTyxRQUFQLEVBQWlCO0FBQUVPLE1BQUFBLE1BQU0sRUFBRSxLQUFLQTtBQUFmLEtBQWpCLENBQW5CO0FBQ0Q7O0FBRUR5QixFQUFBQSxNQUFNLEdBQUc7QUFDUCxVQUFNQyxPQUFPLEdBQUc7QUFDZEMsTUFBQUEsSUFBSSxFQUFFLElBRFE7QUFFZDNCLE1BQUFBLE1BQU0sRUFBRSxLQUFLQTtBQUZDLEtBQWhCO0FBSUEsV0FBT1YsSUFBSSxnQkFDSUksUUFBUSxDQUFDZ0MsT0FBRCxDQURaLDJDQUdhLEtBQUsxQixNQUFMLEdBQWMsV0FBZCxHQUE0Qiw4QkFIekMsYUFHbUYsS0FBS3dCLFdBSHhGLHVCQUtMbEMsSUFBSSwrQkFBK0IsS0FBSzRCLFFBQUwsQ0FBYyxLQUFLckIsS0FBbkIsQ0FBL0IsUUFMQyxVQUFYO0FBUUQ7O0FBN01vQztBQWdOdkMrQixNQUFNLENBQUNDLGNBQVAsQ0FBc0JDLE1BQXRCLENBQTZCLFNBQTdCLEVBQXdDbkMsTUFBeEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgTGl0RWxlbWVudCwgaHRtbCwgY3NzIH0gZnJvbSAnbGl0LWVsZW1lbnQnO1xuaW1wb3J0IHsgcmVwZWF0IH0gZnJvbSAnbGl0LWh0bWwvZGlyZWN0aXZlcy9yZXBlYXQnO1xuaW1wb3J0ICcuLi9hdG9tcy9ndi1idXR0b24nO1xuaW1wb3J0ICcuLi9hdG9tcy9ndi1pY29uJztcbmltcG9ydCB7IGRpc3BhdGNoQ3VzdG9tRXZlbnQgfSBmcm9tICcuLi9saWIvZXZlbnRzJztcbmltcG9ydCB7IGNsYXNzTWFwIH0gZnJvbSAnbGl0LWh0bWwvZGlyZWN0aXZlcy9jbGFzcy1tYXAnO1xuXG4vKipcbiAqIEEgdHJlZSBtZW51XG4gKlxuICogIyMgRGV0YWlsc1xuICogKiBoYXMgQHRoZW1lIGZhY2V0XG4gKlxuICogQGZpcmVzIGd2LXRyZWU6c2VsZWN0IC0gQ3VzdG9tIGV2ZW50IGZyb20gY2hpbGQgY29tcG9uZW50c1xuICogQGZpcmVzIGd2LXRyZWU6dG9nZ2xlIC0gQ3VzdG9tIGV2ZW50IGZyb20gY2hpbGQgY29tcG9uZW50c1xuICpcbiAqIEBhdHRyIHtBcnJheX0gaXRlbXMgLSBsaXN0IG9mIGl0ZW1zIGFuZCBzdWJpdGVtcyB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIG1lbnUgTWVudUl0ZW06IHtuYW1lOiBTdHJpbmcsIHZhbHVlOiBhbnksIGNoaWxkcmVuOiBBcnJheTxNZW51SXRlbT59XG4gKiBAYXR0ciB7Qm9vbGVhbn0gY2xvc2VkIC0gYWxsb3dzIHRvIGNsb3NlIHRoZSBtZW51XG4gKiBAYXR0ciB7T2JqZWN0fSBzZWxlY3RlZEl0ZW0gLSB0aGUgaXRlbSBzZWxlY3RlZFxuICpcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtdHJlZS0tYmdjPXZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3ItbGlnaHRlc3QsICNmZmZmZmYpXSAtIEJhY2tncm91bmQgY29sb3JcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtdHJlZS0tYz12YXIoLS1ndi10aGVtZS1mb250LWNvbG9yLWRhcmssICMyNjI2MjYpXSAtIENvbG9yXG4gKiBAY3NzcHJvcCB7Q29sb3J9IFstLWd2LXRyZWUtYWN0aXZlLS1iZGM9dmFyKC0tZ3YtdGhlbWUtY29sb3IsICM1YTc2ODQpXSAtIEFjdGl2ZSBib3JkZXJcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtdHJlZS1hY3RpdmUtLWJnYz12YXIoLS1ndi10aGVtZS1uZXV0cmFsLWNvbG9yLWRhcmssICNkOWQ5ZDkpXSAtIEFjdGl2ZSBiYWNrZ3JvdW5kIGNvbG9yXG4gKiBAY3NzcHJvcCB7TGVuZ3RofSBbLS1ndi10cmVlLWljb24tLXM9MjBweF0gLSBIZWlnaHQgYW5kIGljb24gd2lkdGhcbiAqL1xuZXhwb3J0IGNsYXNzIEd2VHJlZSBleHRlbmRzIExpdEVsZW1lbnQge1xuICBzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGl0ZW1zOiB7IHR5cGU6IEFycmF5IH0sXG4gICAgICBjbG9zZWQ6IHsgdHlwZTogQm9vbGVhbiwgcmVmbGVjdDogdHJ1ZSB9LFxuICAgICAgc2VsZWN0ZWRJdGVtOiB7IHR5cGU6IE9iamVjdCB9LFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgZ2V0IHN0eWxlcygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgLy8gbGFuZ3VhZ2U9Y3NzXG4gICAgICBjc3NgXG4gICAgICAgIDpob3N0IHtcbiAgICAgICAgICAtLWM6IHZhcigtLWd2LXRyZWUtLWMsIHZhcigtLWd2LXRoZW1lLWZvbnQtY29sb3ItZGFyaywgIzI2MjYyNikpO1xuICAgICAgICAgIC0tYmdjOiB2YXIoLS1ndi10cmVlLS1iZ2MsIHZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3ItbGlnaHRlc3QsICNmZmZmZmYpKTtcbiAgICAgICAgICAtLWFjdGl2ZS1iZGM6IHZhcigtLWd2LXRyZWUtYWN0aXZlLS1iZGMsIHZhcigtLWd2LXRoZW1lLWNvbG9yLCAjNWE3Njg0KSk7XG4gICAgICAgICAgLS1hY3RpdmUtYmdjOiB2YXIoLS1ndi10cmVlLWFjdGl2ZS0tYmdjLCB2YXIoLS1ndi10aGVtZS1uZXV0cmFsLWNvbG9yLWRhcmssICNkOWQ5ZDkpKTtcbiAgICAgICAgICAtLWd2LWljb24tLXM6IHZhcigtLWd2LXRyZWUtaWNvbi0tcywgMjBweCk7XG4gICAgICAgICAgLS1ndi1pY29uLS1jOiB2YXIoLS1jKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZ2MpO1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jKTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRyZWUge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzNTBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgICB3aWR0aDogMzAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAudHJlZS5jbG9zZWQge1xuICAgICAgICAgIHdpZHRoOiA0MnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1haW4tdHJlZS1tZW51IHtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIwcHgpO1xuICAgICAgICAgIGRpcmVjdGlvbjogcnRsO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1haW4tdHJlZS1tZW51ID4gdWwge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjtcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgdWwgbGkge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IDAuNWVtIDAuNWVtIDAuNWVtIDFlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIGxpIHVsIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtMC41ZW07XG4gICAgICAgICAgbWFyZ2luLXRvcDogMC41ZW07XG4gICAgICAgIH1cblxuICAgICAgICB1bCBsaTpob3Zlcjpub3QoLmZvbGRlcik6bm90KC5zZWxlY3RlZCkgPiBsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDRweDtcbiAgICAgICAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdmFyKC0tYWN0aXZlLWJnYyk7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIGxhYmVsIHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGRpcmVjdGlvbjogbHRyO1xuICAgICAgICB9XG5cbiAgICAgICAgdWwgbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgaGVpZ2h0OiAzZW07XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VsZWN0ZWQgPiBsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDRweDtcbiAgICAgICAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdmFyKC0tYWN0aXZlLWJkYyk7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb2xkZXIgPiBsYWJlbCB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cblxuICAgICAgICAudHJlZS1hcnJvdyB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNsb3NlZCAudHJlZS1hcnJvdyB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAuY2xvc2VkIC50cmVlLW1lbnUge1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC44cztcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN3aXRjaCB7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgIG1hcmdpbjogMCAxMXB4IDAgMTFweDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIH1cbiAgICAgIGAsXG4gICAgXTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5jbG9zZWQgPSBmYWxzZTtcbiAgfVxuXG4gIF9vblNlbGVjdChtZW51SXRlbSwgZSkge1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSBtZW51SXRlbTtcbiAgICBkaXNwYXRjaEN1c3RvbUV2ZW50KHRoaXMsICdzZWxlY3QnLCBtZW51SXRlbSk7XG4gIH1cblxuICBfb25DbGljayhtZW51SXRlbSwgZSkge1xuICAgIGlmIChlKSB7XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgICBtZW51SXRlbS5leHBhbmRlZCA9ICFtZW51SXRlbS5leHBhbmRlZDtcbiAgICB0aGlzLnJlcXVlc3RVcGRhdGUoKTtcbiAgfVxuXG4gIF9nZXRNZW51SXRlbVBhZ2UobWVudUl0ZW0pIHtcbiAgICByZXR1cm4gaHRtbGA8bGFiZWwgQGNsaWNrPSR7dGhpcy5fb25TZWxlY3QuYmluZCh0aGlzLCBtZW51SXRlbSl9PiAke21lbnVJdGVtLm5hbWV9IDwvbGFiZWw+YDtcbiAgfVxuXG4gIF9nZXRNZW51SXRlbUZvbGRlcihtZW51SXRlbSkge1xuICAgIHJldHVybiBodG1sYCA8bGFiZWwgQGNsaWNrPSR7dGhpcy5fb25DbGljay5iaW5kKHRoaXMsIG1lbnVJdGVtKX0gY2xhc3M9XCIke2NsYXNzTWFwKHsgY2xvc2VkOiAhbWVudUl0ZW0uZXhwYW5kZWQgfSl9XCI+XG4gICAgICAgICR7bWVudUl0ZW0ubmFtZX1cbiAgICAgICAgPGd2LWljb24gY2xhc3M9XCJ0cmVlLWFycm93XCIgc2hhcGU9XCJjb2RlOnJpZ2h0LWNpcmNsZVwiPjwvZ3YtaWNvbj5cbiAgICAgIDwvbGFiZWw+XG4gICAgICA8c3BhbiBjbGFzcz1cIiR7Y2xhc3NNYXAoeyBjbG9zZWQ6ICFtZW51SXRlbS5leHBhbmRlZCB9KX1cIj4gJHt0aGlzLl9nZXRNZW51KG1lbnVJdGVtLmNoaWxkcmVuKX0gPC9zcGFuPmA7XG4gIH1cblxuICBfZ2V0TWVudShtZW51SXRlbXMpIHtcbiAgICBpZiAobWVudUl0ZW1zKSB7XG4gICAgICByZXR1cm4gaHRtbGA8dWxcbiAgICAgICAgY2xhc3M9XCIke2NsYXNzTWFwKHtcbiAgICAgICAgICAndHJlZS1tZW51JzogdHJ1ZSxcbiAgICAgICAgICBjbG9zZWQ6IHRoaXMuY2xvc2VkLFxuICAgICAgICB9KX1cIlxuICAgICAgPlxuICAgICAgICAke3JlcGVhdChtZW51SXRlbXMsIChpdGVtKSA9PiB0aGlzLl9nZXRNZW51SXRlbShpdGVtKSl9XG4gICAgICA8L3VsPmA7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIF9nZXRNZW51SXRlbShtZW51SXRlbSkge1xuICAgIHJldHVybiBodG1sYCAke21lbnVJdGVtLmNoaWxkcmVuICYmIG1lbnVJdGVtLmNoaWxkcmVuLmxlbmd0aCA+IDBcbiAgICAgID8gaHRtbGA8bGkgY2xhc3M9XCJ0cmVlLW1lbnVfX2l0ZW0gZm9sZGVyXCI+JHt0aGlzLl9nZXRNZW51SXRlbUZvbGRlcihtZW51SXRlbSl9PC9saT5gXG4gICAgICA6IGh0bWxgPGxpIGNsYXNzPVwidHJlZS1tZW51X19pdGVtIHBhZ2UgJHttZW51SXRlbSA9PT0gdGhpcy5zZWxlY3RlZEl0ZW0gPyAnc2VsZWN0ZWQnIDogJyd9XCI+XG4gICAgICAgICAgJHt0aGlzLl9nZXRNZW51SXRlbVBhZ2UobWVudUl0ZW0pfVxuICAgICAgICA8L2xpPmB9YDtcbiAgfVxuXG4gIF90b2dnbGVNZW51KCkge1xuICAgIHRoaXMuY2xvc2VkID0gIXRoaXMuY2xvc2VkO1xuICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQodGhpcywgJ3RvZ2dsZScsIHsgY2xvc2VkOiB0aGlzLmNsb3NlZCB9KTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCBjbGFzc2VzID0ge1xuICAgICAgdHJlZTogdHJ1ZSxcbiAgICAgIGNsb3NlZDogdGhpcy5jbG9zZWQsXG4gICAgfTtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9JHtjbGFzc01hcChjbGFzc2VzKX0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzd2l0Y2hcIj5cbiAgICAgICAgICA8Z3YtaWNvbiBzaGFwZT1cIiR7dGhpcy5jbG9zZWQgPyAndGV4dDptZW51JyA6ICduYXZpZ2F0aW9uOmFuZ2xlLWRvdWJsZS1sZWZ0J31cIiBAY2xpY2s9JHt0aGlzLl90b2dnbGVNZW51fT48L2d2LWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICAke2h0bWxgPGRpdiBjbGFzcz1cIm1haW4tdHJlZS1tZW51XCI+JHt0aGlzLl9nZXRNZW51KHRoaXMuaXRlbXMpfTwvZGl2PmB9XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbndpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoJ2d2LXRyZWUnLCBHdlRyZWUpO1xuIl19
|
|
127
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL21vbGVjdWxlcy9ndi10cmVlLmpzIl0sIm5hbWVzIjpbIkxpdEVsZW1lbnQiLCJodG1sIiwiY3NzIiwicmVwZWF0IiwiZGlzcGF0Y2hDdXN0b21FdmVudCIsImNsYXNzTWFwIiwiR3ZUcmVlIiwicHJvcGVydGllcyIsIml0ZW1zIiwidHlwZSIsIkFycmF5IiwiY2xvc2VkIiwiQm9vbGVhbiIsInJlZmxlY3QiLCJzZWxlY3RlZEl0ZW0iLCJPYmplY3QiLCJzdHlsZXMiLCJjb25zdHJ1Y3RvciIsIl9vblNlbGVjdCIsIm1lbnVJdGVtIiwiZSIsInN0b3BQcm9wYWdhdGlvbiIsIl9vbkNsaWNrIiwiZXhwYW5kZWQiLCJyZXF1ZXN0VXBkYXRlIiwiX2dldE1lbnVJdGVtUGFnZSIsImJpbmQiLCJuYW1lIiwiX2dldE1lbnVJdGVtRm9sZGVyIiwiX2dldE1lbnUiLCJjaGlsZHJlbiIsIm1lbnVJdGVtcyIsIml0ZW0iLCJfZ2V0TWVudUl0ZW0iLCJsZW5ndGgiLCJfdG9nZ2xlTWVudSIsInJlbmRlciIsImNsYXNzZXMiLCJ0cmVlIiwid2luZG93IiwiY3VzdG9tRWxlbWVudHMiLCJkZWZpbmUiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNBLFVBQVQsRUFBcUJDLElBQXJCLEVBQTJCQyxHQUEzQixRQUFzQyxLQUF0QztBQUNBLFNBQVNDLE1BQVQsUUFBdUIsdUJBQXZCO0FBQ0EsT0FBTyxvQkFBUDtBQUNBLE9BQU8sa0JBQVA7QUFDQSxTQUFTQyxtQkFBVCxRQUFvQyxlQUFwQztBQUNBLFNBQVNDLFFBQVQsUUFBeUIsMEJBQXpCO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FB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RkcsRUFBWDtBQUtEOztBQUVEZ0IsRUFBQUEsV0FBVyxHQUFHO0FBQ1osU0FBS3hCLE1BQUwsR0FBYyxDQUFDLEtBQUtBLE1BQXBCO0FBQ0FQLElBQUFBLG1CQUFtQixDQUFDLElBQUQsRUFBTyxRQUFQLEVBQWlCO0FBQUVPLE1BQUFBLE1BQU0sRUFBRSxLQUFLQTtBQUFmLEtBQWpCLENBQW5CO0FBQ0Q7O0FBRUR5QixFQUFBQSxNQUFNLEdBQUc7QUFDUCxVQUFNQyxPQUFPLEdBQUc7QUFDZEMsTUFBQUEsSUFBSSxFQUFFLElBRFE7QUFFZDNCLE1BQUFBLE1BQU0sRUFBRSxLQUFLQTtBQUZDLEtBQWhCO0FBSUEsV0FBT1YsSUFBSSxnQkFDSUksUUFBUSxDQUFDZ0MsT0FBRCxDQURaLDJDQUdhLEtBQUsxQixNQUFMLEdBQWMsV0FBZCxHQUE0Qiw4QkFIekMsYUFHbUYsS0FBS3dCLFdBSHhGLHVCQUtMbEMsSUFBSSwrQkFBK0IsS0FBSzRCLFFBQUwsQ0FBYyxLQUFLckIsS0FBbkIsQ0FBL0IsUUFMQyxVQUFYO0FBUUQ7O0FBN01vQztBQWdOdkMrQixNQUFNLENBQUNDLGNBQVAsQ0FBc0JDLE1BQXRCLENBQTZCLFNBQTdCLEVBQXdDbkMsTUFBeEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgTGl0RWxlbWVudCwgaHRtbCwgY3NzIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHJlcGVhdCB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3JlcGVhdCc7XG5pbXBvcnQgJy4uL2F0b21zL2d2LWJ1dHRvbic7XG5pbXBvcnQgJy4uL2F0b21zL2d2LWljb24nO1xuaW1wb3J0IHsgZGlzcGF0Y2hDdXN0b21FdmVudCB9IGZyb20gJy4uL2xpYi9ldmVudHMnO1xuaW1wb3J0IHsgY2xhc3NNYXAgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9jbGFzcy1tYXAnO1xuXG4vKipcbiAqIEEgdHJlZSBtZW51XG4gKlxuICogIyMgRGV0YWlsc1xuICogKiBoYXMgQHRoZW1lIGZhY2V0XG4gKlxuICogQGZpcmVzIGd2LXRyZWU6c2VsZWN0IC0gQ3VzdG9tIGV2ZW50IGZyb20gY2hpbGQgY29tcG9uZW50c1xuICogQGZpcmVzIGd2LXRyZWU6dG9nZ2xlIC0gQ3VzdG9tIGV2ZW50IGZyb20gY2hpbGQgY29tcG9uZW50c1xuICpcbiAqIEBhdHRyIHtBcnJheX0gaXRlbXMgLSBsaXN0IG9mIGl0ZW1zIGFuZCBzdWJpdGVtcyB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIG1lbnUgTWVudUl0ZW06IHtuYW1lOiBTdHJpbmcsIHZhbHVlOiBhbnksIGNoaWxkcmVuOiBBcnJheTxNZW51SXRlbT59XG4gKiBAYXR0ciB7Qm9vbGVhbn0gY2xvc2VkIC0gYWxsb3dzIHRvIGNsb3NlIHRoZSBtZW51XG4gKiBAYXR0ciB7T2JqZWN0fSBzZWxlY3RlZEl0ZW0gLSB0aGUgaXRlbSBzZWxlY3RlZFxuICpcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtdHJlZS0tYmdjPXZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3ItbGlnaHRlc3QsICNmZmZmZmYpXSAtIEJhY2tncm91bmQgY29sb3JcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtdHJlZS0tYz12YXIoLS1ndi10aGVtZS1mb250LWNvbG9yLWRhcmssICMyNjI2MjYpXSAtIENvbG9yXG4gKiBAY3NzcHJvcCB7Q29sb3J9IFstLWd2LXRyZWUtYWN0aXZlLS1iZGM9dmFyKC0tZ3YtdGhlbWUtY29sb3IsICM1YTc2ODQpXSAtIEFjdGl2ZSBib3JkZXJcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtdHJlZS1hY3RpdmUtLWJnYz12YXIoLS1ndi10aGVtZS1uZXV0cmFsLWNvbG9yLWRhcmssICNkOWQ5ZDkpXSAtIEFjdGl2ZSBiYWNrZ3JvdW5kIGNvbG9yXG4gKiBAY3NzcHJvcCB7TGVuZ3RofSBbLS1ndi10cmVlLWljb24tLXM9MjBweF0gLSBIZWlnaHQgYW5kIGljb24gd2lkdGhcbiAqL1xuZXhwb3J0IGNsYXNzIEd2VHJlZSBleHRlbmRzIExpdEVsZW1lbnQge1xuICBzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGl0ZW1zOiB7IHR5cGU6IEFycmF5IH0sXG4gICAgICBjbG9zZWQ6IHsgdHlwZTogQm9vbGVhbiwgcmVmbGVjdDogdHJ1ZSB9LFxuICAgICAgc2VsZWN0ZWRJdGVtOiB7IHR5cGU6IE9iamVjdCB9LFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgZ2V0IHN0eWxlcygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgLy8gbGFuZ3VhZ2U9Y3NzXG4gICAgICBjc3NgXG4gICAgICAgIDpob3N0IHtcbiAgICAgICAgICAtLWM6IHZhcigtLWd2LXRyZWUtLWMsIHZhcigtLWd2LXRoZW1lLWZvbnQtY29sb3ItZGFyaywgIzI2MjYyNikpO1xuICAgICAgICAgIC0tYmdjOiB2YXIoLS1ndi10cmVlLS1iZ2MsIHZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3ItbGlnaHRlc3QsICNmZmZmZmYpKTtcbiAgICAgICAgICAtLWFjdGl2ZS1iZGM6IHZhcigtLWd2LXRyZWUtYWN0aXZlLS1iZGMsIHZhcigtLWd2LXRoZW1lLWNvbG9yLCAjNWE3Njg0KSk7XG4gICAgICAgICAgLS1hY3RpdmUtYmdjOiB2YXIoLS1ndi10cmVlLWFjdGl2ZS0tYmdjLCB2YXIoLS1ndi10aGVtZS1uZXV0cmFsLWNvbG9yLWRhcmssICNkOWQ5ZDkpKTtcbiAgICAgICAgICAtLWd2LWljb24tLXM6IHZhcigtLWd2LXRyZWUtaWNvbi0tcywgMjBweCk7XG4gICAgICAgICAgLS1ndi1pY29uLS1jOiB2YXIoLS1jKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZ2MpO1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jKTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRyZWUge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzNTBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgICB3aWR0aDogMzAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAudHJlZS5jbG9zZWQge1xuICAgICAgICAgIHdpZHRoOiA0MnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1haW4tdHJlZS1tZW51IHtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIwcHgpO1xuICAgICAgICAgIGRpcmVjdGlvbjogcnRsO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1haW4tdHJlZS1tZW51ID4gdWwge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjtcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgdWwgbGkge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IDAuNWVtIDAuNWVtIDAuNWVtIDFlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIGxpIHVsIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtMC41ZW07XG4gICAgICAgICAgbWFyZ2luLXRvcDogMC41ZW07XG4gICAgICAgIH1cblxuICAgICAgICB1bCBsaTpob3Zlcjpub3QoLmZvbGRlcik6bm90KC5zZWxlY3RlZCkgPiBsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDRweDtcbiAgICAgICAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdmFyKC0tYWN0aXZlLWJnYyk7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIGxhYmVsIHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGRpcmVjdGlvbjogbHRyO1xuICAgICAgICB9XG5cbiAgICAgICAgdWwgbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgaGVpZ2h0OiAzZW07XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VsZWN0ZWQgPiBsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDRweDtcbiAgICAgICAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdmFyKC0tYWN0aXZlLWJkYyk7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb2xkZXIgPiBsYWJlbCB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cblxuICAgICAgICAudHJlZS1hcnJvdyB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNsb3NlZCAudHJlZS1hcnJvdyB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAuY2xvc2VkIC50cmVlLW1lbnUge1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC44cztcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN3aXRjaCB7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgIG1hcmdpbjogMCAxMXB4IDAgMTFweDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIH1cbiAgICAgIGAsXG4gICAgXTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5jbG9zZWQgPSBmYWxzZTtcbiAgfVxuXG4gIF9vblNlbGVjdChtZW51SXRlbSwgZSkge1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSBtZW51SXRlbTtcbiAgICBkaXNwYXRjaEN1c3RvbUV2ZW50KHRoaXMsICdzZWxlY3QnLCBtZW51SXRlbSk7XG4gIH1cblxuICBfb25DbGljayhtZW51SXRlbSwgZSkge1xuICAgIGlmIChlKSB7XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgICBtZW51SXRlbS5leHBhbmRlZCA9ICFtZW51SXRlbS5leHBhbmRlZDtcbiAgICB0aGlzLnJlcXVlc3RVcGRhdGUoKTtcbiAgfVxuXG4gIF9nZXRNZW51SXRlbVBhZ2UobWVudUl0ZW0pIHtcbiAgICByZXR1cm4gaHRtbGA8bGFiZWwgQGNsaWNrPSR7dGhpcy5fb25TZWxlY3QuYmluZCh0aGlzLCBtZW51SXRlbSl9PiAke21lbnVJdGVtLm5hbWV9IDwvbGFiZWw+YDtcbiAgfVxuXG4gIF9nZXRNZW51SXRlbUZvbGRlcihtZW51SXRlbSkge1xuICAgIHJldHVybiBodG1sYCA8bGFiZWwgQGNsaWNrPSR7dGhpcy5fb25DbGljay5iaW5kKHRoaXMsIG1lbnVJdGVtKX0gY2xhc3M9XCIke2NsYXNzTWFwKHsgY2xvc2VkOiAhbWVudUl0ZW0uZXhwYW5kZWQgfSl9XCI+XG4gICAgICAgICR7bWVudUl0ZW0ubmFtZX1cbiAgICAgICAgPGd2LWljb24gY2xhc3M9XCJ0cmVlLWFycm93XCIgc2hhcGU9XCJjb2RlOnJpZ2h0LWNpcmNsZVwiPjwvZ3YtaWNvbj5cbiAgICAgIDwvbGFiZWw+XG4gICAgICA8c3BhbiBjbGFzcz1cIiR7Y2xhc3NNYXAoeyBjbG9zZWQ6ICFtZW51SXRlbS5leHBhbmRlZCB9KX1cIj4gJHt0aGlzLl9nZXRNZW51KG1lbnVJdGVtLmNoaWxkcmVuKX0gPC9zcGFuPmA7XG4gIH1cblxuICBfZ2V0TWVudShtZW51SXRlbXMpIHtcbiAgICBpZiAobWVudUl0ZW1zKSB7XG4gICAgICByZXR1cm4gaHRtbGA8dWxcbiAgICAgICAgY2xhc3M9XCIke2NsYXNzTWFwKHtcbiAgICAgICAgICAndHJlZS1tZW51JzogdHJ1ZSxcbiAgICAgICAgICBjbG9zZWQ6IHRoaXMuY2xvc2VkLFxuICAgICAgICB9KX1cIlxuICAgICAgPlxuICAgICAgICAke3JlcGVhdChtZW51SXRlbXMsIChpdGVtKSA9PiB0aGlzLl9nZXRNZW51SXRlbShpdGVtKSl9XG4gICAgICA8L3VsPmA7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIF9nZXRNZW51SXRlbShtZW51SXRlbSkge1xuICAgIHJldHVybiBodG1sYCAke21lbnVJdGVtLmNoaWxkcmVuICYmIG1lbnVJdGVtLmNoaWxkcmVuLmxlbmd0aCA+IDBcbiAgICAgID8gaHRtbGA8bGkgY2xhc3M9XCJ0cmVlLW1lbnVfX2l0ZW0gZm9sZGVyXCI+JHt0aGlzLl9nZXRNZW51SXRlbUZvbGRlcihtZW51SXRlbSl9PC9saT5gXG4gICAgICA6IGh0bWxgPGxpIGNsYXNzPVwidHJlZS1tZW51X19pdGVtIHBhZ2UgJHttZW51SXRlbSA9PT0gdGhpcy5zZWxlY3RlZEl0ZW0gPyAnc2VsZWN0ZWQnIDogJyd9XCI+XG4gICAgICAgICAgJHt0aGlzLl9nZXRNZW51SXRlbVBhZ2UobWVudUl0ZW0pfVxuICAgICAgICA8L2xpPmB9YDtcbiAgfVxuXG4gIF90b2dnbGVNZW51KCkge1xuICAgIHRoaXMuY2xvc2VkID0gIXRoaXMuY2xvc2VkO1xuICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQodGhpcywgJ3RvZ2dsZScsIHsgY2xvc2VkOiB0aGlzLmNsb3NlZCB9KTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCBjbGFzc2VzID0ge1xuICAgICAgdHJlZTogdHJ1ZSxcbiAgICAgIGNsb3NlZDogdGhpcy5jbG9zZWQsXG4gICAgfTtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9JHtjbGFzc01hcChjbGFzc2VzKX0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzd2l0Y2hcIj5cbiAgICAgICAgICA8Z3YtaWNvbiBzaGFwZT1cIiR7dGhpcy5jbG9zZWQgPyAndGV4dDptZW51JyA6ICduYXZpZ2F0aW9uOmFuZ2xlLWRvdWJsZS1sZWZ0J31cIiBAY2xpY2s9JHt0aGlzLl90b2dnbGVNZW51fT48L2d2LWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICAke2h0bWxgPGRpdiBjbGFzcz1cIm1haW4tdHJlZS1tZW51XCI+JHt0aGlzLl9nZXRNZW51KHRoaXMuaXRlbXMpfTwvZGl2PmB9XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbndpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoJ2d2LXRyZWUnLCBHdlRyZWUpO1xuIl19
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { css, html, LitElement } from 'lit
|
|
16
|
+
import { css, html, LitElement } from 'lit';
|
|
17
17
|
import { dispatchCustomEvent } from '../lib/events';
|
|
18
18
|
import { toDom } from '../lib/text-format';
|
|
19
19
|
import { empty } from '../styles/empty';
|
|
@@ -129,4 +129,4 @@ export class GvDocumentation extends LitElement {
|
|
|
129
129
|
|
|
130
130
|
}
|
|
131
131
|
window.customElements.define('gv-documentation', GvDocumentation);
|
|
132
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL29yZ2FuaXNtcy9ndi1kb2N1bWVudGF0aW9uLmpzIl0sIm5hbWVzIjpbImNzcyIsImh0bWwiLCJMaXRFbGVtZW50IiwiZGlzcGF0Y2hDdXN0b21FdmVudCIsInRvRG9tIiwiZW1wdHkiLCJjbGFzc01hcCIsIkd2RG9jdW1lbnRhdGlvbiIsInByb3BlcnRpZXMiLCJ0ZXh0IiwidHlwZSIsIlN0cmluZyIsImltYWdlIiwiX2RvbSIsIk9iamVjdCIsImF0dHJpYnV0ZSIsImRpc2FibGVkIiwiQm9vbGVhbiIsIndpdGhvdXRIZWFkZXIiLCJfY3NzTG9hZGVkIiwic3R5bGVzIiwiY29uc3RydWN0b3IiLCJfb25DbG9zZURvY3VtZW50YXRpb24iLCJfcmVuZGVySWNvbiIsInNob3VsZFVwZGF0ZSIsInByb3BzIiwiaGFzIiwidGhlbiIsInRpdGxlIiwiZWxlbWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJyZW1vdmUiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZm9yRWFjaCIsImxpbmsiLCJ0YXJnZXQiLCJfb25Mb2FkIiwicmVuZGVyIiwiY29udGVudCIsInNob3ciLCJ3aW5kb3ciLCJjdXN0b21FbGVtZW50cyIsImRlZmluZSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0EsR0FBVCxFQUFjQyxJQUFkLEVBQW9CQyxVQUFwQixRQUFzQyxhQUF0QztBQUNBLFNBQVNDLG1CQUFULFFBQW9DLGVBQXBDO0FBQ0EsU0FBU0MsS0FBVCxRQUFzQixvQkFBdEI7QUFDQSxTQUFTQyxLQUFULFFBQXNCLGlCQUF0QjtBQUNBLFNBQVNDLFFBQVQsUUFBeUIsK0JBQXpCO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FB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SSxFQUROLEdBRUVBLElBQUksMkNBRUUsS0FBS2UsUUFBTCxHQUNFZixJQUFJLEVBRE4sR0FFRUEsSUFBSSxvRUFJa0IsS0FBS3FCLHFCQUp2Qiw4QkFKUiw4QkFZbUJNLEtBWm5CLDZCQWFtQixLQUFLTCxXQUFMLEVBYm5CLGVBSkQsZ0JBbUJPakIsUUFBUSxDQUFDO0FBQUUscUJBQWUsSUFBakI7QUFBdUJpQyxNQUFBQSxJQUFJLEVBQUUsS0FBS3BCO0FBQWxDLEtBQUQsQ0FuQmYsTUFvQkhtQixPQXBCRyw4QkFxQnVCaEMsUUFBUSxDQUFDO0FBQUVELE1BQUFBLEtBQUssRUFBRSxJQUFUO0FBQWVrQyxNQUFBQSxJQUFJLEVBQUVELE9BQU8sSUFBSTtBQUFoQyxLQUFELENBckIvQiw2SEFBWDtBQTJCRDs7QUFqTDZDO0FBb0xoREUsTUFBTSxDQUFDQyxjQUFQLENBQXNCQyxNQUF0QixDQUE2QixrQkFBN0IsRUFBaURuQyxlQUFqRCIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBjc3MsIGh0bWwsIExpdEVsZW1lbnQgfSBmcm9tICdsaXQtZWxlbWVudCc7XG5pbXBvcnQgeyBkaXNwYXRjaEN1c3RvbUV2ZW50IH0gZnJvbSAnLi4vbGliL2V2ZW50cyc7XG5pbXBvcnQgeyB0b0RvbSB9IGZyb20gJy4uL2xpYi90ZXh0LWZvcm1hdCc7XG5pbXBvcnQgeyBlbXB0eSB9IGZyb20gJy4uL3N0eWxlcy9lbXB0eSc7XG5pbXBvcnQgeyBjbGFzc01hcCB9IGZyb20gJ2xpdC1odG1sL2RpcmVjdGl2ZXMvY2xhc3MtbWFwJztcblxuLyoqXG4gKiAgRG9jdW1lbnRhdGlvbiBjb21wb25lbnRcbiAqXG4gKiDimqDvuI8gVGhpcyBjb21wb25lbnQgaXMgYmFzZWQgb24gYGFzY2lpZG9jdG9yYCwgYGhpZ2hsaWdodC5qc2AgYW5kIGBhc2NpaWRvY3Rvci1oaWdobGlnaHQuanNgLlxuICogVG8gdXNlIHRoaXMgY29tcG9uZW50IGluIHlvdXIgcHJvamVjdCBiZSBzdXJlIHRoZSBkZXBlbmRlbmNpZXMgYXJlIGluc3RhbGxlZCBvclxuICogaW5zdGFsbCB0aGVtIHdpdGg6IGBucG0gaW5zdGFsbCBhc2NpaWRvY3RvciBoaWdobGlnaHQuanMgYXNjaWlkb2N0b3ItaGlnaGxpZ2h0LmpzIC0tc2F2ZWBcbiAqXG4gKiBAYXR0ciB7U3RyaW5nfSB0ZXh0IC0gRG9jdW1lbnRhdGlvbiBjb250ZW50XG4gKiBAYXR0ciB7U3RyaW5nfSB0eXBlIC0gVHlwZSBvZiBjb250ZW50XG4gKiBAYXR0ciB7U3RyaW5nfSBpbWFnZSAtIEltYWdlIG9yIGljb24gdG8gZGlzcGxheSBpbiBoZWFkZXJcbiAqIEBhdHRyIHtCb29sZWFufSBkaXNhYmxlZCAtIHRydWUgaWYgY29tcG9uZW50IGlzIGRpc2FibGVkXG4gKiBAYXR0ciB7Qm9vbGVhbn0gd2l0aG91dC1oZWFkZXIgLSB0cnVlIGlmIGNvbXBvbmVudCBzaG91bGQgbm90IGhhdmUgaGVhZGVyIHdpdGggdGl0bGUgYW5kIGFjdGlvbnNcbiAqL1xuZXhwb3J0IGNsYXNzIEd2RG9jdW1lbnRhdGlvbiBleHRlbmRzIExpdEVsZW1lbnQge1xuICBzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRleHQ6IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICB0eXBlOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgaW1hZ2U6IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICBfZG9tOiB7IHR5cGU6IE9iamVjdCwgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgICAgZGlzYWJsZWQ6IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgd2l0aG91dEhlYWRlcjogeyB0eXBlOiBCb29sZWFuLCBhdHRyaWJ1dGU6ICd3aXRob3V0LWhlYWRlcicgfSxcbiAgICAgIF9jc3NMb2FkZWQ6IHsgdHlwZTogQm9vbGVhbiwgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgZ2V0IHN0eWxlcygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgZW1wdHksXG4gICAgICAvLyBsYW5ndWFnZT1DU1NcbiAgICAgIGNzc2BcbiAgICAgICAgOmhvc3Qge1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlYWRlciB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q5ZDlkOTtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgLS1ndi1pY29uLS1zOiAyNnB4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgcGFkZGluZzogMCAxcmVtO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkZXIgLmxlZnQsXG4gICAgICAgIC5oZWFkZXIgLnJpZ2h0IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIH1cblxuICAgICAgICAuaGVhZGVyIC5yaWdodCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkZXIgLnRpdGxlIHtcbiAgICAgICAgICBjb2xvcjogIzI4NDQ0ZjtcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4ycmVtO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlYWRlciBndi1pbWFnZSB7XG4gICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgICAgZmxleC1ncm93OiAxO1xuXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgLyogZm9yIEZpcmVmb3ggKi9cbiAgICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kb2MtY29udGVudCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICAgICAgICBvdmVyZmxvdzogYXV0bztcblxuICAgICAgICAgIC8qIGZvciBGaXJlZm94ICovXG4gICAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAvKiBIYWNrIGZvciBsb25nIHN0cmluZyAqL1xuICAgICAgICAuaGxqcy1zdHJpbmcge1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5lbXB0eSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zaG93IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgYCxcbiAgICBdO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnR5cGUgPSAnYWRvYyc7XG4gIH1cblxuICBfb25DbG9zZURvY3VtZW50YXRpb24oKSB7XG4gICAgZGlzcGF0Y2hDdXN0b21FdmVudCh0aGlzLCAnY2xvc2UnKTtcbiAgfVxuXG4gIF9yZW5kZXJJY29uKCkge1xuICAgIGlmICh0aGlzLmltYWdlKSB7XG4gICAgICByZXR1cm4gaHRtbGA8Z3YtaW1hZ2Ugc3JjPVwiJHt0aGlzLmltYWdlfVwiPjwvZ3YtaW1hZ2U+YDtcbiAgICB9XG4gICAgcmV0dXJuIGh0bWxgPGd2LWljb24gc2hhcGU9XCJjb2RlOnF1ZXN0aW9uXCI+PC9ndi1pY29uPmA7XG4gIH1cblxuICBzaG91bGRVcGRhdGUocHJvcHMpIHtcbiAgICBpZiAocHJvcHMuaGFzKCd0ZXh0JykpIHtcbiAgICAgIHRvRG9tKHRoaXMudGV4dCwgdGhpcy50eXBlLCB0cnVlKS50aGVuKChfZG9tKSA9PiB7XG4gICAgICAgIHRoaXMuX2RvbSA9IF9kb207XG4gICAgICAgIGlmICh0aGlzLl9kb20pIHtcbiAgICAgICAgICBjb25zdCB0aXRsZSA9IHRoaXMuX2RvbS5lbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2gxJyk7XG4gICAgICAgICAgaWYgKHRpdGxlICYmICF0aGlzLndpdGhvdXRIZWFkZXIpIHtcbiAgICAgICAgICAgIHRpdGxlLnJlbW92ZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLl9kb20uZWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdhJykuZm9yRWFjaCgobGluaykgPT4gKGxpbmsudGFyZ2V0ID0gJ19ibGFuaycpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBzdXBlci5zaG91bGRVcGRhdGUocHJvcHMpO1xuICB9XG5cbiAgX29uTG9hZCgpIHtcbiAgICB0aGlzLl9jc3NMb2FkZWQgPSB0cnVlO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGxldCB0aXRsZSA9ICcnO1xuICAgIGxldCBjb250ZW50O1xuICAgIGlmICh0aGlzLl9kb20pIHtcbiAgICAgIHRpdGxlID0gdGhpcy5fZG9tLnRpdGxlO1xuICAgICAgY29udGVudCA9IHRoaXMuX2RvbS5lbGVtZW50O1xuICAgIH1cblxuICAgIHJldHVybiBodG1sYDxsaW5rIEBsb2FkPVwiJHt0aGlzLl9vbkxvYWR9XCIgcmVsPVwic3R5bGVzaGVldFwiIGhyZWY9XCJjc3MvZG9jdW1lbnRhdGlvbi5jc3NcIiAvPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgICAgICAke3RoaXMud2l0aG91dEhlYWRlclxuICAgICAgICAgID8gaHRtbGBgXG4gICAgICAgICAgOiBodG1sYDxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnRcIj5cbiAgICAgICAgICAgICAgICAke3RoaXMuZGlzYWJsZWRcbiAgICAgICAgICAgICAgICAgID8gaHRtbGBgXG4gICAgICAgICAgICAgICAgICA6IGh0bWxgPGd2LWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIGljb249XCJnZW5lcmFsOmNsb3NlXCJcbiAgICAgICAgICAgICAgICAgICAgICBvdXRsaW5lZFxuICAgICAgICAgICAgICAgICAgICAgIHNtYWxsXG4gICAgICAgICAgICAgICAgICAgICAgQGd2LWJ1dHRvbjpjbGljaz1cIiR7dGhpcy5fb25DbG9zZURvY3VtZW50YXRpb259XCJcbiAgICAgICAgICAgICAgICAgICAgICB0aXRsZT1cIkNsb3NlXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZ3YtYnV0dG9uPmB9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIj4ke3RpdGxlfTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHRcIj4ke3RoaXMuX3JlbmRlckljb24oKX08L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PmB9XG4gICAgICAgIDxkaXYgY2xhc3M9XCIke2NsYXNzTWFwKHsgJ2RvYy1jb250ZW50JzogdHJ1ZSwgc2hvdzogdGhpcy5fY3NzTG9hZGVkIH0pfVwiPlxuICAgICAgICAgICR7Y29udGVudH1cbiAgICAgICAgICA8c2xvdCBuYW1lPVwiZW1wdHlcIiBjbGFzcz1cIiR7Y2xhc3NNYXAoeyBlbXB0eTogdHJ1ZSwgc2hvdzogY29udGVudCA9PSBudWxsIH0pfVwiPlxuICAgICAgICAgICAgPGRpdj5Tb3JyeSx0aGUgZG9jdW1lbnRhdGlvbiB3YXMgbm90IGZvdW5kLjwvZGl2PlxuICAgICAgICAgICAgPGRpdj5TZWUgdGhlIGRvY3VtZW50YXRpb24gYWJvdXQgcGx1Z2lucy48L2Rpdj5cbiAgICAgICAgICA8L3Nsb3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+IGA7XG4gIH1cbn1cblxud2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZ3YtZG9jdW1lbnRhdGlvbicsIEd2RG9jdW1lbnRhdGlvbik7XG4iXX0=
|
|
132
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL29yZ2FuaXNtcy9ndi1kb2N1bWVudGF0aW9uLmpzIl0sIm5hbWVzIjpbImNzcyIsImh0bWwiLCJMaXRFbGVtZW50IiwiZGlzcGF0Y2hDdXN0b21FdmVudCIsInRvRG9tIiwiZW1wdHkiLCJjbGFzc01hcCIsIkd2RG9jdW1lbnRhdGlvbiIsInByb3BlcnRpZXMiLCJ0ZXh0IiwidHlwZSIsIlN0cmluZyIsImltYWdlIiwiX2RvbSIsIk9iamVjdCIsImF0dHJpYnV0ZSIsImRpc2FibGVkIiwiQm9vbGVhbiIsIndpdGhvdXRIZWFkZXIiLCJfY3NzTG9hZGVkIiwic3R5bGVzIiwiY29uc3RydWN0b3IiLCJfb25DbG9zZURvY3VtZW50YXRpb24iLCJfcmVuZGVySWNvbiIsInNob3VsZFVwZGF0ZSIsInByb3BzIiwiaGFzIiwidGhlbiIsInRpdGxlIiwiZWxlbWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJyZW1vdmUiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZm9yRWFjaCIsImxpbmsiLCJ0YXJnZXQiLCJfb25Mb2FkIiwicmVuZGVyIiwiY29udGVudCIsInNob3ciLCJ3aW5kb3ciLCJjdXN0b21FbGVtZW50cyIsImRlZmluZSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0EsR0FBVCxFQUFjQyxJQUFkLEVBQW9CQyxVQUFwQixRQUFzQyxLQUF0QztBQUNBLFNBQVNDLG1CQUFULFFBQW9DLGVBQXBDO0FBQ0EsU0FBU0MsS0FBVCxRQUFzQixvQkFBdEI7QUFDQSxTQUFTQyxLQUFULFFBQXNCLGlCQUF0QjtBQUNBLFNBQVNDLFFBQVQsUUFBeUIsK0JBQXpCO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FB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SSxFQUROLEdBRUVBLElBQUksMkNBRUUsS0FBS2UsUUFBTCxHQUNFZixJQUFJLEVBRE4sR0FFRUEsSUFBSSxvRUFJa0IsS0FBS3FCLHFCQUp2Qiw4QkFKUiw4QkFZbUJNLEtBWm5CLDZCQWFtQixLQUFLTCxXQUFMLEVBYm5CLGVBSkQsZ0JBbUJPakIsUUFBUSxDQUFDO0FBQUUscUJBQWUsSUFBakI7QUFBdUJpQyxNQUFBQSxJQUFJLEVBQUUsS0FBS3BCO0FBQWxDLEtBQUQsQ0FuQmYsTUFvQkhtQixPQXBCRyw4QkFxQnVCaEMsUUFBUSxDQUFDO0FBQUVELE1BQUFBLEtBQUssRUFBRSxJQUFUO0FBQWVrQyxNQUFBQSxJQUFJLEVBQUVELE9BQU8sSUFBSTtBQUFoQyxLQUFELENBckIvQiw2SEFBWDtBQTJCRDs7QUFqTDZDO0FBb0xoREUsTUFBTSxDQUFDQyxjQUFQLENBQXNCQyxNQUF0QixDQUE2QixrQkFBN0IsRUFBaURuQyxlQUFqRCIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBjc3MsIGh0bWwsIExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgZGlzcGF0Y2hDdXN0b21FdmVudCB9IGZyb20gJy4uL2xpYi9ldmVudHMnO1xuaW1wb3J0IHsgdG9Eb20gfSBmcm9tICcuLi9saWIvdGV4dC1mb3JtYXQnO1xuaW1wb3J0IHsgZW1wdHkgfSBmcm9tICcuLi9zdHlsZXMvZW1wdHknO1xuaW1wb3J0IHsgY2xhc3NNYXAgfSBmcm9tICdsaXQtaHRtbC9kaXJlY3RpdmVzL2NsYXNzLW1hcCc7XG5cbi8qKlxuICogIERvY3VtZW50YXRpb24gY29tcG9uZW50XG4gKlxuICog4pqg77iPIFRoaXMgY29tcG9uZW50IGlzIGJhc2VkIG9uIGBhc2NpaWRvY3RvcmAsIGBoaWdobGlnaHQuanNgIGFuZCBgYXNjaWlkb2N0b3ItaGlnaGxpZ2h0LmpzYC5cbiAqIFRvIHVzZSB0aGlzIGNvbXBvbmVudCBpbiB5b3VyIHByb2plY3QgYmUgc3VyZSB0aGUgZGVwZW5kZW5jaWVzIGFyZSBpbnN0YWxsZWQgb3JcbiAqIGluc3RhbGwgdGhlbSB3aXRoOiBgbnBtIGluc3RhbGwgYXNjaWlkb2N0b3IgaGlnaGxpZ2h0LmpzIGFzY2lpZG9jdG9yLWhpZ2hsaWdodC5qcyAtLXNhdmVgXG4gKlxuICogQGF0dHIge1N0cmluZ30gdGV4dCAtIERvY3VtZW50YXRpb24gY29udGVudFxuICogQGF0dHIge1N0cmluZ30gdHlwZSAtIFR5cGUgb2YgY29udGVudFxuICogQGF0dHIge1N0cmluZ30gaW1hZ2UgLSBJbWFnZSBvciBpY29uIHRvIGRpc3BsYXkgaW4gaGVhZGVyXG4gKiBAYXR0ciB7Qm9vbGVhbn0gZGlzYWJsZWQgLSB0cnVlIGlmIGNvbXBvbmVudCBpcyBkaXNhYmxlZFxuICogQGF0dHIge0Jvb2xlYW59IHdpdGhvdXQtaGVhZGVyIC0gdHJ1ZSBpZiBjb21wb25lbnQgc2hvdWxkIG5vdCBoYXZlIGhlYWRlciB3aXRoIHRpdGxlIGFuZCBhY3Rpb25zXG4gKi9cbmV4cG9ydCBjbGFzcyBHdkRvY3VtZW50YXRpb24gZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgc3RhdGljIGdldCBwcm9wZXJ0aWVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICB0ZXh0OiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgdHlwZTogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIGltYWdlOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgX2RvbTogeyB0eXBlOiBPYmplY3QsIGF0dHJpYnV0ZTogZmFsc2UgfSxcbiAgICAgIGRpc2FibGVkOiB7IHR5cGU6IEJvb2xlYW4gfSxcbiAgICAgIHdpdGhvdXRIZWFkZXI6IHsgdHlwZTogQm9vbGVhbiwgYXR0cmlidXRlOiAnd2l0aG91dC1oZWFkZXInIH0sXG4gICAgICBfY3NzTG9hZGVkOiB7IHR5cGU6IEJvb2xlYW4sIGF0dHJpYnV0ZTogZmFsc2UgfSxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGdldCBzdHlsZXMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIGVtcHR5LFxuICAgICAgLy8gbGFuZ3VhZ2U9Q1NTXG4gICAgICBjc3NgXG4gICAgICAgIDpob3N0IHtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkOWQ5ZDk7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBtaW4taGVpZ2h0OiA0NXB4O1xuICAgICAgICAgIC0tZ3YtaWNvbi0tczogMjZweDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAuaGVhZGVyIC5sZWZ0LFxuICAgICAgICAuaGVhZGVyIC5yaWdodCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlYWRlciAucmlnaHQge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIH1cblxuICAgICAgICAuaGVhZGVyIC50aXRsZSB7XG4gICAgICAgICAgY29sb3I6ICMyODQ0NGY7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMnJlbTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkZXIgZ3YtaW1hZ2Uge1xuICAgICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250YWluZXIge1xuICAgICAgICAgIGZsZXgtZ3JvdzogMTtcblxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgIC8qIGZvciBGaXJlZm94ICovXG4gICAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9jLWNvbnRlbnQge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgZmxleC1ncm93OiAxO1xuXG4gICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG5cbiAgICAgICAgICAvKiBmb3IgRmlyZWZveCAqL1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgICAgcGFkZGluZzogMC41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogSGFjayBmb3IgbG9uZyBzdHJpbmcgKi9cbiAgICAgICAgLmhsanMtc3RyaW5nIHtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAuZW1wdHkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuc2hvdyB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIGAsXG4gICAgXTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy50eXBlID0gJ2Fkb2MnO1xuICB9XG5cbiAgX29uQ2xvc2VEb2N1bWVudGF0aW9uKCkge1xuICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQodGhpcywgJ2Nsb3NlJyk7XG4gIH1cblxuICBfcmVuZGVySWNvbigpIHtcbiAgICBpZiAodGhpcy5pbWFnZSkge1xuICAgICAgcmV0dXJuIGh0bWxgPGd2LWltYWdlIHNyYz1cIiR7dGhpcy5pbWFnZX1cIj48L2d2LWltYWdlPmA7XG4gICAgfVxuICAgIHJldHVybiBodG1sYDxndi1pY29uIHNoYXBlPVwiY29kZTpxdWVzdGlvblwiPjwvZ3YtaWNvbj5gO1xuICB9XG5cbiAgc2hvdWxkVXBkYXRlKHByb3BzKSB7XG4gICAgaWYgKHByb3BzLmhhcygndGV4dCcpKSB7XG4gICAgICB0b0RvbSh0aGlzLnRleHQsIHRoaXMudHlwZSwgdHJ1ZSkudGhlbigoX2RvbSkgPT4ge1xuICAgICAgICB0aGlzLl9kb20gPSBfZG9tO1xuICAgICAgICBpZiAodGhpcy5fZG9tKSB7XG4gICAgICAgICAgY29uc3QgdGl0bGUgPSB0aGlzLl9kb20uZWxlbWVudC5xdWVyeVNlbGVjdG9yKCdoMScpO1xuICAgICAgICAgIGlmICh0aXRsZSAmJiAhdGhpcy53aXRob3V0SGVhZGVyKSB7XG4gICAgICAgICAgICB0aXRsZS5yZW1vdmUoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5fZG9tLmVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnYScpLmZvckVhY2goKGxpbmspID0+IChsaW5rLnRhcmdldCA9ICdfYmxhbmsnKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gc3VwZXIuc2hvdWxkVXBkYXRlKHByb3BzKTtcbiAgfVxuXG4gIF9vbkxvYWQoKSB7XG4gICAgdGhpcy5fY3NzTG9hZGVkID0gdHJ1ZTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBsZXQgdGl0bGUgPSAnJztcbiAgICBsZXQgY29udGVudDtcbiAgICBpZiAodGhpcy5fZG9tKSB7XG4gICAgICB0aXRsZSA9IHRoaXMuX2RvbS50aXRsZTtcbiAgICAgIGNvbnRlbnQgPSB0aGlzLl9kb20uZWxlbWVudDtcbiAgICB9XG5cbiAgICByZXR1cm4gaHRtbGA8bGluayBAbG9hZD1cIiR7dGhpcy5fb25Mb2FkfVwiIHJlbD1cInN0eWxlc2hlZXRcIiBocmVmPVwiY3NzL2RvY3VtZW50YXRpb24uY3NzXCIgLz5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgICAgICAgJHt0aGlzLndpdGhvdXRIZWFkZXJcbiAgICAgICAgICA/IGh0bWxgYFxuICAgICAgICAgIDogaHRtbGA8ZGl2IGNsYXNzPVwiaGVhZGVyXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0XCI+XG4gICAgICAgICAgICAgICAgJHt0aGlzLmRpc2FibGVkXG4gICAgICAgICAgICAgICAgICA/IGh0bWxgYFxuICAgICAgICAgICAgICAgICAgOiBodG1sYDxndi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBpY29uPVwiZ2VuZXJhbDpjbG9zZVwiXG4gICAgICAgICAgICAgICAgICAgICAgb3V0bGluZWRcbiAgICAgICAgICAgICAgICAgICAgICBzbWFsbFxuICAgICAgICAgICAgICAgICAgICAgIEBndi1idXR0b246Y2xpY2s9XCIke3RoaXMuX29uQ2xvc2VEb2N1bWVudGF0aW9ufVwiXG4gICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJDbG9zZVwiXG4gICAgICAgICAgICAgICAgICAgID48L2d2LWJ1dHRvbj5gfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+JHt0aXRsZX08L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0XCI+JHt0aGlzLl9yZW5kZXJJY29uKCl9PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5gfVxuICAgICAgICA8ZGl2IGNsYXNzPVwiJHtjbGFzc01hcCh7ICdkb2MtY29udGVudCc6IHRydWUsIHNob3c6IHRoaXMuX2Nzc0xvYWRlZCB9KX1cIj5cbiAgICAgICAgICAke2NvbnRlbnR9XG4gICAgICAgICAgPHNsb3QgbmFtZT1cImVtcHR5XCIgY2xhc3M9XCIke2NsYXNzTWFwKHsgZW1wdHk6IHRydWUsIHNob3c6IGNvbnRlbnQgPT0gbnVsbCB9KX1cIj5cbiAgICAgICAgICAgIDxkaXY+U29ycnksdGhlIGRvY3VtZW50YXRpb24gd2FzIG5vdCBmb3VuZC48L2Rpdj5cbiAgICAgICAgICAgIDxkaXY+U2VlIHRoZSBkb2N1bWVudGF0aW9uIGFib3V0IHBsdWdpbnMuPC9kaXY+XG4gICAgICAgICAgPC9zbG90PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PiBgO1xuICB9XG59XG5cbndpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoJ2d2LWRvY3VtZW50YXRpb24nLCBHdkRvY3VtZW50YXRpb24pO1xuIl19
|
|
@@ -13,19 +13,19 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { css, html, LitElement } from 'lit
|
|
16
|
+
import { css, html, LitElement } from 'lit';
|
|
17
17
|
import '../atoms/gv-button';
|
|
18
18
|
import '../atoms/gv-tag';
|
|
19
19
|
import { i18n } from '../lib/i18n';
|
|
20
20
|
import { isSameRoutes } from '../lib/utils';
|
|
21
|
-
import { repeat } from 'lit
|
|
22
|
-
import { until } from 'lit
|
|
21
|
+
import { repeat } from 'lit/directives/repeat';
|
|
22
|
+
import { until } from 'lit/directives/until';
|
|
23
23
|
import { dispatchCustomEvent } from '../lib/events';
|
|
24
|
-
import { classMap } from 'lit
|
|
24
|
+
import { classMap } from 'lit/directives/class-map';
|
|
25
25
|
import { withResizeObserver } from '../mixins/with-resize-observer';
|
|
26
26
|
import { ItemResource } from '../mixins/item-resource';
|
|
27
27
|
import { getNbApisInView, getBackground, getTitle, getVersion } from '../lib/item';
|
|
28
|
-
import { styleMap } from 'lit
|
|
28
|
+
import { styleMap } from 'lit/directives/style-map';
|
|
29
29
|
/**
|
|
30
30
|
* Header component
|
|
31
31
|
*
|
|
@@ -127,4 +127,4 @@ export class GvHeader extends withResizeObserver(ItemResource(LitElement)) {
|
|
|
127
127
|
|
|
128
128
|
}
|
|
129
129
|
window.customElements.define('gv-header', GvHeader);
|
|
130
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL29yZ2FuaXNtcy9ndi1oZWFkZXIuanMiXSwibmFtZXMiOlsiY3NzIiwiaHRtbCIsIkxpdEVsZW1lbnQiLCJpMThuIiwiaXNTYW1lUm91dGVzIiwicmVwZWF0IiwidW50aWwiLCJkaXNwYXRjaEN1c3RvbUV2ZW50IiwiY2xhc3NNYXAiLCJ3aXRoUmVzaXplT2JzZXJ2ZXIiLCJJdGVtUmVzb3VyY2UiLCJnZXROYkFwaXNJblZpZXciLCJnZXRCYWNrZ3JvdW5kIiwiZ2V0VGl0bGUiLCJnZXRWZXJzaW9uIiwic3R5bGVNYXAiLCJHdkhlYWRlciIsInByb3BlcnRpZXMiLCJicmVhZGNydW1icyIsInR5cGUiLCJBcnJheSIsInN0aWNreSIsIkJvb2xlYW4iLCJyZWZsZWN0IiwiX2JyZWFkY3J1bWJzIiwiYXR0cmlidXRlIiwiY2FuU3Vic2NyaWJlIiwic3R5bGVzIiwiY29uc3RydWN0b3IiLCJicmVha3BvaW50cyIsIndpZHRoIiwiY2FuZGlkYXRlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJ0aGVuIiwiY2FuZGlkYXRlcyIsImFsbCIsImZ1dHVyZVJvdXRlcyIsImZpbHRlciIsInIiLCJfZ2V0TGluayIsInJvdXRlIiwiaW5kZXgiLCJfcm91dGUiLCJ0aXRsZSIsImxlbmd0aCIsIl9pdGVtIiwiX29uQ2xpY2siLCJhY3RpdmUiLCJpY29uIiwicGF0aCIsImhlbHAiLCJjYXRjaCIsIl9yb3V0ZXMiLCJfcmVuZGVyQnJlYWRjcnVtYnMiLCJfb25TdWJzY3JpYmUiLCJlIiwic3RvcFByb3BhZ2F0aW9uIiwicmVuZGVyIiwibmJBcGlzSW5WaWV3IiwiaGVhZGVyIiwic2tlbGV0b24iLCJfc2tlbGV0b24iLCJiYWNrZ3JvdW5kIiwiX3JlbmRlckltYWdlIiwiX2Vycm9yIiwiX2VtcHR5Iiwid2luZG93IiwiY3VzdG9tRWxlbWVudHMiLCJkZWZpbmUiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNBLEdBQVQsRUFBY0MsSUFBZCxFQUFvQkMsVUFBcEIsUUFBc0MsYUFBdEM7QUFDQSxPQUFPLG9CQUFQO0FBQ0EsT0FBTyxpQkFBUDtBQUNBLFNBQVNDLElBQVQsUUFBcUIsYUFBckI7QUFDQSxTQUFTQyxZQUFULFFBQTZCLGNBQTdCO0FBQ0EsU0FBU0MsTUFBVCxRQUF1Qiw0QkFBdkI7QUFDQSxTQUFTQyxLQUFULFFBQXNCLDJCQUF0QjtBQUNBLFNBQVNDLG1CQUFULFFBQW9DLGVBQXBDO0FBQ0EsU0FBU0MsUUFBVCxRQUF5QiwrQkFBekI7QUFDQSxTQUFTQyxrQkFBVCxRQUFtQyxnQ0FBbkM7QUFDQSxTQUFTQyxZQUFULFFBQTZCLHlCQUE3QjtBQUNBLFNBQVNDLGVBQVQsRUFBMEJDLGFBQTFCLEVBQXlDQyxRQUF6QyxFQUFtREMsVUFBbkQsUUFBcUUsYUFBckU7QUFDQSxTQUFTQyxRQUFULFFBQXlCLCtCQUF6QjtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0EsT0FBTyxNQUFNQyxRQUFOLFNBQXVCUCxrQkFBa0IsQ0FBQ0MsWUFBWSxDQUFDUixVQUFELENBQWIsQ0FBekMsQ0FBb0U7QUFDcEQsYUFBVmUsVUFBVSxHQUFHO0FBQ3RCLFdBQU87QUFDTEMsTUFBQUEsV0FBVyxFQUFFO0FBQUVDLFFBQUFBLElBQUksRUFBRUM7QUFBUixPQURSO0FBRUxDLE1BQUFBLE1BQU0sRUFBRTtBQUFFRixRQUFBQSxJQUFJLEVBQUVHLE9BQVI7QUFBaUJDLFFBQUFBLE9BQU8sRUFBRTtBQUExQixPQUZIO0FBR0xDLE1BQUFBLFlBQVksRUFBRTtBQUFFTCxRQUFBQSxJQUFJLEVBQUVDLEtBQVI7QUFBZUssUUFBQUEsU0FBUyxFQUFFO0FBQTFCLE9BSFQ7QUFJTEMsTUFBQUEsWUFBWSxFQUFFO0FBQUVQLFFBQUFBLElBQUksRUFBRUcsT0FBUjtBQUFpQkcsUUFBQUEsU0FBUyxFQUFFO0FBQTVCO0FBSlQsS0FBUDtBQU1EOztBQUVnQixhQUFORSxNQUFNLEdBQUc7QUFDbEIsV0FBTyxDQUNMLEdBQUcsTUFBTUEsTUFESixFQUVMO0FBQ0EzQixJQUFBQSxHQUFHLHc0RUFIRSxDQUFQO0FBK0lEOztBQUVENEIsRUFBQUEsV0FBVyxHQUFHO0FBQ1o7QUFDQSxTQUFLQyxXQUFMLEdBQW1CO0FBQ2pCQyxNQUFBQSxLQUFLLEVBQUUsQ0FBQyxHQUFELEVBQU0sR0FBTixFQUFXLEdBQVg7QUFEVSxLQUFuQjtBQUdBLFNBQUtOLFlBQUwsR0FBb0IsRUFBcEI7QUFDQSxTQUFLRSxZQUFMLEdBQW9CLEtBQXBCO0FBQ0Q7O0FBRWMsTUFBWFIsV0FBVyxDQUFDYSxTQUFELEVBQVk7QUFDekIsUUFBSUEsU0FBSixFQUFlO0FBQ2JDLE1BQUFBLE9BQU8sQ0FBQ0MsT0FBUixDQUFnQkYsU0FBaEIsRUFBMkJHLElBQTNCLENBQWlDQyxVQUFELElBQWdCO0FBQzlDLFlBQUlBLFVBQUosRUFBZ0I7QUFDZEgsVUFBQUEsT0FBTyxDQUFDSSxHQUFSLENBQVlELFVBQVosRUFBd0JELElBQXhCLENBQThCRyxZQUFELElBQWtCO0FBQzdDLGdCQUFJLENBQUNqQyxZQUFZLENBQUMsS0FBS29CLFlBQU4sRUFBb0JhLFlBQXBCLENBQWpCLEVBQW9EO0FBQ2xELG1CQUFLYixZQUFMLEdBQW9CYSxZQUFZLENBQUNDLE1BQWIsQ0FBcUJDLENBQUQsSUFBT0EsQ0FBQyxJQUFJLElBQWhDLENBQXBCO0FBQ0Q7QUFDRixXQUpEO0FBS0QsU0FORCxNQU1PO0FBQ0wsZUFBS2YsWUFBTCxHQUFvQixJQUFwQjtBQUNEO0FBQ0YsT0FWRDtBQVdELEtBWkQsTUFZTztBQUNMLFdBQUtBLFlBQUwsR0FBb0IsSUFBcEI7QUFDRDtBQUNGOztBQUVEZ0IsRUFBQUEsUUFBUSxDQUFDQyxLQUFELEVBQVFDLEtBQVIsRUFBZTtBQUNyQixXQUFPVixPQUFPLENBQUNDLE9BQVIsQ0FBZ0JRLEtBQWhCLEVBQ0pQLElBREksQ0FDRVMsTUFBRCxJQUFZO0FBQ2hCLFlBQU1DLEtBQUssR0FBR0YsS0FBSyxLQUFLLEtBQUtsQixZQUFMLENBQWtCcUIsTUFBbEIsR0FBMkIsQ0FBckMsR0FBeUNoQyxRQUFRLENBQUMsS0FBS2lDLEtBQU4sQ0FBakQsR0FBZ0VILE1BQU0sQ0FBQ0MsS0FBckY7QUFFQSxhQUFPM0MsSUFBSSw2QkFDUSxLQUFLOEMsUUFEYixjQUVFSixNQUFNLENBQUNLLE1BRlQsWUFHQUwsTUFBTSxDQUFDTSxJQUhQLFlBSUFOLE1BQU0sQ0FBQ08sSUFKUCxhQUtDTixLQUxELFlBTUF0QyxLQUFLLENBQUNxQyxNQUFNLENBQUNRLElBQVIsRUFBYyxJQUFkLENBTkwsY0FBWDtBQVFELEtBWkksRUFhSkMsS0FiSSxDQWFFLE1BQU07QUFDWCxhQUFPLEtBQUtDLE9BQUwsQ0FBYVgsS0FBYixDQUFQO0FBQ0QsS0FmSSxDQUFQO0FBZ0JEOztBQUVEWSxFQUFBQSxrQkFBa0IsR0FBRztBQUNuQixXQUFPckQsSUFBSSxTQUNQSSxNQUFNLENBQ04sS0FBS21CLFlBREMsRUFFTGlCLEtBQUQsSUFBV0EsS0FGTCxFQUdOLENBQUNBLEtBQUQsRUFBUUMsS0FBUixLQUFrQnBDLEtBQUssQ0FBQyxLQUFLa0MsUUFBTCxDQUFjQyxLQUFkLEVBQXFCQyxLQUFyQixDQUFELEVBQThCekMsSUFBSSw4QkFBbEMsQ0FIakIsQ0FEQyxTQUFYO0FBT0Q7O0FBRURzRCxFQUFBQSxZQUFZLENBQUNDLENBQUQsRUFBSTtBQUNkQSxJQUFBQSxDQUFDLENBQUNDLGVBQUY7QUFDQWxELElBQUFBLG1CQUFtQixDQUFDLElBQUQsRUFBTyxXQUFQLEVBQW9CLEtBQUt1QyxLQUF6QixDQUFuQjtBQUNEOztBQUVEWSxFQUFBQSxNQUFNLEdBQUc7QUFDUCxVQUFNQyxZQUFZLEdBQUdoRCxlQUFlLENBQUMsS0FBS21DLEtBQU4sQ0FBcEM7QUFDQSxXQUFPN0MsSUFBSSxnQkFFRU8sUUFBUSxDQUFDO0FBQUVvRCxNQUFBQSxNQUFNLEVBQUUsSUFBVjtBQUFnQkMsTUFBQUEsUUFBUSxFQUFFLEtBQUtDO0FBQS9CLEtBQUQsQ0FGVixZQUdFL0MsUUFBUSxDQUFDO0FBQUVnRCxNQUFBQSxVQUFVLEVBQUUsVUFBVW5ELGFBQWEsQ0FBQyxLQUFLa0MsS0FBTixDQUF2QixHQUFzQztBQUFwRCxLQUFELENBSFYsTUFLTCxLQUFLa0IsWUFBTCxFQUxLLHdCQU9ILEVBQUUsS0FBS0MsTUFBTCxJQUFlLEtBQUtDLE1BQXRCLEtBQWlDLENBQUMsS0FBSzdDLE1BQXZDLEdBQWdEcEIsSUFBSSx3QkFBd0JhLFVBQVUsQ0FBQyxLQUFLZ0MsS0FBTixDQUFsQyxRQUFwRCxHQUE2RyxFQVAxRyxJQVFILEtBQUttQixNQUFMLElBQWUsS0FBS0MsTUFBcEIsR0FDRWpFLElBQUksc0JBQXNCLEtBQUtnRSxNQUFMLEdBQWM5RCxJQUFJLENBQUMsaUJBQUQsQ0FBbEIsR0FBd0NBLElBQUksQ0FBQyxpQkFBRCxDQUFsRSxRQUROLEdBRUVGLElBQUksT0FBT1ksUUFBUSxDQUFDLEtBQUtpQyxLQUFOLENBQWYsSUFBK0JhLFlBQVksS0FBSyxJQUFqQixHQUF3QjFELElBQUksVUFBVTBELFlBQVYsVUFBNUIsR0FBK0QsRUFBOUYsT0FWSCxXQVlMLEVBQUUsS0FBS00sTUFBTCxJQUFlLEtBQUtDLE1BQXRCLEtBQWlDLEtBQUt4QyxZQUF0QyxHQUNFekIsSUFBSSxvREFDMkIsS0FBS3NELFlBRGhDLEtBQ2lEcEQsSUFBSSxDQUFDLHFCQUFELENBRHJELHFCQUROLEdBSUcsRUFoQkUsVUFBWDtBQW1CRDs7QUE5T3dFO0FBaVAzRWdFLE1BQU0sQ0FBQ0MsY0FBUCxDQUFzQkMsTUFBdEIsQ0FBNkIsV0FBN0IsRUFBMENyRCxRQUExQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBjc3MsIGh0bWwsIExpdEVsZW1lbnQgfSBmcm9tICdsaXQtZWxlbWVudCc7XG5pbXBvcnQgJy4uL2F0b21zL2d2LWJ1dHRvbic7XG5pbXBvcnQgJy4uL2F0b21zL2d2LXRhZyc7XG5pbXBvcnQgeyBpMThuIH0gZnJvbSAnLi4vbGliL2kxOG4nO1xuaW1wb3J0IHsgaXNTYW1lUm91dGVzIH0gZnJvbSAnLi4vbGliL3V0aWxzJztcbmltcG9ydCB7IHJlcGVhdCB9IGZyb20gJ2xpdC1odG1sL2RpcmVjdGl2ZXMvcmVwZWF0JztcbmltcG9ydCB7IHVudGlsIH0gZnJvbSAnbGl0LWh0bWwvZGlyZWN0aXZlcy91bnRpbCc7XG5pbXBvcnQgeyBkaXNwYXRjaEN1c3RvbUV2ZW50IH0gZnJvbSAnLi4vbGliL2V2ZW50cyc7XG5pbXBvcnQgeyBjbGFzc01hcCB9IGZyb20gJ2xpdC1odG1sL2RpcmVjdGl2ZXMvY2xhc3MtbWFwJztcbmltcG9ydCB7IHdpdGhSZXNpemVPYnNlcnZlciB9IGZyb20gJy4uL21peGlucy93aXRoLXJlc2l6ZS1vYnNlcnZlcic7XG5pbXBvcnQgeyBJdGVtUmVzb3VyY2UgfSBmcm9tICcuLi9taXhpbnMvaXRlbS1yZXNvdXJjZSc7XG5pbXBvcnQgeyBnZXROYkFwaXNJblZpZXcsIGdldEJhY2tncm91bmQsIGdldFRpdGxlLCBnZXRWZXJzaW9uIH0gZnJvbSAnLi4vbGliL2l0ZW0nO1xuaW1wb3J0IHsgc3R5bGVNYXAgfSBmcm9tICdsaXQtaHRtbC9kaXJlY3RpdmVzL3N0eWxlLW1hcCc7XG5cbi8qKlxuICogSGVhZGVyIGNvbXBvbmVudFxuICpcbiAqICMjIERldGFpbHNcbiAqICogaGFzIEB0aGVtZSBmYWNldFxuICpcbiAqIEBhdHRyIHtQcm9taXNlPGFueT59IGl0ZW0gLSBBbiBpdGVtXG4gKiBAYXR0ciB7UHJvbWlzZTxBcnJheTx7IHBhdGg6IFN0cmluZywgdGl0bGU6IFN0cmluZyB9Pj59IGJyZWFkY3J1bWJzIC0gZGVmaW5pdGlvbiBvZiByb3V0ZXMgaW4gb3JkZXJcbiAqIEBhdHRyIHtCb29sZWFufSBjYW5TdWJzY3JpYmUgLSBmb3IgZGlzcGxheSBhY3Rpb25zIChkZWZhdWx0OiBmYWxzZSlcbiAqXG4gKiBAY3NzcHJvcCB7Q29sb3J9IFstLWd2LWhlYWRlci0tYmdjPXZhcigtLWd2LXRoZW1lLWNvbG9yLWxpZ2h0LCAjODZjM2QwKV0gLSBCYWNrZ3JvdW5kIGNvbG9yLlxuICogQGNzc3Byb3Age0NvbG9yfSBbLS1ndi1oZWFkZXItLWM9dmFyKC0tZ3YtdGhlbWUtZm9udC1jb2xvci1kYXJrLCAjMjYyNjI2KV0gLSBDb2xvclxuICpcbiAqIEBjc3Nwcm9wIHtMZW5ndGh9IFstLWd2LWhlYWRlci1idXR0b24tLXA9MTBweCAyNHB4XSAtIEJ1dHRvbiBhZGRpbmdcbiAqIEBjc3Nwcm9wIHtMZW5ndGh9IFstLWd2LWhlYWRlci1idXR0b24tLWZ6PXZhcigtLWd2LXRoZW1lLWZvbnQtc2l6ZS1sLCAxNnB4KV0gLSBCdXR0b24gZm9udCBzaXplXG4gKlxuICovXG5leHBvcnQgY2xhc3MgR3ZIZWFkZXIgZXh0ZW5kcyB3aXRoUmVzaXplT2JzZXJ2ZXIoSXRlbVJlc291cmNlKExpdEVsZW1lbnQpKSB7XG4gIHN0YXRpYyBnZXQgcHJvcGVydGllcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYnJlYWRjcnVtYnM6IHsgdHlwZTogQXJyYXkgfSxcbiAgICAgIHN0aWNreTogeyB0eXBlOiBCb29sZWFuLCByZWZsZWN0OiB0cnVlIH0sXG4gICAgICBfYnJlYWRjcnVtYnM6IHsgdHlwZTogQXJyYXksIGF0dHJpYnV0ZTogZmFsc2UgfSxcbiAgICAgIGNhblN1YnNjcmliZTogeyB0eXBlOiBCb29sZWFuLCBhdHRyaWJ1dGU6ICdjYW4tc3Vic2NyaWJlJyB9LFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgZ2V0IHN0eWxlcygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgLi4uc3VwZXIuc3R5bGVzLFxuICAgICAgLy8gbGFuZ3VhZ2U9Q1NTXG4gICAgICBjc3NgXG4gICAgICAgIDpob3N0IHtcbiAgICAgICAgICAtLWltZy13OiAxMjBweDtcbiAgICAgICAgICAtLWltZy1oOiAxMjBweDtcbiAgICAgICAgICAtLWd2LWJ1dHRvbi0tZno6IHZhcigtLWd2LWhlYWRlci1idXR0b24tLWZ6LCB2YXIoLS1ndi10aGVtZS1mb250LXNpemUtbCwgMTZweCkpO1xuICAgICAgICAgIC0tZ3YtYnV0dG9uLS1wOiB2YXIoLS1ndi1oZWFkZXItYnV0dG9uLS1wLCAxMHB4IDI0cHgpO1xuICAgICAgICAgIC0tZ3YtbGluay0tYmdjOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAtLWd2LWxpbmstYWN0aXZlLWJnYzogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgLS1jOiB2YXIoLS1ndi1oZWFkZXItLWMsIHZhcigtLWd2LXRoZW1lLWZvbnQtY29sb3ItZGFyaywgIzI2MjYyNikpO1xuICAgICAgICAgIC0tZ3YtbGluay0tYzogdmFyKC0tYyk7XG4gICAgICAgICAgLS1ndi1saW5rLWFjdGl2ZS0tYzogdmFyKC0tYyk7XG4gICAgICAgICAgLS1ndi1saW5rLWEtLXBoOiA1cHg7XG4gICAgICAgICAgLS1ndi1saW5rLS10ZDogdW5kZXJsaW5lO1xuICAgICAgICAgIC0tYmdjOiB2YXIoLS1ndi1oZWFkZXItLWJnYywgdmFyKC0tZ3YtdGhlbWUtY29sb3ItbGlnaHQsICM4NmMzZDApKTtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgOmhvc3QoW3ctbHQtNzY4XSkge1xuICAgICAgICAgIC0taW1nLS13OiBjYWxjKHZhcigtLWltZy13KSAvIDIpO1xuICAgICAgICAgIC0taW1nLS1oOiBjYWxjKHZhcigtLWltZy1oKSAvIDIpO1xuICAgICAgICAgIC0tZ3YtYnV0dG9uLS1mejogdmFyKC0tZ3YtdGhlbWUtZm9udC1zaXplLXMsIDEycHgpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZ3YtdGhlbWUtZm9udC1zaXplLXMsIDEycHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgOmhvc3QoW3ctbHQtNTgwXSkge1xuICAgICAgICAgIC0tZ3YtYnV0dG9uLS1wOiAzcHggOXB4O1xuICAgICAgICAgIC0tZ3YtbGluay1hLS1waDogMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgOmhvc3QoW3ctbHQtNTgwXSkgLmFjdGlvbnMge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgfVxuXG4gICAgICAgIDpob3N0KFt3LWx0LTU4MF0pIC52ZXJzaW9uIHtcbiAgICAgICAgICBmb250LXNpemU6IHZhcigtLWd2LXRoZW1lLWZvbnQtc2l6ZS1zLCAxMnB4KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tZ3YtdGhlbWUtZm9udC1zaXplLXMsIDEycHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgOmhvc3QoW3ctbHQtNTgwXSkgLmltYWdlIGd2LWltYWdlIHtcbiAgICAgICAgICB0b3A6IC01cHg7XG4gICAgICAgIH1cblxuICAgICAgICA6aG9zdChbdy1sdC01ODBdKSBoMSB7XG4gICAgICAgICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWd2LXRoZW1lLWZvbnQtc2l6ZS14bCwgMjZweCkgLSA0cHgpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiBjYWxjKHZhcigtLWd2LXRoZW1lLWZvbnQtc2l6ZS14bCwgMjZweCkgLSA0cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgOmhvc3QoW3ctbHQtNDAwXSkgaDEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1ndi10aGVtZS1mb250LXNpemUteGwsIDI2cHgpIC0gOHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmdjKTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgcGFkZGluZzogMC41cmVtIHZhcigtLWd2LXRoZW1lLWxheW91dC0tcHIsIDRyZW0pIDAuNXJlbSB2YXIoLS1ndi10aGVtZS1sYXlvdXQtLXBsLCA0cmVtKTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgbWFyZ2luOiAwLjVyZW0gMCAwLjVyZW0gdmFyKC0taW1nLXcpO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIDpob3N0KFtzdGlja3ldKSAudGl0bGUge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWltZy13KSAvIDIpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50aXRsZSxcbiAgICAgICAgLmFjdGlvbnMge1xuICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgZ3YtbGluazpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAtLWd2LWxpbmstLXRkOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgZ3YtbGluazo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICc+JztcbiAgICAgICAgICBjb2xvcjogdmFyKC0tZ3YtdGhlbWUtZm9udC1jb2xvci1kYXJrLCAjMjYyNjI2KTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBndi1saW5rOmxhc3QtY2hpbGQ6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIC5lcnJvciB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTI1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAudmVyc2lvbiB7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1ndi10aGVtZS1mb250LXNpemUtbCwgMTZweCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWd2LXRoZW1lLWZvbnQtc2l6ZS1sLCAxNnB4KTtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB9XG5cbiAgICAgICAgZ3YtaWRlbnRpdHktcGljdHVyZSB7XG4gICAgICAgICAgaGVpZ2h0OiB2YXIoLS1pbWctaCk7XG4gICAgICAgICAgd2lkdGg6IHZhcigtLWltZy13KTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgLS1ndi1pbWFnZS0tb2Y6IGNvbnRhaW47XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgOmhvc3QoW3N0aWNreV0pIGd2LWlkZW50aXR5LXBpY3R1cmUge1xuICAgICAgICAgIGhlaWdodDogY2FsYyh2YXIoLS1pbWctaCkgLyAyKTtcbiAgICAgICAgICB3aWR0aDogY2FsYyh2YXIoLS1pbWctdykgLyAyKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZTtcbiAgICAgICAgICB0b3A6IDIwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgxIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1ndi10aGVtZS1mb250LXNpemUteGwsIDI2cHgpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWd2LXRoZW1lLWZvbnQtc2l6ZS14bCwgMjZweCk7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgxIHNwYW4ge1xuICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICBmb250LXNpemU6IHZhcigtLWd2LXRoZW1lLWZvbnQtc2l6ZS1sLCAxNnB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5za2VsZXRvbiBndi1idXR0b24sXG4gICAgICAgIC5za2VsZXRvbiAuZXJyb3Ige1xuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgICAgYCxcbiAgICBdO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmJyZWFrcG9pbnRzID0ge1xuICAgICAgd2lkdGg6IFs0MDAsIDU4MCwgNzY4XSxcbiAgICB9O1xuICAgIHRoaXMuX2JyZWFkY3J1bWJzID0gW107XG4gICAgdGhpcy5jYW5TdWJzY3JpYmUgPSBmYWxzZTtcbiAgfVxuXG4gIHNldCBicmVhZGNydW1icyhjYW5kaWRhdGUpIHtcbiAgICBpZiAoY2FuZGlkYXRlKSB7XG4gICAgICBQcm9taXNlLnJlc29sdmUoY2FuZGlkYXRlKS50aGVuKChjYW5kaWRhdGVzKSA9PiB7XG4gICAgICAgIGlmIChjYW5kaWRhdGVzKSB7XG4gICAgICAgICAgUHJvbWlzZS5hbGwoY2FuZGlkYXRlcykudGhlbigoZnV0dXJlUm91dGVzKSA9PiB7XG4gICAgICAgICAgICBpZiAoIWlzU2FtZVJvdXRlcyh0aGlzLl9icmVhZGNydW1icywgZnV0dXJlUm91dGVzKSkge1xuICAgICAgICAgICAgICB0aGlzLl9icmVhZGNydW1icyA9IGZ1dHVyZVJvdXRlcy5maWx0ZXIoKHIpID0+IHIgIT0gbnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fYnJlYWRjcnVtYnMgPSBudWxsO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fYnJlYWRjcnVtYnMgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIF9nZXRMaW5rKHJvdXRlLCBpbmRleCkge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocm91dGUpXG4gICAgICAudGhlbigoX3JvdXRlKSA9PiB7XG4gICAgICAgIGNvbnN0IHRpdGxlID0gaW5kZXggPT09IHRoaXMuX2JyZWFkY3J1bWJzLmxlbmd0aCAtIDEgPyBnZXRUaXRsZSh0aGlzLl9pdGVtKSA6IF9yb3V0ZS50aXRsZTtcblxuICAgICAgICByZXR1cm4gaHRtbGAgPGd2LWxpbmtcbiAgICAgICAgICBAZ3YtbGluazpjbGljaz0ke3RoaXMuX29uQ2xpY2t9XG4gICAgICAgICAgLmFjdGl2ZT1cIiR7X3JvdXRlLmFjdGl2ZX1cIlxuICAgICAgICAgIC5pY29uPVwiJHtfcm91dGUuaWNvbn1cIlxuICAgICAgICAgIC5wYXRoPVwiJHtfcm91dGUucGF0aH1cIlxuICAgICAgICAgIC50aXRsZT1cIiR7dGl0bGV9XCJcbiAgICAgICAgICAuaGVscD1cIiR7dW50aWwoX3JvdXRlLmhlbHAsIG51bGwpfVwiXG4gICAgICAgID48L2d2LWxpbms+YDtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICBkZWxldGUgdGhpcy5fcm91dGVzW2luZGV4XTtcbiAgICAgIH0pO1xuICB9XG5cbiAgX3JlbmRlckJyZWFkY3J1bWJzKCkge1xuICAgIHJldHVybiBodG1sYDxuYXY+XG4gICAgICAke3JlcGVhdChcbiAgICAgICAgdGhpcy5fYnJlYWRjcnVtYnMsXG4gICAgICAgIChyb3V0ZSkgPT4gcm91dGUsXG4gICAgICAgIChyb3V0ZSwgaW5kZXgpID0+IHVudGlsKHRoaXMuX2dldExpbmsocm91dGUsIGluZGV4KSwgaHRtbGA8Z3YtbGluayBza2VsZXRvbj48L2d2LWxpbms+YCksXG4gICAgICApfVxuICAgIDwvbmF2PmA7XG4gIH1cblxuICBfb25TdWJzY3JpYmUoZSkge1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZGlzcGF0Y2hDdXN0b21FdmVudCh0aGlzLCAnc3Vic2NyaWJlJywgdGhpcy5faXRlbSk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgbmJBcGlzSW5WaWV3ID0gZ2V0TmJBcGlzSW5WaWV3KHRoaXMuX2l0ZW0pO1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cIiR7Y2xhc3NNYXAoeyBoZWFkZXI6IHRydWUsIHNrZWxldG9uOiB0aGlzLl9za2VsZXRvbiB9KX1cIlxuICAgICAgICBzdHlsZT1cIiR7c3R5bGVNYXAoeyBiYWNrZ3JvdW5kOiAndXJsKFwiJyArIGdldEJhY2tncm91bmQodGhpcy5faXRlbSkgKyAnXCIpIHZhcigtLWJnYykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQnIH0pfVwiXG4gICAgICA+XG4gICAgICAgICR7dGhpcy5fcmVuZGVySW1hZ2UoKX1cbiAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+XG4gICAgICAgICAgJHshKHRoaXMuX2Vycm9yIHx8IHRoaXMuX2VtcHR5KSAmJiAhdGhpcy5zdGlja3kgPyBodG1sYDxkaXYgY2xhc3M9XCJ2ZXJzaW9uXCI+JHtnZXRWZXJzaW9uKHRoaXMuX2l0ZW0pfTwvZGl2PmAgOiAnJ31cbiAgICAgICAgICAke3RoaXMuX2Vycm9yIHx8IHRoaXMuX2VtcHR5XG4gICAgICAgICAgICA/IGh0bWxgPGRpdiBjbGFzcz1cImVycm9yXCI+JHt0aGlzLl9lcnJvciA/IGkxOG4oJ2d2LWhlYWRlci5lcnJvcicpIDogaTE4bignZ3YtaGVhZGVyLmVtcHR5Jyl9PC9kaXY+YFxuICAgICAgICAgICAgOiBodG1sYDxoMT4ke2dldFRpdGxlKHRoaXMuX2l0ZW0pfSAke25iQXBpc0luVmlldyAhPT0gbnVsbCA/IGh0bWxgPHNwYW4+KCR7bmJBcGlzSW5WaWV3fSk8L3NwYW4+YCA6ICcnfTwvaDE+YH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgICR7ISh0aGlzLl9lcnJvciB8fCB0aGlzLl9lbXB0eSkgJiYgdGhpcy5jYW5TdWJzY3JpYmVcbiAgICAgICAgICA/IGh0bWxgPGRpdiBjbGFzcz1cImFjdGlvbnNcIj5cbiAgICAgICAgICAgICAgPGd2LWJ1dHRvbiBwcmltYXJ5IEBjbGljaz1cIiR7dGhpcy5fb25TdWJzY3JpYmV9XCI+JHtpMThuKCdndi1oZWFkZXIuc3Vic2NyaWJlJyl9PC9ndi1idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5gXG4gICAgICAgICAgOiBgYH1cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxud2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZ3YtaGVhZGVyJywgR3ZIZWFkZXIpO1xuIl19
|
|
130
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL29yZ2FuaXNtcy9ndi1oZWFkZXIuanMiXSwibmFtZXMiOlsiY3NzIiwiaHRtbCIsIkxpdEVsZW1lbnQiLCJpMThuIiwiaXNTYW1lUm91dGVzIiwicmVwZWF0IiwidW50aWwiLCJkaXNwYXRjaEN1c3RvbUV2ZW50IiwiY2xhc3NNYXAiLCJ3aXRoUmVzaXplT2JzZXJ2ZXIiLCJJdGVtUmVzb3VyY2UiLCJnZXROYkFwaXNJblZpZXciLCJnZXRCYWNrZ3JvdW5kIiwiZ2V0VGl0bGUiLCJnZXRWZXJzaW9uIiwic3R5bGVNYXAiLCJHdkhlYWRlciIsInByb3BlcnRpZXMiLCJicmVhZGNydW1icyIsInR5cGUiLCJBcnJheSIsInN0aWNreSIsIkJvb2xlYW4iLCJyZWZsZWN0IiwiX2JyZWFkY3J1bWJzIiwiYXR0cmlidXRlIiwiY2FuU3Vic2NyaWJlIiwic3R5bGVzIiwiY29uc3RydWN0b3IiLCJicmVha3BvaW50cyIsIndpZHRoIiwiY2FuZGlkYXRlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJ0aGVuIiwiY2FuZGlkYXRlcyIsImFsbCIsImZ1dHVyZVJvdXRlcyIsImZpbHRlciIsInIiLCJfZ2V0TGluayIsInJvdXRlIiwiaW5kZXgiLCJfcm91dGUiLCJ0aXRsZSIsImxlbmd0aCIsIl9pdGVtIiwiX29uQ2xpY2siLCJhY3RpdmUiLCJpY29uIiwicGF0aCIsImhlbHAiLCJjYXRjaCIsIl9yb3V0ZXMiLCJfcmVuZGVyQnJlYWRjcnVtYnMiLCJfb25TdWJzY3JpYmUiLCJlIiwic3RvcFByb3BhZ2F0aW9uIiwicmVuZGVyIiwibmJBcGlzSW5WaWV3IiwiaGVhZGVyIiwic2tlbGV0b24iLCJfc2tlbGV0b24iLCJiYWNrZ3JvdW5kIiwiX3JlbmRlckltYWdlIiwiX2Vycm9yIiwiX2VtcHR5Iiwid2luZG93IiwiY3VzdG9tRWxlbWVudHMiLCJkZWZpbmUiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtB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USxDQUFDO0FBQUVvRCxNQUFBQSxNQUFNLEVBQUUsSUFBVjtBQUFnQkMsTUFBQUEsUUFBUSxFQUFFLEtBQUtDO0FBQS9CLEtBQUQsQ0FGVixZQUdFL0MsUUFBUSxDQUFDO0FBQUVnRCxNQUFBQSxVQUFVLEVBQUUsVUFBVW5ELGFBQWEsQ0FBQyxLQUFLa0MsS0FBTixDQUF2QixHQUFzQztBQUFwRCxLQUFELENBSFYsTUFLTCxLQUFLa0IsWUFBTCxFQUxLLHdCQU9ILEVBQUUsS0FBS0MsTUFBTCxJQUFlLEtBQUtDLE1BQXRCLEtBQWlDLENBQUMsS0FBSzdDLE1BQXZDLEdBQWdEcEIsSUFBSSx3QkFBd0JhLFVBQVUsQ0FBQyxLQUFLZ0MsS0FBTixDQUFsQyxRQUFwRCxHQUE2RyxFQVAxRyxJQVFILEtBQUttQixNQUFMLElBQWUsS0FBS0MsTUFBcEIsR0FDRWpFLElBQUksc0JBQXNCLEtBQUtnRSxNQUFMLEdBQWM5RCxJQUFJLENBQUMsaUJBQUQsQ0FBbEIsR0FBd0NBLElBQUksQ0FBQyxpQkFBRCxDQUFsRSxRQUROLEdBRUVGLElBQUksT0FBT1ksUUFBUSxDQUFDLEtBQUtpQyxLQUFOLENBQWYsSUFBK0JhLFlBQVksS0FBSyxJQUFqQixHQUF3QjFELElBQUksVUFBVTBELFlBQVYsVUFBNUIsR0FBK0QsRUFBOUYsT0FWSCxXQVlMLEVBQUUsS0FBS00sTUFBTCxJQUFlLEtBQUtDLE1BQXRCLEtBQWlDLEtBQUt4QyxZQUF0QyxHQUNFekIsSUFBSSxvREFDMkIsS0FBS3NELFlBRGhDLEtBQ2lEcEQsSUFBSSxDQUFDLHFCQUFELENBRHJELHFCQUROLEdBSUcsRUFoQkUsVUFBWDtBQW1CRDs7QUE5T3dFO0FBaVAzRWdFLE1BQU0sQ0FBQ0MsY0FBUCxDQUFzQkMsTUFBdEIsQ0FBNkIsV0FBN0IsRUFBMENyRCxRQUExQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBjc3MsIGh0bWwsIExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0ICcuLi9hdG9tcy9ndi1idXR0b24nO1xuaW1wb3J0ICcuLi9hdG9tcy9ndi10YWcnO1xuaW1wb3J0IHsgaTE4biB9IGZyb20gJy4uL2xpYi9pMThuJztcbmltcG9ydCB7IGlzU2FtZVJvdXRlcyB9IGZyb20gJy4uL2xpYi91dGlscyc7XG5pbXBvcnQgeyByZXBlYXQgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZXBlYXQnO1xuaW1wb3J0IHsgdW50aWwgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy91bnRpbCc7XG5pbXBvcnQgeyBkaXNwYXRjaEN1c3RvbUV2ZW50IH0gZnJvbSAnLi4vbGliL2V2ZW50cyc7XG5pbXBvcnQgeyBjbGFzc01hcCB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL2NsYXNzLW1hcCc7XG5pbXBvcnQgeyB3aXRoUmVzaXplT2JzZXJ2ZXIgfSBmcm9tICcuLi9taXhpbnMvd2l0aC1yZXNpemUtb2JzZXJ2ZXInO1xuaW1wb3J0IHsgSXRlbVJlc291cmNlIH0gZnJvbSAnLi4vbWl4aW5zL2l0ZW0tcmVzb3VyY2UnO1xuaW1wb3J0IHsgZ2V0TmJBcGlzSW5WaWV3LCBnZXRCYWNrZ3JvdW5kLCBnZXRUaXRsZSwgZ2V0VmVyc2lvbiB9IGZyb20gJy4uL2xpYi9pdGVtJztcbmltcG9ydCB7IHN0eWxlTWFwIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvc3R5bGUtbWFwJztcblxuLyoqXG4gKiBIZWFkZXIgY29tcG9uZW50XG4gKlxuICogIyMgRGV0YWlsc1xuICogKiBoYXMgQHRoZW1lIGZhY2V0XG4gKlxuICogQGF0dHIge1Byb21pc2U8YW55Pn0gaXRlbSAtIEFuIGl0ZW1cbiAqIEBhdHRyIHtQcm9taXNlPEFycmF5PHsgcGF0aDogU3RyaW5nLCB0aXRsZTogU3RyaW5nIH0+Pn0gYnJlYWRjcnVtYnMgLSBkZWZpbml0aW9uIG9mIHJvdXRlcyBpbiBvcmRlclxuICogQGF0dHIge0Jvb2xlYW59IGNhblN1YnNjcmliZSAtIGZvciBkaXNwbGF5IGFjdGlvbnMgKGRlZmF1bHQ6IGZhbHNlKVxuICpcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtaGVhZGVyLS1iZ2M9dmFyKC0tZ3YtdGhlbWUtY29sb3ItbGlnaHQsICM4NmMzZDApXSAtIEJhY2tncm91bmQgY29sb3IuXG4gKiBAY3NzcHJvcCB7Q29sb3J9IFstLWd2LWhlYWRlci0tYz12YXIoLS1ndi10aGVtZS1mb250LWNvbG9yLWRhcmssICMyNjI2MjYpXSAtIENvbG9yXG4gKlxuICogQGNzc3Byb3Age0xlbmd0aH0gWy0tZ3YtaGVhZGVyLWJ1dHRvbi0tcD0xMHB4IDI0cHhdIC0gQnV0dG9uIGFkZGluZ1xuICogQGNzc3Byb3Age0xlbmd0aH0gWy0tZ3YtaGVhZGVyLWJ1dHRvbi0tZno9dmFyKC0tZ3YtdGhlbWUtZm9udC1zaXplLWwsIDE2cHgpXSAtIEJ1dHRvbiBmb250IHNpemVcbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBHdkhlYWRlciBleHRlbmRzIHdpdGhSZXNpemVPYnNlcnZlcihJdGVtUmVzb3VyY2UoTGl0RWxlbWVudCkpIHtcbiAgc3RhdGljIGdldCBwcm9wZXJ0aWVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBicmVhZGNydW1iczogeyB0eXBlOiBBcnJheSB9LFxuICAgICAgc3RpY2t5OiB7IHR5cGU6IEJvb2xlYW4sIHJlZmxlY3Q6IHRydWUgfSxcbiAgICAgIF9icmVhZGNydW1iczogeyB0eXBlOiBBcnJheSwgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgICAgY2FuU3Vic2NyaWJlOiB7IHR5cGU6IEJvb2xlYW4sIGF0dHJpYnV0ZTogJ2Nhbi1zdWJzY3JpYmUnIH0sXG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBnZXQgc3R5bGVzKCkge1xuICAgIHJldHVybiBbXG4gICAgICAuLi5zdXBlci5zdHlsZXMsXG4gICAgICAvLyBsYW5ndWFnZT1DU1NcbiAgICAgIGNzc2BcbiAgICAgICAgOmhvc3Qge1xuICAgICAgICAgIC0taW1nLXc6IDEyMHB4O1xuICAgICAgICAgIC0taW1nLWg6IDEyMHB4O1xuICAgICAgICAgIC0tZ3YtYnV0dG9uLS1mejogdmFyKC0tZ3YtaGVhZGVyLWJ1dHRvbi0tZnosIHZhcigtLWd2LXRoZW1lLWZvbnQtc2l6ZS1sLCAxNnB4KSk7XG4gICAgICAgICAgLS1ndi1idXR0b24tLXA6IHZhcigtLWd2LWhlYWRlci1idXR0b24tLXAsIDEwcHggMjRweCk7XG4gICAgICAgICAgLS1ndi1saW5rLS1iZ2M6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIC0tZ3YtbGluay1hY3RpdmUtYmdjOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAtLWM6IHZhcigtLWd2LWhlYWRlci0tYywgdmFyKC0tZ3YtdGhlbWUtZm9udC1jb2xvci1kYXJrLCAjMjYyNjI2KSk7XG4gICAgICAgICAgLS1ndi1saW5rLS1jOiB2YXIoLS1jKTtcbiAgICAgICAgICAtLWd2LWxpbmstYWN0aXZlLS1jOiB2YXIoLS1jKTtcbiAgICAgICAgICAtLWd2LWxpbmstYS0tcGg6IDVweDtcbiAgICAgICAgICAtLWd2LWxpbmstLXRkOiB1bmRlcmxpbmU7XG4gICAgICAgICAgLS1iZ2M6IHZhcigtLWd2LWhlYWRlci0tYmdjLCB2YXIoLS1ndi10aGVtZS1jb2xvci1saWdodCwgIzg2YzNkMCkpO1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICA6aG9zdChbdy1sdC03NjhdKSB7XG4gICAgICAgICAgLS1pbWctLXc6IGNhbGModmFyKC0taW1nLXcpIC8gMik7XG4gICAgICAgICAgLS1pbWctLWg6IGNhbGModmFyKC0taW1nLWgpIC8gMik7XG4gICAgICAgICAgLS1ndi1idXR0b24tLWZ6OiB2YXIoLS1ndi10aGVtZS1mb250LXNpemUtcywgMTJweCk7XG4gICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1ndi10aGVtZS1mb250LXNpemUtcywgMTJweCk7XG4gICAgICAgIH1cblxuICAgICAgICA6aG9zdChbdy1sdC01ODBdKSB7XG4gICAgICAgICAgLS1ndi1idXR0b24tLXA6IDNweCA5cHg7XG4gICAgICAgICAgLS1ndi1saW5rLWEtLXBoOiAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICA6aG9zdChbdy1sdC01ODBdKSAuYWN0aW9ucyB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG5cbiAgICAgICAgOmhvc3QoW3ctbHQtNTgwXSkgLnZlcnNpb24ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZ3YtdGhlbWUtZm9udC1zaXplLXMsIDEycHgpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1ndi10aGVtZS1mb250LXNpemUtcywgMTJweCk7XG4gICAgICAgIH1cblxuICAgICAgICA6aG9zdChbdy1sdC01ODBdKSAuaW1hZ2UgZ3YtaW1hZ2Uge1xuICAgICAgICAgIHRvcDogLTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIDpob3N0KFt3LWx0LTU4MF0pIGgxIHtcbiAgICAgICAgICBmb250LXNpemU6IGNhbGModmFyKC0tZ3YtdGhlbWUtZm9udC1zaXplLXhsLCAyNnB4KSAtIDRweCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IGNhbGModmFyKC0tZ3YtdGhlbWUtZm9udC1zaXplLXhsLCAyNnB4KSAtIDRweCk7XG4gICAgICAgIH1cblxuICAgICAgICA6aG9zdChbdy1sdC00MDBdKSBoMSB7XG4gICAgICAgICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWd2LXRoZW1lLWZvbnQtc2l6ZS14bCwgMjZweCkgLSA4cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlYWRlciB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZ2MpO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWMpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzNTBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgICBwYWRkaW5nOiAwLjVyZW0gdmFyKC0tZ3YtdGhlbWUtbGF5b3V0LS1wciwgNHJlbSkgMC41cmVtIHZhcigtLWd2LXRoZW1lLWxheW91dC0tcGwsIDRyZW0pO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICBtYXJnaW46IDAuNXJlbSAwIDAuNXJlbSB2YXIoLS1pbWctdyk7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgOmhvc3QoW3N0aWNreV0pIC50aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0taW1nLXcpIC8gMik7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgLnRpdGxlLFxuICAgICAgICAuYWN0aW9ucyB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICAgIH1cblxuICAgICAgICBndi1saW5rOmxhc3QtY2hpbGQge1xuICAgICAgICAgIC0tZ3YtbGluay0tdGQ6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBndi1saW5rOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJz4nO1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1ndi10aGVtZS1mb250LWNvbG9yLWRhcmssICMyNjI2MjYpO1xuICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGd2LWxpbms6bGFzdC1jaGlsZDo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgLmVycm9yIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC52ZXJzaW9uIHtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICBmb250LXNpemU6IHZhcigtLWd2LXRoZW1lLWZvbnQtc2l6ZS1sLCAxNnB4KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tZ3YtdGhlbWUtZm9udC1zaXplLWwsIDE2cHgpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIH1cblxuICAgICAgICBndi1pZGVudGl0eS1waWN0dXJlIHtcbiAgICAgICAgICBoZWlnaHQ6IHZhcigtLWltZy1oKTtcbiAgICAgICAgICB3aWR0aDogdmFyKC0taW1nLXcpO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAtLWd2LWltYWdlLS1vZjogY29udGFpbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cblxuICAgICAgICA6aG9zdChbc3RpY2t5XSkgZ3YtaWRlbnRpdHktcGljdHVyZSB7XG4gICAgICAgICAgaGVpZ2h0OiBjYWxjKHZhcigtLWltZy1oKSAvIDIpO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKHZhcigtLWltZy13KSAvIDIpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAxNTBtcyBlYXNlO1xuICAgICAgICAgIHRvcDogMjAlO1xuICAgICAgICB9XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBmb250LXNpemU6IHZhcigtLWd2LXRoZW1lLWZvbnQtc2l6ZS14bCwgMjZweCk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tZ3YtdGhlbWUtZm9udC1zaXplLXhsLCAyNnB4KTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgaDEgc3BhbiB7XG4gICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZ3YtdGhlbWUtZm9udC1zaXplLWwsIDE2cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNrZWxldG9uIGd2LWJ1dHRvbixcbiAgICAgICAgLnNrZWxldG9uIC5lcnJvciB7XG4gICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB9XG4gICAgICBgLFxuICAgIF07XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYnJlYWtwb2ludHMgPSB7XG4gICAgICB3aWR0aDogWzQwMCwgNTgwLCA3NjhdLFxuICAgIH07XG4gICAgdGhpcy5fYnJlYWRjcnVtYnMgPSBbXTtcbiAgICB0aGlzLmNhblN1YnNjcmliZSA9IGZhbHNlO1xuICB9XG5cbiAgc2V0IGJyZWFkY3J1bWJzKGNhbmRpZGF0ZSkge1xuICAgIGlmIChjYW5kaWRhdGUpIHtcbiAgICAgIFByb21pc2UucmVzb2x2ZShjYW5kaWRhdGUpLnRoZW4oKGNhbmRpZGF0ZXMpID0+IHtcbiAgICAgICAgaWYgKGNhbmRpZGF0ZXMpIHtcbiAgICAgICAgICBQcm9taXNlLmFsbChjYW5kaWRhdGVzKS50aGVuKChmdXR1cmVSb3V0ZXMpID0+IHtcbiAgICAgICAgICAgIGlmICghaXNTYW1lUm91dGVzKHRoaXMuX2JyZWFkY3J1bWJzLCBmdXR1cmVSb3V0ZXMpKSB7XG4gICAgICAgICAgICAgIHRoaXMuX2JyZWFkY3J1bWJzID0gZnV0dXJlUm91dGVzLmZpbHRlcigocikgPT4gciAhPSBudWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl9icmVhZGNydW1icyA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9icmVhZGNydW1icyA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgX2dldExpbmsocm91dGUsIGluZGV4KSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShyb3V0ZSlcbiAgICAgIC50aGVuKChfcm91dGUpID0+IHtcbiAgICAgICAgY29uc3QgdGl0bGUgPSBpbmRleCA9PT0gdGhpcy5fYnJlYWRjcnVtYnMubGVuZ3RoIC0gMSA/IGdldFRpdGxlKHRoaXMuX2l0ZW0pIDogX3JvdXRlLnRpdGxlO1xuXG4gICAgICAgIHJldHVybiBodG1sYCA8Z3YtbGlua1xuICAgICAgICAgIEBndi1saW5rOmNsaWNrPSR7dGhpcy5fb25DbGlja31cbiAgICAgICAgICAuYWN0aXZlPVwiJHtfcm91dGUuYWN0aXZlfVwiXG4gICAgICAgICAgLmljb249XCIke19yb3V0ZS5pY29ufVwiXG4gICAgICAgICAgLnBhdGg9XCIke19yb3V0ZS5wYXRofVwiXG4gICAgICAgICAgLnRpdGxlPVwiJHt0aXRsZX1cIlxuICAgICAgICAgIC5oZWxwPVwiJHt1bnRpbChfcm91dGUuaGVscCwgbnVsbCl9XCJcbiAgICAgICAgPjwvZ3YtbGluaz5gO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICAgIGRlbGV0ZSB0aGlzLl9yb3V0ZXNbaW5kZXhdO1xuICAgICAgfSk7XG4gIH1cblxuICBfcmVuZGVyQnJlYWRjcnVtYnMoKSB7XG4gICAgcmV0dXJuIGh0bWxgPG5hdj5cbiAgICAgICR7cmVwZWF0KFxuICAgICAgICB0aGlzLl9icmVhZGNydW1icyxcbiAgICAgICAgKHJvdXRlKSA9PiByb3V0ZSxcbiAgICAgICAgKHJvdXRlLCBpbmRleCkgPT4gdW50aWwodGhpcy5fZ2V0TGluayhyb3V0ZSwgaW5kZXgpLCBodG1sYDxndi1saW5rIHNrZWxldG9uPjwvZ3YtbGluaz5gKSxcbiAgICAgICl9XG4gICAgPC9uYXY+YDtcbiAgfVxuXG4gIF9vblN1YnNjcmliZShlKSB7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBkaXNwYXRjaEN1c3RvbUV2ZW50KHRoaXMsICdzdWJzY3JpYmUnLCB0aGlzLl9pdGVtKTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCBuYkFwaXNJblZpZXcgPSBnZXROYkFwaXNJblZpZXcodGhpcy5faXRlbSk7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiJHtjbGFzc01hcCh7IGhlYWRlcjogdHJ1ZSwgc2tlbGV0b246IHRoaXMuX3NrZWxldG9uIH0pfVwiXG4gICAgICAgIHN0eWxlPVwiJHtzdHlsZU1hcCh7IGJhY2tncm91bmQ6ICd1cmwoXCInICsgZ2V0QmFja2dyb3VuZCh0aGlzLl9pdGVtKSArICdcIikgdmFyKC0tYmdjKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdCcgfSl9XCJcbiAgICAgID5cbiAgICAgICAgJHt0aGlzLl9yZW5kZXJJbWFnZSgpfVxuICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIj5cbiAgICAgICAgICAkeyEodGhpcy5fZXJyb3IgfHwgdGhpcy5fZW1wdHkpICYmICF0aGlzLnN0aWNreSA/IGh0bWxgPGRpdiBjbGFzcz1cInZlcnNpb25cIj4ke2dldFZlcnNpb24odGhpcy5faXRlbSl9PC9kaXY+YCA6ICcnfVxuICAgICAgICAgICR7dGhpcy5fZXJyb3IgfHwgdGhpcy5fZW1wdHlcbiAgICAgICAgICAgID8gaHRtbGA8ZGl2IGNsYXNzPVwiZXJyb3JcIj4ke3RoaXMuX2Vycm9yID8gaTE4bignZ3YtaGVhZGVyLmVycm9yJykgOiBpMThuKCdndi1oZWFkZXIuZW1wdHknKX08L2Rpdj5gXG4gICAgICAgICAgICA6IGh0bWxgPGgxPiR7Z2V0VGl0bGUodGhpcy5faXRlbSl9ICR7bmJBcGlzSW5WaWV3ICE9PSBudWxsID8gaHRtbGA8c3Bhbj4oJHtuYkFwaXNJblZpZXd9KTwvc3Bhbj5gIDogJyd9PC9oMT5gfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgJHshKHRoaXMuX2Vycm9yIHx8IHRoaXMuX2VtcHR5KSAmJiB0aGlzLmNhblN1YnNjcmliZVxuICAgICAgICAgID8gaHRtbGA8ZGl2IGNsYXNzPVwiYWN0aW9uc1wiPlxuICAgICAgICAgICAgICA8Z3YtYnV0dG9uIHByaW1hcnkgQGNsaWNrPVwiJHt0aGlzLl9vblN1YnNjcmliZX1cIj4ke2kxOG4oJ2d2LWhlYWRlci5zdWJzY3JpYmUnKX08L2d2LWJ1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PmBcbiAgICAgICAgICA6IGBgfVxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG53aW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdndi1oZWFkZXInLCBHdkhlYWRlcik7XG4iXX0=
|