@gnggln/ng-ui-system 1.0.0-alpha.2 → 1.0.0-alpha.21
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/accordion/entry-accordion.d.ts +4 -0
- package/accordion/index.d.ts +5 -0
- package/accordion/lib/components/accordion/accordion.component.d.ts +125 -0
- package/accordion/lib/components/accordion/accordion.types.d.ts +64 -0
- package/accordion/lib/components/accordion/index.d.ts +2 -0
- package/accordion/lib/core/types/index.d.ts +133 -0
- package/base-layout/entry-base-layout.d.ts +4 -0
- package/base-layout/index.d.ts +5 -0
- package/base-layout/lib/components/base-layout/base-layout.component.d.ts +108 -0
- package/base-layout/lib/components/base-layout/base-layout.types.d.ts +40 -0
- package/base-layout/lib/components/base-layout/index.d.ts +13 -0
- package/base-layout/lib/components/blackbox/blackbox-fingerprint.service.d.ts +36 -0
- package/base-layout/lib/components/blackbox/blackbox-storage.service.d.ts +55 -0
- package/base-layout/lib/components/blackbox/blackbox.service.d.ts +144 -0
- package/base-layout/lib/components/blackbox/blackbox.types.d.ts +238 -0
- package/base-layout/lib/components/button/button-area.component.d.ts +93 -0
- package/base-layout/lib/components/button/button.component.d.ts +61 -0
- package/base-layout/lib/components/button/button.types.d.ts +75 -0
- package/base-layout/lib/components/page-header/breadcrumb.service.d.ts +96 -0
- package/base-layout/lib/components/page-header/page-header.component.d.ts +59 -0
- package/base-layout/lib/components/page-header/page-header.types.d.ts +96 -0
- package/base-layout/lib/core/types/index.d.ts +133 -0
- package/blackbox/entry-blackbox.d.ts +4 -0
- package/blackbox/index.d.ts +5 -0
- package/blackbox/lib/components/blackbox/blackbox-debugger.component.d.ts +80 -0
- package/blackbox/lib/components/blackbox/blackbox-debugger.service.d.ts +34 -0
- package/blackbox/lib/components/blackbox/blackbox-fingerprint.service.d.ts +36 -0
- package/blackbox/lib/components/blackbox/blackbox-json-viewer.component.d.ts +18 -0
- package/blackbox/lib/components/blackbox/blackbox-storage.service.d.ts +55 -0
- package/blackbox/lib/components/blackbox/blackbox.interceptor.d.ts +38 -0
- package/blackbox/lib/components/blackbox/blackbox.service.d.ts +144 -0
- package/blackbox/lib/components/blackbox/blackbox.types.d.ts +238 -0
- package/blackbox/lib/components/blackbox/index.d.ts +23 -0
- package/blackbox/lib/components/blackbox/ui-track.directive.d.ts +20 -0
- package/blackbox/lib/components/button/button-area.component.d.ts +93 -0
- package/blackbox/lib/components/button/button.component.d.ts +61 -0
- package/blackbox/lib/components/button/button.types.d.ts +75 -0
- package/blackbox/lib/components/button/index.d.ts +15 -0
- package/blackbox/lib/components/modal/confirm-dialog.component.d.ts +46 -0
- package/blackbox/lib/components/modal/index.d.ts +4 -0
- package/blackbox/lib/components/modal/modal.component.d.ts +44 -0
- package/blackbox/lib/components/modal/modal.service.d.ts +93 -0
- package/blackbox/lib/components/modal/modal.types.d.ts +110 -0
- package/blackbox/lib/core/types/index.d.ts +133 -0
- package/button/entry-button.d.ts +4 -0
- package/button/index.d.ts +5 -0
- package/button/lib/components/blackbox/blackbox-fingerprint.service.d.ts +36 -0
- package/button/lib/components/blackbox/blackbox-storage.service.d.ts +55 -0
- package/button/lib/components/blackbox/blackbox.service.d.ts +144 -0
- package/button/lib/components/blackbox/blackbox.types.d.ts +238 -0
- package/button/lib/components/button/button-area.component.d.ts +93 -0
- package/button/lib/components/button/button.component.d.ts +61 -0
- package/button/lib/components/button/button.types.d.ts +75 -0
- package/button/lib/components/button/index.d.ts +15 -0
- package/button/lib/core/types/index.d.ts +133 -0
- package/core/entry-core.d.ts +5 -0
- package/core/index.d.ts +5 -0
- package/core/lib/core/types/index.d.ts +133 -0
- package/core/lib/core/utils/index.d.ts +60 -0
- package/crud-table/entry-crud-table.d.ts +4 -0
- package/crud-table/index.d.ts +5 -0
- package/crud-table/lib/components/accordion/accordion.component.d.ts +125 -0
- package/crud-table/lib/components/accordion/accordion.types.d.ts +64 -0
- package/crud-table/lib/components/accordion/index.d.ts +2 -0
- package/crud-table/lib/components/blackbox/blackbox-fingerprint.service.d.ts +36 -0
- package/crud-table/lib/components/blackbox/blackbox-storage.service.d.ts +55 -0
- package/crud-table/lib/components/blackbox/blackbox.service.d.ts +144 -0
- package/crud-table/lib/components/blackbox/blackbox.types.d.ts +238 -0
- package/crud-table/lib/components/button/button-area.component.d.ts +93 -0
- package/crud-table/lib/components/button/button.component.d.ts +61 -0
- package/crud-table/lib/components/button/button.types.d.ts +75 -0
- package/crud-table/lib/components/button/index.d.ts +15 -0
- package/crud-table/lib/components/crud-table/crud-table.component.d.ts +143 -0
- package/crud-table/lib/components/crud-table/crud-table.types.d.ts +207 -0
- package/crud-table/lib/components/crud-table/index.d.ts +15 -0
- package/crud-table/lib/components/form-builder/adapters/it-date-adapter.d.ts +32 -0
- package/crud-table/lib/components/form-builder/directives/currency-input.directive.d.ts +48 -0
- package/crud-table/lib/components/form-builder/form-builder.component.d.ts +279 -0
- package/crud-table/lib/components/form-builder/services/form-condition.service.d.ts +46 -0
- package/crud-table/lib/components/form-builder/services/form-error-state.matcher.d.ts +9 -0
- package/crud-table/lib/components/form-builder/services/form-field-error.service.d.ts +38 -0
- package/crud-table/lib/components/form-builder/services/form-validation.service.d.ts +63 -0
- package/crud-table/lib/components/form-builder/services/location.service.d.ts +83 -0
- package/crud-table/lib/components/form-builder/services/nominatim-geocoding.service.d.ts +37 -0
- package/crud-table/lib/components/form-builder/sub-components/error-summary/form-error-summary.component.d.ts +31 -0
- package/crud-table/lib/components/form-builder/sub-components/file-input/file-input.component.d.ts +41 -0
- package/crud-table/lib/components/form-builder/sub-components/form-fields/form-number-field.component.d.ts +42 -0
- package/crud-table/lib/components/form-builder/sub-components/form-fields/form-radio-field.component.d.ts +45 -0
- package/crud-table/lib/components/form-builder/sub-components/form-fields/form-select-field.component.d.ts +44 -0
- package/crud-table/lib/components/form-builder/sub-components/form-fields/form-text-field.component.d.ts +62 -0
- package/crud-table/lib/components/form-builder/sub-components/form-fields/form-textarea-field.component.d.ts +39 -0
- package/crud-table/lib/components/form-builder/sub-components/form-fields/index.d.ts +5 -0
- package/crud-table/lib/components/form-builder/sub-components/location-geocoded/location-geocoded.component.d.ts +84 -0
- package/crud-table/lib/components/form-builder/sub-components/specifica-territoriale/specifica-territoriale.component.d.ts +145 -0
- package/crud-table/lib/components/form-builder/sub-components/table-territoriale/table-territoriale.component.d.ts +108 -0
- package/crud-table/lib/components/form-builder/types/condition.types.d.ts +51 -0
- package/crud-table/lib/components/form-builder/types/field.types.d.ts +330 -0
- package/crud-table/lib/components/form-builder/types/geocoded-location.types.d.ts +116 -0
- package/crud-table/lib/components/form-builder/types/schema.types.d.ts +304 -0
- package/crud-table/lib/components/form-builder/types/territoriale.types.d.ts +170 -0
- package/crud-table/lib/components/form-builder/types/validation.types.d.ts +179 -0
- package/crud-table/lib/components/modal/confirm-dialog.component.d.ts +46 -0
- package/crud-table/lib/components/modal/modal.service.d.ts +93 -0
- package/crud-table/lib/components/modal/modal.types.d.ts +110 -0
- package/crud-table/lib/core/logging/logger.config.d.ts +18 -0
- package/crud-table/lib/core/logging/logger.service.d.ts +75 -0
- package/crud-table/lib/core/logging/logger.types.d.ts +70 -0
- package/crud-table/lib/core/types/index.d.ts +133 -0
- package/esm2022/accordion/entry-accordion.mjs +5 -0
- package/esm2022/accordion/gnggln-ng-ui-system-accordion.mjs +5 -0
- package/esm2022/accordion/lib/components/accordion/accordion.component.mjs +398 -0
- package/esm2022/accordion/lib/components/accordion/accordion.types.mjs +6 -0
- package/esm2022/accordion/lib/components/accordion/index.mjs +2 -0
- package/esm2022/accordion/lib/core/types/index.mjs +6 -0
- package/esm2022/base-layout/entry-base-layout.mjs +5 -0
- package/esm2022/base-layout/gnggln-ng-ui-system-base-layout.mjs +5 -0
- package/esm2022/base-layout/lib/components/base-layout/base-layout.component.mjs +272 -0
- package/esm2022/base-layout/lib/components/base-layout/base-layout.types.mjs +6 -0
- package/esm2022/base-layout/lib/components/base-layout/index.mjs +14 -0
- package/esm2022/base-layout/lib/components/blackbox/blackbox-fingerprint.service.mjs +116 -0
- package/esm2022/base-layout/lib/components/blackbox/blackbox-storage.service.mjs +286 -0
- package/esm2022/base-layout/lib/components/blackbox/blackbox.service.mjs +323 -0
- package/esm2022/base-layout/lib/components/blackbox/blackbox.types.mjs +25 -0
- package/esm2022/base-layout/lib/components/button/button-area.component.mjs +210 -0
- package/esm2022/base-layout/lib/components/button/button.component.mjs +180 -0
- package/esm2022/base-layout/lib/components/button/button.types.mjs +6 -0
- package/esm2022/base-layout/lib/components/page-header/breadcrumb.service.mjs +243 -0
- package/esm2022/base-layout/lib/components/page-header/page-header.component.mjs +243 -0
- package/esm2022/base-layout/lib/components/page-header/page-header.types.mjs +21 -0
- package/esm2022/base-layout/lib/core/types/index.mjs +6 -0
- package/esm2022/blackbox/entry-blackbox.mjs +5 -0
- package/esm2022/blackbox/gnggln-ng-ui-system-blackbox.mjs +5 -0
- package/esm2022/blackbox/lib/components/blackbox/blackbox-debugger.component.mjs +904 -0
- package/esm2022/blackbox/lib/components/blackbox/blackbox-debugger.service.mjs +51 -0
- package/esm2022/blackbox/lib/components/blackbox/blackbox-fingerprint.service.mjs +116 -0
- package/esm2022/blackbox/lib/components/blackbox/blackbox-json-viewer.component.mjs +66 -0
- package/esm2022/blackbox/lib/components/blackbox/blackbox-storage.service.mjs +286 -0
- package/esm2022/blackbox/lib/components/blackbox/blackbox.interceptor.mjs +135 -0
- package/esm2022/blackbox/lib/components/blackbox/blackbox.service.mjs +323 -0
- package/esm2022/blackbox/lib/components/blackbox/blackbox.types.mjs +25 -0
- package/esm2022/blackbox/lib/components/blackbox/index.mjs +27 -0
- package/esm2022/blackbox/lib/components/blackbox/ui-track.directive.mjs +69 -0
- package/esm2022/blackbox/lib/components/button/button-area.component.mjs +210 -0
- package/esm2022/blackbox/lib/components/button/button.component.mjs +180 -0
- package/esm2022/blackbox/lib/components/button/button.types.mjs +6 -0
- package/esm2022/blackbox/lib/components/button/index.mjs +16 -0
- package/esm2022/blackbox/lib/components/modal/confirm-dialog.component.mjs +151 -0
- package/esm2022/blackbox/lib/components/modal/index.mjs +4 -0
- package/esm2022/blackbox/lib/components/modal/modal.component.mjs +139 -0
- package/esm2022/blackbox/lib/components/modal/modal.service.mjs +197 -0
- package/esm2022/blackbox/lib/components/modal/modal.types.mjs +6 -0
- package/esm2022/blackbox/lib/core/types/index.mjs +6 -0
- package/esm2022/button/entry-button.mjs +5 -0
- package/esm2022/button/gnggln-ng-ui-system-button.mjs +5 -0
- package/esm2022/button/lib/components/blackbox/blackbox-fingerprint.service.mjs +116 -0
- package/esm2022/button/lib/components/blackbox/blackbox-storage.service.mjs +286 -0
- package/esm2022/button/lib/components/blackbox/blackbox.service.mjs +323 -0
- package/esm2022/button/lib/components/blackbox/blackbox.types.mjs +25 -0
- package/esm2022/button/lib/components/button/button-area.component.mjs +210 -0
- package/esm2022/button/lib/components/button/button.component.mjs +180 -0
- package/esm2022/button/lib/components/button/button.types.mjs +6 -0
- package/esm2022/button/lib/components/button/index.mjs +16 -0
- package/esm2022/button/lib/core/types/index.mjs +6 -0
- package/esm2022/core/entry-core.mjs +6 -0
- package/esm2022/core/gnggln-ng-ui-system-core.mjs +5 -0
- package/esm2022/core/lib/core/types/index.mjs +6 -0
- package/esm2022/core/lib/core/utils/index.mjs +102 -0
- package/esm2022/crud-table/entry-crud-table.mjs +5 -0
- package/esm2022/crud-table/gnggln-ng-ui-system-crud-table.mjs +5 -0
- package/esm2022/crud-table/lib/components/accordion/accordion.component.mjs +398 -0
- package/esm2022/crud-table/lib/components/accordion/accordion.types.mjs +6 -0
- package/esm2022/crud-table/lib/components/accordion/index.mjs +2 -0
- package/esm2022/crud-table/lib/components/blackbox/blackbox-fingerprint.service.mjs +116 -0
- package/esm2022/crud-table/lib/components/blackbox/blackbox-storage.service.mjs +286 -0
- package/esm2022/crud-table/lib/components/blackbox/blackbox.service.mjs +323 -0
- package/esm2022/crud-table/lib/components/blackbox/blackbox.types.mjs +25 -0
- package/esm2022/crud-table/lib/components/button/button-area.component.mjs +210 -0
- package/esm2022/crud-table/lib/components/button/button.component.mjs +180 -0
- package/esm2022/crud-table/lib/components/button/button.types.mjs +6 -0
- package/esm2022/crud-table/lib/components/button/index.mjs +16 -0
- package/esm2022/crud-table/lib/components/crud-table/crud-table.component.mjs +789 -0
- package/esm2022/crud-table/lib/components/crud-table/crud-table.types.mjs +6 -0
- package/esm2022/crud-table/lib/components/crud-table/index.mjs +16 -0
- package/esm2022/crud-table/lib/components/form-builder/adapters/it-date-adapter.mjs +82 -0
- package/esm2022/crud-table/lib/components/form-builder/directives/currency-input.directive.mjs +184 -0
- package/esm2022/crud-table/lib/components/form-builder/form-builder.component.mjs +1351 -0
- package/esm2022/crud-table/lib/components/form-builder/services/form-condition.service.mjs +132 -0
- package/esm2022/crud-table/lib/components/form-builder/services/form-error-state.matcher.mjs +10 -0
- package/esm2022/crud-table/lib/components/form-builder/services/form-field-error.service.mjs +103 -0
- package/esm2022/crud-table/lib/components/form-builder/services/form-validation.service.mjs +381 -0
- package/esm2022/crud-table/lib/components/form-builder/services/location.service.mjs +141 -0
- package/esm2022/crud-table/lib/components/form-builder/services/nominatim-geocoding.service.mjs +120 -0
- package/esm2022/crud-table/lib/components/form-builder/sub-components/error-summary/form-error-summary.component.mjs +190 -0
- package/esm2022/crud-table/lib/components/form-builder/sub-components/file-input/file-input.component.mjs +310 -0
- package/esm2022/crud-table/lib/components/form-builder/sub-components/form-fields/form-number-field.component.mjs +113 -0
- package/esm2022/crud-table/lib/components/form-builder/sub-components/form-fields/form-radio-field.component.mjs +105 -0
- package/esm2022/crud-table/lib/components/form-builder/sub-components/form-fields/form-select-field.component.mjs +126 -0
- package/esm2022/crud-table/lib/components/form-builder/sub-components/form-fields/form-text-field.component.mjs +147 -0
- package/esm2022/crud-table/lib/components/form-builder/sub-components/form-fields/form-textarea-field.component.mjs +99 -0
- package/esm2022/crud-table/lib/components/form-builder/sub-components/form-fields/index.mjs +6 -0
- package/esm2022/crud-table/lib/components/form-builder/sub-components/location-geocoded/location-geocoded.component.mjs +322 -0
- package/esm2022/crud-table/lib/components/form-builder/sub-components/specifica-territoriale/specifica-territoriale.component.mjs +648 -0
- package/esm2022/crud-table/lib/components/form-builder/sub-components/table-territoriale/table-territoriale.component.mjs +432 -0
- package/esm2022/crud-table/lib/components/form-builder/types/condition.types.mjs +6 -0
- package/esm2022/crud-table/lib/components/form-builder/types/field.types.mjs +6 -0
- package/esm2022/crud-table/lib/components/form-builder/types/geocoded-location.types.mjs +6 -0
- package/esm2022/crud-table/lib/components/form-builder/types/schema.types.mjs +6 -0
- package/esm2022/crud-table/lib/components/form-builder/types/territoriale.types.mjs +6 -0
- package/esm2022/crud-table/lib/components/form-builder/types/validation.types.mjs +10 -0
- package/esm2022/crud-table/lib/components/modal/confirm-dialog.component.mjs +151 -0
- package/esm2022/crud-table/lib/components/modal/modal.service.mjs +197 -0
- package/esm2022/crud-table/lib/components/modal/modal.types.mjs +6 -0
- package/esm2022/crud-table/lib/core/logging/logger.config.mjs +18 -0
- package/esm2022/crud-table/lib/core/logging/logger.service.mjs +295 -0
- package/esm2022/crud-table/lib/core/logging/logger.types.mjs +7 -0
- package/esm2022/crud-table/lib/core/types/index.mjs +6 -0
- package/esm2022/crud-table/lib/sources/location-data.opt.json +8942 -0
- package/esm2022/crud-table/lib/sources/nazioni.opt.json +215 -0
- package/esm2022/form-builder/entry-form-builder.mjs +5 -0
- package/esm2022/form-builder/gnggln-ng-ui-system-form-builder.mjs +5 -0
- package/esm2022/form-builder/lib/components/accordion/accordion.component.mjs +398 -0
- package/esm2022/form-builder/lib/components/accordion/accordion.types.mjs +6 -0
- package/esm2022/form-builder/lib/components/accordion/index.mjs +2 -0
- package/esm2022/form-builder/lib/components/blackbox/blackbox-fingerprint.service.mjs +116 -0
- package/esm2022/form-builder/lib/components/blackbox/blackbox-storage.service.mjs +286 -0
- package/esm2022/form-builder/lib/components/blackbox/blackbox.service.mjs +323 -0
- package/esm2022/form-builder/lib/components/blackbox/blackbox.types.mjs +25 -0
- package/esm2022/form-builder/lib/components/button/button-area.component.mjs +210 -0
- package/esm2022/form-builder/lib/components/button/button.component.mjs +180 -0
- package/esm2022/form-builder/lib/components/button/button.types.mjs +6 -0
- package/esm2022/form-builder/lib/components/button/index.mjs +16 -0
- package/esm2022/form-builder/lib/components/form-builder/adapters/it-date-adapter.mjs +82 -0
- package/esm2022/form-builder/lib/components/form-builder/directives/currency-input.directive.mjs +184 -0
- package/esm2022/form-builder/lib/components/form-builder/form-builder.component.mjs +1351 -0
- package/esm2022/form-builder/lib/components/form-builder/form-wizard.component.mjs +1064 -0
- package/esm2022/form-builder/lib/components/form-builder/index.mjs +24 -0
- package/esm2022/form-builder/lib/components/form-builder/services/form-condition.service.mjs +132 -0
- package/esm2022/form-builder/lib/components/form-builder/services/form-error-state.matcher.mjs +10 -0
- package/esm2022/form-builder/lib/components/form-builder/services/form-field-error.service.mjs +103 -0
- package/esm2022/form-builder/lib/components/form-builder/services/form-validation.service.mjs +381 -0
- package/esm2022/form-builder/lib/components/form-builder/services/location.service.mjs +141 -0
- package/esm2022/form-builder/lib/components/form-builder/services/nominatim-geocoding.service.mjs +120 -0
- package/esm2022/form-builder/lib/components/form-builder/services/wizard-sync.service.mjs +84 -0
- package/esm2022/form-builder/lib/components/form-builder/sub-components/error-summary/form-error-summary.component.mjs +190 -0
- package/esm2022/form-builder/lib/components/form-builder/sub-components/file-input/file-input.component.mjs +310 -0
- package/esm2022/form-builder/lib/components/form-builder/sub-components/form-fields/form-number-field.component.mjs +113 -0
- package/esm2022/form-builder/lib/components/form-builder/sub-components/form-fields/form-radio-field.component.mjs +105 -0
- package/esm2022/form-builder/lib/components/form-builder/sub-components/form-fields/form-select-field.component.mjs +126 -0
- package/esm2022/form-builder/lib/components/form-builder/sub-components/form-fields/form-text-field.component.mjs +147 -0
- package/esm2022/form-builder/lib/components/form-builder/sub-components/form-fields/form-textarea-field.component.mjs +99 -0
- package/esm2022/form-builder/lib/components/form-builder/sub-components/form-fields/index.mjs +6 -0
- package/esm2022/form-builder/lib/components/form-builder/sub-components/location-geocoded/location-geocoded.component.mjs +322 -0
- package/esm2022/form-builder/lib/components/form-builder/sub-components/specifica-territoriale/specifica-territoriale.component.mjs +648 -0
- package/esm2022/form-builder/lib/components/form-builder/sub-components/table-territoriale/table-territoriale.component.mjs +432 -0
- package/esm2022/form-builder/lib/components/form-builder/types/condition.types.mjs +6 -0
- package/esm2022/form-builder/lib/components/form-builder/types/field.types.mjs +6 -0
- package/esm2022/form-builder/lib/components/form-builder/types/geocoded-location.types.mjs +6 -0
- package/esm2022/form-builder/lib/components/form-builder/types/index.mjs +3 -0
- package/esm2022/form-builder/lib/components/form-builder/types/schema.types.mjs +6 -0
- package/esm2022/form-builder/lib/components/form-builder/types/territoriale.types.mjs +6 -0
- package/esm2022/form-builder/lib/components/form-builder/types/validation.types.mjs +10 -0
- package/esm2022/form-builder/lib/core/logging/logger.config.mjs +18 -0
- package/esm2022/form-builder/lib/core/logging/logger.service.mjs +295 -0
- package/esm2022/form-builder/lib/core/logging/logger.types.mjs +7 -0
- package/esm2022/form-builder/lib/core/types/index.mjs +6 -0
- package/esm2022/form-builder/lib/sources/location-data.opt.json +8942 -0
- package/esm2022/form-builder/lib/sources/nazioni.opt.json +215 -0
- package/esm2022/form-builder-editor/entry-form-builder-editor.mjs +5 -0
- package/esm2022/form-builder-editor/gnggln-ng-ui-system-form-builder-editor.mjs +5 -0
- package/esm2022/form-builder-editor/lib/components/accordion/accordion.component.mjs +398 -0
- package/esm2022/form-builder-editor/lib/components/accordion/accordion.types.mjs +6 -0
- package/esm2022/form-builder-editor/lib/components/accordion/index.mjs +2 -0
- package/esm2022/form-builder-editor/lib/components/blackbox/blackbox-fingerprint.service.mjs +116 -0
- package/esm2022/form-builder-editor/lib/components/blackbox/blackbox-storage.service.mjs +286 -0
- package/esm2022/form-builder-editor/lib/components/blackbox/blackbox.service.mjs +323 -0
- package/esm2022/form-builder-editor/lib/components/blackbox/blackbox.types.mjs +25 -0
- package/esm2022/form-builder-editor/lib/components/button/button-area.component.mjs +210 -0
- package/esm2022/form-builder-editor/lib/components/button/button.component.mjs +180 -0
- package/esm2022/form-builder-editor/lib/components/button/button.types.mjs +6 -0
- package/esm2022/form-builder-editor/lib/components/button/index.mjs +16 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/adapters/it-date-adapter.mjs +82 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/directives/currency-input.directive.mjs +184 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/form-builder.component.mjs +1351 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/services/form-condition.service.mjs +132 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/services/form-error-state.matcher.mjs +10 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/services/form-field-error.service.mjs +103 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/services/form-validation.service.mjs +381 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/services/location.service.mjs +141 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/services/nominatim-geocoding.service.mjs +120 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/error-summary/form-error-summary.component.mjs +190 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/file-input/file-input.component.mjs +310 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-number-field.component.mjs +113 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-radio-field.component.mjs +105 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-select-field.component.mjs +126 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-text-field.component.mjs +147 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-textarea-field.component.mjs +99 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/form-fields/index.mjs +6 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/location-geocoded/location-geocoded.component.mjs +322 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/specifica-territoriale/specifica-territoriale.component.mjs +648 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/table-territoriale/table-territoriale.component.mjs +432 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/types/condition.types.mjs +6 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/types/field.types.mjs +6 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/types/geocoded-location.types.mjs +6 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/types/index.mjs +3 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/types/schema.types.mjs +6 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/types/territoriale.types.mjs +6 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/types/validation.types.mjs +10 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/form-builder-editor.component.mjs +730 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/form-builder-editor.service.mjs +56 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/index.mjs +23 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/presets/editor-presets.mjs +395 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/services/editor-persistence.service.mjs +190 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/services/editor-state.service.mjs +324 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/services/field-factory.service.mjs +188 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/sub-components/condition-editor/condition-editor.component.mjs +667 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/sub-components/editor-toolbar/editor-toolbar.component.mjs +317 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/sub-components/field-config-panel/field-config-panel.component.mjs +611 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/sub-components/field-palette/field-palette.component.mjs +267 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/sub-components/form-values-panel/form-values-panel.component.mjs +276 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/sub-components/options-editor/options-editor.component.mjs +323 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/sub-components/preview-container/preview-container.component.mjs +238 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/sub-components/section-editor/section-editor.component.mjs +473 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/sub-components/validation-editor/validation-editor.component.mjs +473 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/types/editor.types.mjs +6 -0
- package/esm2022/form-builder-editor/lib/components/modal/confirm-dialog.component.mjs +151 -0
- package/esm2022/form-builder-editor/lib/components/modal/index.mjs +4 -0
- package/esm2022/form-builder-editor/lib/components/modal/modal.component.mjs +139 -0
- package/esm2022/form-builder-editor/lib/components/modal/modal.service.mjs +197 -0
- package/esm2022/form-builder-editor/lib/components/modal/modal.types.mjs +6 -0
- package/esm2022/form-builder-editor/lib/core/logging/logger.config.mjs +18 -0
- package/esm2022/form-builder-editor/lib/core/logging/logger.service.mjs +295 -0
- package/esm2022/form-builder-editor/lib/core/logging/logger.types.mjs +7 -0
- package/esm2022/form-builder-editor/lib/core/types/index.mjs +6 -0
- package/esm2022/form-builder-editor/lib/sources/location-data.opt.json +8942 -0
- package/esm2022/form-builder-editor/lib/sources/nazioni.opt.json +215 -0
- package/esm2022/http/entry-http.mjs +5 -0
- package/esm2022/http/gnggln-ng-ui-system-http.mjs +5 -0
- package/esm2022/http/lib/components/blackbox/blackbox-fingerprint.service.mjs +116 -0
- package/esm2022/http/lib/components/blackbox/blackbox-storage.service.mjs +286 -0
- package/esm2022/http/lib/components/blackbox/blackbox.service.mjs +323 -0
- package/esm2022/http/lib/components/blackbox/blackbox.types.mjs +25 -0
- package/esm2022/http/lib/components/http/http-message.handler.mjs +143 -0
- package/esm2022/http/lib/components/http/http.service.mjs +228 -0
- package/esm2022/http/lib/components/http/http.tokens.mjs +29 -0
- package/esm2022/http/lib/components/http/http.types.mjs +6 -0
- package/esm2022/http/lib/components/http/index.mjs +19 -0
- package/esm2022/http/lib/components/layout-builder/layout-builder.types.mjs +9 -0
- package/esm2022/http/lib/components/layout-builder/layout.service.mjs +239 -0
- package/esm2022/http/lib/components/toast/toast-container.component.mjs +80 -0
- package/esm2022/http/lib/components/toast/toast.component.mjs +151 -0
- package/esm2022/http/lib/components/toast/toast.service.mjs +156 -0
- package/esm2022/http/lib/components/toast/toast.types.mjs +12 -0
- package/esm2022/http/lib/core/types/index.mjs +6 -0
- package/esm2022/http/lib/core/utils/index.mjs +102 -0
- package/esm2022/layout-builder/entry-layout-builder.mjs +5 -0
- package/esm2022/layout-builder/gnggln-ng-ui-system-layout-builder.mjs +5 -0
- package/esm2022/layout-builder/lib/components/layout-builder/index.mjs +18 -0
- package/esm2022/layout-builder/lib/components/layout-builder/layout-builder.component.mjs +1804 -0
- package/esm2022/layout-builder/lib/components/layout-builder/layout-builder.types.mjs +9 -0
- package/esm2022/layout-builder/lib/components/layout-builder/layout.service.mjs +239 -0
- package/esm2022/layout-builder/lib/core/types/index.mjs +6 -0
- package/esm2022/lib/components/accordion/accordion.component.mjs +106 -61
- package/esm2022/lib/components/accordion/accordion.types.mjs +1 -1
- package/esm2022/lib/components/base-layout/base-layout.component.mjs +88 -34
- package/esm2022/lib/components/base-layout/base-layout.types.mjs +1 -1
- package/esm2022/lib/components/base-layout/index.mjs +1 -1
- package/esm2022/lib/components/blackbox/blackbox-debugger.component.mjs +904 -0
- package/esm2022/lib/components/blackbox/blackbox-debugger.service.mjs +51 -0
- package/esm2022/lib/components/blackbox/blackbox-fingerprint.service.mjs +116 -0
- package/esm2022/lib/components/blackbox/blackbox-json-viewer.component.mjs +66 -0
- package/esm2022/lib/components/blackbox/blackbox-storage.service.mjs +286 -0
- package/esm2022/lib/components/blackbox/blackbox.interceptor.mjs +135 -0
- package/esm2022/lib/components/blackbox/blackbox.service.mjs +323 -0
- package/esm2022/lib/components/blackbox/blackbox.types.mjs +25 -0
- package/esm2022/lib/components/blackbox/index.mjs +27 -0
- package/esm2022/lib/components/blackbox/ui-track.directive.mjs +69 -0
- package/esm2022/lib/components/button/button-area.component.mjs +16 -2
- package/esm2022/lib/components/button/button.component.mjs +23 -7
- package/esm2022/lib/components/button/button.types.mjs +1 -1
- package/esm2022/lib/components/crud-table/crud-table.component.mjs +14 -14
- package/esm2022/lib/components/form-builder/form-builder.component.mjs +710 -183
- package/esm2022/lib/components/form-builder/form-wizard.component.mjs +789 -235
- package/esm2022/lib/components/form-builder/index.mjs +7 -2
- package/esm2022/lib/components/form-builder/services/form-error-state.matcher.mjs +10 -0
- package/esm2022/lib/components/form-builder/services/form-field-error.service.mjs +103 -0
- package/esm2022/lib/components/form-builder/services/location.service.mjs +4 -3
- package/esm2022/lib/components/form-builder/services/nominatim-geocoding.service.mjs +120 -0
- package/esm2022/lib/components/form-builder/sub-components/error-summary/form-error-summary.component.mjs +142 -113
- package/esm2022/lib/components/form-builder/sub-components/form-fields/form-number-field.component.mjs +113 -0
- package/esm2022/lib/components/form-builder/sub-components/form-fields/form-radio-field.component.mjs +105 -0
- package/esm2022/lib/components/form-builder/sub-components/form-fields/form-select-field.component.mjs +126 -0
- package/esm2022/lib/components/form-builder/sub-components/form-fields/form-text-field.component.mjs +147 -0
- package/esm2022/lib/components/form-builder/sub-components/form-fields/form-textarea-field.component.mjs +99 -0
- package/esm2022/lib/components/form-builder/sub-components/form-fields/index.mjs +6 -0
- package/esm2022/lib/components/form-builder/sub-components/location-geocoded/location-geocoded.component.mjs +322 -0
- package/esm2022/lib/components/form-builder/sub-components/table-territoriale/table-territoriale.component.mjs +3 -3
- package/esm2022/lib/components/form-builder/types/field.types.mjs +1 -1
- package/esm2022/lib/components/form-builder/types/geocoded-location.types.mjs +6 -0
- package/esm2022/lib/components/form-builder/types/index.mjs +3 -2
- package/esm2022/lib/components/form-builder/types/schema.types.mjs +1 -1
- package/esm2022/lib/components/form-builder/types/validation.types.mjs +6 -2
- package/esm2022/lib/components/form-builder-editor/form-builder-editor.component.mjs +3 -3
- package/esm2022/lib/components/form-builder-editor/index.mjs +3 -1
- package/esm2022/lib/components/form-builder-editor/presets/editor-presets.mjs +395 -0
- package/esm2022/lib/components/form-builder-editor/sub-components/preview-container/preview-container.component.mjs +2 -2
- package/esm2022/lib/components/form-builder-editor/sub-components/section-editor/section-editor.component.mjs +2 -1
- package/esm2022/lib/components/http/http-message.handler.mjs +143 -0
- package/esm2022/lib/components/http/http.service.mjs +228 -0
- package/esm2022/lib/components/http/http.tokens.mjs +29 -0
- package/esm2022/lib/components/http/http.types.mjs +6 -0
- package/esm2022/lib/components/http/index.mjs +19 -0
- package/esm2022/lib/components/layout-builder/layout-builder.component.mjs +27 -15
- package/esm2022/lib/components/modal/confirm-dialog.component.mjs +3 -3
- package/esm2022/lib/components/modal/modal.service.mjs +5 -2
- package/esm2022/lib/components/page-header/breadcrumb.service.mjs +5 -4
- package/esm2022/lib/components/table/paginated-table.component.mjs +17 -3
- package/esm2022/lib/components/table/table.types.mjs +1 -1
- package/esm2022/lib/components/toast/index.mjs +18 -0
- package/esm2022/lib/components/toast/toast-container.component.mjs +80 -0
- package/esm2022/lib/components/toast/toast.component.mjs +151 -0
- package/esm2022/lib/components/toast/toast.service.mjs +156 -0
- package/esm2022/lib/components/toast/toast.types.mjs +12 -0
- package/esm2022/lib/core/logging/index.mjs +10 -0
- package/esm2022/lib/core/logging/logger.config.mjs +18 -0
- package/esm2022/lib/core/logging/logger.service.mjs +295 -0
- package/esm2022/lib/core/logging/logger.types.mjs +7 -0
- package/esm2022/lib/core/types/index.mjs +1 -1
- package/esm2022/lib/core/utils/index.mjs +50 -1
- package/esm2022/lib/version/ng-ui-system-version.mjs +12 -0
- package/esm2022/modal/entry-modal.mjs +5 -0
- package/esm2022/modal/gnggln-ng-ui-system-modal.mjs +5 -0
- package/esm2022/modal/lib/components/button/button.component.mjs +180 -0
- package/esm2022/modal/lib/components/button/button.types.mjs +6 -0
- package/esm2022/modal/lib/components/modal/confirm-dialog.component.mjs +151 -0
- package/esm2022/modal/lib/components/modal/index.mjs +4 -0
- package/esm2022/modal/lib/components/modal/modal.component.mjs +139 -0
- package/esm2022/modal/lib/components/modal/modal.service.mjs +197 -0
- package/esm2022/modal/lib/components/modal/modal.types.mjs +6 -0
- package/esm2022/modal/lib/core/types/index.mjs +6 -0
- package/esm2022/page-header/entry-page-header.mjs +5 -0
- package/esm2022/page-header/gnggln-ng-ui-system-page-header.mjs +5 -0
- package/esm2022/page-header/lib/components/page-header/breadcrumb.service.mjs +243 -0
- package/esm2022/page-header/lib/components/page-header/index.mjs +20 -0
- package/esm2022/page-header/lib/components/page-header/page-header.component.mjs +243 -0
- package/esm2022/page-header/lib/components/page-header/page-header.types.mjs +21 -0
- package/esm2022/public-api.mjs +17 -8
- package/esm2022/table/entry-table.mjs +5 -0
- package/esm2022/table/gnggln-ng-ui-system-table.mjs +5 -0
- package/esm2022/table/lib/components/table/index.mjs +2 -0
- package/esm2022/table/lib/components/table/paginated-table.component.mjs +421 -0
- package/esm2022/table/lib/components/table/table.types.mjs +6 -0
- package/esm2022/table/lib/core/utils/index.mjs +102 -0
- package/esm2022/toast/entry-toast.mjs +5 -0
- package/esm2022/toast/gnggln-ng-ui-system-toast.mjs +5 -0
- package/esm2022/toast/lib/components/toast/index.mjs +18 -0
- package/esm2022/toast/lib/components/toast/toast-container.component.mjs +80 -0
- package/esm2022/toast/lib/components/toast/toast.component.mjs +151 -0
- package/esm2022/toast/lib/components/toast/toast.service.mjs +156 -0
- package/esm2022/toast/lib/components/toast/toast.types.mjs +12 -0
- package/esm2022/toast/lib/core/types/index.mjs +6 -0
- package/esm2022/toast/lib/core/utils/index.mjs +102 -0
- package/fesm2022/gnggln-ng-ui-system-accordion.mjs +409 -0
- package/fesm2022/gnggln-ng-ui-system-accordion.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-base-layout.mjs +1905 -0
- package/fesm2022/gnggln-ng-ui-system-base-layout.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-blackbox.mjs +2829 -0
- package/fesm2022/gnggln-ng-ui-system-blackbox.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-button.mjs +1148 -0
- package/fesm2022/gnggln-ng-ui-system-button.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-core.mjs +117 -0
- package/fesm2022/gnggln-ng-ui-system-core.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-crud-table.mjs +49600 -0
- package/fesm2022/gnggln-ng-ui-system-crud-table.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-form-builder-editor.mjs +54332 -0
- package/fesm2022/gnggln-ng-ui-system-form-builder-editor.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-form-builder.mjs +49609 -0
- package/fesm2022/gnggln-ng-ui-system-form-builder.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-http.mjs +1878 -0
- package/fesm2022/gnggln-ng-ui-system-http.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-layout-builder.mjs +2064 -0
- package/fesm2022/gnggln-ng-ui-system-layout-builder.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-modal.mjs +664 -0
- package/fesm2022/gnggln-ng-ui-system-modal.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-page-header.mjs +526 -0
- package/fesm2022/gnggln-ng-ui-system-page-header.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-table.mjs +533 -0
- package/fesm2022/gnggln-ng-ui-system-table.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-toast.mjs +516 -0
- package/fesm2022/gnggln-ng-ui-system-toast.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system.mjs +10068 -4234
- package/fesm2022/gnggln-ng-ui-system.mjs.map +1 -1
- package/form-builder/entry-form-builder.d.ts +4 -0
- package/form-builder/index.d.ts +5 -0
- package/form-builder/lib/components/accordion/accordion.component.d.ts +125 -0
- package/form-builder/lib/components/accordion/accordion.types.d.ts +64 -0
- package/form-builder/lib/components/accordion/index.d.ts +2 -0
- package/form-builder/lib/components/blackbox/blackbox-fingerprint.service.d.ts +36 -0
- package/form-builder/lib/components/blackbox/blackbox-storage.service.d.ts +55 -0
- package/form-builder/lib/components/blackbox/blackbox.service.d.ts +144 -0
- package/form-builder/lib/components/blackbox/blackbox.types.d.ts +238 -0
- package/form-builder/lib/components/button/button-area.component.d.ts +93 -0
- package/form-builder/lib/components/button/button.component.d.ts +61 -0
- package/form-builder/lib/components/button/button.types.d.ts +75 -0
- package/form-builder/lib/components/button/index.d.ts +15 -0
- package/form-builder/lib/components/form-builder/adapters/it-date-adapter.d.ts +32 -0
- package/form-builder/lib/components/form-builder/directives/currency-input.directive.d.ts +48 -0
- package/form-builder/lib/components/form-builder/form-builder.component.d.ts +279 -0
- package/form-builder/lib/components/form-builder/form-wizard.component.d.ts +172 -0
- package/form-builder/lib/components/form-builder/index.d.ts +19 -0
- package/form-builder/lib/components/form-builder/services/form-condition.service.d.ts +46 -0
- package/form-builder/lib/components/form-builder/services/form-error-state.matcher.d.ts +9 -0
- package/form-builder/lib/components/form-builder/services/form-field-error.service.d.ts +38 -0
- package/form-builder/lib/components/form-builder/services/form-validation.service.d.ts +63 -0
- package/form-builder/lib/components/form-builder/services/location.service.d.ts +83 -0
- package/form-builder/lib/components/form-builder/services/nominatim-geocoding.service.d.ts +37 -0
- package/form-builder/lib/components/form-builder/services/wizard-sync.service.d.ts +63 -0
- package/form-builder/lib/components/form-builder/sub-components/error-summary/form-error-summary.component.d.ts +31 -0
- package/form-builder/lib/components/form-builder/sub-components/file-input/file-input.component.d.ts +41 -0
- package/form-builder/lib/components/form-builder/sub-components/form-fields/form-number-field.component.d.ts +42 -0
- package/form-builder/lib/components/form-builder/sub-components/form-fields/form-radio-field.component.d.ts +45 -0
- package/form-builder/lib/components/form-builder/sub-components/form-fields/form-select-field.component.d.ts +44 -0
- package/form-builder/lib/components/form-builder/sub-components/form-fields/form-text-field.component.d.ts +62 -0
- package/form-builder/lib/components/form-builder/sub-components/form-fields/form-textarea-field.component.d.ts +39 -0
- package/form-builder/lib/components/form-builder/sub-components/form-fields/index.d.ts +5 -0
- package/form-builder/lib/components/form-builder/sub-components/location-geocoded/location-geocoded.component.d.ts +84 -0
- package/form-builder/lib/components/form-builder/sub-components/specifica-territoriale/specifica-territoriale.component.d.ts +145 -0
- package/form-builder/lib/components/form-builder/sub-components/table-territoriale/table-territoriale.component.d.ts +108 -0
- package/form-builder/lib/components/form-builder/types/condition.types.d.ts +51 -0
- package/form-builder/lib/components/form-builder/types/field.types.d.ts +330 -0
- package/form-builder/lib/components/form-builder/types/geocoded-location.types.d.ts +116 -0
- package/form-builder/lib/components/form-builder/types/index.d.ts +6 -0
- package/form-builder/lib/components/form-builder/types/schema.types.d.ts +304 -0
- package/form-builder/lib/components/form-builder/types/territoriale.types.d.ts +170 -0
- package/form-builder/lib/components/form-builder/types/validation.types.d.ts +179 -0
- package/form-builder/lib/core/logging/logger.config.d.ts +18 -0
- package/form-builder/lib/core/logging/logger.service.d.ts +75 -0
- package/form-builder/lib/core/logging/logger.types.d.ts +70 -0
- package/form-builder/lib/core/types/index.d.ts +133 -0
- package/form-builder-editor/entry-form-builder-editor.d.ts +4 -0
- package/form-builder-editor/index.d.ts +5 -0
- package/form-builder-editor/lib/components/accordion/accordion.component.d.ts +125 -0
- package/form-builder-editor/lib/components/accordion/accordion.types.d.ts +64 -0
- package/form-builder-editor/lib/components/accordion/index.d.ts +2 -0
- package/form-builder-editor/lib/components/blackbox/blackbox-fingerprint.service.d.ts +36 -0
- package/form-builder-editor/lib/components/blackbox/blackbox-storage.service.d.ts +55 -0
- package/form-builder-editor/lib/components/blackbox/blackbox.service.d.ts +144 -0
- package/form-builder-editor/lib/components/blackbox/blackbox.types.d.ts +238 -0
- package/form-builder-editor/lib/components/button/button-area.component.d.ts +93 -0
- package/form-builder-editor/lib/components/button/button.component.d.ts +61 -0
- package/form-builder-editor/lib/components/button/button.types.d.ts +75 -0
- package/form-builder-editor/lib/components/button/index.d.ts +15 -0
- package/form-builder-editor/lib/components/form-builder/adapters/it-date-adapter.d.ts +32 -0
- package/form-builder-editor/lib/components/form-builder/directives/currency-input.directive.d.ts +48 -0
- package/form-builder-editor/lib/components/form-builder/form-builder.component.d.ts +279 -0
- package/form-builder-editor/lib/components/form-builder/services/form-condition.service.d.ts +46 -0
- package/form-builder-editor/lib/components/form-builder/services/form-error-state.matcher.d.ts +9 -0
- package/form-builder-editor/lib/components/form-builder/services/form-field-error.service.d.ts +38 -0
- package/form-builder-editor/lib/components/form-builder/services/form-validation.service.d.ts +63 -0
- package/form-builder-editor/lib/components/form-builder/services/location.service.d.ts +83 -0
- package/form-builder-editor/lib/components/form-builder/services/nominatim-geocoding.service.d.ts +37 -0
- package/form-builder-editor/lib/components/form-builder/sub-components/error-summary/form-error-summary.component.d.ts +31 -0
- package/form-builder-editor/lib/components/form-builder/sub-components/file-input/file-input.component.d.ts +41 -0
- package/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-number-field.component.d.ts +42 -0
- package/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-radio-field.component.d.ts +45 -0
- package/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-select-field.component.d.ts +44 -0
- package/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-text-field.component.d.ts +62 -0
- package/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-textarea-field.component.d.ts +39 -0
- package/form-builder-editor/lib/components/form-builder/sub-components/form-fields/index.d.ts +5 -0
- package/form-builder-editor/lib/components/form-builder/sub-components/location-geocoded/location-geocoded.component.d.ts +84 -0
- package/form-builder-editor/lib/components/form-builder/sub-components/specifica-territoriale/specifica-territoriale.component.d.ts +145 -0
- package/form-builder-editor/lib/components/form-builder/sub-components/table-territoriale/table-territoriale.component.d.ts +108 -0
- package/form-builder-editor/lib/components/form-builder/types/condition.types.d.ts +51 -0
- package/form-builder-editor/lib/components/form-builder/types/field.types.d.ts +330 -0
- package/form-builder-editor/lib/components/form-builder/types/geocoded-location.types.d.ts +116 -0
- package/form-builder-editor/lib/components/form-builder/types/index.d.ts +6 -0
- package/form-builder-editor/lib/components/form-builder/types/schema.types.d.ts +304 -0
- package/form-builder-editor/lib/components/form-builder/types/territoriale.types.d.ts +170 -0
- package/form-builder-editor/lib/components/form-builder/types/validation.types.d.ts +179 -0
- package/form-builder-editor/lib/components/form-builder-editor/form-builder-editor.component.d.ts +117 -0
- package/form-builder-editor/lib/components/form-builder-editor/form-builder-editor.service.d.ts +38 -0
- package/form-builder-editor/lib/components/form-builder-editor/index.d.ts +17 -0
- package/form-builder-editor/lib/components/form-builder-editor/presets/editor-presets.d.ts +25 -0
- package/form-builder-editor/lib/components/form-builder-editor/services/editor-persistence.service.d.ts +42 -0
- package/form-builder-editor/lib/components/form-builder-editor/services/editor-state.service.d.ts +66 -0
- package/form-builder-editor/lib/components/form-builder-editor/services/field-factory.service.d.ts +28 -0
- package/form-builder-editor/lib/components/form-builder-editor/sub-components/condition-editor/condition-editor.component.d.ts +139 -0
- package/form-builder-editor/lib/components/form-builder-editor/sub-components/editor-toolbar/editor-toolbar.component.d.ts +43 -0
- package/form-builder-editor/lib/components/form-builder-editor/sub-components/field-config-panel/field-config-panel.component.d.ts +83 -0
- package/form-builder-editor/lib/components/form-builder-editor/sub-components/field-palette/field-palette.component.d.ts +40 -0
- package/form-builder-editor/lib/components/form-builder-editor/sub-components/form-values-panel/form-values-panel.component.d.ts +51 -0
- package/form-builder-editor/lib/components/form-builder-editor/sub-components/options-editor/options-editor.component.d.ts +63 -0
- package/form-builder-editor/lib/components/form-builder-editor/sub-components/preview-container/preview-container.component.d.ts +68 -0
- package/form-builder-editor/lib/components/form-builder-editor/sub-components/section-editor/section-editor.component.d.ts +82 -0
- package/form-builder-editor/lib/components/form-builder-editor/sub-components/validation-editor/validation-editor.component.d.ts +112 -0
- package/form-builder-editor/lib/components/form-builder-editor/types/editor.types.d.ts +124 -0
- package/form-builder-editor/lib/components/modal/confirm-dialog.component.d.ts +46 -0
- package/form-builder-editor/lib/components/modal/index.d.ts +4 -0
- package/form-builder-editor/lib/components/modal/modal.component.d.ts +44 -0
- package/form-builder-editor/lib/components/modal/modal.service.d.ts +93 -0
- package/form-builder-editor/lib/components/modal/modal.types.d.ts +110 -0
- package/form-builder-editor/lib/core/logging/logger.config.d.ts +18 -0
- package/form-builder-editor/lib/core/logging/logger.service.d.ts +75 -0
- package/form-builder-editor/lib/core/logging/logger.types.d.ts +70 -0
- package/form-builder-editor/lib/core/types/index.d.ts +133 -0
- package/http/entry-http.d.ts +4 -0
- package/http/index.d.ts +5 -0
- package/http/lib/components/blackbox/blackbox-fingerprint.service.d.ts +36 -0
- package/http/lib/components/blackbox/blackbox-storage.service.d.ts +55 -0
- package/http/lib/components/blackbox/blackbox.service.d.ts +144 -0
- package/http/lib/components/blackbox/blackbox.types.d.ts +238 -0
- package/http/lib/components/http/http-message.handler.d.ts +59 -0
- package/http/lib/components/http/http.service.d.ts +98 -0
- package/http/lib/components/http/http.tokens.d.ts +29 -0
- package/http/lib/components/http/http.types.d.ts +50 -0
- package/http/lib/components/http/index.d.ts +17 -0
- package/http/lib/components/layout-builder/layout-builder.types.d.ts +436 -0
- package/http/lib/components/layout-builder/layout.service.d.ts +100 -0
- package/http/lib/components/toast/toast-container.component.d.ts +27 -0
- package/http/lib/components/toast/toast.component.d.ts +37 -0
- package/http/lib/components/toast/toast.service.d.ts +39 -0
- package/http/lib/components/toast/toast.types.d.ts +52 -0
- package/http/lib/core/types/index.d.ts +133 -0
- package/http/lib/core/utils/index.d.ts +60 -0
- package/layout-builder/entry-layout-builder.d.ts +4 -0
- package/layout-builder/index.d.ts +5 -0
- package/layout-builder/lib/components/layout-builder/index.d.ts +16 -0
- package/layout-builder/lib/components/layout-builder/layout-builder.component.d.ts +85 -0
- package/layout-builder/lib/components/layout-builder/layout-builder.types.d.ts +436 -0
- package/layout-builder/lib/components/layout-builder/layout.service.d.ts +100 -0
- package/layout-builder/lib/core/types/index.d.ts +133 -0
- package/lib/components/accordion/accordion.component.d.ts +10 -3
- package/lib/components/accordion/accordion.types.d.ts +2 -0
- package/lib/components/base-layout/base-layout.component.d.ts +36 -11
- package/lib/components/base-layout/base-layout.types.d.ts +14 -0
- package/lib/components/base-layout/index.d.ts +1 -1
- package/lib/components/blackbox/blackbox-debugger.component.d.ts +80 -0
- package/lib/components/blackbox/blackbox-debugger.service.d.ts +34 -0
- package/lib/components/blackbox/blackbox-fingerprint.service.d.ts +36 -0
- package/lib/components/blackbox/blackbox-json-viewer.component.d.ts +18 -0
- package/lib/components/blackbox/blackbox-storage.service.d.ts +55 -0
- package/lib/components/blackbox/blackbox.interceptor.d.ts +38 -0
- package/lib/components/blackbox/blackbox.service.d.ts +144 -0
- package/lib/components/blackbox/blackbox.types.d.ts +238 -0
- package/lib/components/blackbox/index.d.ts +23 -0
- package/lib/components/blackbox/ui-track.directive.d.ts +20 -0
- package/lib/components/button/button-area.component.d.ts +6 -1
- package/lib/components/button/button.component.d.ts +8 -2
- package/lib/components/button/button.types.d.ts +5 -0
- package/lib/components/form-builder/form-builder.component.d.ts +125 -29
- package/lib/components/form-builder/form-wizard.component.d.ts +89 -4
- package/lib/components/form-builder/index.d.ts +7 -1
- package/lib/components/form-builder/services/form-error-state.matcher.d.ts +9 -0
- package/lib/components/form-builder/services/form-field-error.service.d.ts +38 -0
- package/lib/components/form-builder/services/nominatim-geocoding.service.d.ts +37 -0
- package/lib/components/form-builder/sub-components/error-summary/form-error-summary.component.d.ts +9 -6
- package/lib/components/form-builder/sub-components/form-fields/form-number-field.component.d.ts +42 -0
- package/lib/components/form-builder/sub-components/form-fields/form-radio-field.component.d.ts +45 -0
- package/lib/components/form-builder/sub-components/form-fields/form-select-field.component.d.ts +44 -0
- package/lib/components/form-builder/sub-components/form-fields/form-text-field.component.d.ts +62 -0
- package/lib/components/form-builder/sub-components/form-fields/form-textarea-field.component.d.ts +39 -0
- package/lib/components/form-builder/sub-components/form-fields/index.d.ts +5 -0
- package/lib/components/form-builder/sub-components/location-geocoded/location-geocoded.component.d.ts +84 -0
- package/lib/components/form-builder/types/field.types.d.ts +48 -6
- package/lib/components/form-builder/types/geocoded-location.types.d.ts +116 -0
- package/lib/components/form-builder/types/index.d.ts +4 -3
- package/lib/components/form-builder/types/schema.types.d.ts +83 -6
- package/lib/components/form-builder/types/validation.types.d.ts +5 -0
- package/lib/components/form-builder-editor/index.d.ts +2 -0
- package/lib/components/form-builder-editor/presets/editor-presets.d.ts +25 -0
- package/lib/components/http/http-message.handler.d.ts +59 -0
- package/lib/components/http/http.service.d.ts +98 -0
- package/lib/components/http/http.tokens.d.ts +29 -0
- package/lib/components/http/http.types.d.ts +50 -0
- package/lib/components/http/index.d.ts +17 -0
- package/lib/components/page-header/breadcrumb.service.d.ts +2 -2
- package/lib/components/table/table.types.d.ts +5 -0
- package/lib/components/toast/index.d.ts +17 -0
- package/lib/components/toast/toast-container.component.d.ts +27 -0
- package/lib/components/toast/toast.component.d.ts +37 -0
- package/lib/components/toast/toast.service.d.ts +39 -0
- package/lib/components/toast/toast.types.d.ts +52 -0
- package/lib/core/logging/index.d.ts +8 -0
- package/lib/core/logging/logger.config.d.ts +18 -0
- package/lib/core/logging/logger.service.d.ts +75 -0
- package/lib/core/logging/logger.types.d.ts +70 -0
- package/lib/core/types/index.d.ts +76 -0
- package/lib/core/utils/index.d.ts +31 -0
- package/lib/version/ng-ui-system-version.d.ts +9 -0
- package/modal/entry-modal.d.ts +4 -0
- package/modal/index.d.ts +5 -0
- package/modal/lib/components/button/button.component.d.ts +61 -0
- package/modal/lib/components/button/button.types.d.ts +75 -0
- package/modal/lib/components/modal/confirm-dialog.component.d.ts +46 -0
- package/modal/lib/components/modal/index.d.ts +4 -0
- package/modal/lib/components/modal/modal.component.d.ts +44 -0
- package/modal/lib/components/modal/modal.service.d.ts +93 -0
- package/modal/lib/components/modal/modal.types.d.ts +110 -0
- package/modal/lib/core/types/index.d.ts +133 -0
- package/package.json +93 -8
- package/page-header/entry-page-header.d.ts +4 -0
- package/page-header/index.d.ts +5 -0
- package/page-header/lib/components/page-header/breadcrumb.service.d.ts +96 -0
- package/page-header/lib/components/page-header/index.d.ts +16 -0
- package/page-header/lib/components/page-header/page-header.component.d.ts +59 -0
- package/page-header/lib/components/page-header/page-header.types.d.ts +96 -0
- package/public-api.d.ts +11 -6
- package/table/entry-table.d.ts +4 -0
- package/table/index.d.ts +5 -0
- package/table/lib/components/table/index.d.ts +2 -0
- package/table/lib/components/table/paginated-table.component.d.ts +85 -0
- package/table/lib/components/table/table.types.d.ts +86 -0
- package/table/lib/core/utils/index.d.ts +60 -0
- package/toast/entry-toast.d.ts +4 -0
- package/toast/index.d.ts +5 -0
- package/toast/lib/components/toast/index.d.ts +17 -0
- package/toast/lib/components/toast/toast-container.component.d.ts +27 -0
- package/toast/lib/components/toast/toast.component.d.ts +37 -0
- package/toast/lib/components/toast/toast.service.d.ts +39 -0
- package/toast/lib/components/toast/toast.types.d.ts +52 -0
- package/toast/lib/core/types/index.d.ts +133 -0
- package/toast/lib/core/utils/index.d.ts +60 -0
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* Tipi per lo schema del form, sezioni e configurazione.
|
|
4
4
|
*/
|
|
5
5
|
export {};
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctdWktc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWJ1aWxkZXIvdHlwZXMvc2NoZW1hLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBuZy11aS1zeXN0ZW0vZm9ybS1idWlsZGVyXG4gKiBUaXBpIHBlciBsbyBzY2hlbWEgZGVsIGZvcm0sIHNlemlvbmkgZSBjb25maWd1cmF6aW9uZS5cbiAqL1xuXG5pbXBvcnQgeyBVaUZvcm1GaWVsZERlc2NyaXB0b3IgfSBmcm9tICcuL2ZpZWxkLnR5cGVzJztcbmltcG9ydCB7IFVpRmllbGRDb25kaXRpb24gfSBmcm9tICcuL2NvbmRpdGlvbi50eXBlcyc7XG5cbi8vIOKUgOKUgOKUgCBXaXphcmQgc3RlcCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLyoqXG4gKiBDb25maWd1cmF6aW9uZSBkaSB2YWxpZGF6aW9uZSBwZXIgdW4gc2luZ29sbyBzdGVwIGRlbCB3aXphcmQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVWlXaXphcmRTdGVwVmFsaWRhdGlvbiB7XG4gIC8qKiBTZSBsbyBzdGVwIHJpY2hpZWRlIHZhbGlkYXppb25lIHByaW1hIGRpIHByb2NlZGVyZS4gQGRlZmF1bHQgdHJ1ZSAqL1xuICByZXF1aXJlZD86IGJvb2xlYW47XG4gIC8qKiBDYW1waSBzcGVjaWZpY2kgZGEgdmFsaWRhcmUgaW4gcXVlc3RvIHN0ZXAgKHNlIG9tZXNzbywgdHV0dGkgaSBjYW1waSBkZWxsbyBzdGVwKS4gKi9cbiAgdmFsaWRhdGVGaWVsZHM/OiBzdHJpbmdbXTtcbiAgLyoqIFNlIHZhbGlkYXJlIGFuY2hlIGkgY29tcG9uZW50aSBjdXN0b20gbmVsbG8gc3RlcC4gQGRlZmF1bHQgdHJ1ZSAqL1xuICB2YWxpZGF0ZUN1c3RvbUNvbXBvbmVudHM/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEZ1bnppb25lIGRpIHZhbGlkYXppb25lIGN1c3RvbSBwZXIgdW5vIHN0ZXAgZGVsIHdpemFyZC5cbiAqIFZpZW5lIGludm9jYXRhIHByaW1hIGRlbGxhIG5hdmlnYXppb25lIGFsbG8gc3RlcCBzdWNjZXNzaXZvLlxuICpcbiAqIEBwYXJhbSBmb3JtRGF0YSAtIERhdGkgY29ycmVudGkgZGVsIGZvcm0gY29tcGxldG8uXG4gKiBAcGFyYW0gY3VycmVudFN0ZXAgLSBJbmRpY2UgZGVsbG8gc3RlcCBjb3JyZW50ZSAoMC1iYXNlZCkuXG4gKiBAcGFyYW0gaXNWYWxpZCAtIFJpc3VsdGF0byBkZWxsYSB2YWxpZGF6aW9uZSBzdGFuZGFyZCBkZWwgZm9ybS5cbiAqIEByZXR1cm5zIGB0cnVlYCBwZXIgcGVybWV0dGVyZSBsYSBuYXZpZ2F6aW9uZSwgYGZhbHNlYCBwZXIgYmxvY2NhcmxhLlxuICovXG5leHBvcnQgdHlwZSBVaVdpemFyZFZhbGlkYXRpb25GbiA9IChcbiAgZm9ybURhdGE6IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gIGN1cnJlbnRTdGVwOiBudW1iZXIsXG4gIGlzVmFsaWQ6IGJvb2xlYW4sXG4pID0+IFByb21pc2U8Ym9vbGVhbj4gfCBib29sZWFuO1xuXG4vKipcbiAqIENvbmZpZ3VyYXppb25lIHdpemFyZCBwZXIgdW5hIHNlemlvbmUgZGVsIGZvcm0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVWlXaXphcmRTdGVwQ29uZmlnIHtcbiAgLyoqIE51bWVybyBkZWxsbyBzdGVwICgxLWJhc2VkIHBlciBVSSwgY29udmVydGl0byBhIDAtYmFzZWQgaW50ZXJuYW1lbnRlKS4gKi9cbiAgc3RlcE51bWJlcjogbnVtYmVyO1xuICAvKiogVGl0b2xvIHBlcnNvbmFsaXp6YXRvIHBlciBsbyBzdGVwLiAqL1xuICBzdGVwVGl0bGU/OiBzdHJpbmc7XG4gIC8qKiBEZXNjcml6aW9uZSBkZWxsbyBzdGVwLiAqL1xuICBzdGVwRGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIC8qKiBDb25maWd1cmF6aW9uZSBkaSB2YWxpZGF6aW9uZSBwZXIgcXVlc3RvIHN0ZXAuICovXG4gIHZhbGlkYXRpb24/OiBVaVdpemFyZFN0ZXBWYWxpZGF0aW9uO1xuICAvKiogUGVybWV0dGUgZGkgc2FsdGFyZSBxdWVzdG8gc3RlcCBzZW56YSB2YWxpZGF6aW9uZS4gKi9cbiAgYWxsb3dTa2lwPzogYm9vbGVhbjtcbiAgLyoqIE5vbWUgZGVsIG1ldG9kbyBkaSB2YWxpZGF6aW9uZSBjdXN0b20gKGRldmUgZXNzZXJlIHJlZ2lzdHJhdG8gbmVsIHdpemFyZCkuICovXG4gIGN1c3RvbVZhbGlkYXRpb25Gbj86IHN0cmluZztcbiAgLyoqIE1ldGFkYXRpIGFnZ2l1bnRpdmkgcGVyIGxvIHN0ZXAuICovXG4gIG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgYW55Pjtcbn1cblxuLy8g4pSA4pSA4pSAIFNlemlvbmUg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi8qKlxuICogU2V6aW9uZSBkZWwgZm9ybSBjaGUgcmFnZ3J1cHBhIGNhbXBpIGNvcnJlbGF0aS5cbiAqIFN1cHBvcnRhIGNvbGxhcHNpYmlsaXRhIChhY2NvcmRpb24pLCBjb25kaXppb25pIGRpIHZpc2liaWxpdGFcbiAqIGUgY29uZmlndXJhemlvbmUgd2l6YXJkIG9wemlvbmFsZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgc2VjdGlvbjogVWlGb3JtU2VjdGlvbiA9IHtcbiAqICAgaWQ6ICdhbmFncmFmaWNhJyxcbiAqICAgdGl0bGU6ICdEYXRpIGFuYWdyYWZpY2knLFxuICogICBkZXNjcmlwdGlvbjogJ0luZm9ybWF6aW9uaSBwZXJzb25hbGkgZGVsIGNhbmRpZGF0bycsXG4gKiAgIGNvbGxhcHNpYmxlOiB0cnVlLFxuICogICBmaWVsZHM6IFsgLi4uIF0sXG4gKiB9O1xuICogYGBgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVWlGb3JtU2VjdGlvbiB7XG4gIC8qKiBJRCB1bml2b2NvIGRlbGxhIHNlemlvbmUuICovXG4gIGlkOiBzdHJpbmc7XG4gIC8qKiBUaXRvbG8gZGVsbGEgc2V6aW9uZS4gKi9cbiAgdGl0bGU/OiBzdHJpbmc7XG4gIC8qKiBEZXNjcml6aW9uZSBkZWxsYSBzZXppb25lLiAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgLyoqIENhbXBpIGNvbnRlbnV0aSBuZWxsYSBzZXppb25lLiAqL1xuICBmaWVsZHM6IFVpRm9ybUZpZWxkRGVzY3JpcHRvcltdO1xuICAvKiogQ29uZGl6aW9uaSBwZXIgbGEgdmlzaWJpbGl0YSBkZWxsYSBzZXppb25lLiAqL1xuICBjb25kaXRpb25zPzogVWlGaWVsZENvbmRpdGlvbltdO1xuICAvKiogU2UgbGEgc2V6aW9uZSBlIGNvbGxhc3NhYmlsZSAoYWNjb3JkaW9uKS4gKi9cbiAgY29sbGFwc2libGU/OiBib29sZWFuO1xuICAvKiogU2UgbGEgc2V6aW9uZSBlIGluaXppYWxtZW50ZSBjb2xsYXNzYXRhLiBAZGVmYXVsdCBmYWxzZSAqL1xuICBjb2xsYXBzZWQ/OiBib29sZWFuO1xuICAvKiogQ2xhc3NpIENTUyBhZ2dpdW50aXZlIHBlciBsYSBzZXppb25lLiAqL1xuICBjc3NDbGFzc2VzPzogc3RyaW5nW107XG4gIC8qKiBDb25maWd1cmF6aW9uZSB3aXphcmQgcGVyIHF1ZXN0YSBzZXppb25lLiAqL1xuICB3aXphcmRTdGVwPzogVWlXaXphcmRTdGVwQ29uZmlnO1xufVxuXG4vLyDilIDilIDilIAgQ29uZmlndXJhemlvbmUgZm9ybSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLyoqXG4gKiBDb25maWd1cmF6aW9uZSBnbG9iYWxlIGRlbCBmb3JtIGJ1aWxkZXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVWlGb3JtQnVpbGRlckNvbmZpZyB7XG4gIC8qKiBMYXlvdXQgZGVsIGZvcm0uIEBkZWZhdWx0ICdncmlkJyAqL1xuICBsYXlvdXQ/OiAndmVydGljYWwnIHwgJ2hvcml6b250YWwnIHwgJ2dyaWQnO1xuICAvKiogTnVtZXJvIGRpIGNvbG9ubmUgbmVsIGdyaWQuIEBkZWZhdWx0IDEyICovXG4gIGNvbHVtbnM/OiBudW1iZXI7XG4gIC8qKiBNb3N0cmEgaSBwdWxzYW50aSBkaSBhemlvbmUgKHN1Ym1pdC9yZXNldCkuIEBkZWZhdWx0IHRydWUgKi9cbiAgc2hvd0J1dHRvbnM/OiBib29sZWFuO1xuICAvKiogTmFzY29uZGUgbCdpbnRlcm8gZm9vdGVyIChwdWxzYW50aSArIGVycm9yIHN1bW1hcnkpLiAqL1xuICBoaWRlRm9vdGVyPzogYm9vbGVhbjtcbiAgLyoqIExhYmVsIHBlcnNvbmFsaXp6YXRlIHBlciBpIHB1bHNhbnRpLiAqL1xuICBidXR0b25MYWJlbHM/OiB7XG4gICAgc3VibWl0Pzogc3RyaW5nO1xuICAgIHJlc2V0Pzogc3RyaW5nO1xuICAgIGNhbmNlbD86IHN0cmluZztcbiAgfTtcbiAgLyoqIENsYXNzaSBDU1MgZ2xvYmFsaSBzdWwgY29udGFpbmVyIGRlbCBmb3JtLiAqL1xuICBjc3NDbGFzc2VzPzogc3RyaW5nW107XG59XG5cbi8vIOKUgOKUgOKUgCBDb25maWd1cmF6aW9uZSB3aXphcmQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi8qKlxuICogQ29uZmlndXJhemlvbmUgcGVyIGxhIG1vZGFsaXRhIHdpemFyZCBkZWwgZm9ybS5cbiAqIFVzYXRhIGRhbCBjb21wb25lbnRlIGBVaUZvcm1XaXphcmRDb21wb25lbnRgLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCB3aXphcmRDb25maWc6IFVpV2l6YXJkQ29uZmlnID0ge1xuICogICBzaG93UHJvZ3Jlc3M6IHRydWUsXG4gKiAgIHByb2dyZXNzU3R5bGU6ICdzdGVwcycsXG4gKiAgIGFsbG93QmFja05hdmlnYXRpb246IHRydWUsXG4gKiAgIGJ1dHRvbkxhYmVsczogeyBuZXh0OiAnQXZhbnRpJywgcHJldmlvdXM6ICdJbmRpZXRybycsIGZpbmlzaDogJ0NvbXBsZXRhJyB9LFxuICogfTtcbiAqIGBgYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVpV2l6YXJkQ29uZmlnIHtcbiAgLyoqIElEIHBlciBzaW5jcm9uaXp6YXppb25lIHdpcmVsZXNzIHRyYSBpc3RhbnplLiAqL1xuICB3aXphcmRJZD86IHN0cmluZztcbiAgLyoqIE5hc2NvbmRlIGwnaGVhZGVyIGludGVybm8gZGVsIHdpemFyZCBwZXIgY29uc2VudGlyZSB1biBoZWFkZXIgZXN0ZXJuby4gKi9cbiAgd2lyZWxlc3NIZWFkaW5nPzogYm9vbGVhbjtcbiAgLyoqIE1vc3RyYSBsYSBiYXJyYSBkaSBwcm9ncmVzc28uIEBkZWZhdWx0IHRydWUgKi9cbiAgc2hvd1Byb2dyZXNzPzogYm9vbGVhbjtcbiAgLyoqIFN0aWxlIGRlbGxhIGJhcnJhIGRpIHByb2dyZXNzby4gQGRlZmF1bHQgJ3N0ZXBzJyAqL1xuICBwcm9ncmVzc1N0eWxlPzogJ2xpbmVhcicgfCAnc3RlcHMnO1xuICAvKiogUGVybWV0dGUgbmF2aWdhemlvbmUgYWxsJ2luZGlldHJvLiBAZGVmYXVsdCB0cnVlICovXG4gIGFsbG93QmFja05hdmlnYXRpb24/OiBib29sZWFuO1xuICAvKiogUGVybWV0dGUgbmF2aWdhemlvbmUgaW4gYXZhbnRpIHNlbnphIHZhbGlkYXppb25lLiBAZGVmYXVsdCBmYWxzZSAqL1xuICBhbGxvd0ZvcndhcmROYXZpZ2F0aW9uPzogYm9vbGVhbjtcbiAgLyoqIFNhbHZhIGF1dG9tYXRpY2FtZW50ZSBpIGRhdGkgYWQgb2duaSBjYW1iaW8gc3RlcC4gKi9cbiAgYXV0b1NhdmU/OiBib29sZWFuO1xuICAvKiogQ2FsbGJhY2sgcGVyIGlsIHNhbHZhdGFnZ2lvIGRlaSBkYXRpIGRlbGxvIHN0ZXAuICovXG4gIG9uU3RlcFNhdmU/OiAoc3RlcERhdGE6IFJlY29yZDxzdHJpbmcsIGFueT4sIHN0ZXBOdW1iZXI6IG51bWJlcikgPT4gUHJvbWlzZTx2b2lkPiB8IHZvaWQ7XG4gIC8qKiBNb3N0cmEgcHVsc2FudGkgZGkgbmF2aWdhemlvbmUgKHByZWNlZGVudGUvc3VjY2Vzc2l2bykuIEBkZWZhdWx0IHRydWUgKi9cbiAgc2hvd05hdmlnYXRpb25CdXR0b25zPzogYm9vbGVhbjtcbiAgLyoqIExhYmVsIHBlcnNvbmFsaXp6YXRlIHBlciBpIHB1bHNhbnRpIGRlbCB3aXphcmQuICovXG4gIGJ1dHRvbkxhYmVscz86IHtcbiAgICBwcmV2aW91cz86IHN0cmluZztcbiAgICBuZXh0Pzogc3RyaW5nO1xuICAgIGZpbmlzaD86IHN0cmluZztcbiAgICBzYXZlPzogc3RyaW5nO1xuICB9O1xufVxuXG4vKipcbiAqIFN0YXRvIGNvcnJlbnRlIGRlbCB3aXphcmQsIGVzcG9zdG8gZGFsIGBXaXphcmRTeW5jU2VydmljZWAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVWlXaXphcmRTdGF0ZSB7XG4gIC8qKiBTdGVwIGNvcnJlbnRlICgwLWJhc2VkKS4gKi9cbiAgY3VycmVudFN0ZXA6IG51bWJlcjtcbiAgLyoqIE51bWVybyB0b3RhbGUgZGkgc3RlcC4gKi9cbiAgdG90YWxTdGVwczogbnVtYmVyO1xuICAvKiogSW5kaWNpIGRlZ2xpIHN0ZXAgY29tcGxldGF0aS4gKi9cbiAgY29tcGxldGVkU3RlcHM6IFNldDxudW1iZXI+O1xuICAvKiogSW5kaWNpIGRlZ2xpIHN0ZXAgdmlzaXRhdGkuICovXG4gIHZpc2l0ZWRTdGVwczogU2V0PG51bWJlcj47XG4gIC8qKiBTZSBpbCBmb3JtIG5lbGxvIHN0ZXAgY29ycmVudGUgZSB2YWxpZG8uICovXG4gIGlzVmFsaWQ6IGJvb2xlYW47XG4gIC8qKiBFcnJvcmkgcGVyIHN0ZXAuICovXG4gIHN0ZXBFcnJvcnM6IFJlY29yZDxudW1iZXIsIHN0cmluZ1tdPjtcbn1cblxuLy8g4pSA4pSA4pSAIFNjaGVtYSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLyoqXG4gKiBTY2hlbWEgY29tcGxldG8gZGVsIGZvcm0uXG4gKlxuICogUmFwcHJlc2VudGEgbGEgY29uZmlndXJhemlvbmUgZGljaGlhcmF0aXZhIGRlbGwnaW50ZXJvIGZvcm06XG4gKiBzZXppb25pLCBjYW1waSwgdmFsaWRhemlvbmksIGNvbmRpemlvbmkgZSBpbXBvc3RhemlvbmkgZ2xvYmFsaS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogZXhwb3J0IGNvbnN0IG15Rm9ybTogVWlGb3JtU2NoZW1hID0ge1xuICogICBpZDogJ3VzZXItcmVnaXN0cmF0aW9uJyxcbiAqICAgdGl0bGU6ICdSZWdpc3RyYXppb25lIHV0ZW50ZScsXG4gKiAgIHNlY3Rpb25zOiBbXG4gKiAgICAgeyBpZDogJ3BlcnNvbmFsJywgdGl0bGU6ICdEYXRpIHBlcnNvbmFsaScsIGZpZWxkczogWy4uLl0gfSxcbiAqICAgICB7IGlkOiAnYWRkcmVzcycsIHRpdGxlOiAnSW5kaXJpenpvJywgZmllbGRzOiBbLi4uXSwgY29sbGFwc2libGU6IHRydWUgfSxcbiAqICAgXSxcbiAqICAgY29uZmlnOiB7IGNvbHVtbnM6IDEyLCBzaG93QnV0dG9uczogdHJ1ZSB9LFxuICogfTtcbiAqIGBgYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVpRm9ybVNjaGVtYSB7XG4gIC8qKiBJRCB1bml2b2NvIGRlbCBmb3JtLiAqL1xuICBpZDogc3RyaW5nO1xuICAvKiogVGl0b2xvIGRlbCBmb3JtLiAqL1xuICB0aXRsZT86IHN0cmluZztcbiAgLyoqIERlc2NyaXppb25lIGRlbCBmb3JtLiAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgLyoqIFNlemlvbmkgZGVsIGZvcm0uICovXG4gIHNlY3Rpb25zOiBVaUZvcm1TZWN0aW9uW107XG4gIC8qKiBDb25maWd1cmF6aW9uZSBnbG9iYWxlLiAqL1xuICBjb25maWc/OiBVaUZvcm1CdWlsZGVyQ29uZmlnO1xufVxuXG4vLyDilIDilIDilIAgVGlwaSBkaSB1dGlsaXRhIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4vKipcbiAqIERhdGkgZGVsIGZvcm0gY29tZSBtYXBwYSBjaGlhdmUtdmFsb3JlLlxuICovXG5leHBvcnQgdHlwZSBVaUZvcm1EYXRhID0gUmVjb3JkPHN0cmluZywgYW55PjtcblxuLyoqXG4gKiBFdmVudG8gZW1lc3NvIGRhaSBjYW1waSBjdXN0b20uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVWlGb3JtQ3VzdG9tRXZlbnQge1xuICAvKiogQ2hpYXZlIGRlbCBjYW1wbyBjaGUgaGEgZW1lc3NvIGwnZXZlbnRvLiAqL1xuICBmaWVsZDogc3RyaW5nO1xuICAvKiogTm9tZSBkZWxsJ2V2ZW50by4gKi9cbiAgZXZlbnQ6IHN0cmluZztcbiAgLyoqIERhdGkgYXNzb2NpYXRpIGFsbCdldmVudG8uICovXG4gIGRhdGE6IGFueTtcbn1cblxuLyoqXG4gKiBFdmVudG8gZW1lc3NvIGFsIGNhbWJpbyBzdGVwIGRlbCB3aXphcmQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVWlXaXphcmRTdGVwQ2hhbmdlRXZlbnQge1xuICAvKiogSW5kaWNlIGRlbGxvIHN0ZXAgZGkgcGFydGVuemEuICovXG4gIGZyb206IG51bWJlcjtcbiAgLyoqIEluZGljZSBkZWxsbyBzdGVwIGRpIGRlc3RpbmF6aW9uZS4gKi9cbiAgdG86IG51bWJlcjtcbiAgLyoqIERpcmV6aW9uZSBkZWxsYSBuYXZpZ2F6aW9uZS4gKi9cbiAgZGlyZWN0aW9uOiAnbmV4dCcgfCAncHJldmlvdXMnO1xufVxuXG4vKipcbiAqIEV2ZW50byBlbWVzc28gYWwgY29tcGxldGFtZW50byBkaSB1bm8gc3RlcC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVaVdpemFyZFN0ZXBDb21wbGV0ZUV2ZW50IHtcbiAgLyoqIEluZGljZSBkZWxsbyBzdGVwIGNvbXBsZXRhdG8uICovXG4gIHN0ZXA6IG51bWJlcjtcbiAgLyoqIERhdGkgZGVsIGZvcm0gYWwgbW9tZW50byBkZWwgY29tcGxldGFtZW50by4gKi9cbiAgZGF0YTogUmVjb3JkPHN0cmluZywgYW55Pjtcbn1cbiJdfQ==
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctdWktc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWJ1aWxkZXIvdHlwZXMvc2NoZW1hLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBuZy11aS1zeXN0ZW0vZm9ybS1idWlsZGVyXG4gKiBUaXBpIHBlciBsbyBzY2hlbWEgZGVsIGZvcm0sIHNlemlvbmkgZSBjb25maWd1cmF6aW9uZS5cbiAqL1xuXG5pbXBvcnQgeyBVaUZvcm1GaWVsZERlc2NyaXB0b3IgfSBmcm9tICcuL2ZpZWxkLnR5cGVzJztcbmltcG9ydCB7IFVpRmllbGRDb25kaXRpb24gfSBmcm9tICcuL2NvbmRpdGlvbi50eXBlcyc7XG5pbXBvcnQgeyBVaUljb25OYW1lIH0gZnJvbSAnLi4vLi4vLi4vY29yZS90eXBlcyc7XG5cbi8vIOKUgOKUgOKUgCBXaXphcmQgc3RlcCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLyoqXG4gKiBDb25maWd1cmF6aW9uZSBkaSB2YWxpZGF6aW9uZSBwZXIgdW4gc2luZ29sbyBzdGVwIGRlbCB3aXphcmQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVWlXaXphcmRTdGVwVmFsaWRhdGlvbiB7XG4gIC8qKiBTZSBsbyBzdGVwIHJpY2hpZWRlIHZhbGlkYXppb25lIHByaW1hIGRpIHByb2NlZGVyZS4gQGRlZmF1bHQgdHJ1ZSAqL1xuICByZXF1aXJlZD86IGJvb2xlYW47XG4gIC8qKiBDYW1waSBzcGVjaWZpY2kgZGEgdmFsaWRhcmUgaW4gcXVlc3RvIHN0ZXAgKHNlIG9tZXNzbywgdHV0dGkgaSBjYW1waSBkZWxsbyBzdGVwKS4gKi9cbiAgdmFsaWRhdGVGaWVsZHM/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIFNlIGBmYWxzZWAsIG5lbGxhIG5hdmlnYXppb25lIHdpemFyZCBpIGNhbXBpIGB0eXBlOiAnY3VzdG9tJ2Agbm9uIGNvbmNvcnJvbm9cbiAgICogYWxsYSB2YWxpZGl0w6AgZGVsbG8gc3RlcCAoZSBpIGxvcm8gZXJyb3JpIG5vbiBibG9jY2FubyBpbCBwYXNzYWdnaW8pLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICB2YWxpZGF0ZUN1c3RvbUNvbXBvbmVudHM/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEZ1bnppb25lIGRpIHZhbGlkYXppb25lIGN1c3RvbSBwZXIgdW5vIHN0ZXAgZGVsIHdpemFyZC5cbiAqIFZpZW5lIGludm9jYXRhIHByaW1hIGRlbGxhIG5hdmlnYXppb25lIGFsbG8gc3RlcCBzdWNjZXNzaXZvLlxuICpcbiAqIEBwYXJhbSBmb3JtRGF0YSAtIERhdGkgY29ycmVudGkgZGVsIGZvcm0gY29tcGxldG8uXG4gKiBAcGFyYW0gY3VycmVudFN0ZXAgLSBJbmRpY2UgZGVsbG8gc3RlcCBjb3JyZW50ZSAoMC1iYXNlZCkuXG4gKiBAcGFyYW0gaXNWYWxpZCAtIFJpc3VsdGF0byBkZWxsYSB2YWxpZGF6aW9uZSBzdGFuZGFyZCBkZWwgZm9ybS5cbiAqIEByZXR1cm5zIGB0cnVlYCBwZXIgcGVybWV0dGVyZSBsYSBuYXZpZ2F6aW9uZSwgYGZhbHNlYCBwZXIgYmxvY2NhcmxhLlxuICovXG5leHBvcnQgdHlwZSBVaVdpemFyZFZhbGlkYXRpb25GbiA9IChcbiAgZm9ybURhdGE6IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gIGN1cnJlbnRTdGVwOiBudW1iZXIsXG4gIGlzVmFsaWQ6IGJvb2xlYW4sXG4pID0+IFByb21pc2U8Ym9vbGVhbj4gfCBib29sZWFuO1xuXG4vKipcbiAqIENvbmZpZ3VyYXppb25lIHdpemFyZCBwZXIgdW5hIHNlemlvbmUgZGVsIGZvcm0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVWlXaXphcmRTdGVwQ29uZmlnIHtcbiAgLyoqIE51bWVybyBkZWxsbyBzdGVwICgxLWJhc2VkIHBlciBVSSwgY29udmVydGl0byBhIDAtYmFzZWQgaW50ZXJuYW1lbnRlKS4gKi9cbiAgc3RlcE51bWJlcjogbnVtYmVyO1xuICAvKiogVGl0b2xvIHBlcnNvbmFsaXp6YXRvIHBlciBsbyBzdGVwLiAqL1xuICBzdGVwVGl0bGU/OiBzdHJpbmc7XG4gIC8qKiBEZXNjcml6aW9uZSBkZWxsbyBzdGVwLiAqL1xuICBzdGVwRGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIC8qKiBDb25maWd1cmF6aW9uZSBkaSB2YWxpZGF6aW9uZSBwZXIgcXVlc3RvIHN0ZXAuICovXG4gIHZhbGlkYXRpb24/OiBVaVdpemFyZFN0ZXBWYWxpZGF0aW9uO1xuICAvKiogUGVybWV0dGUgZGkgc2FsdGFyZSBxdWVzdG8gc3RlcCBzZW56YSB2YWxpZGF6aW9uZS4gKi9cbiAgYWxsb3dTa2lwPzogYm9vbGVhbjtcbiAgLyoqIE5vbWUgZGVsIG1ldG9kbyBkaSB2YWxpZGF6aW9uZSBjdXN0b20gKGRldmUgZXNzZXJlIHJlZ2lzdHJhdG8gbmVsIHdpemFyZCkuICovXG4gIGN1c3RvbVZhbGlkYXRpb25Gbj86IHN0cmluZztcbiAgLyoqIE1ldGFkYXRpIGFnZ2l1bnRpdmkgcGVyIGxvIHN0ZXAuICovXG4gIG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgYW55Pjtcbn1cblxuLy8g4pSA4pSA4pSAIFNlemlvbmUgcmlwZXRpYmlsZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLyoqXG4gKiBDb25maWd1cmF6aW9uZSBwZXIgc2V6aW9uaSByaXBldGliaWxpIChkeW5hbWljIHJlcGVhdGVyKS5cbiAqIFBlcm1ldHRlIGRpIGFnZ2l1bmdlcmUvcmltdW92ZXJlL2R1cGxpY2FyZSBOIGlzdGFuemUgZGkgdW4gYmxvY2NvXG4gKiBkaSBjYW1waSwgY29uIGlsIG1vZGVsbG8gcmVhdHRpdm8gZ2VzdGl0byB0cmFtaXRlIEZvcm1BcnJheS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgc2VjdGlvbjogVWlGb3JtU2VjdGlvbiA9IHtcbiAqICAgaWQ6ICdvYmlldHRpdmknLFxuICogICB0aXRsZTogJ09iaWV0dGl2aSBmb3JtYXRpdmknLFxuICogICByZXBlYXRhYmxlOiB7XG4gKiAgICAgbWluOiAxLFxuICogICAgIG1heDogMTAsXG4gKiAgICAgYWRkTGFiZWw6ICdBZ2dpdW5naSBvYmlldHRpdm8nLFxuICogICAgIGFkZEljb246ICdwbHVzJyxcbiAqICAgICBpbnN0YW5jZVRpdGxlOiAnT2JpZXR0aXZvIHtpbmRleH0nLFxuICogICB9LFxuICogICBmaWVsZHM6IFsgLi4uIF0sXG4gKiB9O1xuICogYGBgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVWlSZXBlYXRhYmxlQ29uZmlnIHtcbiAgLyoqXG4gICAqIE51bWVybyBtaW5pbW8gZGkgaXN0YW56ZSBvYmJsaWdhdG9yaWUuXG4gICAqIFNlIGBtaW4gPiAwYCwgYWxsYSBjcmVhemlvbmUgZGVsIGZvcm0gdmVuZ29ubyBwcmUtY3JlYXRlIGFsbWVubyBgbWluYCBpc3RhbnplXG4gICAqICh2dW90ZSBvIGRhIGBpbml0aWFsRGF0YVtzZWN0aW9uSWRdYCkuIFNlIG9tZXNzbywgdmFsZSBgMWAuXG4gICAqIENvbiBgbWluOiAwYCBub24gc2kgYWdnaXVuZ29ubyByaWdoZSBvbHRyZSBhIHF1ZWxsZSBnacOgIHByZXNlbnRpIGluIGBpbml0aWFsRGF0YWAuXG4gICAqL1xuICBtaW4/OiBudW1iZXI7XG4gIC8qKiBOdW1lcm8gbWFzc2ltbyBkaSBpc3RhbnplICh1bmRlZmluZWQgPSBpbGxpbWl0YXRvKS4gKi9cbiAgbWF4PzogbnVtYmVyO1xuICAvKiogTGFiZWwgcGVyIGlsIHB1bHNhbnRlIFwiQWdnaXVuZ2lcIi4gQGRlZmF1bHQgJysgQWdnaXVuZ2knICovXG4gIGFkZExhYmVsPzogc3RyaW5nO1xuICAvKiogSWNvbmEgTHVjaWRlIHBlciBpbCBwdWxzYW50ZSBcIkFnZ2l1bmdpXCIuIEBkZWZhdWx0ICdwbHVzJyAqL1xuICBhZGRJY29uPzogVWlJY29uTmFtZTtcbiAgLyoqIFRlbXBsYXRlIHBlciBpbCB0aXRvbG8gZGkgb2duaSBpc3RhbnphLiBge2luZGV4fWAgdmllbmUgc29zdGl0dWl0byBjb24gbCdpbmRpY2UgMS1iYXNlZC4gKi9cbiAgaW5zdGFuY2VUaXRsZT86IHN0cmluZztcbiAgLyoqIFNlIHJpY2hpZWRlcmUgY29uZmVybWEgcHJpbWEgZGVsbGEgcmltb3ppb25lLiBAZGVmYXVsdCBmYWxzZSAqL1xuICBjb25maXJtUmVtb3ZlPzogYm9vbGVhbjtcbiAgLyoqIE1lc3NhZ2dpbyBkaSBjb25mZXJtYSByaW1vemlvbmUuIEBkZWZhdWx0ICdTZWkgc2ljdXJvIGRpIHZvbGVyIHJpbXVvdmVyZSBxdWVzdGEgc2V6aW9uZT8nICovXG4gIGNvbmZpcm1NZXNzYWdlPzogc3RyaW5nO1xufVxuXG4vLyDilIDilIDilIAgU2V6aW9uZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLyoqXG4gKiBTZXppb25lIGRlbCBmb3JtIGNoZSByYWdncnVwcGEgY2FtcGkgY29ycmVsYXRpLlxuICogU3VwcG9ydGEgY29sbGFwc2liaWxpdGEgKGFjY29yZGlvbiksIGNvbmRpemlvbmkgZGkgdmlzaWJpbGl0YSxcbiAqIGNvbmZpZ3VyYXppb25lIHdpemFyZCBvcHppb25hbGUgZSByaXBldGliaWxpdGEgZGluYW1pY2EuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHNlY3Rpb246IFVpRm9ybVNlY3Rpb24gPSB7XG4gKiAgIGlkOiAnYW5hZ3JhZmljYScsXG4gKiAgIHRpdGxlOiAnRGF0aSBhbmFncmFmaWNpJyxcbiAqICAgZGVzY3JpcHRpb246ICdJbmZvcm1hemlvbmkgcGVyc29uYWxpIGRlbCBjYW5kaWRhdG8nLFxuICogICBjb2xsYXBzaWJsZTogdHJ1ZSxcbiAqICAgZmllbGRzOiBbIC4uLiBdLFxuICogfTtcbiAqIGBgYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVpRm9ybVNlY3Rpb24ge1xuICAvKiogSUQgdW5pdm9jbyBkZWxsYSBzZXppb25lLiAqL1xuICBpZDogc3RyaW5nO1xuICAvKiogVGl0b2xvIGRlbGxhIHNlemlvbmUuICovXG4gIHRpdGxlPzogc3RyaW5nO1xuICAvKiogRGVzY3JpemlvbmUgZGVsbGEgc2V6aW9uZS4gKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIC8qKiBJY29uYSBMdWNpZGUgb3B6aW9uYWxlIHBlciBsYSBzZXppb25lICh2aXNpYmlsZSBpbiBtb2RhbGl0w6AgY29sbGFwc2libGUpLiBAc2VlIGh0dHBzOi8vbHVjaWRlLmRldi9pY29ucyAqL1xuICBpY29uPzogVWlJY29uTmFtZTtcbiAgLyoqIENhbXBpIGNvbnRlbnV0aSBuZWxsYSBzZXppb25lLiAqL1xuICBmaWVsZHM6IFVpRm9ybUZpZWxkRGVzY3JpcHRvcltdO1xuICAvKiogQ29uZGl6aW9uaSBwZXIgbGEgdmlzaWJpbGl0YSBkZWxsYSBzZXppb25lLiAqL1xuICBjb25kaXRpb25zPzogVWlGaWVsZENvbmRpdGlvbltdO1xuICAvKiogU2UgbGEgc2V6aW9uZSBlIGNvbGxhc3NhYmlsZSAoYWNjb3JkaW9uKS4gKi9cbiAgY29sbGFwc2libGU/OiBib29sZWFuO1xuICAvKiogU2UgbGEgc2V6aW9uZSBlIGluaXppYWxtZW50ZSBjb2xsYXNzYXRhLiBAZGVmYXVsdCBmYWxzZSAqL1xuICBjb2xsYXBzZWQ/OiBib29sZWFuO1xuICAvKiogQ2xhc3NpIENTUyBhZ2dpdW50aXZlIHBlciBsYSBzZXppb25lLiAqL1xuICBjc3NDbGFzc2VzPzogc3RyaW5nW107XG4gIC8qKlxuICAgKiBDb25maWd1cmF6aW9uZSB3aXphcmQgcGVyIHF1ZXN0YSBzZXppb25lLlxuICAgKiBQacO5IHNlemlvbmkgcG9zc29ubyBjb25kaXZpZGVyZSBsbyBzdGVzc28gYHdpemFyZFN0ZXAuc3RlcE51bWJlcmA6IGZvcm1hbm8gdW4gdW5pY29cbiAgICogcGFzc28gZGVsIHdpemFyZCAoZXMuIHBpw7kgYmxvY2NoaSBgY29sbGFwc2libGVgIG5lbGxvIHN0ZXNzbyBzdGVwKS4gVGl0b2xvLCBkZXNjcml6aW9uZVxuICAgKiBlIHZhbGlkYXppb25lIGRlbCBwYXNzbyBzaSBpbnRlbmRvbm8gZGFsbGEgKipwcmltYSoqIHNlemlvbmUgZGVsIGdydXBwbyBpbiBvcmRpbmUgZGkgc2NoZW1hLlxuICAgKiBMZSBjaGlhdmkgZGVpIGNhbXBpIGRldm9ubyByZXN0YXJlIHVuaXZvY2hlIHRyYSB0dXR0ZSBsZSBzZXppb25pIGRlbGxvIHN0ZXNzbyBzY2hlbWEgd2l6YXJkLlxuICAgKi9cbiAgd2l6YXJkU3RlcD86IFVpV2l6YXJkU3RlcENvbmZpZztcbiAgLyoqIENvbmZpZ3VyYXppb25lIHBlciBzZXppb25lIHJpcGV0aWJpbGUuIFNlIGRlZmluaXRvLCBsYSBzZXppb25lIGRpdmVudGEgdW4gZHluYW1pYyByZXBlYXRlci4gKi9cbiAgcmVwZWF0YWJsZT86IFVpUmVwZWF0YWJsZUNvbmZpZztcbn1cblxuLy8g4pSA4pSA4pSAIENvbmZpZ3VyYXppb25lIGZvcm0g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi8qKlxuICogQ29uZmlndXJhemlvbmUgZ2xvYmFsZSBkZWwgZm9ybSBidWlsZGVyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVpRm9ybUJ1aWxkZXJDb25maWcge1xuICAvKiogTGF5b3V0IGRlbCBmb3JtLiBAZGVmYXVsdCAnZ3JpZCcgKi9cbiAgbGF5b3V0PzogJ3ZlcnRpY2FsJyB8ICdob3Jpem9udGFsJyB8ICdncmlkJztcbiAgLyoqIE51bWVybyBkaSBjb2xvbm5lIG5lbCBncmlkLiBAZGVmYXVsdCAxMiAqL1xuICBjb2x1bW5zPzogbnVtYmVyO1xuICAvKiogTW9zdHJhIGkgcHVsc2FudGkgZGkgYXppb25lIChzdWJtaXQvcmVzZXQpLiBAZGVmYXVsdCB0cnVlICovXG4gIHNob3dCdXR0b25zPzogYm9vbGVhbjtcbiAgLyoqIE5hc2NvbmRlIHNvbG8gbCdhcmVhIHB1bHNhbnRpIGRlbCBmb290ZXIgKGB1aS1idXR0b24tYXJlYWApLCBub24gaWwgc3VtbWFyeSBlcnJvcmkuICovXG4gIGhpZGVGb290ZXI/OiBib29sZWFuO1xuICAvKipcbiAgICogTmFzY29uZGUgZGVsIHR1dHRvIGlsIGJsb2NjbyBgdWktZm9ybS1lcnJvci1zdW1tYXJ5YC5cbiAgICogU2UgYXNzZW50ZS9mYWxzeSBpbCBzdW1tYXJ5IMOoIHZpc2liaWxlIGFuY2hlIHNlbnphIGVycm9yaSAoc3RhdG8gb2sgcHJldmVkaWJpbGUpLlxuICAgKi9cbiAgaGlkZUVycm9yU3VtbWFyeT86IGJvb2xlYW47XG4gIC8qKiBNZXNzYWdnaW8gbmVsIHN1bW1hcnkgcXVhbmRvIGlsIGZvcm0gbm9uIGhhIGVycm9yaSAoc3RhdG8gb2spLiAqL1xuICBlcnJvclN1bW1hcnlWYWxpZE1lc3NhZ2U/OiBzdHJpbmc7XG4gIC8qKiBMYWJlbCBwZXJzb25hbGl6emF0ZSBwZXIgaSBwdWxzYW50aS4gKi9cbiAgYnV0dG9uTGFiZWxzPzoge1xuICAgIHN1Ym1pdD86IHN0cmluZztcbiAgICByZXNldD86IHN0cmluZztcbiAgICBjYW5jZWw/OiBzdHJpbmc7XG4gIH07XG4gIC8qKiBDbGFzc2kgQ1NTIGdsb2JhbGkgc3VsIGNvbnRhaW5lciBkZWwgZm9ybS4gKi9cbiAgY3NzQ2xhc3Nlcz86IHN0cmluZ1tdO1xufVxuXG4vLyDilIDilIDilIAgQ29uZmlndXJhemlvbmUgd2l6YXJkIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4vKipcbiAqIENvbmZpZ3VyYXppb25lIHBlciBsYSBtb2RhbGl0YSB3aXphcmQgZGVsIGZvcm0uXG4gKiBVc2F0YSBkYWwgY29tcG9uZW50ZSBgVWlGb3JtV2l6YXJkQ29tcG9uZW50YC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgd2l6YXJkQ29uZmlnOiBVaVdpemFyZENvbmZpZyA9IHtcbiAqICAgc2hvd1Byb2dyZXNzOiB0cnVlLFxuICogICBwcm9ncmVzc1N0eWxlOiAnc3RlcHMnLFxuICogICBhbGxvd0JhY2tOYXZpZ2F0aW9uOiB0cnVlLFxuICogICBidXR0b25MYWJlbHM6IHsgc3VibWl0OiAnU2FsdmEgZSBwcm9zZWd1aScsIHByZXZpb3VzOiAnSW5kaWV0cm8nLCBmaW5pc2g6ICdDb21wbGV0YScgfSxcbiAqIH07XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVaVdpemFyZENvbmZpZyB7XG4gIC8qKiBJRCBwZXIgc2luY3Jvbml6emF6aW9uZSB3aXJlbGVzcyB0cmEgaXN0YW56ZS4gKi9cbiAgd2l6YXJkSWQ/OiBzdHJpbmc7XG4gIC8qKiBOYXNjb25kZSBsJ2hlYWRlciBpbnRlcm5vIGRlbCB3aXphcmQgcGVyIGNvbnNlbnRpcmUgdW4gaGVhZGVyIGVzdGVybm8uICovXG4gIHdpcmVsZXNzSGVhZGluZz86IGJvb2xlYW47XG4gIC8qKiBNb3N0cmEgbGEgYmFycmEgZGkgcHJvZ3Jlc3NvLiBAZGVmYXVsdCB0cnVlICovXG4gIHNob3dQcm9ncmVzcz86IGJvb2xlYW47XG4gIC8qKiBTdGlsZSBkZWxsYSBiYXJyYSBkaSBwcm9ncmVzc28uIEBkZWZhdWx0ICdzdGVwcycgKi9cbiAgcHJvZ3Jlc3NTdHlsZT86ICdsaW5lYXInIHwgJ3N0ZXBzJztcbiAgLyoqIFBlcm1ldHRlIG5hdmlnYXppb25lIGFsbCdpbmRpZXRyby4gQGRlZmF1bHQgdHJ1ZSAqL1xuICBhbGxvd0JhY2tOYXZpZ2F0aW9uPzogYm9vbGVhbjtcbiAgLyoqIFBlcm1ldHRlIG5hdmlnYXppb25lIGluIGF2YW50aSBzZW56YSB2YWxpZGF6aW9uZS4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgYWxsb3dGb3J3YXJkTmF2aWdhdGlvbj86IGJvb2xlYW47XG4gIC8qKiBTYWx2YSBhdXRvbWF0aWNhbWVudGUgaSBkYXRpIGFkIG9nbmkgY2FtYmlvIHN0ZXAuICovXG4gIGF1dG9TYXZlPzogYm9vbGVhbjtcbiAgLyoqIENhbGxiYWNrIHBlciBpbCBzYWx2YXRhZ2dpbyBkZWkgZGF0aSBkZWxsbyBzdGVwLiAqL1xuICBvblN0ZXBTYXZlPzogKHN0ZXBEYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBzdGVwTnVtYmVyOiBudW1iZXIpID0+IFByb21pc2U8dm9pZD4gfCB2b2lkO1xuICAvKiogTW9zdHJhIHB1bHNhbnRpIGRpIG5hdmlnYXppb25lIChwcmVjZWRlbnRlL3N1Y2Nlc3Npdm8pLiBAZGVmYXVsdCB0cnVlICovXG4gIHNob3dOYXZpZ2F0aW9uQnV0dG9ucz86IGJvb2xlYW47XG4gIC8qKiBQb3NpemlvbmUgZGVpIHB1bHNhbnRpIGRpIG5hdmlnYXppb25lLiBAZGVmYXVsdCAnYm90dG9tJyAqL1xuICBuYXZpZ2F0aW9uUG9zaXRpb24/OiAndG9wJyB8ICdib3R0b20nIHwgJ2JvdGgnO1xuICAvKipcbiAgICogQ29uc2VudGUgZGkgc2FsdGFyZSBhIHVubyBzdGVwIGdpw6AgY29tcGxldGF0byBjbGljY2FuZG8gYnVsbGV0IG8gdGl0b2xvIHN0ZXBcbiAgICogcXVhbmRvIGBwcm9ncmVzc1N0eWxlYCDDqCBgJ3N0ZXBzJ2AuIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIGFsbG93U3RlcEluZGljYXRvck5hdmlnYXRpb24/OiBib29sZWFuO1xuICAvKiogTGFiZWwgcGVyc29uYWxpenphdGUgcGVyIGkgcHVsc2FudGkgZGVsIHdpemFyZC4gKi9cbiAgYnV0dG9uTGFiZWxzPzoge1xuICAgIHByZXZpb3VzPzogc3RyaW5nO1xuICAgIC8qKiBMYWJlbCBwdWxzYW50ZSBhdmFudGk7IHNlIGFzc2VudGUgc2kgdXNhIGBzdWJtaXRgLiAqL1xuICAgIG5leHQ/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogQWxpYXMgZGkgY29udmVuaWVuemEgKGNvbWUgYHN1Ym1pdGAgc3VsIGZvcm0gYnVpbGRlcikgcGVyIGlsIHB1bHNhbnRlIMKrYXZhbnRpwrsgLyBzYWx2YSBlIHByb3NlZ3VpLlxuICAgICAqIFVzYXRvIHNvbG8gc2UgYG5leHRgIG5vbiDDqCB2YWxvcml6emF0by5cbiAgICAgKi9cbiAgICBzdWJtaXQ/OiBzdHJpbmc7XG4gICAgZmluaXNoPzogc3RyaW5nO1xuICAgIHNhdmU/OiBzdHJpbmc7XG4gIH07XG59XG5cbi8qKlxuICogU3RhdG8gY29ycmVudGUgZGVsIHdpemFyZCwgZXNwb3N0byBkYWwgYFdpemFyZFN5bmNTZXJ2aWNlYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVaVdpemFyZFN0YXRlIHtcbiAgLyoqIFN0ZXAgY29ycmVudGUgKDAtYmFzZWQpLiAqL1xuICBjdXJyZW50U3RlcDogbnVtYmVyO1xuICAvKiogTnVtZXJvIHRvdGFsZSBkaSBzdGVwLiAqL1xuICB0b3RhbFN0ZXBzOiBudW1iZXI7XG4gIC8qKiBJbmRpY2kgZGVnbGkgc3RlcCBjb21wbGV0YXRpLiAqL1xuICBjb21wbGV0ZWRTdGVwczogU2V0PG51bWJlcj47XG4gIC8qKiBJbmRpY2kgZGVnbGkgc3RlcCB2aXNpdGF0aS4gKi9cbiAgdmlzaXRlZFN0ZXBzOiBTZXQ8bnVtYmVyPjtcbiAgLyoqIFNlIGlsIGZvcm0gbmVsbG8gc3RlcCBjb3JyZW50ZSBlIHZhbGlkby4gKi9cbiAgaXNWYWxpZDogYm9vbGVhbjtcbiAgLyoqIEVycm9yaSBwZXIgc3RlcC4gKi9cbiAgc3RlcEVycm9yczogUmVjb3JkPG51bWJlciwgc3RyaW5nW10+O1xufVxuXG4vLyDilIDilIDilIAgU2NoZW1hIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4vKipcbiAqIFNjaGVtYSBjb21wbGV0byBkZWwgZm9ybS5cbiAqXG4gKiBSYXBwcmVzZW50YSBsYSBjb25maWd1cmF6aW9uZSBkaWNoaWFyYXRpdmEgZGVsbCdpbnRlcm8gZm9ybTpcbiAqIHNlemlvbmksIGNhbXBpLCB2YWxpZGF6aW9uaSwgY29uZGl6aW9uaSBlIGltcG9zdGF6aW9uaSBnbG9iYWxpLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBleHBvcnQgY29uc3QgbXlGb3JtOiBVaUZvcm1TY2hlbWEgPSB7XG4gKiAgIGlkOiAndXNlci1yZWdpc3RyYXRpb24nLFxuICogICB0aXRsZTogJ1JlZ2lzdHJhemlvbmUgdXRlbnRlJyxcbiAqICAgc2VjdGlvbnM6IFtcbiAqICAgICB7IGlkOiAncGVyc29uYWwnLCB0aXRsZTogJ0RhdGkgcGVyc29uYWxpJywgZmllbGRzOiBbLi4uXSB9LFxuICogICAgIHsgaWQ6ICdhZGRyZXNzJywgdGl0bGU6ICdJbmRpcml6em8nLCBmaWVsZHM6IFsuLi5dLCBjb2xsYXBzaWJsZTogdHJ1ZSB9LFxuICogICBdLFxuICogICBjb25maWc6IHsgY29sdW1uczogMTIsIHNob3dCdXR0b25zOiB0cnVlIH0sXG4gKiB9O1xuICogYGBgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVWlGb3JtU2NoZW1hIHtcbiAgLyoqIElEIHVuaXZvY28gZGVsIGZvcm0uICovXG4gIGlkOiBzdHJpbmc7XG4gIC8qKiBUaXRvbG8gZGVsIGZvcm0uICovXG4gIHRpdGxlPzogc3RyaW5nO1xuICAvKiogRGVzY3JpemlvbmUgZGVsIGZvcm0uICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAvKiogU2V6aW9uaSBkZWwgZm9ybS4gKi9cbiAgc2VjdGlvbnM6IFVpRm9ybVNlY3Rpb25bXTtcbiAgLyoqIENvbmZpZ3VyYXppb25lIGdsb2JhbGUuICovXG4gIGNvbmZpZz86IFVpRm9ybUJ1aWxkZXJDb25maWc7XG59XG5cbi8vIOKUgOKUgOKUgCBUaXBpIGRpIHV0aWxpdGEg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi8qKlxuICogRGF0aSBkZWwgZm9ybSBjb21lIG1hcHBhIGNoaWF2ZS12YWxvcmUuXG4gKi9cbmV4cG9ydCB0eXBlIFVpRm9ybURhdGEgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG4vKipcbiAqIEV2ZW50byBlbWVzc28gZGFpIGNhbXBpIGN1c3RvbS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVaUZvcm1DdXN0b21FdmVudCB7XG4gIC8qKiBDaGlhdmUgZGVsIGNhbXBvIGNoZSBoYSBlbWVzc28gbCdldmVudG8uICovXG4gIGZpZWxkOiBzdHJpbmc7XG4gIC8qKiBOb21lIGRlbGwnZXZlbnRvLiAqL1xuICBldmVudDogc3RyaW5nO1xuICAvKiogRGF0aSBhc3NvY2lhdGkgYWxsJ2V2ZW50by4gKi9cbiAgZGF0YTogYW55O1xufVxuXG4vKipcbiAqIEV2ZW50byBlbWVzc28gYWwgY2FtYmlvIHN0ZXAgZGVsIHdpemFyZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVaVdpemFyZFN0ZXBDaGFuZ2VFdmVudCB7XG4gIC8qKiBJbmRpY2UgZGVsbG8gc3RlcCBkaSBwYXJ0ZW56YS4gKi9cbiAgZnJvbTogbnVtYmVyO1xuICAvKiogSW5kaWNlIGRlbGxvIHN0ZXAgZGkgZGVzdGluYXppb25lLiAqL1xuICB0bzogbnVtYmVyO1xuICAvKiogRGlyZXppb25lIGRlbGxhIG5hdmlnYXppb25lLiAqL1xuICBkaXJlY3Rpb246ICduZXh0JyB8ICdwcmV2aW91cyc7XG59XG5cbi8qKlxuICogRXZlbnRvIGVtZXNzbyBhbCBjb21wbGV0YW1lbnRvIGRpIHVubyBzdGVwLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVpV2l6YXJkU3RlcENvbXBsZXRlRXZlbnQge1xuICAvKiogSW5kaWNlIGRlbGxvIHN0ZXAgY29tcGxldGF0by4gKi9cbiAgc3RlcDogbnVtYmVyO1xuICAvKiogRGF0aSBkZWwgZm9ybSBhbCBtb21lbnRvIGRlbCBjb21wbGV0YW1lbnRvLiAqL1xuICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufVxuIl19
|
|
@@ -2,5 +2,9 @@
|
|
|
2
2
|
* @module ng-ui-system/form-builder
|
|
3
3
|
* Tipi relativi alla validazione dei campi.
|
|
4
4
|
*/
|
|
5
|
-
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLXVpLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1idWlsZGVyL3R5cGVzL3ZhbGlkYXRpb24udHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBtb2R1bGUgbmctdWktc3lzdGVtL2Zvcm0tYnVpbGRlclxyXG4gKiBUaXBpIHJlbGF0aXZpIGFsbGEgdmFsaWRhemlvbmUgZGVpIGNhbXBpLlxyXG4gKi9cclxuXHJcbmltcG9ydCB7IFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBVaUZpZWxkQ29uZGl0aW9uIH0gZnJvbSAnLi9jb25kaXRpb24udHlwZXMnO1xyXG5cclxuLy8g4pSA4pSA4pSAIE9wZXJhdG9yaSBjcm9zcy1maWVsZCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHJcbi8qKlxyXG4gKiBPcGVyYXRvcmkgZGkgY29uZnJvbnRvIHBlciB2YWxpZGF6aW9uaSBjcm9zcy1maWVsZC5cclxuICovXHJcbmV4cG9ydCB0eXBlIFVpQ3Jvc3NGaWVsZE9wZXJhdG9yID0gJ2dyZWF0ZXJfdGhhbicgfCAnZ3JlYXRlcl9lcXVhbCcgfCAnbGVzc190aGFuJyB8ICdsZXNzX2VxdWFsJyB8ICdub3RfZXF1YWwnO1xyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYXppb25lIHBlciB2YWxpZGF6aW9uZSBjcm9zcy1maWVsZC5cclxuICogQ29uZnJvbnRhIGlsIHZhbG9yZSBkZWwgY2FtcG8gY29ycmVudGUgY29uIHF1ZWxsbyBkaSB1biBhbHRybyBjYW1wby5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiAvLyBMYSBkYXRhIGRpIGZpbmUgZGV2ZSBlc3NlcmUgc3VjY2Vzc2l2YSBhbGxhIGRhdGEgZGkgaW5pemlvXHJcbiAqIGNyb3NzRmllbGQ6IHtcclxuICogICB0YXJnZXRGaWVsZDogJ2RhdGEtaW5pemlvJyxcclxuICogICBvcGVyYXRvcjogJ2dyZWF0ZXJfdGhhbicsXHJcbiAqICAgZGF0YVR5cGU6ICdkYXRlJyxcclxuICogfVxyXG4gKiBgYGBcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgVWlDcm9zc0ZpZWxkQ29uZmlnIHtcclxuICAvKiogQ2hpYXZlIGRlbCBjYW1wbyBkaSBjb25mcm9udG8uICovXHJcbiAgdGFyZ2V0RmllbGQ6IHN0cmluZztcclxuICAvKiogT3BlcmF0b3JlIGRpIGNvbmZyb250by4gKi9cclxuICBvcGVyYXRvcjogVWlDcm9zc0ZpZWxkT3BlcmF0b3I7XHJcbiAgLyoqIFRpcG8gZGkgZGF0byBwZXIgaWwgY29uZnJvbnRvLiAqL1xyXG4gIGRhdGFUeXBlOiAnZGF0ZScgfCAnbnVtYmVyJztcclxuICAvKiogUGVyIGxlIGRhdGUsIHNwZWNpZmljYSBzZSBpbCBmb3JtYXRvIGUgTU0vWVlZWS4gKi9cclxuICBpc01vbnRoWWVhcj86IGJvb2xlYW47XHJcbn1cclxuXHJcbi8vIOKUgOKUgOKUgCBWYWxpZGF6aW9uZSBkYXRlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cclxuLyoqXHJcbiAqIEtleXdvcmQgcHJlZGVmaW5pdGUgcGVyIGRhdGUgZGkgcmlmZXJpbWVudG8uXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBVaURhdGVLZXl3b3JkID0gJ3RvZGF5JyB8ICd0b21vcnJvdycgfCAneWVzdGVyZGF5JztcclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF6aW9uZSBwZXIgdmFsaWRhemlvbmUgZGF0ZS1taW4gLyBkYXRlLW1heC5cclxuICogUGVybWV0dGUgZGkgdmFsaWRhcmUgY2hlIHVuYSBkYXRhIHNpYSBwcmVjZWRlbnRlIG8gc3VjY2Vzc2l2YVxyXG4gKiBhIHVuIHZhbG9yZSBkaSByaWZlcmltZW50bywgY29uIHN1cHBvcnRvIHBlciBvZmZzZXQgdGVtcG9yYWxpLlxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIC8vIERhdGEgZGV2ZSBlc3NlcmUgPj0gb2dnaVxyXG4gKiB7IHR5cGU6ICdkYXRlLW1pbicsIHZhbHVlOiAndG9kYXknLCBtZXNzYWdlOiAnTGEgZGF0YSBkZXZlIGVzc2VyZSBmdXR1cmEnIH1cclxuICpcclxuICogLy8gRGF0YSBkZXZlIGVzc2VyZSA8PSBvZ2dpICsgMSBhbm5vXHJcbiAqIHsgdHlwZTogJ2RhdGUtbWF4JywgdmFsdWU6ICd0b2RheScsIG9mZnNldDogJzF5JywgbWVzc2FnZTogJ01heCAxIGFubm8gZGEgb2dnaScgfVxyXG4gKlxyXG4gKiAvLyBEYXRhIGRldmUgZXNzZXJlID49IHVuYSBkYXRhIHNwZWNpZmljYVxyXG4gKiB7IHR5cGU6ICdkYXRlLW1pbicsIHZhbHVlOiAnMDEvMDEvMjAyNCcsIG1lc3NhZ2U6ICdBbG1lbm8gZGFsIDIwMjQnIH1cclxuICogYGBgXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFVpRGF0ZVZhbGlkYXRpb25Db25maWcge1xyXG4gIC8qKlxyXG4gICAqIERhdGEgZGkgcmlmZXJpbWVudG8uXHJcbiAgICogUHVvIGVzc2VyZSB1bmEga2V5d29yZCAoYCd0b2RheSdgLCBgJ3RvbW9ycm93J2AsIGAneWVzdGVyZGF5J2ApXHJcbiAgICogbyB1bmEgZGF0YSBuZWwgZm9ybWF0byBgREQvTU0vWVlZWWAuXHJcbiAgICovXHJcbiAgdmFsdWU6IHN0cmluZyB8IFVpRGF0ZUtleXdvcmQ7XHJcbiAgLyoqXHJcbiAgICogT2Zmc2V0IGRhIGFwcGxpY2FyZSBhbGxhIGRhdGEgZGkgcmlmZXJpbWVudG8uXHJcbiAgICpcclxuICAgKiBGb3JtYXRvOiBgbnVtZXJvICsgdW5pdGFgXHJcbiAgICogLSBgJ3knYCBvIGAnYSdgIHBlciBhbm5pIChlcy4gYCcxeSdgLCBgJzJhJ2ApXHJcbiAgICogLSBgJ20nYCBwZXIgbWVzaSAoZXMuIGAnNm0nYCwgYCcxMm0nYClcclxuICAgKiAtIGAnZydgIG8gYCdkJ2AgcGVyIGdpb3JuaSAoZXMuIGAnMzBnJ2AsIGAnN2QnYClcclxuICAgKiAtIGAndydgIHBlciBzZXR0aW1hbmUgKGVzLiBgJzJ3J2ApXHJcbiAgICovXHJcbiAgb2Zmc2V0Pzogc3RyaW5nO1xyXG59XHJcblxyXG4vLyDilIDilIDilIAgVGlwaSBkaSB2YWxpZGF6aW9uZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHJcbi8qKlxyXG4gKiBUaXBpIGRpIHZhbGlkYXppb25lIHN1cHBvcnRhdGkgZGFsIGZvcm0gYnVpbGRlci5cclxuICpcclxuICogfCBUaXBvICAgICAgICAgfCBWYWxvcmUgYXR0ZXNvICAgICAgfCBEZXNjcml6aW9uZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4gKiB8LS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXxcclxuICogfCBgcmVxdWlyZWRgICB8IOKAlCAgICAgICAgICAgICAgICAgIHwgQ2FtcG8gb2JibGlnYXRvcmlvICAgICAgICAgICAgICAgICAgICAgIHxcclxuICogfCBgZW1haWxgICAgICB8IOKAlCAgICAgICAgICAgICAgICAgIHwgRm9ybWF0byBlbWFpbCB2YWxpZG8gICAgICAgICAgICAgICAgICAgIHxcclxuICogfCBgbWluYCAgICAgICB8IGBudW1iZXJgICAgICAgICAgICB8IFZhbG9yZSBudW1lcmljbyBtaW5pbW8gICAgICAgICAgICAgICAgICB8XHJcbiAqIHwgYG1heGAgICAgICAgfCBgbnVtYmVyYCAgICAgICAgICAgfCBWYWxvcmUgbnVtZXJpY28gbWFzc2ltbyAgICAgICAgICAgICAgICAgfFxyXG4gKiB8IGBtaW5MZW5ndGhgIHwgYG51bWJlcmAgICAgICAgICAgIHwgTHVuZ2hlenphIG1pbmltYSBzdHJpbmdhICAgICAgICAgICAgICAgIHxcclxuICogfCBgbWF4TGVuZ3RoYCB8IGBudW1iZXJgICAgICAgICAgICB8IEx1bmdoZXp6YSBtYXNzaW1hIHN0cmluZ2EgICAgICAgICAgICAgICB8XHJcbiAqIHwgYHBhdHRlcm5gICAgfCBgc3RyaW5nYCAocmVnZXgpICAgfCBQYXR0ZXJuIHJlZ2V4IGRhIHJpc3BldHRhcmUgICAgICAgICAgICAgfFxyXG4gKiB8IGBjdXN0b21gICAgIHwgYFZhbGlkYXRvckZuYCAgICAgIHwgVmFsaWRhdG9yZSBBbmd1bGFyIGN1c3RvbSAgICAgICAgICAgICAgIHxcclxuICogfCBgY3Jvc3NGaWVsZGB8IGBDcm9zc0ZpZWxkQ29uZmlnYCB8IENvbmZyb250byBjb24gdW4gYWx0cm8gY2FtcG8gICAgICAgICAgICB8XHJcbiAqIHwgYGRhdGUtbWluYCAgfCBgc3RyaW5nYCAgICAgICAgICAgfCBEYXRhIG1pbmltYSAoa2V5d29yZCBvIEREL01NL1lZWVkpICAgICAgfFxyXG4gKiB8IGBkYXRlLW1heGAgIHwgYHN0cmluZ2AgICAgICAgICAgIHwgRGF0YSBtYXNzaW1hIChrZXl3b3JkIG8gREQvTU0vWVlZWSkgICAgIHxcclxuICogfCBgZmlsZVNpemVgICB8IGBudW1iZXJgIChieXRlcykgICB8IERpbWVuc2lvbmUgbWFzc2ltYSBmaWxlICAgICAgICAgICAgICAgICB8XHJcbiAqIHwgYGZpbGVUeXBlYCAgfCBgc3RyaW5nW11gIChNSU1FKSAgfCBUaXBpIGZpbGUgYWNjZXR0YXRpICAgICAgICAgICAgICAgICAgICAgfFxyXG4gKiB8IGBmaWxlQ291bnRgIHwgYG51bWJlcmAgICAgICAgICAgIHwgTnVtZXJvIG1hc3NpbW8gZmlsZSAgICAgICAgICAgICAgICAgICAgIHxcclxuICovXHJcbmV4cG9ydCB0eXBlIFVpVmFsaWRhdGlvblR5cGUgPVxyXG4gIHwgJ3JlcXVpcmVkJ1xyXG4gIHwgJ2VtYWlsJ1xyXG4gIHwgJ21pbidcclxuICB8ICdtYXgnXHJcbiAgfCAnbWluTGVuZ3RoJ1xyXG4gIHwgJ21heExlbmd0aCdcclxuICB8ICdwYXR0ZXJuJ1xyXG4gIHwgJ2N1c3RvbSdcclxuICB8ICdjcm9zc0ZpZWxkJ1xyXG4gIHwgJ2RhdGUtbWluJ1xyXG4gIHwgJ2RhdGUtbWF4J1xyXG4gIHwgJ2ZpbGVTaXplJ1xyXG4gIHwgJ2ZpbGVUeXBlJ1xyXG4gIHwgJ2ZpbGVDb3VudCc7XHJcblxyXG4vLyDilIDilIDilIAgUmVnb2xhIGRpIHZhbGlkYXppb25lIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cclxuLyoqXHJcbiAqIFJlZ29sYSBkaSB2YWxpZGF6aW9uZSBwZXIgdW4gY2FtcG8gZGVsIGZvcm0uXHJcbiAqXHJcbiAqIFN1cHBvcnRhIHZhbGlkYXppb25pIHN0YW5kYXJkLCBjcm9zcy1maWVsZCwgZGF0ZSBjb24gb2Zmc2V0LFxyXG4gKiBmaWxlIGUgdmFsaWRhdG9yaSBjdXN0b20gQW5ndWxhci4gT2duaSByZWdvbGEgcHVvIGF2ZXJlXHJcbiAqIGNvbmRpemlvbmkgY2hlIG5lIGNvbnRyb2xsYW5vIGwnYXBwbGljYXppb25lLlxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIC8vIFZhbGlkYXppb25lIHJlcXVpcmVkIGNvbmRpemlvbmFsZVxyXG4gKiB7XHJcbiAqICAgdHlwZTogJ3JlcXVpcmVkJyxcclxuICogICBtZXNzYWdlOiAnQ2FtcG8gb2JibGlnYXRvcmlvIHNlIGF0dGl2bycsXHJcbiAqICAgY29uZGl0aW9uczogW3sgZmllbGQ6ICdpcy1hY3RpdmUnLCBvcGVyYXRvcjogJ2VxdWFscycsIHZhbHVlOiB0cnVlIH1dLFxyXG4gKiB9XHJcbiAqXHJcbiAqIC8vIFZhbGlkYXppb25lIGNyb3NzLWZpZWxkXHJcbiAqIHtcclxuICogICB0eXBlOiAnY3Jvc3NGaWVsZCcsXHJcbiAqICAgY3Jvc3NGaWVsZDoge1xyXG4gKiAgICAgdGFyZ2V0RmllbGQ6ICdldGEtbWluaW1hJyxcclxuICogICAgIG9wZXJhdG9yOiAnZ3JlYXRlcl90aGFuJyxcclxuICogICAgIGRhdGFUeXBlOiAnbnVtYmVyJyxcclxuICogICB9LFxyXG4gKiAgIG1lc3NhZ2U6IFwiTCdldGEgbWFzc2ltYSBkZXZlIGVzc2VyZSBtYWdnaW9yZSBkZWxsJ2V0YSBtaW5pbWFcIixcclxuICogfVxyXG4gKiBgYGBcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgVWlWYWxpZGF0aW9uUnVsZSB7XHJcbiAgLyoqIFRpcG8gZGkgdmFsaWRhemlvbmUuICovXHJcbiAgdHlwZTogVWlWYWxpZGF0aW9uVHlwZTtcclxuICAvKipcclxuICAgKiBWYWxvcmUgcGVyIGxhIHZhbGlkYXppb25lLlxyXG4gICAqIC0gUGVyIGBtaW5gL2BtYXhgOiB2YWxvcmUgbnVtZXJpY29cclxuICAgKiAtIFBlciBgbWluTGVuZ3RoYC9gbWF4TGVuZ3RoYDogbHVuZ2hlenphXHJcbiAgICogLSBQZXIgYHBhdHRlcm5gOiBzdHJpbmdhIHJlZ2V4XHJcbiAgICogLSBQZXIgYGRhdGUtbWluYC9gZGF0ZS1tYXhgOiBrZXl3b3JkIG8gZGF0YSBgREQvTU0vWVlZWWBcclxuICAgKiAtIFBlciBgZmlsZVNpemVgOiBkaW1lbnNpb25lIGluIGJ5dGVzXHJcbiAgICogLSBQZXIgYGZpbGVUeXBlYDogYXJyYXkgZGkgTUlNRSB0eXBlc1xyXG4gICAqIC0gUGVyIGBmaWxlQ291bnRgOiBudW1lcm8gbWFzc2ltbyBmaWxlXHJcbiAgICovXHJcbiAgdmFsdWU/OiBhbnk7XHJcbiAgLyoqXHJcbiAgICogT2Zmc2V0IHRlbXBvcmFsZSBwZXIgYGRhdGUtbWluYC9gZGF0ZS1tYXhgLlxyXG4gICAqIEBzZWUgVWlEYXRlVmFsaWRhdGlvbkNvbmZpZy5vZmZzZXRcclxuICAgKi9cclxuICBvZmZzZXQ/OiBzdHJpbmc7XHJcbiAgLyoqIENvbmZpZ3VyYXppb25lIHBlciB2YWxpZGF6aW9uZSBjcm9zcy1maWVsZC4gKi9cclxuICBjcm9zc0ZpZWxkPzogVWlDcm9zc0ZpZWxkQ29uZmlnO1xyXG4gIC8qKiBNZXNzYWdnaW8gZGkgZXJyb3JlIHBlcnNvbmFsaXp6YXRvLiAqL1xyXG4gIG1lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgLyoqIEZ1bnppb25lIHZhbGlkYXRvcmUgQW5ndWxhciBjdXN0b20gKHBlciBgdHlwZTogJ2N1c3RvbSdgKS4gKi9cclxuICB2YWxpZGF0b3I/OiBWYWxpZGF0b3JGbjtcclxuICAvKiogQ29uZGl6aW9uaSBwZXIgYXBwbGljYXJlIHF1ZXN0YSByZWdvbGEgKHZhbGlkYXppb25lIGNvbmRpemlvbmFsZSkuICovXHJcbiAgY29uZGl0aW9ucz86IFVpRmllbGRDb25kaXRpb25bXTtcclxufVxyXG5cclxuLy8g4pSA4pSA4pSAIFN0YXRvIGRpIHZhbGlkYXppb25lIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cclxuLyoqXHJcbiAqIFN0YXRvIGRpIHZhbGlkYXppb25lIGNvbXBsZXNzaXZvIGRlbCBmb3JtLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBVaUZvcm1WYWxpZGF0aW9uU3RhdGUge1xyXG4gIC8qKiBTZSBpbCBmb3JtIGUgdmFsaWRvLiAqL1xyXG4gIHZhbGlkOiBib29sZWFuO1xyXG4gIC8qKiBNYXBwYSBlcnJvcmkgcGVyIGNoaWF2ZSBjYW1wby4gKi9cclxuICBlcnJvcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPjtcclxuICAvKiogQ2hpYXZpIGRlaSBjYW1waSBtb2RpZmljYXRpLiAqL1xyXG4gIGRpcnR5OiBzdHJpbmdbXTtcclxuICAvKiogQ2hpYXZpIGRlaSBjYW1waSB0b2NjYXRpLiAqL1xyXG4gIHRvdWNoZWQ6IHN0cmluZ1tdO1xyXG59XHJcblxyXG4vKipcclxuICogRGV0dGFnbGlvIGRpIHVuIGVycm9yZSBwZXIgbCdlcnJvciBzdW1tYXJ5LlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBVaUZvcm1FcnJvckRldGFpbCB7XHJcbiAgLyoqIENoaWF2ZSBkZWwgY2FtcG8gaW4gZXJyb3JlLiAqL1xyXG4gIGZpZWxkS2V5OiBzdHJpbmc7XHJcbiAgLyoqIExhYmVsIGRlbCBjYW1wbyBwZXIgdmlzdWFsaXp6YXppb25lLiAqL1xyXG4gIGZpZWxkTGFiZWw6IHN0cmluZztcclxuICAvKiogTGlzdGEgbWVzc2FnZ2kgZGkgZXJyb3JlLiAqL1xyXG4gIGVycm9yczogc3RyaW5nW107XHJcbn1cclxuIl19
|
|
5
|
+
/**
|
|
6
|
+
* Chiave `ValidationErrors` usata dai CVA custom per esporre errori granulari
|
|
7
|
+
* sui campi interni (atomici) verso l'error-summary del form-builder.
|
|
8
|
+
*/
|
|
9
|
+
export const UI_FORM_NESTED_FIELD_ERRORS_KEY = 'uiNestedFieldErrors';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLXVpLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1idWlsZGVyL3R5cGVzL3ZhbGlkYXRpb24udHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBaU1IOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBtb2R1bGUgbmctdWktc3lzdGVtL2Zvcm0tYnVpbGRlclxyXG4gKiBUaXBpIHJlbGF0aXZpIGFsbGEgdmFsaWRhemlvbmUgZGVpIGNhbXBpLlxyXG4gKi9cclxuXHJcbmltcG9ydCB7IFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBVaUZpZWxkQ29uZGl0aW9uIH0gZnJvbSAnLi9jb25kaXRpb24udHlwZXMnO1xyXG5cclxuLy8g4pSA4pSA4pSAIE9wZXJhdG9yaSBjcm9zcy1maWVsZCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHJcbi8qKlxyXG4gKiBPcGVyYXRvcmkgZGkgY29uZnJvbnRvIHBlciB2YWxpZGF6aW9uaSBjcm9zcy1maWVsZC5cclxuICovXHJcbmV4cG9ydCB0eXBlIFVpQ3Jvc3NGaWVsZE9wZXJhdG9yID0gJ2dyZWF0ZXJfdGhhbicgfCAnZ3JlYXRlcl9lcXVhbCcgfCAnbGVzc190aGFuJyB8ICdsZXNzX2VxdWFsJyB8ICdub3RfZXF1YWwnO1xyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYXppb25lIHBlciB2YWxpZGF6aW9uZSBjcm9zcy1maWVsZC5cclxuICogQ29uZnJvbnRhIGlsIHZhbG9yZSBkZWwgY2FtcG8gY29ycmVudGUgY29uIHF1ZWxsbyBkaSB1biBhbHRybyBjYW1wby5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiAvLyBMYSBkYXRhIGRpIGZpbmUgZGV2ZSBlc3NlcmUgc3VjY2Vzc2l2YSBhbGxhIGRhdGEgZGkgaW5pemlvXHJcbiAqIGNyb3NzRmllbGQ6IHtcclxuICogICB0YXJnZXRGaWVsZDogJ2RhdGEtaW5pemlvJyxcclxuICogICBvcGVyYXRvcjogJ2dyZWF0ZXJfdGhhbicsXHJcbiAqICAgZGF0YVR5cGU6ICdkYXRlJyxcclxuICogfVxyXG4gKiBgYGBcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgVWlDcm9zc0ZpZWxkQ29uZmlnIHtcclxuICAvKiogQ2hpYXZlIGRlbCBjYW1wbyBkaSBjb25mcm9udG8uICovXHJcbiAgdGFyZ2V0RmllbGQ6IHN0cmluZztcclxuICAvKiogT3BlcmF0b3JlIGRpIGNvbmZyb250by4gKi9cclxuICBvcGVyYXRvcjogVWlDcm9zc0ZpZWxkT3BlcmF0b3I7XHJcbiAgLyoqIFRpcG8gZGkgZGF0byBwZXIgaWwgY29uZnJvbnRvLiAqL1xyXG4gIGRhdGFUeXBlOiAnZGF0ZScgfCAnbnVtYmVyJztcclxuICAvKiogUGVyIGxlIGRhdGUsIHNwZWNpZmljYSBzZSBpbCBmb3JtYXRvIGUgTU0vWVlZWS4gKi9cclxuICBpc01vbnRoWWVhcj86IGJvb2xlYW47XHJcbn1cclxuXHJcbi8vIOKUgOKUgOKUgCBWYWxpZGF6aW9uZSBkYXRlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cclxuLyoqXHJcbiAqIEtleXdvcmQgcHJlZGVmaW5pdGUgcGVyIGRhdGUgZGkgcmlmZXJpbWVudG8uXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBVaURhdGVLZXl3b3JkID0gJ3RvZGF5JyB8ICd0b21vcnJvdycgfCAneWVzdGVyZGF5JztcclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF6aW9uZSBwZXIgdmFsaWRhemlvbmUgZGF0ZS1taW4gLyBkYXRlLW1heC5cclxuICogUGVybWV0dGUgZGkgdmFsaWRhcmUgY2hlIHVuYSBkYXRhIHNpYSBwcmVjZWRlbnRlIG8gc3VjY2Vzc2l2YVxyXG4gKiBhIHVuIHZhbG9yZSBkaSByaWZlcmltZW50bywgY29uIHN1cHBvcnRvIHBlciBvZmZzZXQgdGVtcG9yYWxpLlxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIC8vIERhdGEgZGV2ZSBlc3NlcmUgPj0gb2dnaVxyXG4gKiB7IHR5cGU6ICdkYXRlLW1pbicsIHZhbHVlOiAndG9kYXknLCBtZXNzYWdlOiAnTGEgZGF0YSBkZXZlIGVzc2VyZSBmdXR1cmEnIH1cclxuICpcclxuICogLy8gRGF0YSBkZXZlIGVzc2VyZSA8PSBvZ2dpICsgMSBhbm5vXHJcbiAqIHsgdHlwZTogJ2RhdGUtbWF4JywgdmFsdWU6ICd0b2RheScsIG9mZnNldDogJzF5JywgbWVzc2FnZTogJ01heCAxIGFubm8gZGEgb2dnaScgfVxyXG4gKlxyXG4gKiAvLyBEYXRhIGRldmUgZXNzZXJlID49IHVuYSBkYXRhIHNwZWNpZmljYVxyXG4gKiB7IHR5cGU6ICdkYXRlLW1pbicsIHZhbHVlOiAnMDEvMDEvMjAyNCcsIG1lc3NhZ2U6ICdBbG1lbm8gZGFsIDIwMjQnIH1cclxuICogYGBgXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFVpRGF0ZVZhbGlkYXRpb25Db25maWcge1xyXG4gIC8qKlxyXG4gICAqIERhdGEgZGkgcmlmZXJpbWVudG8uXHJcbiAgICogUHVvIGVzc2VyZSB1bmEga2V5d29yZCAoYCd0b2RheSdgLCBgJ3RvbW9ycm93J2AsIGAneWVzdGVyZGF5J2ApXHJcbiAgICogbyB1bmEgZGF0YSBuZWwgZm9ybWF0byBgREQvTU0vWVlZWWAuXHJcbiAgICovXHJcbiAgdmFsdWU6IHN0cmluZyB8IFVpRGF0ZUtleXdvcmQ7XHJcbiAgLyoqXHJcbiAgICogT2Zmc2V0IGRhIGFwcGxpY2FyZSBhbGxhIGRhdGEgZGkgcmlmZXJpbWVudG8uXHJcbiAgICpcclxuICAgKiBGb3JtYXRvOiBgbnVtZXJvICsgdW5pdGFgXHJcbiAgICogLSBgJ3knYCBvIGAnYSdgIHBlciBhbm5pIChlcy4gYCcxeSdgLCBgJzJhJ2ApXHJcbiAgICogLSBgJ20nYCBwZXIgbWVzaSAoZXMuIGAnNm0nYCwgYCcxMm0nYClcclxuICAgKiAtIGAnZydgIG8gYCdkJ2AgcGVyIGdpb3JuaSAoZXMuIGAnMzBnJ2AsIGAnN2QnYClcclxuICAgKiAtIGAndydgIHBlciBzZXR0aW1hbmUgKGVzLiBgJzJ3J2ApXHJcbiAgICovXHJcbiAgb2Zmc2V0Pzogc3RyaW5nO1xyXG59XHJcblxyXG4vLyDilIDilIDilIAgVGlwaSBkaSB2YWxpZGF6aW9uZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHJcbi8qKlxyXG4gKiBUaXBpIGRpIHZhbGlkYXppb25lIHN1cHBvcnRhdGkgZGFsIGZvcm0gYnVpbGRlci5cclxuICpcclxuICogfCBUaXBvICAgICAgICAgfCBWYWxvcmUgYXR0ZXNvICAgICAgfCBEZXNjcml6aW9uZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4gKiB8LS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXxcclxuICogfCBgcmVxdWlyZWRgICB8IOKAlCAgICAgICAgICAgICAgICAgIHwgQ2FtcG8gb2JibGlnYXRvcmlvICAgICAgICAgICAgICAgICAgICAgIHxcclxuICogfCBgZW1haWxgICAgICB8IOKAlCAgICAgICAgICAgICAgICAgIHwgRm9ybWF0byBlbWFpbCB2YWxpZG8gICAgICAgICAgICAgICAgICAgIHxcclxuICogfCBgbWluYCAgICAgICB8IGBudW1iZXJgICAgICAgICAgICB8IFZhbG9yZSBudW1lcmljbyBtaW5pbW8gICAgICAgICAgICAgICAgICB8XHJcbiAqIHwgYG1heGAgICAgICAgfCBgbnVtYmVyYCAgICAgICAgICAgfCBWYWxvcmUgbnVtZXJpY28gbWFzc2ltbyAgICAgICAgICAgICAgICAgfFxyXG4gKiB8IGBtaW5MZW5ndGhgIHwgYG51bWJlcmAgICAgICAgICAgIHwgTHVuZ2hlenphIG1pbmltYSBzdHJpbmdhICAgICAgICAgICAgICAgIHxcclxuICogfCBgbWF4TGVuZ3RoYCB8IGBudW1iZXJgICAgICAgICAgICB8IEx1bmdoZXp6YSBtYXNzaW1hIHN0cmluZ2EgICAgICAgICAgICAgICB8XHJcbiAqIHwgYHBhdHRlcm5gICAgfCBgc3RyaW5nYCAocmVnZXgpICAgfCBQYXR0ZXJuIHJlZ2V4IGRhIHJpc3BldHRhcmUgICAgICAgICAgICAgfFxyXG4gKiB8IGBjdXN0b21gICAgIHwgYFZhbGlkYXRvckZuYCAgICAgIHwgVmFsaWRhdG9yZSBBbmd1bGFyIGN1c3RvbSAgICAgICAgICAgICAgIHxcclxuICogfCBgY3Jvc3NGaWVsZGB8IGBDcm9zc0ZpZWxkQ29uZmlnYCB8IENvbmZyb250byBjb24gdW4gYWx0cm8gY2FtcG8gICAgICAgICAgICB8XHJcbiAqIHwgYGRhdGUtbWluYCAgfCBgc3RyaW5nYCAgICAgICAgICAgfCBEYXRhIG1pbmltYSAoa2V5d29yZCBvIEREL01NL1lZWVkpICAgICAgfFxyXG4gKiB8IGBkYXRlLW1heGAgIHwgYHN0cmluZ2AgICAgICAgICAgIHwgRGF0YSBtYXNzaW1hIChrZXl3b3JkIG8gREQvTU0vWVlZWSkgICAgIHxcclxuICogfCBgZmlsZVNpemVgICB8IGBudW1iZXJgIChieXRlcykgICB8IERpbWVuc2lvbmUgbWFzc2ltYSBmaWxlICAgICAgICAgICAgICAgICB8XHJcbiAqIHwgYGZpbGVUeXBlYCAgfCBgc3RyaW5nW11gIChNSU1FKSAgfCBUaXBpIGZpbGUgYWNjZXR0YXRpICAgICAgICAgICAgICAgICAgICAgfFxyXG4gKiB8IGBmaWxlQ291bnRgIHwgYG51bWJlcmAgICAgICAgICAgIHwgTnVtZXJvIG1hc3NpbW8gZmlsZSAgICAgICAgICAgICAgICAgICAgIHxcclxuICovXHJcbmV4cG9ydCB0eXBlIFVpVmFsaWRhdGlvblR5cGUgPVxyXG4gIHwgJ3JlcXVpcmVkJ1xyXG4gIHwgJ2VtYWlsJ1xyXG4gIHwgJ21pbidcclxuICB8ICdtYXgnXHJcbiAgfCAnbWluTGVuZ3RoJ1xyXG4gIHwgJ21heExlbmd0aCdcclxuICB8ICdwYXR0ZXJuJ1xyXG4gIHwgJ2N1c3RvbSdcclxuICB8ICdjcm9zc0ZpZWxkJ1xyXG4gIHwgJ2RhdGUtbWluJ1xyXG4gIHwgJ2RhdGUtbWF4J1xyXG4gIHwgJ2ZpbGVTaXplJ1xyXG4gIHwgJ2ZpbGVUeXBlJ1xyXG4gIHwgJ2ZpbGVDb3VudCc7XHJcblxyXG4vLyDilIDilIDilIAgUmVnb2xhIGRpIHZhbGlkYXppb25lIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cclxuLyoqXHJcbiAqIFJlZ29sYSBkaSB2YWxpZGF6aW9uZSBwZXIgdW4gY2FtcG8gZGVsIGZvcm0uXHJcbiAqXHJcbiAqIFN1cHBvcnRhIHZhbGlkYXppb25pIHN0YW5kYXJkLCBjcm9zcy1maWVsZCwgZGF0ZSBjb24gb2Zmc2V0LFxyXG4gKiBmaWxlIGUgdmFsaWRhdG9yaSBjdXN0b20gQW5ndWxhci4gT2duaSByZWdvbGEgcHVvIGF2ZXJlXHJcbiAqIGNvbmRpemlvbmkgY2hlIG5lIGNvbnRyb2xsYW5vIGwnYXBwbGljYXppb25lLlxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIC8vIFZhbGlkYXppb25lIHJlcXVpcmVkIGNvbmRpemlvbmFsZVxyXG4gKiB7XHJcbiAqICAgdHlwZTogJ3JlcXVpcmVkJyxcclxuICogICBtZXNzYWdlOiAnQ2FtcG8gb2JibGlnYXRvcmlvIHNlIGF0dGl2bycsXHJcbiAqICAgY29uZGl0aW9uczogW3sgZmllbGQ6ICdpcy1hY3RpdmUnLCBvcGVyYXRvcjogJ2VxdWFscycsIHZhbHVlOiB0cnVlIH1dLFxyXG4gKiB9XHJcbiAqXHJcbiAqIC8vIFZhbGlkYXppb25lIGNyb3NzLWZpZWxkXHJcbiAqIHtcclxuICogICB0eXBlOiAnY3Jvc3NGaWVsZCcsXHJcbiAqICAgY3Jvc3NGaWVsZDoge1xyXG4gKiAgICAgdGFyZ2V0RmllbGQ6ICdldGEtbWluaW1hJyxcclxuICogICAgIG9wZXJhdG9yOiAnZ3JlYXRlcl90aGFuJyxcclxuICogICAgIGRhdGFUeXBlOiAnbnVtYmVyJyxcclxuICogICB9LFxyXG4gKiAgIG1lc3NhZ2U6IFwiTCdldGEgbWFzc2ltYSBkZXZlIGVzc2VyZSBtYWdnaW9yZSBkZWxsJ2V0YSBtaW5pbWFcIixcclxuICogfVxyXG4gKiBgYGBcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgVWlWYWxpZGF0aW9uUnVsZSB7XHJcbiAgLyoqIFRpcG8gZGkgdmFsaWRhemlvbmUuICovXHJcbiAgdHlwZTogVWlWYWxpZGF0aW9uVHlwZTtcclxuICAvKipcclxuICAgKiBWYWxvcmUgcGVyIGxhIHZhbGlkYXppb25lLlxyXG4gICAqIC0gUGVyIGBtaW5gL2BtYXhgOiB2YWxvcmUgbnVtZXJpY29cclxuICAgKiAtIFBlciBgbWluTGVuZ3RoYC9gbWF4TGVuZ3RoYDogbHVuZ2hlenphXHJcbiAgICogLSBQZXIgYHBhdHRlcm5gOiBzdHJpbmdhIHJlZ2V4XHJcbiAgICogLSBQZXIgYGRhdGUtbWluYC9gZGF0ZS1tYXhgOiBrZXl3b3JkIG8gZGF0YSBgREQvTU0vWVlZWWBcclxuICAgKiAtIFBlciBgZmlsZVNpemVgOiBkaW1lbnNpb25lIGluIGJ5dGVzXHJcbiAgICogLSBQZXIgYGZpbGVUeXBlYDogYXJyYXkgZGkgTUlNRSB0eXBlc1xyXG4gICAqIC0gUGVyIGBmaWxlQ291bnRgOiBudW1lcm8gbWFzc2ltbyBmaWxlXHJcbiAgICovXHJcbiAgdmFsdWU/OiBhbnk7XHJcbiAgLyoqXHJcbiAgICogT2Zmc2V0IHRlbXBvcmFsZSBwZXIgYGRhdGUtbWluYC9gZGF0ZS1tYXhgLlxyXG4gICAqIEBzZWUgVWlEYXRlVmFsaWRhdGlvbkNvbmZpZy5vZmZzZXRcclxuICAgKi9cclxuICBvZmZzZXQ/OiBzdHJpbmc7XHJcbiAgLyoqIENvbmZpZ3VyYXppb25lIHBlciB2YWxpZGF6aW9uZSBjcm9zcy1maWVsZC4gKi9cclxuICBjcm9zc0ZpZWxkPzogVWlDcm9zc0ZpZWxkQ29uZmlnO1xyXG4gIC8qKiBNZXNzYWdnaW8gZGkgZXJyb3JlIHBlcnNvbmFsaXp6YXRvLiAqL1xyXG4gIG1lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgLyoqIEZ1bnppb25lIHZhbGlkYXRvcmUgQW5ndWxhciBjdXN0b20gKHBlciBgdHlwZTogJ2N1c3RvbSdgKS4gKi9cclxuICB2YWxpZGF0b3I/OiBWYWxpZGF0b3JGbjtcclxuICAvKiogQ29uZGl6aW9uaSBwZXIgYXBwbGljYXJlIHF1ZXN0YSByZWdvbGEgKHZhbGlkYXppb25lIGNvbmRpemlvbmFsZSkuICovXHJcbiAgY29uZGl0aW9ucz86IFVpRmllbGRDb25kaXRpb25bXTtcclxufVxyXG5cclxuLy8g4pSA4pSA4pSAIFN0YXRvIGRpIHZhbGlkYXppb25lIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cclxuLyoqXHJcbiAqIFN0YXRvIGRpIHZhbGlkYXppb25lIGNvbXBsZXNzaXZvIGRlbCBmb3JtLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBVaUZvcm1WYWxpZGF0aW9uU3RhdGUge1xyXG4gIC8qKiBTZSBpbCBmb3JtIGUgdmFsaWRvLiAqL1xyXG4gIHZhbGlkOiBib29sZWFuO1xyXG4gIC8qKiBNYXBwYSBlcnJvcmkgcGVyIGNoaWF2ZSBjYW1wby4gKi9cclxuICBlcnJvcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPjtcclxuICAvKiogQ2hpYXZpIGRlaSBjYW1waSBtb2RpZmljYXRpLiAqL1xyXG4gIGRpcnR5OiBzdHJpbmdbXTtcclxuICAvKiogQ2hpYXZpIGRlaSBjYW1waSB0b2NjYXRpLiAqL1xyXG4gIHRvdWNoZWQ6IHN0cmluZ1tdO1xyXG59XHJcblxyXG4vKipcclxuICogQ2hpYXZlIGBWYWxpZGF0aW9uRXJyb3JzYCB1c2F0YSBkYWkgQ1ZBIGN1c3RvbSBwZXIgZXNwb3JyZSBlcnJvcmkgZ3JhbnVsYXJpXHJcbiAqIHN1aSBjYW1waSBpbnRlcm5pIChhdG9taWNpKSB2ZXJzbyBsJ2Vycm9yLXN1bW1hcnkgZGVsIGZvcm0tYnVpbGRlci5cclxuICovXHJcbmV4cG9ydCBjb25zdCBVSV9GT1JNX05FU1RFRF9GSUVMRF9FUlJPUlNfS0VZID0gJ3VpTmVzdGVkRmllbGRFcnJvcnMnO1xyXG5cclxuLyoqXHJcbiAqIERldHRhZ2xpbyBkaSB1biBlcnJvcmUgcGVyIGwnZXJyb3Igc3VtbWFyeS5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgVWlGb3JtRXJyb3JEZXRhaWwge1xyXG4gIC8qKiBDaGlhdmUgZGVsIGNhbXBvIGluIGVycm9yZS4gKi9cclxuICBmaWVsZEtleTogc3RyaW5nO1xyXG4gIC8qKiBMYWJlbCBkZWwgY2FtcG8gcGVyIHZpc3VhbGl6emF6aW9uZS4gKi9cclxuICBmaWVsZExhYmVsOiBzdHJpbmc7XHJcbiAgLyoqIExpc3RhIG1lc3NhZ2dpIGRpIGVycm9yZS4gKi9cclxuICBlcnJvcnM6IHN0cmluZ1tdO1xyXG59XHJcbiJdfQ==
|
|
@@ -574,7 +574,7 @@ export class UiFormBuilderEditorComponent {
|
|
|
574
574
|
</mat-tab>
|
|
575
575
|
</mat-tab-group>
|
|
576
576
|
</div>
|
|
577
|
-
`, isInline: true, styles: ["@use \"
|
|
577
|
+
`, isInline: true, styles: ["@use \"../../core/tokens/mixins\" as ui;.editor-root{display:flex;flex-direction:column;height:100vh;background:var(--ui-color-bg-subtle);&.dialog-mode{height:100%}}.editor-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:var(--ui-spacing-3) var(--ui-spacing-4);background:var(--ui-color-surface);border-bottom:1px solid var(--ui-color-border);box-shadow:var(--ui-shadow-sm);h2{margin:0;font-size:var(--ui-font-size-lg);font-weight:500;color:var(--ui-color-text)}}.editor-tabs{flex:1;display:flex;flex-direction:column;overflow:hidden;::ng-deep .mat-mdc-tab-header{background:var(--ui-color-surface);border-bottom:1px solid var(--ui-color-border)}::ng-deep .mat-mdc-tab .mdc-tab__text-label{color:var(--ui-color-text-secondary);font-weight:500;font-size:var(--ui-font-size-sm);letter-spacing:.02em}::ng-deep .mat-mdc-tab.mdc-tab--active .mdc-tab__text-label{color:var(--ui-color-primary);font-weight:600}::ng-deep .mat-mdc-tab-header .mdc-tab-indicator__content--underline{border-color:var(--ui-color-primary);border-width:3px}::ng-deep .mat-mdc-tab-body-wrapper{flex:1;overflow:hidden}::ng-deep .mat-mdc-tab-body{height:100%}::ng-deep .mat-mdc-tab-body-content{height:100%;overflow:hidden}}.editor-layout{display:flex;height:100%;overflow:hidden}.editor-sidebar{height:100%;overflow-y:auto;background:var(--ui-color-surface);flex-shrink:0;&.left{position:relative;border-right:1px solid var(--ui-color-border);min-width:200px;max-width:500px}&.right{position:relative;border-left:1px solid var(--ui-color-border);min-width:400px;max-width:1200px}}.editor-main{flex:1;min-width:0;height:100%;overflow-y:auto;padding:var(--ui-spacing-4);background:var(--ui-color-bg-subtle)}.sections-container{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:var(--ui-spacing-4)}.resize-handle{position:absolute;top:0;bottom:0;width:6px;cursor:ew-resize;z-index:10;transition:background-color var(--ui-transition-fast);left:0;&:before{content:\"\";position:absolute;left:-3px;top:0;bottom:0;width:12px}&:hover,&.resizing{background-color:color-mix(in srgb,var(--ui-color-primary) 30%,transparent)}&.resizing{background-color:color-mix(in srgb,var(--ui-color-primary) 50%,transparent)}}.resize-handle--right{left:auto;right:0;&:before{left:auto;right:-3px}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--ui-spacing-12) var(--ui-spacing-8);text-align:center;color:var(--ui-color-text-muted);lucide-icon{opacity:.4}h3{margin:0 0 var(--ui-spacing-2) 0;font-size:var(--ui-font-size-xl);font-weight:400;color:var(--ui-color-text-secondary)}p{margin:0 0 var(--ui-spacing-6) 0;font-size:var(--ui-font-size-md);color:var(--ui-color-text-muted)}}@media (max-width: 1280px){.editor-sidebar.left{width:250px}}@media (max-width: 960px){.editor-layout{flex-direction:column}.editor-sidebar{&.left{display:none}&.right{position:fixed;right:0;top:64px;width:100%!important;max-width:350px;height:calc(100vh - 64px);z-index:1000;box-shadow:var(--ui-shadow-lg);transform:translate(100%);transition:transform var(--ui-transition-normal);.resize-handle{display:none}}}}\n"], dependencies: [{ kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i2.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "ngmodule", type: MatSnackBarModule }, { kind: "ngmodule", type: MatTabsModule }, { kind: "component", type: i3.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i3.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "ngmodule", type: LucideAngularModule }, { kind: "component", type: i4.LucideAngularComponent, selector: "lucide-angular, lucide-icon, i-lucide, span-lucide", inputs: ["class", "name", "img", "color", "absoluteStrokeWidth", "size", "strokeWidth"] }, { kind: "component", type: UiEditorToolbarComponent, selector: "ui-editor-toolbar", inputs: ["breadcrumb", "isDirty", "lastSaved"], outputs: ["newForm", "importJson", "exportJson", "save", "clear", "addSection"] }, { kind: "component", type: UiFieldPaletteComponent, selector: "ui-field-palette" }, { kind: "component", type: UiSectionEditorComponent, selector: "ui-section-editor", inputs: ["section", "isSelected", "selectedFieldKey"], outputs: ["sectionUpdate", "sectionDelete", "sectionDuplicate", "fieldSelect", "fieldDuplicate", "fieldDelete", "fieldDrop"] }, { kind: "component", type: UiEditorFieldConfigPanelComponent, selector: "ui-editor-field-config-panel", inputs: ["field", "availableFields"], outputs: ["fieldUpdate"] }, { kind: "component", type: UiEditorPreviewContainerComponent, selector: "ui-editor-preview-container", inputs: ["schema", "key"], outputs: ["refresh"] }, { kind: "component", type: UiButtonComponent, selector: "ui-button", inputs: ["label", "tooltip", "variant", "size", "icon", "iconPosition", "loading", "disabled", "fullWidth", "type", "ariaLabel", "customClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
578
578
|
}
|
|
579
579
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiFormBuilderEditorComponent, decorators: [{
|
|
580
580
|
type: Component,
|
|
@@ -718,7 +718,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
718
718
|
</mat-tab>
|
|
719
719
|
</mat-tab-group>
|
|
720
720
|
</div>
|
|
721
|
-
`, styles: ["@use \"
|
|
721
|
+
`, styles: ["@use \"../../core/tokens/mixins\" as ui;.editor-root{display:flex;flex-direction:column;height:100vh;background:var(--ui-color-bg-subtle);&.dialog-mode{height:100%}}.editor-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:var(--ui-spacing-3) var(--ui-spacing-4);background:var(--ui-color-surface);border-bottom:1px solid var(--ui-color-border);box-shadow:var(--ui-shadow-sm);h2{margin:0;font-size:var(--ui-font-size-lg);font-weight:500;color:var(--ui-color-text)}}.editor-tabs{flex:1;display:flex;flex-direction:column;overflow:hidden;::ng-deep .mat-mdc-tab-header{background:var(--ui-color-surface);border-bottom:1px solid var(--ui-color-border)}::ng-deep .mat-mdc-tab .mdc-tab__text-label{color:var(--ui-color-text-secondary);font-weight:500;font-size:var(--ui-font-size-sm);letter-spacing:.02em}::ng-deep .mat-mdc-tab.mdc-tab--active .mdc-tab__text-label{color:var(--ui-color-primary);font-weight:600}::ng-deep .mat-mdc-tab-header .mdc-tab-indicator__content--underline{border-color:var(--ui-color-primary);border-width:3px}::ng-deep .mat-mdc-tab-body-wrapper{flex:1;overflow:hidden}::ng-deep .mat-mdc-tab-body{height:100%}::ng-deep .mat-mdc-tab-body-content{height:100%;overflow:hidden}}.editor-layout{display:flex;height:100%;overflow:hidden}.editor-sidebar{height:100%;overflow-y:auto;background:var(--ui-color-surface);flex-shrink:0;&.left{position:relative;border-right:1px solid var(--ui-color-border);min-width:200px;max-width:500px}&.right{position:relative;border-left:1px solid var(--ui-color-border);min-width:400px;max-width:1200px}}.editor-main{flex:1;min-width:0;height:100%;overflow-y:auto;padding:var(--ui-spacing-4);background:var(--ui-color-bg-subtle)}.sections-container{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:var(--ui-spacing-4)}.resize-handle{position:absolute;top:0;bottom:0;width:6px;cursor:ew-resize;z-index:10;transition:background-color var(--ui-transition-fast);left:0;&:before{content:\"\";position:absolute;left:-3px;top:0;bottom:0;width:12px}&:hover,&.resizing{background-color:color-mix(in srgb,var(--ui-color-primary) 30%,transparent)}&.resizing{background-color:color-mix(in srgb,var(--ui-color-primary) 50%,transparent)}}.resize-handle--right{left:auto;right:0;&:before{left:auto;right:-3px}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--ui-spacing-12) var(--ui-spacing-8);text-align:center;color:var(--ui-color-text-muted);lucide-icon{opacity:.4}h3{margin:0 0 var(--ui-spacing-2) 0;font-size:var(--ui-font-size-xl);font-weight:400;color:var(--ui-color-text-secondary)}p{margin:0 0 var(--ui-spacing-6) 0;font-size:var(--ui-font-size-md);color:var(--ui-color-text-muted)}}@media (max-width: 1280px){.editor-sidebar.left{width:250px}}@media (max-width: 960px){.editor-layout{flex-direction:column}.editor-sidebar{&.left{display:none}&.right{position:fixed;right:0;top:64px;width:100%!important;max-width:350px;height:calc(100vh - 64px);z-index:1000;box-shadow:var(--ui-shadow-lg);transform:translate(100%);transition:transform var(--ui-transition-normal);.resize-handle{display:none}}}}\n"] }]
|
|
722
722
|
}], ctorParameters: () => [{ type: i1.MatDialogRef, decorators: [{
|
|
723
723
|
type: Optional
|
|
724
724
|
}] }, { type: undefined, decorators: [{
|
|
@@ -727,4 +727,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
727
727
|
type: Inject,
|
|
728
728
|
args: [MAT_DIALOG_DATA]
|
|
729
729
|
}] }] });
|
|
730
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1idWlsZGVyLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy11aS1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tYnVpbGRlci1lZGl0b3IvZm9ybS1idWlsZGVyLWVkaXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFFSCxPQUFPLEVBQ0wsU0FBUyxFQUNULHVCQUF1QixFQUN2QixpQkFBaUIsRUFHakIsTUFBTSxFQUNOLFFBQVEsRUFDUixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFlLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JFLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFZM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdkUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDbkYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFL0UsbUJBQW1CO0FBQ25CLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdEQUF3RCxD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UUFBUTs7MEJBQUksTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBtb2R1bGUgbmctdWktc3lzdGVtL2Zvcm0tYnVpbGRlci1lZGl0b3JcclxuICogQ29tcG9uZW50ZSBwcmluY2lwYWxlIGRlbGwnZWRpdG9yIHZpc3VhbGUgZGVsIGZvcm0gYnVpbGRlci5cclxuICpcclxuICogTGF5b3V0IGEgdHJlIHBhbm5lbGxpOlxyXG4gKiAtIFNpbmlzdHJhOiBwYWxldHRlIGRlaSB0aXBpIGRpIGNhbXBvIChkcmFnIHNvdXJjZSlcclxuICogLSBDZW50cm86IHNlemlvbmkgY29uIGNhbXBpIChkcm9wIHRhcmdldCArIGVkaXRvciBpbmxpbmUpXHJcbiAqIC0gRGVzdHJhOiBwYW5uZWxsbyBkaSBjb25maWd1cmF6aW9uZSBkZWwgY2FtcG8gc2VsZXppb25hdG9cclxuICpcclxuICogRnVuemlvbmFsaXRhIHByaW5jaXBhbGk6XHJcbiAqIC0gRHJhZyAmIGRyb3AgZGVpIGNhbXBpIGRhbGxhIHBhbGV0dGUgYWxsZSBzZXppb25pXHJcbiAqIC0gUmlvcmRpbm8gY2FtcGkgYWxsJ2ludGVybm8gZSB0cmEgc2V6aW9uaVxyXG4gKiAtIENvbmZpZ3VyYXppb25lIGNhbXBpIGluIHRlbXBvIHJlYWxlXHJcbiAqIC0gUHJldmlldyBsaXZlIGRlbCBmb3JtXHJcbiAqIC0gSW1wb3J0L2V4cG9ydCBKU09OXHJcbiAqIC0gQXV0by1zYXZlIHN1IGxvY2FsU3RvcmFnZVxyXG4gKi9cclxuXHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIE9uSW5pdCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgaW5qZWN0LFxyXG4gIE9wdGlvbmFsLFxyXG4gIEluamVjdCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIERyYWdEcm9wTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTWF0U25hY2tCYXIsIE1hdFNuYWNrQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuaW1wb3J0IHsgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xyXG5pbXBvcnQgeyBMdWNpZGVBbmd1bGFyTW9kdWxlIH0gZnJvbSAnbHVjaWRlLWFuZ3VsYXInO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBpbnRlcnZhbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBVaUZvcm1TY2hlbWEsIFVpRm9ybVNlY3Rpb24sIFVpRm9ybUZpZWxkRGVzY3JpcHRvciB9IGZyb20gJy4uL2Zvcm0tYnVpbGRlci90eXBlcy9pbmRleCc7XHJcblxyXG5pbXBvcnQge1xyXG4gIFVpRWRpdG9yU3RhdGUsXHJcbiAgVWlFZGl0b3JCcmVhZGNydW1iSXRlbSxcclxuICBVaUVkaXRvckZpZWxkUGFsZXR0ZUl0ZW0sXHJcbiAgVWlFZGl0b3JBdmFpbGFibGVGaWVsZCxcclxuICBVaUVkaXRvckRpYWxvZ0RhdGEsXHJcbn0gZnJvbSAnLi90eXBlcy9lZGl0b3IudHlwZXMnO1xyXG5cclxuaW1wb3J0IHsgVWlFZGl0b3JTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2VkaXRvci1zdGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVWlFZGl0b3JQZXJzaXN0ZW5jZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2VkaXRvci1wZXJzaXN0ZW5jZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVWlFZGl0b3JGaWVsZEZhY3RvcnlTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9maWVsZC1mYWN0b3J5LnNlcnZpY2UnO1xyXG5cclxuLy8gU290dG8tY29tcG9uZW50aVxyXG5pbXBvcnQgeyBVaUVkaXRvclRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL3N1Yi1jb21wb25lbnRzL2VkaXRvci10b29sYmFyL2VkaXRvci10b29sYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpRmllbGRQYWxldHRlQ29tcG9uZW50IH0gZnJvbSAnLi9zdWItY29tcG9uZW50cy9maWVsZC1wYWxldHRlL2ZpZWxkLXBhbGV0dGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlTZWN0aW9uRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9zdWItY29tcG9uZW50cy9zZWN0aW9uLWVkaXRvci9zZWN0aW9uLWVkaXRvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUVkaXRvckZpZWxkQ29uZmlnUGFuZWxDb21wb25lbnQgfSBmcm9tICcuL3N1Yi1jb21wb25lbnRzL2ZpZWxkLWNvbmZpZy1wYW5lbC9maWVsZC1jb25maWctcGFuZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlFZGl0b3JQcmV2aWV3Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9zdWItY29tcG9uZW50cy9wcmV2aWV3LWNvbnRhaW5lci9wcmV2aWV3LWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi9pbmRleCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3VpLWZvcm0tYnVpbGRlci1lZGl0b3InLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgRHJhZ0Ryb3BNb2R1bGUsXHJcbiAgICBNYXRTbmFja0Jhck1vZHVsZSxcclxuICAgIE1hdFRhYnNNb2R1bGUsXHJcbiAgICBMdWNpZGVBbmd1bGFyTW9kdWxlLFxyXG4gICAgVWlFZGl0b3JUb29sYmFyQ29tcG9uZW50LFxyXG4gICAgVWlGaWVsZFBhbGV0dGVDb21wb25lbnQsXHJcbiAgICBVaVNlY3Rpb25FZGl0b3JDb21wb25lbnQsXHJcbiAgICBVaUVkaXRvckZpZWxkQ29uZmlnUGFuZWxDb21wb25lbnQsXHJcbiAgICBVaUVkaXRvclByZXZpZXdDb250YWluZXJDb21wb25lbnQsXHJcbiAgICBVaUJ1dHRvbkNvbXBvbmVudCxcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1VpRWRpdG9yU3RhdGVTZXJ2aWNlLCBVaUVkaXRvclBlcnNpc3RlbmNlU2VydmljZSwgVWlFZGl0b3JGaWVsZEZhY3RvcnlTZXJ2aWNlXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cImVkaXRvci1yb290XCIgW2NsYXNzLmRpYWxvZy1tb2RlXT1cImlzRGlhbG9nTW9kZVwiPlxyXG4gICAgICA8IS0tIEhlYWRlciBjb24gY2hpdXN1cmEgKHNvbG8gaW4gbW9kYWxlKSAtLT5cclxuICAgICAgQGlmIChpc0RpYWxvZ01vZGUpIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZWRpdG9yLWRpYWxvZy1oZWFkZXJcIj5cclxuICAgICAgICAgIDxoMj5Gb3JtIEJ1aWxkZXIgLSBFZGl0b3IgVmlzdWFsZTwvaDI+XHJcbiAgICAgICAgICA8dWktYnV0dG9uXHJcbiAgICAgICAgICAgIGljb249XCJ4XCJcclxuICAgICAgICAgICAgdmFyaWFudD1cImdob3N0XCJcclxuICAgICAgICAgICAgc2l6ZT1cIm1kXCJcclxuICAgICAgICAgICAgYXJpYUxhYmVsPVwiQ2hpdWRpIGVkaXRvclwiXHJcbiAgICAgICAgICAgIHRvb2x0aXA9XCJDaGl1ZGkgZWRpdG9yXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlRGlhbG9nKClcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG5cclxuICAgICAgPCEtLSBUb29sYmFyIC0tPlxyXG4gICAgICA8dWktZWRpdG9yLXRvb2xiYXJcclxuICAgICAgICBbYnJlYWRjcnVtYl09XCJicmVhZGNydW1iXCJcclxuICAgICAgICBbaXNEaXJ0eV09XCJzdGF0ZS5pc0RpcnR5XCJcclxuICAgICAgICBbbGFzdFNhdmVkXT1cInN0YXRlLmxhc3RTYXZlZFwiXHJcbiAgICAgICAgKG5ld0Zvcm0pPVwib25OZXdGb3JtKClcIlxyXG4gICAgICAgIChpbXBvcnRKc29uKT1cIm9uSW1wb3J0SnNvbigpXCJcclxuICAgICAgICAoZXhwb3J0SnNvbik9XCJvbkV4cG9ydEpzb24oKVwiXHJcbiAgICAgICAgKHNhdmUpPVwib25TYXZlKClcIlxyXG4gICAgICAgIChjbGVhcik9XCJvbkNsZWFyKClcIlxyXG4gICAgICAgIChhZGRTZWN0aW9uKT1cIm9uQWRkU2VjdGlvbigpXCJcclxuICAgICAgLz5cclxuXHJcbiAgICAgIDwhLS0gVGFiczogRWRpdG9yIC8gUHJldmlldyAtLT5cclxuICAgICAgPG1hdC10YWItZ3JvdXBcclxuICAgICAgICBbc2VsZWN0ZWRJbmRleF09XCJzZWxlY3RlZFRhYkluZGV4XCJcclxuICAgICAgICAoc2VsZWN0ZWRJbmRleENoYW5nZSk9XCJvblRhYkNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICBjbGFzcz1cImVkaXRvci10YWJzXCJcclxuICAgICAgPlxyXG4gICAgICAgIDwhLS0gVGFiIEVkaXRvciAtLT5cclxuICAgICAgICA8bWF0LXRhYiBsYWJlbD1cIkVkaXRvclwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVkaXRvci1sYXlvdXRcIiBjZGtEcm9wTGlzdEdyb3VwPlxyXG4gICAgICAgICAgICA8IS0tIFBhbGV0dGUgKHNpZGViYXIgc2luaXN0cmEpIC0tPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJlZGl0b3Itc2lkZWJhciBsZWZ0XCJcclxuICAgICAgICAgICAgICBbc3R5bGUud2lkdGgucHhdPVwibGVmdFNpZGViYXJXaWR0aFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8dWktZmllbGQtcGFsZXR0ZSAvPlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwicmVzaXplLWhhbmRsZSByZXNpemUtaGFuZGxlLS1yaWdodFwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3MucmVzaXppbmddPVwiaXNSZXNpemluZ0xlZnRcIlxyXG4gICAgICAgICAgICAgICAgKG1vdXNlZG93bik9XCJvbkxlZnRSZXNpemVTdGFydCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICA+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPCEtLSBBcmVhIGNlbnRyYWxlIGNvbiBzZXppb25pIC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZWRpdG9yLW1haW5cIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvbnMtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICBAZm9yIChzZWN0aW9uIG9mIHN0YXRlLnNjaGVtYS5zZWN0aW9uczsgdHJhY2sgc2VjdGlvbi5pZCkge1xyXG4gICAgICAgICAgICAgICAgICA8dWktc2VjdGlvbi1lZGl0b3JcclxuICAgICAgICAgICAgICAgICAgICBbc2VjdGlvbl09XCJzZWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICBbaXNTZWxlY3RlZF09XCJzdGF0ZS5zZWxlY3RlZFNlY3Rpb25JZCA9PT0gc2VjdGlvbi5pZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkRmllbGRLZXldPVwic3RhdGUuc2VsZWN0ZWRGaWVsZEtleVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKHNlY3Rpb25VcGRhdGUpPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBzdGF0ZVNlcnZpY2UudXBkYXRlU2VjdGlvbihzZWN0aW9uLmlkLCAkZXZlbnQpXHJcbiAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgICAoc2VjdGlvbkRlbGV0ZSk9XCJvblNlY3Rpb25EZWxldGUoc2VjdGlvbi5pZClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChzZWN0aW9uRHVwbGljYXRlKT1cIm9uU2VjdGlvbkR1cGxpY2F0ZShzZWN0aW9uLmlkKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGZpZWxkU2VsZWN0KT1cIm9uRmllbGRTZWxlY3Qoc2VjdGlvbi5pZCwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGZpZWxkRHVwbGljYXRlKT1cIm9uRmllbGREdXBsaWNhdGUoc2VjdGlvbi5pZCwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGZpZWxkRGVsZXRlKT1cIm9uRmllbGREZWxldGUoc2VjdGlvbi5pZCwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGZpZWxkRHJvcCk9XCJvbkZpZWxkRHJvcCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAaWYgKHN0YXRlLnNjaGVtYS5zZWN0aW9ucy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVtcHR5LXN0YXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGx1Y2lkZS1pY29uXHJcbiAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwibGF5b3V0LXRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtzaXplXT1cIjY0XCJcclxuICAgICAgICAgICAgICAgICAgICA+PC9sdWNpZGUtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8aDM+TmVzc3VuYSBzZXppb25lIHByZXNlbnRlPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICA8cD5cclxuICAgICAgICAgICAgICAgICAgICAgIENsaWNjYSBzdSBcIlNlemlvbmVcIiBuZWxsYSB0b29sYmFyIHBlciBhZ2dpdW5nZXJlIGxhIHByaW1hXHJcbiAgICAgICAgICAgICAgICAgICAgICBzZXppb25lXHJcbiAgICAgICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDx1aS1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPVwiQWdnaXVuZ2kgUHJpbWEgU2V6aW9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBpY29uPVwicGx1c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25BZGRTZWN0aW9uKClcIlxyXG4gICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gQ29uZmlnIHBhbmVsIChzaWRlYmFyIGRlc3RyYSkgLS0+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzcz1cImVkaXRvci1zaWRlYmFyIHJpZ2h0XCJcclxuICAgICAgICAgICAgICBbc3R5bGUud2lkdGgucHhdPVwicmlnaHRTaWRlYmFyV2lkdGhcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJyZXNpemUtaGFuZGxlXCJcclxuICAgICAgICAgICAgICAgIFtjbGFzcy5yZXNpemluZ109XCJpc1Jlc2l6aW5nXCJcclxuICAgICAgICAgICAgICAgIChtb3VzZWRvd24pPVwib25SZXNpemVTdGFydCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICA+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPHVpLWVkaXRvci1maWVsZC1jb25maWctcGFuZWxcclxuICAgICAgICAgICAgICAgIFtmaWVsZF09XCJzZWxlY3RlZEZpZWxkXCJcclxuICAgICAgICAgICAgICAgIFthdmFpbGFibGVGaWVsZHNdPVwiYXZhaWxhYmxlRmllbGRzXCJcclxuICAgICAgICAgICAgICAgIChmaWVsZFVwZGF0ZSk9XCJcclxuICAgICAgICAgICAgICAgICAgb25GaWVsZFVwZGF0ZShcclxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZEZpZWxkU2VjdGlvbklkISxcclxuICAgICAgICAgICAgICAgICAgICBzdGF0ZS5zZWxlY3RlZEZpZWxkS2V5ISxcclxuICAgICAgICAgICAgICAgICAgICAkZXZlbnRcclxuICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbWF0LXRhYj5cclxuXHJcbiAgICAgICAgPCEtLSBUYWIgUHJldmlldyAtLT5cclxuICAgICAgICA8bWF0LXRhYiBsYWJlbD1cIkFudGVwcmltYVwiPlxyXG4gICAgICAgICAgPHVpLWVkaXRvci1wcmV2aWV3LWNvbnRhaW5lclxyXG4gICAgICAgICAgICBbc2NoZW1hXT1cInN0YXRlLnNjaGVtYVwiXHJcbiAgICAgICAgICAgIFtrZXldPVwicHJldmlld0tleVwiXHJcbiAgICAgICAgICAgIChyZWZyZXNoKT1cInJlZnJlc2hQcmV2aWV3KClcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L21hdC10YWI+XHJcbiAgICAgIDwvbWF0LXRhYi1ncm91cD5cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbXHJcbiAgICBgXHJcbiAgICAgIEB1c2UgJy4uLy4uLy4uL2NvcmUvdG9rZW5zL21peGlucycgYXMgdWk7XHJcblxyXG4gICAgICAuZWRpdG9yLXJvb3Qge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXVpLWNvbG9yLWJnLXN1YnRsZSk7XHJcblxyXG4gICAgICAgICYuZGlhbG9nLW1vZGUge1xyXG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmVkaXRvci1kaWFsb2ctaGVhZGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXVpLXNwYWNpbmctMykgdmFyKC0tdWktc3BhY2luZy00KTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS11aS1jb2xvci1zdXJmYWNlKTtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdWktY29sb3ItYm9yZGVyKTtcclxuICAgICAgICBib3gtc2hhZG93OiB2YXIoLS11aS1zaGFkb3ctc20pO1xyXG5cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICBmb250LXNpemU6IHZhcigtLXVpLWZvbnQtc2l6ZS1sZyk7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgY29sb3I6IHZhcigtLXVpLWNvbG9yLXRleHQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogU3RpbGUgcGVyIGlsIHB1bHNhbnRlIGRpIGNoaXVzdXJhIChnZXN0aXRvIGRhIFVpQnV0dG9uKSAqL1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuZWRpdG9yLXRhYnMge1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgICAgIC8qIFN0aWxlIGludGVzdGF6aW9uZSB0YWIgKi9cclxuICAgICAgICA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWhlYWRlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS11aS1jb2xvci1zdXJmYWNlKTtcclxuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS11aS1jb2xvci1ib3JkZXIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogU3RpbGUgZXRpY2hldHRhIHRhYiAqL1xyXG4gICAgICAgIDo6bmctZGVlcCAubWF0LW1kYy10YWIgLm1kYy10YWJfX3RleHQtbGFiZWwge1xyXG4gICAgICAgICAgY29sb3I6IHZhcigtLXVpLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICBmb250LXNpemU6IHZhcigtLXVpLWZvbnQtc2l6ZS1zbSk7XHJcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogVGFiIGF0dGl2bzogdGVzdG8gZXZpZGVuemlhdG8gKi9cclxuICAgICAgICA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLm1kYy10YWItLWFjdGl2ZSAubWRjLXRhYl9fdGV4dC1sYWJlbCB7XHJcbiAgICAgICAgICBjb2xvcjogdmFyKC0tdWktY29sb3ItcHJpbWFyeSk7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogSW5kaWNhdG9yZSB0YWIgYXR0aXZvIChpbmsgYmFyKSAqL1xyXG4gICAgICAgIDo6bmctZGVlcCAubWF0LW1kYy10YWItaGVhZGVyIC5tZGMtdGFiLWluZGljYXRvcl9fY29udGVudC0tdW5kZXJsaW5lIHtcclxuICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tdWktY29sb3ItcHJpbWFyeSk7XHJcbiAgICAgICAgICBib3JkZXItd2lkdGg6IDNweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIDo6bmctZGVlcCAubWF0LW1kYy10YWItYm9keS13cmFwcGVyIHtcclxuICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgOjpuZy1kZWVwIC5tYXQtbWRjLXRhYi1ib2R5IHtcclxuICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIDo6bmctZGVlcCAubWF0LW1kYy10YWItYm9keS1jb250ZW50IHtcclxuICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuZWRpdG9yLWxheW91dCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmVkaXRvci1zaWRlYmFyIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS11aS1jb2xvci1zdXJmYWNlKTtcclxuICAgICAgICBmbGV4LXNocmluazogMDtcclxuXHJcbiAgICAgICAgJi5sZWZ0IHtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLXVpLWNvbG9yLWJvcmRlcik7XHJcbiAgICAgICAgICBtaW4td2lkdGg6IDIwMHB4O1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYucmlnaHQge1xyXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS11aS1jb2xvci1ib3JkZXIpO1xyXG4gICAgICAgICAgbWluLXdpZHRoOiA0MDBweDtcclxuICAgICAgICAgIG1heC13aWR0aDogMTIwMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmVkaXRvci1tYWluIHtcclxuICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIG1pbi13aWR0aDogMDtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICBwYWRkaW5nOiB2YXIoLS11aS1zcGFjaW5nLTQpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXVpLWNvbG9yLWJnLXN1YnRsZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5zZWN0aW9ucy1jb250YWluZXIge1xyXG4gICAgICAgIG1heC13aWR0aDogMTIwMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBnYXA6IHZhcigtLXVpLXNwYWNpbmctNCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5yZXNpemUtaGFuZGxlIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICB3aWR0aDogNnB4O1xyXG4gICAgICAgIGN1cnNvcjogZXctcmVzaXplO1xyXG4gICAgICAgIHotaW5kZXg6IDEwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdWktdHJhbnNpdGlvbi1mYXN0KTtcclxuXHJcbiAgICAgICAgLyogSGFuZGxlIHNpbmlzdHJvIChwZXIgc2lkZWJhciBkZXN0cmEpICovXHJcbiAgICAgICAgbGVmdDogMDtcclxuXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgbGVmdDogLTNweDtcclxuICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgIHdpZHRoOiAxMnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAmLnJlc2l6aW5nIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChcclxuICAgICAgICAgICAgaW4gc3JnYixcclxuICAgICAgICAgICAgdmFyKC0tdWktY29sb3ItcHJpbWFyeSkgMzAlLFxyXG4gICAgICAgICAgICB0cmFuc3BhcmVudFxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYucmVzaXppbmcge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KFxyXG4gICAgICAgICAgICBpbiBzcmdiLFxyXG4gICAgICAgICAgICB2YXIoLS11aS1jb2xvci1wcmltYXJ5KSA1MCUsXHJcbiAgICAgICAgICAgIHRyYW5zcGFyZW50XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLyogSGFuZGxlIGRlc3RybyAocGVyIHNpZGViYXIgc2luaXN0cmEpICovXHJcbiAgICAgIC5yZXNpemUtaGFuZGxlLS1yaWdodCB7XHJcbiAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICByaWdodDogMDtcclxuXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgICByaWdodDogLTNweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5lbXB0eS1zdGF0ZSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogdmFyKC0tdWktc3BhY2luZy0xMikgdmFyKC0tdWktc3BhY2luZy04KTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXVpLWNvbG9yLXRleHQtbXV0ZWQpO1xyXG5cclxuICAgICAgICBsdWNpZGUtaWNvbiB7XHJcbiAgICAgICAgICBvcGFjaXR5OiAwLjQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICBtYXJnaW46IDAgMCB2YXIoLS11aS1zcGFjaW5nLTIpIDA7XHJcbiAgICAgICAgICBmb250LXNpemU6IHZhcigtLXVpLWZvbnQtc2l6ZS14bCk7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgY29sb3I6IHZhcigtLXVpLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgbWFyZ2luOiAwIDAgdmFyKC0tdWktc3BhY2luZy02KSAwO1xyXG4gICAgICAgICAgZm9udC1zaXplOiB2YXIoLS11aS1mb250LXNpemUtbWQpO1xyXG4gICAgICAgICAgY29sb3I6IHZhcigtLXVpLWNvbG9yLXRleHQtbXV0ZWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLyogUmVzcG9uc2l2ZSAqL1xyXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMTI4MHB4KSB7XHJcbiAgICAgICAgLmVkaXRvci1zaWRlYmFyLmxlZnQge1xyXG4gICAgICAgICAgd2lkdGg6IDI1MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk2MHB4KSB7XHJcbiAgICAgICAgLmVkaXRvci1sYXlvdXQge1xyXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5lZGl0b3Itc2lkZWJhciB7XHJcbiAgICAgICAgICAmLmxlZnQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICYucmlnaHQge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB0b3A6IDY0cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMzUwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDY0cHgpO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxMDAwO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiB2YXIoLS11aS1zaGFkb3ctbGcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS11aS10cmFuc2l0aW9uLW5vcm1hbCk7XHJcblxyXG4gICAgICAgICAgICAucmVzaXplLWhhbmRsZSB7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgYCxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWlGb3JtQnVpbGRlckVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAvKiogQGludGVybmFsIFNlcnZpemlvIHBlciBsbyBzdGF0byBkZWxsJ2VkaXRvci4gKi9cclxuICByZWFkb25seSBzdGF0ZVNlcnZpY2UgPSBpbmplY3QoVWlFZGl0b3JTdGF0ZVNlcnZpY2UpO1xyXG5cclxuICAvKiogQGludGVybmFsIFNlcnZpemlvIHBlciBsYSBwZXJzaXN0ZW56YS4gKi9cclxuICBwcml2YXRlIHJlYWRvbmx5IHBlcnNpc3RlbmNlU2VydmljZSA9IGluamVjdChVaUVkaXRvclBlcnNpc3RlbmNlU2VydmljZSk7XHJcblxyXG4gIC8qKiBAaW50ZXJuYWwgRmFjdG9yeSBwZXIgaSBjYW1waS4gKi9cclxuICBwcml2YXRlIHJlYWRvbmx5IGZpZWxkRmFjdG9yeSA9IGluamVjdChVaUVkaXRvckZpZWxkRmFjdG9yeVNlcnZpY2UpO1xyXG5cclxuICAvKiogQGludGVybmFsIFNuYWNrIGJhciBwZXIgaSBtZXNzYWdnaS4gKi9cclxuICBwcml2YXRlIHJlYWRvbmx5IHNuYWNrQmFyID0gaW5qZWN0KE1hdFNuYWNrQmFyKTtcclxuXHJcbiAgLyoqIEBpbnRlcm5hbCBDaGFuZ2UgZGV0ZWN0b3IuICovXHJcbiAgcHJpdmF0ZSByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG5cclxuICAvKiogQGludGVybmFsIFN1YmplY3QgcGVyIGxhIGRpc3RydXppb25lLiAqL1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICAvKiogU3RhdG8gY29ycmVudGUgZGVsbCdlZGl0b3IuICovXHJcbiAgc3RhdGU6IFVpRWRpdG9yU3RhdGU7XHJcblxyXG4gIC8qKiBJbmRpY2UgZGVsIHRhYiBzZWxlemlvbmF0byAoMD1FZGl0b3IsIDE9UHJldmlldykuICovXHJcbiAgc2VsZWN0ZWRUYWJJbmRleCA9IDA7XHJcblxyXG4gIC8qKiBCcmVhZGNydW1iIGRpIG5hdmlnYXppb25lLiAqL1xyXG4gIGJyZWFkY3J1bWI6IFVpRWRpdG9yQnJlYWRjcnVtYkl0ZW1bXSA9IFtdO1xyXG5cclxuICAvKiogU2UgaWwgY29tcG9uZW50ZSBlIGFwZXJ0byBpbiBtb2RhbGl0YSBkaWFsb2cuICovXHJcbiAgaXNEaWFsb2dNb2RlID0gZmFsc2U7XHJcblxyXG4gIC8qKiBDaGlhdmUgcGVyIGZvcnphcmUgaWwgcmUtcmVuZGVyIGRlbCBwcmV2aWV3LiAqL1xyXG4gIHByZXZpZXdLZXkgPSAwO1xyXG5cclxuICAvKiogQ2FtcGkgZGlzcG9uaWJpbGkgcGVyIGxlIGNvbmRpemlvbmkgKGNhY2hlKS4gKi9cclxuICBhdmFpbGFibGVGaWVsZHM6IFVpRWRpdG9yQXZhaWxhYmxlRmllbGRbXSA9IFtdO1xyXG5cclxuICAvKiogTGFyZ2hlenphIGRlbGxhIHNpZGViYXIgc2luaXN0cmEgKHB4KS4gKi9cclxuICBsZWZ0U2lkZWJhcldpZHRoID0gMjgwO1xyXG5cclxuICAvKiogTGFyZ2hlenphIGRlbGxhIHNpZGViYXIgZGVzdHJhIChweCkuICovXHJcbiAgcmlnaHRTaWRlYmFyV2lkdGggPSA0NjA7XHJcblxyXG4gIC8qKiBTZSBlIGluIGNvcnNvIGlsIHJlc2l6ZSBkZWxsYSBzaWRlYmFyIGRlc3RyYS4gKi9cclxuICBpc1Jlc2l6aW5nID0gZmFsc2U7XHJcblxyXG4gIC8qKiBTZSBlIGluIGNvcnNvIGlsIHJlc2l6ZSBkZWxsYSBzaWRlYmFyIHNpbmlzdHJhLiAqL1xyXG4gIGlzUmVzaXppbmdMZWZ0ID0gZmFsc2U7XHJcblxyXG4gIC8qKiBAaW50ZXJuYWwgTGltaXRpIGRpIHJlc2l6ZSBzaWRlYmFyIGRlc3RyYS4gKi9cclxuICBwcml2YXRlIHJlYWRvbmx5IE1JTl9TSURFQkFSX1dJRFRIID0gNDAwO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgTUFYX1NJREVCQVJfV0lEVEggPSAxMjAwO1xyXG5cclxuICAvKiogQGludGVybmFsIExpbWl0aSBkaSByZXNpemUgc2lkZWJhciBzaW5pc3RyYS4gKi9cclxuICBwcml2YXRlIHJlYWRvbmx5IE1JTl9MRUZUX1NJREVCQVJfV0lEVEggPSAyMDA7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBNQVhfTEVGVF9TSURFQkFSX1dJRFRIID0gNTAwO1xyXG5cclxuICBwcml2YXRlIHJlc2l6ZVN0YXJ0WCA9IDA7XHJcbiAgcHJpdmF0ZSByZXNpemVTdGFydFdpZHRoID0gMDtcclxuICBwcml2YXRlIHJlYWRvbmx5IFNJREVCQVJfV0lEVEhfS0VZID0gJ3VpLWVkaXRvci1yaWdodC1zaWRlYmFyLXdpZHRoJztcclxuICBwcml2YXRlIHJlYWRvbmx5IExFRlRfU0lERUJBUl9XSURUSF9LRVkgPSAndWktZWRpdG9yLWxlZnQtc2lkZWJhci13aWR0aCc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQE9wdGlvbmFsKCkgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFVpRm9ybUJ1aWxkZXJFZGl0b3JDb21wb25lbnQ+LFxyXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkaWFsb2dEYXRhOiBVaUVkaXRvckRpYWxvZ0RhdGEsXHJcbiAgKSB7XHJcbiAgICB0aGlzLnN0YXRlID0gdGhpcy5zdGF0ZVNlcnZpY2UuZ2V0Q3VycmVudFN0YXRlKCk7XHJcbiAgICB0aGlzLmlzRGlhbG9nTW9kZSA9ICEhdGhpcy5kaWFsb2dSZWY7XHJcblxyXG4gICAgLy8gQ2FyaWNhIHNjaGVtYSBpbml6aWFsZSBzZSBmb3JuaXRvIHZpYSBkaWFsb2cgZGF0YVxyXG4gICAgaWYgKHRoaXMuZGlhbG9nRGF0YT8uaW5pdGlhbFNjaGVtYSkge1xyXG4gICAgICB0aGlzLnN0YXRlU2VydmljZS5zZXRTY2hlbWEodGhpcy5kaWFsb2dEYXRhLmluaXRpYWxTY2hlbWEpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubG9hZFNpZGViYXJXaWR0aCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAvLyBTb3R0b3Njcml6aW9uZSBhbGxvIHN0YXRvXHJcbiAgICB0aGlzLnN0YXRlU2VydmljZS5zdGF0ZSQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcclxuICAgICAgdGhpcy5zdGF0ZSA9IHN0YXRlO1xyXG4gICAgICB0aGlzLnVwZGF0ZUJyZWFkY3J1bWIoKTtcclxuICAgICAgdGhpcy51cGRhdGVBdmFpbGFibGVGaWVsZHMoKTtcclxuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBDb250cm9sbGEgc2FsdmF0YWdnaSBwcmVjZWRlbnRpIGRhIHJlY3VwZXJhcmVcclxuICAgIHRoaXMuY2hlY2tGb3JSZWNvdmVyeSgpO1xyXG5cclxuICAgIC8vIEF1dG8tc2F2ZSBvZ25pIDMwIHNlY29uZGlcclxuICAgIGludGVydmFsKDMwMDAwKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLnN0YXRlLmlzRGlydHkpIHtcclxuICAgICAgICAgIHRoaXMuYXV0b1NhdmUoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIC8vIOKUgOKUgOKUgCBUb29sYmFyIGFjdGlvbnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcblxyXG4gIC8qKiBBZ2dpdW5nZSB1bmEgbnVvdmEgc2V6aW9uZS4gKi9cclxuICBvbkFkZFNlY3Rpb24oKTogdm9pZCB7XHJcbiAgICB0aGlzLnN0YXRlU2VydmljZS5hZGRTZWN0aW9uKCk7XHJcbiAgICB0aGlzLnNob3dNZXNzYWdlKCdTZXppb25lIGFnZ2l1bnRhJyk7XHJcbiAgfVxyXG5cclxuICAvKiogU2FsdmEgbmVsIGxvY2FsU3RvcmFnZS4gKi9cclxuICBvblNhdmUoKTogdm9pZCB7XHJcbiAgICB0cnkge1xyXG4gICAgICB0aGlzLnBlcnNpc3RlbmNlU2VydmljZS5zYXZlVG9Mb2NhbFN0b3JhZ2UodGhpcy5zdGF0ZS5zY2hlbWEpO1xyXG4gICAgICB0aGlzLnN0YXRlU2VydmljZS5tYXJrQXNTYXZlZCgpO1xyXG4gICAgICB0aGlzLnNob3dNZXNzYWdlKCdTYWx2YXRvIGNvbiBzdWNjZXNzbycpO1xyXG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xyXG4gICAgICB0aGlzLnNob3dNZXNzYWdlKGVycm9yLm1lc3NhZ2UgfHwgJ0Vycm9yZSBkdXJhbnRlIGlsIHNhbHZhdGFnZ2lvJywgdHJ1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiogQ3JlYSB1biBudW92byBmb3JtLiAqL1xyXG4gIG9uTmV3Rm9ybSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnN0YXRlLmlzRGlydHkgJiYgIWNvbmZpcm0oJ0NpIHNvbm8gbW9kaWZpY2hlIG5vbiBzYWx2YXRlLiBDb250aW51YXJlPycpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnJlc2V0KCk7XHJcbiAgICB0aGlzLnNob3dNZXNzYWdlKCdOdW92byBmb3JtIGNyZWF0bycpO1xyXG4gIH1cclxuXHJcbiAgLyoqIEltcG9ydGEgZGEgZmlsZSBKU09OLiAqL1xyXG4gIG9uSW1wb3J0SnNvbigpOiB2b2lkIHtcclxuICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICAgIGlucHV0LnR5cGUgPSAnZmlsZSc7XHJcbiAgICBpbnB1dC5hY2NlcHQgPSAnLmpzb24nO1xyXG5cclxuICAgIGlucHV0Lm9uY2hhbmdlID0gYXN5bmMgKGU6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBmaWxlID0gZS50YXJnZXQuZmlsZXNbMF07XHJcbiAgICAgIGlmICghZmlsZSkgcmV0dXJuO1xyXG5cclxuICAgICAgdHJ5IHtcclxuICAgICAgICBjb25zdCBzY2hlbWEgPSBhd2FpdCB0aGlzLnBlcnNpc3RlbmNlU2VydmljZS5pbXBvcnRGcm9tSlNPTihmaWxlKTtcclxuICAgICAgICBpZiAodGhpcy5zdGF0ZS5pc0RpcnR5ICYmICFjb25maXJtKCdDaSBzb25vIG1vZGlmaWNoZSBub24gc2FsdmF0ZS4gU292cmFzY3JpdmVyZT8nKSkge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5zZXRTY2hlbWEoc2NoZW1hKTtcclxuICAgICAgICB0aGlzLnNob3dNZXNzYWdlKCdTY2hlbWEgaW1wb3J0YXRvIGNvbiBzdWNjZXNzbycpO1xyXG4gICAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XHJcbiAgICAgICAgdGhpcy5zaG93TWVzc2FnZShlcnJvci5tZXNzYWdlIHx8IFwiRXJyb3JlIGR1cmFudGUgbCdpbXBvcnRcIiwgdHJ1ZSk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgaW5wdXQuY2xpY2soKTtcclxuICB9XHJcblxyXG4gIC8qKiBFc3BvcnRhIGNvbWUgZmlsZSBKU09OLiAqL1xyXG4gIG9uRXhwb3J0SnNvbigpOiB2b2lkIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IHZhbGlkYXRpb24gPSB0aGlzLnN0YXRlU2VydmljZS52YWxpZGF0ZVNjaGVtYSgpO1xyXG4gICAgICBpZiAoIXZhbGlkYXRpb24udmFsaWQpIHtcclxuICAgICAgICBjb25zdCBtZXNzYWdlID0gYFNjaGVtYSBjb24gZXJyb3JpOlxcbiR7dmFsaWRhdGlvbi5lcnJvcnMubWFwKChlKSA9PiBlLm1lc3NhZ2UpLmpvaW4oJ1xcbicpfWA7XHJcbiAgICAgICAgaWYgKCFjb25maXJtKGAke21lc3NhZ2V9XFxuXFxuRXNwb3J0YXJlIGNvbXVucXVlP2ApKSByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5wZXJzaXN0ZW5jZVNlcnZpY2UuZXhwb3J0VG9KU09OKHRoaXMuc3RhdGUuc2NoZW1hKTtcclxuICAgICAgdGhpcy5zaG93TWVzc2FnZSgnU2NoZW1hIGVzcG9ydGF0byBjb24gc3VjY2Vzc28nKTtcclxuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcclxuICAgICAgdGhpcy5zaG93TWVzc2FnZShlcnJvci5tZXNzYWdlIHx8IFwiRXJyb3JlIGR1cmFudGUgbCdleHBvcnRcIiwgdHJ1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiogUHVsaXNjZSB0dXR0byBsbyBzY2hlbWEuICovXHJcbiAgb25DbGVhcigpOiB2b2lkIHtcclxuICAgIGlmICghY29uZmlybSgnVnVvaSBkYXZ2ZXJvIGVsaW1pbmFyZSB0dXR0bz8gUXVlc3RhIGF6aW9uZSBub24gcHVvIGVzc2VyZSBhbm51bGxhdGEuJykpIHJldHVybjtcclxuICAgIHRoaXMucGVyc2lzdGVuY2VTZXJ2aWNlLmNyZWF0ZUJhY2t1cCh0aGlzLnN0YXRlLnNjaGVtYSk7XHJcbiAgICB0aGlzLnN0YXRlU2VydmljZS5jbGVhclNjaGVtYSgpO1xyXG4gICAgdGhpcy5zaG93TWVzc2FnZSgnU2NoZW1hIHB1bGl0bycpO1xyXG4gIH1cclxuXHJcbiAgLy8g4pSA4pSA4pSAIFNlemlvbmkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcblxyXG4gIG9uU2VjdGlvbkR1cGxpY2F0ZShzZWN0aW9uSWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5zdGF0ZVNlcnZpY2UuZHVwbGljYXRlU2VjdGlvbihzZWN0aW9uSWQpO1xyXG4gICAgdGhpcy5zaG93TWVzc2FnZSgnU2V6aW9uZSBkdXBsaWNhdGEnKTtcclxuICB9XHJcblxyXG4gIG9uU2VjdGlvbkRlbGV0ZShzZWN0aW9uSWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKCFjb25maXJtKCdWdW9pIGRhdnZlcm8gZWxpbWluYXJlIHF1ZXN0YSBzZXppb25lPycpKSByZXR1cm47XHJcbiAgICB0aGlzLnN0YXRlU2VydmljZS5yZW1vdmVTZWN0aW9uKHNlY3Rpb25JZCk7XHJcbiAgICB0aGlzLnNob3dNZXNzYWdlKCdTZXppb25lIGVsaW1pbmF0YScpO1xyXG4gIH1cclxuXHJcbiAgLy8g4pSA4pSA4pSAIENhbXBpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cclxuICBvbkZpZWxkU2VsZWN0KHNlY3Rpb25JZDogc3RyaW5nLCBmaWVsZEtleTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnN0YXRlU2VydmljZS5zZWxlY3RGaWVsZChzZWN0aW9uSWQsIGZpZWxkS2V5KTtcclxuICB9XHJcblxyXG4gIG9uRmllbGREdXBsaWNhdGUoc2VjdGlvbklkOiBzdHJpbmcsIGZpZWxkS2V5OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmR1cGxpY2F0ZUZpZWxkKHNlY3Rpb25JZCwgZmllbGRLZXkpO1xyXG4gICAgdGhpcy5zaG93TWVzc2FnZSgnQ2FtcG8gZHVwbGljYXRvJyk7XHJcbiAgfVxyXG5cclxuICBvbkZpZWxkRGVsZXRlKHNlY3Rpb25JZDogc3RyaW5nLCBmaWVsZEtleTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAoIWNvbmZpcm0oJ1Z1b2kgZGF2dmVybyBlbGltaW5hcmUgcXVlc3RvIGNhbXBvPycpKSByZXR1cm47XHJcbiAgICB0aGlzLnN0YXRlU2VydmljZS5yZW1vdmVGaWVsZChzZWN0aW9uSWQsIGZpZWxkS2V5KTtcclxuICAgIHRoaXMuc2hvd01lc3NhZ2UoJ0NhbXBvIGVsaW1pbmF0bycpO1xyXG4gIH1cclxuXHJcbiAgb25GaWVsZFVwZGF0ZShzZWN0aW9uSWQ6IHN0cmluZywgZmllbGRLZXk6IHN0cmluZywgdXBkYXRlczogUGFydGlhbDxVaUZvcm1GaWVsZERlc2NyaXB0b3I+KTogdm9pZCB7XHJcbiAgICB0aGlzLnN0YXRlU2VydmljZS51cGRhdGVGaWVsZChzZWN0aW9uSWQsIGZpZWxkS2V5LCB1cGRhdGVzKTtcclxuICB9XHJcblxyXG4gIC8qKiBHZXN0aXNjZSBpbCBkcm9wIGRpIHVuIGNhbXBvIChkYWxsYSBwYWxldHRlIG8gdHJhIHNlemlvbmkpLiAqL1xyXG4gIG9uRmllbGREcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxhbnk+KTogdm9pZCB7XHJcbiAgICBjb25zdCBwcmV2SWQgPSBldmVudC5wcmV2aW91c0NvbnRhaW5lci5pZDtcclxuXHJcbiAgICBpZiAocHJldklkLnN0YXJ0c1dpdGgoJ3BhbGV0dGUtJykpIHtcclxuICAgICAgLy8gRHJvcCBkYWxsYSBwYWxldHRlXHJcbiAgICAgIGNvbnN0IHBhbGV0dGVJdGVtOiBVaUVkaXRvckZpZWxkUGFsZXR0ZUl0ZW0gPSBldmVudC5pdGVtLmRhdGE7XHJcbiAgICAgIGNvbnN0IHNlY3Rpb246IFVpRm9ybVNlY3Rpb24gPSBldmVudC5jb250YWluZXIuZGF0YTtcclxuICAgICAgY29uc3QgbmV3RmllbGQgPSB0aGlzLmZpZWxkRmFjdG9yeS5jcmVhdGVEZWZhdWx0RmllbGQocGFsZXR0ZUl0ZW0udHlwZSk7XHJcbiAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmFkZEZpZWxkQXRJbmRleChzZWN0aW9uLmlkLCBuZXdGaWVsZCwgZXZlbnQuY3VycmVudEluZGV4KTtcclxuICAgICAgdGhpcy5zaG93TWVzc2FnZShgQ2FtcG8gJHtwYWxldHRlSXRlbS5sYWJlbH0gYWdnaXVudG9gKTtcclxuICAgIH0gZWxzZSBpZiAoZXZlbnQucHJldmlvdXNDb250YWluZXIgIT09IGV2ZW50LmNvbnRhaW5lcikge1xyXG4gICAgICAvLyBTcG9zdGFtZW50byB0cmEgc2V6aW9uaVxyXG4gICAgICBjb25zdCBmaWVsZDogVWlGb3JtRmllbGREZXNjcmlwdG9yID0gZXZlbnQuaXRlbS5kYXRhO1xyXG4gICAgICBjb25zdCBmcm9tU2VjdGlvbjogVWlGb3JtU2VjdGlvbiA9IGV2ZW50LnByZXZpb3VzQ29udGFpbmVyLmRhdGE7XHJcbiAgICAgIGNvbnN0IHRvU2VjdGlvbjogVWlGb3JtU2VjdGlvbiA9IGV2ZW50LmNvbnRhaW5lci5kYXRhO1xyXG4gICAgICB0aGlzLnN0YXRlU2VydmljZS5tb3ZlRmllbGRCZXR3ZWVuU2VjdGlvbnMoZnJvbVNlY3Rpb24uaWQsIHRvU2VjdGlvbi5pZCwgZmllbGQua2V5LCBldmVudC5jdXJyZW50SW5kZXgpO1xyXG4gICAgICB0aGlzLnNob3dNZXNzYWdlKCdDYW1wbyBzcG9zdGF0bycpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gUmlvcmRpbm8gbmVsbGEgc3Rlc3NhIHNlemlvbmVcclxuICAgICAgY29uc3Qgc2VjdGlvbjogVWlGb3JtU2VjdGlvbiA9IGV2ZW50LmNvbnRhaW5lci5kYXRhO1xyXG4gICAgICB0aGlzLnN0YXRlU2VydmljZS5tb3ZlRmllbGRJblNlY3Rpb24oc2VjdGlvbi5pZCwgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIC8vIOKUgOKUgOKUgCBDb21wdXRlZCBwcm9wZXJ0aWVzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cclxuICAvKiogQ2FtcG8gYXR0dWFsbWVudGUgc2VsZXppb25hdG8uICovXHJcbiAgZ2V0IHNlbGVjdGVkRmllbGQoKTogVWlGb3JtRmllbGREZXNjcmlwdG9yIHwgbnVsbCB7XHJcbiAgICBpZiAoIXRoaXMuc3RhdGUuc2VsZWN0ZWRGaWVsZEtleSkgcmV0dXJuIG51bGw7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZVNlcnZpY2UuZmluZEZpZWxkQnlLZXkodGhpcy5zdGF0ZS5zZWxlY3RlZEZpZWxkS2V5KTtcclxuICB9XHJcblxyXG4gIC8qKiBJRCBkZWxsYSBzZXppb25lIGRlbCBjYW1wbyBzZWxlemlvbmF0by4gKi9cclxuICBnZXQgc2VsZWN0ZWRGaWVsZFNlY3Rpb25JZCgpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIGlmICghdGhpcy5zdGF0ZS5zZWxlY3RlZEZpZWxkS2V5KSByZXR1cm4gbnVsbDtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlU2VydmljZS5maW5kU2VjdGlvbkJ5RmllbGRLZXkodGhpcy5zdGF0ZS5zZWxlY3RlZEZpZWxkS2V5KT8uaWQgfHwgbnVsbDtcclxuICB9XHJcblxyXG4gIC8vIOKUgOKUgOKUgCBUYWIgLyBQcmV2aWV3IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cclxuICBvblRhYkNoYW5nZShpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkVGFiSW5kZXggPSBpbmRleDtcclxuICAgIGlmIChpbmRleCA9PT0gMSkgdGhpcy5yZWZyZXNoUHJldmlldygpO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaFByZXZpZXcoKTogdm9pZCB7XHJcbiAgICB0aGlzLnByZXZpZXdLZXkrKztcclxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgLy8g4pSA4pSA4pSAIERpYWxvZyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHJcbiAgLyoqIENoaXVkZSBsYSBtb2RhbGUgcmVzdGl0dWVuZG8gbG8gc2NoZW1hIGNvcnJlbnRlLiAqL1xyXG4gIGNsb3NlRGlhbG9nKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kaWFsb2dSZWY/LmNsb3NlKHRoaXMuc3RhdGUuc2NoZW1hKTtcclxuICB9XHJcblxyXG4gIC8vIOKUgOKUgOKUgCBSZXNpemUgc2lkZWJhciDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHJcbiAgb25SZXNpemVTdGFydChldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIHRoaXMuaXNSZXNpemluZyA9IHRydWU7XHJcbiAgICB0aGlzLnJlc2l6ZVN0YXJ0WCA9IGV2ZW50LmNsaWVudFg7XHJcbiAgICB0aGlzLnJlc2l6ZVN0YXJ0V2lkdGggPSB0aGlzLnJpZ2h0U2lkZWJhcldpZHRoO1xyXG5cclxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMub25SZXNpemVNb3ZlKTtcclxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCB0aGlzLm9uUmVzaXplRW5kKTtcclxuICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gJ2V3LXJlc2l6ZSc7XHJcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnVzZXJTZWxlY3QgPSAnbm9uZSc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uUmVzaXplTW92ZSA9IChldmVudDogTW91c2VFdmVudCk6IHZvaWQgPT4ge1xyXG4gICAgaWYgKCF0aGlzLmlzUmVzaXppbmcpIHJldHVybjtcclxuICAgIGNvbnN0IGRlbHRhID0gdGhpcy5yZXNpemVTdGFydFggLSBldmVudC5jbGllbnRYO1xyXG4gICAgdGhpcy5yaWdodFNpZGViYXJXaWR0aCA9IE1hdGgubWF4KFxyXG4gICAgICB0aGlzLk1JTl9TSURFQkFSX1dJRFRILFxyXG4gICAgICBNYXRoLm1pbih0aGlzLk1BWF9TSURFQkFSX1dJRFRILCB0aGlzLnJlc2l6ZVN0YXJ0V2lkdGggKyBkZWx0YSksXHJcbiAgICApO1xyXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBvblJlc2l6ZUVuZCA9ICgpOiB2b2lkID0+IHtcclxuICAgIGlmICghdGhpcy5pc1Jlc2l6aW5nKSByZXR1cm47XHJcbiAgICB0aGlzLmlzUmVzaXppbmcgPSBmYWxzZTtcclxuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMub25SZXNpemVNb3ZlKTtcclxuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCB0aGlzLm9uUmVzaXplRW5kKTtcclxuICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gJyc7XHJcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnVzZXJTZWxlY3QgPSAnJztcclxuICAgIHRoaXMuc2F2ZVNpZGViYXJXaWR0aCgpO1xyXG4gIH07XHJcblxyXG4gIC8vIOKUgOKUgOKUgCBSZXNpemUgc2lkZWJhciBzaW5pc3RyYSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHJcbiAgb25MZWZ0UmVzaXplU3RhcnQoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB0aGlzLmlzUmVzaXppbmdMZWZ0ID0gdHJ1ZTtcclxuICAgIHRoaXMucmVzaXplU3RhcnRYID0gZXZlbnQuY2xpZW50WDtcclxuICAgIHRoaXMucmVzaXplU3RhcnRXaWR0aCA9IHRoaXMubGVmdFNpZGViYXJXaWR0aDtcclxuXHJcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCB0aGlzLm9uTGVmdFJlc2l6ZU1vdmUpO1xyXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMub25MZWZ0UmVzaXplRW5kKTtcclxuICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gJ2V3LXJlc2l6ZSc7XHJcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnVzZXJTZWxlY3QgPSAnbm9uZSc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uTGVmdFJlc2l6ZU1vdmUgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkID0+IHtcclxuICAgIGlmICghdGhpcy5pc1Jlc2l6aW5nTGVmdCkgcmV0dXJuO1xyXG4gICAgY29uc3QgZGVsdGEgPSBldmVudC5jbGllbnRYIC0gdGhpcy5yZXNpemVTdGFydFg7XHJcbiAgICB0aGlzLmxlZnRTaWRlYmFyV2lkdGggPSBNYXRoLm1heChcclxuICAgICAgdGhpcy5NSU5fTEVGVF9TSURFQkFSX1dJRFRILFxyXG4gICAgICBNYXRoLm1pbih0aGlzLk1BWF9MRUZUX1NJREVCQVJfV0lEVEgsIHRoaXMucmVzaXplU3RhcnRXaWR0aCArIGRlbHRhKSxcclxuICAgICk7XHJcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICB9O1xyXG5cclxuICBwcml2YXRlIG9uTGVmdFJlc2l6ZUVuZCA9ICgpOiB2b2lkID0+IHtcclxuICAgIGlmICghdGhpcy5pc1Jlc2l6aW5nTGVmdCkgcmV0dXJuO1xyXG4gICAgdGhpcy5pc1Jlc2l6aW5nTGVmdCA9IGZhbHNlO1xyXG4gICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5vbkxlZnRSZXNpemVNb3ZlKTtcclxuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCB0aGlzLm9uTGVmdFJlc2l6ZUVuZCk7XHJcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9ICcnO1xyXG4gICAgZG9jdW1lbnQuYm9keS5zdHlsZS51c2VyU2VsZWN0ID0gJyc7XHJcbiAgICB0aGlzLnNhdmVMZWZ0U2lkZWJhcldpZHRoKCk7XHJcbiAgfTtcclxuXHJcbiAgLy8g4pSA4pSA4pSAIFByaXZhdGUg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcblxyXG4gIHByaXZhdGUgY2hlY2tGb3JSZWNvdmVyeSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnBlcnNpc3RlbmNlU2VydmljZS5oYXNMb2NhbFN0b3JhZ2VEYXRhKCkpIHtcclxuICAgICAgY29uc3QgYWdlID0gdGhpcy5wZXJzaXN0ZW5jZVNlcnZpY2UuZ2V0TG9jYWxTdG9yYWdlQWdlKCk7XHJcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBhZ2VcclxuICAgICAgICA/IGBUcm92YXRvIHNhbHZhdGFnZ2lvIGRlbCAke2FnZS50b0xvY2FsZVN0cmluZygnaXQtSVQnKX0uIFZ1b2kgcmVjdXBlcmFybG8/YFxyXG4gICAgICAgIDogJ1Ryb3ZhdG8gc2FsdmF0YWdnaW8gcHJlY2VkZW50ZS4gVnVvaSByZWN1cGVyYXJsbz8nO1xyXG5cclxuICAgICAgY29uc3QgcmVmID0gdGhpcy5zbmFja0Jhci5vcGVuKG1lc3NhZ2UsICdSZWN1cGVyYScsIHsgZHVyYXRpb246IDEwMDAwIH0pO1xyXG4gICAgICByZWYub25BY3Rpb24oKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHNjaGVtYSA9IHRoaXMucGVyc2lzdGVuY2VTZXJ2aWNlLmxvYWRGcm9tTG9jYWxTdG9yYWdlKCk7XHJcbiAgICAgICAgaWYgKHNjaGVtYSkge1xyXG4gICAgICAgICAgdGhpcy5zdGF0ZVNlcnZpY2Uuc2V0U2NoZW1hKHNjaGVtYSk7XHJcbiAgICAgICAgICB0aGlzLnNob3dNZXNzYWdlKCdTY2hlbWEgcmVjdXBlcmF0bycpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGF1dG9TYXZlKCk6IHZvaWQge1xyXG4gICAgdHJ5IHtcclxuICAgICAgdGhpcy5wZXJzaXN0ZW5jZVNlcnZpY2Uuc2F2ZVRvTG9jYWxTdG9yYWdlKHRoaXMuc3RhdGUuc2NoZW1hKTtcclxuICAgICAgdGhpcy5zdGF0ZVNlcnZpY2UubWFya0FzU2F2ZWQoKTtcclxuICAgIH0gY2F0Y2gge1xyXG4gICAgICAvLyBTaWxlbnppb3NvIHBlciBhdXRvLXNhdmVcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlQnJlYWRjcnVtYigpOiB2b2lkIHtcclxuICAgIHRoaXMuYnJlYWRjcnVtYiA9IFtcclxuICAgICAge1xyXG4gICAgICAgIGxhYmVsOiB0aGlzLnN0YXRlLnNjaGVtYS50aXRsZSB8fCAnRm9ybScsXHJcbiAgICAgICAgaWQ6IHRoaXMuc3RhdGUuc2NoZW1hLmlkLFxyXG4gICAgICAgIHR5cGU6ICdmb3JtJyxcclxuICAgICAgICBhY3RpdmU6ICF0aGlzLnN0YXRlLnNlbGVjdGVkU2VjdGlvbklkICYmICF0aGlzLnN0YXRlLnNlbGVjdGVkRmllbGRLZXksXHJcbiAgICAgIH0sXHJcbiAgICBdO1xyXG5cclxuICAgIGlmICh0aGlzLnN0YXRlLnNlbGVjdGVkU2VjdGlvbklkKSB7XHJcbiAgICAgIGNvbnN0IHNlY3Rpb24gPSB0aGlzLnN0YXRlLnNjaGVtYS5zZWN0aW9ucy5maW5kKChzKSA9PiBzLmlkID09PSB0aGlzLnN0YXRlLnNlbGVjdGVkU2VjdGlvbklkKTtcclxuICAgICAgaWYgKHNlY3Rpb24pIHtcclxuICAgICAgICB0aGlzLmJyZWFkY3J1bWIucHVzaCh7XHJcbiAgICAgICAgICBsYWJlbDogc2VjdGlvbi50aXRsZSB8fCAnU2V6aW9uZScsXHJcbiAgICAgICAgICBpZDogc2VjdGlvbi5pZCxcclxuICAgICAgICAgIHR5cGU6ICdzZWN0aW9uJyxcclxuICAgICAgICAgIGFjdGl2ZTogIXRoaXMuc3RhdGUuc2VsZWN0ZWRGaWVsZEtleSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnN0YXRlLnNlbGVjdGVkRmllbGRLZXkpIHtcclxuICAgICAgY29uc3QgZmllbGQgPSB0aGlzLnN0YXRlU2VydmljZS5maW5kRmllbGRCeUtleSh0aGlzLnN0YXRlLnNlbGVjdGVkRmllbGRLZXkpO1xyXG4gICAgICBpZiAoZmllbGQpIHtcclxuICAgICAgICB0aGlzLmJyZWFkY3J1bWIucHVzaCh7XHJcbiAgICAgICAgICBsYWJlbDogZmllbGQubGFiZWwsXHJcbiAgICAgICAgICBpZDogZmllbGQua2V5LFxyXG4gICAgICAgICAgdHlwZTogJ2ZpZWxkJyxcclxuICAgICAgICAgIGFjdGl2ZTogdHJ1ZSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVBdmFpbGFibGVGaWVsZHMoKTogdm9pZCB7XHJcbiAgICBjb25zdCBmaWVsZHM6IFVpRWRpdG9yQXZhaWxhYmxlRmllbGRbXSA9IFtdO1xyXG4gICAgdGhpcy5zdGF0ZS5zY2hlbWEuc2VjdGlvbnMuZm9yRWFjaCgoc2VjdGlvbikgPT4ge1xyXG4gICAgICBzZWN0aW9uLmZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGFmOiBVaUVkaXRvckF2YWlsYWJsZUZpZWxkID0ge1xyXG4gICAgICAgICAga2V5OiBmaWVsZC5rZXksXHJcbiAgICAgICAgICBsYWJlbDogZmllbGQubGFiZWwsXHJcbiAgICAgICAgICB0eXBlOiBmaWVsZC50eXBlLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgaWYgKGZpZWxkLm9wdGlvbnMgJiYgQXJyYXkuaXNBcnJheShmaWVsZC5vcHRpb25zKSAmJiBmaWVsZC5vcHRpb25zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIGFmLm9wdGlvbnMgPSBmaWVsZC5vcHRpb25zLm1hcCgob3B0KSA9PiAoe1xyXG4gICAgICAgICAgICB2YWx1ZTogb3B0LnZhbHVlLFxyXG4gICAgICAgICAgICBsYWJlbDogb3B0LmxhYmVsLFxyXG4gICAgICAgICAgfSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmaWVsZHMucHVzaChhZik7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmF2YWlsYWJsZUZpZWxkcyA9IGZpZWxkcztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2hvd01lc3NhZ2UobWVzc2FnZTogc3RyaW5nLCBpc0Vycm9yID0gZmFsc2UpOiB2b2lkIHtcclxuICAgIHRoaXMuc25hY2tCYXIub3BlbihtZXNzYWdlLCAnQ2hpdWRpJywge1xyXG4gICAgICBkdXJhdGlvbjogMzAwMCxcclxuICAgICAgcGFuZWxDbGFzczogaXNFcnJvciA/IFsndWktc25hY2tiYXItZXJyb3InXSA6IFtdLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWRTaWRlYmFyV2lkdGgoKTogdm9pZCB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBzYXZlZFJpZ2h0ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5TSURFQkFSX1dJRFRIX0tFWSk7XHJcbiAgICAgIGlmIChzYXZlZFJpZ2h0KSB7XHJcbiAgICAgICAgY29uc3QgdyA9IHBhcnNlSW50KHNhdmVkUmlnaHQsIDEwKTtcclxuICAgICAgICBpZiAoIWlzTmFOKHcpICYmIHcgPj0gdGhpcy5NSU5fU0lERUJBUl9XSURUSCAmJiB3IDw9IHRoaXMuTUFYX1NJREVCQVJfV0lEVEgpIHtcclxuICAgICAgICAgIHRoaXMucmlnaHRTaWRlYmFyV2lkdGggPSB3O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBjb25zdCBzYXZlZExlZnQgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLkxFRlRfU0lERUJBUl9XSURUSF9LRVkpO1xyXG4gICAgICBpZiAoc2F2ZWRMZWZ0KSB7XHJcbiAgICAgICAgY29uc3QgdyA9IHBhcnNlSW50KHNhdmVkTGVmdCwgMTApO1xyXG4gICAgICAgIGlmICghaXNOYU4odykgJiYgdyA+PSB0aGlzLk1JTl9MRUZUX1NJREVCQVJfV0lEVEggJiYgdyA8PSB0aGlzLk1BWF9MRUZUX1NJREVCQVJfV0lEVEgpIHtcclxuICAgICAgICAgIHRoaXMubGVmdFNpZGViYXJXaWR0aCA9IHc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGNhdGNoIHtcclxuICAgICAgLy8gU2lsZW56aW9zb1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzYXZlU2lkZWJhcldpZHRoKCk6IHZvaWQge1xyXG4gICAgdHJ5IHtcclxuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5TSURFQkFSX1dJRFRIX0tFWSwgdGhpcy5yaWdodFNpZGViYXJXaWR0aC50b1N0cmluZygpKTtcclxuICAgIH0gY2F0Y2gge1xyXG4gICAgICAvLyBTaWxlbnppb3NvXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNhdmVMZWZ0U2lkZWJhcldpZHRoKCk6IHZvaWQge1xyXG4gICAgdHJ5IHtcclxuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5MRUZUX1NJREVCQVJfV0lEVEhfS0VZLCB0aGlzLmxlZnRTaWRlYmFyV2lkdGgudG9TdHJpbmcoKSk7XHJcbiAgICB9IGNhdGNoIHtcclxuICAgICAgLy8gU2lsZW56aW9zb1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
730
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1idWlsZGVyLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy11aS1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tYnVpbGRlci1lZGl0b3IvZm9ybS1idWlsZGVyLWVkaXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFFSCxPQUFPLEVBQ0wsU0FBUyxFQUNULHVCQUF1QixFQUN2QixpQkFBaUIsRUFHakIsTUFBTSxFQUNOLFFBQVEsRUFDUixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFlLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JFLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFZM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdkUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDbkYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFL0UsbUJBQW1CO0FBQ25CLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdEQUF3RCxD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UUFBUTs7MEJBQUksTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBtb2R1bGUgbmctdWktc3lzdGVtL2Zvcm0tYnVpbGRlci1lZGl0b3JcclxuICogQ29tcG9uZW50ZSBwcmluY2lwYWxlIGRlbGwnZWRpdG9yIHZpc3VhbGUgZGVsIGZvcm0gYnVpbGRlci5cclxuICpcclxuICogTGF5b3V0IGEgdHJlIHBhbm5lbGxpOlxyXG4gKiAtIFNpbmlzdHJhOiBwYWxldHRlIGRlaSB0aXBpIGRpIGNhbXBvIChkcmFnIHNvdXJjZSlcclxuICogLSBDZW50cm86IHNlemlvbmkgY29uIGNhbXBpIChkcm9wIHRhcmdldCArIGVkaXRvciBpbmxpbmUpXHJcbiAqIC0gRGVzdHJhOiBwYW5uZWxsbyBkaSBjb25maWd1cmF6aW9uZSBkZWwgY2FtcG8gc2VsZXppb25hdG9cclxuICpcclxuICogRnVuemlvbmFsaXRhIHByaW5jaXBhbGk6XHJcbiAqIC0gRHJhZyAmIGRyb3AgZGVpIGNhbXBpIGRhbGxhIHBhbGV0dGUgYWxsZSBzZXppb25pXHJcbiAqIC0gUmlvcmRpbm8gY2FtcGkgYWxsJ2ludGVybm8gZSB0cmEgc2V6aW9uaVxyXG4gKiAtIENvbmZpZ3VyYXppb25lIGNhbXBpIGluIHRlbXBvIHJlYWxlXHJcbiAqIC0gUHJldmlldyBsaXZlIGRlbCBmb3JtXHJcbiAqIC0gSW1wb3J0L2V4cG9ydCBKU09OXHJcbiAqIC0gQXV0by1zYXZlIHN1IGxvY2FsU3RvcmFnZVxyXG4gKi9cclxuXHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIE9uSW5pdCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgaW5qZWN0LFxyXG4gIE9wdGlvbmFsLFxyXG4gIEluamVjdCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIERyYWdEcm9wTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTWF0U25hY2tCYXIsIE1hdFNuYWNrQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuaW1wb3J0IHsgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xyXG5pbXBvcnQgeyBMdWNpZGVBbmd1bGFyTW9kdWxlIH0gZnJvbSAnbHVjaWRlLWFuZ3VsYXInO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBpbnRlcnZhbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBVaUZvcm1TY2hlbWEsIFVpRm9ybVNlY3Rpb24sIFVpRm9ybUZpZWxkRGVzY3JpcHRvciB9IGZyb20gJy4uL2Zvcm0tYnVpbGRlci90eXBlcy9pbmRleCc7XHJcblxyXG5pbXBvcnQge1xyXG4gIFVpRWRpdG9yU3RhdGUsXHJcbiAgVWlFZGl0b3JCcmVhZGNydW1iSXRlbSxcclxuICBVaUVkaXRvckZpZWxkUGFsZXR0ZUl0ZW0sXHJcbiAgVWlFZGl0b3JBdmFpbGFibGVGaWVsZCxcclxuICBVaUVkaXRvckRpYWxvZ0RhdGEsXHJcbn0gZnJvbSAnLi90eXBlcy9lZGl0b3IudHlwZXMnO1xyXG5cclxuaW1wb3J0IHsgVWlFZGl0b3JTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2VkaXRvci1zdGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVWlFZGl0b3JQZXJzaXN0ZW5jZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2VkaXRvci1wZXJzaXN0ZW5jZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVWlFZGl0b3JGaWVsZEZhY3RvcnlTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9maWVsZC1mYWN0b3J5LnNlcnZpY2UnO1xyXG5cclxuLy8gU290dG8tY29tcG9uZW50aVxyXG5pbXBvcnQgeyBVaUVkaXRvclRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL3N1Yi1jb21wb25lbnRzL2VkaXRvci10b29sYmFyL2VkaXRvci10b29sYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpRmllbGRQYWxldHRlQ29tcG9uZW50IH0gZnJvbSAnLi9zdWItY29tcG9uZW50cy9maWVsZC1wYWxldHRlL2ZpZWxkLXBhbGV0dGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlTZWN0aW9uRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9zdWItY29tcG9uZW50cy9zZWN0aW9uLWVkaXRvci9zZWN0aW9uLWVkaXRvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUVkaXRvckZpZWxkQ29uZmlnUGFuZWxDb21wb25lbnQgfSBmcm9tICcuL3N1Yi1jb21wb25lbnRzL2ZpZWxkLWNvbmZpZy1wYW5lbC9maWVsZC1jb25maWctcGFuZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlFZGl0b3JQcmV2aWV3Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9zdWItY29tcG9uZW50cy9wcmV2aWV3LWNvbnRhaW5lci9wcmV2aWV3LWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi9pbmRleCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3VpLWZvcm0tYnVpbGRlci1lZGl0b3InLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgRHJhZ0Ryb3BNb2R1bGUsXHJcbiAgICBNYXRTbmFja0Jhck1vZHVsZSxcclxuICAgIE1hdFRhYnNNb2R1bGUsXHJcbiAgICBMdWNpZGVBbmd1bGFyTW9kdWxlLFxyXG4gICAgVWlFZGl0b3JUb29sYmFyQ29tcG9uZW50LFxyXG4gICAgVWlGaWVsZFBhbGV0dGVDb21wb25lbnQsXHJcbiAgICBVaVNlY3Rpb25FZGl0b3JDb21wb25lbnQsXHJcbiAgICBVaUVkaXRvckZpZWxkQ29uZmlnUGFuZWxDb21wb25lbnQsXHJcbiAgICBVaUVkaXRvclByZXZpZXdDb250YWluZXJDb21wb25lbnQsXHJcbiAgICBVaUJ1dHRvbkNvbXBvbmVudCxcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1VpRWRpdG9yU3RhdGVTZXJ2aWNlLCBVaUVkaXRvclBlcnNpc3RlbmNlU2VydmljZSwgVWlFZGl0b3JGaWVsZEZhY3RvcnlTZXJ2aWNlXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cImVkaXRvci1yb290XCIgW2NsYXNzLmRpYWxvZy1tb2RlXT1cImlzRGlhbG9nTW9kZVwiPlxyXG4gICAgICA8IS0tIEhlYWRlciBjb24gY2hpdXN1cmEgKHNvbG8gaW4gbW9kYWxlKSAtLT5cclxuICAgICAgQGlmIChpc0RpYWxvZ01vZGUpIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZWRpdG9yLWRpYWxvZy1oZWFkZXJcIj5cclxuICAgICAgICAgIDxoMj5Gb3JtIEJ1aWxkZXIgLSBFZGl0b3IgVmlzdWFsZTwvaDI+XHJcbiAgICAgICAgICA8dWktYnV0dG9uXHJcbiAgICAgICAgICAgIGljb249XCJ4XCJcclxuICAgICAgICAgICAgdmFyaWFudD1cImdob3N0XCJcclxuICAgICAgICAgICAgc2l6ZT1cIm1kXCJcclxuICAgICAgICAgICAgYXJpYUxhYmVsPVwiQ2hpdWRpIGVkaXRvclwiXHJcbiAgICAgICAgICAgIHRvb2x0aXA9XCJDaGl1ZGkgZWRpdG9yXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlRGlhbG9nKClcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG5cclxuICAgICAgPCEtLSBUb29sYmFyIC0tPlxyXG4gICAgICA8dWktZWRpdG9yLXRvb2xiYXJcclxuICAgICAgICBbYnJlYWRjcnVtYl09XCJicmVhZGNydW1iXCJcclxuICAgICAgICBbaXNEaXJ0eV09XCJzdGF0ZS5pc0RpcnR5XCJcclxuICAgICAgICBbbGFzdFNhdmVkXT1cInN0YXRlLmxhc3RTYXZlZFwiXHJcbiAgICAgICAgKG5ld0Zvcm0pPVwib25OZXdGb3JtKClcIlxyXG4gICAgICAgIChpbXBvcnRKc29uKT1cIm9uSW1wb3J0SnNvbigpXCJcclxuICAgICAgICAoZXhwb3J0SnNvbik9XCJvbkV4cG9ydEpzb24oKVwiXHJcbiAgICAgICAgKHNhdmUpPVwib25TYXZlKClcIlxyXG4gICAgICAgIChjbGVhcik9XCJvbkNsZWFyKClcIlxyXG4gICAgICAgIChhZGRTZWN0aW9uKT1cIm9uQWRkU2VjdGlvbigpXCJcclxuICAgICAgLz5cclxuXHJcbiAgICAgIDwhLS0gVGFiczogRWRpdG9yIC8gUHJldmlldyAtLT5cclxuICAgICAgPG1hdC10YWItZ3JvdXBcclxuICAgICAgICBbc2VsZWN0ZWRJbmRleF09XCJzZWxlY3RlZFRhYkluZGV4XCJcclxuICAgICAgICAoc2VsZWN0ZWRJbmRleENoYW5nZSk9XCJvblRhYkNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICBjbGFzcz1cImVkaXRvci10YWJzXCJcclxuICAgICAgPlxyXG4gICAgICAgIDwhLS0gVGFiIEVkaXRvciAtLT5cclxuICAgICAgICA8bWF0LXRhYiBsYWJlbD1cIkVkaXRvclwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVkaXRvci1sYXlvdXRcIiBjZGtEcm9wTGlzdEdyb3VwPlxyXG4gICAgICAgICAgICA8IS0tIFBhbGV0dGUgKHNpZGViYXIgc2luaXN0cmEpIC0tPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJlZGl0b3Itc2lkZWJhciBsZWZ0XCJcclxuICAgICAgICAgICAgICBbc3R5bGUud2lkdGgucHhdPVwibGVmdFNpZGViYXJXaWR0aFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8dWktZmllbGQtcGFsZXR0ZSAvPlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwicmVzaXplLWhhbmRsZSByZXNpemUtaGFuZGxlLS1yaWdodFwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3MucmVzaXppbmddPVwiaXNSZXNpemluZ0xlZnRcIlxyXG4gICAgICAgICAgICAgICAgKG1vdXNlZG93bik9XCJvbkxlZnRSZXNpemVTdGFydCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICA+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPCEtLSBBcmVhIGNlbnRyYWxlIGNvbiBzZXppb25pIC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZWRpdG9yLW1haW5cIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvbnMtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICBAZm9yIChzZWN0aW9uIG9mIHN0YXRlLnNjaGVtYS5zZWN0aW9uczsgdHJhY2sgc2VjdGlvbi5pZCkge1xyXG4gICAgICAgICAgICAgICAgICA8dWktc2VjdGlvbi1lZGl0b3JcclxuICAgICAgICAgICAgICAgICAgICBbc2VjdGlvbl09XCJzZWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICBbaXNTZWxlY3RlZF09XCJzdGF0ZS5zZWxlY3RlZFNlY3Rpb25JZCA9PT0gc2VjdGlvbi5pZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkRmllbGRLZXldPVwic3RhdGUuc2VsZWN0ZWRGaWVsZEtleVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKHNlY3Rpb25VcGRhdGUpPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBzdGF0ZVNlcnZpY2UudXBkYXRlU2VjdGlvbihzZWN0aW9uLmlkLCAkZXZlbnQpXHJcbiAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgICAoc2VjdGlvbkRlbGV0ZSk9XCJvblNlY3Rpb25EZWxldGUoc2VjdGlvbi5pZClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChzZWN0aW9uRHVwbGljYXRlKT1cIm9uU2VjdGlvbkR1cGxpY2F0ZShzZWN0aW9uLmlkKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGZpZWxkU2VsZWN0KT1cIm9uRmllbGRTZWxlY3Qoc2VjdGlvbi5pZCwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGZpZWxkRHVwbGljYXRlKT1cIm9uRmllbGREdXBsaWNhdGUoc2VjdGlvbi5pZCwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGZpZWxkRGVsZXRlKT1cIm9uRmllbGREZWxldGUoc2VjdGlvbi5pZCwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGZpZWxkRHJvcCk9XCJvbkZpZWxkRHJvcCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAaWYgKHN0YXRlLnNjaGVtYS5zZWN0aW9ucy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVtcHR5LXN0YXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGx1Y2lkZS1pY29uXHJcbiAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwibGF5b3V0LXRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtzaXplXT1cIjY0XCJcclxuICAgICAgICAgICAgICAgICAgICA+PC9sdWNpZGUtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8aDM+TmVzc3VuYSBzZXppb25lIHByZXNlbnRlPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICA8cD5cclxuICAgICAgICAgICAgICAgICAgICAgIENsaWNjYSBzdSBcIlNlemlvbmVcIiBuZWxsYSB0b29sYmFyIHBlciBhZ2dpdW5nZXJlIGxhIHByaW1hXHJcbiAgICAgICAgICAgICAgICAgICAgICBzZXppb25lXHJcbiAgICAgICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDx1aS1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPVwiQWdnaXVuZ2kgUHJpbWEgU2V6aW9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBpY29uPVwicGx1c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25BZGRTZWN0aW9uKClcIlxyXG4gICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gQ29uZmlnIHBhbmVsIChzaWRlYmFyIGRlc3RyYSkgLS0+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzcz1cImVkaXRvci1zaWRlYmFyIHJpZ2h0XCJcclxuICAgICAgICAgICAgICBbc3R5bGUud2lkdGgucHhdPVwicmlnaHRTaWRlYmFyV2lkdGhcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJyZXNpemUtaGFuZGxlXCJcclxuICAgICAgICAgICAgICAgIFtjbGFzcy5yZXNpemluZ109XCJpc1Jlc2l6aW5nXCJcclxuICAgICAgICAgICAgICAgIChtb3VzZWRvd24pPVwib25SZXNpemVTdGFydCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICA+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPHVpLWVkaXRvci1maWVsZC1jb25maWctcGFuZWxcclxuICAgICAgICAgICAgICAgIFtmaWVsZF09XCJzZWxlY3RlZEZpZWxkXCJcclxuICAgICAgICAgICAgICAgIFthdmFpbGFibGVGaWVsZHNdPVwiYXZhaWxhYmxlRmllbGRzXCJcclxuICAgICAgICAgICAgICAgIChmaWVsZFVwZGF0ZSk9XCJcclxuICAgICAgICAgICAgICAgICAgb25GaWVsZFVwZGF0ZShcclxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZEZpZWxkU2VjdGlvbklkISxcclxuICAgICAgICAgICAgICAgICAgICBzdGF0ZS5zZWxlY3RlZEZpZWxkS2V5ISxcclxuICAgICAgICAgICAgICAgICAgICAkZXZlbnRcclxuICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbWF0LXRhYj5cclxuXHJcbiAgICAgICAgPCEtLSBUYWIgUHJldmlldyAtLT5cclxuICAgICAgICA8bWF0LXRhYiBsYWJlbD1cIkFudGVwcmltYVwiPlxyXG4gICAgICAgICAgPHVpLWVkaXRvci1wcmV2aWV3LWNvbnRhaW5lclxyXG4gICAgICAgICAgICBbc2NoZW1hXT1cInN0YXRlLnNjaGVtYVwiXHJcbiAgICAgICAgICAgIFtrZXldPVwicHJldmlld0tleVwiXHJcbiAgICAgICAgICAgIChyZWZyZXNoKT1cInJlZnJlc2hQcmV2aWV3KClcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L21hdC10YWI+XHJcbiAgICAgIDwvbWF0LXRhYi1ncm91cD5cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbXHJcbiAgICBgXHJcbiAgICAgIEB1c2UgJy4uLy4uL2NvcmUvdG9rZW5zL21peGlucycgYXMgdWk7XHJcblxyXG4gICAgICAuZWRpdG9yLXJvb3Qge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXVpLWNvbG9yLWJnLXN1YnRsZSk7XHJcblxyXG4gICAgICAgICYuZGlhbG9nLW1vZGUge1xyXG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmVkaXRvci1kaWFsb2ctaGVhZGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXVpLXNwYWNpbmctMykgdmFyKC0tdWktc3BhY2luZy00KTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS11aS1jb2xvci1zdXJmYWNlKTtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdWktY29sb3ItYm9yZGVyKTtcclxuICAgICAgICBib3gtc2hhZG93OiB2YXIoLS11aS1zaGFkb3ctc20pO1xyXG5cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICBmb250LXNpemU6IHZhcigtLXVpLWZvbnQtc2l6ZS1sZyk7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgY29sb3I6IHZhcigtLXVpLWNvbG9yLXRleHQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogU3RpbGUgcGVyIGlsIHB1bHNhbnRlIGRpIGNoaXVzdXJhIChnZXN0aXRvIGRhIFVpQnV0dG9uKSAqL1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuZWRpdG9yLXRhYnMge1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgICAgIC8qIFN0aWxlIGludGVzdGF6aW9uZSB0YWIgKi9cclxuICAgICAgICA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLWhlYWRlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS11aS1jb2xvci1zdXJmYWNlKTtcclxuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS11aS1jb2xvci1ib3JkZXIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogU3RpbGUgZXRpY2hldHRhIHRhYiAqL1xyXG4gICAgICAgIDo6bmctZGVlcCAubWF0LW1kYy10YWIgLm1kYy10YWJfX3RleHQtbGFiZWwge1xyXG4gICAgICAgICAgY29sb3I6IHZhcigtLXVpLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICBmb250LXNpemU6IHZhcigtLXVpLWZvbnQtc2l6ZS1zbSk7XHJcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogVGFiIGF0dGl2bzogdGVzdG8gZXZpZGVuemlhdG8gKi9cclxuICAgICAgICA6Om5nLWRlZXAgLm1hdC1tZGMtdGFiLm1kYy10YWItLWFjdGl2ZSAubWRjLXRhYl9fdGV4dC1sYWJlbCB7XHJcbiAgICAgICAgICBjb2xvcjogdmFyKC0tdWktY29sb3ItcHJpbWFyeSk7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogSW5kaWNhdG9yZSB0YWIgYXR0aXZvIChpbmsgYmFyKSAqL1xyXG4gICAgICAgIDo6bmctZGVlcCAubWF0LW1kYy10YWItaGVhZGVyIC5tZGMtdGFiLWluZGljYXRvcl9fY29udGVudC0tdW5kZXJsaW5lIHtcclxuICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tdWktY29sb3ItcHJpbWFyeSk7XHJcbiAgICAgICAgICBib3JkZXItd2lkdGg6IDNweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIDo6bmctZGVlcCAubWF0LW1kYy10YWItYm9keS13cmFwcGVyIHtcclxuICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgOjpuZy1kZWVwIC5tYXQtbWRjLXRhYi1ib2R5IHtcclxuICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIDo6bmctZGVlcCAubWF0LW1kYy10YWItYm9keS1jb250ZW50IHtcclxuICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuZWRpdG9yLWxheW91dCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmVkaXRvci1zaWRlYmFyIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS11aS1jb2xvci1zdXJmYWNlKTtcclxuICAgICAgICBmbGV4LXNocmluazogMDtcclxuXHJcbiAgICAgICAgJi5sZWZ0IHtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLXVpLWNvbG9yLWJvcmRlcik7XHJcbiAgICAgICAgICBtaW4td2lkdGg6IDIwMHB4O1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYucmlnaHQge1xyXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS11aS1jb2xvci1ib3JkZXIpO1xyXG4gICAgICAgICAgbWluLXdpZHRoOiA0MDBweDtcclxuICAgICAgICAgIG1heC13aWR0aDogMTIwMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmVkaXRvci1tYWluIHtcclxuICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIG1pbi13aWR0aDogMDtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICBwYWRkaW5nOiB2YXIoLS11aS1zcGFjaW5nLTQpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXVpLWNvbG9yLWJnLXN1YnRsZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5zZWN0aW9ucy1jb250YWluZXIge1xyXG4gICAgICAgIG1heC13aWR0aDogMTIwMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBnYXA6IHZhcigtLXVpLXNwYWNpbmctNCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5yZXNpemUtaGFuZGxlIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICB3aWR0aDogNnB4O1xyXG4gICAgICAgIGN1cnNvcjogZXctcmVzaXplO1xyXG4gICAgICAgIHotaW5kZXg6IDEwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdWktdHJhbnNpdGlvbi1mYXN0KTtcclxuXHJcbiAgICAgICAgLyogSGFuZGxlIHNpbmlzdHJvIChwZXIgc2lkZWJhciBkZXN0cmEpICovXHJcbiAgICAgICAgbGVmdDogMDtcclxuXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgbGVmdDogLTNweDtcclxuICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgIHdpZHRoOiAxMnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAmLnJlc2l6aW5nIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChcclxuICAgICAgICAgICAgaW4gc3JnYixcclxuICAgICAgICAgICAgdmFyKC0tdWktY29sb3ItcHJpbWFyeSkgMzAlLFxyXG4gICAgICAgICAgICB0cmFuc3BhcmVudFxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYucmVzaXppbmcge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KFxyXG4gICAgICAgICAgICBpbiBzcmdiLFxyXG4gICAgICAgICAgICB2YXIoLS11aS1jb2xvci1wcmltYXJ5KSA1MCUsXHJcbiAgICAgICAgICAgIHRyYW5zcGFyZW50XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLyogSGFuZGxlIGRlc3RybyAocGVyIHNpZGViYXIgc2luaXN0cmEpICovXHJcbiAgICAgIC5yZXNpemUtaGFuZGxlLS1yaWdodCB7XHJcbiAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICByaWdodDogMDtcclxuXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgICByaWdodDogLTNweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5lbXB0eS1zdGF0ZSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogdmFyKC0tdWktc3BhY2luZy0xMikgdmFyKC0tdWktc3BhY2luZy04KTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXVpLWNvbG9yLXRleHQtbXV0ZWQpO1xyXG5cclxuICAgICAgICBsdWNpZGUtaWNvbiB7XHJcbiAgICAgICAgICBvcGFjaXR5OiAwLjQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICBtYXJnaW46IDAgMCB2YXIoLS11aS1zcGFjaW5nLTIpIDA7XHJcbiAgICAgICAgICBmb250LXNpemU6IHZhcigtLXVpLWZvbnQtc2l6ZS14bCk7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgY29sb3I6IHZhcigtLXVpLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgbWFyZ2luOiAwIDAgdmFyKC0tdWktc3BhY2luZy02KSAwO1xyXG4gICAgICAgICAgZm9udC1zaXplOiB2YXIoLS11aS1mb250LXNpemUtbWQpO1xyXG4gICAgICAgICAgY29sb3I6IHZhcigtLXVpLWNvbG9yLXRleHQtbXV0ZWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLyogUmVzcG9uc2l2ZSAqL1xyXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMTI4MHB4KSB7XHJcbiAgICAgICAgLmVkaXRvci1zaWRlYmFyLmxlZnQge1xyXG4gICAgICAgICAgd2lkdGg6IDI1MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk2MHB4KSB7XHJcbiAgICAgICAgLmVkaXRvci1sYXlvdXQge1xyXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5lZGl0b3Itc2lkZWJhciB7XHJcbiAgICAgICAgICAmLmxlZnQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICYucmlnaHQge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB0b3A6IDY0cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMzUwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDY0cHgpO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxMDAwO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiB2YXIoLS11aS1zaGFkb3ctbGcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS11aS10cmFuc2l0aW9uLW5vcm1hbCk7XHJcblxyXG4gICAgICAgICAgICAucmVzaXplLWhhbmRsZSB7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgYCxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWlGb3JtQnVpbGRlckVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAvKiogQGludGVybmFsIFNlcnZpemlvIHBlciBsbyBzdGF0byBkZWxsJ2VkaXRvci4gKi9cclxuICByZWFkb25seSBzdGF0ZVNlcnZpY2UgPSBpbmplY3QoVWlFZGl0b3JTdGF0ZVNlcnZpY2UpO1xyXG5cclxuICAvKiogQGludGVybmFsIFNlcnZpemlvIHBlciBsYSBwZXJzaXN0ZW56YS4gKi9cclxuICBwcml2YXRlIHJlYWRvbmx5IHBlcnNpc3RlbmNlU2VydmljZSA9IGluamVjdChVaUVkaXRvclBlcnNpc3RlbmNlU2VydmljZSk7XHJcblxyXG4gIC8qKiBAaW50ZXJuYWwgRmFjdG9yeSBwZXIgaSBjYW1waS4gKi9cclxuICBwcml2YXRlIHJlYWRvbmx5IGZpZWxkRmFjdG9yeSA9IGluamVjdChVaUVkaXRvckZpZWxkRmFjdG9yeVNlcnZpY2UpO1xyXG5cclxuICAvKiogQGludGVybmFsIFNuYWNrIGJhciBwZXIgaSBtZXNzYWdnaS4gKi9cclxuICBwcml2YXRlIHJlYWRvbmx5IHNuYWNrQmFyID0gaW5qZWN0KE1hdFNuYWNrQmFyKTtcclxuXHJcbiAgLyoqIEBpbnRlcm5hbCBDaGFuZ2UgZGV0ZWN0b3IuICovXHJcbiAgcHJpdmF0ZSByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG5cclxuICAvKiogQGludGVybmFsIFN1YmplY3QgcGVyIGxhIGRpc3RydXppb25lLiAqL1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICAvKiogU3RhdG8gY29ycmVudGUgZGVsbCdlZGl0b3IuICovXHJcbiAgc3RhdGU6IFVpRWRpdG9yU3RhdGU7XHJcblxyXG4gIC8qKiBJbmRpY2UgZGVsIHRhYiBzZWxlemlvbmF0byAoMD1FZGl0b3IsIDE9UHJldmlldykuICovXHJcbiAgc2VsZWN0ZWRUYWJJbmRleCA9IDA7XHJcblxyXG4gIC8qKiBCcmVhZGNydW1iIGRpIG5hdmlnYXppb25lLiAqL1xyXG4gIGJyZWFkY3J1bWI6IFVpRWRpdG9yQnJlYWRjcnVtYkl0ZW1bXSA9IFtdO1xyXG5cclxuICAvKiogU2UgaWwgY29tcG9uZW50ZSBlIGFwZXJ0byBpbiBtb2RhbGl0YSBkaWFsb2cuICovXHJcbiAgaXNEaWFsb2dNb2RlID0gZmFsc2U7XHJcblxyXG4gIC8qKiBDaGlhdmUgcGVyIGZvcnphcmUgaWwgcmUtcmVuZGVyIGRlbCBwcmV2aWV3LiAqL1xyXG4gIHByZXZpZXdLZXkgPSAwO1xyXG5cclxuICAvKiogQ2FtcGkgZGlzcG9uaWJpbGkgcGVyIGxlIGNvbmRpemlvbmkgKGNhY2hlKS4gKi9cclxuICBhdmFpbGFibGVGaWVsZHM6IFVpRWRpdG9yQXZhaWxhYmxlRmllbGRbXSA9IFtdO1xyXG5cclxuICAvKiogTGFyZ2hlenphIGRlbGxhIHNpZGViYXIgc2luaXN0cmEgKHB4KS4gKi9cclxuICBsZWZ0U2lkZWJhcldpZHRoID0gMjgwO1xyXG5cclxuICAvKiogTGFyZ2hlenphIGRlbGxhIHNpZGViYXIgZGVzdHJhIChweCkuICovXHJcbiAgcmlnaHRTaWRlYmFyV2lkdGggPSA0NjA7XHJcblxyXG4gIC8qKiBTZSBlIGluIGNvcnNvIGlsIHJlc2l6ZSBkZWxsYSBzaWRlYmFyIGRlc3RyYS4gKi9cclxuICBpc1Jlc2l6aW5nID0gZmFsc2U7XHJcblxyXG4gIC8qKiBTZSBlIGluIGNvcnNvIGlsIHJlc2l6ZSBkZWxsYSBzaWRlYmFyIHNpbmlzdHJhLiAqL1xyXG4gIGlzUmVzaXppbmdMZWZ0ID0gZmFsc2U7XHJcblxyXG4gIC8qKiBAaW50ZXJuYWwgTGltaXRpIGRpIHJlc2l6ZSBzaWRlYmFyIGRlc3RyYS4gKi9cclxuICBwcml2YXRlIHJlYWRvbmx5IE1JTl9TSURFQkFSX1dJRFRIID0gNDAwO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgTUFYX1NJREVCQVJfV0lEVEggPSAxMjAwO1xyXG5cclxuICAvKiogQGludGVybmFsIExpbWl0aSBkaSByZXNpemUgc2lkZWJhciBzaW5pc3RyYS4gKi9cclxuICBwcml2YXRlIHJlYWRvbmx5IE1JTl9MRUZUX1NJREVCQVJfV0lEVEggPSAyMDA7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBNQVhfTEVGVF9TSURFQkFSX1dJRFRIID0gNTAwO1xyXG5cclxuICBwcml2YXRlIHJlc2l6ZVN0YXJ0WCA9IDA7XHJcbiAgcHJpdmF0ZSByZXNpemVTdGFydFdpZHRoID0gMDtcclxuICBwcml2YXRlIHJlYWRvbmx5IFNJREVCQVJfV0lEVEhfS0VZID0gJ3VpLWVkaXRvci1yaWdodC1zaWRlYmFyLXdpZHRoJztcclxuICBwcml2YXRlIHJlYWRvbmx5IExFRlRfU0lERUJBUl9XSURUSF9LRVkgPSAndWktZWRpdG9yLWxlZnQtc2lkZWJhci13aWR0aCc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQE9wdGlvbmFsKCkgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFVpRm9ybUJ1aWxkZXJFZGl0b3JDb21wb25lbnQ+LFxyXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkaWFsb2dEYXRhOiBVaUVkaXRvckRpYWxvZ0RhdGEsXHJcbiAgKSB7XHJcbiAgICB0aGlzLnN0YXRlID0gdGhpcy5zdGF0ZVNlcnZpY2UuZ2V0Q3VycmVudFN0YXRlKCk7XHJcbiAgICB0aGlzLmlzRGlhbG9nTW9kZSA9ICEhdGhpcy5kaWFsb2dSZWY7XHJcblxyXG4gICAgLy8gQ2FyaWNhIHNjaGVtYSBpbml6aWFsZSBzZSBmb3JuaXRvIHZpYSBkaWFsb2cgZGF0YVxyXG4gICAgaWYgKHRoaXMuZGlhbG9nRGF0YT8uaW5pdGlhbFNjaGVtYSkge1xyXG4gICAgICB0aGlzLnN0YXRlU2VydmljZS5zZXRTY2hlbWEodGhpcy5kaWFsb2dEYXRhLmluaXRpYWxTY2hlbWEpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubG9hZFNpZGViYXJXaWR0aCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAvLyBTb3R0b3Njcml6aW9uZSBhbGxvIHN0YXRvXHJcbiAgICB0aGlzLnN0YXRlU2VydmljZS5zdGF0ZSQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcclxuICAgICAgdGhpcy5zdGF0ZSA9IHN0YXRlO1xyXG4gICAgICB0aGlzLnVwZGF0ZUJyZWFkY3J1bWIoKTtcclxuICAgICAgdGhpcy51cGRhdGVBdmFpbGFibGVGaWVsZHMoKTtcclxuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBDb250cm9sbGEgc2FsdmF0YWdnaSBwcmVjZWRlbnRpIGRhIHJlY3VwZXJhcmVcclxuICAgIHRoaXMuY2hlY2tGb3JSZWNvdmVyeSgpO1xyXG5cclxuICAgIC8vIEF1dG8tc2F2ZSBvZ25pIDMwIHNlY29uZGlcclxuICAgIGludGVydmFsKDMwMDAwKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLnN0YXRlLmlzRGlydHkpIHtcclxuICAgICAgICAgIHRoaXMuYXV0b1NhdmUoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIC8vIOKUgOKUgOKUgCBUb29sYmFyIGFjdGlvbnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcblxyXG4gIC8qKiBBZ2dpdW5nZSB1bmEgbnVvdmEgc2V6aW9uZS4gKi9cclxuICBvbkFkZFNlY3Rpb24oKTogdm9pZCB7XHJcbiAgICB0aGlzLnN0YXRlU2VydmljZS5hZGRTZWN0aW9uKCk7XHJcbiAgICB0aGlzLnNob3dNZXNzYWdlKCdTZXppb25lIGFnZ2l1bnRhJyk7XHJcbiAgfVxyXG5cclxuICAvKiogU2FsdmEgbmVsIGxvY2FsU3RvcmFnZS4gKi9cclxuICBvblNhdmUoKTogdm9pZCB7XHJcbiAgICB0cnkge1xyXG4gICAgICB0aGlzLnBlcnNpc3RlbmNlU2VydmljZS5zYXZlVG9Mb2NhbFN0b3JhZ2UodGhpcy5zdGF0ZS5zY2hlbWEpO1xyXG4gICAgICB0aGlzLnN0YXRlU2VydmljZS5tYXJrQXNTYXZlZCgpO1xyXG4gICAgICB0aGlzLnNob3dNZXNzYWdlKCdTYWx2YXRvIGNvbiBzdWNjZXNzbycpO1xyXG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xyXG4gICAgICB0aGlzLnNob3dNZXNzYWdlKGVycm9yLm1lc3NhZ2UgfHwgJ0Vycm9yZSBkdXJhbnRlIGlsIHNhbHZhdGFnZ2lvJywgdHJ1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiogQ3JlYSB1biBudW92byBmb3JtLiAqL1xyXG4gIG9uTmV3Rm9ybSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnN0YXRlLmlzRGlydHkgJiYgIWNvbmZpcm0oJ0NpIHNvbm8gbW9kaWZpY2hlIG5vbiBzYWx2YXRlLiBDb250aW51YXJlPycpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnJlc2V0KCk7XHJcbiAgICB0aGlzLnNob3dNZXNzYWdlKCdOdW92byBmb3JtIGNyZWF0bycpO1xyXG4gIH1cclxuXHJcbiAgLyoqIEltcG9ydGEgZGEgZmlsZSBKU09OLiAqL1xyXG4gIG9uSW1wb3J0SnNvbigpOiB2b2lkIHtcclxuICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICAgIGlucHV0LnR5cGUgPSAnZmlsZSc7XHJcbiAgICBpbnB1dC5hY2NlcHQgPSAnLmpzb24nO1xyXG5cclxuICAgIGlucHV0Lm9uY2hhbmdlID0gYXN5bmMgKGU6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBmaWxlID0gZS50YXJnZXQuZmlsZXNbMF07XHJcbiAgICAgIGlmICghZmlsZSkgcmV0dXJuO1xyXG5cclxuICAgICAgdHJ5IHtcclxuICAgICAgICBjb25zdCBzY2hlbWEgPSBhd2FpdCB0aGlzLnBlcnNpc3RlbmNlU2VydmljZS5pbXBvcnRGcm9tSlNPTihmaWxlKTtcclxuICAgICAgICBpZiAodGhpcy5zdGF0ZS5pc0RpcnR5ICYmICFjb25maXJtKCdDaSBzb25vIG1vZGlmaWNoZSBub24gc2FsdmF0ZS4gU292cmFzY3JpdmVyZT8nKSkge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5zZXRTY2hlbWEoc2NoZW1hKTtcclxuICAgICAgICB0aGlzLnNob3dNZXNzYWdlKCdTY2hlbWEgaW1wb3J0YXRvIGNvbiBzdWNjZXNzbycpO1xyXG4gICAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XHJcbiAgICAgICAgdGhpcy5zaG93TWVzc2FnZShlcnJvci5tZXNzYWdlIHx8IFwiRXJyb3JlIGR1cmFudGUgbCdpbXBvcnRcIiwgdHJ1ZSk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgaW5wdXQuY2xpY2soKTtcclxuICB9XHJcblxyXG4gIC8qKiBFc3BvcnRhIGNvbWUgZmlsZSBKU09OLiAqL1xyXG4gIG9uRXhwb3J0SnNvbigpOiB2b2lkIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IHZhbGlkYXRpb24gPSB0aGlzLnN0YXRlU2VydmljZS52YWxpZGF0ZVNjaGVtYSgpO1xyXG4gICAgICBpZiAoIXZhbGlkYXRpb24udmFsaWQpIHtcclxuICAgICAgICBjb25zdCBtZXNzYWdlID0gYFNjaGVtYSBjb24gZXJyb3JpOlxcbiR7dmFsaWRhdGlvbi5lcnJvcnMubWFwKChlKSA9PiBlLm1lc3NhZ2UpLmpvaW4oJ1xcbicpfWA7XHJcbiAgICAgICAgaWYgKCFjb25maXJtKGAke21lc3NhZ2V9XFxuXFxuRXNwb3J0YXJlIGNvbXVucXVlP2ApKSByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5wZXJzaXN0ZW5jZVNlcnZpY2UuZXhwb3J0VG9KU09OKHRoaXMuc3RhdGUuc2NoZW1hKTtcclxuICAgICAgdGhpcy5zaG93TWVzc2FnZSgnU2NoZW1hIGVzcG9ydGF0byBjb24gc3VjY2Vzc28nKTtcclxuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcclxuICAgICAgdGhpcy5zaG93TWVzc2FnZShlcnJvci5tZXNzYWdlIHx8IFwiRXJyb3JlIGR1cmFudGUgbCdleHBvcnRcIiwgdHJ1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiogUHVsaXNjZSB0dXR0byBsbyBzY2hlbWEuICovXHJcbiAgb25DbGVhcigpOiB2b2lkIHtcclxuICAgIGlmICghY29uZmlybSgnVnVvaSBkYXZ2ZXJvIGVsaW1pbmFyZSB0dXR0bz8gUXVlc3RhIGF6aW9uZSBub24gcHVvIGVzc2VyZSBhbm51bGxhdGEuJykpIHJldHVybjtcclxuICAgIHRoaXMucGVyc2lzdGVuY2VTZXJ2aWNlLmNyZWF0ZUJhY2t1cCh0aGlzLnN0YXRlLnNjaGVtYSk7XHJcbiAgICB0aGlzLnN0YXRlU2VydmljZS5jbGVhclNjaGVtYSgpO1xyXG4gICAgdGhpcy5zaG93TWVzc2FnZSgnU2NoZW1hIHB1bGl0bycpO1xyXG4gIH1cclxuXHJcbiAgLy8g4pSA4pSA4pSAIFNlemlvbmkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcblxyXG4gIG9uU2VjdGlvbkR1cGxpY2F0ZShzZWN0aW9uSWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5zdGF0ZVNlcnZpY2UuZHVwbGljYXRlU2VjdGlvbihzZWN0aW9uSWQpO1xyXG4gICAgdGhpcy5zaG93TWVzc2FnZSgnU2V6aW9uZSBkdXBsaWNhdGEnKTtcclxuICB9XHJcblxyXG4gIG9uU2VjdGlvbkRlbGV0ZShzZWN0aW9uSWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKCFjb25maXJtKCdWdW9pIGRhdnZlcm8gZWxpbWluYXJlIHF1ZXN0YSBzZXppb25lPycpKSByZXR1cm47XHJcbiAgICB0aGlzLnN0YXRlU2VydmljZS5yZW1vdmVTZWN0aW9uKHNlY3Rpb25JZCk7XHJcbiAgICB0aGlzLnNob3dNZXNzYWdlKCdTZXppb25lIGVsaW1pbmF0YScpO1xyXG4gIH1cclxuXHJcbiAgLy8g4pSA4pSA4pSAIENhbXBpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cclxuICBvbkZpZWxkU2VsZWN0KHNlY3Rpb25JZDogc3RyaW5nLCBmaWVsZEtleTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnN0YXRlU2VydmljZS5zZWxlY3RGaWVsZChzZWN0aW9uSWQsIGZpZWxkS2V5KTtcclxuICB9XHJcblxyXG4gIG9uRmllbGREdXBsaWNhdGUoc2VjdGlvbklkOiBzdHJpbmcsIGZpZWxkS2V5OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmR1cGxpY2F0ZUZpZWxkKHNlY3Rpb25JZCwgZmllbGRLZXkpO1xyXG4gICAgdGhpcy5zaG93TWVzc2FnZSgnQ2FtcG8gZHVwbGljYXRvJyk7XHJcbiAgfVxyXG5cclxuICBvbkZpZWxkRGVsZXRlKHNlY3Rpb25JZDogc3RyaW5nLCBmaWVsZEtleTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAoIWNvbmZpcm0oJ1Z1b2kgZGF2dmVybyBlbGltaW5hcmUgcXVlc3RvIGNhbXBvPycpKSByZXR1cm47XHJcbiAgICB0aGlzLnN0YXRlU2VydmljZS5yZW1vdmVGaWVsZChzZWN0aW9uSWQsIGZpZWxkS2V5KTtcclxuICAgIHRoaXMuc2hvd01lc3NhZ2UoJ0NhbXBvIGVsaW1pbmF0bycpO1xyXG4gIH1cclxuXHJcbiAgb25GaWVsZFVwZGF0ZShzZWN0aW9uSWQ6IHN0cmluZywgZmllbGRLZXk6IHN0cmluZywgdXBkYXRlczogUGFydGlhbDxVaUZvcm1GaWVsZERlc2NyaXB0b3I+KTogdm9pZCB7XHJcbiAgICB0aGlzLnN0YXRlU2VydmljZS51cGRhdGVGaWVsZChzZWN0aW9uSWQsIGZpZWxkS2V5LCB1cGRhdGVzKTtcclxuICB9XHJcblxyXG4gIC8qKiBHZXN0aXNjZSBpbCBkcm9wIGRpIHVuIGNhbXBvIChkYWxsYSBwYWxldHRlIG8gdHJhIHNlemlvbmkpLiAqL1xyXG4gIG9uRmllbGREcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxhbnk+KTogdm9pZCB7XHJcbiAgICBjb25zdCBwcmV2SWQgPSBldmVudC5wcmV2aW91c0NvbnRhaW5lci5pZDtcclxuXHJcbiAgICBpZiAocHJldklkLnN0YXJ0c1dpdGgoJ3BhbGV0dGUtJykpIHtcclxuICAgICAgLy8gRHJvcCBkYWxsYSBwYWxldHRlXHJcbiAgICAgIGNvbnN0IHBhbGV0dGVJdGVtOiBVaUVkaXRvckZpZWxkUGFsZXR0ZUl0ZW0gPSBldmVudC5pdGVtLmRhdGE7XHJcbiAgICAgIGNvbnN0IHNlY3Rpb246IFVpRm9ybVNlY3Rpb24gPSBldmVudC5jb250YWluZXIuZGF0YTtcclxuICAgICAgY29uc3QgbmV3RmllbGQgPSB0aGlzLmZpZWxkRmFjdG9yeS5jcmVhdGVEZWZhdWx0RmllbGQocGFsZXR0ZUl0ZW0udHlwZSk7XHJcbiAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmFkZEZpZWxkQXRJbmRleChzZWN0aW9uLmlkLCBuZXdGaWVsZCwgZXZlbnQuY3VycmVudEluZGV4KTtcclxuICAgICAgdGhpcy5zaG93TWVzc2FnZShgQ2FtcG8gJHtwYWxldHRlSXRlbS5sYWJlbH0gYWdnaXVudG9gKTtcclxuICAgIH0gZWxzZSBpZiAoZXZlbnQucHJldmlvdXNDb250YWluZXIgIT09IGV2ZW50LmNvbnRhaW5lcikge1xyXG4gICAgICAvLyBTcG9zdGFtZW50byB0cmEgc2V6aW9uaVxyXG4gICAgICBjb25zdCBmaWVsZDogVWlGb3JtRmllbGREZXNjcmlwdG9yID0gZXZlbnQuaXRlbS5kYXRhO1xyXG4gICAgICBjb25zdCBmcm9tU2VjdGlvbjogVWlGb3JtU2VjdGlvbiA9IGV2ZW50LnByZXZpb3VzQ29udGFpbmVyLmRhdGE7XHJcbiAgICAgIGNvbnN0IHRvU2VjdGlvbjogVWlGb3JtU2VjdGlvbiA9IGV2ZW50LmNvbnRhaW5lci5kYXRhO1xyXG4gICAgICB0aGlzLnN0YXRlU2VydmljZS5tb3ZlRmllbGRCZXR3ZWVuU2VjdGlvbnMoZnJvbVNlY3Rpb24uaWQsIHRvU2VjdGlvbi5pZCwgZmllbGQua2V5LCBldmVudC5jdXJyZW50SW5kZXgpO1xyXG4gICAgICB0aGlzLnNob3dNZXNzYWdlKCdDYW1wbyBzcG9zdGF0bycpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gUmlvcmRpbm8gbmVsbGEgc3Rlc3NhIHNlemlvbmVcclxuICAgICAgY29uc3Qgc2VjdGlvbjogVWlGb3JtU2VjdGlvbiA9IGV2ZW50LmNvbnRhaW5lci5kYXRhO1xyXG4gICAgICB0aGlzLnN0YXRlU2VydmljZS5tb3ZlRmllbGRJblNlY3Rpb24oc2VjdGlvbi5pZCwgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIC8vIOKUgOKUgOKUgCBDb21wdXRlZCBwcm9wZXJ0aWVzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cclxuICAvKiogQ2FtcG8gYXR0dWFsbWVudGUgc2VsZXppb25hdG8uICovXHJcbiAgZ2V0IHNlbGVjdGVkRmllbGQoKTogVWlGb3JtRmllbGREZXNjcmlwdG9yIHwgbnVsbCB7XHJcbiAgICBpZiAoIXRoaXMuc3RhdGUuc2VsZWN0ZWRGaWVsZEtleSkgcmV0dXJuIG51bGw7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZVNlcnZpY2UuZmluZEZpZWxkQnlLZXkodGhpcy5zdGF0ZS5zZWxlY3RlZEZpZWxkS2V5KTtcclxuICB9XHJcblxyXG4gIC8qKiBJRCBkZWxsYSBzZXppb25lIGRlbCBjYW1wbyBzZWxlemlvbmF0by4gKi9cclxuICBnZXQgc2VsZWN0ZWRGaWVsZFNlY3Rpb25JZCgpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIGlmICghdGhpcy5zdGF0ZS5zZWxlY3RlZEZpZWxkS2V5KSByZXR1cm4gbnVsbDtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlU2VydmljZS5maW5kU2VjdGlvbkJ5RmllbGRLZXkodGhpcy5zdGF0ZS5zZWxlY3RlZEZpZWxkS2V5KT8uaWQgfHwgbnVsbDtcclxuICB9XHJcblxyXG4gIC8vIOKUgOKUgOKUgCBUYWIgLyBQcmV2aWV3IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cclxuICBvblRhYkNoYW5nZShpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkVGFiSW5kZXggPSBpbmRleDtcclxuICAgIGlmIChpbmRleCA9PT0gMSkgdGhpcy5yZWZyZXNoUHJldmlldygpO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaFByZXZpZXcoKTogdm9pZCB7XHJcbiAgICB0aGlzLnByZXZpZXdLZXkrKztcclxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgLy8g4pSA4pSA4pSAIERpYWxvZyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHJcbiAgLyoqIENoaXVkZSBsYSBtb2RhbGUgcmVzdGl0dWVuZG8gbG8gc2NoZW1hIGNvcnJlbnRlLiAqL1xyXG4gIGNsb3NlRGlhbG9nKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kaWFsb2dSZWY/LmNsb3NlKHRoaXMuc3RhdGUuc2NoZW1hKTtcclxuICB9XHJcblxyXG4gIC8vIOKUgOKUgOKUgCBSZXNpemUgc2lkZWJhciDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHJcbiAgb25SZXNpemVTdGFydChldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIHRoaXMuaXNSZXNpemluZyA9IHRydWU7XHJcbiAgICB0aGlzLnJlc2l6ZVN0YXJ0WCA9IGV2ZW50LmNsaWVudFg7XHJcbiAgICB0aGlzLnJlc2l6ZVN0YXJ0V2lkdGggPSB0aGlzLnJpZ2h0U2lkZWJhcldpZHRoO1xyXG5cclxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMub25SZXNpemVNb3ZlKTtcclxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCB0aGlzLm9uUmVzaXplRW5kKTtcclxuICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gJ2V3LXJlc2l6ZSc7XHJcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnVzZXJTZWxlY3QgPSAnbm9uZSc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uUmVzaXplTW92ZSA9IChldmVudDogTW91c2VFdmVudCk6IHZvaWQgPT4ge1xyXG4gICAgaWYgKCF0aGlzLmlzUmVzaXppbmcpIHJldHVybjtcclxuICAgIGNvbnN0IGRlbHRhID0gdGhpcy5yZXNpemVTdGFydFggLSBldmVudC5jbGllbnRYO1xyXG4gICAgdGhpcy5yaWdodFNpZGViYXJXaWR0aCA9IE1hdGgubWF4KFxyXG4gICAgICB0aGlzLk1JTl9TSURFQkFSX1dJRFRILFxyXG4gICAgICBNYXRoLm1pbih0aGlzLk1BWF9TSURFQkFSX1dJRFRILCB0aGlzLnJlc2l6ZVN0YXJ0V2lkdGggKyBkZWx0YSksXHJcbiAgICApO1xyXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBvblJlc2l6ZUVuZCA9ICgpOiB2b2lkID0+IHtcclxuICAgIGlmICghdGhpcy5pc1Jlc2l6aW5nKSByZXR1cm47XHJcbiAgICB0aGlzLmlzUmVzaXppbmcgPSBmYWxzZTtcclxuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMub25SZXNpemVNb3ZlKTtcclxuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCB0aGlzLm9uUmVzaXplRW5kKTtcclxuICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gJyc7XHJcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnVzZXJTZWxlY3QgPSAnJztcclxuICAgIHRoaXMuc2F2ZVNpZGViYXJXaWR0aCgpO1xyXG4gIH07XHJcblxyXG4gIC8vIOKUgOKUgOKUgCBSZXNpemUgc2lkZWJhciBzaW5pc3RyYSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHJcbiAgb25MZWZ0UmVzaXplU3RhcnQoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB0aGlzLmlzUmVzaXppbmdMZWZ0ID0gdHJ1ZTtcclxuICAgIHRoaXMucmVzaXplU3RhcnRYID0gZXZlbnQuY2xpZW50WDtcclxuICAgIHRoaXMucmVzaXplU3RhcnRXaWR0aCA9IHRoaXMubGVmdFNpZGViYXJXaWR0aDtcclxuXHJcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCB0aGlzLm9uTGVmdFJlc2l6ZU1vdmUpO1xyXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMub25MZWZ0UmVzaXplRW5kKTtcclxuICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gJ2V3LXJlc2l6ZSc7XHJcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnVzZXJTZWxlY3QgPSAnbm9uZSc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uTGVmdFJlc2l6ZU1vdmUgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkID0+IHtcclxuICAgIGlmICghdGhpcy5pc1Jlc2l6aW5nTGVmdCkgcmV0dXJuO1xyXG4gICAgY29uc3QgZGVsdGEgPSBldmVudC5jbGllbnRYIC0gdGhpcy5yZXNpemVTdGFydFg7XHJcbiAgICB0aGlzLmxlZnRTaWRlYmFyV2lkdGggPSBNYXRoLm1heChcclxuICAgICAgdGhpcy5NSU5fTEVGVF9TSURFQkFSX1dJRFRILFxyXG4gICAgICBNYXRoLm1pbih0aGlzLk1BWF9MRUZUX1NJREVCQVJfV0lEVEgsIHRoaXMucmVzaXplU3RhcnRXaWR0aCArIGRlbHRhKSxcclxuICAgICk7XHJcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICB9O1xyXG5cclxuICBwcml2YXRlIG9uTGVmdFJlc2l6ZUVuZCA9ICgpOiB2b2lkID0+IHtcclxuICAgIGlmICghdGhpcy5pc1Jlc2l6aW5nTGVmdCkgcmV0dXJuO1xyXG4gICAgdGhpcy5pc1Jlc2l6aW5nTGVmdCA9IGZhbHNlO1xyXG4gICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5vbkxlZnRSZXNpemVNb3ZlKTtcclxuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCB0aGlzLm9uTGVmdFJlc2l6ZUVuZCk7XHJcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9ICcnO1xyXG4gICAgZG9jdW1lbnQuYm9keS5zdHlsZS51c2VyU2VsZWN0ID0gJyc7XHJcbiAgICB0aGlzLnNhdmVMZWZ0U2lkZWJhcldpZHRoKCk7XHJcbiAgfTtcclxuXHJcbiAgLy8g4pSA4pSA4pSAIFByaXZhdGUg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcblxyXG4gIHByaXZhdGUgY2hlY2tGb3JSZWNvdmVyeSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnBlcnNpc3RlbmNlU2VydmljZS5oYXNMb2NhbFN0b3JhZ2VEYXRhKCkpIHtcclxuICAgICAgY29uc3QgYWdlID0gdGhpcy5wZXJzaXN0ZW5jZVNlcnZpY2UuZ2V0TG9jYWxTdG9yYWdlQWdlKCk7XHJcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBhZ2VcclxuICAgICAgICA/IGBUcm92YXRvIHNhbHZhdGFnZ2lvIGRlbCAke2FnZS50b0xvY2FsZVN0cmluZygnaXQtSVQnKX0uIFZ1b2kgcmVjdXBlcmFybG8/YFxyXG4gICAgICAgIDogJ1Ryb3ZhdG8gc2FsdmF0YWdnaW8gcHJlY2VkZW50ZS4gVnVvaSByZWN1cGVyYXJsbz8nO1xyXG5cclxuICAgICAgY29uc3QgcmVmID0gdGhpcy5zbmFja0Jhci5vcGVuKG1lc3NhZ2UsICdSZWN1cGVyYScsIHsgZHVyYXRpb246IDEwMDAwIH0pO1xyXG4gICAgICByZWYub25BY3Rpb24oKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHNjaGVtYSA9IHRoaXMucGVyc2lzdGVuY2VTZXJ2aWNlLmxvYWRGcm9tTG9jYWxTdG9yYWdlKCk7XHJcbiAgICAgICAgaWYgKHNjaGVtYSkge1xyXG4gICAgICAgICAgdGhpcy5zdGF0ZVNlcnZpY2Uuc2V0U2NoZW1hKHNjaGVtYSk7XHJcbiAgICAgICAgICB0aGlzLnNob3dNZXNzYWdlKCdTY2hlbWEgcmVjdXBlcmF0bycpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGF1dG9TYXZlKCk6IHZvaWQge1xyXG4gICAgdHJ5IHtcclxuICAgICAgdGhpcy5wZXJzaXN0ZW5jZVNlcnZpY2Uuc2F2ZVRvTG9jYWxTdG9yYWdlKHRoaXMuc3RhdGUuc2NoZW1hKTtcclxuICAgICAgdGhpcy5zdGF0ZVNlcnZpY2UubWFya0FzU2F2ZWQoKTtcclxuICAgIH0gY2F0Y2gge1xyXG4gICAgICAvLyBTaWxlbnppb3NvIHBlciBhdXRvLXNhdmVcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlQnJlYWRjcnVtYigpOiB2b2lkIHtcclxuICAgIHRoaXMuYnJlYWRjcnVtYiA9IFtcclxuICAgICAge1xyXG4gICAgICAgIGxhYmVsOiB0aGlzLnN0YXRlLnNjaGVtYS50aXRsZSB8fCAnRm9ybScsXHJcbiAgICAgICAgaWQ6IHRoaXMuc3RhdGUuc2NoZW1hLmlkLFxyXG4gICAgICAgIHR5cGU6ICdmb3JtJyxcclxuICAgICAgICBhY3RpdmU6ICF0aGlzLnN0YXRlLnNlbGVjdGVkU2VjdGlvbklkICYmICF0aGlzLnN0YXRlLnNlbGVjdGVkRmllbGRLZXksXHJcbiAgICAgIH0sXHJcbiAgICBdO1xyXG5cclxuICAgIGlmICh0aGlzLnN0YXRlLnNlbGVjdGVkU2VjdGlvbklkKSB7XHJcbiAgICAgIGNvbnN0IHNlY3Rpb24gPSB0aGlzLnN0YXRlLnNjaGVtYS5zZWN0aW9ucy5maW5kKChzKSA9PiBzLmlkID09PSB0aGlzLnN0YXRlLnNlbGVjdGVkU2VjdGlvbklkKTtcclxuICAgICAgaWYgKHNlY3Rpb24pIHtcclxuICAgICAgICB0aGlzLmJyZWFkY3J1bWIucHVzaCh7XHJcbiAgICAgICAgICBsYWJlbDogc2VjdGlvbi50aXRsZSB8fCAnU2V6aW9uZScsXHJcbiAgICAgICAgICBpZDogc2VjdGlvbi5pZCxcclxuICAgICAgICAgIHR5cGU6ICdzZWN0aW9uJyxcclxuICAgICAgICAgIGFjdGl2ZTogIXRoaXMuc3RhdGUuc2VsZWN0ZWRGaWVsZEtleSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnN0YXRlLnNlbGVjdGVkRmllbGRLZXkpIHtcclxuICAgICAgY29uc3QgZmllbGQgPSB0aGlzLnN0YXRlU2VydmljZS5maW5kRmllbGRCeUtleSh0aGlzLnN0YXRlLnNlbGVjdGVkRmllbGRLZXkpO1xyXG4gICAgICBpZiAoZmllbGQpIHtcclxuICAgICAgICB0aGlzLmJyZWFkY3J1bWIucHVzaCh7XHJcbiAgICAgICAgICBsYWJlbDogZmllbGQubGFiZWwsXHJcbiAgICAgICAgICBpZDogZmllbGQua2V5LFxyXG4gICAgICAgICAgdHlwZTogJ2ZpZWxkJyxcclxuICAgICAgICAgIGFjdGl2ZTogdHJ1ZSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVBdmFpbGFibGVGaWVsZHMoKTogdm9pZCB7XHJcbiAgICBjb25zdCBmaWVsZHM6IFVpRWRpdG9yQXZhaWxhYmxlRmllbGRbXSA9IFtdO1xyXG4gICAgdGhpcy5zdGF0ZS5zY2hlbWEuc2VjdGlvbnMuZm9yRWFjaCgoc2VjdGlvbikgPT4ge1xyXG4gICAgICBzZWN0aW9uLmZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGFmOiBVaUVkaXRvckF2YWlsYWJsZUZpZWxkID0ge1xyXG4gICAgICAgICAga2V5OiBmaWVsZC5rZXksXHJcbiAgICAgICAgICBsYWJlbDogZmllbGQubGFiZWwsXHJcbiAgICAgICAgICB0eXBlOiBmaWVsZC50eXBlLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgaWYgKGZpZWxkLm9wdGlvbnMgJiYgQXJyYXkuaXNBcnJheShmaWVsZC5vcHRpb25zKSAmJiBmaWVsZC5vcHRpb25zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIGFmLm9wdGlvbnMgPSBmaWVsZC5vcHRpb25zLm1hcCgob3B0KSA9PiAoe1xyXG4gICAgICAgICAgICB2YWx1ZTogb3B0LnZhbHVlLFxyXG4gICAgICAgICAgICBsYWJlbDogb3B0LmxhYmVsLFxyXG4gICAgICAgICAgfSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmaWVsZHMucHVzaChhZik7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmF2YWlsYWJsZUZpZWxkcyA9IGZpZWxkcztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2hvd01lc3NhZ2UobWVzc2FnZTogc3RyaW5nLCBpc0Vycm9yID0gZmFsc2UpOiB2b2lkIHtcclxuICAgIHRoaXMuc25hY2tCYXIub3BlbihtZXNzYWdlLCAnQ2hpdWRpJywge1xyXG4gICAgICBkdXJhdGlvbjogMzAwMCxcclxuICAgICAgcGFuZWxDbGFzczogaXNFcnJvciA/IFsndWktc25hY2tiYXItZXJyb3InXSA6IFtdLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWRTaWRlYmFyV2lkdGgoKTogdm9pZCB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBzYXZlZFJpZ2h0ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5TSURFQkFSX1dJRFRIX0tFWSk7XHJcbiAgICAgIGlmIChzYXZlZFJpZ2h0KSB7XHJcbiAgICAgICAgY29uc3QgdyA9IHBhcnNlSW50KHNhdmVkUmlnaHQsIDEwKTtcclxuICAgICAgICBpZiAoIWlzTmFOKHcpICYmIHcgPj0gdGhpcy5NSU5fU0lERUJBUl9XSURUSCAmJiB3IDw9IHRoaXMuTUFYX1NJREVCQVJfV0lEVEgpIHtcclxuICAgICAgICAgIHRoaXMucmlnaHRTaWRlYmFyV2lkdGggPSB3O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBjb25zdCBzYXZlZExlZnQgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLkxFRlRfU0lERUJBUl9XSURUSF9LRVkpO1xyXG4gICAgICBpZiAoc2F2ZWRMZWZ0KSB7XHJcbiAgICAgICAgY29uc3QgdyA9IHBhcnNlSW50KHNhdmVkTGVmdCwgMTApO1xyXG4gICAgICAgIGlmICghaXNOYU4odykgJiYgdyA+PSB0aGlzLk1JTl9MRUZUX1NJREVCQVJfV0lEVEggJiYgdyA8PSB0aGlzLk1BWF9MRUZUX1NJREVCQVJfV0lEVEgpIHtcclxuICAgICAgICAgIHRoaXMubGVmdFNpZGViYXJXaWR0aCA9IHc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGNhdGNoIHtcclxuICAgICAgLy8gU2lsZW56aW9zb1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzYXZlU2lkZWJhcldpZHRoKCk6IHZvaWQge1xyXG4gICAgdHJ5IHtcclxuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5TSURFQkFSX1dJRFRIX0tFWSwgdGhpcy5yaWdodFNpZGViYXJXaWR0aC50b1N0cmluZygpKTtcclxuICAgIH0gY2F0Y2gge1xyXG4gICAgICAvLyBTaWxlbnppb3NvXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNhdmVMZWZ0U2lkZWJhcldpZHRoKCk6IHZvaWQge1xyXG4gICAgdHJ5IHtcclxuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5MRUZUX1NJREVCQVJfV0lEVEhfS0VZLCB0aGlzLmxlZnRTaWRlYmFyV2lkdGgudG9TdHJpbmcoKSk7XHJcbiAgICB9IGNhdGNoIHtcclxuICAgICAgLy8gU2lsZW56aW9zb1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -18,4 +18,6 @@ export { UiOptionsEditorComponent } from './sub-components/options-editor/option
|
|
|
18
18
|
export { UiEditorFormValuesPanelComponent } from './sub-components/form-values-panel/form-values-panel.component';
|
|
19
19
|
// ── Tipi ──
|
|
20
20
|
export * from './types/editor.types';
|
|
21
|
-
|
|
21
|
+
// ── Preset ──
|
|
22
|
+
export { PRESET_ANAGRAFICA, PRESET_TICKET, PRESET_SURVEY, EDITOR_PRESETS } from './presets/editor-presets';
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy11aS1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tYnVpbGRlci1lZGl0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsOEJBQThCO0FBQzlCLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRS9FLGlDQUFpQztBQUNqQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUUzRSxtREFBbUQ7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdkUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDbkYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFL0UsMkRBQTJEO0FBQzNELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQ3JILE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQ25ILE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQzdHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQzFHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBRWxILGFBQWE7QUFDYixjQUFjLHNCQUFzQixDQUFDO0FBRXJDLGVBQWU7QUFDZixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIOKUgOKUgCBDb21wb25lbnRlIHByaW5jaXBhbGUg4pSA4pSAXHJcbmV4cG9ydCB7IFVpRm9ybUJ1aWxkZXJFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tYnVpbGRlci1lZGl0b3IuY29tcG9uZW50JztcclxuXHJcbi8vIOKUgOKUgCBTZXJ2aXppbyBhcGVydHVyYSBtb2RhbGUg4pSA4pSAXHJcbmV4cG9ydCB7IFVpRm9ybUJ1aWxkZXJFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi9mb3JtLWJ1aWxkZXItZWRpdG9yLnNlcnZpY2UnO1xyXG5cclxuLy8g4pSA4pSAIFNlcnZpemkgaW50ZXJuaSAoZXNwb3N0aSBwZXIgdXNvIGF2YW56YXRvKSDilIDilIBcclxuZXhwb3J0IHsgVWlFZGl0b3JTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2VkaXRvci1zdGF0ZS5zZXJ2aWNlJztcclxuZXhwb3J0IHsgVWlFZGl0b3JQZXJzaXN0ZW5jZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2VkaXRvci1wZXJzaXN0ZW5jZS5zZXJ2aWNlJztcclxuZXhwb3J0IHsgVWlFZGl0b3JGaWVsZEZhY3RvcnlTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9maWVsZC1mYWN0b3J5LnNlcnZpY2UnO1xyXG5cclxuLy8g4pSA4pSAIFNvdHRvLWNvbXBvbmVudGkgKGVzcG9zdGkgcGVyIGNvbXBvc2l6aW9uZSBjdXN0b20pIOKUgOKUgFxyXG5leHBvcnQgeyBVaUVkaXRvclRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL3N1Yi1jb21wb25lbnRzL2VkaXRvci10b29sYmFyL2VkaXRvci10b29sYmFyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IFVpRmllbGRQYWxldHRlQ29tcG9uZW50IH0gZnJvbSAnLi9zdWItY29tcG9uZW50cy9maWVsZC1wYWxldHRlL2ZpZWxkLXBhbGV0dGUuY29tcG9uZW50JztcclxuZXhwb3J0IHsgVWlTZWN0aW9uRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9zdWItY29tcG9uZW50cy9zZWN0aW9uLWVkaXRvci9zZWN0aW9uLWVkaXRvci5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBVaUVkaXRvckZpZWxkQ29uZmlnUGFuZWxDb21wb25lbnQgfSBmcm9tICcuL3N1Yi1jb21wb25lbnRzL2ZpZWxkLWNvbmZpZy1wYW5lbC9maWVsZC1jb25maWctcGFuZWwuY29tcG9uZW50JztcclxuZXhwb3J0IHsgVWlFZGl0b3JQcmV2aWV3Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9zdWItY29tcG9uZW50cy9wcmV2aWV3LWNvbnRhaW5lci9wcmV2aWV3LWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBVaVZhbGlkYXRpb25FZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL3N1Yi1jb21wb25lbnRzL3ZhbGlkYXRpb24tZWRpdG9yL3ZhbGlkYXRpb24tZWRpdG9yLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IFVpQ29uZGl0aW9uRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9zdWItY29tcG9uZW50cy9jb25kaXRpb24tZWRpdG9yL2NvbmRpdGlvbi1lZGl0b3IuY29tcG9uZW50JztcclxuZXhwb3J0IHsgVWlPcHRpb25zRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9zdWItY29tcG9uZW50cy9vcHRpb25zLWVkaXRvci9vcHRpb25zLWVkaXRvci5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBVaUVkaXRvckZvcm1WYWx1ZXNQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vc3ViLWNvbXBvbmVudHMvZm9ybS12YWx1ZXMtcGFuZWwvZm9ybS12YWx1ZXMtcGFuZWwuY29tcG9uZW50JztcclxuXHJcbi8vIOKUgOKUgCBUaXBpIOKUgOKUgFxyXG5leHBvcnQgKiBmcm9tICcuL3R5cGVzL2VkaXRvci50eXBlcyc7XHJcblxyXG4vLyDilIDilIAgUHJlc2V0IOKUgOKUgFxyXG5leHBvcnQgeyBQUkVTRVRfQU5BR1JBRklDQSwgUFJFU0VUX1RJQ0tFVCwgUFJFU0VUX1NVUlZFWSwgRURJVE9SX1BSRVNFVFMgfSBmcm9tICcuL3ByZXNldHMvZWRpdG9yLXByZXNldHMnO1xyXG5leHBvcnQgdHlwZSB7IEVkaXRvclByZXNldEluZm8gfSBmcm9tICcuL3ByZXNldHMvZWRpdG9yLXByZXNldHMnO1xyXG4iXX0=
|