@tricoteuses/tisseuse 0.12.0 → 0.12.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 (98) hide show
  1. package/dist/html-Ds2IZ1nn.js +12773 -0
  2. package/dist/index.js +233 -224
  3. package/dist/server.js +1 -1
  4. package/dist/{lib → src/lib}/extractors/action_directives.d.ts +3 -3
  5. package/dist/{lib → src/lib}/extractors/article_portions.d.ts +1 -1
  6. package/dist/src/lib/extractors/definitions.d.ts +3 -0
  7. package/dist/{lib → src/lib}/extractors/links.d.ts +4 -4
  8. package/dist/{lib → src/lib}/extractors/references.d.ts +3 -3
  9. package/dist/{lib → src/lib}/extractors/table_of_contents.d.ts +4 -4
  10. package/dist/{lib → src/lib}/linkers/html.d.ts +4 -4
  11. package/dist/{lib → src/lib}/linkers/markdown.d.ts +2 -2
  12. package/dist/{lib → src/lib}/loaders/assemblee.d.ts +1 -1
  13. package/dist/{lib → src/lib}/loaders/legifrance.d.ts +1 -1
  14. package/dist/src/lib/server/auditors/config.d.ts +1 -0
  15. package/dist/{lib → src/lib}/server/config.d.ts +1 -1
  16. package/dist/{lib → src/lib}/server/linkers/html.d.ts +1 -1
  17. package/dist/{lib → src/lib}/server/text_parsers/transformers.d.ts +1 -1
  18. package/package.json +10 -8
  19. package/dist/html-kKhAILq4.js +0 -12756
  20. package/dist/lib/extractors/definitions.d.ts +0 -3
  21. package/dist/lib/server/auditors/config.d.ts +0 -4
  22. package/dist/lib/text_parsers/text_titles_infos.json.d.ts +0 -4
  23. /package/dist/{lib → src/lib}/alineas/alineas_numbers.d.ts +0 -0
  24. /package/dist/{lib → src/lib}/articles.d.ts +0 -0
  25. /package/dist/{lib → src/lib}/articles.test.d.ts +0 -0
  26. /package/dist/{lib → src/lib}/asserts.d.ts +0 -0
  27. /package/dist/{lib → src/lib}/cache.d.ts +0 -0
  28. /package/dist/{lib → src/lib}/dates.d.ts +0 -0
  29. /package/dist/{lib → src/lib}/extractors/action_directives.test.d.ts +0 -0
  30. /package/dist/{lib → src/lib}/extractors/article_portions.test.d.ts +0 -0
  31. /package/dist/{lib → src/lib}/extractors/links.test.d.ts +0 -0
  32. /package/dist/{lib → src/lib}/extractors/references.test.d.ts +0 -0
  33. /package/dist/{lib → src/lib}/index.d.ts +0 -0
  34. /package/dist/{lib → src/lib}/json.d.ts +0 -0
  35. /package/dist/{lib → src/lib}/links.d.ts +0 -0
  36. /package/dist/{lib → src/lib}/markdown.d.ts +0 -0
  37. /package/dist/{lib → src/lib}/server/alineas/alineas_images_utils.d.ts +0 -0
  38. /package/dist/{lib → src/lib}/server/databases/index.d.ts +0 -0
  39. /package/dist/{lib → src/lib}/server/html_simplifier.d.ts +0 -0
  40. /package/dist/{lib → src/lib}/server/html_simplifier.test.d.ts +0 -0
  41. /package/dist/{lib → src/lib}/server/index.d.ts +0 -0
  42. /package/dist/{lib → src/lib}/server/tables_of_contents.d.ts +0 -0
  43. /package/dist/{lib → src/lib}/text_parsers/actions.d.ts +0 -0
  44. /package/dist/{lib → src/lib}/text_parsers/actions.test.d.ts +0 -0
  45. /package/dist/{lib → src/lib}/text_parsers/articles.d.ts +0 -0
  46. /package/dist/{lib → src/lib}/text_parsers/articles.test.d.ts +0 -0
  47. /package/dist/{lib → src/lib}/text_parsers/ast.d.ts +0 -0
  48. /package/dist/{lib → src/lib}/text_parsers/citations.d.ts +0 -0
  49. /package/dist/{lib → src/lib}/text_parsers/citations.test.d.ts +0 -0
  50. /package/dist/{lib → src/lib}/text_parsers/dates.d.ts +0 -0
  51. /package/dist/{lib → src/lib}/text_parsers/dates.test.d.ts +0 -0
  52. /package/dist/{lib → src/lib}/text_parsers/divisions.d.ts +0 -0
  53. /package/dist/{lib → src/lib}/text_parsers/divisions.test.d.ts +0 -0
  54. /package/dist/{lib → src/lib}/text_parsers/fragments.d.ts +0 -0
  55. /package/dist/{lib → src/lib}/text_parsers/helpers.d.ts +0 -0
  56. /package/dist/{lib → src/lib}/text_parsers/numbers.d.ts +0 -0
  57. /package/dist/{lib → src/lib}/text_parsers/numbers.test.d.ts +0 -0
  58. /package/dist/{lib → src/lib}/text_parsers/parsers.d.ts +0 -0
  59. /package/dist/{lib → src/lib}/text_parsers/parsers.test.d.ts +0 -0
  60. /package/dist/{lib → src/lib}/text_parsers/portions.d.ts +0 -0
  61. /package/dist/{lib → src/lib}/text_parsers/portions.test.d.ts +0 -0
  62. /package/dist/{lib → src/lib}/text_parsers/prepositions.d.ts +0 -0
  63. /package/dist/{lib → src/lib}/text_parsers/prepositions.test.d.ts +0 -0
  64. /package/dist/{lib → src/lib}/text_parsers/references.d.ts +0 -0
  65. /package/dist/{lib → src/lib}/text_parsers/references.test.d.ts +0 -0
  66. /package/dist/{lib → src/lib}/text_parsers/relative_locations.d.ts +0 -0
  67. /package/dist/{lib → src/lib}/text_parsers/relative_locations.test.d.ts +0 -0
  68. /package/dist/{lib → src/lib}/text_parsers/search_queries.d.ts +0 -0
  69. /package/dist/{lib → src/lib}/text_parsers/search_queries.test.d.ts +0 -0
  70. /package/dist/{lib → src/lib}/text_parsers/separators.d.ts +0 -0
  71. /package/dist/{lib → src/lib}/text_parsers/simplifiers.d.ts +0 -0
  72. /package/dist/{lib → src/lib}/text_parsers/simplifiers.test.d.ts +0 -0
  73. /package/dist/{lib → src/lib}/text_parsers/texts.d.ts +0 -0
  74. /package/dist/{lib → src/lib}/text_parsers/texts.test.d.ts +0 -0
  75. /package/dist/{lib → src/lib}/text_parsers/transformers.d.ts +0 -0
  76. /package/dist/{lib → src/lib}/text_parsers/typography.d.ts +0 -0
  77. /package/dist/{lib → src/lib}/text_parsers/typography.test.d.ts +0 -0
  78. /package/dist/{lib → src/lib}/textes.d.ts +0 -0
  79. /package/dist/{scripts → src/scripts}/add_links_to_assemblee_parsed_documents.d.ts +0 -0
  80. /package/dist/{scripts → src/scripts}/add_links_to_html_document.d.ts +0 -0
  81. /package/dist/{scripts → src/scripts}/add_links_to_legifrance.d.ts +0 -0
  82. /package/dist/{scripts → src/scripts}/add_links_to_senat_parsed_documents.d.ts +0 -0
  83. /package/dist/{scripts → src/scripts}/add_positions_to_table_of_contents.d.ts +0 -0
  84. /package/dist/{scripts → src/scripts}/add_references_to_html_document.d.ts +0 -0
  85. /package/dist/{scripts → src/scripts}/associate_jorf_textes_with_assemblee_commissions.d.ts +0 -0
  86. /package/dist/{scripts → src/scripts}/associate_jorf_textes_with_dossiers_legislatifs_assemblee.d.ts +0 -0
  87. /package/dist/{scripts → src/scripts}/configure.d.ts +0 -0
  88. /package/dist/{scripts → src/scripts}/enrich_assemblee_documents.d.ts +0 -0
  89. /package/dist/{scripts → src/scripts}/enrich_senat_documents.d.ts +0 -0
  90. /package/dist/{scripts → src/scripts}/extract_alineas_images.d.ts +0 -0
  91. /package/dist/{scripts → src/scripts}/extract_texts_titles_infos.d.ts +0 -0
  92. /package/dist/{scripts → src/scripts}/generate_alineas_numbers_review.d.ts +0 -0
  93. /package/dist/{scripts → src/scripts}/html_document_to_text.d.ts +0 -0
  94. /package/dist/{scripts → src/scripts}/index_typesense.d.ts +0 -0
  95. /package/dist/{scripts → src/scripts}/merge_reviewed_alineas_numbers.d.ts +0 -0
  96. /package/dist/{scripts → src/scripts}/set_articles_missing_num.d.ts +0 -0
  97. /package/dist/{scripts → src/scripts}/simplified_html_bill_to_table_of_contents.d.ts +0 -0
  98. /package/dist/{scripts → src/scripts}/simplify_word_html.d.ts +0 -0
package/dist/index.js CHANGED
@@ -1,74 +1,74 @@
1
- import { $ as e, $t as t, A as n, An as r, At as i, B as a, Bt as o, C as s, Cn as c, Ct as l, D as u, Dn as d, Dt as f, E as p, En as m, Et as h, F as g, Fn as _, Ft as ee, G as te, Gt as ne, H as re, Ht as ie, I as ae, In as v, It as oe, J as se, Jt as ce, K as le, Kt as ue, L as de, Lt as y, M as fe, Mn as pe, Mt as b, N as me, Nn as he, Nt as x, O as ge, On as _e, Ot as ve, P as ye, Pn as be, Pt as xe, Q as Se, Qt as Ce, R as we, Rt as Te, S as Ee, Sn as S, St as De, T as Oe, Tn as ke, Tt as Ae, U as je, Ut as Me, V as Ne, Vt as C, W as Pe, Wt as Fe, X as Ie, Xt as Le, Y as Re, Yt as ze, Z as Be, Zt as Ve, _ as He, _n as w, _t as Ue, a as We, an as Ge, at as Ke, b as qe, bn as Je, bt as Ye, c as Xe, cn as Ze, ct as Qe, d as $e, dn as et, dt as tt, en as nt, et as rt, f as it, fn as at, ft as ot, g as st, gn as T, gt as ct, h as lt, hn as ut, ht as dt, i as E, in as ft, it as pt, j as D, jn as mt, jt as ht, k as gt, kn as O, kt as _t, l as vt, ln as yt, lt as bt, m as xt, mn as St, mt as Ct, n as wt, nn as Tt, nt as Et, o as Dt, on as Ot, ot as kt, p as At, pn as jt, pt as Mt, q as Nt, qt as Pt, r as Ft, rn as It, rt as Lt, s as Rt, sn as zt, st as Bt, t as Vt, tn as Ht, tt as Ut, u as Wt, un as Gt, ut as Kt, v as qt, vn as k, vt as Jt, w as Yt, wn as Xt, wt as Zt, x as Qt, xn as A, xt as $t, y as en, yn as j, yt as tn, z as nn, zt as rn } from "./html-kKhAILq4.js";
1
+ import { $ as e, $t as t, A as n, An as r, At as i, B as a, Bt as o, C as s, Cn as c, Ct as l, D as u, Dn as d, Dt as f, E as p, En as m, Et as h, F as g, Fn as _, Ft as ee, G as te, Gt as ne, H as re, Ht as ie, I as ae, In as v, It as oe, J as se, Jt as ce, K as le, Kt as ue, L as de, Lt as y, M as fe, Mn as pe, Mt as b, N as me, Nn as he, Nt as ge, O as _e, On as ve, Ot as ye, P as be, Pn as xe, Pt as Se, Q as Ce, Qt as we, R as Te, Rt as Ee, S as De, Sn as x, St as Oe, T as ke, Tn as Ae, Tt as je, U as Me, Ut as Ne, V as Pe, Vt as S, W as Fe, Wt as Ie, X as Le, Xt as Re, Y as ze, Yt as Be, Z as Ve, Zt as He, _ as C, _n as w, _t as Ue, a as We, an as Ge, at as Ke, b as qe, bn as T, bt as Je, c as Ye, cn as Xe, ct as Ze, d as Qe, dn as $e, dt as et, en as tt, et as nt, f as rt, fn as it, ft as at, g as ot, gn as E, gt as st, h as ct, hn as lt, ht as ut, i as D, in as dt, it as ft, j as O, jn as pt, jt as mt, k as ht, kn as k, kt as gt, l as _t, ln as vt, lt as yt, m as bt, mn as xt, mt as St, n as Ct, nn as wt, nt as Tt, o as Et, on as Dt, ot as Ot, p as kt, pn as At, pt as jt, q as Mt, qt as Nt, r as Pt, rn as Ft, rt as It, s as Lt, sn as Rt, st as zt, t as Bt, tn as Vt, tt as Ht, u as Ut, un as Wt, ut as Gt, v as Kt, vn as A, vt as qt, w as Jt, wn as Yt, wt as Xt, x as Zt, xn as Qt, xt as $t, y as en, yn as tn, yt as nn, z as rn, zt as an } from "./html-Ds2IZ1nn.js";
2
2
  //#region ../../node_modules/@tricoteuses/legifrance/dist/legal/index.js
3
- function an(e, t) {
3
+ function on(e, t) {
4
4
  if (e != null) {
5
5
  if (!Array.isArray(e)) return e;
6
6
  for (let n of e) if (n["@debut"] <= t && t <= n["@fin"]) return n;
7
7
  return e[0];
8
8
  }
9
9
  }
10
- function* M(e) {
11
- yield e, e.TM !== void 0 && (yield* M(e.TM));
10
+ function* j(e) {
11
+ yield e, e.TM !== void 0 && (yield* j(e.TM));
12
12
  }
13
13
  //#endregion
14
14
  //#region src/lib/articles.ts
15
- var N = ["2222-02-22", "2999-01-01"], on = (e) => {
15
+ var M = ["2222-02-22", "2999-01-01"], sn = (e) => {
16
16
  if (e !== void 0) for (let t = 0; t < e.length; ++t) {
17
- let n = nt(new T(e, t));
17
+ let n = tt(new E(e, t));
18
18
  if (typeof n == "string") return n;
19
19
  }
20
- }, sn = (e) => (e === void 0 ? [] : Array.isArray(e) ? e : [e]).map((e) => on(e["#text"])).find((e) => e !== void 0), cn = (e) => {
20
+ }, cn = (e) => (e === void 0 ? [] : Array.isArray(e) ? e : [e]).map((e) => sn(e["#text"])).find((e) => e !== void 0), ln = (e) => {
21
21
  let t = e.META.META_SPEC.META_ARTICLE.DATE_DEBUT;
22
- if (t !== void 0 && !N.includes(t)) return t;
23
- 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 ? [] : M(n.TM).map((e) => (Array.isArray(e.TITRE_TM) ? e.TITRE_TM : [e.TITRE_TM]).map((e) => e["@debut"])).toArray().flat()].filter((e) => !N.includes(e));
22
+ if (t !== void 0 && !M.includes(t)) return t;
23
+ 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 ? [] : j(n.TM).map((e) => (Array.isArray(e.TITRE_TM) ? e.TITRE_TM : [e.TITRE_TM]).map((e) => e["@debut"])).toArray().flat()].filter((e) => !M.includes(e));
24
24
  if (i.length > 0) return i.sort().at(-1);
25
25
  let a = n["@date_publi"];
26
- if (a !== void 0 && !N.includes(a)) return a;
26
+ if (a !== void 0 && !M.includes(a)) return a;
27
27
  let o = n["@date_signature"];
28
- if (o !== void 0 && !N.includes(o)) return o;
28
+ if (o !== void 0 && !M.includes(o)) return o;
29
29
  let s = e.META.META_SPEC.META_ARTICLE.DATE_FIN;
30
- if (s !== void 0 && !N.includes(s)) return s;
31
- let c = sn(r);
30
+ if (s !== void 0 && !M.includes(s)) return s;
31
+ let c = cn(r);
32
32
  if (c !== void 0) return c;
33
- if (N.includes(t ?? "")) return t;
33
+ if (M.includes(t ?? "")) return t;
34
34
  throw Error(`Missing date signature in article ${e.META.META_COMMUN.ID}`);
35
- }, P = (e) => {
35
+ }, N = (e) => {
36
36
  let t = e.META.META_SPEC.META_ARTICLE.DATE_DEBUT;
37
- if (t !== void 0 && !N.includes(t)) return t;
37
+ if (t !== void 0 && !M.includes(t)) return t;
38
38
  let n = e.CONTEXTE.TEXTE, r = n["@date_signature"];
39
- if (r !== void 0 && !N.includes(r)) return r;
39
+ if (r !== void 0 && !M.includes(r)) return r;
40
40
  let i = n["@date_publi"];
41
- if (i !== void 0 && !N.includes(i)) return i;
42
- let a = n.TITRE_TXT, o = [...a === void 0 ? [] : (Array.isArray(a) ? a : [a]).map((e) => e["@debut"]), ...n.TM === void 0 ? [] : M(n.TM).map((e) => (Array.isArray(e.TITRE_TM) ? e.TITRE_TM : [e.TITRE_TM]).map((e) => e["@debut"])).toArray().flat()].filter((e) => !N.includes(e));
41
+ if (i !== void 0 && !M.includes(i)) return i;
42
+ let a = n.TITRE_TXT, o = [...a === void 0 ? [] : (Array.isArray(a) ? a : [a]).map((e) => e["@debut"]), ...n.TM === void 0 ? [] : j(n.TM).map((e) => (Array.isArray(e.TITRE_TM) ? e.TITRE_TM : [e.TITRE_TM]).map((e) => e["@debut"])).toArray().flat()].filter((e) => !M.includes(e));
43
43
  if (o.length > 0) return o.sort().at(-1);
44
44
  let s = e.META.META_SPEC.META_ARTICLE.DATE_FIN;
45
- if (s !== void 0 && !N.includes(s)) return s;
46
- let c = sn(a);
45
+ if (s !== void 0 && !M.includes(s)) return s;
46
+ let c = cn(a);
47
47
  if (c !== void 0) return c;
48
- if (N.includes(t ?? "")) return t;
48
+ if (M.includes(t ?? "")) return t;
49
49
  throw Error(`Missing date signature in article ${e.META.META_COMMUN.ID}`);
50
50
  };
51
- async function ln(e, t, n, r) {
51
+ async function un(e, t, n, r) {
52
52
  let i = await d(e, t, n);
53
53
  if (i === void 0) return;
54
- let a = P(i), o = i.META.META_COMMUN.ORIGINE, s = i.CONTEXTE.TEXTE;
54
+ let a = N(i), o = i.META.META_COMMUN.ORIGINE, s = i.CONTEXTE.TEXTE;
55
55
  if (s.TM === void 0) return;
56
- let c = M(s.TM).toArray().reverse(), l;
56
+ let c = j(s.TM).toArray().reverse(), l;
57
57
  switch (o) {
58
58
  case "JORF":
59
59
  l = c.map((e) => e.TITRE_TM["@id"]);
60
60
  break;
61
61
  case "LEGI":
62
- l = c.map((e) => an(e.TITRE_TM, a)?.["@id"]);
62
+ l = c.map((e) => on(e.TITRE_TM, a)?.["@id"]);
63
63
  break;
64
64
  default: v("getOrLoadArticleSiblingId origine", o);
65
65
  }
66
- return await (r === -1 ? L : I)(e, t, n, a, i.num, l);
66
+ return await (r === -1 ? I : F)(e, t, n, a, i.num, l);
67
67
  }
68
- async function un(e, t, n, r, i, a) {
68
+ async function dn(e, t, n, r, i, a) {
69
69
  let o = r[n];
70
70
  if (o === void 0) {
71
- let s = await O(e, t, n);
71
+ let s = await k(e, t, n);
72
72
  if (s === void 0) return;
73
73
  let c = s.STRUCTURE_TA;
74
74
  if (c === void 0) return;
@@ -96,8 +96,8 @@ async function un(e, t, n, r, i, a) {
96
96
  }
97
97
  return o;
98
98
  }
99
- async function F(e, t, n) {
100
- let r = await O(e, t, n);
99
+ async function P(e, t, n) {
100
+ let r = await k(e, t, n);
101
101
  if (r === void 0) return;
102
102
  let i = r.STRUCTURE_TA;
103
103
  if (i === void 0) return;
@@ -105,26 +105,26 @@ async function F(e, t, n) {
105
105
  if (a !== void 0) return a[0]["@id"];
106
106
  let o = i.LIEN_SECTION_TA;
107
107
  if (o !== void 0) for (let n of o) {
108
- let r = await F(e, t, n["@id"]);
108
+ let r = await P(e, t, n["@id"]);
109
109
  if (r !== void 0) return r;
110
110
  }
111
111
  }
112
- async function dn(e, t, n) {
113
- let r = await O(e, t, n);
112
+ async function fn(e, t, n) {
113
+ let r = await k(e, t, n);
114
114
  if (r === void 0) return;
115
115
  let i = r.STRUCTURE_TA;
116
116
  if (i === void 0) return;
117
117
  let a = i.LIEN_SECTION_TA;
118
118
  if (a !== void 0) for (let n of a.toReversed()) {
119
- let r = await dn(e, t, n["@id"]);
119
+ let r = await fn(e, t, n["@id"]);
120
120
  if (r !== void 0) return r;
121
121
  }
122
122
  return i.LIEN_ART?.at(-1)?.["@id"];
123
123
  }
124
- async function I(e, t, n, r, i, a, o = 0, s = {}, c = void 0) {
124
+ async function F(e, t, n, r, i, a, o = 0, s = {}, c = void 0) {
125
125
  let l = a[o];
126
126
  if (l === void 0) return;
127
- let u = await un(e, t, l, s, n, c);
127
+ let u = await dn(e, t, l, s, n, c);
128
128
  if (u === void 0) return;
129
129
  let { area: f, index: p, sectionTa: m } = u, h = m.STRUCTURE_TA;
130
130
  switch (f) {
@@ -134,31 +134,31 @@ async function I(e, t, n, r, i, a, o = 0, s = {}, c = void 0) {
134
134
  let a = c[n];
135
135
  if (a["@num"] !== i) {
136
136
  let n = await d(e, t, a["@id"]);
137
- if (n !== void 0 && P(n) <= r) return a["@id"];
137
+ if (n !== void 0 && N(n) <= r) return a["@id"];
138
138
  }
139
139
  }
140
140
  let u = h.LIEN_SECTION_TA;
141
141
  if (u !== void 0) for (let n of u) {
142
- let r = await F(e, t, n["@id"]);
142
+ let r = await P(e, t, n["@id"]);
143
143
  if (r !== void 0) return r;
144
144
  }
145
- return await I(e, t, n, r, i, a, o + 1, s, l);
145
+ return await F(e, t, n, r, i, a, o + 1, s, l);
146
146
  }
147
147
  case "LIEN_SECTION_TA": {
148
148
  let c = h.LIEN_SECTION_TA;
149
149
  for (let n = p + 1; n < c.length; n++) {
150
- let r = await F(e, t, c[n]["@id"]);
150
+ let r = await P(e, t, c[n]["@id"]);
151
151
  if (r !== void 0) return r;
152
152
  }
153
- return await I(e, t, n, r, i, a, o + 1, s, l);
153
+ return await F(e, t, n, r, i, a, o + 1, s, l);
154
154
  }
155
155
  default: v("moveToNextArticleId area", f);
156
156
  }
157
157
  }
158
- async function L(e, t, n, r, i, a, o = 0, s = {}, c = void 0) {
158
+ async function I(e, t, n, r, i, a, o = 0, s = {}, c = void 0) {
159
159
  let l = a[o];
160
160
  if (l === void 0) return;
161
- let u = await un(e, t, l, s, n, c);
161
+ let u = await dn(e, t, l, s, n, c);
162
162
  if (u === void 0) return;
163
163
  let { area: f, index: p, sectionTa: m } = u, h = m.STRUCTURE_TA;
164
164
  switch (f) {
@@ -168,23 +168,23 @@ async function L(e, t, n, r, i, a, o = 0, s = {}, c = void 0) {
168
168
  let a = c[n];
169
169
  if (a["@num"] !== i) {
170
170
  let n = await d(e, t, a["@id"]);
171
- if (n !== void 0 && P(n) <= r) return a["@id"];
171
+ if (n !== void 0 && N(n) <= r) return a["@id"];
172
172
  }
173
173
  }
174
- return await L(e, t, n, r, i, a, o + 1, s, l);
174
+ return await I(e, t, n, r, i, a, o + 1, s, l);
175
175
  }
176
176
  case "LIEN_SECTION_TA": {
177
177
  for (let n = p - 1; n >= 0; n--) {
178
- let r = await dn(e, t, h.LIEN_SECTION_TA[n]["@id"]);
178
+ let r = await fn(e, t, h.LIEN_SECTION_TA[n]["@id"]);
179
179
  if (r !== void 0) return r;
180
180
  }
181
181
  let c = h.LIEN_ART;
182
- return c === void 0 ? await L(e, t, n, r, i, a, o + 1, s, l) : (u.area = "LIEN_ART", u.index = c.length, await L(e, t, n, r, i, a, o, s));
182
+ return c === void 0 ? await I(e, t, n, r, i, a, o + 1, s, l) : (u.area = "LIEN_ART", u.index = c.length, await I(e, t, n, r, i, a, o, s));
183
183
  }
184
184
  default: v("moveToPreviousArticleId area", f);
185
185
  }
186
186
  }
187
- var fn = (e) => (t, n) => {
187
+ var pn = (e) => (t, n) => {
188
188
  let r = e(t), i = e(n);
189
189
  if (r !== i) return r.localeCompare(i);
190
190
  let a = t.META.META_COMMUN, o = a.ORIGINE, s = n.META.META_COMMUN, c = s.ORIGINE;
@@ -203,13 +203,13 @@ var fn = (e) => (t, n) => {
203
203
  if (m <= i) return 1;
204
204
  }
205
205
  throw Error(`TODO: Unable to sort articles ${a.ID} & ${s.ID} by date.`);
206
- }, pn = new Intl.DateTimeFormat("fr-FR", { dateStyle: "long" });
207
- function mn(e) {
208
- return pn.format(new Date(e)).replace(/^1 /, "1er ");
206
+ }, mn = new Intl.DateTimeFormat("fr-FR", { dateStyle: "long" });
207
+ function hn(e) {
208
+ return mn.format(new Date(e)).replace(/^1 /, "1er ");
209
209
  }
210
210
  //#endregion
211
211
  //#region src/lib/extractors/article_portions.ts
212
- var R = new RegExp(String.raw`^\s*([IVXLCDM]+|[A-Z]|[a-z]|\d+)(?:\s+(?:${Ge}))?(?:\s*(?:°|\.|\)|-|–|—))+(?:\s+(?:${Ge}))?(?:\s+|(?=[\p{L}\p{N}]))`, "iu"), hn = /^\s*(partie|livre|titre|sous-titre|chapitre|section|sous-section|paragraphe|sous-paragraphe|sous-sous-paragraphe)\s+([IVXLCDM]+|[A-Z]|\d+)(?:\s*(?:°|\.|\)|-))?\s*/iu, gn = /^(partie|livre|titre|sous-titre|chapitre|section|sous-section|paragraphe|sous-paragraphe|sous-sous-paragraphe)\b/i, _n = {
212
+ var L = new RegExp(String.raw`^\s*([IVXLCDM]+|[A-Z]|[a-z]|\d+)(?:\s+(?:${Ge}))?(?:\s*(?:°|\.|\)|-|–|—))+(?:\s+(?:${Ge}))?(?:\s+|(?=[\p{L}\p{N}]))`, "iu"), gn = /^\s*(partie|livre|titre|sous-titre|chapitre|section|sous-section|paragraphe|sous-paragraphe|sous-sous-paragraphe)\s+([IVXLCDM]+|[A-Z]|\d+)(?:\s*(?:°|\.|\)|-))?\s*/iu, _n = /^(partie|livre|titre|sous-titre|chapitre|section|sous-section|paragraphe|sous-paragraphe|sous-sous-paragraphe)\b/i, vn = {
213
213
  partie: 0,
214
214
  livre: 1,
215
215
  titre: 2,
@@ -221,17 +221,17 @@ var R = new RegExp(String.raw`^\s*([IVXLCDM]+|[A-Z]|[a-z]|\d+)(?:\s+(?:${Ge}))?(
221
221
  "sous-paragraphe": 8,
222
222
  "sous-sous-paragraphe": 9
223
223
  };
224
- function z(e) {
224
+ function R(e) {
225
225
  return /^[IVXLCDM]+$/i.test(e);
226
226
  }
227
- function vn(e) {
228
- let t = A(e, Ue);
227
+ function yn(e) {
228
+ let t = Qt(e, Ue);
229
229
  return t && typeof t == "object" && t.type === "item" && typeof t.index == "number" && typeof t.num == "string" ? {
230
230
  num: t.num,
231
231
  index: t.index
232
232
  } : null;
233
233
  }
234
- function yn(e) {
234
+ function bn(e) {
235
235
  let t = {
236
236
  I: 1,
237
237
  V: 5,
@@ -248,29 +248,29 @@ function yn(e) {
248
248
  }
249
249
  return n || void 0;
250
250
  }
251
- function B(e) {
251
+ function z(e) {
252
252
  let t = e.trim(), n = t.split(/\s+/), r = n[0] ? n[0].replace(/[^\p{L}\p{N}]+/gu, "") : t, i = n.length > 1 ? n.slice(1).join(" ") : void 0, a = (() => {
253
253
  if (/^\d+$/.test(r)) return Number(r);
254
254
  if (/^[A-Z]$/i.test(r)) return r.toLowerCase().charCodeAt(0) - 97 + 1;
255
- if (z(r)) return yn(r);
255
+ if (R(r)) return bn(r);
256
256
  })();
257
257
  if (a === void 0) return;
258
258
  if (!i) return a;
259
- let o = A(i, ft);
259
+ let o = Qt(i, dt);
260
260
  if (o && typeof o == "object" && "value" in o) {
261
261
  let e = o.value;
262
262
  if (typeof e == "number") return a + e / 1e3;
263
263
  }
264
264
  return a;
265
265
  }
266
- function bn(e) {
266
+ function xn(e) {
267
267
  let t = e.trim().split(/\s+/)[0] ?? e, n = t.replace(/[^\p{L}\p{N}]+/gu, "");
268
- return /^[ivxlcdm]+$/.test(n) && (n.length > 1 || /^[ivx]$/.test(n)) ? 105 : /^[A-Z]$/.test(n) ? 101 : /^\d+$/.test(n) && /°/.test(t) ? 103 : /^\d+$/.test(n) ? 102 : /^[a-z]$/.test(n) ? 104 : z(n) ? 100 : 105;
268
+ return /^[ivxlcdm]+$/.test(n) && (n.length > 1 || /^[ivx]$/.test(n)) ? 105 : /^[A-Z]$/.test(n) ? 101 : /^\d+$/.test(n) && /°/.test(t) ? 103 : /^\d+$/.test(n) ? 102 : /^[a-z]$/.test(n) ? 104 : R(n) ? 100 : 105;
269
269
  }
270
- function V(e) {
270
+ function B(e) {
271
271
  return e.children.filter((e) => e.type === "alinéa").length + 1;
272
272
  }
273
- function xn(t) {
273
+ function Sn(t) {
274
274
  let n = e(t), r = {
275
275
  type: "article",
276
276
  children: []
@@ -301,36 +301,36 @@ function xn(t) {
301
301
  let l = (e, n, r) => {
302
302
  let a = e, o = n;
303
303
  for (;;) {
304
- let e = o.match(R);
304
+ let e = o.match(L);
305
305
  if (!e) break;
306
- let t = vn(e[0]), n = t?.num ?? e[1], r = {
306
+ let t = yn(e[0]), n = t?.num ?? e[1], r = {
307
307
  type: "item",
308
- index: t?.index ?? B(n),
308
+ index: t?.index ?? z(n),
309
309
  num: n,
310
310
  label: void 0,
311
311
  children: []
312
312
  };
313
313
  a.children.push(r), i.push({
314
- level: bn(n),
314
+ level: xn(n),
315
315
  node: r
316
316
  }), a = r, o = o.slice(e[0].length).trim();
317
317
  }
318
318
  o && a.children.push({
319
319
  type: "alinéa",
320
- index: V(a),
320
+ index: B(a),
321
321
  text: o,
322
322
  html: r,
323
323
  paragraphIndex: t
324
324
  });
325
325
  };
326
326
  for (let e of c) {
327
- let n = e.text, a = n.match(hn);
327
+ let n = e.text, a = n.match(gn);
328
328
  if (a) {
329
- let o = a[1].toLowerCase(), s = a[2], c = _n[o];
329
+ let o = a[1].toLowerCase(), s = a[2], c = vn[o];
330
330
  for (; i.length > 0 && i[i.length - 1].level >= c;) i.pop();
331
331
  let u = i[i.length - 1]?.node ?? r, d = {
332
332
  type: o,
333
- index: B(s),
333
+ index: z(s),
334
334
  num: s,
335
335
  label: void 0,
336
336
  children: []
@@ -340,22 +340,22 @@ function xn(t) {
340
340
  node: d
341
341
  });
342
342
  let f = n.slice(a[0].length).trim();
343
- f && (gn.test(f) ? d.label = f : R.test(f) ? l(d, f, e.html) : d.children.push({
343
+ f && (_n.test(f) ? d.label = f : L.test(f) ? l(d, f, e.html) : d.children.push({
344
344
  type: "alinéa",
345
- index: V(d),
345
+ index: B(d),
346
346
  text: f,
347
347
  html: e.html,
348
348
  paragraphIndex: t
349
349
  }));
350
350
  continue;
351
351
  }
352
- let o = n.match(R);
352
+ let o = n.match(L);
353
353
  if (o) {
354
- let a = vn(o[0]), s = a?.num ?? o[1], c = bn(s);
354
+ let a = yn(o[0]), s = a?.num ?? o[1], c = xn(s);
355
355
  for (; i.length > 0 && i[i.length - 1].level >= c;) i.pop();
356
356
  let u = i[i.length - 1]?.node ?? r, d = {
357
357
  type: "item",
358
- index: a?.index ?? B(s),
358
+ index: a?.index ?? z(s),
359
359
  num: s,
360
360
  label: void 0,
361
361
  children: []
@@ -365,9 +365,9 @@ function xn(t) {
365
365
  node: d
366
366
  });
367
367
  let f = n.slice(o[0].length).trim();
368
- f && (gn.test(f) ? d.label = f : R.test(f) ? l(d, f, e.html) : d.children.push({
368
+ f && (_n.test(f) ? d.label = f : L.test(f) ? l(d, f, e.html) : d.children.push({
369
369
  type: "alinéa",
370
- index: V(d),
370
+ index: B(d),
371
371
  text: f,
372
372
  html: e.html,
373
373
  paragraphIndex: t
@@ -377,7 +377,7 @@ function xn(t) {
377
377
  let s = i[i.length - 1]?.node ?? r;
378
378
  s.children.push({
379
379
  type: "alinéa",
380
- index: V(s),
380
+ index: B(s),
381
381
  text: n,
382
382
  html: e.html,
383
383
  paragraphIndex: t
@@ -385,8 +385,8 @@ function xn(t) {
385
385
  }
386
386
  }), r;
387
387
  }
388
- function H(e) {
389
- return e.type === "parent-enfant" ? [...H(e.parent), ...H(e.child)] : ne(e) && (ue(e) || Pt(e)) ? [{
388
+ function V(e) {
389
+ return e.type === "parent-enfant" ? [...V(e.parent), ...V(e.child)] : ne(e) && (ue(e) || Nt(e)) ? [{
390
390
  type: e.type,
391
391
  index: e.index,
392
392
  num: e.num,
@@ -394,10 +394,10 @@ function H(e) {
394
394
  present: e.present
395
395
  }] : [];
396
396
  }
397
- function U(e) {
398
- if (e.type === "reference_et_action") return U(e.reference);
397
+ function H(e) {
398
+ if (e.type === "reference_et_action") return H(e.reference);
399
399
  if (e.type === "parent-enfant") {
400
- let t = U(e.parent), n = U(e.child);
400
+ let t = H(e.parent), n = H(e.child);
401
401
  if (t.length === 0) return n;
402
402
  if (n.length === 0) return t;
403
403
  let r = [];
@@ -428,7 +428,7 @@ function U(e) {
428
428
  return r;
429
429
  }
430
430
  if (e.type === "bounded-interval") {
431
- let t = H(e.first), n = H(e.last);
431
+ let t = V(e.first), n = V(e.last);
432
432
  return t.length === 0 || n.length === 0 ? [] : [{
433
433
  kind: "range",
434
434
  first: t,
@@ -436,7 +436,7 @@ function U(e) {
436
436
  }];
437
437
  }
438
438
  if (e.type === "counted-interval") {
439
- let t = H(e.first);
439
+ let t = V(e.first);
440
440
  return t.length === 0 ? [] : [{
441
441
  kind: "range",
442
442
  first: t,
@@ -444,16 +444,16 @@ function U(e) {
444
444
  count: e.count
445
445
  }];
446
446
  }
447
- if (e.type === "enumeration") return [...U(e.left), ...U(e.right)];
448
- if (e.type === "exclusion") return U(e.left);
449
- let t = H(e);
447
+ if (e.type === "enumeration") return [...H(e.left), ...H(e.right)];
448
+ if (e.type === "exclusion") return H(e.left);
449
+ let t = V(e);
450
450
  return t.length === 0 ? [] : [{
451
451
  kind: "single",
452
452
  steps: t
453
453
  }];
454
454
  }
455
- function Sn(e) {
456
- let t = U(e);
455
+ function Cn(e) {
456
+ let t = H(e);
457
457
  if (t.length === 0) return t;
458
458
  let n = t[0];
459
459
  if (n?.kind === "single" && n.steps.length > 1) {
@@ -465,18 +465,18 @@ function Sn(e) {
465
465
  }
466
466
  return t;
467
467
  }
468
- function Cn(e, t) {
468
+ function wn(e, t) {
469
469
  if (t.num !== void 0 && e.num !== void 0) {
470
470
  let n = (e) => e.toLowerCase().replace(/[.)]/g, "").trim();
471
471
  if (n(t.num) !== n(e.num)) return !1;
472
472
  }
473
473
  return t.index !== void 0 && e.index !== void 0 ? t.index === e.index : t.num !== void 0 && e.num !== void 0;
474
474
  }
475
- function wn(e, t) {
476
- let n = (e) => "children" in e && (e.type === "article" || e.type === "item" || C.includes(e.type)) ? e.children : [], r = (e) => e.type === "alinéa" ? [e] : e.type === "article" || e.type === "item" || C.includes(e.type) ? e.children.flatMap(r) : [];
477
- if (C.includes(t.type)) {
475
+ function Tn(e, t) {
476
+ let n = (e) => "children" in e && (e.type === "article" || e.type === "item" || S.includes(e.type)) ? e.children : [], r = (e) => e.type === "alinéa" ? [e] : e.type === "article" || e.type === "item" || S.includes(e.type) ? e.children.flatMap(r) : [];
477
+ if (S.includes(t.type)) {
478
478
  let r = n(e);
479
- for (let e of r) if (C.includes(e.type) && e.type === t.type && Cn(e, t)) return {
479
+ for (let e of r) if (S.includes(e.type) && e.type === t.type && wn(e, t)) return {
480
480
  node: e,
481
481
  path: [e]
482
482
  };
@@ -484,13 +484,13 @@ function wn(e, t) {
484
484
  }
485
485
  if (t.type === "item") {
486
486
  let r = n(e);
487
- for (let e of r) if (e.type === "item" && Cn(e, t)) return {
487
+ for (let e of r) if (e.type === "item" && wn(e, t)) return {
488
488
  node: e,
489
489
  path: [e]
490
490
  };
491
491
  for (let e of r) {
492
492
  if (e.type === "alinéa") continue;
493
- let n = wn(e, t);
493
+ let n = Tn(e, t);
494
494
  if (n) return {
495
495
  node: n.node,
496
496
  path: [e, ...n.path]
@@ -537,12 +537,12 @@ function wn(e, t) {
537
537
  }
538
538
  return null;
539
539
  }
540
- function Tn(e, t) {
540
+ function U(e, t) {
541
541
  if (t.kind === "range") {
542
- let n = Tn(e, {
542
+ let n = U(e, {
543
543
  kind: "single",
544
544
  steps: t.first
545
- }), r = Tn(e, {
545
+ }), r = U(e, {
546
546
  kind: "single",
547
547
  steps: t.last
548
548
  });
@@ -556,7 +556,7 @@ function Tn(e, t) {
556
556
  }
557
557
  let n = e, r = [];
558
558
  for (let e of t.steps) {
559
- let t = wn(n, e);
559
+ let t = Tn(n, e);
560
560
  if (!t) return null;
561
561
  n = t.node, r.push(...t.path);
562
562
  }
@@ -572,7 +572,7 @@ function W(e) {
572
572
  return e.toLowerCase().normalize("NFD").replace(/\p{Diacritic}/gu, "");
573
573
  }
574
574
  function G(e) {
575
- return e.replace(R, "");
575
+ return e.replace(L, "");
576
576
  }
577
577
  function En(e) {
578
578
  let t = e.split("\n"), n = [], r = 0;
@@ -587,10 +587,10 @@ function En(e) {
587
587
  return n;
588
588
  }
589
589
  function Dn(e) {
590
- return R.test(e);
590
+ return L.test(e);
591
591
  }
592
592
  function On(e) {
593
- let t = R.exec(e);
593
+ let t = L.exec(e);
594
594
  if (!t) return null;
595
595
  let n = t[1] ?? "";
596
596
  return n ? /^\d+$/.test(n) ? {
@@ -602,7 +602,7 @@ function On(e) {
602
602
  } : /^[a-z]$/.test(n) ? {
603
603
  marker: n,
604
604
  level: 3
605
- } : z(n) || /^[A-Z]$/.test(n) ? {
605
+ } : R(n) || /^[A-Z]$/.test(n) ? {
606
606
  marker: n,
607
607
  level: 1
608
608
  } : {
@@ -618,22 +618,22 @@ function An(e) {
618
618
  return e.type === "reference_et_action" ? e.reference : e;
619
619
  }
620
620
  function jn(e) {
621
- return s(new T(e)).map(An).find((e) => b(e) === "article") || (cr(e)?.reference ?? null);
621
+ return s(new E(e)).map(An).find((e) => b(e) === "article") || (lr(e)?.reference ?? null);
622
622
  }
623
623
  function Mn(e) {
624
- let t = kn(e) ?? e.length, n = Qn(e), r = s(new T(e)).map(An).filter((e) => !$n(e.position, n) && b(e) !== "article" && (e.position?.start ?? 0) < t).sort((e, t) => (e.position?.start ?? 0) - (t.position?.start ?? 0));
624
+ let t = kn(e) ?? e.length, n = $n(e), r = s(new E(e)).map(An).filter((e) => !er(e.position, n) && b(e) !== "article" && (e.position?.start ?? 0) < t).sort((e, t) => (e.position?.start ?? 0) - (t.position?.start ?? 0));
625
625
  if (r[0]) return r[0];
626
626
  let i = e.slice(0, t).trimEnd();
627
627
  return J(i, 0) ?? J(i.replace(/\b(?:est|sont)\s*$/iu, "").trimEnd(), 0);
628
628
  }
629
629
  function Nn(e) {
630
- let t = kn(e) ?? e.length, n = Qn(e), r = s(new T(e)).map(An).filter((e) => !$n(e.position, n) && (e.position?.start ?? 0) < t).sort((e, t) => (e.position?.start ?? 0) - (t.position?.start ?? 0));
630
+ let t = kn(e) ?? e.length, n = $n(e), r = s(new E(e)).map(An).filter((e) => !er(e.position, n) && (e.position?.start ?? 0) < t).sort((e, t) => (e.position?.start ?? 0) - (t.position?.start ?? 0));
631
631
  return r.length === 0 ? null : r.find((e) => b(e) !== "article") ?? null ?? r[0] ?? null;
632
632
  }
633
633
  function Pn(e) {
634
634
  let t = [e, G(e)].map((e) => e.trim()).filter((e, t, n) => e && n.indexOf(e) === t);
635
635
  for (let e of t) {
636
- let t = J(e, 0) ?? or(e) ?? Nn(e) ?? jn(e);
636
+ let t = J(e, 0) ?? sr(e) ?? Nn(e) ?? jn(e);
637
637
  if (t) return t;
638
638
  }
639
639
  return null;
@@ -724,7 +724,7 @@ function Un(e, t) {
724
724
  if (!e) return t;
725
725
  if (!t) return e;
726
726
  let n = Rn(t, Ln(e));
727
- return n.type === "article" || b(n), x(e, n);
727
+ return n.type === "article" || b(n), ge(e, n);
728
728
  }
729
729
  function Wn(e) {
730
730
  return [G(e.line.text), ...e.body.map((e) => e.text)].join("\n").trim();
@@ -781,14 +781,14 @@ function Yn(e) {
781
781
  for (; n < e.length;) {
782
782
  let r = e.indexOf("«", n);
783
783
  if (r === -1) break;
784
- let i = new T(e);
784
+ let i = new E(e);
785
785
  i.offset = r;
786
- let a = Re(i);
786
+ let a = ze(i);
787
787
  if (!a) {
788
788
  n = r + 1;
789
789
  continue;
790
790
  }
791
- let o = Jn(Se(i, a).output), s = a.position ?? {
791
+ let o = Jn(Ce(i, a).output), s = a.position ?? {
792
792
  start: r,
793
793
  stop: r + 1
794
794
  };
@@ -802,30 +802,39 @@ function Yn(e) {
802
802
  }
803
803
  return t;
804
804
  }
805
- function Xn(e) {
805
+ function Xn(e, t) {
806
+ if (t.length === 0) return e;
807
+ let n = 0, r = [];
808
+ for (let { start: i, end: a } of t) {
809
+ let t = Math.max(0, Math.min(i, e.length)), o = Math.max(t, Math.min(a, e.length));
810
+ t > n && r.push(e.slice(n, t)), o > t && r.push(" "), n = o;
811
+ }
812
+ return n < e.length && r.push(e.slice(n)), r.join("");
813
+ }
814
+ function Zn(e) {
806
815
  let t = e.trim();
807
816
  if (!t) return null;
808
- let n = Tt(new T(t));
817
+ let n = wt(new E(t));
809
818
  if (typeof n == "number") return n;
810
819
  if (n && typeof n == "object" && "value" in n) {
811
820
  let e = n.value;
812
821
  return Number.isFinite(e) ? e : null;
813
822
  }
814
- let r = Ot(new T(t));
823
+ let r = Dt(new E(t));
815
824
  if (r && typeof r == "object" && "value" in r) {
816
825
  let e = r.value;
817
826
  return Number.isFinite(e) ? e : null;
818
827
  }
819
828
  return typeof r == "number" ? r : null;
820
829
  }
821
- function Zn(e, t) {
830
+ function Qn(e, t) {
822
831
  let n = e.slice(0, t), r = /([0-9A-Za-zÀ-ÖØ-öø-ÿ'’.-]+)\s+occurrence\b/giu, i = null, a;
823
832
  for (; (a = r.exec(n)) !== null;) i = a;
824
833
  if (!i) return null;
825
- let o = i[1], s = Xn(o);
834
+ let o = i[1], s = Zn(o);
826
835
  return !s || s < 1 ? null : s;
827
836
  }
828
- function Qn(e) {
837
+ function $n(e) {
829
838
  let t = [], n = 0;
830
839
  for (; n < e.length;) {
831
840
  let r = e.indexOf("«", n);
@@ -845,10 +854,10 @@ function Qn(e) {
845
854
  }
846
855
  return t;
847
856
  }
848
- function $n(e, t) {
857
+ function er(e, t) {
849
858
  return e ? t.some((t) => e.start >= t.start && e.stop <= t.end) : !1;
850
859
  }
851
- function er(e) {
860
+ function tr(e) {
852
861
  if (!e.includes("«")) return e;
853
862
  let t = e.split(""), n = !1;
854
863
  for (let e = 0; e < t.length; e++) {
@@ -891,22 +900,22 @@ function q(e, t) {
891
900
  }
892
901
  K(e.position, t);
893
902
  }
894
- function tr(e) {
903
+ function nr(e) {
895
904
  return e.replace(/\b(de\s+l['’]?|de\s+la|de\s+le|du|des)\s*$/i, "");
896
905
  }
897
- function nr(e) {
906
+ function rr(e) {
898
907
  let t = W(e);
899
908
  return t.startsWith("alinea") ? "alinéa" : t.startsWith("phrase") ? "phrase" : null;
900
909
  }
901
- function rr(e) {
910
+ function ir(e) {
902
911
  let t = /^(?:(?:[aà]\s+)?l['’]|(?:[aà]\s+)?la\b|(?:[aà]\s+)?le\b|les\b|des\b|aux\b|du\b)\s*/iu.exec(e)?.[0].length ?? 0, n = e.slice(t > 0 ? t : 0).trim();
903
912
  return n ? {
904
913
  text: n,
905
914
  offset: t
906
915
  } : null;
907
916
  }
908
- function ir(e) {
909
- let t = new T(e), n = Jt(t);
917
+ function ar(e) {
918
+ let t = new E(e), n = qt(t);
910
919
  return !n || t.remaining().trim().length !== 0 ? null : n;
911
920
  }
912
921
  function J(e, t) {
@@ -916,7 +925,7 @@ function J(e, t) {
916
925
  for (let e of r) {
917
926
  let r = e.index ?? 0, i = n.slice(r).trim(), a = /\b(alinéas?|phrases?)\b\s*$/iu.exec(i);
918
927
  if (!a || a.index === void 0) continue;
919
- let o = nr(a[1] ?? "");
928
+ let o = rr(a[1] ?? "");
920
929
  if (!o) continue;
921
930
  let s = i.slice(0, a.index).trim();
922
931
  if (!s) continue;
@@ -935,12 +944,12 @@ function J(e, t) {
935
944
  }), l.length < 2) continue;
936
945
  let f = [], p = [], m = !0, h;
937
946
  for (let [e, n] of l.entries()) {
938
- let i = rr(n.text);
947
+ let i = ir(n.text);
939
948
  if (!i) {
940
949
  f.length = 0;
941
950
  break;
942
951
  }
943
- let a = ir(`${i.text} ${o}`);
952
+ let a = ar(`${i.text} ${o}`);
944
953
  if (!a) {
945
954
  f.length = 0;
946
955
  break;
@@ -958,12 +967,12 @@ function J(e, t) {
958
967
  last: f[f.length - 1],
959
968
  position: ee,
960
969
  type: "bounded-interval"
961
- } : xe(g, _.map((e, t) => [p[t] ?? "et", e]), ee);
970
+ } : Se(g, _.map((e, t) => [p[t] ?? "et", e]), ee);
962
971
  }
963
972
  return null;
964
973
  }
965
- function ar(e, t) {
966
- let n = tr(e);
974
+ function or(e, t) {
975
+ let n = nr(e);
967
976
  if (!n) return null;
968
977
  let r = J(n, t);
969
978
  if (r) return r;
@@ -971,64 +980,64 @@ function ar(e, t) {
971
980
  for (let e of i) {
972
981
  let r = e.index ?? 0, i = n.slice(r);
973
982
  if (!i) continue;
974
- let a = new T(i), o = Jt(a);
983
+ let a = new E(i), o = qt(a);
975
984
  if (!(!o || a.offset === 0) && i.slice(a.offset).trim().length === 0) return q(o, t + r), o;
976
985
  }
977
986
  return null;
978
987
  }
979
- function or(e) {
988
+ function sr(e) {
980
989
  let t = /\barticle\b/i.exec(e);
981
990
  if (!t || t.index === void 0) return null;
982
- let n = t.index, r = Bt(new T(e.slice(n)));
991
+ let n = t.index, r = zt(new E(e.slice(n)));
983
992
  if (!r) return null;
984
993
  q(r, n);
985
- let i = ar(e.slice(0, n), 0);
986
- return i ? x(r, i) : null;
994
+ let i = or(e.slice(0, n), 0);
995
+ return i ? ge(r, i) : null;
987
996
  }
988
- function sr(e, t, n, r) {
989
- let i = W(e), a = /\bredige\b|\bredigee\b|\bredigees\b|\brediges\b|\bainsi\b/.test(i) || /\bdispositions suivantes\b/.test(i), o = /\bapres\b/.test(i) || /\bapres (la|les) reference\b|\bapres (le|les) mots\b|\bapres la mention\b/.test(i), s = /\bavant\b/.test(i) || /\bavant (la|les) reference\b|\bavant (le|les) mots\b|\bavant la mention\b/.test(i), c = t.action === "rétablir" || /\bretabl/.test(i), l = /\binsere(?:e|es|s)?\b|\bajoute\b|\bajoutee\b|\bajoutes\b|\bajoutees\b|\bcomplete\b/.test(i) || c, u = /\bremplace\b|\bremplacee\b|\bremplaces\b|\bremplacees\b/.test(i), d = /\bsupprime\b|\bsupprimee\b|\bsupprimes\b|\bsupprimees\b|\babroge\b|\babrogee\b|\babroges\b|\babrogees\b/.test(i);
990
- if (t.action === "supprimer" || d) return n === "article" && r.length === 0 ? { kind: "delete_article" } : r.length >= 1 ? {
997
+ function cr(e, t, n, r, i) {
998
+ let a = W(e), o = W(Xn(e, r)), s = /\bredige\b|\bredigee\b|\bredigees\b|\brediges\b|\bainsi\b/.test(a) || /\bdispositions suivantes\b/.test(a), c = /\bapres\b/.test(o) || /\bapres (la|les) reference\b|\bapres (le|les) mots\b|\bapres la mention\b/.test(o), l = /\bavant\b/.test(o) || /\bavant (la|les) reference\b|\bavant (le|les) mots\b|\bavant la mention\b/.test(o), u = t.action === "rétablir" || /\bretabl/.test(a), d = /\binsere(?:e|es|s)?\b|\bajoute\b|\bajoutee\b|\bajoutes\b|\bajoutees\b|\bcomplete\b/.test(a) || u, f = /\bremplace\b|\bremplacee\b|\bremplaces\b|\bremplacees\b/.test(a), p = /\bsupprime\b|\bsupprimee\b|\bsupprimes\b|\bsupprimees\b|\babroge\b|\babrogee\b|\babroges\b|\babrogees\b/.test(a);
999
+ if (t.action === "supprimer" || p) return n === "article" && i.length === 0 ? { kind: "delete_article" } : i.length >= 1 ? {
991
1000
  kind: "delete",
992
- targetText: r[0],
993
- extraTargetTexts: r.slice(1)
1001
+ targetText: i[0],
1002
+ extraTargetTexts: i.slice(1)
994
1003
  } : { kind: "delete_portion" };
995
- if (u && r.length >= 2) return {
1004
+ if (f && i.length >= 2) return {
996
1005
  kind: "replace",
997
- targetText: r[0],
998
- replacementText: r[1]
1006
+ targetText: i[0],
1007
+ replacementText: i[1]
999
1008
  };
1000
- if (u && r.length === 1 && a) return {
1009
+ if (f && i.length === 1 && s) return {
1001
1010
  kind: "replace_portion",
1002
- replacementText: r[0]
1011
+ replacementText: i[0]
1003
1012
  };
1004
- if (l && r.length >= 2) {
1005
- if (o) return {
1013
+ if (d && i.length >= 2) {
1014
+ if (c) return {
1006
1015
  kind: "insert_after",
1007
- targetText: r[0],
1008
- insertText: r[1]
1016
+ targetText: i[0],
1017
+ insertText: i[1]
1009
1018
  };
1010
- if (s) return {
1019
+ if (l) return {
1011
1020
  kind: "insert_before",
1012
- targetText: r[0],
1013
- insertText: r[1]
1021
+ targetText: i[0],
1022
+ insertText: i[1]
1014
1023
  };
1015
1024
  }
1016
- return l && r.length === 1 ? o ? {
1025
+ return d && i.length === 1 ? c ? {
1017
1026
  kind: "insert_after",
1018
1027
  targetText: "",
1019
- insertText: r[0]
1020
- } : s ? {
1028
+ insertText: i[0]
1029
+ } : l ? {
1021
1030
  kind: "insert_before",
1022
1031
  targetText: "",
1023
- insertText: r[0]
1032
+ insertText: i[0]
1024
1033
  } : {
1025
1034
  kind: "insert_after",
1026
1035
  targetText: "",
1027
- insertText: r[0]
1036
+ insertText: i[0]
1028
1037
  } : null;
1029
1038
  }
1030
1039
  function Y({ action: e, reference: t, sourcePosition: n, sourceText: r, fullText: i }) {
1031
- let a = e.target ?? b(t), o = Sn(t), s = i && n.start < i.length ? i.slice(n.start) : r, c = Yn(s), l = sr(r, e, a, c.map((e) => e.text));
1040
+ let a = e.target ?? b(t), o = Cn(t), s = i && n.start < i.length ? i.slice(n.start) : r, c = Yn(s), l = cr(r, e, a, c, c.map((e) => e.text));
1032
1041
  if (!l) return null;
1033
1042
  switch (l.kind) {
1034
1043
  case "insert_after":
@@ -1062,7 +1071,7 @@ function Y({ action: e, reference: t, sourcePosition: n, sourceText: r, fullText
1062
1071
  sourceText: r
1063
1072
  };
1064
1073
  case "delete": {
1065
- let e = c.map((e) => Zn(s, e.start)), i = /* @__PURE__ */ new Map();
1074
+ let e = c.map((e) => Qn(s, e.start)), i = /* @__PURE__ */ new Map();
1066
1075
  for (let [t, n] of c.entries()) i.has(n.text) || i.set(n.text, e[t] ?? null);
1067
1076
  let u = [l.targetText, ...l.extraTargetTexts ?? []].filter((e) => e && e.trim().length > 0).filter((e, t, n) => n.indexOf(e) === t);
1068
1077
  return u.length > 1 ? u.map((e) => ({
@@ -1104,7 +1113,7 @@ function Y({ action: e, reference: t, sourcePosition: n, sourceText: r, fullText
1104
1113
  default: return null;
1105
1114
  }
1106
1115
  }
1107
- function cr(e) {
1116
+ function lr(e) {
1108
1117
  let t = /\barticle\s+([0-9]+(?:-[0-9]+)?(?:\s*[A-Z])?(?:\s+[a-z]+)?)\b/i.exec(e);
1109
1118
  if (!t || t.index === void 0) return null;
1110
1119
  let n = t.index, r = t.index + t[0].length;
@@ -1123,22 +1132,22 @@ function cr(e) {
1123
1132
  }
1124
1133
  };
1125
1134
  }
1126
- function lr(e, t) {
1127
- let n = He(e).output;
1135
+ function ur(e, t) {
1136
+ let n = C(e).output;
1128
1137
  if (t.allowListExtraction) {
1129
1138
  let e = qn(n);
1130
1139
  if (e) return e;
1131
1140
  }
1132
- let r = Qn(n), i = er(n), a = s(new T(n));
1133
- if (r.length > 0 && (a = a.filter((e) => !$n(e.position, r))), a.length === 0 && (a = s(new T(i.split(",")[0] ?? i))), a.length === 0) {
1134
- let e = cr(i);
1141
+ let r = $n(n), i = tr(n), a = s(new E(n));
1142
+ if (r.length > 0 && (a = a.filter((e) => !er(e.position, r))), a.length === 0 && (a = s(new E(i.split(",")[0] ?? i))), a.length === 0) {
1143
+ let e = lr(i);
1135
1144
  e && (a = [{
1136
1145
  ...e.reference,
1137
1146
  position: e.position
1138
1147
  }]);
1139
1148
  }
1140
1149
  if (a.length === 1 && a[0]?.type === "article") {
1141
- let e = or(i);
1150
+ let e = sr(i);
1142
1151
  e && (a = [e]);
1143
1152
  }
1144
1153
  let o = [];
@@ -1170,7 +1179,7 @@ function lr(e, t) {
1170
1179
  t && (Array.isArray(t) ? o.push(...t) : o.push(t));
1171
1180
  }
1172
1181
  if (o.length === 0) {
1173
- let e = cr(i);
1182
+ let e = lr(i);
1174
1183
  if (e) {
1175
1184
  let t = Y({
1176
1185
  action: { action: "modifier" },
@@ -1184,14 +1193,14 @@ function lr(e, t) {
1184
1193
  }
1185
1194
  return o;
1186
1195
  }
1187
- function ur(e) {
1188
- return lr(e, { allowListExtraction: !0 });
1189
- }
1190
1196
  function dr(e) {
1197
+ return ur(e, { allowListExtraction: !0 });
1198
+ }
1199
+ function fr(e) {
1191
1200
  let t = W(e);
1192
1201
  return t.includes("«") || t.includes("»") || !e.trim().endsWith(":") ? !1 : /\b(remplace|modifie|redige|rediges|redigee|redigees)\b/.test(t);
1193
1202
  }
1194
- function fr(e, t) {
1203
+ function pr(e, t) {
1195
1204
  let n = [], r = !1, i = t + 1;
1196
1205
  for (; i < e.length;) {
1197
1206
  let t = e[i], a = G(t);
@@ -1205,28 +1214,28 @@ function fr(e, t) {
1205
1214
  endIndex: i
1206
1215
  };
1207
1216
  }
1208
- function pr(e) {
1209
- let t = st()(e).output.split("\n").map((e) => e.trim()).filter((e) => e.length > 0), n = [];
1217
+ function mr(e) {
1218
+ let t = ot()(e).output.split("\n").map((e) => e.trim()).filter((e) => e.length > 0), n = [];
1210
1219
  for (let e = 0; e < t.length; e += 1) {
1211
1220
  let r = t[e];
1212
- if (dr(r)) {
1213
- let r = fr(t, e);
1221
+ if (fr(r)) {
1222
+ let r = pr(t, e);
1214
1223
  if (r) {
1215
- let t = ur(r.combinedText);
1224
+ let t = dr(r.combinedText);
1216
1225
  if (t.length > 0) {
1217
1226
  n.push(...t), e = r.endIndex;
1218
1227
  continue;
1219
1228
  }
1220
1229
  }
1221
1230
  }
1222
- let i = lr(r, { allowListExtraction: !1 });
1231
+ let i = ur(r, { allowListExtraction: !1 });
1223
1232
  i.length > 0 && n.push(...i);
1224
1233
  }
1225
1234
  return n;
1226
1235
  }
1227
1236
  //#endregion
1228
1237
  //#region src/lib/json.ts
1229
- var mr = (e, t) => t instanceof Object && !Array.isArray(t) ? Object.keys(t).sort().reduce((e, n) => (e[n] = t[n], e), {}) : t;
1238
+ var hr = (e, t) => t instanceof Object && !Array.isArray(t) ? Object.keys(t).sort().reduce((e, n) => (e[n] = t[n], e), {}) : t;
1230
1239
  //#endregion
1231
1240
  //#region src/lib/markdown.ts
1232
1241
  function X(e) {
@@ -1234,11 +1243,11 @@ function X(e) {
1234
1243
  }
1235
1244
  //#endregion
1236
1245
  //#region src/lib/linkers/markdown.ts
1237
- async function hr({ canutesDb: e, date: t, linkBaseUrl: r, linkType: i, previousContext: a, text: o }) {
1238
- let s = He(o), c = new T(s.output);
1246
+ async function gr({ canutesDb: e, date: t, linkBaseUrl: r, linkType: i, previousContext: a, text: o }) {
1247
+ let s = C(o), c = new E(s.output);
1239
1248
  c.currentArticle = a?.currentArticle, c.currentText = a?.currentText;
1240
1249
  let l = o, u = 0;
1241
- for await (let a of Xe({
1250
+ for await (let a of Ye({
1242
1251
  canutesDb: e,
1243
1252
  context: c,
1244
1253
  date: t,
@@ -1249,7 +1258,7 @@ async function hr({ canutesDb: e, date: t, linkBaseUrl: r, linkType: i, previous
1249
1258
  let { articleId: e, originalTransformation: t } = a;
1250
1259
  if (e !== void 0) {
1251
1260
  if (t === void 0) throw Error(`Missing originalTransformation attribute in external article link: ${JSON.stringify(a, null, 2)}`);
1252
- let o = D(t, `[${X(n(l, t, u))}](${E(i, r, e)})`);
1261
+ let o = O(t, `[${X(n(l, t, u))}](${D(i, r, e)})`);
1253
1262
  l = l.slice(0, t.position.start + u) + o + l.slice(t.position.stop + u), u += o.length - (t.position.stop - t.position.start);
1254
1263
  }
1255
1264
  break;
@@ -1258,7 +1267,7 @@ async function hr({ canutesDb: e, date: t, linkBaseUrl: r, linkType: i, previous
1258
1267
  let { originalTransformation: e, sectionTaId: t } = a;
1259
1268
  if (t !== void 0) {
1260
1269
  if (e === void 0) throw Error(`Missing originalTransformation attribute in external division link: ${JSON.stringify(a, null, 2)}`);
1261
- let o = D(e, `[${X(n(l, e, u))}](${E(i, r, t)})`);
1270
+ let o = O(e, `[${X(n(l, e, u))}](${D(i, r, t)})`);
1262
1271
  l = l.slice(0, e.position.start + u) + o + l.slice(e.position.stop + u), u += o.length - (e.position.stop - e.position.start);
1263
1272
  }
1264
1273
  break;
@@ -1270,14 +1279,14 @@ async function hr({ canutesDb: e, date: t, linkBaseUrl: r, linkType: i, previous
1270
1279
  continue;
1271
1280
  }
1272
1281
  if (e === void 0) throw Error(`Missing originalTransformation attribute in external text link: ${JSON.stringify(a, null, 2)}`);
1273
- let o = D(e, `[${X(n(l, e, u))}](${E(i, r, t.cid)})`);
1282
+ let o = O(e, `[${X(n(l, e, u))}](${D(i, r, t.cid)})`);
1274
1283
  l = l.slice(0, e.position.start + u) + o + l.slice(e.position.stop + u), u += o.length - (e.position.stop - e.position.start);
1275
1284
  break;
1276
1285
  }
1277
1286
  case "internal_article": {
1278
1287
  let { definition: e, originalTransformation: t } = a;
1279
1288
  if (t === void 0) throw Error(`Missing originalTransformation attribute in internal article link: ${JSON.stringify(a, null, 2)}`);
1280
- let r = D(t, `[${X(n(l, t, u))}](#definition_article_${e.textId}_${e.article.num.replaceAll(" ", "_")})`);
1289
+ let r = O(t, `[${X(n(l, t, u))}](#definition_article_${e.textId}_${e.article.num.replaceAll(" ", "_")})`);
1281
1290
  l = l.slice(0, t.position.start + u) + r + l.slice(t.position.stop + u), u += r.length - (t.position.stop - t.position.start);
1282
1291
  break;
1283
1292
  }
@@ -1285,7 +1294,7 @@ async function hr({ canutesDb: e, date: t, linkBaseUrl: r, linkType: i, previous
1285
1294
  let { url: e, originalTransformation: t } = a;
1286
1295
  if (e === void 0) continue;
1287
1296
  if (t === void 0) throw Error(`Missing originalTransformation attribute in european text link: ${JSON.stringify(a, null, 2)}`);
1288
- let r = D(t, `<a class="lien_texte_european" href="${e}" target="_blank">${n(l, t, u)}</a>`);
1297
+ let r = O(t, `<a class="lien_texte_european" href="${e}" target="_blank">${n(l, t, u)}</a>`);
1289
1298
  l = l.slice(0, t.position.start + u) + r + l.slice(t.position.stop + u), u += r.length - (t.position.stop - t.position.start);
1290
1299
  break;
1291
1300
  }
@@ -1298,7 +1307,7 @@ async function hr({ canutesDb: e, date: t, linkBaseUrl: r, linkType: i, previous
1298
1307
  }
1299
1308
  //#endregion
1300
1309
  //#region src/lib/loaders/assemblee.ts
1301
- async function gr(e, t, n) {
1310
+ async function _r(e, t, n) {
1302
1311
  let r = t.get("Document");
1303
1312
  r === void 0 && (r = /* @__PURE__ */ new Map(), t.set("Document", r));
1304
1313
  let i = r.get(n);
@@ -1308,7 +1317,7 @@ async function gr(e, t, n) {
1308
1317
  WHERE uid = ${n}
1309
1318
  `)[0]?.data, r.set(n, i ?? null)), i ?? void 0;
1310
1319
  }
1311
- async function _r(e, t, n) {
1320
+ async function vr(e, t, n) {
1312
1321
  let r = t.get("Document");
1313
1322
  return r === void 0 && (r = /* @__PURE__ */ new Map(), t.set("Document", r)), (await e`
1314
1323
  SELECT data, uid
@@ -1316,7 +1325,7 @@ async function _r(e, t, n) {
1316
1325
  WHERE dossier_uid = ${n}
1317
1326
  `).map(({ data: e, uid: t }) => (r.set(t, e ?? null), e));
1318
1327
  }
1319
- async function vr(e, t, n) {
1328
+ async function yr(e, t, n) {
1320
1329
  let r = t.get("DossierParlementaire");
1321
1330
  r === void 0 && (r = /* @__PURE__ */ new Map(), t.set("DossierParlementaire", r));
1322
1331
  let i = r.get(n);
@@ -1328,15 +1337,15 @@ async function vr(e, t, n) {
1328
1337
  }
1329
1338
  //#endregion
1330
1339
  //#region src/lib/text_parsers/search_queries.ts
1331
- var yr = S("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i" }), Z = k([
1332
- yr,
1333
- Je(et, { default: "" }),
1334
- w(Mt, Ct)
1340
+ var br = x("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i" }), Z = A([
1341
+ br,
1342
+ T($e, { default: "" }),
1343
+ w(jt, St)
1335
1344
  ], { value: (e, t) => ({
1336
1345
  num: e[2],
1337
1346
  position: t.position(),
1338
1347
  type: "article"
1339
- }) }), br = w(S("c(?:ode|\\.)? ?civ(?:il)?", {
1348
+ }) }), xr = w(x("c(?:ode|\\.)? ?civ(?:il)?", {
1340
1349
  flags: "i",
1341
1350
  value: (e, t) => ({
1342
1351
  cid: "LEGITEXT000006070721",
@@ -1345,7 +1354,7 @@ var yr = S("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
1345
1354
  title: "Code civil",
1346
1355
  type: "texte"
1347
1356
  })
1348
- }), S("c(?:ode|\\.)? ?trav(?:ail)?", {
1357
+ }), x("c(?:ode|\\.)? ?trav(?:ail)?", {
1349
1358
  flags: "i",
1350
1359
  value: (e, t) => ({
1351
1360
  cid: "LEGITEXT000006072050",
@@ -1354,7 +1363,7 @@ var yr = S("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
1354
1363
  title: "Code du travail",
1355
1364
  type: "texte"
1356
1365
  })
1357
- }), S("c(?:ode|\\.)? ?p[eé]n(?:al)?", {
1366
+ }), x("c(?:ode|\\.)? ?p[eé]n(?:al)?", {
1358
1367
  flags: "i",
1359
1368
  value: (e, t) => ({
1360
1369
  cid: "LEGITEXT000006070719",
@@ -1363,7 +1372,7 @@ var yr = S("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
1363
1372
  title: "Code pénal",
1364
1373
  type: "texte"
1365
1374
  })
1366
- }), S("c(?:ode|\\.)? ?pr(?:oc(?:[eé]dure)?)? ?p[eé]n(?:al)?|cpp", {
1375
+ }), x("c(?:ode|\\.)? ?pr(?:oc(?:[eé]dure)?)? ?p[eé]n(?:al)?|cpp", {
1367
1376
  flags: "i",
1368
1377
  value: (e, t) => ({
1369
1378
  cid: "LEGITEXT000006071154",
@@ -1372,7 +1381,7 @@ var yr = S("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
1372
1381
  title: "Code de procédure pénale",
1373
1382
  type: "texte"
1374
1383
  })
1375
- }), S("c(?:ode|\\.)? ?pr(?:oc(?:[eé]dure)?)? ?civ(?:il)?|cpc", {
1384
+ }), x("c(?:ode|\\.)? ?pr(?:oc(?:[eé]dure)?)? ?civ(?:il)?|cpc", {
1376
1385
  flags: "i",
1377
1386
  value: (e, t) => ({
1378
1387
  cid: "LEGITEXT000006070716",
@@ -1381,7 +1390,7 @@ var yr = S("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
1381
1390
  title: "Code de procédure civile",
1382
1391
  type: "texte"
1383
1392
  })
1384
- }), S("c(?:ode|\\.)? ?s[eé]cur(?:it[eé])? ?soc(?:iale)?|css", {
1393
+ }), x("c(?:ode|\\.)? ?s[eé]cur(?:it[eé])? ?soc(?:iale)?|css", {
1385
1394
  flags: "i",
1386
1395
  value: (e, t) => ({
1387
1396
  cid: "LEGITEXT000006073189",
@@ -1390,7 +1399,7 @@ var yr = S("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
1390
1399
  title: "Code de la sécurité sociale",
1391
1400
  type: "texte"
1392
1401
  })
1393
- }), S("c(?:ode|\\.)? ?rur(?:al)?(?: et de la p[êe]che maritime)?", {
1402
+ }), x("c(?:ode|\\.)? ?rur(?:al)?(?: et de la p[êe]che maritime)?", {
1394
1403
  flags: "i",
1395
1404
  value: (e, t) => ({
1396
1405
  cid: "LEGITEXT000006071367",
@@ -1399,7 +1408,7 @@ var yr = S("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
1399
1408
  title: "Code rural et de la pêche maritime",
1400
1409
  type: "texte"
1401
1410
  })
1402
- }), S("c(?:ode|\\.)? ?env(?:ironnement)?", {
1411
+ }), x("c(?:ode|\\.)? ?env(?:ironnement)?", {
1403
1412
  flags: "i",
1404
1413
  value: (e, t) => ({
1405
1414
  cid: "LEGITEXT000006074220",
@@ -1408,7 +1417,7 @@ var yr = S("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
1408
1417
  title: "Code de l'environnement",
1409
1418
  type: "texte"
1410
1419
  })
1411
- }), S("c(?:ode|\\.)? ?urb(?:anisme)?", {
1420
+ }), x("c(?:ode|\\.)? ?urb(?:anisme)?", {
1412
1421
  flags: "i",
1413
1422
  value: (e, t) => ({
1414
1423
  cid: "LEGITEXT000006074075",
@@ -1417,7 +1426,7 @@ var yr = S("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
1417
1426
  title: "Code de l'urbanisme",
1418
1427
  type: "texte"
1419
1428
  })
1420
- }), S("c(?:ode|\\.)? ?jus(?:tice)? ?adm(?:in(?:istrative)?)?|cja", {
1429
+ }), x("c(?:ode|\\.)? ?jus(?:tice)? ?adm(?:in(?:istrative)?)?|cja", {
1421
1430
  flags: "i",
1422
1431
  value: (e, t) => ({
1423
1432
  cid: "LEGITEXT000006070933",
@@ -1426,7 +1435,7 @@ var yr = S("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
1426
1435
  title: "Code de justice administrative",
1427
1436
  type: "texte"
1428
1437
  })
1429
- }), S("cgi", {
1438
+ }), x("cgi", {
1430
1439
  flags: "i",
1431
1440
  value: (e, t) => ({
1432
1441
  cid: "LEGITEXT000006069577",
@@ -1435,7 +1444,7 @@ var yr = S("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
1435
1444
  title: "Code général des impôts",
1436
1445
  type: "texte"
1437
1446
  })
1438
- }), S("c(?:ode|\\.)? ?com(?:merce)?", {
1447
+ }), x("c(?:ode|\\.)? ?com(?:merce)?", {
1439
1448
  flags: "i",
1440
1449
  value: (e, t) => ({
1441
1450
  cid: "LEGITEXT000005634379",
@@ -1444,27 +1453,27 @@ var yr = S("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
1444
1453
  title: "Code de commerce",
1445
1454
  type: "texte"
1446
1455
  })
1447
- })), Q = w(br, j(le, { value: (e, t) => e === void 0 ? void 0 : {
1456
+ })), Q = w(xr, tn(le, { value: (e, t) => e === void 0 ? void 0 : {
1448
1457
  ...e,
1449
1458
  position: t.position()
1450
- } }), j(te, { value: (e, t) => ({
1459
+ } }), tn(te, { value: (e, t) => ({
1451
1460
  ...e,
1452
1461
  position: t.position()
1453
- }) })), $ = Je(S(" (?:du |de la |de l'|des |de |d')?", { flags: "i" }), { default: "" }), xr = S(".+?(?=\\s*(?:du |de la |de l'|des |de |d')?\\s*(?:art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?))", {
1462
+ }) })), $ = T(x(" (?:du |de la |de l'|des |de |d')?", { flags: "i" }), { default: "" }), Sr = x(".+?(?=\\s*(?:du |de la |de l'|des |de |d')?\\s*(?:art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?))", {
1454
1463
  flags: "i",
1455
1464
  value: (e, t) => ({
1456
1465
  type: "texte",
1457
1466
  title: e[0].trim(),
1458
1467
  position: t.position()
1459
1468
  })
1460
- }), Sr = S(".+", {
1469
+ }), Cr = x(".+", {
1461
1470
  flags: "i",
1462
1471
  value: (e, t) => ({
1463
1472
  type: "texte",
1464
1473
  title: e[0].trim(),
1465
1474
  position: t.position()
1466
1475
  })
1467
- }), Cr = w(k([
1476
+ }), wr = w(A([
1468
1477
  Q,
1469
1478
  $,
1470
1479
  Z
@@ -1476,7 +1485,7 @@ var yr = S("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
1476
1485
  position: t.position(),
1477
1486
  type: "parent-enfant"
1478
1487
  };
1479
- } }), k([
1488
+ } }), A([
1480
1489
  Z,
1481
1490
  $,
1482
1491
  Q
@@ -1485,8 +1494,8 @@ var yr = S("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
1485
1494
  parent: e[2],
1486
1495
  position: t.position(),
1487
1496
  type: "parent-enfant"
1488
- }) }), k([
1489
- xr,
1497
+ }) }), A([
1498
+ Sr,
1490
1499
  $,
1491
1500
  Z
1492
1501
  ], { value: (e, t) => {
@@ -1497,25 +1506,25 @@ var yr = S("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
1497
1506
  position: t.position(),
1498
1507
  type: "parent-enfant"
1499
1508
  };
1500
- } }), k([
1509
+ } }), A([
1501
1510
  Z,
1502
1511
  $,
1503
- Sr
1512
+ Cr
1504
1513
  ], { value: (e, t) => ({
1505
1514
  child: e[0],
1506
1515
  parent: e[2],
1507
1516
  position: t.position(),
1508
1517
  type: "parent-enfant"
1509
- }) }), Z, Q, Sr), wr = (e) => e?.replace(/\n/g, " ").replace(/ {2,}/g, " ").replace(/ \(\d+\)\.?$/, "").replace(/\.$/, ""), Tr = (e) => {
1518
+ }) }), Z, Q, Cr), Tr = (e) => e?.replace(/\n/g, " ").replace(/ {2,}/g, " ").replace(/ \(\d+\)\.?$/, "").replace(/\.$/, ""), Er = (e) => {
1510
1519
  let t = e.META.META_SPEC.META_TEXTE_VERSION.DATE_DEBUT;
1511
1520
  return t === void 0 || ["2222-02-22", "2999-01-01"].includes(t) ? e.META.META_SPEC.META_TEXTE_CHRONICLE.DATE_PUBLI : t;
1512
- }, Er = (e) => {
1521
+ }, Dr = (e) => {
1513
1522
  let t = e.META.META_SPEC.META_TEXTE_CHRONICLE.DATE_TEXTE;
1514
1523
  if (!["2222-02-22", "2999-01-01"].includes(t)) return t;
1515
1524
  let n = e.META.META_SPEC.META_TEXTE_VERSION.DATE_DEBUT;
1516
1525
  if (n !== void 0 && !["2222-02-22", "2999-01-01"].includes(n)) return n;
1517
1526
  throw Error(`Missing date signature in text ${e.META.META_COMMUN.ID}`);
1518
- }, Dr = (e) => (t, n) => {
1527
+ }, Or = (e) => (t, n) => {
1519
1528
  let r = e(t), i = e(n);
1520
1529
  if (r !== i) return r.localeCompare(i);
1521
1530
  let a = t.META.META_COMMUN, o = a.ORIGINE, s = n.META.META_COMMUN, c = s.ORIGINE;
@@ -1524,6 +1533,6 @@ var yr = S("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
1524
1533
  if (c === "JORF") return 1;
1525
1534
  }
1526
1535
  throw Error(`TODO: Unable to sort texts ${a.ID} & ${s.ID} by date.`);
1527
- }, Or = hr;
1536
+ }, kr = gr;
1528
1537
  //#endregion
1529
- export { T as TextParserContext, se as action, rn as actionTargets, x as addChildLeftToLastChild, Vt as addLinksOrReferencesToHtmlPage, wt as addLinksToHtml, hr as addLinksToMarkdown, Or as addLinksToText, We as addPositionsToTableOfContentsItems, It as adjectifNumeralOrdinalCourt, Ae as adjectifTemporelSingulier, ft as adverbeMultiplicatifLatin, $t as adverbeRelatif, w as alternatives, Bt as article, Qe as articles, v as assertNever, dt as auPortion, ct as auxPortions, xn as buildArticlePortionTreeFromHtml, k as chain, Oe as chainTransformers, Re as citation, Ie as citationLigne, Be as citationSimple, wr as cleanTexteTitle, o as compoundReferencesSeparators, j as convert, Wt as convertHtmlElementsToText, xe as createEnumerationOrBoundedInterval, ee as createParentChildTreeFromReferences, nt as date, $e as decodeNamedHtmlEntities, it as decodeNumericHtmlEntities, bt as definitionArticleDansCitation, Kt as definitionArticleDansProjetOuPropositionLoi, Ut as definitionDivision, de as definitionTexteFrancais, tt as designationArticle, Et as designationDivision, h as ditPluriel, f as ditSingulier, Lt as division, C as divisionTypes, pt as divisions, Ht as duDate, et as espace, De as espaceAdverbeRelatif, ie as europeanLawNatures, m as extendLoadedArticle, pr as extractActionDirectivesFromHtml, ur as extractActionDirectivesFromText, rt as extractBillDefinitions, qe as extractCitationReferences, Sn as extractPortionSelectors, Qt as extractReferences, Ee as extractReferencesWithOriginalTransformations, Xe as extractTextLinks, mn as formatLongDate, Me as frenchLawNatures, cn as getArticleDateDebut, P as getArticleDateSignature, s as getExtractedReferences, Yt as getExtractedReferencesWithOriginalTransformations, Dt as getExtractedTableOfContentsFromTextBill, d as getOrLoadArticle, ln as getOrLoadArticleSiblingId, gr as getOrLoadDocument, _r as getOrLoadDocumentsByDossierParlementaireUid, vr as getOrLoadDossierParlementaire, _e as getOrLoadJo, O as getOrLoadSectionTa, r as getOrLoadSectionsTa, mt as getOrLoadTexteVersion, pe as getOrLoadTextelr, he as getOrLoadTextesVersions, be as getOrLoadTexteslr, Tr as getTexteVersionDateDebut, Er as getTexteVersionDateSignature, we as identificationTexteEuropeen, Fe as internationalLawNatures, ve as introPluriel, _t as introSingulier, ne as isTextAstAtomicReference, ue as isTextAstDivision, Pt as isTextAstPortion, oe as iterAtomicFirstParentReferences, y as iterAtomicReferences, Te as iterIncludedReferences, vt as iterReferenceLinks, mr as jsonReplacer, ce as lawNatures, at as lettreAscii, i as liaisonPluriel, ht as liaisonSingulier, Ft as linkTypes, ot as listeArticles, fe as listeReferencesSeules, _ as loadArticles, ze as localizationAdverbs, Ke as natureDivisionSingulier, nn as natureTexteFrancais, Ve as newAssembleeObjectCache, Ce as newLegifranceObjectCache, t as newObjectCache, p as newReverseTransformationsMergedFromPositionsIterator, Mt as nomArticle, Ct as nomSpecialArticle, Ot as nombreAsTextAstNumber, zt as nombreCardinal, Ze as nombreRomainCardinal, yt as nombreRomainOrdinal, Gt as nombreRomainOu0iAsTextAstNumber, jt as nonLettre, St as numero, kt as numeroDivision, a as numeroEtOuDateTexteFrancais, Ue as numeroPortion, Ne as numeroTexteEuropeen, re as numeroTexteFrancais, Je as optional, je as optionalEspaceDuTerritoire, A as parseText, Le as portionTypes, tn as portions, me as reference, ye as referenceSeule, S as regExp, l as relatifPlurielPrepose, Zt as relatifSingulierPrepose, c as repeat, At as replaceHtmlPatterns, xt as replacePattern, lt as replaceTextPatterns, Tn as resolvePortionSelector, u as reversePositionsSplitFromPositions, ge as reverseTransformationFromPosition, gt as reverseTransformationsMergedFromPositions, n as reverseTransformedInnerFragment, D as reverseTransformedReplacement, Z as searchArticle, yr as searchArticleKeyword, Cr as searchQueryReference, Q as searchTexte, br as searchTexteAbbreviations, st as simplifyHtml, He as simplifyPlainText, qt as simplifyText, en as simplifyUnicodeCharacters, fn as sortArticlesByDate, Dr as sortTextesVersionsByDate, Pe as texte, te as texteEuropeen, le as texteFrancais, Nt as texteInternational, Ye as unePortion, g as uniteBasePreciseeSingulier, ae as uniteBaseSingulier, E as urlFromLegalId, Xt as variable, ut as virguleOuEspace, Rt as walkTableOfContents, ke as wordsTree };
1538
+ export { E as TextParserContext, se as action, an as actionTargets, ge as addChildLeftToLastChild, Bt as addLinksOrReferencesToHtmlPage, Ct as addLinksToHtml, gr as addLinksToMarkdown, kr as addLinksToText, We as addPositionsToTableOfContentsItems, Ft as adjectifNumeralOrdinalCourt, je as adjectifTemporelSingulier, dt as adverbeMultiplicatifLatin, $t as adverbeRelatif, w as alternatives, zt as article, Ze as articles, v as assertNever, ut as auPortion, st as auxPortions, Sn as buildArticlePortionTreeFromHtml, A as chain, ke as chainTransformers, ze as citation, Le as citationLigne, Ve as citationSimple, Tr as cleanTexteTitle, o as compoundReferencesSeparators, tn as convert, Ut as convertHtmlElementsToText, Se as createEnumerationOrBoundedInterval, ee as createParentChildTreeFromReferences, tt as date, Qe as decodeNamedHtmlEntities, rt as decodeNumericHtmlEntities, yt as definitionArticleDansCitation, Gt as definitionArticleDansProjetOuPropositionLoi, Ht as definitionDivision, de as definitionTexteFrancais, et as designationArticle, Tt as designationDivision, h as ditPluriel, f as ditSingulier, It as division, S as divisionTypes, ft as divisions, Vt as duDate, $e as espace, Oe as espaceAdverbeRelatif, ie as europeanLawNatures, m as extendLoadedArticle, mr as extractActionDirectivesFromHtml, dr as extractActionDirectivesFromText, nt as extractBillDefinitions, qe as extractCitationReferences, Cn as extractPortionSelectors, Zt as extractReferences, De as extractReferencesWithOriginalTransformations, Ye as extractTextLinks, hn as formatLongDate, Ne as frenchLawNatures, ln as getArticleDateDebut, N as getArticleDateSignature, s as getExtractedReferences, Jt as getExtractedReferencesWithOriginalTransformations, Et as getExtractedTableOfContentsFromTextBill, d as getOrLoadArticle, un as getOrLoadArticleSiblingId, _r as getOrLoadDocument, vr as getOrLoadDocumentsByDossierParlementaireUid, yr as getOrLoadDossierParlementaire, ve as getOrLoadJo, k as getOrLoadSectionTa, r as getOrLoadSectionsTa, pt as getOrLoadTexteVersion, pe as getOrLoadTextelr, he as getOrLoadTextesVersions, xe as getOrLoadTexteslr, Er as getTexteVersionDateDebut, Dr as getTexteVersionDateSignature, Te as identificationTexteEuropeen, Ie as internationalLawNatures, ye as introPluriel, gt as introSingulier, ne as isTextAstAtomicReference, ue as isTextAstDivision, Nt as isTextAstPortion, oe as iterAtomicFirstParentReferences, y as iterAtomicReferences, Ee as iterIncludedReferences, _t as iterReferenceLinks, hr as jsonReplacer, ce as lawNatures, it as lettreAscii, i as liaisonPluriel, mt as liaisonSingulier, Pt as linkTypes, at as listeArticles, fe as listeReferencesSeules, _ as loadArticles, Be as localizationAdverbs, Ke as natureDivisionSingulier, rn as natureTexteFrancais, He as newAssembleeObjectCache, we as newLegifranceObjectCache, t as newObjectCache, p as newReverseTransformationsMergedFromPositionsIterator, jt as nomArticle, St as nomSpecialArticle, Dt as nombreAsTextAstNumber, Rt as nombreCardinal, Xe as nombreRomainCardinal, vt as nombreRomainOrdinal, Wt as nombreRomainOu0iAsTextAstNumber, At as nonLettre, xt as numero, Ot as numeroDivision, a as numeroEtOuDateTexteFrancais, Ue as numeroPortion, Pe as numeroTexteEuropeen, re as numeroTexteFrancais, T as optional, Me as optionalEspaceDuTerritoire, Qt as parseText, Re as portionTypes, nn as portions, me as reference, be as referenceSeule, x as regExp, l as relatifPlurielPrepose, Xt as relatifSingulierPrepose, c as repeat, kt as replaceHtmlPatterns, bt as replacePattern, ct as replaceTextPatterns, U as resolvePortionSelector, u as reversePositionsSplitFromPositions, _e as reverseTransformationFromPosition, ht as reverseTransformationsMergedFromPositions, n as reverseTransformedInnerFragment, O as reverseTransformedReplacement, Z as searchArticle, br as searchArticleKeyword, wr as searchQueryReference, Q as searchTexte, xr as searchTexteAbbreviations, ot as simplifyHtml, C as simplifyPlainText, Kt as simplifyText, en as simplifyUnicodeCharacters, pn as sortArticlesByDate, Or as sortTextesVersionsByDate, Fe as texte, te as texteEuropeen, le as texteFrancais, Mt as texteInternational, Je as unePortion, g as uniteBasePreciseeSingulier, ae as uniteBaseSingulier, D as urlFromLegalId, Yt as variable, lt as virguleOuEspace, Lt as walkTableOfContents, Ae as wordsTree };