@tricoteuses/assemblee 1.0.6 → 1.1.0

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/lib/api.js +3 -9
  2. package/lib/api.mjs +4 -5
  3. package/lib/bugs/acteur-00010/plugin.test.js +3 -50
  4. package/lib/bugs/acteur-00010/plugin.test.mjs +1 -1
  5. package/lib/bugs/acteur-00010.js +2 -57
  6. package/lib/bugs/acteur-00010.mjs +1 -6
  7. package/lib/bugs/agenda-00002/plugin.test.js +3 -53
  8. package/lib/bugs/agenda-00002/plugin.test.mjs +1 -3
  9. package/lib/bugs/agenda-00002.js +3 -148
  10. package/lib/bugs/agenda-00002.mjs +1 -28
  11. package/lib/bugs/agenda-00008/plugin.test.js +3 -52
  12. package/lib/bugs/agenda-00008/plugin.test.mjs +1 -1
  13. package/lib/bugs/agenda-00008.js +2 -61
  14. package/lib/bugs/agenda-00008.mjs +1 -5
  15. package/lib/bugs/agenda-00011/plugin.test.js +5 -99
  16. package/lib/bugs/agenda-00011/plugin.test.mjs +3 -3
  17. package/lib/bugs/agenda-00011.js +4 -105
  18. package/lib/bugs/agenda-00011.mjs +3 -29
  19. package/lib/bugs.js +3 -164
  20. package/lib/bugs.mjs +1 -26
  21. package/lib/cleaners/actes_legislatifs.js +11 -115
  22. package/lib/cleaners/actes_legislatifs.mjs +7 -82
  23. package/lib/cleaners/acteurs.js +12 -92
  24. package/lib/cleaners/acteurs.mjs +7 -38
  25. package/lib/cleaners/amendements.js +10 -103
  26. package/lib/cleaners/amendements.mjs +4 -58
  27. package/lib/cleaners/documents.js +5 -67
  28. package/lib/cleaners/documents.mjs +1 -37
  29. package/lib/cleaners/dossiers_legislatifs.js +5 -61
  30. package/lib/cleaners/dossiers_legislatifs.mjs +1 -29
  31. package/lib/cleaners/index.js +1 -9
  32. package/lib/cleaners/index.mjs +1 -1
  33. package/lib/cleaners/organes.js +1 -33
  34. package/lib/cleaners/organes.mjs +1 -17
  35. package/lib/cleaners/reunions.js +4 -119
  36. package/lib/cleaners/reunions.mjs +1 -64
  37. package/lib/cleaners/scrutins.js +10 -102
  38. package/lib/cleaners/scrutins.mjs +1 -48
  39. package/lib/cleaners/xml.js +8 -42
  40. package/lib/cleaners/xml.mjs +6 -8
  41. package/lib/datasets.js +14 -113
  42. package/lib/datasets.mjs +6 -46
  43. package/lib/dates.js +7 -37
  44. package/lib/dates.mjs +9 -14
  45. package/lib/dossiers_legislatifs.js +6 -68
  46. package/lib/dossiers_legislatifs.mjs +5 -36
  47. package/lib/file_systems.js +56 -139
  48. package/lib/file_systems.mjs +1 -9
  49. package/lib/git.js +4 -53
  50. package/lib/git.mjs +1 -12
  51. package/lib/index.js +1 -15
  52. package/lib/index.mjs +1 -1
  53. package/lib/inserters.js +23 -146
  54. package/lib/inserters.mjs +6 -87
  55. package/lib/loaders.js +44 -316
  56. package/lib/loaders.mjs +12 -135
  57. package/lib/organes.js +1 -7
  58. package/lib/organes.mjs +1 -4
  59. package/lib/parsers/documents.js +22 -151
  60. package/lib/parsers/documents.mjs +19 -81
  61. package/lib/parsers/index.js +1 -4
  62. package/lib/parsers/index.mjs +1 -1
  63. package/lib/parsers/recherche_amendements.js +302 -527
  64. package/lib/parsers/recherche_amendements.mjs +8 -31
  65. package/lib/raw_types/acteurs_et_organes.d.ts +1 -30
  66. package/lib/raw_types/acteurs_et_organes.js +5 -124
  67. package/lib/raw_types/acteurs_et_organes.mjs +5 -105
  68. package/lib/raw_types/agendas.js +6 -89
  69. package/lib/raw_types/agendas.mjs +9 -65
  70. package/lib/raw_types/amendements.d.ts +2 -0
  71. package/lib/raw_types/amendements.js +10 -90
  72. package/lib/raw_types/amendements.mjs +11 -69
  73. package/lib/raw_types/dossiers_legislatifs.d.ts +16 -115
  74. package/lib/raw_types/dossiers_legislatifs.js +26 -435
  75. package/lib/raw_types/dossiers_legislatifs.mjs +26 -412
  76. package/lib/raw_types/scrutins.js +6 -81
  77. package/lib/raw_types/scrutins.mjs +9 -57
  78. package/lib/scripts/bugs_helper.js +2 -181
  79. package/lib/scripts/bugs_helper.mjs +2 -39
  80. package/lib/scripts/clean_data.js +27 -143
  81. package/lib/scripts/clean_data.mjs +15 -34
  82. package/lib/scripts/clean_reorganized_data.js +76 -240
  83. package/lib/scripts/clean_reorganized_data.mjs +36 -99
  84. package/lib/scripts/diff_amendements.js +19 -79
  85. package/lib/scripts/diff_amendements.mjs +17 -35
  86. package/lib/scripts/document_dossiers_legislatifs.js +17 -142
  87. package/lib/scripts/document_dossiers_legislatifs.mjs +6 -90
  88. package/lib/scripts/get_today_reunions.js +4 -22
  89. package/lib/scripts/get_today_reunions.mjs +1 -7
  90. package/lib/scripts/merge_scrutins.js +3 -47
  91. package/lib/scripts/merge_scrutins.mjs +1 -9
  92. package/lib/scripts/parse_textes_lois.js +15 -44
  93. package/lib/scripts/parse_textes_lois.mjs +18 -19
  94. package/lib/scripts/raw_types_from_amendements.js +3 -95
  95. package/lib/scripts/raw_types_from_amendements.mjs +1 -16
  96. package/lib/scripts/reorganize_data.js +74 -294
  97. package/lib/scripts/reorganize_data.mjs +22 -133
  98. package/lib/scripts/retrieve_deputes_photos.js +6 -119
  99. package/lib/scripts/retrieve_deputes_photos.mjs +7 -33
  100. package/lib/scripts/retrieve_documents.js +4 -192
  101. package/lib/scripts/retrieve_documents.mjs +2 -50
  102. package/lib/scripts/retrieve_open_data.js +44 -116
  103. package/lib/scripts/retrieve_open_data.mjs +14 -19
  104. package/lib/scripts/retrieve_pending_amendments.js +4 -98
  105. package/lib/scripts/retrieve_pending_amendments.mjs +1 -14
  106. package/lib/scripts/retrieve_senateurs_photos.js +18 -114
  107. package/lib/scripts/retrieve_senateurs_photos.mjs +20 -48
  108. package/lib/scripts/retrieve_textes_lois.js +3 -122
  109. package/lib/scripts/retrieve_textes_lois.mjs +3 -21
  110. package/lib/scripts/test_load.js +2 -10
  111. package/lib/scripts/test_load.mjs +2 -1
  112. package/lib/scripts/test_load_big_files.js +2 -10
  113. package/lib/scripts/test_load_big_files.mjs +2 -1
  114. package/lib/scripts/validate_json.js +4 -119
  115. package/lib/scripts/validate_json.mjs +2 -36
  116. package/lib/shared_types/codes_actes.js +1 -24
  117. package/lib/shared_types/codes_actes.mjs +3 -10
  118. package/lib/strings.js +1 -5
  119. package/lib/strings.mjs +1 -1
  120. package/lib/types/acteurs_et_organes.js +9 -84
  121. package/lib/types/acteurs_et_organes.mjs +10 -63
  122. package/lib/types/agendas.js +8 -90
  123. package/lib/types/agendas.mjs +11 -66
  124. package/lib/types/amendements.d.ts +2 -0
  125. package/lib/types/amendements.js +12 -92
  126. package/lib/types/amendements.mjs +15 -70
  127. package/lib/types/dossiers_legislatifs.js +8 -96
  128. package/lib/types/dossiers_legislatifs.mjs +10 -72
  129. package/lib/types/legislatures.js +1 -3
  130. package/lib/types/legislatures.mjs +1 -2
  131. package/lib/types/scrutins.js +8 -82
  132. package/lib/types/scrutins.mjs +11 -58
  133. package/lib/urls.js +3 -27
  134. package/lib/urls.mjs +3 -21
  135. package/package.json +1 -1
@@ -1,50 +1,29 @@
1
1
  "use strict";
2
2
 
3
3
  require("core-js/modules/es.symbol.js");
4
-
5
4
  require("core-js/modules/es.symbol.description.js");
6
-
7
5
  require("core-js/modules/es.symbol.iterator.js");
8
-
9
6
  require("core-js/modules/es.array.iterator.js");
10
-
11
7
  require("core-js/modules/es.string.iterator.js");
12
-
13
8
  require("core-js/modules/web.dom-collections.iterator.js");
14
-
15
9
  Object.defineProperty(exports, "__esModule", {
16
10
  value: true
17
11
  });
18
12
  exports.TypeReunion = exports.TypePointOdj = exports.ReunionXsiType = exports.Quantieme = exports.Procedure = exports.Presence = exports.PointOdjXsiType = exports.PersonneAuditionneeXsiType = exports.NatureTravauxOdj = exports.FormatReunion = exports.EtatCycleDeVie = exports.Convert = exports.Civ = void 0;
19
-
20
13
  require("core-js/modules/es.array.concat.js");
21
-
22
14
  require("core-js/modules/es.array.for-each.js");
23
-
24
15
  require("core-js/modules/es.object.to-string.js");
25
-
26
16
  require("core-js/modules/web.dom-collections.for-each.js");
27
-
28
17
  require("core-js/modules/es.array.index-of.js");
29
-
30
18
  require("core-js/modules/es.array.is-array.js");
31
-
32
19
  require("core-js/modules/es.array.map.js");
33
-
34
20
  require("core-js/modules/es.date.to-string.js");
35
-
36
21
  require("core-js/modules/es.object.get-own-property-names.js");
37
-
38
22
  require("core-js/modules/es.object.define-property.js");
39
-
40
23
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
41
-
42
24
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
43
-
44
25
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
45
-
46
26
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
47
-
48
27
  // To parse this data:
49
28
  //
50
29
  // import { Convert, Reunion, Agendas } from "./file";
@@ -56,52 +35,41 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
56
35
  // match the expected interface, even if the JSON is valid.
57
36
  var ReunionXsiType;
58
37
  exports.ReunionXsiType = ReunionXsiType;
59
-
60
38
  (function (ReunionXsiType) {
61
39
  ReunionXsiType["ReunionCommissionType"] = "reunionCommission_type";
62
40
  ReunionXsiType["ReunionInitParlementaireType"] = "reunionInitParlementaire_type";
63
41
  ReunionXsiType["SeanceType"] = "seance_type";
64
42
  })(ReunionXsiType || (exports.ReunionXsiType = ReunionXsiType = {}));
65
-
66
43
  var PointOdjXsiType;
67
44
  exports.PointOdjXsiType = PointOdjXsiType;
68
-
69
45
  (function (PointOdjXsiType) {
70
46
  PointOdjXsiType["PodjReunionType"] = "podjReunion_type";
71
47
  PointOdjXsiType["PodjSeanceConfPresType"] = "podjSeanceConfPres_type";
72
48
  })(PointOdjXsiType || (exports.PointOdjXsiType = PointOdjXsiType = {}));
73
-
74
49
  var EtatCycleDeVie;
75
50
  exports.EtatCycleDeVie = EtatCycleDeVie;
76
-
77
51
  (function (EtatCycleDeVie) {
78
52
  EtatCycleDeVie["Annul\xE9"] = "Annul\xE9";
79
53
  EtatCycleDeVie["Confirm\xE9"] = "Confirm\xE9";
80
54
  EtatCycleDeVie["Eventuel"] = "Eventuel";
81
55
  EtatCycleDeVie["Supprim\xE9"] = "Supprim\xE9";
82
56
  })(EtatCycleDeVie || (exports.EtatCycleDeVie = EtatCycleDeVie = {}));
83
-
84
57
  var NatureTravauxOdj;
85
58
  exports.NatureTravauxOdj = NatureTravauxOdj;
86
-
87
59
  (function (NatureTravauxOdj) {
88
60
  NatureTravauxOdj["Odjpr"] = "ODJPR";
89
61
  NatureTravauxOdj["Odjsn"] = "ODJSN";
90
62
  })(NatureTravauxOdj || (exports.NatureTravauxOdj = NatureTravauxOdj = {}));
91
-
92
63
  var Procedure;
93
64
  exports.Procedure = Procedure;
94
-
95
65
  (function (Procedure) {
96
66
  Procedure["DiscussionG\xE9n\xE9raleCommune"] = "discussion g\xE9n\xE9rale commune";
97
67
  Procedure["Proc\xE9dureDExamenSimplifi\xE9eArticle103"] = "proc\xE9dure d'examen simplifi\xE9e-Article 103";
98
68
  Procedure["Proc\xE9dureDExamenSimplifi\xE9eArticle106"] = "proc\xE9dure d'examen simplifi\xE9e-Article 106";
99
69
  Procedure["Proc\xE9dureDeL\xE9gislationEnCommissionArticle1071"] = "proc\xE9dure de l\xE9gislation en commission-Article 107-1";
100
70
  })(Procedure || (exports.Procedure = Procedure = {}));
101
-
102
71
  var TypePointOdj;
103
72
  exports.TypePointOdj = TypePointOdj;
104
-
105
73
  (function (TypePointOdj) {
106
74
  TypePointOdj["AmendementsArt88"] = "Amendements (Art. 88)";
107
75
  TypePointOdj["AmendementsArt91"] = "Amendements (Art. 91)";
@@ -137,57 +105,44 @@ exports.TypePointOdj = TypePointOdj;
137
105
  TypePointOdj["VoteParScrutinPublic"] = "Vote par scrutin public";
138
106
  TypePointOdj["VoteSolennel"] = "Vote solennel";
139
107
  })(TypePointOdj || (exports.TypePointOdj = TypePointOdj = {}));
140
-
141
108
  var FormatReunion;
142
109
  exports.FormatReunion = FormatReunion;
143
-
144
110
  (function (FormatReunion) {
145
111
  FormatReunion["AuditionExterne"] = "AuditionExterne";
146
112
  FormatReunion["AuditionParPresidentCommission"] = "AuditionParPresidentCommission";
147
113
  FormatReunion["AuditionParRapporteur"] = "AuditionParRapporteur";
148
114
  FormatReunion["Ordinaire"] = "Ordinaire";
149
115
  })(FormatReunion || (exports.FormatReunion = FormatReunion = {}));
150
-
151
116
  var Quantieme;
152
117
  exports.Quantieme = Quantieme;
153
-
154
118
  (function (Quantieme) {
155
119
  Quantieme["Deuxi\xE8me"] = "Deuxi\xE8me";
156
120
  Quantieme["Premi\xE8re"] = "Premi\xE8re";
157
121
  Quantieme["Troisi\xE8me"] = "Troisi\xE8me";
158
122
  Quantieme["Unique"] = "Unique";
159
123
  })(Quantieme || (exports.Quantieme = Quantieme = {}));
160
-
161
124
  var Presence;
162
125
  exports.Presence = Presence;
163
-
164
126
  (function (Presence) {
165
127
  Presence["Absent"] = "absent";
166
128
  Presence["Excus\xE9"] = "excus\xE9";
167
129
  Presence["Pr\xE9sent"] = "pr\xE9sent";
168
130
  })(Presence || (exports.Presence = Presence = {}));
169
-
170
131
  var Civ;
171
132
  exports.Civ = Civ;
172
-
173
133
  (function (Civ) {
174
134
  Civ["M"] = "M.";
175
135
  Civ["Mme"] = "Mme";
176
136
  })(Civ || (exports.Civ = Civ = {}));
177
-
178
137
  var PersonneAuditionneeXsiType;
179
138
  exports.PersonneAuditionneeXsiType = PersonneAuditionneeXsiType;
180
-
181
139
  (function (PersonneAuditionneeXsiType) {
182
140
  PersonneAuditionneeXsiType["IdActeurType"] = "IdActeur_type";
183
141
  PersonneAuditionneeXsiType["IdPersonneExterneType"] = "IdPersonneExterne_type";
184
142
  })(PersonneAuditionneeXsiType || (exports.PersonneAuditionneeXsiType = PersonneAuditionneeXsiType = {}));
185
-
186
143
  var TypeReunion; // Converts JSON strings to/from your types
187
144
  // and asserts the results of JSON.parse at runtime
188
-
189
145
  exports.TypeReunion = TypeReunion;
190
-
191
146
  (function (TypeReunion) {
192
147
  TypeReunion["Dep"] = "DEP";
193
148
  TypeReunion["Ga"] = "GA";
@@ -196,12 +151,10 @@ exports.TypeReunion = TypeReunion;
196
151
  TypeReunion["Gp"] = "GP";
197
152
  TypeReunion["H\xE9Aur\xE9lien"] = "H\xC9 Aur\xE9lien";
198
153
  })(TypeReunion || (exports.TypeReunion = TypeReunion = {}));
199
-
200
154
  var Convert = /*#__PURE__*/function () {
201
155
  function Convert() {
202
156
  _classCallCheck(this, Convert);
203
157
  }
204
-
205
158
  _createClass(Convert, null, [{
206
159
  key: "toAgendas",
207
160
  value: function toAgendas(json) {
@@ -223,22 +176,16 @@ var Convert = /*#__PURE__*/function () {
223
176
  return JSON.stringify(uncast(value, r("Reunion")), null, 2);
224
177
  }
225
178
  }]);
226
-
227
179
  return Convert;
228
180
  }();
229
-
230
181
  exports.Convert = Convert;
231
-
232
182
  function invalidValue(typ, val) {
233
183
  var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "";
234
-
235
184
  if (key) {
236
185
  throw Error("Invalid value for key \"".concat(key, "\". Expected type ").concat(JSON.stringify(typ), " but got ").concat(JSON.stringify(val)));
237
186
  }
238
-
239
187
  throw Error("Invalid value ".concat(JSON.stringify(val), " for type ").concat(JSON.stringify(typ)));
240
188
  }
241
-
242
189
  function jsonToJSProps(typ) {
243
190
  if (typ.jsonToJS === undefined) {
244
191
  var map = {};
@@ -250,10 +197,8 @@ function jsonToJSProps(typ) {
250
197
  });
251
198
  typ.jsonToJS = map;
252
199
  }
253
-
254
200
  return typ.jsonToJS;
255
201
  }
256
-
257
202
  function jsToJSONProps(typ) {
258
203
  if (typ.jsToJSON === undefined) {
259
204
  var map = {};
@@ -265,38 +210,29 @@ function jsToJSONProps(typ) {
265
210
  });
266
211
  typ.jsToJSON = map;
267
212
  }
268
-
269
213
  return typ.jsToJSON;
270
214
  }
271
-
272
215
  function transform(val, typ, getProps) {
273
216
  var key = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "";
274
-
275
217
  function transformPrimitive(typ, val) {
276
218
  if (_typeof(typ) === _typeof(val)) return val;
277
219
  return invalidValue(typ, val, key);
278
220
  }
279
-
280
221
  function transformUnion(typs, val) {
281
222
  // val must validate against one typ in typs
282
223
  var l = typs.length;
283
-
284
224
  for (var i = 0; i < l; i++) {
285
225
  var _typ = typs[i];
286
-
287
226
  try {
288
227
  return transform(val, _typ, getProps);
289
228
  } catch (_) {}
290
229
  }
291
-
292
230
  return invalidValue(typs, val);
293
231
  }
294
-
295
232
  function transformEnum(cases, val) {
296
233
  if (cases.indexOf(val) !== -1) return val;
297
234
  return invalidValue(cases, val);
298
235
  }
299
-
300
236
  function transformArray(typ, val) {
301
237
  // val must be an array with no invalid elements
302
238
  if (!Array.isArray(val)) return invalidValue("array", val);
@@ -304,26 +240,20 @@ function transform(val, typ, getProps) {
304
240
  return transform(el, typ, getProps);
305
241
  });
306
242
  }
307
-
308
243
  function transformDate(val) {
309
244
  if (val === null) {
310
245
  return null;
311
246
  }
312
-
313
247
  var d = new Date(val);
314
-
315
248
  if (isNaN(d.valueOf())) {
316
249
  return invalidValue("Date", val);
317
250
  }
318
-
319
251
  return d;
320
252
  }
321
-
322
253
  function transformObject(props, additional, val) {
323
254
  if (val === null || _typeof(val) !== "object" || Array.isArray(val)) {
324
255
  return invalidValue("object", val);
325
256
  }
326
-
327
257
  var result = {};
328
258
  Object.getOwnPropertyNames(props).forEach(function (key) {
329
259
  var prop = props[key];
@@ -337,70 +267,58 @@ function transform(val, typ, getProps) {
337
267
  });
338
268
  return result;
339
269
  }
340
-
341
270
  if (typ === "any") return val;
342
-
343
271
  if (typ === null) {
344
272
  if (val === null) return val;
345
273
  return invalidValue(typ, val);
346
- } // if (typ === false) return invalidValue(typ, val)
347
-
348
-
274
+ }
275
+ // if (typ === false) return invalidValue(typ, val)
349
276
  while (_typeof(typ) === "object" && typ.ref !== undefined) {
350
277
  typ = typeMap[typ.ref];
351
278
  }
352
-
353
279
  if (Array.isArray(typ)) return transformEnum(typ, val);
354
-
355
280
  if (_typeof(typ) === "object") {
356
281
  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);
357
- } // Numbers can be parsed by Date but shouldn't be.
358
-
359
-
282
+ }
283
+ // Numbers can be parsed by Date but shouldn't be.
360
284
  if (typ === Date && typeof val !== "number") return transformDate(val);
361
285
  return transformPrimitive(typ, val);
362
286
  }
363
-
364
287
  function cast(val, typ) {
365
288
  return transform(val, typ, jsonToJSProps);
366
289
  }
367
-
368
290
  function uncast(val, typ) {
369
291
  return transform(val, typ, jsToJSONProps);
370
292
  }
371
-
372
293
  function a(typ) {
373
294
  return {
374
295
  arrayItems: typ
375
296
  };
376
297
  }
377
-
378
298
  function u() {
379
299
  for (var _len = arguments.length, typs = new Array(_len), _key = 0; _key < _len; _key++) {
380
300
  typs[_key] = arguments[_key];
381
301
  }
382
-
383
302
  return {
384
303
  unionMembers: typs
385
304
  };
386
305
  }
387
-
388
306
  function o(props, additional) {
389
307
  return {
390
308
  props: props,
391
309
  additional: additional
392
310
  };
393
- } // function m(additional: any) {
311
+ }
312
+
313
+ // function m(additional: any) {
394
314
  // return { props: [], additional }
395
315
  // }
396
316
 
397
-
398
317
  function r(name) {
399
318
  return {
400
319
  ref: name
401
320
  };
402
321
  }
403
-
404
322
  var typeMap = {
405
323
  Agendas: o([{
406
324
  json: "reunions",
@@ -707,4 +625,4 @@ var typeMap = {
707
625
  PersonneAuditionneeXsiType: ["IdActeur_type", "IdPersonneExterne_type"],
708
626
  TypeReunion: ["DEP", "GA", "GE", "GEVI", "GP", "HÉ Aurélien"]
709
627
  };
710
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZXVuaW9uWHNpVHlwZSIsIlBvaW50T2RqWHNpVHlwZSIsIkV0YXRDeWNsZURlVmllIiwiTmF0dXJlVHJhdmF1eE9kaiIsIlByb2NlZHVyZSIsIlR5cGVQb2ludE9kaiIsIkZvcm1hdFJldW5pb24iLCJRdWFudGllbWUiLCJQcmVzZW5jZSIsIkNpdiIsIlBlcnNvbm5lQXVkaXRpb25uZWVYc2lUeXBlIiwiVHlwZVJldW5pb24iLCJDb252ZXJ0IiwianNvbiIsImNhc3QiLCJKU09OIiwicGFyc2UiLCJyIiwidmFsdWUiLCJzdHJpbmdpZnkiLCJ1bmNhc3QiLCJpbnZhbGlkVmFsdWUiLCJ0eXAiLCJ2YWwiLCJrZXkiLCJFcnJvciIsImpzb25Ub0pTUHJvcHMiLCJqc29uVG9KUyIsInVuZGVmaW5lZCIsIm1hcCIsInByb3BzIiwiZm9yRWFjaCIsInAiLCJqcyIsImpzVG9KU09OUHJvcHMiLCJqc1RvSlNPTiIsInRyYW5zZm9ybSIsImdldFByb3BzIiwidHJhbnNmb3JtUHJpbWl0aXZlIiwidHJhbnNmb3JtVW5pb24iLCJ0eXBzIiwibCIsImxlbmd0aCIsImkiLCJfIiwidHJhbnNmb3JtRW51bSIsImNhc2VzIiwiaW5kZXhPZiIsInRyYW5zZm9ybUFycmF5IiwiQXJyYXkiLCJpc0FycmF5IiwiZWwiLCJ0cmFuc2Zvcm1EYXRlIiwiZCIsIkRhdGUiLCJpc05hTiIsInZhbHVlT2YiLCJ0cmFuc2Zvcm1PYmplY3QiLCJhZGRpdGlvbmFsIiwicmVzdWx0IiwiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsInByb3AiLCJ2IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwicmVmIiwidHlwZU1hcCIsInVuaW9uTWVtYmVycyIsImFycmF5SXRlbXMiLCJhIiwidSIsIm8iLCJuYW1lIiwiQWdlbmRhcyIsIlJldW5pb24iLCJPZGoiLCJQb2ludE9kaiIsIkN5Y2xlRGVWaWUiLCJDaHJvbm8iLCJEZW1hbmRldXJzIiwiRGVtYW5kZXVyQWN0ZXVyIiwiRGVtYW5kZXVyT3JnYW5lIiwiSWRlbnRpZmlhbnRzIiwiSW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlIiwiTGlldSIsIlBhcnRpY2lwYW50cyIsIlBhcnRpY2lwYW50SW50ZXJuZSIsIlBlcnNvbm5lQXVkaXRpb25uZWUiLCJJZGVudCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9hZ2VuZGFzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRvIHBhcnNlIHRoaXMgZGF0YTpcbi8vXG4vLyAgIGltcG9ydCB7IENvbnZlcnQsIFJldW5pb24sIEFnZW5kYXMgfSBmcm9tIFwiLi9maWxlXCI7XG4vL1xuLy8gICBjb25zdCByZXVuaW9uID0gQ29udmVydC50b1JldW5pb24oanNvbik7XG4vLyAgIGNvbnN0IGFnZW5kYXMgPSBDb252ZXJ0LnRvQWdlbmRhcyhqc29uKTtcbi8vXG4vLyBUaGVzZSBmdW5jdGlvbnMgd2lsbCB0aHJvdyBhbiBlcnJvciBpZiB0aGUgSlNPTiBkb2Vzbid0XG4vLyBtYXRjaCB0aGUgZXhwZWN0ZWQgaW50ZXJmYWNlLCBldmVuIGlmIHRoZSBKU09OIGlzIHZhbGlkLlxuXG5pbXBvcnQgeyBBY3RldXIsIE9yZ2FuZSB9IGZyb20gXCIuL2FjdGV1cnNfZXRfb3JnYW5lc1wiXG5cbmV4cG9ydCBpbnRlcmZhY2UgQWdlbmRhcyB7XG4gIHJldW5pb25zOiBSZXVuaW9uW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXVuaW9uIHtcbiAgc2NoZW1hVmVyc2lvbj86IHN0cmluZ1xuICB4c2lUeXBlPzogUmV1bmlvblhzaVR5cGVcbiAgdWlkOiBzdHJpbmdcbiAgdGltZXN0YW1wRGVidXQ6IERhdGVcbiAgdGltZXN0YW1wRmluPzogRGF0ZVxuICBsaWV1PzogTGlldVxuICBjeWNsZURlVmllOiBDeWNsZURlVmllXG4gIGRlbWFuZGV1cnM/OiBEZW1hbmRldXJzXG4gIG9yZ2FuZVJldW5pUmVmPzogc3RyaW5nXG4gIG9yZ2FuZVJldW5pPzogT3JnYW5lIC8vIEFkZGVkIGJ5IFRyaWNvdGV1c2VzXG4gIHR5cGVSZXVuaW9uPzogVHlwZVJldW5pb25cbiAgcGFydGljaXBhbnRzPzogUGFydGljaXBhbnRzXG4gIHNlc3Npb25SZWY/OiBzdHJpbmdcbiAgb3V2ZXJ0dXJlUHJlc3NlPzogYm9vbGVhblxuICBvZGo/OiBPZGpcbiAgY29tcHRlUmVuZHVSZWY/OiBzdHJpbmdcbiAgaWRlbnRpZmlhbnRzPzogSWRlbnRpZmlhbnRzXG4gIGZvcm1hdFJldW5pb24/OiBGb3JtYXRSZXVuaW9uXG4gIGluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZT86IEluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZVxuICBjYXB0YXRpb25WaWRlbz86IGJvb2xlYW5cbiAgdmlzaW9Db25mZXJlbmNlPzogc3RyaW5nXG59XG5cbmV4cG9ydCBlbnVtIFJldW5pb25Yc2lUeXBlIHtcbiAgUmV1bmlvbkNvbW1pc3Npb25UeXBlID0gXCJyZXVuaW9uQ29tbWlzc2lvbl90eXBlXCIsXG4gIFJldW5pb25Jbml0UGFybGVtZW50YWlyZVR5cGUgPSBcInJldW5pb25Jbml0UGFybGVtZW50YWlyZV90eXBlXCIsXG4gIFNlYW5jZVR5cGUgPSBcInNlYW5jZV90eXBlXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2RqIHtcbiAgY29udm9jYXRpb25PZGo/OiBzdHJpbmdbXVxuICByZXN1bWVPZGo/OiBzdHJpbmdbXVxuICBwb2ludHNPZGo/OiBQb2ludE9kaltdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9pbnRPZGoge1xuICB4c2lUeXBlOiBQb2ludE9kalhzaVR5cGVcbiAgdWlkOiBzdHJpbmdcbiAgY3ljbGVEZVZpZTogQ3ljbGVEZVZpZVxuICBvYmpldDogc3RyaW5nXG4gIHByb2NlZHVyZT86IFByb2NlZHVyZVxuICBkb3NzaWVyc0xlZ2lzbGF0aWZzUmVmcz86IHN0cmluZ1tdXG4gIHR5cGVQb2ludE9kajogVHlwZVBvaW50T2RqXG4gIGNvbWl0ZVNlY3JldDogYm9vbGVhblxuICBuYXR1cmVUcmF2YXV4T2RqPzogTmF0dXJlVHJhdmF1eE9kalxuICBkYXRlQ29uZlByZXM/OiBEYXRlXG4gIGRhdGVMZXR0cmVNaW5pc3RyZT86IERhdGVcbn1cblxuZXhwb3J0IGVudW0gUG9pbnRPZGpYc2lUeXBlIHtcbiAgUG9kalJldW5pb25UeXBlID0gXCJwb2RqUmV1bmlvbl90eXBlXCIsXG4gIFBvZGpTZWFuY2VDb25mUHJlc1R5cGUgPSBcInBvZGpTZWFuY2VDb25mUHJlc190eXBlXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3ljbGVEZVZpZSB7XG4gIGV0YXQ6IEV0YXRDeWNsZURlVmllXG4gIGNocm9ubzogQ2hyb25vXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hyb25vIHtcbiAgY3JlYXRpb246IERhdGVcbiAgY2xvdHVyZT86IERhdGVcbn1cblxuZXhwb3J0IGVudW0gRXRhdEN5Y2xlRGVWaWUge1xuICBBbm51bMOpID0gXCJBbm51bMOpXCIsXG4gIENvbmZpcm3DqSA9IFwiQ29uZmlybcOpXCIsXG4gIEV2ZW50dWVsID0gXCJFdmVudHVlbFwiLFxuICBTdXBwcmltw6kgPSBcIlN1cHByaW3DqVwiLFxufVxuXG5leHBvcnQgZW51bSBOYXR1cmVUcmF2YXV4T2RqIHtcbiAgT2RqcHIgPSBcIk9ESlBSXCIsXG4gIE9kanNuID0gXCJPREpTTlwiLFxufVxuXG5leHBvcnQgZW51bSBQcm9jZWR1cmUge1xuICBEaXNjdXNzaW9uR8OpbsOpcmFsZUNvbW11bmUgPSBcImRpc2N1c3Npb24gZ8OpbsOpcmFsZSBjb21tdW5lXCIsXG4gIFByb2PDqWR1cmVERXhhbWVuU2ltcGxpZmnDqWVBcnRpY2xlMTAzID0gXCJwcm9jw6lkdXJlIGQnZXhhbWVuIHNpbXBsaWZpw6llLUFydGljbGUgMTAzXCIsXG4gIFByb2PDqWR1cmVERXhhbWVuU2ltcGxpZmnDqWVBcnRpY2xlMTA2ID0gXCJwcm9jw6lkdXJlIGQnZXhhbWVuIHNpbXBsaWZpw6llLUFydGljbGUgMTA2XCIsXG4gIFByb2PDqWR1cmVEZUzDqWdpc2xhdGlvbkVuQ29tbWlzc2lvbkFydGljbGUxMDcxID0gXCJwcm9jw6lkdXJlIGRlIGzDqWdpc2xhdGlvbiBlbiBjb21taXNzaW9uLUFydGljbGUgMTA3LTFcIixcbn1cblxuZXhwb3J0IGVudW0gVHlwZVBvaW50T2RqIHtcbiAgQW1lbmRlbWVudHNBcnQ4OCA9IFwiQW1lbmRlbWVudHMgKEFydC4gODgpXCIsXG4gIEFtZW5kZW1lbnRzQXJ0OTEgPSBcIkFtZW5kZW1lbnRzIChBcnQuIDkxKVwiLFxuICBBdWRpdGlvbiA9IFwiQXVkaXRpb25cIixcbiAgQXVkaXRpb25NaW5pc3RyZSA9IFwiQXVkaXRpb24gbWluaXN0cmVcIixcbiAgQXVkaXRpb25NaW5pc3RyZU91dmVydGXDgExhUHJlc3NlID0gXCJBdWRpdGlvbiBtaW5pc3RyZSBvdXZlcnRlIMOgIGxhIHByZXNzZVwiLFxuICBBdWRpdGlvbk91dmVydGXDgExhUHJlc3NlID0gXCJBdWRpdGlvbiBvdXZlcnRlIMOgIGxhIHByZXNzZVwiLFxuICBDb21tdW5pY2F0aW9uID0gXCJDb21tdW5pY2F0aW9uXCIsXG4gIENvbnN0aXR1dGlvbkRlTWlzc2lvbkRJbmZvcm1hdGlvbiA9IFwiQ29uc3RpdHV0aW9uIGRlIG1pc3Npb24gZCdpbmZvcm1hdGlvblwiLFxuICBEaXNjdXNzaW9uID0gXCJEaXNjdXNzaW9uXCIsXG4gIETDqWJhdERJbml0aWF0aXZlUGFybGVtZW50YWlyZSA9IFwiRMOpYmF0IGQnaW5pdGlhdGl2ZSBwYXJsZW1lbnRhaXJlXCIsXG4gIETDqWNsYXJhdGlvbkR1R291dmVybmVtZW50U3VpdmllRFVuRMOpYmF0ID0gXCJEw6ljbGFyYXRpb24gZHUgR291dmVybmVtZW50IHN1aXZpZSBkJ3VuIGTDqWJhdFwiLFxuICBFY2hhbmdlc0RlVnVlcyA9IFwiRWNoYW5nZXMgZGUgdnVlc1wiLFxuICBFeGFtZW4gPSBcIkV4YW1lblwiLFxuICBFeHBsaWNhdGlvbnNEZVZvdGVEZXNHcm91cGVzRXRWb3RlUGFyU2NydXRpblB1YmxpYyA9IFwiRXhwbGljYXRpb25zIGRlIHZvdGUgZGVzIGdyb3VwZXMgZXQgdm90ZSBwYXIgc2NydXRpbiBwdWJsaWNcIixcbiAgRXhwbGljYXRpb25zRGVWb3RlRXRWb3RlUGFyU2NydXRpblB1YmxpYyA9IFwiRXhwbGljYXRpb25zIGRlIHZvdGUgZXQgdm90ZSBwYXIgc2NydXRpbiBwdWJsaWNcIixcbiAgRml4YXRpb25EZUxPcmRyZUR1Sm91ciA9IFwiRml4YXRpb24gZGUgbCdvcmRyZSBkdSBqb3VyXCIsXG4gIE5vbWluYXRpb25CdXJlYXUgPSBcIk5vbWluYXRpb24gYnVyZWF1XCIsXG4gIE5vbWluYXRpb25DYW5kaWRhdHNPcmdhbmlzbWVFeHRyYXBhcmxlbWVudGFpcmUgPSBcIk5vbWluYXRpb24gY2FuZGlkYXRzIG9yZ2FuaXNtZSBleHRyYXBhcmxlbWVudGFpcmVcIixcbiAgTm9taW5hdGlvbkRVbk1lbWJyZURVbmVNaXNzaW9uREluZm9ybWF0aW9uID0gXCJOb21pbmF0aW9uIGQndW4gbWVtYnJlIGQndW5lIG1pc3Npb24gZCdpbmZvcm1hdGlvblwiLFxuICBOb21pbmF0aW9uUmFwcG9ydGV1ciA9IFwiTm9taW5hdGlvbiByYXBwb3J0ZXVyXCIsXG4gIE5vbWluYXRpb25SYXBwb3J0ZXVyREFwcGxpY2F0aW9uID0gXCJOb21pbmF0aW9uIHJhcHBvcnRldXIgZCdhcHBsaWNhdGlvblwiLFxuICBOb21pbmF0aW9uUmFwcG9ydGV1ckRJbmZvcm1hdGlvbiA9IFwiTm9taW5hdGlvbiByYXBwb3J0ZXVyIGQnaW5mb3JtYXRpb25cIixcbiAgTm9taW5hdGlvblJhcHBvcnRldXJQb3VyQXZpcyA9IFwiTm9taW5hdGlvbiByYXBwb3J0ZXVyIHBvdXIgYXZpc1wiLFxuICBPdXZlcnR1cmVFdENsw7R0dXJlRGVTZXNzaW9uID0gXCJPdXZlcnR1cmUgZXQgY2zDtHR1cmUgZGUgc2Vzc2lvblwiLFxuICBRdWVzdGlvbnNBdUdvdXZlcm5lbWVudCA9IFwiUXVlc3Rpb25zIGF1IEdvdXZlcm5lbWVudFwiLFxuICBRdWVzdGlvbnNPcmFsZXNTYW5zRMOpYmF0ID0gXCJRdWVzdGlvbnMgb3JhbGVzIHNhbnMgZMOpYmF0XCIsXG4gIFJhcHBvcnQgPSBcIlJhcHBvcnRcIixcbiAgUmFwcG9ydERJbmZvcm1hdGlvbiA9IFwiUmFwcG9ydCBkJ2luZm9ybWF0aW9uXCIsXG4gIFJhcHBvcnRQb3VyQXZpcyA9IFwiUmFwcG9ydCBwb3VyIGF2aXNcIixcbiAgU3VpdGVEZUxhRGlzY3Vzc2lvbiA9IFwiU3VpdGUgZGUgbGEgZGlzY3Vzc2lvblwiLFxuICBUYWJsZVJvbmRlID0gXCJUYWJsZSByb25kZVwiLFxuICBWb3RlUGFyU2NydXRpblB1YmxpYyA9IFwiVm90ZSBwYXIgc2NydXRpbiBwdWJsaWNcIixcbiAgVm90ZVNvbGVubmVsID0gXCJWb3RlIHNvbGVubmVsXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVtYW5kZXVycyB7XG4gIGFjdGV1cnM/OiBEZW1hbmRldXJBY3RldXJbXVxuICBvcmdhbmU/OiBEZW1hbmRldXJPcmdhbmVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZW1hbmRldXJBY3RldXIge1xuICBub20/OiBzdHJpbmdcbiAgYWN0ZXVyUmVmOiBzdHJpbmdcbiAgYWN0ZXVyPzogQWN0ZXVyIC8vIEFkZGVkIGJ5IFRyaWNvdGV1c2VzXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVtYW5kZXVyT3JnYW5lIHtcbiAgbm9tOiBzdHJpbmdcbiAgb3JnYW5lUmVmOiBzdHJpbmdcbiAgb3JnYW5lPzogT3JnYW5lIC8vIEFkZGVkIGJ5IFRyaWNvdGV1c2VzXG59XG5cbmV4cG9ydCBlbnVtIEZvcm1hdFJldW5pb24ge1xuICBBdWRpdGlvbkV4dGVybmUgPSBcIkF1ZGl0aW9uRXh0ZXJuZVwiLFxuICBBdWRpdGlvblBhclByZXNpZGVudENvbW1pc3Npb24gPSBcIkF1ZGl0aW9uUGFyUHJlc2lkZW50Q29tbWlzc2lvblwiLFxuICBBdWRpdGlvblBhclJhcHBvcnRldXIgPSBcIkF1ZGl0aW9uUGFyUmFwcG9ydGV1clwiLFxuICBPcmRpbmFpcmUgPSBcIk9yZGluYWlyZVwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElkZW50aWZpYW50cyB7XG4gIG51bVNlYW5jZUpvPzogc3RyaW5nXG4gIGlkSm8/OiBzdHJpbmdcbiAgcXVhbnRpZW1lOiBRdWFudGllbWVcbiAgZGF0ZVNlYW5jZTogc3RyaW5nXG59XG5cbmV4cG9ydCBlbnVtIFF1YW50aWVtZSB7XG4gIERldXhpw6htZSA9IFwiRGV1eGnDqG1lXCIsXG4gIFByZW1pw6hyZSA9IFwiUHJlbWnDqHJlXCIsXG4gIFRyb2lzacOobWUgPSBcIlRyb2lzacOobWVcIixcbiAgVW5pcXVlID0gXCJVbmlxdWVcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmZvc1JldW5pb25zSW50ZXJuYXRpb25hbGUge1xuICBlc3RSZXVuaW9uSW50ZXJuYXRpb25hbGU6IGJvb2xlYW5cbiAgbGlzdGVQYXlzPzogc3RyaW5nW11cbiAgaW5mb3JtYXRpb25zQ29tcGxlbWVudGFpcmVzPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlldSB7XG4gIGNvZGU/OiBzdHJpbmdcbiAgbGliZWxsZUNvdXJ0Pzogc3RyaW5nXG4gIGxpYmVsbGVMb25nPzogc3RyaW5nXG4gIGxpZXVSZWY/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXJ0aWNpcGFudHMge1xuICBwYXJ0aWNpcGFudHNJbnRlcm5lcz86IFBhcnRpY2lwYW50SW50ZXJuZVtdXG4gIHBlcnNvbm5lc0F1ZGl0aW9ubmVlcz86IFBlcnNvbm5lQXVkaXRpb25uZWVbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRpY2lwYW50SW50ZXJuZSB7XG4gIGFjdGV1clJlZjogc3RyaW5nXG4gIGFjdGV1cj86IEFjdGV1ciAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xuICBwcmVzZW5jZTogUHJlc2VuY2Vcbn1cblxuZXhwb3J0IGVudW0gUHJlc2VuY2Uge1xuICBBYnNlbnQgPSBcImFic2VudFwiLFxuICBFeGN1c8OpID0gXCJleGN1c8OpXCIsXG4gIFByw6lzZW50ID0gXCJwcsOpc2VudFwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBlcnNvbm5lQXVkaXRpb25uZWUge1xuICB4c2lUeXBlOiBQZXJzb25uZUF1ZGl0aW9ubmVlWHNpVHlwZVxuICB1aWQ6IHN0cmluZ1xuICBpZGVudDogSWRlbnRcbiAgZGF0ZU5haXM/OiBEYXRlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWRlbnQge1xuICBjaXY6IENpdlxuICBwcmVub206IHN0cmluZ1xuICBub206IHN0cmluZ1xuICBhbHBoYT86IHN0cmluZ1xuICB0cmlncmFtbWU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGVudW0gQ2l2IHtcbiAgTSA9IFwiTS5cIixcbiAgTW1lID0gXCJNbWVcIixcbn1cblxuZXhwb3J0IGVudW0gUGVyc29ubmVBdWRpdGlvbm5lZVhzaVR5cGUge1xuICBJZEFjdGV1clR5cGUgPSBcIklkQWN0ZXVyX3R5cGVcIixcbiAgSWRQZXJzb25uZUV4dGVybmVUeXBlID0gXCJJZFBlcnNvbm5lRXh0ZXJuZV90eXBlXCIsXG59XG5cbmV4cG9ydCBlbnVtIFR5cGVSZXVuaW9uIHtcbiAgRGVwID0gXCJERVBcIiwgLy8gRMOpcHV0w6lcbiAgR2EgPSBcIkdBXCIsIC8vIEdyb3VwZSBkJ2FtaXRpw6lcbiAgR2UgPSBcIkdFXCIsIC8vIEdyb3VwZSBkJ8OpdHVkZVxuICBHZXZpID0gXCJHRVZJXCIsIC8vIEdyb3VwZSBkJ8OpdHVkZSDDoCB2b2NhdGlvbiBpbnRlcm5hdGlvbmFsZVxuICBHcCA9IFwiR1BcIiwgLy8gR3JvdXBlIHBhcmxlbWVudGFpcmVcbiAgSMOpQXVyw6lsaWVuID0gXCJIw4kgQXVyw6lsaWVuXCIsXG59XG5cbi8vIENvbnZlcnRzIEpTT04gc3RyaW5ncyB0by9mcm9tIHlvdXIgdHlwZXNcbi8vIGFuZCBhc3NlcnRzIHRoZSByZXN1bHRzIG9mIEpTT04ucGFyc2UgYXQgcnVudGltZVxuZXhwb3J0IGNsYXNzIENvbnZlcnQge1xuICBwdWJsaWMgc3RhdGljIHRvQWdlbmRhcyhqc29uOiBzdHJpbmcpOiBBZ2VuZGFzIHtcbiAgICByZXR1cm4gY2FzdChKU09OLnBhcnNlKGpzb24pLCByKFwiQWdlbmRhc1wiKSlcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgYWdlbmRhc1RvSnNvbih2YWx1ZTogQWdlbmRhcyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHVuY2FzdCh2YWx1ZSwgcihcIkFnZW5kYXNcIikpLCBudWxsLCAyKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyB0b1JldW5pb24oanNvbjogc3RyaW5nKTogUmV1bmlvbiB7XG4gICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIlJldW5pb25cIikpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHJldW5pb25Ub0pzb24odmFsdWU6IFJldW5pb24pOiBzdHJpbmcge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmNhc3QodmFsdWUsIHIoXCJSZXVuaW9uXCIpKSwgbnVsbCwgMilcbiAgfVxufVxuXG5mdW5jdGlvbiBpbnZhbGlkVmFsdWUodHlwOiBhbnksIHZhbDogYW55LCBrZXk6IGFueSA9IFwiXCIpOiBuZXZlciB7XG4gIGlmIChrZXkpIHtcbiAgICB0aHJvdyBFcnJvcihcbiAgICAgIGBJbnZhbGlkIHZhbHVlIGZvciBrZXkgXCIke2tleX1cIi4gRXhwZWN0ZWQgdHlwZSAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICB0eXAsXG4gICAgICApfSBidXQgZ290ICR7SlNPTi5zdHJpbmdpZnkodmFsKX1gLFxuICAgIClcbiAgfVxuICB0aHJvdyBFcnJvcihcbiAgICBgSW52YWxpZCB2YWx1ZSAke0pTT04uc3RyaW5naWZ5KHZhbCl9IGZvciB0eXBlICR7SlNPTi5zdHJpbmdpZnkodHlwKX1gLFxuICApXG59XG5cbmZ1bmN0aW9uIGpzb25Ub0pTUHJvcHModHlwOiBhbnkpOiBhbnkge1xuICBpZiAodHlwLmpzb25Ub0pTID09PSB1bmRlZmluZWQpIHtcbiAgICB2YXIgbWFwOiBhbnkgPSB7fVxuICAgIHR5cC5wcm9wcy5mb3JFYWNoKChwOiBhbnkpID0+IChtYXBbcC5qc29uXSA9IHsga2V5OiBwLmpzLCB0eXA6IHAudHlwIH0pKVxuICAgIHR5cC5qc29uVG9KUyA9IG1hcFxuICB9XG4gIHJldHVybiB0eXAuanNvblRvSlNcbn1cblxuZnVuY3Rpb24ganNUb0pTT05Qcm9wcyh0eXA6IGFueSk6IGFueSB7XG4gIGlmICh0eXAuanNUb0pTT04gPT09IHVuZGVmaW5lZCkge1xuICAgIHZhciBtYXA6IGFueSA9IHt9XG4gICAgdHlwLnByb3BzLmZvckVhY2goKHA6IGFueSkgPT4gKG1hcFtwLmpzXSA9IHsga2V5OiBwLmpzb24sIHR5cDogcC50eXAgfSkpXG4gICAgdHlwLmpzVG9KU09OID0gbWFwXG4gIH1cbiAgcmV0dXJuIHR5cC5qc1RvSlNPTlxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm0odmFsOiBhbnksIHR5cDogYW55LCBnZXRQcm9wczogYW55LCBrZXk6IGFueSA9IFwiXCIpOiBhbnkge1xuICBmdW5jdGlvbiB0cmFuc2Zvcm1QcmltaXRpdmUodHlwOiBzdHJpbmcsIHZhbDogYW55KTogYW55IHtcbiAgICBpZiAodHlwZW9mIHR5cCA9PT0gdHlwZW9mIHZhbCkgcmV0dXJuIHZhbFxuICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwsIGtleSlcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybVVuaW9uKHR5cHM6IGFueVtdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgLy8gdmFsIG11c3QgdmFsaWRhdGUgYWdhaW5zdCBvbmUgdHlwIGluIHR5cHNcbiAgICBjb25zdCBsID0gdHlwcy5sZW5ndGhcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGw7IGkrKykge1xuICAgICAgY29uc3QgdHlwID0gdHlwc1tpXVxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwgZ2V0UHJvcHMpXG4gICAgICB9IGNhdGNoIChfKSB7fVxuICAgIH1cbiAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cHMsIHZhbClcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybUVudW0oY2FzZXM6IHN0cmluZ1tdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgaWYgKGNhc2VzLmluZGV4T2YodmFsKSAhPT0gLTEpIHJldHVybiB2YWxcbiAgICByZXR1cm4gaW52YWxpZFZhbHVlKGNhc2VzLCB2YWwpXG4gIH1cblxuICBmdW5jdGlvbiB0cmFuc2Zvcm1BcnJheSh0eXA6IGFueSwgdmFsOiBhbnkpOiBhbnkge1xuICAgIC8vIHZhbCBtdXN0IGJlIGFuIGFycmF5IHdpdGggbm8gaW52YWxpZCBlbGVtZW50c1xuICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWwpKSByZXR1cm4gaW52YWxpZFZhbHVlKFwiYXJyYXlcIiwgdmFsKVxuICAgIHJldHVybiB2YWwubWFwKChlbCkgPT4gdHJhbnNmb3JtKGVsLCB0eXAsIGdldFByb3BzKSlcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybURhdGUodmFsOiBhbnkpOiBhbnkge1xuICAgIGlmICh2YWwgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuICAgIGNvbnN0IGQgPSBuZXcgRGF0ZSh2YWwpXG4gICAgaWYgKGlzTmFOKGQudmFsdWVPZigpKSkge1xuICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShcIkRhdGVcIiwgdmFsKVxuICAgIH1cbiAgICByZXR1cm4gZFxuICB9XG5cbiAgZnVuY3Rpb24gdHJhbnNmb3JtT2JqZWN0KFxuICAgIHByb3BzOiB7IFtrOiBzdHJpbmddOiBhbnkgfSxcbiAgICBhZGRpdGlvbmFsOiBhbnksXG4gICAgdmFsOiBhbnksXG4gICk6IGFueSB7XG4gICAgaWYgKHZhbCA9PT0gbnVsbCB8fCB0eXBlb2YgdmFsICE9PSBcIm9iamVjdFwiIHx8IEFycmF5LmlzQXJyYXkodmFsKSkge1xuICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShcIm9iamVjdFwiLCB2YWwpXG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdDogYW55ID0ge31cbiAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhwcm9wcykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBjb25zdCBwcm9wID0gcHJvcHNba2V5XVxuICAgICAgY29uc3QgdiA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh2YWwsIGtleSlcbiAgICAgICAgPyB2YWxba2V5XVxuICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgcmVzdWx0W3Byb3Aua2V5XSA9IHRyYW5zZm9ybSh2LCBwcm9wLnR5cCwgZ2V0UHJvcHMsIHByb3Aua2V5KVxuICAgIH0pXG4gICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModmFsKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHByb3BzLCBrZXkpKSB7XG4gICAgICAgIHJlc3VsdFtrZXldID0gdHJhbnNmb3JtKHZhbFtrZXldLCBhZGRpdGlvbmFsLCBnZXRQcm9wcywga2V5KVxuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgaWYgKHR5cCA9PT0gXCJhbnlcIikgcmV0dXJuIHZhbFxuICBpZiAodHlwID09PSBudWxsKSB7XG4gICAgaWYgKHZhbCA9PT0gbnVsbCkgcmV0dXJuIHZhbFxuICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpXG4gIH1cbiAgLy8gaWYgKHR5cCA9PT0gZmFsc2UpIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpXG4gIHdoaWxlICh0eXBlb2YgdHlwID09PSBcIm9iamVjdFwiICYmIHR5cC5yZWYgIT09IHVuZGVmaW5lZCkge1xuICAgIHR5cCA9IHR5cGVNYXBbdHlwLnJlZl1cbiAgfVxuICBpZiAoQXJyYXkuaXNBcnJheSh0eXApKSByZXR1cm4gdHJhbnNmb3JtRW51bSh0eXAsIHZhbClcbiAgaWYgKHR5cGVvZiB0eXAgPT09IFwib2JqZWN0XCIpIHtcbiAgICByZXR1cm4gdHlwLmhhc093blByb3BlcnR5KFwidW5pb25NZW1iZXJzXCIpXG4gICAgICA/IHRyYW5zZm9ybVVuaW9uKHR5cC51bmlvbk1lbWJlcnMsIHZhbClcbiAgICAgIDogdHlwLmhhc093blByb3BlcnR5KFwiYXJyYXlJdGVtc1wiKVxuICAgICAgPyB0cmFuc2Zvcm1BcnJheSh0eXAuYXJyYXlJdGVtcywgdmFsKVxuICAgICAgOiB0eXAuaGFzT3duUHJvcGVydHkoXCJwcm9wc1wiKVxuICAgICAgPyB0cmFuc2Zvcm1PYmplY3QoZ2V0UHJvcHModHlwKSwgdHlwLmFkZGl0aW9uYWwsIHZhbClcbiAgICAgIDogaW52YWxpZFZhbHVlKHR5cCwgdmFsKVxuICB9XG4gIC8vIE51bWJlcnMgY2FuIGJlIHBhcnNlZCBieSBEYXRlIGJ1dCBzaG91bGRuJ3QgYmUuXG4gIGlmICh0eXAgPT09IERhdGUgJiYgdHlwZW9mIHZhbCAhPT0gXCJudW1iZXJcIikgcmV0dXJuIHRyYW5zZm9ybURhdGUodmFsKVxuICByZXR1cm4gdHJhbnNmb3JtUHJpbWl0aXZlKHR5cCwgdmFsKVxufVxuXG5mdW5jdGlvbiBjYXN0PFQ+KHZhbDogYW55LCB0eXA6IGFueSk6IFQge1xuICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBqc29uVG9KU1Byb3BzKVxufVxuXG5mdW5jdGlvbiB1bmNhc3Q8VD4odmFsOiBULCB0eXA6IGFueSk6IGFueSB7XG4gIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGpzVG9KU09OUHJvcHMpXG59XG5cbmZ1bmN0aW9uIGEodHlwOiBhbnkpIHtcbiAgcmV0dXJuIHsgYXJyYXlJdGVtczogdHlwIH1cbn1cblxuZnVuY3Rpb24gdSguLi50eXBzOiBhbnlbXSkge1xuICByZXR1cm4geyB1bmlvbk1lbWJlcnM6IHR5cHMgfVxufVxuXG5mdW5jdGlvbiBvKHByb3BzOiBhbnlbXSwgYWRkaXRpb25hbDogYW55KSB7XG4gIHJldHVybiB7IHByb3BzLCBhZGRpdGlvbmFsIH1cbn1cblxuLy8gZnVuY3Rpb24gbShhZGRpdGlvbmFsOiBhbnkpIHtcbi8vICAgcmV0dXJuIHsgcHJvcHM6IFtdLCBhZGRpdGlvbmFsIH1cbi8vIH1cblxuZnVuY3Rpb24gcihuYW1lOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHsgcmVmOiBuYW1lIH1cbn1cblxuY29uc3QgdHlwZU1hcDogYW55ID0ge1xuICBBZ2VuZGFzOiBvKFxuICAgIFt7IGpzb246IFwicmV1bmlvbnNcIiwganM6IFwicmV1bmlvbnNcIiwgdHlwOiBhKHIoXCJSZXVuaW9uXCIpKSB9XSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgUmV1bmlvbjogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwic2NoZW1hVmVyc2lvblwiLCBqczogXCJzY2hlbWFWZXJzaW9uXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwieHNpVHlwZVwiLFxuICAgICAgICBqczogXCJ4c2lUeXBlXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJSZXVuaW9uWHNpVHlwZVwiKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcInVpZFwiLCBqczogXCJ1aWRcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwidGltZXN0YW1wRGVidXRcIiwganM6IFwidGltZXN0YW1wRGVidXRcIiwgdHlwOiBEYXRlIH0sXG4gICAgICB7IGpzb246IFwidGltZXN0YW1wRmluXCIsIGpzOiBcInRpbWVzdGFtcEZpblwiLCB0eXA6IHUodW5kZWZpbmVkLCBEYXRlKSB9LFxuICAgICAgeyBqc29uOiBcImxpZXVcIiwganM6IFwibGlldVwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiTGlldVwiKSkgfSxcbiAgICAgIHsganNvbjogXCJjeWNsZURlVmllXCIsIGpzOiBcImN5Y2xlRGVWaWVcIiwgdHlwOiByKFwiQ3ljbGVEZVZpZVwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImRlbWFuZGV1cnNcIixcbiAgICAgICAganM6IFwiZGVtYW5kZXVyc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiRGVtYW5kZXVyc1wiKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcIm9yZ2FuZVJldW5pUmVmXCIsIGpzOiBcIm9yZ2FuZVJldW5pUmVmXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwidHlwZVJldW5pb25cIixcbiAgICAgICAganM6IFwidHlwZVJldW5pb25cIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlR5cGVSZXVuaW9uXCIpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwicGFydGljaXBhbnRzXCIsXG4gICAgICAgIGpzOiBcInBhcnRpY2lwYW50c1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiUGFydGljaXBhbnRzXCIpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwic2Vzc2lvblJlZlwiLCBqczogXCJzZXNzaW9uUmVmXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwib3V2ZXJ0dXJlUHJlc3NlXCIsXG4gICAgICAgIGpzOiBcIm91dmVydHVyZVByZXNzZVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBmYWxzZSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcIm9kalwiLCBqczogXCJvZGpcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIk9kalwiKSkgfSxcbiAgICAgIHsganNvbjogXCJjb21wdGVSZW5kdVJlZlwiLCBqczogXCJjb21wdGVSZW5kdVJlZlwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImlkZW50aWZpYW50c1wiLFxuICAgICAgICBqczogXCJpZGVudGlmaWFudHNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIklkZW50aWZpYW50c1wiKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImZvcm1hdFJldW5pb25cIixcbiAgICAgICAganM6IFwiZm9ybWF0UmV1bmlvblwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiRm9ybWF0UmV1bmlvblwiKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZVwiLFxuICAgICAgICBqczogXCJpbmZvc1JldW5pb25zSW50ZXJuYXRpb25hbGVcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZVwiKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImNhcHRhdGlvblZpZGVvXCIsXG4gICAgICAgIGpzOiBcImNhcHRhdGlvblZpZGVvXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGZhbHNlKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwidmlzaW9Db25mZXJlbmNlXCIsIGpzOiBcInZpc2lvQ29uZmVyZW5jZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIE9kajogbyhcbiAgICBbXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiY29udm9jYXRpb25PZGpcIixcbiAgICAgICAganM6IFwiY29udm9jYXRpb25PZGpcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShcIlwiKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcInJlc3VtZU9kalwiLCBqczogXCJyZXN1bWVPZGpcIiwgdHlwOiB1KHVuZGVmaW5lZCwgYShcIlwiKSkgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJwb2ludHNPZGpcIixcbiAgICAgICAganM6IFwicG9pbnRzT2RqXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIlBvaW50T2RqXCIpKSksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFBvaW50T2RqOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJ4c2lUeXBlXCIsIGpzOiBcInhzaVR5cGVcIiwgdHlwOiByKFwiUG9pbnRPZGpYc2lUeXBlXCIpIH0sXG4gICAgICB7IGpzb246IFwidWlkXCIsIGpzOiBcInVpZFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJjeWNsZURlVmllXCIsIGpzOiBcImN5Y2xlRGVWaWVcIiwgdHlwOiByKFwiQ3ljbGVEZVZpZVwiKSB9LFxuICAgICAgeyBqc29uOiBcIm9iamV0XCIsIGpzOiBcIm9iamV0XCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInByb2NlZHVyZVwiLCBqczogXCJwcm9jZWR1cmVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlByb2NlZHVyZVwiKSkgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJkb3NzaWVyc0xlZ2lzbGF0aWZzUmVmc1wiLFxuICAgICAgICBqczogXCJkb3NzaWVyc0xlZ2lzbGF0aWZzUmVmc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKFwiXCIpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwidHlwZVBvaW50T2RqXCIsIGpzOiBcInR5cGVQb2ludE9kalwiLCB0eXA6IHIoXCJUeXBlUG9pbnRPZGpcIikgfSxcbiAgICAgIHsganNvbjogXCJjb21pdGVTZWNyZXRcIiwganM6IFwiY29taXRlU2VjcmV0XCIsIHR5cDogZmFsc2UgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJuYXR1cmVUcmF2YXV4T2RqXCIsXG4gICAgICAgIGpzOiBcIm5hdHVyZVRyYXZhdXhPZGpcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIk5hdHVyZVRyYXZhdXhPZGpcIikpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJkYXRlQ29uZlByZXNcIiwganM6IFwiZGF0ZUNvbmZQcmVzXCIsIHR5cDogdSh1bmRlZmluZWQsIERhdGUpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZGF0ZUxldHRyZU1pbmlzdHJlXCIsXG4gICAgICAgIGpzOiBcImRhdGVMZXR0cmVNaW5pc3RyZVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBEYXRlKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgQ3ljbGVEZVZpZTogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiZXRhdFwiLCBqczogXCJldGF0XCIsIHR5cDogcihcIkV0YXRDeWNsZURlVmllXCIpIH0sXG4gICAgICB7IGpzb246IFwiY2hyb25vXCIsIGpzOiBcImNocm9ub1wiLCB0eXA6IHIoXCJDaHJvbm9cIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBDaHJvbm86IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImNyZWF0aW9uXCIsIGpzOiBcImNyZWF0aW9uXCIsIHR5cDogRGF0ZSB9LFxuICAgICAgeyBqc29uOiBcImNsb3R1cmVcIiwganM6IFwiY2xvdHVyZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBEYXRlKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIERlbWFuZGV1cnM6IG8oXG4gICAgW1xuICAgICAge1xuICAgICAgICBqc29uOiBcImFjdGV1cnNcIixcbiAgICAgICAganM6IFwiYWN0ZXVyc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKHIoXCJEZW1hbmRldXJBY3RldXJcIikpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwib3JnYW5lXCIsIGpzOiBcIm9yZ2FuZVwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiRGVtYW5kZXVyT3JnYW5lXCIpKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIERlbWFuZGV1ckFjdGV1cjogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwibm9tXCIsIGpzOiBcIm5vbVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcImFjdGV1clJlZlwiLCBqczogXCJhY3RldXJSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgRGVtYW5kZXVyT3JnYW5lOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJub21cIiwganM6IFwibm9tXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcIm9yZ2FuZVJlZlwiLCBqczogXCJvcmdhbmVSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgSWRlbnRpZmlhbnRzOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJudW1TZWFuY2VKb1wiLCBqczogXCJudW1TZWFuY2VKb1wiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcImlkSm9cIiwganM6IFwiaWRKb1wiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInF1YW50aWVtZVwiLCBqczogXCJxdWFudGllbWVcIiwgdHlwOiByKFwiUXVhbnRpZW1lXCIpIH0sXG4gICAgICB7IGpzb246IFwiZGF0ZVNlYW5jZVwiLCBqczogXCJkYXRlU2VhbmNlXCIsIHR5cDogRGF0ZSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIEluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZTogbyhcbiAgICBbXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZXN0UmV1bmlvbkludGVybmF0aW9uYWxlXCIsXG4gICAgICAgIGpzOiBcImVzdFJldW5pb25JbnRlcm5hdGlvbmFsZVwiLFxuICAgICAgICB0eXA6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJsaXN0ZVBheXNcIiwganM6IFwibGlzdGVQYXlzXCIsIHR5cDogdSh1bmRlZmluZWQsIGEoXCJcIikpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiaW5mb3JtYXRpb25zQ29tcGxlbWVudGFpcmVzXCIsXG4gICAgICAgIGpzOiBcImluZm9ybWF0aW9uc0NvbXBsZW1lbnRhaXJlc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgTGlldTogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiY29kZVwiLCBqczogXCJjb2RlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwibGliZWxsZUNvdXJ0XCIsIGpzOiBcImxpYmVsbGVDb3VydFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcImxpYmVsbGVMb25nXCIsIGpzOiBcImxpYmVsbGVMb25nXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwibGlldVJlZlwiLCBqczogXCJsaWV1UmVmXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgUGFydGljaXBhbnRzOiBvKFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJwYXJ0aWNpcGFudHNJbnRlcm5lc1wiLFxuICAgICAgICBqczogXCJwYXJ0aWNpcGFudHNJbnRlcm5lc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKHIoXCJQYXJ0aWNpcGFudEludGVybmVcIikpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwicGVyc29ubmVzQXVkaXRpb25uZWVzXCIsXG4gICAgICAgIGpzOiBcInBlcnNvbm5lc0F1ZGl0aW9ubmVlc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKHIoXCJQZXJzb25uZUF1ZGl0aW9ubmVlXCIpKSksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFBhcnRpY2lwYW50SW50ZXJuZTogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiYWN0ZXVyUmVmXCIsIGpzOiBcImFjdGV1clJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJwcmVzZW5jZVwiLCBqczogXCJwcmVzZW5jZVwiLCB0eXA6IHIoXCJQcmVzZW5jZVwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFBlcnNvbm5lQXVkaXRpb25uZWU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInhzaVR5cGVcIiwganM6IFwieHNpVHlwZVwiLCB0eXA6IHIoXCJQZXJzb25uZUF1ZGl0aW9ubmVlWHNpVHlwZVwiKSB9LFxuICAgICAgeyBqc29uOiBcInVpZFwiLCBqczogXCJ1aWRcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiaWRlbnRcIiwganM6IFwiaWRlbnRcIiwgdHlwOiByKFwiSWRlbnRcIikgfSxcbiAgICAgIHsganNvbjogXCJkYXRlTmFpc1wiLCBqczogXCJkYXRlTmFpc1wiLCB0eXA6IHUodW5kZWZpbmVkLCBEYXRlKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIElkZW50OiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJjaXZcIiwganM6IFwiY2l2XCIsIHR5cDogcihcIkNpdlwiKSB9LFxuICAgICAgeyBqc29uOiBcInByZW5vbVwiLCBqczogXCJwcmVub21cIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwibm9tXCIsIGpzOiBcIm5vbVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJhbHBoYVwiLCBqczogXCJhbHBoYVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInRyaWdyYW1tZVwiLCBqczogXCJ0cmlncmFtbWVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBSZXVuaW9uWHNpVHlwZTogW1xuICAgIFwicmV1bmlvbkNvbW1pc3Npb25fdHlwZVwiLFxuICAgIFwicmV1bmlvbkluaXRQYXJsZW1lbnRhaXJlX3R5cGVcIixcbiAgICBcInNlYW5jZV90eXBlXCIsXG4gIF0sXG4gIFBvaW50T2RqWHNpVHlwZTogW1wicG9kalJldW5pb25fdHlwZVwiLCBcInBvZGpTZWFuY2VDb25mUHJlc190eXBlXCJdLFxuICBFdGF0Q3ljbGVEZVZpZTogW1wiQW5udWzDqVwiLCBcIkNvbmZpcm3DqVwiLCBcIkV2ZW50dWVsXCIsIFwiU3VwcHJpbcOpXCJdLFxuICBOYXR1cmVUcmF2YXV4T2RqOiBbXCJPREpQUlwiLCBcIk9ESlNOXCJdLFxuICBQcm9jZWR1cmU6IFtcbiAgICBcImRpc2N1c3Npb24gZ8OpbsOpcmFsZSBjb21tdW5lXCIsXG4gICAgXCJwcm9jw6lkdXJlIGQnZXhhbWVuIHNpbXBsaWZpw6llLUFydGljbGUgMTAzXCIsXG4gICAgXCJwcm9jw6lkdXJlIGQnZXhhbWVuIHNpbXBsaWZpw6llLUFydGljbGUgMTA2XCIsXG4gICAgXCJwcm9jw6lkdXJlIGRlIGzDqWdpc2xhdGlvbiBlbiBjb21taXNzaW9uLUFydGljbGUgMTA3LTFcIixcbiAgXSxcbiAgVHlwZVBvaW50T2RqOiBbXG4gICAgXCJBbWVuZGVtZW50cyAoQXJ0LiA4OClcIixcbiAgICBcIkFtZW5kZW1lbnRzIChBcnQuIDkxKVwiLFxuICAgIFwiQXVkaXRpb25cIixcbiAgICBcIkF1ZGl0aW9uIG1pbmlzdHJlXCIsXG4gICAgXCJBdWRpdGlvbiBtaW5pc3RyZSBvdXZlcnRlIMOgIGxhIHByZXNzZVwiLFxuICAgIFwiQXVkaXRpb24gb3V2ZXJ0ZSDDoCBsYSBwcmVzc2VcIixcbiAgICBcIkNvbW11bmljYXRpb25cIixcbiAgICBcIkNvbnN0aXR1dGlvbiBkZSBtaXNzaW9uIGQnaW5mb3JtYXRpb25cIixcbiAgICBcIkRpc2N1c3Npb25cIixcbiAgICBcIkTDqWJhdCBkJ2luaXRpYXRpdmUgcGFybGVtZW50YWlyZVwiLFxuICAgIFwiRMOpY2xhcmF0aW9uIGR1IEdvdXZlcm5lbWVudCBzdWl2aWUgZCd1biBkw6liYXRcIixcbiAgICBcIkVjaGFuZ2VzIGRlIHZ1ZXNcIixcbiAgICBcIkV4YW1lblwiLFxuICAgIFwiRXhwbGljYXRpb25zIGRlIHZvdGUgZGVzIGdyb3VwZXMgZXQgdm90ZSBwYXIgc2NydXRpbiBwdWJsaWNcIixcbiAgICBcIkV4cGxpY2F0aW9ucyBkZSB2b3RlIGV0IHZvdGUgcGFyIHNjcnV0aW4gcHVibGljXCIsXG4gICAgXCJGaXhhdGlvbiBkZSBsJ29yZHJlIGR1IGpvdXJcIixcbiAgICBcIk5vbWluYXRpb24gYnVyZWF1XCIsXG4gICAgXCJOb21pbmF0aW9uIGNhbmRpZGF0cyBvcmdhbmlzbWUgZXh0cmFwYXJsZW1lbnRhaXJlXCIsXG4gICAgXCJOb21pbmF0aW9uIGQndW4gbWVtYnJlIGQndW5lIG1pc3Npb24gZCdpbmZvcm1hdGlvblwiLFxuICAgIFwiTm9taW5hdGlvbiByYXBwb3J0ZXVyXCIsXG4gICAgXCJOb21pbmF0aW9uIHJhcHBvcnRldXIgZCdhcHBsaWNhdGlvblwiLFxuICAgIFwiTm9taW5hdGlvbiByYXBwb3J0ZXVyIGQnaW5mb3JtYXRpb25cIixcbiAgICBcIk5vbWluYXRpb24gcmFwcG9ydGV1ciBwb3VyIGF2aXNcIixcbiAgICBcIk91dmVydHVyZSBldCBjbMO0dHVyZSBkZSBzZXNzaW9uXCIsXG4gICAgXCJRdWVzdGlvbnMgYXUgR291dmVybmVtZW50XCIsXG4gICAgXCJRdWVzdGlvbnMgb3JhbGVzIHNhbnMgZMOpYmF0XCIsXG4gICAgXCJSYXBwb3J0XCIsXG4gICAgXCJSYXBwb3J0IGQnaW5mb3JtYXRpb25cIixcbiAgICBcIlJhcHBvcnQgcG91ciBhdmlzXCIsXG4gICAgXCJTdWl0ZSBkZSBsYSBkaXNjdXNzaW9uXCIsXG4gICAgXCJUYWJsZSByb25kZVwiLFxuICAgIFwiVm90ZSBwYXIgc2NydXRpbiBwdWJsaWNcIixcbiAgICBcIlZvdGUgc29sZW5uZWxcIixcbiAgXSxcbiAgRm9ybWF0UmV1bmlvbjogW1xuICAgIFwiQXVkaXRpb25FeHRlcm5lXCIsXG4gICAgXCJBdWRpdGlvblBhclByZXNpZGVudENvbW1pc3Npb25cIixcbiAgICBcIkF1ZGl0aW9uUGFyUmFwcG9ydGV1clwiLFxuICAgIFwiT3JkaW5haXJlXCIsXG4gIF0sXG4gIFF1YW50aWVtZTogW1wiRGV1eGnDqG1lXCIsIFwiUHJlbWnDqHJlXCIsIFwiVHJvaXNpw6htZVwiLCBcIlVuaXF1ZVwiXSxcbiAgUHJlc2VuY2U6IFtcImFic2VudFwiLCBcImV4Y3Vzw6lcIiwgXCJwcsOpc2VudFwiXSxcbiAgQ2l2OiBbXCJNLlwiLCBcIk1tZVwiXSxcbiAgUGVyc29ubmVBdWRpdGlvbm5lZVhzaVR5cGU6IFtcIklkQWN0ZXVyX3R5cGVcIiwgXCJJZFBlcnNvbm5lRXh0ZXJuZV90eXBlXCJdLFxuICBUeXBlUmV1bmlvbjogW1wiREVQXCIsIFwiR0FcIiwgXCJHRVwiLCBcIkdFVklcIiwgXCJHUFwiLCBcIkjDiSBBdXLDqWxpZW5cIl0sXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0lBZ0NZQSxjOzs7V0FBQUEsYztFQUFBQSxjO0VBQUFBLGM7RUFBQUEsYztHQUFBQSxjLDhCQUFBQSxjOztJQTBCQUMsZTs7O1dBQUFBLGU7RUFBQUEsZTtFQUFBQSxlO0dBQUFBLGUsK0JBQUFBLGU7O0lBZUFDLGM7OztXQUFBQSxjO0VBQUFBLGM7RUFBQUEsYztFQUFBQSxjO0VBQUFBLGM7R0FBQUEsYyw4QkFBQUEsYzs7SUFPQUMsZ0I7OztXQUFBQSxnQjtFQUFBQSxnQjtFQUFBQSxnQjtHQUFBQSxnQixnQ0FBQUEsZ0I7O0lBS0FDLFM7OztXQUFBQSxTO0VBQUFBLFM7RUFBQUEsUztFQUFBQSxTO0VBQUFBLFM7R0FBQUEsUyx5QkFBQUEsUzs7SUFPQUMsWTs7O1dBQUFBLFk7RUFBQUEsWTtFQUFBQSxZO0VBQUFBLFk7RUFBQUEsWTtFQUFBQSxZO0VBQUFBLFk7RUFBQUEsWTtFQUFBQSxZO0VBQUFBLFk7RUFBQUEsWTtFQUFBQSxZO0VBQUFB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
628
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZXVuaW9uWHNpVHlwZSIsIlBvaW50T2RqWHNpVHlwZSIsIkV0YXRDeWNsZURlVmllIiwiTmF0dXJlVHJhdmF1eE9kaiIsIlByb2NlZHVyZSIsIlR5cGVQb2ludE9kaiIsIkZvcm1hdFJldW5pb24iLCJRdWFudGllbWUiLCJQcmVzZW5jZSIsIkNpdiIsIlBlcnNvbm5lQXVkaXRpb25uZWVYc2lUeXBlIiwiVHlwZVJldW5pb24iLCJDb252ZXJ0IiwianNvbiIsImNhc3QiLCJKU09OIiwicGFyc2UiLCJyIiwidmFsdWUiLCJzdHJpbmdpZnkiLCJ1bmNhc3QiLCJpbnZhbGlkVmFsdWUiLCJ0eXAiLCJ2YWwiLCJrZXkiLCJFcnJvciIsImpzb25Ub0pTUHJvcHMiLCJqc29uVG9KUyIsInVuZGVmaW5lZCIsIm1hcCIsInByb3BzIiwiZm9yRWFjaCIsInAiLCJqcyIsImpzVG9KU09OUHJvcHMiLCJqc1RvSlNPTiIsInRyYW5zZm9ybSIsImdldFByb3BzIiwidHJhbnNmb3JtUHJpbWl0aXZlIiwidHJhbnNmb3JtVW5pb24iLCJ0eXBzIiwibCIsImxlbmd0aCIsImkiLCJfIiwidHJhbnNmb3JtRW51bSIsImNhc2VzIiwiaW5kZXhPZiIsInRyYW5zZm9ybUFycmF5IiwiQXJyYXkiLCJpc0FycmF5IiwiZWwiLCJ0cmFuc2Zvcm1EYXRlIiwiZCIsIkRhdGUiLCJpc05hTiIsInZhbHVlT2YiLCJ0cmFuc2Zvcm1PYmplY3QiLCJhZGRpdGlvbmFsIiwicmVzdWx0IiwiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsInByb3AiLCJ2IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwicmVmIiwidHlwZU1hcCIsInVuaW9uTWVtYmVycyIsImFycmF5SXRlbXMiLCJhIiwidSIsIm8iLCJuYW1lIiwiQWdlbmRhcyIsIlJldW5pb24iLCJPZGoiLCJQb2ludE9kaiIsIkN5Y2xlRGVWaWUiLCJDaHJvbm8iLCJEZW1hbmRldXJzIiwiRGVtYW5kZXVyQWN0ZXVyIiwiRGVtYW5kZXVyT3JnYW5lIiwiSWRlbnRpZmlhbnRzIiwiSW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlIiwiTGlldSIsIlBhcnRpY2lwYW50cyIsIlBhcnRpY2lwYW50SW50ZXJuZSIsIlBlcnNvbm5lQXVkaXRpb25uZWUiLCJJZGVudCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9hZ2VuZGFzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRvIHBhcnNlIHRoaXMgZGF0YTpcbi8vXG4vLyAgIGltcG9ydCB7IENvbnZlcnQsIFJldW5pb24sIEFnZW5kYXMgfSBmcm9tIFwiLi9maWxlXCI7XG4vL1xuLy8gICBjb25zdCByZXVuaW9uID0gQ29udmVydC50b1JldW5pb24oanNvbik7XG4vLyAgIGNvbnN0IGFnZW5kYXMgPSBDb252ZXJ0LnRvQWdlbmRhcyhqc29uKTtcbi8vXG4vLyBUaGVzZSBmdW5jdGlvbnMgd2lsbCB0aHJvdyBhbiBlcnJvciBpZiB0aGUgSlNPTiBkb2Vzbid0XG4vLyBtYXRjaCB0aGUgZXhwZWN0ZWQgaW50ZXJmYWNlLCBldmVuIGlmIHRoZSBKU09OIGlzIHZhbGlkLlxuXG5pbXBvcnQgeyBBY3RldXIsIE9yZ2FuZSB9IGZyb20gXCIuL2FjdGV1cnNfZXRfb3JnYW5lc1wiXG5cbmV4cG9ydCBpbnRlcmZhY2UgQWdlbmRhcyB7XG4gIHJldW5pb25zOiBSZXVuaW9uW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXVuaW9uIHtcbiAgc2NoZW1hVmVyc2lvbj86IHN0cmluZ1xuICB4c2lUeXBlPzogUmV1bmlvblhzaVR5cGVcbiAgdWlkOiBzdHJpbmdcbiAgdGltZXN0YW1wRGVidXQ6IERhdGVcbiAgdGltZXN0YW1wRmluPzogRGF0ZVxuICBsaWV1PzogTGlldVxuICBjeWNsZURlVmllOiBDeWNsZURlVmllXG4gIGRlbWFuZGV1cnM/OiBEZW1hbmRldXJzXG4gIG9yZ2FuZVJldW5pUmVmPzogc3RyaW5nXG4gIG9yZ2FuZVJldW5pPzogT3JnYW5lIC8vIEFkZGVkIGJ5IFRyaWNvdGV1c2VzXG4gIHR5cGVSZXVuaW9uPzogVHlwZVJldW5pb25cbiAgcGFydGljaXBhbnRzPzogUGFydGljaXBhbnRzXG4gIHNlc3Npb25SZWY/OiBzdHJpbmdcbiAgb3V2ZXJ0dXJlUHJlc3NlPzogYm9vbGVhblxuICBvZGo/OiBPZGpcbiAgY29tcHRlUmVuZHVSZWY/OiBzdHJpbmdcbiAgaWRlbnRpZmlhbnRzPzogSWRlbnRpZmlhbnRzXG4gIGZvcm1hdFJldW5pb24/OiBGb3JtYXRSZXVuaW9uXG4gIGluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZT86IEluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZVxuICBjYXB0YXRpb25WaWRlbz86IGJvb2xlYW5cbiAgdmlzaW9Db25mZXJlbmNlPzogc3RyaW5nXG59XG5cbmV4cG9ydCBlbnVtIFJldW5pb25Yc2lUeXBlIHtcbiAgUmV1bmlvbkNvbW1pc3Npb25UeXBlID0gXCJyZXVuaW9uQ29tbWlzc2lvbl90eXBlXCIsXG4gIFJldW5pb25Jbml0UGFybGVtZW50YWlyZVR5cGUgPSBcInJldW5pb25Jbml0UGFybGVtZW50YWlyZV90eXBlXCIsXG4gIFNlYW5jZVR5cGUgPSBcInNlYW5jZV90eXBlXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2RqIHtcbiAgY29udm9jYXRpb25PZGo/OiBzdHJpbmdbXVxuICByZXN1bWVPZGo/OiBzdHJpbmdbXVxuICBwb2ludHNPZGo/OiBQb2ludE9kaltdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9pbnRPZGoge1xuICB4c2lUeXBlOiBQb2ludE9kalhzaVR5cGVcbiAgdWlkOiBzdHJpbmdcbiAgY3ljbGVEZVZpZTogQ3ljbGVEZVZpZVxuICBvYmpldDogc3RyaW5nXG4gIHByb2NlZHVyZT86IFByb2NlZHVyZVxuICBkb3NzaWVyc0xlZ2lzbGF0aWZzUmVmcz86IHN0cmluZ1tdXG4gIHR5cGVQb2ludE9kajogVHlwZVBvaW50T2RqXG4gIGNvbWl0ZVNlY3JldDogYm9vbGVhblxuICBuYXR1cmVUcmF2YXV4T2RqPzogTmF0dXJlVHJhdmF1eE9kalxuICBkYXRlQ29uZlByZXM/OiBEYXRlXG4gIGRhdGVMZXR0cmVNaW5pc3RyZT86IERhdGVcbn1cblxuZXhwb3J0IGVudW0gUG9pbnRPZGpYc2lUeXBlIHtcbiAgUG9kalJldW5pb25UeXBlID0gXCJwb2RqUmV1bmlvbl90eXBlXCIsXG4gIFBvZGpTZWFuY2VDb25mUHJlc1R5cGUgPSBcInBvZGpTZWFuY2VDb25mUHJlc190eXBlXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3ljbGVEZVZpZSB7XG4gIGV0YXQ6IEV0YXRDeWNsZURlVmllXG4gIGNocm9ubzogQ2hyb25vXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hyb25vIHtcbiAgY3JlYXRpb246IERhdGVcbiAgY2xvdHVyZT86IERhdGVcbn1cblxuZXhwb3J0IGVudW0gRXRhdEN5Y2xlRGVWaWUge1xuICBBbm51bMOpID0gXCJBbm51bMOpXCIsXG4gIENvbmZpcm3DqSA9IFwiQ29uZmlybcOpXCIsXG4gIEV2ZW50dWVsID0gXCJFdmVudHVlbFwiLFxuICBTdXBwcmltw6kgPSBcIlN1cHByaW3DqVwiLFxufVxuXG5leHBvcnQgZW51bSBOYXR1cmVUcmF2YXV4T2RqIHtcbiAgT2RqcHIgPSBcIk9ESlBSXCIsXG4gIE9kanNuID0gXCJPREpTTlwiLFxufVxuXG5leHBvcnQgZW51bSBQcm9jZWR1cmUge1xuICBEaXNjdXNzaW9uR8OpbsOpcmFsZUNvbW11bmUgPSBcImRpc2N1c3Npb24gZ8OpbsOpcmFsZSBjb21tdW5lXCIsXG4gIFByb2PDqWR1cmVERXhhbWVuU2ltcGxpZmnDqWVBcnRpY2xlMTAzID0gXCJwcm9jw6lkdXJlIGQnZXhhbWVuIHNpbXBsaWZpw6llLUFydGljbGUgMTAzXCIsXG4gIFByb2PDqWR1cmVERXhhbWVuU2ltcGxpZmnDqWVBcnRpY2xlMTA2ID0gXCJwcm9jw6lkdXJlIGQnZXhhbWVuIHNpbXBsaWZpw6llLUFydGljbGUgMTA2XCIsXG4gIFByb2PDqWR1cmVEZUzDqWdpc2xhdGlvbkVuQ29tbWlzc2lvbkFydGljbGUxMDcxID0gXCJwcm9jw6lkdXJlIGRlIGzDqWdpc2xhdGlvbiBlbiBjb21taXNzaW9uLUFydGljbGUgMTA3LTFcIixcbn1cblxuZXhwb3J0IGVudW0gVHlwZVBvaW50T2RqIHtcbiAgQW1lbmRlbWVudHNBcnQ4OCA9IFwiQW1lbmRlbWVudHMgKEFydC4gODgpXCIsXG4gIEFtZW5kZW1lbnRzQXJ0OTEgPSBcIkFtZW5kZW1lbnRzIChBcnQuIDkxKVwiLFxuICBBdWRpdGlvbiA9IFwiQXVkaXRpb25cIixcbiAgQXVkaXRpb25NaW5pc3RyZSA9IFwiQXVkaXRpb24gbWluaXN0cmVcIixcbiAgQXVkaXRpb25NaW5pc3RyZU91dmVydGXDgExhUHJlc3NlID0gXCJBdWRpdGlvbiBtaW5pc3RyZSBvdXZlcnRlIMOgIGxhIHByZXNzZVwiLFxuICBBdWRpdGlvbk91dmVydGXDgExhUHJlc3NlID0gXCJBdWRpdGlvbiBvdXZlcnRlIMOgIGxhIHByZXNzZVwiLFxuICBDb21tdW5pY2F0aW9uID0gXCJDb21tdW5pY2F0aW9uXCIsXG4gIENvbnN0aXR1dGlvbkRlTWlzc2lvbkRJbmZvcm1hdGlvbiA9IFwiQ29uc3RpdHV0aW9uIGRlIG1pc3Npb24gZCdpbmZvcm1hdGlvblwiLFxuICBEaXNjdXNzaW9uID0gXCJEaXNjdXNzaW9uXCIsXG4gIETDqWJhdERJbml0aWF0aXZlUGFybGVtZW50YWlyZSA9IFwiRMOpYmF0IGQnaW5pdGlhdGl2ZSBwYXJsZW1lbnRhaXJlXCIsXG4gIETDqWNsYXJhdGlvbkR1R291dmVybmVtZW50U3VpdmllRFVuRMOpYmF0ID0gXCJEw6ljbGFyYXRpb24gZHUgR291dmVybmVtZW50IHN1aXZpZSBkJ3VuIGTDqWJhdFwiLFxuICBFY2hhbmdlc0RlVnVlcyA9IFwiRWNoYW5nZXMgZGUgdnVlc1wiLFxuICBFeGFtZW4gPSBcIkV4YW1lblwiLFxuICBFeHBsaWNhdGlvbnNEZVZvdGVEZXNHcm91cGVzRXRWb3RlUGFyU2NydXRpblB1YmxpYyA9IFwiRXhwbGljYXRpb25zIGRlIHZvdGUgZGVzIGdyb3VwZXMgZXQgdm90ZSBwYXIgc2NydXRpbiBwdWJsaWNcIixcbiAgRXhwbGljYXRpb25zRGVWb3RlRXRWb3RlUGFyU2NydXRpblB1YmxpYyA9IFwiRXhwbGljYXRpb25zIGRlIHZvdGUgZXQgdm90ZSBwYXIgc2NydXRpbiBwdWJsaWNcIixcbiAgRml4YXRpb25EZUxPcmRyZUR1Sm91ciA9IFwiRml4YXRpb24gZGUgbCdvcmRyZSBkdSBqb3VyXCIsXG4gIE5vbWluYXRpb25CdXJlYXUgPSBcIk5vbWluYXRpb24gYnVyZWF1XCIsXG4gIE5vbWluYXRpb25DYW5kaWRhdHNPcmdhbmlzbWVFeHRyYXBhcmxlbWVudGFpcmUgPSBcIk5vbWluYXRpb24gY2FuZGlkYXRzIG9yZ2FuaXNtZSBleHRyYXBhcmxlbWVudGFpcmVcIixcbiAgTm9taW5hdGlvbkRVbk1lbWJyZURVbmVNaXNzaW9uREluZm9ybWF0aW9uID0gXCJOb21pbmF0aW9uIGQndW4gbWVtYnJlIGQndW5lIG1pc3Npb24gZCdpbmZvcm1hdGlvblwiLFxuICBOb21pbmF0aW9uUmFwcG9ydGV1ciA9IFwiTm9taW5hdGlvbiByYXBwb3J0ZXVyXCIsXG4gIE5vbWluYXRpb25SYXBwb3J0ZXVyREFwcGxpY2F0aW9uID0gXCJOb21pbmF0aW9uIHJhcHBvcnRldXIgZCdhcHBsaWNhdGlvblwiLFxuICBOb21pbmF0aW9uUmFwcG9ydGV1ckRJbmZvcm1hdGlvbiA9IFwiTm9taW5hdGlvbiByYXBwb3J0ZXVyIGQnaW5mb3JtYXRpb25cIixcbiAgTm9taW5hdGlvblJhcHBvcnRldXJQb3VyQXZpcyA9IFwiTm9taW5hdGlvbiByYXBwb3J0ZXVyIHBvdXIgYXZpc1wiLFxuICBPdXZlcnR1cmVFdENsw7R0dXJlRGVTZXNzaW9uID0gXCJPdXZlcnR1cmUgZXQgY2zDtHR1cmUgZGUgc2Vzc2lvblwiLFxuICBRdWVzdGlvbnNBdUdvdXZlcm5lbWVudCA9IFwiUXVlc3Rpb25zIGF1IEdvdXZlcm5lbWVudFwiLFxuICBRdWVzdGlvbnNPcmFsZXNTYW5zRMOpYmF0ID0gXCJRdWVzdGlvbnMgb3JhbGVzIHNhbnMgZMOpYmF0XCIsXG4gIFJhcHBvcnQgPSBcIlJhcHBvcnRcIixcbiAgUmFwcG9ydERJbmZvcm1hdGlvbiA9IFwiUmFwcG9ydCBkJ2luZm9ybWF0aW9uXCIsXG4gIFJhcHBvcnRQb3VyQXZpcyA9IFwiUmFwcG9ydCBwb3VyIGF2aXNcIixcbiAgU3VpdGVEZUxhRGlzY3Vzc2lvbiA9IFwiU3VpdGUgZGUgbGEgZGlzY3Vzc2lvblwiLFxuICBUYWJsZVJvbmRlID0gXCJUYWJsZSByb25kZVwiLFxuICBWb3RlUGFyU2NydXRpblB1YmxpYyA9IFwiVm90ZSBwYXIgc2NydXRpbiBwdWJsaWNcIixcbiAgVm90ZVNvbGVubmVsID0gXCJWb3RlIHNvbGVubmVsXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVtYW5kZXVycyB7XG4gIGFjdGV1cnM/OiBEZW1hbmRldXJBY3RldXJbXVxuICBvcmdhbmU/OiBEZW1hbmRldXJPcmdhbmVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZW1hbmRldXJBY3RldXIge1xuICBub20/OiBzdHJpbmdcbiAgYWN0ZXVyUmVmOiBzdHJpbmdcbiAgYWN0ZXVyPzogQWN0ZXVyIC8vIEFkZGVkIGJ5IFRyaWNvdGV1c2VzXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVtYW5kZXVyT3JnYW5lIHtcbiAgbm9tOiBzdHJpbmdcbiAgb3JnYW5lUmVmOiBzdHJpbmdcbiAgb3JnYW5lPzogT3JnYW5lIC8vIEFkZGVkIGJ5IFRyaWNvdGV1c2VzXG59XG5cbmV4cG9ydCBlbnVtIEZvcm1hdFJldW5pb24ge1xuICBBdWRpdGlvbkV4dGVybmUgPSBcIkF1ZGl0aW9uRXh0ZXJuZVwiLFxuICBBdWRpdGlvblBhclByZXNpZGVudENvbW1pc3Npb24gPSBcIkF1ZGl0aW9uUGFyUHJlc2lkZW50Q29tbWlzc2lvblwiLFxuICBBdWRpdGlvblBhclJhcHBvcnRldXIgPSBcIkF1ZGl0aW9uUGFyUmFwcG9ydGV1clwiLFxuICBPcmRpbmFpcmUgPSBcIk9yZGluYWlyZVwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElkZW50aWZpYW50cyB7XG4gIG51bVNlYW5jZUpvPzogc3RyaW5nXG4gIGlkSm8/OiBzdHJpbmdcbiAgcXVhbnRpZW1lOiBRdWFudGllbWVcbiAgZGF0ZVNlYW5jZTogc3RyaW5nXG59XG5cbmV4cG9ydCBlbnVtIFF1YW50aWVtZSB7XG4gIERldXhpw6htZSA9IFwiRGV1eGnDqG1lXCIsXG4gIFByZW1pw6hyZSA9IFwiUHJlbWnDqHJlXCIsXG4gIFRyb2lzacOobWUgPSBcIlRyb2lzacOobWVcIixcbiAgVW5pcXVlID0gXCJVbmlxdWVcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmZvc1JldW5pb25zSW50ZXJuYXRpb25hbGUge1xuICBlc3RSZXVuaW9uSW50ZXJuYXRpb25hbGU6IGJvb2xlYW5cbiAgbGlzdGVQYXlzPzogc3RyaW5nW11cbiAgaW5mb3JtYXRpb25zQ29tcGxlbWVudGFpcmVzPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlldSB7XG4gIGNvZGU/OiBzdHJpbmdcbiAgbGliZWxsZUNvdXJ0Pzogc3RyaW5nXG4gIGxpYmVsbGVMb25nPzogc3RyaW5nXG4gIGxpZXVSZWY/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXJ0aWNpcGFudHMge1xuICBwYXJ0aWNpcGFudHNJbnRlcm5lcz86IFBhcnRpY2lwYW50SW50ZXJuZVtdXG4gIHBlcnNvbm5lc0F1ZGl0aW9ubmVlcz86IFBlcnNvbm5lQXVkaXRpb25uZWVbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRpY2lwYW50SW50ZXJuZSB7XG4gIGFjdGV1clJlZjogc3RyaW5nXG4gIGFjdGV1cj86IEFjdGV1ciAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xuICBwcmVzZW5jZTogUHJlc2VuY2Vcbn1cblxuZXhwb3J0IGVudW0gUHJlc2VuY2Uge1xuICBBYnNlbnQgPSBcImFic2VudFwiLFxuICBFeGN1c8OpID0gXCJleGN1c8OpXCIsXG4gIFByw6lzZW50ID0gXCJwcsOpc2VudFwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBlcnNvbm5lQXVkaXRpb25uZWUge1xuICB4c2lUeXBlOiBQZXJzb25uZUF1ZGl0aW9ubmVlWHNpVHlwZVxuICB1aWQ6IHN0cmluZ1xuICBpZGVudDogSWRlbnRcbiAgZGF0ZU5haXM/OiBEYXRlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWRlbnQge1xuICBjaXY6IENpdlxuICBwcmVub206IHN0cmluZ1xuICBub206IHN0cmluZ1xuICBhbHBoYT86IHN0cmluZ1xuICB0cmlncmFtbWU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGVudW0gQ2l2IHtcbiAgTSA9IFwiTS5cIixcbiAgTW1lID0gXCJNbWVcIixcbn1cblxuZXhwb3J0IGVudW0gUGVyc29ubmVBdWRpdGlvbm5lZVhzaVR5cGUge1xuICBJZEFjdGV1clR5cGUgPSBcIklkQWN0ZXVyX3R5cGVcIixcbiAgSWRQZXJzb25uZUV4dGVybmVUeXBlID0gXCJJZFBlcnNvbm5lRXh0ZXJuZV90eXBlXCIsXG59XG5cbmV4cG9ydCBlbnVtIFR5cGVSZXVuaW9uIHtcbiAgRGVwID0gXCJERVBcIiwgLy8gRMOpcHV0w6lcbiAgR2EgPSBcIkdBXCIsIC8vIEdyb3VwZSBkJ2FtaXRpw6lcbiAgR2UgPSBcIkdFXCIsIC8vIEdyb3VwZSBkJ8OpdHVkZVxuICBHZXZpID0gXCJHRVZJXCIsIC8vIEdyb3VwZSBkJ8OpdHVkZSDDoCB2b2NhdGlvbiBpbnRlcm5hdGlvbmFsZVxuICBHcCA9IFwiR1BcIiwgLy8gR3JvdXBlIHBhcmxlbWVudGFpcmVcbiAgSMOpQXVyw6lsaWVuID0gXCJIw4kgQXVyw6lsaWVuXCIsXG59XG5cbi8vIENvbnZlcnRzIEpTT04gc3RyaW5ncyB0by9mcm9tIHlvdXIgdHlwZXNcbi8vIGFuZCBhc3NlcnRzIHRoZSByZXN1bHRzIG9mIEpTT04ucGFyc2UgYXQgcnVudGltZVxuZXhwb3J0IGNsYXNzIENvbnZlcnQge1xuICBwdWJsaWMgc3RhdGljIHRvQWdlbmRhcyhqc29uOiBzdHJpbmcpOiBBZ2VuZGFzIHtcbiAgICByZXR1cm4gY2FzdChKU09OLnBhcnNlKGpzb24pLCByKFwiQWdlbmRhc1wiKSlcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgYWdlbmRhc1RvSnNvbih2YWx1ZTogQWdlbmRhcyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHVuY2FzdCh2YWx1ZSwgcihcIkFnZW5kYXNcIikpLCBudWxsLCAyKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyB0b1JldW5pb24oanNvbjogc3RyaW5nKTogUmV1bmlvbiB7XG4gICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIlJldW5pb25cIikpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHJldW5pb25Ub0pzb24odmFsdWU6IFJldW5pb24pOiBzdHJpbmcge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmNhc3QodmFsdWUsIHIoXCJSZXVuaW9uXCIpKSwgbnVsbCwgMilcbiAgfVxufVxuXG5mdW5jdGlvbiBpbnZhbGlkVmFsdWUodHlwOiBhbnksIHZhbDogYW55LCBrZXk6IGFueSA9IFwiXCIpOiBuZXZlciB7XG4gIGlmIChrZXkpIHtcbiAgICB0aHJvdyBFcnJvcihcbiAgICAgIGBJbnZhbGlkIHZhbHVlIGZvciBrZXkgXCIke2tleX1cIi4gRXhwZWN0ZWQgdHlwZSAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICB0eXAsXG4gICAgICApfSBidXQgZ290ICR7SlNPTi5zdHJpbmdpZnkodmFsKX1gLFxuICAgIClcbiAgfVxuICB0aHJvdyBFcnJvcihcbiAgICBgSW52YWxpZCB2YWx1ZSAke0pTT04uc3RyaW5naWZ5KHZhbCl9IGZvciB0eXBlICR7SlNPTi5zdHJpbmdpZnkodHlwKX1gLFxuICApXG59XG5cbmZ1bmN0aW9uIGpzb25Ub0pTUHJvcHModHlwOiBhbnkpOiBhbnkge1xuICBpZiAodHlwLmpzb25Ub0pTID09PSB1bmRlZmluZWQpIHtcbiAgICB2YXIgbWFwOiBhbnkgPSB7fVxuICAgIHR5cC5wcm9wcy5mb3JFYWNoKChwOiBhbnkpID0+IChtYXBbcC5qc29uXSA9IHsga2V5OiBwLmpzLCB0eXA6IHAudHlwIH0pKVxuICAgIHR5cC5qc29uVG9KUyA9IG1hcFxuICB9XG4gIHJldHVybiB0eXAuanNvblRvSlNcbn1cblxuZnVuY3Rpb24ganNUb0pTT05Qcm9wcyh0eXA6IGFueSk6IGFueSB7XG4gIGlmICh0eXAuanNUb0pTT04gPT09IHVuZGVmaW5lZCkge1xuICAgIHZhciBtYXA6IGFueSA9IHt9XG4gICAgdHlwLnByb3BzLmZvckVhY2goKHA6IGFueSkgPT4gKG1hcFtwLmpzXSA9IHsga2V5OiBwLmpzb24sIHR5cDogcC50eXAgfSkpXG4gICAgdHlwLmpzVG9KU09OID0gbWFwXG4gIH1cbiAgcmV0dXJuIHR5cC5qc1RvSlNPTlxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm0odmFsOiBhbnksIHR5cDogYW55LCBnZXRQcm9wczogYW55LCBrZXk6IGFueSA9IFwiXCIpOiBhbnkge1xuICBmdW5jdGlvbiB0cmFuc2Zvcm1QcmltaXRpdmUodHlwOiBzdHJpbmcsIHZhbDogYW55KTogYW55IHtcbiAgICBpZiAodHlwZW9mIHR5cCA9PT0gdHlwZW9mIHZhbCkgcmV0dXJuIHZhbFxuICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwsIGtleSlcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybVVuaW9uKHR5cHM6IGFueVtdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgLy8gdmFsIG11c3QgdmFsaWRhdGUgYWdhaW5zdCBvbmUgdHlwIGluIHR5cHNcbiAgICBjb25zdCBsID0gdHlwcy5sZW5ndGhcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGw7IGkrKykge1xuICAgICAgY29uc3QgdHlwID0gdHlwc1tpXVxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwgZ2V0UHJvcHMpXG4gICAgICB9IGNhdGNoIChfKSB7fVxuICAgIH1cbiAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cHMsIHZhbClcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybUVudW0oY2FzZXM6IHN0cmluZ1tdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgaWYgKGNhc2VzLmluZGV4T2YodmFsKSAhPT0gLTEpIHJldHVybiB2YWxcbiAgICByZXR1cm4gaW52YWxpZFZhbHVlKGNhc2VzLCB2YWwpXG4gIH1cblxuICBmdW5jdGlvbiB0cmFuc2Zvcm1BcnJheSh0eXA6IGFueSwgdmFsOiBhbnkpOiBhbnkge1xuICAgIC8vIHZhbCBtdXN0IGJlIGFuIGFycmF5IHdpdGggbm8gaW52YWxpZCBlbGVtZW50c1xuICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWwpKSByZXR1cm4gaW52YWxpZFZhbHVlKFwiYXJyYXlcIiwgdmFsKVxuICAgIHJldHVybiB2YWwubWFwKChlbCkgPT4gdHJhbnNmb3JtKGVsLCB0eXAsIGdldFByb3BzKSlcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybURhdGUodmFsOiBhbnkpOiBhbnkge1xuICAgIGlmICh2YWwgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuICAgIGNvbnN0IGQgPSBuZXcgRGF0ZSh2YWwpXG4gICAgaWYgKGlzTmFOKGQudmFsdWVPZigpKSkge1xuICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShcIkRhdGVcIiwgdmFsKVxuICAgIH1cbiAgICByZXR1cm4gZFxuICB9XG5cbiAgZnVuY3Rpb24gdHJhbnNmb3JtT2JqZWN0KFxuICAgIHByb3BzOiB7IFtrOiBzdHJpbmddOiBhbnkgfSxcbiAgICBhZGRpdGlvbmFsOiBhbnksXG4gICAgdmFsOiBhbnksXG4gICk6IGFueSB7XG4gICAgaWYgKHZhbCA9PT0gbnVsbCB8fCB0eXBlb2YgdmFsICE9PSBcIm9iamVjdFwiIHx8IEFycmF5LmlzQXJyYXkodmFsKSkge1xuICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShcIm9iamVjdFwiLCB2YWwpXG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdDogYW55ID0ge31cbiAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhwcm9wcykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBjb25zdCBwcm9wID0gcHJvcHNba2V5XVxuICAgICAgY29uc3QgdiA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh2YWwsIGtleSlcbiAgICAgICAgPyB2YWxba2V5XVxuICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgcmVzdWx0W3Byb3Aua2V5XSA9IHRyYW5zZm9ybSh2LCBwcm9wLnR5cCwgZ2V0UHJvcHMsIHByb3Aua2V5KVxuICAgIH0pXG4gICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModmFsKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHByb3BzLCBrZXkpKSB7XG4gICAgICAgIHJlc3VsdFtrZXldID0gdHJhbnNmb3JtKHZhbFtrZXldLCBhZGRpdGlvbmFsLCBnZXRQcm9wcywga2V5KVxuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgaWYgKHR5cCA9PT0gXCJhbnlcIikgcmV0dXJuIHZhbFxuICBpZiAodHlwID09PSBudWxsKSB7XG4gICAgaWYgKHZhbCA9PT0gbnVsbCkgcmV0dXJuIHZhbFxuICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpXG4gIH1cbiAgLy8gaWYgKHR5cCA9PT0gZmFsc2UpIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpXG4gIHdoaWxlICh0eXBlb2YgdHlwID09PSBcIm9iamVjdFwiICYmIHR5cC5yZWYgIT09IHVuZGVmaW5lZCkge1xuICAgIHR5cCA9IHR5cGVNYXBbdHlwLnJlZl1cbiAgfVxuICBpZiAoQXJyYXkuaXNBcnJheSh0eXApKSByZXR1cm4gdHJhbnNmb3JtRW51bSh0eXAsIHZhbClcbiAgaWYgKHR5cGVvZiB0eXAgPT09IFwib2JqZWN0XCIpIHtcbiAgICByZXR1cm4gdHlwLmhhc093blByb3BlcnR5KFwidW5pb25NZW1iZXJzXCIpXG4gICAgICA/IHRyYW5zZm9ybVVuaW9uKHR5cC51bmlvbk1lbWJlcnMsIHZhbClcbiAgICAgIDogdHlwLmhhc093blByb3BlcnR5KFwiYXJyYXlJdGVtc1wiKVxuICAgICAgPyB0cmFuc2Zvcm1BcnJheSh0eXAuYXJyYXlJdGVtcywgdmFsKVxuICAgICAgOiB0eXAuaGFzT3duUHJvcGVydHkoXCJwcm9wc1wiKVxuICAgICAgPyB0cmFuc2Zvcm1PYmplY3QoZ2V0UHJvcHModHlwKSwgdHlwLmFkZGl0aW9uYWwsIHZhbClcbiAgICAgIDogaW52YWxpZFZhbHVlKHR5cCwgdmFsKVxuICB9XG4gIC8vIE51bWJlcnMgY2FuIGJlIHBhcnNlZCBieSBEYXRlIGJ1dCBzaG91bGRuJ3QgYmUuXG4gIGlmICh0eXAgPT09IERhdGUgJiYgdHlwZW9mIHZhbCAhPT0gXCJudW1iZXJcIikgcmV0dXJuIHRyYW5zZm9ybURhdGUodmFsKVxuICByZXR1cm4gdHJhbnNmb3JtUHJpbWl0aXZlKHR5cCwgdmFsKVxufVxuXG5mdW5jdGlvbiBjYXN0PFQ+KHZhbDogYW55LCB0eXA6IGFueSk6IFQge1xuICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBqc29uVG9KU1Byb3BzKVxufVxuXG5mdW5jdGlvbiB1bmNhc3Q8VD4odmFsOiBULCB0eXA6IGFueSk6IGFueSB7XG4gIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGpzVG9KU09OUHJvcHMpXG59XG5cbmZ1bmN0aW9uIGEodHlwOiBhbnkpIHtcbiAgcmV0dXJuIHsgYXJyYXlJdGVtczogdHlwIH1cbn1cblxuZnVuY3Rpb24gdSguLi50eXBzOiBhbnlbXSkge1xuICByZXR1cm4geyB1bmlvbk1lbWJlcnM6IHR5cHMgfVxufVxuXG5mdW5jdGlvbiBvKHByb3BzOiBhbnlbXSwgYWRkaXRpb25hbDogYW55KSB7XG4gIHJldHVybiB7IHByb3BzLCBhZGRpdGlvbmFsIH1cbn1cblxuLy8gZnVuY3Rpb24gbShhZGRpdGlvbmFsOiBhbnkpIHtcbi8vICAgcmV0dXJuIHsgcHJvcHM6IFtdLCBhZGRpdGlvbmFsIH1cbi8vIH1cblxuZnVuY3Rpb24gcihuYW1lOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHsgcmVmOiBuYW1lIH1cbn1cblxuY29uc3QgdHlwZU1hcDogYW55ID0ge1xuICBBZ2VuZGFzOiBvKFxuICAgIFt7IGpzb246IFwicmV1bmlvbnNcIiwganM6IFwicmV1bmlvbnNcIiwgdHlwOiBhKHIoXCJSZXVuaW9uXCIpKSB9XSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgUmV1bmlvbjogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwic2NoZW1hVmVyc2lvblwiLCBqczogXCJzY2hlbWFWZXJzaW9uXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwieHNpVHlwZVwiLFxuICAgICAgICBqczogXCJ4c2lUeXBlXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJSZXVuaW9uWHNpVHlwZVwiKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcInVpZFwiLCBqczogXCJ1aWRcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwidGltZXN0YW1wRGVidXRcIiwganM6IFwidGltZXN0YW1wRGVidXRcIiwgdHlwOiBEYXRlIH0sXG4gICAgICB7IGpzb246IFwidGltZXN0YW1wRmluXCIsIGpzOiBcInRpbWVzdGFtcEZpblwiLCB0eXA6IHUodW5kZWZpbmVkLCBEYXRlKSB9LFxuICAgICAgeyBqc29uOiBcImxpZXVcIiwganM6IFwibGlldVwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiTGlldVwiKSkgfSxcbiAgICAgIHsganNvbjogXCJjeWNsZURlVmllXCIsIGpzOiBcImN5Y2xlRGVWaWVcIiwgdHlwOiByKFwiQ3ljbGVEZVZpZVwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImRlbWFuZGV1cnNcIixcbiAgICAgICAganM6IFwiZGVtYW5kZXVyc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiRGVtYW5kZXVyc1wiKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcIm9yZ2FuZVJldW5pUmVmXCIsIGpzOiBcIm9yZ2FuZVJldW5pUmVmXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwidHlwZVJldW5pb25cIixcbiAgICAgICAganM6IFwidHlwZVJldW5pb25cIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlR5cGVSZXVuaW9uXCIpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwicGFydGljaXBhbnRzXCIsXG4gICAgICAgIGpzOiBcInBhcnRpY2lwYW50c1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiUGFydGljaXBhbnRzXCIpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwic2Vzc2lvblJlZlwiLCBqczogXCJzZXNzaW9uUmVmXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwib3V2ZXJ0dXJlUHJlc3NlXCIsXG4gICAgICAgIGpzOiBcIm91dmVydHVyZVByZXNzZVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBmYWxzZSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcIm9kalwiLCBqczogXCJvZGpcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIk9kalwiKSkgfSxcbiAgICAgIHsganNvbjogXCJjb21wdGVSZW5kdVJlZlwiLCBqczogXCJjb21wdGVSZW5kdVJlZlwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImlkZW50aWZpYW50c1wiLFxuICAgICAgICBqczogXCJpZGVudGlmaWFudHNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIklkZW50aWZpYW50c1wiKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImZvcm1hdFJldW5pb25cIixcbiAgICAgICAganM6IFwiZm9ybWF0UmV1bmlvblwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiRm9ybWF0UmV1bmlvblwiKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZVwiLFxuICAgICAgICBqczogXCJpbmZvc1JldW5pb25zSW50ZXJuYXRpb25hbGVcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZVwiKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImNhcHRhdGlvblZpZGVvXCIsXG4gICAgICAgIGpzOiBcImNhcHRhdGlvblZpZGVvXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGZhbHNlKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwidmlzaW9Db25mZXJlbmNlXCIsIGpzOiBcInZpc2lvQ29uZmVyZW5jZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIE9kajogbyhcbiAgICBbXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiY29udm9jYXRpb25PZGpcIixcbiAgICAgICAganM6IFwiY29udm9jYXRpb25PZGpcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShcIlwiKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcInJlc3VtZU9kalwiLCBqczogXCJyZXN1bWVPZGpcIiwgdHlwOiB1KHVuZGVmaW5lZCwgYShcIlwiKSkgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJwb2ludHNPZGpcIixcbiAgICAgICAganM6IFwicG9pbnRzT2RqXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIlBvaW50T2RqXCIpKSksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFBvaW50T2RqOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJ4c2lUeXBlXCIsIGpzOiBcInhzaVR5cGVcIiwgdHlwOiByKFwiUG9pbnRPZGpYc2lUeXBlXCIpIH0sXG4gICAgICB7IGpzb246IFwidWlkXCIsIGpzOiBcInVpZFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJjeWNsZURlVmllXCIsIGpzOiBcImN5Y2xlRGVWaWVcIiwgdHlwOiByKFwiQ3ljbGVEZVZpZVwiKSB9LFxuICAgICAgeyBqc29uOiBcIm9iamV0XCIsIGpzOiBcIm9iamV0XCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInByb2NlZHVyZVwiLCBqczogXCJwcm9jZWR1cmVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlByb2NlZHVyZVwiKSkgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJkb3NzaWVyc0xlZ2lzbGF0aWZzUmVmc1wiLFxuICAgICAgICBqczogXCJkb3NzaWVyc0xlZ2lzbGF0aWZzUmVmc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKFwiXCIpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwidHlwZVBvaW50T2RqXCIsIGpzOiBcInR5cGVQb2ludE9kalwiLCB0eXA6IHIoXCJUeXBlUG9pbnRPZGpcIikgfSxcbiAgICAgIHsganNvbjogXCJjb21pdGVTZWNyZXRcIiwganM6IFwiY29taXRlU2VjcmV0XCIsIHR5cDogZmFsc2UgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJuYXR1cmVUcmF2YXV4T2RqXCIsXG4gICAgICAgIGpzOiBcIm5hdHVyZVRyYXZhdXhPZGpcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIk5hdHVyZVRyYXZhdXhPZGpcIikpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJkYXRlQ29uZlByZXNcIiwganM6IFwiZGF0ZUNvbmZQcmVzXCIsIHR5cDogdSh1bmRlZmluZWQsIERhdGUpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZGF0ZUxldHRyZU1pbmlzdHJlXCIsXG4gICAgICAgIGpzOiBcImRhdGVMZXR0cmVNaW5pc3RyZVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBEYXRlKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgQ3ljbGVEZVZpZTogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiZXRhdFwiLCBqczogXCJldGF0XCIsIHR5cDogcihcIkV0YXRDeWNsZURlVmllXCIpIH0sXG4gICAgICB7IGpzb246IFwiY2hyb25vXCIsIGpzOiBcImNocm9ub1wiLCB0eXA6IHIoXCJDaHJvbm9cIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBDaHJvbm86IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImNyZWF0aW9uXCIsIGpzOiBcImNyZWF0aW9uXCIsIHR5cDogRGF0ZSB9LFxuICAgICAgeyBqc29uOiBcImNsb3R1cmVcIiwganM6IFwiY2xvdHVyZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBEYXRlKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIERlbWFuZGV1cnM6IG8oXG4gICAgW1xuICAgICAge1xuICAgICAgICBqc29uOiBcImFjdGV1cnNcIixcbiAgICAgICAganM6IFwiYWN0ZXVyc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKHIoXCJEZW1hbmRldXJBY3RldXJcIikpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwib3JnYW5lXCIsIGpzOiBcIm9yZ2FuZVwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiRGVtYW5kZXVyT3JnYW5lXCIpKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIERlbWFuZGV1ckFjdGV1cjogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwibm9tXCIsIGpzOiBcIm5vbVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcImFjdGV1clJlZlwiLCBqczogXCJhY3RldXJSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgRGVtYW5kZXVyT3JnYW5lOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJub21cIiwganM6IFwibm9tXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcIm9yZ2FuZVJlZlwiLCBqczogXCJvcmdhbmVSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgSWRlbnRpZmlhbnRzOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJudW1TZWFuY2VKb1wiLCBqczogXCJudW1TZWFuY2VKb1wiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcImlkSm9cIiwganM6IFwiaWRKb1wiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInF1YW50aWVtZVwiLCBqczogXCJxdWFudGllbWVcIiwgdHlwOiByKFwiUXVhbnRpZW1lXCIpIH0sXG4gICAgICB7IGpzb246IFwiZGF0ZVNlYW5jZVwiLCBqczogXCJkYXRlU2VhbmNlXCIsIHR5cDogRGF0ZSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIEluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZTogbyhcbiAgICBbXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZXN0UmV1bmlvbkludGVybmF0aW9uYWxlXCIsXG4gICAgICAgIGpzOiBcImVzdFJldW5pb25JbnRlcm5hdGlvbmFsZVwiLFxuICAgICAgICB0eXA6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJsaXN0ZVBheXNcIiwganM6IFwibGlzdGVQYXlzXCIsIHR5cDogdSh1bmRlZmluZWQsIGEoXCJcIikpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiaW5mb3JtYXRpb25zQ29tcGxlbWVudGFpcmVzXCIsXG4gICAgICAgIGpzOiBcImluZm9ybWF0aW9uc0NvbXBsZW1lbnRhaXJlc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgTGlldTogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiY29kZVwiLCBqczogXCJjb2RlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwibGliZWxsZUNvdXJ0XCIsIGpzOiBcImxpYmVsbGVDb3VydFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcImxpYmVsbGVMb25nXCIsIGpzOiBcImxpYmVsbGVMb25nXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwibGlldVJlZlwiLCBqczogXCJsaWV1UmVmXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgUGFydGljaXBhbnRzOiBvKFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJwYXJ0aWNpcGFudHNJbnRlcm5lc1wiLFxuICAgICAgICBqczogXCJwYXJ0aWNpcGFudHNJbnRlcm5lc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKHIoXCJQYXJ0aWNpcGFudEludGVybmVcIikpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwicGVyc29ubmVzQXVkaXRpb25uZWVzXCIsXG4gICAgICAgIGpzOiBcInBlcnNvbm5lc0F1ZGl0aW9ubmVlc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKHIoXCJQZXJzb25uZUF1ZGl0aW9ubmVlXCIpKSksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFBhcnRpY2lwYW50SW50ZXJuZTogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiYWN0ZXVyUmVmXCIsIGpzOiBcImFjdGV1clJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJwcmVzZW5jZVwiLCBqczogXCJwcmVzZW5jZVwiLCB0eXA6IHIoXCJQcmVzZW5jZVwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFBlcnNvbm5lQXVkaXRpb25uZWU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInhzaVR5cGVcIiwganM6IFwieHNpVHlwZVwiLCB0eXA6IHIoXCJQZXJzb25uZUF1ZGl0aW9ubmVlWHNpVHlwZVwiKSB9LFxuICAgICAgeyBqc29uOiBcInVpZFwiLCBqczogXCJ1aWRcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiaWRlbnRcIiwganM6IFwiaWRlbnRcIiwgdHlwOiByKFwiSWRlbnRcIikgfSxcbiAgICAgIHsganNvbjogXCJkYXRlTmFpc1wiLCBqczogXCJkYXRlTmFpc1wiLCB0eXA6IHUodW5kZWZpbmVkLCBEYXRlKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIElkZW50OiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJjaXZcIiwganM6IFwiY2l2XCIsIHR5cDogcihcIkNpdlwiKSB9LFxuICAgICAgeyBqc29uOiBcInByZW5vbVwiLCBqczogXCJwcmVub21cIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwibm9tXCIsIGpzOiBcIm5vbVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJhbHBoYVwiLCBqczogXCJhbHBoYVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInRyaWdyYW1tZVwiLCBqczogXCJ0cmlncmFtbWVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBSZXVuaW9uWHNpVHlwZTogW1xuICAgIFwicmV1bmlvbkNvbW1pc3Npb25fdHlwZVwiLFxuICAgIFwicmV1bmlvbkluaXRQYXJsZW1lbnRhaXJlX3R5cGVcIixcbiAgICBcInNlYW5jZV90eXBlXCIsXG4gIF0sXG4gIFBvaW50T2RqWHNpVHlwZTogW1wicG9kalJldW5pb25fdHlwZVwiLCBcInBvZGpTZWFuY2VDb25mUHJlc190eXBlXCJdLFxuICBFdGF0Q3ljbGVEZVZpZTogW1wiQW5udWzDqVwiLCBcIkNvbmZpcm3DqVwiLCBcIkV2ZW50dWVsXCIsIFwiU3VwcHJpbcOpXCJdLFxuICBOYXR1cmVUcmF2YXV4T2RqOiBbXCJPREpQUlwiLCBcIk9ESlNOXCJdLFxuICBQcm9jZWR1cmU6IFtcbiAgICBcImRpc2N1c3Npb24gZ8OpbsOpcmFsZSBjb21tdW5lXCIsXG4gICAgXCJwcm9jw6lkdXJlIGQnZXhhbWVuIHNpbXBsaWZpw6llLUFydGljbGUgMTAzXCIsXG4gICAgXCJwcm9jw6lkdXJlIGQnZXhhbWVuIHNpbXBsaWZpw6llLUFydGljbGUgMTA2XCIsXG4gICAgXCJwcm9jw6lkdXJlIGRlIGzDqWdpc2xhdGlvbiBlbiBjb21taXNzaW9uLUFydGljbGUgMTA3LTFcIixcbiAgXSxcbiAgVHlwZVBvaW50T2RqOiBbXG4gICAgXCJBbWVuZGVtZW50cyAoQXJ0LiA4OClcIixcbiAgICBcIkFtZW5kZW1lbnRzIChBcnQuIDkxKVwiLFxuICAgIFwiQXVkaXRpb25cIixcbiAgICBcIkF1ZGl0aW9uIG1pbmlzdHJlXCIsXG4gICAgXCJBdWRpdGlvbiBtaW5pc3RyZSBvdXZlcnRlIMOgIGxhIHByZXNzZVwiLFxuICAgIFwiQXVkaXRpb24gb3V2ZXJ0ZSDDoCBsYSBwcmVzc2VcIixcbiAgICBcIkNvbW11bmljYXRpb25cIixcbiAgICBcIkNvbnN0aXR1dGlvbiBkZSBtaXNzaW9uIGQnaW5mb3JtYXRpb25cIixcbiAgICBcIkRpc2N1c3Npb25cIixcbiAgICBcIkTDqWJhdCBkJ2luaXRpYXRpdmUgcGFybGVtZW50YWlyZVwiLFxuICAgIFwiRMOpY2xhcmF0aW9uIGR1IEdvdXZlcm5lbWVudCBzdWl2aWUgZCd1biBkw6liYXRcIixcbiAgICBcIkVjaGFuZ2VzIGRlIHZ1ZXNcIixcbiAgICBcIkV4YW1lblwiLFxuICAgIFwiRXhwbGljYXRpb25zIGRlIHZvdGUgZGVzIGdyb3VwZXMgZXQgdm90ZSBwYXIgc2NydXRpbiBwdWJsaWNcIixcbiAgICBcIkV4cGxpY2F0aW9ucyBkZSB2b3RlIGV0IHZvdGUgcGFyIHNjcnV0aW4gcHVibGljXCIsXG4gICAgXCJGaXhhdGlvbiBkZSBsJ29yZHJlIGR1IGpvdXJcIixcbiAgICBcIk5vbWluYXRpb24gYnVyZWF1XCIsXG4gICAgXCJOb21pbmF0aW9uIGNhbmRpZGF0cyBvcmdhbmlzbWUgZXh0cmFwYXJsZW1lbnRhaXJlXCIsXG4gICAgXCJOb21pbmF0aW9uIGQndW4gbWVtYnJlIGQndW5lIG1pc3Npb24gZCdpbmZvcm1hdGlvblwiLFxuICAgIFwiTm9taW5hdGlvbiByYXBwb3J0ZXVyXCIsXG4gICAgXCJOb21pbmF0aW9uIHJhcHBvcnRldXIgZCdhcHBsaWNhdGlvblwiLFxuICAgIFwiTm9taW5hdGlvbiByYXBwb3J0ZXVyIGQnaW5mb3JtYXRpb25cIixcbiAgICBcIk5vbWluYXRpb24gcmFwcG9ydGV1ciBwb3VyIGF2aXNcIixcbiAgICBcIk91dmVydHVyZSBldCBjbMO0dHVyZSBkZSBzZXNzaW9uXCIsXG4gICAgXCJRdWVzdGlvbnMgYXUgR291dmVybmVtZW50XCIsXG4gICAgXCJRdWVzdGlvbnMgb3JhbGVzIHNhbnMgZMOpYmF0XCIsXG4gICAgXCJSYXBwb3J0XCIsXG4gICAgXCJSYXBwb3J0IGQnaW5mb3JtYXRpb25cIixcbiAgICBcIlJhcHBvcnQgcG91ciBhdmlzXCIsXG4gICAgXCJTdWl0ZSBkZSBsYSBkaXNjdXNzaW9uXCIsXG4gICAgXCJUYWJsZSByb25kZVwiLFxuICAgIFwiVm90ZSBwYXIgc2NydXRpbiBwdWJsaWNcIixcbiAgICBcIlZvdGUgc29sZW5uZWxcIixcbiAgXSxcbiAgRm9ybWF0UmV1bmlvbjogW1xuICAgIFwiQXVkaXRpb25FeHRlcm5lXCIsXG4gICAgXCJBdWRpdGlvblBhclByZXNpZGVudENvbW1pc3Npb25cIixcbiAgICBcIkF1ZGl0aW9uUGFyUmFwcG9ydGV1clwiLFxuICAgIFwiT3JkaW5haXJlXCIsXG4gIF0sXG4gIFF1YW50aWVtZTogW1wiRGV1eGnDqG1lXCIsIFwiUHJlbWnDqHJlXCIsIFwiVHJvaXNpw6htZVwiLCBcIlVuaXF1ZVwiXSxcbiAgUHJlc2VuY2U6IFtcImFic2VudFwiLCBcImV4Y3Vzw6lcIiwgXCJwcsOpc2VudFwiXSxcbiAgQ2l2OiBbXCJNLlwiLCBcIk1tZVwiXSxcbiAgUGVyc29ubmVBdWRpdGlvbm5lZVhzaVR5cGU6IFtcIklkQWN0ZXVyX3R5cGVcIiwgXCJJZFBlcnNvbm5lRXh0ZXJuZV90eXBlXCJdLFxuICBUeXBlUmV1bmlvbjogW1wiREVQXCIsIFwiR0FcIiwgXCJHRVwiLCBcIkdFVklcIiwgXCJHUFwiLCBcIkjDiSBBdXLDqWxpZW5cIl0sXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUEsSUFnQ1lBLGNBQWM7QUFBQTtBQUFBLFdBQWRBLGNBQWM7RUFBZEEsY0FBYztFQUFkQSxjQUFjO0VBQWRBLGNBQWM7QUFBQSxHQUFkQSxjQUFjLDhCQUFkQSxjQUFjO0FBQUEsSUEwQmRDLGVBQWU7QUFBQTtBQUFBLFdBQWZBLGVBQWU7RUFBZkEsZUFBZTtFQUFmQSxlQUFlO0FBQUEsR0FBZkEsZUFBZSwrQkFBZkEsZUFBZTtBQUFBLElBZWZDLGNBQWM7QUFBQTtBQUFBLFdBQWRBLGNBQWM7RUFBZEEsY0FBYztFQUFkQSxjQUFjO0VBQWRBLGNBQWM7RUFBZEEsY0FBYztBQUFBLEdBQWRBLGNBQWMsOEJBQWRBLGNBQWM7QUFBQSxJQU9kQyxnQkFBZ0I7QUFBQTtBQUFBLFdBQWhCQSxnQkFBZ0I7RUFBaEJBLGdCQUFnQjtFQUFoQkEsZ0JBQWdCO0FBQUEsR0FBaEJBLGdCQUFnQixnQ0FBaEJBLGdCQUFnQjtBQUFBLElBS2hCQyxTQUFTO0FBQUE7QUFBQSxXQUFUQSxTQUFTO0VB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