@numero-uno-jpn/rstats 0.5.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/CHANGELOG.md +101 -0
  2. package/README.ja.md +36 -20
  3. package/README.md +34 -18
  4. package/THIRD_PARTY_NOTICES.md +25 -5
  5. package/dist/chunks/chunk-2JCIB5H2.js +2 -0
  6. package/dist/chunks/chunk-7JVSDGQQ.js +2 -0
  7. package/dist/chunks/chunk-7NK4SA6B.js +2 -0
  8. package/dist/chunks/chunk-AJYQNFXK.js +2 -0
  9. package/dist/chunks/chunk-DRNMIEYH.js +2 -0
  10. package/dist/chunks/chunk-NAYDS7CL.js +2 -0
  11. package/dist/chunks/chunk-NOCEAM44.js +2 -0
  12. package/dist/chunks/chunk-QNAIK4PY.js +2 -0
  13. package/dist/chunks/chunk-TPC6MTYC.js +2 -0
  14. package/dist/chunks/chunk-UGUQYWRQ.js +2 -0
  15. package/dist/chunks/chunk-XM2TVD63.js +2 -0
  16. package/dist/chunks/chunk-Y4IZV7XK.js +2 -0
  17. package/dist/chunks/chunk-ZWJ42QN6.js +2 -0
  18. package/dist/descriptive/basic.d.ts +73 -0
  19. package/dist/descriptive/basic.js +256 -0
  20. package/dist/descriptive/cov.d.ts +39 -0
  21. package/dist/descriptive/cov.js +105 -0
  22. package/dist/descriptive/hist.d.ts +64 -0
  23. package/dist/descriptive/hist.js +304 -0
  24. package/dist/descriptive/moments.d.ts +63 -0
  25. package/dist/descriptive/moments.js +158 -0
  26. package/dist/descriptive/quantile.d.ts +50 -0
  27. package/dist/descriptive/quantile.js +131 -0
  28. package/dist/descriptive/rank.d.ts +23 -0
  29. package/dist/descriptive/rank.js +72 -0
  30. package/dist/descriptive/table.d.ts +54 -0
  31. package/dist/descriptive/table.js +160 -0
  32. package/dist/descriptive.js +2 -0
  33. package/dist/distributions/arcsine.d.ts +24 -0
  34. package/dist/distributions/arcsine.js +73 -0
  35. package/dist/distributions/invgamma.d.ts +29 -0
  36. package/dist/distributions/invgamma.js +85 -0
  37. package/dist/distributions/kumaraswamy.d.ts +17 -0
  38. package/dist/distributions/kumaraswamy.js +96 -0
  39. package/dist/distributions/laplace.d.ts +23 -0
  40. package/dist/distributions/laplace.js +69 -0
  41. package/dist/distributions/multinomial.d.ts +24 -0
  42. package/dist/distributions/multinomial.js +70 -0
  43. package/dist/distributions/nbeta.js +28 -10
  44. package/dist/distributions/nchisq.js +20 -3
  45. package/dist/distributions/pareto.d.ts +23 -0
  46. package/dist/distributions/pareto.js +76 -0
  47. package/dist/distributions/summary.d.ts +25 -0
  48. package/dist/distributions/summary.js +289 -0
  49. package/dist/distributions/triangular.d.ts +25 -0
  50. package/dist/distributions/triangular.js +87 -0
  51. package/dist/distributions.js +2 -0
  52. package/dist/entries/descriptive.d.ts +7 -0
  53. package/dist/entries/descriptive.js +8 -0
  54. package/dist/entries/distributions.d.ts +41 -0
  55. package/dist/entries/distributions.js +41 -0
  56. package/dist/entries/linalg.d.ts +11 -0
  57. package/dist/entries/linalg.js +11 -0
  58. package/dist/entries/numerics.d.ts +8 -0
  59. package/dist/entries/numerics.js +6 -0
  60. package/dist/entries/special.d.ts +9 -0
  61. package/dist/entries/special.js +9 -0
  62. package/dist/entries/tests.d.ts +21 -0
  63. package/dist/entries/tests.js +20 -0
  64. package/dist/htest/ansariTest.d.ts +13 -0
  65. package/dist/htest/ansariTest.js +80 -0
  66. package/dist/htest/aov.d.ts +85 -0
  67. package/dist/htest/aov.js +178 -0
  68. package/dist/htest/binomTest.d.ts +36 -0
  69. package/dist/htest/binomTest.js +121 -0
  70. package/dist/htest/cor.d.ts +14 -0
  71. package/dist/htest/cor.js +4 -3
  72. package/dist/htest/core/ansari.d.ts +18 -0
  73. package/dist/htest/core/ansari.js +121 -0
  74. package/dist/htest/core/kolmogorov.d.ts +26 -0
  75. package/dist/htest/core/kolmogorov.js +221 -0
  76. package/dist/htest/core/mantelhaen.d.ts +26 -0
  77. package/dist/htest/core/mantelhaen.js +145 -0
  78. package/dist/htest/core/shapiro.d.ts +24 -0
  79. package/dist/htest/core/shapiro.js +142 -0
  80. package/dist/htest/core/smirnov.d.ts +20 -0
  81. package/dist/htest/core/smirnov.js +75 -0
  82. package/dist/htest/fisherTest.js +134 -120
  83. package/dist/htest/groups.d.ts +20 -0
  84. package/dist/htest/groups.js +62 -0
  85. package/dist/htest/ksTest.d.ts +31 -0
  86. package/dist/htest/ksTest.js +106 -0
  87. package/dist/htest/mantelhaenTest.d.ts +26 -0
  88. package/dist/htest/mantelhaenTest.js +196 -0
  89. package/dist/htest/mcnemarTest.d.ts +26 -0
  90. package/dist/htest/mcnemarTest.js +99 -0
  91. package/dist/htest/onewayTest.d.ts +26 -0
  92. package/dist/htest/onewayTest.js +97 -0
  93. package/dist/htest/pairwise.d.ts +64 -0
  94. package/dist/htest/pairwise.js +152 -0
  95. package/dist/htest/poissonTest.d.ts +35 -0
  96. package/dist/htest/poissonTest.js +170 -0
  97. package/dist/htest/propTest.d.ts +37 -0
  98. package/dist/htest/propTest.js +164 -0
  99. package/dist/htest/rankTests.d.ts +52 -0
  100. package/dist/htest/rankTests.js +234 -0
  101. package/dist/htest/types.d.ts +2 -0
  102. package/dist/htest/types.js +6 -0
  103. package/dist/htest/varTest.d.ts +48 -0
  104. package/dist/htest/varTest.js +118 -0
  105. package/dist/htest/wilcoxTest.js +136 -174
  106. package/dist/index.d.ts +6 -50
  107. package/dist/index.js +8 -50
  108. package/dist/integrate/quadpack.d.ts +29 -0
  109. package/dist/integrate/quadpack.js +525 -0
  110. package/dist/internal/seq.d.ts +5 -0
  111. package/dist/internal/seq.js +14 -0
  112. package/dist/internal/uniroot.js +10 -71
  113. package/dist/linalg/lu.d.ts +45 -0
  114. package/dist/linalg/lu.js +88 -0
  115. package/dist/linalg/ops.d.ts +90 -0
  116. package/dist/linalg/ops.js +320 -0
  117. package/dist/linalg.js +2 -0
  118. package/dist/models/lm.d.ts +98 -0
  119. package/dist/models/lm.js +187 -0
  120. package/dist/numerics/deriv.d.ts +37 -0
  121. package/dist/numerics/deriv.js +150 -0
  122. package/dist/numerics/integrate.d.ts +91 -0
  123. package/dist/numerics/integrate.js +264 -0
  124. package/dist/numerics/interp.d.ts +103 -0
  125. package/dist/numerics/interp.js +581 -0
  126. package/dist/numerics/ode.d.ts +23 -0
  127. package/dist/numerics/ode.js +59 -0
  128. package/dist/numerics.js +2 -0
  129. package/dist/optim/localmin.d.ts +16 -0
  130. package/dist/optim/localmin.js +97 -0
  131. package/dist/random/beta.js +1 -1
  132. package/dist/random/binomial.js +1 -1
  133. package/dist/random/continuous.js +1 -1
  134. package/dist/random/extra.d.ts +33 -0
  135. package/dist/random/extra.js +62 -0
  136. package/dist/random/gamma.js +1 -1
  137. package/dist/random/hyper.js +1 -1
  138. package/dist/random/mt.js +0 -1
  139. package/dist/random/poisson.js +0 -1
  140. package/dist/random/rank.js +1 -1
  141. package/dist/random/rng.js +1 -1
  142. package/dist/random/sample.js +1 -1
  143. package/dist/rstats.js +2 -2
  144. package/dist/special/besselIK.d.ts +38 -0
  145. package/dist/special/besselIK.js +315 -0
  146. package/dist/special/besselJY.d.ts +32 -0
  147. package/dist/special/besselJY.js +508 -0
  148. package/dist/special/besselSeries.d.ts +8 -0
  149. package/dist/special/besselSeries.js +24 -0
  150. package/dist/special/beta.js +22 -5
  151. package/dist/special/choose.d.ts +75 -0
  152. package/dist/special/choose.js +233 -0
  153. package/dist/special/erf.d.ts +28 -2
  154. package/dist/special/erf.js +37 -10
  155. package/dist/special/extra.d.ts +47 -0
  156. package/dist/special/extra.js +220 -0
  157. package/dist/special/igam.d.ts +4 -0
  158. package/dist/special/igam.js +57 -2
  159. package/dist/special/incbet.js +77 -22
  160. package/dist/special/lgammaDiff.d.ts +7 -0
  161. package/dist/special/lgammaDiff.js +16 -3
  162. package/dist/special/psigamma.d.ts +48 -0
  163. package/dist/special/psigamma.js +318 -0
  164. package/dist/special/rCompatible.d.ts +8 -0
  165. package/dist/special/rCompatible.js +1 -0
  166. package/dist/special.js +2 -0
  167. package/dist/tests.js +2 -0
  168. package/package.json +26 -1
package/dist/rstats.js CHANGED
@@ -1,2 +1,2 @@
1
- /*! rStats.js 0.5.0 | MIT License | includes code ported from SciPy, Boost.Math, statsmodels, LAPACK and others: see THIRD_PARTY_NOTICES.md at https://github.com/numero-uno-jpn/rStats.js */
2
- var jt=11102230246251565e-32;var Ce=171.6243769563027,Vo=.9189385332046728,oc=1.1447298858494002;var _r=.5772156649015329;function vt(t,e){let n=e[0];for(let r=1;r<e.length;r++)n=n*t+e[r];return n}function be(t,e){let n=t+e[0];for(let r=1;r<e.length;r++)n=n*t+e[r];return n}var ge=!0;function zi(){return ge}function j(t,e){if(!ge)return[t+e,0];let n=t+e,r=n-t,o=t-(n-r)+(e-r);return[n,o]}function lt(t,e){if(!ge)return[t*e,0];let n=t*e,r=134217729*t,o=r-(r-t),i=t-o;r=134217729*e;let s=r-(r-e),a=e-s,c=o*s-n+o*a+i*s+i*a;return[n,c]}function A(t,e){if(!ge)return[t[0]+e[0],0];let n=t[0]+e[0],r=n-t[0],o=t[0]-(n-r)+(e[0]-r),i=t[1]+e[1],s=i-t[1],a=t[1]-(i-s)+(e[1]-s),c=o+i,f=n+c,l=c-(f-n)+a,h=f+l,m=l-(h-f);return[h,m]}function Ct(t){return[-t[0],-t[1]]}function U(t,e){if(!ge)return[t[0]-e[0],0];let n=-e[0],r=-e[1],o=t[0]+n,i=o-t[0],s=t[0]-(o-i)+(n-i),a=t[1]+r,c=a-t[1],f=t[1]-(a-c)+(r-c),u=s+a,l=o+u,m=u-(l-o)+f,N=l+m,M=m-(N-l);return[N,M]}function k(t,e){if(!ge)return[t[0]*e[0],0];let n=t[0]*e[0],r=134217729*t[0],o=r-(r-t[0]),i=t[0]-o,s=134217729*e[0],a=s-(s-e[0]),c=e[0]-a,u=o*a-n+o*c+i*a+i*c+(t[0]*e[1]+t[1]*e[0]),l=n+u,h=u-(l-n);return[l,h]}function T(t,e){if(!ge)return[t[0]*e,0];let n=t[0]*e,r=134217729*t[0],o=r-(r-t[0]),i=t[0]-o,s=134217729*e,a=s-(s-e),c=e-a,u=o*a-n+o*c+i*a+i*c+t[1]*e,l=n+u,h=u-(l-n);return[l,h]}function Q(t,e){if(!ge)return[t[0]/e[0],0];let n=t[0]/e[0],r=e[0]*n,o=134217729*e[0],i=o-(o-e[0]),s=e[0]-i,a=134217729*n,c=a-(a-n),f=n-c,l=i*c-r+i*f+s*c+s*f+e[1]*n,h=r+l,m=l-(h-r),N=-h,M=-m,d=t[0]+N,p=d-t[0],w=t[0]-(d-p)+(N-p),b=t[1]+M,g=b-t[1],v=t[1]-(b-g)+(M-g),F=w+b,x=d+F,L=F-(x-d)+v,y=x+L,E=L-(y-x),q=y/e[0],I=e[0]*q,P=134217729*e[0],$=P-(P-e[0]),et=e[0]-$,yt=134217729*q,tt=yt-(yt-q),z=q-tt,Z=$*tt-I+$*z+et*tt+et*z+e[1]*q,Nt=I+Z,St=Z-(Nt-I),It=-Nt,re=-St,qt=y+It,Ht=qt-y,Re=y-(qt-Ht)+(It-Ht),Qt=E+re,oe=Qt-E,Ue=E-(Qt-oe)+(re-oe),ie=Re+Qt,Vt=qt+ie,Gt=ie-(Vt-qt)+Ue,Kt=Vt+Gt,Fi=Gt-(Kt-Vt),Yt=Kt/e[0],pt=n+q,$t=q-(pt-n),ft=pt+Yt,Ut=ft-pt,un=pt-(ft-Ut)+(Yt-Ut),kt=$t+0,_t=kt-$t,me=$t-(kt-_t)+(0-_t),bt=un+kt,Tt=ft+bt,zt=bt-(Tt-ft)+me,se=Tt+zt,We=zt-(se-Tt);return[se,We]}function Wt(t,e){if(!ge)return[t[0]/e,0];let n=t[0]/e,r=e*n,o=134217729*e,i=o-(o-e),s=e-i,a=134217729*n,c=a-(a-n),f=n-c,l=i*c-r+i*f+s*c+s*f+0*n,h=r+l,m=l-(h-r),N=-h,M=-m,d=t[0]+N,p=d-t[0],w=t[0]-(d-p)+(N-p),b=t[1]+M,g=b-t[1],v=t[1]-(b-g)+(M-g),F=w+b,x=d+F,L=F-(x-d)+v,y=x+L,E=L-(y-x),q=y/e,I=e*q,P=134217729*e,$=P-(P-e),et=e-$,yt=134217729*q,tt=yt-(yt-q),z=q-tt,Z=$*tt-I+$*z+et*tt+et*z+0*q,Nt=I+Z,St=Z-(Nt-I),It=-Nt,re=-St,qt=y+It,Ht=qt-y,Re=y-(qt-Ht)+(It-Ht),Qt=E+re,oe=Qt-E,Ue=E-(Qt-oe)+(re-oe),ie=Re+Qt,Vt=qt+ie,Gt=ie-(Vt-qt)+Ue,Kt=Vt+Gt,Fi=Gt-(Kt-Vt),Yt=Kt/e,pt=n+q,$t=q-(pt-n),ft=pt+Yt,Ut=ft-pt,un=pt-(ft-Ut)+(Yt-Ut),kt=$t+0,_t=kt-$t,me=$t-(kt-_t)+(0-_t),bt=un+kt,Tt=ft+bt,zt=bt-(Tt-ft)+me,se=Tt+zt,We=zt-(se-Tt);return[se,We]}var Go=[.6931471805599453,23190468138462996e-33],ic=Math.SQRT2,nt=[[1,0],[.3333333333333333,1850371707708594e-32],[.2,-11102230246251566e-33],[.14285714285714285,793016446160826e-32],[.1111111111111111,61679056923619804e-34],[.09090909090909091,-2523234146875356e-33]],K2=89,Y2=[[-.3633938941874773,-2106844752226605e-32],[-.3522205935893521,-57233316949182485e-34],[-.34117075740276714,19366790062602867e-33],[-.33024168687057687,10828321637483858e-33],[-.3194307707663612,-1354256857264811e-33],[-.3087354816496133,16199186085148102e-33],[-.29815337231907635,1720695867445866e-32],[-.2876820724517809,-2607160616442564e-32],[-.27731928541623435,744528405583513e-32],[-.26706278524904525,732891532732017e-32],[-.2569104137850272,-2502843296152504e-32],[-.24686007793152578,-1361743371748368e-32],[-.2369097470783577,-19682402978398164e-34],[-.22705745063534608,-9551415762738488e-33],[-.2173012756899814,-16168452453763015e-34],[-.2076393647782445,-12053243216686129e-33],[-.1980699137620938,-3742843482461439e-33],[-.18859116980755003,7432164219196925e-33],[-.179201429457711,10785017454858423e-33],[-.16989903679539747,4868008764439071e-34],[-.16068238169047347,3650183553047837e-33],[-.15154989812720093,-51669593684615594e-34],[-.14250006260728304,9926388234225749e-33],[-.13353139262452263,3664457663660085e-33],[-.1246424452072766,5808912678940971e-33],[-.1158318155251217,-4338484369808096e-33],[-.1070981355563671,173705104015906e-32],[-.09844007281325252,4439009633675136e-33],[-.08985632912186105,6273760163689594e-34],[-.0813456394539524,-507707635593117e-32],[-.07290677080808779,6306860257532778e-33],[-.06453852113757118,6470486661692933e-33],[-.05623971832287608,32835149805605613e-34],[-.048009219186360606,-14390903347292205e-34],[-.039845908547199674,3129547680315208e-33],[-.0317486983145803,-30382263084680858e-34],[-.023716526617316044,15774243488668215e-34],[-.015748356968139168,-10021578630528974e-34],[-.007843177461025893,-2764708154124904e-34],[0,0],[.007782140442054949,-12819179123343845e-36],[.015504186535965254,-3278321022892429e-34],[.02316705928153438,-11769544932063305e-34],[.030771658666753687,10431732029005968e-34],[.0383188643021366,-2357996157351286e-33],[.0458095360312942,1902959866474257e-33],[.053244514518812285,-1665575816973663e-33],[.06062462181643484,26424025938726934e-34],[.06795066190850775,-12802141240611733e-34],[.07522342123758753,-5930604196293241e-33],[.08244366921107459,5700437773813987e-33],[.08961215868968714,-54268129336647135e-34],[.09672962645855111,-5597397486289965e-34],[.10379679368164356,547772415726659e-32],[.11081436634029011,1183748342825649e-33],[.11778303565638346,-11971685747593677e-34],[.12470347850095724,-46522609636496624e-34],[.13157635778871926,11123000879729588e-33],[.13840232285911913,4447777301357527e-33],[.1451820098444979,8242418783022475e-33],[.15191604202584197,64838631244022194e-34],[.15860503017663857,11257003872182592e-33],[.16524957289530717,-10094935622322628e-33],[.17185025692665923,-60224538210113705e-34],[.1784076574728183,-12432553788701131e-33],[.184922338494012,30236614153574064e-34],[.19139485299962947,-12129496905792884e-33],[.19782574332991987,12821194372980142e-33],[.2042155414286909,27338281018722773e-34],[.21056476910734964,-4249405314729895e-33],[.21687393830061436,4551026193234283e-33],[.22314355131420976,-9091270597324799e-33],[.22937410106484582,9927671823978025e-33],[.2355660713127669,-23943371495187355e-34],[.24171993688714516,8900990022166643e-33],[.24783616390458127,-12432209578702523e-33],[.25391520998096345,-8048097394424201e-33],[.25995752443692605,2069806938978935e-32],[.26596354849713794,53393802761314314e-34],[.27193371548364176,783319637697442e-33],[.2778684510034563,-916018294909263e-33],[.2837681731306446,-2032665581126656e-32],[.28963329258304266,20535953219858174e-33],[.2954642128938359,-216461086040599e-31],[.3012613305781618,-9048511144048564e-33],[.3070250352949119,-12319916200101964e-33],[.3127557100038969,-1451808353098951e-32],[.3184537311185346,27114779367326236e-33],[.324119468654212,-7958214381893813e-33],[.329753286372468,2122020616196946e-33],[.3353555419211378,1834564437059473e-32],[.3409265869705932,17467136443544747e-33],[.34646676734620857,1028583585496265e-32],[.3519764231571782,-12953893030191963e-33],[.3574558889218038,-25136910072413547e-33]];function V(t){if(!ge)return[Math.log(t[0]),0];let e=t[0],n=t[1],r=0;e<22250738585072014e-324&&(e*=2**600,n*=2**600,r=-600);let o=Math.floor(Math.log2(e));r+=o;let i=2**-o,s=e*i,a=n*i;s>=ic?(s=s/2,a=a/2,r+=1):s<ic/2&&(s=s*2,a=a*2,r-=1);let c=Math.round(s*128),f=c/128,u=Y2[c-K2],l=-f,h=-0,m=s+l,N=m-s,M=s-(m-N)+(l-N),d=a+h,p=d-a,w=a-(d-p)+(h-p),b=M+d,g=m+b,F=b-(g-m)+w,x=g+F,R=F-(x-g),L=s+f,y=L-s,E=s-(L-y)+(f-y),q=a+0,I=q-a,P=a-(q-I)+(0-I),$=E+q,et=L+$,tt=$-(et-L)+P,z=et+tt,ct=tt-(z-et),Z=x/z,Nt=z*Z,St=134217729*z,It=St-(St-z),re=z-It,qt=134217729*Z,Ht=qt-(qt-Z),Re=Z-Ht,oe=It*Ht-Nt+It*Re+re*Ht+re*Re+ct*Z,Ue=Nt+oe,ie=oe-(Ue-Nt),Vt=-Ue,Qn=-ie,Gt=x+Vt,Kt=Gt-x,Fi=x-(Gt-Kt)+(Vt-Kt),Yt=R+Qn,pt=Yt-R,$t=R-(Yt-pt)+(Qn-pt),ft=Fi+Yt,Ut=Gt+ft,kt=ft-(Ut-Gt)+$t,_t=Ut+kt,me=kt-(_t-Ut),bt=_t/z,Tt=z*bt,eo=134217729*z,zt=eo-(eo-z),se=z-zt,We=134217729*bt,Vn=We-(We-bt),no=bt-Vn,oo=zt*Vn-Tt+zt*no+se*Vn+se*no+ct*bt,Ei=Tt+oo,io=oo-(Ei-Tt),so=-Ei,Ai=-io,ln=_t+so,Gn=ln-_t,La=_t-(ln-Gn)+(so-Gn),$n=me+Ai,ao=$n-me,Sa=me-($n-ao)+(Ai-ao),co=La+$n,Xe=ln+co,hn=co-(Xe-ln)+Sa,fo=Xe+hn,qa=hn-(fo-Xe),Un=fo/z,mn=Z+bt,uo=bt-(mn-Z),Nn=mn+Un,Wn=Nn-mn,ka=mn-(Nn-Wn)+(Un-Wn),Xn=uo+0,lo=Xn-uo,w0=uo-(Xn-lo)+(0-lo),st=ka+Xn,He=Nn+st,ho=st-(He-Nn)+w0,ut=He+ho,Hn=ho-(ut-He),Kn=ut*ut,Yn=134217729*ut,zn=Yn-(Yn-ut),y0=ut-zn,mo=134217729*ut,Zn=mo-(mo-ut),Si=ut-Zn,Le=zn*Zn-Kn+zn*Si+y0*Zn+y0*Si+(ut*Hn+Hn*ut),H=Kn+Le,Se=Le-(H-Kn),Jn=nt[5][0]*H,tr=134217729*nt[5][0],er=tr-(tr-nt[5][0]),No=nt[5][0]-er,nr=134217729*H,rr=nr-(nr-H),I0=H-rr,Mo=er*rr-Jn+er*I0+No*rr+No*I0+(nt[5][0]*Se+nt[5][1]*H),or=Jn+Mo,Dt=Mo-(or-Jn),Ne=or+nt[4][0],ir=Ne-or,qi=or-(Ne-ir)+(nt[4][0]-ir),dn=Dt+nt[4][1],po=dn-Dt,ki=Dt-(dn-po)+(nt[4][1]-po),sr=qi+dn,ar=Ne+sr,bo=sr-(ar-Ne)+ki,qe=ar+bo,x0=bo-(qe-ar),ke=qe*H,_i=134217729*qe,pn=_i-(_i-qe),cr=qe-pn,go=134217729*H,bn=go-(go-H),wo=H-bn,fr=pn*bn-ke+pn*wo+cr*bn+cr*wo+(qe*Se+x0*H),gn=ke+fr,Ti=fr-(gn-ke),wn=gn+nt[3][0],yo=wn-gn,E0=gn-(wn-yo)+(nt[3][0]-yo),Et=Ti+nt[3][1],Me=Et-Ti,Io=Ti-(Et-Me)+(nt[3][1]-Me),vo=E0+Et,yn=wn+vo,xo=vo-(yn-wn)+Io,de=yn+xo,Di=xo-(de-yn),ji=de*H,Fo=134217729*de,ur=Fo-(Fo-de),Ci=de-ur,Eo=134217729*H,lr=Eo-(Eo-H),In=H-lr,Pi=ur*lr-ji+ur*In+Ci*lr+Ci*In+(de*Se+Di*H),Ke=ji+Pi,hr=Pi-(Ke-ji),mr=Ke+nt[2][0],Ao=mr-Ke,Ro=Ke-(mr-Ao)+(nt[2][0]-Ao),Oi=hr+nt[2][1],Lo=Oi-hr,vn=hr-(Oi-Lo)+(nt[2][1]-Lo),Nr=Ro+Oi,ae=mr+Nr,So=Nr-(ae-mr)+vn,pe=ae+So,Qi=So-(pe-ae),Mr=pe*H,dr=134217729*pe,pr=dr-(dr-pe),L0=pe-pr,qo=134217729*H,br=qo-(qo-H),Vi=H-br,ko=pr*br-Mr+pr*Vi+L0*br+L0*Vi+(pe*Se+Qi*H),_e=Mr+ko,gr=ko-(_e-Mr),wr=_e+nt[1][0],yr=wr-_e,Gi=_e-(wr-yr)+(nt[1][0]-yr),_o=gr+nt[1][1],To=_o-gr,Do=gr-(_o-To)+(nt[1][1]-To),q0=Gi+_o,Ir=wr+q0,_0=q0-(Ir-wr)+Do,Te=Ir+_0,vr=_0-(Te-Ir),xn=Te*H,Fn=134217729*Te,xr=Fn-(Fn-Te),$i=Te-xr,Fr=134217729*H,Er=Fr-(Fr-H),Ui=H-Er,Ar=xr*Er-xn+xr*Ui+$i*Er+$i*Ui+(Te*Se+vr*H),jo=xn+Ar,Rr=Ar-(jo-xn),De=jo+nt[0][0],Co=De-jo,Lr=jo-(De-Co)+(nt[0][0]-Co),Sr=Rr+nt[0][1],Wi=Sr-Rr,Po=Rr-(Sr-Wi)+(nt[0][1]-Wi),Oo=Lr+Sr,Bo=De+Oo,qr=Oo-(Bo-De)+Po,En=Bo+qr,Xi=qr-(En-Bo),je=ut*En,kr=134217729*ut,j0=kr-(kr-ut),_a=ut-j0,Ta=134217729*En,C0=Ta-(Ta-En),Da=En-C0,ja=j0*C0-je+j0*Da+_a*C0+_a*Da+(ut*Xi+Hn*En),Qo=je+ja,G2=ja-(Qo-je),P0=Qo*2,Ca=134217729*Qo,O0=Ca-(Ca-Qo),Pa=Qo-O0,Oa=134217729*2,B0=Oa-(Oa-2),Ba=2-B0,Qa=O0*B0-P0+O0*Ba+Pa*B0+Pa*Ba+G2*2,Q0=P0+Qa,Va=Qa-(Q0-P0),Hi=u[0]+Q0,Ga=Hi-u[0],$2=u[0]-(Hi-Ga)+(Q0-Ga),V0=u[1]+Va,$a=V0-u[1],U2=u[1]-(V0-$a)+(Va-$a),Ua=$2+V0,G0=Hi+Ua,Wa=Ua-(G0-Hi)+U2,Ki=G0+Wa,$0=Wa-(Ki-G0),U0=Go[0]*r,Xa=134217729*Go[0],W0=Xa-(Xa-Go[0]),Ha=Go[0]-W0,Ka=134217729*r,X0=Ka-(Ka-r),Ya=r-X0,za=W0*X0-U0+W0*Ya+Ha*X0+Ha*Ya+Go[1]*r,H0=U0+za,Za=za-(H0-U0),Yi=Ki+H0,Ja=Yi-Ki,W2=Ki-(Yi-Ja)+(H0-Ja),K0=$0+Za,tc=K0-$0,X2=$0-(K0-tc)+(Za-tc),ec=W2+K0,Y0=Yi+ec,nc=ec-(Y0-Yi)+X2,rc=Y0+nc,H2=nc-(rc-Y0);return[rc,H2]}var z2=[.00016011952247675185,.0011913514700658638,.010421379756176158,.04763678004571372,.20744822764843598,.4942148268014971,1],Z2=[-23158187332412014e-21,.0005396055804933034,-.004456419138517973,.011813978522206043,.035823639860549865,-.23459179571824335,.0714304917030273,1];function fc(t){let e=1;t<0&&(t=-t,e=-1);let n=t%2;return n<.5?e*Math.sin(Math.PI*n):n>1.5?e*Math.sin(Math.PI*(n-2)):-e*Math.sin(Math.PI*(n-1))}function sc(t){if(t>=Ce)return 1/0;let e=t-1,n=A(T(V([e,0]),e),[-e+sl(e),0]);return Math.sqrt(2*Math.PI*e)*Math.exp(n[0])*(1+n[1])}function ce(t){if(!Number.isFinite(t))return t>0?t:NaN;if(t===0)return NaN;let e=Math.abs(t);if(e>33){if(t<0){let r=Math.floor(e);if(r===e)return NaN;let o=r%2===0?-1:1,i=e-r;return i>.5&&(r+=1,i=e-r),i=e*fc(i),i===0?o*(1/0):o*Math.PI/(Math.abs(i)*sc(e))}return sc(t)}let n=1;for(;t>=3;)t-=1,n*=t;for(;t<0;){if(t>-1e-9)return ac(t,n);n/=t,t+=1}for(;t<2;){if(t<1e-9)return ac(t,n);n/=t,t+=1}return t===2?n:(t-=2,n*vt(t,z2)/vt(t,Z2))}function ac(t,e){return t===0?NaN:e/((1+_r*t)*t)}var J2=[.0008116141674705085,-.0005950619042843014,.0007936503404577169,-.002777777777300997,.08333333333333319],tl=[-1378.2515256912086,-38801.631513463784,-331612.9927388712,-1162370974927623e-9,-1.7217370082083966e6,-853555.6642457654],el=[-351.81570143652345,-17064.210665188115,-220528.59055385445,-1.1393344436798252e6,-2.5325230717758294e6,-2.0188914143353277e6],nl=2556348e299;function rl(t){let e=(t-.5)*Math.log(t)-t+Vo;if(t>1e8)return e;let n=1/(t*t);return e+((.0007936507936507937*n-.002777777777777778)*n+.08333333333333333)/t}function we(t){if(!Number.isFinite(t))return{value:t===-1/0?1/0:t,sign:1};if(t<-34){let r=-t,o=we(r).value,i=Math.floor(r);if(i===r)return{value:1/0,sign:1};let s=i%2===0?-1:1,a=r-i;return a>.5&&(i+=1,a=i-r),a=r*fc(a),a===0?{value:1/0,sign:1}:{value:oc-Math.log(a)-o,sign:s}}if(t<13){let r=1,o=0,i=t;for(;i>=3;)o-=1,i=t+o,r*=i;for(;i<2;){if(i===0)return{value:1/0,sign:1};r/=i,o+=1,i=t+o}let s=1;if(r<0&&(s=-1,r=-r),i===2)return{value:Math.log(r),sign:s};o-=2;let a=t+o;return{value:Math.log(r)+a*vt(a,tl)/be(a,el),sign:s}}if(t>nl)return{value:1/0,sign:1};if(t>=1e3)return{value:rl(t),sign:1};let e=(t-.5)*Math.log(t)-t+Vo,n=1/(t*t);return{value:e+vt(n,J2)/t,sign:1}}function At(t){return Math.abs(t-1)<=.2?Pt(t-1):Math.abs(t-2)<=.2?Pt(t-2)+Math.log1p(t-2):we(t).value}var ol=[1.6449340668482264,1.2020569031595942,1.0823232337111381,1.03692775514337,1.0173430619844492,1.008349277381923,1.0040773561979444,1.0020083928260821,1.000994575127818,1.0004941886041194,1.000246086553308,1.0001227133475785,1.0000612481350588,1.000030588236307,1.0000152822594086,1.0000076371976379,1.000003817293265,1.0000019082127165,1.0000009539620338,1.0000004769329869,1.0000002384505027,1.000000119219926,1.000000059608189,1.0000000298035034,1.0000000149015549,1.0000000074507118,1.000000003725334,1.0000000018626598,1.0000000009313275,1.0000000004656628,1.000000000232831,1.0000000001164155,1.0000000000582077,1.0000000000291038,1.000000000014552,1.000000000007276,1.000000000003638,1.000000000001819,1.0000000000009095,1.0000000000004547];function cc(t){if(t===0)return 0;let e=-_r*t,n=-t;for(let r=2;r<42;r++){n*=-t;let o=ol[r-2]*n/r;if(e+=o,Math.abs(o)<jt*Math.abs(e))break}return e}function Pt(t){return Math.abs(t)<=.2?cc(t):Math.abs(t-1)<=.2?Math.log(t)+cc(t-1):At(t+1)}var il=[1/12,-1/360,1/1260,-1/1680,1/1188,-691/360360,1/156];function sl(t){let e=1/(t*t),n=0,r=1/t;for(let o of il)n+=o*r,r*=e;return n}var uc=[.08333333333333333,-.002777777777777778,.0007936507936507937,-.0005952380952380953,.0008417508417508417,-.0019175269175269176,.00641025641025641];function Tr(t,e){if(t===0)return 0;let n=0,r=e;for(;r<=15;)n-=Math.log1p(t/r),r+=1;let o=Math.log1p(t/r),i=(r-.5)*o+t*Math.log(r+t)-t,s=1/r,a=1/(r*r);for(let c=0;c<uc.length;c++){let f=2*c+1;i+=uc[c]*s*Math.expm1(-f*o),s*=a}return n+i}var lc=22250738585072014e-324,J0=1.8378770664093456,al=[.15342640972002736,.08106146679532726,.05481412105191765,.0413406959554093,.03316287351993629,.02767792568499834,.023746163656297496,.020790672103765093,.018488450532673187,.016644691189821193,.015134973221917378,.013876128823070748,.012810465242920227,.01189670994589177,.011104559758206917,.010411265261972096,.009799416126158804,.009255462182712733,.008768700134139386,.00833056343336287,.00793411456431402,.007573675487951841,.007244554301320383,.00694284010720953,.006665247032707682,.006408994188004207,.006171712263039458,.0059513701127588475,.0057462165130101155,.005554733551962801],Zi=1/12,Ji=1/360,z0=1/1260,hc=1/1680,cl=1/1188,fl=691/360360,ul=1/156;function mc(t){let e=1/(t*t);return t>500?(Zi-Ji*e)/t:t>80?(Zi-(Ji-z0*e)*e)/t:t>35?(Zi-(Ji-(z0-hc*e)*e)*e)/t:(Zi-(Ji-(z0-(hc-(cl-(fl-ul*e)*e)*e)*e)*e)*e)/t}function ht(t){if(t>15)return mc(t);let e=2*t;if(e===Math.floor(e)&&e>=1)return al[e-1];if(t<1)return Pt(t)-(t+.5)*Math.log(t)+t-Vo;let n=0,r=t;for(;r<=15;)n+=(r+.5)*Math.log1p(1/r)-1,r+=1;return n+mc(r)}function Ot(t,e){if(!zi())return ll(t,e);let n=-e[0],r=-e[1],o=t+n,i=o-t,s=t-(o-i)+(n-i),a=0+r,c=a-0,f=0-(a-c)+(r-c),u=s+a,l=o+u,m=u-(l-o)+f,N=l+m,M=m-(N-l),d=N,p=M;if(Math.abs(d)<.1*(t+e[0])){let b=t+e[0],g=b-t,v=t-(b-g)+(e[0]-g),F=0+e[1],x=F-0,R=0-(F-x)+(e[1]-x),L=v+F,y=b+L,q=L-(y-b)+R,I=y+q,P=q-(I-y),$=d/I,et=I*$,yt=134217729*I,tt=yt-(yt-I),z=I-tt,ct=134217729*$,Z=ct-(ct-$),Nt=$-Z,It=tt*Z-et+tt*Nt+z*Z+z*Nt+P*$,re=et+It,qt=It-(re-et),Ht=-re,Re=-qt,Qt=d+Ht,oe=Qt-d,Ue=d-(Qt-oe)+(Ht-oe),ie=p+Re,Vt=ie-p,Qn=p-(ie-Vt)+(Re-Vt),Gt=Ue+ie,Kt=Qt+Gt,Yt=Gt-(Kt-Qt)+Qn,pt=Kt+Yt,$t=Yt-(pt-Kt),ft=pt/I,Ut=I*ft,un=134217729*I,kt=un-(un-I),_t=I-kt,me=134217729*ft,bt=me-(me-ft),Tt=ft-bt,zt=kt*bt-Ut+kt*Tt+_t*bt+_t*Tt+P*ft,se=Ut+zt,We=zt-(se-Ut),Vn=-se,no=-We,ro=pt+Vn,oo=ro-pt,Ei=pt-(ro-oo)+(Vn-oo),io=$t+no,so=io-$t,Ai=$t-(io-so)+(no-so),ln=Ei+io,Gn=ro+ln,$n=ln-(Gn-ro)+Ai,ao=Gn+$n,Sa=$n-(ao-Gn),co=ao/I,Xe=$+ft,Ri=ft-(Xe-$),hn=Xe+co,fo=hn-Xe,qa=Xe-(hn-fo)+(co-fo),Un=Ri+0,mn=Un-Ri,uo=Ri-(Un-mn)+(0-mn),Nn=qa+Un,Wn=hn+Nn,Xn=Nn-(Wn-hn)+uo,lo=Wn+Xn,w0=Xn-(lo-Wn),st=lo,He=w0,Li=d*st,ho=134217729*d,ut=ho-(ho-d),Hn=d-ut,Kn=134217729*st,Yn=Kn-(Kn-st),zn=st-Yn,mo=ut*Yn-Li+ut*zn+Hn*Yn+Hn*zn+(d*He+p*st),Zn=Li+mo,Si=mo-(Zn-Li),Mn=Zn,Le=Si,H=2*t,Se=st*H,Jn=134217729*st,tr=Jn-(Jn-st),er=st-tr,No=134217729*H,nr=No-(No-H),rr=H-nr,v0=tr*nr-Se+tr*rr+er*nr+er*rr+He*H,Mo=Se+v0,or=v0-(Mo-Se),Dt=Mo,Ne=or,ir=st*st,qi=134217729*st,dn=qi-(qi-st),po=st-dn,ki=134217729*st,sr=ki-(ki-st),ar=st-sr,bo=dn*sr-ir+dn*ar+po*sr+po*ar+(st*He+He*st),qe=ir+bo,x0=bo-(qe-ir),ke=qe,_i=x0;for(let pn=1;pn<1e3;pn++){let cr=Dt*ke,go=134217729*Dt,bn=go-(go-Dt),wo=Dt-bn,F0=134217729*ke,fr=F0-(F0-ke),gn=ke-fr,wn=bn*fr-cr+bn*gn+wo*fr+wo*gn+(Dt*_i+Ne*ke),yo=cr+wn,E0=wn-(yo-cr);Dt=yo,Ne=E0;let Et=2*pn+1,Me=Dt/Et,Io=Et*Me,vo=134217729*Et,yn=vo-(vo-Et),A0=Et-yn,xo=134217729*Me,de=xo-(xo-Me),Di=Me-de,Fo=yn*de-Io+yn*Di+A0*de+A0*Di+0*Me,ur=Io+Fo,Ci=Fo-(ur-Io),Eo=-ur,lr=-Ci,In=Dt+Eo,R0=In-Dt,Pi=Dt-(In-R0)+(Eo-R0),Ke=Ne+lr,hr=Ke-Ne,mr=Ne-(Ke-hr)+(lr-hr),Ao=Pi+Ke,Ro=In+Ao,Lo=Ao-(Ro-In)+mr,vn=Ro+Lo,Nr=Lo-(vn-Ro),ae=vn/Et,Bi=Et*ae,So=134217729*Et,pe=So-(So-Et),Qi=Et-pe,Mr=134217729*ae,dr=Mr-(Mr-ae),pr=ae-dr,qo=pe*dr-Bi+pe*pr+Qi*dr+Qi*pr+0*ae,br=Bi+qo,Vi=qo-(br-Bi),S0=-br,ko=-Vi,_e=vn+S0,gr=_e-vn,wr=vn-(_e-gr)+(S0-gr),yr=Nr+ko,Gi=yr-Nr,_o=Nr-(yr-Gi)+(ko-Gi),To=wr+yr,Do=_e+To,Ir=To-(Do-_e)+_o,k0=Do+Ir,_0=Ir-(k0-Do),Te=k0/Et,vr=Me+ae,xn=ae-(vr-Me),Fn=vr+Te,xr=Fn-vr,$i=vr-(Fn-xr)+(Te-xr),Fr=xn+0,Er=Fr-xn,Ui=xn-(Fr-Er)+(0-Er),T0=$i+Fr,Ar=Fn+T0,Rr=T0-(Ar-Fn)+Ui,De=Ar+Rr,Co=Rr-(De-Ar),Lr=Mn+De,Sr=Lr-Mn,Wi=Mn-(Lr-Sr)+(De-Sr),Po=Le+Co,Oo=Po-Le,Bo=Le-(Po-Oo)+(Co-Oo),D0=Wi+Po,qr=Lr+D0,Xi=D0-(qr-Lr)+Bo,je=qr+Xi,kr=Xi-(je-qr);if(Math.abs(De)<=1e-33*Math.abs(je)||je===Mn&&kr===Le)return[je,kr];Mn=je,Le=kr}return[Mn,Le]}let w=U(V([t,0]),V(e));return A(T(w,t),[-d,-p])}function ll(t,e){let n=U([t,0],e);if(Math.abs(n[0])<.1*(t+e[0])){let o=Q(n,A([t,0],e)),i=k(n,o),s=T(o,2*t),a=k(o,o);for(let c=1;c<1e3;c++){s=k(s,a);let f=Wt(s,2*c+1),u=A(i,f);if(Math.abs(f[0])<=1e-33*Math.abs(u[0])||u[0]===i[0]&&u[1]===i[1])return u;i=u}return i}let r=U(V([t,0]),V(e));return A(T(r,t),Ct(n))}function Nc(t,e){if(!Number.isFinite(t)||!Number.isFinite(e)||e===0)return NaN;if(t===0)return e;let n=Ot(t,[e,0]);return n[0]+n[1]}function Z0(t,e,n,r){if(e)return-t[0]-t[1]-.5*n();if(t[0]<700)return Math.exp(-t[0])*(1-t[1])/Math.sqrt(r());let o=r();return!Number.isFinite(o)||o===0?Math.exp(-t[0]-t[1]-.5*n()):Math.exp(700-t[0])*(1-t[1])/Math.sqrt(o)*Math.exp(-700)}function gt(t,e,n,r,o){let i=o?-1/0:0,s=o?0:1,a=j(t,e),c=a[0];if(n[0]===0)return t===0?s:i;if(r[0]===0)return e===0?s:i;if(t===0){if(c===0)return s;if(n[0]<.1){let h=A(Ot(c,k(a,r)),k(a,n));return o?-h[0]-h[1]:Math.exp(-h[0])*(1-h[1])}let u=V(r),l=k(a,u);return o?l[0]+l[1]:Math.exp(l[0])*(1+l[1])}if(e===0){if(r[0]<.1){let l=A(Ot(c,k(a,n)),k(a,r));return o?-l[0]-l[1]:Math.exp(-l[0])*(1-l[1])}let u=k(a,V(n));return o?u[0]+u[1]:Math.exp(u[0])*(1+u[1])}if(t<0||e<0)return i;let f=A(Ot(t,k(a,n)),Ot(e,k(a,r)));return f=A(f,j(ht(t)+ht(e),-ht(c))),Z0(f,o,()=>J0+Math.log(t)+Math.log(e)-Math.log(c),()=>2*Math.PI*t*(e/c))}function Dr(t,e,n,r){let o=j(t,e),i=o[0],s=A(Ot(t,k(o,n)),Ot(e,k(o,r)));return s=A(s,j(ht(t)+ht(e),-ht(i))),{e:s,logDenom:J0+Math.log(t)+Math.log(e)-Math.log(i)}}function it(t,e,n){let r=Mc(t,e,n,!n);return n?r[0]:r[1]}function ts(t,e){return Mc(t,e,!0,!0)}function Mc(t,e,n,r){if(e===0)return t===0?[0,1]:[-1/0,0];if(!Number.isFinite(e)||t<0)return[-1/0,0];if(t<=e*lc)return[-e,r?Math.exp(-e):NaN];if(e<t*lc){if(!Number.isFinite(t))return[-1/0,0];let a=-e+t*Math.log(e)-Pt(t);return[a,r?Math.exp(a):NaN]}let o=A(Ot(t,[e,0]),[ht(t),0]),i=()=>J0+Math.log(t),s=()=>2*Math.PI*t;return[n?Z0(o,!0,i,s):NaN,r?Z0(o,!1,i,s):NaN]}var t1=1e6;function bc(t,e){let{value:n,sign:r}=we(e),o=n;return o-=e*Math.log(t),o+=e*(1-e)/(2*t),o+=e*(1-e)*(1-2*e)/(12*t*t),o+=-e*e*(1-e)*(1-e)/(12*t*t*t),{value:o,sign:r}}function gc(t,e){if(Number.isNaN(t)||Number.isNaN(e))return NaN;if(t===1/0&&e>0||e===1/0&&t>0)return 0;if(t>0&&e>0&&Math.max(t,e)>15){let s=Math.min(t,e),a=Math.max(t,e);if(s<1)return ce(s)*Math.exp(-Tr(s,a));let c=e1(t,e);return Math.exp(c[0])*(1+c[1])}let n=1;if(t<=0&&t===Math.floor(t))return dc(t,e);if(e<=0&&e===Math.floor(e))return dc(e,t);if(Math.abs(t)<Math.abs(e)&&([t,e]=[e,t]),Math.abs(t)>t1*Math.abs(e)&&t>t1){let s=bc(t,e);return s.sign*Math.exp(s.value)}let r=t+e;if(Math.abs(r)>Ce||Math.abs(t)>Ce||Math.abs(e)>Ce){let s=we(r);n*=s.sign;let a=we(e);n*=a.sign;let c=we(t);n*=c.sign;let f=c.value+(a.value-s.value);return n*Math.exp(f)}r=1/ce(r);let o=ce(t),i=ce(e);return Number.isFinite(r)?Math.abs(Math.abs(o*r)-1)>Math.abs(Math.abs(i*r)-1)?i*r*o:o*r*i:n*(1/0)}function dc(t,e){return e===Math.floor(e)&&1-t-e>0?(e%2===0?1:-1)*gc(1-t-e,e):1/0}function Bt(t,e){if(Number.isNaN(t)||Number.isNaN(e))return NaN;if(t===1/0&&e>0||e===1/0&&t>0)return-1/0;if(t>0&&e>0&&Number.isFinite(t)&&Number.isFinite(e)&&Math.max(t,e)>15){let s=Math.min(t,e),a=Math.max(t,e);if(s<1)return At(s)-Tr(s,a);let c=e1(t,e);return c[0]+c[1]}if(t<=0&&t===Math.floor(t))return pc(t,e);if(e<=0&&e===Math.floor(e))return pc(e,t);if(Math.abs(t)<Math.abs(e)&&([t,e]=[e,t]),Math.abs(t)>t1*Math.abs(e)&&t>t1)return bc(t,e).value;let n=t+e;if(Math.abs(n)>Ce||Math.abs(t)>Ce||Math.abs(e)>Ce)return we(t).value+(we(e).value-we(n).value);n=1/ce(n);let r=ce(t),o=ce(e);if(!Number.isFinite(n))return 1/0;let i=Math.abs(Math.abs(r*n)-1)>Math.abs(Math.abs(o*n)-1)?o*n*r:r*n*o;return Math.log(Math.abs(i))}function pc(t,e){return e===Math.floor(e)&&1-t-e>0?Bt(1-t-e,e):1/0}var hl=[.9189385332046728,-38782941580672414e-33];function e1(t,e){let n=j(t,e),r=T(V([t,0]),t-.5),o=T(V([e,0]),e-.5),i=ml(V(n),A(n,[-.5,0])),s=U(A(r,o),i);return s=A(s,hl),A(s,j(ht(t)+ht(e),-ht(n[0])))}function ml(t,e){return A(T(t,e[0]),T(t,e[1]))}var Nl=[2461969814735305e-25,.5641895648310689,7.463210564422699,48.63719709856814,196.5208329560771,526.4451949954773,934.5285271719576,1027.5518868951572,557.5353353693994],Ml=[13.228195115474499,86.70721408859897,354.9377788878199,975.7085017432055,1823.9091668790973,2246.3376081871097,1656.6630919416134,557.5353408177277],dl=[.5641895835477551,1.275366707599781,5.019050422511805,6.160210979930536,7.4097426995044895,2.9788666537210022],pl=[2.2605286322011726,9.396035249380015,12.048953980809666,17.08144507475659,9.608968090632859,3.369076451000815],bl=[9.604973739870516,90.02601972038427,2232.005345946843,7003.325141128051,55592.30130103949],gl=[33.56171416475031,521.3579497801527,4594.323829709801,22629.000061389095,49267.39426086359],wl=709.782712893384,yl=.5641895835477563;function $o(t){if(Number.isNaN(t))return NaN;if(t<0)return-$o(-t);if(t>1)return 1-es(t);let e=t*t;return t*vt(e,bl)/be(e,gl)}function es(t){if(Number.isNaN(t))return NaN;let e=Math.abs(t);if(e<1)return 1-$o(t);let n=-t*t;if(n<-wl)return t<0?2:0;let r=Math.exp(n)*wc(e);return t<0&&(r=2-r),r===0?t<0?2:0:r}function fe(t){return Number.isNaN(t)?NaN:t<1?Math.exp(t*t)*(1-$o(t)):t>1e8?yl/t:wc(t)}function wc(t){return t<8?vt(t,Nl)/be(t,Ml):vt(t,dl)/be(t,pl)}var Il=[-59.96335010141079,98.00107541859997,-56.67628574690703,13.931260938727968,-1.2391658386738125],vl=[1.9544885833814176,4.676279128988815,86.36024213908905,-225.46268785411937,200.26021238006066,-82.03722561683334,15.90562251262117,-1.1833162112133],xl=[4.0554489230596245,31.525109459989388,57.16281922464213,44.08050738932008,14.684956192885803,2.1866330685079025,-.1402560791713545,-.03504246268278482,-.0008574567851546854],Fl=[15.779988325646675,45.39076351288792,41.3172038254672,15.04253856929075,2.504649462083094,-.14218292285478779,-.03808064076915783,-.0009332594808954574],El=[3.2377489177694603,6.915228890689842,3.9388102529247444,1.3330346081580755,.20148538954917908,.012371663481782003,.00030158155350823543,26580697468673755e-22,6239745391849833e-24],Al=[6.02427039364742,3.6798356385616087,1.3770209948908132,.21623699359449663,.013420400608854318,.00032801446468212774,28924786474538068e-22,6790194080099813e-24],yc=.1353352832366127,Rl=2.5066282746310007;function Ic(t){let e=t-Math.log(t)/t,n=1/t,r=t<8?n*vt(n,xl)/be(n,Fl):n*vt(n,El)/be(n,Al);return e-r}function n1(t){if(t===0)return-1/0;if(t===1)return 1/0;if(!(t>=0&&t<=1))return NaN;let e=t,n=!0;if(e>1-yc&&(e=1-e,n=!1),e>yc){e=e-.5;let o=e*e;return(e+e*(o*vt(o,Il)/be(o,vl)))*Rl}let r=Ic(Math.sqrt(-2*Math.log(e)));return n?-r:r}function vc(t){if(t<-Number.MAX_VALUE)return-1/0;if(t<-2){let e=t>=-Number.MAX_VALUE*.5?Math.sqrt(-2*t):Math.SQRT2*Math.sqrt(-t);return-Ic(e)}return t>-.14541345786885906?-n1(-Math.expm1(t)):n1(Math.exp(t))}function S(t,e){return typeof t=="number"?e(t):t instanceof Float64Array?t.map(e):t.map(n=>e(n))}var r1=Math.SQRT1_2;function xc(t,e){let n=Math.floor(t*16)/16,r=t-n,o=n*n/2,i=e*Math.exp(-r*(t+n)/2);return o<=700?i*Math.exp(-o):i*Math.exp(700-o)*Math.exp(-700)}function ns(t){let e=-t;return e<Math.SQRT2?.5-.5*$o(e*r1):xc(e,.5*fe(e*r1))}function Fc(t,e){if(!e)return t<=0?ns(t):1-ns(-t);if(t>-1)return Math.log1p(-ns(-t));let n=-t;return Math.log(.5*fe(n*r1))-n*n/2}function Ll(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(!Number.isFinite(t)&&e===t)return NaN;let i=r?o?-1/0:0:o?0:1,s=r?o?0:1:o?-1/0:0;if(n<0)return NaN;if(n===0)return t<e?i:s;let a=(t-e)/n;return Number.isFinite(a)?Fc(r?a:-a,o):t<e?i:s}function Sl(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;let i=r?-1/0:1/0;if(o){if(t>0)return NaN;if(t===0)return-i;if(t===-1/0)return i}else{if(t<0||t>1)return NaN;if(t===0)return i;if(t===1)return-i}if(n<0)return NaN;if(n===0)return e;let s=o?kl(t):n1(t);return e+n*(r?s:-s)}var ql=.7978845608028654;function kl(t){let e=vc(t);if(!(t<-2048)||!Number.isFinite(e))return e;let n=ql/fe(-e*r1),r=(Fc(e,!0)-t)/n;return Number.isFinite(r)?e-r:e}var _l=.9189385332046728,Tl=.3989422804014327;function Dl(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(n<0)return NaN;if(!Number.isFinite(n))return r?-1/0:0;if(!Number.isFinite(t)&&e===t)return NaN;if(n===0)return t===e?1/0:r?-1/0:0;let o=(t-e)/n;return Number.isFinite(o)?r?-(_l+.5*o*o+Math.log(n)):xc(Math.abs(o),Tl/n):r?-1/0:0}function jl(t,e={}){let{mean:n=0,sd:r=1,log:o=!1}=e;return S(t,i=>Dl(i,n,r,o))}function W(t,e={}){let{mean:n=0,sd:r=1,lowerTail:o=!0,logP:i=!1}=e;return S(t,s=>Ll(s,n,r,o,i))}function O(t,e={}){let{mean:n=0,sd:r=1,lowerTail:o=!0,logP:i=!1}=e;return S(t,s=>Sl(s,n,r,o,i))}function D(t,e){return t?e?-1/0:0:e?0:1}function C(t,e){return t?e?0:1:e?-1/0:0}function _(t){return t?-1/0:0}function G(t,e,n,r,o){if(o){if(t>0)return NaN;if(t===0)return r?n:e;if(t===-1/0)return r?e:n}else{if(t<0||t>1)return NaN;if(t===0)return r?e:n;if(t===1)return r?n:e}}function wt(t,e,n){let r=n?t:Math.log(t);if(r<=-Math.LN2)return n?{lower:e,logTarget:r}:{lower:e,logTarget:r,linearTarget:t};let o=n?-Math.expm1(t):1-t;return{lower:!e,logTarget:Math.log(o),linearTarget:o}}function Rt(t){let{logTarget:e,lower:n,cdfLog:r,pdfLog:o,linearTarget:i,cdf:s,cdfBoth:a,dlogPdf:c}=t,f=(g,v)=>{if(i!==void 0&&s!==void 0&&v>-700){let F=s(g,n);if(F>0)return Math.log(F/i)}return v-e},u=g=>{if(a===void 0){let x=r(g,n);return[x,f(g,x)]}let[v,F]=a(g,n);return i!==void 0&&v>-700&&F>0?[v,Math.log(F/i)]:[v,v-e]},l=t.positive??!1,h=t.maxIter??200,m=l?Math.exp:g=>g,N=l?Math.log(t.lo):t.lo,M=l?Math.log(t.hi):t.hi,d=l?Math.log(t.x0):t.x0;d>N&&d<M||(d=Ec(N,M,NaN));let p=d,w=1/0;for(let g=0;g<h;g++){let v=m(d),[F,x]=u(v);if(Math.abs(x)<w&&(w=Math.abs(x),p=d),x===0)return v;x<0===n?N=d:M=d;let R=(n?1:-1)*Math.exp(o(v)-F+(l?Math.log(v):0)),L=x/R;if(l&&c!==void 0){let I=R*(1+v*c(v))-R*R,P=2*x*R/(2*R*R-x*I),$=P/L;$>=.5&&$<=2&&(L=P)}let y=d-L,E=y===d&&Number.isFinite(R)&&R!==0;!E&&(!Number.isFinite(y)||y<=N||y>=M)&&(y=Ec(N,M,d));let q=l?Math.abs(y-d)<=2e-16:Math.abs(y-d)<=4e-16*Math.abs(d);if(E||q)return b(m(p));if(N===M)break;d=y}return b(m(p));function b(g){if(!l||!(g>0)||!Number.isFinite(g)||Math.abs(Math.log(g))<=2)return g;let v=g,[F,x]=u(v);for(let R=0;R<4&&x!==0;R++){let L=(n?1:-1)*Math.exp(o(v)-F),y=v-x/L;if(!(y>0)||!Number.isFinite(y)||y===v)break;let[E,q]=u(y);if(!(Math.abs(q)<Math.abs(x)))break;v=y,F=E,x=q}return v}}function Ec(t,e,n){if(Number.isFinite(t)&&Number.isFinite(e))return t+(e-t)/2;if(Number.isFinite(t)){let r=Number.isFinite(n)?Math.max(n,t):t;return r+Math.max(1,Math.abs(r))}if(Number.isFinite(e)){let r=Number.isFinite(n)?Math.min(n,e):e;return r-Math.max(1,Math.abs(r))}return Number.isFinite(n)?n*2+1:0}var Ac=[[-.3333333333333333,.08333333333333333,-.014814814814814815,.0011574074074074073,.0003527336860670194,-.0001787551440329218,3919263178522438e-20,-21854485106799924e-22,-185406221071516e-20,8296711340953087e-22,-17665952736826078e-23,6707853543401498e-24,10261809784240309e-24,-4382036018453353e-24,914769958223679e-24,-2551419399494625e-26,-5830772132550426e-26,24361948020667415e-27,-50276692801141755e-28,11004392031956135e-29,33717632624009856e-29,-1392388722418162e-28,28534893807047445e-30,-5139111834242572e-31,-19752288294349442e-31],[-.001851851851851852,-.003472222222222222,.0026455026455026454,-.0009902263374485596,.00020576131687242798,-4018775720164609e-22,-18098550334489977e-21,764916091608111e-20,-16120900894563446e-22,4647127802807434e-24,1378633446915721e-22,-5752545603517705e-23,11951628599778148e-24,-17543241719747647e-27,-10091543710600413e-25,4162792991842583e-25,-856390702649298e-25,6067215101604758e-29,71624989648114856e-28,-2933186643771437e-27,5996696365683689e-28,-21671786527323313e-32,-4978339972369262e-29,20291628823713425e-30,-413125571381061e-29],[.004133597883597883,-.0026813271604938273,.0007716049382716049,20093878600823047e-22,-.00010736653226365161,52923448829120125e-21,-12760635188618728e-21,3423578734096138e-23,13721957309062932e-22,-6298992138380055e-22,14280614206064242e-23,-20477098421990866e-26,-1409252991086752e-23,6228974084922022e-24,-13670488396617112e-25,9428356159014678e-28,12872252400089318e-26,-55645956134363323e-27,1197593554636698e-26,-41689782251838634e-31,-10940640427884595e-28,4662239946390136e-28,-9905105763906907e-29,18931876768373515e-33,8859221872591127e-30],[.0006494341563786008,.00022947209362139917,-.0004691894943952557,.00026772063206283885,-7561801671883977e-20,-2396505113867297e-22,11082654115347302e-21,-56749528269915965e-22,14230900732435883e-22,-27861080291528143e-27,-16958404091930278e-23,8099464905388083e-23,-19111168485973655e-24,23928620439808118e-28,20620131815488797e-25,-9460496661855133e-25,21541049775774907e-26,-1388823336813903e-29,-21894761681963938e-27,9790998951171684e-27,-2178219188018096e-27,6208819573407901e-32,2126978363279737e-28,-9344688791517433e-29,2045367122678285e-29],[-.0008618882909167117,.0007840392217200666,-.0002990724803031902,-14638452578843418e-22,6641498215465122e-20,-3968365047179435e-20,11375726970678419e-21,2507497226237533e-25,-16954149536558305e-22,8907507532205309e-22,-2292934834000805e-22,2956794137544049e-26,28865829742708783e-24,-14189739437803219e-24,34463580499464896e-25,-23024517174528067e-29,-39409233028046403e-26,186023389685045e-24,-4356323005056618e-26,1278600101629623e-30,467927502665792e-26,-2149246470613483e-27,4908815614809652e-28,-633859148489156e-32,-5045332069080094e-29],[-.00033679855336635813,-6972813758365858e-20,.0002772753244959392,-.00019932570516188847,6797780477937208e-20,1419062920643967e-22,-13594048189768693e-21,8018470256334202e-21,-2291481176508095e-21,-3252473551298454e-25,34652846491085265e-23,-18447187191171344e-23,48240967037894184e-24,-17989466721743514e-30,-6306194500013523e-24,3162417628774568e-24,-7840924253697429e-25,5192679165254041e-30,9358944242306784e-26,-4513426216163278e-26,10799129993116828e-27,-3661886712685252e-32,-1210902069055155e-27,5680743584990564e-28,-13249659916340829e-29],[.0005313079364639922,-.0005921664373536939,.0002708782096718045,7902353232660328e-22,-8153969367561969e-20,561168275310625e-19,-18329116582843375e-21,-30796134506033047e-25,3465155368803609e-21,-20291327396058603e-22,5788792863149004e-22,2338630673826657e-28,-8828600746330484e-23,47435958880408125e-24,-12545415020710382e-24,8649648858010293e-29,16846058979264062e-25,-8575492823577594e-25,21598224929232125e-26,-7613230520476153e-31,-26639822008536144e-27,13065700536611057e-27,-31799163902367977e-28,4710976121367431e-33,36902800842763465e-29],[.00034436760689237765,5171790908260592e-20,-.00033493161081142234,.0002812695154763237,-.00010976582244684731,-12741009095484485e-23,27744451511563645e-21,-18263488805711332e-21,57876949497350525e-22,493875893393627e-24,-10595367014026043e-22,6166714376110408e-22,-17562973359060463e-23,-1297447328701544e-27,2695423606288966e-23,-14578352908731272e-24,3887645959386175e-24,-3881002251019412e-32,-5327994173877286e-25,27437977643314844e-26,-6995796092070568e-26,2589986387486848e-32,8856689099669639e-27,-4403168815871311e-27,10865561947091654e-28],[-.0006526239185953094,.0008394987206720873,-.000438297098541721,-6969091458420552e-22,.00016644846642067547,-.00012783517679769218,4629953263691304e-20,4557909867922708e-24,-10595271125805195e-21,6783342904865167e-21,-21075476666258803e-22,-17213731432817144e-27,3773587741611098e-22,-21867506700122867e-23,6220228804018927e-23,6597703826733e-28,-9590386497425686e-24,5213214492280807e-24,-13991589583935709e-25,5382058999060575e-31,19484714275467745e-26,-10127287556389682e-26,26077347197254926e-27,-5090418699993299e-33,-33721464474854593e-28],[-.0005967612901927463,-7204895416020011e-20,.0006782308837667328,-.0006401475260262758,.00027750107634328704,1819700838046515e-22,-8479507117068503e-20,6105192082501531e-20,-21073920183404862e-21,-8858589014125599e-25,45284535953805374e-22,-28427815022504407e-22,8708234177864641e-22,36886101871706966e-28,-1534469519070206e-22,8862466778790695e-23,-25184812301826817e-24,-10225912098215092e-30,3896947075815478e-24,-21267304792235634e-25,5737013552805138e-25,-1887749850169741e-34,-8093153869465787e-26,423827232834492e-25,-11002224534207727e-27],[.0013324454494800656,-.0019144384985654776,.0011089369134596636,99324041226423e-20,-.0005087450129309319,.00042735056665392886,-.000168588537679108,-81301893922785e-22,45284402370562144e-21,-3127053674781734e-20,1044986828530338e-20,48435226265680926e-27,-2148256587345626e-21,1329369701097492e-21,-4029569309210103e-22,-1756787766632329e-28,7014504316366825e-23,-4040787734999483e-23,11474026743371962e-24,39642746853563326e-34,-17804938269892715e-25,9748026254873165e-25,-26405338676507616e-26,5794875163403742e-33,3764774955354384e-26],[.001579727660730835,.00016251626278391583,-.0020633421035543276,.00213896861856891,-.0010108559391263003,-399127055299192e-21,.0003623502508476469,-.00028143901463712157,.00010449513336495887,212114184918303e-23,-25779417251947842e-21,17281818956040464e-21,-5641377387290428e-21,-11024320105776174e-27,11223224418895176e-22,-6869339637952674e-22,20653236975414888e-23,46714772409838506e-30,-35609886164949055e-24,20470855345905963e-24,-5809173863328336e-24,-1332821287582869e-31,9035460439133513e-25,-4959878251733084e-25,13481607129399748e-26],[-.004072512119514016,.00640336283380807,-.004041016108167662,-2183732802866233e-21,.002174044180125464,-.001970044051841889,.0008359546974796246,19445447567109655e-24,-.000257793871204217,.00019009987368139304,-6769649993743896e-20,-14440629666426571e-26,15712512518742267e-21,-10304008744776892e-21,3304517767401387e-21,7982976024232571e-28,-64097794149313e-20,38894624761300054e-23,-1161834764494887e-22,-2816808630596451e-30,19878012911297094e-24,-11407719956357511e-24,32355857064185554e-25,4175946829345594e-35,-5042311271810582e-25],[-.0059475779383993,-.0005401647678926045,.00879104135507679,-.009857631558785612,.005013469503102154,12807521786221875e-22,-.0020626019342754685,.0017109128573523059,-.000676953127141338,-6901154567656214e-24,.00018855128143995903,-.0001339521566349197,4626318303352804e-20,4003423061332135e-26,-10255652921494033e-21,6612086372797651e-21,-20913022027253007e-22,-20951775649603836e-29,3975602904199325e-22,-2395621197881589e-22,7118288338214586e-23,8925574873053455e-31,-12101547235064675e-24,6935061824833439e-24,-196614644538561e-23],[.01740202778752271,-.029527880945699123,.020045875571402798,70289515966903405e-22,-.012375421071343148,.011976293444235253,-.0054156038466518525,-6329089339641862e-23,.0018855118129005065,-.001473473274825001,.0005551581009770838,5240683441255066e-25,-.00014357913535784837,991812932249433e-19,-3346083474947831e-20,-3575583729109899e-27,71560851960630075e-22,-4551680262815553e-21,14236576649271474e-22,18803149082089665e-30,-2662340389892921e-22,15950642189595716e-23,-471875146738411e-22,-6510787295875518e-32,7979509102674624e-24],[.03024912416090589,.0024817436002649977,-.049939134373457025,.05991564300930787,-.03248320760162339,-5721296865210344e-21,.015085251778569354,-.013261324005088445,.0055515262632426145,3026318225703001e-23,-.0017229548406756724,.0012893570099929638,-.00046845138348319875,-1830259937893045e-25,.00011449739014822654,-7737856522124447e-20,25625836246985202e-21,10766165333192815e-28,-5324680928242262e-21,3349634863064464e-21,-10381253128684019e-22,-5608909920621128e-30,19150821930676592e-23,-11418365800203487e-23,33654425209171787e-24],[-.09905102088015905,.17954011706123485,-.12989606383463778,-31478872752284355e-21,.09051063527684813,-.0928288244111844,.04441211283987781,27779236316835886e-23,-.017229543805449696,.014182925050891573,-.005621416163374734,-239598509186381e-23,.0016029634366079909,-.0011606784674435774,.00041001337768153875,1836580075409066e-26,-958442565636559e-19,6364306233776471e-20,-2076250624489065e-20,-11806020912804483e-29,4213180823912065e-21,-2626224133701247e-21,8077062049493066e-22,6012591212363273e-31,-1472973737401884e-22],[-.19994542198219728,-.015056113040026424,.36470239469348487,-.4643519231173355,.26640934719197895,3403826602714719e-20,-.13784338709329624,.1276467178337056,-.056213828755200985,-1753150885483011e-22,.019235592956768112,-.015088821281095314,.005740185445135012,10622382710310225e-25,-.0015335082692563998,.0010819320643228215,-.0003737251019394566,-6617090972903199e-27,8426361738090962e-20,-5515070682748348e-20,1776953644834807e-20,3882792321020553e-29,-353513697488768e-20,2186583213004527e-21,-668128494476256e-21],[.7243860850402943,-1.3918010932653375,1.0654143352413967,.0001876173868950258,-.827055011761527,.8935243334782842,-.44971003995291337,-16107401567546651e-22,.1923559016527109,-.1659770216004261,.06888222268181433,13910091724608687e-24,-.02146911561508663,.016228980898865892,-.005979601617258426,-11287469112826745e-26,.0015167451119784856,-.00104786342935539,.0003553907288912642,8170432211180152e-28,-777730134424524e-19,5029141389700772e-20,-16035083867000518e-21,12469354315487606e-30,31369106244517616e-22],[1.6668949727276812,.1165462765994632,-3.3288393225018904,4.469232548286404,-2.6977693045875806,-.0002600667859891061,1.5389017615694538,-1.4937962361134611,.6888196463323315,13077482004552384e-22,-.2576296332559629,.21097676102125448,-.08371440835921988,-7792042888135476e-24,.0242679230648336,-.017813678334552312,.006397033038890006,4943080709048052e-26,-.0015554602758465635,.0010561196919903215,-.000352771844604729,9300233464502246e-29,7528585502655717e-20,-4818651556915635e-20,15227271505597605e-21],[-6.618829886137293,13.397985455142589,-10.789350606845145,-.0014352254537875018,9.23336945961898,-10.456552819547769,5.510552602903347,12024439690716742e-21,-2.5762961164755818,2.320744274538718,-1.0045728797216285,-10207833290021913e-23,.3397509217116947,-.2672051745075747,.10235252851562705,8432973048487163e-25,-.027998284958442594,.020066274144976814,-.007055436891508624,19402238183698188e-28,.0016562888105449611,-.0011082898580743682,.0003654545161310169,-5129003202697179e-26,-7634010369686903e-20],[-17.112706061976095,-1.1208044642899115,37.131966511885445,-52.29827102534896,33.058589696624615,.002479129897620022,-20.61089403411526,20.88672775145582,-10.045703956517752,-12238783449063012e-21,4.077013427422114,-3.473667358470195,1.4329352617312006,7135991441187971e-23,-.4479725715911561,.3411266608064446,-.12699786326594922,-2895367726908153e-25,.03312577627825986,-.023274087021036102,.008039999350364889,-1177805216235265e-24,-.001832162489107167,.0012108282933588664,-.0003947994124682252],[73.89033153567425,-156.80141270402274,132.2177542759164,.013692876877324546,-123.66496885920151,146.2068939106273,-80.36558772486535,-.00011259851148881298,40.77013219617994,-38.21034001327303,17.19522294277362,9351970795516835e-22,-6.271615990774704,5.116899907185264,-2.0319658112299095,-4950721558276154e-24,.596263972943326,-.44220765337238094,.16079998700166273,-24733786203223403e-24,-.040307574759979765,.02784905074709787,-.009475185899205422,6419922235909132e-21,.002125018077469946],[212.1683709838252,13.107863022633868,-496.9828593287175,731.215952669692,-482.1382172089085,-.028817248692894887,326.167203029471,-343.8934028008712,171.95193870816232,.00014038077378096157,-75.2594195897599,66.51969984520935,-28.447519748152462,-7613702615875392e-22,9.540223710530437,-7.517530111331138,2.894399756887196,-466121949995382e-21,-.8061514959879409,.5848300657063102,-.20845408972964957,.00014765818959305816,.05100043386375302,-.03306625214188366,.015109265210467774],[-989.5964309832236,2192.555536090523,-1928.3586782723355,-.15925738122215252,1956.9985945919857,-2407.2514765081555,1375.6149959336497,.0012920735237496668,-752.5941715948055,731.7166874220871,-341.37023466220063,-9985739026060805e-21,133.56313181291574,-112.76295161252794,46.31039609820446,-7923738713361476e-21,-14.510726927018647,11.111771248100563,-4.169081794527089,.0031008219800117806,1.1220095449981469,-.7605237992614992,.36262236505085255,.2216867741940747,.48683443692930506]];function rs(t){if(Math.abs(t)<.5){let e=t,n=0;for(let r=2;r<500;r++){e*=-t;let o=e/r;if(n+=o,Math.abs(o)<jt*Math.abs(n))break}return n}return Math.log1p(t)-t}var is=1e7,qc=20,i1=200,kc=.3,_c=4.5,Pl=4503599627370496,o1=2220446049250313e-31;function Lc(t,e,n){let r=Tc(t,e);return n?it(t,e,!0)+Math.log(r):it(t,e,!1)*r}function Sc(t,e){let n=Tc(t,e),r=ts(t,e);return[r[0]+Math.log(n),r[1]*n]}function Tc(t,e){let n=t,r=1,o=1;for(let i=0;i<is&&(n+=1,r*=e/n,o+=r,!(r<=jt*o));i++);return o}function Ol(t,e,n){let r=Dc(t,e);return n?Math.log(t)+it(t,e,!0)+Math.log(r):t*it(t,e,!1)*r}function Bl(t,e){let n=Dc(t,e),r=ts(t,e);return[Math.log(t)+r[0]+Math.log(n),t*r[1]*n]}function Dc(t,e){let n=1-t,r=e+n+1,o=0,i=1,s=e,a=e+1,c=r*e,f=a/c;for(let u=0;u<is;u++){o+=1,n+=1,r+=2;let l=n*o,h=a*r-i*l,m=c*r-s*l,N;if(m!==0){let M=h/m;N=Math.abs((f-M)/M),f=M}else N=1;if(i=a,a=h,s=c,c=m,Math.abs(h)>Pl&&(i*=o1,a*=o1,s*=o1,c*=o1),N<=jt)break}return f}function jc(t,e){let n=1,r=0;for(let a=1;a<is;a++){n*=-e/a;let c=n/(t+a);if(r+=c,Math.abs(c)<=jt*Math.abs(r))break}let o=Math.log(e),i=t*o-Pt(t);return-Math.expm1(i)-t*Math.exp(i)*r}function s1(t,e,n){let r=n?-1:1,o=e/t,i=(e-t)/t,s;o>1?s=Math.sqrt(-2*rs(i)):o<1?s=-Math.sqrt(-2*rs(i)):s=0;let a=.5*es(r*s*Math.sqrt(t/2)),c=new Array(25).fill(0);c[0]=1;let f=0,u=0,l=1,h=1/0;for(let m=0;m<25;m++){let N=Ac[m],M=N[0];for(let w=1;w<25;w++){w>f&&(c[w]=s*c[w-1],f+=1);let b=N[w]*c[w];if(M+=b,Math.abs(b)<jt*Math.abs(M))break}let d=M*l,p=Math.abs(d);if(p>h||(u+=d,p<jt*Math.abs(u)))break;h=p,l/=t}return a+=r*Math.exp(-.5*t*s*s)*u/Math.sqrt(2*Math.PI*t),a}function os(t,e,n){if(e>1.1)return e<t?{lower:!0,value:Lc(t,e,n)}:{lower:!1,value:Ol(t,e,n)};if(e<=.5?-.4/Math.log(e)<t:e*1.1<t)return{lower:!0,value:Lc(t,e,n)};let o=jc(t,e);return{lower:!1,value:n?Math.log(o):o}}function Ql(t,e){if(e>1.1){let[o,i]=e<t?Sc(t,e):Bl(t,e);return{lower:e<t,log:o,lin:i}}if(e<=.5?-.4/Math.log(e)<t:e*1.1<t){let[o,i]=Sc(t,e);return{lower:!0,log:o,lin:i}}let r=jc(t,e);return{lower:!1,log:Math.log(r),lin:r}}function Cc(t,e,n){if(Number.isNaN(t)||Number.isNaN(e))return[NaN,NaN];if(e<0||t<0)return[NaN,NaN];if(t===0)return e>0?n?[0,1]:[-1/0,0]:[NaN,NaN];if(e===0)return n?[-1/0,0]:[0,1];if(t===1/0)return e===1/0?[NaN,NaN]:n?[-1/0,0]:[0,1];if(e===1/0)return n?[0,1]:[-1/0,0];if(e>1e15*Math.max(t,1)){let i=(t-1)*Math.log(e)-e-At(t)+Math.log1p((t-1)/e);return n?[Math.log1p(-Math.exp(i)),-Math.expm1(i)]:[i,Math.exp(i)]}let r=Math.abs(e-t)/t;if(t>qc&&t<i1&&r<kc||t>i1&&r<_c/Math.sqrt(t)){let i=s1(t,e,n);return[i>.5?Math.log1p(-s1(t,e,!n)):Math.log(i),i]}let o=Ql(t,e);return o.lower===n?[o.log,o.lin]:[o.lin>0?Math.log1p(-o.lin):-Math.exp(o.log),1-o.lin]}function Lt(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e))return NaN;if(e<0||t<0)return NaN;let o=r?-1/0:0,i=r?0:1;if(t===0)return e>0?n?i:o:NaN;if(e===0)return n?o:i;if(t===1/0)return e===1/0?NaN:n?o:i;if(e===1/0)return n?i:o;if(e>1e15*Math.max(t,1)){let c=(t-1)*Math.log(e)-e-At(t)+Math.log1p((t-1)/e);return n?r?Math.log1p(-Math.exp(c)):-Math.expm1(c):r?c:Math.exp(c)}let s=Math.abs(e-t)/t;if(t>qc&&t<i1&&s<kc||t>i1&&s<_c/Math.sqrt(t)){let c=s1(t,e,n);return r?c>.5?Math.log1p(-s1(t,e,!n)):Math.log(c):c}if(r){let c=os(t,e,!0);if(c.lower===n)return c.value;let f=os(t,e,!1).value;return f>0?Math.log1p(-f):-Math.exp(c.value)}let a=os(t,e,!1);return a.lower===n?a.value:1-a.value}function Vl(t,e){let n=[.213623493715853,4.28342155967104,11.6616720288968,3.31125922108741],r=[.03611708101884203,1.27364489782223,6.40691597760039,6.61053765625462,1],o=t<.5?Math.sqrt(-2*Math.log(t)):Math.sqrt(-2*Math.log(e)),i=o-vt(o,n)/vt(o,r);return t<.5?-i:i}function Gl(t,e,n,r){let o=1;if(n>=1){let i=e/(t+1);o+=i;for(let s=2;s<=n&&(i*=e/(t+s),o+=i,!(i<r));++s);}return o}function Pc(t,e){let n=(t-1)*Math.log(e),r=n*n,o=r*n,i=r*r,s=t*t,a=s*t,c=(t-1)*(1+n),f=(t-1)*(-(r/2)+(t-2)*n+(3*t-5)/2),u=(t-1)*(o/3-(3*t-5)*r/2+(s-6*t+7)*n+(11*s-46*t+47)/6),l=(t-1)*(-(i/4)+(11*t-17)*o/6+(-3*s+13*t-13)*r+(2*a-25*s+72*t-61)*n/2+(25*a-195*s+477*t-379)/12),h=e*e,m=h*e,N=h*h;return e+n+c/e+f/h+u/m+l/N}function ss(t,e,n){if(t===1)return n>.9?-Math.log1p(-e):-Math.log(n);if(t<1){let M=ce(t),d=n*M;if(d>.6||d>=.45&&t>=.3){let p=d*n>1e-8&&n>1e-5?Math.pow(e*M*t,1/t):Math.exp(-n/t-_r);return p/(1-p/(t+1))}if(t<.3&&d>=.35){let p=Math.exp(-_r-d),w=p*Math.exp(p);return p*Math.exp(w)}if(d>.15||t>=.3){let p=-Math.log(d),w=p-(1-t)*Math.log(p);return p-(1-t)*Math.log(w)-Math.log(1+(1-t)/(1+w))}if(d>.1){let p=-Math.log(d),w=p-(1-t)*Math.log(p);return p-(1-t)*Math.log(w)-Math.log((w*w+2*(3-t)*w+(2-t)*(3-t))/(w*w+(5-t)*w+2))}return Pc(t,-Math.log(d))}let r=Vl(e,n),o=r*r,i=o*r,s=o*o,a=s*r,c=Math.sqrt(t),f=t+r*c+(o-1)/3;if(f+=(i-7*r)/(36*c),f-=(3*s+7*o-16)/(810*t),f+=(9*a+256*i-433*r)/(38880*t*c),t>=500&&Math.abs(1-f/t)<1e-6)return f;if(e>.5){if(f<3*t)return f;let M=Math.max(2,t*(t-1)),d=Math.log(n)+At(t);if(d<-M*2.3)return Pc(t,-d);let p=-d+(t-1)*Math.log(f)-Math.log(1+(1-t)/(1+f));return-d+(t-1)*Math.log(p)-Math.log(1+(1-t)/(1+p))}let u=f,l=t+1,h=t+2;if(f<.15*l){let M=Math.log(e)+At(l);u=Math.exp((M+f)/t),r=Math.log1p(u/l*(1+u/h)),u=Math.exp((M+u-r)/t),r=Math.log1p(u/l*(1+u/h)),u=Math.exp((M+u-r)/t),r=Math.log1p(u/l*(1+u/h*(1+u/(t+3)))),u=Math.exp((M+u-r)/t)}if(u<=.01*l||u>.7*l)return u;let m=Math.log(Gl(t,u,100,1e-4)),N=Math.log(e)+At(l);return u=Math.exp((N+u-m)/t),u*(1-(t*Math.log(u)-u-N+m)/(t-u))}function Uo(t){let{rate:e,scale:n}=t;if(e!==void 0&&n!==void 0){if(Math.abs(e*n-1)>=1e-15)throw new RangeError("rate and scale can both be given only when scale = 1 / rate");return n}return n!==void 0?n:e!==void 0?1/e:1}function $l(t,e){if(e<1){let n=it(e,t,!0),r=e/t;return n+(Number.isFinite(r)?Math.log(r):Math.log(e)-Math.log(t))}return it(e-1,t,!0)}function Ye(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(e<0||n<=0)return NaN;if(t<0)return _(r);if(e===0)return t===0?1/0:_(r);if(t===0)return e<1?1/0:e>1?_(r):r?-Math.log(n):1/n;if(e<1){let i=it(e,t/n,r);if(r){let s=e/t;return i+(Number.isFinite(s)?Math.log(s):Math.log(e)-Math.log(t))}return i*e/t}let o=it(e-1,t/n,r);return r?o-Math.log(n):o/n}function ze(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(e<0||n<=0)return NaN;let i=t/n;return Number.isNaN(i)?i:e===0?i<=0?D(r,o):C(r,o):i<=0?D(r,o):Lt(e,i,r,o)}function Ul(t,e,n,r){let{lower:o,logTarget:i,linearTarget:s}=wt(t,n,r),a=Lt(e,Number.MIN_VALUE,o,!0);if(o?a>=i:a<=i)return 0;let c;if(e>1&&i<=-700){let f=O(i,{lowerTail:o,logP:!0}),u=1-1/(9*e)+f/Math.sqrt(9*e);c=u>0?e*u*u*u:e*.001}else if(i>-700){let f=Math.exp(i),u=-Math.expm1(i);c=o?ss(e,f,u):ss(e,u,f)}else if(o)c=Math.exp((i+Pt(e))/e);else{c=-i;for(let f=0;f<3;f++)c=-i-At(e)+(e-1)*Math.log(c)}return Rt({logTarget:i,...s!==void 0&&{linearTarget:s},lower:o,cdf:(f,u)=>Lt(e,f,u,!1),cdfLog:(f,u)=>Lt(e,f,u,!0),cdfBoth:(f,u)=>Cc(e,f,u),pdfLog:f=>$l(f,e),dlogPdf:f=>(e-1)/f-1,x0:c,lo:0,hi:1/0,positive:!0})}function ue(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;let i=G(t,0,1/0,r,o);return i!==void 0?i:e<0||n<=0?NaN:e===0?0:Ul(t,e,r,o)*n}function Wl(t,e,n={}){let r=Uo(n),o=n.log??!1;return S(t,i=>Ye(i,e,r,o))}function Xl(t,e,n={}){let r=Uo(n),{lowerTail:o=!0,logP:i=!1}=n;return S(t,s=>ze(s,e,r,o,i))}function Hl(t,e,n={}){let r=Uo(n),{lowerTail:o=!0,logP:i=!1}=n;return S(t,s=>ue(s,e,r,o,i))}var Kl=1e-17,Yl=Math.log(Kl),Oc=2e7,cs=500,as=2**cs,Wo=2**-cs,zl=2**250,Zl=2**-250,fs=cs*Math.LN2,Yo={h:0,l:0,k:0};function Pe(t,e,n,r=!1){if(t===0)return Yo;if(!Number.isFinite(t))return{h:t,l:0,k:n};for(;Math.abs(t)>zl;)t*=Wo,e*=Wo,n++;for(;Math.abs(t)<Zl;)t*=as,e*=as,n--;return r?{h:t,l:e,k:n,approx:r}:{h:t,l:e,k:n}}var Jl=[346.5735902799727,-22599635089223323e-30];function f1(t,e){if(t>1e-305||Number.isNaN(t))return Pe(t,0,0);let n=e(),[r,o]=typeof n=="number"?[n,0]:n;if(r===-1/0)return Yo;if(Number.isNaN(r))return{h:NaN,l:0,k:0};let i=Math.round(r/fs),s=A([r,o],k(Jl,[-i,0])),a=Math.exp(s[0]);return typeof n=="number"?Pe(a,0,i,!0):Pe(a,a*s[1],i)}function us(t,e){if(t===0)return[-e,0];let n=22250738585072014e-324;if(t<=e*n||e<t*n||!Number.isFinite(t))return A(k(V([e,0]),[t,0]),[-e-Pt(t),0]);let r=A(Ot(t,[e,0]),[ht(t),0]);return A([-r[0],-r[1]],[-.5*(t3+Math.log(t)),0])}var t3=1.8378770664093456;function Ze(t,e){return t.approx===!0&&Ho(t)>-700?e():t}function An(t,e){return Xo(t,Pe(e[0],e[1],0))}function e3(t,e){if(t.h===0)return Yo;let n=Pe(e[0],e[1],0),r=Q([t.h,t.l],[n.h,n.l]);return Pe(r[0],r[1],t.k-n.k,t.approx)}function Bc(t,e,n){let r=An(t,e.ratio(n));return e.ratioK?{...r,k:r.k+e.ratioK}:r}function Qc(t,e,n){let r=e3(t,e.ratio(n));return e.ratioK?{...r,k:r.k-e.ratioK}:r}function Xo(t,e){if(t.h===0||e.h===0)return Yo;let n=k([t.h,t.l],[e.h,e.l]);return Pe(n[0],n[1],t.k+e.k,t.approx===!0||e.approx===!0)}function a1(t,e,n,r){for(let o=n;o<r&&t!==0;o++)t*=Wo,e*=Wo;return[t,e]}function Vc(t,e){if(t.h===0)return e;if(e.h===0)return t;let n=Math.max(t.k,e.k),r=A(a1(t.h,t.l,t.k,n),a1(e.h,e.l,e.k,n));return Pe(r[0],r[1],n)}function Ho(t){return t.h===0?-1/0:Math.log(t.h)+t.l/t.h+t.k*fs}var Ko=class{s=0;c=0;k=0;add(e){if(e.h===0)return;if(this.s===0&&this.c===0){this.s=e.h,this.c=e.l,this.k=e.k;return}e.k>this.k&&([this.s,this.c]=a1(this.s,this.c,this.k,e.k),this.k=e.k);let[n,r]=a1(e.h,e.l,e.k,this.k);this.addNum(n),this.addNum(r)}addNum(e){let n=this.s+e;Math.abs(this.s)>=Math.abs(e)?this.c+=this.s-n+e:this.c+=e-n+this.s,this.s=n}get log(){let e=this.s+this.c;return Number.isNaN(e)?NaN:e>0?Math.log(e)+this.k*fs:-1/0}get linear(){let e=this.s+this.c;for(let n=0;n<this.k;n++)e*=as;for(let n=0;n>this.k&&e!==0;n--)e*=Wo;return e}value(e){return e?this.log:this.linear}divideBy(e){let n=Pe(e,0,0);this.s/=n.h,this.c/=n.h,this.k-=n.k}};function n3(t){let e=Math.floor(t),n=1;for(;;){if(n*=t/(e+1),n/(1-t/(e+2))<3e-21)return e;e++}}function r3(t){let e=Math.floor(t),n=1;for(;e>0;){if(n*=e/t,n/(1-(e-1)/t)<3e-21)return e;e--}return 0}function c1(t,e,n){if(n===-1/0||!(t<e))return!1;let r=t-e;return t+r-Math.log(-Math.expm1(r))<=Yl+n}function Rn(t,e){return f1(it(t,e,!1),()=>us(t,e))}function le(t,e){return f1(t.inc(e,!1),()=>t.incLogDD?t.incLogDD(e):t.inc(e,!0))}function jr(t,e,n,r){return(n?Hc(t,e):Kc(t,e)).value(r)}function Gc(t,e,n){let r=n?Hc(t,e):Kc(t,e);return{lin:r.linear,log:r.log}}function $c(t,e,n,r){return it(n,e,!0)+t.cdf(n,r,!0)}function Uc(t,e,n){for(;n-e>2;){let o=Math.floor(e+(n-e)/3),i=Math.ceil(n-(n-e)/3);t(o)<t(i)?e=o:n=i}let r=e;for(let o=e+1;o<=n;o++)t(o)>t(r)&&(r=o);return r}var o3=60;function Wc(t,e,n,r){let o=t(e)-o3;for(let i=1;;i*=2){let s=e+n*i;if(n>0?s>=r:s<=r)return r;if(t(s)<o)return s}}var Xc=3e3;function Hc(t,e){let n=n3(t);if(n>Xc){let c=f=>$c(e,t,f,!0);n=Wc(c,Uc(c,0,n),1,n)}let r=f1(e.cdf(n,!0,!1),()=>e.cdf(n,!0,!0)),o=Rn(n,t),i=n>0?le(e,n-1):Yo,s=new Ko,a=-1/0;for(let c=n;c>=0;c--){let f=Xo(o,r),u=Ho(f);if(s.add(f),c1(u,a,s.log)||(a=u,c===0))break;r=Vc(r,i),o=Ze(An(o,Wt([c,0],t)),()=>Rn(c-1,t)),c>=2&&(i=i.h===0?le(e,c-2):Ze(Qc(i,e,c-1),()=>le(e,c-2)))}return s}function Kc(t,e){let n=r3(t),r=!1;for(;;){let o=f1(e.cdf(n,!1,!1),()=>e.cdf(n,!1,!0)),i=Rn(n,t),s=le(e,n),a=new Ko,c=-1/0,f=-1;for(let u=n;u<n+Oc;u++){let l=Xo(i,o),h=Ho(l);if(a.add(l),c1(h,c,a.log)||h===-1/0&&u>t+50&&u>n+50)break;if(!r&&u-n>=Xc&&h>=c){let m=p=>$c(e,t,p,!1),N=m(u),M=u+1;for(let p=1;m(M)>=N;p*=2)M=u+p;let d=Wc(m,Uc(m,u,M),-1,u);if(r=!0,d>u){f=d;break}}c=h,o=Vc(o,s),i=Ze(An(i,Wt([t,0],u+1)),()=>Rn(u+1,t)),s=s.h===0?le(e,u+1):Ze(Bc(s,e,u+1),()=>le(e,u+1))}if(f<0)return a;n=f}}function u1(t,e,n,r,o,i){let s=Number.isFinite(r)?Math.max(0,Math.round(r)):0,a=new Ko,c=Rn(s,t),f=le(e,s),u=c,l=f,h=-1/0;for(let m=s;m<s+Oc;m++){let N=An(Xo(u,l),[n(m),0]),M=Ho(N);if(a.add(N),c1(M,h,a.log)||M===-1/0&&m>t+50&&m>s+50)break;h=M,u=Ze(An(u,Wt([t,0],m+1)),()=>Rn(m+1,t)),l=l.h===0?le(e,m+1):Ze(Bc(l,e,m+1),()=>le(e,m+1))}u=c,l=f,h=-1/0;for(let m=s-1;m>=0;m--){u=Ze(An(u,Wt([m+1,0],t)),()=>Rn(m,t)),l=l.h===0?le(e,m):Ze(Qc(l,e,m+1),()=>le(e,m));let N=An(Xo(u,l),[n(m),0]),M=Ho(N);if(a.add(N),c1(M,h,a.log))break;h=M}return a.divideBy(o),a.value(i)}function Yc(t,e){let n=e<1e-250,r=n?e*2**500:e;return{ratioK:n?-1:0,cdf:(o,i,s)=>Lt(t+o,e,i,s),inc:(o,i)=>it(t+o,e,i),ratio:o=>Q([r,0],j(t,o)),incLogDD:o=>us(t+o,e)}}function zc(t,e){return t>=0&&e>=0&&Number.isFinite(t)&&Number.isFinite(e)}function Zc(t,e,n,r){let o=n/2;if(o*(t/2)>1e18){let a=i3(t,e,n);return r?{lin:-Math.expm1(a),log:Math.log1p(-Math.exp(a))}:{lin:Math.exp(a),log:a}}let i=Yc(e/2,Math.max(t/2,Number.MIN_VALUE)),s=Gc(o,i,r);if(s.lin>.5){let a;return{lin:s.lin,get log(){return a??=Math.log1p(-jr(o,i,!r,!1)),a}}}return s}function i3(t,e,n){let r=.5-Math.sqrt(n/t)/2-(e-3)/(4*t);return tf(t,e,n,!0)-Math.log(r)}function ls(t,e,n,r,o){let i=Zc(t,e,n,r);return o?i.log:i.lin}function s3(t,e){let n=NaN,r=!0,o={lin:NaN,log:NaN};return(i,s)=>((i!==n||s!==r)&&(o=Zc(i,t,e,s),n=i,r=s),o)}function Jc(t,e,n,r){let o=e/2,i=t/2,s=n/2,a=(-(o-1)+Math.sqrt((o-1)*(o-1)+4*s*i))/2;return s*i>1e18?tf(t,e,n,r):u1(s,Yc(o,i),c=>o+c,a,t,r)}function tf(t,e,n,r){let o=e/2-1,i=Math.sqrt(n*t),s=4*o*o,a=1,c=1;for(let l=1;l<30&&(a*=-(s-(2*l-1)*(2*l-1))/(8*l*i),c+=a,!(Math.abs(a)<1e-17*Math.abs(c)));l++);let f=Math.sqrt(t)-Math.sqrt(n),u=-Math.LN2-f*f/2+o/2*Math.log(t/n)-.5*Math.log(2*Math.PI*i)+Math.log(c);return r?u:Math.exp(u)}function l1(t,e,n,r){return Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n)?NaN:zc(e,n)?n===0?Ye(t,e/2,2,r):t<0||t===1/0?r?-1/0:0:t===0?e<2?1/0:e===2?r?-n/2-Math.LN2:Math.exp(-n/2)/2:r?-1/0:0:Jc(t,e,n,r):NaN}function h1(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(!zc(e,n))return NaN;if(t<0)return D(r,o);if(t===0){if(e>0)return D(r,o);let i=-n/2;return r?o?i:Math.exp(i):o?i<-Math.LN2?Math.log1p(-Math.exp(i)):Math.log(-Math.expm1(i)):-Math.expm1(i)}return n===0?t===1/0?C(r,o):Lt(e/2,Math.max(t/2,Number.MIN_VALUE),r,o):t===1/0?C(r,o):ls(t,e,n,r,o)}function m1(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(!(e>=0&&n>=0&&Number.isFinite(e)))return NaN;let i=G(t,0,1/0,r,o);if(i!==void 0)return i;if(!Number.isFinite(n))return o&&Math.exp(t)===1?r?1/0:0:NaN;if(n===0)return ue(t,e/2,2,r,o);let{lower:s,logTarget:a,linearTarget:c}=wt(t,r,o),f=s3(e,n),u=ls(Number.MIN_VALUE,e,n,s,!0);if(s?u>=a:u<=a)return 0;let l=(e+2*n)/(e+n),h=(e+n)*(e+n)/(e+2*n),m=l*ue(a,h/2,2,s,!0);(!(m>0)||!Number.isFinite(m))&&(m=e+n);let N=Math.max(m,e+n,1);for(let M=0;M<2e3;M++){let d=ls(N,e,n,s,!0);if(s?d>=a:d<=a)break;N*=2}return Rt({logTarget:a,...c!==void 0&&{linearTarget:c},lower:s,cdf:(M,d)=>f(M,d).lin,cdfLog:(M,d)=>f(M,d).log,pdfLog:M=>Jc(M,e,n,!0),x0:Math.min(m,N),lo:0,hi:N,positive:!0})}function a3(t,e,n={}){let{log:r=!1,ncp:o}=n;return o!==void 0?S(t,i=>l1(i,e,o,r)):S(t,i=>Ye(i,e/2,2,r))}function c3(t,e,n={}){let{lowerTail:r=!0,logP:o=!1,ncp:i}=n;return i!==void 0?S(t,s=>h1(s,e,i,r,o)):S(t,s=>ze(s,e/2,2,r,o))}function f3(t,e,n={}){let{lowerTail:r=!0,logP:o=!1,ncp:i}=n;return i!==void 0?S(t,s=>m1(s,e,i,r,o)):S(t,s=>ue(s,e/2,2,r,o))}var zo=8*Number.EPSILON,ef=2*Number.EPSILON,u3=1e-290;function Zt(t){let{p:e,lowerTail:n,logP:r,cdf:o,lo:i,hi:s}=t,a;if(r||e<u3){let l;r?l=n?e*(1+ef):e*(1-ef):l=Math.log(e)+Math.log1p(n?-zo:zo),a=n?h=>o(h,!0,!0)>=l:h=>o(h,!1,!0)<=l}else{let l;if(n?l=e*(1-zo):l=1-e>4*zo?e*(1+zo):e,l>.5){let h=1-l;a=n?m=>o(m,!1,!1)<=h:m=>o(m,!0,!1)>=h}else a=n?h=>o(h,!0,!1)>=l:h=>o(h,!1,!1)<=l}let c=Math.round(t.y0);if(Number.isFinite(c)||(c=i),c=Math.min(Math.max(c,i),s),a(c)){let l=1,h=c-l;for(;h>=i&&a(h);)c=h,l*=2,h=c-l;if(h<i){if(c===i)return i;h=i-1}return nf(h,c,a)}let f=1,u=c+f;for(;u<=s&&!a(u);)c=u,f*=2,u=c+f;return u>s&&(u=s),nf(c,u,a)}function nf(t,e,n){for(;e-t>1;){let r=Math.floor(t+(e-t)/2);if(r===t||r===e)break;n(r)?e=r:t=r}return e}function Ft(t){return Math.abs(t-Mt(t))>1e-9*Math.max(1,Math.abs(t))}function Mt(t){if(!Number.isFinite(t))return t;let e=Math.round(t);return e-t===.5&&e%2!==0?e-1:e}var N1=Ft;function l3(t,e,n){return Number.isNaN(t)||Number.isNaN(e)?NaN:e<0?NaN:N1(t)?_(n):t<0||!Number.isFinite(t)?_(n):it(Math.round(t),e,n)}function hs(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e))return NaN;if(e<0)return NaN;if(t<0)return D(n,r);if(e===0)return C(n,r);if(!Number.isFinite(t))return C(n,r);let o=Math.floor(t+1e-7);return Lt(o+1,e,!n,r)}function ms(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e))return NaN;if(!Number.isFinite(e)||e<0)return NaN;let o=G(t,0,1/0,n,r);if(o!==void 0)return e===0&&!Number.isNaN(o)?0:o;if(e===0)return 0;let i=Math.sqrt(e),s=O(t,{lowerTail:n,logP:r}),a=e+i*(s+(s*s-1)/(6*i));return Zt({p:t,lowerTail:n,logP:r,cdf:(c,f,u)=>Lt(c+1,e,!f,u),y0:Number.isFinite(a)?a:e,lo:0,hi:1/0})}function h3(t,e,n={}){let r=n.log??!1;return S(t,o=>l3(o,e,r))}function m3(t,e,n={}){let{lowerTail:r=!0,logP:o=!1}=n;return S(t,i=>hs(i,e,r,o))}function N3(t,e,n={}){let{lowerTail:r=!0,logP:o=!1}=n;return S(t,i=>ms(i,e,r,o))}var Zo=4503599627370496,Cr=2220446049250313e-31;function af(t,e,n,r){return gt(t,e,n,r,!0)+Math.log(t)+Math.log(e)-Math.log(t+e)}function cf(t,e,n,r){return gt(t,e,n,r,!1)*(t*e/(t+e))}var ff=22250738585072014e-324*1e3;function M3(t,e,n){let r=(1-e)*n,o=r/(t+1),i=o,s=r,a=2,c=0;for(;(Math.abs(o)>jt*Math.abs(c+i)||a<4)&&!(a>1e7);)r=(a-e)*n/a,s*=r,o=s/(t+a),c+=o,a+=1;return c+i}function rf(t,e,n,r){let o=n[0],i=t*(Math.log(o)+n[1]/o)+Tr(t,e)-Pt(t),s=Math.exp(i),a=-Math.expm1(i)-s*t*M3(t,e,o);return r?Math.log(a):a}function M1(t,e,n,r,o){let i=n[0],s=1/t,a=(1-e)*i,c=a/(t+1),f=c,u=a,l=2,h=0,m=jt*s;for(;Math.abs(c)>m;)a=(l-e)*i/l,u*=a,c=u/(t+l),h+=c,l+=1;h+=f,h+=s;let N=d3(n);if(!o){let d=cf(t,e,n,r);if(d>ff)return h*d/Math.exp(e*N)}let M=Math.log(h)+af(t,e,n,r)-e*N;return o?M:Math.exp(M)}function of(t,e,n,r,o){let i=o?Q(n,r):n,s=t,a=o?e-1:t+e,c=t,f=t+1,u=1,l=o?t+e:e-1,h=t+1,m=t+2,N=[0,0],M=[1,0],d=[1,0],p=[1,0],w=[1,0];for(let b=0;b<1e5;b++){let g=Q(T(T(i,-s),a),lt(c,f)),v=A(d,k(N,g)),F=A(p,k(M,g));if(N=d,d=v,M=p,p=F,g=Q(T(T(i,u),l),lt(h,m)),v=A(d,k(N,g)),F=A(p,k(M,g)),N=d,d=v,M=p,p=F,F[0]!==0){let R=Q(v,F),L=R[0]!==0?Math.abs((w[0]-R[0])/R[0]):1;if(w=R,L<jt&&b>1)break}o?(s+=1,a-=1,l+=1):(s+=1,a+=1,l-=1),c+=2,f+=2,u+=1,h+=2,m+=2,Math.abs(F[0])+Math.abs(v[0])>Zo&&(N=T(N,Cr),d=T(d,Cr),M=T(M,Cr),p=T(p,Cr)),(Math.abs(F[0])<Cr||Math.abs(v[0])<Cr)&&(N=T(N,Zo),d=T(d,Zo),M=T(M,Zo),p=T(p,Zo))}return w[0]+w[1]}function d1(t,e,n){return e*n<=1&&n<=.95}function sf(t,e,n){return n<=t/(t+e)}function p1(t,e,n,r,o){let i=n[0],s=r[0],c=i*(t+e-2)-(t-1)<0?of(t,e,n,r,!1):of(t,e,n,r,!0)/s;if(!o){let u=cf(t,e,n,r);if(u>ff)return u/t*c}let f=af(t,e,n,r)-Math.log(t)+Math.log(c);return o?f:Math.exp(f)}function ye(t,e,n,r,o,i){if(n<=0)return o?i?-1/0:0:i?0:1;if(r<=0)return o?i?0:1:i?-1/0:0;let s=n<=r?[n,0]:j(1,-r),a=n<=r?j(1,-n):[r,0];return Oe(t,e,s,a,o,i)}function Oe(t,e,n,r,o,i){let s=Ns(t,e,n,r,o,i);return i?s[0]:s[1]}function b1(t,e,n,r,o){return Ns(t,e,n,r,o,!0)}function g1(t,e,n,r,o){if(n<=0)return o?[-1/0,0]:[0,1];if(r<=0)return o?[0,1]:[-1/0,0];let i=n<=r?[n,0]:j(1,-r),s=n<=r?j(1,-n):[r,0];return Ns(t,e,i,s,o,!0)}function Ns(t,e,n,r,o,i){if(n[0]<=0)return o?[-1/0,0]:[0,1];if(r[0]<=0)return o?[0,1]:[-1/0,0];let s=22250738585072014e-324;if(n[0]<s||r[0]<s){let b=n[0]<s,[g,v,F]=b?[t,e,n]:[e,t,r],x=A(T(V(F),g),[Tr(g,v)-Pt(g),0]),R=x[0]+x[1];return b===o?[R,Math.exp(x[0])*(1+x[1])]:[i?Math.log1p(-Math.exp(R)):NaN,-Math.expm1(R)]}let[a,c,f,u]=o?[t,e,n,r]:[e,t,r,n],[l,h,m,N]=o?[e,t,r,n]:[t,e,n,r],M=(b,g)=>{if(!i)return[NaN,b];if(b>.5){let v=g();if(v!==void 0)return[Math.log1p(-v),b]}return[Math.log(b),b]},d=()=>{if(d1(l,h,m[0]))return M1(l,h,m,N,!1);if(d1(a,c,f[0]))return rf(a,c,f,!1);if(sf(l,h,m[0]))return p1(l,h,m,N,!1)},p=1e-290;if(d1(a,c,f[0])){let b=M1(a,c,f,u,!1);return i&&b<p?[M1(a,c,f,u,!0),b]:M(b,d)}if(d1(l,h,m[0])){let b=rf(l,h,m,!1);return M(b,()=>M1(l,h,m,N,!1))}if(sf(a,c,f[0])){let b=p1(a,c,f,u,!1);return i&&b<p?[p1(a,c,f,u,!0),b]:M(b,d)}let w=p1(l,h,m,N,!1);return[i?Math.log1p(-w):NaN,1-w]}function d3(t){return Math.log1p(-t[0])-t[1]/(1-t[0])}function uf(t,e,n,r){let o=lt(e,t),i,s;if(Number.isFinite(o[0])&&Number.isFinite(o[1])&&Math.abs(o[0])<1e290){let l=A(o,[n,0]);i=Q(o,l),s=Q([n,0],l)}else s=[n/e/t,0],i=[1,-s[0]];let a=i[0],c=s[0];if(e>=2){let l=e*c/2,h=gt((e-2)/2,n/2,i,s,r);return r?Math.log(l)+h:l*h}let f=e/(n+e*t)*e*n/(2*(e+n)*a),u=gt(e/2,n/2,i,s,r);return r?Math.log(f)+u:f*u}function w1(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(e<=0||n<=0)return NaN;if(t<0)return _(r);if(t===0)return e>2?_(r):e===2?r?0:1:1/0;if(!Number.isFinite(e)&&!Number.isFinite(n))return t===1?1/0:_(r);if(!Number.isFinite(n))return Ye(t,e/2,2/e,r);if(!Number.isFinite(e)){let o=Ye(1/t,n/2,2/n,r);return r?o-2*Math.log(t):o/(t*t)}return Number.isFinite(t)?uf(t,e,n,r):e<2?NaN:_(r)}function Ms(t,e,n,r,o){let i=lt(e,t);if(Number.isFinite(i[0])&&Number.isFinite(i[1])&&Math.abs(i[0])<1e290){let a=A(i,[n,0]);return Oe(e/2,n/2,Q(i,a),Q([n,0],a),r,o)}let s=n/e/t;return ye(e/2,n/2,1-s,s,r,o)}function p3(t,e,n,r){let o=ps(t/2,e/2,n,r);if(o===void 0)return 1;let i=e*o/(t*(1-o));return i>0&&Number.isFinite(i)?i:1}function b3(t,e,n,r){let o=lt(e,t);if(Number.isFinite(o[0])&&Number.isFinite(o[1])&&Math.abs(o[0])<1e290){let s=A(o,[n,0]);return b1(e/2,n/2,Q(o,s),Q([n,0],s),r)}let i=n/e/t;return g1(e/2,n/2,1-i,i,r)}function ds(t,e,n,r,o){return Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n)?NaN:e<=0||n<=0?NaN:t<=0?D(r,o):t===1/0?C(r,o):!Number.isFinite(e)&&!Number.isFinite(n)?t===1?o?-Math.LN2:.5:t<1?D(r,o):C(r,o):Number.isFinite(n)?Number.isFinite(e)?Ms(t,e,n,r,o):ze(n/t,n/2,2,!r,o):ze(t*e,e/2,2,r,o)}function y1(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(e<=0||n<=0)return NaN;let i=G(t,0,1/0,r,o);if(i!==void 0)return i;if(!Number.isFinite(e)&&!Number.isFinite(n))return 1;if(!Number.isFinite(n))return ue(t,e/2,2,r,o)/e;if(!Number.isFinite(e))return n/ue(t,n/2,2,!r,o);let{lower:s,logTarget:a,linearTarget:c}=wt(t,r,o);return s&&(a+Math.log(e/2)+Bt(e/2,n/2))/(e/2)+Math.log(n/e)<-746?0:!s&&-(a+Math.log(n/2)+Bt(e/2,n/2))/(n/2)+Math.log(n/e)>709.78?1/0:Rt({logTarget:a,...c!==void 0&&{linearTarget:c},lower:s,cdf:(f,u)=>Ms(f,e,n,u,!1),cdfLog:(f,u)=>Ms(f,e,n,u,!0),cdfBoth:(f,u)=>b3(f,e,n,u),pdfLog:f=>uf(f,e,n,!0),dlogPdf:f=>(e/2-1)/f-(e+n)/2*(e/(n+e*f)),x0:p3(e,n,s,a),lo:0,hi:1/0,positive:!0})}function g3(t,e,n,r={}){let{log:o=!1,ncp:i}=r;return i!==void 0?S(t,s=>lf(s,e,n,i,o)):S(t,s=>w1(s,e,n,o))}function w3(t,e,n,r={}){let{lowerTail:o=!0,logP:i=!1,ncp:s}=r;return s!==void 0?S(t,a=>hf(a,e,n,s,o,i)):S(t,a=>ds(a,e,n,o,i))}function y3(t,e,n,r={}){let{lowerTail:o=!0,logP:i=!1,ncp:s}=r;return s!==void 0?S(t,a=>mf(a,e,n,s,o,i)):S(t,a=>y1(a,e,n,o,i))}function Nf(t,e,n,r){let o=j(t,e),i=n[0]<1e-250,s=i?[n[0]*2**500,n[1]*2**500]:n;return{ratioK:i?-1:0,cdf:(a,c,f)=>Oe(t+a,e,n,r,c,f),inc:(a,c)=>{let f=e/(t+e+a);return c?gt(t+a,e,n,r,!0)+Math.log(f):gt(t+a,e,n,r,!1)*f},ratio:a=>Q(k(s,A(o,[a-1,0])),j(t,a)),incLogDD:a=>{if(!(n[0]>1e-305&&r[0]>1e-305))return I3(t,e,n,r,a);let{e:c,logDenom:f}=Dr(t+a,e,n,r);return A([-c[0],-c[1]],[-.5*f+Math.log(e/(t+e+a)),0])}}}function I3(t,e,n,r,o){if(!(n[0]>0&&r[0]>0))return-1/0;let i=t+o,s=A(T(V(n),i),T(V(r),e));return A(A(s,Ct(e1(i,e))),[-Math.log(i),0])}function bs(t){return t<=.5?[[t,0],j(1,-t)]:[j(1,-(1-t)),[1-t,0]]}function gs(t,e,n,r,o,i,s){let a=Nf(t,e,r,o),c=n/2,f=jr(c,a,i,!1);return s?f>.5?Math.log1p(-jr(c,a,!i,!1)):f>=1e-280?Math.log(f):jr(c,a,i,!0):f}function Mf(t,e,n,r,o,i,s){let a=n/2,c=r[0],f=a*c,u=t-1-f,l=(-u+Math.sqrt(Math.max(0,u*u+4*f*(t+e-1))))/2;return u1(a,Nf(t,e,r,o),h=>t+h,l,i,s)}function ws(t,e,n){return t>0&&e>0&&Number.isFinite(t)&&Number.isFinite(e)&&n>=0&&Number.isFinite(n)}function df(t,e,n,r,o){let[i,s]=bs(t),a=k(i,s);return Mf(e,n,r,i,s,a[0]+a[1],o)}function pf(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n)||Number.isNaN(r))return NaN;if(!ws(e,n,r))return NaN;if(r===0)return ys(t,e,n,o);if(t<0||t>1)return o?-1/0:0;let i=r/2;return t===0?e>1?o?-1/0:0:e<1?1/0:o?Math.log(n)-i:n*Math.exp(-i):t===1?n>1?o?-1/0:0:n<1?1/0:o?Math.log(e+i):e+i:df(t,e,n,r,o)}function bf(t,e,n,r,o,i){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n)||Number.isNaN(r))return NaN;if(t<=0)return D(o,i);if(t>=1)return C(o,i);if(!ws(e,n,r))return NaN;if(r===0)return Is(t,e,n,o,i);let[s,a]=bs(t);return gs(e,n,r,s,a,o,i)}function gf(t,e,n,r,o,i){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n)||Number.isNaN(r))return NaN;if(!(e>0&&n>0&&r>=0))return NaN;let s=G(t,0,1,o,i);if(s!==void 0)return s;if(!ws(e,n,r))return NaN;if(r===0)return I1(t,e,n,o,i);let{lower:a,logTarget:c,linearTarget:f}=wt(t,o,i),u=(N,M,d)=>{let[p,w]=bs(N);return gs(e,n,r,p,w,M,d)},l=u(Number.MIN_VALUE,a,!0);if(a?l>=c:l<=c)return 0;let h=u(1-Number.EPSILON/2,a,!0);if(a?h<c:h>c)return 1;let m=I1(c,e+r/2,n,a,!0);return m>0&&m<1||(m=.5),Rt({logTarget:c,...f!==void 0&&{linearTarget:f},lower:a,cdf:(N,M)=>u(N,M,!1),cdfLog:(N,M)=>u(N,M,!0),pdfLog:N=>df(N,e,n,r,!0),x0:m,lo:0,hi:1,positive:!0})}function wf(t,e,n){let r=lt(e,t);if(Number.isFinite(r[0])&&Number.isFinite(r[1])&&Math.abs(r[0])<1e290){let i=A(r,[n,0]);return[Q(r,i),Q([n,0],i)]}let o=n/e/t;return[j(1,-o),[o,0]]}function yf(t,e,n,r,o){if(e/n*t<1e-306){let a=e/2,c=-r/2+a*(Math.log(e/n)+Math.log(t))-Bt(a,n/2)-Math.log(t);return o?c:Math.exp(c)}let[i,s]=wf(t,e,n);return Mf(e/2,n/2,r,i,s,t,o)}function If(t,e,n,r,o,i){let s=e/2,a=-r/2+s*(Math.log(e/n)+Math.log(t))-Math.log(s)-Bt(s,n/2);return o?i?a:Math.exp(a):i?-Math.exp(a):-Math.expm1(a)}function Jo(t,e,n,r,o,i){if(e/n*t<1e-306)return If(t,e,n,r,o,i);let[s,a]=wf(t,e,n);return gs(e/2,n/2,r,s,a,o,i)}function lf(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n)||Number.isNaN(r))return NaN;if(!(e>0&&n>0&&r>=0))return NaN;if(t<0)return o?-1/0:0;if(!Number.isFinite(r))return NaN;if(e===1/0)return n===1/0?t===1?1/0:o?-1/0:0:t===0?NaN:w1(t,e,n,o);if(n===1/0){let i=l1(t*e,e,r,o);return o?i+Math.log(e):i*e}return t===1/0?NaN:t===0?e<2?1/0:e>2?o?-1/0:0:o?-r/2:Math.exp(-r/2):r===0?w1(t,e,n,o):yf(t,e,n,r,o)}function hf(t,e,n,r,o,i){return Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n)||Number.isNaN(r)?NaN:!(e>0&&n>0&&r>=0)||!Number.isFinite(r)?NaN:e===1/0&&n===1/0?NaN:t<=0?D(o,i):t===1/0?C(o,i):e===1/0?NaN:n===1/0?h1(t*e,e,r,o,i):e/n*t<1e-306?If(t,e,n,r,o,i):r===0?ds(t,e,n,o,i):Jo(t,e,n,r,o,i)}function mf(t,e,n,r,o,i){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n)||Number.isNaN(r))return NaN;if(!(e>0&&n>0&&r>=0)||!Number.isFinite(r))return NaN;let s=G(t,0,1/0,o,i);return s!==void 0?s:e===1/0?NaN:n===1/0?m1(t,e,r,o,i)/e:r===0?y1(t,e,n,o,i):v3(t,e,n,r,o,i)}function v3(t,e,n,r,o,i){let{lower:s,logTarget:a,linearTarget:c}=wt(t,o,i),f=Jo(Number.MIN_VALUE,e,n,r,s,!0);if(s?f>=a:f<=a)return 0;let u=Jo(Number.MAX_VALUE,e,n,r,s,!0);if(s?u<a:u>a)return 1/0;let l=(e+r)*(e+r)/(e+2*r),h=(e+r)/e*y1(a,l,n,s,!0);return(!(h>0)||!Number.isFinite(h))&&(h=1),Rt({logTarget:a,...c!==void 0&&{linearTarget:c},lower:s,cdf:(m,N)=>Jo(m,e,n,r,N,!1),cdfLog:(m,N)=>Jo(m,e,n,r,N,!0),pdfLog:m=>yf(m,e,n,r,!0),x0:h,lo:0,hi:1/0,positive:!0})}function x3(t){return t<=.5?[[t,0],j(1,-t)]:[j(1,-(1-t)),[1-t,0]]}function xf(t,e,n,r){let[o,i]=x3(t),{e:s,logDenom:a}=Dr(e,n,o,i),c=A(Ct(A(V(o),V(i))),[Math.log(e*n/(e+n))-.5*a,0]),f=A(Ct(s),c);return r?f[0]+f[1]:Math.exp(f[0])*(1+f[1])}function F3(t,e,n,r){return xf(t,n,r,!0)}function ys(t,e,n,r){return Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n)?NaN:e<0||n<0?NaN:t<0||t>1?_(r):e===0||n===0||!Number.isFinite(e)||!Number.isFinite(n)?e===0&&n===0?t===0||t===1?1/0:_(r):e===0||n/e===1/0?t===0?1/0:_(r):n===0||e/n===1/0?t===1?1/0:_(r):t===.5?1/0:_(r):t===0?e>1?_(r):e<1?1/0:r?Math.log(n):n:t===1?n>1?_(r):n<1?1/0:r?Math.log(e):e:xf(t,e,n,r)}function Is(t,e,n,r,o){return Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n)?NaN:e<0||n<0?NaN:t>=1?C(r,o):e===0||n===0||!Number.isFinite(e)||!Number.isFinite(n)?e===0&&n===0?o?-Math.LN2:.5:e===0||n/e===1/0?C(r,o):n===0||e/n===1/0?D(r,o):t<.5?D(r,o):C(r,o):t<=0?D(r,o):ye(e,n,t,1-t,r,o)}function ps(t,e,n,r){if(!(t>1&&e>1))return;let o=O(r,{logP:!0}),i=n?-o:o,s=1/(2*t-1),a=1/(2*e-1),c=2/(s+a),f=(i*i-3)/6;if(!(c+f>0))return;let u=i*Math.sqrt(c+f)/c-(a-s)*(f+5/6-2/(3*c)),l=t/(t+e*Math.exp(2*u));return l>0&&l<1?l:void 0}function vf(t,e,n,r,o){let i=ye(t,e,Number.MIN_VALUE,1,n,!0);if(n?i>=r:i<=r)return 0;let s=.25,a=1/0;if(n){let c=(r+Math.log(t)+Bt(t,e))/t;a=Math.exp(Math.max(c,-745)),s=Math.min(a,.25)}if(!(a<.001)){let c=ps(t,e,n,r);c!==void 0&&c<.5&&(s=c)}return Rt({logTarget:r,...o!==void 0&&{linearTarget:o},lower:n,cdf:(c,f)=>ye(t,e,c,1-c,f,!1),cdfLog:(c,f)=>ye(t,e,c,1-c,f,!0),cdfBoth:(c,f)=>g1(t,e,c,1-c,f),pdfLog:c=>F3(c,1-c,t,e),dlogPdf:c=>(t-1)/c-(e-1)/(1-c),x0:s,lo:0,hi:.5,positive:!0})}function I1(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(e<0||n<0)return NaN;let i=G(t,0,1,r,o);if(i!==void 0)return i;if(e===0||n===0||!Number.isFinite(e)||!Number.isFinite(n)){if(e===0&&n===0){let l=o?t:Math.log(t),h=r?l:Math.log1p(-Math.exp(l));return h<-Math.LN2?0:h>-Math.LN2?1:.5}return e===0||n/e===1/0?0:n===0||e/n===1/0?1:.5}let{lower:s,logTarget:a,linearTarget:c}=wt(t,r,o),f=ye(e,n,.5,.5,s,!0);return(s?a<=f:a>=f)?vf(e,n,s,a,c):1-vf(n,e,!s,a,c)}function E3(t,e,n,r={}){let{log:o=!1,ncp:i}=r;return i!==void 0?S(t,s=>pf(s,e,n,i,o)):S(t,s=>ys(s,e,n,o))}function A3(t,e,n,r={}){let{lowerTail:o=!0,logP:i=!1,ncp:s}=r;return s!==void 0?S(t,a=>bf(a,e,n,s,o,i)):S(t,a=>Is(a,e,n,o,i))}function R3(t,e,n,r={}){let{lowerTail:o=!0,logP:i=!1,ncp:s}=r;return s!==void 0?S(t,a=>gf(a,e,n,s,o,i)):S(t,a=>I1(a,e,n,o,i))}function vs(t,e){return N1(t)||t<0||!Number.isFinite(t)||e<0||e>1}function L3(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(vs(e,n))return NaN;if(N1(t)||t<0||!Number.isFinite(t))return _(r);let o=Math.round(t),i=Math.round(e);if(o>i)return _(r);let s=n<=.5?[n,0]:j(1,-(1-n)),a=n<=.5?j(1,-n):[1-n,0];return gt(o,i-o,s,a,r)}function Ff(t,e,n,r,o){return ye(t+1,e-t,n,1-n,!r,o)}function S3(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(vs(e,n))return NaN;let i=Math.round(e);if(t<0)return D(r,o);let s=Math.floor(t+1e-7);return i<=s?C(r,o):n===0?C(r,o):n===1?D(r,o):Ff(s,i,n,r,o)}function q3(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(!Number.isFinite(e)||!Number.isFinite(n)||n<0||n>1||e<0)return NaN;let i=G(t,0,T3(e),r,o);if(i!==void 0)return i;if(vs(e,n))return NaN;let s=Math.round(e);if(n===0||s===0)return 0;if(n===1)return s;let a=1-n,c=s*n,f=Math.sqrt(s*n*a),u=(a-n)/f,l=O(t,{lowerTail:r,logP:o}),h=c+f*(l+u*(l*l-1)/6);return Zt({p:t,lowerTail:r,logP:o,cdf:(m,N,M)=>m>=s?C(N,M):Ff(m,s,n,N,M),y0:Number.isFinite(h)?h:c,lo:0,hi:s})}function k3(t,e,n,r={}){let o=r.log??!1;return S(t,i=>L3(i,e,n,o))}function _3(t,e,n,r={}){let{lowerTail:o=!0,logP:i=!1}=r;return S(t,s=>S3(s,e,n,o,i))}function xs(t,e,n,r={}){let{lowerTail:o=!0,logP:i=!1}=r;return S(t,s=>q3(s,e,n,o,i))}function T3(t){let e=Math.round(t);return Math.abs(t%1)===.5&&e%2!==0?e-1:e}var Ie=.9189385332046728,D3=.7978845608028654,Ef=[.6931471805599453,23190468138462996e-33];function j3(t){let e=Math.round(t[0]/Ef[0]),n=A(t,T(Ef,-e)),r=[n[0]/256,n[1]/256],o=[1,0],i=[1,0];for(let a=1;a<=12&&(o=k(o,r),o=[o[0]/a,o[1]/a],i=A(i,o),!(Math.abs(o[0])<1e-34));a++);for(let a=0;a<8;a++)i=k(i,i);let s=2**e;return[i[0]*s,i[1]*s]}function C3(t,e){if(Math.abs(t[0])<1e-6){let n=k(t,t),r=T(k(n,t),1/6);return A(A([n[0]/2,n[1]/2],r),[n[0]*n[0]/24,0])}return A(A(e,[-1,0]),[-t[0],-t[1]])}function Rf(t){if(Math.abs(t)<.1){let e=t*t/2,n=e;for(let r=3;r<30&&(e*=t/r,n+=e,!(Math.abs(e)<=1e-17*n));r++);return n}return Math.expm1(t)-t}function x1(t){return t<0?D3/fe(-t*Math.SQRT1_2):Math.exp(-.5*t*t-Ie)/W(t)}function Fs(t,e){let{a:n,t:r,delta:o}=t,i=Math.exp(e),s=Math.exp(e/2),a=r*s,c=a-o,f=Rf(e);if(t.kind==="cdfQ"||t.kind==="cdfP"){let m=n*i,N=t.kind==="cdfQ",M=Lt(n,m,!N,!0),d=n*Math.exp(it(n,m,!0)-M),p=N?-1:1,w=Math.log(r/2)+e/2-.5*c*c-Ie+M,b=.5-c*a/2+p*d,g=-(a*a)/4-c*a/4+p*d*(n-m)-d*d;return[w,b,g]}let u=t.logC-n*f,l=-n*Math.expm1(e),h=-n*i;if(t.kind==="cdf"){let m=x1(c);u+=W(c,{logP:!0}),l+=a/2*m,h+=a/4*m-a/2*(a/2)*m*(c+m)}else u+=e/2-.5*c*c-Ie,l+=.5-c*a/2,h+=-(a*a)/4-c*a/4;return[u,l,h]}function Lf(t){let e=0,[n,r,o]=Fs(t,e);for(let s=0;s<200;s++){let a=o<0?-r/o:Math.sign(r);Number.isFinite(a)||(a=Math.sign(r)||0),a=Math.max(-4,Math.min(4,a));let c=e+a,f=Fs(t,c);for(let l=0;l<60&&!(f[0]>=n);l++)a/=2,c=e+a,f=Fs(t,c);if(!(f[0]>=n))break;let u=Math.abs(a)<1e-10*Math.max(1,Math.abs(e));if(e=c,[n,r,o]=f,u)break}let i=o<0?Math.min(1/Math.sqrt(-o),10):1;return{w:e,sigma:i,L:n}}function P3(t){let e=t[0],n=t[1]*x1(e);if(e>-5)return j(W(e,{logP:!0}),n);let r=k(t,t);return A([-r[0]/2,-r[1]/2],[Math.log(.5*fe(-e*Math.SQRT1_2)),0])}function O3(t,e,n,r=1/0){let{a:o,t:i,delta:s}=t;if(!n&&(t.kind==="cdf"||t.kind==="pdf")){let m=e[0]+e[1],N=Math.exp(m/2),M=o*Rf(m),d=i*N,p=d-s,w=Math.exp(t.logC-M);if(t.kind==="cdf"){let b=w*W(p);if((M+x1(p)*Math.abs(d))*b<=4*r)return[b,0]}else{let b=w*Math.exp(-.5*p*p-Ie)*N;if((M+Math.abs(p*d)+p*p)*b<=4*r)return[b,0]}}let a=j3([e[0]/2,e[1]/2]),c=k(a,a);if(t.kind==="cdfQ"||t.kind==="cdfP"){let m=A(T(a,i),[-s,0]),N=k(m,m),M=o*c[0]+o*c[1],d=t.kind==="cdfP";if(n){let w=Math.log(i/2)+Math.log(a[0])+a[1]/a[0]-Ie+Lt(o,M,d,!0);return A([-N[0]/2,-N[1]/2],[w,0])}let p=Lt(o,M,d,!1);return[i/2*(a[0]+a[1])*Math.exp(-.5*N[0]-Ie)*(1-N[1]/2)*p,0]}let f=T(C3(e,c),o);if(!(f[0]<1/0))return[n?-1/0:0,0];let u=A(T(a,i),[-s,0]),l=u[0];if(t.kind==="cdf"){if(n)return A([t.logC-f[0],-f[1]],P3(u));let m=u[1]*x1(l);return[Math.exp(t.logC-f[0])*(1-f[1])*W(l)*(1+m),0]}let h=k(u,u);return n?A(A([t.logC-f[0],-f[1]],[-h[0]/2,-h[1]/2]),[e[0]/2-Ie,e[1]/2]):[Math.exp(t.logC-f[0]-.5*h[0]-Ie)*(1-f[1]-h[1]/2)*(a[0]+a[1]),0]}function Af(t,e,n,r,o,i,s,a){let c=0,f=l=>{let h=Math.exp(-l),m=n/2*(l-Math.expm1(-l)),N=O3(t,j(e,m),o,a),M=n/2*(1+h);return o?Math.exp(N[0]-i)*(1+N[1])*M:N[0]*M},u=s?1:0;s||(c+=f(0));for(let l of[1,-1]){let h=0;for(let m=s?u:1;m<1e5;m+=s?2:1){let N=l*m*r,M=f(N);c+=M;let d=Math.abs(c);if(M>1e-19*d)h=0;else if(h++,h>=3)break;if(Math.abs(N)>40)break}}return c}function Pr(t,e){if(t.kind==="cdf"){let n=Lf(t),r=Math.exp(n.w/2),o=Math.min(1/Math.sqrt(t.a*Math.exp(n.w)),10);if(Math.abs(t.t)*r*o/2>2){if(t.t>0){let i=v1({...t,kind:"cdfQ"},e);return{lin:W(-t.delta)+i.lin,log:e?B3(W(-t.delta,{logP:!0}),i.log):NaN}}return v1({...t,t:-t.t,delta:-t.delta,kind:"cdfP"},e)}return v1(t,e,n)}return v1(t,e)}function B3(t,e){return t===-1/0?e:e===-1/0?t:t>e?t+Math.log1p(Math.exp(e-t)):e+Math.log1p(Math.exp(t-e))}function v1(t,e,n){let{w:r,sigma:o,L:i}=n??Lf(t);if(!e&&i<-800)return{lin:0,log:NaN};let s=i<-650||i>650,a=s?i:0,c=s?0:Math.exp(i),f=s?Math.max(1e-15,2e-16*Math.abs(i)):1e-15,u=.5,l=Af(t,r,o,u,s,a,!1,c)*u;for(let m=0;m<6;m++){let N=Af(t,r,o,u/2,s,a,!0,c)*(u/2),M=l/2+N;u/=2;let d=Math.abs(M-l)<=f*Math.abs(M);if(l=M,d)break}return s?{lin:a>-700?Math.exp(a)*l:Math.exp(a+700)*l*Math.exp(-700),log:a+Math.log(l)}:{lin:l,log:Math.log(l)}}function ve(t,e,n,r){return{a:t,t:e,delta:n,kind:r,logC:.5*Math.log(t)-Ie-ht(t)}}function ti(t,e){return 1e10*(Math.abs(e)+10)*Math.sqrt(t+1)}function Sf(t,e,n){let r=ti(e,n),o=Math.sign(t),i=Math.min(Math.abs(t),r),s=o>0?ve(e,-i,-n,"cdf"):ve(e,-i,n,"cdf"),a=Pr(s,!0).log;return Math.abs(t)>r?a+2*e*(Math.log(r)-Math.log(Math.abs(t))):a}function qf(t,e,n,r){let o=e/2;if(Math.abs(t)>ti(o,n)){let a=Sf(t,o,n);return(t>0?!r:r)?{lin:Math.exp(a),log:a}:{lin:-Math.expm1(a),log:Math.log1p(-Math.exp(a))}}let i=Pr(r?ve(o,t,n,"cdf"):ve(o,-t,-n,"cdf"),!0);if(i.lin<=.5)return i;let s;return{lin:i.lin,get log(){return s??=Math.log1p(-Pr(r?ve(o,-t,-n,"cdf"):ve(o,t,n,"cdf"),!1).lin),s}}}function Q3(t,e,n,r,o){if(!o){let s=e/2;if(Math.abs(t)<=ti(s,n))return Pr(r?ve(s,t,n,"cdf"):ve(s,-t,-n,"cdf"),!1).lin}let i=qf(t,e,n,r);return o?i.log:i.lin}function kf(t,e,n,r){let o=e/2,i=ti(o,n);if(Math.abs(t)>i){let a=Math.sign(t)*i,c=Pr(ve(o,a,n,"pdf"),!0).log+(2*o+1)*(Math.log(i)-Math.log(Math.abs(t)));return r?c:Math.exp(c)}let s=Pr(ve(o,t,n,"pdf"),r);return r?s.log:s.lin}function _f(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(e<=0)return NaN;if(!Number.isFinite(t)||!Number.isFinite(n))return r?-1/0:0;if(e===1/0){let o=t-n,i=-.5*o*o-Ie;return r?i:Math.exp(i)}return kf(t,e,n,r)}function Tf(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(e<=0)return NaN;let i=r?o?-1/0:0:o?0:1,s=r?o?0:1:o?-1/0:0;return t===1/0?s:t===-1/0||n===1/0?i:n===-1/0?s:e===1/0?W(t-n,{lowerTail:r,logP:o}):t===0?W(-n,{lowerTail:r,logP:o}):Q3(t,e,n,r,o)}function Df(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(e<=0)return NaN;let i=G(t,-1/0,1/0,r,o);if(i!==void 0)return i;if(e===1/0)return n+O(t,{lowerTail:r,logP:o});if(!Number.isFinite(n))return NaN;let{lower:s,logTarget:a,linearTarget:c}=wt(t,r,o),f=O(a,{lowerTail:s,logP:!0}),u=n+f*Math.sqrt(1+n*n/(2*e)),l=W(-n,{lowerTail:s,logP:!0}),h=s?a>l:a<l;if(a===l)return 0;let m=h?1:-1,N=m>0?s:!s,M=NaN,d=!0,p={lin:NaN,log:NaN},w=(F,x,R)=>((F!==M||x!==d)&&(p=qf(m*F,e,n,m>0?x:!x),M=F,d=x),R?p.log:p.lin),b=ti(e/2,n),g=1/0;if(!N){let F=Sf(m*b,e/2,n);if(a<F){let x=Math.log(b)+(F-a)/e;return x>709.78?m*(1/0):m*Math.exp(x)}g=b}let v=Rt({logTarget:a,...c!==void 0&&{linearTarget:c},lower:N,cdf:(F,x)=>w(F,x,!1),cdfLog:(F,x)=>w(F,x,!0),pdfLog:F=>kf(m*F,e,n,!0),x0:Math.min(Math.abs(u)>0&&Number.isFinite(u)&&Math.sign(u)===m?Math.abs(u):1,g/2),lo:0,hi:g,positive:!0});return m*v}var jf=.9189385332046728,V3=[-.9189385332046728,38782941580672414e-33];function Cf(t,e,n){let r=e/2,o=ht(r+.5)-ht(r)-Nc(r,r+.5),i=lt(t,t),s=i[0]/e;if(!(s<1e30)){let f=A(T(V([Math.abs(t),0]),2),Ct(V([e,0])));Number.isFinite(s)&&(f=A(f,[Math.log1p(1/s),0]));let u=A(A(Ct(k(f,j(r,.5))),[o,0]),V3);return n?u[0]+u[1]:Math.exp(u[0])*(1+u[1])}let a;if(i[0]>.2*e){let f=V(A([1,0],Wt(i,e)));a=A([o,0],T(f,-r))}else{let f=T(A([e,0],i),.5);a=A(A(Ot(r,f),T(i,-.5)),[o,0])}return n?a[0]+a[1]-jf-.5*Math.log1p(s):Math.exp(a[0])*(1+a[1])/Math.sqrt(2*Math.PI*(1+s))}function G3(t,e,n){if(Number.isNaN(t)||Number.isNaN(e))return NaN;if(e<=0)return NaN;if(!Number.isFinite(t))return _(n);if(!Number.isFinite(e)){let r=-.5*t*t-jf;return n?r:Math.exp(r)}return Cf(t,e,n)}function F1(t,e,n){let r=t*t;if(!(e/(e+r)>1e-250)){let c=U(V([e,0]),T(V([t,0]),2)),f=A(T(c,e/2),[-Math.log(e/2)-Bt(e/2,.5)-Math.LN2,0]);return n?f[0]+f[1]:Math.exp(f[0])*(1+f[1])}let i=lt(t,t),s=A(i,[e,0]),a=Oe(e/2,.5,Q([e,0],s),Q(i,s),!0,n);return n?a-Math.LN2:a/2}function $3(t,e){let n=t*t;if(!(e/(e+n)>1e-250)){let a=U(V([e,0]),T(V([t,0]),2)),c=A(T(a,e/2),[-Math.log(e/2)-Bt(e/2,.5)-Math.LN2,0]);return[c[0]+c[1],Math.exp(c[0])*(1+c[1])]}let o=lt(t,t),i=A(o,[e,0]),s=b1(e/2,.5,Q([e,0],i),Q(o,i),!0);return[s[0]-Math.LN2,s[1]/2]}function xe(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e))return NaN;if(e<=0)return NaN;if(!Number.isFinite(t))return t<0?D(n,r):C(n,r);if(!Number.isFinite(e))return W(t,{lowerTail:n,logP:r});if(t===0)return r?-Math.LN2:.5;let o=t<0===n,i=Math.abs(t);if(o)return F1(i,e,r);let s=F1(i,e,!1);return r?Math.log1p(-s):1-s}function ei(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e))return NaN;let o=G(t,-1/0,1/0,n,r);if(o!==void 0)return o;if(e<=0)return NaN;if(!Number.isFinite(e))return O(t,{lowerTail:n,logP:r});let{lower:i,logTarget:s,linearTarget:a}=wt(t,n,r);if(s===-Math.LN2&&a===.5)return 0;let c=e,f,u=(.5*c*Math.log(c)-Math.log(c)-Bt(c/2,.5)-s)/c;if(u>709.78)return i?-1/0:1/0;if(s<-30)f=Math.exp(u);else{let h=Math.abs(O(s,{logP:!0}));if(f=h,c>=3){let m=h*h,N=h*(m+1)/4,M=h*((5*m+16)*m+3)/96,d=h*(((3*m+19)*m+17)*m-15)/384,p=h*((((79*m+776)*m+1482)*m-1920)*m-945)/92160;f=h+(N+(M+(d+p/c)/c)/c)/c}}(!(f>0)||!Number.isFinite(f))&&(f=1);let l=Rt({logTarget:s,...a!==void 0&&{linearTarget:a},lower:!1,cdf:h=>F1(h,c,!1),cdfLog:h=>F1(h,c,!0),cdfBoth:h=>$3(h,c),pdfLog:h=>Cf(h,c,!0),dlogPdf:h=>-(c+1)*h/(c+h*h),x0:f,lo:0,hi:1/0,positive:!0});return i?-l:l}function U3(t,e,n={}){let{log:r=!1,ncp:o}=n;return o!==void 0&&o!==0?S(t,i=>_f(i,e,o,r)):S(t,i=>G3(i,e,r))}function W3(t,e,n={}){let{lowerTail:r=!0,logP:o=!1,ncp:i}=n;return i!==void 0&&i!==0?S(t,s=>Tf(s,e,i,r,o)):S(t,s=>xe(s,e,r,o))}function X3(t,e,n={}){let{lowerTail:r=!0,logP:o=!1,ncp:i}=n;return i!==void 0&&i!==0?S(t,s=>Df(s,e,i,r,o)):S(t,s=>ei(s,e,r,o))}function Es(t,e){return Number.isFinite(e-t)?1:.5}function H3(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(!(n>e))return NaN;if(t<e||t>n)return _(r);let o=Es(e,n),i=n*o-e*o;return r?-Math.log(i)+Math.log(o):o/i}function K3(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(n<e||!Number.isFinite(e)||!Number.isFinite(n))return NaN;if(t>=n)return C(r,o);if(t<=e)return D(r,o);let i=Es(e,n),s=n*i-e*i,a=r?(t*i-e*i)/s:(n*i-t*i)/s;return o?Math.log(a):a}function Y3(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(n<e||!Number.isFinite(e)||!Number.isFinite(n))return NaN;let i=G(t,e,n,r,o);if(Number.isNaN(i))return NaN;if(n===e)return e;if(i!==void 0)return i;let s;return o?s=r?Math.exp(t):-Math.expm1(t):s=r?t:.5-t+.5,Es(e,n)!==1?(1-s)*e+s*n:e+s*(n-e)}function z3(t,e={}){let{min:n=0,max:r=1,log:o=!1}=e;return S(t,i=>H3(i,n,r,o))}function Z3(t,e={}){let{min:n=0,max:r=1,lowerTail:o=!0,logP:i=!1}=e;return S(t,s=>K3(s,n,r,o,i))}function J3(t,e={}){let{min:n=0,max:r=1,lowerTail:o=!0,logP:i=!1}=e;return S(t,s=>Y3(s,n,r,o,i))}var Pf=[.6931471805599453,23190468138462996e-33];function As(t){let e=t[0];if(!zi())return[Math.exp(e),0];if(Number.isNaN(e))return[NaN,0];if(e>709.8)return[1/0,0];if(e<-708)return[Math.exp(e)*(1+t[1]),0];let n=Math.round(e/Pf[0]),r=U(t,T(Pf,n)),o=1024;r=[r[0]/o,r[1]/o];let i=r,s=r;for(let l=2;l<20&&(i=k(i,r),i=[i[0]/l,i[1]/l],s=A(s,i),!(Math.abs(i[0])<1e-36));l++);for(let l=0;l<10;l++)s=k(s,A(s,[2,0]));let a=A(s,[1,0]),c=Math.trunc(n/2),f=2**c,u=2**(n-c);return[a[0]*f*u,a[1]*f*u]}function ni(t,e,n){let r=t-e;if(!Number.isFinite(r))return[r/n,0];let o=e===0?[t,0]:j(t,-e);if(n===1)return o;let i=o[0]/n;if(!Number.isFinite(i)||i===0)return[i,0];let s=U(o,Ln(n,i)),a=(s[0]+s[1])/n;return j(i,a)}function Ln(t,e){let n=t*e;return!Number.isFinite(n)||Math.abs(t)>1e300||Math.abs(e)>1e300?[n,0]:lt(t,e)}function Jt(t){return t[0]>708?Math.exp(700-t[0])*(1-t[1])*Math.exp(-700):Math.exp(-t[0])*(1-t[1])}function Je(t){return t>-Math.LN2?Math.log(-Math.expm1(t)):Math.log1p(-Math.exp(t))}function E1(t){return t[0]>Math.LN2?Math.log1p(-Jt(t)):Math.log(-Math.expm1(-(t[0]+t[1])))}function A1(t,e,n){let r=Ln(e,n);if(!Number.isFinite(r[0])||!Number.isFinite(t))return t+r[0];let o=A(r,[t,0]);return o[0]+o[1]}function t5(t,e,n){if(Number.isNaN(t)||Number.isNaN(e))return NaN;if(e<0||e===1/0)return NaN;if(t<0)return _(n);let r=Ln(e,t);return Number.isNaN(r[0])?NaN:n?Math.log(e)-r[0]-r[1]:e*Jt(r)}function e5(t,e,n){if(!e)return n?-t[0]-t[1]:Jt(t);let r=t[0]+t[1];return n?E1(t):-Math.expm1(-r)}function n5(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e))return NaN;if(e<0)return NaN;if(t<=0)return D(n,r);let o=Ln(e,t);return Number.isNaN(o[0])?NaN:o[0]===1/0?C(n,r):e5(o,n,r)}function r5(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e))return NaN;if(e<0)return NaN;let o=G(t,0,1/0,n,r);if(Number.isNaN(o)||o===0)return o;let i;return r?i=n?Je(t):t:i=n?Math.log1p(-t):Math.log(t),-i/e}function o5(t,e={}){let{rate:n=1,log:r=!1}=e;return S(t,o=>t5(o,n,r))}function i5(t,e={}){let{rate:n=1,lowerTail:r=!0,logP:o=!1}=e;return S(t,i=>n5(i,n,r,o))}function s5(t,e={}){let{rate:n=1,lowerTail:r=!0,logP:o=!1}=e;return S(t,i=>r5(i,n,r,o))}var a5=.9189385332046728,c5=.3989422804014327;function Bf(t,e,n){let r=U(V([t,0]),[e,0]);if(n===1)return r;let o=r[0]/n;return Number.isFinite(o)&&Math.abs(o)<1e300?Q(r,[n,0]):[o,0]}function R1(t){if(Math.abs(t[0])>1e150)return[t[0]*t[0]/2,0];let e=k(t,t);return[e[0]/2,e[1]/2]}function f5(t,e){if(t[0]>-Math.SQRT2){if(t[0]<Math.SQRT2)return W(t[0]+t[1],{logP:e});let n=Of(t[0],[t[0],t[1]],!1);return e?Math.log1p(-n):1-n}return Of(-t[0],[-t[0],-t[1]],e)}function Of(t,e,n){let r=.5*fe(t*Math.SQRT1_2),o=R1(e);return n?Math.log(r)-o[0]-o[1]:r*Jt(o)}var Rs=2.5066282746310007;function u5(t,e,n,r){let o=n?t:-t,i,s=(a,c,f)=>-c[0]-f[0]+(-c[1]-f[1])+Math.log(a);if(o<=-Math.SQRT2){let a=.5*fe(-o*Math.SQRT1_2),c=r?[e,0]:V([e,0]);i=-s(a,R1([-o,0]),c)*Rs*a}else if(o>=Math.SQRT2){let a=.5*fe(o*Math.SQRT1_2),c=r?-Math.expm1(e):1-e;i=s(a,R1([o,0]),V([c,0]))*Rs*a}else{let a=W(o),c=Math.exp(-o*o/2)/Rs;i=((r?Math.exp(e):e)-a)/c}return Number.isFinite(i)?j(t,n?i:-i):[t,0]}function l5(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(n<0)return NaN;if(t<=0)return _(r);if(n===0)return Math.log(t)===e?1/0:_(r);if(!Number.isFinite(t)||!Number.isFinite(e)||!Number.isFinite(n)){let s=(Math.log(t)-e)/n;return Number.isNaN(s)?NaN:_(r)}let o=Bf(t,e,n),i=R1(o);return r?-(a5+i[0]+i[1]+Math.log(n)+Math.log(t)):c5*Jt(i)/n/t}function h5(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(n<0)return NaN;if(t<=0)return D(r,o);if(n===0||!Number.isFinite(t)||!Number.isFinite(e)||!Number.isFinite(n))return W(Math.log(t),{mean:e,sd:n,lowerTail:r,logP:o});let i=Bf(t,e,n);return f5(r?i:[-i[0],-i[1]],o)}function m5(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;let i=O(t,{lowerTail:r,logP:o});if(!Number.isFinite(i)||!(n>0)||!Number.isFinite(n)||!Number.isFinite(e))return Math.exp(O(t,{mean:e,sd:n,lowerTail:r,logP:o}));let s=u5(i,t,r,o),a=A(A(Ln(n,s[0]),[n*s[1],0]),[e,0]);return Math.exp(a[0])*(1+a[1])}function N5(t,e={}){let{meanlog:n=0,sdlog:r=1,log:o=!1}=e;return S(t,i=>l5(i,n,r,o))}function M5(t,e={}){let{meanlog:n=0,sdlog:r=1,lowerTail:o=!0,logP:i=!1}=e;return S(t,s=>h5(s,n,r,o,i))}function d5(t,e={}){let{meanlog:n=0,sdlog:r=1,lowerTail:o=!0,logP:i=!1}=e;return S(t,s=>m5(s,n,r,o,i))}function p5(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(!(n>0))return NaN;let o=ni(t,e,n);if(Number.isNaN(o[0]))return NaN;let i=o[0]<0?[-o[0],-o[1]]:[o[0],o[1]],s=Jt(i);return r?-i[0]-i[1]-Math.log(n)-2*Math.log1p(s):s/(n*(1+s)*(1+s))}function b5(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(!(n>0))return NaN;let i=ni(t,e,n);if(Number.isNaN(i[0]))return NaN;let s=i[0]<0?[-i[0],-i[1]]:[i[0],i[1]],a=Jt(s);return r===i[0]>=0?o?-Math.log1p(a):1/(1+a):o?-s[0]-s[1]-Math.log1p(a):a/(1+a)}function g5(t,e){return e?t-Je(t):t<.25?Math.log(t/(1-t)):Math.log1p((2*t-1)/(1-t))}function w5(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;let i=G(t,-1/0,1/0,r,o);if(i!==void 0)return i;if(n<0)return NaN;if(n===0)return e;let s=g5(t,o);return A1(e,n,r?s:-s)}function y5(t,e={}){let{location:n=0,scale:r=1,log:o=!1}=e;return S(t,i=>p5(i,n,r,o))}function I5(t,e={}){let{location:n=0,scale:r=1,lowerTail:o=!0,logP:i=!1}=e;return S(t,s=>b5(s,n,r,o,i))}function v5(t,e={}){let{location:n=0,scale:r=1,lowerTail:o=!0,logP:i=!1}=e;return S(t,s=>w5(s,n,r,o,i))}var Ls=1.1447298858494002;function x5(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(!(n>0))return NaN;let o=(t-e)/n;if(Number.isNaN(o))return NaN;let i=Math.abs(o);if(i<=1)return r?-(Ls+Math.log(n))-Math.log1p(o*o):1/(Math.PI*n*(1+o*o));let s=1/i;return r?-(Ls+Math.log(n))-2*Math.log(i)-Math.log1p(s*s):s/(Math.PI*n)*(s/(1+s*s))}function F5(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(!(n>0))return NaN;let i=t-e;if(Number.isNaN(i))return NaN;if(!(Math.abs(i)>n)){let f=i/n,u=.5+Math.atan(r?f:-f)/Math.PI;return o?Math.log(u):u}let s=n/Math.abs(i),a=Math.atan(s)/Math.PI;return r===i<0?o?s<1e-150?Math.log(n)-Math.log(Math.abs(i))-Ls:Math.log(a):a:o?Math.log1p(-a):1-a}var E5=1e-200,A5=-460;function Qf(t,e,n){if(!n)return t/e/Math.PI;let r=Math.exp(-e/2);return r*(t/Math.PI)*r}function L1(t){return t<=.25?-1/Math.tan(Math.PI*t):-Math.tan(Math.PI*(.5-t))}function R5(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(o?t>0:t<0||t>1)return NaN;if(!(n>0)||!Number.isFinite(n))return n===0?e:NaN;let i;if(o)if(t===0)i=1/0;else if(t===-1/0)i=-1/0;else{if(t<A5)return e+(r?-1:1)*Qf(n,t,!0);i=t<-Math.LN2?L1(Math.exp(t)):-L1(-Math.expm1(t))}else if(t===0)i=-1/0;else if(t===1)i=1/0;else{if(t<E5)return e+(r?-1:1)*Qf(n,t,!1);i=t<=.5?L1(t):-L1(1-t)}return A1(e,n,r?i:-i)}function L5(t,e={}){let{location:n=0,scale:r=1,log:o=!1}=e;return S(t,i=>x5(i,n,r,o))}function S5(t,e={}){let{location:n=0,scale:r=1,lowerTail:o=!0,logP:i=!1}=e;return S(t,s=>F5(s,n,r,o,i))}function q5(t,e={}){let{location:n=0,scale:r=1,lowerTail:o=!0,logP:i=!1}=e;return S(t,s=>R5(s,n,r,o,i))}function Ss(t,e){return t===1?1:Math.pow(t,e)}function Vf(t,e){return V(e===1?[t,0]:ni(t,0,e))}function Gf(...t){return t.every(Number.isFinite)}function k5(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(!(e>0)||!(n>0))return NaN;if(t<0||t===1/0)return _(r);if(t===0&&e<1)return 1/0;if(!Gf(e,n)){let a=Ss(t/n,e-1),c=a*(t/n);return r?-c+Math.log(e*a/n):e*a*Math.exp(-c)/n}if(t===0)return e>1?_(r):r?-Math.log(n):1/n;let o=Vf(t,n),i=As(T(o,e));if(i[0]===1/0)return _(r);let s=U(e===1?[0,0]:T(o,e-1),i);return r?Math.log(e/n)+s[0]+s[1]:e/n*Math.exp(s[0])*(1+s[1])}function _5(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(!(e>0)||!(n>0))return NaN;if(t<=0)return D(r,o);let i;if(Gf(t,e,n))i=As(T(Vf(t,n),e));else if(i=[Ss(t/n,e),0],Number.isNaN(i[0]))return NaN;if(!r)return o?-i[0]-i[1]:Jt(i);let s=i[0]+i[1];return o?E1(i):-Math.expm1(-s)}function T5(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(!(e>0)||!(n>0))return NaN;let i=G(t,0,1/0,r,o);if(i!==void 0)return i;let s;return o?s=r?Je(t):t:s=r?Math.log1p(-t):Math.log(t),n*Ss(-s,1/e)}function D5(t,e,n={}){let{scale:r=1,log:o=!1}=n;return S(t,i=>k5(i,e,r,o))}function j5(t,e,n={}){let{scale:r=1,lowerTail:o=!0,logP:i=!1}=n;return S(t,s=>_5(s,e,r,o,i))}function C5(t,e,n={}){let{scale:r=1,lowerTail:o=!0,logP:i=!1}=n;return S(t,s=>T5(s,e,r,o,i))}function S1(t){return t<=.5?{pd:[t,0],qd:j(1,-t)}:{pd:j(1,-(1-t)),qd:[1-t,0]}}function ks(t){return!(t>0)||t>1}function P5(t,e,n){if(Number.isNaN(t)||Number.isNaN(e))return NaN;if(ks(e))return NaN;if(Ft(t)||t<0||!Number.isFinite(t))return _(n);let r=Math.round(t),{pd:o,qd:i}=S1(e),s=gt(0,r,o,i,n);return n?Math.log(e)+s:e*s}function qs(t,e,n){let{pd:r,qd:o}=S1(e);return gt(0,t+1,r,o,n)}function O5(t,e,n,r){if(!n)return qs(t,e,r);let o=qs(t,e,!0);return r?o<-Math.LN2?Math.log1p(-qs(t,e,!1)):Math.log(-Math.expm1(o)):-Math.expm1(o)}function B5(t,e,n,r){return Number.isNaN(t)||Number.isNaN(e)?NaN:ks(e)?NaN:t<0?D(n,r):!Number.isFinite(t)||e===1?C(n,r):O5(Math.floor(t+1e-7),e,n,r)}function Q5(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e))return NaN;if(ks(e))return NaN;let o=G(t,0,1/0,n,r);if(Number.isNaN(o))return NaN;if(e===1)return 0;if(o!==void 0)return o;let i;return r?i=n?Je(t):t:i=n?Math.log1p(-t):Math.log(t),Math.max(0,Math.ceil(i/Math.log1p(-e)-1-1e-12))}function V5(t,e,n={}){let r=n.log??!1;return S(t,o=>P5(o,e,r))}function G5(t,e,n={}){let{lowerTail:r=!0,logP:o=!1}=n;return S(t,i=>B5(i,e,r,o))}function $5(t,e,n={}){let{lowerTail:r=!0,logP:o=!1}=n;return S(t,i=>Q5(i,e,r,o))}function _s(t,e){let n=j(t,e);return{size:t,pd:Q([t,0],n),qd:Q([e,0],n)}}function Ts(t,e){return{size:t,...S1(e)}}function Ds(t,e,n){let{size:r,pd:o,qd:i}=e,s=gt(r,t,o,i,n);if(t===0)return s;let a=r/(r+t);return n?s+Math.log(a):s*a}function ri(t,e,n,r){let o=U5(t,e);return o!==void 0?n?r?Math.log1p(-o):1-o:r?Math.log(o):o:Oe(e.size,t+1,e.pd,e.qd,n,r)}function U5(t,e){let{size:n,pd:r,qd:o}=e,i=o[0]+o[1],s=r[0]+r[1];if(!(n<=1)||!(i>=.95)||s<1e-4)return;let a=t+1,c=n,f=gt(a,c,o,r,!1)*c/(a+c);if(!(f>1e-290))return;let u=j(a,c),l=[1,0],h=[1,0];for(let m=0;m<1e6;m++){let N=Q(A(u,[m,0]),[a+1+m,0]);if(l=k(k(l,N),o),h=A(h,l),l[0]<1e-18*h[0]){let M=f*(h[0]+h[1]);return M<=.5?M:void 0}}}function $f(t,e,n,r){let o=e.pd[0]+e.pd[1],i=1/o,s=(e.qd[0]+e.qd[1])*i,a=e.size*s,c=Math.sqrt(e.size*s*i),f=(i+s)/c,u;if(o<.05)u=ue(t,e.size,1,n,r)/Math.log1p(o/(e.qd[0]+e.qd[1]));else{let h=O(t,{lowerTail:n,logP:r});u=a+c*(h+f*(h*h-1)/6)}let l=Number.isFinite(u)?Math.max(u,0):Number.isFinite(a)?a:0;return l>1e4&&(l=W5(l,t,e,n,r)),Zt({p:t,lowerTail:n,logP:r,cdf:(h,m,N)=>ri(h,e,m,N),y0:l,lo:0,hi:1/0})}function W5(t,e,n,r,o){let i=Number.EPSILON,s=e;o?s=r?e*(1+2*i):e*(1-2*i):r?s=e*(1-8*i):1-e>32*i&&(s=e*(1+8*i));let a=o?s:Math.log(s),c=a<=-Math.LN2?r:!r,f=a<=-Math.LN2?a:o?Math.log(-Math.expm1(s)):Math.log1p(-s),u=t,l=ri(u,n,c,!0)-f,h=NaN,m=NaN;for(let N=0;N<8&&l!==0;N++){let M;if(Number.isNaN(h)||l===m){let d=(c?1:-1)*Math.exp(Ds(u,n,!0)-(l+f));M=u-l/d}else M=u-l*(u-h)/(l-m);if(!Number.isFinite(M)||M<=0)break;if(Math.abs(M-u)<.5)return M;h=u,m=l,u=M,l=ri(u,n,c,!0)-f}return u}function X5(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(e<0||!(n>0)||n>1)return NaN;if(Ft(t)||t<0||!Number.isFinite(t))return _(r);let o=Math.round(t);return e===0||n===1?o===0?r?0:1:_(r):e===1/0?_(r):Ds(o,Ts(e,n),r)}function H5(t,e,n,r,o){return Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n)?NaN:e<0||!(n>0)||n>1||e===1/0?NaN:t<0?D(r,o):e===0||n===1||!Number.isFinite(t)?C(r,o):ri(Math.floor(t+1e-7),Ts(e,n),r,o)}function K5(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(e<0||n<0||n>1)return NaN;if(n===1||e===0)return 0;if(n===0)return NaN;let i=G(t,0,1/0,r,o);return i!==void 0?i:e===1/0?1/0:$f(t,Ts(e,n),r,o)}function Y5(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(e<0||n<0)return NaN;if(Ft(t)||t<0||!Number.isFinite(t))return _(r);let o=Math.round(t);return e===0?o===0?r?0:1:n===0?NaN:_(r):n===1/0?_(r):e===1/0?it(o,n,r):n===0?o===0?r?0:1:_(r):Ds(o,_s(e,n),r)}function z5(t,e,n,r,o){return Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n)?NaN:e<0||n<0||n===1/0?NaN:t<0?D(r,o):e===0||n===0||!Number.isFinite(t)?C(r,o):e===1/0?hs(t,n,r,o):ri(Math.floor(t+1e-7),_s(e,n),r,o)}function Z5(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(e===1/0)return ms(t,n,r,o);if(e===0||n===0)return 0;if(e<0||n<0)return NaN;if(n===1/0)return G(t,0,1/0,r,o)??NaN;let i=G(t,0,1/0,r,o);return i!==void 0?i:$f(t,_s(e,n),r,o)}function js(t){let{prob:e,mu:n}=t;if(e!==void 0&&n!==void 0)throw new TypeError("specify exactly one of prob and mu");if(e!==void 0)return{kind:"prob",v:e};if(n!==void 0)return{kind:"mu",v:n};throw new TypeError("specify exactly one of prob and mu")}function J5(t,e,n){let r=n.log??!1,o=js(n);return o.kind==="prob"?S(t,i=>X5(i,e,o.v,r)):S(t,i=>Y5(i,e,o.v,r))}function t6(t,e,n){let{lowerTail:r=!0,logP:o=!1}=n,i=js(n);return i.kind==="prob"?S(t,s=>H5(s,e,i.v,r,o)):S(t,s=>z5(s,e,i.v,r,o))}function e6(t,e,n){let{lowerTail:r=!0,logP:o=!1}=n,i=js(n);return i.kind==="prob"?S(t,s=>K5(s,e,i.v,r,o)):S(t,s=>Z5(s,e,i.v,r,o))}function Cs(t,e,n,r){if(t===0&&e===0)return{e:[0,0],logDenom:0};if(t===0||e===0){let o=t+e,[i,s]=t===0?[r,n]:[n,r];return{e:s[0]<.1?A(Ot(o,k([o,0],i)),k([o,0],s)):Ct(k([o,0],V(i))),logDenom:0}}return Dr(t,e,n,r)}function Xf(t,e,n,r){let o=e+n,i=Q([r,0],[o,0]),s=Q([o-r,0],[o,0]),a=Cs(t,e-t,i,s),c=Cs(r-t,n-r+t,i,s),f=Cs(r,o-r,i,s);return{e:U(A(a.e,c.e),f.e),logDenom:a.logDenom+c.logDenom-f.logDenom}}function Hf(t,e){let[n,r]=t.e,o=e*Math.exp(-.5*t.logDenom);return n<700?Math.exp(-n)*(1-r)*o:Math.exp(700-n)*(1-r)*o*Math.exp(-700)}function Kf(t){return-t.e[0]-t.e[1]-.5*t.logDenom}function q1(t,e,n){return[Math.max(0,n-e),Math.min(n,t)]}function Ps(t,e,n,r,o){if([t,e,n,r].some(Number.isNaN))return NaN;if(![e,n,r].every(Number.isFinite)||Ft(e)||Ft(n)||Ft(r))return NaN;if(e=Mt(e),n=Mt(n),r=Mt(r),e<0||n<0||r<0||r>e+n)return NaN;if(Ft(t))return _(o);t=Mt(t);let[i,s]=q1(e,n,r);if(t<i||t>s)return _(o);if(r===0||r===e+n)return o?0:1;let a=Xf(t,e,n,r);return o?Kf(a):Hf(a,1)}function Uf(t,e,n,r){return Q(lt(t,e),lt(n,r))}function n6(t,e,n,r,o,i,s){let a=[1,0],c=[1,0],f=t;for(;!(o?f<=i:f>=s);){let u=o?Uf(f,n-r+f,e-f+1,r-f+1):Uf(e-f,r-f,f+1,n-r+f+1);a=k(a,u),c=A(c,a),f+=o?-1:1;let l=u[0];if(l<1&&a[0]*l/(1-l)<c[0]*2**-60)break}return c[0]+c[1]}function Yf(t,e,n,r,o,i){let[s,a]=q1(e,n,r),c=e+n,f=t*c<r*e,u=Wf(t,e,n,r,f,s,a);if(u.value>.5){let l=Wf(t,e,n,r,!f,s,a);l.value<u.value&&(u=l,f=!f)}return f===o?i?u.value>1e-300?Math.log(u.value):Kf(u.form)+Math.log(u.sum):u.value:i?Math.log1p(-u.value):1-u.value}function Wf(t,e,n,r,o,i,s){let a=o?t:t+1,c=Xf(a,e,n,r),f=n6(a,e,n,r,o,i,s);return{form:c,sum:f,value:Hf(c,f)}}function zf(t,e,n){if([t,e,n].every(Number.isFinite)&&(t=Mt(t),e=Mt(e),n=Mt(n),!(t<0||e<0||n<0||n>t+e)))return[t,e,n]}function k1(t,e,n,r,o,i){if([t,e,n,r].some(Number.isNaN))return NaN;let s=zf(e,n,r);if(s===void 0)return NaN;[e,n,r]=s;let a=Math.floor(t+1e-7),[c,f]=q1(e,n,r);return a<c?D(o,i):a>=f?C(o,i):Yf(a,e,n,r,o,i)}function Os(t,e,n,r,o,i){if([t,e,n,r].some(Number.isNaN))return NaN;let s=zf(e,n,r);if(s===void 0)return NaN;[e,n,r]=s;let[a,c]=q1(e,n,r),f=G(t,a,c,o,i);if(f!==void 0)return f;if(a===c)return a;let u=e+n,l=r*e/u,h=Math.sqrt(r*e/u*(n/u)*(u-r)/Math.max(u-1,1)),m=O(t,{lowerTail:o,logP:i}),N=l+h*m;return Zt({p:t,lowerTail:o,logP:i,cdf:(M,d,p)=>M<a?D(d,p):M>=c?C(d,p):Yf(M,e,n,r,d,p),y0:Number.isFinite(N)?N:l,lo:a,hi:c})}function r6(t,e,n,r,o={}){let i=o.log??!1;return S(t,s=>Ps(s,e,n,r,i))}function o6(t,e,n,r,o={}){let{lowerTail:i=!0,logP:s=!1}=o;return S(t,a=>k1(a,e,n,r,i,s))}function i6(t,e,n,r,o={}){let{lowerTail:i=!0,logP:s=!1}=o;return S(t,a=>Os(a,e,n,r,i,s))}var s6=2**900,Zf=-900,Sn=new Map,a6=2**21,_1=0,c6=2**25;function f6(t,e){if(e+1>c6)throw new RangeError(`signrank: n = ${t} needs too large a table (${e+1} entries)`);let n=new Float64Array(e+1);n[0]=1;let r=0,o=Math.min(t,e);for(let c=1;c<=o;c++){for(let f=e;f>=c;f--)n[f]+=n[f-c];if(n[Math.min(e,Math.floor(c*(c+1)/4))]>s6){let f=2**Zf;for(let u=0;u<=e;u++)n[u]*=f;r-=Zf}}let i=new Float64Array(e+1),s=0,a=0;for(let c=0;c<=e;c++){let f=n[c]-a,u=s+f;a=u-s-f,s=u,i[c]=s}return{n:t,len:e+1,count:n,cum:i,scale:r}}function Bs(t,e){let n=Sn.get(t);if(n!==void 0&&n.len>e)return Sn.delete(t),Sn.set(t,n),n;let r=Math.floor(t*(t+1)/4),o=Math.min(r,Math.max(e,n===void 0?0:2*n.len)),i=f6(t,o);n!==void 0&&(Sn.delete(t),_1-=n.len),Sn.set(t,i),_1+=i.len;for(let[s,a]of Sn){if(_1<=a6||s===t)break;Sn.delete(s),_1-=a.len}return i}function Qs(t,e,n){let r=e.scale-e.n,o=Math.trunc(r/2),i=t*2**o*2**(r-o);return n?i>=1e-300?Math.log(i):Math.log(t)+r*Math.LN2:i}function Vs(t){return Number.isFinite(t)?(t=Mt(t),t<=0?NaN:t):NaN}function u6(t,e,n){if(Number.isNaN(t)||Number.isNaN(e))return NaN;if(e=Vs(e),Number.isNaN(e))return NaN;if(Ft(t))return _(n);t=Mt(t);let r=e*(e+1)/2;if(t<0||t>r)return _(n);let o=Math.min(t,r-t),i=Bs(e,o);return Qs(i.count[o],i,n)}function Jf(t,e,n,r){let o=e*(e+1)/2,i=t,s=o-t-1,a=n?i:s,c=n?s:i;if(a<=c){let l=Bs(e,a);return Qs(l.cum[a],l,r)}let f=Bs(e,c),u=Qs(f.cum[c],f,!1);return r?Math.log1p(-u):1-u}function tn(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e))return NaN;if(e=Vs(e),Number.isNaN(e))return NaN;let o=Mt(t+1e-7),i=e*(e+1)/2;return o<0?D(n,r):o>=i?C(n,r):Jf(o,e,n,r)}function T1(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e))return NaN;if(e=Vs(e),Number.isNaN(e))return NaN;let o=e*(e+1)/2,i=G(t,0,o,n,r);if(i!==void 0)return i;let s=o/2,a=Math.sqrt(e*(e+1)*(2*e+1)/24),c=s+a*O(t,{lowerTail:n,logP:r});return Zt({p:t,lowerTail:n,logP:r,cdf:(f,u,l)=>f<0?D(u,l):f>=o?C(u,l):Jf(f,e,u,l),y0:Number.isFinite(c)?c:s,lo:0,hi:o})}function l6(t,e,n={}){let r=n.log??!1;return S(t,o=>u6(o,e,r))}function h6(t,e,n={}){let{lowerTail:r=!0,logP:o=!1}=n;return S(t,i=>tn(i,e,r,o))}function m6(t,e,n={}){let{lowerTail:r=!0,logP:o=!1}=n;return S(t,i=>T1(i,e,r,o))}var C1=960,N6=2**25,D1=134217729,qn=new Map,M6=2**21,j1=0;function d6(t,e,n){if(n+1>N6)throw new RangeError(`wilcox: m = ${t}, n = ${e} needs too large a table (${n+1} entries)`);let r=new Float64Array(n+1),o=new Float64Array(n+1);r[0]=2**C1;for(let c=1;c<=t;c++){let f=Math.min(n,c*e),u=e+c,l=D1*c,h=l-(l-c),m=c-h;l=D1*u;let N=l-(l-u),M=u-N;for(let p=0;p<=f;p++){let w=r[p];if(w===0)continue;let b=w*c;l=D1*w;let g=l-(l-w),v=w-g,F=g*h-b+g*m+v*h+v*m+o[p]*c,x=b/u,R=x*u;l=D1*x;let L=l-(l-x),y=x-L,E=L*N-R+L*M+y*N+y*M,q=(b-R-E+F)/u,I=x+q;o[p]=q-(I-x),r[p]=I}let d=e+c;for(let p=f;p>=d;p--)tu(r,o,p,p-d,-1);for(let p=c;p<=f;p++)tu(r,o,p,p-c,1)}let i=new Float64Array(n+1),s=0,a=0;for(let c=0;c<=n;c++){let f=r[c],u=s+f,l=u-s,h=s-(u-l)+(f-l);h+=a+o[c],s=u+h,a=h-(s-u),i[c]=s}return{m:t,n:e,len:n+1,prob:r,cum:i}}function tu(t,e,n,r,o){let i=t[n],s=o*t[r],a=i+s,c=a-i,f=i-(a-c)+(s-c);f+=e[n]+o*e[r];let u=a+f;e[n]=f-(u-a),t[n]=u}function Gs(t,e,n){t>e&&([t,e]=[e,t]);let r=`${t},${e}`,o=qn.get(r);if(o!==void 0&&o.len>n)return qn.delete(r),qn.set(r,o),o;let i=Math.floor(t*e/2),s=Math.min(i,Math.max(n,o===void 0?0:2*o.len)),a=d6(t,e,s);o!==void 0&&(qn.delete(r),j1-=o.len),qn.set(r,a),j1+=a.len;for(let[c,f]of qn){if(j1<=M6||c===r)break;qn.delete(c),j1-=f.len}return a}function $s(t,e){let n=t*2**-(C1/2)*2**-(C1/2);return e?n>=1e-300?Math.log(n):Math.log(t)-C1*Math.LN2:n}function Us(t,e){if(!(!Number.isFinite(t)||!Number.isFinite(e)))return t=Mt(t),e=Mt(e),t<=0||e<=0?void 0:[t,e]}function p6(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;let o=Us(e,n);if(o===void 0)return NaN;if([e,n]=o,Ft(t))return _(r);t=Mt(t);let i=e*n;if(t<0||t>i)return _(r);let s=Math.min(t,i-t);return $s(Gs(e,n,s).prob[s],r)}function eu(t,e,n,r,o){let i=e*n,s=r?t:i-t-1,a=r?i-t-1:t;if(s<=a)return $s(Gs(e,n,s).cum[s],o);let c=$s(Gs(e,n,a).cum[a],!1);return o?Math.log1p(-c):1-c}function en(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;let i=Us(e,n);if(i===void 0)return NaN;[e,n]=i;let s=Math.floor(t+1e-7);return s<0?D(r,o):s>=e*n?C(r,o):eu(s,e,n,r,o)}function P1(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;let i=Us(e,n);if(i===void 0)return NaN;[e,n]=i;let s=e*n,a=G(t,0,s,r,o);if(a!==void 0)return a;let c=s/2,f=Math.sqrt(s*(e+n+1)/12),u=c+f*O(t,{lowerTail:r,logP:o});return Zt({p:t,lowerTail:r,logP:o,cdf:(l,h,m)=>l<0?D(h,m):l>=s?C(h,m):eu(l,e,n,h,m),y0:Number.isFinite(u)?u:c,lo:0,hi:s})}function b6(t,e,n,r={}){let o=r.log??!1;return S(t,i=>p6(i,e,n,o))}function g6(t,e,n,r={}){let{lowerTail:o=!0,logP:i=!1}=r;return S(t,s=>en(s,e,n,o,i))}function w6(t,e,n,r={}){let{lowerTail:o=!0,logP:i=!1}=r;return S(t,s=>P1(s,e,n,o,i))}var rn=128,ta=Number.EPSILON,ea=Float64Array.from({length:2*rn+1},(t,e)=>Math.cos(Math.PI*e/rn));function y6(t){let e=new Float64Array(t+1);for(let n=0;n<=t;n++){let r=0;for(let o=0;o<=t;o+=2)r+=(o===0||o===t?.5:1)*ea[o*n%(2*t)*(rn/t)]*2/(1-o*o);e[n]=(n===0||n===t?.5:1)*2*r/t}return e}var I6=new Map([16,32,64,128].map(t=>[t,y6(t)]));function v6(t,e){let n=I6.get(e),r=rn/e,o=0,i=0;for(let a=0;a<=e;a++)o+=n[a]*t[a],i+=Math.abs(n[a]*t[a]);let s=0;for(let a=e-7;a<=e;a++){let c=.5*(t[0]+(a%2===0?t[e]:-t[e]));for(let f=1;f<e;f++)c+=t[f]*ea[a*f%(2*e)*r];c*=2/e,a===e&&(c*=.5),s=Math.max(s,Math.abs(c))}return{integral:o,tail:s,scale:i}}var ii=class{f;a;b;c;h;values=new Float64Array(rn+1);have=new Uint8Array(rn+1);N=0;integral=0;error=1/0;constructor(e,n,r){this.f=e,this.a=n,this.b=r,this.c=.5*(n+r),this.h=.5*(r-n)}advance(e){let n=rn/e,r=new Float64Array(e+1);for(let i=0;i<=e;i++){let s=i*n;this.have[s]||(this.values[s]=this.f(this.c+this.h*ea[s]),this.have[s]=1),r[i]=this.values[s]}let o=v6(r,e);this.N=e,this.integral=o.integral*this.h,this.error=Math.max(o.tail*4/e,4*ta*o.scale)*Math.abs(this.h)}};function B1(t,e,n){let r=[];for(let i=0;i+1<e.length;i++){let s=new ii(t,e[i],e[i+1]);s.advance(16),r.push(s)}for(let i=0;i<40;i++){let s=0;for(let u of r)s+=u.integral;let a=n*Math.abs(s)/r.length,c=!0,f=[];for(let u of r){if(u.error<=a||u.error<=4*ta*Math.abs(u.integral)){f.push(u);continue}if(c=!1,u.N<rn)u.advance(2*u.N),f.push(u);else{let l=new ii(t,u.a,u.c),h=new ii(t,u.c,u.b);l.advance(16),h.advance(16),f.push(l,h)}}if(r=f,c)break}let o=0;for(let i of r)o+=i.integral;return o}function ru(t,e,n){let r=Math.max(1,Math.ceil((e-t)/n));return Array.from({length:r+1},(o,i)=>i===r?e:t+(e-t)*i/r)}var ou=2e-15,iu=1e-16,x6={lowerTail:!1},F6={logP:!0},E6={lowerTail:!1,logP:!0},ai=.9189385332046728,Q1=t=>W(t),Br=t=>W(t,x6),na=t=>W(t,F6),ra=t=>W(t,E6),A6=.3989422804014327;function Qr(t){let e=Math.round(t*16)/16,n=t-e;return A6*Math.exp(-.5*e*e)*Math.exp(-.5*n*(t+e))}var Hs=[.1834346424956498,.525532409916329,.7966664774136267,.9602898564975363],su=[.362683783378362,.31370664587788727,.22238103445337448,.10122853629037626];function R6(t,e){let n=t-.5*e,r=.5*e,o=0;for(let i=0;i<4;i++)o+=su[i]*(Qr(n-r*Hs[i])+Qr(n+r*Hs[i]));return o*r}function L6(t,e){let n=t-.5*e,r=.5*e,o=0;for(let i=0;i<4;i++){let s=r*Hs[i];o+=su[i]*(Math.exp(n*s-s*s/2)+Math.exp(-n*s-s*s/2))}return-ai-n*n/2+Math.log(o*r)}var oa=(t,e)=>e*Math.max(1,Math.abs(t),Math.abs(t-e))<.5;function Vr(t,e){let n=t-e,r=n-t,o=t-(n-r)+(-e-r);return{ah:n,al:o}}function si(t,e){return Q1(t)+Qr(t)*e}function S6(t,e){return Br(t)-Qr(t)*e}function au(t,e){if(oa(t,e))return R6(t,e);let{ah:n,al:r}=Vr(t,e);return n>=0?S6(n,r)-Br(t):t<=0?Q1(t)-si(n,r):1-si(n,r)-Br(t)}function q6(t,e,n){if(t>0&&t-e<0&&!oa(t,e)){let{ah:o,al:i}=Vr(t,e);return Math.exp(n*Math.log1p(-(si(o,i)+Br(t))))}let r=au(t,e);return r>0?r**n:0}function k6(t,e){return t>0?Math.exp(e*Math.log1p(-Br(t))):Q1(t)**e}function cu(t,e){let{ah:n,al:r}=Vr(t,e),o=na(n);return o+r*Math.exp(-ai-n*n/2-o)}function _6(t,e){let{ah:n,al:r}=Vr(t,e),o=ra(n);return o-r*Math.exp(-ai-n*n/2-o)}function fu(t,e){if(oa(t,e))return L6(t,e);if(t-e>=0){let i=_6(t,e);return i+Math.log(-Math.expm1(ra(t)-i))}if(t<=0){let i=na(t);return i+Math.log(-Math.expm1(cu(t,e)-i))}let{ah:r,al:o}=Vr(t,e);return Math.log1p(-si(r,o)-Br(t))}var uu=2,Ws=1e-18;function lu(t,e,n){let r=ru(e,n,uu),o=r.map(t),i=0;for(let h=1;h<o.length;h++)o[h]>o[i]&&(i=h);let s=o[i];if(!(s>0))return 0;let a=Math.max(i-1,0),c=Math.min(i+1,o.length-1);for(;a>0&&o[a]>s*Ws;)a--;for(;c<o.length-1&&o[c]>s*Ws;)c++;let f=s*Ws,u=r[a],l=r[c];if(o[a]<=f){let h=r[a+1];for(let m=0;m<2;m++){let N=.5*(u+h);t(N)<=f?u=N:h=N}}if(o[c]<=f){let h=r[c-1];for(let m=0;m<2;m++){let N=.5*(l+h);t(N)<=f?l=N:h=N}}return B1(t,[u,l],iu)}function hu(t,e,n){let r=ru(e,n,uu),o=r.map(t),i=0;for(let b=1;b<o.length;b++)o[b]>o[i]&&(i=b);if(!(o[i]>-1/0))return-1/0;let s=r[Math.max(i-1,0)],a=r[Math.min(i+1,r.length-1)],c=(Math.sqrt(5)-1)/2,f=a-c*(a-s),u=s+c*(a-s),l=t(f),h=t(u);for(let b=0;b<80&&a-s>1e-12*Math.max(1,Math.abs(s));b++)l<h?(s=f,f=u,l=h,u=s+c*(a-s),h=t(u)):(a=u,u=f,h=l,f=a-c*(a-s),l=t(f));let m=l>h?f:u,N=Math.max(l,h);o[i]>N&&(m=r[i],N=o[i]);let M=b=>{let g=b<0?e:n,v=Math.max(1e-6,.001*(r[1]-r[0])),F=m;for(;;){let x=m+b*v;if(b<0?x<=g:x>=g)return g;if(t(x)<N-46){let R=x;for(let L=0;L<6;L++){let y=.5*(F+R);t(y)<N-46?R=y:F=y}return R}F=x,v*=2}},d=M(-1),p=M(1),w=[...new Set([d,m,p])].sort((b,g)=>b-g);return N+Math.log(B1(b=>Math.exp(t(b)-N),w,iu))}var ia=-10,sa=10;function T6(t,e){return t<=0?0:e*lu(n=>Qr(n)*q6(n,t,e-1),ia,sa)}function mu(t,e){if(t<=0)return 1;let n=i=>{let s=Q1(i);if(s===0)return 0;let{ah:a,al:c}=Vr(i,t),f=si(a,c),u=f<.5*s?-Math.expm1((e-1)*Math.log1p(-f/s)):-Math.expm1((e-1)*Math.log(au(i,t)/s));return Qr(i)*k6(i,e-1)*u};if(t>60)return 0;let[r,o]=Nu(t);return e*lu(n,r,o)}function Nu(t){return t>40?[t/2-15,t/2+15]:[ia,t+sa]}function Mu(t,e){if(t>100)return-Math.exp(du(t,e));let n=r=>-ai-r*r/2+(e-1)*fu(r,t);return Math.log(e)+hu(n,ia,sa)}function du(t,e){if(t>100)return Math.log(e*(e-1))+ra(t/Math.SQRT2);let n=i=>{let s=na(i),a=cu(i,t)-s,c;return a<-40?c=Math.log(e-1)+a:a<-Math.LN2?c=Math.log(-Math.expm1((e-1)*Math.log1p(-Math.exp(a)))):c=Math.log(-Math.expm1((e-1)*(fu(i,t)-s))),-ai-i*i/2+(e-1)*s+c},[r,o]=Nu(t);return Math.log(e)+hu(n,r,o)}function D6(t,e){let n=-1/0;for(let r of e)n=Math.max(n,t(r));for(let r=0;r+1<e.length;r++)n=Math.max(n,t(.5*(e[r]+e[r+1])));if(n===-1/0)return-1/0;for(let r=0;r<4;r++){let o=n,i=B1(s=>{let a=t(s);return a>o&&(o=a),Math.exp(a-n)},e,ou);if(Number.isFinite(i)&&o-n<300)return n+Math.log(i);n=o}return NaN}var nn=32,j6=1e-15,Or=Math.log(.01),aa=Math.log(20),pu=Math.log(40),bu=Float64Array.from({length:2*nn+1},(t,e)=>Math.cos(Math.PI*e/nn));function C6(t,e){let n=new Float64Array(e+1);for(let r=0;r<=e;r++){let o=.5*(t[0]+(r%2===0?t[e]:-t[e]));for(let i=1;i<e;i++)o+=t[i]*bu[r*i%(2*e)];o*=2/e,(r===0||r===e)&&(o*=.5),n[r]=o}return n}function Xs(t,e,n){let r=[],o=[[e,n,0]];for(;o.length>0;){let[i,s,a]=o.pop(),c=.5*(i+s),f=.5*(s-i),u=new Float64Array(nn+1),l=1/0;for(let N=0;N<=nn;N++)u[N]=t(c+f*bu[N]),l=Math.min(l,Math.max(1,Math.abs(u[N])));let h=C6(u,nn),m=0;for(let N=nn-3;N<=nn;N++)m=Math.max(m,Math.abs(h[N]));m<=j6*l||a>=14||!u.every(Number.isFinite)?r.push({a:i,b:s,coef:h}):o.push([c,s,a+1],[i,c,a+1])}return r.sort((i,s)=>i.a-s.a)}function Ks(t,e){let n=0,r=t.length-1;for(;n<r;){let u=n+r+1>>1;t[u].a<=e?n=u:r=u-1}let{a:o,b:i,coef:s}=t[n],a=(2*e-o-i)/(i-o),c=0,f=0;for(let u=nn;u>=1;u--){let l=2*a*c-f+s[u];f=c,c=l}return a*c-f+s[0]}var oi=new Map,P6=64,gu=Math.log(1e-10);function wu(t){let e=oi.get(t);if(e!==void 0)return e;let n=o=>{let i=T6(o,t);return i>1e-290?Math.log(i):Mu(o,t)},r=o=>{let i=Math.exp(o);return mu(i,t)*yu(i)};return e={logW:Xs(o=>n(Math.exp(o)),Or,aa),scaledWc:Xs(r,Or,pu),smallW:Xs(o=>n(Math.exp(o))-(t-1)*o,gu,Or)},oi.size>=P6&&oi.delete(oi.keys().next().value),oi.set(t,e),e}function yu(t){let e=t*t,n=134217729*t,r=n-(n-t),o=t-r,i=r*r-e+2*r*o+o*o;return Math.exp(e/4)*(1+i/4)}function O6(t,e){let n=Math.log(t);if(n>=aa)return 0;let r=wu(e);return n>=Or?Ks(r.logW,n):Ks(r.smallW,Math.max(n,gu))+(e-1)*n}function Ys(t,e){return Math.log(t)>=aa?1:Math.exp(O6(t,e))}function B6(t,e){let n=Math.log(t);return n>=Or&&n<=pu?Ks(wu(e).scaledWc,n)/yu(t):n<Or?1-Ys(t,e):mu(t,e)}function O1(t,e,n,r){if(!r){let i=Math.min(Ys(t,e),1);return n===1?i:i**n}let o=Math.min(B6(t,e),1);return o<=.5?n===1?o:-Math.expm1(n*Math.log1p(-o)):1-Math.min(Ys(t,e),1)**n}function zs(t,e,n,r){if(!r)return n*Mu(t,e);let o=du(t,e);return n===1?o:Math.log(-Math.expm1(n*Math.log1p(-Math.exp(o))))}function Zs(t,e,n,r,o){if(n===1/0)return O1(t,e,r,o);let i=n/2,s=Math.log(i),a=Q6(i);return B1(f=>{let{d:u,s:l}=a(f);return u===0?0:u*O1(t*l,e,r,o)},Iu(t,e,n,r,o).map(f=>f-s),ou)}function Q6(t){let e=ht(t),n=Math.sqrt(t/(2*Math.PI));return r=>{let o;if(Math.abs(r)<.5){let i=r*r/2;o=i;for(let s=3;s<60&&(i*=r/s,o+=i,!(Math.abs(i)<1e-17*o));s++);}else o=Math.expm1(r)-r;return{d:n*Math.exp(-e-t*o),s:Math.exp(.5*r)}}}function V6(t,e,n,r,o){if(n===1/0)return zs(t,e,r,o);let i=n/2,s=Math.log(i),a=At(i+1);return D6(f=>{let u=Math.exp(f),l=u>1e-300?it(i,u,!0):i*f-u-a;return s+l+zs(Math.exp(Math.log(t)+.5*(f-s)),e,r,o)},Iu(t,e,n,r,o,!0))}function Iu(t,e,n,r,o,i=!1){let s=n/2,a=s,c=Math.log(s);if(o){let b=2*Math.log(t)-Math.log(4*s);c-=b>30?b:Math.log1p(Math.exp(b))}else a=s+(e-1)*r/2,c=Math.log(a);let f=(b,g)=>[b-9/Math.sqrt(g)-41/g,b+9/Math.sqrt(g)+Math.log1p(41/g)],[u,l]=f(Math.log(s),s),[h,m]=f(c,a),N=i?Math.min(u,h):Math.max(Math.min(u,h),-740),M=Math.max(l,m),d=1/Math.sqrt(s),p=1/Math.sqrt(a),w=[N,Math.min(Math.log(s)-4*d,c-4*p),Math.max(Math.log(s)+4*d,c+4*p),M];return[...new Set(w.map(b=>Math.min(Math.max(b,N),M)))].sort((b,g)=>b-g)}function vu(t,e,n){return t>=2&&e>=2&&n>=1&&Number.isFinite(t)&&Number.isFinite(n)&&!Number.isNaN(e)}function Js(t,e,n,r,o,i){let s;return kn!==void 0&&kn.q===t&&kn.k===e&&kn.df===n&&kn.r===r?s=kn.tail:(s=G6(t,e,n,r,!o),kn={q:t,k:e,df:n,r,tail:s}),s.upper===!o?i?s.log:s.value:i?Math.log1p(-s.value):1-s.value}var kn;function G6(t,e,n,r,o){let i=o;n!==1/0&&O1(t,e,r,i)>.5&&(i=!i);let s=Zs(t,e,n,r,i);if(s>.5){let a=Zs(t,e,n,r,!i);a<s&&(s=a,i=!i)}if(s<1e-290){let a=V6(t,e,n,r,i);return{upper:i,value:Math.exp(a),log:a}}return{upper:i,value:s,log:Math.log(s)}}function $6(t,e,n,r,o,i){return[t,e,n,r].some(Number.isNaN)?NaN:vu(e,n,r)?t<=0?D(o,i):t===1/0?C(o,i):Js(t,e,n,r,o,i):NaN}function U6(t,e,n,r,o,i){if([t,e,n,r].some(Number.isNaN))return NaN;if(!vu(e,n,r))return NaN;let s=G(t,0,1/0,o,i);if(s!==void 0)return s;let{lower:a,logTarget:c,linearTarget:f}=wt(t,o,i),u=h=>m=>{let N=Math.exp(m);if(f!==void 0&&f>1e-290){let d=h===1/0?Zs(N,e,h,r,!a):Js(N,e,h,r,a,!1);if(d>0)return Math.log(d/f)}return(h===1/0?W6(N,e,r,a):Js(N,e,h,r,a,!0))-c},l=nu(u(1/0),Math.log(3),a);return Math.exp(n===1/0?l:nu(u(n),l,a))}function W6(t,e,n,r){let o=O1(t,e,n,!r);return o>1e-290?Math.log(o):zs(t,e,n,!r)}function nu(t,e,n){let r=e,o=t(r);if(o===0)return r;let i=o>0===n?-1:1,s=.05,a=r+i*s,c=t(a);for(let f=0;f<200&&Math.sign(c)===Math.sign(o)&&c!==0;f++)r=a,o=c,s*=2,a=r+i*s,c=t(a);return c===0?a:!Number.isFinite(c)||Math.sign(c)===Math.sign(o)?Number.isFinite(c)?a:r:X6(t,r,a,o,c)}function X6(t,e,n,r,o){let i=e,s=r,a=n-e,c=a;for(let f=0;f<100;f++){Math.sign(o)===Math.sign(s)&&(i=e,s=r,a=n-e,c=a),Math.abs(s)<Math.abs(o)&&(e=n,n=i,i=e,r=o,o=s,s=r);let u=2*ta*Math.abs(n)+1e-300,l=.5*(i-n);if(Math.abs(l)<=u||o===0)return n;if(Math.abs(c)>=u&&Math.abs(r)>Math.abs(o)){let h=o/r,m,N;if(e===i)m=2*l*h,N=1-h;else{let M=r/s,d=o/s;m=h*(2*l*M*(M-d)-(n-e)*(d-1)),N=(M-1)*(d-1)*(h-1)}m>0?N=-N:m=-m,2*m<Math.min(3*l*N-Math.abs(u*N),Math.abs(c*N))?(c=a,a=m/N):(a=l,c=l)}else a=l,c=l;e=n,r=o,n+=Math.abs(a)>u?a:l>0?u:-u,o=t(n)}return n}function H6(t,e,n,r={}){let{nranges:o=1,lowerTail:i=!0,logP:s=!1}=r;return S(t,a=>$6(a,e,n,o,i,s))}function K6(t,e,n,r={}){let{nranges:o=1,lowerTail:i=!0,logP:s=!1}=r;return S(t,a=>U6(a,e,n,o,i,s))}var Y6=23283064365386963e-26,xu=2328306437080797e-25,V1=class{mt=new Uint32Array(624);mti=625;setSeed(e){let n=e>>>0;for(let r=0;r<50;r++)n=Math.imul(69069,n)+1>>>0;n=Math.imul(69069,n)+1>>>0;for(let r=0;r<624;r++)n=Math.imul(69069,n)+1>>>0,this.mt[r]=n;this.mti=624}sgenrand(e){for(let n=0;n<624;n++)this.mt[n]=e&4294901760,e=Math.imul(69069,e)+1>>>0,this.mt[n]=(this.mt[n]|(e&4294901760)>>>16)>>>0,e=Math.imul(69069,e)+1>>>0;this.mti=624}nextUint32(){let e=this.mt;if(this.mti>=624){this.mti===625&&this.sgenrand(4357);let r=0,o;for(;r<227;r++)o=e[r]&2147483648|e[r+1]&2147483647,e[r]=e[r+397]^o>>>1^(o&1?2567483615:0);for(;r<623;r++)o=e[r]&2147483648|e[r+1]&2147483647,e[r]=e[r+-227]^o>>>1^(o&1?2567483615:0);o=e[623]&2147483648|e[0]&2147483647,e[623]=e[396]^o>>>1^(o&1?2567483615:0),this.mti=0}let n=e[this.mti++];return n^=n>>>11,n^=n<<7&2636928640,n^=n<<15&4022730752,n^=n>>>18,n>>>0}nextDouble(){let e=this.nextUint32()*Y6;return e<=0?.5*xu:1-e<=0?1-.5*xu:e}getRandomSeed(e){let n=new Int32Array(626);n[0]=e,n[1]=this.mti;for(let r=0;r<624;r++)n[r+2]=this.mt[r]|0;return n}setRandomSeed(e){if(e.length!==626)throw new RangeError("the random seed state must have 626 integers");this.mti=e[1];for(let n=0;n<624;n++)this.mt[n]=e[n+2]>>>0}};var z6=[3.3871328727963665,133.14166789178438,1971.5909503065513,13731.69376550946,45921.95393154987,67265.7709270087,33430.57558358813,2509.0809287301227],Z6=[1,42.31333070160091,687.1870074920579,5394.196021424751,21213.794301586597,39307.89580009271,28729.085735721943,5226.495278852854],J6=[1.4234371107496835,4.630337846156546,5.769497221460691,3.6478483247632045,1.2704582524523684,.2417807251774506,.022723844989269184,.0007745450142783414],t4=[1,2.053191626637759,1.6763848301838038,.6897673349851,.14810397642748008,.015198666563616457,.0005475938084995345,10507500716444169e-25],e4=[6.657904643501103,5.463784911164114,1.7848265399172913,.29656057182850487,.026532189526576124,.0012426609473880784,27115555687434876e-21,20103343992922881e-23],n4=[1,.599832206555888,.1369298809227358,.014875361290850615,.0007868691311456133,18463183175100548e-21,1421511758316446e-22,20442631033899397e-31];function Gr(t,e){let n=t[7];for(let r=6;r>=0;r--)n=n*e+t[r];return n}function Fu(t){let e=t-.5;if(Math.abs(e)<=.425){let o=.180625-e*e;return e*Gr(z6,o)/Gr(Z6,o)}let n=e<0?t:1-t;n=Math.sqrt(-Math.log(n));let r;return n<=5?(n-=1.6,r=Gr(J6,n)/Gr(t4,n)):(n-=5,r=Gr(e4,n)/Gr(n4,n)),e<0?-r:r}var ca=10403,ci=new V1,$1=!1;function Au(){if($1)return;let t=(Date.now()^Math.floor(Math.random()*2**32))>>>0;typeof globalThis.crypto?.getRandomValues=="function"&&(t=globalThis.crypto.getRandomValues(new Uint32Array(1))[0]),ci.setSeed(t),$1=!0}function r4(t){if(!Number.isFinite(t))throw new RangeError("seed must be a finite number");let e=Math.trunc(t);if(Math.abs(e)>2147483647)throw new RangeError("seed must be a 32-bit integer");ci.setSeed(e|0),$1=!0}function o4(){return Au(),ci.getRandomSeed(ca)}function i4(t){if(t[0]!==ca)throw new RangeError(`only the default RNG kind (${ca}) is supported`);ci.setRandomSeed(t),$1=!0}function B(){return Au(),ci.nextDouble()}function s4(t){let e=0;for(let n=0;n<=t;n+=16){let r=Math.floor(B()*65536);e=65536*e+r}return e%2**t}function _n(t){if(t<=0)return 0;let e=Math.ceil(Math.log2(t)),n;do n=s4(e);while(t<=n);return n}var Eu=134217728;function on(){let t=B();return t=Math.trunc(Eu*t)+B(),Fu(t/Eu)}var G1=(()=>{let t=[],e=1,n=0;for(let r=1;r<=16;r++)e*=Math.LN2/r,n+=e,t.push(n);return t})();function Be(){let t=0,e=B();for(;e<=0||e>=1;)e=B();for(;e+=e,!(e>1);)t+=G1[0];if(e-=1,e<=G1[0])return t+e;let n=0,r=B(),o=r;do r=B(),o>r&&(o=r),n++;while(e>G1[n]);return t+o*G1[0]}function Y(t,e){if(!Number.isFinite(t)||t<0)throw new RangeError("n must be a non-negative finite number");let n=Math.trunc(t),r=new Array(n);for(let o=0;o<n;o++)r[o]=e();return r}function Ru(t,e){let n=1;if(Number.isNaN(t))return t;if(e!==0){if(!Number.isFinite(t))return Math.pow(t,e);for(e<0&&(e=-e,t=1/t);e&1&&(n*=t),e>>=1,e;)t*=t}return n}function a4(t,e={}){let{min:n=0,max:r=1}=e;return Y(t,()=>{if(!Number.isFinite(n)||!Number.isFinite(r)||r<n)return NaN;if(n===r)return n;let o=B();return n+(r-n)*o})}function U1(t,e){return Number.isNaN(t)||!Number.isFinite(e)||e<0?NaN:e===0||!Number.isFinite(t)?t:t+e*on()}function c4(t,e={}){let{mean:n=0,sd:r=1}=e;return Y(t,()=>U1(n,r))}function f4(t,e={}){let n=1/(e.rate??1);return Y(t,()=>!Number.isFinite(n)||n<=0?n===0?0:NaN:n*Be())}function u4(t,e={}){let{meanlog:n=0,sdlog:r=1}=e;return Y(t,()=>Number.isNaN(n)||!Number.isFinite(r)||r<0?NaN:Math.exp(U1(n,r)))}function l4(t,e={}){let{location:n=0,scale:r=1}=e;return Y(t,()=>{if(Number.isNaN(n)||!Number.isFinite(r))return NaN;if(r===0||!Number.isFinite(n))return n;let o=B();return n+r*Math.log(o/(1-o))})}function h4(t,e={}){let{location:n=0,scale:r=1}=e;return Y(t,()=>Number.isNaN(n)||!Number.isFinite(r)||r<0?NaN:r===0||!Number.isFinite(n)?n:n+r*Math.tan(Math.PI*B()))}function m4(t,e,n={}){let{scale:r=1}=n;return Y(t,()=>!Number.isFinite(e)||!Number.isFinite(r)||e<=0||r<=0?r===0?0:NaN:r*Math.pow(-Math.log(B()),1/e))}var N4=-.5,M4=.3333333,d4=-.2500068,p4=.2000118,b4=-.1661269,g4=.1421878,w4=-.1384794,y4=.125006,I4=1/7,v4=1/12,x4=1/24,Lu=.3989422804014327,F4=[1,1,2,6,24,120,720,5040,40320,362880],Qe=0,Su=0,qu=new Float64Array(36),W1=0,ku=0,fa=0,X1=0,_u=0,fi=0,Tu=0,Du=0,ju=0,$r=0,ui=0,Cu=0,Pu=0,Ou=0,Bu=0,li=0;function Ur(t){if(!Number.isFinite(t)||t<0)return NaN;if(t<=0)return 0;let e=t>=10,n=!1;if(!(e&&t===W1))if(e)n=!0,W1=t,fi=Math.sqrt(t),Tu=6*t*t,ju=Math.floor(t-1.1484);else for(t!==W1&&(W1=t,Su=Math.max(1,Math.trunc(t)),Qe=0,X1=_u=fa=Math.exp(-t));;){let m=B();if(m<=_u)return 0;if(Qe>0){let N=m>.458?Math.min(Qe,Su):1;for(let M=N;M<=Qe;M++)if(m<=qu[M])return M;if(Qe===35)continue}Qe++;for(let N=Qe;N<=35;N++)if(fa*=t/N,X1+=fa,qu[N]=X1,m<=X1)return Qe=N,N;Qe=35}let r=-1,o=0,i=0,s=0,a=t+fi*on();if(a>=0&&(r=Math.floor(a),r>=ju||(o=r,i=t-o,s=B(),Tu*s>=i*i*i)))return r;(n||t!==ku)&&(ku=t,Du=Lu/fi,$r=x4/t,ui=.3*$r*$r,li=I4*$r*ui,Bu=ui-15*li,Ou=$r-6*ui+45*li,Pu=1-$r+3*ui-15*li,Cu=.1069/t);let c=0,f=0,u=0,l=0,h=()=>{if(r<10)c=-t,f=Math.pow(t,r)/F4[r];else{let M=v4/o;M=M*(1-4.8*M*M);let d=i/o;Math.abs(d)<=.25?c=o*d*d*(((((((y4*d+w4)*d+g4)*d+b4)*d+p4)*d+d4)*d+M4)*d+N4)-M:c=o*Math.log(1+d)-i-M,f=Lu/Math.sqrt(o)}let m=(.5-i)/fi,N=m*m;u=-.5*N,l=Du*(((li*N+Bu)*N+Ou)*N+Pu)};if(a>=0&&(h(),l-s*l<=f*Math.exp(c-u)))return r;for(;;){let m=Be();s=2*B()-1;let N=1.8+(s>=0?m:-m);if(N>-.6744&&(r=Math.floor(t+fi*N),o=r,i=t-o,h(),Cu*Math.abs(s)<=f*Math.exp(c+m)-l*Math.exp(u+m)))break}return r}function E4(t,e){return Y(t,()=>Ur(e))}function A4(t,e){return Y(t,()=>!Number.isFinite(e)||e<=0||e>1?NaN:Ur(Be()*((1-e)/e)))}function R4(t,e,n){let{prob:r,mu:o}=n;if(r===void 0==(o===void 0))throw new TypeError("specify exactly one of prob and mu");let i=Number.isFinite(e)?e:Number.MAX_VALUE/2;if(o!==void 0)return Y(t,()=>!Number.isFinite(o)||Number.isNaN(e)||e<=0||o<0?NaN:o===0?0:Ur(Tn(i,o/i)));let s=r;return Y(t,()=>!Number.isFinite(s)||Number.isNaN(e)||e<=0||s<=0||s>1?NaN:s===1?0:Ur(Tn(i,(1-s)/s)))}var L4=5.656854,S4=.36787944117144233,q4=.04166669,k4=.02083148,_4=.00801191,T4=.00144121,D4=-7388e-8,j4=24511e-8,C4=2424e-7,P4=.3333333,O4=-.250003,B4=.2000062,Q4=-.1662921,V4=.1423657,G4=-.1367177,$4=.1233795,Qu=0,Vu=0,Xt=0,Wr=0,Gu=0,ua=0,hi=0,mi=0,H1=0;function $u(t){let e=t/(Xt+Xt);return Math.abs(e)<=.25?ua+.5*t*t*(((((($4*e+G4)*e+V4)*e+Q4)*e+B4)*e+O4)*e+P4)*e:ua-Xt*t+.25*t*t+(Wr+Wr)*Math.log(1+e)}function Tn(t,e){if(Number.isNaN(t)||Number.isNaN(e))return NaN;if(t<=0||e<=0)return e===0||t===0?0:NaN;if(!Number.isFinite(t)||!Number.isFinite(e))return 1/0;if(t<1){let s=1+S4*t,a;for(;;){let c=s*B();if(c>=1){if(a=-Math.log((s-c)/t),Be()>=(1-t)*Math.log(a))break}else if(a=Math.exp(Math.log(c)/t),Be()>=a)break}return e*a}t!==Qu&&(Qu=t,Wr=t-.5,Xt=Math.sqrt(Wr),Gu=L4-Xt*12);let n=on(),r=Xt+.5*n,o=r*r;if(n>=0)return e*o;let i=B();if(Gu*i<=n*n*n)return e*o;if(t!==Vu){Vu=t;let s=1/t;ua=((((((C4*s+j4)*s+D4)*s+T4)*s+_4)*s+k4)*s+q4)*s,t<=3.686?(hi=.463+Xt+.178*Wr,mi=1.235,H1=.195/Xt-.079+.16*Xt):t<=13.022?(hi=1.654+.0076*Wr,mi=1.68/Xt+.275,H1=.062/Xt+.024):(hi=1.77,mi=.75,H1=.1515/Xt)}if(r>0){let s=$u(n);if(Math.log(1-i)<=s)return e*o}for(;;){let s=Be();if(i=B(),i=i+i-1,n=i<0?hi-mi*s:hi+mi*s,n>=-.71874483771719){let a=$u(n);if(a>0){let c=Math.expm1(a);if(H1*Math.abs(i)<=c*Math.exp(s-.5*n*n))break}}}return r=Xt+.5*n,e*r*r}function U4(t,e,n={}){let r=Uo(n);return Y(t,()=>Tn(e,r))}function Ni(t){return!Number.isFinite(t)||t<0?NaN:Tn(t/2,2)}function W4(t,e){if(!Number.isFinite(t)||!Number.isFinite(e)||t<0||e<0)return NaN;if(e===0)return t===0?0:Tn(t/2,2);let n=Ur(e/2);return n>0&&(n=Ni(2*n)),t>0&&(n+=Tn(t/2,2)),n}function Dn(t,e,n={}){let{ncp:r}=n;return r===void 0?Y(t,()=>Ni(e)):Y(t,()=>W4(e,r))}function X4(t,e,n={}){let{ncp:r}=n;if(r===void 0)return Y(t,()=>Number.isNaN(e)||e<=0?NaN:Number.isFinite(e)?on()/Math.sqrt(Ni(e)/e):on());if(Number.isNaN(r))return Y(t,()=>NaN);let o=Y(t,()=>U1(r,1)),i=Dn(t,e);return o.map((s,a)=>s/Math.sqrt(i[a]/e))}function H4(t,e,n,r={}){let{ncp:o}=r;if(o===void 0)return Y(t,()=>{if(Number.isNaN(e)||Number.isNaN(n)||e<=0||n<=0)return NaN;let a=Number.isFinite(e)?Ni(e)/e:1,c=Number.isFinite(n)?Ni(n)/n:1;return a/c});let i=Dn(t,e,{ncp:o}),s=Dn(t,n);return i.map((a,c)=>a/e/(s[c]/n))}var K4=1024*Math.LN2,Mi=0,Uu=0,la=0,Wu=0,Xu=0,Hu=-1,Ku=-1;function ha(t,e){let n=Mi*Math.log(t/(1-t));if(n<=K4){let r=e*Math.exp(n);return Number.isFinite(r)||(r=Number.MAX_VALUE),[n,r]}return[n,Number.MAX_VALUE]}function Y4(t,e){if(Number.isNaN(t)||Number.isNaN(e)||t<0||e<0)return NaN;if(!Number.isFinite(t)&&!Number.isFinite(e))return .5;if(t===0&&e===0)return B()<.5?0:1;if(!Number.isFinite(t)||e===0)return 1;if(!Number.isFinite(e)||t===0)return 0;let n=Hu===t&&Ku===e;n||(Hu=t,Ku=e);let r=Math.min(t,e),o=Math.max(t,e),i=r+o,s,a;if(r<=1){for(n||(Mi=1/r,la=1+o-r,Wu=la*(.0138889+.0416667*r)/(o*Mi-.777778),Xu=.25+(.5+.25/la)*r);;){let u=B(),l=B(),h;if(u<.5){let m=u*l;if(h=u*m,.25*l+h-m>=Wu)continue}else{if(h=u*u*l,h<=.25){[s,a]=ha(u,o);break}if(h>=Xu)continue}if([s,a]=ha(u,o),i*(Math.log(i/(r+a))+s)-1.3862944>=Math.log(h))break}return t===r?r/(r+a):a/(r+a)}n||(Mi=Math.sqrt((i-2)/(2*r*o-i)),Uu=r+1/Mi);let c,f;do{let u=B(),l=B();[s,a]=ha(u,r);let h=u*u*l;c=Uu*s-1.3862944;let m=r+c-a;if(m+2.609438>=5*h||(f=Math.log(h),m>f))break}while(c+i*Math.log(i/(o+a))<f);return t!==r?o/(o+a):a/(o+a)}function z4(t,e,n,r={}){let{ncp:o}=r;if(o===void 0)return Y(t,()=>Y4(e,n));let i=Dn(t,2*e,{ncp:o}),s=Dn(t,2*n);return i.map((a,c)=>a/(a+s[c]))}var Z4=2147483647,jn=0,di=0,Xr=0,sn=0,K1=0,Y1=0,Yu=0,zu=0,pi=0,z1=0,Z1=0,Hr=0,J1=0,ma=-1,Zu=-1,te=0;function t0(t){let e=t*t;return(13860-(462-(132-(99-140/e)/e)/e)/e)/t/166320}function e0(t,e){if(!Number.isFinite(t))return NaN;let n=Math.round(t);if(n!==t)return NaN;if(!Number.isFinite(e)||n<0||e<0||e>1)return NaN;if(n===0||e===0)return 0;if(e===1)return n;if(n>=Z4)return xs(B(),n,e,{lowerTail:!1});let r=n,o=Math.min(e,1-e),i=1-o,s=r*o,a=o/i,c=a*(r+1),f;if(e!==ma||r!==Zu)if(ma=e,Zu=r,s<30)zu=Ru(i,r),f=!0;else{f=!1,di=s+o,te=Math.trunc(di),Xr=s*i,sn=Math.trunc(2.195*Math.sqrt(Xr)-4.6*i)+.5,Hr=te+.5,pi=Hr-sn,J1=Hr+sn,jn=.134+20.5/(15.3+te);let l=(di-pi)/(di-pi*o);z1=l*(1+.5*l),l=(J1-di)/(J1*i),Z1=l*(1+.5*l),K1=sn*(1+jn+jn),Y1=K1+jn/z1,Yu=Y1+jn/Z1}else f=s<30;let u;if(f)t:for(;;){u=0;let l=zu,h=B();for(;;){if(h<l)break t;if(u>110)break;h-=l,u++,l*=c/u-a}}else for(;;){let l=B()*Yu,h=B();if(l<=sn){u=Math.trunc(Hr-sn*h+l);break}if(l<=K1){let N=pi+(l-sn)/jn;if(h=h*jn+1-Math.abs(Hr-N)/sn,h>1||h<=0)continue;u=Math.trunc(N)}else if(l>Y1){if(u=Math.trunc(J1-Math.log(h)/Z1),u>r)continue;h=h*(l-Y1)*Z1}else{if(u=Math.trunc(pi+Math.log(h)/z1),u<0)continue;h=h*(l-K1)*z1}let m=Math.abs(u-te);if(m<=20||m>=Xr/2-1){let N=1;if(te<u)for(let M=te+1;M<=u;M++)N*=c/M-a;else if(te>u)for(let M=u+1;M<=te;M++)N/=c/M-a;if(h<=N)break}else{let N=m/Xr*((m*(m/3+.625)+.1666666666666)/Xr+.5),M=-m*m/(2*Xr),d=Math.log(h);if(d<M-N)break;if(d<=M+N){let p=u+1,w=te+1,b=r+1-te,g=r-u+1;if(d<=Hr*Math.log(w/p)+(r-te+.5)*Math.log(b/g)+(u-te)*Math.log(g*o/(p*i))+t0(w)+t0(b)+t0(p)+t0(g))break}}}return ma>.5&&(u=r-u),u}function J4(t,e,n){return Y(t,()=>e0(e,n))}function t7(t,e,n){if(!Number.isFinite(e)||e<0||Math.round(e)!==e)throw new RangeError("size must be a non-negative integer");let r=0;for(let a of n){if(!Number.isFinite(a)||a<0)throw new RangeError("prob must contain non-negative finite numbers");r+=a}if(r===0)throw new RangeError("prob must contain at least one positive value");let o=n.map(a=>a/r),i=o.length,s=()=>{let a=new Array(i).fill(0),c=e,f=1;for(let u=0;u<i-1;u++){if(o[u]){let l=o[u]/f;a[u]=l<1?e0(c,l):c,c-=a[u]}if(c<=0)return a;f-=o[u]}return a[i-1]=c,a};if(!Number.isFinite(t)||t<0)throw new RangeError("n must be a non-negative finite number");return Array.from({length:Math.trunc(t)},s)}function e7(t,e){return Y(t,()=>{if(Number.isNaN(e))return NaN;let n=Math.round(e);if(n<0)return NaN;if(n===0)return 0;let r=0;for(let o=1;o<=n;o++)r+=o*Math.floor(B()+.5);return r})}function n7(t,e,n){return Y(t,()=>{if(Number.isNaN(e)||Number.isNaN(n))return NaN;let r=Math.round(e),o=Math.round(n);if(r<0||o<0)return NaN;if(r===0||o===0)return 0;let i=r+o,s=new Int32Array(i);for(let c=0;c<i;c++)s[c]=c;let a=0;for(let c=0;c<o;c++){let f=_n(i);a+=s[f],s[f]=s[--i]}return a-o*(o-1)/2})}function r7(t,e={}){return Ju(t,e).map(n=>n-1)}function Ju(t,e){if(!Number.isFinite(t)||t<0||t>=2**31)throw new RangeError("n must be a non-negative number less than 2^31");t=Math.trunc(t);let{replace:n=!1,prob:r}=e,o=e.size!==void 0,i=o?e.size:t;if(!Number.isFinite(i)||i<0)throw new RangeError("size must be a non-negative number");let s=Math.trunc(i);if(r!==void 0){if(r.length!==t)throw new TypeError("prob must have length n");let u=i7(r,s,n);if(n){let l=0;for(let h=0;h<t;h++)t*u[h]>.1&&l++;return l>200?f7(u,s):a7(u,s)}if(s>t)throw new RangeError("cannot take a sample larger than the population when replace is false");return c7(u,s)}if(!n&&s>t)throw new RangeError("cannot take a sample larger than the population when replace is false");if(!n&&t>1e7&&o&&s<=t/2){let u=new Set,l=[];for(;l.length<s;){let h=_n(t);u.has(h)||(u.add(h),l.push(h+1))}return l}let a=new Array(s);if(n||s<2){for(let u=0;u<s;u++)a[u]=_n(t)+1;return a}let c=new Int32Array(t);for(let u=0;u<t;u++)c[u]=u;let f=t;for(let u=0;u<s;u++){let l=_n(f);a[u]=c[l]+1,c[l]=c[--f]}return a}function o7(t,e={}){return Ju(t.length,e).map(n=>t[n-1])}function i7(t,e,n){let r=0,o=0;for(let i of t){if(!Number.isFinite(i))throw new RangeError("prob contains NaN or infinite values");if(i<0)throw new RangeError("prob contains negative values");i>0&&(o++,r+=i)}if(o===0||!n&&e>o)throw new RangeError("too few positive probabilities");return Float64Array.from(t,i=>i/r)}function s7(t,e){let n=t.length;if(n<=1)return;let r=c=>t[c-1],o=(n>>1)+1,i=n,s,a;for(;;){if(o>1)o=o-1,s=r(o),a=e[o-1];else if(s=r(i),a=e[i-1],t[i-1]=r(1),e[i-1]=e[0],--i===1){t[0]=s,e[0]=a;return}let c=o,f=o<<1;for(;f<=i;)f<i&&r(f)>r(f+1)&&++f,s>r(f)?(t[c-1]=r(f),e[c-1]=e[f-1],c=f,f+=f):f=i+1;t[c-1]=s,e[c-1]=a}}function t2(t){let e=new Int32Array(t.length);for(let n=0;n<t.length;n++)e[n]=n+1;return s7(t,e),e}function a7(t,e){let n=Float64Array.from(t),r=n.length,o=t2(n);for(let s=1;s<r;s++)n[s]+=n[s-1];let i=new Array(e);for(let s=0;s<e;s++){let a=B(),c=0;for(;c<r-1&&!(a<=n[c]);c++);i[s]=o[c]}return i}function c7(t,e){let n=Float64Array.from(t),r=n.length,o=t2(n),i=new Array(e),s=1;for(let a=0,c=r-1;a<e;a++,c--){let f=s*B(),u=0,l=0;for(;l<c&&(u+=n[l],!(f<=u));l++);i[a]=o[l],s-=n[l];for(let h=l;h<c;h++)n[h]=n[h+1],o[h]=o[h+1]}return i}function f7(t,e){let n=t.length,r=new Float64Array(n),o=new Int32Array(n),i=new Int32Array(n),s=-1,a=n;for(let f=0;f<n;f++)r[f]=t[f]*n,r[f]<1?i[++s]=f:i[--a]=f;if(s>=0&&a<n)for(let f=0;f<n-1;f++){let u=i[f],l=i[a];if(o[u]=l,r[l]+=r[u]-1,r[l]<1&&a++,a>=n)break}let c=new Array(e);for(let f=0;f<e;f++){let u=_n(n);c[f]=B()<r[u]?u+1:o[u]+1}return c}var Na=2147483647,u7=.9189385332046728,l7=.0078,h7=.0034,m7=1e25,N7=57.564627324851145,M7=[0,0,.6931471805599453,1.791759469228055,3.1780538303479458,4.787491742782046,6.579251212010101,8.525161361065415];function ot(t){if(t<0)return 0;if(t<=7)return M7[t];let e=t,n=e*e;return(e+.5)*Math.log(e)-e+u7+(.0833333333333333-.00277777777777778/n)/e}var e2=-1,n2=-1,r2=-1,dt=0,bi=0,gi=0,X=0,mt=0,at=0,Ve=0,o2=0,s0=0,wi=0,he=0,Fe=0,i2=0,s2=0,n0=0,r0=0,o0=0,i0=0,a2=0;function d7(t,e,n){if(!Number.isFinite(t)||!Number.isFinite(e)||!Number.isFinite(n))return NaN;if(t=Math.round(t),e=Math.round(e),n=Math.round(n),t<0||e<0||n<0||n>t+e)return NaN;if(t>=Na||e>=Na||n>=Na)return n===1?e0(n,t/(t+e)):Os(B(),t,e,n,!1,!1);let r=t,o=e,i=n,s,a;r!==n2||o!==r2?(s=!0,a=!0):i!==e2?(s=!1,a=!0):(s=!1,a=!1),s&&(n2=r,r2=o,Ve=r+o,r<=o?(mt=r,at=o):(mt=o,at=r)),a&&(e2=i,X=i+i>=Ve?Math.trunc(Ve-i):i),(s||a)&&(dt=Math.trunc((X+1)*(mt+1)/(Ve+2)),bi=Math.max(0,X-at),gi=Math.min(mt,X));let c;if(bi===gi)c=gi;else if(dt-bi<10){if(s||a){let f;X<at?f=ot(at)+ot(mt+at-X)-ot(at-X)-ot(mt+at):f=ot(mt)+ot(X)-ot(X-at)-ot(mt+at),o2=Math.exp(f+N7)}t:for(;;){c=bi;let f=B()*m7,u=o2;for(;f>u;)if(f-=u,u*=(mt-c)*(X-c),c++,u=u/c/(at-X+c),c>gi)continue t;break}}else{if(s||a){let u=Math.sqrt((Ve-X)*X*mt*at/(Ve-1)/Ve/Ve);wi=Math.trunc(1.5*u)+.5,he=dt-wi+.5,Fe=dt+wi+.5,s0=ot(dt)+ot(mt-dt)+ot(X-dt)+ot(at-X+dt),i2=Math.exp(s0-ot(Math.trunc(he))-ot(Math.trunc(mt-he))-ot(Math.trunc(X-he))-ot(Math.trunc(at-X+he))),s2=Math.exp(s0-ot(Math.trunc(Fe-1))-ot(Math.trunc(mt-Fe+1))-ot(Math.trunc(X-Fe+1))-ot(Math.trunc(at-X+Fe-1))),n0=-Math.log(he*(at-X+he)/(mt-he+1)/(X-he+1)),r0=-Math.log((mt-Fe+1)*(X-Fe+1)/Fe/(at-X+Fe)),o0=wi+wi,i0=o0+i2/n0,a2=i0+s2/r0}let f=0;for(;;){let u=B()*a2,l=B();if(++f>=1e4)return NaN;if(u<o0)c=Math.trunc(he+u);else if(u<=i0){if(c=Math.trunc(he+Math.log(l)/n0),c<bi)continue;l=l*(u-o0)*n0}else{if(c=Math.trunc(Fe-Math.log(l)/r0),c>gi)continue;l=l*(u-i0)*r0}if(p7(c,l))break}}return i+i>=Ve?c=r>o?i-o+c:r-c:r>o&&(c=i-c),c}function p7(t,e){if(dt<100||t<=50){let q=1;if(dt<t)for(let I=dt+1;I<=t;I++)q=q*(mt-I+1)*(X-I+1)/(at-X+I)/I;else if(dt>t)for(let I=t+1;I<=dt;I++)q=q*I*(at-X+I)/(mt-I+1)/(X-I+1);return e<=q}let n=t,r=n+1,o=n-dt,i=mt-n+1,s=X-n+1,a=at-X+r,c=-o/r,f=o/i,u=o/s,l=-o/a,h=i*s/(r*a)-1,m=h<0?1+h:1,N=h*(1+h*(-.5+h/3)),M=N-.25*(h*h*h*h)/m,d=dt+.5,p=mt-dt+.5,w=X-dt+.5,b=at-X+d,g=q=>q*(1+q*(-.5+q/3)),v=n*N-dt*M+h7+d*g(c)+p*g(f)+w*g(u)+b*g(l),F=Math.log(e);if(F>v)return!1;let x=(q,I)=>{let P=q*(I*I*I*I);return I<0?P/(1+I):P},R=x(d,c),L=x(p,f),y=x(w,u),E=x(b,l);return F<v-.25*(R+L+y+E)+(n+dt)*(M-N)-l7?!0:F<=s0-ot(t)-ot(mt-t)-ot(X-t)-ot(at-X+t)}function b7(t,e,n,r){return Y(t,()=>d7(e,n,r))}function yi(t){let e=t.length;if(!t.every(Number.isFinite))return[t.reduce((i,s)=>i+s,0)/e,0];let n=[0,0];for(let i of t)n=A(n,[i,0]);let r=Wt(n,e);if(!Number.isFinite(r[0]))return[n[0]/e,0];let o=[0,0];for(let i of t)o=A(o,U([i,0],r));return A(r,Wt(o,e))}function Ii(t){return t.length===0?NaN:yi(t)[0]}function Ma(t){return g7(t,t)}function g7(t,e){let n=t.length;if(n<2)return NaN;let r=yi(t),o=t===e?r:yi(e);if(!Number.isFinite(r[0])||!Number.isFinite(o[0]))return NaN;let i=t.map(m=>U([m,0],r)),s=t===e?i:e.map(m=>U([m,0],o)),a=c2(i),c=t===e?a:c2(s),f=2**-a,u=2**-c,l=[0,0];for(let m=0;m<n;m++){let N=[i[m][0]*f,i[m][1]*f],M=[s[m][0]*u,s[m][1]*u];l=A(l,k(N,M))}return Wt(l,n-1)[0]*2**a*2**c}function c2(t){let e=0;for(let n of t)e=Math.max(e,Math.abs(n[0]));return e===0||!Number.isFinite(e)?0:Math.max(-1022,Math.floor(Math.log2(e)))}function f2(t){let e=[0,0];for(let n of t)e=A(e,[n,0]);return e[0]}function Ge(t){let e=t.length,n=Array.from({length:e},(i,s)=>s);n.sort((i,s)=>t[i]-t[s]||i-s);let r=new Array(e),o=0;for(;o<e;){let i=o;for(;i+1<e&&t[n[i+1]]===t[n[o]];)i++;let s=(o+i+2)/2;for(let a=o;a<=i;a++)r[n[a]]=s;o=i+1}return r}function Ee(t){let e=[...t].sort((o,i)=>o-i),n=[],r=0;for(;r<e.length;){let o=r;for(;o+1<e.length&&e[o+1]===e[r];)o++;o>r&&n.push(o-r+1),r=o+1}return n}function Cn(t){return t.filter(e=>!Number.isNaN(e))}function Kr(t,e){if(t.length!==e.length)throw new TypeError("x and y must have the same length");let n=[],r=[];for(let o=0;o<t.length;o++)!Number.isNaN(t[o])&&!Number.isNaN(e[o])&&(n.push(t[o]),r.push(e[o]));return[n,r]}function an(t){if(t===void 0)return"two.sided";let n=["two.sided","less","greater"].filter(r=>r.startsWith(t));if(t.length===0||n.length!==1)throw new RangeError(`invalid alternative "${t}" (expected "two.sided", "less" or "greater")`);return n[0]}function a0(t){if(!(Number.isFinite(t)&&t>=0&&t<=1))throw new RangeError("confLevel must be a number between 0 and 1")}function w7(t,e,n={}){let r;e!==void 0&&!ArrayBuffer.isView(e)&&!Array.isArray(e)?n=e:r=e;let o=an(n.alternative),i=n.mu??0,s=n.paired??!1,a=n.varEqual??!1,c=n.confLevel??.95;if(Number.isNaN(i))throw new RangeError("mu must be a number");if(a0(c),s&&r===void 0)throw new TypeError("y is required when paired is true");let f=Array.from(t),u=r===void 0?void 0:Array.from(r);if(s){let[x,R]=Kr(f,u);f=x.map((L,y)=>L-R[y]),u=void 0}else f=Cn(f),u!==void 0&&(u=Cn(u));let l,h,m,N,M,d,p,w=f.length;if(w<2)throw new Error("not enough 'x' observations");let b=Ii(f),g=Ma(f);if(u===void 0){if(h=w-1,m=Math.sqrt(g/w),m<10*Number.EPSILON*Math.abs(b))throw new Error("data are essentially constant");l=(b-i)/m,d=s?"Paired t-test":"One Sample t-test",N=b,M=s?"mean difference":"mean of x",p=s?"mean difference":"mean"}else{let x=u.length;if(x<1||!a&&x<2)throw new Error("not enough 'y' observations");if(a&&w+x<3)throw new Error("not enough observations");let R=Ii(u),L=Ma(u);if(d=`${a?"":"Welch"} Two Sample t-test`,N=[b,R],M=["mean of x","mean of y"],p="difference in means",a){h=w+x-2;let y=0;w>1&&(y+=(w-1)*g),x>1&&(y+=(x-1)*L),y/=h,m=Math.sqrt(y*(1/w+1/x))}else{let y=g/w,E=L/x;m=Math.sqrt(y+E),h=(m*m)**2/(y*y/(w-1)+E*E/(x-1))}if(m<10*Number.EPSILON*Math.max(Math.abs(b),Math.abs(R)))throw new Error("data are essentially constant");l=(b-R-i)/m}let v,F;if(o==="less")v=xe(l,h,!0,!1),F=[-1/0,l+ei(c,h,!0,!1)];else if(o==="greater")v=xe(l,h,!1,!1),F=[l-ei(c,h,!0,!1),1/0];else{v=2*xe(-Math.abs(l),h,!0,!1);let x=1-c,R=ei(1-x/2,h,!0,!1);F=[l-R,l+R]}return F=[i+F[0]*m,i+F[1]*m],{method:d,alternative:o,statistic:l,statisticName:"t",parameter:h,parameterName:"df",pValue:v,confInt:F,confLevel:c,estimate:N,estimateNames:M,nullValue:i,nullValueName:p,stdErr:m}}function $e(t){let e=[0,0],n=0;for(let r of t)e=A(e,[r,0]),n+=r;return Number.isFinite(n)?e[0]:n}function y7(t,e={}){let n=e.correct??!0;if(t.length>0&&typeof t[0]!="number"){let o=t.map(s=>Array.from(s)),i=o[0].length;if(o.some(s=>s.length!==i))throw new TypeError("all rows of the matrix must have the same length");return o.length===1?da(o[0],e):i===1?da(o.map(s=>s[0]),e):I7(o,n)}return da(Array.from(t),e)}function u2(t,e){return Number.isNaN(t)?NaN:ze(t,e/2,2,!1,!1)}function l2(t){if(!t.some(e=>e<5)&&t.some(Number.isNaN))throw new RangeError("missing value where TRUE/FALSE needed (the expected counts contain NaN)")}function da(t,e){let n=t.length;if(t.some(f=>Number.isNaN(f)||f<0))throw new RangeError("all entries of 'x' must be non-negative and finite");if(n<2)throw new TypeError("'x' must have at least 2 elements");let r=$e(t);if(!(r>0))throw new RangeError("at least one entry of 'x' must be positive");let o=e.p===void 0?t.map(()=>1/n):Array.from(e.p);if(o.length!==n)throw new TypeError("'x' and 'p' must have the same number of elements");if(o.some(Number.isNaN))throw new RangeError("p contains missing values");if(o.some(f=>f<0))throw new RangeError("probabilities must be non-negative");if(e.rescaleP??!1){let f=$e(o);o=o.map(u=>u/f)}else if(Math.abs($e(o)-1)>Math.sqrt(Number.EPSILON))throw new RangeError("probabilities must sum to 1");let i=o.map(f=>r*f);l2(i);let s=o.map((f,u)=>i[u]*(1-f)),a=$e(t.map((f,u)=>(f-i[u])**2/i[u])),c=n-1;return{method:"Chi-squared test for given probabilities",statistic:a,statisticName:"X-squared",parameter:c,parameterName:"df",pValue:u2(a,c),observed:t,expected:i,residuals:t.map((f,u)=>(f-i[u])/Math.sqrt(i[u])),stdres:t.map((f,u)=>(f-i[u])/Math.sqrt(s[u]))}}function I7(t,e){let n=t.length,r=t[0].length,o=t.flat();if(o.some(M=>!(M>=0&&M<1/0)))throw new RangeError("all entries of 'x' must be non-negative and finite");let i=$e(o);if(!(i>0))throw new RangeError("at least one entry of 'x' must be positive");let s=t.map(M=>$e(M)),a=t[0].map((M,d)=>$e(t.map(p=>p[d]))),c=s.map(M=>a.map(d=>M*d/i));l2(c.flat());let f=t.map((M,d)=>M.map((p,w)=>p-c[d][w])),u="Pearson's Chi-squared test",l,h=e&&n===2&&r===2?Math.min(.5,...f.flat().map(Math.abs)):0;h>0?(u+=" with Yates' continuity correction",l=$e(f.flatMap((M,d)=>M.map((p,w)=>(Math.abs(p)-h)**2/c[d][w])))):l=$e(f.flatMap((M,d)=>M.map((p,w)=>p*p/c[d][w])));let m=(n-1)*(r-1),N=c.map((M,d)=>M.map((p,w)=>p*(1-s[d]/i)*(1-a[w]/i)));return{method:u,statistic:l,statisticName:"X-squared",parameter:m,parameterName:"df",pValue:u2(l,m),observed:t,expected:c,residuals:f.map((M,d)=>M.map((p,w)=>p/Math.sqrt(c[d][w]))),stdres:f.map((M,d)=>M.map((p,w)=>p/Math.sqrt(N[d][w])))}}var v7=Math.pow(Number.EPSILON,.25);function Yr(t,e,n,r={}){let o=r.tol??v7,i=r.maxIter??1e3,s=e,a=n,c=r.fLower??t(s),f=r.fUpper??t(a);if(Number.isNaN(c)||Number.isNaN(f))throw new Error("the function value at an end point is NaN");if(c===0)return s;if(f===0)return a;if(c>0==f>0)throw new Error("the function values at the end points have the same sign");let u=s,l=c;for(let h=0;h<i;h++){let m=a-s;Math.abs(l)<Math.abs(f)&&(s=a,a=u,u=s,c=f,f=l,l=c);let N=2*Number.EPSILON*Math.abs(a)+o/2,M=(u-a)/2;if(Math.abs(M)<=N||f===0)return a;if(Math.abs(m)>=N&&Math.abs(c)>Math.abs(f)){let d=u-a,p,w;if(s===u){let b=f/c;p=d*b,w=1-b}else{let b=c/l,g=f/l,v=f/c;p=v*(d*b*(b-g)-(a-s)*(g-1)),w=(b-1)*(g-1)*(v-1)}p>0?w=-w:p=-p,p<.75*d*w-Math.abs(N*w)/2&&p<Math.abs(m*w/2)&&(M=p/w)}Math.abs(M)<N&&(M=M>0?N:-N),s=a,c=f,a+=M,f=t(a),(f>0&&l>0||f<0&&l<0)&&(u=s,l=c)}return a}var x7=1+1e-7;function F7(t,e={}){let n=t.length,r=n===0?0:t[0].length;if(t.some(a=>a.length!==r))throw new TypeError("all rows of the matrix must have the same length");if(n<2||r<2)throw new TypeError("'x' must have at least 2 rows and columns");let o=t.map(a=>Array.from(a));if(o.flat().some(a=>Number.isNaN(a)||a<0))throw new RangeError("all entries of 'x' must be non-negative and finite");if(o.flat().some(a=>a===1/0))throw new RangeError("'x' has entries too large to be integer");let i=o.map(a=>a.map(Mt)),s="Fisher's Exact Test for Count Data";return n===2&&r===2?E7(i,e,s):{method:s,alternative:e.alternative??"two.sided",pValue:A7(i)}}var wa=class{m;n;k;lo;hi;logdc;constructor(e,n,r){this.m=e,this.n=n,this.k=r,this.lo=Math.max(0,r-n),this.hi=Math.min(r,e);let o=this.hi-this.lo+1;this.logdc=new Float64Array(o);for(let i=0;i<o;i++){let s=this.lo+i;if(i%64===0)this.logdc[i]=Ps(s,e,n,r,!0);else{let a=s-1;this.logdc[i]=this.logdc[i-1]+Math.log((e-a)*(r-a)/((a+1)*(n-r+a+1)))}}}density(e){let n=Math.log(e),r=new Float64Array(this.logdc.length),o=-1/0;for(let s=0;s<r.length;s++)r[s]=this.logdc[s]+n*(this.lo+s),r[s]>o&&(o=r[s]);for(let s=0;s<r.length;s++)r[s]=r[s]-o<-760?0:Math.exp(r[s]-o);let i=pa(r,0,r.length);for(let s=0;s<r.length;s++)r[s]=r[s]/i;return r}mean(e){if(e===0)return this.lo;if(e===1/0)return this.hi;let n=this.density(e),r=[0,0];for(let o=0;o<n.length;o++)r=A(r,[(this.lo+o)*n[o],0]);return r[0]}cdf(e,n,r){if(n===1)return r?k1(e-1,this.m,this.n,this.k,!1,!1):k1(e,this.m,this.n,this.k,!0,!1);if(n===0)return+(r?e<=this.lo:e>=this.lo);if(n===1/0)return+(r?e<=this.hi:e>=this.hi);let o=this.density(n),i=e-this.lo;return r?pa(o,i,o.length):pa(o,0,i+1)}};function pa(t,e,n){let r=[0,0];for(let o=Math.max(0,e);o<Math.min(n,t.length);o++)r=A(r,[t[o],0]);return r[0]}function ba(t){return Yr(t,0,1)}function ga(t){return 1/Yr(e=>t(1/e),Number.EPSILON,1)}function E7(t,e,n){let r=an(e.alternative),o=e.or??1;if(!(o>=0))throw new RangeError("'or' must be a single number between 0 and Inf");let i=e.confLevel??.95;if(!(i>0&&i<1))throw new RangeError("confLevel must be a single number between 0 and 1");let s=t[0][0],a=s+t[1][0],c=t[0][1]+t[1][1],f=s+t[0][1],u=new wa(a,c,f),l;if(r==="less")l=u.cdf(s,o,!1);else if(r==="greater")l=u.cdf(s,o,!0);else if(o===0)l=+(s===u.lo);else if(o===1/0)l=+(s===u.hi);else{let N=u.density(o),M=N[s-u.lo]*x7,d=[0,0];for(let p of N)p<=M&&(d=A(d,[p,0]));l=d[0]}let h;if(s===u.lo)h=0;else if(s===u.hi)h=1/0;else{let N=u.mean(1),M=d=>u.mean(d)-s;h=N>s?ba(M):N<s?ga(M):1}let m={method:n,alternative:r,pValue:l,estimate:h,estimateNames:"odds ratio",nullValue:o,nullValueName:"odds ratio"};if(e.confInt??!0){let N=d=>{if(s===u.hi)return 1/0;let p=u.cdf(s,1,!1),w=b=>d-u.cdf(s,b,!1);return p<d?ba(w):p>d?ga(w):1},M=d=>{if(s===u.lo)return 0;let p=u.cdf(s,1,!0),w=b=>u.cdf(s,b,!0)-d;return p>d?ba(w):p<d?ga(w):1};m.confInt=r==="less"?[0,N(1-i)]:r==="greater"?[M(1-i),1/0]:[M((1-i)/2),N((1-i)/2)],m.confLevel=i}return m}var c0=[[0,0]];function Ae(t){for(let e=c0.length;e<=t;e++)c0.push(A(c0[e-1],V([e,0])));return c0[t]}function f0(t,e,n,r){let o=t+n,i=o-t,s=t-(o-i)+(n-i)+e+r,a=o+s;return[a,s-(a-o)]}var ya=class{scale=-1/0;hi=0;lo=0;add(e,n,r){if(e>this.scale){let c=Number.isFinite(this.scale)?Math.exp(this.scale-e):0;this.hi*=c,this.lo*=c,this.scale=e}let o=r*Math.exp(e-this.scale)*(1+n),i=this.hi+o,s=i-this.hi,a=this.hi-(i-s)+(o-s)+this.lo;this.hi=i+a,this.lo=a-(this.hi-i)}value(){return this.scale===-1/0?0:this.hi*Math.exp(this.scale)}};function A7(t){let e=t.filter(b=>b.some(g=>g>0));if(e.length===0)throw new RangeError("all entries of the table are zero");let n=e[0].map((b,g)=>e.some(v=>v[g]>0));if(e=e.map(b=>b.filter((g,v)=>n[v])),e.length<2||e[0].length<2)return 1;e.length>e[0].length&&(e=e[0].map((b,g)=>e.map(v=>v[g])));let r=e.length,o=e.map(b=>b.reduce((g,v)=>g+v,0)),i=e[0].map((b,g)=>e.reduce((v,F)=>v+F[g],0)).sort((b,g)=>g-b),s=i.length,a=o.reduce((b,g)=>b+g,0),c=Ct(Ae(a));for(let b of o)c=A(c,Ae(b));for(let b of i)c=A(c,Ae(b));let f=[0,0];for(let b of e.flat())f=U(f,Ae(b));let u=A(f,[Math.log1p(1e-7),0]),l=1e-9*(1+Math.abs(u[0])),[h,m]=u,N=Array.from({length:s},()=>new Map),M=(b,g)=>{let v=g.join(","),F=N[b].get(v);if(F!==void 0)return F;let x=A(c,Ae(g.reduce((I,P)=>I+P,0)));for(let I of g)x=U(x,Ae(I));for(let I=b;I<s;I++)x=U(x,Ae(i[I]));let R={R:g,KZ:x,max:0,min:0,edges:[],pastHi:[],pastLo:[],count:[],index:new Map};if(N[b].set(v,R),b===s-1){let I=[0,0];for(let P of g)I=U(I,Ae(P));return R.max=R.min=I[0],R.edges.push({to:R,hi:I[0],lo:I[1],mult:1}),R}let L=new Map,y=new Array(r+1).fill(0);for(let I=r-1;I>=0;I--)y[I]=y[I+1]+g[I];let E=new Array(r).fill(0),q=(I,P,$)=>{if(I===r-1){E[I]=P;let tt=U($,Ae(P)),z=g.map((St,It)=>St-E[It]).sort((St,It)=>St-It),ct=M(b+1,z),Z=`${z.join(",")}|${tt[0]}`,Nt=L.get(Z);Nt===void 0?L.set(Z,{to:ct,hi:tt[0],lo:tt[1],mult:1}):Nt.mult++;return}let et=Math.max(0,P-y[I+1]),yt=Math.min(g[I],P);for(let tt=et;tt<=yt;tt++)E[I]=tt,q(I+1,P-tt,U($,Ae(tt)))};if(q(0,i[b],[0,0]),R.edges=[...L.values()],R.max=Math.max(...R.edges.map(I=>I.hi+I.to.max)),R.min=Math.min(...R.edges.map(I=>I.hi+I.to.min)),b===s-2){let I=R.edges.map(ct=>{let Z=ct.to.edges[0];return{v:A([ct.hi,ct.lo],[Z.hi,Z.lo]),mult:ct.mult}});I.sort((ct,Z)=>ct.v[0]-Z.v[0]||ct.v[1]-Z.v[1]);let P=I.length,$=I[P-1].v[0],et=new Float64Array(P),yt=new Float64Array(P),tt=new Float64Array(P),z=[0,0];I.forEach(({v:ct,mult:Z},Nt)=>{et[Nt]=ct[0],yt[Nt]=ct[1];let St=U(ct,[$,0]);z=A(z,[Z*Math.exp(St[0])*(1+St[1]),0]),tt[Nt]=z[0]}),R.dist={hi:et,lo:yt,cum:tt,vmax:$,kv:A(c,[$,0])}}return R},d=M(0,[...o].sort((b,g)=>b-g)),p=new ya,w=(b,g,v,F)=>{if(g+b.max<=h-l){let[q,I]=f0(b.KZ[0],b.KZ[1],g,v);return p.add(q,I,F),!0}if(g+b.min>h+l)return!0;let x=b.dist;if(x===void 0)return!1;let[R,L]=f0(h,m,-g,-v),y=0,E=x.hi.length;for(;y<E;){let q=y+E>>>1,I=x.hi[q];I<R||I===R&&x.lo[q]<=L?y=q+1:E=q}if(y>0){let[q,I]=f0(x.kv[0],x.kv[1],g,v);p.add(q,I,F*x.cum[y-1])}return!0};w(d,0,0,1)||(d.pastHi.push(0),d.pastLo.push(0),d.count.push(1));for(let b=0;b<s-2;b++)for(let g of N[b].values()){let{pastHi:v,pastLo:F,count:x}=g;if(x.length!==0){for(let{to:R,hi:L,lo:y,mult:E}of g.edges)for(let q=0;q<x.length;q++){let[I,P]=f0(v[q],F[q],L,y),$=x[q]*E;if(w(R,I,P,$))continue;let et=R.index.get(I);et===void 0?(R.index.set(I,R.count.length),R.pastHi.push(I),R.pastLo.push(P),R.count.push($)):R.count[et]+=$}g.pastHi=g.pastLo=g.count=[],g.index.clear()}}return Math.min(1,p.value())}function R7(t,e,n={}){let r;e!==void 0&&!ArrayBuffer.isView(e)&&!Array.isArray(e)?n=e:r=e;let o=an(n.alternative),i=n.mu??0,s=n.paired??!1,a=n.exact??null,c=n.correct??!0,f=n.confInt??!1,u=n.confLevel??.95,l=n.tolRoot??1e-4;if(!Number.isFinite(i))throw new RangeError("mu must be a single finite number");if(f&&!(u>0&&u<1))throw new RangeError("confLevel must be a number strictly between 0 and 1");if(s&&r===void 0)throw new TypeError("y is required when paired is true");let h,m;if(s){let[M,d]=Kr(Array.from(t),Array.from(r));h=Cn(M.map((p,w)=>p-d[w]))}else h=Cn(Array.from(t)),r!==void 0&&(m=Cn(Array.from(r)));if(h.length<1)throw new Error("not enough (non-missing) 'x' observations");if(m!==void 0&&m.length<1)throw new Error("not enough (non-missing) 'y' observations");let N={alternative:o,mu:i,correct:c,confInt:f,confLevel:u,tolRoot:l};return m===void 0?S7(h,a,s,N):_7(h,m,a,N)}function u0(t,e,n){return n?e==="two.sided"?Math.sign(t)*.5:e==="greater"?.5:-.5:0}function m2(t,e){return e==="less"?W(t):e==="greater"?W(t,{lowerTail:!1}):2*Math.min(W(t),W(t,{lowerTail:!1}))}function L7(t){if(!(t>0)||!Number.isFinite(t))return t;let n=1-Math.floor(Math.log10(t)),r=n>=0?t*10**n:t/10**-n,o=Math.round(r);return o-r===.5&&o%2!==0&&(o-=1),n>=0?o/10**n:o*10**-n}function Ia(t){let e=t.length;if(e===0)return NaN;let n=Math.floor(e/2);return e%2===1?t[n]:Ii([t[n-1],t[n]])}var va=(t,e)=>t-e;function N2(t){let e=t.length,n=Ge(t.map(Math.abs)),r=0;for(let s=0;s<e;s++)t[s]>0&&(r+=n[s]);let o=0;for(let s of Ee(n))o+=s*s*s-s;let i=Math.sqrt(e*(e+1)*(2*e+1)/24-o/48);return[r,r-e*(e+1)/4,i]}function S7(t,e,n,r){let{alternative:o,mu:i,correct:s}=r,a=t.map(F=>F-i),c=a.some(F=>F===0);c&&(a=a.filter(F=>F!==0));let f=a.length,u=e??f<50,l=Ge(a.map(Math.abs)),h=Ee(l).length>0,[m,N,M]=N2(a),d,p,w=u&&!h&&!c;if(w){p="Wilcoxon signed rank exact test";let F=f*(f+1)/2;if(o==="less")d=tn(m,f,!0,!1);else if(o==="greater")d=tn(m-1,f,!1,!1);else{let x=m>F/2?tn(m-1,f,!1,!1):tn(m,f,!0,!1);d=Math.min(1,2*x)}}else p=`Wilcoxon signed rank test${s?" with continuity correction":""}`,d=m2((N-u0(N,o,s))/M,o);let b={method:p,alternative:o,statistic:m,statisticName:"V",pValue:d,nullValue:i,nullValueName:n?"location shift":"location"};if(!r.confInt)return b;let g=a.map(F=>F+i),v=w?q7(g,r):k7(g,r);return{...b,...v}}function q7(t,e){let n=t.length,r=[];for(let f=0;f<n;f++)for(let u=f;u<n;u++)r.push((t[f]+t[u])/2);r.sort(va);let o=r.length,i=1-e.confLevel,s,a;if(e.alternative==="two.sided"){let f=Math.max(1,T1(i/2,n,!0,!1));a=2*tn(f-1,n,!0,!1),s=[r[f-1],r[o-f]]}else{let f=Math.max(1,T1(i,n,!0,!1));a=tn(f-1,n,!0,!1),s=e.alternative==="greater"?[r[f-1],1/0]:[-1/0,r[o-f]]}let c=a-i>i/2?1-L7(a):e.confLevel;return{confInt:s,confLevel:c,estimate:Ia(r),estimateNames:"(pseudo)median"}}function h2(t){return t==="less"?[-1/0,NaN]:t==="greater"?[NaN,1/0]:[NaN,NaN]}function k7(t,e){let{alternative:n,tolRoot:r}=e,o=t.length;if(o===0)return{confInt:h2(n),confLevel:0,estimate:NaN};let i=1/0,s=-1/0;for(let N of t)i=Math.min(i,N),s=Math.max(s,N);if(!Number.isFinite(i)||!Number.isFinite(s)||o===1||i===s)return{confInt:h2(n),confLevel:0,estimate:(i+s)/2,estimateNames:"midrange"};let a=(N,M,d)=>{let p=t.map(g=>g-N).filter(g=>g!==0),[,w,b]=N2(p);return(w-u0(w,n,d))/b-M},c=(N,M)=>{let d=p=>a(p,N,M);if(!(r>0))throw new RangeError("tolRoot must be positive");return Yr(d,i,s,{tol:r})},f=1-e.confLevel,u=!1;for(;;){let N;if(n==="two.sided"?N=!(a(i,O(f/2,{lowerTail:!1}),e.correct)<0)&&!(a(s,O(f/2),e.correct)>0):n==="greater"?N=!(a(i,O(f,{lowerTail:!1}),e.correct)<0):N=!(a(s,O(f/2),e.correct)>0),N||f>=1)break;f*=2,u=!0}let l=u?1-Math.min(1,f):e.confLevel,h;if(f>=1){let N=Ia([...t].sort(va));h=n==="less"?[-1/0,N]:n==="greater"?[N,1/0]:[N,N]}else n==="two.sided"?h=[c(O(f/2,{lowerTail:!1}),e.correct),c(O(f/2),e.correct)]:n==="greater"?h=[c(O(f,{lowerTail:!1}),e.correct),1/0]:h=[-1/0,c(O(f),e.correct)];let m=c(0,!1);return{confInt:h,confLevel:l,estimate:m,estimateNames:"(pseudo)median"}}function M2(t,e){let n=t.length,r=e.length,o=Ge([...t,...e]),i=0;for(let u=0;u<n;u++)i+=o[u];let s=i-n*(n+1)/2,a=0;for(let u of Ee(o))a+=u*u*u-u;let c=n+r,f=Math.sqrt(n*r/12*(c+1-a/(c*(c-1))));return[s,s-n*r/2,f]}function _7(t,e,n,r){let{alternative:o,mu:i,correct:s}=r,a=t.length,c=e.length,f=t.map(g=>g-i),u=n??(a<50&&c<50),l=Ee([...f,...e]).length>0,[h,m,N]=M2(f,e),M,d,p=u&&!l;if(p)if(d="Wilcoxon rank sum exact test",o==="less")M=en(h,a,c,!0,!1);else if(o==="greater")M=en(h-1,a,c,!1,!1);else{let g=h>a*c/2?en(h-1,a,c,!1,!1):en(h,a,c,!0,!1);M=Math.min(1,2*g)}else d=`Wilcoxon rank sum test${s?" with continuity correction":""}`,M=m2((m-u0(m,o,s))/N,o);let w={method:d,alternative:o,statistic:h,statisticName:"W",pValue:M,nullValue:i,nullValueName:"location shift"};if(!r.confInt)return w;let b=p?T7(t,e,r):D7(t,e,r);return{...w,...b}}function T7(t,e,n){let r=t.length,o=e.length,i=[];for(let l of t)for(let h of e)i.push(l-h);i.sort(va);let s=i.length,a=1-n.confLevel,c,f;if(n.alternative==="two.sided"){let l=Math.max(1,P1(a/2,r,o,!0,!1));f=2*en(l-1,r,o,!0,!1),c=[i[l-1],i[s-l]]}else{let l=Math.max(1,P1(a,r,o,!0,!1));f=en(l-1,r,o,!0,!1),c=n.alternative==="greater"?[i[l-1],1/0]:[-1/0,i[s-l]]}let u=f-a>a/2?1-f:n.confLevel;return{confInt:c,confLevel:u,estimate:Ia(i),estimateNames:"difference in location"}}function D7(t,e,n){let{alternative:r,tolRoot:o}=n,i=1/0,s=-1/0;for(let l of t)for(let h of e)i=Math.min(i,l-h),s=Math.max(s,l-h);if(!Number.isFinite(i)||!Number.isFinite(s))throw new Error("cannot compute the confidence interval because the differences are not finite");let a=(l,h,m)=>{let[,N,M]=M2(t.map(d=>d-l),e);return(N-u0(N,r,m))/M-h},c=(l,h)=>{let m=d=>a(d,l,h),N=m(i),M=m(s);if(Number.isNaN(N)||Number.isNaN(M))throw new Error("cannot compute the confidence interval because all observations are tied");if(N<=0)return i;if(M>=0)return s;if(!(o>0))throw new RangeError("tolRoot must be positive");return Yr(m,i,s,{tol:o,fLower:N,fUpper:M})},f=1-n.confLevel,u;return r==="two.sided"?u=[c(O(f/2,{lowerTail:!1}),n.correct),c(O(f/2),n.correct)]:r==="greater"?u=[c(O(f,{lowerTail:!1}),n.correct),1/0]:u=[-1/0,c(O(f),n.correct)],{confInt:u,confLevel:n.confLevel,estimate:c(0,!1),estimateNames:"difference in location"}}var j7=["pearson","kendall","spearman"];function x2(t){if(t===void 0)return"pearson";let e=j7.filter(n=>n.startsWith(t));if(t.length===0||e.length!==1)throw new RangeError(`invalid method "${t}"`);return e[0]}function C7(t,e,n={}){let r=x2(n.method),o=Array.from(t),i=Array.from(e);if(o.length!==i.length)throw new TypeError("x and y must have the same length");return o.some(Number.isNaN)||i.some(Number.isNaN)?NaN:r==="pearson"?l0(o,i)[0]:r==="kendall"?F2(o,i).tau:l0(Ge(o),Ge(i))[0]}function d2(t){if(!(t[0]>0))return[Math.sqrt(t[0]),0];let e=Math.sqrt(t[0]),n=U(t,lt(e,e));return j(e,n[0]/(2*e))}function p2(t){let e=yi(t);if(!Number.isFinite(e[0]))return;let n=t.map(i=>U([i,0],e)),r=0;for(let i of n)r=Math.max(r,Math.abs(i[0]));if(r===0)return n;let o=2**-Math.max(-1022,Math.floor(Math.log2(r)));return n.map(i=>[i[0]*o,i[1]*o])}function l0(t,e){let n=t.length;if(n<2)return[NaN,0];let r=p2(t),o=p2(e);if(r===void 0||o===void 0)return[NaN,0];let i=[0,0],s=[0,0],a=[0,0];for(let f=0;f<n;f++)i=A(i,k(r[f],o[f])),s=A(s,k(r[f],r[f])),a=A(a,k(o[f],o[f]));if(s[0]===0||a[0]===0)return[NaN,0];let c=Q(i,k(d2(s),d2(a)));return c[0]>=1?[1,0]:c[0]<=-1?[-1,0]:c}function b2(t,e){let n=k(U([1,0],t),A([1,0],t));return Math.sqrt(e)*t[0]/Math.sqrt(n[0])}function P7(t){return Math.abs(t[0])<.5?Math.atanh(t[0]):.5*Math.log(A([1,0],t)[0]/U([1,0],t)[0])}function g2(t,e,n){return n==="less"?xe(t,e,!0,!1):n==="greater"?xe(t,e,!1,!1):2*Math.min(xe(t,e,!0,!1),xe(t,e,!1,!1))}function O7(t,e){return e==="less"?W(t):e==="greater"?W(t,{lowerTail:!1}):2*Math.min(W(t),W(t,{lowerTail:!1}))}function F2(t,e){let n=t.length,r=0;for(let u=0;u<n;u++){let l=t[u],h=e[u];for(let m=u+1;m<n;m++){let N=(t[m]>l?1:0)-(t[m]<l?1:0),M=(e[m]>h?1:0)-(e[m]<h?1:0);r+=N*M}}let o=Ee(t),i=Ee(e),s=n*(n-1)/2,a=o.reduce((u,l)=>u+l*(l-1)/2,0),c=i.reduce((u,l)=>u+l*(l-1)/2,0),f=n<2||a===s||c===s?NaN:a===0&&c===0?r/s:r/Math.sqrt((s-a)*(s-c));return{s:r,tau:f,ties:o.length>0||i.length>0,tx:o,ty:i}}function w2(t,e){let n=t*(t-1)/2;if(e<0)return 0;if(e>=n)return 1;let r=new Float64Array(e+1);r[0]=1;for(let i=2;i<=t;i++){let s=new Float64Array(e+1),a=0;for(let f=0;f<=e;f++)a+=r[f],s[f]=a;let c=new Float64Array(e+1);for(let f=0;f<=e;f++)c[f]=(s[f]-(f>=i?s[f-i]:0))/i;r=c}let o=0;for(let i=e;i>=0;i--)o+=r[i];return Math.min(1,o)}var y2=new Map;function B7(t){let e=y2.get(t);if(e!==void 0)return e;let n=t*(t*t-1)/3,r=1<<t,o=new Array(r);o[0]=new Float64Array(n+1),o[0][0]=1;let i=a=>{let c=0;for(;a;a&=a-1)c++;return c};for(let a=0;a<r;a++){let c=o[a];if(c===void 0)continue;let f=i(a);for(let u=0;u<t;u++){if(a&1<<u)continue;let l=(u-f)**2,h=a|1<<u,m=o[h]??=new Float64Array(n+1);for(let N=0;N+l<=n;N++)c[N]&&(m[N+l]+=c[N])}a!==r-1&&(o[a]=void 0)}let s=o[r-1];return y2.set(t,s),s}var ee=[.2274,.2531,.1745,.0758,.1033,.3932,.0879,.0151,.0072,.0831,.0131,46e-5];function I2(t,e,n){let r=e;r%2!==0&&(r+=1);let o=1/t,i=(6*(r-1)*o/(t*t-1)-1)*Math.sqrt(1/o-1),s=i*i,c=i*o*(ee[0]+o*(ee[1]+ee[2]*o)+s*(-ee[3]+o*(ee[4]+ee[5]*o)-s*o*(ee[6]+ee[7]*o-s*(ee[8]-ee[9]*o+s*o*(ee[10]-ee[11]*s)))))/Math.exp(s/2),f=n?W(i)-c:c+W(i,{lowerTail:!1});return Math.min(1,Math.max(0,f))}function v2(t,e,n){let r=t*(t*t-1)/3;if(t<=9){let o=B7(t),i=1;for(let a=2;a<=t;a++)i*=a;let s=0;if(n)for(let a=Math.min(e,r);a>=0;a--)s+=o[a];else for(let a=r;a>=Math.max(e,0);a--)s+=o[a];return s/i}return n?e+1>r?1:e+1<=0?0:I2(t,e+1,!0):e<=0?1:e>r?0:I2(t,e,!1)}function Q7(t,e,n={}){if(t.length!==e.length)throw new TypeError("x and y must have the same length");let r=an(n.alternative),o=x2(n.method),i=n.continuity??!1,[s,a]=Kr(Array.from(t),Array.from(e)),c=s.length;if(o==="pearson"){let b=n.confLevel??.95;if(a0(b),c<3)throw new Error("not enough finite observations");let g=l0(s,a),v=c-2,F=Number.isNaN(g[0])?NaN:b2(g,v),x={method:"Pearson's product-moment correlation",alternative:r,statistic:F,statisticName:"t",parameter:v,parameterName:"df",pValue:g2(F,v,r),estimate:g[0],estimateNames:"cor",nullValue:0,nullValueName:"correlation"};if(c>3){let R=P7(g),L=1/Math.sqrt(c-3),y=q=>Math.tanh(R+q),E;if(r==="less")E=[-1,y(L*O(b))];else if(r==="greater")E=[y(-L*O(b)),1];else{let q=L*O((1+b)/2);E=[y(-q),y(q)]}x.confInt=E,x.confLevel=b}return x}if(c<2)throw new Error("not enough finite observations");if(o==="kendall"){let b=F2(s,a),g={method:"Kendall's rank correlation tau",alternative:r,estimate:b.tau,estimateNames:"tau",nullValue:0,nullValueName:"tau"};if(Number.isNaN(b.tau))return{...g,statistic:NaN,statisticName:"T",pValue:NaN};if((n.exact??c<50)&&!b.ties){let I=c*(c-1)/2,P=(b.s+I)/2,$=w2(c,P),et=w2(c,I-P),yt=r==="less"?$:r==="greater"?et:Math.min(1,2*Math.min($,et));return{...g,statistic:P,statisticName:"T",pValue:yt}}let F=(I,P)=>P.reduce(($,et)=>$+I(et),0),x=I=>I*(I-1),R=I=>I*(I-1)*(I-2),L=I=>I*(I-1)*(2*I+5),y=(c*(c-1)*(2*c+5)-F(L,b.tx)-F(L,b.ty))/18+F(R,b.tx)*F(R,b.ty)/(9*c*(c-1)*(c-2))+F(x,b.tx)*F(x,b.ty)/(2*c*(c-1)),q=(i?Math.sign(b.s)*(Math.abs(b.s)-1):b.s)/Math.sqrt(y);return{...g,statistic:q,statisticName:"z",pValue:O7(q,r)}}let f=Ge(s),u=Ge(a),l=l0(f,u),h=c*c*c-c,m=h*(1-l[0])/6,N={method:"Spearman's rank correlation rho",alternative:r,statistic:m,statisticName:"S",estimate:l[0],estimateNames:"rho",nullValue:0,nullValueName:"rho"};if(Number.isNaN(l[0]))return{...N,pValue:NaN};let M=Ee(s).length>0||Ee(a).length>0;if((n.exact??c<=1290)&&!M&&c<=1290){let b=Math.round(m),g=v2(c,b,!0),v=v2(c,b,!1),F=r==="greater"?g:r==="less"?v:Math.min(1,2*Math.min(g,v));return{...N,pValue:F}}let p=l;if(i){let b=Q([6,0],[h,0]);p=Q(A(l,b),A([1,0],b)),Math.abs(p[0])>=1&&(p=[Math.sign(p[0]),0])}let w=b2(p,c-2);return{...N,pValue:g2(w,c-2,r)}}var E2=["holm","hochberg","hommel","bonferroni","BH","BY","fdr","none"];function V7(t){if(E2.includes(t))return t;let e=E2.filter(n=>n.startsWith(t));if(t.length===0||e.length!==1)throw new RangeError(`invalid method "${t}"`);return e[0]}function G7(t,e={}){let n=typeof e=="string"?{method:e}:e,r=V7(n.method??"holm"),o=Array.from(t),i=[];for(let l=0;l<o.length;l++)Number.isNaN(o[l])||i.push(l);let s=i.length,a=n.n??s;if(!(a>=s))throw new RangeError("n must be at least the number of non-NaN p-values");if(a<=1)return o;let c=i.map(l=>o[l]),f=$7(c,r,a),u=o.slice();return i.forEach((l,h)=>u[l]=f[h]),u}function h0(t,e){let n=t.map((r,o)=>o);return n.sort((r,o)=>(e?t[o]-t[r]:t[r]-t[o])||r-o),n}function $7(t,e,n){let r=t.length,o=new Array(r);switch(e){case"none":return t.slice();case"bonferroni":return t.map(i=>Math.min(1,n*i));case"holm":{let i=h0(t,!1),s=-1/0;return i.forEach((a,c)=>{s=Math.max(s,(n-c)*t[a]),o[a]=Math.min(1,s)}),o}case"hochberg":{let i=h0(t,!0),s=1/0;return i.forEach((a,c)=>{let f=r-c;s=Math.min(s,(n-f+1)*t[a]),o[a]=Math.min(1,s)}),o}case"BH":case"fdr":case"BY":{let i=e==="BY"?f2(Array.from({length:Math.floor(n)},(c,f)=>1/(f+1))):1,s=h0(t,!0),a=1/0;return s.forEach((c,f)=>{let u=r-f;a=Math.min(a,i*n/u*t[c]),o[c]=Math.min(1,a)}),o}case"hommel":return U7(t,n)}}function U7(t,e){if(!Number.isInteger(e))throw new RangeError("n must be an integer for the hommel method");let n=t.length,r=[...t,...new Array(e-n).fill(1)],o=h0(r,!1),i=o.map(c=>r[c]),s=i.slice();for(let c=e;c>=2;c--){let f=1/0;for(let u=1;u<=c;u++)f=Math.min(f,c*i[e-c+u-1]/u);for(let u=e-c;u<e;u++)s[u]=Math.max(s[u],f);for(let u=0;u<e-c;u++)s[u]=Math.max(s[u],Math.min(c*i[u],f))}let a=new Array(n);return o.forEach((c,f)=>{c<n&&(a[c]=s[f])}),a}function K(t,e){return{nrow:t,ncol:e,data:new Float64Array(t*e)}}function cn(t){return t.length>0&&typeof t[0]!="number"}function rt(t){let e=t.length,n=e===0?0:t[0].length,r=K(e,n);for(let o=0;o<e;o++){let i=t[o];if(i.length!==n)throw new TypeError("all rows of the matrix must have the same length");for(let s=0;s<n;s++)r.data[o+s*e]=i[s]}return r}function ne(t){if(cn(t))return rt(t);let e=t;return{nrow:e.length,ncol:1,data:Float64Array.from(e)}}function J(t){let e=[];for(let n=0;n<t.nrow;n++){let r=new Array(t.ncol);for(let o=0;o<t.ncol;o++)r[o]=t.data[n+o*t.nrow];e.push(r)}return e}function fn(t){let e=K(t.ncol,t.nrow);for(let n=0;n<t.ncol;n++)for(let r=0;r<t.nrow;r++)e.data[n+r*t.ncol]=t.data[r+n*t.nrow];return e}function Pn(t,e="the matrix"){if(t.nrow!==t.ncol)throw new TypeError(`${e} must be square (got ${t.nrow} x ${t.ncol})`)}function W7(t,e){let n=ne(t),r=e===void 0?n:ne(e);if(n.nrow!==r.nrow)throw new TypeError(`non-conformable arguments (${n.nrow} and ${r.nrow} rows)`);let o=n.nrow,i=K(n.ncol,r.ncol);for(let s=0;s<r.ncol;s++)for(let a=0;a<n.ncol;a++){if(e===void 0&&a>s)continue;let c=0;for(let f=0;f<o;f++)c+=n.data[f+a*o]*r.data[f+s*o];i.data[a+s*n.ncol]=c}return e===void 0&&A2(i),J(i)}function X7(t,e){let n=ne(t),r=e===void 0?n:ne(e);if(n.ncol!==r.ncol)throw new TypeError(`non-conformable arguments (${n.ncol} and ${r.ncol} columns)`);let o=K(n.nrow,r.nrow);for(let i=0;i<r.nrow;i++)for(let s=0;s<n.nrow;s++){if(e===void 0&&s>i)continue;let a=0;for(let c=0;c<n.ncol;c++)a+=n.data[s+c*n.nrow]*r.data[i+c*r.nrow];o.data[s+i*n.nrow]=a}return e===void 0&&A2(o),J(o)}function A2(t){let e=t.nrow;for(let n=0;n<e;n++)for(let r=n+1;r<e;r++)t.data[r+n*e]=t.data[n+r*e]}function H7(t,e,n={}){return R2(t,e,n.k,n.upperTri??!0,n.transpose??!1)}function K7(t,e,n={}){return R2(t,e,n.k,n.upperTri??!1,n.transpose??!1)}function R2(t,e,n,r,o){let i=rt(t),s=ne(e),a=n??i.ncol;if(!Number.isInteger(a)||a<1||a>i.nrow||a>i.ncol||a>s.nrow)throw new RangeError(`invalid k (got ${a})`);for(let f=0;f<a;f++)if(i.data[f+f*i.nrow]===0)throw new Error(`singular matrix: diagonal element ${f+1} is zero`);let c=K(a,s.ncol);for(let f=0;f<s.ncol;f++)for(let u=0;u<a;u++)c.data[u+f*a]=s.data[u+f*s.nrow];return Y7(i,a,c,r,o),cn(e)?J(c):Array.from(c.data)}function Y7(t,e,n,r,o){let i=t.nrow,s=t.data,a=n.nrow,c=n.data;for(let f=0;f<n.ncol;f++){let u=f*a;if(!o&&r){for(let l=e-1;l>=0;l--)if(c[u+l]!==0){c[u+l]/=s[l+l*i];let h=c[u+l];for(let m=0;m<l;m++)c[u+m]-=h*s[m+l*i]}}else if(o)if(r)for(let l=0;l<e;l++){let h=c[u+l];for(let m=0;m<l;m++)h-=s[m+l*i]*c[u+m];c[u+l]=h/s[l+l*i]}else for(let l=e-1;l>=0;l--){let h=c[u+l];for(let m=l+1;m<e;m++)h-=s[m+l*i]*c[u+m];c[u+l]=h/s[l+l*i]}else for(let l=0;l<e;l++)if(c[u+l]!==0){c[u+l]/=s[l+l*i];let h=c[u+l];for(let m=l+1;m<e;m++)c[u+m]-=h*s[m+l*i]}}}function Zr(t,e={}){let n=rt(t);if(e.lapack){let{tau:s,pivot:a}=Z7(n),c=Array.from({length:n.ncol},(f,u)=>s[u]??0);return{qr:J(n),rank:Math.min(n.nrow,n.ncol),qraux:c,pivot:a.map(f=>f-1),useLapack:!0}}for(let s of n.data)if(!Number.isFinite(s))throw new RangeError("the matrix contains NaN or infinite values");let{qraux:r,pivot:o,rank:i}=z7(n,e.tol??1e-7);return{qr:J(n),rank:i,qraux:Array.from(r),pivot:o.map(s=>s-1),useLapack:!1}}function On(t,e,n){let r=0;for(let i=0;i<n;i++)r=Math.max(r,Math.abs(t[e+i]));if(r===0||!Number.isFinite(r))return r;let o=0;for(let i=0;i<n;i++){let s=t[e+i]/r;o+=s*s}return r*Math.sqrt(o)}function z7(t,e){let n=t.nrow,r=t.ncol,o=t.data,i=new Float64Array(r),s=new Float64Array(r),a=new Float64Array(r),c=Array.from({length:r},(h,m)=>m+1);for(let h=0;h<r;h++)i[h]=On(o,h*n,n),s[h]=i[h],a[h]=i[h]===0?1:i[h];let f=new Float64Array(n),u=Math.min(n,r),l=r;for(let h=0;h<u;h++){for(;h<l&&i[h]<a[h]*e;){f.set(o.subarray(h*n,(h+1)*n));let[M,d,p,w]=[i[h],s[h],a[h],c[h]];o.copyWithin(h*n,(h+1)*n,r*n),o.set(f,(r-1)*n),i.copyWithin(h,h+1),s.copyWithin(h,h+1),a.copyWithin(h,h+1),c.copyWithin(h,h+1),i[r-1]=M,s[r-1]=d,a[r-1]=p,c[r-1]=w,l--}if(h===n-1)break;let m=h*n,N=On(o,m+h,n-h);if(N!==0){o[m+h]!==0&&(N=Math.sign(o[m+h])*Math.abs(N));for(let M=h;M<n;M++)o[m+M]/=N;o[m+h]=1+o[m+h];for(let M=h+1;M<r;M++){let d=M*n,p=0;for(let g=h;g<n;g++)p-=o[m+g]*o[d+g];p/=o[m+h];for(let g=h;g<n;g++)o[d+g]+=p*o[m+g];if(i[M]===0)continue;let w=1-(Math.abs(o[d+h])/i[M])**2;w=Math.max(w,0);let b=w;w=1+.05*w*(i[M]/s[M])**2,w!==1?i[M]*=Math.sqrt(b):(i[M]=On(o,d+h+1,n-h-1),s[M]=i[M])}i[h]=o[m+h],o[m+h]=-N}}return{qraux:i,pivot:c,rank:Math.min(l,n)}}function Z7(t){let e=t.nrow,n=t.ncol,r=t.data,o=Math.min(e,n),i=new Float64Array(o),s=Array.from({length:n},(u,l)=>l+1),a=new Float64Array(n),c=new Float64Array(n);for(let u=0;u<n;u++)a[u]=On(r,u*e,e),c[u]=a[u];let f=Math.sqrt(2**-53);for(let u=0;u<o;u++){let l=u;for(let m=u+1;m<n;m++)Math.abs(a[m])>Math.abs(a[l])&&(l=m);if(l!==u){for(let m=0;m<e;m++){let N=r[m+l*e];r[m+l*e]=r[m+u*e],r[m+u*e]=N}[s[l],s[u]]=[s[u],s[l]],a[l]=a[u],c[l]=c[u]}let h=u*e;if(i[u]=N0(r,h+u,e-u),u<n-1){let m=r[h+u];r[h+u]=1,Jr(r,h+u,e-u,i[u],t,u,u+1,n-u-1),r[h+u]=m}for(let m=u+1;m<n;m++){if(a[m]===0)continue;let N=1-(Math.abs(r[u+m*e])/a[m])**2;N=Math.max(N,0),N*(a[m]/c[m])**2<=f?u<e-1?(a[m]=On(r,m*e+u+1,e-u-1),c[m]=a[m]):(a[m]=0,c[m]=0):a[m]*=Math.sqrt(N)}}return{tau:i,pivot:s}}function N0(t,e,n){if(n<=1)return 0;let r=On(t,e+1,n-1);if(r===0)return 0;let o=t[e],i=-Math.sign(o||1)*Math.hypot(o,r),s=2**-1022/2**-53,a=0;if(Math.abs(i)<s){let u=1/s;do{a++;for(let l=1;l<n;l++)t[e+l]*=u;i*=u,o*=u}while(Math.abs(i)<s&&a<20);r=On(t,e+1,n-1),i=-Math.sign(o||1)*Math.hypot(o,r)}let c=(i-o)/i,f=1/(o-i);for(let u=1;u<n;u++)t[e+u]*=f;for(let u=0;u<a;u++)i*=s;return t[e]=i,c}function Jr(t,e,n,r,o,i,s,a){if(r===0)return;let c=o.nrow,f=o.data;for(let u=s;u<s+a;u++){let l=i+u*c,h=0;for(let m=0;m<n;m++)h+=f[l+m]*t[e+m];h*=r;for(let m=0;m<n;m++)f[l+m]-=t[e+m]*h}}function to(t){return{a:rt(t.qr),qraux:t.qraux,rank:t.rank,pivot:t.pivot.map(e=>e+1),lapack:t.useLapack}}function M0(t,e){let n=ne(e);if(n.nrow!==t.a.nrow)throw new TypeError(`qr and y must have the same number of rows (${t.a.nrow} and ${n.nrow})`);return n}function zr(t,e){return cn(t)?J(e):Array.from(e.data)}function Bn(t,e,n,r=t.rank){let{a:o,qraux:i}=t,s=o.nrow;if(t.lapack){let f=Math.min(s,o.ncol),u=n?m0(0,f):m0(0,f).reverse();for(let l of u){let h=o.data[l+l*s];o.data[l+l*s]=1,Jr(o.data,l+l*s,s-l,i[l],e,l,0,e.ncol),o.data[l+l*s]=h}return}let a=Math.min(r,s-1),c=n?m0(0,a):m0(0,a).reverse();for(let f of c){if(i[f]===0)continue;let u=f*s,l=o.data[u+f];o.data[u+f]=i[f];for(let h=0;h<e.ncol;h++){let m=h*s,N=0;for(let M=f;M<s;M++)N-=o.data[u+M]*e.data[m+M];N/=o.data[u+f];for(let M=f;M<s;M++)e.data[m+M]+=N*o.data[u+M]}o.data[u+f]=l}}function m0(t,e){return Array.from({length:Math.max(0,e-t)},(n,r)=>t+r)}function J7(t,e){let n=to(t),r=M0(n,e);return Bn(n,r,!0),zr(e,r)}function t8(t,e){let n=to(t),r=M0(n,e);return Bn(n,r,!1),zr(e,r)}function L2(t,e){let n=to(t),r=M0(n,e),o=n.a.ncol,i=n.a.nrow,s=n.lapack?Math.min(i,o):n.rank;Bn(n,r,!0);for(let c=0;c<r.ncol;c++){let f=c*i;for(let u=s-1;u>=0;u--){let l=n.a.data[u+u*i];if(l===0)throw new Error("exact singularity in qrCoef");r.data[f+u]/=l;let h=-r.data[f+u];for(let m=0;m<u;m++)r.data[f+m]+=h*n.a.data[m+u*i]}}let a=K(o,r.ncol);a.data.fill(NaN);for(let c=0;c<r.ncol;c++)for(let f=0;f<s;f++)a.data[n.pivot[f]-1+c*o]=r.data[f+c*i];return zr(e,a)}function S2(t,e,n,r){let o=to(t);if(o.lapack)throw new TypeError("not supported for a QR decomposition computed with lapack: true");let i=r??o.rank;if(!Number.isInteger(i)||i<0||i>o.rank)throw new RangeError(`invalid k (got ${i})`);let s=M0(o,e),a=o.a.nrow;if(i===0)return zr(e,s);if(a===1)return n||s.data.fill(0),zr(e,s);Bn(o,s,!0,i);for(let c=0;c<s.ncol;c++)n?s.data.fill(0,c*a+i,(c+1)*a):s.data.fill(0,c*a,c*a+i);return Bn(o,s,!1,i),zr(e,s)}function e8(t,e){return S2(t,e,!1)}function n8(t,e,n={}){return S2(t,e,!0,n.k)}function r8(t,e={}){let n=to(t),r=n.a.nrow,o=e.complete?r:Math.min(r,n.a.ncol),i=e.dvec??new Array(o).fill(1);if(i.length!==o)throw new RangeError(`dvec must have length ${o}`);let s=K(r,o);for(let a=0;a<o;a++)s.data[a+a*r]=i[a];return Bn(n,s,!1),J(s)}function vi(t,e={}){let n=rt(t.qr),r=e.complete?n.nrow:Math.min(n.nrow,n.ncol),o=K(r,n.ncol);for(let i=0;i<n.ncol;i++)for(let s=0;s<=Math.min(i,r-1);s++)o.data[s+i*r]=n.data[s+i*n.nrow];return J(o)}function o8(t,e={}){let n=to(t),r=n.a.nrow,o=n.a.ncol,i=e.complete??!1,s=e.ncol??(i?r:Math.min(r,o));if(!Number.isInteger(s)||s<0)throw new RangeError(`invalid ncol (got ${s})`);if(n.pivot.some((l,h)=>l!==h+1)&&s<o)throw new RangeError("ncol must be at least the number of columns because the decomposition is pivoted");let c=K(r,s);for(let l=0;l<s;l++)if(l<o)for(let h=0;h<=Math.min(l,r-1);h++)c.data[h+l*r]=n.a.data[h+l*r];else l<r&&(c.data[l+l*r]=1);Bn(n,c,!1);let f=Math.min(s,o),u=K(r,s);u.data.set(c.data);for(let l=0;l<f;l++){let h=n.pivot[l]-1;h<f&&u.data.set(c.data.subarray(l*r,(l+1)*r),h*r)}return J(u)}function i8(t,e,n={}){let r=Array.isArray(t)?Zr(t,{tol:n.tol??1e-7}):t,o=r.qr.length,i=o===0?0:r.qr[0].length;if(r.rank!==Math.min(o,i))throw new Error("singular matrix in qrSolve");if(e===void 0&&o!==i)throw new TypeError("only square matrices can be inverted");let s=e??Array.from({length:o},(f,u)=>Array.from({length:o},(l,h)=>u===h?1:0)),a=L2(r,s),c=f=>Number.isNaN(f)?0:f;return cn(s)?a.map(f=>f.map(c)):a.map(c)}function d0(t,e={}){let n=rt(t);for(let l of n.data)if(!Number.isFinite(l))throw new RangeError("the matrix contains NaN or infinite values");let r=Math.min(n.nrow,n.ncol),o=Math.min(e.nu??r,n.nrow),i=Math.min(e.nv??r,n.ncol);for(let[l,h]of[["nu",o],["nv",i]])if(!Number.isInteger(h)||h<0)throw new RangeError(`${l} must be a non-negative integer`);let s=n.nrow<n.ncol,a=_2(s?fn(n):n,s?i:o,s?o:i),c={d:Array.from(a.d)},[f,u]=s?[a.v,a.u]:[a.u,a.v];return o>0&&(c.u=J(q2(f,o))),i>0&&(c.v=J(q2(u,i))),c}function k2(t){return _2(t.nrow<t.ncol?fn(t):t,0,0).d}function q2(t,e){return{nrow:t.nrow,ncol:e,data:t.data.slice(0,t.nrow*e)}}function _2(t,e,n){let r=t.nrow,o=t.ncol,i=new Float64Array(o);if(o===0)return{d:i,u:K(r,r),v:K(0,0)};let s={nrow:r,ncol:o,data:t.data.slice()},a=new Float64Array(o),c=new Float64Array(o),f=new Float64Array(o);for(let p=0;p<o;p++){let w=p*r;if(c[p]=N0(s.data,w+p,r-p),i[p]=s.data[w+p],p<o-1&&(s.data[w+p]=1,Jr(s.data,w+p,r-p,c[p],s,p,p+1,o-p-1),s.data[w+p]=i[p]),p<o-1){let b=new Float64Array(o-p-1);for(let v=0;v<b.length;v++)b[v]=s.data[p+(p+1+v)*r];f[p]=N0(b,0,b.length),a[p+1]=b[0],b[0]=1;let g=f[p];if(g!==0)for(let v=p+1;v<r;v++){let F=0;for(let x=0;x<b.length;x++)F+=s.data[v+(p+1+x)*r]*b[x];F*=g;for(let x=0;x<b.length;x++)s.data[v+(p+1+x)*r]-=F*b[x]}b[0]=a[p+1];for(let v=0;v<b.length;v++)s.data[p+(p+1+v)*r]=b[v]}}let u=e===0?0:Math.max(e,o),l;if(u>0){l=K(r,u);for(let p=0;p<u;p++)l.data[p+p*r]=1;for(let p=o-1;p>=0;p--){let w=p*r,b=s.data[w+p];s.data[w+p]=1,Jr(s.data,w+p,r-p,c[p],l,p,0,u),s.data[w+p]=b}}let h;if(n>0){h=K(o,o);for(let w=0;w<o;w++)h.data[w+w*o]=1;let p=new Float64Array(o);for(let w=o-2;w>=0;w--){let b=o-w-1;p[0]=1;for(let g=1;g<b;g++)p[g]=s.data[w+(w+1+g)*r];Jr(p,0,b,f[w],h,w+1,0,o)}}s8(i,a,l,h);let m=Array.from({length:o},(p,w)=>w).sort((p,w)=>i[w]-i[p]||p-w),N=Float64Array.from(m,p=>i[p]),M=(p,w)=>{if(p===void 0)return;let b={nrow:p.nrow,ncol:p.ncol,data:p.data.slice()};for(let g=0;g<w;g++)b.data.set(p.data.subarray(m[g]*p.nrow,(m[g]+1)*p.nrow),g*p.nrow);return b},d={d:N};return l&&(d.u=M(l,o)),h&&(d.v=M(h,o)),d}function s8(t,e,n,r){let o=t.length,i=Number.EPSILON,s=0;for(let f=0;f<o;f++)s=Math.max(s,Math.abs(t[f])+Math.abs(e[f]));let a=(f,u,l,h)=>{if(!n)return;let m=n.nrow;for(let N=0;N<m;N++){let M=n.data[N+f*m],d=n.data[N+u*m];n.data[N+f*m]=M*l+d*h,n.data[N+u*m]=d*l-M*h}},c=(f,u,l,h)=>{if(r)for(let m=0;m<o;m++){let N=r.data[m+f*o],M=r.data[m+u*o];r.data[m+f*o]=N*l+M*h,r.data[m+u*o]=M*l-N*h}};for(let f=o-1;f>=0;f--)for(let u=0;;u++){let l=f,h=!0;for(;l>=0;l--){if(l===0||Math.abs(e[l])<=i*s){h=!1;break}if(Math.abs(t[l-1])<=i*s)break}if(h){let F=l-1,x=0,R=1;for(let L=l;L<=f;L++){let y=R*e[L];if(e[L]=x*e[L],Math.abs(y)<=i*s)break;let E=t[L],q=Math.hypot(y,E);t[L]=q,x=E/q,R=-y/q,a(F,L,x,R)}}let m=t[f];if(l===f){if(m<0&&(t[f]=-m,r))for(let F=0;F<o;F++)r.data[F+f*o]=-r.data[F+f*o];break}if(u>=75)throw new Error("the singular value decomposition did not converge");let N=t[l],M=f-1,d=t[M],p=e[M],w=e[f],b=((d-m)*(d+m)+(p-w)*(p+w))/(2*w*d);p=Math.hypot(b,1),b=((N-m)*(N+m)+w*(d/(b+(b>=0?Math.abs(p):-Math.abs(p)))-w))/N;let g=1,v=1;for(let F=l;F<=M;F++){let x=F+1;p=e[x],d=t[x],w=v*p,p=g*p;let R=Math.hypot(b,w);e[F]=R,g=b/R,v=w/R,b=N*g+p*v,p=p*g-N*v,w=d*v,d*=g,c(F,x,g,v),R=Math.hypot(b,w),t[F]=R,R!==0&&(g=b/R,v=w/R),b=g*p+v*d,N=g*d-v*p,a(F,x,g,v)}e[l]=0,e[f]=b,t[f]=N}}function p0(t,e={}){let n=rt(t),r=e.type??"O";if(r.length!==1)throw new RangeError(`type must be a single character (got "${r}")`);switch(r.toUpperCase()){case"O":case"1":return b0(n);case"I":return Fa(n);case"F":case"E":return a8(n);case"M":return T2(n);case"2":return c8(n);default:throw new RangeError(`type must be one of "O", "I", "F", "M" and "2" (got "${r}")`)}}function xa(t,e){return Number.isNaN(t)||Number.isNaN(e)?NaN:Math.max(t,e)}function b0(t){let e=0;for(let n=0;n<t.ncol;n++){let r=0;for(let o=0;o<t.nrow;o++)r+=Math.abs(t.data[o+n*t.nrow]);e=xa(e,r)}return e}function Fa(t){let e=new Float64Array(t.nrow);for(let r=0;r<t.ncol;r++)for(let o=0;o<t.nrow;o++)e[o]+=Math.abs(t.data[o+r*t.nrow]);let n=0;for(let r of e)n=xa(n,r);return n}function T2(t){let e=0;for(let n of t.data)e=xa(e,Math.abs(n));return e}function a8(t){let e=T2(t);if(e===0||!Number.isFinite(e))return e;let n=0;for(let r of t.data){let o=r/e;n+=o*o}return e*Math.sqrt(n)}function c8(t){if(t.nrow===0||t.ncol===0)return 0;if(t.data.some(Number.isNaN))return NaN;if(t.data.some(e=>!Number.isFinite(e)))throw new RangeError("the matrix contains infinite values");return k2(t)[0]}function f8(t,e={}){let n=rt(t);if(Pn(n),n.nrow===0)throw new RangeError("the matrix has zero dimension");if(e.pivot){let{pivot:o,rank:i}=l8(n,e.tol??-1);return D2(n),{r:J(n),pivot:o.map(s=>s-1),rank:i}}let r=u8(n);if(r>0)throw new Error(`the matrix is not positive definite: the leading minor of order ${r} is not positive`);return D2(n),J(n)}function D2(t){let e=t.nrow;for(let n=0;n<e;n++)for(let r=n+1;r<e;r++)t.data[r+n*e]=0}function u8(t){let e=t.nrow,n=t.data;for(let r=0;r<e;r++){let o=r*e,i=n[r+o];for(let s=0;s<r;s++)i-=n[s+o]*n[s+o];if(i<=0)return n[r+o]=i,r+1;i=Math.sqrt(i),n[r+o]=i;for(let s=r+1;s<e;s++){let a=s*e,c=n[r+a];for(let f=0;f<r;f++)c-=n[f+o]*n[f+a];n[r+a]=c/i}}return 0}function l8(t,e){let n=t.nrow,r=t.data,o=Array.from({length:n},(l,h)=>h+1),i=(l,h)=>l+h*n,s=(l,h)=>{let m=r[l];r[l]=r[h],r[h]=m},a=0;for(let l=1;l<n;l++)r[i(l,l)]>r[i(a,a)]&&(a=l);let c=r[i(a,a)];if(c<=0||Number.isNaN(c))return{pivot:o,rank:0};let f=e<0?n*Number.EPSILON*c:e,u=new Float64Array(2*n);for(let l=0;l<n;l++){for(let h=l;h<n;h++)l>0&&(u[h]+=r[i(l-1,h)]**2),u[n+h]=r[i(h,h)]-u[h];if(l>0){a=l;for(let h=l+1;h<n;h++)u[n+h]>u[n+a]&&(a=h);if(c=u[n+a],c<=f||Number.isNaN(c))return r[i(l,l)]=c,{pivot:o,rank:l}}if(l!==a){r[i(a,a)]=r[i(l,l)];for(let h=0;h<l;h++)s(i(h,l),i(h,a));for(let h=a+1;h<n;h++)s(i(l,h),i(a,h));for(let h=l+1;h<a;h++)s(i(l,h),i(h,a));[u[l],u[a]]=[u[a],u[l]],[o[l],o[a]]=[o[a],o[l]]}c=Math.sqrt(c),r[i(l,l)]=c;for(let h=l+1;h<n;h++){let m=r[i(l,h)];for(let N=0;N<l;N++)m-=r[i(N,l)]*r[i(N,h)];r[i(l,h)]=m/c}}return{pivot:o,rank:n}}function h8(t,e={}){let n=ne(t),r=e.size??n.ncol;if(!Number.isInteger(r)||r<1)throw new RangeError(`size must be a positive integer (got ${r})`);if(r>n.ncol)throw new RangeError(`size cannot exceed the number of columns (${n.ncol})`);if(r>n.nrow)throw new RangeError(`size cannot exceed the number of rows (${n.nrow})`);let o=K(r,r);for(let i=0;i<r;i++)for(let s=0;s<=i;s++)o.data[s+i*r]=n.data[s+i*n.nrow];m8(o);for(let i=0;i<r;i++)for(let s=i+1;s<r;s++)o.data[s+i*r]=o.data[i+s*r];return J(o)}function m8(t){let e=t.nrow,n=t.data;for(let r=0;r<e;r++)if(n[r+r*e]===0)throw new Error(`element (${r+1}, ${r+1}) is zero, so the inverse cannot be computed`);for(let r=0;r<e;r++){let o=r*e;n[r+o]=1/n[r+o];let i=-n[r+o];for(let s=0;s<r;s++){let a=n[s+o];if(a!==0){for(let c=0;c<s;c++)n[c+o]+=a*n[c+s*e];n[s+o]=a*n[s+s*e]}}for(let s=0;s<r;s++)n[s+o]*=i}for(let r=0;r<e;r++){let o=n[r+r*e];if(r<e-1){let i=0;for(let s=r;s<e;s++)i+=n[r+s*e]*n[r+s*e];n[r+r*e]=i;for(let s=0;s<r;s++)n[s+r*e]*=o;for(let s=r+1;s<e;s++){let a=n[r+s*e];if(a!==0)for(let c=0;c<r;c++)n[c+r*e]+=a*n[c+s*e]}}else for(let i=0;i<=r;i++)n[i+r*e]*=o}}function Ea(t){let e=t.nrow,n=t.ncol,r=t.data,o=Math.min(e,n),i=new Int32Array(o),s=2**-1022,a=0;for(let c=0;c<o;c++){let f=c*e,u=c,l=Math.abs(r[f+c]);for(let h=c+1;h<e;h++){let m=Math.abs(r[f+h]);m>l&&(l=m,u=h)}if(i[c]=u,r[f+u]!==0){if(u!==c)for(let m=0;m<n;m++){let N=r[c+m*e];r[c+m*e]=r[u+m*e],r[u+m*e]=N}let h=r[f+c];if(Math.abs(h)>=s){let m=1/h;for(let N=c+1;N<e;N++)r[f+N]*=m}else for(let m=c+1;m<e;m++)r[f+m]/=h}else a===0&&(a=c+1);for(let h=c+1;h<n;h++){let m=r[c+h*e];if(m===0)continue;let N=-m;for(let M=c+1;M<e;M++)r[M+h*e]+=r[f+M]*N}}return{ipiv:i,info:a}}function N8(t,e,n){let r=t.nrow,o=t.data,i=n.data;for(let s=0;s<n.ncol;s++){let a=s*r;for(let c=0;c<r;c++){let f=e[c];if(f!==c){let u=i[a+c];i[a+c]=i[a+f],i[a+f]=u}}for(let c=0;c<r;c++){let f=i[a+c];if(f!==0)for(let u=c+1;u<r;u++)i[a+u]-=f*o[u+c*r]}for(let c=r-1;c>=0;c--)if(i[a+c]!==0){i[a+c]/=o[c+c*r];let f=i[a+c];for(let u=0;u<c;u++)i[a+u]-=f*o[u+c*r]}}}function xi(t,e,n,r,o){let i=t.nrow,s=t.data;if(n)if(e)for(let a=0;a<i;a++){let c=o[a];for(let f=0;f<a;f++)c-=s[f+a*i]*o[f];r||(c/=s[a+a*i]),o[a]=c}else for(let a=i-1;a>=0;a--){let c=o[a];for(let f=i-1;f>a;f--)c-=s[f+a*i]*o[f];r||(c/=s[a+a*i]),o[a]=c}else if(e){for(let a=i-1;a>=0;a--)if(o[a]!==0){r||(o[a]/=s[a+a*i]);let c=o[a];for(let f=a-1;f>=0;f--)o[f]-=c*s[f+a*i]}}else for(let a=0;a<i;a++)if(o[a]!==0){r||(o[a]/=s[a+a*i]);let c=o[a];for(let f=a+1;f<i;f++)o[f]-=c*s[f+a*i]}}function C2(t,e){let n=new Float64Array(t),r=new Int32Array(t),o=()=>n.reduce((m,N)=>m+Math.abs(N),0),i=()=>{let m=0;for(let N=1;N<t;N++)Math.abs(n[N])>Math.abs(n[m])&&(m=N);return m},s=()=>{for(let m=0;m<t;m++)n[m]=n[m]>=0?1:-1,r[m]=n[m]};if(n.fill(1/t),e(1,n),t===1)return Math.abs(n[0]);let a=o();s(),e(2,n);let c=i(),f=2,u=5;for(;;){n.fill(0),n[c]=1,e(1,n);let m=a;a=o();let N=!1;for(let d=0;d<t;d++)if((n[d]>=0?1:-1)!==r[d]){N=!0;break}if(!N||a<=m)break;s(),e(2,n);let M=c;if(c=i(),n[M]!==Math.abs(n[c])&&f<u){f++;continue}break}let l=1;for(let m=0;m<t;m++)n[m]=l*(1+m/(t-1)),l=-l;e(1,n);let h=2*(o()/(3*t));return h>a?h:a}function P2(t,e,n){let r=t.nrow;if(r===0)return 1;if(!Number.isFinite(e))throw new RangeError("the matrix contains NaN or infinite values (LAPACK dgecon returned error -5)");if(e===0)return 0;let o=n?1:2,i=C2(r,(s,a)=>{s===o?(xi(t,!1,!1,!0,a),xi(t,!0,!1,!1,a)):(xi(t,!0,!0,!1,a),xi(t,!1,!0,!0,a))});return Number.isFinite(i)?i===0?0:1/i/e:0}function M8(t,e,n){let r=t.nrow,o=new Float64Array(r);for(let s=0;s<r;s++){let[a,c]=e?[0,s]:[s,r-1];for(let f=a;f<=c;f++)o[n?s:f]+=Math.abs(t.data[f+s*r])}let i=0;for(let s of o)i=Number.isNaN(i)||Number.isNaN(s)?NaN:Math.max(i,s);return i}function j2(t,e,n){let r=t.nrow;if(r===0)return 1;let o=M8(t,e,n);if(!(o>0))return 0;let i=n?1:2,s=C2(r,(a,c)=>xi(t,e,a!==i,!1,c));return Number.isFinite(s)?s===0?0:1/o/s:0}function Aa(t,e,n={}){let r=rt(t);Pn(r);let o=r.nrow,i;if(e===void 0){i=K(o,o);for(let u=0;u<o;u++)i.data[u+u*o]=1}else if(i=ne(e),i.nrow!==o)throw new TypeError(`b (${i.nrow} x ${i.ncol}) is not compatible with a (${o} x ${o})`);let s=b0(r),{ipiv:a,info:c}=Ea(r);if(c>0)throw new Error(`the system is exactly singular: U[${c}, ${c}] = 0`);let f=n.tol??Number.EPSILON;if(f>0&&Number.isFinite(s)){let u=P2(r,s,!0);if(u<f)throw new Error(`the system is computationally singular: reciprocal condition number = ${u.toPrecision(6)}`)}return N8(r,a,i),e!==void 0&&!cn(e)?Array.from(i.data):J(i)}function O2(t,e={}){let n=e.logarithm??!0,r=rt(t);Pn(r);let o=r.nrow,{ipiv:i,info:s}=Ea(r);if(s>0)return{modulus:n?-1/0:0,logarithm:n,sign:1};let a=1,c=n?0:1;for(let f=0;f<o;f++){i[f]!==f&&(a=-a);let u=r.data[f+f*o];u<0&&(a=-a),n?c+=Math.log(Math.abs(u)):c*=Math.abs(u)}return{modulus:c,logarithm:n,sign:a}}function d8(t){let{modulus:e,sign:n}=O2(t);return n*Math.exp(e)}function Ra(t,e={}){let n=e.norm??"O";if(!["O","1","I"].includes(n))throw new RangeError(`norm must be "O", "I" or "1" (got "${n}")`);let r=n!=="I",o=rt(t);if(o.nrow!==o.ncol){let a=o.nrow<o.ncol?J(fn(o)):t;return j2(rt(vi(Zr(a))),!0,r)}if(e.triangular)return j2(o,(e.uplo??"U")==="U",r);let i=r?b0(o):Fa(o);o={...o,data:o.data.slice()};let{info:s}=Ea(o);return s>0?0:P2(o,i,r)}function p8(t,e={}){let n=e.norm===void 0?e.exact?"2":"O":b8(e.norm);if(e.exact){if(n==="2"){let i=d0(t,{nu:0,nv:0}).d,s=Math.min(...i);return s===0?1/0:Math.max(...i)/s}return p0(t,{type:n})*p0(Aa(t),{type:n})}if(n!=="O"&&n!=="I")throw new RangeError(`norm must be "1", "O" or "I" when exact is false (got "${e.norm}")`);if((e.method??"qr")==="direct")return e.triangular?1/B2(rt(t),(e.uplo??"U")==="U",n):1/Ra(t,{norm:n});let r=rt(t),o=r.nrow<r.ncol?J(fn(r)):t;return 1/B2(rt(vi(Zr(o))),!0,n)}function B2(t,e,n){return g8(n==="I"?fn(t):t,e)}function b8(t){let e=t.toUpperCase();if(e==="1"||e==="O")return"O";if(e==="E")return"F";if(e==="I"||e==="F"||e==="M"||e==="2")return e;throw new RangeError(`invalid norm "${t}"`)}function g8(t,e){let n=Math.min(t.nrow,t.ncol),r=t.nrow,o=(h,m)=>t.data[h+m*r],i=!e,s=0;for(let h=0;h<n;h++){let[m,N]=i?[h,n-h]:[0,h+1],M=0;for(let d=m;d<m+N;d++)M+=Math.abs(o(d,h));s=Math.max(s,M)}let a=1,c=new Float64Array(n),f=h=>{for(let m=0;m<n;m++)c[m]*=h};for(let h=0;h<n;h++){let m=i?n-1-h:h,N=o(m,m);if(c[m]!==0&&(a=c[m]>0?-Math.abs(a):Math.abs(a)),Math.abs(a-c[m])>Math.abs(N)){let b=Math.abs(N)/Math.abs(a-c[m]);f(b),a*=b}let M=a-c[m],d=-a-c[m],p=Math.abs(M),w=Math.abs(d);if(N!==0?(M/=N,d/=N):(M=1,d=1),h!==n-1){let[b,g]=i?[0,m-1]:[m+1,n-1];for(let v=b;v<=g;v++)w+=Math.abs(c[v]+d*o(m,v)),c[v]+=M*o(m,v),p+=Math.abs(c[v]);if(p<w){let v=d-M;M=d;for(let F=b;F<=g;F++)c[F]+=v*o(m,F)}}c[m]=M}f(1/Q2(c));let u=1;for(let h=0;h<n;h++){let m=i?h:n-1-h,N=o(m,m);if(Math.abs(c[m])>Math.abs(N)){let M=Math.abs(N)/Math.abs(c[m]);f(M),u*=M}if(N!==0?c[m]/=N:c[m]=1,h<n-1){let M=-c[m];if(i)for(let d=m+1;d<n;d++)c[d]+=M*o(d,m);else for(let d=0;d<m;d++)c[d]+=M*o(d,m)}}let l=1/Q2(c);return f(l),u*=l,s!==0?u/s:0}function Q2(t){let e=0;for(let n of t)e+=Math.abs(n);return e}function w8(t,e={}){let n=e.tol??Math.sqrt(Number.EPSILON),r=rt(t),{d:o,u:i,v:s}=d0(t),a=r.nrow,c=r.ncol,f=K(c,a),u=Math.max(n*(o[0]??0),0);for(let l=0;l<o.length;l++){if(!(o[l]>u))continue;let h=1/o[l];for(let m=0;m<a;m++){let N=i[m][l]*h;for(let M=0;M<c;M++)f.data[M+m*c]+=s[M][l]*N}}return J(f)}function y8(t,e={}){let n=rt(t);if(Pn(n),n.nrow===0)throw new RangeError("the matrix has zero dimension");for(let i of n.data)if(!Number.isFinite(i))throw new RangeError("the matrix contains NaN or infinite values");let r=e.symmetric??I8(n),o=!(e.onlyValues??!1);return r?v8(n,o):E8(n,o)}function I8(t){let e=t.nrow,n=0,r=0;for(let c=0;c<e;c++)for(let f=0;f<e;f++)n+=Math.abs(t.data[f+c*e]-t.data[c+f*e]),r+=Math.abs(t.data[f+c*e]);let o=100*Number.EPSILON,i=e*e,s=r/i,a=n/i;return(Number.isFinite(s)&&s>o?a/s:a)<=o}function v8(t,e){let n=t.nrow,r=K(n,n);for(let c=0;c<n;c++)for(let f=c;f<n;f++)r.data[f+c*n]=t.data[f+c*n],r.data[c+f*n]=t.data[f+c*n];let o=new Float64Array(n),i=new Float64Array(n);x8(r,o,i),F8(r,o,i);let s=Array.from(o).reverse();if(!e)return{values:s};let a=K(n,n);for(let c=0;c<n;c++)a.data.set(r.data.subarray((n-1-c)*n,(n-c)*n),c*n);return{values:s,vectors:J(a)}}function x8(t,e,n){let r=t.nrow,o=t.data,i=(s,a)=>s+a*r;for(let s=0;s<r;s++)e[s]=o[i(r-1,s)];for(let s=r-1;s>0;s--){let a=0,c=0;for(let f=0;f<s;f++)a+=Math.abs(e[f]);if(a===0){n[s]=e[s-1];for(let f=0;f<s;f++)e[f]=o[i(s-1,f)],o[i(s,f)]=0,o[i(f,s)]=0}else{for(let h=0;h<s;h++)e[h]/=a,c+=e[h]*e[h];let f=e[s-1],u=Math.sqrt(c);f>0&&(u=-u),n[s]=a*u,c-=f*u,e[s-1]=f-u;for(let h=0;h<s;h++)n[h]=0;for(let h=0;h<s;h++){f=e[h],o[i(h,s)]=f,u=n[h]+o[i(h,h)]*f;for(let m=h+1;m<=s-1;m++)u+=o[i(m,h)]*e[m],n[m]+=o[i(m,h)]*f;n[h]=u}f=0;for(let h=0;h<s;h++)n[h]/=c,f+=n[h]*e[h];let l=f/(c+c);for(let h=0;h<s;h++)n[h]-=l*e[h];for(let h=0;h<s;h++){f=e[h],u=n[h];for(let m=h;m<=s-1;m++)o[i(m,h)]-=f*n[m]+u*e[m];e[h]=o[i(s-1,h)],o[i(s,h)]=0}}e[s]=c}for(let s=0;s<r-1;s++){o[i(r-1,s)]=o[i(s,s)],o[i(s,s)]=1;let a=e[s+1];if(a!==0){for(let c=0;c<=s;c++)e[c]=o[i(c,s+1)]/a;for(let c=0;c<=s;c++){let f=0;for(let u=0;u<=s;u++)f+=o[i(u,s+1)]*o[i(u,c)];for(let u=0;u<=s;u++)o[i(u,c)]-=f*e[u]}}for(let c=0;c<=s;c++)o[i(c,s+1)]=0}for(let s=0;s<r;s++)e[s]=o[i(r-1,s)],o[i(r-1,s)]=0;o[i(r-1,r-1)]=1,n[0]=0}function F8(t,e,n){let r=t.nrow,o=t.data,i=(f,u)=>f+u*r;for(let f=1;f<r;f++)n[f-1]=n[f];n[r-1]=0;let s=0,a=0,c=Number.EPSILON;for(let f=0;f<r;f++){a=Math.max(a,Math.abs(e[f])+Math.abs(n[f]));let u=f;for(;u<r-1&&Math.abs(n[u])>c*a;)u++;if(u>f){let l=0;do{if(++l>100)throw new Error("the eigendecomposition did not converge");let h=e[f],m=(e[f+1]-h)/(2*n[f]),N=Math.hypot(m,1);m<0&&(N=-N),e[f]=n[f]/(m+N),e[f+1]=n[f]*(m+N);let M=e[f+1],d=h-e[f];for(let x=f+2;x<r;x++)e[x]-=d;s+=d,m=e[u];let p=1,w=p,b=p,g=n[f+1],v=0,F=0;for(let x=u-1;x>=f;x--){b=w,w=p,F=v,h=p*n[x],d=p*m,N=Math.hypot(m,n[x]),n[x+1]=v*N,v=n[x]/N,p=m/N,m=p*e[x]-v*h,e[x+1]=d+v*(p*h+v*e[x]);for(let R=0;R<r;R++)d=o[i(R,x+1)],o[i(R,x+1)]=v*o[i(R,x)]+p*d,o[i(R,x)]=p*o[i(R,x)]-v*d}m=-v*F*b*g*n[f]/M,n[f]=v*m,e[f]=p*m}while(Math.abs(n[f])>c*a)}e[f]=e[f]+s,n[f]=0}for(let f=0;f<r-1;f++){let u=f,l=e[f];for(let h=f+1;h<r;h++)e[h]<l&&(u=h,l=e[h]);if(u!==f){e[u]=e[f],e[f]=l;for(let h=0;h<r;h++){let m=o[i(h,f)];o[i(h,f)]=o[i(h,u)],o[i(h,u)]=m}}}}function E8(t,e){let n=t.nrow,r={nrow:n,ncol:n,data:t.data.slice()},o=K(n,n),i=new Float64Array(n),s=new Float64Array(n);R8(r,o),L8(r,o,i,s);let a=Array.from(i,(M,d)=>Math.hypot(M,s[d])),c=Array.from({length:n},(M,d)=>d).sort((M,d)=>a[d]-a[M]||M-d),f=s.some(M=>M!==0),u={values:c.map(M=>i[M])};if(f&&(u.valuesIm=c.map(M=>s[M])),!e)return u;let l=K(n,n),h=K(n,n);for(let M=0;M<n;M++){let d=o.data.subarray(M*n,(M+1)*n);if(s[M]===0)l.data.set(d,M*n);else if(s[M]>0){let p=o.data.subarray((M+1)*n,(M+2)*n);l.data.set(d,M*n),h.data.set(p,M*n),l.data.set(d,(M+1)*n);for(let w=0;w<n;w++)h.data[w+(M+1)*n]=-p[w]}}A8(l,h);let m=K(n,n),N=K(n,n);return c.forEach((M,d)=>{m.data.set(l.data.subarray(M*n,(M+1)*n),d*n),N.data.set(h.data.subarray(M*n,(M+1)*n),d*n)}),u.vectors=J(m),f&&(u.vectorsIm=J(N)),u}function A8(t,e){let n=t.nrow;for(let r=0;r<n;r++){let o=r*n,i=0,s=0,a=-1;for(let l=0;l<n;l++){let h=Math.hypot(t.data[o+l],e.data[o+l]);i+=h*h,h>a&&(a=h,s=l)}let c=Math.sqrt(i);if(c===0)continue;let f=t.data[o+s]/a/c,u=-e.data[o+s]/a/c;for(let l=0;l<n;l++){let h=t.data[o+l],m=e.data[o+l];t.data[o+l]=h*f-m*u,e.data[o+l]=h*u+m*f}e.data[o+s]=0}}function R8(t,e){let n=t.nrow,r=t.data,o=e.data,i=(f,u)=>f+u*n,s=new Float64Array(n),a=0,c=n-1;for(let f=a+1;f<=c-1;f++){let u=0;for(let m=f;m<=c;m++)u+=Math.abs(r[i(m,f-1)]);if(u===0)continue;let l=0;for(let m=c;m>=f;m--)s[m]=r[i(m,f-1)]/u,l+=s[m]*s[m];let h=Math.sqrt(l);s[f]>0&&(h=-h),l-=s[f]*h,s[f]=s[f]-h;for(let m=f;m<n;m++){let N=0;for(let M=c;M>=f;M--)N+=s[M]*r[i(M,m)];N/=l;for(let M=f;M<=c;M++)r[i(M,m)]-=N*s[M]}for(let m=0;m<=c;m++){let N=0;for(let M=c;M>=f;M--)N+=s[M]*r[i(m,M)];N/=l;for(let M=f;M<=c;M++)r[i(m,M)]-=N*s[M]}s[f]=u*s[f],r[i(f,f-1)]=u*h}for(let f=0;f<n;f++)for(let u=0;u<n;u++)o[i(f,u)]=f===u?1:0;for(let f=c-1;f>=a+1;f--)if(r[i(f,f-1)]!==0){for(let u=f+1;u<=c;u++)s[u]=r[i(u,f-1)];for(let u=f;u<=c;u++){let l=0;for(let h=f;h<=c;h++)l+=s[h]*o[i(h,u)];l=l/s[f]/r[i(f,f-1)];for(let h=f;h<=c;h++)o[i(h,u)]+=l*s[h]}}}function g0(t,e,n,r){if(Math.abs(n)>Math.abs(r)){let s=r/n,a=n+s*r;return[(t+s*e)/a,(e-s*t)/a]}let o=n/r,i=r+o*n;return[(o*t+e)/i,(o*e-t)/i]}function L8(t,e,n,r){let o=t.nrow,i=t.data,s=e.data,a=(L,y)=>L+y*o,c=o-1,f=0,u=o-1,l=Number.EPSILON,h=0,m=0,N=0,M=0,d=0,p=0,w,b,g,v,F=0;for(let L=0;L<o;L++)for(let y=Math.max(L-1,0);y<o;y++)F+=Math.abs(i[a(L,y)]);let x=0,R=0;for(;c>=f;){let L=c;for(;L>f&&(d=Math.abs(i[a(L-1,L-1)])+Math.abs(i[a(L,L)]),d===0&&(d=F),!(Math.abs(i[a(L,L-1)])<l*d));)L--;if(L===c)i[a(c,c)]=i[a(c,c)]+h,n[c]=i[a(c,c)],r[c]=0,c--,x=0;else if(L===c-1){if(b=i[a(c,c-1)]*i[a(c-1,c)],m=(i[a(c-1,c-1)]-i[a(c,c)])/2,N=m*m+b,p=Math.sqrt(Math.abs(N)),i[a(c,c)]=i[a(c,c)]+h,i[a(c-1,c-1)]=i[a(c-1,c-1)]+h,g=i[a(c,c)],N>=0){p=m>=0?m+p:m-p,n[c-1]=g+p,n[c]=n[c-1],p!==0&&(n[c]=g-b/p),r[c-1]=0,r[c]=0,g=i[a(c,c-1)],d=Math.abs(g)+Math.abs(p),m=g/d,N=p/d,M=Math.sqrt(m*m+N*N),m/=M,N/=M;for(let y=c-1;y<o;y++)p=i[a(c-1,y)],i[a(c-1,y)]=N*p+m*i[a(c,y)],i[a(c,y)]=N*i[a(c,y)]-m*p;for(let y=0;y<=c;y++)p=i[a(y,c-1)],i[a(y,c-1)]=N*p+m*i[a(y,c)],i[a(y,c)]=N*i[a(y,c)]-m*p;for(let y=f;y<=u;y++)p=s[a(y,c-1)],s[a(y,c-1)]=N*p+m*s[a(y,c)],s[a(y,c)]=N*s[a(y,c)]-m*p}else n[c-1]=g+m,n[c]=g+m,r[c-1]=p,r[c]=-p;c-=2,x=0}else{if(g=i[a(c,c)],v=0,b=0,L<c&&(v=i[a(c-1,c-1)],b=i[a(c,c-1)]*i[a(c-1,c)]),x===10){h+=g;for(let E=f;E<=c;E++)i[a(E,E)]-=g;d=Math.abs(i[a(c,c-1)])+Math.abs(i[a(c-1,c-2)]),g=v=.75*d,b=-.4375*d*d}if(x===30&&(d=(v-g)/2,d=d*d+b,d>0)){d=Math.sqrt(d),v<g&&(d=-d),d=g-b/((v-g)/2+d);for(let E=f;E<=c;E++)i[a(E,E)]-=d;h+=d,g=v=b=.964}if(x++,++R>100*o)throw new Error("the eigendecomposition did not converge");let y=c-2;for(;y>=L&&(p=i[a(y,y)],M=g-p,d=v-p,m=(M*d-b)/i[a(y+1,y)]+i[a(y,y+1)],N=i[a(y+1,y+1)]-p-M-d,M=i[a(y+2,y+1)],d=Math.abs(m)+Math.abs(N)+Math.abs(M),m/=d,N/=d,M/=d,!(y===L||Math.abs(i[a(y,y-1)])*(Math.abs(N)+Math.abs(M))<l*(Math.abs(m)*(Math.abs(i[a(y-1,y-1)])+Math.abs(p)+Math.abs(i[a(y+1,y+1)])))));)y--;for(let E=y+2;E<=c;E++)i[a(E,E-2)]=0,E>y+2&&(i[a(E,E-3)]=0);for(let E=y;E<=c-1;E++){let q=E!==c-1;if(E!==y){if(m=i[a(E,E-1)],N=i[a(E+1,E-1)],M=q?i[a(E+2,E-1)]:0,g=Math.abs(m)+Math.abs(N)+Math.abs(M),g===0)continue;m/=g,N/=g,M/=g}if(d=Math.sqrt(m*m+N*N+M*M),m<0&&(d=-d),d!==0){E!==y?i[a(E,E-1)]=-d*g:L!==y&&(i[a(E,E-1)]=-i[a(E,E-1)]),m+=d,g=m/d,v=N/d,p=M/d,N/=m,M/=m;for(let I=E;I<o;I++)m=i[a(E,I)]+N*i[a(E+1,I)],q&&(m+=M*i[a(E+2,I)],i[a(E+2,I)]=i[a(E+2,I)]-m*p),i[a(E,I)]=i[a(E,I)]-m*g,i[a(E+1,I)]=i[a(E+1,I)]-m*v;for(let I=0;I<=Math.min(c,E+3);I++)m=g*i[a(I,E)]+v*i[a(I,E+1)],q&&(m+=p*i[a(I,E+2)],i[a(I,E+2)]=i[a(I,E+2)]-m*M),i[a(I,E)]=i[a(I,E)]-m,i[a(I,E+1)]=i[a(I,E+1)]-m*N;for(let I=f;I<=u;I++)m=g*s[a(I,E)]+v*s[a(I,E+1)],q&&(m+=p*s[a(I,E+2)],s[a(I,E+2)]=s[a(I,E+2)]-m*M),s[a(I,E)]=s[a(I,E)]-m,s[a(I,E+1)]=s[a(I,E+1)]-m*N}}}}if(F!==0){for(c=o-1;c>=0;c--)if(m=n[c],N=r[c],N===0){let L=c;i[a(c,c)]=1;for(let y=c-1;y>=0;y--){b=i[a(y,y)]-m,M=0;for(let E=L;E<=c;E++)M+=i[a(y,E)]*i[a(E,c)];if(r[y]<0)p=b,d=M;else if(L=y,r[y]===0?i[a(y,c)]=b!==0?-M/b:-M/(l*F):(g=i[a(y,y+1)],v=i[a(y+1,y)],N=(n[y]-m)*(n[y]-m)+r[y]*r[y],w=(g*d-p*M)/N,i[a(y,c)]=w,i[a(y+1,c)]=Math.abs(g)>Math.abs(p)?(-M-b*w)/g:(-d-v*w)/p),w=Math.abs(i[a(y,c)]),l*w*w>1)for(let E=y;E<=c;E++)i[a(E,c)]=i[a(E,c)]/w}}else if(N<0){let L=c-1;Math.abs(i[a(c,c-1)])>Math.abs(i[a(c-1,c)])?(i[a(c-1,c-1)]=N/i[a(c,c-1)],i[a(c-1,c)]=-(i[a(c,c)]-m)/i[a(c,c-1)]):[i[a(c-1,c-1)],i[a(c-1,c)]]=g0(0,-i[a(c-1,c)],i[a(c-1,c-1)]-m,N),i[a(c,c-1)]=0,i[a(c,c)]=1;for(let y=c-2;y>=0;y--){let E=0,q=0;for(let I=L;I<=c;I++)E+=i[a(y,I)]*i[a(I,c-1)],q+=i[a(y,I)]*i[a(I,c)];if(b=i[a(y,y)]-m,r[y]<0)p=b,M=E,d=q;else{if(L=y,r[y]===0)[i[a(y,c-1)],i[a(y,c)]]=g0(-E,-q,b,N);else{g=i[a(y,y+1)],v=i[a(y+1,y)];let I=(n[y]-m)*(n[y]-m)+r[y]*r[y]-N*N,P=(n[y]-m)*2*N;I===0&&P===0&&(I=l*F*(Math.abs(b)+Math.abs(N)+Math.abs(g)+Math.abs(v)+Math.abs(p))),[i[a(y,c-1)],i[a(y,c)]]=g0(g*M-p*E+N*q,g*d-p*q-N*E,I,P),Math.abs(g)>Math.abs(p)+Math.abs(N)?(i[a(y+1,c-1)]=(-E-b*i[a(y,c-1)]+N*i[a(y,c)])/g,i[a(y+1,c)]=(-q-b*i[a(y,c)]-N*i[a(y,c-1)])/g):[i[a(y+1,c-1)],i[a(y+1,c)]]=g0(-M-v*i[a(y,c-1)],-d-v*i[a(y,c)],p,N)}if(w=Math.max(Math.abs(i[a(y,c-1)]),Math.abs(i[a(y,c)])),l*w*w>1)for(let I=y;I<=c;I++)i[a(I,c-1)]=i[a(I,c-1)]/w,i[a(I,c)]=i[a(I,c)]/w}}}for(let L=o-1;L>=f;L--)for(let y=f;y<=u;y++){p=0;for(let E=f;E<=Math.min(L,u);E++)p+=s[a(y,E)]*i[a(E,L)];s[a(y,L)]=p}}}export{H7 as backsolve,gc as beta,y7 as chisqTest,f8 as chol,h8 as chol2inv,C7 as cor,Q7 as corTest,W7 as crossprod,E3 as dbeta,k3 as dbinom,L5 as dcauchy,a3 as dchisq,d8 as det,O2 as determinant,o5 as dexp,g3 as df,Wl as dgamma,V5 as dgeom,r6 as dhyper,N5 as dlnorm,y5 as dlogis,J5 as dnbinom,jl as dnorm,h3 as dpois,l6 as dsignrank,U3 as dt,z3 as dunif,D5 as dweibull,b6 as dwilcox,y8 as eigen,F7 as fisherTest,K7 as forwardsolve,ce as gamma,o4 as getRandomSeed,w8 as ginv,p8 as kappa,Bt as lbeta,At as lgamma,p0 as norm,G7 as pAdjust,A3 as pbeta,_3 as pbinom,S5 as pcauchy,c3 as pchisq,i5 as pexp,w3 as pf,Xl as pgamma,G5 as pgeom,o6 as phyper,M5 as plnorm,I5 as plogis,t6 as pnbinom,W as pnorm,m3 as ppois,h6 as psignrank,W3 as pt,H6 as ptukey,Z3 as punif,j5 as pweibull,g6 as pwilcox,R3 as qbeta,xs as qbinom,q5 as qcauchy,f3 as qchisq,s5 as qexp,y3 as qf,Hl as qgamma,$5 as qgeom,i6 as qhyper,d5 as qlnorm,v5 as qlogis,e6 as qnbinom,O as qnorm,N3 as qpois,Zr as qr,L2 as qrCoef,n8 as qrFitted,r8 as qrQ,J7 as qrQty,t8 as qrQy,vi as qrR,e8 as qrResid,i8 as qrSolve,o8 as qrX,m6 as qsignrank,X3 as qt,K6 as qtukey,J3 as qunif,C5 as qweibull,w6 as qwilcox,z4 as rbeta,J4 as rbinom,h4 as rcauchy,Dn as rchisq,Ra as rcond,f4 as rexp,H4 as rf,U4 as rgamma,A4 as rgeom,b7 as rhyper,u4 as rlnorm,l4 as rlogis,t7 as rmultinom,R4 as rnbinom,c4 as rnorm,E4 as rpois,e7 as rsignrank,X4 as rt,a4 as runif,m4 as rweibull,n7 as rwilcox,o7 as sample,r7 as sampleInt,i4 as setRandomSeed,r4 as setSeed,Aa as solve,d0 as svd,w7 as tTest,X7 as tcrossprod,R7 as wilcoxTest};
1
+ /*! rStats.js 0.6.1 | MIT License | includes code ported from SciPy, Boost.Math, statsmodels, LAPACK and others: see THIRD_PARTY_NOTICES.md at https://github.com/numero-uno-jpn/rStats.js */
2
+ var Qt=11102230246251565e-32;var pn=171.6243769563027,qs=.9189385332046728,Mu=1.1447298858494002;var kn=.5772156649015329;function jt(t,e){let n=e[0];for(let r=1;r<e.length;r++)n=n*t+e[r];return n}function We(t,e){let n=t+e[0];for(let r=1;r<e.length;r++)n=n*t+e[r];return n}var Xe=!0;function $i(){return Xe}function T(t,e){if(!Xe)return[t+e,0];let n=t+e,r=n-t,o=t-(n-r)+(e-r);return[n,o]}function pt(t,e){if(!Xe)return[t*e,0];let n=t*e,r=134217729*t,o=r-(r-t),s=t-o;r=134217729*e;let i=r-(r-e),a=e-i,c=o*i-n+o*a+s*i+s*a;return[n,c]}function k(t,e){if(!Xe)return[t[0]+e[0],0];let n=t[0]+e[0],r=n-t[0],o=t[0]-(n-r)+(e[0]-r),s=t[1]+e[1],i=s-t[1],a=t[1]-(s-i)+(e[1]-i),c=o+s,f=n+c,l=c-(f-n)+a,m=f+l,h=l-(m-f);return[m,h]}function de(t){return[-t[0],-t[1]]}function $(t,e){if(!Xe)return[t[0]-e[0],0];let n=-e[0],r=-e[1],o=t[0]+n,s=o-t[0],i=t[0]-(o-s)+(n-s),a=t[1]+r,c=a-t[1],f=t[1]-(a-c)+(r-c),u=i+a,l=o+u,h=u-(l-o)+f,N=l+h,p=h-(N-l);return[N,p]}function L(t,e){if(!Xe)return[t[0]*e[0],0];let n=t[0]*e[0],r=134217729*t[0],o=r-(r-t[0]),s=t[0]-o,i=134217729*e[0],a=i-(i-e[0]),c=e[0]-a,u=o*a-n+o*c+s*a+s*c+(t[0]*e[1]+t[1]*e[0]),l=n+u,m=u-(l-n);return[l,m]}function z(t,e){if(!Xe)return[t[0]*e,0];let n=t[0]*e,r=134217729*t[0],o=r-(r-t[0]),s=t[0]-o,i=134217729*e,a=i-(i-e),c=e-a,u=o*a-n+o*c+s*a+s*c+t[1]*e,l=n+u,m=u-(l-n);return[l,m]}function B(t,e){if(!Xe)return[t[0]/e[0],0];let n=t[0]/e[0],r=e[0]*n,o=134217729*e[0],s=o-(o-e[0]),i=e[0]-s,a=134217729*n,c=a-(a-n),f=n-c,l=s*c-r+s*f+i*c+i*f+e[1]*n,m=r+l,h=l-(m-r),N=-m,p=-h,d=t[0]+N,M=d-t[0],b=t[0]-(d-M)+(N-M),g=t[1]+p,w=g-t[1],v=t[1]-(g-w)+(p-w),x=b+g,I=d+x,R=x-(I-d)+v,y=I+R,E=R-(y-I),q=y/e[0],A=e[0]*q,j=134217729*e[0],P=j-(j-e[0]),H=e[0]-P,ot=134217729*q,Z=ot-(ot-q),K=q-Z,J=P*Z-A+P*K+H*Z+H*K+e[1]*q,gt=A+J,Bt=J-(gt-A),kt=-gt,tt=-Bt,at=y+kt,ht=at-y,qt=y-(at-ht)+(kt-ht),St=E+tt,_=St-E,X=E-(St-_)+(tt-_),et=qt+St,xt=at+et,At=et-(xt-at)+X,he=xt+At,xn=At-(he-xt),zt=he/e[0],_t=n+q,Ht=q-(_t-n),bt=_t+zt,te=bt-_t,Qe=_t-(bt-te)+(zt-te),ee=Ht+0,Kt=ee-Ht,Ie=Ht-(ee-Kt)+(0-Kt),Yt=Qe+ee,Ne=bt+Yt,Fe=Yt-(Ne-bt)+Ie,je=Ne+Fe,An=Fe-(je-Ne);return[je,An]}function xe(t,e){if(!Xe)return[t[0]/e,0];let n=t[0]/e,r=e*n,o=134217729*e,s=o-(o-e),i=e-s,a=134217729*n,c=a-(a-n),f=n-c,l=s*c-r+s*f+i*c+i*f+0*n,m=r+l,h=l-(m-r),N=-m,p=-h,d=t[0]+N,M=d-t[0],b=t[0]-(d-M)+(N-M),g=t[1]+p,w=g-t[1],v=t[1]-(g-w)+(p-w),x=b+g,I=d+x,R=x-(I-d)+v,y=I+R,E=R-(y-I),q=y/e,A=e*q,j=134217729*e,P=j-(j-e),H=e-P,ot=134217729*q,Z=ot-(ot-q),K=q-Z,J=P*Z-A+P*K+H*Z+H*K+0*q,gt=A+J,Bt=J-(gt-A),kt=-gt,tt=-Bt,at=y+kt,ht=at-y,qt=y-(at-ht)+(kt-ht),St=E+tt,_=St-E,X=E-(St-_)+(tt-_),et=qt+St,xt=at+et,At=et-(xt-at)+X,he=xt+At,xn=At-(he-xt),zt=he/e,_t=n+q,Ht=q-(_t-n),bt=_t+zt,te=bt-_t,Qe=_t-(bt-te)+(zt-te),ee=Ht+0,Kt=ee-Ht,Ie=Ht-(ee-Kt)+(0-Kt),Yt=Qe+ee,Ne=bt+Yt,Fe=Yt-(Ne-bt)+Ie,je=Ne+Fe,An=Fe-(je-Ne);return[je,An]}var Ss=[.6931471805599453,23190468138462996e-33],gu=Math.SQRT2,Nt=[[1,0],[.3333333333333333,1850371707708594e-32],[.2,-11102230246251566e-33],[.14285714285714285,793016446160826e-32],[.1111111111111111,61679056923619804e-34],[.09090909090909091,-2523234146875356e-33]],f3=89,u3=[[-.3633938941874773,-2106844752226605e-32],[-.3522205935893521,-57233316949182485e-34],[-.34117075740276714,19366790062602867e-33],[-.33024168687057687,10828321637483858e-33],[-.3194307707663612,-1354256857264811e-33],[-.3087354816496133,16199186085148102e-33],[-.29815337231907635,1720695867445866e-32],[-.2876820724517809,-2607160616442564e-32],[-.27731928541623435,744528405583513e-32],[-.26706278524904525,732891532732017e-32],[-.2569104137850272,-2502843296152504e-32],[-.24686007793152578,-1361743371748368e-32],[-.2369097470783577,-19682402978398164e-34],[-.22705745063534608,-9551415762738488e-33],[-.2173012756899814,-16168452453763015e-34],[-.2076393647782445,-12053243216686129e-33],[-.1980699137620938,-3742843482461439e-33],[-.18859116980755003,7432164219196925e-33],[-.179201429457711,10785017454858423e-33],[-.16989903679539747,4868008764439071e-34],[-.16068238169047347,3650183553047837e-33],[-.15154989812720093,-51669593684615594e-34],[-.14250006260728304,9926388234225749e-33],[-.13353139262452263,3664457663660085e-33],[-.1246424452072766,5808912678940971e-33],[-.1158318155251217,-4338484369808096e-33],[-.1070981355563671,173705104015906e-32],[-.09844007281325252,4439009633675136e-33],[-.08985632912186105,6273760163689594e-34],[-.0813456394539524,-507707635593117e-32],[-.07290677080808779,6306860257532778e-33],[-.06453852113757118,6470486661692933e-33],[-.05623971832287608,32835149805605613e-34],[-.048009219186360606,-14390903347292205e-34],[-.039845908547199674,3129547680315208e-33],[-.0317486983145803,-30382263084680858e-34],[-.023716526617316044,15774243488668215e-34],[-.015748356968139168,-10021578630528974e-34],[-.007843177461025893,-2764708154124904e-34],[0,0],[.007782140442054949,-12819179123343845e-36],[.015504186535965254,-3278321022892429e-34],[.02316705928153438,-11769544932063305e-34],[.030771658666753687,10431732029005968e-34],[.0383188643021366,-2357996157351286e-33],[.0458095360312942,1902959866474257e-33],[.053244514518812285,-1665575816973663e-33],[.06062462181643484,26424025938726934e-34],[.06795066190850775,-12802141240611733e-34],[.07522342123758753,-5930604196293241e-33],[.08244366921107459,5700437773813987e-33],[.08961215868968714,-54268129336647135e-34],[.09672962645855111,-5597397486289965e-34],[.10379679368164356,547772415726659e-32],[.11081436634029011,1183748342825649e-33],[.11778303565638346,-11971685747593677e-34],[.12470347850095724,-46522609636496624e-34],[.13157635778871926,11123000879729588e-33],[.13840232285911913,4447777301357527e-33],[.1451820098444979,8242418783022475e-33],[.15191604202584197,64838631244022194e-34],[.15860503017663857,11257003872182592e-33],[.16524957289530717,-10094935622322628e-33],[.17185025692665923,-60224538210113705e-34],[.1784076574728183,-12432553788701131e-33],[.184922338494012,30236614153574064e-34],[.19139485299962947,-12129496905792884e-33],[.19782574332991987,12821194372980142e-33],[.2042155414286909,27338281018722773e-34],[.21056476910734964,-4249405314729895e-33],[.21687393830061436,4551026193234283e-33],[.22314355131420976,-9091270597324799e-33],[.22937410106484582,9927671823978025e-33],[.2355660713127669,-23943371495187355e-34],[.24171993688714516,8900990022166643e-33],[.24783616390458127,-12432209578702523e-33],[.25391520998096345,-8048097394424201e-33],[.25995752443692605,2069806938978935e-32],[.26596354849713794,53393802761314314e-34],[.27193371548364176,783319637697442e-33],[.2778684510034563,-916018294909263e-33],[.2837681731306446,-2032665581126656e-32],[.28963329258304266,20535953219858174e-33],[.2954642128938359,-216461086040599e-31],[.3012613305781618,-9048511144048564e-33],[.3070250352949119,-12319916200101964e-33],[.3127557100038969,-1451808353098951e-32],[.3184537311185346,27114779367326236e-33],[.324119468654212,-7958214381893813e-33],[.329753286372468,2122020616196946e-33],[.3353555419211378,1834564437059473e-32],[.3409265869705932,17467136443544747e-33],[.34646676734620857,1028583585496265e-32],[.3519764231571782,-12953893030191963e-33],[.3574558889218038,-25136910072413547e-33]];function C(t){if(!Xe)return[Math.log(t[0]),0];let e=t[0],n=t[1],r=0;e<22250738585072014e-324&&(e*=2**600,n*=2**600,r=-600);let o=Math.floor(Math.log2(e));r+=o;let s=2**-o,i=e*s,a=n*s;i>=gu?(i=i/2,a=a/2,r+=1):i<gu/2&&(i=i*2,a=a*2,r-=1);let c=Math.round(i*128),f=c/128,u=u3[c-f3],l=-f,m=-0,h=i+l,N=h-i,p=i-(h-N)+(l-N),d=a+m,M=d-a,b=a-(d-M)+(m-M),g=p+d,w=h+g,x=g-(w-h)+b,I=w+x,F=x-(I-w),R=i+f,y=R-i,E=i-(R-y)+(f-y),q=a+0,A=q-a,j=a-(q-A)+(0-A),P=E+q,H=R+P,Z=P-(H-R)+j,K=H+Z,st=Z-(K-H),J=I/K,gt=K*J,Bt=134217729*K,kt=Bt-(Bt-K),tt=K-kt,at=134217729*J,ht=at-(at-J),qt=J-ht,_=kt*ht-gt+kt*qt+tt*ht+tt*qt+st*J,X=gt+_,et=_-(X-gt),xt=-X,Re=-et,At=I+xt,he=At-I,xn=I-(At-he)+(xt-he),zt=F+Re,_t=zt-F,Ht=F-(zt-_t)+(Re-_t),bt=xn+zt,te=At+bt,ee=bt-(te-At)+Ht,Kt=te+ee,Ie=ee-(Kt-te),Yt=Kt/K,Ne=K*Yt,Go=134217729*K,Fe=Go-(Go-K),je=K-Fe,An=134217729*Yt,Rr=An-(An-Yt),$o=Yt-Rr,Wo=Fe*Rr-Ne+Fe*$o+je*Rr+je*$o+st*Yt,wi=Ne+Wo,Xo=Wo-(wi-Ne),Ho=-wi,yi=-Xo,Gn=Kt+Ho,Fr=Gn-Kt,Qf=Kt-(Gn-Fr)+(Ho-Fr),kr=Ie+yi,Ko=kr-Ie,Uf=Ie-(kr-Ko)+(yi-Ko),Yo=Qf+kr,En=Gn+Yo,$n=Yo-(En-Gn)+Uf,Zo=En+$n,Gf=$n-(Zo-En),qr=Zo/K,zn=J+Yt,Jo=Yt-(zn-J),Wn=zn+qr,Sr=Wn-zn,$f=zn-(Wn-Sr)+(qr-Sr),Lr=Jo+0,ts=Lr-Jo,x0=Jo-(Lr-ts)+(0-ts),Et=$f+Lr,Rn=Wn+Et,es=Et-(Rn-Wn)+x0,Dt=Rn+es,Tr=es-(Dt-Rn),_r=Dt*Dt,Dr=134217729*Dt,jr=Dr-(Dr-Dt),A0=Dt-jr,ns=134217729*Dt,Pr=ns-(ns-Dt),xi=Dt-Pr,an=jr*Pr-_r+jr*xi+A0*Pr+A0*xi+(Dt*Tr+Tr*Dt),rt=_r+an,cn=an-(rt-_r),Cr=Nt[5][0]*rt,Or=134217729*Nt[5][0],Vr=Or-(Or-Nt[5][0]),rs=Nt[5][0]-Vr,Br=134217729*rt,Qr=Br-(Br-rt),E0=rt-Qr,os=Vr*Qr-Cr+Vr*E0+rs*Qr+rs*E0+(Nt[5][0]*cn+Nt[5][1]*rt),Ur=Cr+os,pe=os-(Ur-Cr),Ue=Ur+Nt[4][0],Gr=Ue-Ur,Ai=Ur-(Ue-Gr)+(Nt[4][0]-Gr),Hn=pe+Nt[4][1],ss=Hn-pe,Ei=pe-(Hn-ss)+(Nt[4][1]-ss),$r=Ai+Hn,zr=Ue+$r,is=$r-(zr-Ue)+Ei,fn=zr+is,F0=is-(fn-zr),un=fn*rt,Ri=134217729*fn,Kn=Ri-(Ri-fn),Wr=fn-Kn,as=134217729*rt,Yn=as-(as-rt),cs=rt-Yn,Xr=Kn*Yn-un+Kn*cs+Wr*Yn+Wr*cs+(fn*cn+F0*rt),Zn=un+Xr,Fi=Xr-(Zn-un),Jn=Zn+Nt[3][0],fs=Jn-Zn,q0=Zn-(Jn-fs)+(Nt[3][0]-fs),ae=Fi+Nt[3][1],Ge=ae-Fi,us=Fi-(ae-Ge)+(Nt[3][1]-Ge),ls=q0+ae,tr=Jn+ls,ms=ls-(tr-Jn)+us,$e=tr+ms,ki=ms-($e-tr),qi=$e*rt,hs=134217729*$e,Hr=hs-(hs-$e),Si=$e-Hr,Ns=134217729*rt,Kr=Ns-(Ns-rt),er=rt-Kr,Li=Hr*Kr-qi+Hr*er+Si*Kr+Si*er+($e*cn+ki*rt),Fn=qi+Li,Yr=Li-(Fn-qi),Zr=Fn+Nt[2][0],ps=Zr-Fn,ds=Fn-(Zr-ps)+(Nt[2][0]-ps),Ti=Yr+Nt[2][1],Ms=Ti-Yr,nr=Yr-(Ti-Ms)+(Nt[2][1]-Ms),Jr=ds+Ti,Pe=Zr+Jr,gs=Jr-(Pe-Zr)+nr,ze=Pe+gs,Di=gs-(ze-Pe),to=ze*rt,eo=134217729*ze,no=eo-(eo-ze),T0=ze-no,bs=134217729*rt,ro=bs-(bs-rt),ji=rt-ro,ws=no*ro-to+no*ji+T0*ro+T0*ji+(ze*cn+Di*rt),ln=to+ws,oo=ws-(ln-to),so=ln+Nt[1][0],io=so-ln,Pi=ln-(so-io)+(Nt[1][0]-io),ys=oo+Nt[1][1],vs=ys-oo,Is=oo-(ys-vs)+(Nt[1][1]-vs),D0=Pi+ys,ao=so+D0,P0=D0-(ao-so)+Is,mn=ao+P0,co=P0-(mn-ao),rr=mn*rt,or=134217729*mn,fo=or-(or-mn),Ci=mn-fo,uo=134217729*rt,lo=uo-(uo-rt),Oi=rt-lo,mo=fo*lo-rr+fo*Oi+Ci*lo+Ci*Oi+(mn*cn+co*rt),xs=rr+mo,ho=mo-(xs-rr),hn=xs+Nt[0][0],As=hn-xs,No=xs-(hn-As)+(Nt[0][0]-As),po=ho+Nt[0][1],Vi=po-ho,Es=ho-(po-Vi)+(Nt[0][1]-Vi),Rs=No+po,Fs=hn+Rs,Mo=Rs-(Fs-hn)+Es,sr=Fs+Mo,Bi=Mo-(sr-Fs),Nn=Dt*sr,go=134217729*Dt,V0=go-(go-Dt),zf=Dt-V0,Wf=134217729*sr,B0=Wf-(Wf-sr),Xf=sr-B0,Hf=V0*B0-Nn+V0*Xf+zf*B0+zf*Xf+(Dt*Bi+Tr*sr),ks=Nn+Hf,r3=Hf-(ks-Nn),Q0=ks*2,Kf=134217729*ks,U0=Kf-(Kf-ks),Yf=ks-U0,Zf=134217729*2,G0=Zf-(Zf-2),Jf=2-G0,tu=U0*G0-Q0+U0*Jf+Yf*G0+Yf*Jf+r3*2,$0=Q0+tu,eu=tu-($0-Q0),Qi=u[0]+$0,nu=Qi-u[0],o3=u[0]-(Qi-nu)+($0-nu),z0=u[1]+eu,ru=z0-u[1],s3=u[1]-(z0-ru)+(eu-ru),ou=o3+z0,W0=Qi+ou,su=ou-(W0-Qi)+s3,Ui=W0+su,X0=su-(Ui-W0),H0=Ss[0]*r,iu=134217729*Ss[0],K0=iu-(iu-Ss[0]),au=Ss[0]-K0,cu=134217729*r,Y0=cu-(cu-r),fu=r-Y0,uu=K0*Y0-H0+K0*fu+au*Y0+au*fu+Ss[1]*r,Z0=H0+uu,lu=uu-(Z0-H0),Gi=Ui+Z0,mu=Gi-Ui,i3=Ui-(Gi-mu)+(Z0-mu),J0=X0+lu,hu=J0-X0,a3=X0-(J0-hu)+(lu-hu),Nu=i3+J0,t1=Gi+Nu,pu=Nu-(t1-Gi)+a3,du=t1+pu,c3=pu-(du-t1);return[du,c3]}var l3=[.00016011952247675185,.0011913514700658638,.010421379756176158,.04763678004571372,.20744822764843598,.4942148268014971,1],m3=[-23158187332412014e-21,.0005396055804933034,-.004456419138517973,.011813978522206043,.035823639860549865,-.23459179571824335,.0714304917030273,1];function Ct(t){let e=1;t<0&&(t=-t,e=-1);let n=t%2;return n<.5?e*Math.sin(Math.PI*n):n>1.5?e*Math.sin(Math.PI*(n-2)):-e*Math.sin(Math.PI*(n-1))}function bu(t){if(t>=pn)return 1/0;let e=t-1,n=k(z(C([e,0]),e),[-e+w3(e),0]);return Math.sqrt(2*Math.PI*e)*Math.exp(n[0])*(1+n[1])}function dt(t){if(!Number.isFinite(t))return t>0?t:NaN;if(t===0)return NaN;let e=Math.abs(t);if(e>33){if(t<0){let r=Math.floor(e);if(r===e)return NaN;let o=r%2===0?-1:1,s=e-r;return s>.5&&(r+=1,s=e-r),s=e*Ct(s),s===0?o*(1/0):o*Math.PI/(Math.abs(s)*bu(e))}return bu(t)}let n=1;for(;t>=3;)t-=1,n*=t;for(;t<0;){if(t>-1e-9)return wu(t,n);n/=t,t+=1}for(;t<2;){if(t<1e-9)return wu(t,n);n/=t,t+=1}return t===2?n:(t-=2,n*jt(t,l3)/jt(t,m3))}function wu(t,e){return t===0?NaN:e/((1+kn*t)*t)}var h3=[.0008116141674705085,-.0005950619042843014,.0007936503404577169,-.002777777777300997,.08333333333333319],N3=[-1378.2515256912086,-38801.631513463784,-331612.9927388712,-1162370974927623e-9,-1.7217370082083966e6,-853555.6642457654],p3=[-351.81570143652345,-17064.210665188115,-220528.59055385445,-1.1393344436798252e6,-2.5325230717758294e6,-2.0188914143353277e6],d3=2556348e299;function M3(t){let e=(t-.5)*Math.log(t)-t+qs;if(t>1e8)return e;let n=1/(t*t);return e+((.0007936507936507937*n-.002777777777777778)*n+.08333333333333333)/t}function ce(t){if(!Number.isFinite(t))return{value:t===-1/0?1/0:t,sign:1};if(t<-34){let r=-t,o=ce(r).value,s=Math.floor(r);if(s===r)return{value:1/0,sign:1};let i=s%2===0?-1:1,a=r-s;return a>.5&&(s+=1,a=s-r),a=r*Ct(a),a===0?{value:1/0,sign:1}:{value:Mu-Math.log(a)-o,sign:i}}if(t<13){let r=1,o=0,s=t;for(;s>=3;)o-=1,s=t+o,r*=s;for(;s<2;){if(s===0)return{value:1/0,sign:1};r/=s,o+=1,s=t+o}let i=1;if(r<0&&(i=-1,r=-r),s===2)return{value:Math.log(r),sign:i};o-=2;let a=t+o;return{value:Math.log(r)+a*jt(a,N3)/We(a,p3),sign:i}}if(t>d3)return{value:1/0,sign:1};if(t>=1e3)return{value:M3(t),sign:1};let e=(t-.5)*Math.log(t)-t+qs,n=1/(t*t);return{value:e+jt(n,h3)/t,sign:1}}function Mt(t){return Math.abs(t-1)<=.2?Pt(t-1):Math.abs(t-2)<=.2?Pt(t-2)+Math.log1p(t-2):ce(t).value}var g3=[1.6449340668482264,1.2020569031595942,1.0823232337111381,1.03692775514337,1.0173430619844492,1.008349277381923,1.0040773561979444,1.0020083928260821,1.000994575127818,1.0004941886041194,1.000246086553308,1.0001227133475785,1.0000612481350588,1.000030588236307,1.0000152822594086,1.0000076371976379,1.000003817293265,1.0000019082127165,1.0000009539620338,1.0000004769329869,1.0000002384505027,1.000000119219926,1.000000059608189,1.0000000298035034,1.0000000149015549,1.0000000074507118,1.000000003725334,1.0000000018626598,1.0000000009313275,1.0000000004656628,1.000000000232831,1.0000000001164155,1.0000000000582077,1.0000000000291038,1.000000000014552,1.000000000007276,1.000000000003638,1.000000000001819,1.0000000000009095,1.0000000000004547];function yu(t){if(t===0)return 0;let e=-kn*t,n=-t;for(let r=2;r<42;r++){n*=-t;let o=g3[r-2]*n/r;if(e+=o,Math.abs(o)<Qt*Math.abs(e))break}return e}function Pt(t){return Math.abs(t)<=.2?yu(t):Math.abs(t-1)<=.2?Math.log(t)+yu(t-1):Mt(t+1)}var b3=[1/12,-1/360,1/1260,-1/1680,1/1188,-691/360360,1/156];function w3(t){let e=1/(t*t),n=0,r=1/t;for(let o of b3)n+=o*r,r*=e;return n}var vu=[1/12,-1/360,1/1260,-1/1680,1/1188,-691/360360,1/156];function Ls(t,e){let n=e1(t,e);return n[0]+n[1]}function e1(t,e){if(t===0)return[0,0];let n=0,r=e;for(;r<=15;)n-=Math.log1p(t/r),r+=1;let o=Math.log1p(t/r),s=t*Math.log(r+t),i=Math.abs(s)>2&&Number.isFinite(s)&&t<1e300?z(C(T(r,t)),t):[s,0],a=(r-.5)*o-t,c=1/r,f=1/(r*r);for(let u=0;u<vu.length;u++){let l=2*u+1;a+=vu[u]*c*Math.expm1(-l*o),c*=f}return k(i,[n+a,0])}var Iu=22250738585072014e-324,o1=1.8378770664093456,y3=[.15342640972002736,.08106146679532726,.05481412105191765,.0413406959554093,.03316287351993629,.02767792568499834,.023746163656297496,.020790672103765093,.018488450532673187,.016644691189821193,.015134973221917378,.013876128823070748,.012810465242920227,.01189670994589177,.011104559758206917,.010411265261972096,.009799416126158804,.009255462182712733,.008768700134139386,.00833056343336287,.00793411456431402,.007573675487951841,.007244554301320383,.00694284010720953,.006665247032707682,.006408994188004207,.006171712263039458,.0059513701127588475,.0057462165130101155,.005554733551962801],zi=1/12,Wi=1/360,n1=1/1260,xu=1/1680,v3=1/1188,I3=691/360360,x3=1/156;function Au(t){let e=1/(t*t);return t>500?(zi-Wi*e)/t:t>80?(zi-(Wi-n1*e)*e)/t:t>35?(zi-(Wi-(n1-xu*e)*e)*e)/t:(zi-(Wi-(n1-(xu-(v3-(I3-x3*e)*e)*e)*e)*e)*e)/t}function ut(t){if(t>15)return Au(t);let e=2*t;if(e===Math.floor(e)&&e>=1)return y3[e-1];if(t<1)return Pt(t)-(t+.5)*Math.log(t)+t-qs;let n=0,r=t;for(;r<=15;)n+=(r+.5)*Math.log1p(1/r)-1,r+=1;return n+Au(r)}function ne(t,e){if(!$i())return A3(t,e);let n=-e[0],r=-e[1],o=t+n,s=o-t,i=t-(o-s)+(n-s),a=0+r,c=a-0,f=0-(a-c)+(r-c),u=i+a,l=o+u,h=u-(l-o)+f,N=l+h,p=h-(N-l),d=N,M=p;if(Math.abs(d)<.1*(t+e[0])){let g=t+e[0],w=g-t,v=t-(g-w)+(e[0]-w),x=0+e[1],I=x-0,F=0-(x-I)+(e[1]-I),R=v+x,y=g+R,q=R-(y-g)+F,A=y+q,j=q-(A-y),P=d/A,H=A*P,ot=134217729*A,Z=ot-(ot-A),K=A-Z,st=134217729*P,J=st-(st-P),gt=P-J,kt=Z*J-H+Z*gt+K*J+K*gt+j*P,tt=H+kt,at=kt-(tt-H),ht=-tt,qt=-at,St=d+ht,_=St-d,X=d-(St-_)+(ht-_),et=M+qt,xt=et-M,Re=M-(et-xt)+(qt-xt),At=X+et,he=St+At,zt=At-(he-St)+Re,_t=he+zt,Ht=zt-(_t-he),bt=_t/A,te=A*bt,Qe=134217729*A,ee=Qe-(Qe-A),Kt=A-ee,Ie=134217729*bt,Yt=Ie-(Ie-bt),Ne=bt-Yt,Fe=ee*Yt-te+ee*Ne+Kt*Yt+Kt*Ne+j*bt,je=te+Fe,An=Fe-(je-te),Rr=-je,$o=-An,zo=_t+Rr,Wo=zo-_t,wi=_t-(zo-Wo)+(Rr-Wo),Xo=Ht+$o,Ho=Xo-Ht,yi=Ht-(Xo-Ho)+($o-Ho),Gn=wi+Xo,Fr=zo+Gn,kr=Gn-(Fr-zo)+yi,Ko=Fr+kr,Uf=kr-(Ko-Fr),Yo=Ko/A,En=P+bt,vi=bt-(En-P),$n=En+Yo,Zo=$n-En,Gf=En-($n-Zo)+(Yo-Zo),qr=vi+0,zn=qr-vi,Jo=vi-(qr-zn)+(0-zn),Wn=Gf+qr,Sr=$n+Wn,Lr=Wn-(Sr-$n)+Jo,ts=Sr+Lr,x0=Lr-(ts-Sr),Et=ts,Rn=x0,Ii=d*Et,es=134217729*d,Dt=es-(es-d),Tr=d-Dt,_r=134217729*Et,Dr=_r-(_r-Et),jr=Et-Dr,ns=Dt*Dr-Ii+Dt*jr+Tr*Dr+Tr*jr+(d*Rn+M*Et),Pr=Ii+ns,xi=ns-(Pr-Ii),Xn=Pr,an=xi,rt=2*t,cn=Et*rt,Cr=134217729*Et,Or=Cr-(Cr-Et),Vr=Et-Or,rs=134217729*rt,Br=rs-(rs-rt),Qr=rt-Br,R0=Or*Br-cn+Or*Qr+Vr*Br+Vr*Qr+Rn*rt,os=cn+R0,Ur=R0-(os-cn),pe=os,Ue=Ur,Gr=Et*Et,Ai=134217729*Et,Hn=Ai-(Ai-Et),ss=Et-Hn,Ei=134217729*Et,$r=Ei-(Ei-Et),zr=Et-$r,is=Hn*$r-Gr+Hn*zr+ss*$r+ss*zr+(Et*Rn+Rn*Et),fn=Gr+is,F0=is-(fn-Gr),un=fn,Ri=F0;for(let Kn=1;Kn<1e3;Kn++){let Wr=pe*un,as=134217729*pe,Yn=as-(as-pe),cs=pe-Yn,k0=134217729*un,Xr=k0-(k0-un),Zn=un-Xr,Jn=Yn*Xr-Wr+Yn*Zn+cs*Xr+cs*Zn+(pe*Ri+Ue*un),fs=Wr+Jn,q0=Jn-(fs-Wr);pe=fs,Ue=q0;let ae=2*Kn+1,Ge=pe/ae,us=ae*Ge,ls=134217729*ae,tr=ls-(ls-ae),S0=ae-tr,ms=134217729*Ge,$e=ms-(ms-Ge),ki=Ge-$e,hs=tr*$e-us+tr*ki+S0*$e+S0*ki+0*Ge,Hr=us+hs,Si=hs-(Hr-us),Ns=-Hr,Kr=-Si,er=pe+Ns,L0=er-pe,Li=pe-(er-L0)+(Ns-L0),Fn=Ue+Kr,Yr=Fn-Ue,Zr=Ue-(Fn-Yr)+(Kr-Yr),ps=Li+Fn,ds=er+ps,Ms=ps-(ds-er)+Zr,nr=ds+Ms,Jr=Ms-(nr-ds),Pe=nr/ae,_i=ae*Pe,gs=134217729*ae,ze=gs-(gs-ae),Di=ae-ze,to=134217729*Pe,eo=to-(to-Pe),no=Pe-eo,bs=ze*eo-_i+ze*no+Di*eo+Di*no+0*Pe,ro=_i+bs,ji=bs-(ro-_i),_0=-ro,ws=-ji,ln=nr+_0,oo=ln-nr,so=nr-(ln-oo)+(_0-oo),io=Jr+ws,Pi=io-Jr,ys=Jr-(io-Pi)+(ws-Pi),vs=so+io,Is=ln+vs,ao=vs-(Is-ln)+ys,j0=Is+ao,P0=ao-(j0-Is),mn=j0/ae,co=Ge+Pe,rr=Pe-(co-Ge),or=co+mn,fo=or-co,Ci=co-(or-fo)+(mn-fo),uo=rr+0,lo=uo-rr,Oi=rr-(uo-lo)+(0-lo),C0=Ci+uo,mo=or+C0,ho=C0-(mo-or)+Oi,hn=mo+ho,As=ho-(hn-mo),No=Xn+hn,po=No-Xn,Vi=Xn-(No-po)+(hn-po),Es=an+As,Rs=Es-an,Fs=an-(Es-Rs)+(As-Rs),O0=Vi+Es,Mo=No+O0,Bi=O0-(Mo-No)+Fs,Nn=Mo+Bi,go=Bi-(Nn-Mo);if(Math.abs(hn)<=1e-33*Math.abs(Nn)||Nn===Xn&&go===an)return[Nn,go];Xn=Nn,an=go}return[Xn,an]}let b=$(C([t,0]),C(e));return k(z(b,t),[-d,-M])}function A3(t,e){let n=$([t,0],e);if(Math.abs(n[0])<.1*(t+e[0])){let o=B(n,k([t,0],e)),s=L(n,o),i=z(o,2*t),a=L(o,o);for(let c=1;c<1e3;c++){i=L(i,a);let f=xe(i,2*c+1),u=k(s,f);if(Math.abs(f[0])<=1e-33*Math.abs(u[0])||u[0]===s[0]&&u[1]===s[1])return u;s=u}return s}let r=$(C([t,0]),C(e));return k(z(r,t),de(n))}function Eu(t,e){if(!Number.isFinite(t)||!Number.isFinite(e)||e===0)return NaN;if(t===0)return e;let n=ne(t,[e,0]);return n[0]+n[1]}function r1(t,e,n,r){if(e)return-t[0]-t[1]-.5*n();if(t[0]<700)return Math.exp(-t[0])*(1-t[1])/Math.sqrt(r());let o=r();return!Number.isFinite(o)||o===0?Math.exp(-t[0]-t[1]-.5*n()):Math.exp(700-t[0])*(1-t[1])/Math.sqrt(o)*Math.exp(-700)}function Rt(t,e,n,r,o){let s=o?-1/0:0,i=o?0:1,a=T(t,e),c=a[0];if(n[0]===0)return t===0?i:s;if(r[0]===0)return e===0?i:s;if(t===0){if(c===0)return i;if(n[0]<.1){let m=k(ne(c,L(a,r)),L(a,n));return o?-m[0]-m[1]:Math.exp(-m[0])*(1-m[1])}let u=C(r),l=L(a,u);return o?l[0]+l[1]:Math.exp(l[0])*(1+l[1])}if(e===0){if(r[0]<.1){let l=k(ne(c,L(a,n)),L(a,r));return o?-l[0]-l[1]:Math.exp(-l[0])*(1-l[1])}let u=L(a,C(n));return o?u[0]+u[1]:Math.exp(u[0])*(1+u[1])}if(t<0||e<0)return s;let f=k(ne(t,L(a,n)),ne(e,L(a,r)));return f=k(f,T(ut(t)+ut(e),-ut(c))),r1(f,o,()=>o1+Math.log(t)+Math.log(e)-Math.log(c),()=>2*Math.PI*t*(e/c))}function qn(t,e,n,r){let o=T(t,e),s=o[0],i=k(ne(t,L(o,n)),ne(e,L(o,r)));return i=k(i,T(ut(t)+ut(e),-ut(s))),{e:i,logDenom:o1+Math.log(t)+Math.log(e)-Math.log(s)}}function lt(t,e,n){let r=Ru(t,e,n,!n);return n?r[0]:r[1]}function s1(t,e){return Ru(t,e,!0,!0)}function Ru(t,e,n,r){if(e===0)return t===0?[0,1]:[-1/0,0];if(!Number.isFinite(e)||t<0)return[-1/0,0];if(t<=e*Iu)return[-e,r?Math.exp(-e):NaN];if(e<t*Iu){if(!Number.isFinite(t))return[-1/0,0];let a=-e+t*Math.log(e)-Pt(t);return[a,r?Math.exp(a):NaN]}let o=k(ne(t,[e,0]),[ut(t),0]),s=()=>o1+Math.log(t),i=()=>2*Math.PI*t;return[n?r1(o,!0,s,i):NaN,r?r1(o,!1,s,i):NaN]}var Xi=1e6;function qu(t,e){let{value:n,sign:r}=ce(e),o=n;return o-=e*Math.log(t),o+=e*(1-e)/(2*t),o+=e*(1-e)*(1-2*e)/(12*t*t),o+=-e*e*(1-e)*(1-e)/(12*t*t*t),{value:o,sign:r}}function Su(t,e){if(Number.isNaN(t)||Number.isNaN(e))return NaN;if(t===1/0&&e>0||e===1/0&&t>0)return 0;if(t>0&&e>0&&Math.max(t,e)>15){let i=Math.min(t,e),a=Math.max(t,e);if(i<1){let f=e1(i,a);return dt(i)*Math.exp(-f[0])*(1-f[1])}let c=a>=Tu?_u(a,i):bo(t,e);return Math.exp(c[0])*(1+c[1])}let n=1;if(t<=0&&t===Math.floor(t))return Fu(t,e);if(e<=0&&e===Math.floor(e))return Fu(e,t);if(Math.abs(t)<Math.abs(e)&&([t,e]=[e,t]),Math.abs(t)>Xi*Math.abs(e)&&t>Xi){let i=qu(t,e);return i.sign*Math.exp(i.value)}let r=t+e;if(Math.abs(r)>pn||Math.abs(t)>pn||Math.abs(e)>pn){let i=ce(r);n*=i.sign;let a=ce(e);n*=a.sign;let c=ce(t);n*=c.sign;let f=c.value+(a.value-i.value);return n*Math.exp(f)}r=1/dt(r);let o=dt(t),s=dt(e);return Number.isFinite(r)?Math.abs(Math.abs(o*r)-1)>Math.abs(Math.abs(s*r)-1)?s*r*o:o*r*s:n*(1/0)}function Fu(t,e){return e===Math.floor(e)&&1-t-e>0?(e%2===0?1:-1)*Su(1-t-e,e):1/0}function Wt(t,e){if(Number.isNaN(t)||Number.isNaN(e))return NaN;if(t===1/0&&e>0||e===1/0&&t>0)return-1/0;if(t>0&&e>0&&Number.isFinite(t)&&Number.isFinite(e)&&Math.max(t,e)>15){let i=Math.min(t,e),a=Math.max(t,e);if(i<1)return Mt(i)-Ls(i,a);let c=a>=Tu?_u(a,i):bo(t,e);return c[0]+c[1]}if(t<=0&&t===Math.floor(t))return ku(t,e);if(e<=0&&e===Math.floor(e))return ku(e,t);if(Math.abs(t)<Math.abs(e)&&([t,e]=[e,t]),Math.abs(t)>Xi*Math.abs(e)&&t>Xi)return qu(t,e).value;let n=t+e;if(Math.abs(n)>pn||Math.abs(t)>pn||Math.abs(e)>pn)return ce(t).value+(ce(e).value-ce(n).value);n=1/dt(n);let r=dt(t),o=dt(e);if(!Number.isFinite(n))return 1/0;let s=Math.abs(Math.abs(r*n)-1)>Math.abs(Math.abs(o*n)-1)?o*n*r:r*n*o;return Math.log(Math.abs(s))}function ku(t,e){return e===Math.floor(e)&&1-t-e>0?Wt(1-t-e,e):1/0}var Lu=[.9189385332046728,-38782941580672414e-33],Tu=2**52;function _u(t,e){let n=z($(C([e,0]),C([t,0])),e),r=-.5*Math.log(e)-(t+e-.5)*Math.log1p(e/t)+(ut(t)+ut(e)-ut(t+e));return k(k(n,Lu),[r,0])}function bo(t,e){let n=T(t,e),r=z(C([t,0]),t-.5),o=z(C([e,0]),e-.5),s=E3(C(n),k(n,[-.5,0])),i=$(k(r,o),s);return i=k(i,Lu),k(i,T(ut(t)+ut(e),-ut(n[0])))}function E3(t,e){return k(z(t,e[0]),z(t,e[1]))}function Ot(t){return Math.abs(t-mt(t))>1e-9*Math.max(1,Math.abs(t))}function mt(t){if(!Number.isFinite(t))return t;let e=Math.round(t);return e-t===.5&&e%2!==0?e-1:e}var R3=[.08333333333333333,-.021092796092796094,.007575757575757576,-.004166666666666667,.003968253968253968,-.008333333333333333,.08333333333333333],F3=.9955816268920898,k3=1569415565/1073741824,q3=381566830/1073741824/1073741824,S3=9016312093258695e-35,L3=[-.002071332116774595,-.04525132144873906,-.28919126444774784,-.6503185377089651,-.3255503118680449,.25479851061131553],T3=[-5578984132167551e-22,.0021284987017821146,.054151797245674226,.43593529692665967,1.4606242909763516,2.076711702373047,1];function _3(t){let e=t-k3;e-=q3,e-=S3;let n=jt(t-1,L3)/jt(t-1,T3);return e*F3+e*n}function D3(t){let e=0;if(t<1e17){let n=1/(t*t);e=n*jt(n,R3)}return Math.log(t)-.5/t-e}function j3(t){let e=0;if(Number.isNaN(t)||t===1/0)return t;if(t===-1/0)return NaN;if(t===0)return NaN;if(t<0){let n=t-Math.trunc(t);if(n===0)return NaN;e=-Math.PI/Math.tan(Math.PI*n),t=1-t}if(t<=10&&t===Math.floor(t)){let n=t;for(let r=1;r<n;r++)e+=1/r;return e-kn}if(t<1)e-=1/t,t+=1;else if(t<10)for(;t>2;)t-=1,e+=1/t;return t>=1&&t<=2?e+_3(t):e+D3(t)}var a1=-.5040830082644554,P3=7289763902976895e-32,Du;function C3(t){Du??=Array.from({length:100},(o,s)=>V3(s+2,a1));let e=P3,n=-1,r=t-a1;for(let o=1;o<100;o++){n*=-r;let s=n*Du[o-1];if(e+=s,Math.abs(s)<Number.EPSILON*Math.abs(e))break}return e}var Pu=[12,-720,30240,-1209600,47900160,-18924375803183792e-7,74724249600,-2950130727918164e-3,11646782814350067e-2,-4597978722407473,0x284e46fd8153bc0,-7166165256175667e3];function O3(t,e){let n=1,r=e,o=1,s=0;for(;e<=1e8&&(s<9||r<=9||r<t);)if(s+=1,r+=1,o=Math.exp(-t*Math.log1p(s/e)),n+=o,Math.abs(o/n)<Qt)return n;let i=r;n+=o*i/(t-1),n-=.5*o;let a=1,c=0;for(let f=0;f<12;f++){a*=t+c,o/=i;let u=a*o/Pu[f];if(n+=u,Math.abs(u/n)<Qt)break;c+=1,a*=t+c,o/=i,c+=1}return n}function V3(t,e){let n=Math.pow(e,-t),r=e,o=0,s=0;for(;s<9||r<=9||r<t;)if(s+=1,r+=1,o=Math.pow(r,-t),n+=o,Math.abs(o/n)<Qt)return n;let i=r;n+=o*i/(t-1),n-=.5*o;let a=1,c=0;for(let f=0;f<12;f++){a*=t+c,o/=i;let u=a*o/Pu[f];if(n+=u,Math.abs(u/n)<Qt)break;c+=1,a*=t+c,o/=i,c+=1}return n}function ju(t,e){if(e===1/0)return t%2===0?-0:0;let n=1;for(let o=1;o<=t;o++)n*=o/e;let r=n*(O3(t+1,e)/e);return t%2===0?-r:r}var i1=[];function B3(t){if(i1[t]!==void 0)return i1[t];let e=[0,1];for(let o=0;o<t;o++){let s=e.slice(1).map((a,c)=>a*(c+1)),i=new Array(s.length+2).fill(0);s.forEach((a,c)=>{i[c]=i[c]-a,i[c+2]=i[c+2]-a}),e=i}let n=(t+1)%2,r=[];for(let o=n;o<e.length;o+=2)r.push(e[o]);return i1[t]=r,r}function Q3(t,e){let n=B3(t),r=e*e,o=n[n.length-1];for(let s=n.length-2;s>=0;s--)o=o*r+n[s];return(t+1)%2===1?o*e:o}function U3(t){let e=t-Math.round(t);return Math.sin(Math.PI*(.5-Math.abs(e)))/Math.sin(Math.PI*e)}function Cu(t,e,n){if(Number.isNaN(e))return NaN;if(e===-1/0)return n&&t%2===1?1/0:NaN;if(e<=0&&e===Math.floor(e))return t%2===1?1/0:NaN;if(e>0)return ju(t,e);let r=ju(t,1-e);return(t%2===0?r:-r)-Math.pow(Math.PI,t+1)*Q3(t,U3(e))}function Me(t){return Math.abs(t-a1)<.3?C3(t):j3(t)}function G3(t,e){return Cu(1,t,e?.rCompatible??!0)}function $3(t,e=0,n){let r=mt(e);return Number.isNaN(r)||r<0||r>100?NaN:r===0?Me(t):Cu(r,t,n?.rCompatible??!0)}var f1=30;function wo(t){return t===Math.floor(t)}function Ou(t,e){if(wo(t))return t;if(t>=0)return Ot(t)?t:mt(t);let n=e-1-t;return Ot(n)?t:e-1-mt(n)||-0}function Vu(t,e){let n=[1,0];for(let r=0;r<e;r++)n=B(L(n,T(t,-r)),[r+1,0]);return n}function c1(t,e){return Math.min(t,e)>=1&&Math.max(t,e)<2**52?bo(t,e):[Wt(t,e),0]}function Bu(t,e){if(t<0){let u=k(C(T(e,-t)),c1(-t,e+1));return{log:[-u[0],-u[1]],sign:e%2===0?1:-1}}if(wo(t)&&t<e)return;if(t>=e-1){let u=k(C(T(t,1)),c1(t-e+1,e+1));return{log:[-u[0],-u[1]],sign:1}}let n=Ct(t),[r,o]=T(t,1),[s,i]=T(e,-t),a=o===0&&i===0?0:Me(r+s),c=(o===0?0:o*(Me(r)-a))+(i===0?0:i*(Me(s)-a));return{log:k(c1(r,s),[Math.log(Math.abs(n)/Math.PI)+c,0]),sign:(e%2===0?-1:1)*Math.sign(n)}}function z3(t,e,n){if(Number.isNaN(t)||Number.isNaN(e))return NaN;let r=n?.rCompatible??!0;if(e=mt(e),e<0)return 0;if(e===0)return 1;if(!Number.isFinite(e))return r&&t>=0&&t<1/0?0:NaN;if(!Number.isFinite(t))return r&&e>=f1?NaN:t>0||e%2===0?1/0:-1/0;if(e<f1){let i=r&&!wo(t)&&!Ot(t);if(i&&t>=0&&mt(t)<e)return 0;let a=Vu(t,e),c=a[0]+a[1];if(Number.isFinite(c))return wo(t)||i?Math.round(c):c;let f=1;for(let u=0;u<e;u++)f=f*(t-u)/(u+1);return f}if(r&&(t=Ou(t,e),Object.is(t,-0)))return e%2===0?0:-0;let o=Bu(t,e);if(o===void 0)return 0;let s=o.sign*Math.exp(o.log[0])*(1+o.log[1]);return wo(t)&&Number.isFinite(s)?Math.round(s):s}function W3(t,e,n){if(Number.isNaN(t)||Number.isNaN(e))return NaN;let r=n?.rCompatible??!0;if(e=mt(e),e<0)return-1/0;if(e===0)return 0;if(!Number.isFinite(e))return r&&t>=0&&t<1/0?-1/0:NaN;if(!Number.isFinite(t))return r&&e>=2?NaN:1/0;if(r&&e>=2&&(t=Ou(t,e)),e<f1){let s=Vu(t,e),i=Math.abs(s[0]+s[1]);if(i>1e-300&&i<1e300){let c=C(s[0]<0?[-s[0],-s[1]]:s);return c[0]+c[1]}if(i===0)return-1/0;let a=-Mt(e+1);for(let c=0;c<e;c++)a+=Math.log(Math.abs(t-c));return a}let o=Bu(t,e);return o===void 0?-1/0:wo(t)&&o.log[0]<36?Math.log(Math.round(Math.exp(o.log[0])*(1+o.log[1]))):o.log[0]+o.log[1]}function X3(t){return dt(t+1)}function H3(t){return Math.abs(t)<=.2?Pt(t):Mt(t+1)}var Qu=22250738585072014e-324;function Hi(t,e,n){if(t<10)return Math.pow(e/2,t)/dt(t+1)*n;let r=e/2,o=lt(t,r,!1);if(o>=Qu&&r<700){let i=o*Math.exp(r)*n;if(Math.abs(i)>=Qu)return i}let s=lt(t,r,!0)+r+Math.log(Math.abs(n));return Math.sign(n)*Math.exp(s)}var He=Number.EPSILON,Ki=1e6;function Uu(t){return Math.expm1(Pt(t))}function K3(t,e){let n=Uu(t),r=Uu(-t),o=Math.log(e/2),s=Math.exp(t*o),i=-o*t,a=Math.abs(t)<He?1:Ct(t)/(t*Math.PI),c=Math.abs(i)<He?1:Math.sinh(i)/i,f=Math.abs(t)<He?-.5772156649015329:.5/t*(n-r)*a,u=(2+n+r)*a/2,l=(n+1)/(2*s),m=(1+r)*s/2,h=(Math.cosh(i)*f+c*-o*u)/a,N=l,p=1,d=p*h,M=p*N;for(let b=1;b<Ki&&(h=(b*h+l+m)/(b*b-t*t),l/=b-t,m/=b+t,N=l-b*h,p*=e*e/(4*b),d+=p*h,M+=p*N,!(Math.abs(p*h)<Math.abs(d)*He));b++);return[d,2*M/e]}function Y3(t,e){let n=Math.sqrt(Number.MIN_VALUE*4503599627370496),r=n,o=n,s=0;for(let i=1;i<Ki;i++){let a=2*(t+i)/e;r=a+1/r,s=a+s,r===0&&(r=n),s===0&&(s=n),s=1/s;let c=r*s;if(o*=c,Math.abs(c-1)<=2*He)break}return o}function Z3(t,e){let n=t*t-.25,r=2*(e+1),o=1/r,s=o,i=o,a=0,c=1,f=-n,u=f,l=1+u*i;for(let N=2;N<Ki;N++){n-=2*(N-1),r+=2,o=1/(r+n*o),i*=r*o-1,s+=i;let p=(a-(r-2)*c)/n;if(a=c,c=p,f*=-n/N,u+=f*p,l+=u*i,p<He&&(f*=p,a/=p,c/=p),Math.abs(u*i)<Math.abs(l)*He)break}let m=(.5+t+e+(t*t-.25)*s)/e,h=Math.sqrt(Math.PI/(2*e))/l;return[h,h*m]}function Ts(t,e){if(!Number.isFinite(e))return e>0?t*(1/0):t*0;for(;e>1e3;)t*=2**1e3,e-=1e3;for(;e<-1e3;)t*=2**-1e3,e+=1e3;return t*2**e}function Gu(t,e){let n=Math.round(t),r=t-n,o,s;if(r===-.5)o=s=Math.sqrt(Math.PI/(2*e));else if(e<=2){let[a,c]=K3(r,e),f=Math.exp(e);o=a*f,s=c*f}else[o,s]=Z3(r,e);let i=0;for(let a=1;a<=n;a++){let c=2*(r+a)/e,f=Math.log2(Math.abs(s))+Math.log2(c);if(f>900&&Number.isFinite(f)){let l=Math.ceil(f-800);o=Ts(o,-l),s=Ts(s,-l),i+=l}let u=c*s+o;o=s,s=u}return{k:o,k1:s,exp2:i}}function J3(t,e){let n=e*e/4,r=1,o=0;for(let s=1;s<Ki&&(o+=r,r*=n/s,r/=s+t,!(Math.abs(r)<=He*Math.abs(o)));s++);return Hi(t,e,o+r)}function t5(t,e,n){if(t===0||!Number.isFinite(t))return t;let r=t,o=e,s=n>0?700:-700,i=Math.exp(s);for(;Math.abs(n)>700;){n-=s,r*=i;let a=Math.floor(Math.log2(Math.abs(r)));r=Ts(r,-a),o+=a}return Ts(r*Math.exp(n),o)}function u1(t,e,n){let r=t.ex+n;return r===0?Ts(t.m,t.e2):t5(t.m,t.e2,r*e)}function e5(t,e){if(t===.5)return{m:Math.sqrt(2/(e*Math.PI))*(-Math.expm1(-2*e)/2),e2:0,ex:1};if(t>0&&e/t<.25)return{m:J3(t,e),e2:0,ex:0};let n=(4*t*t+10)/(8*e);if(n*=n,n*=n,n/=24,n<He*10&&e>100){let a=4*t*t,c=8*e,f=a-1,u=c,l=1-f/u;return f*=a-9,u*=c*2,l+=f/u,f*=a-25,u*=c*3,l-=f/u,{m:l/Math.sqrt(2*e*Math.PI),e2:0,ex:1}}let{k:r,k1:o,exp2:s}=Gu(t,e),i=Y3(t,e);return{m:1/(e*(r*i+o)),e2:-s,ex:1}}function $u(t,e){let n=4*t*t,r=8*e,o=(n-1)/r,s=o*(n-9)/(2*r),i=s*(n-25)/(3*r),a=i*(n-49)/(4*r),c=1+o+s+i;if(Math.abs(a)<He*Math.abs(c))return{m:c*Math.sqrt(Math.PI)/Math.sqrt(2*e),e2:0,ex:-1};let{k:f,exp2:u}=Gu(t,e);return{m:f,e2:u,ex:-1}}function n5(t,e,n={}){let r=n.exponScaled??!1;if(Number.isNaN(t)||Number.isNaN(e)||t<0||!Number.isFinite(e))return NaN;let o=Math.abs(e),s=e<0&&e!==Math.floor(e);if(t===0)return s?Ct(o)>0?1/0:-1/0:e===0?1:0;if(t===1/0)return r?0:1/0;let i=r?-1:0,a=u1(e5(o,t),t,i);if(!s)return a;let c=$u(o,t);return a+u1({...c,m:2/Math.PI*Ct(o)*c.m},t,i)}function r5(t,e,n={}){let r=n.exponScaled??!1;if(Number.isNaN(t)||Number.isNaN(e)||t<0||!Number.isFinite(e))return NaN;let o=Math.abs(e);return t===0?1/0:t===1/0?0:u1($u(o,t),t,r?1:0)}var re=Number.EPSILON;function Sn(t,e){if(!Number.isFinite(e))return e>0?t*(1/0):t*0;for(;e>1e3;)t*=2**1e3,e-=1e3;for(;e<-1e3;)t*=2**-1e3,e+=1e3;return t*2**e}function zu(t,e,n,r,o){let s=r,i=o,a=0;for(let c=1;c<=n;c++){let f=2*(t+c)/e,u=Math.log2(Math.abs(i))+Math.log2(f);if(u>900&&Number.isFinite(u)){let m=Math.ceil(u-800);s=Sn(s,-m),i=Sn(i,-m),a+=m}let l=f*i-s;s=i,i=l}return{y:s,y1:i,e2:a}}var ir=1e6,Zt=Math.sqrt(22250738585072014e-324),o5=Number.MAX_VALUE;function Wu(t){return Math.expm1(Pt(t))}function yo(t){return Ct(.5-Math.abs(t%2))}function Xu(t,e){let n=-(e/2)*(e/2),r=1,o=0;for(let s=1;s<ir&&(o+=r,r*=n/(s*(s+t)),!(Math.abs(r)<=re*Math.abs(o)));s++);return Hi(t,e,o+r)}function s5(t,e){let n=Math.log(e/2),r=0,o=t>=170||709.78/t<Math.abs(n),s;if(o){let m=Mt(t);if(n=t*n,s=m-Math.log(Math.PI)-n,709.78<s){let h=Math.ceil((s-700)/Math.LN2);s-=h*Math.LN2,r=h}s=-Math.exp(s)}else{let m=dt(t);n=Math.pow(e/2,t),o5*n<m&&(m*=2**-1e3,r=1e3),s=-m/(Math.PI*n)}let i=-(e/2)*(e/2),a=1,c=0;for(let m=1;m<ir&&(c+=a,a*=i/(m*(m-t)),!(Math.abs(a)<=re*Math.abs(c)));m++);let f=(c+a)*s,u;if(!o)u=dt(-t)*yo(t)*n/Math.PI;else{let m=ce(-t);u=Math.exp(m.value+n)*m.sign/Math.PI}a=1;let l=0;for(let m=1;m<ir&&(l+=a,a*=i/(m*(m+t)),!(Math.abs(a)<=re*Math.abs(l)));m++);return l+=a,f-=Sn(u*l,-r),{m:f,e2:r}}function i5(t,e){let n=1,r=0,o=1,s=8*e,i=1,a=4*t*t,c=1,f=!0;do{c*=(a-i*i)/(o*s),r+=c,o+=1,i+=2;let u=(i*i-a)/(o*s);f=Math.abs(u)<.5,c*=u,n+=c,o+=1,i+=2}while(Math.abs(c)>2*re*n&&f);return f?{p:n,q:r}:void 0}function a5(t,e){let n=Wu(t),r=Wu(-t),o=Ct(t),s=Ct(t/2),i=Math.pow(e/2,t),a=Math.log(e/2),c=-a*t,f=Math.abs(c)<re?1:Math.sinh(c)/c,u=Math.abs(t)<re?t*Math.PI*Math.PI/2:2*s*s/t,l=t===0?-.5772156649015329:(n-r)/((1+n)*(1+r)*2*t),m=(2+n+r)/((1+n)*(1+r)*2),h=Math.abs(t)<re?1/Math.PI:t/o,N=(l*Math.cosh(c)-m*a*f)*2*h,p=h/(i*(1+r)),d=h*i/(1+n),M=N+u*d,b=p,g=1,w=g*M,v=g*b,x=t*t,I=-e*e/4;for(let F=1;F<ir&&(N=(F*N+p+d)/(F*F-x),p/=F-t,d/=F+t,M=N+u*d,b=p-F*M,g*=I/F,w+=g*M,v+=g*b,!(Math.abs(g*M)<Math.abs(w)*re));F++);return[-w,-2*v/e]}function c5(t,e){let n=[Zt,0],r=[Zt,0],o=[0,0],s=1,i=[e,0];for(let a=1;a<ir*100;a++){let c=T(t,a),f=B([2*c[0],2*c[1]],i);n=$(f,B([1,0],n)),o=$(f,o),n[0]===0&&(n=[Zt,0]),o[0]===0&&(o=[Zt,0]),o=B([1,0],o);let u=L(n,o);if(r=L(r,u),o[0]<0&&(s=-s),Math.abs(u[0]-1+u[1])<re*re)break}return{fv:-(r[0]+r[1]),sign:s}}function Hu(t,e){if(e>30)return c5(t,e);let n=Zt,r=Zt,o=0,s=1;for(let i=1;i<ir*100;i++){let a=2*(t+i)/e;n=a-1/n,o=a-o,n===0&&(n=Zt),o===0&&(o=Zt),o=1/o;let c=n*o;if(r*=c,o<0&&(s=-s),Math.abs(c-1)<2*re)break}return{fv:-r,sign:s}}function Ku(t,e){let n=-.5/e,r=1,o=n,s=r,i=t*t,a=(.25-i)/e,c=2*e,f=2,u=o*o+1;s=f+a*o/u,o=c+a/u;let l=c,m=f;Math.abs(o)+Math.abs(s)<Zt&&(o=Zt),Math.abs(l)+Math.abs(m)<Zt&&(l=Zt),u=l*l+m*m,l=l/u,m=-m/u;let h=o*l-s*m,N=s*l+o*m;u=n,n=u*h-r*N,r=u*N+r*h;for(let p=2;p<ir&&(a=p-.5,a*=a,a-=i,f+=2,u=o*o+s*s,o=c+a*o/u,s=f-a*s/u,l=c+a*l,m=f+a*m,Math.abs(o)+Math.abs(s)<Zt&&(o=Zt),Math.abs(l)+Math.abs(m)<Zt&&(l=Zt),u=l*l+m*m,l=l/u,m=-m/u,h=o*l-s*m,N=s*l+o*m,u=n,n=u*h-r*N,r=u*N+r*h,!(Math.abs(h-1)+Math.abs(N)<2*re));p++);return{p:n,q:r}}function f5(t,e){let n=1,r=4*t*t,o=2*e;return o*=o,n+=(r-1)/(2*o),n+=3*(r-1)*(r-9)/(o*o*8),n+=15*(r-1)*(r-9)*(r-25)/(o*o*o*8*6),Math.sqrt(n*2/(Math.PI*e))}function u5(t,e){let n=4*t*t,r=4*e,o=r*r,s=0;return s+=(n-1)/(2*r),r*=o,s+=(n-1)*(n-25)/(6*r),r*=o,s+=(n-1)*(n*n-114*n+1073)/(5*r),r*=o,s+=(n-1)*(5*n*n*n-1535*n*n+54703*n-375733)/(14*r),s}function l5(t,e){let n=f5(t,e),r=u5(t,e),o=Math.cos(e),s=Math.sin(e),i=yo(t/2+.25),a=Ct(t/2+.25),c=Math.sin(r),f=Math.cos(r),u=(c*(o*i+s*a)+f*(s*i-o*a))*n;return{j:(f*(o*i+s*a)-c*(s*i-o*a))*n,y:u}}function l1(t,e,n){let r=Math.round(t),o=t-r,s=2/(e*Math.PI);if(!n&&(e<5||t>e*e/4))return{j:Xu(t,e),y:{m:NaN,e2:0}};if(e<1&&o!==0&&Math.log(re/2)>t*Math.log(e/2*(e/2)/t))return{j:Xu(t,e),y:s5(t,e)};if(Math.max(t,1)<e*.011048543456039806){let I=l5(t,e);return{j:I.j,y:{m:I.y,e2:0}}}if(e>8){let I=i5(t,e);if(I!==void 0){let F=(t/2+.25)%2,R=Math.sin(e),y=Math.cos(e),E=Ct(F),q=yo(F),A=R*q-E*y,j=y*q+R*E,P=Math.SQRT2/(Math.sqrt(Math.PI)*Math.sqrt(e));return{j:P*(I.p*j-I.q*A),y:{m:P*(I.p*A+I.q*j),e2:0}}}}if(e<=2){let[I,F]=a5(o,e),R=zu(o,e,r,I,F),{fv:y}=Hu(t,e);return{j:Sn(s/(R.y*y-R.y1),-R.e2),y:{m:R.y,e2:R.e2}}}let{fv:i,sign:a}=Hu(t,e);if(e>=t&&t>2){let{p:I,q:F}=Ku(t,e),R=t/e-i,y=(I-R)/F;y===0&&(y=t*re/e);let E=a*Math.sqrt(s/(F+y*(I-R)));return{j:E,y:{m:y*E,e2:0}}}let c=Zt,f=i*a*c,u=a*c,l=0;for(let I=r;I>0;I--){let F=2*(o+I)/e;Math.abs(u)>2**900&&(f*=2**-900,u*=2**-900,l+=900);let R=F*u-f;R===0&&(R=f*re/2),f=u,u=R}let m=Sn(a*c/u,-l),h=f/u,{p:N,q:p}=Ku(o,e),d=o/e-h,M=(N-d)/p;M===0&&(M=o*re/e);let b=Math.sign(u)*Math.sqrt(s/(p+M*(N-d))),g=b*m,w=M*b,v=w*(o/e-N-p/M);if(!n)return{j:g,y:{m:NaN,e2:0}};let x=zu(o,e,r,w,v);return{j:g,y:{m:x.y,e2:x.e2}}}function m5(t,e){if(Number.isNaN(t)||Number.isNaN(e)||t<0||!Number.isFinite(e))return NaN;let n=Math.abs(e),r=e<0&&e!==Math.floor(e);if(t===0)return e===0?1:r?Ct(n)>0?1/0:-1/0:0;if(t===1/0)return 0;if(!r){let s=l1(n,t,!1).j;return e<0&&n%2===1?-s:s}let o=l1(n,t,!0);return yo(n)*o.j-Sn(Ct(n)*o.y.m,o.y.e2)}function h5(t,e){if(Number.isNaN(t)||Number.isNaN(e)||t<0||!Number.isFinite(e))return NaN;let n=Math.abs(e),r=e<0;if(t===0){if(!r)return-1/0;let a=yo(n);return a===0?0:a>0?-1/0:1/0}if(t===1/0)return 0;let o=l1(n,t,!0);if(!r)return Sn(o.y.m,o.y.e2);let s=yo(n),i=Ct(n);return(i!==0?i*o.j:0)+(s===0?0:Sn(s*o.y.m,o.y.e2))}var N5=[2461969814735305e-25,.5641895648310689,7.463210564422699,48.63719709856814,196.5208329560771,526.4451949954773,934.5285271719576,1027.5518868951572,557.5353353693994],p5=[13.228195115474499,86.70721408859897,354.9377788878199,975.7085017432055,1823.9091668790973,2246.3376081871097,1656.6630919416134,557.5353408177277],d5=[.5641895835477551,1.275366707599781,5.019050422511805,6.160210979930536,7.4097426995044895,2.9788666537210022],M5=[2.2605286322011726,9.396035249380015,12.048953980809666,17.08144507475659,9.608968090632859,3.369076451000815],g5=[9.604973739870516,90.02601972038427,2232.005345946843,7003.325141128051,55592.30130103949],b5=[33.56171416475031,521.3579497801527,4594.323829709801,22629.000061389095,49267.39426086359],w5=709.782712893384,y5=.5641895835477563;function Ln(t){if(Number.isNaN(t))return NaN;if(t<0)return-Ln(-t);if(t>1)return 1-_s(t);let e=t*t;return t*jt(e,g5)/We(e,b5)}function _s(t){if(Number.isNaN(t))return NaN;let e=Math.abs(t);if(e<1)return 1-Ln(t);if(t<0)return 2-_s(e);let[n,r]=pt(e,e);if(n>w5+40)return 0;let o=Yu(e)*(1-r);return n<700?Math.exp(-n)*o:Math.exp(700-n)*o*Math.exp(-700)}function Ce(t){return Number.isNaN(t)?NaN:t<1?Math.exp(t*t)*(1-Ln(t)):t>1e8?y5/t:Yu(t)}function Yu(t){return t<8?jt(t,N5)/We(t,p5):jt(t,d5)/We(t,M5)}var v5=[-59.96335010141079,98.00107541859997,-56.67628574690703,13.931260938727968,-1.2391658386738125],I5=[1.9544885833814176,4.676279128988815,86.36024213908905,-225.46268785411937,200.26021238006066,-82.03722561683334,15.90562251262117,-1.1833162112133],x5=[4.0554489230596245,31.525109459989388,57.16281922464213,44.08050738932008,14.684956192885803,2.1866330685079025,-.1402560791713545,-.03504246268278482,-.0008574567851546854],A5=[15.779988325646675,45.39076351288792,41.3172038254672,15.04253856929075,2.504649462083094,-.14218292285478779,-.03808064076915783,-.0009332594808954574],E5=[3.2377489177694603,6.915228890689842,3.9388102529247444,1.3330346081580755,.20148538954917908,.012371663481782003,.00030158155350823543,26580697468673755e-22,6239745391849833e-24],R5=[6.02427039364742,3.6798356385616087,1.3770209948908132,.21623699359449663,.013420400608854318,.00032801446468212774,28924786474538068e-22,6790194080099813e-24],Zu=.1353352832366127,F5=2.5066282746310007;function Ju(t){let e=t-Math.log(t)/t,n=1/t,r=t<8?n*jt(n,x5)/We(n,A5):n*jt(n,E5)/We(n,R5);return e-r}function Yi(t){if(t===0)return-1/0;if(t===1)return 1/0;if(!(t>=0&&t<=1))return NaN;let e=t,n=!0;if(e>1-Zu&&(e=1-e,n=!1),e>Zu){e=e-.5;let o=e*e;return(e+e*(o*jt(o,v5)/We(o,I5)))*F5}let r=Ju(Math.sqrt(-2*Math.log(e)));return n?-r:r}function tl(t){if(t<-Number.MAX_VALUE)return-1/0;if(t<-2){let e=t>=-Number.MAX_VALUE*.5?Math.sqrt(-2*t):Math.SQRT2*Math.sqrt(-t);return-Ju(e)}return t>-.14541345786885906?-Yi(-Math.expm1(t)):Yi(Math.exp(t))}function S(t,e){return typeof t=="number"?e(t):t instanceof Float64Array?t.map(e):t.map(n=>e(n))}var Zi=Math.SQRT1_2;function el(t,e){let n=Math.floor(t*16)/16,r=t-n,o=n*n/2,s=e*Math.exp(-r*(t+n)/2);return o<=700?s*Math.exp(-o):s*Math.exp(700-o)*Math.exp(-700)}function m1(t){let e=-t;return e<Math.SQRT2?.5-.5*Ln(e*Zi):el(e,.5*Ce(e*Zi))}function nl(t,e){if(!e)return t<=0?m1(t):1-m1(-t);if(t>-1)return Math.log1p(-m1(-t));let n=-t;return Math.log(.5*Ce(n*Zi))-n*n/2}function k5(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(!Number.isFinite(t)&&e===t)return NaN;let s=r?o?-1/0:0:o?0:1,i=r?o?0:1:o?-1/0:0;if(n<0)return NaN;if(n===0)return t<e?s:i;let a=(t-e)/n;return Number.isFinite(a)?nl(r?a:-a,o):t<e?s:i}function q5(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;let s=r?-1/0:1/0;if(o){if(t>0)return NaN;if(t===0)return-s;if(t===-1/0)return s}else{if(t<0||t>1)return NaN;if(t===0)return s;if(t===1)return-s}if(n<0)return NaN;if(n===0)return e;let i=o?L5(t):Yi(t);return e+n*(r?i:-i)}var S5=.7978845608028654;function L5(t){let e=tl(t);if(!(t<-2048)||!Number.isFinite(e))return e;let n=S5/Ce(-e*Zi),r=(nl(e,!0)-t)/n;return Number.isFinite(r)?e-r:e}var T5=.9189385332046728,_5=.3989422804014327;function D5(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(n<0)return NaN;if(!Number.isFinite(n))return r?-1/0:0;if(!Number.isFinite(t)&&e===t)return NaN;if(n===0)return t===e?1/0:r?-1/0:0;let o=(t-e)/n;return Number.isFinite(o)?r?-(T5+.5*o*o+Math.log(n)):el(Math.abs(o),_5/n):r?-1/0:0}function j5(t,e={}){let{mean:n=0,sd:r=1,log:o=!1}=e;return S(t,s=>D5(s,n,r,o))}function Q(t,e={}){let{mean:n=0,sd:r=1,lowerTail:o=!0,logP:s=!1}=e;return S(t,i=>k5(i,n,r,o,s))}function V(t,e={}){let{mean:n=0,sd:r=1,lowerTail:o=!0,logP:s=!1}=e;return S(t,i=>q5(i,n,r,o,s))}var rl=[[-.3333333333333333,.08333333333333333,-.014814814814814815,.0011574074074074073,.0003527336860670194,-.0001787551440329218,3919263178522438e-20,-21854485106799924e-22,-185406221071516e-20,8296711340953087e-22,-17665952736826078e-23,6707853543401498e-24,10261809784240309e-24,-4382036018453353e-24,914769958223679e-24,-2551419399494625e-26,-5830772132550426e-26,24361948020667415e-27,-50276692801141755e-28,11004392031956135e-29,33717632624009856e-29,-1392388722418162e-28,28534893807047445e-30,-5139111834242572e-31,-19752288294349442e-31],[-.001851851851851852,-.003472222222222222,.0026455026455026454,-.0009902263374485596,.00020576131687242798,-4018775720164609e-22,-18098550334489977e-21,764916091608111e-20,-16120900894563446e-22,4647127802807434e-24,1378633446915721e-22,-5752545603517705e-23,11951628599778148e-24,-17543241719747647e-27,-10091543710600413e-25,4162792991842583e-25,-856390702649298e-25,6067215101604758e-29,71624989648114856e-28,-2933186643771437e-27,5996696365683689e-28,-21671786527323313e-32,-4978339972369262e-29,20291628823713425e-30,-413125571381061e-29],[.004133597883597883,-.0026813271604938273,.0007716049382716049,20093878600823047e-22,-.00010736653226365161,52923448829120125e-21,-12760635188618728e-21,3423578734096138e-23,13721957309062932e-22,-6298992138380055e-22,14280614206064242e-23,-20477098421990866e-26,-1409252991086752e-23,6228974084922022e-24,-13670488396617112e-25,9428356159014678e-28,12872252400089318e-26,-55645956134363323e-27,1197593554636698e-26,-41689782251838634e-31,-10940640427884595e-28,4662239946390136e-28,-9905105763906907e-29,18931876768373515e-33,8859221872591127e-30],[.0006494341563786008,.00022947209362139917,-.0004691894943952557,.00026772063206283885,-7561801671883977e-20,-2396505113867297e-22,11082654115347302e-21,-56749528269915965e-22,14230900732435883e-22,-27861080291528143e-27,-16958404091930278e-23,8099464905388083e-23,-19111168485973655e-24,23928620439808118e-28,20620131815488797e-25,-9460496661855133e-25,21541049775774907e-26,-1388823336813903e-29,-21894761681963938e-27,9790998951171684e-27,-2178219188018096e-27,6208819573407901e-32,2126978363279737e-28,-9344688791517433e-29,2045367122678285e-29],[-.0008618882909167117,.0007840392217200666,-.0002990724803031902,-14638452578843418e-22,6641498215465122e-20,-3968365047179435e-20,11375726970678419e-21,2507497226237533e-25,-16954149536558305e-22,8907507532205309e-22,-2292934834000805e-22,2956794137544049e-26,28865829742708783e-24,-14189739437803219e-24,34463580499464896e-25,-23024517174528067e-29,-39409233028046403e-26,186023389685045e-24,-4356323005056618e-26,1278600101629623e-30,467927502665792e-26,-2149246470613483e-27,4908815614809652e-28,-633859148489156e-32,-5045332069080094e-29],[-.00033679855336635813,-6972813758365858e-20,.0002772753244959392,-.00019932570516188847,6797780477937208e-20,1419062920643967e-22,-13594048189768693e-21,8018470256334202e-21,-2291481176508095e-21,-3252473551298454e-25,34652846491085265e-23,-18447187191171344e-23,48240967037894184e-24,-17989466721743514e-30,-6306194500013523e-24,3162417628774568e-24,-7840924253697429e-25,5192679165254041e-30,9358944242306784e-26,-4513426216163278e-26,10799129993116828e-27,-3661886712685252e-32,-1210902069055155e-27,5680743584990564e-28,-13249659916340829e-29],[.0005313079364639922,-.0005921664373536939,.0002708782096718045,7902353232660328e-22,-8153969367561969e-20,561168275310625e-19,-18329116582843375e-21,-30796134506033047e-25,3465155368803609e-21,-20291327396058603e-22,5788792863149004e-22,2338630673826657e-28,-8828600746330484e-23,47435958880408125e-24,-12545415020710382e-24,8649648858010293e-29,16846058979264062e-25,-8575492823577594e-25,21598224929232125e-26,-7613230520476153e-31,-26639822008536144e-27,13065700536611057e-27,-31799163902367977e-28,4710976121367431e-33,36902800842763465e-29],[.00034436760689237765,5171790908260592e-20,-.00033493161081142234,.0002812695154763237,-.00010976582244684731,-12741009095484485e-23,27744451511563645e-21,-18263488805711332e-21,57876949497350525e-22,493875893393627e-24,-10595367014026043e-22,6166714376110408e-22,-17562973359060463e-23,-1297447328701544e-27,2695423606288966e-23,-14578352908731272e-24,3887645959386175e-24,-3881002251019412e-32,-5327994173877286e-25,27437977643314844e-26,-6995796092070568e-26,2589986387486848e-32,8856689099669639e-27,-4403168815871311e-27,10865561947091654e-28],[-.0006526239185953094,.0008394987206720873,-.000438297098541721,-6969091458420552e-22,.00016644846642067547,-.00012783517679769218,4629953263691304e-20,4557909867922708e-24,-10595271125805195e-21,6783342904865167e-21,-21075476666258803e-22,-17213731432817144e-27,3773587741611098e-22,-21867506700122867e-23,6220228804018927e-23,6597703826733e-28,-9590386497425686e-24,5213214492280807e-24,-13991589583935709e-25,5382058999060575e-31,19484714275467745e-26,-10127287556389682e-26,26077347197254926e-27,-5090418699993299e-33,-33721464474854593e-28],[-.0005967612901927463,-7204895416020011e-20,.0006782308837667328,-.0006401475260262758,.00027750107634328704,1819700838046515e-22,-8479507117068503e-20,6105192082501531e-20,-21073920183404862e-21,-8858589014125599e-25,45284535953805374e-22,-28427815022504407e-22,8708234177864641e-22,36886101871706966e-28,-1534469519070206e-22,8862466778790695e-23,-25184812301826817e-24,-10225912098215092e-30,3896947075815478e-24,-21267304792235634e-25,5737013552805138e-25,-1887749850169741e-34,-8093153869465787e-26,423827232834492e-25,-11002224534207727e-27],[.0013324454494800656,-.0019144384985654776,.0011089369134596636,99324041226423e-20,-.0005087450129309319,.00042735056665392886,-.000168588537679108,-81301893922785e-22,45284402370562144e-21,-3127053674781734e-20,1044986828530338e-20,48435226265680926e-27,-2148256587345626e-21,1329369701097492e-21,-4029569309210103e-22,-1756787766632329e-28,7014504316366825e-23,-4040787734999483e-23,11474026743371962e-24,39642746853563326e-34,-17804938269892715e-25,9748026254873165e-25,-26405338676507616e-26,5794875163403742e-33,3764774955354384e-26],[.001579727660730835,.00016251626278391583,-.0020633421035543276,.00213896861856891,-.0010108559391263003,-399127055299192e-21,.0003623502508476469,-.00028143901463712157,.00010449513336495887,212114184918303e-23,-25779417251947842e-21,17281818956040464e-21,-5641377387290428e-21,-11024320105776174e-27,11223224418895176e-22,-6869339637952674e-22,20653236975414888e-23,46714772409838506e-30,-35609886164949055e-24,20470855345905963e-24,-5809173863328336e-24,-1332821287582869e-31,9035460439133513e-25,-4959878251733084e-25,13481607129399748e-26],[-.004072512119514016,.00640336283380807,-.004041016108167662,-2183732802866233e-21,.002174044180125464,-.001970044051841889,.0008359546974796246,19445447567109655e-24,-.000257793871204217,.00019009987368139304,-6769649993743896e-20,-14440629666426571e-26,15712512518742267e-21,-10304008744776892e-21,3304517767401387e-21,7982976024232571e-28,-64097794149313e-20,38894624761300054e-23,-1161834764494887e-22,-2816808630596451e-30,19878012911297094e-24,-11407719956357511e-24,32355857064185554e-25,4175946829345594e-35,-5042311271810582e-25],[-.0059475779383993,-.0005401647678926045,.00879104135507679,-.009857631558785612,.005013469503102154,12807521786221875e-22,-.0020626019342754685,.0017109128573523059,-.000676953127141338,-6901154567656214e-24,.00018855128143995903,-.0001339521566349197,4626318303352804e-20,4003423061332135e-26,-10255652921494033e-21,6612086372797651e-21,-20913022027253007e-22,-20951775649603836e-29,3975602904199325e-22,-2395621197881589e-22,7118288338214586e-23,8925574873053455e-31,-12101547235064675e-24,6935061824833439e-24,-196614644538561e-23],[.01740202778752271,-.029527880945699123,.020045875571402798,70289515966903405e-22,-.012375421071343148,.011976293444235253,-.0054156038466518525,-6329089339641862e-23,.0018855118129005065,-.001473473274825001,.0005551581009770838,5240683441255066e-25,-.00014357913535784837,991812932249433e-19,-3346083474947831e-20,-3575583729109899e-27,71560851960630075e-22,-4551680262815553e-21,14236576649271474e-22,18803149082089665e-30,-2662340389892921e-22,15950642189595716e-23,-471875146738411e-22,-6510787295875518e-32,7979509102674624e-24],[.03024912416090589,.0024817436002649977,-.049939134373457025,.05991564300930787,-.03248320760162339,-5721296865210344e-21,.015085251778569354,-.013261324005088445,.0055515262632426145,3026318225703001e-23,-.0017229548406756724,.0012893570099929638,-.00046845138348319875,-1830259937893045e-25,.00011449739014822654,-7737856522124447e-20,25625836246985202e-21,10766165333192815e-28,-5324680928242262e-21,3349634863064464e-21,-10381253128684019e-22,-5608909920621128e-30,19150821930676592e-23,-11418365800203487e-23,33654425209171787e-24],[-.09905102088015905,.17954011706123485,-.12989606383463778,-31478872752284355e-21,.09051063527684813,-.0928288244111844,.04441211283987781,27779236316835886e-23,-.017229543805449696,.014182925050891573,-.005621416163374734,-239598509186381e-23,.0016029634366079909,-.0011606784674435774,.00041001337768153875,1836580075409066e-26,-958442565636559e-19,6364306233776471e-20,-2076250624489065e-20,-11806020912804483e-29,4213180823912065e-21,-2626224133701247e-21,8077062049493066e-22,6012591212363273e-31,-1472973737401884e-22],[-.19994542198219728,-.015056113040026424,.36470239469348487,-.4643519231173355,.26640934719197895,3403826602714719e-20,-.13784338709329624,.1276467178337056,-.056213828755200985,-1753150885483011e-22,.019235592956768112,-.015088821281095314,.005740185445135012,10622382710310225e-25,-.0015335082692563998,.0010819320643228215,-.0003737251019394566,-6617090972903199e-27,8426361738090962e-20,-5515070682748348e-20,1776953644834807e-20,3882792321020553e-29,-353513697488768e-20,2186583213004527e-21,-668128494476256e-21],[.7243860850402943,-1.3918010932653375,1.0654143352413967,.0001876173868950258,-.827055011761527,.8935243334782842,-.44971003995291337,-16107401567546651e-22,.1923559016527109,-.1659770216004261,.06888222268181433,13910091724608687e-24,-.02146911561508663,.016228980898865892,-.005979601617258426,-11287469112826745e-26,.0015167451119784856,-.00104786342935539,.0003553907288912642,8170432211180152e-28,-777730134424524e-19,5029141389700772e-20,-16035083867000518e-21,12469354315487606e-30,31369106244517616e-22],[1.6668949727276812,.1165462765994632,-3.3288393225018904,4.469232548286404,-2.6977693045875806,-.0002600667859891061,1.5389017615694538,-1.4937962361134611,.6888196463323315,13077482004552384e-22,-.2576296332559629,.21097676102125448,-.08371440835921988,-7792042888135476e-24,.0242679230648336,-.017813678334552312,.006397033038890006,4943080709048052e-26,-.0015554602758465635,.0010561196919903215,-.000352771844604729,9300233464502246e-29,7528585502655717e-20,-4818651556915635e-20,15227271505597605e-21],[-6.618829886137293,13.397985455142589,-10.789350606845145,-.0014352254537875018,9.23336945961898,-10.456552819547769,5.510552602903347,12024439690716742e-21,-2.5762961164755818,2.320744274538718,-1.0045728797216285,-10207833290021913e-23,.3397509217116947,-.2672051745075747,.10235252851562705,8432973048487163e-25,-.027998284958442594,.020066274144976814,-.007055436891508624,19402238183698188e-28,.0016562888105449611,-.0011082898580743682,.0003654545161310169,-5129003202697179e-26,-7634010369686903e-20],[-17.112706061976095,-1.1208044642899115,37.131966511885445,-52.29827102534896,33.058589696624615,.002479129897620022,-20.61089403411526,20.88672775145582,-10.045703956517752,-12238783449063012e-21,4.077013427422114,-3.473667358470195,1.4329352617312006,7135991441187971e-23,-.4479725715911561,.3411266608064446,-.12699786326594922,-2895367726908153e-25,.03312577627825986,-.023274087021036102,.008039999350364889,-1177805216235265e-24,-.001832162489107167,.0012108282933588664,-.0003947994124682252],[73.89033153567425,-156.80141270402274,132.2177542759164,.013692876877324546,-123.66496885920151,146.2068939106273,-80.36558772486535,-.00011259851148881298,40.77013219617994,-38.21034001327303,17.19522294277362,9351970795516835e-22,-6.271615990774704,5.116899907185264,-2.0319658112299095,-4950721558276154e-24,.596263972943326,-.44220765337238094,.16079998700166273,-24733786203223403e-24,-.040307574759979765,.02784905074709787,-.009475185899205422,6419922235909132e-21,.002125018077469946],[212.1683709838252,13.107863022633868,-496.9828593287175,731.215952669692,-482.1382172089085,-.028817248692894887,326.167203029471,-343.8934028008712,171.95193870816232,.00014038077378096157,-75.2594195897599,66.51969984520935,-28.447519748152462,-7613702615875392e-22,9.540223710530437,-7.517530111331138,2.894399756887196,-466121949995382e-21,-.8061514959879409,.5848300657063102,-.20845408972964957,.00014765818959305816,.05100043386375302,-.03306625214188366,.015109265210467774],[-989.5964309832236,2192.555536090523,-1928.3586782723355,-.15925738122215252,1956.9985945919857,-2407.2514765081555,1375.6149959336497,.0012920735237496668,-752.5941715948055,731.7166874220871,-341.37023466220063,-9985739026060805e-21,133.56313181291574,-112.76295161252794,46.31039609820446,-7923738713361476e-21,-14.510726927018647,11.111771248100563,-4.169081794527089,.0031008219800117806,1.1220095449981469,-.7605237992614992,.36262236505085255,.2216867741940747,.48683443692930506]];function h1(t){if(Math.abs(t)<.5){let e=t,n=0;for(let r=2;r<500;r++){e*=-t;let o=e/r;if(n+=o,Math.abs(o)<Qt*Math.abs(n))break}return n}return Math.log1p(t)-t}var na=1e7,al=20,ta=200,cl=.3,fl=4.5,C5=4503599627370496,Ji=2220446049250313e-31;function sl(t,e,n){let r=ra(t,e);return n?lt(t,e,!0)+Math.log(r):lt(t,e,!1)*r}function il(t,e){let n=ra(t,e),r=s1(t,e);return[r[0]+Math.log(n),r[1]*n]}function ra(t,e){if(t>1e3&&e>.97*t)return V5(t,e);let n=t,r=1,o=1;for(let s=0;s<na&&(n+=1,r*=e/n,o+=r,!(r<=Qt*o));s++);return o}var O5=2**-64;function V5(t,e){let n=1,r=0,o=1,s=0;for(let i=1;i<na;i++){let a=t+i,c=a-t,f=t-(a-c)+(i-c),u=e/a,l=134217729*u,m=l-(l-u),h=u-m;l=134217729*a;let N=l-(l-a),p=a-N,d=u*a,M=m*N-d+m*p+h*N+h*p,b=(e-d-M-u*f)/a;l=134217729*n;let g=l-(l-n),w=n-g,v=n*u,x=g*m-v+g*h+w*m+w*h+(n*b+r*u);n=v+x,r=x-(n-v);let I=o+n,F=I-o,R=o-(I-F)+(n-F)+(s+r);if(o=I+R,s=R-(o-I),n*u<=O5*o*(1-u))break}return o+s}function B5(t,e,n){let r=oa(t,e);return n?Math.log(t)+lt(t,e,!0)+Math.log(r):t*lt(t,e,!1)*r}function Q5(t,e){let n=oa(t,e),r=s1(t,e);return[Math.log(t)+r[0]+Math.log(n),t*r[1]*n]}function oa(t,e){let n=1-t,r=e+n+1,o=0,s=1,i=e,a=e+1,c=r*e,f=a/c;for(let u=0;u<na;u++){o+=1,n+=1,r+=2;let l=n*o,m=a*r-s*l,h=c*r-i*l,N;if(h!==0){let p=m/h;N=Math.abs((f-p)/p),f=p}else N=1;if(s=a,a=m,i=c,c=h,Math.abs(m)>C5&&(s*=Ji,a*=Ji,i*=Ji,c*=Ji),N<=Qt)break}return f}function ul(t,e){let n=1,r=0;for(let a=1;a<na;a++){n*=-e/a;let c=n/(t+a);if(r+=c,Math.abs(c)<=Qt*Math.abs(r))break}let o=Math.log(e),s=t*o-Pt(t);return-Math.expm1(s)-t*Math.exp(s)*r}function ea(t,e,n){let r=n?-1:1,o=e/t,s=(e-t)/t,i;o>1?i=Math.sqrt(-2*h1(s)):o<1?i=-Math.sqrt(-2*h1(s)):i=0;let a=.5*_s(r*i*Math.sqrt(t/2)),c=new Array(25).fill(0);c[0]=1;let f=0,u=0,l=1,m=1/0;for(let h=0;h<25;h++){let N=rl[h],p=N[0];for(let b=1;b<25;b++){b>f&&(c[b]=i*c[b-1],f+=1);let g=N[b]*c[b];if(p+=g,Math.abs(g)<Qt*Math.abs(p))break}let d=p*l,M=Math.abs(d);if(M>m||(u+=d,M<Qt*Math.abs(u)))break;m=M,l/=t}return a+=r*Math.exp(-.5*t*i*i)*u/Math.sqrt(2*Math.PI*t),a}function N1(t,e,n){if(e>1.1)return e<t?{lower:!0,value:sl(t,e,n)}:{lower:!1,value:B5(t,e,n)};if(e<=.5?-.4/Math.log(e)<t:e*1.1<t)return{lower:!0,value:sl(t,e,n)};let o=ul(t,e);return{lower:!1,value:n?Math.log(o):o}}function U5(t,e){if(e>1.1){let[o,s]=e<t?il(t,e):Q5(t,e);return{lower:e<t,log:o,lin:s}}if(e<=.5?-.4/Math.log(e)<t:e*1.1<t){let[o,s]=il(t,e);return{lower:!0,log:o,lin:s}}let r=ul(t,e);return{lower:!1,log:Math.log(r),lin:r}}function ll(t,e,n){if(Number.isNaN(t)||Number.isNaN(e))return[NaN,NaN];if(e<0||t<0)return[NaN,NaN];if(t===0)return e>0?n?[0,1]:[-1/0,0]:[NaN,NaN];if(e===0)return n?[-1/0,0]:[0,1];if(t===1/0)return e===1/0?[NaN,NaN]:n?[-1/0,0]:[0,1];if(e===1/0)return n?[0,1]:[-1/0,0];if(e>1e15*Math.max(t,1)){let s=(t-1)*Math.log(e)-e-Mt(t)+Math.log1p((t-1)/e);return n?[Math.log1p(-Math.exp(s)),-Math.expm1(s)]:[s,Math.exp(s)]}let r=Math.abs(e-t)/t;if(t>al&&t<ta&&r<cl||t>ta&&r<fl/Math.sqrt(t)){let s=ea(t,e,n);return[s>.5?Math.log1p(-ea(t,e,!n)):Math.log(s),s]}let o=U5(t,e);return o.lower===n?[o.log,o.lin]:[o.lin>0?Math.log1p(-o.lin):-Math.exp(o.log),1-o.lin]}function Xt(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e))return NaN;if(e<0||t<0)return NaN;let o=r?-1/0:0,s=r?0:1;if(t===0)return e>0?n?s:o:NaN;if(e===0)return n?o:s;if(t===1/0)return e===1/0?NaN:n?o:s;if(e===1/0)return n?s:o;if(e>1e15*Math.max(t,1)){let c=(t-1)*Math.log(e)-e-Mt(t)+Math.log1p((t-1)/e);return n?r?Math.log1p(-Math.exp(c)):-Math.expm1(c):r?c:Math.exp(c)}let i=Math.abs(e-t)/t;if(t>al&&t<ta&&i<cl||t>ta&&i<fl/Math.sqrt(t)){let c=ea(t,e,n);return r?c>.5?Math.log1p(-ea(t,e,!n)):Math.log(c):c}if(r){let c=N1(t,e,!0);if(c.lower===n)return c.value;let f=N1(t,e,!1).value;return f>0?Math.log1p(-f):-Math.exp(c.value)}let a=N1(t,e,!1);return a.lower===n?a.value:1-a.value}function G5(t,e){if(Number.isNaN(t)||Number.isNaN(e)||t<0||!(e>0))return{lower:NaN,upper:NaN,logLower:NaN,logUpper:NaN};let n=Mt(e),r=dt(e),o=f=>{let u=Xt(e,t,f,!1),l=r*u;if(Number.isFinite(r)&&u>ml&&Number.isFinite(l)&&l>ml)return[l,Math.log(l)];let m=n+Xt(e,t,f,!0);return m<710&&m>-746&&t>0&&(f?t<e:t>e)?$5(t,e,f):[Math.exp(m),m]},[s,i]=o(!0),[a,c]=o(!1);return{lower:s,upper:a,logLower:i,logUpper:c}}var ml=22250738585072014e-324;function $5(t,e,n){let r=k(z(C([t,0]),e),[-t,0]);n?r=k(r,C([ra(e,t)/e,0])):r=k(r,C([oa(e,t),0]));let o=r[0]+r[1];return[r[0]>-708?Math.exp(r[0])*(1+r[1]):Math.exp(o),o]}function p1(t){return Number.isNaN(t)||t<0||t>2?NaN:-V(t/2)*Math.SQRT1_2}function z5(t){if(Number.isNaN(t)||t<-1||t>1)return NaN;let e=t<0?-1:1,n=Math.abs(t);if(n>=.5)return e*p1(1-n);if(n<1e-8)return t*.886226925452758*(1+Math.PI/12*t*t);let r=p1(1-n);for(let o=0;o<3;o++){let s=(Ln(r)-n)/(1.1283791670955126*Math.exp(-r*r));if(r-=s,Math.abs(s)<=1e-17*r)break}return e*r}function W5(t,e){if(Number.isNaN(t)||Number.isNaN(e)||t<0||e<0)return NaN;let n=e===Math.floor(e);return t===Math.floor(t)&&n&&e>t?0:!Number.isFinite(t)||!Number.isFinite(e)?J5(t,e):n&&e<=1e3?X5(t,e):H5(t,e)}function X5(t,e){let n=[1,0];for(let r=0;r<e;r++){let o=T(t,-r),s=n[0]*o[0];if(!Number.isFinite(s)){let i=Math.sign(s);for(let a=r+1;a<e;a++)t-a<0&&(i=-i);return i*(1/0)}n=Math.abs(n[0])>1e290||Math.abs(o[0])>1e290?[(n[0]+n[1])*(o[0]+o[1]),0]:L(n,o)}return n[0]+n[1]}function H5(t,e){let[n,r]=T(t,-e);if(n+1<=0)return K5(t,n,r);if(t>1e280)return e*e<1e-17*t?Math.pow(t,e):1/0;let o;if(n>=15){if(e*Math.log(n+1)>720)return 1/0;let s=T(t,-n),i=$(L(s,C([t,0])),ne(n,[t,0]));i=k(i,[ut(t)-ut(n),0]),o=Math.sqrt(t/n)*Math.exp(i[0])*(1+i[1])}else if(t<30)o=dt(t+1)/dt(n+1);else{if(Mt(t+1)-Mt(n+1)>720)return 1/0;let s=$(d1(t+1),C([dt(n+1),0]));o=Math.exp(s[0])*(1+s[1])}return r!==0&&Number.isFinite(o)&&o!==0&&(o*=Math.exp(-r*Me(n+1))),o}function K5(t,e,n){let r=k(T(e,1),[n,0]),o=Ct(r[0])+Ct(r[0]+.5)*Math.PI*r[1];if(o===0)return 0;let s=Math.sign(o),i=k($(C([Math.abs(o),0]),Z5),[-n*Me(-e),0]);if(Mt(t+1)+Mt(-e)+i[0]>720)return s*(1/0);let a=k(k(d1(t+1),d1(-e)),i);return s*Math.exp(a[0])*(1+a[1])}var Y5=[.9189385332046728,-38782941580672414e-33],Z5=[1.1447298858494002,10265951162707826e-33];function d1(t){if(t<15)return C([dt(t),0]);let e=$(L(T(t,-.5),C([t,0])),[t,0]);return k(k(e,Y5),[ut(t),0])}function J5(t,e){let n=ce(t+1),r=ce(t-e+1);return n.sign*r.sign*Math.exp(n.value-r.value)}function O(t,e){return t?e?-1/0:0:e?0:1}function U(t,e){return t?e?0:1:e?-1/0:0}function D(t){return t?-1/0:0}function G(t,e,n,r,o){if(o){if(t>0)return NaN;if(t===0)return r?n:e;if(t===-1/0)return r?e:n}else{if(t<0||t>1)return NaN;if(t===0)return r?e:n;if(t===1)return r?n:e}}function Gt(t,e,n){let r=n?t:Math.log(t);if(r<=-Math.LN2)return n?{lower:e,logTarget:r}:{lower:e,logTarget:r,linearTarget:t};let o=n?-Math.expm1(t):1-t;return{lower:!e,logTarget:Math.log(o),linearTarget:o}}function fe(t){let{logTarget:e,lower:n,cdfLog:r,pdfLog:o,linearTarget:s,cdf:i,cdfBoth:a,dlogPdf:c}=t,f=(w,v)=>{if(s!==void 0&&i!==void 0&&v>-700){let x=i(w,n);if(x>0)return Math.log(x/s)}return v-e},u=w=>{if(a===void 0){let I=r(w,n);return[I,f(w,I)]}let[v,x]=a(w,n);return s!==void 0&&v>-700&&x>0?[v,Math.log(x/s)]:[v,v-e]},l=t.positive??!1,m=t.maxIter??200,h=l?Math.exp:w=>w,N=l?Math.log(t.lo):t.lo,p=l?Math.log(t.hi):t.hi,d=l?Math.log(t.x0):t.x0;d>N&&d<p||(d=hl(N,p,NaN));let M=d,b=1/0;for(let w=0;w<m;w++){let v=h(d),[x,I]=u(v);if(Math.abs(I)<b&&(b=Math.abs(I),M=d),I===0)return v;I<0===n?N=d:p=d;let F=(n?1:-1)*Math.exp(o(v)-x+(l?Math.log(v):0)),R=I/F;if(l&&c!==void 0){let A=F*(1+v*c(v))-F*F,j=2*I*F/(2*F*F-I*A),P=j/R;P>=.5&&P<=2&&(R=j)}let y=d-R,E=y===d&&Number.isFinite(F)&&F!==0;!E&&(!Number.isFinite(y)||y<=N||y>=p)&&(y=hl(N,p,d));let q=l?Math.abs(y-d)<=2e-16:Math.abs(y-d)<=4e-16*Math.abs(d);if(E||q)return g(h(M));if(N===p)break;d=y}return g(h(M));function g(w){if(!l||!(w>0)||!Number.isFinite(w)||Math.abs(Math.log(w))<=2)return w;let v=w,[x,I]=u(v);for(let F=0;F<4&&I!==0;F++){let R=(n?1:-1)*Math.exp(o(v)-x),y=v-I/R;if(!(y>0)||!Number.isFinite(y)||y===v)break;let[E,q]=u(y);if(!(Math.abs(q)<Math.abs(I)))break;v=y,x=E,I=q}return v}}function hl(t,e,n){if(Number.isFinite(t)&&Number.isFinite(e))return t+(e-t)/2;if(Number.isFinite(t)){let r=Number.isFinite(n)?Math.max(n,t):t;return r+Math.max(1,Math.abs(r))}if(Number.isFinite(e)){let r=Number.isFinite(n)?Math.min(n,e):e;return r-Math.max(1,Math.abs(r))}return Number.isFinite(n)?n*2+1:0}function tN(t,e){let n=[.213623493715853,4.28342155967104,11.6616720288968,3.31125922108741],r=[.03611708101884203,1.27364489782223,6.40691597760039,6.61053765625462,1],o=t<.5?Math.sqrt(-2*Math.log(t)):Math.sqrt(-2*Math.log(e)),s=o-jt(o,n)/jt(o,r);return t<.5?-s:s}function eN(t,e,n,r){let o=1;if(n>=1){let s=e/(t+1);o+=s;for(let i=2;i<=n&&(s*=e/(t+i),o+=s,!(s<r));++i);}return o}function Nl(t,e){let n=(t-1)*Math.log(e),r=n*n,o=r*n,s=r*r,i=t*t,a=i*t,c=(t-1)*(1+n),f=(t-1)*(-(r/2)+(t-2)*n+(3*t-5)/2),u=(t-1)*(o/3-(3*t-5)*r/2+(i-6*t+7)*n+(11*i-46*t+47)/6),l=(t-1)*(-(s/4)+(11*t-17)*o/6+(-3*i+13*t-13)*r+(2*a-25*i+72*t-61)*n/2+(25*a-195*i+477*t-379)/12),m=e*e,h=m*e,N=m*m;return e+n+c/e+f/m+u/h+l/N}function M1(t,e,n){if(t===1)return n>.9?-Math.log1p(-e):-Math.log(n);if(t<1){let p=dt(t),d=n*p;if(d>.6||d>=.45&&t>=.3){let M=d*n>1e-8&&n>1e-5?Math.pow(e*p*t,1/t):Math.exp(-n/t-kn);return M/(1-M/(t+1))}if(t<.3&&d>=.35){let M=Math.exp(-kn-d),b=M*Math.exp(M);return M*Math.exp(b)}if(d>.15||t>=.3){let M=-Math.log(d),b=M-(1-t)*Math.log(M);return M-(1-t)*Math.log(b)-Math.log(1+(1-t)/(1+b))}if(d>.1){let M=-Math.log(d),b=M-(1-t)*Math.log(M);return M-(1-t)*Math.log(b)-Math.log((b*b+2*(3-t)*b+(2-t)*(3-t))/(b*b+(5-t)*b+2))}return Nl(t,-Math.log(d))}let r=tN(e,n),o=r*r,s=o*r,i=o*o,a=i*r,c=Math.sqrt(t),f=t+r*c+(o-1)/3;if(f+=(s-7*r)/(36*c),f-=(3*i+7*o-16)/(810*t),f+=(9*a+256*s-433*r)/(38880*t*c),t>=500&&Math.abs(1-f/t)<1e-6)return f;if(e>.5){if(f<3*t)return f;let p=Math.max(2,t*(t-1)),d=Math.log(n)+Mt(t);if(d<-p*2.3)return Nl(t,-d);let M=-d+(t-1)*Math.log(f)-Math.log(1+(1-t)/(1+f));return-d+(t-1)*Math.log(M)-Math.log(1+(1-t)/(1+M))}let u=f,l=t+1,m=t+2;if(f<.15*l){let p=Math.log(e)+Mt(l);u=Math.exp((p+f)/t),r=Math.log1p(u/l*(1+u/m)),u=Math.exp((p+u-r)/t),r=Math.log1p(u/l*(1+u/m)),u=Math.exp((p+u-r)/t),r=Math.log1p(u/l*(1+u/m*(1+u/(t+3)))),u=Math.exp((p+u-r)/t)}if(u<=.01*l||u>.7*l)return u;let h=Math.log(eN(t,u,100,1e-4)),N=Math.log(e)+Mt(l);return u=Math.exp((N+u-h)/t),u*(1-(t*Math.log(u)-u-N+h)/(t-u))}function Ds(t){let{rate:e,scale:n}=t;if(e!==void 0&&n!==void 0){if(Math.abs(e*n-1)>=1e-15)throw new RangeError("rate and scale can both be given only when scale = 1 / rate");return n}return n!==void 0?n:e!==void 0?1/e:1}function nN(t,e){if(e<1){let n=lt(e,t,!0),r=e/t;return n+(Number.isFinite(r)?Math.log(r):Math.log(e)-Math.log(t))}return lt(e-1,t,!0)}function Ae(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(e<0||n<=0)return NaN;if(t<0)return D(r);if(e===0)return t===0?1/0:D(r);if(t===0)return e<1?1/0:e>1?D(r):r?-Math.log(n):1/n;if(e<1){let s=lt(e,t/n,r);if(r){let i=e/t;return s+(Number.isFinite(i)?Math.log(i):Math.log(e)-Math.log(t))}return s*e/t}let o=lt(e-1,t/n,r);return r?o-Math.log(n):o/n}function Lt(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(e<0||n<=0)return NaN;let s=t/n;return Number.isNaN(s)?s:e===0?s<=0?O(r,o):U(r,o):s<=0?O(r,o):Xt(e,s,r,o)}function rN(t,e,n,r){let{lower:o,logTarget:s,linearTarget:i}=Gt(t,n,r),a=Xt(e,Number.MIN_VALUE,o,!0);if(o?a>=s:a<=s)return 0;let c;if(e>1&&s<=-700){let f=V(s,{lowerTail:o,logP:!0}),u=1-1/(9*e)+f/Math.sqrt(9*e);c=u>0?e*u*u*u:e*.001}else if(s>-700){let f=Math.exp(s),u=-Math.expm1(s);c=o?M1(e,f,u):M1(e,u,f)}else if(o)c=Math.exp((s+Pt(e))/e);else{c=-s;for(let f=0;f<3;f++)c=-s-Mt(e)+(e-1)*Math.log(c)}return fe({logTarget:s,...i!==void 0&&{linearTarget:i},lower:o,cdf:(f,u)=>Xt(e,f,u,!1),cdfLog:(f,u)=>Xt(e,f,u,!0),cdfBoth:(f,u)=>ll(e,f,u),pdfLog:f=>nN(f,e),dlogPdf:f=>(e-1)/f-1,x0:c,lo:0,hi:1/0,positive:!0})}function oe(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;let s=G(t,0,1/0,r,o);return s!==void 0?s:e<0||n<=0?NaN:e===0?0:rN(t,e,r,o)*n}function oN(t,e,n={}){let r=Ds(n),o=n.log??!1;return S(t,s=>Ae(s,e,r,o))}function sN(t,e,n={}){let r=Ds(n),{lowerTail:o=!0,logP:s=!1}=n;return S(t,i=>Lt(i,e,r,o,s))}function g1(t,e,n={}){let r=Ds(n),{lowerTail:o=!0,logP:s=!1}=n;return S(t,i=>oe(i,e,r,o,s))}var iN=1e-17,aN=Math.log(iN),pl=2e7,w1=500,b1=2**w1,js=2**-w1,cN=2**250,fN=2**-250,y1=w1*Math.LN2,Vs={h:0,l:0,k:0};function dn(t,e,n,r=!1){if(t===0)return Vs;if(!Number.isFinite(t))return{h:t,l:0,k:n};for(;Math.abs(t)>cN;)t*=js,e*=js,n++;for(;Math.abs(t)<fN;)t*=b1,e*=b1,n--;return r?{h:t,l:e,k:n,approx:r}:{h:t,l:e,k:n}}var uN=[346.5735902799727,-22599635089223323e-30];function aa(t,e){if(t>1e-305||Number.isNaN(t))return dn(t,0,0);let n=e(),[r,o]=typeof n=="number"?[n,0]:n;if(r===-1/0)return Vs;if(Number.isNaN(r))return{h:NaN,l:0,k:0};let s=Math.round(r/y1),i=k([r,o],L(uN,[-s,0])),a=Math.exp(i[0]);return typeof n=="number"?dn(a,0,s,!0):dn(a,a*i[1],s)}function v1(t,e){if(t===0)return[-e,0];let n=22250738585072014e-324;if(t<=e*n||e<t*n||!Number.isFinite(t))return k(L(C([e,0]),[t,0]),[-e-Pt(t),0]);let r=k(ne(t,[e,0]),[ut(t),0]);return k([-r[0],-r[1]],[-.5*(lN+Math.log(t)),0])}var lN=1.8378770664093456;function Tn(t,e){return t.approx===!0&&Cs(t)>-700?e():t}function ar(t,e){return Ps(t,dn(e[0],e[1],0))}function mN(t,e){if(t.h===0)return Vs;let n=dn(e[0],e[1],0),r=B([t.h,t.l],[n.h,n.l]);return dn(r[0],r[1],t.k-n.k,t.approx)}function dl(t,e,n){let r=ar(t,e.ratio(n));return e.ratioK?{...r,k:r.k+e.ratioK}:r}function Ml(t,e,n){let r=mN(t,e.ratio(n));return e.ratioK?{...r,k:r.k-e.ratioK}:r}function Ps(t,e){if(t.h===0||e.h===0)return Vs;let n=L([t.h,t.l],[e.h,e.l]);return dn(n[0],n[1],t.k+e.k,t.approx===!0||e.approx===!0)}function sa(t,e,n,r){for(let o=n;o<r&&t!==0;o++)t*=js,e*=js;return[t,e]}function gl(t,e){if(t.h===0)return e;if(e.h===0)return t;let n=Math.max(t.k,e.k),r=k(sa(t.h,t.l,t.k,n),sa(e.h,e.l,e.k,n));return dn(r[0],r[1],n)}function Cs(t){return t.h===0?-1/0:Math.log(t.h)+t.l/t.h+t.k*y1}var Os=class{s=0;c=0;k=0;add(e){if(e.h===0)return;if(this.s===0&&this.c===0){this.s=e.h,this.c=e.l,this.k=e.k;return}e.k>this.k&&([this.s,this.c]=sa(this.s,this.c,this.k,e.k),this.k=e.k);let[n,r]=sa(e.h,e.l,e.k,this.k);this.addNum(n),this.addNum(r)}addNum(e){let n=this.s+e;Math.abs(this.s)>=Math.abs(e)?this.c+=this.s-n+e:this.c+=e-n+this.s,this.s=n}get log(){let e=this.s+this.c;return Number.isNaN(e)?NaN:e>0?Math.log(e)+this.k*y1:-1/0}get linear(){let e=this.s+this.c;for(let n=0;n<this.k;n++)e*=b1;for(let n=0;n>this.k&&e!==0;n--)e*=js;return e}value(e){return e?this.log:this.linear}divideBy(e){let n=dn(e,0,0);this.s/=n.h,this.c/=n.h,this.k-=n.k}};function hN(t){let e=Math.floor(t),n=1;for(;;){if(n*=t/(e+1),n/(1-t/(e+2))<3e-21)return e;e++}}function NN(t){let e=Math.floor(t),n=1;for(;e>0;){if(n*=e/t,n/(1-(e-1)/t)<3e-21)return e;e--}return 0}function ia(t,e,n){if(n===-1/0||!(t<e))return!1;let r=t-e;return t+r-Math.log(-Math.expm1(r))<=aN+n}function cr(t,e){return aa(lt(t,e,!1),()=>v1(t,e))}function Oe(t,e){return aa(t.inc(e,!1),()=>t.incLogDD?t.incLogDD(e):t.inc(e,!0))}function vo(t,e,n,r){return(n?xl(t,e):Al(t,e)).value(r)}function bl(t,e,n){let r=n?xl(t,e):Al(t,e);return{lin:r.linear,log:r.log}}function wl(t,e,n,r){return lt(n,e,!0)+t.cdf(n,r,!0)}function yl(t,e,n){for(;n-e>2;){let o=Math.floor(e+(n-e)/3),s=Math.ceil(n-(n-e)/3);t(o)<t(s)?e=o:n=s}let r=e;for(let o=e+1;o<=n;o++)t(o)>t(r)&&(r=o);return r}var pN=60;function vl(t,e,n,r){let o=t(e)-pN;for(let s=1;;s*=2){let i=e+n*s;if(n>0?i>=r:i<=r)return r;if(t(i)<o)return i}}var Il=3e3;function xl(t,e){let n=hN(t);if(n>Il){let c=f=>wl(e,t,f,!0);n=vl(c,yl(c,0,n),1,n)}let r=aa(e.cdf(n,!0,!1),()=>e.cdf(n,!0,!0)),o=cr(n,t),s=n>0?Oe(e,n-1):Vs,i=new Os,a=-1/0;for(let c=n;c>=0;c--){let f=Ps(o,r),u=Cs(f);if(i.add(f),ia(u,a,i.log)||(a=u,c===0))break;r=gl(r,s),o=Tn(ar(o,xe([c,0],t)),()=>cr(c-1,t)),c>=2&&(s=s.h===0?Oe(e,c-2):Tn(Ml(s,e,c-1),()=>Oe(e,c-2)))}return i}function Al(t,e){let n=NN(t),r=!1;for(;;){let o=aa(e.cdf(n,!1,!1),()=>e.cdf(n,!1,!0)),s=cr(n,t),i=Oe(e,n),a=new Os,c=-1/0,f=-1;for(let u=n;u<n+pl;u++){let l=Ps(s,o),m=Cs(l);if(a.add(l),ia(m,c,a.log)||m===-1/0&&u>t+50&&u>n+50)break;if(!r&&u-n>=Il&&m>=c){let h=M=>wl(e,t,M,!1),N=h(u),p=u+1;for(let M=1;h(p)>=N;M*=2)p=u+M;let d=vl(h,yl(h,u,p),-1,u);if(r=!0,d>u){f=d;break}}c=m,o=gl(o,i),s=Tn(ar(s,xe([t,0],u+1)),()=>cr(u+1,t)),i=i.h===0?Oe(e,u+1):Tn(dl(i,e,u+1),()=>Oe(e,u+1))}if(f<0)return a;n=f}}function ca(t,e,n,r,o,s){let i=Number.isFinite(r)?Math.max(0,Math.round(r)):0,a=new Os,c=cr(i,t),f=Oe(e,i),u=c,l=f,m=-1/0;for(let h=i;h<i+pl;h++){let N=ar(Ps(u,l),[n(h),0]),p=Cs(N);if(a.add(N),ia(p,m,a.log)||p===-1/0&&h>t+50&&h>i+50)break;m=p,u=Tn(ar(u,xe([t,0],h+1)),()=>cr(h+1,t)),l=l.h===0?Oe(e,h+1):Tn(dl(l,e,h+1),()=>Oe(e,h+1))}u=c,l=f,m=-1/0;for(let h=i-1;h>=0;h--){u=Tn(ar(u,xe([h+1,0],t)),()=>cr(h,t)),l=l.h===0?Oe(e,h):Tn(Ml(l,e,h+1),()=>Oe(e,h));let N=ar(Ps(u,l),[n(h),0]),p=Cs(N);if(a.add(N),ia(p,m,a.log))break;m=p}return a.divideBy(o),a.value(s)}function Rl(t,e){let n=e<1e-250,r=n?e*2**500:e;return{ratioK:n?-1:0,cdf:(o,s,i)=>Xt(t+o,e,s,i),inc:(o,s)=>{let[i,a]=El(t,o,e);return s?lt(i,e,!0)+a:lt(i,e,!1)*(1+a)},ratio:o=>B([r,0],T(t,o)),incLogDD:o=>{let[s,i]=El(t,o,e);return k(v1(s,e),[i,0])}}}function El(t,e,n){let[r,o]=T(t,e);return[r,o===0?0:o*(Math.log(n)-Me(r+1))]}function Fl(t,e){return t>=0&&e>=0&&Number.isFinite(t)&&Number.isFinite(e)}function kl(t,e,n,r){let o=n/2;if(o*(t/2)>1e18){let a=dN(t,e,n);return r?{lin:-Math.expm1(a),log:Math.log1p(-Math.exp(a))}:{lin:Math.exp(a),log:a}}let s=Rl(e/2,Math.max(t/2,Number.MIN_VALUE)),i=bl(o,s,r);if(i.lin>.5){let a;return{lin:i.lin,get log(){return a??=Math.log1p(-vo(o,s,!r,!1)),a}}}return i}function dN(t,e,n){let r=.5-Math.sqrt(n/t)/2-(e-3)/(4*t);return Sl(t,e,n,!0)-Math.log(r)}function I1(t,e,n,r,o){let s=kl(t,e,n,r);return o?s.log:s.lin}function MN(t,e){let n=NaN,r=!0,o={lin:NaN,log:NaN};return(s,i)=>((s!==n||i!==r)&&(o=kl(s,t,e,i),n=s,r=i),o)}function ql(t,e,n,r){let o=e/2,s=t/2,i=n/2,a=(-(o-1)+Math.sqrt((o-1)*(o-1)+4*i*s))/2;return i*s>1e18?Sl(t,e,n,r):ca(i,Rl(o,s),c=>o+c,a,t,r)}function Sl(t,e,n,r){let o=e/2-1,s=Math.sqrt(n*t),i=4*o*o,a=1,c=1;for(let l=1;l<30&&(a*=-(i-(2*l-1)*(2*l-1))/(8*l*s),c+=a,!(Math.abs(a)<1e-17*Math.abs(c)));l++);let f=Math.sqrt(t)-Math.sqrt(n),u=-Math.LN2-f*f/2+o/2*Math.log(t/n)-.5*Math.log(2*Math.PI*s)+Math.log(c);return r?u:Math.exp(u)}function fa(t,e,n,r){return Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n)?NaN:Fl(e,n)?n===0?Ae(t,e/2,2,r):t<0||t===1/0?r?-1/0:0:t===0?e<2?1/0:e===2?r?-n/2-Math.LN2:Math.exp(-n/2)/2:r?-1/0:0:ql(t,e,n,r):NaN}function ua(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(!Fl(e,n))return NaN;if(t<0)return O(r,o);if(t===0){if(e>0)return O(r,o);let s=-n/2;return r?o?s:Math.exp(s):o?s<-Math.LN2?Math.log1p(-Math.exp(s)):Math.log(-Math.expm1(s)):-Math.expm1(s)}return n===0?t===1/0?U(r,o):Xt(e/2,Math.max(t/2,Number.MIN_VALUE),r,o):t===1/0?U(r,o):I1(t,e,n,r,o)}function la(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(!(e>=0&&n>=0&&Number.isFinite(e)))return NaN;let s=G(t,0,1/0,r,o);if(s!==void 0)return s;if(!Number.isFinite(n))return o&&Math.exp(t)===1?r?1/0:0:NaN;if(n===0)return oe(t,e/2,2,r,o);let{lower:i,logTarget:a,linearTarget:c}=Gt(t,r,o),f=MN(e,n),u=I1(Number.MIN_VALUE,e,n,i,!0);if(i?u>=a:u<=a)return 0;let l=(e+2*n)/(e+n),m=(e+n)*(e+n)/(e+2*n),h=l*oe(a,m/2,2,i,!0);(!(h>0)||!Number.isFinite(h))&&(h=e+n);let N=Math.max(h,e+n,1);for(let p=0;p<2e3;p++){let d=I1(N,e,n,i,!0);if(i?d>=a:d<=a)break;N*=2}return fe({logTarget:a,...c!==void 0&&{linearTarget:c},lower:i,cdf:(p,d)=>f(p,d).lin,cdfLog:(p,d)=>f(p,d).log,pdfLog:p=>ql(p,e,n,!0),x0:Math.min(h,N),lo:0,hi:N,positive:!0})}function gN(t,e,n={}){let{log:r=!1,ncp:o}=n;return o!==void 0?S(t,s=>fa(s,e,o,r)):S(t,s=>Ae(s,e/2,2,r))}function bN(t,e,n={}){let{lowerTail:r=!0,logP:o=!1,ncp:s}=n;return s!==void 0?S(t,i=>ua(i,e,s,r,o)):S(t,i=>Lt(i,e/2,2,r,o))}function x1(t,e,n={}){let{lowerTail:r=!0,logP:o=!1,ncp:s}=n;return s!==void 0?S(t,i=>la(i,e,s,r,o)):S(t,i=>oe(i,e/2,2,r,o))}var Bs=8*Number.EPSILON,Ll=2*Number.EPSILON,wN=1e-290;function ke(t){let{p:e,lowerTail:n,logP:r,cdf:o,lo:s,hi:i}=t,a;if(r||e<wN){let l;r?l=n?e*(1+Ll):e*(1-Ll):l=Math.log(e)+Math.log1p(n?-Bs:Bs),a=n?m=>o(m,!0,!0)>=l:m=>o(m,!1,!0)<=l}else{let l;if(n?l=e*(1-Bs):l=1-e>4*Bs?e*(1+Bs):e,l>.5){let m=1-l;a=n?h=>o(h,!1,!1)<=m:h=>o(h,!0,!1)>=m}else a=n?m=>o(m,!0,!1)>=l:m=>o(m,!1,!1)<=l}let c=Math.round(t.y0);if(Number.isFinite(c)||(c=s),c=Math.min(Math.max(c,s),i),a(c)){let l=1,m=c-l;for(;m>=s&&a(m);)c=m,l*=2,m=c-l;if(m<s){if(c===s)return s;m=s-1}return Tl(m,c,a)}let f=1,u=c+f;for(;u<=i&&!a(u);)c=u,f*=2,u=c+f;return u>i&&(u=i),Tl(c,u,a)}function Tl(t,e,n){for(;e-t>1;){let r=Math.floor(t+(e-t)/2);if(r===t||r===e)break;n(r)?e=r:t=r}return e}var ma=Ot;function ha(t,e,n){return Number.isNaN(t)||Number.isNaN(e)?NaN:e<0?NaN:ma(t)?D(n):t<0||!Number.isFinite(t)?D(n):lt(Math.round(t),e,n)}function Ke(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e))return NaN;if(e<0)return NaN;if(t<0)return O(n,r);if(e===0)return U(n,r);if(!Number.isFinite(t))return U(n,r);let o=Math.floor(t+1e-7);return Xt(o+1,e,!n,r)}function A1(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e))return NaN;if(!Number.isFinite(e)||e<0)return NaN;let o=G(t,0,1/0,n,r);if(o!==void 0)return e===0&&!Number.isNaN(o)?0:o;if(e===0)return 0;let s=Math.sqrt(e),i=V(t,{lowerTail:n,logP:r}),a=e+s*(i+(i*i-1)/(6*s));return ke({p:t,lowerTail:n,logP:r,cdf:(c,f,u)=>Xt(c+1,e,!f,u),y0:Number.isFinite(a)?a:e,lo:0,hi:1/0})}function yN(t,e,n={}){let r=n.log??!1;return S(t,o=>ha(o,e,r))}function vN(t,e,n={}){let{lowerTail:r=!0,logP:o=!1}=n;return S(t,s=>Ke(s,e,r,o))}function E1(t,e,n={}){let{lowerTail:r=!0,logP:o=!1}=n;return S(t,s=>A1(s,e,r,o))}var Qs=4503599627370496,Io=2220446049250313e-31;function jl(t,e,n,r){return Rt(t,e,n,r,!0)+Math.log(t)+Math.log(e)-Math.log(t+e)}function Pl(t,e,n,r){return Rt(t,e,n,r,!1)*(t*e/(t+e))}var Cl=22250738585072014e-324*1e3;function Ol(t,e,n,r,o){let{e:s}=qn(t,e,n,r),i=o*(t*e/(t+e))/Math.sqrt(2*Math.PI*t*(e/(t+e)));if(!(s[0]<1400)||!Number.isFinite(i)||i===0)return;let a=Math.exp(700-s[0])*(1-s[1])*i*Math.exp(-700);return a>0?a:void 0}function IN(t,e,n){let r=(1-e)*n,o=r/(t+1),s=o,i=r,a=2,c=0;for(;(Math.abs(o)>Qt*Math.abs(c+s)||a<4)&&!(a>1e7);)r=(a-e)*n/a,i*=r,o=i/(t+a),c+=o,a+=1;return c+s}function _l(t,e,n,r){let o=n[0],s=t*(Math.log(o)+n[1]/o)+Ls(t,e)-Pt(t),i=Math.exp(s),a=-Math.expm1(s)-i*t*IN(t,e,o);return r?Math.log(a):a}function Na(t,e,n,r,o){let s=n[0],i=1/t,a=(1-e)*s,c=a/(t+1),f=c,u=a,l=2,m=0,h=Qt*i;for(;Math.abs(c)>h;)a=(l-e)*s/l,u*=a,c=u/(t+l),m+=c,l+=1;m+=f,m+=i;let N=xN(n);if(!o){let d=Pl(t,e,n,r);if(d>Cl)return m*d/Math.exp(e*N);let M=Ol(t,e,n,r,m/Math.exp(e*N));if(M!==void 0)return M}let p=Math.log(m)+jl(t,e,n,r)-e*N;return o?p:Math.exp(p)}function Dl(t,e,n,r,o){let s=o?B(n,r):n,i=Math.max(t,e)>=2**52,a=t,c=o?T(e,-1):T(t,e),f=t,u=t+1,l=1,m=o?T(t,e):T(e,-1),h=t+1,N=t+2,p=[t,0],d=[t,0],M=T(t,1),b=T(t,1),g=T(t,2),w=o?-1:1,v=[0,0],x=[1,0],I=[1,0],F=[1,0],R=[1,0];for(let y=0;y<1e5;y++){let E=i?B(L(L(s,p),c),L(d,M)):B(L(z(s,a),c),pt(f,u)),q=$(I,L(v,E)),A=$(F,L(x,E));if(v=I,I=q,x=F,F=A,E=B(L(z(s,l),m),i?L(b,g):pt(h,N)),q=k(I,L(v,E)),A=k(F,L(x,E)),v=I,I=q,x=F,F=A,A[0]!==0){let P=B(q,A),H=P[0]!==0?Math.abs((R[0]-P[0])/P[0]):1;if(R=P,H<Qt&&y>1)break}c=k(c,[w,0]),m=k(m,[-w,0]),l+=1,i?(p=k(p,[1,0]),d=k(d,[2,0]),M=k(M,[2,0]),b=k(b,[2,0]),g=k(g,[2,0])):(a+=1,f+=2,u+=2,h+=2,N+=2),Math.abs(A[0])+Math.abs(q[0])>Qs&&(v=z(v,Io),I=z(I,Io),x=z(x,Io),F=z(F,Io)),(Math.abs(A[0])<Io||Math.abs(q[0])<Io)&&(v=z(v,Qs),I=z(I,Qs),x=z(x,Qs),F=z(F,Qs))}return R[0]+R[1]}function pa(t,e,n){return e*n<=1&&n<=.95}function da(t,e,n){return n<=t/(t+e)}function fr(t,e,n,r,o){let s=n[0],i=r[0],c=s*(t+e-2)-(t-1)<0?Dl(t,e,n,r,!1):Dl(t,e,n,r,!0)/i;if(!o){let u=Pl(t,e,n,r);if(u>Cl)return u*(c/t);let l=Ol(t,e,n,r,c/t);if(l!==void 0)return l}let f=jl(t,e,n,r)-Math.log(t)+Math.log(c);return o?f:Math.exp(f)}function Ye(t,e,n,r,o,s){if(n<=0)return o?s?-1/0:0:s?0:1;if(r<=0)return o?s?0:1:s?-1/0:0;let i=n<=r?[n,0]:T(1,-r),a=n<=r?T(1,-n):[r,0];return Mn(t,e,i,a,o,s)}function Mn(t,e,n,r,o,s){let i=R1(t,e,n,r,o,s);return s?i[0]:i[1]}function Ma(t,e,n,r,o){return R1(t,e,n,r,o,!0)}function ga(t,e,n,r,o){if(n<=0)return o?[-1/0,0]:[0,1];if(r<=0)return o?[0,1]:[-1/0,0];let s=n<=r?[n,0]:T(1,-r),i=n<=r?T(1,-n):[r,0];return R1(t,e,s,i,o,!0)}function R1(t,e,n,r,o,s){if(n[0]<=0)return o?[-1/0,0]:[0,1];if(r[0]<=0)return o?[0,1]:[-1/0,0];let i=22250738585072014e-324;if(n[0]<i||r[0]<i){let g=n[0]<i,[w,v,x]=g?[t,e,n]:[e,t,r],I=k(z(C(x),w),[Ls(w,v)-Pt(w),0]),F=I[0]+I[1];return g===o?[F,Math.exp(I[0])*(1+I[1])]:[s?Math.log1p(-Math.exp(F)):NaN,-Math.expm1(F)]}let[a,c,f,u]=o?[t,e,n,r]:[e,t,r,n],[l,m,h,N]=o?[e,t,r,n]:[t,e,n,r],p=(g,w)=>{if(!s)return[NaN,g];if(g>.5){let v=w();if(v!==void 0)return[Math.log1p(-v),g]}return[Math.log(g),g]},d=()=>{if(pa(l,m,h[0]))return Na(l,m,h,N,!1);if(pa(a,c,f[0])){let g=_l(a,c,f,!1);return a*Math.abs(Math.log(f[0]))>32*g&&da(l,m,h[0])?fr(l,m,h,N,!1):g}if(da(l,m,h[0]))return fr(l,m,h,N,!1)},M=1e-290;if(pa(a,c,f[0])){let g=Na(a,c,f,u,!1);return s&&g<M?[Na(a,c,f,u,!0),g]:p(g,d)}if(pa(l,m,h[0])){let g=_l(l,m,h,!1);if(l*Math.abs(Math.log(h[0]))>32*g&&da(a,c,f[0])){let w=fr(a,c,f,u,!1);return s&&w<M?[fr(a,c,f,u,!0),w]:p(w,d)}return p(g,()=>Na(l,m,h,N,!1))}if(da(a,c,f[0])){let g=fr(a,c,f,u,!1);return s&&g<M?[fr(a,c,f,u,!0),g]:p(g,d)}let b=fr(l,m,h,N,!1);return[s?Math.log1p(-b):NaN,1-b]}function xN(t){return Math.log1p(-t[0])-t[1]/(1-t[0])}function Vl(t,e,n,r){let o=pt(e,t),s,i;if(Number.isFinite(o[0])&&Number.isFinite(o[1])&&Math.abs(o[0])<1e290){let l=k(o,[n,0]);s=B(o,l),i=B([n,0],l)}else i=[n/e/t,0],s=[1,-i[0]];let a=s[0],c=i[0];if(e>=2){let l=e*c/2,m=Rt((e-2)/2,n/2,s,i,r);return r?Math.log(l)+m:l*m}let f=e/(n+e*t)*e*n/(2*(e+n)*a),u=Rt(e/2,n/2,s,i,r);return r?Math.log(f)+u:f*u}function ba(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(e<=0||n<=0)return NaN;if(t<0)return D(r);if(t===0)return e>2?D(r):e===2?r?0:1:1/0;if(!Number.isFinite(e)&&!Number.isFinite(n))return t===1?1/0:D(r);if(!Number.isFinite(n))return Ae(t,e/2,2/e,r);if(!Number.isFinite(e)){let o=Ae(1/t,n/2,2/n,r);return r?o-2*Math.log(t):o/(t*t)}return Number.isFinite(t)?Vl(t,e,n,r):e<2?NaN:D(r)}function F1(t,e,n,r,o){let s=pt(e,t);if(Number.isFinite(s[0])&&Number.isFinite(s[1])&&Math.abs(s[0])<1e290){let a=k(s,[n,0]);return Mn(e/2,n/2,B(s,a),B([n,0],a),r,o)}let i=n/e/t;return Ye(e/2,n/2,1-i,i,r,o)}function AN(t,e,n,r){let o=q1(t/2,e/2,n,r);if(o===void 0)return 1;let s=e*o/(t*(1-o));return s>0&&Number.isFinite(s)?s:1}function EN(t,e,n,r){let o=pt(e,t);if(Number.isFinite(o[0])&&Number.isFinite(o[1])&&Math.abs(o[0])<1e290){let i=k(o,[n,0]);return Ma(e/2,n/2,B(o,i),B([n,0],i),r)}let s=n/e/t;return ga(e/2,n/2,1-s,s,r)}function ge(t,e,n,r,o){return Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n)?NaN:e<=0||n<=0?NaN:t<=0?O(r,o):t===1/0?U(r,o):!Number.isFinite(e)&&!Number.isFinite(n)?t===1?o?-Math.LN2:.5:t<1?O(r,o):U(r,o):Number.isFinite(n)?Number.isFinite(e)?F1(t,e,n,r,o):Lt(n/t,n/2,2,!r,o):Lt(t*e,e/2,2,r,o)}function gn(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(e<=0||n<=0)return NaN;let s=G(t,0,1/0,r,o);if(s!==void 0)return s;if(!Number.isFinite(e)&&!Number.isFinite(n))return 1;if(!Number.isFinite(n))return oe(t,e/2,2,r,o)/e;if(!Number.isFinite(e))return n/oe(t,n/2,2,!r,o);let{lower:i,logTarget:a,linearTarget:c}=Gt(t,r,o);return i&&(a+Math.log(e/2)+Wt(e/2,n/2))/(e/2)+Math.log(n/e)<-746?0:!i&&-(a+Math.log(n/2)+Wt(e/2,n/2))/(n/2)+Math.log(n/e)>709.78?1/0:fe({logTarget:a,...c!==void 0&&{linearTarget:c},lower:i,cdf:(f,u)=>F1(f,e,n,u,!1),cdfLog:(f,u)=>F1(f,e,n,u,!0),cdfBoth:(f,u)=>EN(f,e,n,u),pdfLog:f=>Vl(f,e,n,!0),dlogPdf:f=>(e/2-1)/f-(e+n)/2*(e/(n+e*f)),x0:AN(e,n,i,a),lo:0,hi:1/0,positive:!0})}function RN(t,e,n,r={}){let{log:o=!1,ncp:s}=r;return s!==void 0?S(t,i=>Bl(i,e,n,s,o)):S(t,i=>ba(i,e,n,o))}function FN(t,e,n,r={}){let{lowerTail:o=!0,logP:s=!1,ncp:i}=r;return i!==void 0?S(t,a=>Ql(a,e,n,i,o,s)):S(t,a=>ge(a,e,n,o,s))}function k1(t,e,n,r={}){let{lowerTail:o=!0,logP:s=!1,ncp:i}=r;return i!==void 0?S(t,a=>Ul(a,e,n,i,o,s)):S(t,a=>gn(a,e,n,o,s))}function $l(t,e,n,r){let o=T(t,e),s=n[0]<1e-250,i=s?[n[0]*2**500,n[1]*2**500]:n;return{ratioK:s?-1:0,cdf:(a,c,f)=>Mn(t+a,e,n,r,c,f),inc:(a,c)=>{let[f,u]=Gl(t,e,a,n),l=e/(f+e);return c?Rt(f,e,n,r,!0)+Math.log(l)+u:Rt(f,e,n,r,!1)*l*(1+u)},ratio:a=>B(L(i,k(o,[a-1,0])),T(t,a)),incLogDD:a=>{let[c,f]=Gl(t,e,a,n);if(!(n[0]>1e-305&&r[0]>1e-305)){let m=kN(c,e,n,r);return typeof m=="number"?m+f:k(m,[f,0])}let{e:u,logDenom:l}=qn(c,e,n,r);return k([-u[0],-u[1]],[-.5*l+Math.log(e/(c+e))+f,0])}}}function Gl(t,e,n,r){let[o,s]=T(t,n);return s===0?[o,0]:[o,s*(Math.log(r[0])+r[1]/r[0]+Me(o+e)-Me(o+1))]}function kN(t,e,n,r){if(!(n[0]>0&&r[0]>0))return-1/0;let o=k(z(C(n),t),z(C(r),e));return k(k(o,de(bo(t,e))),[-Math.log(t),0])}function S1(t){return t<=.5?[[t,0],T(1,-t)]:[T(1,-(1-t)),[1-t,0]]}function L1(t,e,n,r,o,s,i){let a=$l(t,e,r,o),c=n/2,f=vo(c,a,s,!1);return i?f>.5?Math.log1p(-vo(c,a,!s,!1)):f>=1e-280?Math.log(f):vo(c,a,s,!0):f}function zl(t,e,n,r,o,s,i){let a=n/2,c=r[0],f=a*c,u=t-1-f,l=(-u+Math.sqrt(Math.max(0,u*u+4*f*(t+e-1))))/2;return ca(a,$l(t,e,r,o),m=>t+m,l,s,i)}function T1(t,e,n){return t>0&&e>0&&Number.isFinite(t)&&Number.isFinite(e)&&n>=0&&Number.isFinite(n)}function Wl(t,e,n,r,o){let[s,i]=S1(t),a=L(s,i);return zl(e,n,r,s,i,a[0]+a[1],o)}function Xl(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n)||Number.isNaN(r))return NaN;if(!T1(e,n,r))return NaN;if(r===0)return _1(t,e,n,o);if(t<0||t>1)return o?-1/0:0;let s=r/2;return t===0?e>1?o?-1/0:0:e<1?1/0:o?Math.log(n)-s:n*Math.exp(-s):t===1?n>1?o?-1/0:0:n<1?1/0:o?Math.log(e+s):e+s:Wl(t,e,n,r,o)}function Hl(t,e,n,r,o,s){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n)||Number.isNaN(r))return NaN;if(t<=0)return O(o,s);if(t>=1)return U(o,s);if(!T1(e,n,r))return NaN;if(r===0)return xo(t,e,n,o,s);let[i,a]=S1(t);return L1(e,n,r,i,a,o,s)}function Kl(t,e,n,r,o,s){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n)||Number.isNaN(r))return NaN;if(!(e>0&&n>0&&r>=0))return NaN;let i=G(t,0,1,o,s);if(i!==void 0)return i;if(!T1(e,n,r))return NaN;if(r===0)return Ze(t,e,n,o,s);let{lower:a,logTarget:c,linearTarget:f}=Gt(t,o,s),u=(N,p,d)=>{let[M,b]=S1(N);return L1(e,n,r,M,b,p,d)},l=u(Number.MIN_VALUE,a,!0);if(a?l>=c:l<=c)return 0;let m=u(1-Number.EPSILON/2,a,!0);if(a?m<c:m>c)return 1;let h=Ze(c,e+r/2,n,a,!0);return h>0&&h<1||(h=.5),fe({logTarget:c,...f!==void 0&&{linearTarget:f},lower:a,cdf:(N,p)=>u(N,p,!1),cdfLog:(N,p)=>u(N,p,!0),pdfLog:N=>Wl(N,e,n,r,!0),x0:h,lo:0,hi:1,positive:!0})}function Yl(t,e,n){let r=pt(e,t);if(Number.isFinite(r[0])&&Number.isFinite(r[1])&&Math.abs(r[0])<1e290){let s=k(r,[n,0]);return[B(r,s),B([n,0],s)]}let o=n/e/t;return[T(1,-o),[o,0]]}function Zl(t,e,n,r,o){if(e/n*t<1e-306){let a=e/2,c=-r/2+a*(Math.log(e/n)+Math.log(t))-Wt(a,n/2)-Math.log(t);return o?c:Math.exp(c)}let[s,i]=Yl(t,e,n);return zl(e/2,n/2,r,s,i,t,o)}function Jl(t,e,n,r,o,s){let i=e/2,a=-r/2+i*(Math.log(e/n)+Math.log(t))-Math.log(i)-Wt(i,n/2);return o?s?a:Math.exp(a):s?-Math.exp(a):-Math.expm1(a)}function Us(t,e,n,r,o,s){if(e/n*t<1e-306)return Jl(t,e,n,r,o,s);let[i,a]=Yl(t,e,n);return L1(e/2,n/2,r,i,a,o,s)}function Bl(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n)||Number.isNaN(r))return NaN;if(!(e>0&&n>0&&r>=0))return NaN;if(t<0)return o?-1/0:0;if(!Number.isFinite(r))return NaN;if(e===1/0)return n===1/0?t===1?1/0:o?-1/0:0:t===0?NaN:ba(t,e,n,o);if(n===1/0){let s=fa(t*e,e,r,o);return o?s+Math.log(e):s*e}return t===1/0?NaN:t===0?e<2?1/0:e>2?o?-1/0:0:o?-r/2:Math.exp(-r/2):r===0?ba(t,e,n,o):Zl(t,e,n,r,o)}function Ql(t,e,n,r,o,s){return Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n)||Number.isNaN(r)?NaN:!(e>0&&n>0&&r>=0)||!Number.isFinite(r)?NaN:e===1/0&&n===1/0?NaN:t<=0?O(o,s):t===1/0?U(o,s):e===1/0?NaN:n===1/0?ua(t*e,e,r,o,s):e/n*t<1e-306?Jl(t,e,n,r,o,s):r===0?ge(t,e,n,o,s):Us(t,e,n,r,o,s)}function Ul(t,e,n,r,o,s){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n)||Number.isNaN(r))return NaN;if(!(e>0&&n>0&&r>=0)||!Number.isFinite(r))return NaN;let i=G(t,0,1/0,o,s);return i!==void 0?i:e===1/0?NaN:n===1/0?la(t,e,r,o,s)/e:r===0?gn(t,e,n,o,s):qN(t,e,n,r,o,s)}function qN(t,e,n,r,o,s){let{lower:i,logTarget:a,linearTarget:c}=Gt(t,o,s),f=Us(Number.MIN_VALUE,e,n,r,i,!0);if(i?f>=a:f<=a)return 0;let u=Us(Number.MAX_VALUE,e,n,r,i,!0);if(i?u<a:u>a)return 1/0;let l=(e+r)*(e+r)/(e+2*r),m=(e+r)/e*gn(a,l,n,i,!0);return(!(m>0)||!Number.isFinite(m))&&(m=1),fe({logTarget:a,...c!==void 0&&{linearTarget:c},lower:i,cdf:(h,N)=>Us(h,e,n,r,N,!1),cdfLog:(h,N)=>Us(h,e,n,r,N,!0),pdfLog:h=>Zl(h,e,n,r,!0),x0:m,lo:0,hi:1/0,positive:!0})}function SN(t){return t<=.5?[[t,0],T(1,-t)]:[T(1,-(1-t)),[1-t,0]]}function e2(t,e,n,r){let[o,s]=SN(t),{e:i,logDenom:a}=qn(e,n,o,s),c=k(de(k(C(o),C(s))),[Math.log(e*n/(e+n))-.5*a,0]),f=k(de(i),c);return r?f[0]+f[1]:Math.exp(f[0])*(1+f[1])}function LN(t,e,n,r){return e2(t,n,r,!0)}function _1(t,e,n,r){return Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n)?NaN:e<0||n<0?NaN:t<0||t>1?D(r):e===0||n===0||!Number.isFinite(e)||!Number.isFinite(n)?e===0&&n===0?t===0||t===1?1/0:D(r):e===0||n/e===1/0?t===0?1/0:D(r):n===0||e/n===1/0?t===1?1/0:D(r):t===.5?1/0:D(r):t===0?e>1?D(r):e<1?1/0:r?Math.log(n):n:t===1?n>1?D(r):n<1?1/0:r?Math.log(e):e:e2(t,e,n,r)}function xo(t,e,n,r,o){return Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n)?NaN:e<0||n<0?NaN:t>=1?U(r,o):e===0||n===0||!Number.isFinite(e)||!Number.isFinite(n)?e===0&&n===0?o?-Math.LN2:.5:e===0||n/e===1/0?U(r,o):n===0||e/n===1/0?O(r,o):t<.5?O(r,o):U(r,o):t<=0?O(r,o):Ye(e,n,t,1-t,r,o)}function q1(t,e,n,r){if(!(t>1&&e>1))return;let o=V(r,{logP:!0}),s=n?-o:o,i=1/(2*t-1),a=1/(2*e-1),c=2/(i+a),f=(s*s-3)/6;if(!(c+f>0))return;let u=s*Math.sqrt(c+f)/c-(a-i)*(f+5/6-2/(3*c)),l=t/(t+e*Math.exp(2*u));return l>0&&l<1?l:void 0}function t2(t,e,n,r,o){let s=Ye(t,e,Number.MIN_VALUE,1,n,!0);if(n?s>=r:s<=r)return 0;let i=.25,a=1/0;if(n){let c=(r+Math.log(t)+Wt(t,e))/t;a=Math.exp(Math.max(c,-745)),i=Math.min(a,.25)}if(!(a<.001)){let c=q1(t,e,n,r);c!==void 0&&c<.5&&(i=c)}return fe({logTarget:r,...o!==void 0&&{linearTarget:o},lower:n,cdf:(c,f)=>Ye(t,e,c,1-c,f,!1),cdfLog:(c,f)=>Ye(t,e,c,1-c,f,!0),cdfBoth:(c,f)=>ga(t,e,c,1-c,f),pdfLog:c=>LN(c,1-c,t,e),dlogPdf:c=>(t-1)/c-(e-1)/(1-c),x0:i,lo:0,hi:.5,positive:!0})}function Ze(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(e<0||n<0)return NaN;let s=G(t,0,1,r,o);if(s!==void 0)return s;if(e===0||n===0||!Number.isFinite(e)||!Number.isFinite(n)){if(e===0&&n===0){let l=o?t:Math.log(t),m=r?l:Math.log1p(-Math.exp(l));return m<-Math.LN2?0:m>-Math.LN2?1:.5}return e===0||n/e===1/0?0:n===0||e/n===1/0?1:.5}let{lower:i,logTarget:a,linearTarget:c}=Gt(t,r,o),f=Ye(e,n,.5,.5,i,!0);return(i?a<=f:a>=f)?t2(e,n,i,a,c):1-t2(n,e,!i,a,c)}function TN(t,e,n,r={}){let{log:o=!1,ncp:s}=r;return s!==void 0?S(t,i=>Xl(i,e,n,s,o)):S(t,i=>_1(i,e,n,o))}function _N(t,e,n,r={}){let{lowerTail:o=!0,logP:s=!1,ncp:i}=r;return i!==void 0?S(t,a=>Hl(a,e,n,i,o,s)):S(t,a=>xo(a,e,n,o,s))}function D1(t,e,n,r={}){let{lowerTail:o=!0,logP:s=!1,ncp:i}=r;return i!==void 0?S(t,a=>Kl(a,e,n,i,o,s)):S(t,a=>Ze(a,e,n,o,s))}function j1(t,e){return ma(t)||t<0||!Number.isFinite(t)||e<0||e>1}function Gs(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(j1(e,n))return NaN;if(ma(t)||t<0||!Number.isFinite(t))return D(r);let o=Math.round(t),s=Math.round(e);if(o>s)return D(r);let i=n<=.5?[n,0]:T(1,-(1-n)),a=n<=.5?T(1,-n):[1-n,0];return Rt(o,s-o,i,a,r)}function n2(t,e,n,r,o){return Ye(t+1,e-t,n,1-n,!r,o)}function _n(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(j1(e,n))return NaN;let s=Math.round(e);if(t<0)return O(r,o);let i=Math.floor(t+1e-7);return s<=i?U(r,o):n===0?U(r,o):n===1?O(r,o):n2(i,s,n,r,o)}function DN(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(!Number.isFinite(e)||!Number.isFinite(n)||n<0||n>1||e<0)return NaN;let s=G(t,0,CN(e),r,o);if(s!==void 0)return s;if(j1(e,n))return NaN;let i=Math.round(e);if(n===0||i===0)return 0;if(n===1)return i;let a=1-n,c=i*n,f=Math.sqrt(i*n*a),u=(a-n)/f,l=V(t,{lowerTail:r,logP:o}),m=c+f*(l+u*(l*l-1)/6);return ke({p:t,lowerTail:r,logP:o,cdf:(h,N,p)=>h>=i?U(N,p):n2(h,i,n,N,p),y0:Number.isFinite(m)?m:c,lo:0,hi:i})}function jN(t,e,n,r={}){let o=r.log??!1;return S(t,s=>Gs(s,e,n,o))}function PN(t,e,n,r={}){let{lowerTail:o=!0,logP:s=!1}=r;return S(t,i=>_n(i,e,n,o,s))}function $s(t,e,n,r={}){let{lowerTail:o=!0,logP:s=!1}=r;return S(t,i=>DN(i,e,n,o,s))}function CN(t){let e=Math.round(t);return Math.abs(t%1)===.5&&e%2!==0?e-1:e}function ON(t,e,n={}){let r=n.log??!1,o=e.length;if(t.length!==o)throw new RangeError("x and prob must have the same length");if(e.some(u=>!Number.isFinite(u)||u<0))throw new RangeError("probabilities must be finite and non-negative");if(!e.some(u=>u>0))throw new RangeError("probabilities must not all be 0");if(t.some(u=>!(u>=0)||!Number.isFinite(u)||u!==Math.round(u)))throw new RangeError("x must be non-negative integers");let s=t.reduce((u,l)=>u+l,0);if(n.size!==void 0&&n.size!==s)throw new RangeError("size must equal the sum of x");for(let u=0;u<o;u++)if(e[u]===0&&t[u]>0)return r?-1/0:0;let i=new Array(o+1).fill([0,0]),a=new Array(o+1).fill(0);for(let u=o-1;u>=0;u--)i[u]=k(i[u+1],[e[u],0]),a[u]=a[u+1]+t[u];let c=0,f=1;for(let u=0;u<o;u++){if(e[u]===0)continue;let l=i[u+1];if(l[0]===0)break;let m=B([e[u],0],i[u]),h=B(l,i[u]),N=t[u],p=a[u+1];r?c+=Rt(N,p,m,h,!0):f*=Rt(N,p,m,h,!1)}return r?c:f}var Je=.9189385332046728,VN=.7978845608028654,r2=[.6931471805599453,23190468138462996e-33];function BN(t){let e=Math.round(t[0]/r2[0]),n=k(t,z(r2,-e)),r=[n[0]/256,n[1]/256],o=[1,0],s=[1,0];for(let a=1;a<=12&&(o=L(o,r),o=[o[0]/a,o[1]/a],s=k(s,o),!(Math.abs(o[0])<1e-34));a++);for(let a=0;a<8;a++)s=L(s,s);let i=2**e;return[s[0]*i,s[1]*i]}function QN(t,e){if(Math.abs(t[0])<1e-6){let n=L(t,t),r=z(L(n,t),1/6);return k(k([n[0]/2,n[1]/2],r),[n[0]*n[0]/24,0])}return k(k(e,[-1,0]),[-t[0],-t[1]])}function s2(t){if(Math.abs(t)<.1){let e=t*t/2,n=e;for(let r=3;r<30&&(e*=t/r,n+=e,!(Math.abs(e)<=1e-17*n));r++);return n}return Math.expm1(t)-t}function ya(t){return t<0?VN/Ce(-t*Math.SQRT1_2):Math.exp(-.5*t*t-Je)/Q(t)}function P1(t,e){let{a:n,t:r,delta:o}=t,s=Math.exp(e),i=Math.exp(e/2),a=r*i,c=a-o,f=s2(e);if(t.kind==="cdfQ"||t.kind==="cdfP"){let h=n*s,N=t.kind==="cdfQ",p=Xt(n,h,!N,!0),d=n*Math.exp(lt(n,h,!0)-p),M=N?-1:1,b=Math.log(r/2)+e/2-.5*c*c-Je+p,g=.5-c*a/2+M*d,w=-(a*a)/4-c*a/4+M*d*(n-h)-d*d;return[b,g,w]}let u=t.logC-n*f,l=-n*Math.expm1(e),m=-n*s;if(t.kind==="cdf"){let h=ya(c);u+=Q(c,{logP:!0}),l+=a/2*h,m+=a/4*h-a/2*(a/2)*h*(c+h)}else u+=e/2-.5*c*c-Je,l+=.5-c*a/2,m+=-(a*a)/4-c*a/4;return[u,l,m]}function i2(t){let e=0,[n,r,o]=P1(t,e);for(let i=0;i<200;i++){let a=o<0?-r/o:Math.sign(r);Number.isFinite(a)||(a=Math.sign(r)||0),a=Math.max(-4,Math.min(4,a));let c=e+a,f=P1(t,c);for(let l=0;l<60&&!(f[0]>=n);l++)a/=2,c=e+a,f=P1(t,c);if(!(f[0]>=n))break;let u=Math.abs(a)<1e-10*Math.max(1,Math.abs(e));if(e=c,[n,r,o]=f,u)break}let s=o<0?Math.min(1/Math.sqrt(-o),10):1;return{w:e,sigma:s,L:n}}function UN(t){let e=t[0],n=t[1]*ya(e);if(e>-5)return T(Q(e,{logP:!0}),n);let r=L(t,t);return k([-r[0]/2,-r[1]/2],[Math.log(.5*Ce(-e*Math.SQRT1_2)),0])}function GN(t,e,n,r=1/0){let{a:o,t:s,delta:i}=t;if(!n&&(t.kind==="cdf"||t.kind==="pdf")){let h=e[0]+e[1],N=Math.exp(h/2),p=o*s2(h),d=s*N,M=d-i,b=Math.exp(t.logC-p);if(t.kind==="cdf"){let g=b*Q(M);if((p+ya(M)*Math.abs(d))*g<=4*r)return[g,0]}else{let g=b*Math.exp(-.5*M*M-Je)*N;if((p+Math.abs(M*d)+M*M)*g<=4*r)return[g,0]}}let a=BN([e[0]/2,e[1]/2]),c=L(a,a);if(t.kind==="cdfQ"||t.kind==="cdfP"){let h=k(z(a,s),[-i,0]),N=L(h,h),p=o*c[0]+o*c[1],d=t.kind==="cdfP";if(n){let b=Math.log(s/2)+Math.log(a[0])+a[1]/a[0]-Je+Xt(o,p,d,!0);return k([-N[0]/2,-N[1]/2],[b,0])}let M=Xt(o,p,d,!1);return[s/2*(a[0]+a[1])*Math.exp(-.5*N[0]-Je)*(1-N[1]/2)*M,0]}let f=z(QN(e,c),o);if(!(f[0]<1/0))return[n?-1/0:0,0];let u=k(z(a,s),[-i,0]),l=u[0];if(t.kind==="cdf"){if(n)return k([t.logC-f[0],-f[1]],UN(u));let h=u[1]*ya(l);return[Math.exp(t.logC-f[0])*(1-f[1])*Q(l)*(1+h),0]}let m=L(u,u);return n?k(k([t.logC-f[0],-f[1]],[-m[0]/2,-m[1]/2]),[e[0]/2-Je,e[1]/2]):[Math.exp(t.logC-f[0]-.5*m[0]-Je)*(1-f[1]-m[1]/2)*(a[0]+a[1]),0]}function o2(t,e,n,r,o,s,i,a){let c=0,f=l=>{let m=Math.exp(-l),h=n/2*(l-Math.expm1(-l)),N=GN(t,T(e,h),o,a),p=n/2*(1+m);return o?Math.exp(N[0]-s)*(1+N[1])*p:N[0]*p},u=i?1:0;i||(c+=f(0));for(let l of[1,-1]){let m=0;for(let h=i?u:1;h<1e5;h+=i?2:1){let N=l*h*r,p=f(N);c+=p;let d=Math.abs(c);if(p>1e-19*d)m=0;else if(m++,m>=3)break;if(Math.abs(N)>40)break}}return c}function Ao(t,e){if(t.kind==="cdf"){let n=i2(t),r=Math.exp(n.w/2),o=Math.min(1/Math.sqrt(t.a*Math.exp(n.w)),10);if(Math.abs(t.t)*r*o/2>2){if(t.t>0){let s=wa({...t,kind:"cdfQ"},e);return{lin:Q(-t.delta)+s.lin,log:e?$N(Q(-t.delta,{logP:!0}),s.log):NaN}}return wa({...t,t:-t.t,delta:-t.delta,kind:"cdfP"},e)}return wa(t,e,n)}return wa(t,e)}function $N(t,e){return t===-1/0?e:e===-1/0?t:t>e?t+Math.log1p(Math.exp(e-t)):e+Math.log1p(Math.exp(t-e))}function wa(t,e,n){let{w:r,sigma:o,L:s}=n??i2(t);if(!e&&s<-800)return{lin:0,log:NaN};let i=s<-650||s>650,a=i?s:0,c=i?0:Math.exp(s),f=i?Math.max(1e-15,2e-16*Math.abs(s)):1e-15,u=.5,l=o2(t,r,o,u,i,a,!1,c)*u;for(let h=0;h<6;h++){let N=o2(t,r,o,u/2,i,a,!0,c)*(u/2),p=l/2+N;u/=2;let d=Math.abs(p-l)<=f*Math.abs(p);if(l=p,d)break}return i?{lin:a>-700?Math.exp(a)*l:Math.exp(a+700)*l*Math.exp(-700),log:a+Math.log(l)}:{lin:l,log:Math.log(l)}}function tn(t,e,n,r){return{a:t,t:e,delta:n,kind:r,logC:.5*Math.log(t)-Je-ut(t)}}function zs(t,e){return 1e10*(Math.abs(e)+10)*Math.sqrt(t+1)}function a2(t,e,n){let r=zs(e,n),o=Math.sign(t),s=Math.min(Math.abs(t),r),i=o>0?tn(e,-s,-n,"cdf"):tn(e,-s,n,"cdf"),a=Ao(i,!0).log;return Math.abs(t)>r?a+2*e*(Math.log(r)-Math.log(Math.abs(t))):a}function c2(t,e,n,r){let o=e/2;if(Math.abs(t)>zs(o,n)){let a=a2(t,o,n);return(t>0?!r:r)?{lin:Math.exp(a),log:a}:{lin:-Math.expm1(a),log:Math.log1p(-Math.exp(a))}}let s=Ao(r?tn(o,t,n,"cdf"):tn(o,-t,-n,"cdf"),!0);if(s.lin<=.5)return s;let i;return{lin:s.lin,get log(){return i??=Math.log1p(-Ao(r?tn(o,-t,-n,"cdf"):tn(o,t,n,"cdf"),!1).lin),i}}}function zN(t,e,n,r,o){if(!o){let i=e/2;if(Math.abs(t)<=zs(i,n))return Ao(r?tn(i,t,n,"cdf"):tn(i,-t,-n,"cdf"),!1).lin}let s=c2(t,e,n,r);return o?s.log:s.lin}function f2(t,e,n,r){let o=e/2,s=zs(o,n);if(Math.abs(t)>s){let a=Math.sign(t)*s,c=Ao(tn(o,a,n,"pdf"),!0).log+(2*o+1)*(Math.log(s)-Math.log(Math.abs(t)));return r?c:Math.exp(c)}let i=Ao(tn(o,t,n,"pdf"),r);return r?i.log:i.lin}function u2(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(e<=0)return NaN;if(!Number.isFinite(t)||!Number.isFinite(n))return r?-1/0:0;if(e===1/0){let o=t-n,s=-.5*o*o-Je;return r?s:Math.exp(s)}return f2(t,e,n,r)}function l2(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(e<=0)return NaN;let s=r?o?-1/0:0:o?0:1,i=r?o?0:1:o?-1/0:0;return t===1/0?i:t===-1/0||n===1/0?s:n===-1/0?i:e===1/0?Q(t-n,{lowerTail:r,logP:o}):t===0?Q(-n,{lowerTail:r,logP:o}):zN(t,e,n,r,o)}function m2(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(e<=0)return NaN;let s=G(t,-1/0,1/0,r,o);if(s!==void 0)return s;if(e===1/0)return n+V(t,{lowerTail:r,logP:o});if(!Number.isFinite(n))return NaN;let{lower:i,logTarget:a,linearTarget:c}=Gt(t,r,o),f=V(a,{lowerTail:i,logP:!0}),u=n+f*Math.sqrt(1+n*n/(2*e)),l=Q(-n,{lowerTail:i,logP:!0}),m=i?a>l:a<l;if(a===l)return 0;let h=m?1:-1,N=h>0?i:!i,p=NaN,d=!0,M={lin:NaN,log:NaN},b=(x,I,F)=>((x!==p||I!==d)&&(M=c2(h*x,e,n,h>0?I:!I),p=x,d=I),F?M.log:M.lin),g=zs(e/2,n),w=1/0;if(!N){let x=a2(h*g,e/2,n);if(a<x){let I=Math.log(g)+(x-a)/e;return I>709.78?h*(1/0):h*Math.exp(I)}w=g}let v=fe({logTarget:a,...c!==void 0&&{linearTarget:c},lower:N,cdf:(x,I)=>b(x,I,!1),cdfLog:(x,I)=>b(x,I,!0),pdfLog:x=>f2(h*x,e,n,!0),x0:Math.min(Math.abs(u)>0&&Number.isFinite(u)&&Math.sign(u)===h?Math.abs(u):1,w/2),lo:0,hi:w,positive:!0});return h*v}var h2=.9189385332046728,WN=[-.9189385332046728,38782941580672414e-33];function N2(t,e,n){let r=e/2,o=ut(r+.5)-ut(r)-Eu(r,r+.5),s=pt(t,t),i=s[0]/e;if(!(i<1e30)){let f=k(z(C([Math.abs(t),0]),2),de(C([e,0])));Number.isFinite(i)&&(f=k(f,[Math.log1p(1/i),0]));let u=k(k(de(L(f,T(r,.5))),[o,0]),WN);return n?u[0]+u[1]:Math.exp(u[0])*(1+u[1])}let a;if(s[0]>.2*e){let f=C(k([1,0],xe(s,e)));a=k([o,0],z(f,-r))}else{let f=z(k([e,0],s),.5);a=k(k(ne(r,f),z(s,-.5)),[o,0])}return n?a[0]+a[1]-h2-.5*Math.log1p(i):Math.exp(a[0])*(1+a[1])/Math.sqrt(2*Math.PI*(1+i))}function XN(t,e,n){if(Number.isNaN(t)||Number.isNaN(e))return NaN;if(e<=0)return NaN;if(!Number.isFinite(t))return D(n);if(!Number.isFinite(e)){let r=-.5*t*t-h2;return n?r:Math.exp(r)}return N2(t,e,n)}function va(t,e,n){let r=t*t;if(!(e/(e+r)>1e-250)){let c=$(C([e,0]),z(C([t,0]),2)),f=k(z(c,e/2),[-Math.log(e/2)-Wt(e/2,.5)-Math.LN2,0]);return n?f[0]+f[1]:Math.exp(f[0])*(1+f[1])}let s=pt(t,t),i=k(s,[e,0]),a=Mn(e/2,.5,B([e,0],i),B(s,i),!0,n);return n?a-Math.LN2:a/2}function HN(t,e){let n=t*t;if(!(e/(e+n)>1e-250)){let a=$(C([e,0]),z(C([t,0]),2)),c=k(z(a,e/2),[-Math.log(e/2)-Wt(e/2,.5)-Math.LN2,0]);return[c[0]+c[1],Math.exp(c[0])*(1+c[1])]}let o=pt(t,t),s=k(o,[e,0]),i=Ma(e/2,.5,B([e,0],s),B(o,s),!0);return[i[0]-Math.LN2,i[1]/2]}function se(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e))return NaN;if(e<=0)return NaN;if(!Number.isFinite(t))return t<0?O(n,r):U(n,r);if(!Number.isFinite(e))return Q(t,{lowerTail:n,logP:r});if(t===0)return r?-Math.LN2:.5;let o=t<0===n,s=Math.abs(t);if(o)return va(s,e,r);let i=va(s,e,!1);return r?Math.log1p(-i):1-i}function Dn(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e))return NaN;let o=G(t,-1/0,1/0,n,r);if(o!==void 0)return o;if(e<=0)return NaN;if(!Number.isFinite(e))return V(t,{lowerTail:n,logP:r});let{lower:s,logTarget:i,linearTarget:a}=Gt(t,n,r);if(i===-Math.LN2&&a===.5)return 0;let c=e,f,u=(.5*c*Math.log(c)-Math.log(c)-Wt(c/2,.5)-i)/c;if(u>709.78)return s?-1/0:1/0;if(i<-30)f=Math.exp(u);else{let m=Math.abs(V(i,{logP:!0}));if(f=m,c>=3){let h=m*m,N=m*(h+1)/4,p=m*((5*h+16)*h+3)/96,d=m*(((3*h+19)*h+17)*h-15)/384,M=m*((((79*h+776)*h+1482)*h-1920)*h-945)/92160;f=m+(N+(p+(d+M/c)/c)/c)/c}}(!(f>0)||!Number.isFinite(f))&&(f=1);let l=fe({logTarget:i,...a!==void 0&&{linearTarget:a},lower:!1,cdf:m=>va(m,c,!1),cdfLog:m=>va(m,c,!0),cdfBoth:m=>HN(m,c),pdfLog:m=>N2(m,c,!0),dlogPdf:m=>-(c+1)*m/(c+m*m),x0:f,lo:0,hi:1/0,positive:!0});return s?-l:l}function KN(t,e,n={}){let{log:r=!1,ncp:o}=n;return o!==void 0&&o!==0?S(t,s=>u2(s,e,o,r)):S(t,s=>XN(s,e,r))}function YN(t,e,n={}){let{lowerTail:r=!0,logP:o=!1,ncp:s}=n;return s!==void 0&&s!==0?S(t,i=>l2(i,e,s,r,o)):S(t,i=>se(i,e,r,o))}function ZN(t,e,n={}){let{lowerTail:r=!0,logP:o=!1,ncp:s}=n;return s!==void 0&&s!==0?S(t,i=>m2(i,e,s,r,o)):S(t,i=>Dn(i,e,r,o))}function C1(t,e){return Number.isFinite(e-t)?1:.5}function JN(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(!(n>e))return NaN;if(t<e||t>n)return D(r);let o=C1(e,n),s=n*o-e*o;return r?-Math.log(s)+Math.log(o):o/s}function t6(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(n<e||!Number.isFinite(e)||!Number.isFinite(n))return NaN;if(t>=n)return U(r,o);if(t<=e)return O(r,o);let s=C1(e,n),i=n*s-e*s,a=r?(t*s-e*s)/i:(n*s-t*s)/i;return o?Math.log(a):a}function e6(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(n<e||!Number.isFinite(e)||!Number.isFinite(n))return NaN;let s=G(t,e,n,r,o);if(Number.isNaN(s))return NaN;if(n===e)return e;if(s!==void 0)return s;let i;return o?i=r?Math.exp(t):-Math.expm1(t):i=r?t:.5-t+.5,C1(e,n)!==1?(1-i)*e+i*n:e+i*(n-e)}function n6(t,e={}){let{min:n=0,max:r=1,log:o=!1}=e;return S(t,s=>JN(s,n,r,o))}function r6(t,e={}){let{min:n=0,max:r=1,lowerTail:o=!0,logP:s=!1}=e;return S(t,i=>t6(i,n,r,o,s))}function o6(t,e={}){let{min:n=0,max:r=1,lowerTail:o=!0,logP:s=!1}=e;return S(t,i=>e6(i,n,r,o,s))}var p2=[.6931471805599453,23190468138462996e-33];function O1(t){let e=t[0];if(!$i())return[Math.exp(e),0];if(Number.isNaN(e))return[NaN,0];if(e>709.8)return[1/0,0];if(e<-708)return[Math.exp(e)*(1+t[1]),0];let n=Math.round(e/p2[0]),r=$(t,z(p2,n)),o=1024;r=[r[0]/o,r[1]/o];let s=r,i=r;for(let l=2;l<20&&(s=L(s,r),s=[s[0]/l,s[1]/l],i=k(i,s),!(Math.abs(s[0])<1e-36));l++);for(let l=0;l<10;l++)i=L(i,k(i,[2,0]));let a=k(i,[1,0]),c=Math.trunc(n/2),f=2**c,u=2**(n-c);return[a[0]*f*u,a[1]*f*u]}function be(t,e,n){let r=t-e;if(!Number.isFinite(r))return[r/n,0];let o=e===0?[t,0]:T(t,-e);if(n===1)return o;let s=o[0]/n;if(!Number.isFinite(s)||s===0)return[s,0];let i=$(o,ur(n,s)),a=(i[0]+i[1])/n;return T(s,a)}function ur(t,e){let n=t*e;return!Number.isFinite(n)||Math.abs(t)>1e300||Math.abs(e)>1e300?[n,0]:pt(t,e)}function ue(t){return t[0]>708?Math.exp(700-t[0])*(1-t[1])*Math.exp(-700):Math.exp(-t[0])*(1-t[1])}function we(t){return t>-Math.LN2?Math.log(-Math.expm1(t)):Math.log1p(-Math.exp(t))}function Ia(t){return t[0]>Math.LN2?Math.log1p(-ue(t)):Math.log(-Math.expm1(-(t[0]+t[1])))}function Eo(t,e,n){let r=ur(e,n);if(!Number.isFinite(r[0])||!Number.isFinite(t))return t+r[0];let o=k(r,[t,0]);return o[0]+o[1]}function s6(t,e,n){if(Number.isNaN(t)||Number.isNaN(e))return NaN;if(e<0||e===1/0)return NaN;if(t<0)return D(n);let r=ur(e,t);return Number.isNaN(r[0])?NaN:n?Math.log(e)-r[0]-r[1]:e*ue(r)}function i6(t,e,n){if(!e)return n?-t[0]-t[1]:ue(t);let r=t[0]+t[1];return n?Ia(t):-Math.expm1(-r)}function a6(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e))return NaN;if(e<0)return NaN;if(t<=0)return O(n,r);let o=ur(e,t);return Number.isNaN(o[0])?NaN:o[0]===1/0?U(n,r):i6(o,n,r)}function c6(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e))return NaN;if(e<0)return NaN;let o=G(t,0,1/0,n,r);if(Number.isNaN(o)||o===0)return o;let s;return r?s=n?we(t):t:s=n?Math.log1p(-t):Math.log(t),-s/e}function f6(t,e={}){let{rate:n=1,log:r=!1}=e;return S(t,o=>s6(o,n,r))}function u6(t,e={}){let{rate:n=1,lowerTail:r=!0,logP:o=!1}=e;return S(t,s=>a6(s,n,r,o))}function l6(t,e={}){let{rate:n=1,lowerTail:r=!0,logP:o=!1}=e;return S(t,s=>c6(s,n,r,o))}var m6=.9189385332046728,h6=.3989422804014327;function M2(t,e,n){let r=$(C([t,0]),[e,0]);if(n===1)return r;let o=r[0]/n;return Number.isFinite(o)&&Math.abs(o)<1e300?B(r,[n,0]):[o,0]}function xa(t){if(Math.abs(t[0])>1e150)return[t[0]*t[0]/2,0];let e=L(t,t);return[e[0]/2,e[1]/2]}function N6(t,e){if(t[0]>-Math.SQRT2){if(t[0]<Math.SQRT2)return Q(t[0]+t[1],{logP:e});let n=d2(t[0],[t[0],t[1]],!1);return e?Math.log1p(-n):1-n}return d2(-t[0],[-t[0],-t[1]],e)}function d2(t,e,n){let r=.5*Ce(t*Math.SQRT1_2),o=xa(e);return n?Math.log(r)-o[0]-o[1]:r*ue(o)}var V1=2.5066282746310007;function p6(t,e,n,r){let o=n?t:-t,s,i=(a,c,f)=>-c[0]-f[0]+(-c[1]-f[1])+Math.log(a);if(o<=-Math.SQRT2){let a=.5*Ce(-o*Math.SQRT1_2),c=r?[e,0]:C([e,0]);s=-i(a,xa([-o,0]),c)*V1*a}else if(o>=Math.SQRT2){let a=.5*Ce(o*Math.SQRT1_2),c=r?-Math.expm1(e):1-e;s=i(a,xa([o,0]),C([c,0]))*V1*a}else{let a=Q(o),c=Math.exp(-o*o/2)/V1;s=((r?Math.exp(e):e)-a)/c}return Number.isFinite(s)?T(t,n?s:-s):[t,0]}function d6(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(n<0)return NaN;if(t<=0)return D(r);if(n===0)return Math.log(t)===e?1/0:D(r);if(!Number.isFinite(t)||!Number.isFinite(e)||!Number.isFinite(n)){let i=(Math.log(t)-e)/n;return Number.isNaN(i)?NaN:D(r)}let o=M2(t,e,n),s=xa(o);return r?-(m6+s[0]+s[1]+Math.log(n)+Math.log(t)):h6*ue(s)/n/t}function M6(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(n<0)return NaN;if(t<=0)return O(r,o);if(n===0||!Number.isFinite(t)||!Number.isFinite(e)||!Number.isFinite(n))return Q(Math.log(t),{mean:e,sd:n,lowerTail:r,logP:o});let s=M2(t,e,n);return N6(r?s:[-s[0],-s[1]],o)}function g6(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;let s=V(t,{lowerTail:r,logP:o});if(!Number.isFinite(s)||!(n>0)||!Number.isFinite(n)||!Number.isFinite(e))return Math.exp(V(t,{mean:e,sd:n,lowerTail:r,logP:o}));let i=p6(s,t,r,o),a=k(k(ur(n,i[0]),[n*i[1],0]),[e,0]);return Math.exp(a[0])*(1+a[1])}function b6(t,e={}){let{meanlog:n=0,sdlog:r=1,log:o=!1}=e;return S(t,s=>d6(s,n,r,o))}function w6(t,e={}){let{meanlog:n=0,sdlog:r=1,lowerTail:o=!0,logP:s=!1}=e;return S(t,i=>M6(i,n,r,o,s))}function y6(t,e={}){let{meanlog:n=0,sdlog:r=1,lowerTail:o=!0,logP:s=!1}=e;return S(t,i=>g6(i,n,r,o,s))}function v6(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(!(n>0))return NaN;let o=be(t,e,n);if(Number.isNaN(o[0]))return NaN;let s=o[0]<0?[-o[0],-o[1]]:[o[0],o[1]],i=ue(s);return r?-s[0]-s[1]-Math.log(n)-2*Math.log1p(i):i/(n*(1+i)*(1+i))}function I6(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(!(n>0))return NaN;let s=be(t,e,n);if(Number.isNaN(s[0]))return NaN;let i=s[0]<0?[-s[0],-s[1]]:[s[0],s[1]],a=ue(i);return r===s[0]>=0?o?-Math.log1p(a):1/(1+a):o?-i[0]-i[1]-Math.log1p(a):a/(1+a)}function x6(t,e){return e?t-we(t):t<.25?Math.log(t/(1-t)):Math.log1p((2*t-1)/(1-t))}function A6(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;let s=G(t,-1/0,1/0,r,o);if(s!==void 0)return s;if(n<0)return NaN;if(n===0)return e;let i=x6(t,o);return Eo(e,n,r?i:-i)}function E6(t,e={}){let{location:n=0,scale:r=1,log:o=!1}=e;return S(t,s=>v6(s,n,r,o))}function R6(t,e={}){let{location:n=0,scale:r=1,lowerTail:o=!0,logP:s=!1}=e;return S(t,i=>I6(i,n,r,o,s))}function F6(t,e={}){let{location:n=0,scale:r=1,lowerTail:o=!0,logP:s=!1}=e;return S(t,i=>A6(i,n,r,o,s))}var B1=1.1447298858494002;function k6(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(!(n>0))return NaN;let o=(t-e)/n;if(Number.isNaN(o))return NaN;let s=Math.abs(o);if(s<=1)return r?-(B1+Math.log(n))-Math.log1p(o*o):1/(Math.PI*n*(1+o*o));let i=1/s;return r?-(B1+Math.log(n))-2*Math.log(s)-Math.log1p(i*i):i/(Math.PI*n)*(i/(1+i*i))}function q6(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(!(n>0))return NaN;let s=t-e;if(Number.isNaN(s))return NaN;if(!(Math.abs(s)>n)){let f=s/n,u=.5+Math.atan(r?f:-f)/Math.PI;return o?Math.log(u):u}let i=n/Math.abs(s),a=Math.atan(i)/Math.PI;return r===s<0?o?i<1e-150?Math.log(n)-Math.log(Math.abs(s))-B1:Math.log(a):a:o?Math.log1p(-a):1-a}var S6=1e-200,L6=-460;function g2(t,e,n){if(!n)return t/e/Math.PI;let r=Math.exp(-e/2);return r*(t/Math.PI)*r}function Aa(t){return t<=.25?-1/Math.tan(Math.PI*t):-Math.tan(Math.PI*(.5-t))}function T6(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(o?t>0:t<0||t>1)return NaN;if(!(n>0)||!Number.isFinite(n))return n===0?e:NaN;let s;if(o)if(t===0)s=1/0;else if(t===-1/0)s=-1/0;else{if(t<L6)return e+(r?-1:1)*g2(n,t,!0);s=t<-Math.LN2?Aa(Math.exp(t)):-Aa(-Math.expm1(t))}else if(t===0)s=-1/0;else if(t===1)s=1/0;else{if(t<S6)return e+(r?-1:1)*g2(n,t,!1);s=t<=.5?Aa(t):-Aa(1-t)}return Eo(e,n,r?s:-s)}function _6(t,e={}){let{location:n=0,scale:r=1,log:o=!1}=e;return S(t,s=>k6(s,n,r,o))}function D6(t,e={}){let{location:n=0,scale:r=1,lowerTail:o=!0,logP:s=!1}=e;return S(t,i=>q6(i,n,r,o,s))}function j6(t,e={}){let{location:n=0,scale:r=1,lowerTail:o=!0,logP:s=!1}=e;return S(t,i=>T6(i,n,r,o,s))}function Q1(t,e){return t===1?1:Math.pow(t,e)}function b2(t,e){return C(e===1?[t,0]:be(t,0,e))}function w2(...t){return t.every(Number.isFinite)}function U1(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(!(e>0)||!(n>0))return NaN;if(t<0||t===1/0)return D(r);if(t===0&&e<1)return 1/0;if(!w2(e,n)){let a=Q1(t/n,e-1),c=a*(t/n);return r?-c+Math.log(e*a/n):e*a*Math.exp(-c)/n}if(t===0)return e>1?D(r):r?-Math.log(n):1/n;let o=b2(t,n),s=O1(z(o,e));if(s[0]===1/0)return D(r);let i=$(e===1?[0,0]:z(o,e-1),s);return r?Math.log(e/n)+i[0]+i[1]:e/n*Math.exp(i[0])*(1+i[1])}function P6(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(!(e>0)||!(n>0))return NaN;if(t<=0)return O(r,o);let s;if(w2(t,e,n))s=O1(z(b2(t,n),e));else if(s=[Q1(t/n,e),0],Number.isNaN(s[0]))return NaN;if(!r)return o?-s[0]-s[1]:ue(s);let i=s[0]+s[1];return o?Ia(s):-Math.expm1(-i)}function C6(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(!(e>0)||!(n>0))return NaN;let s=G(t,0,1/0,r,o);if(s!==void 0)return s;let i;return o?i=r?we(t):t:i=r?Math.log1p(-t):Math.log(t),n*Q1(-i,1/e)}function O6(t,e,n={}){let{scale:r=1,log:o=!1}=n;return S(t,s=>U1(s,e,r,o))}function V6(t,e,n={}){let{scale:r=1,lowerTail:o=!0,logP:s=!1}=n;return S(t,i=>P6(i,e,r,o,s))}function G1(t,e,n={}){let{scale:r=1,lowerTail:o=!0,logP:s=!1}=n;return S(t,i=>C6(i,e,r,o,s))}function Ea(t){return t<=.5?{pd:[t,0],qd:T(1,-t)}:{pd:T(1,-(1-t)),qd:[1-t,0]}}function z1(t){return!(t>0)||t>1}function B6(t,e,n){if(Number.isNaN(t)||Number.isNaN(e))return NaN;if(z1(e))return NaN;if(Ot(t)||t<0||!Number.isFinite(t))return D(n);let r=Math.round(t),{pd:o,qd:s}=Ea(e),i=Rt(0,r,o,s,n);return n?Math.log(e)+i:e*i}function $1(t,e,n){let{pd:r,qd:o}=Ea(e);return Rt(0,t+1,r,o,n)}function Q6(t,e,n,r){if(!n)return $1(t,e,r);let o=$1(t,e,!0);return r?o<-Math.LN2?Math.log1p(-$1(t,e,!1)):Math.log(-Math.expm1(o)):-Math.expm1(o)}function U6(t,e,n,r){return Number.isNaN(t)||Number.isNaN(e)?NaN:z1(e)?NaN:t<0?O(n,r):!Number.isFinite(t)||e===1?U(n,r):Q6(Math.floor(t+1e-7),e,n,r)}function G6(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e))return NaN;if(z1(e))return NaN;let o=G(t,0,1/0,n,r);if(Number.isNaN(o))return NaN;if(e===1)return 0;if(o!==void 0)return o;let s;return r?s=n?we(t):t:s=n?Math.log1p(-t):Math.log(t),Math.max(0,Math.ceil(s/Math.log1p(-e)-1-1e-12))}function $6(t,e,n={}){let r=n.log??!1;return S(t,o=>B6(o,e,r))}function z6(t,e,n={}){let{lowerTail:r=!0,logP:o=!1}=n;return S(t,s=>U6(s,e,r,o))}function W1(t,e,n={}){let{lowerTail:r=!0,logP:o=!1}=n;return S(t,s=>G6(s,e,r,o))}function X1(t,e){let n=T(t,e);return{size:t,pd:B([t,0],n),qd:B([e,0],n)}}function H1(t,e){return{size:t,...Ea(e)}}function K1(t,e,n){let{size:r,pd:o,qd:s}=e,i=Rt(r,t,o,s,n);if(t===0)return i;let a=r/(r+t);return n?i+Math.log(a):i*a}function Ws(t,e,n,r){let o=W6(t,e);return o!==void 0?n?r?Math.log1p(-o):1-o:r?Math.log(o):o:Mn(e.size,t+1,e.pd,e.qd,n,r)}function W6(t,e){let{size:n,pd:r,qd:o}=e,s=o[0]+o[1],i=r[0]+r[1];if(!(n<=1)||!(s>=.95)||i<1e-4)return;let a=t+1,c=n,f=Rt(a,c,o,r,!1)*c/(a+c);if(!(f>1e-290))return;let u=T(a,c),l=[1,0],m=[1,0];for(let h=0;h<1e6;h++){let N=B(k(u,[h,0]),[a+1+h,0]);if(l=L(L(l,N),o),m=k(m,l),l[0]<1e-18*m[0]){let p=f*(m[0]+m[1]);return p<=.5?p:void 0}}}function y2(t,e,n,r){let o=e.pd[0]+e.pd[1],s=1/o,i=(e.qd[0]+e.qd[1])*s,a=e.size*i,c=Math.sqrt(e.size*i*s),f=(s+i)/c,u;if(o<.05)u=oe(t,e.size,1,n,r)/Math.log1p(o/(e.qd[0]+e.qd[1]));else{let m=V(t,{lowerTail:n,logP:r});u=a+c*(m+f*(m*m-1)/6)}let l=Number.isFinite(u)?Math.max(u,0):Number.isFinite(a)?a:0;return l>1e4&&(l=X6(l,t,e,n,r)),ke({p:t,lowerTail:n,logP:r,cdf:(m,h,N)=>Ws(m,e,h,N),y0:l,lo:0,hi:1/0})}function X6(t,e,n,r,o){let s=Number.EPSILON,i=e;o?i=r?e*(1+2*s):e*(1-2*s):r?i=e*(1-8*s):1-e>32*s&&(i=e*(1+8*s));let a=o?i:Math.log(i),c=a<=-Math.LN2?r:!r,f=a<=-Math.LN2?a:o?Math.log(-Math.expm1(i)):Math.log1p(-i),u=t,l=Ws(u,n,c,!0)-f,m=NaN,h=NaN;for(let N=0;N<8&&l!==0;N++){let p;if(Number.isNaN(m)||l===h){let d=(c?1:-1)*Math.exp(K1(u,n,!0)-(l+f));p=u-l/d}else p=u-l*(u-m)/(l-h);if(!Number.isFinite(p)||p<=0)break;if(Math.abs(p-u)<.5)return p;m=u,h=l,u=p,l=Ws(u,n,c,!0)-f}return u}function H6(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(e<0||!(n>0)||n>1)return NaN;if(Ot(t)||t<0||!Number.isFinite(t))return D(r);let o=Math.round(t);return e===0||n===1?o===0?r?0:1:D(r):e===1/0?D(r):K1(o,H1(e,n),r)}function K6(t,e,n,r,o){return Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n)?NaN:e<0||!(n>0)||n>1||e===1/0?NaN:t<0?O(r,o):e===0||n===1||!Number.isFinite(t)?U(r,o):Ws(Math.floor(t+1e-7),H1(e,n),r,o)}function Y6(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(e<0||n<0||n>1)return NaN;if(n===1||e===0)return 0;if(n===0)return NaN;let s=G(t,0,1/0,r,o);return s!==void 0?s:e===1/0?1/0:y2(t,H1(e,n),r,o)}function Z6(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(e<0||n<0)return NaN;if(Ot(t)||t<0||!Number.isFinite(t))return D(r);let o=Math.round(t);return e===0?o===0?r?0:1:n===0?NaN:D(r):n===1/0?D(r):e===1/0?lt(o,n,r):n===0?o===0?r?0:1:D(r):K1(o,X1(e,n),r)}function J6(t,e,n,r,o){return Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n)?NaN:e<0||n<0||n===1/0?NaN:t<0?O(r,o):e===0||n===0||!Number.isFinite(t)?U(r,o):e===1/0?Ke(t,n,r,o):Ws(Math.floor(t+1e-7),X1(e,n),r,o)}function t4(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;if(e===1/0)return A1(t,n,r,o);if(e===0||n===0)return 0;if(e<0||n<0)return NaN;if(n===1/0)return G(t,0,1/0,r,o)??NaN;let s=G(t,0,1/0,r,o);return s!==void 0?s:y2(t,X1(e,n),r,o)}function Y1(t){let{prob:e,mu:n}=t;if(e!==void 0&&n!==void 0)throw new TypeError("specify exactly one of prob and mu");if(e!==void 0)return{kind:"prob",v:e};if(n!==void 0)return{kind:"mu",v:n};throw new TypeError("specify exactly one of prob and mu")}function e4(t,e,n){let r=n.log??!1,o=Y1(n);return o.kind==="prob"?S(t,s=>H6(s,e,o.v,r)):S(t,s=>Z6(s,e,o.v,r))}function n4(t,e,n){let{lowerTail:r=!0,logP:o=!1}=n,s=Y1(n);return s.kind==="prob"?S(t,i=>K6(i,e,s.v,r,o)):S(t,i=>J6(i,e,s.v,r,o))}function Z1(t,e,n){let{lowerTail:r=!0,logP:o=!1}=n,s=Y1(n);return s.kind==="prob"?S(t,i=>Y6(i,e,s.v,r,o)):S(t,i=>t4(i,e,s.v,r,o))}function J1(t,e,n,r){if(t===0&&e===0)return{e:[0,0],logDenom:0};if(t===0||e===0){let o=t+e,[s,i]=t===0?[r,n]:[n,r];return{e:i[0]<.1?k(ne(o,L([o,0],s)),L([o,0],i)):de(L([o,0],C(s))),logDenom:0}}return qn(t,e,n,r)}function x2(t,e,n,r){let o=e+n,s=B([r,0],[o,0]),i=B([o-r,0],[o,0]),a=J1(t,e-t,s,i),c=J1(r-t,n-r+t,s,i),f=J1(r,o-r,s,i);return{e:$(k(a.e,c.e),f.e),logDenom:a.logDenom+c.logDenom-f.logDenom}}function A2(t,e){let[n,r]=t.e,o=e*Math.exp(-.5*t.logDenom);return n<700?Math.exp(-n)*(1-r)*o:Math.exp(700-n)*(1-r)*o*Math.exp(-700)}function E2(t){return-t.e[0]-t.e[1]-.5*t.logDenom}function Ra(t,e,n){return[Math.max(0,n-e),Math.min(n,t)]}function lr(t,e,n,r,o){if([t,e,n,r].some(Number.isNaN))return NaN;if(![e,n,r].every(Number.isFinite)||Ot(e)||Ot(n)||Ot(r))return NaN;if(e=mt(e),n=mt(n),r=mt(r),e<0||n<0||r<0||r>e+n)return NaN;if(Ot(t))return D(o);t=mt(t);let[s,i]=Ra(e,n,r);if(t<s||t>i)return D(o);if(r===0||r===e+n)return o?0:1;let a=x2(t,e,n,r);return o?E2(a):A2(a,1)}function v2(t,e,n,r){return B(pt(t,e),pt(n,r))}function r4(t,e,n,r,o,s,i){let a=[1,0],c=[1,0],f=t;for(;!(o?f<=s:f>=i);){let u=o?v2(f,n-r+f,e-f+1,r-f+1):v2(e-f,r-f,f+1,n-r+f+1);a=L(a,u),c=k(c,a),f+=o?-1:1;let l=u[0];if(l<1&&a[0]*l/(1-l)<c[0]*2**-60)break}return c[0]+c[1]}function R2(t,e,n,r,o,s){let[i,a]=Ra(e,n,r),c=e+n,f=t*c<r*e,u=I2(t,e,n,r,f,i,a);if(u.value>.5){let l=I2(t,e,n,r,!f,i,a);l.value<u.value&&(u=l,f=!f)}return f===o?s?u.value>1e-300?Math.log(u.value):E2(u.form)+Math.log(u.sum):u.value:s?Math.log1p(-u.value):1-u.value}function I2(t,e,n,r,o,s,i){let a=o?t:t+1,c=x2(a,e,n,r),f=r4(a,e,n,r,o,s,i);return{form:c,sum:f,value:A2(c,f)}}function F2(t,e,n){if([t,e,n].every(Number.isFinite)&&(t=mt(t),e=mt(e),n=mt(n),!(t<0||e<0||n<0||n>t+e)))return[t,e,n]}function Fa(t,e,n,r,o,s){if([t,e,n,r].some(Number.isNaN))return NaN;let i=F2(e,n,r);if(i===void 0)return NaN;[e,n,r]=i;let a=Math.floor(t+1e-7),[c,f]=Ra(e,n,r);return a<c?O(o,s):a>=f?U(o,s):R2(a,e,n,r,o,s)}function tc(t,e,n,r,o,s){if([t,e,n,r].some(Number.isNaN))return NaN;let i=F2(e,n,r);if(i===void 0)return NaN;[e,n,r]=i;let[a,c]=Ra(e,n,r),f=G(t,a,c,o,s);if(f!==void 0)return f;if(a===c)return a;let u=e+n,l=r*e/u,m=Math.sqrt(r*e/u*(n/u)*(u-r)/Math.max(u-1,1)),h=V(t,{lowerTail:o,logP:s}),N=l+m*h;return ke({p:t,lowerTail:o,logP:s,cdf:(p,d,M)=>p<a?O(d,M):p>=c?U(d,M):R2(p,e,n,r,d,M),y0:Number.isFinite(N)?N:l,lo:a,hi:c})}function o4(t,e,n,r,o={}){let s=o.log??!1;return S(t,i=>lr(i,e,n,r,s))}function s4(t,e,n,r,o={}){let{lowerTail:s=!0,logP:i=!1}=o;return S(t,a=>Fa(a,e,n,r,s,i))}function ec(t,e,n,r,o={}){let{lowerTail:s=!0,logP:i=!1}=o;return S(t,a=>tc(a,e,n,r,s,i))}var i4=2**900,k2=-900,mr=new Map,a4=2**21,ka=0,c4=2**25;function f4(t,e){if(e+1>c4)throw new RangeError(`signrank: n = ${t} needs too large a table (${e+1} entries)`);let n=new Float64Array(e+1);n[0]=1;let r=0,o=Math.min(t,e);for(let c=1;c<=o;c++){for(let f=e;f>=c;f--)n[f]+=n[f-c];if(n[Math.min(e,Math.floor(c*(c+1)/4))]>i4){let f=2**k2;for(let u=0;u<=e;u++)n[u]*=f;r-=k2}}let s=new Float64Array(e+1),i=0,a=0;for(let c=0;c<=e;c++){let f=n[c]-a,u=i+f;a=u-i-f,i=u,s[c]=i}return{n:t,len:e+1,count:n,cum:s,scale:r}}function nc(t,e){let n=mr.get(t);if(n!==void 0&&n.len>e)return mr.delete(t),mr.set(t,n),n;let r=Math.floor(t*(t+1)/4),o=Math.min(r,Math.max(e,n===void 0?0:2*n.len)),s=f4(t,o);n!==void 0&&(mr.delete(t),ka-=n.len),mr.set(t,s),ka+=s.len;for(let[i,a]of mr){if(ka<=a4||i===t)break;mr.delete(i),ka-=a.len}return s}function rc(t,e,n){let r=e.scale-e.n,o=Math.trunc(r/2),s=t*2**o*2**(r-o);return n?s>=1e-300?Math.log(s):Math.log(t)+r*Math.LN2:s}function oc(t){return Number.isFinite(t)?(t=mt(t),t<=0?NaN:t):NaN}function u4(t,e,n){if(Number.isNaN(t)||Number.isNaN(e))return NaN;if(e=oc(e),Number.isNaN(e))return NaN;if(Ot(t))return D(n);t=mt(t);let r=e*(e+1)/2;if(t<0||t>r)return D(n);let o=Math.min(t,r-t),s=nc(e,o);return rc(s.count[o],s,n)}function q2(t,e,n,r){let o=e*(e+1)/2,s=t,i=o-t-1,a=n?s:i,c=n?i:s;if(a<=c){let l=nc(e,a);return rc(l.cum[a],l,r)}let f=nc(e,c),u=rc(f.cum[c],f,!1);return r?Math.log1p(-u):1-u}function hr(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e))return NaN;if(e=oc(e),Number.isNaN(e))return NaN;let o=mt(t+1e-7),s=e*(e+1)/2;return o<0?O(n,r):o>=s?U(n,r):q2(o,e,n,r)}function sc(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e))return NaN;if(e=oc(e),Number.isNaN(e))return NaN;let o=e*(e+1)/2,s=G(t,0,o,n,r);if(s!==void 0)return s;let i=o/2,a=Math.sqrt(e*(e+1)*(2*e+1)/24),c=i+a*V(t,{lowerTail:n,logP:r});return ke({p:t,lowerTail:n,logP:r,cdf:(f,u,l)=>f<0?O(u,l):f>=o?U(u,l):q2(f,e,u,l),y0:Number.isFinite(c)?c:i,lo:0,hi:o})}function l4(t,e,n={}){let r=n.log??!1;return S(t,o=>u4(o,e,r))}function m4(t,e,n={}){let{lowerTail:r=!0,logP:o=!1}=n;return S(t,s=>hr(s,e,r,o))}function h4(t,e,n={}){let{lowerTail:r=!0,logP:o=!1}=n;return S(t,s=>sc(s,e,r,o))}var La=960,N4=2**25,qa=134217729,Nr=new Map,p4=2**21,Sa=0;function d4(t,e,n){if(n+1>N4)throw new RangeError(`wilcox: m = ${t}, n = ${e} needs too large a table (${n+1} entries)`);let r=new Float64Array(n+1),o=new Float64Array(n+1);r[0]=2**La;for(let c=1;c<=t;c++){let f=Math.min(n,c*e),u=e+c,l=qa*c,m=l-(l-c),h=c-m;l=qa*u;let N=l-(l-u),p=u-N;for(let M=0;M<=f;M++){let b=r[M];if(b===0)continue;let g=b*c;l=qa*b;let w=l-(l-b),v=b-w,x=w*m-g+w*h+v*m+v*h+o[M]*c,I=g/u,F=I*u;l=qa*I;let R=l-(l-I),y=I-R,E=R*N-F+R*p+y*N+y*p,q=(g-F-E+x)/u,A=I+q;o[M]=q-(A-I),r[M]=A}let d=e+c;for(let M=f;M>=d;M--)S2(r,o,M,M-d,-1);for(let M=c;M<=f;M++)S2(r,o,M,M-c,1)}let s=new Float64Array(n+1),i=0,a=0;for(let c=0;c<=n;c++){let f=r[c],u=i+f,l=u-i,m=i-(u-l)+(f-l);m+=a+o[c],i=u+m,a=m-(i-u),s[c]=i}return{m:t,n:e,len:n+1,prob:r,cum:s}}function S2(t,e,n,r,o){let s=t[n],i=o*t[r],a=s+i,c=a-s,f=s-(a-c)+(i-c);f+=e[n]+o*e[r];let u=a+f;e[n]=f-(u-a),t[n]=u}function ic(t,e,n){t>e&&([t,e]=[e,t]);let r=`${t},${e}`,o=Nr.get(r);if(o!==void 0&&o.len>n)return Nr.delete(r),Nr.set(r,o),o;let s=Math.floor(t*e/2),i=Math.min(s,Math.max(n,o===void 0?0:2*o.len)),a=d4(t,e,i);o!==void 0&&(Nr.delete(r),Sa-=o.len),Nr.set(r,a),Sa+=a.len;for(let[c,f]of Nr){if(Sa<=p4||c===r)break;Nr.delete(c),Sa-=f.len}return a}function ac(t,e){let n=t*2**-(La/2)*2**-(La/2);return e?n>=1e-300?Math.log(n):Math.log(t)-La*Math.LN2:n}function cc(t,e){if(!(!Number.isFinite(t)||!Number.isFinite(e)))return t=mt(t),e=mt(e),t<=0||e<=0?void 0:[t,e]}function M4(t,e,n,r){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;let o=cc(e,n);if(o===void 0)return NaN;if([e,n]=o,Ot(t))return D(r);t=mt(t);let s=e*n;if(t<0||t>s)return D(r);let i=Math.min(t,s-t);return ac(ic(e,n,i).prob[i],r)}function L2(t,e,n,r,o){let s=e*n,i=r?t:s-t-1,a=r?s-t-1:t;if(i<=a)return ac(ic(e,n,i).cum[i],o);let c=ac(ic(e,n,a).cum[a],!1);return o?Math.log1p(-c):1-c}function pr(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;let s=cc(e,n);if(s===void 0)return NaN;[e,n]=s;let i=Math.floor(t+1e-7);return i<0?O(r,o):i>=e*n?U(r,o):L2(i,e,n,r,o)}function fc(t,e,n,r,o){if(Number.isNaN(t)||Number.isNaN(e)||Number.isNaN(n))return NaN;let s=cc(e,n);if(s===void 0)return NaN;[e,n]=s;let i=e*n,a=G(t,0,i,r,o);if(a!==void 0)return a;let c=i/2,f=Math.sqrt(i*(e+n+1)/12),u=c+f*V(t,{lowerTail:r,logP:o});return ke({p:t,lowerTail:r,logP:o,cdf:(l,m,h)=>l<0?O(m,h):l>=i?U(m,h):L2(l,e,n,m,h),y0:Number.isFinite(u)?u:c,lo:0,hi:i})}function g4(t,e,n,r={}){let o=r.log??!1;return S(t,s=>M4(s,e,n,o))}function b4(t,e,n,r={}){let{lowerTail:o=!0,logP:s=!1}=r;return S(t,i=>pr(i,e,n,o,s))}function w4(t,e,n,r={}){let{lowerTail:o=!0,logP:s=!1}=r;return S(t,i=>fc(i,e,n,o,s))}var Pn=128,gc=Number.EPSILON,bc=Float64Array.from({length:2*Pn+1},(t,e)=>Math.cos(Math.PI*e/Pn));function y4(t){let e=new Float64Array(t+1);for(let n=0;n<=t;n++){let r=0;for(let o=0;o<=t;o+=2)r+=(o===0||o===t?.5:1)*bc[o*n%(2*t)*(Pn/t)]*2/(1-o*o);e[n]=(n===0||n===t?.5:1)*2*r/t}return e}var v4=new Map([16,32,64,128].map(t=>[t,y4(t)]));function I4(t,e){let n=v4.get(e),r=Pn/e,o=0,s=0;for(let a=0;a<=e;a++)o+=n[a]*t[a],s+=Math.abs(n[a]*t[a]);let i=0;for(let a=e-7;a<=e;a++){let c=.5*(t[0]+(a%2===0?t[e]:-t[e]));for(let f=1;f<e;f++)c+=t[f]*bc[a*f%(2*e)*r];c*=2/e,a===e&&(c*=.5),i=Math.max(i,Math.abs(c))}return{integral:o,tail:i,scale:s}}var Hs=class{f;a;b;c;h;values=new Float64Array(Pn+1);have=new Uint8Array(Pn+1);N=0;integral=0;error=1/0;constructor(e,n,r){this.f=e,this.a=n,this.b=r,this.c=.5*(n+r),this.h=.5*(r-n)}advance(e){let n=Pn/e,r=new Float64Array(e+1);for(let s=0;s<=e;s++){let i=s*n;this.have[i]||(this.values[i]=this.f(this.c+this.h*bc[i]),this.have[i]=1),r[s]=this.values[i]}let o=I4(r,e);this.N=e,this.integral=o.integral*this.h,this.error=Math.max(o.tail*4/e,4*gc*o.scale)*Math.abs(this.h)}};function _a(t,e,n){let r=[];for(let s=0;s+1<e.length;s++){let i=new Hs(t,e[s],e[s+1]);i.advance(16),r.push(i)}for(let s=0;s<40;s++){let i=0;for(let u of r)i+=u.integral;let a=n*Math.abs(i)/r.length,c=!0,f=[];for(let u of r){if(u.error<=a||u.error<=4*gc*Math.abs(u.integral)){f.push(u);continue}if(c=!1,u.N<Pn)u.advance(2*u.N),f.push(u);else{let l=new Hs(t,u.a,u.c),m=new Hs(t,u.c,u.b);l.advance(16),m.advance(16),f.push(l,m)}}if(r=f,c)break}let o=0;for(let s of r)o+=s.integral;return o}function _2(t,e,n){let r=Math.max(1,Math.ceil((e-t)/n));return Array.from({length:r+1},(o,s)=>s===r?e:t+(e-t)*s/r)}var D2=2e-15,j2=1e-16,x4={lowerTail:!1},A4={logP:!0},E4={lowerTail:!1,logP:!0},Ys=.9189385332046728,Da=t=>Q(t),Fo=t=>Q(t,x4),wc=t=>Q(t,A4),yc=t=>Q(t,E4),R4=.3989422804014327;function ko(t){let e=Math.round(t*16)/16,n=t-e;return R4*Math.exp(-.5*e*e)*Math.exp(-.5*n*(t+e))}var mc=[.1834346424956498,.525532409916329,.7966664774136267,.9602898564975363],P2=[.362683783378362,.31370664587788727,.22238103445337448,.10122853629037626];function F4(t,e){let n=t-.5*e,r=.5*e,o=0;for(let s=0;s<4;s++)o+=P2[s]*(ko(n-r*mc[s])+ko(n+r*mc[s]));return o*r}function k4(t,e){let n=t-.5*e,r=.5*e,o=0;for(let s=0;s<4;s++){let i=r*mc[s];o+=P2[s]*(Math.exp(n*i-i*i/2)+Math.exp(-n*i-i*i/2))}return-Ys-n*n/2+Math.log(o*r)}var vc=(t,e)=>e*Math.max(1,Math.abs(t),Math.abs(t-e))<.5;function qo(t,e){let n=t-e,r=n-t,o=t-(n-r)+(-e-r);return{ah:n,al:o}}function Ks(t,e){return Da(t)+ko(t)*e}function q4(t,e){return Fo(t)-ko(t)*e}function C2(t,e){if(vc(t,e))return F4(t,e);let{ah:n,al:r}=qo(t,e);return n>=0?q4(n,r)-Fo(t):t<=0?Da(t)-Ks(n,r):1-Ks(n,r)-Fo(t)}function S4(t,e,n){if(t>0&&t-e<0&&!vc(t,e)){let{ah:o,al:s}=qo(t,e);return Math.exp(n*Math.log1p(-(Ks(o,s)+Fo(t))))}let r=C2(t,e);return r>0?r**n:0}function L4(t,e){return t>0?Math.exp(e*Math.log1p(-Fo(t))):Da(t)**e}function O2(t,e){let{ah:n,al:r}=qo(t,e),o=wc(n);return o+r*Math.exp(-Ys-n*n/2-o)}function T4(t,e){let{ah:n,al:r}=qo(t,e),o=yc(n);return o-r*Math.exp(-Ys-n*n/2-o)}function V2(t,e){if(vc(t,e))return k4(t,e);if(t-e>=0){let s=T4(t,e);return s+Math.log(-Math.expm1(yc(t)-s))}if(t<=0){let s=wc(t);return s+Math.log(-Math.expm1(O2(t,e)-s))}let{ah:r,al:o}=qo(t,e);return Math.log1p(-Ks(r,o)-Fo(t))}var B2=2,uc=1e-18;function Q2(t,e,n){let r=_2(e,n,B2),o=r.map(t),s=0;for(let m=1;m<o.length;m++)o[m]>o[s]&&(s=m);let i=o[s];if(!(i>0))return 0;let a=Math.max(s-1,0),c=Math.min(s+1,o.length-1);for(;a>0&&o[a]>i*uc;)a--;for(;c<o.length-1&&o[c]>i*uc;)c++;let f=i*uc,u=r[a],l=r[c];if(o[a]<=f){let m=r[a+1];for(let h=0;h<2;h++){let N=.5*(u+m);t(N)<=f?u=N:m=N}}if(o[c]<=f){let m=r[c-1];for(let h=0;h<2;h++){let N=.5*(l+m);t(N)<=f?l=N:m=N}}return _a(t,[u,l],j2)}function U2(t,e,n){let r=_2(e,n,B2),o=r.map(t),s=0;for(let g=1;g<o.length;g++)o[g]>o[s]&&(s=g);if(!(o[s]>-1/0))return-1/0;let i=r[Math.max(s-1,0)],a=r[Math.min(s+1,r.length-1)],c=(Math.sqrt(5)-1)/2,f=a-c*(a-i),u=i+c*(a-i),l=t(f),m=t(u);for(let g=0;g<80&&a-i>1e-12*Math.max(1,Math.abs(i));g++)l<m?(i=f,f=u,l=m,u=i+c*(a-i),m=t(u)):(a=u,u=f,m=l,f=a-c*(a-i),l=t(f));let h=l>m?f:u,N=Math.max(l,m);o[s]>N&&(h=r[s],N=o[s]);let p=g=>{let w=g<0?e:n,v=Math.max(1e-6,.001*(r[1]-r[0])),x=h;for(;;){let I=h+g*v;if(g<0?I<=w:I>=w)return w;if(t(I)<N-46){let F=I;for(let R=0;R<6;R++){let y=.5*(x+F);t(y)<N-46?F=y:x=y}return F}x=I,v*=2}},d=p(-1),M=p(1),b=[...new Set([d,h,M])].sort((g,w)=>g-w);return N+Math.log(_a(g=>Math.exp(t(g)-N),b,j2))}var Ic=-10,xc=10;function _4(t,e){return t<=0?0:e*Q2(n=>ko(n)*S4(n,t,e-1),Ic,xc)}function G2(t,e){if(t<=0)return 1;let n=s=>{let i=Da(s);if(i===0)return 0;let{ah:a,al:c}=qo(s,t),f=Ks(a,c),u=f<.5*i?-Math.expm1((e-1)*Math.log1p(-f/i)):-Math.expm1((e-1)*Math.log(C2(s,t)/i));return ko(s)*L4(s,e-1)*u};if(t>60)return 0;let[r,o]=$2(t);return e*Q2(n,r,o)}function $2(t){return t>40?[t/2-15,t/2+15]:[Ic,t+xc]}function z2(t,e){if(t>100)return-Math.exp(W2(t,e));let n=r=>-Ys-r*r/2+(e-1)*V2(r,t);return Math.log(e)+U2(n,Ic,xc)}function W2(t,e){if(t>100)return Math.log(e*(e-1))+yc(t/Math.SQRT2);let n=s=>{let i=wc(s),a=O2(s,t)-i,c;return a<-40?c=Math.log(e-1)+a:a<-Math.LN2?c=Math.log(-Math.expm1((e-1)*Math.log1p(-Math.exp(a)))):c=Math.log(-Math.expm1((e-1)*(V2(s,t)-i))),-Ys-s*s/2+(e-1)*i+c},[r,o]=$2(t);return Math.log(e)+U2(n,r,o)}function D4(t,e){let n=-1/0;for(let r of e)n=Math.max(n,t(r));for(let r=0;r+1<e.length;r++)n=Math.max(n,t(.5*(e[r]+e[r+1])));if(n===-1/0)return-1/0;for(let r=0;r<4;r++){let o=n,s=_a(i=>{let a=t(i);return a>o&&(o=a),Math.exp(a-n)},e,D2);if(Number.isFinite(s)&&o-n<300)return n+Math.log(s);n=o}return NaN}var jn=32,j4=1e-15,Ro=Math.log(.01),Ac=Math.log(20),X2=Math.log(40),H2=Float64Array.from({length:2*jn+1},(t,e)=>Math.cos(Math.PI*e/jn));function P4(t,e){let n=new Float64Array(e+1);for(let r=0;r<=e;r++){let o=.5*(t[0]+(r%2===0?t[e]:-t[e]));for(let s=1;s<e;s++)o+=t[s]*H2[r*s%(2*e)];o*=2/e,(r===0||r===e)&&(o*=.5),n[r]=o}return n}function lc(t,e,n){let r=[],o=[[e,n,0]];for(;o.length>0;){let[s,i,a]=o.pop(),c=.5*(s+i),f=.5*(i-s),u=new Float64Array(jn+1),l=1/0;for(let N=0;N<=jn;N++)u[N]=t(c+f*H2[N]),l=Math.min(l,Math.max(1,Math.abs(u[N])));let m=P4(u,jn),h=0;for(let N=jn-3;N<=jn;N++)h=Math.max(h,Math.abs(m[N]));h<=j4*l||a>=14||!u.every(Number.isFinite)?r.push({a:s,b:i,coef:m}):o.push([c,i,a+1],[s,c,a+1])}return r.sort((s,i)=>s.a-i.a)}function hc(t,e){let n=0,r=t.length-1;for(;n<r;){let u=n+r+1>>1;t[u].a<=e?n=u:r=u-1}let{a:o,b:s,coef:i}=t[n],a=(2*e-o-s)/(s-o),c=0,f=0;for(let u=jn;u>=1;u--){let l=2*a*c-f+i[u];f=c,c=l}return a*c-f+i[0]}var Xs=new Map,C4=64,K2=Math.log(1e-10);function Y2(t){let e=Xs.get(t);if(e!==void 0)return e;let n=o=>{let s=_4(o,t);return s>1e-290?Math.log(s):z2(o,t)},r=o=>{let s=Math.exp(o);return G2(s,t)*Z2(s)};return e={logW:lc(o=>n(Math.exp(o)),Ro,Ac),scaledWc:lc(r,Ro,X2),smallW:lc(o=>n(Math.exp(o))-(t-1)*o,K2,Ro)},Xs.size>=C4&&Xs.delete(Xs.keys().next().value),Xs.set(t,e),e}function Z2(t){let e=t*t,n=134217729*t,r=n-(n-t),o=t-r,s=r*r-e+2*r*o+o*o;return Math.exp(e/4)*(1+s/4)}function O4(t,e){let n=Math.log(t);if(n>=Ac)return 0;let r=Y2(e);return n>=Ro?hc(r.logW,n):hc(r.smallW,Math.max(n,K2))+(e-1)*n}function Nc(t,e){return Math.log(t)>=Ac?1:Math.exp(O4(t,e))}function V4(t,e){let n=Math.log(t);return n>=Ro&&n<=X2?hc(Y2(e).scaledWc,n)/Z2(t):n<Ro?1-Nc(t,e):G2(t,e)}function Ta(t,e,n,r){if(!r){let s=Math.min(Nc(t,e),1);return n===1?s:s**n}let o=Math.min(V4(t,e),1);return o<=.5?n===1?o:-Math.expm1(n*Math.log1p(-o)):1-Math.min(Nc(t,e),1)**n}function pc(t,e,n,r){if(!r)return n*z2(t,e);let o=W2(t,e);return n===1?o:Math.log(-Math.expm1(n*Math.log1p(-Math.exp(o))))}function dc(t,e,n,r,o){if(n===1/0)return Ta(t,e,r,o);let s=n/2,i=Math.log(s),a=B4(s);return _a(f=>{let{d:u,s:l}=a(f);return u===0?0:u*Ta(t*l,e,r,o)},J2(t,e,n,r,o).map(f=>f-i),D2)}function B4(t){let e=ut(t),n=Math.sqrt(t/(2*Math.PI));return r=>{let o;if(Math.abs(r)<.5){let s=r*r/2;o=s;for(let i=3;i<60&&(s*=r/i,o+=s,!(Math.abs(s)<1e-17*o));i++);}else o=Math.expm1(r)-r;return{d:n*Math.exp(-e-t*o),s:Math.exp(.5*r)}}}function Q4(t,e,n,r,o){if(n===1/0)return pc(t,e,r,o);let s=n/2,i=Math.log(s),a=Mt(s+1);return D4(f=>{let u=Math.exp(f),l=u>1e-300?lt(s,u,!0):s*f-u-a;return i+l+pc(Math.exp(Math.log(t)+.5*(f-i)),e,r,o)},J2(t,e,n,r,o,!0))}function J2(t,e,n,r,o,s=!1){let i=n/2,a=i,c=Math.log(i);if(o){let g=2*Math.log(t)-Math.log(4*i);c-=g>30?g:Math.log1p(Math.exp(g))}else a=i+(e-1)*r/2,c=Math.log(a);let f=(g,w)=>[g-9/Math.sqrt(w)-41/w,g+9/Math.sqrt(w)+Math.log1p(41/w)],[u,l]=f(Math.log(i),i),[m,h]=f(c,a),N=s?Math.min(u,m):Math.max(Math.min(u,m),-740),p=Math.max(l,h),d=1/Math.sqrt(i),M=1/Math.sqrt(a),b=[N,Math.min(Math.log(i)-4*d,c-4*M),Math.max(Math.log(i)+4*d,c+4*M),p];return[...new Set(b.map(g=>Math.min(Math.max(g,N),p)))].sort((g,w)=>g-w)}function tm(t,e,n){return t>=2&&e>=2&&n>=1&&Number.isFinite(t)&&Number.isFinite(n)&&!Number.isNaN(e)}function Mc(t,e,n,r,o,s){let i;return dr!==void 0&&dr.q===t&&dr.k===e&&dr.df===n&&dr.r===r?i=dr.tail:(i=U4(t,e,n,r,!o),dr={q:t,k:e,df:n,r,tail:i}),i.upper===!o?s?i.log:i.value:s?Math.log1p(-i.value):1-i.value}var dr;function U4(t,e,n,r,o){let s=o;n!==1/0&&Ta(t,e,r,s)>.5&&(s=!s);let i=dc(t,e,n,r,s);if(i>.5){let a=dc(t,e,n,r,!s);a<i&&(i=a,s=!s)}if(i<1e-290){let a=Q4(t,e,n,r,s);return{upper:s,value:Math.exp(a),log:a}}return{upper:s,value:i,log:Math.log(i)}}function G4(t,e,n,r,o,s){return[t,e,n,r].some(Number.isNaN)?NaN:tm(e,n,r)?t<=0?O(o,s):t===1/0?U(o,s):Mc(t,e,n,r,o,s):NaN}function $4(t,e,n,r,o,s){if([t,e,n,r].some(Number.isNaN))return NaN;if(!tm(e,n,r))return NaN;let i=G(t,0,1/0,o,s);if(i!==void 0)return i;let{lower:a,logTarget:c,linearTarget:f}=Gt(t,o,s),u=m=>h=>{let N=Math.exp(h);if(f!==void 0&&f>1e-290){let d=m===1/0?dc(N,e,m,r,!a):Mc(N,e,m,r,a,!1);if(d>0)return Math.log(d/f)}return(m===1/0?z4(N,e,r,a):Mc(N,e,m,r,a,!0))-c},l=T2(u(1/0),Math.log(3),a);return Math.exp(n===1/0?l:T2(u(n),l,a))}function z4(t,e,n,r){let o=Ta(t,e,n,!r);return o>1e-290?Math.log(o):pc(t,e,n,!r)}function T2(t,e,n){let r=e,o=t(r);if(o===0)return r;let s=o>0===n?-1:1,i=.05,a=r+s*i,c=t(a);for(let f=0;f<200&&Math.sign(c)===Math.sign(o)&&c!==0;f++)r=a,o=c,i*=2,a=r+s*i,c=t(a);return c===0?a:!Number.isFinite(c)||Math.sign(c)===Math.sign(o)?Number.isFinite(c)?a:r:W4(t,r,a,o,c)}function W4(t,e,n,r,o){let s=e,i=r,a=n-e,c=a;for(let f=0;f<100;f++){Math.sign(o)===Math.sign(i)&&(s=e,i=r,a=n-e,c=a),Math.abs(i)<Math.abs(o)&&(e=n,n=s,s=e,r=o,o=i,i=r);let u=2*gc*Math.abs(n)+1e-300,l=.5*(s-n);if(Math.abs(l)<=u||o===0)return n;if(Math.abs(c)>=u&&Math.abs(r)>Math.abs(o)){let m=o/r,h,N;if(e===s)h=2*l*m,N=1-m;else{let p=r/i,d=o/i;h=m*(2*l*p*(p-d)-(n-e)*(d-1)),N=(p-1)*(d-1)*(m-1)}h>0?N=-N:h=-h,2*h<Math.min(3*l*N-Math.abs(u*N),Math.abs(c*N))?(c=a,a=h/N):(a=l,c=l)}else a=l,c=l;e=n,r=o,n+=Math.abs(a)>u?a:l>0?u:-u,o=t(n)}return n}function Ec(t,e,n,r={}){let{nranges:o=1,lowerTail:s=!0,logP:i=!1}=r;return S(t,a=>G4(a,e,n,o,s,i))}function Rc(t,e,n,r={}){let{nranges:o=1,lowerTail:s=!0,logP:i=!1}=r;return S(t,a=>$4(a,e,n,o,s,i))}var Fc=(t,e)=>t>0&&e>0&&Number.isFinite(e);function X4(t,e,n,r){if(Number.isNaN(t)||!Fc(e,n))return NaN;if(t<=0||t===1/0)return D(r);if(e===1/0)return NaN;let[o,s]=be(n,0,t);if(o===1/0)return D(r);let i=Number.isFinite(s)?(e/o-1)*s:0;return r?Ae(o,e,1,!0)+Math.log(o)-Math.log(t)+i:Ae(o,e,1,!1)*o/t*(1+i)}function H4(t,e,n,r,o){if(Number.isNaN(t)||!Fc(e,n))return NaN;if(t<=0)return O(r,o);if(t===1/0||e===1/0)return U(r,o);let[s,i]=be(n,0,t),a=Lt(s,e,1,!r,o);if(!(i!==0&&Number.isFinite(i)&&Number.isFinite(s)))return a;let c=r?-1:1;if(!o)return a+c*Ae(s,e,1,!1)*i;let f=c*Math.exp(Ae(s,e,1,!0)-a)*i;return Number.isFinite(f)?a+f:a}function K4(t,e,n,r,o){if(Number.isNaN(t)||!Fc(e,n))return NaN;let s=G(t,0,1/0,r,o);return s!==void 0?s:e===1/0?0:n/oe(t,e,1,!r,o)}function Y4(t,e,n={}){let{beta:r=1,log:o=!1}=n;return S(t,s=>X4(s,e,r,o))}function Z4(t,e,n={}){let{beta:r=1,lowerTail:o=!0,logP:s=!1}=n;return S(t,i=>H4(i,e,r,o,s))}function kc(t,e,n={}){let{beta:r=1,lowerTail:o=!0,logP:s=!1}=n;return S(t,i=>K4(i,e,r,o,s))}var Sc=(t,e)=>t>0&&e>0&&Number.isFinite(e);function em(t,e){let n=Math.pow(t,e);return n<.5?Math.log1p(-n):Math.log(-Math.expm1(e*Math.log(t)))}function qc(t,e,n){let r=Math.pow(t,e);if(r>=.5)return Math.pow(-Math.expm1(e*Math.log(t)),n);let o=1-r,s=1-o-r;return Math.pow(o,n)*(1+n*s/o)}var J4=(t,e)=>t===0?0:t*Math.log(e);function Lc(t,e,n,r){if(Number.isNaN(t)||!Sc(e,n))return NaN;if(t<0||t>1)return D(r);if(e===1/0)return t===1?1/0:D(r);let o=t===1?-1/0:em(t,e),s=Math.log(e)+Math.log(n)+J4(e-1,t)+(n===1?0:(n-1)*o);if(r)return s;let i=Math.pow(t,e),a=e*n*(e===1?1:i>1e-290?i/t:Math.pow(t,e-1))*(n===1||t===0?1:qc(t,e,n-1));return a>22250738585072014e-324&&a<1/0?a:Math.exp(s)}function Tc(t,e,n,r,o){if(Number.isNaN(t)||!Sc(e,n))return NaN;if(t<=0)return O(r,o);if(t>=1)return U(r,o);if(e===1/0)return O(r,o);let s=n*em(t,e);if(!r)return o?s:qc(t,e,n);if(!o)return-Math.expm1(s);let i=Math.pow(t,e);return i<1e-20?Math.log(n)+e*Math.log(t)+Math.log1p(-(n-1)*i/2):s<-Math.LN2?Math.log1p(-qc(t,e,n)):we(s)}function Zs(t,e,n,r,o){if(Number.isNaN(t)||!Sc(e,n))return NaN;let s=G(t,0,1,r,o);if(s!==void 0)return s;if(e===1/0)return 1;let i=r?o?we(t):Math.log1p(-t):o?t:Math.log(t);return Math.pow(-Math.expm1(i/n),1/e)}function t7(t,e,n,r={}){let{log:o=!1}=r;return S(t,s=>Lc(s,e,n,o))}function e7(t,e,n,r={}){let{lowerTail:o=!0,logP:s=!1}=r;return S(t,i=>Tc(i,e,n,o,s))}function _c(t,e,n,r={}){let{lowerTail:o=!0,logP:s=!1}=r;return S(t,i=>Zs(i,e,n,o,s))}var Dc=(t,e)=>t>0&&e>0&&Number.isFinite(e);function n7(t,e,n,r){if(Number.isNaN(t)||!Dc(e,n))return NaN;if(t<n||t===1/0)return D(r);if(e===1/0)return t===n?1/0:D(r);let[o,s]=be(t,0,n),i=Number.isFinite(s)?s/o:0;if(r)return Math.log(e/n)-(e+1)*(Math.log(o)+i);let a=e/n*Math.pow(o,-e)/o;return a>0&&a<1/0?a*(1-(e+1)*i):Math.exp(Math.log(e/n)-(e+1)*(Math.log(o)+i))}function r7(t,e,n,r,o){if(Number.isNaN(t)||!Dc(e,n))return NaN;if(t<=n)return O(r,o);if(t===1/0||e===1/0)return U(r,o);let[s,i]=be(t,0,n),a=Number.isFinite(i)?i/s:0,c=-e*(Math.log(s)+a);if(!r){if(o)return c;let f=Math.pow(s,-e);return f>0?f*(1-e*a):Math.exp(c)}return o?c<-Math.LN2?Math.log1p(-Math.pow(s,-e)*(1-e*a)):we(c):-Math.expm1(c)}function jc(t,e,n,r,o){if(Number.isNaN(t)||!Dc(e,n))return NaN;let s=G(t,n,1/0,r,o);if(s!==void 0)return s;if(e===1/0)return n;let i=r?o?we(t):Math.log1p(-t):o?t:Math.log(t);return n*Math.exp(-i/e)}function o7(t,e={}){let{a:n=1,b:r=1,log:o=!1}=e;return S(t,s=>n7(s,n,r,o))}function s7(t,e={}){let{a:n=1,b:r=1,lowerTail:o=!0,logP:s=!1}=e;return S(t,i=>r7(i,n,r,o,s))}function i7(t,e={}){let{a:n=1,b:r=1,lowerTail:o=!0,logP:s=!1}=e;return S(t,i=>jc(i,n,r,o,s))}var Pc=(t,e,n)=>Number.isFinite(t)&&Number.isFinite(e)&&t<e&&t<=n&&n<=e;function a7(t,e,n,r,o){if(Number.isNaN(t)||!Pc(e,n,r))return NaN;if(t<e||t>n)return D(o);let s=n-e;if(t===r)return o?Math.log(2/s):2/s;let i=t<r?(r-t)/(r-e):(t-r)/(n-r);if(i<.5)return o?Math.log(2/s)+Math.log1p(-i):2/s*(1-i);let a=t<r?2*(t-e)/(s*(r-e)):2*(n-t)/(s*(n-r));return o?Math.log(a):a}function c7(t,e,n,r,o,s){if(Number.isNaN(t)||!Pc(e,n,r))return NaN;if(t<=e)return O(o,s);if(t>=n)return U(o,s);let i=n-e,a,c;t<=r?(a=(t-e)*(t-e)/(i*(r-e)),c=(n-r)/i+(r-t)*(t-e+(r-e))/(i*(r-e))):(c=(n-t)*(n-t)/(i*(n-r)),a=(r-e)/i+(t-r)*(n-t+(n-r))/(i*(n-r)));let f=o?a:c;return s?f>.5?Math.log1p(-(o?c:a)):Math.log(f):f}function f7(t,e,n,r,o,s){if(Number.isNaN(t)||!Pc(e,n,r))return NaN;let i=G(t,e,n,o,s);if(i!==void 0)return i;let a=n-e,c=s?Math.exp(t):t,f=o?c:s?-Math.expm1(t):1-t,u=o?s?-Math.expm1(t):1-t:c;return f<=(r-e)/a?e+Math.sqrt(f*a*(r-e)):n-Math.sqrt(u*a*(n-r))}function u7(t,e={}){let{a:n=-1,b:r=1,log:o=!1}=e,s=e.c??(n+r)/2;return S(t,i=>a7(i,n,r,s,o))}function l7(t,e={}){let{a:n=-1,b:r=1,lowerTail:o=!0,logP:s=!1}=e,i=e.c??(n+r)/2;return S(t,a=>c7(a,n,r,i,o,s))}function Cc(t,e={}){let{a:n=-1,b:r=1,lowerTail:o=!0,logP:s=!1}=e,i=e.c??(n+r)/2;return S(t,a=>f7(a,n,r,i,o,s))}var Oc=(t,e)=>!Number.isNaN(t)&&e>0&&Number.isFinite(e);function m7(t,e,n,r){if(Number.isNaN(t)||!Oc(e,n))return NaN;if(!Number.isFinite(e))return r?-1/0:0;let o=be(t,e,n),s=o[0]<0?[-o[0],-o[1]]:[o[0],o[1]];return r?-s[0]-s[1]-Math.log(2*n):ue(s)/(2*n)}function h7(t,e,n,r,o){if(Number.isNaN(t)||!Oc(e,n))return NaN;if(!Number.isFinite(e)){let c=e===1/0?0:1,f=r?c:1-c;return o?Math.log(f):f}let s=be(t,e,n),i=s[0]<0?[-s[0],-s[1]]:[s[0],s[1]],a=ue(i)/2;return r===s[0]<0?o?-i[0]-i[1]-Math.LN2:a:o?Math.log1p(-a):1-a}function N7(t,e,n,r,o){if(Number.isNaN(t)||!Oc(e,n))return NaN;let s=G(t,-1/0,1/0,r,o);if(s!==void 0)return s;if(!Number.isFinite(e))return e;let{lower:i,logTarget:a,linearTarget:c}=Gt(t,r,o),f=c!==void 0?Math.log(2*c):Math.LN2+a;return Eo(e,n,i?f:-f)}function p7(t,e={}){let{mu:n=0,sigma:r=1,log:o=!1}=e;return S(t,s=>m7(s,n,r,o))}function d7(t,e={}){let{mu:n=0,sigma:r=1,lowerTail:o=!0,logP:s=!1}=e;return S(t,i=>h7(i,n,r,o,s))}function M7(t,e={}){let{mu:n=0,sigma:r=1,lowerTail:o=!0,logP:s=!1}=e;return S(t,i=>N7(i,n,r,o,s))}var Vc=(t,e)=>Number.isFinite(t)&&Number.isFinite(e)&&t<e;function g7(t,e,n,r){if(Number.isNaN(t)||!Vc(e,n))return NaN;if(t<e||t>n)return D(r);if(t===e||t===n)return 1/0;if(!r)return 1/(Math.PI*Math.sqrt(t-e)*Math.sqrt(n-t));let o=k(C(T(t,-e)),C(T(n,-t)));return-nm[0]-.5*o[0]-(nm[1]+.5*o[1])}var nm=[1.1447298858494002,10265951162707826e-33];function b7(t,e,n,r,o){if(Number.isNaN(t)||!Vc(e,n))return NaN;if(t<=e)return O(r,o);if(t>=n)return U(r,o);let s=n-e;return t-e<=n-t?xo((t-e)/s,.5,.5,r,o):xo((n-t)/s,.5,.5,!r,o)}function Bc(t,e,n,r,o){if(Number.isNaN(t)||!Vc(e,n))return NaN;let s=G(t,e,n,r,o);if(s!==void 0)return s;let i=Ze(t,.5,.5,r,o);return i<=.5?e+(n-e)*i:n-(n-e)*Ze(t,.5,.5,!r,o)}function w7(t,e={}){let{a:n=0,b:r=1,log:o=!1}=e;return S(t,s=>g7(s,n,r,o))}function y7(t,e={}){let{a:n=0,b:r=1,lowerTail:o=!0,logP:s=!1}=e;return S(t,i=>b7(i,n,r,o,s))}function Qc(t,e={}){let{a:n=0,b:r=1,lowerTail:o=!0,logP:s=!1}=e;return S(t,i=>Bc(i,n,r,o,s))}var qe=2220446049250313e-31,sm=22250738585072014e-324,ti=17976931348623157e292,v7=[.06667134430868814,.1494513491505806,.21908636251598204,.26926671930999635,.29552422471475287],rm=[.9956571630258081,.9739065285171717,.9301574913557082,.8650633666889845,.7808177265864169,.6794095682990244,.5627571346686047,.4333953941292472,.2943928627014602,.14887433898163122,0],Mr=[.011694638867371874,.032558162307964725,.054755896574351995,.07503967481091996,.0931254545836976,.10938715880229764,.12349197626206584,.13470921731147334,.14277593857706009,.14773910490133849,.1494455540029169];function im(t,e,n,r,o){let s=Math.abs((t-e)*n);return o!==0&&s!==0&&(s=o*Math.min(1,Math.pow(200*s/o,1.5))),r>sm/(50*qe)&&(s=Math.max(qe*50*r,s)),s}function I7(t,e,n){let r=.5*(e+n),o=.5*(n-e),s=Math.abs(o),i=new Array(10),a=new Array(10),c=t(r),f=0,u=Mr[10]*c,l=Math.abs(u);for(let N=0;N<5;N++){let p=2*N+1,d=o*rm[p],M=t(r-d),b=t(r+d);i[p]=M,a[p]=b;let g=M+b;f+=v7[N]*g,u+=Mr[p]*g,l+=Mr[p]*(Math.abs(M)+Math.abs(b))}for(let N=0;N<5;N++){let p=2*N,d=o*rm[p],M=t(r-d),b=t(r+d);i[p]=M,a[p]=b;let g=M+b;u+=Mr[p]*g,l+=Mr[p]*(Math.abs(M)+Math.abs(b))}let m=u*.5,h=Mr[10]*Math.abs(c-m);for(let N=0;N<10;N++)h+=Mr[N]*(Math.abs(i[N]-m)+Math.abs(a[N]-m));return l*=s,h*=s,{result:u*o,abserr:im(u,f,o,l,h),resabs:l,resasc:h}}var om=[0,.1294849661688697,0,.27970539148927664,0,.3818300505051189,0,.4179591836734694],x7=[.9914553711208126,.9491079123427585,.8648644233597691,.7415311855993945,.5860872354676911,.4058451513773972,.20778495500789848,0],Js=[.022935322010529224,.06309209262997856,.10479001032225019,.14065325971552592,.1690047266392679,.19035057806478542,.20443294007529889,.20948214108472782];function A7(t,e,n,r,o){let s=n>1?1:n,i=.5*(r+o),a=.5*(o-r),c=new Array(7),f=new Array(7),u=M=>{let b=e+s*(1-M)/M,g=t(b);return n===2&&(g+=t(-b)),g},l=u(i)/i/i,m=l*om[7],h=l*Js[7],N=Math.abs(h);for(let M=0;M<7;M++){let b=a*x7[M],g=i-b,w=i+b,v=u(g),x=u(w);v=v/g/g,x=x/w/w,c[M]=v,f[M]=x;let I=v+x;m+=om[M]*I,h+=Js[M]*I,N+=Js[M]*(Math.abs(v)+Math.abs(x))}let p=h*.5,d=Js[7]*Math.abs(l-p);for(let M=0;M<7;M++)d+=Js[M]*(Math.abs(c[M]-p)+Math.abs(f[M]-p));return N*=a,d*=a,{result:h*a,abserr:im(h,m,a,N,d),resabs:N,resasc:d}}function E7(t){let e=t.epstab,n=t.n;t.nres+=1;let r=ti,o=e[t.n];if(t.n<2)return r=Math.max(r,5*qe*Math.abs(o)),[o,r];let s=49;e[t.n+2]=e[t.n];let i=Math.trunc(t.n/2);e[t.n]=ti;let a=t.n;for(let u=0;u<i;u++){let l=a-1,m=a-2,h=e[a+2],N=e[m],p=e[l],d=h,M=Math.abs(p),b=d-p,g=Math.abs(b),w=Math.max(Math.abs(d),M)*qe,v=p-N,x=Math.abs(v),I=Math.max(M,Math.abs(N))*qe;if(!(g>w||x>I))return o=h,r=g+x,r=Math.max(r,5*qe*Math.abs(o)),[o,r];let F=e[a];e[a]=p;let R=p-F,y=Math.abs(R),E=Math.max(M,Math.abs(F))*qe;if(y<=E||g<=w||x<=I){t.n=u+u;break}let q=1/R+1/b-1/v;if(!(Math.abs(q*p)>1e-4)){t.n=u+u;break}h=p+1/q,e[a]=h,a-=2;let j=g+Math.abs(h-d)+x;j>r||(r=j,o=h)}t.n===s&&(t.n=2*Math.trunc(s/2));let c=n%2;for(let u=0;u<=i;u++)e[2*u+c]=e[2*u+2+c];if(t.n!==n){let u=n-t.n;for(let l=0;l<=t.n;l++)e[l]=e[u],u++}let f=t.res3la;return t.nres<4?(f[t.nres-1]=o,r=ti):(r=Math.abs(o-f[2])+Math.abs(o-f[1])+Math.abs(o-f[0]),f[0]=f[1],f[1]=f[2],f[2]=o),r=Math.max(r,5*qe*Math.abs(o)),[o,r]}function R7(t,e,n,r,o,s){if(e<=2){o[0]=0,o[1]=1;let N=o[s];return[N,r[N],s]}let i=r[n];for(;s>0&&i>r[o[s-1]];)o[s]=o[s-1],s-=1;let a=e>Math.trunc(t/2)+2?t-e+2:e-1,c=r[e-1],f=a-1,u=s+1,l=u,m=!1;if(u<=f)for(l=u;l<=f;l++){if(i>=r[o[l]]){m=!0;break}o[l-1]=o[l]}if(!m)o[f]=n,o[a]=e-1;else{o[l-1]=n;let N=f;for(let p=l;p<=f&&!(c<r[o[N]]);p++)o[N+1]=o[N],N--;c<r[o[N]]?o[N+1]=e-1:o[l]=e-1}let h=o[s];return[h,r[h],s]}function am(t,e,n,r,o,s,i,a){let c=new Float64Array(s+1),f=new Float64Array(s+1),u=new Float64Array(s+1),l=new Float64Array(s+1),m=new Int32Array(s+1),h=0,N=0,p=0,d=0;if(c[0]=e,f[0]=n,r<=0&&o<Math.max(50*qe,5e-29))return{result:0,abserr:0,neval:0,ier:6,last:0};let M=t(e,n);p=M.result,d=M.abserr;let b=M.resabs,g=M.resasc,w=Math.abs(p),v=Math.max(r,o*w);if(N=1,u[0]=p,l[0]=d,m[0]=0,d<=100*qe*b&&d>v&&(h=2),s===1&&(h=1),h!==0||d<=v&&d!==g||d===0)return{result:p,abserr:d,neval:a(N),ier:h,last:N};let x={epstab:new Float64Array(52),res3la:new Float64Array(3),n:1,nres:0};x.epstab[0]=p;let I=d,F=0,R=p,y=d;d=ti;let E=0,q=0,A=!1,j=!1,P=0,H=0,ot=0,Z=0,K=0,st=0,J=0,gt=0,Bt=w>=(1-50*qe)*b?1:-1,kt=!1,tt=1;for(tt=1;tt<s;tt++){N=tt+1;let ht=c[F],qt=.5*(c[F]+f[F]),St=qt,_=f[F],X=I,et=t(ht,qt),xt=t(St,_),Re=et.result,At=et.abserr,he=et.resasc,xn=xt.result,zt=xt.abserr,_t=xt.resasc,Ht=Re+xn,bt=At+zt;if(y=y+bt-I,R=R+Ht-u[F],he!==At&&_t!==zt&&(Math.abs(u[F]-Ht)>1e-5*Math.abs(Ht)||bt<.99*I||(A?ot++:H++),tt>9&&bt>I&&Z++),u[F]=Re,u[tt]=xn,v=Math.max(r,o*Math.abs(R)),(H+ot>=10||Z>=20)&&(h=2),ot>=5&&(P=3),N===s&&(h=1),Math.max(Math.abs(ht),Math.abs(_))<=(1+100*qe)*(Math.abs(St)+1e3*sm)&&(h=4),zt>At?(c[F]=St,c[tt]=ht,f[tt]=qt,u[F]=xn,u[tt]=Re,l[F]=zt,l[tt]=At):(c[tt]=St,f[F]=qt,f[tt]=_,l[F]=At,l[tt]=zt),[F,I,E]=R7(s,N,F,l,m,E),y<=v){kt=!0;break}if(h!==0)break;if(tt===1){K=i,st=y,J=v,x.epstab[1]=R;continue}if(j)continue;if(st-=X,Math.abs(qt-ht)>K&&(st+=bt),!A){if(Math.abs(f[F]-c[F])>K)continue;A=!0,E=1}if(!(P===3||st<=J)){let ee=N>2+Math.trunc(s/2)?s+3-N:N,Kt=!1;for(let Ie=E;Ie<ee;Ie++){if(F=m[E],I=l[F],Math.abs(f[F]-c[F])>K){Kt=!0;break}E++}if(Kt)continue}x.n+=1,x.epstab[x.n]=R;let[te,Qe]=E7(x);if(q+=1,q>5&&d<.001*y&&(h=5),Qe<d&&(q=0,d=Qe,p=te,gt=st,J=Math.max(r,o*Math.abs(te)),d<=J)||(x.n===0&&(j=!0),h===5))break;F=m[0],I=l[F],E=0,A=!1,K*=.5,st=y}let at;if(kt||d===ti?at=115:h+P===0?at=110:(P===3&&(d+=gt),h===0&&(h=3),p!==0&&R!==0?at=105:d>y?at=115:R===0?at=130:at=110),at===105&&(at=d/Math.abs(p)>y/Math.abs(R)?115:110),at===110)Bt===-1&&Math.max(Math.abs(p),Math.abs(R))<=b*.01||(.01>p/R||p/R>100||y>Math.abs(R))&&(h=6);else if(at===115){p=0;for(let ht=0;ht<=tt;ht++)p+=u[ht];d=y}return h>2&&(h-=1),{result:p,abserr:d,neval:a(N),ier:h,last:N}}function ei(t,e,n,r,o,s){return am((i,a)=>I7(t,i,a),e,n,r,o,s,Math.abs(n-e)*.375,i=>42*i-21)}function So(t,e,n,r,o,s){let i=n===2?0:e;return am((a,c)=>A7(t,i,n,a,c),0,1,r,o,s,.375,a=>(30*a-15)*(n===2?2:1))}var yt={mean:NaN,variance:NaN,sd:NaN,median:NaN,mode:NaN,skewness:NaN,kurtosis:NaN};function It(t,e,n,r,o,s){return{mean:t,variance:e,sd:Math.sqrt(e),median:n,mode:r,skewness:o,kurtosis:s}}function cm(t,e,n,r){return um(o=>o,t,e,e,n,r)}function um(t,e,n,r,o,s){let i=50*Number.EPSILON,a=[2,3,4].map(f=>{let u=h=>(t(h)-n)**f*e(h),l=ei(u,o,r,0,i,200).result,m=s===1/0?So(u,r,1,0,i,200).result:ei(u,r,s,0,i,200).result;return l+m}),c=a[0];return{variance:c,skewness:a[1]/c**1.5,kurtosis:a[2]/(c*c)-3}}function F7(t,e){let[n,r]=L([t,0],[e,0]),o=Math.floor(n);return n===o&&r<0?o-1:o}function fm(t,e,n){let r=$(L(t,[e,0]),[n,0]);return r[0]+r[1]<=0}var ja=(t,e)=>t[e]!==void 0;function k7(t,e={}){let n=e;switch(t){case"norm":{let{mean:r=0,sd:o=1}=n;return Number.isFinite(r)&&o>0&&Number.isFinite(o)?It(r,o*o,r,r,0,0):yt}case"lnorm":{let{meanlog:r=0,sdlog:o=1}=n;if(!(Number.isFinite(r)&&o>0&&Number.isFinite(o)))return yt;let s=o*o,i=Math.expm1(s),a=Math.exp(s);return It(Math.exp(r+s/2),i*Math.exp(2*r+s),Math.exp(r),Math.exp(r-s),(a+2)*Math.sqrt(i),i*(16+i*(15+i*(6+i))))}case"unif":{let{min:r=0,max:o=1}=n;if(!(Number.isFinite(r)&&Number.isFinite(o)&&r<o))return yt;let s=r+(o-r)/2;return It(s,(o-r)**2/12,s,NaN,0,-1.2)}case"exp":{let{rate:r=1}=n;return r>0&&Number.isFinite(r)?It(1/r,1/(r*r),Math.LN2/r,0,2,6):yt}case"gamma":{let r=n.shape??NaN,o=ja(n,"scale")?n.scale:1/(n.rate??1);return r>0&&Number.isFinite(r)&&o>0&&Number.isFinite(o)?It(r*o,r*o*o,g1(.5,r,{scale:o}),r>=1?(r-1)*o:0,2/Math.sqrt(r),6/r):yt}case"chisq":{let r=n.df??NaN;return r>0&&Number.isFinite(r)?It(r,2*r,x1(.5,r),Math.max(r-2,0),Math.sqrt(8/r),12/r):yt}case"beta":{let r=n.shape1??NaN,o=n.shape2??NaN;if(!(r>0&&o>0&&Number.isFinite(r)&&Number.isFinite(o)))return yt;let s=r+o,i;return r>1&&o>1?i=(r-1)/(s-2):r===1&&o===1||r<1&&o<1?i=NaN:i=r<=1&&o>=1?0:1,It(r/s,r*o/(s*s*(s+1)),D1(.5,r,o),i,2*(o-r)*Math.sqrt(s+1)/((s+2)*Math.sqrt(r*o)),6*((r-o)**2*(s+1)-r*o*(s+2))/(r*o*(s+2)*(s+3)))}case"t":{let r=n.df??NaN;if(!(r>0))return yt;let o=r>2?r===1/0?1:r/(r-2):r>1?1/0:NaN,s=r>4?r===1/0?0:6/(r-4):r>2?1/0:NaN;return It(r>1?0:NaN,o,0,0,r>3?0:NaN,s)}case"f":{let r=n.df1??NaN,o=n.df2??NaN;if(!(r>0&&o>0&&Number.isFinite(r)&&Number.isFinite(o)))return yt;let s=o>2?o/(o-2):NaN,i=o>4?2*o*o*(r+o-2)/(r*(o-2)**2*(o-4)):o>2?1/0:NaN,a=o>6?(2*r+o-2)*Math.sqrt(8*(o-4))/((o-6)*Math.sqrt(r*(r+o-2))):NaN,c=o>8?12*(r*(5*o-22)*(r+o-2)+(o-4)*(o-2)**2)/(r*(o-6)*(o-8)*(r+o-2)):NaN;return It(s,i,k1(.5,r,o),r>2?(r-2)/r*(o/(o+2)):0,a,c)}case"cauchy":{let{location:r=0,scale:o=1}=n;return Number.isFinite(r)&&o>0&&Number.isFinite(o)?It(NaN,NaN,r,r,NaN,NaN):yt}case"weibull":{let r=n.shape??NaN,o=n.scale??1;if(!(r>0&&Number.isFinite(r)&&o>0&&Number.isFinite(o)))return yt;let s=dt(1+1/r),i=cm(a=>U1(a,r,1,!1),s,0,1/0);return It(o*s,o*o*i.variance,G1(.5,r,{scale:o}),r>1?o*Math.pow((r-1)/r,1/r):0,i.skewness,i.kurtosis)}case"logis":{let{location:r=0,scale:o=1}=n;return Number.isFinite(r)&&o>0&&Number.isFinite(o)?It(r,o*o*Math.PI*Math.PI/3,r,r,0,1.2):yt}case"binom":{let r=n.size??NaN,o=n.prob??NaN;if(!(Number.isInteger(r)&&r>=0&&o>=0&&o<=1))return yt;let s=1-o;return It(r*o,r*o*s,$s(.5,r,o),Math.min(r,F7(r+1,o)),(s-o)/Math.sqrt(r*o*s),(1-6*o*s)/(r*o*s))}case"pois":{let r=n.lambda??NaN;return r>0&&Number.isFinite(r)?It(r,r,E1(.5,r),Math.floor(r),1/Math.sqrt(r),1/r):yt}case"geom":{let r=n.prob??NaN;if(!(r>0&&r<=1))return yt;let o=1-r;return It(o/r,o/(r*r),W1(.5,r),0,(2-r)/Math.sqrt(o),6+r*r/o)}case"nbinom":{let r=n.size??NaN;if(!(r>0&&Number.isFinite(r)))return yt;let o=ja(n,"mu")?r/(r+n.mu):n.prob??NaN;if(!(o>0&&o<=1))return yt;let s=1-o,i=ja(n,"mu")?{mu:n.mu}:{prob:o},a=f=>ja(n,"mu")?fm([f,0],r,(r-1)*n.mu):fm(k([r-1,0],[f,0]),o,r-1),c=0;if(r>1){for(c=Math.max(0,Math.floor((r-1)*s/o)-1);a(c+1);)c++;for(;c>0&&!a(c);)c--}return It(r*s/o,r*s/(o*o),Z1(.5,r,i),c,(2-o)/Math.sqrt(r*s),6/r+o*o/(r*s))}case"hyper":{let r=n.m??NaN,o=n.n??NaN,s=n.k??NaN;if(!([r,o,s].every(f=>Number.isInteger(f)&&f>=0)&&s<=r+o))return yt;let i=r+o,a=Math.floor((s+1)*(r+1)/(i+2)),c=((i-1)*i*i*(i*(i+1)-6*r*o-6*s*(i-s))+6*s*r*o*(i-s)*(5*i-6))/(s*r*o*(i-s)*(i-2)*(i-3));return It(s*r/i,s*r/i*(o/i)*(i-s)/(i-1),ec(.5,r,o,s),a,(i-2*r)*Math.sqrt(i-1)*(i-2*s)/(Math.sqrt(s*r*o*(i-s))*(i-2)),c)}case"invgamma":{let r=n.alpha??NaN,o=n.beta??1;return r>0&&Number.isFinite(r)&&o>0&&Number.isFinite(o)?It(r>1?o/(r-1):1/0,r>2?o*o/((r-1)**2*(r-2)):r>1?1/0:NaN,kc(.5,r,{beta:o}),o/(r+1),r>3?4*Math.sqrt(r-2)/(r-3):NaN,r>4?(30*r-66)/((r-3)*(r-4)):NaN):yt}case"kumar":{let r=n.a??NaN,o=n.b??NaN;if(!(r>0&&o>0&&Number.isFinite(r)&&Number.isFinite(o)))return yt;let s=o*Math.exp(Wt(1+1/r,o)),i=o<1?um(c=>Zs(c,r,o,!0,!1),()=>1,s,Tc(s,r,o,!0,!1),0,1):cm(c=>Lc(c,r,o,!1),s,0,1),a;return r>=1&&o>=1?a=r===1&&o===1?NaN:Math.pow((r-1)/(r*o-1),1/r):r<1&&o<1?a=NaN:a=r<1?0:1,It(s,i.variance,_c(.5,r,o),a,i.skewness,i.kurtosis)}case"pareto":{let{a:r=1,b:o=1}=n;return r>0&&Number.isFinite(r)&&o>0&&Number.isFinite(o)?It(r>1?r*o/(r-1):1/0,r>2?o*o*r/((r-1)**2*(r-2)):r>1?1/0:NaN,o*Math.pow(2,1/r),o,r>3?2*(1+r)/(r-3)*Math.sqrt((r-2)/r):NaN,r>4?6*(r**3+r*r-6*r-2)/(r*(r-3)*(r-4)):NaN):yt}case"triang":{let{a:r=-1,b:o=1}=n,s=n.c??(r+o)/2;if(!(Number.isFinite(r)&&Number.isFinite(o)&&r<o&&r<=s&&s<=o))return yt;let i=r*r+o*o+s*s-r*o-r*s-o*s;return It((r+o+s)/3,i/18,Cc(.5,{a:r,b:o,c:s}),s,Math.SQRT2*(r+o-2*s)*(2*r-o-s)*(r-2*o+s)/(5*i**1.5),-.6)}case"laplace":{let{mu:r=0,sigma:o=1}=n;return Number.isFinite(r)&&o>0&&Number.isFinite(o)?It(r,2*o*o,r,r,0,3):yt}case"arcsine":{let{a:r=0,b:o=1}=n;return Number.isFinite(r)&&Number.isFinite(o)&&r<o?It(r+(o-r)/2,(o-r)**2/8,Qc(.5,{a:r,b:o}),NaN,0,-1.5):yt}}throw new RangeError(`unknown distribution '${String(t)}'`)}var q7=23283064365386963e-26,lm=2328306437080797e-25,Pa=class{mt=new Uint32Array(624);mti=625;setSeed(e){let n=e>>>0;for(let r=0;r<50;r++)n=Math.imul(69069,n)+1>>>0;n=Math.imul(69069,n)+1>>>0;for(let r=0;r<624;r++)n=Math.imul(69069,n)+1>>>0,this.mt[r]=n;this.mti=624}sgenrand(e){for(let n=0;n<624;n++)this.mt[n]=e&4294901760,e=Math.imul(69069,e)+1>>>0,this.mt[n]=(this.mt[n]|(e&4294901760)>>>16)>>>0,e=Math.imul(69069,e)+1>>>0;this.mti=624}nextUint32(){let e=this.mt;if(this.mti>=624){this.mti===625&&this.sgenrand(4357);let r=0,o;for(;r<227;r++)o=e[r]&2147483648|e[r+1]&2147483647,e[r]=e[r+397]^o>>>1^(o&1?2567483615:0);for(;r<623;r++)o=e[r]&2147483648|e[r+1]&2147483647,e[r]=e[r+-227]^o>>>1^(o&1?2567483615:0);o=e[623]&2147483648|e[0]&2147483647,e[623]=e[396]^o>>>1^(o&1?2567483615:0),this.mti=0}let n=e[this.mti++];return n^=n>>>11,n^=n<<7&2636928640,n^=n<<15&4022730752,n^=n>>>18,n>>>0}nextDouble(){let e=this.nextUint32()*q7;return e<=0?.5*lm:1-e<=0?1-.5*lm:e}getRandomSeed(e){let n=new Int32Array(626);n[0]=e,n[1]=this.mti;for(let r=0;r<624;r++)n[r+2]=this.mt[r]|0;return n}setRandomSeed(e){if(e.length!==626)throw new RangeError("the random seed state must have 626 integers");this.mti=e[1];for(let n=0;n<624;n++)this.mt[n]=e[n+2]>>>0}};var S7=[3.3871328727963665,133.14166789178438,1971.5909503065513,13731.69376550946,45921.95393154987,67265.7709270087,33430.57558358813,2509.0809287301227],L7=[1,42.31333070160091,687.1870074920579,5394.196021424751,21213.794301586597,39307.89580009271,28729.085735721943,5226.495278852854],T7=[1.4234371107496835,4.630337846156546,5.769497221460691,3.6478483247632045,1.2704582524523684,.2417807251774506,.022723844989269184,.0007745450142783414],_7=[1,2.053191626637759,1.6763848301838038,.6897673349851,.14810397642748008,.015198666563616457,.0005475938084995345,10507500716444169e-25],D7=[6.657904643501103,5.463784911164114,1.7848265399172913,.29656057182850487,.026532189526576124,.0012426609473880784,27115555687434876e-21,20103343992922881e-23],j7=[1,.599832206555888,.1369298809227358,.014875361290850615,.0007868691311456133,18463183175100548e-21,1421511758316446e-22,20442631033899397e-31];function Lo(t,e){let n=t[7];for(let r=6;r>=0;r--)n=n*e+t[r];return n}function mm(t){let e=t-.5;if(Math.abs(e)<=.425){let o=.180625-e*e;return e*Lo(S7,o)/Lo(L7,o)}let n=e<0?t:1-t;n=Math.sqrt(-Math.log(n));let r;return n<=5?(n-=1.6,r=Lo(T7,n)/Lo(_7,n)):(n-=5,r=Lo(D7,n)/Lo(j7,n)),e<0?-r:r}var Uc=10403,ni=new Pa,Oa=!1;function Nm(){if(Oa)return;let t=(Date.now()^Math.floor(Math.random()*2**32))>>>0;typeof globalThis.crypto?.getRandomValues=="function"&&(t=globalThis.crypto.getRandomValues(new Uint32Array(1))[0]),ni.setSeed(t),Oa=!0}function P7(t){if(!Number.isFinite(t))throw new RangeError("seed must be a finite number");let e=Math.trunc(t);if(Math.abs(e)>2147483647)throw new RangeError("seed must be a 32-bit integer");ni.setSeed(e|0),Oa=!0}function C7(){return Nm(),ni.getRandomSeed(Uc)}function O7(t){if(t[0]!==Uc)throw new RangeError(`only the default RNG kind (${Uc}) is supported`);ni.setRandomSeed(t),Oa=!0}function W(){return Nm(),ni.nextDouble()}function V7(t){let e=0;for(let n=0;n<=t;n+=16){let r=Math.floor(W()*65536);e=65536*e+r}return e%2**t}function gr(t){if(t<=0)return 0;let e=Math.ceil(Math.log2(t)),n;do n=V7(e);while(t<=n);return n}var hm=134217728;function Cn(){let t=W();return t=Math.trunc(hm*t)+W(),mm(t/hm)}var Ca=(()=>{let t=[],e=1,n=0;for(let r=1;r<=16;r++)e*=Math.LN2/r,n+=e,t.push(n);return t})();function Ve(){let t=0,e=W();for(;e<=0||e>=1;)e=W();for(;e+=e,!(e>1);)t+=Ca[0];if(e-=1,e<=Ca[0])return t+e;let n=0,r=W(),o=r;do r=W(),o>r&&(o=r),n++;while(e>Ca[n]);return t+o*Ca[0]}function Y(t,e){if(!Number.isFinite(t)||t<0)throw new RangeError("n must be a non-negative finite number");let n=Math.trunc(t),r=new Array(n);for(let o=0;o<n;o++)r[o]=e();return r}function pm(t,e){let n=1;if(Number.isNaN(t))return t;if(e!==0){if(!Number.isFinite(t))return Math.pow(t,e);for(e<0&&(e=-e,t=1/t);e&1&&(n*=t),e>>=1,e;)t*=t}return n}function Gc(t,e={}){let{min:n=0,max:r=1}=e;return Y(t,()=>{if(!Number.isFinite(n)||!Number.isFinite(r)||r<n)return NaN;if(n===r)return n;let o=W();return n+(r-n)*o})}function Va(t,e){return Number.isNaN(t)||!Number.isFinite(e)||e<0?NaN:e===0||!Number.isFinite(t)?t:t+e*Cn()}function B7(t,e={}){let{mean:n=0,sd:r=1}=e;return Y(t,()=>Va(n,r))}function Q7(t,e={}){let n=1/(e.rate??1);return Y(t,()=>!Number.isFinite(n)||n<=0?n===0?0:NaN:n*Ve())}function U7(t,e={}){let{meanlog:n=0,sdlog:r=1}=e;return Y(t,()=>Number.isNaN(n)||!Number.isFinite(r)||r<0?NaN:Math.exp(Va(n,r)))}function G7(t,e={}){let{location:n=0,scale:r=1}=e;return Y(t,()=>{if(Number.isNaN(n)||!Number.isFinite(r))return NaN;if(r===0||!Number.isFinite(n))return n;let o=W();return n+r*Math.log(o/(1-o))})}function $7(t,e={}){let{location:n=0,scale:r=1}=e;return Y(t,()=>Number.isNaN(n)||!Number.isFinite(r)||r<0?NaN:r===0||!Number.isFinite(n)?n:n+r*Math.tan(Math.PI*W()))}function z7(t,e,n={}){let{scale:r=1}=n;return Y(t,()=>!Number.isFinite(e)||!Number.isFinite(r)||e<=0||r<=0?r===0?0:NaN:r*Math.pow(-Math.log(W()),1/e))}var W7=-.5,X7=.3333333,H7=-.2500068,K7=.2000118,Y7=-.1661269,Z7=.1421878,J7=-.1384794,t8=.125006,e8=1/7,n8=1/12,r8=1/24,dm=.3989422804014327,o8=[1,1,2,6,24,120,720,5040,40320,362880],bn=0,Mm=0,gm=new Float64Array(36),Ba=0,bm=0,$c=0,Qa=0,wm=0,ri=0,ym=0,vm=0,Im=0,To=0,oi=0,xm=0,Am=0,Em=0,Rm=0,si=0;function _o(t){if(!Number.isFinite(t)||t<0)return NaN;if(t<=0)return 0;let e=t>=10,n=!1;if(!(e&&t===Ba))if(e)n=!0,Ba=t,ri=Math.sqrt(t),ym=6*t*t,Im=Math.floor(t-1.1484);else for(t!==Ba&&(Ba=t,Mm=Math.max(1,Math.trunc(t)),bn=0,Qa=wm=$c=Math.exp(-t));;){let h=W();if(h<=wm)return 0;if(bn>0){let N=h>.458?Math.min(bn,Mm):1;for(let p=N;p<=bn;p++)if(h<=gm[p])return p;if(bn===35)continue}bn++;for(let N=bn;N<=35;N++)if($c*=t/N,Qa+=$c,gm[N]=Qa,h<=Qa)return bn=N,N;bn=35}let r=-1,o=0,s=0,i=0,a=t+ri*Cn();if(a>=0&&(r=Math.floor(a),r>=Im||(o=r,s=t-o,i=W(),ym*i>=s*s*s)))return r;(n||t!==bm)&&(bm=t,vm=dm/ri,To=r8/t,oi=.3*To*To,si=e8*To*oi,Rm=oi-15*si,Em=To-6*oi+45*si,Am=1-To+3*oi-15*si,xm=.1069/t);let c=0,f=0,u=0,l=0,m=()=>{if(r<10)c=-t,f=Math.pow(t,r)/o8[r];else{let p=n8/o;p=p*(1-4.8*p*p);let d=s/o;Math.abs(d)<=.25?c=o*d*d*(((((((t8*d+J7)*d+Z7)*d+Y7)*d+K7)*d+H7)*d+X7)*d+W7)-p:c=o*Math.log(1+d)-s-p,f=dm/Math.sqrt(o)}let h=(.5-s)/ri,N=h*h;u=-.5*N,l=vm*(((si*N+Rm)*N+Em)*N+Am)};if(a>=0&&(m(),l-i*l<=f*Math.exp(c-u)))return r;for(;;){let h=Ve();i=2*W()-1;let N=1.8+(i>=0?h:-h);if(N>-.6744&&(r=Math.floor(t+ri*N),o=r,s=t-o,m(),xm*Math.abs(i)<=f*Math.exp(c+h)-l*Math.exp(u+h)))break}return r}function s8(t,e){return Y(t,()=>_o(e))}function i8(t,e){return Y(t,()=>!Number.isFinite(e)||e<=0||e>1?NaN:_o(Ve()*((1-e)/e)))}function a8(t,e,n){let{prob:r,mu:o}=n;if(r===void 0==(o===void 0))throw new TypeError("specify exactly one of prob and mu");let s=Number.isFinite(e)?e:Number.MAX_VALUE/2;if(o!==void 0)return Y(t,()=>!Number.isFinite(o)||Number.isNaN(e)||e<=0||o<0?NaN:o===0?0:_o(wn(s,o/s)));let i=r;return Y(t,()=>!Number.isFinite(i)||Number.isNaN(e)||e<=0||i<=0||i>1?NaN:i===1?0:_o(wn(s,(1-i)/i)))}var c8=5.656854,f8=.36787944117144233,u8=.04166669,l8=.02083148,m8=.00801191,h8=.00144121,N8=-7388e-8,p8=24511e-8,d8=2424e-7,M8=.3333333,g8=-.250003,b8=.2000062,w8=-.1662921,y8=.1423657,v8=-.1367177,I8=.1233795,Fm=0,km=0,Ee=0,Do=0,qm=0,zc=0,ii=0,ai=0,Ua=0;function Sm(t){let e=t/(Ee+Ee);return Math.abs(e)<=.25?zc+.5*t*t*((((((I8*e+v8)*e+y8)*e+w8)*e+b8)*e+g8)*e+M8)*e:zc-Ee*t+.25*t*t+(Do+Do)*Math.log(1+e)}function wn(t,e){if(Number.isNaN(t)||Number.isNaN(e))return NaN;if(t<=0||e<=0)return e===0||t===0?0:NaN;if(!Number.isFinite(t)||!Number.isFinite(e))return 1/0;if(t<1){let i=1+f8*t,a;for(;;){let c=i*W();if(c>=1){if(a=-Math.log((i-c)/t),Ve()>=(1-t)*Math.log(a))break}else if(a=Math.exp(Math.log(c)/t),Ve()>=a)break}return e*a}t!==Fm&&(Fm=t,Do=t-.5,Ee=Math.sqrt(Do),qm=c8-Ee*12);let n=Cn(),r=Ee+.5*n,o=r*r;if(n>=0)return e*o;let s=W();if(qm*s<=n*n*n)return e*o;if(t!==km){km=t;let i=1/t;zc=((((((d8*i+p8)*i+N8)*i+h8)*i+m8)*i+l8)*i+u8)*i,t<=3.686?(ii=.463+Ee+.178*Do,ai=1.235,Ua=.195/Ee-.079+.16*Ee):t<=13.022?(ii=1.654+.0076*Do,ai=1.68/Ee+.275,Ua=.062/Ee+.024):(ii=1.77,ai=.75,Ua=.1515/Ee)}if(r>0){let i=Sm(n);if(Math.log(1-s)<=i)return e*o}for(;;){let i=Ve();if(s=W(),s=s+s-1,n=s<0?ii-ai*i:ii+ai*i,n>=-.71874483771719){let a=Sm(n);if(a>0){let c=Math.expm1(a);if(Ua*Math.abs(s)<=c*Math.exp(i-.5*n*n))break}}}return r=Ee+.5*n,e*r*r}function x8(t,e,n={}){let r=Ds(n);return Y(t,()=>wn(e,r))}function ci(t){return!Number.isFinite(t)||t<0?NaN:wn(t/2,2)}function A8(t,e){if(!Number.isFinite(t)||!Number.isFinite(e)||t<0||e<0)return NaN;if(e===0)return t===0?0:wn(t/2,2);let n=_o(e/2);return n>0&&(n=ci(2*n)),t>0&&(n+=wn(t/2,2)),n}function br(t,e,n={}){let{ncp:r}=n;return r===void 0?Y(t,()=>ci(e)):Y(t,()=>A8(e,r))}function E8(t,e,n={}){let{ncp:r}=n;if(r===void 0)return Y(t,()=>Number.isNaN(e)||e<=0?NaN:Number.isFinite(e)?Cn()/Math.sqrt(ci(e)/e):Cn());if(Number.isNaN(r))return Y(t,()=>NaN);let o=Y(t,()=>Va(r,1)),s=br(t,e);return o.map((i,a)=>i/Math.sqrt(s[a]/e))}function R8(t,e,n,r={}){let{ncp:o}=r;if(o===void 0)return Y(t,()=>{if(Number.isNaN(e)||Number.isNaN(n)||e<=0||n<=0)return NaN;let a=Number.isFinite(e)?ci(e)/e:1,c=Number.isFinite(n)?ci(n)/n:1;return a/c});let s=br(t,e,{ncp:o}),i=br(t,n);return s.map((a,c)=>a/e/(i[c]/n))}var F8=1024*Math.LN2,fi=0,Lm=0,Wc=0,Tm=0,_m=0,Dm=-1,jm=-1;function Xc(t,e){let n=fi*Math.log(t/(1-t));if(n<=F8){let r=e*Math.exp(n);return Number.isFinite(r)||(r=Number.MAX_VALUE),[n,r]}return[n,Number.MAX_VALUE]}function k8(t,e){if(Number.isNaN(t)||Number.isNaN(e)||t<0||e<0)return NaN;if(!Number.isFinite(t)&&!Number.isFinite(e))return .5;if(t===0&&e===0)return W()<.5?0:1;if(!Number.isFinite(t)||e===0)return 1;if(!Number.isFinite(e)||t===0)return 0;let n=Dm===t&&jm===e;n||(Dm=t,jm=e);let r=Math.min(t,e),o=Math.max(t,e),s=r+o,i,a;if(r<=1){for(n||(fi=1/r,Wc=1+o-r,Tm=Wc*(.0138889+.0416667*r)/(o*fi-.777778),_m=.25+(.5+.25/Wc)*r);;){let u=W(),l=W(),m;if(u<.5){let h=u*l;if(m=u*h,.25*l+m-h>=Tm)continue}else{if(m=u*u*l,m<=.25){[i,a]=Xc(u,o);break}if(m>=_m)continue}if([i,a]=Xc(u,o),s*(Math.log(s/(r+a))+i)-1.3862944>=Math.log(m))break}return t===r?r/(r+a):a/(r+a)}n||(fi=Math.sqrt((s-2)/(2*r*o-s)),Lm=r+1/fi);let c,f;do{let u=W(),l=W();[i,a]=Xc(u,r);let m=u*u*l;c=Lm*i-1.3862944;let h=r+c-a;if(h+2.609438>=5*m||(f=Math.log(m),h>f))break}while(c+s*Math.log(s/(o+a))<f);return t!==r?o/(o+a):a/(o+a)}function q8(t,e,n,r={}){let{ncp:o}=r;if(o===void 0)return Y(t,()=>k8(e,n));let s=br(t,2*e,{ncp:o}),i=br(t,2*n);return s.map((a,c)=>a/(a+i[c]))}var S8=2147483647,wr=0,ui=0,jo=0,On=0,Ga=0,$a=0,Pm=0,Cm=0,li=0,za=0,Wa=0,Po=0,Xa=0,Hc=-1,Om=-1,Se=0;function Ha(t){let e=t*t;return(13860-(462-(132-(99-140/e)/e)/e)/e)/t/166320}function Ka(t,e){if(!Number.isFinite(t))return NaN;let n=Math.round(t);if(n!==t)return NaN;if(!Number.isFinite(e)||n<0||e<0||e>1)return NaN;if(n===0||e===0)return 0;if(e===1)return n;if(n>=S8)return $s(W(),n,e,{lowerTail:!1});let r=n,o=Math.min(e,1-e),s=1-o,i=r*o,a=o/s,c=a*(r+1),f;if(e!==Hc||r!==Om)if(Hc=e,Om=r,i<30)Cm=pm(s,r),f=!0;else{f=!1,ui=i+o,Se=Math.trunc(ui),jo=i*s,On=Math.trunc(2.195*Math.sqrt(jo)-4.6*s)+.5,Po=Se+.5,li=Po-On,Xa=Po+On,wr=.134+20.5/(15.3+Se);let l=(ui-li)/(ui-li*o);za=l*(1+.5*l),l=(Xa-ui)/(Xa*s),Wa=l*(1+.5*l),Ga=On*(1+wr+wr),$a=Ga+wr/za,Pm=$a+wr/Wa}else f=i<30;let u;if(f)t:for(;;){u=0;let l=Cm,m=W();for(;;){if(m<l)break t;if(u>110)break;m-=l,u++,l*=c/u-a}}else for(;;){let l=W()*Pm,m=W();if(l<=On){u=Math.trunc(Po-On*m+l);break}if(l<=Ga){let N=li+(l-On)/wr;if(m=m*wr+1-Math.abs(Po-N)/On,m>1||m<=0)continue;u=Math.trunc(N)}else if(l>$a){if(u=Math.trunc(Xa-Math.log(m)/Wa),u>r)continue;m=m*(l-$a)*Wa}else{if(u=Math.trunc(li+Math.log(m)/za),u<0)continue;m=m*(l-Ga)*za}let h=Math.abs(u-Se);if(h<=20||h>=jo/2-1){let N=1;if(Se<u)for(let p=Se+1;p<=u;p++)N*=c/p-a;else if(Se>u)for(let p=u+1;p<=Se;p++)N/=c/p-a;if(m<=N)break}else{let N=h/jo*((h*(h/3+.625)+.1666666666666)/jo+.5),p=-h*h/(2*jo),d=Math.log(m);if(d<p-N)break;if(d<=p+N){let M=u+1,b=Se+1,g=r+1-Se,w=r-u+1;if(d<=Po*Math.log(b/M)+(r-Se+.5)*Math.log(g/w)+(u-Se)*Math.log(w*o/(M*s))+Ha(b)+Ha(g)+Ha(M)+Ha(w))break}}}return Hc>.5&&(u=r-u),u}function L8(t,e,n){return Y(t,()=>Ka(e,n))}function T8(t,e,n){if(!Number.isFinite(e)||e<0||Math.round(e)!==e)throw new RangeError("size must be a non-negative integer");let r=0;for(let a of n){if(!Number.isFinite(a)||a<0)throw new RangeError("prob must contain non-negative finite numbers");r+=a}if(r===0)throw new RangeError("prob must contain at least one positive value");let o=n.map(a=>a/r),s=o.length,i=()=>{let a=new Array(s).fill(0),c=e,f=1;for(let u=0;u<s-1;u++){if(o[u]){let l=o[u]/f;a[u]=l<1?Ka(c,l):c,c-=a[u]}if(c<=0)return a;f-=o[u]}return a[s-1]=c,a};if(!Number.isFinite(t)||t<0)throw new RangeError("n must be a non-negative finite number");return Array.from({length:Math.trunc(t)},i)}function _8(t,e){return Y(t,()=>{if(Number.isNaN(e))return NaN;let n=Math.round(e);if(n<0)return NaN;if(n===0)return 0;let r=0;for(let o=1;o<=n;o++)r+=o*Math.floor(W()+.5);return r})}function D8(t,e,n){return Y(t,()=>{if(Number.isNaN(e)||Number.isNaN(n))return NaN;let r=Math.round(e),o=Math.round(n);if(r<0||o<0)return NaN;if(r===0||o===0)return 0;let s=r+o,i=new Int32Array(s);for(let c=0;c<s;c++)i[c]=c;let a=0;for(let c=0;c<o;c++){let f=gr(s);a+=i[f],i[f]=i[--s]}return a-o*(o-1)/2})}function j8(t,e={}){return Vm(t,e).map(n=>n-1)}function Vm(t,e){if(!Number.isFinite(t)||t<0||t>=2**31)throw new RangeError("n must be a non-negative number less than 2^31");t=Math.trunc(t);let{replace:n=!1,prob:r}=e,o=e.size!==void 0,s=o?e.size:t;if(!Number.isFinite(s)||s<0)throw new RangeError("size must be a non-negative number");let i=Math.trunc(s);if(r!==void 0){if(r.length!==t)throw new TypeError("prob must have length n");let u=C8(r,i,n);if(n){let l=0;for(let m=0;m<t;m++)t*u[m]>.1&&l++;return l>200?Q8(u,i):V8(u,i)}if(i>t)throw new RangeError("cannot take a sample larger than the population when replace is false");return B8(u,i)}if(!n&&i>t)throw new RangeError("cannot take a sample larger than the population when replace is false");if(!n&&t>1e7&&o&&i<=t/2){let u=new Set,l=[];for(;l.length<i;){let m=gr(t);u.has(m)||(u.add(m),l.push(m+1))}return l}let a=new Array(i);if(n||i<2){for(let u=0;u<i;u++)a[u]=gr(t)+1;return a}let c=new Int32Array(t);for(let u=0;u<t;u++)c[u]=u;let f=t;for(let u=0;u<i;u++){let l=gr(f);a[u]=c[l]+1,c[l]=c[--f]}return a}function P8(t,e={}){return Vm(t.length,e).map(n=>t[n-1])}function C8(t,e,n){let r=0,o=0;for(let s of t){if(!Number.isFinite(s))throw new RangeError("prob contains NaN or infinite values");if(s<0)throw new RangeError("prob contains negative values");s>0&&(o++,r+=s)}if(o===0||!n&&e>o)throw new RangeError("too few positive probabilities");return Float64Array.from(t,s=>s/r)}function O8(t,e){let n=t.length;if(n<=1)return;let r=c=>t[c-1],o=(n>>1)+1,s=n,i,a;for(;;){if(o>1)o=o-1,i=r(o),a=e[o-1];else if(i=r(s),a=e[s-1],t[s-1]=r(1),e[s-1]=e[0],--s===1){t[0]=i,e[0]=a;return}let c=o,f=o<<1;for(;f<=s;)f<s&&r(f)>r(f+1)&&++f,i>r(f)?(t[c-1]=r(f),e[c-1]=e[f-1],c=f,f+=f):f=s+1;t[c-1]=i,e[c-1]=a}}function Bm(t){let e=new Int32Array(t.length);for(let n=0;n<t.length;n++)e[n]=n+1;return O8(t,e),e}function V8(t,e){let n=Float64Array.from(t),r=n.length,o=Bm(n);for(let i=1;i<r;i++)n[i]+=n[i-1];let s=new Array(e);for(let i=0;i<e;i++){let a=W(),c=0;for(;c<r-1&&!(a<=n[c]);c++);s[i]=o[c]}return s}function B8(t,e){let n=Float64Array.from(t),r=n.length,o=Bm(n),s=new Array(e),i=1;for(let a=0,c=r-1;a<e;a++,c--){let f=i*W(),u=0,l=0;for(;l<c&&(u+=n[l],!(f<=u));l++);s[a]=o[l],i-=n[l];for(let m=l;m<c;m++)n[m]=n[m+1],o[m]=o[m+1]}return s}function Q8(t,e){let n=t.length,r=new Float64Array(n),o=new Int32Array(n),s=new Int32Array(n),i=-1,a=n;for(let f=0;f<n;f++)r[f]=t[f]*n,r[f]<1?s[++i]=f:s[--a]=f;if(i>=0&&a<n)for(let f=0;f<n-1;f++){let u=s[f],l=s[a];if(o[u]=l,r[l]+=r[u]-1,r[l]<1&&a++,a>=n)break}let c=new Array(e);for(let f=0;f<e;f++){let u=gr(n);c[f]=W()<r[u]?u+1:o[u]+1}return c}var Kc=2147483647,U8=.9189385332046728,G8=.0078,$8=.0034,z8=1e25,W8=57.564627324851145,X8=[0,0,.6931471805599453,1.791759469228055,3.1780538303479458,4.787491742782046,6.579251212010101,8.525161361065415];function vt(t){if(t<0)return 0;if(t<=7)return X8[t];let e=t,n=e*e;return(e+.5)*Math.log(e)-e+U8+(.0833333333333333-.00277777777777778/n)/e}var Qm=-1,Um=-1,Gm=-1,$t=0,mi=0,hi=0,nt=0,Vt=0,Ft=0,yn=0,$m=0,e0=0,Ni=0,Be=0,en=0,zm=0,Wm=0,Ya=0,Za=0,Ja=0,t0=0,Xm=0;function H8(t,e,n){if(!Number.isFinite(t)||!Number.isFinite(e)||!Number.isFinite(n))return NaN;if(t=Math.round(t),e=Math.round(e),n=Math.round(n),t<0||e<0||n<0||n>t+e)return NaN;if(t>=Kc||e>=Kc||n>=Kc)return n===1?Ka(n,t/(t+e)):tc(W(),t,e,n,!1,!1);let r=t,o=e,s=n,i,a;r!==Um||o!==Gm?(i=!0,a=!0):s!==Qm?(i=!1,a=!0):(i=!1,a=!1),i&&(Um=r,Gm=o,yn=r+o,r<=o?(Vt=r,Ft=o):(Vt=o,Ft=r)),a&&(Qm=s,nt=s+s>=yn?Math.trunc(yn-s):s),(i||a)&&($t=Math.trunc((nt+1)*(Vt+1)/(yn+2)),mi=Math.max(0,nt-Ft),hi=Math.min(Vt,nt));let c;if(mi===hi)c=hi;else if($t-mi<10){if(i||a){let f;nt<Ft?f=vt(Ft)+vt(Vt+Ft-nt)-vt(Ft-nt)-vt(Vt+Ft):f=vt(Vt)+vt(nt)-vt(nt-Ft)-vt(Vt+Ft),$m=Math.exp(f+W8)}t:for(;;){c=mi;let f=W()*z8,u=$m;for(;f>u;)if(f-=u,u*=(Vt-c)*(nt-c),c++,u=u/c/(Ft-nt+c),c>hi)continue t;break}}else{if(i||a){let u=Math.sqrt((yn-nt)*nt*Vt*Ft/(yn-1)/yn/yn);Ni=Math.trunc(1.5*u)+.5,Be=$t-Ni+.5,en=$t+Ni+.5,e0=vt($t)+vt(Vt-$t)+vt(nt-$t)+vt(Ft-nt+$t),zm=Math.exp(e0-vt(Math.trunc(Be))-vt(Math.trunc(Vt-Be))-vt(Math.trunc(nt-Be))-vt(Math.trunc(Ft-nt+Be))),Wm=Math.exp(e0-vt(Math.trunc(en-1))-vt(Math.trunc(Vt-en+1))-vt(Math.trunc(nt-en+1))-vt(Math.trunc(Ft-nt+en-1))),Ya=-Math.log(Be*(Ft-nt+Be)/(Vt-Be+1)/(nt-Be+1)),Za=-Math.log((Vt-en+1)*(nt-en+1)/en/(Ft-nt+en)),Ja=Ni+Ni,t0=Ja+zm/Ya,Xm=t0+Wm/Za}let f=0;for(;;){let u=W()*Xm,l=W();if(++f>=1e4)return NaN;if(u<Ja)c=Math.trunc(Be+u);else if(u<=t0){if(c=Math.trunc(Be+Math.log(l)/Ya),c<mi)continue;l=l*(u-Ja)*Ya}else{if(c=Math.trunc(en-Math.log(l)/Za),c>hi)continue;l=l*(u-t0)*Za}if(K8(c,l))break}}return s+s>=yn?c=r>o?s-o+c:r-c:r>o&&(c=s-c),c}function K8(t,e){if($t<100||t<=50){let q=1;if($t<t)for(let A=$t+1;A<=t;A++)q=q*(Vt-A+1)*(nt-A+1)/(Ft-nt+A)/A;else if($t>t)for(let A=t+1;A<=$t;A++)q=q*A*(Ft-nt+A)/(Vt-A+1)/(nt-A+1);return e<=q}let n=t,r=n+1,o=n-$t,s=Vt-n+1,i=nt-n+1,a=Ft-nt+r,c=-o/r,f=o/s,u=o/i,l=-o/a,m=s*i/(r*a)-1,h=m<0?1+m:1,N=m*(1+m*(-.5+m/3)),p=N-.25*(m*m*m*m)/h,d=$t+.5,M=Vt-$t+.5,b=nt-$t+.5,g=Ft-nt+d,w=q=>q*(1+q*(-.5+q/3)),v=n*N-$t*p+$8+d*w(c)+M*w(f)+b*w(u)+g*w(l),x=Math.log(e);if(x>v)return!1;let I=(q,A)=>{let j=q*(A*A*A*A);return A<0?j/(1+A):j},F=I(d,c),R=I(M,f),y=I(b,u),E=I(g,l);return x<v-.25*(F+R+y+E)+(n+$t)*(p-N)-G8?!0:x<=e0-vt(t)-vt(Vt-t)-vt(nt-t)-vt(Ft-nt+t)}function Y8(t,e,n,r){return Y(t,()=>H8(e,n,r))}function Z8(t,e,n={}){let{beta:r=1}=n;return Y(t,()=>e>0&&r>0&&Number.isFinite(e)&&Number.isFinite(r)?1/wn(e,1/r):NaN)}function J8(t,e,n){return Y(t,()=>e>0&&n>0&&Number.isFinite(e)&&Number.isFinite(n)?Zs(1-W(),e,n,!0,!1):NaN)}function t9(t,e={}){let{a:n=1,b:r=1}=e;return Y(t,()=>n>0&&r>0&&Number.isFinite(n)&&Number.isFinite(r)?jc(1-W(),n,r,!0,!1):NaN)}function e9(t,e={}){let{a:n=-1,b:r=1}=e,o=e.c??(n+r)/2;return Y(t,()=>{if(!(Number.isFinite(n)&&Number.isFinite(r)&&n<r&&n<=o&&o<=r))return NaN;let s=W(),i=W(),a=(o-n)/(r-n);return n+(r-n)*((1-a)*Math.min(s,i)+a*Math.max(s,i))})}function n9(t,e={}){let{mu:n=0,sigma:r=1}=e;return Y(t,()=>{if(!(Number.isFinite(n)&&r>0&&Number.isFinite(r)))return NaN;let o=Ve(),s=W()>.5?1:-1;return n+r*s*o})}function r9(t,e={}){let{a:n=0,b:r=1}=e;return Y(t,()=>Number.isFinite(n)&&Number.isFinite(r)&&n<r?Bc(W(),n,r,!0,!1):NaN)}function ye(t){let e=t.length;if(!t.every(Number.isFinite))return[t.reduce((s,i)=>s+i,0)/e,0];let n=[0,0];for(let s of t)n=k(n,[s,0]);let r=xe(n,e);if(!Number.isFinite(r[0]))return[n[0]/e,0];let o=[0,0];for(let s of t)o=k(o,$([s,0],r));return k(r,xe(o,e))}function Tt(t){return t.length===0?NaN:ye(t)[0]}function Jt(t){return Yc(t,t)}function Yc(t,e){let n=t.length;if(n<2)return NaN;let r=ye(t),o=t===e?r:ye(e);if(!Number.isFinite(r[0])||!Number.isFinite(o[0]))return NaN;let s=t.map(h=>$([h,0],r)),i=t===e?s:e.map(h=>$([h,0],o)),a=Hm(s),c=t===e?a:Hm(i),f=2**-a,u=2**-c,l=[0,0];for(let h=0;h<n;h++){let N=[s[h][0]*f,s[h][1]*f],p=[i[h][0]*u,i[h][1]*u];l=k(l,L(N,p))}return xe(l,n-1)[0]*2**a*2**c}function Hm(t){let e=0;for(let n of t)e=Math.max(e,Math.abs(n[0]));return e===0||!Number.isFinite(e)?0:Math.max(-1022,Math.floor(Math.log2(e)))}function Km(t){let e=[0,0];for(let n of t)e=k(e,[n,0]);return e[0]}function le(t){let e=t.length,n=Array.from({length:e},(s,i)=>i);n.sort((s,i)=>t[s]-t[i]||s-i);let r=new Array(e),o=0;for(;o<e;){let s=o;for(;s+1<e&&t[n[s+1]]===t[n[o]];)s++;let i=(o+s+2)/2;for(let a=o;a<=s;a++)r[n[a]]=i;o=s+1}return r}function Le(t){let e=[...t].sort((o,s)=>o-s),n=[],r=0;for(;r<e.length;){let o=r;for(;o+1<e.length&&e[o+1]===e[r];)o++;o>r&&n.push(o-r+1),r=o+1}return n}function yr(t){return t.filter(e=>!Number.isNaN(e))}function Co(t,e){if(t.length!==e.length)throw new TypeError("x and y must have the same length");let n=[],r=[];for(let o=0;o<t.length;o++)!Number.isNaN(t[o])&&!Number.isNaN(e[o])&&(n.push(t[o]),r.push(e[o]));return[n,r]}function ct(t){if(t===void 0)return"two.sided";let n=["two.sided","less","greater"].filter(r=>r.startsWith(t));if(t.length===0||n.length!==1)throw new RangeError(`invalid alternative "${t}" (expected "two.sided", "less" or "greater")`);return n[0]}function n0(t){if(!(Number.isFinite(t)&&t>=0&&t<=1))throw new RangeError("confLevel must be a number between 0 and 1")}function nn(t){if(!(Number.isFinite(t)&&t>0&&t<1))throw new RangeError("'conf.level' must be a single number between 0 and 1")}function Zc(t,e,n={}){let r;e!==void 0&&!ArrayBuffer.isView(e)&&!Array.isArray(e)?n=e:r=e;let o=ct(n.alternative),s=n.mu??0,i=n.paired??!1,a=n.varEqual??!1,c=n.confLevel??.95;if(Number.isNaN(s))throw new RangeError("mu must be a number");if(n0(c),i&&r===void 0)throw new TypeError("y is required when paired is true");let f=Array.from(t),u=r===void 0?void 0:Array.from(r);if(i){let[I,F]=Co(f,u);f=I.map((R,y)=>R-F[y]),u=void 0}else f=yr(f),u!==void 0&&(u=yr(u));let l,m,h,N,p,d,M,b=f.length;if(b<2)throw new Error("not enough 'x' observations");let g=Tt(f),w=Jt(f);if(u===void 0){if(m=b-1,h=Math.sqrt(w/b),h<10*Number.EPSILON*Math.abs(g))throw new Error("data are essentially constant");l=(g-s)/h,d=i?"Paired t-test":"One Sample t-test",N=g,p=i?"mean difference":"mean of x",M=i?"mean difference":"mean"}else{let I=u.length;if(I<1||!a&&I<2)throw new Error("not enough 'y' observations");if(a&&b+I<3)throw new Error("not enough observations");let F=Tt(u),R=Jt(u);if(d=`${a?"":"Welch"} Two Sample t-test`,N=[g,F],p=["mean of x","mean of y"],M="difference in means",a){m=b+I-2;let y=0;b>1&&(y+=(b-1)*w),I>1&&(y+=(I-1)*R),y/=m,h=Math.sqrt(y*(1/b+1/I))}else{let y=w/b,E=R/I;h=Math.sqrt(y+E),m=(h*h)**2/(y*y/(b-1)+E*E/(I-1))}if(h<10*Number.EPSILON*Math.max(Math.abs(g),Math.abs(F)))throw new Error("data are essentially constant");l=(g-F-s)/h}let v,x;if(o==="less")v=se(l,m,!0,!1),x=[-1/0,l+Dn(c,m,!0,!1)];else if(o==="greater")v=se(l,m,!1,!1),x=[l-Dn(c,m,!0,!1),1/0];else{v=2*se(-Math.abs(l),m,!0,!1);let I=1-c,F=Dn(1-I/2,m,!0,!1);x=[l-F,l+F]}return x=[s+x[0]*h,s+x[1]*h],{method:d,alternative:o,statistic:l,statisticName:"t",parameter:m,parameterName:"df",pValue:v,confInt:x,confLevel:c,estimate:N,estimateNames:p,nullValue:s,nullValueName:M,stdErr:h}}function vn(t){let e=[0,0],n=0;for(let r of t)e=k(e,[r,0]),n+=r;return Number.isFinite(n)?e[0]:n}function o9(t,e={}){let n=e.correct??!0;if(t.length>0&&typeof t[0]!="number"){let o=t.map(i=>Array.from(i)),s=o[0].length;if(o.some(i=>i.length!==s))throw new TypeError("all rows of the matrix must have the same length");return o.length===1?Jc(o[0],e):s===1?Jc(o.map(i=>i[0]),e):s9(o,n)}return Jc(Array.from(t),e)}function Ym(t,e){return Number.isNaN(t)?NaN:Lt(t,e/2,2,!1,!1)}function Zm(t){if(!t.some(e=>e<5)&&t.some(Number.isNaN))throw new RangeError("missing value where TRUE/FALSE needed (the expected counts contain NaN)")}function Jc(t,e){let n=t.length;if(t.some(f=>Number.isNaN(f)||f<0))throw new RangeError("all entries of 'x' must be non-negative and finite");if(n<2)throw new TypeError("'x' must have at least 2 elements");let r=vn(t);if(!(r>0))throw new RangeError("at least one entry of 'x' must be positive");let o=e.p===void 0?t.map(()=>1/n):Array.from(e.p);if(o.length!==n)throw new TypeError("'x' and 'p' must have the same number of elements");if(o.some(Number.isNaN))throw new RangeError("p contains missing values");if(o.some(f=>f<0))throw new RangeError("probabilities must be non-negative");if(e.rescaleP??!1){let f=vn(o);o=o.map(u=>u/f)}else if(Math.abs(vn(o)-1)>Math.sqrt(Number.EPSILON))throw new RangeError("probabilities must sum to 1");let s=o.map(f=>r*f);Zm(s);let i=o.map((f,u)=>s[u]*(1-f)),a=vn(t.map((f,u)=>(f-s[u])**2/s[u])),c=n-1;return{method:"Chi-squared test for given probabilities",statistic:a,statisticName:"X-squared",parameter:c,parameterName:"df",pValue:Ym(a,c),observed:t,expected:s,residuals:t.map((f,u)=>(f-s[u])/Math.sqrt(s[u])),stdres:t.map((f,u)=>(f-s[u])/Math.sqrt(i[u]))}}function s9(t,e){let n=t.length,r=t[0].length,o=t.flat();if(o.some(p=>!(p>=0&&p<1/0)))throw new RangeError("all entries of 'x' must be non-negative and finite");let s=vn(o);if(!(s>0))throw new RangeError("at least one entry of 'x' must be positive");let i=t.map(p=>vn(p)),a=t[0].map((p,d)=>vn(t.map(M=>M[d]))),c=i.map(p=>a.map(d=>p*d/s));Zm(c.flat());let f=t.map((p,d)=>p.map((M,b)=>M-c[d][b])),u="Pearson's Chi-squared test",l,m=e&&n===2&&r===2?Math.min(.5,...f.flat().map(Math.abs)):0;m>0?(u+=" with Yates' continuity correction",l=vn(f.flatMap((p,d)=>p.map((M,b)=>(Math.abs(M)-m)**2/c[d][b])))):l=vn(f.flatMap((p,d)=>p.map((M,b)=>M*M/c[d][b])));let h=(n-1)*(r-1),N=c.map((p,d)=>p.map((M,b)=>M*(1-i[d]/s)*(1-a[b]/s)));return{method:u,statistic:l,statisticName:"X-squared",parameter:h,parameterName:"df",pValue:Ym(l,h),observed:t,expected:c,residuals:f.map((p,d)=>p.map((M,b)=>M/Math.sqrt(c[d][b]))),stdres:f.map((p,d)=>p.map((M,b)=>M/Math.sqrt(N[d][b])))}}var i9=Math.pow(Number.EPSILON,.25);function Jm(t,e,n,r=i9){let o=.5*(3-Math.sqrt(5)),s=Math.sqrt(Number.EPSILON),i=e,a=n,c=i+o*(a-i),f=c,u=c,l=0,m=0,h=t(u),N=h,p=h,d=1,M=r/3;for(;;){let b=.5*(i+a),g=s*Math.abs(u)+M,w=2*g;if(Math.abs(u-b)<=w-.5*(a-i))break;let v=!0;if(Math.abs(m)>g){let F=(u-f)*(h-N),R=(u-c)*(h-p),y=(u-c)*R-(u-f)*F;if(R=2*(R-F),R>0?y=-y:R=-R,F=m,m=l,Math.abs(y)<Math.abs(.5*R*F)&&y>R*(i-u)&&y<R*(a-u)){l=y/R;let E=u+l;(E-i<w||a-E<w)&&(l=u<=b?g:-g),v=!1}}v&&(m=u<b?a-u:i-u,l=o*m);let x=Math.abs(l)>=g?u+l:l>=0?u+g:u-g,I=t(x);d++,I<=h?(x<u?a=u:i=u,c=f,N=p,f=u,p=h,u=x,h=I):(x<u?i=x:a=x,I<=p||f===u?(c=f,N=p,f=x,p=I):(I<=N||c===u||c===f)&&(c=x,N=I))}return{x:u,fx:h,evaluations:d}}var a9=["OK","maximum number of subdivisions reached","roundoff error was detected","extremely bad integrand behaviour","roundoff error is detected in the extrapolation table","the integral is probably divergent","the input is invalid"],ef=Number.EPSILON**.25;function c9(t,e,n,r={}){let o=r.subdivisions??100,s=r.relTol??ef,i=r.absTol??s,a=r.stopOnError??!0;if(Number.isNaN(e)||Number.isNaN(n))throw new RangeError("a limit is NA or NaN");if(o<1||i<=0&&s<Math.max(50*Number.EPSILON,5e-29))throw new RangeError("invalid parameter values");let c=l=>{let m=t(l);if(!Number.isFinite(m))throw new RangeError("non-finite function value");return m},f=Number.isFinite(e)&&Number.isFinite(n)?ei(c,e,n,i,s,o):Number.isFinite(e)?So(c,e,1,i,s,o):Number.isFinite(n)?So(c,n,-1,i,s,o):So(c,0,2,i,s,o),u=a9[f.ier]??"unknown error";if(f.ier===6)throw new RangeError("the input is invalid");if(f.ier!==0&&a)throw new RangeError(u);return{value:f.result,absError:f.abserr,subdivisions:f.last,ier:f.ier,message:u}}function f9(t,e,n,r={}){let o=r.maximum??!1,s=r.tol??ef;if(!(e<n))throw new RangeError("'xmin' not less than 'xmax'");let i=Jm(o?a=>-t(a):t,e,n,s);return{optimum:i.x,objective:t(i.x)}}function nf(t,e,n,r={}){let o=r.tol??ef,s=r.maxiter??1e3,i=r.extendInt??"no";if(!(e<n))throw new RangeError("lower < upper is not fulfilled");let a=r.fLower??t(e),c=r.fUpper??t(n);if(Number.isNaN(a))throw new RangeError("f.lower = f(lower) is NA");if(Number.isNaN(c))throw new RangeError("f.upper = f(upper) is NA");let f=d=>Math.max(-Number.MAX_VALUE,Math.min(Number.MAX_VALUE,d)),u=d=>.01*Math.max(1e-4,Math.abs(d)),l=i==="downX"?-1:i==="upX"?1:0,m=i==="yes"?f(a)*f(c)>0:l!==0&&(l*f(a)>0||l*f(c)<0),h=0,N=()=>{if(++h>s)throw new RangeError(`no sign change found in ${h-1} iterations`)};if(m&&i==="yes"){let d=u(e),M=u(n);for(;a*c>0&&(Number.isFinite(e)||Number.isFinite(n));){if(N(),Number.isFinite(e)){let b=e-d,g=t(b);Number.isNaN(g)?d/=4:[e,a]=[b,g]}if(Number.isFinite(n)){let b=n+M,g=t(b);Number.isNaN(g)?M/=4:[n,c]=[b,g]}d*=2,M*=2}}else if(m){let d=u(e);for(;l*a>0;)N(),e-=d,a=t(e),d*=2;for(d=u(n);l*c<0;)N(),n+=d,c=t(n),d*=2}if(!(Math.sign(a)*Math.sign(c)<=0))throw new RangeError(m?"did not succeed extending the interval endpoints for f(lower) * f(upper) <= 0":"f() values at end points not of opposite sign");let p=u9(d=>tf(t(d)),e,n,tf(a),tf(c),o,s);return{root:p.root,fRoot:t(p.root),iter:m?p.iter+h:p.iter,initIt:m?h:NaN,estimPrec:p.estimPrec}}function tf(t){return t===-1/0?-Number.MAX_VALUE:t===1/0||Number.isNaN(t)?Number.MAX_VALUE:t}function u9(t,e,n,r,o,s,i){if(r===0)return{root:e,iter:0,estimPrec:0};if(o===0)return{root:n,iter:0,estimPrec:0};let a=Number.EPSILON,c=e,f=n,u=r,l=o,m=c,h=u,N=f-c,p=N;for(let d=0;d<=i;d++){p=f-c,Math.abs(h)<Math.abs(l)&&(c=f,f=m,m=c,u=l,l=h,h=u);let M=2*a*Math.abs(f)+.5*s,b=.5*(m-f);if(Math.abs(b)<=M||l===0)return{root:f,iter:d,estimPrec:Math.abs(m-f)};if(Math.abs(p)>=M&&Math.abs(u)>Math.abs(l)){let g=l/u,w,v;if(c===m)w=2*b*g,v=1-g;else{v=u/h;let x=l/h;w=g*(2*b*v*(v-x)-(f-c)*(x-1)),v=(v-1)*(x-1)*(g-1)}w>0?v=-v:w=-w,g=p,p=N,2*w>=3*b*v-Math.abs(M*v)||w>=Math.abs(.5*g*v)?(N=b,p=N):N=w/v}else N=b,p=N;c=f,u=l,Math.abs(N)>M?f+=N:b>0?f+=M:f-=M,l=t(f),l*(h/Math.abs(h))>0&&(m=c,h=u,N=f-c,p=N)}return{root:f,iter:i,estimPrec:Math.abs(m-f)}}var l9=Math.pow(Number.EPSILON,.25);function rn(t,e,n,r={}){let o={tol:r.tol??l9,maxiter:r.maxIter??1e3};return r.fLower!==void 0&&(o.fLower=r.fLower),r.fUpper!==void 0&&(o.fUpper=r.fUpper),nf(t,e,n,o).root}function m9(t,e={}){let n=t.length,r=n===0?0:t[0].length;if(t.some(a=>a.length!==r))throw new TypeError("all rows of the matrix must have the same length");if(n<2||r<2)throw new TypeError("'x' must have at least 2 rows and columns");let o=t.map(a=>Array.from(a));if(o.flat().some(a=>Number.isNaN(a)||a<0))throw new RangeError("all entries of 'x' must be non-negative and finite");if(o.flat().some(a=>a===1/0))throw new RangeError("'x' has entries too large to be integer");let s=o.map(a=>a.map(mt)),i="Fisher's Exact Test for Count Data";return n===2&&r===2?p9(s,e,i):{method:i,alternative:e.alternative??"two.sided",pValue:d9(s)}}var h9=1+1e-7,N9=16;function rf(t,e,n){let r=[0,0];for(let o=Math.max(0,e);o<=Math.min(n,t.length-1);o++)t[o]!==0&&(r=k(r,[t[o],0]));return r[0]}var sf=class{m;n;k;lo;hi;logCentral;constructor(e,n,r){this.m=e,this.n=n,this.k=r,this.lo=Math.max(0,r-n),this.hi=Math.min(r,e),this.logCentral=new Float64Array(this.hi-this.lo+1);let o=0,s=1;for(let i=this.lo;i<=this.hi;i++){let a=i-this.lo;a%N9===0||!(s>0&&s<1/0)?(o=lr(i,e,n,r,!0),s=1,this.logCentral[a]=o):this.logCentral[a]=o+Math.log(s),s*=(e-i)*(r-i)/((i+1)*(n-r+i+1))}}density(e){let n=this.logCentral.length,r=Math.log(e),o=new Float64Array(n),s=-1/0;for(let a=0;a<n;a++){let c=this.logCentral[a]+(this.lo+a)*r;o[a]=c,c>s&&(s=c)}for(let a=0;a<n;a++){let c=o[a]-s;o[a]=c<-746?0:Math.exp(c)}let i=rf(o,0,n-1);for(let a=0;a<n;a++)o[a]!==0&&(o[a]=o[a]/i);return o}mean(e){if(e===0)return this.lo;if(e===1/0)return this.hi;let n=this.density(e),r=[0,0];for(let o=0;o<n.length;o++)n[o]!==0&&(r=k(r,[(this.lo+o)*n[o],0]));return r[0]}tail(e,n,r){if(n===1)return r?Fa(e-1,this.m,this.n,this.k,!1,!1):Fa(e,this.m,this.n,this.k,!0,!1);if(n===0||n===1/0){let i=n===0?this.lo:this.hi;return(r?e<=i:e>=i)?1:0}let o=this.density(n),s=e-this.lo;return r?rf(o,s,o.length-1):rf(o,0,s)}};function of(t,e){return e?rn(t,0,1):1/rn(n=>t(1/n),Number.EPSILON,1)}function p9(t,e,n){let r=ct(e.alternative),o=e.or??1;if(!(o>=0))throw new RangeError("'or' must be a single number between 0 and Inf");let s=e.confLevel??.95;if(!(s>0&&s<1))throw new RangeError("confLevel must be a single number between 0 and 1");let[[i,a],[c,f]]=t,u=i,l=new sf(i+c,a+f,i+a),{lo:m,hi:h}=l,N;if(r==="less")N=l.tail(u,o,!1);else if(r==="greater")N=l.tail(u,o,!0);else if(o===0)N=u===m?1:0;else if(o===1/0)N=u===h?1:0;else{let w=l.density(o),v=w[u-m]*h9,x=[0,0];for(let I of w)I<=v&&(x=k(x,[I,0]));N=x[0]}let p;if(u===m)p=0;else if(u===h)p=1/0;else{let w=l.mean(1);p=w===u?1:of(v=>l.mean(v)-u,w>u)}let d={method:n,alternative:r,pValue:N,estimate:p,estimateNames:"odds ratio",nullValue:o,nullValueName:"odds ratio"};if(!(e.confInt??!0))return d;let M=w=>{if(u===h)return 1/0;let v=l.tail(u,1,!1);return v===w?1:of(x=>l.tail(u,x,!1)-w,v<w)},b=w=>{if(u===m)return 0;let v=l.tail(u,1,!0);return v===w?1:of(x=>l.tail(u,x,!0)-w,v>w)},g;if(r==="less")g=[0,M(1-s)];else if(r==="greater")g=[b(1-s),1/0];else{let w=(1-s)/2;g=[b(w),M(w)]}return{...d,confInt:g,confLevel:s}}var r0=[[0,0]];function on(t){for(let e=r0.length;e<=t;e++)r0.push(k(r0[e-1],C([e,0])));return r0[t]}function o0(t,e,n,r){let o=t+n,s=o-t,i=t-(o-s)+(n-s)+e+r,a=o+i;return[a,i-(a-o)]}var af=class{scale=-1/0;hi=0;lo=0;add(e,n,r){if(e>this.scale){let c=Number.isFinite(this.scale)?Math.exp(this.scale-e):0;this.hi*=c,this.lo*=c,this.scale=e}let o=r*Math.exp(e-this.scale)*(1+n),s=this.hi+o,i=s-this.hi,a=this.hi-(s-i)+(o-i)+this.lo;this.hi=s+a,this.lo=a-(this.hi-s)}value(){return this.scale===-1/0?0:this.hi*Math.exp(this.scale)}};function d9(t){let e=t.filter(g=>g.some(w=>w>0));if(e.length===0)throw new RangeError("all entries of the table are zero");let n=e[0].map((g,w)=>e.some(v=>v[w]>0));if(e=e.map(g=>g.filter((w,v)=>n[v])),e.length<2||e[0].length<2)return 1;e.length>e[0].length&&(e=e[0].map((g,w)=>e.map(v=>v[w])));let r=e.length,o=e.map(g=>g.reduce((w,v)=>w+v,0)),s=e[0].map((g,w)=>e.reduce((v,x)=>v+x[w],0)).sort((g,w)=>w-g),i=s.length,a=o.reduce((g,w)=>g+w,0),c=de(on(a));for(let g of o)c=k(c,on(g));for(let g of s)c=k(c,on(g));let f=[0,0];for(let g of e.flat())f=$(f,on(g));let u=k(f,[Math.log1p(1e-7),0]),l=1e-9*(1+Math.abs(u[0])),[m,h]=u,N=Array.from({length:i},()=>new Map),p=(g,w)=>{let v=w.join(","),x=N[g].get(v);if(x!==void 0)return x;let I=k(c,on(w.reduce((A,j)=>A+j,0)));for(let A of w)I=$(I,on(A));for(let A=g;A<i;A++)I=$(I,on(s[A]));let F={R:w,KZ:I,max:0,min:0,edges:[],pastHi:[],pastLo:[],count:[],index:new Map};if(N[g].set(v,F),g===i-1){let A=[0,0];for(let j of w)A=$(A,on(j));return F.max=F.min=A[0],F.edges.push({to:F,hi:A[0],lo:A[1],mult:1}),F}let R=new Map,y=new Array(r+1).fill(0);for(let A=r-1;A>=0;A--)y[A]=y[A+1]+w[A];let E=new Array(r).fill(0),q=(A,j,P)=>{if(A===r-1){E[A]=j;let Z=$(P,on(j)),K=w.map((Bt,kt)=>Bt-E[kt]).sort((Bt,kt)=>Bt-kt),st=p(g+1,K),J=`${K.join(",")}|${Z[0]}`,gt=R.get(J);gt===void 0?R.set(J,{to:st,hi:Z[0],lo:Z[1],mult:1}):gt.mult++;return}let H=Math.max(0,j-y[A+1]),ot=Math.min(w[A],j);for(let Z=H;Z<=ot;Z++)E[A]=Z,q(A+1,j-Z,$(P,on(Z)))};if(q(0,s[g],[0,0]),F.edges=[...R.values()],F.max=Math.max(...F.edges.map(A=>A.hi+A.to.max)),F.min=Math.min(...F.edges.map(A=>A.hi+A.to.min)),g===i-2){let A=F.edges.map(st=>{let J=st.to.edges[0];return{v:k([st.hi,st.lo],[J.hi,J.lo]),mult:st.mult}});A.sort((st,J)=>st.v[0]-J.v[0]||st.v[1]-J.v[1]);let j=A.length,P=A[j-1].v[0],H=new Float64Array(j),ot=new Float64Array(j),Z=new Float64Array(j),K=[0,0];A.forEach(({v:st,mult:J},gt)=>{H[gt]=st[0],ot[gt]=st[1];let Bt=$(st,[P,0]);K=k(K,[J*Math.exp(Bt[0])*(1+Bt[1]),0]),Z[gt]=K[0]}),F.dist={hi:H,lo:ot,cum:Z,vmax:P,kv:k(c,[P,0])}}return F},d=p(0,[...o].sort((g,w)=>g-w)),M=new af,b=(g,w,v,x)=>{if(w+g.max<=m-l){let[q,A]=o0(g.KZ[0],g.KZ[1],w,v);return M.add(q,A,x),!0}if(w+g.min>m+l)return!0;let I=g.dist;if(I===void 0)return!1;let[F,R]=o0(m,h,-w,-v),y=0,E=I.hi.length;for(;y<E;){let q=y+E>>>1,A=I.hi[q];A<F||A===F&&I.lo[q]<=R?y=q+1:E=q}if(y>0){let[q,A]=o0(I.kv[0],I.kv[1],w,v);M.add(q,A,x*I.cum[y-1])}return!0};b(d,0,0,1)||(d.pastHi.push(0),d.pastLo.push(0),d.count.push(1));for(let g=0;g<i-2;g++)for(let w of N[g].values()){let{pastHi:v,pastLo:x,count:I}=w;if(I.length!==0){for(let{to:F,hi:R,lo:y,mult:E}of w.edges)for(let q=0;q<I.length;q++){let[A,j]=o0(v[q],x[q],R,y),P=I[q]*E;if(b(F,A,j,P))continue;let H=F.index.get(A);H===void 0?(F.index.set(A,F.count.length),F.pastHi.push(A),F.pastLo.push(j),F.count.push(P)):F.count[H]+=P}w.pastHi=w.pastLo=w.count=[],w.index.clear()}}return Math.min(1,M.value())}function cf(t,e,n={}){let r;e!==void 0&&!ArrayBuffer.isView(e)&&!Array.isArray(e)?n=e:r=e;let o=ct(n.alternative),s=n.mu??0,i=n.paired??!1,a=n.exact??null,c=n.correct??!0,f=n.confInt??!1,u=n.confLevel??.95,l=n.tolRoot??1e-4;if(!Number.isFinite(s))throw new RangeError("mu must be a single finite number");if(f&&!(u>0&&u<1))throw new RangeError("confLevel must be a number strictly between 0 and 1");if(i&&r===void 0)throw new TypeError("y is required when paired is true");let m,h;if(i){let[p,d]=Co(Array.from(t),Array.from(r));m=yr(p.map((M,b)=>M-d[b]))}else m=yr(Array.from(t)),r!==void 0&&(h=yr(Array.from(r)));if(m.length<1)throw new Error("not enough (non-missing) 'x' observations");if(h!==void 0&&h.length<1)throw new Error("not enough (non-missing) 'y' observations");let N={alternative:o,mu:s,correct:c,confInt:f,confLevel:u,tolRoot:l};return h===void 0?g9(m,a,i,N):y9(m,h,a,N)}function s0(t,e,n){return n?e==="two.sided"?Math.sign(t)*.5:e==="greater"?.5:-.5:0}function eh(t,e){return e==="less"?Q(t):e==="greater"?Q(t,{lowerTail:!1}):2*Math.min(Q(t),Q(t,{lowerTail:!1}))}function M9(t){if(!(t>0)||!Number.isFinite(t))return t;let n=1-Math.floor(Math.log10(t)),r=n>=0?t*10**n:t/10**-n,o=Math.round(r);return o-r===.5&&o%2!==0&&(o-=1),n>=0?o/10**n:o*10**-n}function ff(t){let e=t.length;if(e===0)return NaN;let n=Math.floor(e/2);return e%2===1?t[n]:Tt([t[n-1],t[n]])}var uf=(t,e)=>t-e;function nh(t){let e=t.length,n=le(t.map(Math.abs)),r=0;for(let i=0;i<e;i++)t[i]>0&&(r+=n[i]);let o=0;for(let i of Le(n))o+=i*i*i-i;let s=Math.sqrt(e*(e+1)*(2*e+1)/24-o/48);return[r,r-e*(e+1)/4,s]}function g9(t,e,n,r){let{alternative:o,mu:s,correct:i}=r,a=t.map(x=>x-s),c=a.some(x=>x===0);c&&(a=a.filter(x=>x!==0));let f=a.length,u=e??f<50,l=le(a.map(Math.abs)),m=Le(l).length>0,[h,N,p]=nh(a),d,M,b=u&&!m&&!c;if(b){M="Wilcoxon signed rank exact test";let x=f*(f+1)/2;if(o==="less")d=hr(h,f,!0,!1);else if(o==="greater")d=hr(h-1,f,!1,!1);else{let I=h>x/2?hr(h-1,f,!1,!1):hr(h,f,!0,!1);d=Math.min(1,2*I)}}else M=`Wilcoxon signed rank test${i?" with continuity correction":""}`,d=eh((N-s0(N,o,i))/p,o);let g={method:M,alternative:o,statistic:h,statisticName:"V",pValue:d,nullValue:s,nullValueName:n?"location shift":"location"};if(!r.confInt)return g;let w=a.map(x=>x+s),v=b?b9(w,r):w9(w,r);return{...g,...v}}function i0(t,e,n){return t==="less"?[-1/0,n]:t==="greater"?[e,1/0]:[e,n]}function th(t,e,n){let r={confInt:i0(t,NaN,NaN),confLevel:0,estimate:e};return n!==void 0&&(r.estimateNames=n),r}function rh(t,e,n){let r=t(e==="two.sided"?n/2:n);return r===0?1:r}function oh(t){if(!(t>0))throw new RangeError("tolRoot must be positive")}function b9(t,e){let{alternative:n,confLevel:r}=e,o=t.length,s=[];for(let l=0;l<o;l++)for(let m=l;m<o;m++)s.push((t[l]+t[m])/2);s.sort(uf);let i=s.length,a=1-r,c=rh(l=>sc(l,o,!0,!1),n,a),f=hr(c-1,o,!0,!1),u=n==="two.sided"?2*f:f;return{confInt:i0(n,s[c-1],s[i-c]),confLevel:u-a>a/2?1-M9(u):r,estimate:ff(s),estimateNames:"(pseudo)median"}}function w9(t,e){let{alternative:n,correct:r,confLevel:o,tolRoot:s}=e,i=t.length;if(i===0)return th(n,NaN);let a=Math.min(...t),c=Math.max(...t);if(!Number.isFinite(a)||!Number.isFinite(c)||i===1||a===c)return th(n,(a+c)/2,"midrange");let f=(g,w)=>{let[,v,x]=nh(t.map(I=>I-g).filter(I=>I!==0));return(v-s0(v,n,w))/x},u=f(a,r),l=f(c,r),m=g=>-V(g),h=g=>n==="greater"?!(u<m(g)):n==="less"?!(l>V(g/2)):!(u<m(g/2))&&!(l>V(g/2)),N=1-o,p=!1;for(;!h(N)&&N<1;)N*=2,p=!0;oh(s);let d=g=>rn(w=>f(w,r)-g,a,c,{tol:s,fLower:u-g,fUpper:l-g}),M;if(N>=1){let g=ff([...t].sort(uf));M=i0(n,g,g)}else n==="greater"?M=[d(m(N)),1/0]:n==="less"?M=[-1/0,d(V(N))]:M=[d(m(N/2)),d(V(N/2))];let b=rn(g=>f(g,!1),a,c,{tol:s,fLower:f(a,!1),fUpper:f(c,!1)});return{confInt:M,confLevel:p?1-Math.min(1,N):o,estimate:b,estimateNames:"(pseudo)median"}}function sh(t,e){let n=t.length,r=e.length,o=le([...t,...e]),s=0;for(let u=0;u<n;u++)s+=o[u];let i=s-n*(n+1)/2,a=0;for(let u of Le(o))a+=u*u*u-u;let c=n+r,f=Math.sqrt(n*r/12*(c+1-a/(c*(c-1))));return[i,i-n*r/2,f]}function y9(t,e,n,r){let{alternative:o,mu:s,correct:i}=r,a=t.length,c=e.length,f=t.map(w=>w-s),u=n??(a<50&&c<50),l=Le([...f,...e]).length>0,[m,h,N]=sh(f,e),p,d,M=u&&!l;if(M)if(d="Wilcoxon rank sum exact test",o==="less")p=pr(m,a,c,!0,!1);else if(o==="greater")p=pr(m-1,a,c,!1,!1);else{let w=m>a*c/2?pr(m-1,a,c,!1,!1):pr(m,a,c,!0,!1);p=Math.min(1,2*w)}else d=`Wilcoxon rank sum test${i?" with continuity correction":""}`,p=eh((h-s0(h,o,i))/N,o);let b={method:d,alternative:o,statistic:m,statisticName:"W",pValue:p,nullValue:s,nullValueName:"location shift"};if(!r.confInt)return b;let g=M?v9(t,e,r):I9(t,e,r);return{...b,...g}}function v9(t,e,n){let{alternative:r,confLevel:o}=n,s=t.length,i=e.length,a=[];for(let h of t)for(let N of e)a.push(h-N);a.sort(uf);let c=a.length,f=1-o,u=rh(h=>fc(h,s,i,!0,!1),r,f),l=pr(u-1,s,i,!0,!1),m=r==="two.sided"?2*l:l;return{confInt:i0(r,a[u-1],a[c-u]),confLevel:m-f>f/2?1-m:o,estimate:ff(a),estimateNames:"difference in location"}}function I9(t,e,n){let{alternative:r,correct:o,confLevel:s,tolRoot:i}=n,a=Math.min(...t)-Math.max(...e),c=Math.max(...t)-Math.min(...e);if(!Number.isFinite(a)||!Number.isFinite(c))throw new Error("cannot compute the confidence interval because the differences are not finite");let f=(h,N)=>{let[,p,d]=sh(t.map(M=>M-h),e);return(p-s0(p,r,N))/d},u=(h,N)=>{let p=f(a,N)-h,d=f(c,N)-h;if(Number.isNaN(p)||Number.isNaN(d))throw new Error("cannot compute the confidence interval because all observations are tied");return p<=0?a:d>=0?c:(oh(i),rn(M=>f(M,N)-h,a,c,{tol:i,fLower:p,fUpper:d}))},l=1-s,m;return r==="greater"?m=[u(-V(l),o),1/0]:r==="less"?m=[-1/0,u(V(l),o)]:m=[u(-V(l/2),o),u(V(l/2),o)],{confInt:m,confLevel:s,estimate:u(0,!1),estimateNames:"difference in location"}}var x9=["pearson","kendall","spearman"];function A9(t){if(t===void 0)return"pearson";let e=x9.filter(n=>n.startsWith(t));if(t.length===0||e.length!==1)throw new RangeError(`invalid method "${t}"`);return e[0]}function ih(t){if(!(t[0]>0))return[Math.sqrt(t[0]),0];let e=Math.sqrt(t[0]),n=$(t,pt(e,e));return T(e,n[0]/(2*e))}function ah(t){let e=ye(t);if(!Number.isFinite(e[0]))return;let n=t.map(s=>$([s,0],e)),r=0;for(let s of n)r=Math.max(r,Math.abs(s[0]));if(r===0)return n;let o=2**-Math.max(-1022,Math.floor(Math.log2(r)));return n.map(s=>[s[0]*o,s[1]*o])}function a0(t,e){let n=t.length;if(n<2)return[NaN,0];let r=ah(t),o=ah(e);if(r===void 0||o===void 0)return[NaN,0];let s=[0,0],i=[0,0],a=[0,0];for(let f=0;f<n;f++)s=k(s,L(r[f],o[f])),i=k(i,L(r[f],r[f])),a=k(a,L(o[f],o[f]));if(i[0]===0||a[0]===0)return[NaN,0];let c=B(s,L(ih(i),ih(a)));return c[0]>=1?[1,0]:c[0]<=-1?[-1,0]:c}function ch(t,e){let n=L($([1,0],t),k([1,0],t));return Math.sqrt(e)*t[0]/Math.sqrt(n[0])}function E9(t){return Math.abs(t[0])<.5?Math.atanh(t[0]):.5*Math.log(k([1,0],t)[0]/$([1,0],t)[0])}function fh(t,e,n){return n==="less"?se(t,e,!0,!1):n==="greater"?se(t,e,!1,!1):2*Math.min(se(t,e,!0,!1),se(t,e,!1,!1))}function R9(t,e){return e==="less"?Q(t):e==="greater"?Q(t,{lowerTail:!1}):2*Math.min(Q(t),Q(t,{lowerTail:!1}))}function c0(t,e){let n=t.length,r=0;for(let u=0;u<n;u++){let l=t[u],m=e[u];for(let h=u+1;h<n;h++){let N=(t[h]>l?1:0)-(t[h]<l?1:0),p=(e[h]>m?1:0)-(e[h]<m?1:0);r+=N*p}}let o=Le(t),s=Le(e),i=n*(n-1)/2,a=o.reduce((u,l)=>u+l*(l-1)/2,0),c=s.reduce((u,l)=>u+l*(l-1)/2,0),f=n<2||a===i||c===i?NaN:a===0&&c===0?r/i:r/Math.sqrt((i-a)*(i-c));return{s:r,tau:f,ties:o.length>0||s.length>0,tx:o,ty:s}}function uh(t,e){let n=t*(t-1)/2;if(e<0)return 0;if(e>=n)return 1;let r=new Float64Array(e+1);r[0]=1;for(let s=2;s<=t;s++){let i=new Float64Array(e+1),a=0;for(let f=0;f<=e;f++)a+=r[f],i[f]=a;let c=new Float64Array(e+1);for(let f=0;f<=e;f++)c[f]=(i[f]-(f>=s?i[f-s]:0))/s;r=c}let o=0;for(let s=e;s>=0;s--)o+=r[s];return Math.min(1,o)}var lh=new Map;function F9(t){let e=lh.get(t);if(e!==void 0)return e;let n=t*(t*t-1)/3,r=1<<t,o=new Array(r);o[0]=new Float64Array(n+1),o[0][0]=1;let s=a=>{let c=0;for(;a;a&=a-1)c++;return c};for(let a=0;a<r;a++){let c=o[a];if(c===void 0)continue;let f=s(a);for(let u=0;u<t;u++){if(a&1<<u)continue;let l=(u-f)**2,m=a|1<<u,h=o[m]??=new Float64Array(n+1);for(let N=0;N+l<=n;N++)c[N]&&(h[N+l]+=c[N])}a!==r-1&&(o[a]=void 0)}let i=o[r-1];return lh.set(t,i),i}var Te=[.2274,.2531,.1745,.0758,.1033,.3932,.0879,.0151,.0072,.0831,.0131,46e-5];function mh(t,e,n){let r=e;r%2!==0&&(r+=1);let o=1/t,s=(6*(r-1)*o/(t*t-1)-1)*Math.sqrt(1/o-1),i=s*s,c=s*o*(Te[0]+o*(Te[1]+Te[2]*o)+i*(-Te[3]+o*(Te[4]+Te[5]*o)-i*o*(Te[6]+Te[7]*o-i*(Te[8]-Te[9]*o+i*o*(Te[10]-Te[11]*i)))))/Math.exp(i/2),f=n?Q(s)-c:c+Q(s,{lowerTail:!1});return Math.min(1,Math.max(0,f))}function hh(t,e,n){let r=t*(t*t-1)/3;if(t<=9){let o=F9(t),s=1;for(let a=2;a<=t;a++)s*=a;let i=0;if(n)for(let a=Math.min(e,r);a>=0;a--)i+=o[a];else for(let a=r;a>=Math.max(e,0);a--)i+=o[a];return i/s}return n?e+1>r?1:e+1<=0?0:mh(t,e+1,!0):e<=0?1:e>r?0:mh(t,e,!1)}function k9(t,e,n={}){if(t.length!==e.length)throw new TypeError("x and y must have the same length");let r=ct(n.alternative),o=A9(n.method),s=n.continuity??!1,[i,a]=Co(Array.from(t),Array.from(e)),c=i.length;if(o==="pearson"){let g=n.confLevel??.95;if(n0(g),c<3)throw new Error("not enough finite observations");let w=a0(i,a),v=c-2,x=Number.isNaN(w[0])?NaN:ch(w,v),I={method:"Pearson's product-moment correlation",alternative:r,statistic:x,statisticName:"t",parameter:v,parameterName:"df",pValue:fh(x,v,r),estimate:w[0],estimateNames:"cor",nullValue:0,nullValueName:"correlation"};if(c>3){let F=E9(w),R=1/Math.sqrt(c-3),y=q=>Math.tanh(F+q),E;if(r==="less")E=[-1,y(R*V(g))];else if(r==="greater")E=[y(-R*V(g)),1];else{let q=R*V((1+g)/2);E=[y(-q),y(q)]}I.confInt=E,I.confLevel=g}return I}if(c<2)throw new Error("not enough finite observations");if(o==="kendall"){let g=c0(i,a),w={method:"Kendall's rank correlation tau",alternative:r,estimate:g.tau,estimateNames:"tau",nullValue:0,nullValueName:"tau"};if(Number.isNaN(g.tau))return{...w,statistic:NaN,statisticName:"T",pValue:NaN};if((n.exact??c<50)&&!g.ties){let A=c*(c-1)/2,j=(g.s+A)/2,P=uh(c,j),H=uh(c,A-j),ot=r==="less"?P:r==="greater"?H:Math.min(1,2*Math.min(P,H));return{...w,statistic:j,statisticName:"T",pValue:ot}}let x=(A,j)=>j.reduce((P,H)=>P+A(H),0),I=A=>A*(A-1),F=A=>A*(A-1)*(A-2),R=A=>A*(A-1)*(2*A+5),y=(c*(c-1)*(2*c+5)-x(R,g.tx)-x(R,g.ty))/18+x(F,g.tx)*x(F,g.ty)/(9*c*(c-1)*(c-2))+x(I,g.tx)*x(I,g.ty)/(2*c*(c-1)),q=(s?Math.sign(g.s)*(Math.abs(g.s)-1):g.s)/Math.sqrt(y);return{...w,statistic:q,statisticName:"z",pValue:R9(q,r)}}let f=le(i),u=le(a),l=a0(f,u),m=c*c*c-c,h=m*(1-l[0])/6,N={method:"Spearman's rank correlation rho",alternative:r,statistic:h,statisticName:"S",estimate:l[0],estimateNames:"rho",nullValue:0,nullValueName:"rho"};if(Number.isNaN(l[0]))return{...N,pValue:NaN};let p=Le(i).length>0||Le(a).length>0;if((n.exact??c<=1290)&&!p&&c<=1290){let g=Math.round(h),w=hh(c,g,!0),v=hh(c,g,!1),x=r==="greater"?w:r==="less"?v:Math.min(1,2*Math.min(w,v));return{...N,pValue:x}}let M=l;if(s){let g=B([6,0],[m,0]);M=B(k(l,g),k([1,0],g)),Math.abs(M[0])>=1&&(M=[Math.sign(M[0]),0])}let b=ch(M,c-2);return{...N,pValue:fh(b,c-2,r)}}var Nh=["holm","hochberg","hommel","bonferroni","BH","BY","fdr","none"];function q9(t){if(Nh.includes(t))return t;let e=Nh.filter(n=>n.startsWith(t));if(t.length===0||e.length!==1)throw new RangeError(`invalid method "${t}"`);return e[0]}function lf(t,e={}){let n=typeof e=="string"?{method:e}:e,r=q9(n.method??"holm"),o=Array.from(t),s=[];for(let l=0;l<o.length;l++)Number.isNaN(o[l])||s.push(l);let i=s.length,a=n.n??i;if(!(a>=i))throw new RangeError("n must be at least the number of non-NaN p-values");if(a<=1)return o;let c=s.map(l=>o[l]),f=S9(c,r,a),u=o.slice();return s.forEach((l,m)=>u[l]=f[m]),u}function f0(t,e){let n=t.map((r,o)=>o);return n.sort((r,o)=>(e?t[o]-t[r]:t[r]-t[o])||r-o),n}function S9(t,e,n){let r=t.length,o=new Array(r);switch(e){case"none":return t.slice();case"bonferroni":return t.map(s=>Math.min(1,n*s));case"holm":{let s=f0(t,!1),i=-1/0;return s.forEach((a,c)=>{i=Math.max(i,(n-c)*t[a]),o[a]=Math.min(1,i)}),o}case"hochberg":{let s=f0(t,!0),i=1/0;return s.forEach((a,c)=>{let f=r-c;i=Math.min(i,(n-f+1)*t[a]),o[a]=Math.min(1,i)}),o}case"BH":case"fdr":case"BY":{let s=e==="BY"?Km(Array.from({length:Math.floor(n)},(c,f)=>1/(f+1))):1,i=f0(t,!0),a=1/0;return i.forEach((c,f)=>{let u=r-f;a=Math.min(a,s*n/u*t[c]),o[c]=Math.min(1,a)}),o}case"hommel":return L9(t,n)}}function L9(t,e){if(!Number.isInteger(e))throw new RangeError("n must be an integer for the hommel method");let n=t.length,r=[...t,...new Array(e-n).fill(1)],o=f0(r,!1),s=o.map(c=>r[c]),i=s.slice();for(let c=e;c>=2;c--){let f=1/0;for(let u=1;u<=c;u++)f=Math.min(f,c*s[e-c+u-1]/u);for(let u=e-c;u<e;u++)i[u]=Math.max(i[u],f);for(let u=0;u<e-c;u++)i[u]=Math.max(i[u],Math.min(c*s[u],f))}let a=new Array(n);return o.forEach((c,f)=>{c<n&&(a[c]=i[f])}),a}var T9=1+1e-7;function u0(t){return Number.isFinite(t)&&t>=0&&Math.abs(t-Math.round(t))<=1e-7*Math.max(1,Math.abs(t))}function _9(t,e,n){if(n===0)return t===0?1:0;if(n===1)return t===e?1:0;let r=e*n;if(t===r)return 1;let o=Gs(t,e,n,!1)*T9,s=0;if(t<r){for(let c=Math.ceil(r);c<=e;c++)Gs(c,e,n,!1)<=o&&s++;let a=s===0?0:_n(e-s,e,n,!1,!1);return Math.min(1,_n(t,e,n,!0,!1)+a)}for(let a=0;a<=Math.floor(r);a++)Gs(a,e,n,!1)<=o&&s++;let i=s===0?0:_n(s-1,e,n,!0,!1);return Math.min(1,_n(t-1,e,n,!1,!1)+i)}function mf(t,e,n={}){let r,o;if(typeof t!="number"){if(t.length!==2)throw new RangeError("incorrect length of 'x'");if(e!==void 0&&typeof e!="number"&&(n=e),!u0(t[0])||!u0(t[1]))throw new RangeError("'x' must be nonnegative and integer");r=Math.round(t[0]),o=Math.round(t[0])+Math.round(t[1])}else{if(typeof e!="number")throw new TypeError("'n' is required when 'x' is a single number");if(!u0(t))throw new RangeError("'x' must be nonnegative and integer");if(r=Math.round(t),!(u0(e)&&Math.round(e)>=r&&e>0))throw new RangeError("'n' must be a positive integer >= 'x'");o=Math.round(e)}let s=n.p??.5;if(!(s>=0&&s<=1))throw new RangeError("'p' must be a single number between 0 and 1");let i=ct(n.alternative),a=n.confLevel??.95;nn(a);let c;i==="less"?c=_n(r,o,s,!0,!1):i==="greater"?c=_n(r-1,o,s,!1,!1):c=_9(r,o,s);let f=m=>r===0?0:Ze(m,r,o-r+1,!0,!1),u=m=>r===o?1:Ze(1-m,r+1,o-r,!0,!1),l;if(i==="less")l=[0,u(1-a)];else if(i==="greater")l=[f(1-a),1];else{let m=(1-a)/2;l=[f(m),u(m)]}return{method:"Exact binomial test",alternative:i,statistic:r,statisticName:"number of successes",parameter:o,parameterName:"number of trials",pValue:c,confInt:l,confLevel:a,estimate:r/o,estimateNames:"probability of success",nullValue:s,nullValueName:"probability of success"}}var D9=1+1e-7;function j9(t){return Number.isFinite(t)&&t>=0&&Math.abs(t-Math.round(t))<=1e-7*Math.max(1,Math.abs(t))}function P9(t,e){if(e===0)return t===0?1:0;if(t===e)return 1;let n=ha(t,e,!1)*D9,r=a=>ha(a,e,!1)<=n,o=Math.floor(e);if(t<e){let a=Math.max(t+1,o),c=a;if(!r(a)){let f=a,u=1;for(c=a+1;!r(c);)f=c,u*=2,c=a+u;for(;c-f>1;){let l=f+Math.floor((c-f)/2);r(l)?c=l:f=l}}return Math.min(1,Ke(t,e,!0,!1)+Ke(c-1,e,!1,!1))}let s=Math.min(t-1,o),i;if(!r(0))i=-1;else if(r(s))i=s;else{i=0;let a=s;for(;a-i>1;){let c=i+Math.floor((a-i)/2);r(c)?i=c:a=c}}return Math.min(1,Ke(i,e,!0,!1)+Ke(t-1,e,!1,!1))}function C9(t,e={}){let n=typeof t=="number"?[t]:Array.from(t);if(n.length<1||n.length>2)throw new RangeError("incorrect length of 'x'");if(!n.every(j9))throw new RangeError("'x' must be finite, nonnegative, and integer");let r=n.map(Math.round),o=r.length,s=e.T??1,i=typeof s=="number"?new Array(o).fill(s):Array.from(s);if(i.length!==o)throw new RangeError("'x' and 'T' have incompatible length");if(!i.every(M=>Number.isFinite(M)&&M>=0))throw new RangeError("'T' must be nonnegative");let a=e.r??1;if(!(Number.isFinite(a)&&a>=0))throw new RangeError("'r' must be a single positive number");let c=ct(e.alternative),f=e.confLevel??.95;if(nn(f),o===2){let[M,b]=r,[g,w]=i,v=M+b,x=a*g/(a*g+w),I=mf([M,b],{p:x,alternative:c,confLevel:f}),F=R=>R/(1-R)*(w/g);return{method:"Comparison of Poisson rates",alternative:c,statistic:M,statisticName:"count1",parameter:v*a*g/(g+a*w),parameterName:"expected count1",pValue:I.pValue,confInt:[F(I.confInt[0]),F(I.confInt[1])],confLevel:f,estimate:M/g/(b/w),estimateNames:"rate ratio",nullValue:a,nullValueName:"rate ratio"}}let u=r[0],l=i[0],m=a*l,h;c==="less"?h=Ke(u,m,!0,!1):c==="greater"?h=Ke(u-1,m,!1,!1):h=P9(u,m);let N=M=>u===0?0:oe(M,u,1,!0,!1),p=M=>oe(1-M,u+1,1,!0,!1),d;if(c==="less")d=[0,p(1-f)];else if(c==="greater")d=[N(1-f),1/0];else{let M=(1-f)/2;d=[N(M),p(M)]}return{method:"Exact Poisson test",alternative:c,statistic:u,statisticName:"number of events",parameter:l,parameterName:"time base",pValue:h,confInt:[d[0]/l,d[1]/l],confLevel:f,estimate:u/l,estimateNames:"event rate",nullValue:a,nullValueName:"event rate"}}function hf(t,e,n={}){let r,o,s=n;if(typeof t!="number"&&t.length>0&&Array.isArray(t[0])){let y=t;if(y.some(E=>E.length!==2))throw new RangeError("'x' must have 2 columns");r=y.map(E=>E[0]),o=y.map(E=>E[0]+E[1]),e!==void 0&&typeof e=="object"&&!Array.isArray(e)&&(s=e)}else{if(e===void 0||typeof e=="object"&&!Array.isArray(e))throw new RangeError("'n' must be given");r=typeof t=="number"?[t]:Array.from(t),o=typeof e=="number"?[e]:Array.from(e)}if(r.length!==o.length)throw new RangeError("'x' and 'n' must have the same length");let i=r.length,a=[];for(let y=0;y<i;y++)!Number.isNaN(r[y])&&!Number.isNaN(o[y])&&a.push(y);let c=a.length;if(c<1)throw new RangeError("not enough data");if(r=a.map(y=>r[y]),o=a.map(y=>o[y]),o.some(y=>!(y>0)))throw new RangeError("elements of 'n' must be positive");if(r.some(y=>!(y>=0)))throw new RangeError("elements of 'x' must be nonnegative");if(r.some((y,E)=>y>o[E]))throw new RangeError("elements of 'x' must not be greater than those of 'n'");let f;if(s.p!==void 0){let y=typeof s.p=="number"?[s.p]:Array.from(s.p);if(y.length!==i)throw new RangeError("'p' must have the same length as 'x' and 'n'");if(f=a.map(E=>y[E]),f.some(E=>!(E>0&&E<1)))throw new RangeError("elements of 'p' must be in (0,1)")}let u=f!==void 0;c===1&&f===void 0&&(f=[.5]);let l=s.confLevel??.95;nn(l);let m=ct(s.alternative);(c>2||c===2&&u)&&(m="two.sided");let h=r.map((y,E)=>y/o[E]),N=c===2?h[0]-h[1]:0,p=c===2?1/o[0]+1/o[1]:0,d=(s.correct??!0)&&c<=2?.5:0,M=!1;if(d>0&&c===1){let y=Math.abs(r[0]-o[0]*f[0]);y<=d&&([d,M]=[y,!0])}else if(d>0&&c===2&&!u){let y=Math.abs(N)/p;y<=d&&([d,M]=[y,!0])}let b=r.reduce((y,E)=>y+E,0)/o.reduce((y,E)=>y+E,0),g=0;if(!M)for(let y=0;y<c;y++){let E=f?.[y]??b,q=o[y]*E,A=o[y]*(1-E);g+=(Math.abs(r[y]-q)-d)**2/q,g+=(Math.abs(o[y]-r[y]-A)-d)**2/A}let w=f!==void 0?c:c-1,v;if(m==="two.sided")v=Lt(g,w/2,2,!1,!1);else{let y=Math.sign(c===1?h[0]-f[0]:N);v=Q(y*Math.sqrt(g),{lowerTail:m==="less"})}let x;if(c===1||c===2&&!u){let y=V(m==="two.sided"?(1+l)/2:l);if(c===1){let E=o[0],q=y*y,A=(Z,K)=>(Z+q/(2*E)+K*y*Math.sqrt(Z*(1-Z)/E+q/(4*E*E)))/(1+q/E),j=h[0]+d/E,P=h[0]-d/E,H=Math.min(1,Math.max(0,j>=1?1:A(j,1))),ot=Math.min(1,Math.max(0,P<=0?0:A(P,-1)));x=m==="two.sided"?[ot,H]:m==="greater"?[ot,1]:[0,H]}else{let E=Math.sqrt(h.reduce((P,H,ot)=>P+H*(1-H)/o[ot],0)),q=y*E+d*p,A=Math.max(-1,N-q),j=Math.min(1,N+q);x=m==="two.sided"?[A,j]:m==="greater"?[A,1]:[-1,j]}}let I=c===1?"p":a.map(y=>`prop ${y+1}`),R={method:`${c===1?"1-sample proportions test":`${c}-sample test for ${u?"given proportions":"equality of proportions"}`} ${d!==0?"with":"without"} continuity correction`,alternative:m,statistic:g,statisticName:"X-squared",parameter:w,parameterName:"df",pValue:v,estimate:c===1?h[0]:h,estimateNames:I};return f!==void 0&&(R.nullValue=c===1?f[0]:f,R.nullValueName=I),x!==void 0&&(R.confInt=x,R.confLevel=l),R}function O9(t,e,n={}){let r;if(t.length>0&&Array.isArray(t[0])){e!==void 0&&!Array.isArray(e)&&(n=e),r=t.map(u=>Array.from(u));let f=r.length;if(f<2||r.some(u=>u.length!==f))throw new RangeError("'x' must be square with at least two rows and columns");if(r.some(u=>u.some(l=>!Number.isFinite(l)||l<0)))throw new RangeError("all entries of 'x' must be nonnegative and finite")}else{if(!Array.isArray(e))throw new TypeError("'y' is required when 'x' is not a table");r=V9(t,e)}let o=n.correct??!0,s=r.length,i,a=o&&s===2&&r[0][1]!==r[1][0];if(a){let f=r[0][1],u=r[1][0];i=(Math.abs(f-u)-1)**2/(f+u)}else{i=0;for(let f=0;f<s;f++)for(let u=f+1;u<s;u++){let l=r[f][u],m=r[u][f];i+=(l-m)**2/(l+m)}}let c=s*(s-1)/2;return{method:a?"McNemar's Chi-squared test with continuity correction":"McNemar's Chi-squared test",statistic:i,statisticName:"McNemar's chi-squared",parameter:c,parameterName:"df",pValue:Lt(i,c/2,2,!1,!1)}}function V9(t,e){if(t.length!==e.length)throw new RangeError("'x' and 'y' must have the same length");let n=[];for(let f=0;f<t.length;f++){let u=t[f],l=e[f];typeof u=="number"&&Number.isNaN(u)||typeof l=="number"&&Number.isNaN(l)||n.push([u,l])}let r=f=>Array.from(new Set(f)).sort((u,l)=>typeof u=="number"&&typeof l=="number"?u-l:String(u)<String(l)?-1:String(u)>String(l)?1:0),o=r(n.map(f=>f[0])),s=r(n.map(f=>f[1]));if(o.length<2||o.length!==s.length)throw new RangeError("'x' and 'y' must have the same number of levels (minimum 2)");let i=new Map(o.map((f,u)=>[f,u])),a=new Map(s.map((f,u)=>[f,u])),c=o.map(()=>new Array(o.length).fill(0));for(let[f,u]of n)c[i.get(f)][a.get(u)]++;return c}function B9(t,e,n={}){let r=Array.from(t).filter(Number.isFinite),o=Array.from(e).filter(Number.isFinite),s=n.ratio??1;if(!(Number.isFinite(s)&&s>0))throw new RangeError("'ratio' must be a single positive number");let i=ct(n.alternative),a=n.confLevel??.95;nn(a);let c=r.length-1,f=o.length-1;if(c<1)throw new Error("not enough 'x' observations");if(f<1)throw new Error("not enough 'y' observations");let u=Jt(r)/Jt(o),l=u/s,m=ge(l,c,f,!0,!1),h=ge(l,c,f,!1,!1),N,p;if(i==="less")N=m,p=[0,u/gn(1-a,c,f,!0,!1)];else if(i==="greater")N=h,p=[u/gn(a,c,f,!0,!1),1/0];else{N=Math.min(1,2*Math.min(m,h));let d=(1-a)/2;p=[u/gn(1-d,c,f,!0,!1),u/gn(d,c,f,!0,!1)]}return{method:"F test to compare two variances",alternative:i,statistic:l,statisticName:"F",parameter:[c,f],parameterName:["num df","denom df"],pValue:N,confInt:p,confLevel:a,estimate:u,estimateNames:"ratio of variances",nullValue:s,nullValueName:"ratio of variances"}}function Q9(t){let e=t.length;if(e<2)throw new RangeError("'x' must be a list with at least 2 elements");let n=[],r=[];for(let u of t){let l=Array.from(u).filter(Number.isFinite);if(l.length<2)throw new RangeError("there must be at least 2 observations in each group");n.push(l.length-1),r.push(Jt(l))}let o=0,s=0,i=0,a=0;for(let u=0;u<e;u++)o+=n[u],s+=n[u]*r[u],i+=n[u]*Math.log(r[u]),a+=1/n[u];s/=o;let c=(o*Math.log(s)-i)/(1+(a-1/o)/(3*(e-1))),f=e-1;return{method:"Bartlett test of homogeneity of variances",statistic:c,statisticName:"Bartlett's K-squared",parameter:f,parameterName:"df",pValue:Lt(c,f/2,2,!1,!1)}}function Nf(t,e,n="drop"){if(e===void 0){let i=t;if(i.length>0&&typeof i[0]=="number")throw new TypeError("'g' is required when 'x' is a single sample");let a=i.map(u=>Array.from(u).filter(l=>!Number.isNaN(l)));if(n==="error"&&a.some(u=>u.length===0))throw new RangeError("all groups must contain data");let c=[],f=[];return a.forEach((u,l)=>{u.length!==0&&(c.push(String(l+1)),f.push(u))}),{labels:c,groups:f}}let r=Array.from(t);if(r.length!==e.length)throw new RangeError("'x' and 'g' must have the same length");let o=new Map;for(let i=0;i<r.length;i++){let a=r[i],c=e[i];if(Number.isNaN(a)||typeof c=="number"&&Number.isNaN(c))continue;let f=o.get(c);f===void 0&&o.set(c,f=[]),f.push(a)}let s=Array.from(o.keys()).sort((i,a)=>typeof i=="number"&&typeof a=="number"?i-a:String(i)<String(a)?-1:String(i)>String(a)?1:0);return{labels:s.map(String),groups:s.map(i=>o.get(i))}}function vr(t,e,n="drop"){return Nf(t,e,n).groups}function ph(t){let e=[...t].sort((r,o)=>r-o),n=e.length;return n%2===1?e[(n-1)/2]:(e[n/2-1]+e[n/2])/2}function pf(t){if(t.length===0)throw new RangeError("'y' must have at least one row");let e=t[0].length;if(t.some(n=>n.length!==e))throw new RangeError("all rows of 'y' must have the same length");return t.filter(n=>n.every(r=>!Number.isNaN(r))).map(n=>Array.from(n))}function df(t,e,n,r){return{method:t,statistic:n,statisticName:e,parameter:r,parameterName:"df",pValue:Lt(n,r/2,2,!1,!1)}}function dh(t){let e=0;for(let n of Le(t))e+=n*n*n-n;return e}function U9(t,e){let n=vr(t,e,"error"),r=n.length;if(r<2)throw new RangeError("all observations are in the same group");let o=n.flat(),s=o.length,i=le(o),a=0,c=0;for(let f of n){let u=0;for(let l=0;l<f.length;l++)u+=i[c+l];c+=f.length,a+=u*u/f.length}return a=(12*a/(s*(s+1))-3*(s+1))/(1-dh(o)/(s*s*s-s)),df("Kruskal-Wallis rank sum test","Kruskal-Wallis chi-squared",a,r-1)}function G9(t){let e=pf(t),n=e.length,r=t[0]?.length??0;if(n<2||r<2)throw new RangeError("'y' must have at least two complete rows and two columns");let o=new Array(r).fill(0),s=0;for(let c of e){let f=le(c);for(let u=0;u<r;u++)o[u]+=f[u];s+=dh(c)}let i=0;for(let c of o)i+=(c-n*(r+1)/2)**2;let a=12*i/(n*r*(r+1)-s/(r-1));return df("Friedman rank sum test","Friedman chi-squared",a,r-1)}function $9(t){let e=pf(t),n=t.length,r=t[0]?.length??0;if(e.length<2||r<2)throw new RangeError("'y' must have at least two complete rows and two columns");let o=le(e.map(h=>Math.max(...h)-Math.min(...h))),s=new Array(r).fill(0),i=0;e.forEach((h,N)=>{let p=le(h);for(let d=0;d<r;d++){let M=o[N]*(p[d]-(r+1)/2);i+=M*M,s[d]+=M}});let a=0;for(let h of s)a+=h*h;a/=n;let c=r-1,f=(n-1)*(r-1),u,l,m=[c,f];if(i===a){u=NaN,m=[NaN,NaN];let h=0;for(let N=2;N<=r;N++)h+=Math.log(N);l=Math.exp((1-n)*h)}else u=(n-1)*a/(i-a),l=ge(u,c,f,!1,!1);return{method:"Quade test",statistic:u,statisticName:"Quade F",parameter:m,parameterName:["num df","denom df"],pValue:l}}function z9(t,e){let n=vr(t,e,"error"),r=n.length;if(r<2)throw new RangeError("all observations are in the same group");let o=n.flatMap(m=>{let h=ph(m);return m.map(N=>Math.abs(N-h))}),s=o.length,a=le(o).map(m=>V((1+m/(s+1))/2)),c=0;for(let m of a)c+=m;let f=c/s,u=0,l=0;for(let m of n){let h=0;for(let N=0;N<m.length;N++)h+=a[l+N];l+=m.length,u+=m.length*(h/m.length-f)**2}return u/=Jt(a),df("Fligner-Killeen test of homogeneity of variances","Fligner-Killeen:med chi-squared",u,r-1)}function W9(t,e,n={}){let r=Array.from(t).filter(Number.isFinite),o=Array.from(e).filter(Number.isFinite),s=ct(n.alternative),i=r.length,a=o.length,c=i+a;if(c<3)throw new RangeError("not enough observations");let f=r.concat(o),u=Array.from({length:c},(w,v)=>v).sort((w,v)=>f[w]-f[v]),l=new Array(c),m=0;for(;m<c;){let w=m;for(;w+1<c&&f[u[w+1]]===f[u[m]];)w++;let v=0;for(let x=m;x<=w;x++)v+=(x+1-(c+1)/2)**2;v/=w-m+1;for(let x=m;x<=w;x++)l[u[x]]=v;m=w+1}let h=0;for(let w=0;w<i;w++)h+=l[w];let N=0;for(let w of l)N+=w;N/=c;let p=0;for(let w of l)p+=(w-N)**2;let d=i*N,M=i*a/(c*(c-1))*p,b=(h-d)/Math.sqrt(M),g=s==="less"?Q(b):s==="greater"?Q(b,{lowerTail:!1}):2*Q(-Math.abs(b));return{method:"Mood two-sample test of scale",alternative:s,statistic:b,statisticName:"Z",pValue:g}}function Ir(t,e){let n=0;for(let r=t.length-1;r>=0;r--)n=n*e+t[r];return n}var X9=[0,.221157,-.147981,-2.07119,4.434685,-2.706056],H9=[0,.042981,-.293762,-1.752461,5.682633,-3.582633],K9=[.544,-.39978,.025054,-6714e-7],Y9=[1.3822,-.77857,.062767,-.0020322],Z9=[-1.5861,-.31082,-.083751,.0038915],J9=[-.4803,-.082676,.0030302],tp=[-2.273,.459];function ep(t){if(!(t>=3)||t!==Math.floor(t))throw new RangeError("n must be an integer of at least 3");let e=new Float64Array(t);if(t===3)return e[0]=-Math.SQRT1_2,e[2]=Math.SQRT1_2,e;let n=Math.floor(t/2),r=new Float64Array(n),o=0;for(let l=0;l<n;l++)r[l]=-V((l+1-.375)/(t+.25)),o+=r[l]*r[l];o*=2;let s=Math.sqrt(o),i=1/Math.sqrt(t),a=r[0]/s+Ir(X9,i),c=new Float64Array(n);c[0]=a;let f,u;if(t>5){let l=r[1]/s+Ir(H9,i);c[1]=l,f=2,u=Math.sqrt((o-2*r[0]*r[0]-2*r[1]*r[1])/(1-2*a*a-2*l*l))}else f=1,u=Math.sqrt((o-2*r[0]*r[0])/(1-2*a*a));for(let l=f;l<n;l++)c[l]=r[l]/u;for(let l=0;l<n;l++)e[t-1-l]=c[l],e[l]=-c[l];return e}function Mh(t){let e=t.length,n=ep(e),r=t[e-1]-t[0],o=0;for(let f of t)o+=f/r;o/=e;let s=0,i=0,a=0;for(let f=0;f<e;f++){let u=t[f]/r-o;s+=n[f]*n[f],i+=u*u,a+=n[f]*u}let c=Math.sqrt(s*i);return(c-a)*(c+a)/(s*i)}var np=1.90985931710274,rp=1.0471975511966;function gh(t,e){if(Number.isNaN(t)||!(e>=3))return NaN;if(e===3){let i=np*(Math.asin(Math.sqrt(1-t))-rp);return Math.max(i,0)}let n=Math.log(t);if(e<=11){let i=Ir(tp,e);if(n>=i)return 1e-99;let a=Ir(K9,e),c=Math.exp(Ir(Y9,e));return Q(-Math.log(i-n),{mean:a,sd:c,lowerTail:!1})}let r=Math.log(e),o=Ir(Z9,r),s=Math.exp(Ir(J9,r));return Q(n,{mean:o,sd:s,lowerTail:!1})}function op(t,e,n={}){let r;e!==void 0&&!Array.isArray(e)?n=e:r=e;let o=vr(t,r),s=n.varEqual??!1,i=o.length;if(i<2)throw new RangeError("not enough groups");let a=o.map(h=>h.length);if(a.some(h=>h<2))throw new RangeError("not enough observations");let c=o.map(Tt),f=o.map(Jt),u=a.reduce((h,N)=>h+N,0),l,m;if(s){let h=Tt(o.flat()),N=0,p=0;for(let d=0;d<i;d++)N+=a[d]*(c[d]-h)**2,p+=(a[d]-1)*f[d];m=u-i,l=N/(i-1)/(p/m)}else{let h=a.map((b,g)=>b/f[g]),N=h.reduce((b,g)=>b+g,0),p=0,d=0;for(let b=0;b<i;b++)p+=(1-h[b]/N)**2/(a[b]-1),d+=h[b]*c[b];p/=i*i-1,d/=N;let M=0;for(let b=0;b<i;b++)M+=h[b]*(c[b]-d)**2;l=M/((i-1)*(1+2*(i-2)*p)),m=1/(3*p)}return{method:s?"One-way analysis of means":"One-way analysis of means (not assuming equal variances)",statistic:l,statisticName:"F",parameter:[i-1,m],parameterName:["num df","denom df"],pValue:ge(l,i-1,m,!1,!1)}}function sp(t){let e=Array.from(t).filter(o=>!Number.isNaN(o)).sort((o,s)=>o-s),n=e.length;if(n<3||n>5e3)throw new RangeError("sample size must be between 3 and 5000");if(!Number.isFinite(e[0])||!Number.isFinite(e[n-1]))throw new RangeError("'x' must be finite");if(e[n-1]===e[0])throw new RangeError("all 'x' values are identical");let r=Mh(e);return{method:"Shapiro-Wilk normality test",statistic:1-r,statisticName:"W",pValue:gh(r,n)}}function it(t,e){return{nrow:t,ncol:e,data:new Float64Array(t*e)}}function Vn(t){return t.length>0&&typeof t[0]!="number"}function wt(t){let e=t.length,n=e===0?0:t[0].length,r=it(e,n);for(let o=0;o<e;o++){let s=t[o];if(s.length!==n)throw new TypeError("all rows of the matrix must have the same length");for(let i=0;i<n;i++)r.data[o+i*e]=s[i]}return r}function _e(t){if(Vn(t))return wt(t);let e=t;return{nrow:e.length,ncol:1,data:Float64Array.from(e)}}function ft(t){let e=[];for(let n=0;n<t.nrow;n++){let r=new Array(t.ncol);for(let o=0;o<t.ncol;o++)r[o]=t.data[n+o*t.nrow];e.push(r)}return e}function Bn(t){let e=it(t.ncol,t.nrow);for(let n=0;n<t.ncol;n++)for(let r=0;r<t.nrow;r++)e.data[n+r*t.ncol]=t.data[r+n*t.nrow];return e}function xr(t,e="the matrix"){if(t.nrow!==t.ncol)throw new TypeError(`${e} must be square (got ${t.nrow} x ${t.ncol})`)}function Qn(t,e={}){let n=wt(t);if(e.lapack){let{tau:i,pivot:a}=ap(n),c=Array.from({length:n.ncol},(f,u)=>i[u]??0);return{qr:ft(n),rank:Math.min(n.nrow,n.ncol),qraux:c,pivot:a.map(f=>f-1),useLapack:!0}}for(let i of n.data)if(!Number.isFinite(i))throw new RangeError("the matrix contains NaN or infinite values");let{qraux:r,pivot:o,rank:s}=ip(n,e.tol??1e-7);return{qr:ft(n),rank:s,qraux:Array.from(r),pivot:o.map(i=>i-1),useLapack:!1}}function Ar(t,e,n){let r=0;for(let s=0;s<n;s++)r=Math.max(r,Math.abs(t[e+s]));if(r===0||!Number.isFinite(r))return r;let o=0;for(let s=0;s<n;s++){let i=t[e+s]/r;o+=i*i}return r*Math.sqrt(o)}function ip(t,e){let n=t.nrow,r=t.ncol,o=t.data,s=new Float64Array(r),i=new Float64Array(r),a=new Float64Array(r),c=Array.from({length:r},(m,h)=>h+1);for(let m=0;m<r;m++)s[m]=Ar(o,m*n,n),i[m]=s[m],a[m]=s[m]===0?1:s[m];let f=new Float64Array(n),u=Math.min(n,r),l=r;for(let m=0;m<u;m++){for(;m<l&&s[m]<a[m]*e;){f.set(o.subarray(m*n,(m+1)*n));let[p,d,M,b]=[s[m],i[m],a[m],c[m]];o.copyWithin(m*n,(m+1)*n,r*n),o.set(f,(r-1)*n),s.copyWithin(m,m+1),i.copyWithin(m,m+1),a.copyWithin(m,m+1),c.copyWithin(m,m+1),s[r-1]=p,i[r-1]=d,a[r-1]=M,c[r-1]=b,l--}if(m===n-1)break;let h=m*n,N=Ar(o,h+m,n-m);if(N!==0){o[h+m]!==0&&(N=Math.sign(o[h+m])*Math.abs(N));for(let p=m;p<n;p++)o[h+p]/=N;o[h+m]=1+o[h+m];for(let p=m+1;p<r;p++){let d=p*n,M=0;for(let w=m;w<n;w++)M-=o[h+w]*o[d+w];M/=o[h+m];for(let w=m;w<n;w++)o[d+w]+=M*o[h+w];if(s[p]===0)continue;let b=1-(Math.abs(o[d+m])/s[p])**2;b=Math.max(b,0);let g=b;b=1+.05*b*(s[p]/i[p])**2,b!==1?s[p]*=Math.sqrt(g):(s[p]=Ar(o,d+m+1,n-m-1),i[p]=s[p])}s[m]=o[h+m],o[h+m]=-N}}return{qraux:s,pivot:c,rank:Math.min(l,n)}}function ap(t){let e=t.nrow,n=t.ncol,r=t.data,o=Math.min(e,n),s=new Float64Array(o),i=Array.from({length:n},(u,l)=>l+1),a=new Float64Array(n),c=new Float64Array(n);for(let u=0;u<n;u++)a[u]=Ar(r,u*e,e),c[u]=a[u];let f=Math.sqrt(2**-53);for(let u=0;u<o;u++){let l=u;for(let h=u+1;h<n;h++)Math.abs(a[h])>Math.abs(a[l])&&(l=h);if(l!==u){for(let h=0;h<e;h++){let N=r[h+l*e];r[h+l*e]=r[h+u*e],r[h+u*e]=N}[i[l],i[u]]=[i[u],i[l]],a[l]=a[u],c[l]=c[u]}let m=u*e;if(s[u]=m0(r,m+u,e-u),u<n-1){let h=r[m+u];r[m+u]=1,Vo(r,m+u,e-u,s[u],t,u,u+1,n-u-1),r[m+u]=h}for(let h=u+1;h<n;h++){if(a[h]===0)continue;let N=1-(Math.abs(r[u+h*e])/a[h])**2;N=Math.max(N,0),N*(a[h]/c[h])**2<=f?u<e-1?(a[h]=Ar(r,h*e+u+1,e-u-1),c[h]=a[h]):(a[h]=0,c[h]=0):a[h]*=Math.sqrt(N)}}return{tau:s,pivot:i}}function m0(t,e,n){if(n<=1)return 0;let r=Ar(t,e+1,n-1);if(r===0)return 0;let o=t[e],s=-Math.sign(o||1)*Math.hypot(o,r),i=2**-1022/2**-53,a=0;if(Math.abs(s)<i){let u=1/i;do{a++;for(let l=1;l<n;l++)t[e+l]*=u;s*=u,o*=u}while(Math.abs(s)<i&&a<20);r=Ar(t,e+1,n-1),s=-Math.sign(o||1)*Math.hypot(o,r)}let c=(s-o)/s,f=1/(o-s);for(let u=1;u<n;u++)t[e+u]*=f;for(let u=0;u<a;u++)s*=i;return t[e]=s,c}function Vo(t,e,n,r,o,s,i,a){if(r===0)return;let c=o.nrow,f=o.data;for(let u=i;u<i+a;u++){let l=s+u*c,m=0;for(let h=0;h<n;h++)m+=f[l+h]*t[e+h];m*=r;for(let h=0;h<n;h++)f[l+h]-=t[e+h]*m}}function Bo(t){return{a:wt(t.qr),qraux:t.qraux,rank:t.rank,pivot:t.pivot.map(e=>e+1),lapack:t.useLapack}}function h0(t,e){let n=_e(e);if(n.nrow!==t.a.nrow)throw new TypeError(`qr and y must have the same number of rows (${t.a.nrow} and ${n.nrow})`);return n}function Oo(t,e){return Vn(t)?ft(e):Array.from(e.data)}function Er(t,e,n,r=t.rank){let{a:o,qraux:s}=t,i=o.nrow;if(t.lapack){let f=Math.min(i,o.ncol),u=n?l0(0,f):l0(0,f).reverse();for(let l of u){let m=o.data[l+l*i];o.data[l+l*i]=1,Vo(o.data,l+l*i,i-l,s[l],e,l,0,e.ncol),o.data[l+l*i]=m}return}let a=Math.min(r,i-1),c=n?l0(0,a):l0(0,a).reverse();for(let f of c){if(s[f]===0)continue;let u=f*i,l=o.data[u+f];o.data[u+f]=s[f];for(let m=0;m<e.ncol;m++){let h=m*i,N=0;for(let p=f;p<i;p++)N-=o.data[u+p]*e.data[h+p];N/=o.data[u+f];for(let p=f;p<i;p++)e.data[h+p]+=N*o.data[u+p]}o.data[u+f]=l}}function l0(t,e){return Array.from({length:Math.max(0,e-t)},(n,r)=>t+r)}function cp(t,e){let n=Bo(t),r=h0(n,e);return Er(n,r,!0),Oo(e,r)}function fp(t,e){let n=Bo(t),r=h0(n,e);return Er(n,r,!1),Oo(e,r)}function N0(t,e){let n=Bo(t),r=h0(n,e),o=n.a.ncol,s=n.a.nrow,i=n.lapack?Math.min(s,o):n.rank;Er(n,r,!0);for(let c=0;c<r.ncol;c++){let f=c*s;for(let u=i-1;u>=0;u--){let l=n.a.data[u+u*s];if(l===0)throw new Error("exact singularity in qrCoef");r.data[f+u]/=l;let m=-r.data[f+u];for(let h=0;h<u;h++)r.data[f+h]+=m*n.a.data[h+u*s]}}let a=it(o,r.ncol);a.data.fill(NaN);for(let c=0;c<r.ncol;c++)for(let f=0;f<i;f++)a.data[n.pivot[f]-1+c*o]=r.data[f+c*s];return Oo(e,a)}function bh(t,e,n,r){let o=Bo(t);if(o.lapack)throw new TypeError("not supported for a QR decomposition computed with lapack: true");let s=r??o.rank;if(!Number.isInteger(s)||s<0||s>o.rank)throw new RangeError(`invalid k (got ${s})`);let i=h0(o,e),a=o.a.nrow;if(s===0)return Oo(e,i);if(a===1)return n||i.data.fill(0),Oo(e,i);Er(o,i,!0,s);for(let c=0;c<i.ncol;c++)n?i.data.fill(0,c*a+s,(c+1)*a):i.data.fill(0,c*a,c*a+s);return Er(o,i,!1,s),Oo(e,i)}function Mf(t,e){return bh(t,e,!1)}function up(t,e,n={}){return bh(t,e,!0,n.k)}function lp(t,e={}){let n=Bo(t),r=n.a.nrow,o=e.complete?r:Math.min(r,n.a.ncol),s=e.dvec??new Array(o).fill(1);if(s.length!==o)throw new RangeError(`dvec must have length ${o}`);let i=it(r,o);for(let a=0;a<o;a++)i.data[a+a*r]=s[a];return Er(n,i,!1),ft(i)}function pi(t,e={}){let n=wt(t.qr),r=e.complete?n.nrow:Math.min(n.nrow,n.ncol),o=it(r,n.ncol);for(let s=0;s<n.ncol;s++)for(let i=0;i<=Math.min(s,r-1);i++)o.data[i+s*r]=n.data[i+s*n.nrow];return ft(o)}function mp(t,e={}){let n=Bo(t),r=n.a.nrow,o=n.a.ncol,s=e.complete??!1,i=e.ncol??(s?r:Math.min(r,o));if(!Number.isInteger(i)||i<0)throw new RangeError(`invalid ncol (got ${i})`);if(n.pivot.some((l,m)=>l!==m+1)&&i<o)throw new RangeError("ncol must be at least the number of columns because the decomposition is pivoted");let c=it(r,i);for(let l=0;l<i;l++)if(l<o)for(let m=0;m<=Math.min(l,r-1);m++)c.data[m+l*r]=n.a.data[m+l*r];else l<r&&(c.data[l+l*r]=1);Er(n,c,!1);let f=Math.min(i,o),u=it(r,i);u.data.set(c.data);for(let l=0;l<f;l++){let m=n.pivot[l]-1;m<f&&u.data.set(c.data.subarray(l*r,(l+1)*r),m*r)}return ft(u)}function hp(t,e,n={}){let r=Array.isArray(t)?Qn(t,{tol:n.tol??1e-7}):t,o=r.qr.length,s=o===0?0:r.qr[0].length;if(r.rank!==Math.min(o,s))throw new Error("singular matrix in qrSolve");if(e===void 0&&o!==s)throw new TypeError("only square matrices can be inverted");let i=e??Array.from({length:o},(f,u)=>Array.from({length:o},(l,m)=>u===m?1:0)),a=N0(r,i),c=f=>Number.isNaN(f)?0:f;return Vn(i)?a.map(f=>f.map(c)):a.map(c)}function Qo(t,e={}){let n=wt(t);for(let l of n.data)if(!Number.isFinite(l))throw new RangeError("the matrix contains NaN or infinite values");let r=Math.min(n.nrow,n.ncol),o=Math.min(e.nu??r,n.nrow),s=Math.min(e.nv??r,n.ncol);for(let[l,m]of[["nu",o],["nv",s]])if(!Number.isInteger(m)||m<0)throw new RangeError(`${l} must be a non-negative integer`);let i=n.nrow<n.ncol,a=vh(i?Bn(n):n,i?s:o,i?o:s),c={d:Array.from(a.d)},[f,u]=i?[a.v,a.u]:[a.u,a.v];return o>0&&(c.u=ft(wh(f,o))),s>0&&(c.v=ft(wh(u,s))),c}function yh(t){return vh(t.nrow<t.ncol?Bn(t):t,0,0).d}function wh(t,e){return{nrow:t.nrow,ncol:e,data:t.data.slice(0,t.nrow*e)}}function vh(t,e,n){let r=t.nrow,o=t.ncol,s=new Float64Array(o);if(o===0)return{d:s,u:it(r,r),v:it(0,0)};let i={nrow:r,ncol:o,data:t.data.slice()},a=new Float64Array(o),c=new Float64Array(o),f=new Float64Array(o);for(let M=0;M<o;M++){let b=M*r;if(c[M]=m0(i.data,b+M,r-M),s[M]=i.data[b+M],M<o-1&&(i.data[b+M]=1,Vo(i.data,b+M,r-M,c[M],i,M,M+1,o-M-1),i.data[b+M]=s[M]),M<o-1){let g=new Float64Array(o-M-1);for(let v=0;v<g.length;v++)g[v]=i.data[M+(M+1+v)*r];f[M]=m0(g,0,g.length),a[M+1]=g[0],g[0]=1;let w=f[M];if(w!==0)for(let v=M+1;v<r;v++){let x=0;for(let I=0;I<g.length;I++)x+=i.data[v+(M+1+I)*r]*g[I];x*=w;for(let I=0;I<g.length;I++)i.data[v+(M+1+I)*r]-=x*g[I]}g[0]=a[M+1];for(let v=0;v<g.length;v++)i.data[M+(M+1+v)*r]=g[v]}}let u=e===0?0:Math.max(e,o),l;if(u>0){l=it(r,u);for(let M=0;M<u;M++)l.data[M+M*r]=1;for(let M=o-1;M>=0;M--){let b=M*r,g=i.data[b+M];i.data[b+M]=1,Vo(i.data,b+M,r-M,c[M],l,M,0,u),i.data[b+M]=g}}let m;if(n>0){m=it(o,o);for(let b=0;b<o;b++)m.data[b+b*o]=1;let M=new Float64Array(o);for(let b=o-2;b>=0;b--){let g=o-b-1;M[0]=1;for(let w=1;w<g;w++)M[w]=i.data[b+(b+1+w)*r];Vo(M,0,g,f[b],m,b+1,0,o)}}Np(s,a,l,m);let h=Array.from({length:o},(M,b)=>b).sort((M,b)=>s[b]-s[M]||M-b),N=Float64Array.from(h,M=>s[M]),p=(M,b)=>{if(M===void 0)return;let g={nrow:M.nrow,ncol:M.ncol,data:M.data.slice()};for(let w=0;w<b;w++)g.data.set(M.data.subarray(h[w]*M.nrow,(h[w]+1)*M.nrow),w*M.nrow);return g},d={d:N};return l&&(d.u=p(l,o)),m&&(d.v=p(m,o)),d}function Np(t,e,n,r){let o=t.length,s=Number.EPSILON,i=0;for(let f=0;f<o;f++)i=Math.max(i,Math.abs(t[f])+Math.abs(e[f]));let a=(f,u,l,m)=>{if(!n)return;let h=n.nrow;for(let N=0;N<h;N++){let p=n.data[N+f*h],d=n.data[N+u*h];n.data[N+f*h]=p*l+d*m,n.data[N+u*h]=d*l-p*m}},c=(f,u,l,m)=>{if(r)for(let h=0;h<o;h++){let N=r.data[h+f*o],p=r.data[h+u*o];r.data[h+f*o]=N*l+p*m,r.data[h+u*o]=p*l-N*m}};for(let f=o-1;f>=0;f--)for(let u=0;;u++){let l=f,m=!0;for(;l>=0;l--){if(l===0||Math.abs(e[l])<=s*i){m=!1;break}if(Math.abs(t[l-1])<=s*i)break}if(m){let x=l-1,I=0,F=1;for(let R=l;R<=f;R++){let y=F*e[R];if(e[R]=I*e[R],Math.abs(y)<=s*i)break;let E=t[R],q=Math.hypot(y,E);t[R]=q,I=E/q,F=-y/q,a(x,R,I,F)}}let h=t[f];if(l===f){if(h<0&&(t[f]=-h,r))for(let x=0;x<o;x++)r.data[x+f*o]=-r.data[x+f*o];break}if(u>=75)throw new Error("the singular value decomposition did not converge");let N=t[l],p=f-1,d=t[p],M=e[p],b=e[f],g=((d-h)*(d+h)+(M-b)*(M+b))/(2*b*d);M=Math.hypot(g,1),g=((N-h)*(N+h)+b*(d/(g+(g>=0?Math.abs(M):-Math.abs(M)))-b))/N;let w=1,v=1;for(let x=l;x<=p;x++){let I=x+1;M=e[I],d=t[I],b=v*M,M=w*M;let F=Math.hypot(g,b);e[x]=F,w=g/F,v=b/F,g=N*w+M*v,M=M*w-N*v,b=d*v,d*=w,c(x,I,w,v),F=Math.hypot(g,b),t[x]=F,F!==0&&(w=g/F,v=b/F),g=w*M+v*d,N=w*d-v*M,a(x,I,w,v)}e[l]=0,e[f]=g,t[f]=N}}function p0(t,e={}){let n=wt(t),r=e.type??"O";if(r.length!==1)throw new RangeError(`type must be a single character (got "${r}")`);switch(r.toUpperCase()){case"O":case"1":return d0(n);case"I":return bf(n);case"F":case"E":return pp(n);case"M":return Ih(n);case"2":return dp(n);default:throw new RangeError(`type must be one of "O", "I", "F", "M" and "2" (got "${r}")`)}}function gf(t,e){return Number.isNaN(t)||Number.isNaN(e)?NaN:Math.max(t,e)}function d0(t){let e=0;for(let n=0;n<t.ncol;n++){let r=0;for(let o=0;o<t.nrow;o++)r+=Math.abs(t.data[o+n*t.nrow]);e=gf(e,r)}return e}function bf(t){let e=new Float64Array(t.nrow);for(let r=0;r<t.ncol;r++)for(let o=0;o<t.nrow;o++)e[o]+=Math.abs(t.data[o+r*t.nrow]);let n=0;for(let r of e)n=gf(n,r);return n}function Ih(t){let e=0;for(let n of t.data)e=gf(e,Math.abs(n));return e}function pp(t){let e=Ih(t);if(e===0||!Number.isFinite(e))return e;let n=0;for(let r of t.data){let o=r/e;n+=o*o}return e*Math.sqrt(n)}function dp(t){if(t.nrow===0||t.ncol===0)return 0;if(t.data.some(Number.isNaN))return NaN;if(t.data.some(e=>!Number.isFinite(e)))throw new RangeError("the matrix contains infinite values");return yh(t)[0]}function wf(t){let e=t.nrow,n=t.ncol,r=t.data,o=Math.min(e,n),s=new Int32Array(o),i=2**-1022,a=0;for(let c=0;c<o;c++){let f=c*e,u=c,l=Math.abs(r[f+c]);for(let m=c+1;m<e;m++){let h=Math.abs(r[f+m]);h>l&&(l=h,u=m)}if(s[c]=u,r[f+u]!==0){if(u!==c)for(let h=0;h<n;h++){let N=r[c+h*e];r[c+h*e]=r[u+h*e],r[u+h*e]=N}let m=r[f+c];if(Math.abs(m)>=i){let h=1/m;for(let N=c+1;N<e;N++)r[f+N]*=h}else for(let h=c+1;h<e;h++)r[f+h]/=m}else a===0&&(a=c+1);for(let m=c+1;m<n;m++){let h=r[c+m*e];if(h===0)continue;let N=-h;for(let p=c+1;p<e;p++)r[p+m*e]+=r[f+p]*N}}return{ipiv:s,info:a}}function Mp(t,e,n){let r=t.nrow,o=t.data,s=n.data;for(let i=0;i<n.ncol;i++){let a=i*r;for(let c=0;c<r;c++){let f=e[c];if(f!==c){let u=s[a+c];s[a+c]=s[a+f],s[a+f]=u}}for(let c=0;c<r;c++){let f=s[a+c];if(f!==0)for(let u=c+1;u<r;u++)s[a+u]-=f*o[u+c*r]}for(let c=r-1;c>=0;c--)if(s[a+c]!==0){s[a+c]/=o[c+c*r];let f=s[a+c];for(let u=0;u<c;u++)s[a+u]-=f*o[u+c*r]}}}function di(t,e,n,r,o){let s=t.nrow,i=t.data;if(n)if(e)for(let a=0;a<s;a++){let c=o[a];for(let f=0;f<a;f++)c-=i[f+a*s]*o[f];r||(c/=i[a+a*s]),o[a]=c}else for(let a=s-1;a>=0;a--){let c=o[a];for(let f=s-1;f>a;f--)c-=i[f+a*s]*o[f];r||(c/=i[a+a*s]),o[a]=c}else if(e){for(let a=s-1;a>=0;a--)if(o[a]!==0){r||(o[a]/=i[a+a*s]);let c=o[a];for(let f=a-1;f>=0;f--)o[f]-=c*i[f+a*s]}}else for(let a=0;a<s;a++)if(o[a]!==0){r||(o[a]/=i[a+a*s]);let c=o[a];for(let f=a+1;f<s;f++)o[f]-=c*i[f+a*s]}}function Ah(t,e){let n=new Float64Array(t),r=new Int32Array(t),o=()=>n.reduce((h,N)=>h+Math.abs(N),0),s=()=>{let h=0;for(let N=1;N<t;N++)Math.abs(n[N])>Math.abs(n[h])&&(h=N);return h},i=()=>{for(let h=0;h<t;h++)n[h]=n[h]>=0?1:-1,r[h]=n[h]};if(n.fill(1/t),e(1,n),t===1)return Math.abs(n[0]);let a=o();i(),e(2,n);let c=s(),f=2,u=5;for(;;){n.fill(0),n[c]=1,e(1,n);let h=a;a=o();let N=!1;for(let d=0;d<t;d++)if((n[d]>=0?1:-1)!==r[d]){N=!0;break}if(!N||a<=h)break;i(),e(2,n);let p=c;if(c=s(),n[p]!==Math.abs(n[c])&&f<u){f++;continue}break}let l=1;for(let h=0;h<t;h++)n[h]=l*(1+h/(t-1)),l=-l;e(1,n);let m=2*(o()/(3*t));return m>a?m:a}function Eh(t,e,n){let r=t.nrow;if(r===0)return 1;if(!Number.isFinite(e))throw new RangeError("the matrix contains NaN or infinite values (LAPACK dgecon returned error -5)");if(e===0)return 0;let o=n?1:2,s=Ah(r,(i,a)=>{i===o?(di(t,!1,!1,!0,a),di(t,!0,!1,!1,a)):(di(t,!0,!0,!1,a),di(t,!1,!0,!0,a))});return Number.isFinite(s)?s===0?0:1/s/e:0}function gp(t,e,n){let r=t.nrow,o=new Float64Array(r);for(let i=0;i<r;i++){let[a,c]=e?[0,i]:[i,r-1];for(let f=a;f<=c;f++)o[n?i:f]+=Math.abs(t.data[f+i*r])}let s=0;for(let i of o)s=Number.isNaN(s)||Number.isNaN(i)?NaN:Math.max(s,i);return s}function xh(t,e,n){let r=t.nrow;if(r===0)return 1;let o=gp(t,e,n);if(!(o>0))return 0;let s=n?1:2,i=Ah(r,(a,c)=>di(t,e,a!==s,!1,c));return Number.isFinite(i)?i===0?0:1/o/i:0}function Mi(t,e,n={}){let r=wt(t);xr(r);let o=r.nrow,s;if(e===void 0){s=it(o,o);for(let u=0;u<o;u++)s.data[u+u*o]=1}else if(s=_e(e),s.nrow!==o)throw new TypeError(`b (${s.nrow} x ${s.ncol}) is not compatible with a (${o} x ${o})`);let i=d0(r),{ipiv:a,info:c}=wf(r);if(c>0)throw new Error(`the system is exactly singular: U[${c}, ${c}] = 0`);let f=n.tol??Number.EPSILON;if(f>0&&Number.isFinite(i)){let u=Eh(r,i,!0);if(u<f)throw new Error(`the system is computationally singular: reciprocal condition number = ${u.toPrecision(6)}`)}return Mp(r,a,s),e!==void 0&&!Vn(e)?Array.from(s.data):ft(s)}function Rh(t,e={}){let n=e.logarithm??!0,r=wt(t);xr(r);let o=r.nrow,{ipiv:s,info:i}=wf(r);if(i>0)return{modulus:n?-1/0:0,logarithm:n,sign:1};let a=1,c=n?0:1;for(let f=0;f<o;f++){s[f]!==f&&(a=-a);let u=r.data[f+f*o];u<0&&(a=-a),n?c+=Math.log(Math.abs(u)):c*=Math.abs(u)}return{modulus:c,logarithm:n,sign:a}}function bp(t){let{modulus:e,sign:n}=Rh(t);return n*Math.exp(e)}function yf(t,e={}){let n=e.norm??"O";if(!["O","1","I"].includes(n))throw new RangeError(`norm must be "O", "I" or "1" (got "${n}")`);let r=n!=="I",o=wt(t);if(o.nrow!==o.ncol){let a=o.nrow<o.ncol?ft(Bn(o)):t;return xh(wt(pi(Qn(a))),!0,r)}if(e.triangular)return xh(o,(e.uplo??"U")==="U",r);let s=r?d0(o):bf(o);o={...o,data:o.data.slice()};let{info:i}=wf(o);return i>0?0:Eh(o,s,r)}function vf(t,e,n){let r=[0,0];for(let o=Math.max(0,e);o<Math.min(n,t.length);o++)r=k(r,[t[o],0]);return r[0]}function wp([[t,e],[n,r]]){let o=t+n,s=e+r,i=t+e,a=Math.max(0,i-s),c=Math.min(i,o),f=new Float64Array(c-a+1);for(let u=a;u<=c;u++)f[u-a]=lr(u,o,s,i,!1);return{lo:a,d:f}}function yp(t,e){let n=new Float64Array(t.length+e.length-1);for(let r=0;r<t.length;r++){let o=t[r];if(o!==0)for(let s=0;s<e.length;s++)n[r+s]+=o*e[s]}return n}var M0=class{lo;hi;logNull;constructor(e){let n=0,r=new Float64Array([1]);for(let o of e){let s=wp(o);n+=s.lo,r=yp(r,s.d)}this.lo=n,this.hi=n+r.length-1,this.logNull=r.map(Math.log)}density(e){let n=this.logNull.length,r=new Float64Array(n);if(e===0||e===1/0)return r[e===0?0:n-1]=1,r;let o=Math.log(e),s=-1/0;for(let a=0;a<n;a++){let c=this.logNull[a]+(this.lo+a)*o;r[a]=c,c>s&&(s=c)}for(let a=0;a<n;a++)r[a]=Math.exp(r[a]-s);let i=vf(r,0,n);for(let a=0;a<n;a++)r[a]=r[a]/i;return r}mean(e){if(e===0)return this.lo;if(e===1/0)return this.hi;let n=this.density(e),r=[0,0];for(let o=0;o<n.length;o++)r=k(r,[(this.lo+o)*n[o],0]);return r[0]}cdf(e,n,r){let o=this.density(n),s=e-this.lo;return r?vf(o,s,o.length):vf(o,0,s+1)}};function If(t,e){return e?rn(t,0,1):1/rn(n=>t(1/n),Number.EPSILON,1)}function Fh(t,e){if(e===t.lo)return 0;if(e===t.hi)return 1/0;let n=t.mean(1);return n===e?1:If(r=>t.mean(r)-e,n>e)}function xf(t,e,n){if(e===t.hi)return 1/0;let r=t.cdf(e,1,!1);return r===n?1:If(o=>n-t.cdf(e,o,!1),r<n)}function Af(t,e,n){if(e===t.lo)return 0;let r=t.cdf(e,1,!0);return r===n?1:If(o=>t.cdf(e,o,!0)-n,r>n)}function vp(t,e={}){let n=t.length;if(n<1)throw new RangeError("'x' must have at least one stratum");let r=t[0].length,o=t[0][0]?.length??0;if(r<2||o<2||n<2)throw new RangeError("each dimension in table must be >= 2");for(let u of t){if(u.length!==r||u.some(l=>l.length!==o))throw new RangeError("all strata must have the same dimensions");if(u.some(l=>l.some(m=>!Number.isFinite(m)||m<0)))throw new RangeError("all entries of 'x' must be nonnegative and finite")}let s=t.map(u=>u.reduce((l,m)=>l+m.reduce((h,N)=>h+N,0),0));if(s.some(u=>u<2))throw new RangeError("sample size in each stratum must be > 1");let i=ct(e.alternative),a=e.correct??!0,c=e.exact??!1,f=e.confLevel??.95;if(nn(f),r===2&&o===2){let u=t.map(l=>[[l[0][0],l[0][1]],[l[1][0],l[1][1]]]);return c?xp(u,i,f):Ip(u,s,i,a,f)}return Ap(t,s,r,o)}function Ip(t,e,n,r,o){let s=0,i=0,a=0,c=0,f=0,u=0,l=0,m=0;t.forEach(([[w,v],[x,I]],F)=>{let R=e[F],y=w+v,E=x+I,q=w+x,A=v+I;s+=w,i+=y*q/R,a+=y*E*q*A/(R*R*(R-1));let j=(w+I)/R,P=(v+x)/R,H=w*I/R,ot=v*x/R;c+=H,f+=ot,u+=j*H,l+=j*ot+P*H,m+=P*ot});let h=s-i,N=r&&Math.abs(h)>=.5?.5:0,p=(Math.abs(h)-N)**2/a,d=n==="two.sided"?Lt(p,.5,2,!1,!1):Q(Math.sign(h)*Math.sqrt(p),{lowerTail:n==="less"}),M=c/f,b=Math.sqrt(u/(2*c*c)+l/(2*c*f)+m/(2*f*f)),g;if(n==="less")g=[0,M*Math.exp(V(o)*b)];else if(n==="greater")g=[M*Math.exp(V(o,{lowerTail:!1})*b),1/0];else{let w=V((1+o)/2);g=[M*Math.exp(-w*b),M*Math.exp(w*b)]}return{method:`Mantel-Haenszel chi-squared test ${N!==0?"with":"without"} continuity correction`,alternative:n,statistic:p,statisticName:"Mantel-Haenszel X-squared",parameter:1,parameterName:"df",pValue:d,confInt:g,confLevel:o,estimate:M,estimateNames:"common odds ratio",nullValue:1,nullValueName:"common odds ratio"}}function xp(t,e,n){let r=new M0(t),o=t.reduce((a,c)=>a+c[0][0],0),s;if(e==="two.sided"){let a=r.density(1),c=a[o-r.lo]*(1+1e-7),f=[0,0];for(let u of a)u<=c&&(f=k(f,[u,0]));s=Math.min(1,f[0])}else s=r.cdf(o,1,e==="greater");let i;if(e==="less")i=[0,xf(r,o,1-n)];else if(e==="greater")i=[Af(r,o,1-n),1/0];else{let a=(1-n)/2;i=[Af(r,o,a),xf(r,o,a)]}return{method:"Exact conditional test of independence in 2 x 2 x k tables",alternative:e,statistic:o,statisticName:"S",pValue:s,confInt:i,confLevel:n,estimate:Fh(r,o),estimateNames:"common odds ratio",nullValue:1,nullValueName:"common odds ratio"}}function Ap(t,e,n,r){let o=(n-1)*(r-1),s=new Array(o).fill(0),i=Array.from({length:o},()=>new Array(o).fill(0));t.forEach((f,u)=>{let l=e[u],m=f.map(p=>p.reduce((d,M)=>d+M,0)),h=Array.from({length:r},(p,d)=>f.reduce((M,b)=>M+b[d],0)),N=1/(l*l*(l-1));for(let p=0;p<r-1;p++)for(let d=0;d<n-1;d++){let M=d+(n-1)*p;s[M]+=f[d][p]-m[d]*h[p]/l;for(let b=0;b<r-1;b++)for(let g=0;g<n-1;g++){let w=(d===g?l*m[d]:0)-m[d]*m[g],v=(p===b?l*h[p]:0)-h[p]*h[b];i[M][g+(n-1)*b]+=N*w*v}}});let a=Mi(i,s),c=0;for(let f=0;f<o;f++)c+=s[f]*a[f];return{method:"Cochran-Mantel-Haenszel test",statistic:c,statisticName:"Cochran-Mantel-Haenszel M^2",parameter:o,parameterName:"df",pValue:Lt(c,o/2,2,!1,!1)}}var kh=new Map;function Ep(t,e){let n=`${t},${e}`,r=kh.get(n);if(r!==void 0)return r;let o=t+e,s=[];for(let m=1;m<=o;m++)s.push(Math.min(m,o+1-m));let i=s.reduce((m,h)=>m+h,0),a=Array.from({length:t+1},()=>new Float64Array(i+1));a[0][0]=1;for(let m=0;m<o;m++){let h=o-m,N=s[m],p=Array.from({length:t+1},()=>new Float64Array(i+1));for(let d=0;d<=t;d++){let M=a[d],b=t-d;if(b>h)continue;let g=b/h;for(let w=0;w<=i;w++){let v=M[w];v!==0&&(b>0&&(p[d+1][w+N]+=v*g),b<h&&(p[d][w]+=v*(1-g)))}}a=p}let c=a[t],f=0;for(;f<c.length&&c[f]===0;)f++;let u=c.length-1;for(;u>f&&c[u]===0;)u--;let l={min:f,probs:c.slice(f,u+1)};return kh.set(n,l),l}function Ef(t,e,n,r=!0){if(Number.isNaN(t)||!(e>=1)||!(n>=1)||e!==Math.floor(e)||n!==Math.floor(n))return NaN;let{min:o,probs:s}=Ep(e,n),i=Math.floor(t+1e-7)-o,a=0;if(r)for(let c=0;c<=Math.min(i,s.length-1);c++)a+=s[c];else for(let c=Math.max(i+1,0);c<s.length;c++)a+=s[c];return Math.min(a,1)}function Rp(t,e,n={}){let r=Array.from(t).filter(p=>!Number.isNaN(p)),o=Array.from(e).filter(p=>!Number.isNaN(p)),s=r.length,i=o.length;if(s<1)throw new RangeError("not enough 'x' observations");if(i<1)throw new RangeError("not enough 'y' observations");let a=ct(n.alternative),c=s+i,f=le(r.concat(o)),u=f.map(p=>Math.min(p,c-p+1)),l=0;for(let p=0;p<s;p++)l+=u[p];let m=new Set(f).size<c,h=n.exact??(s<50&&i<50&&!m),N;if(h&&!m){let p=M=>Ef(M-1,s,i,!1),d=M=>Ef(M,s,i,!0);if(a==="two.sided"){let M=Math.floor((s+1)**2/4)+Math.floor(s*i/2)/2;N=Math.min(1,2*(l>M?p(l):d(l)))}else a==="less"?N=p(l):N=d(l)}else{let p=0;for(let w of u)p+=w*w;let d=c%2===0,M=d?s*(c+2)/4:s*(c+1)**2/(4*c),b=d?s*i*(16*p-c*(c+2)**2)/(16*c*(c-1)):s*i*(16*c*p-(c+1)**4)/(16*c*c*(c-1)),g=(l-M)/Math.sqrt(b);N=a==="two.sided"?2*Math.min(Q(g),Q(g,{lowerTail:!1})):a==="less"?Q(g,{lowerTail:!1}):Q(g)}return{method:"Ansari-Bradley test",alternative:a,statistic:l,statisticName:"AB",pValue:N,nullValue:1,nullValueName:"ratio of scales"}}var Fp=[1.2337005501361697,7831619385924639e-32];function kp(t,e,n){let r=(u,l)=>{let m=new Float64Array(e*e);for(let h=0;h<e;h++)for(let N=0;N<e;N++){let p=u[h*e+N];if(p!==0)for(let d=0;d<e;d++)m[h*e+d]+=p*l[N*e+d]}return m},o=u=>{let l=0;for(let N of u)l=Math.max(l,Math.abs(N));if(l===0||!Number.isFinite(l))return 0;let m=Math.floor(Math.log2(l));if(Math.abs(m)<500)return 0;let h=2**-m;for(let N=0;N<u.length;N++)u[N]*=h;return m},s,i=0,a=t.slice(),c=0,f=n;for(;f>0;)f&1&&(s=s===void 0?a.slice():r(s,a),i+=c,i+=o(s)),f>>=1,f>0&&(a=r(a,a),c*=2,c+=o(a));return[s,i]}function qh(t,e){if(Number.isNaN(e)||!(t>=1)||t!==Math.floor(t))return NaN;if(e<=1/(2*t))return 0;if(e>=1)return 1;if(t*e<1){let[u,l]=pt(t,e),m=2*u-1+2*l,h=1,N=0;for(let p=1;p<=t;p++)h*=p/t*m,h<2**-500&&(h*=2**500,N-=500);for(;N<-1e3;)h*=2**-1e3,N+=1e3;return h*2**N}let n=Math.floor(t*e)+1,r=2*n-1,o=n-t*e,s=new Float64Array(r*r);for(let u=0;u<r;u++)for(let l=0;l<r;l++)s[u*r+l]=u-l+1>=0?1:0;for(let u=0;u<r;u++)s[u*r]-=Math.pow(o,u+1),s[(r-1)*r+u]-=Math.pow(o,r-u);2*o-1>0&&(s[(r-1)*r]+=Math.pow(2*o-1,r));for(let u=0;u<r;u++)for(let l=0;l<r;l++){let m=u-l+1;if(m>0){let h=1;for(let N=2;N<=m;N++)h*=N;s[u*r+l]/=h}}let[i,a]=kp(s,r,t),c=i[(n-1)*r+n-1],f=a;for(let u=1;u<=t;u++)c=c*u/t,Math.abs(c)<2**-500&&(c*=2**500,f-=500);for(;f>1e3;)c*=2**1e3,f-=1e3;for(;f<-1e3;)c*=2**-1e3,f+=1e3;return c*2**f}function Rf(t,e=!0){if(Number.isNaN(t))return NaN;if(t<=0)return e?0:1;if(t===1/0)return e?1:0;if(t<1){let o=B(Fp,pt(t,t)),s=o[0]+o[1],i=Math.exp(-o[0])*(1-o[1]),a=0;for(let f=2;f<100;f++){let u=Math.exp(-(2*f-1)*(2*f-1)*s);if(a+=u,u<=1e-17*(a+i))break}let c=Math.sqrt(2*Math.PI)/t*(i+a);return e?c:1-c}let n=0;for(let o=1;o<100;o++){let s=Math.exp(-2*o*o*t*t);if(n+=o%2===1?s:-s,s<=1e-17*Math.abs(n))break}let r=2*n;return e?1-r:r}function Sh(t,e){if(Number.isNaN(e)||!(t>=1)||t!==Math.floor(t))return NaN;if(e<=0)return 1;if(e>1)return 0;let[n,r]=pt(t,e),o=Math.floor(t-n-r),s=0;for(let i=0;i<=o;i++){let a=k(T(t-i,-n),[-r,0]);if(a[0]<=0)break;let c=k(T(i,n),[r,0]),f=B(c,[t,0]),u=B(a,[t,0]);s+=Rt(i,t-i,f,u,!1)/(f[0]+f[1])}return Math.min(e*s,1)}function Lh(t,e,n,r={}){let o=r.alternative??"two.sided";if(Number.isNaN(t)||!(e>=1)||!(n>=1)||e!==Math.floor(e)||n!==Math.floor(n))return NaN;if(t<=0)return 1;if(t>1)return 0;let s=e+n,i;if(r.z!==void 0){if(r.z.length!==s)throw new RangeError("z must have length m + n");let m=[...r.z].sort((h,N)=>h-N);i=new Array(s+1).fill(!1);for(let h=1;h<s;h++)i[h]=m[h]!==m[h-1]}let a=t*e*n*(1-1e-10),c=(m,h)=>{let N=m*n-h*e;return(o==="two.sided"?Math.abs(N):o==="greater"?N:-N)>=a},f=new Float64Array(n+1),u=new Float64Array(n+1),l=0;for(let m=0;m<=e;m++){for(let h=0;h<=n;h++){if(m===0&&h===0){u[0]=1;continue}let N=m+h,p=(m>0?m/N*f[h]:0)+(h>0?h/N*u[h-1]:0);(i===void 0?N<s:i[N])&&c(m,h)?(p>0&&(l+=p*lr(m,e,n,N,!1)),u[h]=0):u[h]=p}[f,u]=[u,f],u.fill(0)}return Math.min(l,1)}function Th(t,e){return t==="two.sided"?"two-sided":`the CDF of x lies ${t==="less"?"below":"above"} ${e?"the null hypothesis":"that of y"}`}function qp(t,e,n={}){let r=Array.from(t).filter(b=>!Number.isNaN(b)).sort((b,g)=>b-g),o=r.length;if(o<1)throw new RangeError("not enough 'x' data");let s=ct(n.alternative),i=s==="two.sided"?"D":s==="greater"?"D^+":"D^-";if(typeof e=="function"){let b=-1/0,g=-1/0;for(let F=0;F<o;F++){let R=e(r[F]);b=Math.max(b,(F+1)/o-R),g=Math.max(g,R-F/o)}let w=s==="two.sided"?Math.max(b,g):s==="greater"?b:g,v=new Set(r).size<o,x=n.exact??(o<100&&!v),I;return s==="two.sided"?I=x?1-qh(o,w):Rf(Math.sqrt(o)*w,!1):I=x?Sh(o,w):Math.exp(-2*o*w*w),{method:`${x?"Exact":"Asymptotic"} one-sample Kolmogorov-Smirnov test`,alternative:Th(s,!0),exact:x,statistic:w,statisticName:i,pValue:Math.min(1,Math.max(0,I))}}let a=Array.from(e).filter(b=>!Number.isNaN(b)),c=a.length;if(c<1)throw new RangeError("not enough 'y' data");let f=r.map(b=>[b,0]).concat(a.map(b=>[b,1]));f.sort((b,g)=>b[0]-g[0]);let u=0,l=0,m=0,h=0;for(let b=0;b<f.length;b++){if(f[b][1]===0?u++:l++,b+1<f.length&&f[b+1][0]===f[b][0])continue;let g=u/o-l/c;m=Math.max(m,g),h=Math.max(h,-g)}let N=s==="two.sided"?Math.max(m,h):s==="greater"?m:h,p=new Set(f.map(b=>b[0])).size<f.length,d=n.exact??o*c<1e4,M;if(d)M=Lh(N,o,c,p?{alternative:s,z:f.map(b=>b[0])}:{alternative:s});else{let b=o*c/(o+c);M=s==="two.sided"?Rf(Math.sqrt(b)*N,!1):Math.exp(-2*b*N*N)}return{method:`${d?"Exact":"Asymptotic"} two-sample Kolmogorov-Smirnov test`,alternative:Th(s,!1),exact:d,statistic:N,statisticName:i,pValue:Math.min(1,Math.max(0,M))}}function _h(t,e,n){let r=Array.from(t);if(r.length!==e.length)throw new RangeError("'x' and 'g' must have the same length");let o=new Map;for(let i=0;i<r.length;i++){let a=e[i];if(typeof a=="number"&&Number.isNaN(a)||n&&Number.isNaN(r[i]))continue;let c=o.get(a);c===void 0&&o.set(a,c=[]),c.push(r[i])}let s=Array.from(o.keys()).sort((i,a)=>typeof i=="number"&&typeof a=="number"?i-a:String(i)<String(a)?-1:String(i)>String(a)?1:0);return{levels:s,groups:s.map(i=>o.get(i))}}function Ff(t,e,n){let r=[],o=[];for(let a=0;a<t-1;a++)for(let c=a+1;c<t;c++)r.push(e(c,a)),o.push([c-1,a]);let s=lf(r,n),i=Array.from({length:t-1},()=>new Array(t-1).fill(NaN));return o.forEach(([a,c],f)=>i[a][c]=s[f]),i}function kf(t,e,n,r){return{method:t,pValue:n,rowNames:e.slice(1).map(String),colNames:e.slice(0,-1).map(String),pAdjustMethod:r}}function Sp(t,e,n={}){let r=n.paired??!1,o=n.poolSd??!r;if(r&&o)throw new RangeError("pooling of SD is incompatible with paired tests");let s=ct(n.alternative),i=n.pAdjustMethod??"holm",{levels:a,groups:c}=_h(t,e,!r),f=a.length;if(f<2)throw new RangeError("there must be at least two groups");let u,l;if(o){l="t tests with pooled SD";let m=c.map(M=>M.length),h=c.map(M=>M.length>0?Tt(M):NaN),N=0,p=0;c.forEach(M=>{M.length>1&&(N+=Jt(M)*(M.length-1),p+=M.length-1)});let d=Math.sqrt(N/p);u=(M,b)=>{let g=(h[M]-h[b])/(d*Math.sqrt(1/m[M]+1/m[b]));return s==="less"?se(g,p,!0,!1):s==="greater"?se(g,p,!1,!1):2*se(-Math.abs(g),p,!0,!1)}}else l=r?"paired t tests":"t tests with non-pooled SD",u=(m,h)=>Zc(c[m],c[h],{paired:r,alternative:s}).pValue;return kf(l,a,Ff(f,u,i),i)}function Lp(t,e,n={}){let{pAdjustMethod:r,alternative:o,...s}=n,i=r??"holm",{levels:a,groups:c}=_h(t,e,!(s.paired??!1)),f=a.length;if(f<2)throw new RangeError("there must be at least two groups");let u="",l=Ff(f,(m,h)=>{let N=cf(c[m],c[h],{...s,...o===void 0?{}:{alternative:o}});return u=N.method,N.pValue},i);return kf(u,a,l,i)}function Tp(t,e,n={}){if(t.length!==e.length)throw new RangeError("'x' and 'n' must have the same length");let r=[],o=[];t.forEach((u,l)=>{Number.isNaN(u)||Number.isNaN(e[l])||(r.push(u),o.push(e[l]))});let s=r.length;if(s<2)throw new RangeError("too few groups");let i=n.pAdjustMethod??"holm",a=n.correct??!0,c=Ff(s,(u,l)=>hf([r[u],r[l]],[o[u],o[l]],{correct:a}).pValue,i),f=Array.from({length:s},(u,l)=>l+1);return kf("Pairwise comparison of proportions",f,c,i)}function Dh(t){let e=t.flat(),n=ye(e),r=[0,0],o=[0,0],s=[];for(let i of t){let a=ye(i);s.push(a[0]);let c=$(a,n);r=k(r,L(L(c,c),[i.length,0]));for(let f of i){let u=$([f,0],a);o=k(o,L(u,u))}}return{ssb:r[0],ssw:o[0],means:s}}function _p(t,e){let n=vr(t,e),r=n.length;if(r<2)throw new RangeError("contrasts can be applied only to factors with 2 or more levels");let o=n.reduce((m,h)=>m+h.length,0),{ssb:s,ssw:i}=Dh(n),a=r-1,c=o-r,f=s/a,u=i/c,l=f/u;return{df:[a,c],sumSq:[s,i],meanSq:[f,u],fValue:l,pValue:c>0?ge(l,a,c,!1,!1):NaN}}function Dp(t,e,n={}){let r;e!==void 0&&!Array.isArray(e)?n=e:r=e;let{labels:o,groups:s}=Nf(t,r),i=s.length;if(i<2)throw new RangeError("contrasts can be applied only to factors with 2 or more levels");let a=n.confLevel??.95,f=s.reduce((p,d)=>p+d.length,0)-i,{ssw:u,means:l}=Dh(s),m=u/f,h=Rc(a,i,f),N={names:[],i:[],j:[],diff:[],lwr:[],upr:[],pAdj:[]};for(let p=0;p<i-1;p++)for(let d=p+1;d<i;d++){let M=l[d]-l[p],b=Math.sqrt(m/2*(1/s[d].length+1/s[p].length));N.names.push(`${o[d]}-${o[p]}`),N.i.push(d+1),N.j.push(p+1),N.diff.push(M),N.lwr.push(M-h*b),N.upr.push(M+h*b),N.pAdj.push(Ec(Math.abs(M)/b,i,f,{lowerTail:!1}))}return N}function jp(t,e,n={}){let r;e!==void 0&&!ArrayBuffer.isView(e)&&!Array.isArray(e)?n=e:r=e;let{sigmaX:o,sigmaY:s}=n,i=n.mu??0;if(o===void 0&&r===void 0)throw new RangeError("sigmaX (the known standard deviation of x) is required");if(o===void 0||r!==void 0&&s===void 0)throw new RangeError("sigmaX and sigmaY are both required for two samples");if(Number.isNaN(i))throw new RangeError("mu must be a number");let a=ct(n.alternative),c=n.confLevel??.95;if(!(c>=0&&c<=1))throw new RangeError("confLevel must be between 0 and 1");let f=Array.from(t).filter(g=>!Number.isNaN(g)),u=r===void 0?void 0:Array.from(r).filter(g=>!Number.isNaN(g));if(f.length<3)throw new RangeError("x needs at least 3 non-missing values");if(u!==void 0&&u.length<3)throw new RangeError("y needs at least 3 non-missing values");let l=ye(f)[0],m=u===void 0?NaN:ye(u)[0],h=u===void 0?o/Math.sqrt(f.length):Math.sqrt(o**2/f.length+s**2/u.length),N=u===void 0?l:l-m,p=(N-i)/h,d,M;if(a==="less")d=Q(p),M=[-1/0,N+V(c)*h];else if(a==="greater")d=Q(p,{lowerTail:!1}),M=[N-V(c)*h,1/0];else{d=2*Q(-Math.abs(p));let g=V(1-(1-c)/2)*h;M=[N-g,N+g]}let b=u!==void 0;return{method:b?"Two-sample z-Test":"One-sample z-Test",alternative:a,statistic:p,statisticName:"z",pValue:d,confInt:M,confLevel:c,estimate:b?[l,m]:l,estimateNames:b?["mean of x","mean of y"]:"mean of x",nullValue:i,nullValueName:b?"difference in means":"mean"}}function Pp(t,e={}){let n=wt(t);if(xr(n),n.nrow===0)throw new RangeError("the matrix has zero dimension");if(e.pivot){let{pivot:o,rank:s}=Op(n,e.tol??-1);return jh(n),{r:ft(n),pivot:o.map(i=>i-1),rank:s}}let r=Cp(n);if(r>0)throw new Error(`the matrix is not positive definite: the leading minor of order ${r} is not positive`);return jh(n),ft(n)}function jh(t){let e=t.nrow;for(let n=0;n<e;n++)for(let r=n+1;r<e;r++)t.data[r+n*e]=0}function Cp(t){let e=t.nrow,n=t.data;for(let r=0;r<e;r++){let o=r*e,s=n[r+o];for(let i=0;i<r;i++)s-=n[i+o]*n[i+o];if(s<=0)return n[r+o]=s,r+1;s=Math.sqrt(s),n[r+o]=s;for(let i=r+1;i<e;i++){let a=i*e,c=n[r+a];for(let f=0;f<r;f++)c-=n[f+o]*n[f+a];n[r+a]=c/s}}return 0}function Op(t,e){let n=t.nrow,r=t.data,o=Array.from({length:n},(l,m)=>m+1),s=(l,m)=>l+m*n,i=(l,m)=>{let h=r[l];r[l]=r[m],r[m]=h},a=0;for(let l=1;l<n;l++)r[s(l,l)]>r[s(a,a)]&&(a=l);let c=r[s(a,a)];if(c<=0||Number.isNaN(c))return{pivot:o,rank:0};let f=e<0?n*Number.EPSILON*c:e,u=new Float64Array(2*n);for(let l=0;l<n;l++){for(let m=l;m<n;m++)l>0&&(u[m]+=r[s(l-1,m)]**2),u[n+m]=r[s(m,m)]-u[m];if(l>0){a=l;for(let m=l+1;m<n;m++)u[n+m]>u[n+a]&&(a=m);if(c=u[n+a],c<=f||Number.isNaN(c))return r[s(l,l)]=c,{pivot:o,rank:l}}if(l!==a){r[s(a,a)]=r[s(l,l)];for(let m=0;m<l;m++)i(s(m,l),s(m,a));for(let m=a+1;m<n;m++)i(s(l,m),s(a,m));for(let m=l+1;m<a;m++)i(s(l,m),s(m,a));[u[l],u[a]]=[u[a],u[l]],[o[l],o[a]]=[o[a],o[l]]}c=Math.sqrt(c),r[s(l,l)]=c;for(let m=l+1;m<n;m++){let h=r[s(l,m)];for(let N=0;N<l;N++)h-=r[s(N,l)]*r[s(N,m)];r[s(l,m)]=h/c}}return{pivot:o,rank:n}}function qf(t,e={}){let n=_e(t),r=e.size??n.ncol;if(!Number.isInteger(r)||r<1)throw new RangeError(`size must be a positive integer (got ${r})`);if(r>n.ncol)throw new RangeError(`size cannot exceed the number of columns (${n.ncol})`);if(r>n.nrow)throw new RangeError(`size cannot exceed the number of rows (${n.nrow})`);let o=it(r,r);for(let s=0;s<r;s++)for(let i=0;i<=s;i++)o.data[i+s*r]=n.data[i+s*n.nrow];Vp(o);for(let s=0;s<r;s++)for(let i=s+1;i<r;i++)o.data[i+s*r]=o.data[s+i*r];return ft(o)}function Vp(t){let e=t.nrow,n=t.data;for(let r=0;r<e;r++)if(n[r+r*e]===0)throw new Error(`element (${r+1}, ${r+1}) is zero, so the inverse cannot be computed`);for(let r=0;r<e;r++){let o=r*e;n[r+o]=1/n[r+o];let s=-n[r+o];for(let i=0;i<r;i++){let a=n[i+o];if(a!==0){for(let c=0;c<i;c++)n[c+o]+=a*n[c+i*e];n[i+o]=a*n[i+i*e]}}for(let i=0;i<r;i++)n[i+o]*=s}for(let r=0;r<e;r++){let o=n[r+r*e];if(r<e-1){let s=0;for(let i=r;i<e;i++)s+=n[r+i*e]*n[r+i*e];n[r+r*e]=s;for(let i=0;i<r;i++)n[i+r*e]*=o;for(let i=r+1;i<e;i++){let a=n[r+i*e];if(a!==0)for(let c=0;c<r;c++)n[c+r*e]+=a*n[c+i*e]}}else for(let s=0;s<=r;s++)n[s+r*e]*=o}}function Bp(t,e,n={}){let r=n.intercept??!0,o=t.length>0&&typeof t[0]!="number"?t.map(_=>Array.from(_)):Array.from(t,_=>[_]),s=Array.from(e);if(o.length!==s.length)throw new RangeError("variable lengths differ (found for 'x')");let i=n.weights===void 0?void 0:Array.from(n.weights);if(i!==void 0&&i.length!==s.length)throw new RangeError("variable lengths differ (found for '(weights)')");if(i?.some(_=>_<0))throw new RangeError("missing or negative weights not allowed");let a=s.map((_,X)=>!Number.isNaN(_)&&o[X].every(et=>!Number.isNaN(et))&&(i===void 0||!Number.isNaN(i[X]))),c=o.filter((_,X)=>a[X]).map(_=>r?[1,..._]:_),f=s.filter((_,X)=>a[X]),u=i?.filter((_,X)=>a[X]);if(f.length===0)throw new RangeError("0 (non-NA) cases");let l=f.map((_,X)=>u===void 0||u[X]!==0),m=c.filter((_,X)=>l[X]),h=f.filter((_,X)=>l[X]),N=u?.filter((_,X)=>l[X]),p=h.length;if(p===0)throw new RangeError("all weights are zero");let d=N?.map(Math.sqrt),M=d===void 0?m:m.map((_,X)=>_.map(et=>et*d[X])),b=d===void 0?h:h.map((_,X)=>_*d[X]),g=Qn(M),w=g.rank,v=N0(g,b),x=Mf(g,b),I=d===void 0?x:x.map((_,X)=>_/d[X]),F=[],R=[],y=0;f.forEach((_,X)=>{if(l[X])F.push(I[y]),R.push(_-I[y]),y++;else{let et=c[X].reduce((xt,Re,At)=>Number.isNaN(v[At])?xt:xt+Re*v[At],0);R.push(et),F.push(_-et)}});let E=R.filter((_,X)=>l[X]),q=p-w,A=N??new Array(p).fill(1),j=0;for(let _=0;_<p;_++)j+=A[_]*I[_]**2;let P=j/q,H=Math.sqrt(P),ot=g.qr.slice(0,w).map(_=>_.slice(0,w)),Z=w>0?qf(ot):[],st=g.pivot.slice(0,w).map((_,X)=>[_,X]).sort((_,X)=>_[0]-X[0]),J=st.map(([_])=>v[_]),gt=st.map(([,_])=>Math.sqrt(Z[_][_]*P)),Bt=J.map((_,X)=>_/gt[X]),kt=Bt.map(_=>2*se(-Math.abs(_),q,!0,!1)),tt={coefficients:v,residuals:F,fittedValues:R,rank:w,dfResidual:q,coefTable:{estimate:J,stdError:gt,tValue:Bt,pValue:kt},sigma:H,rSquared:0,adjRSquared:0,intercept:r,qr:g},at=r?1:0,ht=w-at;if(ht===0)return tt;let qt=0;if(r){let _=A.reduce((et,xt)=>et+xt,0),X=0;for(let et=0;et<p;et++)X+=A[et]*E[et]/_;for(let et=0;et<p;et++)qt+=A[et]*(E[et]-X)**2}else for(let _=0;_<p;_++)qt+=A[_]*E[_]**2;tt.rSquared=qt/(qt+j),tt.adjRSquared=1-(1-tt.rSquared)*((p-at)/q);let St=qt/ht/P;return tt.fStatistic={value:St,numdf:ht,dendf:q},tt.fPValue=ge(St,ht,q,!1,!1),tt}function Qp(t,e={}){let n=e.level??.95,r=Dn((1+n)/2,t.dfResidual,!0,!1),{estimate:o,stdError:s}=t.coefTable,i=t.coefficients.map(()=>NaN),a=t.coefficients.map(()=>NaN),c=0;return t.coefficients.forEach((f,u)=>{Number.isNaN(f)||(i[u]=o[c]-r*s[c],a[u]=o[c]+r*s[c],c++)}),{lower:i,upper:a}}function Up(t,e,n={}){let o=(e.length>0&&typeof e[0]!="number"?e.map(N=>Array.from(N)):Array.from(e,N=>[N])).map(N=>t.intercept?[1,...N]:N),s=t.rank,i=t.qr.pivot.slice(0,s),a=t.qr.qr.slice(0,s).map(N=>N.slice(0,s)),c=t.sigma**2,f=o.map(N=>N.reduce((p,d,M)=>Number.isNaN(t.coefficients[M])?p:p+d*t.coefficients[M],0)),u=o.map(N=>{let p=new Array(s).fill(0);for(let d=0;d<s;d++){let M=N[i[d]];for(let b=0;b<d;b++)M-=a[b][d]*p[b];p[d]=M/a[d][d]}return Math.sqrt(p.reduce((d,M)=>d+M*M,0)*c)}),l=n.interval??"none";if(l==="none")return{fit:f,seFit:u};let m=Dn((1+(n.level??.95))/2,t.dfResidual,!0,!1),h=u.map(N=>m*Math.sqrt(N*N+(l==="prediction"?c:0)));return{fit:f,seFit:u,lwr:f.map((N,p)=>N-h[p]),upr:f.map((N,p)=>N+h[p])}}function Gp(t,e){let n=_e(t),r=e===void 0?n:_e(e);if(n.nrow!==r.nrow)throw new TypeError(`non-conformable arguments (${n.nrow} and ${r.nrow} rows)`);let o=n.nrow,s=it(n.ncol,r.ncol);for(let i=0;i<r.ncol;i++)for(let a=0;a<n.ncol;a++){if(e===void 0&&a>i)continue;let c=0;for(let f=0;f<o;f++)c+=n.data[f+a*o]*r.data[f+i*o];s.data[a+i*n.ncol]=c}return e===void 0&&Ph(s),ft(s)}function $p(t,e){let n=_e(t),r=e===void 0?n:_e(e);if(n.ncol!==r.ncol)throw new TypeError(`non-conformable arguments (${n.ncol} and ${r.ncol} columns)`);let o=it(n.nrow,r.nrow);for(let s=0;s<r.nrow;s++)for(let i=0;i<n.nrow;i++){if(e===void 0&&i>s)continue;let a=0;for(let c=0;c<n.ncol;c++)a+=n.data[i+c*n.nrow]*r.data[s+c*r.nrow];o.data[i+s*n.nrow]=a}return e===void 0&&Ph(o),ft(o)}function Ph(t){let e=t.nrow;for(let n=0;n<e;n++)for(let r=n+1;r<e;r++)t.data[r+n*e]=t.data[n+r*e]}function zp(t,e,n={}){return Ch(t,e,n.k,n.upperTri??!0,n.transpose??!1)}function Wp(t,e,n={}){return Ch(t,e,n.k,n.upperTri??!1,n.transpose??!1)}function Ch(t,e,n,r,o){let s=wt(t),i=_e(e),a=n??s.ncol;if(!Number.isInteger(a)||a<1||a>s.nrow||a>s.ncol||a>i.nrow)throw new RangeError(`invalid k (got ${a})`);for(let f=0;f<a;f++)if(s.data[f+f*s.nrow]===0)throw new Error(`singular matrix: diagonal element ${f+1} is zero`);let c=it(a,i.ncol);for(let f=0;f<i.ncol;f++)for(let u=0;u<a;u++)c.data[u+f*a]=i.data[u+f*i.nrow];return Xp(s,a,c,r,o),Vn(e)?ft(c):Array.from(c.data)}function Xp(t,e,n,r,o){let s=t.nrow,i=t.data,a=n.nrow,c=n.data;for(let f=0;f<n.ncol;f++){let u=f*a;if(!o&&r){for(let l=e-1;l>=0;l--)if(c[u+l]!==0){c[u+l]/=i[l+l*s];let m=c[u+l];for(let h=0;h<l;h++)c[u+h]-=m*i[h+l*s]}}else if(o)if(r)for(let l=0;l<e;l++){let m=c[u+l];for(let h=0;h<l;h++)m-=i[h+l*s]*c[u+h];c[u+l]=m/i[l+l*s]}else for(let l=e-1;l>=0;l--){let m=c[u+l];for(let h=l+1;h<e;h++)m-=i[h+l*s]*c[u+h];c[u+l]=m/i[l+l*s]}else for(let l=0;l<e;l++)if(c[u+l]!==0){c[u+l]/=i[l+l*s];let m=c[u+l];for(let h=l+1;h<e;h++)c[u+h]-=m*i[h+l*s]}}}function Hp(t,e={}){let n=e.norm===void 0?e.exact?"2":"O":Kp(e.norm);if(e.exact){if(n==="2"){let s=Qo(t,{nu:0,nv:0}).d,i=Math.min(...s);return i===0?1/0:Math.max(...s)/i}return p0(t,{type:n})*p0(Mi(t),{type:n})}if(n!=="O"&&n!=="I")throw new RangeError(`norm must be "1", "O" or "I" when exact is false (got "${e.norm}")`);if((e.method??"qr")==="direct")return e.triangular?1/Oh(wt(t),(e.uplo??"U")==="U",n):1/yf(t,{norm:n});let r=wt(t),o=r.nrow<r.ncol?ft(Bn(r)):t;return 1/Oh(wt(pi(Qn(o))),!0,n)}function Oh(t,e,n){return Yp(n==="I"?Bn(t):t,e)}function Kp(t){let e=t.toUpperCase();if(e==="1"||e==="O")return"O";if(e==="E")return"F";if(e==="I"||e==="F"||e==="M"||e==="2")return e;throw new RangeError(`invalid norm "${t}"`)}function Yp(t,e){let n=Math.min(t.nrow,t.ncol),r=t.nrow,o=(m,h)=>t.data[m+h*r],s=!e,i=0;for(let m=0;m<n;m++){let[h,N]=s?[m,n-m]:[0,m+1],p=0;for(let d=h;d<h+N;d++)p+=Math.abs(o(d,m));i=Math.max(i,p)}let a=1,c=new Float64Array(n),f=m=>{for(let h=0;h<n;h++)c[h]*=m};for(let m=0;m<n;m++){let h=s?n-1-m:m,N=o(h,h);if(c[h]!==0&&(a=c[h]>0?-Math.abs(a):Math.abs(a)),Math.abs(a-c[h])>Math.abs(N)){let g=Math.abs(N)/Math.abs(a-c[h]);f(g),a*=g}let p=a-c[h],d=-a-c[h],M=Math.abs(p),b=Math.abs(d);if(N!==0?(p/=N,d/=N):(p=1,d=1),m!==n-1){let[g,w]=s?[0,h-1]:[h+1,n-1];for(let v=g;v<=w;v++)b+=Math.abs(c[v]+d*o(h,v)),c[v]+=p*o(h,v),M+=Math.abs(c[v]);if(M<b){let v=d-p;p=d;for(let x=g;x<=w;x++)c[x]+=v*o(h,x)}}c[h]=p}f(1/Vh(c));let u=1;for(let m=0;m<n;m++){let h=s?m:n-1-m,N=o(h,h);if(Math.abs(c[h])>Math.abs(N)){let p=Math.abs(N)/Math.abs(c[h]);f(p),u*=p}if(N!==0?c[h]/=N:c[h]=1,m<n-1){let p=-c[h];if(s)for(let d=h+1;d<n;d++)c[d]+=p*o(d,h);else for(let d=0;d<h;d++)c[d]+=p*o(d,h)}}let l=1/Vh(c);return f(l),u*=l,i!==0?u/i:0}function Vh(t){let e=0;for(let n of t)e+=Math.abs(n);return e}function Zp(t,e={}){let n=e.tol??Math.sqrt(Number.EPSILON),r=wt(t),{d:o,u:s,v:i}=Qo(t),a=r.nrow,c=r.ncol,f=it(c,a),u=Math.max(n*(o[0]??0),0);for(let l=0;l<o.length;l++){if(!(o[l]>u))continue;let m=1/o[l];for(let h=0;h<a;h++){let N=s[h][l]*m;for(let p=0;p<c;p++)f.data[p+h*c]+=i[p][l]*N}}return ft(f)}function Jp(t,e={}){let n=wt(t);if(xr(n),n.nrow===0)throw new RangeError("the matrix has zero dimension");for(let s of n.data)if(!Number.isFinite(s))throw new RangeError("the matrix contains NaN or infinite values");let r=e.symmetric??td(n),o=!(e.onlyValues??!1);return r?ed(n,o):od(n,o)}function td(t){let e=t.nrow,n=0,r=0;for(let c=0;c<e;c++)for(let f=0;f<e;f++)n+=Math.abs(t.data[f+c*e]-t.data[c+f*e]),r+=Math.abs(t.data[f+c*e]);let o=100*Number.EPSILON,s=e*e,i=r/s,a=n/s;return(Number.isFinite(i)&&i>o?a/i:a)<=o}function ed(t,e){let n=t.nrow,r=it(n,n);for(let c=0;c<n;c++)for(let f=c;f<n;f++)r.data[f+c*n]=t.data[f+c*n],r.data[c+f*n]=t.data[f+c*n];let o=new Float64Array(n),s=new Float64Array(n);nd(r,o,s),rd(r,o,s);let i=Array.from(o).reverse();if(!e)return{values:i};let a=it(n,n);for(let c=0;c<n;c++)a.data.set(r.data.subarray((n-1-c)*n,(n-c)*n),c*n);return{values:i,vectors:ft(a)}}function nd(t,e,n){let r=t.nrow,o=t.data,s=(i,a)=>i+a*r;for(let i=0;i<r;i++)e[i]=o[s(r-1,i)];for(let i=r-1;i>0;i--){let a=0,c=0;for(let f=0;f<i;f++)a+=Math.abs(e[f]);if(a===0){n[i]=e[i-1];for(let f=0;f<i;f++)e[f]=o[s(i-1,f)],o[s(i,f)]=0,o[s(f,i)]=0}else{for(let m=0;m<i;m++)e[m]/=a,c+=e[m]*e[m];let f=e[i-1],u=Math.sqrt(c);f>0&&(u=-u),n[i]=a*u,c-=f*u,e[i-1]=f-u;for(let m=0;m<i;m++)n[m]=0;for(let m=0;m<i;m++){f=e[m],o[s(m,i)]=f,u=n[m]+o[s(m,m)]*f;for(let h=m+1;h<=i-1;h++)u+=o[s(h,m)]*e[h],n[h]+=o[s(h,m)]*f;n[m]=u}f=0;for(let m=0;m<i;m++)n[m]/=c,f+=n[m]*e[m];let l=f/(c+c);for(let m=0;m<i;m++)n[m]-=l*e[m];for(let m=0;m<i;m++){f=e[m],u=n[m];for(let h=m;h<=i-1;h++)o[s(h,m)]-=f*n[h]+u*e[h];e[m]=o[s(i-1,m)],o[s(i,m)]=0}}e[i]=c}for(let i=0;i<r-1;i++){o[s(r-1,i)]=o[s(i,i)],o[s(i,i)]=1;let a=e[i+1];if(a!==0){for(let c=0;c<=i;c++)e[c]=o[s(c,i+1)]/a;for(let c=0;c<=i;c++){let f=0;for(let u=0;u<=i;u++)f+=o[s(u,i+1)]*o[s(u,c)];for(let u=0;u<=i;u++)o[s(u,c)]-=f*e[u]}}for(let c=0;c<=i;c++)o[s(c,i+1)]=0}for(let i=0;i<r;i++)e[i]=o[s(r-1,i)],o[s(r-1,i)]=0;o[s(r-1,r-1)]=1,n[0]=0}function rd(t,e,n){let r=t.nrow,o=t.data,s=(f,u)=>f+u*r;for(let f=1;f<r;f++)n[f-1]=n[f];n[r-1]=0;let i=0,a=0,c=Number.EPSILON;for(let f=0;f<r;f++){a=Math.max(a,Math.abs(e[f])+Math.abs(n[f]));let u=f;for(;u<r-1&&Math.abs(n[u])>c*a;)u++;if(u>f){let l=0;do{if(++l>100)throw new Error("the eigendecomposition did not converge");let m=e[f],h=(e[f+1]-m)/(2*n[f]),N=Math.hypot(h,1);h<0&&(N=-N),e[f]=n[f]/(h+N),e[f+1]=n[f]*(h+N);let p=e[f+1],d=m-e[f];for(let I=f+2;I<r;I++)e[I]-=d;i+=d,h=e[u];let M=1,b=M,g=M,w=n[f+1],v=0,x=0;for(let I=u-1;I>=f;I--){g=b,b=M,x=v,m=M*n[I],d=M*h,N=Math.hypot(h,n[I]),n[I+1]=v*N,v=n[I]/N,M=h/N,h=M*e[I]-v*m,e[I+1]=d+v*(M*m+v*e[I]);for(let F=0;F<r;F++)d=o[s(F,I+1)],o[s(F,I+1)]=v*o[s(F,I)]+M*d,o[s(F,I)]=M*o[s(F,I)]-v*d}h=-v*x*g*w*n[f]/p,n[f]=v*h,e[f]=M*h}while(Math.abs(n[f])>c*a)}e[f]=e[f]+i,n[f]=0}for(let f=0;f<r-1;f++){let u=f,l=e[f];for(let m=f+1;m<r;m++)e[m]<l&&(u=m,l=e[m]);if(u!==f){e[u]=e[f],e[f]=l;for(let m=0;m<r;m++){let h=o[s(m,f)];o[s(m,f)]=o[s(m,u)],o[s(m,u)]=h}}}}function od(t,e){let n=t.nrow,r={nrow:n,ncol:n,data:t.data.slice()},o=it(n,n),s=new Float64Array(n),i=new Float64Array(n);id(r,o),ad(r,o,s,i);let a=Array.from(s,(p,d)=>Math.hypot(p,i[d])),c=Array.from({length:n},(p,d)=>d).sort((p,d)=>a[d]-a[p]||p-d),f=i.some(p=>p!==0),u={values:c.map(p=>s[p])};if(f&&(u.valuesIm=c.map(p=>i[p])),!e)return u;let l=it(n,n),m=it(n,n);for(let p=0;p<n;p++){let d=o.data.subarray(p*n,(p+1)*n);if(i[p]===0)l.data.set(d,p*n);else if(i[p]>0){let M=o.data.subarray((p+1)*n,(p+2)*n);l.data.set(d,p*n),m.data.set(M,p*n),l.data.set(d,(p+1)*n);for(let b=0;b<n;b++)m.data[b+(p+1)*n]=-M[b]}}sd(l,m);let h=it(n,n),N=it(n,n);return c.forEach((p,d)=>{h.data.set(l.data.subarray(p*n,(p+1)*n),d*n),N.data.set(m.data.subarray(p*n,(p+1)*n),d*n)}),u.vectors=ft(h),f&&(u.vectorsIm=ft(N)),u}function sd(t,e){let n=t.nrow;for(let r=0;r<n;r++){let o=r*n,s=0,i=0,a=-1;for(let l=0;l<n;l++){let m=Math.hypot(t.data[o+l],e.data[o+l]);s+=m*m,m>a&&(a=m,i=l)}let c=Math.sqrt(s);if(c===0)continue;let f=t.data[o+i]/a/c,u=-e.data[o+i]/a/c;for(let l=0;l<n;l++){let m=t.data[o+l],h=e.data[o+l];t.data[o+l]=m*f-h*u,e.data[o+l]=m*u+h*f}e.data[o+i]=0}}function id(t,e){let n=t.nrow,r=t.data,o=e.data,s=(f,u)=>f+u*n,i=new Float64Array(n),a=0,c=n-1;for(let f=a+1;f<=c-1;f++){let u=0;for(let h=f;h<=c;h++)u+=Math.abs(r[s(h,f-1)]);if(u===0)continue;let l=0;for(let h=c;h>=f;h--)i[h]=r[s(h,f-1)]/u,l+=i[h]*i[h];let m=Math.sqrt(l);i[f]>0&&(m=-m),l-=i[f]*m,i[f]=i[f]-m;for(let h=f;h<n;h++){let N=0;for(let p=c;p>=f;p--)N+=i[p]*r[s(p,h)];N/=l;for(let p=f;p<=c;p++)r[s(p,h)]-=N*i[p]}for(let h=0;h<=c;h++){let N=0;for(let p=c;p>=f;p--)N+=i[p]*r[s(h,p)];N/=l;for(let p=f;p<=c;p++)r[s(h,p)]-=N*i[p]}i[f]=u*i[f],r[s(f,f-1)]=u*m}for(let f=0;f<n;f++)for(let u=0;u<n;u++)o[s(f,u)]=f===u?1:0;for(let f=c-1;f>=a+1;f--)if(r[s(f,f-1)]!==0){for(let u=f+1;u<=c;u++)i[u]=r[s(u,f-1)];for(let u=f;u<=c;u++){let l=0;for(let m=f;m<=c;m++)l+=i[m]*o[s(m,u)];l=l/i[f]/r[s(f,f-1)];for(let m=f;m<=c;m++)o[s(m,u)]+=l*i[m]}}}function g0(t,e,n,r){if(Math.abs(n)>Math.abs(r)){let i=r/n,a=n+i*r;return[(t+i*e)/a,(e-i*t)/a]}let o=n/r,s=r+o*n;return[(o*t+e)/s,(o*e-t)/s]}function ad(t,e,n,r){let o=t.nrow,s=t.data,i=e.data,a=(R,y)=>R+y*o,c=o-1,f=0,u=o-1,l=Number.EPSILON,m=0,h=0,N=0,p=0,d=0,M=0,b,g,w,v,x=0;for(let R=0;R<o;R++)for(let y=Math.max(R-1,0);y<o;y++)x+=Math.abs(s[a(R,y)]);let I=0,F=0;for(;c>=f;){let R=c;for(;R>f&&(d=Math.abs(s[a(R-1,R-1)])+Math.abs(s[a(R,R)]),d===0&&(d=x),!(Math.abs(s[a(R,R-1)])<l*d));)R--;if(R===c)s[a(c,c)]=s[a(c,c)]+m,n[c]=s[a(c,c)],r[c]=0,c--,I=0;else if(R===c-1){if(g=s[a(c,c-1)]*s[a(c-1,c)],h=(s[a(c-1,c-1)]-s[a(c,c)])/2,N=h*h+g,M=Math.sqrt(Math.abs(N)),s[a(c,c)]=s[a(c,c)]+m,s[a(c-1,c-1)]=s[a(c-1,c-1)]+m,w=s[a(c,c)],N>=0){M=h>=0?h+M:h-M,n[c-1]=w+M,n[c]=n[c-1],M!==0&&(n[c]=w-g/M),r[c-1]=0,r[c]=0,w=s[a(c,c-1)],d=Math.abs(w)+Math.abs(M),h=w/d,N=M/d,p=Math.sqrt(h*h+N*N),h/=p,N/=p;for(let y=c-1;y<o;y++)M=s[a(c-1,y)],s[a(c-1,y)]=N*M+h*s[a(c,y)],s[a(c,y)]=N*s[a(c,y)]-h*M;for(let y=0;y<=c;y++)M=s[a(y,c-1)],s[a(y,c-1)]=N*M+h*s[a(y,c)],s[a(y,c)]=N*s[a(y,c)]-h*M;for(let y=f;y<=u;y++)M=i[a(y,c-1)],i[a(y,c-1)]=N*M+h*i[a(y,c)],i[a(y,c)]=N*i[a(y,c)]-h*M}else n[c-1]=w+h,n[c]=w+h,r[c-1]=M,r[c]=-M;c-=2,I=0}else{if(w=s[a(c,c)],v=0,g=0,R<c&&(v=s[a(c-1,c-1)],g=s[a(c,c-1)]*s[a(c-1,c)]),I===10){m+=w;for(let E=f;E<=c;E++)s[a(E,E)]-=w;d=Math.abs(s[a(c,c-1)])+Math.abs(s[a(c-1,c-2)]),w=v=.75*d,g=-.4375*d*d}if(I===30&&(d=(v-w)/2,d=d*d+g,d>0)){d=Math.sqrt(d),v<w&&(d=-d),d=w-g/((v-w)/2+d);for(let E=f;E<=c;E++)s[a(E,E)]-=d;m+=d,w=v=g=.964}if(I++,++F>100*o)throw new Error("the eigendecomposition did not converge");let y=c-2;for(;y>=R&&(M=s[a(y,y)],p=w-M,d=v-M,h=(p*d-g)/s[a(y+1,y)]+s[a(y,y+1)],N=s[a(y+1,y+1)]-M-p-d,p=s[a(y+2,y+1)],d=Math.abs(h)+Math.abs(N)+Math.abs(p),h/=d,N/=d,p/=d,!(y===R||Math.abs(s[a(y,y-1)])*(Math.abs(N)+Math.abs(p))<l*(Math.abs(h)*(Math.abs(s[a(y-1,y-1)])+Math.abs(M)+Math.abs(s[a(y+1,y+1)])))));)y--;for(let E=y+2;E<=c;E++)s[a(E,E-2)]=0,E>y+2&&(s[a(E,E-3)]=0);for(let E=y;E<=c-1;E++){let q=E!==c-1;if(E!==y){if(h=s[a(E,E-1)],N=s[a(E+1,E-1)],p=q?s[a(E+2,E-1)]:0,w=Math.abs(h)+Math.abs(N)+Math.abs(p),w===0)continue;h/=w,N/=w,p/=w}if(d=Math.sqrt(h*h+N*N+p*p),h<0&&(d=-d),d!==0){E!==y?s[a(E,E-1)]=-d*w:R!==y&&(s[a(E,E-1)]=-s[a(E,E-1)]),h+=d,w=h/d,v=N/d,M=p/d,N/=h,p/=h;for(let A=E;A<o;A++)h=s[a(E,A)]+N*s[a(E+1,A)],q&&(h+=p*s[a(E+2,A)],s[a(E+2,A)]=s[a(E+2,A)]-h*M),s[a(E,A)]=s[a(E,A)]-h*w,s[a(E+1,A)]=s[a(E+1,A)]-h*v;for(let A=0;A<=Math.min(c,E+3);A++)h=w*s[a(A,E)]+v*s[a(A,E+1)],q&&(h+=M*s[a(A,E+2)],s[a(A,E+2)]=s[a(A,E+2)]-h*p),s[a(A,E)]=s[a(A,E)]-h,s[a(A,E+1)]=s[a(A,E+1)]-h*N;for(let A=f;A<=u;A++)h=w*i[a(A,E)]+v*i[a(A,E+1)],q&&(h+=M*i[a(A,E+2)],i[a(A,E+2)]=i[a(A,E+2)]-h*p),i[a(A,E)]=i[a(A,E)]-h,i[a(A,E+1)]=i[a(A,E+1)]-h*N}}}}if(x!==0){for(c=o-1;c>=0;c--)if(h=n[c],N=r[c],N===0){let R=c;s[a(c,c)]=1;for(let y=c-1;y>=0;y--){g=s[a(y,y)]-h,p=0;for(let E=R;E<=c;E++)p+=s[a(y,E)]*s[a(E,c)];if(r[y]<0)M=g,d=p;else if(R=y,r[y]===0?s[a(y,c)]=g!==0?-p/g:-p/(l*x):(w=s[a(y,y+1)],v=s[a(y+1,y)],N=(n[y]-h)*(n[y]-h)+r[y]*r[y],b=(w*d-M*p)/N,s[a(y,c)]=b,s[a(y+1,c)]=Math.abs(w)>Math.abs(M)?(-p-g*b)/w:(-d-v*b)/M),b=Math.abs(s[a(y,c)]),l*b*b>1)for(let E=y;E<=c;E++)s[a(E,c)]=s[a(E,c)]/b}}else if(N<0){let R=c-1;Math.abs(s[a(c,c-1)])>Math.abs(s[a(c-1,c)])?(s[a(c-1,c-1)]=N/s[a(c,c-1)],s[a(c-1,c)]=-(s[a(c,c)]-h)/s[a(c,c-1)]):[s[a(c-1,c-1)],s[a(c-1,c)]]=g0(0,-s[a(c-1,c)],s[a(c-1,c-1)]-h,N),s[a(c,c-1)]=0,s[a(c,c)]=1;for(let y=c-2;y>=0;y--){let E=0,q=0;for(let A=R;A<=c;A++)E+=s[a(y,A)]*s[a(A,c-1)],q+=s[a(y,A)]*s[a(A,c)];if(g=s[a(y,y)]-h,r[y]<0)M=g,p=E,d=q;else{if(R=y,r[y]===0)[s[a(y,c-1)],s[a(y,c)]]=g0(-E,-q,g,N);else{w=s[a(y,y+1)],v=s[a(y+1,y)];let A=(n[y]-h)*(n[y]-h)+r[y]*r[y]-N*N,j=(n[y]-h)*2*N;A===0&&j===0&&(A=l*x*(Math.abs(g)+Math.abs(N)+Math.abs(w)+Math.abs(v)+Math.abs(M))),[s[a(y,c-1)],s[a(y,c)]]=g0(w*p-M*E+N*q,w*d-M*q-N*E,A,j),Math.abs(w)>Math.abs(M)+Math.abs(N)?(s[a(y+1,c-1)]=(-E-g*s[a(y,c-1)]+N*s[a(y,c)])/w,s[a(y+1,c)]=(-q-g*s[a(y,c)]-N*s[a(y,c-1)])/w):[s[a(y+1,c-1)],s[a(y+1,c)]]=g0(-p-v*s[a(y,c-1)],-d-v*s[a(y,c)],M,N)}if(b=Math.max(Math.abs(s[a(y,c-1)]),Math.abs(s[a(y,c)])),l*b*b>1)for(let A=y;A<=c;A++)s[a(A,c-1)]=s[a(A,c-1)]/b,s[a(A,c)]=s[a(A,c)]/b}}}for(let R=o-1;R>=f;R--)for(let y=f;y<=u;y++){M=0;for(let E=f;E<=Math.min(R,u);E++)M+=i[a(y,E)]*s[a(E,R)];i[a(y,R)]=M}}}function ve(t){return typeof t!="number"&&t.length>0&&Array.isArray(t[0])}function me(t){return typeof t=="number"?[t]:Array.from(t)}function sn(t){let e=t[0].length;if(t.some(n=>n.length!==e))throw new TypeError("all rows of the matrix must have the same length");return e}function Sf(t,e){let n,r;if(ve(t)&&ve(e))n=t.map(i=>[...i]),r=e.map(i=>[...i]);else if(ve(t)){let i=me(e),a=sn(t);n=t.map(c=>[...c]),r=a===i.length?i.map(c=>[c]):a===1?[i]:[]}else if(ve(e)){let i=me(t);r=e.map(a=>[...a]),n=e.length===i.length?[i]:e.length===1?i.map(a=>[a]):[]}else{let i=me(t),a=me(e);if(i.length===a.length)n=[i],r=a.map(c=>[c]);else if(i.length===1)n=[i],r=[a];else if(a.length===1)n=i.map(c=>[c]),r=[a];else throw new RangeError("non-conformable arguments")}let o=n[0]?.length??0;if(n.length===0||r.length!==o)throw new RangeError("non-conformable arguments");sn(n);let s=sn(r);return n.map(i=>{let a=new Array(s).fill(0);for(let c=0;c<s;c++){let f=0;for(let u=0;u<o;u++)f+=i[u]*r[u][c];a[c]=f}return a})}function b0(t,e,n){let r=ve(t),o=ve(e);if(r&&o){let c=sn(t);if(t.length!==e.length||c!==sn(e))throw new RangeError("non-conformable arrays");return t.map((f,u)=>f.map((l,m)=>n(l,e[u][m])))}if(r||o){let c=r?t:e,f=me(r?e:t),u=c.length,l=sn(c);if(f.length===0)return c.map(m=>m.map(()=>NaN));if(f.length>u*l)throw new RangeError("dims [product "+u*l+"] do not match the length of object ["+f.length+"]");return c.map((m,h)=>m.map((N,p)=>r?n(N,f[(h+p*u)%f.length]):n(f[(h+p*u)%f.length],N)))}let s=me(t),i=me(e);if(s.length===0||i.length===0)return[];let a=Math.max(s.length,i.length);return Array.from({length:a},(c,f)=>n(s[f%s.length],i[f%i.length]))}function cd(t,e){return b0(t,e,(n,r)=>n+r)}function fd(t,e){return b0(t,e,(n,r)=>n-r)}function ud(t,e){return b0(t,e,(n,r)=>n*r)}function ld(t,e){return b0(t,e,(n,r)=>n/r)}var md={"*":(t,e)=>t*e,"+":(t,e)=>t+e,"-":(t,e)=>t-e,"/":(t,e)=>t/e,"^":(t,e)=>t**e};function hd(t,e,n="*"){let r=typeof n=="function"?n:md[n];if(r===void 0)throw new RangeError(`invalid fun "${String(n)}"`);let o=Array.from(t),s=Array.from(e);return o.map(i=>s.map(a=>r(i,a)))}function Lf(t){if(!ve(t))return[me(t)];let e=sn(t);return Array.from({length:e},(n,r)=>t.map(o=>o[r]))}function Nd(t,e={}){if(ve(t)){let a=sn(t);return Array.from({length:Math.min(t.length,a)},(c,f)=>t[f][f])}let n=me(t),r,o;if(n.length===1&&e.nrow===void 0&&e.ncol===void 0){if(o=Math.trunc(n[0]),!(o>=0))throw new RangeError("invalid 'nrow' value (< 0)");r=[1]}else r=n,o=e.nrow??n.length;let s=e.ncol??o,i=Array.from({length:o},()=>new Array(s).fill(0));for(let a=0;a<Math.min(o,s);a++)i[a][a]=r[a%r.length];return o===0?[]:i}function Qh(t,e){let n=t.map(s=>ve(s)?e?Lf(s):s.map(i=>[...i]):[me(s)]),r=t.filter(ve),o=r.length>0?e?r[0].length:sn(r[0]):Math.max(...n.map(s=>s[0].length));return r.forEach((s,i)=>{if((e?s.length:sn(s))!==o)throw new RangeError(`number of ${e?"rows":"columns"} of matrices must match (see arg ${i+2})`)}),n.flatMap(s=>s.map(i=>Array.from({length:o},(a,c)=>i[c%i.length])))}function pd(...t){return Lf(Qh(t,!0))}function dd(...t){return Qh(t,!1)}function Md(t,e={}){let n=me(t),r=n.length,{nrow:o,ncol:s}=e;o===void 0&&s===void 0?(o=r,s=1):o===void 0?o=Math.ceil(r/s):s===void 0&&(s=Math.ceil(r/o));let i=e.byrow??!1;return Array.from({length:o},(a,c)=>Array.from({length:s},(f,u)=>r===0?NaN:n[(i?c*s+u:c+u*o)%r]))}function gd(t,e){if(!ve(t)&&!ve(e)){let s=me(t),i=me(e);return s.flatMap(a=>i.map(c=>a*c))}let n=ve(t)?t:me(t).map(s=>[s]),r=ve(e)?e:me(e).map(s=>[s]),o=[];for(let s of n)for(let i of r)o.push(s.flatMap(a=>i.map(c=>a*c)));return o}function bd(t,e,n={}){let{by:r,lengthOut:o}=n;if(e===void 0&&r===void 0&&o===void 0&&t!==void 0){if(!Number.isFinite(t))throw new RangeError("'from' must be a finite number");return Bh(1,t)}if(t!==void 0&&!Number.isFinite(t))throw new RangeError("'from' must be a finite number");if(e!==void 0&&!Number.isFinite(e))throw new RangeError("'to' must be a finite number");if(o===void 0){if(r===void 0)return Bh(t??1,e??1);let i=t??1,a=e??1,c=a-i;if(c===0&&a===0)return[a];let f=c/r;if(!Number.isFinite(f)){if(r===0&&c===0)return[i];throw new RangeError("invalid '(to - from)/by'")}if(f<0)throw new RangeError("wrong sign in 'by' argument");if(Math.abs(c)/Math.max(Math.abs(a),Math.abs(i))<100*Number.EPSILON)return[i];let u=Math.trunc(f+1e-10);return Array.from({length:u+1},(l,m)=>r>0?Math.min(i+m*r,a):Math.max(i+m*r,a))}if(!Number.isFinite(o)||o<0)throw new RangeError("'length.out' must be a non-negative number");let s=Math.ceil(o);if(s===0)return[];if(r===void 0){let i=e??(t??1)+(s-1),a=t??i-(s-1);if(s<=2)return[a,i].slice(0,s);if(a===i)return new Array(s).fill(a);let c=(i-a)/(s-1);return Array.from({length:s},(f,u)=>u===0?a:u===s-1?i:a+u*c)}if(e===void 0){let i=t??1;return Array.from({length:s},(a,c)=>i+c*r)}if(t===void 0)return Array.from({length:s},(i,a)=>e-(s-1-a)*r);throw new RangeError("too many arguments")}function Bh(t,e){let n=Math.trunc(Math.abs(e-t)+1+11920928955078125e-23),r=t<=e?1:-1;return Array.from({length:n},(o,s)=>t+r*s)}function ie(t,e){let n=Array.from(t);return e?n.filter(r=>!Number.isNaN(r)):n.some(Number.isNaN)?void 0:n}function Tf(t){if(!t.every(Number.isFinite))return t.reduce((n,r)=>n+r,0);let e=[0,0];for(let n of t)e=k(e,[n,0]);return e[0]+e[1]}function wd(t,e={}){let n=ie(t,e.naRm);return n===void 0?NaN:Tf(n)}function yd(t,e={}){let n=ie(t,e.naRm);if(n===void 0)return NaN;if(!n.every(Number.isFinite)||n.includes(0))return n.reduce((s,i)=>s*i,1);let r=[1,0],o=0;for(let s of n){r=L(r,[s,0]);let i=Math.floor(Math.log2(Math.abs(r[0])));if(i>500||i<-500){let a=2**-i;r=[r[0]*a,r[1]*a],o+=i}}return _f(r,o)}function vd(t,e={}){let n=ie(t,e.naRm);if(n===void 0)return NaN;let r=n.length;if(r===0)return NaN;let o=e.trim??0;if(Number.isNaN(o))throw new RangeError("'trim' must be numeric of length one");if(o>0&&r>0){if(o>=.5)return In(n);o=Math.max(o,0);let s=Math.floor(r*o),i=[...n].sort((a,c)=>a-c);return Tt(i.slice(s,r-s))}return Tt(n)}function Id(t,e,n={}){let r=Array.from(t),o=Array.from(e);if(r.length!==o.length)throw new RangeError("'x' and 'w' must have the same length");if(n.naRm){let i=r.map(a=>!Number.isNaN(a));r=r.filter((a,c)=>i[c]),o=o.filter((a,c)=>i[c])}let s=[];for(let i=0;i<r.length;i++)o[i]!==0&&s.push(r[i]*o[i]);return Tf(s)/Tf(o)}function Uh(t,e={}){let n=ie(t,e.naRm);return n===void 0?NaN:Jt(n)}function w0(t,e={}){return Math.sqrt(Uh(t,e))}function In(t,e={}){let n=ie(t,e.naRm);if(n===void 0)return NaN;let r=n.length;if(r===0)return NaN;let o=[...n].sort((i,a)=>i-a),s=Math.floor(r/2);return r%2===1?o[s]:ye([o[s-1],o[s]])[0]}function gi(t,e={}){let n=ie(t,e.naRm);if(n===void 0)return[NaN,NaN];let r=1/0,o=-1/0;for(let s of n)s<r&&(r=s),s>o&&(o=s);return[r,o]}function xd(t){let e=[],n=[0,0],r=0,o=!0;for(let s of Array.from(t))r+=s,o&&Number.isFinite(s)?(n=k(n,[s,0]),e.push(n[0]+n[1])):(o=!1,e.push(Number.isNaN(s)||Number.isNaN(r)?NaN:r));return e}function Ad(t){let e=[],n=[1,0],r=0,o;for(let s of Array.from(t)){if(o===void 0&&(!Number.isFinite(s)||s===0)&&(o=_f(n,r)),o!==void 0){o*=s,e.push(o);continue}n=L(n,[s,0]);let i=Math.floor(Math.log2(Math.abs(n[0])));(i>500||i<-500)&&(n=[n[0]*2**-i,n[1]*2**-i],r+=i),e.push(_f(n,r))}return e}function _f(t,e){let n=t[0]+t[1];for(;e>0&&Number.isFinite(n);){let r=Math.min(e,1e3);n*=2**r,e-=r}for(;e<0&&n!==0;){let r=Math.max(e,-1e3);n*=2**r,e-=r}return n}function Gh(t,e){let n=[],r=NaN,o=!1;for(let s of Array.from(t)){if(o||Number.isNaN(s)){o=!0,n.push(NaN);continue}(n.length===0||e(s,r))&&(r=s),n.push(r)}return n}function Ed(t){return Gh(t,(e,n)=>e>n)}function Rd(t){return Gh(t,(e,n)=>e<n)}function Fd(t,e={}){let n=e.lag??1,r=e.differences??1;if(!(Number.isInteger(n)&&n>=1&&Number.isInteger(r)&&r>=1))throw new RangeError("'lag' and 'differences' must be integers >= 1");let o=Array.from(t);if(n*r>=o.length)return[];for(let s=0;s<r;s++){let i=[];for(let a=n;a<o.length;a++)i.push(o[a]-o[a-n]);o=i}return o}function $h(t){let e=ye(t),n=0,r=0,o=0;for(let s of t){let i=s-e[0]-e[1],a=i*i;n+=a,r+=a*i,o+=a*a}return[n,r,o]}function zh(t){if(![1,2,3].includes(t))throw new RangeError("Invalid 'type' argument.")}function kd(t,e={}){let n=e.type??3;zh(n);let r=ie(t,!0),o=r.length,[s,i]=$h(r),a=Math.sqrt(o)*i/s**1.5;if(n===1)return a;if(n===2){if(o<3)throw new RangeError("Need at least 3 complete observations.");return a*Math.sqrt(o*(o-1))/(o-2)}return a*(1-1/o)**1.5}function qd(t,e={}){let n=e.type??3;zh(n);let r=ie(t,!0),o=r.length,[s,,i]=$h(r),a=o*i/(s*s);if(n===1)return a-3;if(n===2){if(o<4)throw new RangeError("Need at least 4 complete observations.");return((o+1)*(a-3)+6)*(o-1)/((o-2)*(o-3))}return a*(1-1/o)**2-3}function Sd(t,e={}){let n=ie(t,e.naRm);return n===void 0?NaN:n.some(r=>r<0)?NaN:n.includes(0)?0:Math.exp(Tt(n.map(Math.log)))}function Ld(t){let e=ie(t,!0),n=new Map;for(let s of e)n.set(s===0?0:s,(n.get(s===0?0:s)??0)+1);let r=0;for(let s of n.values())r=Math.max(r,s);return r<=1?{value:[NaN],frequency:NaN}:{value:[...n.entries()].filter(([,s])=>s===r).map(([s])=>s).sort((s,i)=>s-i),frequency:r}}function Td(t,e={}){let n=ie(t,!0),r=e.center??"mean",o=r==="mean"?Tt(n):r==="median"?In(n):r;return Tt(n.map(s=>Math.abs(s-o)))}function _d(t,e={}){let n=ie(t,e.naRm);if(n===void 0)return NaN;let r=n.length,o=Math.sqrt(Jt(n))/Tt(n);return e.unbiased&&(o*=1-1/(4*(r-1))+o*o/r+1/(2*(r-1)**2)),o}function Df(t,e={}){let n=t.length>0&&Array.isArray(t[0])?t.map(c=>[...c]):Array.from(t,c=>[c]),r=n[0]?.length??0,o=c=>n.map(f=>f[c]),s={scaled:n},i=e.center??!0;if(i!==!1){let c=i===!0?Array.from({length:r},(f,u)=>Tt(o(u).filter(l=>!Number.isNaN(l)))):[...i];if(c.length!==r)throw new RangeError("length of 'center' must equal the number of columns of 'x'");for(let f of n)for(let u=0;u<r;u++)f[u]=f[u]-c[u];s.center=c}let a=e.scale??!0;if(a!==!1){let c=a===!0?Array.from({length:r},(f,u)=>{let l=o(u).filter(h=>!Number.isNaN(h)),m=0;for(let h of l)m+=h*h;return Math.sqrt(m/Math.max(1,l.length-1))}):[...a];if(c.length!==r)throw new RangeError("length of 'scale' must equal the number of columns of 'x'");for(let f of n)for(let u=0;u<r;u++)f[u]=f[u]/c[u];s.scale=c}return s}var Dd=22250738585072014e-324;function jd(t){let e=t.length,n=e===0?0:t[0].length,r=t.map(f=>{if(f.length!==n)throw new TypeError("all rows of the matrix must have the same length");return Array.from(f)}),o=Array.from({length:e},(f,u)=>u),s=Math.min(e,n);for(let f=0;f<s;f++){let u=f,l=Math.abs(r[f][f]);for(let N=f+1;N<e;N++){let p=Math.abs(r[N][f]);(p>l||Number.isNaN(l))&&(l=p,u=N)}u!==f&&([r[u],r[f]]=[r[f],r[u]],[o[u],o[f]]=[o[f],o[u]]);let m=r[f][f];if(m===0)continue;let h=Math.abs(m)>=Dd?1/m:NaN;for(let N=f+1;N<e;N++){let p=Number.isNaN(h)?r[N][f]/m:r[N][f]*h;r[N][f]=p;for(let d=f+1;d<n;d++)r[N][d]=r[N][d]-p*r[f][d]}}let i=Array.from({length:e},(f,u)=>Array.from({length:s},(l,m)=>u===m?1:u>m?r[u][m]:0)),a=Array.from({length:s},(f,u)=>Array.from({length:n},(l,m)=>m>=u?r[u][m]:0)),c=Array.from({length:e},()=>new Array(e).fill(0));return o.forEach((f,u)=>c[f][u]=1),{P:c,L:i,U:a}}function Pd(t,e={}){let n=t.map(c=>Array.from(c)),r=Df(n,{center:e.center??!0,scale:e.scale??!1});if(r.scale?.some(c=>c===0))throw new RangeError("cannot rescale a constant/zero column to unit variance");let o=Qo(r.scaled,{nu:0}),s=n.length,i=o.v,a={sdev:o.d.map(c=>c/Math.sqrt(Math.max(1,s-1))),rotation:i,x:Sf(r.scaled,i)};return r.center!==void 0&&(a.center=r.center),r.scale!==void 0&&(a.scale=r.scale),a}var jf=4*Number.EPSILON,Cd={4:[0,1],5:[.5,.5],6:[0,0],8:[1/3,1/3],9:[3/8,3/8]};function Od(t,e,n){let r=t.length,o=f=>t[Math.min(Math.max(f,1),r)-1];if(n===7){let f=1+(r-1)*e,u=Math.floor(f),l=o(u),m=o(Math.ceil(f));if(f>u&&m!==l){let h=f-u;return(1-h)*l+h*m}return l}let s,i;if(n<=3){let f=n===3?r*e-.5:r*e;s=Math.floor(f*(1+jf)),n===1?i=f>s?1:0:n===2?i=f>s?1:.5:i=f!==s||Math.abs(s%2)===1?1:0}else{let[f,u]=Cd[n],l=f+e*(r+1-f-u);s=Math.floor(l*(1+jf)),i=l-s,Math.abs(i)<jf&&(i=0)}let a=o(s),c=o(s+1);return i===1?c:i>0&&i<1&&a!==c?(1-i)*a+i*c:a}function y0(t,e=[0,.25,.5,.75,1],n={}){let r=n.type??7;if(!(Number.isInteger(r)&&r>=1&&r<=9))throw new RangeError("'type' must be an integer in 1..9");let o=ie(t,n.naRm);if(o===void 0)throw new RangeError("missing values and NaN's not allowed if 'na.rm' is FALSE");let s=o.sort((f,u)=>f-u),i=typeof e=="number"?[e]:Array.from(e),a=100*Number.EPSILON;if(i.some(f=>f<-a||f>1+a))throw new RangeError("'probs' outside [0,1]");let c=i.map(f=>Number.isNaN(f)||s.length===0?NaN:Od(s,Math.min(Math.max(f,0),1),r));return typeof e=="number"?c[0]:c}function Pf(t,e={}){let[n,r]=y0(t,[.25,.75],e);return r-n}function Vd(t){let e=Array.from(t).filter(s=>!Number.isNaN(s)).sort((s,i)=>s-i),n=e.length;if(n===0)return[NaN,NaN,NaN,NaN,NaN];let r=Math.floor((n+3)/2)/2;return[1,r,(n+1)/2,n+1-r,n].map(s=>.5*(e[Math.floor(s)-1]+e[Math.ceil(s)-1]))}function Bd(t,e={}){let n=ie(t,e.naRm);if(n===void 0)return NaN;let r=e.center??In(n),o=e.constant??1.4826,s=e.low??!1,i=e.high??!1,a=n.map(f=>Math.abs(f-r)),c=a.length;if((s||i)&&c%2===0){if(s&&i)throw new RangeError("'low' and 'high' cannot be both TRUE");let f=c/2+(i?1:0),u=a.sort((l,m)=>l-m);return o*u[f-1]}return o*In(a)}function Qd(t,e){let n=t.length,r=new Array(n);if(e==="first"||e==="last"||e==="random"){let i=e==="random"?Gc(n):[],a=Array.from({length:n},(c,f)=>f);return a.sort((c,f)=>{let u=t[c]-t[f];return u!==0?u:e==="first"?c-f:e==="last"?f-c:i[c]-i[f]||c-f}),a.forEach((c,f)=>r[c]=f+1),r}let o=Array.from({length:n},(i,a)=>a).sort((i,a)=>t[i]-t[a]||i-a),s=0;for(;s<n;){let i=s;for(;i+1<n&&t[o[i+1]]===t[o[s]];)i++;let a=e==="average"?(s+i+2)/2:e==="min"?s+1:i+1;for(let c=s;c<=i;c++)r[o[c]]=a;s=i+1}return r}function bi(t,e={}){let n=e.tiesMethod??"average";if(!["average","first","last","random","max","min"].includes(n))throw new RangeError(`invalid tiesMethod "${n}"`);let r=e.naLast??"last",o=Array.from(t),s=o.filter(l=>!Number.isNaN(l)),i=Qd(s,n),a=o.length-s.length,c=[],f=0,u=0;for(let l of o)Number.isNaN(l)?(u++,c.push(r==="keep"?NaN:r==="last"?s.length+u:u)):c.push(r==="first"?i[f++]+a:i[f++]);return c}var Ud=["pearson","kendall","spearman"],Gd=["all.obs","complete.obs","pairwise.complete.obs","everything","na.or.complete"];function Wh(t,e,n,r){if(t===void 0)return n;if(e.includes(t))return t;let o=e.filter(s=>s.startsWith(t));if(t.length===0||o.length!==1)throw new RangeError(`invalid '${r}' argument`);return o[0]}function Uo(t){return t.length>0&&Array.isArray(t[0])}function Xh(t){if(!Uo(t))return[Array.from(t)];let e=t[0].length;return Array.from({length:e},(n,r)=>t.map(o=>o[r]))}function v0(t,e,n,r){let o=Wh(n.method,Ud,"pearson","method"),s=Wh(n.use,Gd,"everything","use");if(e===void 0&&!Uo(t))throw new TypeError("supply both 'x' and 'y' or a matrix-like 'x'");let i=Xh(t),a=e===void 0?i:Xh(e),c=i[0]?.length??0;if(a.some(d=>d.length!==c))throw new RangeError("incompatible dimensions");let f=[...i,...a];if(s==="all.obs"&&f.some(d=>d.some(Number.isNaN)))throw new RangeError("missing observations in cov/cor");if(!r&&s==="pairwise.complete.obs"&&o!=="pearson")throw new RangeError("cannot handle 'pairwise.complete.obs'");let u;if((s==="complete.obs"||s==="na.or.complete")&&(u=Array.from({length:c},(d,M)=>f.every(b=>!Number.isNaN(b[M]))),!u.some(Boolean))){if(s==="complete.obs")throw new RangeError("no complete element pairs");return e===void 0||Uo(t)||Uo(e)?i.map(()=>a.map(()=>NaN)):NaN}let l=d=>{let M=u===void 0?d:d.filter((b,g)=>u[g]);return o==="spearman"&&s!=="pairwise.complete.obs"?bi(M,{naLast:"keep"}):M},m=i.map(l),h=e===void 0?m:a.map(l),N=(d,M)=>{let b=d,g=M;if(s==="pairwise.complete.obs"){let w=d.map((v,x)=>!Number.isNaN(v)&&!Number.isNaN(M[x]));b=d.filter((v,x)=>w[x]),g=M.filter((v,x)=>w[x]),o==="spearman"&&(b=bi(b),g=bi(g))}else if(b.some(Number.isNaN)||g.some(Number.isNaN))return NaN;return o==="kendall"?r?c0(b,g).tau:2*c0(b,g).s:r?a0(b,g)[0]:Yc(b,g)},p=m.map(d=>h.map(M=>N(d,M)));return r&&e===void 0&&s!=="pairwise.complete.obs"&&p.forEach((d,M)=>d[M]=1),e!==void 0&&!Uo(t)&&!Uo(e)?p[0][0]:p}function $d(t,e,n={}){return e!==void 0&&!Array.isArray(e)&&!ArrayBuffer.isView(e)?v0(t,void 0,e,!1):v0(t,e,n,!1)}function zd(t,e,n={}){return e!==void 0&&!Array.isArray(e)&&!ArrayBuffer.isView(e)?v0(t,void 0,e,!0):v0(t,e,n,!0)}function Un(t,e,n){let r=Math.ceil(n);if(r===1)return[t];let o=(e-t)/(r-1),s=Array.from({length:r},(i,a)=>t+a*o);return r>0&&(s[r-1]=e),s}function Wd(t,e){let n=Array.from(t).map(s=>Math.trunc(s)),r=e??Math.max(1,...n.filter(s=>!Number.isNaN(s))),o=new Array(Math.max(0,r)).fill(0);for(let s of n)s>=1&&s<=r&&o[s-1]++;return o}function Xd(t,e={}){let n=e.useNA??"no",r=Array.from(t),o=new Map,s=0;for(let c of r)Number.isNaN(c)?s++:o.set(c===0?0:c,(o.get(c===0?0:c)??0)+1);let i=Array.from(o.keys()).sort((c,f)=>c-f),a=i.map(c=>o.get(c));return(n==="always"||n==="ifany"&&s>0)&&(i.push(NaN),a.push(s)),{values:i,counts:a}}function Hd(t){let e=new Set,n=[];for(let r of Array.from(t)){let o=r===0?0:r;e.has(o)||(e.add(o),n.push(r))}return n}function Kd(t,e,n={}){let r=n.right??!0,o=n.includeLowest??!1,s=Array.from(t),i;if(typeof e=="number"||e.length===1){let a=typeof e=="number"?e:e[0];if(!(a>=2))throw new RangeError("invalid number of intervals");let c=Math.trunc(a+1),f=s.filter(h=>!Number.isNaN(h)),u=Math.min(...f),l=Math.max(...f),m=l-u;m===0?(m=u!==0?Math.abs(u):1,i=Un(u-m/1e3,l+m/1e3,c)):(i=Un(u,l,c),i[0]=u-m/1e3,i[c-1]=l+m/1e3)}else i=[...e].sort((a,c)=>a-c);if(new Set(i).size<i.length)throw new RangeError("'breaks' are not unique");return Yd(s,i,r,o)}function Yd(t,e,n,r){let o=e.length;return t.map(s=>{if(Number.isNaN(s))return NaN;let i=0,a=o;for(;i<a;){let f=i+a>>1;(n?e[f]<s:e[f]<=s)?i=f+1:a=f}let c=i;return r&&(n&&s===e[0]&&(c=1),!n&&s===e[o-1]&&(c=o-1)),c>=1&&c<=o-1?c:NaN})}function Cf(t,e,n={}){let r=e.length;for(let a=1;a<r;a++)if(!(e[a]>=e[a-1]))throw new RangeError("'vec' must be sorted non-decreasingly and not contain NAs");if(e.some(Number.isNaN))throw new RangeError("'vec' must be sorted non-decreasingly and not contain NAs");let{rightmostClosed:o=!1,allInside:s=!1,leftOpen:i=!1}=n;return Array.from(t).map(a=>{if(Number.isNaN(a))return NaN;let c=0,f=r;for(;c<f;){let l=c+f>>1;(i?e[l]<a:e[l]<=a)?c=l+1:f=l}let u=c;return o&&r>0&&(!i&&u===r&&a===e[r-1]&&(u=r-1),i&&u===0&&a===e[0]&&(u=1)),s&&(u=Math.min(Math.max(u,1),r-1)),u})}function Hh(t,e={}){let n=Array.from(t).filter(Number.isFinite);if(n.length===0)return[];let r=e.n??5,o=e.minN??Math.floor(r/3),s=e.shrinkSml??.75,i=e.highUBias??1.5,a=e.u5Bias??.5+1.5*i,c=1/0,f=-1/0;for(let R of n)R<c&&(c=R),R>f&&(f=R);let u=f-c,l,m;if(u===0&&f===0)l=1,m=!0;else{l=Math.max(Math.abs(c),Math.abs(f));let y=(1+(a>=1.5*i+.5?1/(1+i):1.5/(1+a)))*Math.max(1,r)*Number.EPSILON;m=u<l*y*3}m?(l>10&&(l=9+l/10),l*=s,o>1&&(l/=o)):(l=r>1?u/r:u,u===1/0&&r>=2&&(l=f/r-c/r));let h=2**-20*Zd;l<h?l=h:l>Number.MAX_VALUE/1.25&&(l=Number.MAX_VALUE/1.25);let N=10**Math.floor(Math.log10(l)),p=[[2*N,i],[5*N,a],[10*N,i]],d=N;for(let[R,y]of p)if(R-l<y*(l-d))d=R;else break;let M=1e-10,b=Math.floor(c/d+M);for(;b*d>c+M*d;)b--;for(;!Number.isFinite(b*d);)b++;let g=Math.ceil(f/d-M);for(;g*d<f-M*d;)g++;for(;!Number.isFinite(g*d);)g--;let w=Math.trunc(.5+g-b);if(w<o){let R=o-w,y=Math.floor(R/2),E=R%2;c===0&&b===0&&f!==0?g+=R:f===0&&g===0&&c!==0?b-=R:b>=0?(g+=y,b-=y+E):(b-=y,g+=y+E),w=o}let v=b*d<c?b*d:c,x=g*d>f?g*d:f;if(w<=0)return[v];let I;if(Number.isFinite(x-v))I=Un(v,x,w+1);else{let R=x/w-v/w;I=Array.from({length:w+1},(y,E)=>v+E*R),I[w]=x}let F=x/w-v/w;return I.map(R=>Math.abs(R)<1e-14*F?0:R)}var Zd=22250738585072014e-324;function Jd(t){return t===0||!Number.isFinite(t)?t:Number(t.toPrecision(5))}function tM(t,e){let n=t.length,[r,o]=gi(t),s=o-r;switch(e.toLowerCase()){case"sturges":return Math.ceil(Math.log2(n)+1);case"scott":{let i=3.5*w0(t)*n**-.3333333333333333;return i>0?Math.max(1,Math.ceil(s/i)):1}case"fd":case"freedman-diaconis":{let i=t.map(Jd),a=2*Pf(i);for(let c=1/8;a===0&&c>=1/512;c/=2){let[f,u]=y0(i,[c,1-c]);a=(u-f)/(1-2*c)}return a===0&&(a=3.5*w0(t)),a>0?Math.ceil(s/a*n**(1/3)):1}default:throw new RangeError("unknown 'breaks' algorithm")}}function eM(t,e){let n=t.slice(1).map((r,o)=>r-t[o]);return t.length>5?In(n):t.length<=3?e:Math.min(...n.filter(r=>r>0))}function nM(t,e={}){let n=Array.from(t).filter(Number.isFinite),r=n.length,o=e.right??!0,s=e.includeLowest??!0,i=e.breaks??"Sturges",a;if(typeof i!="string"&&typeof i!="number"&&i.length>1)a=[...i].sort((M,b)=>M-b);else{s=!0;let M=typeof i=="string"?tM(n,i):typeof i=="number"?i:i[0];if(!Number.isFinite(M)||M<1)throw new RangeError("invalid number of 'breaks'");M=Math.min(M,1e6);let[b,g]=gi(n);a=Hh([b,g],{n:M,minN:1});for(let w=1;w<a.length;w++)if(!(a[w]-a[w-1]>0))throw new RangeError("'breaks' are not strictly increasing")}let c=a.length,[f,u]=r>0?gi(n):[0,0],l=1e-7*eM(a,u-f),m=a.map((M,b)=>o?b===0&&s?M-l:M+l:b<c-1?M-l:s?M+l:M-l),h=new Array(Math.max(0,c-1)).fill(0),N=0;for(let M of n){let b=rM(M,m,o,s);b>=0&&(h[b]++,N++)}if(N<r)throw new RangeError("some 'x' not counted; maybe 'breaks' do not span range of 'x'");let p=h.map((M,b)=>M/(r*(a[b+1]-a[b]))),d=h.map((M,b)=>.5*(a[b+1]+a[b]));return{breaks:a,counts:h,density:p,mids:d}}function rM(t,e,n,r){let o=e.length-1;if(o<1)return-1;if(n){if(t===e[0]&&r)return 0;if(!(t>e[0]&&t<=e[o]))return-1;let a=1,c=o;for(;a<c;){let f=a+c>>1;t<=e[f]?c=f:a=f+1}return a-1}if(t===e[o]&&r)return o-1;if(!(t>=e[0]&&t<e[o]))return-1;let s=0,i=o-1;for(;s<i;){let a=s+i+1>>1;e[a]<=t?s=a:i=a-1}return s}function oM(t){let e=Array.from(t).filter(r=>!Number.isNaN(r)).sort((r,o)=>r-o),n=e.length;if(n<1)throw new RangeError("'x' must have 1 or more non-missing values");return r=>{if(Number.isNaN(r))return NaN;let o=0,s=n;for(;o<s;){let i=o+s>>1;e[i]<=r?o=i+1:s=i}return o/n}}function Of(t,e,n="mean"){if(t.length!==e.length)throw new RangeError("'x' and 'y' lengths differ");let r=[];for(let a=0;a<t.length;a++)!Number.isNaN(t[a])&&!Number.isNaN(e[a])&&r.push(a);r.sort((a,c)=>t[a]-t[c]);let o=typeof n=="function"?n:n==="min"?a=>Math.min(...a):n==="max"?a=>Math.max(...a):Tt,s=[],i=[];for(let a=0;a<r.length;){let c=t[r[a]],f=a+1;for(;f<r.length&&t[r[f]]===c;)f++;s.push(c),i.push(f-a===1?e[r[a]]:o(r.slice(a,f).map(u=>e[u]))),a=f}return{x:s,y:i}}function sM(t,e,n,r){let o=(r-t[n])/(t[n+1]-t[n]);return e[n]+(e[n+1]-e[n])*o}function iM(t,e,n){let r=(o,s)=>o===0?0:o*s;return r(1-n,t[e])+r(n,t[e+1])}function aM(t,e,n={}){let{method:r="linear",n:o=50,f:s=0,rule:i=1,ties:a="mean"}=n,c=Of(t,e,a),f=c.x.length;if(f<=1&&r==="linear")throw new RangeError("need at least two non-NA values to interpolate");if(f===0)throw new RangeError("zero non-NA points");let[u,l]=typeof i=="number"?[i,i]:i,m=n.yleft??(u===1?NaN:c.y[0]),h=n.yright??(l===1?NaN:c.y[f-1]),N;if(n.xout!==void 0)N=Array.from(n.xout);else{if(o<=0)throw new RangeError("'approx' requires n >= 1");N=Un(c.x[0],c.x[f-1],o)}let p=c.x,d=c.y,M=Cf(N,p),b=N.map((g,w)=>{let v=M[w];if(Number.isNaN(v))return NaN;if(v===0)return m;let x=v-1;return g===p[x]?d[x]:v===f?h:r==="linear"?sM(p,d,x,g):iM(d,x,s)});return{x:N,y:b}}function Vf(t,e){let n=t.length,r=new Array(n).fill(0),o=new Array(n).fill(0),s=new Array(n).fill(0);if(n<2)return{b:r,c:o,d:s};if(n<3)return r[0]=(e[1]-e[0])/(t[1]-t[0]),r[1]=r[0],{b:r,c:o,d:s};let i=n-1;s[0]=t[1]-t[0],o[1]=(e[1]-e[0])/s[0];for(let a=1;a<i;a++)s[a]=t[a+1]-t[a],r[a]=2*(s[a-1]+s[a]),o[a+1]=(e[a+1]-e[a])/s[a],o[a]=o[a+1]-o[a];r[0]=-s[0],r[i]=-s[n-2],o[0]=0,o[i]=0,n>3&&(o[0]=o[2]/(t[3]-t[1])-o[1]/(t[2]-t[0]),o[i]=o[n-2]/(t[i]-t[n-3])-o[n-3]/(t[n-2]-t[n-4]),o[0]=o[0]*s[0]*s[0]/(t[3]-t[0]),o[i]=-o[i]*s[n-2]*s[n-2]/(t[i]-t[n-4]));for(let a=1;a<n;a++){let c=s[a-1]/r[a-1];r[a]=r[a]-c*s[a-1],o[a]=o[a]-c*o[a-1]}o[i]=o[i]/r[i];for(let a=n-2;a>=0;a--)o[a]=(o[a]-s[a]*o[a+1])/r[a];r[i]=(e[i]-e[n-2])/s[n-2]+s[n-2]*(o[n-2]+2*o[i]);for(let a=0;a<i;a++)r[a]=(e[a+1]-e[a])/s[a]-s[a]*(o[a+1]+2*o[a]),s[a]=(o[a+1]-o[a])/s[a],o[a]=3*o[a];return o[i]=3*o[i],s[i]=s[n-2],{b:r,c:o,d:s}}function Kh(t,e,n){let r=t.length,o=new Array(r).fill(0),s=new Array(r).fill(0),i=new Array(r).fill(0);for(let a=0;a<r-1;a++){let c=t[a+1]-t[a];o[a]=(e[a+1]-e[a])/c-c*(n[a+1]+2*n[a]),s[a]=3*n[a],i[a]=(n[a+1]-n[a])/c}return{b:o,c:s,d:i}}function cM(t,e){let n=t.length;if(n<3)return Vf(t,e);let r=Array.from({length:n-1},(f,u)=>t[u+1]-t[u]),o=r.map((f,u)=>(e[u+1]-e[u])/f),s=new Array(n).fill(0),i=new Array(n).fill(0);for(let f=1;f<n-1;f++)s[f]=2*(r[f-1]+r[f]),i[f]=o[f]-o[f-1];for(let f=2;f<n-1;f++){let u=r[f-1]/s[f-1];s[f]=s[f]-u*r[f-1],i[f]=i[f]-u*i[f-1]}let a=new Array(n).fill(0);a[n-2]=i[n-2]/s[n-2];for(let f=n-3;f>=1;f--)a[f]=(i[f]-r[f]*a[f+1])/s[f];let c=Kh(t,e,a);return c.b[n-1]=o[n-2]+r[n-2]*a[n-2],c}function fM(t,e){let n=t.length;if(e[0]!==e[n-1])throw new RangeError("periodic spline needs y[1] == y[n]");if(n<3)return{b:new Array(n).fill(0),c:new Array(n).fill(0),d:new Array(n).fill(0)};let r=n-1,o=Array.from({length:r},(d,M)=>t[M+1]-t[M]),s=o.map((d,M)=>(e[M+1]-e[M])/d),i=d=>d===0?r-1:d-1,a=Array.from({length:r},(d,M)=>2*(o[i(M)]+o[M])),c=Array.from({length:r},(d,M)=>s[M]-s[i(M)]),f=o.slice(),u=new Array(r).fill(0);u[0]=o[r-1],u[r-2]=u[r-2]+o[r-2];let l=u[0],m=a[r-1],h=c[r-1];for(let d=0;d<r-1;d++){if(d+1<r-1){let b=o[d]/a[d];a[d+1]=a[d+1]-b*f[d],u[d+1]=u[d+1]-b*u[d],c[d+1]=c[d+1]-b*c[d]}let M=l/a[d];m-=M*u[d],h-=M*c[d],d+1<r-1&&(l=(d+1===r-2?o[r-2]:0)-M*f[d])}let N=new Array(n).fill(0);N[r-1]=h/m;for(let d=r-2;d>=0;d--){let M=c[d]-u[d]*N[r-1]-(d<r-2?f[d]*N[d+1]:0);N[d]=M/a[d]}N[n-1]=N[0];let p=Kh(t,e,N);return p.b[n-1]=p.b[0],p.c[n-1]=p.c[0],p.d[n-1]=p.d[0],p}function uM(t,e){let n=t.length,{b:r,c:o,d:s}=Vf(t,e);if(n<2)return{b:r,c:o,d:s};let i=Array.from({length:n-1},(c,f)=>(e[f+1]-e[f])/(t[f+1]-t[f]));for(let c=0;c<n;c++){let f=i[c===0?0:c-1],u=i[c===n-1?n-2:c],l=Math.min(Math.abs(f),Math.abs(u)),m=f*u>0?u>0:r[c]>=0;r[c]=m?Math.min(Math.max(0,r[c]),3*l):Math.max(Math.min(0,r[c]),-3*l)}for(let c=0;c<n-1;c++){let f=t[c+1]-t[c],u=(e[c+1]-e[c])/f;o[c]=(3*u-2*r[c]-r[c+1])/f,s[c]=(r[c]+r[c+1]-2*u)/(f*f)}let a=t[n-1]-t[n-2];return o[n-1]=(r[n-2]+2*r[n-1]-3*(e[n-1]-e[n-2])/a)/a,s[n-1]=s[n-2],{b:r,c:o,d:s}}function Yh(t,e,n,r){let o=Of(t,e,r),s=o.x.length;if(s===0)throw new RangeError("zero non-NA points");n==="periodic"&&o.y[s-1]!==o.y[0]&&(o.y[s-1]=o.y[0]),n==="hyman"&&lM(o.y);let i=n==="fmm"?Vf(o.x,o.y):n==="natural"?cM(o.x,o.y):n==="periodic"?fM(o.x,o.y):n==="hyman"?uM(o.x,o.y):(()=>{throw new RangeError(`invalid spline method '${String(n)}'`)})();return{method:n,...o,...i}}function lM(t){let e=!0,n=!0;for(let r=1;r<t.length;r++){let o=t[r]-t[r-1];o>=0||(e=!1),o<=0||(n=!1)}if(!e&&!n)throw new RangeError("'y' must be increasing or decreasing")}function Zh(t){let e=Math.trunc(t);if(!(e>=0&&e<=3))throw new RangeError("'deriv' must be between 0 and 3");return e}function Jh(t,e,n){let r=Zh(n),{x:o,y:s,b:i,c:a,d:c,method:f}=t,u=o.length,l=f==="natural",m=o[u-1]-o[0],h=0;return Array.from(e,N=>{let p=N;if(f==="periodic"&&u>1){let b=(p-o[0])%m;b<0&&(b+=m),p=o[0]+b}if(l&&r>0&&p<=o[0])return r===1?i[0]:0;if(!(o[h]<=p&&(h===u-1||p<=o[h+1]))){let b=0,g=u;for(;g-b>1;){let w=b+g>>1;o[w]<=p?b=w:g=w}h=b}let d=p-o[h],M=l&&p<o[0]?0:c[h];switch(r){case 0:return s[h]+d*(i[h]+d*(a[h]+d*M));case 1:return i[h]+d*(2*a[h]+d*(3*M));case 2:return 2*a[h]+d*(6*M);default:return 6*M}})}function mM(t,e,n={}){let{method:r="fmm",ties:o="mean"}=n,s=Yh(t,e,r,o),i;if(n.xout!==void 0)i=Array.from(n.xout);else{let a=s.x.length,c=n.n??3*a;if(c<=0)throw new RangeError("'spline' requires n >= 1");i=Un(n.xmin??s.x[0],n.xmax??s.x[a-1],c)}return{x:i,y:Jh(s,i,0)}}function hM(t,e,n={}){let{method:r="fmm",ties:o="mean"}=n;if(r==="monoH.FC"){let i=Of(t,e,o);if(i.x.length===0)throw new RangeError("zero non-NA points");let a=NM(i.x,i.y);return(c,f=0)=>t3(i.x,i.y,a,c,f)}let s=Yh(t,e,r,o);return(i,a=0)=>Jh(s,i,a)}function NM(t,e){let n=t.length;if(n<2)throw new RangeError("length(m) must be at least two");let r=Array.from({length:n-1},(s,i)=>(e[i+1]-e[i])/(t[i+1]-t[i])),o=Array.from({length:n},(s,i)=>i===0?r[0]:i===n-1?r[n-2]:(r[i-1]+r[i])/2);for(let s=0;s<n-1;s++){let i=r[s];if(i===0){o[s]=0,o[s+1]=0;continue}let a=o[s]/i,c=o[s+1]/i,f=2*a+c-3,u=a+2*c-3;if(f>0&&u>0&&a*(f+u)<f*f){let l=3*i/Math.sqrt(a*a+c*c);o[s]=l*a,o[s+1]=l*c}}return o}function t3(t,e,n,r,o){let s=Zh(o),i=t.length;return Array.from(r,a=>{if(Number.isNaN(a))return NaN;let c=0,f=i;for(;c<f;){let w=c+f>>1;t[w]<=a?c=w+1:f=w}let u=c;if(u===0||u===i){let w=u===0?0:i-1;return s===0?e[w]+n[w]*(a-t[w]):s===1?n[w]:0}let l=t[u-1],m=t[u]-l,h=(a-l)/m,N=h-1,p=e[u-1],d=e[u],M=n[u-1],b=n[u],g=(d-p)/m;switch(s){case 0:{let w=h*h*(3-2*h);return p*(1-w)+m*M*(h*N*N)+d*w+m*b*(h*h*N)}case 1:return g*(-6*h*N)+M*(N*(3*h-1))+b*(h*(3*h-2));case 2:return(g*(6-12*h)+M*(6*h-4)+b*(6*h-2))/m;default:return(-12*g+6*M+6*b)/(m*m)}})}function pM(t,e,n){let r=t.length;if(e.length!==r||n.length!==r)throw new RangeError("'x', 'y' and 'm' must have the same length");let o=Array.from({length:r},(c,f)=>f).sort((c,f)=>t[c]-t[f]),s=o.map(c=>t[c]),i=o.map(c=>e[c]),a=o.map(c=>n[c]);for(let c=1;c<r;c++)if(!(s[c]-s[c-1]>0))throw new RangeError("'x' must be *strictly* increasing (non - NA)");return(c,f=0)=>t3(s,i,a,c,f)}function dM(t,e,n){let r=Array.from(t),o=Array.from(e),s=r.length;if(o.length!==s)throw new RangeError("'xi' and 'yi' must have the same length");let i=Array.from(n),a=Math.min(...r),c=Math.max(...r);if(i.some(u=>u<a||u>c))throw new RangeError("Some interpolation points outside the nodes.");let f=r.map((u,l)=>{let m=1;for(let h=0;h<s;h++)h!==l&&(m*=u-r[h]);return 1/m});return i.map(u=>{let l=0,m=0,h=r.lastIndexOf(u);if(h>=0)return o[h];for(let N=0;N<s;N++){let p=u-r[N],d=f[N]/p;l+=d*o[N],m+=d}return l/m})}function MM(t,e,n,r){let o=Array.from(t),s=Array.from(e),i=Array.from(n),a=o.length;if(s.length!==a||i.length!==a)throw new RangeError("'xi', 'yi' and 'di' must have the same length");let c=o.flatMap(h=>[h,h]),f=2*a,u=s.flatMap(h=>[h,h]),l=[u[0]],m=u.slice();for(let h=1;h<f;h++){let N=[];for(let p=0;p<f-h;p++)h===1&&c[p+1]===c[p]?N.push(i[p>>1]):N.push((m[p+1]-m[p])/(c[p+h]-c[p]));l.push(N[0]),m=N}return Array.from(r,h=>{let N=l[f-1];for(let p=f-2;p>=0;p--)N=N*(h-c[p])+l[p];return N})}function gM(t,e,n,r=[],o={}){let s=o.method??"rk4";if(s!=="euler"&&s!=="rk2"&&s!=="rk4")throw new RangeError(`unknown method '${String(s)}'`);let i=[...r],a=t.length,c=(m,h)=>{let N=Array.from(n(m,h,i));if(N.length!==a)throw new RangeError(`The number of derivatives returned by func() (${N.length}) must equal the length of the initial conditions vector (${a})`);return N},f=(m,h,N)=>m.map((p,d)=>p+h*N[d]),u=[...t],l=[];if(e.length===0)return l;l.push([e[0],...u]);for(let m=1;m<e.length;m++){let h=e[m-1],N=e[m]-h,p=c(h,u);if(s==="euler")u=f(u,N,p);else if(s==="rk2"){let d=c(h+N,f(u,N,p));u=u.map((M,b)=>M+N*(.5*p[b]+.5*d[b]))}else{let d=c(h+N/2,f(u,N/2,p)),M=c(h+N/2,f(u,N/2,d)),b=c(h+N,f(u,N,M));u=u.map((g,w)=>g+N/6*(p[w]+2*d[w]+2*M[w]+b[w]))}l.push([e[m],...u])}return l}function Bf(t,e,n){let r=e.eps??1e-4,o=e.d??n,s=e.zeroTol??Math.sqrt(Number.EPSILON/7e-7),i=e.r??4;if(!(Number.isInteger(i)&&i>=1))throw new RangeError("'r' must be a positive integer");return{eps:r,r:i,h0:t.map(a=>Math.abs(o*a)+(Math.abs(a)<s?r:0))}}function I0(t){let e=[...t];for(let n=1;n<e.length;n++){let r=4**n;for(let o=0;o<e.length-n;o++)e[o]=(e[o+1]*r-e[o])/(r-1)}return e[0]}function De(t,e,n){let r=[...t];return r[e]=r[e]+n,r}function e3(t){let e=t.method??"Richardson";if(e!=="Richardson"&&e!=="simple")throw new RangeError(`unknown method "${String(e)}" (expected "Richardson" or "simple")`);return e}function bM(t,e,n={}){let r=[...e],o=r.length;if(e3(n)==="simple"){let c=n.eps??1e-4,f=t([...r]);return r.map((u,l)=>(t(De(r,l,c))-f)/c)}let{r:s,h0:i}=Bf(r,n,1e-4),a=[];for(let c=0;c<o;c++){let f=[],u=i[c];for(let l=0;l<s;l++){if(l>0&&Math.abs(f[l-1])<1e-20?f.push(0):f.push((t(De(r,c,u))-t(De(r,c,-u)))/(2*u)),Number.isNaN(f[l]))throw new RangeError(`func returned NaN at step ${u} from x`);u/=2}a.push(I0(f))}return a}function wM(t,e,n={}){let r=[...e],o=r.length,s=Array.from(t([...r])),i=s.map(()=>new Array(o).fill(NaN));if(e3(n)==="simple"){let f=n.eps??1e-4;for(let u=0;u<o;u++){let l=t(De(r,u,f));s.forEach((m,h)=>i[h][u]=(l[h]-m)/f)}return i}let{r:a,h0:c}=Bf(r,n,1e-4);for(let f=0;f<o;f++){let u=s.map(()=>[]),l=c[f];for(let m=0;m<a;m++){let h=t(De(r,f,l)),N=t(De(r,f,-l));s.forEach((p,d)=>u[d].push((h[d]-N[d])/(2*l))),l/=2}s.forEach((m,h)=>i[h][f]=I0(u[h]))}return i}function yM(t,e,n={}){if((n.method??"Richardson")!=="Richardson")throw new RangeError('hessian supports only method "Richardson"');let r=[...e],o=r.length,{r:s,h0:i}=Bf(r,n,.1),a=t([...r]),c=[];for(let u=0;u<o;u++){let l=[],m=i[u];for(let h=0;h<s;h++)l.push((t(De(r,u,m))-2*a+t(De(r,u,-m)))/m**2),m/=2;c.push(I0(l))}let f=r.map(()=>new Array(o).fill(NaN));for(let u=0;u<o;u++){f[u][u]=c[u];for(let l=0;l<u;l++){let m=[],h=i[u],N=i[l];for(let p=0;p<s;p++){let d=De(De(r,u,h),l,N),M=De(De(r,u,-h),l,-N);m.push((t(d)-2*a+t(M)-c[u]*h**2-c[l]*N**2)/(2*h*N)),h/=2,N/=2}f[u][l]=f[l][u]=I0(m)}}return f}export{Pf as IQR,Dp as TukeyHSD,cd as add,Rp as ansariTest,_p as aov,aM as approx,zp as backsolve,Q9 as bartlettTest,dM as barylag,n5 as besselI,m5 as besselJ,r5 as besselK,h5 as besselY,Su as beta,mf as binomTest,pd as cbind,o9 as chisqTest,Pp as chol,qf as chol2inv,z3 as choose,Qp as confint,zd as cor,k9 as corTest,$d as cov,Gp as crossprod,Ed as cummax,Rd as cummin,Ad as cumprod,xd as cumsum,Kd as cut,_d as cv,w7 as darcsine,TN as dbeta,jN as dbinom,_6 as dcauchy,gN as dchisq,bp as det,Rh as determinant,f6 as dexp,RN as df,oN as dgamma,$6 as dgeom,o4 as dhyper,Nd as diag,Fd as diff,Me as digamma,Y4 as dinvgamma,k7 as distSummary,ld as divide,t7 as dkumar,p7 as dlaplace,b6 as dlnorm,E6 as dlogis,ON as dmultinom,e4 as dnbinom,j5 as dnorm,o7 as dpareto,yN as dpois,l4 as dsignrank,KN as dt,u7 as dtriang,n6 as dunif,O6 as dweibull,g4 as dwilcox,oM as ecdf,Jp as eigen,Ln as erf,_s as erfc,p1 as erfcinv,z5 as erfinv,X3 as factorial,Cf as findInterval,m9 as fisherTest,Vd as fivenum,z9 as flignerTest,Wp as forwardsolve,G9 as friedmanTest,dt as gamma,G5 as gammainc,Sd as geometricMean,C7 as getRandomSeed,Zp as ginv,bM as grad,MM as hermiteInterp,yM as hessian,nM as hist,c9 as integrate,wM as jacobian,Hp as kappa,gd as kronecker,U9 as kruskalTest,qp as ksTest,qd as kurtosis,Wt as lbeta,W3 as lchoose,H3 as lfactorial,Mt as lgamma,Bp as lm,jd as lu,Bd as mad,vp as mantelhaenTest,Sf as matMul,Md as matrix,O9 as mcnemarTest,vd as mean,Td as meanAD,In as median,Ld as modes,W9 as moodTest,ud as multiply,p0 as norm,gM as ode,op as onewayTest,f9 as optimize,hd as outer,lf as pAdjust,Tp as pairwisePropTest,Sp as pairwiseTTest,Lp as pairwiseWilcoxTest,y7 as parcsine,_N as pbeta,PN as pbinom,D6 as pcauchy,bN as pchisq,W5 as perm,u6 as pexp,FN as pf,sN as pgamma,z6 as pgeom,s4 as phyper,Z4 as pinvgamma,e7 as pkumar,d7 as plaplace,w6 as plnorm,R6 as plogis,n4 as pnbinom,Q as pnorm,C9 as poissonTest,s7 as ppareto,vN as ppois,Pd as prcomp,Up as predict,Hh as pretty,yd as prod,hf as propTest,$3 as psigamma,m4 as psignrank,YN as pt,l7 as ptriang,Ec as ptukey,r6 as punif,V6 as pweibull,b4 as pwilcox,Qc as qarcsine,D1 as qbeta,$s as qbinom,j6 as qcauchy,x1 as qchisq,l6 as qexp,k1 as qf,g1 as qgamma,W1 as qgeom,ec as qhyper,kc as qinvgamma,_c as qkumar,M7 as qlaplace,y6 as qlnorm,F6 as qlogis,Z1 as qnbinom,V as qnorm,i7 as qpareto,E1 as qpois,Qn as qr,N0 as qrCoef,up as qrFitted,lp as qrQ,cp as qrQty,fp as qrQy,pi as qrR,Mf as qrResid,hp as qrSolve,mp as qrX,h4 as qsignrank,ZN as qt,Cc as qtriang,Rc as qtukey,$9 as quadeTest,y0 as quantile,o6 as qunif,G1 as qweibull,w4 as qwilcox,gi as range,bi as rank,r9 as rarcsine,q8 as rbeta,dd as rbind,L8 as rbinom,$7 as rcauchy,br as rchisq,yf as rcond,Q7 as rexp,R8 as rf,x8 as rgamma,i8 as rgeom,Y8 as rhyper,Z8 as rinvgamma,J8 as rkumar,n9 as rlaplace,U7 as rlnorm,G7 as rlogis,T8 as rmultinom,a8 as rnbinom,B7 as rnorm,t9 as rpareto,s8 as rpois,_8 as rsignrank,E8 as rt,e9 as rtriang,Gc as runif,z7 as rweibull,D8 as rwilcox,P8 as sample,j8 as sampleInt,Df as scale,w0 as sd,bd as seq,O7 as setRandomSeed,P7 as setSeed,sp as shapiroTest,kd as skewness,Mi as solve,mM as spline,hM as splinefun,pM as splinefunH,fd as subtract,wd as sum,Qo as svd,Lf as t,Zc as tTest,Xd as table,Wd as tabulate,$p as tcrossprod,G3 as trigamma,Hd as unique,nf as uniroot,B9 as varTest,Uh as variance,Id as weightedMean,cf as wilcoxTest,jp as zTest};