@tricoteuses/assemblee 1.0.0-next.2 → 1.0.2

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 (135) hide show
  1. package/README.md +2 -0
  2. package/lib/api.js +23 -7
  3. package/lib/api.mjs +41 -0
  4. package/lib/bugs/acteur-00010/plugin.test.js +139 -33
  5. package/lib/bugs/acteur-00010/plugin.test.mjs +33 -0
  6. package/lib/bugs/acteur-00010.js +166 -24
  7. package/lib/bugs/acteur-00010.mjs +31 -0
  8. package/lib/bugs/agenda-00002/plugin.test.js +178 -52
  9. package/lib/bugs/agenda-00002/plugin.test.mjs +52 -0
  10. package/lib/bugs/agenda-00002.js +507 -143
  11. package/lib/bugs/agenda-00002.mjs +197 -0
  12. package/lib/bugs/agenda-00008/plugin.test.js +143 -31
  13. package/lib/bugs/agenda-00008/plugin.test.mjs +31 -0
  14. package/lib/bugs/agenda-00008.js +180 -25
  15. package/lib/bugs/agenda-00008.mjs +30 -0
  16. package/lib/bugs/agenda-00011/plugin.test.js +371 -156
  17. package/lib/bugs/agenda-00011/plugin.test.mjs +156 -0
  18. package/lib/bugs/agenda-00011.js +416 -117
  19. package/lib/bugs/agenda-00011.mjs +150 -0
  20. package/lib/bugs.js +591 -54
  21. package/lib/bugs.mjs +93 -0
  22. package/lib/cleaners/actes_legislatifs.js +149 -61
  23. package/lib/cleaners/actes_legislatifs.mjs +311 -0
  24. package/lib/cleaners/acteurs.js +255 -123
  25. package/lib/cleaners/acteurs.mjs +211 -0
  26. package/lib/cleaners/amendements.js +242 -117
  27. package/lib/cleaners/amendements.mjs +292 -0
  28. package/lib/cleaners/documents.js +147 -62
  29. package/lib/cleaners/documents.mjs +162 -0
  30. package/lib/cleaners/dossiers_legislatifs.js +132 -45
  31. package/lib/cleaners/dossiers_legislatifs.mjs +123 -0
  32. package/lib/cleaners/index.js +64 -8
  33. package/lib/cleaners/index.mjs +8 -0
  34. package/lib/cleaners/organes.js +54 -21
  35. package/lib/cleaners/organes.mjs +64 -0
  36. package/lib/cleaners/reunions.js +237 -127
  37. package/lib/cleaners/reunions.mjs +318 -0
  38. package/lib/cleaners/scrutins.js +261 -99
  39. package/lib/cleaners/scrutins.mjs +254 -0
  40. package/lib/cleaners/xml.js +81 -16
  41. package/lib/cleaners/xml.mjs +42 -0
  42. package/lib/datasets.js +284 -153
  43. package/lib/datasets.mjs +596 -0
  44. package/lib/dates.js +93 -34
  45. package/lib/dates.mjs +98 -0
  46. package/lib/dossiers_legislatifs.js +107 -33
  47. package/lib/dossiers_legislatifs.mjs +215 -0
  48. package/lib/file_systems.js +203 -35
  49. package/lib/file_systems.mjs +64 -0
  50. package/lib/git.js +139 -41
  51. package/lib/git.mjs +114 -0
  52. package/lib/index.js +310 -16
  53. package/lib/index.mjs +16 -0
  54. package/lib/inserters.js +355 -131
  55. package/lib/inserters.mjs +413 -0
  56. package/lib/loaders.js +900 -440
  57. package/lib/loaders.mjs +678 -0
  58. package/lib/organes.js +15 -5
  59. package/lib/organes.mjs +18 -0
  60. package/lib/parsers/documents.js +241 -89
  61. package/lib/parsers/documents.mjs +433 -0
  62. package/lib/parsers/index.js +36 -3
  63. package/lib/parsers/index.mjs +3 -0
  64. package/lib/parsers/recherche_amendements.js +616 -173
  65. package/lib/parsers/recherche_amendements.mjs +189 -0
  66. package/lib/raw_types/acteurs_et_organes.d.ts +36 -148
  67. package/lib/raw_types/acteurs_et_organes.js +228 -506
  68. package/lib/raw_types/acteurs_et_organes.mjs +1240 -0
  69. package/lib/raw_types/agendas.js +165 -75
  70. package/lib/raw_types/agendas.mjs +944 -0
  71. package/lib/raw_types/amendements.js +165 -77
  72. package/lib/raw_types/amendements.mjs +1040 -0
  73. package/lib/raw_types/dossiers_legislatifs.d.ts +1 -43
  74. package/lib/raw_types/dossiers_legislatifs.js +181 -143
  75. package/lib/raw_types/dossiers_legislatifs.mjs +1792 -0
  76. package/lib/raw_types/scrutins.js +144 -61
  77. package/lib/raw_types/scrutins.mjs +645 -0
  78. package/lib/scripts/bugs_helper.js +657 -155
  79. package/lib/scripts/bugs_helper.mjs +286 -0
  80. package/lib/scripts/clean_data.js +380 -145
  81. package/lib/scripts/clean_data.mjs +190 -0
  82. package/lib/scripts/clean_reorganized_data.js +627 -331
  83. package/lib/scripts/clean_reorganized_data.mjs +520 -0
  84. package/lib/scripts/diff_amendements.js +159 -73
  85. package/lib/scripts/diff_amendements.mjs +234 -0
  86. package/lib/scripts/document_dossiers_legislatifs.js +570 -288
  87. package/lib/scripts/document_dossiers_legislatifs.mjs +494 -0
  88. package/lib/scripts/get_today_reunions.js +37 -20
  89. package/lib/scripts/get_today_reunions.mjs +41 -0
  90. package/lib/scripts/merge_scrutins.js +121 -39
  91. package/lib/scripts/merge_scrutins.mjs +69 -0
  92. package/lib/scripts/parse_textes_lois.js +179 -125
  93. package/lib/scripts/parse_textes_lois.mjs +215 -0
  94. package/lib/scripts/raw_types_from_amendements.js +276 -77
  95. package/lib/scripts/raw_types_from_amendements.mjs +118 -0
  96. package/lib/scripts/reorganize_data.js +867 -446
  97. package/lib/scripts/reorganize_data.mjs +712 -0
  98. package/lib/scripts/retrieve_deputes_photos.js +378 -157
  99. package/lib/scripts/retrieve_deputes_photos.mjs +230 -0
  100. package/lib/scripts/retrieve_documents.js +648 -172
  101. package/lib/scripts/retrieve_documents.mjs +292 -0
  102. package/lib/scripts/retrieve_open_data.js +286 -85
  103. package/lib/scripts/retrieve_open_data.mjs +125 -0
  104. package/lib/scripts/retrieve_pending_amendments.js +302 -69
  105. package/lib/scripts/retrieve_pending_amendments.mjs +130 -0
  106. package/lib/scripts/retrieve_senateurs_photos.js +374 -198
  107. package/lib/scripts/retrieve_senateurs_photos.mjs +277 -0
  108. package/lib/scripts/retrieve_textes_lois.js +343 -89
  109. package/lib/scripts/retrieve_textes_lois.mjs +168 -0
  110. package/lib/scripts/test_load.js +30 -11
  111. package/lib/scripts/test_load.mjs +26 -0
  112. package/lib/scripts/test_load_big_files.js +30 -11
  113. package/lib/scripts/test_load_big_files.mjs +26 -0
  114. package/lib/scripts/validate_json.js +370 -120
  115. package/lib/scripts/validate_json.mjs +216 -0
  116. package/lib/shared_types/codes_actes.js +50 -15
  117. package/lib/shared_types/codes_actes.mjs +228 -0
  118. package/lib/strings.js +16 -3
  119. package/lib/strings.mjs +7 -0
  120. package/lib/types/acteurs_et_organes.js +156 -71
  121. package/lib/types/acteurs_et_organes.mjs +918 -0
  122. package/lib/types/agendas.js +154 -67
  123. package/lib/types/agendas.mjs +623 -0
  124. package/lib/types/amendements.js +166 -77
  125. package/lib/types/amendements.mjs +885 -0
  126. package/lib/types/dossiers_legislatifs.d.ts +1 -42
  127. package/lib/types/dossiers_legislatifs.js +182 -143
  128. package/lib/types/dossiers_legislatifs.mjs +1120 -0
  129. package/lib/types/legislatures.js +12 -3
  130. package/lib/types/legislatures.mjs +9 -0
  131. package/lib/types/scrutins.js +144 -61
  132. package/lib/types/scrutins.mjs +528 -0
  133. package/lib/urls.js +44 -25
  134. package/lib/urls.mjs +201 -0
  135. package/package.json +33 -12
@@ -0,0 +1,1040 @@
1
+ // To parse this data:
2
+ //
3
+ // import { Amendements, AmendementWrapper, Convert, TexteLegislatif } from "./file";
4
+ //
5
+ // const amendements = Convert.toAmendements(json);
6
+ // const amendementWrapper = Convert.toAmendementWrapper(json);
7
+ // const texteLegislatif = Convert.toTexteLegislatif(json);
8
+ //
9
+ // These functions will throw an error if the JSON doesn't
10
+ // match the expected interface, even if the JSON is valid.
11
+ export let AccordGouvernementDepotHorsDelai;
12
+
13
+ (function (AccordGouvernementDepotHorsDelai) {
14
+ AccordGouvernementDepotHorsDelai["Accord"] = "Accord";
15
+ AccordGouvernementDepotHorsDelai["SansObjet"] = "Sans objet";
16
+ })(AccordGouvernementDepotHorsDelai || (AccordGouvernementDepotHorsDelai = {}));
17
+
18
+ export let Action;
19
+
20
+ (function (Action) {
21
+ Action["Cr\xE9ation"] = "cr\xE9ation";
22
+ Action["Modification"] = "modification";
23
+ Action["Suppression"] = "suppression";
24
+ })(Action || (Action = {}));
25
+
26
+ export let Code;
27
+
28
+ (function (Code) {
29
+ Code["AC"] = "AC";
30
+ Code["At"] = "AT";
31
+ Code["Di"] = "DI";
32
+ Code["Effac\xE9"] = "effac\xE9";
33
+ Code["Er"] = "ER";
34
+ Code["IR"] = "IR";
35
+ Code["Irr127"] = "IRR127";
36
+ Code["Irr20"] = "IRR20";
37
+ Code["Irr37"] = "IRR37";
38
+ Code["Irr38"] = "IRR38";
39
+ Code["Irr41"] = "IRR41";
40
+ Code["Irr42"] = "IRR42";
41
+ Code["Irr45"] = "IRR45";
42
+ Code["Irr48"] = "IRR48";
43
+ Code["Irr53"] = "IRR53";
44
+ Code["Irrai"] = "IRRAI";
45
+ Code["Irrd"] = "IRRD";
46
+ Code["Irrhd"] = "IRRHD";
47
+ Code["Irrsa"] = "IRRSA";
48
+ Code["R"] = "R";
49
+ Code["Rt"] = "RT";
50
+ Code["T"] = "T";
51
+ })(Code || (Code = {}));
52
+
53
+ export let Libelle;
54
+
55
+ (function (Libelle) {
56
+ Libelle["ADiscuter"] = "A discuter";
57
+ Libelle["AD\xE9poser"] = "A d\xE9poser";
58
+ Libelle["Discut\xE9"] = "Discut\xE9";
59
+ Libelle["Effac\xE9"] = "effac\xE9";
60
+ Libelle["EnRecevabilit\xE9"] = "En recevabilit\xE9";
61
+ Libelle["EnTraitement"] = "En traitement";
62
+ Libelle["Irrecevable"] = "Irrecevable";
63
+ Libelle["Irrecevable40"] = "Irrecevable 40";
64
+ Libelle["Retir\xE9"] = "Retir\xE9";
65
+ })(Libelle || (Libelle = {}));
66
+
67
+ export let SortEnum;
68
+
69
+ (function (SortEnum) {
70
+ SortEnum["Adopt\xE9"] = "Adopt\xE9";
71
+ SortEnum["AutreIrrecevabilit\xE9"] = "Autre irrecevabilit\xE9";
72
+ SortEnum["AutresIrrLOLF"] = "Autres irr LOLF";
73
+ SortEnum["AutresIrrLOLFSS"] = "Autres irr LOLFSS";
74
+ SortEnum["Cavalier45"] = "Cavalier (45)";
75
+ SortEnum["CavalierBudg\xE9taire"] = "Cavalier budg\xE9taire";
76
+ SortEnum["CavalierSocial"] = "Cavalier social";
77
+ SortEnum["ChampDeLHabilitation38"] = "Champ de l'habilitation (38)";
78
+ SortEnum["Charge"] = "Charge";
79
+ SortEnum["Cmp45"] = "CMP (45)";
80
+ SortEnum["Cr\xE9dits"] = "Cr\xE9dits";
81
+ SortEnum["DispositionR\xE9glementaire37"] = "Disposition r\xE9glementaire (37)";
82
+ SortEnum["DomaineDeLaLoi41"] = "Domaine de la loi (41)";
83
+ SortEnum["DomaineLoiOrganique127"] = "Domaine loi organique (127)";
84
+ SortEnum["Doublon"] = "Doublon";
85
+ SortEnum["Entonnoir45"] = "Entonnoir (45)";
86
+ SortEnum["Gage"] = "Gage";
87
+ SortEnum["HorsD\xE9lais"] = "Hors-d\xE9lais";
88
+ SortEnum["Injonction20"] = "Injonction (20)";
89
+ SortEnum["IrrEnPremi\xE8rePartie"] = "Irr en premi\xE8re partie";
90
+ SortEnum["IrrEnSecondePartie"] = "Irr en seconde partie";
91
+ SortEnum["Lolf"] = "LOLF";
92
+ SortEnum["Lolfss"] = "LOLFSS";
93
+ SortEnum["NonSoutenu"] = "Non soutenu";
94
+ SortEnum["OrdreDuJour48"] = "Ordre du jour (48)";
95
+ SortEnum["R"] = "R";
96
+ SortEnum["RatificationTrait\xE953"] = "Ratification trait\xE9 (53)";
97
+ SortEnum["Rejet\xE9"] = "Rejet\xE9";
98
+ SortEnum["Retir\xE9"] = "Retir\xE9";
99
+ SortEnum["Retir\xE9Apr\xE8sPublication"] = "Retir\xE9 apr\xE8s publication";
100
+ SortEnum["Retir\xE9AvantPublication"] = "Retir\xE9 avant publication";
101
+ SortEnum["SatisfaitOuInop\xE9rant42"] = "Satisfait ou inop\xE9rant (42)";
102
+ SortEnum["SousAmendement98"] = "Sous-amendement (98)";
103
+ SortEnum["Tomb\xE9"] = "Tomb\xE9";
104
+ })(SortEnum || (SortEnum = {}));
105
+
106
+ export let TypePosition;
107
+
108
+ (function (TypePosition) {
109
+ TypePosition["Dernier"] = "Dernier";
110
+ TypePosition["Milieu"] = "Milieu";
111
+ TypePosition["Premier"] = "Premier";
112
+ })(TypePosition || (TypePosition = {}));
113
+
114
+ export let AvantAApres;
115
+
116
+ (function (AvantAApres) {
117
+ AvantAApres["A"] = "A";
118
+ AvantAApres["Apr\xE8s"] = "Apr\xE8s";
119
+ AvantAApres["Avant"] = "Avant";
120
+ })(AvantAApres || (AvantAApres = {}));
121
+
122
+ export let DivisionType;
123
+
124
+ (function (DivisionType) {
125
+ DivisionType["Annexe"] = "ANNEXE";
126
+ DivisionType["Article"] = "ARTICLE";
127
+ DivisionType["Chapitre"] = "CHAPITRE";
128
+ DivisionType["Titre"] = "TITRE";
129
+ })(DivisionType || (DivisionType = {}));
130
+
131
+ export let CodeEtat;
132
+
133
+ (function (CodeEtat) {
134
+ CodeEtat["B"] = "B";
135
+ CodeEtat["C"] = "C";
136
+ CodeEtat["D"] = "D";
137
+ })(CodeEtat || (CodeEtat = {}));
138
+
139
+ export let Nom;
140
+
141
+ (function (Nom) {
142
+ Nom["PDF"] = "PDF";
143
+ })(Nom || (Nom = {}));
144
+
145
+ export let TypeMIMEType;
146
+
147
+ (function (TypeMIMEType) {
148
+ TypeMIMEType["Application"] = "application";
149
+ })(TypeMIMEType || (TypeMIMEType = {}));
150
+
151
+ export let TypeAuteur;
152
+
153
+ (function (TypeAuteur) {
154
+ TypeAuteur["D\xE9put\xE9"] = "D\xE9put\xE9";
155
+ TypeAuteur["Gouvernement"] = "Gouvernement";
156
+ TypeAuteur["Rapporteur"] = "Rapporteur";
157
+ })(TypeAuteur || (TypeAuteur = {}));
158
+
159
+ // Converts JSON strings to/from your types
160
+ // and asserts the results of JSON.parse at runtime
161
+ export class Convert {
162
+ static toAmendements(json) {
163
+ return cast(JSON.parse(json), r("Amendements"));
164
+ }
165
+
166
+ static amendementsToJson(value) {
167
+ return JSON.stringify(uncast(value, r("Amendements")), null, 2);
168
+ }
169
+
170
+ static toTexteLegislatif(json) {
171
+ return cast(JSON.parse(json), r("TexteLegislatif"));
172
+ }
173
+
174
+ static texteLegislatifToJson(value) {
175
+ return JSON.stringify(uncast(value, r("TexteLegislatif")), null, 2);
176
+ }
177
+
178
+ static toAmendementWrapper(json) {
179
+ return cast(JSON.parse(json), r("AmendementWrapper"));
180
+ }
181
+
182
+ static amendementWrapperToJson(value) {
183
+ return JSON.stringify(uncast(value, r("AmendementWrapper")), null, 2);
184
+ }
185
+
186
+ }
187
+
188
+ function invalidValue(typ, val, key = '') {
189
+ if (key) {
190
+ throw Error(`Invalid value for key "${key}". Expected type ${JSON.stringify(typ)} but got ${JSON.stringify(val)}`);
191
+ }
192
+
193
+ throw Error(`Invalid value ${JSON.stringify(val)} for type ${JSON.stringify(typ)}`);
194
+ }
195
+
196
+ function jsonToJSProps(typ) {
197
+ if (typ.jsonToJS === undefined) {
198
+ const map = {};
199
+ typ.props.forEach(p => map[p.json] = {
200
+ key: p.js,
201
+ typ: p.typ
202
+ });
203
+ typ.jsonToJS = map;
204
+ }
205
+
206
+ return typ.jsonToJS;
207
+ }
208
+
209
+ function jsToJSONProps(typ) {
210
+ if (typ.jsToJSON === undefined) {
211
+ const map = {};
212
+ typ.props.forEach(p => map[p.js] = {
213
+ key: p.json,
214
+ typ: p.typ
215
+ });
216
+ typ.jsToJSON = map;
217
+ }
218
+
219
+ return typ.jsToJSON;
220
+ }
221
+
222
+ function transform(val, typ, getProps, key = '') {
223
+ function transformPrimitive(typ, val) {
224
+ if (typeof typ === typeof val) return val;
225
+ return invalidValue(typ, val, key);
226
+ }
227
+
228
+ function transformUnion(typs, val) {
229
+ // val must validate against one typ in typs
230
+ const l = typs.length;
231
+
232
+ for (let i = 0; i < l; i++) {
233
+ const typ = typs[i];
234
+
235
+ try {
236
+ return transform(val, typ, getProps);
237
+ } catch (_) {}
238
+ }
239
+
240
+ return invalidValue(typs, val);
241
+ }
242
+
243
+ function transformEnum(cases, val) {
244
+ if (cases.indexOf(val) !== -1) return val;
245
+ return invalidValue(cases, val);
246
+ }
247
+
248
+ function transformArray(typ, val) {
249
+ // val must be an array with no invalid elements
250
+ if (!Array.isArray(val)) return invalidValue("array", val);
251
+ return val.map(el => transform(el, typ, getProps));
252
+ }
253
+
254
+ function transformDate(val) {
255
+ if (val === null) {
256
+ return null;
257
+ }
258
+
259
+ const d = new Date(val);
260
+
261
+ if (isNaN(d.valueOf())) {
262
+ return invalidValue("Date", val);
263
+ }
264
+
265
+ return d;
266
+ }
267
+
268
+ function transformObject(props, additional, val) {
269
+ if (val === null || typeof val !== "object" || Array.isArray(val)) {
270
+ return invalidValue("object", val);
271
+ }
272
+
273
+ const result = {};
274
+ Object.getOwnPropertyNames(props).forEach(key => {
275
+ const prop = props[key];
276
+ const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
277
+ result[prop.key] = transform(v, prop.typ, getProps, prop.key);
278
+ });
279
+ Object.getOwnPropertyNames(val).forEach(key => {
280
+ if (!Object.prototype.hasOwnProperty.call(props, key)) {
281
+ result[key] = transform(val[key], additional, getProps, key);
282
+ }
283
+ });
284
+ return result;
285
+ }
286
+
287
+ if (typ === "any") return val;
288
+
289
+ if (typ === null) {
290
+ if (val === null) return val;
291
+ return invalidValue(typ, val);
292
+ }
293
+
294
+ if (typ === false) return invalidValue(typ, val);
295
+
296
+ while (typeof typ === "object" && typ.ref !== undefined) {
297
+ typ = typeMap[typ.ref];
298
+ }
299
+
300
+ if (Array.isArray(typ)) return transformEnum(typ, val);
301
+
302
+ if (typeof typ === "object") {
303
+ return typ.hasOwnProperty("unionMembers") ? transformUnion(typ.unionMembers, val) : typ.hasOwnProperty("arrayItems") ? transformArray(typ.arrayItems, val) : typ.hasOwnProperty("props") ? transformObject(getProps(typ), typ.additional, val) : invalidValue(typ, val);
304
+ } // Numbers can be parsed by Date but shouldn't be.
305
+
306
+
307
+ if (typ === Date && typeof val !== "number") return transformDate(val);
308
+ return transformPrimitive(typ, val);
309
+ }
310
+
311
+ function cast(val, typ) {
312
+ return transform(val, typ, jsonToJSProps);
313
+ }
314
+
315
+ function uncast(val, typ) {
316
+ return transform(val, typ, jsToJSONProps);
317
+ }
318
+
319
+ function a(typ) {
320
+ return {
321
+ arrayItems: typ
322
+ };
323
+ }
324
+
325
+ function u(...typs) {
326
+ return {
327
+ unionMembers: typs
328
+ };
329
+ }
330
+
331
+ function o(props, additional) {
332
+ return {
333
+ props,
334
+ additional
335
+ };
336
+ } // function m(additional: any) {
337
+ // return { props: [], additional };
338
+ // }
339
+
340
+
341
+ function r(name) {
342
+ return {
343
+ ref: name
344
+ };
345
+ }
346
+
347
+ const typeMap = {
348
+ "Amendements": o([{
349
+ json: "textesLegislatifs",
350
+ js: "textesLegislatifs",
351
+ typ: a(r("TexteLegislatif"))
352
+ }], false),
353
+ "TexteLegislatif": o([{
354
+ json: "@xmlns:xsi",
355
+ js: "@xmlns:xsi",
356
+ typ: ""
357
+ }, {
358
+ json: "refTexteLegislatif",
359
+ js: "refTexteLegislatif",
360
+ typ: ""
361
+ }, {
362
+ json: "amendements",
363
+ js: "amendements",
364
+ typ: r("AmendementsClass")
365
+ }], false),
366
+ "AmendementsClass": o([{
367
+ json: "amendement",
368
+ js: "amendement",
369
+ typ: a(r("Amendement"))
370
+ }], false),
371
+ "AmendementWrapper": o([{
372
+ json: "amendement",
373
+ js: "amendement",
374
+ typ: r("Amendement")
375
+ }], false),
376
+ "Amendement": o([{
377
+ json: "@xmlns",
378
+ js: "@xmlns",
379
+ typ: ""
380
+ }, {
381
+ json: "uid",
382
+ js: "uid",
383
+ typ: ""
384
+ }, {
385
+ json: "chronotag",
386
+ js: "chronotag",
387
+ typ: ""
388
+ }, {
389
+ json: "legislature",
390
+ js: "legislature",
391
+ typ: ""
392
+ }, {
393
+ json: "identification",
394
+ js: "identification",
395
+ typ: r("Identification")
396
+ }, {
397
+ json: "examenRef",
398
+ js: "examenRef",
399
+ typ: ""
400
+ }, {
401
+ json: "texteLegislatifRef",
402
+ js: "texteLegislatifRef",
403
+ typ: ""
404
+ }, {
405
+ json: "triAmendement",
406
+ js: "triAmendement",
407
+ typ: u(r("AmendementParentRefClass"), "")
408
+ }, {
409
+ json: "cardinaliteAmdtMultiples",
410
+ js: "cardinaliteAmdtMultiples",
411
+ typ: u(r("AmendementParentRefClass"), "")
412
+ }, {
413
+ json: "amendementParentRef",
414
+ js: "amendementParentRef",
415
+ typ: u(r("AmendementParentRefClass"), "")
416
+ }, {
417
+ json: "signataires",
418
+ js: "signataires",
419
+ typ: r("Signataires")
420
+ }, {
421
+ json: "pointeurFragmentTexte",
422
+ js: "pointeurFragmentTexte",
423
+ typ: r("PointeurFragmentTexte")
424
+ }, {
425
+ json: "corps",
426
+ js: "corps",
427
+ typ: r("Corps")
428
+ }, {
429
+ json: "cycleDeVie",
430
+ js: "cycleDeVie",
431
+ typ: r("CycleDeVie")
432
+ }, {
433
+ json: "representations",
434
+ js: "representations",
435
+ typ: u(r("Representations"), null)
436
+ }, {
437
+ json: "seanceDiscussionRef",
438
+ js: "seanceDiscussionRef",
439
+ typ: u(r("AmendementParentRefClass"), "")
440
+ }, {
441
+ json: "article99",
442
+ js: "article99",
443
+ typ: ""
444
+ }, {
445
+ json: "loiReference",
446
+ js: "loiReference",
447
+ typ: r("LoiReference")
448
+ }, {
449
+ json: "discussionCommune",
450
+ js: "discussionCommune",
451
+ typ: r("Discussion")
452
+ }, {
453
+ json: "discussionIdentique",
454
+ js: "discussionIdentique",
455
+ typ: r("Discussion")
456
+ }, {
457
+ json: "accordGouvernementDepotHorsDelai",
458
+ js: "accordGouvernementDepotHorsDelai",
459
+ typ: r("AccordGouvernementDepotHorsDelai")
460
+ }], false),
461
+ "AmendementParentRefClass": o([{
462
+ json: "@xmlns:xsi",
463
+ js: "@xmlns:xsi",
464
+ typ: ""
465
+ }, {
466
+ json: "@xsi:nil",
467
+ js: "@xsi:nil",
468
+ typ: ""
469
+ }], false),
470
+ "Corps": o([{
471
+ json: "cartoucheInformatif",
472
+ js: "cartoucheInformatif",
473
+ typ: u(undefined, u(r("AmendementParentRefClass"), ""))
474
+ }, {
475
+ json: "contenuAuteur",
476
+ js: "contenuAuteur",
477
+ typ: u(undefined, r("ContenuAuteur"))
478
+ }, {
479
+ json: "@xmlns:xsi",
480
+ js: "@xmlns:xsi",
481
+ typ: u(undefined, "")
482
+ }, {
483
+ json: "@xsi:nil",
484
+ js: "@xsi:nil",
485
+ typ: u(undefined, "")
486
+ }], false),
487
+ "ContenuAuteur": o([{
488
+ json: "dispositif",
489
+ js: "dispositif",
490
+ typ: u(undefined, "")
491
+ }, {
492
+ json: "avantAppel",
493
+ js: "avantAppel",
494
+ typ: u(undefined, r("AvantAppel"))
495
+ }, {
496
+ json: "exposeSommaire",
497
+ js: "exposeSommaire",
498
+ typ: u(undefined, "")
499
+ }, {
500
+ json: "annexeExposeSommaire",
501
+ js: "annexeExposeSommaire",
502
+ typ: u(undefined, r("AmendementParentRefClass"))
503
+ }, {
504
+ json: "@xmlns:xsi",
505
+ js: "@xmlns:xsi",
506
+ typ: u(undefined, "")
507
+ }, {
508
+ json: "@xsi:nil",
509
+ js: "@xsi:nil",
510
+ typ: u(undefined, "")
511
+ }, {
512
+ json: "dispositifAmdtCreditPLF",
513
+ js: "dispositifAmdtCreditPLF",
514
+ typ: u(undefined, r("DispositifAmdtCreditPLF"))
515
+ }, {
516
+ json: "dispositifAmdtCreditPLFR",
517
+ js: "dispositifAmdtCreditPLFR",
518
+ typ: u(undefined, r("DispositifAmdtCreditPLFR"))
519
+ }], false),
520
+ "AvantAppel": o([{
521
+ json: "@xmlns:xsi",
522
+ js: "@xmlns:xsi",
523
+ typ: u(undefined, "")
524
+ }, {
525
+ json: "@xsi:nil",
526
+ js: "@xsi:nil",
527
+ typ: u(undefined, "")
528
+ }, {
529
+ json: "dispositif",
530
+ js: "dispositif",
531
+ typ: u(undefined, "")
532
+ }], false),
533
+ "DispositifAmdtCreditPLF": o([{
534
+ json: "listeProgrammes",
535
+ js: "listeProgrammes",
536
+ typ: u(undefined, r("DispositifAmdtCreditPLFListeProgrammes"))
537
+ }, {
538
+ json: "soldeAE",
539
+ js: "soldeAE",
540
+ typ: u(undefined, "")
541
+ }, {
542
+ json: "soldeCP",
543
+ js: "soldeCP",
544
+ typ: u(undefined, "")
545
+ }, {
546
+ json: "cpEgalAe",
547
+ js: "cpEgalAe",
548
+ typ: ""
549
+ }], false),
550
+ "DispositifAmdtCreditPLFListeProgrammes": o([{
551
+ json: "programme",
552
+ js: "programme",
553
+ typ: a(r("PurpleProgramme"))
554
+ }], false),
555
+ "PurpleProgramme": o([{
556
+ json: "libelle",
557
+ js: "libelle",
558
+ typ: ""
559
+ }, {
560
+ json: "programmeRef",
561
+ js: "programmeRef",
562
+ typ: ""
563
+ }, {
564
+ json: "autorisationEngagement",
565
+ js: "autorisationEngagement",
566
+ typ: ""
567
+ }, {
568
+ json: "creditPaiement",
569
+ js: "creditPaiement",
570
+ typ: ""
571
+ }, {
572
+ json: "action",
573
+ js: "action",
574
+ typ: r("Action")
575
+ }, {
576
+ json: "lignesCredits",
577
+ js: "lignesCredits",
578
+ typ: r("PurpleLignesCredits")
579
+ }], false),
580
+ "PurpleLignesCredits": o([{
581
+ json: "@xmlns:xsi",
582
+ js: "@xmlns:xsi",
583
+ typ: u(undefined, "")
584
+ }, {
585
+ json: "@xsi:nil",
586
+ js: "@xsi:nil",
587
+ typ: u(undefined, "")
588
+ }, {
589
+ json: "ligneCredit",
590
+ js: "ligneCredit",
591
+ typ: u(undefined, u(a(r("LigneCreditClass")), r("LigneCreditClass")))
592
+ }], false),
593
+ "LigneCreditClass": o([{
594
+ json: "id",
595
+ js: "id",
596
+ typ: ""
597
+ }, {
598
+ json: "libelle",
599
+ js: "libelle",
600
+ typ: ""
601
+ }, {
602
+ json: "autorisationEngagement",
603
+ js: "autorisationEngagement",
604
+ typ: ""
605
+ }, {
606
+ json: "creditPaiement",
607
+ js: "creditPaiement",
608
+ typ: ""
609
+ }, {
610
+ json: "action",
611
+ js: "action",
612
+ typ: r("Action")
613
+ }], false),
614
+ "DispositifAmdtCreditPLFR": o([{
615
+ json: "listeProgrammes",
616
+ js: "listeProgrammes",
617
+ typ: u(undefined, r("DispositifAmdtCreditPLFRListeProgrammes"))
618
+ }, {
619
+ json: "totalAE",
620
+ js: "totalAE",
621
+ typ: u(undefined, r("Total"))
622
+ }, {
623
+ json: "totalCP",
624
+ js: "totalCP",
625
+ typ: u(undefined, r("Total"))
626
+ }, {
627
+ json: "cpEgalAe",
628
+ js: "cpEgalAe",
629
+ typ: ""
630
+ }], false),
631
+ "DispositifAmdtCreditPLFRListeProgrammes": o([{
632
+ json: "programme",
633
+ js: "programme",
634
+ typ: a(r("LigneCreditElement"))
635
+ }], false),
636
+ "LigneCreditLignesCredits": o([{
637
+ json: "@xmlns:xsi",
638
+ js: "@xmlns:xsi",
639
+ typ: u(undefined, "")
640
+ }, {
641
+ json: "@xsi:nil",
642
+ js: "@xsi:nil",
643
+ typ: u(undefined, "")
644
+ }, {
645
+ json: "ligneCredit",
646
+ js: "ligneCredit",
647
+ typ: u(undefined, u(a(r("LigneCreditElement")), r("LigneCreditElement")))
648
+ }], false),
649
+ "LigneCreditElement": o([{
650
+ json: "libelle",
651
+ js: "libelle",
652
+ typ: ""
653
+ }, {
654
+ json: "programmeRef",
655
+ js: "programmeRef",
656
+ typ: u(undefined, "")
657
+ }, {
658
+ json: "autorisationEngagementSupplementaire",
659
+ js: "autorisationEngagementSupplementaire",
660
+ typ: ""
661
+ }, {
662
+ json: "creditPaiementSupplementaire",
663
+ js: "creditPaiementSupplementaire",
664
+ typ: ""
665
+ }, {
666
+ json: "autorisationEngagementAnnule",
667
+ js: "autorisationEngagementAnnule",
668
+ typ: ""
669
+ }, {
670
+ json: "creditPaiementAnnule",
671
+ js: "creditPaiementAnnule",
672
+ typ: ""
673
+ }, {
674
+ json: "action",
675
+ js: "action",
676
+ typ: r("Action")
677
+ }, {
678
+ json: "lignesCredits",
679
+ js: "lignesCredits",
680
+ typ: u(undefined, r("LigneCreditLignesCredits"))
681
+ }, {
682
+ json: "id",
683
+ js: "id",
684
+ typ: u(undefined, "")
685
+ }], false),
686
+ "Total": o([{
687
+ json: "supplementaire",
688
+ js: "supplementaire",
689
+ typ: ""
690
+ }, {
691
+ json: "annule",
692
+ js: "annule",
693
+ typ: ""
694
+ }, {
695
+ json: "solde",
696
+ js: "solde",
697
+ typ: ""
698
+ }], false),
699
+ "CycleDeVie": o([{
700
+ json: "dateDepot",
701
+ js: "dateDepot",
702
+ typ: u(r("AmendementParentRefClass"), Date)
703
+ }, {
704
+ json: "datePublication",
705
+ js: "datePublication",
706
+ typ: u(r("AmendementParentRefClass"), Date)
707
+ }, {
708
+ json: "soumisArticle40",
709
+ js: "soumisArticle40",
710
+ typ: ""
711
+ }, {
712
+ json: "etatDesTraitements",
713
+ js: "etatDesTraitements",
714
+ typ: r("EtatDESTraitements")
715
+ }, {
716
+ json: "dateSort",
717
+ js: "dateSort",
718
+ typ: u(r("AmendementParentRefClass"), Date)
719
+ }, {
720
+ json: "sort",
721
+ js: "sort",
722
+ typ: u(r("AmendementParentRefClass"), r("SortEnum"))
723
+ }], false),
724
+ "EtatDESTraitements": o([{
725
+ json: "etat",
726
+ js: "etat",
727
+ typ: r("Etat")
728
+ }, {
729
+ json: "sousEtat",
730
+ js: "sousEtat",
731
+ typ: r("SousEtat")
732
+ }], false),
733
+ "Etat": o([{
734
+ json: "code",
735
+ js: "code",
736
+ typ: r("Code")
737
+ }, {
738
+ json: "libelle",
739
+ js: "libelle",
740
+ typ: r("Libelle")
741
+ }], false),
742
+ "SousEtat": o([{
743
+ json: "code",
744
+ js: "code",
745
+ typ: u(undefined, r("Code"))
746
+ }, {
747
+ json: "libelle",
748
+ js: "libelle",
749
+ typ: u(undefined, r("SortEnum"))
750
+ }, {
751
+ json: "@xmlns:xsi",
752
+ js: "@xmlns:xsi",
753
+ typ: u(undefined, "")
754
+ }, {
755
+ json: "@xsi:nil",
756
+ js: "@xsi:nil",
757
+ typ: u(undefined, "")
758
+ }], false),
759
+ "Discussion": o([{
760
+ json: "@xmlns:xsi",
761
+ js: "@xmlns:xsi",
762
+ typ: u(undefined, "")
763
+ }, {
764
+ json: "@xsi:nil",
765
+ js: "@xsi:nil",
766
+ typ: u(undefined, "")
767
+ }, {
768
+ json: "idDiscussion",
769
+ js: "idDiscussion",
770
+ typ: u(undefined, "")
771
+ }, {
772
+ json: "typePosition",
773
+ js: "typePosition",
774
+ typ: u(undefined, r("TypePosition"))
775
+ }], false),
776
+ "Identification": o([{
777
+ json: "numeroLong",
778
+ js: "numeroLong",
779
+ typ: ""
780
+ }, {
781
+ json: "numeroOrdreDepot",
782
+ js: "numeroOrdreDepot",
783
+ typ: ""
784
+ }, {
785
+ json: "prefixeOrganeExamen",
786
+ js: "prefixeOrganeExamen",
787
+ typ: ""
788
+ }, {
789
+ json: "numeroRect",
790
+ js: "numeroRect",
791
+ typ: ""
792
+ }], false),
793
+ "LoiReference": o([{
794
+ json: "@xmlns:xsi",
795
+ js: "@xmlns:xsi",
796
+ typ: u(undefined, "")
797
+ }, {
798
+ json: "@xsi:nil",
799
+ js: "@xsi:nil",
800
+ typ: u(undefined, "")
801
+ }, {
802
+ json: "codeLoi",
803
+ js: "codeLoi",
804
+ typ: u(undefined, u(r("AmendementParentRefClass"), null, ""))
805
+ }, {
806
+ json: "divisionCodeLoi",
807
+ js: "divisionCodeLoi",
808
+ typ: u(undefined, u(r("AmendementParentRefClass"), null, ""))
809
+ }], false),
810
+ "PointeurFragmentTexte": o([{
811
+ json: "partieAmendableRef",
812
+ js: "partieAmendableRef",
813
+ typ: r("AmendementParentRefClass")
814
+ }, {
815
+ json: "division",
816
+ js: "division",
817
+ typ: u(undefined, r("Division"))
818
+ }, {
819
+ json: "amendementStandard",
820
+ js: "amendementStandard",
821
+ typ: u(undefined, r("AmendementStandard"))
822
+ }, {
823
+ json: "missionVisee",
824
+ js: "missionVisee",
825
+ typ: u(undefined, r("MissionVisee"))
826
+ }], false),
827
+ "AmendementStandard": o([{
828
+ json: "alinea",
829
+ js: "alinea",
830
+ typ: r("Alinea")
831
+ }], false),
832
+ "Alinea": o([{
833
+ json: "@xmlns:xsi",
834
+ js: "@xmlns:xsi",
835
+ typ: u(undefined, "")
836
+ }, {
837
+ json: "@xsi:nil",
838
+ js: "@xsi:nil",
839
+ typ: u(undefined, "")
840
+ }, {
841
+ json: "avant_A_Apres",
842
+ js: "avant_A_Apres",
843
+ typ: u(undefined, u(r("AmendementParentRefClass"), null, ""))
844
+ }, {
845
+ json: "numero",
846
+ js: "numero",
847
+ typ: u(undefined, u(r("AmendementParentRefClass"), ""))
848
+ }, {
849
+ json: "alineaDesignation",
850
+ js: "alineaDesignation",
851
+ typ: u(undefined, "")
852
+ }], false),
853
+ "Division": o([{
854
+ json: "titre",
855
+ js: "titre",
856
+ typ: ""
857
+ }, {
858
+ json: "articleDesignationCourte",
859
+ js: "articleDesignationCourte",
860
+ typ: u(null, "")
861
+ }, {
862
+ json: "articleDesignation",
863
+ js: "articleDesignation",
864
+ typ: u(null, "")
865
+ }, {
866
+ json: "type",
867
+ js: "type",
868
+ typ: r("DivisionType")
869
+ }, {
870
+ json: "avant_A_Apres",
871
+ js: "avant_A_Apres",
872
+ typ: r("AvantAApres")
873
+ }, {
874
+ json: "divisionRattachee",
875
+ js: "divisionRattachee",
876
+ typ: u(r("AmendementParentRefClass"), "")
877
+ }, {
878
+ json: "articleAdditionnel",
879
+ js: "articleAdditionnel",
880
+ typ: ""
881
+ }, {
882
+ json: "chapitreAdditionnel",
883
+ js: "chapitreAdditionnel",
884
+ typ: ""
885
+ }, {
886
+ json: "urlDivisionTexteVise",
887
+ js: "urlDivisionTexteVise",
888
+ typ: u(r("AmendementParentRefClass"), "")
889
+ }], false),
890
+ "MissionVisee": o([{
891
+ json: "codeEtat",
892
+ js: "codeEtat",
893
+ typ: r("CodeEtat")
894
+ }, {
895
+ json: "codeMissionMinefi",
896
+ js: "codeMissionMinefi",
897
+ typ: ""
898
+ }, {
899
+ json: "libelleMission",
900
+ js: "libelleMission",
901
+ typ: ""
902
+ }, {
903
+ json: "missionRef",
904
+ js: "missionRef",
905
+ typ: ""
906
+ }], false),
907
+ "Representations": o([{
908
+ json: "representation",
909
+ js: "representation",
910
+ typ: r("Representation")
911
+ }], false),
912
+ "Representation": o([{
913
+ json: "nom",
914
+ js: "nom",
915
+ typ: r("Nom")
916
+ }, {
917
+ json: "typeMime",
918
+ js: "typeMime",
919
+ typ: r("TypeMIME")
920
+ }, {
921
+ json: "statutRepresentation",
922
+ js: "statutRepresentation",
923
+ typ: r("StatutRepresentation")
924
+ }, {
925
+ json: "repSource",
926
+ js: "repSource",
927
+ typ: r("AmendementParentRefClass")
928
+ }, {
929
+ json: "offset",
930
+ js: "offset",
931
+ typ: r("AmendementParentRefClass")
932
+ }, {
933
+ json: "contenu",
934
+ js: "contenu",
935
+ typ: r("Contenu")
936
+ }, {
937
+ json: "dateDispoRepresentation",
938
+ js: "dateDispoRepresentation",
939
+ typ: r("AmendementParentRefClass")
940
+ }], false),
941
+ "Contenu": o([{
942
+ json: "documentURI",
943
+ js: "documentURI",
944
+ typ: ""
945
+ }], false),
946
+ "StatutRepresentation": o([{
947
+ json: "verbatim",
948
+ js: "verbatim",
949
+ typ: ""
950
+ }, {
951
+ json: "canonique",
952
+ js: "canonique",
953
+ typ: ""
954
+ }, {
955
+ json: "officielle",
956
+ js: "officielle",
957
+ typ: ""
958
+ }, {
959
+ json: "transcription",
960
+ js: "transcription",
961
+ typ: ""
962
+ }, {
963
+ json: "enregistrement",
964
+ js: "enregistrement",
965
+ typ: ""
966
+ }], false),
967
+ "TypeMIME": o([{
968
+ json: "type",
969
+ js: "type",
970
+ typ: r("TypeMIMEType")
971
+ }, {
972
+ json: "subType",
973
+ js: "subType",
974
+ typ: r("Nom")
975
+ }], false),
976
+ "Signataires": o([{
977
+ json: "auteur",
978
+ js: "auteur",
979
+ typ: r("Auteur")
980
+ }, {
981
+ json: "cosignataires",
982
+ js: "cosignataires",
983
+ typ: r("Cosignataires")
984
+ }, {
985
+ json: "suffixe",
986
+ js: "suffixe",
987
+ typ: u(r("AmendementParentRefClass"), "")
988
+ }, {
989
+ json: "libelle",
990
+ js: "libelle",
991
+ typ: u(null, "")
992
+ }], false),
993
+ "Auteur": o([{
994
+ json: "typeAuteur",
995
+ js: "typeAuteur",
996
+ typ: r("TypeAuteur")
997
+ }, {
998
+ json: "gouvernementRef",
999
+ js: "gouvernementRef",
1000
+ typ: u(r("AmendementParentRefClass"), "")
1001
+ }, {
1002
+ json: "acteurRef",
1003
+ js: "acteurRef",
1004
+ typ: u(r("AmendementParentRefClass"), "")
1005
+ }, {
1006
+ json: "groupePolitiqueRef",
1007
+ js: "groupePolitiqueRef",
1008
+ typ: u(r("AmendementParentRefClass"), "")
1009
+ }, {
1010
+ json: "auteurRapporteurOrganeRef",
1011
+ js: "auteurRapporteurOrganeRef",
1012
+ typ: u(r("AmendementParentRefClass"), "")
1013
+ }], false),
1014
+ "Cosignataires": o([{
1015
+ json: "@xmlns:xsi",
1016
+ js: "@xmlns:xsi",
1017
+ typ: u(undefined, "")
1018
+ }, {
1019
+ json: "@xsi:nil",
1020
+ js: "@xsi:nil",
1021
+ typ: u(undefined, "")
1022
+ }, {
1023
+ json: "acteurRef",
1024
+ js: "acteurRef",
1025
+ typ: u(undefined, u(a(""), ""))
1026
+ }], false),
1027
+ "AccordGouvernementDepotHorsDelai": ["Accord", "Sans objet"],
1028
+ "Action": ["création", "modification", "suppression"],
1029
+ "Code": ["AC", "AT", "DI", "effacé", "ER", "IR", "IRR127", "IRR20", "IRR37", "IRR38", "IRR41", "IRR42", "IRR45", "IRR48", "IRR53", "IRRAI", "IRRD", "IRRHD", "IRRSA", "R", "RT", "T"],
1030
+ "Libelle": ["A discuter", "A déposer", "Discuté", "effacé", "En recevabilité", "En traitement", "Irrecevable", "Irrecevable 40", "Retiré"],
1031
+ "SortEnum": ["Adopté", "Autre irrecevabilité", "Autres irr LOLF", "Autres irr LOLFSS", "Cavalier (45)", "Cavalier budgétaire", "Cavalier social", "Champ de l'habilitation (38)", "Charge", "CMP (45)", "Crédits", "Disposition réglementaire (37)", "Domaine de la loi (41)", "Domaine loi organique (127)", "Doublon", "Entonnoir (45)", "Gage", "Hors-délais", "Injonction (20)", "Irr en première partie", "Irr en seconde partie", "LOLF", "LOLFSS", "Non soutenu", "Ordre du jour (48)", "R", "Ratification traité (53)", "Rejeté", "Retiré", "Retiré après publication", "Retiré avant publication", "Satisfait ou inopérant (42)", "Sous-amendement (98)", "Tombé"],
1032
+ "TypePosition": ["Dernier", "Milieu", "Premier"],
1033
+ "AvantAApres": ["A", "Après", "Avant"],
1034
+ "DivisionType": ["ANNEXE", "ARTICLE", "CHAPITRE", "TITRE"],
1035
+ "CodeEtat": ["B", "C", "D"],
1036
+ "Nom": ["PDF"],
1037
+ "TypeMIMEType": ["application"],
1038
+ "TypeAuteur": ["Député", "Gouvernement", "Rapporteur"]
1039
+ };
1040
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBY2NvcmRHb3V2ZXJuZW1lbnREZXBvdEhvcnNEZWxhaSIsIkFjdGlvbiIsIkNvZGUiLCJMaWJlbGxlIiwiU29ydEVudW0iLCJUeXBlUG9zaXRpb24iLCJBdmFudEFBcHJlcyIsIkRpdmlzaW9uVHlwZSIsIkNvZGVFdGF0IiwiTm9tIiwiVHlwZU1JTUVUeXBlIiwiVHlwZUF1dGV1ciIsIkNvbnZlcnQiLCJ0b0FtZW5kZW1lbnRzIiwianNvbiIsImNhc3QiLCJKU09OIiwicGFyc2UiLCJyIiwiYW1lbmRlbWVudHNUb0pzb24iLCJ2YWx1ZSIsInN0cmluZ2lmeSIsInVuY2FzdCIsInRvVGV4dGVMZWdpc2xhdGlmIiwidGV4dGVMZWdpc2xhdGlmVG9Kc29uIiwidG9BbWVuZGVtZW50V3JhcHBlciIsImFtZW5kZW1lbnRXcmFwcGVyVG9Kc29uIiwiaW52YWxpZFZhbHVlIiwidHlwIiwidmFsIiwia2V5IiwiRXJyb3IiLCJqc29uVG9KU1Byb3BzIiwianNvblRvSlMiLCJ1bmRlZmluZWQiLCJtYXAiLCJwcm9wcyIsImZvckVhY2giLCJwIiwianMiLCJqc1RvSlNPTlByb3BzIiwianNUb0pTT04iLCJ0cmFuc2Zvcm0iLCJnZXRQcm9wcyIsInRyYW5zZm9ybVByaW1pdGl2ZSIsInRyYW5zZm9ybVVuaW9uIiwidHlwcyIsImwiLCJsZW5ndGgiLCJpIiwiXyIsInRyYW5zZm9ybUVudW0iLCJjYXNlcyIsImluZGV4T2YiLCJ0cmFuc2Zvcm1BcnJheSIsIkFycmF5IiwiaXNBcnJheSIsImVsIiwidHJhbnNmb3JtRGF0ZSIsImQiLCJEYXRlIiwiaXNOYU4iLCJ2YWx1ZU9mIiwidHJhbnNmb3JtT2JqZWN0IiwiYWRkaXRpb25hbCIsInJlc3VsdCIsIk9iamVjdCIsImdldE93blByb3BlcnR5TmFtZXMiLCJwcm9wIiwidiIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsInJlZiIsInR5cGVNYXAiLCJ1bmlvbk1lbWJlcnMiLCJhcnJheUl0ZW1zIiwiYSIsInUiLCJvIiwibmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yYXdfdHlwZXMvYW1lbmRlbWVudHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVG8gcGFyc2UgdGhpcyBkYXRhOlxuLy9cbi8vICAgaW1wb3J0IHsgQW1lbmRlbWVudHMsIEFtZW5kZW1lbnRXcmFwcGVyLCBDb252ZXJ0LCBUZXh0ZUxlZ2lzbGF0aWYgfSBmcm9tIFwiLi9maWxlXCI7XG4vL1xuLy8gICBjb25zdCBhbWVuZGVtZW50cyA9IENvbnZlcnQudG9BbWVuZGVtZW50cyhqc29uKTtcbi8vICAgY29uc3QgYW1lbmRlbWVudFdyYXBwZXIgPSBDb252ZXJ0LnRvQW1lbmRlbWVudFdyYXBwZXIoanNvbik7XG4vLyAgIGNvbnN0IHRleHRlTGVnaXNsYXRpZiA9IENvbnZlcnQudG9UZXh0ZUxlZ2lzbGF0aWYoanNvbik7XG4vL1xuLy8gVGhlc2UgZnVuY3Rpb25zIHdpbGwgdGhyb3cgYW4gZXJyb3IgaWYgdGhlIEpTT04gZG9lc24ndFxuLy8gbWF0Y2ggdGhlIGV4cGVjdGVkIGludGVyZmFjZSwgZXZlbiBpZiB0aGUgSlNPTiBpcyB2YWxpZC5cblxuZXhwb3J0IGludGVyZmFjZSBBbWVuZGVtZW50cyB7XG4gIHRleHRlc0xlZ2lzbGF0aWZzOiBUZXh0ZUxlZ2lzbGF0aWZbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRleHRlTGVnaXNsYXRpZiB7XG4gICAgXCJAeG1sbnM6eHNpXCI6ICAgICAgIHN0cmluZztcbiAgICByZWZUZXh0ZUxlZ2lzbGF0aWY6IHN0cmluZztcbiAgICBhbWVuZGVtZW50czogICAgICAgIEFtZW5kZW1lbnRzQ2xhc3M7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQW1lbmRlbWVudHNDbGFzcyB7XG4gICAgYW1lbmRlbWVudDogQW1lbmRlbWVudFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFtZW5kZW1lbnRXcmFwcGVyIHtcbiAgYW1lbmRlbWVudDogQW1lbmRlbWVudFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFtZW5kZW1lbnQge1xuICAgIFwiQHhtbG5zXCI6ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICB1aWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIGNocm9ub3RhZzogICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgbGVnaXNsYXR1cmU6ICAgICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBpZGVudGlmaWNhdGlvbjogICAgICAgICAgICAgICAgICAgSWRlbnRpZmljYXRpb247XG4gICAgZXhhbWVuUmVmOiAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICB0ZXh0ZUxlZ2lzbGF0aWZSZWY6ICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIHRyaUFtZW5kZW1lbnQ6ICAgICAgICAgICAgICAgICAgICBBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3MgfCBzdHJpbmc7XG4gICAgY2FyZGluYWxpdGVBbWR0TXVsdGlwbGVzOiAgICAgICAgIEFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzcyB8IHN0cmluZztcbiAgICBhbWVuZGVtZW50UGFyZW50UmVmOiAgICAgICAgICAgICAgQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzIHwgc3RyaW5nO1xuICAgIHNpZ25hdGFpcmVzOiAgICAgICAgICAgICAgICAgICAgICBTaWduYXRhaXJlcztcbiAgICBwb2ludGV1ckZyYWdtZW50VGV4dGU6ICAgICAgICAgICAgUG9pbnRldXJGcmFnbWVudFRleHRlO1xuICAgIGNvcnBzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb3JwcztcbiAgICBjeWNsZURlVmllOiAgICAgICAgICAgICAgICAgICAgICAgQ3ljbGVEZVZpZTtcbiAgICByZXByZXNlbnRhdGlvbnM6ICAgICAgICAgICAgICAgICAgUmVwcmVzZW50YXRpb25zIHwgbnVsbDtcbiAgICBzZWFuY2VEaXNjdXNzaW9uUmVmOiAgICAgICAgICAgICAgQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzIHwgc3RyaW5nO1xuICAgIGFydGljbGU5OTogICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgbG9pUmVmZXJlbmNlOiAgICAgICAgICAgICAgICAgICAgIExvaVJlZmVyZW5jZTtcbiAgICBkaXNjdXNzaW9uQ29tbXVuZTogICAgICAgICAgICAgICAgRGlzY3Vzc2lvbjtcbiAgICBkaXNjdXNzaW9uSWRlbnRpcXVlOiAgICAgICAgICAgICAgRGlzY3Vzc2lvbjtcbiAgICBhY2NvcmRHb3V2ZXJuZW1lbnREZXBvdEhvcnNEZWxhaTogQWNjb3JkR291dmVybmVtZW50RGVwb3RIb3JzRGVsYWk7XG59XG5cbmV4cG9ydCBlbnVtIEFjY29yZEdvdXZlcm5lbWVudERlcG90SG9yc0RlbGFpIHtcbiAgICBBY2NvcmQgPSBcIkFjY29yZFwiLFxuICAgIFNhbnNPYmpldCA9IFwiU2FucyBvYmpldFwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzcyB7XG4gICAgXCJAeG1sbnM6eHNpXCI6IHN0cmluZztcbiAgICBcIkB4c2k6bmlsXCI6ICAgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvcnBzIHtcbiAgICBjYXJ0b3VjaGVJbmZvcm1hdGlmPzogQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzIHwgc3RyaW5nO1xuICAgIGNvbnRlbnVBdXRldXI/OiAgICAgICBDb250ZW51QXV0ZXVyO1xuICAgIFwiQHhtbG5zOnhzaVwiPzogICAgICAgIHN0cmluZztcbiAgICBcIkB4c2k6bmlsXCI/OiAgICAgICAgICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGVudUF1dGV1ciB7XG4gICAgZGlzcG9zaXRpZj86ICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIGF2YW50QXBwZWw/OiAgICAgICAgICAgICAgIEF2YW50QXBwZWw7XG4gICAgZXhwb3NlU29tbWFpcmU/OiAgICAgICAgICAgc3RyaW5nO1xuICAgIGFubmV4ZUV4cG9zZVNvbW1haXJlPzogICAgIEFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzcztcbiAgICBcIkB4bWxuczp4c2lcIj86ICAgICAgICAgICAgIHN0cmluZztcbiAgICBcIkB4c2k6bmlsXCI/OiAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBkaXNwb3NpdGlmQW1kdENyZWRpdFBMRj86ICBEaXNwb3NpdGlmQW1kdENyZWRpdFBMRjtcbiAgICBkaXNwb3NpdGlmQW1kdENyZWRpdFBMRlI/OiBEaXNwb3NpdGlmQW1kdENyZWRpdFBMRlI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXZhbnRBcHBlbCB7XG4gICAgXCJAeG1sbnM6eHNpXCI/OiBzdHJpbmc7XG4gICAgXCJAeHNpOm5pbFwiPzogICBzdHJpbmc7XG4gICAgZGlzcG9zaXRpZj86ICAgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGIHtcbiAgICBsaXN0ZVByb2dyYW1tZXM/OiBEaXNwb3NpdGlmQW1kdENyZWRpdFBMRkxpc3RlUHJvZ3JhbW1lcztcbiAgICBzb2xkZUFFPzogICAgICAgICBzdHJpbmc7XG4gICAgc29sZGVDUD86ICAgICAgICAgc3RyaW5nO1xuICAgIGNwRWdhbEFlOiAgICAgICAgIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNwb3NpdGlmQW1kdENyZWRpdFBMRkxpc3RlUHJvZ3JhbW1lcyB7XG4gICAgcHJvZ3JhbW1lOiBQdXJwbGVQcm9ncmFtbWVbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdXJwbGVQcm9ncmFtbWUge1xuICAgIGxpYmVsbGU6ICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBwcm9ncmFtbWVSZWY6ICAgICAgICAgICBzdHJpbmc7XG4gICAgYXV0b3Jpc2F0aW9uRW5nYWdlbWVudDogc3RyaW5nO1xuICAgIGNyZWRpdFBhaWVtZW50OiAgICAgICAgIHN0cmluZztcbiAgICBhY3Rpb246ICAgICAgICAgICAgICAgICBBY3Rpb247XG4gICAgbGlnbmVzQ3JlZGl0czogICAgICAgICAgUHVycGxlTGlnbmVzQ3JlZGl0cztcbn1cblxuZXhwb3J0IGVudW0gQWN0aW9uIHtcbiAgICBDcsOpYXRpb24gPSBcImNyw6lhdGlvblwiLFxuICAgIE1vZGlmaWNhdGlvbiA9IFwibW9kaWZpY2F0aW9uXCIsXG4gICAgU3VwcHJlc3Npb24gPSBcInN1cHByZXNzaW9uXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHVycGxlTGlnbmVzQ3JlZGl0cyB7XG4gICAgXCJAeG1sbnM6eHNpXCI/OiBzdHJpbmc7XG4gICAgXCJAeHNpOm5pbFwiPzogICBzdHJpbmc7XG4gICAgbGlnbmVDcmVkaXQ/OiAgTGlnbmVDcmVkaXRDbGFzc1tdIHwgTGlnbmVDcmVkaXRDbGFzcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaWduZUNyZWRpdENsYXNzIHtcbiAgICBpZDogICAgICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgbGliZWxsZTogICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIGF1dG9yaXNhdGlvbkVuZ2FnZW1lbnQ6IHN0cmluZztcbiAgICBjcmVkaXRQYWllbWVudDogICAgICAgICBzdHJpbmc7XG4gICAgYWN0aW9uOiAgICAgICAgICAgICAgICAgQWN0aW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGUiB7XG4gICAgbGlzdGVQcm9ncmFtbWVzPzogRGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSTGlzdGVQcm9ncmFtbWVzO1xuICAgIHRvdGFsQUU/OiAgICAgICAgIFRvdGFsO1xuICAgIHRvdGFsQ1A/OiAgICAgICAgIFRvdGFsO1xuICAgIGNwRWdhbEFlOiAgICAgICAgIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNwb3NpdGlmQW1kdENyZWRpdFBMRlJMaXN0ZVByb2dyYW1tZXMge1xuICAgIHByb2dyYW1tZTogTGlnbmVDcmVkaXRFbGVtZW50W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlnbmVDcmVkaXRMaWduZXNDcmVkaXRzIHtcbiAgICBcIkB4bWxuczp4c2lcIj86IHN0cmluZztcbiAgICBcIkB4c2k6bmlsXCI/OiAgIHN0cmluZztcbiAgICBsaWduZUNyZWRpdD86ICBMaWduZUNyZWRpdEVsZW1lbnRbXSB8IExpZ25lQ3JlZGl0RWxlbWVudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaWduZUNyZWRpdEVsZW1lbnQge1xuICAgIGxpYmVsbGU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIHByb2dyYW1tZVJlZj86ICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIGF1dG9yaXNhdGlvbkVuZ2FnZW1lbnRTdXBwbGVtZW50YWlyZTogc3RyaW5nO1xuICAgIGNyZWRpdFBhaWVtZW50U3VwcGxlbWVudGFpcmU6ICAgICAgICAgc3RyaW5nO1xuICAgIGF1dG9yaXNhdGlvbkVuZ2FnZW1lbnRBbm51bGU6ICAgICAgICAgc3RyaW5nO1xuICAgIGNyZWRpdFBhaWVtZW50QW5udWxlOiAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIGFjdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWN0aW9uO1xuICAgIGxpZ25lc0NyZWRpdHM/OiAgICAgICAgICAgICAgICAgICAgICAgTGlnbmVDcmVkaXRMaWduZXNDcmVkaXRzO1xuICAgIGlkPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRvdGFsIHtcbiAgICBzdXBwbGVtZW50YWlyZTogc3RyaW5nO1xuICAgIGFubnVsZTogICAgICAgICBzdHJpbmc7XG4gICAgc29sZGU6ICAgICAgICAgIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDeWNsZURlVmllIHtcbiAgICBkYXRlRGVwb3Q6ICAgICAgICAgIEFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzcyB8IERhdGU7XG4gICAgZGF0ZVB1YmxpY2F0aW9uOiAgICBBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3MgfCBEYXRlO1xuICAgIHNvdW1pc0FydGljbGU0MDogICAgc3RyaW5nO1xuICAgIGV0YXREZXNUcmFpdGVtZW50czogRXRhdERFU1RyYWl0ZW1lbnRzO1xuICAgIGRhdGVTb3J0OiAgICAgICAgICAgQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzIHwgRGF0ZTtcbiAgICBzb3J0OiAgICAgICAgICAgICAgIEFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzcyB8IFNvcnRFbnVtO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV0YXRERVNUcmFpdGVtZW50cyB7XG4gICAgZXRhdDogICAgIEV0YXQ7XG4gICAgc291c0V0YXQ6IFNvdXNFdGF0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV0YXQge1xuICAgIGNvZGU6ICAgIENvZGU7XG4gICAgbGliZWxsZTogTGliZWxsZTtcbn1cblxuZXhwb3J0IGVudW0gQ29kZSB7XG4gICAgQUMgPSBcIkFDXCIsXG4gICAgQXQgPSBcIkFUXCIsXG4gICAgRGkgPSBcIkRJXCIsXG4gICAgRWZmYWPDqSA9IFwiZWZmYWPDqVwiLFxuICAgIEVyID0gXCJFUlwiLFxuICAgIElSID0gXCJJUlwiLFxuICAgIElycjEyNyA9IFwiSVJSMTI3XCIsXG4gICAgSXJyMjAgPSBcIklSUjIwXCIsXG4gICAgSXJyMzcgPSBcIklSUjM3XCIsXG4gICAgSXJyMzggPSBcIklSUjM4XCIsXG4gICAgSXJyNDEgPSBcIklSUjQxXCIsXG4gICAgSXJyNDIgPSBcIklSUjQyXCIsXG4gICAgSXJyNDUgPSBcIklSUjQ1XCIsXG4gICAgSXJyNDggPSBcIklSUjQ4XCIsXG4gICAgSXJyNTMgPSBcIklSUjUzXCIsXG4gICAgSXJyYWkgPSBcIklSUkFJXCIsXG4gICAgSXJyZCA9IFwiSVJSRFwiLFxuICAgIElycmhkID0gXCJJUlJIRFwiLFxuICAgIElycnNhID0gXCJJUlJTQVwiLFxuICAgIFIgPSBcIlJcIixcbiAgICBSdCA9IFwiUlRcIixcbiAgICBUID0gXCJUXCIsXG59XG5cbmV4cG9ydCBlbnVtIExpYmVsbGUge1xuICAgIEFEaXNjdXRlciA9IFwiQSBkaXNjdXRlclwiLFxuICAgIEFEw6lwb3NlciA9IFwiQSBkw6lwb3NlclwiLFxuICAgIERpc2N1dMOpID0gXCJEaXNjdXTDqVwiLFxuICAgIEVmZmFjw6kgPSBcImVmZmFjw6lcIixcbiAgICBFblJlY2V2YWJpbGl0w6kgPSBcIkVuIHJlY2V2YWJpbGl0w6lcIixcbiAgICBFblRyYWl0ZW1lbnQgPSBcIkVuIHRyYWl0ZW1lbnRcIixcbiAgICBJcnJlY2V2YWJsZSA9IFwiSXJyZWNldmFibGVcIixcbiAgICBJcnJlY2V2YWJsZTQwID0gXCJJcnJlY2V2YWJsZSA0MFwiLFxuICAgIFJldGlyw6kgPSBcIlJldGlyw6lcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTb3VzRXRhdCB7XG4gICAgY29kZT86ICAgICAgICAgQ29kZTtcbiAgICBsaWJlbGxlPzogICAgICBTb3J0RW51bTtcbiAgICBcIkB4bWxuczp4c2lcIj86IHN0cmluZztcbiAgICBcIkB4c2k6bmlsXCI/OiAgIHN0cmluZztcbn1cblxuZXhwb3J0IGVudW0gU29ydEVudW0ge1xuICAgIEFkb3B0w6kgPSBcIkFkb3B0w6lcIixcbiAgICBBdXRyZUlycmVjZXZhYmlsaXTDqSA9IFwiQXV0cmUgaXJyZWNldmFiaWxpdMOpXCIsXG4gICAgQXV0cmVzSXJyTE9MRiA9IFwiQXV0cmVzIGlyciBMT0xGXCIsXG4gICAgQXV0cmVzSXJyTE9MRlNTID0gXCJBdXRyZXMgaXJyIExPTEZTU1wiLFxuICAgIENhdmFsaWVyNDUgPSBcIkNhdmFsaWVyICg0NSlcIixcbiAgICBDYXZhbGllckJ1ZGfDqXRhaXJlID0gXCJDYXZhbGllciBidWRnw6l0YWlyZVwiLFxuICAgIENhdmFsaWVyU29jaWFsID0gXCJDYXZhbGllciBzb2NpYWxcIixcbiAgICBDaGFtcERlTEhhYmlsaXRhdGlvbjM4ID0gXCJDaGFtcCBkZSBsJ2hhYmlsaXRhdGlvbiAoMzgpXCIsXG4gICAgQ2hhcmdlID0gXCJDaGFyZ2VcIixcbiAgICBDbXA0NSA9IFwiQ01QICg0NSlcIixcbiAgICBDcsOpZGl0cyA9IFwiQ3LDqWRpdHNcIixcbiAgICBEaXNwb3NpdGlvblLDqWdsZW1lbnRhaXJlMzcgPSBcIkRpc3Bvc2l0aW9uIHLDqWdsZW1lbnRhaXJlICgzNylcIixcbiAgICBEb21haW5lRGVMYUxvaTQxID0gXCJEb21haW5lIGRlIGxhIGxvaSAoNDEpXCIsXG4gICAgRG9tYWluZUxvaU9yZ2FuaXF1ZTEyNyA9IFwiRG9tYWluZSBsb2kgb3JnYW5pcXVlICgxMjcpXCIsXG4gICAgRG91YmxvbiA9IFwiRG91YmxvblwiLFxuICAgIEVudG9ubm9pcjQ1ID0gXCJFbnRvbm5vaXIgKDQ1KVwiLFxuICAgIEdhZ2UgPSBcIkdhZ2VcIixcbiAgICBIb3JzRMOpbGFpcyA9IFwiSG9ycy1kw6lsYWlzXCIsXG4gICAgSW5qb25jdGlvbjIwID0gXCJJbmpvbmN0aW9uICgyMClcIixcbiAgICBJcnJFblByZW1pw6hyZVBhcnRpZSA9IFwiSXJyIGVuIHByZW1pw6hyZSBwYXJ0aWVcIixcbiAgICBJcnJFblNlY29uZGVQYXJ0aWUgPSBcIklyciBlbiBzZWNvbmRlIHBhcnRpZVwiLFxuICAgIExvbGYgPSBcIkxPTEZcIixcbiAgICBMb2xmc3MgPSBcIkxPTEZTU1wiLFxuICAgIE5vblNvdXRlbnUgPSBcIk5vbiBzb3V0ZW51XCIsXG4gICAgT3JkcmVEdUpvdXI0OCA9IFwiT3JkcmUgZHUgam91ciAoNDgpXCIsXG4gICAgUiA9IFwiUlwiLFxuICAgIFJhdGlmaWNhdGlvblRyYWl0w6k1MyA9IFwiUmF0aWZpY2F0aW9uIHRyYWl0w6kgKDUzKVwiLFxuICAgIFJlamV0w6kgPSBcIlJlamV0w6lcIixcbiAgICBSZXRpcsOpID0gXCJSZXRpcsOpXCIsXG4gICAgUmV0aXLDqUFwcsOoc1B1YmxpY2F0aW9uID0gXCJSZXRpcsOpIGFwcsOocyBwdWJsaWNhdGlvblwiLFxuICAgIFJldGlyw6lBdmFudFB1YmxpY2F0aW9uID0gXCJSZXRpcsOpIGF2YW50IHB1YmxpY2F0aW9uXCIsXG4gICAgU2F0aXNmYWl0T3VJbm9ww6lyYW50NDIgPSBcIlNhdGlzZmFpdCBvdSBpbm9ww6lyYW50ICg0MilcIixcbiAgICBTb3VzQW1lbmRlbWVudDk4ID0gXCJTb3VzLWFtZW5kZW1lbnQgKDk4KVwiLFxuICAgIFRvbWLDqSA9IFwiVG9tYsOpXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY3Vzc2lvbiB7XG4gICAgXCJAeG1sbnM6eHNpXCI/OiBzdHJpbmc7XG4gICAgXCJAeHNpOm5pbFwiPzogICBzdHJpbmc7XG4gICAgaWREaXNjdXNzaW9uPzogc3RyaW5nO1xuICAgIHR5cGVQb3NpdGlvbj86IFR5cGVQb3NpdGlvbjtcbn1cblxuZXhwb3J0IGVudW0gVHlwZVBvc2l0aW9uIHtcbiAgICBEZXJuaWVyID0gXCJEZXJuaWVyXCIsXG4gICAgTWlsaWV1ID0gXCJNaWxpZXVcIixcbiAgICBQcmVtaWVyID0gXCJQcmVtaWVyXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWRlbnRpZmljYXRpb24ge1xuICAgIG51bWVyb0xvbmc6ICAgICAgICAgIHN0cmluZztcbiAgICBudW1lcm9PcmRyZURlcG90OiAgICBzdHJpbmc7XG4gICAgcHJlZml4ZU9yZ2FuZUV4YW1lbjogc3RyaW5nO1xuICAgIG51bWVyb1JlY3Q6ICAgICAgICAgIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2lSZWZlcmVuY2Uge1xuICAgIFwiQHhtbG5zOnhzaVwiPzogICAgc3RyaW5nO1xuICAgIFwiQHhzaTpuaWxcIj86ICAgICAgc3RyaW5nO1xuICAgIGNvZGVMb2k/OiAgICAgICAgIEFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzcyB8IG51bGwgfCBzdHJpbmc7XG4gICAgZGl2aXNpb25Db2RlTG9pPzogQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzIHwgbnVsbCB8IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQb2ludGV1ckZyYWdtZW50VGV4dGUge1xuICAgIHBhcnRpZUFtZW5kYWJsZVJlZjogIEFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzcztcbiAgICBkaXZpc2lvbj86ICAgICAgICAgICBEaXZpc2lvbjtcbiAgICBhbWVuZGVtZW50U3RhbmRhcmQ/OiBBbWVuZGVtZW50U3RhbmRhcmQ7XG4gICAgbWlzc2lvblZpc2VlPzogICAgICAgTWlzc2lvblZpc2VlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFtZW5kZW1lbnRTdGFuZGFyZCB7XG4gICAgYWxpbmVhOiBBbGluZWE7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWxpbmVhIHtcbiAgICBcIkB4bWxuczp4c2lcIj86ICAgICAgc3RyaW5nO1xuICAgIFwiQHhzaTpuaWxcIj86ICAgICAgICBzdHJpbmc7XG4gICAgYXZhbnRfQV9BcHJlcz86ICAgICBBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3MgfCBudWxsIHwgc3RyaW5nO1xuICAgIG51bWVybz86ICAgICAgICAgICAgQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzIHwgc3RyaW5nO1xuICAgIGFsaW5lYURlc2lnbmF0aW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpdmlzaW9uIHtcbiAgICB0aXRyZTogICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBhcnRpY2xlRGVzaWduYXRpb25Db3VydGU6IG51bGwgfCBzdHJpbmc7XG4gICAgYXJ0aWNsZURlc2lnbmF0aW9uOiAgICAgICBudWxsIHwgc3RyaW5nO1xuICAgIHR5cGU6ICAgICAgICAgICAgICAgICAgICAgRGl2aXNpb25UeXBlO1xuICAgIGF2YW50X0FfQXByZXM6ICAgICAgICAgICAgQXZhbnRBQXByZXM7XG4gICAgZGl2aXNpb25SYXR0YWNoZWU6ICAgICAgICBBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3MgfCBzdHJpbmc7XG4gICAgYXJ0aWNsZUFkZGl0aW9ubmVsOiAgICAgICBzdHJpbmc7XG4gICAgY2hhcGl0cmVBZGRpdGlvbm5lbDogICAgICBzdHJpbmc7XG4gICAgdXJsRGl2aXNpb25UZXh0ZVZpc2U6ICAgICBBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3MgfCBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIEF2YW50QUFwcmVzIHtcbiAgICBBID0gXCJBXCIsXG4gICAgQXByw6hzID0gXCJBcHLDqHNcIixcbiAgICBBdmFudCA9IFwiQXZhbnRcIixcbn1cblxuZXhwb3J0IGVudW0gRGl2aXNpb25UeXBlIHtcbiAgICBBbm5leGUgPSBcIkFOTkVYRVwiLFxuICAgIEFydGljbGUgPSBcIkFSVElDTEVcIixcbiAgICBDaGFwaXRyZSA9IFwiQ0hBUElUUkVcIixcbiAgICBUaXRyZSA9IFwiVElUUkVcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNaXNzaW9uVmlzZWUge1xuICAgIGNvZGVFdGF0OiAgICAgICAgICBDb2RlRXRhdDtcbiAgICBjb2RlTWlzc2lvbk1pbmVmaTogc3RyaW5nO1xuICAgIGxpYmVsbGVNaXNzaW9uOiAgICBzdHJpbmc7XG4gICAgbWlzc2lvblJlZjogICAgICAgIHN0cmluZztcbn1cblxuZXhwb3J0IGVudW0gQ29kZUV0YXQge1xuICAgIEIgPSBcIkJcIixcbiAgICBDID0gXCJDXCIsXG4gICAgRCA9IFwiRFwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlcHJlc2VudGF0aW9ucyB7XG4gICAgcmVwcmVzZW50YXRpb246IFJlcHJlc2VudGF0aW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlcHJlc2VudGF0aW9uIHtcbiAgICBub206ICAgICAgICAgICAgICAgICAgICAgTm9tO1xuICAgIHR5cGVNaW1lOiAgICAgICAgICAgICAgICBUeXBlTUlNRTtcbiAgICBzdGF0dXRSZXByZXNlbnRhdGlvbjogICAgU3RhdHV0UmVwcmVzZW50YXRpb247XG4gICAgcmVwU291cmNlOiAgICAgICAgICAgICAgIEFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzcztcbiAgICBvZmZzZXQ6ICAgICAgICAgICAgICAgICAgQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzO1xuICAgIGNvbnRlbnU6ICAgICAgICAgICAgICAgICBDb250ZW51O1xuICAgIGRhdGVEaXNwb1JlcHJlc2VudGF0aW9uOiBBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3M7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGVudSB7XG4gICAgZG9jdW1lbnRVUkk6IHN0cmluZztcbn1cblxuZXhwb3J0IGVudW0gTm9tIHtcbiAgICBQREYgPSBcIlBERlwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0YXR1dFJlcHJlc2VudGF0aW9uIHtcbiAgICB2ZXJiYXRpbTogICAgICAgc3RyaW5nO1xuICAgIGNhbm9uaXF1ZTogICAgICBzdHJpbmc7XG4gICAgb2ZmaWNpZWxsZTogICAgIHN0cmluZztcbiAgICB0cmFuc2NyaXB0aW9uOiAgc3RyaW5nO1xuICAgIGVucmVnaXN0cmVtZW50OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZU1JTUUge1xuICAgIHR5cGU6ICAgIFR5cGVNSU1FVHlwZTtcbiAgICBzdWJUeXBlOiBOb207XG59XG5cbmV4cG9ydCBlbnVtIFR5cGVNSU1FVHlwZSB7XG4gICAgQXBwbGljYXRpb24gPSBcImFwcGxpY2F0aW9uXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbmF0YWlyZXMge1xuICAgIGF1dGV1cjogICAgICAgIEF1dGV1cjtcbiAgICBjb3NpZ25hdGFpcmVzOiBDb3NpZ25hdGFpcmVzO1xuICAgIHN1ZmZpeGU6ICAgICAgIEFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzcyB8IHN0cmluZztcbiAgICBsaWJlbGxlOiAgICAgICBudWxsIHwgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGV1ciB7XG4gICAgdHlwZUF1dGV1cjogICAgICAgICAgICAgICAgVHlwZUF1dGV1cjtcbiAgICBnb3V2ZXJuZW1lbnRSZWY6ICAgICAgICAgICBBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3MgfCBzdHJpbmc7XG4gICAgYWN0ZXVyUmVmOiAgICAgICAgICAgICAgICAgQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzIHwgc3RyaW5nO1xuICAgIGdyb3VwZVBvbGl0aXF1ZVJlZjogICAgICAgIEFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzcyB8IHN0cmluZztcbiAgICBhdXRldXJSYXBwb3J0ZXVyT3JnYW5lUmVmOiBBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3MgfCBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIFR5cGVBdXRldXIge1xuICAgIETDqXB1dMOpID0gXCJEw6lwdXTDqVwiLFxuICAgIEdvdXZlcm5lbWVudCA9IFwiR291dmVybmVtZW50XCIsXG4gICAgUmFwcG9ydGV1ciA9IFwiUmFwcG9ydGV1clwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvc2lnbmF0YWlyZXMge1xuICAgIFwiQHhtbG5zOnhzaVwiPzogc3RyaW5nO1xuICAgIFwiQHhzaTpuaWxcIj86ICAgc3RyaW5nO1xuICAgIGFjdGV1clJlZj86ICAgIHN0cmluZ1tdIHwgc3RyaW5nO1xufVxuXG4vLyBDb252ZXJ0cyBKU09OIHN0cmluZ3MgdG8vZnJvbSB5b3VyIHR5cGVzXG4vLyBhbmQgYXNzZXJ0cyB0aGUgcmVzdWx0cyBvZiBKU09OLnBhcnNlIGF0IHJ1bnRpbWVcbmV4cG9ydCBjbGFzcyBDb252ZXJ0IHtcbiAgICBwdWJsaWMgc3RhdGljIHRvQW1lbmRlbWVudHMoanNvbjogc3RyaW5nKTogQW1lbmRlbWVudHMge1xuICAgICAgICByZXR1cm4gY2FzdChKU09OLnBhcnNlKGpzb24pLCByKFwiQW1lbmRlbWVudHNcIikpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgYW1lbmRlbWVudHNUb0pzb24odmFsdWU6IEFtZW5kZW1lbnRzKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHVuY2FzdCh2YWx1ZSwgcihcIkFtZW5kZW1lbnRzXCIpKSwgbnVsbCwgMik7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyB0b1RleHRlTGVnaXNsYXRpZihqc29uOiBzdHJpbmcpOiBUZXh0ZUxlZ2lzbGF0aWYge1xuICAgICAgICByZXR1cm4gY2FzdChKU09OLnBhcnNlKGpzb24pLCByKFwiVGV4dGVMZWdpc2xhdGlmXCIpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHRleHRlTGVnaXNsYXRpZlRvSnNvbih2YWx1ZTogVGV4dGVMZWdpc2xhdGlmKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHVuY2FzdCh2YWx1ZSwgcihcIlRleHRlTGVnaXNsYXRpZlwiKSksIG51bGwsIDIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgdG9BbWVuZGVtZW50V3JhcHBlcihqc29uOiBzdHJpbmcpOiBBbWVuZGVtZW50V3JhcHBlciB7XG4gICAgICAgIHJldHVybiBjYXN0KEpTT04ucGFyc2UoanNvbiksIHIoXCJBbWVuZGVtZW50V3JhcHBlclwiKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBhbWVuZGVtZW50V3JhcHBlclRvSnNvbih2YWx1ZTogQW1lbmRlbWVudFdyYXBwZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodW5jYXN0KHZhbHVlLCByKFwiQW1lbmRlbWVudFdyYXBwZXJcIikpLCBudWxsLCAyKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGludmFsaWRWYWx1ZSh0eXA6IGFueSwgdmFsOiBhbnksIGtleTogYW55ID0gJycpOiBuZXZlciB7XG4gICAgaWYgKGtleSkge1xuICAgICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCB2YWx1ZSBmb3Iga2V5IFwiJHtrZXl9XCIuIEV4cGVjdGVkIHR5cGUgJHtKU09OLnN0cmluZ2lmeSh0eXApfSBidXQgZ290ICR7SlNPTi5zdHJpbmdpZnkodmFsKX1gKTtcbiAgICB9XG4gICAgdGhyb3cgRXJyb3IoYEludmFsaWQgdmFsdWUgJHtKU09OLnN0cmluZ2lmeSh2YWwpfSBmb3IgdHlwZSAke0pTT04uc3RyaW5naWZ5KHR5cCl9YCwgKTtcbn1cblxuZnVuY3Rpb24ganNvblRvSlNQcm9wcyh0eXA6IGFueSk6IGFueSB7XG4gICAgaWYgKHR5cC5qc29uVG9KUyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IG1hcDogYW55ID0ge307XG4gICAgICAgIHR5cC5wcm9wcy5mb3JFYWNoKChwOiBhbnkpID0+IG1hcFtwLmpzb25dID0geyBrZXk6IHAuanMsIHR5cDogcC50eXAgfSk7XG4gICAgICAgIHR5cC5qc29uVG9KUyA9IG1hcDtcbiAgICB9XG4gICAgcmV0dXJuIHR5cC5qc29uVG9KUztcbn1cblxuZnVuY3Rpb24ganNUb0pTT05Qcm9wcyh0eXA6IGFueSk6IGFueSB7XG4gICAgaWYgKHR5cC5qc1RvSlNPTiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IG1hcDogYW55ID0ge307XG4gICAgICAgIHR5cC5wcm9wcy5mb3JFYWNoKChwOiBhbnkpID0+IG1hcFtwLmpzXSA9IHsga2V5OiBwLmpzb24sIHR5cDogcC50eXAgfSk7XG4gICAgICAgIHR5cC5qc1RvSlNPTiA9IG1hcDtcbiAgICB9XG4gICAgcmV0dXJuIHR5cC5qc1RvSlNPTjtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtKHZhbDogYW55LCB0eXA6IGFueSwgZ2V0UHJvcHM6IGFueSwga2V5OiBhbnkgPSAnJyk6IGFueSB7XG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtUHJpbWl0aXZlKHR5cDogc3RyaW5nLCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIGlmICh0eXBlb2YgdHlwID09PSB0eXBlb2YgdmFsKSByZXR1cm4gdmFsO1xuICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsLCBrZXkpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybVVuaW9uKHR5cHM6IGFueVtdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIC8vIHZhbCBtdXN0IHZhbGlkYXRlIGFnYWluc3Qgb25lIHR5cCBpbiB0eXBzXG4gICAgICAgIGNvbnN0IGwgPSB0eXBzLmxlbmd0aDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHR5cCA9IHR5cHNbaV07XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGdldFByb3BzKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKF8pIHt9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXBzLCB2YWwpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybUVudW0oY2FzZXM6IHN0cmluZ1tdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIGlmIChjYXNlcy5pbmRleE9mKHZhbCkgIT09IC0xKSByZXR1cm4gdmFsO1xuICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKGNhc2VzLCB2YWwpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybUFycmF5KHR5cDogYW55LCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIC8vIHZhbCBtdXN0IGJlIGFuIGFycmF5IHdpdGggbm8gaW52YWxpZCBlbGVtZW50c1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsKSkgcmV0dXJuIGludmFsaWRWYWx1ZShcImFycmF5XCIsIHZhbCk7XG4gICAgICAgIHJldHVybiB2YWwubWFwKGVsID0+IHRyYW5zZm9ybShlbCwgdHlwLCBnZXRQcm9wcykpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybURhdGUodmFsOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAodmFsID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkID0gbmV3IERhdGUodmFsKTtcbiAgICAgICAgaWYgKGlzTmFOKGQudmFsdWVPZigpKSkge1xuICAgICAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShcIkRhdGVcIiwgdmFsKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZDtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1PYmplY3QocHJvcHM6IHsgW2s6IHN0cmluZ106IGFueSB9LCBhZGRpdGlvbmFsOiBhbnksIHZhbDogYW55KTogYW55IHtcbiAgICAgICAgaWYgKHZhbCA9PT0gbnVsbCB8fCB0eXBlb2YgdmFsICE9PSBcIm9iamVjdFwiIHx8IEFycmF5LmlzQXJyYXkodmFsKSkge1xuICAgICAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShcIm9iamVjdFwiLCB2YWwpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlc3VsdDogYW55ID0ge307XG4gICAgICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHByb3BzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwcm9wID0gcHJvcHNba2V5XTtcbiAgICAgICAgICAgIGNvbnN0IHYgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodmFsLCBrZXkpID8gdmFsW2tleV0gOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICByZXN1bHRbcHJvcC5rZXldID0gdHJhbnNmb3JtKHYsIHByb3AudHlwLCBnZXRQcm9wcywgcHJvcC5rZXkpO1xuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModmFsKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwcm9wcywga2V5KSkge1xuICAgICAgICAgICAgICAgIHJlc3VsdFtrZXldID0gdHJhbnNmb3JtKHZhbFtrZXldLCBhZGRpdGlvbmFsLCBnZXRQcm9wcywga2V5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgaWYgKHR5cCA9PT0gXCJhbnlcIikgcmV0dXJuIHZhbDtcbiAgICBpZiAodHlwID09PSBudWxsKSB7XG4gICAgICAgIGlmICh2YWwgPT09IG51bGwpIHJldHVybiB2YWw7XG4gICAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpO1xuICAgIH1cbiAgICBpZiAodHlwID09PSBmYWxzZSkgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXAsIHZhbCk7XG4gICAgd2hpbGUgKHR5cGVvZiB0eXAgPT09IFwib2JqZWN0XCIgJiYgdHlwLnJlZiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHR5cCA9IHR5cGVNYXBbdHlwLnJlZl07XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHR5cCkpIHJldHVybiB0cmFuc2Zvcm1FbnVtKHR5cCwgdmFsKTtcbiAgICBpZiAodHlwZW9mIHR5cCA9PT0gXCJvYmplY3RcIikge1xuICAgICAgICByZXR1cm4gdHlwLmhhc093blByb3BlcnR5KFwidW5pb25NZW1iZXJzXCIpID8gdHJhbnNmb3JtVW5pb24odHlwLnVuaW9uTWVtYmVycywgdmFsKVxuICAgICAgICAgICAgOiB0eXAuaGFzT3duUHJvcGVydHkoXCJhcnJheUl0ZW1zXCIpICAgID8gdHJhbnNmb3JtQXJyYXkodHlwLmFycmF5SXRlbXMsIHZhbClcbiAgICAgICAgICAgIDogdHlwLmhhc093blByb3BlcnR5KFwicHJvcHNcIikgICAgICAgICA/IHRyYW5zZm9ybU9iamVjdChnZXRQcm9wcyh0eXApLCB0eXAuYWRkaXRpb25hbCwgdmFsKVxuICAgICAgICAgICAgOiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpO1xuICAgIH1cbiAgICAvLyBOdW1iZXJzIGNhbiBiZSBwYXJzZWQgYnkgRGF0ZSBidXQgc2hvdWxkbid0IGJlLlxuICAgIGlmICh0eXAgPT09IERhdGUgJiYgdHlwZW9mIHZhbCAhPT0gXCJudW1iZXJcIikgcmV0dXJuIHRyYW5zZm9ybURhdGUodmFsKTtcbiAgICByZXR1cm4gdHJhbnNmb3JtUHJpbWl0aXZlKHR5cCwgdmFsKTtcbn1cblxuZnVuY3Rpb24gY2FzdDxUPih2YWw6IGFueSwgdHlwOiBhbnkpOiBUIHtcbiAgICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBqc29uVG9KU1Byb3BzKTtcbn1cblxuZnVuY3Rpb24gdW5jYXN0PFQ+KHZhbDogVCwgdHlwOiBhbnkpOiBhbnkge1xuICAgIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGpzVG9KU09OUHJvcHMpO1xufVxuXG5mdW5jdGlvbiBhKHR5cDogYW55KSB7XG4gICAgcmV0dXJuIHsgYXJyYXlJdGVtczogdHlwIH07XG59XG5cbmZ1bmN0aW9uIHUoLi4udHlwczogYW55W10pIHtcbiAgICByZXR1cm4geyB1bmlvbk1lbWJlcnM6IHR5cHMgfTtcbn1cblxuZnVuY3Rpb24gbyhwcm9wczogYW55W10sIGFkZGl0aW9uYWw6IGFueSkge1xuICAgIHJldHVybiB7IHByb3BzLCBhZGRpdGlvbmFsIH07XG59XG5cbi8vIGZ1bmN0aW9uIG0oYWRkaXRpb25hbDogYW55KSB7XG4vLyAgICAgcmV0dXJuIHsgcHJvcHM6IFtdLCBhZGRpdGlvbmFsIH07XG4vLyB9XG5cbmZ1bmN0aW9uIHIobmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHsgcmVmOiBuYW1lIH07XG59XG5cbmNvbnN0IHR5cGVNYXA6IGFueSA9IHtcbiAgICBcIkFtZW5kZW1lbnRzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwidGV4dGVzTGVnaXNsYXRpZnNcIiwganM6IFwidGV4dGVzTGVnaXNsYXRpZnNcIiwgdHlwOiBhKHIoXCJUZXh0ZUxlZ2lzbGF0aWZcIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiVGV4dGVMZWdpc2xhdGlmXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiQHhtbG5zOnhzaVwiLCBqczogXCJAeG1sbnM6eHNpXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwicmVmVGV4dGVMZWdpc2xhdGlmXCIsIGpzOiBcInJlZlRleHRlTGVnaXNsYXRpZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImFtZW5kZW1lbnRzXCIsIGpzOiBcImFtZW5kZW1lbnRzXCIsIHR5cDogcihcIkFtZW5kZW1lbnRzQ2xhc3NcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJBbWVuZGVtZW50c0NsYXNzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiYW1lbmRlbWVudFwiLCBqczogXCJhbWVuZGVtZW50XCIsIHR5cDogYShyKFwiQW1lbmRlbWVudFwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJBbWVuZGVtZW50V3JhcHBlclwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImFtZW5kZW1lbnRcIiwganM6IFwiYW1lbmRlbWVudFwiLCB0eXA6IHIoXCJBbWVuZGVtZW50XCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiQW1lbmRlbWVudFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIkB4bWxuc1wiLCBqczogXCJAeG1sbnNcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJ1aWRcIiwganM6IFwidWlkXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiY2hyb25vdGFnXCIsIGpzOiBcImNocm9ub3RhZ1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImxlZ2lzbGF0dXJlXCIsIGpzOiBcImxlZ2lzbGF0dXJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiaWRlbnRpZmljYXRpb25cIiwganM6IFwiaWRlbnRpZmljYXRpb25cIiwgdHlwOiByKFwiSWRlbnRpZmljYXRpb25cIikgfSxcbiAgICAgICAgeyBqc29uOiBcImV4YW1lblJlZlwiLCBqczogXCJleGFtZW5SZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJ0ZXh0ZUxlZ2lzbGF0aWZSZWZcIiwganM6IFwidGV4dGVMZWdpc2xhdGlmUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwidHJpQW1lbmRlbWVudFwiLCBqczogXCJ0cmlBbWVuZGVtZW50XCIsIHR5cDogdShyKFwiQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzXCIpLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiY2FyZGluYWxpdGVBbWR0TXVsdGlwbGVzXCIsIGpzOiBcImNhcmRpbmFsaXRlQW1kdE11bHRpcGxlc1wiLCB0eXA6IHUocihcIkFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzc1wiKSwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImFtZW5kZW1lbnRQYXJlbnRSZWZcIiwganM6IFwiYW1lbmRlbWVudFBhcmVudFJlZlwiLCB0eXA6IHUocihcIkFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzc1wiKSwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcInNpZ25hdGFpcmVzXCIsIGpzOiBcInNpZ25hdGFpcmVzXCIsIHR5cDogcihcIlNpZ25hdGFpcmVzXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJwb2ludGV1ckZyYWdtZW50VGV4dGVcIiwganM6IFwicG9pbnRldXJGcmFnbWVudFRleHRlXCIsIHR5cDogcihcIlBvaW50ZXVyRnJhZ21lbnRUZXh0ZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwiY29ycHNcIiwganM6IFwiY29ycHNcIiwgdHlwOiByKFwiQ29ycHNcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImN5Y2xlRGVWaWVcIiwganM6IFwiY3ljbGVEZVZpZVwiLCB0eXA6IHIoXCJDeWNsZURlVmllXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJyZXByZXNlbnRhdGlvbnNcIiwganM6IFwicmVwcmVzZW50YXRpb25zXCIsIHR5cDogdShyKFwiUmVwcmVzZW50YXRpb25zXCIpLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwic2VhbmNlRGlzY3Vzc2lvblJlZlwiLCBqczogXCJzZWFuY2VEaXNjdXNzaW9uUmVmXCIsIHR5cDogdShyKFwiQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzXCIpLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiYXJ0aWNsZTk5XCIsIGpzOiBcImFydGljbGU5OVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImxvaVJlZmVyZW5jZVwiLCBqczogXCJsb2lSZWZlcmVuY2VcIiwgdHlwOiByKFwiTG9pUmVmZXJlbmNlXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJkaXNjdXNzaW9uQ29tbXVuZVwiLCBqczogXCJkaXNjdXNzaW9uQ29tbXVuZVwiLCB0eXA6IHIoXCJEaXNjdXNzaW9uXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJkaXNjdXNzaW9uSWRlbnRpcXVlXCIsIGpzOiBcImRpc2N1c3Npb25JZGVudGlxdWVcIiwgdHlwOiByKFwiRGlzY3Vzc2lvblwiKSB9LFxuICAgICAgICB7IGpzb246IFwiYWNjb3JkR291dmVybmVtZW50RGVwb3RIb3JzRGVsYWlcIiwganM6IFwiYWNjb3JkR291dmVybmVtZW50RGVwb3RIb3JzRGVsYWlcIiwgdHlwOiByKFwiQWNjb3JkR291dmVybmVtZW50RGVwb3RIb3JzRGVsYWlcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3NcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJAeG1sbnM6eHNpXCIsIGpzOiBcIkB4bWxuczp4c2lcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJAeHNpOm5pbFwiLCBqczogXCJAeHNpOm5pbFwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJDb3Jwc1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImNhcnRvdWNoZUluZm9ybWF0aWZcIiwganM6IFwiY2FydG91Y2hlSW5mb3JtYXRpZlwiLCB0eXA6IHUodW5kZWZpbmVkLCB1KHIoXCJBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3NcIiksIFwiXCIpKSB9LFxuICAgICAgICB7IGpzb246IFwiY29udGVudUF1dGV1clwiLCBqczogXCJjb250ZW51QXV0ZXVyXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJDb250ZW51QXV0ZXVyXCIpKSB9LFxuICAgICAgICB7IGpzb246IFwiQHhtbG5zOnhzaVwiLCBqczogXCJAeG1sbnM6eHNpXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJAeHNpOm5pbFwiLCBqczogXCJAeHNpOm5pbFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkNvbnRlbnVBdXRldXJcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJkaXNwb3NpdGlmXCIsIGpzOiBcImRpc3Bvc2l0aWZcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImF2YW50QXBwZWxcIiwganM6IFwiYXZhbnRBcHBlbFwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiQXZhbnRBcHBlbFwiKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImV4cG9zZVNvbW1haXJlXCIsIGpzOiBcImV4cG9zZVNvbW1haXJlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJhbm5leGVFeHBvc2VTb21tYWlyZVwiLCBqczogXCJhbm5leGVFeHBvc2VTb21tYWlyZVwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzXCIpKSB9LFxuICAgICAgICB7IGpzb246IFwiQHhtbG5zOnhzaVwiLCBqczogXCJAeG1sbnM6eHNpXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJAeHNpOm5pbFwiLCBqczogXCJAeHNpOm5pbFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZcIiwganM6IFwiZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGXCIpKSB9LFxuICAgICAgICB7IGpzb246IFwiZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSXCIsIGpzOiBcImRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGUlwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiRGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSXCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkF2YW50QXBwZWxcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJAeG1sbnM6eHNpXCIsIGpzOiBcIkB4bWxuczp4c2lcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcIkB4c2k6bmlsXCIsIGpzOiBcIkB4c2k6bmlsXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJkaXNwb3NpdGlmXCIsIGpzOiBcImRpc3Bvc2l0aWZcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJEaXNwb3NpdGlmQW1kdENyZWRpdFBMRlwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImxpc3RlUHJvZ3JhbW1lc1wiLCBqczogXCJsaXN0ZVByb2dyYW1tZXNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGTGlzdGVQcm9ncmFtbWVzXCIpKSB9LFxuICAgICAgICB7IGpzb246IFwic29sZGVBRVwiLCBqczogXCJzb2xkZUFFXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJzb2xkZUNQXCIsIGpzOiBcInNvbGRlQ1BcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImNwRWdhbEFlXCIsIGpzOiBcImNwRWdhbEFlXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGTGlzdGVQcm9ncmFtbWVzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwicHJvZ3JhbW1lXCIsIGpzOiBcInByb2dyYW1tZVwiLCB0eXA6IGEocihcIlB1cnBsZVByb2dyYW1tZVwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJQdXJwbGVQcm9ncmFtbWVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJsaWJlbGxlXCIsIGpzOiBcImxpYmVsbGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJwcm9ncmFtbWVSZWZcIiwganM6IFwicHJvZ3JhbW1lUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiYXV0b3Jpc2F0aW9uRW5nYWdlbWVudFwiLCBqczogXCJhdXRvcmlzYXRpb25FbmdhZ2VtZW50XCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiY3JlZGl0UGFpZW1lbnRcIiwganM6IFwiY3JlZGl0UGFpZW1lbnRcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJhY3Rpb25cIiwganM6IFwiYWN0aW9uXCIsIHR5cDogcihcIkFjdGlvblwiKSB9LFxuICAgICAgICB7IGpzb246IFwibGlnbmVzQ3JlZGl0c1wiLCBqczogXCJsaWduZXNDcmVkaXRzXCIsIHR5cDogcihcIlB1cnBsZUxpZ25lc0NyZWRpdHNcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJQdXJwbGVMaWduZXNDcmVkaXRzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiQHhtbG5zOnhzaVwiLCBqczogXCJAeG1sbnM6eHNpXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJAeHNpOm5pbFwiLCBqczogXCJAeHNpOm5pbFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwibGlnbmVDcmVkaXRcIiwganM6IFwibGlnbmVDcmVkaXRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShhKHIoXCJMaWduZUNyZWRpdENsYXNzXCIpKSwgcihcIkxpZ25lQ3JlZGl0Q2xhc3NcIikpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkxpZ25lQ3JlZGl0Q2xhc3NcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJpZFwiLCBqczogXCJpZFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImxpYmVsbGVcIiwganM6IFwibGliZWxsZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImF1dG9yaXNhdGlvbkVuZ2FnZW1lbnRcIiwganM6IFwiYXV0b3Jpc2F0aW9uRW5nYWdlbWVudFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImNyZWRpdFBhaWVtZW50XCIsIGpzOiBcImNyZWRpdFBhaWVtZW50XCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiYWN0aW9uXCIsIGpzOiBcImFjdGlvblwiLCB0eXA6IHIoXCJBY3Rpb25cIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJEaXNwb3NpdGlmQW1kdENyZWRpdFBMRlJcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJsaXN0ZVByb2dyYW1tZXNcIiwganM6IFwibGlzdGVQcm9ncmFtbWVzXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJEaXNwb3NpdGlmQW1kdENyZWRpdFBMRlJMaXN0ZVByb2dyYW1tZXNcIikpIH0sXG4gICAgICAgIHsganNvbjogXCJ0b3RhbEFFXCIsIGpzOiBcInRvdGFsQUVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlRvdGFsXCIpKSB9LFxuICAgICAgICB7IGpzb246IFwidG90YWxDUFwiLCBqczogXCJ0b3RhbENQXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJUb3RhbFwiKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImNwRWdhbEFlXCIsIGpzOiBcImNwRWdhbEFlXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGUkxpc3RlUHJvZ3JhbW1lc1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInByb2dyYW1tZVwiLCBqczogXCJwcm9ncmFtbWVcIiwgdHlwOiBhKHIoXCJMaWduZUNyZWRpdEVsZW1lbnRcIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiTGlnbmVDcmVkaXRMaWduZXNDcmVkaXRzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiQHhtbG5zOnhzaVwiLCBqczogXCJAeG1sbnM6eHNpXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJAeHNpOm5pbFwiLCBqczogXCJAeHNpOm5pbFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwibGlnbmVDcmVkaXRcIiwganM6IFwibGlnbmVDcmVkaXRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShhKHIoXCJMaWduZUNyZWRpdEVsZW1lbnRcIikpLCByKFwiTGlnbmVDcmVkaXRFbGVtZW50XCIpKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJMaWduZUNyZWRpdEVsZW1lbnRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJsaWJlbGxlXCIsIGpzOiBcImxpYmVsbGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJwcm9ncmFtbWVSZWZcIiwganM6IFwicHJvZ3JhbW1lUmVmXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJhdXRvcmlzYXRpb25FbmdhZ2VtZW50U3VwcGxlbWVudGFpcmVcIiwganM6IFwiYXV0b3Jpc2F0aW9uRW5nYWdlbWVudFN1cHBsZW1lbnRhaXJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiY3JlZGl0UGFpZW1lbnRTdXBwbGVtZW50YWlyZVwiLCBqczogXCJjcmVkaXRQYWllbWVudFN1cHBsZW1lbnRhaXJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiYXV0b3Jpc2F0aW9uRW5nYWdlbWVudEFubnVsZVwiLCBqczogXCJhdXRvcmlzYXRpb25FbmdhZ2VtZW50QW5udWxlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiY3JlZGl0UGFpZW1lbnRBbm51bGVcIiwganM6IFwiY3JlZGl0UGFpZW1lbnRBbm51bGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJhY3Rpb25cIiwganM6IFwiYWN0aW9uXCIsIHR5cDogcihcIkFjdGlvblwiKSB9LFxuICAgICAgICB7IGpzb246IFwibGlnbmVzQ3JlZGl0c1wiLCBqczogXCJsaWduZXNDcmVkaXRzXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJMaWduZUNyZWRpdExpZ25lc0NyZWRpdHNcIikpIH0sXG4gICAgICAgIHsganNvbjogXCJpZFwiLCBqczogXCJpZFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlRvdGFsXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwic3VwcGxlbWVudGFpcmVcIiwganM6IFwic3VwcGxlbWVudGFpcmVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJhbm51bGVcIiwganM6IFwiYW5udWxlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwic29sZGVcIiwganM6IFwic29sZGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiQ3ljbGVEZVZpZVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImRhdGVEZXBvdFwiLCBqczogXCJkYXRlRGVwb3RcIiwgdHlwOiB1KHIoXCJBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3NcIiksIERhdGUpIH0sXG4gICAgICAgIHsganNvbjogXCJkYXRlUHVibGljYXRpb25cIiwganM6IFwiZGF0ZVB1YmxpY2F0aW9uXCIsIHR5cDogdShyKFwiQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzXCIpLCBEYXRlKSB9LFxuICAgICAgICB7IGpzb246IFwic291bWlzQXJ0aWNsZTQwXCIsIGpzOiBcInNvdW1pc0FydGljbGU0MFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImV0YXREZXNUcmFpdGVtZW50c1wiLCBqczogXCJldGF0RGVzVHJhaXRlbWVudHNcIiwgdHlwOiByKFwiRXRhdERFU1RyYWl0ZW1lbnRzXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJkYXRlU29ydFwiLCBqczogXCJkYXRlU29ydFwiLCB0eXA6IHUocihcIkFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzc1wiKSwgRGF0ZSkgfSxcbiAgICAgICAgeyBqc29uOiBcInNvcnRcIiwganM6IFwic29ydFwiLCB0eXA6IHUocihcIkFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzc1wiKSwgcihcIlNvcnRFbnVtXCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkV0YXRERVNUcmFpdGVtZW50c1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImV0YXRcIiwganM6IFwiZXRhdFwiLCB0eXA6IHIoXCJFdGF0XCIpIH0sXG4gICAgICAgIHsganNvbjogXCJzb3VzRXRhdFwiLCBqczogXCJzb3VzRXRhdFwiLCB0eXA6IHIoXCJTb3VzRXRhdFwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkV0YXRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJjb2RlXCIsIGpzOiBcImNvZGVcIiwgdHlwOiByKFwiQ29kZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwibGliZWxsZVwiLCBqczogXCJsaWJlbGxlXCIsIHR5cDogcihcIkxpYmVsbGVcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJTb3VzRXRhdFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImNvZGVcIiwganM6IFwiY29kZVwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiQ29kZVwiKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImxpYmVsbGVcIiwganM6IFwibGliZWxsZVwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiU29ydEVudW1cIikpIH0sXG4gICAgICAgIHsganNvbjogXCJAeG1sbnM6eHNpXCIsIGpzOiBcIkB4bWxuczp4c2lcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcIkB4c2k6bmlsXCIsIGpzOiBcIkB4c2k6bmlsXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiRGlzY3Vzc2lvblwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIkB4bWxuczp4c2lcIiwganM6IFwiQHhtbG5zOnhzaVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiQHhzaTpuaWxcIiwganM6IFwiQHhzaTpuaWxcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImlkRGlzY3Vzc2lvblwiLCBqczogXCJpZERpc2N1c3Npb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcInR5cGVQb3NpdGlvblwiLCBqczogXCJ0eXBlUG9zaXRpb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlR5cGVQb3NpdGlvblwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJJZGVudGlmaWNhdGlvblwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIm51bWVyb0xvbmdcIiwganM6IFwibnVtZXJvTG9uZ1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm51bWVyb09yZHJlRGVwb3RcIiwganM6IFwibnVtZXJvT3JkcmVEZXBvdFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInByZWZpeGVPcmdhbmVFeGFtZW5cIiwganM6IFwicHJlZml4ZU9yZ2FuZUV4YW1lblwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm51bWVyb1JlY3RcIiwganM6IFwibnVtZXJvUmVjdFwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJMb2lSZWZlcmVuY2VcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJAeG1sbnM6eHNpXCIsIGpzOiBcIkB4bWxuczp4c2lcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcIkB4c2k6bmlsXCIsIGpzOiBcIkB4c2k6bmlsXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJjb2RlTG9pXCIsIGpzOiBcImNvZGVMb2lcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzXCIpLCBudWxsLCBcIlwiKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImRpdmlzaW9uQ29kZUxvaVwiLCBqczogXCJkaXZpc2lvbkNvZGVMb2lcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzXCIpLCBudWxsLCBcIlwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJQb2ludGV1ckZyYWdtZW50VGV4dGVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJwYXJ0aWVBbWVuZGFibGVSZWZcIiwganM6IFwicGFydGllQW1lbmRhYmxlUmVmXCIsIHR5cDogcihcIkFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzc1wiKSB9LFxuICAgICAgICB7IGpzb246IFwiZGl2aXNpb25cIiwganM6IFwiZGl2aXNpb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkRpdmlzaW9uXCIpKSB9LFxuICAgICAgICB7IGpzb246IFwiYW1lbmRlbWVudFN0YW5kYXJkXCIsIGpzOiBcImFtZW5kZW1lbnRTdGFuZGFyZFwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiQW1lbmRlbWVudFN0YW5kYXJkXCIpKSB9LFxuICAgICAgICB7IGpzb246IFwibWlzc2lvblZpc2VlXCIsIGpzOiBcIm1pc3Npb25WaXNlZVwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiTWlzc2lvblZpc2VlXCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkFtZW5kZW1lbnRTdGFuZGFyZFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImFsaW5lYVwiLCBqczogXCJhbGluZWFcIiwgdHlwOiByKFwiQWxpbmVhXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiQWxpbmVhXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiQHhtbG5zOnhzaVwiLCBqczogXCJAeG1sbnM6eHNpXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJAeHNpOm5pbFwiLCBqczogXCJAeHNpOm5pbFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiYXZhbnRfQV9BcHJlc1wiLCBqczogXCJhdmFudF9BX0FwcmVzXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIkFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzc1wiKSwgbnVsbCwgXCJcIikpIH0sXG4gICAgICAgIHsganNvbjogXCJudW1lcm9cIiwganM6IFwibnVtZXJvXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIkFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzc1wiKSwgXCJcIikpIH0sXG4gICAgICAgIHsganNvbjogXCJhbGluZWFEZXNpZ25hdGlvblwiLCBqczogXCJhbGluZWFEZXNpZ25hdGlvblwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkRpdmlzaW9uXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwidGl0cmVcIiwganM6IFwidGl0cmVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJhcnRpY2xlRGVzaWduYXRpb25Db3VydGVcIiwganM6IFwiYXJ0aWNsZURlc2lnbmF0aW9uQ291cnRlXCIsIHR5cDogdShudWxsLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiYXJ0aWNsZURlc2lnbmF0aW9uXCIsIGpzOiBcImFydGljbGVEZXNpZ25hdGlvblwiLCB0eXA6IHUobnVsbCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcInR5cGVcIiwganM6IFwidHlwZVwiLCB0eXA6IHIoXCJEaXZpc2lvblR5cGVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImF2YW50X0FfQXByZXNcIiwganM6IFwiYXZhbnRfQV9BcHJlc1wiLCB0eXA6IHIoXCJBdmFudEFBcHJlc1wiKSB9LFxuICAgICAgICB7IGpzb246IFwiZGl2aXNpb25SYXR0YWNoZWVcIiwganM6IFwiZGl2aXNpb25SYXR0YWNoZWVcIiwgdHlwOiB1KHIoXCJBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3NcIiksIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJhcnRpY2xlQWRkaXRpb25uZWxcIiwganM6IFwiYXJ0aWNsZUFkZGl0aW9ubmVsXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiY2hhcGl0cmVBZGRpdGlvbm5lbFwiLCBqczogXCJjaGFwaXRyZUFkZGl0aW9ubmVsXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwidXJsRGl2aXNpb25UZXh0ZVZpc2VcIiwganM6IFwidXJsRGl2aXNpb25UZXh0ZVZpc2VcIiwgdHlwOiB1KHIoXCJBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3NcIiksIFwiXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiTWlzc2lvblZpc2VlXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiY29kZUV0YXRcIiwganM6IFwiY29kZUV0YXRcIiwgdHlwOiByKFwiQ29kZUV0YXRcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImNvZGVNaXNzaW9uTWluZWZpXCIsIGpzOiBcImNvZGVNaXNzaW9uTWluZWZpXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwibGliZWxsZU1pc3Npb25cIiwganM6IFwibGliZWxsZU1pc3Npb25cIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJtaXNzaW9uUmVmXCIsIGpzOiBcIm1pc3Npb25SZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiUmVwcmVzZW50YXRpb25zXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwicmVwcmVzZW50YXRpb25cIiwganM6IFwicmVwcmVzZW50YXRpb25cIiwgdHlwOiByKFwiUmVwcmVzZW50YXRpb25cIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJSZXByZXNlbnRhdGlvblwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIm5vbVwiLCBqczogXCJub21cIiwgdHlwOiByKFwiTm9tXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJ0eXBlTWltZVwiLCBqczogXCJ0eXBlTWltZVwiLCB0eXA6IHIoXCJUeXBlTUlNRVwiKSB9LFxuICAgICAgICB7IGpzb246IFwic3RhdHV0UmVwcmVzZW50YXRpb25cIiwganM6IFwic3RhdHV0UmVwcmVzZW50YXRpb25cIiwgdHlwOiByKFwiU3RhdHV0UmVwcmVzZW50YXRpb25cIikgfSxcbiAgICAgICAgeyBqc29uOiBcInJlcFNvdXJjZVwiLCBqczogXCJyZXBTb3VyY2VcIiwgdHlwOiByKFwiQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJvZmZzZXRcIiwganM6IFwib2Zmc2V0XCIsIHR5cDogcihcIkFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzc1wiKSB9LFxuICAgICAgICB7IGpzb246IFwiY29udGVudVwiLCBqczogXCJjb250ZW51XCIsIHR5cDogcihcIkNvbnRlbnVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImRhdGVEaXNwb1JlcHJlc2VudGF0aW9uXCIsIGpzOiBcImRhdGVEaXNwb1JlcHJlc2VudGF0aW9uXCIsIHR5cDogcihcIkFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzc1wiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkNvbnRlbnVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJkb2N1bWVudFVSSVwiLCBqczogXCJkb2N1bWVudFVSSVwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJTdGF0dXRSZXByZXNlbnRhdGlvblwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInZlcmJhdGltXCIsIGpzOiBcInZlcmJhdGltXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiY2Fub25pcXVlXCIsIGpzOiBcImNhbm9uaXF1ZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm9mZmljaWVsbGVcIiwganM6IFwib2ZmaWNpZWxsZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInRyYW5zY3JpcHRpb25cIiwganM6IFwidHJhbnNjcmlwdGlvblwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImVucmVnaXN0cmVtZW50XCIsIGpzOiBcImVucmVnaXN0cmVtZW50XCIsIHR5cDogXCJcIiB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlR5cGVNSU1FXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwidHlwZVwiLCBqczogXCJ0eXBlXCIsIHR5cDogcihcIlR5cGVNSU1FVHlwZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwic3ViVHlwZVwiLCBqczogXCJzdWJUeXBlXCIsIHR5cDogcihcIk5vbVwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlNpZ25hdGFpcmVzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiYXV0ZXVyXCIsIGpzOiBcImF1dGV1clwiLCB0eXA6IHIoXCJBdXRldXJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImNvc2lnbmF0YWlyZXNcIiwganM6IFwiY29zaWduYXRhaXJlc1wiLCB0eXA6IHIoXCJDb3NpZ25hdGFpcmVzXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJzdWZmaXhlXCIsIGpzOiBcInN1ZmZpeGVcIiwgdHlwOiB1KHIoXCJBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3NcIiksIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJsaWJlbGxlXCIsIGpzOiBcImxpYmVsbGVcIiwgdHlwOiB1KG51bGwsIFwiXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiQXV0ZXVyXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwidHlwZUF1dGV1clwiLCBqczogXCJ0eXBlQXV0ZXVyXCIsIHR5cDogcihcIlR5cGVBdXRldXJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImdvdXZlcm5lbWVudFJlZlwiLCBqczogXCJnb3V2ZXJuZW1lbnRSZWZcIiwgdHlwOiB1KHIoXCJBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3NcIiksIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJhY3RldXJSZWZcIiwganM6IFwiYWN0ZXVyUmVmXCIsIHR5cDogdShyKFwiQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzXCIpLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiZ3JvdXBlUG9saXRpcXVlUmVmXCIsIGpzOiBcImdyb3VwZVBvbGl0aXF1ZVJlZlwiLCB0eXA6IHUocihcIkFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzc1wiKSwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImF1dGV1clJhcHBvcnRldXJPcmdhbmVSZWZcIiwganM6IFwiYXV0ZXVyUmFwcG9ydGV1ck9yZ2FuZVJlZlwiLCB0eXA6IHUocihcIkFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzc1wiKSwgXCJcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJDb3NpZ25hdGFpcmVzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiQHhtbG5zOnhzaVwiLCBqczogXCJAeG1sbnM6eHNpXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJAeHNpOm5pbFwiLCBqczogXCJAeHNpOm5pbFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiYWN0ZXVyUmVmXCIsIGpzOiBcImFjdGV1clJlZlwiLCB0eXA6IHUodW5kZWZpbmVkLCB1KGEoXCJcIiksIFwiXCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkFjY29yZEdvdXZlcm5lbWVudERlcG90SG9yc0RlbGFpXCI6IFtcbiAgICAgICAgXCJBY2NvcmRcIixcbiAgICAgICAgXCJTYW5zIG9iamV0XCIsXG4gICAgXSxcbiAgICBcIkFjdGlvblwiOiBbXG4gICAgICAgIFwiY3LDqWF0aW9uXCIsXG4gICAgICAgIFwibW9kaWZpY2F0aW9uXCIsXG4gICAgICAgIFwic3VwcHJlc3Npb25cIixcbiAgICBdLFxuICAgIFwiQ29kZVwiOiBbXG4gICAgICAgIFwiQUNcIixcbiAgICAgICAgXCJBVFwiLFxuICAgICAgICBcIkRJXCIsXG4gICAgICAgIFwiZWZmYWPDqVwiLFxuICAgICAgICBcIkVSXCIsXG4gICAgICAgIFwiSVJcIixcbiAgICAgICAgXCJJUlIxMjdcIixcbiAgICAgICAgXCJJUlIyMFwiLFxuICAgICAgICBcIklSUjM3XCIsXG4gICAgICAgIFwiSVJSMzhcIixcbiAgICAgICAgXCJJUlI0MVwiLFxuICAgICAgICBcIklSUjQyXCIsXG4gICAgICAgIFwiSVJSNDVcIixcbiAgICAgICAgXCJJUlI0OFwiLFxuICAgICAgICBcIklSUjUzXCIsXG4gICAgICAgIFwiSVJSQUlcIixcbiAgICAgICAgXCJJUlJEXCIsXG4gICAgICAgIFwiSVJSSERcIixcbiAgICAgICAgXCJJUlJTQVwiLFxuICAgICAgICBcIlJcIixcbiAgICAgICAgXCJSVFwiLFxuICAgICAgICBcIlRcIixcbiAgICBdLFxuICAgIFwiTGliZWxsZVwiOiBbXG4gICAgICAgIFwiQSBkaXNjdXRlclwiLFxuICAgICAgICBcIkEgZMOpcG9zZXJcIixcbiAgICAgICAgXCJEaXNjdXTDqVwiLFxuICAgICAgICBcImVmZmFjw6lcIixcbiAgICAgICAgXCJFbiByZWNldmFiaWxpdMOpXCIsXG4gICAgICAgIFwiRW4gdHJhaXRlbWVudFwiLFxuICAgICAgICBcIklycmVjZXZhYmxlXCIsXG4gICAgICAgIFwiSXJyZWNldmFibGUgNDBcIixcbiAgICAgICAgXCJSZXRpcsOpXCIsXG4gICAgXSxcbiAgICBcIlNvcnRFbnVtXCI6IFtcbiAgICAgICAgXCJBZG9wdMOpXCIsXG4gICAgICAgIFwiQXV0cmUgaXJyZWNldmFiaWxpdMOpXCIsXG4gICAgICAgIFwiQXV0cmVzIGlyciBMT0xGXCIsXG4gICAgICAgIFwiQXV0cmVzIGlyciBMT0xGU1NcIixcbiAgICAgICAgXCJDYXZhbGllciAoNDUpXCIsXG4gICAgICAgIFwiQ2F2YWxpZXIgYnVkZ8OpdGFpcmVcIixcbiAgICAgICAgXCJDYXZhbGllciBzb2NpYWxcIixcbiAgICAgICAgXCJDaGFtcCBkZSBsJ2hhYmlsaXRhdGlvbiAoMzgpXCIsXG4gICAgICAgIFwiQ2hhcmdlXCIsXG4gICAgICAgIFwiQ01QICg0NSlcIixcbiAgICAgICAgXCJDcsOpZGl0c1wiLFxuICAgICAgICBcIkRpc3Bvc2l0aW9uIHLDqWdsZW1lbnRhaXJlICgzNylcIixcbiAgICAgICAgXCJEb21haW5lIGRlIGxhIGxvaSAoNDEpXCIsXG4gICAgICAgIFwiRG9tYWluZSBsb2kgb3JnYW5pcXVlICgxMjcpXCIsXG4gICAgICAgIFwiRG91YmxvblwiLFxuICAgICAgICBcIkVudG9ubm9pciAoNDUpXCIsXG4gICAgICAgIFwiR2FnZVwiLFxuICAgICAgICBcIkhvcnMtZMOpbGFpc1wiLFxuICAgICAgICBcIkluam9uY3Rpb24gKDIwKVwiLFxuICAgICAgICBcIklyciBlbiBwcmVtacOocmUgcGFydGllXCIsXG4gICAgICAgIFwiSXJyIGVuIHNlY29uZGUgcGFydGllXCIsXG4gICAgICAgIFwiTE9MRlwiLFxuICAgICAgICBcIkxPTEZTU1wiLFxuICAgICAgICBcIk5vbiBzb3V0ZW51XCIsXG4gICAgICAgIFwiT3JkcmUgZHUgam91ciAoNDgpXCIsXG4gICAgICAgIFwiUlwiLFxuICAgICAgICBcIlJhdGlmaWNhdGlvbiB0cmFpdMOpICg1MylcIixcbiAgICAgICAgXCJSZWpldMOpXCIsXG4gICAgICAgIFwiUmV0aXLDqVwiLFxuICAgICAgICBcIlJldGlyw6kgYXByw6hzIHB1YmxpY2F0aW9uXCIsXG4gICAgICAgIFwiUmV0aXLDqSBhdmFudCBwdWJsaWNhdGlvblwiLFxuICAgICAgICBcIlNhdGlzZmFpdCBvdSBpbm9ww6lyYW50ICg0MilcIixcbiAgICAgICAgXCJTb3VzLWFtZW5kZW1lbnQgKDk4KVwiLFxuICAgICAgICBcIlRvbWLDqVwiLFxuICAgIF0sXG4gICAgXCJUeXBlUG9zaXRpb25cIjogW1xuICAgICAgICBcIkRlcm5pZXJcIixcbiAgICAgICAgXCJNaWxpZXVcIixcbiAgICAgICAgXCJQcmVtaWVyXCIsXG4gICAgXSxcbiAgICBcIkF2YW50QUFwcmVzXCI6IFtcbiAgICAgICAgXCJBXCIsXG4gICAgICAgIFwiQXByw6hzXCIsXG4gICAgICAgIFwiQXZhbnRcIixcbiAgICBdLFxuICAgIFwiRGl2aXNpb25UeXBlXCI6IFtcbiAgICAgICAgXCJBTk5FWEVcIixcbiAgICAgICAgXCJBUlRJQ0xFXCIsXG4gICAgICAgIFwiQ0hBUElUUkVcIixcbiAgICAgICAgXCJUSVRSRVwiLFxuICAgIF0sXG4gICAgXCJDb2RlRXRhdFwiOiBbXG4gICAgICAgIFwiQlwiLFxuICAgICAgICBcIkNcIixcbiAgICAgICAgXCJEXCIsXG4gICAgXSxcbiAgICBcIk5vbVwiOiBbXG4gICAgICAgIFwiUERGXCIsXG4gICAgXSxcbiAgICBcIlR5cGVNSU1FVHlwZVwiOiBbXG4gICAgICAgIFwiYXBwbGljYXRpb25cIixcbiAgICBdLFxuICAgIFwiVHlwZUF1dGV1clwiOiBbXG4gICAgICAgIFwiRMOpcHV0w6lcIixcbiAgICAgICAgXCJHb3V2ZXJuZW1lbnRcIixcbiAgICAgICAgXCJSYXBwb3J0ZXVyXCIsXG4gICAgXSxcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBNENBLFdBQVlBLGdDQUFaOztXQUFZQSxnQztFQUFBQSxnQztFQUFBQSxnQztHQUFBQSxnQyxLQUFBQSxnQzs7QUFzRFosV0FBWUMsTUFBWjs7V0FBWUEsTTtFQUFBQSxNO0VBQUFBLE07RUFBQUEsTTtHQUFBQSxNLEtBQUFBLE07O0FBMEVaLFdBQVlDLElBQVo7O1dBQVlBLEk7RUFBQUEsSTtFQUFBQSxJO0VBQUFBLEk7RUFBQUEsSTtFQUFBQSxJO0VBQUFBLEk7RUFBQUEsSTtFQUFBQSxJO0VBQUFBLEk7RUFBQUEsSTtFQUFBQSxJO0VBQUFBLEk7RUFBQUEsSTtFQUFBQSxJO0VBQUFBLEk7RUFBQUEsSTtFQUFBQSxJO0VBQUFBLEk7RUFBQUEsSTtFQUFBQSxJO0VBQUFBLEk7RUFBQUEsSTtHQUFBQSxJLEtBQUFBLEk7O0FBeUJaLFdBQVlDLE9BQVo7O1dBQVlBLE87RUFBQUEsTztFQUFBQSxPO0VBQUFBLE87RUFBQUEsTztFQUFBQSxPO0VBQUFBLE87RUFBQUEsTztFQUFBQSxPO0VBQUFBLE87R0FBQUEsTyxLQUFBQSxPOztBQW1CWixXQUFZQyxRQUFaOztXQUFZQSxRO0VBQUFBLFE7RUFBQUEsUTtFQUFBQSxRO0VBQUFBLFE7RUFBQUEsUTtFQUFBQSxRO0VBQUFBLFE7RUFBQUEsUTtFQUFBQSxRO0VBQUFBLFE7RUFBQUEsUTtFQUFBQSxRO0VBQUFBLFE7RUFBQUEsUTtFQUFBQSxRO0VBQUFBLFE7RUFBQUEsUTtFQUFBQSxRO0VBQUFBLFE7RUFBQUEsUTtFQUFBQSxRO0VBQUFBLFE7RUFBQUEsUTtFQUFBQSxRO0VBQUFBLFE7RUFBQUEsUTtFQUFBQSxRO0VBQUFBLFE7RUFBQUEsUTtFQUFBQSxRO0VBQUFBLFE7RUFBQUEsUTtFQUFBQSxRO0VBQUFBLFE7R0FBQUEsUSxLQUFBQSxROztBQTRDWixXQUFZQyxZQUFaOztXQUFZQSxZO0VBQUFBLFk7RUFBQUEsWTtFQUFBQSxZO0dBQUFBLFksS0FBQUEsWTs7QUFtRFosV0FBWUMsV0FBWjs7V0FBWUEsVztFQUFBQSxXO0VBQUFBLFc7RUFBQUEsVztHQUFBQSxXLEtBQUFBLFc7O0FBTVosV0FBWUMsWUFBWjs7V0FBWUEsWTtFQUFBQSxZO0VBQUFBLFk7RUFBQUEsWTtFQUFBQSxZO0dBQUFBLFksS0FBQUEsWTs7QUFjWixXQUFZQyxRQUFaOztXQUFZQSxRO0VBQUFBLFE7RUFBQUEsUTtF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