@hitsoft/e-donusum 1.0.51 → 1.0.53

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.
Files changed (87) hide show
  1. package/config/providers/producer-receipt-line-route.provider.d.ts +9 -0
  2. package/config/providers/producer-receipt-note-route.provider.d.ts +9 -0
  3. package/config/providers/producer-receipt-route.provider.d.ts +9 -0
  4. package/esm2020/config/e-donusum-config.module.mjs +8 -2
  5. package/esm2020/config/providers/producer-receipt-line-route.provider.mjs +19 -0
  6. package/esm2020/config/providers/producer-receipt-note-route.provider.mjs +19 -0
  7. package/esm2020/config/providers/producer-receipt-route.provider.mjs +19 -0
  8. package/esm2020/lib/components/hit-inbound-invoices/hit-inbound-invoice.component.mjs +8 -3
  9. package/esm2020/lib/components/hit-paramas-invoices/hit-params-invoice.component.mjs +13 -5
  10. package/esm2020/lib/components/hit-params-dispatches/hit-params-dispatch.component.mjs +8 -4
  11. package/esm2020/lib/components/hit-xslt-formats/hit-xslt-format.component.mjs +3 -3
  12. package/esm2020/lib/e-donusum-routing.module.mjs +7 -1
  13. package/esm2020/lib/hit-proxy/hit-inbound-invoices/models.mjs +1 -1
  14. package/esm2020/lib/hit-proxy/hit-params-dispatches/hit-params-dispatch.service.mjs +5 -1
  15. package/esm2020/lib/hit-proxy/hit-params-invoices/hit-params-invoice.service.mjs +9 -1
  16. package/esm2020/lib/hit-proxy/hit-xslt-formats/hit-xslt-format.service.mjs +1 -1
  17. package/esm2020/lib/hit-proxy/hit-xslt-formats/models.mjs +1 -1
  18. package/esm2020/lib/paramse-dispatches/paramse-dispatch/components/paramse-dispatch.component.mjs +5 -4
  19. package/esm2020/lib/paramse-dispatches/paramse-dispatch/paramse-dispatch.module.mjs +1 -1
  20. package/esm2020/lib/paramse-invoices/paramse-invoice/components/paramse-invoice.component.mjs +6 -4
  21. package/esm2020/lib/paramse-invoices/paramse-invoice/paramse-invoice.module.mjs +1 -1
  22. package/esm2020/lib/producer-receipt-lines/producer-receipt-line/components/producer-receipt-line.component.mjs +127 -0
  23. package/esm2020/lib/producer-receipt-lines/producer-receipt-line/producer-receipt-line-routing.module.mjs +26 -0
  24. package/esm2020/lib/producer-receipt-lines/producer-receipt-line/producer-receipt-line.module.mjs +52 -0
  25. package/esm2020/lib/producer-receipt-notes/producer-receipt-note/components/producer-receipt-note.component.mjs +98 -0
  26. package/esm2020/lib/producer-receipt-notes/producer-receipt-note/producer-receipt-note-routing.module.mjs +26 -0
  27. package/esm2020/lib/producer-receipt-notes/producer-receipt-note/producer-receipt-note.module.mjs +52 -0
  28. package/esm2020/lib/producer-receipts/producer-receipt/components/producer-receipt.component.mjs +229 -0
  29. package/esm2020/lib/producer-receipts/producer-receipt/producer-receipt-routing.module.mjs +26 -0
  30. package/esm2020/lib/producer-receipts/producer-receipt/producer-receipt.module.mjs +52 -0
  31. package/esm2020/lib/proxy/document-serials/index.mjs +1 -1
  32. package/esm2020/lib/proxy/note-rule-doc-types/index.mjs +1 -1
  33. package/esm2020/lib/proxy/note-rule-scenarios/index.mjs +1 -1
  34. package/esm2020/lib/proxy/note-rules/index.mjs +1 -1
  35. package/esm2020/lib/proxy/params-companies/index.mjs +1 -1
  36. package/esm2020/lib/proxy/params-generals/index.mjs +1 -1
  37. package/esm2020/lib/proxy/params-integrators/index.mjs +1 -1
  38. package/esm2020/lib/proxy/paramse-dispatches/index.mjs +1 -1
  39. package/esm2020/lib/proxy/paramse-dispatches/models.mjs +1 -1
  40. package/esm2020/lib/proxy/paramse-dispatches/paramse-dispatch.service.mjs +2 -2
  41. package/esm2020/lib/proxy/paramse-invoices/index.mjs +1 -1
  42. package/esm2020/lib/proxy/paramse-invoices/models.mjs +1 -1
  43. package/esm2020/lib/proxy/paramse-invoices/paramse-invoice.service.mjs +2 -2
  44. package/esm2020/lib/proxy/producer-receipt-lines/models.mjs +2 -0
  45. package/esm2020/lib/proxy/producer-receipt-lines/producer-receipt-line.service.mjs +50 -0
  46. package/esm2020/lib/proxy/producer-receipt-notes/models.mjs +2 -0
  47. package/esm2020/lib/proxy/producer-receipt-notes/producer-receipt-note.service.mjs +50 -0
  48. package/esm2020/lib/proxy/producer-receipts/models.mjs +2 -0
  49. package/esm2020/lib/proxy/producer-receipts/producer-receipt.service.mjs +41 -0
  50. package/esm2020/lib/proxy/xslt-formats/index.mjs +1 -1
  51. package/esm2020/lib/proxy/xslt-rule-doc-types/index.mjs +1 -1
  52. package/esm2020/lib/proxy/xslt-rule-scenarios/index.mjs +1 -1
  53. package/esm2020/lib/proxy/xslt-rules/index.mjs +1 -1
  54. package/fesm2015/hitsoft-e-donusum-config.mjs +156 -102
  55. package/fesm2015/hitsoft-e-donusum-config.mjs.map +1 -1
  56. package/fesm2015/hitsoft-e-donusum.mjs +868 -129
  57. package/fesm2015/hitsoft-e-donusum.mjs.map +1 -1
  58. package/fesm2020/hitsoft-e-donusum-config.mjs +156 -102
  59. package/fesm2020/hitsoft-e-donusum-config.mjs.map +1 -1
  60. package/fesm2020/hitsoft-e-donusum.mjs +885 -130
  61. package/fesm2020/hitsoft-e-donusum.mjs.map +1 -1
  62. package/lib/components/hit-paramas-invoices/hit-params-invoice.component.d.ts +2 -0
  63. package/lib/components/hit-params-dispatches/hit-params-dispatch.component.d.ts +1 -0
  64. package/lib/components/hit-xslt-formats/hit-xslt-format.component.d.ts +2 -2
  65. package/lib/hit-proxy/hit-inbound-invoices/models.d.ts +5 -0
  66. package/lib/hit-proxy/hit-params-dispatches/hit-params-dispatch.service.d.ts +1 -0
  67. package/lib/hit-proxy/hit-params-invoices/hit-params-invoice.service.d.ts +2 -0
  68. package/lib/hit-proxy/hit-xslt-formats/hit-xslt-format.service.d.ts +3 -3
  69. package/lib/hit-proxy/hit-xslt-formats/models.d.ts +5 -1
  70. package/lib/producer-receipt-lines/producer-receipt-line/components/producer-receipt-line.component.d.ts +33 -0
  71. package/lib/producer-receipt-lines/producer-receipt-line/producer-receipt-line-routing.module.d.ts +7 -0
  72. package/lib/producer-receipt-lines/producer-receipt-line/producer-receipt-line.module.d.ts +15 -0
  73. package/lib/producer-receipt-notes/producer-receipt-note/components/producer-receipt-note.component.d.ts +33 -0
  74. package/lib/producer-receipt-notes/producer-receipt-note/producer-receipt-note-routing.module.d.ts +7 -0
  75. package/lib/producer-receipt-notes/producer-receipt-note/producer-receipt-note.module.d.ts +15 -0
  76. package/lib/producer-receipts/producer-receipt/components/producer-receipt.component.d.ts +33 -0
  77. package/lib/producer-receipts/producer-receipt/producer-receipt-routing.module.d.ts +7 -0
  78. package/lib/producer-receipts/producer-receipt/producer-receipt.module.d.ts +15 -0
  79. package/lib/proxy/paramse-dispatches/models.d.ts +5 -0
  80. package/lib/proxy/paramse-invoices/models.d.ts +10 -0
  81. package/lib/proxy/producer-receipt-lines/models.d.ts +97 -0
  82. package/lib/proxy/producer-receipt-lines/producer-receipt-line.service.d.ts +19 -0
  83. package/lib/proxy/producer-receipt-notes/models.d.ts +25 -0
  84. package/lib/proxy/producer-receipt-notes/producer-receipt-note.service.d.ts +19 -0
  85. package/lib/proxy/producer-receipts/models.d.ts +264 -0
  86. package/lib/proxy/producer-receipts/producer-receipt.service.d.ts +16 -0
  87. package/package.json +1 -1
@@ -0,0 +1,229 @@
1
+ import { ListService } from '@abp/ng.core';
2
+ import { Confirmation } from '@abp/ng.theme.shared';
3
+ import { DateAdapter } from '@abp/ng.theme.shared/extensions';
4
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
5
+ import { Validators } from '@angular/forms';
6
+ import { NgbDateAdapter } from '@ng-bootstrap/ng-bootstrap';
7
+ import { filter, finalize, switchMap, tap } from 'rxjs/operators';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@abp/ng.core";
10
+ import * as i2 from "../../../proxy/producer-receipts/producer-receipt.service";
11
+ import * as i3 from "@abp/ng.theme.shared";
12
+ import * as i4 from "@angular/forms";
13
+ import * as i5 from "@angular/common";
14
+ import * as i6 from "@swimlane/ngx-datatable";
15
+ import * as i7 from "@volo/abp.commercial.ng.ui";
16
+ import * as i8 from "@ngx-validate/core";
17
+ import * as i9 from "@ng-bootstrap/ng-bootstrap";
18
+ import * as i10 from "@abp/ng.components/page";
19
+ export class ProducerReceiptComponent {
20
+ constructor(list, track, service, confirmation, fb) {
21
+ this.list = list;
22
+ this.track = track;
23
+ this.service = service;
24
+ this.confirmation = confirmation;
25
+ this.fb = fb;
26
+ this.data = {
27
+ items: [],
28
+ totalCount: 0,
29
+ };
30
+ this.filters = {};
31
+ this.isFiltersHidden = true;
32
+ this.isModalBusy = false;
33
+ this.isModalOpen = false;
34
+ }
35
+ ngOnInit() {
36
+ const getData = (query) => this.service.getList({
37
+ ...query,
38
+ ...this.filters,
39
+ filterText: query.filter,
40
+ });
41
+ const setData = (list) => (this.data = list);
42
+ this.list.hookToQuery(getData).subscribe(setData);
43
+ }
44
+ clearFilters() {
45
+ this.filters = {};
46
+ }
47
+ buildForm() {
48
+ const { ublVersionId, customizationId, profileId, producerReceiptID, copyIndicator, uuId, issueDate, issueTime, creditNoteTypeCode, documentCurrencyCode, taxCurrencyCode, pricingCurrencyCode, paymentCurrencyCode, paymentAlternativeCurrencyCode, accountingCost, lineCountNumeric, accountingSupplierPartyName, accountingSupplierPartySchemeID, accountingSupplierPartyVKNTCKN, accountingCustomerPartyName, accountingCustomerPartySchemeID, accountingCustomerPartyVKNTCKN, deliveryActualDeliveryDate, taxExchangeRateSourceCurrencyCode, taxExchangeRateTargetCurrencyCode, taxExchangeRateCalculationRate, taxExchangeRateDate, pricingExchangeRateSourceCurrencyCode, pricingExchangeRateTargetCurrencyCode, pricingExchangeRateCalculationRate, pricingExchangeRateDate, paymentExchangeRateSourceCurrencyCode, paymentExchangeRateTargetCurrencyCode, paymentExchangeRateCalculationRate, paymentExchangeRateDate, paymentAlternativeExchangeRateSourceCurrencyCode, paymentAlternativeExchangeRateTargetCurrencyCode, paymentAlternativeExchangeRateCalculationRate, paymentAlternativeExchangeRateDate, legalMonetaryTotalLineExtensionAmount, legalMonetaryTotalTaxExclusiveAmount, legalMonetaryTotalTaxInclusiveAmount, legalMonetaryTotalAllowanceTotalAmount, legalMonetaryTotalChargeTotalAmount, legalMonetaryTotalPayableRoundingAmount, legalMonetaryTotalPayableAmount, isCanceled, cancelCode, cancelDescription, status, resourceDocEntry, resourceDocType, entegratorErrorMessage, resourceSubDocType, resourceJournalEntry, isDraft, selectedReceiptSerial, } = this.selected || {};
49
+ this.form = this.fb.group({
50
+ ublVersionId: [ublVersionId ?? null, [Validators.required, Validators.maxLength(8)]],
51
+ customizationId: [customizationId ?? null, [Validators.required, Validators.maxLength(8)]],
52
+ profileId: [profileId ?? null, [Validators.required, Validators.maxLength(32)]],
53
+ producerReceiptID: [
54
+ producerReceiptID ?? null,
55
+ [Validators.required, Validators.maxLength(32)],
56
+ ],
57
+ copyIndicator: [false, []],
58
+ uuId: [uuId ?? null, [Validators.required, Validators.maxLength(64)]],
59
+ issueDate: [issueDate ? new Date(issueDate) : null, []],
60
+ issueTime: [issueTime ? new Date(issueTime) : null, []],
61
+ creditNoteTypeCode: [
62
+ creditNoteTypeCode ?? null,
63
+ [Validators.required, Validators.maxLength(32)],
64
+ ],
65
+ documentCurrencyCode: [
66
+ documentCurrencyCode ?? null,
67
+ [Validators.required, Validators.maxLength(3)],
68
+ ],
69
+ taxCurrencyCode: [taxCurrencyCode ?? null, [Validators.maxLength(3)]],
70
+ pricingCurrencyCode: [pricingCurrencyCode ?? null, [Validators.maxLength(3)]],
71
+ paymentCurrencyCode: [paymentCurrencyCode ?? null, [Validators.maxLength(3)]],
72
+ paymentAlternativeCurrencyCode: [
73
+ paymentAlternativeCurrencyCode ?? null,
74
+ [Validators.maxLength(3)],
75
+ ],
76
+ accountingCost: [accountingCost ?? null, [Validators.maxLength(32)]],
77
+ lineCountNumeric: [lineCountNumeric ?? null, []],
78
+ accountingSupplierPartyName: [
79
+ accountingSupplierPartyName ?? null,
80
+ [Validators.maxLength(512)],
81
+ ],
82
+ accountingSupplierPartySchemeID: [
83
+ accountingSupplierPartySchemeID ?? null,
84
+ [Validators.maxLength(16)],
85
+ ],
86
+ accountingSupplierPartyVKNTCKN: [
87
+ accountingSupplierPartyVKNTCKN ?? null,
88
+ [Validators.maxLength(16)],
89
+ ],
90
+ accountingCustomerPartyName: [
91
+ accountingCustomerPartyName ?? null,
92
+ [Validators.maxLength(512)],
93
+ ],
94
+ accountingCustomerPartySchemeID: [
95
+ accountingCustomerPartySchemeID ?? null,
96
+ [Validators.maxLength(16)],
97
+ ],
98
+ accountingCustomerPartyVKNTCKN: [
99
+ accountingCustomerPartyVKNTCKN ?? null,
100
+ [Validators.maxLength(16)],
101
+ ],
102
+ deliveryActualDeliveryDate: [
103
+ deliveryActualDeliveryDate ? new Date(deliveryActualDeliveryDate) : null,
104
+ [],
105
+ ],
106
+ taxExchangeRateSourceCurrencyCode: [
107
+ taxExchangeRateSourceCurrencyCode ?? null,
108
+ [Validators.maxLength(3)],
109
+ ],
110
+ taxExchangeRateTargetCurrencyCode: [
111
+ taxExchangeRateTargetCurrencyCode ?? null,
112
+ [Validators.maxLength(3)],
113
+ ],
114
+ taxExchangeRateCalculationRate: [taxExchangeRateCalculationRate ?? null, []],
115
+ taxExchangeRateDate: [taxExchangeRateDate ? new Date(taxExchangeRateDate) : null, []],
116
+ pricingExchangeRateSourceCurrencyCode: [
117
+ pricingExchangeRateSourceCurrencyCode ?? null,
118
+ [Validators.maxLength(3)],
119
+ ],
120
+ pricingExchangeRateTargetCurrencyCode: [
121
+ pricingExchangeRateTargetCurrencyCode ?? null,
122
+ [Validators.maxLength(3)],
123
+ ],
124
+ pricingExchangeRateCalculationRate: [
125
+ pricingExchangeRateCalculationRate ? new Date(pricingExchangeRateCalculationRate) : null,
126
+ [],
127
+ ],
128
+ pricingExchangeRateDate: [
129
+ pricingExchangeRateDate ? new Date(pricingExchangeRateDate) : null,
130
+ [],
131
+ ],
132
+ paymentExchangeRateSourceCurrencyCode: [
133
+ paymentExchangeRateSourceCurrencyCode ?? null,
134
+ [Validators.maxLength(3)],
135
+ ],
136
+ paymentExchangeRateTargetCurrencyCode: [
137
+ paymentExchangeRateTargetCurrencyCode ?? null,
138
+ [Validators.maxLength(3)],
139
+ ],
140
+ paymentExchangeRateCalculationRate: [paymentExchangeRateCalculationRate ?? null, []],
141
+ paymentExchangeRateDate: [
142
+ paymentExchangeRateDate ? new Date(paymentExchangeRateDate) : null,
143
+ [],
144
+ ],
145
+ paymentAlternativeExchangeRateSourceCurrencyCode: [
146
+ paymentAlternativeExchangeRateSourceCurrencyCode ?? null,
147
+ [Validators.maxLength(3)],
148
+ ],
149
+ paymentAlternativeExchangeRateTargetCurrencyCode: [
150
+ paymentAlternativeExchangeRateTargetCurrencyCode ?? null,
151
+ [Validators.maxLength(3)],
152
+ ],
153
+ paymentAlternativeExchangeRateCalculationRate: [
154
+ paymentAlternativeExchangeRateCalculationRate ?? null,
155
+ [],
156
+ ],
157
+ paymentAlternativeExchangeRateDate: [
158
+ paymentAlternativeExchangeRateDate ? new Date(paymentAlternativeExchangeRateDate) : null,
159
+ [],
160
+ ],
161
+ legalMonetaryTotalLineExtensionAmount: [legalMonetaryTotalLineExtensionAmount ?? null, []],
162
+ legalMonetaryTotalTaxExclusiveAmount: [legalMonetaryTotalTaxExclusiveAmount ?? null, []],
163
+ legalMonetaryTotalTaxInclusiveAmount: [legalMonetaryTotalTaxInclusiveAmount ?? null, []],
164
+ legalMonetaryTotalAllowanceTotalAmount: [legalMonetaryTotalAllowanceTotalAmount ?? null, []],
165
+ legalMonetaryTotalChargeTotalAmount: [legalMonetaryTotalChargeTotalAmount ?? null, []],
166
+ legalMonetaryTotalPayableRoundingAmount: [
167
+ legalMonetaryTotalPayableRoundingAmount ?? null,
168
+ [],
169
+ ],
170
+ legalMonetaryTotalPayableAmount: [legalMonetaryTotalPayableAmount ?? null, []],
171
+ isCanceled: [false, []],
172
+ cancelCode: [cancelCode ?? null, [Validators.maxLength(16)]],
173
+ cancelDescription: [cancelDescription ?? null, [Validators.maxLength(512)]],
174
+ status: [status ?? null, []],
175
+ resourceDocEntry: [resourceDocEntry ?? null, []],
176
+ resourceDocType: [resourceDocType ?? null, []],
177
+ entegratorErrorMessage: [entegratorErrorMessage ?? null, [Validators.maxLength(512)]],
178
+ resourceSubDocType: [resourceSubDocType ?? null, []],
179
+ resourceJournalEntry: [resourceJournalEntry ?? null, []],
180
+ isDraft: [false, []],
181
+ selectedReceiptSerial: [selectedReceiptSerial ?? null, [Validators.maxLength(16)]],
182
+ });
183
+ }
184
+ hideForm() {
185
+ this.isModalOpen = false;
186
+ this.form.reset();
187
+ }
188
+ showForm() {
189
+ this.buildForm();
190
+ this.isModalOpen = true;
191
+ }
192
+ submitForm() {
193
+ if (this.form.invalid)
194
+ return;
195
+ const request = this.selected
196
+ ? this.service.update(this.selected.id, {
197
+ ...this.form.value,
198
+ concurrencyStamp: this.selected.concurrencyStamp,
199
+ })
200
+ : this.service.create(this.form.value);
201
+ this.isModalBusy = true;
202
+ request
203
+ .pipe(finalize(() => (this.isModalBusy = false)), tap(() => this.hideForm()))
204
+ .subscribe(this.list.get);
205
+ }
206
+ create() {
207
+ this.selected = undefined;
208
+ this.showForm();
209
+ }
210
+ update(record) {
211
+ this.selected = record;
212
+ this.showForm();
213
+ }
214
+ delete(record) {
215
+ this.confirmation
216
+ .warn('eDonusum::DeleteConfirmationMessage', 'eDonusum::AreYouSure', {
217
+ messageLocalizationParams: [],
218
+ })
219
+ .pipe(filter(status => status === Confirmation.Status.confirm), switchMap(() => this.service.delete(record.id)))
220
+ .subscribe(this.list.get);
221
+ }
222
+ }
223
+ ProducerReceiptComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ProducerReceiptComponent, deps: [{ token: i1.ListService }, { token: i1.TrackByService }, { token: i2.ProducerReceiptService }, { token: i3.ConfirmationService }, { token: i4.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
224
+ ProducerReceiptComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ProducerReceiptComponent, selector: "lib-producer-receipt", providers: [ListService, { provide: NgbDateAdapter, useClass: DateAdapter }], ngImport: i0, template: "<abp-page [title]=\"'eDonusum::ProducerReceipts' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"text-lg-end pt-2\">\r\n <button\r\n *abpPermission=\"'eDonusum.ProducerReceipts.Create'\"\r\n class=\"btn btn-primary btn-sm\"\r\n type=\"button\"\r\n (click)=\"create()\"\r\n >\r\n <i class=\"fa fa-plus me-1\" aria-hidden=\"true\"></i>\r\n {{ 'eDonusum::NewProducerReceipt' | abpLocalization }}\r\n </button>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <abp-advanced-entity-filters localizationSourceName=\"eDonusum\" [list]=\"list\">\r\n <abp-advanced-entity-filters-form>\r\n <form #filterForm (keyup.enter)=\"list.get()\">\r\n <div class=\"row\">\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"ublVersionIdFilter\">\r\n {{ 'eDonusum::UblVersionId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"ublVersionIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.ublVersionId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"customizationIdFilter\">\r\n {{ 'eDonusum::CustomizationId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"customizationIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.customizationId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"profileIdFilter\">\r\n {{ 'eDonusum::ProfileId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"profileIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.profileId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producerReceiptIDFilter\">\r\n {{ 'eDonusum::ProducerReceiptID' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producerReceiptIDFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.producerReceiptID\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"copyIndicatorFilter\">\r\n {{ 'eDonusum::CopyIndicator' | abpLocalization }}\r\n </label>\r\n\r\n <select\r\n name=\"copyIndicator\"\r\n id=\"copyIndicatorFilter\"\r\n class=\"form-select form-control\"\r\n [(ngModel)]=\"filters.copyIndicator\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (change)=\"list.get()\"\r\n >\r\n <option [ngValue]=\"\"></option>\r\n <option [ngValue]=\"true\">{{ 'AbpUi::Yes' | abpLocalization }}</option>\r\n <option [ngValue]=\"false\">{{ 'AbpUi::No' | abpLocalization }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"uuIdFilter\">\r\n {{ 'eDonusum::UuId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"uuIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.uuId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minIssueDate\">\r\n {{ 'eDonusum::MinIssueDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minIssueDate\"\r\n class=\"form-control\"\r\n #minIssueDateInput\r\n #minIssueDateDatepicker=\"ngbDatepicker\"\r\n name=\"minIssueDate\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minIssueDateDatepicker.toggle()\"\r\n (keyup.space)=\"minIssueDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.issueDateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"minIssueDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minIssueDateDatepicker.writeValue(null);\r\n minIssueDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxIssueDate\">\r\n {{ 'eDonusum::MaxIssueDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxIssueDate\"\r\n class=\"form-control\"\r\n #maxIssueDateInput\r\n #maxIssueDateDatepicker=\"ngbDatepicker\"\r\n name=\"maxIssueDate\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxIssueDateDatepicker.toggle()\"\r\n (keyup.space)=\"maxIssueDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.issueDateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"maxIssueDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxIssueDateDatepicker.writeValue(null);\r\n maxIssueDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minIssueTime\">\r\n {{ 'eDonusum::MinIssueTime' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minIssueTime\"\r\n class=\"form-control\"\r\n #minIssueTimeInput\r\n #minIssueTimeDatepicker=\"ngbDatepicker\"\r\n name=\"minIssueTime\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minIssueTimeDatepicker.toggle()\"\r\n (keyup.space)=\"minIssueTimeDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.issueTimeMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"minIssueTimeInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minIssueTimeDatepicker.writeValue(null);\r\n minIssueTimeDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxIssueTime\">\r\n {{ 'eDonusum::MaxIssueTime' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxIssueTime\"\r\n class=\"form-control\"\r\n #maxIssueTimeInput\r\n #maxIssueTimeDatepicker=\"ngbDatepicker\"\r\n name=\"maxIssueTime\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxIssueTimeDatepicker.toggle()\"\r\n (keyup.space)=\"maxIssueTimeDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.issueTimeMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"maxIssueTimeInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxIssueTimeDatepicker.writeValue(null);\r\n maxIssueTimeDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"creditNoteTypeCodeFilter\">\r\n {{ 'eDonusum::CreditNoteTypeCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"creditNoteTypeCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.creditNoteTypeCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"documentCurrencyCodeFilter\">\r\n {{ 'eDonusum::DocumentCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"documentCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.documentCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"taxCurrencyCodeFilter\">\r\n {{ 'eDonusum::TaxCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"taxCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.taxCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"pricingCurrencyCodeFilter\">\r\n {{ 'eDonusum::PricingCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"pricingCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.pricingCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paymentCurrencyCodeFilter\">\r\n {{ 'eDonusum::PaymentCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"paymentCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paymentAlternativeCurrencyCodeFilter\">\r\n {{ 'eDonusum::PaymentAlternativeCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"paymentAlternativeCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentAlternativeCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"accountingCostFilter\">\r\n {{ 'eDonusum::AccountingCost' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"accountingCostFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.accountingCost\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minLineCountNumeric\">\r\n {{ 'eDonusum::MinLineCountNumeric' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minLineCountNumeric\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.lineCountNumericMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxLineCountNumeric\">\r\n {{ 'eDonusum::MaxLineCountNumeric' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxLineCountNumeric\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.lineCountNumericMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"accountingSupplierPartyNameFilter\">\r\n {{ 'eDonusum::AccountingSupplierPartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"accountingSupplierPartyNameFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.accountingSupplierPartyName\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"accountingSupplierPartySchemeIDFilter\">\r\n {{ 'eDonusum::AccountingSupplierPartySchemeID' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"accountingSupplierPartySchemeIDFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.accountingSupplierPartySchemeID\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"accountingSupplierPartyVKNTCKNFilter\">\r\n {{ 'eDonusum::AccountingSupplierPartyVKNTCKN' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"accountingSupplierPartyVKNTCKNFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.accountingSupplierPartyVKNTCKN\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"accountingCustomerPartyNameFilter\">\r\n {{ 'eDonusum::AccountingCustomerPartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"accountingCustomerPartyNameFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.accountingCustomerPartyName\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"accountingCustomerPartySchemeIDFilter\">\r\n {{ 'eDonusum::AccountingCustomerPartySchemeID' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"accountingCustomerPartySchemeIDFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.accountingCustomerPartySchemeID\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"accountingCustomerPartyVKNTCKNFilter\">\r\n {{ 'eDonusum::AccountingCustomerPartyVKNTCKN' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"accountingCustomerPartyVKNTCKNFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.accountingCustomerPartyVKNTCKN\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minDeliveryActualDeliveryDate\">\r\n {{ 'eDonusum::MinDeliveryActualDeliveryDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minDeliveryActualDeliveryDate\"\r\n class=\"form-control\"\r\n #minDeliveryActualDeliveryDateInput\r\n #minDeliveryActualDeliveryDateDatepicker=\"ngbDatepicker\"\r\n name=\"minDeliveryActualDeliveryDate\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minDeliveryActualDeliveryDateDatepicker.toggle()\"\r\n (keyup.space)=\"minDeliveryActualDeliveryDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.deliveryActualDeliveryDateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"minDeliveryActualDeliveryDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minDeliveryActualDeliveryDateDatepicker.writeValue(null);\r\n minDeliveryActualDeliveryDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxDeliveryActualDeliveryDate\">\r\n {{ 'eDonusum::MaxDeliveryActualDeliveryDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxDeliveryActualDeliveryDate\"\r\n class=\"form-control\"\r\n #maxDeliveryActualDeliveryDateInput\r\n #maxDeliveryActualDeliveryDateDatepicker=\"ngbDatepicker\"\r\n name=\"maxDeliveryActualDeliveryDate\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxDeliveryActualDeliveryDateDatepicker.toggle()\"\r\n (keyup.space)=\"maxDeliveryActualDeliveryDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.deliveryActualDeliveryDateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"maxDeliveryActualDeliveryDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxDeliveryActualDeliveryDateDatepicker.writeValue(null);\r\n maxDeliveryActualDeliveryDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"taxExchangeRateSourceCurrencyCodeFilter\">\r\n {{ 'eDonusum::TaxExchangeRateSourceCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"taxExchangeRateSourceCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.taxExchangeRateSourceCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"taxExchangeRateTargetCurrencyCodeFilter\">\r\n {{ 'eDonusum::TaxExchangeRateTargetCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"taxExchangeRateTargetCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.taxExchangeRateTargetCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minTaxExchangeRateCalculationRate\">\r\n {{ 'eDonusum::MinTaxExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minTaxExchangeRateCalculationRate\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.taxExchangeRateCalculationRateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxTaxExchangeRateCalculationRate\">\r\n {{ 'eDonusum::MaxTaxExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxTaxExchangeRateCalculationRate\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.taxExchangeRateCalculationRateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minTaxExchangeRateDate\">\r\n {{ 'eDonusum::MinTaxExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minTaxExchangeRateDate\"\r\n class=\"form-control\"\r\n #minTaxExchangeRateDateInput\r\n #minTaxExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n name=\"minTaxExchangeRateDate\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minTaxExchangeRateDateDatepicker.toggle()\"\r\n (keyup.space)=\"minTaxExchangeRateDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.taxExchangeRateDateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"minTaxExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minTaxExchangeRateDateDatepicker.writeValue(null);\r\n minTaxExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxTaxExchangeRateDate\">\r\n {{ 'eDonusum::MaxTaxExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxTaxExchangeRateDate\"\r\n class=\"form-control\"\r\n #maxTaxExchangeRateDateInput\r\n #maxTaxExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n name=\"maxTaxExchangeRateDate\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxTaxExchangeRateDateDatepicker.toggle()\"\r\n (keyup.space)=\"maxTaxExchangeRateDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.taxExchangeRateDateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"maxTaxExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxTaxExchangeRateDateDatepicker.writeValue(null);\r\n maxTaxExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"pricingExchangeRateSourceCurrencyCodeFilter\">\r\n {{ 'eDonusum::PricingExchangeRateSourceCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"pricingExchangeRateSourceCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.pricingExchangeRateSourceCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"pricingExchangeRateTargetCurrencyCodeFilter\">\r\n {{ 'eDonusum::PricingExchangeRateTargetCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"pricingExchangeRateTargetCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.pricingExchangeRateTargetCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minPricingExchangeRateCalculationRate\">\r\n {{ 'eDonusum::MinPricingExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minPricingExchangeRateCalculationRate\"\r\n class=\"form-control\"\r\n #minPricingExchangeRateCalculationRateInput\r\n #minPricingExchangeRateCalculationRateDatepicker=\"ngbDatepicker\"\r\n name=\"minPricingExchangeRateCalculationRate\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minPricingExchangeRateCalculationRateDatepicker.toggle()\"\r\n (keyup.space)=\"minPricingExchangeRateCalculationRateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.pricingExchangeRateCalculationRateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div\r\n *ngIf=\"minPricingExchangeRateCalculationRateInput.value\"\r\n class=\"input-group-append\"\r\n >\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minPricingExchangeRateCalculationRateDatepicker.writeValue(null);\r\n minPricingExchangeRateCalculationRateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxPricingExchangeRateCalculationRate\">\r\n {{ 'eDonusum::MaxPricingExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxPricingExchangeRateCalculationRate\"\r\n class=\"form-control\"\r\n #maxPricingExchangeRateCalculationRateInput\r\n #maxPricingExchangeRateCalculationRateDatepicker=\"ngbDatepicker\"\r\n name=\"maxPricingExchangeRateCalculationRate\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxPricingExchangeRateCalculationRateDatepicker.toggle()\"\r\n (keyup.space)=\"maxPricingExchangeRateCalculationRateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.pricingExchangeRateCalculationRateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div\r\n *ngIf=\"maxPricingExchangeRateCalculationRateInput.value\"\r\n class=\"input-group-append\"\r\n >\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxPricingExchangeRateCalculationRateDatepicker.writeValue(null);\r\n maxPricingExchangeRateCalculationRateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minPricingExchangeRateDate\">\r\n {{ 'eDonusum::MinPricingExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minPricingExchangeRateDate\"\r\n class=\"form-control\"\r\n #minPricingExchangeRateDateInput\r\n #minPricingExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n name=\"minPricingExchangeRateDate\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minPricingExchangeRateDateDatepicker.toggle()\"\r\n (keyup.space)=\"minPricingExchangeRateDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.pricingExchangeRateDateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"minPricingExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minPricingExchangeRateDateDatepicker.writeValue(null);\r\n minPricingExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxPricingExchangeRateDate\">\r\n {{ 'eDonusum::MaxPricingExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxPricingExchangeRateDate\"\r\n class=\"form-control\"\r\n #maxPricingExchangeRateDateInput\r\n #maxPricingExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n name=\"maxPricingExchangeRateDate\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxPricingExchangeRateDateDatepicker.toggle()\"\r\n (keyup.space)=\"maxPricingExchangeRateDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.pricingExchangeRateDateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"maxPricingExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxPricingExchangeRateDateDatepicker.writeValue(null);\r\n maxPricingExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paymentExchangeRateSourceCurrencyCodeFilter\">\r\n {{ 'eDonusum::PaymentExchangeRateSourceCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"paymentExchangeRateSourceCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentExchangeRateSourceCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paymentExchangeRateTargetCurrencyCodeFilter\">\r\n {{ 'eDonusum::PaymentExchangeRateTargetCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"paymentExchangeRateTargetCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentExchangeRateTargetCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minPaymentExchangeRateCalculationRate\">\r\n {{ 'eDonusum::MinPaymentExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minPaymentExchangeRateCalculationRate\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentExchangeRateCalculationRateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxPaymentExchangeRateCalculationRate\">\r\n {{ 'eDonusum::MaxPaymentExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxPaymentExchangeRateCalculationRate\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentExchangeRateCalculationRateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minPaymentExchangeRateDate\">\r\n {{ 'eDonusum::MinPaymentExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minPaymentExchangeRateDate\"\r\n class=\"form-control\"\r\n #minPaymentExchangeRateDateInput\r\n #minPaymentExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n name=\"minPaymentExchangeRateDate\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minPaymentExchangeRateDateDatepicker.toggle()\"\r\n (keyup.space)=\"minPaymentExchangeRateDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.paymentExchangeRateDateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"minPaymentExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minPaymentExchangeRateDateDatepicker.writeValue(null);\r\n minPaymentExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxPaymentExchangeRateDate\">\r\n {{ 'eDonusum::MaxPaymentExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxPaymentExchangeRateDate\"\r\n class=\"form-control\"\r\n #maxPaymentExchangeRateDateInput\r\n #maxPaymentExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n name=\"maxPaymentExchangeRateDate\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxPaymentExchangeRateDateDatepicker.toggle()\"\r\n (keyup.space)=\"maxPaymentExchangeRateDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.paymentExchangeRateDateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"maxPaymentExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxPaymentExchangeRateDateDatepicker.writeValue(null);\r\n maxPaymentExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"paymentAlternativeExchangeRateSourceCurrencyCodeFilter\"\r\n >\r\n {{ 'eDonusum::PaymentAlternativeExchangeRateSourceCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"paymentAlternativeExchangeRateSourceCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentAlternativeExchangeRateSourceCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"paymentAlternativeExchangeRateTargetCurrencyCodeFilter\"\r\n >\r\n {{ 'eDonusum::PaymentAlternativeExchangeRateTargetCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"paymentAlternativeExchangeRateTargetCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentAlternativeExchangeRateTargetCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minPaymentAlternativeExchangeRateCalculationRate\">\r\n {{ 'eDonusum::MinPaymentAlternativeExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minPaymentAlternativeExchangeRateCalculationRate\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentAlternativeExchangeRateCalculationRateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxPaymentAlternativeExchangeRateCalculationRate\">\r\n {{ 'eDonusum::MaxPaymentAlternativeExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxPaymentAlternativeExchangeRateCalculationRate\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentAlternativeExchangeRateCalculationRateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minPaymentAlternativeExchangeRateDate\">\r\n {{ 'eDonusum::MinPaymentAlternativeExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minPaymentAlternativeExchangeRateDate\"\r\n class=\"form-control\"\r\n #minPaymentAlternativeExchangeRateDateInput\r\n #minPaymentAlternativeExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n name=\"minPaymentAlternativeExchangeRateDate\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minPaymentAlternativeExchangeRateDateDatepicker.toggle()\"\r\n (keyup.space)=\"minPaymentAlternativeExchangeRateDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.paymentAlternativeExchangeRateDateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div\r\n *ngIf=\"minPaymentAlternativeExchangeRateDateInput.value\"\r\n class=\"input-group-append\"\r\n >\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minPaymentAlternativeExchangeRateDateDatepicker.writeValue(null);\r\n minPaymentAlternativeExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxPaymentAlternativeExchangeRateDate\">\r\n {{ 'eDonusum::MaxPaymentAlternativeExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxPaymentAlternativeExchangeRateDate\"\r\n class=\"form-control\"\r\n #maxPaymentAlternativeExchangeRateDateInput\r\n #maxPaymentAlternativeExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n name=\"maxPaymentAlternativeExchangeRateDate\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxPaymentAlternativeExchangeRateDateDatepicker.toggle()\"\r\n (keyup.space)=\"maxPaymentAlternativeExchangeRateDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.paymentAlternativeExchangeRateDateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div\r\n *ngIf=\"maxPaymentAlternativeExchangeRateDateInput.value\"\r\n class=\"input-group-append\"\r\n >\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxPaymentAlternativeExchangeRateDateDatepicker.writeValue(null);\r\n maxPaymentAlternativeExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minLegalMonetaryTotalLineExtensionAmount\">\r\n {{ 'eDonusum::MinLegalMonetaryTotalLineExtensionAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minLegalMonetaryTotalLineExtensionAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalLineExtensionAmountMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxLegalMonetaryTotalLineExtensionAmount\">\r\n {{ 'eDonusum::MaxLegalMonetaryTotalLineExtensionAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxLegalMonetaryTotalLineExtensionAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalLineExtensionAmountMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minLegalMonetaryTotalTaxExclusiveAmount\">\r\n {{ 'eDonusum::MinLegalMonetaryTotalTaxExclusiveAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minLegalMonetaryTotalTaxExclusiveAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalTaxExclusiveAmountMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxLegalMonetaryTotalTaxExclusiveAmount\">\r\n {{ 'eDonusum::MaxLegalMonetaryTotalTaxExclusiveAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxLegalMonetaryTotalTaxExclusiveAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalTaxExclusiveAmountMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minLegalMonetaryTotalTaxInclusiveAmount\">\r\n {{ 'eDonusum::MinLegalMonetaryTotalTaxInclusiveAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minLegalMonetaryTotalTaxInclusiveAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalTaxInclusiveAmountMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxLegalMonetaryTotalTaxInclusiveAmount\">\r\n {{ 'eDonusum::MaxLegalMonetaryTotalTaxInclusiveAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxLegalMonetaryTotalTaxInclusiveAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalTaxInclusiveAmountMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minLegalMonetaryTotalAllowanceTotalAmount\">\r\n {{ 'eDonusum::MinLegalMonetaryTotalAllowanceTotalAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minLegalMonetaryTotalAllowanceTotalAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalAllowanceTotalAmountMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxLegalMonetaryTotalAllowanceTotalAmount\">\r\n {{ 'eDonusum::MaxLegalMonetaryTotalAllowanceTotalAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxLegalMonetaryTotalAllowanceTotalAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalAllowanceTotalAmountMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minLegalMonetaryTotalChargeTotalAmount\">\r\n {{ 'eDonusum::MinLegalMonetaryTotalChargeTotalAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minLegalMonetaryTotalChargeTotalAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalChargeTotalAmountMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxLegalMonetaryTotalChargeTotalAmount\">\r\n {{ 'eDonusum::MaxLegalMonetaryTotalChargeTotalAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxLegalMonetaryTotalChargeTotalAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalChargeTotalAmountMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minLegalMonetaryTotalPayableRoundingAmount\">\r\n {{ 'eDonusum::MinLegalMonetaryTotalPayableRoundingAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minLegalMonetaryTotalPayableRoundingAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalPayableRoundingAmountMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxLegalMonetaryTotalPayableRoundingAmount\">\r\n {{ 'eDonusum::MaxLegalMonetaryTotalPayableRoundingAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxLegalMonetaryTotalPayableRoundingAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalPayableRoundingAmountMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minLegalMonetaryTotalPayableAmount\">\r\n {{ 'eDonusum::MinLegalMonetaryTotalPayableAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minLegalMonetaryTotalPayableAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalPayableAmountMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxLegalMonetaryTotalPayableAmount\">\r\n {{ 'eDonusum::MaxLegalMonetaryTotalPayableAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxLegalMonetaryTotalPayableAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalPayableAmountMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"isCanceledFilter\">\r\n {{ 'eDonusum::IsCanceled' | abpLocalization }}\r\n </label>\r\n\r\n <select\r\n name=\"isCanceled\"\r\n id=\"isCanceledFilter\"\r\n class=\"form-select form-control\"\r\n [(ngModel)]=\"filters.isCanceled\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (change)=\"list.get()\"\r\n >\r\n <option [ngValue]=\"\"></option>\r\n <option [ngValue]=\"true\">{{ 'AbpUi::Yes' | abpLocalization }}</option>\r\n <option [ngValue]=\"false\">{{ 'AbpUi::No' | abpLocalization }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"cancelCodeFilter\">\r\n {{ 'eDonusum::CancelCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"cancelCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.cancelCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"cancelDescriptionFilter\">\r\n {{ 'eDonusum::CancelDescription' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"cancelDescriptionFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.cancelDescription\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minStatus\">\r\n {{ 'eDonusum::MinStatus' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minStatus\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.statusMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxStatus\">\r\n {{ 'eDonusum::MaxStatus' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxStatus\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.statusMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minResourceDocEntry\">\r\n {{ 'eDonusum::MinResourceDocEntry' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minResourceDocEntry\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.resourceDocEntryMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxResourceDocEntry\">\r\n {{ 'eDonusum::MaxResourceDocEntry' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxResourceDocEntry\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.resourceDocEntryMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minResourceDocType\">\r\n {{ 'eDonusum::MinResourceDocType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minResourceDocType\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.resourceDocTypeMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxResourceDocType\">\r\n {{ 'eDonusum::MaxResourceDocType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxResourceDocType\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.resourceDocTypeMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"entegratorErrorMessageFilter\">\r\n {{ 'eDonusum::EntegratorErrorMessage' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"entegratorErrorMessageFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.entegratorErrorMessage\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minResourceSubDocType\">\r\n {{ 'eDonusum::MinResourceSubDocType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minResourceSubDocType\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.resourceSubDocTypeMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxResourceSubDocType\">\r\n {{ 'eDonusum::MaxResourceSubDocType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxResourceSubDocType\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.resourceSubDocTypeMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minResourceJournalEntry\">\r\n {{ 'eDonusum::MinResourceJournalEntry' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minResourceJournalEntry\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.resourceJournalEntryMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxResourceJournalEntry\">\r\n {{ 'eDonusum::MaxResourceJournalEntry' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxResourceJournalEntry\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.resourceJournalEntryMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"isDraftFilter\">\r\n {{ 'eDonusum::IsDraft' | abpLocalization }}\r\n </label>\r\n\r\n <select\r\n name=\"isDraft\"\r\n id=\"isDraftFilter\"\r\n class=\"form-select form-control\"\r\n [(ngModel)]=\"filters.isDraft\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (change)=\"list.get()\"\r\n >\r\n <option [ngValue]=\"\"></option>\r\n <option [ngValue]=\"true\">{{ 'AbpUi::Yes' | abpLocalization }}</option>\r\n <option [ngValue]=\"false\">{{ 'AbpUi::No' | abpLocalization }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"selectedReceiptSerialFilter\">\r\n {{ 'eDonusum::SelectedReceiptSerial' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"selectedReceiptSerialFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.selectedReceiptSerial\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto align-self-end mb-3\">\r\n <div class=\"row\">\r\n <div class=\"col-6 col-sm-auto d-grid\">\r\n <button type=\"button\" class=\"btn btn-outline-primary\" (click)=\"clearFilters()\">\r\n <span>{{ 'AbpUi::Clear' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n <div class=\"col-6 col-sm-auto d-grid\">\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"list.get()\">\r\n <span>{{ 'AbpUi::Refresh' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </abp-advanced-entity-filters-form>\r\n </abp-advanced-entity-filters>\r\n\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <ngx-datatable [rows]=\"data.items\" [count]=\"data.totalCount\" [list]=\"list\" default>\r\n <ngx-datatable-column\r\n [name]=\"'AbpUi::Actions' | abpLocalization\"\r\n [maxWidth]=\"150\"\r\n [width]=\"150\"\r\n [sortable]=\"false\"\r\n >\r\n <ng-template let-row=\"row\" let-i=\"rowIndex\" ngx-datatable-cell-template>\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button\r\n class=\"btn btn-primary btn-sm dropdown-toggle\"\r\n data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\"\r\n ngbDropdownToggle\r\n >\r\n <i class=\"fa fa-cog me-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n\r\n <div ngbDropdownMenu>\r\n <button\r\n ngbDropdownItem\r\n *abpPermission=\"'eDonusum.ProducerReceipts.Edit'\"\r\n (click)=\"update(row)\"\r\n >\r\n {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n\r\n <button\r\n ngbDropdownItem\r\n *abpPermission=\"'eDonusum.ProducerReceipts.Delete'\"\r\n (click)=\"delete(row)\"\r\n >\r\n {{ 'AbpUi::Delete' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::UblVersionId' | abpLocalization }}\"\r\n prop=\"ublVersionId\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.ublVersionId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::CustomizationId' | abpLocalization }}\"\r\n prop=\"customizationId\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.customizationId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column name=\"{{ 'eDonusum::ProfileId' | abpLocalization }}\" prop=\"profileId\">\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.profileId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ProducerReceiptID' | abpLocalization }}\"\r\n prop=\"producerReceiptID\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptID }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::CopyIndicator' | abpLocalization }}\"\r\n prop=\"copyIndicator\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n <ng-template [ngIf]=\"row.copyIndicator\" [ngIfThen]=\"yes\" [ngIfElse]=\"no\"></ng-template>\r\n\r\n <ng-template #yes>\r\n <div class=\"text-success\">\r\n <span [title]=\"'AbpUi::Yes' | abpLocalization\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #no>\r\n <div class=\"text-danger\">\r\n <span [title]=\"'AbpUi::No' | abpLocalization\">\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column name=\"{{ 'eDonusum::UuId' | abpLocalization }}\" prop=\"uuId\">\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.uuId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column name=\"{{ 'eDonusum::IssueDate' | abpLocalization }}\" prop=\"issueDate\">\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.issueDate | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column name=\"{{ 'eDonusum::IssueTime' | abpLocalization }}\" prop=\"issueTime\">\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.issueTime | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::CreditNoteTypeCode' | abpLocalization }}\"\r\n prop=\"creditNoteTypeCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.creditNoteTypeCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DocumentCurrencyCode' | abpLocalization }}\"\r\n prop=\"documentCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.documentCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::TaxCurrencyCode' | abpLocalization }}\"\r\n prop=\"taxCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.taxCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PricingCurrencyCode' | abpLocalization }}\"\r\n prop=\"pricingCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.pricingCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PaymentCurrencyCode' | abpLocalization }}\"\r\n prop=\"paymentCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PaymentAlternativeCurrencyCode' | abpLocalization }}\"\r\n prop=\"paymentAlternativeCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentAlternativeCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::AccountingCost' | abpLocalization }}\"\r\n prop=\"accountingCost\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.accountingCost }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::LineCountNumeric' | abpLocalization }}\"\r\n prop=\"lineCountNumeric\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.lineCountNumeric }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::AccountingSupplierPartyName' | abpLocalization }}\"\r\n prop=\"accountingSupplierPartyName\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.accountingSupplierPartyName }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::AccountingSupplierPartySchemeID' | abpLocalization }}\"\r\n prop=\"accountingSupplierPartySchemeID\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.accountingSupplierPartySchemeID }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::AccountingSupplierPartyVKNTCKN' | abpLocalization }}\"\r\n prop=\"accountingSupplierPartyVKNTCKN\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.accountingSupplierPartyVKNTCKN }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::AccountingCustomerPartyName' | abpLocalization }}\"\r\n prop=\"accountingCustomerPartyName\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.accountingCustomerPartyName }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::AccountingCustomerPartySchemeID' | abpLocalization }}\"\r\n prop=\"accountingCustomerPartySchemeID\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.accountingCustomerPartySchemeID }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::AccountingCustomerPartyVKNTCKN' | abpLocalization }}\"\r\n prop=\"accountingCustomerPartyVKNTCKN\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.accountingCustomerPartyVKNTCKN }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DeliveryActualDeliveryDate' | abpLocalization }}\"\r\n prop=\"deliveryActualDeliveryDate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.deliveryActualDeliveryDate | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::TaxExchangeRateSourceCurrencyCode' | abpLocalization }}\"\r\n prop=\"taxExchangeRateSourceCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.taxExchangeRateSourceCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::TaxExchangeRateTargetCurrencyCode' | abpLocalization }}\"\r\n prop=\"taxExchangeRateTargetCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.taxExchangeRateTargetCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::TaxExchangeRateCalculationRate' | abpLocalization }}\"\r\n prop=\"taxExchangeRateCalculationRate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.taxExchangeRateCalculationRate }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::TaxExchangeRateDate' | abpLocalization }}\"\r\n prop=\"taxExchangeRateDate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.taxExchangeRateDate | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PricingExchangeRateSourceCurrencyCode' | abpLocalization }}\"\r\n prop=\"pricingExchangeRateSourceCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.pricingExchangeRateSourceCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PricingExchangeRateTargetCurrencyCode' | abpLocalization }}\"\r\n prop=\"pricingExchangeRateTargetCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.pricingExchangeRateTargetCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PricingExchangeRateCalculationRate' | abpLocalization }}\"\r\n prop=\"pricingExchangeRateCalculationRate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.pricingExchangeRateCalculationRate | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PricingExchangeRateDate' | abpLocalization }}\"\r\n prop=\"pricingExchangeRateDate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.pricingExchangeRateDate | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PaymentExchangeRateSourceCurrencyCode' | abpLocalization }}\"\r\n prop=\"paymentExchangeRateSourceCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentExchangeRateSourceCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PaymentExchangeRateTargetCurrencyCode' | abpLocalization }}\"\r\n prop=\"paymentExchangeRateTargetCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentExchangeRateTargetCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PaymentExchangeRateCalculationRate' | abpLocalization }}\"\r\n prop=\"paymentExchangeRateCalculationRate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentExchangeRateCalculationRate }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PaymentExchangeRateDate' | abpLocalization }}\"\r\n prop=\"paymentExchangeRateDate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentExchangeRateDate | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{\r\n 'eDonusum::PaymentAlternativeExchangeRateSourceCurrencyCode' | abpLocalization\r\n }}\"\r\n prop=\"paymentAlternativeExchangeRateSourceCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentAlternativeExchangeRateSourceCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{\r\n 'eDonusum::PaymentAlternativeExchangeRateTargetCurrencyCode' | abpLocalization\r\n }}\"\r\n prop=\"paymentAlternativeExchangeRateTargetCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentAlternativeExchangeRateTargetCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PaymentAlternativeExchangeRateCalculationRate' | abpLocalization }}\"\r\n prop=\"paymentAlternativeExchangeRateCalculationRate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentAlternativeExchangeRateCalculationRate }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PaymentAlternativeExchangeRateDate' | abpLocalization }}\"\r\n prop=\"paymentAlternativeExchangeRateDate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentAlternativeExchangeRateDate | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::LegalMonetaryTotalLineExtensionAmount' | abpLocalization }}\"\r\n prop=\"legalMonetaryTotalLineExtensionAmount\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.legalMonetaryTotalLineExtensionAmount }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::LegalMonetaryTotalTaxExclusiveAmount' | abpLocalization }}\"\r\n prop=\"legalMonetaryTotalTaxExclusiveAmount\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.legalMonetaryTotalTaxExclusiveAmount }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::LegalMonetaryTotalTaxInclusiveAmount' | abpLocalization }}\"\r\n prop=\"legalMonetaryTotalTaxInclusiveAmount\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.legalMonetaryTotalTaxInclusiveAmount }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::LegalMonetaryTotalAllowanceTotalAmount' | abpLocalization }}\"\r\n prop=\"legalMonetaryTotalAllowanceTotalAmount\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.legalMonetaryTotalAllowanceTotalAmount }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::LegalMonetaryTotalChargeTotalAmount' | abpLocalization }}\"\r\n prop=\"legalMonetaryTotalChargeTotalAmount\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.legalMonetaryTotalChargeTotalAmount }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::LegalMonetaryTotalPayableRoundingAmount' | abpLocalization }}\"\r\n prop=\"legalMonetaryTotalPayableRoundingAmount\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.legalMonetaryTotalPayableRoundingAmount }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::LegalMonetaryTotalPayableAmount' | abpLocalization }}\"\r\n prop=\"legalMonetaryTotalPayableAmount\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.legalMonetaryTotalPayableAmount }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::IsCanceled' | abpLocalization }}\"\r\n prop=\"isCanceled\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n <ng-template [ngIf]=\"row.isCanceled\" [ngIfThen]=\"yes\" [ngIfElse]=\"no\"></ng-template>\r\n\r\n <ng-template #yes>\r\n <div class=\"text-success\">\r\n <span [title]=\"'AbpUi::Yes' | abpLocalization\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #no>\r\n <div class=\"text-danger\">\r\n <span [title]=\"'AbpUi::No' | abpLocalization\">\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::CancelCode' | abpLocalization }}\"\r\n prop=\"cancelCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.cancelCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::CancelDescription' | abpLocalization }}\"\r\n prop=\"cancelDescription\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.cancelDescription }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column name=\"{{ 'eDonusum::Status' | abpLocalization }}\" prop=\"status\">\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.status }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ResourceDocEntry' | abpLocalization }}\"\r\n prop=\"resourceDocEntry\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.resourceDocEntry }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ResourceDocType' | abpLocalization }}\"\r\n prop=\"resourceDocType\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.resourceDocType }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::EntegratorErrorMessage' | abpLocalization }}\"\r\n prop=\"entegratorErrorMessage\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.entegratorErrorMessage }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ResourceSubDocType' | abpLocalization }}\"\r\n prop=\"resourceSubDocType\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.resourceSubDocType }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ResourceJournalEntry' | abpLocalization }}\"\r\n prop=\"resourceJournalEntry\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.resourceJournalEntry }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column name=\"{{ 'eDonusum::IsDraft' | abpLocalization }}\" prop=\"isDraft\">\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n <ng-template [ngIf]=\"row.isDraft\" [ngIfThen]=\"yes\" [ngIfElse]=\"no\"></ng-template>\r\n\r\n <ng-template #yes>\r\n <div class=\"text-success\">\r\n <span [title]=\"'AbpUi::Yes' | abpLocalization\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #no>\r\n <div class=\"text-danger\">\r\n <span [title]=\"'AbpUi::No' | abpLocalization\">\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::SelectedReceiptSerial' | abpLocalization }}\"\r\n prop=\"selectedReceiptSerial\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.selectedReceiptSerial }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n </ngx-datatable>\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<abp-modal [busy]=\"isModalBusy\" [(visible)]=\"isModalOpen\">\r\n <ng-template #abpHeader>\r\n <h3>\r\n {{ (selected ? 'AbpUi::Edit' : 'eDonusum::NewProducerReceipt') | abpLocalization }}\r\n </h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" id=\"producer-receipt\" (ngSubmit)=\"submitForm()\" validateOnSubmit>\r\n <div class=\"mt-2 fade-in-top\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-ubl-version-id\">\r\n {{ 'eDonusum::UblVersionId' | abpLocalization }} *\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-ubl-version-id\"\r\n formControlName=\"ublVersionId\"\r\n class=\"form-control\"\r\n maxlength=\"8\"\r\n autofocus\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-customization-id\">\r\n {{ 'eDonusum::CustomizationId' | abpLocalization }} *\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-customization-id\"\r\n formControlName=\"customizationId\"\r\n class=\"form-control\"\r\n maxlength=\"8\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-profile-id\">\r\n {{ 'eDonusum::ProfileId' | abpLocalization }} *\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-profile-id\"\r\n formControlName=\"profileId\"\r\n class=\"form-control\"\r\n maxlength=\"32\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-producer-receipt-id\">\r\n {{ 'eDonusum::ProducerReceiptID' | abpLocalization }} *\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-producer-receipt-id\"\r\n formControlName=\"producerReceiptID\"\r\n class=\"form-control\"\r\n maxlength=\"32\"\r\n />\r\n </div>\r\n <div class=\"form-check mb-3\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"producer-receipt-copy-indicator\"\r\n formControlName=\"copyIndicator\"\r\n class=\"form-check-input\"\r\n />\r\n\r\n <label for=\"producer-receipt-copy-indicator\" class=\"form-check-label\">\r\n {{ 'eDonusum::CopyIndicator' | abpLocalization }}\r\n </label>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-uu-id\">\r\n {{ 'eDonusum::UuId' | abpLocalization }} *\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-uu-id\"\r\n formControlName=\"uuId\"\r\n class=\"form-control\"\r\n maxlength=\"64\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-issue-date\">\r\n {{ 'eDonusum::IssueDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"producer-receipt-issue-date\"\r\n formControlName=\"issueDate\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #issueDateInput\r\n #issueDateDatepicker=\"ngbDatepicker\"\r\n (click)=\"issueDateDatepicker.open()\"\r\n (keyup.space)=\"issueDateDatepicker.open()\"\r\n />\r\n <div *ngIf=\"issueDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n issueDateDatepicker.writeValue(null);\r\n issueDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-issue-time\">\r\n {{ 'eDonusum::IssueTime' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"producer-receipt-issue-time\"\r\n formControlName=\"issueTime\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #issueTimeInput\r\n #issueTimeDatepicker=\"ngbDatepicker\"\r\n (click)=\"issueTimeDatepicker.open()\"\r\n (keyup.space)=\"issueTimeDatepicker.open()\"\r\n />\r\n <div *ngIf=\"issueTimeInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n issueTimeDatepicker.writeValue(null);\r\n issueTimeDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-credit-note-type-code\">\r\n {{ 'eDonusum::CreditNoteTypeCode' | abpLocalization }} *\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-credit-note-type-code\"\r\n formControlName=\"creditNoteTypeCode\"\r\n class=\"form-control\"\r\n maxlength=\"32\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-document-currency-code\">\r\n {{ 'eDonusum::DocumentCurrencyCode' | abpLocalization }} *\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-document-currency-code\"\r\n formControlName=\"documentCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-tax-currency-code\">\r\n {{ 'eDonusum::TaxCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-tax-currency-code\"\r\n formControlName=\"taxCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-pricing-currency-code\">\r\n {{ 'eDonusum::PricingCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-pricing-currency-code\"\r\n formControlName=\"pricingCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-payment-currency-code\">\r\n {{ 'eDonusum::PaymentCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-payment-currency-code\"\r\n formControlName=\"paymentCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-payment-alternative-currency-code\">\r\n {{ 'eDonusum::PaymentAlternativeCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-payment-alternative-currency-code\"\r\n formControlName=\"paymentAlternativeCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-accounting-cost\">\r\n {{ 'eDonusum::AccountingCost' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-accounting-cost\"\r\n formControlName=\"accountingCost\"\r\n class=\"form-control\"\r\n maxlength=\"32\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-line-count-numeric\">\r\n {{ 'eDonusum::LineCountNumeric' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-line-count-numeric\"\r\n formControlName=\"lineCountNumeric\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-accounting-supplier-party-name\">\r\n {{ 'eDonusum::AccountingSupplierPartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-accounting-supplier-party-name\"\r\n formControlName=\"accountingSupplierPartyName\"\r\n class=\"form-control\"\r\n maxlength=\"512\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-accounting-supplier-party-scheme-id\">\r\n {{ 'eDonusum::AccountingSupplierPartySchemeID' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-accounting-supplier-party-scheme-id\"\r\n formControlName=\"accountingSupplierPartySchemeID\"\r\n class=\"form-control\"\r\n maxlength=\"16\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-accounting-supplier-party-vkntckn\">\r\n {{ 'eDonusum::AccountingSupplierPartyVKNTCKN' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-accounting-supplier-party-vkntckn\"\r\n formControlName=\"accountingSupplierPartyVKNTCKN\"\r\n class=\"form-control\"\r\n maxlength=\"16\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-accounting-customer-party-name\">\r\n {{ 'eDonusum::AccountingCustomerPartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-accounting-customer-party-name\"\r\n formControlName=\"accountingCustomerPartyName\"\r\n class=\"form-control\"\r\n maxlength=\"512\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-accounting-customer-party-scheme-id\">\r\n {{ 'eDonusum::AccountingCustomerPartySchemeID' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-accounting-customer-party-scheme-id\"\r\n formControlName=\"accountingCustomerPartySchemeID\"\r\n class=\"form-control\"\r\n maxlength=\"16\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-accounting-customer-party-vkntckn\">\r\n {{ 'eDonusum::AccountingCustomerPartyVKNTCKN' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-accounting-customer-party-vkntckn\"\r\n formControlName=\"accountingCustomerPartyVKNTCKN\"\r\n class=\"form-control\"\r\n maxlength=\"16\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-delivery-actual-delivery-date\">\r\n {{ 'eDonusum::DeliveryActualDeliveryDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"producer-receipt-delivery-actual-delivery-date\"\r\n formControlName=\"deliveryActualDeliveryDate\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #deliveryActualDeliveryDateInput\r\n #deliveryActualDeliveryDateDatepicker=\"ngbDatepicker\"\r\n (click)=\"deliveryActualDeliveryDateDatepicker.open()\"\r\n (keyup.space)=\"deliveryActualDeliveryDateDatepicker.open()\"\r\n />\r\n <div *ngIf=\"deliveryActualDeliveryDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n deliveryActualDeliveryDateDatepicker.writeValue(null);\r\n deliveryActualDeliveryDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-tax-exchange-rate-source-currency-code\">\r\n {{ 'eDonusum::TaxExchangeRateSourceCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-tax-exchange-rate-source-currency-code\"\r\n formControlName=\"taxExchangeRateSourceCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-tax-exchange-rate-target-currency-code\">\r\n {{ 'eDonusum::TaxExchangeRateTargetCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-tax-exchange-rate-target-currency-code\"\r\n formControlName=\"taxExchangeRateTargetCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-tax-exchange-rate-calculation-rate\">\r\n {{ 'eDonusum::TaxExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-tax-exchange-rate-calculation-rate\"\r\n formControlName=\"taxExchangeRateCalculationRate\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-tax-exchange-rate-date\">\r\n {{ 'eDonusum::TaxExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"producer-receipt-tax-exchange-rate-date\"\r\n formControlName=\"taxExchangeRateDate\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #taxExchangeRateDateInput\r\n #taxExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n (click)=\"taxExchangeRateDateDatepicker.open()\"\r\n (keyup.space)=\"taxExchangeRateDateDatepicker.open()\"\r\n />\r\n <div *ngIf=\"taxExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n taxExchangeRateDateDatepicker.writeValue(null);\r\n taxExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"producer-receipt-pricing-exchange-rate-source-currency-code\"\r\n >\r\n {{ 'eDonusum::PricingExchangeRateSourceCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-pricing-exchange-rate-source-currency-code\"\r\n formControlName=\"pricingExchangeRateSourceCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"producer-receipt-pricing-exchange-rate-target-currency-code\"\r\n >\r\n {{ 'eDonusum::PricingExchangeRateTargetCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-pricing-exchange-rate-target-currency-code\"\r\n formControlName=\"pricingExchangeRateTargetCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-pricing-exchange-rate-calculation-rate\">\r\n {{ 'eDonusum::PricingExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"producer-receipt-pricing-exchange-rate-calculation-rate\"\r\n formControlName=\"pricingExchangeRateCalculationRate\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #pricingExchangeRateCalculationRateInput\r\n #pricingExchangeRateCalculationRateDatepicker=\"ngbDatepicker\"\r\n (click)=\"pricingExchangeRateCalculationRateDatepicker.open()\"\r\n (keyup.space)=\"pricingExchangeRateCalculationRateDatepicker.open()\"\r\n />\r\n <div *ngIf=\"pricingExchangeRateCalculationRateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n pricingExchangeRateCalculationRateDatepicker.writeValue(null);\r\n pricingExchangeRateCalculationRateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-pricing-exchange-rate-date\">\r\n {{ 'eDonusum::PricingExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"producer-receipt-pricing-exchange-rate-date\"\r\n formControlName=\"pricingExchangeRateDate\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #pricingExchangeRateDateInput\r\n #pricingExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n (click)=\"pricingExchangeRateDateDatepicker.open()\"\r\n (keyup.space)=\"pricingExchangeRateDateDatepicker.open()\"\r\n />\r\n <div *ngIf=\"pricingExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n pricingExchangeRateDateDatepicker.writeValue(null);\r\n pricingExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"producer-receipt-payment-exchange-rate-source-currency-code\"\r\n >\r\n {{ 'eDonusum::PaymentExchangeRateSourceCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-payment-exchange-rate-source-currency-code\"\r\n formControlName=\"paymentExchangeRateSourceCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"producer-receipt-payment-exchange-rate-target-currency-code\"\r\n >\r\n {{ 'eDonusum::PaymentExchangeRateTargetCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-payment-exchange-rate-target-currency-code\"\r\n formControlName=\"paymentExchangeRateTargetCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-payment-exchange-rate-calculation-rate\">\r\n {{ 'eDonusum::PaymentExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-payment-exchange-rate-calculation-rate\"\r\n formControlName=\"paymentExchangeRateCalculationRate\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-payment-exchange-rate-date\">\r\n {{ 'eDonusum::PaymentExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"producer-receipt-payment-exchange-rate-date\"\r\n formControlName=\"paymentExchangeRateDate\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #paymentExchangeRateDateInput\r\n #paymentExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n (click)=\"paymentExchangeRateDateDatepicker.open()\"\r\n (keyup.space)=\"paymentExchangeRateDateDatepicker.open()\"\r\n />\r\n <div *ngIf=\"paymentExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n paymentExchangeRateDateDatepicker.writeValue(null);\r\n paymentExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"producer-receipt-payment-alternative-exchange-rate-source-currency-code\"\r\n >\r\n {{ 'eDonusum::PaymentAlternativeExchangeRateSourceCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-payment-alternative-exchange-rate-source-currency-code\"\r\n formControlName=\"paymentAlternativeExchangeRateSourceCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"producer-receipt-payment-alternative-exchange-rate-target-currency-code\"\r\n >\r\n {{ 'eDonusum::PaymentAlternativeExchangeRateTargetCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-payment-alternative-exchange-rate-target-currency-code\"\r\n formControlName=\"paymentAlternativeExchangeRateTargetCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"producer-receipt-payment-alternative-exchange-rate-calculation-rate\"\r\n >\r\n {{ 'eDonusum::PaymentAlternativeExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-payment-alternative-exchange-rate-calculation-rate\"\r\n formControlName=\"paymentAlternativeExchangeRateCalculationRate\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-payment-alternative-exchange-rate-date\">\r\n {{ 'eDonusum::PaymentAlternativeExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"producer-receipt-payment-alternative-exchange-rate-date\"\r\n formControlName=\"paymentAlternativeExchangeRateDate\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #paymentAlternativeExchangeRateDateInput\r\n #paymentAlternativeExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n (click)=\"paymentAlternativeExchangeRateDateDatepicker.open()\"\r\n (keyup.space)=\"paymentAlternativeExchangeRateDateDatepicker.open()\"\r\n />\r\n <div *ngIf=\"paymentAlternativeExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n paymentAlternativeExchangeRateDateDatepicker.writeValue(null);\r\n paymentAlternativeExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"producer-receipt-legal-monetary-total-line-extension-amount\"\r\n >\r\n {{ 'eDonusum::LegalMonetaryTotalLineExtensionAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-legal-monetary-total-line-extension-amount\"\r\n formControlName=\"legalMonetaryTotalLineExtensionAmount\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"producer-receipt-legal-monetary-total-tax-exclusive-amount\"\r\n >\r\n {{ 'eDonusum::LegalMonetaryTotalTaxExclusiveAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-legal-monetary-total-tax-exclusive-amount\"\r\n formControlName=\"legalMonetaryTotalTaxExclusiveAmount\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"producer-receipt-legal-monetary-total-tax-inclusive-amount\"\r\n >\r\n {{ 'eDonusum::LegalMonetaryTotalTaxInclusiveAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-legal-monetary-total-tax-inclusive-amount\"\r\n formControlName=\"legalMonetaryTotalTaxInclusiveAmount\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"producer-receipt-legal-monetary-total-allowance-total-amount\"\r\n >\r\n {{ 'eDonusum::LegalMonetaryTotalAllowanceTotalAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-legal-monetary-total-allowance-total-amount\"\r\n formControlName=\"legalMonetaryTotalAllowanceTotalAmount\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-legal-monetary-total-charge-total-amount\">\r\n {{ 'eDonusum::LegalMonetaryTotalChargeTotalAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-legal-monetary-total-charge-total-amount\"\r\n formControlName=\"legalMonetaryTotalChargeTotalAmount\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"producer-receipt-legal-monetary-total-payable-rounding-amount\"\r\n >\r\n {{ 'eDonusum::LegalMonetaryTotalPayableRoundingAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-legal-monetary-total-payable-rounding-amount\"\r\n formControlName=\"legalMonetaryTotalPayableRoundingAmount\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-legal-monetary-total-payable-amount\">\r\n {{ 'eDonusum::LegalMonetaryTotalPayableAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-legal-monetary-total-payable-amount\"\r\n formControlName=\"legalMonetaryTotalPayableAmount\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"form-check mb-3\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"producer-receipt-is-canceled\"\r\n formControlName=\"isCanceled\"\r\n class=\"form-check-input\"\r\n />\r\n\r\n <label for=\"producer-receipt-is-canceled\" class=\"form-check-label\">\r\n {{ 'eDonusum::IsCanceled' | abpLocalization }}\r\n </label>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-cancel-code\">\r\n {{ 'eDonusum::CancelCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-cancel-code\"\r\n formControlName=\"cancelCode\"\r\n class=\"form-control\"\r\n maxlength=\"16\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-cancel-description\">\r\n {{ 'eDonusum::CancelDescription' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-cancel-description\"\r\n formControlName=\"cancelDescription\"\r\n class=\"form-control\"\r\n maxlength=\"512\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-status\">\r\n {{ 'eDonusum::Status' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-status\"\r\n formControlName=\"status\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-resource-doc-entry\">\r\n {{ 'eDonusum::ResourceDocEntry' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-resource-doc-entry\"\r\n formControlName=\"resourceDocEntry\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-resource-doc-type\">\r\n {{ 'eDonusum::ResourceDocType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-resource-doc-type\"\r\n formControlName=\"resourceDocType\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-entegrator-error-message\">\r\n {{ 'eDonusum::EntegratorErrorMessage' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-entegrator-error-message\"\r\n formControlName=\"entegratorErrorMessage\"\r\n class=\"form-control\"\r\n maxlength=\"512\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-resource-sub-doc-type\">\r\n {{ 'eDonusum::ResourceSubDocType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-resource-sub-doc-type\"\r\n formControlName=\"resourceSubDocType\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-resource-journal-entry\">\r\n {{ 'eDonusum::ResourceJournalEntry' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-resource-journal-entry\"\r\n formControlName=\"resourceJournalEntry\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"form-check mb-3\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"producer-receipt-is-draft\"\r\n formControlName=\"isDraft\"\r\n class=\"form-check-input\"\r\n />\r\n\r\n <label for=\"producer-receipt-is-draft\" class=\"form-check-label\">\r\n {{ 'eDonusum::IsDraft' | abpLocalization }}\r\n </label>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-selected-receipt-serial\">\r\n {{ 'eDonusum::SelectedReceiptSerial' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-selected-receipt-serial\"\r\n formControlName=\"selectedReceiptSerial\"\r\n class=\"form-control\"\r\n maxlength=\"16\"\r\n />\r\n </div>\r\n </div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n\r\n <abp-button iconClass=\"fa fa-check\" buttonType=\"submit\" formName=\"producer-receipt\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n", dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.AutofocusDirective, selector: "[autofocus]", inputs: ["autofocus"] }, { kind: "directive", type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "directive", type: i1.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission", "abpPermissionRunChangeDetection"] }, { kind: "component", type: i6.DatatableComponent, selector: "ngx-datatable", inputs: ["targetMarkerTemplate", "rows", "groupRowsBy", "groupedRows", "columns", "selected", "scrollbarV", "scrollbarH", "rowHeight", "columnMode", "headerHeight", "footerHeight", "externalPaging", "externalSorting", "limit", "count", "offset", "loadingIndicator", "selectionType", "reorderable", "swapColumns", "sortType", "sorts", "cssClasses", "messages", "rowClass", "selectCheck", "displayCheck", "groupExpansionDefault", "trackByProp", "selectAllRowsOnPage", "virtualization", "treeFromRelation", "treeToRelation", "summaryRow", "summaryHeight", "summaryPosition", "rowIdentity"], outputs: ["scroll", "activate", "select", "sort", "page", "reorder", "resize", "tableContextmenu", "treeAction"] }, { kind: "directive", type: i6.DataTableColumnDirective, selector: "ngx-datatable-column", inputs: ["name", "prop", "frozenLeft", "frozenRight", "flexGrow", "resizeable", "comparator", "pipe", "sortable", "draggable", "canAutoResize", "minWidth", "width", "maxWidth", "checkboxable", "headerCheckboxable", "headerClass", "cellClass", "isTreeColumn", "treeLevelIndent", "summaryFunc", "summaryTemplate", "cellTemplate", "headerTemplate", "treeToggleTemplate"] }, { kind: "directive", type: i6.DataTableColumnCellDirective, selector: "[ngx-datatable-cell-template]" }, { kind: "component", type: i3.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i3.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i3.NgxDatatableDefaultDirective, selector: "ngx-datatable[default]", inputs: ["class"], exportAs: ["ngxDatatableDefault"] }, { kind: "directive", type: i3.NgxDatatableListDirective, selector: "ngx-datatable[list]", inputs: ["list"], exportAs: ["ngxDatatableList"] }, { kind: "directive", type: i3.ModalCloseDirective, selector: "[abpClose]" }, { kind: "component", type: i7.AdvancedEntityFiltersComponent, selector: "abp-advanced-entity-filters", inputs: ["list", "localizationSourceName", "entityFilterPlaceholder"] }, { kind: "component", type: i7.AdvancedEntityFiltersFormComponent, selector: "abp-advanced-entity-filters-form" }, { kind: "directive", type: i8.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i8.ValidationTargetDirective, selector: "[validationTarget]", exportAs: ["validationTarget"] }, { kind: "directive", type: i8.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "directive", type: i9.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["autoClose", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays", "disabled"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { kind: "directive", type: i9.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i9.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i9.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i9.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: i10.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i10.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "pipe", type: i5.DatePipe, name: "date" }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }], changeDetection: i0.ChangeDetectionStrategy.Default });
225
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ProducerReceiptComponent, decorators: [{
226
+ type: Component,
227
+ args: [{ selector: 'lib-producer-receipt', changeDetection: ChangeDetectionStrategy.Default, providers: [ListService, { provide: NgbDateAdapter, useClass: DateAdapter }], template: "<abp-page [title]=\"'eDonusum::ProducerReceipts' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"text-lg-end pt-2\">\r\n <button\r\n *abpPermission=\"'eDonusum.ProducerReceipts.Create'\"\r\n class=\"btn btn-primary btn-sm\"\r\n type=\"button\"\r\n (click)=\"create()\"\r\n >\r\n <i class=\"fa fa-plus me-1\" aria-hidden=\"true\"></i>\r\n {{ 'eDonusum::NewProducerReceipt' | abpLocalization }}\r\n </button>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <abp-advanced-entity-filters localizationSourceName=\"eDonusum\" [list]=\"list\">\r\n <abp-advanced-entity-filters-form>\r\n <form #filterForm (keyup.enter)=\"list.get()\">\r\n <div class=\"row\">\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"ublVersionIdFilter\">\r\n {{ 'eDonusum::UblVersionId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"ublVersionIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.ublVersionId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"customizationIdFilter\">\r\n {{ 'eDonusum::CustomizationId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"customizationIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.customizationId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"profileIdFilter\">\r\n {{ 'eDonusum::ProfileId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"profileIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.profileId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producerReceiptIDFilter\">\r\n {{ 'eDonusum::ProducerReceiptID' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producerReceiptIDFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.producerReceiptID\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"copyIndicatorFilter\">\r\n {{ 'eDonusum::CopyIndicator' | abpLocalization }}\r\n </label>\r\n\r\n <select\r\n name=\"copyIndicator\"\r\n id=\"copyIndicatorFilter\"\r\n class=\"form-select form-control\"\r\n [(ngModel)]=\"filters.copyIndicator\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (change)=\"list.get()\"\r\n >\r\n <option [ngValue]=\"\"></option>\r\n <option [ngValue]=\"true\">{{ 'AbpUi::Yes' | abpLocalization }}</option>\r\n <option [ngValue]=\"false\">{{ 'AbpUi::No' | abpLocalization }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"uuIdFilter\">\r\n {{ 'eDonusum::UuId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"uuIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.uuId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minIssueDate\">\r\n {{ 'eDonusum::MinIssueDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minIssueDate\"\r\n class=\"form-control\"\r\n #minIssueDateInput\r\n #minIssueDateDatepicker=\"ngbDatepicker\"\r\n name=\"minIssueDate\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minIssueDateDatepicker.toggle()\"\r\n (keyup.space)=\"minIssueDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.issueDateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"minIssueDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minIssueDateDatepicker.writeValue(null);\r\n minIssueDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxIssueDate\">\r\n {{ 'eDonusum::MaxIssueDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxIssueDate\"\r\n class=\"form-control\"\r\n #maxIssueDateInput\r\n #maxIssueDateDatepicker=\"ngbDatepicker\"\r\n name=\"maxIssueDate\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxIssueDateDatepicker.toggle()\"\r\n (keyup.space)=\"maxIssueDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.issueDateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"maxIssueDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxIssueDateDatepicker.writeValue(null);\r\n maxIssueDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minIssueTime\">\r\n {{ 'eDonusum::MinIssueTime' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minIssueTime\"\r\n class=\"form-control\"\r\n #minIssueTimeInput\r\n #minIssueTimeDatepicker=\"ngbDatepicker\"\r\n name=\"minIssueTime\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minIssueTimeDatepicker.toggle()\"\r\n (keyup.space)=\"minIssueTimeDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.issueTimeMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"minIssueTimeInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minIssueTimeDatepicker.writeValue(null);\r\n minIssueTimeDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxIssueTime\">\r\n {{ 'eDonusum::MaxIssueTime' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxIssueTime\"\r\n class=\"form-control\"\r\n #maxIssueTimeInput\r\n #maxIssueTimeDatepicker=\"ngbDatepicker\"\r\n name=\"maxIssueTime\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxIssueTimeDatepicker.toggle()\"\r\n (keyup.space)=\"maxIssueTimeDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.issueTimeMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"maxIssueTimeInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxIssueTimeDatepicker.writeValue(null);\r\n maxIssueTimeDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"creditNoteTypeCodeFilter\">\r\n {{ 'eDonusum::CreditNoteTypeCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"creditNoteTypeCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.creditNoteTypeCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"documentCurrencyCodeFilter\">\r\n {{ 'eDonusum::DocumentCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"documentCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.documentCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"taxCurrencyCodeFilter\">\r\n {{ 'eDonusum::TaxCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"taxCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.taxCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"pricingCurrencyCodeFilter\">\r\n {{ 'eDonusum::PricingCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"pricingCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.pricingCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paymentCurrencyCodeFilter\">\r\n {{ 'eDonusum::PaymentCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"paymentCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paymentAlternativeCurrencyCodeFilter\">\r\n {{ 'eDonusum::PaymentAlternativeCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"paymentAlternativeCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentAlternativeCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"accountingCostFilter\">\r\n {{ 'eDonusum::AccountingCost' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"accountingCostFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.accountingCost\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minLineCountNumeric\">\r\n {{ 'eDonusum::MinLineCountNumeric' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minLineCountNumeric\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.lineCountNumericMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxLineCountNumeric\">\r\n {{ 'eDonusum::MaxLineCountNumeric' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxLineCountNumeric\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.lineCountNumericMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"accountingSupplierPartyNameFilter\">\r\n {{ 'eDonusum::AccountingSupplierPartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"accountingSupplierPartyNameFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.accountingSupplierPartyName\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"accountingSupplierPartySchemeIDFilter\">\r\n {{ 'eDonusum::AccountingSupplierPartySchemeID' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"accountingSupplierPartySchemeIDFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.accountingSupplierPartySchemeID\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"accountingSupplierPartyVKNTCKNFilter\">\r\n {{ 'eDonusum::AccountingSupplierPartyVKNTCKN' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"accountingSupplierPartyVKNTCKNFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.accountingSupplierPartyVKNTCKN\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"accountingCustomerPartyNameFilter\">\r\n {{ 'eDonusum::AccountingCustomerPartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"accountingCustomerPartyNameFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.accountingCustomerPartyName\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"accountingCustomerPartySchemeIDFilter\">\r\n {{ 'eDonusum::AccountingCustomerPartySchemeID' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"accountingCustomerPartySchemeIDFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.accountingCustomerPartySchemeID\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"accountingCustomerPartyVKNTCKNFilter\">\r\n {{ 'eDonusum::AccountingCustomerPartyVKNTCKN' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"accountingCustomerPartyVKNTCKNFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.accountingCustomerPartyVKNTCKN\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minDeliveryActualDeliveryDate\">\r\n {{ 'eDonusum::MinDeliveryActualDeliveryDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minDeliveryActualDeliveryDate\"\r\n class=\"form-control\"\r\n #minDeliveryActualDeliveryDateInput\r\n #minDeliveryActualDeliveryDateDatepicker=\"ngbDatepicker\"\r\n name=\"minDeliveryActualDeliveryDate\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minDeliveryActualDeliveryDateDatepicker.toggle()\"\r\n (keyup.space)=\"minDeliveryActualDeliveryDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.deliveryActualDeliveryDateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"minDeliveryActualDeliveryDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minDeliveryActualDeliveryDateDatepicker.writeValue(null);\r\n minDeliveryActualDeliveryDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxDeliveryActualDeliveryDate\">\r\n {{ 'eDonusum::MaxDeliveryActualDeliveryDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxDeliveryActualDeliveryDate\"\r\n class=\"form-control\"\r\n #maxDeliveryActualDeliveryDateInput\r\n #maxDeliveryActualDeliveryDateDatepicker=\"ngbDatepicker\"\r\n name=\"maxDeliveryActualDeliveryDate\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxDeliveryActualDeliveryDateDatepicker.toggle()\"\r\n (keyup.space)=\"maxDeliveryActualDeliveryDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.deliveryActualDeliveryDateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"maxDeliveryActualDeliveryDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxDeliveryActualDeliveryDateDatepicker.writeValue(null);\r\n maxDeliveryActualDeliveryDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"taxExchangeRateSourceCurrencyCodeFilter\">\r\n {{ 'eDonusum::TaxExchangeRateSourceCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"taxExchangeRateSourceCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.taxExchangeRateSourceCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"taxExchangeRateTargetCurrencyCodeFilter\">\r\n {{ 'eDonusum::TaxExchangeRateTargetCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"taxExchangeRateTargetCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.taxExchangeRateTargetCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minTaxExchangeRateCalculationRate\">\r\n {{ 'eDonusum::MinTaxExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minTaxExchangeRateCalculationRate\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.taxExchangeRateCalculationRateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxTaxExchangeRateCalculationRate\">\r\n {{ 'eDonusum::MaxTaxExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxTaxExchangeRateCalculationRate\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.taxExchangeRateCalculationRateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minTaxExchangeRateDate\">\r\n {{ 'eDonusum::MinTaxExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minTaxExchangeRateDate\"\r\n class=\"form-control\"\r\n #minTaxExchangeRateDateInput\r\n #minTaxExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n name=\"minTaxExchangeRateDate\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minTaxExchangeRateDateDatepicker.toggle()\"\r\n (keyup.space)=\"minTaxExchangeRateDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.taxExchangeRateDateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"minTaxExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minTaxExchangeRateDateDatepicker.writeValue(null);\r\n minTaxExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxTaxExchangeRateDate\">\r\n {{ 'eDonusum::MaxTaxExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxTaxExchangeRateDate\"\r\n class=\"form-control\"\r\n #maxTaxExchangeRateDateInput\r\n #maxTaxExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n name=\"maxTaxExchangeRateDate\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxTaxExchangeRateDateDatepicker.toggle()\"\r\n (keyup.space)=\"maxTaxExchangeRateDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.taxExchangeRateDateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"maxTaxExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxTaxExchangeRateDateDatepicker.writeValue(null);\r\n maxTaxExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"pricingExchangeRateSourceCurrencyCodeFilter\">\r\n {{ 'eDonusum::PricingExchangeRateSourceCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"pricingExchangeRateSourceCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.pricingExchangeRateSourceCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"pricingExchangeRateTargetCurrencyCodeFilter\">\r\n {{ 'eDonusum::PricingExchangeRateTargetCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"pricingExchangeRateTargetCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.pricingExchangeRateTargetCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minPricingExchangeRateCalculationRate\">\r\n {{ 'eDonusum::MinPricingExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minPricingExchangeRateCalculationRate\"\r\n class=\"form-control\"\r\n #minPricingExchangeRateCalculationRateInput\r\n #minPricingExchangeRateCalculationRateDatepicker=\"ngbDatepicker\"\r\n name=\"minPricingExchangeRateCalculationRate\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minPricingExchangeRateCalculationRateDatepicker.toggle()\"\r\n (keyup.space)=\"minPricingExchangeRateCalculationRateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.pricingExchangeRateCalculationRateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div\r\n *ngIf=\"minPricingExchangeRateCalculationRateInput.value\"\r\n class=\"input-group-append\"\r\n >\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minPricingExchangeRateCalculationRateDatepicker.writeValue(null);\r\n minPricingExchangeRateCalculationRateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxPricingExchangeRateCalculationRate\">\r\n {{ 'eDonusum::MaxPricingExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxPricingExchangeRateCalculationRate\"\r\n class=\"form-control\"\r\n #maxPricingExchangeRateCalculationRateInput\r\n #maxPricingExchangeRateCalculationRateDatepicker=\"ngbDatepicker\"\r\n name=\"maxPricingExchangeRateCalculationRate\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxPricingExchangeRateCalculationRateDatepicker.toggle()\"\r\n (keyup.space)=\"maxPricingExchangeRateCalculationRateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.pricingExchangeRateCalculationRateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div\r\n *ngIf=\"maxPricingExchangeRateCalculationRateInput.value\"\r\n class=\"input-group-append\"\r\n >\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxPricingExchangeRateCalculationRateDatepicker.writeValue(null);\r\n maxPricingExchangeRateCalculationRateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minPricingExchangeRateDate\">\r\n {{ 'eDonusum::MinPricingExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minPricingExchangeRateDate\"\r\n class=\"form-control\"\r\n #minPricingExchangeRateDateInput\r\n #minPricingExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n name=\"minPricingExchangeRateDate\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minPricingExchangeRateDateDatepicker.toggle()\"\r\n (keyup.space)=\"minPricingExchangeRateDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.pricingExchangeRateDateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"minPricingExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minPricingExchangeRateDateDatepicker.writeValue(null);\r\n minPricingExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxPricingExchangeRateDate\">\r\n {{ 'eDonusum::MaxPricingExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxPricingExchangeRateDate\"\r\n class=\"form-control\"\r\n #maxPricingExchangeRateDateInput\r\n #maxPricingExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n name=\"maxPricingExchangeRateDate\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxPricingExchangeRateDateDatepicker.toggle()\"\r\n (keyup.space)=\"maxPricingExchangeRateDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.pricingExchangeRateDateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"maxPricingExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxPricingExchangeRateDateDatepicker.writeValue(null);\r\n maxPricingExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paymentExchangeRateSourceCurrencyCodeFilter\">\r\n {{ 'eDonusum::PaymentExchangeRateSourceCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"paymentExchangeRateSourceCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentExchangeRateSourceCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paymentExchangeRateTargetCurrencyCodeFilter\">\r\n {{ 'eDonusum::PaymentExchangeRateTargetCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"paymentExchangeRateTargetCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentExchangeRateTargetCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minPaymentExchangeRateCalculationRate\">\r\n {{ 'eDonusum::MinPaymentExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minPaymentExchangeRateCalculationRate\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentExchangeRateCalculationRateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxPaymentExchangeRateCalculationRate\">\r\n {{ 'eDonusum::MaxPaymentExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxPaymentExchangeRateCalculationRate\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentExchangeRateCalculationRateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minPaymentExchangeRateDate\">\r\n {{ 'eDonusum::MinPaymentExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minPaymentExchangeRateDate\"\r\n class=\"form-control\"\r\n #minPaymentExchangeRateDateInput\r\n #minPaymentExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n name=\"minPaymentExchangeRateDate\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minPaymentExchangeRateDateDatepicker.toggle()\"\r\n (keyup.space)=\"minPaymentExchangeRateDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.paymentExchangeRateDateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"minPaymentExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minPaymentExchangeRateDateDatepicker.writeValue(null);\r\n minPaymentExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxPaymentExchangeRateDate\">\r\n {{ 'eDonusum::MaxPaymentExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxPaymentExchangeRateDate\"\r\n class=\"form-control\"\r\n #maxPaymentExchangeRateDateInput\r\n #maxPaymentExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n name=\"maxPaymentExchangeRateDate\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxPaymentExchangeRateDateDatepicker.toggle()\"\r\n (keyup.space)=\"maxPaymentExchangeRateDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.paymentExchangeRateDateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"maxPaymentExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxPaymentExchangeRateDateDatepicker.writeValue(null);\r\n maxPaymentExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"paymentAlternativeExchangeRateSourceCurrencyCodeFilter\"\r\n >\r\n {{ 'eDonusum::PaymentAlternativeExchangeRateSourceCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"paymentAlternativeExchangeRateSourceCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentAlternativeExchangeRateSourceCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"paymentAlternativeExchangeRateTargetCurrencyCodeFilter\"\r\n >\r\n {{ 'eDonusum::PaymentAlternativeExchangeRateTargetCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"paymentAlternativeExchangeRateTargetCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentAlternativeExchangeRateTargetCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minPaymentAlternativeExchangeRateCalculationRate\">\r\n {{ 'eDonusum::MinPaymentAlternativeExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minPaymentAlternativeExchangeRateCalculationRate\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentAlternativeExchangeRateCalculationRateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxPaymentAlternativeExchangeRateCalculationRate\">\r\n {{ 'eDonusum::MaxPaymentAlternativeExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxPaymentAlternativeExchangeRateCalculationRate\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentAlternativeExchangeRateCalculationRateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minPaymentAlternativeExchangeRateDate\">\r\n {{ 'eDonusum::MinPaymentAlternativeExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minPaymentAlternativeExchangeRateDate\"\r\n class=\"form-control\"\r\n #minPaymentAlternativeExchangeRateDateInput\r\n #minPaymentAlternativeExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n name=\"minPaymentAlternativeExchangeRateDate\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minPaymentAlternativeExchangeRateDateDatepicker.toggle()\"\r\n (keyup.space)=\"minPaymentAlternativeExchangeRateDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.paymentAlternativeExchangeRateDateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div\r\n *ngIf=\"minPaymentAlternativeExchangeRateDateInput.value\"\r\n class=\"input-group-append\"\r\n >\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minPaymentAlternativeExchangeRateDateDatepicker.writeValue(null);\r\n minPaymentAlternativeExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxPaymentAlternativeExchangeRateDate\">\r\n {{ 'eDonusum::MaxPaymentAlternativeExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxPaymentAlternativeExchangeRateDate\"\r\n class=\"form-control\"\r\n #maxPaymentAlternativeExchangeRateDateInput\r\n #maxPaymentAlternativeExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n name=\"maxPaymentAlternativeExchangeRateDate\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxPaymentAlternativeExchangeRateDateDatepicker.toggle()\"\r\n (keyup.space)=\"maxPaymentAlternativeExchangeRateDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.paymentAlternativeExchangeRateDateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div\r\n *ngIf=\"maxPaymentAlternativeExchangeRateDateInput.value\"\r\n class=\"input-group-append\"\r\n >\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxPaymentAlternativeExchangeRateDateDatepicker.writeValue(null);\r\n maxPaymentAlternativeExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minLegalMonetaryTotalLineExtensionAmount\">\r\n {{ 'eDonusum::MinLegalMonetaryTotalLineExtensionAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minLegalMonetaryTotalLineExtensionAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalLineExtensionAmountMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxLegalMonetaryTotalLineExtensionAmount\">\r\n {{ 'eDonusum::MaxLegalMonetaryTotalLineExtensionAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxLegalMonetaryTotalLineExtensionAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalLineExtensionAmountMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minLegalMonetaryTotalTaxExclusiveAmount\">\r\n {{ 'eDonusum::MinLegalMonetaryTotalTaxExclusiveAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minLegalMonetaryTotalTaxExclusiveAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalTaxExclusiveAmountMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxLegalMonetaryTotalTaxExclusiveAmount\">\r\n {{ 'eDonusum::MaxLegalMonetaryTotalTaxExclusiveAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxLegalMonetaryTotalTaxExclusiveAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalTaxExclusiveAmountMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minLegalMonetaryTotalTaxInclusiveAmount\">\r\n {{ 'eDonusum::MinLegalMonetaryTotalTaxInclusiveAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minLegalMonetaryTotalTaxInclusiveAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalTaxInclusiveAmountMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxLegalMonetaryTotalTaxInclusiveAmount\">\r\n {{ 'eDonusum::MaxLegalMonetaryTotalTaxInclusiveAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxLegalMonetaryTotalTaxInclusiveAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalTaxInclusiveAmountMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minLegalMonetaryTotalAllowanceTotalAmount\">\r\n {{ 'eDonusum::MinLegalMonetaryTotalAllowanceTotalAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minLegalMonetaryTotalAllowanceTotalAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalAllowanceTotalAmountMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxLegalMonetaryTotalAllowanceTotalAmount\">\r\n {{ 'eDonusum::MaxLegalMonetaryTotalAllowanceTotalAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxLegalMonetaryTotalAllowanceTotalAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalAllowanceTotalAmountMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minLegalMonetaryTotalChargeTotalAmount\">\r\n {{ 'eDonusum::MinLegalMonetaryTotalChargeTotalAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minLegalMonetaryTotalChargeTotalAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalChargeTotalAmountMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxLegalMonetaryTotalChargeTotalAmount\">\r\n {{ 'eDonusum::MaxLegalMonetaryTotalChargeTotalAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxLegalMonetaryTotalChargeTotalAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalChargeTotalAmountMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minLegalMonetaryTotalPayableRoundingAmount\">\r\n {{ 'eDonusum::MinLegalMonetaryTotalPayableRoundingAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minLegalMonetaryTotalPayableRoundingAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalPayableRoundingAmountMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxLegalMonetaryTotalPayableRoundingAmount\">\r\n {{ 'eDonusum::MaxLegalMonetaryTotalPayableRoundingAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxLegalMonetaryTotalPayableRoundingAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalPayableRoundingAmountMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minLegalMonetaryTotalPayableAmount\">\r\n {{ 'eDonusum::MinLegalMonetaryTotalPayableAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minLegalMonetaryTotalPayableAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalPayableAmountMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxLegalMonetaryTotalPayableAmount\">\r\n {{ 'eDonusum::MaxLegalMonetaryTotalPayableAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxLegalMonetaryTotalPayableAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalPayableAmountMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"isCanceledFilter\">\r\n {{ 'eDonusum::IsCanceled' | abpLocalization }}\r\n </label>\r\n\r\n <select\r\n name=\"isCanceled\"\r\n id=\"isCanceledFilter\"\r\n class=\"form-select form-control\"\r\n [(ngModel)]=\"filters.isCanceled\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (change)=\"list.get()\"\r\n >\r\n <option [ngValue]=\"\"></option>\r\n <option [ngValue]=\"true\">{{ 'AbpUi::Yes' | abpLocalization }}</option>\r\n <option [ngValue]=\"false\">{{ 'AbpUi::No' | abpLocalization }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"cancelCodeFilter\">\r\n {{ 'eDonusum::CancelCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"cancelCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.cancelCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"cancelDescriptionFilter\">\r\n {{ 'eDonusum::CancelDescription' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"cancelDescriptionFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.cancelDescription\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minStatus\">\r\n {{ 'eDonusum::MinStatus' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minStatus\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.statusMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxStatus\">\r\n {{ 'eDonusum::MaxStatus' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxStatus\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.statusMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minResourceDocEntry\">\r\n {{ 'eDonusum::MinResourceDocEntry' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minResourceDocEntry\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.resourceDocEntryMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxResourceDocEntry\">\r\n {{ 'eDonusum::MaxResourceDocEntry' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxResourceDocEntry\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.resourceDocEntryMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minResourceDocType\">\r\n {{ 'eDonusum::MinResourceDocType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minResourceDocType\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.resourceDocTypeMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxResourceDocType\">\r\n {{ 'eDonusum::MaxResourceDocType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxResourceDocType\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.resourceDocTypeMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"entegratorErrorMessageFilter\">\r\n {{ 'eDonusum::EntegratorErrorMessage' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"entegratorErrorMessageFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.entegratorErrorMessage\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minResourceSubDocType\">\r\n {{ 'eDonusum::MinResourceSubDocType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minResourceSubDocType\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.resourceSubDocTypeMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxResourceSubDocType\">\r\n {{ 'eDonusum::MaxResourceSubDocType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxResourceSubDocType\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.resourceSubDocTypeMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minResourceJournalEntry\">\r\n {{ 'eDonusum::MinResourceJournalEntry' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minResourceJournalEntry\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.resourceJournalEntryMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxResourceJournalEntry\">\r\n {{ 'eDonusum::MaxResourceJournalEntry' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxResourceJournalEntry\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.resourceJournalEntryMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"isDraftFilter\">\r\n {{ 'eDonusum::IsDraft' | abpLocalization }}\r\n </label>\r\n\r\n <select\r\n name=\"isDraft\"\r\n id=\"isDraftFilter\"\r\n class=\"form-select form-control\"\r\n [(ngModel)]=\"filters.isDraft\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (change)=\"list.get()\"\r\n >\r\n <option [ngValue]=\"\"></option>\r\n <option [ngValue]=\"true\">{{ 'AbpUi::Yes' | abpLocalization }}</option>\r\n <option [ngValue]=\"false\">{{ 'AbpUi::No' | abpLocalization }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"selectedReceiptSerialFilter\">\r\n {{ 'eDonusum::SelectedReceiptSerial' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"selectedReceiptSerialFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.selectedReceiptSerial\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto align-self-end mb-3\">\r\n <div class=\"row\">\r\n <div class=\"col-6 col-sm-auto d-grid\">\r\n <button type=\"button\" class=\"btn btn-outline-primary\" (click)=\"clearFilters()\">\r\n <span>{{ 'AbpUi::Clear' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n <div class=\"col-6 col-sm-auto d-grid\">\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"list.get()\">\r\n <span>{{ 'AbpUi::Refresh' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </abp-advanced-entity-filters-form>\r\n </abp-advanced-entity-filters>\r\n\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <ngx-datatable [rows]=\"data.items\" [count]=\"data.totalCount\" [list]=\"list\" default>\r\n <ngx-datatable-column\r\n [name]=\"'AbpUi::Actions' | abpLocalization\"\r\n [maxWidth]=\"150\"\r\n [width]=\"150\"\r\n [sortable]=\"false\"\r\n >\r\n <ng-template let-row=\"row\" let-i=\"rowIndex\" ngx-datatable-cell-template>\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button\r\n class=\"btn btn-primary btn-sm dropdown-toggle\"\r\n data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\"\r\n ngbDropdownToggle\r\n >\r\n <i class=\"fa fa-cog me-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n\r\n <div ngbDropdownMenu>\r\n <button\r\n ngbDropdownItem\r\n *abpPermission=\"'eDonusum.ProducerReceipts.Edit'\"\r\n (click)=\"update(row)\"\r\n >\r\n {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n\r\n <button\r\n ngbDropdownItem\r\n *abpPermission=\"'eDonusum.ProducerReceipts.Delete'\"\r\n (click)=\"delete(row)\"\r\n >\r\n {{ 'AbpUi::Delete' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::UblVersionId' | abpLocalization }}\"\r\n prop=\"ublVersionId\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.ublVersionId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::CustomizationId' | abpLocalization }}\"\r\n prop=\"customizationId\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.customizationId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column name=\"{{ 'eDonusum::ProfileId' | abpLocalization }}\" prop=\"profileId\">\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.profileId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ProducerReceiptID' | abpLocalization }}\"\r\n prop=\"producerReceiptID\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.producerReceiptID }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::CopyIndicator' | abpLocalization }}\"\r\n prop=\"copyIndicator\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n <ng-template [ngIf]=\"row.copyIndicator\" [ngIfThen]=\"yes\" [ngIfElse]=\"no\"></ng-template>\r\n\r\n <ng-template #yes>\r\n <div class=\"text-success\">\r\n <span [title]=\"'AbpUi::Yes' | abpLocalization\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #no>\r\n <div class=\"text-danger\">\r\n <span [title]=\"'AbpUi::No' | abpLocalization\">\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column name=\"{{ 'eDonusum::UuId' | abpLocalization }}\" prop=\"uuId\">\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.uuId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column name=\"{{ 'eDonusum::IssueDate' | abpLocalization }}\" prop=\"issueDate\">\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.issueDate | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column name=\"{{ 'eDonusum::IssueTime' | abpLocalization }}\" prop=\"issueTime\">\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.issueTime | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::CreditNoteTypeCode' | abpLocalization }}\"\r\n prop=\"creditNoteTypeCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.creditNoteTypeCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DocumentCurrencyCode' | abpLocalization }}\"\r\n prop=\"documentCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.documentCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::TaxCurrencyCode' | abpLocalization }}\"\r\n prop=\"taxCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.taxCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PricingCurrencyCode' | abpLocalization }}\"\r\n prop=\"pricingCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.pricingCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PaymentCurrencyCode' | abpLocalization }}\"\r\n prop=\"paymentCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PaymentAlternativeCurrencyCode' | abpLocalization }}\"\r\n prop=\"paymentAlternativeCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentAlternativeCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::AccountingCost' | abpLocalization }}\"\r\n prop=\"accountingCost\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.accountingCost }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::LineCountNumeric' | abpLocalization }}\"\r\n prop=\"lineCountNumeric\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.lineCountNumeric }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::AccountingSupplierPartyName' | abpLocalization }}\"\r\n prop=\"accountingSupplierPartyName\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.accountingSupplierPartyName }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::AccountingSupplierPartySchemeID' | abpLocalization }}\"\r\n prop=\"accountingSupplierPartySchemeID\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.accountingSupplierPartySchemeID }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::AccountingSupplierPartyVKNTCKN' | abpLocalization }}\"\r\n prop=\"accountingSupplierPartyVKNTCKN\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.accountingSupplierPartyVKNTCKN }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::AccountingCustomerPartyName' | abpLocalization }}\"\r\n prop=\"accountingCustomerPartyName\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.accountingCustomerPartyName }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::AccountingCustomerPartySchemeID' | abpLocalization }}\"\r\n prop=\"accountingCustomerPartySchemeID\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.accountingCustomerPartySchemeID }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::AccountingCustomerPartyVKNTCKN' | abpLocalization }}\"\r\n prop=\"accountingCustomerPartyVKNTCKN\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.accountingCustomerPartyVKNTCKN }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DeliveryActualDeliveryDate' | abpLocalization }}\"\r\n prop=\"deliveryActualDeliveryDate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.deliveryActualDeliveryDate | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::TaxExchangeRateSourceCurrencyCode' | abpLocalization }}\"\r\n prop=\"taxExchangeRateSourceCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.taxExchangeRateSourceCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::TaxExchangeRateTargetCurrencyCode' | abpLocalization }}\"\r\n prop=\"taxExchangeRateTargetCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.taxExchangeRateTargetCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::TaxExchangeRateCalculationRate' | abpLocalization }}\"\r\n prop=\"taxExchangeRateCalculationRate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.taxExchangeRateCalculationRate }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::TaxExchangeRateDate' | abpLocalization }}\"\r\n prop=\"taxExchangeRateDate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.taxExchangeRateDate | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PricingExchangeRateSourceCurrencyCode' | abpLocalization }}\"\r\n prop=\"pricingExchangeRateSourceCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.pricingExchangeRateSourceCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PricingExchangeRateTargetCurrencyCode' | abpLocalization }}\"\r\n prop=\"pricingExchangeRateTargetCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.pricingExchangeRateTargetCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PricingExchangeRateCalculationRate' | abpLocalization }}\"\r\n prop=\"pricingExchangeRateCalculationRate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.pricingExchangeRateCalculationRate | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PricingExchangeRateDate' | abpLocalization }}\"\r\n prop=\"pricingExchangeRateDate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.pricingExchangeRateDate | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PaymentExchangeRateSourceCurrencyCode' | abpLocalization }}\"\r\n prop=\"paymentExchangeRateSourceCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentExchangeRateSourceCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PaymentExchangeRateTargetCurrencyCode' | abpLocalization }}\"\r\n prop=\"paymentExchangeRateTargetCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentExchangeRateTargetCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PaymentExchangeRateCalculationRate' | abpLocalization }}\"\r\n prop=\"paymentExchangeRateCalculationRate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentExchangeRateCalculationRate }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PaymentExchangeRateDate' | abpLocalization }}\"\r\n prop=\"paymentExchangeRateDate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentExchangeRateDate | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{\r\n 'eDonusum::PaymentAlternativeExchangeRateSourceCurrencyCode' | abpLocalization\r\n }}\"\r\n prop=\"paymentAlternativeExchangeRateSourceCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentAlternativeExchangeRateSourceCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{\r\n 'eDonusum::PaymentAlternativeExchangeRateTargetCurrencyCode' | abpLocalization\r\n }}\"\r\n prop=\"paymentAlternativeExchangeRateTargetCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentAlternativeExchangeRateTargetCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PaymentAlternativeExchangeRateCalculationRate' | abpLocalization }}\"\r\n prop=\"paymentAlternativeExchangeRateCalculationRate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentAlternativeExchangeRateCalculationRate }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PaymentAlternativeExchangeRateDate' | abpLocalization }}\"\r\n prop=\"paymentAlternativeExchangeRateDate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentAlternativeExchangeRateDate | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::LegalMonetaryTotalLineExtensionAmount' | abpLocalization }}\"\r\n prop=\"legalMonetaryTotalLineExtensionAmount\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.legalMonetaryTotalLineExtensionAmount }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::LegalMonetaryTotalTaxExclusiveAmount' | abpLocalization }}\"\r\n prop=\"legalMonetaryTotalTaxExclusiveAmount\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.legalMonetaryTotalTaxExclusiveAmount }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::LegalMonetaryTotalTaxInclusiveAmount' | abpLocalization }}\"\r\n prop=\"legalMonetaryTotalTaxInclusiveAmount\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.legalMonetaryTotalTaxInclusiveAmount }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::LegalMonetaryTotalAllowanceTotalAmount' | abpLocalization }}\"\r\n prop=\"legalMonetaryTotalAllowanceTotalAmount\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.legalMonetaryTotalAllowanceTotalAmount }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::LegalMonetaryTotalChargeTotalAmount' | abpLocalization }}\"\r\n prop=\"legalMonetaryTotalChargeTotalAmount\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.legalMonetaryTotalChargeTotalAmount }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::LegalMonetaryTotalPayableRoundingAmount' | abpLocalization }}\"\r\n prop=\"legalMonetaryTotalPayableRoundingAmount\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.legalMonetaryTotalPayableRoundingAmount }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::LegalMonetaryTotalPayableAmount' | abpLocalization }}\"\r\n prop=\"legalMonetaryTotalPayableAmount\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.legalMonetaryTotalPayableAmount }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::IsCanceled' | abpLocalization }}\"\r\n prop=\"isCanceled\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n <ng-template [ngIf]=\"row.isCanceled\" [ngIfThen]=\"yes\" [ngIfElse]=\"no\"></ng-template>\r\n\r\n <ng-template #yes>\r\n <div class=\"text-success\">\r\n <span [title]=\"'AbpUi::Yes' | abpLocalization\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #no>\r\n <div class=\"text-danger\">\r\n <span [title]=\"'AbpUi::No' | abpLocalization\">\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::CancelCode' | abpLocalization }}\"\r\n prop=\"cancelCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.cancelCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::CancelDescription' | abpLocalization }}\"\r\n prop=\"cancelDescription\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.cancelDescription }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column name=\"{{ 'eDonusum::Status' | abpLocalization }}\" prop=\"status\">\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.status }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ResourceDocEntry' | abpLocalization }}\"\r\n prop=\"resourceDocEntry\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.resourceDocEntry }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ResourceDocType' | abpLocalization }}\"\r\n prop=\"resourceDocType\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.resourceDocType }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::EntegratorErrorMessage' | abpLocalization }}\"\r\n prop=\"entegratorErrorMessage\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.entegratorErrorMessage }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ResourceSubDocType' | abpLocalization }}\"\r\n prop=\"resourceSubDocType\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.resourceSubDocType }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ResourceJournalEntry' | abpLocalization }}\"\r\n prop=\"resourceJournalEntry\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.resourceJournalEntry }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column name=\"{{ 'eDonusum::IsDraft' | abpLocalization }}\" prop=\"isDraft\">\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n <ng-template [ngIf]=\"row.isDraft\" [ngIfThen]=\"yes\" [ngIfElse]=\"no\"></ng-template>\r\n\r\n <ng-template #yes>\r\n <div class=\"text-success\">\r\n <span [title]=\"'AbpUi::Yes' | abpLocalization\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #no>\r\n <div class=\"text-danger\">\r\n <span [title]=\"'AbpUi::No' | abpLocalization\">\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::SelectedReceiptSerial' | abpLocalization }}\"\r\n prop=\"selectedReceiptSerial\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.selectedReceiptSerial }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n </ngx-datatable>\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<abp-modal [busy]=\"isModalBusy\" [(visible)]=\"isModalOpen\">\r\n <ng-template #abpHeader>\r\n <h3>\r\n {{ (selected ? 'AbpUi::Edit' : 'eDonusum::NewProducerReceipt') | abpLocalization }}\r\n </h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" id=\"producer-receipt\" (ngSubmit)=\"submitForm()\" validateOnSubmit>\r\n <div class=\"mt-2 fade-in-top\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-ubl-version-id\">\r\n {{ 'eDonusum::UblVersionId' | abpLocalization }} *\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-ubl-version-id\"\r\n formControlName=\"ublVersionId\"\r\n class=\"form-control\"\r\n maxlength=\"8\"\r\n autofocus\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-customization-id\">\r\n {{ 'eDonusum::CustomizationId' | abpLocalization }} *\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-customization-id\"\r\n formControlName=\"customizationId\"\r\n class=\"form-control\"\r\n maxlength=\"8\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-profile-id\">\r\n {{ 'eDonusum::ProfileId' | abpLocalization }} *\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-profile-id\"\r\n formControlName=\"profileId\"\r\n class=\"form-control\"\r\n maxlength=\"32\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-producer-receipt-id\">\r\n {{ 'eDonusum::ProducerReceiptID' | abpLocalization }} *\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-producer-receipt-id\"\r\n formControlName=\"producerReceiptID\"\r\n class=\"form-control\"\r\n maxlength=\"32\"\r\n />\r\n </div>\r\n <div class=\"form-check mb-3\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"producer-receipt-copy-indicator\"\r\n formControlName=\"copyIndicator\"\r\n class=\"form-check-input\"\r\n />\r\n\r\n <label for=\"producer-receipt-copy-indicator\" class=\"form-check-label\">\r\n {{ 'eDonusum::CopyIndicator' | abpLocalization }}\r\n </label>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-uu-id\">\r\n {{ 'eDonusum::UuId' | abpLocalization }} *\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-uu-id\"\r\n formControlName=\"uuId\"\r\n class=\"form-control\"\r\n maxlength=\"64\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-issue-date\">\r\n {{ 'eDonusum::IssueDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"producer-receipt-issue-date\"\r\n formControlName=\"issueDate\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #issueDateInput\r\n #issueDateDatepicker=\"ngbDatepicker\"\r\n (click)=\"issueDateDatepicker.open()\"\r\n (keyup.space)=\"issueDateDatepicker.open()\"\r\n />\r\n <div *ngIf=\"issueDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n issueDateDatepicker.writeValue(null);\r\n issueDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-issue-time\">\r\n {{ 'eDonusum::IssueTime' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"producer-receipt-issue-time\"\r\n formControlName=\"issueTime\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #issueTimeInput\r\n #issueTimeDatepicker=\"ngbDatepicker\"\r\n (click)=\"issueTimeDatepicker.open()\"\r\n (keyup.space)=\"issueTimeDatepicker.open()\"\r\n />\r\n <div *ngIf=\"issueTimeInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n issueTimeDatepicker.writeValue(null);\r\n issueTimeDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-credit-note-type-code\">\r\n {{ 'eDonusum::CreditNoteTypeCode' | abpLocalization }} *\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-credit-note-type-code\"\r\n formControlName=\"creditNoteTypeCode\"\r\n class=\"form-control\"\r\n maxlength=\"32\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-document-currency-code\">\r\n {{ 'eDonusum::DocumentCurrencyCode' | abpLocalization }} *\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-document-currency-code\"\r\n formControlName=\"documentCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-tax-currency-code\">\r\n {{ 'eDonusum::TaxCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-tax-currency-code\"\r\n formControlName=\"taxCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-pricing-currency-code\">\r\n {{ 'eDonusum::PricingCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-pricing-currency-code\"\r\n formControlName=\"pricingCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-payment-currency-code\">\r\n {{ 'eDonusum::PaymentCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-payment-currency-code\"\r\n formControlName=\"paymentCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-payment-alternative-currency-code\">\r\n {{ 'eDonusum::PaymentAlternativeCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-payment-alternative-currency-code\"\r\n formControlName=\"paymentAlternativeCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-accounting-cost\">\r\n {{ 'eDonusum::AccountingCost' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-accounting-cost\"\r\n formControlName=\"accountingCost\"\r\n class=\"form-control\"\r\n maxlength=\"32\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-line-count-numeric\">\r\n {{ 'eDonusum::LineCountNumeric' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-line-count-numeric\"\r\n formControlName=\"lineCountNumeric\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-accounting-supplier-party-name\">\r\n {{ 'eDonusum::AccountingSupplierPartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-accounting-supplier-party-name\"\r\n formControlName=\"accountingSupplierPartyName\"\r\n class=\"form-control\"\r\n maxlength=\"512\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-accounting-supplier-party-scheme-id\">\r\n {{ 'eDonusum::AccountingSupplierPartySchemeID' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-accounting-supplier-party-scheme-id\"\r\n formControlName=\"accountingSupplierPartySchemeID\"\r\n class=\"form-control\"\r\n maxlength=\"16\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-accounting-supplier-party-vkntckn\">\r\n {{ 'eDonusum::AccountingSupplierPartyVKNTCKN' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-accounting-supplier-party-vkntckn\"\r\n formControlName=\"accountingSupplierPartyVKNTCKN\"\r\n class=\"form-control\"\r\n maxlength=\"16\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-accounting-customer-party-name\">\r\n {{ 'eDonusum::AccountingCustomerPartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-accounting-customer-party-name\"\r\n formControlName=\"accountingCustomerPartyName\"\r\n class=\"form-control\"\r\n maxlength=\"512\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-accounting-customer-party-scheme-id\">\r\n {{ 'eDonusum::AccountingCustomerPartySchemeID' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-accounting-customer-party-scheme-id\"\r\n formControlName=\"accountingCustomerPartySchemeID\"\r\n class=\"form-control\"\r\n maxlength=\"16\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-accounting-customer-party-vkntckn\">\r\n {{ 'eDonusum::AccountingCustomerPartyVKNTCKN' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-accounting-customer-party-vkntckn\"\r\n formControlName=\"accountingCustomerPartyVKNTCKN\"\r\n class=\"form-control\"\r\n maxlength=\"16\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-delivery-actual-delivery-date\">\r\n {{ 'eDonusum::DeliveryActualDeliveryDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"producer-receipt-delivery-actual-delivery-date\"\r\n formControlName=\"deliveryActualDeliveryDate\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #deliveryActualDeliveryDateInput\r\n #deliveryActualDeliveryDateDatepicker=\"ngbDatepicker\"\r\n (click)=\"deliveryActualDeliveryDateDatepicker.open()\"\r\n (keyup.space)=\"deliveryActualDeliveryDateDatepicker.open()\"\r\n />\r\n <div *ngIf=\"deliveryActualDeliveryDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n deliveryActualDeliveryDateDatepicker.writeValue(null);\r\n deliveryActualDeliveryDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-tax-exchange-rate-source-currency-code\">\r\n {{ 'eDonusum::TaxExchangeRateSourceCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-tax-exchange-rate-source-currency-code\"\r\n formControlName=\"taxExchangeRateSourceCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-tax-exchange-rate-target-currency-code\">\r\n {{ 'eDonusum::TaxExchangeRateTargetCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-tax-exchange-rate-target-currency-code\"\r\n formControlName=\"taxExchangeRateTargetCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-tax-exchange-rate-calculation-rate\">\r\n {{ 'eDonusum::TaxExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-tax-exchange-rate-calculation-rate\"\r\n formControlName=\"taxExchangeRateCalculationRate\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-tax-exchange-rate-date\">\r\n {{ 'eDonusum::TaxExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"producer-receipt-tax-exchange-rate-date\"\r\n formControlName=\"taxExchangeRateDate\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #taxExchangeRateDateInput\r\n #taxExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n (click)=\"taxExchangeRateDateDatepicker.open()\"\r\n (keyup.space)=\"taxExchangeRateDateDatepicker.open()\"\r\n />\r\n <div *ngIf=\"taxExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n taxExchangeRateDateDatepicker.writeValue(null);\r\n taxExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"producer-receipt-pricing-exchange-rate-source-currency-code\"\r\n >\r\n {{ 'eDonusum::PricingExchangeRateSourceCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-pricing-exchange-rate-source-currency-code\"\r\n formControlName=\"pricingExchangeRateSourceCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"producer-receipt-pricing-exchange-rate-target-currency-code\"\r\n >\r\n {{ 'eDonusum::PricingExchangeRateTargetCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-pricing-exchange-rate-target-currency-code\"\r\n formControlName=\"pricingExchangeRateTargetCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-pricing-exchange-rate-calculation-rate\">\r\n {{ 'eDonusum::PricingExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"producer-receipt-pricing-exchange-rate-calculation-rate\"\r\n formControlName=\"pricingExchangeRateCalculationRate\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #pricingExchangeRateCalculationRateInput\r\n #pricingExchangeRateCalculationRateDatepicker=\"ngbDatepicker\"\r\n (click)=\"pricingExchangeRateCalculationRateDatepicker.open()\"\r\n (keyup.space)=\"pricingExchangeRateCalculationRateDatepicker.open()\"\r\n />\r\n <div *ngIf=\"pricingExchangeRateCalculationRateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n pricingExchangeRateCalculationRateDatepicker.writeValue(null);\r\n pricingExchangeRateCalculationRateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-pricing-exchange-rate-date\">\r\n {{ 'eDonusum::PricingExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"producer-receipt-pricing-exchange-rate-date\"\r\n formControlName=\"pricingExchangeRateDate\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #pricingExchangeRateDateInput\r\n #pricingExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n (click)=\"pricingExchangeRateDateDatepicker.open()\"\r\n (keyup.space)=\"pricingExchangeRateDateDatepicker.open()\"\r\n />\r\n <div *ngIf=\"pricingExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n pricingExchangeRateDateDatepicker.writeValue(null);\r\n pricingExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"producer-receipt-payment-exchange-rate-source-currency-code\"\r\n >\r\n {{ 'eDonusum::PaymentExchangeRateSourceCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-payment-exchange-rate-source-currency-code\"\r\n formControlName=\"paymentExchangeRateSourceCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"producer-receipt-payment-exchange-rate-target-currency-code\"\r\n >\r\n {{ 'eDonusum::PaymentExchangeRateTargetCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-payment-exchange-rate-target-currency-code\"\r\n formControlName=\"paymentExchangeRateTargetCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-payment-exchange-rate-calculation-rate\">\r\n {{ 'eDonusum::PaymentExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-payment-exchange-rate-calculation-rate\"\r\n formControlName=\"paymentExchangeRateCalculationRate\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-payment-exchange-rate-date\">\r\n {{ 'eDonusum::PaymentExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"producer-receipt-payment-exchange-rate-date\"\r\n formControlName=\"paymentExchangeRateDate\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #paymentExchangeRateDateInput\r\n #paymentExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n (click)=\"paymentExchangeRateDateDatepicker.open()\"\r\n (keyup.space)=\"paymentExchangeRateDateDatepicker.open()\"\r\n />\r\n <div *ngIf=\"paymentExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n paymentExchangeRateDateDatepicker.writeValue(null);\r\n paymentExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"producer-receipt-payment-alternative-exchange-rate-source-currency-code\"\r\n >\r\n {{ 'eDonusum::PaymentAlternativeExchangeRateSourceCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-payment-alternative-exchange-rate-source-currency-code\"\r\n formControlName=\"paymentAlternativeExchangeRateSourceCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"producer-receipt-payment-alternative-exchange-rate-target-currency-code\"\r\n >\r\n {{ 'eDonusum::PaymentAlternativeExchangeRateTargetCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-payment-alternative-exchange-rate-target-currency-code\"\r\n formControlName=\"paymentAlternativeExchangeRateTargetCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"producer-receipt-payment-alternative-exchange-rate-calculation-rate\"\r\n >\r\n {{ 'eDonusum::PaymentAlternativeExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-payment-alternative-exchange-rate-calculation-rate\"\r\n formControlName=\"paymentAlternativeExchangeRateCalculationRate\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-payment-alternative-exchange-rate-date\">\r\n {{ 'eDonusum::PaymentAlternativeExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"producer-receipt-payment-alternative-exchange-rate-date\"\r\n formControlName=\"paymentAlternativeExchangeRateDate\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #paymentAlternativeExchangeRateDateInput\r\n #paymentAlternativeExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n (click)=\"paymentAlternativeExchangeRateDateDatepicker.open()\"\r\n (keyup.space)=\"paymentAlternativeExchangeRateDateDatepicker.open()\"\r\n />\r\n <div *ngIf=\"paymentAlternativeExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n paymentAlternativeExchangeRateDateDatepicker.writeValue(null);\r\n paymentAlternativeExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"producer-receipt-legal-monetary-total-line-extension-amount\"\r\n >\r\n {{ 'eDonusum::LegalMonetaryTotalLineExtensionAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-legal-monetary-total-line-extension-amount\"\r\n formControlName=\"legalMonetaryTotalLineExtensionAmount\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"producer-receipt-legal-monetary-total-tax-exclusive-amount\"\r\n >\r\n {{ 'eDonusum::LegalMonetaryTotalTaxExclusiveAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-legal-monetary-total-tax-exclusive-amount\"\r\n formControlName=\"legalMonetaryTotalTaxExclusiveAmount\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"producer-receipt-legal-monetary-total-tax-inclusive-amount\"\r\n >\r\n {{ 'eDonusum::LegalMonetaryTotalTaxInclusiveAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-legal-monetary-total-tax-inclusive-amount\"\r\n formControlName=\"legalMonetaryTotalTaxInclusiveAmount\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"producer-receipt-legal-monetary-total-allowance-total-amount\"\r\n >\r\n {{ 'eDonusum::LegalMonetaryTotalAllowanceTotalAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-legal-monetary-total-allowance-total-amount\"\r\n formControlName=\"legalMonetaryTotalAllowanceTotalAmount\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-legal-monetary-total-charge-total-amount\">\r\n {{ 'eDonusum::LegalMonetaryTotalChargeTotalAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-legal-monetary-total-charge-total-amount\"\r\n formControlName=\"legalMonetaryTotalChargeTotalAmount\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"producer-receipt-legal-monetary-total-payable-rounding-amount\"\r\n >\r\n {{ 'eDonusum::LegalMonetaryTotalPayableRoundingAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-legal-monetary-total-payable-rounding-amount\"\r\n formControlName=\"legalMonetaryTotalPayableRoundingAmount\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-legal-monetary-total-payable-amount\">\r\n {{ 'eDonusum::LegalMonetaryTotalPayableAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-legal-monetary-total-payable-amount\"\r\n formControlName=\"legalMonetaryTotalPayableAmount\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"form-check mb-3\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"producer-receipt-is-canceled\"\r\n formControlName=\"isCanceled\"\r\n class=\"form-check-input\"\r\n />\r\n\r\n <label for=\"producer-receipt-is-canceled\" class=\"form-check-label\">\r\n {{ 'eDonusum::IsCanceled' | abpLocalization }}\r\n </label>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-cancel-code\">\r\n {{ 'eDonusum::CancelCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-cancel-code\"\r\n formControlName=\"cancelCode\"\r\n class=\"form-control\"\r\n maxlength=\"16\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-cancel-description\">\r\n {{ 'eDonusum::CancelDescription' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-cancel-description\"\r\n formControlName=\"cancelDescription\"\r\n class=\"form-control\"\r\n maxlength=\"512\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-status\">\r\n {{ 'eDonusum::Status' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-status\"\r\n formControlName=\"status\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-resource-doc-entry\">\r\n {{ 'eDonusum::ResourceDocEntry' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-resource-doc-entry\"\r\n formControlName=\"resourceDocEntry\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-resource-doc-type\">\r\n {{ 'eDonusum::ResourceDocType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-resource-doc-type\"\r\n formControlName=\"resourceDocType\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-entegrator-error-message\">\r\n {{ 'eDonusum::EntegratorErrorMessage' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-entegrator-error-message\"\r\n formControlName=\"entegratorErrorMessage\"\r\n class=\"form-control\"\r\n maxlength=\"512\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-resource-sub-doc-type\">\r\n {{ 'eDonusum::ResourceSubDocType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-resource-sub-doc-type\"\r\n formControlName=\"resourceSubDocType\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-resource-journal-entry\">\r\n {{ 'eDonusum::ResourceJournalEntry' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"producer-receipt-resource-journal-entry\"\r\n formControlName=\"resourceJournalEntry\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"form-check mb-3\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"producer-receipt-is-draft\"\r\n formControlName=\"isDraft\"\r\n class=\"form-check-input\"\r\n />\r\n\r\n <label for=\"producer-receipt-is-draft\" class=\"form-check-label\">\r\n {{ 'eDonusum::IsDraft' | abpLocalization }}\r\n </label>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"producer-receipt-selected-receipt-serial\">\r\n {{ 'eDonusum::SelectedReceiptSerial' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"producer-receipt-selected-receipt-serial\"\r\n formControlName=\"selectedReceiptSerial\"\r\n class=\"form-control\"\r\n maxlength=\"16\"\r\n />\r\n </div>\r\n </div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n\r\n <abp-button iconClass=\"fa fa-check\" buttonType=\"submit\" formName=\"producer-receipt\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n" }]
228
+ }], ctorParameters: function () { return [{ type: i1.ListService }, { type: i1.TrackByService }, { type: i2.ProducerReceiptService }, { type: i3.ConfirmationService }, { type: i4.FormBuilder }]; } });
229
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjZXItcmVjZWlwdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lLWRvbnVzdW0vc3JjL2xpYi9wcm9kdWNlci1yZWNlaXB0cy9wcm9kdWNlci1yZWNlaXB0L2NvbXBvbmVudHMvcHJvZHVjZXItcmVjZWlwdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lLWRvbnVzdW0vc3JjL2xpYi9wcm9kdWNlci1yZWNlaXB0cy9wcm9kdWNlci1yZWNlaXB0L2NvbXBvbmVudHMvcHJvZHVjZXItcmVjZWlwdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQU8sV0FBVyxFQUFrQyxNQUFNLGNBQWMsQ0FBQztBQUNoRixPQUFPLEVBQUUsWUFBWSxFQUF1QixNQUFNLHNCQUFzQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7O0FBYWxFLE1BQU0sT0FBTyx3QkFBd0I7SUFrQm5DLFlBQ2tCLElBQWlCLEVBQ2pCLEtBQXFCLEVBQ3JCLE9BQStCLEVBQ3ZDLFlBQWlDLEVBQ2pDLEVBQWU7UUFKUCxTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ2pCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLFlBQU8sR0FBUCxPQUFPLENBQXdCO1FBQ3ZDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUNqQyxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBdEJ6QixTQUFJLEdBQXVDO1lBQ3pDLEtBQUssRUFBRSxFQUFFO1lBQ1QsVUFBVSxFQUFFLENBQUM7U0FDZCxDQUFDO1FBRUYsWUFBTyxHQUFHLEVBQThCLENBQUM7UUFJekMsb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFFdkIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFcEIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7SUFVakIsQ0FBQztJQUVKLFFBQVE7UUFDTixNQUFNLE9BQU8sR0FBRyxDQUFDLEtBQTBCLEVBQUUsRUFBRSxDQUM3QyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztZQUNuQixHQUFHLEtBQUs7WUFDUixHQUFHLElBQUksQ0FBQyxPQUFPO1lBQ2YsVUFBVSxFQUFFLEtBQUssQ0FBQyxNQUFNO1NBQ3pCLENBQUMsQ0FBQztRQUVMLE1BQU0sT0FBTyxHQUFHLENBQUMsSUFBd0MsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBRWpGLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBOEIsQ0FBQztJQUNoRCxDQUFDO0lBRUQsU0FBUztRQUNQLE1BQU0sRUFDSixZQUFZLEVBQ1osZUFBZSxFQUNmLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsYUFBYSxFQUNiLElBQUksRUFDSixTQUFTLEVBQ1QsU0FBUyxFQUNULGtCQUFrQixFQUNsQixvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsOEJBQThCLEVBQzlCLGNBQWMsRUFDZCxnQkFBZ0IsRUFDaEIsMkJBQTJCLEVBQzNCLCtCQUErQixFQUMvQiw4QkFBOEIsRUFDOUIsMkJBQTJCLEVBQzNCLCtCQUErQixFQUMvQiw4QkFBOEIsRUFDOUIsMEJBQTBCLEVBQzFCLGlDQUFpQyxFQUNqQyxpQ0FBaUMsRUFDakMsOEJBQThCLEVBQzlCLG1CQUFtQixFQUNuQixxQ0FBcUMsRUFDckMscUNBQXFDLEVBQ3JDLGtDQUFrQyxFQUNsQyx1QkFBdUIsRUFDdkIscUNBQXFDLEVBQ3JDLHFDQUFxQyxFQUNyQyxrQ0FBa0MsRUFDbEMsdUJBQXVCLEVBQ3ZCLGdEQUFnRCxFQUNoRCxnREFBZ0QsRUFDaEQsNkNBQTZDLEVBQzdDLGtDQUFrQyxFQUNsQyxxQ0FBcUMsRUFDckMsb0NBQW9DLEVBQ3BDLG9DQUFvQyxFQUNwQyxzQ0FBc0MsRUFDdEMsbUNBQW1DLEVBQ25DLHVDQUF1QyxFQUN2QywrQkFBK0IsRUFDL0IsVUFBVSxFQUNWLFVBQVUsRUFDVixpQkFBaUIsRUFDakIsTUFBTSxFQUNOLGdCQUFnQixFQUNoQixlQUFlLEVBQ2Ysc0JBQXNCLEVBQ3RCLGtCQUFrQixFQUNsQixvQkFBb0IsRUFDcEIsT0FBTyxFQUNQLHFCQUFxQixHQUN0QixHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDO1FBRXhCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDeEIsWUFBWSxFQUFFLENBQUMsWUFBWSxJQUFJLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BGLGVBQWUsRUFBRSxDQUFDLGVBQWUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxRixTQUFTLEVBQUUsQ0FBQyxTQUFTLElBQUksSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDL0UsaUJBQWlCLEVBQUU7Z0JBQ2pCLGlCQUFpQixJQUFJLElBQUk7Z0JBQ3pCLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ2hEO1lBQ0QsYUFBYSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUMxQixJQUFJLEVBQUUsQ0FBQyxJQUFJLElBQUksSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDckUsU0FBUyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUN2RCxTQUFTLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ3ZELGtCQUFrQixFQUFFO2dCQUNsQixrQkFBa0IsSUFBSSxJQUFJO2dCQUMxQixDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNoRDtZQUNELG9CQUFvQixFQUFFO2dCQUNwQixvQkFBb0IsSUFBSSxJQUFJO2dCQUM1QixDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMvQztZQUNELGVBQWUsRUFBRSxDQUFDLGVBQWUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckUsbUJBQW1CLEVBQUUsQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0UsbUJBQW1CLEVBQUUsQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0UsOEJBQThCLEVBQUU7Z0JBQzlCLDhCQUE4QixJQUFJLElBQUk7Z0JBQ3RDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMxQjtZQUNELGNBQWMsRUFBRSxDQUFDLGNBQWMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDcEUsZ0JBQWdCLEVBQUUsQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ2hELDJCQUEyQixFQUFFO2dCQUMzQiwyQkFBMkIsSUFBSSxJQUFJO2dCQUNuQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDNUI7WUFDRCwrQkFBK0IsRUFBRTtnQkFDL0IsK0JBQStCLElBQUksSUFBSTtnQkFDdkMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQzNCO1lBQ0QsOEJBQThCLEVBQUU7Z0JBQzlCLDhCQUE4QixJQUFJLElBQUk7Z0JBQ3RDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUMzQjtZQUNELDJCQUEyQixFQUFFO2dCQUMzQiwyQkFBMkIsSUFBSSxJQUFJO2dCQUNuQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDNUI7WUFDRCwrQkFBK0IsRUFBRTtnQkFDL0IsK0JBQStCLElBQUksSUFBSTtnQkFDdkMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQzNCO1lBQ0QsOEJBQThCLEVBQUU7Z0JBQzlCLDhCQUE4QixJQUFJLElBQUk7Z0JBQ3RDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUMzQjtZQUNELDBCQUEwQixFQUFFO2dCQUMxQiwwQkFBMEIsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtnQkFDeEUsRUFBRTthQUNIO1lBQ0QsaUNBQWlDLEVBQUU7Z0JBQ2pDLGlDQUFpQyxJQUFJLElBQUk7Z0JBQ3pDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMxQjtZQUNELGlDQUFpQyxFQUFFO2dCQUNqQyxpQ0FBaUMsSUFBSSxJQUFJO2dCQUN6QyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDMUI7WUFDRCw4QkFBOEIsRUFBRSxDQUFDLDhCQUE4QixJQUFJLElBQUksRUFBRSxFQUFFLENBQUM7WUFDNUUsbUJBQW1CLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNyRixxQ0FBcUMsRUFBRTtnQkFDckMscUNBQXFDLElBQUksSUFBSTtnQkFDN0MsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzFCO1lBQ0QscUNBQXFDLEVBQUU7Z0JBQ3JDLHFDQUFxQyxJQUFJLElBQUk7Z0JBQzdDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMxQjtZQUNELGtDQUFrQyxFQUFFO2dCQUNsQyxrQ0FBa0MsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsa0NBQWtDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtnQkFDeEYsRUFBRTthQUNIO1lBQ0QsdUJBQXVCLEVBQUU7Z0JBQ3ZCLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO2dCQUNsRSxFQUFFO2FBQ0g7WUFDRCxxQ0FBcUMsRUFBRTtnQkFDckMscUNBQXFDLElBQUksSUFBSTtnQkFDN0MsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzFCO1lBQ0QscUNBQXFDLEVBQUU7Z0JBQ3JDLHFDQUFxQyxJQUFJLElBQUk7Z0JBQzdDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMxQjtZQUNELGtDQUFrQyxFQUFFLENBQUMsa0NBQWtDLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNwRix1QkFBdUIsRUFBRTtnQkFDdkIsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7Z0JBQ2xFLEVBQUU7YUFDSDtZQUNELGdEQUFnRCxFQUFFO2dCQUNoRCxnREFBZ0QsSUFBSSxJQUFJO2dCQUN4RCxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDMUI7WUFDRCxnREFBZ0QsRUFBRTtnQkFDaEQsZ0RBQWdELElBQUksSUFBSTtnQkFDeEQsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzFCO1lBQ0QsNkNBQTZDLEVBQUU7Z0JBQzdDLDZDQUE2QyxJQUFJLElBQUk7Z0JBQ3JELEVBQUU7YUFDSDtZQUNELGtDQUFrQyxFQUFFO2dCQUNsQyxrQ0FBa0MsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsa0NBQWtDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtnQkFDeEYsRUFBRTthQUNIO1lBQ0QscUNBQXFDLEVBQUUsQ0FBQyxxQ0FBcUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQzFGLG9DQUFvQyxFQUFFLENBQUMsb0NBQW9DLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUN4RixvQ0FBb0MsRUFBRSxDQUFDLG9DQUFvQyxJQUFJLElBQUksRUFBRSxFQUFFLENBQUM7WUFDeEYsc0NBQXNDLEVBQUUsQ0FBQyxzQ0FBc0MsSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQzVGLG1DQUFtQyxFQUFFLENBQUMsbUNBQW1DLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUN0Rix1Q0FBdUMsRUFBRTtnQkFDdkMsdUNBQXVDLElBQUksSUFBSTtnQkFDL0MsRUFBRTthQUNIO1lBQ0QsK0JBQStCLEVBQUUsQ0FBQywrQkFBK0IsSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQzlFLFVBQVUsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDdkIsVUFBVSxFQUFFLENBQUMsVUFBVSxJQUFJLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM1RCxpQkFBaUIsRUFBRSxDQUFDLGlCQUFpQixJQUFJLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMzRSxNQUFNLEVBQUUsQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUM1QixnQkFBZ0IsRUFBRSxDQUFDLGdCQUFnQixJQUFJLElBQUksRUFBRSxFQUFFLENBQUM7WUFDaEQsZUFBZSxFQUFFLENBQUMsZUFBZSxJQUFJLElBQUksRUFBRSxFQUFFLENBQUM7WUFDOUMsc0JBQXNCLEVBQUUsQ0FBQyxzQkFBc0IsSUFBSSxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDckYsa0JBQWtCLEVBQUUsQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ3BELG9CQUFvQixFQUFFLENBQUMsb0JBQW9CLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUN4RCxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ3BCLHFCQUFxQixFQUFFLENBQUMscUJBQXFCLElBQUksSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ25GLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUU5QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUTtZQUMzQixDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3BDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLO2dCQUNsQixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQjthQUNqRCxDQUFDO1lBQ0osQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFekMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFFeEIsT0FBTzthQUNKLElBQUksQ0FDSCxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxDQUFDLEVBQzFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FDM0I7YUFDQSxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQTBCO1FBQy9CLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQTBCO1FBQy9CLElBQUksQ0FBQyxZQUFZO2FBQ2QsSUFBSSxDQUFDLHFDQUFxQyxFQUFFLHNCQUFzQixFQUFFO1lBQ25FLHlCQUF5QixFQUFFLEVBQUU7U0FDOUIsQ0FBQzthQUNELElBQUksQ0FDSCxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEtBQUssWUFBWSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFDeEQsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUNoRDthQUNBLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7O3FIQWxTVSx3QkFBd0I7eUdBQXhCLHdCQUF3QiwrQ0FKeEIsQ0FBQyxXQUFXLEVBQUUsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQywwQkNmOUUseW5rSUFtakdBOzJGRGhpR2Esd0JBQXdCO2tCQVBwQyxTQUFTOytCQUNFLHNCQUFzQixtQkFDZix1QkFBdUIsQ0FBQyxPQUFPLGFBQ3JDLENBQUMsV0FBVyxFQUFFLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQlAsIExpc3RTZXJ2aWNlLCBQYWdlZFJlc3VsdER0bywgVHJhY2tCeVNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb24sIENvbmZpcm1hdGlvblNlcnZpY2UgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XHJcbmltcG9ydCB7IERhdGVBZGFwdGVyIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQvZXh0ZW5zaW9ucyc7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBOZ2JEYXRlQWRhcHRlciB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgZmlsdGVyLCBmaW5hbGl6ZSwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB0eXBlIHtcclxuICBHZXRQcm9kdWNlclJlY2VpcHRzSW5wdXQsXHJcbiAgUHJvZHVjZXJSZWNlaXB0RHRvLFxyXG59IGZyb20gJy4uLy4uLy4uL3Byb3h5L3Byb2R1Y2VyLXJlY2VpcHRzL21vZGVscyc7XHJcbmltcG9ydCB7IFByb2R1Y2VyUmVjZWlwdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm94eS9wcm9kdWNlci1yZWNlaXB0cy9wcm9kdWNlci1yZWNlaXB0LnNlcnZpY2UnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1wcm9kdWNlci1yZWNlaXB0JyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXHJcbiAgcHJvdmlkZXJzOiBbTGlzdFNlcnZpY2UsIHsgcHJvdmlkZTogTmdiRGF0ZUFkYXB0ZXIsIHVzZUNsYXNzOiBEYXRlQWRhcHRlciB9XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjZXItcmVjZWlwdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVzOiBbXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFByb2R1Y2VyUmVjZWlwdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgZGF0YTogUGFnZWRSZXN1bHREdG88UHJvZHVjZXJSZWNlaXB0RHRvPiA9IHtcclxuICAgIGl0ZW1zOiBbXSxcclxuICAgIHRvdGFsQ291bnQ6IDAsXHJcbiAgfTtcclxuXHJcbiAgZmlsdGVycyA9IHt9IGFzIEdldFByb2R1Y2VyUmVjZWlwdHNJbnB1dDtcclxuXHJcbiAgZm9ybTogRm9ybUdyb3VwO1xyXG5cclxuICBpc0ZpbHRlcnNIaWRkZW4gPSB0cnVlO1xyXG5cclxuICBpc01vZGFsQnVzeSA9IGZhbHNlO1xyXG5cclxuICBpc01vZGFsT3BlbiA9IGZhbHNlO1xyXG5cclxuICBzZWxlY3RlZD86IFByb2R1Y2VyUmVjZWlwdER0bztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgbGlzdDogTGlzdFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgdHJhY2s6IFRyYWNrQnlTZXJ2aWNlLFxyXG4gICAgcHVibGljIHJlYWRvbmx5IHNlcnZpY2U6IFByb2R1Y2VyUmVjZWlwdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvbmZpcm1hdGlvbjogQ29uZmlybWF0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGNvbnN0IGdldERhdGEgPSAocXVlcnk6IEFCUC5QYWdlUXVlcnlQYXJhbXMpID0+XHJcbiAgICAgIHRoaXMuc2VydmljZS5nZXRMaXN0KHtcclxuICAgICAgICAuLi5xdWVyeSxcclxuICAgICAgICAuLi50aGlzLmZpbHRlcnMsXHJcbiAgICAgICAgZmlsdGVyVGV4dDogcXVlcnkuZmlsdGVyLFxyXG4gICAgICB9KTtcclxuXHJcbiAgICBjb25zdCBzZXREYXRhID0gKGxpc3Q6IFBhZ2VkUmVzdWx0RHRvPFByb2R1Y2VyUmVjZWlwdER0bz4pID0+ICh0aGlzLmRhdGEgPSBsaXN0KTtcclxuXHJcbiAgICB0aGlzLmxpc3QuaG9va1RvUXVlcnkoZ2V0RGF0YSkuc3Vic2NyaWJlKHNldERhdGEpO1xyXG4gIH1cclxuXHJcbiAgY2xlYXJGaWx0ZXJzKCkge1xyXG4gICAgdGhpcy5maWx0ZXJzID0ge30gYXMgR2V0UHJvZHVjZXJSZWNlaXB0c0lucHV0O1xyXG4gIH1cclxuXHJcbiAgYnVpbGRGb3JtKCkge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICB1YmxWZXJzaW9uSWQsXHJcbiAgICAgIGN1c3RvbWl6YXRpb25JZCxcclxuICAgICAgcHJvZmlsZUlkLFxyXG4gICAgICBwcm9kdWNlclJlY2VpcHRJRCxcclxuICAgICAgY29weUluZGljYXRvcixcclxuICAgICAgdXVJZCxcclxuICAgICAgaXNzdWVEYXRlLFxyXG4gICAgICBpc3N1ZVRpbWUsXHJcbiAgICAgIGNyZWRpdE5vdGVUeXBlQ29kZSxcclxuICAgICAgZG9jdW1lbnRDdXJyZW5jeUNvZGUsXHJcbiAgICAgIHRheEN1cnJlbmN5Q29kZSxcclxuICAgICAgcHJpY2luZ0N1cnJlbmN5Q29kZSxcclxuICAgICAgcGF5bWVudEN1cnJlbmN5Q29kZSxcclxuICAgICAgcGF5bWVudEFsdGVybmF0aXZlQ3VycmVuY3lDb2RlLFxyXG4gICAgICBhY2NvdW50aW5nQ29zdCxcclxuICAgICAgbGluZUNvdW50TnVtZXJpYyxcclxuICAgICAgYWNjb3VudGluZ1N1cHBsaWVyUGFydHlOYW1lLFxyXG4gICAgICBhY2NvdW50aW5nU3VwcGxpZXJQYXJ0eVNjaGVtZUlELFxyXG4gICAgICBhY2NvdW50aW5nU3VwcGxpZXJQYXJ0eVZLTlRDS04sXHJcbiAgICAgIGFjY291bnRpbmdDdXN0b21lclBhcnR5TmFtZSxcclxuICAgICAgYWNjb3VudGluZ0N1c3RvbWVyUGFydHlTY2hlbWVJRCxcclxuICAgICAgYWNjb3VudGluZ0N1c3RvbWVyUGFydHlWS05UQ0tOLFxyXG4gICAgICBkZWxpdmVyeUFjdHVhbERlbGl2ZXJ5RGF0ZSxcclxuICAgICAgdGF4RXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlLFxyXG4gICAgICB0YXhFeGNoYW5nZVJhdGVUYXJnZXRDdXJyZW5jeUNvZGUsXHJcbiAgICAgIHRheEV4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZSxcclxuICAgICAgdGF4RXhjaGFuZ2VSYXRlRGF0ZSxcclxuICAgICAgcHJpY2luZ0V4Y2hhbmdlUmF0ZVNvdXJjZUN1cnJlbmN5Q29kZSxcclxuICAgICAgcHJpY2luZ0V4Y2hhbmdlUmF0ZVRhcmdldEN1cnJlbmN5Q29kZSxcclxuICAgICAgcHJpY2luZ0V4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZSxcclxuICAgICAgcHJpY2luZ0V4Y2hhbmdlUmF0ZURhdGUsXHJcbiAgICAgIHBheW1lbnRFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGUsXHJcbiAgICAgIHBheW1lbnRFeGNoYW5nZVJhdGVUYXJnZXRDdXJyZW5jeUNvZGUsXHJcbiAgICAgIHBheW1lbnRFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGUsXHJcbiAgICAgIHBheW1lbnRFeGNoYW5nZVJhdGVEYXRlLFxyXG4gICAgICBwYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGUsXHJcbiAgICAgIHBheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZVRhcmdldEN1cnJlbmN5Q29kZSxcclxuICAgICAgcGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlLFxyXG4gICAgICBwYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVEYXRlLFxyXG4gICAgICBsZWdhbE1vbmV0YXJ5VG90YWxMaW5lRXh0ZW5zaW9uQW1vdW50LFxyXG4gICAgICBsZWdhbE1vbmV0YXJ5VG90YWxUYXhFeGNsdXNpdmVBbW91bnQsXHJcbiAgICAgIGxlZ2FsTW9uZXRhcnlUb3RhbFRheEluY2x1c2l2ZUFtb3VudCxcclxuICAgICAgbGVnYWxNb25ldGFyeVRvdGFsQWxsb3dhbmNlVG90YWxBbW91bnQsXHJcbiAgICAgIGxlZ2FsTW9uZXRhcnlUb3RhbENoYXJnZVRvdGFsQW1vdW50LFxyXG4gICAgICBsZWdhbE1vbmV0YXJ5VG90YWxQYXlhYmxlUm91bmRpbmdBbW91bnQsXHJcbiAgICAgIGxlZ2FsTW9uZXRhcnlUb3RhbFBheWFibGVBbW91bnQsXHJcbiAgICAgIGlzQ2FuY2VsZWQsXHJcbiAgICAgIGNhbmNlbENvZGUsXHJcbiAgICAgIGNhbmNlbERlc2NyaXB0aW9uLFxyXG4gICAgICBzdGF0dXMsXHJcbiAgICAgIHJlc291cmNlRG9jRW50cnksXHJcbiAgICAgIHJlc291cmNlRG9jVHlwZSxcclxuICAgICAgZW50ZWdyYXRvckVycm9yTWVzc2FnZSxcclxuICAgICAgcmVzb3VyY2VTdWJEb2NUeXBlLFxyXG4gICAgICByZXNvdXJjZUpvdXJuYWxFbnRyeSxcclxuICAgICAgaXNEcmFmdCxcclxuICAgICAgc2VsZWN0ZWRSZWNlaXB0U2VyaWFsLFxyXG4gICAgfSA9IHRoaXMuc2VsZWN0ZWQgfHwge307XHJcblxyXG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIHVibFZlcnNpb25JZDogW3VibFZlcnNpb25JZCA/PyBudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoOCldXSxcclxuICAgICAgY3VzdG9taXphdGlvbklkOiBbY3VzdG9taXphdGlvbklkID8/IG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCg4KV1dLFxyXG4gICAgICBwcm9maWxlSWQ6IFtwcm9maWxlSWQgPz8gbnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDMyKV1dLFxyXG4gICAgICBwcm9kdWNlclJlY2VpcHRJRDogW1xyXG4gICAgICAgIHByb2R1Y2VyUmVjZWlwdElEID8/IG51bGwsXHJcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDMyKV0sXHJcbiAgICAgIF0sXHJcbiAgICAgIGNvcHlJbmRpY2F0b3I6IFtmYWxzZSwgW11dLFxyXG4gICAgICB1dUlkOiBbdXVJZCA/PyBudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoNjQpXV0sXHJcbiAgICAgIGlzc3VlRGF0ZTogW2lzc3VlRGF0ZSA/IG5ldyBEYXRlKGlzc3VlRGF0ZSkgOiBudWxsLCBbXV0sXHJcbiAgICAgIGlzc3VlVGltZTogW2lzc3VlVGltZSA/IG5ldyBEYXRlKGlzc3VlVGltZSkgOiBudWxsLCBbXV0sXHJcbiAgICAgIGNyZWRpdE5vdGVUeXBlQ29kZTogW1xyXG4gICAgICAgIGNyZWRpdE5vdGVUeXBlQ29kZSA/PyBudWxsLFxyXG4gICAgICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCgzMildLFxyXG4gICAgICBdLFxyXG4gICAgICBkb2N1bWVudEN1cnJlbmN5Q29kZTogW1xyXG4gICAgICAgIGRvY3VtZW50Q3VycmVuY3lDb2RlID8/IG51bGwsXHJcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDMpXSxcclxuICAgICAgXSxcclxuICAgICAgdGF4Q3VycmVuY3lDb2RlOiBbdGF4Q3VycmVuY3lDb2RlID8/IG51bGwsIFtWYWxpZGF0b3JzLm1heExlbmd0aCgzKV1dLFxyXG4gICAgICBwcmljaW5nQ3VycmVuY3lDb2RlOiBbcHJpY2luZ0N1cnJlbmN5Q29kZSA/PyBudWxsLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoMyldXSxcclxuICAgICAgcGF5bWVudEN1cnJlbmN5Q29kZTogW3BheW1lbnRDdXJyZW5jeUNvZGUgPz8gbnVsbCwgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDMpXV0sXHJcbiAgICAgIHBheW1lbnRBbHRlcm5hdGl2ZUN1cnJlbmN5Q29kZTogW1xyXG4gICAgICAgIHBheW1lbnRBbHRlcm5hdGl2ZUN1cnJlbmN5Q29kZSA/PyBudWxsLFxyXG4gICAgICAgIFtWYWxpZGF0b3JzLm1heExlbmd0aCgzKV0sXHJcbiAgICAgIF0sXHJcbiAgICAgIGFjY291bnRpbmdDb3N0OiBbYWNjb3VudGluZ0Nvc3QgPz8gbnVsbCwgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDMyKV1dLFxyXG4gICAgICBsaW5lQ291bnROdW1lcmljOiBbbGluZUNvdW50TnVtZXJpYyA/PyBudWxsLCBbXV0sXHJcbiAgICAgIGFjY291bnRpbmdTdXBwbGllclBhcnR5TmFtZTogW1xyXG4gICAgICAgIGFjY291bnRpbmdTdXBwbGllclBhcnR5TmFtZSA/PyBudWxsLFxyXG4gICAgICAgIFtWYWxpZGF0b3JzLm1heExlbmd0aCg1MTIpXSxcclxuICAgICAgXSxcclxuICAgICAgYWNjb3VudGluZ1N1cHBsaWVyUGFydHlTY2hlbWVJRDogW1xyXG4gICAgICAgIGFjY291bnRpbmdTdXBwbGllclBhcnR5U2NoZW1lSUQgPz8gbnVsbCxcclxuICAgICAgICBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTYpXSxcclxuICAgICAgXSxcclxuICAgICAgYWNjb3VudGluZ1N1cHBsaWVyUGFydHlWS05UQ0tOOiBbXHJcbiAgICAgICAgYWNjb3VudGluZ1N1cHBsaWVyUGFydHlWS05UQ0tOID8/IG51bGwsXHJcbiAgICAgICAgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDE2KV0sXHJcbiAgICAgIF0sXHJcbiAgICAgIGFjY291bnRpbmdDdXN0b21lclBhcnR5TmFtZTogW1xyXG4gICAgICAgIGFjY291bnRpbmdDdXN0b21lclBhcnR5TmFtZSA/PyBudWxsLFxyXG4gICAgICAgIFtWYWxpZGF0b3JzLm1heExlbmd0aCg1MTIpXSxcclxuICAgICAgXSxcclxuICAgICAgYWNjb3VudGluZ0N1c3RvbWVyUGFydHlTY2hlbWVJRDogW1xyXG4gICAgICAgIGFjY291bnRpbmdDdXN0b21lclBhcnR5U2NoZW1lSUQgPz8gbnVsbCxcclxuICAgICAgICBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTYpXSxcclxuICAgICAgXSxcclxuICAgICAgYWNjb3VudGluZ0N1c3RvbWVyUGFydHlWS05UQ0tOOiBbXHJcbiAgICAgICAgYWNjb3VudGluZ0N1c3RvbWVyUGFydHlWS05UQ0tOID8/IG51bGwsXHJcbiAgICAgICAgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDE2KV0sXHJcbiAgICAgIF0sXHJcbiAgICAgIGRlbGl2ZXJ5QWN0dWFsRGVsaXZlcnlEYXRlOiBbXHJcbiAgICAgICAgZGVsaXZlcnlBY3R1YWxEZWxpdmVyeURhdGUgPyBuZXcgRGF0ZShkZWxpdmVyeUFjdHVhbERlbGl2ZXJ5RGF0ZSkgOiBudWxsLFxyXG4gICAgICAgIFtdLFxyXG4gICAgICBdLFxyXG4gICAgICB0YXhFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGU6IFtcclxuICAgICAgICB0YXhFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGUgPz8gbnVsbCxcclxuICAgICAgICBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoMyldLFxyXG4gICAgICBdLFxyXG4gICAgICB0YXhFeGNoYW5nZVJhdGVUYXJnZXRDdXJyZW5jeUNvZGU6IFtcclxuICAgICAgICB0YXhFeGNoYW5nZVJhdGVUYXJnZXRDdXJyZW5jeUNvZGUgPz8gbnVsbCxcclxuICAgICAgICBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoMyldLFxyXG4gICAgICBdLFxyXG4gICAgICB0YXhFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGU6IFt0YXhFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGUgPz8gbnVsbCwgW11dLFxyXG4gICAgICB0YXhFeGNoYW5nZVJhdGVEYXRlOiBbdGF4RXhjaGFuZ2VSYXRlRGF0ZSA/IG5ldyBEYXRlKHRheEV4Y2hhbmdlUmF0ZURhdGUpIDogbnVsbCwgW11dLFxyXG4gICAgICBwcmljaW5nRXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlOiBbXHJcbiAgICAgICAgcHJpY2luZ0V4Y2hhbmdlUmF0ZVNvdXJjZUN1cnJlbmN5Q29kZSA/PyBudWxsLFxyXG4gICAgICAgIFtWYWxpZGF0b3JzLm1heExlbmd0aCgzKV0sXHJcbiAgICAgIF0sXHJcbiAgICAgIHByaWNpbmdFeGNoYW5nZVJhdGVUYXJnZXRDdXJyZW5jeUNvZGU6IFtcclxuICAgICAgICBwcmljaW5nRXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlID8/IG51bGwsXHJcbiAgICAgICAgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDMpXSxcclxuICAgICAgXSxcclxuICAgICAgcHJpY2luZ0V4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZTogW1xyXG4gICAgICAgIHByaWNpbmdFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGUgPyBuZXcgRGF0ZShwcmljaW5nRXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlKSA6IG51bGwsXHJcbiAgICAgICAgW10sXHJcbiAgICAgIF0sXHJcbiAgICAgIHByaWNpbmdFeGNoYW5nZVJhdGVEYXRlOiBbXHJcbiAgICAgICAgcHJpY2luZ0V4Y2hhbmdlUmF0ZURhdGUgPyBuZXcgRGF0ZShwcmljaW5nRXhjaGFuZ2VSYXRlRGF0ZSkgOiBudWxsLFxyXG4gICAgICAgIFtdLFxyXG4gICAgICBdLFxyXG4gICAgICBwYXltZW50RXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlOiBbXHJcbiAgICAgICAgcGF5bWVudEV4Y2hhbmdlUmF0ZVNvdXJjZUN1cnJlbmN5Q29kZSA/PyBudWxsLFxyXG4gICAgICAgIFtWYWxpZGF0b3JzLm1heExlbmd0aCgzKV0sXHJcbiAgICAgIF0sXHJcbiAgICAgIHBheW1lbnRFeGNoYW5nZVJhdGVUYXJnZXRDdXJyZW5jeUNvZGU6IFtcclxuICAgICAgICBwYXltZW50RXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlID8/IG51bGwsXHJcbiAgICAgICAgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDMpXSxcclxuICAgICAgXSxcclxuICAgICAgcGF5bWVudEV4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZTogW3BheW1lbnRFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGUgPz8gbnVsbCwgW11dLFxyXG4gICAgICBwYXltZW50RXhjaGFuZ2VSYXRlRGF0ZTogW1xyXG4gICAgICAgIHBheW1lbnRFeGNoYW5nZVJhdGVEYXRlID8gbmV3IERhdGUocGF5bWVudEV4Y2hhbmdlUmF0ZURhdGUpIDogbnVsbCxcclxuICAgICAgICBbXSxcclxuICAgICAgXSxcclxuICAgICAgcGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlOiBbXHJcbiAgICAgICAgcGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlID8/IG51bGwsXHJcbiAgICAgICAgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDMpXSxcclxuICAgICAgXSxcclxuICAgICAgcGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlOiBbXHJcbiAgICAgICAgcGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlID8/IG51bGwsXHJcbiAgICAgICAgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDMpXSxcclxuICAgICAgXSxcclxuICAgICAgcGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlOiBbXHJcbiAgICAgICAgcGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlID8/IG51bGwsXHJcbiAgICAgICAgW10sXHJcbiAgICAgIF0sXHJcbiAgICAgIHBheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZURhdGU6IFtcclxuICAgICAgICBwYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVEYXRlID8gbmV3IERhdGUocGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlRGF0ZSkgOiBudWxsLFxyXG4gICAgICAgIFtdLFxyXG4gICAgICBdLFxyXG4gICAgICBsZWdhbE1vbmV0YXJ5VG90YWxMaW5lRXh0ZW5zaW9uQW1vdW50OiBbbGVnYWxNb25ldGFyeVRvdGFsTGluZUV4dGVuc2lvbkFtb3VudCA/PyBudWxsLCBbXV0sXHJcbiAgICAgIGxlZ2FsTW9uZXRhcnlUb3RhbFRheEV4Y2x1c2l2ZUFtb3VudDogW2xlZ2FsTW9uZXRhcnlUb3RhbFRheEV4Y2x1c2l2ZUFtb3VudCA/PyBudWxsLCBbXV0sXHJcbiAgICAgIGxlZ2FsTW9uZXRhcnlUb3RhbFRheEluY2x1c2l2ZUFtb3VudDogW2xlZ2FsTW9uZXRhcnlUb3RhbFRheEluY2x1c2l2ZUFtb3VudCA/PyBudWxsLCBbXV0sXHJcbiAgICAgIGxlZ2FsTW9uZXRhcnlUb3RhbEFsbG93YW5jZVRvdGFsQW1vdW50OiBbbGVnYWxNb25ldGFyeVRvdGFsQWxsb3dhbmNlVG90YWxBbW91bnQgPz8gbnVsbCwgW11dLFxyXG4gICAgICBsZWdhbE1vbmV0YXJ5VG90YWxDaGFyZ2VUb3RhbEFtb3VudDogW2xlZ2FsTW9uZXRhcnlUb3RhbENoYXJnZVRvdGFsQW1vdW50ID8/IG51bGwsIFtdXSxcclxuICAgICAgbGVnYWxNb25ldGFyeVRvdGFsUGF5YWJsZVJvdW5kaW5nQW1vdW50OiBbXHJcbiAgICAgICAgbGVnYWxNb25ldGFyeVRvdGFsUGF5YWJsZVJvdW5kaW5nQW1vdW50ID8/IG51bGwsXHJcbiAgICAgICAgW10sXHJcbiAgICAgIF0sXHJcbiAgICAgIGxlZ2FsTW9uZXRhcnlUb3RhbFBheWFibGVBbW91bnQ6IFtsZWdhbE1vbmV0YXJ5VG90YWxQYXlhYmxlQW1vdW50ID8/IG51bGwsIFtdXSxcclxuICAgICAgaXNDYW5jZWxlZDogW2ZhbHNlLCBbXV0sXHJcbiAgICAgIGNhbmNlbENvZGU6IFtjYW5jZWxDb2RlID8/IG51bGwsIFtWYWxpZGF0b3JzLm1heExlbmd0aCgxNildXSxcclxuICAgICAgY2FuY2VsRGVzY3JpcHRpb246IFtjYW5jZWxEZXNjcmlwdGlvbiA/PyBudWxsLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoNTEyKV1dLFxyXG4gICAgICBzdGF0dXM6IFtzdGF0dXMgPz8gbnVsbCwgW11dLFxyXG4gICAgICByZXNvdXJjZURvY0VudHJ5OiBbcmVzb3VyY2VEb2NFbnRyeSA/PyBudWxsLCBbXV0sXHJcbiAgICAgIHJlc291cmNlRG9jVHlwZTogW3Jlc291cmNlRG9jVHlwZSA/PyBudWxsLCBbXV0sXHJcbiAgICAgIGVudGVncmF0b3JFcnJvck1lc3NhZ2U6IFtlbnRlZ3JhdG9yRXJyb3JNZXNzYWdlID8/IG51bGwsIFtWYWxpZGF0b3JzLm1heExlbmd0aCg1MTIpXV0sXHJcbiAgICAgIHJlc291cmNlU3ViRG9jVHlwZTogW3Jlc291cmNlU3ViRG9jVHlwZSA/PyBudWxsLCBbXV0sXHJcbiAgICAgIHJlc291cmNlSm91cm5hbEVudHJ5OiBbcmVzb3VyY2VKb3VybmFsRW50cnkgPz8gbnVsbCwgW11dLFxyXG4gICAgICBpc0RyYWZ0OiBbZmFsc2UsIFtdXSxcclxuICAgICAgc2VsZWN0ZWRSZWNlaXB0U2VyaWFsOiBbc2VsZWN0ZWRSZWNlaXB0U2VyaWFsID8/IG51bGwsIFtWYWxpZGF0b3JzLm1heExlbmd0aCgxNildXSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaGlkZUZvcm0oKSB7XHJcbiAgICB0aGlzLmlzTW9kYWxPcGVuID0gZmFsc2U7XHJcbiAgICB0aGlzLmZvcm0ucmVzZXQoKTtcclxuICB9XHJcblxyXG4gIHNob3dGb3JtKCkge1xyXG4gICAgdGhpcy5idWlsZEZvcm0oKTtcclxuICAgIHRoaXMuaXNNb2RhbE9wZW4gPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgc3VibWl0Rm9ybSgpIHtcclxuICAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IHJlcXVlc3QgPSB0aGlzLnNlbGVjdGVkXHJcbiAgICAgID8gdGhpcy5zZXJ2aWNlLnVwZGF0ZSh0aGlzLnNlbGVjdGVkLmlkLCB7XHJcbiAgICAgICAgICAuLi50aGlzLmZvcm0udmFsdWUsXHJcbiAgICAgICAgICBjb25jdXJyZW5jeVN0YW1wOiB0aGlzLnNlbGVjdGVkLmNvbmN1cnJlbmN5U3RhbXAsXHJcbiAgICAgICAgfSlcclxuICAgICAgOiB0aGlzLnNlcnZpY2UuY3JlYXRlKHRoaXMuZm9ybS52YWx1ZSk7XHJcblxyXG4gICAgdGhpcy5pc01vZGFsQnVzeSA9IHRydWU7XHJcblxyXG4gICAgcmVxdWVzdFxyXG4gICAgICAucGlwZShcclxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiAodGhpcy5pc01vZGFsQnVzeSA9IGZhbHNlKSksXHJcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuaGlkZUZvcm0oKSlcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKHRoaXMubGlzdC5nZXQpO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZCA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2hvd0Zvcm0oKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZShyZWNvcmQ6IFByb2R1Y2VyUmVjZWlwdER0bykge1xyXG4gICAgdGhpcy5zZWxlY3RlZCA9IHJlY29yZDtcclxuICAgIHRoaXMuc2hvd0Zvcm0oKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZShyZWNvcmQ6IFByb2R1Y2VyUmVjZWlwdER0bykge1xyXG4gICAgdGhpcy5jb25maXJtYXRpb25cclxuICAgICAgLndhcm4oJ2VEb251c3VtOjpEZWxldGVDb25maXJtYXRpb25NZXNzYWdlJywgJ2VEb251c3VtOjpBcmVZb3VTdXJlJywge1xyXG4gICAgICAgIG1lc3NhZ2VMb2NhbGl6YXRpb25QYXJhbXM6IFtdLFxyXG4gICAgICB9KVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBmaWx0ZXIoc3RhdHVzID0+IHN0YXR1cyA9PT0gQ29uZmlybWF0aW9uLlN0YXR1cy5jb25maXJtKSxcclxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5zZXJ2aWNlLmRlbGV0ZShyZWNvcmQuaWQpKVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUodGhpcy5saXN0LmdldCk7XHJcbiAgfVxyXG59XHJcbiIsIjxhYnAtcGFnZSBbdGl0bGVdPVwiJ2VEb251c3VtOjpQcm9kdWNlclJlY2VpcHRzJyB8IGFicExvY2FsaXphdGlvblwiPlxyXG4gIDxhYnAtcGFnZS10b29sYmFyLWNvbnRhaW5lciBjbGFzcz1cImNvbFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInRleHQtbGctZW5kIHB0LTJcIj5cclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgICphYnBQZXJtaXNzaW9uPVwiJ2VEb251c3VtLlByb2R1Y2VyUmVjZWlwdHMuQ3JlYXRlJ1wiXHJcbiAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtXCJcclxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAoY2xpY2spPVwiY3JlYXRlKClcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1wbHVzIG1lLTFcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAge3sgJ2VEb251c3VtOjpOZXdQcm9kdWNlclJlY2VpcHQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9hYnAtcGFnZS10b29sYmFyLWNvbnRhaW5lcj5cclxuXHJcbiAgPGFicC1hZHZhbmNlZC1lbnRpdHktZmlsdGVycyBsb2NhbGl6YXRpb25Tb3VyY2VOYW1lPVwiZURvbnVzdW1cIiBbbGlzdF09XCJsaXN0XCI+XHJcbiAgICA8YWJwLWFkdmFuY2VkLWVudGl0eS1maWx0ZXJzLWZvcm0+XHJcbiAgICAgIDxmb3JtICNmaWx0ZXJGb3JtIChrZXl1cC5lbnRlcik9XCJsaXN0LmdldCgpXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJ1YmxWZXJzaW9uSWRGaWx0ZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6VWJsVmVyc2lvbklkJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJ1YmxWZXJzaW9uSWRGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLnVibFZlcnNpb25JZFwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImN1c3RvbWl6YXRpb25JZEZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpDdXN0b21pemF0aW9uSWQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cImN1c3RvbWl6YXRpb25JZEZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuY3VzdG9taXphdGlvbklkXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwicHJvZmlsZUlkRmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OlByb2ZpbGVJZCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwicHJvZmlsZUlkRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5wcm9maWxlSWRcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwcm9kdWNlclJlY2VpcHRJREZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpQcm9kdWNlclJlY2VpcHRJRCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwicHJvZHVjZXJSZWNlaXB0SURGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLnByb2R1Y2VyUmVjZWlwdElEXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiY29weUluZGljYXRvckZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpDb3B5SW5kaWNhdG9yJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxzZWxlY3RcclxuICAgICAgICAgICAgICAgIG5hbWU9XCJjb3B5SW5kaWNhdG9yXCJcclxuICAgICAgICAgICAgICAgIGlkPVwiY29weUluZGljYXRvckZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tc2VsZWN0IGZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuY29weUluZGljYXRvclwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJsaXN0LmdldCgpXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cIlwiPjwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJ0cnVlXCI+e3sgJ0FicFVpOjpZZXMnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cImZhbHNlXCI+e3sgJ0FicFVpOjpObycgfCBhYnBMb2NhbGl6YXRpb24gfX08L29wdGlvbj5cclxuICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwidXVJZEZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpVdUlkJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJ1dUlkRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy51dUlkXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWluSXNzdWVEYXRlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1pbklzc3VlRGF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIiB2YWxpZGF0aW9uVGFyZ2V0PlxyXG4gICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgIGlkPVwibWluSXNzdWVEYXRlXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICAjbWluSXNzdWVEYXRlSW5wdXRcclxuICAgICAgICAgICAgICAgICAgI21pbklzc3VlRGF0ZURhdGVwaWNrZXI9XCJuZ2JEYXRlcGlja2VyXCJcclxuICAgICAgICAgICAgICAgICAgbmFtZT1cIm1pbklzc3VlRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgIG5nYkRhdGVwaWNrZXJcclxuICAgICAgICAgICAgICAgICAgY29udGFpbmVyPVwiYm9keVwiXHJcbiAgICAgICAgICAgICAgICAgIHJlYWRvbmx5XHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJtaW5Jc3N1ZURhdGVEYXRlcGlja2VyLnRvZ2dsZSgpXCJcclxuICAgICAgICAgICAgICAgICAgKGtleXVwLnNwYWNlKT1cIm1pbklzc3VlRGF0ZURhdGVwaWNrZXIudG9nZ2xlKClcIlxyXG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuaXNzdWVEYXRlTWluXCJcclxuICAgICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibWluSXNzdWVEYXRlSW5wdXQudmFsdWVcIiBjbGFzcz1cImlucHV0LWdyb3VwLWFwcGVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgcHgtMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidBYnBVaTo6Q2xlYXInIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBtaW5Jc3N1ZURhdGVEYXRlcGlja2VyLndyaXRlVmFsdWUobnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtaW5Jc3N1ZURhdGVEYXRlcGlja2VyLm1hbnVhbERhdGVDaGFuZ2UobnVsbCwgdHJ1ZSlcclxuICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10aW1lc1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm1heElzc3VlRGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNYXhJc3N1ZURhdGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCIgdmFsaWRhdGlvblRhcmdldD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICBpZD1cIm1heElzc3VlRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgICAgI21heElzc3VlRGF0ZUlucHV0XHJcbiAgICAgICAgICAgICAgICAgICNtYXhJc3N1ZURhdGVEYXRlcGlja2VyPVwibmdiRGF0ZXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJtYXhJc3N1ZURhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBuZ2JEYXRlcGlja2VyXHJcbiAgICAgICAgICAgICAgICAgIHJlYWRvbmx5XHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJtYXhJc3N1ZURhdGVEYXRlcGlja2VyLnRvZ2dsZSgpXCJcclxuICAgICAgICAgICAgICAgICAgKGtleXVwLnNwYWNlKT1cIm1heElzc3VlRGF0ZURhdGVwaWNrZXIudG9nZ2xlKClcIlxyXG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuaXNzdWVEYXRlTWF4XCJcclxuICAgICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibWF4SXNzdWVEYXRlSW5wdXQudmFsdWVcIiBjbGFzcz1cImlucHV0LWdyb3VwLWFwcGVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgcHgtMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidBYnBVaTo6Q2xlYXInIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBtYXhJc3N1ZURhdGVEYXRlcGlja2VyLndyaXRlVmFsdWUobnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtYXhJc3N1ZURhdGVEYXRlcGlja2VyLm1hbnVhbERhdGVDaGFuZ2UobnVsbCwgdHJ1ZSlcclxuICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10aW1lc1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWluSXNzdWVUaW1lXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1pbklzc3VlVGltZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIiB2YWxpZGF0aW9uVGFyZ2V0PlxyXG4gICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgIGlkPVwibWluSXNzdWVUaW1lXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICAjbWluSXNzdWVUaW1lSW5wdXRcclxuICAgICAgICAgICAgICAgICAgI21pbklzc3VlVGltZURhdGVwaWNrZXI9XCJuZ2JEYXRlcGlja2VyXCJcclxuICAgICAgICAgICAgICAgICAgbmFtZT1cIm1pbklzc3VlVGltZVwiXHJcbiAgICAgICAgICAgICAgICAgIG5nYkRhdGVwaWNrZXJcclxuICAgICAgICAgICAgICAgICAgY29udGFpbmVyPVwiYm9keVwiXHJcbiAgICAgICAgICAgICAgICAgIHJlYWRvbmx5XHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJtaW5Jc3N1ZVRpbWVEYXRlcGlja2VyLnRvZ2dsZSgpXCJcclxuICAgICAgICAgICAgICAgICAgKGtleXVwLnNwYWNlKT1cIm1pbklzc3VlVGltZURhdGVwaWNrZXIudG9nZ2xlKClcIlxyXG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuaXNzdWVUaW1lTWluXCJcclxuICAgICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibWluSXNzdWVUaW1lSW5wdXQudmFsdWVcIiBjbGFzcz1cImlucHV0LWdyb3VwLWFwcGVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgcHgtMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidBYnBVaTo6Q2xlYXInIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBtaW5Jc3N1ZVRpbWVEYXRlcGlja2VyLndyaXRlVmFsdWUobnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtaW5Jc3N1ZVRpbWVEYXRlcGlja2VyLm1hbnVhbERhdGVDaGFuZ2UobnVsbCwgdHJ1ZSlcclxuICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10aW1lc1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm1heElzc3VlVGltZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNYXhJc3N1ZVRpbWUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCIgdmFsaWRhdGlvblRhcmdldD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICBpZD1cIm1heElzc3VlVGltZVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgICAgI21heElzc3VlVGltZUlucHV0XHJcbiAgICAgICAgICAgICAgICAgICNtYXhJc3N1ZVRpbWVEYXRlcGlja2VyPVwibmdiRGF0ZXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJtYXhJc3N1ZVRpbWVcIlxyXG4gICAgICAgICAgICAgICAgICBuZ2JEYXRlcGlja2VyXHJcbiAgICAgICAgICAgICAgICAgIHJlYWRvbmx5XHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJtYXhJc3N1ZVRpbWVEYXRlcGlja2VyLnRvZ2dsZSgpXCJcclxuICAgICAgICAgICAgICAgICAgKGtleXVwLnNwYWNlKT1cIm1heElzc3VlVGltZURhdGVwaWNrZXIudG9nZ2xlKClcIlxyXG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuaXNzdWVUaW1lTWF4XCJcclxuICAgICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibWF4SXNzdWVUaW1lSW5wdXQudmFsdWVcIiBjbGFzcz1cImlucHV0LWdyb3VwLWFwcGVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgcHgtMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidBYnBVaTo6Q2xlYXInIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBtYXhJc3N1ZVRpbWVEYXRlcGlja2VyLndyaXRlVmFsdWUobnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtYXhJc3N1ZVRpbWVEYXRlcGlja2VyLm1hbnVhbERhdGVDaGFuZ2UobnVsbCwgdHJ1ZSlcclxuICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10aW1lc1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiY3JlZGl0Tm90ZVR5cGVDb2RlRmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OkNyZWRpdE5vdGVUeXBlQ29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwiY3JlZGl0Tm90ZVR5cGVDb2RlRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5jcmVkaXROb3RlVHlwZUNvZGVcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJkb2N1bWVudEN1cnJlbmN5Q29kZUZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpEb2N1bWVudEN1cnJlbmN5Q29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwiZG9jdW1lbnRDdXJyZW5jeUNvZGVGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmRvY3VtZW50Q3VycmVuY3lDb2RlXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwidGF4Q3VycmVuY3lDb2RlRmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OlRheEN1cnJlbmN5Q29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwidGF4Q3VycmVuY3lDb2RlRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy50YXhDdXJyZW5jeUNvZGVcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwcmljaW5nQ3VycmVuY3lDb2RlRmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OlByaWNpbmdDdXJyZW5jeUNvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cInByaWNpbmdDdXJyZW5jeUNvZGVGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLnByaWNpbmdDdXJyZW5jeUNvZGVcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwYXltZW50Q3VycmVuY3lDb2RlRmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OlBheW1lbnRDdXJyZW5jeUNvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cInBheW1lbnRDdXJyZW5jeUNvZGVGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLnBheW1lbnRDdXJyZW5jeUNvZGVcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwYXltZW50QWx0ZXJuYXRpdmVDdXJyZW5jeUNvZGVGaWx0ZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6UGF5bWVudEFsdGVybmF0aXZlQ3VycmVuY3lDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJwYXltZW50QWx0ZXJuYXRpdmVDdXJyZW5jeUNvZGVGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLnBheW1lbnRBbHRlcm5hdGl2ZUN1cnJlbmN5Q29kZVwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImFjY291bnRpbmdDb3N0RmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OkFjY291bnRpbmdDb3N0JyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJhY2NvdW50aW5nQ29zdEZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuYWNjb3VudGluZ0Nvc3RcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtaW5MaW5lQ291bnROdW1lcmljXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1pbkxpbmVDb3VudE51bWVyaWMnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1pbkxpbmVDb3VudE51bWVyaWNcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMubGluZUNvdW50TnVtZXJpY01pblwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtYXhMaW5lQ291bnROdW1lcmljXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1heExpbmVDb3VudE51bWVyaWMnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1heExpbmVDb3VudE51bWVyaWNcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMubGluZUNvdW50TnVtZXJpY01heFwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImFjY291bnRpbmdTdXBwbGllclBhcnR5TmFtZUZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpBY2NvdW50aW5nU3VwcGxpZXJQYXJ0eU5hbWUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cImFjY291bnRpbmdTdXBwbGllclBhcnR5TmFtZUZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuYWNjb3VudGluZ1N1cHBsaWVyUGFydHlOYW1lXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiYWNjb3VudGluZ1N1cHBsaWVyUGFydHlTY2hlbWVJREZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpBY2NvdW50aW5nU3VwcGxpZXJQYXJ0eVNjaGVtZUlEJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJhY2NvdW50aW5nU3VwcGxpZXJQYXJ0eVNjaGVtZUlERmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5hY2NvdW50aW5nU3VwcGxpZXJQYXJ0eVNjaGVtZUlEXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiYWNjb3VudGluZ1N1cHBsaWVyUGFydHlWS05UQ0tORmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OkFjY291bnRpbmdTdXBwbGllclBhcnR5VktOVENLTicgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwiYWNjb3VudGluZ1N1cHBsaWVyUGFydHlWS05UQ0tORmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5hY2NvdW50aW5nU3VwcGxpZXJQYXJ0eVZLTlRDS05cIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJhY2NvdW50aW5nQ3VzdG9tZXJQYXJ0eU5hbWVGaWx0ZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6QWNjb3VudGluZ0N1c3RvbWVyUGFydHlOYW1lJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJhY2NvdW50aW5nQ3VzdG9tZXJQYXJ0eU5hbWVGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmFjY291bnRpbmdDdXN0b21lclBhcnR5TmFtZVwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImFjY291bnRpbmdDdXN0b21lclBhcnR5U2NoZW1lSURGaWx0ZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6QWNjb3VudGluZ0N1c3RvbWVyUGFydHlTY2hlbWVJRCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwiYWNjb3VudGluZ0N1c3RvbWVyUGFydHlTY2hlbWVJREZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuYWNjb3VudGluZ0N1c3RvbWVyUGFydHlTY2hlbWVJRFwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImFjY291bnRpbmdDdXN0b21lclBhcnR5VktOVENLTkZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpBY2NvdW50aW5nQ3VzdG9tZXJQYXJ0eVZLTlRDS04nIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cImFjY291bnRpbmdDdXN0b21lclBhcnR5VktOVENLTkZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuYWNjb3VudGluZ0N1c3RvbWVyUGFydHlWS05UQ0tOXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWluRGVsaXZlcnlBY3R1YWxEZWxpdmVyeURhdGVcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TWluRGVsaXZlcnlBY3R1YWxEZWxpdmVyeURhdGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCIgdmFsaWRhdGlvblRhcmdldD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICBpZD1cIm1pbkRlbGl2ZXJ5QWN0dWFsRGVsaXZlcnlEYXRlXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICAjbWluRGVsaXZlcnlBY3R1YWxEZWxpdmVyeURhdGVJbnB1dFxyXG4gICAgICAgICAgICAgICAgICAjbWluRGVsaXZlcnlBY3R1YWxEZWxpdmVyeURhdGVEYXRlcGlja2VyPVwibmdiRGF0ZXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJtaW5EZWxpdmVyeUFjdHVhbERlbGl2ZXJ5RGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgIG5nYkRhdGVwaWNrZXJcclxuICAgICAgICAgICAgICAgICAgY29udGFpbmVyPVwiYm9keVwiXHJcbiAgICAgICAgICAgICAgICAgIHJlYWRvbmx5XHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJtaW5EZWxpdmVyeUFjdHVhbERlbGl2ZXJ5RGF0ZURhdGVwaWNrZXIudG9nZ2xlKClcIlxyXG4gICAgICAgICAgICAgICAgICAoa2V5dXAuc3BhY2UpPVwibWluRGVsaXZlcnlBY3R1YWxEZWxpdmVyeURhdGVEYXRlcGlja2VyLnRvZ2dsZSgpXCJcclxuICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmRlbGl2ZXJ5QWN0dWFsRGVsaXZlcnlEYXRlTWluXCJcclxuICAgICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibWluRGVsaXZlcnlBY3R1YWxEZWxpdmVyeURhdGVJbnB1dC52YWx1ZVwiIGNsYXNzPVwiaW5wdXQtZ3JvdXAtYXBwZW5kXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGluayBweC0yXCJcclxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0FicFVpOjpDbGVhcicgfCBhYnBMb2NhbGl6YXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJcclxuICAgICAgICAgICAgICAgICAgICAgIG1pbkRlbGl2ZXJ5QWN0dWFsRGVsaXZlcnlEYXRlRGF0ZXBpY2tlci53cml0ZVZhbHVlKG51bGwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgbWluRGVsaXZlcnlBY3R1YWxEZWxpdmVyeURhdGVEYXRlcGlja2VyLm1hbnVhbERhdGVDaGFuZ2UobnVsbCwgdHJ1ZSlcclxuICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10aW1lc1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm1heERlbGl2ZXJ5QWN0dWFsRGVsaXZlcnlEYXRlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1heERlbGl2ZXJ5QWN0dWFsRGVsaXZlcnlEYXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiIHZhbGlkYXRpb25UYXJnZXQ+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgaWQ9XCJtYXhEZWxpdmVyeUFjdHVhbERlbGl2ZXJ5RGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgICAgI21heERlbGl2ZXJ5QWN0dWFsRGVsaXZlcnlEYXRlSW5wdXRcclxuICAgICAgICAgICAgICAgICAgI21heERlbGl2ZXJ5QWN0dWFsRGVsaXZlcnlEYXRlRGF0ZXBpY2tlcj1cIm5nYkRhdGVwaWNrZXJcIlxyXG4gICAgICAgICAgICAgICAgICBuYW1lPVwibWF4RGVsaXZlcnlBY3R1YWxEZWxpdmVyeURhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBuZ2JEYXRlcGlja2VyXHJcbiAgICAgICAgICAgICAgICAgIHJlYWRvbmx5XHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJtYXhEZWxpdmVyeUFjdHVhbERlbGl2ZXJ5RGF0ZURhdGVwaWNrZXIudG9nZ2xlKClcIlxyXG4gICAgICAgICAgICAgICAgICAoa2V5dXAuc3BhY2UpPVwibWF4RGVsaXZlcnlBY3R1YWxEZWxpdmVyeURhdGVEYXRlcGlja2VyLnRvZ2dsZSgpXCJcclxuICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmRlbGl2ZXJ5QWN0dWFsRGVsaXZlcnlEYXRlTWF4XCJcclxuICAgICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibWF4RGVsaXZlcnlBY3R1YWxEZWxpdmVyeURhdGVJbnB1dC52YWx1ZVwiIGNsYXNzPVwiaW5wdXQtZ3JvdXAtYXBwZW5kXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGluayBweC0yXCJcclxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0FicFVpOjpDbGVhcicgfCBhYnBMb2NhbGl6YXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJcclxuICAgICAgICAgICAgICAgICAgICAgIG1heERlbGl2ZXJ5QWN0dWFsRGVsaXZlcnlEYXRlRGF0ZXBpY2tlci53cml0ZVZhbHVlKG51bGwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgbWF4RGVsaXZlcnlBY3R1YWxEZWxpdmVyeURhdGVEYXRlcGlja2VyLm1hbnVhbERhdGVDaGFuZ2UobnVsbCwgdHJ1ZSlcclxuICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10aW1lc1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwidGF4RXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlRmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OlRheEV4Y2hhbmdlUmF0ZVNvdXJjZUN1cnJlbmN5Q29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwidGF4RXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy50YXhFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGVcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJ0YXhFeGNoYW5nZVJhdGVUYXJnZXRDdXJyZW5jeUNvZGVGaWx0ZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6VGF4RXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJ0YXhFeGNoYW5nZVJhdGVUYXJnZXRDdXJyZW5jeUNvZGVGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLnRheEV4Y2hhbmdlUmF0ZVRhcmdldEN1cnJlbmN5Q29kZVwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm1pblRheEV4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNaW5UYXhFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1pblRheEV4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZVwiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy50YXhFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGVNaW5cIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWF4VGF4RXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1heFRheEV4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwibWF4VGF4RXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlXCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLnRheEV4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZU1heFwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm1pblRheEV4Y2hhbmdlUmF0ZURhdGVcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TWluVGF4RXhjaGFuZ2VSYXRlRGF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIiB2YWxpZGF0aW9uVGFyZ2V0PlxyXG4gICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgIGlkPVwibWluVGF4RXhjaGFuZ2VSYXRlRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgICAgI21pblRheEV4Y2hhbmdlUmF0ZURhdGVJbnB1dFxyXG4gICAgICAgICAgICAgICAgICAjbWluVGF4RXhjaGFuZ2VSYXRlRGF0ZURhdGVwaWNrZXI9XCJuZ2JEYXRlcGlja2VyXCJcclxuICAgICAgICAgICAgICAgICAgbmFtZT1cIm1pblRheEV4Y2hhbmdlUmF0ZURhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBuZ2JEYXRlcGlja2VyXHJcbiAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcj1cImJvZHlcIlxyXG4gICAgICAgICAgICAgICAgICByZWFkb25seVxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwibWluVGF4RXhjaGFuZ2VSYXRlRGF0ZURhdGVwaWNrZXIudG9nZ2xlKClcIlxyXG4gICAgICAgICAgICAgICAgICAoa2V5dXAuc3BhY2UpPVwibWluVGF4RXhjaGFuZ2VSYXRlRGF0ZURhdGVwaWNrZXIudG9nZ2xlKClcIlxyXG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMudGF4RXhjaGFuZ2VSYXRlRGF0ZU1pblwiXHJcbiAgICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm1pblRheEV4Y2hhbmdlUmF0ZURhdGVJbnB1dC52YWx1ZVwiIGNsYXNzPVwiaW5wdXQtZ3JvdXAtYXBwZW5kXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGluayBweC0yXCJcclxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0FicFVpOjpDbGVhcicgfCBhYnBMb2NhbGl6YXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJcclxuICAgICAgICAgICAgICAgICAgICAgIG1pblRheEV4Y2hhbmdlUmF0ZURhdGVEYXRlcGlja2VyLndyaXRlVmFsdWUobnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtaW5UYXhFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlci5tYW51YWxEYXRlQ2hhbmdlKG51bGwsIHRydWUpXHJcbiAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtdGltZXNcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtYXhUYXhFeGNoYW5nZVJhdGVEYXRlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1heFRheEV4Y2hhbmdlUmF0ZURhdGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCIgdmFsaWRhdGlvblRhcmdldD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICBpZD1cIm1heFRheEV4Y2hhbmdlUmF0ZURhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICAgICNtYXhUYXhFeGNoYW5nZVJhdGVEYXRlSW5wdXRcclxuICAgICAgICAgICAgICAgICAgI21heFRheEV4Y2hhbmdlUmF0ZURhdGVEYXRlcGlja2VyPVwibmdiRGF0ZXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJtYXhUYXhFeGNoYW5nZVJhdGVEYXRlXCJcclxuICAgICAgICAgICAgICAgICAgbmdiRGF0ZXBpY2tlclxyXG4gICAgICAgICAgICAgICAgICByZWFkb25seVxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwibWF4VGF4RXhjaGFuZ2VSYXRlRGF0ZURhdGVwaWNrZXIudG9nZ2xlKClcIlxyXG4gICAgICAgICAgICAgICAgICAoa2V5dXAuc3BhY2UpPVwibWF4VGF4RXhjaGFuZ2VSYXRlRGF0ZURhdGVwaWNrZXIudG9nZ2xlKClcIlxyXG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMudGF4RXhjaGFuZ2VSYXRlRGF0ZU1heFwiXHJcbiAgICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm1heFRheEV4Y2hhbmdlUmF0ZURhdGVJbnB1dC52YWx1ZVwiIGNsYXNzPVwiaW5wdXQtZ3JvdXAtYXBwZW5kXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGluayBweC0yXCJcclxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0FicFVpOjpDbGVhcicgfCBhYnBMb2NhbGl6YXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJcclxuICAgICAgICAgICAgICAgICAgICAgIG1heFRheEV4Y2hhbmdlUmF0ZURhdGVEYXRlcGlja2VyLndyaXRlVmFsdWUobnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtYXhUYXhFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlci5tYW51YWxEYXRlQ2hhbmdlKG51bGwsIHRydWUpXHJcbiAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtdGltZXNcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInByaWNpbmdFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGVGaWx0ZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6UHJpY2luZ0V4Y2hhbmdlUmF0ZVNvdXJjZUN1cnJlbmN5Q29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwicHJpY2luZ0V4Y2hhbmdlUmF0ZVNvdXJjZUN1cnJlbmN5Q29kZUZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMucHJpY2luZ0V4Y2hhbmdlUmF0ZVNvdXJjZUN1cnJlbmN5Q29kZVwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInByaWNpbmdFeGNoYW5nZVJhdGVUYXJnZXRDdXJyZW5jeUNvZGVGaWx0ZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6UHJpY2luZ0V4Y2hhbmdlUmF0ZVRhcmdldEN1cnJlbmN5Q29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwicHJpY2luZ0V4Y2hhbmdlUmF0ZVRhcmdldEN1cnJlbmN5Q29kZUZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMucHJpY2luZ0V4Y2hhbmdlUmF0ZVRhcmdldEN1cnJlbmN5Q29kZVwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm1pblByaWNpbmdFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGVcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TWluUHJpY2luZ0V4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIiB2YWxpZGF0aW9uVGFyZ2V0PlxyXG4gICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgIGlkPVwibWluUHJpY2luZ0V4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgICAgI21pblByaWNpbmdFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGVJbnB1dFxyXG4gICAgICAgICAgICAgICAgICAjbWluUHJpY2luZ0V4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZURhdGVwaWNrZXI9XCJuZ2JEYXRlcGlja2VyXCJcclxuICAgICAgICAgICAgICAgICAgbmFtZT1cIm1pblByaWNpbmdFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBuZ2JEYXRlcGlja2VyXHJcbiAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcj1cImJvZHlcIlxyXG4gICAgICAgICAgICAgICAgICByZWFkb25seVxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwibWluUHJpY2luZ0V4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZURhdGVwaWNrZXIudG9nZ2xlKClcIlxyXG4gICAgICAgICAgICAgICAgICAoa2V5dXAuc3BhY2UpPVwibWluUHJpY2luZ0V4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZURhdGVwaWNrZXIudG9nZ2xlKClcIlxyXG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMucHJpY2luZ0V4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZU1pblwiXHJcbiAgICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cIm1pblByaWNpbmdFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGVJbnB1dC52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtZ3JvdXAtYXBwZW5kXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIHB4LTJcIlxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCInQWJwVWk6OkNsZWFyJyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgbWluUHJpY2luZ0V4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZURhdGVwaWNrZXIud3JpdGVWYWx1ZShudWxsKTtcclxuICAgICAgICAgICAgICAgICAgICAgIG1pblByaWNpbmdFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGVEYXRlcGlja2VyLm1hbnVhbERhdGVDaGFuZ2UobnVsbCwgdHJ1ZSlcclxuICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10aW1lc1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm1heFByaWNpbmdFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGVcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TWF4UHJpY2luZ0V4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIiB2YWxpZGF0aW9uVGFyZ2V0PlxyXG4gICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgIGlkPVwibWF4UHJpY2luZ0V4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgICAgI21heFByaWNpbmdFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGVJbnB1dFxyXG4gICAgICAgICAgICAgICAgICAjbWF4UHJpY2luZ0V4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZURhdGVwaWNrZXI9XCJuZ2JEYXRlcGlja2VyXCJcclxuICAgICAgICAgICAgICAgICAgbmFtZT1cIm1heFByaWNpbmdFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBuZ2JEYXRlcGlja2VyXHJcbiAgICAgICAgICAgICAgICAgIHJlYWRvbmx5XHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJtYXhQcmljaW5nRXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlRGF0ZXBpY2tlci50b2dnbGUoKVwiXHJcbiAgICAgICAgICAgICAgICAgIChrZXl1cC5zcGFjZSk9XCJtYXhQcmljaW5nRXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlRGF0ZXBpY2tlci50b2dnbGUoKVwiXHJcbiAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5wcmljaW5nRXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlTWF4XCJcclxuICAgICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwibWF4UHJpY2luZ0V4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZUlucHV0LnZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1ncm91cC1hcHBlbmRcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgcHgtMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidBYnBVaTo6Q2xlYXInIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBtYXhQcmljaW5nRXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlRGF0ZXBpY2tlci53cml0ZVZhbHVlKG51bGwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgbWF4UHJpY2luZ0V4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZURhdGVwaWNrZXIubWFudWFsRGF0ZUNoYW5nZShudWxsLCB0cnVlKVxyXG4gICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRpbWVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtaW5QcmljaW5nRXhjaGFuZ2VSYXRlRGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNaW5QcmljaW5nRXhjaGFuZ2VSYXRlRGF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIiB2YWxpZGF0aW9uVGFyZ2V0PlxyXG4gICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgIGlkPVwibWluUHJpY2luZ0V4Y2hhbmdlUmF0ZURhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICAgICNtaW5QcmljaW5nRXhjaGFuZ2VSYXRlRGF0ZUlucHV0XHJcbiAgICAgICAgICAgICAgICAgICNtaW5QcmljaW5nRXhjaGFuZ2VSYXRlRGF0ZURhdGVwaWNrZXI9XCJuZ2JEYXRlcGlja2VyXCJcclxuICAgICAgICAgICAgICAgICAgbmFtZT1cIm1pblByaWNpbmdFeGNoYW5nZVJhdGVEYXRlXCJcclxuICAgICAgICAgICAgICAgICAgbmdiRGF0ZXBpY2tlclxyXG4gICAgICAgICAgICAgICAgICBjb250YWluZXI9XCJib2R5XCJcclxuICAgICAgICAgICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1pblByaWNpbmdFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlci50b2dnbGUoKVwiXHJcbiAgICAgICAgICAgICAgICAgIChrZXl1cC5zcGFjZSk9XCJtaW5QcmljaW5nRXhjaGFuZ2VSYXRlRGF0ZURhdGVwaWNrZXIudG9nZ2xlKClcIlxyXG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMucHJpY2luZ0V4Y2hhbmdlUmF0ZURhdGVNaW5cIlxyXG4gICAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJtaW5QcmljaW5nRXhjaGFuZ2VSYXRlRGF0ZUlucHV0LnZhbHVlXCIgY2xhc3M9XCJpbnB1dC1ncm91cC1hcHBlbmRcIj5cclxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIHB4LTJcIlxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCInQWJwVWk6OkNsZWFyJyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgbWluUHJpY2luZ0V4Y2hhbmdlUmF0ZURhdGVEYXRlcGlja2VyLndyaXRlVmFsdWUobnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtaW5QcmljaW5nRXhjaGFuZ2VSYXRlRGF0ZURhdGVwaWNrZXIubWFudWFsRGF0ZUNoYW5nZShudWxsLCB0cnVlKVxyXG4gICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRpbWVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWF4UHJpY2luZ0V4Y2hhbmdlUmF0ZURhdGVcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TWF4UHJpY2luZ0V4Y2hhbmdlUmF0ZURhdGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCIgdmFsaWRhdGlvblRhcmdldD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICBpZD1cIm1heFByaWNpbmdFeGNoYW5nZVJhdGVEYXRlXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICAjbWF4UHJpY2luZ0V4Y2hhbmdlUmF0ZURhdGVJbnB1dFxyXG4gICAgICAgICAgICAgICAgICAjbWF4UHJpY2luZ0V4Y2hhbmdlUmF0ZURhdGVEYXRlcGlja2VyPVwibmdiRGF0ZXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJtYXhQcmljaW5nRXhjaGFuZ2VSYXRlRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgIG5nYkRhdGVwaWNrZXJcclxuICAgICAgICAgICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1heFByaWNpbmdFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlci50b2dnbGUoKVwiXHJcbiAgICAgICAgICAgICAgICAgIChrZXl1cC5zcGFjZSk9XCJtYXhQcmljaW5nRXhjaGFuZ2VSYXRlRGF0ZURhdGVwaWNrZXIudG9nZ2xlKClcIlxyXG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMucHJpY2luZ0V4Y2hhbmdlUmF0ZURhdGVNYXhcIlxyXG4gICAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJtYXhQcmljaW5nRXhjaGFuZ2VSYXRlRGF0ZUlucHV0LnZhbHVlXCIgY2xhc3M9XCJpbnB1dC1ncm91cC1hcHBlbmRcIj5cclxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIHB4LTJcIlxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCInQWJwVWk6OkNsZWFyJyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgbWF4UHJpY2luZ0V4Y2hhbmdlUmF0ZURhdGVEYXRlcGlja2VyLndyaXRlVmFsdWUobnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtYXhQcmljaW5nRXhjaGFuZ2VSYXRlRGF0ZURhdGVwaWNrZXIubWFudWFsRGF0ZUNoYW5nZShudWxsLCB0cnVlKVxyXG4gICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRpbWVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwYXltZW50RXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlRmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OlBheW1lbnRFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cInBheW1lbnRFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGVGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLnBheW1lbnRFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGVcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwYXltZW50RXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlRmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OlBheW1lbnRFeGNoYW5nZVJhdGVUYXJnZXRDdXJyZW5jeUNvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cInBheW1lbnRFeGNoYW5nZVJhdGVUYXJnZXRDdXJyZW5jeUNvZGVGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLnBheW1lbnRFeGNoYW5nZVJhdGVUYXJnZXRDdXJyZW5jeUNvZGVcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtaW5QYXltZW50RXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1pblBheW1lbnRFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1pblBheW1lbnRFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGVcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMucGF5bWVudEV4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZU1pblwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtYXhQYXltZW50RXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1heFBheW1lbnRFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1heFBheW1lbnRFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGVcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMucGF5bWVudEV4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZU1heFwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm1pblBheW1lbnRFeGNoYW5nZVJhdGVEYXRlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1pblBheW1lbnRFeGNoYW5nZVJhdGVEYXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiIHZhbGlkYXRpb25UYXJnZXQ+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgaWQ9XCJtaW5QYXltZW50RXhjaGFuZ2VSYXRlRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgICAgI21pblBheW1lbnRFeGNoYW5nZVJhdGVEYXRlSW5wdXRcclxuICAgICAgICAgICAgICAgICAgI21pblBheW1lbnRFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlcj1cIm5nYkRhdGVwaWNrZXJcIlxyXG4gICAgICAgICAgICAgICAgICBuYW1lPVwibWluUGF5bWVudEV4Y2hhbmdlUmF0ZURhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBuZ2JEYXRlcGlja2VyXHJcbiAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcj1cImJvZHlcIlxyXG4gICAgICAgICAgICAgICAgICByZWFkb25seVxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwibWluUGF5bWVudEV4Y2hhbmdlUmF0ZURhdGVEYXRlcGlja2VyLnRvZ2dsZSgpXCJcclxuICAgICAgICAgICAgICAgICAgKGtleXVwLnNwYWNlKT1cIm1pblBheW1lbnRFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlci50b2dnbGUoKVwiXHJcbiAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5wYXltZW50RXhjaGFuZ2VSYXRlRGF0ZU1pblwiXHJcbiAgICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm1pblBheW1lbnRFeGNoYW5nZVJhdGVEYXRlSW5wdXQudmFsdWVcIiBjbGFzcz1cImlucHV0LWdyb3VwLWFwcGVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgcHgtMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidBYnBVaTo6Q2xlYXInIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBtaW5QYXltZW50RXhjaGFuZ2VSYXRlRGF0ZURhdGVwaWNrZXIud3JpdGVWYWx1ZShudWxsKTtcclxuICAgICAgICAgICAgICAgICAgICAgIG1pblBheW1lbnRFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlci5tYW51YWxEYXRlQ2hhbmdlKG51bGwsIHRydWUpXHJcbiAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtdGltZXNcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtYXhQYXltZW50RXhjaGFuZ2VSYXRlRGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNYXhQYXltZW50RXhjaGFuZ2VSYXRlRGF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIiB2YWxpZGF0aW9uVGFyZ2V0PlxyXG4gICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgIGlkPVwibWF4UGF5bWVudEV4Y2hhbmdlUmF0ZURhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICAgICNtYXhQYXltZW50RXhjaGFuZ2VSYXRlRGF0ZUlucHV0XHJcbiAgICAgICAgICAgICAgICAgICNtYXhQYXltZW50RXhjaGFuZ2VSYXRlRGF0ZURhdGVwaWNrZXI9XCJuZ2JEYXRlcGlja2VyXCJcclxuICAgICAgICAgICAgICAgICAgbmFtZT1cIm1heFBheW1lbnRFeGNoYW5nZVJhdGVEYXRlXCJcclxuICAgICAgICAgICAgICAgICAgbmdiRGF0ZXBpY2tlclxyXG4gICAgICAgICAgICAgICAgICByZWFkb25seVxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwibWF4UGF5bWVudEV4Y2hhbmdlUmF0ZURhdGVEYXRlcGlja2VyLnRvZ2dsZSgpXCJcclxuICAgICAgICAgICAgICAgICAgKGtleXVwLnNwYWNlKT1cIm1heFBheW1lbnRFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlci50b2dnbGUoKVwiXHJcbiAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5wYXltZW50RXhjaGFuZ2VSYXRlRGF0ZU1heFwiXHJcbiAgICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm1heFBheW1lbnRFeGNoYW5nZVJhdGVEYXRlSW5wdXQudmFsdWVcIiBjbGFzcz1cImlucHV0LWdyb3VwLWFwcGVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgcHgtMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidBYnBVaTo6Q2xlYXInIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBtYXhQYXltZW50RXhjaGFuZ2VSYXRlRGF0ZURhdGVwaWNrZXIud3JpdGVWYWx1ZShudWxsKTtcclxuICAgICAgICAgICAgICAgICAgICAgIG1heFBheW1lbnRFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlci5tYW51YWxEYXRlQ2hhbmdlKG51bGwsIHRydWUpXHJcbiAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtdGltZXNcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tbGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgZm9yPVwicGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlRmlsdGVyXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OlBheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZVNvdXJjZUN1cnJlbmN5Q29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwicGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5wYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGVcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWxhYmVsXCJcclxuICAgICAgICAgICAgICAgIGZvcj1cInBheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZVRhcmdldEN1cnJlbmN5Q29kZUZpbHRlclwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpQYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVUYXJnZXRDdXJyZW5jeUNvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cInBheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZVRhcmdldEN1cnJlbmN5Q29kZUZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMucGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWluUGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1pblBheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwibWluUGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlXCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLnBheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZU1pblwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtYXhQYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGVcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TWF4UGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJtYXhQYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGVcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMucGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlTWF4XCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWluUGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlRGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNaW5QYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVEYXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiIHZhbGlkYXRpb25UYXJnZXQ+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgaWQ9XCJtaW5QYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVEYXRlXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICAjbWluUGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlRGF0ZUlucHV0XHJcbiAgICAgICAgICAgICAgICAgICNtaW5QYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlcj1cIm5nYkRhdGVwaWNrZXJcIlxyXG4gICAgICAgICAgICAgICAgICBuYW1lPVwibWluUGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgIG5nYkRhdGVwaWNrZXJcclxuICAgICAgICAgICAgICAgICAgY29udGFpbmVyPVwiYm9keVwiXHJcbiAgICAgICAgICAgICAgICAgIHJlYWRvbmx5XHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJtaW5QYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlci50b2dnbGUoKVwiXHJcbiAgICAgICAgICAgICAgICAgIChrZXl1cC5zcGFjZSk9XCJtaW5QYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlci50b2dnbGUoKVwiXHJcbiAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5wYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVEYXRlTWluXCJcclxuICAgICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwibWluUGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlRGF0ZUlucHV0LnZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1ncm91cC1hcHBlbmRcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgcHgtMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidBYnBVaTo6Q2xlYXInIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBtaW5QYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlci53cml0ZVZhbHVlKG51bGwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgbWluUGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlRGF0ZURhdGVwaWNrZXIubWFudWFsRGF0ZUNoYW5nZShudWxsLCB0cnVlKVxyXG4gICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRpbWVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWF4UGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlRGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNYXhQYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVEYXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiIHZhbGlkYXRpb25UYXJnZXQ+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgaWQ9XCJtYXhQYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVEYXRlXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICAjbWF4UGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlRGF0ZUlucHV0XHJcbiAgICAgICAgICAgICAgICAgICNtYXhQYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlcj1cIm5nYkRhdGVwaWNrZXJcIlxyXG4gICAgICAgICAgICAgICAgICBuYW1lPVwibWF4UGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgIG5nYkRhdGVwaWNrZXJcclxuICAgICAgICAgICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1heFBheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZURhdGVEYXRlcGlja2VyLnRvZ2dsZSgpXCJcclxuICAgICAgICAgICAgICAgICAgKGtleXVwLnNwYWNlKT1cIm1heFBheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZURhdGVEYXRlcGlja2VyLnRvZ2dsZSgpXCJcclxuICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLnBheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZURhdGVNYXhcIlxyXG4gICAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJtYXhQYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVEYXRlSW5wdXQudmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0LWdyb3VwLWFwcGVuZFwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGluayBweC0yXCJcclxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0FicFVpOjpDbGVhcicgfCBhYnBMb2NhbGl6YXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJcclxuICAgICAgICAgICAgICAgICAgICAgIG1heFBheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZURhdGVEYXRlcGlja2VyLndyaXRlVmFsdWUobnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtYXhQYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlci5tYW51YWxEYXRlQ2hhbmdlKG51bGwsIHRydWUpXHJcbiAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtdGltZXNcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm1pbkxlZ2FsTW9uZXRhcnlUb3RhbExpbmVFeHRlbnNpb25BbW91bnRcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TWluTGVnYWxNb25ldGFyeVRvdGFsTGluZUV4dGVuc2lvbkFtb3VudCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwibWluTGVnYWxNb25ldGFyeVRvdGFsTGluZUV4dGVuc2lvbkFtb3VudFwiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5sZWdhbE1vbmV0YXJ5VG90YWxMaW5lRXh0ZW5zaW9uQW1vdW50TWluXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm1heExlZ2FsTW9uZXRhcnlUb3RhbExpbmVFeHRlbnNpb25BbW91bnRcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TWF4TGVnYWxNb25ldGFyeVRvdGFsTGluZUV4dGVuc2lvbkFtb3VudCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwibWF4TGVnYWxNb25ldGFyeVRvdGFsTGluZUV4dGVuc2lvbkFtb3VudFwiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5sZWdhbE1vbmV0YXJ5VG90YWxMaW5lRXh0ZW5zaW9uQW1vdW50TWF4XCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWluTGVnYWxNb25ldGFyeVRvdGFsVGF4RXhjbHVzaXZlQW1vdW50XCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1pbkxlZ2FsTW9uZXRhcnlUb3RhbFRheEV4Y2x1c2l2ZUFtb3VudCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwibWluTGVnYWxNb25ldGFyeVRvdGFsVGF4RXhjbHVzaXZlQW1vdW50XCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmxlZ2FsTW9uZXRhcnlUb3RhbFRheEV4Y2x1c2l2ZUFtb3VudE1pblwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtYXhMZWdhbE1vbmV0YXJ5VG90YWxUYXhFeGNsdXNpdmVBbW91bnRcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TWF4TGVnYWxNb25ldGFyeVRvdGFsVGF4RXhjbHVzaXZlQW1vdW50JyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJtYXhMZWdhbE1vbmV0YXJ5VG90YWxUYXhFeGNsdXNpdmVBbW91bnRcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMubGVnYWxNb25ldGFyeVRvdGFsVGF4RXhjbHVzaXZlQW1vdW50TWF4XCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWluTGVnYWxNb25ldGFyeVRvdGFsVGF4SW5jbHVzaXZlQW1vdW50XCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1pbkxlZ2FsTW9uZXRhcnlUb3RhbFRheEluY2x1c2l2ZUFtb3VudCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwibWluTGVnYWxNb25ldGFyeVRvdGFsVGF4SW5jbHVzaXZlQW1vdW50XCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmxlZ2FsTW9uZXRhcnlUb3RhbFRheEluY2x1c2l2ZUFtb3VudE1pblwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtYXhMZWdhbE1vbmV0YXJ5VG90YWxUYXhJbmNsdXNpdmVBbW91bnRcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TWF4TGVnYWxNb25ldGFyeVRvdGFsVGF4SW5jbHVzaXZlQW1vdW50JyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJtYXhMZWdhbE1vbmV0YXJ5VG90YWxUYXhJbmNsdXNpdmVBbW91bnRcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMubGVnYWxNb25ldGFyeVRvdGFsVGF4SW5jbHVzaXZlQW1vdW50TWF4XCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWluTGVnYWxNb25ldGFyeVRvdGFsQWxsb3dhbmNlVG90YWxBbW91bnRcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TWluTGVnYWxNb25ldGFyeVRvdGFsQWxsb3dhbmNlVG90YWxBbW91bnQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1pbkxlZ2FsTW9uZXRhcnlUb3RhbEFsbG93YW5jZVRvdGFsQW1vdW50XCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmxlZ2FsTW9uZXRhcnlUb3RhbEFsbG93YW5jZVRvdGFsQW1vdW50TWluXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm1heExlZ2FsTW9uZXRhcnlUb3RhbEFsbG93YW5jZVRvdGFsQW1vdW50XCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1heExlZ2FsTW9uZXRhcnlUb3RhbEFsbG93YW5jZVRvdGFsQW1vdW50JyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJtYXhMZWdhbE1vbmV0YXJ5VG90YWxBbGxvd2FuY2VUb3RhbEFtb3VudFwiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5sZWdhbE1vbmV0YXJ5VG90YWxBbGxvd2FuY2VUb3RhbEFtb3VudE1heFwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm1pbkxlZ2FsTW9uZXRhcnlUb3RhbENoYXJnZVRvdGFsQW1vdW50XCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1pbkxlZ2FsTW9uZXRhcnlUb3RhbENoYXJnZVRvdGFsQW1vdW50JyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJtaW5MZWdhbE1vbmV0YXJ5VG90YWxDaGFyZ2VUb3RhbEFtb3VudFwiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5sZWdhbE1vbmV0YXJ5VG90YWxDaGFyZ2VUb3RhbEFtb3VudE1pblwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtYXhMZWdhbE1vbmV0YXJ5VG90YWxDaGFyZ2VUb3RhbEFtb3VudFwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNYXhMZWdhbE1vbmV0YXJ5VG90YWxDaGFyZ2VUb3RhbEFtb3VudCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwibWF4TGVnYWxNb25ldGFyeVRvdGFsQ2hhcmdlVG90YWxBbW91bnRcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMubGVnYWxNb25ldGFyeVRvdGFsQ2hhcmdlVG90YWxBbW91bnRNYXhcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtaW5MZWdhbE1vbmV0YXJ5VG90YWxQYXlhYmxlUm91bmRpbmdBbW91bnRcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TWluTGVnYWxNb25ldGFyeVRvdGFsUGF5YWJsZVJvdW5kaW5nQW1vdW50JyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJtaW5MZWdhbE1vbmV0YXJ5VG90YWxQYXlhYmxlUm91bmRpbmdBbW91bnRcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMubGVnYWxNb25ldGFyeVRvdGFsUGF5YWJsZVJvdW5kaW5nQW1vdW50TWluXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm1heExlZ2FsTW9uZXRhcnlUb3RhbFBheWFibGVSb3VuZGluZ0Ftb3VudFwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNYXhMZWdhbE1vbmV0YXJ5VG90YWxQYXlhYmxlUm91bmRpbmdBbW91bnQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1heExlZ2FsTW9uZXRhcnlUb3RhbFBheWFibGVSb3VuZGluZ0Ftb3VudFwiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5sZWdhbE1vbmV0YXJ5VG90YWxQYXlhYmxlUm91bmRpbmdBbW91bnRNYXhcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtaW5MZWdhbE1vbmV0YXJ5VG90YWxQYXlhYmxlQW1vdW50XCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1pbkxlZ2FsTW9uZXRhcnlUb3RhbFBheWFibGVBbW91bnQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1pbkxlZ2FsTW9uZXRhcnlUb3RhbFBheWFibGVBbW91bnRcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMubGVnYWxNb25ldGFyeVRvdGFsUGF5YWJsZUFtb3VudE1pblwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtYXhMZWdhbE1vbmV0YXJ5VG90YWxQYXlhYmxlQW1vdW50XCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1heExlZ2FsTW9uZXRhcnlUb3RhbFBheWFibGVBbW91bnQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1heExlZ2FsTW9uZXRhcnlUb3RhbFBheWFibGVBbW91bnRcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMubGVnYWxNb25ldGFyeVRvdGFsUGF5YWJsZUFtb3VudE1heFwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImlzQ2FuY2VsZWRGaWx0ZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6SXNDYW5jZWxlZCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8c2VsZWN0XHJcbiAgICAgICAgICAgICAgICBuYW1lPVwiaXNDYW5jZWxlZFwiXHJcbiAgICAgICAgICAgICAgICBpZD1cImlzQ2FuY2VsZWRGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLXNlbGVjdCBmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmlzQ2FuY2VsZWRcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwibGlzdC5nZXQoKVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJcIj48L29wdGlvbj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwidHJ1ZVwiPnt7ICdBYnBVaTo6WWVzJyB8IGFicExvY2FsaXphdGlvbiB9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJmYWxzZVwiPnt7ICdBYnBVaTo6Tm8nIHwgYWJwTG9jYWxpemF0aW9uIH19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImNhbmNlbENvZGVGaWx0ZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6Q2FuY2VsQ29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwiY2FuY2VsQ29kZUZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuY2FuY2VsQ29kZVwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImNhbmNlbERlc2NyaXB0aW9uRmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OkNhbmNlbERlc2NyaXB0aW9uJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJjYW5jZWxEZXNjcmlwdGlvbkZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuY2FuY2VsRGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtaW5TdGF0dXNcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TWluU3RhdHVzJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJtaW5TdGF0dXNcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuc3RhdHVzTWluXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm1heFN0YXR1c1wiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNYXhTdGF0dXMnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1heFN0YXR1c1wiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5zdGF0dXNNYXhcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtaW5SZXNvdXJjZURvY0VudHJ5XCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1pblJlc291cmNlRG9jRW50cnknIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1pblJlc291cmNlRG9jRW50cnlcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMucmVzb3VyY2VEb2NFbnRyeU1pblwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtYXhSZXNvdXJjZURvY0VudHJ5XCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1heFJlc291cmNlRG9jRW50cnknIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1heFJlc291cmNlRG9jRW50cnlcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMucmVzb3VyY2VEb2NFbnRyeU1heFwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm1pblJlc291cmNlRG9jVHlwZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNaW5SZXNvdXJjZURvY1R5cGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1pblJlc291cmNlRG9jVHlwZVwiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5yZXNvdXJjZURvY1R5cGVNaW5cIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWF4UmVzb3VyY2VEb2NUeXBlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1heFJlc291cmNlRG9jVHlwZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwibWF4UmVzb3VyY2VEb2NUeXBlXCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLnJlc291cmNlRG9jVHlwZU1heFwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImVudGVncmF0b3JFcnJvck1lc3NhZ2VGaWx0ZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6RW50ZWdyYXRvckVycm9yTWVzc2FnZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwiZW50ZWdyYXRvckVycm9yTWVzc2FnZUZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuZW50ZWdyYXRvckVycm9yTWVzc2FnZVwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm1pblJlc291cmNlU3ViRG9jVHlwZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNaW5SZXNvdXJjZVN1YkRvY1R5cGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1pblJlc291cmNlU3ViRG9jVHlwZVwiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5yZXNvdXJjZVN1YkRvY1R5cGVNaW5cIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWF4UmVzb3VyY2VTdWJEb2NUeXBlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1heFJlc291cmNlU3ViRG9jVHlwZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwibWF4UmVzb3VyY2VTdWJEb2NUeXBlXCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLnJlc291cmNlU3ViRG9jVHlwZU1heFwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm1pblJlc291cmNlSm91cm5hbEVudHJ5XCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1pblJlc291cmNlSm91cm5hbEVudHJ5JyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJtaW5SZXNvdXJjZUpvdXJuYWxFbnRyeVwiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5yZXNvdXJjZUpvdXJuYWxFbnRyeU1pblwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtYXhSZXNvdXJjZUpvdXJuYWxFbnRyeVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNYXhSZXNvdXJjZUpvdXJuYWxFbnRyeScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwibWF4UmVzb3VyY2VKb3VybmFsRW50cnlcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMucmVzb3VyY2VKb3VybmFsRW50cnlNYXhcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJpc0RyYWZ0RmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OklzRHJhZnQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPHNlbGVjdFxyXG4gICAgICAgICAgICAgICAgbmFtZT1cImlzRHJhZnRcIlxyXG4gICAgICAgICAgICAgICAgaWQ9XCJpc0RyYWZ0RmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1zZWxlY3QgZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5pc0RyYWZ0XCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cImxpc3QuZ2V0KClcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwiXCI+PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cInRydWVcIj57eyAnQWJwVWk6OlllcycgfCBhYnBMb2NhbGl6YXRpb24gfX08L29wdGlvbj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwiZmFsc2VcIj57eyAnQWJwVWk6Ok5vJyB8IGFicExvY2FsaXphdGlvbiB9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJzZWxlY3RlZFJlY2VpcHRTZXJpYWxGaWx0ZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6U2VsZWN0ZWRSZWNlaXB0U2VyaWFsJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJzZWxlY3RlZFJlY2VpcHRTZXJpYWxGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLnNlbGVjdGVkUmVjZWlwdFNlcmlhbFwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0byBhbGlnbi1zZWxmLWVuZCBtYi0zXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTYgY29sLXNtLWF1dG8gZC1ncmlkXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1wcmltYXJ5XCIgKGNsaWNrKT1cImNsZWFyRmlsdGVycygpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuPnt7ICdBYnBVaTo6Q2xlYXInIHwgYWJwTG9jYWxpemF0aW9uIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC02IGNvbC1zbS1hdXRvIGQtZ3JpZFwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiAoY2xpY2spPVwibGlzdC5nZXQoKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3Bhbj57eyAnQWJwVWk6OlJlZnJlc2gnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZm9ybT5cclxuICAgIDwvYWJwLWFkdmFuY2VkLWVudGl0eS1maWx0ZXJzLWZvcm0+XHJcbiAgPC9hYnAtYWR2YW5jZWQtZW50aXR5LWZpbHRlcnM+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCI+XHJcbiAgICAgIDxuZ3gtZGF0YXRhYmxlIFtyb3dzXT1cImRhdGEuaXRlbXNcIiBbY291bnRdPVwiZGF0YS50b3RhbENvdW50XCIgW2xpc3RdPVwibGlzdFwiIGRlZmF1bHQ+XHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBbbmFtZV09XCInQWJwVWk6OkFjdGlvbnMnIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgIFttYXhXaWR0aF09XCIxNTBcIlxyXG4gICAgICAgICAgW3dpZHRoXT1cIjE1MFwiXHJcbiAgICAgICAgICBbc29ydGFibGVdPVwiZmFsc2VcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbGV0LWk9XCJyb3dJbmRleFwiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPGRpdiBuZ2JEcm9wZG93biBjb250YWluZXI9XCJib2R5XCIgY2xhc3M9XCJkLWlubGluZS1ibG9ja1wiPlxyXG4gICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbSBkcm9wZG93bi10b2dnbGVcIlxyXG4gICAgICAgICAgICAgICAgZGF0YS10b2dnbGU9XCJkcm9wZG93blwiXHJcbiAgICAgICAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICBuZ2JEcm9wZG93blRvZ2dsZVxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtY29nIG1lLTFcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICAgICAgICB7eyAnQWJwVWk6OkFjdGlvbnMnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgbmdiRHJvcGRvd25NZW51PlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICBuZ2JEcm9wZG93bkl0ZW1cclxuICAgICAgICAgICAgICAgICAgKmFicFBlcm1pc3Npb249XCInZURvbnVzdW0uUHJvZHVjZXJSZWNlaXB0cy5FZGl0J1wiXHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ1cGRhdGUocm93KVwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIHt7ICdBYnBVaTo6RWRpdCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgbmdiRHJvcGRvd25JdGVtXHJcbiAgICAgICAgICAgICAgICAgICphYnBQZXJtaXNzaW9uPVwiJ2VEb251c3VtLlByb2R1Y2VyUmVjZWlwdHMuRGVsZXRlJ1wiXHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkZWxldGUocm93KVwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIHt7ICdBYnBVaTo6RGVsZXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OlVibFZlcnNpb25JZCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cInVibFZlcnNpb25JZFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy51YmxWZXJzaW9uSWQgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpDdXN0b21pemF0aW9uSWQnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJjdXN0b21pemF0aW9uSWRcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cuY3VzdG9taXphdGlvbklkIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtbiBuYW1lPVwie3sgJ2VEb251c3VtOjpQcm9maWxlSWQnIHwgYWJwTG9jYWxpemF0aW9uIH19XCIgcHJvcD1cInByb2ZpbGVJZFwiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5wcm9maWxlSWQgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpQcm9kdWNlclJlY2VpcHRJRCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cInByb2R1Y2VyUmVjZWlwdElEXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LnByb2R1Y2VyUmVjZWlwdElEIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6Q29weUluZGljYXRvcicgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cImNvcHlJbmRpY2F0b3JcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwicm93LmNvcHlJbmRpY2F0b3JcIiBbbmdJZlRoZW5dPVwieWVzXCIgW25nSWZFbHNlXT1cIm5vXCI+PC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjeWVzPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXN1Y2Nlc3NcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIFt0aXRsZV09XCInQWJwVWk6OlllcycgfCBhYnBMb2NhbGl6YXRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1jaGVja1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm8+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZGFuZ2VyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbdGl0bGVdPVwiJ0FicFVpOjpObycgfCBhYnBMb2NhbGl6YXRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10aW1lc1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uIG5hbWU9XCJ7eyAnZURvbnVzdW06OlV1SWQnIHwgYWJwTG9jYWxpemF0aW9uIH19XCIgcHJvcD1cInV1SWRcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cudXVJZCB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW4gbmFtZT1cInt7ICdlRG9udXN1bTo6SXNzdWVEYXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVwiIHByb3A9XCJpc3N1ZURhdGVcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cuaXNzdWVEYXRlIHwgZGF0ZSB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW4gbmFtZT1cInt7ICdlRG9udXN1bTo6SXNzdWVUaW1lJyB8IGFicExvY2FsaXphdGlvbiB9fVwiIHByb3A9XCJpc3N1ZVRpbWVcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cuaXNzdWVUaW1lIHwgZGF0ZSB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OkNyZWRpdE5vdGVUeXBlQ29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cImNyZWRpdE5vdGVUeXBlQ29kZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5jcmVkaXROb3RlVHlwZUNvZGUgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpEb2N1bWVudEN1cnJlbmN5Q29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cImRvY3VtZW50Q3VycmVuY3lDb2RlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LmRvY3VtZW50Q3VycmVuY3lDb2RlIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6VGF4Q3VycmVuY3lDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwidGF4Q3VycmVuY3lDb2RlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LnRheEN1cnJlbmN5Q29kZSB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OlByaWNpbmdDdXJyZW5jeUNvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJwcmljaW5nQ3VycmVuY3lDb2RlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LnByaWNpbmdDdXJyZW5jeUNvZGUgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpQYXltZW50Q3VycmVuY3lDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwicGF5bWVudEN1cnJlbmN5Q29kZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5wYXltZW50Q3VycmVuY3lDb2RlIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6UGF5bWVudEFsdGVybmF0aXZlQ3VycmVuY3lDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwicGF5bWVudEFsdGVybmF0aXZlQ3VycmVuY3lDb2RlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LnBheW1lbnRBbHRlcm5hdGl2ZUN1cnJlbmN5Q29kZSB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OkFjY291bnRpbmdDb3N0JyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwiYWNjb3VudGluZ0Nvc3RcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cuYWNjb3VudGluZ0Nvc3QgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpMaW5lQ291bnROdW1lcmljJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwibGluZUNvdW50TnVtZXJpY1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5saW5lQ291bnROdW1lcmljIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6QWNjb3VudGluZ1N1cHBsaWVyUGFydHlOYW1lJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwiYWNjb3VudGluZ1N1cHBsaWVyUGFydHlOYW1lXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LmFjY291bnRpbmdTdXBwbGllclBhcnR5TmFtZSB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OkFjY291bnRpbmdTdXBwbGllclBhcnR5U2NoZW1lSUQnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJhY2NvdW50aW5nU3VwcGxpZXJQYXJ0eVNjaGVtZUlEXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LmFjY291bnRpbmdTdXBwbGllclBhcnR5U2NoZW1lSUQgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpBY2NvdW50aW5nU3VwcGxpZXJQYXJ0eVZLTlRDS04nIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJhY2NvdW50aW5nU3VwcGxpZXJQYXJ0eVZLTlRDS05cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cuYWNjb3VudGluZ1N1cHBsaWVyUGFydHlWS05UQ0tOIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6QWNjb3VudGluZ0N1c3RvbWVyUGFydHlOYW1lJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwiYWNjb3VudGluZ0N1c3RvbWVyUGFydHlOYW1lXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LmFjY291bnRpbmdDdXN0b21lclBhcnR5TmFtZSB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OkFjY291bnRpbmdDdXN0b21lclBhcnR5U2NoZW1lSUQnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJhY2NvdW50aW5nQ3VzdG9tZXJQYXJ0eVNjaGVtZUlEXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LmFjY291bnRpbmdDdXN0b21lclBhcnR5U2NoZW1lSUQgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpBY2NvdW50aW5nQ3VzdG9tZXJQYXJ0eVZLTlRDS04nIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJhY2NvdW50aW5nQ3VzdG9tZXJQYXJ0eVZLTlRDS05cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cuYWNjb3VudGluZ0N1c3RvbWVyUGFydHlWS05UQ0tOIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6RGVsaXZlcnlBY3R1YWxEZWxpdmVyeURhdGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJkZWxpdmVyeUFjdHVhbERlbGl2ZXJ5RGF0ZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5kZWxpdmVyeUFjdHVhbERlbGl2ZXJ5RGF0ZSB8IGRhdGUgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpUYXhFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJ0YXhFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cudGF4RXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6VGF4RXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwidGF4RXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LnRheEV4Y2hhbmdlUmF0ZVRhcmdldEN1cnJlbmN5Q29kZSB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OlRheEV4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cInRheEV4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy50YXhFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGUgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpUYXhFeGNoYW5nZVJhdGVEYXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwidGF4RXhjaGFuZ2VSYXRlRGF0ZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy50YXhFeGNoYW5nZVJhdGVEYXRlIHwgZGF0ZSB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OlByaWNpbmdFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJwcmljaW5nRXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LnByaWNpbmdFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGUgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpQcmljaW5nRXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwicHJpY2luZ0V4Y2hhbmdlUmF0ZVRhcmdldEN1cnJlbmN5Q29kZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5wcmljaW5nRXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6UHJpY2luZ0V4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cInByaWNpbmdFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cucHJpY2luZ0V4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZSB8IGRhdGUgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpQcmljaW5nRXhjaGFuZ2VSYXRlRGF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cInByaWNpbmdFeGNoYW5nZVJhdGVEYXRlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LnByaWNpbmdFeGNoYW5nZVJhdGVEYXRlIHwgZGF0ZSB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OlBheW1lbnRFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJwYXltZW50RXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LnBheW1lbnRFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGUgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpQYXltZW50RXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwicGF5bWVudEV4Y2hhbmdlUmF0ZVRhcmdldEN1cnJlbmN5Q29kZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5wYXltZW50RXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6UGF5bWVudEV4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cInBheW1lbnRFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cucGF5bWVudEV4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZSB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OlBheW1lbnRFeGNoYW5nZVJhdGVEYXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwicGF5bWVudEV4Y2hhbmdlUmF0ZURhdGVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cucGF5bWVudEV4Y2hhbmdlUmF0ZURhdGUgfCBkYXRlIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7XHJcbiAgICAgICAgICAgICdlRG9udXN1bTo6UGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlJyB8IGFicExvY2FsaXphdGlvblxyXG4gICAgICAgICAgfX1cIlxyXG4gICAgICAgICAgcHJvcD1cInBheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZVNvdXJjZUN1cnJlbmN5Q29kZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5wYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGUgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3tcclxuICAgICAgICAgICAgJ2VEb251c3VtOjpQYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVUYXJnZXRDdXJyZW5jeUNvZGUnIHwgYWJwTG9jYWxpemF0aW9uXHJcbiAgICAgICAgICB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwicGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LnBheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZVRhcmdldEN1cnJlbmN5Q29kZSB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OlBheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cInBheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5wYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGUgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpQYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVEYXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwicGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlRGF0ZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5wYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVEYXRlIHwgZGF0ZSB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OkxlZ2FsTW9uZXRhcnlUb3RhbExpbmVFeHRlbnNpb25BbW91bnQnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJsZWdhbE1vbmV0YXJ5VG90YWxMaW5lRXh0ZW5zaW9uQW1vdW50XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LmxlZ2FsTW9uZXRhcnlUb3RhbExpbmVFeHRlbnNpb25BbW91bnQgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpMZWdhbE1vbmV0YXJ5VG90YWxUYXhFeGNsdXNpdmVBbW91bnQnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJsZWdhbE1vbmV0YXJ5VG90YWxUYXhFeGNsdXNpdmVBbW91bnRcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cubGVnYWxNb25ldGFyeVRvdGFsVGF4RXhjbHVzaXZlQW1vdW50IH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6TGVnYWxNb25ldGFyeVRvdGFsVGF4SW5jbHVzaXZlQW1vdW50JyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwibGVnYWxNb25ldGFyeVRvdGFsVGF4SW5jbHVzaXZlQW1vdW50XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LmxlZ2FsTW9uZXRhcnlUb3RhbFRheEluY2x1c2l2ZUFtb3VudCB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OkxlZ2FsTW9uZXRhcnlUb3RhbEFsbG93YW5jZVRvdGFsQW1vdW50JyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwibGVnYWxNb25ldGFyeVRvdGFsQWxsb3dhbmNlVG90YWxBbW91bnRcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cubGVnYWxNb25ldGFyeVRvdGFsQWxsb3dhbmNlVG90YWxBbW91bnQgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpMZWdhbE1vbmV0YXJ5VG90YWxDaGFyZ2VUb3RhbEFtb3VudCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cImxlZ2FsTW9uZXRhcnlUb3RhbENoYXJnZVRvdGFsQW1vdW50XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LmxlZ2FsTW9uZXRhcnlUb3RhbENoYXJnZVRvdGFsQW1vdW50IH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6TGVnYWxNb25ldGFyeVRvdGFsUGF5YWJsZVJvdW5kaW5nQW1vdW50JyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwibGVnYWxNb25ldGFyeVRvdGFsUGF5YWJsZVJvdW5kaW5nQW1vdW50XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LmxlZ2FsTW9uZXRhcnlUb3RhbFBheWFibGVSb3VuZGluZ0Ftb3VudCB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OkxlZ2FsTW9uZXRhcnlUb3RhbFBheWFibGVBbW91bnQnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJsZWdhbE1vbmV0YXJ5VG90YWxQYXlhYmxlQW1vdW50XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LmxlZ2FsTW9uZXRhcnlUb3RhbFBheWFibGVBbW91bnQgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpJc0NhbmNlbGVkJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwiaXNDYW5jZWxlZFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJyb3cuaXNDYW5jZWxlZFwiIFtuZ0lmVGhlbl09XCJ5ZXNcIiBbbmdJZkVsc2VdPVwibm9cIj48L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICN5ZXM+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc3VjY2Vzc1wiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gW3RpdGxlXT1cIidBYnBVaTo6WWVzJyB8IGFicExvY2FsaXphdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWNoZWNrXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNubz5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1kYW5nZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIFt0aXRsZV09XCInQWJwVWk6Ok5vJyB8IGFicExvY2FsaXphdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRpbWVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OkNhbmNlbENvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJjYW5jZWxDb2RlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LmNhbmNlbENvZGUgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpDYW5jZWxEZXNjcmlwdGlvbicgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cImNhbmNlbERlc2NyaXB0aW9uXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LmNhbmNlbERlc2NyaXB0aW9uIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtbiBuYW1lPVwie3sgJ2VEb251c3VtOjpTdGF0dXMnIHwgYWJwTG9jYWxpemF0aW9uIH19XCIgcHJvcD1cInN0YXR1c1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5zdGF0dXMgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpSZXNvdXJjZURvY0VudHJ5JyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwicmVzb3VyY2VEb2NFbnRyeVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5yZXNvdXJjZURvY0VudHJ5IH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6UmVzb3VyY2VEb2NUeXBlJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwicmVzb3VyY2VEb2NUeXBlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LnJlc291cmNlRG9jVHlwZSB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OkVudGVncmF0b3JFcnJvck1lc3NhZ2UnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJlbnRlZ3JhdG9yRXJyb3JNZXNzYWdlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LmVudGVncmF0b3JFcnJvck1lc3NhZ2UgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpSZXNvdXJjZVN1YkRvY1R5cGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJyZXNvdXJjZVN1YkRvY1R5cGVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cucmVzb3VyY2VTdWJEb2NUeXBlIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6UmVzb3VyY2VKb3VybmFsRW50cnknIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJyZXNvdXJjZUpvdXJuYWxFbnRyeVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5yZXNvdXJjZUpvdXJuYWxFbnRyeSB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW4gbmFtZT1cInt7ICdlRG9udXN1bTo6SXNEcmFmdCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cIiBwcm9wPVwiaXNEcmFmdFwiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJyb3cuaXNEcmFmdFwiIFtuZ0lmVGhlbl09XCJ5ZXNcIiBbbmdJZkVsc2VdPVwibm9cIj48L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICN5ZXM+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc3VjY2Vzc1wiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gW3RpdGxlXT1cIidBYnBVaTo6WWVzJyB8IGFicExvY2FsaXphdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWNoZWNrXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNubz5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1kYW5nZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIFt0aXRsZV09XCInQWJwVWk6Ok5vJyB8IGFicExvY2FsaXphdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRpbWVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OlNlbGVjdGVkUmVjZWlwdFNlcmlhbCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cInNlbGVjdGVkUmVjZWlwdFNlcmlhbFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5zZWxlY3RlZFJlY2VpcHRTZXJpYWwgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuICAgICAgPC9uZ3gtZGF0YXRhYmxlPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvYWJwLXBhZ2U+XHJcblxyXG48YWJwLW1vZGFsIFtidXN5XT1cImlzTW9kYWxCdXN5XCIgWyh2aXNpYmxlKV09XCJpc01vZGFsT3BlblwiPlxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwSGVhZGVyPlxyXG4gICAgPGgzPlxyXG4gICAgICB7eyAoc2VsZWN0ZWQgPyAnQWJwVWk6OkVkaXQnIDogJ2VEb251c3VtOjpOZXdQcm9kdWNlclJlY2VpcHQnKSB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgPC9oMz5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2FicEJvZHk+XHJcbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiBpZD1cInByb2R1Y2VyLXJlY2VpcHRcIiAobmdTdWJtaXQpPVwic3VibWl0Rm9ybSgpXCIgdmFsaWRhdGVPblN1Ym1pdD5cclxuICAgICAgPGRpdiBjbGFzcz1cIm10LTIgZmFkZS1pbi10b3BcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInByb2R1Y2VyLXJlY2VpcHQtdWJsLXZlcnNpb24taWRcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpVYmxWZXJzaW9uSWQnIHwgYWJwTG9jYWxpemF0aW9uIH19ICpcclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIGlkPVwicHJvZHVjZXItcmVjZWlwdC11YmwtdmVyc2lvbi1pZFwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInVibFZlcnNpb25JZFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiOFwiXHJcbiAgICAgICAgICAgIGF1dG9mb2N1c1xyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInByb2R1Y2VyLXJlY2VpcHQtY3VzdG9taXphdGlvbi1pZFwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OkN1c3RvbWl6YXRpb25JZCcgfCBhYnBMb2NhbGl6YXRpb24gfX0gKlxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJwcm9kdWNlci1yZWNlaXB0LWN1c3RvbWl6YXRpb24taWRcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjdXN0b21pemF0aW9uSWRcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cIjhcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInByb2R1Y2VyLXJlY2VpcHQtcHJvZmlsZS1pZFwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OlByb2ZpbGVJZCcgfCBhYnBMb2NhbGl6YXRpb24gfX0gKlxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJwcm9kdWNlci1yZWNlaXB0LXByb2ZpbGUtaWRcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwcm9maWxlSWRcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cIjMyXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwcm9kdWNlci1yZWNlaXB0LXByb2R1Y2VyLXJlY2VpcHQtaWRcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpQcm9kdWNlclJlY2VpcHRJRCcgfCBhYnBMb2NhbGl6YXRpb24gfX0gKlxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJwcm9kdWNlci1yZWNlaXB0LXByb2R1Y2VyLXJlY2VpcHQtaWRcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwcm9kdWNlclJlY2VpcHRJRFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiMzJcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBtYi0zXCI+XHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcclxuICAgICAgICAgICAgaWQ9XCJwcm9kdWNlci1yZWNlaXB0LWNvcHktaW5kaWNhdG9yXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY29weUluZGljYXRvclwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiXHJcbiAgICAgICAgICAvPlxyXG5cclxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJwcm9kdWNlci1yZWNlaXB0LWNvcHktaW5kaWNhdG9yXCIgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6Q29weUluZGljYXRvcicgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwcm9kdWNlci1yZWNlaXB0LXV1LWlkXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6VXVJZCcgfCBhYnBMb2NhbGl6YXRpb24gfX0gKlxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJwcm9kdWNlci1yZWNlaXB0LXV1LWlkXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidXVJZFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiNjRcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInByb2R1Y2VyLXJlY2VpcHQtaXNzdWUtZGF0ZVwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06Oklzc3VlRGF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCIgdmFsaWRhdGlvblRhcmdldD5cclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgICAgICBpZD1cInByb2R1Y2VyLXJlY2VpcHQtaXNzdWUtZGF0ZVwiXHJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiaXNzdWVEYXRlXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgbmdiRGF0ZXBpY2tlclxyXG4gICAgICAgICAgICAgICNpc3N1ZURhdGVJbnB1dFxyXG4gICAgICAgICAgICAgICNpc3N1ZURhdGVEYXRlcGlja2VyPVwibmdiRGF0ZXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImlzc3VlRGF0ZURhdGVwaWNrZXIub3BlbigpXCJcclxuICAgICAgICAgICAgICAoa2V5dXAuc3BhY2UpPVwiaXNzdWVEYXRlRGF0ZXBpY2tlci5vcGVuKClcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNzdWVEYXRlSW5wdXQudmFsdWVcIiBjbGFzcz1cImlucHV0LWdyb3VwLWFwcGVuZFwiPlxyXG4gICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIHB4LTJcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0FicFVpOjpDbGVhcicgfCBhYnBMb2NhbGl6YXRpb25cIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICBpc3N1ZURhdGVEYXRlcGlja2VyLndyaXRlVmFsdWUobnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgIGlzc3VlRGF0ZURhdGVwaWNrZXIubWFudWFsRGF0ZUNoYW5nZShudWxsLCB0cnVlKVxyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRpbWVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwicHJvZHVjZXItcmVjZWlwdC1pc3N1ZS10aW1lXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6SXNzdWVUaW1lJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIiB2YWxpZGF0aW9uVGFyZ2V0PlxyXG4gICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICByZWFkb25seVxyXG4gICAgICAgICAgICAgIGlkPVwicHJvZHVjZXItcmVjZWlwdC1pc3N1ZS10aW1lXCJcclxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJpc3N1ZVRpbWVcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICBuZ2JEYXRlcGlja2VyXHJcbiAgICAgICAgICAgICAgI2lzc3VlVGltZUlucHV0XHJcbiAgICAgICAgICAgICAgI2lzc3VlVGltZURhdGVwaWNrZXI9XCJuZ2JEYXRlcGlja2VyXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwiaXNzdWVUaW1lRGF0ZXBpY2tlci5vcGVuKClcIlxyXG4gICAgICAgICAgICAgIChrZXl1cC5zcGFjZSk9XCJpc3N1ZVRpbWVEYXRlcGlja2VyLm9wZW4oKVwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc3N1ZVRpbWVJbnB1dC52YWx1ZVwiIGNsYXNzPVwiaW5wdXQtZ3JvdXAtYXBwZW5kXCI+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgcHgtMlwiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCInQWJwVWk6OkNsZWFyJyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgIGlzc3VlVGltZURhdGVwaWNrZXIud3JpdGVWYWx1ZShudWxsKTtcclxuICAgICAgICAgICAgICAgICAgaXNzdWVUaW1lRGF0ZXBpY2tlci5tYW51YWxEYXRlQ2hhbmdlKG51bGwsIHRydWUpXHJcbiAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtdGltZXNcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwcm9kdWNlci1yZWNlaXB0LWNyZWRpdC1ub3RlLXR5cGUtY29kZVwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OkNyZWRpdE5vdGVUeXBlQ29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX0gKlxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJwcm9kdWNlci1yZWNlaXB0LWNyZWRpdC1ub3RlLXR5cGUtY29kZVwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImNyZWRpdE5vdGVUeXBlQ29kZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiMzJcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInByb2R1Y2VyLXJlY2VpcHQtZG9jdW1lbnQtY3VycmVuY3ktY29kZVwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OkRvY3VtZW50Q3VycmVuY3lDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fSAqXHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBpZD1cInByb2R1Y2VyLXJlY2VpcHQtZG9jdW1lbnQtY3VycmVuY3ktY29kZVwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRvY3VtZW50Q3VycmVuY3lDb2RlXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCIzXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwcm9kdWNlci1yZWNlaXB0LXRheC1jdXJyZW5jeS1jb2RlXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6VGF4Q3VycmVuY3lDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJwcm9kdWNlci1yZWNlaXB0LXRheC1jdXJyZW5jeS1jb2RlXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidGF4Q3VycmVuY3lDb2RlXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCIzXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwcm9kdWNlci1yZWNlaXB0LXByaWNpbmctY3VycmVuY3ktY29kZVwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OlByaWNpbmdDdXJyZW5jeUNvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBpZD1cInByb2R1Y2VyLXJlY2VpcHQtcHJpY2luZy1jdXJyZW5jeS1jb2RlXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicHJpY2luZ0N1cnJlbmN5Q29kZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiM1wiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwicHJvZHVjZXItcmVjZWlwdC1wYXltZW50LWN1cnJlbmN5LWNvZGVcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpQYXltZW50Q3VycmVuY3lDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJwcm9kdWNlci1yZWNlaXB0LXBheW1lbnQtY3VycmVuY3ktY29kZVwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBheW1lbnRDdXJyZW5jeUNvZGVcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cIjNcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInByb2R1Y2VyLXJlY2VpcHQtcGF5bWVudC1hbHRlcm5hdGl2ZS1jdXJyZW5jeS1jb2RlXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6UGF5bWVudEFsdGVybmF0aXZlQ3VycmVuY3lDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJwcm9kdWNlci1yZWNlaXB0LXBheW1lbnQtYWx0ZXJuYXRpdmUtY3VycmVuY3ktY29kZVwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBheW1lbnRBbHRlcm5hdGl2ZUN1cnJlbmN5Q29kZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiM1wiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwicHJvZHVjZXItcmVjZWlwdC1hY2NvdW50aW5nLWNvc3RcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpBY2NvdW50aW5nQ29zdCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIGlkPVwicHJvZHVjZXItcmVjZWlwdC1hY2NvdW50aW5nLWNvc3RcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJhY2NvdW50aW5nQ29zdFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiMzJcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInByb2R1Y2VyLXJlY2VpcHQtbGluZS1jb3VudC1udW1lcmljXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TGluZUNvdW50TnVtZXJpYycgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICBpZD1cInByb2R1Y2VyLXJlY2VpcHQtbGluZS1jb3VudC1udW1lcmljXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibGluZUNvdW50TnVtZXJpY1wiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwcm9kdWNlci1yZWNlaXB0LWFjY291bnRpbmctc3VwcGxpZXItcGFydHktbmFtZVwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OkFjY291bnRpbmdTdXBwbGllclBhcnR5TmFtZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIGlkPVwicHJvZHVjZXItcmVjZWlwdC1hY2NvdW50aW5nLXN1cHBsaWVyLXBhcnR5LW5hbWVcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJhY2NvdW50aW5nU3VwcGxpZXJQYXJ0eU5hbWVcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cIjUxMlwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwicHJvZHVjZXItcmVjZWlwdC1hY2NvdW50aW5nLXN1cHBsaWVyLXBhcnR5LXNjaGVtZS1pZFwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OkFjY291bnRpbmdTdXBwbGllclBhcnR5U2NoZW1lSUQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBpZD1cInByb2R1Y2VyLXJlY2VpcHQtYWNjb3VudGluZy1zdXBwbGllci1wYXJ0eS1zY2hlbWUtaWRcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJhY2NvdW50aW5nU3VwcGxpZXJQYXJ0eVNjaGVtZUlEXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCIxNlwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwicHJvZHVjZXItcmVjZWlwdC1hY2NvdW50aW5nLXN1cHBsaWVyLXBhcnR5LXZrbnRja25cIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpBY2NvdW50aW5nU3VwcGxpZXJQYXJ0eVZLTlRDS04nIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBpZD1cInByb2R1Y2VyLXJlY2VpcHQtYWNjb3VudGluZy1zdXBwbGllci1wYXJ0eS12a250Y2tuXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiYWNjb3VudGluZ1N1cHBsaWVyUGFydHlWS05UQ0tOXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCIxNlwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwicHJvZHVjZXItcmVjZWlwdC1hY2NvdW50aW5nLWN1c3RvbWVyLXBhcnR5LW5hbWVcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpBY2NvdW50aW5nQ3VzdG9tZXJQYXJ0eU5hbWUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBpZD1cInByb2R1Y2VyLXJlY2VpcHQtYWNjb3VudGluZy1jdXN0b21lci1wYXJ0eS1uYW1lXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiYWNjb3VudGluZ0N1c3RvbWVyUGFydHlOYW1lXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCI1MTJcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInByb2R1Y2VyLXJlY2VpcHQtYWNjb3VudGluZy1jdXN0b21lci1wYXJ0eS1zY2hlbWUtaWRcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpBY2NvdW50aW5nQ3VzdG9tZXJQYXJ0eVNjaGVtZUlEJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJwcm9kdWNlci1yZWNlaXB0LWFjY291bnRpbmctY3VzdG9tZXItcGFydHktc2NoZW1lLWlkXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiYWNjb3VudGluZ0N1c3RvbWVyUGFydHlTY2hlbWVJRFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiMTZcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInByb2R1Y2VyLXJlY2VpcHQtYWNjb3VudGluZy1jdXN0b21lci1wYXJ0eS12a250Y2tuXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6QWNjb3VudGluZ0N1c3RvbWVyUGFydHlWS05UQ0tOJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJwcm9kdWNlci1yZWNlaXB0LWFjY291bnRpbmctY3VzdG9tZXItcGFydHktdmtudGNrblwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImFjY291bnRpbmdDdXN0b21lclBhcnR5VktOVENLTlwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiMTZcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInByb2R1Y2VyLXJlY2VpcHQtZGVsaXZlcnktYWN0dWFsLWRlbGl2ZXJ5LWRhdGVcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpEZWxpdmVyeUFjdHVhbERlbGl2ZXJ5RGF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCIgdmFsaWRhdGlvblRhcmdldD5cclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgICAgICBpZD1cInByb2R1Y2VyLXJlY2VpcHQtZGVsaXZlcnktYWN0dWFsLWRlbGl2ZXJ5LWRhdGVcIlxyXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRlbGl2ZXJ5QWN0dWFsRGVsaXZlcnlEYXRlXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgbmdiRGF0ZXBpY2tlclxyXG4gICAgICAgICAgICAgICNkZWxpdmVyeUFjdHVhbERlbGl2ZXJ5RGF0ZUlucHV0XHJcbiAgICAgICAgICAgICAgI2RlbGl2ZXJ5QWN0dWFsRGVsaXZlcnlEYXRlRGF0ZXBpY2tlcj1cIm5nYkRhdGVwaWNrZXJcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJkZWxpdmVyeUFjdHVhbERlbGl2ZXJ5RGF0ZURhdGVwaWNrZXIub3BlbigpXCJcclxuICAgICAgICAgICAgICAoa2V5dXAuc3BhY2UpPVwiZGVsaXZlcnlBY3R1YWxEZWxpdmVyeURhdGVEYXRlcGlja2VyLm9wZW4oKVwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJkZWxpdmVyeUFjdHVhbERlbGl2ZXJ5RGF0ZUlucHV0LnZhbHVlXCIgY2xhc3M9XCJpbnB1dC1ncm91cC1hcHBlbmRcIj5cclxuICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGluayBweC0yXCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIidBYnBVaTo6Q2xlYXInIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJcclxuICAgICAgICAgICAgICAgICAgZGVsaXZlcnlBY3R1YWxEZWxpdmVyeURhdGVEYXRlcGlja2VyLndyaXRlVmFsdWUobnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgIGRlbGl2ZXJ5QWN0dWFsRGVsaXZlcnlEYXRlRGF0ZXBpY2tlci5tYW51YWxEYXRlQ2hhbmdlKG51bGwsIHRydWUpXHJcbiAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtdGltZXNcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwcm9kdWNlci1yZWNlaXB0LXRheC1leGNoYW5nZS1yYXRlLXNvdXJjZS1jdXJyZW5jeS1jb2RlXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6VGF4RXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJwcm9kdWNlci1yZWNlaXB0LXRheC1leGNoYW5nZS1yYXRlLXNvdXJjZS1jdXJyZW5jeS1jb2RlXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidGF4RXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCIzXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwcm9kdWNlci1yZWNlaXB0LXRheC1leGNoYW5nZS1yYXRlLXRhcmdldC1jdXJyZW5jeS1jb2RlXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6VGF4RXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJwcm9kdWNlci1yZWNlaXB0LXRheC1leGNoYW5nZS1yYXRlLXRhcmdldC1jdXJyZW5jeS1jb2RlXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidGF4RXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCIzXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwcm9kdWNlci1yZWNlaXB0LXRheC1leGNoYW5nZS1yYXRlLWNhbGN1bGF0aW9uLXJhdGVcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpUYXhFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgaWQ9XCJwcm9kdWNlci1yZWNlaXB0LXRheC1leGNoYW5nZS1yYXRlLWNhbGN1bGF0aW9uLXJhdGVcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ0YXhFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGVcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwicHJvZHVjZXItcmVjZWlwdC10YXgtZXhjaGFuZ2UtcmF0ZS1kYXRlXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6VGF4RXhjaGFuZ2VSYXRlRGF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCIgdmFsaWRhdGlvblRhcmdldD5cclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgICAgICBpZD1cInByb2R1Y2VyLXJlY2VpcHQtdGF4LWV4Y2hhbmdlLXJhdGUtZGF0ZVwiXHJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidGF4RXhjaGFuZ2VSYXRlRGF0ZVwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgIG5nYkRhdGVwaWNrZXJcclxuICAgICAgICAgICAgICAjdGF4RXhjaGFuZ2VSYXRlRGF0ZUlucHV0XHJcbiAgICAgICAgICAgICAgI3RheEV4Y2hhbmdlUmF0ZURhdGVEYXRlcGlja2VyPVwibmdiRGF0ZXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInRheEV4Y2hhbmdlUmF0ZURhdGVEYXRlcGlja2VyLm9wZW4oKVwiXHJcbiAgICAgICAgICAgICAgKGtleXVwLnNwYWNlKT1cInRheEV4Y2hhbmdlUmF0ZURhdGVEYXRlcGlja2VyLm9wZW4oKVwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0YXhFeGNoYW5nZVJhdGVEYXRlSW5wdXQudmFsdWVcIiBjbGFzcz1cImlucHV0LWdyb3VwLWFwcGVuZFwiPlxyXG4gICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIHB4LTJcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0FicFVpOjpDbGVhcicgfCBhYnBMb2NhbGl6YXRpb25cIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICB0YXhFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlci53cml0ZVZhbHVlKG51bGwpO1xyXG4gICAgICAgICAgICAgICAgICB0YXhFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlci5tYW51YWxEYXRlQ2hhbmdlKG51bGwsIHRydWUpXHJcbiAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtdGltZXNcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tbGFiZWxcIlxyXG4gICAgICAgICAgICBmb3I9XCJwcm9kdWNlci1yZWNlaXB0LXByaWNpbmctZXhjaGFuZ2UtcmF0ZS1zb3VyY2UtY3VycmVuY3ktY29kZVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6UHJpY2luZ0V4Y2hhbmdlUmF0ZVNvdXJjZUN1cnJlbmN5Q29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIGlkPVwicHJvZHVjZXItcmVjZWlwdC1wcmljaW5nLWV4Y2hhbmdlLXJhdGUtc291cmNlLWN1cnJlbmN5LWNvZGVcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwcmljaW5nRXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCIzXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tbGFiZWxcIlxyXG4gICAgICAgICAgICBmb3I9XCJwcm9kdWNlci1yZWNlaXB0LXByaWNpbmctZXhjaGFuZ2UtcmF0ZS10YXJnZXQtY3VycmVuY3ktY29kZVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6UHJpY2luZ0V4Y2hhbmdlUmF0ZVRhcmdldEN1cnJlbmN5Q29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIGlkPVwicHJvZHVjZXItcmVjZWlwdC1wcmljaW5nLWV4Y2hhbmdlLXJhdGUtdGFyZ2V0LWN1cnJlbmN5LWNvZGVcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwcmljaW5nRXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCIzXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwcm9kdWNlci1yZWNlaXB0LXByaWNpbmctZXhjaGFuZ2UtcmF0ZS1jYWxjdWxhdGlvbi1yYXRlXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6UHJpY2luZ0V4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCIgdmFsaWRhdGlvblRhcmdldD5cclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgICAgICBpZD1cInByb2R1Y2VyLXJlY2VpcHQtcHJpY2luZy1leGNoYW5nZS1yYXRlLWNhbGN1bGF0aW9uLXJhdGVcIlxyXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInByaWNpbmdFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGVcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICBuZ2JEYXRlcGlja2VyXHJcbiAgICAgICAgICAgICAgI3ByaWNpbmdFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGVJbnB1dFxyXG4gICAgICAgICAgICAgICNwcmljaW5nRXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlRGF0ZXBpY2tlcj1cIm5nYkRhdGVwaWNrZXJcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJwcmljaW5nRXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlRGF0ZXBpY2tlci5vcGVuKClcIlxyXG4gICAgICAgICAgICAgIChrZXl1cC5zcGFjZSk9XCJwcmljaW5nRXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlRGF0ZXBpY2tlci5vcGVuKClcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicHJpY2luZ0V4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZUlucHV0LnZhbHVlXCIgY2xhc3M9XCJpbnB1dC1ncm91cC1hcHBlbmRcIj5cclxuICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGluayBweC0yXCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIidBYnBVaTo6Q2xlYXInIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJcclxuICAgICAgICAgICAgICAgICAgcHJpY2luZ0V4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZURhdGVwaWNrZXIud3JpdGVWYWx1ZShudWxsKTtcclxuICAgICAgICAgICAgICAgICAgcHJpY2luZ0V4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZURhdGVwaWNrZXIubWFudWFsRGF0ZUNoYW5nZShudWxsLCB0cnVlKVxyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRpbWVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwicHJvZHVjZXItcmVjZWlwdC1wcmljaW5nLWV4Y2hhbmdlLXJhdGUtZGF0ZVwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OlByaWNpbmdFeGNoYW5nZVJhdGVEYXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIiB2YWxpZGF0aW9uVGFyZ2V0PlxyXG4gICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICByZWFkb25seVxyXG4gICAgICAgICAgICAgIGlkPVwicHJvZHVjZXItcmVjZWlwdC1wcmljaW5nLWV4Y2hhbmdlLXJhdGUtZGF0ZVwiXHJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicHJpY2luZ0V4Y2hhbmdlUmF0ZURhdGVcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICBuZ2JEYXRlcGlja2VyXHJcbiAgICAgICAgICAgICAgI3ByaWNpbmdFeGNoYW5nZVJhdGVEYXRlSW5wdXRcclxuICAgICAgICAgICAgICAjcHJpY2luZ0V4Y2hhbmdlUmF0ZURhdGVEYXRlcGlja2VyPVwibmdiRGF0ZXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInByaWNpbmdFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlci5vcGVuKClcIlxyXG4gICAgICAgICAgICAgIChrZXl1cC5zcGFjZSk9XCJwcmljaW5nRXhjaGFuZ2VSYXRlRGF0ZURhdGVwaWNrZXIub3BlbigpXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInByaWNpbmdFeGNoYW5nZVJhdGVEYXRlSW5wdXQudmFsdWVcIiBjbGFzcz1cImlucHV0LWdyb3VwLWFwcGVuZFwiPlxyXG4gICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIHB4LTJcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0FicFVpOjpDbGVhcicgfCBhYnBMb2NhbGl6YXRpb25cIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICBwcmljaW5nRXhjaGFuZ2VSYXRlRGF0ZURhdGVwaWNrZXIud3JpdGVWYWx1ZShudWxsKTtcclxuICAgICAgICAgICAgICAgICAgcHJpY2luZ0V4Y2hhbmdlUmF0ZURhdGVEYXRlcGlja2VyLm1hbnVhbERhdGVDaGFuZ2UobnVsbCwgdHJ1ZSlcclxuICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10aW1lc1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1sYWJlbFwiXHJcbiAgICAgICAgICAgIGZvcj1cInByb2R1Y2VyLXJlY2VpcHQtcGF5bWVudC1leGNoYW5nZS1yYXRlLXNvdXJjZS1jdXJyZW5jeS1jb2RlXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpQYXltZW50RXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJwcm9kdWNlci1yZWNlaXB0LXBheW1lbnQtZXhjaGFuZ2UtcmF0ZS1zb3VyY2UtY3VycmVuY3ktY29kZVwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBheW1lbnRFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGVcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cIjNcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1sYWJlbFwiXHJcbiAgICAgICAgICAgIGZvcj1cInByb2R1Y2VyLXJlY2VpcHQtcGF5bWVudC1leGNoYW5nZS1yYXRlLXRhcmdldC1jdXJyZW5jeS1jb2RlXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpQYXltZW50RXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJwcm9kdWNlci1yZWNlaXB0LXBheW1lbnQtZXhjaGFuZ2UtcmF0ZS10YXJnZXQtY3VycmVuY3ktY29kZVwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBheW1lbnRFeGNoYW5nZVJhdGVUYXJnZXRDdXJyZW5jeUNvZGVcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cIjNcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInByb2R1Y2VyLXJlY2VpcHQtcGF5bWVudC1leGNoYW5nZS1yYXRlLWNhbGN1bGF0aW9uLXJhdGVcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpQYXltZW50RXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgIGlkPVwicHJvZHVjZXItcmVjZWlwdC1wYXltZW50LWV4Y2hhbmdlLXJhdGUtY2FsY3VsYXRpb24tcmF0ZVwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBheW1lbnRFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGVcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwicHJvZHVjZXItcmVjZWlwdC1wYXltZW50LWV4Y2hhbmdlLXJhdGUtZGF0ZVwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OlBheW1lbnRFeGNoYW5nZVJhdGVEYXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIiB2YWxpZGF0aW9uVGFyZ2V0PlxyXG4gICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICByZWFkb25seVxyXG4gICAgICAgICAgICAgIGlkPVwicHJvZHVjZXItcmVjZWlwdC1wYXltZW50LWV4Y2hhbmdlLXJhdGUtZGF0ZVwiXHJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicGF5bWVudEV4Y2hhbmdlUmF0ZURhdGVcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICBuZ2JEYXRlcGlja2VyXHJcbiAgICAgICAgICAgICAgI3BheW1lbnRFeGNoYW5nZVJhdGVEYXRlSW5wdXRcclxuICAgICAgICAgICAgICAjcGF5bWVudEV4Y2hhbmdlUmF0ZURhdGVEYXRlcGlja2VyPVwibmdiRGF0ZXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInBheW1lbnRFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlci5vcGVuKClcIlxyXG4gICAgICAgICAgICAgIChrZXl1cC5zcGFjZSk9XCJwYXltZW50RXhjaGFuZ2VSYXRlRGF0ZURhdGVwaWNrZXIub3BlbigpXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInBheW1lbnRFeGNoYW5nZVJhdGVEYXRlSW5wdXQudmFsdWVcIiBjbGFzcz1cImlucHV0LWdyb3VwLWFwcGVuZFwiPlxyXG4gICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIHB4LTJcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0FicFVpOjpDbGVhcicgfCBhYnBMb2NhbGl6YXRpb25cIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICBwYXltZW50RXhjaGFuZ2VSYXRlRGF0ZURhdGVwaWNrZXIud3JpdGVWYWx1ZShudWxsKTtcclxuICAgICAgICAgICAgICAgICAgcGF5bWVudEV4Y2hhbmdlUmF0ZURhdGVEYXRlcGlja2VyLm1hbnVhbERhdGVDaGFuZ2UobnVsbCwgdHJ1ZSlcclxuICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10aW1lc1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1sYWJlbFwiXHJcbiAgICAgICAgICAgIGZvcj1cInByb2R1Y2VyLXJlY2VpcHQtcGF5bWVudC1hbHRlcm5hdGl2ZS1leGNoYW5nZS1yYXRlLXNvdXJjZS1jdXJyZW5jeS1jb2RlXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpQYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBpZD1cInByb2R1Y2VyLXJlY2VpcHQtcGF5bWVudC1hbHRlcm5hdGl2ZS1leGNoYW5nZS1yYXRlLXNvdXJjZS1jdXJyZW5jeS1jb2RlXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCIzXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tbGFiZWxcIlxyXG4gICAgICAgICAgICBmb3I9XCJwcm9kdWNlci1yZWNlaXB0LXBheW1lbnQtYWx0ZXJuYXRpdmUtZXhjaGFuZ2UtcmF0ZS10YXJnZXQtY3VycmVuY3ktY29kZVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6UGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJwcm9kdWNlci1yZWNlaXB0LXBheW1lbnQtYWx0ZXJuYXRpdmUtZXhjaGFuZ2UtcmF0ZS10YXJnZXQtY3VycmVuY3ktY29kZVwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZVRhcmdldEN1cnJlbmN5Q29kZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiM1wiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWxhYmVsXCJcclxuICAgICAgICAgICAgZm9yPVwicHJvZHVjZXItcmVjZWlwdC1wYXltZW50LWFsdGVybmF0aXZlLWV4Y2hhbmdlLXJhdGUtY2FsY3VsYXRpb24tcmF0ZVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6UGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgIGlkPVwicHJvZHVjZXItcmVjZWlwdC1wYXltZW50LWFsdGVybmF0aXZlLWV4Y2hhbmdlLXJhdGUtY2FsY3VsYXRpb24tcmF0ZVwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwcm9kdWNlci1yZWNlaXB0LXBheW1lbnQtYWx0ZXJuYXRpdmUtZXhjaGFuZ2UtcmF0ZS1kYXRlXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6UGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlRGF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCIgdmFsaWRhdGlvblRhcmdldD5cclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgICAgICBpZD1cInByb2R1Y2VyLXJlY2VpcHQtcGF5bWVudC1hbHRlcm5hdGl2ZS1leGNoYW5nZS1yYXRlLWRhdGVcIlxyXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZURhdGVcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICBuZ2JEYXRlcGlja2VyXHJcbiAgICAgICAgICAgICAgI3BheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZURhdGVJbnB1dFxyXG4gICAgICAgICAgICAgICNwYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlcj1cIm5nYkRhdGVwaWNrZXJcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJwYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlci5vcGVuKClcIlxyXG4gICAgICAgICAgICAgIChrZXl1cC5zcGFjZSk9XCJwYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlci5vcGVuKClcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlRGF0ZUlucHV0LnZhbHVlXCIgY2xhc3M9XCJpbnB1dC1ncm91cC1hcHBlbmRcIj5cclxuICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGluayBweC0yXCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIidBYnBVaTo6Q2xlYXInIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJcclxuICAgICAgICAgICAgICAgICAgcGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlRGF0ZURhdGVwaWNrZXIud3JpdGVWYWx1ZShudWxsKTtcclxuICAgICAgICAgICAgICAgICAgcGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlRGF0ZURhdGVwaWNrZXIubWFudWFsRGF0ZUNoYW5nZShudWxsLCB0cnVlKVxyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRpbWVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWxhYmVsXCJcclxuICAgICAgICAgICAgZm9yPVwicHJvZHVjZXItcmVjZWlwdC1sZWdhbC1tb25ldGFyeS10b3RhbC1saW5lLWV4dGVuc2lvbi1hbW91bnRcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OkxlZ2FsTW9uZXRhcnlUb3RhbExpbmVFeHRlbnNpb25BbW91bnQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgaWQ9XCJwcm9kdWNlci1yZWNlaXB0LWxlZ2FsLW1vbmV0YXJ5LXRvdGFsLWxpbmUtZXh0ZW5zaW9uLWFtb3VudFwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImxlZ2FsTW9uZXRhcnlUb3RhbExpbmVFeHRlbnNpb25BbW91bnRcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWxhYmVsXCJcclxuICAgICAgICAgICAgZm9yPVwicHJvZHVjZXItcmVjZWlwdC1sZWdhbC1tb25ldGFyeS10b3RhbC10YXgtZXhjbHVzaXZlLWFtb3VudFwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TGVnYWxNb25ldGFyeVRvdGFsVGF4RXhjbHVzaXZlQW1vdW50JyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgIGlkPVwicHJvZHVjZXItcmVjZWlwdC1sZWdhbC1tb25ldGFyeS10b3RhbC10YXgtZXhjbHVzaXZlLWFtb3VudFwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImxlZ2FsTW9uZXRhcnlUb3RhbFRheEV4Y2x1c2l2ZUFtb3VudFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tbGFiZWxcIlxyXG4gICAgICAgICAgICBmb3I9XCJwcm9kdWNlci1yZWNlaXB0LWxlZ2FsLW1vbmV0YXJ5LXRvdGFsLXRheC1pbmNsdXNpdmUtYW1vdW50XCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpMZWdhbE1vbmV0YXJ5VG90YWxUYXhJbmNsdXNpdmVBbW91bnQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgaWQ9XCJwcm9kdWNlci1yZWNlaXB0LWxlZ2FsLW1vbmV0YXJ5LXRvdGFsLXRheC1pbmNsdXNpdmUtYW1vdW50XCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibGVnYWxNb25ldGFyeVRvdGFsVGF4SW5jbHVzaXZlQW1vdW50XCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1sYWJlbFwiXHJcbiAgICAgICAgICAgIGZvcj1cInByb2R1Y2VyLXJlY2VpcHQtbGVnYWwtbW9uZXRhcnktdG90YWwtYWxsb3dhbmNlLXRvdGFsLWFtb3VudFwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TGVnYWxNb25ldGFyeVRvdGFsQWxsb3dhbmNlVG90YWxBbW91bnQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgaWQ9XCJwcm9kdWNlci1yZWNlaXB0LWxlZ2FsLW1vbmV0YXJ5LXRvdGFsLWFsbG93YW5jZS10b3RhbC1hbW91bnRcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJsZWdhbE1vbmV0YXJ5VG90YWxBbGxvd2FuY2VUb3RhbEFtb3VudFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwcm9kdWNlci1yZWNlaXB0LWxlZ2FsLW1vbmV0YXJ5LXRvdGFsLWNoYXJnZS10b3RhbC1hbW91bnRcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpMZWdhbE1vbmV0YXJ5VG90YWxDaGFyZ2VUb3RhbEFtb3VudCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICBpZD1cInByb2R1Y2VyLXJlY2VpcHQtbGVnYWwtbW9uZXRhcnktdG90YWwtY2hhcmdlLXRvdGFsLWFtb3VudFwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImxlZ2FsTW9uZXRhcnlUb3RhbENoYXJnZVRvdGFsQW1vdW50XCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1sYWJlbFwiXHJcbiAgICAgICAgICAgIGZvcj1cInByb2R1Y2VyLXJlY2VpcHQtbGVnYWwtbW9uZXRhcnktdG90YWwtcGF5YWJsZS1yb3VuZGluZy1hbW91bnRcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OkxlZ2FsTW9uZXRhcnlUb3RhbFBheWFibGVSb3VuZGluZ0Ftb3VudCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICBpZD1cInByb2R1Y2VyLXJlY2VpcHQtbGVnYWwtbW9uZXRhcnktdG90YWwtcGF5YWJsZS1yb3VuZGluZy1hbW91bnRcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJsZWdhbE1vbmV0YXJ5VG90YWxQYXlhYmxlUm91bmRpbmdBbW91bnRcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwicHJvZHVjZXItcmVjZWlwdC1sZWdhbC1tb25ldGFyeS10b3RhbC1wYXlhYmxlLWFtb3VudFwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OkxlZ2FsTW9uZXRhcnlUb3RhbFBheWFibGVBbW91bnQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgaWQ9XCJwcm9kdWNlci1yZWNlaXB0LWxlZ2FsLW1vbmV0YXJ5LXRvdGFsLXBheWFibGUtYW1vdW50XCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibGVnYWxNb25ldGFyeVRvdGFsUGF5YWJsZUFtb3VudFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgbWItM1wiPlxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgICAgIGlkPVwicHJvZHVjZXItcmVjZWlwdC1pcy1jYW5jZWxlZFwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImlzQ2FuY2VsZWRcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIlxyXG4gICAgICAgICAgLz5cclxuXHJcbiAgICAgICAgICA8bGFiZWwgZm9yPVwicHJvZHVjZXItcmVjZWlwdC1pcy1jYW5jZWxlZFwiIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OklzQ2FuY2VsZWQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwicHJvZHVjZXItcmVjZWlwdC1jYW5jZWwtY29kZVwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OkNhbmNlbENvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBpZD1cInByb2R1Y2VyLXJlY2VpcHQtY2FuY2VsLWNvZGVcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjYW5jZWxDb2RlXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCIxNlwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwicHJvZHVjZXItcmVjZWlwdC1jYW5jZWwtZGVzY3JpcHRpb25cIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpDYW5jZWxEZXNjcmlwdGlvbicgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIGlkPVwicHJvZHVjZXItcmVjZWlwdC1jYW5jZWwtZGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjYW5jZWxEZXNjcmlwdGlvblwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiNTEyXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwcm9kdWNlci1yZWNlaXB0LXN0YXR1c1wiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OlN0YXR1cycgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICBpZD1cInByb2R1Y2VyLXJlY2VpcHQtc3RhdHVzXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic3RhdHVzXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInByb2R1Y2VyLXJlY2VpcHQtcmVzb3VyY2UtZG9jLWVudHJ5XCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6UmVzb3VyY2VEb2NFbnRyeScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICBpZD1cInByb2R1Y2VyLXJlY2VpcHQtcmVzb3VyY2UtZG9jLWVudHJ5XCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicmVzb3VyY2VEb2NFbnRyeVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwcm9kdWNlci1yZWNlaXB0LXJlc291cmNlLWRvYy10eXBlXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6UmVzb3VyY2VEb2NUeXBlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgIGlkPVwicHJvZHVjZXItcmVjZWlwdC1yZXNvdXJjZS1kb2MtdHlwZVwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInJlc291cmNlRG9jVHlwZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwcm9kdWNlci1yZWNlaXB0LWVudGVncmF0b3ItZXJyb3ItbWVzc2FnZVwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OkVudGVncmF0b3JFcnJvck1lc3NhZ2UnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBpZD1cInByb2R1Y2VyLXJlY2VpcHQtZW50ZWdyYXRvci1lcnJvci1tZXNzYWdlXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZW50ZWdyYXRvckVycm9yTWVzc2FnZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiNTEyXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwcm9kdWNlci1yZWNlaXB0LXJlc291cmNlLXN1Yi1kb2MtdHlwZVwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OlJlc291cmNlU3ViRG9jVHlwZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICBpZD1cInByb2R1Y2VyLXJlY2VpcHQtcmVzb3VyY2Utc3ViLWRvYy10eXBlXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicmVzb3VyY2VTdWJEb2NUeXBlXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInByb2R1Y2VyLXJlY2VpcHQtcmVzb3VyY2Utam91cm5hbC1lbnRyeVwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OlJlc291cmNlSm91cm5hbEVudHJ5JyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgIGlkPVwicHJvZHVjZXItcmVjZWlwdC1yZXNvdXJjZS1qb3VybmFsLWVudHJ5XCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicmVzb3VyY2VKb3VybmFsRW50cnlcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIG1iLTNcIj5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgICAgICBpZD1cInByb2R1Y2VyLXJlY2VpcHQtaXMtZHJhZnRcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJpc0RyYWZ0XCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCJcclxuICAgICAgICAgIC8+XHJcblxyXG4gICAgICAgICAgPGxhYmVsIGZvcj1cInByb2R1Y2VyLXJlY2VpcHQtaXMtZHJhZnRcIiBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpJc0RyYWZ0JyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInByb2R1Y2VyLXJlY2VpcHQtc2VsZWN0ZWQtcmVjZWlwdC1zZXJpYWxcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpTZWxlY3RlZFJlY2VpcHRTZXJpYWwnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBpZD1cInByb2R1Y2VyLXJlY2VpcHQtc2VsZWN0ZWQtcmVjZWlwdC1zZXJpYWxcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzZWxlY3RlZFJlY2VpcHRTZXJpYWxcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cIjE2XCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9mb3JtPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwRm9vdGVyPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIGFicENsb3NlPlxyXG4gICAgICB7eyAnQWJwVWk6OkNhbmNlbCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgIDwvYnV0dG9uPlxyXG5cclxuICAgIDxhYnAtYnV0dG9uIGljb25DbGFzcz1cImZhIGZhLWNoZWNrXCIgYnV0dG9uVHlwZT1cInN1Ym1pdFwiIGZvcm1OYW1lPVwicHJvZHVjZXItcmVjZWlwdFwiPlxyXG4gICAgICB7eyAnQWJwVWk6OlNhdmUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICA8L2FicC1idXR0b24+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9hYnAtbW9kYWw+XHJcbiJdfQ==