ng-tailwind 6.1.3 → 6.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/ngt-checkbox/ngt-checkbox.component.d.ts +6 -6
- package/components/ngt-datatable/ngt-datatable.component.d.ts +24 -24
- package/components/ngt-date/ngt-date.component.d.ts +8 -8
- package/components/ngt-dropdown/ngt-dropdown.component.d.ts +6 -6
- package/components/ngt-floating-button/ngt-floating-button.component.d.ts +13 -13
- package/components/ngt-form/ngt-form.component.d.ts +5 -5
- package/components/ngt-popover/ngt-popover-tooltip/ngt-popover-tooltip.component.d.ts +5 -5
- package/components/ngt-popover/ngt-popover.component.d.ts +6 -6
- package/components/ngt-select/ngt-select.component.d.ts +8 -8
- package/components/ngt-shining/ngt-shining.component.d.ts +6 -6
- package/components/ngt-slider/ngt-slider.component.d.ts +6 -6
- package/components/ngt-svg/ngt-svg.module.d.ts +2 -3
- package/esm2022/base/ngt-base-ng-model.mjs +1 -1
- package/esm2022/components/ngt-action/ngt-action.component.mjs +6 -6
- package/esm2022/components/ngt-action/ngt-action.module.mjs +4 -4
- package/esm2022/components/ngt-button/ngt-button.component.mjs +6 -6
- package/esm2022/components/ngt-button/ngt-button.module.mjs +4 -4
- package/esm2022/components/ngt-checkbox/ngt-checkbox.component.mjs +13 -13
- package/esm2022/components/ngt-checkbox/ngt-checkbox.module.mjs +4 -4
- package/esm2022/components/ngt-content/ngt-content.component.mjs +6 -6
- package/esm2022/components/ngt-content/ngt-content.module.mjs +4 -4
- package/esm2022/components/ngt-context-menu/ngt-context-menu.component.mjs +3 -3
- package/esm2022/components/ngt-context-menu/ngt-context-menu.directive.mjs +5 -5
- package/esm2022/components/ngt-context-menu/ngt-context-menu.module.mjs +4 -4
- package/esm2022/components/ngt-datatable/ngt-datatable.component.mjs +39 -37
- package/esm2022/components/ngt-datatable/ngt-datatable.module.mjs +4 -4
- package/esm2022/components/ngt-datatable/ngt-tbody/ngt-tbody.component.mjs +6 -6
- package/esm2022/components/ngt-datatable/ngt-td/ngt-td.component.mjs +6 -6
- package/esm2022/components/ngt-datatable/ngt-td-check/ngt-td-check.component.mjs +6 -6
- package/esm2022/components/ngt-datatable/ngt-th/ngt-th.component.mjs +6 -6
- package/esm2022/components/ngt-datatable/ngt-th-check/ngt-th-check.component.mjs +6 -6
- package/esm2022/components/ngt-datatable/ngt-thead/ngt-thead.component.mjs +6 -6
- package/esm2022/components/ngt-datatable/ngt-tr/ngt-tr.component.mjs +6 -6
- package/esm2022/components/ngt-date/ngt-date.component.mjs +18 -19
- package/esm2022/components/ngt-date/ngt-date.module.mjs +6 -6
- package/esm2022/components/ngt-dropdown/ngt-dropdown-container/ngt-dropdown-container.component.mjs +3 -3
- package/esm2022/components/ngt-dropdown/ngt-dropdown.component.mjs +13 -13
- package/esm2022/components/ngt-dropdown/ngt-dropdown.module.mjs +4 -4
- package/esm2022/components/ngt-dropzone/custom-dropzone-preview/custom-dropzone-preview.component.mjs +5 -5
- package/esm2022/components/ngt-dropzone/ngt-dropzone-file-viewer/ngt-dropzone-file-viewer.component.mjs +5 -5
- package/esm2022/components/ngt-dropzone/ngt-dropzone-view/ngt-dropzone-view.component.mjs +4 -4
- package/esm2022/components/ngt-dropzone/ngt-dropzone.component.mjs +6 -6
- package/esm2022/components/ngt-dropzone/ngt-dropzone.module.mjs +4 -4
- package/esm2022/components/ngt-floating-button/ngt-floating-button.component.mjs +11 -11
- package/esm2022/components/ngt-floating-button/ngt-floating-button.module.mjs +4 -4
- package/esm2022/components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.component.mjs +6 -6
- package/esm2022/components/ngt-form/ngt-form.component.mjs +13 -13
- package/esm2022/components/ngt-form/ngt-form.module.mjs +4 -4
- package/esm2022/components/ngt-header-nav/ngt-header-nav.component.mjs +6 -6
- package/esm2022/components/ngt-header-nav/ngt-header-nav.module.mjs +4 -4
- package/esm2022/components/ngt-helper/ngt-helper.component.mjs +6 -6
- package/esm2022/components/ngt-helper/ngt-helper.module.mjs +4 -4
- package/esm2022/components/ngt-input/ngt-input.component.mjs +6 -6
- package/esm2022/components/ngt-input/ngt-input.module.mjs +4 -4
- package/esm2022/components/ngt-modal/ngt-modal-body/ngt-modal-body.component.mjs +6 -6
- package/esm2022/components/ngt-modal/ngt-modal-footer/ngt-modal-footer.component.mjs +6 -6
- package/esm2022/components/ngt-modal/ngt-modal-header/ngt-modal-header.component.mjs +6 -6
- package/esm2022/components/ngt-modal/ngt-modal.component.mjs +6 -6
- package/esm2022/components/ngt-modal/ngt-modal.module.mjs +4 -4
- package/esm2022/components/ngt-multi-select/ngt-multi-select.component.mjs +6 -6
- package/esm2022/components/ngt-multi-select/ngt-multi-select.module.mjs +4 -4
- package/esm2022/components/ngt-pagination/ngt-pagination.component.mjs +6 -6
- package/esm2022/components/ngt-pagination/ngt-pagination.module.mjs +4 -4
- package/esm2022/components/ngt-popover/ngt-popover-tooltip/ngt-popover-tooltip.component.mjs +10 -10
- package/esm2022/components/ngt-popover/ngt-popover.component.mjs +13 -13
- package/esm2022/components/ngt-popover/ngt-popover.directive.mjs +5 -5
- package/esm2022/components/ngt-popover/ngt-popover.module.mjs +4 -4
- package/esm2022/components/ngt-portlet/ngt-portlet-body/ngt-portlet-body.component.mjs +6 -6
- package/esm2022/components/ngt-portlet/ngt-portlet-footer/ngt-portlet-footer.component.mjs +6 -6
- package/esm2022/components/ngt-portlet/ngt-portlet-header/ngt-portlet-header.component.mjs +6 -6
- package/esm2022/components/ngt-portlet/ngt-portlet.component.mjs +6 -6
- package/esm2022/components/ngt-portlet/ngt-portlet.module.mjs +4 -4
- package/esm2022/components/ngt-radio-button/ngt-radio-button-container/ngt-radio-button-container.component.mjs +3 -3
- package/esm2022/components/ngt-radio-button/ngt-radio-button.component.mjs +6 -6
- package/esm2022/components/ngt-radio-button/ngt-radio-button.module.mjs +4 -4
- package/esm2022/components/ngt-section/ngt-section.component.mjs +6 -6
- package/esm2022/components/ngt-section/ngt-section.module.mjs +4 -4
- package/esm2022/components/ngt-select/ngt-select.component.mjs +16 -16
- package/esm2022/components/ngt-select/ngt-select.directive.mjs +12 -12
- package/esm2022/components/ngt-select/ngt-select.module.mjs +4 -4
- package/esm2022/components/ngt-shining/ngt-shining.component.mjs +13 -13
- package/esm2022/components/ngt-shining/ngt-shining.module.mjs +4 -4
- package/esm2022/components/ngt-sidenav/ngt-sidenav.component.mjs +6 -6
- package/esm2022/components/ngt-sidenav/ngt-sidenav.module.mjs +4 -4
- package/esm2022/components/ngt-slider/ngt-slider.component.mjs +16 -16
- package/esm2022/components/ngt-slider/ngt-slider.module.mjs +4 -4
- package/esm2022/components/ngt-svg/ngt-svg.component.mjs +5 -5
- package/esm2022/components/ngt-svg/ngt-svg.module.mjs +8 -12
- package/esm2022/components/ngt-tag/ngt-tag.component.mjs +6 -6
- package/esm2022/components/ngt-tag/ngt-tag.module.mjs +4 -4
- package/esm2022/components/ngt-textarea/ngt-textarea.component.mjs +6 -6
- package/esm2022/components/ngt-textarea/ngt-textarea.module.mjs +4 -4
- package/esm2022/components/ngt-validation/ngt-validation.component.mjs +6 -6
- package/esm2022/components/ngt-validation/ngt-validation.module.mjs +4 -4
- package/esm2022/directives/ngt-stylizable/ngt-stylizable.directive.mjs +5 -5
- package/esm2022/directives/ngt-stylizable/ngt-stylizable.module.mjs +4 -4
- package/esm2022/helpers/enum/enum.mjs +1 -1
- package/esm2022/services/http/ngt-http-validation.service.mjs +1 -1
- package/esm2022/services/ngt-stylizable/ngt-stylizable.service.mjs +1 -1
- package/fesm2022/ng-tailwind.mjs +492 -495
- package/fesm2022/ng-tailwind.mjs.map +1 -1
- package/package.json +1 -1
- package/services/http/ngt-http-validation.service.d.ts +3 -5
|
@@ -173,21 +173,21 @@ export class NgtTextareaComponent extends NgtBaseNgModel {
|
|
|
173
173
|
this.subscriptions.forEach(subscription => subscription.unsubscribe());
|
|
174
174
|
this.subscriptions = [];
|
|
175
175
|
}
|
|
176
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
177
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
176
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtTextareaComponent, deps: [{ token: i0.Injector }, { token: i1.NgtStylizableDirective, optional: true, self: true }, { token: i2.ControlContainer, host: true, optional: true }, { token: i3.NgtFormComponent, optional: true, skipSelf: true }, { token: i0.Renderer2 }, { token: i4.NgtTranslateService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
177
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NgtTextareaComponent, selector: "ngt-textarea", inputs: { label: "label", placeholder: "placeholder", rows: "rows", showCharactersLength: "showCharactersLength", helpTitle: "helpTitle", helpText: "helpText", helpTextColor: "helpTextColor", shining: "shining", name: "name", isDisabled: "isDisabled", isReadonly: "isReadonly", jit: "jit", focus: "focus", isRequired: "isRequired", maxLength: "maxLength" }, providers: [
|
|
178
178
|
NgtMakeProvider(NgtTextareaComponent),
|
|
179
179
|
], viewQueries: [{ propertyName: "element", first: true, predicate: ["element"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label class=\"{{ shining ? '' : 'block' }} mb-2 flex {{ ngtStyle.compile(['text', 'font', 'color.text']) }}\"\n *ngIf=\"label\" [hidden]='shining'>\n {{ label }}:\n\n <span class=\"text-red-500 font-bold text-md ml-1\" *ngIf=\"isRequired\">*</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n</label>\n\n<div class=\"flex flex-col\">\n <div class=\"{{ shining ? '' : 'flex'}}\" [hidden]='shining'>\n <textarea [rows]='rows' autocomplete=\"new-password\" attr.type=\"text\"\n class=\"appearance-none block border focus:outline-none leading-tight text-xs px-3 py-3 rounded w-full {{ ngtStyle.compile(['h', 'color.border', 'color.bg', 'color.text']) }}\"\n [disabled]=\"isDisabled\" [readonly]=\"isReadonly\" placeholder=\"{{ placeholder ? placeholder : ''}}\"\n [ngClass]=\"{'textarea-has-error border-red-700': formControl?.errors && (formControl?.dirty || (formContainer && formContainer['submitted']))}\"\n #element>\n </textarea>\n </div>\n\n <ng-container *ngIf=\"showCharactersLength && !shining\">\n <p class=\"text-xxs mt-1\">\n {{ ngtTranslateService.ngtTextAreaRemainingCharacters }}: <span class=\"font-semibold\">\n {{ getRemainingCharacters() }}\n </span>\n </p>\n </ng-container>\n</div>\n\n<ng-container *ngIf='shining'>\n <div class=\"flex\">\n <ngt-shining class=\"h-10 w-full\"></ngt-shining>\n </div>\n</ng-container>\n\n<input *ngIf='componentReady' class=\"text-xs\" type=\"hidden\" [ngModel]=\"value\" [name]=\"name\" [value]=\"value\">\n\n<ng-content></ng-content>\n<ngt-validation [control]=\"formControl\" [container]=\"formContainer\"></ngt-validation>\n", dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.NgtValidationComponent, selector: "ngt-validation", inputs: ["control", "container", "minValue", "minLength"] }, { kind: "component", type: i7.NgtShiningComponent, selector: "ngt-shining", inputs: ["shiningWidth"] }, { kind: "component", type: i8.NgtHelperComponent, selector: "ngt-helper", inputs: ["helpTextColor", "helpText", "helpTitle", "icon", "iconSize", "iconColor", "iconTitle", "tooltipSize", "autoXReverse", "helperReverseYPosition"] }], viewProviders: [
|
|
180
180
|
{ provide: ControlContainer, useExisting: NgForm }
|
|
181
181
|
] }); }
|
|
182
182
|
}
|
|
183
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
183
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtTextareaComponent, decorators: [{
|
|
184
184
|
type: Component,
|
|
185
185
|
args: [{ selector: 'ngt-textarea', providers: [
|
|
186
186
|
NgtMakeProvider(NgtTextareaComponent),
|
|
187
187
|
], viewProviders: [
|
|
188
188
|
{ provide: ControlContainer, useExisting: NgForm }
|
|
189
189
|
], template: "<label class=\"{{ shining ? '' : 'block' }} mb-2 flex {{ ngtStyle.compile(['text', 'font', 'color.text']) }}\"\n *ngIf=\"label\" [hidden]='shining'>\n {{ label }}:\n\n <span class=\"text-red-500 font-bold text-md ml-1\" *ngIf=\"isRequired\">*</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n</label>\n\n<div class=\"flex flex-col\">\n <div class=\"{{ shining ? '' : 'flex'}}\" [hidden]='shining'>\n <textarea [rows]='rows' autocomplete=\"new-password\" attr.type=\"text\"\n class=\"appearance-none block border focus:outline-none leading-tight text-xs px-3 py-3 rounded w-full {{ ngtStyle.compile(['h', 'color.border', 'color.bg', 'color.text']) }}\"\n [disabled]=\"isDisabled\" [readonly]=\"isReadonly\" placeholder=\"{{ placeholder ? placeholder : ''}}\"\n [ngClass]=\"{'textarea-has-error border-red-700': formControl?.errors && (formControl?.dirty || (formContainer && formContainer['submitted']))}\"\n #element>\n </textarea>\n </div>\n\n <ng-container *ngIf=\"showCharactersLength && !shining\">\n <p class=\"text-xxs mt-1\">\n {{ ngtTranslateService.ngtTextAreaRemainingCharacters }}: <span class=\"font-semibold\">\n {{ getRemainingCharacters() }}\n </span>\n </p>\n </ng-container>\n</div>\n\n<ng-container *ngIf='shining'>\n <div class=\"flex\">\n <ngt-shining class=\"h-10 w-full\"></ngt-shining>\n </div>\n</ng-container>\n\n<input *ngIf='componentReady' class=\"text-xs\" type=\"hidden\" [ngModel]=\"value\" [name]=\"name\" [value]=\"value\">\n\n<ng-content></ng-content>\n<ngt-validation [control]=\"formControl\" [container]=\"formContainer\"></ngt-validation>\n" }]
|
|
190
|
-
}], ctorParameters:
|
|
190
|
+
}], ctorParameters: () => [{ type: i0.Injector }, { type: i1.NgtStylizableDirective, decorators: [{
|
|
191
191
|
type: Self
|
|
192
192
|
}, {
|
|
193
193
|
type: Optional
|
|
@@ -201,7 +201,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
201
201
|
type: SkipSelf
|
|
202
202
|
}] }, { type: i0.Renderer2 }, { type: i4.NgtTranslateService, decorators: [{
|
|
203
203
|
type: Optional
|
|
204
|
-
}] }]
|
|
204
|
+
}] }], propDecorators: { element: [{
|
|
205
205
|
type: ViewChild,
|
|
206
206
|
args: ["element", { static: true }]
|
|
207
207
|
}], label: [{
|
|
@@ -235,4 +235,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
235
235
|
}], maxLength: [{
|
|
236
236
|
type: Input
|
|
237
237
|
}] } });
|
|
238
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LXRleHRhcmVhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXRhaWx3aW5kL3NyYy9jb21wb25lbnRzL25ndC10ZXh0YXJlYS9uZ3QtdGV4dGFyZWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LXRleHRhcmVhL25ndC10ZXh0YXJlYS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUVULElBQUksRUFFSixLQUFLLEVBR0wsUUFBUSxFQUVSLElBQUksRUFDSixRQUFRLEVBQ1IsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUcvRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7Ozs7OztBQWE1RixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsY0FBYztJQTZCcEQsWUFDWSxRQUFrQixFQUNFLHNCQUE4QyxFQUVuRSxhQUErQixFQUU5QixnQkFBa0MsRUFDbEMsUUFBbUIsRUFFcEIsbUJBQXdDO1FBRS9DLEtBQUssRUFBRSxDQUFDO1FBVkEsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNFLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFFbkUsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBRTlCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUVwQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBbkNuRCxTQUFTO1FBQ08sVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUNuQixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN6QixTQUFJLEdBQVcsR0FBRyxDQUFDO1FBQ25CLHlCQUFvQixHQUFZLEtBQUssQ0FBQztRQUd0QyxrQkFBYSxHQUFXLGdCQUFnQixDQUFDO1FBQ3pDLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFJekIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1QixlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLFFBQUcsR0FBWSxLQUFLLENBQUM7UUFDckIsVUFBSyxHQUFZLEtBQUssQ0FBQztRQUV2QyxhQUFhO1FBQ0csZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1QixjQUFTLEdBQVcsR0FBRyxDQUFDO1FBRWpDLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBR3RCLGtCQUFhLEdBQXdCLEVBQUUsQ0FBQztRQWU1QyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUVqRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDbkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFnQixFQUFFLEVBQUU7Z0JBQ2pFLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1lBQzNCLENBQUMsQ0FBQyxDQUNMLENBQUM7U0FDTDtRQUVELElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLENBQUM7U0FDekU7YUFBTTtZQUNILElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO1NBQzlDO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxhQUFhLEVBQUU7WUFDN0MsSUFBSSxFQUFFLFNBQVM7WUFDZixJQUFJLEVBQUUsYUFBYTtZQUNuQixLQUFLLEVBQUU7Z0JBQ0gsTUFBTSxFQUFFLHVDQUF1QztnQkFDL0MsRUFBRSxFQUFFLDRCQUE0QjtnQkFDaEMsSUFBSSxFQUFFLGVBQWU7YUFDeEI7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sV0FBVyxDQUFDLE9BQU87UUFDdEIsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1NBQzVCO0lBQ0wsQ0FBQztJQUVNLFFBQVE7UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNyQixPQUFPLENBQUMsSUFBSSxDQUFDLHlEQUF5RCxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDdkc7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNaLE9BQU8sQ0FBQyxJQUFJLENBQUMsNENBQTRDLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUMxRjthQUFNO1lBQ0gsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDWixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztnQkFFM0IsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDWixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3pCLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ1g7SUFDTCxDQUFDO0lBRU0sV0FBVztRQUNkLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFTSxRQUFRO1FBQ1gsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3ZDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNaLENBQUM7SUFFTSxLQUFLO1FBQ1IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQUs7UUFDZixJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDeEMsSUFBSSxZQUFZLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUV0QyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDckIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDNUM7UUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksV0FBVyxFQUFFO1lBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUM7U0FDbkQ7SUFDTCxDQUFDO0lBRU0sc0JBQXNCO1FBQ3pCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDM0csSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDaEUsT0FBTyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7YUFDbkU7aUJBQU07Z0JBQ0gsT0FBTyxDQUFDLENBQUM7YUFDWjtTQUNKO1FBRUQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFTyxhQUFhO1FBQ2pCLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFO1lBQ3BILElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDWixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDbkI7WUFFRCxJQUFJLEtBQUssR0FBRyxRQUFRLENBQUM7WUFFckIsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNWLEtBQUssSUFBSSx5QkFBeUIsQ0FBQzthQUN0QztZQUVELEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUU7b0JBQ3ZELElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFFeEMsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLFdBQVcsRUFBRTt3QkFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUM7cUJBQzVCO2dCQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDbEUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO29CQUM3SCx1QkFBdUI7b0JBQ3ZCLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUU7d0JBQzNDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQzt3QkFFdkIsT0FBTyxLQUFLLENBQUM7cUJBQ2hCO2lCQUNKO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUV6QixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQzthQUNsQztpQkFBTTtnQkFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxDQUFDO2FBQ3JDO1NBQ0o7YUFBTTtZQUNILE9BQU8sQ0FBQyxJQUFJLENBQUMsNkNBQTZDLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUMzRjtJQUNMLENBQUM7SUFFTyxpQkFBaUI7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbkIsT0FBTztTQUNWO1FBRUQsSUFBSSxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBRXhCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNqQixjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUM1QztRQUVELElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNoQixjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7U0FDN0Q7UUFFRCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLGNBQWM7UUFDbEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFDNUMsQ0FBQztJQUVPLG9CQUFvQjtRQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO0lBQzVCLENBQUM7K0dBOU1RLG9CQUFvQjttR0FBcEIsb0JBQW9CLDZZQVBsQjtZQUNQLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQztTQUN4Qyx3TEM1QkwsMnlEQXdDQSxpeENEWG1CO1lBQ1gsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRTtTQUNyRDs7NEZBRVEsb0JBQW9CO2tCQVZoQyxTQUFTOytCQUNJLGNBQWMsYUFFYjt3QkFDUCxlQUFlLHNCQUFzQjtxQkFDeEMsaUJBQ2M7d0JBQ1gsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRTtxQkFDckQ7OzBCQWlDSSxJQUFJOzswQkFBSSxRQUFROzswQkFDaEIsUUFBUTs7MEJBQUksSUFBSTs7MEJBRWhCLFFBQVE7OzBCQUFJLFFBQVE7OzBCQUdwQixRQUFROzRDQXBDa0MsT0FBTztzQkFBckQsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUd0QixLQUFLO3NCQUFwQixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxvQkFBb0I7c0JBQW5DLEtBQUs7Z0JBQ1UsU0FBUztzQkFBeEIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLGFBQWE7c0JBQTVCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFHVSxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxHQUFHO3NCQUFsQixLQUFLO2dCQUNVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBR1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0LFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgUmVuZGVyZXIyLFxuICAgIFNlbGYsXG4gICAgU2tpcFNlbGYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xDb250YWluZXIsIE5nRm9ybSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBOZ3RCYXNlTmdNb2RlbCwgTmd0TWFrZVByb3ZpZGVyIH0gZnJvbSAnLi4vLi4vYmFzZS9uZ3QtYmFzZS1uZy1tb2RlbCc7XG5pbXBvcnQgeyBOZ3RTdHlsaXphYmxlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9uZ3Qtc3R5bGl6YWJsZS9uZ3Qtc3R5bGl6YWJsZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmd0VHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2h0dHAvbmd0LXRyYW5zbGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IE5ndFN0eWxpemFibGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbmd0LXN0eWxpemFibGUvbmd0LXN0eWxpemFibGUuc2VydmljZSc7XG5pbXBvcnQgeyBOZ3RGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vbmd0LWZvcm0vbmd0LWZvcm0uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3QtdGV4dGFyZWEnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9uZ3QtdGV4dGFyZWEuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBOZ3RNYWtlUHJvdmlkZXIoTmd0VGV4dGFyZWFDb21wb25lbnQpLFxuICAgIF0sXG4gICAgdmlld1Byb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IENvbnRyb2xDb250YWluZXIsIHVzZUV4aXN0aW5nOiBOZ0Zvcm0gfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTmd0VGV4dGFyZWFDb21wb25lbnQgZXh0ZW5kcyBOZ3RCYXNlTmdNb2RlbCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBAVmlld0NoaWxkKFwiZWxlbWVudFwiLCB7IHN0YXRpYzogdHJ1ZSB9KSBwdWJsaWMgZWxlbWVudDogRWxlbWVudFJlZjtcblxuICAgIC8vIFZpc3VhbFxuICAgIEBJbnB1dCgpIHB1YmxpYyBsYWJlbDogc3RyaW5nID0gXCJcIjtcbiAgICBASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZyA9IFwiXCI7XG4gICAgQElucHV0KCkgcHVibGljIHJvd3M6IHN0cmluZyA9IFwiM1wiO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzaG93Q2hhcmFjdGVyc0xlbmd0aDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBoZWxwVGl0bGU6IHN0cmluZztcbiAgICBASW5wdXQoKSBwdWJsaWMgaGVscFRleHQ6IHN0cmluZztcbiAgICBASW5wdXQoKSBwdWJsaWMgaGVscFRleHRDb2xvcjogc3RyaW5nID0gJ3RleHQtZ3JlZW4tNTAwJztcbiAgICBASW5wdXQoKSBwdWJsaWMgc2hpbmluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLy8gQmVoYXZpb3JcbiAgICBASW5wdXQoKSBwdWJsaWMgbmFtZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBpc0Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgcHVibGljIGlzUmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgaml0OiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgcHVibGljIGZvY3VzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvLyBWYWxpZGF0aW9uXG4gICAgQElucHV0KCkgcHVibGljIGlzUmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgbWF4TGVuZ3RoOiBudW1iZXIgPSAzMDA7XG5cbiAgICBwdWJsaWMgY29tcG9uZW50UmVhZHkgPSBmYWxzZTtcbiAgICBwdWJsaWMgbmd0U3R5bGU6IE5ndFN0eWxpemFibGVTZXJ2aWNlO1xuXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBBcnJheTxTdWJzY3JpcHRpb24+ID0gW107XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBAU2VsZigpIEBPcHRpb25hbCgpIHByaXZhdGUgbmd0U3R5bGl6YWJsZURpcmVjdGl2ZTogTmd0U3R5bGl6YWJsZURpcmVjdGl2ZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgQEhvc3QoKVxuICAgICAgICBwdWJsaWMgZm9ybUNvbnRhaW5lcjogQ29udHJvbENvbnRhaW5lcixcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKClcbiAgICAgICAgcHJpdmF0ZSBuZ3RGb3JtQ29tcG9uZW50OiBOZ3RGb3JtQ29tcG9uZW50LFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIHB1YmxpYyBuZ3RUcmFuc2xhdGVTZXJ2aWNlOiBOZ3RUcmFuc2xhdGVTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgaWYgKHRoaXMubmd0Rm9ybUNvbXBvbmVudCkge1xuICAgICAgICAgICAgdGhpcy5zaGluaW5nID0gdGhpcy5uZ3RGb3JtQ29tcG9uZW50LmlzU2hpbmluZygpO1xuXG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgICAgICAgICAgICB0aGlzLm5ndEZvcm1Db21wb25lbnQub25TaGluaW5nQ2hhbmdlLnN1YnNjcmliZSgoc2hpbmluZzogYm9vbGVhbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNoaW5pbmcgPSBzaGluaW5nO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubmd0U3R5bGl6YWJsZURpcmVjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy5uZ3RTdHlsZSA9IHRoaXMubmd0U3R5bGl6YWJsZURpcmVjdGl2ZS5nZXROZ3RTdHlsaXphYmxlU2VydmljZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5uZ3RTdHlsZSA9IG5ldyBOZ3RTdHlsaXphYmxlU2VydmljZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5uZ3RTdHlsZS5sb2FkKHRoaXMuaW5qZWN0b3IsICdOZ3RUZXh0YXJlYScsIHtcbiAgICAgICAgICAgIHRleHQ6ICd0ZXh0LXNtJyxcbiAgICAgICAgICAgIGZvbnQ6ICdmb250LW5vcm1hbCcsXG4gICAgICAgICAgICBjb2xvcjoge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogJ2JvcmRlci1ncmF5LTQwMCBmb2N1czpib3JkZXItZ3JheS03MDAnLFxuICAgICAgICAgICAgICAgIGJnOiAnYmctYmctd2hpdGUgZm9jdXM6Ymctd2hpdGUnLFxuICAgICAgICAgICAgICAgIHRleHQ6ICd0ZXh0LWdyYXktODAwJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlcykge1xuICAgICAgICBpZiAoY2hhbmdlcy5pc1JlcXVpcmVkKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbGlkYXRpb25zKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICghdGhpcy5mb3JtQ29udGFpbmVyKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCJUaGUgZWxlbWVudCBtdXN0IGJlIGluc2lkZSBhIDxmb3JtICNmb3JtPSduZ0Zvcm0nPiB0YWchXCIsIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5uYW1lKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCJUaGUgZWxlbWVudCBtdXN0IGNvbnRhaW4gYSBuYW1lIGF0dHJpYnV0ZSFcIiwgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWFkeSA9IHRydWU7XG5cbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbml0Q29tcG9uZW50KCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LCA1MDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmRlc3Ryb3lTdWJzY3JpcHRpb25zKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldEZvY3VzKCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH0sIDIwMCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNsZWFyKCkge1xuICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgICAgICB0aGlzLnZhbHVlID0gJyc7XG4gICAgfVxuXG4gICAgcHVibGljIGNoYW5nZSh2YWx1ZSkge1xuICAgICAgICBsZXQgbmF0aXZlVmFsdWUgPSB0aGlzLmdldE5hdGl2ZVZhbHVlKCk7XG4gICAgICAgIGxldCBuZ01vZGVsVmFsdWUgPSB2YWx1ZSA/IHZhbHVlIDogJyc7XG5cbiAgICAgICAgaWYgKHRoaXMuY29tcG9uZW50UmVhZHkpIHtcbiAgICAgICAgICAgIHRoaXMub25WYWx1ZUNoYW5nZUV2ZW50LmVtaXQodGhpcy52YWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy52YWx1ZSAhPSBuYXRpdmVWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBuZ01vZGVsVmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UmVtYWluaW5nQ2hhcmFjdGVycygpIHtcbiAgICAgICAgaWYgKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50ICYmIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlICYmIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlLmxlbmd0aCkge1xuICAgICAgICAgICAgaWYgKCh0aGlzLm1heExlbmd0aCAtIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlLmxlbmd0aCkgPiAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubWF4TGVuZ3RoIC0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUubGVuZ3RoO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLm1heExlbmd0aDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRDb21wb25lbnQoKSB7XG4gICAgICAgIGlmICh0aGlzLmZvcm1Db250YWluZXIgJiYgdGhpcy5mb3JtQ29udGFpbmVyLmNvbnRyb2wgJiYgKHRoaXMuZm9ybUNvbnRyb2wgPSB0aGlzLmZvcm1Db250YWluZXIuY29udHJvbC5nZXQodGhpcy5uYW1lKSkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmZvY3VzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRGb2N1cygpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQgd2F0Y2ggPSBcImNoYW5nZVwiO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5qaXQpIHtcbiAgICAgICAgICAgICAgICB3YXRjaCArPSBcIiBrZXl1cCBrZXlkb3duIGtleXByZXNzXCI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHdhdGNoLnNwbGl0KCcgJykuZm9yRWFjaCgoZXZ0KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIGV2dCwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgbmF0aXZlVmFsdWUgPSB0aGlzLmdldE5hdGl2ZVZhbHVlKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudmFsdWUgIT0gbmF0aXZlVmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBuYXRpdmVWYWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LCBcImtleWRvd25cIiwgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50ICYmIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlICYmIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlLmxlbmd0aCA+PSB0aGlzLm1heExlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBCYWNrc3BhY2UgYW5kIGRlbGV0ZVxuICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5Q29kZSAhPSA4ICYmIGV2ZW50LmtleUNvZGUgIT0gNDYpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbGlkYXRpb25zKCk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtQ29udHJvbC5tYXJrQXNEaXJ0eSgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc1ByaXN0aW5lKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCJUaGUgZWxlbWVudCBtdXN0IGNvbnRhaW4gYSBuZ01vZGVsIHByb3BlcnR5XCIsIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlVmFsaWRhdGlvbnMoKSB7XG4gICAgICAgIGlmICghdGhpcy5mb3JtQ29udHJvbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHN5bmNWYWxpZGF0b3JzID0gW107XG5cbiAgICAgICAgaWYgKHRoaXMuaXNSZXF1aXJlZCkge1xuICAgICAgICAgICAgc3luY1ZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm1heExlbmd0aCkge1xuICAgICAgICAgICAgc3luY1ZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLm1heExlbmd0aCh0aGlzLm1heExlbmd0aCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbGlkYXRvcnMoc3luY1ZhbGlkYXRvcnMpO1xuICAgICAgICAgICAgdGhpcy5mb3JtQ29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TmF0aXZlVmFsdWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlc3Ryb3lTdWJzY3JpcHRpb25zKCkge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWJzY3JpcHRpb24gPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBbXTtcbiAgICB9XG59XG4iLCI8bGFiZWwgY2xhc3M9XCJ7eyBzaGluaW5nID8gJycgOiAnYmxvY2snIH19IG1iLTIgZmxleCB7eyBuZ3RTdHlsZS5jb21waWxlKFsndGV4dCcsICdmb250JywgJ2NvbG9yLnRleHQnXSkgfX1cIlxuICAgICpuZ0lmPVwibGFiZWxcIiBbaGlkZGVuXT0nc2hpbmluZyc+XG4gICAge3sgbGFiZWwgfX06XG5cbiAgICA8c3BhbiBjbGFzcz1cInRleHQtcmVkLTUwMCBmb250LWJvbGQgdGV4dC1tZCBtbC0xXCIgKm5nSWY9XCJpc1JlcXVpcmVkXCI+Kjwvc3Bhbj5cblxuICAgIDxuZ3QtaGVscGVyICpuZ0lmPVwiaGVscFRleHRcIiBbaGVscFRpdGxlXT1cImhlbHBUaXRsZVwiIFtpY29uQ29sb3JdPVwiaGVscFRleHRDb2xvclwiIGNsYXNzPVwibWwtMVwiPlxuICAgICAgICB7eyBoZWxwVGV4dCB9fVxuICAgIDwvbmd0LWhlbHBlcj5cbjwvbGFiZWw+XG5cbjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sXCI+XG4gICAgPGRpdiBjbGFzcz1cInt7IHNoaW5pbmcgPyAnJyA6ICdmbGV4J319XCIgW2hpZGRlbl09J3NoaW5pbmcnPlxuICAgICAgICA8dGV4dGFyZWEgW3Jvd3NdPSdyb3dzJyBhdXRvY29tcGxldGU9XCJuZXctcGFzc3dvcmRcIiBhdHRyLnR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIGNsYXNzPVwiYXBwZWFyYW5jZS1ub25lIGJsb2NrIGJvcmRlciBmb2N1czpvdXRsaW5lLW5vbmUgbGVhZGluZy10aWdodCB0ZXh0LXhzIHB4LTMgcHktMyByb3VuZGVkIHctZnVsbCB7eyBuZ3RTdHlsZS5jb21waWxlKFsnaCcsICdjb2xvci5ib3JkZXInLCAnY29sb3IuYmcnLCAnY29sb3IudGV4dCddKSB9fVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiIFtyZWFkb25seV09XCJpc1JlYWRvbmx5XCIgcGxhY2Vob2xkZXI9XCJ7eyBwbGFjZWhvbGRlciA/IHBsYWNlaG9sZGVyIDogJyd9fVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J3RleHRhcmVhLWhhcy1lcnJvciBib3JkZXItcmVkLTcwMCc6IGZvcm1Db250cm9sPy5lcnJvcnMgJiYgKGZvcm1Db250cm9sPy5kaXJ0eSB8fCAoZm9ybUNvbnRhaW5lciAmJiBmb3JtQ29udGFpbmVyWydzdWJtaXR0ZWQnXSkpfVwiXG4gICAgICAgICAgICAjZWxlbWVudD5cbiAgICAgICAgPC90ZXh0YXJlYT5cbiAgICA8L2Rpdj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93Q2hhcmFjdGVyc0xlbmd0aCAmJiAhc2hpbmluZ1wiPlxuICAgICAgICA8cCBjbGFzcz1cInRleHQteHhzIG10LTFcIj5cbiAgICAgICAgICAgIHt7IG5ndFRyYW5zbGF0ZVNlcnZpY2Uubmd0VGV4dEFyZWFSZW1haW5pbmdDaGFyYWN0ZXJzIH19OiA8c3BhbiBjbGFzcz1cImZvbnQtc2VtaWJvbGRcIj5cbiAgICAgICAgICAgICAgICB7eyBnZXRSZW1haW5pbmdDaGFyYWN0ZXJzKCkgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9wPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9J3NoaW5pbmcnPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4XCI+XG4gICAgICAgIDxuZ3Qtc2hpbmluZyBjbGFzcz1cImgtMTAgdy1mdWxsXCI+PC9uZ3Qtc2hpbmluZz5cbiAgICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48aW5wdXQgKm5nSWY9J2NvbXBvbmVudFJlYWR5JyBjbGFzcz1cInRleHQteHNcIiB0eXBlPVwiaGlkZGVuXCIgW25nTW9kZWxdPVwidmFsdWVcIiBbbmFtZV09XCJuYW1lXCIgW3ZhbHVlXT1cInZhbHVlXCI+XG5cbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjxuZ3QtdmFsaWRhdGlvbiBbY29udHJvbF09XCJmb3JtQ29udHJvbFwiIFtjb250YWluZXJdPVwiZm9ybUNvbnRhaW5lclwiPjwvbmd0LXZhbGlkYXRpb24+XG4iXX0=
|
|
238
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LXRleHRhcmVhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXRhaWx3aW5kL3NyYy9jb21wb25lbnRzL25ndC10ZXh0YXJlYS9uZ3QtdGV4dGFyZWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LXRleHRhcmVhL25ndC10ZXh0YXJlYS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUVULElBQUksRUFFSixLQUFLLEVBR0wsUUFBUSxFQUVSLElBQUksRUFDSixRQUFRLEVBQ1IsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUcvRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7Ozs7OztBQWE1RixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsY0FBYztJQTZCcEQsWUFDWSxRQUFrQixFQUNFLHNCQUE4QyxFQUVuRSxhQUErQixFQUU5QixnQkFBa0MsRUFDbEMsUUFBbUIsRUFFcEIsbUJBQXdDO1FBRS9DLEtBQUssRUFBRSxDQUFDO1FBVkEsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNFLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFFbkUsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBRTlCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUVwQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBbkNuRCxTQUFTO1FBQ08sVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUNuQixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN6QixTQUFJLEdBQVcsR0FBRyxDQUFDO1FBQ25CLHlCQUFvQixHQUFZLEtBQUssQ0FBQztRQUd0QyxrQkFBYSxHQUFXLGdCQUFnQixDQUFDO1FBQ3pDLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFJekIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1QixlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLFFBQUcsR0FBWSxLQUFLLENBQUM7UUFDckIsVUFBSyxHQUFZLEtBQUssQ0FBQztRQUV2QyxhQUFhO1FBQ0csZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1QixjQUFTLEdBQVcsR0FBRyxDQUFDO1FBRWpDLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBR3RCLGtCQUFhLEdBQXdCLEVBQUUsQ0FBQztRQWU1QyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDO1lBRWpELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNuQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQWdCLEVBQUUsRUFBRTtnQkFDakUsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7WUFDM0IsQ0FBQyxDQUFDLENBQ0wsQ0FBQztRQUNOLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDMUUsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztRQUMvQyxDQUFDO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxhQUFhLEVBQUU7WUFDN0MsSUFBSSxFQUFFLFNBQVM7WUFDZixJQUFJLEVBQUUsYUFBYTtZQUNuQixLQUFLLEVBQUU7Z0JBQ0gsTUFBTSxFQUFFLHVDQUF1QztnQkFDL0MsRUFBRSxFQUFFLDRCQUE0QjtnQkFDaEMsSUFBSSxFQUFFLGVBQWU7YUFDeEI7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sV0FBVyxDQUFDLE9BQU87UUFDdEIsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDN0IsQ0FBQztJQUNMLENBQUM7SUFFTSxRQUFRO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN0QixPQUFPLENBQUMsSUFBSSxDQUFDLHlEQUF5RCxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEcsQ0FBQztRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDYixPQUFPLENBQUMsSUFBSSxDQUFDLDRDQUE0QyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDM0YsQ0FBQzthQUFNLENBQUM7WUFDSixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNaLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO2dCQUUzQixVQUFVLENBQUMsR0FBRyxFQUFFO29CQUNaLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDekIsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDWixDQUFDO0lBQ0wsQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU0sUUFBUTtRQUNYLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN2QyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDWixDQUFDO0lBRU0sS0FBSztRQUNSLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFLO1FBQ2YsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hDLElBQUksWUFBWSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFdEMsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDO1FBQ3BELENBQUM7SUFDTCxDQUFDO0lBRU0sc0JBQXNCO1FBQ3pCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM1RyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ2pFLE9BQU8sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ3BFLENBQUM7aUJBQU0sQ0FBQztnQkFDSixPQUFPLENBQUMsQ0FBQztZQUNiLENBQUM7UUFDTCxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFTyxhQUFhO1FBQ2pCLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDckgsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2IsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BCLENBQUM7WUFFRCxJQUFJLEtBQUssR0FBRyxRQUFRLENBQUM7WUFFckIsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ1gsS0FBSyxJQUFJLHlCQUF5QixDQUFDO1lBQ3ZDLENBQUM7WUFFRCxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFO29CQUN2RCxJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7b0JBRXhDLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxXQUFXLEVBQUUsQ0FBQzt3QkFDNUIsSUFBSSxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUM7b0JBQzdCLENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNsRSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDOUgsdUJBQXVCO29CQUN2QixJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksRUFBRSxFQUFFLENBQUM7d0JBQzVDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQzt3QkFFdkIsT0FBTyxLQUFLLENBQUM7b0JBQ2pCLENBQUM7Z0JBQ0wsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFFekIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN0QyxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLENBQUMsSUFBSSxDQUFDLDZDQUE2QyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDNUYsQ0FBQztJQUNMLENBQUM7SUFFTyxpQkFBaUI7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNwQixPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUV4QixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakIsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzlELENBQUM7UUFFRCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLGNBQWM7UUFDbEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFDNUMsQ0FBQztJQUVPLG9CQUFvQjtRQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO0lBQzVCLENBQUM7K0dBOU1RLG9CQUFvQjttR0FBcEIsb0JBQW9CLDZZQVBsQjtZQUNQLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQztTQUN4Qyx3TEM1QkwsMnlEQXdDQSxpeENEWG1CO1lBQ1gsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRTtTQUNyRDs7NEZBRVEsb0JBQW9CO2tCQVZoQyxTQUFTOytCQUNJLGNBQWMsYUFFYjt3QkFDUCxlQUFlLHNCQUFzQjtxQkFDeEMsaUJBQ2M7d0JBQ1gsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRTtxQkFDckQ7OzBCQWlDSSxJQUFJOzswQkFBSSxRQUFROzswQkFDaEIsUUFBUTs7MEJBQUksSUFBSTs7MEJBRWhCLFFBQVE7OzBCQUFJLFFBQVE7OzBCQUdwQixRQUFRO3lDQXBDa0MsT0FBTztzQkFBckQsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUd0QixLQUFLO3NCQUFwQixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxvQkFBb0I7c0JBQW5DLEtBQUs7Z0JBQ1UsU0FBUztzQkFBeEIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLGFBQWE7c0JBQTVCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFHVSxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxHQUFHO3NCQUFsQixLQUFLO2dCQUNVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBR1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0LFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgUmVuZGVyZXIyLFxuICAgIFNlbGYsXG4gICAgU2tpcFNlbGYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xDb250YWluZXIsIE5nRm9ybSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBOZ3RCYXNlTmdNb2RlbCwgTmd0TWFrZVByb3ZpZGVyIH0gZnJvbSAnLi4vLi4vYmFzZS9uZ3QtYmFzZS1uZy1tb2RlbCc7XG5pbXBvcnQgeyBOZ3RTdHlsaXphYmxlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9uZ3Qtc3R5bGl6YWJsZS9uZ3Qtc3R5bGl6YWJsZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmd0VHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2h0dHAvbmd0LXRyYW5zbGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IE5ndFN0eWxpemFibGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbmd0LXN0eWxpemFibGUvbmd0LXN0eWxpemFibGUuc2VydmljZSc7XG5pbXBvcnQgeyBOZ3RGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vbmd0LWZvcm0vbmd0LWZvcm0uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3QtdGV4dGFyZWEnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9uZ3QtdGV4dGFyZWEuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBOZ3RNYWtlUHJvdmlkZXIoTmd0VGV4dGFyZWFDb21wb25lbnQpLFxuICAgIF0sXG4gICAgdmlld1Byb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IENvbnRyb2xDb250YWluZXIsIHVzZUV4aXN0aW5nOiBOZ0Zvcm0gfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTmd0VGV4dGFyZWFDb21wb25lbnQgZXh0ZW5kcyBOZ3RCYXNlTmdNb2RlbCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBAVmlld0NoaWxkKFwiZWxlbWVudFwiLCB7IHN0YXRpYzogdHJ1ZSB9KSBwdWJsaWMgZWxlbWVudDogRWxlbWVudFJlZjtcblxuICAgIC8vIFZpc3VhbFxuICAgIEBJbnB1dCgpIHB1YmxpYyBsYWJlbDogc3RyaW5nID0gXCJcIjtcbiAgICBASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZyA9IFwiXCI7XG4gICAgQElucHV0KCkgcHVibGljIHJvd3M6IHN0cmluZyA9IFwiM1wiO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzaG93Q2hhcmFjdGVyc0xlbmd0aDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBoZWxwVGl0bGU6IHN0cmluZztcbiAgICBASW5wdXQoKSBwdWJsaWMgaGVscFRleHQ6IHN0cmluZztcbiAgICBASW5wdXQoKSBwdWJsaWMgaGVscFRleHRDb2xvcjogc3RyaW5nID0gJ3RleHQtZ3JlZW4tNTAwJztcbiAgICBASW5wdXQoKSBwdWJsaWMgc2hpbmluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLy8gQmVoYXZpb3JcbiAgICBASW5wdXQoKSBwdWJsaWMgbmFtZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBpc0Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgcHVibGljIGlzUmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgaml0OiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgcHVibGljIGZvY3VzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvLyBWYWxpZGF0aW9uXG4gICAgQElucHV0KCkgcHVibGljIGlzUmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgbWF4TGVuZ3RoOiBudW1iZXIgPSAzMDA7XG5cbiAgICBwdWJsaWMgY29tcG9uZW50UmVhZHkgPSBmYWxzZTtcbiAgICBwdWJsaWMgbmd0U3R5bGU6IE5ndFN0eWxpemFibGVTZXJ2aWNlO1xuXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBBcnJheTxTdWJzY3JpcHRpb24+ID0gW107XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBAU2VsZigpIEBPcHRpb25hbCgpIHByaXZhdGUgbmd0U3R5bGl6YWJsZURpcmVjdGl2ZTogTmd0U3R5bGl6YWJsZURpcmVjdGl2ZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgQEhvc3QoKVxuICAgICAgICBwdWJsaWMgZm9ybUNvbnRhaW5lcjogQ29udHJvbENvbnRhaW5lcixcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKClcbiAgICAgICAgcHJpdmF0ZSBuZ3RGb3JtQ29tcG9uZW50OiBOZ3RGb3JtQ29tcG9uZW50LFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIHB1YmxpYyBuZ3RUcmFuc2xhdGVTZXJ2aWNlOiBOZ3RUcmFuc2xhdGVTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgaWYgKHRoaXMubmd0Rm9ybUNvbXBvbmVudCkge1xuICAgICAgICAgICAgdGhpcy5zaGluaW5nID0gdGhpcy5uZ3RGb3JtQ29tcG9uZW50LmlzU2hpbmluZygpO1xuXG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgICAgICAgICAgICB0aGlzLm5ndEZvcm1Db21wb25lbnQub25TaGluaW5nQ2hhbmdlLnN1YnNjcmliZSgoc2hpbmluZzogYm9vbGVhbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNoaW5pbmcgPSBzaGluaW5nO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubmd0U3R5bGl6YWJsZURpcmVjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy5uZ3RTdHlsZSA9IHRoaXMubmd0U3R5bGl6YWJsZURpcmVjdGl2ZS5nZXROZ3RTdHlsaXphYmxlU2VydmljZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5uZ3RTdHlsZSA9IG5ldyBOZ3RTdHlsaXphYmxlU2VydmljZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5uZ3RTdHlsZS5sb2FkKHRoaXMuaW5qZWN0b3IsICdOZ3RUZXh0YXJlYScsIHtcbiAgICAgICAgICAgIHRleHQ6ICd0ZXh0LXNtJyxcbiAgICAgICAgICAgIGZvbnQ6ICdmb250LW5vcm1hbCcsXG4gICAgICAgICAgICBjb2xvcjoge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogJ2JvcmRlci1ncmF5LTQwMCBmb2N1czpib3JkZXItZ3JheS03MDAnLFxuICAgICAgICAgICAgICAgIGJnOiAnYmctYmctd2hpdGUgZm9jdXM6Ymctd2hpdGUnLFxuICAgICAgICAgICAgICAgIHRleHQ6ICd0ZXh0LWdyYXktODAwJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlcykge1xuICAgICAgICBpZiAoY2hhbmdlcy5pc1JlcXVpcmVkKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbGlkYXRpb25zKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICghdGhpcy5mb3JtQ29udGFpbmVyKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCJUaGUgZWxlbWVudCBtdXN0IGJlIGluc2lkZSBhIDxmb3JtICNmb3JtPSduZ0Zvcm0nPiB0YWchXCIsIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5uYW1lKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCJUaGUgZWxlbWVudCBtdXN0IGNvbnRhaW4gYSBuYW1lIGF0dHJpYnV0ZSFcIiwgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWFkeSA9IHRydWU7XG5cbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbml0Q29tcG9uZW50KCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LCA1MDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmRlc3Ryb3lTdWJzY3JpcHRpb25zKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldEZvY3VzKCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH0sIDIwMCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNsZWFyKCkge1xuICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgICAgICB0aGlzLnZhbHVlID0gJyc7XG4gICAgfVxuXG4gICAgcHVibGljIGNoYW5nZSh2YWx1ZSkge1xuICAgICAgICBsZXQgbmF0aXZlVmFsdWUgPSB0aGlzLmdldE5hdGl2ZVZhbHVlKCk7XG4gICAgICAgIGxldCBuZ01vZGVsVmFsdWUgPSB2YWx1ZSA/IHZhbHVlIDogJyc7XG5cbiAgICAgICAgaWYgKHRoaXMuY29tcG9uZW50UmVhZHkpIHtcbiAgICAgICAgICAgIHRoaXMub25WYWx1ZUNoYW5nZUV2ZW50LmVtaXQodGhpcy52YWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy52YWx1ZSAhPSBuYXRpdmVWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBuZ01vZGVsVmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UmVtYWluaW5nQ2hhcmFjdGVycygpIHtcbiAgICAgICAgaWYgKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50ICYmIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlICYmIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlLmxlbmd0aCkge1xuICAgICAgICAgICAgaWYgKCh0aGlzLm1heExlbmd0aCAtIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlLmxlbmd0aCkgPiAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubWF4TGVuZ3RoIC0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUubGVuZ3RoO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLm1heExlbmd0aDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRDb21wb25lbnQoKSB7XG4gICAgICAgIGlmICh0aGlzLmZvcm1Db250YWluZXIgJiYgdGhpcy5mb3JtQ29udGFpbmVyLmNvbnRyb2wgJiYgKHRoaXMuZm9ybUNvbnRyb2wgPSB0aGlzLmZvcm1Db250YWluZXIuY29udHJvbC5nZXQodGhpcy5uYW1lKSkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmZvY3VzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRGb2N1cygpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQgd2F0Y2ggPSBcImNoYW5nZVwiO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5qaXQpIHtcbiAgICAgICAgICAgICAgICB3YXRjaCArPSBcIiBrZXl1cCBrZXlkb3duIGtleXByZXNzXCI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHdhdGNoLnNwbGl0KCcgJykuZm9yRWFjaCgoZXZ0KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIGV2dCwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgbmF0aXZlVmFsdWUgPSB0aGlzLmdldE5hdGl2ZVZhbHVlKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudmFsdWUgIT0gbmF0aXZlVmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBuYXRpdmVWYWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LCBcImtleWRvd25cIiwgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50ICYmIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlICYmIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlLmxlbmd0aCA+PSB0aGlzLm1heExlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBCYWNrc3BhY2UgYW5kIGRlbGV0ZVxuICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5Q29kZSAhPSA4ICYmIGV2ZW50LmtleUNvZGUgIT0gNDYpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbGlkYXRpb25zKCk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtQ29udHJvbC5tYXJrQXNEaXJ0eSgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc1ByaXN0aW5lKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCJUaGUgZWxlbWVudCBtdXN0IGNvbnRhaW4gYSBuZ01vZGVsIHByb3BlcnR5XCIsIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlVmFsaWRhdGlvbnMoKSB7XG4gICAgICAgIGlmICghdGhpcy5mb3JtQ29udHJvbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHN5bmNWYWxpZGF0b3JzID0gW107XG5cbiAgICAgICAgaWYgKHRoaXMuaXNSZXF1aXJlZCkge1xuICAgICAgICAgICAgc3luY1ZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm1heExlbmd0aCkge1xuICAgICAgICAgICAgc3luY1ZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLm1heExlbmd0aCh0aGlzLm1heExlbmd0aCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbGlkYXRvcnMoc3luY1ZhbGlkYXRvcnMpO1xuICAgICAgICAgICAgdGhpcy5mb3JtQ29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TmF0aXZlVmFsdWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlc3Ryb3lTdWJzY3JpcHRpb25zKCkge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWJzY3JpcHRpb24gPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBbXTtcbiAgICB9XG59XG4iLCI8bGFiZWwgY2xhc3M9XCJ7eyBzaGluaW5nID8gJycgOiAnYmxvY2snIH19IG1iLTIgZmxleCB7eyBuZ3RTdHlsZS5jb21waWxlKFsndGV4dCcsICdmb250JywgJ2NvbG9yLnRleHQnXSkgfX1cIlxuICAgICpuZ0lmPVwibGFiZWxcIiBbaGlkZGVuXT0nc2hpbmluZyc+XG4gICAge3sgbGFiZWwgfX06XG5cbiAgICA8c3BhbiBjbGFzcz1cInRleHQtcmVkLTUwMCBmb250LWJvbGQgdGV4dC1tZCBtbC0xXCIgKm5nSWY9XCJpc1JlcXVpcmVkXCI+Kjwvc3Bhbj5cblxuICAgIDxuZ3QtaGVscGVyICpuZ0lmPVwiaGVscFRleHRcIiBbaGVscFRpdGxlXT1cImhlbHBUaXRsZVwiIFtpY29uQ29sb3JdPVwiaGVscFRleHRDb2xvclwiIGNsYXNzPVwibWwtMVwiPlxuICAgICAgICB7eyBoZWxwVGV4dCB9fVxuICAgIDwvbmd0LWhlbHBlcj5cbjwvbGFiZWw+XG5cbjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sXCI+XG4gICAgPGRpdiBjbGFzcz1cInt7IHNoaW5pbmcgPyAnJyA6ICdmbGV4J319XCIgW2hpZGRlbl09J3NoaW5pbmcnPlxuICAgICAgICA8dGV4dGFyZWEgW3Jvd3NdPSdyb3dzJyBhdXRvY29tcGxldGU9XCJuZXctcGFzc3dvcmRcIiBhdHRyLnR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIGNsYXNzPVwiYXBwZWFyYW5jZS1ub25lIGJsb2NrIGJvcmRlciBmb2N1czpvdXRsaW5lLW5vbmUgbGVhZGluZy10aWdodCB0ZXh0LXhzIHB4LTMgcHktMyByb3VuZGVkIHctZnVsbCB7eyBuZ3RTdHlsZS5jb21waWxlKFsnaCcsICdjb2xvci5ib3JkZXInLCAnY29sb3IuYmcnLCAnY29sb3IudGV4dCddKSB9fVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiIFtyZWFkb25seV09XCJpc1JlYWRvbmx5XCIgcGxhY2Vob2xkZXI9XCJ7eyBwbGFjZWhvbGRlciA/IHBsYWNlaG9sZGVyIDogJyd9fVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J3RleHRhcmVhLWhhcy1lcnJvciBib3JkZXItcmVkLTcwMCc6IGZvcm1Db250cm9sPy5lcnJvcnMgJiYgKGZvcm1Db250cm9sPy5kaXJ0eSB8fCAoZm9ybUNvbnRhaW5lciAmJiBmb3JtQ29udGFpbmVyWydzdWJtaXR0ZWQnXSkpfVwiXG4gICAgICAgICAgICAjZWxlbWVudD5cbiAgICAgICAgPC90ZXh0YXJlYT5cbiAgICA8L2Rpdj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93Q2hhcmFjdGVyc0xlbmd0aCAmJiAhc2hpbmluZ1wiPlxuICAgICAgICA8cCBjbGFzcz1cInRleHQteHhzIG10LTFcIj5cbiAgICAgICAgICAgIHt7IG5ndFRyYW5zbGF0ZVNlcnZpY2Uubmd0VGV4dEFyZWFSZW1haW5pbmdDaGFyYWN0ZXJzIH19OiA8c3BhbiBjbGFzcz1cImZvbnQtc2VtaWJvbGRcIj5cbiAgICAgICAgICAgICAgICB7eyBnZXRSZW1haW5pbmdDaGFyYWN0ZXJzKCkgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9wPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9J3NoaW5pbmcnPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4XCI+XG4gICAgICAgIDxuZ3Qtc2hpbmluZyBjbGFzcz1cImgtMTAgdy1mdWxsXCI+PC9uZ3Qtc2hpbmluZz5cbiAgICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48aW5wdXQgKm5nSWY9J2NvbXBvbmVudFJlYWR5JyBjbGFzcz1cInRleHQteHNcIiB0eXBlPVwiaGlkZGVuXCIgW25nTW9kZWxdPVwidmFsdWVcIiBbbmFtZV09XCJuYW1lXCIgW3ZhbHVlXT1cInZhbHVlXCI+XG5cbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjxuZ3QtdmFsaWRhdGlvbiBbY29udHJvbF09XCJmb3JtQ29udHJvbFwiIFtjb250YWluZXJdPVwiZm9ybUNvbnRhaW5lclwiPjwvbmd0LXZhbGlkYXRpb24+XG4iXX0=
|
|
@@ -8,15 +8,15 @@ import { NgtValidationModule } from '../ngt-validation/ngt-validation.module';
|
|
|
8
8
|
import { NgtTextareaComponent } from './ngt-textarea.component';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
export class NgtTextareaModule {
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
12
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtTextareaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
12
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: NgtTextareaModule, declarations: [NgtTextareaComponent], imports: [CommonModule,
|
|
13
13
|
FormsModule,
|
|
14
14
|
ReactiveFormsModule,
|
|
15
15
|
NgtValidationModule,
|
|
16
16
|
NgtShiningModule,
|
|
17
17
|
NgtHelperModule,
|
|
18
18
|
NgtFormModule], exports: [NgtTextareaComponent] }); }
|
|
19
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
19
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtTextareaModule, imports: [CommonModule,
|
|
20
20
|
FormsModule,
|
|
21
21
|
ReactiveFormsModule,
|
|
22
22
|
NgtValidationModule,
|
|
@@ -24,7 +24,7 @@ export class NgtTextareaModule {
|
|
|
24
24
|
NgtHelperModule,
|
|
25
25
|
NgtFormModule] }); }
|
|
26
26
|
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtTextareaModule, decorators: [{
|
|
28
28
|
type: NgModule,
|
|
29
29
|
args: [{
|
|
30
30
|
declarations: [NgtTextareaComponent],
|
|
@@ -6,15 +6,15 @@ export class NgtValidationComponent {
|
|
|
6
6
|
constructor(ngtTranslateService) {
|
|
7
7
|
this.ngtTranslateService = ngtTranslateService;
|
|
8
8
|
}
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
10
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtValidationComponent, deps: [{ token: i1.NgtTranslateService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NgtValidationComponent, selector: "ngt-validation", inputs: { control: "control", container: "container", minValue: "minValue", minLength: "minLength" }, ngImport: i0, template: "<div type=\"hidden\" class=\"text-xxs text-red-700 font-bold\">\n <span class=\"help-block has-error\" *ngIf=\"control?.errors?.maxlength\">\n {{ ngtTranslateService.ngtValidationMaxCharactersExceded }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.required && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationRequiredField }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.email && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidEmail }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.login && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationLogin }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.invalid_password && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidPassword }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.unique && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationAlreadyExists }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.cnpj && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidCnpj }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.cpf && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidCpf }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.password && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationPasswordRequiredMinCharacters }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.match && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationFieldsNotMatch }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.invalidDate && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidDate }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.time && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidPrevision }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.externalServerDependency && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationExternalServerUnavailable }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.minValue && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationValueMustBeGreaterThan(minValue) }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.minlength && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationMinLengthField(minLength) }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.invalid_custom_validator && (control?.dirty || (container && container['submitted']))\">\n {{ control.errors.invalid_custom_validator }}\n </span>\n</div>", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
11
11
|
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtValidationComponent, decorators: [{
|
|
13
13
|
type: Component,
|
|
14
14
|
args: [{ selector: 'ngt-validation', template: "<div type=\"hidden\" class=\"text-xxs text-red-700 font-bold\">\n <span class=\"help-block has-error\" *ngIf=\"control?.errors?.maxlength\">\n {{ ngtTranslateService.ngtValidationMaxCharactersExceded }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.required && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationRequiredField }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.email && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidEmail }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.login && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationLogin }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.invalid_password && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidPassword }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.unique && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationAlreadyExists }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.cnpj && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidCnpj }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.cpf && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidCpf }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.password && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationPasswordRequiredMinCharacters }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.match && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationFieldsNotMatch }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.invalidDate && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidDate }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.time && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidPrevision }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.externalServerDependency && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationExternalServerUnavailable }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.minValue && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationValueMustBeGreaterThan(minValue) }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.minlength && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationMinLengthField(minLength) }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.invalid_custom_validator && (control?.dirty || (container && container['submitted']))\">\n {{ control.errors.invalid_custom_validator }}\n </span>\n</div>" }]
|
|
15
|
-
}], ctorParameters:
|
|
15
|
+
}], ctorParameters: () => [{ type: i1.NgtTranslateService, decorators: [{
|
|
16
16
|
type: Optional
|
|
17
|
-
}] }]
|
|
17
|
+
}] }], propDecorators: { control: [{
|
|
18
18
|
type: Input
|
|
19
19
|
}], container: [{
|
|
20
20
|
type: Input
|
|
@@ -23,4 +23,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
23
23
|
}], minLength: [{
|
|
24
24
|
type: Input
|
|
25
25
|
}] } });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LXZhbGlkYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LXZhbGlkYXRpb24vbmd0LXZhbGlkYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LXZhbGlkYXRpb24vbmd0LXZhbGlkYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBUzNELE1BQU0sT0FBTyxzQkFBc0I7SUFNL0IsWUFFVyxtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtJQUMvQyxDQUFDOytHQVRJLHNCQUFzQjttR0FBdEIsc0JBQXNCLDRKQ1RuQyx1bUhBK0VNOzs0RkR0RU8sc0JBQXNCO2tCQUpsQyxTQUFTOytCQUNJLGdCQUFnQjs7MEJBVXJCLFFBQVE7eUNBTkcsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsU0FBUztzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sQ29udGFpbmVyLCBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IE5ndFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9odHRwL25ndC10cmFuc2xhdGUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmd0LXZhbGlkYXRpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9uZ3QtdmFsaWRhdGlvbi5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgTmd0VmFsaWRhdGlvbkNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgcHVibGljIGNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbDtcbiAgICBASW5wdXQoKSBwdWJsaWMgY29udGFpbmVyOiBDb250cm9sQ29udGFpbmVyO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBtaW5WYWx1ZTogbnVtYmVyO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBtaW5MZW5ndGg6IG51bWJlcjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgcHVibGljIG5ndFRyYW5zbGF0ZVNlcnZpY2U6IE5ndFRyYW5zbGF0ZVNlcnZpY2VcbiAgICApIHsgfVxufVxuIiwiPGRpdiB0eXBlPVwiaGlkZGVuXCIgY2xhc3M9XCJ0ZXh0LXh4cyB0ZXh0LXJlZC03MDAgZm9udC1ib2xkXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJoZWxwLWJsb2NrIGhhcy1lcnJvclwiICpuZ0lmPVwiY29udHJvbD8uZXJyb3JzPy5tYXhsZW5ndGhcIj5cbiAgICAgICAge3sgbmd0VHJhbnNsYXRlU2VydmljZS5uZ3RWYWxpZGF0aW9uTWF4Q2hhcmFjdGVyc0V4Y2VkZWQgfX1cbiAgICA8L3NwYW4+XG5cbiAgICA8c3BhbiBjbGFzcz1cImhlbHAtYmxvY2sgaGFzLWVycm9yXCJcbiAgICAgICAgKm5nSWY9XCJjb250cm9sPy5lcnJvcnM/LnJlcXVpcmVkICYmIChjb250cm9sPy5kaXJ0eSB8fCAoY29udGFpbmVyICYmIGNvbnRhaW5lclsnc3VibWl0dGVkJ10pKVwiPlxuICAgICAgICB7eyBuZ3RUcmFuc2xhdGVTZXJ2aWNlLm5ndFZhbGlkYXRpb25SZXF1aXJlZEZpZWxkIH19XG4gICAgPC9zcGFuPlxuXG4gICAgPHNwYW4gY2xhc3M9XCJoZWxwLWJsb2NrIGhhcy1lcnJvclwiXG4gICAgICAgICpuZ0lmPVwiY29udHJvbD8uZXJyb3JzPy5lbWFpbCAmJiAoY29udHJvbD8uZGlydHkgfHwgKGNvbnRhaW5lciAmJiBjb250YWluZXJbJ3N1Ym1pdHRlZCddKSlcIj5cbiAgICAgICAge3sgbmd0VHJhbnNsYXRlU2VydmljZS5uZ3RWYWxpZGF0aW9uSW52YWxpZEVtYWlsIH19XG4gICAgPC9zcGFuPlxuXG4gICAgPHNwYW4gY2xhc3M9XCJoZWxwLWJsb2NrIGhhcy1lcnJvclwiXG4gICAgICAgICpuZ0lmPVwiY29udHJvbD8uZXJyb3JzPy5sb2dpbiAmJiAoY29udHJvbD8uZGlydHkgfHwgKGNvbnRhaW5lciAmJiBjb250YWluZXJbJ3N1Ym1pdHRlZCddKSlcIj5cbiAgICAgICAge3sgbmd0VHJhbnNsYXRlU2VydmljZS5uZ3RWYWxpZGF0aW9uTG9naW4gfX1cbiAgICA8L3NwYW4+XG5cbiAgICA8c3BhbiBjbGFzcz1cImhlbHAtYmxvY2sgaGFzLWVycm9yXCJcbiAgICAgICAgKm5nSWY9XCJjb250cm9sPy5lcnJvcnM/LmludmFsaWRfcGFzc3dvcmQgJiYgKGNvbnRyb2w/LmRpcnR5IHx8IChjb250YWluZXIgJiYgY29udGFpbmVyWydzdWJtaXR0ZWQnXSkpXCI+XG4gICAgICAgIHt7IG5ndFRyYW5zbGF0ZVNlcnZpY2Uubmd0VmFsaWRhdGlvbkludmFsaWRQYXNzd29yZCB9fVxuICAgIDwvc3Bhbj5cblxuICAgIDxzcGFuIGNsYXNzPVwiaGVscC1ibG9jayBoYXMtZXJyb3JcIlxuICAgICAgICAqbmdJZj1cImNvbnRyb2w/LmVycm9ycz8udW5pcXVlICYmIChjb250cm9sPy5kaXJ0eSB8fCAoY29udGFpbmVyICYmIGNvbnRhaW5lclsnc3VibWl0dGVkJ10pKVwiPlxuICAgICAgICB7eyBuZ3RUcmFuc2xhdGVTZXJ2aWNlLm5ndFZhbGlkYXRpb25BbHJlYWR5RXhpc3RzIH19XG4gICAgPC9zcGFuPlxuXG4gICAgPHNwYW4gY2xhc3M9XCJoZWxwLWJsb2NrIGhhcy1lcnJvclwiXG4gICAgICAgICpuZ0lmPVwiY29udHJvbD8uZXJyb3JzPy5jbnBqICYmIChjb250cm9sPy5kaXJ0eSB8fCAoY29udGFpbmVyICYmIGNvbnRhaW5lclsnc3VibWl0dGVkJ10pKVwiPlxuICAgICAgICB7eyBuZ3RUcmFuc2xhdGVTZXJ2aWNlLm5ndFZhbGlkYXRpb25JbnZhbGlkQ25waiB9fVxuICAgIDwvc3Bhbj5cblxuICAgIDxzcGFuIGNsYXNzPVwiaGVscC1ibG9jayBoYXMtZXJyb3JcIlxuICAgICAgICAqbmdJZj1cImNvbnRyb2w/LmVycm9ycz8uY3BmICYmIChjb250cm9sPy5kaXJ0eSB8fCAoY29udGFpbmVyICYmIGNvbnRhaW5lclsnc3VibWl0dGVkJ10pKVwiPlxuICAgICAgICB7eyBuZ3RUcmFuc2xhdGVTZXJ2aWNlLm5ndFZhbGlkYXRpb25JbnZhbGlkQ3BmIH19XG4gICAgPC9zcGFuPlxuXG4gICAgPHNwYW4gY2xhc3M9XCJoZWxwLWJsb2NrIGhhcy1lcnJvclwiXG4gICAgICAgICpuZ0lmPVwiY29udHJvbD8uZXJyb3JzPy5wYXNzd29yZCAmJiAoY29udHJvbD8uZGlydHkgfHwgKGNvbnRhaW5lciAmJiBjb250YWluZXJbJ3N1Ym1pdHRlZCddKSlcIj5cbiAgICAgICAge3sgbmd0VHJhbnNsYXRlU2VydmljZS5uZ3RWYWxpZGF0aW9uUGFzc3dvcmRSZXF1aXJlZE1pbkNoYXJhY3RlcnMgfX1cbiAgICA8L3NwYW4+XG5cbiAgICA8c3BhbiBjbGFzcz1cImhlbHAtYmxvY2sgaGFzLWVycm9yXCJcbiAgICAgICAgKm5nSWY9XCJjb250cm9sPy5lcnJvcnM/Lm1hdGNoICYmIChjb250cm9sPy5kaXJ0eSB8fCAoY29udGFpbmVyICYmIGNvbnRhaW5lclsnc3VibWl0dGVkJ10pKVwiPlxuICAgICAgICB7eyBuZ3RUcmFuc2xhdGVTZXJ2aWNlLm5ndFZhbGlkYXRpb25GaWVsZHNOb3RNYXRjaCB9fVxuICAgIDwvc3Bhbj5cblxuICAgIDxzcGFuIGNsYXNzPVwiaGVscC1ibG9jayBoYXMtZXJyb3JcIlxuICAgICAgICAqbmdJZj1cImNvbnRyb2w/LmVycm9ycz8uaW52YWxpZERhdGUgJiYgKGNvbnRyb2w/LmRpcnR5IHx8IChjb250YWluZXIgJiYgY29udGFpbmVyWydzdWJtaXR0ZWQnXSkpXCI+XG4gICAgICAgIHt7IG5ndFRyYW5zbGF0ZVNlcnZpY2Uubmd0VmFsaWRhdGlvbkludmFsaWREYXRlIH19XG4gICAgPC9zcGFuPlxuXG4gICAgPHNwYW4gY2xhc3M9XCJoZWxwLWJsb2NrIGhhcy1lcnJvclwiXG4gICAgICAgICpuZ0lmPVwiY29udHJvbD8uZXJyb3JzPy50aW1lICYmIChjb250cm9sPy5kaXJ0eSB8fCAoY29udGFpbmVyICYmIGNvbnRhaW5lclsnc3VibWl0dGVkJ10pKVwiPlxuICAgICAgICB7eyBuZ3RUcmFuc2xhdGVTZXJ2aWNlLm5ndFZhbGlkYXRpb25JbnZhbGlkUHJldmlzaW9uIH19XG4gICAgPC9zcGFuPlxuXG4gICAgPHNwYW4gY2xhc3M9XCJoZWxwLWJsb2NrIGhhcy1lcnJvclwiXG4gICAgICAgICpuZ0lmPVwiY29udHJvbD8uZXJyb3JzPy5leHRlcm5hbFNlcnZlckRlcGVuZGVuY3kgJiYgKGNvbnRyb2w/LmRpcnR5IHx8IChjb250YWluZXIgJiYgY29udGFpbmVyWydzdWJtaXR0ZWQnXSkpXCI+XG4gICAgICAgIHt7IG5ndFRyYW5zbGF0ZVNlcnZpY2Uubmd0VmFsaWRhdGlvbkV4dGVybmFsU2VydmVyVW5hdmFpbGFibGUgfX1cbiAgICA8L3NwYW4+XG5cbiAgICA8c3BhbiBjbGFzcz1cImhlbHAtYmxvY2sgaGFzLWVycm9yXCJcbiAgICAgICAgKm5nSWY9XCJjb250cm9sPy5lcnJvcnM/Lm1pblZhbHVlICYmIChjb250cm9sPy5kaXJ0eSB8fCAoY29udGFpbmVyICYmIGNvbnRhaW5lclsnc3VibWl0dGVkJ10pKVwiPlxuICAgICAgICB7eyBuZ3RUcmFuc2xhdGVTZXJ2aWNlLm5ndFZhbGlkYXRpb25WYWx1ZU11c3RCZUdyZWF0ZXJUaGFuKG1pblZhbHVlKSB9fVxuICAgIDwvc3Bhbj5cblxuICAgIDxzcGFuIGNsYXNzPVwiaGVscC1ibG9jayBoYXMtZXJyb3JcIlxuICAgICAgICAqbmdJZj1cImNvbnRyb2w/LmVycm9ycz8ubWlubGVuZ3RoICYmIChjb250cm9sPy5kaXJ0eSB8fCAoY29udGFpbmVyICYmIGNvbnRhaW5lclsnc3VibWl0dGVkJ10pKVwiPlxuICAgICAgICB7eyBuZ3RUcmFuc2xhdGVTZXJ2aWNlLm5ndFZhbGlkYXRpb25NaW5MZW5ndGhGaWVsZChtaW5MZW5ndGgpIH19XG4gICAgPC9zcGFuPlxuXG4gICAgPHNwYW4gY2xhc3M9XCJoZWxwLWJsb2NrIGhhcy1lcnJvclwiXG4gICAgICAgICpuZ0lmPVwiY29udHJvbD8uZXJyb3JzPy5pbnZhbGlkX2N1c3RvbV92YWxpZGF0b3IgJiYgKGNvbnRyb2w/LmRpcnR5IHx8IChjb250YWluZXIgJiYgY29udGFpbmVyWydzdWJtaXR0ZWQnXSkpXCI+XG4gICAgICAgIHt7IGNvbnRyb2wuZXJyb3JzLmludmFsaWRfY3VzdG9tX3ZhbGlkYXRvciB9fVxuICAgIDwvc3Bhbj5cbjwvZGl2PiJdfQ==
|
|
@@ -3,11 +3,11 @@ import { NgModule } from '@angular/core';
|
|
|
3
3
|
import { NgtValidationComponent } from './ngt-validation.component';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class NgtValidationModule {
|
|
6
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
7
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
8
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtValidationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: NgtValidationModule, declarations: [NgtValidationComponent], imports: [CommonModule], exports: [NgtValidationComponent] }); }
|
|
8
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtValidationModule, imports: [CommonModule] }); }
|
|
9
9
|
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtValidationModule, decorators: [{
|
|
11
11
|
type: NgModule,
|
|
12
12
|
args: [{
|
|
13
13
|
declarations: [NgtValidationComponent],
|
|
@@ -191,15 +191,15 @@ export class NgtStylizableDirective {
|
|
|
191
191
|
getNgtStylizableService() {
|
|
192
192
|
return this.ngtStylizableService;
|
|
193
193
|
}
|
|
194
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
195
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
194
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtStylizableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
195
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: NgtStylizableDirective, selector: "[ngt-stylizable]", inputs: { color: "color", textColor: ["color.text", "textColor"], bgColor: ["color.bg", "bgColor"], borderColor: ["color.border", "borderColor"], h: "h", w: "w", p: "p", px: "px", py: "py", pt: "pt", pr: "pr", pb: "pb", pl: "pl", m: "m", mx: "mx", my: "my", mt: "mt", mr: "mr", mb: "mb", ml: "ml", gap: "gap", border: "border", shadow: "shadow", rounded: "rounded", font: "font", text: "text", breakWords: "breakWords", overflow: "overflow", position: "position", justifyContent: "justifyContent", cursor: "cursor", fontCase: "fontCase" }, ngImport: i0 }); }
|
|
196
196
|
}
|
|
197
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
197
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtStylizableDirective, decorators: [{
|
|
198
198
|
type: Directive,
|
|
199
199
|
args: [{
|
|
200
200
|
selector: '[ngt-stylizable]'
|
|
201
201
|
}]
|
|
202
|
-
}], ctorParameters:
|
|
202
|
+
}], ctorParameters: () => [], propDecorators: { color: [{
|
|
203
203
|
type: Input,
|
|
204
204
|
args: ['color']
|
|
205
205
|
}], textColor: [{
|
|
@@ -296,4 +296,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
296
296
|
type: Input,
|
|
297
297
|
args: ['fontCase']
|
|
298
298
|
}] } });
|
|
299
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LXN0eWxpemFibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2RpcmVjdGl2ZXMvbmd0LXN0eWxpemFibGUvbmd0LXN0eWxpemFibGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDOztBQUs1RixNQUFNLE9BQU8sc0JBQXNCO0lBRy9CO1FBQ0ksSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztJQUMzRCxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ1osT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFXLENBQUM7UUFDUixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQVcsQ0FBQztRQUNSLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBVyxDQUFDO1FBQ1IsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFXLEVBQUU7UUFDVCxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQVcsRUFBRTtRQUNULE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBVyxFQUFFO1FBQ1QsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFXLEVBQUU7UUFDVCxPQUFPLElBQUksQ0FBQyxvQkFBb0Is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Q1csQ0FBQyxDQUFDLENBQVM7UUFDbEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQ1csQ0FBQyxDQUFDLENBQVM7UUFDbEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQ1csQ0FBQyxDQUFDLENBQVM7UUFDbEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQ1csRUFBRSxDQUFDLEVBQVU7UUFDcEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQ1csRUFBRSxDQUFDLEVBQVU7UUFDcEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQ1csRUFBRSxDQUFDLEVBQVU7UUFDcEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQ1csRUFBRSxDQUFDLEVBQVU7UUFDcEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQ1csRUFBRSxDQUFDLEVBQVU7UUFDcEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQ1csRUFBRSxDQUFDLEVBQVU7UUFDcEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQ1csQ0FBQyxDQUFDLENBQVM7UUFDbEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQ1csRUFBRSxDQUFDLEVBQVU7UUFDcEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQ1csRUFBRSxDQUFDLEVBQVU7UUFDcEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQ1csRUFBRSxDQUFDLEVBQVU7UUFDcEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQ1csRUFBRSxDQUFDLEVBQVU7UUFDcEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQ1csRUFBRSxDQUFDLEVBQVU7UUFDcEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQ1csRUFBRSxDQUFDLEVBQVU7UUFDcEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQ1csR0FBRyxDQUFDLEdBQVc7UUFDdEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQ1csTUFBTSxDQUFDLE1BQWM7UUFDNUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQ1csTUFBTSxDQUFDLE1BQWM7UUFDNUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQ1csT0FBTyxDQUFDLE9BQWU7UUFDOUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQ1csSUFBSSxDQUFDLElBQVk7UUFDeEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQ1csSUFBSSxDQUFDLElBQVk7UUFDeEIsSUFBSSxDQUFDLG9C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ZWN0aXZlLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOZ3RTdHlsaXphYmxlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25ndC1zdHlsaXphYmxlL25ndC1zdHlsaXphYmxlLnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tuZ3Qtc3R5bGl6YWJsZV0nXG59KVxuZXhwb3J0IGNsYXNzIE5ndFN0eWxpemFibGVEaXJlY3RpdmUge1xuICAgIHByaXZhdGUgbmd0U3R5bGl6YWJsZVNlcnZpY2U6IE5ndFN0eWxpemFibGVTZXJ2aWNlO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlID0gbmV3IE5ndFN0eWxpemFibGVTZXJ2aWNlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjb2xvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UuY29sb3I7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBoKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLmg7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB3KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnc7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBwKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnA7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBweCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5weDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHB5KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnB5O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcHQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UucHQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBwcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5wcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHBiKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnBiO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcGwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UucGw7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBtKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLm07XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBteCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5teDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG15KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLm15O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbXQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UubXQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBtcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5tcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG1iKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLm1iO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbWwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UubWw7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBnYXAoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UuZ2FwO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgYm9yZGVyKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLmJvcmRlcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHNoYWRvdygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5zaGFkb3c7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCByb3VuZGVkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnJvdW5kZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBmb250KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLmZvbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB0ZXh0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnRleHQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBicmVha1dvcmRzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLmJyZWFrV29yZHM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBvdmVyZmxvdygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5vdmVyZmxvdztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHBvc2l0aW9uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnBvc2l0aW9uO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQganVzdGlmeUNvbnRlbnQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UuanVzdGlmeUNvbnRlbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjdXJzb3IoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UuY3Vyc29yO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZm9udENhc2UoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UuZm9udENhc2U7XG4gICAgfVxuXG4gICAgQElucHV0KCdjb2xvcicpXG4gICAgcHVibGljIHNldCBjb2xvcihjb2xvcikge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLmNvbG9yID0gY29sb3I7XG4gICAgfVxuXG4gICAgQElucHV0KCdjb2xvci50ZXh0JylcbiAgICBwdWJsaWMgc2V0IHRleHRDb2xvcih0ZXh0Q29sb3I6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnRleHRDb2xvciA9IHRleHRDb2xvcjtcbiAgICB9XG5cbiAgICBASW5wdXQoJ2NvbG9yLmJnJylcbiAgICBwdWJsaWMgc2V0IGJnQ29sb3IoYmdDb2xvcjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UuYmdDb2xvciA9IGJnQ29sb3I7XG4gICAgfVxuXG4gICAgQElucHV0KCdjb2xvci5ib3JkZXInKVxuICAgIHB1YmxpYyBzZXQgYm9yZGVyQ29sb3IoYm9yZGVyQ29sb3IpIHtcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5ib3JkZXJDb2xvciA9IGJvcmRlckNvbG9yO1xuICAgIH1cblxuICAgIEBJbnB1dCgnaCcpXG4gICAgcHVibGljIHNldCBoKGg6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLmggPSBoO1xuICAgIH1cblxuICAgIEBJbnB1dCgndycpXG4gICAgcHVibGljIHNldCB3KHc6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLncgPSB3O1xuICAgIH1cblxuICAgIEBJbnB1dCgncCcpXG4gICAgcHVibGljIHNldCBwKHA6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnAgPSBwO1xuICAgIH1cblxuICAgIEBJbnB1dCgncHgnKVxuICAgIHB1YmxpYyBzZXQgcHgocHg6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnB4ID0gcHg7XG4gICAgfVxuXG4gICAgQElucHV0KCdweScpXG4gICAgcHVibGljIHNldCBweShweTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UucHkgPSBweTtcbiAgICB9XG5cbiAgICBASW5wdXQoJ3B0JylcbiAgICBwdWJsaWMgc2V0IHB0KHB0OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5wdCA9IHB0O1xuICAgIH1cblxuICAgIEBJbnB1dCgncHInKVxuICAgIHB1YmxpYyBzZXQgcHIocHI6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnByID0gcHI7XG4gICAgfVxuXG4gICAgQElucHV0KCdwYicpXG4gICAgcHVibGljIHNldCBwYihwYjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UucGIgPSBwYjtcbiAgICB9XG5cbiAgICBASW5wdXQoJ3BsJylcbiAgICBwdWJsaWMgc2V0IHBsKHBsOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5wbCA9IHBsO1xuICAgIH1cblxuICAgIEBJbnB1dCgnbScpXG4gICAgcHVibGljIHNldCBtKG06IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLm0gPSBtO1xuICAgIH1cblxuICAgIEBJbnB1dCgnbXgnKVxuICAgIHB1YmxpYyBzZXQgbXgobXg6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLm14ID0gbXg7XG4gICAgfVxuXG4gICAgQElucHV0KCdteScpXG4gICAgcHVibGljIHNldCBteShteTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UubXkgPSBteTtcbiAgICB9XG5cbiAgICBASW5wdXQoJ210JylcbiAgICBwdWJsaWMgc2V0IG10KG10OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5tdCA9IG10O1xuICAgIH1cblxuICAgIEBJbnB1dCgnbXInKVxuICAgIHB1YmxpYyBzZXQgbXIobXI6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLm1yID0gbXI7XG4gICAgfVxuXG4gICAgQElucHV0KCdtYicpXG4gICAgcHVibGljIHNldCBtYihtYjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UubWIgPSBtYjtcbiAgICB9XG5cbiAgICBASW5wdXQoJ21sJylcbiAgICBwdWJsaWMgc2V0IG1sKG1sOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5tbCA9IG1sO1xuICAgIH1cblxuICAgIEBJbnB1dCgnZ2FwJylcbiAgICBwdWJsaWMgc2V0IGdhcChnYXA6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLmdhcCA9IGdhcDtcbiAgICB9XG5cbiAgICBASW5wdXQoJ2JvcmRlcicpXG4gICAgcHVibGljIHNldCBib3JkZXIoYm9yZGVyOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5ib3JkZXIgPSBib3JkZXI7XG4gICAgfVxuXG4gICAgQElucHV0KCdzaGFkb3cnKVxuICAgIHB1YmxpYyBzZXQgc2hhZG93KHNoYWRvdzogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2Uuc2hhZG93ID0gc2hhZG93O1xuICAgIH1cblxuICAgIEBJbnB1dCgncm91bmRlZCcpXG4gICAgcHVibGljIHNldCByb3VuZGVkKHJvdW5kZWQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnJvdW5kZWQgPSByb3VuZGVkO1xuICAgIH1cblxuICAgIEBJbnB1dCgnZm9udCcpXG4gICAgcHVibGljIHNldCBmb250KGZvbnQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLmZvbnQgPSBmb250O1xuICAgIH1cblxuICAgIEBJbnB1dCgndGV4dCcpXG4gICAgcHVibGljIHNldCB0ZXh0KHRleHQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnRleHQgPSB0ZXh0O1xuICAgIH1cblxuICAgIEBJbnB1dCgnYnJlYWtXb3JkcycpXG4gICAgcHVibGljIHNldCBicmVha1dvcmRzKGJyZWFrV29yZHM6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLmJyZWFrV29yZHMgPSBicmVha1dvcmRzO1xuICAgIH1cblxuICAgIEBJbnB1dCgnb3ZlcmZsb3cnKVxuICAgIHB1YmxpYyBzZXQgb3ZlcmZsb3cob3ZlcmZsb3c6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLm92ZXJmbG93ID0gb3ZlcmZsb3c7XG4gICAgfVxuXG4gICAgQElucHV0KCdwb3NpdGlvbicpXG4gICAgcHVibGljIHNldCBwb3NpdGlvbihwb3NpdGlvbjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UucG9zaXRpb24gPSBwb3NpdGlvbjtcbiAgICB9XG5cbiAgICBASW5wdXQoJ2p1c3RpZnlDb250ZW50JylcbiAgICBwdWJsaWMgc2V0IGp1c3RpZnlDb250ZW50KGp1c3RpZnlDb250ZW50OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5qdXN0aWZ5Q29udGVudCA9IGp1c3RpZnlDb250ZW50O1xuICAgIH1cblxuICAgIEBJbnB1dCgnY3Vyc29yJylcbiAgICBwdWJsaWMgc2V0IGN1cnNvcihjdXJzb3I6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLmN1cnNvciA9IGN1cnNvcjtcbiAgICB9XG5cbiAgICBASW5wdXQoJ2ZvbnRDYXNlJylcbiAgICBwdWJsaWMgc2V0IGZvbnRDYXNlKGZvbnRDYXNlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5mb250Q2FzZSA9IGZvbnRDYXNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXROZ3RTdHlsaXphYmxlU2VydmljZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2U7XG4gICAgfVxufVxuIl19
|
|
299
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LXN0eWxpemFibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2RpcmVjdGl2ZXMvbmd0LXN0eWxpemFibGUvbmd0LXN0eWxpemFibGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDOztBQUs1RixNQUFNLE9BQU8sc0JBQXNCO0lBRy9CO1FBQ0ksSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztJQUMzRCxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ1osT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFXLENBQUM7UUFDUixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQVcsQ0FBQztRQUNSLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBVyxDQUFDO1FBQ1IsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFXLEVBQUU7UUFDVCxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQVcsRUFBRTtRQUNULE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBVyxFQUFFO1FBQ1QsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFXLEVBQUU7UUFDVCxPQUFPLElBQUksQ0FBQyxvQkFBb0Is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Q1csQ0FBQyxDQUFDLENBQVM7UUFDbEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQ1csQ0FBQyxDQUFDLENBQVM7UUFDbEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQ1csQ0FBQyxDQUFDLENBQVM7UUFDbEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQ1csRUFBRSxDQUFDLEVBQVU7UUFDcEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQ1csRUFBRSxDQUFDLEVBQVU7UUFDcEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQ1csRUFBRSxDQUFDLEVBQVU7UUFDcEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQ1csRUFBRSxDQUFDLEVBQVU7UUFDcEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQ1csRUFBRSxDQUFDLEVBQVU7UUFDcEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQ1csRUFBRSxDQUFDLEVBQVU7UUFDcEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQ1csQ0FBQyxDQUFDLENBQVM7UUFDbEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQ1csRUFBRSxDQUFDLEVBQVU7UUFDcEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQ1csRUFBRSxDQUFDLEVBQVU7UUFDcEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQ1csRUFBRSxDQUFDLEVBQVU7UUFDcEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQ1csRUFBRSxDQUFDLEVBQVU7UUFDcEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQ1csRUFBRSxDQUFDLEVBQVU7UUFDcEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQ1csRUFBRSxDQUFDLEVBQVU7UUFDcEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQ1csR0FBRyxDQUFDLEdBQVc7UUFDdEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQ1csTUFBTSxDQUFDLE1BQWM7UUFDNUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQ1csTUFBTSxDQUFDLE1BQWM7UUFDNUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQ1csT0FBTyxDQUFDLE9BQWU7UUFDOUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQ1csSUFBSSxDQUFDLElBQVk7UUFDeEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQ1csSUFBSSxDQUFDLElBQVk7UUFDeEIsSUFBSSxDQUFDLG9C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ZWN0aXZlLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOZ3RTdHlsaXphYmxlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25ndC1zdHlsaXphYmxlL25ndC1zdHlsaXphYmxlLnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tuZ3Qtc3R5bGl6YWJsZV0nXG59KVxuZXhwb3J0IGNsYXNzIE5ndFN0eWxpemFibGVEaXJlY3RpdmUge1xuICAgIHByaXZhdGUgbmd0U3R5bGl6YWJsZVNlcnZpY2U6IE5ndFN0eWxpemFibGVTZXJ2aWNlO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlID0gbmV3IE5ndFN0eWxpemFibGVTZXJ2aWNlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjb2xvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UuY29sb3I7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBoKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLmg7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB3KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnc7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBwKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnA7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBweCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5weDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHB5KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnB5O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcHQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UucHQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBwcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5wcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHBiKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnBiO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcGwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UucGw7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBtKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLm07XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBteCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5teDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG15KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLm15O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbXQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UubXQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBtcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5tcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG1iKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLm1iO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbWwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UubWw7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBnYXAoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UuZ2FwO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgYm9yZGVyKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLmJvcmRlcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHNoYWRvdygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5zaGFkb3c7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCByb3VuZGVkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnJvdW5kZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBmb250KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLmZvbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB0ZXh0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnRleHQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBicmVha1dvcmRzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLmJyZWFrV29yZHM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBvdmVyZmxvdygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5vdmVyZmxvdztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHBvc2l0aW9uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnBvc2l0aW9uO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQganVzdGlmeUNvbnRlbnQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UuanVzdGlmeUNvbnRlbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjdXJzb3IoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UuY3Vyc29yO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZm9udENhc2UoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UuZm9udENhc2U7XG4gICAgfVxuXG4gICAgQElucHV0KCdjb2xvcicpXG4gICAgcHVibGljIHNldCBjb2xvcihjb2xvcikge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLmNvbG9yID0gY29sb3I7XG4gICAgfVxuXG4gICAgQElucHV0KCdjb2xvci50ZXh0JylcbiAgICBwdWJsaWMgc2V0IHRleHRDb2xvcih0ZXh0Q29sb3I6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnRleHRDb2xvciA9IHRleHRDb2xvcjtcbiAgICB9XG5cbiAgICBASW5wdXQoJ2NvbG9yLmJnJylcbiAgICBwdWJsaWMgc2V0IGJnQ29sb3IoYmdDb2xvcjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UuYmdDb2xvciA9IGJnQ29sb3I7XG4gICAgfVxuXG4gICAgQElucHV0KCdjb2xvci5ib3JkZXInKVxuICAgIHB1YmxpYyBzZXQgYm9yZGVyQ29sb3IoYm9yZGVyQ29sb3IpIHtcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5ib3JkZXJDb2xvciA9IGJvcmRlckNvbG9yO1xuICAgIH1cblxuICAgIEBJbnB1dCgnaCcpXG4gICAgcHVibGljIHNldCBoKGg6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLmggPSBoO1xuICAgIH1cblxuICAgIEBJbnB1dCgndycpXG4gICAgcHVibGljIHNldCB3KHc6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLncgPSB3O1xuICAgIH1cblxuICAgIEBJbnB1dCgncCcpXG4gICAgcHVibGljIHNldCBwKHA6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnAgPSBwO1xuICAgIH1cblxuICAgIEBJbnB1dCgncHgnKVxuICAgIHB1YmxpYyBzZXQgcHgocHg6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnB4ID0gcHg7XG4gICAgfVxuXG4gICAgQElucHV0KCdweScpXG4gICAgcHVibGljIHNldCBweShweTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UucHkgPSBweTtcbiAgICB9XG5cbiAgICBASW5wdXQoJ3B0JylcbiAgICBwdWJsaWMgc2V0IHB0KHB0OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5wdCA9IHB0O1xuICAgIH1cblxuICAgIEBJbnB1dCgncHInKVxuICAgIHB1YmxpYyBzZXQgcHIocHI6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnByID0gcHI7XG4gICAgfVxuXG4gICAgQElucHV0KCdwYicpXG4gICAgcHVibGljIHNldCBwYihwYjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UucGIgPSBwYjtcbiAgICB9XG5cbiAgICBASW5wdXQoJ3BsJylcbiAgICBwdWJsaWMgc2V0IHBsKHBsOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5wbCA9IHBsO1xuICAgIH1cblxuICAgIEBJbnB1dCgnbScpXG4gICAgcHVibGljIHNldCBtKG06IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLm0gPSBtO1xuICAgIH1cblxuICAgIEBJbnB1dCgnbXgnKVxuICAgIHB1YmxpYyBzZXQgbXgobXg6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLm14ID0gbXg7XG4gICAgfVxuXG4gICAgQElucHV0KCdteScpXG4gICAgcHVibGljIHNldCBteShteTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UubXkgPSBteTtcbiAgICB9XG5cbiAgICBASW5wdXQoJ210JylcbiAgICBwdWJsaWMgc2V0IG10KG10OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5tdCA9IG10O1xuICAgIH1cblxuICAgIEBJbnB1dCgnbXInKVxuICAgIHB1YmxpYyBzZXQgbXIobXI6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLm1yID0gbXI7XG4gICAgfVxuXG4gICAgQElucHV0KCdtYicpXG4gICAgcHVibGljIHNldCBtYihtYjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UubWIgPSBtYjtcbiAgICB9XG5cbiAgICBASW5wdXQoJ21sJylcbiAgICBwdWJsaWMgc2V0IG1sKG1sOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5tbCA9IG1sO1xuICAgIH1cblxuICAgIEBJbnB1dCgnZ2FwJylcbiAgICBwdWJsaWMgc2V0IGdhcChnYXA6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLmdhcCA9IGdhcDtcbiAgICB9XG5cbiAgICBASW5wdXQoJ2JvcmRlcicpXG4gICAgcHVibGljIHNldCBib3JkZXIoYm9yZGVyOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5ib3JkZXIgPSBib3JkZXI7XG4gICAgfVxuXG4gICAgQElucHV0KCdzaGFkb3cnKVxuICAgIHB1YmxpYyBzZXQgc2hhZG93KHNoYWRvdzogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2Uuc2hhZG93ID0gc2hhZG93O1xuICAgIH1cblxuICAgIEBJbnB1dCgncm91bmRlZCcpXG4gICAgcHVibGljIHNldCByb3VuZGVkKHJvdW5kZWQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnJvdW5kZWQgPSByb3VuZGVkO1xuICAgIH1cblxuICAgIEBJbnB1dCgnZm9udCcpXG4gICAgcHVibGljIHNldCBmb250KGZvbnQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLmZvbnQgPSBmb250O1xuICAgIH1cblxuICAgIEBJbnB1dCgndGV4dCcpXG4gICAgcHVibGljIHNldCB0ZXh0KHRleHQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnRleHQgPSB0ZXh0O1xuICAgIH1cblxuICAgIEBJbnB1dCgnYnJlYWtXb3JkcycpXG4gICAgcHVibGljIHNldCBicmVha1dvcmRzKGJyZWFrV29yZHM6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLmJyZWFrV29yZHMgPSBicmVha1dvcmRzO1xuICAgIH1cblxuICAgIEBJbnB1dCgnb3ZlcmZsb3cnKVxuICAgIHB1YmxpYyBzZXQgb3ZlcmZsb3cob3ZlcmZsb3c6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLm92ZXJmbG93ID0gb3ZlcmZsb3c7XG4gICAgfVxuXG4gICAgQElucHV0KCdwb3NpdGlvbicpXG4gICAgcHVibGljIHNldCBwb3NpdGlvbihwb3NpdGlvbjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UucG9zaXRpb24gPSBwb3NpdGlvbjtcbiAgICB9XG5cbiAgICBASW5wdXQoJ2p1c3RpZnlDb250ZW50JylcbiAgICBwdWJsaWMgc2V0IGp1c3RpZnlDb250ZW50KGp1c3RpZnlDb250ZW50OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5qdXN0aWZ5Q29udGVudCA9IGp1c3RpZnlDb250ZW50O1xuICAgIH1cblxuICAgIEBJbnB1dCgnY3Vyc29yJylcbiAgICBwdWJsaWMgc2V0IGN1cnNvcihjdXJzb3I6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLmN1cnNvciA9IGN1cnNvcjtcbiAgICB9XG5cbiAgICBASW5wdXQoJ2ZvbnRDYXNlJylcbiAgICBwdWJsaWMgc2V0IGZvbnRDYXNlKGZvbnRDYXNlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5mb250Q2FzZSA9IGZvbnRDYXNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXROZ3RTdHlsaXphYmxlU2VydmljZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2U7XG4gICAgfVxufVxuIl19
|
|
@@ -3,11 +3,11 @@ import { NgModule } from '@angular/core';
|
|
|
3
3
|
import { NgtStylizableDirective } from './ngt-stylizable.directive';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class NgtStylizableModule {
|
|
6
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
7
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
8
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtStylizableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: NgtStylizableModule, declarations: [NgtStylizableDirective], imports: [CommonModule], exports: [NgtStylizableDirective] }); }
|
|
8
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtStylizableModule, imports: [CommonModule] }); }
|
|
9
9
|
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtStylizableModule, decorators: [{
|
|
11
11
|
type: NgModule,
|
|
12
12
|
args: [{
|
|
13
13
|
declarations: [NgtStylizableDirective],
|
|
@@ -4,4 +4,4 @@ export function getEnumFromString(string, enumClass) {
|
|
|
4
4
|
}
|
|
5
5
|
throw new Error('Invalid enum [' + string + ']!');
|
|
6
6
|
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXRhaWx3aW5kL3NyYy9oZWxwZXJzL2VudW0vZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsaUJBQWlCLENBQUMsTUFBYyxFQUFFLFNBQWM7SUFDNUQsSUFBSSxNQUFNLElBQUksU0FBUyxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ3pELE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLGdCQUFnQixHQUFHLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQztBQUN0RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGdldEVudW1Gcm9tU3RyaW5nKHN0cmluZzogc3RyaW5nLCBlbnVtQ2xhc3M6IGFueSkge1xuICAgIGlmIChzdHJpbmcgJiYgZW51bUNsYXNzICYmIGVudW1DbGFzc1tzdHJpbmcudG9VcHBlckNhc2UoKV0pIHtcbiAgICAgICAgcmV0dXJuIGVudW1DbGFzc1tzdHJpbmcudG9VcHBlckNhc2UoKV07XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGVudW0gWycgKyBzdHJpbmcgKyAnXSEnKTtcbn1cbiJdfQ==
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export class NgtHttpValidationService {
|
|
2
2
|
}
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LWh0dHAtdmFsaWRhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL3NlcnZpY2VzL2h0dHAvbmd0LWh0dHAtdmFsaWRhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBZ0Isd0JBQXdCO0NBVTdDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGFic3RyYWN0IGNsYXNzIE5ndEh0dHBWYWxpZGF0aW9uU2VydmljZSB7XG4gICAgcHVibGljIGFic3RyYWN0IHVuaXF1ZSh2YWxpZGF0aW9uUmVzb3VyY2U6IGFueSwgdmFsdWU6IGFueSk6IFByb21pc2U8Tmd0SHR0cFZhbGlkYXRpb25SZXNwb25zZT47XG5cbiAgICBwdWJsaWMgYWJzdHJhY3QgZXhpc3RzKHZhbGlkYXRpb25SZXNvdXJjZTogYW55LCB2YWx1ZTogYW55KTogUHJvbWlzZTxOZ3RIdHRwVmFsaWRhdGlvblJlc3BvbnNlPjtcblxuICAgIHB1YmxpYyBhYnN0cmFjdCBlbWFpbFZhbGlkYXRpb24oZW1haWw6IHN0cmluZyk6IFByb21pc2U8Tmd0SHR0cFZhbGlkYXRpb25SZXNwb25zZT47XG5cbiAgICBwdWJsaWMgYWJzdHJhY3QgcGhvbmVWYWxpZGF0aW9uKHBob25lOiBzdHJpbmcpOiBQcm9taXNlPE5ndEh0dHBWYWxpZGF0aW9uUmVzcG9uc2U+O1xuXG4gICAgcHVibGljIGFic3RyYWN0IHBhc3N3b3JkVmFsaWRhdGlvbihwYXNzd29yZDogc3RyaW5nLCBwYXNzd29yZGFibGVJZD86IHN0cmluZywgcGFzc3dvcmRQb2xpY3lJZD86IHN0cmluZyk6IFByb21pc2U8Tmd0SHR0cFZhbGlkYXRpb25SZXNwb25zZT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0SHR0cFZhbGlkYXRpb25SZXNwb25zZSB7XG4gICAgdmFsaWQ6IGFueTtcbn1cbiJdfQ==
|
|
@@ -276,4 +276,4 @@ export class NgtStylizableService {
|
|
|
276
276
|
return value;
|
|
277
277
|
}
|
|
278
278
|
}
|
|
279
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LXN0eWxpemFibGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXRhaWx3aW5kL3NyYy9zZXJ2aWNlcy9uZ3Qtc3R5bGl6YWJsZS9uZ3Qtc3R5bGl6YWJsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxvQkFBb0I7SUErQjdCLElBQVcsS0FBSztRQUNaLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBVyxDQUFDO1FBQ1IsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxJQUFXLENBQUM7UUFDUixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQVcsQ0FBQztRQUNSLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBVyxFQUFFO1FBQ1QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFXLEVBQUU7UUFDVCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQVcsRUFBRTtRQUNULE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBVyxFQUFFO1FBQ1QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFXLEVBQUU7UUFDVCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQVcsRUFBRTtRQUNULE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBVyxDQUFDO1FBQ1IsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxJQUFXLEVBQUU7UUFDVCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQVcsRUFB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VUFBVTtnQkFDVixVQUFVO2dCQUNWLGdCQUFnQjtnQkFDaEIsUUFBUTtnQkFDUixVQUFVO2FBQ2IsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUNwQjtJQUNMLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxjQUFzQixFQUFFLEtBQWE7UUFDM0QsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRTtnQkFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLEdBQUcsZ0JBQWdCLEdBQUcsY0FBYyxHQUFHLEdBQUcsQ0FBQyxDQUFDO2FBQ3ZGO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgTmd0U3R5bGl6YWJsZVNlcnZpY2Uge1xuICAgIHByaXZhdGUgX2NvbG9yOiBhbnk7XG4gICAgcHJpdmF0ZSBfaDogc3RyaW5nO1xuICAgIHByaXZhdGUgX3c6IHN0cmluZztcbiAgICBwcml2YXRlIF9wOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfcHg6IHN0cmluZztcbiAgICBwcml2YXRlIF9weTogc3RyaW5nO1xuICAgIHByaXZhdGUgX3B0OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfcHI6IHN0cmluZztcbiAgICBwcml2YXRlIF9wYjogc3RyaW5nO1xuICAgIHByaXZhdGUgX3BsOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfbTogc3RyaW5nO1xuICAgIHByaXZhdGUgX214OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfbXk6IHN0cmluZztcbiAgICBwcml2YXRlIF9tdDogc3RyaW5nO1xuICAgIHByaXZhdGUgX21yOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfbWI6IHN0cmluZztcbiAgICBwcml2YXRlIF9tbDogc3RyaW5nO1xuICAgIHByaXZhdGUgX2dhcDogc3RyaW5nO1xuICAgIHByaXZhdGUgX2JvcmRlcjogc3RyaW5nO1xuICAgIHByaXZhdGUgX3NoYWRvdzogc3RyaW5nO1xuICAgIHByaXZhdGUgX3JvdW5kZWQ6IHN0cmluZztcbiAgICBwcml2YXRlIF9mb250OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfdGV4dDogc3RyaW5nO1xuICAgIHByaXZhdGUgX2JyZWFrV29yZHM6IHN0cmluZztcbiAgICBwcml2YXRlIF9vdmVyZmxvdzogc3RyaW5nO1xuICAgIHByaXZhdGUgX3Bvc2l0aW9uOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfanVzdGlmeUNvbnRlbnQ6IHN0cmluZztcbiAgICBwcml2YXRlIF9jdXJzb3I6IHN0cmluZztcbiAgICBwcml2YXRlIF9mb250Q2FzZTogc3RyaW5nO1xuXG4gICAgcHVibGljIGdldCBjb2xvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbG9yO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5faDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHcoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3c7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBwKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcHgoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3B4O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcHkoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3B5O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcHQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3B0O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcHIoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ByO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcGIoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BiO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcGwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BsO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fbTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG14KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9teDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG15KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9teTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG10KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG1yKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG1iKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tYjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG1sKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGdhcCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fZ2FwO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgYm9yZGVyKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ib3JkZXI7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzaGFkb3coKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NoYWRvdztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHJvdW5kZWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JvdW5kZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBmb250KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9mb250O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgdGV4dCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGV4dDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGJyZWFrV29yZHMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2JyZWFrV29yZHM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBvdmVyZmxvdygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fb3ZlcmZsb3c7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBwb3NpdGlvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fcG9zaXRpb247XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBqdXN0aWZ5Q29udGVudCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fanVzdGlmeUNvbnRlbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjdXJzb3IoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2N1cnNvcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGZvbnRDYXNlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9mb250Q2FzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IGNvbG9yKGNvbG9yKSB7XG4gICAgICAgIGlmIChjb2xvci5iZykge1xuICAgICAgICAgICAgY29sb3IuYmcgPSB0aGlzLmdldFF1YWxpZmllZFZhbHVlKCdiZy0nLCBjb2xvci5iZyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29sb3IudGV4dCkge1xuICAgICAgICAgICAgY29sb3IudGV4dCA9IHRoaXMuZ2V0UXVhbGlmaWVkVmFsdWUoJ3RleHQtJywgY29sb3IudGV4dCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29sb3IuYm9yZGVyKSB7XG4gICAgICAgICAgICBjb2xvci5ib3JkZXIgPSB0aGlzLmdldFF1YWxpZmllZFZhbHVlKCdib3JkZXItJywgY29sb3IuYm9yZGVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2NvbG9yID0gY29sb3I7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCB0ZXh0Q29sb3IodGV4dENvbG9yKSB7XG4gICAgICAgIHRoaXMuX2NvbG9yID0gdGhpcy5fY29sb3IgPyB0aGlzLl9jb2xvciA6IHt9O1xuICAgICAgICB0aGlzLl9jb2xvci50ZXh0ID0gdGhpcy5nZXRRdWFsaWZpZWRWYWx1ZSgndGV4dC0nLCB0ZXh0Q29sb3IpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgYmdDb2xvcihiZ0NvbG9yKSB7XG4gICAgICAgIHRoaXMuX2NvbG9yID0gdGhpcy5fY29sb3IgPyB0aGlzLl9jb2xvciA6IHt9O1xuICAgICAgICB0aGlzLl9jb2xvci5iZyA9IHRoaXMuZ2V0UXVhbGlmaWVkVmFsdWUoJ2JnLScsIGJnQ29sb3IpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgYm9yZGVyQ29sb3IoYm9yZGVyQ29sb3IpIHtcbiAgICAgICAgdGhpcy5fY29sb3IgPSB0aGlzLl9jb2xvciA/IHRoaXMuX2NvbG9yIDoge307XG4gICAgICAgIHRoaXMuX2NvbG9yLmJvcmRlciA9IHRoaXMuZ2V0UXVhbGlmaWVkVmFsdWUoJ2JvcmRlci0nLCBib3JkZXJDb2xvcik7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBoKGg6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9oID0gdGhpcy5nZXRRdWFsaWZpZWRWYWx1ZSgnaC0nLCBoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IHcodzogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3cgPSB0aGlzLmdldFF1YWxpZmllZFZhbHVlKCd3LScsIHcpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgcChwOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fcCA9IHRoaXMuZ2V0UXVhbGlmaWVkVmFsdWUoJ3AtJywgcCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBweChweDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3B4ID0gdGhpcy5nZXRRdWFsaWZpZWRWYWx1ZSgncHgtJywgcHgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgcHkocHk6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9weSA9IHRoaXMuZ2V0UXVhbGlmaWVkVmFsdWUoJ3B5LScsIHB5KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IHB0KHB0OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fcHQgPSB0aGlzLmdldFF1YWxpZmllZFZhbHVlKCdwdC0nLCBwdCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBwcihwcjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3ByID0gdGhpcy5nZXRRdWFsaWZpZWRWYWx1ZSgncHItJywgcHIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgcGIocGI6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9wYiA9IHRoaXMuZ2V0UXVhbGlmaWVkVmFsdWUoJ3BiLScsIHBiKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IHBsKHBsOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fcGwgPSB0aGlzLmdldFF1YWxpZmllZFZhbHVlKCdwbC0nLCBwbCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBtKG06IHN0cmluZykge1xuICAgICAgICB0aGlzLl9tID0gdGhpcy5nZXRRdWFsaWZpZWRWYWx1ZSgnbS0nLCBtKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IG14KG14OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fbXggPSB0aGlzLmdldFF1YWxpZmllZFZhbHVlKCdteC0nLCBteCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBteShteTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX215ID0gdGhpcy5nZXRRdWFsaWZpZWRWYWx1ZSgnbXktJywgbXkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgbXQobXQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9tdCA9IHRoaXMuZ2V0UXVhbGlmaWVkVmFsdWUoJ210LScsIG10KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IG1yKG1yOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fbXIgPSB0aGlzLmdldFF1YWxpZmllZFZhbHVlKCdtci0nLCBtcik7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBtYihtYjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX21iID0gdGhpcy5nZXRRdWFsaWZpZWRWYWx1ZSgnbWItJywgbWIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgbWwobWw6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9tbCA9IHRoaXMuZ2V0UXVhbGlmaWVkVmFsdWUoJ21sLScsIG1sKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IGdhcChnYXA6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9nYXAgPSB0aGlzLmdldFF1YWxpZmllZFZhbHVlKCdnYXAtJywgZ2FwKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IGJvcmRlcihib3JkZXI6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9ib3JkZXIgPSB0aGlzLmdldFF1YWxpZmllZFZhbHVlKCdib3JkZXInLCBib3JkZXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgc2hhZG93KHNoYWRvdzogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3NoYWRvdyA9IHRoaXMuZ2V0UXVhbGlmaWVkVmFsdWUoJ3NoYWRvdycsIHNoYWRvdyk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCByb3VuZGVkKHJvdW5kZWQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9yb3VuZGVkID0gdGhpcy5nZXRRdWFsaWZpZWRWYWx1ZSgncm91bmRlZCcsIHJvdW5kZWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgZm9udChmb250OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fZm9udCA9IHRoaXMuZ2V0UXVhbGlmaWVkVmFsdWUoJ2ZvbnQnLCBmb250KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IHRleHQodGV4dDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3RleHQgPSB0aGlzLmdldFF1YWxpZmllZFZhbHVlKCd0ZXh0JywgdGV4dCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBicmVha1dvcmRzKGJyZWFrV29yZHM6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9icmVha1dvcmRzID0gdGhpcy5nZXRRdWFsaWZpZWRWYWx1ZSgnYnJlYWsnLCBicmVha1dvcmRzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IG92ZXJmbG93KG92ZXJmbG93OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fb3ZlcmZsb3cgPSB0aGlzLmdldFF1YWxpZmllZFZhbHVlKCdvdmVyZmxvdycsIG92ZXJmbG93KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IHBvc2l0aW9uKHBvc2l0aW9uOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fcG9zaXRpb24gPSBwb3NpdGlvbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IGp1c3RpZnlDb250ZW50KGp1c3RpZnlDb250ZW50OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fanVzdGlmeUNvbnRlbnQgPSB0aGlzLmdldFF1YWxpZmllZFZhbHVlKCdqdXN0aWZ5JywganVzdGlmeUNvbnRlbnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgY3Vyc29yKGN1cnNvcjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2N1cnNvciA9IHRoaXMuZ2V0UXVhbGlmaWVkVmFsdWUoJ2N1cnNvcicsIGN1cnNvcik7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBmb250Q2FzZShmb250Q2FzZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2ZvbnRDYXNlID0gdGhpcy5nZXRRdWFsaWZpZWRWYWx1ZSgnJywgZm9udENhc2UpO1xuICAgIH1cblxuICAgIHB1YmxpYyBsb2FkKGluamVjdG9yOiBJbmplY3Rvciwgc3R5bGU6IHN0cmluZywgZGVmYXVsdFZhbHVlID0gbnVsbCwgaW5oZXJpdGFuY2VTdHlsZXMgPSBbXSkge1xuICAgICAgICBsZXQgbmd0R2xvYmFsU3R5bGUgPSBpbmplY3Rvci5nZXQoJ05ndFN0eWxlR2xvYmFsJywge30pO1xuXG4gICAgICAgIGRlZmF1bHRWYWx1ZSA9IGRlZmF1bHRWYWx1ZSA/IGRlZmF1bHRWYWx1ZSA6IHt9O1xuXG4gICAgICAgIGxldCByZXF1ZXN0ZWRTdHlsZSA9IDxOZ3RTdHlsaXphYmxlU2VydmljZT5pbmplY3Rvci5nZXQoc3R5bGUgKyAnU3R5bGUnLCBkZWZhdWx0VmFsdWUpO1xuXG4gICAgICAgIHRoaXMubG9hZE9iamVjdFByb3BlcnRpZXModGhpcywgbmd0R2xvYmFsU3R5bGUsIHRoaXMuZ2V0QWxsb3dlZEtleXMobmd0R2xvYmFsU3R5bGUpKTtcblxuICAgICAgICBpbmhlcml0YW5jZVN0eWxlcy5mb3JFYWNoKHN0eWxlID0+IHtcbiAgICAgICAgICAgIGxldCByZXF1ZXN0ZWRTdHlsZSA9IDxOZ3RTdHlsaXphYmxlU2VydmljZT5pbmplY3Rvci5nZXQoc3R5bGUsIHt9KTtcblxuICAgICAgICAgICAgdGhpcy5sb2FkT2JqZWN0UHJvcGVydGllcyh0aGlzLCByZXF1ZXN0ZWRTdHlsZSwgdGhpcy5nZXRBbGxvd2VkS2V5cyhyZXF1ZXN0ZWRTdHlsZSkpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmxvYWRPYmplY3RQcm9wZXJ0aWVzKHRoaXMsIHJlcXVlc3RlZFN0eWxlLCB0aGlzLmdldEFsbG93ZWRLZXlzKHJlcXVlc3RlZFN0eWxlKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbXBpbGUoc3R5bGVzOiBBcnJheTxzdHJpbmc+KSB7XG4gICAgICAgIHJldHVybiBzdHlsZXNcbiAgICAgICAgICAgIC5tYXAoKHN0eWxlOiBzdHJpbmcpID0+IHRoaXMuZ2V0UXVhbGlmaWVkU3R5bGUoc3R5bGUpKVxuICAgICAgICAgICAgLmpvaW4oJyAnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGxvYWRPYmplY3RQcm9wZXJ0aWVzKHRhcmdldE9iamVjdCwgb2JqZWN0LCBwcm9wZXJ0aWVzOiBBcnJheTxzdHJpbmc+KSB7XG4gICAgICAgIHByb3BlcnRpZXMuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIChvYmplY3Rba2V5XSkgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgdGFyZ2V0T2JqZWN0W2tleV0gPSB0YXJnZXRPYmplY3Rba2V5XSA/IHRhcmdldE9iamVjdFtrZXldIDoge307XG4gICAgICAgICAgICAgICAgdGFyZ2V0T2JqZWN0W2tleV0gPSB0aGlzLmxvYWRPYmplY3RQcm9wZXJ0aWVzKHRhcmdldE9iamVjdFtrZXldLCBvYmplY3Rba2V5XSwgT2JqZWN0LmtleXMob2JqZWN0W2tleV0pKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGFyZ2V0T2JqZWN0W2tleV0gPSBvYmplY3Rba2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRhcmdldE9iamVjdDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFF1YWxpZmllZFN0eWxlKHN0eWxlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCFzdHlsZS5pbmNsdWRlcygnY29sb3InKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXNbJ18nICsgc3R5bGVdO1xuICAgICAgICB9XG5cbiAgICAgICAgc3dpdGNoIChzdHlsZSkge1xuICAgICAgICAgICAgY2FzZSAnY29sb3IuYmcnOiByZXR1cm4gdGhpcy5fY29sb3IuYmc7XG4gICAgICAgICAgICBjYXNlICdjb2xvci50ZXh0JzogcmV0dXJuIHRoaXMuX2NvbG9yLnRleHQ7XG4gICAgICAgICAgICBjYXNlICdjb2xvci5ib3JkZXInOiByZXR1cm4gdGhpcy5fY29sb3IuYm9yZGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRBbGxvd2VkS2V5cyhzdHlsZTogTmd0U3R5bGl6YWJsZVNlcnZpY2UpIHtcbiAgICAgICAgbGV0IGtleXMgPSBPYmplY3Qua2V5cyhzdHlsZSk7XG5cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoa2V5cykpIHtcbiAgICAgICAgICAgIHJldHVybiBrZXlzLmZpbHRlcihrZXkgPT4gW1xuICAgICAgICAgICAgICAgICdjb2xvcicsXG4gICAgICAgICAgICAgICAgJ2gnLFxuICAgICAgICAgICAgICAgICd3JyxcbiAgICAgICAgICAgICAgICAncCcsXG4gICAgICAgICAgICAgICAgJ3B4JyxcbiAgICAgICAgICAgICAgICAncHknLFxuICAgICAgICAgICAgICAgICdwdCcsXG4gICAgICAgICAgICAgICAgJ3ByJyxcbiAgICAgICAgICAgICAgICAncGInLFxuICAgICAgICAgICAgICAgICdwbCcsXG4gICAgICAgICAgICAgICAgJ20nLFxuICAgICAgICAgICAgICAgICdteCcsXG4gICAgICAgICAgICAgICAgJ215JyxcbiAgICAgICAgICAgICAgICAnbXQnLFxuICAgICAgICAgICAgICAgICdtcicsXG4gICAgICAgICAgICAgICAgJ21iJyxcbiAgICAgICAgICAgICAgICAnbWwnLFxuICAgICAgICAgICAgICAgICdib3JkZXInLFxuICAgICAgICAgICAgICAgICdzaGFkb3cnLFxuICAgICAgICAgICAgICAgICdyb3VuZGVkJyxcbiAgICAgICAgICAgICAgICAnZm9udCcsXG4gICAgICAgICAgICAgICAgJ3RleHQnLFxuICAgICAgICAgICAgICAgICdicmVha1dvcmRzJyxcbiAgICAgICAgICAgICAgICAnb3ZlcmZsb3cnLFxuICAgICAgICAgICAgICAgICdwb3NpdGlvbicsXG4gICAgICAgICAgICAgICAgJ2p1c3RpZnlDb250ZW50JyxcbiAgICAgICAgICAgICAgICAnY3Vyc29yJyxcbiAgICAgICAgICAgICAgICAnZm9udENhc2UnXG4gICAgICAgICAgICBdLmluY2x1ZGVzKGtleSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRRdWFsaWZpZWRWYWx1ZShyZXF1aXJlZFByZWZpeDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHZhbHVlLnNwbGl0KCcgJykuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFpdGVtLmluY2x1ZGVzKHJlcXVpcmVkUHJlZml4KSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBjbGFzcyBbJyArIGl0ZW0gKyAnXSwgbXVzdCBoYXZlIFsnICsgcmVxdWlyZWRQcmVmaXggKyAnXScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxufVxuIl19
|
|
279
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LXN0eWxpemFibGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXRhaWx3aW5kL3NyYy9zZXJ2aWNlcy9uZ3Qtc3R5bGl6YWJsZS9uZ3Qtc3R5bGl6YWJsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxvQkFBb0I7SUErQjdCLElBQVcsS0FBSztRQUNaLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBVyxDQUFDO1FBQ1IsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxJQUFXLENBQUM7UUFDUixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQVcsQ0FBQztRQUNSLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBVyxFQUFFO1FBQ1QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFXLEVBQUU7UUFDVCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQVcsRUFBRTtRQUNULE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBVyxFQUFFO1FBQ1QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFXLEVBQUU7UUFDVCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQVcsRUFBRTtRQUNULE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBVyxDQUFDO1FBQ1IsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxJQUFXLEVBQUU7UUFDVCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQVcsRUFB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QUk7Z0JBQ0osUUFBUTtnQkFDUixRQUFRO2dCQUNSLFNBQVM7Z0JBQ1QsTUFBTTtnQkFDTixNQUFNO2dCQUNOLFlBQVk7Z0JBQ1osVUFBVTtnQkFDVixVQUFVO2dCQUNWLGdCQUFnQjtnQkFDaEIsUUFBUTtnQkFDUixVQUFVO2FBQ2IsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNyQixDQUFDO0lBQ0wsQ0FBQztJQUVPLGlCQUFpQixDQUFDLGNBQXNCLEVBQUUsS0FBYTtRQUMzRCxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7Z0JBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxHQUFHLGdCQUFnQixHQUFHLGNBQWMsR0FBRyxHQUFHLENBQUMsQ0FBQztZQUN4RixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgTmd0U3R5bGl6YWJsZVNlcnZpY2Uge1xuICAgIHByaXZhdGUgX2NvbG9yOiBhbnk7XG4gICAgcHJpdmF0ZSBfaDogc3RyaW5nO1xuICAgIHByaXZhdGUgX3c6IHN0cmluZztcbiAgICBwcml2YXRlIF9wOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfcHg6IHN0cmluZztcbiAgICBwcml2YXRlIF9weTogc3RyaW5nO1xuICAgIHByaXZhdGUgX3B0OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfcHI6IHN0cmluZztcbiAgICBwcml2YXRlIF9wYjogc3RyaW5nO1xuICAgIHByaXZhdGUgX3BsOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfbTogc3RyaW5nO1xuICAgIHByaXZhdGUgX214OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfbXk6IHN0cmluZztcbiAgICBwcml2YXRlIF9tdDogc3RyaW5nO1xuICAgIHByaXZhdGUgX21yOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfbWI6IHN0cmluZztcbiAgICBwcml2YXRlIF9tbDogc3RyaW5nO1xuICAgIHByaXZhdGUgX2dhcDogc3RyaW5nO1xuICAgIHByaXZhdGUgX2JvcmRlcjogc3RyaW5nO1xuICAgIHByaXZhdGUgX3NoYWRvdzogc3RyaW5nO1xuICAgIHByaXZhdGUgX3JvdW5kZWQ6IHN0cmluZztcbiAgICBwcml2YXRlIF9mb250OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfdGV4dDogc3RyaW5nO1xuICAgIHByaXZhdGUgX2JyZWFrV29yZHM6IHN0cmluZztcbiAgICBwcml2YXRlIF9vdmVyZmxvdzogc3RyaW5nO1xuICAgIHByaXZhdGUgX3Bvc2l0aW9uOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfanVzdGlmeUNvbnRlbnQ6IHN0cmluZztcbiAgICBwcml2YXRlIF9jdXJzb3I6IHN0cmluZztcbiAgICBwcml2YXRlIF9mb250Q2FzZTogc3RyaW5nO1xuXG4gICAgcHVibGljIGdldCBjb2xvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbG9yO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5faDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHcoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3c7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBwKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcHgoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3B4O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcHkoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3B5O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcHQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3B0O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcHIoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ByO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcGIoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BiO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcGwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BsO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fbTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG14KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9teDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG15KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9teTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG10KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG1yKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG1iKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tYjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG1sKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGdhcCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fZ2FwO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgYm9yZGVyKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ib3JkZXI7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzaGFkb3coKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NoYWRvdztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHJvdW5kZWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JvdW5kZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBmb250KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9mb250O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgdGV4dCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGV4dDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGJyZWFrV29yZHMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2JyZWFrV29yZHM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBvdmVyZmxvdygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fb3ZlcmZsb3c7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBwb3NpdGlvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fcG9zaXRpb247XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBqdXN0aWZ5Q29udGVudCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fanVzdGlmeUNvbnRlbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjdXJzb3IoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2N1cnNvcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGZvbnRDYXNlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9mb250Q2FzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IGNvbG9yKGNvbG9yKSB7XG4gICAgICAgIGlmIChjb2xvci5iZykge1xuICAgICAgICAgICAgY29sb3IuYmcgPSB0aGlzLmdldFF1YWxpZmllZFZhbHVlKCdiZy0nLCBjb2xvci5iZyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29sb3IudGV4dCkge1xuICAgICAgICAgICAgY29sb3IudGV4dCA9IHRoaXMuZ2V0UXVhbGlmaWVkVmFsdWUoJ3RleHQtJywgY29sb3IudGV4dCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29sb3IuYm9yZGVyKSB7XG4gICAgICAgICAgICBjb2xvci5ib3JkZXIgPSB0aGlzLmdldFF1YWxpZmllZFZhbHVlKCdib3JkZXItJywgY29sb3IuYm9yZGVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2NvbG9yID0gY29sb3I7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCB0ZXh0Q29sb3IodGV4dENvbG9yKSB7XG4gICAgICAgIHRoaXMuX2NvbG9yID0gdGhpcy5fY29sb3IgPyB0aGlzLl9jb2xvciA6IHt9O1xuICAgICAgICB0aGlzLl9jb2xvci50ZXh0ID0gdGhpcy5nZXRRdWFsaWZpZWRWYWx1ZSgndGV4dC0nLCB0ZXh0Q29sb3IpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgYmdDb2xvcihiZ0NvbG9yKSB7XG4gICAgICAgIHRoaXMuX2NvbG9yID0gdGhpcy5fY29sb3IgPyB0aGlzLl9jb2xvciA6IHt9O1xuICAgICAgICB0aGlzLl9jb2xvci5iZyA9IHRoaXMuZ2V0UXVhbGlmaWVkVmFsdWUoJ2JnLScsIGJnQ29sb3IpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgYm9yZGVyQ29sb3IoYm9yZGVyQ29sb3IpIHtcbiAgICAgICAgdGhpcy5fY29sb3IgPSB0aGlzLl9jb2xvciA/IHRoaXMuX2NvbG9yIDoge307XG4gICAgICAgIHRoaXMuX2NvbG9yLmJvcmRlciA9IHRoaXMuZ2V0UXVhbGlmaWVkVmFsdWUoJ2JvcmRlci0nLCBib3JkZXJDb2xvcik7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBoKGg6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9oID0gdGhpcy5nZXRRdWFsaWZpZWRWYWx1ZSgnaC0nLCBoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IHcodzogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3cgPSB0aGlzLmdldFF1YWxpZmllZFZhbHVlKCd3LScsIHcpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgcChwOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fcCA9IHRoaXMuZ2V0UXVhbGlmaWVkVmFsdWUoJ3AtJywgcCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBweChweDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3B4ID0gdGhpcy5nZXRRdWFsaWZpZWRWYWx1ZSgncHgtJywgcHgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgcHkocHk6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9weSA9IHRoaXMuZ2V0UXVhbGlmaWVkVmFsdWUoJ3B5LScsIHB5KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IHB0KHB0OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fcHQgPSB0aGlzLmdldFF1YWxpZmllZFZhbHVlKCdwdC0nLCBwdCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBwcihwcjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3ByID0gdGhpcy5nZXRRdWFsaWZpZWRWYWx1ZSgncHItJywgcHIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgcGIocGI6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9wYiA9IHRoaXMuZ2V0UXVhbGlmaWVkVmFsdWUoJ3BiLScsIHBiKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IHBsKHBsOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fcGwgPSB0aGlzLmdldFF1YWxpZmllZFZhbHVlKCdwbC0nLCBwbCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBtKG06IHN0cmluZykge1xuICAgICAgICB0aGlzLl9tID0gdGhpcy5nZXRRdWFsaWZpZWRWYWx1ZSgnbS0nLCBtKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IG14KG14OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fbXggPSB0aGlzLmdldFF1YWxpZmllZFZhbHVlKCdteC0nLCBteCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBteShteTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX215ID0gdGhpcy5nZXRRdWFsaWZpZWRWYWx1ZSgnbXktJywgbXkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgbXQobXQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9tdCA9IHRoaXMuZ2V0UXVhbGlmaWVkVmFsdWUoJ210LScsIG10KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IG1yKG1yOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fbXIgPSB0aGlzLmdldFF1YWxpZmllZFZhbHVlKCdtci0nLCBtcik7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBtYihtYjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX21iID0gdGhpcy5nZXRRdWFsaWZpZWRWYWx1ZSgnbWItJywgbWIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgbWwobWw6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9tbCA9IHRoaXMuZ2V0UXVhbGlmaWVkVmFsdWUoJ21sLScsIG1sKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IGdhcChnYXA6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9nYXAgPSB0aGlzLmdldFF1YWxpZmllZFZhbHVlKCdnYXAtJywgZ2FwKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IGJvcmRlcihib3JkZXI6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9ib3JkZXIgPSB0aGlzLmdldFF1YWxpZmllZFZhbHVlKCdib3JkZXInLCBib3JkZXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgc2hhZG93KHNoYWRvdzogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3NoYWRvdyA9IHRoaXMuZ2V0UXVhbGlmaWVkVmFsdWUoJ3NoYWRvdycsIHNoYWRvdyk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCByb3VuZGVkKHJvdW5kZWQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9yb3VuZGVkID0gdGhpcy5nZXRRdWFsaWZpZWRWYWx1ZSgncm91bmRlZCcsIHJvdW5kZWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgZm9udChmb250OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fZm9udCA9IHRoaXMuZ2V0UXVhbGlmaWVkVmFsdWUoJ2ZvbnQnLCBmb250KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IHRleHQodGV4dDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3RleHQgPSB0aGlzLmdldFF1YWxpZmllZFZhbHVlKCd0ZXh0JywgdGV4dCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBicmVha1dvcmRzKGJyZWFrV29yZHM6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9icmVha1dvcmRzID0gdGhpcy5nZXRRdWFsaWZpZWRWYWx1ZSgnYnJlYWsnLCBicmVha1dvcmRzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IG92ZXJmbG93KG92ZXJmbG93OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fb3ZlcmZsb3cgPSB0aGlzLmdldFF1YWxpZmllZFZhbHVlKCdvdmVyZmxvdycsIG92ZXJmbG93KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IHBvc2l0aW9uKHBvc2l0aW9uOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fcG9zaXRpb24gPSBwb3NpdGlvbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IGp1c3RpZnlDb250ZW50KGp1c3RpZnlDb250ZW50OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fanVzdGlmeUNvbnRlbnQgPSB0aGlzLmdldFF1YWxpZmllZFZhbHVlKCdqdXN0aWZ5JywganVzdGlmeUNvbnRlbnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgY3Vyc29yKGN1cnNvcjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2N1cnNvciA9IHRoaXMuZ2V0UXVhbGlmaWVkVmFsdWUoJ2N1cnNvcicsIGN1cnNvcik7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBmb250Q2FzZShmb250Q2FzZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2ZvbnRDYXNlID0gdGhpcy5nZXRRdWFsaWZpZWRWYWx1ZSgnJywgZm9udENhc2UpO1xuICAgIH1cblxuICAgIHB1YmxpYyBsb2FkKGluamVjdG9yOiBJbmplY3Rvciwgc3R5bGU6IHN0cmluZywgZGVmYXVsdFZhbHVlID0gbnVsbCwgaW5oZXJpdGFuY2VTdHlsZXMgPSBbXSkge1xuICAgICAgICBsZXQgbmd0R2xvYmFsU3R5bGUgPSBpbmplY3Rvci5nZXQoJ05ndFN0eWxlR2xvYmFsJywge30pO1xuXG4gICAgICAgIGRlZmF1bHRWYWx1ZSA9IGRlZmF1bHRWYWx1ZSA/IGRlZmF1bHRWYWx1ZSA6IHt9O1xuXG4gICAgICAgIGxldCByZXF1ZXN0ZWRTdHlsZSA9IDxOZ3RTdHlsaXphYmxlU2VydmljZT5pbmplY3Rvci5nZXQoc3R5bGUgKyAnU3R5bGUnLCBkZWZhdWx0VmFsdWUpO1xuXG4gICAgICAgIHRoaXMubG9hZE9iamVjdFByb3BlcnRpZXModGhpcywgbmd0R2xvYmFsU3R5bGUsIHRoaXMuZ2V0QWxsb3dlZEtleXMobmd0R2xvYmFsU3R5bGUpKTtcblxuICAgICAgICBpbmhlcml0YW5jZVN0eWxlcy5mb3JFYWNoKHN0eWxlID0+IHtcbiAgICAgICAgICAgIGxldCByZXF1ZXN0ZWRTdHlsZSA9IDxOZ3RTdHlsaXphYmxlU2VydmljZT5pbmplY3Rvci5nZXQoc3R5bGUsIHt9KTtcblxuICAgICAgICAgICAgdGhpcy5sb2FkT2JqZWN0UHJvcGVydGllcyh0aGlzLCByZXF1ZXN0ZWRTdHlsZSwgdGhpcy5nZXRBbGxvd2VkS2V5cyhyZXF1ZXN0ZWRTdHlsZSkpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmxvYWRPYmplY3RQcm9wZXJ0aWVzKHRoaXMsIHJlcXVlc3RlZFN0eWxlLCB0aGlzLmdldEFsbG93ZWRLZXlzKHJlcXVlc3RlZFN0eWxlKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbXBpbGUoc3R5bGVzOiBBcnJheTxzdHJpbmc+KSB7XG4gICAgICAgIHJldHVybiBzdHlsZXNcbiAgICAgICAgICAgIC5tYXAoKHN0eWxlOiBzdHJpbmcpID0+IHRoaXMuZ2V0UXVhbGlmaWVkU3R5bGUoc3R5bGUpKVxuICAgICAgICAgICAgLmpvaW4oJyAnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGxvYWRPYmplY3RQcm9wZXJ0aWVzKHRhcmdldE9iamVjdCwgb2JqZWN0LCBwcm9wZXJ0aWVzOiBBcnJheTxzdHJpbmc+KSB7XG4gICAgICAgIHByb3BlcnRpZXMuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIChvYmplY3Rba2V5XSkgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgdGFyZ2V0T2JqZWN0W2tleV0gPSB0YXJnZXRPYmplY3Rba2V5XSA/IHRhcmdldE9iamVjdFtrZXldIDoge307XG4gICAgICAgICAgICAgICAgdGFyZ2V0T2JqZWN0W2tleV0gPSB0aGlzLmxvYWRPYmplY3RQcm9wZXJ0aWVzKHRhcmdldE9iamVjdFtrZXldLCBvYmplY3Rba2V5XSwgT2JqZWN0LmtleXMob2JqZWN0W2tleV0pKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGFyZ2V0T2JqZWN0W2tleV0gPSBvYmplY3Rba2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRhcmdldE9iamVjdDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFF1YWxpZmllZFN0eWxlKHN0eWxlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCFzdHlsZS5pbmNsdWRlcygnY29sb3InKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXNbJ18nICsgc3R5bGVdO1xuICAgICAgICB9XG5cbiAgICAgICAgc3dpdGNoIChzdHlsZSkge1xuICAgICAgICAgICAgY2FzZSAnY29sb3IuYmcnOiByZXR1cm4gdGhpcy5fY29sb3IuYmc7XG4gICAgICAgICAgICBjYXNlICdjb2xvci50ZXh0JzogcmV0dXJuIHRoaXMuX2NvbG9yLnRleHQ7XG4gICAgICAgICAgICBjYXNlICdjb2xvci5ib3JkZXInOiByZXR1cm4gdGhpcy5fY29sb3IuYm9yZGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRBbGxvd2VkS2V5cyhzdHlsZTogTmd0U3R5bGl6YWJsZVNlcnZpY2UpIHtcbiAgICAgICAgbGV0IGtleXMgPSBPYmplY3Qua2V5cyhzdHlsZSk7XG5cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoa2V5cykpIHtcbiAgICAgICAgICAgIHJldHVybiBrZXlzLmZpbHRlcihrZXkgPT4gW1xuICAgICAgICAgICAgICAgICdjb2xvcicsXG4gICAgICAgICAgICAgICAgJ2gnLFxuICAgICAgICAgICAgICAgICd3JyxcbiAgICAgICAgICAgICAgICAncCcsXG4gICAgICAgICAgICAgICAgJ3B4JyxcbiAgICAgICAgICAgICAgICAncHknLFxuICAgICAgICAgICAgICAgICdwdCcsXG4gICAgICAgICAgICAgICAgJ3ByJyxcbiAgICAgICAgICAgICAgICAncGInLFxuICAgICAgICAgICAgICAgICdwbCcsXG4gICAgICAgICAgICAgICAgJ20nLFxuICAgICAgICAgICAgICAgICdteCcsXG4gICAgICAgICAgICAgICAgJ215JyxcbiAgICAgICAgICAgICAgICAnbXQnLFxuICAgICAgICAgICAgICAgICdtcicsXG4gICAgICAgICAgICAgICAgJ21iJyxcbiAgICAgICAgICAgICAgICAnbWwnLFxuICAgICAgICAgICAgICAgICdib3JkZXInLFxuICAgICAgICAgICAgICAgICdzaGFkb3cnLFxuICAgICAgICAgICAgICAgICdyb3VuZGVkJyxcbiAgICAgICAgICAgICAgICAnZm9udCcsXG4gICAgICAgICAgICAgICAgJ3RleHQnLFxuICAgICAgICAgICAgICAgICdicmVha1dvcmRzJyxcbiAgICAgICAgICAgICAgICAnb3ZlcmZsb3cnLFxuICAgICAgICAgICAgICAgICdwb3NpdGlvbicsXG4gICAgICAgICAgICAgICAgJ2p1c3RpZnlDb250ZW50JyxcbiAgICAgICAgICAgICAgICAnY3Vyc29yJyxcbiAgICAgICAgICAgICAgICAnZm9udENhc2UnXG4gICAgICAgICAgICBdLmluY2x1ZGVzKGtleSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRRdWFsaWZpZWRWYWx1ZShyZXF1aXJlZFByZWZpeDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHZhbHVlLnNwbGl0KCcgJykuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFpdGVtLmluY2x1ZGVzKHJlcXVpcmVkUHJlZml4KSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBjbGFzcyBbJyArIGl0ZW0gKyAnXSwgbXVzdCBoYXZlIFsnICsgcmVxdWlyZWRQcmVmaXggKyAnXScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxufVxuIl19
|