eyecite-ts 0.27.0 → 0.28.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.
package/dist/index.cjs CHANGED
@@ -1,8 +1,8 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./knownCodes-exb5VIWR.cjs`);function t(e){return e.type===`case`||e.type===`docket`||e.type===`statute`||e.type===`journal`||e.type===`neutral`||e.type===`publicLaw`||e.type===`federalRegister`||e.type===`statutesAtLarge`||e.type===`constitutional`||e.type===`federalRule`||e.type===`restatement`||e.type===`treatise`||e.type===`annotation`}function n(e){return e.type===`id`||e.type===`supra`||e.type===`shortFormCase`}function r(e){return e.type===`case`}function i(e,t){return e.type===t}function a(e){throw Error(`Unexpected value: ${e}`)}function o(e,t,n){let r=e+t[0],i=e+t[1],{originalStart:a,originalEnd:o}=s({cleanStart:r,cleanEnd:i},n);return{cleanStart:r,cleanEnd:i,originalStart:a,originalEnd:o}}function s(e,t){return t.cleanToOriginalSegments?{originalStart:t.cleanToOriginalSegments.lookup(e.cleanStart),originalEnd:t.cleanToOriginalSegments.lookup(e.cleanEnd)}:{originalStart:t.cleanToOriginal.get(e.cleanStart)??e.cleanStart,originalEnd:t.cleanToOriginal.get(e.cleanEnd)??e.cleanEnd}}function c(e){let t=e.replace(/<script\b[^>]*>[\s\S]*?<\/script\s*>/gi,``);return t=t.replace(/<style\b[^>]*>[\s\S]*?<\/style\s*>/gi,``),t=t.replace(/<!\[CDATA\[([\s\S]*?)\]\]>/g,`$1`),t.replace(/(?:<[a-zA-Z/!][^>\n\r]*>)+/g,(e,n)=>{let r=n>0?t[n-1]:``,i=n+e.length,a=i<t.length?t[i]:``;return/\w/.test(r)&&/\w/.test(a)?` `:``})}function l(e){return e.replace(/(\w)-\s*[\n\r]+\s*(\w)/g,(e,t,n)=>/\d/.test(t)&&/\d/.test(n)?`${t}-${n}`:`${t}${n}`)}function u(e){return e.replace(/[\t\n\r\u00A0\u2000-\u200A\u202F\u205F\u3000]/g,` `)}function d(e){return e.replace(/ {2,}/g,` `)}function f(e){return e.replace(/[™®℠©]/g,``).replace(/[¼-¾⅐-⅞]/g,``).replace(/№/g,``).replace(/[㎀-㏿℀-⅏]/g,``).normalize(`NFKC`)}function p(e){return e.replace(/[\u201C\u201D]/g,`"`).replace(/[\u2018\u2019]/g,`'`)}function m(e){return e.replace(/(?<=\w)[\u2014\u2015](?=\w)/g,`-`).replace(/[\u2014\u2015]/g,`---`).replace(/[\u2010\u2012\u2013]/g,`-`)}function h(e){if(!(Number.isNaN(e)||e<0||e>1114111))return String.fromCodePoint(e)}function g(e){return e.replace(/&sect;/gi,`§`).replace(/&para;/gi,`¶`).replace(/&ndash;/gi,`–`).replace(/&mdash;/gi,`—`).replace(/&amp;/gi,`&`).replace(/&nbsp;/gi,` `).replace(/&lt;/gi,`<`).replace(/&gt;/gi,`>`).replace(/&quot;/gi,`"`).replace(/&apos;/gi,`'`).replace(/&#(\d+);/g,(e,t)=>h(Number.parseInt(t,10))??e).replace(/&#x([0-9a-fA-F]+);/gi,(e,t)=>h(Number.parseInt(t,16))??e)}function _(e){let t=e;return t=t.replace(/\bU\.\s*S\.\s*C\./g,`U.S.C.`),t=t.replace(/\bC\.\s*F\.\s*R\./g,`C.F.R.`),t=t.replace(/\b([NS])\.\s+([WE])\./g,`$1.$2.`),t=t.replace(/\bU\.\s+S\./g,`U.S.`),t=t.replace(/\bS\.\s+Ct\./g,`S.Ct.`),t=t.replace(/\bL\.\s+Ed\./g,`L.Ed.`),t=t.replace(/\bF\.\s+Supp\./g,`F.Supp.`),t=t.replace(/\bF\.\s+(\d+[a-z]+)/g,`F.$1`),t=t.replace(/([A-Za-z])\.\s+(\d+[a-z]+)\b(?!\s+Cir\.)/g,`$1.$2`),t=t.replace(/\bIll\.\s+App\.(\d+[a-z]+)/g,`Ill. App. $1`),t}function v(e){return e.replace(/[\u2032\u2035]/g,`'`).replace(/\u2026/g,`...`).replace(/\u200B|\u200C|\u200D|\u2060|\uFEFF/g,``)}var y=class e{segments;constructor(e){this.segments=e}static identity(t){return new e([{cleanPos:0,origPos:0,len:t+1}])}static fromMap(t){if(t.size===0)return new e([]);let n=[...t.entries()].sort((e,t)=>e[0]-t[0]),r=[],i=n[0][0],a=n[0][1],o=1;for(let e=1;e<n.length;e++){let[t,s]=n[e],c=i+o,l=a+o;t===c&&s===l?o++:(r.push({cleanPos:i,origPos:a,len:o}),i=t,a=s,o=1)}return r.push({cleanPos:i,origPos:a,len:o}),new e(r)}lookup(e){let t=this.segments;if(t.length===0)return e;let n=0,r=t.length-1;for(;n<=r;){let i=n+r>>>1,a=t[i];if(e<a.cleanPos)r=i-1;else if(e>=a.cleanPos+a.len)n=i+1;else return a.origPos+(e-a.cleanPos)}let i=t[t.length-1];return i.origPos+(e-i.cleanPos)}};function b(e,t=[c,g,l,u,d,f,m,p,v,_]){let n=e,r=new Map,i=new Map;for(let t=0;t<=e.length;t++)r.set(t,t),i.set(t,t);for(let e of t){let t=n,a=e(n);if(t!==a){let{newCleanToOriginal:e,newOriginalToClean:o}=x(t,a,r,i);r=e,i=o,n=a}}let a={cleanToOriginal:r,originalToClean:i,cleanToOriginalSegments:y.fromMap(r)};return{cleaned:n,transformationMap:a,warnings:[]}}function x(e,t,n,r){let i=new Map,a=new Map,o=0,s=0;for(;o<=e.length||s<=t.length;){if(o>=e.length&&s>=t.length){let e=n.get(o)??o;i.set(s,e),a.set(e,s);break}if(o>=e.length){let e=n.get(o)??o;i.set(s,e),s++;continue}if(s>=t.length){let e=n.get(o)??o;a.set(e,s),o++;continue}if(e[o]===t[s]){let e=n.get(o)??o;i.set(s,e),a.set(e,s),o++,s++}else{if(e.length-o===t.length-s){let e=n.get(o)??o;i.set(s,e),a.set(e,s),o++,s++;continue}let r=!1,c=Math.max(40,Math.abs(e.length-t.length)+10),l=-1,u=-1,d=-1,f=-1,p=(n,r)=>{let i=1;for(;i<3&&n+i<e.length&&r+i<t.length&&e[n+i]===t[r+i];)i++;return i};for(let n=1;n<=c;n++){if((l<0||u<0)&&o+n<e.length&&e[o+n]===t[s]){let t=p(o+n,s);l<0&&t>=3&&(l=n),u<0&&e[o+n+t]===`<`&&(u=n)}if((d<0||f<0)&&s+n<t.length&&e[o]===t[s+n]){let t=p(o,s+n);d<0&&t>=3&&(d=n),f<0&&e[o+t]===`<`&&(f=n)}if(l>=0&&d>=0)break}let m=(e,t)=>e<0?t:t<0?e:t<e?t:e,h=m(l,u),g=m(d,f);if(h>=0&&(g<0||h<=g)){for(let e=0;e<h;e++){let t=n.get(o+e)??o+e;a.set(t,s)}o+=h,r=!0}else if(g>=0){let e=n.get(o)??o;for(let t=0;t<g;t++)i.set(s+t,e);s+=g,r=!0}if(r)continue;let _=n.get(o)??o;i.set(s,_),a.set(_,s),o++,s++}}return{newCleanToOriginal:i,newOriginalToClean:a}}function S(e,t,n){let r=/\blabel\s*=\s*["'](\d+)["']/.exec(e);if(r)return Number.parseInt(r[1],10);let i=/\bid\s*=\s*["'](?:fn|footnote)(\d+)["']/.exec(e);if(i)return Number.parseInt(i[1],10);let a=t.replace(/<[^>]*>/g,``),o=/^\s*(\d+)[.\s):]/.exec(a);return o?Number.parseInt(o[1],10):n+1}function C(e,t,n){let r=RegExp(`<${t}\\b[^>]*>`,`gi`),i=RegExp(`</${t}\\s*>`,`gi`);r.lastIndex=n,i.lastIndex=n;let a=1;for(;a>0;){let t=r.exec(e),n=i.exec(e);if(!n)return null;if(t&&t.index<n.index)a++,i.lastIndex=t.index+t[0].length;else{if(a--,a===0)return{contentEnd:n.index,tagEnd:n.index+n[0].length};r.lastIndex=n.index+n[0].length}}return null}function w(e){let t=[],n,r=RegExp(`<(footnote|fn)\\b[^>]*>|<(div|aside|section|p|span)\\b[^>]*(?:class\\s*=\\s*["'][^"']*\\bfootnote\\b[^"']*["']|id\\s*=\\s*["'](?:fn|footnote)\\d*["'])[^>]*>`,`gi`);for(;(n=r.exec(e))!==null;){let i=n[0],a=n.index+i.length,o=C(e,n[1]||n[2],a);if(!o)continue;let s=S(i,e.slice(a,o.contentEnd),t.length);t.push({start:a,end:o.contentEnd,footnoteNumber:s}),r.lastIndex=o.tagEnd}return t.sort((e,t)=>e.start-t.start)}const T=/^\s*[-_]{5,}\s*$/m,E=/^[A-Z][A-Z0-9 &:'.-]{3,}$/m;function D(e){let t=T.exec(e);if(!t)return[];if(t[0].replace(/\s/g,``).length<8){let n=Math.floor(e.length*.25);if(t.index<n)return[]}let n=t.index+t[0].length,r=e.slice(n),i=RegExp(`^(?:FN\\s*(\\d+)[.\\s:)]|\\[(\\d+)\\]\\s|n\\.\\s*(\\d+)\\s|(\\d+)\\.\\s+\\S)`,`gm`),a=[],o;for(;(o=i.exec(r))!==null;){let e=o[1]||o[2]||o[3]||o[4];e&&a.push({index:o.index+n,footnoteNumber:Number.parseInt(e,10)})}if(a.length===0)return[];let s=[];for(let t=0;t<a.length;t++){let n=a[t].index,r;r=t+1<a.length?a[t+1].index:O(e,n),s.push({start:n,end:r,footnoteNumber:a[t].footnoteNumber})}return s}function O(e,t){let n=e.indexOf(`
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./knownCodes-exb5VIWR.cjs`);function t(e){return e.type===`case`||e.type===`docket`||e.type===`statute`||e.type===`journal`||e.type===`neutral`||e.type===`publicLaw`||e.type===`federalRegister`||e.type===`statutesAtLarge`||e.type===`sessionLaw`||e.type===`treaty`||e.type===`legislativeMaterial`||e.type===`localOrdinance`||e.type===`canon`||e.type===`constitutional`||e.type===`federalRule`||e.type===`restatement`||e.type===`treatise`||e.type===`annotation`}function n(e){return e.type===`id`||e.type===`supra`||e.type===`shortFormCase`}function r(e){return e.type===`case`}function i(e,t){return e.type===t}function a(e){throw Error(`Unexpected value: ${e}`)}function o(e,t,n){let r=e+t[0],i=e+t[1],{originalStart:a,originalEnd:o}=s({cleanStart:r,cleanEnd:i},n);return{cleanStart:r,cleanEnd:i,originalStart:a,originalEnd:o}}function s(e,t){return t.cleanToOriginalSegments?{originalStart:t.cleanToOriginalSegments.lookup(e.cleanStart),originalEnd:t.cleanToOriginalSegments.lookup(e.cleanEnd)}:{originalStart:t.cleanToOriginal.get(e.cleanStart)??e.cleanStart,originalEnd:t.cleanToOriginal.get(e.cleanEnd)??e.cleanEnd}}const c=/<\/?(?:p|div|h[1-6]|li|ul|ol|dl|dd|dt|table|thead|tbody|tfoot|tr|td|th|caption|section|article|aside|header|footer|nav|main|blockquote|figure|figcaption|hr|pre|address|form|fieldset)\b/i;function l(e){let t=e.replace(/<script\b[^>]*>[\s\S]*?<\/script\s*>/gi,``);return t=t.replace(/<style\b[^>]*>[\s\S]*?<\/style\s*>/gi,``),t=t.replace(/<!\[CDATA\[([\s\S]*?)\]\]>/g,`$1`),t.replace(/(?:<[a-zA-Z/!][^>\n\r]*>)+/g,(e,n)=>{let r=n>0?t[n-1]:``,i=n+e.length,a=i<t.length?t[i]:``;return c.test(e)?r===``||a===``?``:/[.!?]/.test(r)?` `:`. `:/<br\b/i.test(e)||/\w/.test(r)&&/\w/.test(a)?` `:``})}function u(e){return e.replace(/(\w)-\s*[\n\r]+\s*(\w)/g,(e,t,n)=>/\d/.test(t)&&/\d/.test(n)?`${t}-${n}`:`${t}${n}`)}function d(e){return e.replace(/[\r\n]+[^\S\r\n]*[—–-]+[^\S\r\n]*\d+[^\S\r\n]*[—–-]+[^\S\r\n]*[\r\n]+/g,` `)}function f(e){return e.replace(/[\t\n\r\u00A0\u2000-\u200B\u202F\u205F\u3000\uFEFF]/g,` `)}function p(e){return e.replace(/ {2,}/g,` `)}function m(e){return e.replace(/[™®℠©]/g,``).replace(/\u00AD/g,``).replace(/[¼-¾⅐-⅞]/g,``).replace(/№/g,``).replace(/[㎀-㏿℀-⅏]/g,``).normalize(`NFKC`)}function h(e){return e.replace(/[\u201C\u201D]/g,`"`).replace(/[\u2018\u2019]/g,`'`)}function g(e){return e.replace(/(?<=\w)[\u2014\u2015](?=\w)/g,`-`).replace(/[\u2014\u2015]/g,`---`).replace(/[\u2010\u2012\u2013]/g,`-`)}function _(e){if(!(Number.isNaN(e)||e<0||e>1114111))return String.fromCodePoint(e)}function v(e){return e.replace(/&sect;/gi,`§`).replace(/&para;/gi,`¶`).replace(/&ndash;/gi,`–`).replace(/&mdash;/gi,`—`).replace(/&amp;/gi,`&`).replace(/&nbsp;/gi,` `).replace(/&lt;/gi,`<`).replace(/&gt;/gi,`>`).replace(/&quot;/gi,`"`).replace(/&apos;/gi,`'`).replace(/&#(\d+);/g,(e,t)=>_(Number.parseInt(t,10))??e).replace(/&#x([0-9a-fA-F]+);/gi,(e,t)=>_(Number.parseInt(t,16))??e)}function y(e){let t=e;return t=t.replace(/\bU\.\s*S\.\s*C\./g,`U.S.C.`),t=t.replace(/\bC\.\s*F\.\s*R\./g,`C.F.R.`),t=t.replace(/\b([NS])\.\s+([WE])\./g,`$1.$2.`),t=t.replace(/\bU\.\s+S\./g,`U.S.`),t=t.replace(/\bS\.\s+Ct\./g,`S.Ct.`),t=t.replace(/\bL\.\s+Ed\./g,`L.Ed.`),t=t.replace(/\bF\.\s+Supp\./g,`F.Supp.`),t=t.replace(/\bF\.\s+(\d+[a-z]+)/g,`F.$1`),t=t.replace(/([A-Za-z])\.\s+(\d+[a-z]+)\b(?!\s+Cir\.)/g,`$1.$2`),t=t.replace(/\bIll\.\s+App\.(\d+[a-z]+)/g,`Ill. App. $1`),t}function b(e){return e.replace(/[\u2032\u2035]/g,`'`).replace(/\u2026/g,`...`).replace(/\u200B|\u200C|\u200D|\u2060|\uFEFF/g,``)}var x=class e{segments;constructor(e){this.segments=e}static identity(t){return new e([{cleanPos:0,origPos:0,len:t+1}])}static fromMap(t){if(t.size===0)return new e([]);let n=[...t.entries()].sort((e,t)=>e[0]-t[0]),r=[],i=n[0][0],a=n[0][1],o=1;for(let e=1;e<n.length;e++){let[t,s]=n[e],c=i+o,l=a+o;t===c&&s===l?o++:(r.push({cleanPos:i,origPos:a,len:o}),i=t,a=s,o=1)}return r.push({cleanPos:i,origPos:a,len:o}),new e(r)}lookup(e){let t=this.segments;if(t.length===0)return e;let n=0,r=t.length-1;for(;n<=r;){let i=n+r>>>1,a=t[i];if(e<a.cleanPos)r=i-1;else if(e>=a.cleanPos+a.len)n=i+1;else return a.origPos+(e-a.cleanPos)}let i=t[t.length-1];return i.origPos+(e-i.cleanPos)}};function S(e,t=[l,v,u,d,f,p,m,g,h,b,y]){let n=e,r=new Map,i=new Map;for(let t=0;t<=e.length;t++)r.set(t,t),i.set(t,t);for(let e of t){let t=n,a=e(n);if(t!==a){let{newCleanToOriginal:e,newOriginalToClean:o}=C(t,a,r,i);r=e,i=o,n=a}}let a={cleanToOriginal:r,originalToClean:i,cleanToOriginalSegments:x.fromMap(r)};return{cleaned:n,transformationMap:a,warnings:[]}}function C(e,t,n,r){let i=new Map,a=new Map,o=0,s=0;for(;o<=e.length||s<=t.length;){if(o>=e.length&&s>=t.length){let e=n.get(o)??o;i.set(s,e),a.set(e,s);break}if(o>=e.length){let e=n.get(o)??o;i.set(s,e),s++;continue}if(s>=t.length){let e=n.get(o)??o;a.set(e,s),o++;continue}if(e[o]===t[s]){let e=n.get(o)??o;i.set(s,e),a.set(e,s),o++,s++}else{if(e.length-o===t.length-s){let e=n.get(o)??o;i.set(s,e),a.set(e,s),o++,s++;continue}let r=!1,c=Math.max(40,Math.abs(e.length-t.length)+10),l=-1,u=-1,d=-1,f=-1,p=(n,r)=>{let i=1;for(;i<3&&n+i<e.length&&r+i<t.length&&e[n+i]===t[r+i];)i++;return i};for(let n=1;n<=c;n++){if((l<0||u<0)&&o+n<e.length&&e[o+n]===t[s]){let t=p(o+n,s);l<0&&t>=3&&(l=n),u<0&&e[o+n+t]===`<`&&(u=n)}if((d<0||f<0)&&s+n<t.length&&e[o]===t[s+n]){let t=p(o,s+n);d<0&&t>=3&&(d=n),f<0&&e[o+t]===`<`&&(f=n)}if(l>=0&&d>=0)break}let m=(e,t)=>e<0?t:t<0?e:t<e?t:e,h=m(l,u),g=m(d,f);if(h>=0&&(g<0||h<=g)){for(let e=0;e<h;e++){let t=n.get(o+e)??o+e;a.set(t,s)}o+=h,r=!0}else if(g>=0){let e=n.get(o)??o;for(let t=0;t<g;t++)i.set(s+t,e);s+=g,r=!0}if(r)continue;let _=n.get(o)??o;i.set(s,_),a.set(_,s),o++,s++}}return{newCleanToOriginal:i,newOriginalToClean:a}}function w(e,t,n){let r=/\blabel\s*=\s*["'](\d+)["']/.exec(e);if(r)return Number.parseInt(r[1],10);let i=/\bid\s*=\s*["'](?:fn|footnote)(\d+)["']/.exec(e);if(i)return Number.parseInt(i[1],10);let a=t.replace(/<[^>]*>/g,``),o=/^\s*(\d+)[.\s):]/.exec(a);return o?Number.parseInt(o[1],10):n+1}function T(e,t,n){let r=RegExp(`<${t}\\b[^>]*>`,`gi`),i=RegExp(`</${t}\\s*>`,`gi`);r.lastIndex=n,i.lastIndex=n;let a=1;for(;a>0;){let t=r.exec(e),n=i.exec(e);if(!n)return null;if(t&&t.index<n.index)a++,i.lastIndex=t.index+t[0].length;else{if(a--,a===0)return{contentEnd:n.index,tagEnd:n.index+n[0].length};r.lastIndex=n.index+n[0].length}}return null}function E(e){let t=[],n,r=RegExp(`<(footnote|fn)\\b[^>]*>|<(div|aside|section|p|span)\\b[^>]*(?:class\\s*=\\s*["'][^"']*\\bfootnote\\b[^"']*["']|id\\s*=\\s*["'](?:fn|footnote)\\d*["'])[^>]*>`,`gi`);for(;(n=r.exec(e))!==null;){let i=n[0],a=n.index+i.length,o=T(e,n[1]||n[2],a);if(!o)continue;let s=w(i,e.slice(a,o.contentEnd),t.length);t.push({start:a,end:o.contentEnd,footnoteNumber:s}),r.lastIndex=o.tagEnd}return t.sort((e,t)=>e.start-t.start)}const D=/^\s*[-_]{5,}\s*$/m,O=/^[A-Z][A-Z0-9 &:'.-]{3,}$/m;function k(e){let t=D.exec(e);if(!t)return[];if(t[0].replace(/\s/g,``).length<8){let n=Math.floor(e.length*.25);if(t.index<n)return[]}let n=t.index+t[0].length,r=e.slice(n),i=RegExp(`^(?:FN\\s*(\\d+)[.\\s:)]|\\[(\\d+)\\]\\s|n\\.\\s*(\\d+)\\s|(\\d+)\\.\\s+\\S)`,`gm`),a=[],o;for(;(o=i.exec(r))!==null;){let e=o[1]||o[2]||o[3]||o[4];e&&a.push({index:o.index+n,footnoteNumber:Number.parseInt(e,10)})}if(a.length===0)return[];let s=[];for(let t=0;t<a.length;t++){let n=a[t].index,r;r=t+1<a.length?a[t+1].index:A(e,n),s.push({start:n,end:r,footnoteNumber:a[t].footnoteNumber})}return s}function A(e,t){let n=e.indexOf(`
2
2
  `,t);if(n<0)return e.length;let r=n+1;if(r>=e.length)return e.length;let i=r,a=!1;for(;i<e.length;){let t=e.indexOf(`
3
- `,i),n=t<0?e.length:t,r=e.slice(i,n).trim();if(/^[-_]{5,}$/.test(r))return i;if(a&&r!==``&&E.test(r))return k(e,i);if(a=r===``,t<0)break;i=t+1}return e.length}function k(e,t){if(t<=0)return 0;let n=e.lastIndexOf(`
4
- `,t-2);return n<0?0:n+1}const A=/<[^>]+>/;function j(e){if(A.test(e)){let t=w(e);if(t.length>0)return t}return D(e)}function M(e,t,n,r=20){for(let i=1;i<=r;i++){let r=n===`forward`?e+i:e-i,a=t.get(r);if(a!==void 0)return a}}function ee(e,t){return e.length===0?[]:e.map(e=>({start:t.originalToClean.get(e.start)??M(e.start,t.originalToClean,`forward`)??e.start,end:t.originalToClean.get(e.end)??M(e.end,t.originalToClean,`backward`)??e.end,footnoteNumber:e.footnoteNumber}))}function N(e,t){if(t.length!==0)for(let n of e){let e=n.span.cleanStart,r=0,i=t.length-1;for(;r<=i;){let a=r+i>>>1,o=t[a];if(e<o.start)i=a-1;else if(e>=o.end)r=a+1;else{n.inFootnote=!0,n.footnoteNumber=o.footnoteNumber;break}}}}const te={jan:1,january:1,feb:2,february:2,mar:3,march:3,apr:4,april:4,may:5,jun:6,june:6,jul:7,july:7,aug:8,august:8,sep:9,sept:9,september:9,oct:10,october:10,nov:11,november:11,dec:12,december:12};function P(e){if(!Number.isInteger(e))return!1;let t=new Date().getFullYear()+1;return e>=1700&&e<=t}function F(e){let t=te[e.toLowerCase().replace(/\.$/,``)];if(t===void 0)throw Error(`Invalid month name: ${e}`);return t}const I=[0,31,28,31,30,31,30,31,31,30,31,30,31];function L(e,t,n){if(t<1||t>12||n<1)return!1;let r=I[t];return t===2&&e%4==0&&(e%100!=0||e%400==0)&&(r=29),n<=r}function R(e){let{year:t,month:n,day:r}=e;return n!==void 0&&r!==void 0?`${t}-${String(n).padStart(2,`0`)}-${String(r).padStart(2,`0`)}`:n===void 0?String(t):`${t}-${String(n).padStart(2,`0`)}`}function z(e){let t=e.match(/\b(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Sept|Oct|Nov|Dec)(?:\.?,?\s+|\.,?\s*)(\d{1,2}),?\s+(\d{4})\b/i);if(t){let e=F(t[1]),n=Number.parseInt(t[2],10),r=Number.parseInt(t[3],10);if(P(r)){let t=L(r,e,n)?{year:r,month:e,day:n}:{year:r,month:e};return{iso:R(t),parsed:t}}}let n=e.match(/\b(January|February|March|April|May|June|July|August|September|October|November|December)\s+(\d{1,2}),?\s+(\d{4})\b/i);if(n){let e=F(n[1]),t=Number.parseInt(n[2],10),r=Number.parseInt(n[3],10);if(P(r)){let n=L(r,e,t)?{year:r,month:e,day:t}:{year:r,month:e};return{iso:R(n),parsed:n}}}let r=e.match(/\b(\d{4})([-/])(\d{1,2})\2(\d{1,2})\b/);if(r){let e=Number.parseInt(r[1],10),t=Number.parseInt(r[3],10),n=Number.parseInt(r[4],10);if(P(e)){let r=L(e,t,n)?{year:e,month:t,day:n}:{year:e,month:t};return{iso:R(r),parsed:r}}}let i=e.match(/\b(\d{1,2})\/(\d{1,2})\/(\d{2}|\d{4})\b/);if(i){let e=Number.parseInt(i[1],10),t=Number.parseInt(i[2],10),n=i[3],r=Number.parseInt(n,10);if(n.length===2&&(r=r<=50?2e3+r:1900+r),P(r)){let n=L(r,e,t)?{year:r,month:e,day:t}:{year:r,month:e};return{iso:R(n),parsed:n}}}let a=e.match(/\b(\d{1,2})\s+(January|February|March|April|May|June|July|August|September|October|November|December|Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Sept|Oct|Nov|Dec)\.?\s+(\d{4})\b/i);if(a){let e=Number.parseInt(a[1],10),t=F(a[2]),n=Number.parseInt(a[3],10);if(P(n)){let r=L(n,t,e)?{year:n,month:t,day:e}:{year:n,month:t};return{iso:R(r),parsed:r}}}let o=e.match(/\b(\d{4})\b/);if(o){let e=Number.parseInt(o[1],10);if(P(e)){let t={year:e};return{iso:R(t),parsed:t}}}}function B(e,t){let{text:n,span:r}=e,i=/\b(\d+)\s+(A\.\s?L\.\s?R\.(?:\s?(?:Fed\.(?:\s?\d(?:d|nd|rd|th))?|\d(?:d|nd|rd|th)))?|ALR(?:\s?(?:Fed(?:\s?\d(?:d|nd|rd|th))?|\d(?:d|nd|rd|th)))?)\s+(\d+)\b/d.exec(n);if(!i)throw Error(`Failed to parse A.L.R. annotation citation: ${n}`);let a=Number.parseInt(i[1],10),c=i[2].replace(/\s+/g,``),l=Number.parseInt(i[3],10),u=/\((?:.*?\s)?(\d{4})\)/.exec(n),d=u?Number.parseInt(u[1],10):void 0,f=d!==void 0&&P(d)?d:void 0,p;if(i.indices){let e=i.indices[1],n=i.indices[2],a=i.indices[3];e&&n&&a&&(p={volume:o(r.cleanStart,e,t),series:o(r.cleanStart,n,t),page:o(r.cleanStart,a,t)})}let{originalStart:m,originalEnd:h}=s(r,t);return{type:`annotation`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:m,originalEnd:h},confidence:.95,matchedText:n,processTimeMs:0,patternsChecked:1,series:c,volume:a,page:l,year:f,spans:p}}function V(e){return{level:e,jurisdiction:`federal`,confidence:1}}function H(e,t){return{level:e,jurisdiction:`state`,state:t,confidence:1}}function U(e){return{level:e,jurisdiction:`state`,confidence:.7}}const ne=new Map([[`U.S.`,V(`supreme`)],[`S.Ct.`,V(`supreme`)],[`L.Ed.`,V(`supreme`)],[`L.Ed.2d`,V(`supreme`)],[`S. Ct.`,V(`supreme`)],[`L. Ed.`,V(`supreme`)],[`L. Ed. 2d`,V(`supreme`)],[`U. S.`,V(`supreme`)],[`L.Ed. 2d`,V(`supreme`)],[`L. Ed.2d`,V(`supreme`)],[`F.`,V(`appellate`)],[`F.2d`,V(`appellate`)],[`F.3d`,V(`appellate`)],[`F.4th`,V(`appellate`)],[`F. App'x`,V(`appellate`)],[`F.Supp.`,V(`trial`)],[`F.Supp.2d`,V(`trial`)],[`F.Supp.3d`,V(`trial`)],[`F.Supp.4th`,V(`trial`)],[`F. Supp.`,V(`trial`)],[`F. Supp. 2d`,V(`trial`)],[`F. Supp. 3d`,V(`trial`)],[`F. Supp. 4th`,V(`trial`)],[`F.R.D.`,V(`trial`)],[`B.R.`,V(`trial`)],[`Cal.`,H(`supreme`,`CA`)],[`Cal.2d`,H(`supreme`,`CA`)],[`Cal.3d`,H(`supreme`,`CA`)],[`Cal.4th`,H(`supreme`,`CA`)],[`Cal.5th`,H(`supreme`,`CA`)],[`Cal.App.`,H(`appellate`,`CA`)],[`Cal.App.2d`,H(`appellate`,`CA`)],[`Cal.App.3d`,H(`appellate`,`CA`)],[`Cal.App.4th`,H(`appellate`,`CA`)],[`Cal.App.5th`,H(`appellate`,`CA`)],[`Cal.Rptr.`,H(`unknown`,`CA`)],[`Cal.Rptr.2d`,H(`unknown`,`CA`)],[`Cal.Rptr.3d`,H(`unknown`,`CA`)],[`N.Y.`,H(`supreme`,`NY`)],[`N.Y.2d`,H(`supreme`,`NY`)],[`N.Y.3d`,H(`supreme`,`NY`)],[`A.D.`,H(`appellate`,`NY`)],[`A.D.2d`,H(`appellate`,`NY`)],[`A.D.3d`,H(`appellate`,`NY`)],[`Misc.`,H(`trial`,`NY`)],[`Misc.2d`,H(`trial`,`NY`)],[`Misc.3d`,H(`trial`,`NY`)],[`N.Y.S.`,H(`unknown`,`NY`)],[`N.Y.S.2d`,H(`unknown`,`NY`)],[`N.Y.S.3d`,H(`unknown`,`NY`)],[`Ill.`,H(`supreme`,`IL`)],[`Ill.2d`,H(`supreme`,`IL`)],[`Ill.App.`,H(`appellate`,`IL`)],[`Ill.App.2d`,H(`appellate`,`IL`)],[`Ill.App.3d`,H(`appellate`,`IL`)],[`Ill.Dec.`,H(`unknown`,`IL`)],[`Ohio St.`,H(`supreme`,`OH`)],[`Ohio St.2d`,H(`supreme`,`OH`)],[`Ohio St.3d`,H(`supreme`,`OH`)],[`Ohio App.3d`,H(`appellate`,`OH`)],[`Pa.`,H(`supreme`,`PA`)],[`Pa. Super.`,H(`appellate`,`PA`)],[`Tex.`,H(`supreme`,`TX`)],[`Fla.`,H(`supreme`,`FL`)],[`Mass.`,H(`supreme`,`MA`)],[`Mass. App. Ct.`,H(`appellate`,`MA`)],[`A.`,U(`unknown`)],[`A.2d`,U(`unknown`)],[`A.3d`,U(`unknown`)],[`S.E.`,U(`unknown`)],[`S.E.2d`,U(`unknown`)],[`S.E.3d`,U(`unknown`)],[`S.W.`,U(`unknown`)],[`S.W.2d`,U(`unknown`)],[`S.W.3d`,U(`unknown`)],[`N.E.`,U(`unknown`)],[`N.E.2d`,U(`unknown`)],[`N.E.3d`,U(`unknown`)],[`N.W.`,U(`unknown`)],[`N.W.2d`,U(`unknown`)],[`N.W.3d`,U(`unknown`)],[`So.`,U(`unknown`)],[`So.2d`,U(`unknown`)],[`So.3d`,U(`unknown`)],[`P.`,U(`unknown`)],[`P.2d`,U(`unknown`)],[`P.3d`,U(`unknown`)]]);function re(e){return ne.get(e)}const W=/^(?:at\s+)?(?:¶¶?|paras?\.?)\s*/i,ie=/^(\d+)(?:\s*[-–—~]\s*(\d+))?\s*$/,ae=/^(?:at\s+)?(\*?)(\d+)(?:\s*[-–—~]\s*\*?(\d+))?(?:\s*,)?\s*(?:(?:nn?|fns?|note)\s*\.?\s*(\d+)(?:\s*[-–—~]\s*(\d+))?)?$/i,oe=/^(?:at\s+)?(?:nn?|fns?|note)\s*\.?\s*(\d+)(?:[-–—~](\d+))?$/i;function G(e){let t=e.trim();if(!t)return null;let n=W.exec(t);if(n){let e=t.substring(n[0].length),r=ie.exec(e);if(r){let e=Number.parseInt(r[1],10),n=r[2]?Number.parseInt(r[2],10):void 0,i={paragraph:e,isRange:n!==void 0,raw:t};return n!==void 0&&(i.endParagraph=n),i}}let r=oe.exec(t);if(r){let e=Number.parseInt(r[1],10),n=r[2]?Number.parseInt(r[2],10):void 0,i={footnote:e,isRange:n!==void 0,raw:t};return n!==void 0&&(i.footnoteEnd=n),i}let i=ae.exec(t);if(!i)return null;let a=i[1],o=i[2],s=i[3],c=i[4],l=i[5],u=Number.parseInt(o,10),d,f=!1;if(s){f=!0;let e=Number.parseInt(s,10);if(s.length<o.length){let e=o.slice(0,o.length-s.length);d=Number.parseInt(e+s,10)}else d=e}let p=c?Number.parseInt(c,10):void 0,m=l?Number.parseInt(l,10):void 0,h={page:u,isRange:f,raw:t};return d!==void 0&&(h.endPage=d),p!==void 0&&(h.footnote=p),m!==void 0&&(h.footnoteEnd=m),a===`*`&&(h.starPage=!0),h}function se(e){if(!e||!e.trim())return;let t=e.trim();return t=t.replace(/\.\s+(?=[A-Za-z])/g,`.`),/[A-Za-z]$/.test(t)&&(/\./.test(t)||/^\d+\w*\s+[A-Z]/i.test(t))&&(t+=`.`),t}function ce(e,t,n=1/0){if(e.length===0)return Math.min(t.length,n+1);if(t.length===0)return Math.min(e.length,n+1);let r=e.length<=t.length?e:t,i=e.length<=t.length?t:e,a=r.length,o=Array.from({length:a+1},(e,t)=>t),s=Array(a+1);for(let e=1;e<=i.length;e++){s[0]=e;let t=e;for(let n=1;n<=a;n++)i[e-1]===r[n-1]?s[n]=o[n-1]:s[n]=1+Math.min(o[n],s[n-1],o[n-1]),s[n]<t&&(t=s[n]);if(t>n)return n+1;let c=o;o=s,s=c}return o[a]}const K=new Set([`see`,`see also`,`see generally`,`cf`,`but see`,`but cf`,`compare`,`accord`,`contra`,`e.g.`,`see, e.g.`,`see also, e.g.`,`but see, e.g.`,`cf., e.g.`,`but cf., e.g.`]),le=(()=>{let e=[...K].sort((e,t)=>t.length-e.length).map(e=>e.replace(/\s+/g,`\\s*,?\\s+`).replace(/,\s*/g,`,?\\s*`).replace(/\./g,`\\.\\s*`));return RegExp(`^(${e.join(`|`)}),?\\s+(?:the\\s+(?:case\\s+of(?:\\s+the)?|opinion(?:\\s+filed\\s+at\\s+this\\s+term)?\\s+in)\\s+)?`,`i`)})();function ue(e){return/^\d+$/.test(e)?Number.parseInt(e,10):e}const de=/(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Sept|Oct|Nov|Dec|January|February|March|April|May|June|July|August|September|October|November|December)\.?/,fe=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],pe=new Set([`Cir`,`Ct`,`App`,`Sup`,`Dist`,`Div`,`Bankr`,`Crim`,`Civ`,`Mass`,`Tex`,`Penn`,`Wash`,`Ind`,`Ark`]);function me(e){let t=/\s+(\w{3,12})\.?\s*$/.exec(e);if(!t)return e;let n=t[1];if(!/^[A-Z]/.test(n))return e;let r=n.replace(/\.$/,``);if(pe.has(r))return e;let i=n[0];for(let r of fe)if(r[0]===i&&ce(n,r,2)<=2)return e.slice(0,t.index).trim();return e}const he=new Date().getFullYear(),ge=new Set(`F.,F.2d,F.3d,F.4th,F.5th,F.6th,F.7th,U.S.,S.Ct.,S. Ct.,L.Ed.,L. Ed.,L.Ed.2d,L. Ed. 2d,L.Ed.3d,L. Ed. 3d,F.Supp.,F. Supp.,F.Supp.2d,F. Supp. 2d,F.Supp.3d,F. Supp. 3d,F.Supp.4th,F. Supp. 4th,F.Supp.5th,F. Supp. 5th,F.Supp.6th,F. Supp. 6th,F.App'x,F. App'x,P.,P.2d,P.3d,P.4th,A.,A.2d,A.3d,A.4th,N.E.,N.E.2d,N.E.3d,N.E.4th,N.W.,N.W.2d,N.W.3d,S.E.,S.E.2d,S.E.3d,S.W.,S.W.2d,S.W.3d,S.W.4th,So.,So.2d,So. 2d,So.3d,So. 3d,So.4th,So. 4th,Mass.,Va.,Pa.,Idaho,Cal.,Cal.2d,Cal.3d,Cal.4th,Cal.5th,Cal.Rptr.,Cal.Rptr.2d,Cal.Rptr.3d,Cal.App.,Cal.App.2d,Cal.App.3d,Cal.App.4th,Cal.App.5th`.split(`,`)),_e=/(2|3)(nd|ds|cl|rd)$/i;function ve(e){let t=_e.exec(e);if(!t)return;let n=t[1];return`${e.slice(0,t.index)}${n}d`}function ye(t,n){let r=e.s();if(!r)return;let i=r.byAbbreviation.get(t.toLowerCase()),a=t;if(!i||i.length===0){let e=ve(t);if(e){let t=r.byAbbreviation.get(e.toLowerCase());t&&t.length>0&&(i=t,a=e)}if(!i||i.length===0)return}let o=a.toLowerCase();if(o===`black.`&&n!==void 0&&n>=1861&&n<=1862)return`Black`;for(let e of i){for(let t of Object.keys(e.editions))if(t.toLowerCase()===o)return t;if(e.variations){for(let[t,n]of Object.entries(e.variations))if(t.toLowerCase()===o&&n)return n}}}function be(t){let{reporter:n,year:r,caseName:i,court:a,hasBlankPage:o}=t,s=.2,c=e.s()?.byAbbreviation.get(n.toLowerCase());return(c&&c.length>0||ge.has(n))&&(s+=.3),r!==void 0&&r<=he&&(s+=.2),i&&(s+=.15),a&&(s+=.1),s=Math.round(Math.min(s,1)*100)/100,o&&(s=Math.max(s,.5)),s}const xe=/^(\d+(?:-\d+)?)\s+([A-Za-z0-9.\s'&]+)\s+(?:\((\d+)\s+([A-Z][A-Za-z.]+)\)\s+)?(\d+-\d+|\d+|_{3,}|-{3,})(?=$|[\s.;,)\]])/d,Se=/^(\d+(?:-\d+)?)\s+([A-Za-z0-9.\s'&]+?)\s*,\s+(?:\((\d+)\s+([A-Z][A-Za-z.]+)\)\s+)?(\d+-\d+|\d+|_{3,}|-{3,})(?=$|[.;)\]])/d,Ce=/^[_-]{3,}$/,we=/,\s*(?:at\s+)?(\*?\d+(?:\s*-\s*\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:\s*[-–—]\s*\d+)?)?)/d,Te=/\(([^)]+)\)/,Ee=/^(?:(?:[,;]\s*(?:at\s+(?:(?:pp?\.|pages?)\s*)?)?|\s+at\s+(?:(?:pp?\.|pages?)\s*)?)\*?\d+(?:-\d+)?)*(?:\s+(?:n|note)\s*\.?\s*\d+)?\s*\(([^)]+)\)/,De=/^(?:\s+at\s+(?:(?:pp?\.|pages?)\s*)?|[,;]\s*(?:at\s+(?:(?:pp?\.|pages?)\s*)?)?)(\*?\d+(?:\s*[-–—~]\s*\*?\d+)?(?:(?:\s+|,\s+)(?:nn?|fns?|note)\s*\.?\s*\d+(?:\s*[-–—~]\s*\d+)?)?|¶¶?\s*\d+(?:\s*[-–—~]\s*\d+)?|paras?\.?\s*\d+(?:\s*[-–—~]\s*\d+)?|(?:nn?|fns?|note)\s*\.?\s*\d+(?:\s*[-–—~]\s*\d+)?)(?=$|[.,:;)([\]»"'“”‘’†‡§¶©°]|\s(?![A-Z]))/d,Oe=/\d\.\s+/g,ke=/[\s,]/,Ae=/^,\s*(\*?\d+(?:[-–—~]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—~]\d+)?)?)(?=$|[.,:;)([\]»"'“”‘’†‡§¶©°]|\s(?![A-Z]))/,je=/^(?:,\s*(?:(?:at\s+(?:(?:pp?\.|pages?)\s*)?)?\*?\d+(?:[-–—~]\*?\d+)?(?:\s+(?:n|note)\s*\.?\s*\d+)?|(?:at\s+)?(?:¶¶?|paras?\.?)\s*\d+(?:[-–—~]\d+)?))+/,Me=[[/^aff'?d\s+on\s+other\s+grounds\b/i,`affirmed`],[/^affirmed\s+on\s+other\s+grounds\b/i,`affirmed`],[/^aff'?d\b/i,`affirmed`],[/^affirmed\b/i,`affirmed`],[/^rev'?d\s+and\s+remanded\b/i,`reversed`],[/^rev'?d\s+on\s+other\s+grounds\b/i,`reversed`],[/^reversed\s+and\s+remanded\b/i,`reversed`],[/^rev'?d\b/i,`reversed`],[/^reversed\b/i,`reversed`],[/^certiorari\s+denied\b/i,`cert_denied`],[/^cert\.\s*den(ied|\.)(?=[\s,;(\[]|$)/i,`cert_denied`],[/^certiorari\s+granted\b/i,`cert_granted`],[/^cert\.\s*granted\b/i,`cert_granted`],[/^overruled\s+by\b/i,`overruled`],[/^overruled\s+in\b/i,`overruled`],[/^overruling\b/i,`overruled`],[/^overruled\b/i,`overruled`],[/^vacated\s+by\b/i,`vacated`],[/^vacated\b/i,`vacated`],[/^remanded\s+for\s+reconsideration\b/i,`remanded`],[/^remanded\b/i,`remanded`],[/^modified\s+by\b/i,`modified`],[/^modified\b/i,`modified`],[/^abrogated\s+by\b/i,`abrogated`],[/^abrogated\s+in\b/i,`abrogated`],[/^abrogated\b/i,`abrogated`],[/^superseded\s+by\s+grant\s+of\s+review\b/i,`superseded_by_grant_of_review`],[/^superseded\s+by\b/i,`superseded`],[/^superseded\b/i,`superseded`],[/^disapproved\s+on\s+other\s+grounds\b/i,`disapproved_other_grounds`],[/^disapproved\s+of\b/i,`disapproved`],[/^disapproved\b/i,`disapproved`],[/^questioned\s+by\b/i,`questioned`],[/^questioned\b/i,`questioned`],[/^distinguished\s+by\b/i,`distinguished`],[/^distinguished\b/i,`distinguished`],[/^withdrawn\b/i,`withdrawn`],[/^reinstated\b/i,`reinstated`],[/^reh'?g\s+denied\b/i,`rehearing_denied`],[/^rehearing\s+denied\b/i,`rehearing_denied`],[/^reh'?g\s+granted\b/i,`rehearing_granted`],[/^rehearing\s+granted\b/i,`rehearing_granted`],[/^writ\s+ref'?d\s+n\.r\.e\./i,`writ_refused`],[/^writ\s+ref'?d\s+w\.m\.j\./i,`writ_refused`],[/^writ\s+ref'?d\b/i,`writ_refused`],[/^writ\s+dism'?d\s+w\.o\.j\./i,`writ_dismissed`],[/^writ\s+dism'?d\b/i,`writ_dismissed`],[/^writ\s+denied\b/i,`writ_denied`],[/^writ\s+granted\b/i,`writ_granted`],[/^no\s+writ\b/i,`no_writ`],[/^pet\.\s+ref'?d\b/i,`pet_refused`],[/^pet\.\s+denied\b/i,`pet_denied`],[/^pet\.\s+dism'?d\b/i,`pet_dismissed`],[/^pet\.\s+granted\b/i,`pet_granted`],[/^pet\.\s+filed\b/i,`pet_filed`],[/^no\s+pet\.\s+h\./i,`no_pet`],[/^no\s+pet\./i,`no_pet`],[/^review\s+den(?:ied|\.)/i,`review_denied`],[/^review\s+granted\b/i,`review_granted`],[/^opinion\s+vacated\b/i,`opinion_vacated`],[/^petition\s+for\s+review\s+filed\b/i,`petition_for_review_filed`],[/^petition\s+for\s+review\s+granted\b/i,`petition_for_review_granted`],[/^petition\s+for\s+review\s+denied\b/i,`petition_for_review_denied`],[/^as\s+modified\s+on\s+denial\s+of\s+rehearing\b/i,`modified_on_denial_of_rehearing`],[/^ordered\s+not\s+pub\.?/i,`not_published`],[/^not\s+for\s+publication\b/i,`not_published`],[/^nonpubl?\.?\s+opn\.?/i,`not_published`]];function Ne(e){for(let[t,n]of Me){let r=t.exec(e);if(r)return{signal:n,matchLength:r[0].length}}}const Pe=new Set([`holding`,`finding`,`stating`,`noting`,`explaining`,`quoting`,`citing`,`discussing`,`describing`,`recognizing`,`applying`,`rejecting`,`adopting`,`requiring`]);function Fe(e){return Pe.has(e)}const Ie=/^([a-z]+)\b/i;function Le(e){let t=0;for(let n of e)n===`(`?t++:n===`)`&&t--;if(t>0)return!0;let n=Ie.exec(e);return!!(n&&Fe(n[1].toLowerCase())||/\(\d{4}\)/.test(e))}const Re=/((?:\d[\d-]*(?:st|nd|rd|th)?\s+)?[A-ZÀ-Þ][A-Za-z0-9À-ſ\s.,:'&()/-]+?)\s+v(?:s)?\.?\s+([A-Za-z0-9À-ſ\s.,:'&()/-]+?)\s*(?:,|\((?:([^)]*?\.[^)]*?)\s+)?(\d{4})\))\s*$/d,ze=/\b(In\s+the\s+Matter\s+of\s+the\s+Liquidation\s+of|In\s+the\s+Matter\s+of\s+the\s+Rehabilitation\s+of|In\s+the\s+Matter\s+of\s+the\s+Receivership\s+of|In\s+the\s+Matter\s+of\s+the\s+Extradition\s+of|In\s+the\s+Matter\s+of\s+the\s+Application\s+of|In\s+the\s+Matter\s+of\s+the\s+Welfare\s+of|In\s+the\s+Matter\s+of|In\s+re\s+Petition\s+for\s+Naturalization\s+of|In\s+re\s+Termination\s+of\s+Parental\s+Rights\s+as\s+to|In\s+re\s+Termination\s+of\s+Parental\s+Rights\s+to|In\s+re\s+Termination\s+of\s+Parental\s+Rights\s+of|In\s+re\s+Marriage\s+of|In\s+re\s+Liquidation\s+of|In\s+re\s+Rehabilitation\s+of|In\s+re\s+Receivership\s+of|In\s+re\s+Naturalization\s+of|In\s+re\s+Extradition\s+of|In\s+re\s+Application\s+of|In\s+re\s+Welfare\s+of|In\s+re\s+Dependency\s+of|In\s+re\s+Paternity\s+of|In\s+re\s+Parentage\s+of|In\s+re\s+Conservatorship\s+of|In\s+re\s+Guardianship\s+of|In\s+re\s+Adoption\s+of|In\s+the\s+Interest\s+of|Matter\s+of\s+Liquidation\s+of|Matter\s+of\s+Rehabilitation\s+of|Commonwealth\s+of\s+Puerto\s+Rico\s+ex\s+rel\.|Government\s+of\s+the\s+Virgin\s+Islands\s+ex\s+rel\.|Commonwealth\s+ex\s+rel\.|Petition\s+for\s+Naturalization\s+of|People\s+ex\s+rel\.|District\s+of\s+Columbia\s+ex\s+rel\.|Conservatorship\s+of\s+the\s+Person\s+and\s+Estate\s+of|Conservatorship\s+of\s+the\s+Person\s+of|Conservatorship\s+of\s+the\s+Estate\s+of|Inquiry\s+Concerning\s+Judge|Appeal\s+of|Care\s+and\s+Protection\s+of|Succession\s+of|In re|Ex parte|Matter of|Estate of|State ex rel\.|United States ex rel\.|Application of|On Petition of|Petition of|Adoption of|Conservatorship of|Guardianship of)\s+([A-Za-z0-9\s.,'&()/-]+?)\s*(?:,|\((?:([^)]*?\.[^)]*?)\s+)?(\d{4})\))\s*$/di,Be=new Set([`of`,`the`,`and`,`for`,`on`,`by`,`a`,`an`,`to`,`at`,`as`,`de`,`la`,`el`,`del`,`von`,`van`,`ex`,`rel`,`et`,`al`,`d`,`or`]),Ve=/\b(?:d\/?b\/?a|a\/?k\/?a|f\/?k\/?a|n\/?k\/?a)\b/i;function He(e){let t=e.split(/\s+/),n=(t[0]??``).toLowerCase().replace(/[.,']+$/,``);if(Ue.has(n))return!1;for(let e of t){if(!e||e===`&`)continue;let t=e.toLowerCase().replace(/[.,']+$/,``);if(!Be.has(t)&&!/^[A-Z]/.test(e)&&!/^\d/.test(e))return!1}return!0}const Ue=new Set(`this.that.these.those.here.there.such.its.his.her.their.our.under.invoking.citing.following.unlike.whereas.pursuant.applying.rather.moreover.furthermore.however.nevertheless.accordingly.consequently.instead.meanwhile.indeed.thus.hence`.split(`.`));function We(e){if(/^(?:Vol\.?|vol\.?|p\.?|pp\.?|at|n\.?|note)\s+\d/i.test(e))return;let t=e.replace(/\s*\([^()]*\)\s*$/,``).trim().replace(/\s*\d{1,2}[/-]\d{1,2}[/-]\d{4}\s*$/,``).replace(/\s*\d{4}[/-]\d{1,2}[/-]\d{1,2}\s*$/,``).trim();if(t=t.replace(/\s*\d{4}(?:\s+|,\s+)(?:mem\.?|unpub\.?|unpublished|per\s+curiam|en\s+banc|slip\s+op\.?|table|supp\.?)\s*$/i,``).trim(),t=t.replace(/\s*\d{4}\s*$/,``).trim(),t=t.replace(/\s*,?\s*\d{1,2}\s*,?\s*$/,``).trim(),t=t.replace(RegExp(`\\s*${de.source}\\s*$`,`i`),``).trim(),t=me(t).trim(),t=t.replace(/,\s*$/,``).trim(),!(!t||!/[A-Za-z]/.test(t))&&!/^["'“”‘’]/.test(t)&&!/(?:[a-z][a-z\d+.-]*:\/\/|file:\/\/\/)/i.test(t)&&!/^(?:dis|conc|concurring|dissenting)\.\s*opn\./i.test(t)&&!/,\s+J\.?J?\.?\s*$|,\s+JJ\.?\s*$/.test(t)&&!/,\s+J\.?J?\.?,\s+(?:dissenting|concurring|joining)/i.test(t)&&!/^(?:(?:now|previously|formerly|since)\s+)?(?:rev'd|aff'd|aff'g|rev'g|mod'd|cert\.?\s+(?:denied|granted|dismissed)|appeal\s+(?:denied|dismissed|docketed)|dismissed|reversed|vacated|vacating|overruled(?:\s+by)?|overruling|en\s+banc|per\s+curiam)(?:\s+(?:in\s+part|on\s+other\s+grounds?|sub\s+nom\.?))?\s*$/i.test(t)&&!/^(?:n\.?\s*d\.?|no\s+date|year\s+omitted|unpub\.?|unpublished|slip\s+op(?:\.|inion)?|table|mem\.?)\s*$/i.test(t)&&!/^(?:filed|decided|argued|submitted|heard|effective|entered)\b/i.test(t)&&!/^(?:c\.|circa|about|approx\.?|approximately|cir\.)\s*$/i.test(t)){if(!t.includes(`.`)){let e=t.match(/^[a-z]+/i)?.[0].toLowerCase();if(e&&(Pe.has(e)||e===`additional`||e===`emphasis`||e===`internal`||e===`citations`||e===`footnote`||e===`alteration`||e===`alterations`||e===`omitted`||e===`see`))return;let n=t.split(/\s+/);if(n.length>=3&&n.every(e=>/^[a-z]/.test(e)))return;let r=n.some(e=>/^\d+(st|nd|rd|th|d)$/i.test(e)),i=n.every(e=>/^[A-Z]/.test(e));if(!r&&i)return}return t}}const Ge=new Set(`acad.acct.accts.admin.adm.advert.advoc.aff.affs.afr.agric.all.alt.am.ann.app.arb.assoc.assocs.atl.auth.auto.ave.bankr.behav.bd.bor.brit.broad.bhd.bros.bldg.bull.bus.can.cap.cas.cath.ctr.ctrs.cent.chem.child.chron.coal.coll.com.comm.compar.comp.comput.condo.conf.cong.consol.const.constr.cont.coop.corp.corps.corr.cosm.couns.cntys.cnty.crim.def.delinq.det.dev.dig.dir.disc.disp.distrib.dist.div.econ.educ.elec.emp.eng.enter.enters.ent.equal.equip.est.eur.exam.exch.exec.expl.exp.fac.fam.fams.fed.fid.fin.found.gen.glob.grp.guar.hist.hosp.hous.hum.immigr.imp.inc.indem.indep.indus.info.inj.inst.ins.intell.intel.int.inv.invs.jurid.just.juv.lab.law.liab.ltd.loc.mach.mag.maint.mgmt.mgt.mfr.mfrs.mfg.mar.mkt.mktg.matrim.mech.med.merch.metro.min.misc.mod.mortg.mun.mut.nat.negl.negot.nw.no.nos.off.org.orgs.pac.pat.pers.pharm.phil.plan.pol.prac.pres.priv.prob.proc.prod.pro.prop.psych.pub.rec.reg.regul.rehab.rel.rels.rep.reprod.rsch.rsrv.resol.res.resp.rest.ret.rd.sav.sch.schs.sci.sec.serv.servs.sess.soc.solic.spec.stat.subcomm.sur.surv.sys.tchr.tech.telecomm.tel.temp.twp.transcon.transp.treas.tr.trs.tpk.unemplmt.unif.univ.urb.util.veh.vehs.vill.voc.whse.whol.litig.n.s.e.w.m.ne.se.sw.is.mt.ft.pt.rt.st.blvd.sq.hwy.pkwy.hts.v.vs.ct.cir.supp.cl.jud.super.sup.magis.mil.terr.ala.ariz.ark.cal.colo.conn.del.fla.ga.haw.ida.ill.ind.kan.ky.la.me.md.mass.mich.minn.miss.mo.mont.neb.nev.okla.or.pa.tenn.tex.vt.va.wash.wis.wyo.mr.mrs.ms.dr.jr.sr.prof.rev.hon.sgt.capt.col.lt.ed.op.ad.dep.ass.ry.co.cmty.cty.envtl.gend.par.prot.ref.sol.adver.admr.admx.assn.commcn.commn.commr.contl.dept.empr.empt.engg.engr.entmt.envt.examr.exr.exx.fedn.govt.intl.invr.meml.natl.profl.pship.publg.publn.regl.secy.sholder.socy.tp.vil.taxn.enft.rts.atty.attys.petr.respt.commrs.hldgs.hldg.props.prods.ents.invests.scis.emps.sols.corrs.telecomms.examrs.cmtys.colls.cts.amends.civ.enf.advis.utils.lic.bur.insp.conserv.retire.discipl.supers.edn.coun.stds.procs.quals.boro.commw.adv.comn.irrig.reclam.rptr.vet.trib.adj.vol.pty.poly.stud.libr.refin.socio.laby.naty.wkly.appx.comr.comrs.reins`.split(`.`));function Ke(e,t){let n=t;for(;n>0&&/[-A-Za-z.']/.test(e[n-1]);)n--;let r=e.substring(n,t);if(!r)return!1;let i=r.replace(/['.]/g,``).toLowerCase();return!!(Ge.has(i)||i.length===1&&/[a-z]/i.test(i)||/\.[A-Za-z]/.test(r))}const qe=/\bId\.\s+/g,Je=/\(\s*(?:quoting|citing|cited\s+in|quoted\s+in|accord|discussing|noting|explaining|describing|recognizing|applying|rejecting|adopting|requiring|overruling|overruled\s+by|abrogated\s+by)(?:,\s*e\.g\.,?)?\s+/gi,Ye=/[.)]\s+(?=[A-Z(])/g,Xe=/\b\d{4}\)\s*(?:,\s*(?:and|or|see(?:\s+also)?|but\s+see|e\.g\.)|;)\s+/g,Ze=/,?\s*(\d{2,4}-[A-Z\d-]+)(?:,\s*p\.\s*\d+)?\s*\((La\.[^)]*?)\s+(\d{1,2}\/\d{1,2}\/\d{2,4})\),\s*/g;function Qe(e){if(e.indexOf(`(`)===-1)return-1;for(let t=e.length-1;t>=0;t--){if(e[t]!==`(`)continue;let n=e.substring(t+1);if(!/^\s*[A-Z]/.test(n)||!(/\s+vs?\.?\s+[A-Z]/.test(n)||/^\s*(?:In\s+re|Ex\s+parte|Matter\s+of|Estate\s+of|State\s+ex\s+rel\.|United\s+States\s+ex\s+rel\.|People\s+ex\s+rel\.)\b/.test(n)))continue;let r=e.substring(0,t);if(!/[A-Z][A-Za-z0-9.'&\-/]+(?:\s+[A-Z][A-Za-z0-9.'&\-/]+)*\s+vs?\.?\s+[A-Z]/.test(r))return t+1}return-1}function $e(e,t,n=150,r){let i=Math.max(0,t-n),a=e.substring(i,t),o=i,s=-1,c;if(r?.originalText&&r.transformationMap){let{originalText:e,transformationMap:n}=r,a=n.cleanToOriginal.get(i)??i,o=n.cleanToOriginal.get(t)??t;if(o>a){let r=e.substring(a,o),c=/\n[ \t\r]*\n/g,l;for(;(l=c.exec(r))!==null;){let e=a+l.index+l[0].length,r;for(let t=0;t<10&&(r=n.originalToClean.get(e+t),r===void 0);t++);if(r!==void 0&&r>=i&&r<=t){let e=r-i;e>s&&(s=e)}}}}for(Oe.lastIndex=0;(c=Oe.exec(a))!==null;){let e=c.index+c[0].length;e>s&&(s=e)}for(qe.lastIndex=0;(c=qe.exec(a))!==null;){let e=c.index+c[0].length;e>s&&(s=e)}for(Je.lastIndex=0;(c=Je.exec(a))!==null;){let e=c.index+c[0].length;e>s&&(s=e)}for(Xe.lastIndex=0;(c=Xe.exec(a))!==null;){let e=c.index+c[0].length;e>s&&(s=e)}let l;Ze.lastIndex=0;let u=Ze.exec(a);if(u){let e=u[3],t=z(e);t&&(l={court:u[2].trim(),year:t.parsed.year,date:t}),a=a.substring(0,u.index)+`, `+a.substring(u.index+u[0].length)}for(Ye.lastIndex=0;(c=Ye.exec(a))!==null;){if(a[c.index]===`.`&&Ke(a,c.index))continue;let e=c.index+c[0].length;e>s&&(s=e)}s!==-1&&(a=a.substring(s),o=i+s),a=a.replace(/\(\s*$/,``);let d=Qe(a);d!==-1&&(a=a.substring(d),o+=d),a=a.replace(/^\s*["“”]/,``),a=a.replace(/["“”](\s*,?\s*)$/,`$1`);let f=Re.exec(a);if(f&&!f[0].includes(`;`)){let e=f[1].trim(),t=0;if(!He(e)){let n=e.split(/\s+/),r=n[0]??``,i=r.toLowerCase().replace(/[.,']+$/,``);if(!(/^[A-Z]/.test(r)&&!Be.has(i)&&!Ue.has(i)&&Ve.test(e))&&!le.exec(e))for(let r=1;r<n.length;r++){let i=n.slice(r).join(` `);if(/^[A-Z]/.test(i)&&He(i)){t=n.slice(0,r).join(` `).length+1,e=i;let a=/^([A-Z])\.\s+([A-Z][a-zA-Z'-]+)/.exec(e);if(a){let i=n[r-1]?.toLowerCase().replace(/[.,]+$/,``);if(i&&/^[a-z]{4,}$/.test(i)){let n=a[0].length-a[2].length;e=`${a[2]}${e.slice(a[0].length)}`,t+=n}}break}}}let n=f[0].match(/\bv(?:s)?\.\s/g),r=f[2].trim();if(n&&n.length>=2){let e=/\s(?:Is|Are|Was|Were)\s/.exec(r);if(e)r=r.substring(0,e.index).trim();else{let e=0;for(;e<f[2].length;){let t=f[2].indexOf(`,`,e);if(t===-1)break;let n=f[2].substring(t+1).trimStart();if(/^(?:Inc|LLC|Corp|Ltd|Co|LLP|LP|P\.?C|N\.?A|S\.?A|GmbH|S\.?p\.?A)\.?(?:\b|$)/.test(n)){e=t+1;continue}r=f[2].substring(0,t).trim();break}}}let i=/\bvs?\.?(?=\s)/.exec(f[0])?.[0]??`v.`,a=`${e} ${i} ${r}`,s=o+f.index+t,c=f[3]?.trim(),u=f[4]?Number.parseInt(f[4],10):void 0,d=u!==void 0&&P(u)?u:void 0,p,m;d!==void 0&&f.indices?.[4]&&(p=o+f.indices[4][0],m=o+f.indices[4][1]);let h=l;return!h&&c&&d!==void 0&&f[4]&&(h={court:c,year:d,date:{iso:f[4],parsed:{year:d}}}),{caseName:a,nameStart:s,year:d,yearStart:p,yearEnd:m,precedingDocketMeta:h}}let p=ze.exec(a);if(p&&!p[0].includes(`;`)){let e=`${p[1]} ${p[2].trim()}`,t=o+p.index,n=p[3]?.trim(),r=p[4]?Number.parseInt(p[4],10):void 0,i=r!==void 0&&P(r)?r:void 0,a,s;i!==void 0&&p.indices?.[4]&&(a=o+p.indices[4][0],s=o+p.indices[4][1]);let c=l;return!c&&n&&i!==void 0&&p[4]&&(c={court:n,year:i,date:{iso:p[4],parsed:{year:i}}}),{caseName:e,nameStart:t,year:i,yearStart:a,yearEnd:s,precedingDocketMeta:c}}let m=a.replace(/,\s*$/,``),h=m.length-m.trimStart().length,g=m.substring(h),_=0,v=le.exec(g);v&&(_=v[0].length,g=g.substring(_));let y=g.trim();if(y.length>0&&He(y)){let e=(y.split(/\s+/)[0]??``).toLowerCase().replace(/[.,']+$/,``);if(!Ue.has(e)&&!y.includes(`;`)&&!et(y))return{caseName:y,nameStart:o+h+_,precedingDocketMeta:l}}}function et(e){let t=e.trim().toLowerCase().replace(/\.$/,``);return t===`id`||t===`ibid`||t===`supra`}function tt(e,t,n=2e3){let r=[],i=[],a=t,o=Math.min(e.length,t+n),s=Math.min(e.length,t+1e4),c,l=e.substring(a,o),u=je.exec(l);for(u&&(a+=u[0].length);a<o;){for(;a<o&&ke.test(e[a]);)a++;if(a>=o||e[a]!==`(`){let t=e.substring(a,o),n=Ne(t);if(n){c&&i.push({signal:c,nextParenIndex:-1}),c={text:t.substring(0,n.matchLength).replace(/\s+$/,``),normalized:n.signal,start:a,end:a+n.matchLength},a+=n.matchLength;continue}break}let t=a,n=0,l=a+1;for(;a<s;){let o=e[a];if(o===`(`)n++;else if(o===`)`&&(n--,n===0)){a++;let n=e.substring(l,a-1).trim();n.length>0&&(r.push({text:n,start:t,end:a}),c&&=(i.push({signal:c,nextParenIndex:r.length-1}),void 0));break}a++}if(n>0)break}return c&&i.push({signal:c,nextParenIndex:-1}),{parens:r,signals:i}}function q(e){let t={},n=z(e);n&&(t.date=n,t.year=n.parsed.year);let r=e;if(t.year){let n=String(t.year),i=e.lastIndexOf(n);if(i!==-1){let a=i+n.length,o=e.substring(a),s=/^\s*,\s*(.+?)\s*$/.exec(o);if(s){let n=s[1],i=Ne(n);if(i){let o=n.substring(0,i.matchLength),s=e.indexOf(o,a);t.internalHistory={signal:i.signal,rawSignal:o,start:s===-1?a:s,end:(s===-1?a:s)+o.length},r=e.substring(0,a)}}}}let i=We(r);if(i){t.court=i;let n=e.indexOf(i);n!==-1&&(t.courtStart=n,t.courtEnd=n+i.length)}if(t.year){let n=String(t.year),r=e.lastIndexOf(n);r!==-1&&(t.yearStart=r,t.yearEnd=r+n.length)}let a=/^(?<surnames>[A-Z][a-z]+(?:(?:,\s+|\s+and\s+)[A-Z][a-z]+)*)\s*,?\s*(?<title>C\.J\.|J\.|JJ\.)\s*,?\s*(?<role>.+)$/.exec(e.trim());if(a?.groups){let e=a.groups.surnames,n=a.groups.role.trim().replace(/[.,]+$/,``);t.justices=e.split(/(?:,\s+and\s+|,\s+|\s+and\s+)/).map(e=>e.trim()).filter(Boolean);let r=n.toLowerCase();return/^concurring\s+in\s+part\s+and\s+dissenting\s+in\s+part/.test(r)?(t.disposition=`mixed`,t.scope=`in_part`):/^concurring\s+in\s+the\s+judgment/.test(r)?(t.disposition=`concurrence`,t.scope=`in_judgment`):/^concurring\s+in\s+part/.test(r)?(t.disposition=`concurrence`,t.scope=`in_part`):/^dissenting\s+in\s+part/.test(r)?(t.disposition=`dissent`,t.scope=`in_part`):/^dissenting\s+from\s+denial\s+of/.test(r)?(t.disposition=`dissent`,t.scope=`from_denial`):/^concurring/.test(r)?t.disposition=`concurrence`:/^dissenting/.test(r)?t.disposition=`dissent`:/^joining/.test(r)&&(t.disposition=`majority`),t}return/^plurality\s+opinion\b/i.test(e.trim())?(t.disposition=`plurality opinion`,J(t,`plurality opinion`),t):/^mem\.\s*$/i.test(e.trim())?(t.disposition=`mem.`,J(t,`mem.`),t):/^unpublished\s+table\s+decision\b/i.test(e.trim())?(t.disposition=`unpublished table decision`,J(t,`unpublished table decision`),t):(/\ben banc\b\s*$/i.test(e.trim())?(t.disposition=`en banc`,J(t,`en banc`)):/\bin bank\b\s*$/i.test(e.trim())?(t.disposition=`in bank`,J(t,`in bank`)):/\bper curiam\b\s*$/i.test(e.trim())&&(t.disposition=`per curiam`,J(t,`per curiam`)),t)}function J(e,t){e.court&&e.court.trim().toLowerCase()===t.toLowerCase()&&(e.court=void 0,e.courtStart=void 0,e.courtEnd=void 0)}function nt(e){let t=Ie.exec(e);if(t){let n=t[1].toLowerCase();if(Fe(n))return{kind:`explanatory`,text:e,type:n}}if(Le(e))return{kind:`explanatory`,text:e,type:`other`};let n=q(e);return n.year||n.date||n.disposition||n.justices?{kind:`metadata`,...n}:{kind:`explanatory`,text:e,type:`other`}}function Y(e){let t=e;t=t.replace(/\bet\s+al\.?/gi,``),t=t.replace(/\s+(?:d\/b\/a|[fna]\/k\/a)\b.*/gi,``),t=t.replace(/\s+aka\b.*/gi,``);let n=``;for(;n!==t;)n=t,t=t.replace(/,?\s*(Inc|LLC|Corp|Ltd|Co|LLP|LP|P\.C)\.?$/gi,``);return t=t.replace(/^(The|A|An)\s+/i,``),t=t.replace(/\s+/g,` `),t.trim().toLowerCase()}function rt(e){let t;for(let t of`In the Matter of the Liquidation of,In the Matter of the Rehabilitation of,In the Matter of the Receivership of,In the Matter of the Extradition of,In the Matter of the Application of,In the Matter of the Welfare of,In the Matter of,In re Petition for Naturalization of,In re Termination of Parental Rights as to,In re Termination of Parental Rights to,In re Termination of Parental Rights of,In re Marriage of,In re Liquidation of,In re Rehabilitation of,In re Receivership of,In re Naturalization of,In re Extradition of,In re Application of,In re Welfare of,In re Dependency of,In re Paternity of,In re Parentage of,In re Conservatorship of,In re Guardianship of,In re Adoption of,In the Interest of,In re,Ex parte,Matter of Liquidation of,Matter of Rehabilitation of,Matter of,Commonwealth of Puerto Rico ex rel.,Government of the Virgin Islands ex rel.,Commonwealth ex rel.,State ex rel.,United States ex rel.,People ex rel.,District of Columbia ex rel.,Petition for Naturalization of,Application of,On Petition of,Petition of,Adoption of,Conservatorship of the Person and Estate of,Conservatorship of the Person of,Conservatorship of the Estate of,Conservatorship of,Guardianship of,Estate of,Care and Protection of,Succession of,Inquiry Concerning Judge,Appeal of`.split(`,`)){let n=RegExp(`^(${t})\\s+(.+)$`,`i`).exec(e);if(n){let t=n[1],r=n[2];if(/\s+vs?\.?\s+/i.test(r)){let t=/^(.+?)\s+vs?\.?\s+(.+)$/i.exec(e);if(t){let e=t[1].trim(),n=t[2].trim();return{plaintiff:e,plaintiffNormalized:Y(e),defendant:n,defendantNormalized:Y(n)}}}else return{plaintiff:e,plaintiffNormalized:Y(r),proceduralPrefix:t}}}let n=/^(.+?)\s+vs?\.?\s+(.+)$/i.exec(e);if(n){let e=n[1].trim(),r=n[2].trim(),i,a=/\s*\(\s*(In\s+re\s+[^)]+?)\s*\)\s*$/i.exec(r);a&&(i=a[1],r=r.substring(0,a.index).trim());let o=e.match(le)??e.match(/^(Also|In(?!\s+re\b))\s+/i);if(o){let n=e.substring(o[0].length).trimStart()[0]??``;if(n>=`A`&&n<=`Z`){let n=o[1].toLowerCase();if(K.has(n))t=n;else{let e=n.replace(/\.$/,``);K.has(e)&&(t=e)}e=e.substring(o[0].length).trim()}}return{plaintiff:e||n[1].trim(),plaintiffNormalized:Y(e||n[1].trim()),defendant:r,defendantNormalized:Y(r),signal:t,...i?{adminParenthetical:i}:{}}}return{}}function it(e,t,n,r,i){let{text:a,span:c}=e,l=xe.exec(a)??Se.exec(a);if(!l)throw Error(`Failed to parse case citation: ${a}`);let u=ue(l[1]),d=l[2].trim(),f=l[3]?Number.parseInt(l[3],10):void 0,p=l[4]||void 0,m=l[5],h=Ce.test(m),g=h?void 0:Number.parseInt(m,10),_=h?!0:void 0,v=we.exec(a),y=v?G(v[1])??void 0:void 0,b=y?.page,x={};if(l.indices){if(l.indices[1]&&(x.volume=o(c.cleanStart,l.indices[1],t)),l.indices[2]){let[e,n]=l.indices[2],r=a.substring(e,n),i=r.length-r.trimStart().length,s=r.length-r.trimEnd().length;x.reporter=o(c.cleanStart,[e+i,n-s],t)}l.indices[5]&&(x.page=o(c.cleanStart,l.indices[5],t))}v?.indices?.[1]&&(x.pincite=o(c.cleanStart,v.indices[1],t));let S,C,w,T,E,D,O,k,A,j,M=Te.exec(a);M&&!f&&!Le(M[1])&&(A=M[1],j=q(A),S=j.year,C=j.court,w=j.date,T=j.disposition,E=j.justices,D=j.scope);let ee=!1;if(n){let e=n.substring(c.cleanEnd);/^\s*(?:\(U\)|\[U\])/.test(e)&&(ee=!0)}let N=c.cleanEnd;if(n&&i&&i.length>0){let e=/^[\s,;\d\-–—]*$/;for(;;){let t=i.find(t=>t.cleanStart>N&&e.test(n.substring(N,t.cleanStart)));if(!t)break;N=t.cleanEnd}}if(n&&!A){let e=n.substring(c.cleanEnd),r=N===c.cleanEnd?e:n.substring(N),i=/^\s*(?:\(U\)|\[U\])/.exec(r);i&&(r=r.substring(i[0].length));let a=/^\s*[)\]]/.exec(r);a&&(r=r.substring(a[0].length));let s=Ee.exec(r);if(s&&!Le(s[1])&&(A=s[1],j=q(A),S=j.year,C=j.court,w=j.date,T=j.disposition,E=j.justices,D=j.scope),b===void 0){let n=De.exec(e);if(n&&(y||=G(n[1])??void 0,b=y?.page,n.indices?.[1]&&(x.pincite=o(c.cleanEnd,n.indices[1],t)),y)){let t=[],r=(n.index??0)+n[0].length;for(;r<e.length;){let n=e.substring(r),i=Ae.exec(n);if(!i)break;let a=G(i[1]);if(!a)break;t.push(a),r+=i[0].length}t.length>0&&(y={...y,additionalPincites:t})}}}let te,P,F;if(n){F=tt(n,N),P=F.parens;let e=A&&(S!==void 0||C!==void 0||T!==void 0||E!==void 0||D!==void 0)?P.slice(1):P;for(let n of e){let e=nt(n.text);if(e.kind===`metadata`)e.court&&(!C||C===T)&&(C=e.court),e.year&&!S&&(S=e.year,w=e.date),e.disposition&&!T&&(T=e.disposition),e.justices&&!E&&(E=e.justices),e.scope&&!D&&(D=e.scope);else{te??=[];let r=s({cleanStart:n.start,cleanEnd:n.end},t);te.push({text:e.text,type:e.type,span:{cleanStart:n.start,cleanEnd:n.end,originalStart:r.originalStart,originalEnd:r.originalEnd}})}}}if(P&&P.length>0&&(C||S)){let e=A?P[0]:void 0;if(e){let n=s({cleanStart:e.start,cleanEnd:e.end},t);if(x.metadataParenthetical={cleanStart:e.start,cleanEnd:e.end,originalStart:n.originalStart,originalEnd:n.originalEnd},j){let n=e.start+1;if(j.courtStart!==void 0){let e=n+j.courtStart,r=n+j.courtEnd,i=s({cleanStart:e,cleanEnd:r},t);x.court={cleanStart:e,cleanEnd:r,originalStart:i.originalStart,originalEnd:i.originalEnd}}if(j.yearStart!==void 0){let e=n+j.yearStart,r=n+j.yearEnd,i=s({cleanStart:e,cleanEnd:r},t);x.year={cleanStart:e,cleanEnd:r,originalStart:i.originalStart,originalEnd:i.originalEnd}}}}}let I;if(n&&j?.internalHistory&&P&&P.length>0){let e=A?P[0]:void 0;if(e){let n=e.start+1,r=j.internalHistory,i=n+r.start,a=n+r.end,{originalStart:o,originalEnd:c}=s({cleanStart:i,cleanEnd:a},t);I??=[],I.push({signal:r.signal,rawSignal:r.rawSignal,signalSpan:{cleanStart:i,cleanEnd:a,originalStart:o,originalEnd:c},order:0})}}if(n&&F&&F.signals.length>0)for(let e=0;e<F.signals.length;e++){let{signal:n}=F.signals[e];I??=[];let{originalStart:r,originalEnd:i}=s({cleanStart:n.start,cleanEnd:n.end},t);I.push({signal:n.normalized,rawSignal:n.text,signalSpan:{cleanStart:n.start,cleanEnd:n.end,originalStart:r,originalEnd:i},order:I.length})}let L=re(d);!C&&L?.level===`supreme`&&L?.jurisdiction===`federal`&&(C=`scotus`);let R;if(i&&i.length>0){let e=i.filter(e=>e.cleanEnd<=c.cleanStart).reduce((e,t)=>!e||t.cleanEnd>e.cleanEnd?t:e,void 0);e&&(R=c.cleanStart-e.cleanEnd)}let z;if(n&&(z=$e(n,c.cleanStart,R,{originalText:r,transformationMap:t}),z)){O=z.caseName;let e;if(O){O=O.replace(/\s*\((?:[^()]*\s)?\d{4}\)\s*$/,``).trim(),O=O.replace(/,\s+\d+\s+[A-Z][A-Za-z.&'\d\s]*\d+\s*$/,``).trim(),O=O.replace(/,\s+\d{4}\s+[A-Z]+\s+\d+\s*$/,``).trim();let t=/,\s+\d{1,2}(?:st|nd|rd|th)?\s+(?:Cir|App|Ct|Dist|Cir\.\s+App)\.,\s+(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Sept|Oct|Nov|Dec)[a-z]*\.?\s+\d{1,2},\s+(\d{4})\s*$/,n=t.exec(O);if(n)e=Number.parseInt(n[1],10),O=O.replace(t,``).trim();else{let t=/,\s+((?:17|18|19|20)\d{2})\s*$/,n=t.exec(O);n&&(e=Number.parseInt(n[1],10),O=O.replace(t,``).trim())}}if(e!==void 0&&!S&&(S=e),z.year&&!S&&(S=z.year,z.yearStart!==void 0&&z.yearEnd!==void 0&&!x.year)){let e=s({cleanStart:z.yearStart,cleanEnd:z.yearEnd},t);x.year={cleanStart:z.yearStart,cleanEnd:z.yearEnd,originalStart:e.originalStart,originalEnd:e.originalEnd}}if(z.precedingDocketMeta){let e=z.precedingDocketMeta;S||=e.year,C||=e.court,w||=e.date}let n=P&&P.length>0?P[P.length-1].end:c.cleanEnd,r=z.nameStart,i=n;k={cleanStart:r,cleanEnd:i,originalStart:t.cleanToOriginal.get(r)??r,originalEnd:t.cleanToOriginal.get(i)??i};let a=z.nameStart,o=a+O.length,l=s({cleanStart:a,cleanEnd:o},t);x.caseName={cleanStart:a,cleanEnd:o,originalStart:l.originalStart,originalEnd:l.originalEnd}}if(!k&&R!==void 0&&R<30&&P&&P.length>0){let e=P[P.length-1];if(e.end>c.cleanEnd){let n=c.cleanStart,r=e.end;k={cleanStart:n,cleanEnd:r,originalStart:t.cleanToOriginal.get(n)??n,originalEnd:t.cleanToOriginal.get(r)??r}}}let B,V,H,U,ne,W,ie;if(O){let e=rt(O);if(B=e.plaintiff,V=e.plaintiffNormalized,H=e.defendant,U=e.defendantNormalized,ne=e.proceduralPrefix,ie=e.signal,W=e.adminParenthetical,B&&H){let e=W?` (${W})`:``,r=(O?/\s+(vs?\.?)\s+/.exec(O):null)?.[1]??`v.`,i=`${B} ${r} ${H}${e}`;if(i!==O&&k&&n){O=i;let e=n.substring(k.cleanStart,c.cleanStart),r=/\s+vs?\.?\s+/i.exec(e);if(r){let n=e.substring(0,r.index).lastIndexOf(B);if(n!==-1){let e=k.cleanStart+n,r=t.cleanToOriginal.get(e)??e;k={...k,cleanStart:e,originalStart:r}}}if(z){let e=k.cleanStart,n=e+O.length,r=s({cleanStart:e,cleanEnd:n},t);x.caseName={cleanStart:e,cleanEnd:n,originalStart:r.originalStart,originalEnd:r.originalEnd}}}}if(B&&z&&n){let e=k?.cleanStart??z.nameStart,r=n.substring(e,c.cleanStart),i=/\s+vs?\.?\s+/i.exec(r);if(i){let n=r.substring(0,i.index).lastIndexOf(B);if(n!==-1){let r=e+n,i=r+B.length,a=s({cleanStart:r,cleanEnd:i},t);x.plaintiff={cleanStart:r,cleanEnd:i,originalStart:a.originalStart,originalEnd:a.originalEnd}}if(H){let n=i.index+i[0].length,a=r.substring(n).indexOf(H);if(a!==-1){let r=e+n+a,i=r+H.length,o=s({cleanStart:r,cleanEnd:i},t);x.defendant={cleanStart:r,cleanEnd:i,originalStart:o.originalStart,originalEnd:o.originalEnd}}}}else{let n=r.indexOf(B);if(n!==-1){let r=e+n,i=r+B.length,a=s({cleanStart:r,cleanEnd:i},t);x.plaintiff={cleanStart:r,cleanEnd:i,originalStart:a.originalStart,originalEnd:a.originalEnd}}}}if(ie&&k&&n&&z){let e=n.substring(z.nameStart,c.cleanStart),r=le.exec(e);if(r){let e=z.nameStart,n=e+r[1].length,i=s({cleanStart:e,cleanEnd:n},t);x.signal={cleanStart:e,cleanEnd:n,originalStart:i.originalStart,originalEnd:i.originalEnd}}}}let{originalStart:ae,originalEnd:oe}=s(c,t),ce=be({reporter:d,year:S,caseName:O,court:C,hasBlankPage:_??!1}),K=ye(d,S);return{type:`case`,text:a,span:{cleanStart:c.cleanStart,cleanEnd:c.cleanEnd,originalStart:ae,originalEnd:oe},confidence:ce,matchedText:a,processTimeMs:0,patternsChecked:1,volume:u,reporter:d,...K===void 0?{}:{normalizedReporter:K},page:g,nominativeVolume:f,nominativeReporter:p,pincite:b,pinciteInfo:y,court:C,normalizedCourt:se(C),year:S,hasBlankPage:_,date:w,fullSpan:k,caseName:O,disposition:T,parentheticals:te,subsequentHistoryEntries:I,...ee?{unpublished:!0}:{},...E?{justices:E}:{},...D?{scope:D}:{},...W?{adminParenthetical:W}:{},plaintiff:B,plaintiffNormalized:V,defendant:H,defendantNormalized:U,proceduralPrefix:ne,inferredCourt:L,signal:ie,spans:x}}const X=String.raw`Twenty[-\s]Seventh|Twenty[-\s]Sixth|Twenty[-\s]Fifth|Twenty[-\s]Fourth|Twenty[-\s]Third|Twenty[-\s]Second|Twenty[-\s]First|Twentieth|Nineteenth|Eighteenth|Seventeenth|Sixteenth|Fifteenth|Fourteenth|Thirteenth|Twelfth|Eleventh|Tenth|Ninth|Eighth|Seventh|Sixth|Fifth|Fourth|Third|Second|First`,Z=String.raw`(?:1st|2nd|3rd|4th|5th|6th|7th|8th|9th|10th|11th|12th|13th|14th|15th|16th|17th|18th|19th|20th|21st|22nd|23rd|24th|25th|26th|27th)`,at=`(?:[IVX]+|\\d+|${Z}|${X})`,ot=`(?:(?:${String.raw`(?:arts?(?:icle)?\.?|amends?(?:ment)?\.?|amdts?\.?|Amendment)\s+(${at})`}|${`(${Z}|${X})\\s+(?:amend(?:ment)?\\.?|amdt\\.?|Amendment)`})${String.raw`(?:[,;]?\s*§\s*([\w-]+))?`}${String.raw`(?:[,;]?\s*cl\.?\s*(\d+))?`}|${String.raw`(?:[,;]?\s*(?:pmbl\.?|preamble)\b)`})`,st=new RegExp(ot,`id`),ct=[{id:`us-constitution`,regex:new RegExp(String.raw`\b(?:United\s+States\s+Constitution|U\.?\s*S\.?\s+Const\.?),?\s+${ot}`,`gi`),description:`U.S. Constitution citations (e.g., "U.S. Const. art. III, § 2", "U.S. Const. amend. XIV")`,type:`constitutional`},{id:`state-constitution`,regex:new RegExp(String.raw`\b(?:Ala|Alaska|Ariz|Ark|Cal(?:if)?|Colo|Conn|Del|Fla|Ga|Haw|Idaho|Ill|Ind|Iowa|Kan|Ky|La|Me|Md|Mass|Mich|Minn|Miss|Mo|Mont|Neb|Nev|N\.?\s*H|N\.?\s*J|N\.?\s*M|N\.?\s*Y|N\.?\s*C|N\.?\s*D|Ohio|Okla|Or(?:e)?|Pa|R\.?\s*I|S\.?\s*C|S\.?\s*D|Tenn|Tex|Utah|Vt|W\.?\s*Va|Va|Wash|Wis|Wyo)(?:\.\s*|\s+)Const\.?,?\s+${ot}`,`gi`),description:`State constitution citations (e.g., "Cal. Const. art. I, § 7", "N.Y. Const. art. VI, § 20", "Pa.Const. art. VIII, § 4")`,type:`constitutional`},{id:`bare-constitution`,regex:new RegExp(String.raw`(?<!\.\s)(?<![A-Z]\s)\bConst\.?,?\s+${ot}`,`g`),description:`Bare constitutional citations without jurisdiction prefix (e.g., "Const. art. I, § 8, cl. 3")`,type:`constitutional`},{id:`bare-article`,regex:new RegExp(String.raw`(?<!Const\.?,?\s)\bArt\.?\s+([IVX]+|\d+)[,;]\s*§\s*[\w-]+(?:[,;]\s*cl\.?\s*\d+)?`,`g`),description:`Bare article references without "Const." prefix (e.g., "Art. I, §8, cl. 3", "Art. 1, § 10")`,type:`constitutional`},{id:`state-const-prose-declaration`,regex:new RegExp(String.raw`\b(?:art(?:icle)?\.?)\s+(\d+)\s+of\s+the\s+(Massachusetts|Pennsylvania|Vermont|New\s+Hampshire|Maryland|North\s+Carolina|Delaware|New\s+Jersey)\s+(?:Declaration\s+of\s+Rights|Constitution)\b`,`gi`),description:`Prose-form state constitutional citations: "art. 14 of the Massachusetts Declaration of Rights" — #656`,type:`constitutional`},{id:`state-const-prose-section-article`,regex:new RegExp(String.raw`\bSection\s+([\w()-]+)\s*,\s*Article\s+([IVX]+|\d+)\s+of\s+the\s+(Massachusetts|Pennsylvania|Vermont|New\s+Hampshire|Maryland|North\s+Carolina|Delaware|New\s+Jersey|Ohio|California|Texas|Florida|Illinois|Michigan|New\s+York|Georgia|Virginia|Washington|Arizona|Colorado|Wisconsin|Minnesota|Indiana|Louisiana|Oregon|Tennessee|South\s+Carolina|Alabama|Missouri|Kentucky|Connecticut|Iowa|Mississippi|Arkansas|Kansas|Nevada|Utah|Hawaii|Alaska|Idaho|Maine|Montana|Nebraska|New\s+Mexico|North\s+Dakota|Oklahoma|Rhode\s+Island|South\s+Dakota|West\s+Virginia|Wyoming|Florida)\s+Constitution\b`,`g`),description:`Prose-form state constitutional citations: "Section 5(B), Article IV of the Ohio Constitution" — #656`,type:`constitutional`},{id:`state-const-prose-article-first`,regex:new RegExp(String.raw`\b(?:article|art\.?)\s+([IVX]+|\d+)[,\s]+section\s+([\w()-]+),?\s+of\s+the\s+(Massachusetts|Pennsylvania|Vermont|New\s+Hampshire|Maryland|North\s+Carolina|Delaware|New\s+Jersey|Ohio|California|Texas|Florida|Illinois|Michigan|New\s+York|Georgia|Virginia|Washington|Arizona|Colorado|Wisconsin|Minnesota|Indiana|Louisiana|Oregon|Tennessee|South\s+Carolina|Alabama|Missouri|Kentucky|Connecticut|Iowa|Mississippi|Arkansas|Kansas|Nevada|Utah|Hawaii|Alaska|Idaho|Maine|Montana|Nebraska|New\s+Mexico|North\s+Dakota|Oklahoma|Rhode\s+Island|South\s+Dakota|West\s+Virginia|Wyoming)\s+Constitution\b`,`gi`),description:`Prose-form state constitutional citations, article-first: "article XII, section 5 of the California Constitution" — #321`,type:`constitutional`},{id:`bare-amendment-word`,regex:RegExp(`(?<!Const\\.?,?\\s)\\b(${Z}|${X})\\s+(?:[Aa]mend(?:ment)?\\.?|[Aa]mdt\\.?)`,`g`),description:`Bare word-form amendment references without "Const." prefix (e.g., "the Fifth Amendment", "the Fourteenth Amendment") — #534`,type:`constitutional`},{id:`bare-amendment-coord`,regex:RegExp(`(?<!Const\\.?,?\\s)\\b(${Z}|${X})(?=,\\s+(?:(?:${Z}|${X}),?\\s+)*(?:and\\s+)?(?:${Z}|${X})\\s+[Aa]mendments?|\\s+and\\s+(?:${Z}|${X})\\s+[Aa]mendments?)`,`g`),description:`Leading ordinals in coordinated amendment lists ("Fifth and Sixth Amendment" → Fifth + Sixth) — #657`,type:`constitutional`}],lt={I:1,II:2,III:3,IV:4,V:5,VI:6,VII:7,VIII:8,IX:9,X:10,XI:11,XII:12,XIII:13,XIV:14,XV:15,XVI:16,XVII:17,XVIII:18,XIX:19,XX:20,XXI:21,XXII:22,XXIII:23,XXIV:24,XXV:25,XXVI:26,XXVII:27},ut={first:1,second:2,third:3,fourth:4,fifth:5,sixth:6,seventh:7,eighth:8,ninth:9,tenth:10,eleventh:11,twelfth:12,thirteenth:13,fourteenth:14,fifteenth:15,sixteenth:16,seventeenth:17,eighteenth:18,nineteenth:19,twentieth:20,"twenty-first":21,"twenty-second":22,"twenty-third":23,"twenty-fourth":24,"twenty-fifth":25,"twenty-sixth":26,"twenty-seventh":27};function dt(e){if(!e)return;let t=e.trim(),n=t.toLowerCase().replace(/\s+/g,`-`);if(n in ut)return ut[n];let r=/^(\d+)(?:st|nd|rd|th)$/i.exec(t);if(r)return Number.parseInt(r[1],10);let i=t.toUpperCase();if(i in lt)return lt[i];let a=Number.parseInt(t,10);return Number.isNaN(a)?void 0:a}const ft={alabama:`AL`,alaska:`AK`,arizona:`AZ`,arkansas:`AR`,california:`CA`,colorado:`CO`,connecticut:`CT`,delaware:`DE`,florida:`FL`,georgia:`GA`,hawaii:`HI`,idaho:`ID`,illinois:`IL`,indiana:`IN`,iowa:`IA`,kansas:`KS`,kentucky:`KY`,louisiana:`LA`,maine:`ME`,maryland:`MD`,massachusetts:`MA`,michigan:`MI`,minnesota:`MN`,mississippi:`MS`,missouri:`MO`,montana:`MT`,nebraska:`NE`,nevada:`NV`,"new hampshire":`NH`,"new jersey":`NJ`,"new mexico":`NM`,"new york":`NY`,"north carolina":`NC`,"north dakota":`ND`,ohio:`OH`,oklahoma:`OK`,oregon:`OR`,pennsylvania:`PA`,"rhode island":`RI`,"south carolina":`SC`,"south dakota":`SD`,tennessee:`TN`,texas:`TX`,utah:`UT`,vermont:`VT`,virginia:`VA`,washington:`WA`,"west virginia":`WV`,wisconsin:`WI`,wyoming:`WY`},pt={ala:`AL`,alaska:`AK`,ariz:`AZ`,ark:`AR`,cal:`CA`,calif:`CA`,colo:`CO`,conn:`CT`,del:`DE`,fla:`FL`,ga:`GA`,haw:`HI`,idaho:`ID`,ill:`IL`,ind:`IN`,iowa:`IA`,kan:`KS`,ky:`KY`,la:`LA`,me:`ME`,md:`MD`,mass:`MA`,mich:`MI`,minn:`MN`,miss:`MS`,mo:`MO`,mont:`MT`,neb:`NE`,nev:`NV`,"n.h":`NH`,"n.j":`NJ`,"n.m":`NM`,"n.y":`NY`,"n.c":`NC`,"n.d":`ND`,ohio:`OH`,okla:`OK`,or:`OR`,ore:`OR`,pa:`PA`,"r.i":`RI`,"s.c":`SC`,"s.d":`SD`,tenn:`TN`,tex:`TX`,utah:`UT`,vt:`VT`,va:`VA`,wash:`WA`,"w.va":`WV`,wis:`WI`,wyo:`WY`},mt=/amend|amdt/i,ht=/^([A-Za-z]+(?:\.\s*[A-Za-z]+)?(?:\.\s*[A-Za-z]+)?)\.?\s*Const/i;function gt(e){let t=ht.exec(e);if(!t)return;let n=t[1].replace(/\s+/g,``).replace(/\.$/g,``).toLowerCase();if(n in pt)return pt[n]}function _t(e,t){let{text:n,span:r}=e;if(e.patternId===`state-const-prose-declaration`||e.patternId===`state-const-prose-section-article`||e.patternId===`state-const-prose-article-first`){let i,a,o;if(e.patternId===`state-const-prose-declaration`){let e=/\b(?:art(?:icle)?\.?)\s+(\d+)\s+of\s+the\s+([A-Za-z\s]+?)\s+(?:Declaration\s+of\s+Rights|Constitution)\b/i.exec(n);e&&(i=Number.parseInt(e[1],10),o=e[2].trim().toLowerCase())}else if(e.patternId===`state-const-prose-section-article`){let e=/\bSection\s+([\w()-]+)\s*,\s*Article\s+([IVX]+|\d+)\s+of\s+the\s+([A-Za-z\s]+?)\s+Constitution\b/i.exec(n);e&&(a=e[1],i=dt(e[2]),o=e[3].trim().toLowerCase())}else{let e=/\b(?:article|art\.?)\s+([IVX]+|\d+)[,\s]+section\s+([\w()-]+),?\s+of\s+the\s+([A-Za-z\s]+?)\s+Constitution\b/i.exec(n);e&&(i=dt(e[1]),a=e[2],o=e[3].trim().toLowerCase())}let c=o?ft[o]:void 0,{originalStart:l,originalEnd:u}=s(r,t);return{type:`constitutional`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:l,originalEnd:u},confidence:.85,matchedText:n,processTimeMs:0,patternsChecked:1,article:i,section:a,jurisdiction:c}}if(e.patternId===`bare-amendment-coord`){let e=dt(n),{originalStart:i,originalEnd:a}=s(r,t);return{type:`constitutional`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:i,originalEnd:a},confidence:.5,matchedText:n,processTimeMs:0,patternsChecked:1,amendment:e,spans:{amendment:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:i,originalEnd:a}}}}let i=st.exec(n),a,c,l,u,d;if(i){let e=i[1]??i[2];if(e){let t=dt(e);i[2]!==void 0||mt.test(i[0])?c=t:a=t,l=i[3]||void 0,u=i[4]?Number.parseInt(i[4],10):void 0}else /\b(?:pmbl\.?|preamble)\b/i.test(i[0])&&(d=!0)}let f;switch(e.patternId){case`us-constitution`:f=`US`;break;case`state-constitution`:f=gt(n);break;default:f=void 0;break}let{originalStart:p,originalEnd:m}=s(r,t),h;h=e.patternId===`bare-article`||e.patternId===`bare-amendment-word`?.5:e.patternId===`bare-constitution`?.7:l?.95:.9,c===void 0&&a===void 0&&(h=.1);let g=n.endsWith(`.`)?n.slice(0,-1):n,_={};if(f===`US`){let e=n.indexOf(`U.S.`);e!==-1&&(_.jurisdiction=o(r.cleanStart,[e,e+4],t))}else if(f&&e.patternId===`state-constitution`){let e=ht.exec(n);if(e){let n=e[1].length+1;_.jurisdiction=o(r.cleanStart,[0,n],t)}}if(i?.indices){let e=i.indices[1]??i.indices[2],n=i[2]!==void 0||mt.test(i[0]);if(e){let i=o(r.cleanStart,e,t);n?_.amendment=i:_.article=i}i.indices[3]&&(_.section=o(r.cleanStart,i.indices[3],t)),i.indices[4]&&(_.clause=o(r.cleanStart,i.indices[4],t))}return{type:`constitutional`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:p,originalEnd:m},confidence:h,matchedText:g,processTimeMs:0,patternsChecked:1,jurisdiction:f,article:a,amendment:c,preamble:d,section:l,clause:u,spans:_}}function vt(e,t,n,r){let{text:i,span:a}=e,o=/\b(?:(?:C\.A\.|Civ\.|Civil(?:\s+Action)?|Case|Adv\.|Docket)\s+)?No\.\s+([A-Za-z\d]+(?::?[A-Za-z\d]+)?(?:[-\s][A-Za-z\d]+)*)\s+\(([^)]+)\)/.exec(i);if(!o)return;let c=o[1],l=o[2],u=$e(n,a.cleanStart,void 0,{originalText:r,transformationMap:t});if(!u)return;let d=rt(u.caseName),f=d.plaintiff&&d.defendant,p=!!d.proceduralPrefix;if(!f&&!p)return;let m=q(l),{originalStart:h,originalEnd:g}=s(a,t),_=u.nameStart;if(d.plaintiff&&d.defendant){let e=n.substring(_,a.cleanStart),t=/\s+v\.?\s+/i.exec(e);if(t){let n=e.substring(0,t.index).lastIndexOf(d.plaintiff);n!==-1&&(_+=n)}}let v=a.cleanEnd,y=t.cleanToOriginal.get(_)??_,b=t.cleanToOriginal.get(v)??v;return{type:`docket`,text:i,matchedText:i,span:{cleanStart:a.cleanStart,cleanEnd:a.cleanEnd,originalStart:h,originalEnd:g},confidence:.7,processTimeMs:0,patternsChecked:1,docketNumber:c,caseName:d.plaintiff&&d.defendant?`${d.plaintiff} v. ${d.defendant}`:u.caseName,plaintiff:d.plaintiff,defendant:d.defendant,plaintiffNormalized:d.plaintiffNormalized,defendantNormalized:d.defendantNormalized,proceduralPrefix:d.proceduralPrefix,court:m.court,normalizedCourt:se(m.court),year:m.year,date:m.date,fullSpan:{cleanStart:_,cleanEnd:v,originalStart:y,originalEnd:b}}}function yt(e,t,n){let{text:r,span:i}=e,a=/^(\d+(?:-\d+)?)\s+Fed\.\s?Reg\.\s+(\d{1,3}(?:,\d{3})+|\d+)/d.exec(r);if(!a)throw Error(`Failed to parse Federal Register citation: ${r}`);let c=a[1],l=/^\d+$/.test(c)?Number.parseInt(c,10):c,u=Number.parseInt(a[2].replace(/,/g,``),10),d;a.indices&&(d={volume:o(i.cleanStart,a.indices[1],t),page:o(i.cleanStart,a.indices[2],t)});let f=/\((?:.*?\s)?(\d{4})\)/,p=n?n.substring(i.cleanStart,i.cleanEnd+64):r,m=f.exec(p),h=m?Number.parseInt(m[1],10):void 0,g=h!==void 0&&P(h)?h:void 0,{originalStart:_,originalEnd:v}=s(i,t);return{type:`federalRegister`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:_,originalEnd:v},confidence:.9,matchedText:r,processTimeMs:0,patternsChecked:1,volume:l,page:u,year:g,spans:d}}const bt=new Map([[`civp`,`civil`],[`civilprocedure`,`civil`],[`crimp`,`criminal`],[`criminalprocedure`,`criminal`],[`evid`,`evidence`],[`evidence`,`evidence`],[`appp`,`appellate`],[`appellateprocedure`,`appellate`],[`bankrp`,`bankruptcy`],[`bankruptcyprocedure`,`bankruptcy`],[`frcp`,`civil`],[`frcrp`,`criminal`],[`fre`,`evidence`],[`frap`,`appellate`],[`frbp`,`bankruptcy`]]);function xt(e){return e.toLowerCase().replace(/[\s.]/g,``)}function St(e){let t=e.indexOf(`(`);return t===-1?[e,void 0]:[e.slice(0,t),e.slice(t)]}function Ct(e,t){let{text:n,span:r}=e,i=/\bFed\.\s?R\.\s?(Civ\.\s?P\.|Crim\.\s?P\.|Evid\.|App\.\s?P\.|Bankr\.\s?P\.)\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)/d.exec(n)??/\bFederal\s+Rules?\s+of\s+(?:the\s+)?(Civil\s+Procedure|Criminal\s+Procedure|Evidence|Appellate\s+Procedure|Bankruptcy\s+Procedure)\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)/di.exec(n)??/\b(FRCP|FRE|FRAP|FRCrP|FRBP|F\.\s?R\.\s?C\.\s?P\.|F\.\s?R\.\s?E\.|F\.\s?R\.\s?A\.\s?P\.|F\.\s?R\.\s?Cr\.\s?P\.|F\.\s?R\.\s?B\.\s?P\.)\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)/d.exec(n);if(!i)throw Error(`Failed to parse federal rule citation: ${n}`);let a=i[1],c=xt(a),l=bt.get(c);if(!l)throw Error(`Unrecognized federal rule set: "${a}" → "${c}"`);let[u,d]=St(i[2]),f;if(i.indices){let e=i.indices[1],n=i.indices[2];if(e&&n){f={ruleSet:o(r.cleanStart,e,t)};let a=i[2].indexOf(`(`);if(a===-1)f.rule=o(r.cleanStart,n,t);else{let[e,i]=n;f.rule=o(r.cleanStart,[e,e+a],t),f.subsection=o(r.cleanStart,[e+a,i],t)}}}let{originalStart:p,originalEnd:m}=s(r,t);return{type:`federalRule`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:p,originalEnd:m},confidence:.95,matchedText:n,processTimeMs:0,patternsChecked:1,ruleSet:l,rule:u,subsection:d,spans:f}}const wt={"id-rcp":{jurisdiction:`ID`,ruleSet:`civil`,re:/^I\.R\.C\.P\.\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)$/d},"id-rcp-spelled":{jurisdiction:`ID`,ruleSet:`civil`,re:/^Idaho\s+Rules?\s+of\s+Civil\s+Procedure\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)$/di},"nc-rap":{jurisdiction:`NC`,ruleSet:`appellate`,re:/^N\.\s?C\.\s?R\.\s?App\.\s?P\.\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)$/d},"nc-rcp":{jurisdiction:`NC`,ruleSet:`civil`,re:/^N\.\s?C\.\s?R\.\s?Civ\.\s?P\.\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)$/d},"sc-scacr-postfix":{jurisdiction:`SC`,ruleSet:`appellate`,re:/^Rule\s+(\d+(?:\.\d+)?(?:\([^)]*\))*),\s*SCACR$/d},rcfc:{jurisdiction:`CFC`,ruleSet:`civil`,re:/^RCFC\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)$/d},"hcn-rcp":{jurisdiction:`HCN`,ruleSet:`civil`,re:/^HCN\s+R\.\s?Civ\.\s?P\.\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)$/d},tcrcp:{jurisdiction:`TC`,ruleSet:`civil`,re:/^T\.C\.R\.C\.P\.\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)$/d}};function Tt(e){let t=/^(\d+(?:\.\d+)?)((?:\([^)]*\))*)$/.exec(e);return t?{rule:t[1],subsection:t[2]||void 0}:{rule:e}}function Et(e,t){let{text:n,span:r}=e,i=wt[e.patternId];if(!i)throw Error(`extractStateRule called with unknown patternId: ${e.patternId}`);let a=i.re.exec(n);if(!a)throw Error(`extractStateRule: token text does not match ${e.patternId}: ${n}`);let c=a[1],{rule:l,subsection:u}=Tt(c),{originalStart:d,originalEnd:f}=s(r,t),p;if(a.indices){let e=a.indices[1];e&&(p={rule:o(r.cleanStart,[e[0],e[0]+l.length],t)},u&&(p.subsection=o(r.cleanStart,[e[0]+l.length,e[1]],t)))}let m=.95;return u&&(m+=.05),m=Math.min(m,1),{type:`stateRule`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:m,matchedText:n,processTimeMs:0,patternsChecked:1,jurisdiction:i.jurisdiction,ruleSet:i.ruleSet,rule:l,subsection:u,spans:p}}function Dt(e,t,n){let{text:r,span:i}=e,a=/^(\d+(?:-\d+)?)\s+([A-Za-z.\s]+?)\s+(\d+)/d.exec(r);if(!a)throw Error(`Failed to parse journal citation: ${r}`);let c=a[1],l=/^\d+$/.test(c)?Number.parseInt(c,10):c,u=a[2].trim(),d=Number.parseInt(a[3],10),f,p;n===void 0?(f=r.slice(a[0].length),p=i.cleanStart+a[0].length):(f=n.slice(i.cleanEnd,i.cleanEnd+30),p=i.cleanEnd);let m=n?n.slice(i.cleanStart,i.cleanEnd+30):r,h=/^,\s*(\d+)/d.exec(f),g=h?Number.parseInt(h[1],10):void 0,_=/\((?:.*?\s)?(\d{4})(?:[-–—]\d{2,4})?\)/d.exec(m),v=_?Number.parseInt(_[1],10):void 0,y=v!==void 0&&P(v)?v:void 0,b;a.indices&&(b={volume:o(i.cleanStart,a.indices[1],t),journal:o(i.cleanStart,a.indices[2],t),page:o(i.cleanStart,a.indices[3],t)},h?.indices?.[1]&&(b.pincite=o(p,h.indices[1],t)),_?.indices?.[1]&&(b.year=o(i.cleanStart,_.indices[1],t)));let{originalStart:x,originalEnd:S}=s(i,t);return{type:`journal`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:x,originalEnd:S},confidence:.6,matchedText:r,processTimeMs:0,patternsChecked:1,volume:l,journal:u,abbreviation:u,page:d,pincite:g,year:y,spans:b}}const Ot=/^(?:\s+at\s+|,\s*(?:at\s+(?:pp?\.\s*)?)?)(\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?|¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?)(?=$|[.,:;)([\]»"'“”‘’]|\s(?![A-Z]))/d,kt=/^(?:\s*,?\s*(?:at\s+)?\*?\d+(?:[-–—]\*?\d+)?)?\s*\(([^)]+)\)/;function At(e){return e===`WL`||e===`BL`?!0:/\bLEXIS\b/.test(e)}function jt(e,t,n){let{text:r,span:i}=e,a,c,l,u=!1,d,f=/^T\.\s?C\.\s+Memo\.\s+(\d{4})-(\d+)$/d.exec(r);if(f)a=Number.parseInt(f[1],10),c=`T.C. Memo.`,l=f[2],f.indices&&(d={year:o(i.cleanStart,f.indices[1],t),documentNumber:o(i.cleanStart,f.indices[2],t)});else{let e=/^(\d{4})-([A-Z]+)-(\d+)-([A-Z]+)$/d.exec(r);if(e){if(a=Number.parseInt(e[1],10),c=`${e[2]}-${e[4]}`,l=e[3],e.indices){let n=e.indices[2],r=e.indices[4],a=[n[0],r[1]];d={year:o(i.cleanStart,e.indices[1],t),court:o(i.cleanStart,a,t),documentNumber:o(i.cleanStart,e.indices[3],t)}}}else{let e=/^(\d{4})[-\s]+(.+?)[-\s]+(\d+)(-U)?$/d.exec(r);if(!e)throw Error(`Failed to parse neutral citation: ${r}`);a=Number.parseInt(e[1],10),c=e[2],l=e[3],e[4]===`-U`&&(u=!0),e.indices&&(d={year:o(i.cleanStart,e.indices[1],t),court:o(i.cleanStart,e.indices[2],t),documentNumber:o(i.cleanStart,e.indices[3],t)})}}let p,m;if(n){let e=n.substring(i.cleanEnd),r=Ot.exec(e);r&&(m=G(r[1])??void 0,p=m?.page??m?.paragraph,r.indices?.[1]&&(d||={},d.pincite=o(i.cleanEnd,r.indices[1],t)))}let h,g=c;At(c)&&(h=c,g=void 0,d&&(d.court=void 0));let _;if(n&&h){let e=n.substring(i.cleanEnd),t=kt.exec(e);if(t){let e=q(t[1]);e.court&&(g=e.court),e.date&&(_=e.date)}}let{originalStart:v,originalEnd:y}=s(i,t),b;if(n){let e=$e(n,i.cleanStart);e&&(b=e.caseName,b&&=(b=b.replace(/^(?:But\s+see(?:\s+also)?,?\s+|See\s+also,?\s+|See\s+generally\s+|See,\s+e\.g\.,?\s+|See\s+|Cf\.\s+|In\s+|Accord\s+|Contra\s+|Compare\s+|E\.g\.,?\s+)/,``).trim(),b=b.replace(/\s*\((?:[^()]*\s)?\d{4}\)\s*$/,``).trim(),b=b.replace(/,\s+\d+\s+[A-Z][A-Za-z.&'\d\s]*\d+\s*$/,``).trim(),b.replace(/,\s+\d{4}\s+[A-Z]+\s+\d+\s*$/,``).trim()))}return{type:`neutral`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:v,originalEnd:y},confidence:1,matchedText:r,processTimeMs:0,patternsChecked:1,year:a,court:g,...h?{database:h}:{},documentNumber:l,...u?{unpublished:!0}:{},pincite:p,pinciteInfo:m,..._?{date:_}:{},...b?{caseName:b}:{},spans:d}}function Mt(e,t){let{text:n,span:r}=e,i=/(?:Pub\.\s?L\.|Public\s+Law)(?:\s?No\.)?\s?(\d+)-(\d+)/d.exec(n);if(!i)throw Error(`Failed to parse public law citation: ${n}`);let a=Number.parseInt(i[1],10),c=Number.parseInt(i[2],10),l;i.indices&&(l={congress:o(r.cleanStart,i.indices[1],t),lawNumber:o(r.cleanStart,i.indices[2],t)});let{originalStart:u,originalEnd:d}=s(r,t);return{type:`publicLaw`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:u,originalEnd:d},confidence:.9,matchedText:n,processTimeMs:0,patternsChecked:1,congress:a,lawNumber:c,spans:l}}const Nt=new Map([[`first`,`First`],[`1st`,`First`],[`second`,`Second`],[`2d`,`Second`],[`third`,`Third`],[`3d`,`Third`],[`fourth`,`Fourth`],[`4th`,`Fourth`]]);function Pt(e){let t=e.indexOf(`(`);return t===-1?[e,void 0]:[e.slice(0,t),e.slice(t)]}function Ft(e,t){let{text:n,span:r}=e,i=/\bRestatement\s+\((First|Second|Third|Fourth|1st|2d|3d|4th)\)\s+(?:of\s+)?([A-Za-z][A-Za-z\s,.&'-]+?)\s+§§?\s*(\d+(?:[A-Za-z0-9-]|\.[A-Za-z0-9])*(?:\([^)]*\))*)/d.exec(n);if(!i)throw Error(`Failed to parse Restatement citation: ${n}`);let a=i[1],c=Nt.get(a.toLowerCase());if(!c)throw Error(`Unrecognized Restatement edition: "${a}"`);let l=i[2].trim(),[u,d]=Pt(i[3]),f;if(i.indices){let e=i.indices[1],n=i.indices[2],a=i.indices[3];if(e&&n&&a){f={edition:o(r.cleanStart,e,t),subject:o(r.cleanStart,n,t)};let s=i[3].indexOf(`(`);if(s===-1)f.section=o(r.cleanStart,a,t);else{let[e,n]=a;f.section=o(r.cleanStart,[e,e+s],t),f.subsection=o(r.cleanStart,[e+s,n],t)}}}let{originalStart:p,originalEnd:m}=s(r,t);return{type:`restatement`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:p,originalEnd:m},confidence:.95,matchedText:n,processTimeMs:0,patternsChecked:1,edition:c,subject:l,section:u,subsection:d,spans:f}}const It=/^(?:But\s+(?:see|cf\.?)|But|See(?:\s+also)?(?:\s*,\s*e\.\s*g\.?)?|Compare|Cf\.?|Accord|Contra|E\.\s*g\.?|Also|In(?!\s+re\b)|Then|However|Moreover|Therefore|Indeed)\s+/i;function Lt(e){let t=e.replace(It,``).trim();return t.length>0?t:e}const Rt=/^[\s,]*\(([^()]*)\)/,zt=/^,\s*(\*?\d+(?:[-–—~]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—~]\d+)?)?)(?=$|[.,:;)([\]»"'“”‘’]|\s(?![A-Z]))/,Bt=/(?<![A-Za-z])(?:but\s+cf\.,\s+e\.\s*g\.,?|see\s*,?\s+also,\s+e\.\s*g\.,?|but\s+see,\s+e\.\s*g\.,?|cf\.,\s+e\.\s*g\.,?|see,\s+e\.\s*g\.,?|see\s+generally|see\s*,?\s+also|but\s+see|but\s+cf\.?|compare|accord|contra|see|cf\.?|e\.\s*g\.,?)\s*$/i;function Vt(e,t){if(!e)return;let n=e.slice(t),r=Rt.exec(n);if(!r)return;let i=r[1].trim();return i.length>0?i:void 0}function Ht(e,t,n){let{text:r,span:i}=e,a=/([Ii])(?:d|bid)\s*([.,])(?:(,\s+(?!\d+\s+[A-Z])|,?\s*(?:at\s+(?:pp?\.\s*)?|(?=¶|paras?\.?\b)))(\*?\d+(?:\s*[-–]\s*\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?|¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?))?/d.exec(r);if(!a)throw Error(`Failed to parse Id. citation: ${r}`);let c=a[1],l=a[2]===`,`,u=l||a[3]?.startsWith(`,`)===!0,d=a[4]?G(a[4])??void 0:void 0,f=d?.page,p;a[4]&&a.indices?.[4]&&(p={pincite:o(i.cleanStart,a.indices[4],t)});let m=1;if(c===`i`&&(m=.85),u&&(m=Math.min(m,.9)),l&&(m=Math.min(m,.7)),n&&i.cleanStart>0){let e=n.slice(Math.max(0,i.cleanStart-60),i.cleanStart).trimEnd();if(e.length>0){let t=/[.;)\]—:]$/.test(e),n=Bt.test(e);!t&&!n&&(m=Math.min(m,.4))}}let{originalStart:h,originalEnd:g}=s(i,t),_=Vt(n,i.cleanEnd);return{type:`id`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:h,originalEnd:g},confidence:m,matchedText:r,processTimeMs:0,patternsChecked:1,pincite:f,pinciteInfo:d,..._?{parenthetical:_}:{},spans:p}}function Ut(e,t,n){let{text:r,span:i}=e,a=r.includes(`[supra`)?/(?:\b([A-Z][a-zA-Z''\-]+\.?(?:(?:\s+v\.?\s+|\s+&\s+|,\s+|\s+)[A-Z][a-zA-Z''\-]+\.?)*)\s*,?\s+)?\[supra(?:(?:,\s+|\s+at\s+(?:pp?\.\s*)?)(\d+(?:[-–—]\d+)?))?\]/d.exec(r):null,c=a?null:/\b([A-Z][a-zA-Z''\-]+\.?(?:(?:\s+v\.?\s+|\s+&\s+|,\s+|\s+)[A-Z][a-zA-Z''\-]+\.?)*)\s*,?\s+supra(?:\s+note\s+(\d+))?(?:(?:,\s+(?!\d+\s+[A-Z])|,?\s+(?:at\s+(?:pp?\.\s*)?|(?=¶|paras?\.?\b)))(\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?|¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?))?/d.exec(r),l=a||c||/supra(?:\s+note\s+(\d+)(?:,?\s+(?:at\s+(?:pp?\.\s*)?|(?=¶|paras?\.?\b))(\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?|¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?))?|\s+(?:at\s+(?:pp?\.\s*)?|(?=¶|paras?\.?\b))(\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?|¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?))?/d.exec(r);if(!l)throw Error(`Failed to parse supra citation: ${r}`);let u,d,f,p;if(a)u=a[1]?Lt(a[1]):void 0,d=a[2]?G(a[2])??void 0:void 0,f=u?.9:.8,a[2]&&(p=2);else if(c)u=Lt(c[1]),d=c[3]?G(c[3])??void 0:void 0,f=.9,c[3]&&(p=3);else{u=void 0;let e=l[2],t=l[3],n=e??t;d=n?G(n)??void 0:void 0,f=.8,e?p=2:t&&(p=3)}let m=d?.page,h;p!==void 0&&l.indices?.[p]&&(h={pincite:o(i.cleanStart,l.indices[p],t)});let{originalStart:g,originalEnd:_}=s(i,t),v=Vt(n,i.cleanEnd);return{type:`supra`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:g,originalEnd:_},confidence:f,matchedText:r,processTimeMs:0,patternsChecked:1,partyName:u,pincite:m,pinciteInfo:d,...v?{parenthetical:v}:{},spans:h}}function Wt(e,t,n){let{text:r,span:i}=e,a=/(?:([A-Z][a-zA-Z''\-]+\.?(?:(?:\s+v\.?\s+|\s+&\s+|,\s+|\s+)[A-Z][a-zA-Z''\-]+\.?)*),\s+)?(\d+(?:-\d+)?)\s+([A-Z][A-Za-z.''\s]+?(?:\d[a-z]{1,2})?)\s*,?\s+at\s+(?:pp?\.\s*|pages?\s+)?(\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?|¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?)/d.exec(r);if(!a)throw Error(`Failed to parse short-form case citation: ${r}`);let c=a[1],l=a[2],u=/^\d+$/.test(l)?Number.parseInt(l,10):l,d=a[3].trim(),f=G(a[4])??void 0,p=f?.page,m,h;c&&(m=Lt(c),h=m.toLowerCase().replace(/\s+/g,` `).trim());let g;a.indices?.[4]&&(g={pincite:o(i.cleanStart,a.indices[4],t)});let{originalStart:_,originalEnd:v}=s(i,t),y=.4;if(ge.has(d)&&(y+=.3),n&&f){let e=n.substring(i.cleanEnd),t=[],r=0;for(;r<e.length;){let n=e.substring(r),i=zt.exec(n);if(!i)break;let a=G(i[1]);if(!a)break;t.push(a),r+=i[0].length}t.length>0&&(f={...f,additionalPincites:t})}let b=i.cleanEnd;if(n&&f?.additionalPincites?.length){let e=n.substring(i.cleanEnd),t=0;for(let n of f.additionalPincites){let n=zt.exec(e.substring(t));if(!n)break;t+=n[0].length}b=i.cleanEnd+t}let x=Vt(n,b);return{type:`shortFormCase`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:_,originalEnd:v},confidence:y,matchedText:r,processTimeMs:0,patternsChecked:1,volume:u,reporter:d,pincite:p,pinciteInfo:f,partyName:m,partyNameNormalized:h,...x?{parenthetical:x}:{},spans:g}}const Gt=/^([^([]+?)\s*((?:\([^)]*\)|\[[^\]]*\])*)$/,Kt=/\s*et\s+seq\.?\s*$/i,qt=/,?\s+(?:subd\.?|subds\.?|subdivisions?|paragraphs?|pars?\.)\s+((?:\([^)]*\)|\[[^\]]*\])(?:\s*(?:\([^)]*\)|\[[^\]]*\]))*)/i;function Jt(e){let t=qt.exec(e);if(!t)return e;let n=t[1].replace(/\)\s+\(/g,`)(`).replace(/\]\s+\[/g,`][`);return`${e.slice(0,t.index)}${n}${e.slice(t.index+t[0].length)}`}const Yt=/^(\d+)-(\d+)$/,Xt=/\s*[-–—]+\s*(\([A-Za-z0-9]+\))$/;function Q(e){let t=e.replace(Kt,``),n=t!==e,r=Jt(t),i,a=Xt.exec(r);a&&/\)\s*$/.test(r.slice(0,a.index))&&(i=a[1],r=r.slice(0,a.index)),r=r.replace(/\)\s+\(/g,`)(`).replace(/\]\s+\[/g,`][`);let o=r.trim(),s=Gt.exec(o),c=s?.[2],l=!1;c&&(/\s/.test(c)||/\((?:West|Lexis|Supp\.|Cum\.|Pamphlet|Pocket)\b/i.test(c))&&(s=null,c=void 0,l=!0);let u=s!==null&&c?s[1].trim():o;if(l){let e=u.indexOf(`(`);e!==-1&&(u=u.slice(0,e).trim())}let d=Yt.exec(u),f=d?d[2]:void 0,p=u;if(!f){let e=/^(\d+)\.(\d+)-\.(\d+)$/.exec(u);if(e)f=`${e[1]}.${e[3]}`,p=`${e[1]}.${e[2]}`,u=p;else{let e=/^(\d+)\.(\d+)-(\d+)\.(\d+)$/.exec(u);e&&e[1]===e[3]&&(p=`${e[1]}.${e[2]}`,f=`${e[3]}.${e[4]}`,u=p)}}return s!==null&&c?{section:u,sectionRangeEnd:f,subsection:c,subsectionRangeEnd:i,hasEtSeq:n}:{section:u,sectionRangeEnd:f,subsectionRangeEnd:i,hasEtSeq:n}}const Zt=/^(?:(\d+)\s+)?(.+?)\s*,?\s*(?:§§?|[Ss]ections?|[Ss]ec\.?)?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9])|,(?=\d))*(?:\s*\((?![^)]*\d{4})[A-Za-z0-9.-]+\)|\s*\[[A-Za-z0-9.-]+\])*(?:\s*[-–—]+\s*\([A-Za-z0-9]+\))?(?:\s*et\s+seq\.?)?)$/d;function Qt(t,n){let{text:r,span:i}=t,a=Zt.exec(r),c,l,u;a?(c=a[1]?Number.parseInt(a[1],10):void 0,l=a[2].trim(),u=a[3]):(l=r,u=``);let d=e.n(l),f=d?.jurisdiction,p=d&&!d.patterns.some(e=>e.toLowerCase()===l.toLowerCase())?d.abbreviation:l,{section:m,subsection:h,sectionRangeEnd:g,subsectionRangeEnd:_,hasEtSeq:v}=Q(u),{originalStart:y,originalEnd:b}=s(i,n),x;if(a?.indices&&(x={},a.indices[1]&&(x.title=o(i.cleanStart,a.indices[1],n)),a.indices[2]&&(x.code=o(i.cleanStart,a.indices[2],n)),a.indices[3]&&m)){let e=a.indices[3][0],t=m.replace(/[.,;:]\s*$/,``).length;if(x.section=o(i.cleanStart,[e,e+t],n),h){let t=e+m.length;x.subsection=o(i.cleanStart,[t,t+h.length],n)}}let S=r.includes(`§`),C;return C=d&&S?.95:d?.85:S?.6:.4,c!==void 0&&(C+=.05),h&&(C+=.05),C=Math.min(C,1),{type:`statute`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:y,originalEnd:b},confidence:C,matchedText:r,processTimeMs:0,patternsChecked:1,title:c,code:p,section:m,sectionRange:m&&g?{start:m,end:g}:void 0,subsection:h,subsectionRange:h&&_?{start:h,end:_}:void 0,pincite:h,jurisdiction:f,hasEtSeq:v||void 0,spans:x}}const $t=/^Code(?:\s+of\s+Alabama)?,?\s+1940,?\s+T(?:itle|it)?\.\s+(\d+),?\s+§\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)$/d,en=/^Title\s+(\d+),?\s+(?:§|Sec(?:tion)?s?\.?)\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*),?\s+Code(?:\s+of\s+Alabama)?,?\s+(\d{4})(?:,?\s+(?:as\s+)?[Rr]ecompiled\s+(\d{4}))?$/d,tn=/^Tit\.\s+(\d+),?\s+§\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)(?:,?\s+Code(?:\s+of\s+Alabama)?,?\s+(\d{4})(?:,?\s+(?:as\s+)?[Rr]ecompiled\s+(\d{4}))?)?$/d;function nn(e,t){let{text:n,span:r}=e,i,a,c,l,u,d,f;switch(e.patternId){case`ala-code-prefix`:f=$t.exec(n),i=f[1],a=f[2],c=1940,u=1,d=2;break;case`ala-title-trailer`:f=en.exec(n),i=f[1],a=f[2],c=Number.parseInt(f[3],10),f[4]&&(l=Number.parseInt(f[4],10)),u=1,d=2;break;default:f=tn.exec(n),i=f[1],a=f[2],f[3]&&(c=Number.parseInt(f[3],10)),f[4]&&(l=Number.parseInt(f[4],10)),u=1,d=2;break}let p=Number.parseInt(i,10),{section:m,subsection:h,hasEtSeq:g}=Q(a),{originalStart:_,originalEnd:v}=s(r,t),y;if(f.indices){y={};let e=f.indices[u];e&&(y.title=o(r.cleanStart,e,t));let n=f.indices[d];if(n&&m){let e=n[0],i=m.replace(/[.,;:]\s*$/,``).length;if(y.section=o(r.cleanStart,[e,e+i],t),h){let n=e+m.length;y.subsection=o(r.cleanStart,[n,n+h.length],t)}}}let b=.95;return h&&(b+=.05),b=Math.min(b,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:_,originalEnd:v},confidence:b,matchedText:n,processTimeMs:0,patternsChecked:1,title:p,code:`Code of Alabama 1940`,section:m,subsection:h,pincite:h,year:c,recompiledYear:l,jurisdiction:`AL`,hasEtSeq:g||void 0,spans:y}}const rn=/\bBankruptcy\s+Code\s*§§?\s*(\d+(?:[A-Za-z0-9-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)/d,an=/§§?\s*(\d+(?:[A-Za-z0-9-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)\s+of\s+the\s+Bankruptcy\s+Code/d;function on(e,t){let{text:n,span:r}=e,i=(e.patternId===`bankruptcy-code-postfix`?an:rn).exec(n);if(!i)throw Error(`Failed to parse Bankruptcy Code citation: ${n}`);let a=i[1],{section:c,subsection:l}=Q(a),{originalStart:u,originalEnd:d}=s(r,t),f;if(i.indices){f={};let e=i.indices[1];if(e&&c){let[n]=e;if(f.section=o(r.cleanStart,[n,n+c.length],t),l){let e=n+c.length;f.subsection=o(r.cleanStart,[e,e+l.length],t)}}}return{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:u,originalEnd:d},confidence:.95,matchedText:n,processTimeMs:0,patternsChecked:1,title:11,code:`U.S.C.`,section:c,subsection:l,pincite:l,jurisdiction:`US`,spans:f}}const sn=[{canonical:`Code Civ. Proc.`,regexFragment:`Code\\s+Civ\\.?\\s+Proc\\.?`},{canonical:`Code Crim. Proc.`,regexFragment:`Code\\s+Crim\\.?\\s+Proc\\.?`},{canonical:`Bus. & Prof. Code`,regexFragment:`Bus\\.?\\s*&\\s*Prof\\.?\\s+Code`},{canonical:`Welf. & Inst. Code`,regexFragment:`Welf\\.?\\s*&\\s*Inst\\.?\\s+Code`},{canonical:`Health & Saf. Code`,regexFragment:`Health\\s*&\\s*Saf\\.?\\s+Code`},{canonical:`Health & Saf. Code`,regexFragment:`Health\\s*&\\s*Safety\\s+Code`},{canonical:`Fish & Game Code`,regexFragment:`Fish\\s*&\\s*Game\\s+Code`},{canonical:`Food & Agric. Code`,regexFragment:`Food\\s*&\\s*Agric\\.?\\s+Code`},{canonical:`Harb. & Nav. Code`,regexFragment:`Harb\\.?\\s*&\\s*Nav\\.?\\s+Code`},{canonical:`Mil. & Vet. Code`,regexFragment:`Mil\\.?\\s*&\\s*Vet\\.?\\s+Code`},{canonical:`Rev. & Tax. Code`,regexFragment:`Rev\\.?\\s*&\\s*Tax\\.?\\s+Code`},{canonical:`Sts. & Hy. Code`,regexFragment:`Sts\\.?\\s*&\\s*Hy\\.?\\s+Code`},{canonical:`Pub. Util. Code`,regexFragment:`Pub\\.?\\s+Util\\.?\\s+Code`},{canonical:`Pub. Cont. Code`,regexFragment:`Pub\\.?\\s+Cont\\.?\\s+Code`},{canonical:`Pub. Resources Code`,regexFragment:`Pub\\.?\\s+Resources\\s+Code`},{canonical:`Unemp. Ins. Code`,regexFragment:`Unemp\\.?\\s+Ins\\.?\\s+Code`},{canonical:`Civ. Code`,regexFragment:`Civ\\.?\\s+Code`},{canonical:`Corp. Code`,regexFragment:`Corp\\.?\\s+Code`},{canonical:`Educ. Code`,regexFragment:`Educ\\.?\\s+Code`},{canonical:`Elec. Code`,regexFragment:`Elec\\.?\\s+Code`},{canonical:`Evid. Code`,regexFragment:`Evid\\.?\\s+Code`},{canonical:`Fam. Code`,regexFragment:`Fam\\.?\\s+Code`},{canonical:`Gov. Code`,regexFragment:`Gov\\.?\\s+Code`},{canonical:`Ins. Code`,regexFragment:`Ins\\.?\\s+Code`},{canonical:`Lab. Code`,regexFragment:`Lab\\.?\\s+Code`},{canonical:`Pen. Code`,regexFragment:`Pen\\.?\\s+Code`},{canonical:`Prob. Code`,regexFragment:`Prob\\.?\\s+Code`},{canonical:`Veh. Code`,regexFragment:`Veh\\.?\\s+Code`},{canonical:`Water Code`,regexFragment:`Water\\s+Code`}];function cn(){let e=[...sn].sort((e,t)=>t.regexFragment.length-e.regexFragment.length).map(e=>e.regexFragment).join(`|`);return RegExp(`\\b(${e})\\s*,?\\s*§§?\\s*(\\d+(?:[A-Za-z0-9:/-]|\\.(?=[A-Za-z0-9]))*(?:\\([^)]*\\))*(?:,?\\s+(?:subd\\.|subdivision|paragraph|par\\.)\\s+(?:\\([^)]*\\)|\\[[^\\]]*\\])(?:\\s*(?:\\([^)]*\\)|\\[[^\\]]*\\]))*)?(?:\\s*[-–—]+\\s*\\([A-Za-z0-9]+\\))?(?:\\s*et\\s+seq\\.?)?)`,`g`)}function ln(e){let t=e.replace(/\s+/g,` `).trim();for(let e of sn)if(RegExp(`^${e.regexFragment}$`,`i`).test(t))return e.canonical}const un=/^(.+?)\s*,?\s*§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:,?\s+(?:subd\.|subdivision|paragraphs?|pars?\.)\s+(?:\([^)]*\)|\[[^\]]*\])(?:\s*(?:\([^)]*\)|\[[^\]]*\]))*)?(?:\s*[-–—]+\s*\([A-Za-z0-9]+\))?(?:\s*et\s+seq\.?)?)$/d;function dn(e,t){let{text:n,span:r}=e,i=un.exec(n),a=i[1].trim(),c=i[2],l=ln(a),{section:u,subsection:d,subsectionRangeEnd:f,hasEtSeq:p}=Q(c),{originalStart:m,originalEnd:h}=s(r,t),g;if(i?.indices&&(g={},i.indices[1]&&(g.code=o(r.cleanStart,i.indices[1],t)),i.indices[2]&&u)){let e=i.indices[2][0],n=u.replace(/[.,;:]\s*$/,``).length;if(g.section=o(r.cleanStart,[e,e+n],t),d){let n=e+u.length;g.subsection=o(r.cleanStart,[n,n+d.length],t)}}let _=.95;return d&&(_+=.05),_=Math.min(_,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:m,originalEnd:h},confidence:_,matchedText:n,processTimeMs:0,patternsChecked:1,code:l,section:u,subsection:d,subsectionRange:d&&f?{start:d,end:f}:void 0,pincite:d,jurisdiction:`CA`,hasEtSeq:p||void 0,spans:g}}const fn=/^(\d+)\s+(?:ILCS|Ill\.?\s*Comp\.?\s*Stat\.?)\s*(?:Ann\.?\s+)?(\d+)\/(\d+(?:[A-Za-z0-9:-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)$/d;function pn(e,t){let{text:n,span:r}=e,i=fn.exec(n),a,c,l;i?(a=Number.parseInt(i[1],10),c=i[2],l=i[3]):(c=n,l=``);let{section:u,subsection:d,hasEtSeq:f}=Q(l),{originalStart:p,originalEnd:m}=s(r,t),h=u.replace(/[.,;:]\s*$/,``).length,g;if(i?.indices&&(g={},i.indices[1]&&(g.title=o(r.cleanStart,i.indices[1],t)),i.indices[2]&&(g.code=o(r.cleanStart,i.indices[2],t)),i.indices[3]&&u)){let e=i.indices[3][0];if(g.section=o(r.cleanStart,[e,e+h],t),d){let n=e+u.length;g.subsection=o(r.cleanStart,[n,n+d.length],t)}}let _=i?.95:.3;return d&&(_+=.05),_=Math.min(_,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:p,originalEnd:m},confidence:_,matchedText:n,processTimeMs:0,patternsChecked:1,title:a,code:c,section:u,subsection:d,pincite:d,jurisdiction:i?`IL`:void 0,hasEtSeq:f||void 0,spans:g}}const mn=/^[Ss]ection\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*),?\s+(Colo(?:rado)?\.?\s+Rev(?:ised)?\.?\s+Stat(?:utes)?\.?(?:\s+Ann(?:otated)?\.?)?)(?:\s+(19\d{2}))?$/d;function hn(e,t){let{text:n,span:r}=e,i=mn.exec(n),a=i[1],c=i[2].replace(/\s+/g,` `).trim(),l=i[3],u=l?`${c} ${l}`:c,{section:d,subsection:f,hasEtSeq:p}=Q(a),{originalStart:m,originalEnd:h}=s(r,t),g;if(i.indices){g={};let e=i.indices[1];if(e&&d){let n=e[0],i=d.replace(/[.,;:]\s*$/,``).length;if(g.section=o(r.cleanStart,[n,n+i],t),f){let e=n+d.length;g.subsection=o(r.cleanStart,[e,e+f.length],t)}}i.indices[2]&&(g.code=o(r.cleanStart,i.indices[2],t))}let _=.9;return f&&(_+=.05),_=Math.min(_,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:m,originalEnd:h},confidence:_,matchedText:n,processTimeMs:0,patternsChecked:1,code:u,section:d,subsection:f,pincite:f,jurisdiction:`CO`,hasEtSeq:p||void 0,spans:g}}const gn=/^(\d+)\s*,?\s+(U\.?S\.?C\.?[AS]?\.?|USC[AS]?|United\s+States\s+Code|C\.?F\.?R\.?|Code\s+of\s+Federal\s+Regulations)\s*,?\s*(?:§§?|[Ss]ections?|[Ss]ec\.?|Part|pt\.)?\s*(.+)$/d,_n=/^(\d+)\s*,?\s+(U\.?S\.?C\.?[AS]?\.?|USC[AS]?|United\s+States\s+Code|C\.?F\.?R\.?|Code\s+of\s+Federal\s+Regulations)\s*,?\s+(?:Part|pt\.)\s+(.+)$/d;function vn(e,t){let{text:n,span:r}=e,i=gn.exec(n)??_n.exec(n),a,c,l;if(i){a=Number.parseInt(i[1],10);let e=i[2];l=i[3];let t=e.toUpperCase().replace(/[.\s]/g,``);c=t.includes(`CFR`)||t.includes(`FEDERALREGULATIONS`)?`C.F.R.`:`U.S.C.`}else c=e.patternId===`cfr`?`C.F.R.`:`U.S.C.`,l=n,a=void 0;let{section:u,sectionRangeEnd:d,subsection:f,subsectionRangeEnd:p,hasEtSeq:m}=Q(l),h=d!==void 0&&/§§/.test(n),g=h?u.split(`-`)[0]:u,_=h?{start:g,end:d}:void 0,{originalStart:v,originalEnd:y}=s(r,t),b;if(i?.indices&&(b={},i.indices[1]&&(b.title=o(r.cleanStart,i.indices[1],t)),i.indices[2]&&(b.code=o(r.cleanStart,i.indices[2],t)),i.indices[3]&&g)){let e=i.indices[3][0],n=g.replace(/[.,;:]\s*$/,``).length;if(b.section=o(r.cleanStart,[e,e+n],t),f){let n=e+g.length;b.subsection=o(r.cleanStart,[n,n+f.length],t)}}let x=.95;return a!==void 0&&(x+=.05),f&&(x+=.05),x=Math.min(x,1),{type:c===`C.F.R.`?`regulation`:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:v,originalEnd:y},confidence:x,matchedText:n,processTimeMs:0,patternsChecked:1,title:a,code:c,section:g,sectionRange:_,subsection:f,subsectionRange:f&&p?{start:f,end:p}:void 0,pincite:f,jurisdiction:`US`,hasEtSeq:m||void 0,spans:b}}const yn=/^(?:[Ss]ections?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?),?\s+(?:Florida\s+Statutes|Fla\.\s*Stat\.)$/d,bn=/^Florida\s+Statutes?\s*§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?)$/d;function xn(e,t){let{text:n,span:r}=e,i=(e.patternId===`florida-postfix`?yn:bn).exec(n),a=i[1],{section:c,subsection:l,hasEtSeq:u}=Q(a),{originalStart:d,originalEnd:f}=s(r,t),p;if(i.indices){p={};let e=i.indices[1];if(e&&c){let n=e[0],i=c.replace(/[.,;:]\s*$/,``).length;if(p.section=o(r.cleanStart,[n,n+i],t),l){let e=n+c.length;p.subsection=o(r.cleanStart,[e,e+l.length],t)}}}let m=.95;return l&&(m+=.05),m=Math.min(m,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:m,matchedText:n,processTimeMs:0,patternsChecked:1,code:`Fla. Stat.`,section:c,subsection:l,pincite:l,jurisdiction:`FL`,hasEtSeq:u||void 0,spans:p}}const Sn=/^(Code(?:\s+Ann\.?)?)\s+§\s*(\d+-\d+(?:[A-Za-z0-9])?(?:\([A-Za-z0-9]+\))*)$/d;function Cn(e,t){let{text:n,span:r}=e,i=Sn.exec(n),a=i[1],c=i[2],{section:l,subsection:u,hasEtSeq:d}=Q(c),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={},i.indices[1]&&(m.code=o(r.cleanStart,i.indices[1],t));let e=i.indices[2];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.85;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:a,section:l,subsection:u,pincite:u,jurisdiction:`GA`,hasEtSeq:d||void 0,spans:m}}const wn=/^IC\s+(\d{4}),\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)$/d;function Tn(e,t){let{text:n,span:r}=e,i=wn.exec(n),a=Number.parseInt(i[1],10),c=i[2],{section:l,subsection:u,hasEtSeq:d}=Q(c),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={};let e=i.indices[2];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.95;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:`IC`,section:l,subsection:u,pincite:u,year:a,jurisdiction:`IN`,hasEtSeq:d||void 0,spans:m}}const En=/^(?:[Ss]ections?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?),?\s+Idaho\s+Code(?:\s+Ann\.?)?$/d;function Dn(e,t){let{text:n,span:r}=e,i=En.exec(n),a=i[1],{section:c,subsection:l,hasEtSeq:u}=Q(a),{originalStart:d,originalEnd:f}=s(r,t),p;if(i.indices){p={};let e=i.indices[1];if(e&&c){let n=e[0],i=c.replace(/[.,;:]\s*$/,``).length;if(p.section=o(r.cleanStart,[n,n+i],t),l){let e=n+c.length;p.subsection=o(r.cleanStart,[e,e+l.length],t)}}}let m=.95;return l&&(m+=.05),m=Math.min(m,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:m,matchedText:n,processTimeMs:0,patternsChecked:1,code:`Idaho Code`,section:c,subsection:l,pincite:l,jurisdiction:`ID`,hasEtSeq:u||void 0,spans:p}}const On=/^Ill\.?\s*Rev\.?\s*Stat\.?,?\s+(\d{4}),?\s+[Cc]h(?:ap)?\.\s+(\d+[A-Z]?),?\s+pars?\.\s+(\d+(?:[A-Za-z0-9:-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)$/d;function kn(e,t){let{text:n,span:r}=e,i=On.exec(n),a=Number.parseInt(i[1],10),c=i[2],l=Number.parseInt(c,10),u=i[3],{section:d,subsection:f,hasEtSeq:p}=Q(u),{originalStart:m,originalEnd:h}=s(r,t),g;if(i.indices&&(g={},i.indices[2]&&(g.title=o(r.cleanStart,i.indices[2],t)),i.indices[3]&&d)){let e=i.indices[3][0],n=d.replace(/[.,;:]\s*$/,``).length;if(g.section=o(r.cleanStart,[e,e+n],t),f){let n=e+d.length;g.subsection=o(r.cleanStart,[n,n+f.length],t)}}let _=.95;return f&&(_+=.05),_=Math.min(_,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:m,originalEnd:h},confidence:_,matchedText:n,processTimeMs:0,patternsChecked:1,title:l,code:`Ill. Rev. Stat.`,section:d,subsection:f,pincite:f,year:a,jurisdiction:`IL`,hasEtSeq:p||void 0,spans:g}}const An=/^(?:I\.R\.C\.|IRC)\s*§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)$/d;function jn(e,t){let{text:n,span:r}=e,i=An.exec(n),a=i[1],{section:c,subsection:l,hasEtSeq:u}=Q(a),{originalStart:d,originalEnd:f}=s(r,t),p;if(i.indices){p={};let e=i.indices[1];if(e&&c){let n=e[0],i=c.replace(/[.,;:]\s*$/,``).length;if(p.section=o(r.cleanStart,[n,n+i],t),l){let e=n+c.length;p.subsection=o(r.cleanStart,[e,e+l.length],t)}}}let m=.95;return l&&(m+=.05),m=Math.min(m,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:m,matchedText:n,processTimeMs:0,patternsChecked:1,code:`I.R.C.`,section:c,subsection:l,pincite:l,jurisdiction:`US`,hasEtSeq:u||void 0,spans:p}}const Mn=/^K\.?\s*S\.?\s*A\.?\s+(\d{4})(?:\s+(Supp\.?))?\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9])|,(?=\d))*(?:\([^)]*\))*)$/d;function Nn(e,t){let{text:n,span:r}=e,i=Mn.exec(n),a=Number.parseInt(i[1],10),c=i[2]!==void 0,l=i[3],{section:u,subsection:d,hasEtSeq:f}=Q(l),{originalStart:p,originalEnd:m}=s(r,t),h;if(i.indices){h={};let e=i.indices[3];if(e&&u){let n=e[0],i=u.replace(/[.,;:]\s*$/,``).length;if(h.section=o(r.cleanStart,[n,n+i],t),d){let e=n+u.length;h.subsection=o(r.cleanStart,[e,e+d.length],t)}}}let g=.95;return d&&(g+=.05),g=Math.min(g,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:p,originalEnd:m},confidence:g,matchedText:n,processTimeMs:0,patternsChecked:1,code:`K.S.A.`,section:u,subsection:d,pincite:d,year:a,editionLabel:c?`Supp.`:void 0,jurisdiction:`KS`,hasEtSeq:f||void 0,spans:h}}const Pn=/^(?:[Ss]ections?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?),?\s+MCA$/d;function Fn(e,t){let{text:n,span:r}=e,i=Pn.exec(n),a=i[1],{section:c,subsection:l,hasEtSeq:u}=Q(a),{originalStart:d,originalEnd:f}=s(r,t),p;if(i.indices){p={};let e=i.indices[1];if(e&&c){let n=e[0],i=c.replace(/[.,;:]\s*$/,``).length;if(p.section=o(r.cleanStart,[n,n+i],t),l){let e=n+c.length;p.subsection=o(r.cleanStart,[e,e+l.length],t)}}}let m=.95;return l&&(m+=.05),m=Math.min(m,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:m,matchedText:n,processTimeMs:0,patternsChecked:1,code:`MCA`,section:c,subsection:l,pincite:l,jurisdiction:`MT`,hasEtSeq:u||void 0,spans:p}}const In=/^(AB|AG|BO|BR|CJ|CL|CP|CR|CS|EC|ED|EL|EN|ET|FI|FL|GP|HG|HO|HS|HU|IN|LE|LG|LU|NR|PS|PUC|R\.?P\.?|RP|SF|SG|TA|TG|TP|TR)\s*§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)$/d;function Ln(e,t){let{text:n,span:r}=e,i=In.exec(n),a=i[1],c=i[2],{section:l,subsection:u,hasEtSeq:d}=Q(c),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={},i.indices[1]&&(m.code=o(r.cleanStart,i.indices[1],t));let e=i.indices[2];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.95;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:a,section:l,subsection:u,pincite:u,jurisdiction:`MD`,hasEtSeq:d||void 0,spans:m}}const Rn=/^Minn\.?\s+(?:Stat|St)\.?\s+(19\d{2}),\s*§\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\)|\[[^\]]*\])*)$/d;function zn(e,t){let{text:n,span:r}=e,i=Rn.exec(n),a=Number.parseInt(i[1],10),c=i[2],{section:l,subsection:u,hasEtSeq:d}=Q(c),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={};let e=i.indices[2];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.95;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:`Minn. Stat.`,section:l,subsection:u,pincite:u,year:a,jurisdiction:`MN`,hasEtSeq:d||void 0,spans:m}}const Bn=/^(N\.?\s*Y\.?|Cal(?:ifornia)?\.?|Tex(?:as)?\.?|Md\.?|Va\.?|Ala(?:bama)?\.?)\s+(.*?)\s*§§?\s*(.+)$/ds,Vn=/^(.*?)\s*(?:ch\.?|c\.?)\s*(\w+)(?:,?\s*(?:§§?|[Ss]ec\.?|[Ss]ection)\s*(.+))?$/d,Hn={"n.y.":`NY`,"n.y":`NY`,ny:`NY`,"cal.":`CA`,cal:`CA`,"california.":`CA`,california:`CA`,"tex.":`TX`,tex:`TX`,"texas.":`TX`,texas:`TX`,"md.":`MD`,md:`MD`,"va.":`VA`,va:`VA`,"ala.":`AL`,ala:`AL`,"alabama.":`AL`,alabama:`AL`};function Un(e){return Hn[e.toLowerCase().replace(/\s+/g,``)]}const Wn={VA:`Va.`,AL:`Ala.`};function Gn(e){return e.replace(/^\s*Code\s+Ann\.\s*,\s*/i,``).replace(/^\s*Code\s*,\s*/i,``).replace(/\s+Code\s*$/i,``).replace(/\s+Ann\.?\s*$/i,``).replace(/,\s*$/,``).trim()}function Kn(t,n){let{text:r,span:i}=t,a,c,l,u,d=null,f=null;if(t.patternId===`mass-chapter`)d=Vn.exec(r),d?(a=`MA`,c=d[1].trim().replace(/\s+/g,` `),u=d[2],l=d[3]??``):(c=r,l=``);else if(f=Bn.exec(r),f){a=Un(f[1]);let t=f[1].trim(),n=f[2],r=Gn(n);if(a){let i=e.r(a,r),o=Wn[a];c=o&&i?`${o} ${n.trim().replace(/\s+/g,` `)}`:`${t} ${n.trim()}`}else c=`${t} ${n.trim()}`;l=f[3]}else c=r,l=``;let{section:p,subsection:m,sectionRangeEnd:h,subsectionRangeEnd:g,hasEtSeq:_}=Q(l),{originalStart:v,originalEnd:y}=s(i,n),b=p.replace(/[.,;:]\s*$/,``).length,x;if(d?.indices){if(x={},d.indices[2]&&(x.code=o(i.cleanStart,d.indices[2],n)),d.indices[3]&&p){let e=d.indices[3][0];if(x.section=o(i.cleanStart,[e,e+b],n),m){let t=e+p.length;x.subsection=o(i.cleanStart,[t,t+m.length],n)}}}else if(f?.indices&&(x={},f.indices[2]&&(x.code=o(i.cleanStart,f.indices[2],n)),f.indices[3]&&p)){let e=f.indices[3][0];if(x.section=o(i.cleanStart,[e,e+b],n),m){let t=e+p.length;x.subsection=o(i.cleanStart,[t,t+m.length],n)}}let S=a?.95:.5;m&&(S+=.05),S=Math.min(S,1);let C=p===``&&u?void 0:p;return{type:`statute`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:v,originalEnd:y},confidence:S,matchedText:r,processTimeMs:0,patternsChecked:1,code:c,chapter:u,section:C,sectionRange:C&&h?{start:C,end:h}:void 0,subsection:m,subsectionRange:m&&g?{start:m,end:g}:void 0,pincite:m,jurisdiction:a,hasEtSeq:_||void 0,spans:x}}const qn=/^(?:§\s*|[Ss]ection\s+)(\d+[A-Z]?-\d+[A-Z]?-\d+[A-Z]?(?:\([A-Za-z0-9.]+\)|\[[A-Za-z0-9.]+\])*)$/d;function Jn(e,t){let{text:n,span:r}=e,i=qn.exec(n),a=i[1],{section:c,subsection:l,hasEtSeq:u}=Q(a),{originalStart:d,originalEnd:f}=s(r,t),p;if(i.indices){p={};let e=i.indices[1];if(e&&c){let n=e[0],i=c.replace(/[.,;:]\s*$/,``).length;if(p.section=o(r.cleanStart,[n,n+i],t),l){let e=n+c.length;p.subsection=o(r.cleanStart,[e,e+l.length],t)}}}let m=.9;return l&&(m+=.05),m=Math.min(m,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:m,matchedText:n,processTimeMs:0,patternsChecked:1,code:`NMSA 1978`,section:c,subsection:l,pincite:l,jurisdiction:`NM`,hasEtSeq:u||void 0,spans:p}}const Yn=/^(\d+)\s+(L\.P\.R\.A\.|LPRA)\s*§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)/d;function Xn(e,t){let{text:n,span:r}=e,i=Yn.exec(n),a=Number.parseInt(i[1],10),c=i[3],{section:l,subsection:u,hasEtSeq:d}=Q(c),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={};let e=i.indices[3];if(e&&l){let n=l.replace(/[.,;:]\s*$/,``).length;m.section=o(r.cleanStart,[e[0],e[0]+n],t)}}let h=.95;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,title:a,code:`L.P.R.A.`,section:l,subsection:u,pincite:u,jurisdiction:`PR`,hasEtSeq:d||void 0,spans:m}}const Zn=/^(Penal|Labor|Real Property|General Business|General Obligations|General Municipal|Municipal Home Rule|Criminal Procedure|Insurance|Executive|Judiciary|Civil Practice|Civil Rights|Education|Public Health|Banking|Domestic Relations|Environmental Conservation|Election|Social Services|Estates Powers and Trusts|Vehicle and Traffic|Surrogate's Court Procedure|Family Court|Court of Claims|Workers' Compensation|Highway|Tax|Personal Property)\s+Law\s+§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\)|\[[^\]]*\])*(?:\s+(?:\([^)]*\)|\[[^\]]*\]))*)$/d;function Qn(e,t){let{text:n,span:r}=e,i=Zn.exec(n),a=i[1],{section:c,subsection:l,hasEtSeq:u}=Q(i[2].replace(/\s+/g,``)),{originalStart:d,originalEnd:f}=s(r,t),p;if(i.indices){p={},i.indices[1]&&(p.code=o(r.cleanStart,i.indices[1],t));let e=i.indices[2];if(e&&c){let n=e[0],i=c.replace(/[.,;:]\s*$/,``).length;if(p.section=o(r.cleanStart,[n,n+i],t),l){let e=n+c.length;p.subsection=o(r.cleanStart,[e,e+l.length],t)}}}let m=.9;return l&&(m+=.05),m=Math.min(m,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:m,matchedText:n,processTimeMs:0,patternsChecked:1,code:`${a} Law`,section:c,subsection:l,pincite:l,jurisdiction:`NY`,hasEtSeq:u||void 0,spans:p}}const $n=/^(?:N\.\s*Y\.\s*)?(RPAPL|RPL|BCL|EPTL|SCPA|DRL|LLCL|VTL)\s*(?:§§?\s*)?(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*)((?:\s*(?:\([^)]*\)|\[[^\]]*\]))*)$/d;function er(e,t){let{text:n,span:r}=e,i=$n.exec(n),a=i[1],{section:c,subsection:l,hasEtSeq:u}=Q(`${i[2]}${(i[3]??``).replace(/\s+/g,``)}`),{originalStart:d,originalEnd:f}=s(r,t),p;if(i.indices){p={};let e=i.indices[2];if(e&&c){let n=c.replace(/[.,;:]\s*$/,``).length;p.section=o(r.cleanStart,[e[0],e[0]+n],t)}let n=i.indices[3];n&&l&&n[0]<n[1]&&(p.subsection=o(r.cleanStart,n,t))}let m=.95;return l&&(m+=.05),m=Math.min(m,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:m,matchedText:n,processTimeMs:0,patternsChecked:1,code:`N.Y. ${a}`,section:c,subsection:l,pincite:l,jurisdiction:`NY`,hasEtSeq:u||void 0,spans:p}}const tr=/^(?:N\.\s*Y\.\s*)?C\.?\s*P\.?\s*L\.?\s*R\.?\s*(?:§§?\s*)?(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*)((?:\s*(?:\([^)]*\)|\[[^\]]*\]))*)$/d;function nr(e,t){let{text:n,span:r}=e,i=tr.exec(n),{section:a,subsection:c,hasEtSeq:l}=Q(`${i[1]}${(i[2]??``).replace(/\s+/g,``)}`),{originalStart:u,originalEnd:d}=s(r,t),f;if(i.indices){f={};let e=i.indices[1];if(e&&a){let n=a.replace(/[.,;:]\s*$/,``).length;f.section=o(r.cleanStart,[e[0],e[0]+n],t)}let n=i.indices[2];n&&c&&n[0]<n[1]&&(f.subsection=o(r.cleanStart,n,t))}let p=.95;return c&&(p+=.05),p=Math.min(p,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:u,originalEnd:d},confidence:p,matchedText:n,processTimeMs:0,patternsChecked:1,code:`N.Y. C.P.L.R.`,section:a,subsection:c,pincite:c,jurisdiction:`NY`,hasEtSeq:l||void 0,spans:f}}const rr=/^(?:N\.\s*Y\.\s*C\.\s*Admin\.?\s+Code|NYC\s+Admin\.?\s+Code|New\s+York\s+City\s+Administrative\s+Code)\s+§§?\s*(\d+-\d+(?![\d-])(?!\.\d)(?:[A-Za-z0-9])?)((?:\([^)]*\))*)$/d;function ir(e,t){let{text:n,span:r}=e,i=rr.exec(n),{section:a,subsection:c,hasEtSeq:l}=Q(`${i[1]}${i[2]??``}`),{originalStart:u,originalEnd:d}=s(r,t),f;if(i.indices){f={};let e=i.indices[1];if(e&&a){let n=a.replace(/[.,;:]\s*$/,``).length;f.section=o(r.cleanStart,[e[0],e[0]+n],t)}let n=i.indices[2];n&&c&&n[0]<n[1]&&(f.subsection=o(r.cleanStart,n,t))}let p=.95;return c&&(p+=.05),p=Math.min(p,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:u,originalEnd:d},confidence:p,matchedText:n,processTimeMs:0,patternsChecked:1,code:`N.Y.C. Admin. Code`,section:a,subsection:c,pincite:c,jurisdiction:`NY`,hasEtSeq:l||void 0,spans:f}}const ar=/^R\.?\s*C\.?\s+Chapter\s+(\d+)$/d;function or(e,t){let{text:n,span:r}=e,i=ar.exec(n),a=i[1],{originalStart:c,originalEnd:l}=s(r,t),u;return i.indices&&(u={},i.indices[1]&&(u.section=o(r.cleanStart,i.indices[1],t))),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:c,originalEnd:l},confidence:.95,matchedText:n,processTimeMs:0,patternsChecked:1,code:`R.C.`,section:a,jurisdiction:`OH`,spans:u}}const sr=/^ORS\s+chapter\s+(\d+)$/d;function cr(e,t){let{text:n,span:r}=e,i=sr.exec(n),a=i[1],{originalStart:c,originalEnd:l}=s(r,t),u;return i.indices&&(u={},i.indices[1]&&(u.section=o(r.cleanStart,i.indices[1],t))),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:c,originalEnd:l},confidence:.95,matchedText:n,processTimeMs:0,patternsChecked:1,code:`ORS`,section:a,jurisdiction:`OR`,spans:u}}const lr=/[Ss]ection\s+(\d+[A-Za-z0-9-]*)((?:\([^)]*\))*)\s+of\s+title\s+(\d+)/d;function ur(e,t){let{text:n,span:r}=e,i=lr.exec(n),a,c,l;i?(a=i[1],c=i[2]||void 0,l=Number.parseInt(i[3],10)):a=n;let{originalStart:u,originalEnd:d}=s(r,t),f;i?.indices&&(f={},i.indices[1]&&(f.section=o(r.cleanStart,i.indices[1],t)),i.indices[3]&&(f.title=o(r.cleanStart,i.indices[3],t)),i.indices[2]&&c&&(f.subsection=o(r.cleanStart,i.indices[2],t)));let p=.85;return l!==void 0&&(p+=.05),c&&(p+=.05),p=Math.min(p,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:u,originalEnd:d},confidence:p,matchedText:n,processTimeMs:0,patternsChecked:1,title:l,code:`U.S.C.`,section:a,subsection:c,pincite:c,jurisdiction:`US`,spans:f}}const dr=/^RLH\s+(\d{4})\s+§\s+(\d+(?:[A-Za-z0-9:-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)$/d;function fr(e,t){let{text:n,span:r}=e,i=dr.exec(n),a=Number.parseInt(i[1],10),c=i[2],{section:l,subsection:u,hasEtSeq:d}=Q(c),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={};let e=i.indices[2];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.95;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:`RLH`,section:l,subsection:u,pincite:u,year:a,jurisdiction:`HI`,hasEtSeq:d||void 0,spans:m}}const pr=/^(?:[Ss]ections?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*),?\s+R\.?\s*R\.?\s*S\.?\s+1943(?:,\s+Reissue\s+(\d{4}))?$/d;function mr(e,t){let{text:n,span:r}=e,i=pr.exec(n),a=i[1],c=i[2]?Number.parseInt(i[2],10):void 0,{section:l,subsection:u,hasEtSeq:d}=Q(a),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={};let e=i.indices[1];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.95;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:`R.R.S. 1943`,section:l,subsection:u,pincite:u,year:c,editionLabel:c===void 0?void 0:`Reissue`,jurisdiction:`NE`,hasEtSeq:d||void 0,spans:m}}const hr=/^G\.?\s*L\.?\s+1956\s*(?:\((\d{4})\s+Reenactment\))?\s*,?\s*§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)$/d;function gr(e,t){let{text:n,span:r}=e,i=hr.exec(n),a=i[1]?Number.parseInt(i[1],10):void 0,c=i[2],{section:l,subsection:u,hasEtSeq:d}=Q(c),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={};let e=i.indices[2];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.95;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:`G.L. 1956`,section:l,subsection:u,pincite:u,year:a,editionLabel:a===void 0?void 0:`Reenactment`,jurisdiction:`RI`,hasEtSeq:d||void 0,spans:m}}const _r=/^RSA\s+(?:\[chapter\]|chapter|ch\.?)\s+(\d+(?:-[A-Z])?)$/d;function vr(e,t){let{text:n,span:r}=e,i=_r.exec(n),a=i[1],{originalStart:c,originalEnd:l}=s(r,t),u;return i.indices&&(u={},i.indices[1]&&(u.section=o(r.cleanStart,i.indices[1],t))),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:c,originalEnd:l},confidence:.95,matchedText:n,processTimeMs:0,patternsChecked:1,code:`RSA`,section:a,jurisdiction:`NH`,spans:u}}const yr=/^[Cc]hapter\s+(\d+\.\d+)\s+RCW$/d;function br(e,t){let{text:n,span:r}=e,i=yr.exec(n),a=i[1],{originalStart:c,originalEnd:l}=s(r,t),u;return i.indices&&(u={},i.indices[1]&&(u.section=o(r.cleanStart,i.indices[1],t))),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:c,originalEnd:l},confidence:.95,matchedText:n,processTimeMs:0,patternsChecked:1,code:`RCW`,section:a,jurisdiction:`WA`,spans:u}}function xr(e){let t=/^(\d+\.\d+\.\d+\.\d+(?:\([A-Z]\))?)\s+NMAC$/.exec(e);if(t||(t=/^NMAC\s+(\d+\.\d+\.\d+\.\d+(?:\([A-Z]\))?)$/.exec(e),t))return{code:`NMAC`,section:t[1],jurisdiction:`NM`};if(t=/^OAR\s+(\d+-\d+-\d+)$/.exec(e),t)return{code:`OAR`,section:t[1],jurisdiction:`OR`};if(t=/^COMAR\s+(\d+\.\d+\.\d+\.\d+[A-Z]?)$/.exec(e),t)return{code:`COMAR`,section:t[1],jurisdiction:`MD`};if(t=/^IDAPA\s+(\d+\.\d+\.\d+\.\d+\.\d+)$/.exec(e),t)return{code:`IDAPA`,section:t[1],jurisdiction:`ID`};if(t=/^(\d+\.\d+\.\d+(?:\(\d+\))?),\s+ARM$/.exec(e),t)return{code:`ARM`,section:t[1],jurisdiction:`MT`}}function Sr(e,t){let{text:n,span:r}=e,i=xr(n),{originalStart:a,originalEnd:o}=s(r,t);return{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:a,originalEnd:o},confidence:.95,matchedText:n,processTimeMs:0,patternsChecked:1,code:i?.code??n,section:i?.section??``,jurisdiction:i?.jurisdiction,spans:{}}}const Cr=/^(?:[Ss]ections?|[Ss]ec\.?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?),?\s+T\.?C\.?A\.?$/d;function wr(e,t){let{text:n,span:r}=e,i=Cr.exec(n),a=i[1],{section:c,subsection:l,hasEtSeq:u}=Q(a),{originalStart:d,originalEnd:f}=s(r,t),p;if(i.indices){p={};let e=i.indices[1];if(e&&c){let n=e[0],i=c.replace(/[.,;:]\s*$/,``).length;if(p.section=o(r.cleanStart,[n,n+i],t),l){let e=n+c.length;p.subsection=o(r.cleanStart,[e,e+l.length],t)}}}let m=.95;return l&&(m+=.05),m=Math.min(m,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:m,matchedText:n,processTimeMs:0,patternsChecked:1,code:`T.C.A.`,section:c,subsection:l,pincite:l,jurisdiction:`TN`,hasEtSeq:u||void 0,spans:p}}const Tr=/\b(U\.S\.S\.G\.|USSG)\s*§§?\s*(\d+(?:[A-Za-z0-9-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)/d;function Er(e,t){let{text:n,span:r}=e,i=Tr.exec(n);if(!i)throw Error(`Failed to parse USSG citation: ${n}`);let a=i[2],{section:c,subsection:l}=Q(a),{originalStart:u,originalEnd:d}=s(r,t),f;if(i.indices){f={};let e=i.indices[1],n=i.indices[2];if(e&&(f.code=o(r.cleanStart,e,t)),n&&c){let[e]=n;if(f.section=o(r.cleanStart,[e,e+c.length],t),l){let n=e+c.length;f.subsection=o(r.cleanStart,[n,n+l.length],t)}}}return{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:u,originalEnd:d},confidence:.95,matchedText:n,processTimeMs:0,patternsChecked:1,code:`U.S.S.G.`,section:c,subsection:l,pincite:l,jurisdiction:`US`,spans:f}}const Dr=/^(Virginia\s+Code|Code)\s+§\s*((?:\d+\.\d+-\d+(?:\.\d+)?|\d+-\d+\.\d+)(?:\([A-Za-z0-9]+\))*)$/d;function Or(e,t){let{text:n,span:r}=e,i=Dr.exec(n),a=i[2],{section:c,subsection:l,hasEtSeq:u}=Q(a),{originalStart:d,originalEnd:f}=s(r,t),p;if(i.indices){p={},i.indices[1]&&(p.code=o(r.cleanStart,i.indices[1],t));let e=i.indices[2];if(e&&c){let n=e[0],i=c.replace(/[.,;:]\s*$/,``).length;if(p.section=o(r.cleanStart,[n,n+i],t),l){let e=n+c.length;p.subsection=o(r.cleanStart,[e,e+l.length],t)}}}let m=.9;return l&&(m+=.05),m=Math.min(m,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:m,matchedText:n,processTimeMs:0,patternsChecked:1,code:`Va. Code`,section:c,subsection:l,pincite:l,jurisdiction:`VA`,hasEtSeq:u||void 0,spans:p}}const kr=/^(?:§§?|[Ss]ections?|[Ss]ec\.?)\s*(\d+\.\d+(?:[A-Za-z0-9])?(?:\s*\([^)]*\))*[A-Za-z0-9]*(?:\s+et\s+seq\.?)?),?\s+(?:Stats\.|STATS\.)$/d;function Ar(e,t){let{text:n,span:r}=e,i=kr.exec(n),a=i[1].match(/\s+et\s+seq\.?$/),c=(a?i[1].slice(0,-a[0].length):i[1]).replace(/\s+/g,``),{section:l,subsection:u,hasEtSeq:d}=Q(a?`${c} et seq.`:c),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={};let e=i.indices[1];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.95;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:`Wis. Stat.`,section:l,subsection:u,pincite:u,jurisdiction:`WI`,hasEtSeq:d||void 0,spans:m}}const jr=/^Code,?(?:\s+(1931))?,\s+(\d+-\d+[A-Z]?-\d+(?:[A-Za-z0-9])?(?:\([A-Za-z0-9]+\))*)$/d;function Mr(e,t){let{text:n,span:r}=e,i=jr.exec(n),a=i[1]?Number.parseInt(i[1],10):void 0,c=i[2],{section:l,subsection:u,hasEtSeq:d}=Q(c),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={};let e=i.indices[2];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.9;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:`W. Va. Code`,section:l,subsection:u,pincite:u,year:a,jurisdiction:`WV`,hasEtSeq:d||void 0,spans:m}}function Nr(e,t){let{text:n,span:r}=e,i=/^(?:(\d+)\s+)?([A-Za-z.\s]+?)\s*§+\s*(\d+[A-Za-z0-9-]*)/.exec(n);if(!i){let{originalStart:e,originalEnd:i}=s(r,t);return{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:e,originalEnd:i},confidence:.3,matchedText:n,processTimeMs:0,patternsChecked:1,code:n,section:``}}let a=i[1]?Number.parseInt(i[1],10):void 0,o=i[2].trim(),c=i[3],{originalStart:l,originalEnd:u}=s(r,t),d=.5;return[`U.S.C.`,`C.F.R.`,`Cal. Civ. Code`,`Cal. Penal Code`,`N.Y. Civ. Prac. L. & R.`,`Tex. Civ. Prac. & Rem. Code`].some(e=>o.includes(e))&&(d+=.3),d=Math.min(d,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:l,originalEnd:u},confidence:d,matchedText:n,processTimeMs:0,patternsChecked:1,title:a,code:o,section:c}}function Pr(e,t){switch(e.patternId){case`usc`:case`cfr`:return vn(e,t);case`prose`:return ur(e,t);case`abbreviated-code`:return Qt(e,t);case`ca-bare-code`:return dn(e,t);case`named-code`:case`mass-chapter`:return Kn(e,t);case`chapter-act`:return pn(e,t);case`ill-rev-stat`:return kn(e,t);case`ala-code-prefix`:case`ala-title-trailer`:case`ala-tit-bare`:return nn(e,t);case`colorado-prose`:return hn(e,t);case`florida-postfix`:case`florida-prefix-spelled`:return xn(e,t);case`ga-pre-1983`:return Cn(e,t);case`ic-year-edition`:return Tn(e,t);case`irc`:return jn(e,t);case`ussg`:return Er(e,t);case`bankruptcy-code-prefix`:case`bankruptcy-code-postfix`:return on(e,t);case`idaho-postfix`:return Dn(e,t);case`ksa-year-edition`:return Nn(e,t);case`mca-postfix`:return Fn(e,t);case`md-article-letter`:return Ln(e,t);case`minn-st-year-edition`:return zn(e,t);case`nm-bare-section`:return Jn(e,t);case`ny-bare-named-code`:return Qn(e,t);case`ny-cplr-bare`:return nr(e,t);case`ny-acronym-bare`:return er(e,t);case`lpra`:return Xn(e,t);case`nyc-admin-code`:return ir(e,t);case`oh-chapter`:return or(e,t);case`ors-chapter`:return cr(e,t);case`rlh`:return fr(e,t);case`rrs-1943`:return mr(e,t);case`rcw-chapter-postfix`:return br(e,t);case`state-admin-code`:return Sr(e,t);case`rigl-1956`:return gr(e,t);case`rsa-chapter`:return vr(e,t);case`tca-postfix`:return wr(e,t);case`va-bare-code`:return Or(e,t);case`wi-stats-postfix`:return Ar(e,t);case`wv-code-1931`:return Mr(e,t);default:return Nr(e,t)}}const Fr=/^,\s*(\d{1,3}(?:,\d{3})+|\d+)(?:[-–—](\d{1,3}(?:,\d{3})+|\d+))?(?=$|[.,:;)([\]»"'“”‘’]|\s(?![A-Z]))/;function Ir(e,t,n){let{text:r,span:i}=e,a=/^(\d+(?:-\d+)?)\s+Stat\.\s+(\d{1,3}(?:,\d{3})+|\d+)/d.exec(r);if(!a)throw Error(`Failed to parse Statutes at Large citation: ${r}`);let c=a[1],l=/^\d+$/.test(c)?Number.parseInt(c,10):c,u=Number.parseInt(a[2].replace(/,/g,``),10),d;a.indices&&(d={volume:o(i.cleanStart,a.indices[1],t),page:o(i.cleanStart,a.indices[2],t)});let f,p,m,h=0;if(n){let e=n.substring(i.cleanEnd),t=Fr.exec(e);if(t){let e=t[1].replace(/,/g,``);if(f=Number.parseInt(e,10),h=t[0].length,t[2]){let n=t[2].replace(/,/g,``);if(n.length<e.length){let t=e.slice(0,e.length-n.length);p=Number.parseInt(t+n,10)}else p=Number.parseInt(n,10);m=!0}}}let g=n?r+n.substring(i.cleanEnd,i.cleanEnd+h+16):r,_=/\((?:.*?\s)?(\d{4})\)/.exec(g),v=_?Number.parseInt(_[1],10):void 0,y=v!==void 0&&P(v)?v:void 0,{originalStart:b,originalEnd:x}=s(i,t);return{type:`statutesAtLarge`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:b,originalEnd:x},confidence:.9,matchedText:r,processTimeMs:0,patternsChecked:1,volume:l,page:u,pincite:f,pinciteEndPage:p,pinciteIsRange:m,year:y,spans:d}}const Lr=[`Wright & Miller, Federal Practice and Procedure`,`Moore's Federal Practice`,`Moore's Federal Practice 3d`,`Williston on Contracts`,`Corbin on Contracts`,`Nimmer on Copyright`,`McCarthy on Trademarks and Unfair Competition`,`Witkin, Cal. Procedure`,`Witkin, Summary of California Law`,`Prosser and Keeton on the Law of Torts`,`Wigmore on Evidence`,`McCormick on Evidence`,`LaFave & Israel, Criminal Procedure`,`LaFave, Criminal Law`,`Davis & Pierce, Administrative Law Treatise`],Rr=[`Federal Practice and Procedure`,`Cal. Procedure`,`Summary of California Law`,`Criminal Procedure`,`Criminal Law`,`Administrative Law Treatise`],zr=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),Br=Lr.map(zr).join(`|`),Vr=Rr.map(zr).join(`|`),Hr=RegExp(`\\b(\\d+[A-Z]?)\\s+(?:(${Br})|(?:[A-Z][A-Za-z.]*(?:\\s+[A-Z][A-Za-z.]*)*(?:\\s*&\\s*[A-Z][A-Za-z.]*(?:\\s+[A-Z][A-Za-z.]*)*)?,\\s+)(${Vr}))(?:\\s+\\(([^)]+)\\))?\\s+§§?\\s*(\\d+(?:[.:][A-Za-z0-9]+)*(?:\\[[A-Za-z0-9]+\\])?(?:\\([^)]*\\))*)`,`d`);function Ur(e){if(!e)return;let t=/(\d{4})/.exec(e);if(!t)return;let n=Number.parseInt(t[1],10);return P(n)?n:void 0}function Wr(e,t){let{text:n,span:r}=e,i=Hr.exec(n);if(!i)throw Error(`Failed to parse treatise citation: ${n}`);let a=/^(\d+)/.exec(i[1]),c=a?Number.parseInt(a[1],10):0,l=i[2]??i[3],u=i[4],d=i[5],f=Ur(u),p;if(i.indices){let e=i.indices[1],n=i.indices[2]??i.indices[3],a=i.indices[5];e&&n&&a&&(p={volume:o(r.cleanStart,e,t),title:o(r.cleanStart,n,t),section:o(r.cleanStart,a,t)})}let{originalStart:m,originalEnd:h}=s(r,t);return{type:`treatise`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:m,originalEnd:h},confidence:.9,matchedText:n,processTimeMs:0,patternsChecked:1,volume:c,title:l,section:d,edition:u,year:f,spans:p}}const Gr=String.raw`(?=$|[.;,)\]!?–—'"“”*<>†‡§¶©°]|-\D)`,Kr=[{id:`federal-reporter`,regex:new RegExp(String.raw`\b(\d+(?:-\d+)?)\s+(F\.\s?Supp\.(?:\s?(?:\d+(?:st|nd|rd|th)|2d|3d))?|F\.\s?App'x|F\.(?:\d+(?:st|nd|rd|th)|2d|3d)?)(?:\s+(\d+-\d+|\d+|_{3,}|-{3,})(?=\s|$|[().,;!?–—'"“”*<>†‡§¶©°])|\s*,\s+(\d+|_{3,}|-{3,})${Gr})`,`g`),description:`Federal Reporter (F., F.2d, F.3d, F.Nth, F.Supp., F.App'x, etc.)`,type:`case`},{id:`supreme-court`,regex:new RegExp(String.raw`\b(\d+(?:-\d+)?)\s+(U\.\s?S\.|S\.\s?Ct\.|L\.\s?Ed\.(?:\s?(?:\d+(?:st|nd|rd|th)|2d|3d))?)(?:\s+(?:\(\d+\s+[A-Z][A-Za-z.]+\)\s+)?(\d+-\d+(?=\s+\(\d{4}\))|\d+|_{3,}|-{3,})(?=\s|$|[().,;!?–—'"“”*<>†‡§¶©°]|-\D)|\s*,\s+(\d+|_{3,}|-{3,})${Gr})`,`g`),description:`U.S. Supreme Court reporters (with optional nominative reporter parenthetical)`,type:`case`},{id:`state-reporter`,regex:new RegExp(String.raw`\b(\d+(?:-\d+)?)\s+(?!(?:Ibid|Id)\.?\s+\d)(?!(?:AND|OR)\s+\d)([A-Z][A-Za-z.\d&']*(?:(?! L\.[JQR\s])(?! R\.\s+\d)\s+[A-Z\d&][A-Za-z.\d&']*)*?)(?:\s+(\d+-\d+(?=\s+\(\d{4}\))|\d+|_{3,}|-{3,})(?=\s|$|[().,;!?\[\]–—'"“”*<>†‡§¶©°]|-\D)|\s*,\s+(\d+|_{3,}|-{3,})${Gr})`,`g`),description:`State reporters (broad pattern allowing multi-word reporters with & and ', excludes journal patterns with " L.J/Q/Rev", phantom matches across " v. "/" vs. ", CSM " at " short-form boundaries, Illinois " R. N" rule-marker boundaries, and Id./Ibid. short-form markers (#549), validated against reporters-db in Phase 3)`,type:`case`}],qr=[{id:`docket-paren-court-year`,regex:/\b(?:(?:C\.A\.|Civ\.|Civil(?:\s+Action)?|Case|Adv\.|Docket)\s+)?No\.\s+([A-Za-z\d]+(?::?[A-Za-z\d]+)?(?:[-\s][A-Za-z\d]+)*)\s+\(([^)]+\s(\d{4}))\)/g,description:`Docket-number citation: "Party v. Party, [C.A./Civ./Civil/Case/Adv./Docket] No. <docket> (<court> <year>)"`,type:`docket`}],Jr=[{id:`fed-rule-abbreviated`,regex:/\bFed\.\s?R\.\s?(Civ\.\s?P\.|Crim\.\s?P\.|Evid\.|App\.\s?P\.|Bankr\.\s?P\.)\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)/g,description:`Abbreviated federal rules: "Fed. R. Civ. P. 56", "Fed. R. Evid. 401", "Fed.R.Bankr.P. 7001" — #576`,type:`federalRule`},{id:`fed-rule-spelled`,regex:/\bFederal\s+Rules?\s+of\s+(?:the\s+)?(Civil\s+Procedure|Criminal\s+Procedure|Evidence|Appellate\s+Procedure|Bankruptcy\s+Procedure)\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)/gi,description:`Spelled-out federal rules: "Federal Rule of Civil Procedure 56", "Federal Rules of Evidence 401" — #576`,type:`federalRule`},{id:`fed-rule-acronym`,regex:/\b(FRCP|FRE|FRAP|FRCrP|FRBP|F\.\s?R\.\s?C\.\s?P\.|F\.\s?R\.\s?E\.|F\.\s?R\.\s?A\.\s?P\.|F\.\s?R\.\s?Cr\.\s?P\.|F\.\s?R\.\s?B\.\s?P\.)\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)/g,description:`Acronym federal rules: "FRCP 12(b)(6)", "FRE 401", "F.R.C.P. 12" — #696`,type:`federalRule`}],Yr=[{id:`law-review`,regex:/\b(\d+(?:-\d+)?)\s+(?!(?:Ibid|Id)\.?\s+\d)([A-Z][A-Za-z.&']*(?:\s+[A-Z\d&][A-Za-z.&']*)*?)\s+(\d+)\b/g,description:`Law review citations (e.g., "120 Harv. L. Rev. 500"), validated against journals-db in Phase 3. Each post-space token must start with uppercase/digit/& to reject prose phantoms.`,type:`journal`}],Xr=String.raw`(?:1[789]\d{2}|2[01]\d{2})`,Zr=String.raw`(?<!(?:Case|Cause|Docket)\s+No\.\s+[A-Za-z0-9-]{0,40})`,Qr=[{id:`state-vendor-neutral-hyphenated-ms`,regex:RegExp(`${Zr}\\b(${Xr})-([A-Z]+)-(\\d+)-([A-Z]+)\\b`,`g`),description:`Mississippi 4-segment vendor-neutral (e.g., "2010-CT-01234-SCT", "2015-CA-00567-COA")`,type:`neutral`},{id:`state-vendor-neutral-hyphenated`,regex:RegExp(`${Zr}\\b(${Xr})-([A-Z][A-Za-z]+)-(\\d+)\\b`,`g`),description:`Hyphenated vendor-neutral (e.g., "2010-NMSC-007", "2024-Ohio-764", "2020-NCSC-118")`,type:`neutral`},{id:`state-vendor-neutral`,regex:/\b(\d{4})\s+(IL\s+App\s+\(\d+(?:st|nd|rd|th|d)\)|OK\s+(?:CIV\s+APP|CR|AG)|[A-Z]{2}(?:\s+App\.?)?)\s+(\d+(?:-U)?)\b/g,description:`State vendor-neutral citations (e.g., "2007 UT 49", "2017 WI 17", "2013 IL 112116", "2011 IL App (1st) 101234", "2020 OK CIV APP 67", "2020 IL App (2d) 190123-U")`,type:`neutral`},{id:`westlaw`,regex:/\b(\d{4})\s+WL\s+(\d+)\b/g,description:`WestLaw citations (e.g., "2021 WL 123456")`,type:`neutral`},{id:`tc-memo`,regex:/\bT\.\s?C\.\s+Memo\.\s+(\d{4})-(\d+)\b/g,description:`Tax Court Memorandum decisions (e.g., "T.C. Memo. 2002-89", "T.C. Memo. 1970-86") — #324`,type:`neutral`},{id:`lexis`,regex:/\b(\d{4})\s+[A-Z][A-Za-z.\s]+?\s+LEXIS\s+(\d+)\b/g,description:`LexisNexis citations (federal: "2021 U.S. LEXIS 5000", "2021 U.S. App. LEXIS 12345"; state: "2020 Cal. LEXIS 1000", "2020 Tex. App. LEXIS 5000")`,type:`neutral`},{id:`public-law`,regex:/\b(?:Pub\.\s?L\.|Public\s+Law)(?:\s?No\.)?\s?(\d+-\d+)\b/g,description:`Public Law citations: "Pub. L. No. 117-58", "Pub. L. 116-283", "Public Law 116-127", "Public Law No. 116-127"`,type:`publicLaw`},{id:`federal-register`,regex:/\b(\d+(?:-\d+)?)\s+Fed\.\s?Reg\.\s+(\d{1,3}(?:,\d{3})+|\d+)\b/g,description:`Federal Register citations (e.g., "86 Fed. Reg. 12,345" or "86 Fed. Reg. 12345")`,type:`federalRegister`},{id:`statutes-at-large`,regex:/\b(\d+(?:-\d+)?)\s+Stat\.\s+(\d{1,3}(?:,\d{3})+|\d+)\b/g,description:`Statutes at Large citations (e.g., "124 Stat. 1,119" or "124 Stat. 119")`,type:`statutesAtLarge`},{id:`compact-law-review`,regex:/\b(\d+(?:-\d+)?)\s+([A-Z][A-Za-z.]+L\.(?:Rev|J|Q)\.)\s+(\d+)\b/g,description:`Compact law review citations without spaces (e.g., "93 Harv.L.Rev. 752")`,type:`journal`}],$r=[`Wright & Miller, Federal Practice and Procedure`,`Moore's Federal Practice`,`Moore's Federal Practice 3d`,`Williston on Contracts`,`Corbin on Contracts`,`Nimmer on Copyright`,`McCarthy on Trademarks and Unfair Competition`,`Witkin, Cal. Procedure`,`Witkin, Summary of California Law`,`Prosser and Keeton on the Law of Torts`,`Wigmore on Evidence`,`McCormick on Evidence`,`LaFave & Israel, Criminal Procedure`,`LaFave, Criminal Law`,`Davis & Pierce, Administrative Law Treatise`],ei=[`Federal Practice and Procedure`,`Cal. Procedure`,`Summary of California Law`,`Criminal Procedure`,`Criminal Law`,`Administrative Law Treatise`],ti=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),ni=$r.map(ti).join(`|`),ri=ei.map(ti).join(`|`),ii=`Neurology,Nature,Science,JAMA,Pediatrics,Lancet,New Eng\\. J\\. Med\\.,Am\\. J\\. Psychiatry,Am\\. J\\. Pub\\. Health,Brook L Rev,Yale L J,Harv L Rev,Colum L Rev,Stan L Rev,Mich L Rev,U Chi L Rev,Geo L J,Tex L Rev,Va L Rev,Cal L Rev,NYU L Rev,Cornell L Rev,Hastings L J,Hous L Rev,Fordham L Rev,Notre Dame L Rev,U Pa L Rev,Wash L Rev,Wis L Rev`.split(`,`).join(`|`),ai=[{id:`restatement`,regex:/\bRestatement\s+\((First|Second|Third|Fourth|1st|2d|3d|4th)\)\s+(?:of\s+)?([A-Za-z][A-Za-z\s,.&'-]+?)\s+§§?\s*(\d+(?:[A-Za-z0-9-]|\.[A-Za-z0-9])*(?:\([^)]*\))*)/g,description:`Restatement: "Restatement (Second) of Torts § 402A", "Restatement (Third) of the Law Governing Lawyers § 1" — #578`,type:`restatement`},{id:`bare-journal`,regex:RegExp(`\\b(\\d+)\\s+(${ii})\\s+(\\d+)\\b`,`g`),description:`Bare-abbreviation journals (scientific journals + period-stripped law reviews): "53 Neurology 1107", "70 Brook L Rev 1045" — #638`,type:`journal`},{id:`alr-annotation`,regex:/\b(\d+)\s+(A\.\s?L\.\s?R\.(?:\s?(?:Fed\.(?:\s?\d(?:d|nd|rd|th))?|\d(?:d|nd|rd|th)))?|ALR(?:\s?(?:Fed(?:\s?\d(?:d|nd|rd|th))?|\d(?:d|nd|rd|th)))?)\s+(\d+)\b/g,description:`A.L.R. annotation citations (periodized + bare): "100 A.L.R.2d 1234", "48 ALR 749", "23 A.L.R. Fed. 3d 456" — #581 #638`,type:`annotation`},{id:`treatise`,regex:RegExp(`\\b(\\d+[A-Z]?)\\s+(?:(${ni})|(?:[A-Z][A-Za-z.]*(?:\\s+[A-Z][A-Za-z.]*)*(?:\\s*&\\s*[A-Z][A-Za-z.]*(?:\\s+[A-Z][A-Za-z.]*)*)?,\\s+)(${ri}))(?:\\s+\\(([^)]+)\\))?\\s+§§?\\s*(\\d+(?:[.:][A-Za-z0-9]+)*(?:\\[[A-Za-z0-9]+\\])?(?:\\([^)]*\\))*)`,`g`),description:`Treatise: "5 Wright & Miller, Federal Practice and Procedure § 1290", "5A Charles Alan Wright & Arthur R. Miller, Federal Practice and Procedure § 1357" (#643), "1 Nimmer on Copyright § 5.05[A]" — #579`,type:`treatise`}],oi=[{id:`id`,regex:/(?:^|(?<=\s)|(?<=["'(\[—]))\b[Ii]d(?:\s*\.|\s*,(?=\s+at\s))(?:(?:,\s+(?!\d+\s+[A-Z])|,?\s*(?:at\s+(?:pp?\.\s*)?|(?=¶|paras?\.?\b)))(¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?|\*?\d+(?:\s*[-–]\s*\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?))?/g,description:`Id. citations (e.g., "Id." or "Id. at 253")`,type:`case`},{id:`ibid`,regex:/(?:^|(?<=\s)|(?<=["'(\[—]))\b[Ii]bid\s*\.(?:(?:,\s+(?!\d+\s+[A-Z])|,?\s*(?:at\s+(?:pp?\.\s*)?|(?=¶|paras?\.?\b)))(¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?|\*?\d+(?:\s*[-–]\s*\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?))?/g,description:`Ibid. citations (e.g., "Ibid." or "Ibid. at 125")`,type:`case`},{id:`supra`,regex:/(?:\b([A-Z][a-zA-Z''\-]+\.?(?:(?:\s+v\.?\s+|\s+&\s+|,\s+|\s+)[A-Z][a-zA-Z''\-]+\.?)*)\s*,?\s+)?\[supra(?:(?:,\s+|\s+at\s+(?:pp?\.\s*)?)(\d+(?:[-–—]\d+)?))?\]/g,description:`Bracketed supra citations (e.g., "State v. Jarzbek, [supra, 705]" — Connecticut style; #306)`,type:`case`},{id:`supra`,regex:/\b([A-Z][a-zA-Z''\-]+\.?(?:(?:\s+v\.?\s+|\s+&\s+|,\s+|\s+)[A-Z][a-zA-Z''\-]+\.?)*)\s*,?\s+supra(?:\s+note\s+(\d+))?(?:(?:,\s+(?!\d+\s+[A-Z])|,?\s+(?:at\s+(?:pp?\.\s*)?|(?=¶|paras?\.?\b)))(¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?|\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?))?/g,description:`Supra citations (e.g., "Smith, supra" or "Smith, supra, at 460")`,type:`case`},{id:`supra`,regex:/(?:^|(?<=\s)|(?<=[;.]))supra(?:\s+note\s+(\d+)(?:,?\s+(?:at\s+(?:pp?\.\s*)?|(?=¶|paras?\.?\b))(¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?|\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?))?|\s+(?:at\s+(?:pp?\.\s*)?|(?=¶|paras?\.?\b))(¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?|\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?)|\s+(?:§+|Part|p\.)\s*\S+)/g,description:`Standalone supra (e.g., "supra note 12" or "supra at 15")`,type:`case`},{id:`shortFormCase`,regex:/\b(?:([A-Z][a-zA-Z''\-]+\.?(?:(?:\s+v\.?\s+|\s+&\s+|,\s+|\s+)[A-Z][a-zA-Z''\-]+\.?)*),\s+)?(\d+(?:-\d+)?)\s+([A-Z][A-Za-z.''\s]+?(?:\d[a-z]{1,2})?)\s*,?\s+at\s+(?:pp?\.\s*|pages?\s+)?(\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?|¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?)\b/g,description:`Short-form case citations (e.g., "500 F.2d at 125")`,type:`case`}],si=[{id:`id-rcp`,regex:/\bI\.R\.C\.P\.\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)/g,description:`Idaho Rule of Civil Procedure: "I.R.C.P. 60(b)(6)" — #636`,type:`stateRule`},{id:`id-rcp-spelled`,regex:/\bIdaho\s+Rules?\s+of\s+Civil\s+Procedure\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)/gi,description:`Idaho Rule of Civil Procedure (spelled): "Idaho Rule of Civil Procedure 60(b)" — #636`,type:`stateRule`},{id:`nc-rap`,regex:/\bN\.\s?C\.\s?R\.\s?App\.\s?P\.\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)/g,description:`NC Rules of Appellate Procedure: "N.C. R. App. P. 10(b)(1)", "N.C.R.App. P. 37" — #636`,type:`stateRule`},{id:`nc-rcp`,regex:/\bN\.\s?C\.\s?R\.\s?Civ\.\s?P\.\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)/g,description:`NC Rules of Civil Procedure: "N.C. R. Civ. P. 12(b)" — #636`,type:`stateRule`},{id:`sc-scacr-postfix`,regex:/\bRule\s+(\d+(?:\.\d+)?(?:\([^)]*\))*),\s*SCACR\b/g,description:`SC Appellate Court Rule (postfix): "Rule 268(d)(2), SCACR" — #636`,type:`stateRule`},{id:`rcfc`,regex:/\bRCFC\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)/g,description:`Court of Federal Claims rule: "RCFC 56(c)" — #636`,type:`stateRule`},{id:`hcn-rcp`,regex:/\bHCN\s+R\.\s?Civ\.\s?P\.\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)/g,description:`Ho-Chunk Nation Rules of Civil Procedure: "HCN R. Civ. P. 5(C)(1)" — #658`,type:`stateRule`},{id:`tcrcp`,regex:/\bT\.C\.R\.C\.P\.\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)/g,description:`Territorial Courts Rules of Civil Procedure: "T.C.R.C.P. 19(a)" — #658`,type:`stateRule`}],ci=[{id:`usc`,regex:/\b(\d+)\s*,?\s+(?:U\.?S\.?C\.?[AS]?\.?|USC[AS]?|United\s+States\s+Code)\s*,?\s*(?:§§?|[Ss]ections?|[Ss]ec\.?)?\s*(\d+[A-Za-z0-9-]*(?:\s*\((?![^)]*\d{4})[^)]*\))*(?:\s*[-–—]+\s*\([A-Za-z0-9]+\))?(?:\s*et\s+seq\.?)?)/g,description:`U.S. Code citations (U.S.C., USC, USCA, USCS, "United States Code") with optional §/Section connector — #428 #584 #586 #587`,type:`statute`},{id:`cfr`,regex:/\b(\d+)\s*,?\s+C\.?F\.?R\.?\s*,?\s*(?:(?:Part|pt\.)\s+|§§?\s*|[Ss]ections?\s+|[Ss]ec\.?\s+)?(\d+(?:\.\d+)?[A-Za-z0-9-]*(?:\s*\((?![^)]*\d{4})[^)]*\))*(?:\s*[-–—]+\s*\([A-Za-z0-9]+\))?(?:\s*et\s+seq\.?)?)/g,description:`Code of Federal Regulations with optional Part/§/Section connector — #428 #587`,type:`statute`},{id:`irc`,regex:/\b(?:I\.R\.C\.|IRC)\s*§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`Internal Revenue Code: "I.R.C. § 1367", "IRC § 1341" — #376`,type:`statute`},{id:`ussg`,regex:/\b(?:U\.S\.S\.G\.|USSG)\s*§§?\s*(\d+(?:[A-Za-z0-9-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)/g,description:`U.S. Sentencing Guidelines: "U.S.S.G. § 2K2.4(b)", "USSG § 3E1.1" — #577`,type:`statute`},{id:`bankruptcy-code-postfix`,regex:/§§?\s*(\d+(?:[A-Za-z0-9-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)\s+of\s+the\s+Bankruptcy\s+Code/g,description:`Bankruptcy Code postfix alias: "§ 547 of the Bankruptcy Code" → 11 U.S.C. — #585`,type:`statute`},{id:`bankruptcy-code-prefix`,regex:/\bBankruptcy\s+Code\s*§§?\s*(\d+(?:[A-Za-z0-9-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)/g,description:`Bankruptcy Code prefix alias: "Bankruptcy Code § 548(a)(1)(B)(i)" → 11 U.S.C. — #585`,type:`statute`},{id:`rsa-chapter`,regex:/\bRSA\s+(?:\[chapter\]|chapter|ch\.?)\s+(\d+(?:-[A-Z])?)/g,description:`New Hampshire RSA chapter-only form: "RSA chapter 169-D" / "RSA ch. 458-C" — #378`,type:`statute`},{id:`oh-chapter`,regex:/\bR\.?\s*C\.?\s+Chapter\s+(\d+)/g,description:`Ohio Revised Code chapter-only form: "R.C. Chapter 4509" / "R. C. Chapter 1702" — #388`,type:`statute`},{id:`ors-chapter`,regex:/\bORS\s+chapter\s+(\d+)/g,description:`Oregon Revised Statutes chapter-only form: "ORS chapter 34" — #387`,type:`statute`},{id:`prose`,regex:/\b[Ss]ection\s+(\d+[A-Za-z0-9-]*(?:\([^)]*\))*)\s+of\s+title\s+(\d+)\b/g,description:`Prose-form federal citations (e.g., "section 1983 of title 42"). Note: MD-style "section X of the Y Article" deferred to PR 3.`,type:`statute`},{id:`ny-cplr-bare`,regex:/\b(?:N\.\s*Y\.\s*)?C\.?\s*P\.?\s*L\.?\s*R\.?\s*(?:§§?\s*)?(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*)((?:\s*(?:\([^)]*\)|\[[^\]]*\]))*)/g,description:`New York CPLR bare/dotted/§ forms: "CPLR 3025 (b)", "C.P.L.R. § 3211", "N.Y. C.P.L.R. § 211" — #592`,type:`statute`},{id:`ny-acronym-bare`,regex:/\b(?:N\.\s*Y\.\s*)?(RPAPL|RPL|BCL|EPTL|SCPA|DRL|LLCL|VTL)\s*(?:§§?\s*)?(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*)((?:\s*(?:\([^)]*\)|\[[^\]]*\]))*)/g,description:`New York acronymized codes (RPAPL/RPL/BCL/EPTL/SCPA/DRL/LLCL/VTL) with bracket-or-paren subdivisions: "RPAPL 711 [5]", "EPTL § 5-1.1" — #640`,type:`statute`},{id:`lpra`,regex:/\b(\d+)\s+(L\.P\.R\.A\.|LPRA)\s*§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)/g,description:`Puerto Rico statutes (Leyes de Puerto Rico Anotadas): "23 LPRA § 72", "21 L.P.R.A. § 4615" — #635`,type:`statute`},{id:`named-code`,regex:/\b(N\.?\s*Y\.?|Cal(?:ifornia)?\.?|Tex(?:as)?\.?|Md\.?|(?<!W\.?\s?)Va\.?|Ala(?:bama)?\.?)\s+([A-Z][A-Za-z.&']*(?:(?:\s+|,\s+)(?:&|[A-Z][A-Za-z.&']*))*)\s*§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:,?\s+(?:subd\.|subdivision|paragraphs?|pars?\.)\s+(?:\([^)]*\)|\[[^\]]*\])(?:\s*(?:\([^)]*\)|\[[^\]]*\]))*)?(?:\s*[-–—]+\s*\([A-Za-z0-9]+\))?(?:\s*et\s+seq\.?)?)/g,description:`Named-code state citations (NY, CA, TX, MD, VA, AL) with jurisdiction prefix + code name + §`,type:`statute`},{id:`ny-bare-named-code`,regex:/\b(Penal|Labor|Real Property|General Business|General Obligations|General Municipal|Municipal Home Rule|Criminal Procedure|Insurance|Executive|Judiciary|Civil Practice|Civil Rights|Education|Public Health|Banking|Domestic Relations|Environmental Conservation|Election|Social Services|Estates Powers and Trusts|Vehicle and Traffic|Surrogate's Court Procedure|Family Court|Court of Claims|Workers' Compensation|Highway|Tax|Personal Property)\s+Law\s+§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\)|\[[^\]]*\])*(?:\s+(?:\([^)]*\)|\[[^\]]*\]))*)/g,description:`New York bare named-code form: "Penal Law § 130.00 [3]", "Labor Law § 220 [3-a]" — #386`,type:`statute`},{id:`mass-chapter`,regex:/\b(Mass\.?\s*Gen\.?\s*Laws|General\s+Laws|M\.?G\.?L\.?A?\.?|A\.?L\.?M\.?|G\.?\s*L\.?)\s*(?:ch\.?|c\.?)\s*(\w+)(?:,?\s*(?:§§?|[Ss]ec\.?|[Ss]ection)\s*(\w+(?:[\w/-]|\.(?=\w))*(?:\s*\((?![^)]*\d{4})[^)]*\))*(?:\s*et\s+seq\.?)?))?/g,description:`Massachusetts chapter-based citations (e.g., "Mass. Gen. Laws ch. 93A, § 2")`,type:`statute`},{id:`chapter-act`,regex:/\b(\d+)\s+(?:ILCS|Ill\.?\s*Comp\.?\s*Stat\.?)\s*(?:Ann\.?\s+)?(\d+)\/(\d+(?:[A-Za-z0-9:-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`Illinois Compiled Statutes chapter-act citations (e.g., "735 ILCS 5/2-1001")`,type:`statute`},{id:`ill-rev-stat`,regex:/\bIll\.?\s*Rev\.?\s*Stat\.?,?\s+(\d{4}),?\s+[Cc]h(?:ap)?\.\s+(\d+[A-Z]?),?\s+pars?\.\s+(\d+(?:[A-Za-z0-9:-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`Illinois Revised Statutes (pre-1993): Ill. Rev. Stat. YYYY, ch. N, par. N`,type:`statute`},{id:`rlh`,regex:/\bRLH\s+(\d{4})\s+§\s+(\d+(?:[A-Za-z0-9:-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`Revised Laws of Hawaii (pre-1955): "RLH 1935 § 2545" — #359`,type:`statute`},{id:`colorado-prose`,regex:/\b[Ss]ection\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*),?\s+Colo(?:rado)?\.?\s+Rev(?:ised)?\.?\s+Stat(?:utes)?\.?(?:\s+Ann(?:otated)?\.?)?(?:\s+(19\d{2}))?/g,description:`Pre-1973 Colorado prose form: "Section 148-21-34, Colorado Revised Statutes 1963" — #352`,type:`statute`},{id:`florida-postfix`,regex:/(?<![A-Za-z])(?:[Ss]ections?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?),?\s+(?:Florida\s+Statutes|Fla\.\s*Stat\.)/g,description:`Florida postfix statute form: "section 812.035(7), Florida Statutes" / "§83.15, Florida Statutes" — #356`,type:`statute`},{id:`florida-prefix-spelled`,regex:/\bFlorida\s+Statutes?\s*§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?)/g,description:`Florida spelled-out prefix form: "Florida Statute 679.504(3)" / "Florida Statutes §73.071" — #356`,type:`statute`},{id:`idaho-postfix`,regex:/(?<![A-Za-z])(?:[Ss]ections?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?),?\s+Idaho\s+Code(?:\s+Ann\.?)?/g,description:`Idaho postfix statute form: "Section 23-908(4), Idaho Code" — #360`,type:`statute`},{id:`mca-postfix`,regex:/(?<![A-Za-z])(?:[Ss]ections?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?),?\s+MCA/g,description:`Montana Code Annotated postfix form: "§ 77-6-205(2), MCA" — #372`,type:`statute`},{id:`tca-postfix`,regex:/(?<![A-Za-z])(?:[Ss]ections?|[Ss]ec\.?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?),?\s+T\.?C\.?A\.?/g,description:`Tennessee Code Annotated postfix form: "§ 39-904, T.C.A." — #398`,type:`statute`},{id:`rcw-chapter-postfix`,regex:/\b[Cc]hapter\s+(\d+\.\d+)\s+RCW/g,description:`Washington RCW chapter postfix form: "chapter 49.60 RCW" — #408`,type:`statute`},{id:`state-admin-code`,regex:/\b(?:(NMAC)\s+(\d+\.\d+\.\d+\.\d+(?:\([A-Z]\))?)|(?<=^|[^A-Za-z])(\d+\.\d+\.\d+\.\d+(?:\([A-Z]\))?)\s+(NMAC)|(OAR)\s+(\d+-\d+-\d+)|(COMAR)\s+(\d+\.\d+\.\d+\.\d+[A-Z]?)|(IDAPA)\s+(\d+\.\d+\.\d+\.\d+\.\d+)|(?<=^|[^A-Za-z])(\d+\.\d+\.\d+(?:\(\d+\))?),\s+(ARM)\b)/g,description:`State admin codes NMAC/OAR/COMAR/IDAPA/ARM — #438`,type:`statute`},{id:`wi-stats-postfix`,regex:/(?<![A-Za-z])(?:§§?|[Ss]ections?|[Ss]ec\.?)\s*(\d+\.\d+(?:[A-Za-z0-9])?(?:\s*\([^)]*\))*[A-Za-z0-9]*(?:\s+et\s+seq\.?)?),?\s+(?:Stats\.|STATS\.)/g,description:`Wisconsin Statutes postfix form: "§ 76.09, Stats." / "sec. 805.13(3), Stats." — #414`,type:`statute`},{id:`rrs-1943`,regex:/(?<![A-Za-z])(?:[Ss]ections?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*),?\s+R\.?\s*R\.?\s*S\.?\s+1943(?:,\s+Reissue\s+(\d{4}))?/g,description:`Nebraska Reissue Revised Statutes 1943: "§ 30-2806, R.R.S. 1943, Reissue 1975" — #373`,type:`statute`},{id:`rigl-1956`,regex:/\bG\.?\s*L\.?\s+1956\s*(?:\((\d{4})\s+Reenactment\))?\s*,?\s*§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)/g,description:`Rhode Island General Laws 1956: "G.L. 1956 (1969 Reenactment) §11-23-1" — #393`,type:`statute`},{id:`md-article-letter`,regex:/\b(AB|AG|BO|BR|CJ|CL|CP|CR|CS|EC|ED|EL|EN|ET|FI|FL|GP|HG|HO|HS|HU|IN|LE|LG|LU|NR|PS|PUC|R\.?P\.?|RP|SF|SG|TA|TG|TP|TR)\s*§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`Maryland article-letter codes: "HG § 19-906", "CP § 10-105", "R.P. § 8-211" — #368`,type:`statute`},{id:`minn-st-year-edition`,regex:/\bMinn\.?\s+(?:Stat|St)\.?\s+(19\d{2}),\s*§\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\)|\[[^\]]*\])*)/g,description:`Minnesota Statutes year-edition form: "Minn. St. 1971, § 176.66" — #371`,type:`statute`},{id:`ksa-year-edition`,regex:/\bK\.?\s*S\.?\s*A\.?\s+(\d{4})(?:\s+(Supp\.?))?\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9])|,(?=\d))*(?:\([^)]*\))*)/g,description:`Kansas Statutes Annotated year-edition: "K.S.A. 2009 Supp. 44-501(d)(2)" — #367`,type:`statute`},{id:`ic-year-edition`,regex:/\bIC\s+(\d{4}),\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)/g,description:`Indiana Code year-edition form: "IC 1971, 35-13-4-4" — #363`,type:`statute`},{id:`abbreviated-code`,regex:e.a(),description:`Abbreviated state code citations for all US jurisdictions`,type:`statute`},{id:`wv-code-1931`,regex:/\bCode,?(?:\s+(1931))?,\s+(\d+-\d+[A-Z]?-\d+(?:[A-Za-z0-9])?(?:\([A-Za-z0-9]+\))*)/g,description:`West Virginia historical Code 1931: "Code 1931, 49-6-3, as amended" / "Code, 14-2-13" — #406`,type:`statute`},{id:`nyc-admin-code`,regex:/\b(?:N\.\s*Y\.\s*C\.\s*Admin\.?\s+Code|NYC\s+Admin\.?\s+Code|New\s+York\s+City\s+Administrative\s+Code)\s+§§?\s*(\d+-\d+(?![\d-])(?!\.\d)(?:[A-Za-z0-9])?)((?:\([^)]*\))*)/g,description:`New York City Administrative Code: "N.Y.C. Admin. Code § 8-107(1)(a)" / "New York City Administrative Code § 8-107(1)(a)" — #594`,type:`statute`},{id:`ga-pre-1983`,regex:/\b(Code(?:\s+Ann\.?)?)\s+§\s*(\d+-\d+(?![\d-])(?!\.\d)(?:[A-Za-z0-9])?(?:\([A-Za-z0-9]+\))*)/g,description:`Georgia pre-1983 Code: "Code Ann. § 26-2101" / "Code § 27-2501" — #358 (#405 tightened)`,type:`statute`},{id:`va-bare-code`,regex:/\b(Virginia\s+Code|Code)\s+§\s*((?:\d+\.\d+-\d+(?:\.\d+)?|\d+-\d+\.\d+)(?:\([A-Za-z0-9]+\))*)/g,description:`Virginia bare Code form: "Code § 18.2-308.2" / "Virginia Code § 8.01-581.17" — #405`,type:`statute`},{id:`nm-bare-section`,regex:/(?<![A-Za-z])(?:§\s*|[Ss]ection\s+)(\d+[A-Z]?-\d+[A-Z]?-\d+[A-Z]?(?:\([A-Za-z0-9.]+\)|\[[A-Za-z0-9.]+\])*)/g,description:`New Mexico bare-section form: "Section 32A-2-7(A)" / "§ 41-2-2" — #382 (#565 decimal subsection)`,type:`statute`},{id:`ca-bare-code`,regex:cn(),description:'California bare-code citations (#296) — `Pen. Code § 148`, `Code Civ. Proc., § 1021.5`, `Bus. & Prof. Code § 17200` (no "Cal." prefix; common in single-jurisdiction California practice).',type:`statute`},{id:`ala-code-prefix`,regex:/\bCode(?:\s+of\s+Alabama)?,?\s+1940,?\s+T(?:itle|it)?\.\s+(\d+),?\s+§\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)/g,description:`Alabama Code 1940 (Code-prefix form, pre-1975): "Code 1940, T. 15, § 389" / "Code of Alabama 1940, T. NN, § NNN" — #343`,type:`statute`},{id:`ala-title-trailer`,regex:/\bTitle\s+(\d+),?\s+(?:§|Sec(?:tion)?s?\.?)\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*),?\s+Code(?:\s+of\s+Alabama)?,?\s+(\d{4})(?:,?\s+(?:as\s+)?[Rr]ecompiled\s+(\d{4}))?/g,description:`Alabama Code (Title-first with Code trailer): "Title 26, Section 214, Code of Alabama 1940, as Recompiled 1958" — #343`,type:`statute`},{id:`ala-tit-bare`,regex:/\bTit\.\s+(\d+),?\s+§\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)(?:,?\s+Code(?:\s+of\s+Alabama)?,?\s+(\d{4})(?:,?\s+(?:as\s+)?[Rr]ecompiled\s+(\d{4}))?)?/g,description:'Alabama Code (abbreviated `Tit.` form): "Tit. 52, § 361" — #343',type:`statute`}];function li(e,t=[...Kr,...ci,...Jr,...ai,...Yr,...Qr,...oi]){let n=[];for(let r of t)try{let t=e.matchAll(r.regex);for(let e of t)n.push({text:e[0],span:{cleanStart:e.index,cleanEnd:e.index+e[0].length},type:r.type,patternId:r.id})}catch(e){console.warn(`Pattern ${r.id} threw error, skipping:`,e instanceof Error?e.message:String(e))}return n.sort((e,t)=>e.span.cleanStart-t.span.cleanStart),n}function ui(e,t){let n=t===0?``:e[t-1],r=t===e.length-1?``:e[t+1],i=n===``||/\s/.test(n)||n===`(`||n===`[`||n===`—`,a=/[A-Za-zÀ-ɏ]/.test(r)||r===`(`;if(i&&a)return`open`;let o=/[A-Za-z0-9À-ɏ.,?!:;)\]]/.test(n),s=r===``||/[\s.,;:)—\]]/.test(r);return o&&s?`close`:`ambiguous`}function di(e){let t=[],n=0,r=-1;for(let i=0;i<=e.length;i++)(i===e.length||e[i]===`
5
- `)&&(e.substring(n,i).replace(/^[ \t]*/,``).startsWith(`>`)?r===-1&&(r=n):r!==-1&&(t.push({start:r,end:n}),r=-1),n=i+1);r!==-1&&t.push({start:r,end:e.length});let i=[],a=[];for(let n=0;n<e.length;n++){let r=e[n];if(r===`“`){a.push(n);continue}if(r===`”`){let e=a.pop();if(e===void 0)continue;n-e+1<=600&&t.push({start:e,end:n+1});continue}if(r!==`"`)continue;let o=ui(e,n);if(o===`open`)i.push(n);else if(o===`close`){let e=i.pop();if(e===void 0)continue;n-e+1<=600&&t.push({start:e,end:n+1})}}return t.sort((e,t)=>e.start-t.start),t}function fi(e,t){let n=Array(t.length).fill(0);if(t.length===0)return n;let r=0,i=0;for(let a=0;a<t.length;a++){let o=t[a].span.cleanStart;for(;i<o&&i<e.length;){let t=e[i];t===`(`?r++:t===`)`&&r>0&&r--,i++}n[a]=r}return n}var pi=class{root=null;nextOrder=0;distanceFn;constructor(e){this.distanceFn=e}insert(e){let t={key:e,insertionOrder:this.nextOrder++,children:new Map};if(this.root===null){this.root=t;return}let n=this.root;for(;;){let r=this.distanceFn(e,n.key);if(r===0)return;let i=n.children.get(r);if(i)n=i;else{n.children.set(r,t);return}}}query(e,t){if(this.root===null)return[];let n=[],r=[this.root],i;for(;i=r.pop();){let a=this.distanceFn(e,i.key);a<=t&&n.push({key:i.key,distance:a,insertionOrder:i.insertionOrder});let o=a-t,s=a+t;for(let[e,t]of i.children)e>=o&&e<=s&&r.push(t)}return n.sort((e,t)=>e.distance-t.distance||e.insertionOrder-t.insertionOrder),n}};function mi(e,t){let n=0,r=e.length;for(;n<r;){let i=n+r>>>1;e[i]<=t?n=i+1:r=i}return n}function hi(e,t,n=/\n\n+/g){let r=new Map,i=[0],a;for(;(a=n.exec(e))!==null;)i.push(a.index+a[0].length);i.push(e.length);for(let e=0;e<t.length;e++){let n=t[e].span.originalStart;r.set(e,mi(i,n)-1)}return r}function gi(e,t){let n=new Map;for(let r=0;r<e.length;r++){let i=e[r].span.cleanStart,a=0,o=0,s=t.length-1;for(;o<=s;){let e=o+s>>>1,n=t[e];if(i<n.start)s=e-1;else if(i>=n.end)o=e+1;else{a=n.footnoteNumber;break}}n.set(r,a)}return n}function _i(e,t,n,r,i=!1){if(r===`none`)return!0;let a=n.get(e),o=n.get(t);return!!(a===void 0||o===void 0||a===o||r===`footnote`&&i&&a===0)}function vi(e){if(e.type===`case`||e.type===`docket`)return e.fullSpan}function yi(e){switch(e.type){case`case`:case`journal`:case`neutral`:return`case`;case`statute`:case`publicLaw`:case`federalRegister`:case`statutesAtLarge`:return`statute`;default:return`other`}}function bi(e,t){for(let n of t){if(e<n.start)return;if(e<n.end)return n}}var xi=class{citations;text;options;context;partyNameTree;quoteZones;parenDepths=[];resolutions=[];resolvedSoFar=[];constructor(e,t,n={}){this.citations=e,this.text=t,this.options={scopeStrategy:n.scopeStrategy??`none`,autoDetectParagraphs:n.autoDetectParagraphs??!0,paragraphBoundaryPattern:n.paragraphBoundaryPattern??/\n\n+/g,fuzzyPartyMatching:n.fuzzyPartyMatching??!0,partyMatchThreshold:n.partyMatchThreshold??.8,reportUnresolved:n.reportUnresolved??!0,footnoteMap:n.footnoteMap},this.partyNameTree=new pi(ce),this.quoteZones=di(t),this.context={citationIndex:0,allCitations:e,lastResolvedIndex:void 0,fullCitationHistory:new Map,paragraphMap:new Map},this.options.autoDetectParagraphs&&(this.context.paragraphMap=hi(t,e,this.options.paragraphBoundaryPattern)),this.options.scopeStrategy===`footnote`&&this.options.footnoteMap&&(this.context.paragraphMap=gi(e,this.options.footnoteMap))}resolve(){let e=[];this.parenDepths=fi(this.text,this.citations),this.resolutions=Array(this.citations.length).fill(void 0),this.resolvedSoFar=e;for(let n=0;n<this.citations.length;n++){this.context.citationIndex=n;let r=this.citations[n],i;switch(r.type){case`id`:i=this.resolveId(r);break;case`supra`:i=this.resolveSupra(r);break;case`shortFormCase`:i=this.resolveShortFormCase(r);break;default:t(r)&&this.trackFullCitation(r,n);break}this.resolutions[n]=i;let a=r;if(r.type===`id`&&i?.resolvedTo!==void 0){let e=this.citations[i.resolvedTo];if(e){let t={...r};e.type===`case`&&(e.caseName&&(t.caseName=e.caseName),e.plaintiff&&(t.plaintiff=e.plaintiff),e.defendant&&(t.defendant=e.defendant),e.plaintiffNormalized&&(t.plaintiffNormalized=e.plaintiffNormalized),e.defendantNormalized&&(t.defendantNormalized=e.defendantNormalized),e.proceduralPrefix&&(t.proceduralPrefix=e.proceduralPrefix)),a=t}}e.push({...a,resolution:i})}return this.inheritPincites(e),e}hasNumericPinciteFamily(e){return e.type===`case`||e.type===`journal`||e.type===`neutral`}inheritPincites(e){for(let n=0;n<e.length;n++){let r=e[n];if(r.type!==`id`&&r.type!==`supra`&&r.type!==`shortFormCase`)continue;let i=this.resolutions[n];if(!i||i.resolvedTo===void 0||r.pincite!==void 0||r.pinciteInfo!==void 0)continue;let a=i.resolvedTo,o=this.parenDepths[n]??0,s=e[a];if(this.hasNumericPinciteFamily(s))for(let i=n-1;i>=0;i--){if((this.parenDepths[i]??0)>o)continue;let n=e[i];if((t(n)?i:this.resolutions[i]?.resolvedTo)!==a)break;let s=n.pincite;if(typeof s!=`number`)continue;let c=r;c.pincite=s;let l=n.pinciteInfo;l&&(c.pinciteInfo=l),c.pinciteInherited=!0,c.pinciteInheritedFrom=i;break}}}findImmediatePredecessor(e){let t=this.context.citationIndex,n=bi(e.span.originalStart,this.quoteZones);for(let e=t-1;e>=0;e--){if(this.isParentheticalChild(e)||!this.isWithinScope(e,t))continue;let r=bi(this.citations[e].span.originalStart,this.quoteZones);if(!(r&&r!==n))return e}}resolveId(e){let n=this.context.citationIndex,r=e.pincite!==void 0||e.pinciteInfo!==void 0,i=/^\s*[,]?\s*§§?\s*\d/.test(this.text.substring(e.span.cleanEnd,Math.min(this.text.length,e.span.cleanEnd+20))),a=r||i?this.getIdPreferredFamily(e):null,o=bi(e.span.originalStart,this.quoteZones),s=[],c=new Set;for(let e=n-1;e>=0;e--){let r=this.citations[e],i;if(t(r))i=e;else{let t=this.resolutions[e];if(!t||t.resolvedTo===void 0){if(this.isParentheticalChild(e)||!this.isWithinScope(e,n))continue;let t=bi(r.span.originalStart,this.quoteZones);if(t&&t!==o)continue;break}i=t.resolvedTo}if(c.has(i))continue;c.add(i);let a=this.citations[i];if(!t(a)||this.isParentheticalChild(i)||!this.isWithinScope(i,n))continue;let l=bi(a.span.originalStart,this.quoteZones);l&&l!==o||s.push({index:i,family:yi(a)})}if(s.length===0){let t=this.findImmediatePredecessor(e);if(t!==void 0)return{resolvedTo:void 0,antecedentIndex:t,confidence:.7,warnings:[`Id. antecedent has unresolved authority; chained by position only`]};let r=n>0;return this.createFailureResult(r?`Antecedent citation outside scope boundary`:`No preceding citation found`)}let l=(a===null?void 0:s.find(e=>e.family===a))??s[0],{confidence:u,warnings:d}=this.applyCaseNameWindowCheck(l.index,e);return{resolvedTo:l.index,antecedentIndex:l.index,confidence:u,warnings:d}}getIdPreferredFamily(e){let t=e.span.cleanEnd,n=Math.min(this.text.length,t+20),r=this.text.substring(t,n);return/^\s*[,]?\s*§§?\s*\d/.test(r)?`statute`:`case`}isParentheticalChild(e){if(this.parenDepths[e]>0)return!0;let t=this.citations[e];for(let n=0;n<this.resolvedSoFar.length;n++){if(n===e)continue;let r=this.resolvedSoFar[n],i=vi(r);if(i&&i.cleanStart<=t.span.cleanStart&&i.cleanEnd>=t.span.cleanEnd)return!0}return!1}applyCaseNameWindowCheck(e,t){let n={confidence:1,warnings:void 0},r=this.citations[e];if(r.type!==`case`)return n;let i=t.span.cleanStart,a=Math.max(0,i-80),o=this.context.citationIndex-1;if(o>=0){let e=this.citations[o];a=Math.max(a,e.span.cleanEnd)}if(a>=i)return n;let s=this.text.substring(a,i),c=new Set(`As.The.This.That.These.Those.In.Here.There.Court.Courts.Supreme.Circuit.District.State.States.Federal.Plaintiff.Defendant.Petitioner.Respondent.Appellant.Appellee.Government.United.We.It.Id.See.Compare.Cf.But.Also.Held.Holds.Held,`.split(`.`)),l=s.match(/(?<![a-zA-Z])[A-Z][a-z]+(?:'s)?/g);if(!l)return n;let u=l.filter(e=>!c.has(e.replace(/'s$/,``)));if(u.length===0)return n;let d=new Set;r.plaintiffNormalized&&d.add(r.plaintiffNormalized),r.defendantNormalized&&d.add(r.defendantNormalized),r.caseName&&d.add(r.caseName.toLowerCase());let f=!1,p;for(let e of u){let t=e.replace(/'s$/,``).toLowerCase(),n=!1;for(let e of d)if(e===t||e.includes(t)||t.includes(e)){n=!0;break}if(n){f=!0;break}p||=e.replace(/'s$/,``)}return f||!p?n:{confidence:.75,warnings:[`Ambiguous Id. antecedent: prose mentions "${p}" but resolved to "${r.caseName??r.defendantNormalized??r.plaintiffNormalized??`(unknown)`}"`]}}resolveSupra(e){if(!e.partyName)return;let t=this.context.citationIndex,n=this.normalizePartyName(e.partyName),r=n.split(/\s+vs?\.\s+/);if(r.length===2){let n=this.queryFullCaptionSupra(r[0].trim(),r[1].trim(),t);if(n)return this.createSupraSuccess(e,n)}let i=[n];if(r.length===2)for(let e of r){let t=e.trim();t.length>0&&i.push(t)}let a;for(let e of i){let n=this.queryPartyNameTree(e,t);n&&(!a||n.similarity>a.similarity)&&(a=n)}return a?a.similarity<this.options.partyMatchThreshold?this.createFailureResult(`Party name similarity ${a.similarity.toFixed(2)} below threshold ${this.options.partyMatchThreshold}`):this.createSupraSuccess(e,a):this.createFailureResult(`No full citation found in scope`)}createSupraSuccess(e,t){let n=[];return t.similarity<1&&n.push(`Fuzzy match: similarity ${t.similarity.toFixed(2)}`),{resolvedTo:t.index,antecedentIndex:this.findImmediatePredecessor(e),confidence:t.similarity,warnings:n.length>0?n:void 0}}queryFullCaptionSupra(e,t,n){if(!e||!t)return;let r;for(let i=n-1;i>=0;i--){let a=this.citations[i];if(a.type!==`case`||!this.isWithinScope(i,n,!0))continue;let o=this.partyNameSimilarity(e,a.plaintiffNormalized??a.plaintiff),s=this.partyNameSimilarity(t,a.defendantNormalized??a.defendant);if(o<this.options.partyMatchThreshold||s<this.options.partyMatchThreshold)continue;let c=Math.min(o,s);(!r||c>r.similarity)&&(r={index:i,similarity:c})}return r}queryPartyNameTree(e,t){let n=e.length,r=this.options.partyMatchThreshold,i=n===0?0:Math.ceil(n*(1-r)/r),a=this.partyNameTree.query(e,i);a.sort((e,t)=>e.insertionOrder-t.insertionOrder);let o;for(let e of a){let r=this.context.fullCitationHistory.get(e.key);if(r===void 0||!this.isWithinScope(r,t,!0))continue;let i=Math.max(n,e.key.length),a=i===0?1:1-e.distance/i;(!o||a>o.similarity)&&(o={index:r,similarity:a})}return o}partyNameSimilarity(e,t){if(!t)return 0;let n=this.normalizePartyName(e),r=this.normalizePartyName(t);if(!n||!r)return 0;if(n===r)return 1;if(this.containsTokenSequence(r,n)||this.containsTokenSequence(n,r))return .95;let i=ce(n,r),a=Math.max(n.length,r.length);return a===0?1:1-i/a}containsTokenSequence(e,t){let n=e.split(` `).filter(Boolean),r=t.split(` `).filter(Boolean);if(r.length===0||r.length>n.length)return!1;for(let e=0;e<=n.length-r.length;e++){let t=!0;for(let i=0;i<r.length;i++)if(n[e+i]!==r[i]){t=!1;break}if(t)return!0}return!1}resolveShortFormCase(e){let t=this.context.citationIndex,n=this.normalizeReporter(e.reporter),r=e.partyName?this.normalizePartyName(e.partyName):void 0,i=[];for(let r=t-1;r>=0;r--){let a=this.citations[r];a.type===`case`&&a.volume===e.volume&&this.normalizeReporter(a.reporter)===n&&this.isWithinScope(r,t,!0)&&i.push(r)}if(i.length===0){let t=this.extractInferredCaseName(e);t&&(e.inferredCaseName=t.caseName,e.inferredPlaintiff=t.plaintiff,e.inferredDefendant=t.defendant,e.inferredCaseNameSpan=t.span);let n=this.findImmediatePredecessor(e);return n===void 0?this.createFailureResult(`No matching full case citation found`):{resolvedTo:void 0,antecedentIndex:n,confidence:.5,warnings:[`No matching full case citation found; chained by position only`]}}if(r){let t=i.find(e=>{let t=this.citations[e];if(t.type!==`case`)return!1;let n=t.plaintiffNormalized,i=t.defendantNormalized,a=e=>e!==void 0&&(e===r||this.containsTokenSequence(e,r)||this.containsTokenSequence(r,e));return!!(a(n)||a(i)||t.caseName&&a(this.normalizePartyName(t.caseName)))});if(t!==void 0)return{resolvedTo:t,antecedentIndex:this.findImmediatePredecessor(e),confidence:.98}}return{resolvedTo:i[0],antecedentIndex:this.findImmediatePredecessor(e),confidence:.95}}extractInferredCaseName(e){if(!e.partyName)return;let t=Math.max(0,e.span.cleanStart-400),n=this.text.substring(t,e.span.cleanStart);if(n.length===0)return;let r=/([A-Z][A-Za-z0-9.'&\-/]*(?:\s+[A-Z][A-Za-z0-9.'&\-/]*)*)\s+v(?:s)?\.\s+([A-Z][A-Za-z0-9.'&\-/]*(?:\s+[A-Z][A-Za-z0-9.'&\-/]*)*)/g,i=this.normalizePartyName(e.partyName),a,o;for(r.lastIndex=0;(o=r.exec(n))!==null;){let e=o[1].trim(),n=this.stripSignalWords(e),r=o[2].trim(),s=this.normalizePartyName(n),c=this.normalizePartyName(r),l=e=>e===i||e.includes(i)||i.includes(e);if(!l(s)&&!l(c))continue;let u=e.length-n.length,d=t+o.index+u;a={caseName:`${n} v. ${r}`,plaintiff:n,defendant:r,start:d,end:t+o.index+o[0].length}}if(a)return{caseName:a.caseName,plaintiff:a.plaintiff,defendant:a.defendant,span:{cleanStart:a.start,cleanEnd:a.end,originalStart:a.start,originalEnd:a.end}}}trackFullCitation(e,t){if(e.type===`case`&&(e.defendantNormalized&&(this.context.fullCitationHistory.set(e.defendantNormalized,t),this.partyNameTree.insert(e.defendantNormalized)),e.plaintiffNormalized&&(this.context.fullCitationHistory.set(e.plaintiffNormalized,t),this.partyNameTree.insert(e.plaintiffNormalized)),!e.plaintiffNormalized&&!e.defendantNormalized)){let n=this.extractPartyName(e);if(n){let e=this.normalizePartyName(n);this.context.fullCitationHistory.set(e,t),this.partyNameTree.insert(e)}}}extractPartyName(e){let t=e.span.originalStart,n=Math.max(0,t-100),r=this.text.substring(n,t),i=r.match(/([A-Z][a-zA-Z]*(?:\s+[A-Z][a-zA-Z]*)*)\s+v\.?\s+[A-Z][a-zA-Z]*(?:\s+[A-Z][a-zA-Z]*)*,\s*$/);if(i)return this.stripSignalWords(i[1].trim());let a=r.match(/([A-Z][a-zA-Z]*(?:\s+[A-Z][a-zA-Z]*)*),\s*$/);if(a)return this.stripSignalWords(a[1].trim())}stripSignalWords(e){let t=e.replace(/^(?:In(?!\s+re\b)|See(?:\s+[Aa]lso)?|Compare|But(?:\s+[Ss]ee)?|Cf\.?|Also)\s+/i,``).trim();return t.length>0?t:e}normalizePartyName(e){let t=e;t=t.replace(/\bet\s+al\.?/gi,``),t=t.replace(/\s+(?:d\/b\/a|[fna]\/k\/a)\b.*/gi,``),t=t.replace(/\s+aka\b.*/gi,``);let n=``;for(;n!==t;)n=t,t=t.replace(/,?\s*(Inc|LLC|Corp|Ltd|Co|LLP|LP|P\.C)\.?$/gi,``);return t.replace(/^(The|A|An)\s+/i,``).toLowerCase().replace(/\s+/g,` `).trim()}normalizeReporter(e){return e.toLowerCase().replace(/\s+/g,``).replace(/\./g,``)}isWithinScope(e,t,n=!1){return _i(e,t,this.context.paragraphMap,this.options.scopeStrategy,n)}createFailureResult(e){if(this.options.reportUnresolved)return{resolvedTo:void 0,failureReason:e,confidence:0}}};function Si(e,t,n){return new xi(e,t,n).resolve()}function Ci(e,t=``){let n=new Map;if(e.length===0||t===``)return n;let r=new Set;for(let i=0;i<e.length;i++){let a=e[i];if(a.type!==`case`||r.has(i))continue;let o=[];for(let n=i+1;n<e.length;n++){let s=e[n];if(s.type!==`case`)break;let c=(n===i+1?a:e[n-1]).span.cleanEnd,l=s.span.cleanStart;if(l-c>80)break;let u=t.substring(c,l);if(u.includes(`[`)&&t[s.span.cleanEnd]===`]`){o.push(n),r.add(n);break}let d=/^[,;]\s*$/.test(u),f=!1;if(!d){let e=u.match(/^,\s*(.+?)\s*[,;]\s*$/);if(e){let t=e[1].split(/\s*,\s*/);f=t.length>0&&t.every(e=>G(e)!==null)}}if(!d&&!f||t.substring(a.span.cleanEnd,s.span.cleanEnd).includes(`)`)||!Ti(t,s.span.cleanEnd)&&!wi(t,s.span.cleanEnd))break;o.push(n),r.add(n)}o.length>0&&n.set(i,o)}return n}function wi(e,t){let n=e.slice(t,t+5);return/^\s*[.;](?:\s|$)/.test(n)}function Ti(e,t){let n=e.substring(t,t+200),r=n.indexOf(`(`);if(r===-1)return!1;let i=0;for(let e=r;e<n.length;e++)if(n[e]===`(`)i++;else if(n[e]===`)`&&(i--,i===0))return!0;return!1}function Ei(e){let t=`fullSpan`in e?e.fullSpan:void 0;return t?t.cleanEnd:e.span.cleanEnd}function $(e){let t=`fullSpan`in e?e.fullSpan:void 0;return t?t.cleanStart:e.span.cleanStart}function Di(e){let t=`fullSpan`in e?e.fullSpan:void 0;return t?t.originalEnd:e.span.originalEnd}function Oi(e){let t=`fullSpan`in e?e.fullSpan:void 0;return t?t.originalStart:e.span.originalStart}const ki=Ai();function Ai(){return[{regex:/^but\s+cf\.,\s+e\.\s*g\.,?(?=\s|$)/i,signal:`but cf., e.g.`},{regex:/^see\s*,?\s+also,\s+e\.\s*g\.,?(?=\s|$)/i,signal:`see also, e.g.`},{regex:/^but\s+see,\s+e\.\s*g\.,?(?=\s|$)/i,signal:`but see, e.g.`},{regex:/^cf\.,\s+e\.\s*g\.,?(?=\s|$)/i,signal:`cf., e.g.`},{regex:/^see,\s+e\.\s*g\.,?(?=\s|$)/i,signal:`see, e.g.`},{regex:/^see\s+generally\b/i,signal:`see generally`},{regex:/^see\s*,?\s+also\b/i,signal:`see also`},{regex:/^but\s+see\b/i,signal:`but see`},{regex:/^but\s+cf\.?(?=\s|$)/i,signal:`but cf`},{regex:/^compare\b/i,signal:`compare`},{regex:/^accord\b/i,signal:`accord`},{regex:/^contra\b/i,signal:`contra`},{regex:/^see\b/i,signal:`see`},{regex:/^cf\.?(?=\s|$)/i,signal:`cf`},{regex:/^e\.\s*g\.,?(?=\s|$)/i,signal:`e.g.`}].map(({regex:e,signal:t})=>({regex:e,endRegex:RegExp(`${e.source.replace(/^\^/,`(?<![a-z])`)}\\s*$`,e.flags),signal:t}))}function ji(e,t){e.signal=t}function Mi(e){if(e.type!==`case`)return!1;let t=e;return t.groupId!==void 0&&t.parallelCitations===void 0}function Ni(e){let t=e.trimStart();for(let{regex:e,signal:n}of ki){let r=e.exec(t);if(r)return{signal:n,length:r[0].length}}}function Pi(e){let t=e.indexOf(`;`);if(t===-1||e.substring(0,t).trim()!==``)return{valid:!1};let n=e.substring(t+1).trim();if(n===``)return{valid:!0};let r=Ni(n);return r&&n.substring(r.length).trim()===``?{valid:!0,signal:r.signal}:{valid:!1}}function Fi(e,t){if(e.length<2)return;let n=[],r=[];for(let t=0;t<e.length;t++){if(Mi(e[t]))continue;n.push(t);let i=Ei(e[t]),a=e[t].type===`case`?e[t].groupId:void 0;if(a!==void 0)for(let n=t+1;n<e.length;n++){let t=e[n];if(t.type!==`case`||t.groupId!==a||!Mi(t))break;i=Ei(t)}r.push(i)}if(n.length<2)return;let i=[],a=[];for(let o=0;o<n.length-1;o++){let s=n[o],c=n[o+1],l=e[s],u=e[c];if(u.type===`case`&&u.subsequentHistoryOf){a.length>=2&&i.push(a),a=[];continue}if(l.type===`case`&&l.subsequentHistoryOf)continue;let d=r[o],f=$(u);if(f<=d){a.length>=2&&i.push(a),a=[];continue}let p=Pi(t.substring(d,f));p.valid?(a.length===0&&a.push(s),a.push(c),p.signal&&!u.signal&&ji(u,p.signal)):(a.length>=2&&i.push(a),a=[])}a.length>=2&&i.push(a);for(let t=0;t<i.length;t++){let n=i[t];if(n.length<2)continue;let r=`sc-${t}`;for(let t=0;t<n.length;t++){let i=e[n[t]];i.stringCitationGroupId=r,i.stringCitationIndex=t,i.stringCitationGroupSize=n.length}}for(let n of i){if(n.length<2)continue;let r=e[n[0]];if(r.signal)continue;let i=Math.max(0,$(r)-60),a=t.substring(i,$(r)).trim();for(let{endRegex:e,signal:t}of ki)if(e.test(a)){ji(r,t);break}}}function Ii(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(r.signal&&r.stringCitationGroupId)continue;let i=n>0?Ei(e[n-1]):0,a=r.span.cleanStart;if(a<=i)continue;let o=t.substring(i,a),s=[];for(let{signal:e}of ki){let t=e.replace(/\./g,`\\.`).replace(/\s+/g,`\\s+`).replace(/e\\\.g\\\./g,`e\\.\\s*g\\.`).replace(/see\\s\+also/g,`see\\s*,?\\s+also`),n=RegExp(`(?<![a-zA-Z])(${t})(?![a-zA-Z])`,`gi`),r;for(;(r=n.exec(o))!==null;)s.push({signal:e,start:r.index,end:r.index+r[0].length})}if(s.length===0)continue;s.sort((e,t)=>{let n=t.end-e.end;return n===0?t.end-t.start-(e.end-e.start):n});let c=s[0];for(let e of s)e.start<=c.start&&e.end>=c.end&&(c=e);let l=o.substring(c.end).replace(/^[\s,]+/,``);if(l.length>0){let e=l[0];if(e>=`a`&&e<=`z`)continue}o.length-c.end>80||ji(r,c.signal)}}const Li=1750,Ri=.1,zi=new Set([`i.c.j.`,`u.n.t.s.`,`i.l.m.`,`i.l.r.`,`p.c.i.j.`,`a.c.`,`w.l.r.`,`all e.r.`,`q.b.`,`k.b.`,`ch.`,`co. rep.`,`e.c.r.`,`e.h.r.r.`,`c.m.l.r.`,`edw.`,`usc`,`usca`,`u.s.c.`,`u.s.c.a.`,`cfr`,`c.f.r.`]);function Bi(e){if(e.type===`case`||e.type===`shortFormCase`)return e.reporter;if(e.type===`journal`)return e.abbreviation}function Vi(e){switch(e.type){case`case`:return e.year;case`journal`:return e.year;case`federalRegister`:return e.year;case`statutesAtLarge`:return e.year;default:return}}const Hi=new Set([`court`,`rule`,`section`,`chapter`,`article`,`part`,`title`,`paragraph`,`clause`,`amendment`,`dismissed`,`granted`,`denied`,`filed`,`argued`]),Ui=new Set([`january`,`february`,`march`,`april`,`may`,`june`,`july`,`august`,`september`,`october`,`november`,`december`]),Wi=new Date().getFullYear()+5;function Gi(e){if(e.type!==`case`&&e.type!==`shortFormCase`)return!1;let t=e;if(!t.reporter||!Ui.has(t.reporter.toLowerCase().trim()))return!1;let n=typeof t.volume==`number`?t.volume:Number.parseInt(String(t.volume),10);if(Number.isNaN(n)||n<1||n>31)return!1;let r=typeof t.page==`number`?t.page:Number.parseInt(String(t.page),10);return Number.isNaN(r)?!1:r>=1700&&r<=Wi}function Ki(e){if(e.type!==`case`&&e.type!==`shortFormCase`)return!1;let t=e;if(typeof t.volume==`number`&&t.volume===0||typeof t.volume==`number`&&t.volume>999999)return!0;if(e.type===`case`){let e=t;if(typeof e.page==`number`&&e.page===0)return!0}return!1}function qi(e){if(e.type!==`case`&&e.type!==`shortFormCase`)return!1;let t=e;if(!t.reporter)return!1;let n=t.reporter.toLowerCase().split(/\s+/);return n.length<2?!1:n.some(e=>Ui.has(e))}function Ji(e){return!!(e.toLowerCase().split(/\s+/).some(e=>Hi.has(e))||!e.includes(`.`)&&e.length>12)}const Yi=new Set(`the.a.an.in.on.at.but.and.for.by.to.with.from.as.if.so.nor.yet.not.no.then.when.where.who.what.how.that.this.these.those.he.she.it.they.we.his.her.its.their.our.was.were.is.are.has.had.been.being.did.does.do.may.shall.will.would.could.should.held.said.found.made.took.gave.see.also.january.february.march.april.june.july.august.september.october.november.december`.split(`.`)),Xi=2e3,Zi=1900,Qi=2099,$i=/^\d{1,2}-\d{4,}$/;function ea(e){if(e.type!==`case`&&e.type!==`shortFormCase`)return!1;let t=e;return!(typeof t.volume!=`number`||t.volume<=Xi||t.volume>=Zi&&t.volume<=Qi)}function ta(e){if(e.type!==`case`&&e.type!==`shortFormCase`)return!1;let t=e,n=String(t.volume);return $i.test(n)}function na(t){if(t.type!==`case`&&t.type!==`shortFormCase`)return!1;let n=t,r=typeof n.volume==`number`?n.volume:Number.parseInt(String(n.volume),10);if(Number.isNaN(r)||r<1||r>20)return!1;let i=n.reporter;if(!i)return!1;let a=e.s();return a?(a.byAbbreviation.get(i.toLowerCase())??[]).length===0:i.includes(`.`)?!1:i.toLowerCase().split(/\s+/).some(e=>Yi.has(e))}const ra=/^Fed\.\s?R\./i;function ia(e){if(e.type!==`case`&&e.type!==`shortFormCase`)return!1;let t=e;return typeof t.volume!=`number`||t.volume<Zi||t.volume>Qi||!t.reporter?!1:ra.test(t.reporter)}function aa(e,t){if(!t||e.type!==`case`&&e.type!==`shortFormCase`)return!1;let{originalStart:n,originalEnd:r}=e.span;if(n<0||r>t.length||r<=n)return!1;let i=t.indexOf(`
6
- `,n);return i!==-1&&i<r}function oa(e,t){let n=Bi(e);if(n&&zi.has(n.toLowerCase().trim())||n&&(e.type===`case`||e.type===`shortFormCase`)&&Ji(n)||ea(e)||ta(e)||na(e)||ia(e)||aa(e,t))return!0;let r=Vi(e);return r!==void 0&&r<Li}function sa(e,t){let n=[],r=Bi(e);if(r){let t=r.toLowerCase().trim();zi.has(t)&&n.push(`Reporter "${r}" is a known non-US source`),(e.type===`case`||e.type===`shortFormCase`)&&Ji(r)&&n.push(`Reporter "${r}" contains prose words or is implausibly long`)}if(ea(e)){let t=e;n.push(`Volume ${t.volume} exceeds maximum plausible volume (${Xi}) — likely a zip code or other number`)}if(ta(e)){let t=e;n.push(`Hyphenated volume "${t.volume}" matches docket number pattern — likely a case number, not a citation volume`)}if(na(e)){let t=e;n.push(`Small volume (${t.volume}) with unrecognized reporter "${t.reporter}" — likely a paragraph or footnote marker`)}if(ia(e)){let t=e;n.push(`Year-shaped volume (${t.volume}) with Fed. R. family reporter "${t.reporter}" — likely a federal-rule citation mis-tokenized as case (issue #582)`)}aa(e,t)&&n.push(`Citation span crosses a hard line break in the source — likely a section heading, form field, or address mis-tokenized as volume + reporter + page (issue #547)`);let i=Vi(e);return i!==void 0&&i<Li&&n.push(`Year ${i} predates US legal reporting (threshold: ${Li})`),n}let ca=!1;function la(e,t,n){n===void 0&&!ca&&e.some(e=>e.type===`case`||e.type===`shortFormCase`)&&(ca=!0,console.warn("[eyecite-ts] applyFalsePositiveFilters: called without `originalText` — line-crossing false-positive check (#547) is silently skipped. Pass the original source text as the 3rd argument to enable it. This warning fires only once per process; see issue #606."));let r=e.filter(e=>!Gi(e)&&!qi(e)&&!Ki(e));if(t)return r.filter(e=>!oa(e,n));for(let e of r){if(e.confidence===Ri&&e.warnings?.length)continue;let t=sa(e,n);if(t.length>0){e.confidence=Ri;let n=t.map(t=>({level:`warning`,message:t,position:{start:e.span.originalStart,end:e.span.originalEnd}}));if(e.warnings=[...e.warnings||[],...n],e.type===`case`){let t=e;t.fullSpan!==void 0&&(t.fullSpan=void 0)}}}return r}const ua=/^(\S+)\s+(.+)\s+(\d+)$/;function da(e,t){let n=performance.now(),{cleaned:r,transformationMap:i,warnings:a}=b(e,t?.cleaners),o;if(t?.detectFootnotes){let t=j(e);t.length>0&&(o=ee(t,i))}let s=ci.filter(e=>e.id===`usc`||e.id===`cfr`||e.id===`irc`),c=ci.filter(e=>e.id!==`usc`&&e.id!==`cfr`&&e.id!==`irc`),l=t?.patterns||[...Qr,...qr,...oi,...Jr,...si,...ai,...s,...Kr,...ct,...c,...Yr],u=li(r,l),d=new Map;for(let e=0;e<l.length;e++){let t=l[e].id;d.has(t)||d.set(t,e)}let f=e=>d.get(e.patternId)??1/0,p=[...u].sort((e,t)=>e.span.cleanStart-t.span.cleanStart||t.span.cleanEnd-e.span.cleanEnd||f(e)-f(t)),m=[];for(let e of p){let t=!1;for(let n of m)if(n.span.cleanStart<=e.span.cleanStart&&n.span.cleanEnd>=e.span.cleanEnd&&!(f(n)>f(e))&&(n.span.cleanStart<e.span.cleanStart||n.span.cleanEnd>e.span.cleanEnd||f(n)<f(e))){t=!0;break}t||m.push(e)}let h=[...m].sort((e,t)=>f(e)-f(t)||e.span.cleanStart-t.span.cleanStart||t.span.cleanEnd-e.span.cleanEnd),g=[];for(let e of h)g.some(t=>f(t)<f(e)&&t.span.cleanStart<e.span.cleanEnd&&t.span.cleanEnd>e.span.cleanStart)||g.push(e);let _=g.sort((e,t)=>e.span.cleanStart-t.span.cleanStart||t.span.cleanEnd-e.span.cleanEnd),v=Ci(_,r),y=new Map;for(let[e,t]of v.entries())for(let n of t)y.set(n,e);let x=_.filter(e=>e.type===`case`).map(e=>({cleanStart:e.span.cleanStart,cleanEnd:e.span.cleanEnd})),S=[];for(let t=0;t<_.length;t++){let o=_[t],s;switch(o.type){case`case`:s=o.patternId===`id`||o.patternId===`ibid`?Ht(o,i,r):o.patternId===`supra`?Ut(o,i,r):o.patternId===`shortFormCase`?Wt(o,i,r):it(o,i,r,e,x);break;case`docket`:{let t=vt(o,i,r,e);if(!t)continue;s=t;break}case`statute`:s=Pr(o,i);break;case`journal`:{let e=Dt(o,i,r),t=e.journal,n=t.split(/\s+/);if(n.length>=2&&!t.includes(`.`)&&!n.some(e=>e.length<=2))continue;s=e;break}case`neutral`:s=jt(o,i,r);break;case`publicLaw`:s=Mt(o,i);break;case`federalRegister`:s=yt(o,i,r);break;case`statutesAtLarge`:s=Ir(o,i,r);break;case`constitutional`:s=_t(o,i);break;case`federalRule`:s=Ct(o,i);break;case`stateRule`:s=Et(o,i);break;case`restatement`:s=Ft(o,i);break;case`treatise`:s=Wr(o,i);break;case`annotation`:s=B(o,i);break;default:continue}if(a.length>0&&(s.warnings=[...s.warnings||[],...a]),s.processTimeMs=performance.now()-n,s.type===`case`){let e=v.has(t),n=y.has(t);if(e||n){let r=_[n?y.get(t)??t:t],i=ua.exec(r.text);if(i){let[,n,r,a]=i;if(s.groupId=`${n}-${r.replace(/\s+/g,`.`)}-${a}`,e){let e=v.get(t)??[];s.parallelCitations=e.map(e=>{let t=_[e],n=ua.exec(t.text);if(n){let[,e,t,r]=n;return{volume:/^\d+$/.test(e)?Number.parseInt(e,10):e,reporter:t,page:Number.parseInt(r,10)}}return{volume:0,reporter:``,page:0}})}}}}S.push(s)}ma(S,r,i),ja(S,r,i),Ma(S,r,i),Na(S,r,i),_a(S),va(S),Ia(S),xa(S,r),ka(S,r),Ea(S,r),Pa(S,r,i),Fi(S,r),Ii(S,r),pa(S,r);let C=la(S,t?.filterFalsePositives??!1,e);return o&&N(C,o),t?.resolve?Si(C,e,o?{...t.resolutionOptions,footnoteMap:o}:t.resolutionOptions):C}async function fa(e,t){return da(e,t)}function pa(e,t){for(let n=0;n<e.length-1;n++){let r=e[n],i=e[n+1];if(r.signal!==`compare`||i.signal)continue;let a=t.slice(r.span.cleanEnd,i.span.cleanStart);/\bwith\b/i.test(a)&&(i.signal=`compare`)}}function ma(e,t,n){let r=[],i=/^\s*;\s*((?:art(?:icle)?\.?|amend(?:ment)?\.?|amdt\.?)\s+([IVX]+|\d+))(?:[,;]?\s*§\s*([\w-]+))?(?:[,;]?\s*cl\.?\s*(\d+))?/i,a=/^\s*(?:,|and)\s+([IVX]+|\d+)\b/;for(let o of e){if(o.type!==`constitutional`)continue;let e=o.jurisdiction;if(!e)continue;let c=o.amendment!==void 0,l=o.article!==void 0,u=o.span.cleanEnd;for(;u<t.length;){let d=t.slice(u),f=i.exec(d),p=!f&&(c||l)?a.exec(d):null;if(!f&&!p)break;if(f){let i=f[0],a=f[1],c=f[2],l=f[3],d=f[4],p=/^amend|^amdt/i.test(a),m=ga(c);if(m===void 0)break;let h=u+i.indexOf(a),g=u+i.length,{originalStart:_,originalEnd:v}=s({cleanStart:h,cleanEnd:g},n),y={type:`constitutional`,text:t.slice(h,g),span:{cleanStart:h,cleanEnd:g,originalStart:_,originalEnd:v},confidence:o.confidence,matchedText:t.slice(h,g),processTimeMs:0,patternsChecked:1,jurisdiction:e,...p?{amendment:m}:{article:m},...l?{section:l}:{},...d?{clause:Number.parseInt(d,10)}:{}};r.push(y),u=g}else if(p){let i=p[0],a=p[1],l=ga(a);if(l===void 0)break;let d=u+i.indexOf(a),f=u+i.length,{originalStart:m,originalEnd:h}=s({cleanStart:d,cleanEnd:f},n),g={type:`constitutional`,text:t.slice(d,f),span:{cleanStart:d,cleanEnd:f,originalStart:m,originalEnd:h},confidence:o.confidence,matchedText:t.slice(d,f),processTimeMs:0,patternsChecked:1,jurisdiction:e,...c?{amendment:l}:{article:l}};r.push(g),u=f}}}e.push(...r)}const ha={first:1,second:2,third:3,fourth:4,fifth:5,sixth:6,seventh:7,eighth:8,ninth:9,tenth:10};function ga(e){if(!e)return;if(/^\d+$/.test(e))return Number.parseInt(e,10);let t=e.toLowerCase();if(t in ha)return ha[t];if(/^[IVX]+$/i.test(e)){let t={I:1,V:5,X:10},n=0,r=0;for(let i of e.toUpperCase()){let e=t[i]??0;e>r?n+=e-2*r:n+=e,r=e}return n>0?n:void 0}}function _a(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];if(r.type!==`case`||!r.subsequentHistoryEntries)continue;let i=r.subsequentHistoryEntries,a=0;for(let r=n+1;r<e.length&&a<i.length;r++){let o=e[r];if(o.type!==`case`)continue;let s=i[a].signalSpan.cleanEnd;o.span.cleanStart>=s&&(t.push({parentIdx:n,childIdx:r,signal:i[a].signal}),a++)}}if(t.length===0)return;let n=new Map;for(let e of t){let t=n.get(e.childIdx);(!t||e.parentIdx<t.parentIdx)&&n.set(e.childIdx,{parentIdx:e.parentIdx,signal:e.signal})}for(let[t,{parentIdx:r,signal:i}]of n){let n=e[t];n.type===`case`&&(n.subsequentHistoryOf={index:r,signal:i})}}function va(e){let t=!0,n=0,r=e.length+1;for(;t&&n<r;){t=!1,n++;for(let n of e){if(n.type!==`case`||!n.subsequentHistoryOf||n.caseName)continue;let r=e[n.subsequentHistoryOf.index];!r||r.type!==`case`||r.caseName&&(n.caseName=r.caseName,n.plaintiff=r.plaintiff,n.defendant=r.defendant,n.plaintiffNormalized=r.plaintiffNormalized,n.defendantNormalized=r.defendantNormalized,n.proceduralPrefix=r.proceduralPrefix,n.spans&&(n.spans.caseName=void 0,n.spans.plaintiff=void 0,n.spans.defendant=void 0),n.fullSpan&&={cleanStart:n.span.cleanStart,cleanEnd:n.fullSpan.cleanEnd,originalStart:n.span.originalStart,originalEnd:n.fullSpan.originalEnd},n.confidence=be({reporter:n.reporter,year:n.year,caseName:n.caseName,court:n.court,hasBlankPage:n.hasBlankPage??!1}),t=!0)}}}const ya=/^\s*(?:,\s*(?:at\s+)?\d+(?:-\d+)?\s*)?\(\s*([A-Z][A-Za-z]+\.?(?:\s+[A-Z][A-Za-z]+\.?)?)?\s*(\d{4})(?:-\d{2,4})?\s*([A-Z][A-Za-z]+\.?(?:\s+[A-Z][A-Za-z]+\.?)?)?\s*\)/,ba=/^(?:Repl|Supp|Cum\.?\s*Supp|Reissue)\.?$/i;function xa(e,t){for(let n of e){if(n.type!==`statute`&&n.type!==`regulation`||n.year!==void 0)continue;let e=t.slice(n.span.cleanEnd),r=ya.exec(e);if(!r)continue;let[,i,a,o]=r;n.year=Number.parseInt(a,10);let s=i??o;s&&(ba.test(s)?n.editionLabel=s.replace(/\s+/g,` `).trim():n.publisher=s)}}const Sa={WV:{jurisdiction:`WV`,code:`W. Va. Code`},CO:{jurisdiction:`CO`,code:`C.R.S.`},MT:{jurisdiction:`MT`,code:`MCA`}},Ca=/\bD\.\s*C\.|\bDistrict\s+of\s+Columbia\b/,wa=/\bVa\.|\bVirginia\b/;function Ta(e,t){let n=Math.max(0,t-400),r=e.slice(n,t),i=-1,a=-1;for(let e of r.matchAll(new RegExp(Ca,`g`)))e.index!==void 0&&e.index>i&&(i=e.index);for(let e of r.matchAll(new RegExp(wa,`g`)))e.index!==void 0&&e.index>a&&(a=e.index);return i<0&&a<0?null:i>a?`DC`:`VA`}function Ea(e,t){for(let n of e)n.type===`statute`&&/^Code\s+§/.test(n.matchedText)&&(n.jurisdiction!==`VA`&&n.jurisdiction!==`GA`||Ta(t,n.span.cleanStart)===`DC`&&(n.code=`D.C. Code`,n.jurisdiction=`DC`))}const Da=/\bNMSA\b|\bN\.\s*M\.|\bNew\s+Mexico\b/;function Oa(e,t){let n=Math.max(0,t-200),r=e.slice(n,t);return Da.test(r)}function ka(e,t){let n=null;for(let r of e){if(r.type!==`statute`)continue;if(!/^(?:§|Section\s)/.test(r.matchedText)){let e=r.jurisdiction;e&&Sa[e]?n=Sa[e]:e===`NM`&&(n=null);continue}if(r.jurisdiction!==`NM`||r.code!==`NMSA 1978`)continue;let e=t.slice(r.span.cleanEnd,r.span.cleanEnd+200),i=e.search(/[.;](?:\s|$)/),a=i>=0?e.slice(0,i):e;if(/,\s*M\.?\s*C\.?\s*A\.?\b/.test(a)){r.jurisdiction=`MT`,r.code=`MCA`;continue}if(n){r.jurisdiction=n.jurisdiction,r.code=n.code;continue}Oa(t,r.span.cleanStart)||(r.jurisdiction=void 0,r.code=void 0)}}const Aa=new Set([`the`,`and`,`but`,`for`,`see`,`see also`,`cf`,`but see`,`but cf`,`compare`,`accord`,`state`,`people`,`court`,`plaintiff`,`defendant`,`appellant`,`appellee`,`petitioner`,`respondent`,`united states`]);function ja(e,t,n){let r=`\\d[\\w-]*(?:\\.[\\d\\w-]+)*(?:\\([A-Za-z0-9]+\\))*`,i=RegExp(`(?:\\b(Code(?:\\s+Ann\\.?)?)\\s+)?§§\\s+(${r})(?=\\s*(?:,\\s*|\\s+and\\s+|\\s+to\\s+)${r})`,`g`),a=[],o;for(;(o=i.exec(t))!==null;){let t=o[0],r=o[1],i=o[2],c=o.index,l=c+t.length;if(Fa(e,c,l))continue;let u=c+t.length-i.length,d=l,{originalStart:f,originalEnd:p}=s({cleanStart:c,cleanEnd:l},n),m=s({cleanStart:u,cleanEnd:d},n),h=r?r.replace(/\s+/g,` `).trim():`§`,g={type:`statute`,text:t,span:{cleanStart:c,cleanEnd:l,originalStart:f,originalEnd:p},confidence:h===`§`?.3:.5,matchedText:t,processTimeMs:0,patternsChecked:1,code:h,section:i,spans:{section:{cleanStart:u,cleanEnd:d,originalStart:m.originalStart,originalEnd:m.originalEnd}}};a.push(g)}a.length!==0&&(e.push(...a),e.sort((e,t)=>e.span.cleanStart-t.span.cleanStart))}function Ma(e,t,n){let r=RegExp(`^(\\s*,\\s*|\\s+and\\s+|\\s+to\\s+)(\\d[\\w-]*(?:\\.[\\d\\w-]+)*(?:\\([A-Za-z0-9]+\\))*)`),i=/^\s*et\s+seq\.?/i,a=[];for(let o of e){if(o.type!==`statute`||!o.matchedText.includes(`§§`))continue;let e=o.span.cleanEnd;for(;e<t.length;){let c=t.slice(e),l=r.exec(c);if(!l)break;let u=l[0].length,d=l[1],f=l[2],p=e+u-f.length,m=e+u;if(/^\s+to\s+$/.test(d)){let r=typeof o.section==`string`?o.section:void 0;r&&(o.sectionRange={start:r,end:f},o.matchedText=t.slice(o.span.cleanStart,m),o.text=t.slice(o.span.cleanStart,m),o.span={cleanStart:o.span.cleanStart,cleanEnd:m,originalStart:o.span.originalStart,originalEnd:s({cleanStart:o.span.cleanStart,cleanEnd:m},n).originalEnd}),e=m;continue}let{originalStart:h,originalEnd:g}=s({cleanStart:p,cleanEnd:m},n),_=t.slice(m,m+20),v=i.test(_),y={...o,text:f,matchedText:f,section:f,sectionRange:void 0,span:{cleanStart:p,cleanEnd:m,originalStart:h,originalEnd:g},subsection:void 0,pincite:void 0,hasEtSeq:v||void 0,spans:void 0};a.push(y),e=m}}a.length!==0&&(e.push(...a),e.sort((e,t)=>e.span.cleanStart-t.span.cleanStart))}function Na(e,t,n){let r=/(?<![A-Za-z\d-])§\s*(\d[\w]*(?:\.[\w]+)*(?:\([A-Za-z0-9.]+\))*(?:,?\s+(?:subd\.|subdivision|subds\.|subdivisions|paragraphs?|pars?\.)\s+(?:\([^)]*\)|\[[^\]]*\])(?:\s*(?:\([^)]*\)|\[[^\]]*\]))*)?(?:\s*[-–—]\s*\([A-Za-z0-9]+\))?)/g,i=[];for(let a=0;a<e.length;a++){let o=e[a];if(o.type!==`statute`||!o.code||o.code===`NMSA 1978`)continue;let c=o.span.cleanEnd,l=Math.min(c+300,t.length);for(let t=a+1;t<e.length;t++){let n=e[t];n.span.cleanStart>=c&&n.span.cleanStart<l&&(l=n.span.cleanStart)}if(l<=c)continue;let u=t.slice(c,l);r.lastIndex=0;let d;for(;(d=r.exec(u))!==null;){let t=c+d.index,r=t+d[0].length;if(Fa(e,t,r))continue;let a=d[1];if(/^\d+[A-Z]?-\d+[A-Z]?-\d+/.test(a))continue;let{originalStart:l,originalEnd:u}=s({cleanStart:t,cleanEnd:r},n),f=Q(a),p={type:`statute`,text:d[0],span:{cleanStart:t,cleanEnd:r,originalStart:l,originalEnd:u},confidence:Math.max(.6,o.confidence-.1),matchedText:d[0],processTimeMs:0,patternsChecked:1,title:o.title,code:o.code,section:f.section,subsection:f.subsection,subsectionRange:f.subsection&&f.subsectionRangeEnd?{start:f.subsection,end:f.subsectionRangeEnd}:void 0,jurisdiction:o.jurisdiction};i.push(p)}}i.length!==0&&(e.push(...i),e.sort((e,t)=>e.span.cleanStart-t.span.cleanStart))}function Pa(e,t,n){let r=e=>{let t=e.trim();return t=t.replace(/^(?:In\s+re|Estate\s+of|Ex\s+parte|Matter\s+of|Application\s+of)\s+/i,``),t=t.replace(/^(?:But\s+(?:see|cf\.?)|See(?:\s+also)?|Compare|Cf\.?|Accord|E\.\s*g\.?|Also|Then)\s+/,``),t.trim()},i=[],a=new Set,o=(e,t,n)=>{let r=t.trim();if(r.length<3)return;let o=(n??r.toLowerCase()).trim();if(Aa.has(o))return;let s=`${e.span.cleanStart}:${r}`;a.has(s)||(a.add(s),i.push({cite:e,name:r,normalized:o}))};for(let t of e)if(t.type===`case`){if(t.plaintiff){o(t,t.plaintiff,t.plaintiffNormalized);let e=r(t.plaintiff);e&&e!==t.plaintiff&&o(t,e,e.toLowerCase())}if(t.defendant){o(t,t.defendant,t.defendantNormalized);let e=r(t.defendant);e&&e!==t.defendant&&o(t,e,e.toLowerCase())}}if(i.length===0)return;let c=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),l=new Map;for(let e of i){let t=l.get(e.name)??[];t.push(e),l.set(e.name,t)}for(let e of l.values())e.sort((e,t)=>e.cite.span.cleanStart-t.cite.span.cleanStart);let u=[],d=new Set;for(let[r,i]of l){let a=c(r),o=RegExp(`(?<![A-Za-z'])(${a})\\s*,\\s*at\\s+(?:pp?\\.?\\s*|pages?\\s+)?(\\d+(?:[-\\u2013\\u2014]\\d+)?(?:,\\s*\\d+(?:[-\\u2013\\u2014]\\d+)?)*)`,`g`),l;for(;(l=o.exec(t))!==null;){let t=l.index,r=t+l[0].length,a;for(let e of i){if(e.cite.span.cleanEnd>t)break;a=e}if(!a||Fa(e,t,r))continue;let o=`${t}-${r}`;if(d.has(o))continue;d.add(o);let c=G(l[2].split(`,`)[0].trim())??void 0,f=c?.page,{originalStart:p,originalEnd:m}=s({cleanStart:t,cleanEnd:r},n),h=typeof a.cite.page==`number`?a.cite.page:Number.parseInt(String(a.cite.page),10)||void 0;u.push({type:`shortFormCase`,text:l[0],matchedText:l[0],confidence:.85,processTimeMs:0,patternsChecked:0,span:{cleanStart:t,cleanEnd:r,originalStart:p,originalEnd:m},volume:a.cite.volume,reporter:a.cite.reporter,page:h,pincite:f,pinciteInfo:c,partyName:l[1],partyNameNormalized:a.normalized})}}u.length!==0&&(e.push(...u),e.sort((e,t)=>e.span.cleanStart-t.span.cleanStart))}function Fa(e,t,n){for(let r of e)if(!(r.span.cleanEnd<=t)&&!(r.span.cleanStart>=n))return!0;return!1}function Ia(e){let t=new Map;for(let n=0;n<e.length;n++){let r=e[n];r.type===`case`&&(!r.groupId||!r.caseName||t.has(r.groupId)||t.set(r.groupId,n))}for(let n of e){if(n.type!==`case`||!n.groupId||n.caseName)continue;let r=t.get(n.groupId);if(r===void 0)continue;let i=e[r];!i||i.type!==`case`||(n.caseName=i.caseName,n.plaintiff=i.plaintiff,n.defendant=i.defendant,n.plaintiffNormalized=i.plaintiffNormalized,n.defendantNormalized=i.defendantNormalized,n.proceduralPrefix=i.proceduralPrefix,n.confidence=be({reporter:n.reporter,year:n.year,caseName:n.caseName,court:n.court,hasBlankPage:n.hasBlankPage??!1}))}}function La(e,t){let n=e.map((e,t)=>t),r=[],i=new Set;function a(e){if(e.from===e.to)return;let t=`${e.type}|${e.from}|${e.to}`;i.has(t)||(i.add(t),r.push(e))}for(let t=0;t<e.length;t++){let n=e[t];n.resolution?.resolvedTo!==void 0&&a({type:`resolves-to`,from:t,to:n.resolution.resolvedTo,confidence:n.resolution.confidence??1,...n.resolution.warnings?{warnings:n.resolution.warnings}:{}}),n.resolution?.antecedentIndex!==void 0&&a({type:`antecedent`,from:t,to:n.resolution.antecedentIndex}),n.subsequentHistoryOf&&a({type:`history-of`,from:t,to:n.subsequentHistoryOf.index,signal:n.subsequentHistoryOf.signal}),n.pinciteInheritedFrom!==void 0&&a({type:`pincite-inherit`,from:t,to:n.pinciteInheritedFrom})}let o=new Map;for(let t=0;t<e.length;t++){let n=e[t];if(n.type!==`case`)continue;let r=n.groupId;if(!r)continue;let i=o.get(r)??[];i.push(t),o.set(r,i)}for(let[e,t]of o)for(let n=0;n<t.length;n++)for(let r=n+1;r<t.length;r++)a({type:`parallel`,from:t[n],to:t[r],groupId:e});let s=new Map;for(let t=0;t<e.length;t++){let n=e[t];if(!n.stringCitationGroupId)continue;let r=s.get(n.stringCitationGroupId)??[];r.push({idx:t,position:n.stringCitationIndex??0}),s.set(n.stringCitationGroupId,r)}for(let[e,t]of s){t.sort((e,t)=>e.position-t.position);for(let n=0;n<t.length-1;n++)a({type:`string-cite`,from:t[n].idx,to:t[n+1].idx,groupId:e,position:t[n].position})}for(let n=0;n<e.length;n++)if(!(t[n]<=0)){for(let e=n-1;e>=0;e--)if(t[e]<t[n]){a({type:`in-parenthetical-of`,from:n,to:e});break}}return r.sort((e,t)=>e.from===t.from?e.type===t.type?e.to-t.to:e.type<t.type?-1:1:e.from-t.from),{nodes:n,edges:r}}function Ra(e){let t=new Map;for(let n=0;n<e.length;n++){let r=e[n];if(!r.inFootnote||r.footnoteNumber===void 0)continue;let i=t.get(r.footnoteNumber)??[];i.push(n),t.set(r.footnoteNumber,i)}if(t.size===0)return;let n=[];for(let[r,i]of t){let t=1/0,a=0;for(let n of i)t=Math.min(t,e[n].span.originalStart),a=Math.max(a,e[n].span.originalEnd);n.push({start:t,end:a,footnoteNumber:r,citationIndices:i})}return n.sort((e,t)=>e.start-t.start),n}function za(e,t,n){let r=[],i=new Map,a=new Map;if(t.length===0)return e.length>0&&r.push(Ba(0,e.length,0,e.length)),{proseSpans:r,precedingProse:i,followingProse:a};let o=t.map((e,t)=>({c:e,originalIndex:t}));o.sort((e,t)=>$(e.c)-$(t.c));let s=0,c=0;for(let{c:e,originalIndex:t}of o){let n=$(e),a=Ei(e),o=Oi(e),l=Di(e);if(n>s){let e=Ba(s,n,c,o);r.push(e),i.set(t,e)}a>s&&(s=a,c=l)}if(s<e.length||c<e.length){let t=Ba(s,s+(e.length-c),c,e.length);r.push(t);let n=o[o.length-1].originalIndex;a.set(n,t)}for(let e=0;e<o.length-1;e++){let t=o[e+1].originalIndex,n=i.get(t);n&&a.set(o[e].originalIndex,n)}return{proseSpans:r,precedingProse:i,followingProse:a}}function Ba(e,t,n,r){return{cleanStart:e,cleanEnd:t,originalStart:n,originalEnd:r}}function Va(e,t,n){let r=[];for(let i of t){let t=Ha(e,i),a={cleanStart:i.start,cleanEnd:i.end,originalStart:i.start,originalEnd:i.end},o=qa(e,i,n);if(o!==void 0){r.push({quoteSpan:a,quoteText:t,citationIndex:o,attributionKind:`parenthetical`,confidence:.95});continue}if(Ua(e,i)){let e=Wa(i,n);if(e!==void 0){let n=e.distance;r.push({quoteSpan:a,quoteText:t,citationIndex:e.index,attributionKind:`block-quote`,confidence:n<50?.98:.9});continue}}else{let o=Ga(e,i,n);if(o!==void 0){r.push({quoteSpan:a,quoteText:t,citationIndex:o,attributionKind:`adjacent`,confidence:.85});continue}}r.push({quoteSpan:a,quoteText:t})}return r}function Ha(e,t){let n=e.slice(t.start,t.end);return/^\s*>/m.test(n)?n.split(/\r?\n/).map(e=>e.replace(/^\s*>\s?/,``)).join(`
7
- `).trim():e.slice(t.start+1,t.end-1)}function Ua(e,t){let n=e.slice(t.start,t.end);return!!(/^>\s/m.test(n)||n.split(/\s+/).filter(e=>e.length>0).length>=50)}function Wa(e,t){for(let n=0;n<t.length;n++){let r=t[n].span.originalStart;if(r<=e.end)continue;let i=r-e.end;return i>200?void 0:{index:n,distance:i}}}function Ga(e,t,n){for(let r=0;r<n.length;r++){let i=n[r].span.originalStart;if(!(i<=t.end))return i-t.end>100||Ka(e.slice(t.end,i))?void 0:r}}function Ka(e){let t=/^(?:v|vs|[A-Za-z]|Inc|Co|Corp|Ltd|Mr|Mrs|Ms|Dr|St|Jr|Sr|No)$/,n=/\.\s+[A-Z]/g,r;for(r=n.exec(e);r!==null;){let i=r.index,a=i;for(;a>0&&/[A-Za-z]/.test(e[a-1]);)a--;let o=e.slice(a,i);if(!t.test(o))return!0;r=n.exec(e)}return!1}function qa(e,t,n){for(let r=0;r<n.length;r++){let i=n[r];if(t.start<=i.span.originalEnd)continue;let a=0,o=-1,s=!1;for(let n=i.span.originalEnd;n<e.length&&!s;n++){let i=e[n];if(i===`(`)a===0&&(o=n),a++;else if(i===`)`)if(a--,a===0&&o!==-1){if(t.start>=o&&t.end<=n+1)return r;o=-1}else a<0&&(s=!0);else a===0&&!/\s/.test(i)&&(s=!0)}}}function Ja(e,t,n){let r=fi(e,t),i=di(e),a=za(e,t,n?.transformationMap),o=La(t,r),s=Va(e,i,t),c=Ra(t);return{citations:t,proseSpans:a.proseSpans,precedingProse:a.precedingProse,followingProse:a.followingProse,quoteAttributions:s,citationGraph:o,...c?{footnoteZones:c}:{}}}exports.DocumentResolver=xi,exports.analyzeDocument=Ja,exports.applyFalsePositiveFilters=la,exports.assertUnreachable=a,exports.cleanText=b,exports.detectFootnotes=j,exports.extractAnnotation=B,exports.extractCase=it,exports.extractCitations=da,exports.extractCitationsAsync=fa,exports.extractConstitutional=_t,exports.extractFederalRegister=yt,exports.extractFederalRule=Ct,exports.extractJournal=Dt,exports.extractNeutral=jt,exports.extractPublicLaw=Mt,exports.extractRestatement=Ft,exports.extractStatute=Pr,exports.extractStatutesAtLarge=Ir,exports.extractTreatise=Wr,exports.isCaseCitation=r,exports.isCitationType=i,exports.isFullCitation=t,exports.isShortFormCitation=n,exports.normalizeCourt=se,exports.parsePincite=G,exports.resolveCitations=Si,exports.spanFromGroupIndex=o,exports.tokenize=li;
3
+ `,i),n=t<0?e.length:t,r=e.slice(i,n).trim();if(/^[-_]{5,}$/.test(r))return i;if(a&&r!==``&&O.test(r))return j(e,i);if(a=r===``,t<0)break;i=t+1}return e.length}function j(e,t){if(t<=0)return 0;let n=e.lastIndexOf(`
4
+ `,t-2);return n<0?0:n+1}const ee=/<[^>]+>/;function te(e){if(ee.test(e)){let t=E(e);if(t.length>0)return t}return k(e)}function M(e,t,n,r=20){for(let i=1;i<=r;i++){let r=n===`forward`?e+i:e-i,a=t.get(r);if(a!==void 0)return a}}function ne(e,t){return e.length===0?[]:e.map(e=>({start:t.originalToClean.get(e.start)??M(e.start,t.originalToClean,`forward`)??e.start,end:t.originalToClean.get(e.end)??M(e.end,t.originalToClean,`backward`)??e.end,footnoteNumber:e.footnoteNumber}))}function N(e,t){if(t.length!==0)for(let n of e){let e=n.span.cleanStart,r=0,i=t.length-1;for(;r<=i;){let a=r+i>>>1,o=t[a];if(e<o.start)i=a-1;else if(e>=o.end)r=a+1;else{n.inFootnote=!0,n.footnoteNumber=o.footnoteNumber;break}}}}const P={jan:1,january:1,feb:2,february:2,mar:3,march:3,apr:4,april:4,may:5,jun:6,june:6,jul:7,july:7,aug:8,august:8,sep:9,sept:9,september:9,oct:10,october:10,nov:11,november:11,dec:12,december:12};function F(e){if(!Number.isInteger(e))return!1;let t=new Date().getFullYear()+1;return e>=1700&&e<=t}function I(e){let t=P[e.toLowerCase().replace(/\.$/,``)];if(t===void 0)throw Error(`Invalid month name: ${e}`);return t}const L=[0,31,28,31,30,31,30,31,31,30,31,30,31];function R(e,t,n){if(t<1||t>12||n<1)return!1;let r=L[t];return t===2&&e%4==0&&(e%100!=0||e%400==0)&&(r=29),n<=r}function z(e){let{year:t,month:n,day:r}=e;return n!==void 0&&r!==void 0?`${t}-${String(n).padStart(2,`0`)}-${String(r).padStart(2,`0`)}`:n===void 0?String(t):`${t}-${String(n).padStart(2,`0`)}`}function re(e){let t=e.match(/\b(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Sept|Oct|Nov|Dec)(?:\.?,?\s+|\.,?\s*)(\d{1,2}),?\s+(\d{4})\b/i);if(t){let e=I(t[1]),n=Number.parseInt(t[2],10),r=Number.parseInt(t[3],10);if(F(r)){let t=R(r,e,n)?{year:r,month:e,day:n}:{year:r,month:e};return{iso:z(t),parsed:t}}}let n=e.match(/\b(January|February|March|April|May|June|July|August|September|October|November|December)\s+(\d{1,2}),?\s+(\d{4})\b/i);if(n){let e=I(n[1]),t=Number.parseInt(n[2],10),r=Number.parseInt(n[3],10);if(F(r)){let n=R(r,e,t)?{year:r,month:e,day:t}:{year:r,month:e};return{iso:z(n),parsed:n}}}let r=e.match(/\b(\d{4})([-/])(\d{1,2})\2(\d{1,2})\b/);if(r){let e=Number.parseInt(r[1],10),t=Number.parseInt(r[3],10),n=Number.parseInt(r[4],10);if(F(e)){let r=R(e,t,n)?{year:e,month:t,day:n}:{year:e,month:t};return{iso:z(r),parsed:r}}}let i=e.match(/\b(\d{1,2})\/(\d{1,2})\/(\d{2}|\d{4})\b/);if(i){let e=Number.parseInt(i[1],10),t=Number.parseInt(i[2],10),n=i[3],r=Number.parseInt(n,10);if(n.length===2&&(r=r<=50?2e3+r:1900+r),F(r)){let n=R(r,e,t)?{year:r,month:e,day:t}:{year:r,month:e};return{iso:z(n),parsed:n}}}let a=e.match(/\b(\d{1,2})\s+(January|February|March|April|May|June|July|August|September|October|November|December|Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Sept|Oct|Nov|Dec)\.?\s+(\d{4})\b/i);if(a){let e=Number.parseInt(a[1],10),t=I(a[2]),n=Number.parseInt(a[3],10);if(F(n)){let r=R(n,t,e)?{year:n,month:t,day:e}:{year:n,month:t};return{iso:z(r),parsed:r}}}let o=e.match(/\b(\d{4})\b/);if(o){let e=Number.parseInt(o[1],10);if(F(e)){let t={year:e};return{iso:z(t),parsed:t}}}}function B(e,t){let{text:n,span:r}=e,i=/\b(\d+)\s+(A\.\s?L\.\s?R\.(?:\s?(?:Fed\.(?:\s?\d(?:d|nd|rd|th))?|\d(?:d|nd|rd|th)))?|ALR(?:\s?(?:Fed(?:\s?\d(?:d|nd|rd|th))?|\d(?:d|nd|rd|th)))?)\s+(\d+)\b/d.exec(n);if(!i)throw Error(`Failed to parse A.L.R. annotation citation: ${n}`);let a=Number.parseInt(i[1],10),c=i[2].replace(/\s+/g,``),l=Number.parseInt(i[3],10),u=/\((?:.*?\s)?(\d{4})\)/.exec(n),d=u?Number.parseInt(u[1],10):void 0,f=d!==void 0&&F(d)?d:void 0,p;if(i.indices){let e=i.indices[1],n=i.indices[2],a=i.indices[3];e&&n&&a&&(p={volume:o(r.cleanStart,e,t),series:o(r.cleanStart,n,t),page:o(r.cleanStart,a,t)})}let{originalStart:m,originalEnd:h}=s(r,t);return{type:`annotation`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:m,originalEnd:h},confidence:.95,matchedText:n,processTimeMs:0,patternsChecked:1,series:c,volume:a,page:l,year:f,spans:p}}const ie=String.raw`\bCanon\s+(\d+)((?:\([A-Za-z0-9]+\))*)(\s+of\s+the\s+Code\s+of\s+Judicial\s+Conduct)?`,ae=new RegExp(ie),V=[{id:`canon`,regex:new RegExp(ie,`g`),description:`Code of Judicial Conduct canons (e.g. "Canon 7(B)(1)")`,type:`canon`}];function oe(e,t){let{text:n,span:r}=e,i=ae.exec(n);if(!i)throw Error(`Failed to parse canon citation: ${n}`);let{originalStart:a,originalEnd:o}=s(r,t);return{type:`canon`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:a,originalEnd:o},confidence:.9,matchedText:n,processTimeMs:0,patternsChecked:1,canon:i[1],...i[2]?{subsection:i[2]}:{},...i[3]?{ruleSet:`Code of Judicial Conduct`}:{}}}function H(e){return{level:e,jurisdiction:`federal`,confidence:1}}function U(e,t){return{level:e,jurisdiction:`state`,state:t,confidence:1}}function W(e){return{level:e,jurisdiction:`state`,confidence:.7}}const se=new Map([[`U.S.`,H(`supreme`)],[`S.Ct.`,H(`supreme`)],[`L.Ed.`,H(`supreme`)],[`L.Ed.2d`,H(`supreme`)],[`S. Ct.`,H(`supreme`)],[`L. Ed.`,H(`supreme`)],[`L. Ed. 2d`,H(`supreme`)],[`U. S.`,H(`supreme`)],[`L.Ed. 2d`,H(`supreme`)],[`L. Ed.2d`,H(`supreme`)],[`F.`,H(`appellate`)],[`F.2d`,H(`appellate`)],[`F.3d`,H(`appellate`)],[`F.4th`,H(`appellate`)],[`F. App'x`,H(`appellate`)],[`F.Supp.`,H(`trial`)],[`F.Supp.2d`,H(`trial`)],[`F.Supp.3d`,H(`trial`)],[`F.Supp.4th`,H(`trial`)],[`F. Supp.`,H(`trial`)],[`F. Supp. 2d`,H(`trial`)],[`F. Supp. 3d`,H(`trial`)],[`F. Supp. 4th`,H(`trial`)],[`F.R.D.`,H(`trial`)],[`B.R.`,H(`trial`)],[`Cal.`,U(`supreme`,`CA`)],[`Cal.2d`,U(`supreme`,`CA`)],[`Cal.3d`,U(`supreme`,`CA`)],[`Cal.4th`,U(`supreme`,`CA`)],[`Cal.5th`,U(`supreme`,`CA`)],[`Cal.App.`,U(`appellate`,`CA`)],[`Cal.App.2d`,U(`appellate`,`CA`)],[`Cal.App.3d`,U(`appellate`,`CA`)],[`Cal.App.4th`,U(`appellate`,`CA`)],[`Cal.App.5th`,U(`appellate`,`CA`)],[`Cal.Rptr.`,U(`unknown`,`CA`)],[`Cal.Rptr.2d`,U(`unknown`,`CA`)],[`Cal.Rptr.3d`,U(`unknown`,`CA`)],[`N.Y.`,U(`supreme`,`NY`)],[`N.Y.2d`,U(`supreme`,`NY`)],[`N.Y.3d`,U(`supreme`,`NY`)],[`A.D.`,U(`appellate`,`NY`)],[`A.D.2d`,U(`appellate`,`NY`)],[`A.D.3d`,U(`appellate`,`NY`)],[`Misc.`,U(`trial`,`NY`)],[`Misc.2d`,U(`trial`,`NY`)],[`Misc.3d`,U(`trial`,`NY`)],[`N.Y.S.`,U(`unknown`,`NY`)],[`N.Y.S.2d`,U(`unknown`,`NY`)],[`N.Y.S.3d`,U(`unknown`,`NY`)],[`Ill.`,U(`supreme`,`IL`)],[`Ill.2d`,U(`supreme`,`IL`)],[`Ill.App.`,U(`appellate`,`IL`)],[`Ill.App.2d`,U(`appellate`,`IL`)],[`Ill.App.3d`,U(`appellate`,`IL`)],[`Ill.Dec.`,U(`unknown`,`IL`)],[`Ohio St.`,U(`supreme`,`OH`)],[`Ohio St.2d`,U(`supreme`,`OH`)],[`Ohio St.3d`,U(`supreme`,`OH`)],[`Ohio App.3d`,U(`appellate`,`OH`)],[`Pa.`,U(`supreme`,`PA`)],[`Pa. Super.`,U(`appellate`,`PA`)],[`Tex.`,U(`supreme`,`TX`)],[`Fla.`,U(`supreme`,`FL`)],[`Mass.`,U(`supreme`,`MA`)],[`Mass. App. Ct.`,U(`appellate`,`MA`)],[`A.`,W(`unknown`)],[`A.2d`,W(`unknown`)],[`A.3d`,W(`unknown`)],[`S.E.`,W(`unknown`)],[`S.E.2d`,W(`unknown`)],[`S.E.3d`,W(`unknown`)],[`S.W.`,W(`unknown`)],[`S.W.2d`,W(`unknown`)],[`S.W.3d`,W(`unknown`)],[`N.E.`,W(`unknown`)],[`N.E.2d`,W(`unknown`)],[`N.E.3d`,W(`unknown`)],[`N.W.`,W(`unknown`)],[`N.W.2d`,W(`unknown`)],[`N.W.3d`,W(`unknown`)],[`So.`,W(`unknown`)],[`So.2d`,W(`unknown`)],[`So.3d`,W(`unknown`)],[`P.`,W(`unknown`)],[`P.2d`,W(`unknown`)],[`P.3d`,W(`unknown`)]]);function ce(e){return se.get(e)}const le=/^(?:at\s+)?(?:¶¶?|paras?\.?)\s*/i,ue=/^(\d+)(?:\s*[-–—~]\s*(\d+))?\s*$/,de=/^(?:at\s+)?(\*?)(\d+)(?:\s*[-–—~]\s*\*?(\d+))?(?:\s*,)?\s*(?:(?:nn?|fns?|note)\s*\.?\s*(\d+)(?:\s*[-–—~]\s*(\d+))?)?$/i,fe=/^(?:at\s+)?(?:nn?|fns?|note)\s*\.?\s*(\d+)(?:[-–—~](\d+))?$/i;function G(e){let t=e.trim();if(!t)return null;let n=le.exec(t);if(n){let e=t.substring(n[0].length),r=ue.exec(e);if(r){let e=Number.parseInt(r[1],10),n=r[2]?Number.parseInt(r[2],10):void 0,i={paragraph:e,isRange:n!==void 0,raw:t};return n!==void 0&&(i.endParagraph=n),i}}let r=fe.exec(t);if(r){let e=Number.parseInt(r[1],10),n=r[2]?Number.parseInt(r[2],10):void 0,i={footnote:e,isRange:n!==void 0,raw:t};return n!==void 0&&(i.footnoteEnd=n),i}let i=de.exec(t);if(!i)return null;let a=i[1],o=i[2],s=i[3],c=i[4],l=i[5],u=Number.parseInt(o,10),d,f=!1;if(s){f=!0;let e=Number.parseInt(s,10);if(s.length<o.length){let e=o.slice(0,o.length-s.length);d=Number.parseInt(e+s,10)}else d=e}let p=c?Number.parseInt(c,10):void 0,m=l?Number.parseInt(l,10):void 0,h={page:u,isRange:f,raw:t};return d!==void 0&&(h.endPage=d),p!==void 0&&(h.footnote=p),m!==void 0&&(h.footnoteEnd=m),a===`*`&&(h.starPage=!0),h}function pe(e){if(!e||!e.trim())return;let t=e.trim();return t=t.replace(/\.\s+(?=[A-Za-z])/g,`.`),/[A-Za-z]$/.test(t)&&(/\./.test(t)||/^\d+\w*\s+[A-Z]/i.test(t))&&(t+=`.`),t}function me(e,t,n=1/0){if(e.length===0)return Math.min(t.length,n+1);if(t.length===0)return Math.min(e.length,n+1);let r=e.length<=t.length?e:t,i=e.length<=t.length?t:e,a=r.length,o=Array.from({length:a+1},(e,t)=>t),s=Array(a+1);for(let e=1;e<=i.length;e++){s[0]=e;let t=e;for(let n=1;n<=a;n++)i[e-1]===r[n-1]?s[n]=o[n-1]:s[n]=1+Math.min(o[n],s[n-1],o[n-1]),s[n]<t&&(t=s[n]);if(t>n)return n+1;let c=o;o=s,s=c}return o[a]}const he=new Set([`see`,`see also`,`see generally`,`cf`,`but see`,`but cf`,`compare`,`accord`,`contra`,`e.g.`,`see, e.g.`,`see also, e.g.`,`but see, e.g.`,`cf., e.g.`,`but cf., e.g.`]),ge=(()=>{let e=[...he].sort((e,t)=>t.length-e.length).map(e=>e.replace(/\s+/g,`\\s*,?\\s+`).replace(/,\s*/g,`,?\\s*`).replace(/\./g,`\\.\\s*`));return RegExp(`^(${e.join(`|`)}),?\\s+(?:the\\s+(?:case\\s+of(?:\\s+the)?|opinion(?:\\s+filed\\s+at\\s+this\\s+term)?\\s+in)\\s+)?`,`i`)})();function _e(e){return/^\d+$/.test(e)?Number.parseInt(e,10):e}const ve=/(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Sept|Oct|Nov|Dec|January|February|March|April|May|June|July|August|September|October|November|December)\.?/,ye=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],be=new Set([`Cir`,`Ct`,`App`,`Sup`,`Dist`,`Div`,`Bankr`,`Crim`,`Civ`,`Mass`,`Tex`,`Penn`,`Wash`,`Ind`,`Ark`]);function xe(e){let t=/\s+(\w{3,12})\.?\s*$/.exec(e);if(!t)return e;let n=t[1];if(!/^[A-Z]/.test(n))return e;let r=n.replace(/\.$/,``);if(be.has(r))return e;let i=n[0];for(let r of ye)if(r[0]===i&&me(n,r,2)<=2)return e.slice(0,t.index).trim();return e}const Se=new Date().getFullYear(),Ce=new Set(`F.,F.2d,F.3d,F.4th,F.5th,F.6th,F.7th,U.S.,S.Ct.,S. Ct.,L.Ed.,L. Ed.,L.Ed.2d,L. Ed. 2d,L.Ed.3d,L. Ed. 3d,F.Supp.,F. Supp.,F.Supp.2d,F. Supp. 2d,F.Supp.3d,F. Supp. 3d,F.Supp.4th,F. Supp. 4th,F.Supp.5th,F. Supp. 5th,F.Supp.6th,F. Supp. 6th,F.App'x,F. App'x,P.,P.2d,P.3d,P.4th,A.,A.2d,A.3d,A.4th,N.E.,N.E.2d,N.E.3d,N.E.4th,N.W.,N.W.2d,N.W.3d,S.E.,S.E.2d,S.E.3d,S.W.,S.W.2d,S.W.3d,S.W.4th,So.,So.2d,So. 2d,So.3d,So. 3d,So.4th,So. 4th,Mass.,Va.,Pa.,Idaho,Cal.,Cal.2d,Cal.3d,Cal.4th,Cal.5th,Cal.Rptr.,Cal.Rptr.2d,Cal.Rptr.3d,Cal.App.,Cal.App.2d,Cal.App.3d,Cal.App.4th,Cal.App.5th`.split(`,`)),we=/(2|3)(nd|ds|cl|rd)$/i;function Te(e){let t=we.exec(e);if(!t)return;let n=t[1];return`${e.slice(0,t.index)}${n}d`}function Ee(t,n){let r=e.s();if(!r)return;let i=r.byAbbreviation.get(t.toLowerCase()),a=t;if(!i||i.length===0){let e=Te(t);if(e){let t=r.byAbbreviation.get(e.toLowerCase());t&&t.length>0&&(i=t,a=e)}if(!i||i.length===0)return}let o=a.toLowerCase();if(o===`black.`&&n!==void 0&&n>=1861&&n<=1862)return`Black`;for(let e of i){for(let t of Object.keys(e.editions))if(t.toLowerCase()===o)return t;if(e.variations){for(let[t,n]of Object.entries(e.variations))if(t.toLowerCase()===o&&n)return n}}}function De(t){let{reporter:n,year:r,caseName:i,court:a,hasBlankPage:o}=t,s=.2,c=e.s()?.byAbbreviation.get(n.toLowerCase());return(c&&c.length>0||Ce.has(n))&&(s+=.3),r!==void 0&&r<=Se&&(s+=.2),i&&(s+=.15),a&&(s+=.1),s=Math.round(Math.min(s,1)*100)/100,o&&(s=Math.max(s,.5)),s}const Oe=/^(\d+(?:-\d+)?)\s+([A-Za-z0-9.\s'&]+)\s+(?:\((\d+)\s+([A-Z][A-Za-z.]+)\)\s+)?(\d+-\d+|\d+|_{3,}|-{3,})(?=$|[\s.;,)\]])/d,ke=/^(\d+(?:-\d+)?)\s+([A-Za-z0-9.\s'&]+?)\s*,\s+(?:\((\d+)\s+([A-Z][A-Za-z.]+)\)\s+)?(\d+-\d+|\d+|_{3,}|-{3,})(?=$|[.;)\]])/d,Ae=/^[_-]{3,}$/,je=/,\s*(?:at\s+)?(\*?\d+(?:\s*-\s*\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:\s*[-–—]\s*\d+)?)?)/d,Me=/\(([^)]+)\)/,Ne=/^(?:(?:[,;]\s*(?:at\s+(?:(?:pp?\.|pages?)\s*)?)?|\s+at\s+(?:(?:pp?\.|pages?)\s*)?)\*?\d+(?:-\d+)?)*(?:\s+(?:n|note)\s*\.?\s*\d+)?(?:\s+\d+)?\s*\(([^)]+)\)/,Pe=/^(?:\s+at\s+(?:(?:pp?\.|pages?)\s*)?|[,;]\s*(?:at\s+(?:(?:pp?\.|pages?)\s*)?)?)(\*?\d+(?:\s*[-–—~]\s*\*?\d+)?(?:(?:\s+|,\s+)(?:nn?|fns?|note)\s*\.?\s*\d+(?:\s*[-–—~]\s*\d+)?)?|¶¶?\s*\d+(?:\s*[-–—~]\s*\d+)?|paras?\.?\s*\d+(?:\s*[-–—~]\s*\d+)?|(?:nn?|fns?|note)\s*\.?\s*\d+(?:\s*[-–—~]\s*\d+)?)(?=$|[.,:;)([\]»"'“”‘’†‡§¶©°]|\s(?![A-Z]))/d,Fe=/\d\.\s+/g,Ie=/[\s,]/,Le=/^,\s*(\*?\d+(?:[-–—~]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—~]\d+)?)?)(?=$|[.,:;)([\]»"'“”‘’†‡§¶©°]|\s(?![A-Z]))/,Re=/^(?:,\s*(?:(?:at\s+(?:(?:pp?\.|pages?)\s*)?)?\*?\d+(?:[-–—~]\*?\d+)?(?:\s+(?:n|note)\s*\.?\s*\d+)?|(?:at\s+)?(?:¶¶?|paras?\.?)\s*\d+(?:[-–—~]\d+)?))+/,ze=[[/^aff'?d\s+on\s+other\s+grounds\b/i,`affirmed`],[/^affirmed\s+on\s+other\s+grounds\b/i,`affirmed`],[/^aff'?d\b/i,`affirmed`],[/^affirmed\b/i,`affirmed`],[/^rev'?d\s+and\s+remanded\b/i,`reversed`],[/^rev'?d\s+on\s+other\s+grounds\b/i,`reversed`],[/^reversed\s+and\s+remanded\b/i,`reversed`],[/^rev'?d\b/i,`reversed`],[/^reversed\b/i,`reversed`],[/^certiorari\s+denied\b/i,`cert_denied`],[/^cert\.\s*den(ied|\.)(?=[\s,;(\[]|$)/i,`cert_denied`],[/^certiorari\s+granted\b/i,`cert_granted`],[/^cert\.\s*granted\b/i,`cert_granted`],[/^overruled\s+by\b/i,`overruled`],[/^overruled\s+in\b/i,`overruled`],[/^overruling\b/i,`overruled`],[/^overruled\b/i,`overruled`],[/^vacated\s+by\b/i,`vacated`],[/^vacated\b/i,`vacated`],[/^remanded\s+for\s+reconsideration\b/i,`remanded`],[/^remanded\b/i,`remanded`],[/^modified\s+by\b/i,`modified`],[/^modified\b/i,`modified`],[/^abrogated\s+by\b/i,`abrogated`],[/^abrogated\s+in\b/i,`abrogated`],[/^abrogated\b/i,`abrogated`],[/^superseded\s+by\s+grant\s+of\s+review\b/i,`superseded_by_grant_of_review`],[/^superseded\s+by\b/i,`superseded`],[/^superseded\b/i,`superseded`],[/^disapproved\s+on\s+other\s+grounds\b/i,`disapproved_other_grounds`],[/^disapproved\s+of\b/i,`disapproved`],[/^disapproved\b/i,`disapproved`],[/^questioned\s+by\b/i,`questioned`],[/^questioned\b/i,`questioned`],[/^distinguished\s+by\b/i,`distinguished`],[/^distinguished\b/i,`distinguished`],[/^withdrawn\b/i,`withdrawn`],[/^reinstated\b/i,`reinstated`],[/^reh'?g\s+denied\b/i,`rehearing_denied`],[/^rehearing\s+denied\b/i,`rehearing_denied`],[/^reh'?g\s+granted\b/i,`rehearing_granted`],[/^rehearing\s+granted\b/i,`rehearing_granted`],[/^writ\s+ref'?d\s+n\.r\.e\./i,`writ_refused`],[/^writ\s+ref'?d\s+w\.m\.j\./i,`writ_refused`],[/^writ\s+ref'?d\b/i,`writ_refused`],[/^writ\s+dism'?d\s+w\.o\.j\./i,`writ_dismissed`],[/^writ\s+dism'?d\b/i,`writ_dismissed`],[/^writ\s+denied\b/i,`writ_denied`],[/^writ\s+granted\b/i,`writ_granted`],[/^no\s+writ\b/i,`no_writ`],[/^pet\.\s+ref'?d\b/i,`pet_refused`],[/^pet\.\s+denied\b/i,`pet_denied`],[/^pet\.\s+dism'?d\b/i,`pet_dismissed`],[/^pet\.\s+granted\b/i,`pet_granted`],[/^pet\.\s+filed\b/i,`pet_filed`],[/^no\s+pet\.\s+h\./i,`no_pet`],[/^no\s+pet\./i,`no_pet`],[/^review\s+den(?:ied|\.)/i,`review_denied`],[/^review\s+granted\b/i,`review_granted`],[/^opinion\s+vacated\b/i,`opinion_vacated`],[/^petition\s+for\s+review\s+filed\b/i,`petition_for_review_filed`],[/^petition\s+for\s+review\s+granted\b/i,`petition_for_review_granted`],[/^petition\s+for\s+review\s+denied\b/i,`petition_for_review_denied`],[/^as\s+modified\s+on\s+denial\s+of\s+rehearing\b/i,`modified_on_denial_of_rehearing`],[/^ordered\s+not\s+pub\.?/i,`not_published`],[/^not\s+for\s+publication\b/i,`not_published`],[/^nonpubl?\.?\s+opn\.?/i,`not_published`]];function Be(e){for(let[t,n]of ze){let r=t.exec(e);if(r)return{signal:n,matchLength:r[0].length}}}const Ve=new Set([`holding`,`finding`,`stating`,`noting`,`explaining`,`quoting`,`citing`,`discussing`,`describing`,`recognizing`,`applying`,`rejecting`,`adopting`,`requiring`]);function He(e){return Ve.has(e)}const Ue=/^([a-z]+)\b/i;function We(e){let t=0;for(let n of e)n===`(`?t++:n===`)`&&t--;if(t>0)return!0;let n=Ue.exec(e);return!!(n&&He(n[1].toLowerCase())||/\(\d{4}\)/.test(e))}const Ge=/((?:\d[\d-]*(?:st|nd|rd|th)?\s+)?[A-ZÀ-Þ][A-Za-z0-9À-ſ\s.,:'&()/-]+?)\s+v(?:s)?\.?\s+([A-Za-z0-9À-ſ\s.,:'&()/-]+?)\s*(?:,|\((?:([^)]*?\.[^)]*?)\s+)?(\d{4})\))\s*$/d,Ke=/\b(In\s+the\s+Matter\s+of\s+the\s+Liquidation\s+of|In\s+the\s+Matter\s+of\s+the\s+Rehabilitation\s+of|In\s+the\s+Matter\s+of\s+the\s+Receivership\s+of|In\s+the\s+Matter\s+of\s+the\s+Extradition\s+of|In\s+the\s+Matter\s+of\s+the\s+Application\s+of|In\s+the\s+Matter\s+of\s+the\s+Welfare\s+of|In\s+the\s+Matter\s+of|In\s+re\s+Petition\s+for\s+Naturalization\s+of|In\s+re\s+Termination\s+of\s+Parental\s+Rights\s+as\s+to|In\s+re\s+Termination\s+of\s+Parental\s+Rights\s+to|In\s+re\s+Termination\s+of\s+Parental\s+Rights\s+of|In\s+re\s+Marriage\s+of|In\s+re\s+Liquidation\s+of|In\s+re\s+Rehabilitation\s+of|In\s+re\s+Receivership\s+of|In\s+re\s+Naturalization\s+of|In\s+re\s+Extradition\s+of|In\s+re\s+Application\s+of|In\s+re\s+Welfare\s+of|In\s+re\s+Dependency\s+of|In\s+re\s+Paternity\s+of|In\s+re\s+Parentage\s+of|In\s+re\s+Conservatorship\s+of|In\s+re\s+Guardianship\s+of|In\s+re\s+Adoption\s+of|In\s+the\s+Interest\s+of|Matter\s+of\s+Liquidation\s+of|Matter\s+of\s+Rehabilitation\s+of|Commonwealth\s+of\s+Puerto\s+Rico\s+ex\s+rel\.|Government\s+of\s+the\s+Virgin\s+Islands\s+ex\s+rel\.|Commonwealth\s+ex\s+rel\.|Petition\s+for\s+Naturalization\s+of|People\s+ex\s+rel\.|District\s+of\s+Columbia\s+ex\s+rel\.|Conservatorship\s+of\s+the\s+Person\s+and\s+Estate\s+of|Conservatorship\s+of\s+the\s+Person\s+of|Conservatorship\s+of\s+the\s+Estate\s+of|Inquiry\s+Concerning\s+Judge|Appeal\s+of|Care\s+and\s+Protection\s+of|Succession\s+of|In re|Ex parte|Matter of|Estate of|State ex rel\.|United States ex rel\.|Application of|On Petition of|Petition of|Adoption of|Conservatorship of|Guardianship of)\s+([A-Za-z0-9\s.,'&()/-]+?)\s*(?:,|\((?:([^)]*?\.[^)]*?)\s+)?(\d{4})\))\s*$/di,qe=new Set([`of`,`the`,`and`,`for`,`on`,`by`,`a`,`an`,`to`,`at`,`as`,`de`,`la`,`el`,`del`,`von`,`van`,`ex`,`rel`,`et`,`al`,`d`,`or`]),Je=/\b(?:d\/?b\/?a|a\/?k\/?a|f\/?k\/?a|n\/?k\/?a)\b/i;function Ye(e){let t=e.split(/\s+/),n=(t[0]??``).toLowerCase().replace(/[.,']+$/,``);if(Xe.has(n))return!1;for(let e of t){if(!e||e===`&`)continue;let t=e.toLowerCase().replace(/[.,']+$/,``);if(!qe.has(t)&&!/^[A-Z]/.test(e)&&!/^\d/.test(e))return!1}return!0}const Xe=new Set(`this.that.these.those.here.there.such.its.his.her.their.our.under.invoking.citing.following.unlike.whereas.pursuant.applying.rather.moreover.furthermore.however.nevertheless.accordingly.consequently.instead.meanwhile.indeed.thus.hence`.split(`.`));function Ze(e){if(/^(?:Vol\.?|vol\.?|p\.?|pp\.?|at|n\.?|note)\s+\d/i.test(e))return;let t=e.replace(/\s*\([^()]*\)\s*$/,``).trim().replace(/\s*\d{1,2}[/-]\d{1,2}[/-]\d{4}\s*$/,``).replace(/\s*\d{4}[/-]\d{1,2}[/-]\d{1,2}\s*$/,``).trim();if(t=t.replace(/\s*\d{4}(?:\s+|,\s+)(?:mem\.?|unpub\.?|unpublished|per\s+curiam|en\s+banc|slip\s+op\.?|table|supp\.?)\s*$/i,``).trim(),t=t.replace(/\s*\d{4}\s*$/,``).trim(),t=t.replace(/\s*,?\s*\d{1,2}\s*,?\s*$/,``).trim(),t=t.replace(RegExp(`\\s*${ve.source}\\s*$`,`i`),``).trim(),t=xe(t).trim(),t=t.replace(/,\s*$/,``).trim(),!(!t||!/[A-Za-z]/.test(t))&&!/^["'“”‘’]/.test(t)&&!/(?:[a-z][a-z\d+.-]*:\/\/|file:\/\/\/)/i.test(t)&&!/^(?:dis|conc|concurring|dissenting)\.\s*opn\./i.test(t)&&!/,\s+J\.?J?\.?\s*$|,\s+JJ\.?\s*$/.test(t)&&!/,\s+J\.?J?\.?,\s+(?:dissenting|concurring|joining)/i.test(t)&&!/^(?:(?:now|previously|formerly|since)\s+)?(?:rev'd|aff'd|aff'g|rev'g|mod'd|cert\.?\s+(?:denied|granted|dismissed)|appeal\s+(?:denied|dismissed|docketed)|dismissed|reversed|vacated|vacating|overruled(?:\s+by)?|overruling|en\s+banc|per\s+curiam)(?:\s+(?:in\s+part|on\s+other\s+grounds?|sub\s+nom\.?))?\s*$/i.test(t)&&!/^(?:n\.?\s*d\.?|no\s+date|year\s+omitted|unpub\.?|unpublished|slip\s+op(?:\.|inion)?|table|mem\.?)\s*$/i.test(t)&&!/^(?:filed|decided|argued|submitted|heard|effective|entered)\b/i.test(t)&&!/^(?:c\.|circa|about|approx\.?|approximately|cir\.)\s*$/i.test(t)){if(!t.includes(`.`)){let e=t.match(/^[a-z]+/i)?.[0].toLowerCase();if(e&&(Ve.has(e)||e===`additional`||e===`emphasis`||e===`internal`||e===`citations`||e===`footnote`||e===`alteration`||e===`alterations`||e===`omitted`||e===`see`))return;let n=t.split(/\s+/);if(n.length>=3&&n.every(e=>/^[a-z]/.test(e)))return;let r=n.some(e=>/^\d+(st|nd|rd|th|d)$/i.test(e)),i=n.every(e=>/^[A-Z]/.test(e));if(!r&&i)return}return t}}const Qe=new Set(`acad.acct.accts.admin.adm.advert.advoc.aff.affs.afr.agric.all.alt.am.ann.app.arb.assoc.assocs.atl.auth.auto.ave.bankr.behav.bd.bor.brit.broad.bhd.bros.bldg.bull.bus.can.cap.cas.cath.ctr.ctrs.cent.chem.child.chron.coal.coll.com.comm.compar.comp.comput.condo.conf.cong.consol.const.constr.cont.coop.corp.corps.corr.cosm.couns.cntys.cnty.crim.def.delinq.det.dev.dig.dir.disc.disp.distrib.dist.div.econ.educ.elec.emp.eng.enter.enters.ent.equal.equip.est.eur.exam.exch.exec.expl.exp.fac.fam.fams.fed.fid.fin.found.gen.glob.grp.guar.hist.hosp.hous.hum.immigr.imp.inc.indem.indep.indus.info.inj.inst.ins.intell.intel.int.inv.invs.jurid.just.juv.lab.law.liab.ltd.loc.mach.mag.maint.mgmt.mgt.mfr.mfrs.mfg.mar.mkt.mktg.matrim.mech.med.merch.metro.min.misc.mod.mortg.mun.mut.nat.negl.negot.nw.no.nos.off.org.orgs.pac.pat.pers.pharm.phil.plan.pol.prac.pres.priv.prob.proc.prod.pro.prop.psych.pub.rec.reg.regul.rehab.rel.rels.rep.reprod.rsch.rsrv.resol.res.resp.rest.ret.rd.sav.sch.schs.sci.sec.serv.servs.sess.soc.solic.spec.stat.subcomm.sur.surv.sys.tchr.tech.telecomm.tel.temp.twp.transcon.transp.treas.tr.trs.tpk.unemplmt.unif.univ.urb.util.veh.vehs.vill.voc.whse.whol.litig.n.s.e.w.m.ne.se.sw.is.mt.ft.pt.rt.st.blvd.sq.hwy.pkwy.hts.v.vs.ct.cir.supp.cl.jud.super.sup.magis.mil.terr.ala.ariz.ark.cal.colo.conn.del.fla.ga.haw.ida.ill.ind.kan.ky.la.me.md.mass.mich.minn.miss.mo.mont.neb.nev.okla.or.pa.tenn.tex.vt.va.wash.wis.wyo.mr.mrs.ms.dr.jr.sr.prof.rev.hon.sgt.capt.col.lt.ed.op.ad.dep.ass.ry.co.cmty.cty.envtl.gend.par.prot.ref.sol.adver.admr.admx.assn.commcn.commn.commr.contl.dept.empr.empt.engg.engr.entmt.envt.examr.exr.exx.fedn.govt.intl.invr.meml.natl.profl.pship.publg.publn.regl.secy.sholder.socy.tp.vil.taxn.enft.rts.atty.attys.petr.respt.commrs.hldgs.hldg.props.prods.ents.invests.scis.emps.sols.corrs.telecomms.examrs.cmtys.colls.cts.amends.civ.enf.advis.utils.lic.bur.insp.conserv.retire.discipl.supers.edn.coun.stds.procs.quals.boro.commw.adv.comn.irrig.reclam.rptr.vet.trib.adj.vol.pty.poly.stud.libr.refin.socio.laby.naty.wkly.appx.comr.comrs.reins`.split(`.`));function $e(e,t){let n=t;for(;n>0&&/[-A-Za-z.']/.test(e[n-1]);)n--;let r=e.substring(n,t);if(!r)return!1;let i=r.replace(/['.]/g,``).toLowerCase();return!!(Qe.has(i)||i.length===1&&/[a-z]/i.test(i)||/\.[A-Za-z]/.test(r))}const et=/\bId\.\s+/g,tt=/\(\s*(?:quoting|citing|cited\s+in|quoted\s+in|accord|discussing|noting|explaining|describing|recognizing|applying|rejecting|adopting|requiring|overruling|overruled\s+by|abrogated\s+by)(?:,\s*e\.g\.,?)?\s+/gi,nt=/[.)]\s+(?=[A-Z(])/g,rt=/\b\d{4}\)\s*(?:,\s*(?:and|or|see(?:\s+also)?|but\s+see|e\.g\.)|;)\s+/g,it=/,?\s*(\d{2,4}-[A-Z\d-]+)(?:,\s*p\.\s*\d+)?\s*\((La\.[^)]*?)\s+(\d{1,2}\/\d{1,2}\/\d{2,4})\),\s*/g;function at(e){if(e.indexOf(`(`)===-1)return-1;for(let t=e.length-1;t>=0;t--){if(e[t]!==`(`)continue;let n=e.substring(t+1);if(!/^\s*[A-Z]/.test(n)||!(/\s+vs?\.?\s+[A-Z]/.test(n)||/^\s*(?:In\s+re|Ex\s+parte|Matter\s+of|Estate\s+of|State\s+ex\s+rel\.|United\s+States\s+ex\s+rel\.|People\s+ex\s+rel\.)\b/.test(n)))continue;let r=e.substring(0,t);if(!/[A-Z][A-Za-z0-9.'&\-/]+(?:\s+[A-Z][A-Za-z0-9.'&\-/]+)*\s+vs?\.?\s+[A-Z]/.test(r))return t+1}return-1}function ot(e,t,n=150,r){let i=Math.max(0,t-n),a=e.substring(i,t),o=i,s=-1,c;if(r?.originalText&&r.transformationMap){let{originalText:e,transformationMap:n}=r,a=n.cleanToOriginal.get(i)??i,o=n.cleanToOriginal.get(t)??t;if(o>a){let r=e.substring(a,o),c=/\n[ \t\r]*\n/g,l;for(;(l=c.exec(r))!==null;){let e=a+l.index+l[0].length,r;for(let t=0;t<10&&(r=n.originalToClean.get(e+t),r===void 0);t++);if(r!==void 0&&r>=i&&r<=t){let e=r-i;e>s&&(s=e)}}}}for(Fe.lastIndex=0;(c=Fe.exec(a))!==null;){let e=c.index+c[0].length;e>s&&(s=e)}for(et.lastIndex=0;(c=et.exec(a))!==null;){let e=c.index+c[0].length;e>s&&(s=e)}for(tt.lastIndex=0;(c=tt.exec(a))!==null;){let e=c.index+c[0].length;e>s&&(s=e)}for(rt.lastIndex=0;(c=rt.exec(a))!==null;){let e=c.index+c[0].length;e>s&&(s=e)}let l;it.lastIndex=0;let u=it.exec(a);if(u){let e=u[3],t=re(e);t&&(l={court:u[2].trim(),year:t.parsed.year,date:t}),a=a.substring(0,u.index)+`, `+a.substring(u.index+u[0].length)}for(nt.lastIndex=0;(c=nt.exec(a))!==null;){if(a[c.index]===`.`&&$e(a,c.index))continue;let e=c.index+c[0].length;e>s&&(s=e)}s!==-1&&(a=a.substring(s),o=i+s),a=a.replace(/\(\s*$/,``);let d=at(a);d!==-1&&(a=a.substring(d),o+=d),a=a.replace(/^\s*["“”]/,``),a=a.replace(/["“”](\s*,?\s*)$/,`$1`);let f=Ge.exec(a);if(f&&!f[0].includes(`;`)){let e=f[1].trim(),t=0;if(!Ye(e)){let n=e.split(/\s+/),r=n[0]??``,i=r.toLowerCase().replace(/[.,']+$/,``);if(!(/^[A-Z]/.test(r)&&!qe.has(i)&&!Xe.has(i)&&Je.test(e))&&!ge.exec(e))for(let r=1;r<n.length;r++){let i=n.slice(r).join(` `);if(/^[A-Z]/.test(i)&&Ye(i)){t=n.slice(0,r).join(` `).length+1,e=i;let a=/^([A-Z])\.\s+([A-Z][a-zA-Z'-]+)/.exec(e);if(a){let i=n[r-1]?.toLowerCase().replace(/[.,]+$/,``);if(i&&/^[a-z]{4,}$/.test(i)){let n=a[0].length-a[2].length;e=`${a[2]}${e.slice(a[0].length)}`,t+=n}}break}}}let n=f[0].match(/\bv(?:s)?\.\s/g),r=f[2].trim();if(n&&n.length>=2){let e=/\s(?:Is|Are|Was|Were)\s/.exec(r);if(e)r=r.substring(0,e.index).trim();else{let e=0;for(;e<f[2].length;){let t=f[2].indexOf(`,`,e);if(t===-1)break;let n=f[2].substring(t+1).trimStart();if(/^(?:Inc|LLC|Corp|Ltd|Co|LLP|LP|P\.?C|N\.?A|S\.?A|GmbH|S\.?p\.?A)\.?(?:\b|$)/.test(n)){e=t+1;continue}r=f[2].substring(0,t).trim();break}}}let i=/\bvs?\.?(?=\s)/.exec(f[0])?.[0]??`v.`,a=`${e} ${i} ${r}`,s=o+f.index+t,c=f[3]?.trim(),u=f[4]?Number.parseInt(f[4],10):void 0,d=u!==void 0&&F(u)?u:void 0,p,m;d!==void 0&&f.indices?.[4]&&(p=o+f.indices[4][0],m=o+f.indices[4][1]);let h=l;return!h&&c&&d!==void 0&&f[4]&&(h={court:c,year:d,date:{iso:f[4],parsed:{year:d}}}),{caseName:a,nameStart:s,year:d,yearStart:p,yearEnd:m,precedingDocketMeta:h}}let p=Ke.exec(a);if(p&&!p[0].includes(`;`)){let e=`${p[1]} ${p[2].trim()}`,t=o+p.index,n=p[3]?.trim(),r=p[4]?Number.parseInt(p[4],10):void 0,i=r!==void 0&&F(r)?r:void 0,a,s;i!==void 0&&p.indices?.[4]&&(a=o+p.indices[4][0],s=o+p.indices[4][1]);let c=l;return!c&&n&&i!==void 0&&p[4]&&(c={court:n,year:i,date:{iso:p[4],parsed:{year:i}}}),{caseName:e,nameStart:t,year:i,yearStart:a,yearEnd:s,precedingDocketMeta:c}}let m=a.replace(/,\s*$/,``),h=m.length-m.trimStart().length,g=m.substring(h),_=0,v=ge.exec(g);v&&(_=v[0].length,g=g.substring(_));let y=g.trim();if(y.length>0&&Ye(y)){let e=(y.split(/\s+/)[0]??``).toLowerCase().replace(/[.,']+$/,``);if(!Xe.has(e)&&!y.includes(`;`)&&!st(y))return{caseName:y,nameStart:o+h+_,precedingDocketMeta:l}}}function st(e){let t=e.trim().toLowerCase().replace(/\.$/,``);return t===`id`||t===`ibid`||t===`supra`}function ct(e,t,n=2e3){let r=[],i=[],a=t,o=Math.min(e.length,t+n),s=Math.min(e.length,t+1e4),c,l=e.substring(a,o),u=Re.exec(l);for(u&&(a+=u[0].length);a<o;){for(;a<o&&Ie.test(e[a]);)a++;if(a>=o||e[a]!==`(`){let t=e.substring(a,o),n=Be(t);if(n){c&&i.push({signal:c,nextParenIndex:-1}),c={text:t.substring(0,n.matchLength).replace(/\s+$/,``),normalized:n.signal,start:a,end:a+n.matchLength},a+=n.matchLength;continue}break}let t=a,n=0,l=a+1;for(;a<s;){let o=e[a];if(o===`(`)n++;else if(o===`)`&&(n--,n===0)){a++;let n=e.substring(l,a-1).trim();n.length>0&&(r.push({text:n,start:t,end:a}),c&&=(i.push({signal:c,nextParenIndex:r.length-1}),void 0));break}a++}if(n>0)break}return c&&i.push({signal:c,nextParenIndex:-1}),{parens:r,signals:i}}function K(e){let t={},n=re(e);n&&(t.date=n,t.year=n.parsed.year);let r=e;if(t.year){let n=String(t.year),i=e.lastIndexOf(n);if(i!==-1){let a=i+n.length,o=e.substring(a),s=/^\s*,\s*(.+?)\s*$/.exec(o);if(s){let n=s[1],i=Be(n);if(i){let o=n.substring(0,i.matchLength),s=e.indexOf(o,a);t.internalHistory={signal:i.signal,rawSignal:o,start:s===-1?a:s,end:(s===-1?a:s)+o.length},r=e.substring(0,a)}}}}let i=Ze(r);if(i){t.court=i;let n=e.indexOf(i);n!==-1&&(t.courtStart=n,t.courtEnd=n+i.length)}if(t.year){let n=String(t.year),r=e.lastIndexOf(n);r!==-1&&(t.yearStart=r,t.yearEnd=r+n.length)}let a=/^(?<surnames>[A-Z][a-z]+(?:(?:,\s+|\s+and\s+)[A-Z][a-z]+)*)\s*,?\s*(?<title>C\.J\.|J\.|JJ\.)\s*,?\s*(?<role>.+)$/.exec(e.trim());if(a?.groups){let e=a.groups.surnames,n=a.groups.role.trim().replace(/[.,]+$/,``);t.justices=e.split(/(?:,\s+and\s+|,\s+|\s+and\s+)/).map(e=>e.trim()).filter(Boolean);let r=n.toLowerCase();return/^concurring\s+in\s+part\s+and\s+dissenting\s+in\s+part/.test(r)?(t.disposition=`mixed`,t.scope=`in_part`):/^concurring\s+in\s+the\s+judgment/.test(r)?(t.disposition=`concurrence`,t.scope=`in_judgment`):/^concurring\s+in\s+part/.test(r)?(t.disposition=`concurrence`,t.scope=`in_part`):/^dissenting\s+in\s+part/.test(r)?(t.disposition=`dissent`,t.scope=`in_part`):/^dissenting\s+from\s+denial\s+of/.test(r)?(t.disposition=`dissent`,t.scope=`from_denial`):/^concurring/.test(r)?t.disposition=`concurrence`:/^dissenting/.test(r)?t.disposition=`dissent`:/^joining/.test(r)&&(t.disposition=`majority`),t}return/^plurality\s+opinion\b/i.test(e.trim())?(t.disposition=`plurality opinion`,q(t,`plurality opinion`),t):/^mem\.\s*$/i.test(e.trim())?(t.disposition=`mem.`,q(t,`mem.`),t):/^unpublished\s+table\s+decision\b/i.test(e.trim())?(t.disposition=`unpublished table decision`,q(t,`unpublished table decision`),t):(/\ben banc\b\s*$/i.test(e.trim())?(t.disposition=`en banc`,q(t,`en banc`)):/\bin bank\b\s*$/i.test(e.trim())?(t.disposition=`in bank`,q(t,`in bank`)):/\bper curiam\b\s*$/i.test(e.trim())&&(t.disposition=`per curiam`,q(t,`per curiam`)),t)}function q(e,t){e.court&&e.court.trim().toLowerCase()===t.toLowerCase()&&(e.court=void 0,e.courtStart=void 0,e.courtEnd=void 0)}function lt(e){let t=Ue.exec(e);if(t){let n=t[1].toLowerCase();if(He(n))return{kind:`explanatory`,text:e,type:n}}if(We(e))return{kind:`explanatory`,text:e,type:`other`};let n=K(e);return n.year||n.date||n.disposition||n.justices?{kind:`metadata`,...n}:{kind:`explanatory`,text:e,type:`other`}}function J(e){let t=e;t=t.replace(/\bet\s+al\.?/gi,``),t=t.replace(/\s+(?:d\/b\/a|[fna]\/k\/a)\b.*/gi,``),t=t.replace(/\s+aka\b.*/gi,``);let n=``;for(;n!==t;)n=t,t=t.replace(/,?\s*(Inc|LLC|Corp|Ltd|Co|LLP|LP|P\.C)\.?$/gi,``);return t=t.replace(/^(The|A|An)\s+/i,``),t=t.replace(/\s+/g,` `),t.trim().toLowerCase()}function ut(e){let t;for(let t of`In the Matter of the Liquidation of,In the Matter of the Rehabilitation of,In the Matter of the Receivership of,In the Matter of the Extradition of,In the Matter of the Application of,In the Matter of the Welfare of,In the Matter of,In re Petition for Naturalization of,In re Termination of Parental Rights as to,In re Termination of Parental Rights to,In re Termination of Parental Rights of,In re Marriage of,In re Liquidation of,In re Rehabilitation of,In re Receivership of,In re Naturalization of,In re Extradition of,In re Application of,In re Welfare of,In re Dependency of,In re Paternity of,In re Parentage of,In re Conservatorship of,In re Guardianship of,In re Adoption of,In the Interest of,In re,Ex parte,Matter of Liquidation of,Matter of Rehabilitation of,Matter of,Commonwealth of Puerto Rico ex rel.,Government of the Virgin Islands ex rel.,Commonwealth ex rel.,State ex rel.,United States ex rel.,People ex rel.,District of Columbia ex rel.,Petition for Naturalization of,Application of,On Petition of,Petition of,Adoption of,Conservatorship of the Person and Estate of,Conservatorship of the Person of,Conservatorship of the Estate of,Conservatorship of,Guardianship of,Estate of,Care and Protection of,Succession of,Inquiry Concerning Judge,Appeal of`.split(`,`)){let n=RegExp(`^(${t})\\s+(.+)$`,`i`).exec(e);if(n){let t=n[1],r=n[2];if(/\s+vs?\.?\s+/i.test(r)){let t=/^(.+?)\s+vs?\.?\s+(.+)$/i.exec(e);if(t){let e=t[1].trim(),n=t[2].trim();return{plaintiff:e,plaintiffNormalized:J(e),defendant:n,defendantNormalized:J(n)}}}else return{plaintiff:e,plaintiffNormalized:J(r),proceduralPrefix:t}}}let n=/^(.+?)\s+vs?\.?\s+(.+)$/i.exec(e);if(n){let e=n[1].trim(),r=n[2].trim(),i,a=/\s*\(\s*(In\s+re\s+[^)]+?)\s*\)\s*$/i.exec(r);a&&(i=a[1],r=r.substring(0,a.index).trim());let o=e.match(ge)??e.match(/^(Also|In(?!\s+re\b))\s+/i);if(o){let n=e.substring(o[0].length).trimStart()[0]??``;if(n>=`A`&&n<=`Z`){let n=o[1].toLowerCase();if(he.has(n))t=n;else{let e=n.replace(/\.$/,``);he.has(e)&&(t=e)}e=e.substring(o[0].length).trim()}}return{plaintiff:e||n[1].trim(),plaintiffNormalized:J(e||n[1].trim()),defendant:r,defendantNormalized:J(r),signal:t,...i?{adminParenthetical:i}:{}}}return{}}function dt(e,t,n,r,i){let{text:a,span:c}=e,l=Oe.exec(a)??ke.exec(a);if(!l)throw Error(`Failed to parse case citation: ${a}`);let u=_e(l[1]),d=l[2].trim(),f=l[3]?Number.parseInt(l[3],10):void 0,p=l[4]||void 0,m=l[5],h=Ae.test(m),g=h?void 0:Number.parseInt(m,10),_=h?!0:void 0,v=je.exec(a),y=v?G(v[1])??void 0:void 0,b=y?.page,x={};if(l.indices){if(l.indices[1]&&(x.volume=o(c.cleanStart,l.indices[1],t)),l.indices[2]){let[e,n]=l.indices[2],r=a.substring(e,n),i=r.length-r.trimStart().length,s=r.length-r.trimEnd().length;x.reporter=o(c.cleanStart,[e+i,n-s],t)}l.indices[5]&&(x.page=o(c.cleanStart,l.indices[5],t))}v?.indices?.[1]&&(x.pincite=o(c.cleanStart,v.indices[1],t));let S,C,w,T,E,D,O,k,A,j,ee=Me.exec(a);ee&&!f&&!We(ee[1])&&(A=ee[1],j=K(A),S=j.year,C=j.court,w=j.date,T=j.disposition,E=j.justices,D=j.scope);let te=!1;if(n){let e=n.substring(c.cleanEnd);/^\s*(?:\(U\)|\[U\])/.test(e)&&(te=!0)}let M=c.cleanEnd;if(n&&i&&i.length>0){let e=/^[\s,;\d\-–—]*$/;for(;;){let t=i.find(t=>t.cleanStart>M&&e.test(n.substring(M,t.cleanStart)));if(!t)break;M=t.cleanEnd}}if(n&&!A){let e=n.substring(c.cleanEnd),r=M===c.cleanEnd?e:n.substring(M),i=/^\s*(?:\(U\)|\[U\])/.exec(r);i&&(r=r.substring(i[0].length));let a=/^\s*[)\]]/.exec(r);a&&(r=r.substring(a[0].length));let s=Ne.exec(r);if(s&&!We(s[1])&&(A=s[1],j=K(A),S=j.year,C=j.court,w=j.date,T=j.disposition,E=j.justices,D=j.scope),b===void 0){let n=Pe.exec(e);if(n&&(y||=G(n[1])??void 0,b=y?.page,n.indices?.[1]&&(x.pincite=o(c.cleanEnd,n.indices[1],t)),y)){let t=[],r=(n.index??0)+n[0].length;for(;r<e.length;){let n=e.substring(r),i=Le.exec(n);if(!i)break;let a=G(i[1]);if(!a)break;t.push(a),r+=i[0].length}t.length>0&&(y={...y,additionalPincites:t})}}}let ne,N,P;if(n){P=ct(n,M),N=P.parens;let e=A&&(S!==void 0||C!==void 0||T!==void 0||E!==void 0||D!==void 0)?N.slice(1):N;for(let n of e){let e=lt(n.text);if(e.kind===`metadata`)e.court&&(!C||C===T)&&(C=e.court),e.year&&!S&&(S=e.year,w=e.date),e.disposition&&!T&&(T=e.disposition),e.justices&&!E&&(E=e.justices),e.scope&&!D&&(D=e.scope);else{ne??=[];let r=s({cleanStart:n.start,cleanEnd:n.end},t);ne.push({text:e.text,type:e.type,span:{cleanStart:n.start,cleanEnd:n.end,originalStart:r.originalStart,originalEnd:r.originalEnd}})}}}if(N&&N.length>0&&(C||S)){let e=A?N[0]:void 0;if(e){let n=s({cleanStart:e.start,cleanEnd:e.end},t);if(x.metadataParenthetical={cleanStart:e.start,cleanEnd:e.end,originalStart:n.originalStart,originalEnd:n.originalEnd},j){let n=e.start+1;if(j.courtStart!==void 0){let e=n+j.courtStart,r=n+j.courtEnd,i=s({cleanStart:e,cleanEnd:r},t);x.court={cleanStart:e,cleanEnd:r,originalStart:i.originalStart,originalEnd:i.originalEnd}}if(j.yearStart!==void 0){let e=n+j.yearStart,r=n+j.yearEnd,i=s({cleanStart:e,cleanEnd:r},t);x.year={cleanStart:e,cleanEnd:r,originalStart:i.originalStart,originalEnd:i.originalEnd}}}}}let F;if(n&&j?.internalHistory&&N&&N.length>0){let e=A?N[0]:void 0;if(e){let n=e.start+1,r=j.internalHistory,i=n+r.start,a=n+r.end,{originalStart:o,originalEnd:c}=s({cleanStart:i,cleanEnd:a},t);F??=[],F.push({signal:r.signal,rawSignal:r.rawSignal,signalSpan:{cleanStart:i,cleanEnd:a,originalStart:o,originalEnd:c},order:0})}}if(n&&P&&P.signals.length>0)for(let e=0;e<P.signals.length;e++){let{signal:n}=P.signals[e];F??=[];let{originalStart:r,originalEnd:i}=s({cleanStart:n.start,cleanEnd:n.end},t);F.push({signal:n.normalized,rawSignal:n.text,signalSpan:{cleanStart:n.start,cleanEnd:n.end,originalStart:r,originalEnd:i},order:F.length})}let I=ce(d);!C&&I?.level===`supreme`&&I?.jurisdiction===`federal`&&(C=`scotus`);let L;if(i&&i.length>0){let e=i.filter(e=>e.cleanEnd<=c.cleanStart).reduce((e,t)=>!e||t.cleanEnd>e.cleanEnd?t:e,void 0);e&&(L=c.cleanStart-e.cleanEnd)}let R;if(n&&(R=ot(n,c.cleanStart,L,{originalText:r,transformationMap:t}),R)){O=R.caseName;let e;if(O){O=O.replace(/\s*\((?:[^()]*\s)?\d{4}\)\s*$/,``).trim(),O=O.replace(/,\s+\d+\s+[A-Z][A-Za-z.&'\d\s]*\d+\s*$/,``).trim(),O=O.replace(/,\s+\d{4}\s+[A-Z]+\s+\d+\s*$/,``).trim();let t=/,\s+\d{1,2}(?:st|nd|rd|th)?\s+(?:Cir|App|Ct|Dist|Cir\.\s+App)\.,\s+(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Sept|Oct|Nov|Dec)[a-z]*\.?\s+\d{1,2},\s+(\d{4})\s*$/,n=t.exec(O);if(n)e=Number.parseInt(n[1],10),O=O.replace(t,``).trim();else{let t=/,\s+((?:17|18|19|20)\d{2})\s*$/,n=t.exec(O);n&&(e=Number.parseInt(n[1],10),O=O.replace(t,``).trim())}}if(e!==void 0&&!S&&(S=e),R.year&&!S&&(S=R.year,R.yearStart!==void 0&&R.yearEnd!==void 0&&!x.year)){let e=s({cleanStart:R.yearStart,cleanEnd:R.yearEnd},t);x.year={cleanStart:R.yearStart,cleanEnd:R.yearEnd,originalStart:e.originalStart,originalEnd:e.originalEnd}}if(R.precedingDocketMeta){let e=R.precedingDocketMeta;S||=e.year,C||=e.court,w||=e.date}let n=N&&N.length>0?N[N.length-1].end:c.cleanEnd,r=R.nameStart,i=n;k={cleanStart:r,cleanEnd:i,originalStart:t.cleanToOriginal.get(r)??r,originalEnd:t.cleanToOriginal.get(i)??i};let a=R.nameStart,o=a+O.length,l=s({cleanStart:a,cleanEnd:o},t);x.caseName={cleanStart:a,cleanEnd:o,originalStart:l.originalStart,originalEnd:l.originalEnd}}if(!k&&L!==void 0&&L<30&&N&&N.length>0){let e=N[N.length-1];if(e.end>c.cleanEnd){let n=c.cleanStart,r=e.end;k={cleanStart:n,cleanEnd:r,originalStart:t.cleanToOriginal.get(n)??n,originalEnd:t.cleanToOriginal.get(r)??r}}}let z,re,B,ie,ae,V,oe;if(O){let e=ut(O);if(z=e.plaintiff,re=e.plaintiffNormalized,B=e.defendant,ie=e.defendantNormalized,ae=e.proceduralPrefix,oe=e.signal,V=e.adminParenthetical,z&&B){let e=V?` (${V})`:``,r=(O?/\s+(vs?\.?)\s+/.exec(O):null)?.[1]??`v.`,i=`${z} ${r} ${B}${e}`;if(i!==O&&k&&n){O=i;let e=n.substring(k.cleanStart,c.cleanStart),r=/\s+vs?\.?\s+/i.exec(e);if(r){let n=e.substring(0,r.index).lastIndexOf(z);if(n!==-1){let e=k.cleanStart+n,r=t.cleanToOriginal.get(e)??e;k={...k,cleanStart:e,originalStart:r}}}if(R){let e=k.cleanStart,n=e+O.length,r=s({cleanStart:e,cleanEnd:n},t);x.caseName={cleanStart:e,cleanEnd:n,originalStart:r.originalStart,originalEnd:r.originalEnd}}}}if(z&&R&&n){let e=k?.cleanStart??R.nameStart,r=n.substring(e,c.cleanStart),i=/\s+vs?\.?\s+/i.exec(r);if(i){let n=r.substring(0,i.index).lastIndexOf(z);if(n!==-1){let r=e+n,i=r+z.length,a=s({cleanStart:r,cleanEnd:i},t);x.plaintiff={cleanStart:r,cleanEnd:i,originalStart:a.originalStart,originalEnd:a.originalEnd}}if(B){let n=i.index+i[0].length,a=r.substring(n).indexOf(B);if(a!==-1){let r=e+n+a,i=r+B.length,o=s({cleanStart:r,cleanEnd:i},t);x.defendant={cleanStart:r,cleanEnd:i,originalStart:o.originalStart,originalEnd:o.originalEnd}}}}else{let n=r.indexOf(z);if(n!==-1){let r=e+n,i=r+z.length,a=s({cleanStart:r,cleanEnd:i},t);x.plaintiff={cleanStart:r,cleanEnd:i,originalStart:a.originalStart,originalEnd:a.originalEnd}}}}if(oe&&k&&n&&R){let e=n.substring(R.nameStart,c.cleanStart),r=ge.exec(e);if(r){let e=R.nameStart,n=e+r[1].length,i=s({cleanStart:e,cleanEnd:n},t);x.signal={cleanStart:e,cleanEnd:n,originalStart:i.originalStart,originalEnd:i.originalEnd}}}}let{originalStart:H,originalEnd:U}=s(c,t),W=De({reporter:d,year:S,caseName:O,court:C,hasBlankPage:_??!1}),se=Ee(d,S);return{type:`case`,text:a,span:{cleanStart:c.cleanStart,cleanEnd:c.cleanEnd,originalStart:H,originalEnd:U},confidence:W,matchedText:a,processTimeMs:0,patternsChecked:1,volume:u,reporter:d,...se===void 0?{}:{normalizedReporter:se},page:g,nominativeVolume:f,nominativeReporter:p,pincite:b,pinciteInfo:y,court:C,normalizedCourt:pe(C),year:S,hasBlankPage:_,date:w,fullSpan:k,caseName:O,disposition:T,parentheticals:ne,subsequentHistoryEntries:F,...te?{unpublished:!0}:{},...E?{justices:E}:{},...D?{scope:D}:{},...V?{adminParenthetical:V}:{},plaintiff:z,plaintiffNormalized:re,defendant:B,defendantNormalized:ie,proceduralPrefix:ae,inferredCourt:I,signal:oe,spans:x}}const Y=String.raw`Twenty[-\s]Seventh|Twenty[-\s]Sixth|Twenty[-\s]Fifth|Twenty[-\s]Fourth|Twenty[-\s]Third|Twenty[-\s]Second|Twenty[-\s]First|Twentieth|Nineteenth|Eighteenth|Seventeenth|Sixteenth|Fifteenth|Fourteenth|Thirteenth|Twelfth|Eleventh|Tenth|Ninth|Eighth|Seventh|Sixth|Fifth|Fourth|Third|Second|First`,X=String.raw`(?:1st|2nd|3rd|4th|5th|6th|7th|8th|9th|10th|11th|12th|13th|14th|15th|16th|17th|18th|19th|20th|21st|22nd|23rd|24th|25th|26th|27th)`,ft=`(?:[IVX]+|\\d+|${X}|${Y})`,pt=`(?:(?:${String.raw`(?:arts?(?:icle)?\.?|amends?(?:ment)?\.?|amdts?\.?|Amendment)\s+(${ft})`}|${`(${X}|${Y})\\s+(?:amend(?:ment)?\\.?|amdt\\.?|Amendment)`})${String.raw`(?:[,;]?\s*§\s*([\w-]+))?`}${String.raw`(?:[,;]?\s*cl\.?\s*(\d+))?`}|${String.raw`(?:[,;]?\s*(?:pmbl\.?|preamble)\b)`})`,mt=new RegExp(pt,`id`),ht=[{id:`us-constitution`,regex:new RegExp(String.raw`\b(?:United\s+States\s+Constitution|U\.?\s*S\.?\s+Const\.?),?\s+${pt}`,`gi`),description:`U.S. Constitution citations (e.g., "U.S. Const. art. III, § 2", "U.S. Const. amend. XIV")`,type:`constitutional`},{id:`state-constitution`,regex:new RegExp(String.raw`\b(?:Ala|Alaska|Ariz|Ark|Cal(?:if)?|Colo|Conn|Del|Fla|Ga|Haw|Idaho|Ill|Ind|Iowa|Kan|Ky|La|Me|Md|Mass|Mich|Minn|Miss|Mo|Mont|Neb|Nev|N\.?\s*H|N\.?\s*J|N\.?\s*M|N\.?\s*Y|N\.?\s*C|N\.?\s*D|Ohio|Okla|Or(?:e)?|Pa|R\.?\s*I|S\.?\s*C|S\.?\s*D|Tenn|Tex|Utah|Vt|W\.?\s*Va|Va|Wash|Wis|Wyo)(?:\.\s*|\s+)Const\.?,?\s+${pt}`,`gi`),description:`State constitution citations (e.g., "Cal. Const. art. I, § 7", "N.Y. Const. art. VI, § 20", "Pa.Const. art. VIII, § 4")`,type:`constitutional`},{id:`bare-constitution`,regex:new RegExp(String.raw`(?<!\.\s)(?<![A-Z]\s)\bConst\.?,?\s+${pt}`,`g`),description:`Bare constitutional citations without jurisdiction prefix (e.g., "Const. art. I, § 8, cl. 3")`,type:`constitutional`},{id:`bare-article`,regex:new RegExp(String.raw`(?<!Const\.?,?\s)\bArt\.?\s+([IVX]+|\d+)[,;]\s*§\s*[\w-]+(?:[,;]\s*cl\.?\s*\d+)?`,`g`),description:`Bare article references without "Const." prefix (e.g., "Art. I, §8, cl. 3", "Art. 1, § 10")`,type:`constitutional`},{id:`bare-article-section`,regex:new RegExp(String.raw`(?<!Const\.?,?\s)\b(?:Article|Art\.?)\s+([IVX]+|\d+)\s*[,;]\s*(?:Section|§)\s*([\w()-]+)`,`g`),description:`Bare spelled-out article+section prose: "Article I, Section 8", "Art. 1, Section 6" — #321`,type:`constitutional`},{id:`state-const-prose-declaration`,regex:new RegExp(String.raw`\b(?:art(?:icle)?\.?)\s+(\d+)\s+of\s+the\s+(Massachusetts|Pennsylvania|Vermont|New\s+Hampshire|Maryland|North\s+Carolina|Delaware|New\s+Jersey)\s+(?:Declaration\s+of\s+Rights|Constitution)\b`,`gi`),description:`Prose-form state constitutional citations: "art. 14 of the Massachusetts Declaration of Rights" — #656`,type:`constitutional`},{id:`state-const-prose-section-article`,regex:new RegExp(String.raw`\bSection\s+([\w()-]+)\s*,\s*Article\s+([IVX]+|\d+)\s+of\s+the\s+(Massachusetts|Pennsylvania|Vermont|New\s+Hampshire|Maryland|North\s+Carolina|Delaware|New\s+Jersey|Ohio|California|Texas|Florida|Illinois|Michigan|New\s+York|Georgia|Virginia|Washington|Arizona|Colorado|Wisconsin|Minnesota|Indiana|Louisiana|Oregon|Tennessee|South\s+Carolina|Alabama|Missouri|Kentucky|Connecticut|Iowa|Mississippi|Arkansas|Kansas|Nevada|Utah|Hawaii|Alaska|Idaho|Maine|Montana|Nebraska|New\s+Mexico|North\s+Dakota|Oklahoma|Rhode\s+Island|South\s+Dakota|West\s+Virginia|Wyoming|Florida)\s+Constitution\b`,`g`),description:`Prose-form state constitutional citations: "Section 5(B), Article IV of the Ohio Constitution" — #656`,type:`constitutional`},{id:`state-const-prose-article-first`,regex:new RegExp(String.raw`\b(?:article|art\.?)\s+([IVX]+|\d+)[,\s]+section\s+([\w()-]+),?\s+of\s+the\s+(Massachusetts|Pennsylvania|Vermont|New\s+Hampshire|Maryland|North\s+Carolina|Delaware|New\s+Jersey|Ohio|California|Texas|Florida|Illinois|Michigan|New\s+York|Georgia|Virginia|Washington|Arizona|Colorado|Wisconsin|Minnesota|Indiana|Louisiana|Oregon|Tennessee|South\s+Carolina|Alabama|Missouri|Kentucky|Connecticut|Iowa|Mississippi|Arkansas|Kansas|Nevada|Utah|Hawaii|Alaska|Idaho|Maine|Montana|Nebraska|New\s+Mexico|North\s+Dakota|Oklahoma|Rhode\s+Island|South\s+Dakota|West\s+Virginia|Wyoming)\s+Constitution\b`,`gi`),description:`Prose-form state constitutional citations, article-first: "article XII, section 5 of the California Constitution" — #321`,type:`constitutional`},{id:`state-const-prose-plural-section`,regex:new RegExp(String.raw`\bSections\s+(\d+(?:[\s,]+(?:and\s+)?\d+)+)\s+of\s+Article\s+([IVX]+|\d+)\s+of\s+the\s+(Massachusetts|Pennsylvania|Vermont|New\s+Hampshire|Maryland|North\s+Carolina|Delaware|New\s+Jersey|Ohio|California|Texas|Florida|Illinois|Michigan|New\s+York|Georgia|Virginia|Washington|Arizona|Colorado|Wisconsin|Minnesota|Indiana|Louisiana|Oregon|Tennessee|South\s+Carolina|Alabama|Missouri|Kentucky|Connecticut|Iowa|Mississippi|Arkansas|Kansas|Nevada|Utah|Hawaii|Alaska|Idaho|Maine|Montana|Nebraska|New\s+Mexico|North\s+Dakota|Oklahoma|Rhode\s+Island|South\s+Dakota|West\s+Virginia|Wyoming)\s+Constitution\b`,`g`),description:`Plural-section prose: "Sections 5 and 10 of Article I of the Ohio Constitution" — #321`,type:`constitutional`},{id:`bare-amendment-word`,regex:RegExp(`(?<!Const\\.?,?\\s)\\b(${X}|${Y})\\s+(?:[Aa]mend(?:ment)?\\.?|[Aa]mdt\\.?)`,`g`),description:`Bare word-form amendment references without "Const." prefix (e.g., "the Fifth Amendment", "the Fourteenth Amendment") — #534`,type:`constitutional`},{id:`bare-amendment-coord`,regex:RegExp(`(?<!Const\\.?,?\\s)\\b(${X}|${Y})(?=,\\s+(?:(?:${X}|${Y}),?\\s+)*(?:and\\s+)?(?:${X}|${Y})\\s+[Aa]mendments?|\\s+and\\s+(?:${X}|${Y})\\s+[Aa]mendments?)`,`g`),description:`Leading ordinals in coordinated amendment lists ("Fifth and Sixth Amendment" → Fifth + Sixth) — #657`,type:`constitutional`}],gt={I:1,II:2,III:3,IV:4,V:5,VI:6,VII:7,VIII:8,IX:9,X:10,XI:11,XII:12,XIII:13,XIV:14,XV:15,XVI:16,XVII:17,XVIII:18,XIX:19,XX:20,XXI:21,XXII:22,XXIII:23,XXIV:24,XXV:25,XXVI:26,XXVII:27},_t={first:1,second:2,third:3,fourth:4,fifth:5,sixth:6,seventh:7,eighth:8,ninth:9,tenth:10,eleventh:11,twelfth:12,thirteenth:13,fourteenth:14,fifteenth:15,sixteenth:16,seventeenth:17,eighteenth:18,nineteenth:19,twentieth:20,"twenty-first":21,"twenty-second":22,"twenty-third":23,"twenty-fourth":24,"twenty-fifth":25,"twenty-sixth":26,"twenty-seventh":27};function Z(e){if(!e)return;let t=e.trim(),n=t.toLowerCase().replace(/\s+/g,`-`);if(n in _t)return _t[n];let r=/^(\d+)(?:st|nd|rd|th)$/i.exec(t);if(r)return Number.parseInt(r[1],10);let i=t.toUpperCase();if(i in gt)return gt[i];let a=Number.parseInt(t,10);return Number.isNaN(a)?void 0:a}const vt={alabama:`AL`,alaska:`AK`,arizona:`AZ`,arkansas:`AR`,california:`CA`,colorado:`CO`,connecticut:`CT`,delaware:`DE`,florida:`FL`,georgia:`GA`,hawaii:`HI`,idaho:`ID`,illinois:`IL`,indiana:`IN`,iowa:`IA`,kansas:`KS`,kentucky:`KY`,louisiana:`LA`,maine:`ME`,maryland:`MD`,massachusetts:`MA`,michigan:`MI`,minnesota:`MN`,mississippi:`MS`,missouri:`MO`,montana:`MT`,nebraska:`NE`,nevada:`NV`,"new hampshire":`NH`,"new jersey":`NJ`,"new mexico":`NM`,"new york":`NY`,"north carolina":`NC`,"north dakota":`ND`,ohio:`OH`,oklahoma:`OK`,oregon:`OR`,pennsylvania:`PA`,"rhode island":`RI`,"south carolina":`SC`,"south dakota":`SD`,tennessee:`TN`,texas:`TX`,utah:`UT`,vermont:`VT`,virginia:`VA`,washington:`WA`,"west virginia":`WV`,wisconsin:`WI`,wyoming:`WY`},yt={ala:`AL`,alaska:`AK`,ariz:`AZ`,ark:`AR`,cal:`CA`,calif:`CA`,colo:`CO`,conn:`CT`,del:`DE`,fla:`FL`,ga:`GA`,haw:`HI`,idaho:`ID`,ill:`IL`,ind:`IN`,iowa:`IA`,kan:`KS`,ky:`KY`,la:`LA`,me:`ME`,md:`MD`,mass:`MA`,mich:`MI`,minn:`MN`,miss:`MS`,mo:`MO`,mont:`MT`,neb:`NE`,nev:`NV`,"n.h":`NH`,"n.j":`NJ`,"n.m":`NM`,"n.y":`NY`,"n.c":`NC`,"n.d":`ND`,ohio:`OH`,okla:`OK`,or:`OR`,ore:`OR`,pa:`PA`,"r.i":`RI`,"s.c":`SC`,"s.d":`SD`,tenn:`TN`,tex:`TX`,utah:`UT`,vt:`VT`,va:`VA`,wash:`WA`,"w.va":`WV`,wis:`WI`,wyo:`WY`},bt=/amend|amdt/i,xt=/^([A-Za-z]+(?:\.\s*[A-Za-z]+)?(?:\.\s*[A-Za-z]+)?)\.?\s*Const/i;function St(e){let t=xt.exec(e);if(!t)return;let n=t[1].replace(/\s+/g,``).replace(/\.$/g,``).toLowerCase();if(n in yt)return yt[n]}function Ct(e,t){let{text:n,span:r}=e;if(e.patternId===`state-const-prose-declaration`||e.patternId===`state-const-prose-section-article`||e.patternId===`state-const-prose-article-first`||e.patternId===`state-const-prose-plural-section`){let i,a,o;if(e.patternId===`state-const-prose-plural-section`){let e=/\bSections\s+(\d+(?:[\s,]+(?:and\s+)?\d+)+)\s+of\s+Article\s+([IVX]+|\d+)\s+of\s+the\s+([A-Za-z\s]+?)\s+Constitution\b/.exec(n);e&&(a=e[1].match(/\d+/)?.[0],i=Z(e[2]),o=e[3].trim().toLowerCase())}else if(e.patternId===`state-const-prose-declaration`){let e=/\b(?:art(?:icle)?\.?)\s+(\d+)\s+of\s+the\s+([A-Za-z\s]+?)\s+(?:Declaration\s+of\s+Rights|Constitution)\b/i.exec(n);e&&(i=Number.parseInt(e[1],10),o=e[2].trim().toLowerCase())}else if(e.patternId===`state-const-prose-section-article`){let e=/\bSection\s+([\w()-]+)\s*,\s*Article\s+([IVX]+|\d+)\s+of\s+the\s+([A-Za-z\s]+?)\s+Constitution\b/i.exec(n);e&&(a=e[1],i=Z(e[2]),o=e[3].trim().toLowerCase())}else{let e=/\b(?:article|art\.?)\s+([IVX]+|\d+)[,\s]+section\s+([\w()-]+),?\s+of\s+the\s+([A-Za-z\s]+?)\s+Constitution\b/i.exec(n);e&&(i=Z(e[1]),a=e[2],o=e[3].trim().toLowerCase())}let c=o?vt[o]:void 0,{originalStart:l,originalEnd:u}=s(r,t);return{type:`constitutional`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:l,originalEnd:u},confidence:.85,matchedText:n,processTimeMs:0,patternsChecked:1,article:i,section:a,jurisdiction:c}}if(e.patternId===`bare-amendment-coord`){let e=Z(n),{originalStart:i,originalEnd:a}=s(r,t);return{type:`constitutional`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:i,originalEnd:a},confidence:.5,matchedText:n,processTimeMs:0,patternsChecked:1,amendment:e,spans:{amendment:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:i,originalEnd:a}}}}if(e.patternId===`bare-article-section`){let e=/(?<!Const\.?,?\s)\b(?:Article|Art\.?)\s+([IVX]+|\d+)\s*[,;]\s*(?:Section|§)\s*([\w()-]+)/.exec(n),i=e?Z(e[1]):void 0,a=e?e[2]:void 0,{originalStart:o,originalEnd:c}=s(r,t);return{type:`constitutional`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:o,originalEnd:c},confidence:i===void 0?.1:.5,matchedText:n,processTimeMs:0,patternsChecked:1,article:i,section:a,jurisdiction:void 0}}let i=mt.exec(n),a,c,l,u,d;if(i){let e=i[1]??i[2];if(e){let t=Z(e);i[2]!==void 0||bt.test(i[0])?c=t:a=t,l=i[3]||void 0,u=i[4]?Number.parseInt(i[4],10):void 0}else /\b(?:pmbl\.?|preamble)\b/i.test(i[0])&&(d=!0)}let f;switch(e.patternId){case`us-constitution`:f=`US`;break;case`state-constitution`:f=St(n);break;default:f=void 0;break}let{originalStart:p,originalEnd:m}=s(r,t),h;h=e.patternId===`bare-article`||e.patternId===`bare-amendment-word`?.5:e.patternId===`bare-constitution`?.7:l?.95:.9,c===void 0&&a===void 0&&(h=.1);let g=n.endsWith(`.`)?n.slice(0,-1):n,_={};if(f===`US`){let e=n.indexOf(`U.S.`);e!==-1&&(_.jurisdiction=o(r.cleanStart,[e,e+4],t))}else if(f&&e.patternId===`state-constitution`){let e=xt.exec(n);if(e){let n=e[1].length+1;_.jurisdiction=o(r.cleanStart,[0,n],t)}}if(i?.indices){let e=i.indices[1]??i.indices[2],n=i[2]!==void 0||bt.test(i[0]);if(e){let i=o(r.cleanStart,e,t);n?_.amendment=i:_.article=i}i.indices[3]&&(_.section=o(r.cleanStart,i.indices[3],t)),i.indices[4]&&(_.clause=o(r.cleanStart,i.indices[4],t))}return{type:`constitutional`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:p,originalEnd:m},confidence:h,matchedText:g,processTimeMs:0,patternsChecked:1,jurisdiction:f,article:a,amendment:c,preamble:d,section:l,clause:u,spans:_}}function wt(e,t,n,r){let{text:i,span:a}=e,o=/\b(?:(?:C\.A\.|Civ\.|Civil(?:\s+Action)?|Case|Adv\.|Docket)\s+)?No\.\s+([A-Za-z\d]+(?::?[A-Za-z\d]+)?(?:[-\s][A-Za-z\d]+)*)\s+\(([^)]+)\)/.exec(i);if(!o)return;let c=o[1],l=o[2],u=ot(n,a.cleanStart,void 0,{originalText:r,transformationMap:t});if(!u)return;let d=ut(u.caseName),f=d.plaintiff&&d.defendant,p=!!d.proceduralPrefix;if(!f&&!p)return;let m=K(l),{originalStart:h,originalEnd:g}=s(a,t),_=u.nameStart;if(d.plaintiff&&d.defendant){let e=n.substring(_,a.cleanStart),t=/\s+v\.?\s+/i.exec(e);if(t){let n=e.substring(0,t.index).lastIndexOf(d.plaintiff);n!==-1&&(_+=n)}}let v=a.cleanEnd,y=t.cleanToOriginal.get(_)??_,b=t.cleanToOriginal.get(v)??v;return{type:`docket`,text:i,matchedText:i,span:{cleanStart:a.cleanStart,cleanEnd:a.cleanEnd,originalStart:h,originalEnd:g},confidence:.7,processTimeMs:0,patternsChecked:1,docketNumber:c,caseName:d.plaintiff&&d.defendant?`${d.plaintiff} v. ${d.defendant}`:u.caseName,plaintiff:d.plaintiff,defendant:d.defendant,plaintiffNormalized:d.plaintiffNormalized,defendantNormalized:d.defendantNormalized,proceduralPrefix:d.proceduralPrefix,court:m.court,normalizedCourt:pe(m.court),year:m.year,date:m.date,fullSpan:{cleanStart:_,cleanEnd:v,originalStart:y,originalEnd:b}}}function Tt(e,t,n){let{text:r,span:i}=e,a=/^(\d+(?:-\d+)?)\s+Fed\.\s?Reg\.\s+(\d{1,3}(?:,\d{3})+|\d+)/d.exec(r);if(!a)throw Error(`Failed to parse Federal Register citation: ${r}`);let c=a[1],l=/^\d+$/.test(c)?Number.parseInt(c,10):c,u=Number.parseInt(a[2].replace(/,/g,``),10),d;a.indices&&(d={volume:o(i.cleanStart,a.indices[1],t),page:o(i.cleanStart,a.indices[2],t)});let f=/\((?:.*?\s)?(\d{4})\)/,p=n?n.substring(i.cleanStart,i.cleanEnd+64):r,m=f.exec(p),h=m?Number.parseInt(m[1],10):void 0,g=h!==void 0&&F(h)?h:void 0,{originalStart:_,originalEnd:v}=s(i,t);return{type:`federalRegister`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:_,originalEnd:v},confidence:.9,matchedText:r,processTimeMs:0,patternsChecked:1,volume:l,page:u,year:g,spans:d}}const Et=new Map([[`civp`,`civil`],[`civproc`,`civil`],[`civilprocedure`,`civil`],[`crimp`,`criminal`],[`crimproc`,`criminal`],[`criminalprocedure`,`criminal`],[`evid`,`evidence`],[`evidence`,`evidence`],[`appp`,`appellate`],[`appproc`,`appellate`],[`appellateprocedure`,`appellate`],[`bankrp`,`bankruptcy`],[`bankrproc`,`bankruptcy`],[`bankruptcyprocedure`,`bankruptcy`],[`frcp`,`civil`],[`frcrp`,`criminal`],[`fre`,`evidence`],[`frap`,`appellate`],[`frbp`,`bankruptcy`]]);function Dt(e){return e.toLowerCase().replace(/[\s.]/g,``)}function Ot(e){let t=e.indexOf(`(`);return t===-1?[e,void 0]:[e.slice(0,t),e.slice(t)]}function kt(e,t){let{text:n,span:r}=e,i=/\bFed\.\s?(?:R\.|Rules?)\s?(Civ\.\s?(?:P\.|Proc\.)|Crim\.\s?(?:P\.|Proc\.)|Evid\.|App\.\s?(?:P\.|Proc\.)|Bankr\.\s?(?:P\.|Proc\.))\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)/d.exec(n)??/\bFederal\s+Rules?\s+of\s+(?:the\s+)?(Civil\s+Procedure|Criminal\s+Procedure|Evidence|Appellate\s+Procedure|Bankruptcy\s+Procedure)\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)/di.exec(n)??/\b(FRCP|FRE|FRAP|FRCrP|FRBP|F\.\s?R\.\s?C\.\s?P\.|F\.\s?R\.\s?E\.|F\.\s?R\.\s?A\.\s?P\.|F\.\s?R\.\s?Cr\.\s?P\.|F\.\s?R\.\s?B\.\s?P\.)\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)/d.exec(n);if(!i)throw Error(`Failed to parse federal rule citation: ${n}`);let a=i[1],c=Dt(a),l=Et.get(c);if(!l)throw Error(`Unrecognized federal rule set: "${a}" → "${c}"`);let[u,d]=Ot(i[2]),f;if(i.indices){let e=i.indices[1],n=i.indices[2];if(e&&n){f={ruleSet:o(r.cleanStart,e,t)};let a=i[2].indexOf(`(`);if(a===-1)f.rule=o(r.cleanStart,n,t);else{let[e,i]=n;f.rule=o(r.cleanStart,[e,e+a],t),f.subsection=o(r.cleanStart,[e+a,i],t)}}}let{originalStart:p,originalEnd:m}=s(r,t);return{type:`federalRule`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:p,originalEnd:m},confidence:.95,matchedText:n,processTimeMs:0,patternsChecked:1,ruleSet:l,rule:u,subsection:d,spans:f}}const At={"id-rcp":{jurisdiction:`ID`,ruleSet:`civil`,re:/^I\.R\.C\.P\.\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)$/d},"id-rcp-spelled":{jurisdiction:`ID`,ruleSet:`civil`,re:/^Idaho\s+Rules?\s+of\s+Civil\s+Procedure\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)$/di},"nc-rap":{jurisdiction:`NC`,ruleSet:`appellate`,re:/^N\.\s?C\.\s?R\.\s?App\.\s?P\.\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)$/d},"nc-rcp":{jurisdiction:`NC`,ruleSet:`civil`,re:/^N\.\s?C\.\s?R\.\s?Civ\.\s?P\.\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)$/d},"sc-scacr-postfix":{jurisdiction:`SC`,ruleSet:`appellate`,re:/^Rule\s+(\d+(?:\.\d+)?(?:\([^)]*\))*),\s*SCACR$/d},rcfc:{jurisdiction:`CFC`,ruleSet:`civil`,re:/^RCFC\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)$/d},"hcn-rcp":{jurisdiction:`HCN`,ruleSet:`civil`,re:/^HCN\s+R\.\s?Civ\.\s?P\.\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)$/d},tcrcp:{jurisdiction:`TC`,ruleSet:`civil`,re:/^T\.C\.R\.C\.P\.\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)$/d}};function jt(e){let t=/^(\d+(?:\.\d+)?)((?:\([^)]*\))*)$/.exec(e);return t?{rule:t[1],subsection:t[2]||void 0}:{rule:e}}function Mt(e,t){let{text:n,span:r}=e,i=At[e.patternId];if(!i)throw Error(`extractStateRule called with unknown patternId: ${e.patternId}`);let a=i.re.exec(n);if(!a)throw Error(`extractStateRule: token text does not match ${e.patternId}: ${n}`);let c=a[1],{rule:l,subsection:u}=jt(c),{originalStart:d,originalEnd:f}=s(r,t),p;if(a.indices){let e=a.indices[1];e&&(p={rule:o(r.cleanStart,[e[0],e[0]+l.length],t)},u&&(p.subsection=o(r.cleanStart,[e[0]+l.length,e[1]],t)))}let m=.95;return u&&(m+=.05),m=Math.min(m,1),{type:`stateRule`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:m,matchedText:n,processTimeMs:0,patternsChecked:1,jurisdiction:i.jurisdiction,ruleSet:i.ruleSet,rule:l,subsection:u,spans:p}}function Nt(e,t,n){let{text:r,span:i}=e,a=/^(\d+(?:-\d+)?)\s+([A-Za-z.\s]+?)\s+(\d+)/d.exec(r);if(!a)throw Error(`Failed to parse journal citation: ${r}`);let c=a[1],l=/^\d+$/.test(c)?Number.parseInt(c,10):c,u=a[2].trim(),d=Number.parseInt(a[3],10),f,p;n===void 0?(f=r.slice(a[0].length),p=i.cleanStart+a[0].length):(f=n.slice(i.cleanEnd,i.cleanEnd+30),p=i.cleanEnd);let m=n?n.slice(i.cleanStart,i.cleanEnd+30):r,h=/^,\s*(\d+)/d.exec(f),g=h?Number.parseInt(h[1],10):void 0,_=/\((?:.*?\s)?(\d{4})(?:[-–—]\d{2,4})?\)/d.exec(m),v=_?Number.parseInt(_[1],10):void 0,y=v!==void 0&&F(v)?v:void 0,b;a.indices&&(b={volume:o(i.cleanStart,a.indices[1],t),journal:o(i.cleanStart,a.indices[2],t),page:o(i.cleanStart,a.indices[3],t)},h?.indices?.[1]&&(b.pincite=o(p,h.indices[1],t)),_?.indices?.[1]&&(b.year=o(i.cleanStart,_.indices[1],t)));let{originalStart:x,originalEnd:S}=s(i,t);return{type:`journal`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:x,originalEnd:S},confidence:.6,matchedText:r,processTimeMs:0,patternsChecked:1,volume:l,journal:u,abbreviation:u,page:d,pincite:g,year:y,spans:b}}const Pt=String.raw`\b(H\.?\s?R\.?|S\.?)\s*Rep\.?\s+No\.?\s+(\d+(?:-\d+)?)(?:,?\s+pt\.\s+\d+)?(?:,?\s+(\d+)(?:st|d|nd|rd|th)\s+Cong\.)?(?:,?\s+(\d+(?:st|d|nd|rd|th))\s+Sess\.?)?(?:,?\s+(?:p\.\s*|at\s+)?(\d+))?(?:\s*\((\d{4})\))?`,Ft=String.raw`\b(\d+)\s+Cong\.\s+Rec\.\s+([HSE]?\d+)`,It=new RegExp(Pt),Lt=new RegExp(Ft),Rt=[{id:`legmat-report`,regex:new RegExp(Pt,`g`),description:`Committee reports (e.g. "H.R. Rep. No. 94-1487, p. 16 (1976)", "S. Rep. No. 861, at 2")`,type:`legislativeMaterial`},{id:`legmat-cong-rec`,regex:new RegExp(Ft,`g`),description:`Congressional Record citations (e.g. "112 Cong. Rec. 1234")`,type:`legislativeMaterial`}];function zt(e,t){let{text:n,span:r,patternId:i}=e,{originalStart:a,originalEnd:o}=s(r,t),c={text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:a,originalEnd:o},confidence:.9,matchedText:n,processTimeMs:0,patternsChecked:1};if(i===`legmat-cong-rec`){let e=Lt.exec(n);if(!e)throw Error(`Failed to parse Congressional Record citation: ${n}`);return{...c,type:`legislativeMaterial`,kind:`congressionalRecord`,volume:Number.parseInt(e[1],10),page:Number.parseInt(e[2].replace(/^[HSE]/,``),10)}}let l=It.exec(n);if(!l)throw Error(`Failed to parse legislative-material citation: ${n}`);let u=l[1].startsWith(`H`)?`House`:`Senate`,d=l[3]?Number.parseInt(l[3],10):void 0,f=l[5]?Number.parseInt(l[5],10):void 0,p=l[6]?Number.parseInt(l[6],10):void 0;return{...c,type:`legislativeMaterial`,kind:`report`,chamber:u,reportNumber:l[2],...d===void 0?{}:{congress:d},...l[4]?{session:l[4]}:{},...f===void 0?{}:{page:f},...p===void 0?{}:{year:p}}}const Bt=String.raw`\bCCCO\s+§\s*(\d+(?:\.\d+)*(?:\([^)]+\))?)`,Vt=new RegExp(Bt),Ht=[{id:`ccco-ordinance`,regex:new RegExp(Bt,`g`),description:`Clark County ordinances (e.g. "CCCO § 2.12.010(1)")`,type:`localOrdinance`}];function Ut(e,t){let{text:n,span:r}=e,i=Vt.exec(n);if(!i)throw Error(`Failed to parse local-ordinance citation: ${n}`);let{originalStart:a,originalEnd:o}=s(r,t);return{type:`localOrdinance`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:a,originalEnd:o},confidence:.9,matchedText:n,processTimeMs:0,patternsChecked:1,code:`CCCO`,locality:`Clark County, NV`,section:i[1]}}const Wt=/^(?:\s+at\s+|,\s*(?:at\s+(?:pp?\.\s*)?)?)(\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?|¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?)(?=$|[.,:;)([\]»"'“”‘’]|\s(?![A-Z]))/d,Gt=/^(?:\s*,?\s*(?:at\s+)?\*?\d+(?:[-–—]\*?\d+)?)?\s*\(([^)]+)\)/;function Kt(e){return e===`WL`||e===`BL`||e===`NY Slip Op`?!0:/\bLEXIS\b/.test(e)}function qt(e,t,n){let{text:r,span:i}=e,a,c,l,u=!1,d,f=/^T\.\s?C\.\s+Memo\.\s+(\d{4})-(\d+)$/d.exec(r);if(f)a=Number.parseInt(f[1],10),c=`T.C. Memo.`,l=f[2],f.indices&&(d={year:o(i.cleanStart,f.indices[1],t),documentNumber:o(i.cleanStart,f.indices[2],t)});else{let e=/^(\d{4})\s+N\.?Y\.?\s+Slip\s+Op\.?\s+(\d+)(\((?:U|UV)\)|\[U\])?$/d.exec(r);if(e)a=Number.parseInt(e[1],10),c=`NY Slip Op`,l=e[2],u=e[3]!==void 0,e.indices&&(d={year:o(i.cleanStart,e.indices[1],t),documentNumber:o(i.cleanStart,e.indices[2],t)});else{let e=/^(\d{4})-([A-Z]+)-(\d+)-([A-Z]+)$/d.exec(r);if(e){if(a=Number.parseInt(e[1],10),c=`${e[2]}-${e[4]}`,l=e[3],e.indices){let n=e.indices[2],r=e.indices[4],a=[n[0],r[1]];d={year:o(i.cleanStart,e.indices[1],t),court:o(i.cleanStart,a,t),documentNumber:o(i.cleanStart,e.indices[3],t)}}}else{let e=/^(\d{4})[-\s]+(.+?)[-\s]+(\d+)(-U)?$/d.exec(r);if(!e)throw Error(`Failed to parse neutral citation: ${r}`);a=Number.parseInt(e[1],10),c=e[2],l=e[3],e[4]===`-U`&&(u=!0),e.indices&&(d={year:o(i.cleanStart,e.indices[1],t),court:o(i.cleanStart,e.indices[2],t),documentNumber:o(i.cleanStart,e.indices[3],t)})}}}let p,m;if(n){let e=n.substring(i.cleanEnd),r=Wt.exec(e);r&&(m=G(r[1])??void 0,p=m?.page??m?.paragraph,r.indices?.[1]&&(d||={},d.pincite=o(i.cleanEnd,r.indices[1],t)))}let h,g=c;Kt(c)&&(h=c,g=void 0,d&&(d.court=void 0));let _;if(n&&h){let e=n.substring(i.cleanEnd),t=Gt.exec(e);if(t){let e=K(t[1]);e.court&&(g=e.court),e.date&&(_=e.date)}}let{originalStart:v,originalEnd:y}=s(i,t),b;if(n){let e=ot(n,i.cleanStart);e&&(b=e.caseName,b&&=(b=b.replace(/^(?:But\s+see(?:\s+also)?,?\s+|See\s+also,?\s+|See\s+generally\s+|See,\s+e\.g\.,?\s+|See\s+|Cf\.\s+|In\s+(?!re\b|the\s+(?:Matter|Interest)\s+of\b)|Accord\s+|Contra\s+|Compare\s+|E\.g\.,?\s+)/,``).trim(),b=b.replace(/\s*\((?:[^()]*\s)?\d{4}\)\s*$/,``).trim(),b=b.replace(/,\s+\d+\s+[A-Z][A-Za-z.&'\d\s]*\d+\s*$/,``).trim(),b.replace(/,\s+\d{4}\s+[A-Z]+\s+\d+\s*$/,``).trim()))}return{type:`neutral`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:v,originalEnd:y},confidence:1,matchedText:r,processTimeMs:0,patternsChecked:1,year:a,court:g,...h?{database:h}:{},documentNumber:l,...u?{unpublished:!0}:{},pincite:p,pinciteInfo:m,..._?{date:_}:{},...b?{caseName:b}:{},spans:d}}function Jt(e,t){let{text:n,span:r}=e,i=/(?:Pub\.\s?L\.|Public\s+Law)(?:\s?No\.)?\s?(\d+)-(\d+)/d.exec(n);if(!i)throw Error(`Failed to parse public law citation: ${n}`);let a=Number.parseInt(i[1],10),c=Number.parseInt(i[2],10),l;i.indices&&(l={congress:o(r.cleanStart,i.indices[1],t),lawNumber:o(r.cleanStart,i.indices[2],t)});let{originalStart:u,originalEnd:d}=s(r,t);return{type:`publicLaw`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:u,originalEnd:d},confidence:.9,matchedText:n,processTimeMs:0,patternsChecked:1,congress:a,lawNumber:c,spans:l}}const Yt=new Map([[`first`,`First`],[`1st`,`First`],[`second`,`Second`],[`2d`,`Second`],[`third`,`Third`],[`3d`,`Third`],[`fourth`,`Fourth`],[`4th`,`Fourth`]]);function Xt(e){let t=e.indexOf(`(`);return t===-1?[e,void 0]:[e.slice(0,t),e.slice(t)]}function Zt(e,t){let{text:n,span:r}=e,i=/\bRestatement\s+\((First|Second|Third|Fourth|1st|2d|3d|4th)\)\s+(?:of\s+)?([A-Za-z][A-Za-z\s,.&'-]+?)\s+§§?\s*(\d+(?:[A-Za-z0-9-]|\.[A-Za-z0-9])*(?:\([^)]*\))*)/d.exec(n);if(!i)throw Error(`Failed to parse Restatement citation: ${n}`);let a=i[1],c=Yt.get(a.toLowerCase());if(!c)throw Error(`Unrecognized Restatement edition: "${a}"`);let l=i[2].trim(),[u,d]=Xt(i[3]),f;if(i.indices){let e=i.indices[1],n=i.indices[2],a=i.indices[3];if(e&&n&&a){f={edition:o(r.cleanStart,e,t),subject:o(r.cleanStart,n,t)};let s=i[3].indexOf(`(`);if(s===-1)f.section=o(r.cleanStart,a,t);else{let[e,n]=a;f.section=o(r.cleanStart,[e,e+s],t),f.subsection=o(r.cleanStart,[e+s,n],t)}}}let{originalStart:p,originalEnd:m}=s(r,t);return{type:`restatement`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:p,originalEnd:m},confidence:.95,matchedText:n,processTimeMs:0,patternsChecked:1,edition:c,subject:l,section:u,subsection:d,spans:f}}const Qt=String.raw`(?:18|19|20)\d{2}`,$t=String.raw`\bStats\.\s+(${Qt}),?\s+ch\.\s+(\d+)(?:,?\s*§{1,2}\s*(\d+(?:\s*,\s*\d+)*|\d+\s*-\s*\d+))?(?:,?\s*pp?\.\s*(\d+(?:\s*-\s*\d+)?))?`,en=String.raw`\b(${Qt})\s+Nev\.\s+Stats?\.?,?\s+ch\.\s+(\d+)(?:,?\s*§{1,2}\s*(\d+(?:\s*-\s*\d+)?))?(?:,?\s*at\s+(\d+(?:\s*-\s*\d+)?))?`,tn=new RegExp($t),nn=new RegExp(en),rn=[{id:`ca-session-law`,regex:new RegExp($t,`g`),description:`California session laws (e.g. "Stats. 1992, ch. 726, § 2, p. 3523")`,type:`sessionLaw`},{id:`nv-session-law`,regex:new RegExp(en,`g`),description:`Nevada session laws (e.g. "2003 Nev. Stat., ch. 427, §§ 25-26, at 2590-95")`,type:`sessionLaw`}],an=/^(\d+)\s*-\s*(\d+)$/;function on(e){if(!e)return{};let t=e.trim(),n=an.exec(t);if(n)return{sectionRange:{start:n[1],end:n[2]},section:n[1]};if(t.includes(`,`)){let e=t.split(`,`).map(e=>e.trim()).filter(Boolean);return{sections:e,section:e[0]}}return{section:t}}function sn(e){if(!e)return{};let t=e.trim(),n=an.exec(t);return n?{pageRange:{start:n[1],end:n[2]},page:n[1]}:{page:t}}function cn(e,t){let{text:n,span:r,patternId:i}=e,a=i===`nv-session-law`,o=(a?nn:tn).exec(n);if(!o)throw Error(`Failed to parse session-law citation: ${n}`);let c=Number.parseInt(o[1],10),l=o[2],u=on(o[3]),d=sn(o[4]),{originalStart:f,originalEnd:p}=s(r,t);return{type:`sessionLaw`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:.95,matchedText:n,processTimeMs:0,patternsChecked:1,jurisdiction:a?`NV`:`CA`,code:a?`Nev. Stat.`:`Stats.`,year:c,chapter:l,...u,...d}}const ln=/^(?:But\s+(?:see|cf\.?)|But|See(?:\s+also)?(?:\s*,\s*e\.\s*g\.?)?|Compare|Cf\.?|Accord|Contra|E\.\s*g\.?|Also|In(?!\s+re\b)|Then|However|Moreover|Therefore|Indeed)\s+/i;function un(e){let t=e.replace(ln,``).trim();return t.length>0?t:e}const dn=/^[\s,]*\(([^()]*)\)/,fn=/^,\s*(\*?\d+(?:[-–—~]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—~]\d+)?)?)(?=$|[.,:;)([\]»"'“”‘’]|\s(?![A-Z]))/,pn=/(?<![A-Za-z])(?:but\s+cf\.,\s+e\.\s*g\.,?|see\s*,?\s+also,\s+e\.\s*g\.,?|but\s+see,\s+e\.\s*g\.,?|cf\.,\s+e\.\s*g\.,?|see,\s+e\.\s*g\.,?|see\s+generally|see\s*,?\s+also|but\s+see|but\s+cf\.?|compare|accord|contra|see|cf\.?|e\.\s*g\.,?)\s*$/i;function mn(e,t){if(!e)return;let n=e.slice(t),r=dn.exec(n);if(!r)return;let i=r[1].trim();return i.length>0?i:void 0}function hn(e,t,n){let{text:r,span:i}=e,a=/([Ii])(?:d|bid)\s*([.,])(?:(,\s+(?!\d+\s+[A-Z])|,?\s*(?:at\s+(?:pp?\.\s*)?|(?=¶|paras?\.?\b)))(\*?\d+(?:\s*[-–]\s*\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?|¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?))?/d.exec(r);if(!a)throw Error(`Failed to parse Id. citation: ${r}`);let c=a[1],l=a[2]===`,`,u=l||a[3]?.startsWith(`,`)===!0,d=a[4]?G(a[4])??void 0:void 0,f=d?.page,p;a[4]&&a.indices?.[4]&&(p={pincite:o(i.cleanStart,a.indices[4],t)});let m=1;if(c===`i`&&(m=.85),u&&(m=Math.min(m,.9)),l&&(m=Math.min(m,.7)),n&&i.cleanStart>0){let e=n.slice(Math.max(0,i.cleanStart-60),i.cleanStart).trimEnd();if(e.length>0){let t=/[.;)\]—:]$/.test(e),n=pn.test(e);!t&&!n&&(m=Math.min(m,.4))}}let{originalStart:h,originalEnd:g}=s(i,t),_=mn(n,i.cleanEnd);return{type:`id`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:h,originalEnd:g},confidence:m,matchedText:r,processTimeMs:0,patternsChecked:1,pincite:f,pinciteInfo:d,..._?{parenthetical:_}:{},spans:p}}function gn(e,t,n){let{text:r,span:i}=e,a=r.includes(`[supra`)?/(?:\b([A-Z][a-zA-Z''\-]+\.?(?:(?:\s+v\.?\s+|\s+&\s+|,\s+|\s+)[A-Z][a-zA-Z''\-]+\.?)*)\s*,?\s+)?\[supra(?:(?:,\s+|\s+at\s+(?:pp?\.\s*)?)(\d+(?:[-–—]\d+)?))?\]/d.exec(r):null,c=a?null:/\b([A-Z][a-zA-Z''\-]+\.?(?:(?:\s+v\.?\s+|\s+&\s+|,\s+|\s+)[A-Z][a-zA-Z''\-]+\.?)*)\s*,?\s+supra(?:\s+note\s+(\d+))?(?:(?:,\s+(?!\d+\s+[A-Z])|,?\s+(?:at\s+(?:pp?\.\s*)?|(?=¶|paras?\.?\b)))(\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?|¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?))?/d.exec(r),l=a||c||/supra(?:\s+note\s+(\d+)(?:,?\s+(?:at\s+(?:pp?\.\s*)?|(?=¶|paras?\.?\b))(\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?|¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?))?|\s+(?:at\s+(?:pp?\.\s*)?|(?=¶|paras?\.?\b))(\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?|¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?))?/d.exec(r);if(!l)throw Error(`Failed to parse supra citation: ${r}`);let u,d,f,p;if(a)u=a[1]?un(a[1]):void 0,d=a[2]?G(a[2])??void 0:void 0,f=u?.9:.8,a[2]&&(p=2);else if(c)u=un(c[1]),d=c[3]?G(c[3])??void 0:void 0,f=.9,c[3]&&(p=3);else{u=void 0;let e=l[2],t=l[3],n=e??t;d=n?G(n)??void 0:void 0,f=.8,e?p=2:t&&(p=3)}let m=d?.page,h;p!==void 0&&l.indices?.[p]&&(h={pincite:o(i.cleanStart,l.indices[p],t)});let{originalStart:g,originalEnd:_}=s(i,t),v=mn(n,i.cleanEnd);return{type:`supra`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:g,originalEnd:_},confidence:f,matchedText:r,processTimeMs:0,patternsChecked:1,partyName:u,pincite:m,pinciteInfo:d,...v?{parenthetical:v}:{},spans:h}}function _n(e,t,n){let{text:r,span:i}=e,a=/(?:([A-Z][a-zA-Z''\-]+\.?(?:(?:\s+v\.?\s+|\s+&\s+|,\s+|\s+)[A-Z][a-zA-Z''\-]+\.?)*),\s+)?(\d+(?:-\d+)?)\s+([A-Z][A-Za-z.''\s]+?(?:\d[a-z]{1,2})?)\s*,?\s+at\s+(?:pp?\.\s*|pages?\s+)?(\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?|¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?)/d.exec(r);if(!a)throw Error(`Failed to parse short-form case citation: ${r}`);let c=a[1],l=a[2],u=/^\d+$/.test(l)?Number.parseInt(l,10):l,d=a[3].trim(),f=G(a[4])??void 0,p=f?.page,m,h;c&&(m=un(c),h=m.toLowerCase().replace(/\s+/g,` `).trim());let g;a.indices?.[4]&&(g={pincite:o(i.cleanStart,a.indices[4],t)});let{originalStart:_,originalEnd:v}=s(i,t),y=.4;if(Ce.has(d)&&(y+=.3),n&&f){let e=n.substring(i.cleanEnd),t=[],r=0;for(;r<e.length;){let n=e.substring(r),i=fn.exec(n);if(!i)break;let a=G(i[1]);if(!a)break;t.push(a),r+=i[0].length}t.length>0&&(f={...f,additionalPincites:t})}let b=i.cleanEnd;if(n&&f?.additionalPincites?.length){let e=n.substring(i.cleanEnd),t=0;for(let n of f.additionalPincites){let n=fn.exec(e.substring(t));if(!n)break;t+=n[0].length}b=i.cleanEnd+t}let x=mn(n,b);return{type:`shortFormCase`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:_,originalEnd:v},confidence:y,matchedText:r,processTimeMs:0,patternsChecked:1,volume:u,reporter:d,pincite:p,pinciteInfo:f,partyName:m,partyNameNormalized:h,...x?{parenthetical:x}:{},spans:g}}const vn=/^([^([]+?)\s*((?:\([^)]*\)|\[[^\]]*\])*)$/,yn=/\s*et\s+seq\.?\s*$/i,bn=/,?\s+(?:subd\.?|subds\.?|subdivisions?|paragraphs?|pars?\.)\s+((?:\([^)]*\)|\[[^\]]*\])(?:\s*(?:\([^)]*\)|\[[^\]]*\]))*)/i;function xn(e){let t=bn.exec(e);if(!t)return e;let n=t[1].replace(/\)\s+\(/g,`)(`).replace(/\]\s+\[/g,`][`);return`${e.slice(0,t.index)}${n}${e.slice(t.index+t[0].length)}`}const Sn=/^(\d+)-(\d+)$/,Cn=/\s*[-–—]+\s*(\([A-Za-z0-9]+\))$/;function Q(e){let t=e.replace(yn,``),n=t!==e,r=xn(t),i,a=Cn.exec(r);a&&/\)\s*$/.test(r.slice(0,a.index))&&(i=a[1],r=r.slice(0,a.index)),r=r.replace(/\)\s+\(/g,`)(`).replace(/\]\s+\[/g,`][`);let o=r.trim(),s=vn.exec(o),c=s?.[2],l=!1;c&&(/\s/.test(c)||/\((?:West|Lexis|Supp\.|Cum\.|Pamphlet|Pocket)\b/i.test(c))&&(s=null,c=void 0,l=!0);let u=s!==null&&c?s[1].trim():o;if(l){let e=u.indexOf(`(`);e!==-1&&(u=u.slice(0,e).trim())}let d=Sn.exec(u),f=d?d[2]:void 0,p=u;if(!f){let e=/^(\d+)\.(\d+)-\.(\d+)$/.exec(u);if(e)f=`${e[1]}.${e[3]}`,p=`${e[1]}.${e[2]}`,u=p;else{let e=/^(\d+)\.(\d+)-(\d+)\.(\d+)$/.exec(u);e&&e[1]===e[3]&&(p=`${e[1]}.${e[2]}`,f=`${e[3]}.${e[4]}`,u=p)}}return s!==null&&c?{section:u,sectionRangeEnd:f,subsection:c,subsectionRangeEnd:i,hasEtSeq:n}:{section:u,sectionRangeEnd:f,subsectionRangeEnd:i,hasEtSeq:n}}const wn=/^(?:(\d+)\s+)?(.+?)\s*,?\s*(?:§§?|[Ss]ections?|[Ss]ec\.?)?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9])|,(?=\d))*(?:\s*\((?![^)]*\d{4})[A-Za-z0-9.-]+\)|\s*\[[A-Za-z0-9.-]+\])*(?:\s*[-–—]+\s*\([A-Za-z0-9]+\))?(?:\s*et\s+seq\.?)?)$/d;function Tn(t,n){let{text:r,span:i}=t,a=wn.exec(r),c,l,u;a?(c=a[1]?Number.parseInt(a[1],10):void 0,l=a[2].trim(),u=a[3]):(l=r,u=``);let d=e.n(l),f=d?.jurisdiction,p=d&&!d.patterns.some(e=>e.toLowerCase()===l.toLowerCase())?d.abbreviation:l,{section:m,subsection:h,sectionRangeEnd:g,subsectionRangeEnd:_,hasEtSeq:v}=Q(u),{originalStart:y,originalEnd:b}=s(i,n),x;if(a?.indices&&(x={},a.indices[1]&&(x.title=o(i.cleanStart,a.indices[1],n)),a.indices[2]&&(x.code=o(i.cleanStart,a.indices[2],n)),a.indices[3]&&m)){let e=a.indices[3][0],t=m.replace(/[.,;:]\s*$/,``).length;if(x.section=o(i.cleanStart,[e,e+t],n),h){let t=e+m.length;x.subsection=o(i.cleanStart,[t,t+h.length],n)}}let S=r.includes(`§`),C;return C=d&&S?.95:d?.85:S?.6:.4,c!==void 0&&(C+=.05),h&&(C+=.05),C=Math.min(C,1),{type:`statute`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:y,originalEnd:b},confidence:C,matchedText:r,processTimeMs:0,patternsChecked:1,title:c,code:p,section:m,sectionRange:m&&g?{start:m,end:g}:void 0,subsection:h,subsectionRange:h&&_?{start:h,end:_}:void 0,pincite:h,jurisdiction:f,hasEtSeq:v||void 0,spans:x}}const En=/^Code(?:\s+of\s+Alabama)?,?\s+1940,?\s+T(?:itle|it)?\.\s+(\d+),?\s+§\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)$/d,Dn=/^Title\s+(\d+),?\s+(?:§|Sec(?:tion)?s?\.?)\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*),?\s+Code(?:\s+of\s+Alabama)?,?\s+(\d{4})(?:,?\s+(?:as\s+)?[Rr]ecompiled\s+(\d{4}))?$/d,On=/^Tit\.\s+(\d+),?\s+§\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)(?:,?\s+Code(?:\s+of\s+Alabama)?,?\s+(\d{4})(?:,?\s+(?:as\s+)?[Rr]ecompiled\s+(\d{4}))?)?$/d;function kn(e,t){let{text:n,span:r}=e,i,a,c,l,u,d,f;switch(e.patternId){case`ala-code-prefix`:f=En.exec(n),i=f[1],a=f[2],c=1940,u=1,d=2;break;case`ala-title-trailer`:f=Dn.exec(n),i=f[1],a=f[2],c=Number.parseInt(f[3],10),f[4]&&(l=Number.parseInt(f[4],10)),u=1,d=2;break;default:f=On.exec(n),i=f[1],a=f[2],f[3]&&(c=Number.parseInt(f[3],10)),f[4]&&(l=Number.parseInt(f[4],10)),u=1,d=2;break}let p=Number.parseInt(i,10),{section:m,subsection:h,hasEtSeq:g}=Q(a),{originalStart:_,originalEnd:v}=s(r,t),y;if(f.indices){y={};let e=f.indices[u];e&&(y.title=o(r.cleanStart,e,t));let n=f.indices[d];if(n&&m){let e=n[0],i=m.replace(/[.,;:]\s*$/,``).length;if(y.section=o(r.cleanStart,[e,e+i],t),h){let n=e+m.length;y.subsection=o(r.cleanStart,[n,n+h.length],t)}}}let b=.95;return h&&(b+=.05),b=Math.min(b,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:_,originalEnd:v},confidence:b,matchedText:n,processTimeMs:0,patternsChecked:1,title:p,code:`Code of Alabama 1940`,section:m,subsection:h,pincite:h,year:c,recompiledYear:l,jurisdiction:`AL`,hasEtSeq:g||void 0,spans:y}}const An=/\bBankruptcy\s+Code\s*§§?\s*(\d+(?:[A-Za-z0-9-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)/d,jn=/§§?\s*(\d+(?:[A-Za-z0-9-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)\s+of\s+the\s+Bankruptcy\s+Code/d;function Mn(e,t){let{text:n,span:r}=e,i=(e.patternId===`bankruptcy-code-postfix`?jn:An).exec(n);if(!i)throw Error(`Failed to parse Bankruptcy Code citation: ${n}`);let a=i[1],{section:c,subsection:l}=Q(a),{originalStart:u,originalEnd:d}=s(r,t),f;if(i.indices){f={};let e=i.indices[1];if(e&&c){let[n]=e;if(f.section=o(r.cleanStart,[n,n+c.length],t),l){let e=n+c.length;f.subsection=o(r.cleanStart,[e,e+l.length],t)}}}return{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:u,originalEnd:d},confidence:.95,matchedText:n,processTimeMs:0,patternsChecked:1,title:11,code:`U.S.C.`,section:c,subsection:l,pincite:l,jurisdiction:`US`,spans:f}}const Nn=[{canonical:`Code Civ. Proc.`,regexFragment:`Code\\s+Civ\\.?\\s+Proc\\.?`},{canonical:`Code Crim. Proc.`,regexFragment:`Code\\s+Crim\\.?\\s+Proc\\.?`},{canonical:`Bus. & Prof. Code`,regexFragment:`Bus\\.?\\s*&\\s*Prof\\.?\\s+Code`},{canonical:`Welf. & Inst. Code`,regexFragment:`Welf\\.?\\s*&\\s*Inst\\.?\\s+Code`},{canonical:`Health & Saf. Code`,regexFragment:`Health\\s*&\\s*Saf\\.?\\s+Code`},{canonical:`Health & Saf. Code`,regexFragment:`Health\\s*&\\s*Safety\\s+Code`},{canonical:`Fish & Game Code`,regexFragment:`Fish\\s*&\\s*Game\\s+Code`},{canonical:`Food & Agric. Code`,regexFragment:`Food\\s*&\\s*Agric\\.?\\s+Code`},{canonical:`Harb. & Nav. Code`,regexFragment:`Harb\\.?\\s*&\\s*Nav\\.?\\s+Code`},{canonical:`Mil. & Vet. Code`,regexFragment:`Mil\\.?\\s*&\\s*Vet\\.?\\s+Code`},{canonical:`Rev. & Tax. Code`,regexFragment:`Rev\\.?\\s*&\\s*Tax\\.?\\s+Code`},{canonical:`Sts. & Hy. Code`,regexFragment:`Sts\\.?\\s*&\\s*Hy\\.?\\s+Code`},{canonical:`Pub. Util. Code`,regexFragment:`Pub\\.?\\s+Util\\.?\\s+Code`},{canonical:`Pub. Cont. Code`,regexFragment:`Pub\\.?\\s+Cont\\.?\\s+Code`},{canonical:`Pub. Resources Code`,regexFragment:`Pub\\.?\\s+Resources\\s+Code`},{canonical:`Unemp. Ins. Code`,regexFragment:`Unemp\\.?\\s+Ins\\.?\\s+Code`},{canonical:`Civ. Code`,regexFragment:`Civ\\.?\\s+Code`},{canonical:`Corp. Code`,regexFragment:`Corp\\.?\\s+Code`},{canonical:`Educ. Code`,regexFragment:`Educ\\.?\\s+Code`},{canonical:`Elec. Code`,regexFragment:`Elec\\.?\\s+Code`},{canonical:`Evid. Code`,regexFragment:`Evid\\.?\\s+Code`},{canonical:`Fam. Code`,regexFragment:`Fam\\.?\\s+Code`},{canonical:`Gov. Code`,regexFragment:`Gov\\.?\\s+Code`},{canonical:`Ins. Code`,regexFragment:`Ins\\.?\\s+Code`},{canonical:`Lab. Code`,regexFragment:`Lab\\.?\\s+Code`},{canonical:`Pen. Code`,regexFragment:`Pen\\.?\\s+Code`},{canonical:`Prob. Code`,regexFragment:`Prob\\.?\\s+Code`},{canonical:`Veh. Code`,regexFragment:`Veh\\.?\\s+Code`},{canonical:`Water Code`,regexFragment:`Water\\s+Code`}];function Pn(){let e=[...Nn].sort((e,t)=>t.regexFragment.length-e.regexFragment.length).map(e=>e.regexFragment).join(`|`);return RegExp(`\\b(${e})\\s*,?\\s*§§?\\s*(\\d+(?:[A-Za-z0-9:/-]|\\.(?=[A-Za-z0-9]))*(?:\\([^)]*\\))*(?:,?\\s+(?:subd\\.|subdivision|paragraph|par\\.)\\s+(?:\\([^)]*\\)|\\[[^\\]]*\\])(?:\\s*(?:\\([^)]*\\)|\\[[^\\]]*\\]))*)?(?:\\s*[-–—]+\\s*\\([A-Za-z0-9]+\\))?(?:\\s*et\\s+seq\\.?)?)`,`g`)}function Fn(e){let t=e.replace(/\s+/g,` `).trim();for(let e of Nn)if(RegExp(`^${e.regexFragment}$`,`i`).test(t))return e.canonical}const In=/^(.+?)\s*,?\s*§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:,?\s+(?:subd\.|subdivision|paragraphs?|pars?\.)\s+(?:\([^)]*\)|\[[^\]]*\])(?:\s*(?:\([^)]*\)|\[[^\]]*\]))*)?(?:\s*[-–—]+\s*\([A-Za-z0-9]+\))?(?:\s*et\s+seq\.?)?)$/d;function Ln(e,t){let{text:n,span:r}=e,i=In.exec(n),a=i[1].trim(),c=i[2],l=Fn(a),{section:u,subsection:d,subsectionRangeEnd:f,hasEtSeq:p}=Q(c),{originalStart:m,originalEnd:h}=s(r,t),g;if(i?.indices&&(g={},i.indices[1]&&(g.code=o(r.cleanStart,i.indices[1],t)),i.indices[2]&&u)){let e=i.indices[2][0],n=u.replace(/[.,;:]\s*$/,``).length;if(g.section=o(r.cleanStart,[e,e+n],t),d){let n=e+u.length;g.subsection=o(r.cleanStart,[n,n+d.length],t)}}let _=.95;return d&&(_+=.05),_=Math.min(_,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:m,originalEnd:h},confidence:_,matchedText:n,processTimeMs:0,patternsChecked:1,code:l,section:u,subsection:d,subsectionRange:d&&f?{start:d,end:f}:void 0,pincite:d,jurisdiction:`CA`,hasEtSeq:p||void 0,spans:g}}const Rn=/^(\d+)\s+(?:ILCS|Ill\.?\s*Comp\.?\s*Stat\.?)\s*(?:Ann\.?\s+)?(\d+)\/(\d+(?:[A-Za-z0-9:-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)$/d;function zn(e,t){let{text:n,span:r}=e,i=Rn.exec(n),a,c,l;i?(a=Number.parseInt(i[1],10),c=i[2],l=i[3]):(c=n,l=``);let{section:u,subsection:d,hasEtSeq:f}=Q(l),{originalStart:p,originalEnd:m}=s(r,t),h=u.replace(/[.,;:]\s*$/,``).length,g;if(i?.indices&&(g={},i.indices[1]&&(g.title=o(r.cleanStart,i.indices[1],t)),i.indices[2]&&(g.code=o(r.cleanStart,i.indices[2],t)),i.indices[3]&&u)){let e=i.indices[3][0];if(g.section=o(r.cleanStart,[e,e+h],t),d){let n=e+u.length;g.subsection=o(r.cleanStart,[n,n+d.length],t)}}let _=i?.95:.3;return d&&(_+=.05),_=Math.min(_,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:p,originalEnd:m},confidence:_,matchedText:n,processTimeMs:0,patternsChecked:1,title:a,code:c,section:u,subsection:d,pincite:d,jurisdiction:i?`IL`:void 0,hasEtSeq:f||void 0,spans:g}}const Bn=/^[Ss]ection\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*),?\s+(Colo(?:rado)?\.?\s+Rev(?:ised)?\.?\s+Stat(?:utes)?\.?(?:\s+Ann(?:otated)?\.?)?)(?:\s+(19\d{2}))?$/d;function Vn(e,t){let{text:n,span:r}=e,i=Bn.exec(n),a=i[1],c=i[2].replace(/\s+/g,` `).trim(),l=i[3],u=l?`${c} ${l}`:c,{section:d,subsection:f,hasEtSeq:p}=Q(a),{originalStart:m,originalEnd:h}=s(r,t),g;if(i.indices){g={};let e=i.indices[1];if(e&&d){let n=e[0],i=d.replace(/[.,;:]\s*$/,``).length;if(g.section=o(r.cleanStart,[n,n+i],t),f){let e=n+d.length;g.subsection=o(r.cleanStart,[e,e+f.length],t)}}i.indices[2]&&(g.code=o(r.cleanStart,i.indices[2],t))}let _=.9;return f&&(_+=.05),_=Math.min(_,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:m,originalEnd:h},confidence:_,matchedText:n,processTimeMs:0,patternsChecked:1,code:u,section:d,subsection:f,pincite:f,jurisdiction:`CO`,hasEtSeq:p||void 0,spans:g}}const Hn=/^(\d+)\s*,?\s+(U\.?S\.?C\.?[AS]?\.?|USC[AS]?|United\s+States\s+Code|C\.?F\.?R\.?|Code\s+of\s+Federal\s+Regulations)\s*,?\s*(?:§§?|[Ss]ections?|[Ss]ec\.?|Part|pt\.)?\s*(.+)$/d,Un=/^(\d+)\s*,?\s+(U\.?S\.?C\.?[AS]?\.?|USC[AS]?|United\s+States\s+Code|C\.?F\.?R\.?|Code\s+of\s+Federal\s+Regulations)\s*,?\s+(?:Part|pt\.)\s+(.+)$/d;function Wn(e,t){let{text:n,span:r}=e,i=Hn.exec(n)??Un.exec(n),a,c,l;if(i){a=Number.parseInt(i[1],10);let e=i[2];l=i[3];let t=e.toUpperCase().replace(/[.\s]/g,``);c=t.includes(`CFR`)||t.includes(`FEDERALREGULATIONS`)?`C.F.R.`:`U.S.C.`}else c=e.patternId===`cfr`?`C.F.R.`:`U.S.C.`,l=n,a=void 0;let{section:u,sectionRangeEnd:d,subsection:f,subsectionRangeEnd:p,hasEtSeq:m}=Q(l),h=d!==void 0&&/§§/.test(n),g=h?u.split(`-`)[0]:u,_=h?{start:g,end:d}:void 0,{originalStart:v,originalEnd:y}=s(r,t),b;if(i?.indices&&(b={},i.indices[1]&&(b.title=o(r.cleanStart,i.indices[1],t)),i.indices[2]&&(b.code=o(r.cleanStart,i.indices[2],t)),i.indices[3]&&g)){let e=i.indices[3][0],n=g.replace(/[.,;:]\s*$/,``).length;if(b.section=o(r.cleanStart,[e,e+n],t),f){let n=e+g.length;b.subsection=o(r.cleanStart,[n,n+f.length],t)}}let x=.95;return a!==void 0&&(x+=.05),f&&(x+=.05),x=Math.min(x,1),{type:c===`C.F.R.`?`regulation`:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:v,originalEnd:y},confidence:x,matchedText:n,processTimeMs:0,patternsChecked:1,title:a,code:c,section:g,sectionRange:_,subsection:f,subsectionRange:f&&p?{start:f,end:p}:void 0,pincite:f,jurisdiction:`US`,hasEtSeq:m||void 0,spans:b}}const Gn=/^(?:[Ss]ections?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?),?\s+(?:Florida\s+Statutes|Fla\.\s*Stat\.)$/d,Kn=/^Florida\s+Statutes?\s*§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?)$/d;function qn(e,t){let{text:n,span:r}=e,i=(e.patternId===`florida-postfix`?Gn:Kn).exec(n),a=i[1],{section:c,subsection:l,hasEtSeq:u}=Q(a),{originalStart:d,originalEnd:f}=s(r,t),p;if(i.indices){p={};let e=i.indices[1];if(e&&c){let n=e[0],i=c.replace(/[.,;:]\s*$/,``).length;if(p.section=o(r.cleanStart,[n,n+i],t),l){let e=n+c.length;p.subsection=o(r.cleanStart,[e,e+l.length],t)}}}let m=.95;return l&&(m+=.05),m=Math.min(m,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:m,matchedText:n,processTimeMs:0,patternsChecked:1,code:`Fla. Stat.`,section:c,subsection:l,pincite:l,jurisdiction:`FL`,hasEtSeq:u||void 0,spans:p}}const Jn=/^(Code(?:\s+Ann\.?)?)\s+§\s*(\d+-\d+(?:[A-Za-z0-9])?(?:\([A-Za-z0-9]+\))*)$/d;function Yn(e,t){let{text:n,span:r}=e,i=Jn.exec(n),a=i[1],c=i[2],{section:l,subsection:u,hasEtSeq:d}=Q(c),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={},i.indices[1]&&(m.code=o(r.cleanStart,i.indices[1],t));let e=i.indices[2];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.85;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:a,section:l,subsection:u,pincite:u,jurisdiction:`GA`,hasEtSeq:d||void 0,spans:m}}const Xn=/^IC\s+(\d{4}),\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)$/d;function Zn(e,t){let{text:n,span:r}=e,i=Xn.exec(n),a=Number.parseInt(i[1],10),c=i[2],{section:l,subsection:u,hasEtSeq:d}=Q(c),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={};let e=i.indices[2];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.95;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:`IC`,section:l,subsection:u,pincite:u,year:a,jurisdiction:`IN`,hasEtSeq:d||void 0,spans:m}}const Qn=/^(?:[Ss]ections?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?),?\s+Idaho\s+Code(?:\s+Ann\.?)?$/d;function $n(e,t){let{text:n,span:r}=e,i=Qn.exec(n),a=i[1],{section:c,subsection:l,hasEtSeq:u}=Q(a),{originalStart:d,originalEnd:f}=s(r,t),p;if(i.indices){p={};let e=i.indices[1];if(e&&c){let n=e[0],i=c.replace(/[.,;:]\s*$/,``).length;if(p.section=o(r.cleanStart,[n,n+i],t),l){let e=n+c.length;p.subsection=o(r.cleanStart,[e,e+l.length],t)}}}let m=.95;return l&&(m+=.05),m=Math.min(m,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:m,matchedText:n,processTimeMs:0,patternsChecked:1,code:`Idaho Code`,section:c,subsection:l,pincite:l,jurisdiction:`ID`,hasEtSeq:u||void 0,spans:p}}const er=/^Ill\.?\s*Rev\.?\s*Stat\.?,?\s+(\d{4}),?\s+[Cc]h(?:ap)?\.\s+(\d+[A-Z]?),?\s+pars?\.\s+(\d+(?:[A-Za-z0-9:-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)$/d;function tr(e,t){let{text:n,span:r}=e,i=er.exec(n),a=Number.parseInt(i[1],10),c=i[2],l=Number.parseInt(c,10),u=i[3],{section:d,subsection:f,hasEtSeq:p}=Q(u),{originalStart:m,originalEnd:h}=s(r,t),g;if(i.indices&&(g={},i.indices[2]&&(g.title=o(r.cleanStart,i.indices[2],t)),i.indices[3]&&d)){let e=i.indices[3][0],n=d.replace(/[.,;:]\s*$/,``).length;if(g.section=o(r.cleanStart,[e,e+n],t),f){let n=e+d.length;g.subsection=o(r.cleanStart,[n,n+f.length],t)}}let _=.95;return f&&(_+=.05),_=Math.min(_,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:m,originalEnd:h},confidence:_,matchedText:n,processTimeMs:0,patternsChecked:1,title:l,code:`Ill. Rev. Stat.`,section:d,subsection:f,pincite:f,year:a,jurisdiction:`IL`,hasEtSeq:p||void 0,spans:g}}const nr=/^(?:I\.R\.C\.|IRC)\s*§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)$/d;function rr(e,t){let{text:n,span:r}=e,i=nr.exec(n),a=i[1],{section:c,subsection:l,hasEtSeq:u}=Q(a),{originalStart:d,originalEnd:f}=s(r,t),p;if(i.indices){p={};let e=i.indices[1];if(e&&c){let n=e[0],i=c.replace(/[.,;:]\s*$/,``).length;if(p.section=o(r.cleanStart,[n,n+i],t),l){let e=n+c.length;p.subsection=o(r.cleanStart,[e,e+l.length],t)}}}let m=.95;return l&&(m+=.05),m=Math.min(m,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:m,matchedText:n,processTimeMs:0,patternsChecked:1,code:`I.R.C.`,section:c,subsection:l,pincite:l,jurisdiction:`US`,hasEtSeq:u||void 0,spans:p}}const ir=/^K\.?\s*S\.?\s*A\.?\s+(\d{4})(?:\s+(Supp\.?))?\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9])|,(?=\d))*(?:\([^)]*\))*)$/d;function ar(e,t){let{text:n,span:r}=e,i=ir.exec(n),a=Number.parseInt(i[1],10),c=i[2]!==void 0,l=i[3],{section:u,subsection:d,hasEtSeq:f}=Q(l),{originalStart:p,originalEnd:m}=s(r,t),h;if(i.indices){h={};let e=i.indices[3];if(e&&u){let n=e[0],i=u.replace(/[.,;:]\s*$/,``).length;if(h.section=o(r.cleanStart,[n,n+i],t),d){let e=n+u.length;h.subsection=o(r.cleanStart,[e,e+d.length],t)}}}let g=.95;return d&&(g+=.05),g=Math.min(g,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:p,originalEnd:m},confidence:g,matchedText:n,processTimeMs:0,patternsChecked:1,code:`K.S.A.`,section:u,subsection:d,pincite:d,year:a,editionLabel:c?`Supp.`:void 0,jurisdiction:`KS`,hasEtSeq:f||void 0,spans:h}}const or=/^(?:[Ss]ections?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?),?\s+MCA$/d;function sr(e,t){let{text:n,span:r}=e,i=or.exec(n),a=i[1],{section:c,subsection:l,hasEtSeq:u}=Q(a),{originalStart:d,originalEnd:f}=s(r,t),p;if(i.indices){p={};let e=i.indices[1];if(e&&c){let n=e[0],i=c.replace(/[.,;:]\s*$/,``).length;if(p.section=o(r.cleanStart,[n,n+i],t),l){let e=n+c.length;p.subsection=o(r.cleanStart,[e,e+l.length],t)}}}let m=.95;return l&&(m+=.05),m=Math.min(m,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:m,matchedText:n,processTimeMs:0,patternsChecked:1,code:`MCA`,section:c,subsection:l,pincite:l,jurisdiction:`MT`,hasEtSeq:u||void 0,spans:p}}const cr=/^(AB|AG|BO|BR|CJ|CL|CP|CR|CS|EC|ED|EL|EN|ET|FI|FL|GP|HG|HO|HS|HU|IN|LE|LG|LU|NR|PS|PUC|R\.?P\.?|RP|SF|SG|TA|TG|TP|TR)\s*§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)$/d;function lr(e,t){let{text:n,span:r}=e,i=cr.exec(n),a=i[1],c=i[2],{section:l,subsection:u,hasEtSeq:d}=Q(c),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={},i.indices[1]&&(m.code=o(r.cleanStart,i.indices[1],t));let e=i.indices[2];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.95;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:a,section:l,subsection:u,pincite:u,jurisdiction:`MD`,hasEtSeq:d||void 0,spans:m}}const ur=/^Minn\.?\s+(?:Stat|St)\.?\s+(19\d{2}),\s*§\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\)|\[[^\]]*\])*)$/d;function dr(e,t){let{text:n,span:r}=e,i=ur.exec(n),a=Number.parseInt(i[1],10),c=i[2],{section:l,subsection:u,hasEtSeq:d}=Q(c),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={};let e=i.indices[2];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.95;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:`Minn. Stat.`,section:l,subsection:u,pincite:u,year:a,jurisdiction:`MN`,hasEtSeq:d||void 0,spans:m}}const fr=/^(N\.?\s*Y\.?|Cal(?:ifornia)?\.?|Tex(?:as)?\.?|Md\.?|Va\.?|Ala(?:bama)?\.?)\s+(.*?)\s*§§?\s*(.+)$/ds,pr=/^(.*?)\s*(?:ch\.?|c\.?)\s*(\w+)(?:,?\s*(?:§§?|[Ss]ec\.?|[Ss]ection)\s*(.+))?$/d,mr={"n.y.":`NY`,"n.y":`NY`,ny:`NY`,"cal.":`CA`,cal:`CA`,"california.":`CA`,california:`CA`,"tex.":`TX`,tex:`TX`,"texas.":`TX`,texas:`TX`,"md.":`MD`,md:`MD`,"va.":`VA`,va:`VA`,"ala.":`AL`,ala:`AL`,"alabama.":`AL`,alabama:`AL`};function hr(e){return mr[e.toLowerCase().replace(/\s+/g,``)]}const gr={VA:`Va.`,AL:`Ala.`};function _r(e){return e.replace(/^\s*Code\s+Ann\.\s*,\s*/i,``).replace(/^\s*Code\s*,\s*/i,``).replace(/\s+Code\s*$/i,``).replace(/\s+Ann\.?\s*$/i,``).replace(/,\s*$/,``).trim()}function vr(t,n){let{text:r,span:i}=t,a,c,l,u,d=null,f=null;if(t.patternId===`mass-chapter`)d=pr.exec(r),d?(a=`MA`,c=d[1].trim().replace(/\s+/g,` `),u=d[2],l=d[3]??``):(c=r,l=``);else if(f=fr.exec(r),f){a=hr(f[1]);let t=f[1].trim(),n=f[2],r=_r(n);if(a){let i=e.r(a,r),o=gr[a];c=o&&i?`${o} ${n.trim().replace(/\s+/g,` `)}`:`${t} ${n.trim()}`}else c=`${t} ${n.trim()}`;l=f[3]}else c=r,l=``;let{section:p,subsection:m,sectionRangeEnd:h,subsectionRangeEnd:g,hasEtSeq:_}=Q(l),{originalStart:v,originalEnd:y}=s(i,n),b=p.replace(/[.,;:]\s*$/,``).length,x;if(d?.indices){if(x={},d.indices[2]&&(x.code=o(i.cleanStart,d.indices[2],n)),d.indices[3]&&p){let e=d.indices[3][0];if(x.section=o(i.cleanStart,[e,e+b],n),m){let t=e+p.length;x.subsection=o(i.cleanStart,[t,t+m.length],n)}}}else if(f?.indices&&(x={},f.indices[2]&&(x.code=o(i.cleanStart,f.indices[2],n)),f.indices[3]&&p)){let e=f.indices[3][0];if(x.section=o(i.cleanStart,[e,e+b],n),m){let t=e+p.length;x.subsection=o(i.cleanStart,[t,t+m.length],n)}}let S=a?.95:.5;m&&(S+=.05),S=Math.min(S,1);let C=p===``&&u?void 0:p;return{type:`statute`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:v,originalEnd:y},confidence:S,matchedText:r,processTimeMs:0,patternsChecked:1,code:c,chapter:u,section:C,sectionRange:C&&h?{start:C,end:h}:void 0,subsection:m,subsectionRange:m&&g?{start:m,end:g}:void 0,pincite:m,jurisdiction:a,hasEtSeq:_||void 0,spans:x}}const yr=/^(?:§\s*|[Ss]ection\s+)(\d+[A-Z]?-\d+[A-Z]?-\d+[A-Z]?(?:\([A-Za-z0-9.]+\)|\[[A-Za-z0-9.]+\])*)$/d;function br(e,t){let{text:n,span:r}=e,i=yr.exec(n),a=i[1],{section:c,subsection:l,hasEtSeq:u}=Q(a),{originalStart:d,originalEnd:f}=s(r,t),p;if(i.indices){p={};let e=i.indices[1];if(e&&c){let n=e[0],i=c.replace(/[.,;:]\s*$/,``).length;if(p.section=o(r.cleanStart,[n,n+i],t),l){let e=n+c.length;p.subsection=o(r.cleanStart,[e,e+l.length],t)}}}let m=.9;return l&&(m+=.05),m=Math.min(m,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:m,matchedText:n,processTimeMs:0,patternsChecked:1,code:`NMSA 1978`,section:c,subsection:l,pincite:l,jurisdiction:`NM`,hasEtSeq:u||void 0,spans:p}}const xr=/^(\d+)\s+(L\.P\.R\.A\.|LPRA)\s*§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)/d;function Sr(e,t){let{text:n,span:r}=e,i=xr.exec(n),a=Number.parseInt(i[1],10),c=i[3],{section:l,subsection:u,hasEtSeq:d}=Q(c),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={};let e=i.indices[3];if(e&&l){let n=l.replace(/[.,;:]\s*$/,``).length;m.section=o(r.cleanStart,[e[0],e[0]+n],t)}}let h=.95;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,title:a,code:`L.P.R.A.`,section:l,subsection:u,pincite:u,jurisdiction:`PR`,hasEtSeq:d||void 0,spans:m}}const Cr=/^(Penal|Labor|Real Property|General Business|General Obligations|General Municipal|Municipal Home Rule|Criminal Procedure|Insurance|Executive|Judiciary|Civil Practice|Civil Rights|Education|Public Health|Banking|Domestic Relations|Environmental Conservation|Election|Social Services|Estates Powers and Trusts|Vehicle and Traffic|Surrogate's Court Procedure|Family Court|Court of Claims|Workers' Compensation|Highway|Tax|Personal Property)\s+Law\s+§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\)|\[[^\]]*\])*(?:\s+(?:\([^)]*\)|\[[^\]]*\]))*)$/d;function wr(e,t){let{text:n,span:r}=e,i=Cr.exec(n),a=i[1],{section:c,subsection:l,hasEtSeq:u}=Q(i[2].replace(/\s+/g,``)),{originalStart:d,originalEnd:f}=s(r,t),p;if(i.indices){p={},i.indices[1]&&(p.code=o(r.cleanStart,i.indices[1],t));let e=i.indices[2];if(e&&c){let n=e[0],i=c.replace(/[.,;:]\s*$/,``).length;if(p.section=o(r.cleanStart,[n,n+i],t),l){let e=n+c.length;p.subsection=o(r.cleanStart,[e,e+l.length],t)}}}let m=.9;return l&&(m+=.05),m=Math.min(m,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:m,matchedText:n,processTimeMs:0,patternsChecked:1,code:`${a} Law`,section:c,subsection:l,pincite:l,jurisdiction:`NY`,hasEtSeq:u||void 0,spans:p}}const Tr=/^(?:N\.\s*Y\.\s*)?(RPAPL|RPL|BCL|EPTL|SCPA|DRL|LLCL|VTL)\s*(?:§§?\s*)?(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*)((?:\s*(?:\([^)]*\)|\[[^\]]*\]))*)$/d;function Er(e,t){let{text:n,span:r}=e,i=Tr.exec(n),a=i[1],{section:c,subsection:l,hasEtSeq:u}=Q(`${i[2]}${(i[3]??``).replace(/\s+/g,``)}`),{originalStart:d,originalEnd:f}=s(r,t),p;if(i.indices){p={};let e=i.indices[2];if(e&&c){let n=c.replace(/[.,;:]\s*$/,``).length;p.section=o(r.cleanStart,[e[0],e[0]+n],t)}let n=i.indices[3];n&&l&&n[0]<n[1]&&(p.subsection=o(r.cleanStart,n,t))}let m=.95;return l&&(m+=.05),m=Math.min(m,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:m,matchedText:n,processTimeMs:0,patternsChecked:1,code:`N.Y. ${a}`,section:c,subsection:l,pincite:l,jurisdiction:`NY`,hasEtSeq:u||void 0,spans:p}}const Dr=/^(?:N\.\s*Y\.\s*)?C\.?\s*P\.?\s*L\.?\s*R\.?\s*(?:§§?\s*)?(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*)((?:\s*(?:\([^)]*\)|\[[^\]]*\]))*)$/d;function Or(e,t){let{text:n,span:r}=e,i=Dr.exec(n),{section:a,subsection:c,hasEtSeq:l}=Q(`${i[1]}${(i[2]??``).replace(/\s+/g,``)}`),{originalStart:u,originalEnd:d}=s(r,t),f;if(i.indices){f={};let e=i.indices[1];if(e&&a){let n=a.replace(/[.,;:]\s*$/,``).length;f.section=o(r.cleanStart,[e[0],e[0]+n],t)}let n=i.indices[2];n&&c&&n[0]<n[1]&&(f.subsection=o(r.cleanStart,n,t))}let p=.95;return c&&(p+=.05),p=Math.min(p,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:u,originalEnd:d},confidence:p,matchedText:n,processTimeMs:0,patternsChecked:1,code:`N.Y. C.P.L.R.`,section:a,subsection:c,pincite:c,jurisdiction:`NY`,hasEtSeq:l||void 0,spans:f}}const kr=/^(?:N\.\s*Y\.\s*C\.\s*Admin\.?\s+Code|NYC\s+Admin\.?\s+Code|New\s+York\s+City\s+Administrative\s+Code)\s+§§?\s*(\d+-\d+(?![\d-])(?!\.\d)(?:[A-Za-z0-9])?)((?:\([^)]*\))*)$/d;function Ar(e,t){let{text:n,span:r}=e,i=kr.exec(n),{section:a,subsection:c,hasEtSeq:l}=Q(`${i[1]}${i[2]??``}`),{originalStart:u,originalEnd:d}=s(r,t),f;if(i.indices){f={};let e=i.indices[1];if(e&&a){let n=a.replace(/[.,;:]\s*$/,``).length;f.section=o(r.cleanStart,[e[0],e[0]+n],t)}let n=i.indices[2];n&&c&&n[0]<n[1]&&(f.subsection=o(r.cleanStart,n,t))}let p=.95;return c&&(p+=.05),p=Math.min(p,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:u,originalEnd:d},confidence:p,matchedText:n,processTimeMs:0,patternsChecked:1,code:`N.Y.C. Admin. Code`,section:a,subsection:c,pincite:c,jurisdiction:`NY`,hasEtSeq:l||void 0,spans:f}}const jr=/^R\.?\s*C\.?\s+Chapter\s+(\d+)$/d;function Mr(e,t){let{text:n,span:r}=e,i=jr.exec(n),a=i[1],{originalStart:c,originalEnd:l}=s(r,t),u;return i.indices&&(u={},i.indices[1]&&(u.section=o(r.cleanStart,i.indices[1],t))),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:c,originalEnd:l},confidence:.95,matchedText:n,processTimeMs:0,patternsChecked:1,code:`R.C.`,section:a,jurisdiction:`OH`,spans:u}}const Nr=/^ORS\s+chapter\s+(\d+)$/d;function Pr(e,t){let{text:n,span:r}=e,i=Nr.exec(n),a=i[1],{originalStart:c,originalEnd:l}=s(r,t),u;return i.indices&&(u={},i.indices[1]&&(u.section=o(r.cleanStart,i.indices[1],t))),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:c,originalEnd:l},confidence:.95,matchedText:n,processTimeMs:0,patternsChecked:1,code:`ORS`,section:a,jurisdiction:`OR`,spans:u}}const Fr=/[Ss]ection\s+(\d+[A-Za-z0-9-]*)((?:\([^)]*\))*)\s+of\s+title\s+(\d+)/d;function Ir(e,t){let{text:n,span:r}=e,i=Fr.exec(n),a,c,l;i?(a=i[1],c=i[2]||void 0,l=Number.parseInt(i[3],10)):a=n;let{originalStart:u,originalEnd:d}=s(r,t),f;i?.indices&&(f={},i.indices[1]&&(f.section=o(r.cleanStart,i.indices[1],t)),i.indices[3]&&(f.title=o(r.cleanStart,i.indices[3],t)),i.indices[2]&&c&&(f.subsection=o(r.cleanStart,i.indices[2],t)));let p=.85;return l!==void 0&&(p+=.05),c&&(p+=.05),p=Math.min(p,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:u,originalEnd:d},confidence:p,matchedText:n,processTimeMs:0,patternsChecked:1,title:l,code:`U.S.C.`,section:a,subsection:c,pincite:c,jurisdiction:`US`,spans:f}}const Lr=/^RLH\s+(\d{4})\s+§\s+(\d+(?:[A-Za-z0-9:-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)$/d;function Rr(e,t){let{text:n,span:r}=e,i=Lr.exec(n),a=Number.parseInt(i[1],10),c=i[2],{section:l,subsection:u,hasEtSeq:d}=Q(c),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={};let e=i.indices[2];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.95;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:`RLH`,section:l,subsection:u,pincite:u,year:a,jurisdiction:`HI`,hasEtSeq:d||void 0,spans:m}}const zr=/^(?:[Ss]ections?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*),?\s+R\.?\s*R\.?\s*S\.?\s+1943(?:,\s+Reissue\s+(\d{4}))?$/d;function Br(e,t){let{text:n,span:r}=e,i=zr.exec(n),a=i[1],c=i[2]?Number.parseInt(i[2],10):void 0,{section:l,subsection:u,hasEtSeq:d}=Q(a),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={};let e=i.indices[1];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.95;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:`R.R.S. 1943`,section:l,subsection:u,pincite:u,year:c,editionLabel:c===void 0?void 0:`Reissue`,jurisdiction:`NE`,hasEtSeq:d||void 0,spans:m}}const Vr=/^G\.?\s*L\.?\s+1956\s*(?:\((\d{4})\s+Reenactment\))?\s*,?\s*§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)$/d;function Hr(e,t){let{text:n,span:r}=e,i=Vr.exec(n),a=i[1]?Number.parseInt(i[1],10):void 0,c=i[2],{section:l,subsection:u,hasEtSeq:d}=Q(c),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={};let e=i.indices[2];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.95;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:`G.L. 1956`,section:l,subsection:u,pincite:u,year:a,editionLabel:a===void 0?void 0:`Reenactment`,jurisdiction:`RI`,hasEtSeq:d||void 0,spans:m}}const Ur=/^RSA\s+(?:\[chapter\]|chapter|ch\.?)\s+(\d+(?:-[A-Z])?)$/d;function Wr(e,t){let{text:n,span:r}=e,i=Ur.exec(n),a=i[1],{originalStart:c,originalEnd:l}=s(r,t),u;return i.indices&&(u={},i.indices[1]&&(u.section=o(r.cleanStart,i.indices[1],t))),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:c,originalEnd:l},confidence:.95,matchedText:n,processTimeMs:0,patternsChecked:1,code:`RSA`,section:a,jurisdiction:`NH`,spans:u}}const Gr=/^[Cc]hapter\s+(\d+\.\d+)\s+RCW$/d;function Kr(e,t){let{text:n,span:r}=e,i=Gr.exec(n),a=i[1],{originalStart:c,originalEnd:l}=s(r,t),u;return i.indices&&(u={},i.indices[1]&&(u.section=o(r.cleanStart,i.indices[1],t))),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:c,originalEnd:l},confidence:.95,matchedText:n,processTimeMs:0,patternsChecked:1,code:`RCW`,section:a,jurisdiction:`WA`,spans:u}}function qr(e){let t=/^(\d+\.\d+\.\d+\.\d+(?:\([A-Z]\))?)\s+NMAC$/.exec(e);if(t||(t=/^NMAC\s+(\d+\.\d+\.\d+\.\d+(?:\([A-Z]\))?)$/.exec(e),t))return{code:`NMAC`,section:t[1],jurisdiction:`NM`};if(t=/^OAR\s+(\d+-\d+-\d+)$/.exec(e),t)return{code:`OAR`,section:t[1],jurisdiction:`OR`};if(t=/^COMAR\s+(\d+\.\d+\.\d+\.\d+[A-Z]?)$/.exec(e),t)return{code:`COMAR`,section:t[1],jurisdiction:`MD`};if(t=/^IDAPA\s+(\d+\.\d+\.\d+\.\d+\.\d+)$/.exec(e),t)return{code:`IDAPA`,section:t[1],jurisdiction:`ID`};if(t=/^(\d+\.\d+\.\d+(?:\(\d+\))?),\s+ARM$/.exec(e),t)return{code:`ARM`,section:t[1],jurisdiction:`MT`}}function Jr(e,t){let{text:n,span:r}=e,i=qr(n),{originalStart:a,originalEnd:o}=s(r,t);return{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:a,originalEnd:o},confidence:.95,matchedText:n,processTimeMs:0,patternsChecked:1,code:i?.code??n,section:i?.section??``,jurisdiction:i?.jurisdiction,spans:{}}}const Yr=/^(?:[Ss]ections?|[Ss]ec\.?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?),?\s+T\.?C\.?A\.?$/d;function Xr(e,t){let{text:n,span:r}=e,i=Yr.exec(n),a=i[1],{section:c,subsection:l,hasEtSeq:u}=Q(a),{originalStart:d,originalEnd:f}=s(r,t),p;if(i.indices){p={};let e=i.indices[1];if(e&&c){let n=e[0],i=c.replace(/[.,;:]\s*$/,``).length;if(p.section=o(r.cleanStart,[n,n+i],t),l){let e=n+c.length;p.subsection=o(r.cleanStart,[e,e+l.length],t)}}}let m=.95;return l&&(m+=.05),m=Math.min(m,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:m,matchedText:n,processTimeMs:0,patternsChecked:1,code:`T.C.A.`,section:c,subsection:l,pincite:l,jurisdiction:`TN`,hasEtSeq:u||void 0,spans:p}}const Zr=/\b(U\.S\.S\.G\.|USSG)\s*§§?\s*(\d+(?:[A-Za-z0-9-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)/d;function Qr(e,t){let{text:n,span:r}=e,i=Zr.exec(n);if(!i)throw Error(`Failed to parse USSG citation: ${n}`);let a=i[2],{section:c,subsection:l}=Q(a),{originalStart:u,originalEnd:d}=s(r,t),f;if(i.indices){f={};let e=i.indices[1],n=i.indices[2];if(e&&(f.code=o(r.cleanStart,e,t)),n&&c){let[e]=n;if(f.section=o(r.cleanStart,[e,e+c.length],t),l){let n=e+c.length;f.subsection=o(r.cleanStart,[n,n+l.length],t)}}}return{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:u,originalEnd:d},confidence:.95,matchedText:n,processTimeMs:0,patternsChecked:1,code:`U.S.S.G.`,section:c,subsection:l,pincite:l,jurisdiction:`US`,spans:f}}const $r=/^(Virginia\s+Code|Code)\s+§\s*((?:\d+\.\d+-\d+(?:\.\d+)?|\d+-\d+\.\d+)(?:\([A-Za-z0-9]+\))*)$/d;function ei(e,t){let{text:n,span:r}=e,i=$r.exec(n),a=i[2],{section:c,subsection:l,hasEtSeq:u}=Q(a),{originalStart:d,originalEnd:f}=s(r,t),p;if(i.indices){p={},i.indices[1]&&(p.code=o(r.cleanStart,i.indices[1],t));let e=i.indices[2];if(e&&c){let n=e[0],i=c.replace(/[.,;:]\s*$/,``).length;if(p.section=o(r.cleanStart,[n,n+i],t),l){let e=n+c.length;p.subsection=o(r.cleanStart,[e,e+l.length],t)}}}let m=.9;return l&&(m+=.05),m=Math.min(m,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:m,matchedText:n,processTimeMs:0,patternsChecked:1,code:`Va. Code`,section:c,subsection:l,pincite:l,jurisdiction:`VA`,hasEtSeq:u||void 0,spans:p}}const ti=/^(?:§§?|[Ss]ections?|[Ss]ec\.?)\s*(\d+\.\d+(?:[A-Za-z0-9])?(?:\s*\([^)]*\))*[A-Za-z0-9]*(?:\s+et\s+seq\.?)?),?\s+(?:Stats\.|STATS\.)$/d;function ni(e,t){let{text:n,span:r}=e,i=ti.exec(n),a=i[1].match(/\s+et\s+seq\.?$/),c=(a?i[1].slice(0,-a[0].length):i[1]).replace(/\s+/g,``),{section:l,subsection:u,hasEtSeq:d}=Q(a?`${c} et seq.`:c),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={};let e=i.indices[1];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.95;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:`Wis. Stat.`,section:l,subsection:u,pincite:u,jurisdiction:`WI`,hasEtSeq:d||void 0,spans:m}}const ri=/^Code,?(?:\s+(1931))?,\s+(\d+-\d+[A-Z]?-\d+(?:[A-Za-z0-9])?(?:\([A-Za-z0-9]+\))*)$/d;function ii(e,t){let{text:n,span:r}=e,i=ri.exec(n),a=i[1]?Number.parseInt(i[1],10):void 0,c=i[2],{section:l,subsection:u,hasEtSeq:d}=Q(c),{originalStart:f,originalEnd:p}=s(r,t),m;if(i.indices){m={};let e=i.indices[2];if(e&&l){let n=e[0],i=l.replace(/[.,;:]\s*$/,``).length;if(m.section=o(r.cleanStart,[n,n+i],t),u){let e=n+l.length;m.subsection=o(r.cleanStart,[e,e+u.length],t)}}}let h=.9;return u&&(h+=.05),h=Math.min(h,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:f,originalEnd:p},confidence:h,matchedText:n,processTimeMs:0,patternsChecked:1,code:`W. Va. Code`,section:l,subsection:u,pincite:u,year:a,jurisdiction:`WV`,hasEtSeq:d||void 0,spans:m}}function ai(e,t){let{text:n,span:r}=e,i=/^(?:(\d+)\s+)?([A-Za-z.\s]+?)\s*§+\s*(\d+[A-Za-z0-9-]*)/.exec(n);if(!i){let{originalStart:e,originalEnd:i}=s(r,t);return{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:e,originalEnd:i},confidence:.3,matchedText:n,processTimeMs:0,patternsChecked:1,code:n,section:``}}let a=i[1]?Number.parseInt(i[1],10):void 0,o=i[2].trim(),c=i[3],{originalStart:l,originalEnd:u}=s(r,t),d=.5;return[`U.S.C.`,`C.F.R.`,`Cal. Civ. Code`,`Cal. Penal Code`,`N.Y. Civ. Prac. L. & R.`,`Tex. Civ. Prac. & Rem. Code`].some(e=>o.includes(e))&&(d+=.3),d=Math.min(d,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:l,originalEnd:u},confidence:d,matchedText:n,processTimeMs:0,patternsChecked:1,title:a,code:o,section:c}}function oi(e,t){switch(e.patternId){case`usc`:case`cfr`:return Wn(e,t);case`prose`:return Ir(e,t);case`abbreviated-code`:return Tn(e,t);case`ca-bare-code`:return Ln(e,t);case`named-code`:case`mass-chapter`:return vr(e,t);case`chapter-act`:return zn(e,t);case`ill-rev-stat`:return tr(e,t);case`ala-code-prefix`:case`ala-title-trailer`:case`ala-tit-bare`:return kn(e,t);case`colorado-prose`:return Vn(e,t);case`florida-postfix`:case`florida-prefix-spelled`:return qn(e,t);case`ga-pre-1983`:return Yn(e,t);case`ic-year-edition`:return Zn(e,t);case`irc`:return rr(e,t);case`ussg`:return Qr(e,t);case`bankruptcy-code-prefix`:case`bankruptcy-code-postfix`:return Mn(e,t);case`idaho-postfix`:return $n(e,t);case`ksa-year-edition`:return ar(e,t);case`mca-postfix`:return sr(e,t);case`md-article-letter`:return lr(e,t);case`minn-st-year-edition`:return dr(e,t);case`nm-bare-section`:return br(e,t);case`ny-bare-named-code`:return wr(e,t);case`ny-cplr-bare`:return Or(e,t);case`ny-acronym-bare`:return Er(e,t);case`lpra`:return Sr(e,t);case`nyc-admin-code`:return Ar(e,t);case`oh-chapter`:return Mr(e,t);case`ors-chapter`:return Pr(e,t);case`rlh`:return Rr(e,t);case`rrs-1943`:return Br(e,t);case`rcw-chapter-postfix`:return Kr(e,t);case`state-admin-code`:return Jr(e,t);case`rigl-1956`:return Hr(e,t);case`rsa-chapter`:return Wr(e,t);case`tca-postfix`:return Xr(e,t);case`va-bare-code`:return ei(e,t);case`wi-stats-postfix`:return ni(e,t);case`wv-code-1931`:return ii(e,t);default:return ai(e,t)}}const si=/^,\s*(\d{1,3}(?:,\d{3})+|\d+)(?:[-–—](\d{1,3}(?:,\d{3})+|\d+))?(?=$|[.,:;)([\]»"'“”‘’]|\s(?![A-Z]))/;function ci(e,t,n){let{text:r,span:i}=e,a=/^(\d+(?:-\d+)?)\s+Stat\.\s+(\d{1,3}(?:,\d{3})+|\d+)/d.exec(r);if(!a)throw Error(`Failed to parse Statutes at Large citation: ${r}`);let c=a[1],l=/^\d+$/.test(c)?Number.parseInt(c,10):c,u=Number.parseInt(a[2].replace(/,/g,``),10),d;a.indices&&(d={volume:o(i.cleanStart,a.indices[1],t),page:o(i.cleanStart,a.indices[2],t)});let f,p,m,h=0;if(n){let e=n.substring(i.cleanEnd),t=si.exec(e);if(t){let e=t[1].replace(/,/g,``);if(f=Number.parseInt(e,10),h=t[0].length,t[2]){let n=t[2].replace(/,/g,``);if(n.length<e.length){let t=e.slice(0,e.length-n.length);p=Number.parseInt(t+n,10)}else p=Number.parseInt(n,10);m=!0}}}let g=n?r+n.substring(i.cleanEnd,i.cleanEnd+h+16):r,_=/\((?:.*?\s)?(\d{4})\)/.exec(g),v=_?Number.parseInt(_[1],10):void 0,y=v!==void 0&&F(v)?v:void 0,{originalStart:b,originalEnd:x}=s(i,t);return{type:`statutesAtLarge`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:b,originalEnd:x},confidence:.9,matchedText:r,processTimeMs:0,patternsChecked:1,volume:l,page:u,pincite:f,pinciteEndPage:p,pinciteIsRange:m,year:y,spans:d}}const li=[`Wright & Miller, Federal Practice and Procedure`,`Moore's Federal Practice`,`Moore's Federal Practice 3d`,`Williston on Contracts`,`Corbin on Contracts`,`Nimmer on Copyright`,`McCarthy on Trademarks and Unfair Competition`,`Witkin, Cal. Procedure`,`Witkin, Summary of California Law`,`Prosser and Keeton on the Law of Torts`,`Wigmore on Evidence`,`McCormick on Evidence`,`LaFave & Israel, Criminal Procedure`,`LaFave, Criminal Law`,`Davis & Pierce, Administrative Law Treatise`],ui=[`Federal Practice and Procedure`,`Cal. Procedure`,`Summary of California Law`,`Criminal Procedure`,`Criminal Law`,`Administrative Law Treatise`],di=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),fi=li.map(di).join(`|`),pi=ui.map(di).join(`|`),mi=RegExp(`\\b(\\d+[A-Z]?)\\s+(?:(${fi})|(?:[A-Z][A-Za-z.]*(?:\\s+[A-Z][A-Za-z.]*)*(?:\\s*&\\s*[A-Z][A-Za-z.]*(?:\\s+[A-Z][A-Za-z.]*)*)?,\\s+)(${pi}))(?:\\s+\\(([^)]+)\\))?\\s+§§?\\s*(\\d+(?:[.:][A-Za-z0-9]+)*(?:\\[[A-Za-z0-9]+\\])?(?:\\([^)]*\\))*)`,`d`);function hi(e){if(!e)return;let t=/(\d{4})/.exec(e);if(!t)return;let n=Number.parseInt(t[1],10);return F(n)?n:void 0}function gi(e,t){let{text:n,span:r}=e,i=mi.exec(n);if(!i)throw Error(`Failed to parse treatise citation: ${n}`);let a=/^(\d+)/.exec(i[1]),c=a?Number.parseInt(a[1],10):0,l=i[2]??i[3],u=i[4],d=i[5],f=hi(u),p;if(i.indices){let e=i.indices[1],n=i.indices[2]??i.indices[3],a=i.indices[5];e&&n&&a&&(p={volume:o(r.cleanStart,e,t),title:o(r.cleanStart,n,t),section:o(r.cleanStart,a,t)})}let{originalStart:m,originalEnd:h}=s(r,t);return{type:`treatise`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:m,originalEnd:h},confidence:.9,matchedText:n,processTimeMs:0,patternsChecked:1,volume:c,title:l,section:d,edition:u,year:f,spans:p}}const _i=String.raw`\b(T\.?\s?I\.?\s?A\.?\s?S\.?|Bevans)\s+No\.?\s+(\d+)`,vi=String.raw`\b(\d+)\s+(U\.?\s?N\.?\s?T\.?\s?S\.?|U\.?\s?S\.?\s?T\.?)\s+(\d+)`,yi=new RegExp(_i),bi=new RegExp(vi),xi=[{id:`treaty-series-no`,regex:new RegExp(_i,`g`),description:`Treaty series citations (e.g. "T.I.A.S. No. 1502")`,type:`treaty`},{id:`treaty-volume-page`,regex:new RegExp(vi,`g`),description:`Treaty volume-series-page citations (e.g. "1155 U.N.T.S. 331", "123 U.S.T. 456")`,type:`treaty`}],Si=e=>e.replace(/\s+/g,``);function Ci(e,t){let{text:n,span:r,patternId:i}=e,a,o,c,l;if(i===`treaty-volume-page`){let e=bi.exec(n);if(!e)throw Error(`Failed to parse treaty citation: ${n}`);c=Number.parseInt(e[1],10),a=Si(e[2]),l=Number.parseInt(e[3],10)}else{let e=yi.exec(n);if(!e)throw Error(`Failed to parse treaty citation: ${n}`);a=Si(e[1]),o=e[2]}let{originalStart:u,originalEnd:d}=s(r,t);return{type:`treaty`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:u,originalEnd:d},confidence:.9,matchedText:n,processTimeMs:0,patternsChecked:1,series:a,...o?{seriesNumber:o}:{},...c===void 0?{}:{volume:c},...l===void 0?{}:{page:l}}}const wi=String.raw`(?=$|[.;,)\]!?–—'"“”*<>†‡§¶©°]|-\D)`,Ti=[{id:`federal-reporter`,regex:new RegExp(String.raw`\b(\d+(?:-\d+)?)\s+(F\.\s?Supp\.(?:\s?(?:\d+(?:st|nd|rd|th)|2d|3d))?|F\.\s?App'x|F\.(?:\d+(?:st|nd|rd|th)|2d|3d)?)(?:\s+(\d+-\d+|\d+|_{3,}|-{3,})(?=\s|$|[().,;!?–—'"“”*<>†‡§¶©°])|\s*,\s+(\d+|_{3,}|-{3,})${wi})`,`g`),description:`Federal Reporter (F., F.2d, F.3d, F.Nth, F.Supp., F.App'x, etc.)`,type:`case`},{id:`supreme-court`,regex:new RegExp(String.raw`\b(\d+(?:-\d+)?)\s+(U\.\s?S\.|S\.\s?Ct\.|L\.\s?Ed\.(?:\s?(?:\d+(?:st|nd|rd|th)|2d|3d))?)(?:\s+(?:\(\d+\s+[A-Z][A-Za-z.]+\)\s+)?(\d+-\d+(?=\s+\(\d{4}\))|\d+|_{3,}|-{3,})(?=\s|$|[().,;!?–—'"“”*<>†‡§¶©°]|-\D)|\s*,\s+(\d+|_{3,}|-{3,})${wi})`,`g`),description:`U.S. Supreme Court reporters (with optional nominative reporter parenthetical)`,type:`case`},{id:`state-reporter`,regex:new RegExp(String.raw`\b(\d+(?:-\d+)?)\s+(?!(?:Ibid|Id)\.?\s+\d)(?!(?:AND|OR)\s+\d)([A-Z][A-Za-z.\d&']*(?:(?! L\.[JQR\s])(?! R\.\s+\d)\s+[A-Z\d&][A-Za-z.\d&']*)*?)(?:\s+(\d+-\d+(?=\s+\(\d{4}\))|\d+|_{3,}|-{3,})(?=\s|$|[().,;!?\[\]–—'"“”*<>†‡§¶©°]|-\D)|\s*,\s+(\d+|_{3,}|-{3,})${wi})`,`g`),description:`State reporters (broad pattern allowing multi-word reporters with & and ', excludes journal patterns with " L.J/Q/Rev", phantom matches across " v. "/" vs. ", CSM " at " short-form boundaries, Illinois " R. N" rule-marker boundaries, and Id./Ibid. short-form markers (#549), validated against reporters-db in Phase 3)`,type:`case`}],Ei=[{id:`docket-paren-court-year`,regex:/\b(?:(?:C\.A\.|Civ\.|Civil(?:\s+Action)?|Case|Adv\.|Docket)\s+)?No\.\s+([A-Za-z\d]+(?::?[A-Za-z\d]+)?(?:[-\s][A-Za-z\d]+)*)\s+\(([^)]+\s(\d{4}))\)/g,description:`Docket-number citation: "Party v. Party, [C.A./Civ./Civil/Case/Adv./Docket] No. <docket> (<court> <year>)"`,type:`docket`}],Di=[{id:`fed-rule-abbreviated`,regex:/\bFed\.\s?(?:R\.|Rules?)\s?(Civ\.\s?(?:P\.|Proc\.)|Crim\.\s?(?:P\.|Proc\.)|Evid\.|App\.\s?(?:P\.|Proc\.)|Bankr\.\s?(?:P\.|Proc\.))\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)/g,description:`Abbreviated federal rules: "Fed. R. Civ. P. 56", "Fed. Rule Crim. Proc. 46(b)", "Fed.R.Bankr.P. 7001" — #576, #295`,type:`federalRule`},{id:`fed-rule-spelled`,regex:/\bFederal\s+Rules?\s+of\s+(?:the\s+)?(Civil\s+Procedure|Criminal\s+Procedure|Evidence|Appellate\s+Procedure|Bankruptcy\s+Procedure)\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)/gi,description:`Spelled-out federal rules: "Federal Rule of Civil Procedure 56", "Federal Rules of Evidence 401" — #576`,type:`federalRule`},{id:`fed-rule-acronym`,regex:/\b(FRCP|FRE|FRAP|FRCrP|FRBP|F\.\s?R\.\s?C\.\s?P\.|F\.\s?R\.\s?E\.|F\.\s?R\.\s?A\.\s?P\.|F\.\s?R\.\s?Cr\.\s?P\.|F\.\s?R\.\s?B\.\s?P\.)\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)/g,description:`Acronym federal rules: "FRCP 12(b)(6)", "FRE 401", "F.R.C.P. 12" — #696`,type:`federalRule`}],Oi=[{id:`law-review`,regex:/\b(\d+(?:-\d+)?)\s+(?!(?:Ibid|Id)\.?\s+\d)([A-Z][A-Za-z.&']*(?:\s+[A-Z\d&][A-Za-z.&']*)*?)\s+(\d+)\b/g,description:`Law review citations (e.g., "120 Harv. L. Rev. 500"), validated against journals-db in Phase 3. Each post-space token must start with uppercase/digit/& to reject prose phantoms.`,type:`journal`}],ki=String.raw`(?:1[789]\d{2}|2[01]\d{2})`,Ai=String.raw`(?<!(?:Case|Cause|Docket)\s+No\.\s+[A-Za-z0-9-]{0,40})`,ji=[{id:`state-vendor-neutral-hyphenated-ms`,regex:RegExp(`${Ai}\\b(${ki})-([A-Z]+)-(\\d+)-([A-Z]+)\\b`,`g`),description:`Mississippi 4-segment vendor-neutral (e.g., "2010-CT-01234-SCT", "2015-CA-00567-COA")`,type:`neutral`},{id:`state-vendor-neutral-hyphenated`,regex:RegExp(`${Ai}\\b(${ki})-([A-Z][A-Za-z]+)-(\\d+)\\b`,`g`),description:`Hyphenated vendor-neutral (e.g., "2010-NMSC-007", "2024-Ohio-764", "2020-NCSC-118")`,type:`neutral`},{id:`state-vendor-neutral`,regex:/\b(\d{4})\s+(IL\s+App\s+\(\d+(?:st|nd|rd|th|d)\)|OK\s+(?:CIV\s+APP|CR|AG)|[A-Z]{2}(?:\s+App\.?)?)\s+(\d+(?:-U)?)\b/g,description:`State vendor-neutral citations (e.g., "2007 UT 49", "2017 WI 17", "2013 IL 112116", "2011 IL App (1st) 101234", "2020 OK CIV APP 67", "2020 IL App (2d) 190123-U")`,type:`neutral`},{id:`ny-slip-op`,regex:RegExp(`\\b(${ki})\\s+N\\.?Y\\.?\\s+Slip\\s+Op\\.?\\s+(\\d+)(\\((?:U|UV)\\)|\\[U\\])?`,`g`),description:`NY Slip Op vendor-neutral citations (e.g., "2024 NY Slip Op 51234", "2020 NY Slip Op 51234(U)", "2023 N.Y. Slip Op. 03165")`,type:`neutral`},{id:`westlaw`,regex:/\b(\d{4})\s+WL\s+(\d+)\b/g,description:`WestLaw citations (e.g., "2021 WL 123456")`,type:`neutral`},{id:`tc-memo`,regex:/\bT\.\s?C\.\s+Memo\.\s+(\d{4})-(\d+)\b/g,description:`Tax Court Memorandum decisions (e.g., "T.C. Memo. 2002-89", "T.C. Memo. 1970-86") — #324`,type:`neutral`},{id:`lexis`,regex:/\b(\d{4})\s+[A-Z][A-Za-z.\s]+?\s+LEXIS\s+(\d+)\b/g,description:`LexisNexis citations (federal: "2021 U.S. LEXIS 5000", "2021 U.S. App. LEXIS 12345"; state: "2020 Cal. LEXIS 1000", "2020 Tex. App. LEXIS 5000")`,type:`neutral`},{id:`public-law`,regex:/\b(?:Pub\.\s?L\.|Public\s+Law)(?:\s?No\.)?\s?(\d+-\d+)\b/g,description:`Public Law citations: "Pub. L. No. 117-58", "Pub. L. 116-283", "Public Law 116-127", "Public Law No. 116-127"`,type:`publicLaw`},{id:`federal-register`,regex:/\b(\d+(?:-\d+)?)\s+Fed\.\s?Reg\.\s+(\d{1,3}(?:,\d{3})+|\d+)\b/g,description:`Federal Register citations (e.g., "86 Fed. Reg. 12,345" or "86 Fed. Reg. 12345")`,type:`federalRegister`},{id:`statutes-at-large`,regex:/\b(\d+(?:-\d+)?)\s+Stat\.\s+(\d{1,3}(?:,\d{3})+|\d+)\b/g,description:`Statutes at Large citations (e.g., "124 Stat. 1,119" or "124 Stat. 119")`,type:`statutesAtLarge`},{id:`compact-law-review`,regex:/\b(\d+(?:-\d+)?)\s+([A-Z][A-Za-z.]+L\.(?:Rev|J|Q)\.)\s+(\d+)\b/g,description:`Compact law review citations without spaces (e.g., "93 Harv.L.Rev. 752")`,type:`journal`}],Mi=[`Wright & Miller, Federal Practice and Procedure`,`Moore's Federal Practice`,`Moore's Federal Practice 3d`,`Williston on Contracts`,`Corbin on Contracts`,`Nimmer on Copyright`,`McCarthy on Trademarks and Unfair Competition`,`Witkin, Cal. Procedure`,`Witkin, Summary of California Law`,`Prosser and Keeton on the Law of Torts`,`Wigmore on Evidence`,`McCormick on Evidence`,`LaFave & Israel, Criminal Procedure`,`LaFave, Criminal Law`,`Davis & Pierce, Administrative Law Treatise`],Ni=[`Federal Practice and Procedure`,`Cal. Procedure`,`Summary of California Law`,`Criminal Procedure`,`Criminal Law`,`Administrative Law Treatise`],Pi=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),Fi=Mi.map(Pi).join(`|`),Ii=Ni.map(Pi).join(`|`),Li=`Neurology,Nature,Science,JAMA,Pediatrics,Lancet,New Eng\\. J\\. Med\\.,Am\\. J\\. Psychiatry,Am\\. J\\. Pub\\. Health,Brook L Rev,Yale L J,Harv L Rev,Colum L Rev,Stan L Rev,Mich L Rev,U Chi L Rev,Geo L J,Tex L Rev,Va L Rev,Cal L Rev,NYU L Rev,Cornell L Rev,Hastings L J,Hous L Rev,Fordham L Rev,Notre Dame L Rev,U Pa L Rev,Wash L Rev,Wis L Rev`.split(`,`).join(`|`),Ri=[{id:`restatement`,regex:/\bRestatement\s+\((First|Second|Third|Fourth|1st|2d|3d|4th)\)\s+(?:of\s+)?([A-Za-z][A-Za-z\s,.&'-]+?)\s+§§?\s*(\d+(?:[A-Za-z0-9-]|\.[A-Za-z0-9])*(?:\([^)]*\))*)/g,description:`Restatement: "Restatement (Second) of Torts § 402A", "Restatement (Third) of the Law Governing Lawyers § 1" — #578`,type:`restatement`},{id:`bare-journal`,regex:RegExp(`\\b(\\d+)\\s+(${Li})\\s+(\\d+)\\b`,`g`),description:`Bare-abbreviation journals (scientific journals + period-stripped law reviews): "53 Neurology 1107", "70 Brook L Rev 1045" — #638`,type:`journal`},{id:`alr-annotation`,regex:/\b(\d+)\s+(A\.\s?L\.\s?R\.(?:\s?(?:Fed\.(?:\s?\d(?:d|nd|rd|th))?|\d(?:d|nd|rd|th)))?|ALR(?:\s?(?:Fed(?:\s?\d(?:d|nd|rd|th))?|\d(?:d|nd|rd|th)))?)\s+(\d+)\b/g,description:`A.L.R. annotation citations (periodized + bare): "100 A.L.R.2d 1234", "48 ALR 749", "23 A.L.R. Fed. 3d 456" — #581 #638`,type:`annotation`},{id:`treatise`,regex:RegExp(`\\b(\\d+[A-Z]?)\\s+(?:(${Fi})|(?:[A-Z][A-Za-z.]*(?:\\s+[A-Z][A-Za-z.]*)*(?:\\s*&\\s*[A-Z][A-Za-z.]*(?:\\s+[A-Z][A-Za-z.]*)*)?,\\s+)(${Ii}))(?:\\s+\\(([^)]+)\\))?\\s+§§?\\s*(\\d+(?:[.:][A-Za-z0-9]+)*(?:\\[[A-Za-z0-9]+\\])?(?:\\([^)]*\\))*)`,`g`),description:`Treatise: "5 Wright & Miller, Federal Practice and Procedure § 1290", "5A Charles Alan Wright & Arthur R. Miller, Federal Practice and Procedure § 1357" (#643), "1 Nimmer on Copyright § 5.05[A]" — #579`,type:`treatise`}],zi=[{id:`id`,regex:/(?:^|(?<=\s)|(?<=["'(\[—]))\b[Ii]d(?:\s*\.|\s*,(?=\s+at\s))(?:(?:,\s+(?!\d+\s+[A-Z])|,?\s*(?:at\s+(?:pp?\.\s*)?|(?=¶|paras?\.?\b)))(¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?|\*?\d+(?:\s*[-–]\s*\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?))?/g,description:`Id. citations (e.g., "Id." or "Id. at 253")`,type:`case`},{id:`ibid`,regex:/(?:^|(?<=\s)|(?<=["'(\[—]))\b[Ii]bid\s*\.(?:(?:,\s+(?!\d+\s+[A-Z])|,?\s*(?:at\s+(?:pp?\.\s*)?|(?=¶|paras?\.?\b)))(¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?|\*?\d+(?:\s*[-–]\s*\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?))?/g,description:`Ibid. citations (e.g., "Ibid." or "Ibid. at 125")`,type:`case`},{id:`supra`,regex:/(?:\b([A-Z][a-zA-Z''\-]+\.?(?:(?:\s+v\.?\s+|\s+&\s+|,\s+|\s+)[A-Z][a-zA-Z''\-]+\.?)*)\s*,?\s+)?\[supra(?:(?:,\s+|\s+at\s+(?:pp?\.\s*)?)(\d+(?:[-–—]\d+)?))?\]/g,description:`Bracketed supra citations (e.g., "State v. Jarzbek, [supra, 705]" — Connecticut style; #306)`,type:`case`},{id:`supra`,regex:/\b([A-Z][a-zA-Z''\-]+\.?(?:(?:\s+v\.?\s+|\s+&\s+|,\s+|\s+)[A-Z][a-zA-Z''\-]+\.?)*)\s*,?\s+supra(?:\s+note\s+(\d+))?(?:(?:,\s+(?!\d+\s+[A-Z])|,?\s+(?:at\s+(?:pp?\.\s*)?|(?=¶|paras?\.?\b)))(¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?|\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?))?/g,description:`Supra citations (e.g., "Smith, supra" or "Smith, supra, at 460")`,type:`case`},{id:`supra`,regex:/(?:^|(?<=\s)|(?<=[;.]))supra(?:\s+note\s+(\d+)(?:,?\s+(?:at\s+(?:pp?\.\s*)?|(?=¶|paras?\.?\b))(¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?|\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?))?|\s+(?:at\s+(?:pp?\.\s*)?|(?=¶|paras?\.?\b))(¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?|\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?)|\s+(?:§+|Part|p\.)\s*\S+)/g,description:`Standalone supra (e.g., "supra note 12" or "supra at 15")`,type:`case`},{id:`shortFormCase`,regex:/\b(?:([A-Z][a-zA-Z''\-]+\.?(?:(?:\s+v\.?\s+|\s+&\s+|,\s+|\s+)[A-Z][a-zA-Z''\-]+\.?)*),\s+)?(\d+(?:-\d+)?)\s+([A-Z][A-Za-z.''\s]+?(?:\d[a-z]{1,2})?)\s*,?\s+at\s+(?:pp?\.\s*|pages?\s+)?(\*?\d+(?:[-–—]\*?\d+)?(?:\s+(?:nn?|note)\s*\.?\s*\d+(?:[-–—]\d+)?)?|¶¶?\s*\d+(?:[-–—]\d+)?|paras?\.?\s*\d+(?:[-–—]\d+)?)\b/g,description:`Short-form case citations (e.g., "500 F.2d at 125")`,type:`case`}],Bi=[{id:`id-rcp`,regex:/\bI\.R\.C\.P\.\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)/g,description:`Idaho Rule of Civil Procedure: "I.R.C.P. 60(b)(6)" — #636`,type:`stateRule`},{id:`id-rcp-spelled`,regex:/\bIdaho\s+Rules?\s+of\s+Civil\s+Procedure\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)/gi,description:`Idaho Rule of Civil Procedure (spelled): "Idaho Rule of Civil Procedure 60(b)" — #636`,type:`stateRule`},{id:`nc-rap`,regex:/\bN\.\s?C\.\s?R\.\s?App\.\s?P\.\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)/g,description:`NC Rules of Appellate Procedure: "N.C. R. App. P. 10(b)(1)", "N.C.R.App. P. 37" — #636`,type:`stateRule`},{id:`nc-rcp`,regex:/\bN\.\s?C\.\s?R\.\s?Civ\.\s?P\.\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)/g,description:`NC Rules of Civil Procedure: "N.C. R. Civ. P. 12(b)" — #636`,type:`stateRule`},{id:`sc-scacr-postfix`,regex:/\bRule\s+(\d+(?:\.\d+)?(?:\([^)]*\))*),\s*SCACR\b/g,description:`SC Appellate Court Rule (postfix): "Rule 268(d)(2), SCACR" — #636`,type:`stateRule`},{id:`rcfc`,regex:/\bRCFC\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)/g,description:`Court of Federal Claims rule: "RCFC 56(c)" — #636`,type:`stateRule`},{id:`hcn-rcp`,regex:/\bHCN\s+R\.\s?Civ\.\s?P\.\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)/g,description:`Ho-Chunk Nation Rules of Civil Procedure: "HCN R. Civ. P. 5(C)(1)" — #658`,type:`stateRule`},{id:`tcrcp`,regex:/\bT\.C\.R\.C\.P\.\s+(\d+(?:\.\d+)?(?:\([^)]*\))*)/g,description:`Territorial Courts Rules of Civil Procedure: "T.C.R.C.P. 19(a)" — #658`,type:`stateRule`}],Vi=[{id:`usc`,regex:/\b(\d+)\s*,?\s+(?:U\.?S\.?C\.?[AS]?\.?|USC[AS]?|United\s+States\s+Code)\s*,?\s*(?:§§?|[Ss]ections?|[Ss]ec\.?)?\s*(\d+[A-Za-z0-9-]*(?:\s*\((?![^)]*\d{4})[^)]*\))*(?:\s*[-–—]+\s*\([A-Za-z0-9]+\))?(?:\s*et\s+seq\.?)?)/g,description:`U.S. Code citations (U.S.C., USC, USCA, USCS, "United States Code") with optional §/Section connector — #428 #584 #586 #587`,type:`statute`},{id:`cfr`,regex:/\b(\d+)\s*,?\s+C\.?F\.?R\.?\s*,?\s*(?:(?:Part|pt\.)\s+|§§?\s*|[Ss]ections?\s+|[Ss]ec\.?\s+)?(\d+(?:\.\d+)?[A-Za-z0-9-]*(?:\s*\((?![^)]*\d{4})[^)]*\))*(?:\s*[-–—]+\s*\([A-Za-z0-9]+\))?(?:\s*et\s+seq\.?)?)/g,description:`Code of Federal Regulations with optional Part/§/Section connector — #428 #587`,type:`statute`},{id:`irc`,regex:/\b(?:I\.R\.C\.|IRC)\s*§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`Internal Revenue Code: "I.R.C. § 1367", "IRC § 1341" — #376`,type:`statute`},{id:`ussg`,regex:/\b(?:U\.S\.S\.G\.|USSG)\s*§§?\s*(\d+(?:[A-Za-z0-9-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)/g,description:`U.S. Sentencing Guidelines: "U.S.S.G. § 2K2.4(b)", "USSG § 3E1.1" — #577`,type:`statute`},{id:`bankruptcy-code-postfix`,regex:/§§?\s*(\d+(?:[A-Za-z0-9-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)\s+of\s+the\s+Bankruptcy\s+Code/g,description:`Bankruptcy Code postfix alias: "§ 547 of the Bankruptcy Code" → 11 U.S.C. — #585`,type:`statute`},{id:`bankruptcy-code-prefix`,regex:/\bBankruptcy\s+Code\s*§§?\s*(\d+(?:[A-Za-z0-9-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)/g,description:`Bankruptcy Code prefix alias: "Bankruptcy Code § 548(a)(1)(B)(i)" → 11 U.S.C. — #585`,type:`statute`},{id:`rsa-chapter`,regex:/\bRSA\s+(?:\[chapter\]|chapter|ch\.?)\s+(\d+(?:-[A-Z])?)/g,description:`New Hampshire RSA chapter-only form: "RSA chapter 169-D" / "RSA ch. 458-C" — #378`,type:`statute`},{id:`oh-chapter`,regex:/\bR\.?\s*C\.?\s+Chapter\s+(\d+)/g,description:`Ohio Revised Code chapter-only form: "R.C. Chapter 4509" / "R. C. Chapter 1702" — #388`,type:`statute`},{id:`ors-chapter`,regex:/\bORS\s+chapter\s+(\d+)/g,description:`Oregon Revised Statutes chapter-only form: "ORS chapter 34" — #387`,type:`statute`},{id:`prose`,regex:/\b[Ss]ection\s+(\d+[A-Za-z0-9-]*(?:\([^)]*\))*)\s+of\s+title\s+(\d+)\b/g,description:`Prose-form federal citations (e.g., "section 1983 of title 42"). Note: MD-style "section X of the Y Article" deferred to PR 3.`,type:`statute`},{id:`ny-cplr-bare`,regex:/\b(?:N\.\s*Y\.\s*)?C\.?\s*P\.?\s*L\.?\s*R\.?\s*(?:§§?\s*)?(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*)((?:\s*(?:\([^)]*\)|\[[^\]]*\]))*)/g,description:`New York CPLR bare/dotted/§ forms: "CPLR 3025 (b)", "C.P.L.R. § 3211", "N.Y. C.P.L.R. § 211" — #592`,type:`statute`},{id:`ny-acronym-bare`,regex:/\b(?:N\.\s*Y\.\s*)?(RPAPL|RPL|BCL|EPTL|SCPA|DRL|LLCL|VTL)\s*(?:§§?\s*)?(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*)((?:\s*(?:\([^)]*\)|\[[^\]]*\]))*)/g,description:`New York acronymized codes (RPAPL/RPL/BCL/EPTL/SCPA/DRL/LLCL/VTL) with bracket-or-paren subdivisions: "RPAPL 711 [5]", "EPTL § 5-1.1" — #640`,type:`statute`},{id:`lpra`,regex:/\b(\d+)\s+(L\.P\.R\.A\.|LPRA)\s*§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)/g,description:`Puerto Rico statutes (Leyes de Puerto Rico Anotadas): "23 LPRA § 72", "21 L.P.R.A. § 4615" — #635`,type:`statute`},{id:`named-code`,regex:/\b(N\.?\s*Y\.?|Cal(?:ifornia)?\.?|Tex(?:as)?\.?|Md\.?|(?<!W\.?\s?)Va\.?|Ala(?:bama)?\.?)\s+([A-Z][A-Za-z.&']*(?:(?:\s+|,\s+)(?:&|[A-Z][A-Za-z.&']*))*)\s*§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:,?\s+(?:subd\.|subdivision|paragraphs?|pars?\.)\s+(?:\([^)]*\)|\[[^\]]*\])(?:\s*(?:\([^)]*\)|\[[^\]]*\]))*)?(?:\s*[-–—]+\s*\([A-Za-z0-9]+\))?(?:\s*et\s+seq\.?)?)/g,description:`Named-code state citations (NY, CA, TX, MD, VA, AL) with jurisdiction prefix + code name + §`,type:`statute`},{id:`ny-bare-named-code`,regex:/\b(Penal|Labor|Real Property|General Business|General Obligations|General Municipal|Municipal Home Rule|Criminal Procedure|Insurance|Executive|Judiciary|Civil Practice|Civil Rights|Education|Public Health|Banking|Domestic Relations|Environmental Conservation|Election|Social Services|Estates Powers and Trusts|Vehicle and Traffic|Surrogate's Court Procedure|Family Court|Court of Claims|Workers' Compensation|Highway|Tax|Personal Property)\s+Law\s+§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\)|\[[^\]]*\])*(?:\s+(?:\([^)]*\)|\[[^\]]*\]))*)/g,description:`New York bare named-code form: "Penal Law § 130.00 [3]", "Labor Law § 220 [3-a]" — #386`,type:`statute`},{id:`mass-chapter`,regex:/\b(Mass\.?\s*Gen\.?\s*Laws|General\s+Laws|M\.?G\.?L\.?A?\.?|A\.?L\.?M\.?|G\.?\s*L\.?)\s*(?:ch\.?|c\.?)\s*(\w+)(?:,?\s*(?:§§?|[Ss]ec\.?|[Ss]ection)\s*(\w+(?:[\w/-]|\.(?=\w))*(?:\s*\((?![^)]*\d{4})[^)]*\))*(?:\s*et\s+seq\.?)?))?/g,description:`Massachusetts chapter-based citations (e.g., "Mass. Gen. Laws ch. 93A, § 2")`,type:`statute`},{id:`chapter-act`,regex:/\b(\d+)\s+(?:ILCS|Ill\.?\s*Comp\.?\s*Stat\.?)\s*(?:Ann\.?\s+)?(\d+)\/(\d+(?:[A-Za-z0-9:-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`Illinois Compiled Statutes chapter-act citations (e.g., "735 ILCS 5/2-1001")`,type:`statute`},{id:`ill-rev-stat`,regex:/\bIll\.?\s*Rev\.?\s*Stat\.?,?\s+(\d{4}),?\s+[Cc]h(?:ap)?\.\s+(\d+[A-Z]?),?\s+pars?\.\s+(\d+(?:[A-Za-z0-9:-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`Illinois Revised Statutes (pre-1993): Ill. Rev. Stat. YYYY, ch. N, par. N`,type:`statute`},{id:`rlh`,regex:/\bRLH\s+(\d{4})\s+§\s+(\d+(?:[A-Za-z0-9:-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`Revised Laws of Hawaii (pre-1955): "RLH 1935 § 2545" — #359`,type:`statute`},{id:`colorado-prose`,regex:/\b[Ss]ection\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*),?\s+Colo(?:rado)?\.?\s+Rev(?:ised)?\.?\s+Stat(?:utes)?\.?(?:\s+Ann(?:otated)?\.?)?(?:\s+(19\d{2}))?/g,description:`Pre-1973 Colorado prose form: "Section 148-21-34, Colorado Revised Statutes 1963" — #352`,type:`statute`},{id:`florida-postfix`,regex:/(?<![A-Za-z])(?:[Ss]ections?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?),?\s+(?:Florida\s+Statutes|Fla\.\s*Stat\.)/g,description:`Florida postfix statute form: "section 812.035(7), Florida Statutes" / "§83.15, Florida Statutes" — #356`,type:`statute`},{id:`florida-prefix-spelled`,regex:/\bFlorida\s+Statutes?\s*§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?)/g,description:`Florida spelled-out prefix form: "Florida Statute 679.504(3)" / "Florida Statutes §73.071" — #356`,type:`statute`},{id:`idaho-postfix`,regex:/(?<![A-Za-z])(?:[Ss]ections?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?),?\s+Idaho\s+Code(?:\s+Ann\.?)?/g,description:`Idaho postfix statute form: "Section 23-908(4), Idaho Code" — #360`,type:`statute`},{id:`mca-postfix`,regex:/(?<![A-Za-z])(?:[Ss]ections?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?),?\s+MCA/g,description:`Montana Code Annotated postfix form: "§ 77-6-205(2), MCA" — #372`,type:`statute`},{id:`tca-postfix`,regex:/(?<![A-Za-z])(?:[Ss]ections?|[Ss]ec\.?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s+et\s+seq\.?)?),?\s+T\.?C\.?A\.?/g,description:`Tennessee Code Annotated postfix form: "§ 39-904, T.C.A." — #398`,type:`statute`},{id:`rcw-chapter-postfix`,regex:/\b[Cc]hapter\s+(\d+\.\d+)\s+RCW/g,description:`Washington RCW chapter postfix form: "chapter 49.60 RCW" — #408`,type:`statute`},{id:`state-admin-code`,regex:/\b(?:(NMAC)\s+(\d+\.\d+\.\d+\.\d+(?:\([A-Z]\))?)|(?<=^|[^A-Za-z])(\d+\.\d+\.\d+\.\d+(?:\([A-Z]\))?)\s+(NMAC)|(OAR)\s+(\d+-\d+-\d+)|(COMAR)\s+(\d+\.\d+\.\d+\.\d+[A-Z]?)|(IDAPA)\s+(\d+\.\d+\.\d+\.\d+\.\d+)|(?<=^|[^A-Za-z])(\d+\.\d+\.\d+(?:\(\d+\))?),\s+(ARM)\b)/g,description:`State admin codes NMAC/OAR/COMAR/IDAPA/ARM — #438`,type:`statute`},{id:`wi-stats-postfix`,regex:/(?<![A-Za-z])(?:§§?|[Ss]ections?|[Ss]ec\.?)\s*(\d+\.\d+(?:[A-Za-z0-9])?(?:\s*\([^)]*\))*[A-Za-z0-9]*(?:\s+et\s+seq\.?)?),?\s+(?:Stats\.|STATS\.)/g,description:`Wisconsin Statutes postfix form: "§ 76.09, Stats." / "sec. 805.13(3), Stats." — #414`,type:`statute`},{id:`rrs-1943`,regex:/(?<![A-Za-z])(?:[Ss]ections?|§§?)\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*),?\s+R\.?\s*R\.?\s*S\.?\s+1943(?:,\s+Reissue\s+(\d{4}))?/g,description:`Nebraska Reissue Revised Statutes 1943: "§ 30-2806, R.R.S. 1943, Reissue 1975" — #373`,type:`statute`},{id:`rigl-1956`,regex:/\bG\.?\s*L\.?\s+1956\s*(?:\((\d{4})\s+Reenactment\))?\s*,?\s*§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)/g,description:`Rhode Island General Laws 1956: "G.L. 1956 (1969 Reenactment) §11-23-1" — #393`,type:`statute`},{id:`md-article-letter`,regex:/\b(AB|AG|BO|BR|CJ|CL|CP|CR|CS|EC|ED|EL|EN|ET|FI|FL|GP|HG|HO|HS|HU|IN|LE|LG|LU|NR|PS|PUC|R\.?P\.?|RP|SF|SG|TA|TG|TP|TR)\s*§§?\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`Maryland article-letter codes: "HG § 19-906", "CP § 10-105", "R.P. § 8-211" — #368`,type:`statute`},{id:`minn-st-year-edition`,regex:/\bMinn\.?\s+(?:Stat|St)\.?\s+(19\d{2}),\s*§\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\)|\[[^\]]*\])*)/g,description:`Minnesota Statutes year-edition form: "Minn. St. 1971, § 176.66" — #371`,type:`statute`},{id:`ksa-year-edition`,regex:/\bK\.?\s*S\.?\s*A\.?\s+(\d{4})(?:\s+(Supp\.?))?\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9])|,(?=\d))*(?:\([^)]*\))*)/g,description:`Kansas Statutes Annotated year-edition: "K.S.A. 2009 Supp. 44-501(d)(2)" — #367`,type:`statute`},{id:`ic-year-edition`,regex:/\bIC\s+(\d{4}),\s*(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)/g,description:`Indiana Code year-edition form: "IC 1971, 35-13-4-4" — #363`,type:`statute`},{id:`abbreviated-code`,regex:e.a(),description:`Abbreviated state code citations for all US jurisdictions`,type:`statute`},{id:`wv-code-1931`,regex:/\bCode,?(?:\s+(1931))?,\s+(\d+-\d+[A-Z]?-\d+(?:[A-Za-z0-9])?(?:\([A-Za-z0-9]+\))*)/g,description:`West Virginia historical Code 1931: "Code 1931, 49-6-3, as amended" / "Code, 14-2-13" — #406`,type:`statute`},{id:`nyc-admin-code`,regex:/\b(?:N\.\s*Y\.\s*C\.\s*Admin\.?\s+Code|NYC\s+Admin\.?\s+Code|New\s+York\s+City\s+Administrative\s+Code)\s+§§?\s*(\d+-\d+(?![\d-])(?!\.\d)(?:[A-Za-z0-9])?)((?:\([^)]*\))*)/g,description:`New York City Administrative Code: "N.Y.C. Admin. Code § 8-107(1)(a)" / "New York City Administrative Code § 8-107(1)(a)" — #594`,type:`statute`},{id:`ga-pre-1983`,regex:/\b(Code(?:\s+Ann\.?)?)\s+§\s*(\d+-\d+(?![\d-])(?!\.\d)(?:[A-Za-z0-9])?(?:\([A-Za-z0-9]+\))*)/g,description:`Georgia pre-1983 Code: "Code Ann. § 26-2101" / "Code § 27-2501" — #358 (#405 tightened)`,type:`statute`},{id:`va-bare-code`,regex:/\b(Virginia\s+Code|Code)\s+§\s*((?:\d+\.\d+-\d+(?:\.\d+)?|\d+-\d+\.\d+)(?:\([A-Za-z0-9]+\))*)/g,description:`Virginia bare Code form: "Code § 18.2-308.2" / "Virginia Code § 8.01-581.17" — #405`,type:`statute`},{id:`nm-bare-section`,regex:/(?<![A-Za-z])(?:§\s*|[Ss]ection\s+)(\d+[A-Z]?-\d+[A-Z]?-\d+[A-Z]?(?:\([A-Za-z0-9.]+\)|\[[A-Za-z0-9.]+\])*)/g,description:`New Mexico bare-section form: "Section 32A-2-7(A)" / "§ 41-2-2" — #382 (#565 decimal subsection)`,type:`statute`},{id:`ca-bare-code`,regex:Pn(),description:'California bare-code citations (#296) — `Pen. Code § 148`, `Code Civ. Proc., § 1021.5`, `Bus. & Prof. Code § 17200` (no "Cal." prefix; common in single-jurisdiction California practice).',type:`statute`},{id:`ala-code-prefix`,regex:/\bCode(?:\s+of\s+Alabama)?,?\s+1940,?\s+T(?:itle|it)?\.\s+(\d+),?\s+§\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)/g,description:`Alabama Code 1940 (Code-prefix form, pre-1975): "Code 1940, T. 15, § 389" / "Code of Alabama 1940, T. NN, § NNN" — #343`,type:`statute`},{id:`ala-title-trailer`,regex:/\bTitle\s+(\d+),?\s+(?:§|Sec(?:tion)?s?\.?)\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*),?\s+Code(?:\s+of\s+Alabama)?,?\s+(\d{4})(?:,?\s+(?:as\s+)?[Rr]ecompiled\s+(\d{4}))?/g,description:`Alabama Code (Title-first with Code trailer): "Title 26, Section 214, Code of Alabama 1940, as Recompiled 1958" — #343`,type:`statute`},{id:`ala-tit-bare`,regex:/\bTit\.\s+(\d+),?\s+§\s+(\d+(?:[A-Za-z0-9:/-]|\.(?=[A-Za-z0-9]))*(?:\([^)]*\))*)(?:,?\s+Code(?:\s+of\s+Alabama)?,?\s+(\d{4})(?:,?\s+(?:as\s+)?[Rr]ecompiled\s+(\d{4}))?)?/g,description:'Alabama Code (abbreviated `Tit.` form): "Tit. 52, § 361" — #343',type:`statute`}];function Hi(e,t=[...Ti,...Vi,...Di,...Ri,...Oi,...ji,...zi]){let n=[];for(let r of t)try{let t=e.matchAll(r.regex);for(let e of t)n.push({text:e[0],span:{cleanStart:e.index,cleanEnd:e.index+e[0].length},type:r.type,patternId:r.id})}catch(e){console.warn(`Pattern ${r.id} threw error, skipping:`,e instanceof Error?e.message:String(e))}return n.sort((e,t)=>e.span.cleanStart-t.span.cleanStart),n}function Ui(e,t){let n=t===0?``:e[t-1],r=t===e.length-1?``:e[t+1],i=n===``||/\s/.test(n)||n===`(`||n===`[`||n===`—`,a=/[A-Za-zÀ-ɏ]/.test(r)||r===`(`;if(i&&a)return`open`;let o=/[A-Za-z0-9À-ɏ.,?!:;)\]]/.test(n),s=r===``||/[\s.,;:)—\]]/.test(r);return o&&s?`close`:`ambiguous`}function Wi(e){let t=[],n=0,r=-1;for(let i=0;i<=e.length;i++)(i===e.length||e[i]===`
5
+ `)&&(e.substring(n,i).replace(/^[ \t]*/,``).startsWith(`>`)?r===-1&&(r=n):r!==-1&&(t.push({start:r,end:n}),r=-1),n=i+1);r!==-1&&t.push({start:r,end:e.length});let i=[],a=[];for(let n=0;n<e.length;n++){let r=e[n];if(r===`“`){a.push(n);continue}if(r===`”`){let e=a.pop();if(e===void 0)continue;n-e+1<=600&&t.push({start:e,end:n+1});continue}if(r!==`"`)continue;let o=Ui(e,n);if(o===`open`)i.push(n);else if(o===`close`){let e=i.pop();if(e===void 0)continue;n-e+1<=600&&t.push({start:e,end:n+1})}}return t.sort((e,t)=>e.start-t.start),t}function Gi(e,t){let n=Array(t.length).fill(0);if(t.length===0)return n;let r=0,i=0;for(let a=0;a<t.length;a++){let o=t[a].span.cleanStart;for(;i<o&&i<e.length;){let t=e[i];t===`(`?r++:t===`)`&&r>0&&r--,i++}n[a]=r}return n}var Ki=class{root=null;nextOrder=0;distanceFn;constructor(e){this.distanceFn=e}insert(e){let t={key:e,insertionOrder:this.nextOrder++,children:new Map};if(this.root===null){this.root=t;return}let n=this.root;for(;;){let r=this.distanceFn(e,n.key);if(r===0)return;let i=n.children.get(r);if(i)n=i;else{n.children.set(r,t);return}}}query(e,t){if(this.root===null)return[];let n=[],r=[this.root],i;for(;i=r.pop();){let a=this.distanceFn(e,i.key);a<=t&&n.push({key:i.key,distance:a,insertionOrder:i.insertionOrder});let o=a-t,s=a+t;for(let[e,t]of i.children)e>=o&&e<=s&&r.push(t)}return n.sort((e,t)=>e.distance-t.distance||e.insertionOrder-t.insertionOrder),n}};function qi(e,t){let n=0,r=e.length;for(;n<r;){let i=n+r>>>1;e[i]<=t?n=i+1:r=i}return n}function Ji(e,t,n=/\n\n+/g){let r=new Map,i=[0],a;for(;(a=n.exec(e))!==null;)i.push(a.index+a[0].length);i.push(e.length);for(let e=0;e<t.length;e++){let n=t[e].span.originalStart;r.set(e,qi(i,n)-1)}return r}function Yi(e,t){let n=new Map;for(let r=0;r<e.length;r++){let i=e[r].span.cleanStart,a=0,o=0,s=t.length-1;for(;o<=s;){let e=o+s>>>1,n=t[e];if(i<n.start)s=e-1;else if(i>=n.end)o=e+1;else{a=n.footnoteNumber;break}}n.set(r,a)}return n}function Xi(e,t,n,r,i=!1){if(r===`none`)return!0;let a=n.get(e),o=n.get(t);return!!(a===void 0||o===void 0||a===o||r===`footnote`&&i&&a===0)}function Zi(e){if(e.type===`case`||e.type===`docket`)return e.fullSpan}function Qi(e){switch(e.type){case`case`:case`journal`:case`neutral`:return`case`;case`statute`:case`publicLaw`:case`federalRegister`:case`statutesAtLarge`:return`statute`;default:return`other`}}function $i(e,t){for(let n of t){if(e<n.start)return;if(e<n.end)return n}}var ea=class{citations;text;options;context;partyNameTree;quoteZones;parenDepths=[];resolutions=[];resolvedSoFar=[];constructor(e,t,n={}){this.citations=e,this.text=t,this.options={scopeStrategy:n.scopeStrategy??`none`,autoDetectParagraphs:n.autoDetectParagraphs??!0,paragraphBoundaryPattern:n.paragraphBoundaryPattern??/\n\n+/g,fuzzyPartyMatching:n.fuzzyPartyMatching??!0,partyMatchThreshold:n.partyMatchThreshold??.8,reportUnresolved:n.reportUnresolved??!0,footnoteMap:n.footnoteMap},this.partyNameTree=new Ki(me),this.quoteZones=Wi(t),this.context={citationIndex:0,allCitations:e,lastResolvedIndex:void 0,fullCitationHistory:new Map,paragraphMap:new Map},this.options.autoDetectParagraphs&&(this.context.paragraphMap=Ji(t,e,this.options.paragraphBoundaryPattern)),this.options.scopeStrategy===`footnote`&&this.options.footnoteMap&&(this.context.paragraphMap=Yi(e,this.options.footnoteMap))}resolve(){let e=[];this.parenDepths=Gi(this.text,this.citations),this.resolutions=Array(this.citations.length).fill(void 0),this.resolvedSoFar=e;for(let n=0;n<this.citations.length;n++){this.context.citationIndex=n;let r=this.citations[n],i;switch(r.type){case`id`:i=this.resolveId(r);break;case`supra`:i=this.resolveSupra(r);break;case`shortFormCase`:i=this.resolveShortFormCase(r);break;default:t(r)&&this.trackFullCitation(r,n);break}this.resolutions[n]=i;let a=r;if(r.type===`id`&&i?.resolvedTo!==void 0){let e=this.citations[i.resolvedTo];if(e){let t={...r};e.type===`case`&&(e.caseName&&(t.caseName=e.caseName),e.plaintiff&&(t.plaintiff=e.plaintiff),e.defendant&&(t.defendant=e.defendant),e.plaintiffNormalized&&(t.plaintiffNormalized=e.plaintiffNormalized),e.defendantNormalized&&(t.defendantNormalized=e.defendantNormalized),e.proceduralPrefix&&(t.proceduralPrefix=e.proceduralPrefix)),a=t}}e.push({...a,resolution:i})}return this.inheritPincites(e),e}hasNumericPinciteFamily(e){return e.type===`case`||e.type===`journal`||e.type===`neutral`}inheritPincites(e){for(let n=0;n<e.length;n++){let r=e[n];if(r.type!==`id`&&r.type!==`supra`&&r.type!==`shortFormCase`)continue;let i=this.resolutions[n];if(!i||i.resolvedTo===void 0||r.pincite!==void 0||r.pinciteInfo!==void 0)continue;let a=i.resolvedTo,o=this.parenDepths[n]??0,s=e[a];if(this.hasNumericPinciteFamily(s))for(let i=n-1;i>=0;i--){if((this.parenDepths[i]??0)>o)continue;let n=e[i];if((t(n)?i:this.resolutions[i]?.resolvedTo)!==a)break;let s=n.pincite;if(typeof s!=`number`)continue;let c=r;c.pincite=s;let l=n.pinciteInfo;l&&(c.pinciteInfo=l),c.pinciteInherited=!0,c.pinciteInheritedFrom=i;break}}}findImmediatePredecessor(e){let t=this.context.citationIndex,n=$i(e.span.originalStart,this.quoteZones);for(let e=t-1;e>=0;e--){if(this.isParentheticalChild(e)||!this.isWithinScope(e,t))continue;let r=$i(this.citations[e].span.originalStart,this.quoteZones);if(!(r&&r!==n))return e}}resolveId(e){let n=this.context.citationIndex,r=e.pincite!==void 0||e.pinciteInfo!==void 0,i=/^\s*[,]?\s*§§?\s*\d/.test(this.text.substring(e.span.cleanEnd,Math.min(this.text.length,e.span.cleanEnd+20))),a=r||i?this.getIdPreferredFamily(e):null,o=$i(e.span.originalStart,this.quoteZones),s=[],c=new Set;for(let e=n-1;e>=0;e--){let r=this.citations[e],i;if(t(r))i=e;else{let t=this.resolutions[e];if(!t||t.resolvedTo===void 0){if(this.isParentheticalChild(e)||!this.isWithinScope(e,n))continue;let t=$i(r.span.originalStart,this.quoteZones);if(t&&t!==o)continue;break}i=t.resolvedTo}if(c.has(i))continue;c.add(i);let a=this.citations[i];if(!t(a)||this.isParentheticalChild(i)||!this.isWithinScope(i,n))continue;let l=$i(a.span.originalStart,this.quoteZones);l&&l!==o||s.push({index:i,family:Qi(a)})}if(s.length===0){let t=this.findImmediatePredecessor(e);if(t!==void 0)return{resolvedTo:void 0,antecedentIndex:t,confidence:.7,warnings:[`Id. antecedent has unresolved authority; chained by position only`]};let r=n>0;return this.createFailureResult(r?`Antecedent citation outside scope boundary`:`No preceding citation found`)}let l=(a===null?void 0:s.find(e=>e.family===a))??s[0],{confidence:u,warnings:d}=this.applyCaseNameWindowCheck(l.index,e);return{resolvedTo:l.index,antecedentIndex:l.index,confidence:u,warnings:d}}getIdPreferredFamily(e){let t=e.span.cleanEnd,n=Math.min(this.text.length,t+20),r=this.text.substring(t,n);return/^\s*[,]?\s*§§?\s*\d/.test(r)?`statute`:`case`}isParentheticalChild(e){if(this.parenDepths[e]>0)return!0;let t=this.citations[e];for(let n=0;n<this.resolvedSoFar.length;n++){if(n===e)continue;let r=this.resolvedSoFar[n],i=Zi(r);if(i&&i.cleanStart<=t.span.cleanStart&&i.cleanEnd>=t.span.cleanEnd)return!0}return!1}applyCaseNameWindowCheck(e,t){let n={confidence:1,warnings:void 0},r=this.citations[e];if(r.type!==`case`)return n;let i=t.span.cleanStart,a=Math.max(0,i-80),o=this.context.citationIndex-1;if(o>=0){let e=this.citations[o];a=Math.max(a,e.span.cleanEnd)}if(a>=i)return n;let s=this.text.substring(a,i),c=new Set(`As.The.This.That.These.Those.In.Here.There.Court.Courts.Supreme.Circuit.District.State.States.Federal.Plaintiff.Defendant.Petitioner.Respondent.Appellant.Appellee.Government.United.We.It.Id.See.Compare.Cf.But.Also.Held.Holds.Held,`.split(`.`)),l=s.match(/(?<![a-zA-Z])[A-Z][a-z]+(?:'s)?/g);if(!l)return n;let u=l.filter(e=>!c.has(e.replace(/'s$/,``)));if(u.length===0)return n;let d=new Set;r.plaintiffNormalized&&d.add(r.plaintiffNormalized),r.defendantNormalized&&d.add(r.defendantNormalized),r.caseName&&d.add(r.caseName.toLowerCase());let f=!1,p;for(let e of u){let t=e.replace(/'s$/,``).toLowerCase(),n=!1;for(let e of d)if(e===t||e.includes(t)||t.includes(e)){n=!0;break}if(n){f=!0;break}p||=e.replace(/'s$/,``)}return f||!p?n:{confidence:.75,warnings:[`Ambiguous Id. antecedent: prose mentions "${p}" but resolved to "${r.caseName??r.defendantNormalized??r.plaintiffNormalized??`(unknown)`}"`]}}resolveSupra(e){if(!e.partyName)return;let t=this.context.citationIndex,n=this.normalizePartyName(e.partyName),r=n.split(/\s+vs?\.\s+/);if(r.length===2){let n=this.queryFullCaptionSupra(r[0].trim(),r[1].trim(),t);if(n)return this.createSupraSuccess(e,n)}let i=[n];if(r.length===2)for(let e of r){let t=e.trim();t.length>0&&i.push(t)}let a;for(let e of i){let n=this.queryPartyNameTree(e,t);n&&(!a||n.similarity>a.similarity)&&(a=n)}return a?a.similarity<this.options.partyMatchThreshold?this.createFailureResult(`Party name similarity ${a.similarity.toFixed(2)} below threshold ${this.options.partyMatchThreshold}`):this.createSupraSuccess(e,a):this.createFailureResult(`No full citation found in scope`)}createSupraSuccess(e,t){let n=[];return t.similarity<1&&n.push(`Fuzzy match: similarity ${t.similarity.toFixed(2)}`),{resolvedTo:t.index,antecedentIndex:this.findImmediatePredecessor(e),confidence:t.similarity,warnings:n.length>0?n:void 0}}queryFullCaptionSupra(e,t,n){if(!e||!t)return;let r;for(let i=n-1;i>=0;i--){let a=this.citations[i];if(a.type!==`case`||!this.isWithinScope(i,n,!0))continue;let o=this.partyNameSimilarity(e,a.plaintiffNormalized??a.plaintiff),s=this.partyNameSimilarity(t,a.defendantNormalized??a.defendant);if(o<this.options.partyMatchThreshold||s<this.options.partyMatchThreshold)continue;let c=Math.min(o,s);(!r||c>r.similarity)&&(r={index:i,similarity:c})}return r}queryPartyNameTree(e,t){let n=e.length,r=this.options.partyMatchThreshold,i=n===0?0:Math.ceil(n*(1-r)/r),a=this.partyNameTree.query(e,i);a.sort((e,t)=>e.insertionOrder-t.insertionOrder);let o;for(let e of a){let r=this.context.fullCitationHistory.get(e.key);if(r===void 0||!this.isWithinScope(r,t,!0))continue;let i=Math.max(n,e.key.length),a=i===0?1:1-e.distance/i;(!o||a>o.similarity)&&(o={index:r,similarity:a})}return o}partyNameSimilarity(e,t){if(!t)return 0;let n=this.normalizePartyName(e),r=this.normalizePartyName(t);if(!n||!r)return 0;if(n===r)return 1;if(this.containsTokenSequence(r,n)||this.containsTokenSequence(n,r))return .95;let i=me(n,r),a=Math.max(n.length,r.length);return a===0?1:1-i/a}containsTokenSequence(e,t){let n=e.split(` `).filter(Boolean),r=t.split(` `).filter(Boolean);if(r.length===0||r.length>n.length)return!1;for(let e=0;e<=n.length-r.length;e++){let t=!0;for(let i=0;i<r.length;i++)if(n[e+i]!==r[i]){t=!1;break}if(t)return!0}return!1}resolveShortFormCase(e){let t=this.context.citationIndex,n=this.normalizeReporter(e.reporter),r=e.partyName?this.normalizePartyName(e.partyName):void 0,i=[];for(let r=t-1;r>=0;r--){let a=this.citations[r];a.type===`case`&&a.volume===e.volume&&this.normalizeReporter(a.reporter)===n&&this.isWithinScope(r,t,!0)&&i.push(r)}if(i.length===0){let t=this.extractInferredCaseName(e);t&&(e.inferredCaseName=t.caseName,e.inferredPlaintiff=t.plaintiff,e.inferredDefendant=t.defendant,e.inferredCaseNameSpan=t.span);let n=this.findImmediatePredecessor(e);return n===void 0?this.createFailureResult(`No matching full case citation found`):{resolvedTo:void 0,antecedentIndex:n,confidence:.5,warnings:[`No matching full case citation found; chained by position only`]}}if(r){let t=i.find(e=>{let t=this.citations[e];if(t.type!==`case`)return!1;let n=t.plaintiffNormalized,i=t.defendantNormalized,a=e=>e!==void 0&&(e===r||this.containsTokenSequence(e,r)||this.containsTokenSequence(r,e));return!!(a(n)||a(i)||t.caseName&&a(this.normalizePartyName(t.caseName)))});if(t!==void 0)return{resolvedTo:t,antecedentIndex:this.findImmediatePredecessor(e),confidence:.98}}return{resolvedTo:i[0],antecedentIndex:this.findImmediatePredecessor(e),confidence:.95}}extractInferredCaseName(e){if(!e.partyName)return;let t=Math.max(0,e.span.cleanStart-400),n=this.text.substring(t,e.span.cleanStart);if(n.length===0)return;let r=/([A-Z][A-Za-z0-9.'&\-/]*(?:\s+[A-Z][A-Za-z0-9.'&\-/]*)*)\s+v(?:s)?\.\s+([A-Z][A-Za-z0-9.'&\-/]*(?:\s+[A-Z][A-Za-z0-9.'&\-/]*)*)/g,i=this.normalizePartyName(e.partyName),a,o;for(r.lastIndex=0;(o=r.exec(n))!==null;){let e=o[1].trim(),n=this.stripSignalWords(e),r=o[2].trim(),s=this.normalizePartyName(n),c=this.normalizePartyName(r),l=e=>e===i||e.includes(i)||i.includes(e);if(!l(s)&&!l(c))continue;let u=e.length-n.length,d=t+o.index+u;a={caseName:`${n} v. ${r}`,plaintiff:n,defendant:r,start:d,end:t+o.index+o[0].length}}if(a)return{caseName:a.caseName,plaintiff:a.plaintiff,defendant:a.defendant,span:{cleanStart:a.start,cleanEnd:a.end,originalStart:a.start,originalEnd:a.end}}}trackFullCitation(e,t){if(e.type===`case`&&(e.defendantNormalized&&(this.context.fullCitationHistory.set(e.defendantNormalized,t),this.partyNameTree.insert(e.defendantNormalized)),e.plaintiffNormalized&&(this.context.fullCitationHistory.set(e.plaintiffNormalized,t),this.partyNameTree.insert(e.plaintiffNormalized)),!e.plaintiffNormalized&&!e.defendantNormalized)){let n=this.extractPartyName(e);if(n){let e=this.normalizePartyName(n);this.context.fullCitationHistory.set(e,t),this.partyNameTree.insert(e)}}}extractPartyName(e){let t=e.span.originalStart,n=Math.max(0,t-100),r=this.text.substring(n,t),i=r.match(/([A-Z][a-zA-Z]*(?:\s+[A-Z][a-zA-Z]*)*)\s+v\.?\s+[A-Z][a-zA-Z]*(?:\s+[A-Z][a-zA-Z]*)*,\s*$/);if(i)return this.stripSignalWords(i[1].trim());let a=r.match(/([A-Z][a-zA-Z]*(?:\s+[A-Z][a-zA-Z]*)*),\s*$/);if(a)return this.stripSignalWords(a[1].trim())}stripSignalWords(e){let t=e.replace(/^(?:In(?!\s+re\b)|See(?:\s+[Aa]lso)?|Compare|But(?:\s+[Ss]ee)?|Cf\.?|Also)\s+/i,``).trim();return t.length>0?t:e}normalizePartyName(e){let t=e;t=t.replace(/\bet\s+al\.?/gi,``),t=t.replace(/\s+(?:d\/b\/a|[fna]\/k\/a)\b.*/gi,``),t=t.replace(/\s+aka\b.*/gi,``);let n=``;for(;n!==t;)n=t,t=t.replace(/,?\s*(Inc|LLC|Corp|Ltd|Co|LLP|LP|P\.C)\.?$/gi,``);return t.replace(/^(The|A|An)\s+/i,``).toLowerCase().replace(/\s+/g,` `).trim()}normalizeReporter(e){return e.toLowerCase().replace(/\s+/g,``).replace(/\./g,``)}isWithinScope(e,t,n=!1){return Xi(e,t,this.context.paragraphMap,this.options.scopeStrategy,n)}createFailureResult(e){if(this.options.reportUnresolved)return{resolvedTo:void 0,failureReason:e,confidence:0}}};function ta(e,t,n){return new ea(e,t,n).resolve()}function na(e,t=``){let n=new Map;if(e.length===0||t===``)return n;let r=new Set;for(let i=0;i<e.length;i++){let a=e[i];if(a.type!==`case`||r.has(i))continue;let o=[];for(let n=i+1;n<e.length;n++){let s=e[n];if(s.type!==`case`)break;let c=(n===i+1?a:e[n-1]).span.cleanEnd,l=s.span.cleanStart;if(l-c>80)break;let u=t.substring(c,l);if(u.includes(`[`)&&t[s.span.cleanEnd]===`]`){o.push(n),r.add(n);break}let d=/^[,;]\s*$/.test(u),f=!1;if(!d){let e=u.match(/^,\s*(.+?)\s*[,;]\s*$/);if(e){let t=e[1].split(/\s*,\s*/);f=t.length>0&&t.every(e=>G(e)!==null)}}if(!d&&!f||t.substring(a.span.cleanEnd,s.span.cleanEnd).includes(`)`)||!ia(t,s.span.cleanEnd)&&!ra(t,s.span.cleanEnd))break;o.push(n),r.add(n)}o.length>0&&n.set(i,o)}return n}function ra(e,t){let n=e.slice(t,t+5);return/^\s*[.;](?:\s|$)/.test(n)}function ia(e,t){let n=e.substring(t,t+200),r=n.indexOf(`(`);if(r===-1)return!1;let i=0;for(let e=r;e<n.length;e++)if(n[e]===`(`)i++;else if(n[e]===`)`&&(i--,i===0))return!0;return!1}function aa(e){let t=`fullSpan`in e?e.fullSpan:void 0;return t?t.cleanEnd:e.span.cleanEnd}function $(e){let t=`fullSpan`in e?e.fullSpan:void 0;return t?t.cleanStart:e.span.cleanStart}function oa(e){let t=`fullSpan`in e?e.fullSpan:void 0;return t?t.originalEnd:e.span.originalEnd}function sa(e){let t=`fullSpan`in e?e.fullSpan:void 0;return t?t.originalStart:e.span.originalStart}const ca=la();function la(){return[{regex:/^but\s+cf\.,\s+e\.\s*g\.,?(?=\s|$)/i,signal:`but cf., e.g.`},{regex:/^see\s*,?\s+also,\s+e\.\s*g\.,?(?=\s|$)/i,signal:`see also, e.g.`},{regex:/^but\s+see,\s+e\.\s*g\.,?(?=\s|$)/i,signal:`but see, e.g.`},{regex:/^cf\.,\s+e\.\s*g\.,?(?=\s|$)/i,signal:`cf., e.g.`},{regex:/^see,\s+e\.\s*g\.,?(?=\s|$)/i,signal:`see, e.g.`},{regex:/^see\s+generally\b/i,signal:`see generally`},{regex:/^see\s*,?\s+also\b/i,signal:`see also`},{regex:/^but\s+see\b/i,signal:`but see`},{regex:/^but\s+cf\.?(?=\s|$)/i,signal:`but cf`},{regex:/^compare\b/i,signal:`compare`},{regex:/^accord\b/i,signal:`accord`},{regex:/^contra\b/i,signal:`contra`},{regex:/^see\b/i,signal:`see`},{regex:/^cf\.?(?=\s|$)/i,signal:`cf`},{regex:/^e\.\s*g\.,?(?=\s|$)/i,signal:`e.g.`}].map(({regex:e,signal:t})=>({regex:e,endRegex:RegExp(`${e.source.replace(/^\^/,`(?<![a-z])`)}\\s*$`,e.flags),signal:t}))}function ua(e,t){e.signal=t}function da(e){if(e.type!==`case`)return!1;let t=e;return t.groupId!==void 0&&t.parallelCitations===void 0}function fa(e){let t=e.trimStart();for(let{regex:e,signal:n}of ca){let r=e.exec(t);if(r)return{signal:n,length:r[0].length}}}function pa(e){let t=e.indexOf(`;`);if(t===-1||e.substring(0,t).trim()!==``)return{valid:!1};let n=e.substring(t+1).trim();if(n===``)return{valid:!0};let r=fa(n);return r&&n.substring(r.length).trim()===``?{valid:!0,signal:r.signal}:{valid:!1}}function ma(e,t){if(e.length<2)return;let n=[],r=[];for(let t=0;t<e.length;t++){if(da(e[t]))continue;n.push(t);let i=aa(e[t]),a=e[t].type===`case`?e[t].groupId:void 0;if(a!==void 0)for(let n=t+1;n<e.length;n++){let t=e[n];if(t.type!==`case`||t.groupId!==a||!da(t))break;i=aa(t)}r.push(i)}if(n.length<2)return;let i=[],a=[];for(let o=0;o<n.length-1;o++){let s=n[o],c=n[o+1],l=e[s],u=e[c];if(u.type===`case`&&u.subsequentHistoryOf){a.length>=2&&i.push(a),a=[];continue}if(l.type===`case`&&l.subsequentHistoryOf)continue;let d=r[o],f=$(u);if(f<=d){a.length>=2&&i.push(a),a=[];continue}let p=pa(t.substring(d,f));p.valid?(a.length===0&&a.push(s),a.push(c),p.signal&&!u.signal&&ua(u,p.signal)):(a.length>=2&&i.push(a),a=[])}a.length>=2&&i.push(a);for(let t=0;t<i.length;t++){let n=i[t];if(n.length<2)continue;let r=`sc-${t}`;for(let t=0;t<n.length;t++){let i=e[n[t]];i.stringCitationGroupId=r,i.stringCitationIndex=t,i.stringCitationGroupSize=n.length}}for(let n of i){if(n.length<2)continue;let r=e[n[0]];if(r.signal)continue;let i=Math.max(0,$(r)-60),a=t.substring(i,$(r)).trim();for(let{endRegex:e,signal:t}of ca)if(e.test(a)){ua(r,t);break}}}function ha(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(r.signal&&r.stringCitationGroupId)continue;let i=n>0?aa(e[n-1]):0,a=r.span.cleanStart;if(a<=i)continue;let o=t.substring(i,a),s=[];for(let{signal:e}of ca){let t=e.replace(/\./g,`\\.`).replace(/\s+/g,`\\s+`).replace(/e\\\.g\\\./g,`e\\.\\s*g\\.`).replace(/see\\s\+also/g,`see\\s*,?\\s+also`),n=RegExp(`(?<![a-zA-Z])(${t})(?![a-zA-Z])`,`gi`),r;for(;(r=n.exec(o))!==null;)s.push({signal:e,start:r.index,end:r.index+r[0].length})}if(s.length===0)continue;s.sort((e,t)=>{let n=t.end-e.end;return n===0?t.end-t.start-(e.end-e.start):n});let c=s[0];for(let e of s)e.start<=c.start&&e.end>=c.end&&(c=e);let l=o.substring(c.end).replace(/^[\s,]+/,``);if(l.length>0){let e=l[0];if(e>=`a`&&e<=`z`)continue}o.length-c.end>80||ua(r,c.signal)}}const ga=1750,_a=.1,va=new Set([`i.c.j.`,`u.n.t.s.`,`i.l.m.`,`i.l.r.`,`p.c.i.j.`,`a.c.`,`w.l.r.`,`all e.r.`,`q.b.`,`k.b.`,`ch.`,`co. rep.`,`e.c.r.`,`e.h.r.r.`,`c.m.l.r.`,`edw.`,`usc`,`usca`,`u.s.c.`,`u.s.c.a.`,`cfr`,`c.f.r.`]);function ya(e){if(e.type===`case`||e.type===`shortFormCase`)return e.reporter;if(e.type===`journal`)return e.abbreviation}function ba(e){switch(e.type){case`case`:return e.year;case`journal`:return e.year;case`federalRegister`:return e.year;case`statutesAtLarge`:return e.year;default:return}}const xa=new Set([`court`,`rule`,`section`,`chapter`,`article`,`part`,`title`,`paragraph`,`clause`,`amendment`,`dismissed`,`granted`,`denied`,`filed`,`argued`]),Sa=new Set([`january`,`february`,`march`,`april`,`may`,`june`,`july`,`august`,`september`,`october`,`november`,`december`]),Ca=new Date().getFullYear()+5;function wa(e){if(e.type!==`case`&&e.type!==`shortFormCase`)return!1;let t=e;if(!t.reporter||!Sa.has(t.reporter.toLowerCase().trim()))return!1;let n=typeof t.volume==`number`?t.volume:Number.parseInt(String(t.volume),10);if(Number.isNaN(n)||n<1||n>31)return!1;let r=typeof t.page==`number`?t.page:Number.parseInt(String(t.page),10);return Number.isNaN(r)?!1:r>=1700&&r<=Ca}function Ta(e){if(e.type!==`case`&&e.type!==`shortFormCase`)return!1;let t=e;if(typeof t.volume==`number`&&t.volume===0||typeof t.volume==`number`&&t.volume>999999)return!0;if(e.type===`case`){let e=t;if(typeof e.page==`number`&&e.page===0)return!0}return!1}function Ea(e){if(e.type!==`case`&&e.type!==`shortFormCase`)return!1;let t=e;if(!t.reporter)return!1;let n=t.reporter.toLowerCase().split(/\s+/);return n.length<2?!1:n.some(e=>Sa.has(e))}function Da(e){return!!(e.toLowerCase().split(/\s+/).some(e=>xa.has(e))||!e.includes(`.`)&&e.length>12)}const Oa=new Set(`the.a.an.in.on.at.but.and.for.by.to.with.from.as.if.so.nor.yet.not.no.then.when.where.who.what.how.that.this.these.those.he.she.it.they.we.his.her.its.their.our.was.were.is.are.has.had.been.being.did.does.do.may.shall.will.would.could.should.held.said.found.made.took.gave.see.also.january.february.march.april.june.july.august.september.october.november.december`.split(`.`)),ka=2e3,Aa=1900,ja=2099,Ma=/^\d{1,2}-\d{4,}$/;function Na(e){if(e.type!==`case`&&e.type!==`shortFormCase`)return!1;let t=e;return!(typeof t.volume!=`number`||t.volume<=ka||t.volume>=Aa&&t.volume<=ja)}function Pa(e){if(e.type!==`case`&&e.type!==`shortFormCase`)return!1;let t=e,n=String(t.volume);return Ma.test(n)}function Fa(t){if(t.type!==`case`&&t.type!==`shortFormCase`)return!1;let n=t,r=typeof n.volume==`number`?n.volume:Number.parseInt(String(n.volume),10);if(Number.isNaN(r)||r<1||r>20)return!1;let i=n.reporter;if(!i)return!1;let a=e.s();return a?(a.byAbbreviation.get(i.toLowerCase())??[]).length===0:i.includes(`.`)?!1:i.toLowerCase().split(/\s+/).some(e=>Oa.has(e))}const Ia=/^Fed\.\s?R\./i;function La(e){if(e.type!==`case`&&e.type!==`shortFormCase`)return!1;let t=e;return typeof t.volume!=`number`||t.volume<Aa||t.volume>ja||!t.reporter?!1:Ia.test(t.reporter)}function Ra(e,t){if(!t||e.type!==`case`&&e.type!==`shortFormCase`)return!1;let{originalStart:n,originalEnd:r}=e.span;if(n<0||r>t.length||r<=n)return!1;let i=t.indexOf(`
6
+ `,n);return i!==-1&&i<r}function za(e,t){let n=ya(e);if(n&&va.has(n.toLowerCase().trim())||n&&(e.type===`case`||e.type===`shortFormCase`)&&Da(n)||Na(e)||Pa(e)||Fa(e)||La(e)||Ra(e,t))return!0;let r=ba(e);return r!==void 0&&r<ga}function Ba(e,t){let n=[],r=ya(e);if(r){let t=r.toLowerCase().trim();va.has(t)&&n.push(`Reporter "${r}" is a known non-US source`),(e.type===`case`||e.type===`shortFormCase`)&&Da(r)&&n.push(`Reporter "${r}" contains prose words or is implausibly long`)}if(Na(e)){let t=e;n.push(`Volume ${t.volume} exceeds maximum plausible volume (${ka}) — likely a zip code or other number`)}if(Pa(e)){let t=e;n.push(`Hyphenated volume "${t.volume}" matches docket number pattern — likely a case number, not a citation volume`)}if(Fa(e)){let t=e;n.push(`Small volume (${t.volume}) with unrecognized reporter "${t.reporter}" — likely a paragraph or footnote marker`)}if(La(e)){let t=e;n.push(`Year-shaped volume (${t.volume}) with Fed. R. family reporter "${t.reporter}" — likely a federal-rule citation mis-tokenized as case (issue #582)`)}Ra(e,t)&&n.push(`Citation span crosses a hard line break in the source — likely a section heading, form field, or address mis-tokenized as volume + reporter + page (issue #547)`);let i=ba(e);return i!==void 0&&i<ga&&n.push(`Year ${i} predates US legal reporting (threshold: ${ga})`),n}let Va=!1;function Ha(e,t,n){n===void 0&&!Va&&e.some(e=>e.type===`case`||e.type===`shortFormCase`)&&(Va=!0,console.warn("[eyecite-ts] applyFalsePositiveFilters: called without `originalText` — line-crossing false-positive check (#547) is silently skipped. Pass the original source text as the 3rd argument to enable it. This warning fires only once per process; see issue #606."));let r=e.filter(e=>!wa(e)&&!Ea(e)&&!Ta(e));if(t)return r.filter(e=>!za(e,n));for(let e of r){if(e.confidence===_a&&e.warnings?.length)continue;let t=Ba(e,n);if(t.length>0){e.confidence=_a;let n=t.map(t=>({level:`warning`,message:t,position:{start:e.span.originalStart,end:e.span.originalEnd}}));if(e.warnings=[...e.warnings||[],...n],e.type===`case`){let t=e;t.fullSpan!==void 0&&(t.fullSpan=void 0)}}}return r}const Ua=/^(\S+)\s+(.+)\s+(\d+)$/;function Wa(e,t){let n=performance.now(),{cleaned:r,transformationMap:i,warnings:a}=S(e,t?.cleaners),o;if(t?.detectFootnotes){let t=te(e);t.length>0&&(o=ne(t,i))}let s=Vi.filter(e=>e.id===`usc`||e.id===`cfr`||e.id===`irc`),c=Vi.filter(e=>e.id!==`usc`&&e.id!==`cfr`&&e.id!==`irc`),l=t?.patterns||[...ji,...rn,...xi,...Rt,...Ht,...V,...Ei,...zi,...Di,...Bi,...Ri,...s,...Ti,...ht,...c,...Oi],u=Hi(r,l),d=new Map;for(let e=0;e<l.length;e++){let t=l[e].id;d.has(t)||d.set(t,e)}let f=e=>d.get(e.patternId)??1/0,p=[...u].sort((e,t)=>e.span.cleanStart-t.span.cleanStart||t.span.cleanEnd-e.span.cleanEnd||f(e)-f(t)),m=[];for(let e of p){let t=!1;for(let n of m)if(n.span.cleanStart<=e.span.cleanStart&&n.span.cleanEnd>=e.span.cleanEnd&&!(f(n)>f(e))&&(n.span.cleanStart<e.span.cleanStart||n.span.cleanEnd>e.span.cleanEnd||f(n)<f(e))){t=!0;break}t||m.push(e)}let h=[...m].sort((e,t)=>f(e)-f(t)||e.span.cleanStart-t.span.cleanStart||t.span.cleanEnd-e.span.cleanEnd),g=[];for(let e of h)g.some(t=>f(t)<f(e)&&t.span.cleanStart<e.span.cleanEnd&&t.span.cleanEnd>e.span.cleanStart)||g.push(e);let _=g.sort((e,t)=>e.span.cleanStart-t.span.cleanStart||t.span.cleanEnd-e.span.cleanEnd),v=na(_,r),y=new Map;for(let[e,t]of v.entries())for(let n of t)y.set(n,e);let b=_.filter(e=>e.type===`case`).map(e=>({cleanStart:e.span.cleanStart,cleanEnd:e.span.cleanEnd})),x=[];for(let t=0;t<_.length;t++){let o=_[t],s;switch(o.type){case`case`:s=o.patternId===`id`||o.patternId===`ibid`?hn(o,i,r):o.patternId===`supra`?gn(o,i,r):o.patternId===`shortFormCase`?_n(o,i,r):dt(o,i,r,e,b);break;case`docket`:{let t=wt(o,i,r,e);if(!t)continue;s=t;break}case`statute`:s=oi(o,i);break;case`journal`:{let e=Nt(o,i,r),t=e.journal,n=t.split(/\s+/);if(n.length>=2&&!t.includes(`.`)&&!n.some(e=>e.length<=2))continue;s=e;break}case`neutral`:s=qt(o,i,r);break;case`publicLaw`:s=Jt(o,i);break;case`federalRegister`:s=Tt(o,i,r);break;case`statutesAtLarge`:s=ci(o,i,r);break;case`sessionLaw`:s=cn(o,i);break;case`treaty`:s=Ci(o,i);break;case`legislativeMaterial`:s=zt(o,i);break;case`localOrdinance`:s=Ut(o,i);break;case`canon`:s=oe(o,i);break;case`constitutional`:s=Ct(o,i);break;case`federalRule`:s=kt(o,i);break;case`stateRule`:s=Mt(o,i);break;case`restatement`:s=Zt(o,i);break;case`treatise`:s=gi(o,i);break;case`annotation`:s=B(o,i);break;default:continue}if(a.length>0&&(s.warnings=[...s.warnings||[],...a]),s.processTimeMs=performance.now()-n,s.type===`case`){let e=v.has(t),n=y.has(t);if(e||n){let r=_[n?y.get(t)??t:t],i=Ua.exec(r.text);if(i){let[,n,r,a]=i;if(s.groupId=`${n}-${r.replace(/\s+/g,`.`)}-${a}`,e){let e=v.get(t)??[];s.parallelCitations=e.map(e=>{let t=_[e],n=Ua.exec(t.text);if(n){let[,e,t,r]=n;return{volume:/^\d+$/.test(e)?Number.parseInt(e,10):e,reporter:t,page:Number.parseInt(r,10)}}return{volume:0,reporter:``,page:0}})}}}}x.push(s)}qa(x,r,i),po(x,i),uo(x,r,i),fo(x,r,i),mo(x,r,i),Xa(x),Za(x),_o(x),eo(x,r),co(x,r),ao(x,r),ho(x,r,i),ma(x,r),ha(x,r),Ka(x,r);let C=Ha(x,t?.filterFalsePositives??!1,e);return o&&N(C,o),t?.resolve?ta(C,e,o?{...t.resolutionOptions,footnoteMap:o}:t.resolutionOptions):C}async function Ga(e,t){return Wa(e,t)}function Ka(e,t){for(let n=0;n<e.length-1;n++){let r=e[n],i=e[n+1];if(r.signal!==`compare`||i.signal)continue;let a=t.slice(r.span.cleanEnd,i.span.cleanStart);/\bwith\b/i.test(a)&&(i.signal=`compare`)}}function qa(e,t,n){let r=[],i=/^\s*;\s*((?:art(?:icle)?\.?|amend(?:ment)?\.?|amdt\.?)\s+([IVX]+|\d+))(?:[,;]?\s*§\s*([\w-]+))?(?:[,;]?\s*cl\.?\s*(\d+))?/i,a=/^\s*(?:,|and)\s+([IVX]+|\d+)\b/;for(let o of e){if(o.type!==`constitutional`)continue;let e=o.jurisdiction;if(!e)continue;let c=o.amendment!==void 0,l=o.article!==void 0,u=o.span.cleanEnd;for(;u<t.length;){let d=t.slice(u),f=i.exec(d),p=!f&&(c||l)?a.exec(d):null;if(!f&&!p)break;if(f){let i=f[0],a=f[1],c=f[2],l=f[3],d=f[4],p=/^amend|^amdt/i.test(a),m=Ya(c);if(m===void 0)break;let h=u+i.indexOf(a),g=u+i.length,{originalStart:_,originalEnd:v}=s({cleanStart:h,cleanEnd:g},n),y={type:`constitutional`,text:t.slice(h,g),span:{cleanStart:h,cleanEnd:g,originalStart:_,originalEnd:v},confidence:o.confidence,matchedText:t.slice(h,g),processTimeMs:0,patternsChecked:1,jurisdiction:e,...p?{amendment:m}:{article:m},...l?{section:l}:{},...d?{clause:Number.parseInt(d,10)}:{}};r.push(y),u=g}else if(p){let i=p[0],a=p[1],l=Ya(a);if(l===void 0)break;let d=u+i.indexOf(a),f=u+i.length,{originalStart:m,originalEnd:h}=s({cleanStart:d,cleanEnd:f},n),g={type:`constitutional`,text:t.slice(d,f),span:{cleanStart:d,cleanEnd:f,originalStart:m,originalEnd:h},confidence:o.confidence,matchedText:t.slice(d,f),processTimeMs:0,patternsChecked:1,jurisdiction:e,...c?{amendment:l}:{article:l}};r.push(g),u=f}}}e.push(...r)}const Ja={first:1,second:2,third:3,fourth:4,fifth:5,sixth:6,seventh:7,eighth:8,ninth:9,tenth:10};function Ya(e){if(!e)return;if(/^\d+$/.test(e))return Number.parseInt(e,10);let t=e.toLowerCase();if(t in Ja)return Ja[t];if(/^[IVX]+$/i.test(e)){let t={I:1,V:5,X:10},n=0,r=0;for(let i of e.toUpperCase()){let e=t[i]??0;e>r?n+=e-2*r:n+=e,r=e}return n>0?n:void 0}}function Xa(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];if(r.type!==`case`||!r.subsequentHistoryEntries)continue;let i=r.subsequentHistoryEntries,a=0;for(let r=n+1;r<e.length&&a<i.length;r++){let o=e[r];if(o.type!==`case`)continue;let s=i[a].signalSpan.cleanEnd;o.span.cleanStart>=s&&(t.push({parentIdx:n,childIdx:r,signal:i[a].signal}),a++)}}if(t.length===0)return;let n=new Map;for(let e of t){let t=n.get(e.childIdx);(!t||e.parentIdx<t.parentIdx)&&n.set(e.childIdx,{parentIdx:e.parentIdx,signal:e.signal})}for(let[t,{parentIdx:r,signal:i}]of n){let n=e[t];n.type===`case`&&(n.subsequentHistoryOf={index:r,signal:i})}}function Za(e){let t=!0,n=0,r=e.length+1;for(;t&&n<r;){t=!1,n++;for(let n of e){if(n.type!==`case`||!n.subsequentHistoryOf||n.caseName)continue;let r=e[n.subsequentHistoryOf.index];!r||r.type!==`case`||r.caseName&&(n.caseName=r.caseName,n.plaintiff=r.plaintiff,n.defendant=r.defendant,n.plaintiffNormalized=r.plaintiffNormalized,n.defendantNormalized=r.defendantNormalized,n.proceduralPrefix=r.proceduralPrefix,n.spans&&(n.spans.caseName=void 0,n.spans.plaintiff=void 0,n.spans.defendant=void 0),n.fullSpan&&={cleanStart:n.span.cleanStart,cleanEnd:n.fullSpan.cleanEnd,originalStart:n.span.originalStart,originalEnd:n.fullSpan.originalEnd},n.confidence=De({reporter:n.reporter,year:n.year,caseName:n.caseName,court:n.court,hasBlankPage:n.hasBlankPage??!1}),t=!0)}}}const Qa=/^\s*(?:,\s*(?:at\s+)?\d+(?:-\d+)?\s*)?\(\s*([A-Z][A-Za-z]+\.?(?:\s+[A-Z][A-Za-z]+\.?)?)?\s*(\d{4})(?:-\d{2,4})?\s*([A-Z][A-Za-z]+\.?(?:\s+[A-Z][A-Za-z]+\.?)?)?\s*\)/,$a=/^(?:Repl|Supp|Cum\.?\s*Supp|Reissue)\.?$/i;function eo(e,t){for(let n of e){if(n.type!==`statute`&&n.type!==`regulation`||n.year!==void 0)continue;let e=t.slice(n.span.cleanEnd),r=Qa.exec(e);if(!r)continue;let[,i,a,o]=r;n.year=Number.parseInt(a,10);let s=i??o;s&&($a.test(s)?n.editionLabel=s.replace(/\s+/g,` `).trim():n.publisher=s)}}const to={WV:{jurisdiction:`WV`,code:`W. Va. Code`},CO:{jurisdiction:`CO`,code:`C.R.S.`},MT:{jurisdiction:`MT`,code:`MCA`}},no=/\bD\.\s*C\.|\bDistrict\s+of\s+Columbia\b/,ro=/\bVa\.|\bVirginia\b/;function io(e,t){let n=Math.max(0,t-400),r=e.slice(n,t),i=-1,a=-1;for(let e of r.matchAll(new RegExp(no,`g`)))e.index!==void 0&&e.index>i&&(i=e.index);for(let e of r.matchAll(new RegExp(ro,`g`)))e.index!==void 0&&e.index>a&&(a=e.index);return i<0&&a<0?null:i>a?`DC`:`VA`}function ao(e,t){for(let n of e)n.type===`statute`&&/^Code\s+§/.test(n.matchedText)&&(n.jurisdiction!==`VA`&&n.jurisdiction!==`GA`||io(t,n.span.cleanStart)===`DC`&&(n.code=`D.C. Code`,n.jurisdiction=`DC`))}const oo=/\bNMSA\b|\bN\.\s*M\.|\bNew\s+Mexico\b/;function so(e,t){let n=Math.max(0,t-200),r=e.slice(n,t);return oo.test(r)}function co(e,t){let n=null;for(let r of e){if(r.type!==`statute`)continue;if(!/^(?:§|Section\s)/.test(r.matchedText)){let e=r.jurisdiction;e&&to[e]?n=to[e]:e===`NM`&&(n=null);continue}if(r.jurisdiction!==`NM`||r.code!==`NMSA 1978`)continue;let e=t.slice(r.span.cleanEnd,r.span.cleanEnd+200),i=e.search(/[.;](?:\s|$)/),a=i>=0?e.slice(0,i):e;if(/,\s*M\.?\s*C\.?\s*A\.?\b/.test(a)){r.jurisdiction=`MT`,r.code=`MCA`;continue}if(n){r.jurisdiction=n.jurisdiction,r.code=n.code;continue}so(t,r.span.cleanStart)||(r.jurisdiction=void 0,r.code=void 0)}}const lo=new Set([`the`,`and`,`but`,`for`,`see`,`see also`,`cf`,`but see`,`but cf`,`compare`,`accord`,`state`,`people`,`court`,`plaintiff`,`defendant`,`appellant`,`appellee`,`petitioner`,`respondent`,`united states`]);function uo(e,t,n){let r=`\\d[\\w-]*(?:\\.[\\d\\w-]+)*(?:\\([A-Za-z0-9]+\\))*`,i=RegExp(`(?:\\b(Code(?:\\s+Ann\\.?)?)\\s+)?§§\\s+(${r})(?=\\s*(?:,\\s*|\\s+and\\s+|\\s+to\\s+)${r})`,`g`),a=[],o;for(;(o=i.exec(t))!==null;){let t=o[0],r=o[1],i=o[2],c=o.index,l=c+t.length;if(go(e,c,l))continue;let u=c+t.length-i.length,d=l,{originalStart:f,originalEnd:p}=s({cleanStart:c,cleanEnd:l},n),m=s({cleanStart:u,cleanEnd:d},n),h=r?r.replace(/\s+/g,` `).trim():`§`,g={type:`statute`,text:t,span:{cleanStart:c,cleanEnd:l,originalStart:f,originalEnd:p},confidence:h===`§`?.3:.5,matchedText:t,processTimeMs:0,patternsChecked:1,code:h,section:i,spans:{section:{cleanStart:u,cleanEnd:d,originalStart:m.originalStart,originalEnd:m.originalEnd}}};a.push(g)}a.length!==0&&(e.push(...a),e.sort((e,t)=>e.span.cleanStart-t.span.cleanStart))}function fo(e,t,n){let r=RegExp(`^(\\s*,\\s*|\\s+and\\s+|\\s+to\\s+)(\\d[\\w-]*(?:\\.[\\d\\w-]+)*(?:\\([A-Za-z0-9]+\\))*)`),i=/^\s*et\s+seq\.?/i,a=[];for(let o of e){if(o.type!==`statute`||!o.matchedText.includes(`§§`))continue;let e=o.span.cleanEnd;for(;e<t.length;){let c=t.slice(e),l=r.exec(c);if(!l)break;let u=l[0].length,d=l[1],f=l[2],p=e+u-f.length,m=e+u;if(/^\s+to\s+$/.test(d)){let r=typeof o.section==`string`?o.section:void 0;r&&(o.sectionRange={start:r,end:f},o.matchedText=t.slice(o.span.cleanStart,m),o.text=t.slice(o.span.cleanStart,m),o.span={cleanStart:o.span.cleanStart,cleanEnd:m,originalStart:o.span.originalStart,originalEnd:s({cleanStart:o.span.cleanStart,cleanEnd:m},n).originalEnd}),e=m;continue}let{originalStart:h,originalEnd:g}=s({cleanStart:p,cleanEnd:m},n),_=t.slice(m,m+20),v=i.test(_),y={...o,text:f,matchedText:f,section:f,sectionRange:void 0,span:{cleanStart:p,cleanEnd:m,originalStart:h,originalEnd:g},subsection:void 0,pincite:void 0,hasEtSeq:v||void 0,spans:void 0};a.push(y),e=m}}a.length!==0&&(e.push(...a),e.sort((e,t)=>e.span.cleanStart-t.span.cleanStart))}function po(e,t){let n=/^Sections\s+(\d+(?:[\s,]+(?:and\s+)?\d+)+)\s+of\s+Article\b/i,r=[];for(let i of e){if(i.type!==`constitutional`)continue;let e=n.exec(i.text);if(!e)continue;let a=e[1],o=i.text.indexOf(a);if(o<0)continue;let c=i.article,l=i.jurisdiction,u=/\d+/g,d,f=!0;for(;(d=u.exec(a))!==null;){if(f){f=!1;continue}let e=i.span.cleanStart+o+d.index,n=e+d[0].length,{originalStart:a,originalEnd:u}=s({cleanStart:e,cleanEnd:n},t);r.push({type:`constitutional`,text:d[0],span:{cleanStart:e,cleanEnd:n,originalStart:a,originalEnd:u},confidence:i.confidence,matchedText:d[0],processTimeMs:0,patternsChecked:1,section:d[0],...c===void 0?{}:{article:c},...l?{jurisdiction:l}:{}})}}r.length!==0&&(e.push(...r),e.sort((e,t)=>e.span.cleanStart-t.span.cleanStart))}function mo(e,t,n){let r=/(?<![A-Za-z\d-])§\s*(\d[\w]*(?:\.[\w]+)*(?:\([A-Za-z0-9.]+\))*(?:,?\s+(?:subd\.|subdivision|subds\.|subdivisions|paragraphs?|pars?\.)\s+(?:\([^)]*\)|\[[^\]]*\])(?:\s*(?:\([^)]*\)|\[[^\]]*\]))*)?(?:\s*[-–—]\s*\([A-Za-z0-9]+\))?)/g,i=[];for(let a=0;a<e.length;a++){let o=e[a];if(o.type!==`statute`||!o.code||o.code===`NMSA 1978`)continue;let c=o.span.cleanEnd,l=Math.min(c+300,t.length);for(let t=a+1;t<e.length;t++){let n=e[t];n.span.cleanStart>=c&&n.span.cleanStart<l&&(l=n.span.cleanStart)}if(l<=c)continue;let u=t.slice(c,l);r.lastIndex=0;let d;for(;(d=r.exec(u))!==null;){let t=c+d.index,r=t+d[0].length;if(go(e,t,r))continue;let a=d[1];if(/^\d+[A-Z]?-\d+[A-Z]?-\d+/.test(a))continue;let{originalStart:l,originalEnd:u}=s({cleanStart:t,cleanEnd:r},n),f=Q(a),p={type:`statute`,text:d[0],span:{cleanStart:t,cleanEnd:r,originalStart:l,originalEnd:u},confidence:Math.max(.6,o.confidence-.1),matchedText:d[0],processTimeMs:0,patternsChecked:1,title:o.title,code:o.code,section:f.section,subsection:f.subsection,subsectionRange:f.subsection&&f.subsectionRangeEnd?{start:f.subsection,end:f.subsectionRangeEnd}:void 0,jurisdiction:o.jurisdiction};i.push(p)}}i.length!==0&&(e.push(...i),e.sort((e,t)=>e.span.cleanStart-t.span.cleanStart))}function ho(e,t,n){let r=e=>{let t=e.trim();return t=t.replace(/^(?:In\s+re|Estate\s+of|Ex\s+parte|Matter\s+of|Application\s+of)\s+/i,``),t=t.replace(/^(?:But\s+(?:see|cf\.?)|See(?:\s+also)?|Compare|Cf\.?|Accord|E\.\s*g\.?|Also|Then)\s+/,``),t.trim()},i=[],a=new Set,o=(e,t,n)=>{let r=t.trim();if(r.length<3)return;let o=(n??r.toLowerCase()).trim();if(lo.has(o))return;let s=`${e.span.cleanStart}:${r}`;a.has(s)||(a.add(s),i.push({cite:e,name:r,normalized:o}))};for(let t of e)if(t.type===`case`){if(t.plaintiff){o(t,t.plaintiff,t.plaintiffNormalized);let e=r(t.plaintiff);e&&e!==t.plaintiff&&o(t,e,e.toLowerCase())}if(t.defendant){o(t,t.defendant,t.defendantNormalized);let e=r(t.defendant);e&&e!==t.defendant&&o(t,e,e.toLowerCase())}}if(i.length===0)return;let c=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),l=new Map;for(let e of i){let t=l.get(e.name)??[];t.push(e),l.set(e.name,t)}for(let e of l.values())e.sort((e,t)=>e.cite.span.cleanStart-t.cite.span.cleanStart);let u=[],d=new Set;for(let[r,i]of l){let a=c(r),o=RegExp(`(?<![A-Za-z'])(${a})\\s*,\\s*at\\s+(?:pp?\\.?\\s*|pages?\\s+)?(\\d+(?:[-\\u2013\\u2014]\\d+)?(?:,\\s*\\d+(?:[-\\u2013\\u2014]\\d+)?)*)`,`g`),l;for(;(l=o.exec(t))!==null;){let t=l.index,r=t+l[0].length,a;for(let e of i){if(e.cite.span.cleanEnd>t)break;a=e}if(!a||go(e,t,r))continue;let o=`${t}-${r}`;if(d.has(o))continue;d.add(o);let c=G(l[2].split(`,`)[0].trim())??void 0,f=c?.page,{originalStart:p,originalEnd:m}=s({cleanStart:t,cleanEnd:r},n),h=typeof a.cite.page==`number`?a.cite.page:Number.parseInt(String(a.cite.page),10)||void 0;u.push({type:`shortFormCase`,text:l[0],matchedText:l[0],confidence:.85,processTimeMs:0,patternsChecked:0,span:{cleanStart:t,cleanEnd:r,originalStart:p,originalEnd:m},volume:a.cite.volume,reporter:a.cite.reporter,page:h,pincite:f,pinciteInfo:c,partyName:l[1],partyNameNormalized:a.normalized})}}u.length!==0&&(e.push(...u),e.sort((e,t)=>e.span.cleanStart-t.span.cleanStart))}function go(e,t,n){for(let r of e)if(!(r.span.cleanEnd<=t)&&!(r.span.cleanStart>=n))return!0;return!1}function _o(e){let t=new Map;for(let n=0;n<e.length;n++){let r=e[n];r.type===`case`&&(!r.groupId||!r.caseName||t.has(r.groupId)||t.set(r.groupId,n))}for(let n of e){if(n.type!==`case`||!n.groupId||n.caseName)continue;let r=t.get(n.groupId);if(r===void 0)continue;let i=e[r];!i||i.type!==`case`||(n.caseName=i.caseName,n.plaintiff=i.plaintiff,n.defendant=i.defendant,n.plaintiffNormalized=i.plaintiffNormalized,n.defendantNormalized=i.defendantNormalized,n.proceduralPrefix=i.proceduralPrefix,n.confidence=De({reporter:n.reporter,year:n.year,caseName:n.caseName,court:n.court,hasBlankPage:n.hasBlankPage??!1}))}}function vo(e,t){let n=e.map((e,t)=>t),r=[],i=new Set;function a(e){if(e.from===e.to)return;let t=`${e.type}|${e.from}|${e.to}`;i.has(t)||(i.add(t),r.push(e))}for(let t=0;t<e.length;t++){let n=e[t];n.resolution?.resolvedTo!==void 0&&a({type:`resolves-to`,from:t,to:n.resolution.resolvedTo,confidence:n.resolution.confidence??1,...n.resolution.warnings?{warnings:n.resolution.warnings}:{}}),n.resolution?.antecedentIndex!==void 0&&a({type:`antecedent`,from:t,to:n.resolution.antecedentIndex}),n.subsequentHistoryOf&&a({type:`history-of`,from:t,to:n.subsequentHistoryOf.index,signal:n.subsequentHistoryOf.signal}),n.pinciteInheritedFrom!==void 0&&a({type:`pincite-inherit`,from:t,to:n.pinciteInheritedFrom})}let o=new Map;for(let t=0;t<e.length;t++){let n=e[t];if(n.type!==`case`)continue;let r=n.groupId;if(!r)continue;let i=o.get(r)??[];i.push(t),o.set(r,i)}for(let[e,t]of o)for(let n=0;n<t.length;n++)for(let r=n+1;r<t.length;r++)a({type:`parallel`,from:t[n],to:t[r],groupId:e});let s=new Map;for(let t=0;t<e.length;t++){let n=e[t];if(!n.stringCitationGroupId)continue;let r=s.get(n.stringCitationGroupId)??[];r.push({idx:t,position:n.stringCitationIndex??0}),s.set(n.stringCitationGroupId,r)}for(let[e,t]of s){t.sort((e,t)=>e.position-t.position);for(let n=0;n<t.length-1;n++)a({type:`string-cite`,from:t[n].idx,to:t[n+1].idx,groupId:e,position:t[n].position})}for(let n=0;n<e.length;n++)if(!(t[n]<=0)){for(let e=n-1;e>=0;e--)if(t[e]<t[n]){a({type:`in-parenthetical-of`,from:n,to:e});break}}return r.sort((e,t)=>e.from===t.from?e.type===t.type?e.to-t.to:e.type<t.type?-1:1:e.from-t.from),{nodes:n,edges:r}}function yo(e){let t=new Map;for(let n=0;n<e.length;n++){let r=e[n];if(!r.inFootnote||r.footnoteNumber===void 0)continue;let i=t.get(r.footnoteNumber)??[];i.push(n),t.set(r.footnoteNumber,i)}if(t.size===0)return;let n=[];for(let[r,i]of t){let t=1/0,a=0;for(let n of i)t=Math.min(t,e[n].span.originalStart),a=Math.max(a,e[n].span.originalEnd);n.push({start:t,end:a,footnoteNumber:r,citationIndices:i})}return n.sort((e,t)=>e.start-t.start),n}function bo(e,t,n){let r=[],i=new Map,a=new Map;if(t.length===0)return e.length>0&&r.push(xo(0,e.length,0,e.length)),{proseSpans:r,precedingProse:i,followingProse:a};let o=t.map((e,t)=>({c:e,originalIndex:t}));o.sort((e,t)=>$(e.c)-$(t.c));let s=0,c=0;for(let{c:e,originalIndex:t}of o){let n=$(e),a=aa(e),o=sa(e),l=oa(e);if(n>s){let e=xo(s,n,c,o);r.push(e),i.set(t,e)}a>s&&(s=a,c=l)}if(s<e.length||c<e.length){let t=xo(s,s+(e.length-c),c,e.length);r.push(t);let n=o[o.length-1].originalIndex;a.set(n,t)}for(let e=0;e<o.length-1;e++){let t=o[e+1].originalIndex,n=i.get(t);n&&a.set(o[e].originalIndex,n)}return{proseSpans:r,precedingProse:i,followingProse:a}}function xo(e,t,n,r){return{cleanStart:e,cleanEnd:t,originalStart:n,originalEnd:r}}function So(e,t,n){let r=[];for(let i of t){let t=Co(e,i),a={cleanStart:i.start,cleanEnd:i.end,originalStart:i.start,originalEnd:i.end},o=Oo(e,i,n);if(o!==void 0){r.push({quoteSpan:a,quoteText:t,citationIndex:o,attributionKind:`parenthetical`,confidence:.95});continue}if(wo(e,i)){let e=To(i,n);if(e!==void 0){let n=e.distance;r.push({quoteSpan:a,quoteText:t,citationIndex:e.index,attributionKind:`block-quote`,confidence:n<50?.98:.9});continue}}else{let o=Eo(e,i,n);if(o!==void 0){r.push({quoteSpan:a,quoteText:t,citationIndex:o,attributionKind:`adjacent`,confidence:.85});continue}}r.push({quoteSpan:a,quoteText:t})}return r}function Co(e,t){let n=e.slice(t.start,t.end);return/^\s*>/m.test(n)?n.split(/\r?\n/).map(e=>e.replace(/^\s*>\s?/,``)).join(`
7
+ `).trim():e.slice(t.start+1,t.end-1)}function wo(e,t){let n=e.slice(t.start,t.end);return!!(/^>\s/m.test(n)||n.split(/\s+/).filter(e=>e.length>0).length>=50)}function To(e,t){for(let n=0;n<t.length;n++){let r=t[n].span.originalStart;if(r<=e.end)continue;let i=r-e.end;return i>200?void 0:{index:n,distance:i}}}function Eo(e,t,n){for(let r=0;r<n.length;r++){let i=n[r].span.originalStart;if(!(i<=t.end))return i-t.end>100||Do(e.slice(t.end,i))?void 0:r}}function Do(e){let t=/^(?:v|vs|[A-Za-z]|Inc|Co|Corp|Ltd|Mr|Mrs|Ms|Dr|St|Jr|Sr|No)$/,n=/\.\s+[A-Z]/g,r;for(r=n.exec(e);r!==null;){let i=r.index,a=i;for(;a>0&&/[A-Za-z]/.test(e[a-1]);)a--;let o=e.slice(a,i);if(!t.test(o))return!0;r=n.exec(e)}return!1}function Oo(e,t,n){for(let r=0;r<n.length;r++){let i=n[r];if(t.start<=i.span.originalEnd)continue;let a=0,o=-1,s=!1;for(let n=i.span.originalEnd;n<e.length&&!s;n++){let i=e[n];if(i===`(`)a===0&&(o=n),a++;else if(i===`)`)if(a--,a===0&&o!==-1){if(t.start>=o&&t.end<=n+1)return r;o=-1}else a<0&&(s=!0);else a===0&&!/\s/.test(i)&&(s=!0)}}}function ko(e,t,n){let r=Gi(e,t),i=Wi(e),a=bo(e,t,n?.transformationMap),o=vo(t,r),s=So(e,i,t),c=yo(t);return{citations:t,proseSpans:a.proseSpans,precedingProse:a.precedingProse,followingProse:a.followingProse,quoteAttributions:s,citationGraph:o,...c?{footnoteZones:c}:{}}}exports.DocumentResolver=ea,exports.analyzeDocument=ko,exports.applyFalsePositiveFilters=Ha,exports.assertUnreachable=a,exports.cleanText=S,exports.detectFootnotes=te,exports.extractAnnotation=B,exports.extractCase=dt,exports.extractCitations=Wa,exports.extractCitationsAsync=Ga,exports.extractConstitutional=Ct,exports.extractFederalRegister=Tt,exports.extractFederalRule=kt,exports.extractJournal=Nt,exports.extractNeutral=qt,exports.extractPublicLaw=Jt,exports.extractRestatement=Zt,exports.extractStatute=oi,exports.extractStatutesAtLarge=ci,exports.extractTreatise=gi,exports.isCaseCitation=r,exports.isCitationType=i,exports.isFullCitation=t,exports.isShortFormCitation=n,exports.normalizeCourt=pe,exports.parsePincite=G,exports.resolveCitations=ta,exports.spanFromGroupIndex=o,exports.tokenize=Hi;
8
8
  //# sourceMappingURL=index.cjs.map