@hitsoft/e-donusum 1.0.51 → 1.0.52
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/esm2020/lib/components/hit-inbound-invoices/hit-inbound-invoice.component.mjs +5 -3
- package/esm2020/lib/components/hit-paramas-invoices/hit-params-invoice.component.mjs +13 -5
- package/esm2020/lib/components/hit-params-dispatches/hit-params-dispatch.component.mjs +8 -4
- package/esm2020/lib/components/hit-xslt-formats/hit-xslt-format.component.mjs +3 -3
- package/esm2020/lib/hit-proxy/hit-inbound-invoices/models.mjs +1 -1
- package/esm2020/lib/hit-proxy/hit-params-dispatches/hit-params-dispatch.service.mjs +5 -1
- package/esm2020/lib/hit-proxy/hit-params-invoices/hit-params-invoice.service.mjs +9 -1
- package/esm2020/lib/hit-proxy/hit-xslt-formats/hit-xslt-format.service.mjs +1 -1
- package/esm2020/lib/hit-proxy/hit-xslt-formats/models.mjs +1 -1
- package/esm2020/lib/paramse-dispatches/paramse-dispatch/components/paramse-dispatch.component.mjs +5 -4
- package/esm2020/lib/paramse-dispatches/paramse-dispatch/paramse-dispatch.module.mjs +1 -1
- package/esm2020/lib/paramse-invoices/paramse-invoice/components/paramse-invoice.component.mjs +6 -4
- package/esm2020/lib/paramse-invoices/paramse-invoice/paramse-invoice.module.mjs +1 -1
- package/esm2020/lib/proxy/document-serials/index.mjs +1 -1
- package/esm2020/lib/proxy/note-rule-doc-types/index.mjs +1 -1
- package/esm2020/lib/proxy/note-rule-scenarios/index.mjs +1 -1
- package/esm2020/lib/proxy/note-rules/index.mjs +1 -1
- package/esm2020/lib/proxy/params-companies/index.mjs +1 -1
- package/esm2020/lib/proxy/params-generals/index.mjs +1 -1
- package/esm2020/lib/proxy/params-integrators/index.mjs +1 -1
- package/esm2020/lib/proxy/paramse-dispatches/index.mjs +1 -1
- package/esm2020/lib/proxy/paramse-dispatches/models.mjs +1 -1
- package/esm2020/lib/proxy/paramse-dispatches/paramse-dispatch.service.mjs +2 -2
- package/esm2020/lib/proxy/paramse-invoices/index.mjs +1 -1
- package/esm2020/lib/proxy/paramse-invoices/models.mjs +1 -1
- package/esm2020/lib/proxy/paramse-invoices/paramse-invoice.service.mjs +2 -2
- package/esm2020/lib/proxy/xslt-formats/index.mjs +1 -1
- package/esm2020/lib/proxy/xslt-rule-doc-types/index.mjs +1 -1
- package/esm2020/lib/proxy/xslt-rule-scenarios/index.mjs +1 -1
- package/esm2020/lib/proxy/xslt-rules/index.mjs +1 -1
- package/fesm2015/hitsoft-e-donusum.mjs +50 -18
- package/fesm2015/hitsoft-e-donusum.mjs.map +1 -1
- package/fesm2020/hitsoft-e-donusum.mjs +48 -19
- package/fesm2020/hitsoft-e-donusum.mjs.map +1 -1
- package/lib/components/hit-paramas-invoices/hit-params-invoice.component.d.ts +2 -0
- package/lib/components/hit-params-dispatches/hit-params-dispatch.component.d.ts +1 -0
- package/lib/components/hit-xslt-formats/hit-xslt-format.component.d.ts +2 -2
- package/lib/hit-proxy/hit-inbound-invoices/models.d.ts +2 -0
- package/lib/hit-proxy/hit-params-dispatches/hit-params-dispatch.service.d.ts +1 -0
- package/lib/hit-proxy/hit-params-invoices/hit-params-invoice.service.d.ts +2 -0
- package/lib/hit-proxy/hit-xslt-formats/hit-xslt-format.service.d.ts +3 -3
- package/lib/hit-proxy/hit-xslt-formats/models.d.ts +5 -1
- package/lib/proxy/paramse-dispatches/models.d.ts +5 -0
- package/lib/proxy/paramse-invoices/models.d.ts +10 -0
- package/package.json +1 -1
|
@@ -41,10 +41,16 @@ export class HitParamsInvoiceComponent {
|
|
|
41
41
|
this.hitParamsInvoicesService.getItemTreeOptions().subscribe(data => {
|
|
42
42
|
this.itemTreeOptions = data;
|
|
43
43
|
});
|
|
44
|
+
this.hitParamsInvoicesService.getDespatchReferenceFields().subscribe(data => {
|
|
45
|
+
this.despatchReferenceFields = data;
|
|
46
|
+
});
|
|
47
|
+
this.hitParamsInvoicesService.getOrderReferenceFields().subscribe(data => {
|
|
48
|
+
this.orderReferenceFields = data;
|
|
49
|
+
});
|
|
44
50
|
await this.getParamsInvoice(true);
|
|
45
51
|
}
|
|
46
52
|
buildForm() {
|
|
47
|
-
const { defaultScenario, defaultInvType, defaultInvSerial, isShippingAddress, useDefScenario, useDefInvType, itemTreeOption } = this.paramsInvoiceDto || {};
|
|
53
|
+
const { defaultScenario, defaultInvType, defaultInvSerial, isShippingAddress, useDefScenario, useDefInvType, itemTreeOption, despatchReferenceField, orderReferenceField } = this.paramsInvoiceDto || {};
|
|
48
54
|
this.formParamsInvoice = this.fb.group({
|
|
49
55
|
defaultScenario: [defaultScenario ?? false, []],
|
|
50
56
|
defaultInvType: [defaultInvType ?? false, []],
|
|
@@ -52,7 +58,9 @@ export class HitParamsInvoiceComponent {
|
|
|
52
58
|
isShippingAddress: [isShippingAddress ?? false, []],
|
|
53
59
|
useDefScenario: [useDefScenario ?? false, []],
|
|
54
60
|
useDefInvType: [useDefInvType ?? false, []],
|
|
55
|
-
itemTreeOption: [itemTreeOption ?? 0, []]
|
|
61
|
+
itemTreeOption: [itemTreeOption ?? 0, []],
|
|
62
|
+
despatchReferenceField: [despatchReferenceField ?? 0, []],
|
|
63
|
+
orderReferenceField: [orderReferenceField ?? 0, []]
|
|
56
64
|
});
|
|
57
65
|
}
|
|
58
66
|
async submitForm() {
|
|
@@ -101,13 +109,13 @@ export class HitParamsInvoiceComponent {
|
|
|
101
109
|
}
|
|
102
110
|
}
|
|
103
111
|
HitParamsInvoiceComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitParamsInvoiceComponent, deps: [{ token: i1.ListService }, { token: i1.TrackByService }, { token: i2.ParamseInvoiceService }, { token: i3.ConfirmationService }, { token: i4.FormBuilder }, { token: i5.HitParamsInvoicesService }, { token: i3.ToasterService }, { token: i6.HitScenarioTypesService }, { token: i7.HitDocumentTypesService }], target: i0.ɵɵFactoryTarget.Component });
|
|
104
|
-
HitParamsInvoiceComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitParamsInvoiceComponent, selector: "hit-params-invoice", inputs: { IsSubmitButtonHidden: "IsSubmitButtonHidden" }, outputs: { valid: "valid" }, providers: [ListService, { provide: NgbDateAdapter, useClass: DateAdapter }], ngImport: i0, template: "<div class=\"card\">\r\n <div class=\"card-body\">\r\n <form [formGroup]=\"formParamsInvoice\" id=\"params-invoice\" (ngSubmit)=\"submitForm()\" validateOnSubmit>\r\n <div class=\"row\">\r\n <div class=\"col-sm-2\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"params-invoice-default-inv-serial\">\r\n {{ 'eDonusum::DefaultInvSerial' | abpLocalization }} *\r\n </label>\r\n\r\n <input id=\"params-invoice-default-inv-serial\" formControlName=\"defaultInvSerial\"\r\n class=\"form-control\" maxlength=\"8\" autofocus />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"params-invoice-use-default-scenario\" formControlName=\"useDefScenario\"\r\n class=\"form-check-input\" />\r\n\r\n <label for=\"params-invoice-use-default-scenario\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseDefScenario' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=\"formParamsInvoice.controls.useDefScenario.value\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"mb-3\">\r\n <label for=\"params-invoice-default-scenario\" class=\"form-check-label\">\r\n {{ 'eDonusum::DefaultScenario' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"params-invoice-default-scenario\" formControlName=\"defaultScenario\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"scenarioTypeDataSource\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"params-invoice-use-def-inv-type\" formControlName=\"useDefInvType\"\r\n class=\"form-check-input\" />\r\n\r\n <label for=\"params-invoice-use-def-inv-type\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseDefInvType' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=\"formParamsInvoice.controls.useDefInvType.value\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"mb-3\">\r\n <label for=\"params-invoice-default-inv-type\" class=\"form-check-label\">\r\n {{ 'eDonusum::DefaultInvType' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"params-invoice-default-inv-type\" formControlName=\"defaultInvType\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"documentTypeDataSource\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-item-trees-options\">\r\n {{ 'eDonusum::ItemTreesOptions' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"paramse-invoice-item-trees-options\" formControlName=\"itemTreeOption\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"itemTreeOptions\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"params-invoice-is-shipping-address\"\r\n formControlName=\"isShippingAddress\" class=\"form-check-input\" />\r\n\r\n <label for=\"params-invoice-is-shipping-address\" class=\"form-check-label\">\r\n {{ 'eDonusum::IsShippingAddress' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n <div class=\"row\">\r\n <div class=\"col-sm-12 text-lg-end\">\r\n <abp-button iconClass=\"fa fa-check\" buttonType=\"submit\" formName=\"params-invoice\"\r\n [disabled]=\"submitButtonDisabled\" [hidden]=\"IsSubmitButtonHidden\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.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: i4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.AutofocusDirective, selector: "[autofocus]", inputs: ["autofocus"] }, { kind: "directive", type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "component", type: i3.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "directive", type: i9.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i9.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i10.DxSelectBoxComponent, selector: "dx-select-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "buttons", "customItemCreateEvent", "dataSource", "deferRendering", "disabled", "displayExpr", "displayValue", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "items", "itemTemplate", "label", "labelMode", "maxLength", "minSearchLength", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectedItem", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showSelectionControls", "spellcheck", "stylingMode", "tabIndex", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCustomItemCreating", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "customItemCreateEventChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "displayValueChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxLengthChange", "minSearchLengthChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectedItemChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showSelectionControlsChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }], changeDetection: i0.ChangeDetectionStrategy.Default });
|
|
112
|
+
HitParamsInvoiceComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitParamsInvoiceComponent, selector: "hit-params-invoice", inputs: { IsSubmitButtonHidden: "IsSubmitButtonHidden" }, outputs: { valid: "valid" }, providers: [ListService, { provide: NgbDateAdapter, useClass: DateAdapter }], ngImport: i0, template: "<div class=\"card\">\r\n <div class=\"card-body\">\r\n <form [formGroup]=\"formParamsInvoice\" id=\"params-invoice\" (ngSubmit)=\"submitForm()\" validateOnSubmit>\r\n <div class=\"row\">\r\n <div class=\"col-sm-2\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"params-invoice-default-inv-serial\">\r\n {{ 'eDonusum::DefaultInvSerial' | abpLocalization }} *\r\n </label>\r\n\r\n <input id=\"params-invoice-default-inv-serial\" formControlName=\"defaultInvSerial\"\r\n class=\"form-control\" maxlength=\"8\" autofocus />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"params-invoice-use-default-scenario\" formControlName=\"useDefScenario\"\r\n class=\"form-check-input\" />\r\n\r\n <label for=\"params-invoice-use-default-scenario\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseDefScenario' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=\"formParamsInvoice.controls.useDefScenario.value\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"mb-3\">\r\n <label for=\"params-invoice-default-scenario\" class=\"form-label\">\r\n {{ 'eDonusum::DefaultScenario' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"params-invoice-default-scenario\" formControlName=\"defaultScenario\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"scenarioTypeDataSource\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"params-invoice-use-def-inv-type\" formControlName=\"useDefInvType\"\r\n class=\"form-check-input\" />\r\n\r\n <label for=\"params-invoice-use-def-inv-type\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseDefInvType' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=\"formParamsInvoice.controls.useDefInvType.value\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"mb-3\">\r\n <label for=\"params-invoice-default-inv-type\" class=\"form-label\">\r\n {{ 'eDonusum::DefaultInvType' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"params-invoice-default-inv-type\" formControlName=\"defaultInvType\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"documentTypeDataSource\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-6\">\r\n <div class=\"mb-3\">\r\n <label for=\"params-invoice-despatch-reference-field\" class=\"form-label\">\r\n {{ 'eDonusum::DespatchReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"params-invoice-despatch-reference-field\" formControlName=\"despatchReferenceField\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"despatchReferenceFields\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-item-trees-options\">\r\n {{ 'eDonusum::ItemTreesOptions' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"paramse-invoice-item-trees-options\" formControlName=\"itemTreeOption\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"itemTreeOptions\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-6\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-order-reference-field\">\r\n {{ 'eDonusum::OrderReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"paramse-invoice-order-reference-fields\" formControlName=\"orderReferenceField\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"orderReferenceFields\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"params-invoice-is-shipping-address\"\r\n formControlName=\"isShippingAddress\" class=\"form-check-input\" />\r\n\r\n <label for=\"params-invoice-is-shipping-address\" class=\"form-check-label\">\r\n {{ 'eDonusum::IsShippingAddress' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n <div class=\"row\">\r\n <div class=\"col-sm-12 text-lg-end\">\r\n <abp-button iconClass=\"fa fa-check\" buttonType=\"submit\" formName=\"params-invoice\"\r\n [disabled]=\"submitButtonDisabled\" [hidden]=\"IsSubmitButtonHidden\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.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: i4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.AutofocusDirective, selector: "[autofocus]", inputs: ["autofocus"] }, { kind: "directive", type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "component", type: i3.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "directive", type: i9.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i9.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i10.DxSelectBoxComponent, selector: "dx-select-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "buttons", "customItemCreateEvent", "dataSource", "deferRendering", "disabled", "displayExpr", "displayValue", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "items", "itemTemplate", "label", "labelMode", "maxLength", "minSearchLength", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectedItem", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showSelectionControls", "spellcheck", "stylingMode", "tabIndex", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCustomItemCreating", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "customItemCreateEventChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "displayValueChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxLengthChange", "minSearchLengthChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectedItemChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showSelectionControlsChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }], changeDetection: i0.ChangeDetectionStrategy.Default });
|
|
105
113
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitParamsInvoiceComponent, decorators: [{
|
|
106
114
|
type: Component,
|
|
107
|
-
args: [{ selector: 'hit-params-invoice', changeDetection: ChangeDetectionStrategy.Default, providers: [ListService, { provide: NgbDateAdapter, useClass: DateAdapter }], template: "<div class=\"card\">\r\n <div class=\"card-body\">\r\n <form [formGroup]=\"formParamsInvoice\" id=\"params-invoice\" (ngSubmit)=\"submitForm()\" validateOnSubmit>\r\n <div class=\"row\">\r\n <div class=\"col-sm-2\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"params-invoice-default-inv-serial\">\r\n {{ 'eDonusum::DefaultInvSerial' | abpLocalization }} *\r\n </label>\r\n\r\n <input id=\"params-invoice-default-inv-serial\" formControlName=\"defaultInvSerial\"\r\n class=\"form-control\" maxlength=\"8\" autofocus />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"params-invoice-use-default-scenario\" formControlName=\"useDefScenario\"\r\n class=\"form-check-input\" />\r\n\r\n <label for=\"params-invoice-use-default-scenario\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseDefScenario' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=\"formParamsInvoice.controls.useDefScenario.value\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"mb-3\">\r\n <label for=\"params-invoice-default-scenario\" class=\"form-
|
|
115
|
+
args: [{ selector: 'hit-params-invoice', changeDetection: ChangeDetectionStrategy.Default, providers: [ListService, { provide: NgbDateAdapter, useClass: DateAdapter }], template: "<div class=\"card\">\r\n <div class=\"card-body\">\r\n <form [formGroup]=\"formParamsInvoice\" id=\"params-invoice\" (ngSubmit)=\"submitForm()\" validateOnSubmit>\r\n <div class=\"row\">\r\n <div class=\"col-sm-2\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"params-invoice-default-inv-serial\">\r\n {{ 'eDonusum::DefaultInvSerial' | abpLocalization }} *\r\n </label>\r\n\r\n <input id=\"params-invoice-default-inv-serial\" formControlName=\"defaultInvSerial\"\r\n class=\"form-control\" maxlength=\"8\" autofocus />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"params-invoice-use-default-scenario\" formControlName=\"useDefScenario\"\r\n class=\"form-check-input\" />\r\n\r\n <label for=\"params-invoice-use-default-scenario\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseDefScenario' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=\"formParamsInvoice.controls.useDefScenario.value\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"mb-3\">\r\n <label for=\"params-invoice-default-scenario\" class=\"form-label\">\r\n {{ 'eDonusum::DefaultScenario' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"params-invoice-default-scenario\" formControlName=\"defaultScenario\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"scenarioTypeDataSource\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"params-invoice-use-def-inv-type\" formControlName=\"useDefInvType\"\r\n class=\"form-check-input\" />\r\n\r\n <label for=\"params-invoice-use-def-inv-type\" class=\"form-check-label\">\r\n {{ 'eDonusum::UseDefInvType' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=\"formParamsInvoice.controls.useDefInvType.value\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"mb-3\">\r\n <label for=\"params-invoice-default-inv-type\" class=\"form-label\">\r\n {{ 'eDonusum::DefaultInvType' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"params-invoice-default-inv-type\" formControlName=\"defaultInvType\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"documentTypeDataSource\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-6\">\r\n <div class=\"mb-3\">\r\n <label for=\"params-invoice-despatch-reference-field\" class=\"form-label\">\r\n {{ 'eDonusum::DespatchReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"params-invoice-despatch-reference-field\" formControlName=\"despatchReferenceField\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"despatchReferenceFields\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-item-trees-options\">\r\n {{ 'eDonusum::ItemTreesOptions' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"paramse-invoice-item-trees-options\" formControlName=\"itemTreeOption\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"itemTreeOptions\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-6\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paramse-invoice-order-reference-field\">\r\n {{ 'eDonusum::OrderReferenceField' | abpLocalization }}\r\n </label>\r\n\r\n <dx-select-box id=\"paramse-invoice-order-reference-fields\" formControlName=\"orderReferenceField\"\r\n class=\"form-control\" displayExpr=\"displayName\" valueExpr=\"id\"\r\n [dataSource]=\"orderReferenceFields\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"form-check mb-3\">\r\n <input type=\"checkbox\" id=\"params-invoice-is-shipping-address\"\r\n formControlName=\"isShippingAddress\" class=\"form-check-input\" />\r\n\r\n <label for=\"params-invoice-is-shipping-address\" class=\"form-check-label\">\r\n {{ 'eDonusum::IsShippingAddress' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n <div class=\"row\">\r\n <div class=\"col-sm-12 text-lg-end\">\r\n <abp-button iconClass=\"fa fa-check\" buttonType=\"submit\" formName=\"params-invoice\"\r\n [disabled]=\"submitButtonDisabled\" [hidden]=\"IsSubmitButtonHidden\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
|
|
108
116
|
}], ctorParameters: function () { return [{ type: i1.ListService }, { type: i1.TrackByService }, { type: i2.ParamseInvoiceService }, { type: i3.ConfirmationService }, { type: i4.FormBuilder }, { type: i5.HitParamsInvoicesService }, { type: i3.ToasterService }, { type: i6.HitScenarioTypesService }, { type: i7.HitDocumentTypesService }]; }, propDecorators: { IsSubmitButtonHidden: [{
|
|
109
117
|
type: Input
|
|
110
118
|
}], valid: [{
|
|
111
119
|
type: Output
|
|
112
120
|
}] } });
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LXBhcmFtcy1pbnZvaWNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2UtZG9udXN1bS9zcmMvbGliL2NvbXBvbmVudHMvaGl0LXBhcmFtYXMtaW52b2ljZXMvaGl0LXBhcmFtcy1pbnZvaWNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2UtZG9udXN1bS9zcmMvbGliL2NvbXBvbmVudHMvaGl0LXBhcmFtYXMtaW52b2ljZXMvaGl0LXBhcmFtcy1pbnZvaWNlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsV0FBVyxFQUFrQyxNQUFNLGNBQWMsQ0FBQztBQUU5RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUVaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7OztBQVlyQyxNQUFNLE9BQU8seUJBQXlCO0lBZXBDLFlBQ2tCLElBQWlCLEVBQ2pCLEtBQXFCLEVBQ3JCLE9BQThCLEVBQ3RDLFlBQWlDLEVBQ2pDLEVBQWUsRUFDTix3QkFBa0QsRUFDbEQsY0FBOEIsRUFDOUIsdUJBQWdELEVBQ2hELHVCQUFnRDtRQVJqRCxTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ2pCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLFlBQU8sR0FBUCxPQUFPLENBQXVCO1FBQ3RDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUNqQyxP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QUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLENBQUMsQ0FDRixDQUFDO0lBQ04sQ0FBQztJQUVELEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFxQixLQUFLO1FBQy9DLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNoRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1lBRTdCLElBQUksU0FBUztnQkFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztzSEEvSFUseUJBQXlCOzBHQUF6Qix5QkFBeUIsb0lBSnpCLENBQUMsV0FBVyxFQUFFLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLENBQUMsMEJDdEI5RSxtNUtBdUdNOzJGRDdFTyx5QkFBeUI7a0JBUHJDLFNBQVM7K0JBQ0Usb0JBQW9CLG1CQUNiLHVCQUF1QixDQUFDLE9BQU8sYUFDckMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQzsrV0FlbkUsb0JBQW9CO3NCQUE1QixLQUFLO2dCQUVJLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCwgZG93bmxvYWRCbG9iLCBMaXN0U2VydmljZSwgUGFnZWRSZXN1bHREdG8sIFRyYWNrQnlTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSwgVG9hc3RlclNlcnZpY2UgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XHJcbmltcG9ydCB7IERhdGVBZGFwdGVyIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQvZXh0ZW5zaW9ucyc7XHJcbmltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbmplY3RhYmxlLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE5nYkRhdGVBZGFwdGVyIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBmaW5hbGl6ZSwgdGFwIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEhpdFBhcmFtc0ludm9pY2VzU2VydmljZSB9IGZyb20gJy4uLy4uL2hpdC1wcm94eS9oaXQtcGFyYW1zLWludm9pY2VzL2hpdC1wYXJhbXMtaW52b2ljZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSGl0U2NlbmFyaW9UeXBlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9oaXQtcHJveHkvaGl0LXNjZW5hcmlvLXR5cGVzL2hpdC1zY2VuYXJpby10eXBlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIaXREb2N1bWVudFR5cGVzU2VydmljZSB9IGZyb20gJy4uLy4uL2hpdC1wcm94eS9oaXQtZG9jdW1lbnQtdHlwZXMvaGl0LWRvY3VtZW50LXR5cGUuc2VydmljZSc7XHJcbmltcG9ydCB7IFBhcmFtc2VJbnZvaWNlRHRvLCBQYXJhbXNlSW52b2ljZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9wcm94eS9wYXJhbXNlLWludm9pY2VzJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdoaXQtcGFyYW1zLWludm9pY2UnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcclxuICBwcm92aWRlcnM6IFtMaXN0U2VydmljZSwgeyBwcm92aWRlOiBOZ2JEYXRlQWRhcHRlciwgdXNlQ2xhc3M6IERhdGVBZGFwdGVyIH1dLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9oaXQtcGFyYW1zLWludm9pY2UuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlczogW10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIaXRQYXJhbXNJbnZvaWNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBmb3JtUGFyYW1zSW52b2ljZTogRm9ybUdyb3VwO1xyXG5cclxuICBwYXJhbXNJbnZvaWNlRHRvPzogUGFyYW1zZUludm9pY2VEdG87XHJcblxyXG4gIHN1Ym1pdEJ1dHRvbkRpc2FibGVkID0gZmFsc2U7XHJcblxyXG4gIHNjZW5hcmlvVHlwZURhdGFTb3VyY2U6IGFueTtcclxuICBkb2N1bWVudFR5cGVEYXRhU291cmNlOiBhbnk7XHJcbiAgaXRlbVRyZWVPcHRpb25zOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpIElzU3VibWl0QnV0dG9uSGlkZGVuID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKSB2YWxpZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgbGlzdDogTGlzdFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgdHJhY2s6IFRyYWNrQnlTZXJ2aWNlLFxyXG4gICAgcHVibGljIHJlYWRvbmx5IHNlcnZpY2U6IFBhcmFtc2VJbnZvaWNlU2VydmljZSxcclxuICAgIHByaXZhdGUgY29uZmlybWF0aW9uOiBDb25maXJtYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhpdFBhcmFtc0ludm9pY2VzU2VydmljZTogSGl0UGFyYW1zSW52b2ljZXNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB0b2FzdGVyU2VydmljZTogVG9hc3RlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhpdFNjZW5hcmlvVHlwZXNTZXJ2aWNlOiBIaXRTY2VuYXJpb1R5cGVzU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaGl0RG9jdW1lbnRUeXBlc1NlcnZpY2U6IEhpdERvY3VtZW50VHlwZXNTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBhc3luYyBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuYnVpbGRGb3JtKCk7XHJcblxyXG4gICAgdGhpcy5oaXRTY2VuYXJpb1R5cGVzU2VydmljZS5nZXRTY2VuYXJpb1R5cGVzTG9va3VwKCkuc3Vic2NyaWJlKGRhdGEgPT4ge1xyXG4gICAgICB0aGlzLnNjZW5hcmlvVHlwZURhdGFTb3VyY2UgPSBkYXRhO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5oaXREb2N1bWVudFR5cGVzU2VydmljZS5nZXREb2N1bWVudFR5cGVzTG9va3VwKCkuc3Vic2NyaWJlKGRhdGEgPT4ge1xyXG4gICAgICB0aGlzLmRvY3VtZW50VHlwZURhdGFTb3VyY2UgPSBkYXRhO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5oaXRQYXJhbXNJbnZvaWNlc1NlcnZpY2UuZ2V0SXRlbVRyZWVPcHRpb25zKCkuc3Vic2NyaWJlKGRhdGEgPT4ge1xyXG4gICAgICB0aGlzLml0ZW1UcmVlT3B0aW9ucz1kYXRhO1xyXG4gICAgfSlcclxuXHJcbiAgICBhd2FpdCB0aGlzLmdldFBhcmFtc0ludm9pY2UodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBidWlsZEZvcm0oKSB7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIGRlZmF1bHRTY2VuYXJpbyxcclxuICAgICAgZGVmYXVsdEludlR5cGUsXHJcbiAgICAgIGRlZmF1bHRJbnZTZXJpYWwsXHJcbiAgICAgIGlzU2hpcHBpbmdBZGRyZXNzLFxyXG4gICAgICB1c2VEZWZTY2VuYXJpbyxcclxuICAgICAgdXNlRGVmSW52VHlwZSxcclxuICAgICAgaXRlbVRyZWVPcHRpb25cclxuICAgIH0gPSB0aGlzLnBhcmFtc0ludm9pY2VEdG8gfHwge307XHJcblxyXG4gICAgdGhpcy5mb3JtUGFyYW1zSW52b2ljZSA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICBkZWZhdWx0U2NlbmFyaW86IFtkZWZhdWx0U2NlbmFyaW8gPz8gZmFsc2UsIFtdXSxcclxuICAgICAgZGVmYXVsdEludlR5cGU6IFtkZWZhdWx0SW52VHlwZSA/PyBmYWxzZSwgW11dLFxyXG4gICAgICBkZWZhdWx0SW52U2VyaWFsOiBbZGVmYXVsdEludlNlcmlhbCA/PyBudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMyldXSxcclxuICAgICAgaXNTaGlwcGluZ0FkZHJlc3M6IFtpc1NoaXBwaW5nQWRkcmVzcyA/PyBmYWxzZSwgW11dLFxyXG4gICAgICB1c2VEZWZTY2VuYXJpbzogW3VzZURlZlNjZW5hcmlvID8/IGZhbHNlLCBbXV0sXHJcbiAgICAgIHVzZURlZkludlR5cGU6IFt1c2VEZWZJbnZUeXBlID8/IGZhbHNlLCBbXV0sXHJcbiAgICAgIGl0ZW1UcmVlT3B0aW9uOiBbaXRlbVRyZWVPcHRpb24gPz8gMCwgW11dXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGFzeW5jIHN1Ym1pdEZvcm0oKSB7XHJcbiAgICBpZiAodGhpcy5mb3JtUGFyYW1zSW52b2ljZS5jb250cm9scy5kZWZhdWx0SW52U2VyaWFsLnZhbHVlLmxlbmd0aCA+IDMpIHtcclxuICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5lcnJvcignZURvbnVzdW06OkVudGVyTWF4M0NoYXJhY3RlcicpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmZvcm1QYXJhbXNJbnZvaWNlLmludmFsaWQpIHtcclxuICAgICAgd2luZG93LnNjcm9sbCh7XHJcbiAgICAgICAgdG9wOiAwLFxyXG4gICAgICAgIGxlZnQ6IDAsXHJcbiAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy52YWxpZC5lbWl0KGZhbHNlKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3VibWl0QnV0dG9uRGlzYWJsZWQgPSB0cnVlO1xyXG5cclxuICAgIC8vIHRoaXMudG9hc3RlclNlcnZpY2UuaW5mbygnZURvbnVzdW06OlRyYW5zYWN0aW9uU3RhcnRlZCcpO1xyXG4gICAgXHJcbiAgICBpZiAoIXRoaXMuZm9ybVBhcmFtc0ludm9pY2UuY29udHJvbHMuZGVmYXVsdFNjZW5hcmlvLnZhbHVlKVxyXG4gICAgICB0aGlzLmZvcm1QYXJhbXNJbnZvaWNlLmNvbnRyb2xzLmRlZmF1bHRTY2VuYXJpby5zZXRWYWx1ZSgwKTtcclxuICAgIFxyXG4gICAgaWYgKCF0aGlzLmZvcm1QYXJhbXNJbnZvaWNlLmNvbnRyb2xzLmRlZmF1bHRJbnZUeXBlLnZhbHVlKVxyXG4gICAgICB0aGlzLmZvcm1QYXJhbXNJbnZvaWNlLmNvbnRyb2xzLmRlZmF1bHRJbnZUeXBlLnNldFZhbHVlKDApO1xyXG5cclxuICAgIGNvbnN0IHJlcXVlc3QgPSB0aGlzLnBhcmFtc0ludm9pY2VEdG9cclxuICAgICAgPyB0aGlzLnNlcnZpY2UudXBkYXRlKHRoaXMucGFyYW1zSW52b2ljZUR0by5pZCwge1xyXG4gICAgICAgICAgLi4udGhpcy5mb3JtUGFyYW1zSW52b2ljZS52YWx1ZSxcclxuICAgICAgICB9KVxyXG4gICAgICA6IHRoaXMuc2VydmljZS5jcmVhdGUodGhpcy5mb3JtUGFyYW1zSW52b2ljZS52YWx1ZSk7XHJcblxyXG4gICAgcmVxdWVzdFxyXG4gICAgICAucGlwZShcclxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnN1Ym1pdEJ1dHRvbkRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgdGFwKCgpID0+IHt9KVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgICAgLy8gdGhpcy50b2FzdGVyU2VydmljZS5zdWNjZXNzKCdlRG9udXN1bTo6VHJhbnNhY3Rpb25TdWNjZXNzZnVsJyk7XHJcblxyXG4gICAgICAgICAgYXdhaXQgdGhpcy5nZXRQYXJhbXNJbnZvaWNlKCk7XHJcblxyXG4gICAgICAgICAgdGhpcy52YWxpZC5lbWl0KHRydWUpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyID0+IHtcclxuICAgICAgICAgIHRoaXMudG9hc3RlclNlcnZpY2UuZXJyb3IoJ2VEb251c3VtOjpUcmFuc2FjdGlvblVuc3VjY2Vzc2Z1bCcpO1xyXG5cclxuICAgICAgICAgIHRoaXMudmFsaWQuZW1pdCh0cnVlKTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBnZXRQYXJhbXNJbnZvaWNlKGJ1aWxkRm9ybTogYm9vbGVhbiA9IGZhbHNlKSB7XHJcbiAgICB0aGlzLmhpdFBhcmFtc0ludm9pY2VzU2VydmljZS5nZXRQYXJhbXNJbnZvaWNlKCkuc3Vic2NyaWJlKGRhdGEgPT4ge1xyXG4gICAgICB0aGlzLnBhcmFtc0ludm9pY2VEdG8gPSBkYXRhO1xyXG5cclxuICAgICAgaWYgKGJ1aWxkRm9ybSkgdGhpcy5idWlsZEZvcm0oKTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVBhcmFtc0ludm9pY2VcIiBpZD1cInBhcmFtcy1pbnZvaWNlXCIgKG5nU3VibWl0KT1cInN1Ym1pdEZvcm0oKVwiIHZhbGlkYXRlT25TdWJtaXQ+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwYXJhbXMtaW52b2ljZS1kZWZhdWx0LWludi1zZXJpYWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6RGVmYXVsdEludlNlcmlhbCcgfCBhYnBMb2NhbGl6YXRpb24gfX0gKlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPVwicGFyYW1zLWludm9pY2UtZGVmYXVsdC1pbnYtc2VyaWFsXCIgZm9ybUNvbnRyb2xOYW1lPVwiZGVmYXVsdEludlNlcmlhbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiIG1heGxlbmd0aD1cIjhcIiBhdXRvZm9jdXMgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgaWQ9XCJwYXJhbXMtaW52b2ljZS11c2UtZGVmYXVsdC1zY2VuYXJpb1wiIGZvcm1Db250cm9sTmFtZT1cInVzZURlZlNjZW5hcmlvXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIC8+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGFyYW1zLWludm9pY2UtdXNlLWRlZmF1bHQtc2NlbmFyaW9cIiBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6VXNlRGVmU2NlbmFyaW8nIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiAqbmdJZj1cImZvcm1QYXJhbXNJbnZvaWNlLmNvbnRyb2xzLnVzZURlZlNjZW5hcmlvLnZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGFyYW1zLWludm9pY2UtZGVmYXVsdC1zY2VuYXJpb1wiIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpEZWZhdWx0U2NlbmFyaW8nIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZHgtc2VsZWN0LWJveCBpZD1cInBhcmFtcy1pbnZvaWNlLWRlZmF1bHQtc2NlbmFyaW9cIiBmb3JtQ29udHJvbE5hbWU9XCJkZWZhdWx0U2NlbmFyaW9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBkaXNwbGF5RXhwcj1cImRpc3BsYXlOYW1lXCIgdmFsdWVFeHByPVwiaWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFTb3VyY2VdPVwic2NlbmFyaW9UeXBlRGF0YVNvdXJjZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2R4LXNlbGVjdC1ib3g+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGlkPVwicGFyYW1zLWludm9pY2UtdXNlLWRlZi1pbnYtdHlwZVwiIGZvcm1Db250cm9sTmFtZT1cInVzZURlZkludlR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgLz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwYXJhbXMtaW52b2ljZS11c2UtZGVmLWludi10eXBlXCIgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OlVzZURlZkludlR5cGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiAqbmdJZj1cImZvcm1QYXJhbXNJbnZvaWNlLmNvbnRyb2xzLnVzZURlZkludlR5cGUudmFsdWVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwYXJhbXMtaW52b2ljZS1kZWZhdWx0LWludi10eXBlXCIgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OkRlZmF1bHRJbnZUeXBlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXNlbGVjdC1ib3ggaWQ9XCJwYXJhbXMtaW52b2ljZS1kZWZhdWx0LWludi10eXBlXCIgZm9ybUNvbnRyb2xOYW1lPVwiZGVmYXVsdEludlR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBkaXNwbGF5RXhwcj1cImRpc3BsYXlOYW1lXCIgdmFsdWVFeHByPVwiaWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFTb3VyY2VdPVwiZG9jdW1lbnRUeXBlRGF0YVNvdXJjZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2R4LXNlbGVjdC1ib3g+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwYXJhbXNlLWludm9pY2UtaXRlbS10cmVlcy1vcHRpb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Okl0ZW1UcmVlc09wdGlvbnMnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZHgtc2VsZWN0LWJveCBpZD1cInBhcmFtc2UtaW52b2ljZS1pdGVtLXRyZWVzLW9wdGlvbnNcIiBmb3JtQ29udHJvbE5hbWU9XCJpdGVtVHJlZU9wdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiIGRpc3BsYXlFeHByPVwiZGlzcGxheU5hbWVcIiB2YWx1ZUV4cHI9XCJpZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YVNvdXJjZV09XCJpdGVtVHJlZU9wdGlvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9keC1zZWxlY3QtYm94PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBpZD1cInBhcmFtcy1pbnZvaWNlLWlzLXNoaXBwaW5nLWFkZHJlc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiaXNTaGlwcGluZ0FkZHJlc3NcIiBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiAvPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBhcmFtcy1pbnZvaWNlLWlzLXNoaXBwaW5nLWFkZHJlc3NcIiBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6SXNTaGlwcGluZ0FkZHJlc3MnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9mb3JtPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiB0ZXh0LWxnLWVuZFwiPlxyXG4gICAgICAgICAgICAgICAgPGFicC1idXR0b24gaWNvbkNsYXNzPVwiZmEgZmEtY2hlY2tcIiBidXR0b25UeXBlPVwic3VibWl0XCIgZm9ybU5hbWU9XCJwYXJhbXMtaW52b2ljZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInN1Ym1pdEJ1dHRvbkRpc2FibGVkXCIgW2hpZGRlbl09XCJJc1N1Ym1pdEJ1dHRvbkhpZGRlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7ICdBYnBVaTo6U2F2ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgIDwvYWJwLWJ1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LXBhcmFtcy1pbnZvaWNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2UtZG9udXN1bS9zcmMvbGliL2NvbXBvbmVudHMvaGl0LXBhcmFtYXMtaW52b2ljZXMvaGl0LXBhcmFtcy1pbnZvaWNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2UtZG9udXN1bS9zcmMvbGliL2NvbXBvbmVudHMvaGl0LXBhcmFtYXMtaW52b2ljZXMvaGl0LXBhcmFtcy1pbnZvaWNlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsV0FBVyxFQUFrQyxNQUFNLGNBQWMsQ0FBQztBQUU5RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUVaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7OztBQVlyQyxNQUFNLE9BQU8seUJBQXlCO0lBaUJwQyxZQUNrQixJQUFpQixFQUNqQixLQUFxQixFQUNyQixPQUE4QixFQUN0QyxZQUFpQyxFQUNqQyxFQUFlLEVBQ04sd0JBQWtELEVBQ2xELGNBQThCLEVBQzlCLHVCQUFnRCxFQUNoRCx1QkFBZ0Q7UUFSakQsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUNqQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixZQUFPLEdBQVAsT0FBTyxDQUF1QjtRQUN0QyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMs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YyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQzsrV0FpQm5FLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFFSSxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQlAsIGRvd25sb2FkQmxvYiwgTGlzdFNlcnZpY2UsIFBhZ2VkUmVzdWx0RHRvLCBUcmFja0J5U2VydmljZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UsIFRvYXN0ZXJTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xyXG5pbXBvcnQgeyBEYXRlQWRhcHRlciB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkL2V4dGVuc2lvbnMnO1xyXG5pbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5qZWN0YWJsZSxcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBOZ2JEYXRlQWRhcHRlciB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgZmluYWxpemUsIHRhcCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBIaXRQYXJhbXNJbnZvaWNlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9oaXQtcHJveHkvaGl0LXBhcmFtcy1pbnZvaWNlcy9oaXQtcGFyYW1zLWludm9pY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEhpdFNjZW5hcmlvVHlwZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaGl0LXByb3h5L2hpdC1zY2VuYXJpby10eXBlcy9oaXQtc2NlbmFyaW8tdHlwZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSGl0RG9jdW1lbnRUeXBlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9oaXQtcHJveHkvaGl0LWRvY3VtZW50LXR5cGVzL2hpdC1kb2N1bWVudC10eXBlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYXJhbXNlSW52b2ljZUR0bywgUGFyYW1zZUludm9pY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcHJveHkvcGFyYW1zZS1pbnZvaWNlcyc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaGl0LXBhcmFtcy1pbnZvaWNlJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXHJcbiAgcHJvdmlkZXJzOiBbTGlzdFNlcnZpY2UsIHsgcHJvdmlkZTogTmdiRGF0ZUFkYXB0ZXIsIHVzZUNsYXNzOiBEYXRlQWRhcHRlciB9XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGl0LXBhcmFtcy1pbnZvaWNlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZXM6IFtdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSGl0UGFyYW1zSW52b2ljZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgZm9ybVBhcmFtc0ludm9pY2U6IEZvcm1Hcm91cDtcclxuXHJcbiAgcGFyYW1zSW52b2ljZUR0bz86IFBhcmFtc2VJbnZvaWNlRHRvO1xyXG5cclxuICBzdWJtaXRCdXR0b25EaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICBzY2VuYXJpb1R5cGVEYXRhU291cmNlOiBhbnk7XHJcbiAgZG9jdW1lbnRUeXBlRGF0YVNvdXJjZTogYW55O1xyXG4gIGl0ZW1UcmVlT3B0aW9uczogYW55O1xyXG4gIGRlc3BhdGNoUmVmZXJlbmNlRmllbGRzOiBhbnk7XHJcbiAgb3JkZXJSZWZlcmVuY2VGaWVsZHM6IGFueTtcclxuXHJcbiAgQElucHV0KCkgSXNTdWJtaXRCdXR0b25IaWRkZW4gPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpIHZhbGlkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZWFkb25seSBsaXN0OiBMaXN0U2VydmljZSxcclxuICAgIHB1YmxpYyByZWFkb25seSB0cmFjazogVHJhY2tCeVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2VydmljZTogUGFyYW1zZUludm9pY2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb25maXJtYXRpb246IENvbmZpcm1hdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaGl0UGFyYW1zSW52b2ljZXNTZXJ2aWNlOiBIaXRQYXJhbXNJbnZvaWNlc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRvYXN0ZXJTZXJ2aWNlOiBUb2FzdGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaGl0U2NlbmFyaW9UeXBlc1NlcnZpY2U6IEhpdFNjZW5hcmlvVHlwZXNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBoaXREb2N1bWVudFR5cGVzU2VydmljZTogSGl0RG9jdW1lbnRUeXBlc1NlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5idWlsZEZvcm0oKTtcclxuXHJcbiAgICB0aGlzLmhpdFNjZW5hcmlvVHlwZXNTZXJ2aWNlLmdldFNjZW5hcmlvVHlwZXNMb29rdXAoKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgIHRoaXMuc2NlbmFyaW9UeXBlRGF0YVNvdXJjZSA9IGRhdGE7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmhpdERvY3VtZW50VHlwZXNTZXJ2aWNlLmdldERvY3VtZW50VHlwZXNMb29rdXAoKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgIHRoaXMuZG9jdW1lbnRUeXBlRGF0YVNvdXJjZSA9IGRhdGE7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmhpdFBhcmFtc0ludm9pY2VzU2VydmljZS5nZXRJdGVtVHJlZU9wdGlvbnMoKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgIHRoaXMuaXRlbVRyZWVPcHRpb25zPWRhdGE7XHJcbiAgICB9KVxyXG5cclxuICAgICB0aGlzLmhpdFBhcmFtc0ludm9pY2VzU2VydmljZS5nZXREZXNwYXRjaFJlZmVyZW5jZUZpZWxkcygpLnN1YnNjcmliZShkYXRhID0+IHtcclxuICAgICAgdGhpcy5kZXNwYXRjaFJlZmVyZW5jZUZpZWxkcz1kYXRhO1xyXG4gICAgfSlcclxuXHJcbiAgICAgdGhpcy5oaXRQYXJhbXNJbnZvaWNlc1NlcnZpY2UuZ2V0T3JkZXJSZWZlcmVuY2VGaWVsZHMoKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgIHRoaXMub3JkZXJSZWZlcmVuY2VGaWVsZHM9ZGF0YTtcclxuICAgIH0pXHJcblxyXG4gICAgYXdhaXQgdGhpcy5nZXRQYXJhbXNJbnZvaWNlKHRydWUpO1xyXG4gIH1cclxuXHJcbiAgYnVpbGRGb3JtKCkge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBkZWZhdWx0U2NlbmFyaW8sXHJcbiAgICAgIGRlZmF1bHRJbnZUeXBlLFxyXG4gICAgICBkZWZhdWx0SW52U2VyaWFsLFxyXG4gICAgICBpc1NoaXBwaW5nQWRkcmVzcyxcclxuICAgICAgdXNlRGVmU2NlbmFyaW8sXHJcbiAgICAgIHVzZURlZkludlR5cGUsXHJcbiAgICAgIGl0ZW1UcmVlT3B0aW9uLFxyXG4gICAgICBkZXNwYXRjaFJlZmVyZW5jZUZpZWxkLFxyXG4gICAgICBvcmRlclJlZmVyZW5jZUZpZWxkXHJcbiAgICB9ID0gdGhpcy5wYXJhbXNJbnZvaWNlRHRvIHx8IHt9O1xyXG5cclxuICAgIHRoaXMuZm9ybVBhcmFtc0ludm9pY2UgPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgZGVmYXVsdFNjZW5hcmlvOiBbZGVmYXVsdFNjZW5hcmlvID8/IGZhbHNlLCBbXV0sXHJcbiAgICAgIGRlZmF1bHRJbnZUeXBlOiBbZGVmYXVsdEludlR5cGUgPz8gZmFsc2UsIFtdXSxcclxuICAgICAgZGVmYXVsdEludlNlcmlhbDogW2RlZmF1bHRJbnZTZXJpYWwgPz8gbnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDMpXV0sXHJcbiAgICAgIGlzU2hpcHBpbmdBZGRyZXNzOiBbaXNTaGlwcGluZ0FkZHJlc3MgPz8gZmFsc2UsIFtdXSxcclxuICAgICAgdXNlRGVmU2NlbmFyaW86IFt1c2VEZWZTY2VuYXJpbyA/PyBmYWxzZSwgW11dLFxyXG4gICAgICB1c2VEZWZJbnZUeXBlOiBbdXNlRGVmSW52VHlwZSA/PyBmYWxzZSwgW11dLFxyXG4gICAgICBpdGVtVHJlZU9wdGlvbjogW2l0ZW1UcmVlT3B0aW9uID8/IDAsIFtdXSxcclxuICAgICAgZGVzcGF0Y2hSZWZlcmVuY2VGaWVsZDogW2Rlc3BhdGNoUmVmZXJlbmNlRmllbGQgPz8gMCwgW11dLFxyXG4gICAgICBvcmRlclJlZmVyZW5jZUZpZWxkOiBbb3JkZXJSZWZlcmVuY2VGaWVsZCA/PyAwLCBbXV1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgc3VibWl0Rm9ybSgpIHtcclxuICAgIGlmICh0aGlzLmZvcm1QYXJhbXNJbnZvaWNlLmNvbnRyb2xzLmRlZmF1bHRJbnZTZXJpYWwudmFsdWUubGVuZ3RoID4gMykge1xyXG4gICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLmVycm9yKCdlRG9udXN1bTo6RW50ZXJNYXgzQ2hhcmFjdGVyJyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZm9ybVBhcmFtc0ludm9pY2UuaW52YWxpZCkge1xyXG4gICAgICB3aW5kb3cuc2Nyb2xsKHtcclxuICAgICAgICB0b3A6IDAsXHJcbiAgICAgICAgbGVmdDogMCxcclxuICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnZhbGlkLmVtaXQoZmFsc2UpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdWJtaXRCdXR0b25EaXNhYmxlZCA9IHRydWU7XHJcblxyXG4gICAgLy8gdGhpcy50b2FzdGVyU2VydmljZS5pbmZvKCdlRG9udXN1bTo6VHJhbnNhY3Rpb25TdGFydGVkJyk7XHJcbiAgICBcclxuICAgIGlmICghdGhpcy5mb3JtUGFyYW1zSW52b2ljZS5jb250cm9scy5kZWZhdWx0U2NlbmFyaW8udmFsdWUpXHJcbiAgICAgIHRoaXMuZm9ybVBhcmFtc0ludm9pY2UuY29udHJvbHMuZGVmYXVsdFNjZW5hcmlvLnNldFZhbHVlKDApO1xyXG4gICAgXHJcbiAgICBpZiAoIXRoaXMuZm9ybVBhcmFtc0ludm9pY2UuY29udHJvbHMuZGVmYXVsdEludlR5cGUudmFsdWUpXHJcbiAgICAgIHRoaXMuZm9ybVBhcmFtc0ludm9pY2UuY29udHJvbHMuZGVmYXVsdEludlR5cGUuc2V0VmFsdWUoMCk7XHJcblxyXG4gICAgY29uc3QgcmVxdWVzdCA9IHRoaXMucGFyYW1zSW52b2ljZUR0b1xyXG4gICAgICA/IHRoaXMuc2VydmljZS51cGRhdGUodGhpcy5wYXJhbXNJbnZvaWNlRHRvLmlkLCB7XHJcbiAgICAgICAgICAuLi50aGlzLmZvcm1QYXJhbXNJbnZvaWNlLnZhbHVlLFxyXG4gICAgICAgIH0pXHJcbiAgICAgIDogdGhpcy5zZXJ2aWNlLmNyZWF0ZSh0aGlzLmZvcm1QYXJhbXNJbnZvaWNlLnZhbHVlKTtcclxuXHJcbiAgICByZXF1ZXN0XHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuc3VibWl0QnV0dG9uRGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICB9KSxcclxuICAgICAgICB0YXAoKCkgPT4ge30pXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAvLyB0aGlzLnRvYXN0ZXJTZXJ2aWNlLnN1Y2Nlc3MoJ2VEb251c3VtOjpUcmFuc2FjdGlvblN1Y2Nlc3NmdWwnKTtcclxuXHJcbiAgICAgICAgICBhd2FpdCB0aGlzLmdldFBhcmFtc0ludm9pY2UoKTtcclxuXHJcbiAgICAgICAgICB0aGlzLnZhbGlkLmVtaXQodHJ1ZSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnIgPT4ge1xyXG4gICAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5lcnJvcignZURvbnVzdW06OlRyYW5zYWN0aW9uVW5zdWNjZXNzZnVsJyk7XHJcblxyXG4gICAgICAgICAgdGhpcy52YWxpZC5lbWl0KHRydWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGdldFBhcmFtc0ludm9pY2UoYnVpbGRGb3JtOiBib29sZWFuID0gZmFsc2UpIHtcclxuICAgIHRoaXMuaGl0UGFyYW1zSW52b2ljZXNTZXJ2aWNlLmdldFBhcmFtc0ludm9pY2UoKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgIHRoaXMucGFyYW1zSW52b2ljZUR0byA9IGRhdGE7XHJcblxyXG4gICAgICBpZiAoYnVpbGRGb3JtKSB0aGlzLmJ1aWxkRm9ybSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtUGFyYW1zSW52b2ljZVwiIGlkPVwicGFyYW1zLWludm9pY2VcIiAobmdTdWJtaXQpPVwic3VibWl0Rm9ybSgpXCIgdmFsaWRhdGVPblN1Ym1pdD5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInBhcmFtcy1pbnZvaWNlLWRlZmF1bHQtaW52LXNlcmlhbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpEZWZhdWx0SW52U2VyaWFsJyB8IGFicExvY2FsaXphdGlvbiB9fSAqXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJwYXJhbXMtaW52b2ljZS1kZWZhdWx0LWludi1zZXJpYWxcIiBmb3JtQ29udHJvbE5hbWU9XCJkZWZhdWx0SW52U2VyaWFsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgbWF4bGVuZ3RoPVwiOFwiIGF1dG9mb2N1cyAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBpZD1cInBhcmFtcy1pbnZvaWNlLXVzZS1kZWZhdWx0LXNjZW5hcmlvXCIgZm9ybUNvbnRyb2xOYW1lPVwidXNlRGVmU2NlbmFyaW9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgLz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwYXJhbXMtaW52b2ljZS11c2UtZGVmYXVsdC1zY2VuYXJpb1wiIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpVc2VEZWZTY2VuYXJpbycgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiICpuZ0lmPVwiZm9ybVBhcmFtc0ludm9pY2UuY29udHJvbHMudXNlRGVmU2NlbmFyaW8udmFsdWVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwYXJhbXMtaW52b2ljZS1kZWZhdWx0LXNjZW5hcmlvXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OkRlZmF1bHRTY2VuYXJpbycgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkeC1zZWxlY3QtYm94IGlkPVwicGFyYW1zLWludm9pY2UtZGVmYXVsdC1zY2VuYXJpb1wiIGZvcm1Db250cm9sTmFtZT1cImRlZmF1bHRTY2VuYXJpb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiIGRpc3BsYXlFeHByPVwiZGlzcGxheU5hbWVcIiB2YWx1ZUV4cHI9XCJpZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YVNvdXJjZV09XCJzY2VuYXJpb1R5cGVEYXRhU291cmNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZHgtc2VsZWN0LWJveD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgaWQ9XCJwYXJhbXMtaW52b2ljZS11c2UtZGVmLWludi10eXBlXCIgZm9ybUNvbnRyb2xOYW1lPVwidXNlRGVmSW52VHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiAvPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBhcmFtcy1pbnZvaWNlLXVzZS1kZWYtaW52LXR5cGVcIiBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6VXNlRGVmSW52VHlwZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiICpuZ0lmPVwiZm9ybVBhcmFtc0ludm9pY2UuY29udHJvbHMudXNlRGVmSW52VHlwZS52YWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBhcmFtcy1pbnZvaWNlLWRlZmF1bHQtaW52LXR5cGVcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6RGVmYXVsdEludlR5cGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZHgtc2VsZWN0LWJveCBpZD1cInBhcmFtcy1pbnZvaWNlLWRlZmF1bHQtaW52LXR5cGVcIiBmb3JtQ29udHJvbE5hbWU9XCJkZWZhdWx0SW52VHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiIGRpc3BsYXlFeHByPVwiZGlzcGxheU5hbWVcIiB2YWx1ZUV4cHI9XCJpZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YVNvdXJjZV09XCJkb2N1bWVudFR5cGVEYXRhU291cmNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZHgtc2VsZWN0LWJveD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBhcmFtcy1pbnZvaWNlLWRlc3BhdGNoLXJlZmVyZW5jZS1maWVsZFwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpEZXNwYXRjaFJlZmVyZW5jZUZpZWxkJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXNlbGVjdC1ib3ggaWQ9XCJwYXJhbXMtaW52b2ljZS1kZXNwYXRjaC1yZWZlcmVuY2UtZmllbGRcIiBmb3JtQ29udHJvbE5hbWU9XCJkZXNwYXRjaFJlZmVyZW5jZUZpZWxkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZGlzcGxheUV4cHI9XCJkaXNwbGF5TmFtZVwiIHZhbHVlRXhwcj1cImlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhU291cmNlXT1cImRlc3BhdGNoUmVmZXJlbmNlRmllbGRzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZHgtc2VsZWN0LWJveD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInBhcmFtc2UtaW52b2ljZS1pdGVtLXRyZWVzLW9wdGlvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6SXRlbVRyZWVzT3B0aW9ucycgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkeC1zZWxlY3QtYm94IGlkPVwicGFyYW1zZS1pbnZvaWNlLWl0ZW0tdHJlZXMtb3B0aW9uc1wiIGZvcm1Db250cm9sTmFtZT1cIml0ZW1UcmVlT3B0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZGlzcGxheUV4cHI9XCJkaXNwbGF5TmFtZVwiIHZhbHVlRXhwcj1cImlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhU291cmNlXT1cIml0ZW1UcmVlT3B0aW9uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2R4LXNlbGVjdC1ib3g+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwicGFyYW1zZS1pbnZvaWNlLW9yZGVyLXJlZmVyZW5jZS1maWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpPcmRlclJlZmVyZW5jZUZpZWxkJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXNlbGVjdC1ib3ggaWQ9XCJwYXJhbXNlLWludm9pY2Utb3JkZXItcmVmZXJlbmNlLWZpZWxkc1wiIGZvcm1Db250cm9sTmFtZT1cIm9yZGVyUmVmZXJlbmNlRmllbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBkaXNwbGF5RXhwcj1cImRpc3BsYXlOYW1lXCIgdmFsdWVFeHByPVwiaWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFTb3VyY2VdPVwib3JkZXJSZWZlcmVuY2VGaWVsZHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9keC1zZWxlY3QtYm94PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBpZD1cInBhcmFtcy1pbnZvaWNlLWlzLXNoaXBwaW5nLWFkZHJlc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiaXNTaGlwcGluZ0FkZHJlc3NcIiBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiAvPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBhcmFtcy1pbnZvaWNlLWlzLXNoaXBwaW5nLWFkZHJlc3NcIiBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6SXNTaGlwcGluZ0FkZHJlc3MnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9mb3JtPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiB0ZXh0LWxnLWVuZFwiPlxyXG4gICAgICAgICAgICAgICAgPGFicC1idXR0b24gaWNvbkNsYXNzPVwiZmEgZmEtY2hlY2tcIiBidXR0b25UeXBlPVwic3VibWl0XCIgZm9ybU5hbWU9XCJwYXJhbXMtaW52b2ljZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInN1Ym1pdEJ1dHRvbkRpc2FibGVkXCIgW2hpZGRlbl09XCJJc1N1Ym1pdEJ1dHRvbkhpZGRlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7ICdBYnBVaTo6U2F2ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgIDwvYWJwLWJ1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
|