@tricoteuses/senat 1.3.1 → 1.3.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/lib/config.d.ts +1 -0
- package/lib/config.js +14 -45
- package/lib/databases.js +86 -143
- package/lib/datasets.js +78 -83
- package/lib/index.d.ts +7 -4
- package/lib/index.js +42 -419
- package/lib/loaders.js +149 -654
- package/lib/model/ameli.js +83 -21
- package/lib/model/debats.js +0 -1
- package/lib/model/dosleg.d.ts +1 -1
- package/lib/model/dosleg.js +179 -73
- package/lib/model/index.d.ts +3 -3
- package/lib/model/index.js +12 -46
- package/lib/model/questions.js +68 -39
- package/lib/model/sens.js +383 -113
- package/lib/model/texte.js +220 -290
- package/lib/model/util.js +9 -26
- package/lib/raw_types/ameli.js +5 -6
- package/lib/raw_types/debats.js +5 -6
- package/lib/raw_types/dosleg.js +5 -6
- package/lib/raw_types/questions.js +5 -6
- package/lib/raw_types/sens.js +5 -6
- package/lib/raw_types_schemats/ameli.js +1 -43
- package/lib/raw_types_schemats/debats.js +1 -22
- package/lib/raw_types_schemats/dosleg.js +1 -96
- package/lib/raw_types_schemats/questions.js +1 -22
- package/lib/raw_types_schemats/sens.js +1 -112
- package/lib/scripts/convert_data.js +181 -631
- package/lib/scripts/datautil.js +17 -60
- package/lib/scripts/parse_textes.js +46 -129
- package/lib/scripts/retrieve_documents.js +247 -513
- package/lib/scripts/retrieve_open_data.js +211 -368
- package/lib/scripts/retrieve_senateurs_photos.js +144 -239
- package/lib/scripts/shared/cli_helpers.js +30 -30
- package/lib/scripts/shared/util.js +28 -94
- package/lib/strings.js +20 -45
- package/lib/types/ameli.d.ts +1 -1
- package/lib/types/ameli.js +14 -25
- package/lib/types/debats.d.ts +1 -1
- package/lib/types/debats.js +3 -21
- package/lib/types/dosleg.d.ts +1 -1
- package/lib/types/dosleg.js +152 -119
- package/lib/types/questions.d.ts +1 -1
- package/lib/types/questions.js +1 -13
- package/lib/types/sens.d.ts +1 -1
- package/lib/types/sens.js +1 -13
- package/lib/types/sessions.js +44 -49
- package/lib/types/texte.js +17 -22
- package/lib/validators/config.js +47 -111
- package/lib/validators/senat.js +1 -5
- package/package.json +16 -38
- package/lib/aggregates.d.ts +0 -52
- package/lib/aggregates.mjs +0 -930
- package/lib/aggregates.ts +0 -833
- package/lib/config.mjs +0 -16
- package/lib/config.ts +0 -26
- package/lib/data/legislatures.json +0 -38
- package/lib/databases.mjs +0 -57
- package/lib/databases.ts +0 -71
- package/lib/datasets.mjs +0 -78
- package/lib/datasets.ts +0 -118
- package/lib/fields.d.ts +0 -10
- package/lib/fields.mjs +0 -68
- package/lib/fields.ts +0 -29
- package/lib/index.mjs +0 -4
- package/lib/index.ts +0 -42
- package/lib/inserters.d.ts +0 -98
- package/lib/inserters.mjs +0 -500
- package/lib/inserters.ts +0 -521
- package/lib/loaders.mjs +0 -158
- package/lib/loaders.ts +0 -271
- package/lib/model/ameli.mjs +0 -84
- package/lib/model/ameli.ts +0 -100
- package/lib/model/debats.mjs +0 -1
- package/lib/model/debats.ts +0 -0
- package/lib/model/dosleg.mjs +0 -196
- package/lib/model/dosleg.ts +0 -240
- package/lib/model/index.mjs +0 -4
- package/lib/model/index.ts +0 -14
- package/lib/model/questions.mjs +0 -71
- package/lib/model/questions.ts +0 -93
- package/lib/model/sens.mjs +0 -415
- package/lib/model/sens.ts +0 -516
- package/lib/model/texte.mjs +0 -208
- package/lib/model/texte.ts +0 -229
- package/lib/model/util.mjs +0 -19
- package/lib/model/util.ts +0 -32
- package/lib/raw_types/ameli.mjs +0 -5
- package/lib/raw_types/ameli.ts +0 -951
- package/lib/raw_types/debats.mjs +0 -5
- package/lib/raw_types/debats.ts +0 -222
- package/lib/raw_types/dosleg.mjs +0 -5
- package/lib/raw_types/dosleg.ts +0 -3625
- package/lib/raw_types/questions.mjs +0 -5
- package/lib/raw_types/questions.ts +0 -427
- package/lib/raw_types/sens.mjs +0 -5
- package/lib/raw_types/sens.ts +0 -4499
- package/lib/raw_types_kysely/ameli.d.ts +0 -6
- package/lib/raw_types_kysely/ameli.mjs +0 -7
- package/lib/raw_types_kysely/ameli.ts +0 -6
- package/lib/raw_types_kysely/debats.d.ts +0 -6
- package/lib/raw_types_kysely/debats.mjs +0 -7
- package/lib/raw_types_kysely/debats.ts +0 -6
- package/lib/raw_types_kysely/dosleg.d.ts +0 -6
- package/lib/raw_types_kysely/dosleg.mjs +0 -7
- package/lib/raw_types_kysely/dosleg.ts +0 -6
- package/lib/raw_types_kysely/questions.d.ts +0 -6
- package/lib/raw_types_kysely/questions.mjs +0 -7
- package/lib/raw_types_kysely/questions.ts +0 -6
- package/lib/raw_types_kysely/sens.d.ts +0 -6
- package/lib/raw_types_kysely/sens.mjs +0 -7
- package/lib/raw_types_kysely/sens.ts +0 -6
- package/lib/raw_types_kysely/texte.d.ts +0 -45
- package/lib/raw_types_kysely/texte.mjs +0 -7
- package/lib/raw_types_kysely/texte.ts +0 -53
- package/lib/raw_types_schemats/ameli.mjs +0 -2
- package/lib/raw_types_schemats/ameli.ts +0 -601
- package/lib/raw_types_schemats/debats.mjs +0 -2
- package/lib/raw_types_schemats/debats.ts +0 -145
- package/lib/raw_types_schemats/dosleg.mjs +0 -2
- package/lib/raw_types_schemats/dosleg.ts +0 -2195
- package/lib/raw_types_schemats/questions.mjs +0 -2
- package/lib/raw_types_schemats/questions.ts +0 -251
- package/lib/raw_types_schemats/sens.mjs +0 -2
- package/lib/raw_types_schemats/sens.ts +0 -2907
- package/lib/scripts/convert_data.mjs +0 -181
- package/lib/scripts/convert_data.ts +0 -243
- package/lib/scripts/datautil.mjs +0 -16
- package/lib/scripts/datautil.ts +0 -19
- package/lib/scripts/images/transparent_150x192.jpg +0 -0
- package/lib/scripts/images/transparent_155x225.jpg +0 -0
- package/lib/scripts/parse_textes.mjs +0 -46
- package/lib/scripts/parse_textes.ts +0 -65
- package/lib/scripts/retrieve_documents.mjs +0 -249
- package/lib/scripts/retrieve_documents.ts +0 -298
- package/lib/scripts/retrieve_open_data.mjs +0 -217
- package/lib/scripts/retrieve_open_data.ts +0 -274
- package/lib/scripts/retrieve_senateurs_photos.mjs +0 -147
- package/lib/scripts/retrieve_senateurs_photos.ts +0 -177
- package/lib/scripts/retrieve_textes.d.ts +0 -1
- package/lib/scripts/retrieve_textes.mjs +0 -328
- package/lib/scripts/retrieve_textes.ts +0 -143
- package/lib/scripts/shared/cli_helpers.ts +0 -36
- package/lib/scripts/shared/util.ts +0 -33
- package/lib/src/aggregates.d.ts +0 -52
- package/lib/src/aggregates.mjs +0 -726
- package/lib/src/config.d.ts +0 -2
- package/lib/src/config.mjs +0 -16
- package/lib/src/databases.d.ts +0 -18
- package/lib/src/databases.mjs +0 -55
- package/lib/src/datasets.d.ts +0 -28
- package/lib/src/datasets.mjs +0 -78
- package/lib/src/fields.d.ts +0 -10
- package/lib/src/fields.mjs +0 -22
- package/lib/src/index.d.ts +0 -8
- package/lib/src/index.mjs +0 -7
- package/lib/src/inserters.d.ts +0 -98
- package/lib/src/inserters.mjs +0 -360
- package/lib/src/loaders.d.ts +0 -36
- package/lib/src/loaders.mjs +0 -107
- package/lib/src/model/ameli.d.ts +0 -4
- package/lib/src/model/ameli.js +0 -57
- package/lib/src/model/debats.d.ts +0 -4
- package/lib/src/model/debats.js +0 -43
- package/lib/src/model/dosleg.d.ts +0 -197
- package/lib/src/model/dosleg.js +0 -169
- package/lib/src/model/index.d.ts +0 -4
- package/lib/src/model/index.js +0 -4
- package/lib/src/model/questions.d.ts +0 -89
- package/lib/src/model/questions.js +0 -76
- package/lib/src/model/sens.d.ts +0 -390
- package/lib/src/model/sens.js +0 -339
- package/lib/src/model/texte.d.ts +0 -7
- package/lib/src/model/texte.js +0 -183
- package/lib/src/raw_types_kysely/ameli.d.ts +0 -915
- package/lib/src/raw_types_kysely/ameli.js +0 -5
- package/lib/src/raw_types_kysely/debats.d.ts +0 -207
- package/lib/src/raw_types_kysely/debats.js +0 -5
- package/lib/src/raw_types_kysely/dosleg.d.ts +0 -3532
- package/lib/src/raw_types_kysely/dosleg.js +0 -5
- package/lib/src/raw_types_kysely/questions.d.ts +0 -414
- package/lib/src/raw_types_kysely/questions.js +0 -5
- package/lib/src/raw_types_kysely/sens.d.ts +0 -4394
- package/lib/src/raw_types_kysely/sens.js +0 -5
- package/lib/src/raw_types_schemats/ameli.d.ts +0 -541
- package/lib/src/raw_types_schemats/ameli.js +0 -2
- package/lib/src/raw_types_schemats/debats.d.ts +0 -127
- package/lib/src/raw_types_schemats/debats.js +0 -2
- package/lib/src/raw_types_schemats/dosleg.d.ts +0 -2027
- package/lib/src/raw_types_schemats/dosleg.js +0 -2
- package/lib/src/raw_types_schemats/questions.d.ts +0 -231
- package/lib/src/raw_types_schemats/questions.js +0 -2
- package/lib/src/raw_types_schemats/sens.d.ts +0 -2709
- package/lib/src/raw_types_schemats/sens.js +0 -2
- package/lib/src/scripts/convert_data.d.ts +0 -1
- package/lib/src/scripts/convert_data.js +0 -95
- package/lib/src/scripts/datautil.d.ts +0 -5
- package/lib/src/scripts/datautil.js +0 -16
- package/lib/src/scripts/parse_textes.d.ts +0 -1
- package/lib/src/scripts/parse_textes.js +0 -47
- package/lib/src/scripts/retrieve_documents.d.ts +0 -1
- package/lib/src/scripts/retrieve_documents.js +0 -258
- package/lib/src/scripts/retrieve_open_data.d.ts +0 -1
- package/lib/src/scripts/retrieve_open_data.js +0 -214
- package/lib/src/scripts/retrieve_senateurs_photos.d.ts +0 -1
- package/lib/src/scripts/retrieve_senateurs_photos.js +0 -147
- package/lib/src/scripts/shared/cli_helpers.d.ts +0 -44
- package/lib/src/scripts/shared/cli_helpers.js +0 -32
- package/lib/src/scripts/shared/util.d.ts +0 -3
- package/lib/src/scripts/shared/util.js +0 -28
- package/lib/src/strings.d.ts +0 -1
- package/lib/src/strings.mjs +0 -18
- package/lib/src/types/ameli.d.ts +0 -10
- package/lib/src/types/ameli.js +0 -13
- package/lib/src/types/debats.d.ts +0 -4
- package/lib/src/types/debats.js +0 -2
- package/lib/src/types/dosleg.d.ts +0 -98
- package/lib/src/types/dosleg.js +0 -151
- package/lib/src/types/questions.d.ts +0 -2
- package/lib/src/types/questions.js +0 -1
- package/lib/src/types/sens.d.ts +0 -10
- package/lib/src/types/sens.js +0 -1
- package/lib/src/types/sessions.d.ts +0 -42
- package/lib/src/types/sessions.js +0 -43
- package/lib/src/types/texte.d.ts +0 -61
- package/lib/src/types/texte.js +0 -16
- package/lib/src/validators/config.d.ts +0 -1
- package/lib/src/validators/config.js +0 -54
- package/lib/src/validators/senat.d.ts +0 -0
- package/lib/src/validators/senat.js +0 -24
- package/lib/strings.mjs +0 -18
- package/lib/strings.ts +0 -26
- package/lib/types/ameli.mjs +0 -13
- package/lib/types/ameli.ts +0 -21
- package/lib/types/debats.mjs +0 -2
- package/lib/types/debats.ts +0 -6
- package/lib/types/dosleg.mjs +0 -151
- package/lib/types/dosleg.ts +0 -284
- package/lib/types/questions.mjs +0 -1
- package/lib/types/questions.ts +0 -3
- package/lib/types/sens.mjs +0 -1
- package/lib/types/sens.ts +0 -12
- package/lib/types/sessions.mjs +0 -43
- package/lib/types/sessions.ts +0 -42
- package/lib/types/texte.mjs +0 -16
- package/lib/types/texte.ts +0 -76
- package/lib/typings/windows-1252.d.js +0 -2
- package/lib/typings/windows-1252.d.mjs +0 -2
- package/lib/typings/windows-1252.d.ts +0 -11
- package/lib/validators/config.mjs +0 -54
- package/lib/validators/config.ts +0 -79
- package/lib/validators/senat.mjs +0 -24
- package/lib/validators/senat.ts +0 -26
package/lib/model/questions.js
CHANGED
|
@@ -1,47 +1,76 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
require("core-js/modules/es.object.define-property.js");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
3
|
exports.findAll = findAll;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
4
|
+
const postgres_1 = require("kysely/helpers/postgres");
|
|
5
|
+
const databases_1 = require("../databases");
|
|
6
|
+
const util_1 = require("./util");
|
|
11
7
|
function reponses(questionId) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
8
|
+
return (0, postgres_1.jsonArrayFrom)(databases_1.dbQuestions
|
|
9
|
+
.selectFrom("tam_reponses")
|
|
10
|
+
.where("tam_reponses.idque", "=", questionId)
|
|
11
|
+
.select(({ ref }) => [
|
|
12
|
+
(0, util_1.toDateString)(ref("tam_reponses.datejorep")).as("date_reponse_JO"),
|
|
13
|
+
"tam_reponses.minreplib as ministere_reponse",
|
|
14
|
+
"tam_reponses.txtrep as texte",
|
|
15
|
+
"tam_reponses.txterrrep as texte_erratum",
|
|
16
|
+
])
|
|
17
|
+
.orderBy("tam_reponses.datejorep asc"));
|
|
16
18
|
}
|
|
17
19
|
function themes(questionId) {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
return (0, postgres_1.jsonArrayFrom)(databases_1.dbQuestions
|
|
21
|
+
.with("question_theme", (db) => db
|
|
22
|
+
.selectFrom("tam_questions")
|
|
23
|
+
.select(({ eb, ref, val }) => [
|
|
24
|
+
"id as question_id",
|
|
25
|
+
eb
|
|
26
|
+
.cast((0, util_1.expandToRows)(ref("tam_questions.themes"), val("#(\\d+)")), "smallint")
|
|
27
|
+
.as("theme_id"),
|
|
28
|
+
]))
|
|
29
|
+
.selectFrom("the")
|
|
30
|
+
.leftJoin("question_theme", "the.thenouidt", "question_theme.theme_id")
|
|
31
|
+
.where("question_theme.question_id", "=", questionId)
|
|
32
|
+
.select("the.thelib as libelle")
|
|
33
|
+
.orderBy("the.thenouidt asc"));
|
|
26
34
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
35
|
+
const findAllQuery = databases_1.dbQuestions
|
|
36
|
+
.selectFrom("tam_questions")
|
|
37
|
+
.leftJoin("tam_ministeres", "tam_questions.mindepotid", "tam_ministeres.minid")
|
|
38
|
+
.leftJoin("sortquestion", (join) => join.onRef("tam_questions.sorquecod", "=", (eb) => eb.cast("sortquestion.sorquecod", "bigint")))
|
|
39
|
+
.leftJoin("naturequestion", "tam_questions.natquecod", "naturequestion.natquecod")
|
|
40
|
+
.leftJoin("etatquestion", (join) => join.onRef("tam_questions.etaquecod", "=", (eb) => eb.cast("etatquestion.etaquecod", "bigint")))
|
|
41
|
+
.select(({ ref }) => [
|
|
42
|
+
"tam_questions.repub as republique",
|
|
43
|
+
"tam_questions.legislature as legislature",
|
|
44
|
+
"sortquestion.sorquelib as sort",
|
|
45
|
+
"tam_questions.natquecod as nature",
|
|
46
|
+
"tam_questions.numero as numero",
|
|
47
|
+
"tam_questions.reference as reference",
|
|
48
|
+
"tam_questions.titre as titre",
|
|
49
|
+
"tam_questions.nom as nom",
|
|
50
|
+
"tam_questions.prenom as prenom",
|
|
51
|
+
"tam_questions.codequalite as civilite",
|
|
52
|
+
"tam_questions.matricule as matricule",
|
|
53
|
+
"tam_questions.circonscription as circonscription",
|
|
54
|
+
"tam_questions.groupe as groupe",
|
|
55
|
+
"tam_questions.ratgrp as type_appartenance",
|
|
56
|
+
(0, util_1.toDateString)(ref("tam_questions.datejodepot")).as("date_publication_JO"),
|
|
57
|
+
(0, util_1.rtrim)(ref("tam_questions.mindepotlib")).as("ministere_depot"),
|
|
58
|
+
(0, util_1.toDateString)(ref("tam_ministeres.datedebut")).as("ministere_depot_date_debut"),
|
|
59
|
+
(0, util_1.toDateString)(ref("tam_questions.datejotran")).as("date_transmission"),
|
|
60
|
+
"tam_questions.mintranlib as ministere_transmission",
|
|
61
|
+
(0, util_1.toDateString)(ref("tam_questions.datejorep1")).as("date_reponse_JO"),
|
|
62
|
+
"tam_questions.minreplib1 as ministere_reponse",
|
|
63
|
+
(0, util_1.toDateString)(ref("tam_questions.datecloture")).as("date_cloture"),
|
|
64
|
+
"tam_questions.refquerappelee as reference_question_rappelee",
|
|
65
|
+
//"tam_questions.url as url", // TODO ?
|
|
66
|
+
"tam_questions.txtque as texte",
|
|
67
|
+
"tam_questions.txtque as texte_erratum",
|
|
68
|
+
"tam_questions.rubrique as rubrique",
|
|
69
|
+
])
|
|
70
|
+
.select(({ ref }) => [
|
|
71
|
+
themes(ref("tam_questions.id")).as("themes"),
|
|
72
|
+
reponses(ref("tam_questions.id")).as("reponses"),
|
|
73
|
+
]);
|
|
44
74
|
function findAll() {
|
|
45
|
-
|
|
75
|
+
return findAllQuery.stream();
|
|
46
76
|
}
|
|
47
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcG9zdGdyZXMiLCJyZXF1aXJlIiwiX2RhdGFiYXNlcyIsIl91dGlsIiwicmVwb25zZXMiLCJxdWVzdGlvbklkIiwianNvbkFycmF5RnJvbSIsImRiUXVlc3Rpb25zIiwic2VsZWN0RnJvbSIsIndoZXJlIiwic2VsZWN0IiwiX3JlZiIsInJlZiIsInRvRGF0ZVN0cmluZyIsImFzIiwib3JkZXJCeSIsInRoZW1lcyIsImRiIiwiX3JlZjIiLCJlYiIsInZhbCIsImNhc3QiLCJleHBhbmRUb1Jvd3MiLCJsZWZ0Sm9pbiIsImZpbmRBbGxRdWVyeSIsImpvaW4iLCJvblJlZiIsIl9yZWYzIiwicnRyaW0iLCJfcmVmNCIsImZpbmRBbGwiLCJzdHJlYW0iXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwvcXVlc3Rpb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV4cHJlc3Npb24sIEluZmVyUmVzdWx0IH0gZnJvbSBcImt5c2VseVwiXG5pbXBvcnQgeyBqc29uQXJyYXlGcm9tIH0gZnJvbSBcImt5c2VseS9oZWxwZXJzL3Bvc3RncmVzXCJcbmltcG9ydCB7IGRiUXVlc3Rpb25zIH0gZnJvbSBcIi4uL2RhdGFiYXNlc1wiXG5pbXBvcnQgeyBleHBhbmRUb1Jvd3MsIHJ0cmltLCB0b0RhdGVTdHJpbmcgfSBmcm9tIFwiLi91dGlsXCJcblxuZnVuY3Rpb24gcmVwb25zZXMgKHF1ZXN0aW9uSWQ6IEV4cHJlc3Npb248c3RyaW5nPikge1xuICByZXR1cm4ganNvbkFycmF5RnJvbShcbiAgICBkYlF1ZXN0aW9ucy5zZWxlY3RGcm9tKFwidGFtX3JlcG9uc2VzXCIpXG4gICAgICAud2hlcmUoXCJ0YW1fcmVwb25zZXMuaWRxdWVcIiwgXCI9XCIsIHF1ZXN0aW9uSWQpXG4gICAgICAuc2VsZWN0KCh7IHJlZiB9KSA9PiBbXG4gICAgICAgIHRvRGF0ZVN0cmluZyhyZWYoXCJ0YW1fcmVwb25zZXMuZGF0ZWpvcmVwXCIpKS5hcyhcImRhdGVfcmVwb25zZV9KT1wiKSxcbiAgICAgICAgXCJ0YW1fcmVwb25zZXMubWlucmVwbGliIGFzIG1pbmlzdGVyZV9yZXBvbnNlXCIsXG4gICAgICAgIFwidGFtX3JlcG9uc2VzLnR4dHJlcCBhcyB0ZXh0ZVwiLFxuICAgICAgICBcInRhbV9yZXBvbnNlcy50eHRlcnJyZXAgYXMgdGV4dGVfZXJyYXR1bVwiLFxuICAgICAgXSlcbiAgICAgIC5vcmRlckJ5KFwidGFtX3JlcG9uc2VzLmRhdGVqb3JlcCBhc2NcIiksXG4gIClcbn1cblxuZnVuY3Rpb24gdGhlbWVzIChxdWVzdGlvbklkOiBFeHByZXNzaW9uPHN0cmluZz4pIHtcbiAgcmV0dXJuIGpzb25BcnJheUZyb20oXG4gICAgZGJRdWVzdGlvbnMud2l0aChcInF1ZXN0aW9uX3RoZW1lXCIsIChkYikgPT4gZGJcbiAgICAgIC5zZWxlY3RGcm9tKFwidGFtX3F1ZXN0aW9uc1wiKVxuICAgICAgLnNlbGVjdCgoeyBlYiwgcmVmLCB2YWwgfSkgPT4gW1xuICAgICAgICBcImlkIGFzIHF1ZXN0aW9uX2lkXCIsXG4gICAgICAgICBlYi5jYXN0PG51bWJlcj4oZXhwYW5kVG9Sb3dzKHJlZihcInRhbV9xdWVzdGlvbnMudGhlbWVzXCIpLCB2YWwoXCIjKFxcXFxkKylcIikpLCBcInNtYWxsaW50XCIpLmFzKFwidGhlbWVfaWRcIiksXG4gICAgICBdKSxcbiAgICApXG4gICAgLnNlbGVjdEZyb20oXCJ0aGVcIilcbiAgICAubGVmdEpvaW4oXCJxdWVzdGlvbl90aGVtZVwiLCBcInRoZS50aGVub3VpZHRcIiwgXCJxdWVzdGlvbl90aGVtZS50aGVtZV9pZFwiKVxuICAgIC53aGVyZShcInF1ZXN0aW9uX3RoZW1lLnF1ZXN0aW9uX2lkXCIsIFwiPVwiLCBxdWVzdGlvbklkKVxuICAgIC5zZWxlY3QoXCJ0aGUudGhlbGliIGFzIGxpYmVsbGVcIilcbiAgICAub3JkZXJCeShcInRoZS50aGVub3VpZHQgYXNjXCIpLFxuICApXG59XG5cbmNvbnN0IGZpbmRBbGxRdWVyeSA9IGRiUXVlc3Rpb25zXG4gIC5zZWxlY3RGcm9tKFwidGFtX3F1ZXN0aW9uc1wiKVxuICAubGVmdEpvaW4oXCJ0YW1fbWluaXN0ZXJlc1wiLCBcInRhbV9xdWVzdGlvbnMubWluZGVwb3RpZFwiLCBcInRhbV9taW5pc3RlcmVzLm1pbmlkXCIpXG4gIC5sZWZ0Sm9pbihcInNvcnRxdWVzdGlvblwiLCAoam9pbikgPT4gam9pblxuICAgIC5vblJlZihcbiAgICAgIFwidGFtX3F1ZXN0aW9ucy5zb3JxdWVjb2RcIixcbiAgICAgIFwiPVwiLFxuICAgICAgZWIgPT4gZWIuY2FzdDxudW1iZXI+KFwic29ydHF1ZXN0aW9uLnNvcnF1ZWNvZFwiLCBcImJpZ2ludFwiKSxcbiAgICApLFxuICApXG4gIC5sZWZ0Sm9pbihcIm5hdHVyZXF1ZXN0aW9uXCIsIFwidGFtX3F1ZXN0aW9ucy5uYXRxdWVjb2RcIiwgXCJuYXR1cmVxdWVzdGlvbi5uYXRxdWVjb2RcIilcbiAgLmxlZnRKb2luKFwiZXRhdHF1ZXN0aW9uXCIsIChqb2luKSA9PiBqb2luXG4gICAgLm9uUmVmKFxuICAgICAgXCJ0YW1fcXVlc3Rpb25zLmV0YXF1ZWNvZFwiLFxuICAgICAgXCI9XCIsXG4gICAgICBlYiA9PiBlYi5jYXN0PG51bWJlcj4oXCJldGF0cXVlc3Rpb24uZXRhcXVlY29kXCIsIFwiYmlnaW50XCIpLFxuICAgICksXG4gIClcbiAgLnNlbGVjdCgoeyByZWYgfSkgPT4gW1xuICAgIFwidGFtX3F1ZXN0aW9ucy5yZXB1YiBhcyByZXB1YmxpcXVlXCIsXG4gICAgXCJ0YW1fcXVlc3Rpb25zLmxlZ2lzbGF0dXJlIGFzIGxlZ2lzbGF0dXJlXCIsXG4gICAgXCJzb3J0cXVlc3Rpb24uc29ycXVlbGliIGFzIHNvcnRcIixcbiAgICBcInRhbV9xdWVzdGlvbnMubmF0cXVlY29kIGFzIG5hdHVyZVwiLFxuICAgIFwidGFtX3F1ZXN0aW9ucy5udW1lcm8gYXMgbnVtZXJvXCIsXG4gICAgXCJ0YW1fcXVlc3Rpb25zLnJlZmVyZW5jZSBhcyByZWZlcmVuY2VcIixcbiAgICBcInRhbV9xdWVzdGlvbnMudGl0cmUgYXMgdGl0cmVcIixcbiAgICBcInRhbV9xdWVzdGlvbnMubm9tIGFzIG5vbVwiLFxuICAgIFwidGFtX3F1ZXN0aW9ucy5wcmVub20gYXMgcHJlbm9tXCIsXG4gICAgXCJ0YW1fcXVlc3Rpb25zLmNvZGVxdWFsaXRlIGFzIGNpdmlsaXRlXCIsXG4gICAgXCJ0YW1fcXVlc3Rpb25zLm1hdHJpY3VsZSBhcyBtYXRyaWN1bGVcIixcbiAgICBcInRhbV9xdWVzdGlvbnMuY2lyY29uc2NyaXB0aW9uIGFzIGNpcmNvbnNjcmlwdGlvblwiLFxuICAgIFwidGFtX3F1ZXN0aW9ucy5ncm91cGUgYXMgZ3JvdXBlXCIsXG4gICAgXCJ0YW1fcXVlc3Rpb25zLnJhdGdycCBhcyB0eXBlX2FwcGFydGVuYW5jZVwiLFxuICAgIHRvRGF0ZVN0cmluZyhyZWYoXCJ0YW1fcXVlc3Rpb25zLmRhdGVqb2RlcG90XCIpKS5hcyhcImRhdGVfcHVibGljYXRpb25fSk9cIiksXG4gICAgcnRyaW0ocmVmKFwidGFtX3F1ZXN0aW9ucy5taW5kZXBvdGxpYlwiKSkuYXMoXCJtaW5pc3RlcmVfZGVwb3RcIiksXG4gICAgdG9EYXRlU3RyaW5nKHJlZihcInRhbV9taW5pc3RlcmVzLmRhdGVkZWJ1dFwiKSkuYXMoXCJtaW5pc3RlcmVfZGVwb3RfZGF0ZV9kZWJ1dFwiKSxcbiAgICB0b0RhdGVTdHJpbmcocmVmKFwidGFtX3F1ZXN0aW9ucy5kYXRlam90cmFuXCIpKS5hcyhcImRhdGVfdHJhbnNtaXNzaW9uXCIpLFxuICAgIFwidGFtX3F1ZXN0aW9ucy5taW50cmFubGliIGFzIG1pbmlzdGVyZV90cmFuc21pc3Npb25cIixcbiAgICB0b0RhdGVTdHJpbmcocmVmKFwidGFtX3F1ZXN0aW9ucy5kYXRlam9yZXAxXCIpKS5hcyhcImRhdGVfcmVwb25zZV9KT1wiKSxcbiAgICBcInRhbV9xdWVzdGlvbnMubWlucmVwbGliMSBhcyBtaW5pc3RlcmVfcmVwb25zZVwiLFxuICAgIHRvRGF0ZVN0cmluZyhyZWYoXCJ0YW1fcXVlc3Rpb25zLmRhdGVjbG90dXJlXCIpKS5hcyhcImRhdGVfY2xvdHVyZVwiKSxcbiAgICBcInRhbV9xdWVzdGlvbnMucmVmcXVlcmFwcGVsZWUgYXMgcmVmZXJlbmNlX3F1ZXN0aW9uX3JhcHBlbGVlXCIsXG4gICAgLy9cInRhbV9xdWVzdGlvbnMudXJsIGFzIHVybFwiLCAvLyBUT0RPID9cbiAgICBcInRhbV9xdWVzdGlvbnMudHh0cXVlIGFzIHRleHRlXCIsXG4gICAgXCJ0YW1fcXVlc3Rpb25zLnR4dHF1ZSBhcyB0ZXh0ZV9lcnJhdHVtXCIsXG4gICAgXCJ0YW1fcXVlc3Rpb25zLnJ1YnJpcXVlIGFzIHJ1YnJpcXVlXCIsXG4gIF0pXG4gIC5zZWxlY3QoKHsgcmVmIH0pID0+IFtcbiAgICB0aGVtZXMocmVmKFwidGFtX3F1ZXN0aW9ucy5pZFwiKSkuYXMoXCJ0aGVtZXNcIiksXG4gICAgcmVwb25zZXMocmVmKFwidGFtX3F1ZXN0aW9ucy5pZFwiKSkuYXMoXCJyZXBvbnNlc1wiKSxcbiAgXSlcblxuZXhwb3J0IHR5cGUgUXVlc3Rpb25SZXN1bHQgPSBJbmZlclJlc3VsdDx0eXBlb2YgZmluZEFsbFF1ZXJ5PlswXVxuXG5leHBvcnQgZnVuY3Rpb24gZmluZEFsbCAoKSB7XG4gIHJldHVybiBmaW5kQWxsUXVlcnkuc3RyZWFtKClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUNBLElBQUFBLFNBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLEtBQUEsR0FBQUYsT0FBQTtBQUVBLFNBQVNHLFFBQVFBLENBQUVDLFVBQThCLEVBQUU7RUFDakQsT0FBTyxJQUFBQyx1QkFBYSxFQUNsQkMsc0JBQVcsQ0FBQ0MsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUNuQ0MsS0FBSyxDQUFDLG9CQUFvQixFQUFFLEdBQUcsRUFBRUosVUFBVSxDQUFDLENBQzVDSyxNQUFNLENBQUMsVUFBQUMsSUFBQTtJQUFBLElBQUdDLEdBQUcsR0FBQUQsSUFBQSxDQUFI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
|