UNPKG

bible-passage-reference-parser

Version:

Identifies and parses Bible references (like John 3:16) in over 40 languages.

7 lines 150 kB
if (typeof module === "undefined") { var module = {}; } "use strict";var At=Object.defineProperty;var xn=Object.getOwnPropertyDescriptor;var mn=Object.getOwnPropertyNames;var yn=Object.prototype.hasOwnProperty;var $n=(b,n)=>{for(var e in n)At(b,e,{get:n[e],enumerable:!0})},In=(b,n,e,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let l of mn(n))!yn.call(b,l)&&l!==e&&At(b,l,{get:()=>n[l],enumerable:!(o=xn(n,l))||o.enumerable});return b};var kn=b=>In(At({},"__esModule",{value:!0}),b);var Mn={};$n(Mn,{bcv_parser:()=>Bt});module.exports=kn(Mn);var ns=class extends SyntaxError{constructor(n,e,o,l){super(n),this.expected=e,this.found=o,this.location=l,this.name="SyntaxError"}format(n){let e="Error: "+this.message;if(this.location){let o=null,l=n.find(v=>v.source===this.location.source);l&&(o=l.text.split(/\r\n|\n|\r/g));let c=this.location.start,p=this.location.source&&typeof this.location.source.offset=="function"?this.location.source.offset(c):c,_=this.location.source+":"+p.line+":"+p.column;if(o){let v=this.location.end,I="".padEnd(p.line.toString().length," "),P=o[c.line-1],y=(c.line===v.line?v.column:P.length+1)-c.column||1;e+=` --> `+_+` `+I+` | `+p.line+" | "+P+` `+I+" | "+"".padEnd(c.column-1," ")+"".padEnd(y,"^")}else e+=` at `+_}return e}static buildMessage(n,e){function o(y){return y.codePointAt(0).toString(16).toUpperCase()}let l=Object.prototype.hasOwnProperty.call(RegExp.prototype,"unicode")?new RegExp("[\\p{C}\\p{Mn}\\p{Mc}]","gu"):null;function c(y){return l?y.replace(l,C=>"\\u{"+o(C)+"}"):y}function p(y){return c(y.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,C=>"\\x0"+o(C)).replace(/[\x10-\x1F\x7F-\x9F]/g,C=>"\\x"+o(C)))}function _(y){return c(y.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,C=>"\\x0"+o(C)).replace(/[\x10-\x1F\x7F-\x9F]/g,C=>"\\x"+o(C)))}let v={literal(y){return'"'+p(y.text)+'"'},class(y){let C=y.parts.map(A=>Array.isArray(A)?_(A[0])+"-"+_(A[1]):_(A));return"["+(y.inverted?"^":"")+C.join("")+"]"+(y.unicode?"u":"")},any(){return"any character"},end(){return"end of input"},other(y){return y.description}};function I(y){return v[y.type](y)}function P(y){let C=y.map(I);if(C.sort(),C.length>0){let A=1;for(let Q=1;Q<C.length;Q++)C[Q-1]!==C[Q]&&(C[A]=C[Q],A++);C.length=A}switch(C.length){case 1:return C[0];case 2:return C[0]+" or "+C[1];default:return C.slice(0,-1).join(", ")+", or "+C[C.length-1]}}function S(y){return y?'"'+p(y)+'"':"end of input"}return"Expected "+P(n)+" but "+S(e)+" found."}};function Rt(b,n){n=n!==void 0?n:{};let e={},o=n.grammarSource,l={start:Ue},c=Ue,p="(",_=")",v="",I="/",P=",",S=".",y="-",C="$ordinal",A="/1",Q="$ff_value",Vt="$next_value",Fe="/9",Be="/2",Re=".1",Ot="$ab",zt="$c_explicit_value",qt="$c_sep_value",Nt="$v_explicit_value",Gt="$cv_sep",Kt="$cv_sep_weak",Ve="$sequence_sep_value",Yt="$range_sep",Ht="$title_value",jt="$in_book_of",Oe="",Dt="$integer_value",Ut="$space",cs=/^[1-8]/,Ie=/^[0-9]/,ze=/^[([]/,fs=/^[)\]]/,qe=/^[^\x1F\x1E([]/,us=E("(",!1),hs=E(")",!1),re=E("",!1),ps=E("/",!1),gs=oe([["1","8"]],!1,!1,!1),ke=E(",",!1),Ce=E(".",!1),Ee=E("-",!1),Wt=E("$ordinal",!1),ds=E("/1",!1),Zt=E("$ff_value",!1),Xt=E("$next_value",!1),_s=E("/9",!1),bs=E("/2",!1),vs=E(".1",!1),we=oe([["0","9"]],!1,!1,!1),Qt=E("$ab",!1),en=E("$c_explicit_value",!1),sn=E("$c_sep_value",!1),tn=E("$v_explicit_value",!1),nn=E("$cv_sep",!1),rn=E("$cv_sep_weak",!1),xs=E("$sequence_sep_value",!1),an=E("$range_sep",!1),on=E("$title_value",!1),ln=E("$in_book_of",!1),Ne=oe(["(","["],!1,!1,!1),ms=oe([")","]"],!1,!1,!1),Ge=E("",!1),cn=E("$integer_value",!1),Ke=oe(["","","(","["],!0,!1,!1),fn=E("$space",!1);function Ye(s,t,r){return t&&t.type&&t.type==="c_explicit"&&(r.explicit_context="c"),[r]}function ys(s,t){t.unshift([s]);let r=$();return{type:"sequence",value:t,indices:[r.start,r.end-1]}}function He(s,t,r,a){return r&&r.type&&r.type==="c_explicit"&&(a.explicit_context="c"),[a]}function $s(s,t,r){typeof r>"u"&&(r=[]),s&&s.type&&s.type==="c_explicit"&&(t.explicit_context="c"),r.unshift([t]);let a=$();return{type:"sequence_post_enclosed",value:r,indices:[a.start,a.end-1]}}function Is(s,t){s.length&&s.length===2&&(s=s[0]);let r=$();return{type:"range",value:[s,t],indices:[r.start,r.end-1]}}function ks(s){let t=$();return{type:"b",value:s.value,indices:[t.start,t.end-1]}}function Cs(s,t){let r=$();return{type:"bc",value:[s,t],indices:[r.start,r.end-1]}}function Es(s,t){let r=$();return{type:"bc",value:[s,t],indices:[r.start,r.end-1]}}function ws(s){return s.value[1].value[0].partial==null}function Ps(s,t){let r=$();return{type:"bc_title",value:[s,t],indices:[r.start,r.end-1]}}function Ms(s,t){let r=$();return{type:"bcv",value:[s,t],indices:[r.start,r.end-1]}}function Ss(s){return s.value[1].value[0].partial==null}function Ts(s,t){let r=$();return{type:"bcv",value:[s,t],indices:[r.start,r.end-1]}}function Ls(s){return s.value[1].value[0].partial==null}function Js(s,t){let r=$();return{type:"bcv",value:[s,t],indices:[r.start,r.end-1]}}function As(s,t){return t.value[0].partial==null}function Fs(s,t,r,a){let f=$();return{type:"range",value:[{type:"bcv",value:[{type:"bc",value:[s,t],indices:[s.indices[0],t.indices[1]]},r],indices:[s.indices[0],r.indices[1]]},a],indices:[f.start,f.end-1]}}function Bs(s,t){let r=$();return{type:"bv",value:[s,t],indices:[r.start,r.end-1]}}function Rs(s){let t=$();return{type:"c",value:[s],indices:[t.start,t.end-1]}}function Vs(s){return s.value[0].partial==null}function Os(s,t){let r=$();return{type:"bc",value:[t,s],indices:[r.start,r.end-1]}}function zs(s){return s.value[0].partial==null}function qs(s,t,r){let a=$();return{type:"cb_range",value:[r,s,t],indices:[a.start,a.end-1]}}function Ns(s,t){let r=$();return{type:"bcv",value:[s,t],indices:[r.start,r.end-1]}}function Gs(s,t){let r=$();return{type:"bc",value:[t,s],indices:[r.start,r.end-1]}}function Ks(s,t){let r=$();return{type:"bcv",value:[s,t],indices:[r.start,r.end-1]}}function Ys(s){let t=$();return{type:"c_psalm",value:s.value,indices:[t.start,t.end-1]}}function Hs(s,t){let r=$();return{type:"cv_psalm",value:[s,t],indices:[r.start,r.end-1]}}function js(s){return s.value[0].partial==null}function Ds(s,t){let r=$();return{type:"c_title",value:[s,t],indices:[r.start,r.end-1]}}function Us(s){return s.value[0].partial==null}function Ws(s,t){let r=$();return{type:"cv",value:[s,t],indices:[r.start,r.end-1]}}function Zs(s){return s.value[0].partial==null}function Xs(s,t){let r=$();return{type:"cv",value:[s,t],indices:[r.start,r.end-1]}}function Qs(s){let t=$();return{type:"ff",value:[s],indices:[t.start,t.end-1]}}function et(s){let t=$();return{type:"next_v",value:[s],indices:[t.start,t.end-1]}}function st(s,t){let r=$();return{type:"integer_title",value:[s,t],indices:[r.start,r.end-1]}}function tt(s){let t=$();return{type:"context",value:s.value,indices:[t.start,t.end-1]}}function nt(s){let t=$();return{type:"b",value:s.value,indices:[t.start,t.end-1]}}function it(s){let t=$();return{type:"bc",value:[s,{type:"c",value:[{type:"integer",value:151,indices:[t.end-2,t.end-1]}],indices:[t.end-2,t.end-1]}],indices:[t.start,t.end-1]}}function rt(s,t){let r=$();return{type:"bcv",value:[s,{type:"v",value:[t],indices:[t.indices[0],t.indices[1]]}],indices:[r.start,r.end-1]}}function at(s){let t=$();return{type:"v",value:[s],indices:[t.start,t.end-1]}}function ot(){return{type:"c_explicit"}}function lt(){return{type:"c_explicit"}}function ct(){return{type:"v_explicit"}}function un(){return""}function ft(s){let t=$();return{type:"title",value:[s],indices:[t.start,t.end-1]}}function ut(s){let t=$();return{type:"translation_sequence",value:s,indices:[t.start,t.end-1]}}function ht(s){let t=$();return{type:"translation_sequence",value:s,indices:[t.start,t.end-1]}}function pt(s){let t=$();return{type:"translation",value:s.value,indices:[t.start,t.end-1]}}function gt(s,t){let r=$();return{type:"integer",value:parseInt(s.join(""),10),partial:t!=null?t[1].join(""):null,indices:[r.start,r.end-1]}}function dt(s){let t=$();return{type:"integer",value:parseInt(s.join(""),10),indices:[t.start,t.end-1]}}function _t(s){let t=$();return{type:"word",value:s.join(""),indices:[t.start,t.end-1]}}function bt(s){let t=$();return{type:"stop",value:s,indices:[t.start,t.end-1]}}let i=n.peg$currPos|0,g=i,ee=[{line:1,column:1}],V=i,ve=n.peg$maxFailExpected||[],x=n.peg$silentFails|0,ae;if(n.startRule){if(!(n.startRule in l))throw new Error(`Can't start parsing from rule "`+n.startRule+'".');c=l[n.startRule]}function hn(){return b.substring(g,i)}function pn(){return g}function $(){return{source:o,start:g,end:i}}function gn(){return le(g,i)}function dn(s,t){throw t=t!==void 0?t:le(g,i),De([mt(s)],b.substring(g,i),t)}function _n(s,t){throw t=t!==void 0?t:le(g,i),yt(s,t)}function vt(s=i){let t=b.codePointAt(s);return t===void 0?"":String.fromCodePoint(t)}function E(s,t){return{type:"literal",text:s,ignoreCase:t}}function oe(s,t,r,a){return{type:"class",parts:s,inverted:t,ignoreCase:r,unicode:a}}function bn(){return{type:"any"}}function xt(){return{type:"end"}}function mt(s){return{type:"other",description:s}}function je(s){let t=ee[s],r;if(t)return t;if(s>=ee.length)r=ee.length-1;else for(r=s;!ee[--r];);for(t=ee[r],t={line:t.line,column:t.column};r<s;)b.charCodeAt(r)===10?(t.line++,t.column=1):t.column++,r++;return ee[s]=t,t}function le(s,t,r){let a=je(s),f=je(t),h={source:o,start:{offset:s,line:a.line,column:a.column},end:{offset:t,line:f.line,column:f.column}};return r&&o&&typeof o.offset=="function"&&(h.start=o.offset(h.start),h.end=o.offset(h.end)),h}function k(s){i<V||(i>V&&(V=i,ve=[]),ve.push(s))}function yt(s,t){return new ns(s,null,null,t)}function De(s,t,r){return new ns(ns.buildMessage(s,t),s,t,r)}function Ue(){let s,t;if(s=[],t=me(),t===e&&(t=We(),t===e&&(t=ye(),t===e&&(t=xe(),t===e&&(t=he(),t===e&&(t=ue(),t===e&&(t=j(),t===e&&(t=H(),t===e&&(t=X(),t===e&&(t=N(),t===e&&(t=G(),t===e&&(t=O(),t===e&&(t=F(),t===e&&(t=ne(),t===e&&(t=K(),t===e&&(t=W(),t===e&&(t=J(),t===e&&(t=se(),t===e&&(t=te(),t===e&&(t=D(),t===e&&(t=U(),t===e&&(t=Ze(),t===e&&(t=Xe(),t===e&&(t=M(),t===e&&(t=fe(),t===e&&(t=pe(),t===e&&(t=Y(),t===e&&(t=Z(),t===e&&(t=z(),t===e&&(t=T(),t===e&&(t=w(),t===e&&(t=Qe(),t===e&&(t=es(),t===e&&(t=Pe()))))))))))))))))))))))))))))))))),t!==e)for(;t!==e;)s.push(t),t=me(),t===e&&(t=We(),t===e&&(t=ye(),t===e&&(t=xe(),t===e&&(t=he(),t===e&&(t=ue(),t===e&&(t=j(),t===e&&(t=H(),t===e&&(t=X(),t===e&&(t=N(),t===e&&(t=G(),t===e&&(t=O(),t===e&&(t=F(),t===e&&(t=ne(),t===e&&(t=K(),t===e&&(t=W(),t===e&&(t=J(),t===e&&(t=se(),t===e&&(t=te(),t===e&&(t=D(),t===e&&(t=U(),t===e&&(t=Ze(),t===e&&(t=Xe(),t===e&&(t=M(),t===e&&(t=fe(),t===e&&(t=pe(),t===e&&(t=Y(),t===e&&(t=Z(),t===e&&(t=z(),t===e&&(t=T(),t===e&&(t=w(),t===e&&(t=Qe(),t===e&&(t=es(),t===e&&(t=Pe())))))))))))))))))))))))))))))))));else s=e;return s}function We(){let s,t,r,a,f,h;if(s=i,t=ye(),t===e&&(t=me(),t===e&&(t=xe(),t===e&&(t=he(),t===e&&(t=ue(),t===e&&(t=j(),t===e&&(t=H(),t===e&&(t=X(),t===e&&(t=N(),t===e&&(t=G(),t===e&&(t=O(),t===e&&(t=F(),t===e&&(t=ne(),t===e&&(t=K(),t===e&&(t=W(),t===e&&(t=J(),t===e&&(t=se(),t===e&&(t=te(),t===e&&(t=D(),t===e&&(t=U(),t===e&&(t=Pe())))))))))))))))))))),t!==e){if(r=[],a=i,f=de(),f===e&&(f=M(),f===e&&(f=null)),f!==e?(h=ce(),h!==e?(g=a,a=Ye(t,f,h)):(i=a,a=e)):(i=a,a=e),a!==e)for(;a!==e;)r.push(a),a=i,f=de(),f===e&&(f=M(),f===e&&(f=null)),f!==e?(h=ce(),h!==e?(g=a,a=Ye(t,f,h)):(i=a,a=e)):(i=a,a=e);else r=e;r!==e?(g=s,s=ys(t,r)):(i=s,s=e)}else i=s,s=e;return s}function $t(){let s,t,r,a,f,h,u,d,m;if(s=i,b.charCodeAt(i)===40?(t=p,i++):(t=e,x===0&&k(us)),t!==e)if(r=L(),a=de(),a===e&&(a=M(),a===e&&(a=null)),a!==e)if(f=ce(),f!==e){for(h=[],u=i,d=de(),d===e&&(d=M(),d===e&&(d=null)),d!==e?(m=ce(),m!==e?(g=u,u=He(a,f,d,m)):(i=u,u=e)):(i=u,u=e);u!==e;)h.push(u),u=i,d=de(),d===e&&(d=M(),d===e&&(d=null)),d!==e?(m=ce(),m!==e?(g=u,u=He(a,f,d,m)):(i=u,u=e)):(i=u,u=e);u=L(),b.charCodeAt(i)===41?(d=_,i++):(d=e,x===0&&k(hs)),d!==e?(g=s,s=$s(a,f,h)):(i=s,s=e)}else i=s,s=e;else i=s,s=e;else i=s,s=e;return s}function ce(){let s;return s=$t(),s===e&&(s=ye(),s===e&&(s=me(),s===e&&(s=xe(),s===e&&(s=he(),s===e&&(s=ue(),s===e&&(s=j(),s===e&&(s=H(),s===e&&(s=X(),s===e&&(s=N(),s===e&&(s=G(),s===e&&(s=O(),s===e&&(s=F(),s===e&&(s=ne(),s===e&&(s=K(),s===e&&(s=W(),s===e&&(s=J(),s===e&&(s=se(),s===e&&(s=te(),s===e&&(s=D(),s===e&&(s=U(),s===e&&(s=fe(),s===e&&(s=pe(),s===e&&(s=Y(),s===e&&(s=Z(),s===e&&(s=z(),s===e&&(s=T(),s===e&&(s=w()))))))))))))))))))))))))))),s}function xe(){let s,t,r,a,f,h,u;return s=i,t=j(),t===e&&(t=H(),t===e&&(t=X(),t===e&&(t=N(),t===e&&(t=G(),t===e&&(t=O(),t===e&&(t=F(),t===e&&(t=ne(),t===e&&(t=K(),t===e&&(t=i,r=J(),r!==e?(a=i,x++,f=i,h=_e(),h!==e?(u=j(),u===e&&(u=H(),u===e&&(u=X(),u===e&&(u=N(),u===e&&(u=G(),u===e&&(u=O(),u===e&&(u=F(),u===e&&(u=K(),u===e&&(u=J())))))))),u!==e?(h=[h,u],f=h):(i=f,f=e)):(i=f,f=e),x--,f!==e?(i=a,a=void 0):a=e,a!==e?(r=[r,a],t=r):(i=t,t=e)):(i=t,t=e),t===e&&(t=se(),t===e&&(t=te(),t===e&&(t=W(),t===e&&(t=D(),t===e&&(t=U(),t===e&&(t=fe(),t===e&&(t=pe(),t===e&&(t=Y(),t===e&&(t=Z(),t===e&&(t=z(),t===e&&(t=T(),t===e&&(t=w()))))))))))))))))))))),t!==e?(r=_e(),r!==e?(a=he(),a===e&&(a=ue(),a===e&&(a=j(),a===e&&(a=H(),a===e&&(a=X(),a===e&&(a=N(),a===e&&(a=G(),a===e&&(a=O(),a===e&&(a=F(),a===e&&(a=ne(),a===e&&(a=K(),a===e&&(a=J(),a===e&&(a=se(),a===e&&(a=te(),a===e&&(a=W(),a===e&&(a=D(),a===e&&(a=U(),a===e&&(a=fe(),a===e&&(a=pe(),a===e&&(a=Y(),a===e&&(a=z(),a===e&&(a=Z(),a===e&&(a=T(),a===e&&(a=w()))))))))))))))))))))))),a!==e?(g=s,s=Is(t,a)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e),s}function J(){let s,t,r,a,f,h;return s=i,b.charCodeAt(i)===31?(t=v,i++):(t=e,x===0&&k(re)),t!==e?(r=be(),r!==e?(a=i,b.charCodeAt(i)===47?(f=I,i++):(f=e,x===0&&k(ps)),f!==e?(h=b.charAt(i),cs.test(h)?i++:(h=e,x===0&&k(gs)),h!==e?(f=[f,h],a=f):(i=a,a=e)):(i=a,a=e),a===e&&(a=null),b.charCodeAt(i)===31?(f=v,i++):(f=e,x===0&&k(re)),f!==e?(g=s,s=ks(r)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e),s}function F(){let s,t,r,a,f,h;return s=i,t=J(),t!==e?(r=i,a=B(),a!==e?(f=i,x++,h=Y(),x--,h!==e?(i=f,f=void 0):f=e,f!==e?(a=[a,f],r=a):(i=r,r=e)):(i=r,r=e),r===e&&(r=q(),r===e&&(r=$e(),r===e&&(r=_e(),r===e&&(r=L())))),r!==e?(a=T(),a!==e?(g=s,s=Cs(t,a)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e),s}function It(){let s,t,r,a,f,h;return s=i,t=J(),t!==e?(r=L(),b.charCodeAt(i)===44?(a=P,i++):(a=e,x===0&&k(ke)),a!==e?(f=L(),h=T(),h!==e?(g=s,s=Es(t,h)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e),s}function H(){let s,t,r,a;return s=i,t=O(),t===e&&(t=F()),t!==e?(g=i,r=ws(t),r?r=void 0:r=e,r!==e?(a=Me(),a!==e?(g=s,s=Ps(t,a)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e),s}function N(){let s,t,r,a,f,h,u;return s=i,t=O(),t===e&&(t=F()),t!==e?(r=i,x++,a=i,b.charCodeAt(i)===46?(f=S,i++):(f=e,x===0&&k(Ce)),f!==e?(h=B(),h!==e?(u=w(),u!==e?(f=[f,h,u],a=f):(i=a,a=e)):(i=a,a=e)):(i=a,a=e),a===e&&(a=i,f=M(),f===e&&(f=null),h=B(),h!==e?(u=Y(),u!==e?(f=[f,h,u],a=f):(i=a,a=e)):(i=a,a=e)),x--,a===e?r=void 0:(i=r,r=e),r!==e?(a=i,f=q(),f===e&&(f=M()),f===e&&(f=null),h=B(),h!==e?(f=[f,h],a=f):(i=a,a=e),a===e&&(a=q()),a!==e?(f=w(),f!==e?(g=s,s=Ms(t,f)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e),s}function G(){let s,t,r,a,f,h,u,d,m;return s=i,t=O(),t===e&&(t=F()),t!==e?(g=i,r=Ss(t),r?r=void 0:r=e,r!==e?(a=$e(),a!==e?(f=w(),f!==e?(h=i,x++,u=i,d=q(),d!==e?(m=w(),m!==e?(d=[d,m],u=d):(i=u,u=e)):(i=u,u=e),x--,u===e?h=void 0:(i=h,h=e),h!==e?(g=s,s=Ts(t,f)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e),s}function j(){let s,t,r,a,f,h,u,d,m,R,Le;return s=i,t=It(),t!==e?(g=i,r=Ls(t),r?r=void 0:r=e,r!==e?(a=L(),b.charCodeAt(i)===44?(f=P,i++):(f=e,x===0&&k(ke)),f!==e?(h=L(),u=w(),u!==e?(d=i,x++,m=i,R=q(),R!==e?(Le=w(),Le!==e?(R=[R,Le],m=R):(i=m,m=e)):(i=m,m=e),x--,m===e?d=void 0:(i=d,d=e),d!==e?(g=s,s=Js(t,u)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e),s}function me(){let s,t,r,a,f,h,u,d,m;return s=i,t=J(),t!==e?(b.charCodeAt(i)===45?(r=y,i++):(r=e,x===0&&k(Ee)),r===e&&(r=ss()),r===e&&(r=null),a=T(),a!==e?(g=i,f=As(t,a),f?f=void 0:f=e,f!==e?(b.charCodeAt(i)===45?(h=y,i++):(h=e,x===0&&k(Ee)),h!==e?(u=w(),u!==e?(b.charCodeAt(i)===45?(d=y,i++):(d=e,x===0&&k(Ee)),d!==e?(m=w(),m!==e?(g=s,s=Fs(t,a,u,m)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e),s}function K(){let s,t,r,a,f,h;return s=i,t=J(),t!==e?(r=q(),r===e&&(r=$e(),r===e&&(r=_e(),r===e&&(r=i,a=M(),a!==e?(f=i,x++,h=B(),x--,h!==e?(i=f,f=void 0):f=e,f!==e?(a=[a,f],r=a):(i=r,r=e)):(i=r,r=e),r===e&&(r=L())))),r!==e?(a=w(),a!==e?(g=s,s=Bs(t,a)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e),s}function T(){let s,t,r;return s=i,t=ge(),t===e&&(t=null),r=z(),r!==e?(g=s,s=Rs(r)):(i=s,s=e),s}function D(){let s,t,r,a,f,h;return s=i,t=ge(),t!==e?(r=T(),r!==e?(g=i,a=Vs(r),a?a=void 0:a=e,a!==e?(f=Se(),f===e&&(f=null),h=J(),h!==e?(g=s,s=Os(r,h)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e),s}function ye(){let s,t,r,a,f,h,u,d;return s=i,t=ge(),t!==e?(r=T(),r!==e?(g=i,a=zs(r),a?a=void 0:a=e,a!==e?(f=_e(),f!==e?(h=T(),h!==e?(u=Se(),u===e&&(u=null),d=J(),d!==e?(g=s,s=qs(r,h,d)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e),s}function se(){let s,t,r,a,f;return s=i,t=D(),t!==e?(r=M(),r===e&&(r=null),a=B(),a!==e?(f=w(),f!==e?(g=s,s=Ns(t,f)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e),s}function U(){let s,t,r,a,f,h;return s=i,t=T(),t!==e?(r=kt(),r!==e?(a=ge(),a!==e?(f=Se(),f===e&&(f=null),h=J(),h!==e?(g=s,s=Gs(t,h)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e),s}function kt(){let s;return(s=n.ordinal.exec(b.substring(i)))?(g=i,i+=s[0].length,[s[0]]):e}function te(){let s,t,r,a,f;return s=i,t=U(),t!==e?(r=M(),r===e&&(r=null),a=B(),a!==e?(f=w(),f!==e?(g=s,s=Ks(t,f)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e),s}function W(){let s,t,r,a;return s=i,b.charCodeAt(i)===31?(t=v,i++):(t=e,x===0&&k(re)),t!==e?(r=be(),r!==e?(b.substr(i,3)===A?(a=A,i+=3):(a=e,x===0&&k(ds)),a!==e?(g=s,s=Ys(r)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e),s}function ne(){let s,t,r,a,f;return s=i,t=W(),t!==e?(r=M(),r===e&&(r=null),a=B(),a!==e?(f=w(),f!==e?(g=s,s=Hs(t,f)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e),s}function fe(){let s,t,r,a,f;return s=i,t=ge(),t!==e?(r=T(),r!==e?(g=i,a=js(r),a?a=void 0:a=e,a!==e?(f=Me(),f!==e?(g=s,s=Ds(r,f)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e),s}function Y(){let s,t,r,a,f,h,u,d,m;return s=i,t=B(),t===e&&(t=null),r=T(),r!==e?(g=i,a=Us(r),a?a=void 0:a=e,a!==e?(f=i,x++,h=i,b.charCodeAt(i)===46?(u=S,i++):(u=e,x===0&&k(Ce)),u!==e?(d=B(),d!==e?(m=w(),m!==e?(u=[u,d,m],h=u):(i=h,h=e)):(i=h,h=e)):(i=h,h=e),x--,h===e?f=void 0:(i=f,f=e),f!==e?(h=i,u=q(),u===e&&(u=null),d=B(),d!==e?(u=[u,d],h=u):(i=h,h=e),h===e&&(h=q()),h!==e?(u=w(),u!==e?(g=s,s=Ws(r,u)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e),s}function Z(){let s,t,r,a,f,h,u,d,m;return s=i,t=T(),t!==e?(g=i,r=Zs(t),r?r=void 0:r=e,r!==e?(a=$e(),a!==e?(f=w(),f!==e?(h=i,x++,u=i,d=q(),d!==e?(m=w(),m!==e?(d=[d,m],u=d):(i=u,u=e)):(i=u,u=e),x--,u===e?h=void 0:(i=h,h=e),h!==e?(g=s,s=Xs(t,f)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e),s}function ue(){let s,t,r,a;return s=i,t=N(),t===e&&(t=G(),t===e&&(t=F(),t===e&&(t=K(),t===e&&(t=Y(),t===e&&(t=Z(),t===e&&(t=z(),t===e&&(t=T(),t===e&&(t=w())))))))),t!==e?(r=L(),a=Ct(),a!==e?(g=s,s=Qs(t)):(i=s,s=e)):(i=s,s=e),s}function Ct(){let s;return(s=n.ff.exec(b.substring(i)))?(g=i,i+=s[0].length,[s[0]]):e}function he(){let s,t,r,a;return s=i,t=N(),t===e&&(t=G(),t===e&&(t=F(),t===e&&(t=K(),t===e&&(t=Y(),t===e&&(t=Z(),t===e&&(t=z(),t===e&&(t=T(),t===e&&(t=w())))))))),t!==e?(r=L(),a=Et(),a!==e?(g=s,s=et(t)):(i=s,s=e)):(i=s,s=e),s}function Et(){let s;return(s=n.next.exec(b.substring(i)))?(g=i,i+=s[0].length,[s[0]]):e}function pe(){let s,t,r;return s=i,t=z(),t!==e?(r=Me(),r!==e?(g=s,s=st(t,r)):(i=s,s=e)):(i=s,s=e),s}function Pe(){let s,t,r,a;return s=i,b.charCodeAt(i)===31?(t=v,i++):(t=e,x===0&&k(re)),t!==e?(r=be(),r!==e?(b.substr(i,3)===Fe?(a=Fe,i+=3):(a=e,x===0&&k(_s)),a!==e?(g=s,s=tt(r)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e),s}function wt(){let s,t,r,a;return s=i,b.charCodeAt(i)===31?(t=v,i++):(t=e,x===0&&k(re)),t!==e?(r=be(),r!==e?(b.substr(i,3)===Be?(a=Be,i+=3):(a=e,x===0&&k(bs)),a!==e?(g=s,s=nt(r)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e),s}function O(){let s,t,r,a,f;return s=i,t=wt(),t!==e?(b.substr(i,2)===Re?(r=Re,i+=2):(r=e,x===0&&k(vs)),r!==e?(a=i,x++,f=b.charAt(i),Ie.test(f)?i++:(f=e,x===0&&k(we)),x--,f===e?a=void 0:(i=a,a=e),a!==e?(g=s,s=it(t)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e),s}function X(){let s,t,r,a;return s=i,t=O(),t!==e?(b.charCodeAt(i)===46?(r=S,i++):(r=e,x===0&&k(Ce)),r!==e?(a=z(),a!==e?(g=s,s=rt(t,a)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e),s}function Pt(){let s;return(s=n.ab.exec(b.substring(i)))?(g=i,i+=s[0].length,[s[0]]):e}function w(){let s,t,r;return s=i,t=B(),t===e&&(t=null),r=z(),r!==e?(g=s,s=at(r)):(i=s,s=e),s}function ge(){let s,t;return s=i,t=Mt(),t!==e&&(g=s,t=ot()),s=t,s}function Mt(){let s;return(s=n.c_explicit.exec(b.substring(i)))?(g=i,i+=s[0].length,[s[0]]):e}function de(){let s,t;return s=i,t=St(),t!==e&&(g=s,t=lt()),s=t,s}function St(){let s;return(s=n.c_sep.exec(b.substring(i)))?(g=i,i+=s[0].length,[s[0]]):e}function B(){let s,t;return s=i,t=Tt(),t!==e&&(g=s,t=ct()),s=t,s}function Tt(){let s;return(s=n.v_explicit.exec(b.substring(i)))?(g=i,i+=s[0].length,[s[0]]):e}function q(){let s;return(s=n.cv_sep.exec(b.substring(i)))?(g=i,i+=s[0].length,[s[0]]):e}function $e(){let s;return(s=n.cv_sep_weak.exec(b.substring(i)))?(g=i,i+=s[0].length,[s[0]]):e}function M(){let s;return(s=n.sequence.exec(b.substring(i)))?(g=i,i+=s[0].length,[s[0]]):e}function vn(){let s;return b.substr(i,19)===Ve?(s=Ve,i+=19):(s=e,x===0&&k(xs)),s}function _e(){let s;return(s=n.range.exec(b.substring(i)))?(g=i,i+=s[0].length,[s[0]]):e}function Me(){let s,t,r;return s=i,t=q(),t===e&&(t=M()),t===e&&(t=null),r=Lt(),r!==e?(g=s,s=ft(r)):(i=s,s=e),s}function Lt(){let s;return(s=n.title.exec(b.substring(i)))?(g=i,i+=s[0].length,[s[0]]):e}function Se(){let s;return(s=n.in_book_of.exec(b.substring(i)))?(g=i,i+=s[0].length,[s[0]]):e}function Ze(){let s,t,r,a,f,h,u,d,m,R;if(s=i,t=L(),r=b.charAt(i),ze.test(r)?i++:(r=e,x===0&&k(Ne)),r!==e){if(a=L(),f=i,h=ie(),h!==e){for(u=[],d=i,m=M(),m!==e?(R=ie(),R!==e?(m=[m,R],d=m):(i=d,d=e)):(i=d,d=e);d!==e;)u.push(d),d=i,m=M(),m!==e?(R=ie(),R!==e?(m=[m,R],d=m):(i=d,d=e)):(i=d,d=e);h=[h,u],f=h}else i=f,f=e;f!==e?(h=L(),u=b.charAt(i),fs.test(u)?i++:(u=e,x===0&&k(ms)),u!==e?(g=s,s=ut(f)):(i=s,s=e)):(i=s,s=e)}else i=s,s=e;return s}function Xe(){let s,t,r,a,f,h,u,d,m;if(s=i,t=L(),r=i,b.charCodeAt(i)===44?(a=P,i++):(a=e,x===0&&k(ke)),a!==e?(f=L(),a=[a,f],r=a):(i=r,r=e),r===e&&(r=null),a=i,f=ie(),f!==e){for(h=[],u=i,d=M(),d!==e?(m=ie(),m!==e?(d=[d,m],u=d):(i=u,u=e)):(i=u,u=e);u!==e;)h.push(u),u=i,d=M(),d!==e?(m=ie(),m!==e?(d=[d,m],u=d):(i=u,u=e)):(i=u,u=e);f=[f,h],a=f}else i=a,a=e;return a!==e?(g=s,s=ht(a)):(i=s,s=e),s}function ie(){let s,t,r,a;return s=i,b.charCodeAt(i)===30?(t=Oe,i++):(t=e,x===0&&k(Ge)),t!==e?(r=be(),r!==e?(b.charCodeAt(i)===30?(a=Oe,i++):(a=e,x===0&&k(Ge)),a!==e?(g=s,s=pt(r)):(i=s,s=e)):(i=s,s=e)):(i=s,s=e),s}function z(){let s,t,r,a,f;return s=i,t=Jt(),t!==e?(r=i,a=L(),f=Pt(),f!==e?(a=[a,f],r=a):(i=r,r=e),r===e&&(r=null),g=s,s=gt(t,r)):(i=s,s=e),s}function Jt(){let s;return(s=/^[0-9]{1,3}(?![0-9]|,000)/.exec(b.substring(i)))?(g=i,i+=s[0].length,[s[0]]):e}function be(){let s,t,r;if(s=i,t=[],r=b.charAt(i),Ie.test(r)?i++:(r=e,x===0&&k(we)),r!==e)for(;r!==e;)t.push(r),r=b.charAt(i),Ie.test(r)?i++:(r=e,x===0&&k(we));else t=e;return t!==e&&(g=s,t=dt(t)),s=t,s}function Qe(){let s,t,r;if(s=i,t=[],r=b.charAt(i),qe.test(r)?i++:(r=e,x===0&&k(Ke)),r!==e)for(;r!==e;)t.push(r),r=b.charAt(i),qe.test(r)?i++:(r=e,x===0&&k(Ke));else t=e;return t!==e&&(g=s,t=_t(t)),s=t,s}function es(){let s,t;return s=i,t=b.charAt(i),ze.test(t)?i++:(t=e,x===0&&k(Ne)),t!==e&&(g=s,t=bt(t)),s=t,s}function L(){let s;return s=ss(),s===e&&(s=null),s}function ss(){let s;return(s=n.space.exec(b.substring(i)))?(g=i,i+=s[0].length,[s[0]]):e}ae=c();let Te=ae!==e&&i===b.length;function ts(){throw ae!==e&&i<b.length&&k(xt()),De(ve,V<b.length?vt(V):null,V<b.length?le(V,V+1):le(V,V))}if(n.peg$library)return{peg$result:ae,peg$currPos:i,peg$FAILED:e,peg$maxFailExpected:ve,peg$maxFailPos:V,peg$success:Te,peg$throw:Te?void 0:ts};if(Te)return ae;ts()}var Je=class{constructor(n,e){this.parent=n,this.parent.options.grammar=structuredClone(e)}replace_control_characters(n){return n.replace(this.parent.regexps.control," ")}replace_non_ascii_numbers(n){return this.parent.options.non_latin_digits_strategy==="replace"&&(n=n.replace(/[٠۰߀०০੦૦୦0౦೦൦๐໐༠၀႐០᠐᥆᧐᪀᪐᭐᮰᱀᱐꘠꣐꤀꧐꩐꯰0]/g,"0"),n=n.replace(/[١۱߁१১੧૧୧௧౧೧൧๑໑༡၁႑១᠑᥇᧑᪁᪑᭑᮱᱁᱑꘡꣑꤁꧑꩑꯱1]/g,"1"),n=n.replace(/[٢۲߂२২੨૨୨௨౨೨൨๒໒༢၂႒២᠒᥈᧒᪂᪒᭒᮲᱂᱒꘢꣒꤂꧒꩒꯲2]/g,"2"),n=n.replace(/[٣۳߃३৩੩૩୩௩౩೩൩๓໓༣၃႓៣᠓᥉᧓᪃᪓᭓᮳᱃᱓꘣꣓꤃꧓꩓꯳3]/g,"3"),n=n.replace(/[٤۴߄४৪੪૪୪௪౪೪൪๔໔༤၄႔៤᠔᥊᧔᪄᪔᭔᮴᱄᱔꘤꣔꤄꧔꩔꯴4]/g,"4"),n=n.replace(/[٥۵߅५৫੫૫୫௫౫೫൫๕໕༥၅႕៥᠕᥋᧕᪅᪕᭕᮵᱅᱕꘥꣕꤅꧕꩕꯵5]/g,"5"),n=n.replace(/[٦۶߆६৬੬૬୬௬౬೬൬๖໖༦၆႖៦᠖᥌᧖᪆᪖᭖᮶᱆᱖꘦꣖꤆꧖꩖꯶6]/g,"6"),n=n.replace(/[٧۷߇७৭੭૭୭௭౭೭൭๗໗༧၇႗៧᠗᥍᧗᪇᪗᭗᮷᱇᱗꘧꣗꤇꧗꩗꯷7]/g,"7"),n=n.replace(/[٨۸߈८৮੮૮୮௮౮೮൮๘໘༨၈႘៨᠘᥎᧘᪈᪘᭘᮸᱈᱘꘨꣘꤈꧘꩘꯸8]/g,"8"),n=n.replace(/[٩۹߉९৯੯૯୯௯౯೯൯๙໙༩၉႙៩᠙᥏᧙᪉᪙᭙᮹᱉᱙꘩꣙꤉꧙꩙꯹9]/g,"9")),n}match_books(n){let e=[];for(let o of this.parent.regexps.books){let l=!1;if(n=n.replace(o.regexp,function(c,p){l=!0,e.push({value:p,parsed:o.osis,type:"book"});let _=o.extra?`/${o.extra}`:"";return`${e.length-1}${_}`}),l&&/^[\s\x1f\d:.,;\-\u2013\u2014]+$/.test(n))break}for(let o of this.parent.regexps.translations)n=n.replace(o,function(l){return e.push({value:l,parsed:l.toLowerCase(),type:"translation"}),`${e.length-1}`});return[n,this.get_book_indices(e,n)]}get_book_indices(n,e){let o=0;for(let l of e.matchAll(/([\x1f\x1e])(\d+)(?:\/\d+)?\1/g)){let c=parseInt(l[2],10);n[c].start_index=l.index+o,o+=n[c].value.length-l[0].length}return n}match_passages(n){let e=[],o={};for(let l of n.matchAll(this.parent.regexps.escaped_passage)){let[c,p,_]=l,v=parseInt(_,10),I=p.length;l.index+=c.length-I,p=this.clean_end_match(n,l,p);let P=p.startsWith("")?0:p.split("")[0].length,S={value:Rt(p,this.parent.options.grammar),type:"base",start_index:this.parent.passage.books[v].start_index-P,match:p},y=this.parent.passage.books[v].parsed;P===0&&this.parent.options.book_alone_strategy==="full"&&this.parent.options.book_range_strategy==="include"&&S.value[0].type==="b"&&Array.isArray(S.value)&&(S.value.length===1||S.value.length>1&&S.value[1].type==="translation_sequence")&&/^[234]/.test(y)&&this.create_book_range(n,S,v);let C=[];[C,o]=this.parent.passage.handle_obj(S,[],{}),e=e.concat(C);let A=this.adjust_regexp_end(C,I,p.length);A>0&&(this.parent.regexps.escaped_passage.lastIndex-=A)}return[e,o]}clean_end_match(n,e,o){if(/\s[2-9]\d\d\s*$|\s\d{4,}\s*$/.test(o)&&(o=o.replace(/\s+\d+\s*$/,"")),!/[\d\x1f\x1e)]$/.test(o)){let l=o.split(this.parent.regexps.match_end_split),c=l.pop();l.length>0&&c!=null&&c.length>0&&(o=o.substring(0,o.length-c.length))}if(this.parent.options.captive_end_digits_strategy==="delete"){let l=e.index+o.length;n.length>l&&/^\w/.test(n.charAt(l))&&(o=o.replace(/[\s*]+\d+$/,"")),o=o.replace(/(\x1e[)\]]?)[\s*]*\d+$/,"$1")}return o}adjust_regexp_end(n,e,o){return n.length>0?e-n[n.length-1].indices[1]-1:e!==o?e-o:0}create_book_range(n,e,o){let l=[this.parent.regexps.first,this.parent.regexps.second,this.parent.regexps.third],c=parseInt(this.parent.passage.books[o].parsed[0].substring(0,1),10);for(let p=1;p<c;p++){let _=p===c-1?this.parent.regexps.range_and:this.parent.regexps.range_only,v=new RegExp(String.raw`${this.parent.regexps.pre_number_book.source}(${l[p-1].source}\s*${_.source}\s*)\x1f${o}\x1f`,"iu"),I=n.match(v);if(I)return this.add_book_range_object(e,I,p)}return!1}add_book_range_object(n,e,o){let l=e[1].length;if(n.value[0]={type:"b_range_pre",value:[{type:"b_pre",value:o.toString(),indices:[e.index,e.index+l]},n.value[0]],indices:[0,n.value[0].indices[1]+l]},this.add_offset_to_indices(n.value[0].value[1].indices,l),n.start_index-=l,n.match=e[1]+n.match,!Array.isArray(n.value))return n;for(let c=1;c<n.value.length;c++)n.value[c].value&&(n.value[c].value[0]?.indices&&this.add_offset_to_indices(n.value[c].value[0].indices,l),this.add_offset_to_indices(n.value[c].indices,l));return n}add_offset_to_indices(n,e){n[0]+=e,n[1]+=e}};var is=class{constructor(n){this.consecutive_combination_strategy="combine";this.osis_compaction_strategy="b";this.book_sequence_strategy="ignore";this.invalid_sequence_strategy="ignore";this.sequence_combination_strategy="combine";this.invalid_passage_strategy="ignore";this.non_latin_digits_strategy="ignore";this.passage_existence_strategy="bcv";this.book_alone_strategy="ignore";this.book_range_strategy="ignore";this.captive_end_digits_strategy="delete";this.ps151_strategy="c";this.zero_chapter_strategy="error";this.zero_verse_strategy="error";this.single_chapter_1_strategy="chapter";this.end_range_digits_strategy="verse";this.warn_level="none";this.#s="on";this.#t="none";this.#e={ab:/^[a-e](?!\p{L})/iu,and:/^&/,c_explicit:/^[\s*]*(?:chapters?|cha?pts?\.?|chaps?\.?|ch[aps]?\.?)[\s*]*/i,c_sep_eu:/^\x1f\x1f\x1f/,c_sep_us:/^\x1f\x1f\x1f/,cv_sep_weak:/^(?:[\s*]*["'][\s*]*|[\s*])+/,cv_sep_eu:/^[\s*]*,+[\s*]*/,cv_sep_us:/^[\s*]*(?::+|\.(?!\s*\.\s*\.))[\s*]*/i,ff:/^\x1f\x1f\x1f/,in_book_of:/^\x1f\x1f\x1f/,next:/^\x1f\x1f\x1f/,ordinal:/^\x1f\x1f\x1f/,range:/^[\s*]*[\-\u2013\u2014][\s*]*/,sequence_eu:/^(?:[;/:&\-\u2013\u2014~\s*]|\.(?!\s*\.\s*\.))+/,sequence_us:/^(?:[,;/:&\-\u2013\u2014~\s*]|\.(?!\s*\.\s*\.))+/,space:/^[\s*]+/,title:/^[\s*]*title[\s*]*/i,v_explicit:/^[\s*]*(?:verses?|ver\.?|vss?\.?|vv?\.?)[\s*]*(?!\p{L})/iu,c_sep:/^\x1f\x1f\x1f/,cv_sep:/^\x1f\x1f\x1f/,sequence:/^\x1f\x1f\x1f/};this.#n="us";this.parent=n,this.#e.cv_sep=this.#e.cv_sep_us,this.#e.sequence=this.#e.sequence_us}#s;get testaments(){return this.#s}set testaments(n){if(n===this.#s||n.length===0)return;let e=n.split(""),o="";if(e[0]==="o"&&(e.shift(),o+="o"),e.length>0&&e[0]==="n"&&(e.shift(),o+="n"),e.length>0&&e[0]==="a"&&(o+="a"),o.length>0&&o!==this.#s){let l=o.indexOf("a")>=0,c=this.#s.indexOf("a")>=0;this.#s=o,l!==c?this.set_apocrypha(l):this.parent.regexps_manager.filter_books(this.#s,this.case_sensitive)}}set_apocrypha(n){this.parent.regexps_manager.filter_books(this.#s,this.case_sensitive);for(let e of Object.keys(this.parent.translations.systems))this.parent.translations.systems[e].chapters??={},this.parent.translations.systems[e].chapters.Ps??=[...this.parent.translations.systems.current.chapters.Ps],n===!0?this.parent.translations.systems[e].chapters.Ps[150]=this.parent.translations.systems[e].chapters.Ps151?.[0]??this.parent.translations.systems.current.chapters.Ps151[0]:this.parent.translations.systems[e].chapters?.Ps.length===151&&this.parent.translations.systems[e].chapters.Ps.pop()}get versification_system(){return this.parent.translations.current_system}set versification_system(n){this.parent.translations.aliases[n]?.system&&(n=this.parent.translations.aliases[n].system),this.parent.translations.systems[n]||(this.warn_level==="warn"&&console.warn(`Unknown versification system ("${n}"). Using default instead.`),n="default"),!(!n||n===this.parent.translations.current_system)&&(this.parent.translations.current_system!=="default"&&(this.parent.translations.systems.current=structuredClone(this.parent.translations.systems.default)),this.parent.translations.current_system=n,n!=="default"&&(this.parent.translations.systems[n].order&&(this.parent.translations.systems.current.order={...this.parent.translations.systems[n].order}),this.parent.translations.systems[n].chapters&&(this.parent.translations.systems.current.chapters={...structuredClone(this.parent.translations.systems.default.chapters),...structuredClone(this.parent.translations.systems[n].chapters)})))}#t;get case_sensitive(){return this.#t}set case_sensitive(n){n===this.#t||n!=="none"&&n!=="books"&&n!=="translations"&&n!=="books,translations"||(this.#t=n,this.parent.regexps_manager.filter_books(this.testaments,n),this.parent.translations_manager.apply_case_sensitive(n))}#e;get grammar(){return this.#e}set grammar(n){this.#e={...this.#e,...n},this.punctuation_strategy=this.punctuation_strategy}#n;get punctuation_strategy(){return this.#n}set punctuation_strategy(n){if(n!=="us"&&n!=="eu"){this.warn_level==="warn"&&console.warn(`punctuation_strategy should be set to "us" or "eu", not: ${n}`);return}this.#n=n,this.#e.c_sep=this.#e[`c_sep_${n}`],this.#e.cv_sep=this.#e[`cv_sep_${n}`],this.#e.sequence=this.#e[`sequence_${n}`]}};var Ae=class{constructor(n,e){this.books=[];this.indices=[];this.options=n,this.translations=e}handle_array(n,e=[],o={}){for(let l of n)l!=null&&([e,o]=this.handle_obj(l,e,o));return[e,o]}handle_obj(n,e,o){return n.type&&typeof this[n.type]=="function"?this[n.type](n,e,o):[e,o]}b(n,e,o){n.start_context=structuredClone(o),n.passages=[];let l=[];for(let c of this.books[n.value].parsed){let p=this.validate_ref(n.start_context.translations,{b:c}),_={start:{b:c},end:{b:c},valid:p};n.passages.length===0&&p.valid?n.passages.push(_):l.push(_)}return this.normalize_passage_and_alternates(n,l),e.push(n),o={b:n.passages[0].start.b},n.start_context.translations&&(o.translations=structuredClone(n.start_context.translations)),[e,o]}b_pre(n,e,o){return[e,o]}b_range(n,e,o){return this.range(n,e,o)}b_range_pre(n,e,o){n.start_context=structuredClone(o),n.passages=[];let l=this.pluck("b",n.value),c;return[[c],o]=this.b(l,[],o),n.absolute_indices??=this.get_absolute_indices(n.indices),n.passages=[{start:{b:n.value[0].value+c.passages[0].start.b.substring(1),type:"b"},end:c.passages[0].end,valid:c.passages[0].valid}],n.start_context.translations&&(n.passages[0].translations=structuredClone(n.start_context.translations)),e.push(n),[e,o]}b_range_start(n,e,o){return this.range(n,e,o)}base(n,e,o){return this.indices=this.calculate_indices(n.match,n.start_index),this.handle_array(n.value,e,o)}bc(n,e,o){n.start_context=structuredClone(o),n.passages=[],this.reset_context(o,["b","c","v"]);let l=this.pluck_integer("c",n.value),c=l.value,p=this.get_partial_verse(l),_=0,v=[];for(let I of this.books[this.pluck("b",n.value).value].parsed){let P="c",S=this.validate_ref(n.start_context.translations,{b:I,c}),y={start:{b:I},end:{b:I},valid:S};if((S.messages?.start_chapter_not_exist_in_single_chapter_book||S.messages?.start_verse_1||p!=null&&S.messages?.start_chapter_1)&&(y.valid=this.validate_ref(n.start_context.translations,{b:I,v:c}),S.messages?.start_chapter_not_exist_in_single_chapter_book&&(y.valid.messages.start_chapter_not_exist_in_single_chapter_book=1),y.start.c=1,y.end.c=1,P="v"),y.start[P]=c,[y.start.c,y.start.v]=this.fix_start_zeroes(y.valid,y.start.c,y.start.v),y.start.v==null&&delete y.start.v,y.end[P]=y.start[P],p!=null){let C=P==="v"?"p":"p_if_verse";y.start[C]=p,y.end[C]=p}n.passages.length===0&&y.valid.valid?(P==="c"&&p!=null&&(_=p.length*-1),n.passages.push(y)):v.push(y)}return this.normalize_passage_and_alternates(n,v,_),this.set_context_from_object(o,["b","c","v"],n.passages[0].start),e.push(n),[e,o]}bc_title(n,e,o){n.start_context=structuredClone(o);let l=this.pluck("bc",n.value),c;if([[c],o]=this.bc(l,[],o),c.passages[0].start.b.substring(0,2)!=="Ps"&&c.passages[0].alternates){for(let _ of c.passages[0].alternates)if(_.start.b.substring(0,2)==="Ps"){c.passages[0]=structuredClone(_);break}}if(c.passages[0].start.b.substring(0,2)!=="Ps")return e.push(c),[e,o];this.books[this.pluck("b",c.value).value].parsed=["Ps"];let p=this.pluck("title",n.value);return p||(p=this.pluck_integer("v",n.value)),n.value[1]={type:"v",original_type:"title",value:[{type:"integer",value:1,indices:p.indices}],indices:p.indices},n.type="bcv",this.bcv(n,e,n.start_context)}bcv(n,e,o){n.start_context=structuredClone(o),n.passages=[],this.reset_context(o,["b","c","v"]);let l=this.pluck("bc",n.value),c=this.pluck_integer("c",l.value).value,p=this.pluck_integer("v",n.value),_=p.value,v=this.get_partial_verse(p),I=[];for(let P of this.books[this.pluck("b",l.value).value].parsed){let S=this.validate_ref(n.start_context.translations,{b:P,c,v:_});[c,_]=this.fix_start_zeroes(S,c,_);let y={start:{b:P,c,v:_},end:{b:P,c,v:_},valid:S};v!=null&&(y.start.p=v,y.end.p=v),n.passages.length===0&&S.valid?n.passages.push(y):I.push(y)}return this.normalize_passage_and_alternates(n,I),this.set_context_from_object(o,["b","c","v"],n.passages[0].start),e.push(n),[e,o]}bv(n,e,o){n.start_context=structuredClone(o);let[l,c]=n.value,p={indices:n.indices,value:[{type:"bc",value:[l,{type:"c",value:[{type:"integer",value:1}]}]},c]};return[[p],o]=this.bcv(p,[],o),n.passages=p.passages,n.absolute_indices??=this.get_absolute_indices(n.indices),e.push(n),[e,o]}c(n,e,o){n.start_context=structuredClone(o);let l=n.type==="integer"?n:this.pluck("integer",n.value),c=l.value,p=this.get_partial_verse(l),_=this.validate_ref(n.start_context.translations,{b:o.b,c});return!_.valid&&_.messages?.start_chapter_not_exist_in_single_chapter_book?this.v(n,e,o):([c]=this.fix_start_zeroes(_,c),n.passages=[{start:{b:o.b,c},end:{b:o.b,c},valid:_}],n.start_context.translations&&(n.passages[0].translations=n.start_context.translations),p!=null&&(n.passages[0].start.p_if_verse=p,n.passages[0].end.p_if_verse=p),e.push(n),o.c=c,this.reset_context(o,["v"]),n.absolute_indices==null&&(n.absolute_indices=this.get_absolute_indices(n.indices)),[e,o])}c_psalm(n,e,o){n.type="bc";let l=parseInt(this.books[n.value].value.match(/^\d+/)[0],10);return n.value=[{type:"b",value:n.value,indices:n.indices},{type:"c",value:[{type:"integer",value:l,indices:n.indices}],indices:n.indices}],this.bc(n,e,o)}c_title(n,e,o){if(n.start_context=structuredClone(o),o.b!=="Ps")return this.c(n.value[0],e,o);let l=this.pluck("title",n.value);return n.value[1]={type:"v",original_type:"title",value:[{type:"integer",value:1,indices:l.indices}],indices:l.indices},n.type="cv",this.cv(n,e,n.start_context)}cb_range(n,e,o){n.type="range";let[l,c,p]=n.value;return n.value=[{type:"bc",value:[l,c],indices:n.indices},p],p.indices[1]=n.indices[1],this.range(n,e,o)}context(n,e,o){return n.start_context=structuredClone(o),n.passages=[],o=Object.assign(o,this.books[n.value].context),e.push(n),[e,o]}cv(n,e,o){n.start_context=structuredClone(o);let l=this.pluck_integer("c",n.value).value,c=this.pluck_integer("v",n.value),p=c.value,_=this.get_partial_verse(c),v=this.validate_ref(n.start_context.translations,{b:o.b,c:l,v:p});return[l,p]=this.fix_start_zeroes(v,l,p),n.passages=[{start:{b:o.b,c:l,v:p},end:{b:o.b,c:l,v:p},valid:v}],_!=null&&(n.passages[0].start.p=_,n.passages[0].end.p=_),n.start_context.translations&&(n.passages[0].translations=n.start_context.translations),n.absolute_indices??=this.get_absolute_indices(n.indices),o.c=l,o.v=p,e.push(n),[e,o]}cv_psalm(n,e,o){n.start_context=structuredClone(o),n.type="bcv";let[l,c]=n.value,[[p]]=this.c_psalm(l,[],n.start_context);return n.value=[p,c],this.bcv(n,e,o)}ff(n,e,o){n.start_context=structuredClone(o),n.value.push({type:"integer",indices:structuredClone(n.indices),value:999}),[[n],o]=this.range(n,[],n.start_context),n.value[0].indices=n.value[1].indices,n.value[0].absolute_indices=n.value[1].absolute_indices,n.value.pop();for(let l of["end_verse_not_exist","end_chapter_not_exist"])delete n.passages[0].valid.messages[l];return e.push(n),[e,o]}integer(n,e,o){return o.v==null?this.c(n,e,o):this.v(n,e,o)}integer_title(n,e,o){return n.start_context=structuredClone(o),o.b!=="Ps"?this.integer(n.value[0],e,o):(n.value[0]={type:"c",value:[n.value[0]],indices:structuredClone(n.value[0].indices)},n.value[1].type="v",n.value[1].original_type="title",n.value[1].value=[{type:"integer",value:1,indices:structuredClone(n.value[1].value.indices)}],n.type="cv",this.cv(n,e,n.start_context))}next_v(n,e,o){n.start_context=structuredClone(o);let l=this.pluck_last_recursively("integer",n.value)??{value:1};n.value.push({type:"integer",indices:n.indices,value:l.value+1});let c;[[c],o]=this.range(n,[],n.start_context),c.passages[0].valid.messages.end_verse_not_exist&&!c.passages[0].valid.messages.start_verse_not_exist&&!c.passages[0].valid.messages.start_chapter_not_exist&&o.c!=null&&(n.value.pop(),n.value.push({type:"cv",indices:n.indices,value:[{type:"c",value:[{type:"integer",value:o.c+1,indices:n.indices}],indices:n.indices},{type:"v",value:[{type:"integer",value:1,indices:n.indices}],indices:n.indices}]}),[[c],o]=this.range(n,[],n.start_context)),c.value[0].indices=c.value[1].indices,c.value[0].absolute_indices=c.value[1].absolute_indices,c.value.pop();for(let p of["end_verse_not_exist","end_chapter_not_exist"])delete n.passages[0].valid.messages[p];return e.push(c),[e,o]}sequence(n,e,o){n.start_context=structuredClone(o),n.passages=[];for(let l of n.value){let c;typeof l[0].explicit_context=="string"&&l[0].explicit_context==="c"&&delete o.v,[[c],o]=this.handle_array(l,[],o);for(let p of c.passages)p.type??=c.type,p.absolute_indices??=c.absolute_indices,c.start_context.translations&&(p.translations=c.start_context.translations),p.enclosed_absolute_indices=c.type==="sequence_post_enclosed"?[...c.absolute_indices]:[-1,-1],n.passages.push(p)}return n.absolute_indices||(n.passages.length>0&&n.type==="sequence"?n.absolute_indices=[n.passages[0].absolute_indices[0],n.passages[n.passages.length-1].absolute_indices[1]]:n.absolute_indices=this.get_absolute_indices(n.indices)),e.push(n),[e,o]}sequence_post_enclosed(n,e,o){return this.sequence(n,e,o)}v(n,e,o){n.start_context=structuredClone(o);let l=n.type==="integer"?n:this.pluck("integer",n.value),c=l.value,p=this.get_partial_verse(l),_=o.c!=null?o.c:1,v=this.validate_ref(n.start_context.translations,{b:o.b,c:_,v:c}),[,I]=this.fix_start_zeroes(v,0,c);return n.passages=[{start:{b:o.b,c:_,v:I},end:{b:o.b,c:_,v:I},valid:v}],n.start_context.translations&&(n.passages[0].translations=structuredClone(n.start_context.translations)),p!=null&&(n.passages[0].start.p=p,n.passages[0].end.p=p),n.absolute_indices??=this.get_absolute_indices(n.indices),e.push(n),o.v=I,[e,o]}range(n,e,o){n.start_context=structuredClone(o);let[l,c]=n.value;if([[l],o]=this.handle_obj(l,[],o),c.type==="v"&&this.options.end_range_digits_strategy==="verse"&&(l.type==="bc"&&!l.passages?.[0]?.valid?.messages?.start_chapter_not_exist_in_single_chapter_book||l.type==="c"))return n.value[0]=l,this.range_change_integer_end(n,e);[[c],o]=this.handle_obj(c,[],o),n.value=[l,c],n.indices=[l.indices[0],c.indices[1]],delete n.absolute_indices;let p={b:l.passages[0].start.b,c:l.passages[0].start.c,v:l.passages[0].start.v,type:l.type};l.passages[0].start.p!=null&&(p.p=l.passages[0].start.p),l.passages[0].start.p_if_verse!=null&&(p.p_if_verse=l.passages[0].start.p_if_verse);let _={b:c.passages[0].end.b,c:c.passages[0].end.c,v:c.passages[0].end.v,type:c.type};c.passages[0].end.p!=null&&(_.p=c.passages[0].end.p),c.passages[0].end.p_if_verse!=null&&(_.p=c.passages[0].end.p_if_verse),l.passages[0].start.p_if_verse!=null&&(p.p_if_verse=l.passages[0].start.p_if_verse),c.passages[0].valid.messages.start_chapter_is_zero&&(_.c=0),c.passages[0].valid.messages.start_verse_is_zero&&(_.v=0);let v=this.validate_ref(n.start_context.translations,p,_);if(v.valid){let[I,P]=this.range_handle_valid(v,n,l,p,c,_,e);if(I)return P}else return this.range_handle_invalid(v,n,l,p,c,_,e);return n.absolute_indices??=this.get_absolute_indices(n.indices),n.passages=[{start:p,end:_,valid:v}],n.start_context.translations&&(n.passages[0].translations=structuredClone(n.start_context.translations)),p.type==="b"?n.type=_.type==="b"?"b_range":"b_range_start":_.type==="b"&&(n.type="range_end_b"),e.push(n),[e,o]}range_change_end(n,e,o){let[l,c]=n.value;if(c.type==="integer")c.original_value=c.value,c.value=o;else if(c.type==="v"){let p=this.pluck("integer",c.value);p.original_value=p.value,p.value=o}else if(c.type==="cv"){let p=this.pluck_integer("c",c.value);p.original_value=p.value,p.value=o}return this.handle_obj(n,e,n.start_context)}range_change_integer_end(n,e){let[o,l]=n.value;return n.original_type??=n.type,n.original_value??=[o,l],n.type=o.type==="integer"?"cv":o.type+"v",o.type==="integer"&&(n.value[0]={type:"c",value:[o],indices:o.indices}),l.type==="integer"&&(n.value[1]={type:"v",value:[l],indices:l.indices}),this.handle_obj(n,e,n.start_context)}range_check_new_end(n,e,o,l){let c=0,p;if(l.messages?.end_chapter_before_start)p="c";else if(l.messages?.end_verse_before_start)p="v";else return c;if(c=this.range_get_new_end_value(e,o,l,p),c>0){let _={b:o.b,c:o.c,v:o.v};_[p]=c,this.validate_ref(n,_).valid||(c=0)}return c}range_end_b(n,e,o){return this.range(n,e,o)}range_get_new_end_value(n,e,o,l){let c=0;return l==="c"&&o.messages?.end_chapter_is_zero||l==="v"&&o.messages?.end_verse_is_zero||(n[l]>=10&&e[l]<10&&n[l]-10*Math.floor(n[l]/10)<e[l]?c=e[l]+10*Math.floor(n[l]/10):n[l]>=100&&e[l]<100&&n[l]-100<e[l]&&(c=e[l]+100)),c}range_handle_invalid(n,e,o,l,c,p,_){if(n.valid===!1&&(n.messages?.end_chapter_before_start||n.messages?.end_verse_before_start)&&(c.type==="integer"||c.type==="v")||n.valid===!1&&n.messages?.end_chapter_before_start&&c.type==="cv"){let v=this.range_check_new_end(e.start_context.translations,l,p,n);if(v>0)return this.range_change_end(e,_,v)}if(this.options.end_range_digits_strategy==="verse"&&l.v==null&&(c.type==="integer"||c.type==="v")){let v=c.type==="v"?this.pluck("integer",c.value):c.value;if(this.validate_ref(e.start_context.translations,{b:l.b,c:l.c,v}).valid)return this.range_change_integer_end(e,_)}return e.original_type??=e.type,e.type="sequence",[e.original_value,e.value]=[[o,c],[[o],[c]]],this.sequence(e,_,structuredClone(e.start_context))}range_handle_valid(n,e,o,l,c,p,_){if(n.messages?.end_chapter_not_exist&&this.options.end_range_digits_strategy==="verse"&&!l.v&&(c.type==="integer"||c.type==="v")&&this.options.passage_existence_strategy.indexOf("v")>=0){let v=c.type==="v"?this.pluck("integer",c.value):c.value;if(this.validate_ref(e.start_context.translations,{b:l.b,c:l.c,v}).valid)return[!0,this.range_change_integer_end(e,_)]}return this.range_validate(n,l,p,e),[!1,null]}range_validate(n,e,o,l){n.messages?.end_chapter_not_exist||n.messages?.end_chapter_not_exist_in_single_chapter_book?(o.c=n.messages.end_chapter_not_exist??n.messages.end_chapter_not_exist_in_single_chapter_book,o.v!=null&&(o.v=this.validate_ref(l.start_context.translations,{b:o.b,c:o.c,v:999}).messages.end_verse_not_exist,delete n.messages.end_verse_is_zero)):n.messages?.end_verse_not_exist&&(o.v=n.messages.end_verse_not_exist,delete o.p),n.messages?.end_verse_is_zero&&this.options.zero_verse_strategy!=="allow"&&(o.v=n.messages.end_verse_is_zero),n.messages?.end_chapter_is_zero&&(o.c=n.messages.end_chapter_is_zero),[e.c,e.v]=this.fix_start_zeroes(n,e.c,e.v)}stop(n,e,o){return n.start_context={},e.push(n),[e,{}]}translation_sequence(n,e,o){n.start_context=structuredClone(o);let l=[];l.push({translation:this.books[n.value[0].value].parsed,system:"default",osis:""});for(let c of n.value[1]){let p=this.books[this.pluck("translation",c).value].parsed;p&&l.push({translation:p,system:"default",osis:""})}for(let c of l)this.translations.aliases[c.translation]?(c.system=this.translations.aliases[c.translation].system,c.osis=this.translations.aliases[c.translation].osis||c.translation.toUpperCase()):c.osis=c.translation.toUpperCase();return e.length>0&&(o=this.translation_sequence_apply(e,l)),n.absolute_indices=this.get_absolute_indices(n.indices),e.push(n),this.reset_context(o,["translations"]),[e,o]}translation_sequence_apply(n,e){let o=0;for(let c=n.length-1;c>=0;c--)if(n[c].original_type&&(n[c].type=n[c].original_type),n[c].original_value&&(n[c].value=n[c].original_value),n[c].type==="translation_sequence"||n[c].type==="stop"){o=c+1;break}let l;return o<n.length?(n[o].start_context.translations=e,[,l]=this.handle_array(n.slice(o),[],n[o].start_context)):l=structuredClone(n[n.length-1].start_context),l}word(n,e,o){return[e,o]}pluck(n,e){for(let o of e)if(o&&o.type&&o.type===n)return o;return null}pluck_integer(n,e){return this.pluck("integer",this.pluck(n,e).value)}pluck_last_recursively(n,e){for(let o=e.length-1;o>=0;o--){let l=e[o];if(!l||!l.type)continue;if(l.type===n)return this.pluck(n,[l]);let c=this.pluck_last_recursively(n,l.value);if(c!=null)return c}return null}set_context_from_object(n,e,o){for(let l of e)o[l]!=null&&(n[l]=o[l])}reset_context(n,e){for(let o of e)delete n[o]}get_partial_verse(n){return n.type!=="integer"&&(n=this.pluck("integer",n.value)),typeof n.partial=="string"?n.partial:null}fix_start_zeroes(n,e,o=void 0){return n.messages?.start_chapter_is_zero&&this.options.zero_chapter_strategy==="upgrade"&&(e=n.messages.start_chapter_is_zero),n.messages?.start_verse_is_zero&&this.options.zero_verse_strategy==="upgrade"&&(o=n.messages.start_verse_is_zero),[e,o]}calculate_indices(n,e){let o="book",l=[],c=0;typeof e!="number"&&(e=parseInt(e,10));for(let p of n.split(/[\x1e\x1f]/)){o=o==="book"?"rest":"book";let _=p.length;if(_!==0)if(o==="book"){let v=parseInt(p.replace(/\/\d+$/,""),10),I=c+_;l.length>0&&l[l.length-1].index===e?l[l.length-1].end=I:l.push({start:c,end:I,index:e}),c+=_+2,e=this.books[v].start_index+this.books[v].value.length-c,l.push({start:I+1,end:I+1,index:e})}else{let v=c+_-1;l.length>0&&l[l.length-1].index===e?l[l.length-1].end=v:l.push({start:c,end:v,index:e}),c+=_}}return l}get_absolute_indices([n,e]){let o=null,l=null;for(let c of this.indices)if(o===null&&c.start<=n&&n<=c.end&&(o=n+c.index),c.start<=e&&e<=c.end){l=e+c.index+1;break}return[o,l]}normalize_passage_and_alternates(n,e,o=0){n.passages.length===0&&n.passages.push(e.shift()),e.length>0&&(n.passages[0].alternates=e),n.start_context.translations&&(n.passages[0].translations=n.start_context.translations),(n.absolute_indices==null||o!==0)&&(n.absolute_indices=this.get_absolute_indices(n.indices),o!==0&&(n.absolute_indices[1]+=o))}validate_ref(n,e,o=null){(!n||n.length===0||!Array.isArray(n))&&(n=[{osis:"",translation:"current",system:"current"}]);let l=!1,c={};for(let p of n){if(!p.system){c.translation_invalid??=[],c.translation_invalid.push(p);continue}this.translations.aliases[p.system]||(p.syst