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