@senior-agronegocio/angular-components 0.0.9868 → 0.0.9871
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/bundles/senior-agronegocio-angular-components.umd.js +5658 -4909
- package/bundles/senior-agronegocio-angular-components.umd.js.map +1 -1
- package/bundles/senior-agronegocio-angular-components.umd.min.js +2 -2
- package/bundles/senior-agronegocio-angular-components.umd.min.js.map +1 -1
- package/common/agro-number-utils.class.d.ts +6 -0
- package/common/agro-object-stringifier.class.d.ts +1 -1
- package/common/agro-string-utils.class.d.ts +0 -5
- package/components/event-control-board/common/event-operation.d.ts +1 -0
- package/components/event-control-board/common/event-origin.d.ts +1 -0
- package/components/event-control-board/event-control-board.component.d.ts +7 -3
- package/components/event-control-board/index.d.ts +1 -3
- package/components/event-control-board/service/e012fam/e012fam.d.ts +14 -0
- package/components/event-control-board/service/e075der/e075der.d.ts +18 -0
- package/components/event-control-board/service/e113saf/e113saf.d.ts +14 -0
- package/components/event-control-board/service/e205dep/e205dep-dto.d.ts +15 -0
- package/components/event-control-board/service/e205dep/e205dep.d.ts +16 -0
- package/components/event-control-board/service/entity-service.d.ts +3 -3
- package/components/event-control-board/service/external-invoice/external-invoice.d.ts +13 -0
- package/components/event-control-board/service/invoice/invoice.d.ts +21 -0
- package/components/event-control-board/service/origination/operationType.d.ts +5 -0
- package/components/event-control-board/service/origination/origination-dto.d.ts +1 -1
- package/components/event-control-board/service/origination/origination.d.ts +51 -0
- package/components/event-control-board/service/rural-estate/rural-estate.d.ts +34 -0
- package/components/event-control-board/service/ticket/ticket.d.ts +18 -0
- package/components/financial-title-table/services/financial/enums.d.ts +1 -1
- package/components/index.d.ts +1 -0
- package/components/modal-invoice-pj/for-fixation/modal-fixation-options.interface.d.ts +5 -0
- package/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.component.d.ts +35 -0
- package/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.module.d.ts +2 -0
- package/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.component.d.ts +26 -0
- package/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.module.d.ts +2 -0
- package/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.component.d.ts +26 -0
- package/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.module.d.ts +2 -0
- package/components/modal-invoice-pj/index.d.ts +9 -0
- package/components/modal-invoice-pj/modal-invoice-pj-base.class.d.ts +53 -0
- package/components/modal-invoice-pj/modal-invoice-pj-options.interface.d.ts +10 -0
- package/components/modal-invoice-pj/modal-shared-imports.d.ts +8 -0
- package/components/modal-invoice-pj/services/agro-invoice/agro-invoice.module.d.ts +2 -0
- package/components/modal-invoice-pj/services/agro-invoice/agro-invoice.service.d.ts +16 -0
- package/components/modal-invoice-pj/services/agro-invoice/index.d.ts +2 -0
- package/components/modal-invoice-pj/services/agro-invoice/interfaces.d.ts +75 -0
- package/enums/invoice-status.enum.d.ts +12 -0
- package/esm2015/common/agro-number-utils.class.js +18 -1
- package/esm2015/common/agro-object-stringifier.class.js +4 -1
- package/esm2015/common/agro-string-utils.class.js +2 -64
- package/esm2015/components/cancel-event-dialog/cancel-event-dialog-config.js +1 -1
- package/esm2015/components/event-control-board/common/event-control-constants.js +6 -1
- package/esm2015/components/event-control-board/common/event-operation.js +2 -1
- package/esm2015/components/event-control-board/common/event-origin.js +2 -1
- package/esm2015/components/event-control-board/event-control-board.component.js +14 -8
- package/esm2015/components/event-control-board/event-control-board.module.js +2 -5
- package/esm2015/components/event-control-board/index.js +2 -4
- package/esm2015/components/event-control-board/service/e012fam/e012fam.js +20 -0
- package/esm2015/components/event-control-board/service/e075der/e075der.js +31 -0
- package/esm2015/components/event-control-board/service/e113saf/e113saf.js +20 -0
- package/esm2015/components/event-control-board/service/e205dep/e205dep-dto.js +1 -0
- package/esm2015/components/event-control-board/service/e205dep/e205dep.js +20 -0
- package/esm2015/components/event-control-board/service/entity-service.js +25 -27
- package/esm2015/components/event-control-board/service/external-invoice/external-invoice.js +20 -0
- package/esm2015/components/event-control-board/service/invoice/invoice.js +43 -0
- package/esm2015/components/event-control-board/service/origination/operationType.js +7 -0
- package/esm2015/components/event-control-board/service/origination/origination-dto.js +1 -1
- package/esm2015/components/event-control-board/service/origination/origination.js +59 -0
- package/esm2015/components/event-control-board/service/rural-estate/rural-estate.js +78 -0
- package/esm2015/components/event-control-board/service/ticket/ticket.js +39 -0
- package/esm2015/components/financial-title-table/financial-title-table.component.js +5 -3
- package/esm2015/components/financial-title-table/financial-title-table.module.js +7 -5
- package/esm2015/components/financial-title-table/services/financial/agro-financial.service.js +10 -5
- package/esm2015/components/financial-title-table/services/financial/enums.js +2 -2
- package/esm2015/components/index.js +2 -1
- package/esm2015/components/modal-invoice-pj/for-fixation/modal-fixation-options.interface.js +1 -0
- package/esm2015/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.component.js +189 -0
- package/esm2015/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.module.js +16 -0
- package/esm2015/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.component.js +60 -0
- package/esm2015/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.module.js +16 -0
- package/esm2015/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.component.js +60 -0
- package/esm2015/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.module.js +16 -0
- package/esm2015/components/modal-invoice-pj/index.js +8 -0
- package/esm2015/components/modal-invoice-pj/modal-invoice-pj-base.class.js +193 -0
- package/esm2015/components/modal-invoice-pj/modal-invoice-pj-options.interface.js +1 -0
- package/esm2015/components/modal-invoice-pj/modal-shared-imports.js +32 -0
- package/esm2015/components/modal-invoice-pj/services/agro-invoice/agro-invoice.module.js +28 -0
- package/esm2015/components/modal-invoice-pj/services/agro-invoice/agro-invoice.service.js +49 -0
- package/esm2015/components/modal-invoice-pj/services/agro-invoice/index.js +3 -0
- package/esm2015/components/modal-invoice-pj/services/agro-invoice/interfaces.js +13 -0
- package/esm2015/enums/invoice-status.enum.js +14 -0
- package/esm2015/lib-translation.module.js +3 -1
- package/esm2015/pipe/index.js +2 -1
- package/esm2015/pipe/kilogram/index.js +3 -0
- package/esm2015/pipe/kilogram/kilogram.module.js +17 -0
- package/esm2015/pipe/kilogram/kilogram.pipe.js +38 -0
- package/esm2015/public-api.js +5 -5
- package/esm2015/services/entity-service.js +14 -12
- package/esm2015/services/i18n/en-US.js +11 -1
- package/esm2015/services/i18n/es-CO.js +13 -3
- package/esm2015/services/i18n/pt-BR.js +273 -261
- package/esm2015/services/index.js +1 -1
- package/esm2015/services/lib-translation.service.js +2 -2
- package/esm2015/services/producer-invoice/index.js +3 -0
- package/esm2015/services/producer-invoice/producer-invoice-dto.js +1 -0
- package/esm2015/services/producer-invoice/producer-invoice.js +32 -0
- package/esm2015/services/producer-invoice/producer-invoice.service.js +64 -0
- package/esm5/common/agro-number-utils.class.js +19 -1
- package/esm5/common/agro-object-stringifier.class.js +4 -1
- package/esm5/common/agro-string-utils.class.js +8 -81
- package/esm5/components/cancel-event-dialog/cancel-event-dialog-config.js +1 -1
- package/esm5/components/event-control-board/common/event-control-constants.js +6 -1
- package/esm5/components/event-control-board/common/event-operation.js +2 -1
- package/esm5/components/event-control-board/common/event-origin.js +2 -1
- package/esm5/components/event-control-board/event-control-board.component.js +14 -8
- package/esm5/components/event-control-board/event-control-board.module.js +2 -5
- package/esm5/components/event-control-board/index.js +2 -4
- package/esm5/components/event-control-board/service/e012fam/e012fam.js +25 -0
- package/esm5/components/event-control-board/service/e075der/e075der.js +36 -0
- package/esm5/components/event-control-board/service/e113saf/e113saf.js +25 -0
- package/esm5/components/event-control-board/service/e205dep/e205dep-dto.js +1 -0
- package/esm5/components/event-control-board/service/e205dep/e205dep.js +25 -0
- package/esm5/components/event-control-board/service/entity-service.js +24 -26
- package/esm5/components/event-control-board/service/external-invoice/external-invoice.js +25 -0
- package/esm5/components/event-control-board/service/invoice/invoice.js +48 -0
- package/esm5/components/event-control-board/service/origination/operationType.js +7 -0
- package/esm5/components/event-control-board/service/origination/origination-dto.js +1 -1
- package/esm5/components/event-control-board/service/origination/origination.js +62 -0
- package/esm5/components/event-control-board/service/rural-estate/rural-estate.js +83 -0
- package/esm5/components/event-control-board/service/ticket/ticket.js +44 -0
- package/esm5/components/financial-title-table/financial-title-table.component.js +6 -3
- package/esm5/components/financial-title-table/financial-title-table.module.js +7 -5
- package/esm5/components/financial-title-table/services/financial/agro-financial.service.js +11 -6
- package/esm5/components/financial-title-table/services/financial/enums.js +2 -2
- package/esm5/components/index.js +2 -1
- package/esm5/components/modal-invoice-pj/for-fixation/modal-fixation-options.interface.js +1 -0
- package/esm5/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.component.js +221 -0
- package/esm5/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.module.js +19 -0
- package/esm5/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.component.js +63 -0
- package/esm5/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.module.js +19 -0
- package/esm5/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.component.js +63 -0
- package/esm5/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.module.js +19 -0
- package/esm5/components/modal-invoice-pj/index.js +8 -0
- package/esm5/components/modal-invoice-pj/modal-invoice-pj-base.class.js +210 -0
- package/esm5/components/modal-invoice-pj/modal-invoice-pj-options.interface.js +1 -0
- package/esm5/components/modal-invoice-pj/modal-shared-imports.js +32 -0
- package/esm5/components/modal-invoice-pj/services/agro-invoice/agro-invoice.module.js +31 -0
- package/esm5/components/modal-invoice-pj/services/agro-invoice/agro-invoice.service.js +56 -0
- package/esm5/components/modal-invoice-pj/services/agro-invoice/index.js +3 -0
- package/esm5/components/modal-invoice-pj/services/agro-invoice/interfaces.js +13 -0
- package/esm5/enums/invoice-status.enum.js +14 -0
- package/esm5/lib-translation.module.js +3 -1
- package/esm5/pipe/index.js +2 -1
- package/esm5/pipe/kilogram/index.js +3 -0
- package/esm5/pipe/kilogram/kilogram.module.js +20 -0
- package/esm5/pipe/kilogram/kilogram.pipe.js +41 -0
- package/esm5/public-api.js +5 -5
- package/esm5/services/entity-service.js +13 -11
- package/esm5/services/i18n/en-US.js +11 -1
- package/esm5/services/i18n/es-CO.js +13 -3
- package/esm5/services/i18n/pt-BR.js +273 -261
- package/esm5/services/index.js +1 -1
- package/esm5/services/lib-translation.service.js +2 -2
- package/esm5/services/producer-invoice/index.js +3 -0
- package/esm5/services/producer-invoice/producer-invoice-dto.js +1 -0
- package/esm5/services/producer-invoice/producer-invoice.js +37 -0
- package/esm5/services/producer-invoice/producer-invoice.service.js +72 -0
- package/fesm2015/senior-agronegocio-angular-components.js +5111 -4445
- package/fesm2015/senior-agronegocio-angular-components.js.map +1 -1
- package/fesm5/senior-agronegocio-angular-components.js +5657 -4917
- package/fesm5/senior-agronegocio-angular-components.js.map +1 -1
- package/package.json +3 -3
- package/pipe/index.d.ts +1 -0
- package/pipe/kilogram/index.d.ts +2 -0
- package/pipe/kilogram/kilogram.module.d.ts +2 -0
- package/pipe/kilogram/kilogram.pipe.d.ts +8 -0
- package/public-api.d.ts +4 -4
- package/senior-agronegocio-angular-components.metadata.json +1 -1
- package/services/entity-service.d.ts +2 -1
- package/services/i18n/en-US.d.ts +10 -0
- package/services/i18n/es-CO.d.ts +11 -1
- package/services/i18n/pt-BR.d.ts +271 -259
- package/services/producer-invoice/index.d.ts +3 -0
- package/{components/event-control-board/service → services}/producer-invoice/producer-invoice-dto.d.ts +4 -4
- package/services/producer-invoice/producer-invoice.d.ts +27 -0
- package/services/producer-invoice/producer-invoice.service.d.ts +18 -0
- package/components/event-control-board/service/event-control-board.service.d.ts +0 -13
- package/components/event-control-board/service/producer-invoice/producer-invoice.module.d.ts +0 -2
- package/components/event-control-board/service/producer-invoice/producer-invoice.service.d.ts +0 -11
- package/esm2015/components/event-control-board/service/event-control-board.service.js +0 -37
- package/esm2015/components/event-control-board/service/producer-invoice/producer-invoice-dto.js +0 -1
- package/esm2015/components/event-control-board/service/producer-invoice/producer-invoice.module.js +0 -26
- package/esm2015/components/event-control-board/service/producer-invoice/producer-invoice.service.js +0 -24
- package/esm5/components/event-control-board/service/event-control-board.service.js +0 -38
- package/esm5/components/event-control-board/service/producer-invoice/producer-invoice-dto.js +0 -1
- package/esm5/components/event-control-board/service/producer-invoice/producer-invoice.module.js +0 -29
- package/esm5/components/event-control-board/service/producer-invoice/producer-invoice.service.js +0 -27
|
@@ -19,6 +19,11 @@ export var eventItem = [
|
|
|
19
19
|
value: EventOperation.CANCEL_INVOICE,
|
|
20
20
|
subLabelField: InputFields.AGRO_INVOICE_TYPE,
|
|
21
21
|
},
|
|
22
|
+
{
|
|
23
|
+
label: "agro.angular_components." + EventOperation.INVOICE_CLOSE_INVOICE,
|
|
24
|
+
value: EventOperation.INVOICE_CLOSE_INVOICE,
|
|
25
|
+
subLabelField: InputFields.AGRO_INVOICE_TYPE,
|
|
26
|
+
},
|
|
22
27
|
{ label: "agro.angular_components." + EventOperation.REPROCESS_INVOICE, value: EventOperation.REPROCESS_INVOICE },
|
|
23
28
|
{ label: "agro.angular_components." + EventOperation.EFFECTIVE_CONFIRMATION, value: EventOperation.EFFECTIVE_CONFIRMATION },
|
|
24
29
|
{ label: "agro.angular_components." + EventOperation.CHANGE_REQUEST, value: EventOperation.CHANGE_REQUEST },
|
|
@@ -115,4 +120,4 @@ export var inputFieldsPath = [
|
|
|
115
120
|
{ path: null, field: InputFields.INVOICE_NUMBER, operation: EventOperation.CLOSE_INVOICE_FIXATION },
|
|
116
121
|
{ path: null, field: InputFields.INVOICE_NUMBER, operation: EventOperation.REOPEN_INVOICE_FIXATION },
|
|
117
122
|
];
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtY29udHJvbC1jb25zdGFudHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWFncm9uZWdvY2lvL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZXZlbnQtY29udHJvbC1ib2FyZC9jb21tb24vZXZlbnQtY29udHJvbC1jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxNQUFNLENBQUMsSUFBTSxTQUFTLEdBQUc7SUFDckIsRUFBRSxLQUFLLEVBQUUsc0NBQXNDLEVBQUUsS0FBSyxFQUFFLGNBQWMsQ0FBQyxNQUFNLEVBQUU7SUFDL0UsRUFBRSxLQUFLLEVBQUUsMkNBQTJDLEVBQUUsS0FBSyxFQUFFLGNBQWMsQ0FBQyxXQUFXLEVBQUU7SUFDekY7UUFDSSxLQUFLLEVBQUUsZ0RBQWdEO1FBQ3ZELEtBQUssRUFBRSxjQUFjLENBQUMsY0FBYztRQUNwQyxhQUFhLEVBQUUsV0FBVyxDQUFDLGlCQUFpQjtLQUMvQztJQUNELEVBQUUsS0FBSyxFQUFFLGtEQUFrRCxFQUFFLEtBQUssRUFBRSxjQUFjLENBQUMsa0JBQWtCLEVBQUU7SUFDdkcsRUFBRSxLQUFLLEVBQUUseUNBQXlDLEVBQUUsS0FBSyxFQUFFLGNBQWMsQ0FBQyxTQUFTLEVBQUU7SUFDckYsRUFBRSxLQUFLLEVBQUUsc0RBQXNELEVBQUUsS0FBSyxFQUFFLGNBQWMsQ0FBQyxzQkFBc0IsRUFBRTtJQUMvRyxFQUFFLEtBQUssRUFBRSxzREFBc0QsRUFBRSxLQUFLLEVBQUUsY0FBYyxDQUFDLGNBQWMsRUFBRTtJQUN2RyxFQUFFLEtBQUssRUFBRSwrQ0FBK0MsRUFBRSxLQUFLLEVBQUUsY0FBYyxDQUFDLGVBQWUsRUFBRTtJQUNqRyxFQUFFLEtBQUssRUFBRSx3Q0FBd0MsRUFB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QUFFRixNQUFNLENBQUMsSUFBTSxlQUFlLEdBQUc7SUFDM0IsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxjQUFjLENBQUMsMEJBQTBCLEVBQUU7SUFDckcsRUFBRSxJQUFJLEVBQUUseUJBQXlCLEVBQUUsS0FBSyxFQUFFLFdBQVcsQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLGNBQWMsQ0FBQyx1QkFBdUIsRUFBRTtJQUN2SCxFQUFFLElBQUksRUFBRSx5QkFBeUIsRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsY0FBYyxDQUFDLHVCQUF1QixFQUFFO0lBQ3ZILEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLGNBQWMsRUFBRSxTQUFTLEVBQUUsY0FBYyxDQUFDLHNCQUFzQixFQUFFO0lBQ25HLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLGNBQWMsRUFBRSxTQUFTLEVBQUUsY0FBYyxDQUFDLHVCQUF1QixFQUFFO0NBQ3ZHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudE9wZXJhdGlvbiB9IGZyb20gXCIuL2V2ZW50LW9wZXJhdGlvblwiO1xyXG5pbXBvcnQgeyBJbnB1dEZpZWxkcyB9IGZyb20gXCIuL2lucHV0LWZpZWxkc1wiO1xyXG5cclxuZXhwb3J0IGNvbnN0IGV2ZW50SXRlbSA9IFtcclxuICAgIHsgbGFiZWw6IFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMudGlja2V0X2V2ZW50XCIsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5USUNLRVQgfSxcclxuICAgIHsgbGFiZWw6IFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMucHJvdmlzaW9uYWxfZXZlbnRcIiwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLlBST1ZJU0lPTkFMIH0sXHJcbiAgICB7XHJcbiAgICAgICAgbGFiZWw6IFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuaW52b2ljZV9jcmVhdGluZ19ldmVudFwiLFxyXG4gICAgICAgIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5DUkVBVEVfSU5WT0lDRSxcclxuICAgICAgICBzdWJMYWJlbEZpZWxkOiBJbnB1dEZpZWxkcy5BR1JPX0lOVk9JQ0VfVFlQRSxcclxuICAgIH0sXHJcbiAgICB7IGxhYmVsOiBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnJlbW92ZV9wcm92aXNpb25hbF9ldmVudFwiLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uUkVNT1ZFX1BST1ZJU0lPTkFMIH0sXHJcbiAgICB7IGxhYmVsOiBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVmZmVjdGl2ZV9ldmVudFwiLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uRUZGRUNUSVZFIH0sXHJcbiAgICB7IGxhYmVsOiBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVmZmVjdGl2ZV9jb25maXJtYXRpb25fZXZlbnRcIiwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkVGRkVDVElWRV9DT05GSVJNQVRJT04gfSxcclxuICAgIHsgbGFiZWw6IFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuY2hhbmdlX3JlcXVlc3RfZXZlbnRfc3VtbWFyeVwiLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uQ0hBTkdFX1JFUVVFU1QgfSxcclxuICAgIHsgbGFiZWw6IFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuY2hhbmdlX3Jlc3BvbnNlX2V2ZW50XCIsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5DSEFOR0VfUkVTUE9OU0UgfSxcclxuICAgIHsgbGFiZWw6IFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZml4YXRpb25fZXZlbnRcIiwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLlBST0NFU1NfRklYQVRJT04gfSxcclxuICAgIHtcclxuICAgICAgICBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uQ0FOQ0VMX0lOVk9JQ0V9YCxcclxuICAgICAgICB2YWx1ZTogRXZlbnRPcGVyYXRpb24uQ0FOQ0VMX0lOVk9JQ0UsXHJcbiAgICAgICAgc3ViTGFiZWxGaWVsZDogSW5wdXRGaWVsZHMuQUdST19JTlZPSUNFX1RZUEUsXHJcbiAgICB9LFxyXG4gICAgeyBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uUkVQUk9DRVNTX0lOVk9JQ0V9YCwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLlJFUFJPQ0VTU19JTlZPSUNFIH0sXHJcbiAgICB7IGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5FRkZFQ1RJVkVfQ09ORklSTUFUSU9OfWAsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5FRkZFQ1RJVkVfQ09ORklSTUFUSU9OIH0sXHJcbiAgICB7IGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5DSEFOR0VfUkVRVUVTVH1gLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uQ0hBTkdFX1JFUVVFU1QgfSxcclxuICAgIHsgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLkNIQU5HRV9SRVNQT05TRX1gLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uQ0hBTkdFX1JFU1BPTlNFIH0sXHJcbiAgICB7IGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5QUk9DRVNTX0ZJWEFUSU9OfWAsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5QUk9DRVNTX0ZJWEFUSU9OIH0sXHJcbiAgICB7XHJcbiAgICAgICAgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX0NSRUFURV9JTkNPTUlOR19JTlZPSUNFfWAsXHJcbiAgICAgICAgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX0NSRUFURV9JTkNPTUlOR19JTlZPSUNFLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uVFJBTlNGRVJfQ1JFQVRFX09VVEdPSU5HX0lOVk9JQ0V9YCxcclxuICAgICAgICB2YWx1ZTogRXZlbnRPcGVyYXRpb24uVFJBTlNGRVJfQ1JFQVRFX09VVEdPSU5HX0lOVk9JQ0UsXHJcbiAgICB9LFxyXG4gICAgeyBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uVFJBTlNGRVJfUFJPRFVDRVJfQkFMQU5DRX1gLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uVFJBTlNGRVJfUFJPRFVDRVJfQkFMQU5DRSB9LFxyXG4gICAgeyBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uRklOSVNIX0ZJTkFOQ0lBTF9GSVhBVElPTn1gLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uRklOSVNIX0ZJTkFOQ0lBTF9GSVhBVElPTiB9LFxyXG4gICAge1xyXG4gICAgICAgIGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5GSU5JU0hfUFJPRFVDRVJfTkVUX1ZBTFVFX0ZJWEFUSU9OfWAsXHJcbiAgICAgICAgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkZJTklTSF9QUk9EVUNFUl9ORVRfVkFMVUVfRklYQVRJT04sXHJcbiAgICB9LFxyXG4gICAgeyBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uQ09OQ0xVREVfRklYQVRJT059YCwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkNPTkNMVURFX0ZJWEFUSU9OIH0sXHJcbiAgICB7IGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5DQU5DRUxfRklOQU5DSUFMX0ZJWEFUSU9OfWAsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5DQU5DRUxfRklOQU5DSUFMX0ZJWEFUSU9OIH0sXHJcbiAgICB7XHJcbiAgICAgICAgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLkNBTkNFTF9QUk9EVUNFUl9ORVRfVkFMVUVfRklYQVRJT059YCxcclxuICAgICAgICB2YWx1ZTogRXZlbnRPcGVyYXRpb24uQ0FOQ0VMX1BST0RVQ0VSX05FVF9WQUxVRV9GSVhBVElPTixcclxuICAgIH0sXHJcbiAgICB7IGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5DQU5DRUxfRklYQVRJT059YCwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkNBTkNFTF9GSVhBVElPTiB9LFxyXG4gICAge1xyXG4gICAgICAgIGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5UUkFOU0ZFUl9DQU5DRUxfSU5DT01JTkdfSU5WT0lDRX1gLFxyXG4gICAgICAgIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5UUkFOU0ZFUl9DQU5DRUxfSU5DT01JTkdfSU5WT0lDRSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX0NBTkNFTF9PVVRHT0lOR19JTlZPSUNFfWAsXHJcbiAgICAgICAgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX0NBTkNFTF9PVVRHT0lOR19JTlZPSUNFLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uVFJBTlNGRVJfUkVWRVJTRV9QUk9EVUNFUl9CQUxBTkNFfWAsXHJcbiAgICAgICAgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX1JFVkVSU0VfUFJPRFVDRVJfQkFMQU5DRSxcclxuICAgIH0sXHJcbiAgICB7IGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5UUkFOU0ZFUl9DT05DTFVERV9DQU5DRUx9YCwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX0NPTkNMVURFX0NBTkNFTCB9LFxyXG4gICAge1xyXG4gICAgICAgIGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5DUkVBVEVfSU5WT0lDRV9GSVhBVElPTn1gLFxyXG4gICAgICAgIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5DUkVBVEVfSU5WT0lDRV9GSVhBVElPTixcclxuICAgICAgICBzdWJMYWJlbEZpZWxkOiBJbnB1dEZpZWxkcy5JTlZPSUNFX1RZUEUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5DQU5DRUxfSU5WT0lDRV9GSVhBVElPTn1gLFxyXG4gICAgICAgIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5DQU5DRUxfSU5WT0lDRV9GSVhBVElPTixcclxuICAgICAgICBzdWJMYWJlbEZpZWxkOiBJbnB1dEZpZWxkcy5JTlZPSUNFX1RZUEUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5DTE9TRV9JTlZPSUNFX0ZJWEFUSU9OfWAsXHJcbiAgICAgICAgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkNMT1NFX0lOVk9JQ0VfRklYQVRJT04sXHJcbiAgICAgICAgc3ViTGFiZWxGaWVsZDogSW5wdXRGaWVsZHMuSU5WT0lDRV9OVU1CRVIsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5DTE9TRV9JTlZPSUNFX1RSQU5TRkVSfWAsXHJcbiAgICAgICAgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkNMT1NFX0lOVk9JQ0VfVFJBTlNGRVIsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5SRU9QRU5fSU5WT0lDRV9UUkFOU0ZFUn1gLFxyXG4gICAgICAgIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5SRU9QRU5fSU5WT0lDRV9UUkFOU0ZFUixcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLk9SSUdJTkFUSU9OX0NSRUFURV9JTlZPSUNFfWAsXHJcbiAgICAgICAgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLk9SSUdJTkFUSU9OX0NSRUFURV9JTlZPSUNFLFxyXG4gICAgICAgIHN1YkxhYmVsRmllbGQ6IElucHV0RmllbGRzLklOVk9JQ0VfVFlQRSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX0NSRUFURV9GSU5BTkNJQUxfVElUTEV9YCxcclxuICAgICAgICB2YWx1ZTogRXZlbnRPcGVyYXRpb24uVFJBTlNGRVJfQ1JFQVRFX0ZJTkFOQ0lBTF9USVRMRSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX0NBTkNFTF9GSU5BTkNJQUxfVElUTEV9YCxcclxuICAgICAgICB2YWx1ZTogRXZlbnRPcGVyYXRpb24uVFJBTlNGRVJfQ0FOQ0VMX0ZJTkFOQ0lBTF9USVRMRSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX0NSRUFURV9TRVJWSUNFX0lOVk9JQ0V9YCxcclxuICAgICAgICB2YWx1ZTogRXZlbnRPcGVyYXRpb24uVFJBTlNGRVJfQ1JFQVRFX1NFUlZJQ0VfSU5WT0lDRSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX0NBTkNFTF9TRVJWSUNFX0lOVk9JQ0V9YCxcclxuICAgICAgICB2YWx1ZTogRXZlbnRPcGVyYXRpb24uVFJBTlNGRVJfQ0FOQ0VMX1NFUlZJQ0VfSU5WT0lDRSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLlJFT1BFTl9JTlZPSUNFX0ZJWEFUSU9OfWAsXHJcbiAgICAgICAgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLlJFT1BFTl9JTlZPSUNFX0ZJWEFUSU9OLFxyXG4gICAgICAgIHN1YkxhYmVsRmllbGQ6IElucHV0RmllbGRzLklOVk9JQ0VfTlVNQkVSLFxyXG4gICAgfSxcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBpbnB1dEZpZWxkc1BhdGggPSBbXHJcbiAgICB7IHBhdGg6IG51bGwsIGZpZWxkOiBJbnB1dEZpZWxkcy5JTlZPSUNFX1RZUEUsIG9wZXJhdGlvbjogRXZlbnRPcGVyYXRpb24uT1JJR0lOQVRJT05fQ1JFQVRFX0lOVk9JQ0UgfSxcclxuICAgIHsgcGF0aDogXCJpbnZvaWNlQ3JlYXRlUmVjb3JkSW4uMFwiLCBmaWVsZDogSW5wdXRGaWVsZHMuSU5WT0lDRV9UWVBFLCBvcGVyYXRpb246IEV2ZW50T3BlcmF0aW9uLkNSRUFURV9JTlZPSUNFX0ZJWEFUSU9OIH0sXHJcbiAgICB7IHBhdGg6IFwiaW52b2ljZUNhbmNlbFJlY29yZEluLjBcIiwgZmllbGQ6IElucHV0RmllbGRzLklOVk9JQ0VfVFlQRSwgb3BlcmF0aW9uOiBFdmVudE9wZXJhdGlvbi5DQU5DRUxfSU5WT0lDRV9GSVhBVElPTiB9LFxyXG4gICAgeyBwYXRoOiBudWxsLCBmaWVsZDogSW5wdXRGaWVsZHMuSU5WT0lDRV9OVU1CRVIsIG9wZXJhdGlvbjogRXZlbnRPcGVyYXRpb24uQ0xPU0VfSU5WT0lDRV9GSVhBVElPTiB9LFxyXG4gICAgeyBwYXRoOiBudWxsLCBmaWVsZDogSW5wdXRGaWVsZHMuSU5WT0lDRV9OVU1CRVIsIG9wZXJhdGlvbjogRXZlbnRPcGVyYXRpb24uUkVPUEVOX0lOVk9JQ0VfRklYQVRJT04gfSxcclxuXTtcclxuIl19
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtY29udHJvbC1jb25zdGFudHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWFncm9uZWdvY2lvL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZXZlbnQtY29udHJvbC1ib2FyZC9jb21tb24vZXZlbnQtY29udHJvbC1jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxNQUFNLENBQUMsSUFBTSxTQUFTLEdBQUc7SUFDckIsRUFBRSxLQUFLLEVBQUUsc0NBQXNDLEVBQUUsS0FBSyxFQUFFLGNBQWMsQ0FBQyxNQUFNLEVBQUU7SUFDL0UsRUFBRSxLQUFLLEVBQUUsMkNBQTJDLEVBQUUsS0FBSyxFQUFFLGNBQWMsQ0FBQyxXQUFXLEVBQUU7SUFDekY7UUFDSSxLQUFLLEVBQUUsZ0RBQWdEO1FBQ3ZELEtBQUssRUFBRSxjQUFjLENBQUMsY0FBYztRQUNwQyxhQUFhLEVBQUUsV0FBVyxDQUFDLGlCQUFpQjtLQUMvQztJQUNELEVBQUUsS0FBSyxFQUFFLGtEQUFrRCxFQUFFLEtBQUssRUFBRSxjQUFjLENBQUMsa0JBQWtCLEVBQUU7SUFDdkcsRUFBRSxLQUFLLEVBQUUseUNBQXlDLEVBQUUsS0FBSyxFQUFFLGNBQWMsQ0FBQyxTQUFTLEVBQUU7SUFDckYsRUFBRSxLQUFLLEVBQUUsc0RBQXNELEVBQUUsS0FBSyxFQUFFLGNBQWMsQ0FBQyxzQkFBc0IsRUFBRTtJQUMvRyxFQUFFLEtBQUssRUFBRSxzREFBc0QsRUFBRSxLQUFLLEVBQUUsY0FBYyxDQUFDLGNBQWMsRUFBRTtJQUN2RyxFQUFFLEtBQUssRUFBRSwrQ0FBK0MsRUFBRSxLQUFLLEVBQUUsY0FBYyxDQUFDLGVBQWUsRUFBRTtJQUNqRyxFQUFFLEtBQUssRUFBRSx3Q0FBd0MsRUFB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SSxLQUFLLEVBQUUsNkJBQTJCLGNBQWMsQ0FBQyx1QkFBeUI7UUFDMUUsS0FBSyxFQUFFLGNBQWMsQ0FBQyx1QkFBdUI7UUFDN0MsYUFBYSxFQUFFLFdBQVcsQ0FBQyxjQUFjO0tBQzVDO0NBQ0osQ0FBQztBQUVGLE1BQU0sQ0FBQyxJQUFNLGVBQWUsR0FBRztJQUMzQixFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFdBQVcsQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLGNBQWMsQ0FBQywwQkFBMEIsRUFBRTtJQUNyRyxFQUFFLElBQUksRUFBRSx5QkFBeUIsRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsY0FBYyxDQUFDLHVCQUF1QixFQUFFO0lBQ3ZILEVBQUUsSUFBSSxFQUFFLHlCQUF5QixFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxjQUFjLENBQUMsdUJBQXVCLEVBQUU7SUFDdkgsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsY0FBYyxFQUFFLFNBQVMsRUFBRSxjQUFjLENBQUMsc0JBQXNCLEVBQUU7SUFDbkcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsY0FBYyxFQUFFLFNBQVMsRUFBRSxjQUFjLENBQUMsdUJBQXVCLEVBQUU7Q0FDdkcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50T3BlcmF0aW9uIH0gZnJvbSBcIi4vZXZlbnQtb3BlcmF0aW9uXCI7XHJcbmltcG9ydCB7IElucHV0RmllbGRzIH0gZnJvbSBcIi4vaW5wdXQtZmllbGRzXCI7XHJcblxyXG5leHBvcnQgY29uc3QgZXZlbnRJdGVtID0gW1xyXG4gICAgeyBsYWJlbDogXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy50aWNrZXRfZXZlbnRcIiwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLlRJQ0tFVCB9LFxyXG4gICAgeyBsYWJlbDogXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5wcm92aXNpb25hbF9ldmVudFwiLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uUFJPVklTSU9OQUwgfSxcclxuICAgIHtcclxuICAgICAgICBsYWJlbDogXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5pbnZvaWNlX2NyZWF0aW5nX2V2ZW50XCIsXHJcbiAgICAgICAgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkNSRUFURV9JTlZPSUNFLFxyXG4gICAgICAgIHN1YkxhYmVsRmllbGQ6IElucHV0RmllbGRzLkFHUk9fSU5WT0lDRV9UWVBFLFxyXG4gICAgfSxcclxuICAgIHsgbGFiZWw6IFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMucmVtb3ZlX3Byb3Zpc2lvbmFsX2V2ZW50XCIsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5SRU1PVkVfUFJPVklTSU9OQUwgfSxcclxuICAgIHsgbGFiZWw6IFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZWZmZWN0aXZlX2V2ZW50XCIsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5FRkZFQ1RJVkUgfSxcclxuICAgIHsgbGFiZWw6IFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZWZmZWN0aXZlX2NvbmZpcm1hdGlvbl9ldmVudFwiLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uRUZGRUNUSVZFX0NPTkZJUk1BVElPTiB9LFxyXG4gICAgeyBsYWJlbDogXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5jaGFuZ2VfcmVxdWVzdF9ldmVudF9zdW1tYXJ5XCIsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5DSEFOR0VfUkVRVUVTVCB9LFxyXG4gICAgeyBsYWJlbDogXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5jaGFuZ2VfcmVzcG9uc2VfZXZlbnRcIiwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkNIQU5HRV9SRVNQT05TRSB9LFxyXG4gICAgeyBsYWJlbDogXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5maXhhdGlvbl9ldmVudFwiLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uUFJPQ0VTU19GSVhBVElPTiB9LFxyXG4gICAge1xyXG4gICAgICAgIGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5DQU5DRUxfSU5WT0lDRX1gLFxyXG4gICAgICAgIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5DQU5DRUxfSU5WT0lDRSxcclxuICAgICAgICBzdWJMYWJlbEZpZWxkOiBJbnB1dEZpZWxkcy5BR1JPX0lOVk9JQ0VfVFlQRSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLklOVk9JQ0VfQ0xPU0VfSU5WT0lDRX1gLFxyXG4gICAgICAgIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5JTlZPSUNFX0NMT1NFX0lOVk9JQ0UsXHJcbiAgICAgICAgc3ViTGFiZWxGaWVsZDogSW5wdXRGaWVsZHMuQUdST19JTlZPSUNFX1RZUEUsXHJcbiAgICB9LFxyXG4gICAgeyBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uUkVQUk9DRVNTX0lOVk9JQ0V9YCwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLlJFUFJPQ0VTU19JTlZPSUNFIH0sXHJcbiAgICB7IGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5FRkZFQ1RJVkVfQ09ORklSTUFUSU9OfWAsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5FRkZFQ1RJVkVfQ09ORklSTUFUSU9OIH0sXHJcbiAgICB7IGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5DSEFOR0VfUkVRVUVTVH1gLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uQ0hBTkdFX1JFUVVFU1QgfSxcclxuICAgIHsgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLkNIQU5HRV9SRVNQT05TRX1gLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uQ0hBTkdFX1JFU1BPTlNFIH0sXHJcbiAgICB7IGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5QUk9DRVNTX0ZJWEFUSU9OfWAsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5QUk9DRVNTX0ZJWEFUSU9OIH0sXHJcbiAgICB7XHJcbiAgICAgICAgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX0NSRUFURV9JTkNPTUlOR19JTlZPSUNFfWAsXHJcbiAgICAgICAgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX0NSRUFURV9JTkNPTUlOR19JTlZPSUNFLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uVFJBTlNGRVJfQ1JFQVRFX09VVEdPSU5HX0lOVk9JQ0V9YCxcclxuICAgICAgICB2YWx1ZTogRXZlbnRPcGVyYXRpb24uVFJBTlNGRVJfQ1JFQVRFX09VVEdPSU5HX0lOVk9JQ0UsXHJcbiAgICB9LFxyXG4gICAgeyBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uVFJBTlNGRVJfUFJPRFVDRVJfQkFMQU5DRX1gLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uVFJBTlNGRVJfUFJPRFVDRVJfQkFMQU5DRSB9LFxyXG4gICAgeyBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uRklOSVNIX0ZJTkFOQ0lBTF9GSVhBVElPTn1gLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uRklOSVNIX0ZJTkFOQ0lBTF9GSVhBVElPTiB9LFxyXG4gICAge1xyXG4gICAgICAgIGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5GSU5JU0hfUFJPRFVDRVJfTkVUX1ZBTFVFX0ZJWEFUSU9OfWAsXHJcbiAgICAgICAgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkZJTklTSF9QUk9EVUNFUl9ORVRfVkFMVUVfRklYQVRJT04sXHJcbiAgICB9LFxyXG4gICAgeyBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uQ09OQ0xVREVfRklYQVRJT059YCwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkNPTkNMVURFX0ZJWEFUSU9OIH0sXHJcbiAgICB7IGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5DQU5DRUxfRklOQU5DSUFMX0ZJWEFUSU9OfWAsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5DQU5DRUxfRklOQU5DSUFMX0ZJWEFUSU9OIH0sXHJcbiAgICB7XHJcbiAgICAgICAgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLkNBTkNFTF9QUk9EVUNFUl9ORVRfVkFMVUVfRklYQVRJT059YCxcclxuICAgICAgICB2YWx1ZTogRXZlbnRPcGVyYXRpb24uQ0FOQ0VMX1BST0RVQ0VSX05FVF9WQUxVRV9GSVhBVElPTixcclxuICAgIH0sXHJcbiAgICB7IGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5DQU5DRUxfRklYQVRJT059YCwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkNBTkNFTF9GSVhBVElPTiB9LFxyXG4gICAge1xyXG4gICAgICAgIGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5UUkFOU0ZFUl9DQU5DRUxfSU5DT01JTkdfSU5WT0lDRX1gLFxyXG4gICAgICAgIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5UUkFOU0ZFUl9DQU5DRUxfSU5DT01JTkdfSU5WT0lDRSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX0NBTkNFTF9PVVRHT0lOR19JTlZPSUNFfWAsXHJcbiAgICAgICAgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX0NBTkNFTF9PVVRHT0lOR19JTlZPSUNFLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uVFJBTlNGRVJfUkVWRVJTRV9QUk9EVUNFUl9CQUxBTkNFfWAsXHJcbiAgICAgICAgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX1JFVkVSU0VfUFJPRFVDRVJfQkFMQU5DRSxcclxuICAgIH0sXHJcbiAgICB7IGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5UUkFOU0ZFUl9DT05DTFVERV9DQU5DRUx9YCwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX0NPTkNMVURFX0NBTkNFTCB9LFxyXG4gICAge1xyXG4gICAgICAgIGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5DUkVBVEVfSU5WT0lDRV9GSVhBVElPTn1gLFxyXG4gICAgICAgIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5DUkVBVEVfSU5WT0lDRV9GSVhBVElPTixcclxuICAgICAgICBzdWJMYWJlbEZpZWxkOiBJbnB1dEZpZWxkcy5JTlZPSUNFX1RZUEUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5DQU5DRUxfSU5WT0lDRV9GSVhBVElPTn1gLFxyXG4gICAgICAgIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5DQU5DRUxfSU5WT0lDRV9GSVhBVElPTixcclxuICAgICAgICBzdWJMYWJlbEZpZWxkOiBJbnB1dEZpZWxkcy5JTlZPSUNFX1RZUEUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5DTE9TRV9JTlZPSUNFX0ZJWEFUSU9OfWAsXHJcbiAgICAgICAgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkNMT1NFX0lOVk9JQ0VfRklYQVRJT04sXHJcbiAgICAgICAgc3ViTGFiZWxGaWVsZDogSW5wdXRGaWVsZHMuSU5WT0lDRV9OVU1CRVIsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5DTE9TRV9JTlZPSUNFX1RSQU5TRkVSfWAsXHJcbiAgICAgICAgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkNMT1NFX0lOVk9JQ0VfVFJBTlNGRVIsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5SRU9QRU5fSU5WT0lDRV9UUkFOU0ZFUn1gLFxyXG4gICAgICAgIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5SRU9QRU5fSU5WT0lDRV9UUkFOU0ZFUixcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLk9SSUdJTkFUSU9OX0NSRUFURV9JTlZPSUNFfWAsXHJcbiAgICAgICAgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLk9SSUdJTkFUSU9OX0NSRUFURV9JTlZPSUNFLFxyXG4gICAgICAgIHN1YkxhYmVsRmllbGQ6IElucHV0RmllbGRzLklOVk9JQ0VfVFlQRSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX0NSRUFURV9GSU5BTkNJQUxfVElUTEV9YCxcclxuICAgICAgICB2YWx1ZTogRXZlbnRPcGVyYXRpb24uVFJBTlNGRVJfQ1JFQVRFX0ZJTkFOQ0lBTF9USVRMRSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX0NBTkNFTF9GSU5BTkNJQUxfVElUTEV9YCxcclxuICAgICAgICB2YWx1ZTogRXZlbnRPcGVyYXRpb24uVFJBTlNGRVJfQ0FOQ0VMX0ZJTkFOQ0lBTF9USVRMRSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX0NSRUFURV9TRVJWSUNFX0lOVk9JQ0V9YCxcclxuICAgICAgICB2YWx1ZTogRXZlbnRPcGVyYXRpb24uVFJBTlNGRVJfQ1JFQVRFX1NFUlZJQ0VfSU5WT0lDRSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX0NBTkNFTF9TRVJWSUNFX0lOVk9JQ0V9YCxcclxuICAgICAgICB2YWx1ZTogRXZlbnRPcGVyYXRpb24uVFJBTlNGRVJfQ0FOQ0VMX1NFUlZJQ0VfSU5WT0lDRSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLlJFT1BFTl9JTlZPSUNFX0ZJWEFUSU9OfWAsXHJcbiAgICAgICAgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLlJFT1BFTl9JTlZPSUNFX0ZJWEFUSU9OLFxyXG4gICAgICAgIHN1YkxhYmVsRmllbGQ6IElucHV0RmllbGRzLklOVk9JQ0VfTlVNQkVSLFxyXG4gICAgfSxcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBpbnB1dEZpZWxkc1BhdGggPSBbXHJcbiAgICB7IHBhdGg6IG51bGwsIGZpZWxkOiBJbnB1dEZpZWxkcy5JTlZPSUNFX1RZUEUsIG9wZXJhdGlvbjogRXZlbnRPcGVyYXRpb24uT1JJR0lOQVRJT05fQ1JFQVRFX0lOVk9JQ0UgfSxcclxuICAgIHsgcGF0aDogXCJpbnZvaWNlQ3JlYXRlUmVjb3JkSW4uMFwiLCBmaWVsZDogSW5wdXRGaWVsZHMuSU5WT0lDRV9UWVBFLCBvcGVyYXRpb246IEV2ZW50T3BlcmF0aW9uLkNSRUFURV9JTlZPSUNFX0ZJWEFUSU9OIH0sXHJcbiAgICB7IHBhdGg6IFwiaW52b2ljZUNhbmNlbFJlY29yZEluLjBcIiwgZmllbGQ6IElucHV0RmllbGRzLklOVk9JQ0VfVFlQRSwgb3BlcmF0aW9uOiBFdmVudE9wZXJhdGlvbi5DQU5DRUxfSU5WT0lDRV9GSVhBVElPTiB9LFxyXG4gICAgeyBwYXRoOiBudWxsLCBmaWVsZDogSW5wdXRGaWVsZHMuSU5WT0lDRV9OVU1CRVIsIG9wZXJhdGlvbjogRXZlbnRPcGVyYXRpb24uQ0xPU0VfSU5WT0lDRV9GSVhBVElPTiB9LFxyXG4gICAgeyBwYXRoOiBudWxsLCBmaWVsZDogSW5wdXRGaWVsZHMuSU5WT0lDRV9OVU1CRVIsIG9wZXJhdGlvbjogRXZlbnRPcGVyYXRpb24uUkVPUEVOX0lOVk9JQ0VfRklYQVRJT04gfSxcclxuXTtcclxuIl19
|
|
@@ -4,6 +4,7 @@ export var EventOperation;
|
|
|
4
4
|
EventOperation["EFFECTIVE"] = "EFFECTIVE";
|
|
5
5
|
EventOperation["TICKET"] = "TICKET";
|
|
6
6
|
EventOperation["CREATE_INVOICE"] = "CREATE_INVOICE";
|
|
7
|
+
EventOperation["INVOICE_CLOSE_INVOICE"] = "INVOICE_CLOSE_INVOICE";
|
|
7
8
|
EventOperation["EFFECTIVE_CONFIRMATION"] = "EFFECTIVE_CONFIRMATION";
|
|
8
9
|
EventOperation["REMOVE_PROVISIONAL"] = "REMOVE_PROVISIONAL";
|
|
9
10
|
EventOperation["CHANGE_REQUEST"] = "CHANGE_REQUEST";
|
|
@@ -39,4 +40,4 @@ export var EventOperation;
|
|
|
39
40
|
EventOperation["TRANSFER_CANCEL_SERVICE_INVOICE"] = "TRANSFER_CANCEL_SERVICE_INVOICE";
|
|
40
41
|
EventOperation["REOPEN_INVOICE_FIXATION"] = "REOPEN_INVOICE_FIXATION";
|
|
41
42
|
})(EventOperation || (EventOperation = {}));
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtb3BlcmF0aW9uLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1hZ3JvbmVnb2Npby9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2V2ZW50LWNvbnRyb2wtYm9hcmQvY29tbW9uL2V2ZW50LW9wZXJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxjQXdDWDtBQXhDRCxXQUFZLGNBQWM7SUFDdEIsNkNBQTJCLENBQUE7SUFDM0IseUNBQXVCLENBQUE7SUFDdkIsbUNBQWlCLENBQUE7SUFDakIsbURBQWlDLENBQUE7SUFDakMsaUVBQStDLENBQUE7SUFDL0MsbUVBQWlELENBQUE7SUFDakQsMkRBQXlDLENBQUE7SUFDekMsbURBQWlDLENBQUE7SUFDakMscURBQW1DLENBQUE7SUFDbkMsdURBQXFDLENBQUE7SUFDckMsbURBQWlDLENBQUE7SUFDakMseURBQXVDLENBQUE7SUFDdkMsdUZBQXFFLENBQUE7SUFDckUsdUZBQXFFLENBQUE7SUFDckUseUVBQXVELENBQUE7SUFDdkQseUVBQXVELENBQUE7SUFDdkQsMkZBQXlFLENBQUE7SUFDekUseURBQXVDLENBQUE7SUFDdkMseUVBQXVELENBQUE7SUFDdkQsMkZBQXlFLENBQUE7SUFDekUscURBQW1DLENBQUE7SUFDbkMsdUZBQXFFLENBQUE7SUFDckUsdUZBQXFFLENBQUE7SUFDckUseUZBQXVFLENBQUE7SUFDdkUsdUVBQXFELENBQUE7SUFDckQscUVBQW1ELENBQUE7SUFDbkQscUVBQW1ELENBQUE7SUFDbkQsbUVBQWlELENBQUE7SUFDakQsK0ZBQTZFLENBQUE7SUFDN0UseUdBQXVGLENBQUE7SUFDdkYsMkVBQXlELENBQUE7SUFDekQsbUdBQWlGLENBQUE7SUFDakYsbUVBQWlELENBQUE7SUFDakQscUVBQW1ELENBQUE7SUFDbkQscUZBQW1FLENBQUE7SUFDbkUscUZBQW1FLENBQUE7SUFDbkUscUZBQW1FLENBQUE7SUFDbkUscUZBQW1FLENBQUE7SUFDbkUscUVBQW1ELENBQUE7QUFDdkQsQ0FBQyxFQXhDVyxjQUFjLEtBQWQsY0FBYyxRQXdDekIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBFdmVudE9wZXJhdGlvbiB7XHJcbiAgICBQUk9WSVNJT05BTCA9IFwiUFJPVklTSU9OQUxcIixcclxuICAgIEVGRkVDVElWRSA9IFwiRUZGRUNUSVZFXCIsXHJcbiAgICBUSUNLRVQgPSBcIlRJQ0tFVFwiLFxyXG4gICAgQ1JFQVRFX0lOVk9JQ0UgPSBcIkNSRUFURV9JTlZPSUNFXCIsXHJcbiAgICBJTlZPSUNFX0NMT1NFX0lOVk9JQ0UgPSBcIklOVk9JQ0VfQ0xPU0VfSU5WT0lDRVwiLFxyXG4gICAgRUZGRUNUSVZFX0NPTkZJUk1BVElPTiA9IFwiRUZGRUNUSVZFX0NPTkZJUk1BVElPTlwiLFxyXG4gICAgUkVNT1ZFX1BST1ZJU0lPTkFMID0gXCJSRU1PVkVfUFJPVklTSU9OQUxcIixcclxuICAgIENIQU5HRV9SRVFVRVNUID0gXCJDSEFOR0VfUkVRVUVTVFwiLFxyXG4gICAgQ0hBTkdFX1JFU1BPTlNFID0gXCJDSEFOR0VfUkVTUE9OU0VcIixcclxuICAgIFBST0NFU1NfRklYQVRJT04gPSBcIlBST0NFU1NfRklYQVRJT05cIixcclxuICAgIENBTkNFTF9JTlZPSUNFID0gXCJDQU5DRUxfSU5WT0lDRVwiLFxyXG4gICAgUkVQUk9DRVNTX0lOVk9JQ0UgPSBcIlJFUFJPQ0VTU19JTlZPSUNFXCIsXHJcbiAgICBUUkFOU0ZFUl9DUkVBVEVfSU5DT01JTkdfSU5WT0lDRSA9IFwiVFJBTlNGRVJfQ1JFQVRFX0lOQ09NSU5HX0lOVk9JQ0VcIixcclxuICAgIFRSQU5TRkVSX0NSRUFURV9PVVRHT0lOR19JTlZPSUNFID0gXCJUUkFOU0ZFUl9DUkVBVEVfT1VUR09JTkdfSU5WT0lDRVwiLFxyXG4gICAgVFJBTlNGRVJfUFJPRFVDRVJfQkFMQU5DRSA9IFwiVFJBTlNGRVJfUFJPRFVDRVJfQkFMQU5DRVwiLFxyXG4gICAgRklOSVNIX0ZJTkFOQ0lBTF9GSVhBVElPTiA9IFwiRklOSVNIX0ZJTkFOQ0lBTF9GSVhBVElPTlwiLFxyXG4gICAgRklOSVNIX1BST0RVQ0VSX05FVF9WQUxVRV9GSVhBVElPTiA9IFwiRklOSVNIX1BST0RVQ0VSX05FVF9WQUxVRV9GSVhBVElPTlwiLFxyXG4gICAgQ09OQ0xVREVfRklYQVRJT04gPSBcIkNPTkNMVURFX0ZJWEFUSU9OXCIsXHJcbiAgICBDQU5DRUxfRklOQU5DSUFMX0ZJWEFUSU9OID0gXCJDQU5DRUxfRklOQU5DSUFMX0ZJWEFUSU9OXCIsXHJcbiAgICBDQU5DRUxfUFJPRFVDRVJfTkVUX1ZBTFVFX0ZJWEFUSU9OID0gXCJDQU5DRUxfUFJPRFVDRVJfTkVUX1ZBTFVFX0ZJWEFUSU9OXCIsXHJcbiAgICBDQU5DRUxfRklYQVRJT04gPSBcIkNBTkNFTF9GSVhBVElPTlwiLFxyXG4gICAgVFJBTlNGRVJfQ0FOQ0VMX0lOQ09NSU5HX0lOVk9JQ0UgPSBcIlRSQU5TRkVSX0NBTkNFTF9JTkNPTUlOR19JTlZPSUNFXCIsXHJcbiAgICBUUkFOU0ZFUl9DQU5DRUxfT1VUR09JTkdfSU5WT0lDRSA9IFwiVFJBTlNGRVJfQ0FOQ0VMX09VVEdPSU5HX0lOVk9JQ0VcIixcclxuICAgIFRSQU5TRkVSX1JFVkVSU0VfUFJPRFVDRVJfQkFMQU5DRSA9IFwiVFJBTlNGRVJfUkVWRVJTRV9QUk9EVUNFUl9CQUxBTkNFXCIsXHJcbiAgICBUUkFOU0ZFUl9DT05DTFVERV9DQU5DRUwgPSBcIlRSQU5TRkVSX0NPTkNMVURFX0NBTkNFTFwiLFxyXG4gICAgQ1JFQVRFX0lOVk9JQ0VfRklYQVRJT04gPSBcIkNSRUFURV9JTlZPSUNFX0ZJWEFUSU9OXCIsXHJcbiAgICBDQU5DRUxfSU5WT0lDRV9GSVhBVElPTiA9IFwiQ0FOQ0VMX0lOVk9JQ0VfRklYQVRJT05cIixcclxuICAgIENMT1NFX0lOVk9JQ0VfRklYQVRJT04gPSBcIkNMT1NFX0lOVk9JQ0VfRklYQVRJT05cIixcclxuICAgIE9SSUdJTkFUSU9OX0NSRUFURV9FRkZFQ1RJVkVfQkFMQU5DRSA9IFwiT1JJR0lOQVRJT05fQ1JFQVRFX0VGRkVDVElWRV9CQUxBTkNFXCIsXHJcbiAgICBPUklHSU5BVElPTl9DUkVBVEVfRUZGRUNUSVZFX0NPTkZJUk1BVElPTiA9IFwiT1JJR0lOQVRJT05fQ1JFQVRFX0VGRkVDVElWRV9DT05GSVJNQVRJT05cIixcclxuICAgIE9SSUdJTkFUSU9OX0NSRUFURV9JTlZPSUNFID0gXCJPUklHSU5BVElPTl9DUkVBVEVfSU5WT0lDRVwiLFxyXG4gICAgT1JJR0lOQVRJT05fQ1JFQVRFX1BST1ZJU0lPTkFMX0JBTEFOQ0UgPSBcIk9SSUdJTkFUSU9OX0NSRUFURV9QUk9WSVNJT05BTF9CQUxBTkNFXCIsXHJcbiAgICBDTE9TRV9JTlZPSUNFX1RSQU5TRkVSID0gXCJDTE9TRV9JTlZPSUNFX1RSQU5TRkVSXCIsXHJcbiAgICBSRU9QRU5fSU5WT0lDRV9UUkFOU0ZFUiA9IFwiUkVPUEVOX0lOVk9JQ0VfVFJBTlNGRVJcIixcclxuICAgIFRSQU5TRkVSX0NSRUFURV9GSU5BTkNJQUxfVElUTEUgPSBcIlRSQU5TRkVSX0NSRUFURV9GSU5BTkNJQUxfVElUTEVcIixcclxuICAgIFRSQU5TRkVSX0NBTkNFTF9GSU5BTkNJQUxfVElUTEUgPSBcIlRSQU5TRkVSX0NBTkNFTF9GSU5BTkNJQUxfVElUTEVcIixcclxuICAgIFRSQU5TRkVSX0NSRUFURV9TRVJWSUNFX0lOVk9JQ0UgPSBcIlRSQU5TRkVSX0NSRUFURV9TRVJWSUNFX0lOVk9JQ0VcIixcclxuICAgIFRSQU5TRkVSX0NBTkNFTF9TRVJWSUNFX0lOVk9JQ0UgPSBcIlRSQU5TRkVSX0NBTkNFTF9TRVJWSUNFX0lOVk9JQ0VcIixcclxuICAgIFJFT1BFTl9JTlZPSUNFX0ZJWEFUSU9OID0gXCJSRU9QRU5fSU5WT0lDRV9GSVhBVElPTlwiLFxyXG59XHJcbiJdfQ==
|
|
@@ -6,8 +6,9 @@ export var EventOrigin;
|
|
|
6
6
|
EventOrigin["TRANSFER"] = "TRANSFER";
|
|
7
7
|
EventOrigin["CHANGE_REQUEST"] = "CHANGE_REQUEST";
|
|
8
8
|
EventOrigin["CREATE_INVOICE"] = "CREATE_INVOICE";
|
|
9
|
+
EventOrigin["CLOSE_INVOICE"] = "CLOSE_INVOICE";
|
|
9
10
|
EventOrigin["FIXATION"] = "FIXATION";
|
|
10
11
|
EventOrigin["CANCEL_FIXATION"] = "CANCEL_FIXATION";
|
|
11
12
|
EventOrigin["TRANSFER_CANCELLATION"] = "TRANSFER_CANCELLATION";
|
|
12
13
|
})(EventOrigin || (EventOrigin = {}));
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtb3JpZ2luLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1hZ3JvbmVnb2Npby9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2V2ZW50LWNvbnRyb2wtYm9hcmQvY29tbW9uL2V2ZW50LW9yaWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxXQVdYO0FBWEQsV0FBWSxXQUFXO0lBQ25CLDhEQUErQyxDQUFBO0lBQy9DLGdDQUFpQixDQUFBO0lBQ2pCLGtDQUFtQixDQUFBO0lBQ25CLG9DQUFxQixDQUFBO0lBQ3JCLGdEQUFpQyxDQUFBO0lBQ2pDLGdEQUFpQyxDQUFBO0lBQ2pDLDhDQUErQixDQUFBO0lBQy9CLG9DQUFxQixDQUFBO0lBQ3JCLGtEQUFtQyxDQUFBO0lBQ25DLDhEQUErQyxDQUFBO0FBQ25ELENBQUMsRUFYVyxXQUFXLEtBQVgsV0FBVyxRQVd0QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEV2ZW50T3JpZ2luIHtcclxuICAgIEJBTEFOQ0VfRU5UUllfQ09OVFJPTCA9ICdCQUxBTkNFX0VOVFJZX0NPTlRST0wnLFxyXG4gICAgVElDS0VUID0gJ1RJQ0tFVCcsXHJcbiAgICBJTlZPSUNFID0gJ0lOVk9JQ0UnLFxyXG4gICAgVFJBTlNGRVIgPSAnVFJBTlNGRVInLFxyXG4gICAgQ0hBTkdFX1JFUVVFU1QgPSAnQ0hBTkdFX1JFUVVFU1QnLFxyXG4gICAgQ1JFQVRFX0lOVk9JQ0UgPSAnQ1JFQVRFX0lOVk9JQ0UnLFxyXG4gICAgQ0xPU0VfSU5WT0lDRSA9ICdDTE9TRV9JTlZPSUNFJyxcclxuICAgIEZJWEFUSU9OID0gJ0ZJWEFUSU9OJyxcclxuICAgIENBTkNFTF9GSVhBVElPTiA9ICdDQU5DRUxfRklYQVRJT04nLFxyXG4gICAgVFJBTlNGRVJfQ0FOQ0VMTEFUSU9OID0gJ1RSQU5TRkVSX0NBTkNFTExBVElPTicsXHJcbn1cclxuIl19
|
|
@@ -17,16 +17,20 @@ import { EventStatus } from "./common/event-status";
|
|
|
17
17
|
import { InputFields } from "./common/input-fields";
|
|
18
18
|
import { invoiceTypeTranslate } from "./common/input-fields-translate";
|
|
19
19
|
import { LookupErrorMessages } from "./common/lookup-error-message.constants";
|
|
20
|
-
import {
|
|
20
|
+
import { EventControlItemService, ReprocessFailedEvent } from "./service/event-control-item/event-control-item.service";
|
|
21
21
|
import { PaginatorStorageService } from "./service/paginator-storage.service";
|
|
22
|
+
import { EventControlService } from "./service/event-control/event-control.service";
|
|
23
|
+
import { ProducerInvoiceService } from "../../services/producer-invoice";
|
|
22
24
|
var moment = require("moment");
|
|
23
25
|
var EventControlBoardComponent = /** @class */ (function () {
|
|
24
|
-
function EventControlBoardComponent(translate, formBuilder, websocketService,
|
|
26
|
+
function EventControlBoardComponent(translate, formBuilder, websocketService, eventControlService, paginatorStorageService, eventControlItemService, producerInvoiceService, messageService, dialogService) {
|
|
25
27
|
this.translate = translate;
|
|
26
28
|
this.formBuilder = formBuilder;
|
|
27
29
|
this.websocketService = websocketService;
|
|
28
|
-
this.
|
|
30
|
+
this.eventControlService = eventControlService;
|
|
29
31
|
this.paginatorStorageService = paginatorStorageService;
|
|
32
|
+
this.eventControlItemService = eventControlItemService;
|
|
33
|
+
this.producerInvoiceService = producerInvoiceService;
|
|
30
34
|
this.messageService = messageService;
|
|
31
35
|
this.dialogService = dialogService;
|
|
32
36
|
this.processedEvent = new EventEmitter();
|
|
@@ -209,7 +213,7 @@ var EventControlBoardComponent = /** @class */ (function () {
|
|
|
209
213
|
[{ field: "lastModifiedDate", order: -1 }];
|
|
210
214
|
}
|
|
211
215
|
this.currentListParams.filterQuery = this.getFilter();
|
|
212
|
-
this.
|
|
216
|
+
this.eventControlService
|
|
213
217
|
.list(this.currentListParams)
|
|
214
218
|
.pipe(takeUntil(this.ngUnsubscribe), catchError(function (err) {
|
|
215
219
|
_this.gridLoading = false;
|
|
@@ -468,7 +472,7 @@ var EventControlBoardComponent = /** @class */ (function () {
|
|
|
468
472
|
else {
|
|
469
473
|
filterQuery = "id eq '" + producerInvoiceId + "'";
|
|
470
474
|
}
|
|
471
|
-
this.
|
|
475
|
+
this.producerInvoiceService
|
|
472
476
|
.list({
|
|
473
477
|
displayFields: ["*", "producerBalanceEntryControl.*", "producerBalanceEntryControl.producer.*"],
|
|
474
478
|
filterQuery: filterQuery,
|
|
@@ -510,7 +514,7 @@ var EventControlBoardComponent = /** @class */ (function () {
|
|
|
510
514
|
var reprocessEventObj = {
|
|
511
515
|
eventControlItemId: this.selectedStep.item.id,
|
|
512
516
|
};
|
|
513
|
-
this.
|
|
517
|
+
this.eventControlItemService
|
|
514
518
|
.reprocessFailedEvent(reprocessEventObj)
|
|
515
519
|
.pipe(takeUntil(this.ngUnsubscribe))
|
|
516
520
|
.subscribe(function () {
|
|
@@ -566,8 +570,10 @@ var EventControlBoardComponent = /** @class */ (function () {
|
|
|
566
570
|
{ type: LibTranslationService },
|
|
567
571
|
{ type: FormBuilder },
|
|
568
572
|
{ type: WebsocketService },
|
|
569
|
-
{ type:
|
|
573
|
+
{ type: EventControlService },
|
|
570
574
|
{ type: PaginatorStorageService },
|
|
575
|
+
{ type: EventControlItemService },
|
|
576
|
+
{ type: ProducerInvoiceService },
|
|
571
577
|
{ type: MessageService },
|
|
572
578
|
{ type: DialogService }
|
|
573
579
|
]; };
|
|
@@ -615,4 +621,4 @@ var EventControlBoardComponent = /** @class */ (function () {
|
|
|
615
621
|
return EventControlBoardComponent;
|
|
616
622
|
}());
|
|
617
623
|
export { EventControlBoardComponent };
|
|
618
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtY29udHJvbC1ib2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWFncm9uZWdvY2lvL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZXZlbnQtY29udHJvbC1ib2FyZC9ldmVudC1jb250cm9sLWJvYXJkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxRQUFRLE1BQU0sNEJBQTRCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBZ0MsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUMvSCxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFRLFNBQVMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hILE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFNUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDbEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztB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QUM5QixDQUFDO0lBRU0saURBQVksR0FBbkI7UUFDSSxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUM3QixDQUFDOztnQkF2akIrQixxQkFBcUI7Z0JBQ25CLFdBQVc7Z0JBQ04sZ0JBQWdCO2dCQUNSLHdCQUF3QjtnQkFDekIsdUJBQXVCO2dCQUNoQyxjQUFjO2dCQUNmLGFBQWE7O0lBMUR4QztRQUFSLEtBQUssRUFBRTsrREFBbUI7SUFDbEI7UUFBUixLQUFLLEVBQUU7OERBQWtCO0lBQ2pCO1FBQVIsS0FBSyxFQUFFO21FQUF3QjtJQUN2QjtRQUFSLEtBQUssRUFBRTttRUFBMkI7SUFDMUI7UUFBUixLQUFLLEVBQUU7bUVBQTJCO0lBQzFCO1FBQVIsS0FBSyxFQUFFO2tFQUFxQjtJQUNwQjtRQUFSLEtBQUssRUFBRTttRUFBb0I7SUFDbkI7UUFBUixLQUFLLEVBQUU7a0VBQXNCO0lBQ3JCO1FBQVIsS0FBSyxFQUFFO3dFQUE0QjtJQUMzQjtRQUFSLEtBQUssRUFBRTsrRUFBbUQ7SUFDakQ7UUFBVCxNQUFNLEVBQUU7c0VBQTZEO0lBWDdELDBCQUEwQjtRQU50QyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUscUJBQXFCO1lBQy9CLGtraUJBQW1EO1lBRW5ELFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUM7O1NBQ3pELENBQUM7T0FDVywwQkFBMEIsQ0E2bUJ0QztJQUFELGlDQUFDO0NBQUEsQUE3bUJELElBNm1CQztTQTdtQlksMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVnaXN0ZXJMb2NhbGVEYXRhIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgbG9jYWxlUHQgZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL3B0XCI7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgTE9DQUxFX0lELCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IEJhZGdlQ29sb3JzLCBCdXR0b25Qcmlvcml0eSwgRmllbGRUeXBlLCBGb3JtRmllbGQsIFN0ZXAsIFN0ZXBTdGF0ZSB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzXCI7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UsIE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcInByaW1lbmdcIjtcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBBR1JPX05VTUJFUlMgfSBmcm9tIFwiLi4vLi4vZW51bXMvYWdyby1udW1iZXJzLmVudW1cIjtcclxuaW1wb3J0IHsgTGliVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2xpYi10cmFuc2xhdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFdlYnNvY2tldFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvd2Vic29ja2V0XCI7XHJcbmltcG9ydCB7IENhbmNlbEV2ZW50RGlhbG9nQ29uZmlnIH0gZnJvbSBcIi4uL2NhbmNlbC1ldmVudC1kaWFsb2cvY2FuY2VsLWV2ZW50LWRpYWxvZy1jb25maWdcIjtcclxuaW1wb3J0IHsgQ2FuY2VsRXZlbnREaWFsb2dDb21wb25lbnQgfSBmcm9tIFwiLi4vY2FuY2VsLWV2ZW50LWRpYWxvZy9jYW5jZWwtZXZlbnQtZGlhbG9nLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBldmVudEl0ZW0sIGlucHV0RmllbGRzUGF0aCB9IGZyb20gXCIuL2NvbW1vbi9ldmVudC1jb250cm9sLWNvbnN0YW50c1wiO1xyXG5pbXBvcnQgeyBFdmVudE9yaWdpbiB9IGZyb20gXCIuL2NvbW1vbi9ldmVudC1vcmlnaW5cIjtcclxuaW1wb3J0IHsgRXZlbnRTdGF0dXMgfSBmcm9tIFwiLi9jb21tb24vZXZlbnQtc3RhdHVzXCI7XHJcbmltcG9ydCB7IElucHV0RmllbGRzIH0gZnJvbSBcIi4vY29tbW9uL2lucHV0LWZpZWxkc1wiO1xyXG5pbXBvcnQgeyBpbnZvaWNlVHlwZVRyYW5zbGF0ZSB9IGZyb20gXCIuL2NvbW1vbi9pbnB1dC1maWVsZHMtdHJhbnNsYXRlXCI7XHJcbmltcG9ydCB7IExvb2t1cEVycm9yTWVzc2FnZXMgfSBmcm9tIFwiLi9jb21tb24vbG9va3VwLWVycm9yLW1lc3NhZ2UuY29uc3RhbnRzXCI7XHJcbmltcG9ydCB7IEUwNzBFbXAgfSBmcm9tIFwiLi9zZXJ2aWNlL2UwNzBlbXAvZTA3MGVtcFwiO1xyXG5pbXBvcnQgeyBFMDcwRmlsIH0gZnJvbSBcIi4vc2VydmljZS9lMDcwZmlsL2UwNzBmaWxcIjtcclxuaW1wb3J0IHsgRXZlbnRDb250cm9sQm9hcmRTZXJ2aWNlIH0gZnJvbSBcIi4vc2VydmljZS9ldmVudC1jb250cm9sLWJvYXJkLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRXZlbnRDb250cm9sSXRlbSB9IGZyb20gXCIuL3NlcnZpY2UvZXZlbnQtY29udHJvbC1pdGVtL2V2ZW50LWNvbnRyb2wtaXRlbVwiO1xyXG5pbXBvcnQgeyBSZXByb2Nlc3NGYWlsZWRFdmVudCB9IGZyb20gXCIuL3NlcnZpY2UvZXZlbnQtY29udHJvbC1pdGVtL2V2ZW50LWNvbnRyb2wtaXRlbS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEV2ZW50Q29udHJvbCB9IGZyb20gXCIuL3NlcnZpY2UvZXZlbnQtY29udHJvbC9ldmVudC1jb250cm9sXCI7XHJcbmltcG9ydCB7IFBhZ2luYXRvclN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSBcIi4vc2VydmljZS9wYWdpbmF0b3Itc3RvcmFnZS5zZXJ2aWNlXCI7XHJcbmNvbnN0IG1vbWVudCA9IHJlcXVpcmUoXCJtb21lbnRcIik7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImV2ZW50LWNvbnRyb2wtYm9hcmRcIixcclxuICAgIHRlbXBsYXRlVXJsOiBcIi4vZXZlbnQtY29udHJvbC1ib2FyZC5jb21wb25lbnQuaHRtbFwiLFxyXG4gICAgc3R5bGVVcmxzOiBbXCIuL2V2ZW50LWNvbnRyb2wtYm9hcmQuY29tcG9uZW50LnNjc3NcIl0sXHJcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IExPQ0FMRV9JRCwgdXNlVmFsdWU6IFwicHQtQlJcIiB9XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEV2ZW50Q29udHJvbEJvYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XHJcbiAgICBASW5wdXQoKSBjb21wYW55ITogRTA3MEVtcDtcclxuICAgIEBJbnB1dCgpIGJyYW5jaCE6IEUwNzBGaWw7XHJcbiAgICBASW5wdXQoKSBjb250cm9sQ29kZSE6IHN0cmluZ1tdO1xyXG4gICAgQElucHV0KCkgZXZlbnRPcmlnaW4hOiBFdmVudE9yaWdpbjtcclxuICAgIEBJbnB1dCgpIGV2ZW50U3RhdHVzITogRXZlbnRTdGF0dXM7XHJcbiAgICBASW5wdXQoKSBleHRlcm5hbElkITogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgY3JlYXRlZERhdGUhOiBEYXRlO1xyXG4gICAgQElucHV0KCkgc3RhbmRhbG9uZSE6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBzaG93Q2FuY2VsQnV0dG9uITogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGNhbmNlbEV2ZW50RGlhbG9nQ29uZmlnITogQ2FuY2VsRXZlbnREaWFsb2dDb25maWc7XHJcbiAgICBAT3V0cHV0KCkgcHJvY2Vzc2VkRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gICAgcHVibGljIHByb2R1Y2VySW52b2ljZSE6IGFueTtcclxuXHJcbiAgICBwdWJsaWMgc3RlcHM6IFN0ZXBbXSA9IFtdO1xyXG4gICAgcHVibGljIHNlbGVjdGVkU3RlcDogYW55O1xyXG4gICAgcHVibGljIGV2ZW50SWQhOiBcIlwiO1xyXG4gICAgcHVibGljIHNob3dTaWRlYmFyID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgc2hvd1JlcHJvY2Vzc0J1dHRvbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIHNpZGViYXJUaXRsZSE6IHN0cmluZztcclxuICAgIHB1YmxpYyBzaWRlYmFyTG9hZGluZyE6IGJvb2xlYW47XHJcblxyXG4gICAgcHVibGljIGZpbHRlckZvcm1Hcm91cCE6IEZvcm1Hcm91cDtcclxuICAgIHB1YmxpYyBmaWx0ZXJGaWVsZHMhOiBGb3JtRmllbGRbXTtcclxuXHJcbiAgICBwdWJsaWMgZ3JpZERhdGEhOiBhbnlbXTtcclxuICAgIHB1YmxpYyBncmlkRGF0YVJlc29sdmVkITogYW55W107XHJcbiAgICBwdWJsaWMgZ3JpZENvbHVtbnMhOiBhbnlbXTtcclxuICAgIHB1YmxpYyBncmlkVG90YWxSZWNvcmRzID0gQUdST19OVU1CRVJTLlpFUk87XHJcbiAgICBwdWJsaWMgZ3JpZExvYWRpbmcgPSBmYWxzZTtcclxuICAgIHB1YmxpYyBkaXNwbGF5TW9kYWwgPSBmYWxzZTtcclxuXHJcbiAgICBwdWJsaWMgQnV0dG9uUHJpb3JpdHkgPSBCdXR0b25Qcmlvcml0eTtcclxuICAgIHB1YmxpYyBCYWRnZUNvbG9ycyA9IEJhZGdlQ29sb3JzO1xyXG5cclxuICAgIHB1YmxpYyBwZXJtaXNzaW9uczogYW55ID0ge307XHJcbiAgICBwdWJsaWMgbG9jYWxlQ29uZmlnOiBhbnkgPSB7fTtcclxuXHJcbiAgICBwdWJsaWMgY3VycmVudExpc3RQYXJhbXM6IGFueSA9IHtcclxuICAgICAgICBwYWdlOiBBR1JPX05VTUJFUlMuWkVSTyxcclxuICAgICAgICBzaXplOiBBR1JPX05VTUJFUlMuVEVOLFxyXG4gICAgICAgIGRpc3BsYXlGaWVsZHM6IHRoaXMuZ2V0RGlzcGxheUZpZWxkcygpLFxyXG4gICAgICAgIHNvcnQ6IFtdLFxyXG4gICAgICAgIGZpbHRlckRhdGE6IHt9XHJcbiAgICB9O1xyXG5cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGV2ZW50SXRlbSA9IGV2ZW50SXRlbTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5wdXRGaWVsZHNQYXRoID0gaW5wdXRGaWVsZHNQYXRoO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnZvaWNlVHlwZVRyYW5zbGF0ZSA9IGludm9pY2VUeXBlVHJhbnNsYXRlO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBMaWJUcmFuc2xhdGlvblNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB3ZWJzb2NrZXRTZXJ2aWNlOiBXZWJzb2NrZXRTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZXZlbnRDb250cm9sQm9hcmRTZXJ2aWNlOiBFdmVudENvbnRyb2xCb2FyZFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwYWdpbmF0b3JTdG9yYWdlU2VydmljZTogUGFnaW5hdG9yU3RvcmFnZVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlXHJcbiAgICApIHtcclxuICAgICAgICByZWdpc3RlckxvY2FsZURhdGEobG9jYWxlUHQpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLmdyaWRDb2x1bW5zID0gdGhpcy5zZXRHcmlkQ29sdW1ucygpO1xyXG4gICAgICAgIHRoaXMuY2FsbFdlYnNvY2tldCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmZpbHRlckZvcm1Hcm91cCkge1xyXG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemVGb3JtR3JvdXAoKTtcclxuICAgICAgICAgICAgdGhpcy5zZXRGb3JtRmllbGRzKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnVwZGF0ZUNvbXBhbnlBbmRCcmFuY2hGb3JtRmllbGRzKGNoYW5nZXMpO1xyXG4gICAgICAgIHRoaXMudXBkYXRlRXZlbnRPcmlnaW5BbmRDb250cm9sQ29kZUZvcm1GaWVsZHMoY2hhbmdlcyk7XHJcbiAgICAgICAgdGhpcy51cGRhdGVFdmVudFN0YXR1c0FuZENyZWF0ZWREYXRlRm9ybUZpZWxkcyhjaGFuZ2VzKTtcclxuICAgICAgICB0aGlzLm9uU2VhcmNoKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB1cGRhdGVDb21wYW55QW5kQnJhbmNoRm9ybUZpZWxkcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAgICAgaWYgKGNoYW5nZXMuY29tcGFueSAmJiBjaGFuZ2VzLmNvbXBhbnkuY3VycmVudFZhbHVlICE9PSBjaGFuZ2VzLmNvbXBhbnkucHJldmlvdXNWYWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmZpbHRlckZvcm1Hcm91cC5nZXQoXCJjb21wYW55XCIpPy5zZXRWYWx1ZShjaGFuZ2VzLmNvbXBhbnkuY3VycmVudFZhbHVlID8/IG51bGwpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGNoYW5nZXMuYnJhbmNoICYmIGNoYW5nZXMuYnJhbmNoLmN1cnJlbnRWYWx1ZSAhPT0gY2hhbmdlcy5icmFuY2gucHJldmlvdXNWYWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmZpbHRlckZvcm1Hcm91cC5nZXQoXCJicmFuY2hcIik/LnNldFZhbHVlKGNoYW5nZXMuYnJhbmNoLmN1cnJlbnRWYWx1ZSA/PyBudWxsKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB1cGRhdGVFdmVudE9yaWdpbkFuZENvbnRyb2xDb2RlRm9ybUZpZWxkcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAgICAgaWYgKGNoYW5nZXMuZXZlbnRPcmlnaW4gJiYgY2hhbmdlcy5ldmVudE9yaWdpbi5jdXJyZW50VmFsdWUgIT09IGNoYW5nZXMuZXZlbnRPcmlnaW4ucHJldmlvdXNWYWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmZpbHRlckZvcm1Hcm91cC5nZXQoXCJldmVudE9yaWdpblwiKT8uc2V0VmFsdWUoY2hhbmdlcy5ldmVudE9yaWdpbi5jdXJyZW50VmFsdWUgPz8gbnVsbCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoY2hhbmdlcy5jb250cm9sQ29kZSAmJiBjaGFuZ2VzLmNvbnRyb2xDb2RlLmN1cnJlbnRWYWx1ZSAhPT0gY2hhbmdlcy5jb250cm9sQ29kZS5wcmV2aW91c1ZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyRm9ybUdyb3VwLmdldChcImNvbnRyb2xDb2RlXCIpPy5zZXRWYWx1ZShjaGFuZ2VzLmNvbnRyb2xDb2RlLmN1cnJlbnRWYWx1ZSA/PyBudWxsKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB1cGRhdGVFdmVudFN0YXR1c0FuZENyZWF0ZWREYXRlRm9ybUZpZWxkcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAgICAgaWYgKGNoYW5nZXMuZXZlbnRTdGF0dXMgJiYgY2hhbmdlcy5ldmVudFN0YXR1cy5jdXJyZW50VmFsdWUgIT09IGNoYW5nZXMuZXZlbnRTdGF0dXMucHJldmlvdXNWYWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmZpbHRlckZvcm1Hcm91cC5nZXQoXCJzdGF0dXNcIik/LnNldFZhbHVlKGNoYW5nZXMuZXZlbnRTdGF0dXMuY3VycmVudFZhbHVlID8/IG51bGwpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGNoYW5nZXMuY3JlYXRlZERhdGUgJiYgY2hhbmdlcy5jcmVhdGVkRGF0ZS5jdXJyZW50VmFsdWUgIT09IGNoYW5nZXMuY3JlYXRlZERhdGUucHJldmlvdXNWYWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmZpbHRlckZvcm1Hcm91cC5nZXQoXCJjcmVhdGVkRGF0ZVwiKT8uc2V0VmFsdWUoY2hhbmdlcy5jcmVhdGVkRGF0ZS5jdXJyZW50VmFsdWUgPz8gbnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaW5pdGlhbGl6ZUZvcm1Hcm91cCgpIHtcclxuICAgICAgICB0aGlzLmZpbHRlckZvcm1Hcm91cCA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xyXG4gICAgICAgICAgICBjb21wYW55OiBbeyB2YWx1ZTogdGhpcy5jb21wYW55ID8/IG51bGwsIGRpc2FibGVkOiBmYWxzZSB9LCBWYWxpZGF0b3JzLmNvbXBvc2UoW10pXSxcclxuICAgICAgICAgICAgYnJhbmNoOiBbeyB2YWx1ZTogdGhpcy5icmFuY2ggPz8gbnVsbCwgZGlzYWJsZWQ6IGZhbHNlIH0sIFZhbGlkYXRvcnMuY29tcG9zZShbXSldLFxyXG4gICAgICAgICAgICBjb250cm9sQ29kZTogW3sgdmFsdWU6IHRoaXMuY29udHJvbENvZGUgPz8gbnVsbCwgZGlzYWJsZWQ6IGZhbHNlIH0sIFZhbGlkYXRvcnMuY29tcG9zZShbXSldLFxyXG4gICAgICAgICAgICBleHRlcm5hbElkOiBbeyB2YWx1ZTogdGhpcy5leHRlcm5hbElkID8/IG51bGwsIGRpc2FibGVkOiBmYWxzZSB9LCBWYWxpZGF0b3JzLmNvbXBvc2UoW10pXSxcclxuICAgICAgICAgICAgZXZlbnRPcmlnaW46IFt7IHZhbHVlOiB0aGlzLmV2ZW50T3JpZ2luID8/IG51bGwsIGRpc2FibGVkOiBmYWxzZSB9LCBWYWxpZGF0b3JzLmNvbXBvc2UoW10pXSxcclxuICAgICAgICAgICAgc3RhdHVzOiBbeyB2YWx1ZTogdGhpcy5ldmVudFN0YXR1cyA/PyBudWxsLCBkaXNhYmxlZDogZmFsc2UgfSwgVmFsaWRhdG9ycy5jb21wb3NlKFtdKV0sXHJcbiAgICAgICAgICAgIGNyZWF0ZWREYXRlOiBbeyB2YWx1ZTogdGhpcy5jcmVhdGVkRGF0ZSA/PyBudWxsLCBkaXNhYmxlZDogZmFsc2UgfSwgVmFsaWRhdG9ycy5jb21wb3NlKFtdKV0sXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXRGb3JtRmllbGRzKCkge1xyXG4gICAgICAgIHRoaXMuZmlsdGVyRmllbGRzID0gW1xyXG4gICAgICAgICAgICBuZXcgRm9ybUZpZWxkKHtcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiY29tcGFueVwiLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLkNoaXBzLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgbmV3IEZvcm1GaWVsZCh7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcImJyYW5jaFwiLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLkNoaXBzLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgbmV3IEZvcm1GaWVsZCh7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcImNvbnRyb2xDb2RlXCIsXHJcbiAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuQ2hpcHMsXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICBuZXcgRm9ybUZpZWxkKHtcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiZXh0ZXJuYWxJZFwiLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLlN0cmluZyxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIG5ldyBGb3JtRmllbGQoe1xyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJldmVudE9yaWdpblwiLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLkVudW0sXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICBuZXcgRm9ybUZpZWxkKHtcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwic3RhdHVzXCIsXHJcbiAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuRW51bSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIG5ldyBGb3JtRmllbGQoe1xyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJjcmVhdGVkRGF0ZVwiLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLkRhdGUsXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgIF07XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXRHcmlkQ29sdW1ucygpIHtcclxuICAgICAgICByZXR1cm4gW1xyXG4gICAgICAgICAgICB7IGZpZWxkOiBcImNvbXBhbnlcIiwgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuY29tcGFueVwiKSB9LFxyXG4gICAgICAgICAgICB7IGZpZWxkOiBcImJyYW5jaFwiLCBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5sYWJlbF9icmFuY2hcIikgfSxcclxuICAgICAgICAgICAgeyBmaWVsZDogXCJldmVudE9yaWdpblwiLCBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9vcmlnaW5fbGFiZWxcIikgfSxcclxuICAgICAgICAgICAgeyBmaWVsZDogXCJjb250cm9sQ29kZVwiLCBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5jb250cm9sX2NvZGVcIikgfSxcclxuICAgICAgICBdO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xyXG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xyXG4gICAgICAgIHRoaXMud2Vic29ja2V0U2VydmljZS5kaXNjb25uZWN0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNhbGxXZWJzb2NrZXQoKSB7XHJcbiAgICAgICAgdGhpcy53ZWJzb2NrZXRTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5vbkV2ZW50PGFueT4oe1xyXG4gICAgICAgICAgICAgICAgZG9tYWluOiBcImFncm9cIixcclxuICAgICAgICAgICAgICAgIHNlcnZpY2U6IFwiYWdyb19ldmVudHNcIixcclxuICAgICAgICAgICAgICAgIHByaW1pdGl2ZTogXCJwcm9jZXNzZWRFdmVudFwiLFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgobWVzc2FnZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZXh0ZXJuYWxJZCA9IG1lc3NhZ2U/LmRhdGE/LmV4dGVybmFsSWQ7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJEYXRhID0gdGhpcy5maWx0ZXJGb3JtR3JvdXAuZ2V0UmF3VmFsdWUoKTtcclxuICAgICAgICAgICAgICAgIGlmICghZXh0ZXJuYWxJZCB8fCB0aGlzLmV4dGVybmFsSWQgPT09IGV4dGVybmFsSWQgfHwgdGhpcy5ncmlkRGF0YT8uc29tZSgoaXRlbTogYW55KSA9PiBpdGVtLmV4dGVybmFsSWQgPT09IGV4dGVybmFsSWQpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVHcmlkKHsgZmlsdGVyRGF0YSB9KTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NlZEV2ZW50LmVtaXQobWVzc2FnZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLndlYnNvY2tldFNlcnZpY2VcclxuICAgICAgICAgICAgLm9uRXZlbnQ8YW55Pih7XHJcbiAgICAgICAgICAgICAgICBkb21haW46IFwicGxhdGZvcm1cIixcclxuICAgICAgICAgICAgICAgIHNlcnZpY2U6IFwibm90aWZpY2F0aW9uc1wiLFxyXG4gICAgICAgICAgICAgICAgcHJpbWl0aXZlOiBcInVzZXJOb3RpZmllZFwiLFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJEYXRhID0gdGhpcy5maWx0ZXJGb3JtR3JvdXAuZ2V0UmF3VmFsdWUoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlR3JpZCh7IGZpbHRlckRhdGEgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvblNlYXJjaCgpIHtcclxuICAgICAgICBjb25zdCBmaWx0ZXJEYXRhID0gdGhpcy5maWx0ZXJGb3JtR3JvdXAuZ2V0UmF3VmFsdWUoKTtcclxuICAgICAgICB0aGlzLmdyaWRMb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnJlc2V0R3JpZCh7IGZpbHRlckRhdGEgfSk7XHJcbiAgICAgICAgdGhpcy51cGRhdGVHcmlkKHsgZmlsdGVyRGF0YSB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVzZXRHcmlkKGxpc3RQYXJhbXM/OiBhbnkpIHtcclxuICAgICAgICBpZiAobGlzdFBhcmFtcykge1xyXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRMaXN0UGFyYW1zID0geyAuLi50aGlzLmN1cnJlbnRMaXN0UGFyYW1zLCAuLi5saXN0UGFyYW1zIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY3VycmVudExpc3RQYXJhbXMucGFnZSA9IEFHUk9fTlVNQkVSUy5aRVJPO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdXBkYXRlR3JpZChsaXN0UGFyYW1zOiBhbnkgPSB7fSkge1xyXG4gICAgICAgIHRoaXMuY3VycmVudExpc3RQYXJhbXMgPSB7IC4uLnRoaXMuY3VycmVudExpc3RQYXJhbXMsIC4uLmxpc3RQYXJhbXMgfTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudExpc3RQYXJhbXMuc29ydD8ubGVuZ3RoIDw9IDApIHtcclxuICAgICAgICAgICAgdGhpcy5jdXJyZW50TGlzdFBhcmFtcy5zb3J0ID0gdGhpcy5zdGFuZGFsb25lID9cclxuICAgICAgICAgICAgICAgIFt7IGZpZWxkOiBcImNyZWF0ZWREYXRlXCIsIG9yZGVyOiAxIH1dIDpcclxuICAgICAgICAgICAgICAgIFt7IGZpZWxkOiBcImxhc3RNb2RpZmllZERhdGVcIiwgb3JkZXI6IC0xIH1dO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5jdXJyZW50TGlzdFBhcmFtcy5maWx0ZXJRdWVyeSA9IHRoaXMuZ2V0RmlsdGVyKCk7XHJcblxyXG4gICAgICAgIHRoaXMuZXZlbnRDb250cm9sQm9hcmRTZXJ2aWNlLmV2ZW50Q29udHJvbFNlcnZpY2VcclxuICAgICAgICAgICAgLmxpc3QodGhpcy5jdXJyZW50TGlzdFBhcmFtcylcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcclxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ncmlkTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IGVycjtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgobGlzdDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdyaWREYXRhID0gbGlzdC5jb250ZW50cztcclxuICAgICAgICAgICAgICAgIHRoaXMuZ3JpZFRvdGFsUmVjb3JkcyA9IGxpc3QudG90YWxFbGVtZW50cztcclxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5ncmlkRGF0YSB8fCB0aGlzLmdyaWREYXRhLmxlbmd0aCA8PSBBR1JPX05VTUJFUlMuWkVSTykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ3JpZExvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NFdmVudENvbnRyb2xJdGVtcygpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldEZpbHRlcigpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IHsgZmlsdGVyRGF0YSB9ID0gdGhpcy5jdXJyZW50TGlzdFBhcmFtcztcclxuICAgICAgICBjb25zdCBmaWx0ZXJzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICAgICAgICBpZiAoZmlsdGVyRGF0YVtcImNvbXBhbnlcIl0/LmlkKSB7XHJcbiAgICAgICAgICAgIGZpbHRlcnMucHVzaChgZTA3MGVtcC5pZCBlcSAnJHtmaWx0ZXJEYXRhW1wiY29tcGFueVwiXS5pZH0nYCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoZmlsdGVyRGF0YVtcImJyYW5jaFwiXT8uaWQpIHtcclxuICAgICAgICAgICAgZmlsdGVycy5wdXNoKGBlMDcwZmlsLmlkIGVxICcke2ZpbHRlckRhdGFbXCJicmFuY2hcIl0uaWR9J2ApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgY29udHJvbENvZGUgPSBmaWx0ZXJEYXRhW1wiY29udHJvbENvZGVcIl07XHJcbiAgICAgICAgaWYgKGNvbnRyb2xDb2RlICYmIEFycmF5LmlzQXJyYXkoY29udHJvbENvZGUpICYmIGNvbnRyb2xDb2RlLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgY29uc3QgY29kZXMgPSBjb250cm9sQ29kZS5tYXAoKGNvZGU6IHN0cmluZykgPT4gcGFyc2VJbnQoY29kZSwgMTApKS5qb2luKFwiLFwiKTtcclxuICAgICAgICAgICAgZmlsdGVycy5wdXNoKGBjb250cm9sQ29kZSBpbiAoJHtjb2Rlc30pYCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoZmlsdGVyRGF0YVtcImV4dGVybmFsSWRcIl0pIHtcclxuICAgICAgICAgICAgZmlsdGVycy5wdXNoKGBleHRlcm5hbElkIGVxICcke2ZpbHRlckRhdGFbXCJleHRlcm5hbElkXCJdfSdgKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChmaWx0ZXJEYXRhW1wiZXZlbnRPcmlnaW5cIl0pIHtcclxuICAgICAgICAgICAgZmlsdGVycy5wdXNoKGBldmVudE9yaWdpbiBlcSAnJHtmaWx0ZXJEYXRhW1wiZXZlbnRPcmlnaW5cIl19J2ApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGZpbHRlckRhdGFbXCJzdGF0dXNcIl0pIHtcclxuICAgICAgICAgICAgZmlsdGVycy5wdXNoKGBldmVudENvbnRyb2xJdGVtLnN0YXR1cyBlcSAnJHtmaWx0ZXJEYXRhW1wic3RhdHVzXCJdfSdgKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChmaWx0ZXJEYXRhW1wiY3JlYXRlZERhdGVcIl0pIHtcclxuICAgICAgICAgICAgZmlsdGVycy5wdXNoKGBjcmVhdGVkRGF0ZSBnZSAnJHt0aGlzLmdldFN0YXJ0RGF0ZShmaWx0ZXJEYXRhW1wiY3JlYXRlZERhdGVcIl0pfSdgKTtcclxuICAgICAgICAgICAgZmlsdGVycy5wdXNoKGBjcmVhdGVkRGF0ZSBsZSAnJHt0aGlzLmdldEVuZERhdGUoZmlsdGVyRGF0YVtcImNyZWF0ZWREYXRlXCJdKX0nYCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gZmlsdGVycy5qb2luKFwiIGFuZCBcIik7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRFbmREYXRlKHZhbHVlOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IGVuZERhdGUgPSBtb21lbnQodmFsdWUpLmVuZE9mKFwiZGF5XCIpLmZvcm1hdChcIllZWVktTU0tRERUSEg6bW06c3NcIikgKyBcIlpcIjtcclxuICAgICAgICByZXR1cm4gZW5kRGF0ZTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgZ2V0U3RhcnREYXRlKHZhbHVlOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IG1vbWVudCh2YWx1ZSkuc3RhcnRPZihcImRheVwiKS5mb3JtYXQoXCJZWVlZLU1NLUREVEhIOm1tOnNzXCIpICsgXCJaXCI7XHJcbiAgICAgICAgcmV0dXJuIHN0YXJ0RGF0ZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldERpc3BsYXlGaWVsZHMoKTogc3RyaW5nW10ge1xyXG4gICAgICAgIHJldHVybiBbXHJcbiAgICAgICAgICAgICcqJyxcclxuICAgICAgICAgICAgJ2NvbXBhbnkuKicsXHJcbiAgICAgICAgICAgICdicmFuY2guKicsXHJcbiAgICAgICAgICAgICdldmVudENvbnRyb2xJdGVtLmV2ZW50RG9tYWluJyxcclxuICAgICAgICAgICAgJ2V2ZW50Q29udHJvbEl0ZW0uaWQnLFxyXG4gICAgICAgICAgICAnZXZlbnRDb250cm9sSXRlbS5ldmVudERvbWFpbicsXHJcbiAgICAgICAgICAgICdldmVudENvbnRyb2xJdGVtLmV2ZW50U2VydmljZScsXHJcbiAgICAgICAgICAgICdldmVudENvbnRyb2xJdGVtLmV2ZW50UHJpbWl0aXZlJyxcclxuICAgICAgICAgICAgJ2V2ZW50Q29udHJvbEl0ZW0uZXZlbnRDb250cm9sJyxcclxuICAgICAgICAgICAgJ2V2ZW50Q29udHJvbEl0ZW0uZXZlbnRHcm91cCcsXHJcbiAgICAgICAgICAgICdldmVudENvbnRyb2xJdGVtLnNlcXVlbmNlJyxcclxuICAgICAgICAgICAgJ2V2ZW50Q29udHJvbEl0ZW0uZXZlbnRPcGVyYXRpb24nLFxyXG4gICAgICAgICAgICAnZXZlbnRDb250cm9sSXRlbS5vdXRwdXQnLFxyXG4gICAgICAgICAgICAnZXZlbnRDb250cm9sSXRlbS5zdGF0dXMnLFxyXG4gICAgICAgICAgICAnZXZlbnRDb250cm9sSXRlbS5tZXNzYWdlJyxcclxuICAgICAgICAgICAgJ2V2ZW50Q29udHJvbEl0ZW0uY3JlYXRlZEJ5JyxcclxuICAgICAgICAgICAgJ2V2ZW50Q29udHJvbEl0ZW0uY3JlYXRlZERhdGUnLFxyXG4gICAgICAgICAgICAnZXZlbnRDb250cm9sSXRlbS5sYXN0TW9kaWZpZWRCeScsXHJcbiAgICAgICAgICAgICdldmVudENvbnRyb2xJdGVtLmxhc3RNb2RpZmllZERhdGUnLFxyXG4gICAgICAgIF07XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBwcm9jZXNzRXZlbnRDb250cm9sSXRlbXMoKSB7XHJcbiAgICAgICAgdGhpcy5ncmlkRGF0YS5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHNvcnRlZEl0ZW1zID0gaXRlbS5ldmVudENvbnRyb2xJdGVtLnNvcnQoKGE6IEV2ZW50Q29udHJvbEl0ZW0sIGI6IEV2ZW50Q29udHJvbEl0ZW0pID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBhLnNlcXVlbmNlIC0gYi5zZXF1ZW5jZTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGNvbnN0IHN0ZXBzID0gc29ydGVkSXRlbXMubWFwKChkZXRhaWw6IEV2ZW50Q29udHJvbEl0ZW0sIGluZGV4OiBudW1iZXIpID0+IHRoaXMuY3JlYXRlU3RlcChkZXRhaWwsIGl0ZW0sIGluZGV4KSk7XHJcbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZUluZGV4ID0gdGhpcy5jYWxjdWxhdGVBY3RpdmVJbmRleChzb3J0ZWRJdGVtcyk7XHJcbiAgICAgICAgICAgIGl0ZW0uZ3JvdXBzID0gW3sgc3RlcHMsIGFjdGl2ZUluZGV4IH1dO1xyXG4gICAgICAgICAgICBpdGVtLmFjdGl2ZUluZGV4ID0gYWN0aXZlSW5kZXg7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5ncmlkRGF0YVJlc29sdmVkID0gdGhpcy5ncmlkRGF0YTtcclxuICAgICAgICB0aGlzLmdyaWRMb2FkaW5nID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVBY3RpdmVJbmRleChkZXRhaWxzOiBFdmVudENvbnRyb2xJdGVtW10pOiBudW1iZXIge1xyXG4gICAgICAgIGNvbnN0IGxhc3RBY3RpdmUgPSBkZXRhaWxzLnJlZHVjZShcclxuICAgICAgICAgICAgKGxhc3RJbmRleCwgZGV0YWlsLCBjdXJyZW50SW5kZXgpID0+IChkZXRhaWwuc3RhdHVzICE9PSBFdmVudFN0YXR1cy5QRU5ESU5HID8gY3VycmVudEluZGV4IDogbGFzdEluZGV4KSxcclxuICAgICAgICAgICAgLTFcclxuICAgICAgICApO1xyXG4gICAgICAgIGlmIChsYXN0QWN0aXZlICE9PSAtMSAmJiBkZXRhaWxzW2xhc3RBY3RpdmVdLnN0YXR1cyA9PT0gRXZlbnRTdGF0dXMuU1VDQ0VTUykge1xyXG4gICAgICAgICAgICByZXR1cm4gbGFzdEFjdGl2ZSArIDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBsYXN0QWN0aXZlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY3JlYXRlU3RlcChkZXRhaWw6IEV2ZW50Q29udHJvbEl0ZW0sIGl0ZW06IEV2ZW50Q29udHJvbCwgZGV0YWlsSW5kZXg6IG51bWJlcikge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGl0ZW06IGRldGFpbCxcclxuICAgICAgICAgICAgY29udHJvbENvZGU6IGl0ZW0uY29udHJvbENvZGUsXHJcbiAgICAgICAgICAgIGV2ZW50VHlwZTogaXRlbS5ldmVudE9yaWdpbixcclxuICAgICAgICAgICAgbGFiZWw6IHRoaXMuZ2V0RXZlbnRMYWJlbChkZXRhaWwpLFxyXG4gICAgICAgICAgICBzdWJMYWJlbDogdGhpcy5nZXRFdmVudFN1YkxhYmVsKGRldGFpbCksXHJcbiAgICAgICAgICAgIGRpc2FibGVkOiBkZXRhaWwuc3RhdHVzID09PSBFdmVudFN0YXR1cy5QRU5ESU5HICYmIGRldGFpbEluZGV4ICE9PSB0aGlzLmNhbGN1bGF0ZUFjdGl2ZUluZGV4KGl0ZW0uZXZlbnRDb250cm9sSXRlbSksXHJcbiAgICAgICAgICAgIHRvb2x0aXA6IHRoaXMuZ2V0RXZlbnRMYWJlbChkZXRhaWwpLFxyXG4gICAgICAgICAgICBzdGF0ZTogdGhpcy5kZXRlcm1pbmVTdGVwU3RhdGUoZGV0YWlsKSxcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZGV0ZXJtaW5lU3RlcFN0YXRlKGRldGFpbDogeyBzdGF0dXM6IEV2ZW50U3RhdHVzIH0pOiBTdGVwU3RhdGUge1xyXG4gICAgICAgIGlmIChkZXRhaWwuc3RhdHVzID09PSBFdmVudFN0YXR1cy5TVUNDRVNTKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBTdGVwU3RhdGUuU3VjY2VzcztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGRldGFpbC5zdGF0dXMgPT09IEV2ZW50U3RhdHVzLkZBSUxFRCkge1xyXG4gICAgICAgICAgICByZXR1cm4gU3RlcFN0YXRlLldhcm5pbmc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBTdGVwU3RhdGUuRGVmYXVsdDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldEV2ZW50TGFiZWwoZGV0YWlsOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IGV2ZW50TGFiZWwgPSB0aGlzLmV2ZW50SXRlbS5maW5kKChlKSA9PiBlLnZhbHVlID09PSBkZXRhaWwuZXZlbnRPcGVyYXRpb24pPy5sYWJlbDtcclxuICAgICAgICBpZiAoZXZlbnRMYWJlbCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudChldmVudExhYmVsKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgbG9jYWxMYWJlbCA9IHRoaXMuZ2V0RXZlbnRPcGVyYXRpb25TdWJMb2NhbExhYmVsKGRldGFpbCk7XHJcbiAgICAgICAgaWYgKGxvY2FsTGFiZWwpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGxvY2FsTGFiZWw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBkZXRhaWwuZXZlbnRPcGVyYXRpb247XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRFdmVudE9wZXJhdGlvblN1YkxvY2FsTGFiZWwoZGV0YWlsOiBFdmVudENvbnRyb2xJdGVtKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICAgICAgY29uc3QgdHJhbmxzYXRpb25LZXkgPSBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLlwiICsgZGV0YWlsLmV2ZW50T3BlcmF0aW9uO1xyXG4gICAgICAgIGNvbnN0IHRyYW5zbGF0aW9uID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCh0cmFubHNhdGlvbktleSk7XHJcbiAgICAgICAgaWYgKHRyYW5zbGF0aW9uICE9PSB0cmFubHNhdGlvbktleSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJhbnNsYXRpb247XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0RXZlbnRTdWJMYWJlbChkZXRhaWw6IEV2ZW50Q29udHJvbEl0ZW0pOiBzdHJpbmcgfCBudWxsIHtcclxuICAgICAgICBjb25zdCBmaWVsZCA9IHRoaXMuZXZlbnRJdGVtLmZpbmQoKGUpID0+IGUudmFsdWUgPT09IGRldGFpbC5ldmVudE9wZXJhdGlvbik/LnN1YkxhYmVsRmllbGQ7XHJcbiAgICAgICAgaWYgKCFmaWVsZCB8fCAhZGV0YWlsLmlucHV0KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICB2YXIgcGF0aCA9IHRoaXMuaW5wdXRGaWVsZHNQYXRoLmZpbmQoKGYpID0+IGYuZmllbGQgPT09IGZpZWxkICYmICghZi5vcGVyYXRpb24gfHwgZi5vcGVyYXRpb24gPT09IGRldGFpbC5ldmVudE9wZXJhdGlvbikpPy5wYXRoO1xyXG4gICAgICAgIHZhciBmdWxsUGF0aCA9IHBhdGggPyBgJHtwYXRofS4ke2ZpZWxkfWAgOiBmaWVsZDtcclxuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0VmFsdWVGaWVsZEpzb25Gcm9tUGF0aChkZXRhaWwuaW5wdXQsIGZ1bGxQYXRoKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXRGaWVsZFZhbHVlKGZpZWxkLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRWYWx1ZUZpZWxkSnNvbkZyb21QYXRoKGpzb246IHN0cmluZywgcGF0aDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCBwYXJzZWRKc29uID0gSlNPTi5wYXJzZShqc29uKTtcclxuICAgICAgICAgICAgY29uc3Qga2V5cyA9IHBhdGguc3BsaXQoXCIuXCIpO1xyXG4gICAgICAgICAgICByZXR1cm4ga2V5cy5yZWR1Y2UoKGFjYywga2V5KSA9PiBhY2MgJiYgYWNjW2tleV0sIHBhcnNlZEpzb24pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuaW5mbyhcIkVycm8gYW8gYWNlc3NhciBvIG9iamV0byBwZWxvIHBhdGg6IFwiICsgcGF0aCwgZXJyb3IpO1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBmb3JtYXRGaWVsZFZhbHVlKGZpZWxkOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgICBzd2l0Y2ggKGZpZWxkKSB7XHJcbiAgICAgICAgICAgIGNhc2UgSW5wdXRGaWVsZHMuQUdST19JTlZPSUNFX1RZUEU6XHJcbiAgICAgICAgICAgIGNhc2UgSW5wdXRGaWVsZHMuSU5WT0lDRV9UWVBFOlxyXG4gICAgICAgICAgICAgICAgY29uc3QgbGFiZWwgPSB0aGlzLmludm9pY2VUeXBlVHJhbnNsYXRlLmZpbmQoKGUpID0+IGUudmFsdWUgPT09IHZhbHVlKT8ubGFiZWw7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbGFiZWwgPyB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGxhYmVsKSA6IHZhbHVlO1xyXG4gICAgICAgICAgICBjYXNlIElucHV0RmllbGRzLklOVk9JQ0VfTlVNQkVSOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlID8gXCJuwrAgXCIgKyB2YWx1ZSA6IHZhbHVlO1xyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25HcmlkQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgICAgICBjb25zdCBzaXplID0gZXZlbnQ/LnJvd3M7XHJcbiAgICAgICAgY29uc3QgcGFnZSA9IGV2ZW50Py5maXJzdCAvIHNpemU7XHJcbiAgICAgICAgY29uc3Qgc29ydCA9IGV2ZW50Lm11bHRpU29ydE1ldGE7XHJcbiAgICAgICAgdGhpcy5ncmlkTG9hZGluZyA9IHRydWU7XHJcbiAgICAgICAgaWYgKHNpemUgIT09IEFHUk9fTlVNQkVSUy5URU4gfHwgcGFnZSAhPT0gQUdST19OVU1CRVJTLlpFUk8gfHwgKHNvcnQgJiYgc29ydC5sZW5ndGggPiBBR1JPX05VTUJFUlMuWkVSTykpIHtcclxuICAgICAgICAgICAgdGhpcy5wYWdpbmF0b3JTdG9yYWdlU2VydmljZS5zdG9yZVBhZ2luYXRvcihcIkV2ZW50Q29udHJvbEJvYXJkUGFnaW5hdG9yXCIsIHsgcGFnZSwgc2l6ZSwgc29ydCB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLnVwZGF0ZUdyaWQoeyBwYWdlLCBzaXplLCBzb3J0IH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRQYWdlU2l6ZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50TGlzdFBhcmFtcy5zaXplO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRSb3dJbmRleCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50TGlzdFBhcmFtcy5wYWdlICogdGhpcy5jdXJyZW50TGlzdFBhcmFtcy5zaXplO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRTb3J0RmllbGQoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmN1cnJlbnRMaXN0UGFyYW1zLnNvcnQgfHwgdGhpcy5jdXJyZW50TGlzdFBhcmFtcy5zb3J0Lmxlbmd0aCA8PSBBR1JPX05VTUJFUlMuWkVSTykge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5ncmlkQ29sdW1uc1tBR1JPX05VTUJFUlMuWkVST10uZmllbGQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRMaXN0UGFyYW1zLnNvcnRbQUdST19OVU1CRVJTLlpFUk9dLmZpZWxkO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRTb3J0T3JkZXIoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmN1cnJlbnRMaXN0UGFyYW1zLnNvcnQgfHwgdGhpcy5jdXJyZW50TGlzdFBhcmFtcy5zb3J0Lmxlbmd0aCA8PSBBR1JPX05VTUJFUlMuWkVSTykge1xyXG4gICAgICAgICAgICByZXR1cm4gQUdST19OVU1CRVJTLk9ORTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRMaXN0UGFyYW1zLnNvcnRbQUdST19OVU1CRVJTLlpFUk9dLm9yZGVyO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRFcnJvck1lc3NhZ2VzKCkge1xyXG4gICAgICAgIGNvbnN0IHRyYW5zbGF0ZWRFcnJvck1lc3NhZ2VzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gTG9va3VwRXJyb3JNZXNzYWdlcykge1xyXG4gICAgICAgICAgICBpZiAoTG9va3VwRXJyb3JNZXNzYWdlcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoTG9va3VwRXJyb3JNZXNzYWdlc1trZXldKS5zdWJzY3JpYmUoKHJlczogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRlZEVycm9yTWVzc2FnZXNba2V5XSA9IHJlcztcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0cmFuc2xhdGVkRXJyb3JNZXNzYWdlcztcclxuICAgIH1cclxuXHJcbiAgICBnZXRQcm9kdWNlckludm9pY2VJZEZyb21QYXJhbXMocGFyYW06IGFueSk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgICAgIGlmICghcGFyYW0pIHtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gW1xyXG4gICAgICAgICAgICBwYXJhbS5wcm9kdWNlckludm9pY2VJZHM/LlswXSxcclxuICAgICAgICAgICAgcGFyYW0uaW52b2ljZT8uZ2VuZXJhbERhdGE/LnRyYW5zYWN0aW9uYWxJZCxcclxuICAgICAgICAgICAgcGFyYW0ucHJvZHVjZXJJbnZvaWNlSWQsXHJcbiAgICAgICAgICAgIHBhcmFtLmV4dGVybmFsSWQsXHJcbiAgICAgICAgICAgIHBhcmFtLmV4dGVybmFsSW52b2ljZUlkcz8uWzBdLFxyXG4gICAgICAgIF0uZmluZCgoaWQpID0+IGlkKSA/PyBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFByb2R1Y2VyQmFsYW5jZUVudHJ5Q29udHJvbElkRnJvbVBhcmFtcyhwYXJhbTogYW55KSB7XHJcbiAgICAgICAgY29uc3QgeyBwcm9kdWNlckJhbGFuY2VFbnRyeUNvbnRyb2xJZCB9ID0gcGFyYW07XHJcbiAgICAgICAgcmV0dXJuIHByb2R1Y2VyQmFsYW5jZUVudHJ5Q29udHJvbElkID8gcHJvZHVjZXJCYWxhbmNlRW50cnlDb250cm9sSWQgOiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGVwU2VsZWN0ZWQoZXZlbnQ6IGFueSkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRTdGVwID0gZXZlbnQuc3RlcDtcclxuICAgICAgICB0aGlzLmFwcGx5U2lkZWJhclRpdGxlKFwiXCIpO1xyXG5cclxuICAgICAgICBzd2l0Y2ggKHRoaXMuc2VsZWN0ZWRTdGVwLmV2ZW50VHlwZSkge1xyXG4gICAgICAgICAgICBjYXNlIEV2ZW50T3JpZ2luLkJBTEFOQ0VfRU5UUllfQ09OVFJPTDpcclxuICAgICAgICAgICAgY2FzZSBFdmVudE9yaWdpbi5USUNLRVQ6XHJcbiAgICAgICAgICAgIGNhc2UgRXZlbnRPcmlnaW4uSU5WT0lDRTpcclxuICAgICAgICAgICAgY2FzZSBFdmVudE9yaWdpbi5DUkVBVEVfSU5WT0lDRTpcclxuICAgICAgICAgICAgICAgIHRoaXMuc2lkZWJhckxvYWRpbmcgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhcmFtID0gSlNPTi5wYXJzZSh0aGlzLnNlbGVjdGVkU3RlcC5pdGVtLmlucHV0KTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBwcm9kdWNlckludm9pY2VJZCA9IHRoaXMuZ2V0UHJvZHVjZXJJbnZvaWNlSWRGcm9tUGFyYW1zKHBhcmFtKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgZmlsdGVyUXVlcnkgPSBcIlwiO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBpZiAoIXByb2R1Y2VySW52b2ljZUlkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHByb2R1Y2VyQmFsYW5jZUVudHJ5Q29udHJvbElkID0gdGhpcy5nZXRQcm9kdWNlckJhbGFuY2VFbnRyeUNvbnRyb2xJZEZyb21QYXJhbXMocGFyYW0pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFwcm9kdWNlckJhbGFuY2VFbnRyeUNvbnRyb2xJZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaWRlYmFyTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJRdWVyeSA9IGBwcm9kdWNlckJhbGFuY2VFbnRyeUNvbnRyb2wuaWQgZXEgJyR7cHJvZHVjZXJCYWxhbmNlRW50cnlDb250cm9sSWR9J2A7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyUXVlcnkgPSBgaWQgZXEgJyR7cHJvZHVjZXJJbnZvaWNlSWR9J2A7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmV2ZW50Q29udHJvbEJvYXJkU2VydmljZS5wcm9kdWNlckludm9pY2VTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5saXN0KHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlGaWVsZHM6IFtcIipcIiwgXCJwcm9kdWNlckJhbGFuY2VFbnRyeUNvbnRyb2wuKlwiLCBcInByb2R1Y2VyQmFsYW5jZUVudHJ5Q29udHJvbC5wcm9kdWNlci4qXCJdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyUXVlcnksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlOiAwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogMSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVzdWx0OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb2R1Y2VySW52b2ljZSA9IHJlc3VsdD8uY29udGVudHNbMF07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9kdWNlckludm9pY2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaWRlYmFyTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYXBwbHlTaWRlYmFyVGl0bGUodGhpcy5nZXRQcm9kdWNlckludm9pY2VOdW1iZXJBbmRTZXJpZSgpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaWRlYmFyTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgRXZlbnRPcmlnaW4uRklYQVRJT046XHJcbiAgICAgICAgICAgIGNhc2UgRXZlbnRPcmlnaW4uQ0FOQ0VMX0ZJWEFUSU9OOlxyXG4gICAgICAgICAgICBjYXNlIEV2ZW50T3JpZ2luLkNIQU5HRV9SRVFVRVNUOlxyXG4gICAgICAgICAgICBjYXNlIEV2ZW50T3JpZ2luLlRSQU5TRkVSOlxyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnNob3dSZXByb2Nlc3NCdXR0b24gPSBldmVudC5zdGVwLnN0YXRlID09PSBTdGVwU3RhdGUuV2FybmluZztcclxuXHJcbiAgICAgICAgdGhpcy5zaG93U2lkZWJhciA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhcHBseVNpZGViYXJUaXRsZSh0aXRsZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5zaWRlYmFyVGl0bGUgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfc2lkZWJhcl90aXRsZVwiLCB7IGV2ZW50TnVtYmVyOiB0aXRsZSB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldFByb2R1Y2VySW52b2ljZU51bWJlckFuZFNlcmllKCk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKHRoaXMucHJvZHVjZXJJbnZvaWNlPy5udW1iZXIgJiYgdGhpcy5wcm9kdWNlckludm9pY2U/LnNlcmllcykge1xyXG4gICAgICAgICAgICByZXR1cm4gYCR7dGhpcy5wcm9kdWNlckludm9pY2UubnVtYmVyfSAtICR7dGhpcy5wcm9kdWNlckludm9pY2Uuc2VyaWVzfWA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZXByb2Nlc3NFdmVudCgpIHtcclxuICAgICAgICBjb25zdCByZXByb2Nlc3NFdmVudE9iajogUmVwcm9jZXNzRmFpbGVkRXZlbnQgPSB7XHJcbiAgICAgICAgICAgIGV2ZW50Q29udHJvbEl0ZW1JZDogdGhpcy5zZWxlY3RlZFN0ZXAuaXRlbS5pZCxcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMuZXZlbnRDb250cm9sQm9hcmRTZXJ2aWNlLmV2ZW50Q29udHJvbEl0ZW1TZXJ2aWNlXHJcbiAgICAgICAgICAgIC5yZXByb2Nlc3NGYWlsZWRFdmVudChyZXByb2Nlc3NFdmVudE9iailcclxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGRNZXNzYWdlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImluZm9cIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5yZXByb2Nlc3NpbmdfZXZlbnRfbWVzc2FnZV90aXRsZVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnJlcHJvY2Vzc2luZ19ldmVudF9tZXNzYWdlX2Rlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZE1lc3NhZ2UoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZXJyb3JcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lcnJvcl9yZXByb2Nlc3NpbmdfZXZlbnRfbWVzc2FnZV90aXRsZVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVycm9yX3JlcHJvY2Vzc2luZ19ldmVudF9tZXNzYWdlX2Rlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYWRkTWVzc2FnZShzZXZlcml0eTogc3RyaW5nLCBzdW1tYXJ5OiBzdHJpbmcsIGRldGFpbDogc3RyaW5nLCBsaWZlID0gQUdST19OVU1CRVJTLkZJVkVfU0VDT05EUykge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcclxuICAgICAgICAgICAgc2V2ZXJpdHksXHJcbiAgICAgICAgICAgIHN1bW1hcnk6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoc3VtbWFyeSksXHJcbiAgICAgICAgICAgIGRldGFpbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChkZXRhaWwpLFxyXG4gICAgICAgICAgICBsaWZlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvcGVuTW9kYWwoKSB7XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5TW9kYWwgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc2hvd1NpZGViYXIgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgb3BlbkNhbmNlbE1vZGFsKCkge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuY2FuY2VsRXZlbnREaWFsb2dDb25maWcuYmVmb3JlT3Blbj8uKCk7XHJcbiAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW4oQ2FuY2VsRXZlbnREaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgICAgICAgaGVhZGVyOiB0aGlzLmNhbmNlbEV2ZW50RGlhbG9nQ29uZmlnPy5oZWFkZXIsXHJcbiAgICAgICAgICAgIGNvbnRlbnRTdHlsZTogeyBoZWlnaHQ6IFwiMTAwJVwiIH0sXHJcbiAgICAgICAgICAgIGNsb3NhYmxlOiB0cnVlLFxyXG4gICAgICAgICAgICBjbG9zZU9uRXNjYXBlOiBmYWxzZSxcclxuICAgICAgICAgICAgZGF0YTogeyBjYW5jZWxFdmVudERpYWxvZ0NvbmZpZzogdGhpcy5jYW5jZWxFdmVudERpYWxvZ0NvbmZpZyB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjb25maXJtTW9kYWwoKSB7XHJcbiAgICAgICAgdGhpcy5yZXByb2Nlc3NFdmVudCgpO1xyXG4gICAgICAgIHRoaXMuZGlzcGxheU1vZGFsID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNhbmNlbE1vZGFsKCkge1xyXG4gICAgICAgIHRoaXMuZGlzcGxheU1vZGFsID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNsb3NlU2lkZWJhcigpIHtcclxuICAgICAgICB0aGlzLnNob3dTaWRlYmFyID0gZmFsc2U7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
624
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtY29udHJvbC1ib2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWFncm9uZWdvY2lvL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZXZlbnQtY29udHJvbC1ib2FyZC9ldmVudC1jb250cm9sLWJvYXJkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxRQUFRLE1BQU0sNEJBQTRCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBZ0MsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUMvSCxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFRLFNBQVMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hILE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFNUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDbEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztB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cmVnaXN0ZXJMb2NhbGVEYXRhIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgbG9jYWxlUHQgZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL3B0XCI7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgTE9DQUxFX0lELCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IEJhZGdlQ29sb3JzLCBCdXR0b25Qcmlvcml0eSwgRmllbGRUeXBlLCBGb3JtRmllbGQsIFN0ZXAsIFN0ZXBTdGF0ZSB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzXCI7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UsIE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcInByaW1lbmdcIjtcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBBR1JPX05VTUJFUlMgfSBmcm9tIFwiLi4vLi4vZW51bXMvYWdyby1udW1iZXJzLmVudW1cIjtcclxuaW1wb3J0IHsgTGliVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2xpYi10cmFuc2xhdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFdlYnNvY2tldFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvd2Vic29ja2V0XCI7XHJcbmltcG9ydCB7IENhbmNlbEV2ZW50RGlhbG9nQ29uZmlnIH0gZnJvbSBcIi4uL2NhbmNlbC1ldmVudC1kaWFsb2cvY2FuY2VsLWV2ZW50LWRpYWxvZy1jb25maWdcIjtcclxuaW1wb3J0IHsgQ2FuY2VsRXZlbnREaWFsb2dDb21wb25lbnQgfSBmcm9tIFwiLi4vY2FuY2VsLWV2ZW50LWRpYWxvZy9jYW5jZWwtZXZlbnQtZGlhbG9nLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBldmVudEl0ZW0sIGlucHV0RmllbGRzUGF0aCB9IGZyb20gXCIuL2NvbW1vbi9ldmVudC1jb250cm9sLWNvbnN0YW50c1wiO1xyXG5pbXBvcnQgeyBFdmVudE9yaWdpbiB9IGZyb20gXCIuL2NvbW1vbi9ldmVudC1vcmlnaW5cIjtcclxuaW1wb3J0IHsgRXZlbnRTdGF0dXMgfSBmcm9tIFwiLi9jb21tb24vZXZlbnQtc3RhdHVzXCI7XHJcbmltcG9ydCB7IElucHV0RmllbGRzIH0gZnJvbSBcIi4vY29tbW9uL2lucHV0LWZpZWxkc1wiO1xyXG5pbXBvcnQgeyBpbnZvaWNlVHlwZVRyYW5zbGF0ZSB9IGZyb20gXCIuL2NvbW1vbi9pbnB1dC1maWVsZHMtdHJhbnNsYXRlXCI7XHJcbmltcG9ydCB7IExvb2t1cEVycm9yTWVzc2FnZXMgfSBmcm9tIFwiLi9jb21tb24vbG9va3VwLWVycm9yLW1lc3NhZ2UuY29uc3RhbnRzXCI7XHJcbmltcG9ydCB7IEUwNzBFbXAgfSBmcm9tIFwiLi9zZXJ2aWNlL2UwNzBlbXAvZTA3MGVtcFwiO1xyXG5pbXBvcnQgeyBFMDcwRmlsIH0gZnJvbSBcIi4vc2VydmljZS9lMDcwZmlsL2UwNzBmaWxcIjtcclxuaW1wb3J0IHsgRXZlbnRDb250cm9sSXRlbSB9IGZyb20gXCIuL3NlcnZpY2UvZXZlbnQtY29udHJvbC1pdGVtL2V2ZW50LWNvbnRyb2wtaXRlbVwiO1xyXG5pbXBvcnQgeyBFdmVudENvbnRyb2xJdGVtU2VydmljZSwgUmVwcm9jZXNzRmFpbGVkRXZlbnQgfSBmcm9tIFwiLi9zZXJ2aWNlL2V2ZW50LWNvbnRyb2wtaXRlbS9ldmVudC1jb250cm9sLWl0ZW0uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBFdmVudENvbnRyb2wgfSBmcm9tIFwiLi9zZXJ2aWNlL2V2ZW50LWNvbnRyb2wvZXZlbnQtY29udHJvbFwiO1xyXG5pbXBvcnQgeyBQYWdpbmF0b3JTdG9yYWdlU2VydmljZSB9IGZyb20gXCIuL3NlcnZpY2UvcGFnaW5hdG9yLXN0b3JhZ2Uuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBFdmVudENvbnRyb2xTZXJ2aWNlIH0gZnJvbSBcIi4vc2VydmljZS9ldmVudC1jb250cm9sL2V2ZW50LWNvbnRyb2wuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBQcm9kdWNlckludm9pY2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3Byb2R1Y2VyLWludm9pY2VcIjtcclxuY29uc3QgbW9tZW50ID0gcmVxdWlyZShcIm1vbWVudFwiKTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiZXZlbnQtY29udHJvbC1ib2FyZFwiLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9ldmVudC1jb250cm9sLWJvYXJkLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgICBzdHlsZVVybHM6IFtcIi4vZXZlbnQtY29udHJvbC1ib2FyZC5jb21wb25lbnQuc2Nzc1wiXSxcclxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTE9DQUxFX0lELCB1c2VWYWx1ZTogXCJwdC1CUlwiIH1dLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXZlbnRDb250cm9sQm9hcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcclxuICAgIEBJbnB1dCgpIGNvbXBhbnkhOiBFMDcwRW1wO1xyXG4gICAgQElucHV0KCkgYnJhbmNoITogRTA3MEZpbDtcclxuICAgIEBJbnB1dCgpIGNvbnRyb2xDb2RlITogc3RyaW5nW107XHJcbiAgICBASW5wdXQoKSBldmVudE9yaWdpbiE6IEV2ZW50T3JpZ2luO1xyXG4gICAgQElucHV0KCkgZXZlbnRTdGF0dXMhOiBFdmVudFN0YXR1cztcclxuICAgIEBJbnB1dCgpIGV4dGVybmFsSWQhOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBjcmVhdGVkRGF0ZSE6IERhdGU7XHJcbiAgICBASW5wdXQoKSBzdGFuZGFsb25lITogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIHNob3dDYW5jZWxCdXR0b24hOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgY2FuY2VsRXZlbnREaWFsb2dDb25maWchOiBDYW5jZWxFdmVudERpYWxvZ0NvbmZpZztcclxuICAgIEBPdXRwdXQoKSBwcm9jZXNzZWRFdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgICBwdWJsaWMgcHJvZHVjZXJJbnZvaWNlITogYW55O1xyXG5cclxuICAgIHB1YmxpYyBzdGVwczogU3RlcFtdID0gW107XHJcbiAgICBwdWJsaWMgc2VsZWN0ZWRTdGVwOiBhbnk7XHJcbiAgICBwdWJsaWMgZXZlbnRJZCE6IFwiXCI7XHJcbiAgICBwdWJsaWMgc2hvd1NpZGViYXIgPSBmYWxzZTtcclxuICAgIHB1YmxpYyBzaG93UmVwcm9jZXNzQnV0dG9uID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgc2lkZWJhclRpdGxlITogc3RyaW5nO1xyXG4gICAgcHVibGljIHNpZGViYXJMb2FkaW5nITogYm9vbGVhbjtcclxuXHJcbiAgICBwdWJsaWMgZmlsdGVyRm9ybUdyb3VwITogRm9ybUdyb3VwO1xyXG4gICAgcHVibGljIGZpbHRlckZpZWxkcyE6IEZvcm1GaWVsZFtdO1xyXG5cclxuICAgIHB1YmxpYyBncmlkRGF0YSE6IGFueVtdO1xyXG4gICAgcHVibGljIGdyaWREYXRhUmVzb2x2ZWQhOiBhbnlbXTtcclxuICAgIHB1YmxpYyBncmlkQ29sdW1ucyE6IGFueVtdO1xyXG4gICAgcHVibGljIGdyaWRUb3RhbFJlY29yZHMgPSBBR1JPX05VTUJFUlMuWkVSTztcclxuICAgIHB1YmxpYyBncmlkTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgcHVibGljIGRpc3BsYXlNb2RhbCA9IGZhbHNlO1xyXG5cclxuICAgIHB1YmxpYyBCdXR0b25Qcmlvcml0eSA9IEJ1dHRvblByaW9yaXR5O1xyXG4gICAgcHVibGljIEJhZGdlQ29sb3JzID0gQmFkZ2VDb2xvcnM7XHJcblxyXG4gICAgcHVibGljIHBlcm1pc3Npb25zOiBhbnkgPSB7fTtcclxuICAgIHB1YmxpYyBsb2NhbGVDb25maWc6IGFueSA9IHt9O1xyXG5cclxuICAgIHB1YmxpYyBjdXJyZW50TGlzdFBhcmFtczogYW55ID0ge1xyXG4gICAgICAgIHBhZ2U6IEFHUk9fTlVNQkVSUy5aRVJPLFxyXG4gICAgICAgIHNpemU6IEFHUk9fTlVNQkVSUy5URU4sXHJcbiAgICAgICAgZGlzcGxheUZpZWxkczogdGhpcy5nZXREaXNwbGF5RmllbGRzKCksXHJcbiAgICAgICAgc29ydDogW10sXHJcbiAgICAgICAgZmlsdGVyRGF0YToge31cclxuICAgIH07XHJcblxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3QoKTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZXZlbnRJdGVtID0gZXZlbnRJdGVtO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dEZpZWxkc1BhdGggPSBpbnB1dEZpZWxkc1BhdGg7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGludm9pY2VUeXBlVHJhbnNsYXRlID0gaW52b2ljZVR5cGVUcmFuc2xhdGU7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IExpYlRyYW5zbGF0aW9uU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHdlYnNvY2tldFNlcnZpY2U6IFdlYnNvY2tldFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBldmVudENvbnRyb2xTZXJ2aWNlOiBFdmVudENvbnRyb2xTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcGFnaW5hdG9yU3RvcmFnZVNlcnZpY2U6IFBhZ2luYXRvclN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZXZlbnRDb250cm9sSXRlbVNlcnZpY2U6IEV2ZW50Q29udHJvbEl0ZW1TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvZHVjZXJJbnZvaWNlU2VydmljZTogUHJvZHVjZXJJbnZvaWNlU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2VcclxuICAgICkge1xyXG4gICAgICAgIHJlZ2lzdGVyTG9jYWxlRGF0YShsb2NhbGVQdCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuZ3JpZENvbHVtbnMgPSB0aGlzLnNldEdyaWRDb2x1bW5zKCk7XHJcbiAgICAgICAgdGhpcy5jYWxsV2Vic29ja2V0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgICAgICBpZiAoIXRoaXMuZmlsdGVyRm9ybUdyb3VwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZUZvcm1Hcm91cCgpO1xyXG4gICAgICAgICAgICB0aGlzLnNldEZvcm1GaWVsZHMoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMudXBkYXRlQ29tcGFueUFuZEJyYW5jaEZvcm1GaWVsZHMoY2hhbmdlcyk7XHJcbiAgICAgICAgdGhpcy51cGRhdGVFdmVudE9yaWdpbkFuZENvbnRyb2xDb2RlRm9ybUZpZWxkcyhjaGFuZ2VzKTtcclxuICAgICAgICB0aGlzLnVwZGF0ZUV2ZW50U3RhdHVzQW5kQ3JlYXRlZERhdGVGb3JtRmllbGRzKGNoYW5nZXMpO1xyXG4gICAgICAgIHRoaXMub25TZWFyY2goKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHVwZGF0ZUNvbXBhbnlBbmRCcmFuY2hGb3JtRmllbGRzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgICAgICBpZiAoY2hhbmdlcy5jb21wYW55ICYmIGNoYW5nZXMuY29tcGFueS5jdXJyZW50VmFsdWUgIT09IGNoYW5nZXMuY29tcGFueS5wcmV2aW91c1ZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyRm9ybUdyb3VwLmdldChcImNvbXBhbnlcIik/LnNldFZhbHVlKGNoYW5nZXMuY29tcGFueS5jdXJyZW50VmFsdWUgPz8gbnVsbCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoY2hhbmdlcy5icmFuY2ggJiYgY2hhbmdlcy5icmFuY2guY3VycmVudFZhbHVlICE9PSBjaGFuZ2VzLmJyYW5jaC5wcmV2aW91c1ZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyRm9ybUdyb3VwLmdldChcImJyYW5jaFwiKT8uc2V0VmFsdWUoY2hhbmdlcy5icmFuY2guY3VycmVudFZhbHVlID8/IG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHVwZGF0ZUV2ZW50T3JpZ2luQW5kQ29udHJvbENvZGVGb3JtRmllbGRzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgICAgICBpZiAoY2hhbmdlcy5ldmVudE9yaWdpbiAmJiBjaGFuZ2VzLmV2ZW50T3JpZ2luLmN1cnJlbnRWYWx1ZSAhPT0gY2hhbmdlcy5ldmVudE9yaWdpbi5wcmV2aW91c1ZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyRm9ybUdyb3VwLmdldChcImV2ZW50T3JpZ2luXCIpPy5zZXRWYWx1ZShjaGFuZ2VzLmV2ZW50T3JpZ2luLmN1cnJlbnRWYWx1ZSA/PyBudWxsKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChjaGFuZ2VzLmNvbnRyb2xDb2RlICYmIGNoYW5nZXMuY29udHJvbENvZGUuY3VycmVudFZhbHVlICE9PSBjaGFuZ2VzLmNvbnRyb2xDb2RlLnByZXZpb3VzVmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJGb3JtR3JvdXAuZ2V0KFwiY29udHJvbENvZGVcIik/LnNldFZhbHVlKGNoYW5nZXMuY29udHJvbENvZGUuY3VycmVudFZhbHVlID8/IG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHVwZGF0ZUV2ZW50U3RhdHVzQW5kQ3JlYXRlZERhdGVGb3JtRmllbGRzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgICAgICBpZiAoY2hhbmdlcy5ldmVudFN0YXR1cyAmJiBjaGFuZ2VzLmV2ZW50U3RhdHVzLmN1cnJlbnRWYWx1ZSAhPT0gY2hhbmdlcy5ldmVudFN0YXR1cy5wcmV2aW91c1ZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyRm9ybUdyb3VwLmdldChcInN0YXR1c1wiKT8uc2V0VmFsdWUoY2hhbmdlcy5ldmVudFN0YXR1cy5jdXJyZW50VmFsdWUgPz8gbnVsbCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoY2hhbmdlcy5jcmVhdGVkRGF0ZSAmJiBjaGFuZ2VzLmNyZWF0ZWREYXRlLmN1cnJlbnRWYWx1ZSAhPT0gY2hhbmdlcy5jcmVhdGVkRGF0ZS5wcmV2aW91c1ZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyRm9ybUdyb3VwLmdldChcImNyZWF0ZWREYXRlXCIpPy5zZXRWYWx1ZShjaGFuZ2VzLmNyZWF0ZWREYXRlLmN1cnJlbnRWYWx1ZSA/PyBudWxsKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpbml0aWFsaXplRm9ybUdyb3VwKCkge1xyXG4gICAgICAgIHRoaXMuZmlsdGVyRm9ybUdyb3VwID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAgICAgICAgIGNvbXBhbnk6IFt7IHZhbHVlOiB0aGlzLmNvbXBhbnkgPz8gbnVsbCwgZGlzYWJsZWQ6IGZhbHNlIH0sIFZhbGlkYXRvcnMuY29tcG9zZShbXSldLFxyXG4gICAgICAgICAgICBicmFuY2g6IFt7IHZhbHVlOiB0aGlzLmJyYW5jaCA/PyBudWxsLCBkaXNhYmxlZDogZmFsc2UgfSwgVmFsaWRhdG9ycy5jb21wb3NlKFtdKV0sXHJcbiAgICAgICAgICAgIGNvbnRyb2xDb2RlOiBbeyB2YWx1ZTogdGhpcy5jb250cm9sQ29kZSA/PyBudWxsLCBkaXNhYmxlZDogZmFsc2UgfSwgVmFsaWRhdG9ycy5jb21wb3NlKFtdKV0sXHJcbiAgICAgICAgICAgIGV4dGVybmFsSWQ6IFt7IHZhbHVlOiB0aGlzLmV4dGVybmFsSWQgPz8gbnVsbCwgZGlzYWJsZWQ6IGZhbHNlIH0sIFZhbGlkYXRvcnMuY29tcG9zZShbXSldLFxyXG4gICAgICAgICAgICBldmVudE9yaWdpbjogW3sgdmFsdWU6IHRoaXMuZXZlbnRPcmlnaW4gPz8gbnVsbCwgZGlzYWJsZWQ6IGZhbHNlIH0sIFZhbGlkYXRvcnMuY29tcG9zZShbXSldLFxyXG4gICAgICAgICAgICBzdGF0dXM6IFt7IHZhbHVlOiB0aGlzLmV2ZW50U3RhdHVzID8/IG51bGwsIGRpc2FibGVkOiBmYWxzZSB9LCBWYWxpZGF0b3JzLmNvbXBvc2UoW10pXSxcclxuICAgICAgICAgICAgY3JlYXRlZERhdGU6IFt7IHZhbHVlOiB0aGlzLmNyZWF0ZWREYXRlID8/IG51bGwsIGRpc2FibGVkOiBmYWxzZSB9LCBWYWxpZGF0b3JzLmNvbXBvc2UoW10pXSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNldEZvcm1GaWVsZHMoKSB7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJGaWVsZHMgPSBbXHJcbiAgICAgICAgICAgIG5ldyBGb3JtRmllbGQoe1xyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJjb21wYW55XCIsXHJcbiAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuQ2hpcHMsXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICBuZXcgRm9ybUZpZWxkKHtcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiYnJhbmNoXCIsXHJcbiAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuQ2hpcHMsXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICBuZXcgRm9ybUZpZWxkKHtcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiY29udHJvbENvZGVcIixcclxuICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5DaGlwcyxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIG5ldyBGb3JtRmllbGQoe1xyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJleHRlcm5hbElkXCIsXHJcbiAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuU3RyaW5nLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgbmV3IEZvcm1GaWVsZCh7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcImV2ZW50T3JpZ2luXCIsXHJcbiAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuRW51bSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIG5ldyBGb3JtRmllbGQoe1xyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJzdGF0dXNcIixcclxuICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5FbnVtLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgbmV3IEZvcm1GaWVsZCh7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcImNyZWF0ZWREYXRlXCIsXHJcbiAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuRGF0ZSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgXTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNldEdyaWRDb2x1bW5zKCkge1xyXG4gICAgICAgIHJldHVybiBbXHJcbiAgICAgICAgICAgIHsgZmllbGQ6IFwiY29tcGFueVwiLCBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5jb21wYW55XCIpIH0sXHJcbiAgICAgICAgICAgIHsgZmllbGQ6IFwiYnJhbmNoXCIsIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmxhYmVsX2JyYW5jaFwiKSB9LFxyXG4gICAgICAgICAgICB7IGZpZWxkOiBcImV2ZW50T3JpZ2luXCIsIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X29yaWdpbl9sYWJlbFwiKSB9LFxyXG4gICAgICAgICAgICB7IGZpZWxkOiBcImNvbnRyb2xDb2RlXCIsIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmNvbnRyb2xfY29kZVwiKSB9LFxyXG4gICAgICAgIF07XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XHJcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgdGhpcy53ZWJzb2NrZXRTZXJ2aWNlLmRpc2Nvbm5lY3QoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY2FsbFdlYnNvY2tldCgpIHtcclxuICAgICAgICB0aGlzLndlYnNvY2tldFNlcnZpY2VcclxuICAgICAgICAgICAgLm9uRXZlbnQ8YW55Pih7XHJcbiAgICAgICAgICAgICAgICBkb21haW46IFwiYWdyb1wiLFxyXG4gICAgICAgICAgICAgICAgc2VydmljZTogXCJhZ3JvX2V2ZW50c1wiLFxyXG4gICAgICAgICAgICAgICAgcHJpbWl0aXZlOiBcInByb2Nlc3NlZEV2ZW50XCIsXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChtZXNzYWdlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBleHRlcm5hbElkID0gbWVzc2FnZT8uZGF0YT8uZXh0ZXJuYWxJZDtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlckRhdGEgPSB0aGlzLmZpbHRlckZvcm1Hcm91cC5nZXRSYXdWYWx1ZSgpO1xyXG4gICAgICAgICAgICAgICAgaWYgKCFleHRlcm5hbElkIHx8IHRoaXMuZXh0ZXJuYWxJZCA9PT0gZXh0ZXJuYWxJZCB8fCB0aGlzLmdyaWREYXRhPy5zb21lKChpdGVtOiBhbnkpID0+IGl0ZW0uZXh0ZXJuYWxJZCA9PT0gZXh0ZXJuYWxJZCkpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUdyaWQoeyBmaWx0ZXJEYXRhIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJvY2Vzc2VkRXZlbnQuZW1pdChtZXNzYWdlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMud2Vic29ja2V0U2VydmljZVxyXG4gICAgICAgICAgICAub25FdmVudDxhbnk+KHtcclxuICAgICAgICAgICAgICAgIGRvbWFpbjogXCJwbGF0Zm9ybVwiLFxyXG4gICAgICAgICAgICAgICAgc2VydmljZTogXCJub3RpZmljYXRpb25zXCIsXHJcbiAgICAgICAgICAgICAgICBwcmltaXRpdmU6IFwidXNlck5vdGlmaWVkXCIsXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlckRhdGEgPSB0aGlzLmZpbHRlckZvcm1Hcm91cC5nZXRSYXdWYWx1ZSgpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVHcmlkKHsgZmlsdGVyRGF0YSB9KTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uU2VhcmNoKCkge1xyXG4gICAgICAgIGNvbnN0IGZpbHRlckRhdGEgPSB0aGlzLmZpbHRlckZvcm1Hcm91cC5nZXRSYXdWYWx1ZSgpO1xyXG4gICAgICAgIHRoaXMuZ3JpZExvYWRpbmcgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMucmVzZXRHcmlkKHsgZmlsdGVyRGF0YSB9KTtcclxuICAgICAgICB0aGlzLnVwZGF0ZUdyaWQoeyBmaWx0ZXJEYXRhIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZXNldEdyaWQobGlzdFBhcmFtcz86IGFueSkge1xyXG4gICAgICAgIGlmIChsaXN0UGFyYW1zKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY3VycmVudExpc3RQYXJhbXMgPSB7IC4uLnRoaXMuY3VycmVudExpc3RQYXJhbXMsIC4uLmxpc3RQYXJhbXMgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jdXJyZW50TGlzdFBhcmFtcy5wYWdlID0gQUdST19OVU1CRVJTLlpFUk87XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB1cGRhdGVHcmlkKGxpc3RQYXJhbXM6IGFueSA9IHt9KSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50TGlzdFBhcmFtcyA9IHsgLi4udGhpcy5jdXJyZW50TGlzdFBhcmFtcywgLi4ubGlzdFBhcmFtcyB9O1xyXG5cclxuICAgICAgICBpZiAodGhpcy5jdXJyZW50TGlzdFBhcmFtcy5zb3J0Py5sZW5ndGggPD0gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRMaXN0UGFyYW1zLnNvcnQgPSB0aGlzLnN0YW5kYWxvbmUgP1xyXG4gICAgICAgICAgICAgICAgW3sgZmllbGQ6IFwiY3JlYXRlZERhdGVcIiwgb3JkZXI6IDEgfV0gOlxyXG4gICAgICAgICAgICAgICAgW3sgZmllbGQ6IFwibGFzdE1vZGlmaWVkRGF0ZVwiLCBvcmRlcjogLTEgfV07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmN1cnJlbnRMaXN0UGFyYW1zLmZpbHRlclF1ZXJ5ID0gdGhpcy5nZXRGaWx0ZXIoKTtcclxuXHJcbiAgICAgICAgdGhpcy5ldmVudENvbnRyb2xTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5saXN0KHRoaXMuY3VycmVudExpc3RQYXJhbXMpXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXHJcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ3JpZExvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGxpc3Q6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ncmlkRGF0YSA9IGxpc3QuY29udGVudHM7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdyaWRUb3RhbFJlY29yZHMgPSBsaXN0LnRvdGFsRWxlbWVudHM7XHJcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZ3JpZERhdGEgfHwgdGhpcy5ncmlkRGF0YS5sZW5ndGggPD0gQUdST19OVU1CRVJTLlpFUk8pIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdyaWRMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzRXZlbnRDb250cm9sSXRlbXMoKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRGaWx0ZXIoKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCB7IGZpbHRlckRhdGEgfSA9IHRoaXMuY3VycmVudExpc3RQYXJhbXM7XHJcbiAgICAgICAgY29uc3QgZmlsdGVyczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgICAgICAgaWYgKGZpbHRlckRhdGFbXCJjb21wYW55XCJdPy5pZCkge1xyXG4gICAgICAgICAgICBmaWx0ZXJzLnB1c2goYGUwNzBlbXAuaWQgZXEgJyR7ZmlsdGVyRGF0YVtcImNvbXBhbnlcIl0uaWR9J2ApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGZpbHRlckRhdGFbXCJicmFuY2hcIl0/LmlkKSB7XHJcbiAgICAgICAgICAgIGZpbHRlcnMucHVzaChgZTA3MGZpbC5pZCBlcSAnJHtmaWx0ZXJEYXRhW1wiYnJhbmNoXCJdLmlkfSdgKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGNvbnRyb2xDb2RlID0gZmlsdGVyRGF0YVtcImNvbnRyb2xDb2RlXCJdO1xyXG4gICAgICAgIGlmIChjb250cm9sQ29kZSAmJiBBcnJheS5pc0FycmF5KGNvbnRyb2xDb2RlKSAmJiBjb250cm9sQ29kZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvZGVzID0gY29udHJvbENvZGUubWFwKChjb2RlOiBzdHJpbmcpID0+IHBhcnNlSW50KGNvZGUsIDEwKSkuam9pbihcIixcIik7XHJcbiAgICAgICAgICAgIGZpbHRlcnMucHVzaChgY29udHJvbENvZGUgaW4gKCR7Y29kZXN9KWApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGZpbHRlckRhdGFbXCJleHRlcm5hbElkXCJdKSB7XHJcbiAgICAgICAgICAgIGZpbHRlcnMucHVzaChgZXh0ZXJuYWxJZCBlcSAnJHtmaWx0ZXJEYXRhW1wiZXh0ZXJuYWxJZFwiXX0nYCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoZmlsdGVyRGF0YVtcImV2ZW50T3JpZ2luXCJdKSB7XHJcbiAgICAgICAgICAgIGZpbHRlcnMucHVzaChgZXZlbnRPcmlnaW4gZXEgJyR7ZmlsdGVyRGF0YVtcImV2ZW50T3JpZ2luXCJdfSdgKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChmaWx0ZXJEYXRhW1wic3RhdHVzXCJdKSB7XHJcbiAgICAgICAgICAgIGZpbHRlcnMucHVzaChgZXZlbnRDb250cm9sSXRlbS5zdGF0dXMgZXEgJyR7ZmlsdGVyRGF0YVtcInN0YXR1c1wiXX0nYCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoZmlsdGVyRGF0YVtcImNyZWF0ZWREYXRlXCJdKSB7XHJcbiAgICAgICAgICAgIGZpbHRlcnMucHVzaChgY3JlYXRlZERhdGUgZ2UgJyR7dGhpcy5nZXRTdGFydERhdGUoZmlsdGVyRGF0YVtcImNyZWF0ZWREYXRlXCJdKX0nYCk7XHJcbiAgICAgICAgICAgIGZpbHRlcnMucHVzaChgY3JlYXRlZERhdGUgbGUgJyR7dGhpcy5nZXRFbmREYXRlKGZpbHRlckRhdGFbXCJjcmVhdGVkRGF0ZVwiXSl9J2ApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGZpbHRlcnMuam9pbihcIiBhbmQgXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0RW5kRGF0ZSh2YWx1ZTogYW55KTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBlbmREYXRlID0gbW9tZW50KHZhbHVlKS5lbmRPZihcImRheVwiKS5mb3JtYXQoXCJZWVlZLU1NLUREVEhIOm1tOnNzXCIpICsgXCJaXCI7XHJcbiAgICAgICAgcmV0dXJuIGVuZERhdGU7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIGdldFN0YXJ0RGF0ZSh2YWx1ZTogYW55KTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBzdGFydERhdGUgPSBtb21lbnQodmFsdWUpLnN0YXJ0T2YoXCJkYXlcIikuZm9ybWF0KFwiWVlZWS1NTS1ERFRISDptbTpzc1wiKSArIFwiWlwiO1xyXG4gICAgICAgIHJldHVybiBzdGFydERhdGU7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXREaXNwbGF5RmllbGRzKCk6IHN0cmluZ1tdIHtcclxuICAgICAgICByZXR1cm4gW1xyXG4gICAgICAgICAgICAnKicsXHJcbiAgICAgICAgICAgICdjb21wYW55LionLFxyXG4gICAgICAgICAgICAnYnJhbmNoLionLFxyXG4gICAgICAgICAgICAnZXZlbnRDb250cm9sSXRlbS5ldmVudERvbWFpbicsXHJcbiAgICAgICAgICAgICdldmVudENvbnRyb2xJdGVtLmlkJyxcclxuICAgICAgICAgICAgJ2V2ZW50Q29udHJvbEl0ZW0uZXZlbnREb21haW4nLFxyXG4gICAgICAgICAgICAnZXZlbnRDb250cm9sSXRlbS5ldmVudFNlcnZpY2UnLFxyXG4gICAgICAgICAgICAnZXZlbnRDb250cm9sSXRlbS5ldmVudFByaW1pdGl2ZScsXHJcbiAgICAgICAgICAgICdldmVudENvbnRyb2xJdGVtLmV2ZW50Q29udHJvbCcsXHJcbiAgICAgICAgICAgICdldmVudENvbnRyb2xJdGVtLmV2ZW50R3JvdXAnLFxyXG4gICAgICAgICAgICAnZXZlbnRDb250cm9sSXRlbS5zZXF1ZW5jZScsXHJcbiAgICAgICAgICAgICdldmVudENvbnRyb2xJdGVtLmV2ZW50T3BlcmF0aW9uJyxcclxuICAgICAgICAgICAgJ2V2ZW50Q29udHJvbEl0ZW0ub3V0cHV0JyxcclxuICAgICAgICAgICAgJ2V2ZW50Q29udHJvbEl0ZW0uc3RhdHVzJyxcclxuICAgICAgICAgICAgJ2V2ZW50Q29udHJvbEl0ZW0ubWVzc2FnZScsXHJcbiAgICAgICAgICAgICdldmVudENvbnRyb2xJdGVtLmNyZWF0ZWRCeScsXHJcbiAgICAgICAgICAgICdldmVudENvbnRyb2xJdGVtLmNyZWF0ZWREYXRlJyxcclxuICAgICAgICAgICAgJ2V2ZW50Q29udHJvbEl0ZW0ubGFzdE1vZGlmaWVkQnknLFxyXG4gICAgICAgICAgICAnZXZlbnRDb250cm9sSXRlbS5sYXN0TW9kaWZpZWREYXRlJyxcclxuICAgICAgICBdO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcHJvY2Vzc0V2ZW50Q29udHJvbEl0ZW1zKCkge1xyXG4gICAgICAgIHRoaXMuZ3JpZERhdGEuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBzb3J0ZWRJdGVtcyA9IGl0ZW0uZXZlbnRDb250cm9sSXRlbS5zb3J0KChhOiBFdmVudENvbnRyb2xJdGVtLCBiOiBFdmVudENvbnRyb2xJdGVtKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYS5zZXF1ZW5jZSAtIGIuc2VxdWVuY2U7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBjb25zdCBzdGVwcyA9IHNvcnRlZEl0ZW1zLm1hcCgoZGV0YWlsOiBFdmVudENvbnRyb2xJdGVtLCBpbmRleDogbnVtYmVyKSA9PiB0aGlzLmNyZWF0ZVN0ZXAoZGV0YWlsLCBpdGVtLCBpbmRleCkpO1xyXG4gICAgICAgICAgICBjb25zdCBhY3RpdmVJbmRleCA9IHRoaXMuY2FsY3VsYXRlQWN0aXZlSW5kZXgoc29ydGVkSXRlbXMpO1xyXG4gICAgICAgICAgICBpdGVtLmdyb3VwcyA9IFt7IHN0ZXBzLCBhY3RpdmVJbmRleCB9XTtcclxuICAgICAgICAgICAgaXRlbS5hY3RpdmVJbmRleCA9IGFjdGl2ZUluZGV4O1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuZ3JpZERhdGFSZXNvbHZlZCA9IHRoaXMuZ3JpZERhdGE7XHJcbiAgICAgICAgdGhpcy5ncmlkTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY2FsY3VsYXRlQWN0aXZlSW5kZXgoZGV0YWlsczogRXZlbnRDb250cm9sSXRlbVtdKTogbnVtYmVyIHtcclxuICAgICAgICBjb25zdCBsYXN0QWN0aXZlID0gZGV0YWlscy5yZWR1Y2UoXHJcbiAgICAgICAgICAgIChsYXN0SW5kZXgsIGRldGFpbCwgY3VycmVudEluZGV4KSA9PiAoZGV0YWlsLnN0YXR1cyAhPT0gRXZlbnRTdGF0dXMuUEVORElORyA/IGN1cnJlbnRJbmRleCA6IGxhc3RJbmRleCksXHJcbiAgICAgICAgICAgIC0xXHJcbiAgICAgICAgKTtcclxuICAgICAgICBpZiAobGFzdEFjdGl2ZSAhPT0gLTEgJiYgZGV0YWlsc1tsYXN0QWN0aXZlXS5zdGF0dXMgPT09IEV2ZW50U3RhdHVzLlNVQ0NFU1MpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGxhc3RBY3RpdmUgKyAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbGFzdEFjdGl2ZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNyZWF0ZVN0ZXAoZGV0YWlsOiBFdmVudENvbnRyb2xJdGVtLCBpdGVtOiBFdmVudENvbnRyb2wsIGRldGFpbEluZGV4OiBudW1iZXIpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBpdGVtOiBkZXRhaWwsXHJcbiAgICAgICAgICAgIGNvbnRyb2xDb2RlOiBpdGVtLmNvbnRyb2xDb2RlLFxyXG4gICAgICAgICAgICBldmVudFR5cGU6IGl0ZW0uZXZlbnRPcmlnaW4sXHJcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLmdldEV2ZW50TGFiZWwoZGV0YWlsKSxcclxuICAgICAgICAgICAgc3ViTGFiZWw6IHRoaXMuZ2V0RXZlbnRTdWJMYWJlbChkZXRhaWwpLFxyXG4gICAgICAgICAgICBkaXNhYmxlZDogZGV0YWlsLnN0YXR1cyA9PT0gRXZlbnRTdGF0dXMuUEVORElORyAmJiBkZXRhaWxJbmRleCAhPT0gdGhpcy5jYWxjdWxhdGVBY3RpdmVJbmRleChpdGVtLmV2ZW50Q29udHJvbEl0ZW0pLFxyXG4gICAgICAgICAgICB0b29sdGlwOiB0aGlzLmdldEV2ZW50TGFiZWwoZGV0YWlsKSxcclxuICAgICAgICAgICAgc3RhdGU6IHRoaXMuZGV0ZXJtaW5lU3RlcFN0YXRlKGRldGFpbCksXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGRldGVybWluZVN0ZXBTdGF0ZShkZXRhaWw6IHsgc3RhdHVzOiBFdmVudFN0YXR1cyB9KTogU3RlcFN0YXRlIHtcclxuICAgICAgICBpZiAoZGV0YWlsLnN0YXR1cyA9PT0gRXZlbnRTdGF0dXMuU1VDQ0VTUykge1xyXG4gICAgICAgICAgICByZXR1cm4gU3RlcFN0YXRlLlN1Y2Nlc3M7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChkZXRhaWwuc3RhdHVzID09PSBFdmVudFN0YXR1cy5GQUlMRUQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIFN0ZXBTdGF0ZS5XYXJuaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gU3RlcFN0YXRlLkRlZmF1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRFdmVudExhYmVsKGRldGFpbDogYW55KTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBldmVudExhYmVsID0gdGhpcy5ldmVudEl0ZW0uZmluZCgoZSkgPT4gZS52YWx1ZSA9PT0gZGV0YWlsLmV2ZW50T3BlcmF0aW9uKT8ubGFiZWw7XHJcbiAgICAgICAgaWYgKGV2ZW50TGFiZWwpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoZXZlbnRMYWJlbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGxvY2FsTGFiZWwgPSB0aGlzLmdldEV2ZW50T3BlcmF0aW9uU3ViTG9jYWxMYWJlbChkZXRhaWwpO1xyXG4gICAgICAgIGlmIChsb2NhbExhYmVsKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBsb2NhbExhYmVsO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZGV0YWlsLmV2ZW50T3BlcmF0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0RXZlbnRPcGVyYXRpb25TdWJMb2NhbExhYmVsKGRldGFpbDogRXZlbnRDb250cm9sSXRlbSk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgICAgIGNvbnN0IHRyYW5sc2F0aW9uS2V5ID0gXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5cIiArIGRldGFpbC5ldmVudE9wZXJhdGlvbjtcclxuICAgICAgICBjb25zdCB0cmFuc2xhdGlvbiA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQodHJhbmxzYXRpb25LZXkpO1xyXG4gICAgICAgIGlmICh0cmFuc2xhdGlvbiAhPT0gdHJhbmxzYXRpb25LZXkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRyYW5zbGF0aW9uO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldEV2ZW50U3ViTGFiZWwoZGV0YWlsOiBFdmVudENvbnRyb2xJdGVtKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICAgICAgY29uc3QgZmllbGQgPSB0aGlzLmV2ZW50SXRlbS5maW5kKChlKSA9PiBlLnZhbHVlID09PSBkZXRhaWwuZXZlbnRPcGVyYXRpb24pPy5zdWJMYWJlbEZpZWxkO1xyXG4gICAgICAgIGlmICghZmllbGQgfHwgIWRldGFpbC5pbnB1dCkge1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdmFyIHBhdGggPSB0aGlzLmlucHV0RmllbGRzUGF0aC5maW5kKChmKSA9PiBmLmZpZWxkID09PSBmaWVsZCAmJiAoIWYub3BlcmF0aW9uIHx8IGYub3BlcmF0aW9uID09PSBkZXRhaWwuZXZlbnRPcGVyYXRpb24pKT8ucGF0aDtcclxuICAgICAgICB2YXIgZnVsbFBhdGggPSBwYXRoID8gYCR7cGF0aH0uJHtmaWVsZH1gIDogZmllbGQ7XHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldFZhbHVlRmllbGRKc29uRnJvbVBhdGgoZGV0YWlsLmlucHV0LCBmdWxsUGF0aCk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0RmllbGRWYWx1ZShmaWVsZCwgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0VmFsdWVGaWVsZEpzb25Gcm9tUGF0aChqc29uOiBzdHJpbmcsIHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgcGFyc2VkSnNvbiA9IEpTT04ucGFyc2UoanNvbik7XHJcbiAgICAgICAgICAgIGNvbnN0IGtleXMgPSBwYXRoLnNwbGl0KFwiLlwiKTtcclxuICAgICAgICAgICAgcmV0dXJuIGtleXMucmVkdWNlKChhY2MsIGtleSkgPT4gYWNjICYmIGFjY1trZXldLCBwYXJzZWRKc29uKTtcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICBjb25zb2xlLmluZm8oXCJFcnJvIGFvIGFjZXNzYXIgbyBvYmpldG8gcGVsbyBwYXRoOiBcIiArIHBhdGgsIGVycm9yKTtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZm9ybWF0RmllbGRWYWx1ZShmaWVsZDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgc3dpdGNoIChmaWVsZCkge1xyXG4gICAgICAgICAgICBjYXNlIElucHV0RmllbGRzLkFHUk9fSU5WT0lDRV9UWVBFOlxyXG4gICAgICAgICAgICBjYXNlIElucHV0RmllbGRzLklOVk9JQ0VfVFlQRTpcclxuICAgICAgICAgICAgICAgIGNvbnN0IGxhYmVsID0gdGhpcy5pbnZvaWNlVHlwZVRyYW5zbGF0ZS5maW5kKChlKSA9PiBlLnZhbHVlID09PSB2YWx1ZSk/LmxhYmVsO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGxhYmVsID8gdGhpcy50cmFuc2xhdGUuaW5zdGFudChsYWJlbCkgOiB2YWx1ZTtcclxuICAgICAgICAgICAgY2FzZSBJbnB1dEZpZWxkcy5JTlZPSUNFX05VTUJFUjpcclxuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZSA/IFwibsKwIFwiICsgdmFsdWUgOiB2YWx1ZTtcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uR3JpZENoYW5nZShldmVudDogYW55KSB7XHJcbiAgICAgICAgY29uc3Qgc2l6ZSA9IGV2ZW50Py5yb3dzO1xyXG4gICAgICAgIGNvbnN0IHBhZ2UgPSBldmVudD8uZmlyc3QgLyBzaXplO1xyXG4gICAgICAgIGNvbnN0IHNvcnQgPSBldmVudC5tdWx0aVNvcnRNZXRhO1xyXG4gICAgICAgIHRoaXMuZ3JpZExvYWRpbmcgPSB0cnVlO1xyXG4gICAgICAgIGlmIChzaXplICE9PSBBR1JPX05VTUJFUlMuVEVOIHx8IHBhZ2UgIT09IEFHUk9fTlVNQkVSUy5aRVJPIHx8IChzb3J0ICYmIHNvcnQubGVuZ3RoID4gQUdST19OVU1CRVJTLlpFUk8pKSB7XHJcbiAgICAgICAgICAgIHRoaXMucGFnaW5hdG9yU3RvcmFnZVNlcnZpY2Uuc3RvcmVQYWdpbmF0b3IoXCJFdmVudENvbnRyb2xCb2FyZFBhZ2luYXRvclwiLCB7IHBhZ2UsIHNpemUsIHNvcnQgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy51cGRhdGVHcmlkKHsgcGFnZSwgc2l6ZSwgc29ydCB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0UGFnZVNpemUoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudExpc3RQYXJhbXMuc2l6ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0Um93SW5kZXgoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudExpc3RQYXJhbXMucGFnZSAqIHRoaXMuY3VycmVudExpc3RQYXJhbXMuc2l6ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0U29ydEZpZWxkKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5jdXJyZW50TGlzdFBhcmFtcy5zb3J0IHx8IHRoaXMuY3VycmVudExpc3RQYXJhbXMuc29ydC5sZW5ndGggPD0gQUdST19OVU1CRVJTLlpFUk8pIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ3JpZENvbHVtbnNbQUdST19OVU1CRVJTLlpFUk9dLmZpZWxkO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50TGlzdFBhcmFtcy5zb3J0W0FHUk9fTlVNQkVSUy5aRVJPXS5maWVsZDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0U29ydE9yZGVyKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5jdXJyZW50TGlzdFBhcmFtcy5zb3J0IHx8IHRoaXMuY3VycmVudExpc3RQYXJhbXMuc29ydC5sZW5ndGggPD0gQUdST19OVU1CRVJTLlpFUk8pIHtcclxuICAgICAgICAgICAgcmV0dXJuIEFHUk9fTlVNQkVSUy5PTkU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50TGlzdFBhcmFtcy5zb3J0W0FHUk9fTlVNQkVSUy5aRVJPXS5vcmRlcjtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0RXJyb3JNZXNzYWdlcygpIHtcclxuICAgICAgICBjb25zdCB0cmFuc2xhdGVkRXJyb3JNZXNzYWdlczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIExvb2t1cEVycm9yTWVzc2FnZXMpIHtcclxuICAgICAgICAgICAgaWYgKExvb2t1cEVycm9yTWVzc2FnZXMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGUuZ2V0KExvb2t1cEVycm9yTWVzc2FnZXNba2V5XSkuc3Vic2NyaWJlKChyZXM6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZWRFcnJvck1lc3NhZ2VzW2tleV0gPSByZXM7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdHJhbnNsYXRlZEVycm9yTWVzc2FnZXM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UHJvZHVjZXJJbnZvaWNlSWRGcm9tUGFyYW1zKHBhcmFtOiBhbnkpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgICAgICBpZiAoIXBhcmFtKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIFtcclxuICAgICAgICAgICAgcGFyYW0ucHJvZHVjZXJJbnZvaWNlSWRzPy5bMF0sXHJcbiAgICAgICAgICAgIHBhcmFtLmludm9pY2U/LmdlbmVyYWxEYXRhPy50cmFuc2FjdGlvbmFsSWQsXHJcbiAgICAgICAgICAgIHBhcmFtLnByb2R1Y2VySW52b2ljZUlkLFxyXG4gICAgICAgICAgICBwYXJhbS5leHRlcm5hbElkLFxyXG4gICAgICAgICAgICBwYXJhbS5leHRlcm5hbEludm9pY2VJZHM/LlswXSxcclxuICAgICAgICBdLmZpbmQoKGlkKSA9PiBpZCkgPz8gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBnZXRQcm9kdWNlckJhbGFuY2VFbnRyeUNvbnRyb2xJZEZyb21QYXJhbXMocGFyYW06IGFueSkge1xyXG4gICAgICAgIGNvbnN0IHsgcHJvZHVjZXJCYWxhbmNlRW50cnlDb250cm9sSWQgfSA9IHBhcmFtO1xyXG4gICAgICAgIHJldHVybiBwcm9kdWNlckJhbGFuY2VFbnRyeUNvbnRyb2xJZCA/IHByb2R1Y2VyQmFsYW5jZUVudHJ5Q29udHJvbElkIDogbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RlcFNlbGVjdGVkKGV2ZW50OiBhbnkpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkU3RlcCA9IGV2ZW50LnN0ZXA7XHJcbiAgICAgICAgdGhpcy5hcHBseVNpZGViYXJUaXRsZShcIlwiKTtcclxuXHJcbiAgICAgICAgc3dpdGNoICh0aGlzLnNlbGVjdGVkU3RlcC5ldmVudFR5cGUpIHtcclxuICAgICAgICAgICAgY2FzZSBFdmVudE9yaWdpbi5CQUxBTkNFX0VOVFJZX0NPTlRST0w6XHJcbiAgICAgICAgICAgIGNhc2UgRXZlbnRPcmlnaW4uVElDS0VUOlxyXG4gICAgICAgICAgICBjYXNlIEV2ZW50T3JpZ2luLklOVk9JQ0U6XHJcbiAgICAgICAgICAgIGNhc2UgRXZlbnRPcmlnaW4uQ1JFQVRFX0lOVk9JQ0U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNpZGViYXJMb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXJhbSA9IEpTT04ucGFyc2UodGhpcy5zZWxlY3RlZFN0ZXAuaXRlbS5pbnB1dCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJvZHVjZXJJbnZvaWNlSWQgPSB0aGlzLmdldFByb2R1Y2VySW52b2ljZUlkRnJvbVBhcmFtcyhwYXJhbSk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGZpbHRlclF1ZXJ5ID0gXCJcIjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFwcm9kdWNlckludm9pY2VJZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwcm9kdWNlckJhbGFuY2VFbnRyeUNvbnRyb2xJZCA9IHRoaXMuZ2V0UHJvZHVjZXJCYWxhbmNlRW50cnlDb250cm9sSWRGcm9tUGFyYW1zKHBhcmFtKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcHJvZHVjZXJCYWxhbmNlRW50cnlDb250cm9sSWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2lkZWJhckxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyUXVlcnkgPSBgcHJvZHVjZXJCYWxhbmNlRW50cnlDb250cm9sLmlkIGVxICcke3Byb2R1Y2VyQmFsYW5jZUVudHJ5Q29udHJvbElkfSdgO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlclF1ZXJ5ID0gYGlkIGVxICcke3Byb2R1Y2VySW52b2ljZUlkfSdgO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9kdWNlckludm9pY2VTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5saXN0KHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlGaWVsZHM6IFtcIipcIiwgXCJwcm9kdWNlckJhbGFuY2VFbnRyeUNvbnRyb2wuKlwiLCBcInByb2R1Y2VyQmFsYW5jZUVudHJ5Q29udHJvbC5wcm9kdWNlci4qXCJdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyUXVlcnksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlOiAwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogMSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVzdWx0OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb2R1Y2VySW52b2ljZSA9IHJlc3VsdD8uY29udGVudHNbMF07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9kdWNlckludm9pY2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaWRlYmFyTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYXBwbHlTaWRlYmFyVGl0bGUodGhpcy5nZXRQcm9kdWNlckludm9pY2VOdW1iZXJBbmRTZXJpZSgpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaWRlYmFyTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgRXZlbnRPcmlnaW4uRklYQVRJT046XHJcbiAgICAgICAgICAgIGNhc2UgRXZlbnRPcmlnaW4uQ0FOQ0VMX0ZJWEFUSU9OOlxyXG4gICAgICAgICAgICBjYXNlIEV2ZW50T3JpZ2luLkNIQU5HRV9SRVFVRVNUOlxyXG4gICAgICAgICAgICBjYXNlIEV2ZW50T3JpZ2luLlRSQU5TRkVSOlxyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnNob3dSZXByb2Nlc3NCdXR0b24gPSBldmVudC5zdGVwLnN0YXRlID09PSBTdGVwU3RhdGUuV2FybmluZztcclxuXHJcbiAgICAgICAgdGhpcy5zaG93U2lkZWJhciA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhcHBseVNpZGViYXJUaXRsZSh0aXRsZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5zaWRlYmFyVGl0bGUgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfc2lkZWJhcl90aXRsZVwiLCB7IGV2ZW50TnVtYmVyOiB0aXRsZSB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldFByb2R1Y2VySW52b2ljZU51bWJlckFuZFNlcmllKCk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKHRoaXMucHJvZHVjZXJJbnZvaWNlPy5udW1iZXIgJiYgdGhpcy5wcm9kdWNlckludm9pY2U/LnNlcmllcykge1xyXG4gICAgICAgICAgICByZXR1cm4gYCR7dGhpcy5wcm9kdWNlckludm9pY2UubnVtYmVyfSAtICR7dGhpcy5wcm9kdWNlckludm9pY2Uuc2VyaWVzfWA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZXByb2Nlc3NFdmVudCgpIHtcclxuICAgICAgICBjb25zdCByZXByb2Nlc3NFdmVudE9iajogUmVwcm9jZXNzRmFpbGVkRXZlbnQgPSB7XHJcbiAgICAgICAgICAgIGV2ZW50Q29udHJvbEl0ZW1JZDogdGhpcy5zZWxlY3RlZFN0ZXAuaXRlbS5pZCxcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMuZXZlbnRDb250cm9sSXRlbVNlcnZpY2VcclxuICAgICAgICAgICAgLnJlcHJvY2Vzc0ZhaWxlZEV2ZW50KHJlcHJvY2Vzc0V2ZW50T2JqKVxyXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZE1lc3NhZ2UoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiaW5mb1wiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnJlcHJvY2Vzc2luZ19ldmVudF9tZXNzYWdlX3RpdGxlXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMucmVwcm9jZXNzaW5nX2V2ZW50X21lc3NhZ2VfZGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkTWVzc2FnZShcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJlcnJvclwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVycm9yX3JlcHJvY2Vzc2luZ19ldmVudF9tZXNzYWdlX3RpdGxlXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXJyb3JfcmVwcm9jZXNzaW5nX2V2ZW50X21lc3NhZ2VfZGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhZGRNZXNzYWdlKHNldmVyaXR5OiBzdHJpbmcsIHN1bW1hcnk6IHN0cmluZywgZGV0YWlsOiBzdHJpbmcsIGxpZmUgPSBBR1JPX05VTUJFUlMuRklWRV9TRUNPTkRTKSB7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe1xyXG4gICAgICAgICAgICBzZXZlcml0eSxcclxuICAgICAgICAgICAgc3VtbWFyeTogdGhpcy50cmFuc2xhdGUuaW5zdGFudChzdW1tYXJ5KSxcclxuICAgICAgICAgICAgZGV0YWlsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGRldGFpbCksXHJcbiAgICAgICAgICAgIGxpZmUsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9wZW5Nb2RhbCgpIHtcclxuICAgICAgICB0aGlzLmRpc3BsYXlNb2RhbCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5zaG93U2lkZWJhciA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBvcGVuQ2FuY2VsTW9kYWwoKSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5jYW5jZWxFdmVudERpYWxvZ0NvbmZpZy5iZWZvcmVPcGVuPy4oKTtcclxuICAgICAgICB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbihDYW5jZWxFdmVudERpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICAgICAgICBoZWFkZXI6IHRoaXMuY2FuY2VsRXZlbnREaWFsb2dDb25maWc/LmhlYWRlcixcclxuICAgICAgICAgICAgY29udGVudFN0eWxlOiB7IGhlaWdodDogXCIxMDAlXCIgfSxcclxuICAgICAgICAgICAgY2xvc2FibGU6IHRydWUsXHJcbiAgICAgICAgICAgIGNsb3NlT25Fc2NhcGU6IGZhbHNlLFxyXG4gICAgICAgICAgICBkYXRhOiB7IGNhbmNlbEV2ZW50RGlhbG9nQ29uZmlnOiB0aGlzLmNhbmNlbEV2ZW50RGlhbG9nQ29uZmlnIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNvbmZpcm1Nb2RhbCgpIHtcclxuICAgICAgICB0aGlzLnJlcHJvY2Vzc0V2ZW50KCk7XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5TW9kYWwgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY2FuY2VsTW9kYWwoKSB7XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5TW9kYWwgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY2xvc2VTaWRlYmFyKCkge1xyXG4gICAgICAgIHRoaXMuc2hvd1NpZGViYXIgPSBmYWxzZTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -17,14 +17,12 @@ import { EventControlItemModule } from "./service/event-control-item/event-contr
|
|
|
17
17
|
import { ExternalInvoiceModule } from "./service/external-invoice/external-invoice.module";
|
|
18
18
|
import { InvoiceModule } from "./service/invoice/invoice.module";
|
|
19
19
|
import { OriginationModule } from "./service/origination/origination.module";
|
|
20
|
-
import { ProducerInvoiceModule } from "./service/producer-invoice/producer-invoice.module";
|
|
21
20
|
import { RuralEstateModule } from "./service/rural-estate/rural-estate.module";
|
|
22
21
|
import { TicketModule } from "./service/ticket/ticket.module";
|
|
23
22
|
import { PaginatorStorageService } from "./service/paginator-storage.service";
|
|
24
23
|
import { WebsocketModule } from "../../services/websocket/websocket.module";
|
|
25
24
|
import { LibTranslationModule } from "../../lib-translation.module";
|
|
26
25
|
import { EventControlService } from "./service/event-control/event-control.service";
|
|
27
|
-
import { EventControlBoardService } from "./service/event-control-board.service";
|
|
28
26
|
import { TransferModule } from "./service/transfer/transfer.module";
|
|
29
27
|
import { FixationModule } from "./service/fixation-entity/fixation.module";
|
|
30
28
|
import { CancelEventDialogModule } from "../cancel-event-dialog/cancel-event-dialog.module";
|
|
@@ -52,7 +50,6 @@ var EventControlBoardModule = /** @class */ (function () {
|
|
|
52
50
|
ExternalInvoiceModule,
|
|
53
51
|
InvoiceModule,
|
|
54
52
|
OriginationModule,
|
|
55
|
-
ProducerInvoiceModule,
|
|
56
53
|
RuralEstateModule,
|
|
57
54
|
TicketModule,
|
|
58
55
|
WebsocketModule,
|
|
@@ -63,10 +60,10 @@ var EventControlBoardModule = /** @class */ (function () {
|
|
|
63
60
|
declarations: [EventControlBoardComponent],
|
|
64
61
|
exports: [EventControlBoardComponent],
|
|
65
62
|
providers: [E012famService, E205depService, PaginatorStorageService,
|
|
66
|
-
EventControlService,
|
|
63
|
+
EventControlService, DialogService],
|
|
67
64
|
})
|
|
68
65
|
], EventControlBoardModule);
|
|
69
66
|
return EventControlBoardModule;
|
|
70
67
|
}());
|
|
71
68
|
export { EventControlBoardModule };
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtY29udHJvbC1ib2FyZC5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWFncm9uZWdvY2lvL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZXZlbnQtY29udHJvbC1ib2FyZC9ldmVudC1jb250cm9sLWJvYXJkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM3RixPQUFPLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNoRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUU1RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNwRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBa0M1RjtJQUFBO0lBQXNDLENBQUM7SUFBMUIsdUJBQXVCO1FBaENuQyxRQUFRLENBQUM7WUFDTixPQUFPLEVBQUU7Z0JBQ0wsWUFBWSxDQUFDLFFBQVEsRUFBRTtnQkFDdkIsWUFBWTtnQkFDWixZQUFZO2dCQUNaLGdCQUFnQjtnQkFDaEIsWUFBWTtnQkFDWixjQUFjO2dCQUNkLFdBQVc7Z0JBQ1gsYUFBYTtnQkFDYixhQUFhO2dCQUNiLGFBQWE7Z0JBQ2IsYUFBYTtnQkFDYixjQUFjO2dCQUNkLGFBQWE7Z0JBQ2Isa0JBQWtCO2dCQUNsQixzQkFBc0I7Z0JBQ3RCLHFCQUFxQjtnQkFDckIsYUFBYTtnQkFDYixpQkFBaUI7Z0JBQ2pCLGlCQUFpQjtnQkFDakIsWUFBWTtnQkFDWixlQUFlO2dCQUNmLG9CQUFvQjtnQkFDcEIsY0FBYztnQkFDZCx1QkFBdUI7YUFDMUI7WUFDRCxZQUFZLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztZQUMxQyxPQUFPLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztZQUNyQyxTQUFTLEVBQUUsQ0FBQyxjQUFjLEVBQUUsY0FBYyxFQUFFLHVCQUF1QjtnQkFDL0QsbUJBQW1CLEVBQUUsYUFBYSxDQUFDO1NBQzFDLENBQUM7T0FDVyx1QkFBdUIsQ0FBRztJQUFELDhCQUFDO0NBQUEsQUFBdkMsSUFBdUM7U0FBMUIsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBMb2NhbGVNb2R1bGUsIEJ1dHRvbk1vZHVsZSwgQmFkZ2VNb2R1bGUgfSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50c1wiO1xyXG5pbXBvcnQgeyBEaWFsb2dNb2R1bGUsIERpYWxvZ1NlcnZpY2UsIEZpZWxkc2V0TW9kdWxlIH0gZnJvbSBcInByaW1lbmdcIjtcclxuaW1wb3J0IHsgRXZlbnRTdGVwc01vZHVsZSB9IGZyb20gXCIuLi9ldmVudC1zdGVwcy9ldmVudC1zdGVwcy5tb2R1bGVcIjtcclxuaW1wb3J0IHsgRXZlbnRDb250cm9sQm9hcmRDb21wb25lbnQgfSBmcm9tIFwiLi9ldmVudC1jb250cm9sLWJvYXJkLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBTaGFyZWRNb2R1bGUgfSBmcm9tIFwiLi9zaGFyZWQubW9kdWxlXCI7XHJcbmltcG9ydCB7IEUwMDFwZXNNb2R1bGUgfSBmcm9tIFwiLi9zZXJ2aWNlL2UwMDFwZXMvZTAwMXBlcy5tb2R1bGVcIjtcclxuaW1wb3J0IHsgRTAwMVRuc01vZHVsZSB9IGZyb20gXCIuL3NlcnZpY2UvZTAwMXRucy9lMDAxdG5zLm1vZHVsZVwiO1xyXG5pbXBvcnQgeyBFMDEyZmFtU2VydmljZSB9IGZyb20gXCIuL3NlcnZpY2UvZTAxMmZhbS9lMDEyZmFtLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRTA3MEVtcE1vZHVsZSB9IGZyb20gXCIuL3NlcnZpY2UvZTA3MGVtcC9lMDcwZW1wLm1vZHVsZVwiO1xyXG5pbXBvcnQgeyBFMDcwRmlsTW9kdWxlIH0gZnJvbSBcIi4vc2VydmljZS9lMDcwZmlsL2UwNzBmaWwubW9kdWxlXCI7XHJcbmltcG9ydCB7IEUwNzVEZXJNb2R1bGUgfSBmcm9tIFwiLi9zZXJ2aWNlL2UwNzVkZXIvZTA3NWRlci5tb2R1bGVcIjtcclxuaW1wb3J0IHsgRTIwNWRlcFNlcnZpY2UgfSBmcm9tIFwiLi9zZXJ2aWNlL2UyMDVkZXAvZTIwNWRlcC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEV2ZW50Q29udHJvbE1vZHVsZSB9IGZyb20gXCIuL3NlcnZpY2UvZXZlbnQtY29udHJvbC9ldmVudC1jb250cm9sLm1vZHVsZVwiO1xyXG5pbXBvcnQgeyBFdmVudENvbnRyb2xJdGVtTW9kdWxlIH0gZnJvbSBcIi4vc2VydmljZS9ldmVudC1jb250cm9sLWl0ZW0vZXZlbnQtY29udHJvbC1pdGVtLm1vZHVsZVwiO1xyXG5pbXBvcnQgeyBFeHRlcm5hbEludm9pY2VNb2R1bGUgfSBmcm9tIFwiLi9zZXJ2aWNlL2V4dGVybmFsLWludm9pY2UvZXh0ZXJuYWwtaW52b2ljZS5tb2R1bGVcIjtcclxuaW1wb3J0IHsgSW52b2ljZU1vZHVsZSB9IGZyb20gXCIuL3NlcnZpY2UvaW52b2ljZS9pbnZvaWNlLm1vZHVsZVwiO1xyXG5pbXBvcnQgeyBPcmlnaW5hdGlvbk1vZHVsZSB9IGZyb20gXCIuL3NlcnZpY2Uvb3JpZ2luYXRpb24vb3JpZ2luYXRpb24ubW9kdWxlXCI7XHJcbmltcG9ydCB7IFJ1cmFsRXN0YXRlTW9kdWxlIH0gZnJvbSBcIi4vc2VydmljZS9ydXJhbC1lc3RhdGUvcnVyYWwtZXN0YXRlLm1vZHVsZVwiO1xyXG5pbXBvcnQgeyBUaWNrZXRNb2R1bGUgfSBmcm9tIFwiLi9zZXJ2aWNlL3RpY2tldC90aWNrZXQubW9kdWxlXCI7XHJcbmltcG9ydCB7IFBhZ2luYXRvclN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSBcIi4vc2VydmljZS9wYWdpbmF0b3Itc3RvcmFnZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFdlYnNvY2tldE1vZHVsZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy93ZWJzb2NrZXQvd2Vic29ja2V0Lm1vZHVsZVwiO1xyXG5cclxuaW1wb3J0IHsgTGliVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tIFwiLi4vLi4vbGliLXRyYW5zbGF0aW9uLm1vZHVsZVwiO1xyXG5pbXBvcnQgeyBFdmVudENvbnRyb2xTZXJ2aWNlIH0gZnJvbSBcIi4vc2VydmljZS9ldmVudC1jb250cm9sL2V2ZW50LWNvbnRyb2wuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBUcmFuc2Zlck1vZHVsZSB9IGZyb20gXCIuL3NlcnZpY2UvdHJhbnNmZXIvdHJhbnNmZXIubW9kdWxlXCI7XHJcbmltcG9ydCB7IEZpeGF0aW9uTW9kdWxlIH0gZnJvbSBcIi4vc2VydmljZS9maXhhdGlvbi1lbnRpdHkvZml4YXRpb24ubW9kdWxlXCI7XHJcbmltcG9ydCB7IENhbmNlbEV2ZW50RGlhbG9nTW9kdWxlIH0gZnJvbSBcIi4uL2NhbmNlbC1ldmVudC1kaWFsb2cvY2FuY2VsLWV2ZW50LWRpYWxvZy5tb2R1bGVcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgTG9jYWxlTW9kdWxlLmZvckNoaWxkKCksXHJcbiAgICAgICAgU2hhcmVkTW9kdWxlLFxyXG4gICAgICAgIEJ1dHRvbk1vZHVsZSxcclxuICAgICAgICBFdmVudFN0ZXBzTW9kdWxlLFxyXG4gICAgICAgIERpYWxvZ01vZHVsZSxcclxuICAgICAgICBGaWVsZHNldE1vZHVsZSxcclxuICAgICAgICBCYWRnZU1vZHVsZSxcclxuICAgICAgICBFMDAxcGVzTW9kdWxlLFxyXG4gICAgICAgIEUwMDFUbnNNb2R1bGUsXHJcbiAgICAgICAgRTA3MEVtcE1vZHVsZSxcclxuICAgICAgICBFMDcwRmlsTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zZmVyTW9kdWxlLFxyXG4gICAgICAgIEUwNzVEZXJNb2R1bGUsXHJcbiAgICAgICAgRXZlbnRDb250cm9sTW9kdWxlLFxyXG4gICAgICAgIEV2ZW50Q29udHJvbEl0ZW1Nb2R1bGUsXHJcbiAgICAgICAgRXh0ZXJuYWxJbnZvaWNlTW9kdWxlLFxyXG4gICAgICAgIEludm9pY2VNb2R1bGUsXHJcbiAgICAgICAgT3JpZ2luYXRpb25Nb2R1bGUsXHJcbiAgICAgICAgUnVyYWxFc3RhdGVNb2R1bGUsXHJcbiAgICAgICAgVGlja2V0TW9kdWxlLFxyXG4gICAgICAgIFdlYnNvY2tldE1vZHVsZSxcclxuICAgICAgICBMaWJUcmFuc2xhdGlvbk1vZHVsZSxcclxuICAgICAgICBGaXhhdGlvbk1vZHVsZSxcclxuICAgICAgICBDYW5jZWxFdmVudERpYWxvZ01vZHVsZSxcclxuICAgIF0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFtFdmVudENvbnRyb2xCb2FyZENvbXBvbmVudF0sXHJcbiAgICBleHBvcnRzOiBbRXZlbnRDb250cm9sQm9hcmRDb21wb25lbnRdLFxyXG4gICAgcHJvdmlkZXJzOiBbRTAxMmZhbVNlcnZpY2UsIEUyMDVkZXBTZXJ2aWNlLCBQYWdpbmF0b3JTdG9yYWdlU2VydmljZSxcclxuICAgICAgICBFdmVudENvbnRyb2xTZXJ2aWNlLCBEaWFsb2dTZXJ2aWNlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEV2ZW50Q29udHJvbEJvYXJkTW9kdWxlIHt9XHJcbiJdfQ==
|