keevo-components 1.8.85 → 1.8.87
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.mjs +9 -3
- package/esm2022/lib/components/kv-image-upload/kv-image-upload.component.mjs +5 -3
- package/esm2022/lib/components/kv-page-form/kv-page-form.component.mjs +35 -4
- package/esm2022/lib/components/kv-table/kv-table.component.mjs +3 -12
- package/esm2022/lib/components/kv-workspace/kv-workspace.component.mjs +81 -92
- package/fesm2022/keevo-components.mjs +128 -109
- package/fesm2022/keevo-components.mjs.map +1 -1
- package/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.d.ts +3 -1
- package/lib/components/kv-image-upload/kv-image-upload.component.d.ts +2 -1
- package/lib/components/kv-page-form/kv-page-form.component.d.ts +20 -3
- package/lib/components/kv-workspace/kv-workspace.component.d.ts +35 -16
- package/package.json +1 -1
|
@@ -5,84 +5,50 @@ import * as i1 from "@angular/common";
|
|
|
5
5
|
import * as i2 from "../kv-table/kv-table.component";
|
|
6
6
|
export class WorkspaceComponent {
|
|
7
7
|
constructor() {
|
|
8
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Nome do usuário logado
|
|
10
|
+
*/
|
|
9
11
|
this.nomeUsuario = 'Nome do Usuário Logado';
|
|
10
|
-
|
|
12
|
+
/**
|
|
13
|
+
* Selecionar apenas master
|
|
14
|
+
*/
|
|
15
|
+
this.somenteMaster = false;
|
|
16
|
+
/**
|
|
17
|
+
* Evento de master selecionada
|
|
18
|
+
*/
|
|
11
19
|
this.onGetMasterSelecionada = new EventEmitter();
|
|
20
|
+
/**
|
|
21
|
+
* Evento de empresa selecionada
|
|
22
|
+
*/
|
|
12
23
|
this.onGetEmpresaSelecionada = new EventEmitter();
|
|
24
|
+
this.totalRecordsEmpresa = 0;
|
|
25
|
+
this.showPaginatorEmpresa = false;
|
|
13
26
|
this.visivel = true;
|
|
14
27
|
this.txtPesquisa = '';
|
|
15
28
|
this.imgPersonagens = '';
|
|
16
29
|
this.imgLogoKeevo = '';
|
|
17
30
|
this.styleBackground = '';
|
|
18
31
|
this.imgLogoKeevoCenter = '';
|
|
19
|
-
|
|
32
|
+
//Tabela Master
|
|
20
33
|
this.dataSourceMaster = [];
|
|
21
|
-
this.
|
|
34
|
+
this.tableSizeMaster = 5;
|
|
35
|
+
//Tabela Empresa
|
|
22
36
|
this.dataSourceEmpresa = [];
|
|
37
|
+
this.tableSizeEmpresa = 5;
|
|
23
38
|
}
|
|
24
|
-
|
|
25
|
-
this.
|
|
26
|
-
this.imgLogoKeevo = ImagensService.getLogoKeevo();
|
|
27
|
-
this.imgLogoKeevoCenter = ImagensService.getLogoKeevoCenter();
|
|
28
|
-
this.styleBackground =
|
|
29
|
-
'background-image: url(' + ImagensService.getBackgroundWorkSpace() + ');';
|
|
30
|
-
this.columnConfigTableMaster();
|
|
31
|
-
this.verificaMasterUnica();
|
|
32
|
-
}
|
|
33
|
-
verificaMasterUnica() {
|
|
34
|
-
if (this.masters.length == 1)
|
|
35
|
-
this.selecionarMaster(this.masters[0]);
|
|
36
|
-
}
|
|
37
|
-
selecionarMaster(master) {
|
|
38
|
-
this.onGetMasterSelecionada.emit(master);
|
|
39
|
-
this.masterSelecionada = master;
|
|
40
|
-
if (this.somenteMaster)
|
|
41
|
-
this.visivel = false;
|
|
42
|
-
else {
|
|
43
|
-
this.empresas = master.empresas;
|
|
44
|
-
this.columnConfigTableEmpresa();
|
|
45
|
-
this.verificaEmpresaUnica();
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
verificaEmpresaUnica() {
|
|
49
|
-
if (this.empresas && this.empresas.length == 1)
|
|
50
|
-
this.selecionarEmpresa(this.empresas[0]);
|
|
51
|
-
}
|
|
52
|
-
selecionarEmpresa(empresa) {
|
|
53
|
-
this.onGetEmpresaSelecionada.emit(empresa);
|
|
54
|
-
this.empresaSelecionada = empresa;
|
|
55
|
-
this.visivel = false;
|
|
56
|
-
}
|
|
57
|
-
voltar() {
|
|
58
|
-
this.empresaSelecionada = undefined;
|
|
59
|
-
this.masterSelecionada = undefined;
|
|
39
|
+
activeItemEmpresa(e) {
|
|
40
|
+
this.selectedItemEmpresa = e;
|
|
60
41
|
}
|
|
61
|
-
|
|
62
|
-
this.
|
|
42
|
+
activeItemMaster(e) {
|
|
43
|
+
this.selectedItemMaster = e;
|
|
63
44
|
}
|
|
64
|
-
//------------------MASTER------------------------
|
|
65
45
|
columnConfigTableMaster() {
|
|
66
46
|
this.dataSourceMaster = this.masters;
|
|
67
47
|
this.tableConfigMaster = {
|
|
68
48
|
lazy: false,
|
|
69
49
|
columns: [
|
|
70
|
-
{
|
|
71
|
-
|
|
72
|
-
field: 'idmaster',
|
|
73
|
-
header: 'Licença',
|
|
74
|
-
width: '',
|
|
75
|
-
centralize: false,
|
|
76
|
-
sortable: false,
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
position: 1,
|
|
80
|
-
field: 'razaosocial',
|
|
81
|
-
header: '',
|
|
82
|
-
width: '80%',
|
|
83
|
-
centralize: false,
|
|
84
|
-
sortable: false,
|
|
85
|
-
},
|
|
50
|
+
{ position: 0, field: 'idmaster', header: 'Licença', width: '', centralize: false, sortable: false },
|
|
51
|
+
{ position: 1, field: 'nome', header: '', width: '80%', centralize: false, sortable: false, },
|
|
86
52
|
],
|
|
87
53
|
actions: [
|
|
88
54
|
{
|
|
@@ -103,35 +69,14 @@ export class WorkspaceComponent {
|
|
|
103
69
|
enableSelect: false,
|
|
104
70
|
};
|
|
105
71
|
}
|
|
106
|
-
activeItemMaster(e) {
|
|
107
|
-
this.selectedItemMaster = e;
|
|
108
|
-
}
|
|
109
|
-
doubleClickMaster(e) {
|
|
110
|
-
this.selectedItemMaster = e.rowData;
|
|
111
|
-
this.selecionarMaster(e.rowData);
|
|
112
|
-
}
|
|
113
|
-
//------------------Empresa------------------------
|
|
114
72
|
columnConfigTableEmpresa() {
|
|
115
73
|
this.dataSourceEmpresa = this.empresas;
|
|
116
74
|
this.tableConfigEmpresa = {
|
|
117
75
|
lazy: false,
|
|
118
76
|
columns: [
|
|
119
|
-
{
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
header: 'Empresa',
|
|
123
|
-
width: '',
|
|
124
|
-
centralize: false,
|
|
125
|
-
sortable: false,
|
|
126
|
-
},
|
|
127
|
-
{
|
|
128
|
-
position: 1,
|
|
129
|
-
field: 'nomeempresa',
|
|
130
|
-
header: '',
|
|
131
|
-
width: '80%',
|
|
132
|
-
centralize: false,
|
|
133
|
-
sortable: false,
|
|
134
|
-
},
|
|
77
|
+
{ position: 0, field: 'codigopessoa', header: 'Código', width: '', centralize: false, sortable: false },
|
|
78
|
+
{ position: 1, field: 'cpfcnpj', header: 'CPF/CNPJ', width: '', centralize: false, sortable: false, pipe: 'cpfcnpj' },
|
|
79
|
+
{ position: 2, field: 'razaosocial', header: 'Razão social', width: '50%', centralize: false, sortable: false },
|
|
135
80
|
],
|
|
136
81
|
actions: [
|
|
137
82
|
{
|
|
@@ -141,6 +86,9 @@ export class WorkspaceComponent {
|
|
|
141
86
|
command: () => {
|
|
142
87
|
this.selecionarEmpresa(this.selectedItemEmpresa);
|
|
143
88
|
},
|
|
89
|
+
disabled: () => {
|
|
90
|
+
return false;
|
|
91
|
+
},
|
|
144
92
|
},
|
|
145
93
|
],
|
|
146
94
|
actionsLote: [],
|
|
@@ -149,25 +97,66 @@ export class WorkspaceComponent {
|
|
|
149
97
|
enableSelect: false,
|
|
150
98
|
};
|
|
151
99
|
}
|
|
152
|
-
activeItemEmpresa(e) {
|
|
153
|
-
this.selectedItemEmpresa = e;
|
|
154
|
-
}
|
|
155
100
|
doubleClickEmpresa(e) {
|
|
156
101
|
this.selectedItemEmpresa = e.rowData;
|
|
157
102
|
this.selecionarEmpresa(e.rowData);
|
|
158
103
|
}
|
|
104
|
+
doubleClickMaster(e) {
|
|
105
|
+
this.selectedItemMaster = e.rowData;
|
|
106
|
+
this.selecionarMaster(e.rowData);
|
|
107
|
+
}
|
|
108
|
+
filtrarEmpresa(event) {
|
|
109
|
+
this.empresas = this.masterSelecionada.empresas.filter((e) => e.nomeempresa.toLowerCase().includes(event.toLowerCase()));
|
|
110
|
+
}
|
|
111
|
+
ngOnInit() {
|
|
112
|
+
this.imgPersonagens = ImagensService.getPersonagensWorkSpace();
|
|
113
|
+
this.imgLogoKeevo = ImagensService.getLogoKeevo();
|
|
114
|
+
this.imgLogoKeevoCenter = ImagensService.getLogoKeevoCenter();
|
|
115
|
+
this.styleBackground = 'background-image: url(' + ImagensService.getBackgroundWorkSpace() + ');';
|
|
116
|
+
this.columnConfigTableMaster();
|
|
117
|
+
this.verificaMasterUnica();
|
|
118
|
+
}
|
|
119
|
+
selecionarEmpresa(empresa) {
|
|
120
|
+
this.onGetEmpresaSelecionada.emit(empresa);
|
|
121
|
+
this.empresaSelecionada = empresa;
|
|
122
|
+
this.visivel = false;
|
|
123
|
+
}
|
|
124
|
+
selecionarMaster(master) {
|
|
125
|
+
this.onGetMasterSelecionada.emit(master);
|
|
126
|
+
this.masterSelecionada = master;
|
|
127
|
+
if (this.somenteMaster)
|
|
128
|
+
this.visivel = false;
|
|
129
|
+
else {
|
|
130
|
+
this.empresas = master.empresas;
|
|
131
|
+
this.showPaginatorEmpresa = (this.empresas.length > 5);
|
|
132
|
+
this.columnConfigTableEmpresa();
|
|
133
|
+
this.verificaEmpresaUnica();
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
verificaEmpresaUnica() {
|
|
137
|
+
if (this.empresas && this.empresas.length == 1)
|
|
138
|
+
this.selecionarEmpresa(this.empresas[0]);
|
|
139
|
+
}
|
|
140
|
+
verificaMasterUnica() {
|
|
141
|
+
if (this.masters.length == 1)
|
|
142
|
+
this.selecionarMaster(this.masters[0]);
|
|
143
|
+
}
|
|
144
|
+
voltar() {
|
|
145
|
+
this.empresaSelecionada = undefined;
|
|
146
|
+
this.masterSelecionada = undefined;
|
|
147
|
+
}
|
|
159
148
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: WorkspaceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
160
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: WorkspaceComponent, selector: "kv-workspace", inputs: {
|
|
149
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: WorkspaceComponent, selector: "kv-workspace", inputs: { nomeUsuario: "nomeUsuario", masters: "masters", masterSelecionada: "masterSelecionada", somenteMaster: "somenteMaster" }, outputs: { onGetMasterSelecionada: "onGetMasterSelecionada", onGetEmpresaSelecionada: "onGetEmpresaSelecionada" }, ngImport: i0, template: "<div *ngIf=\"visivel\" [style]=\"styleBackground\"\r\n class=\"h-screen flex justify-content-center align-items-center login-container flex-column bg-cover\">\r\n <div id=\"card-container\"\r\n class=\"flex flex-column justify-content-around card-login formgrid p-fluid bg-white border-round p-2\">\r\n <div class=\"field col-12 flex justify-content-center mb-1\">\r\n <img [src]=\"imgLogoKeevoCenter\" style=\"width: 200px\" />\r\n </div>\r\n\r\n <div class=\"col-12 align-items-center z-5\">\r\n <div class=\"col-9\">\r\n Ol\u00E1, <b>{{ nomeUsuario }}.</b> Bem vindo(a)!\r\n </div>\r\n <b class=\"field col-9 flex\">\r\n Escolha qual Workspace voc\u00EA deseja acessar:</b>\r\n </div>\r\n\r\n <!-- IN\u00CDCIO DO WORKSPACE DE CONTABILIDADE (MASTERS) -->\r\n <div *ngIf=\"!masterSelecionada\" class=\"col-12 z-5\">\r\n\r\n <kv-table\r\n [tableSize]=\"tableSizeMaster\"\r\n [rows]=\"5\"\r\n [config]=\"tableConfigMaster\"\r\n [paginator]=\"false\"\r\n [dataSource]=\"dataSourceMaster\"\r\n [rowsPerPageOptions]=\"[5, 10, 25, 50, 100, 200]\"\r\n [acoesLinhaTabela]=\"true\"\r\n (doubleClickEvent)=\"doubleClickMaster($event)\"\r\n (onActiveItem)=\"activeItemMaster($event)\"\r\n [isTableScrollable]=\"true\"\r\n [scrollHeight]=\"'300px'\">\r\n </kv-table>\r\n\r\n </div>\r\n <!-- FIM DO WORKSPACE DE CONTABILIDADE (MASTERS) -->\r\n\r\n <!-- IN\u00CDCIO DO WORKSPACE EMPRESA -->\r\n <div *ngIf=\"masterSelecionada && !empresaSelecionada\" class=\"col-12 z-5\">\r\n <kv-table\r\n [tableSize]=\"tableSizeEmpresa\"\r\n [rows]=\"5\"\r\n [config]=\"tableConfigEmpresa\"\r\n [paginator]=\"showPaginatorEmpresa\"\r\n [dataSource]=\"dataSourceEmpresa\"\r\n [rowsPerPageOptions]=\"[5]\"\r\n [acoesLinhaTabela]=\"true\"\r\n (doubleClickEvent)=\"doubleClickEmpresa($event)\"\r\n (onActiveItem)=\"activeItemEmpresa($event)\"\r\n [isTableScrollable]=\"true\"\r\n [scrollHeight]=\"'300px'\">\r\n </kv-table>\r\n </div>\r\n <!-- FIM DO WORKSPACE EMPRESA -->\r\n </div>\r\n</div>\r\n", styles: [".card-login{width:80%;max-width:800px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.KvTableComponent, selector: "kv-table", inputs: ["templates", "config", "defaultSortField", "dataSource", "selectedItems", "totalRecords", "paginator", "rowsPerPageOptions", "rows", "pageLinksOptions", "showFirstLastIcon", "tableSize", "applyStyle", "acoesLinhaTabela", "filterColumnsBtn", "filtrosAvancados", "scrollHeight", "isTableScrollable", "tableCaptalized", "rowTrackBy", "responsiveLayout"], outputs: ["onActiveItem", "onActiveItemLote", "onPaginate", "onSelectionChange", "doubleClickEvent", "filterField", "filtrosAvancadosEmit", "onSwitchTableChange"] }] }); }
|
|
161
150
|
}
|
|
162
151
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: WorkspaceComponent, decorators: [{
|
|
163
152
|
type: Component,
|
|
164
|
-
args: [{ selector: 'kv-workspace', template: "<div *ngIf=\"visivel\" [style]=\"styleBackground\"\r\n class=\"h-screen flex justify-content-center align-items-center login-container flex-column bg-cover\">\r\n <div id=\"card-container\"\r\n class=\"flex flex-column justify-content-around card-login formgrid p-fluid bg-white border-round p-2\">\r\n <div class=\"field col-12 flex justify-content-center mb-1\">\r\n <img [src]=\"imgLogoKeevoCenter\" style=\"width: 200px\" />\r\n </div>\r\n\r\n <div class=\"col-12 align-items-center z-5\">\r\n <div class=\"col-9\">\r\n Ol\u00E1, <b>{{ nomeUsuario }}.</b> Bem vindo(a)!\r\n </div>\r\n <b class=\"field col-9 flex\">\r\n Escolha qual Workspace voc\u00EA deseja acessar:</b>\r\n </div>\r\n\r\n <!-- IN\u00CDCIO DO WORKSPACE DE CONTABILIDADE (MASTERS) -->\r\n <div *ngIf=\"!masterSelecionada\" class=\"col-12 z-5\">\r\n
|
|
165
|
-
}], ctorParameters: () => [], propDecorators: {
|
|
166
|
-
type: Input
|
|
167
|
-
}], nomeUsuario: [{
|
|
153
|
+
args: [{ selector: 'kv-workspace', template: "<div *ngIf=\"visivel\" [style]=\"styleBackground\"\r\n class=\"h-screen flex justify-content-center align-items-center login-container flex-column bg-cover\">\r\n <div id=\"card-container\"\r\n class=\"flex flex-column justify-content-around card-login formgrid p-fluid bg-white border-round p-2\">\r\n <div class=\"field col-12 flex justify-content-center mb-1\">\r\n <img [src]=\"imgLogoKeevoCenter\" style=\"width: 200px\" />\r\n </div>\r\n\r\n <div class=\"col-12 align-items-center z-5\">\r\n <div class=\"col-9\">\r\n Ol\u00E1, <b>{{ nomeUsuario }}.</b> Bem vindo(a)!\r\n </div>\r\n <b class=\"field col-9 flex\">\r\n Escolha qual Workspace voc\u00EA deseja acessar:</b>\r\n </div>\r\n\r\n <!-- IN\u00CDCIO DO WORKSPACE DE CONTABILIDADE (MASTERS) -->\r\n <div *ngIf=\"!masterSelecionada\" class=\"col-12 z-5\">\r\n\r\n <kv-table\r\n [tableSize]=\"tableSizeMaster\"\r\n [rows]=\"5\"\r\n [config]=\"tableConfigMaster\"\r\n [paginator]=\"false\"\r\n [dataSource]=\"dataSourceMaster\"\r\n [rowsPerPageOptions]=\"[5, 10, 25, 50, 100, 200]\"\r\n [acoesLinhaTabela]=\"true\"\r\n (doubleClickEvent)=\"doubleClickMaster($event)\"\r\n (onActiveItem)=\"activeItemMaster($event)\"\r\n [isTableScrollable]=\"true\"\r\n [scrollHeight]=\"'300px'\">\r\n </kv-table>\r\n\r\n </div>\r\n <!-- FIM DO WORKSPACE DE CONTABILIDADE (MASTERS) -->\r\n\r\n <!-- IN\u00CDCIO DO WORKSPACE EMPRESA -->\r\n <div *ngIf=\"masterSelecionada && !empresaSelecionada\" class=\"col-12 z-5\">\r\n <kv-table\r\n [tableSize]=\"tableSizeEmpresa\"\r\n [rows]=\"5\"\r\n [config]=\"tableConfigEmpresa\"\r\n [paginator]=\"showPaginatorEmpresa\"\r\n [dataSource]=\"dataSourceEmpresa\"\r\n [rowsPerPageOptions]=\"[5]\"\r\n [acoesLinhaTabela]=\"true\"\r\n (doubleClickEvent)=\"doubleClickEmpresa($event)\"\r\n (onActiveItem)=\"activeItemEmpresa($event)\"\r\n [isTableScrollable]=\"true\"\r\n [scrollHeight]=\"'300px'\">\r\n </kv-table>\r\n </div>\r\n <!-- FIM DO WORKSPACE EMPRESA -->\r\n </div>\r\n</div>\r\n", styles: [".card-login{width:80%;max-width:800px}\n"] }]
|
|
154
|
+
}], ctorParameters: () => [], propDecorators: { nomeUsuario: [{
|
|
168
155
|
type: Input
|
|
169
156
|
}], masters: [{
|
|
170
157
|
type: Input
|
|
158
|
+
}], masterSelecionada: [{
|
|
159
|
+
type: Input
|
|
171
160
|
}], somenteMaster: [{
|
|
172
161
|
type: Input
|
|
173
162
|
}], onGetMasterSelecionada: [{
|
|
@@ -175,4 +164,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
175
164
|
}], onGetEmpresaSelecionada: [{
|
|
176
165
|
type: Output
|
|
177
166
|
}] } });
|
|
178
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3Ytd29ya3NwYWNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LXdvcmtzcGFjZS9rdi13b3Jrc3BhY2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3Ytd29ya3NwYWNlL2t2LXdvcmtzcGFjZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7OztBQVNwRSxNQUFNLE9BQU8sa0JBQWtCO0lBaUM3QjtRQWhDUyxnQkFBVyxHQUFXLGlCQUFpQixDQUFDO1FBQ3hDLGdCQUFXLEdBQVcsd0JBQXdCLENBQUM7UUFFL0Msa0JBQWEsR0FBWSxLQUFLLENBQUMsQ0FBQyx5Q0FBeUM7UUFFeEUsMkJBQXNCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNqRCw0QkFBdUIsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBTTVELFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNqQixtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUNwQixpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQUNsQixvQkFBZSxHQUFHLEVBQUUsQ0FBQztRQUNyQix1QkFBa0IsR0FBRyxFQUFFLENBQUM7UUFLeEIsb0JBQWUsR0FBVyxDQUFDLENBQUM7UUFFNUIscUJBQWdCLEdBQVEsRUFBRSxDQUFDO1FBSTNCLHFCQUFnQixHQUFXLENBQUMsQ0FBQztRQUU3QixzQkFBaUIsR0FBUSxFQUFFLENBQUM7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LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSW1hZ2Vuc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9hcGkvc2VydmljZXMvaW1hZ2Vucy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGFibGVDb25maWdDb2x1bW4gfSBmcm9tICcuLi8uLi9hcGkvY29tcG9uZW50cy90YWJsZS90YWJsZS5jb25maWcuY29sdW1uJztcclxuaW1wb3J0IHsgVGFibGVDb25maWcgfSBmcm9tICcuLi8uLi9hcGkvY29tcG9uZW50cy90YWJsZS90YWJsZS5jb25maWcnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdrdi13b3Jrc3BhY2UnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9rdi13b3Jrc3BhY2UuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2t2LXdvcmtzcGFjZS5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgV29ya3NwYWNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBub21lU2lzdGVtYTogc3RyaW5nID0gJ05vbWUgZG8gU2lzdGVtYSc7XHJcbiAgQElucHV0KCkgbm9tZVVzdWFyaW86IHN0cmluZyA9ICdOb21lIGRvIFVzdcOhcmlvIExvZ2Fkbyc7XHJcbiAgQElucHV0KCkgbWFzdGVycyE6IGFueVtdOyAvLyBMaXN0YSBkYXMgY29udGFiaWxpZGFkZXMgZSBzdWFzIHJlc3BlY3RpdmFzIGVtcHJlc2FzXHJcbiAgQElucHV0KCkgc29tZW50ZU1hc3RlcjogYm9vbGVhbiA9IGZhbHNlOyAvLyBTZSBmb3IgYXBlbmFzIHNlbGXDp8OjbyBkZSBjb250YWJpbGlkYWRlXHJcblxyXG4gIEBPdXRwdXQoKSBvbkdldE1hc3RlclNlbGVjaW9uYWRhID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIG9uR2V0RW1wcmVzYVNlbGVjaW9uYWRhID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIGVtcHJlc2FzITogYW55W107XHJcbiAgbWFzdGVyU2VsZWNpb25hZGEhOiBhbnk7XHJcbiAgZW1wcmVzYVNlbGVjaW9uYWRhITogYW55O1xyXG5cclxuICB2aXNpdmVsID0gdHJ1ZTtcclxuICB0eHRQZXNxdWlzYSA9ICcnO1xyXG4gIGltZ1BlcnNvbmFnZW5zID0gJyc7XHJcbiAgaW1nTG9nb0tlZXZvID0gJyc7XHJcbiAgc3R5bGVCYWNrZ3JvdW5kID0gJyc7XHJcbiAgaW1nTG9nb0tlZXZvQ2VudGVyID0gJyc7XHJcblxyXG4gIC8vVGFiZWxhIE1hc3RlclxyXG4gIHNlbGVjdGVkSXRlbU1hc3RlcjogYW55O1xyXG4gIHNlbGVjdGVkSXRlbXNMb3RlTWFzdGVyOiBhbnk7XHJcbiAgdGFibGVTaXplTWFzdGVyOiBudW1iZXIgPSA1O1xyXG4gIHRhYmxlQ29uZmlnTWFzdGVyITogVGFibGVDb25maWc7XHJcbiAgZGF0YVNvdXJjZU1hc3RlcjogYW55ID0gW107XHJcbiAgLy9UYWJlbGEgIEVtcHJlc2FcclxuICBzZWxlY3RlZEl0ZW1FbXByZXNhOiBhbnk7XHJcbiAgc2VsZWN0ZWRJdGVtc0xvdGVFbXByZXNhOiBhbnk7XHJcbiAgdGFibGVTaXplRW1wcmVzYTogbnVtYmVyID0gNTtcclxuICB0YWJsZUNvbmZpZ0VtcHJlc2EhOiBUYWJsZUNvbmZpZztcclxuICBkYXRhU291cmNlRW1wcmVzYTogYW55ID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmltZ1BlcnNvbmFnZW5zID0gSW1hZ2Vuc1NlcnZpY2UuZ2V0UGVyc29uYWdlbnNXb3JrU3BhY2UoKTtcclxuICAgIHRoaXMuaW1nTG9nb0tlZXZvID0gSW1hZ2Vuc1NlcnZpY2UuZ2V0TG9nb0tlZXZvKCk7XHJcbiAgICB0aGlzLmltZ0xvZ29LZWV2b0NlbnRlciA9IEltYWdlbnNTZXJ2aWNlLmdldExvZ29LZWV2b0NlbnRlcigpO1xyXG4gICAgdGhpcy5zdHlsZUJhY2tncm91bmQgPVxyXG4gICAgICAnYmFja2dyb3VuZC1pbWFnZTogdXJsKCcgKyBJbWFnZW5zU2VydmljZS5nZXRCYWNrZ3JvdW5kV29ya1NwYWNlKCkgKyAnKTsnO1xyXG4gICAgdGhpcy5jb2x1bW5Db25maWdUYWJsZU1hc3RlcigpO1xyXG4gICAgdGhpcy52ZXJpZmljYU1hc3RlclVuaWNhKCk7XHJcbiAgfVxyXG5cclxuICB2ZXJpZmljYU1hc3RlclVuaWNhKCkge1xyXG4gICAgaWYgKHRoaXMubWFzdGVycy5sZW5ndGggPT0gMSkgdGhpcy5zZWxlY2lvbmFyTWFzdGVyKHRoaXMubWFzdGVyc1swXSk7XHJcbiAgfVxyXG5cclxuICBzZWxlY2lvbmFyTWFzdGVyKG1hc3RlcjogYW55KSB7XHJcbiAgICB0aGlzLm9uR2V0TWFzdGVyU2VsZWNpb25hZGEuZW1pdChtYXN0ZXIpO1xyXG4gICAgdGhpcy5tYXN0ZXJTZWxlY2lvbmFkYSA9IG1hc3RlcjtcclxuXHJcbiAgICBpZiAodGhpcy5zb21lbnRlTWFzdGVyKSB0aGlzLnZpc2l2ZWwgPSBmYWxzZTtcclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLmVtcHJlc2FzID0gbWFzdGVyLmVtcHJlc2FzO1xyXG4gICAgICB0aGlzLmNvbHVtbkNvbmZpZ1RhYmxlRW1wcmVzYSgpO1xyXG4gICAgICB0aGlzLnZlcmlmaWNhRW1wcmVzYVVuaWNhKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB2ZXJpZmljYUVtcHJlc2FVbmljYSgpIHtcclxuICAgIGlmICh0aGlzLmVtcHJlc2FzICYmIHRoaXMuZW1wcmVzYXMubGVuZ3RoID09IDEpXHJcbiAgICAgIHRoaXMuc2VsZWNpb25hckVtcHJlc2EodGhpcy5lbXByZXNhc1swXSk7XHJcbiAgfVxyXG5cclxuICBzZWxlY2lvbmFyRW1wcmVzYShlbXByZXNhOiBhbnkpIHtcclxuICAgIHRoaXMub25HZXRFbXByZXNhU2VsZWNpb25hZGEuZW1pdChlbXByZXNhKTtcclxuICAgIHRoaXMuZW1wcmVzYVNlbGVjaW9uYWRhID0gZW1wcmVzYTtcclxuICAgIHRoaXMudmlzaXZlbCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgdm9sdGFyKCkge1xyXG4gICAgdGhpcy5lbXByZXNhU2VsZWNpb25hZGEgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLm1hc3RlclNlbGVjaW9uYWRhID0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgZmlsdHJhckVtcHJlc2EoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5lbXByZXNhcyA9IHRoaXMubWFzdGVyU2VsZWNpb25hZGEuZW1wcmVzYXMuZmlsdGVyKChlOiBhbnkpID0+XHJcbiAgICAgIGUubm9tZWVtcHJlc2EudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhldmVudC50b0xvd2VyQ2FzZSgpKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tTUFTVEVSLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4gIGNvbHVtbkNvbmZpZ1RhYmxlTWFzdGVyKCkge1xyXG4gICAgdGhpcy5kYXRhU291cmNlTWFzdGVyID0gdGhpcy5tYXN0ZXJzO1xyXG4gICAgdGhpcy50YWJsZUNvbmZpZ01hc3RlciA9IHtcclxuICAgICAgbGF6eTogZmFsc2UsXHJcbiAgICAgIGNvbHVtbnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogMCxcclxuICAgICAgICAgIGZpZWxkOiAnaWRtYXN0ZXInLFxyXG4gICAgICAgICAgaGVhZGVyOiAnTGljZW7Dp2EnLFxyXG4gICAgICAgICAgd2lkdGg6ICcnLFxyXG4gICAgICAgICAgY2VudHJhbGl6ZTogZmFsc2UsXHJcbiAgICAgICAgICBzb3J0YWJsZTogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogMSxcclxuICAgICAgICAgIGZpZWxkOiAncmF6YW9zb2NpYWwnLFxyXG4gICAgICAgICAgaGVhZGVyOiAnJyxcclxuICAgICAgICAgIHdpZHRoOiAnODAlJyxcclxuICAgICAgICAgIGNlbnRyYWxpemU6IGZhbHNlLFxyXG4gICAgICAgICAgc29ydGFibGU6IGZhbHNlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICAgIGFjdGlvbnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBsYWJlbDogJ0FjZXNzYXInLFxyXG4gICAgICAgICAgaWNvbjogJ2xvZ2luJyxcclxuICAgICAgICAgIHRvb2x0aXA6ICdBY2Vzc2FyIFdvcmtzcGFjZScsXHJcbiAgICAgICAgICBjb21tYW5kOiAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWNpb25hck1hc3Rlcih0aGlzLnNlbGVjdGVkSXRlbU1hc3Rlcik7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZGlzYWJsZWQ6ICgpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICBdLFxyXG4gICAgICBhY3Rpb25zTG90ZTogW10sXHJcbiAgICAgIGVuYWJsZUNhdGlvbjogZmFsc2UsXHJcbiAgICAgIGVuYWJsZUZpbHRlcjogZmFsc2UsXHJcbiAgICAgIGVuYWJsZVNlbGVjdDogZmFsc2UsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgYWN0aXZlSXRlbU1hc3RlcihlOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtTWFzdGVyID0gZTtcclxuICB9XHJcblxyXG4gIGRvdWJsZUNsaWNrTWFzdGVyKGU6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1NYXN0ZXIgPSBlLnJvd0RhdGE7XHJcbiAgICB0aGlzLnNlbGVjaW9uYXJNYXN0ZXIoZS5yb3dEYXRhKTtcclxuICB9XHJcblxyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tRW1wcmVzYS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuICBjb2x1bW5Db25maWdUYWJsZUVtcHJlc2EoKSB7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2VFbXByZXNhID0gdGhpcy5lbXByZXNhcztcclxuICAgIHRoaXMudGFibGVDb25maWdFbXByZXNhID0ge1xyXG4gICAgICBsYXp5OiBmYWxzZSxcclxuICAgICAgY29sdW1uczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiAwLFxyXG4gICAgICAgICAgZmllbGQ6ICdjbnBqZW1wcmVzYScsXHJcbiAgICAgICAgICBoZWFkZXI6ICdFbXByZXNhJyxcclxuICAgICAgICAgIHdpZHRoOiAnJyxcclxuICAgICAgICAgIGNlbnRyYWxpemU6IGZhbHNlLFxyXG4gICAgICAgICAgc29ydGFibGU6IGZhbHNlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcG9zaXRpb246IDEsXHJcbiAgICAgICAgICBmaWVsZDogJ25vbWVlbXByZXNhJyxcclxuICAgICAgICAgIGhlYWRlcjogJycsXHJcbiAgICAgICAgICB3aWR0aDogJzgwJScsXHJcbiAgICAgICAgICBjZW50cmFsaXplOiBmYWxzZSxcclxuICAgICAgICAgIHNvcnRhYmxlOiBmYWxzZSxcclxuICAgICAgICB9LFxyXG4gICAgICBdLFxyXG4gICAgICBhY3Rpb25zOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbGFiZWw6ICdBY2Vzc2FyJyxcclxuICAgICAgICAgIGljb246ICdsb2dpbicsXHJcbiAgICAgICAgICB0b29sdGlwOiAnQWNlc3NhciBFbXByZXNhJyxcclxuICAgICAgICAgIGNvbW1hbmQ6ICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY2lvbmFyRW1wcmVzYSh0aGlzLnNlbGVjdGVkSXRlbUVtcHJlc2EpO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICBdLFxyXG4gICAgICBhY3Rpb25zTG90ZTogW10sXHJcbiAgICAgIGVuYWJsZUNhdGlvbjogdHJ1ZSxcclxuICAgICAgZW5hYmxlRmlsdGVyOiB0cnVlLFxyXG4gICAgICBlbmFibGVTZWxlY3Q6IGZhbHNlLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGFjdGl2ZUl0ZW1FbXByZXNhKGU6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1FbXByZXNhID0gZTtcclxuICB9XHJcblxyXG4gIGRvdWJsZUNsaWNrRW1wcmVzYShlOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtRW1wcmVzYSA9IGUucm93RGF0YTtcclxuICAgIHRoaXMuc2VsZWNpb25hckVtcHJlc2EoZS5yb3dEYXRhKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cInZpc2l2ZWxcIiBbc3R5bGVdPVwic3R5bGVCYWNrZ3JvdW5kXCJcclxuICBjbGFzcz1cImgtc2NyZWVuIGZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgbG9naW4tY29udGFpbmVyIGZsZXgtY29sdW1uIGJnLWNvdmVyXCI+XHJcbiAgPGRpdiBpZD1cImNhcmQtY29udGFpbmVyXCJcclxuICAgIGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtYXJvdW5kIGNhcmQtbG9naW4gZm9ybWdyaWQgcC1mbHVpZCAgYmctd2hpdGUgYm9yZGVyLXJvdW5kIHAtMlwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZpZWxkIGNvbC0xMiBmbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgbWItMVwiPlxyXG4gICAgICA8aW1nIFtzcmNdPVwiaW1nTG9nb0tlZXZvQ2VudGVyXCIgc3R5bGU9XCJ3aWR0aDogMjAwcHhcIiAvPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMiBhbGlnbi1pdGVtcy1jZW50ZXIgei01XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtOVwiPlxyXG4gICAgICAgIE9sw6EsIDxiPnt7IG5vbWVVc3VhcmlvIH19LjwvYj4gQmVtIHZpbmRvKGEpIVxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGIgY2xhc3M9XCJmaWVsZCBjb2wtOSBmbGV4XCI+XHJcbiAgICAgICAgRXNjb2xoYSBxdWFsIFdvcmtzcGFjZSB2b2PDqiBkZXNlamEgYWNlc3Nhcjo8L2I+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8IS0tIElOw41DSU8gRE8gV09SS1NQQUNFIERFIENPTlRBQklMSURBREUgKE1BU1RFUlMpIC0tPlxyXG4gICAgPGRpdiAqbmdJZj1cIiFtYXN0ZXJTZWxlY2lvbmFkYVwiIGNsYXNzPVwiY29sLTEyIHotNVwiPlxyXG4gICAgICBcclxuICAgICAgICA8a3YtdGFibGVcclxuICAgICAgICAgIFt0YWJsZVNpemVdPVwidGFibGVTaXplTWFzdGVyXCJcclxuICAgICAgICAgIFtyb3dzXT1cIjVcIlxyXG4gICAgICAgICAgW2NvbmZpZ109XCJ0YWJsZUNvbmZpZ01hc3RlclwiXHJcbiAgICAgICAgICBbcGFnaW5hdG9yXT1cImZhbHNlXCJcclxuICAgICAgICAgIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VNYXN0ZXJcIlxyXG4gICAgICAgICAgW3Jvd3NQZXJQYWdlT3B0aW9uc109XCJbNSwgMTAsIDI1LCA1MCwgMTAwLCAyMDBdXCJcclxuICAgICAgICAgIFthY29lc0xpbmhhVGFiZWxhXT1cInRydWVcIlxyXG4gICAgICAgICAgKGRvdWJsZUNsaWNrRXZlbnQpPVwiZG91YmxlQ2xpY2tNYXN0ZXIoJGV2ZW50KVwiXHJcbiAgICAgICAgICAob25BY3RpdmVJdGVtKT1cImFjdGl2ZUl0ZW1NYXN0ZXIoJGV2ZW50KVwiXHJcbiAgICAgICAgICBbaXNUYWJsZVNjcm9sbGFibGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICBbc2Nyb2xsSGVpZ2h0XT1cIiczMDBweCdcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2t2LXRhYmxlPlxyXG4gICAgIFxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tIEZJTSBETyBXT1JLU1BBQ0UgREUgQ09OVEFCSUxJREFERSAoTUFTVEVSUykgLS0+XHJcblxyXG4gICAgPCEtLSBJTsONQ0lPIERPIFdPUktTUEFDRSBFTVBSRVNBIC0tPlxyXG4gICAgPGRpdiAqbmdJZj1cIm1hc3RlclNlbGVjaW9uYWRhICYmICFlbXByZXNhU2VsZWNpb25hZGFcIiBjbGFzcz1cImNvbC0xMiB6LTVcIj5cclxuICAgICAgPGt2LXRhYmxlXHJcbiAgICAgICAgW3RhYmxlU2l6ZV09XCJ0YWJsZVNpemVFbXByZXNhXCJcclxuICAgICAgICBbcm93c109XCI1XCJcclxuICAgICAgICBbY29uZmlnXT1cInRhYmxlQ29uZmlnRW1wcmVzYVwiXHJcbiAgICAgICAgW3BhZ2luYXRvcl09XCJmYWxzZVwiXHJcbiAgICAgICAgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZUVtcHJlc2FcIlxyXG4gICAgICAgIFtyb3dzUGVyUGFnZU9wdGlvbnNdPVwiWzUsIDEwLCAyNSwgNTAsIDEwMCwgMjAwXVwiXHJcbiAgICAgICAgW2Fjb2VzTGluaGFUYWJlbGFdPVwidHJ1ZVwiXHJcbiAgICAgICAgKGRvdWJsZUNsaWNrRXZlbnQpPVwiZG91YmxlQ2xpY2tFbXByZXNhKCRldmVudClcIlxyXG4gICAgICAgIChvbkFjdGl2ZUl0ZW0pPVwiYWN0aXZlSXRlbUVtcHJlc2EoJGV2ZW50KVwiXHJcbiAgICAgICAgW2lzVGFibGVTY3JvbGxhYmxlXT1cInRydWVcIlxyXG4gICAgICAgIFtzY3JvbGxIZWlnaHRdPVwiJzMwMHB4J1wiXHJcbiAgICAgID5cclxuICAgICAgPC9rdi10YWJsZT5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLSBGSU0gRE8gV09SS1NQQUNFIEVNUFJFU0EgLS0+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3Ytd29ya3NwYWNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LXdvcmtzcGFjZS9rdi13b3Jrc3BhY2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3Ytd29ya3NwYWNlL2t2LXdvcmtzcGFjZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7OztBQVFwRSxNQUFNLE9BQU8sa0JBQWtCO0lBMEQ3QjtRQXhEQTs7V0FFRztRQUNNLGdCQUFXLEdBQVcsd0JBQXdCLENBQUM7UUFZeEQ7O1dBRUc7UUFDTSxrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUV4Qzs7V0FFRztRQUNPLDJCQUFzQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFM0Q7O1dBRUc7UUFDTyw0QkFBdUIsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBSTVELHdCQUFtQixHQUFXLENBQUMsQ0FBQztRQUNoQyx5QkFBb0IsR0FBWSxLQUFLLENBQUM7UUFFdEMsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLG9CQUFlLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLHVCQUFrQixHQUFHLEVBQUUsQ0FBQztRQUV4QixlQUFlO1FBQ2YscUJBQWdCLEdBQVEsRUFBRSxDQUFDO1FBSTNCLG9CQUFlLEdB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UyxDQUFDO0lBQ3JDLENBQUM7OEdBdkxVLGtCQUFrQjtrR0FBbEIsa0JBQWtCLDJTQ2hCL0IsMnFFQXVEQTs7MkZEdkNhLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxjQUFjO3dEQVNmLFdBQVc7c0JBQW5CLEtBQUs7Z0JBS0csT0FBTztzQkFBZixLQUFLO2dCQUtHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFLRyxhQUFhO3NCQUFyQixLQUFLO2dCQUtJLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFLRyx1QkFBdUI7c0JBQWhDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgSW1hZ2Vuc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9hcGkvc2VydmljZXMvaW1hZ2Vucy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGFibGVDb25maWcgfSBmcm9tICcuLi8uLi9hcGkvY29tcG9uZW50cy90YWJsZS90YWJsZS5jb25maWcnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdrdi13b3Jrc3BhY2UnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9rdi13b3Jrc3BhY2UuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2t2LXdvcmtzcGFjZS5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgV29ya3NwYWNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgLyoqXHJcbiAgICogTm9tZSBkbyB1c3XDoXJpbyBsb2dhZG9cclxuICAgKi9cclxuICBASW5wdXQoKSBub21lVXN1YXJpbzogc3RyaW5nID0gJ05vbWUgZG8gVXN1w6FyaW8gTG9nYWRvJztcclxuXHJcbiAgLyoqXHJcbiAgICogTGlzdGEgZGUgbWFzdGVycyBxdWUgbyB1c3XDoXJpbyB0ZW0gYWNlc3NvXHJcbiAgICovXHJcbiAgQElucHV0KCkgbWFzdGVycyE6IGFueVtdO1xyXG5cclxuICAvKipcclxuICAgKiBNYXN0ZXIgc2VsZWNpb25hZGEgcGVsbyB1c3XDoXJpb1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG1hc3RlclNlbGVjaW9uYWRhITogYW55O1xyXG5cclxuICAvKipcclxuICAgKiBTZWxlY2lvbmFyIGFwZW5hcyBtYXN0ZXJcclxuICAgKi9cclxuICBASW5wdXQoKSBzb21lbnRlTWFzdGVyOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50byBkZSBtYXN0ZXIgc2VsZWNpb25hZGFcclxuICAgKi9cclxuICBAT3V0cHV0KCkgb25HZXRNYXN0ZXJTZWxlY2lvbmFkYSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAvKipcclxuICAgKiBFdmVudG8gZGUgZW1wcmVzYSBzZWxlY2lvbmFkYVxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBvbkdldEVtcHJlc2FTZWxlY2lvbmFkYSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBlbXByZXNhcyE6IGFueVtdO1xyXG4gIGVtcHJlc2FTZWxlY2lvbmFkYSE6IGFueTtcclxuICB0b3RhbFJlY29yZHNFbXByZXNhOiBudW1iZXIgPSAwO1xyXG4gIHNob3dQYWdpbmF0b3JFbXByZXNhOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHZpc2l2ZWwgPSB0cnVlO1xyXG4gIHR4dFBlc3F1aXNhID0gJyc7XHJcbiAgaW1nUGVyc29uYWdlbnMgPSAnJztcclxuICBpbWdMb2dvS2Vldm8gPSAnJztcclxuICBzdHlsZUJhY2tncm91bmQgPSAnJztcclxuICBpbWdMb2dvS2Vldm9DZW50ZXIgPSAnJztcclxuXHJcbiAgLy9UYWJlbGEgTWFzdGVyXHJcbiAgZGF0YVNvdXJjZU1hc3RlcjogYW55ID0gW107XHJcbiAgc2VsZWN0ZWRJdGVtTWFzdGVyOiBhbnk7XHJcbiAgc2VsZWN0ZWRJdGVtc0xvdGVNYXN0ZXI6IGFueTtcclxuICB0YWJsZUNvbmZpZ01hc3RlciE6IFRhYmxlQ29uZmlnO1xyXG4gIHRhYmxlU2l6ZU1hc3RlcjogbnVtYmVyID0gNTtcclxuXHJcbiAgLy9UYWJlbGEgIEVtcHJlc2FcclxuICBkYXRhU291cmNlRW1wcmVzYTogYW55ID0gW107XHJcbiAgc2VsZWN0ZWRJdGVtRW1wcmVzYTogYW55O1xyXG4gIHNlbGVjdGVkSXRlbXNMb3RlRW1wcmVzYTogYW55O1xyXG4gIHRhYmxlQ29uZmlnRW1wcmVzYSE6IFRhYmxlQ29uZmlnO1xyXG4gIHRhYmxlU2l6ZUVtcHJlc2E6IG51bWJlciA9IDU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIGFjdGl2ZUl0ZW1FbXByZXNhKGU6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1FbXByZXNhID0gZTtcclxuICB9XHJcblxyXG4gIGFjdGl2ZUl0ZW1NYXN0ZXIoZTogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkSXRlbU1hc3RlciA9IGU7XHJcbiAgfVxyXG5cclxuICBjb2x1bW5Db25maWdUYWJsZU1hc3RlcigpIHtcclxuICAgIHRoaXMuZGF0YVNvdXJjZU1hc3RlciA9IHRoaXMubWFzdGVycztcclxuICAgIHRoaXMudGFibGVDb25maWdNYXN0ZXIgPSB7XHJcbiAgICAgIGxhenk6IGZhbHNlLFxyXG4gICAgICBjb2x1bW5zOiBbXHJcbiAgICAgICAgeyBwb3NpdGlvbjogMCwgZmllbGQ6ICdpZG1hc3RlcicsIGhlYWRlcjogJ0xpY2Vuw6dhJywgd2lkdGg6ICcnLCBjZW50cmFsaXplOiBmYWxzZSwgc29ydGFibGU6IGZhbHNlIH0sXHJcbiAgICAgICAgeyBwb3NpdGlvbjogMSwgZmllbGQ6ICdub21lJywgaGVhZGVyOiAnJywgd2lkdGg6ICc4MCUnLCBjZW50cmFsaXplOiBmYWxzZSwgc29ydGFibGU6IGZhbHNlLCB9LFxyXG4gICAgICBdLFxyXG4gICAgICBhY3Rpb25zOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbGFiZWw6ICdBY2Vzc2FyJyxcclxuICAgICAgICAgIGljb246ICdsb2dpbicsXHJcbiAgICAgICAgICB0b29sdGlwOiAnQWNlc3NhciBXb3Jrc3BhY2UnLFxyXG4gICAgICAgICAgY29tbWFuZDogKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjaW9uYXJNYXN0ZXIodGhpcy5zZWxlY3RlZEl0ZW1NYXN0ZXIpO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGRpc2FibGVkOiAoKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgICAgYWN0aW9uc0xvdGU6IFtdLFxyXG4gICAgICBlbmFibGVDYXRpb246IGZhbHNlLFxyXG4gICAgICBlbmFibGVGaWx0ZXI6IGZhbHNlLFxyXG4gICAgICBlbmFibGVTZWxlY3Q6IGZhbHNlLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGNvbHVtbkNvbmZpZ1RhYmxlRW1wcmVzYSgpIHtcclxuICAgIHRoaXMuZGF0YVNvdXJjZUVtcHJlc2EgPSB0aGlzLmVtcHJlc2FzO1xyXG4gICAgdGhpcy50YWJsZUNvbmZpZ0VtcHJlc2EgPSB7XHJcbiAgICAgIGxhenk6IGZhbHNlLFxyXG4gICAgICBjb2x1bW5zOiBbXHJcbiAgICAgICAgeyBwb3NpdGlvbjogMCwgZmllbGQ6ICdjb2RpZ29wZXNzb2EnLCBoZWFkZXI6ICdDw7NkaWdvJywgd2lkdGg6ICcnLCBjZW50cmFsaXplOiBmYWxzZSwgc29ydGFibGU6IGZhbHNlIH0sXHJcbiAgICAgICAgeyBwb3NpdGlvbjogMSwgZmllbGQ6ICdjcGZjbnBqJywgaGVhZGVyOiAnQ1BGL0NOUEonLCB3aWR0aDogJycsIGNlbnRyYWxpemU6IGZhbHNlLCBzb3J0YWJsZTogZmFsc2UsIHBpcGU6ICdjcGZjbnBqJyB9LFxyXG4gICAgICAgIHsgcG9zaXRpb246IDIsIGZpZWxkOiAncmF6YW9zb2NpYWwnLCBoZWFkZXI6ICdSYXrDo28gc29jaWFsJywgd2lkdGg6ICc1MCUnLCBjZW50cmFsaXplOiBmYWxzZSwgc29ydGFibGU6IGZhbHNlIH0sXHJcbiAgICAgIF0sXHJcbiAgICAgIGFjdGlvbnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBsYWJlbDogJ0FjZXNzYXInLFxyXG4gICAgICAgICAgaWNvbjogJ2xvZ2luJyxcclxuICAgICAgICAgIHRvb2x0aXA6ICdBY2Vzc2FyIEVtcHJlc2EnLFxyXG4gICAgICAgICAgY29tbWFuZDogKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjaW9uYXJFbXByZXNhKHRoaXMuc2VsZWN0ZWRJdGVtRW1wcmVzYSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZGlzYWJsZWQ6ICgpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICBdLFxyXG4gICAgICBhY3Rpb25zTG90ZTogW10sXHJcbiAgICAgIGVuYWJsZUNhdGlvbjogdHJ1ZSxcclxuICAgICAgZW5hYmxlRmlsdGVyOiB0cnVlLFxyXG4gICAgICBlbmFibGVTZWxlY3Q6IGZhbHNlLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGRvdWJsZUNsaWNrRW1wcmVzYShlOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtRW1wcmVzYSA9IGUucm93RGF0YTtcclxuICAgIHRoaXMuc2VsZWNpb25hckVtcHJlc2EoZS5yb3dEYXRhKTtcclxuICB9XHJcblxyXG4gIGRvdWJsZUNsaWNrTWFzdGVyKGU6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1NYXN0ZXIgPSBlLnJvd0RhdGE7XHJcbiAgICB0aGlzLnNlbGVjaW9uYXJNYXN0ZXIoZS5yb3dEYXRhKTtcclxuICB9XHJcblxyXG4gIGZpbHRyYXJFbXByZXNhKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuZW1wcmVzYXMgPSB0aGlzLm1hc3RlclNlbGVjaW9uYWRhLmVtcHJlc2FzLmZpbHRlcigoZTogYW55KSA9PlxyXG4gICAgICBlLm5vbWVlbXByZXNhLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZXZlbnQudG9Mb3dlckNhc2UoKSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaW1nUGVyc29uYWdlbnMgPSBJbWFnZW5zU2VydmljZS5nZXRQZXJzb25hZ2Vuc1dvcmtTcGFjZSgpO1xyXG4gICAgdGhpcy5pbWdMb2dvS2Vldm8gPSBJbWFnZW5zU2VydmljZS5nZXRMb2dvS2Vldm8oKTtcclxuICAgIHRoaXMuaW1nTG9nb0tlZXZvQ2VudGVyID0gSW1hZ2Vuc1NlcnZpY2UuZ2V0TG9nb0tlZXZvQ2VudGVyKCk7XHJcbiAgICB0aGlzLnN0eWxlQmFja2dyb3VuZCA9ICdiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJyArIEltYWdlbnNTZXJ2aWNlLmdldEJhY2tncm91bmRXb3JrU3BhY2UoKSArICcpOyc7XHJcbiAgICB0aGlzLmNvbHVtbkNvbmZpZ1RhYmxlTWFzdGVyKCk7XHJcbiAgICB0aGlzLnZlcmlmaWNhTWFzdGVyVW5pY2EoKTtcclxuICB9XHJcblxyXG4gIHNlbGVjaW9uYXJFbXByZXNhKGVtcHJlc2E6IGFueSkge1xyXG4gICAgdGhpcy5vbkdldEVtcHJlc2FTZWxlY2lvbmFkYS5lbWl0KGVtcHJlc2EpO1xyXG4gICAgdGhpcy5lbXByZXNhU2VsZWNpb25hZGEgPSBlbXByZXNhO1xyXG4gICAgdGhpcy52aXNpdmVsID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzZWxlY2lvbmFyTWFzdGVyKG1hc3RlcjogYW55KSB7XHJcbiAgICB0aGlzLm9uR2V0TWFzdGVyU2VsZWNpb25hZGEuZW1pdChtYXN0ZXIpO1xyXG4gICAgdGhpcy5tYXN0ZXJTZWxlY2lvbmFkYSA9IG1hc3RlcjtcclxuXHJcbiAgICBpZiAodGhpcy5zb21lbnRlTWFzdGVyKVxyXG4gICAgICB0aGlzLnZpc2l2ZWwgPSBmYWxzZTtcclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLmVtcHJlc2FzID0gbWFzdGVyLmVtcHJlc2FzO1xyXG4gICAgICB0aGlzLnNob3dQYWdpbmF0b3JFbXByZXNhID0gKHRoaXMuZW1wcmVzYXMubGVuZ3RoID4gNSk7XHJcbiAgICAgIHRoaXMuY29sdW1uQ29uZmlnVGFibGVFbXByZXNhKCk7XHJcbiAgICAgIHRoaXMudmVyaWZpY2FFbXByZXNhVW5pY2EoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHZlcmlmaWNhRW1wcmVzYVVuaWNhKCkge1xyXG4gICAgaWYgKHRoaXMuZW1wcmVzYXMgJiYgdGhpcy5lbXByZXNhcy5sZW5ndGggPT0gMSlcclxuICAgICAgdGhpcy5zZWxlY2lvbmFyRW1wcmVzYSh0aGlzLmVtcHJlc2FzWzBdKTtcclxuICB9XHJcblxyXG4gIHZlcmlmaWNhTWFzdGVyVW5pY2EoKSB7XHJcbiAgICBpZiAodGhpcy5tYXN0ZXJzLmxlbmd0aCA9PSAxKVxyXG4gICAgICB0aGlzLnNlbGVjaW9uYXJNYXN0ZXIodGhpcy5tYXN0ZXJzWzBdKTtcclxuICB9XHJcblxyXG4gIHZvbHRhcigpIHtcclxuICAgIHRoaXMuZW1wcmVzYVNlbGVjaW9uYWRhID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5tYXN0ZXJTZWxlY2lvbmFkYSA9IHVuZGVmaW5lZDtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cInZpc2l2ZWxcIiBbc3R5bGVdPVwic3R5bGVCYWNrZ3JvdW5kXCJcclxuICBjbGFzcz1cImgtc2NyZWVuIGZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgbG9naW4tY29udGFpbmVyIGZsZXgtY29sdW1uIGJnLWNvdmVyXCI+XHJcbiAgPGRpdiBpZD1cImNhcmQtY29udGFpbmVyXCJcclxuICAgIGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtYXJvdW5kIGNhcmQtbG9naW4gZm9ybWdyaWQgcC1mbHVpZCAgYmctd2hpdGUgYm9yZGVyLXJvdW5kIHAtMlwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZpZWxkIGNvbC0xMiBmbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgbWItMVwiPlxyXG4gICAgICA8aW1nIFtzcmNdPVwiaW1nTG9nb0tlZXZvQ2VudGVyXCIgc3R5bGU9XCJ3aWR0aDogMjAwcHhcIiAvPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMiBhbGlnbi1pdGVtcy1jZW50ZXIgei01XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtOVwiPlxyXG4gICAgICAgIE9sw6EsIDxiPnt7IG5vbWVVc3VhcmlvIH19LjwvYj4gQmVtIHZpbmRvKGEpIVxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGIgY2xhc3M9XCJmaWVsZCBjb2wtOSBmbGV4XCI+XHJcbiAgICAgICAgRXNjb2xoYSBxdWFsIFdvcmtzcGFjZSB2b2PDqiBkZXNlamEgYWNlc3Nhcjo8L2I+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8IS0tIElOw41DSU8gRE8gV09SS1NQQUNFIERFIENPTlRBQklMSURBREUgKE1BU1RFUlMpIC0tPlxyXG4gICAgPGRpdiAqbmdJZj1cIiFtYXN0ZXJTZWxlY2lvbmFkYVwiIGNsYXNzPVwiY29sLTEyIHotNVwiPlxyXG5cclxuICAgICAgPGt2LXRhYmxlXHJcbiAgICAgICAgW3RhYmxlU2l6ZV09XCJ0YWJsZVNpemVNYXN0ZXJcIlxyXG4gICAgICAgIFtyb3dzXT1cIjVcIlxyXG4gICAgICAgIFtjb25maWddPVwidGFibGVDb25maWdNYXN0ZXJcIlxyXG4gICAgICAgIFtwYWdpbmF0b3JdPVwiZmFsc2VcIlxyXG4gICAgICAgIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VNYXN0ZXJcIlxyXG4gICAgICAgIFtyb3dzUGVyUGFnZU9wdGlvbnNdPVwiWzUsIDEwLCAyNSwgNTAsIDEwMCwgMjAwXVwiXHJcbiAgICAgICAgW2Fjb2VzTGluaGFUYWJlbGFdPVwidHJ1ZVwiXHJcbiAgICAgICAgKGRvdWJsZUNsaWNrRXZlbnQpPVwiZG91YmxlQ2xpY2tNYXN0ZXIoJGV2ZW50KVwiXHJcbiAgICAgICAgKG9uQWN0aXZlSXRlbSk9XCJhY3RpdmVJdGVtTWFzdGVyKCRldmVudClcIlxyXG4gICAgICAgIFtpc1RhYmxlU2Nyb2xsYWJsZV09XCJ0cnVlXCJcclxuICAgICAgICBbc2Nyb2xsSGVpZ2h0XT1cIiczMDBweCdcIj5cclxuICAgICAgPC9rdi10YWJsZT5cclxuXHJcbiAgICA8L2Rpdj5cclxuICAgIDwhLS0gRklNIERPIFdPUktTUEFDRSBERSBDT05UQUJJTElEQURFIChNQVNURVJTKSAtLT5cclxuXHJcbiAgICA8IS0tIElOw41DSU8gRE8gV09SS1NQQUNFIEVNUFJFU0EgLS0+XHJcbiAgICA8ZGl2ICpuZ0lmPVwibWFzdGVyU2VsZWNpb25hZGEgJiYgIWVtcHJlc2FTZWxlY2lvbmFkYVwiIGNsYXNzPVwiY29sLTEyIHotNVwiPlxyXG4gICAgICA8a3YtdGFibGVcclxuICAgICAgICBbdGFibGVTaXplXT1cInRhYmxlU2l6ZUVtcHJlc2FcIlxyXG4gICAgICAgIFtyb3dzXT1cIjVcIlxyXG4gICAgICAgIFtjb25maWddPVwidGFibGVDb25maWdFbXByZXNhXCJcclxuICAgICAgICBbcGFnaW5hdG9yXT1cInNob3dQYWdpbmF0b3JFbXByZXNhXCJcclxuICAgICAgICBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlRW1wcmVzYVwiXHJcbiAgICAgICAgW3Jvd3NQZXJQYWdlT3B0aW9uc109XCJbNV1cIlxyXG4gICAgICAgIFthY29lc0xpbmhhVGFiZWxhXT1cInRydWVcIlxyXG4gICAgICAgIChkb3VibGVDbGlja0V2ZW50KT1cImRvdWJsZUNsaWNrRW1wcmVzYSgkZXZlbnQpXCJcclxuICAgICAgICAob25BY3RpdmVJdGVtKT1cImFjdGl2ZUl0ZW1FbXByZXNhKCRldmVudClcIlxyXG4gICAgICAgIFtpc1RhYmxlU2Nyb2xsYWJsZV09XCJ0cnVlXCJcclxuICAgICAgICBbc2Nyb2xsSGVpZ2h0XT1cIiczMDBweCdcIj5cclxuICAgICAgPC9rdi10YWJsZT5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLSBGSU0gRE8gV09SS1NQQUNFIEVNUFJFU0EgLS0+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|