@tricoteuses/tisseuse 0.20.0 → 0.21.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/README.md +113 -0
  2. package/dist/{html-C07GdZ0O.js → html-tp0cMUmA.js} +4170 -3730
  3. package/dist/index.js +136 -135
  4. package/dist/{resolver-4v_fWVor.js → resolver-CzmDH4S3.js} +138 -130
  5. package/dist/server-f-legi.js +73 -92
  6. package/dist/server.js +831 -793
  7. package/dist/src/lib/extractors/action_directives_cpu.test.d.ts +1 -0
  8. package/dist/src/lib/extractors/links.citation_scope.test.d.ts +1 -0
  9. package/dist/src/lib/extractors/links.d.ts +3 -1
  10. package/dist/src/lib/extractors/portion_references_cpu.test.d.ts +1 -0
  11. package/dist/src/lib/extractors/references.d.ts +12 -8
  12. package/dist/src/lib/f_legi/resolver.d.ts +0 -2
  13. package/dist/src/lib/index.d.ts +2 -1
  14. package/dist/src/lib/legi/canutes_article_preload.test.d.ts +1 -0
  15. package/dist/src/lib/legi/canutes_candidates.test.d.ts +1 -0
  16. package/dist/src/lib/legi/canutes_resolver.d.ts +5 -4
  17. package/dist/src/lib/legi/canutes_resolver_cache.test.d.ts +1 -0
  18. package/dist/src/lib/legi/canutes_root_cid_index.integration.test.d.ts +1 -0
  19. package/dist/src/lib/legi/canutes_section_roots.test.d.ts +1 -0
  20. package/dist/src/lib/legi/canutes_sql.d.ts +4 -0
  21. package/dist/src/lib/legi/canutes_text_titles_cache.d.ts +24 -0
  22. package/dist/src/lib/legi/canutes_text_titles_cache.integration.test.d.ts +1 -0
  23. package/dist/src/lib/legi/canutes_titles_metrics.d.ts +13 -0
  24. package/dist/src/lib/legi/text_titles_infos.d.ts +1 -0
  25. package/dist/src/lib/linkers/html.d.ts +6 -4
  26. package/dist/src/lib/linkers/markdown.d.ts +5 -3
  27. package/dist/src/lib/linkers/reference-mode.test.d.ts +1 -0
  28. package/dist/src/lib/server/akn_rendering.test.d.ts +1 -0
  29. package/dist/src/lib/server/bill_action_resolver_invariance.test.d.ts +1 -0
  30. package/dist/src/lib/server/bill_action_target_fixtures.d.ts +7 -0
  31. package/dist/src/lib/server/bill_citation_anaphora.test.d.ts +1 -0
  32. package/dist/src/lib/server/bill_comparison.d.ts +42 -0
  33. package/dist/src/lib/server/bill_comparison.test.d.ts +1 -0
  34. package/dist/src/lib/server/bill_target_scope.test.d.ts +1 -0
  35. package/dist/src/lib/server/canutes_legacy_candidates.d.ts +19 -0
  36. package/dist/src/lib/server/canutes_only_compatibility.test.d.ts +1 -0
  37. package/dist/src/lib/server/databases/canutes_root_cid_index.d.ts +11 -0
  38. package/dist/src/lib/server/databases/canutes_text_titles_cache.d.ts +8 -0
  39. package/dist/src/lib/server/flegi_profiling.d.ts +14 -0
  40. package/dist/src/lib/server/flegi_profiling.test.d.ts +1 -0
  41. package/dist/src/lib/server/masquage-typesense.test.d.ts +1 -0
  42. package/dist/src/lib/server/masquage_typesense.d.ts +36 -0
  43. package/dist/src/lib/server/sql_profiling.d.ts +30 -0
  44. package/dist/src/lib/server/sql_profiling.test.d.ts +1 -0
  45. package/dist/src/lib/text_parsers/action_words.d.ts +2 -0
  46. package/dist/src/lib/text_parsers/action_words.test.d.ts +1 -0
  47. package/dist/src/lib/text_parsers/texts.d.ts +1 -0
  48. package/dist/src/scripts/compare_legi_bills.d.ts +1 -0
  49. package/dist/src/scripts/configure_postgres_legi_resolver.d.ts +1 -0
  50. package/dist/src/scripts/configure_postgres_root_cid_index.d.ts +1 -0
  51. package/dist/src/scripts/profile_canutes_bill.d.ts +1 -0
  52. package/dist/src/scripts/test_canutes_titles_cache.d.ts +1 -0
  53. package/dist/src/scripts/warm_canutes_text_titles_cache.d.ts +1 -0
  54. package/package.json +9 -1
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
- import { $ as e, $t as t, A as n, At as r, B as i, Bt as a, Ct as o, Dt as s, Et as c, F as l, G as u, Gt as d, H as f, Ht as p, I as m, It as ee, J as te, Jt as ne, K as re, Kt as ie, L as ae, Lt as oe, Mt as se, Nt as ce, Ot as h, P as le, Pt as ue, Q as de, Qt as fe, R as pe, Rt as me, St as he, T as ge, Tt as _e, Ut as ve, V as ye, Vt as be, Wt as xe, X as Se, Xt as Ce, Y as we, Yt as Te, Z as Ee, Zt as De, _ as Oe, _t as ke, a as g, at as Ae, b as je, bt as Me, c as Ne, ct as Pe, d as _, dt as Fe, en as Ie, et as Le, f as Re, g as ze, gt as Be, ht as Ve, i as He, it as Ue, jt as We, kt as Ge, l as Ke, lt as qe, mt as Je, n as Ye, o as v, ot as Xe, p as Ze, pt as Qe, q as $e, qt as et, r as y, rt as tt, s as nt, st as rt, t as it, tn as at, tt as ot, u as st, ut as ct, v as lt, vt as ut, wt as dt, xt as ft, y as pt, yt as mt, z as ht, zt as gt } from "./html-C07GdZ0O.js";
2
- import { $ as _t, A as b, At as x, B as S, Bt as C, C as vt, Ct as yt, D as bt, Dt as xt, E as St, Ft as Ct, I as wt, It as w, J as Tt, K as Et, L as Dt, Lt as Ot, M as kt, N as At, O as jt, Ot as T, P as Mt, Pt as E, Q as Nt, R as Pt, Rt as Ft, S as It, T as Lt, Tt as Rt, U as zt, W as Bt, X as Vt, Y as Ht, Z as Ut, _ as Wt, _t as Gt, b as D, c as Kt, d as qt, dt as Jt, et as Yt, f as Xt, g as Zt, gt as Qt, h as $t, ht as en, it as tn, j as nn, jt as O, k as rn, kt as k, l as an, lt as on, m as sn, mt as cn, n as ln, ot as un, p as dn, pt as fn, r as pn, rt as A, s as mn, t as hn, tt as gn, u as _n, w as vn, wt as yn, x as j, xt as M, y as bn, z as N, zt as xn } from "./resolver-4v_fWVor.js";
1
+ import { $ as e, $t as t, A as n, At as r, B as i, Bt as a, Ct as o, Dt as s, Et as c, F as l, Ft as u, Gt as d, H as f, Ht as p, I as m, J as ee, Jt as te, K as ne, Kt as re, L as ie, Lt as ae, Mt as oe, Nt as se, Ot as h, P as ce, Pt as le, Q as ue, Qt as de, R as fe, Rt as pe, St as me, T as he, Tt as ge, U as _e, Ut as ve, V as ye, Vt as be, Wt as xe, X as Se, Xt as Ce, Y as we, Yt as Te, Z as Ee, Zt as De, _ as Oe, _t as ke, a as g, at as Ae, b as je, bt as Me, c as Ne, ct as Pe, d as _, dt as Fe, en as Ie, et as Le, f as Re, ft as ze, g as Be, gt as Ve, ht as He, i as Ue, it as We, jt as Ge, kt as v, l as Ke, lt as qe, mt as Je, n as Ye, nn as Xe, nt as Ze, o as y, ot as Qe, p as $e, q as et, qt as tt, r as b, rn as nt, s as rt, st as it, t as at, tn as ot, tt as st, u as ct, ut as lt, v as ut, vt as dt, wt as ft, xt as pt, y as mt, yt as ht, z as gt, zt as _t } from "./html-tp0cMUmA.js";
2
+ import { $ as vt, A as yt, At as x, B as S, Bt as bt, C as xt, D as St, E as Ct, Et as wt, F as Tt, Ft as C, G as Et, It as Dt, L as Ot, Lt as w, M as kt, Mt as T, N as At, O as jt, Ot as Mt, P as Nt, Q as Pt, R as Ft, Rt as It, S as E, St as D, T as Lt, Tt as Rt, V as O, Vt as k, W as zt, X as Bt, Y as Vt, Z as Ht, _ as Ut, _t as Wt, at as Gt, b as Kt, c as qt, et as Jt, f as Yt, ft as Xt, g as Zt, gt as Qt, h as $t, ht as en, it as A, j, jt as M, k as tn, kt as N, l as nn, m as rn, mt as an, n as on, nt as sn, p as cn, q as ln, r as un, s as dn, st as fn, t as pn, tt as mn, u as hn, ut as gn, v as _n, vt as vn, w as yn, wt as bn, x as P, z as xn, zt as Sn } from "./resolver-CzmDH4S3.js";
3
3
  //#region ../../node_modules/@tricoteuses/legifrance/dist/legal/index.js
4
- function Sn(e, t) {
4
+ function Cn(e, t) {
5
5
  if (e != null) {
6
6
  if (!Array.isArray(e)) return e;
7
7
  for (let n of e) if (n["@debut"] <= t && t <= n["@fin"]) return n;
@@ -10,10 +10,10 @@ function Sn(e, t) {
10
10
  }
11
11
  //#endregion
12
12
  //#region src/lib/loaders/legifrance.ts
13
- function P({ data: e, num: t }) {
13
+ function F({ data: e, num: t }) {
14
14
  return t !== null && (e.num = t), e;
15
15
  }
16
- async function F(e, t, n) {
16
+ async function I(e, t, n) {
17
17
  let r = t.get("ARTICLE");
18
18
  r === void 0 && (r = /* @__PURE__ */ new Map(), t.set("ARTICLE", r));
19
19
  let i = r.get(n);
@@ -21,9 +21,9 @@ async function F(e, t, n) {
21
21
  SELECT data, num
22
22
  FROM legifrance.article
23
23
  WHERE id = ${n}
24
- `).map(P)[0], r.set(n, i ?? null)), i ?? void 0;
24
+ `).map(F)[0], r.set(n, i ?? null)), i ?? void 0;
25
25
  }
26
- async function Cn(e, t, n) {
26
+ async function wn(e, t, n) {
27
27
  let r = t.get("JO");
28
28
  r === void 0 && (r = /* @__PURE__ */ new Map(), t.set("JO", r));
29
29
  let i = r.get(n);
@@ -34,7 +34,7 @@ async function Cn(e, t, n) {
34
34
  WHERE id = ${n}
35
35
  `)[0]?.data, r.set(n, i ?? null)), i ?? void 0;
36
36
  }
37
- async function I(e, t, n) {
37
+ async function L(e, t, n) {
38
38
  let r = t.get("SECTION_TA");
39
39
  r === void 0 && (r = /* @__PURE__ */ new Map(), t.set("SECTION_TA", r));
40
40
  let i = r.get(n);
@@ -45,7 +45,7 @@ async function I(e, t, n) {
45
45
  WHERE id = ${n}
46
46
  `)[0]?.data, r.set(n, i ?? null)), i ?? void 0;
47
47
  }
48
- async function wn(e, t, n) {
48
+ async function Tn(e, t, n) {
49
49
  let r = t.get("SECTION_TA");
50
50
  r === void 0 && (r = /* @__PURE__ */ new Map(), t.set("SECTION_TA", r));
51
51
  let i = new Set(n), a = [];
@@ -61,7 +61,7 @@ async function wn(e, t, n) {
61
61
  `).map(({ data: e }) => e)) r.set(t.ID, t), a.push(t);
62
62
  return a;
63
63
  }
64
- async function Tn(e, t, n) {
64
+ async function En(e, t, n) {
65
65
  let r = t.get("TEXTELR");
66
66
  r === void 0 && (r = /* @__PURE__ */ new Map(), t.set("TEXTELR", r));
67
67
  let i = r.get(n);
@@ -72,7 +72,7 @@ async function Tn(e, t, n) {
72
72
  WHERE id = ${n}
73
73
  `)[0]?.data, r.set(n, i ?? null)), i ?? void 0;
74
74
  }
75
- async function En(e, t, n) {
75
+ async function Dn(e, t, n) {
76
76
  let r = t.get("TEXTEKALI");
77
77
  r === void 0 && (r = /* @__PURE__ */ new Map(), t.set("TEXTEKALI", r));
78
78
  let i = r.get(n);
@@ -82,7 +82,7 @@ async function En(e, t, n) {
82
82
  WHERE id = ${n}
83
83
  `)[0]?.data, r.set(n, i ?? null)), i ?? void 0;
84
84
  }
85
- async function Dn(e, t, n) {
85
+ async function On(e, t, n) {
86
86
  let r = t.get("TEXTELR");
87
87
  r === void 0 && (r = /* @__PURE__ */ new Map(), t.set("TEXTELR", r));
88
88
  let i = new Set(n), a = [];
@@ -97,7 +97,7 @@ async function Dn(e, t, n) {
97
97
  `).map(({ data: e }) => e)) r.set(t.META.META_COMMUN.ID, t), a.push(t);
98
98
  return a;
99
99
  }
100
- async function On(e, t, n) {
100
+ async function kn(e, t, n) {
101
101
  let r = t.get("TEXTE_VERSION");
102
102
  r === void 0 && (r = /* @__PURE__ */ new Map(), t.set("TEXTE_VERSION", r));
103
103
  let i = new Set(n), a = [];
@@ -112,7 +112,7 @@ async function On(e, t, n) {
112
112
  `).map(({ data: e }) => e)) r.set(t.META.META_COMMUN.ID, t), a.push(t);
113
113
  return a;
114
114
  }
115
- async function kn(e, t, n) {
115
+ async function An(e, t, n) {
116
116
  let r = t.get("TEXTE_VERSION");
117
117
  r === void 0 && (r = /* @__PURE__ */ new Map(), t.set("TEXTE_VERSION", r));
118
118
  let i = r.get(n);
@@ -123,7 +123,7 @@ async function kn(e, t, n) {
123
123
  WHERE id = ${n}
124
124
  `)[0]?.data, r.set(n, i ?? null)), i ?? void 0;
125
125
  }
126
- async function An(e, t, n) {
126
+ async function jn(e, t, n) {
127
127
  let r = t.get("ARTICLE");
128
128
  r === void 0 && (r = /* @__PURE__ */ new Map(), t.set("ARTICLE", r));
129
129
  let i = [];
@@ -131,80 +131,80 @@ async function An(e, t, n) {
131
131
  SELECT data, num
132
132
  FROM legifrance.article
133
133
  ${n}
134
- `).map(P)) r.set(t.META.META_COMMUN.ID, t), i.push(t);
134
+ `).map(F)) r.set(t.META.META_COMMUN.ID, t), i.push(t);
135
135
  return i;
136
136
  }
137
137
  //#endregion
138
138
  //#region src/lib/articles.ts
139
- var L = ["2222-02-22", "2999-01-01"];
140
- function R(e) {
141
- return [e, ...e.TM === void 0 ? [] : R(e.TM)];
142
- }
139
+ var R = ["2222-02-22", "2999-01-01"];
143
140
  function z(e) {
144
- return e !== void 0 && L.includes(e);
141
+ return [e, ...e.TM === void 0 ? [] : z(e.TM)];
145
142
  }
146
- function jn({ dateDebut: e, sourceDateDebut: t, sourceDateFin: n }) {
147
- return t !== void 0 && n !== void 0 && !z(t) && !z(n) && n <= t ? "never_effective" : e === void 0 || z(e) ? "unknown" : n === "2999-01-01" ? "open_ended" : n === void 0 || z(n) ? "unknown" : n > e ? "dated" : "unknown";
143
+ function B(e) {
144
+ return e !== void 0 && R.includes(e);
148
145
  }
149
- var Mn = (e) => {
146
+ function Mn({ dateDebut: e, sourceDateDebut: t, sourceDateFin: n }) {
147
+ return t !== void 0 && n !== void 0 && !B(t) && !B(n) && n <= t ? "never_effective" : e === void 0 || B(e) ? "unknown" : n === "2999-01-01" ? "open_ended" : n === void 0 || B(n) ? "unknown" : n > e ? "dated" : "unknown";
148
+ }
149
+ var Nn = (e) => {
150
150
  if (e !== void 0) for (let t = 0; t < e.length; ++t) {
151
- let n = A(new T(e, t));
151
+ let n = A(new N(e, t));
152
152
  if (typeof n == "string") return n;
153
153
  }
154
- }, B = (e) => (e === void 0 ? [] : Array.isArray(e) ? e : [e]).map((e) => Mn(e["#text"])).find((e) => e !== void 0), Nn = (e) => {
154
+ }, V = (e) => (e === void 0 ? [] : Array.isArray(e) ? e : [e]).map((e) => Nn(e["#text"])).find((e) => e !== void 0), Pn = (e) => {
155
155
  let t = e.META.META_SPEC.META_ARTICLE.DATE_DEBUT;
156
- if (t !== void 0 && !L.includes(t)) return t;
157
- let n = e.CONTEXTE.TEXTE, r = n.TITRE_TXT, i = [...r === void 0 ? [] : (Array.isArray(r) ? r : [r]).map((e) => e["@debut"]), ...n.TM === void 0 ? [] : R(n.TM).map((e) => (Array.isArray(e.TITRE_TM) ? e.TITRE_TM : [e.TITRE_TM]).map((e) => e["@debut"])).flat()].filter((e) => !L.includes(e));
156
+ if (t !== void 0 && !R.includes(t)) return t;
157
+ let n = e.CONTEXTE.TEXTE, r = n.TITRE_TXT, i = [...r === void 0 ? [] : (Array.isArray(r) ? r : [r]).map((e) => e["@debut"]), ...n.TM === void 0 ? [] : z(n.TM).map((e) => (Array.isArray(e.TITRE_TM) ? e.TITRE_TM : [e.TITRE_TM]).map((e) => e["@debut"])).flat()].filter((e) => !R.includes(e));
158
158
  if (i.length > 0) return i.sort().at(-1);
159
159
  let a = n["@date_publi"];
160
- if (a !== void 0 && !L.includes(a)) return a;
160
+ if (a !== void 0 && !R.includes(a)) return a;
161
161
  let o = n["@date_signature"];
162
- if (o !== void 0 && !L.includes(o)) return o;
162
+ if (o !== void 0 && !R.includes(o)) return o;
163
163
  let s = e.META.META_SPEC.META_ARTICLE.DATE_FIN;
164
- if (s !== void 0 && !L.includes(s)) return s;
165
- let c = B(r);
164
+ if (s !== void 0 && !R.includes(s)) return s;
165
+ let c = V(r);
166
166
  if (c !== void 0) return c;
167
- if (L.includes(t ?? "")) return t;
167
+ if (R.includes(t ?? "")) return t;
168
168
  throw Error(`Missing date signature in article ${e.META.META_COMMUN.ID}`);
169
- }, V = (e) => {
169
+ }, H = (e) => {
170
170
  let t = e.META.META_SPEC.META_ARTICLE.DATE_DEBUT;
171
- if (t !== void 0 && !L.includes(t)) return t;
171
+ if (t !== void 0 && !R.includes(t)) return t;
172
172
  let n = e.CONTEXTE.TEXTE, r = n["@date_signature"];
173
- if (r !== void 0 && !L.includes(r)) return r;
173
+ if (r !== void 0 && !R.includes(r)) return r;
174
174
  let i = n["@date_publi"];
175
- if (i !== void 0 && !L.includes(i)) return i;
176
- let a = n.TITRE_TXT, o = [...a === void 0 ? [] : (Array.isArray(a) ? a : [a]).map((e) => e["@debut"]), ...n.TM === void 0 ? [] : R(n.TM).map((e) => (Array.isArray(e.TITRE_TM) ? e.TITRE_TM : [e.TITRE_TM]).map((e) => e["@debut"])).flat()].filter((e) => !L.includes(e));
175
+ if (i !== void 0 && !R.includes(i)) return i;
176
+ let a = n.TITRE_TXT, o = [...a === void 0 ? [] : (Array.isArray(a) ? a : [a]).map((e) => e["@debut"]), ...n.TM === void 0 ? [] : z(n.TM).map((e) => (Array.isArray(e.TITRE_TM) ? e.TITRE_TM : [e.TITRE_TM]).map((e) => e["@debut"])).flat()].filter((e) => !R.includes(e));
177
177
  if (o.length > 0) return o.sort().at(-1);
178
178
  let s = e.META.META_SPEC.META_ARTICLE.DATE_FIN;
179
- if (s !== void 0 && !L.includes(s)) return s;
180
- let c = B(a);
179
+ if (s !== void 0 && !R.includes(s)) return s;
180
+ let c = V(a);
181
181
  if (c !== void 0) return c;
182
- if (L.includes(t ?? "")) return t;
182
+ if (R.includes(t ?? "")) return t;
183
183
  throw Error(`Missing date signature in article ${e.META.META_COMMUN.ID}`);
184
184
  };
185
- async function Pn(e, t, n, r) {
186
- let i = await F(e, t, n);
185
+ async function Fn(e, t, n, r) {
186
+ let i = await I(e, t, n);
187
187
  if (i === void 0) return;
188
- let a = V(i), o = i.META.META_COMMUN.ORIGINE;
188
+ let a = H(i), o = i.META.META_COMMUN.ORIGINE;
189
189
  if (o === "KALI") return;
190
190
  let s = i.CONTEXTE.TEXTE;
191
191
  if (s.TM === void 0) return;
192
- let c = R(s.TM).reverse(), l;
192
+ let c = z(s.TM).reverse(), l;
193
193
  switch (o) {
194
194
  case "JORF":
195
195
  l = c.map((e) => e.TITRE_TM["@id"]);
196
196
  break;
197
197
  case "LEGI":
198
- l = c.map((e) => Sn(e.TITRE_TM, a)?.["@id"]);
198
+ l = c.map((e) => Cn(e.TITRE_TM, a)?.["@id"]);
199
199
  break;
200
- default: C("getOrLoadArticleSiblingId origine", o);
200
+ default: k("getOrLoadArticleSiblingId origine", o);
201
201
  }
202
- return await (r === -1 ? K : G)(e, t, n, a, i.num, l);
202
+ return await (r === -1 ? q : K)(e, t, n, a, i.num, l);
203
203
  }
204
- async function H(e, t, n, r, i, a) {
204
+ async function U(e, t, n, r, i, a) {
205
205
  let o = r[n];
206
206
  if (o === void 0) {
207
- let s = await I(e, t, n);
207
+ let s = await L(e, t, n);
208
208
  if (s === void 0) return;
209
209
  let c = s.STRUCTURE_TA;
210
210
  if (c === void 0) return;
@@ -232,8 +232,8 @@ async function H(e, t, n, r, i, a) {
232
232
  }
233
233
  return o;
234
234
  }
235
- async function U(e, t, n) {
236
- let r = await I(e, t, n);
235
+ async function W(e, t, n) {
236
+ let r = await L(e, t, n);
237
237
  if (r === void 0) return;
238
238
  let i = r.STRUCTURE_TA;
239
239
  if (i === void 0) return;
@@ -241,26 +241,26 @@ async function U(e, t, n) {
241
241
  if (a !== void 0) return a[0]["@id"];
242
242
  let o = i.LIEN_SECTION_TA;
243
243
  if (o !== void 0) for (let n of o) {
244
- let r = await U(e, t, n["@id"]);
244
+ let r = await W(e, t, n["@id"]);
245
245
  if (r !== void 0) return r;
246
246
  }
247
247
  }
248
- async function W(e, t, n) {
249
- let r = await I(e, t, n);
248
+ async function G(e, t, n) {
249
+ let r = await L(e, t, n);
250
250
  if (r === void 0) return;
251
251
  let i = r.STRUCTURE_TA;
252
252
  if (i === void 0) return;
253
253
  let a = i.LIEN_SECTION_TA;
254
254
  if (a !== void 0) for (let n of a.toReversed()) {
255
- let r = await W(e, t, n["@id"]);
255
+ let r = await G(e, t, n["@id"]);
256
256
  if (r !== void 0) return r;
257
257
  }
258
258
  return i.LIEN_ART?.at(-1)?.["@id"];
259
259
  }
260
- async function G(e, t, n, r, i, a, o = 0, s = {}, c = void 0) {
260
+ async function K(e, t, n, r, i, a, o = 0, s = {}, c = void 0) {
261
261
  let l = a[o];
262
262
  if (l === void 0) return;
263
- let u = await H(e, t, l, s, n, c);
263
+ let u = await U(e, t, l, s, n, c);
264
264
  if (u === void 0) return;
265
265
  let { area: d, index: f, sectionTa: p } = u, m = p.STRUCTURE_TA;
266
266
  switch (d) {
@@ -269,32 +269,32 @@ async function G(e, t, n, r, i, a, o = 0, s = {}, c = void 0) {
269
269
  for (let n = f + 1; n < c.length; n++) {
270
270
  let a = c[n];
271
271
  if (a["@num"] !== i) {
272
- let n = await F(e, t, a["@id"]);
273
- if (n !== void 0 && V(n) <= r) return a["@id"];
272
+ let n = await I(e, t, a["@id"]);
273
+ if (n !== void 0 && H(n) <= r) return a["@id"];
274
274
  }
275
275
  }
276
276
  let u = m.LIEN_SECTION_TA;
277
277
  if (u !== void 0) for (let n of u) {
278
- let r = await U(e, t, n["@id"]);
278
+ let r = await W(e, t, n["@id"]);
279
279
  if (r !== void 0) return r;
280
280
  }
281
- return await G(e, t, n, r, i, a, o + 1, s, l);
281
+ return await K(e, t, n, r, i, a, o + 1, s, l);
282
282
  }
283
283
  case "LIEN_SECTION_TA": {
284
284
  let c = m.LIEN_SECTION_TA;
285
285
  for (let n = f + 1; n < c.length; n++) {
286
- let r = await U(e, t, c[n]["@id"]);
286
+ let r = await W(e, t, c[n]["@id"]);
287
287
  if (r !== void 0) return r;
288
288
  }
289
- return await G(e, t, n, r, i, a, o + 1, s, l);
289
+ return await K(e, t, n, r, i, a, o + 1, s, l);
290
290
  }
291
- default: C("moveToNextArticleId area", d);
291
+ default: k("moveToNextArticleId area", d);
292
292
  }
293
293
  }
294
- async function K(e, t, n, r, i, a, o = 0, s = {}, c = void 0) {
294
+ async function q(e, t, n, r, i, a, o = 0, s = {}, c = void 0) {
295
295
  let l = a[o];
296
296
  if (l === void 0) return;
297
- let u = await H(e, t, l, s, n, c);
297
+ let u = await U(e, t, l, s, n, c);
298
298
  if (u === void 0) return;
299
299
  let { area: d, index: f, sectionTa: p } = u, m = p.STRUCTURE_TA;
300
300
  switch (d) {
@@ -303,24 +303,24 @@ async function K(e, t, n, r, i, a, o = 0, s = {}, c = void 0) {
303
303
  for (let n = f - 1; n >= 0; n--) {
304
304
  let a = c[n];
305
305
  if (a["@num"] !== i) {
306
- let n = await F(e, t, a["@id"]);
307
- if (n !== void 0 && V(n) <= r) return a["@id"];
306
+ let n = await I(e, t, a["@id"]);
307
+ if (n !== void 0 && H(n) <= r) return a["@id"];
308
308
  }
309
309
  }
310
- return await K(e, t, n, r, i, a, o + 1, s, l);
310
+ return await q(e, t, n, r, i, a, o + 1, s, l);
311
311
  }
312
312
  case "LIEN_SECTION_TA": {
313
313
  for (let n = f - 1; n >= 0; n--) {
314
- let r = await W(e, t, m.LIEN_SECTION_TA[n]["@id"]);
314
+ let r = await G(e, t, m.LIEN_SECTION_TA[n]["@id"]);
315
315
  if (r !== void 0) return r;
316
316
  }
317
317
  let c = m.LIEN_ART;
318
- return c === void 0 ? await K(e, t, n, r, i, a, o + 1, s, l) : (u.area = "LIEN_ART", u.index = c.length, await K(e, t, n, r, i, a, o, s));
318
+ return c === void 0 ? await q(e, t, n, r, i, a, o + 1, s, l) : (u.area = "LIEN_ART", u.index = c.length, await q(e, t, n, r, i, a, o, s));
319
319
  }
320
- default: C("moveToPreviousArticleId area", d);
320
+ default: k("moveToPreviousArticleId area", d);
321
321
  }
322
322
  }
323
- var Fn = (e) => (t, n) => {
323
+ var In = (e) => (t, n) => {
324
324
  let r = e(t), i = e(n);
325
325
  if (r !== i) return r.localeCompare(i);
326
326
  let a = t.META.META_COMMUN, o = a.ORIGINE, s = n.META.META_COMMUN, c = s.ORIGINE;
@@ -339,43 +339,44 @@ var Fn = (e) => (t, n) => {
339
339
  if (m <= i) return 1;
340
340
  }
341
341
  throw Error(`TODO: Unable to sort articles ${a.ID} & ${s.ID} by date.`);
342
- }, q = () => /* @__PURE__ */ new Map(), In = () => /* @__PURE__ */ new Map(), Ln = () => ({
343
- assemblee: q(),
344
- legifrance: In()
345
- }), Rn = new Intl.DateTimeFormat("fr-FR", { dateStyle: "long" });
346
- function zn(e) {
347
- return Rn.format(new Date(e)).replace(/^1 /, "1er ");
342
+ }, J = () => /* @__PURE__ */ new Map(), Ln = () => /* @__PURE__ */ new Map(), Rn = () => ({
343
+ assemblee: J(),
344
+ legifrance: Ln()
345
+ }), zn = new Intl.DateTimeFormat("fr-FR", { dateStyle: "long" });
346
+ function Bn(e) {
347
+ return zn.format(new Date(e)).replace(/^1 /, "1er ");
348
348
  }
349
349
  //#endregion
350
350
  //#region src/lib/json.ts
351
- var Bn = (e, t) => t instanceof Object && !Array.isArray(t) ? Object.keys(t).sort().reduce((e, n) => (e[n] = t[n], e), {}) : t;
351
+ var Vn = (e, t) => t instanceof Object && !Array.isArray(t) ? Object.keys(t).sort().reduce((e, n) => (e[n] = t[n], e), {}) : t;
352
352
  //#endregion
353
353
  //#region src/lib/markdown.ts
354
- function J(e) {
354
+ function Y(e) {
355
355
  return e?.replace(/\s+/g, " ").replaceAll("[", "\\[").replaceAll("]", "\\]");
356
356
  }
357
357
  //#endregion
358
358
  //#region src/lib/linkers/markdown.ts
359
- async function Vn({ canutesDb: e, legiResolver: t, date: n, linkBaseUrl: r, linkType: i, previousContext: a, text: o }) {
360
- let s = t ?? (e === void 0 ? void 0 : new Ze(e));
361
- if (s === void 0) throw Error("A Canutes database or legal resolver is required");
362
- await s.preloadTextTitlesInfos();
363
- let c = b(o), l = new T(c.output);
364
- l.currentArticle = a?.currentArticle, l.currentText = a?.currentText;
365
- let u = o, d = 0;
359
+ async function Hn({ canutesDb: e, legiResolver: t, date: n, linkBaseUrl: r, linkType: i, parsingMode: a, previousContext: o, text: s }) {
360
+ let c = t ?? (e === void 0 ? void 0 : new $e(e));
361
+ if (c === void 0) throw Error("A Canutes database or legal resolver is required");
362
+ await c.preloadTextTitlesInfos();
363
+ let l = j(s), u = new N(l.output);
364
+ u.currentArticle = o?.currentArticle, u.currentText = o?.currentText;
365
+ let d = s, f = 0;
366
366
  for await (let e of _({
367
- legiResolver: s,
368
- context: l,
367
+ legiResolver: c,
368
+ context: u,
369
369
  date: n,
370
- transformation: c
370
+ parsingMode: a,
371
+ transformation: l
371
372
  })) switch (e.type) {
372
373
  case "article_definition": break;
373
374
  case "external_article": {
374
- let { articleId: t, historyArticleId: n, originalTransformation: a } = e, o = t === void 0 ? n === void 0 ? void 0 : g(i, r, n) : v(i, r, t);
375
+ let { articleId: t, historyArticleId: n, originalTransformation: a } = e, o = t === void 0 ? n === void 0 ? void 0 : g(i, r, n) : y(i, r, t);
375
376
  if (o !== void 0) {
376
377
  if (a === void 0) throw Error(`Missing originalTransformation attribute in external article link: ${JSON.stringify(e, null, 2)}`);
377
- let t = S(a, `[${J(N(u, a, d))}](${o})`);
378
- u = u.slice(0, a.position.start + d) + t + u.slice(a.position.stop + d), d += t.length - (a.position.stop - a.position.start);
378
+ let t = O(a, `[${Y(S(d, a, f))}](${o})`);
379
+ d = d.slice(0, a.position.start + f) + t + d.slice(a.position.stop + f), f += t.length - (a.position.stop - a.position.start);
379
380
  }
380
381
  break;
381
382
  }
@@ -383,64 +384,64 @@ async function Vn({ canutesDb: e, legiResolver: t, date: n, linkBaseUrl: r, link
383
384
  let { originalTransformation: t, sectionTaId: n } = e;
384
385
  if (n !== void 0) {
385
386
  if (t === void 0) throw Error(`Missing originalTransformation attribute in external division link: ${JSON.stringify(e, null, 2)}`);
386
- let a = S(t, `[${J(N(u, t, d))}](${v(i, r, n)})`);
387
- u = u.slice(0, t.position.start + d) + a + u.slice(t.position.stop + d), d += a.length - (t.position.stop - t.position.start);
387
+ let a = O(t, `[${Y(S(d, t, f))}](${y(i, r, n)})`);
388
+ d = d.slice(0, t.position.start + f) + a + d.slice(t.position.stop + f), f += a.length - (t.position.stop - t.position.start);
388
389
  }
389
390
  break;
390
391
  }
391
392
  case "external_text": {
392
393
  let { originalTransformation: t, text: a } = e;
393
394
  if (a.cid === void 0) {
394
- a.relative !== 0 && console.error(`Link to text "${l.text(a.position)}" without CID: ${JSON.stringify(a, null, 2)}`);
395
+ a.relative !== 0 && console.error(`Link to text "${u.text(a.position)}" without CID: ${JSON.stringify(a, null, 2)}`);
395
396
  continue;
396
397
  }
397
398
  if (t === void 0) throw Error(`Missing originalTransformation attribute in external text link: ${JSON.stringify(e, null, 2)}`);
398
- let o = y(l.text(a.position)), c;
399
+ let o = b(u.text(a.position)), s;
399
400
  if (o !== void 0) {
400
- let e = await s.getActiveArticlesByTextAndNum({
401
+ let e = await c.getActiveArticlesByTextAndNum({
401
402
  date: n,
402
403
  num: o,
403
404
  textId: a.cid
404
405
  }), t = e.filter(({ dateDebut: e, dateFin: t }) => e <= n && t > n);
405
- if (t.length === 1) c = v(i, r, t[0].id);
406
+ if (t.length === 1) s = y(i, r, t[0].id);
406
407
  else if (e.length > 0) {
407
- let e = await s.getArticleHistoryInfo({
408
+ let e = await c.getArticleHistoryInfo({
408
409
  num: o,
409
410
  textId: a.cid
410
411
  });
411
- e !== void 0 && (c = g(i, r, e.articleId));
412
+ e !== void 0 && (s = g(i, r, e.articleId));
412
413
  }
413
414
  }
414
- c === void 0 && (c = v(i, r, a.cid));
415
- let f = S(t, `[${J(N(u, t, d))}](${c})`);
416
- u = u.slice(0, t.position.start + d) + f + u.slice(t.position.stop + d), d += f.length - (t.position.stop - t.position.start);
415
+ s === void 0 && (s = y(i, r, a.cid));
416
+ let l = O(t, `[${Y(S(d, t, f))}](${s})`);
417
+ d = d.slice(0, t.position.start + f) + l + d.slice(t.position.stop + f), f += l.length - (t.position.stop - t.position.start);
417
418
  break;
418
419
  }
419
420
  case "internal_article": {
420
421
  let { definition: t, originalTransformation: n } = e;
421
422
  if (n === void 0) throw Error(`Missing originalTransformation attribute in internal article link: ${JSON.stringify(e, null, 2)}`);
422
- let r = S(n, `[${J(N(u, n, d))}](#definition_article_${t.textId}_${t.article.num.replaceAll(" ", "_")})`);
423
- u = u.slice(0, n.position.start + d) + r + u.slice(n.position.stop + d), d += r.length - (n.position.stop - n.position.start);
423
+ let r = O(n, `[${Y(S(d, n, f))}](#definition_article_${t.textId}_${t.article.num.replaceAll(" ", "_")})`);
424
+ d = d.slice(0, n.position.start + f) + r + d.slice(n.position.stop + f), f += r.length - (n.position.stop - n.position.start);
424
425
  break;
425
426
  }
426
427
  case "european_text": {
427
428
  let { url: t, originalTransformation: n } = e;
428
429
  if (t === void 0) continue;
429
430
  if (n === void 0) throw Error(`Missing originalTransformation attribute in european text link: ${JSON.stringify(e, null, 2)}`);
430
- let r = N(u, n, d), i = S(n, `<a class="lien_texte_european" href="${t}"${t.startsWith("/") ? "" : " target=\"_blank\""}>${r}</a>`);
431
- u = u.slice(0, n.position.start + d) + i + u.slice(n.position.stop + d), d += i.length - (n.position.stop - n.position.start);
431
+ let r = S(d, n, f), i = O(n, `<a class="lien_texte_european" href="${t}"${t.startsWith("/") ? "" : " target=\"_blank\""}>${r}</a>`);
432
+ d = d.slice(0, n.position.start + f) + i + d.slice(n.position.stop + f), f += i.length - (n.position.stop - n.position.start);
432
433
  break;
433
434
  }
434
- default: C("Link", e);
435
+ default: k("Link", e);
435
436
  }
436
437
  return {
437
- context: l,
438
- output: u === o ? null : u
438
+ context: u,
439
+ output: d === s ? null : d
439
440
  };
440
441
  }
441
442
  //#endregion
442
443
  //#region src/lib/loaders/assemblee.ts
443
- async function Hn(e, t, n) {
444
+ async function Un(e, t, n) {
444
445
  let r = t.get("Document");
445
446
  r === void 0 && (r = /* @__PURE__ */ new Map(), t.set("Document", r));
446
447
  let i = r.get(n);
@@ -450,7 +451,7 @@ async function Hn(e, t, n) {
450
451
  WHERE uid = ${n}
451
452
  `)[0]?.data, r.set(n, i ?? null)), i ?? void 0;
452
453
  }
453
- async function Un(e, t, n) {
454
+ async function Wn(e, t, n) {
454
455
  let r = t.get("Document");
455
456
  return r === void 0 && (r = /* @__PURE__ */ new Map(), t.set("Document", r)), (await e`
456
457
  SELECT data, uid
@@ -458,7 +459,7 @@ async function Un(e, t, n) {
458
459
  WHERE data ->> 'dossierRef' = ${n}
459
460
  `).map(({ data: e, uid: t }) => (r.set(t, e ?? null), e));
460
461
  }
461
- async function Wn(e, t, n) {
462
+ async function Gn(e, t, n) {
462
463
  let r = t.get("DossierParlementaire");
463
464
  r === void 0 && (r = /* @__PURE__ */ new Map(), t.set("DossierParlementaire", r));
464
465
  let i = r.get(n);
@@ -470,15 +471,15 @@ async function Wn(e, t, n) {
470
471
  }
471
472
  //#endregion
472
473
  //#region src/lib/text_parsers/search_queries.ts
473
- var Gn = w("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i" }), Y = x([
474
- Gn,
475
- E(M, { default: "" }),
476
- k(s, h)
474
+ var Kn = w("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i" }), X = M([
475
+ Kn,
476
+ C(D, { default: "" }),
477
+ x(h, v)
477
478
  ], { value: (e, t) => ({
478
479
  num: e[2],
479
480
  position: t.position(),
480
481
  type: "article"
481
- }) }), X = k(w("c(?:ode|\\.)? ?civ(?:il)?", {
482
+ }) }), qn = x(w("c(?:ode|\\.)? ?civ(?:il)?", {
482
483
  flags: "i",
483
484
  value: (e, t) => ({
484
485
  cid: "LEGITEXT000006070721",
@@ -586,13 +587,13 @@ var Gn = w("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
586
587
  title: "Code de commerce",
587
588
  type: "texte"
588
589
  })
589
- })), Z = k(X, O(j, { value: (e, t) => e === void 0 ? void 0 : {
590
+ })), Z = x(qn, T(E, { value: (e, t) => e === void 0 ? void 0 : {
590
591
  ...e,
591
592
  position: t.position()
592
- } }), O(D, { value: (e, t) => ({
593
+ } }), T(P, { value: (e, t) => ({
593
594
  ...e,
594
595
  position: t.position()
595
- }) })), Q = E(w(" (?:du |de la |de l'|des |de |d')?", { flags: "i" }), { default: "" }), Kn = w(".+?(?=\\s*(?:du |de la |de l'|des |de |d')?\\s*(?:art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?))", {
596
+ }) })), Q = C(w(" (?:du |de la |de l'|des |de |d')?", { flags: "i" }), { default: "" }), Jn = w(".+?(?=\\s*(?:du |de la |de l'|des |de |d')?\\s*(?:art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?))", {
596
597
  flags: "i",
597
598
  value: (e, t) => ({
598
599
  type: "texte",
@@ -606,10 +607,10 @@ var Gn = w("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
606
607
  title: e[0].trim(),
607
608
  position: t.position()
608
609
  })
609
- }), qn = k(x([
610
+ }), Yn = x(M([
610
611
  Z,
611
612
  Q,
612
- Y
613
+ X
613
614
  ], { value: (e, t) => {
614
615
  let n = e[0];
615
616
  return {
@@ -618,8 +619,8 @@ var Gn = w("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
618
619
  position: t.position(),
619
620
  type: "parent-enfant"
620
621
  };
621
- } }), x([
622
- Y,
622
+ } }), M([
623
+ X,
623
624
  Q,
624
625
  Z
625
626
  ], { value: (e, t) => ({
@@ -627,10 +628,10 @@ var Gn = w("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
627
628
  parent: e[2],
628
629
  position: t.position(),
629
630
  type: "parent-enfant"
630
- }) }), x([
631
- Kn,
631
+ }) }), M([
632
+ Jn,
632
633
  Q,
633
- Y
634
+ X
634
635
  ], { value: (e, t) => {
635
636
  let n = e[0];
636
637
  return {
@@ -639,8 +640,8 @@ var Gn = w("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
639
640
  position: t.position(),
640
641
  type: "parent-enfant"
641
642
  };
642
- } }), x([
643
- Y,
643
+ } }), M([
644
+ X,
644
645
  Q,
645
646
  $
646
647
  ], { value: (e, t) => ({
@@ -648,6 +649,6 @@ var Gn = w("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
648
649
  parent: e[2],
649
650
  position: t.position(),
650
651
  type: "parent-enfant"
651
- }) }), Y, Z, $), Jn = Vn;
652
+ }) }), X, Z, $), Xn = Hn;
652
653
  //#endregion
653
- export { hn as LegiResolver, T as TextParserContext, Ee as action, ge as actionDirective, xe as actionTargets, me as addChildLeftToLastChild, it as addLinksOrReferencesToHtmlPage, Ye as addLinksToHtml, Vn as addLinksToMarkdown, Jn as addLinksToText, nt as addPositionsToTableOfContentsItems, un as adjectifNumeralCardinal, on as adjectifNumeralOrdinalCourt, Ht as adjectifTemporelSingulier, Jt as adverbeMultiplicatifLatin, zt as adverbeRelatif, k as alternatives, Me as article, ft as articles, C as assertNever, se as auPortion, ce as auxPortions, ln as buildAndInstallTextTitlesInfos, Ae as buildArticlePortionTreeFromHtml, pn as buildTextTitlesInfos, x as chain, At as chainTransformers, de as citation, e as citationLigne, Le as citationSimple, ot as citationToText, y as citedArticleNumFromTextCitation, jn as classifyArticleTemporalStatus, mn as cleanTexteTitle, d as compoundReferencesSeparators, O as convert, vt as convertHtmlElementsToText, gt as createEnumerationOrBoundedInterval, a as createParentChildTreeFromReferences, A as date, vn as decodeNamedHtmlEntities, Lt as decodeNumericHtmlEntities, he as definitionArticleDansCitation, o as definitionArticleDansProjetOuPropositionLoi, Je as definitionDivision, qt as definitionTexteFrancais, dt as designationArticle, Ve as designationDivision, Vt as ditPluriel, Ut as ditSingulier, Be as division, ie as divisionTypes, ke as divisions, tn as duDate, M as espace, Bt as espaceAdverbeRelatif, et as europeanLawNatures, P as extendLoadedArticle, ze as extractActionDirectiveAstsFromText, Oe as extractActionDirectivesFromHtml, lt as extractActionDirectivesFromText, _e as extractArticleDefinitionsFromCitation, Qe as extractBillDefinitions, le as extractCitationReferences, tt as extractFrenchCitations, Xe as extractPortionSelectors, l as extractReferences, m as extractReferencesWithOriginalTransformations, _ as extractTextLinks, n as findBoundaryPositionCue, zn as formatLongDate, ne as frenchLawNatures, Nn as getArticleDateDebut, V as getArticleDateSignature, ae as getExtractedReferences, pe as getExtractedReferencesWithOriginalTransformations, Ne as getExtractedTableOfContentsFromTextBill, rt as getLegalPhraseTextBounds, F as getOrLoadArticle, Pn as getOrLoadArticleSiblingId, Hn as getOrLoadDocument, Un as getOrLoadDocumentsByDossierParlementaireUid, Wn as getOrLoadDossierParlementaire, Cn as getOrLoadJo, I as getOrLoadSectionTa, wn as getOrLoadSectionsTa, kn as getOrLoadTexteVersion, En as getOrLoadTextekali, Tn as getOrLoadTextelr, On as getOrLoadTextesVersions, Dn as getOrLoadTexteslr, Ke as getTableOfContentsItems, Pe as getTableUnitNoteRanges, Kt as getTexteVersionDateDebut, an as getTexteVersionDateSignature, Xt as identificationTexteEuropeen, Te as internationalLawNatures, Nt as introPluriel, _t as introSingulier, qe as isArticlePortionStructuralStart, z as isLegifranceSentinelDate, Ce as isTextAstAtomicReference, De as isTextAstDivision, fe as isTextAstPortion, be as iterAtomicFirstParentReferences, p as iterAtomicReferences, ve as iterIncludedReferences, Re as iterReferenceLinks, Bn as jsonReplacer, t as lawNatures, yt as lettreAscii, Yt as liaisonPluriel, gn as liaisonSingulier, He as linkTypes, c as listeArticles, u as listeReferencesSeules, An as loadArticles, Ie as localizationAdverbs, ut as natureDivisionSingulier, dn as natureTexteFrancais, q as newAssembleeObjectCache, In as newLegifranceObjectCache, Ln as newObjectCache, Mt as newReverseTransformationsMergedFromPositionsIterator, s as nomArticle, h as nomSpecialArticle, fn as nombreAsTextAstNumber, cn as nombreCardinal, en as nombreRomainCardinal, Qt as nombreRomainOrdinal, Gt as nombreRomainOu0iAsTextAstNumber, yn as nonLettre, Ge as normalizeBillArticleNumber, Rt as numero, mt as numeroDivision, sn as numeroEtOuDateTexteFrancais, ue as numeroPortion, $t as numeroTexteEuropeen, Zt as numeroTexteFrancais, E as optional, Wt as optionalEspaceDuTerritoire, r as parseArticleNumber, ct as parseArticleSubdivisionMarker, We as parseBillArticleLabel, Ue as parseFrenchCitationAt, Ct as parseText, at as portionTypes, ee as portions, re as reference, ht as referenceDoctrinale, i as referenceDoctrinaleArticleAvantSource, ye as referenceDoctrinaleArticlesAvantSource, f as referenceDoctrinaleSourceAvantArticle, $e as referenceSeule, w as regExp, Et as relatifPlurielPrepose, Tt as relatifSingulierPrepose, Ot as repeat, St as replaceHtmlPatterns, bt as replacePattern, jt as replaceTextPatterns, pt as resolveActionDirectivesFromHtml, je as resolveActionDirectivesFromText, Fe as resolvePortionSelector, wt as reversePositionsSplitFromPositions, Dt as reverseTransformationFromPosition, Pt as reverseTransformationsMergedFromPositions, N as reverseTransformedInnerFragment, S as reverseTransformedReplacement, Y as searchArticle, Gn as searchArticleKeyword, qn as searchQueryReference, Z as searchTexte, X as searchTexteAbbreviations, rn as simplifyHtml, b as simplifyPlainText, nn as simplifyText, kt as simplifyUnicodeCharacters, Fn as sortArticlesByDate, _n as sortTextesVersionsByDate, bn as texte, D as texteEuropeen, j as texteFrancais, Se as texteFrancaisAbrege, It as texteInternational, oe as unePortion, te as uniteBasePreciseeSingulier, we as uniteBaseSingulier, g as urlFromArticleVersionsId, v as urlFromLegalId, Ft as variable, xt as virguleOuEspace, st as walkTableOfContents, xn as wordsTree };
654
+ export { pn as LegiResolver, N as TextParserContext, ue as action, he as actionDirective, d as actionTargets, _t as addChildLeftToLastChild, at as addLinksOrReferencesToHtmlPage, Ye as addLinksToHtml, Hn as addLinksToMarkdown, Xn as addLinksToText, rt as addPositionsToTableOfContentsItems, fn as adjectifNumeralCardinal, gn as adjectifNumeralOrdinalCourt, Bt as adjectifTemporelSingulier, Xt as adverbeMultiplicatifLatin, zt as adverbeRelatif, x as alternatives, pt as article, me as articles, k as assertNever, se as auPortion, le as auxPortions, on as buildAndInstallTextTitlesInfos, Qe as buildArticlePortionTreeFromHtml, un as buildTextTitlesInfos, M as chain, Nt as chainTransformers, e as citation, Le as citationLigne, st as citationSimple, Ze as citationToText, b as citedArticleNumFromTextCitation, Mn as classifyArticleTemporalStatus, dn as cleanTexteTitle, re as compoundReferencesSeparators, T as convert, yn as convertHtmlElementsToText, a as createEnumerationOrBoundedInterval, be as createParentChildTreeFromReferences, A as date, Lt as decodeNamedHtmlEntities, Ct as decodeNumericHtmlEntities, o as definitionArticleDansCitation, ft as definitionArticleDansProjetOuPropositionLoi, He as definitionDivision, Yt as definitionTexteFrancais, ge as designationArticle, Ve as designationDivision, Ht as ditPluriel, Pt as ditSingulier, ke as division, tt as divisionTypes, dt as divisions, Gt as duDate, D as espace, Et as espaceAdverbeRelatif, te as europeanLawNatures, F as extendLoadedArticle, Be as extractActionDirectiveAstsFromText, Oe as extractActionDirectivesFromHtml, ut as extractActionDirectivesFromText, c as extractArticleDefinitionsFromCitation, Je as extractBillDefinitions, ce as extractCitationReferences, We as extractFrenchCitations, it as extractPortionSelectors, l as extractReferences, m as extractReferencesWithOriginalTransformations, _ as extractTextLinks, n as findBoundaryPositionCue, Bn as formatLongDate, Te as frenchLawNatures, Pn as getArticleDateDebut, H as getArticleDateSignature, ie as getExtractedReferences, fe as getExtractedReferencesWithOriginalTransformations, Ne as getExtractedTableOfContentsFromTextBill, Pe as getLegalPhraseTextBounds, I as getOrLoadArticle, Fn as getOrLoadArticleSiblingId, Un as getOrLoadDocument, Wn as getOrLoadDocumentsByDossierParlementaireUid, Gn as getOrLoadDossierParlementaire, wn as getOrLoadJo, L as getOrLoadSectionTa, Tn as getOrLoadSectionsTa, An as getOrLoadTexteVersion, Dn as getOrLoadTextekali, En as getOrLoadTextelr, kn as getOrLoadTextesVersions, On as getOrLoadTexteslr, Ke as getTableOfContentsItems, qe as getTableUnitNoteRanges, qt as getTexteVersionDateDebut, nn as getTexteVersionDateSignature, cn as identificationTexteEuropeen, Ce as internationalLawNatures, vt as introPluriel, Jt as introSingulier, lt as isArticlePortionStructuralStart, B as isLegifranceSentinelDate, De as isTextAstAtomicReference, de as isTextAstDivision, t as isTextAstPortion, p as iterAtomicFirstParentReferences, ve as iterAtomicReferences, xe as iterIncludedReferences, Re as iterReferenceLinks, Vn as jsonReplacer, Ie as lawNatures, bn as lettreAscii, mn as liaisonPluriel, sn as liaisonSingulier, Ue as linkTypes, s as listeArticles, ne as listeReferencesSeules, jn as loadArticles, ot as localizationAdverbs, ht as natureDivisionSingulier, rn as natureTexteFrancais, J as newAssembleeObjectCache, Ln as newLegifranceObjectCache, Rn as newObjectCache, Tt as newReverseTransformationsMergedFromPositionsIterator, h as nomArticle, v as nomSpecialArticle, an as nombreAsTextAstNumber, en as nombreCardinal, Qt as nombreRomainCardinal, Wt as nombreRomainOrdinal, vn as nombreRomainOu0iAsTextAstNumber, Rt as nonLettre, r as normalizeBillArticleNumber, wt as numero, Me as numeroDivision, $t as numeroEtOuDateTexteFrancais, u as numeroPortion, Zt as numeroTexteEuropeen, Ut as numeroTexteFrancais, C as optional, _n as optionalEspaceDuTerritoire, Ge as parseArticleNumber, Fe as parseArticleSubdivisionMarker, oe as parseBillArticleLabel, Ae as parseFrenchCitationAt, Dt as parseText, Xe as portionTypes, ae as portions, et as reference, i as referenceDoctrinale, ye as referenceDoctrinaleArticleAvantSource, f as referenceDoctrinaleArticlesAvantSource, _e as referenceDoctrinaleSourceAvantArticle, gt as referenceParsingModes, ee as referenceSeule, w as regExp, ln as relatifPlurielPrepose, Vt as relatifSingulierPrepose, It as repeat, St as replaceHtmlPatterns, jt as replacePattern, tn as replaceTextPatterns, mt as resolveActionDirectivesFromHtml, je as resolveActionDirectivesFromText, ze as resolvePortionSelector, Ot as reversePositionsSplitFromPositions, Ft as reverseTransformationFromPosition, xn as reverseTransformationsMergedFromPositions, S as reverseTransformedInnerFragment, O as reverseTransformedReplacement, X as searchArticle, Kn as searchArticleKeyword, Yn as searchQueryReference, Z as searchTexte, qn as searchTexteAbbreviations, yt as simplifyHtml, j as simplifyPlainText, kt as simplifyText, At as simplifyUnicodeCharacters, In as sortArticlesByDate, hn as sortTextesVersionsByDate, nt as startCanutesTitlesMetrics, Kt as texte, P as texteEuropeen, E as texteFrancais, Ee as texteFrancaisAbrege, xt as texteInternational, pe as unePortion, we as uniteBasePreciseeSingulier, Se as uniteBaseSingulier, g as urlFromArticleVersionsId, y as urlFromLegalId, Sn as variable, Mt as virguleOuEspace, ct as walkTableOfContents, bt as wordsTree };