@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.
- package/README.md +8 -1
- package/lib/amendements-CN7bRFdP.js +259 -0
- package/lib/amendements-CN7bRFdP.js.map +1 -0
- package/lib/amendements-Cg1lyCBp.js +735 -0
- package/lib/amendements-Cg1lyCBp.js.map +1 -0
- package/lib/api.d.ts +1 -0
- package/lib/api.d.ts.map +1 -0
- package/lib/cleaners/actes_legislatifs.d.ts +1 -0
- package/lib/cleaners/actes_legislatifs.d.ts.map +1 -0
- package/lib/cleaners/acteurs.d.ts +1 -0
- package/lib/cleaners/acteurs.d.ts.map +1 -0
- package/lib/cleaners/amendements.d.ts +1 -0
- package/lib/cleaners/amendements.d.ts.map +1 -0
- package/lib/cleaners/debats.d.ts +1 -0
- package/lib/cleaners/debats.d.ts.map +1 -0
- package/lib/cleaners/documents.d.ts +1 -0
- package/lib/cleaners/documents.d.ts.map +1 -0
- package/lib/cleaners/dossiers_legislatifs.d.ts +1 -0
- package/lib/cleaners/dossiers_legislatifs.d.ts.map +1 -0
- package/lib/cleaners/index.d.ts +10 -9
- package/lib/cleaners/index.d.ts.map +1 -0
- package/lib/cleaners/organes.d.ts +1 -0
- package/lib/cleaners/organes.d.ts.map +1 -0
- package/lib/cleaners/questions.d.ts +1 -0
- package/lib/cleaners/questions.d.ts.map +1 -0
- package/lib/cleaners/reunions.d.ts +1 -0
- package/lib/cleaners/reunions.d.ts.map +1 -0
- package/lib/cleaners/scrutins.d.ts +1 -0
- package/lib/cleaners/scrutins.d.ts.map +1 -0
- package/lib/cleaners/xml.d.ts +1 -0
- package/lib/cleaners/xml.d.ts.map +1 -0
- package/lib/cleaners.js +1138 -0
- package/lib/cleaners.js.map +1 -0
- package/lib/datasets.d.ts +4 -3
- package/lib/datasets.d.ts.map +1 -0
- package/lib/dates.d.ts +1 -0
- package/lib/dates.d.ts.map +1 -0
- package/lib/debats-BwZYgzXe.js +3978 -0
- package/lib/debats-BwZYgzXe.js.map +1 -0
- package/lib/dossiers_legislatifs.d.ts +3 -2
- package/lib/dossiers_legislatifs.d.ts.map +1 -0
- package/lib/file_systems.d.ts +1 -0
- package/lib/file_systems.d.ts.map +1 -0
- package/lib/git.d.ts +1 -0
- package/lib/git.d.ts.map +1 -0
- package/lib/index.d.ts +18 -22
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +1916 -285
- package/lib/index.js.map +1 -0
- package/lib/inserters.d.ts +6 -5
- package/lib/inserters.d.ts.map +1 -0
- package/lib/loaders.d.ts +13 -12
- package/lib/loaders.d.ts.map +1 -0
- package/lib/loaders.js +812 -1516
- package/lib/loaders.js.map +1 -0
- package/lib/logger.d.ts +1 -0
- package/lib/logger.d.ts.map +1 -0
- package/lib/organes.d.ts +2 -1
- package/lib/organes.d.ts.map +1 -0
- package/lib/parse-CzW8NHW5.js +2850 -0
- package/lib/parse-CzW8NHW5.js.map +1 -0
- package/lib/parsers/index.d.ts +3 -3
- package/lib/parsers/index.d.ts.map +1 -0
- package/lib/parsers/plf.d.ts +2 -0
- package/lib/parsers/plf.d.ts.map +1 -0
- package/lib/parsers/recherche_amendements.d.ts +3 -2
- package/lib/parsers/recherche_amendements.d.ts.map +1 -0
- package/lib/parsers/textes_lois.d.ts +2 -23
- package/lib/parsers/textes_lois.d.ts.map +1 -0
- package/lib/parsers.js +393 -0
- package/lib/parsers.js.map +1 -0
- package/lib/raw_types/acteurs_et_organes.d.ts +1 -0
- package/lib/raw_types/acteurs_et_organes.d.ts.map +1 -0
- package/lib/raw_types/agendas.d.ts +1 -0
- package/lib/raw_types/agendas.d.ts.map +1 -0
- package/lib/raw_types/amendements.d.ts +1 -0
- package/lib/raw_types/amendements.d.ts.map +1 -0
- package/lib/raw_types/debats.d.ts +3 -2
- package/lib/raw_types/debats.d.ts.map +1 -0
- package/lib/raw_types/dossiers_legislatifs.d.ts +2 -1
- package/lib/raw_types/dossiers_legislatifs.d.ts.map +1 -0
- package/lib/raw_types/questions.d.ts +1 -0
- package/lib/raw_types/questions.d.ts.map +1 -0
- package/lib/raw_types/scrutins.d.ts +1 -0
- package/lib/raw_types/scrutins.d.ts.map +1 -0
- package/lib/schemas/acteurs_et_organes.d.json +982 -0
- package/lib/schemas/acteurs_et_organes.json +1166 -0
- package/lib/schemas/agendas.d.json +1561 -0
- package/lib/schemas/agendas.json +1745 -0
- package/lib/schemas/amendements.d.json +1901 -0
- package/lib/schemas/amendements.json +2085 -0
- package/lib/schemas/debats.d.json +623 -0
- package/lib/schemas/debats.json +842 -0
- package/lib/schemas/dossiers_legislatifs.d.json +3690 -0
- package/lib/schemas/dossiers_legislatifs.json +3874 -0
- package/lib/schemas/legislatures.d.json +17 -0
- package/lib/schemas/legislatures.json +17 -0
- package/lib/schemas/questions.d.json +520 -0
- package/lib/schemas/questions.json +704 -0
- package/lib/schemas/scrutins.d.json +517 -0
- package/lib/schemas/scrutins.json +701 -0
- package/lib/scripts/add_links_to_documents.d.ts +2 -0
- package/lib/scripts/add_links_to_documents.d.ts.map +1 -0
- package/lib/scripts/clean_reorganized_data.d.ts +1 -0
- package/lib/scripts/clean_reorganized_data.d.ts.map +1 -0
- package/lib/scripts/copy-schemas.d.ts +2 -0
- package/lib/scripts/copy-schemas.d.ts.map +1 -0
- package/lib/scripts/diff_amendements.d.ts +1 -0
- package/lib/scripts/diff_amendements.d.ts.map +1 -0
- package/lib/scripts/document_dossiers_legislatifs.d.ts +1 -0
- package/lib/scripts/document_dossiers_legislatifs.d.ts.map +1 -0
- package/lib/scripts/generate-json-schemas.d.ts +2 -0
- package/lib/scripts/generate-json-schemas.d.ts.map +1 -0
- package/lib/scripts/get_today_reunions.d.ts +1 -0
- package/lib/scripts/get_today_reunions.d.ts.map +1 -0
- package/lib/scripts/merge_scrutins.d.ts +1 -0
- package/lib/scripts/merge_scrutins.d.ts.map +1 -0
- package/lib/scripts/process_open_dataset.d.ts +1 -0
- package/lib/scripts/process_open_dataset.d.ts.map +1 -0
- package/lib/scripts/raw_types_from_amendements.d.ts +1 -0
- package/lib/scripts/raw_types_from_amendements.d.ts.map +1 -0
- package/lib/scripts/reorganize_data.d.ts +1 -0
- package/lib/scripts/reorganize_data.d.ts.map +1 -0
- package/lib/scripts/retrieve_deputes_photos.d.ts +2 -1
- package/lib/scripts/retrieve_deputes_photos.d.ts.map +1 -0
- package/lib/scripts/retrieve_documents.d.ts +1 -0
- package/lib/scripts/retrieve_documents.d.ts.map +1 -0
- package/lib/scripts/retrieve_open_data.d.ts +1 -0
- package/lib/scripts/retrieve_open_data.d.ts.map +1 -0
- package/lib/scripts/retrieve_pending_amendments.d.ts +1 -0
- package/lib/scripts/retrieve_pending_amendments.d.ts.map +1 -0
- package/lib/scripts/retrieve_senateurs_photos.d.ts +1 -0
- package/lib/scripts/retrieve_senateurs_photos.d.ts.map +1 -0
- package/lib/scripts/shared/cli_helpers.d.ts +1 -0
- package/lib/scripts/shared/cli_helpers.d.ts.map +1 -0
- package/lib/scripts/test_iter_load.d.ts +1 -0
- package/lib/scripts/test_iter_load.d.ts.map +1 -0
- package/lib/scripts/test_load.d.ts +1 -0
- package/lib/scripts/test_load.d.ts.map +1 -0
- package/lib/scripts/test_load_big_files.d.ts +1 -0
- package/lib/scripts/test_load_big_files.d.ts.map +1 -0
- package/lib/scripts/validate_json.d.ts +1 -0
- package/lib/scripts/validate_json.d.ts.map +1 -0
- package/lib/shared_types/codes_actes.d.ts +1 -0
- package/lib/shared_types/codes_actes.d.ts.map +1 -0
- package/lib/strings.d.ts +1 -0
- package/lib/strings.d.ts.map +1 -0
- package/lib/types/acteurs_et_organes.d.ts +341 -0
- package/lib/types/acteurs_et_organes.d.ts.map +1 -0
- package/lib/types/agendas.d.ts +237 -10
- package/lib/types/agendas.d.ts.map +1 -0
- package/lib/types/amendements.d.ts +277 -1
- package/lib/types/amendements.d.ts.map +1 -0
- package/lib/types/debats.d.ts +53 -2
- package/lib/types/debats.d.ts.map +1 -0
- package/lib/types/dossiers_legislatifs.d.ts +404 -9
- package/lib/types/dossiers_legislatifs.d.ts.map +1 -0
- package/lib/types/legislatures.d.ts +1 -0
- package/lib/types/legislatures.d.ts.map +1 -0
- package/lib/types/questions.d.ts +100 -2
- package/lib/types/questions.d.ts.map +1 -0
- package/lib/types/scrutins.d.ts +102 -0
- package/lib/types/scrutins.d.ts.map +1 -0
- package/lib/urls.d.ts +3 -2
- package/lib/urls.d.ts.map +1 -0
- package/package.json +31 -95
- package/lib/api.js +0 -52
- package/lib/api.mjs +0 -45
- package/lib/bugs/acteur-00010/plugin.test.d.ts +0 -1
- package/lib/bugs/acteur-00010/plugin.test.js +0 -90
- package/lib/bugs/acteur-00010/plugin.test.mjs +0 -33
- package/lib/bugs/acteur-00010.d.ts +0 -7
- package/lib/bugs/acteur-00010.js +0 -116
- package/lib/bugs/acteur-00010.mjs +0 -26
- package/lib/bugs/agenda-00002/plugin.test.d.ts +0 -1
- package/lib/bugs/agenda-00002/plugin.test.js +0 -124
- package/lib/bugs/agenda-00002/plugin.test.mjs +0 -50
- package/lib/bugs/agenda-00002.d.ts +0 -15
- package/lib/bugs/agenda-00002.js +0 -406
- package/lib/bugs/agenda-00002.mjs +0 -172
- package/lib/bugs/agenda-00008/plugin.test.d.ts +0 -1
- package/lib/bugs/agenda-00008/plugin.test.js +0 -92
- package/lib/bugs/agenda-00008/plugin.test.mjs +0 -31
- package/lib/bugs/agenda-00008.d.ts +0 -7
- package/lib/bugs/agenda-00008.js +0 -123
- package/lib/bugs/agenda-00008.mjs +0 -26
- package/lib/bugs/agenda-00011/plugin.test.d.ts +0 -1
- package/lib/bugs/agenda-00011/plugin.test.js +0 -263
- package/lib/bugs/agenda-00011/plugin.test.mjs +0 -152
- package/lib/bugs/agenda-00011.d.ts +0 -16
- package/lib/bugs/agenda-00011.js +0 -333
- package/lib/bugs/agenda-00011.mjs +0 -125
- package/lib/bugs.d.ts +0 -21
- package/lib/bugs.js +0 -452
- package/lib/bugs.mjs +0 -70
- package/lib/cleaners/actes_legislatifs.js +0 -315
- package/lib/cleaners/actes_legislatifs.mjs +0 -253
- package/lib/cleaners/acteurs.js +0 -265
- package/lib/cleaners/acteurs.mjs +0 -180
- package/lib/cleaners/amendements.js +0 -294
- package/lib/cleaners/amendements.mjs +0 -227
- package/lib/cleaners/debats.js +0 -12
- package/lib/cleaners/debats.mjs +0 -5
- package/lib/cleaners/documents.js +0 -205
- package/lib/cleaners/documents.mjs +0 -133
- package/lib/cleaners/dossiers_legislatifs.js +0 -131
- package/lib/cleaners/dossiers_legislatifs.mjs +0 -70
- package/lib/cleaners/index.js +0 -70
- package/lib/cleaners/index.mjs +0 -10
- package/lib/cleaners/organes.js +0 -65
- package/lib/cleaners/organes.mjs +0 -48
- package/lib/cleaners/questions.js +0 -12
- package/lib/cleaners/questions.mjs +0 -5
- package/lib/cleaners/reunions.js +0 -312
- package/lib/cleaners/reunions.mjs +0 -255
- package/lib/cleaners/scrutins.js +0 -340
- package/lib/cleaners/scrutins.mjs +0 -221
- package/lib/cleaners/xml.js +0 -74
- package/lib/cleaners/xml.mjs +0 -59
- package/lib/datasets.js +0 -837
- package/lib/datasets.mjs +0 -755
- package/lib/dates.js +0 -124
- package/lib/dates.mjs +0 -100
- package/lib/dossiers_legislatifs.js +0 -346
- package/lib/dossiers_legislatifs.mjs +0 -208
- package/lib/file_systems.js +0 -162
- package/lib/file_systems.mjs +0 -62
- package/lib/git.js +0 -223
- package/lib/git.mjs +0 -151
- package/lib/index.mjs +0 -17
- package/lib/inserters.js +0 -521
- package/lib/inserters.mjs +0 -337
- package/lib/loaders.mjs +0 -886
- package/lib/logger.js +0 -35
- package/lib/logger.mjs +0 -26
- package/lib/organes.js +0 -22
- package/lib/organes.mjs +0 -15
- package/lib/parsers/documents.d.ts +0 -62
- package/lib/parsers/documents.js +0 -453
- package/lib/parsers/documents.mjs +0 -370
- package/lib/parsers/index.js +0 -40
- package/lib/parsers/index.mjs +0 -4
- package/lib/parsers/recherche_amendements.js +0 -403
- package/lib/parsers/recherche_amendements.mjs +0 -167
- package/lib/parsers/textes_lois.js +0 -307
- package/lib/parsers/textes_lois.mjs +0 -264
- package/lib/raw_types/acteurs_et_organes.js +0 -1215
- package/lib/raw_types/acteurs_et_organes.mjs +0 -1148
- package/lib/raw_types/agendas.js +0 -777
- package/lib/raw_types/agendas.mjs +0 -724
- package/lib/raw_types/amendements.js +0 -1052
- package/lib/raw_types/amendements.mjs +0 -993
- package/lib/raw_types/debats.js +0 -630
- package/lib/raw_types/debats.mjs +0 -573
- package/lib/raw_types/dossiers_legislatifs.js +0 -1529
- package/lib/raw_types/dossiers_legislatifs.mjs +0 -1471
- package/lib/raw_types/questions.js +0 -469
- package/lib/raw_types/questions.mjs +0 -416
- package/lib/raw_types/scrutins.js +0 -651
- package/lib/raw_types/scrutins.mjs +0 -598
- package/lib/schemas/acteur/Acteur.json +0 -56
- package/lib/schemas/acteur/AdresseElectronique.json +0 -52
- package/lib/schemas/acteur/AdressePostale.json +0 -75
- package/lib/schemas/acteur/Civ.json +0 -14
- package/lib/schemas/acteur/Collaborateur.json +0 -29
- package/lib/schemas/acteur/EtatCivil.json +0 -51
- package/lib/schemas/acteur/Ident.json +0 -40
- package/lib/schemas/acteur/Lieu.json +0 -66
- package/lib/schemas/acteur/Mandat.json +0 -192
- package/lib/schemas/acteur/Profession.json +0 -46
- package/lib/schemas/agenda/Agenda.json +0 -318
- package/lib/schemas/agenda/CycleDeVie.json +0 -45
- package/lib/schemas/agenda/PointOdj.json +0 -82
- package/lib/schemas/amendement/Amendement.json +0 -246
- package/lib/schemas/amendement/Diff.json +0 -25
- package/lib/schemas/amendement/DispositifAmdtCredit.json +0 -85
- package/lib/schemas/amendement/Identifiant.json +0 -62
- package/lib/schemas/amendement/PointeurFragmentTexte.json +0 -127
- package/lib/schemas/amendement/Representation.json +0 -67
- package/lib/schemas/amendement/Total.json +0 -26
- package/lib/schemas/converted_from_type/acteurs_et_organes.json +0 -666
- package/lib/schemas/converted_from_type/agendas.json +0 -1100
- package/lib/schemas/converted_from_type/amendements.json +0 -3191
- package/lib/schemas/converted_from_type/debats.json +0 -682
- package/lib/schemas/converted_from_type/deputes.json +0 -26
- package/lib/schemas/converted_from_type/dossiers_legislatifs.json +0 -2918
- package/lib/schemas/converted_from_type/legislatures.json +0 -16
- package/lib/schemas/converted_from_type/questions.json +0 -328
- package/lib/schemas/converted_from_type/scrutins.json +0 -393
- package/lib/schemas/debat/Contenu.json +0 -75
- package/lib/schemas/debat/Debat.json +0 -40
- package/lib/schemas/debat/Metadonnees.json +0 -75
- package/lib/schemas/debat/Orateur.json +0 -60
- package/lib/schemas/debat/Point.json +0 -169
- package/lib/schemas/debat/Sommaire.json +0 -71
- package/lib/schemas/debat/SommaireElement.json +0 -108
- package/lib/schemas/debat/Texte.json +0 -34
- package/lib/schemas/document/CodeLibelle.json +0 -25
- package/lib/schemas/document/Document.json +0 -385
- package/lib/schemas/document/Indexation.json +0 -38
- package/lib/schemas/dossier/ActeLegislatif.json +0 -211
- package/lib/schemas/dossier/ActeLegislatifBase.json +0 -62
- package/lib/schemas/dossier/Agenda.json +0 -23
- package/lib/schemas/dossier/ConseilConstitutionnel.json +0 -35
- package/lib/schemas/dossier/Decision.json +0 -25
- package/lib/schemas/dossier/Dossier.json +0 -124
- package/lib/schemas/dossier/EtudeImpact.json +0 -29
- package/lib/schemas/dossier/EtudePlf.json +0 -105
- package/lib/schemas/dossier/Europe.json +0 -42
- package/lib/schemas/dossier/FamCodeLibelle.json +0 -25
- package/lib/schemas/dossier/InfoJO.json +0 -23
- package/lib/schemas/dossier/Initiateur.json +0 -36
- package/lib/schemas/dossier/Motion.json +0 -27
- package/lib/schemas/dossier/Promulgation.json +0 -62
- package/lib/schemas/dossier/Rapporteur.json +0 -36
- package/lib/schemas/dossier/Texte.json +0 -47
- package/lib/schemas/organe/CodeTypeOrgane.json +0 -43
- package/lib/schemas/organe/Organe.json +0 -136
- package/lib/schemas/organe/ViMoDe.json +0 -28
- package/lib/schemas/question/Auteur.json +0 -58
- package/lib/schemas/question/Cloture.json +0 -28
- package/lib/schemas/question/InfoJO.json +0 -40
- package/lib/schemas/question/MinAttribElement.json +0 -30
- package/lib/schemas/question/Question.json +0 -172
- package/lib/schemas/question/Renouvellement.json +0 -17
- package/lib/schemas/question/Signalement.json +0 -21
- package/lib/schemas/question/Texte.json +0 -24
- package/lib/schemas/scrutin/DecompteVoix.json +0 -35
- package/lib/schemas/scrutin/Dysfonctionnement.json +0 -50
- package/lib/schemas/scrutin/MiseAuPoint.json +0 -53
- package/lib/schemas/scrutin/OrganeVotant.json +0 -88
- package/lib/schemas/scrutin/Scrutin.json +0 -187
- package/lib/schemas/scrutin/Votant.json +0 -37
- package/lib/scripts/bugs_helper.d.ts +0 -13
- package/lib/scripts/bugs_helper.js +0 -595
- package/lib/scripts/bugs_helper.mjs +0 -251
- package/lib/scripts/clean_reorganized_data.js +0 -613
- package/lib/scripts/clean_reorganized_data.mjs +0 -276
- package/lib/scripts/diff_amendements.js +0 -249
- package/lib/scripts/diff_amendements.mjs +0 -202
- package/lib/scripts/document_dossiers_legislatifs.js +0 -655
- package/lib/scripts/document_dossiers_legislatifs.mjs +0 -414
- package/lib/scripts/get_today_reunions.js +0 -37
- package/lib/scripts/get_today_reunions.mjs +0 -31
- package/lib/scripts/merge_scrutins.js +0 -97
- package/lib/scripts/merge_scrutins.mjs +0 -47
- package/lib/scripts/parse_textes_lois.d.ts +0 -1
- package/lib/scripts/parse_textes_lois.js +0 -171
- package/lib/scripts/parse_textes_lois.mjs +0 -140
- package/lib/scripts/process_open_dataset.js +0 -301
- package/lib/scripts/process_open_dataset.mjs +0 -134
- package/lib/scripts/raw_types_from_amendements.js +0 -135
- package/lib/scripts/raw_types_from_amendements.mjs +0 -134
- package/lib/scripts/reorganize_data.js +0 -805
- package/lib/scripts/reorganize_data.mjs +0 -517
- package/lib/scripts/retrieve_deputes_photos.js +0 -310
- package/lib/scripts/retrieve_deputes_photos.mjs +0 -158
- package/lib/scripts/retrieve_documents.js +0 -547
- package/lib/scripts/retrieve_documents.mjs +0 -242
- package/lib/scripts/retrieve_open_data.js +0 -107
- package/lib/scripts/retrieve_open_data.mjs +0 -26
- package/lib/scripts/retrieve_pending_amendments.js +0 -206
- package/lib/scripts/retrieve_pending_amendments.mjs +0 -57
- package/lib/scripts/retrieve_senateurs_photos.js +0 -234
- package/lib/scripts/retrieve_senateurs_photos.mjs +0 -116
- package/lib/scripts/retrieve_textes_lois.d.ts +0 -1
- package/lib/scripts/retrieve_textes_lois.js +0 -240
- package/lib/scripts/retrieve_textes_lois.mjs +0 -85
- package/lib/scripts/shared/cli_helpers.js +0 -89
- package/lib/scripts/shared/cli_helpers.mjs +0 -81
- package/lib/scripts/test_iter_load.js +0 -155
- package/lib/scripts/test_iter_load.mjs +0 -72
- package/lib/scripts/test_load.js +0 -26
- package/lib/scripts/test_load.mjs +0 -16
- package/lib/scripts/test_load_big_files.js +0 -26
- package/lib/scripts/test_load_big_files.mjs +0 -16
- package/lib/scripts/validate_json.js +0 -353
- package/lib/scripts/validate_json.mjs +0 -184
- package/lib/shared_types/codes_actes.js +0 -231
- package/lib/shared_types/codes_actes.mjs +0 -224
- package/lib/strings.js +0 -16
- package/lib/strings.mjs +0 -7
- package/lib/types/acteurs_et_organes.js +0 -965
- package/lib/types/acteurs_et_organes.mjs +0 -906
- package/lib/types/agendas.js +0 -628
- package/lib/types/agendas.mjs +0 -575
- package/lib/types/amendements.js +0 -899
- package/lib/types/amendements.mjs +0 -842
- package/lib/types/debats.js +0 -619
- package/lib/types/debats.mjs +0 -562
- package/lib/types/dossiers_legislatifs.js +0 -1188
- package/lib/types/dossiers_legislatifs.mjs +0 -1130
- package/lib/types/legislatures.js +0 -17
- package/lib/types/legislatures.mjs +0 -10
- package/lib/types/questions.js +0 -454
- package/lib/types/questions.mjs +0 -401
- package/lib/types/scrutins.js +0 -556
- package/lib/types/scrutins.mjs +0 -503
- package/lib/urls.js +0 -325
- package/lib/urls.mjs +0 -258
package/lib/inserters.js
DELETED
|
@@ -1,521 +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.from.js");
|
|
7
|
-
require("core-js/modules/es.array.is-array.js");
|
|
8
|
-
require("core-js/modules/es.array.iterator.js");
|
|
9
|
-
require("core-js/modules/es.array.slice.js");
|
|
10
|
-
require("core-js/modules/es.date.to-string.js");
|
|
11
|
-
require("core-js/modules/es.function.name.js");
|
|
12
|
-
require("core-js/modules/es.object.define-property.js");
|
|
13
|
-
require("core-js/modules/es.object.to-string.js");
|
|
14
|
-
require("core-js/modules/es.regexp.exec.js");
|
|
15
|
-
require("core-js/modules/es.regexp.to-string.js");
|
|
16
|
-
require("core-js/modules/es.string.iterator.js");
|
|
17
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
18
|
-
Object.defineProperty(exports, "__esModule", {
|
|
19
|
-
value: true
|
|
20
|
-
});
|
|
21
|
-
exports.insertActeurReferences = insertActeurReferences;
|
|
22
|
-
exports.insertAmendementReferences = insertAmendementReferences;
|
|
23
|
-
exports.insertDocumentReferences = insertDocumentReferences;
|
|
24
|
-
exports.insertDossierReferences = insertDossierReferences;
|
|
25
|
-
exports.insertOrganeReferences = insertOrganeReferences;
|
|
26
|
-
exports.insertReunionReferences = insertReunionReferences;
|
|
27
|
-
exports.insertScrutinReferences = insertScrutinReferences;
|
|
28
|
-
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
29
|
-
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
30
|
-
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
31
|
-
function insertActeLegislatifReferences(acte, data, visitedUids) {
|
|
32
|
-
if (!visitedUids.has(acte.uid)) {
|
|
33
|
-
visitedUids.add(acte.uid);
|
|
34
|
-
if (data.documentByUid !== undefined && acte.depotInitialLectureDefinitiveRef !== undefined) {
|
|
35
|
-
var document = data.documentByUid[acte.depotInitialLectureDefinitiveRef];
|
|
36
|
-
if (document !== undefined) {
|
|
37
|
-
acte.depotInitialLectureDefinitive = document;
|
|
38
|
-
insertDocumentReferences(document, data, visitedUids);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
if (data.organeByUid !== undefined && acte.organeRef !== undefined) {
|
|
42
|
-
var organe = data.organeByUid[acte.organeRef];
|
|
43
|
-
if (organe !== undefined) {
|
|
44
|
-
acte.organe = organe;
|
|
45
|
-
insertOrganeReferences(organe, data, visitedUids);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
if (data.organeByUid !== undefined && acte.provenanceRef !== undefined) {
|
|
49
|
-
var _organe = data.organeByUid[acte.provenanceRef];
|
|
50
|
-
if (_organe !== undefined) {
|
|
51
|
-
acte.provenance = _organe;
|
|
52
|
-
insertOrganeReferences(_organe, data, visitedUids);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
if (data.acteurByUid !== undefined && acte.rapporteurs !== undefined) {
|
|
56
|
-
var _iterator = _createForOfIteratorHelper(acte.rapporteurs),
|
|
57
|
-
_step;
|
|
58
|
-
try {
|
|
59
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
60
|
-
var rapporteur = _step.value;
|
|
61
|
-
var acteur = data.acteurByUid[rapporteur.acteurRef];
|
|
62
|
-
if (acteur !== undefined) {
|
|
63
|
-
rapporteur.acteur = acteur;
|
|
64
|
-
insertActeurReferences(acteur, data, visitedUids);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
} catch (err) {
|
|
68
|
-
_iterator.e(err);
|
|
69
|
-
} finally {
|
|
70
|
-
_iterator.f();
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
if (data.reunionByUid !== undefined && acte.reunionRef !== undefined) {
|
|
74
|
-
var reunion = data.reunionByUid[acte.reunionRef];
|
|
75
|
-
if (reunion !== undefined) {
|
|
76
|
-
acte.reunion = reunion;
|
|
77
|
-
insertReunionReferences(reunion, data, visitedUids);
|
|
78
|
-
if (acte.odjRef !== undefined) {
|
|
79
|
-
var odj = reunion.odj;
|
|
80
|
-
if (odj !== undefined && odj.pointsOdj !== undefined) {
|
|
81
|
-
var _iterator2 = _createForOfIteratorHelper(odj.pointsOdj),
|
|
82
|
-
_step2;
|
|
83
|
-
try {
|
|
84
|
-
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
85
|
-
var pointOdj = _step2.value;
|
|
86
|
-
if (pointOdj.uid === acte.odjRef) {
|
|
87
|
-
acte.odj = pointOdj;
|
|
88
|
-
break;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
} catch (err) {
|
|
92
|
-
_iterator2.e(err);
|
|
93
|
-
} finally {
|
|
94
|
-
_iterator2.f();
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
if (data.documentByUid !== undefined && acte.texteAdopteRef !== undefined) {
|
|
101
|
-
var _document = data.documentByUid[acte.texteAdopteRef];
|
|
102
|
-
if (_document !== undefined) {
|
|
103
|
-
acte.texteAdopte = _document;
|
|
104
|
-
insertDocumentReferences(_document, data, visitedUids);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
if (data.documentByUid !== undefined && acte.texteAssocieRef !== undefined) {
|
|
108
|
-
var _document2 = data.documentByUid[acte.texteAssocieRef];
|
|
109
|
-
if (_document2 !== undefined) {
|
|
110
|
-
acte.texteAssocie = _document2;
|
|
111
|
-
insertDocumentReferences(_document2, data, visitedUids);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
if (data.documentByUid !== undefined && acte.textesAssocies !== undefined) {
|
|
115
|
-
var _iterator3 = _createForOfIteratorHelper(acte.textesAssocies),
|
|
116
|
-
_step3;
|
|
117
|
-
try {
|
|
118
|
-
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
119
|
-
var texteAssocie = _step3.value;
|
|
120
|
-
var _document3 = data.documentByUid[texteAssocie.texteAssocieRef];
|
|
121
|
-
if (_document3 !== undefined) {
|
|
122
|
-
texteAssocie.texteAssocie = _document3;
|
|
123
|
-
insertDocumentReferences(_document3, data, visitedUids);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
} catch (err) {
|
|
127
|
-
_iterator3.e(err);
|
|
128
|
-
} finally {
|
|
129
|
-
_iterator3.f();
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
if (data.scrutinByUid !== undefined && acte.voteRefs !== undefined) {
|
|
133
|
-
var scrutins = [];
|
|
134
|
-
var _iterator4 = _createForOfIteratorHelper(acte.voteRefs),
|
|
135
|
-
_step4;
|
|
136
|
-
try {
|
|
137
|
-
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
138
|
-
var voteRef = _step4.value;
|
|
139
|
-
var scrutin = data.scrutinByUid[voteRef];
|
|
140
|
-
if (scrutin !== undefined) {
|
|
141
|
-
scrutins.push(scrutin);
|
|
142
|
-
insertScrutinReferences(scrutin, data, visitedUids);
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
} catch (err) {
|
|
146
|
-
_iterator4.e(err);
|
|
147
|
-
} finally {
|
|
148
|
-
_iterator4.f();
|
|
149
|
-
}
|
|
150
|
-
acte.votes = scrutins;
|
|
151
|
-
}
|
|
152
|
-
var _iterator5 = _createForOfIteratorHelper(acte.actesLegislatifs || []),
|
|
153
|
-
_step5;
|
|
154
|
-
try {
|
|
155
|
-
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
156
|
-
var childActe = _step5.value;
|
|
157
|
-
insertActeLegislatifReferences(childActe, data, visitedUids);
|
|
158
|
-
}
|
|
159
|
-
} catch (err) {
|
|
160
|
-
_iterator5.e(err);
|
|
161
|
-
} finally {
|
|
162
|
-
_iterator5.f();
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
return acte;
|
|
166
|
-
}
|
|
167
|
-
function insertActeurReferences(acteur, data, visitedUids) {
|
|
168
|
-
if (!visitedUids.has(acteur.uid)) {
|
|
169
|
-
visitedUids.add(acteur.uid);
|
|
170
|
-
if (data.organeByUid !== undefined) {
|
|
171
|
-
var _iterator6 = _createForOfIteratorHelper(acteur.mandats || []),
|
|
172
|
-
_step6;
|
|
173
|
-
try {
|
|
174
|
-
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
|
175
|
-
var mandat = _step6.value;
|
|
176
|
-
var organes = [];
|
|
177
|
-
var _iterator7 = _createForOfIteratorHelper(mandat.organesRefs),
|
|
178
|
-
_step7;
|
|
179
|
-
try {
|
|
180
|
-
for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
|
|
181
|
-
var organeRef = _step7.value;
|
|
182
|
-
var organe = data.organeByUid[organeRef];
|
|
183
|
-
if (organe !== undefined) {
|
|
184
|
-
organes.push(organe);
|
|
185
|
-
insertOrganeReferences(organe, data, visitedUids);
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
} catch (err) {
|
|
189
|
-
_iterator7.e(err);
|
|
190
|
-
} finally {
|
|
191
|
-
_iterator7.f();
|
|
192
|
-
}
|
|
193
|
-
mandat.organes = organes;
|
|
194
|
-
}
|
|
195
|
-
} catch (err) {
|
|
196
|
-
_iterator6.e(err);
|
|
197
|
-
} finally {
|
|
198
|
-
_iterator6.f();
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
return acteur;
|
|
203
|
-
}
|
|
204
|
-
function insertAmendementReferences(amendement, data, visitedUids) {
|
|
205
|
-
if (!visitedUids.has(amendement.uid)) {
|
|
206
|
-
visitedUids.add(amendement.uid);
|
|
207
|
-
var signataires = amendement.signataires;
|
|
208
|
-
var auteur = signataires.auteur;
|
|
209
|
-
if (data.acteurByUid !== undefined && auteur.acteurRef !== undefined) {
|
|
210
|
-
var acteur = data.acteurByUid[auteur.acteurRef];
|
|
211
|
-
if (acteur !== undefined) {
|
|
212
|
-
auteur.acteur = acteur;
|
|
213
|
-
insertActeurReferences(acteur, data, visitedUids);
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
if (data.organeByUid !== undefined && auteur.auteurRapporteurOrganeRef !== undefined) {
|
|
217
|
-
var auteurRapporteurOrgane = data.organeByUid[auteur.auteurRapporteurOrganeRef];
|
|
218
|
-
if (auteurRapporteurOrgane !== undefined) {
|
|
219
|
-
auteur.auteurRapporteurOrgane = auteurRapporteurOrgane;
|
|
220
|
-
insertOrganeReferences(auteurRapporteurOrgane, data, visitedUids);
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
if (data.organeByUid !== undefined && auteur.gouvernementRef !== undefined) {
|
|
224
|
-
var gouvernement = data.organeByUid[auteur.gouvernementRef];
|
|
225
|
-
if (gouvernement !== undefined) {
|
|
226
|
-
auteur.gouvernement = gouvernement;
|
|
227
|
-
insertOrganeReferences(gouvernement, data, visitedUids);
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
if (data.organeByUid !== undefined && auteur.groupePolitiqueRef !== undefined) {
|
|
231
|
-
var organe = data.organeByUid[auteur.groupePolitiqueRef];
|
|
232
|
-
if (organe !== undefined) {
|
|
233
|
-
auteur.groupePolitique = organe;
|
|
234
|
-
insertOrganeReferences(organe, data, visitedUids);
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
if (data.acteurByUid !== undefined) {
|
|
238
|
-
var cosignatairesRefs = signataires.cosignatairesRefs;
|
|
239
|
-
if (cosignatairesRefs !== undefined) {
|
|
240
|
-
var cosignataires = [];
|
|
241
|
-
var _iterator8 = _createForOfIteratorHelper(signataires.cosignatairesRefs || []),
|
|
242
|
-
_step8;
|
|
243
|
-
try {
|
|
244
|
-
for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
|
|
245
|
-
var cosignataireRef = _step8.value;
|
|
246
|
-
var cosignataire = data.acteurByUid[cosignataireRef];
|
|
247
|
-
if (cosignataire !== undefined) {
|
|
248
|
-
cosignataires.push(cosignataire);
|
|
249
|
-
insertActeurReferences(cosignataire, data, visitedUids);
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
} catch (err) {
|
|
253
|
-
_iterator8.e(err);
|
|
254
|
-
} finally {
|
|
255
|
-
_iterator8.f();
|
|
256
|
-
}
|
|
257
|
-
signataires.cosignataires = cosignataires;
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
return amendement;
|
|
262
|
-
}
|
|
263
|
-
function insertDivisionReferences(division, data, visitedUids) {
|
|
264
|
-
var _iterator9 = _createForOfIteratorHelper(division.auteurs),
|
|
265
|
-
_step9;
|
|
266
|
-
try {
|
|
267
|
-
for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
|
|
268
|
-
var auteur = _step9.value;
|
|
269
|
-
var acteurSummary = auteur.acteur;
|
|
270
|
-
if (data.acteurByUid !== undefined && acteurSummary !== undefined) {
|
|
271
|
-
var acteur = data.acteurByUid[acteurSummary.acteurRef];
|
|
272
|
-
if (acteur !== undefined) {
|
|
273
|
-
acteurSummary.acteur = acteur;
|
|
274
|
-
insertActeurReferences(acteur, data, visitedUids);
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
if (data.organeByUid !== undefined && auteur.organeRef !== undefined) {
|
|
278
|
-
var organe = data.organeByUid[auteur.organeRef];
|
|
279
|
-
if (organe !== undefined) {
|
|
280
|
-
auteur.organe = organe;
|
|
281
|
-
insertOrganeReferences(organe, data, visitedUids);
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
} catch (err) {
|
|
286
|
-
_iterator9.e(err);
|
|
287
|
-
} finally {
|
|
288
|
-
_iterator9.f();
|
|
289
|
-
}
|
|
290
|
-
if (data.dossierByUid !== undefined) {
|
|
291
|
-
var dossier = data.dossierByUid[division.dossierRef];
|
|
292
|
-
if (dossier !== undefined) {
|
|
293
|
-
division.dossier = dossier;
|
|
294
|
-
insertDossierReferences(dossier, data, visitedUids);
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
var _iterator10 = _createForOfIteratorHelper(division.divisions || []),
|
|
298
|
-
_step10;
|
|
299
|
-
try {
|
|
300
|
-
for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {
|
|
301
|
-
var childDivision = _step10.value;
|
|
302
|
-
insertDivisionReferences(childDivision, data, visitedUids);
|
|
303
|
-
}
|
|
304
|
-
} catch (err) {
|
|
305
|
-
_iterator10.e(err);
|
|
306
|
-
} finally {
|
|
307
|
-
_iterator10.f();
|
|
308
|
-
}
|
|
309
|
-
return division;
|
|
310
|
-
}
|
|
311
|
-
function insertDocumentReferences(document, data, visitedUids) {
|
|
312
|
-
if (!visitedUids.has(document.uid)) {
|
|
313
|
-
visitedUids.add(document.uid);
|
|
314
|
-
var _iterator11 = _createForOfIteratorHelper(document.auteurs),
|
|
315
|
-
_step11;
|
|
316
|
-
try {
|
|
317
|
-
for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {
|
|
318
|
-
var auteur = _step11.value;
|
|
319
|
-
var acteurSummary = auteur.acteur;
|
|
320
|
-
if (data.acteurByUid !== undefined && acteurSummary !== undefined) {
|
|
321
|
-
var acteur = data.acteurByUid[acteurSummary.acteurRef];
|
|
322
|
-
if (acteur !== undefined) {
|
|
323
|
-
acteurSummary.acteur = acteur;
|
|
324
|
-
insertActeurReferences(acteur, data, visitedUids);
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
if (data.organeByUid !== undefined && auteur.organeRef !== undefined) {
|
|
328
|
-
var organe = data.organeByUid[auteur.organeRef];
|
|
329
|
-
if (organe !== undefined) {
|
|
330
|
-
auteur.organe = organe;
|
|
331
|
-
insertOrganeReferences(organe, data, visitedUids);
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
|
-
} catch (err) {
|
|
336
|
-
_iterator11.e(err);
|
|
337
|
-
} finally {
|
|
338
|
-
_iterator11.f();
|
|
339
|
-
}
|
|
340
|
-
if (data.dossierByUid !== undefined) {
|
|
341
|
-
var dossier = data.dossierByUid[document.dossierRef];
|
|
342
|
-
if (dossier !== undefined) {
|
|
343
|
-
document.dossier = dossier;
|
|
344
|
-
insertDossierReferences(dossier, data, visitedUids);
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
var _iterator12 = _createForOfIteratorHelper(document.divisions || []),
|
|
348
|
-
_step12;
|
|
349
|
-
try {
|
|
350
|
-
for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {
|
|
351
|
-
var division = _step12.value;
|
|
352
|
-
insertDivisionReferences(division, data, visitedUids);
|
|
353
|
-
}
|
|
354
|
-
} catch (err) {
|
|
355
|
-
_iterator12.e(err);
|
|
356
|
-
} finally {
|
|
357
|
-
_iterator12.f();
|
|
358
|
-
}
|
|
359
|
-
}
|
|
360
|
-
return document;
|
|
361
|
-
}
|
|
362
|
-
function insertDossierReferences(dossier, data, visitedUids) {
|
|
363
|
-
if (!visitedUids.has(dossier.uid)) {
|
|
364
|
-
var _dossier$actesLegisla;
|
|
365
|
-
visitedUids.add(dossier.uid);
|
|
366
|
-
var _iterator13 = _createForOfIteratorHelper((_dossier$actesLegisla = dossier.actesLegislatifs) !== null && _dossier$actesLegisla !== void 0 ? _dossier$actesLegisla : []),
|
|
367
|
-
_step13;
|
|
368
|
-
try {
|
|
369
|
-
for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {
|
|
370
|
-
var acte = _step13.value;
|
|
371
|
-
insertActeLegislatifReferences(acte, data, visitedUids);
|
|
372
|
-
}
|
|
373
|
-
} catch (err) {
|
|
374
|
-
_iterator13.e(err);
|
|
375
|
-
} finally {
|
|
376
|
-
_iterator13.f();
|
|
377
|
-
}
|
|
378
|
-
var initiateur = dossier.initiateur;
|
|
379
|
-
if (initiateur !== undefined) {
|
|
380
|
-
if (data.acteurByUid !== undefined) {
|
|
381
|
-
var _iterator14 = _createForOfIteratorHelper(initiateur.acteurs || []),
|
|
382
|
-
_step14;
|
|
383
|
-
try {
|
|
384
|
-
for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {
|
|
385
|
-
var acteurSummary = _step14.value;
|
|
386
|
-
var acteur = data.acteurByUid[acteurSummary.acteurRef];
|
|
387
|
-
if (acteur !== undefined) {
|
|
388
|
-
acteurSummary.acteur = acteur;
|
|
389
|
-
insertActeurReferences(acteur, data, visitedUids);
|
|
390
|
-
}
|
|
391
|
-
if (acteur !== undefined && acteurSummary.mandatRef !== undefined) {
|
|
392
|
-
var _iterator15 = _createForOfIteratorHelper(acteur.mandats || []),
|
|
393
|
-
_step15;
|
|
394
|
-
try {
|
|
395
|
-
for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) {
|
|
396
|
-
var mandat = _step15.value;
|
|
397
|
-
if (mandat.uid === acteurSummary.mandatRef) {
|
|
398
|
-
acteurSummary.mandat = mandat;
|
|
399
|
-
break;
|
|
400
|
-
}
|
|
401
|
-
}
|
|
402
|
-
} catch (err) {
|
|
403
|
-
_iterator15.e(err);
|
|
404
|
-
} finally {
|
|
405
|
-
_iterator15.f();
|
|
406
|
-
}
|
|
407
|
-
}
|
|
408
|
-
}
|
|
409
|
-
} catch (err) {
|
|
410
|
-
_iterator14.e(err);
|
|
411
|
-
} finally {
|
|
412
|
-
_iterator14.f();
|
|
413
|
-
}
|
|
414
|
-
}
|
|
415
|
-
if (data.organeByUid !== undefined && initiateur.organeRef !== undefined) {
|
|
416
|
-
var organe = data.organeByUid[initiateur.organeRef];
|
|
417
|
-
if (organe !== undefined) {
|
|
418
|
-
initiateur.organe = organe;
|
|
419
|
-
insertOrganeReferences(organe, data, visitedUids);
|
|
420
|
-
}
|
|
421
|
-
}
|
|
422
|
-
}
|
|
423
|
-
}
|
|
424
|
-
return dossier;
|
|
425
|
-
}
|
|
426
|
-
function insertOrganeReferences(organe, data, visitedUids) {
|
|
427
|
-
if (!visitedUids.has(organe.uid)) {
|
|
428
|
-
visitedUids.add(organe.uid);
|
|
429
|
-
if (data.organeByUid !== undefined && organe.organeParentRef !== undefined) {
|
|
430
|
-
var organeParent = data.organeByUid[organe.organeParentRef];
|
|
431
|
-
if (organeParent !== undefined) {
|
|
432
|
-
organe.organeParent = organeParent;
|
|
433
|
-
insertOrganeReferences(organeParent, data, visitedUids);
|
|
434
|
-
}
|
|
435
|
-
}
|
|
436
|
-
if (data.organeByUid !== undefined && organe.organePrecedentRef !== undefined) {
|
|
437
|
-
var organePrecedent = data.organeByUid[organe.organePrecedentRef];
|
|
438
|
-
if (organePrecedent !== undefined) {
|
|
439
|
-
organe.organePrecedent = organePrecedent;
|
|
440
|
-
insertOrganeReferences(organePrecedent, data, visitedUids);
|
|
441
|
-
}
|
|
442
|
-
}
|
|
443
|
-
|
|
444
|
-
// TODO
|
|
445
|
-
}
|
|
446
|
-
return organe;
|
|
447
|
-
}
|
|
448
|
-
function insertReunionReferences(reunion, data, visitedUids) {
|
|
449
|
-
if (!visitedUids.has(reunion.uid)) {
|
|
450
|
-
visitedUids.add(reunion.uid);
|
|
451
|
-
var demandeurs = reunion.demandeurs;
|
|
452
|
-
if (demandeurs !== undefined) {
|
|
453
|
-
if (data.acteurByUid !== undefined) {
|
|
454
|
-
var _iterator16 = _createForOfIteratorHelper(demandeurs.acteurs || []),
|
|
455
|
-
_step16;
|
|
456
|
-
try {
|
|
457
|
-
for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) {
|
|
458
|
-
var acteurSummary = _step16.value;
|
|
459
|
-
var acteur = data.acteurByUid[acteurSummary.acteurRef];
|
|
460
|
-
if (acteur !== undefined) {
|
|
461
|
-
acteurSummary.acteur = acteur;
|
|
462
|
-
insertActeurReferences(acteur, data, visitedUids);
|
|
463
|
-
}
|
|
464
|
-
}
|
|
465
|
-
} catch (err) {
|
|
466
|
-
_iterator16.e(err);
|
|
467
|
-
} finally {
|
|
468
|
-
_iterator16.f();
|
|
469
|
-
}
|
|
470
|
-
}
|
|
471
|
-
if (data.organeByUid !== undefined) {
|
|
472
|
-
var organeSummary = demandeurs.organe;
|
|
473
|
-
if (organeSummary !== undefined) {
|
|
474
|
-
var organe = data.organeByUid[organeSummary.organeRef];
|
|
475
|
-
if (organe !== undefined) {
|
|
476
|
-
organeSummary.organe = organe;
|
|
477
|
-
insertOrganeReferences(organe, data, visitedUids);
|
|
478
|
-
}
|
|
479
|
-
}
|
|
480
|
-
}
|
|
481
|
-
}
|
|
482
|
-
if (data.organeByUid !== undefined && reunion.organeReuniRef !== undefined) {
|
|
483
|
-
var organeReuni = data.organeByUid[reunion.organeReuniRef];
|
|
484
|
-
if (organeReuni !== undefined) {
|
|
485
|
-
reunion.organeReuni = organeReuni;
|
|
486
|
-
insertOrganeReferences(organeReuni, data, visitedUids);
|
|
487
|
-
}
|
|
488
|
-
}
|
|
489
|
-
if (data.acteurByUid !== undefined) {
|
|
490
|
-
var participants = reunion.participants;
|
|
491
|
-
if (participants !== undefined) {
|
|
492
|
-
var _iterator17 = _createForOfIteratorHelper(participants.participantsInternes || []),
|
|
493
|
-
_step17;
|
|
494
|
-
try {
|
|
495
|
-
for (_iterator17.s(); !(_step17 = _iterator17.n()).done;) {
|
|
496
|
-
var participantInterne = _step17.value;
|
|
497
|
-
var _acteur = data.acteurByUid[participantInterne.acteurRef];
|
|
498
|
-
if (_acteur !== undefined) {
|
|
499
|
-
participantInterne.acteur = _acteur;
|
|
500
|
-
insertActeurReferences(_acteur, data, visitedUids);
|
|
501
|
-
}
|
|
502
|
-
}
|
|
503
|
-
} catch (err) {
|
|
504
|
-
_iterator17.e(err);
|
|
505
|
-
} finally {
|
|
506
|
-
_iterator17.f();
|
|
507
|
-
}
|
|
508
|
-
}
|
|
509
|
-
}
|
|
510
|
-
}
|
|
511
|
-
return reunion;
|
|
512
|
-
}
|
|
513
|
-
function insertScrutinReferences(scrutin, _data, visitedUids) {
|
|
514
|
-
if (!visitedUids.has(scrutin.uid)) {
|
|
515
|
-
visitedUids.add(scrutin.uid);
|
|
516
|
-
|
|
517
|
-
// TODO
|
|
518
|
-
}
|
|
519
|
-
return scrutin;
|
|
520
|
-
}
|
|
521
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpbnNlcnRBY3RlTGVnaXNsYXRpZlJlZmVyZW5jZXMiLCJhY3RlIiwiZGF0YSIsInZpc2l0ZWRVaWRzIiwiaGFzIiwidWlkIiwiYWRkIiwiZG9jdW1lbnRCeVVpZCIsInVuZGVmaW5lZCIsImRlcG90SW5pdGlhbExlY3R1cmVEZWZpbml0aXZlUmVmIiwiZG9jdW1lbnQiLCJkZXBvdEluaXRpYWxMZWN0dXJlRGVmaW5pdGl2ZSIsImluc2VydERvY3VtZW50UmVmZXJlbmNlcyIsIm9yZ2FuZUJ5VWlkIiwib3JnYW5lUmVmIiwib3JnYW5lIiwiaW5zZXJ0T3JnYW5lUmVmZXJlbmNlcyIsInByb3ZlbmFuY2VSZWYiLCJwcm92ZW5hbmNlIiwiYWN0ZXVyQnlVaWQiLCJyYXBwb3J0ZXVycyIsIl9pdGVyYXRvciIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiX3N0ZXAiLCJzIiwibiIsImRvbmUiLCJyYXBwb3J0ZXVyIiwidmFsdWUiLCJhY3RldXIiLCJhY3RldXJSZWYiLCJpbnNlcnRBY3RldXJSZWZlcmVuY2VzIiwiZXJyIiwiZSIsImYiLCJyZXVuaW9uQnlVaWQiLCJyZXVuaW9uUmVmIiwicmV1bmlvbiIsImluc2VydFJldW5pb25SZWZlcmVuY2VzIiwib2RqUmVmIiwib2RqIiwicG9pbnRzT2RqIiwiX2l0ZXJhdG9yMiIsIl9zdGVwMiIsInBvaW50T2RqIiwidGV4dGVBZG9wdGVSZWYiLCJ0ZXh0ZUFkb3B0ZSIsInRleHRlQXNzb2NpZVJlZiIsInRleHRlQXNzb2NpZSIsInRleHRlc0Fzc29jaWVzIiwiX2l0ZXJhdG9yMyIsIl9zdGVwMyIsInNjcnV0aW5CeVVpZCIsInZvdGVSZWZzIiwic2NydXRpbnMiLCJfaXRlcmF0b3I0IiwiX3N0ZXA0Iiwidm90ZVJlZiIsInNjcnV0aW4iLCJwdXNoIiwiaW5zZXJ0U2NydXRpblJlZmVyZW5jZXMiLCJ2b3RlcyIsIl9pdGVyYXRvcjUiLCJhY3Rlc0xlZ2lzbGF0aWZzIiwiX3N0ZXA1IiwiY2hpbGRBY3RlIiwiX2l0ZXJhdG9yNiIsIm1hbmRhdHMiLCJfc3RlcDYiLCJtYW5kYXQiLCJvcmdhbmVzIiwiX2l0ZXJhdG9yNyIsIm9yZ2FuZXNSZWZzIiwiX3N0ZXA3IiwiaW5zZXJ0QW1lbmRlbWVudFJlZmVyZW5jZXMiLCJhbWVuZGVtZW50Iiwic2lnbmF0YWlyZXMiLCJhdXRldXIiLCJhdXRldXJSYXBwb3J0ZXVyT3JnYW5lUmVmIiwiYXV0ZXVyUmFwcG9ydGV1ck9yZ2FuZSIsImdvdXZlcm5lbWVudFJlZiIsImdvdXZlcm5lbWVudCIsImdyb3VwZVBvbGl0aXF1ZVJlZiIsImdyb3VwZVBvbGl0aXF1ZSIsImNvc2lnbmF0YWlyZXNSZWZzIiwiY29zaWduYXRhaXJlcyIsIl9pdGVyYXRvcjgiLCJfc3RlcDgiLCJjb3NpZ25hdGFpcmVSZWYiLCJjb3NpZ25hdGFpcmUiLCJpbnNlcnREaXZpc2lvblJlZmVyZW5jZXMiLCJkaXZpc2lvbiIsIl9pdGVyYXRvcjkiLCJhdXRldXJzIiwiX3N0ZXA5IiwiYWN0ZXVyU3VtbWFyeSIsImRvc3NpZXJCeVVpZCIsImRvc3NpZXIiLCJkb3NzaWVyUmVmIiwiaW5zZXJ0RG9zc2llclJlZmVyZW5jZXMiLCJfaXRlcmF0b3IxMCIsImRpdmlzaW9ucyIsIl9zdGVwMTAiLCJjaGlsZERpdmlzaW9uIiwiX2l0ZXJhdG9yMTEiLCJfc3RlcDExIiwiX2l0ZXJhdG9yMTIiLCJfc3RlcDEyIiwiX2Rvc3NpZXIkYWN0ZXNMZWdpc2xhIiwiX2l0ZXJhdG9yMTMiLCJfc3RlcDEzIiwiaW5pdGlhdGV1ciIsIl9pdGVyYXRvcjE0IiwiYWN0ZXVycyIsIl9zdGVwMTQiLCJtYW5kYXRSZWYiLCJfaXRlcmF0b3IxNSIsIl9zdGVwMTUiLCJvcmdhbmVQYXJlbnRSZWYiLCJvcmdhbmVQYXJlbnQiLCJvcmdhbmVQcmVjZWRlbnRSZWYiLCJvcmdhbmVQcmVjZWRlbnQiLCJkZW1hbmRldXJzIiwiX2l0ZXJhdG9yMTYiLCJfc3RlcDE2Iiwib3JnYW5lU3VtbWFyeSIsIm9yZ2FuZVJldW5pUmVmIiwib3JnYW5lUmV1bmkiLCJwYXJ0aWNpcGFudHMiLCJfaXRlcmF0b3IxNyIsInBhcnRpY2lwYW50c0ludGVybmVzIiwiX3N0ZXAxNyIsInBhcnRpY2lwYW50SW50ZXJuZSIsIl9kYXRhIl0sInNvdXJjZXMiOlsiLi4vc3JjL2luc2VydGVycy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3RldXIsIE9yZ2FuZSB9IGZyb20gXCIuL3R5cGVzL2FjdGV1cnNfZXRfb3JnYW5lc1wiXG5pbXBvcnQgeyBSZXVuaW9uIH0gZnJvbSBcIi4vdHlwZXMvYWdlbmRhc1wiXG5pbXBvcnQgeyBBbWVuZGVtZW50IH0gZnJvbSBcIi4vdHlwZXMvYW1lbmRlbWVudHNcIlxuaW1wb3J0IHtcbiAgQWN0ZUxlZ2lzbGF0aWYsXG4gIERpdmlzaW9uLFxuICBEb2N1bWVudCxcbiAgRG9zc2llclBhcmxlbWVudGFpcmUsXG59IGZyb20gXCIuL3R5cGVzL2Rvc3NpZXJzX2xlZ2lzbGF0aWZzXCJcbmltcG9ydCB7IFNjcnV0aW4gfSBmcm9tIFwiLi90eXBlcy9zY3J1dGluc1wiXG5cbmV4cG9ydCBpbnRlcmZhY2UgT3V0cHV0RGF0YSB7XG4gIHJlYWRvbmx5IGFjdGV1ckJ5VWlkPzogeyBbdWlkOiBzdHJpbmddOiBBY3RldXIgfVxuICByZWFkb25seSBhbWVuZGVtZW50QnlVaWQ/OiB7IFt1aWQ6IHN0cmluZ106IEFtZW5kZW1lbnQgfVxuICByZWFkb25seSBkb2N1bWVudEJ5VWlkPzogeyBbdWlkOiBzdHJpbmddOiBEb2N1bWVudCB9XG4gIHJlYWRvbmx5IGRvc3NpZXJCeVVpZD86IHsgW3VpZDogc3RyaW5nXTogRG9zc2llclBhcmxlbWVudGFpcmUgfVxuICByZWFkb25seSBvcmdhbmVCeVVpZD86IHsgW3VpZDogc3RyaW5nXTogT3JnYW5lIH1cbiAgcmVhZG9ubHkgcmV1bmlvbkJ5VWlkPzogeyBbdWlkOiBzdHJpbmddOiBSZXVuaW9uIH1cbiAgcmVhZG9ubHkgc2NydXRpbkJ5VWlkPzogeyBbdWlkOiBzdHJpbmddOiBTY3J1dGluIH1cbn1cblxuZnVuY3Rpb24gaW5zZXJ0QWN0ZUxlZ2lzbGF0aWZSZWZlcmVuY2VzKFxuICBhY3RlOiBBY3RlTGVnaXNsYXRpZixcbiAgZGF0YTogT3V0cHV0RGF0YSxcbiAgdmlzaXRlZFVpZHM6IFNldDxzdHJpbmc+LFxuKSB7XG4gIGlmICghdmlzaXRlZFVpZHMuaGFzKGFjdGUudWlkKSkge1xuICAgIHZpc2l0ZWRVaWRzLmFkZChhY3RlLnVpZClcblxuICAgIGlmIChcbiAgICAgIGRhdGEuZG9jdW1lbnRCeVVpZCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICBhY3RlLmRlcG90SW5pdGlhbExlY3R1cmVEZWZpbml0aXZlUmVmICE9PSB1bmRlZmluZWRcbiAgICApIHtcbiAgICAgIGNvbnN0IGRvY3VtZW50ID0gZGF0YS5kb2N1bWVudEJ5VWlkW2FjdGUuZGVwb3RJbml0aWFsTGVjdHVyZURlZmluaXRpdmVSZWZdXG4gICAgICBpZiAoZG9jdW1lbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBhY3RlLmRlcG90SW5pdGlhbExlY3R1cmVEZWZpbml0aXZlID0gZG9jdW1lbnRcbiAgICAgICAgaW5zZXJ0RG9jdW1lbnRSZWZlcmVuY2VzKGRvY3VtZW50LCBkYXRhLCB2aXNpdGVkVWlkcylcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGRhdGEub3JnYW5lQnlVaWQgIT09IHVuZGVmaW5lZCAmJiBhY3RlLm9yZ2FuZVJlZiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCBvcmdhbmUgPSBkYXRhLm9yZ2FuZUJ5VWlkW2FjdGUub3JnYW5lUmVmXVxuICAgICAgaWYgKG9yZ2FuZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGFjdGUub3JnYW5lID0gb3JnYW5lXG4gICAgICAgIGluc2VydE9yZ2FuZVJlZmVyZW5jZXMob3JnYW5lLCBkYXRhLCB2aXNpdGVkVWlkcylcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGRhdGEub3JnYW5lQnlVaWQgIT09IHVuZGVmaW5lZCAmJiBhY3RlLnByb3ZlbmFuY2VSZWYgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3Qgb3JnYW5lID0gZGF0YS5vcmdhbmVCeVVpZFthY3RlLnByb3ZlbmFuY2VSZWZdXG4gICAgICBpZiAob3JnYW5lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgYWN0ZS5wcm92ZW5hbmNlID0gb3JnYW5lXG4gICAgICAgIGluc2VydE9yZ2FuZVJlZmVyZW5jZXMob3JnYW5lLCBkYXRhLCB2aXNpdGVkVWlkcylcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGRhdGEuYWN0ZXVyQnlVaWQgIT09IHVuZGVmaW5lZCAmJiBhY3RlLnJhcHBvcnRldXJzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGZvciAoY29uc3QgcmFwcG9ydGV1ciBvZiBhY3RlLnJhcHBvcnRldXJzKSB7XG4gICAgICAgIGNvbnN0IGFjdGV1ciA9IGRhdGEuYWN0ZXVyQnlVaWRbcmFwcG9ydGV1ci5hY3RldXJSZWZdXG4gICAgICAgIGlmIChhY3RldXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHJhcHBvcnRldXIuYWN0ZXVyID0gYWN0ZXVyXG4gICAgICAgICAgaW5zZXJ0QWN0ZXVyUmVmZXJlbmNlcyhhY3RldXIsIGRhdGEsIHZpc2l0ZWRVaWRzKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChkYXRhLnJldW5pb25CeVVpZCAhPT0gdW5kZWZpbmVkICYmIGFjdGUucmV1bmlvblJlZiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCByZXVuaW9uID0gZGF0YS5yZXVuaW9uQnlVaWRbYWN0ZS5yZXVuaW9uUmVmXVxuICAgICAgaWYgKHJldW5pb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBhY3RlLnJldW5pb24gPSByZXVuaW9uXG4gICAgICAgIGluc2VydFJldW5pb25SZWZlcmVuY2VzKHJldW5pb24sIGRhdGEsIHZpc2l0ZWRVaWRzKVxuICAgICAgICBpZiAoYWN0ZS5vZGpSZWYgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGNvbnN0IG9kaiA9IHJldW5pb24ub2RqXG4gICAgICAgICAgaWYgKG9kaiAhPT0gdW5kZWZpbmVkICYmIG9kai5wb2ludHNPZGogIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBwb2ludE9kaiBvZiBvZGoucG9pbnRzT2RqKSB7XG4gICAgICAgICAgICAgIGlmIChwb2ludE9kai51aWQgPT09IGFjdGUub2RqUmVmKSB7XG4gICAgICAgICAgICAgICAgYWN0ZS5vZGogPSBwb2ludE9kalxuICAgICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGRhdGEuZG9jdW1lbnRCeVVpZCAhPT0gdW5kZWZpbmVkICYmIGFjdGUudGV4dGVBZG9wdGVSZWYgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3QgZG9jdW1lbnQgPSBkYXRhLmRvY3VtZW50QnlVaWRbYWN0ZS50ZXh0ZUFkb3B0ZVJlZl1cbiAgICAgIGlmIChkb2N1bWVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGFjdGUudGV4dGVBZG9wdGUgPSBkb2N1bWVudFxuICAgICAgICBpbnNlcnREb2N1bWVudFJlZmVyZW5jZXMoZG9jdW1lbnQsIGRhdGEsIHZpc2l0ZWRVaWRzKVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoXG4gICAgICBkYXRhLmRvY3VtZW50QnlVaWQgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgYWN0ZS50ZXh0ZUFzc29jaWVSZWYgIT09IHVuZGVmaW5lZFxuICAgICkge1xuICAgICAgY29uc3QgZG9jdW1lbnQgPSBkYXRhLmRvY3VtZW50QnlVaWRbYWN0ZS50ZXh0ZUFzc29jaWVSZWZdXG4gICAgICBpZiAoZG9jdW1lbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBhY3RlLnRleHRlQXNzb2NpZSA9IGRvY3VtZW50XG4gICAgICAgIGluc2VydERvY3VtZW50UmVmZXJlbmNlcyhkb2N1bWVudCwgZGF0YSwgdmlzaXRlZFVpZHMpXG4gICAgICB9XG4gICAgfVxuICAgIGlmIChkYXRhLmRvY3VtZW50QnlVaWQgIT09IHVuZGVmaW5lZCAmJiBhY3RlLnRleHRlc0Fzc29jaWVzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGZvciAoY29uc3QgdGV4dGVBc3NvY2llIG9mIGFjdGUudGV4dGVzQXNzb2NpZXMpIHtcbiAgICAgICAgY29uc3QgZG9jdW1lbnQgPSBkYXRhLmRvY3VtZW50QnlVaWRbdGV4dGVBc3NvY2llLnRleHRlQXNzb2NpZVJlZl1cbiAgICAgICAgaWYgKGRvY3VtZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICB0ZXh0ZUFzc29jaWUudGV4dGVBc3NvY2llID0gZG9jdW1lbnRcbiAgICAgICAgICBpbnNlcnREb2N1bWVudFJlZmVyZW5jZXMoZG9jdW1lbnQsIGRhdGEsIHZpc2l0ZWRVaWRzKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChkYXRhLnNjcnV0aW5CeVVpZCAhPT0gdW5kZWZpbmVkICYmIGFjdGUudm90ZVJlZnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3Qgc2NydXRpbnMgPSBbXVxuICAgICAgZm9yIChjb25zdCB2b3RlUmVmIG9mIGFjdGUudm90ZVJlZnMpIHtcbiAgICAgICAgY29uc3Qgc2NydXRpbiA9IGRhdGEuc2NydXRpbkJ5VWlkW3ZvdGVSZWZdXG4gICAgICAgIGlmIChzY3J1dGluICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBzY3J1dGlucy5wdXNoKHNjcnV0aW4pXG4gICAgICAgICAgaW5zZXJ0U2NydXRpblJlZmVyZW5jZXMoc2NydXRpbiwgZGF0YSwgdmlzaXRlZFVpZHMpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGFjdGUudm90ZXMgPSBzY3J1dGluc1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgY2hpbGRBY3RlIG9mIGFjdGUuYWN0ZXNMZWdpc2xhdGlmcyB8fCBbXSkge1xuICAgICAgaW5zZXJ0QWN0ZUxlZ2lzbGF0aWZSZWZlcmVuY2VzKGNoaWxkQWN0ZSwgZGF0YSwgdmlzaXRlZFVpZHMpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGFjdGVcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluc2VydEFjdGV1clJlZmVyZW5jZXMoXG4gIGFjdGV1cjogQWN0ZXVyLFxuICBkYXRhOiBPdXRwdXREYXRhLFxuICB2aXNpdGVkVWlkczogU2V0PHN0cmluZz4sXG4pIHtcbiAgaWYgKCF2aXNpdGVkVWlkcy5oYXMoYWN0ZXVyLnVpZCkpIHtcbiAgICB2aXNpdGVkVWlkcy5hZGQoYWN0ZXVyLnVpZClcblxuICAgIGlmIChkYXRhLm9yZ2FuZUJ5VWlkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGZvciAoY29uc3QgbWFuZGF0IG9mIGFjdGV1ci5tYW5kYXRzIHx8IFtdKSB7XG4gICAgICAgIGNvbnN0IG9yZ2FuZXMgPSBbXVxuICAgICAgICBmb3IgKGNvbnN0IG9yZ2FuZVJlZiBvZiBtYW5kYXQub3JnYW5lc1JlZnMpIHtcbiAgICAgICAgICBjb25zdCBvcmdhbmUgPSBkYXRhLm9yZ2FuZUJ5VWlkW29yZ2FuZVJlZl1cbiAgICAgICAgICBpZiAob3JnYW5lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIG9yZ2FuZXMucHVzaChvcmdhbmUpXG4gICAgICAgICAgICBpbnNlcnRPcmdhbmVSZWZlcmVuY2VzKG9yZ2FuZSwgZGF0YSwgdmlzaXRlZFVpZHMpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIG1hbmRhdC5vcmdhbmVzID0gb3JnYW5lc1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBhY3RldXJcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluc2VydEFtZW5kZW1lbnRSZWZlcmVuY2VzKFxuICBhbWVuZGVtZW50OiBBbWVuZGVtZW50LFxuICBkYXRhOiBPdXRwdXREYXRhLFxuICB2aXNpdGVkVWlkczogU2V0PHN0cmluZz4sXG4pIHtcbiAgaWYgKCF2aXNpdGVkVWlkcy5oYXMoYW1lbmRlbWVudC51aWQpKSB7XG4gICAgdmlzaXRlZFVpZHMuYWRkKGFtZW5kZW1lbnQudWlkKVxuXG4gICAgY29uc3Qgc2lnbmF0YWlyZXMgPSBhbWVuZGVtZW50LnNpZ25hdGFpcmVzXG4gICAgY29uc3QgYXV0ZXVyID0gc2lnbmF0YWlyZXMuYXV0ZXVyXG4gICAgaWYgKGRhdGEuYWN0ZXVyQnlVaWQgIT09IHVuZGVmaW5lZCAmJiBhdXRldXIuYWN0ZXVyUmVmICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IGFjdGV1ciA9IGRhdGEuYWN0ZXVyQnlVaWRbYXV0ZXVyLmFjdGV1clJlZl1cbiAgICAgIGlmIChhY3RldXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBhdXRldXIuYWN0ZXVyID0gYWN0ZXVyXG4gICAgICAgIGluc2VydEFjdGV1clJlZmVyZW5jZXMoYWN0ZXVyLCBkYXRhLCB2aXNpdGVkVWlkcylcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKFxuICAgICAgZGF0YS5vcmdhbmVCeVVpZCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICBhdXRldXIuYXV0ZXVyUmFwcG9ydGV1ck9yZ2FuZVJlZiAhPT0gdW5kZWZpbmVkXG4gICAgKSB7XG4gICAgICBjb25zdCBhdXRldXJSYXBwb3J0ZXVyT3JnYW5lID1cbiAgICAgICAgZGF0YS5vcmdhbmVCeVVpZFthdXRldXIuYXV0ZXVyUmFwcG9ydGV1ck9yZ2FuZVJlZl1cbiAgICAgIGlmIChhdXRldXJSYXBwb3J0ZXVyT3JnYW5lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgYXV0ZXVyLmF1dGV1clJhcHBvcnRldXJPcmdhbmUgPSBhdXRldXJSYXBwb3J0ZXVyT3JnYW5lXG4gICAgICAgIGluc2VydE9yZ2FuZVJlZmVyZW5jZXMoYXV0ZXVyUmFwcG9ydGV1ck9yZ2FuZSwgZGF0YSwgdmlzaXRlZFVpZHMpXG4gICAgICB9XG4gICAgfVxuICAgIGlmIChcbiAgICAgIGRhdGEub3JnYW5lQnlVaWQgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgYXV0ZXVyLmdvdXZlcm5lbWVudFJlZiAhPT0gdW5kZWZpbmVkXG4gICAgKSB7XG4gICAgICBjb25zdCBnb3V2ZXJuZW1lbnQgPSBkYXRhLm9yZ2FuZUJ5VWlkW2F1dGV1ci5nb3V2ZXJuZW1lbnRSZWZdXG4gICAgICBpZiAoZ291dmVybmVtZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgYXV0ZXVyLmdvdXZlcm5lbWVudCA9IGdvdXZlcm5lbWVudFxuICAgICAgICBpbnNlcnRPcmdhbmVSZWZlcmVuY2VzKGdvdXZlcm5lbWVudCwgZGF0YSwgdmlzaXRlZFVpZHMpXG4gICAgICB9XG4gICAgfVxuICAgIGlmIChcbiAgICAgIGRhdGEub3JnYW5lQnlVaWQgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgYXV0ZXVyLmdyb3VwZVBvbGl0aXF1ZVJlZiAhPT0gdW5kZWZpbmVkXG4gICAgKSB7XG4gICAgICBjb25zdCBvcmdhbmUgPSBkYXRhLm9yZ2FuZUJ5VWlkW2F1dGV1ci5ncm91cGVQb2xpdGlxdWVSZWZdXG4gICAgICBpZiAob3JnYW5lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgYXV0ZXVyLmdyb3VwZVBvbGl0aXF1ZSA9IG9yZ2FuZVxuICAgICAgICBpbnNlcnRPcmdhbmVSZWZlcmVuY2VzKG9yZ2FuZSwgZGF0YSwgdmlzaXRlZFVpZHMpXG4gICAgICB9XG4gICAgfVxuICAgIGlmIChkYXRhLmFjdGV1ckJ5VWlkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IGNvc2lnbmF0YWlyZXNSZWZzID0gc2lnbmF0YWlyZXMuY29zaWduYXRhaXJlc1JlZnNcbiAgICAgIGlmIChjb3NpZ25hdGFpcmVzUmVmcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IGNvc2lnbmF0YWlyZXMgPSBbXVxuICAgICAgICBmb3IgKGNvbnN0IGNvc2lnbmF0YWlyZVJlZiBvZiBzaWduYXRhaXJlcy5jb3NpZ25hdGFpcmVzUmVmcyB8fCBbXSkge1xuICAgICAgICAgIGNvbnN0IGNvc2lnbmF0YWlyZSA9IGRhdGEuYWN0ZXVyQnlVaWRbY29zaWduYXRhaXJlUmVmXVxuICAgICAgICAgIGlmIChjb3NpZ25hdGFpcmUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgY29zaWduYXRhaXJlcy5wdXNoKGNvc2lnbmF0YWlyZSlcbiAgICAgICAgICAgIGluc2VydEFjdGV1clJlZmVyZW5jZXMoY29zaWduYXRhaXJlLCBkYXRhLCB2aXNpdGVkVWlkcylcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgc2lnbmF0YWlyZXMuY29zaWduYXRhaXJlcyA9IGNvc2lnbmF0YWlyZXNcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gYW1lbmRlbWVudFxufVxuXG5mdW5jdGlvbiBpbnNlcnREaXZpc2lvblJlZmVyZW5jZXMoXG4gIGRpdmlzaW9uOiBEaXZpc2lvbixcbiAgZGF0YTogT3V0cHV0RGF0YSxcbiAgdmlzaXRlZFVpZHM6IFNldDxzdHJpbmc+LFxuKSB7XG4gIGZvciAoY29uc3QgYXV0ZXVyIG9mIGRpdmlzaW9uLmF1dGV1cnMpIHtcbiAgICBjb25zdCBhY3RldXJTdW1tYXJ5ID0gYXV0ZXVyLmFjdGV1clxuICAgIGlmIChkYXRhLmFjdGV1ckJ5VWlkICE9PSB1bmRlZmluZWQgJiYgYWN0ZXVyU3VtbWFyeSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCBhY3RldXIgPSBkYXRhLmFjdGV1ckJ5VWlkW2FjdGV1clN1bW1hcnkuYWN0ZXVyUmVmXVxuICAgICAgaWYgKGFjdGV1ciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGFjdGV1clN1bW1hcnkuYWN0ZXVyID0gYWN0ZXVyXG4gICAgICAgIGluc2VydEFjdGV1clJlZmVyZW5jZXMoYWN0ZXVyLCBkYXRhLCB2aXNpdGVkVWlkcylcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZGF0YS5vcmdhbmVCeVVpZCAhPT0gdW5kZWZpbmVkICYmIGF1dGV1ci5vcmdhbmVSZWYgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3Qgb3JnYW5lID0gZGF0YS5vcmdhbmVCeVVpZFthdXRldXIub3JnYW5lUmVmXVxuICAgICAgaWYgKG9yZ2FuZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGF1dGV1ci5vcmdhbmUgPSBvcmdhbmVcbiAgICAgICAgaW5zZXJ0T3JnYW5lUmVmZXJlbmNlcyhvcmdhbmUsIGRhdGEsIHZpc2l0ZWRVaWRzKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChkYXRhLmRvc3NpZXJCeVVpZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgZG9zc2llciA9IGRhdGEuZG9zc2llckJ5VWlkW2RpdmlzaW9uLmRvc3NpZXJSZWZdXG4gICAgaWYgKGRvc3NpZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgZGl2aXNpb24uZG9zc2llciA9IGRvc3NpZXJcbiAgICAgIGluc2VydERvc3NpZXJSZWZlcmVuY2VzKGRvc3NpZXIsIGRhdGEsIHZpc2l0ZWRVaWRzKVxuICAgIH1cbiAgfVxuXG4gIGZvciAoY29uc3QgY2hpbGREaXZpc2lvbiBvZiBkaXZpc2lvbi5kaXZpc2lvbnMgfHwgW10pIHtcbiAgICBpbnNlcnREaXZpc2lvblJlZmVyZW5jZXMoY2hpbGREaXZpc2lvbiwgZGF0YSwgdmlzaXRlZFVpZHMpXG4gIH1cblxuICByZXR1cm4gZGl2aXNpb25cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluc2VydERvY3VtZW50UmVmZXJlbmNlcyhcbiAgZG9jdW1lbnQ6IERvY3VtZW50LFxuICBkYXRhOiBPdXRwdXREYXRhLFxuICB2aXNpdGVkVWlkczogU2V0PHN0cmluZz4sXG4pIHtcbiAgaWYgKCF2aXNpdGVkVWlkcy5oYXMoZG9jdW1lbnQudWlkKSkge1xuICAgIHZpc2l0ZWRVaWRzLmFkZChkb2N1bWVudC51aWQpXG5cbiAgICBmb3IgKGNvbnN0IGF1dGV1ciBvZiBkb2N1bWVudC5hdXRldXJzKSB7XG4gICAgICBjb25zdCBhY3RldXJTdW1tYXJ5ID0gYXV0ZXVyLmFjdGV1clxuICAgICAgaWYgKGRhdGEuYWN0ZXVyQnlVaWQgIT09IHVuZGVmaW5lZCAmJiBhY3RldXJTdW1tYXJ5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3QgYWN0ZXVyID0gZGF0YS5hY3RldXJCeVVpZFthY3RldXJTdW1tYXJ5LmFjdGV1clJlZl1cbiAgICAgICAgaWYgKGFjdGV1ciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgYWN0ZXVyU3VtbWFyeS5hY3RldXIgPSBhY3RldXJcbiAgICAgICAgICBpbnNlcnRBY3RldXJSZWZlcmVuY2VzKGFjdGV1ciwgZGF0YSwgdmlzaXRlZFVpZHMpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGRhdGEub3JnYW5lQnlVaWQgIT09IHVuZGVmaW5lZCAmJiBhdXRldXIub3JnYW5lUmVmICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3Qgb3JnYW5lID0gZGF0YS5vcmdhbmVCeVVpZFthdXRldXIub3JnYW5lUmVmXVxuICAgICAgICBpZiAob3JnYW5lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBhdXRldXIub3JnYW5lID0gb3JnYW5lXG4gICAgICAgICAgaW5zZXJ0T3JnYW5lUmVmZXJlbmNlcyhvcmdhbmUsIGRhdGEsIHZpc2l0ZWRVaWRzKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGRhdGEuZG9zc2llckJ5VWlkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IGRvc3NpZXIgPSBkYXRhLmRvc3NpZXJCeVVpZFtkb2N1bWVudC5kb3NzaWVyUmVmXVxuICAgICAgaWYgKGRvc3NpZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBkb2N1bWVudC5kb3NzaWVyID0gZG9zc2llclxuICAgICAgICBpbnNlcnREb3NzaWVyUmVmZXJlbmNlcyhkb3NzaWVyLCBkYXRhLCB2aXNpdGVkVWlkcylcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGRpdmlzaW9uIG9mIGRvY3VtZW50LmRpdmlzaW9ucyB8fCBbXSkge1xuICAgICAgaW5zZXJ0RGl2aXNpb25SZWZlcmVuY2VzKGRpdmlzaW9uLCBkYXRhLCB2aXNpdGVkVWlkcylcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZG9jdW1lbnRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluc2VydERvc3NpZXJSZWZlcmVuY2VzKFxuICBkb3NzaWVyOiBEb3NzaWVyUGFybGVtZW50YWlyZSxcbiAgZGF0YTogT3V0cHV0RGF0YSxcbiAgdmlzaXRlZFVpZHM6IFNldDxzdHJpbmc+LFxuKSB7XG4gIGlmICghdmlzaXRlZFVpZHMuaGFzKGRvc3NpZXIudWlkKSkge1xuICAgIHZpc2l0ZWRVaWRzLmFkZChkb3NzaWVyLnVpZClcblxuICAgIGZvciAoY29uc3QgYWN0ZSBvZiBkb3NzaWVyLmFjdGVzTGVnaXNsYXRpZnMgPz8gW10pIHtcbiAgICAgIGluc2VydEFjdGVMZWdpc2xhdGlmUmVmZXJlbmNlcyhhY3RlLCBkYXRhLCB2aXNpdGVkVWlkcylcbiAgICB9XG5cbiAgICBjb25zdCBpbml0aWF0ZXVyID0gZG9zc2llci5pbml0aWF0ZXVyXG4gICAgaWYgKGluaXRpYXRldXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKGRhdGEuYWN0ZXVyQnlVaWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBmb3IgKGNvbnN0IGFjdGV1clN1bW1hcnkgb2YgaW5pdGlhdGV1ci5hY3RldXJzIHx8IFtdKSB7XG4gICAgICAgICAgY29uc3QgYWN0ZXVyID0gZGF0YS5hY3RldXJCeVVpZFthY3RldXJTdW1tYXJ5LmFjdGV1clJlZl1cbiAgICAgICAgICBpZiAoYWN0ZXVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGFjdGV1clN1bW1hcnkuYWN0ZXVyID0gYWN0ZXVyXG4gICAgICAgICAgICBpbnNlcnRBY3RldXJSZWZlcmVuY2VzKGFjdGV1ciwgZGF0YSwgdmlzaXRlZFVpZHMpXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChhY3RldXIgIT09IHVuZGVmaW5lZCAmJiBhY3RldXJTdW1tYXJ5Lm1hbmRhdFJlZiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IG1hbmRhdCBvZiBhY3RldXIubWFuZGF0cyB8fCBbXSkge1xuICAgICAgICAgICAgICBpZiAobWFuZGF0LnVpZCA9PT0gYWN0ZXVyU3VtbWFyeS5tYW5kYXRSZWYpIHtcbiAgICAgICAgICAgICAgICBhY3RldXJTdW1tYXJ5Lm1hbmRhdCA9IG1hbmRhdFxuICAgICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgZGF0YS5vcmdhbmVCeVVpZCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgIGluaXRpYXRldXIub3JnYW5lUmVmICE9PSB1bmRlZmluZWRcbiAgICAgICkge1xuICAgICAgICBjb25zdCBvcmdhbmUgPSBkYXRhLm9yZ2FuZUJ5VWlkW2luaXRpYXRldXIub3JnYW5lUmVmXVxuICAgICAgICBpZiAob3JnYW5lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBpbml0aWF0ZXVyLm9yZ2FuZSA9IG9yZ2FuZVxuICAgICAgICAgIGluc2VydE9yZ2FuZVJlZmVyZW5jZXMob3JnYW5lLCBkYXRhLCB2aXNpdGVkVWlkcylcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkb3NzaWVyXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnRPcmdhbmVSZWZlcmVuY2VzKFxuICBvcmdhbmU6IE9yZ2FuZSxcbiAgZGF0YTogT3V0cHV0RGF0YSxcbiAgdmlzaXRlZFVpZHM6IFNldDxzdHJpbmc+LFxuKSB7XG4gIGlmICghdmlzaXRlZFVpZHMuaGFzKG9yZ2FuZS51aWQpKSB7XG4gICAgdmlzaXRlZFVpZHMuYWRkKG9yZ2FuZS51aWQpXG5cbiAgICBpZiAoXG4gICAgICBkYXRhLm9yZ2FuZUJ5VWlkICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIG9yZ2FuZS5vcmdhbmVQYXJlbnRSZWYgIT09IHVuZGVmaW5lZFxuICAgICkge1xuICAgICAgY29uc3Qgb3JnYW5lUGFyZW50ID0gZGF0YS5vcmdhbmVCeVVpZFtvcmdhbmUub3JnYW5lUGFyZW50UmVmXVxuICAgICAgaWYgKG9yZ2FuZVBhcmVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIG9yZ2FuZS5vcmdhbmVQYXJlbnQgPSBvcmdhbmVQYXJlbnRcbiAgICAgICAgaW5zZXJ0T3JnYW5lUmVmZXJlbmNlcyhvcmdhbmVQYXJlbnQsIGRhdGEsIHZpc2l0ZWRVaWRzKVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGRhdGEub3JnYW5lQnlVaWQgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgb3JnYW5lLm9yZ2FuZVByZWNlZGVudFJlZiAhPT0gdW5kZWZpbmVkXG4gICAgKSB7XG4gICAgICBjb25zdCBvcmdhbmVQcmVjZWRlbnQgPSBkYXRhLm9yZ2FuZUJ5VWlkW29yZ2FuZS5vcmdhbmVQcmVjZWRlbnRSZWZdXG4gICAgICBpZiAob3JnYW5lUHJlY2VkZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgb3JnYW5lLm9yZ2FuZVByZWNlZGVudCA9IG9yZ2FuZVByZWNlZGVudFxuICAgICAgICBpbnNlcnRPcmdhbmVSZWZlcmVuY2VzKG9yZ2FuZVByZWNlZGVudCwgZGF0YSwgdmlzaXRlZFVpZHMpXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVE9ET1xuICB9XG5cbiAgcmV0dXJuIG9yZ2FuZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5zZXJ0UmV1bmlvblJlZmVyZW5jZXMoXG4gIHJldW5pb246IFJldW5pb24sXG4gIGRhdGE6IE91dHB1dERhdGEsXG4gIHZpc2l0ZWRVaWRzOiBTZXQ8c3RyaW5nPixcbikge1xuICBpZiAoIXZpc2l0ZWRVaWRzLmhhcyhyZXVuaW9uLnVpZCkpIHtcbiAgICB2aXNpdGVkVWlkcy5hZGQocmV1bmlvbi51aWQpXG5cbiAgICBjb25zdCBkZW1hbmRldXJzID0gcmV1bmlvbi5kZW1hbmRldXJzXG4gICAgaWYgKGRlbWFuZGV1cnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKGRhdGEuYWN0ZXVyQnlVaWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBmb3IgKGNvbnN0IGFjdGV1clN1bW1hcnkgb2YgZGVtYW5kZXVycy5hY3RldXJzIHx8IFtdKSB7XG4gICAgICAgICAgY29uc3QgYWN0ZXVyID0gZGF0YS5hY3RldXJCeVVpZFthY3RldXJTdW1tYXJ5LmFjdGV1clJlZl1cbiAgICAgICAgICBpZiAoYWN0ZXVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGFjdGV1clN1bW1hcnkuYWN0ZXVyID0gYWN0ZXVyXG4gICAgICAgICAgICBpbnNlcnRBY3RldXJSZWZlcmVuY2VzKGFjdGV1ciwgZGF0YSwgdmlzaXRlZFVpZHMpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoZGF0YS5vcmdhbmVCeVVpZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IG9yZ2FuZVN1bW1hcnkgPSBkZW1hbmRldXJzLm9yZ2FuZVxuICAgICAgICBpZiAob3JnYW5lU3VtbWFyeSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgY29uc3Qgb3JnYW5lID0gZGF0YS5vcmdhbmVCeVVpZFtvcmdhbmVTdW1tYXJ5Lm9yZ2FuZVJlZl1cbiAgICAgICAgICBpZiAob3JnYW5lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIG9yZ2FuZVN1bW1hcnkub3JnYW5lID0gb3JnYW5lXG4gICAgICAgICAgICBpbnNlcnRPcmdhbmVSZWZlcmVuY2VzKG9yZ2FuZSwgZGF0YSwgdmlzaXRlZFVpZHMpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChcbiAgICAgIGRhdGEub3JnYW5lQnlVaWQgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgcmV1bmlvbi5vcmdhbmVSZXVuaVJlZiAhPT0gdW5kZWZpbmVkXG4gICAgKSB7XG4gICAgICBjb25zdCBvcmdhbmVSZXVuaSA9IGRhdGEub3JnYW5lQnlVaWRbcmV1bmlvbi5vcmdhbmVSZXVuaVJlZl1cbiAgICAgIGlmIChvcmdhbmVSZXVuaSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldW5pb24ub3JnYW5lUmV1bmkgPSBvcmdhbmVSZXVuaVxuICAgICAgICBpbnNlcnRPcmdhbmVSZWZlcmVuY2VzKG9yZ2FuZVJldW5pLCBkYXRhLCB2aXNpdGVkVWlkcylcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGRhdGEuYWN0ZXVyQnlVaWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3QgcGFydGljaXBhbnRzID0gcmV1bmlvbi5wYXJ0aWNpcGFudHNcbiAgICAgIGlmIChwYXJ0aWNpcGFudHMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBmb3IgKGNvbnN0IHBhcnRpY2lwYW50SW50ZXJuZSBvZiBwYXJ0aWNpcGFudHMucGFydGljaXBhbnRzSW50ZXJuZXMgfHxcbiAgICAgICAgICBbXSkge1xuICAgICAgICAgIGNvbnN0IGFjdGV1ciA9IGRhdGEuYWN0ZXVyQnlVaWRbcGFydGljaXBhbnRJbnRlcm5lLmFjdGV1clJlZl1cbiAgICAgICAgICBpZiAoYWN0ZXVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHBhcnRpY2lwYW50SW50ZXJuZS5hY3RldXIgPSBhY3RldXJcbiAgICAgICAgICAgIGluc2VydEFjdGV1clJlZmVyZW5jZXMoYWN0ZXVyLCBkYXRhLCB2aXNpdGVkVWlkcylcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmV1bmlvblxufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5zZXJ0U2NydXRpblJlZmVyZW5jZXMoXG4gIHNjcnV0aW46IFNjcnV0aW4sXG4gIF9kYXRhOiBPdXRwdXREYXRhLFxuICB2aXNpdGVkVWlkczogU2V0PHN0cmluZz4sXG4pIHtcbiAgaWYgKCF2aXNpdGVkVWlkcy5oYXMoc2NydXRpbi51aWQpKSB7XG4gICAgdmlzaXRlZFVpZHMuYWRkKHNjcnV0aW4udWlkKVxuXG4gICAgLy8gVE9ET1xuICB9XG5cbiAgcmV0dXJuIHNjcnV0aW5cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBcUJBLFNBQVNBLDhCQUE4QkEsQ0FDckNDLElBQW9CLEVBQ3BCQyxJQUFnQixFQUNoQkMsV0FBd0IsRUFDeEI7RUFDQSxJQUFJLENBQUNBLFdBQVcsQ0FBQ0MsR0FBRyxDQUFDSCxJQUFJLENBQUNJLEdBQUcsQ0FBQyxFQUFFO0lBQzlCRixXQUFXLENBQUNHLEdBQUcsQ0FBQ0wsSUFBSSxDQUFDSSxHQUFHLENBQUM7SUFFekIsSUFDRUgsSUFBSSxDQUFDSyxhQUFhLEtBQUtDLFNBQVMsSUFDaENQLElBQUksQ0FBQ1EsZ0NBQWdDLEtBQUtELFNBQVMsRUFDbkQ7TUFDQSxJQUFNRSxRQUFRLEdBQUdSLElBQUksQ0FBQ0ssYUFBYSxDQUFDTixJQUFJLENBQUNRLGdDQUFnQyxDQUFDO01BQzFFLElBQUlDLFFBQVEsS0FBS0YsU0FBUyxFQUFFO1FBQzFCUCxJQUFJLENBQUNVLDZCQUE2QixHQUFHRCxRQUFRO1FBQzdDRSx3QkFBd0IsQ0FBQ0YsUUFBUSxFQUFFUixJQUFJLEVBQUVDLFdBQVcsQ0FBQztNQUN2RDtJQUNGO0lBQ0EsSUFBSUQsSUFBSSxDQUFDVyxXQUFXLEtBQUtMLFNBQVMsSUFBSVAsSUFBSSxDQUFDYSxTQUFTLEtBQUtOLFNBQVMsRUFBRTtNQUNsRSxJQUFNTyxNQUFNLEdBQUdiLElBQUksQ0FBQ1csV0FBVyxDQUFDWixJQUFJLENBQUNhLFNBQVMsQ0FBQztNQUMvQyxJQUFJQyxNQUFNLEtBQUtQLFNBQVMsRUFBRTtRQUN4QlAsSUFBSSxDQUFDYyxNQUFNLEdBQUdBLE1BQU07UUFDcEJDLHNCQUFzQixDQUFDRCxNQUFNLEVBQUViLElBQUksRUFBRUMsV0FBVyxDQUFDO01BQ25EO0lBQ0Y7SUFDQSxJQUFJRCxJQUFJLENBQUNXLFdBQVcsS0FBS0ws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
|