@senior-agronegocio/angular-components 0.0.76 → 0.0.78
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 +145 -139
- package/bundles/senior-agronegocio-angular-components.umd.js.map +1 -1
- package/bundles/senior-agronegocio-angular-components.umd.min.js +1 -1
- package/bundles/senior-agronegocio-angular-components.umd.min.js.map +1 -1
- package/components/cancel-event-dialog/index.d.ts +3 -3
- package/components/event-control-board/event-control-board.component.d.ts +4 -2
- package/components/event-control-board/index.d.ts +24 -24
- package/components/event-control-board/service/event-control-item/event-control-item.d.ts +4 -4
- package/components/event-steps/index.d.ts +2 -2
- package/components/index.d.ts +3 -3
- package/enums/index.d.ts +6 -6
- package/esm2015/common/agro-string-utils.class.js +13 -34
- package/esm2015/components/cancel-event-dialog/cancel-event-dialog.module.js +2 -10
- package/esm2015/components/cancel-event-dialog/index.js +3 -3
- package/esm2015/components/event-control-board/common/control-status.js +1 -1
- package/esm2015/components/event-control-board/common/event-control-constants.js +55 -14
- package/esm2015/components/event-control-board/event-control-board.component.js +70 -65
- package/esm2015/components/event-control-board/index.js +24 -24
- package/esm2015/components/event-control-board/service/event-control/event-control.module.js +7 -9
- package/esm2015/components/event-control-board/service/event-control-item/event-control-item.js +15 -15
- package/esm2015/components/event-control-board/service/event-control-item/event-control-item.module.js +7 -9
- package/esm2015/components/event-control-board/service/external-invoice/external-invoice.module.js +7 -9
- package/esm2015/components/event-control-board/service/fixation-entity/fixation.module.js +6 -6
- package/esm2015/components/event-control-board/service/rural-estate/rural-estate.module.js +7 -9
- package/esm2015/components/event-control-board/shared.module.js +9 -9
- package/esm2015/components/event-steps/index.js +3 -3
- package/esm2015/components/index.js +4 -4
- package/esm2015/enums/agro-string-masks.enum.js +1 -1
- package/esm2015/enums/date-comparison-type.enum.js +1 -1
- package/esm2015/enums/index.js +7 -7
- package/esm2015/enums/number-comparison-type.enum.js +1 -1
- package/esm2015/services/i18n/pt-BR.js +2 -2
- package/esm2015/services/websocket/websocket.service.js +1 -2
- package/esm5/common/agro-string-utils.class.js +13 -34
- package/esm5/components/cancel-event-dialog/cancel-event-dialog.module.js +2 -10
- package/esm5/components/cancel-event-dialog/index.js +3 -3
- package/esm5/components/event-control-board/common/control-status.js +1 -1
- package/esm5/components/event-control-board/common/event-control-constants.js +55 -14
- package/esm5/components/event-control-board/event-control-board.component.js +65 -62
- package/esm5/components/event-control-board/index.js +24 -24
- package/esm5/components/event-control-board/service/event-control/event-control.module.js +7 -9
- package/esm5/components/event-control-board/service/event-control-item/event-control-item.js +15 -15
- package/esm5/components/event-control-board/service/event-control-item/event-control-item.module.js +7 -9
- package/esm5/components/event-control-board/service/external-invoice/external-invoice.module.js +7 -9
- package/esm5/components/event-control-board/service/fixation-entity/fixation.module.js +6 -6
- package/esm5/components/event-control-board/service/rural-estate/rural-estate.module.js +7 -9
- package/esm5/components/event-control-board/shared.module.js +9 -9
- package/esm5/components/event-steps/index.js +3 -3
- package/esm5/components/index.js +4 -4
- package/esm5/enums/agro-string-masks.enum.js +1 -1
- package/esm5/enums/date-comparison-type.enum.js +1 -1
- package/esm5/enums/index.js +7 -7
- package/esm5/enums/number-comparison-type.enum.js +1 -1
- package/esm5/services/i18n/pt-BR.js +2 -2
- package/esm5/services/websocket/websocket.service.js +2 -3
- package/fesm2015/senior-agronegocio-angular-components.js +150 -142
- package/fesm2015/senior-agronegocio-angular-components.js.map +1 -1
- package/fesm5/senior-agronegocio-angular-components.js +145 -139
- package/fesm5/senior-agronegocio-angular-components.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { CancelEventDialogComponent } from
|
|
2
|
-
export { CancelEventDialogModule } from
|
|
3
|
-
export { CancelEventDialogConfig } from
|
|
1
|
+
export { CancelEventDialogComponent } from "./cancel-event-dialog.component";
|
|
2
|
+
export { CancelEventDialogModule } from "./cancel-event-dialog.module";
|
|
3
|
+
export { CancelEventDialogConfig } from "./cancel-event-dialog-config";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from
|
|
1
|
+
import { EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from "@angular/core";
|
|
2
2
|
import { FormBuilder, FormGroup } from "@angular/forms";
|
|
3
3
|
import { BadgeColors, ButtonPriority, FormField, Step } from "@seniorsistemas/angular-components";
|
|
4
4
|
import { DialogService, MessageService } from "primeng";
|
|
@@ -34,7 +34,7 @@ export declare class EventControlBoardComponent implements OnInit, OnDestroy, On
|
|
|
34
34
|
producerInvoice: any;
|
|
35
35
|
steps: Step[];
|
|
36
36
|
selectedStep: any;
|
|
37
|
-
eventId:
|
|
37
|
+
eventId: "";
|
|
38
38
|
showSidebar: boolean;
|
|
39
39
|
showReprocessButton: boolean;
|
|
40
40
|
sidebarTitle: string;
|
|
@@ -94,6 +94,8 @@ export declare class EventControlBoardComponent implements OnInit, OnDestroy, On
|
|
|
94
94
|
};
|
|
95
95
|
getProducerInvoiceIdFromParams(param: any): any;
|
|
96
96
|
stepSelected(event: any): void;
|
|
97
|
+
private applySidebarTitle;
|
|
98
|
+
private getProducerInvoiceNumberAndSerie;
|
|
97
99
|
reprocessEvent(): void;
|
|
98
100
|
private addMessage;
|
|
99
101
|
openModal(): void;
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
export { EventControlBoardComponent } from
|
|
2
|
-
export { EventControlBoardService } from
|
|
3
|
-
export { SharedModule } from
|
|
4
|
-
export { EventControlBoardModule } from
|
|
5
|
-
export { EventStepsModule } from
|
|
6
|
-
export { FixationModule } from
|
|
7
|
-
export { E001pesModule } from
|
|
8
|
-
export { E001TnsModule } from
|
|
9
|
-
export { E070EmpModule } from
|
|
10
|
-
export { E070FilModule } from
|
|
11
|
-
export { E075DerModule } from
|
|
12
|
-
export { E205depService } from
|
|
13
|
-
export { EventControlModule } from
|
|
14
|
-
export { EventControlItemModule } from
|
|
15
|
-
export { ExternalInvoiceModule } from
|
|
16
|
-
export { InvoiceModule } from
|
|
17
|
-
export { OriginationModule } from
|
|
18
|
-
export { ProducerInvoiceModule } from
|
|
19
|
-
export { RuralEstateModule } from
|
|
20
|
-
export { TicketModule } from
|
|
21
|
-
export { PaginatorStorageService } from
|
|
22
|
-
export { TransferModule } from
|
|
23
|
-
export { CancelEventDialogModule } from
|
|
24
|
-
export { CancelEventDialogConfig } from
|
|
1
|
+
export { EventControlBoardComponent } from "./event-control-board.component";
|
|
2
|
+
export { EventControlBoardService } from "./service/event-control-board.service";
|
|
3
|
+
export { SharedModule } from "./shared.module";
|
|
4
|
+
export { EventControlBoardModule } from "./event-control-board.module";
|
|
5
|
+
export { EventStepsModule } from "../event-steps/index";
|
|
6
|
+
export { FixationModule } from "./service/fixation-entity/fixation.module";
|
|
7
|
+
export { E001pesModule } from "./service/e001pes/e001pes.module";
|
|
8
|
+
export { E001TnsModule } from "./service/e001tns/e001tns.module";
|
|
9
|
+
export { E070EmpModule } from "./service/e070emp/e070emp.module";
|
|
10
|
+
export { E070FilModule } from "./service/e070fil/e070fil.module";
|
|
11
|
+
export { E075DerModule } from "./service/e075der/e075der.module";
|
|
12
|
+
export { E205depService } from "./service/e205dep/e205dep.service";
|
|
13
|
+
export { EventControlModule } from "./service/event-control/event-control.module";
|
|
14
|
+
export { EventControlItemModule } from "./service/event-control-item/event-control-item.module";
|
|
15
|
+
export { ExternalInvoiceModule } from "./service/external-invoice/external-invoice.module";
|
|
16
|
+
export { InvoiceModule } from "./service/invoice/invoice.module";
|
|
17
|
+
export { OriginationModule } from "./service/origination/origination.module";
|
|
18
|
+
export { ProducerInvoiceModule } from "./service/producer-invoice/producer-invoice.module";
|
|
19
|
+
export { RuralEstateModule } from "./service/rural-estate/rural-estate.module";
|
|
20
|
+
export { TicketModule } from "./service/ticket/ticket.module";
|
|
21
|
+
export { PaginatorStorageService } from "./service/paginator-storage.service";
|
|
22
|
+
export { TransferModule } from "./service/transfer/transfer.module";
|
|
23
|
+
export { CancelEventDialogModule } from "../cancel-event-dialog/index";
|
|
24
|
+
export { CancelEventDialogConfig } from "../cancel-event-dialog/cancel-event-dialog-config";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { EventControlItemDto } from
|
|
2
|
-
import { EventControl } from
|
|
3
|
-
import { EventOperation } from
|
|
4
|
-
import { EventStatus } from
|
|
1
|
+
import { EventControlItemDto } from "../event-control-item/event-control-item-dto";
|
|
2
|
+
import { EventControl } from "../event-control/event-control";
|
|
3
|
+
import { EventOperation } from "../../common/event-operation";
|
|
4
|
+
import { EventStatus } from "../../common/event-status";
|
|
5
5
|
export declare class EventControlItem {
|
|
6
6
|
id?: string;
|
|
7
7
|
eventControl: EventControl;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { EventStepsComponent } from
|
|
2
|
-
export { EventStepsModule } from
|
|
1
|
+
export { EventStepsComponent } from "./event-steps.component";
|
|
2
|
+
export { EventStepsModule } from "./event-steps.module";
|
package/components/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
1
|
+
export * from "./event-control-board/index";
|
|
2
|
+
export * from "./event-steps/index";
|
|
3
|
+
export * from "./cancel-event-dialog/index";
|
package/enums/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { AgroEntityStatus } from
|
|
2
|
-
export { AGRO_NUMBERS, NUMBERS } from
|
|
3
|
-
export { AgroStringMasks } from
|
|
4
|
-
export { DateComparisonType } from
|
|
5
|
-
export { HttpCodes } from
|
|
6
|
-
export { NumberComparisonType } from
|
|
1
|
+
export { AgroEntityStatus } from "./agro-entity-status.enum";
|
|
2
|
+
export { AGRO_NUMBERS, NUMBERS } from "./agro-numbers.enum";
|
|
3
|
+
export { AgroStringMasks } from "./agro-string-masks.enum";
|
|
4
|
+
export { DateComparisonType } from "./date-comparison-type.enum";
|
|
5
|
+
export { HttpCodes } from "./http-codes.enum";
|
|
6
|
+
export { NumberComparisonType } from "./number-comparison-type.enum";
|
|
@@ -251,42 +251,21 @@ export class AgroStringUtils {
|
|
|
251
251
|
return matches ? matches.length : AGRO_NUMBERS.ZERO;
|
|
252
252
|
}
|
|
253
253
|
static validateCPF(cpf) {
|
|
254
|
-
// Remover caracteres não numéricos
|
|
255
254
|
cpf = cpf.replace(/\D/g, "");
|
|
256
|
-
|
|
257
|
-
if (cpf.length !== AGRO_NUMBERS.ELEVEN) {
|
|
255
|
+
if (cpf.length !== 11 || /^(\d)\1+$/.test(cpf)) {
|
|
258
256
|
return false;
|
|
259
257
|
}
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
if (remainder === AGRO_NUMBERS.TEN || remainder === AGRO_NUMBERS.ELEVEN) {
|
|
272
|
-
remainder = AGRO_NUMBERS.ZERO;
|
|
273
|
-
}
|
|
274
|
-
if (remainder !== parseInt(cpf[AGRO_NUMBERS.NINE])) {
|
|
275
|
-
return false;
|
|
276
|
-
}
|
|
277
|
-
// Calcular o segundo dígito verificador
|
|
278
|
-
sum = AGRO_NUMBERS.ZERO;
|
|
279
|
-
for (let i = AGRO_NUMBERS.ONE; i <= AGRO_NUMBERS.TEN; i++) {
|
|
280
|
-
sum += parseInt(cpf[i - AGRO_NUMBERS.ONE]) * (AGRO_NUMBERS.TWELVE - i);
|
|
281
|
-
}
|
|
282
|
-
remainder = sum % AGRO_NUMBERS.ELEVEN;
|
|
283
|
-
if (remainder === AGRO_NUMBERS.TEN || remainder === AGRO_NUMBERS.ELEVEN) {
|
|
284
|
-
remainder = AGRO_NUMBERS.ZERO;
|
|
285
|
-
}
|
|
286
|
-
if (remainder !== parseInt(cpf[AGRO_NUMBERS.TEN])) {
|
|
287
|
-
return false;
|
|
288
|
-
}
|
|
289
|
-
return true;
|
|
258
|
+
const calcVerifier = (cpf, length) => {
|
|
259
|
+
let sum = 0;
|
|
260
|
+
for (let i = 0; i < length; i++) {
|
|
261
|
+
sum += parseInt(cpf[i]) * (length + 1 - i);
|
|
262
|
+
}
|
|
263
|
+
let result = sum % 11;
|
|
264
|
+
return result < 2 ? 0 : 11 - result;
|
|
265
|
+
};
|
|
266
|
+
const digit1 = calcVerifier(cpf, 9);
|
|
267
|
+
const digit2 = calcVerifier(cpf, 10);
|
|
268
|
+
return digit1 === parseInt(cpf[9]) && digit2 === parseInt(cpf[10]);
|
|
290
269
|
}
|
|
291
270
|
static validateCNPJ(cnpj) {
|
|
292
271
|
// Remove todos os caracteres não numéricos
|
|
@@ -364,4 +343,4 @@ export class AgroStringUtils {
|
|
|
364
343
|
return !AgroStringUtils.isValid(str);
|
|
365
344
|
}
|
|
366
345
|
}
|
|
367
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdyby1zdHJpbmctdXRpbHMuY2xhc3MuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWFncm9uZWdvY2lvL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbW1vbi9hZ3JvLXN0cmluZy11dGlscy5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxJQUFJLFdBQVcsRUFBRSxDQUFDO0FBRzFDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7SUFDeEI7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBbUI7O1FBQzlCLE9BQU8sQ0FBQyxHQUFHLElBQUksT0FBQSxHQUFHLENBQUMsSUFBSSxFQUFFLDBDQUFFLE1BQU0sTUFBSyxZQUFZLENBQUMsSUFBSSxDQUFDO0lBQzVELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFtQjtRQUNqQyxPQUFPLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBbUI7UUFDOUIsT0FBTyxDQUFDLEdBQUcsSUFBSSxVQUFVLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBbUI7UUFDakMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQW1CO1FBQ2pDLElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDdEIsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNCLE9BQU8sT0FBTyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQW9CLEVBQUUsSUFBb0I7UUFDOUQsT0FBTyxDQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxXQUFXLFNBQU8sSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLFdBQVcsR0FBRSxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBb0IsRUFBRSxJQUFvQjtRQUNwRCxPQUFPLElBQUksS0FBSyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQVc7UUFDdEIsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBVztRQUN0QixPQUFPLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQVc7UUFDaEMsT0FBTyxVQUFVLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFXO1FBQ2hDLE9BQU8sVUFBVSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQVc7UUFDeEIsT0FBTyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBVztRQUNyQixPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFXO1FBQ3ZCLE9BQU8sVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFZLEVBQUUsSUFBWTtRQUN4QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDekIsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDakMsS0FBSyxJQUFJLENBQUMsR0FBRyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMzRCxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3JCLElBQUksRUFBRSxDQUFDO2FBQ1Y7U0FDSjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBWSxFQUFFLElBQVk7UUFDdEMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBWSxFQUFFLElBQVk7UUFDeEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBWSxFQUFFLElBQVk7UUFDdEMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxJQUFZLEVBQUUsSUFBWTtRQUNsRCxPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLGtCQUFrQixDQUFDLElBQVksRUFBRSxJQUFZO1FBQ2hELE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBVztRQUMxQixPQUFPLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBVztRQUMxQixPQUFPLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBVztRQUN2QixJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDakIsS0FBSyxJQUFJLENBQUMsR0FBRyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2pELE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwQixJQUFJLElBQUksS0FBSyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUU7Z0JBQzdCLE9BQU8sSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDakM7aUJBQU07Z0JBQ0gsT0FBTyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQzthQUNqQztTQUNKO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQVc7UUFDekIsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFXO1FBQzNCLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQVcsRUFBRSxTQUFpQjtRQUM5QyxNQUFNLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDekMsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ25CLElBQUksS0FBSyxDQUFDO1FBQ1YsT0FBTyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ3ZDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDMUI7UUFDRCxPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztJQUN4RCxDQUFDO0lBRUQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFXO1FBQzFCLG1DQUFtQztRQUNuQyxHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFN0Isb0NBQW9DO1FBQ3BDLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxZQUFZLENBQUMsTUFBTSxFQUFFO1lBQ3BDLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsd0ZBQXdGO1FBQ3hGLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUMxQixPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELHlDQUF5QztRQUN6QyxJQUFJLEdBQUcsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDO1FBQzVCLElBQUksU0FBaUIsQ0FBQztRQUN0QixLQUFLLElBQUksQ0FBQyxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDeEQsR0FBRyxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztTQUMxRTtRQUNELFNBQVMsR0FBRyxHQUFHLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQztRQUN0QyxJQUFJLFNBQVMsS0FBSyxZQUFZLENBQUMsR0FBRyxJQUFJLFNBQVMsS0FBSyxZQUFZLENBQUMsTUFBTSxFQUFFO1lBQ3JFLFNBQVMsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDO1NBQ2pDO1FBQ0QsSUFBSSxTQUFTLEtBQUssUUFBUSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRTtZQUNoRCxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELHdDQUF3QztRQUN4QyxHQUFHLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQztRQUN4QixLQUFLLElBQUksQ0FBQyxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDdkQsR0FBRyxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztTQUMxRTtRQUNELFNBQVMsR0FBRyxHQUFHLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQztRQUN0QyxJQUFJLFNBQVMsS0FBSyxZQUFZLENBQUMsR0FBRyxJQUFJLFNBQVMsS0FBSyxZQUFZLENBQUMsTUFBTSxFQUFFO1lBQ3JFLFNBQVMsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDO1NBQ2pDO1FBQ0QsSUFBSSxTQUFTLEtBQUssUUFBUSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtZQUMvQyxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFHRCxNQUFNLENBQUMsWUFBWSxDQUFDLElBQVk7UUFDNUIsMkNBQTJDO1FBQzNDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUUvQiw2QkFBNkI7UUFDN0IsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLEVBQUU7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUVyQyx5RkFBeUY7UUFDekYsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBRTVDLHlDQUF5QztRQUN6QyxJQUFJLElBQUksR0FBRyxDQUFDLENBQUM7UUFDYixJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbEQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN6QixJQUFJLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDaEQ7UUFDRCxJQUFJLEtBQUssR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksT0FBTyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUV6Qyx3Q0FBd0M7UUFDeEMsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNULElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDckQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN6QixJQUFJLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDaEQ7UUFDRCxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNsQixJQUFJLE9BQU8sR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFFekMsbURBQW1EO1FBQ25ELE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxPQUFPLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxPQUFPLENBQUM7SUFDMUYsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBYSxFQUFFLElBQVk7UUFDeEMsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM5QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pDLElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUVyQixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDVixLQUFLLE1BQU0sUUFBUSxJQUFJLFNBQVMsRUFBRTtZQUM5QixJQUFJLENBQUMsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFO2dCQUN4QixNQUFNO2FBQ1Q7WUFDRCxJQUFJLFFBQVEsS0FBSyxHQUFHLEVBQUU7Z0JBQ2xCLFdBQVcsSUFBSSxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNsQztpQkFBTTtnQkFDSCxXQUFXLElBQUksUUFBUSxDQUFDO2FBQzNCO1NBQ0o7UUFFRCxPQUFPLFdBQVcsQ0FBQztJQUN2QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBbUI7UUFDOUIsSUFBSSxPQUFPLEdBQUcsS0FBSyxXQUFXLElBQUksR0FBRyxLQUFLLElBQUksRUFBRTtZQUM1QyxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELElBQUksZUFBZSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNqQyxPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQW1CO1FBQ2hDLE9BQU8sQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFHUk9fTlVNQkVSUyB9IGZyb20gXCIuLi9lbnVtc1wiO1xyXG5pbXBvcnQgeyBBR1JPX1JFR0VYIH0gZnJvbSBcIi4vYWdyby1yZWdleC5jb25zdGFudFwiO1xyXG5cclxuZXhwb3J0IHsgQWdyb1N0cmluZ1V0aWxzIGFzIFN0cmluZ1V0aWxzIH07XHJcblxyXG5leHBvcnQgdHlwZSBOdWxsYWJsZVN0cmluZyA9IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XHJcbi8qKlxyXG4gKiBDbGFzc2UgdXRpbGl0w6FyaWEgcGFyYSBvcGVyYcOnw7VlcyBkZSBzdHJpbmcuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQWdyb1N0cmluZ1V0aWxzIHtcclxuICAgIC8qKlxyXG4gICAgICogVmVyaWZpY2Egc2UgdW1hIHN0cmluZyBlc3TDoSB2YXppYSBvdSBjb25zaXN0ZSBhcGVuYXMgZGUgY2FyYWN0ZXJlcyBkZSBlc3Bhw6dvIGVtIGJyYW5jby5cclxuICAgICAqIEBwYXJhbSBzdHIgLSBBIHN0cmluZyBhIHNlciB2ZXJpZmljYWRhLlxyXG4gICAgICogQHJldHVybnMgVHJ1ZSBzZSBhIHN0cmluZyBlc3RpdmVyIHZhemlhIG91IGNvbnNpc3RpciBhcGVuYXMgZGUgY2FyYWN0ZXJlcyBkZSBlc3Bhw6dvIGVtIGJyYW5jbywgZmFsc2UgY2FzbyBjb250csOhcmlvLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgaXNFbXB0eShzdHI6IE51bGxhYmxlU3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuICFzdHIgfHwgc3RyLnRyaW0oKT8ubGVuZ3RoID09PSBBR1JPX05VTUJFUlMuWkVSTztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcmlmaWNhIHNlIHVtYSBzdHJpbmcgbsOjbyBlc3TDoSB2YXppYSBlIG7Do28gY29uc2lzdGUgYXBlbmFzIGRlIGNhcmFjdGVyZXMgZGUgZXNwYcOnbyBlbSBicmFuY28uXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgYSBzZXIgdmVyaWZpY2FkYS5cclxuICAgICAqIEByZXR1cm5zIFRydWUgc2UgYSBzdHJpbmcgbsOjbyBlc3RpdmVyIHZhemlhIGUgbsOjbyBjb25zaXN0aXIgYXBlbmFzIGRlIGNhcmFjdGVyZXMgZGUgZXNwYcOnbyBlbSBicmFuY28sIGZhbHNlIGNhc28gY29udHLDoXJpby5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGlzTm90RW1wdHkoc3RyOiBOdWxsYWJsZVN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAhQWdyb1N0cmluZ1V0aWxzLmlzRW1wdHkoc3RyKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcmlmaWNhIHNlIHVtYSBzdHJpbmcgZXN0w6EgdmF6aWEsIGNvbnNpc3RlIGFwZW5hcyBkZSBjYXJhY3RlcmVzIGRlIGVzcGHDp28gZW0gYnJhbmNvIG91IMOpIG51bGEuXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgYSBzZXIgdmVyaWZpY2FkYS5cclxuICAgICAqIEByZXR1cm5zIFRydWUgc2UgYSBzdHJpbmcgZXN0aXZlciB2YXppYSwgY29uc2lzdGlyIGFwZW5hcyBkZSBjYXJhY3RlcmVzIGRlIGVzcGHDp28gZW0gYnJhbmNvIG91IGZvciBudWxhLCBmYWxzZSBjYXNvIGNvbnRyw6FyaW8uXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBpc0JsYW5rKHN0cjogTnVsbGFibGVTdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gIXN0ciB8fCBBR1JPX1JFR0VYLm9ubHlCbGFua1NwYWNlcy50ZXN0KHN0cik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWZXJpZmljYSBzZSB1bWEgc3RyaW5nIG7Do28gZXN0w6EgdmF6aWEsIG7Do28gY29uc2lzdGUgYXBlbmFzIGRlIGNhcmFjdGVyZXMgZGUgZXNwYcOnbyBlbSBicmFuY28gZSBuw6NvIMOpIG51bGEuXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgYSBzZXIgdmVyaWZpY2FkYS5cclxuICAgICAqIEByZXR1cm5zIFRydWUgc2UgYSBzdHJpbmcgbsOjbyBlc3RpdmVyIHZhemlhLCBuw6NvIGNvbnNpc3RpciBhcGVuYXMgZGUgY2FyYWN0ZXJlcyBkZSBlc3Bhw6dvIGVtIGJyYW5jbyBlIG7Do28gZm9yIG51bGEsIGZhbHNlIGNhc28gY29udHLDoXJpby5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGlzTm90Qmxhbmsoc3RyOiBOdWxsYWJsZVN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAhQWdyb1N0cmluZ1V0aWxzLmlzQmxhbmsoc3RyKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlbW92ZSBvcyBlc3Bhw6dvcyBlbSBicmFuY28gZGUgdW1hIHN0cmluZyBlIHJldG9ybmEgbnVsbCBzZSBhIHN0cmluZyByZXN1bHRhbnRlIGVzdGl2ZXIgdmF6aWEsIGNhc28gY29udHLDoXJpbyByZXRvcm5hIGEgc3RyaW5nIHNlbSBlc3Bhw6dvcyBlbSBicmFuY28uXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgYSBzZXIgcmVtb3ZpZG9zIG9zIGVzcGHDp29zIGVtIGJyYW5jby5cclxuICAgICAqIEByZXR1cm5zIEEgc3RyaW5nIHNlbSBlc3Bhw6dvcyBlbSBicmFuY28gb3UgbnVsbCBzZSBhIHN0cmluZyByZXN1bHRhbnRlIGVzdGl2ZXIgdmF6aWEuXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyB0cmltVG9OdWxsKHN0cjogTnVsbGFibGVTdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgICAgICBpZiAoIXN0cikgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgY29uc3QgdHJpbW1lZCA9IHN0ci50cmltKCk7XHJcbiAgICAgICAgcmV0dXJuIHRyaW1tZWQgPT09IFwiXCIgPyBudWxsIDogdHJpbW1lZDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcmlmaWNhIHNlIGR1YXMgc3RyaW5ncyBzw6NvIGlndWFpcywgaWdub3JhbmRvIG1hacO6c2N1bGFzIGUgbWluw7pzY3VsYXMuXHJcbiAgICAgKiBAcGFyYW0gc3RyMSAtIEEgcHJpbWVpcmEgc3RyaW5nIGEgc2VyIGNvbXBhcmFkYS5cclxuICAgICAqIEBwYXJhbSBzdHIyIC0gQSBzZWd1bmRhIHN0cmluZyBhIHNlciBjb21wYXJhZGEuXHJcbiAgICAgKiBAcmV0dXJucyBUcnVlIHNlIGFzIHN0cmluZ3MgZm9yZW0gaWd1YWlzLCBpZ25vcmFuZG8gbWFpw7pzY3VsYXMgZSBtaW7DunNjdWxhcywgZmFsc2UgY2FzbyBjb250csOhcmlvLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgZXF1YWxzSWdub3JlQ2FzZShzdHIxOiBOdWxsYWJsZVN0cmluZywgc3RyMjogTnVsbGFibGVTdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gc3RyMT8udG9Mb3dlckNhc2UoKSA9PT0gc3RyMj8udG9Mb3dlckNhc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcmlmaWNhIHNlIGR1YXMgc3RyaW5ncyBzw6NvIGlndWFpcy5cclxuICAgICAqIEBwYXJhbSBzdHIxXHJcbiAgICAgKiBAcGFyYW0gc3RyMlxyXG4gICAgICogQHJldHVybnNcclxuICAgICAqL1xyXG4gICAgc3RhdGljIGVxdWFscyhzdHIxOiBOdWxsYWJsZVN0cmluZywgc3RyMjogTnVsbGFibGVTdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gc3RyMSA9PT0gc3RyMjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEludmVydGUgb3MgY2FyYWN0ZXJlcyBkZSB1bWEgc3RyaW5nLlxyXG4gICAgICogQHBhcmFtIHN0ciAtIEEgc3RyaW5nIGEgc2VyIGludmVydGlkYS5cclxuICAgICAqIEByZXR1cm5zIEEgc3RyaW5nIGludmVydGlkYS5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIHJldmVyc2Uoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBzdHIuc3BsaXQoXCJcIikucmV2ZXJzZSgpLmpvaW4oXCJcIik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWZXJpZmljYSBzZSBhIHN0cmluZyDDqSB1bSBlLW1haWwuXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgYSBzZXIgdGVzdGFkYVxyXG4gICAgICogQHJldHVybnMgLSBUcnVlIHNlIGEgc3RyaW5nIGZvciB1bSBlLW1haWwsIGZhbHNlIGNhc28gY29udHLDoXJpby5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGlzRW1haWwoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gQUdST19SRUdFWC5pc0VtYWlsLnRlc3Qoc3RyKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcmlmaWNhIHNlIGEgc3RyaW5nIMOpIHVtIG7Dum1lcm8gaW50ZWlybyBwb3NpdGl2by5cclxuICAgICAqIEBwYXJhbSBzdHIgLSBBIHN0cmluZyBhIHNlciB0ZXN0YWRhXHJcbiAgICAgKiBAcmV0dXJucyAtIFRydWUgc2UgYSBzdHJpbmcgZm9yIHVtIG7Dum1lcm8gaW50ZWlybyBwb3NpdGl2bywgZmFsc2UgY2FzbyBjb250csOhcmlvLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgaXNQb3NpdGl2ZUludGVnZXIoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gQUdST19SRUdFWC5wb3NpdGl2ZUludGVnZXIudGVzdChzdHIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVmVyaWZpY2Egc2UgYSBzdHJpbmcgw6kgdW0gbsO6bWVybyBkZWNpbWFsIHBvc2l0aXZvLlxyXG4gICAgICogQHBhcmFtIHN0ciAtIEEgc3RyaW5nIGEgc2VyIHRlc3RhZGFcclxuICAgICAqIEByZXR1cm5zIC0gVHJ1ZSBzZSBhIHN0cmluZyBmb3IgdW0gbsO6bWVybyBkZWNpbWFsIHBvc2l0aXZvLCBmYWxzZSBjYXNvIGNvbnRyw6FyaW8uXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBpc1Bvc2l0aXZlRGVjaW1hbChzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBBR1JPX1JFR0VYLnBvc2l0aXZlRGVjaW1hbC50ZXN0KHN0cik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWZXJpZmljYSBzZSBhIHN0cmluZyDDqSB1bSBDRVAgKEPDs2RpZ28gUG9zdGFsKS5cclxuICAgICAqIEBwYXJhbSBzdHIgLSBBIHN0cmluZyBhIHNlciB0ZXN0YWRhXHJcbiAgICAgKiBAcmV0dXJucyAtIFRydWUgc2UgYSBzdHJpbmcgZm9yIHVtIENFUCwgZmFsc2UgY2FzbyBjb250csOhcmlvLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgaXNaaXBDb2RlKHN0cjogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIEFHUk9fUkVHRVguemlwQ29kZS50ZXN0KHN0cik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWZXJpZmljYSBzZSBhIHN0cmluZyDDqSB1bSBVVUlELlxyXG4gICAgICogQHBhcmFtIHN0ciAtIEEgc3RyaW5nIGEgc2VyIHRlc3RhZGFcclxuICAgICAqIEByZXR1cm5zIC0gVHJ1ZSBzZSBhIHN0cmluZyBmb3IgdW0gVVVJRCwgZmFsc2UgY2FzbyBjb250csOhcmlvLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgaXNVVUlEKHN0cjogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIEFHUk9fUkVHRVguaXNVVUlELnRlc3Qoc3RyKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcmlmaWNhIHNlIGEgc3RyaW5nIMOpIHVtIG7Dum1lcm8uXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgYSBzZXIgdGVzdGFkYVxyXG4gICAgICogQHJldHVybnMgLSBUcnVlIHNlIGEgc3RyaW5nIGZvciB1bSBuw7ptZXJvLCBmYWxzZSBjYXNvIGNvbnRyw6FyaW8uXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBpc051bWJlcihzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBBR1JPX1JFR0VYLmlzTnVtYmVyLnRlc3Qoc3RyKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldG9ybmEgYSBkaWZlcmVuw6dhIGVudHJlIGR1YXMgc3RyaW5ncy5cclxuICAgICAqIEBwYXJhbSBzdHIxXHJcbiAgICAgKiBAcGFyYW0gc3RyMlxyXG4gICAgICogQHJldHVybnNcclxuICAgICAqL1xyXG4gICAgc3RhdGljIGRpZmZlcmVuY2Uoc3RyMTogc3RyaW5nLCBzdHIyOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgICAgIGNvbnN0IGxlbjEgPSBzdHIxLmxlbmd0aDtcclxuICAgICAgICBjb25zdCBsZW4yID0gc3RyMi5sZW5ndGg7XHJcbiAgICAgICAgbGV0IGRpZmYgPSBNYXRoLmFicyhsZW4xIC0gbGVuMik7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IEFHUk9fTlVNQkVSUy5aRVJPOyBpIDwgTWF0aC5taW4obGVuMSwgbGVuMik7IGkrKykge1xyXG4gICAgICAgICAgICBpZiAoc3RyMVtpXSAhPT0gc3RyMltpXSkge1xyXG4gICAgICAgICAgICAgICAgZGlmZisrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBkaWZmO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0b3JuYSBzZSBhIHN0cmluZyB0ZXJtaW5hIGNvbSBhIHN0cmluZyBmb3JuZWNpZGEuXHJcbiAgICAgKiBAcGFyYW0gc3RyMVxyXG4gICAgICogQHBhcmFtIHN0cjJcclxuICAgICAqIEByZXR1cm5zXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBlbmRzV2l0aChzdHIxOiBzdHJpbmcsIHN0cjI6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBzdHIxLmVuZHNXaXRoKHN0cjIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0b3JuYSBzZSBhIHN0cmluZyBjb21lw6dhIGNvbSBhIHN0cmluZyBmb3JuZWNpZGEuXHJcbiAgICAgKiBAcGFyYW0gc3RyMVxyXG4gICAgICogQHBhcmFtIHN0cjJcclxuICAgICAqIEByZXR1cm5zXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBzdGFydHNXaXRoKHN0cjE6IHN0cmluZywgc3RyMjogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHN0cjEuc3RhcnRzV2l0aChzdHIyKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldG9ybmEgc2UgYSBzdHJpbmcgY29udMOpbSBhIHN0cmluZyBmb3JuZWNpZGEuXHJcbiAgICAgKiBAcGFyYW0gc3RyMVxyXG4gICAgICogQHBhcmFtIHN0cjJcclxuICAgICAqIEByZXR1cm5zXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBjb250YWlucyhzdHIxOiBzdHJpbmcsIHN0cjI6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBzdHIxLmluY2x1ZGVzKHN0cjIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0b3JuYSBzZSBhIHN0cmluZyBjb21lw6dhIGNvbSBhIHN0cmluZyBmb3JuZWNpZGEgaWdub3JhbmRvIG1hacO6c2N1bGFzIGUgbWluw7pzY3VsYXMuXHJcbiAgICAgKiBAcGFyYW0gc3RyMVxyXG4gICAgICogQHBhcmFtIHN0cjJcclxuICAgICAqIEByZXR1cm5zXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBzdGFydHNXaXRoSWdub3JlQ2FzZShzdHIxOiBzdHJpbmcsIHN0cjI6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBzdHIxLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChzdHIyLnRvTG93ZXJDYXNlKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0b3JuYSBzZSBhIHN0cmluZyB0ZXJtaW5hIGNvbSBhIHN0cmluZyBmb3JuZWNpZGEgaWdub3JhbmRvIG1hacO6c2N1bGFzIGUgbWluw7pzY3VsYXMuXHJcbiAgICAgKiBAcGFyYW0gc3RyMVxyXG4gICAgICogQHBhcmFtIHN0cjJcclxuICAgICAqIEByZXR1cm5zXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBlbmRzV2l0aElnbm9yZUNhc2Uoc3RyMTogc3RyaW5nLCBzdHIyOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gc3RyMS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKHN0cjIudG9Mb3dlckNhc2UoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb252ZXJ0ZSB1bWEgc3RyaW5nIHBhcmEgbGV0cmFzIG1hacO6c2N1bGFzLlxyXG4gICAgICogQHBhcmFtIHN0ciAtIEEgc3RyaW5nIGEgc2VyIGNvbnZlcnRpZGEuXHJcbiAgICAgKiBAcmV0dXJucyBBIHN0cmluZyBjb252ZXJ0aWRhIHBhcmEgbGV0cmFzIG1hacO6c2N1bGFzLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgdG9VcHBlckNhc2Uoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBzdHIudG9VcHBlckNhc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbnZlcnRlIHVtYSBzdHJpbmcgcGFyYSBsZXRyYXMgbWluw7pzY3VsYXMuXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgYSBzZXIgY29udmVydGlkYS5cclxuICAgICAqIEByZXR1cm5zIEEgc3RyaW5nIGNvbnZlcnRpZGEgcGFyYSBsZXRyYXMgbWluw7pzY3VsYXMuXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyB0b0xvd2VyQ2FzZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHN0ci50b0xvd2VyQ2FzZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW52ZXJ0ZSBvIGNhc28gZGFzIGxldHJhcyBlbSB1bWEgc3RyaW5nLlxyXG4gICAgICogQHBhcmFtIHN0ciAtIEEgc3RyaW5nIGEgc2VyIGNvbnZlcnRpZGEuXHJcbiAgICAgKiBAcmV0dXJucyBBIHN0cmluZyBjb20gbyBjYXNvIGRhcyBsZXRyYXMgaW52ZXJ0aWRvLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgc3dhcENhc2Uoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCBzd2FwcGVkID0gXCJcIjtcclxuICAgICAgICBmb3IgKGxldCBpID0gQUdST19OVU1CRVJTLlpFUk87IGkgPCBzdHIubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgY29uc3QgY2hhciA9IHN0cltpXTtcclxuICAgICAgICAgICAgaWYgKGNoYXIgPT09IGNoYXIudG9VcHBlckNhc2UoKSkge1xyXG4gICAgICAgICAgICAgICAgc3dhcHBlZCArPSBjaGFyLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBzd2FwcGVkICs9IGNoYXIudG9VcHBlckNhc2UoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gc3dhcHBlZDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbnZlcnRlIGEgcHJpbWVpcmEgbGV0cmEgZGUgdW1hIHN0cmluZyBwYXJhIG1hacO6c2N1bGEuXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgYSBzZXIgY29udmVydGlkYS5cclxuICAgICAqIEByZXR1cm5zIEEgc3RyaW5nIGNvbSBhIHByaW1laXJhIGxldHJhIGVtIG1hacO6c2N1bGEuXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBjYXBpdGFsaXplKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gc3RyLmNoYXJBdChBR1JPX05VTUJFUlMuWkVSTykudG9VcHBlckNhc2UoKSArIHN0ci5zbGljZSgxKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbnZlcnRlIGEgcHJpbWVpcmEgbGV0cmEgZGUgdW1hIHN0cmluZyBwYXJhIG1pbsO6c2N1bGEuXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgYSBzZXIgY29udmVydGlkYS5cclxuICAgICAqIEByZXR1cm5zIEEgc3RyaW5nIGNvbSBhIHByaW1laXJhIGxldHJhIGVtIG1pbsO6c2N1bGEuXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyB1bmNhcGl0YWxpemUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBzdHIuY2hhckF0KEFHUk9fTlVNQkVSUy5aRVJPKS50b0xvd2VyQ2FzZSgpICsgc3RyLnNsaWNlKDEpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29udGEgbyBuw7ptZXJvIGRlIG9jb3Jyw6puY2lhcyBkZSB1bWEgc3Vic3RyaW5nIGVtIHVtYSBzdHJpbmcuXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgb25kZSBhIGNvbnRhZ2VtIHNlcsOhIHJlYWxpemFkYS5cclxuICAgICAqIEBwYXJhbSBzdWJzdHJpbmcgLSBBIHN1YnN0cmluZyBhIHNlciBjb250YWRhLlxyXG4gICAgICogQHJldHVybnMgTyBuw7ptZXJvIGRlIG9jb3Jyw6puY2lhcyBkYSBzdWJzdHJpbmcgbmEgc3RyaW5nLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgY291bnRNYXRjaGVzKHN0cjogc3RyaW5nLCBzdWJzdHJpbmc6IHN0cmluZyk6IG51bWJlciB7XHJcbiAgICAgICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKHN1YnN0cmluZywgXCJnXCIpO1xyXG4gICAgICAgIGNvbnN0IG1hdGNoZXMgPSBbXTtcclxuICAgICAgICBsZXQgbWF0Y2g7XHJcbiAgICAgICAgd2hpbGUgKChtYXRjaCA9IHJlZ2V4LmV4ZWMoc3RyKSkgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgbWF0Y2hlcy5wdXNoKG1hdGNoWzBdKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG1hdGNoZXMgPyBtYXRjaGVzLmxlbmd0aCA6IEFHUk9fTlVNQkVSUy5aRVJPO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyB2YWxpZGF0ZUNQRihjcGY6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIC8vIFJlbW92ZXIgY2FyYWN0ZXJlcyBuw6NvIG51bcOpcmljb3NcclxuICAgICAgICBjcGYgPSBjcGYucmVwbGFjZSgvXFxEL2csIFwiXCIpO1xyXG5cclxuICAgICAgICAvLyBWZXJpZmljYXIgc2UgbyBDUEYgdGVtIDExIGTDrWdpdG9zXHJcbiAgICAgICAgaWYgKGNwZi5sZW5ndGggIT09IEFHUk9fTlVNQkVSUy5FTEVWRU4pIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gVmVyaWZpY2FyIHNlIHRvZG9zIG9zIGTDrWdpdG9zIHPDo28gaWd1YWlzIChjYXNvIGNvbnRyw6FyaW8sIMOpIHVtIHNpbmFsIGRlIENQRiBpbnbDoWxpZG8pXHJcbiAgICAgICAgaWYgKC9eKFxcZClcXDF7MTB9JC8udGVzdChjcGYpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIENhbGN1bGFyIG8gcHJpbWVpcm8gZMOtZ2l0byB2ZXJpZmljYWRvclxyXG4gICAgICAgIGxldCBzdW0gPSBBR1JPX05VTUJFUlMuWkVSTztcclxuICAgICAgICBsZXQgcmVtYWluZGVyOiBudW1iZXI7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IEFHUk9fTlVNQkVSUy5PTkU7IGkgPD0gQUdST19OVU1CRVJTLk5JTkU7IGkrKykge1xyXG4gICAgICAgICAgICBzdW0gKz0gcGFyc2VJbnQoY3BmW2kgLSBBR1JPX05VTUJFUlMuT05FXSkgKiAoQUdST19OVU1CRVJTLkVMRVZFTiAtIGkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZW1haW5kZXIgPSBzdW0gJSBBR1JPX05VTUJFUlMuRUxFVkVOO1xyXG4gICAgICAgIGlmIChyZW1haW5kZXIgPT09IEFHUk9fTlVNQkVSUy5URU4gfHwgcmVtYWluZGVyID09PSBBR1JPX05VTUJFUlMuRUxFVkVOKSB7XHJcbiAgICAgICAgICAgIHJlbWFpbmRlciA9IEFHUk9fTlVNQkVSUy5aRVJPO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAocmVtYWluZGVyICE9PSBwYXJzZUludChjcGZbQUdST19OVU1CRVJTLk5JTkVdKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBDYWxjdWxhciBvIHNlZ3VuZG8gZMOtZ2l0byB2ZXJpZmljYWRvclxyXG4gICAgICAgIHN1bSA9IEFHUk9fTlVNQkVSUy5aRVJPO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSBBR1JPX05VTUJFUlMuT05FOyBpIDw9IEFHUk9fTlVNQkVSUy5URU47IGkrKykge1xyXG4gICAgICAgICAgICBzdW0gKz0gcGFyc2VJbnQoY3BmW2kgLSBBR1JPX05VTUJFUlMuT05FXSkgKiAoQUdST19OVU1CRVJTLlRXRUxWRSAtIGkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZW1haW5kZXIgPSBzdW0gJSBBR1JPX05VTUJFUlMuRUxFVkVOO1xyXG4gICAgICAgIGlmIChyZW1haW5kZXIgPT09IEFHUk9fTlVNQkVSUy5URU4gfHwgcmVtYWluZGVyID09PSBBR1JPX05VTUJFUlMuRUxFVkVOKSB7XHJcbiAgICAgICAgICAgIHJlbWFpbmRlciA9IEFHUk9fTlVNQkVSUy5aRVJPO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAocmVtYWluZGVyICE9PSBwYXJzZUludChjcGZbQUdST19OVU1CRVJTLlRFTl0pKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBzdGF0aWMgdmFsaWRhdGVDTlBKKGNucGo6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIC8vIFJlbW92ZSB0b2RvcyBvcyBjYXJhY3RlcmVzIG7Do28gbnVtw6lyaWNvc1xyXG4gICAgICAgIGNucGogPSBjbnBqLnJlcGxhY2UoL1xcRC9nLCBcIlwiKTtcclxuXHJcbiAgICAgICAgLy8gVmVyaWZpY2Egc2UgdGVtIDE0IGTDrWdpdG9zXHJcbiAgICAgICAgaWYgKGNucGoubGVuZ3RoICE9PSAxNCkgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAgICAgICAvLyBWZXJpZmljYSBzZSBvIENOUEogw6kgdW1hIHNlcXXDqm5jaWEgcmVwZXRpZGEgKGV4OiAxMTExMTExMTExMTExMSwgMjIyMjIyMjIyMjIyMjIsIGV0Yy4pXHJcbiAgICAgICAgaWYgKC9eKFxcZClcXDF7MTN9JC8udGVzdChjbnBqKSkgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAgICAgICAvLyBDw6FsY3VsbyBkbyBwcmltZWlybyBkw61naXRvIHZlcmlmaWNhZG9yXHJcbiAgICAgICAgbGV0IHNvbWEgPSAwO1xyXG4gICAgICAgIGxldCBwZXNvczEgPSBbNSwgNCwgMywgMiwgOSwgOCwgNywgNiwgNSwgNCwgMywgMl07XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxMjsgaSsrKSB7XHJcbiAgICAgICAgICAgIHNvbWEgKz0gcGFyc2VJbnQoY25wai5jaGFyQXQoaSkpICogcGVzb3MxW2ldO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgcmVzdG8gPSBzb21hICUgMTE7XHJcbiAgICAgICAgbGV0IGRpZ2l0bzEgPSByZXN0byA8IDIgPyAwIDogMTEgLSByZXN0bztcclxuXHJcbiAgICAgICAgLy8gQ8OhbGN1bG8gZG8gc2VndW5kbyBkw61naXRvIHZlcmlmaWNhZG9yXHJcbiAgICAgICAgc29tYSA9IDA7XHJcbiAgICAgICAgbGV0IHBlc29zMiA9IFs2LCA1LCA0LCAzLCAyLCA5LCA4LCA3LCA2LCA1LCA0LCAzLCAyXTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEzOyBpKyspIHtcclxuICAgICAgICAgICAgc29tYSArPSBwYXJzZUludChjbnBqLmNoYXJBdChpKSkgKiBwZXNvczJbaV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJlc3RvID0gc29tYSAlIDExO1xyXG4gICAgICAgIGxldCBkaWdpdG8yID0gcmVzdG8gPCAyID8gMCA6IDExIC0gcmVzdG87XHJcblxyXG4gICAgICAgIC8vIFZlcmlmaWNhIHNlIG9zIGTDrWdpdG9zIHZlcmlmaWNhZG9yZXMgc8OjbyB2w6FsaWRvc1xyXG4gICAgICAgIHJldHVybiBwYXJzZUludChjbnBqLmNoYXJBdCgxMikpID09PSBkaWdpdG8xICYmIHBhcnNlSW50KGNucGouY2hhckF0KDEzKSkgPT09IGRpZ2l0bzI7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNw6l0b2RvIHBhcmEgYXBsaWNhciB1bWEgbcOhc2NhcmEgZW0gdW1hIHN0cmluZy4gQ29uc2lkZXJlIGEgbcOhc2NhcmEgY29tIHZhbG9yZXMgOSBwYXJhIGFwbGljYcOnw6NvXHJcbiAgICAgKiBAZXhhbXBsZSBBZ3JvU3RyaW5nVXRpbHMuYXBwbHlNYXNrKCcxMjM0NTY3ODkwMScsICc5OTkuOTk5Ljk5OS05OScpID0+ICcxMjMuNDU2Ljc4OS0wMSdcclxuICAgICAqIEBwYXJhbSB2YWx1ZVxyXG4gICAgICogQHBhcmFtIG1hc2tcclxuICAgICAqIEByZXR1cm5zXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBhcHBseU1hc2sodmFsdWU6IHN0cmluZywgbWFzazogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCB2YWx1ZUNoYXJzID0gdmFsdWUudG9TdHJpbmcoKS5zcGxpdChcIlwiKTtcclxuICAgICAgICBjb25zdCBtYXNrQ2hhcnMgPSBtYXNrLnNwbGl0KFwiXCIpO1xyXG4gICAgICAgIGxldCBtYXNrZWRWYWx1ZSA9IFwiXCI7XHJcblxyXG4gICAgICAgIGxldCBqID0gMDtcclxuICAgICAgICBmb3IgKGNvbnN0IG1hc2tDaGFyIG9mIG1hc2tDaGFycykge1xyXG4gICAgICAgICAgICBpZiAoaiA+PSB2YWx1ZUNoYXJzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKG1hc2tDaGFyID09PSBcIjlcIikge1xyXG4gICAgICAgICAgICAgICAgbWFza2VkVmFsdWUgKz0gdmFsdWVDaGFyc1tqKytdO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgbWFza2VkVmFsdWUgKz0gbWFza0NoYXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBtYXNrZWRWYWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcmlmaWNhIHNlIHVtYSBzdHJpbmcgw6kgdsOhbGlkYS5cclxuICAgICAqIEBwYXJhbSBzdHIgLSBBIHN0cmluZyBhIHNlciB2ZXJpZmljYWRhLlxyXG4gICAgICogQHJldHVybnMgVHJ1ZSBzZSBhIHN0cmluZyBmb3IgdsOhbGlkYSwgZmFsc2UgY2FzbyBjb250csOhcmlvLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgaXNWYWxpZChzdHI6IE51bGxhYmxlU3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBzdHIgPT09IFwidW5kZWZpbmVkXCIgfHwgc3RyID09PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChBZ3JvU3RyaW5nVXRpbHMuaXNOb3RFbXB0eShzdHIpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWZXJpZmljYSBzZSB1bWEgc3RyaW5nIMOpIGludsOhbGlkYS5cclxuICAgICAqIEBwYXJhbSBzdHIgLSBBIHN0cmluZyBhIHNlciB2ZXJpZmljYWRhLlxyXG4gICAgICogQHJldHVybnMgVHJ1ZSBzZSBhIHN0cmluZyBmb3IgaW52w6FsaWRhLCBmYWxzZSBjYXNvIGNvbnRyw6FyaW8uXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBpc0ludmFsaWQoc3RyOiBOdWxsYWJsZVN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAhQWdyb1N0cmluZ1V0aWxzLmlzVmFsaWQoc3RyKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
346
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdyby1zdHJpbmctdXRpbHMuY2xhc3MuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWFncm9uZWdvY2lvL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbW1vbi9hZ3JvLXN0cmluZy11dGlscy5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxJQUFJLFdBQVcsRUFBRSxDQUFDO0FBRzFDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7SUFDeEI7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBbUI7O1FBQzlCLE9BQU8sQ0FBQyxHQUFHLElBQUksT0FBQSxHQUFHLENBQUMsSUFBSSxFQUFFLDBDQUFFLE1BQU0sTUFBSyxZQUFZLENBQUMsSUFBSSxDQUFDO0lBQzVELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFtQjtRQUNqQyxPQUFPLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBbUI7UUFDOUIsT0FBTyxDQUFDLEdBQUcsSUFBSSxVQUFVLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBbUI7UUFDakMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQW1CO1FBQ2pDLElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTyxJQUFJLENB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UUFDOUIsSUFBSSxPQUFPLEdBQUcsS0FBSyxXQUFXLElBQUksR0FBRyxLQUFLLElBQUksRUFBRTtZQUM1QyxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELElBQUksZUFBZSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNqQyxPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQW1CO1FBQ2hDLE9BQU8sQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFHUk9fTlVNQkVSUyB9IGZyb20gXCIuLi9lbnVtc1wiO1xyXG5pbXBvcnQgeyBBR1JPX1JFR0VYIH0gZnJvbSBcIi4vYWdyby1yZWdleC5jb25zdGFudFwiO1xyXG5cclxuZXhwb3J0IHsgQWdyb1N0cmluZ1V0aWxzIGFzIFN0cmluZ1V0aWxzIH07XHJcblxyXG5leHBvcnQgdHlwZSBOdWxsYWJsZVN0cmluZyA9IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XHJcbi8qKlxyXG4gKiBDbGFzc2UgdXRpbGl0w6FyaWEgcGFyYSBvcGVyYcOnw7VlcyBkZSBzdHJpbmcuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQWdyb1N0cmluZ1V0aWxzIHtcclxuICAgIC8qKlxyXG4gICAgICogVmVyaWZpY2Egc2UgdW1hIHN0cmluZyBlc3TDoSB2YXppYSBvdSBjb25zaXN0ZSBhcGVuYXMgZGUgY2FyYWN0ZXJlcyBkZSBlc3Bhw6dvIGVtIGJyYW5jby5cclxuICAgICAqIEBwYXJhbSBzdHIgLSBBIHN0cmluZyBhIHNlciB2ZXJpZmljYWRhLlxyXG4gICAgICogQHJldHVybnMgVHJ1ZSBzZSBhIHN0cmluZyBlc3RpdmVyIHZhemlhIG91IGNvbnNpc3RpciBhcGVuYXMgZGUgY2FyYWN0ZXJlcyBkZSBlc3Bhw6dvIGVtIGJyYW5jbywgZmFsc2UgY2FzbyBjb250csOhcmlvLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgaXNFbXB0eShzdHI6IE51bGxhYmxlU3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuICFzdHIgfHwgc3RyLnRyaW0oKT8ubGVuZ3RoID09PSBBR1JPX05VTUJFUlMuWkVSTztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcmlmaWNhIHNlIHVtYSBzdHJpbmcgbsOjbyBlc3TDoSB2YXppYSBlIG7Do28gY29uc2lzdGUgYXBlbmFzIGRlIGNhcmFjdGVyZXMgZGUgZXNwYcOnbyBlbSBicmFuY28uXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgYSBzZXIgdmVyaWZpY2FkYS5cclxuICAgICAqIEByZXR1cm5zIFRydWUgc2UgYSBzdHJpbmcgbsOjbyBlc3RpdmVyIHZhemlhIGUgbsOjbyBjb25zaXN0aXIgYXBlbmFzIGRlIGNhcmFjdGVyZXMgZGUgZXNwYcOnbyBlbSBicmFuY28sIGZhbHNlIGNhc28gY29udHLDoXJpby5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGlzTm90RW1wdHkoc3RyOiBOdWxsYWJsZVN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAhQWdyb1N0cmluZ1V0aWxzLmlzRW1wdHkoc3RyKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcmlmaWNhIHNlIHVtYSBzdHJpbmcgZXN0w6EgdmF6aWEsIGNvbnNpc3RlIGFwZW5hcyBkZSBjYXJhY3RlcmVzIGRlIGVzcGHDp28gZW0gYnJhbmNvIG91IMOpIG51bGEuXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgYSBzZXIgdmVyaWZpY2FkYS5cclxuICAgICAqIEByZXR1cm5zIFRydWUgc2UgYSBzdHJpbmcgZXN0aXZlciB2YXppYSwgY29uc2lzdGlyIGFwZW5hcyBkZSBjYXJhY3RlcmVzIGRlIGVzcGHDp28gZW0gYnJhbmNvIG91IGZvciBudWxhLCBmYWxzZSBjYXNvIGNvbnRyw6FyaW8uXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBpc0JsYW5rKHN0cjogTnVsbGFibGVTdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gIXN0ciB8fCBBR1JPX1JFR0VYLm9ubHlCbGFua1NwYWNlcy50ZXN0KHN0cik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWZXJpZmljYSBzZSB1bWEgc3RyaW5nIG7Do28gZXN0w6EgdmF6aWEsIG7Do28gY29uc2lzdGUgYXBlbmFzIGRlIGNhcmFjdGVyZXMgZGUgZXNwYcOnbyBlbSBicmFuY28gZSBuw6NvIMOpIG51bGEuXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgYSBzZXIgdmVyaWZpY2FkYS5cclxuICAgICAqIEByZXR1cm5zIFRydWUgc2UgYSBzdHJpbmcgbsOjbyBlc3RpdmVyIHZhemlhLCBuw6NvIGNvbnNpc3RpciBhcGVuYXMgZGUgY2FyYWN0ZXJlcyBkZSBlc3Bhw6dvIGVtIGJyYW5jbyBlIG7Do28gZm9yIG51bGEsIGZhbHNlIGNhc28gY29udHLDoXJpby5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGlzTm90Qmxhbmsoc3RyOiBOdWxsYWJsZVN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAhQWdyb1N0cmluZ1V0aWxzLmlzQmxhbmsoc3RyKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlbW92ZSBvcyBlc3Bhw6dvcyBlbSBicmFuY28gZGUgdW1hIHN0cmluZyBlIHJldG9ybmEgbnVsbCBzZSBhIHN0cmluZyByZXN1bHRhbnRlIGVzdGl2ZXIgdmF6aWEsIGNhc28gY29udHLDoXJpbyByZXRvcm5hIGEgc3RyaW5nIHNlbSBlc3Bhw6dvcyBlbSBicmFuY28uXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgYSBzZXIgcmVtb3ZpZG9zIG9zIGVzcGHDp29zIGVtIGJyYW5jby5cclxuICAgICAqIEByZXR1cm5zIEEgc3RyaW5nIHNlbSBlc3Bhw6dvcyBlbSBicmFuY28gb3UgbnVsbCBzZSBhIHN0cmluZyByZXN1bHRhbnRlIGVzdGl2ZXIgdmF6aWEuXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyB0cmltVG9OdWxsKHN0cjogTnVsbGFibGVTdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgICAgICBpZiAoIXN0cikgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgY29uc3QgdHJpbW1lZCA9IHN0ci50cmltKCk7XHJcbiAgICAgICAgcmV0dXJuIHRyaW1tZWQgPT09IFwiXCIgPyBudWxsIDogdHJpbW1lZDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcmlmaWNhIHNlIGR1YXMgc3RyaW5ncyBzw6NvIGlndWFpcywgaWdub3JhbmRvIG1hacO6c2N1bGFzIGUgbWluw7pzY3VsYXMuXHJcbiAgICAgKiBAcGFyYW0gc3RyMSAtIEEgcHJpbWVpcmEgc3RyaW5nIGEgc2VyIGNvbXBhcmFkYS5cclxuICAgICAqIEBwYXJhbSBzdHIyIC0gQSBzZWd1bmRhIHN0cmluZyBhIHNlciBjb21wYXJhZGEuXHJcbiAgICAgKiBAcmV0dXJucyBUcnVlIHNlIGFzIHN0cmluZ3MgZm9yZW0gaWd1YWlzLCBpZ25vcmFuZG8gbWFpw7pzY3VsYXMgZSBtaW7DunNjdWxhcywgZmFsc2UgY2FzbyBjb250csOhcmlvLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgZXF1YWxzSWdub3JlQ2FzZShzdHIxOiBOdWxsYWJsZVN0cmluZywgc3RyMjogTnVsbGFibGVTdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gc3RyMT8udG9Mb3dlckNhc2UoKSA9PT0gc3RyMj8udG9Mb3dlckNhc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcmlmaWNhIHNlIGR1YXMgc3RyaW5ncyBzw6NvIGlndWFpcy5cclxuICAgICAqIEBwYXJhbSBzdHIxXHJcbiAgICAgKiBAcGFyYW0gc3RyMlxyXG4gICAgICogQHJldHVybnNcclxuICAgICAqL1xyXG4gICAgc3RhdGljIGVxdWFscyhzdHIxOiBOdWxsYWJsZVN0cmluZywgc3RyMjogTnVsbGFibGVTdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gc3RyMSA9PT0gc3RyMjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEludmVydGUgb3MgY2FyYWN0ZXJlcyBkZSB1bWEgc3RyaW5nLlxyXG4gICAgICogQHBhcmFtIHN0ciAtIEEgc3RyaW5nIGEgc2VyIGludmVydGlkYS5cclxuICAgICAqIEByZXR1cm5zIEEgc3RyaW5nIGludmVydGlkYS5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIHJldmVyc2Uoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBzdHIuc3BsaXQoXCJcIikucmV2ZXJzZSgpLmpvaW4oXCJcIik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWZXJpZmljYSBzZSBhIHN0cmluZyDDqSB1bSBlLW1haWwuXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgYSBzZXIgdGVzdGFkYVxyXG4gICAgICogQHJldHVybnMgLSBUcnVlIHNlIGEgc3RyaW5nIGZvciB1bSBlLW1haWwsIGZhbHNlIGNhc28gY29udHLDoXJpby5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGlzRW1haWwoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gQUdST19SRUdFWC5pc0VtYWlsLnRlc3Qoc3RyKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcmlmaWNhIHNlIGEgc3RyaW5nIMOpIHVtIG7Dum1lcm8gaW50ZWlybyBwb3NpdGl2by5cclxuICAgICAqIEBwYXJhbSBzdHIgLSBBIHN0cmluZyBhIHNlciB0ZXN0YWRhXHJcbiAgICAgKiBAcmV0dXJucyAtIFRydWUgc2UgYSBzdHJpbmcgZm9yIHVtIG7Dum1lcm8gaW50ZWlybyBwb3NpdGl2bywgZmFsc2UgY2FzbyBjb250csOhcmlvLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgaXNQb3NpdGl2ZUludGVnZXIoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gQUdST19SRUdFWC5wb3NpdGl2ZUludGVnZXIudGVzdChzdHIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVmVyaWZpY2Egc2UgYSBzdHJpbmcgw6kgdW0gbsO6bWVybyBkZWNpbWFsIHBvc2l0aXZvLlxyXG4gICAgICogQHBhcmFtIHN0ciAtIEEgc3RyaW5nIGEgc2VyIHRlc3RhZGFcclxuICAgICAqIEByZXR1cm5zIC0gVHJ1ZSBzZSBhIHN0cmluZyBmb3IgdW0gbsO6bWVybyBkZWNpbWFsIHBvc2l0aXZvLCBmYWxzZSBjYXNvIGNvbnRyw6FyaW8uXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBpc1Bvc2l0aXZlRGVjaW1hbChzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBBR1JPX1JFR0VYLnBvc2l0aXZlRGVjaW1hbC50ZXN0KHN0cik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWZXJpZmljYSBzZSBhIHN0cmluZyDDqSB1bSBDRVAgKEPDs2RpZ28gUG9zdGFsKS5cclxuICAgICAqIEBwYXJhbSBzdHIgLSBBIHN0cmluZyBhIHNlciB0ZXN0YWRhXHJcbiAgICAgKiBAcmV0dXJucyAtIFRydWUgc2UgYSBzdHJpbmcgZm9yIHVtIENFUCwgZmFsc2UgY2FzbyBjb250csOhcmlvLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgaXNaaXBDb2RlKHN0cjogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIEFHUk9fUkVHRVguemlwQ29kZS50ZXN0KHN0cik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWZXJpZmljYSBzZSBhIHN0cmluZyDDqSB1bSBVVUlELlxyXG4gICAgICogQHBhcmFtIHN0ciAtIEEgc3RyaW5nIGEgc2VyIHRlc3RhZGFcclxuICAgICAqIEByZXR1cm5zIC0gVHJ1ZSBzZSBhIHN0cmluZyBmb3IgdW0gVVVJRCwgZmFsc2UgY2FzbyBjb250csOhcmlvLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgaXNVVUlEKHN0cjogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIEFHUk9fUkVHRVguaXNVVUlELnRlc3Qoc3RyKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcmlmaWNhIHNlIGEgc3RyaW5nIMOpIHVtIG7Dum1lcm8uXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgYSBzZXIgdGVzdGFkYVxyXG4gICAgICogQHJldHVybnMgLSBUcnVlIHNlIGEgc3RyaW5nIGZvciB1bSBuw7ptZXJvLCBmYWxzZSBjYXNvIGNvbnRyw6FyaW8uXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBpc051bWJlcihzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBBR1JPX1JFR0VYLmlzTnVtYmVyLnRlc3Qoc3RyKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldG9ybmEgYSBkaWZlcmVuw6dhIGVudHJlIGR1YXMgc3RyaW5ncy5cclxuICAgICAqIEBwYXJhbSBzdHIxXHJcbiAgICAgKiBAcGFyYW0gc3RyMlxyXG4gICAgICogQHJldHVybnNcclxuICAgICAqL1xyXG4gICAgc3RhdGljIGRpZmZlcmVuY2Uoc3RyMTogc3RyaW5nLCBzdHIyOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgICAgIGNvbnN0IGxlbjEgPSBzdHIxLmxlbmd0aDtcclxuICAgICAgICBjb25zdCBsZW4yID0gc3RyMi5sZW5ndGg7XHJcbiAgICAgICAgbGV0IGRpZmYgPSBNYXRoLmFicyhsZW4xIC0gbGVuMik7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IEFHUk9fTlVNQkVSUy5aRVJPOyBpIDwgTWF0aC5taW4obGVuMSwgbGVuMik7IGkrKykge1xyXG4gICAgICAgICAgICBpZiAoc3RyMVtpXSAhPT0gc3RyMltpXSkge1xyXG4gICAgICAgICAgICAgICAgZGlmZisrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBkaWZmO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0b3JuYSBzZSBhIHN0cmluZyB0ZXJtaW5hIGNvbSBhIHN0cmluZyBmb3JuZWNpZGEuXHJcbiAgICAgKiBAcGFyYW0gc3RyMVxyXG4gICAgICogQHBhcmFtIHN0cjJcclxuICAgICAqIEByZXR1cm5zXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBlbmRzV2l0aChzdHIxOiBzdHJpbmcsIHN0cjI6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBzdHIxLmVuZHNXaXRoKHN0cjIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0b3JuYSBzZSBhIHN0cmluZyBjb21lw6dhIGNvbSBhIHN0cmluZyBmb3JuZWNpZGEuXHJcbiAgICAgKiBAcGFyYW0gc3RyMVxyXG4gICAgICogQHBhcmFtIHN0cjJcclxuICAgICAqIEByZXR1cm5zXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBzdGFydHNXaXRoKHN0cjE6IHN0cmluZywgc3RyMjogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHN0cjEuc3RhcnRzV2l0aChzdHIyKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldG9ybmEgc2UgYSBzdHJpbmcgY29udMOpbSBhIHN0cmluZyBmb3JuZWNpZGEuXHJcbiAgICAgKiBAcGFyYW0gc3RyMVxyXG4gICAgICogQHBhcmFtIHN0cjJcclxuICAgICAqIEByZXR1cm5zXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBjb250YWlucyhzdHIxOiBzdHJpbmcsIHN0cjI6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBzdHIxLmluY2x1ZGVzKHN0cjIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0b3JuYSBzZSBhIHN0cmluZyBjb21lw6dhIGNvbSBhIHN0cmluZyBmb3JuZWNpZGEgaWdub3JhbmRvIG1hacO6c2N1bGFzIGUgbWluw7pzY3VsYXMuXHJcbiAgICAgKiBAcGFyYW0gc3RyMVxyXG4gICAgICogQHBhcmFtIHN0cjJcclxuICAgICAqIEByZXR1cm5zXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBzdGFydHNXaXRoSWdub3JlQ2FzZShzdHIxOiBzdHJpbmcsIHN0cjI6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBzdHIxLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChzdHIyLnRvTG93ZXJDYXNlKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0b3JuYSBzZSBhIHN0cmluZyB0ZXJtaW5hIGNvbSBhIHN0cmluZyBmb3JuZWNpZGEgaWdub3JhbmRvIG1hacO6c2N1bGFzIGUgbWluw7pzY3VsYXMuXHJcbiAgICAgKiBAcGFyYW0gc3RyMVxyXG4gICAgICogQHBhcmFtIHN0cjJcclxuICAgICAqIEByZXR1cm5zXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBlbmRzV2l0aElnbm9yZUNhc2Uoc3RyMTogc3RyaW5nLCBzdHIyOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gc3RyMS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKHN0cjIudG9Mb3dlckNhc2UoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb252ZXJ0ZSB1bWEgc3RyaW5nIHBhcmEgbGV0cmFzIG1hacO6c2N1bGFzLlxyXG4gICAgICogQHBhcmFtIHN0ciAtIEEgc3RyaW5nIGEgc2VyIGNvbnZlcnRpZGEuXHJcbiAgICAgKiBAcmV0dXJucyBBIHN0cmluZyBjb252ZXJ0aWRhIHBhcmEgbGV0cmFzIG1hacO6c2N1bGFzLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgdG9VcHBlckNhc2Uoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBzdHIudG9VcHBlckNhc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbnZlcnRlIHVtYSBzdHJpbmcgcGFyYSBsZXRyYXMgbWluw7pzY3VsYXMuXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgYSBzZXIgY29udmVydGlkYS5cclxuICAgICAqIEByZXR1cm5zIEEgc3RyaW5nIGNvbnZlcnRpZGEgcGFyYSBsZXRyYXMgbWluw7pzY3VsYXMuXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyB0b0xvd2VyQ2FzZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHN0ci50b0xvd2VyQ2FzZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW52ZXJ0ZSBvIGNhc28gZGFzIGxldHJhcyBlbSB1bWEgc3RyaW5nLlxyXG4gICAgICogQHBhcmFtIHN0ciAtIEEgc3RyaW5nIGEgc2VyIGNvbnZlcnRpZGEuXHJcbiAgICAgKiBAcmV0dXJucyBBIHN0cmluZyBjb20gbyBjYXNvIGRhcyBsZXRyYXMgaW52ZXJ0aWRvLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgc3dhcENhc2Uoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCBzd2FwcGVkID0gXCJcIjtcclxuICAgICAgICBmb3IgKGxldCBpID0gQUdST19OVU1CRVJTLlpFUk87IGkgPCBzdHIubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgY29uc3QgY2hhciA9IHN0cltpXTtcclxuICAgICAgICAgICAgaWYgKGNoYXIgPT09IGNoYXIudG9VcHBlckNhc2UoKSkge1xyXG4gICAgICAgICAgICAgICAgc3dhcHBlZCArPSBjaGFyLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBzd2FwcGVkICs9IGNoYXIudG9VcHBlckNhc2UoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gc3dhcHBlZDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbnZlcnRlIGEgcHJpbWVpcmEgbGV0cmEgZGUgdW1hIHN0cmluZyBwYXJhIG1hacO6c2N1bGEuXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgYSBzZXIgY29udmVydGlkYS5cclxuICAgICAqIEByZXR1cm5zIEEgc3RyaW5nIGNvbSBhIHByaW1laXJhIGxldHJhIGVtIG1hacO6c2N1bGEuXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBjYXBpdGFsaXplKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gc3RyLmNoYXJBdChBR1JPX05VTUJFUlMuWkVSTykudG9VcHBlckNhc2UoKSArIHN0ci5zbGljZSgxKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbnZlcnRlIGEgcHJpbWVpcmEgbGV0cmEgZGUgdW1hIHN0cmluZyBwYXJhIG1pbsO6c2N1bGEuXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgYSBzZXIgY29udmVydGlkYS5cclxuICAgICAqIEByZXR1cm5zIEEgc3RyaW5nIGNvbSBhIHByaW1laXJhIGxldHJhIGVtIG1pbsO6c2N1bGEuXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyB1bmNhcGl0YWxpemUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBzdHIuY2hhckF0KEFHUk9fTlVNQkVSUy5aRVJPKS50b0xvd2VyQ2FzZSgpICsgc3RyLnNsaWNlKDEpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29udGEgbyBuw7ptZXJvIGRlIG9jb3Jyw6puY2lhcyBkZSB1bWEgc3Vic3RyaW5nIGVtIHVtYSBzdHJpbmcuXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgb25kZSBhIGNvbnRhZ2VtIHNlcsOhIHJlYWxpemFkYS5cclxuICAgICAqIEBwYXJhbSBzdWJzdHJpbmcgLSBBIHN1YnN0cmluZyBhIHNlciBjb250YWRhLlxyXG4gICAgICogQHJldHVybnMgTyBuw7ptZXJvIGRlIG9jb3Jyw6puY2lhcyBkYSBzdWJzdHJpbmcgbmEgc3RyaW5nLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgY291bnRNYXRjaGVzKHN0cjogc3RyaW5nLCBzdWJzdHJpbmc6IHN0cmluZyk6IG51bWJlciB7XHJcbiAgICAgICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKHN1YnN0cmluZywgXCJnXCIpO1xyXG4gICAgICAgIGNvbnN0IG1hdGNoZXMgPSBbXTtcclxuICAgICAgICBsZXQgbWF0Y2g7XHJcbiAgICAgICAgd2hpbGUgKChtYXRjaCA9IHJlZ2V4LmV4ZWMoc3RyKSkgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgbWF0Y2hlcy5wdXNoKG1hdGNoWzBdKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG1hdGNoZXMgPyBtYXRjaGVzLmxlbmd0aCA6IEFHUk9fTlVNQkVSUy5aRVJPO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyB2YWxpZGF0ZUNQRihjcGY6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNwZiA9IGNwZi5yZXBsYWNlKC9cXEQvZywgXCJcIik7XHJcblxyXG4gICAgICAgIGlmIChjcGYubGVuZ3RoICE9PSAxMSB8fCAvXihcXGQpXFwxKyQvLnRlc3QoY3BmKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBjYWxjVmVyaWZpZXIgPSAoY3BmOiBzdHJpbmcsIGxlbmd0aDogbnVtYmVyKTogbnVtYmVyID0+IHtcclxuICAgICAgICAgICAgbGV0IHN1bSA9IDA7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIHN1bSArPSBwYXJzZUludChjcGZbaV0pICogKGxlbmd0aCArIDEgLSBpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsZXQgcmVzdWx0ID0gc3VtICUgMTE7XHJcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQgPCAyID8gMCA6IDExIC0gcmVzdWx0O1xyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIGNvbnN0IGRpZ2l0MSA9IGNhbGNWZXJpZmllcihjcGYsIDkpO1xyXG4gICAgICAgIGNvbnN0IGRpZ2l0MiA9IGNhbGNWZXJpZmllcihjcGYsIDEwKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGRpZ2l0MSA9PT0gcGFyc2VJbnQoY3BmWzldKSAmJiBkaWdpdDIgPT09IHBhcnNlSW50KGNwZlsxMF0pO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyB2YWxpZGF0ZUNOUEooY25wajogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgLy8gUmVtb3ZlIHRvZG9zIG9zIGNhcmFjdGVyZXMgbsOjbyBudW3DqXJpY29zXHJcbiAgICAgICAgY25waiA9IGNucGoucmVwbGFjZSgvXFxEL2csIFwiXCIpO1xyXG5cclxuICAgICAgICAvLyBWZXJpZmljYSBzZSB0ZW0gMTQgZMOtZ2l0b3NcclxuICAgICAgICBpZiAoY25wai5sZW5ndGggIT09IDE0KSByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgICAgIC8vIFZlcmlmaWNhIHNlIG8gQ05QSiDDqSB1bWEgc2VxdcOqbmNpYSByZXBldGlkYSAoZXg6IDExMTExMTExMTExMTExLCAyMjIyMjIyMjIyMjIyMiwgZXRjLilcclxuICAgICAgICBpZiAoL14oXFxkKVxcMXsxM30kLy50ZXN0KGNucGopKSByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgICAgIC8vIEPDoWxjdWxvIGRvIHByaW1laXJvIGTDrWdpdG8gdmVyaWZpY2Fkb3JcclxuICAgICAgICBsZXQgc29tYSA9IDA7XHJcbiAgICAgICAgbGV0IHBlc29zMSA9IFs1LCA0LCAzLCAyLCA5LCA4LCA3LCA2LCA1LCA0LCAzLCAyXTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEyOyBpKyspIHtcclxuICAgICAgICAgICAgc29tYSArPSBwYXJzZUludChjbnBqLmNoYXJBdChpKSkgKiBwZXNvczFbaV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCByZXN0byA9IHNvbWEgJSAxMTtcclxuICAgICAgICBsZXQgZGlnaXRvMSA9IHJlc3RvIDwgMiA/IDAgOiAxMSAtIHJlc3RvO1xyXG5cclxuICAgICAgICAvLyBDw6FsY3VsbyBkbyBzZWd1bmRvIGTDrWdpdG8gdmVyaWZpY2Fkb3JcclxuICAgICAgICBzb21hID0gMDtcclxuICAgICAgICBsZXQgcGVzb3MyID0gWzYsIDUsIDQsIDMsIDIsIDksIDgsIDcsIDYsIDUsIDQsIDMsIDJdO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTM7IGkrKykge1xyXG4gICAgICAgICAgICBzb21hICs9IHBhcnNlSW50KGNucGouY2hhckF0KGkpKSAqIHBlc29zMltpXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmVzdG8gPSBzb21hICUgMTE7XHJcbiAgICAgICAgbGV0IGRpZ2l0bzIgPSByZXN0byA8IDIgPyAwIDogMTEgLSByZXN0bztcclxuXHJcbiAgICAgICAgLy8gVmVyaWZpY2Egc2Ugb3MgZMOtZ2l0b3MgdmVyaWZpY2Fkb3JlcyBzw6NvIHbDoWxpZG9zXHJcbiAgICAgICAgcmV0dXJuIHBhcnNlSW50KGNucGouY2hhckF0KDEyKSkgPT09IGRpZ2l0bzEgJiYgcGFyc2VJbnQoY25wai5jaGFyQXQoMTMpKSA9PT0gZGlnaXRvMjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE3DqXRvZG8gcGFyYSBhcGxpY2FyIHVtYSBtw6FzY2FyYSBlbSB1bWEgc3RyaW5nLiBDb25zaWRlcmUgYSBtw6FzY2FyYSBjb20gdmFsb3JlcyA5IHBhcmEgYXBsaWNhw6fDo29cclxuICAgICAqIEBleGFtcGxlIEFncm9TdHJpbmdVdGlscy5hcHBseU1hc2soJzEyMzQ1Njc4OTAxJywgJzk5OS45OTkuOTk5LTk5JykgPT4gJzEyMy40NTYuNzg5LTAxJ1xyXG4gICAgICogQHBhcmFtIHZhbHVlXHJcbiAgICAgKiBAcGFyYW0gbWFza1xyXG4gICAgICogQHJldHVybnNcclxuICAgICAqL1xyXG4gICAgc3RhdGljIGFwcGx5TWFzayh2YWx1ZTogc3RyaW5nLCBtYXNrOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlQ2hhcnMgPSB2YWx1ZS50b1N0cmluZygpLnNwbGl0KFwiXCIpO1xyXG4gICAgICAgIGNvbnN0IG1hc2tDaGFycyA9IG1hc2suc3BsaXQoXCJcIik7XHJcbiAgICAgICAgbGV0IG1hc2tlZFZhbHVlID0gXCJcIjtcclxuXHJcbiAgICAgICAgbGV0IGogPSAwO1xyXG4gICAgICAgIGZvciAoY29uc3QgbWFza0NoYXIgb2YgbWFza0NoYXJzKSB7XHJcbiAgICAgICAgICAgIGlmIChqID49IHZhbHVlQ2hhcnMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAobWFza0NoYXIgPT09IFwiOVwiKSB7XHJcbiAgICAgICAgICAgICAgICBtYXNrZWRWYWx1ZSArPSB2YWx1ZUNoYXJzW2orK107XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBtYXNrZWRWYWx1ZSArPSBtYXNrQ2hhcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG1hc2tlZFZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVmVyaWZpY2Egc2UgdW1hIHN0cmluZyDDqSB2w6FsaWRhLlxyXG4gICAgICogQHBhcmFtIHN0ciAtIEEgc3RyaW5nIGEgc2VyIHZlcmlmaWNhZGEuXHJcbiAgICAgKiBAcmV0dXJucyBUcnVlIHNlIGEgc3RyaW5nIGZvciB2w6FsaWRhLCBmYWxzZSBjYXNvIGNvbnRyw6FyaW8uXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBpc1ZhbGlkKHN0cjogTnVsbGFibGVTdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAodHlwZW9mIHN0ciA9PT0gXCJ1bmRlZmluZWRcIiB8fCBzdHIgPT09IG51bGwpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKEFncm9TdHJpbmdVdGlscy5pc05vdEVtcHR5KHN0cikpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcmlmaWNhIHNlIHVtYSBzdHJpbmcgw6kgaW52w6FsaWRhLlxyXG4gICAgICogQHBhcmFtIHN0ciAtIEEgc3RyaW5nIGEgc2VyIHZlcmlmaWNhZGEuXHJcbiAgICAgKiBAcmV0dXJucyBUcnVlIHNlIGEgc3RyaW5nIGZvciBpbnbDoWxpZGEsIGZhbHNlIGNhc28gY29udHLDoXJpby5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGlzSW52YWxpZChzdHI6IE51bGxhYmxlU3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuICFBZ3JvU3RyaW5nVXRpbHMuaXNWYWxpZChzdHIpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -10,18 +10,10 @@ let CancelEventDialogModule = class CancelEventDialogModule {
|
|
|
10
10
|
};
|
|
11
11
|
CancelEventDialogModule = __decorate([
|
|
12
12
|
NgModule({
|
|
13
|
-
imports: [
|
|
14
|
-
CommonModule,
|
|
15
|
-
ReactiveFormsModule,
|
|
16
|
-
TooltipModule,
|
|
17
|
-
ButtonModule,
|
|
18
|
-
LibTranslationModule,
|
|
19
|
-
DynamicFormModule,
|
|
20
|
-
LoadingStateModule
|
|
21
|
-
],
|
|
13
|
+
imports: [CommonModule, ReactiveFormsModule, TooltipModule, ButtonModule, LibTranslationModule, DynamicFormModule, LoadingStateModule],
|
|
22
14
|
declarations: [CancelEventDialogComponent],
|
|
23
15
|
exports: [CancelEventDialogComponent],
|
|
24
16
|
})
|
|
25
17
|
], CancelEventDialogModule);
|
|
26
18
|
export { CancelEventDialogModule };
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuY2VsLWV2ZW50LWRpYWxvZy5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWFncm9uZWdvY2lvL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvY2FuY2VsLWV2ZW50LWRpYWxvZy9jYW5jZWwtZXZlbnQtZGlhbG9nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU9yRCxJQUFhLHVCQUF1QixHQUFwQyxNQUFhLHVCQUF1QjtDQUFHLENBQUE7QUFBMUIsdUJBQXVCO0lBTG5DLFFBQVEsQ0FBQztRQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixDQUFDO1FBQ3RJLFlBQVksRUFBRSxDQUFDLDBCQUEwQixDQUFDO1FBQzFDLE9BQU8sRUFBRSxDQUFDLDBCQUEwQixDQUFDO0tBQ3hDLENBQUM7R0FDVyx1QkFBdUIsQ0FBRztTQUExQix1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gXCJwcmltZW5nL3Rvb2x0aXBcIjtcclxuaW1wb3J0IHsgQ2FuY2VsRXZlbnREaWFsb2dDb21wb25lbnQgfSBmcm9tIFwiLi9jYW5jZWwtZXZlbnQtZGlhbG9nLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUsIER5bmFtaWNGb3JtTW9kdWxlLCBMb2FkaW5nU3RhdGVNb2R1bGUgfSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50c1wiO1xyXG5pbXBvcnQgeyBMaWJUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gXCIuLi8uLi9saWItdHJhbnNsYXRpb24ubW9kdWxlXCI7XHJcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBUb29sdGlwTW9kdWxlLCBCdXR0b25Nb2R1bGUsIExpYlRyYW5zbGF0aW9uTW9kdWxlLCBEeW5hbWljRm9ybU1vZHVsZSwgTG9hZGluZ1N0YXRlTW9kdWxlXSxcclxuICAgIGRlY2xhcmF0aW9uczogW0NhbmNlbEV2ZW50RGlhbG9nQ29tcG9uZW50XSxcclxuICAgIGV4cG9ydHM6IFtDYW5jZWxFdmVudERpYWxvZ0NvbXBvbmVudF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYW5jZWxFdmVudERpYWxvZ01vZHVsZSB7fVxyXG4iXX0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { CancelEventDialogComponent } from
|
|
2
|
-
export { CancelEventDialogModule } from
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export { CancelEventDialogComponent } from "./cancel-event-dialog.component";
|
|
2
|
+
export { CancelEventDialogModule } from "./cancel-event-dialog.module";
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWFncm9uZWdvY2lvL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvY2FuY2VsLWV2ZW50LWRpYWxvZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IENhbmNlbEV2ZW50RGlhbG9nQ29tcG9uZW50IH0gZnJvbSBcIi4vY2FuY2VsLWV2ZW50LWRpYWxvZy5jb21wb25lbnRcIjtcclxuZXhwb3J0IHsgQ2FuY2VsRXZlbnREaWFsb2dNb2R1bGUgfSBmcm9tIFwiLi9jYW5jZWwtZXZlbnQtZGlhbG9nLm1vZHVsZVwiO1xyXG5leHBvcnQgeyBDYW5jZWxFdmVudERpYWxvZ0NvbmZpZyB9IGZyb20gXCIuL2NhbmNlbC1ldmVudC1kaWFsb2ctY29uZmlnXCI7XHJcbiJdfQ==
|
|
@@ -4,4 +4,4 @@ export var ControlStatus;
|
|
|
4
4
|
ControlStatus["EXIT"] = "EXIT";
|
|
5
5
|
ControlStatus["CANCELED"] = "CANCELED";
|
|
6
6
|
})(ControlStatus || (ControlStatus = {}));
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC1zdGF0dXMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWFncm9uZWdvY2lvL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZXZlbnQtY29udHJvbC1ib2FyZC9jb21tb24vY29udHJvbC1zdGF0dXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksYUFJWDtBQUpELFdBQVksYUFBYTtJQUNyQixnQ0FBZSxDQUFBO0lBQ2YsOEJBQWEsQ0FBQTtJQUNiLHNDQUFxQixDQUFBO0FBQ3pCLENBQUMsRUFKVyxhQUFhLEtBQWIsYUFBYSxRQUl4QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIENvbnRyb2xTdGF0dXMge1xyXG4gICAgRU5UUlkgPSBcIkVOVFJZXCIsXHJcbiAgICBFWElUID0gXCJFWElUXCIsXHJcbiAgICBDQU5DRUxFRCA9IFwiQ0FOQ0VMRURcIixcclxufVxyXG4iXX0=
|
|
@@ -7,40 +7,81 @@ export const eventOrigin = [
|
|
|
7
7
|
{ label: "agro.angular_components.invoice_creating_event", value: EventOrigin.INVOICE },
|
|
8
8
|
{ label: "agro.angular_components.ticket_maintenance_header", value: EventOrigin.TICKET },
|
|
9
9
|
{ label: "agro.angular_components.change_request_event_summary", value: EventOrigin.CHANGE_REQUEST },
|
|
10
|
-
{ label: "agro.angular_components.transfer_cancellation_event", value: EventOrigin.TRANSFER_CANCELLATION }
|
|
10
|
+
{ label: "agro.angular_components.transfer_cancellation_event", value: EventOrigin.TRANSFER_CANCELLATION },
|
|
11
11
|
];
|
|
12
12
|
export const eventItem = [
|
|
13
13
|
{ label: "agro.angular_components.ticket_event", value: EventOperation.TICKET },
|
|
14
14
|
{ label: "agro.angular_components.provisional_event", value: EventOperation.PROVISIONAL },
|
|
15
|
-
{
|
|
15
|
+
{
|
|
16
|
+
label: "agro.angular_components.invoice_creating_event",
|
|
17
|
+
value: EventOperation.CREATE_INVOICE,
|
|
18
|
+
subLabelField: InputFields.AGRO_INVOICE_TYPE,
|
|
19
|
+
},
|
|
16
20
|
{ label: "agro.angular_components.remove_provisional_event", value: EventOperation.REMOVE_PROVISIONAL },
|
|
17
21
|
{ label: "agro.angular_components.effective_event", value: EventOperation.EFFECTIVE },
|
|
18
22
|
{ label: "agro.angular_components.effective_confirmation_event", value: EventOperation.EFFECTIVE_CONFIRMATION },
|
|
19
23
|
{ label: "agro.angular_components.change_request_event_summary", value: EventOperation.CHANGE_REQUEST },
|
|
20
24
|
{ label: "agro.angular_components.change_response_event", value: EventOperation.CHANGE_RESPONSE },
|
|
21
25
|
{ label: "agro.angular_components.fixation_event", value: EventOperation.PROCESS_FIXATION },
|
|
22
|
-
{
|
|
26
|
+
{
|
|
27
|
+
label: `agro.angular_components.${EventOperation.CANCEL_INVOICE}`,
|
|
28
|
+
value: EventOperation.CANCEL_INVOICE,
|
|
29
|
+
subLabelField: InputFields.AGRO_INVOICE_TYPE,
|
|
30
|
+
},
|
|
23
31
|
{ label: `agro.angular_components.${EventOperation.REPROCESS_INVOICE}`, value: EventOperation.REPROCESS_INVOICE },
|
|
24
32
|
{ label: `agro.angular_components.${EventOperation.EFFECTIVE_CONFIRMATION}`, value: EventOperation.EFFECTIVE_CONFIRMATION },
|
|
25
33
|
{ label: `agro.angular_components.${EventOperation.CHANGE_REQUEST}`, value: EventOperation.CHANGE_REQUEST },
|
|
26
34
|
{ label: `agro.angular_components.${EventOperation.CHANGE_RESPONSE}`, value: EventOperation.CHANGE_RESPONSE },
|
|
27
35
|
{ label: `agro.angular_components.${EventOperation.PROCESS_FIXATION}`, value: EventOperation.PROCESS_FIXATION },
|
|
28
|
-
{
|
|
29
|
-
|
|
36
|
+
{
|
|
37
|
+
label: `agro.angular_components.${EventOperation.TRANSFER_CREATE_INCOMING_INVOICE}`,
|
|
38
|
+
value: EventOperation.TRANSFER_CREATE_INCOMING_INVOICE,
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
label: `agro.angular_components.${EventOperation.TRANSFER_CREATE_OUTGOING_INVOICE}`,
|
|
42
|
+
value: EventOperation.TRANSFER_CREATE_OUTGOING_INVOICE,
|
|
43
|
+
},
|
|
30
44
|
{ label: `agro.angular_components.${EventOperation.TRANSFER_PRODUCER_BALANCE}`, value: EventOperation.TRANSFER_PRODUCER_BALANCE },
|
|
31
45
|
{ label: `agro.angular_components.${EventOperation.FINISH_FINANCIAL_FIXATION}`, value: EventOperation.FINISH_FINANCIAL_FIXATION },
|
|
32
|
-
{
|
|
46
|
+
{
|
|
47
|
+
label: `agro.angular_components.${EventOperation.FINISH_PRODUCER_NET_VALUE_FIXATION}`,
|
|
48
|
+
value: EventOperation.FINISH_PRODUCER_NET_VALUE_FIXATION,
|
|
49
|
+
},
|
|
33
50
|
{ label: `agro.angular_components.${EventOperation.CONCLUDE_FIXATION}`, value: EventOperation.CONCLUDE_FIXATION },
|
|
34
51
|
{ label: `agro.angular_components.${EventOperation.CANCEL_FINANCIAL_FIXATION}`, value: EventOperation.CANCEL_FINANCIAL_FIXATION },
|
|
35
|
-
{
|
|
52
|
+
{
|
|
53
|
+
label: `agro.angular_components.${EventOperation.CANCEL_PRODUCER_NET_VALUE_FIXATION}`,
|
|
54
|
+
value: EventOperation.CANCEL_PRODUCER_NET_VALUE_FIXATION,
|
|
55
|
+
},
|
|
36
56
|
{ label: `agro.angular_components.${EventOperation.CANCEL_FIXATION}`, value: EventOperation.CANCEL_FIXATION },
|
|
37
|
-
{
|
|
38
|
-
|
|
39
|
-
|
|
57
|
+
{
|
|
58
|
+
label: `agro.angular_components.${EventOperation.TRANSFER_CANCEL_INCOMING_INVOICE}`,
|
|
59
|
+
value: EventOperation.TRANSFER_CANCEL_INCOMING_INVOICE,
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
label: `agro.angular_components.${EventOperation.TRANSFER_CANCEL_OUTGOING_INVOICE}`,
|
|
63
|
+
value: EventOperation.TRANSFER_CANCEL_OUTGOING_INVOICE,
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
label: `agro.angular_components.${EventOperation.TRANSFER_REVERSE_PRODUCER_BALANCE}`,
|
|
67
|
+
value: EventOperation.TRANSFER_REVERSE_PRODUCER_BALANCE,
|
|
68
|
+
},
|
|
40
69
|
{ label: `agro.angular_components.${EventOperation.TRANSFER_CONCLUDE_CANCEL}`, value: EventOperation.TRANSFER_CONCLUDE_CANCEL },
|
|
41
|
-
{
|
|
42
|
-
|
|
43
|
-
|
|
70
|
+
{
|
|
71
|
+
label: `agro.angular_components.${EventOperation.CREATE_INVOICE_FIXATION}`,
|
|
72
|
+
value: EventOperation.CREATE_INVOICE_FIXATION,
|
|
73
|
+
subLabelField: InputFields.INVOICE_TYPE,
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
label: `agro.angular_components.${EventOperation.CANCEL_INVOICE_FIXATION}`,
|
|
77
|
+
value: EventOperation.CANCEL_INVOICE_FIXATION,
|
|
78
|
+
subLabelField: InputFields.INVOICE_TYPE,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
label: `agro.angular_components.${EventOperation.CLOSE_INVOICE_FIXATION}`,
|
|
82
|
+
value: EventOperation.CLOSE_INVOICE_FIXATION,
|
|
83
|
+
subLabelField: InputFields.INVOICE_NUMBER,
|
|
84
|
+
},
|
|
44
85
|
];
|
|
45
86
|
export const eventStatus = [
|
|
46
87
|
{ label: "agro.angular_components.panel_title_events_completed_successfully", value: EventStatus.SUCCESS },
|
|
@@ -55,4 +96,4 @@ export const inputFieldsPath = [
|
|
|
55
96
|
{ path: "invoiceCancelRecordIn.0", field: InputFields.INVOICE_TYPE, operation: EventOperation.CANCEL_INVOICE_FIXATION },
|
|
56
97
|
{ path: "invoiceCreateRecordIn.0", field: InputFields.INVOICE_NUMBER, operation: EventOperation.CLOSE_INVOICE_FIXATION },
|
|
57
98
|
];
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtY29udHJvbC1jb25zdGFudHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWFncm9uZWdvY2lvL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZXZlbnQtY29udHJvbC1ib2FyZC9jb21tb24vZXZlbnQtY29udHJvbC1jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN2QixFQUFFLEtBQUssRUFBRSxxREFBcUQsRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLHFCQUFxQixFQUFFO0lBQzFHLEVBQUUsS0FBSyxFQUFFLGdEQUFnRCxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsT0FBTyxFQUFFO0lBQ3ZGLEVBQUUsS0FBSyxFQUFFLG1EQUFtRCxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsTUFBTSxFQUFFO0lBQ3pGLEVBQUUsS0FBSyxFQUFFLHNEQUFzRCxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsY0FBYyxFQUFFO0lBQ3BHLEVBQUUsS0FBSyxFQUFFLHFEQUFxRCxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMscUJBQXFCLEVBQUU7Q0FDN0csQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRztJQUNyQixFQUFFLEtBQUssRUFBRSxzQ0FBc0MsRUFBRSxLQUFLLEVBQUUsY0FBYyxDQUFDLE1BQU0sRUFBRTtJQUMvRSxFQUFFLEtBQUssRUFBRSwyQ0FBMkMsRUFBRSxLQUFLLEVBQUUsY0FBYyxDQUFDLFdBQVcsRUFBRTtJ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QUssRUFBRSxXQUFXLENBQUMsT0FBTyxFQUFFO0lBQ3hFLEVBQUUsS0FBSyxFQUFFLG9DQUFvQyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsVUFBVSxFQUFFO0lBQzlFLEVBQUUsS0FBSyxFQUFFLGtDQUFrQyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsUUFBUSxFQUFFO0NBQzdFLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDM0IsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsaUJBQWlCLEVBQUU7SUFDekQsRUFBRSxJQUFJLEVBQUUseUJBQXlCLEVBQUUsS0FBSyxFQUFFLFdBQVcsQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLGNBQWMsQ0FBQyx1QkFBdUIsRUFBRTtJQUN2SCxFQUFFLElBQUksRUFBRSx5QkFBeUIsRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsY0FBYyxDQUFDLHVCQUF1QixFQUFFO0lBQ3ZILEVBQUUsSUFBSSxFQUFFLHlCQUF5QixFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsY0FBYyxFQUFFLFNBQVMsRUFBRSxjQUFjLENBQUMsc0JBQXNCLEVBQUU7Q0FDM0gsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50T3BlcmF0aW9uIH0gZnJvbSBcIi4vZXZlbnQtb3BlcmF0aW9uXCI7XHJcbmltcG9ydCB7IEV2ZW50T3JpZ2luIH0gZnJvbSBcIi4vZXZlbnQtb3JpZ2luXCI7XHJcbmltcG9ydCB7IEV2ZW50U3RhdHVzIH0gZnJvbSBcIi4vZXZlbnQtc3RhdHVzXCI7XHJcbmltcG9ydCB7IElucHV0RmllbGRzIH0gZnJvbSBcIi4vaW5wdXQtZmllbGRzXCI7XHJcblxyXG5leHBvcnQgY29uc3QgZXZlbnRPcmlnaW4gPSBbXHJcbiAgICB7IGxhYmVsOiBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmJhbGFuY2VfZW50cnlfY29udHJvbF9ldmVudFwiLCB2YWx1ZTogRXZlbnRPcmlnaW4uQkFMQU5DRV9FTlRSWV9DT05UUk9MIH0sXHJcbiAgICB7IGxhYmVsOiBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmludm9pY2VfY3JlYXRpbmdfZXZlbnRcIiwgdmFsdWU6IEV2ZW50T3JpZ2luLklOVk9JQ0UgfSxcclxuICAgIHsgbGFiZWw6IFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMudGlja2V0X21haW50ZW5hbmNlX2hlYWRlclwiLCB2YWx1ZTogRXZlbnRPcmlnaW4uVElDS0VUIH0sXHJcbiAgICB7IGxhYmVsOiBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmNoYW5nZV9yZXF1ZXN0X2V2ZW50X3N1bW1hcnlcIiwgdmFsdWU6IEV2ZW50T3JpZ2luLkNIQU5HRV9SRVFVRVNUIH0sXHJcbiAgICB7IGxhYmVsOiBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnRyYW5zZmVyX2NhbmNlbGxhdGlvbl9ldmVudFwiLCB2YWx1ZTogRXZlbnRPcmlnaW4uVFJBTlNGRVJfQ0FOQ0VMTEFUSU9OIH1cclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBldmVudEl0ZW0gPSBbXHJcbiAgICB7IGxhYmVsOiBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnRpY2tldF9ldmVudFwiLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uVElDS0VUIH0sXHJcbiAgICB7IGxhYmVsOiBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnByb3Zpc2lvbmFsX2V2ZW50XCIsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5QUk9WSVNJT05BTCB9LFxyXG4gICAgeyBsYWJlbDogXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5pbnZvaWNlX2NyZWF0aW5nX2V2ZW50XCIsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5DUkVBVEVfSU5WT0lDRSwgc3ViTGFiZWxGaWVsZDogSW5wdXRGaWVsZHMuQUdST19JTlZPSUNFX1RZUEUgfSxcclxuICAgIHsgbGFiZWw6IFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMucmVtb3ZlX3Byb3Zpc2lvbmFsX2V2ZW50XCIsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5SRU1PVkVfUFJPVklTSU9OQUwgfSxcclxuICAgIHsgbGFiZWw6IFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZWZmZWN0aXZlX2V2ZW50XCIsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5FRkZFQ1RJVkUgfSxcclxuICAgIHsgbGFiZWw6IFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZWZmZWN0aXZlX2NvbmZpcm1hdGlvbl9ldmVudFwiLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uRUZGRUNUSVZFX0NPTkZJUk1BVElPTiB9LFxyXG4gICAgeyBsYWJlbDogXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5jaGFuZ2VfcmVxdWVzdF9ldmVudF9zdW1tYXJ5XCIsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5DSEFOR0VfUkVRVUVTVCB9LFxyXG4gICAgeyBsYWJlbDogXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5jaGFuZ2VfcmVzcG9uc2VfZXZlbnRcIiwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkNIQU5HRV9SRVNQT05TRSB9LFxyXG4gICAgeyBsYWJlbDogXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5maXhhdGlvbl9ldmVudFwiLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uUFJPQ0VTU19GSVhBVElPTiB9LFxyXG4gICAgeyBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uQ0FOQ0VMX0lOVk9JQ0V9YCwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkNBTkNFTF9JTlZPSUNFLCBzdWJMYWJlbEZpZWxkOiBJbnB1dEZpZWxkcy5BR1JPX0lOVk9JQ0VfVFlQRSB9LFxyXG4gICAgeyBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uUkVQUk9DRVNTX0lOVk9JQ0V9YCwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLlJFUFJPQ0VTU19JTlZPSUNFIH0sXHJcbiAgICB7IGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5FRkZFQ1RJVkVfQ09ORklSTUFUSU9OfWAsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5FRkZFQ1RJVkVfQ09ORklSTUFUSU9OIH0sXHJcbiAgICB7IGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5DSEFOR0VfUkVRVUVTVH1gLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uQ0hBTkdFX1JFUVVFU1QgfSxcclxuICAgIHsgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLkNIQU5HRV9SRVNQT05TRX1gLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uQ0hBTkdFX1JFU1BPTlNFIH0sXHJcbiAgICB7IGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5QUk9DRVNTX0ZJWEFUSU9OfWAsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5QUk9DRVNTX0ZJWEFUSU9OIH0sXHJcbiAgICB7IGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5UUkFOU0ZFUl9DUkVBVEVfSU5DT01JTkdfSU5WT0lDRX1gLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uVFJBTlNGRVJfQ1JFQVRFX0lOQ09NSU5HX0lOVk9JQ0UgfSxcclxuICAgIHsgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX0NSRUFURV9PVVRHT0lOR19JTlZPSUNFfWAsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5UUkFOU0ZFUl9DUkVBVEVfT1VUR09JTkdfSU5WT0lDRSB9LFxyXG4gICAgeyBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uVFJBTlNGRVJfUFJPRFVDRVJfQkFMQU5DRX1gLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uVFJBTlNGRVJfUFJPRFVDRVJfQkFMQU5DRSB9LFxyXG4gICAgeyBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uRklOSVNIX0ZJTkFOQ0lBTF9GSVhBVElPTn1gLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uRklOSVNIX0ZJTkFOQ0lBTF9GSVhBVElPTiB9LFxyXG4gICAgeyBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uRklOSVNIX1BST0RVQ0VSX05FVF9WQUxVRV9GSVhBVElPTn1gLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uRklOSVNIX1BST0RVQ0VSX05FVF9WQUxVRV9GSVhBVElPTiB9LFxyXG4gICAgeyBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uQ09OQ0xVREVfRklYQVRJT059YCwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkNPTkNMVURFX0ZJWEFUSU9OIH0sXHJcbiAgICB7IGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5DQU5DRUxfRklOQU5DSUFMX0ZJWEFUSU9OfWAsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5DQU5DRUxfRklOQU5DSUFMX0ZJWEFUSU9OIH0sXHJcbiAgICB7IGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5DQU5DRUxfUFJPRFVDRVJfTkVUX1ZBTFVFX0ZJWEFUSU9OfWAsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5DQU5DRUxfUFJPRFVDRVJfTkVUX1ZBTFVFX0ZJWEFUSU9OIH0sXHJcbiAgICB7IGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5DQU5DRUxfRklYQVRJT059YCwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkNBTkNFTF9GSVhBVElPTiB9LFxyXG4gICAgeyBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uVFJBTlNGRVJfQ0FOQ0VMX0lOQ09NSU5HX0lOVk9JQ0V9YCwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX0NBTkNFTF9JTkNPTUlOR19JTlZPSUNFIH0sXHJcbiAgICB7IGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5UUkFOU0ZFUl9DQU5DRUxfT1VUR09JTkdfSU5WT0lDRX1gLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uVFJBTlNGRVJfQ0FOQ0VMX09VVEdPSU5HX0lOVk9JQ0UgfSxcclxuICAgIHsgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX1JFVkVSU0VfUFJPRFVDRVJfQkFMQU5DRX1gLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uVFJBTlNGRVJfUkVWRVJTRV9QUk9EVUNFUl9CQUxBTkNFIH0sXHJcbiAgICB7IGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5UUkFOU0ZFUl9DT05DTFVERV9DQU5DRUx9YCwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX0NPTkNMVURFX0NBTkNFTCB9LFxyXG4gICAgeyBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uQ1JFQVRFX0lOVk9JQ0VfRklYQVRJT059YCwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkNSRUFURV9JTlZPSUNFX0ZJWEFUSU9OLCBzdWJMYWJlbEZpZWxkOiBJbnB1dEZpZWxkcy5JTlZPSUNFX1RZUEUgfSxcclxuICAgIHsgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLkNBTkNFTF9JTlZPSUNFX0ZJWEFUSU9OfWAsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5DQU5DRUxfSU5WT0lDRV9GSVhBVElPTiwgc3ViTGFiZWxGaWVsZDogSW5wdXRGaWVsZHMuSU5WT0lDRV9UWVBFIH0sXHJcbiAgICB7IGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5DTE9TRV9JTlZPSUNFX0ZJWEFUSU9OfWAsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5DTE9TRV9JTlZPSUNFX0ZJWEFUSU9OLCBzdWJMYWJlbEZpZWxkOiBJbnB1dEZpZWxkcy5JTlZPSUNFX05VTUJFUiB9LFxyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IGV2ZW50U3RhdHVzID0gW1xyXG4gICAgeyBsYWJlbDogXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5wYW5lbF90aXRsZV9ldmVudHNfY29tcGxldGVkX3N1Y2Nlc3NmdWxseVwiLCB2YWx1ZTogRXZlbnRTdGF0dXMuU1VDQ0VTUyB9LFxyXG4gICAgeyBsYWJlbDogXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5wYW5lbF90aXRsZV9ldmVudHNfZW5kZWRfd2l0aF9lcnJvclwiLCB2YWx1ZTogRXZlbnRTdGF0dXMuRkFJTEVEIH0sXHJcbiAgICB7IGxhYmVsOiBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnBlbmRpbmdcIiwgdmFsdWU6IEV2ZW50U3RhdHVzLlBFTkRJTkcgfSxcclxuICAgIHsgbGFiZWw6IFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMucHJvY2Vzc2luZ1wiLCB2YWx1ZTogRXZlbnRTdGF0dXMuUFJPQ0VTU0lORyB9LFxyXG4gICAgeyBsYWJlbDogXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5jYW5jZWxlZFwiLCB2YWx1ZTogRXZlbnRTdGF0dXMuQ0FOQ0VMRUQgfSxcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBpbnB1dEZpZWxkc1BhdGggPSBbXHJcbiAgICB7IHBhdGg6IFwiaW52b2ljZVwiLCBmaWVsZDogSW5wdXRGaWVsZHMuQUdST19JTlZPSUNFX1RZUEUgfSxcclxuICAgIHsgcGF0aDogXCJpbnZvaWNlQ3JlYXRlUmVjb3JkSW4uMFwiLCBmaWVsZDogSW5wdXRGaWVsZHMuSU5WT0lDRV9UWVBFLCBvcGVyYXRpb246IEV2ZW50T3BlcmF0aW9uLkNSRUFURV9JTlZPSUNFX0ZJWEFUSU9OIH0sXHJcbiAgICB7IHBhdGg6IFwiaW52b2ljZUNhbmNlbFJlY29yZEluLjBcIiwgZmllbGQ6IElucHV0RmllbGRzLklOVk9JQ0VfVFlQRSwgb3BlcmF0aW9uOiBFdmVudE9wZXJhdGlvbi5DQU5DRUxfSU5WT0lDRV9GSVhBVElPTiB9LFxyXG4gICAgeyBwYXRoOiBcImludm9pY2VDcmVhdGVSZWNvcmRJbi4wXCIsIGZpZWxkOiBJbnB1dEZpZWxkcy5JTlZPSUNFX05VTUJFUiwgb3BlcmF0aW9uOiBFdmVudE9wZXJhdGlvbi5DTE9TRV9JTlZPSUNFX0ZJWEFUSU9OIH0sXHJcbl1cclxuXHJcblxyXG5cclxuIl19
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtY29udHJvbC1jb25zdGFudHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWFncm9uZWdvY2lvL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZXZlbnQtY29udHJvbC1ib2FyZC9jb21tb24vZXZlbnQtY29udHJvbC1jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN2QixFQUFFLEtBQUssRUFBRSxxREFBcUQsRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLHFCQUFxQixFQUFFO0lBQzFHLEVBQUUsS0FBSyxFQUFFLGdEQUFnRCxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsT0FBTyxFQUFFO0lBQ3ZGLEVBQUUsS0FBSyxFQUFFLG1EQUFtRCxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsTUFBTSxFQUFFO0lBQ3pGLEVBQUUsS0FBSyxFQUFFLHNEQUFzRCxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsY0FBYyxFQUFFO0lBQ3BHLEVBQUUsS0FBSyxFQUFFLHFEQUFxRCxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMscUJBQXFCLEVBQUU7Q0FDN0csQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRztJQUNyQixFQUFFLEtBQUssRUFBRSxzQ0FBc0MsRUFBRSxLQUFLLEVBQUUsY0FBYyxDQUFDLE1BQU0sRUFBRTtJQUMvRSxFQUFFLEtBQUssRUFBRSwyQ0FBMkMsRUFBRSxLQUFLLEVBQUUsY0FBYyxDQUFDLFdBQVcsRUFBRTtJ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QUUsaUNBQWlDLEVBQUUsS0FBSyxFQUFFLFdBQVcsQ0FBQyxPQUFPLEVBQUU7SUFDeEUsRUFBRSxLQUFLLEVBQUUsb0NBQW9DLEVBQUUsS0FBSyxFQUFFLFdBQVcsQ0FBQyxVQUFVLEVBQUU7SUFDOUUsRUFBRSxLQUFLLEVBQUUsa0NBQWtDLEVBQUUsS0FBSyxFQUFFLFdBQVcsQ0FBQyxRQUFRLEVBQUU7Q0FDN0UsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUMzQixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRTtJQUN6RCxFQUFFLElBQUksRUFBRSx5QkFBeUIsRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsY0FBYyxDQUFDLHVCQUF1QixFQUFFO0lBQ3ZILEVBQUUsSUFBSSxFQUFFLHlCQUF5QixFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxjQUFjLENBQUMsdUJBQXVCLEVBQUU7SUFDdkgsRUFBRSxJQUFJLEVBQUUseUJBQXlCLEVBQUUsS0FBSyxFQUFFLFdBQVcsQ0FBQyxjQUFjLEVBQUUsU0FBUyxFQUFFLGNBQWMsQ0FBQyxzQkFBc0IsRUFBRTtDQUMzSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRPcGVyYXRpb24gfSBmcm9tIFwiLi9ldmVudC1vcGVyYXRpb25cIjtcclxuaW1wb3J0IHsgRXZlbnRPcmlnaW4gfSBmcm9tIFwiLi9ldmVudC1vcmlnaW5cIjtcclxuaW1wb3J0IHsgRXZlbnRTdGF0dXMgfSBmcm9tIFwiLi9ldmVudC1zdGF0dXNcIjtcclxuaW1wb3J0IHsgSW5wdXRGaWVsZHMgfSBmcm9tIFwiLi9pbnB1dC1maWVsZHNcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBldmVudE9yaWdpbiA9IFtcclxuICAgIHsgbGFiZWw6IFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuYmFsYW5jZV9lbnRyeV9jb250cm9sX2V2ZW50XCIsIHZhbHVlOiBFdmVudE9yaWdpbi5CQUxBTkNFX0VOVFJZX0NPTlRST0wgfSxcclxuICAgIHsgbGFiZWw6IFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuaW52b2ljZV9jcmVhdGluZ19ldmVudFwiLCB2YWx1ZTogRXZlbnRPcmlnaW4uSU5WT0lDRSB9LFxyXG4gICAgeyBsYWJlbDogXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy50aWNrZXRfbWFpbnRlbmFuY2VfaGVhZGVyXCIsIHZhbHVlOiBFdmVudE9yaWdpbi5USUNLRVQgfSxcclxuICAgIHsgbGFiZWw6IFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuY2hhbmdlX3JlcXVlc3RfZXZlbnRfc3VtbWFyeVwiLCB2YWx1ZTogRXZlbnRPcmlnaW4uQ0hBTkdFX1JFUVVFU1QgfSxcclxuICAgIHsgbGFiZWw6IFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMudHJhbnNmZXJfY2FuY2VsbGF0aW9uX2V2ZW50XCIsIHZhbHVlOiBFdmVudE9yaWdpbi5UUkFOU0ZFUl9DQU5DRUxMQVRJT04gfSxcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBldmVudEl0ZW0gPSBbXHJcbiAgICB7IGxhYmVsOiBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnRpY2tldF9ldmVudFwiLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uVElDS0VUIH0sXHJcbiAgICB7IGxhYmVsOiBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnByb3Zpc2lvbmFsX2V2ZW50XCIsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5QUk9WSVNJT05BTCB9LFxyXG4gICAge1xyXG4gICAgICAgIGxhYmVsOiBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmludm9pY2VfY3JlYXRpbmdfZXZlbnRcIixcclxuICAgICAgICB2YWx1ZTogRXZlbnRPcGVyYXRpb24uQ1JFQVRFX0lOVk9JQ0UsXHJcbiAgICAgICAgc3ViTGFiZWxGaWVsZDogSW5wdXRGaWVsZHMuQUdST19JTlZPSUNFX1RZUEUsXHJcbiAgICB9LFxyXG4gICAgeyBsYWJlbDogXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5yZW1vdmVfcHJvdmlzaW9uYWxfZXZlbnRcIiwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLlJFTU9WRV9QUk9WSVNJT05BTCB9LFxyXG4gICAgeyBsYWJlbDogXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lZmZlY3RpdmVfZXZlbnRcIiwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkVGRkVDVElWRSB9LFxyXG4gICAgeyBsYWJlbDogXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lZmZlY3RpdmVfY29uZmlybWF0aW9uX2V2ZW50XCIsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5FRkZFQ1RJVkVfQ09ORklSTUFUSU9OIH0sXHJcbiAgICB7IGxhYmVsOiBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmNoYW5nZV9yZXF1ZXN0X2V2ZW50X3N1bW1hcnlcIiwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkNIQU5HRV9SRVFVRVNUIH0sXHJcbiAgICB7IGxhYmVsOiBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmNoYW5nZV9yZXNwb25zZV9ldmVudFwiLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uQ0hBTkdFX1JFU1BPTlNFIH0sXHJcbiAgICB7IGxhYmVsOiBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmZpeGF0aW9uX2V2ZW50XCIsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5QUk9DRVNTX0ZJWEFUSU9OIH0sXHJcbiAgICB7XHJcbiAgICAgICAgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLkNBTkNFTF9JTlZPSUNFfWAsXHJcbiAgICAgICAgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkNBTkNFTF9JTlZPSUNFLFxyXG4gICAgICAgIHN1YkxhYmVsRmllbGQ6IElucHV0RmllbGRzLkFHUk9fSU5WT0lDRV9UWVBFLFxyXG4gICAgfSxcclxuICAgIHsgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLlJFUFJPQ0VTU19JTlZPSUNFfWAsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5SRVBST0NFU1NfSU5WT0lDRSB9LFxyXG4gICAgeyBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uRUZGRUNUSVZFX0NPTkZJUk1BVElPTn1gLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uRUZGRUNUSVZFX0NPTkZJUk1BVElPTiB9LFxyXG4gICAgeyBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uQ0hBTkdFX1JFUVVFU1R9YCwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkNIQU5HRV9SRVFVRVNUIH0sXHJcbiAgICB7IGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5DSEFOR0VfUkVTUE9OU0V9YCwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkNIQU5HRV9SRVNQT05TRSB9LFxyXG4gICAgeyBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uUFJPQ0VTU19GSVhBVElPTn1gLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uUFJPQ0VTU19GSVhBVElPTiB9LFxyXG4gICAge1xyXG4gICAgICAgIGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5UUkFOU0ZFUl9DUkVBVEVfSU5DT01JTkdfSU5WT0lDRX1gLFxyXG4gICAgICAgIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5UUkFOU0ZFUl9DUkVBVEVfSU5DT01JTkdfSU5WT0lDRSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX0NSRUFURV9PVVRHT0lOR19JTlZPSUNFfWAsXHJcbiAgICAgICAgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX0NSRUFURV9PVVRHT0lOR19JTlZPSUNFLFxyXG4gICAgfSxcclxuICAgIHsgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX1BST0RVQ0VSX0JBTEFOQ0V9YCwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX1BST0RVQ0VSX0JBTEFOQ0UgfSxcclxuICAgIHsgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLkZJTklTSF9GSU5BTkNJQUxfRklYQVRJT059YCwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkZJTklTSF9GSU5BTkNJQUxfRklYQVRJT04gfSxcclxuICAgIHtcclxuICAgICAgICBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uRklOSVNIX1BST0RVQ0VSX05FVF9WQUxVRV9GSVhBVElPTn1gLFxyXG4gICAgICAgIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5GSU5JU0hfUFJPRFVDRVJfTkVUX1ZBTFVFX0ZJWEFUSU9OLFxyXG4gICAgfSxcclxuICAgIHsgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLkNPTkNMVURFX0ZJWEFUSU9OfWAsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5DT05DTFVERV9GSVhBVElPTiB9LFxyXG4gICAgeyBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uQ0FOQ0VMX0ZJTkFOQ0lBTF9GSVhBVElPTn1gLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uQ0FOQ0VMX0ZJTkFOQ0lBTF9GSVhBVElPTiB9LFxyXG4gICAge1xyXG4gICAgICAgIGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5DQU5DRUxfUFJPRFVDRVJfTkVUX1ZBTFVFX0ZJWEFUSU9OfWAsXHJcbiAgICAgICAgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkNBTkNFTF9QUk9EVUNFUl9ORVRfVkFMVUVfRklYQVRJT04sXHJcbiAgICB9LFxyXG4gICAgeyBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uQ0FOQ0VMX0ZJWEFUSU9OfWAsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5DQU5DRUxfRklYQVRJT04gfSxcclxuICAgIHtcclxuICAgICAgICBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uVFJBTlNGRVJfQ0FOQ0VMX0lOQ09NSU5HX0lOVk9JQ0V9YCxcclxuICAgICAgICB2YWx1ZTogRXZlbnRPcGVyYXRpb24uVFJBTlNGRVJfQ0FOQ0VMX0lOQ09NSU5HX0lOVk9JQ0UsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5UUkFOU0ZFUl9DQU5DRUxfT1VUR09JTkdfSU5WT0lDRX1gLFxyXG4gICAgICAgIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5UUkFOU0ZFUl9DQU5DRUxfT1VUR09JTkdfSU5WT0lDRSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX1JFVkVSU0VfUFJPRFVDRVJfQkFMQU5DRX1gLFxyXG4gICAgICAgIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5UUkFOU0ZFUl9SRVZFUlNFX1BST0RVQ0VSX0JBTEFOQ0UsXHJcbiAgICB9LFxyXG4gICAgeyBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uVFJBTlNGRVJfQ09OQ0xVREVfQ0FOQ0VMfWAsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5UUkFOU0ZFUl9DT05DTFVERV9DQU5DRUwgfSxcclxuICAgIHtcclxuICAgICAgICBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uQ1JFQVRFX0lOVk9JQ0VfRklYQVRJT059YCxcclxuICAgICAgICB2YWx1ZTogRXZlbnRPcGVyYXRpb24uQ1JFQVRFX0lOVk9JQ0VfRklYQVRJT04sXHJcbiAgICAgICAgc3ViTGFiZWxGaWVsZDogSW5wdXRGaWVsZHMuSU5WT0lDRV9UWVBFLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uQ0FOQ0VMX0lOVk9JQ0VfRklYQVRJT059YCxcclxuICAgICAgICB2YWx1ZTogRXZlbnRPcGVyYXRpb24uQ0FOQ0VMX0lOVk9JQ0VfRklYQVRJT04sXHJcbiAgICAgICAgc3ViTGFiZWxGaWVsZDogSW5wdXRGaWVsZHMuSU5WT0lDRV9UWVBFLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uQ0xPU0VfSU5WT0lDRV9GSVhBVElPTn1gLFxyXG4gICAgICAgIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5DTE9TRV9JTlZPSUNFX0ZJWEFUSU9OLFxyXG4gICAgICAgIHN1YkxhYmVsRmllbGQ6IElucHV0RmllbGRzLklOVk9JQ0VfTlVNQkVSLFxyXG4gICAgfSxcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBldmVudFN0YXR1cyA9IFtcclxuICAgIHsgbGFiZWw6IFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMucGFuZWxfdGl0bGVfZXZlbnRzX2NvbXBsZXRlZF9zdWNjZXNzZnVsbHlcIiwgdmFsdWU6IEV2ZW50U3RhdHVzLlNVQ0NFU1MgfSxcclxuICAgIHsgbGFiZWw6IFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMucGFuZWxfdGl0bGVfZXZlbnRzX2VuZGVkX3dpdGhfZXJyb3JcIiwgdmFsdWU6IEV2ZW50U3RhdHVzLkZBSUxFRCB9LFxyXG4gICAgeyBsYWJlbDogXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5wZW5kaW5nXCIsIHZhbHVlOiBFdmVudFN0YXR1cy5QRU5ESU5HIH0sXHJcbiAgICB7IGxhYmVsOiBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnByb2Nlc3NpbmdcIiwgdmFsdWU6IEV2ZW50U3RhdHVzLlBST0NFU1NJTkcgfSxcclxuICAgIHsgbGFiZWw6IFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuY2FuY2VsZWRcIiwgdmFsdWU6IEV2ZW50U3RhdHVzLkNBTkNFTEVEIH0sXHJcbl07XHJcblxyXG5leHBvcnQgY29uc3QgaW5wdXRGaWVsZHNQYXRoID0gW1xyXG4gICAgeyBwYXRoOiBcImludm9pY2VcIiwgZmllbGQ6IElucHV0RmllbGRzLkFHUk9fSU5WT0lDRV9UWVBFIH0sXHJcbiAgICB7IHBhdGg6IFwiaW52b2ljZUNyZWF0ZVJlY29yZEluLjBcIiwgZmllbGQ6IElucHV0RmllbGRzLklOVk9JQ0VfVFlQRSwgb3BlcmF0aW9uOiBFdmVudE9wZXJhdGlvbi5DUkVBVEVfSU5WT0lDRV9GSVhBVElPTiB9LFxyXG4gICAgeyBwYXRoOiBcImludm9pY2VDYW5jZWxSZWNvcmRJbi4wXCIsIGZpZWxkOiBJbnB1dEZpZWxkcy5JTlZPSUNFX1RZUEUsIG9wZXJhdGlvbjogRXZlbnRPcGVyYXRpb24uQ0FOQ0VMX0lOVk9JQ0VfRklYQVRJT04gfSxcclxuICAgIHsgcGF0aDogXCJpbnZvaWNlQ3JlYXRlUmVjb3JkSW4uMFwiLCBmaWVsZDogSW5wdXRGaWVsZHMuSU5WT0lDRV9OVU1CRVIsIG9wZXJhdGlvbjogRXZlbnRPcGVyYXRpb24uQ0xPU0VfSU5WT0lDRV9GSVhBVElPTiB9LFxyXG5dO1xyXG4iXX0=
|