@tricoteuses/assemblee 1.10.5 → 2.0.2

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