eyecite-ts 0.13.4 → 0.15.0

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.
@@ -1,4 +1,4 @@
1
- import { t as Citation } from "../citation-dDdIyQC7.cjs";
1
+ import { t as Citation } from "../citation-B7SBPpEl.cjs";
2
2
 
3
3
  //#region src/annotate/types.d.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { t as Citation } from "../citation-CxwyZdtS.mjs";
1
+ import { t as Citation } from "../citation-BuBDvjag.mjs";
2
2
 
3
3
  //#region src/annotate/types.d.ts
4
4
  /**
@@ -1,10 +1,17 @@
1
1
  //#region src/extract/pincite.d.ts
2
2
  /**
3
3
  * Structured pincite information parsed from citation text.
4
+ *
5
+ * `page` and `paragraph` are mutually exclusive — a pincite is either a page
6
+ * reference (the common case) or a paragraph reference (#204; common in
7
+ * NY Slip Op, Canadian neutrals, and other paragraph-numbered sources). The
8
+ * top-level convenience `pincite: number` field on the citation continues to
9
+ * mirror `page` only; paragraph consumers read `paragraph` / `endParagraph`
10
+ * from this struct directly.
4
11
  */
5
12
  interface PinciteInfo {
6
- /** Primary page number */
7
- page: number;
13
+ /** Primary page number. Undefined when the pincite is paragraph-only (#204). */
14
+ page?: number;
8
15
  /** End page for ranges: "570-75" → 575 */
9
16
  endPage?: number;
10
17
  /** Footnote number: "570 n.3" → 3. For multi-footnote refs ("nn.3-5"), the
@@ -12,12 +19,24 @@ interface PinciteInfo {
12
19
  footnote?: number;
13
20
  /** End footnote for multi-note refs: "570 nn.3-5" → 5 */
14
21
  footnoteEnd?: number;
15
- /** True if this is a page range */
22
+ /** True if this is a page or paragraph range */
16
23
  isRange: boolean;
17
24
  /** True when the pincite uses star-pagination (e.g., "*2"), denoting a
18
25
  * slip-opinion page or unreported-decision page rather than a reporter page.
19
26
  * Common on NY Slip Op, Westlaw, and Lexis citations. */
20
27
  starPage?: boolean;
28
+ /** Paragraph number for `¶ N` / `para. N` pincites (#204). */
29
+ paragraph?: number;
30
+ /** End paragraph for `¶¶ N-M` / `paras. N-M` pincites (#204). */
31
+ endParagraph?: number;
32
+ /** Additional discrete pincites following the primary one (#247). E.g.,
33
+ * `410 U.S. 113, 115, 153` → first pincite is page=115, additionalPincites
34
+ * is `[{ page: 153, ... }]`. Each entry is a full `PinciteInfo` so ranges
35
+ * / footnotes / star-pages inside the comma chain are preserved
36
+ * (`115, 105-110` → additional has `endPage` set). The top-level
37
+ * convenience `pincite: number` field on the citation continues to mirror
38
+ * only the primary pincite; consumers needing all pincites read this array. */
39
+ additionalPincites?: PinciteInfo[];
21
40
  /** Original text before parsing */
22
41
  raw: string;
23
42
  }
@@ -368,7 +387,7 @@ interface Parenthetical {
368
387
  * so downstream consumers can distinguish them from federal-style subsequent
369
388
  * history. See #229.
370
389
  */
371
- type HistorySignal = "affirmed" | "reversed" | "cert_denied" | "cert_granted" | "overruled" | "vacated" | "remanded" | "modified" | "abrogated" | "superseded" | "disapproved" | "questioned" | "distinguished" | "withdrawn" | "reinstated" | "writ_refused" | "writ_dismissed" | "writ_denied" | "writ_granted" | "no_writ" | "pet_refused" | "pet_denied" | "pet_dismissed" | "pet_granted" | "pet_filed" | "no_pet" | "review_denied" | "review_granted" | "opinion_vacated" | "disapproved_other_grounds";
390
+ type HistorySignal = "affirmed" | "reversed" | "cert_denied" | "cert_granted" | "overruled" | "vacated" | "remanded" | "modified" | "abrogated" | "superseded" | "disapproved" | "questioned" | "distinguished" | "withdrawn" | "reinstated" | "rehearing_denied" | "rehearing_granted" | "writ_refused" | "writ_dismissed" | "writ_denied" | "writ_granted" | "no_writ" | "pet_refused" | "pet_denied" | "pet_dismissed" | "pet_granted" | "pet_filed" | "no_pet" | "review_denied" | "review_granted" | "opinion_vacated" | "disapproved_other_grounds" | "not_published" | "petition_for_review_filed" | "petition_for_review_granted" | "petition_for_review_denied" | "superseded_by_grant_of_review" | "modified_on_denial_of_rehearing";
372
391
  /**
373
392
  * A single subsequent history entry from a case citation.
374
393
  *
@@ -403,6 +422,12 @@ interface FullCaseCitation extends CitationBase {
403
422
  /** Structured pincite information (page, range, footnote) */
404
423
  pinciteInfo?: PinciteInfo;
405
424
  court?: string;
425
+ /**
426
+ * True for citations whose source carried an unpublished-disposition marker.
427
+ * Set by NY Slip Op `(U)` / `[U]` suffix detection (#231). Absent or `false`
428
+ * for published decisions.
429
+ */
430
+ unpublished?: boolean;
406
431
  /** Normalized court string: spaces collapsed, trailing period ensured */
407
432
  normalizedCourt?: string;
408
433
  year?: number;
@@ -532,10 +557,34 @@ interface FullCaseCitation extends CitationBase {
532
557
  /**
533
558
  * Disposition or procedural status from parenthetical.
534
559
  * Populated by Phase 6 (Complex Parentheticals).
535
- * @example "en banc", "per curiam"
560
+ * @example "en banc", "per curiam", "dissent", "concurrence", "mixed", "plurality opinion", "mem."
536
561
  */
537
562
  disposition?: string;
538
563
  /**
564
+ * Surname(s) of justice(s) attributed to the parenthetical disposition.
565
+ * Populated for justice-attribution parens (#235) like
566
+ * `(Brennan, J., dissenting)` → `["Brennan"]` or
567
+ * `(Brennan and Marshall, JJ., dissenting)` → `["Brennan", "Marshall"]`.
568
+ */
569
+ justices?: string[];
570
+ /**
571
+ * Scope qualifier from a justice-attribution parenthetical (#235).
572
+ * `in_judgment` — "concurring in the judgment"
573
+ * `in_part` — "concurring in part" / "concurring in part and dissenting in part"
574
+ * `from_denial` — "dissenting from denial of <X>"
575
+ */
576
+ scope?: string;
577
+ /**
578
+ * Administrative parenthetical from a bankruptcy adversary caption (#241).
579
+ * In `Spence v. Hintze (In re Hintze), 570 B.R. 369`, the `(In re Hintze)`
580
+ * names the underlying debtor and is part of the case name (preserved on
581
+ * `caseName`). This field exposes the debtor identification separately so
582
+ * `defendant` / `defendantNormalized` can hold just the adversary defendant.
583
+ * Content is the parenthetical text without the surrounding parens — e.g.,
584
+ * `"In re Hintze"`.
585
+ */
586
+ adminParenthetical?: string;
587
+ /**
539
588
  * Court level/jurisdiction inferred from reporter series.
540
589
  * Always populated independently of the parenthetical `court` field.
541
590
  * Uses a curated static lookup table — does not depend on the reporter DB
@@ -799,6 +848,17 @@ interface ShortFormCaseCitation extends CitationBase {
799
848
  pinciteInfo?: PinciteInfo;
800
849
  /** Component-level spans (currently just `pincite`; extend when needed). */
801
850
  spans?: ShortFormCaseComponentSpans;
851
+ /** Back-reference party name when the short-form includes one (Bluebook
852
+ * form: `Smith, 500 F.2d at 125`). Citation signals (`See`, `Cf.`, etc.)
853
+ * and sentence-initial connectors (`Then`, `Also`, `In` not-`In re`) are
854
+ * stripped via the same helper as supra (#216). Undefined when the
855
+ * short-form is bare `500 F.2d at 125`. Used by the resolver to
856
+ * disambiguate when multiple full citations share the same vol+reporter. */
857
+ partyName?: string;
858
+ /** Normalized party name for resolver matching (lowercased, whitespace
859
+ * collapsed). Mirrors `defendantNormalized` / `plaintiffNormalized` on
860
+ * `FullCaseCitation`. */
861
+ partyNameNormalized?: string;
802
862
  }
803
863
  /**
804
864
  * Union type of all citation types.
@@ -850,4 +910,4 @@ type CitationOfType<T extends CitationType> = Extract<Citation, {
850
910
  type ExtractorMap = { [K in FullCitationType]: CitationOfType<K> };
851
911
  //#endregion
852
912
  export { ConstitutionalComponentSpans as A, PinciteInfo as B, ShortFormCitationType as C, SupraCitation as D, SubsequentHistoryEntry as E, StatuteComponentSpans as F, StatutesAtLargeComponentSpans as I, Span as L, JournalComponentSpans as M, NeutralComponentSpans as N, Warning as O, PublicLawComponentSpans as P, TransformationMap as R, ShortFormCitation as S, StatutesAtLargeCitation as T, parsePincite as V, NeutralCitation as _, CitationType as a, PublicLawCitation as b, DocketCitation as c, FullCaseCitation as d, FullCitation as f, JournalCitation as g, IdCitation as h, CitationSignal as i, FederalRegisterComponentSpans as j, CaseComponentSpans as k, ExtractorMap as l, HistorySignal as m, CitationBase as n, ConstitutionalCitation as o, FullCitationType as p, CitationOfType as r, CourtInference as s, Citation as t, FederalRegisterCitation as u, Parenthetical as v, StatuteCitation as w, ShortFormCaseCitation as x, ParentheticalType as y, spanFromGroupIndex as z };
853
- //# sourceMappingURL=citation-CxwyZdtS.d.mts.map
913
+ //# sourceMappingURL=citation-B7SBPpEl.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"citation-B7SBPpEl.d.cts","names":[],"sources":["../src/extract/pincite.ts","../src/clean/segmentMap.ts","../src/types/span.ts","../src/types/componentSpans.ts","../src/types/citation.ts"],"mappings":"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"}
@@ -1,10 +1,17 @@
1
1
  //#region src/extract/pincite.d.ts
2
2
  /**
3
3
  * Structured pincite information parsed from citation text.
4
+ *
5
+ * `page` and `paragraph` are mutually exclusive — a pincite is either a page
6
+ * reference (the common case) or a paragraph reference (#204; common in
7
+ * NY Slip Op, Canadian neutrals, and other paragraph-numbered sources). The
8
+ * top-level convenience `pincite: number` field on the citation continues to
9
+ * mirror `page` only; paragraph consumers read `paragraph` / `endParagraph`
10
+ * from this struct directly.
4
11
  */
5
12
  interface PinciteInfo {
6
- /** Primary page number */
7
- page: number;
13
+ /** Primary page number. Undefined when the pincite is paragraph-only (#204). */
14
+ page?: number;
8
15
  /** End page for ranges: "570-75" → 575 */
9
16
  endPage?: number;
10
17
  /** Footnote number: "570 n.3" → 3. For multi-footnote refs ("nn.3-5"), the
@@ -12,12 +19,24 @@ interface PinciteInfo {
12
19
  footnote?: number;
13
20
  /** End footnote for multi-note refs: "570 nn.3-5" → 5 */
14
21
  footnoteEnd?: number;
15
- /** True if this is a page range */
22
+ /** True if this is a page or paragraph range */
16
23
  isRange: boolean;
17
24
  /** True when the pincite uses star-pagination (e.g., "*2"), denoting a
18
25
  * slip-opinion page or unreported-decision page rather than a reporter page.
19
26
  * Common on NY Slip Op, Westlaw, and Lexis citations. */
20
27
  starPage?: boolean;
28
+ /** Paragraph number for `¶ N` / `para. N` pincites (#204). */
29
+ paragraph?: number;
30
+ /** End paragraph for `¶¶ N-M` / `paras. N-M` pincites (#204). */
31
+ endParagraph?: number;
32
+ /** Additional discrete pincites following the primary one (#247). E.g.,
33
+ * `410 U.S. 113, 115, 153` → first pincite is page=115, additionalPincites
34
+ * is `[{ page: 153, ... }]`. Each entry is a full `PinciteInfo` so ranges
35
+ * / footnotes / star-pages inside the comma chain are preserved
36
+ * (`115, 105-110` → additional has `endPage` set). The top-level
37
+ * convenience `pincite: number` field on the citation continues to mirror
38
+ * only the primary pincite; consumers needing all pincites read this array. */
39
+ additionalPincites?: PinciteInfo[];
21
40
  /** Original text before parsing */
22
41
  raw: string;
23
42
  }
@@ -368,7 +387,7 @@ interface Parenthetical {
368
387
  * so downstream consumers can distinguish them from federal-style subsequent
369
388
  * history. See #229.
370
389
  */
371
- type HistorySignal = "affirmed" | "reversed" | "cert_denied" | "cert_granted" | "overruled" | "vacated" | "remanded" | "modified" | "abrogated" | "superseded" | "disapproved" | "questioned" | "distinguished" | "withdrawn" | "reinstated" | "writ_refused" | "writ_dismissed" | "writ_denied" | "writ_granted" | "no_writ" | "pet_refused" | "pet_denied" | "pet_dismissed" | "pet_granted" | "pet_filed" | "no_pet" | "review_denied" | "review_granted" | "opinion_vacated" | "disapproved_other_grounds";
390
+ type HistorySignal = "affirmed" | "reversed" | "cert_denied" | "cert_granted" | "overruled" | "vacated" | "remanded" | "modified" | "abrogated" | "superseded" | "disapproved" | "questioned" | "distinguished" | "withdrawn" | "reinstated" | "rehearing_denied" | "rehearing_granted" | "writ_refused" | "writ_dismissed" | "writ_denied" | "writ_granted" | "no_writ" | "pet_refused" | "pet_denied" | "pet_dismissed" | "pet_granted" | "pet_filed" | "no_pet" | "review_denied" | "review_granted" | "opinion_vacated" | "disapproved_other_grounds" | "not_published" | "petition_for_review_filed" | "petition_for_review_granted" | "petition_for_review_denied" | "superseded_by_grant_of_review" | "modified_on_denial_of_rehearing";
372
391
  /**
373
392
  * A single subsequent history entry from a case citation.
374
393
  *
@@ -403,6 +422,12 @@ interface FullCaseCitation extends CitationBase {
403
422
  /** Structured pincite information (page, range, footnote) */
404
423
  pinciteInfo?: PinciteInfo;
405
424
  court?: string;
425
+ /**
426
+ * True for citations whose source carried an unpublished-disposition marker.
427
+ * Set by NY Slip Op `(U)` / `[U]` suffix detection (#231). Absent or `false`
428
+ * for published decisions.
429
+ */
430
+ unpublished?: boolean;
406
431
  /** Normalized court string: spaces collapsed, trailing period ensured */
407
432
  normalizedCourt?: string;
408
433
  year?: number;
@@ -532,10 +557,34 @@ interface FullCaseCitation extends CitationBase {
532
557
  /**
533
558
  * Disposition or procedural status from parenthetical.
534
559
  * Populated by Phase 6 (Complex Parentheticals).
535
- * @example "en banc", "per curiam"
560
+ * @example "en banc", "per curiam", "dissent", "concurrence", "mixed", "plurality opinion", "mem."
536
561
  */
537
562
  disposition?: string;
538
563
  /**
564
+ * Surname(s) of justice(s) attributed to the parenthetical disposition.
565
+ * Populated for justice-attribution parens (#235) like
566
+ * `(Brennan, J., dissenting)` → `["Brennan"]` or
567
+ * `(Brennan and Marshall, JJ., dissenting)` → `["Brennan", "Marshall"]`.
568
+ */
569
+ justices?: string[];
570
+ /**
571
+ * Scope qualifier from a justice-attribution parenthetical (#235).
572
+ * `in_judgment` — "concurring in the judgment"
573
+ * `in_part` — "concurring in part" / "concurring in part and dissenting in part"
574
+ * `from_denial` — "dissenting from denial of <X>"
575
+ */
576
+ scope?: string;
577
+ /**
578
+ * Administrative parenthetical from a bankruptcy adversary caption (#241).
579
+ * In `Spence v. Hintze (In re Hintze), 570 B.R. 369`, the `(In re Hintze)`
580
+ * names the underlying debtor and is part of the case name (preserved on
581
+ * `caseName`). This field exposes the debtor identification separately so
582
+ * `defendant` / `defendantNormalized` can hold just the adversary defendant.
583
+ * Content is the parenthetical text without the surrounding parens — e.g.,
584
+ * `"In re Hintze"`.
585
+ */
586
+ adminParenthetical?: string;
587
+ /**
539
588
  * Court level/jurisdiction inferred from reporter series.
540
589
  * Always populated independently of the parenthetical `court` field.
541
590
  * Uses a curated static lookup table — does not depend on the reporter DB
@@ -799,6 +848,17 @@ interface ShortFormCaseCitation extends CitationBase {
799
848
  pinciteInfo?: PinciteInfo;
800
849
  /** Component-level spans (currently just `pincite`; extend when needed). */
801
850
  spans?: ShortFormCaseComponentSpans;
851
+ /** Back-reference party name when the short-form includes one (Bluebook
852
+ * form: `Smith, 500 F.2d at 125`). Citation signals (`See`, `Cf.`, etc.)
853
+ * and sentence-initial connectors (`Then`, `Also`, `In` not-`In re`) are
854
+ * stripped via the same helper as supra (#216). Undefined when the
855
+ * short-form is bare `500 F.2d at 125`. Used by the resolver to
856
+ * disambiguate when multiple full citations share the same vol+reporter. */
857
+ partyName?: string;
858
+ /** Normalized party name for resolver matching (lowercased, whitespace
859
+ * collapsed). Mirrors `defendantNormalized` / `plaintiffNormalized` on
860
+ * `FullCaseCitation`. */
861
+ partyNameNormalized?: string;
802
862
  }
803
863
  /**
804
864
  * Union type of all citation types.
@@ -850,4 +910,4 @@ type CitationOfType<T extends CitationType> = Extract<Citation, {
850
910
  type ExtractorMap = { [K in FullCitationType]: CitationOfType<K> };
851
911
  //#endregion
852
912
  export { ConstitutionalComponentSpans as A, PinciteInfo as B, ShortFormCitationType as C, SupraCitation as D, SubsequentHistoryEntry as E, StatuteComponentSpans as F, StatutesAtLargeComponentSpans as I, Span as L, JournalComponentSpans as M, NeutralComponentSpans as N, Warning as O, PublicLawComponentSpans as P, TransformationMap as R, ShortFormCitation as S, StatutesAtLargeCitation as T, parsePincite as V, NeutralCitation as _, CitationType as a, PublicLawCitation as b, DocketCitation as c, FullCaseCitation as d, FullCitation as f, JournalCitation as g, IdCitation as h, CitationSignal as i, FederalRegisterComponentSpans as j, CaseComponentSpans as k, ExtractorMap as l, HistorySignal as m, CitationBase as n, ConstitutionalCitation as o, FullCitationType as p, CitationOfType as r, CourtInference as s, Citation as t, FederalRegisterCitation as u, Parenthetical as v, StatuteCitation as w, ShortFormCaseCitation as x, ParentheticalType as y, spanFromGroupIndex as z };
853
- //# sourceMappingURL=citation-dDdIyQC7.d.cts.map
913
+ //# sourceMappingURL=citation-BuBDvjag.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"citation-BuBDvjag.d.mts","names":[],"sources":["../src/extract/pincite.ts","../src/clean/segmentMap.ts","../src/types/span.ts","../src/types/componentSpans.ts","../src/types/citation.ts"],"mappings":";;AAUA;;;;;;;;;UAAiB,WAAA;;EAEf,IAAA;;EAEA,OAAA;;;EAGA,QAAA;EAkDF;EAhDE,WAAA;;EAEA,OAAA;EA8CyC;;;EA1CzC,QAAA;ECjBF;EDmBE,SAAA;;EAEA,YAAA;;;;;;ACZF;;EDoBE,kBAAA,GAAqB,WAAA;;EAErB,GAAA;AAAA;;;;;;;;;;;;;;iBA4Bc,YAAA,CAAa,GAAA,WAAc,WAAA;;;;AAzD3C;;;;;;UCFiB,OAAA;;EAEf,QAAA;;EAEA,OAAA;;EAEA,GAAA;AAAA;AAAA,cAGW,UAAA;EAAA,SACF,QAAA,WAAmB,OAAA;EAE5B,WAAA,CAAY,QAAA,EAAU,OAAA;ED+CxB;;;EAAA,OCxCS,QAAA,CAAS,MAAA,WAAiB,UAAA;EDwCQ;;;;AC3D3C;ED2D2C,OC/BlC,OAAA,CAAQ,GAAA,EAAK,GAAA,mBAAsB,UAAA;;;;;EAkC1C,MAAA,CAAO,QAAA;AAAA;;;;AD5DT;;;;;;;;;;;;;;;;UEOiB,IAAA;EFkDjB;EEhDE,UAAA;;EAGA,QAAA;EF6CyC;EE1CzC,aAAA;;EAGA,WAAA;AAAA;;;;;;;UASe,iBAAA;EDvBf;ECyBA,eAAA,EAAiB,GAAA;EDtBN;ECyBX,eAAA,EAAiB,GAAA;;EAGjB,uBAAA,GAHiB,UAAA;AAAA;;;;;;;;;;;;;;iBAmBH,kBAAA,CACd,eAAA,UACA,OAAA,oBACA,GAAA,EAAK,iBAAA,GACJ,IAAA;;;AFvDH;;;;;;;AAAA,UGDiB,kBAAA;EACf,QAAA,GAAW,IAAA;EACX,SAAA,GAAY,IAAA;EACZ,SAAA,GAAY,IAAA;EACZ,MAAA,GAAS,IAAA;EACT,QAAA,GAAW,IAAA;EACX,IAAA,GAAO,IAAA;EACP,OAAA,GAAU,IAAA;EACV,KAAA,GAAQ,IAAA;EACR,IAAA,GAAO,IAAA;EACP,MAAA,GAAS,IAAA;EACT,qBAAA,GAAwB,IAAA;AAAA;;;;;;AFZ1B;UEqBiB,qBAAA;EACf,KAAA,GAAQ,IAAA;EACR,IAAA,GAAO,IAAA;EACP,OAAA,GAAU,IAAA;EACV,UAAA,GAAa,IAAA;EACb,MAAA,GAAS,IAAA;AAAA;;AFjBX;;;;;UE0BiB,4BAAA;EACf,YAAA,GAAe,IAAA;EACf,OAAA,GAAU,IAAA;EACV,SAAA,GAAY,IAAA;EACZ,OAAA,GAAU,IAAA;EACV,MAAA,GAAS,IAAA;EACT,MAAA,GAAS,IAAA;AAAA;;;;;;;UASM,qBAAA;EACf,MAAA,GAAS,IAAA;EACT,OAAA,GAAU,IAAA;EACV,IAAA,GAAO,IAAA;EACP,OAAA,GAAU,IAAA;EACV,IAAA,GAAO,IAAA;EACP,MAAA,GAAS,IAAA;AAAA;;;AD/CX;;;;UCwDiB,qBAAA;EACf,IAAA,GAAO,IAAA;EACP,KAAA,GAAQ,IAAA;EACR,cAAA,GAAiB,IAAA;EACjB,OAAA,GAAU,IAAA;EACV,MAAA,GAAS,IAAA;AAAA;;;;UAMM,gBAAA;EACf,OAAA,GAAU,IAAA;AAAA;;;;UAMK,mBAAA;EACf,OAAA,GAAU,IAAA;AAAA;;;;UAMK,2BAAA;EACf,OAAA,GAAU,IAAA;AAAA;;;;;;;UASK,uBAAA;EACf,QAAA,GAAW,IAAA;EACX,SAAA,GAAY,IAAA;EACZ,MAAA,GAAS,IAAA;AAAA;AAtGX;;;;;;AAAA,UA+GiB,6BAAA;EACf,MAAA,GAAS,IAAA;EACT,IAAA,GAAO,IAAA;EACP,IAAA,GAAO,IAAA;EACP,MAAA,GAAS,IAAA;AAAA;;;;;;;UASM,6BAAA;EACf,MAAA,GAAS,IAAA;EACT,IAAA,GAAO,IAAA;EACP,IAAA,GAAO,IAAA;EACP,MAAA,GAAS,IAAA;AAAA;;;;;;KC1HC,YAAA;;;;UAiBK,OAAA;;EAEf,KAAA;;EAEA,OAAA;;EAEA,QAAA;IAAY,KAAA;IAAe,GAAA;EAAA;EJ6Bb;EI3Bd,OAAA;AAAA;;;;;AHhCF;;KGyCY,cAAA;;;;UAoBK,YAAA;;EAEf,IAAA;EHtDF;EGyDE,IAAA,EAAM,IAAA;;;;;;;;EASN,UAAA;;EAGA,WAAA;;EAGA,aAAA;;EAGA,eAAA;;EAGA,QAAA,GAAW,OAAA;;EAGX,MAAA,GAAS,cAAA;;EAGT,qBAAA;;EAGA,mBAAA;;EAGA,uBAAA;;EAGA,UAAA;;EAGA,cAAA;AAAA;;;;;UAOe,cAAA;;EAEf,KAAA;EF9FA;EEgGA,YAAA;EFvFe;EEyFf,KAAA;;EAEA,UAAA;AAAA;;;;;KAOU,iBAAA;;;;;;AF1EZ;;;;UEoGiB,aAAA;;EAEf,IAAA;;EAEA,IAAA,EAAM,iBAAA;;EAEN,IAAA,GAAO,IAAA;AAAA;;;AD9JT;;;;;;;KC0KY,aAAA;;;;;;;;;UAsDK,sBAAA;;EAEf,MAAA,EAAQ,aAAA;;EAER,SAAA;;EAEA,UAAA,EAAY,IAAA;;EAEZ,KAAA;AAAA;;;;;;;UASe,gBAAA,SAAyB,YAAA;EACxC,IAAA;EACA,MAAA;EACA,QAAA;;EAEA,IAAA;EACA,OAAA;ED5OwB;EC8OxB,WAAA,GARe,WAAA;EASf,KAAA;;;;;;EAMA,WAAA;;EAEA,eAAA;EACA,IAAA;;EAGA,kBAAA;;;;;;;;EASA,OAAA;EDtPS;ECyPT,iBAAA,GAAoB,KAAA;IAClB,MAAA;IACA,QAAA;IACA,IAAA;EAAA;;;;;;EAQF,cAAA,GAAiB,aAAA;;;;;;;EAQjB,wBAAA,GAA2B,sBAAA;;;;;;;EAQ3B,mBAAA;IAAwB,KAAA;IAAe,MAAA,EAAQ,aAAA;EAAA;;;;;;EAO/C,IAAA;IACE,GAAA;IACA,MAAA;MAAW,IAAA;MAAc,KAAA;MAAgB,GAAA;IAAA;EAAA;;;;;EAO3C,uBAAA,GAA0B,KAAA;IACxB,MAAA;IACA,QAAA;IACA,IAAA;IACA,UAAA;IACA,MAAA;EAAA;;;;;;EAQF,QAAA,GAAW,IAAA;;;;;;EAOX,QAAA;;;;;;EAOA,SAAA;;;AD7QF;;;ECoRE,SAAA;EDnRU;AAMZ;;;;ECoRE,mBAAA;ED7QF;;;;;ECoRE,mBAAA;ED1Qe;;;;;ECiRf,gBAAA;ED9QS;;;;;ECqRT,gBAAA;;;;AD5QF;;ECmRE,kBAAA;;;;;;EAOA,YAAA;;;;;;EAOA,WAAA;;;;;ADpRF;;EC4RE,QAAA;;;;;;;EAQA,KAAA;;;;;;;;;;EAWA,kBAAA;;;AAraF;;;;EA6aE,aAAA,GAAgB,cAAA;EA5ZlB;EA+ZE,KAAA,GAAQ,kBAAA;AAAA;;;;;;;UASO,eAAA,SAAwB,YAAA;EACvC,IAAA;EACA,KAAA;EACA,IAAA;EACA,OAAA;;EAEA,UAAA;EA7ZU;EA+ZV,YAAA;EA3Ye;;;;;EAiZf,OAAA;EApXS;EAsXT,QAAA;;EAGA,KAAA,GAAQ,qBAAA;AAAA;;;;;;;;;UAWO,eAAA,SAAwB,YAAA;EACvC,IAAA;;EAEA,MAAA;;EAEA,KAAA;EAnXF;EAqXE,MAAA;;EAEA,OAAA;;EAEA,YAAA;;EAEA,IAAA;;EAEA,OAAA;EA9WF;EAgXE,IAAA;;EAGA,KAAA,GAAQ,qBAAA;AAAA;AAzVV;;;;;;;;AAAA,UAoWiB,eAAA,SAAwB,YAAA;EACvC,IAAA;EA/VO;EAiWP,IAAA;EArVU;EAuVV,KAAA;EAvVU;EAyVV,cAAA;EAnSF;;;;;EAySE,WAAA;;EAEA,OAAA;;EAEA,WAAA,GAjBe,WAAA;;EAoBf,KAAA,GAAQ,qBAAA;AAAA;;;;;;;;;UAWO,iBAAA,SAA0B,YAAA;EACzC,IAAA;;EAEA,QAAA;;EAEA,SAAA;;EAEA,KAAA;;EAGA,KAAA,GAAQ,uBAAA;AAAA;;;;;;;;;UAWO,uBAAA,SAAgC,YAAA;EAC/C,IAAA;;EAEA,MAAA;;EAEA,IAAA;;EAEA,IAAA;;EAGA,KAAA,GAAQ,6BAAA;AAAA;;UAIO,uBAAA,SAAgC,YAAA;EAC/C,IAAA;;EAEA,MAAA;;EAEA,IAAA;;EAEA,IAAA;;EAGA,KAAA,GAAQ,6BAAA;AAAA;;;;;;;;;;;;;;;UAiBO,cAAA,SAAuB,YAAA;EACtC,IAAA;;EAEA,YAAA;;EAEA,KAAA;;EAEA,eAAA;;EAEA,IAAA;EA5KQ;EA8KR,IAAA;IACE,GAAA;IACA,MAAA;MAAW,IAAA;MAAc,KAAA;MAAgB,GAAA;IAAA;EAAA;;EAG3C,QAAA;;EAEA,SAAA;;EAEA,SAAA;;EAEA,mBAAA;EA7JQ;EA+JR,mBAAA;EApJe;EAsJf,gBAAA;EAtJuC;;;;EA2JvC,QAAA,GAAW,IAAA;AAAA;;;;;;;;UAUI,sBAAA,SAA+B,YAAA;EAC9C,IAAA;EAvIF;EAyIE,YAAA;;EAEA,OAAA;;EAEA,SAAA;;EAEA,OAAA;;EAEA,MAAA;;EAGA,KAAA,GAAQ,4BAAA;AAAA;;;;;;;UASO,UAAA,SAAmB,YAAA;EAClC,IAAA;EACA,OAAA;EAhIe;EAkIf,WAAA,GAJe,WAAA;EA9H0B;EAoIzC,KAAA,GAFqB,gBAAA;AAAA;;;;;;;UAWN,aAAA,SAAsB,YAAA;EACrC,IAAA;EAzHe;EA2Hf,SAAA;EA3H+C;EA6H/C,OAAA;;EAEA,WAAA,GAPe,WAAA;;EASf,KAAA,GAFqB,mBAAA;AAAA;;;;AAjHvB;;;UA4HiB,qBAAA,SAA8B,YAAA;EAC7C,IAAA;EACA,MAAA;EACA,QAAA;EACA,IAAA;EACA,OAAA;;EAEA,WAAA,GAPe,WAAA;;EASf,KAAA,GAFqB,2BAAA;EAxGvB;;;;;;EAiHE,SAAA;;;;EAIA,mBAAA;AAAA;;;;;;;;;;;;;;;AA5EF;;;KAgGY,QAAA,GACR,gBAAA,GACA,cAAA,GACA,eAAA,GACA,eAAA,GACA,eAAA,GACA,iBAAA,GACA,uBAAA,GACA,uBAAA,GACA,sBAAA,GACA,UAAA,GACA,aAAA,GACA,qBAAA;;;;KAKQ,gBAAA;AAAA,KAUA,qBAAA;;;;KAKA,YAAA,GACR,gBAAA,GACA,cAAA,GACA,eAAA,GACA,eAAA,GACA,eAAA,GACA,iBAAA,GACA,uBAAA,GACA,uBAAA,GACA,sBAAA;;;AAlHJ;KAuHY,iBAAA,GAAoB,UAAA,GAAa,aAAA,GAAgB,qBAAA;;;;;;;;;;KAWjD,cAAA,WAAyB,YAAA,IAAgB,OAAA,CAAQ,QAAA;EAAY,IAAA,EAAM,CAAA;AAAA;;;;AAnH/E;KAyHY,YAAA,WACJ,gBAAA,GAAmB,cAAA,CAAe,CAAA"}