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