@shumai-one/shumai 0.6.1 → 0.6.2

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 (225) hide show
  1. package/bin/chunk-01052ssf.js +32 -0
  2. package/bin/{chunk-w4ydfy9d.js → chunk-02fvcrej.js} +4 -4
  3. package/bin/chunk-0bj887zm.js +2 -0
  4. package/bin/chunk-167z646e.js +2 -0
  5. package/bin/chunk-1ktk6764.js +10 -0
  6. package/bin/{chunk-p1ed0pa6.js → chunk-1nvd90g2.js} +1 -1
  7. package/bin/{chunk-kywdke0y.js → chunk-1wfg56z3.js} +5 -5
  8. package/bin/{chunk-ahgq10a7.js → chunk-257dcd2f.js} +2 -2
  9. package/bin/chunk-26qn7fek.js +2 -0
  10. package/bin/chunk-2cdxm1cp.js +55 -0
  11. package/bin/chunk-2jj4j8cn.js +3 -0
  12. package/bin/chunk-2ne2b54t.js +2 -0
  13. package/bin/{chunk-qqj2m1b1.js → chunk-2nhgdqdg.js} +2 -2
  14. package/bin/chunk-2vbeqczj.js +1 -0
  15. package/bin/chunk-37p6bcx2.js +1 -0
  16. package/bin/chunk-3ckkwdjx.js +13 -0
  17. package/bin/chunk-3knfx6dm.js +1 -0
  18. package/bin/chunk-3z85zxkn.js +1 -0
  19. package/bin/chunk-4mws03es.js +5 -0
  20. package/bin/chunk-54tbfvya.js +2 -0
  21. package/bin/chunk-55h9ze53.js +2 -0
  22. package/bin/chunk-56kh5fxc.js +1 -0
  23. package/bin/chunk-576nj64j.js +2 -0
  24. package/bin/{chunk-dfecgpce.js → chunk-5wapd171.js} +13 -13
  25. package/bin/chunk-6cnqjngz.js +1 -0
  26. package/bin/chunk-73yncv54.js +2 -0
  27. package/bin/chunk-7g46e1wy.js +3 -0
  28. package/bin/{chunk-jq3pq545.js → chunk-7naa7tpn.js} +2 -2
  29. package/bin/{chunk-am6dg0a5.js → chunk-7sgrtxbt.js} +2 -2
  30. package/bin/{chunk-3me1v3z5.js → chunk-7v7mypc6.js} +2 -2
  31. package/bin/chunk-82tps5n1.js +2 -0
  32. package/bin/chunk-84x8p7v5.js +1 -0
  33. package/bin/{chunk-fxtzy5f5.js → chunk-88jg9dq5.js} +2 -2
  34. package/bin/chunk-8cjet7pp.js +12 -0
  35. package/bin/chunk-8fyg9dy4.js +2 -0
  36. package/bin/chunk-8gtfgkrn.js +2 -0
  37. package/bin/chunk-8mqbztj8.js +2 -0
  38. package/bin/chunk-8xb6yz11.js +2 -0
  39. package/bin/chunk-8yjsmr7g.js +2 -0
  40. package/bin/chunk-91rb0jpb.js +2 -0
  41. package/bin/chunk-96qpjght.js +2 -0
  42. package/bin/chunk-9f1xk1nt.js +1 -0
  43. package/bin/chunk-9mk9cvbk.js +1 -0
  44. package/bin/{chunk-r5g84kj4.js → chunk-9n1w5dw1.js} +3 -3
  45. package/bin/chunk-9nw5w8vh.js +1 -0
  46. package/bin/{chunk-3j82q2gj.js → chunk-9t3p4xp6.js} +1 -1
  47. package/bin/chunk-9xhjy897.js +11 -0
  48. package/bin/chunk-9zsv6d2f.js +1 -0
  49. package/bin/chunk-a411xhmm.js +7 -0
  50. package/bin/{chunk-s01p4w8d.js → chunk-a74g6h8a.js} +2 -2
  51. package/bin/chunk-ah8fjb6f.js +2 -0
  52. package/bin/chunk-atfz7g7e.js +2 -0
  53. package/bin/{chunk-swz6v48q.js → chunk-b5rhvzv9.js} +2 -2
  54. package/bin/{chunk-bg6waaf9.js → chunk-b7bnp021.js} +2 -2
  55. package/bin/chunk-cf5axr8c.js +1 -0
  56. package/bin/chunk-cgmebxx6.js +2 -0
  57. package/bin/chunk-cwat1jwx.js +3 -0
  58. package/bin/chunk-cz13a82m.js +3 -0
  59. package/bin/chunk-dk42gf7v.js +2 -0
  60. package/bin/chunk-e4f56spj.js +4 -0
  61. package/bin/chunk-e4yscwen.js +18 -0
  62. package/bin/chunk-eb7mzbfm.js +1 -0
  63. package/bin/chunk-er14d498.js +3 -0
  64. package/bin/{chunk-bs6saf4d.js → chunk-eyjfhdp9.js} +2 -2
  65. package/bin/chunk-f25fe9th.js +393 -0
  66. package/bin/chunk-f6avg5qe.js +129 -0
  67. package/bin/chunk-fatmqnp1.js +2 -0
  68. package/bin/chunk-fvx9k1dc.js +2 -0
  69. package/bin/{chunk-h6f2gyt5.js → chunk-g22wmpk1.js} +2 -2
  70. package/bin/chunk-g6sdezec.js +2 -0
  71. package/bin/chunk-gtf19jc1.js +2 -0
  72. package/bin/chunk-gxepkvt2.js +2 -0
  73. package/bin/chunk-h1n7jqnw.js +1 -0
  74. package/bin/chunk-hfm82066.js +2 -0
  75. package/bin/chunk-hnkcgvcj.js +3 -0
  76. package/bin/{chunk-agcnbjxk.js → chunk-hpbn0k9n.js} +2 -2
  77. package/bin/{chunk-d4hk62q2.js → chunk-hpwv4am3.js} +4 -4
  78. package/bin/{chunk-acmr8v0d.js → chunk-hw6czrya.js} +1 -1
  79. package/bin/{chunk-r9gp9yqw.js → chunk-hzkjgcre.js} +1 -1
  80. package/bin/chunk-j2s311yc.js +3 -0
  81. package/bin/{chunk-6hzktewz.js → chunk-jt02kpfc.js} +2 -2
  82. package/bin/{chunk-c60j1b4w.js → chunk-jt0ykktx.js} +1 -1
  83. package/bin/{chunk-sd6w0z6a.js → chunk-jzgbxqdg.js} +2 -2
  84. package/bin/chunk-kj6h5j5a.js +4 -0
  85. package/bin/chunk-km4gn6b6.js +1 -0
  86. package/bin/chunk-knj2s8mg.js +16 -0
  87. package/bin/{chunk-1eqw2dpx.js → chunk-kvhf12b4.js} +2 -2
  88. package/bin/chunk-m0q2cgfg.js +2 -0
  89. package/bin/chunk-m82tkhaa.js +11 -0
  90. package/bin/chunk-m9adtgzk.js +2 -0
  91. package/bin/{chunk-0tvnfy4k.js → chunk-mcj1xpcc.js} +2 -2
  92. package/bin/chunk-mcw198kg.js +13 -0
  93. package/bin/{chunk-9s0k533c.js → chunk-mwktrwtx.js} +1 -1
  94. package/bin/{chunk-wsprap60.js → chunk-mzsw9var.js} +2 -2
  95. package/bin/chunk-ns33grgx.js +2 -0
  96. package/bin/{chunk-xsfy8hz3.js → chunk-ny1kbmxt.js} +2 -2
  97. package/bin/{chunk-16n160h1.js → chunk-p3f5aevs.js} +1 -1
  98. package/bin/chunk-p3j6ydk1.js +1 -0
  99. package/bin/chunk-p4s95471.js +2 -0
  100. package/bin/chunk-pk406dgy.js +2 -0
  101. package/bin/chunk-q2bew2vc.js +2 -0
  102. package/bin/chunk-q5vkxee3.js +5 -0
  103. package/bin/{chunk-hzv1mhr5.js → chunk-q83h0hkx.js} +2 -2
  104. package/bin/{chunk-fre31bhw.js → chunk-q8w4mbw4.js} +2 -2
  105. package/bin/{chunk-b7qs7hxg.js → chunk-qwpkcp8d.js} +2 -2
  106. package/bin/chunk-r1xer8gn.js +5 -0
  107. package/bin/chunk-s1e4qy3q.js +14 -0
  108. package/bin/{chunk-b9d8xdhb.js → chunk-s9ksftq2.js} +1 -1
  109. package/bin/chunk-srxp5jav.js +42 -0
  110. package/bin/chunk-swtwaaqe.js +1 -0
  111. package/bin/chunk-tagdrg7p.js +1 -0
  112. package/bin/{chunk-d18v5vmp.js → chunk-tekwpkjf.js} +2 -2
  113. package/bin/chunk-twtxnzbv.js +2 -0
  114. package/bin/{chunk-c6f8x05m.js → chunk-v05rrxp5.js} +2 -2
  115. package/bin/{chunk-ht5rht98.js → chunk-v5cn90cf.js} +2 -2
  116. package/bin/chunk-v5mcjwxy.js +2 -0
  117. package/bin/{chunk-jb8vbeb0.js → chunk-vcrmjtcz.js} +2 -2
  118. package/bin/chunk-vkzasgxw.js +2 -0
  119. package/bin/chunk-vp3czaeh.js +7 -0
  120. package/bin/chunk-x03jwaga.js +8 -0
  121. package/bin/chunk-x342vzdx.js +2 -0
  122. package/bin/chunk-x8mjh387.js +5 -0
  123. package/bin/chunk-xc54vhfz.js +2 -0
  124. package/bin/chunk-xvkwbczx.js +3 -0
  125. package/bin/chunk-y241cxff.js +1 -0
  126. package/bin/chunk-yk12hydf.js +7 -0
  127. package/bin/chunk-ympbfzz4.js +2 -0
  128. package/bin/{chunk-n412a1hp.js → chunk-yq32evnn.js} +6 -6
  129. package/bin/chunk-z1p13dnc.js +2 -0
  130. package/bin/chunk-zarz3sqn.js +211 -0
  131. package/bin/chunk-zezje74z.js +4 -0
  132. package/bin/chunk-zrszykjf.js +3 -0
  133. package/bin/shumai-app.html +1 -1
  134. package/bin/shumai-app.js +942 -1015
  135. package/package.json +7 -7
  136. package/prisma/migrations/20261026024507_hash_api_tokens/migration.sql +28 -0
  137. package/prisma/migrations/20261026031904_add_audit_log_via/migration.sql +2 -0
  138. package/prisma/migrations/20261029024626_add_oauth_and_jwks/migration.sql +205 -0
  139. package/prisma/migrations/20261029030321_default_empty_arrays_oauth/migration.sql +25 -0
  140. package/prisma/schema.prisma +186 -1
  141. package/bin/chunk-0502p2k7.js +0 -3
  142. package/bin/chunk-0b0t6y8h.js +0 -11
  143. package/bin/chunk-1vt9ss7d.js +0 -2
  144. package/bin/chunk-23780yj6.js +0 -3
  145. package/bin/chunk-2cpsfc87.js +0 -1
  146. package/bin/chunk-2w0d9veg.js +0 -2
  147. package/bin/chunk-2xp9prpq.js +0 -1
  148. package/bin/chunk-3gqs15zq.js +0 -2
  149. package/bin/chunk-3pw7z25v.js +0 -3
  150. package/bin/chunk-3tx9v8kj.js +0 -2
  151. package/bin/chunk-3wdtp4ht.js +0 -1
  152. package/bin/chunk-57axjy7y.js +0 -1
  153. package/bin/chunk-5aqthcm6.js +0 -5
  154. package/bin/chunk-5gq4q1bb.js +0 -2
  155. package/bin/chunk-5r1br11d.js +0 -2
  156. package/bin/chunk-61hrdg0g.js +0 -1
  157. package/bin/chunk-6aa4xmnw.js +0 -2
  158. package/bin/chunk-6mrgtn78.js +0 -18
  159. package/bin/chunk-6s55r0z9.js +0 -1
  160. package/bin/chunk-6vkfzzvt.js +0 -5
  161. package/bin/chunk-7dprpnm6.js +0 -2
  162. package/bin/chunk-7rycq6wb.js +0 -129
  163. package/bin/chunk-895gzdtp.js +0 -7
  164. package/bin/chunk-8d1p8qpv.js +0 -1
  165. package/bin/chunk-8r3k84dh.js +0 -2
  166. package/bin/chunk-99sarrvt.js +0 -3
  167. package/bin/chunk-b21z62fj.js +0 -1
  168. package/bin/chunk-bv589v2m.js +0 -3
  169. package/bin/chunk-c8kjpmfe.js +0 -2
  170. package/bin/chunk-c9xyejnk.js +0 -2
  171. package/bin/chunk-cb9peqy5.js +0 -2
  172. package/bin/chunk-ckczqmrz.js +0 -5
  173. package/bin/chunk-cr33cs6j.js +0 -2
  174. package/bin/chunk-cxet91kt.js +0 -2
  175. package/bin/chunk-d7e351jd.js +0 -6
  176. package/bin/chunk-ebcfbn00.js +0 -2
  177. package/bin/chunk-f0b4a9y3.js +0 -2
  178. package/bin/chunk-fkn6f4qt.js +0 -4
  179. package/bin/chunk-g78vapcm.js +0 -2
  180. package/bin/chunk-gdpfwxea.js +0 -4
  181. package/bin/chunk-gwqqq0b1.js +0 -32
  182. package/bin/chunk-h3cwf9aw.js +0 -2
  183. package/bin/chunk-h4ty530v.js +0 -16
  184. package/bin/chunk-h58yfx7w.js +0 -2
  185. package/bin/chunk-h9ngpxyd.js +0 -1
  186. package/bin/chunk-hbr17jvr.js +0 -13
  187. package/bin/chunk-hc0xbmtt.js +0 -5
  188. package/bin/chunk-j9t7tvt5.js +0 -2
  189. package/bin/chunk-jvt8q0eg.js +0 -2
  190. package/bin/chunk-jzgtthsj.js +0 -3
  191. package/bin/chunk-jzjhg7ng.js +0 -1
  192. package/bin/chunk-k547syp2.js +0 -2
  193. package/bin/chunk-k7sjpke6.js +0 -2
  194. package/bin/chunk-k8ct1qgv.js +0 -3
  195. package/bin/chunk-k9q4nn8b.js +0 -11
  196. package/bin/chunk-keetdtxb.js +0 -2
  197. package/bin/chunk-kjjw8mbg.js +0 -1
  198. package/bin/chunk-mey80kv9.js +0 -54
  199. package/bin/chunk-nfncawpm.js +0 -12
  200. package/bin/chunk-nvwt8atc.js +0 -1
  201. package/bin/chunk-p1d500sf.js +0 -211
  202. package/bin/chunk-q0vs124k.js +0 -2
  203. package/bin/chunk-q5795f3s.js +0 -2
  204. package/bin/chunk-q5j3b0h5.js +0 -3
  205. package/bin/chunk-qd7pvaxb.js +0 -2
  206. package/bin/chunk-qhpt7170.js +0 -2
  207. package/bin/chunk-qt78vs3g.js +0 -2
  208. package/bin/chunk-ra6mdjr0.js +0 -1
  209. package/bin/chunk-ryfvaz6v.js +0 -3
  210. package/bin/chunk-s22eapcc.js +0 -2
  211. package/bin/chunk-sbg86tch.js +0 -2
  212. package/bin/chunk-sbqy6m8t.js +0 -1
  213. package/bin/chunk-sdp9w627.js +0 -14
  214. package/bin/chunk-sn0nypvd.js +0 -42
  215. package/bin/chunk-sv92vkyh.js +0 -2
  216. package/bin/chunk-t6cn018t.js +0 -3
  217. package/bin/chunk-ts4d1mxf.js +0 -2
  218. package/bin/chunk-wkdkc12e.js +0 -4
  219. package/bin/chunk-xgnvktq6.js +0 -10
  220. package/bin/chunk-xjw3mpvx.js +0 -1
  221. package/bin/chunk-xznq2axj.js +0 -1
  222. package/bin/chunk-y4v08wq7.js +0 -1
  223. package/bin/chunk-yncvy335.js +0 -3
  224. package/bin/chunk-ytzddcj2.js +0 -1
  225. package/bin/chunk-zxqasmvz.js +0 -2
@@ -1,129 +0,0 @@
1
- import{Zs,Yi,mt,q,F,Ia,P,vt,m,Gu,Jr,Ue,N,_,u,Bs,E,L,t,o,G,B,hs,no,Xi,_l,Us,yl,bl,vl,ed,zs,wl,td,Nr,g,I,O,Mt,Gn,Me,ve,an,It,Qt,wt,qs,Lo,pe,zt,Ne,C,S,Ce,Ie,Te,ge,Ae,_e,K,en,Kt,bs,fd,Hm,gd,Hc,Z_,B_,$c,U_,z_,j_,Bf,Gc,q_,H_,Re,oy,My,Ny,Dy,Cl,yd,_r,Nb,Db,Wf,Tl,Jf,ep,tp,Fa,np,nw,ow,Cd,Jc,hx,lp,Wx,mg,hg,CS,IS,Pd,RS,kg,Sp,Od,La,NE,$E,Tp,Xg,Dl,Kn,CI,hA,OI,Gp,OT,M1,bM,cm,um,de,QA,ce,me,ue,Et,z,es,Zr,En,Wn,M,At,xe,ja,sa,ef,Ul,yr,lu,cu,Or,Ir,lo,Ga,Je,Xe,et,W,ke,lf,Ss,Vr,Gt,Bo}from"./chunk-p1d500sf.js";import{jo}from"./chunk-c8kjpmfe.js";import{Ro,vr}from"./chunk-qt78vs3g.js";import{To,ks,In,Oi,Su,Eu,zr}from"./chunk-cxet91kt.js";import{Jn,fo}from"./chunk-ts4d1mxf.js";import{nr}from"./chunk-xsfy8hz3.js";import{_n}from"./chunk-b7qs7hxg.js";import{wr}from"./chunk-ht5rht98.js";import{H,w,qe}from"./chunk-t6cn018t.js";var b8=w(function(wU,Kh){E();td();Kh.exports=function(e){function n(h,p,x,j){return new Uk(h,p,x,j)}function s(){}function i(h){var p="https://react.dev/errors/"+h;if(1<arguments.length){p+="?args[]="+encodeURIComponent(arguments[1]);for(var x=2;x<arguments.length;x++)p+="&args[]="+encodeURIComponent(arguments[x])}return"Minified React error #"+h+"; visit "+p+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function r(h){var p=h,x=h;if(h.alternate)for(;p.return;)p=p.return;else{h=p;do p=h,(p.flags&4098)!==0&&(x=p.return),h=p.return;while(h)}return p.tag===3?x:null}function a(h){if(r(h)!==h)throw Error(i(188))}function l(h){var p=h.alternate;if(!p){if(p=r(h),p===null)throw Error(i(188));return p!==h?null:h}for(var x=h,j=p;;){var V=x.return;if(V===null)break;var Q=V.alternate;if(Q===null){if(j=V.return,j!==null){x=j;continue}break}if(V.child===Q.child){for(Q=V.child;Q;){if(Q===x)return a(V),h;if(Q===j)return a(V),p;Q=Q.sibling}throw Error(i(188))}if(x.return!==j.return)x=V,j=Q;else{for(var re=!1,Ee=V.child;Ee;){if(Ee===x){re=!0,x=V,j=Q;break}if(Ee===j){re=!0,j=V,x=Q;break}Ee=Ee.sibling}if(!re){for(Ee=Q.child;Ee;){if(Ee===x){re=!0,x=Q,j=V;break}if(Ee===j){re=!0,j=Q,x=V;break}Ee=Ee.sibling}if(!re)throw Error(i(189))}}if(x.alternate!==j)throw Error(i(190))}if(x.tag!==3)throw Error(i(188));return x.stateNode.current===x?h:p}function c(h){var p=h.tag;if(p===5||p===26||p===27||p===6)return h;for(h=h.child;h!==null;){if(p=c(h),p!==null)return p;h=h.sibling}return null}function f(h){var p=h.tag;if(p===5||p===26||p===27||p===6)return h;for(h=h.child;h!==null;){if(h.tag!==4&&(p=f(h),p!==null))return p;h=h.sibling}return null}function d(h){if(h===null||typeof h!=="object")return null;return h=Oy&&h[Oy]||h["@@iterator"],typeof h==="function"?h:null}function b(h){if(h==null)return null;if(typeof h==="function")return h.$$typeof===$k?null:h.displayName||h.name||null;if(typeof h==="string")return h;switch(h){case xc:return"Fragment";case Fp:return"Profiler";case Fy:return"StrictMode";case Op:return"Suspense";case Pp:return"SuspenseList";case Bp:return"Activity"}if(typeof h==="object")switch(h.$$typeof){case kc:return"Portal";case Xo:return h.displayName||"Context";case Ly:return(h._context.displayName||"Context")+".Consumer";case Lp:var p=h.render;return h=h.displayName,h||(h=p.displayName||p.name||"",h=h!==""?"ForwardRef("+h+")":"ForwardRef"),h;case Np:return p=h.displayName||null,p!==null?p:b(h.type)||"Memo";case Wo:p=h._payload,h=h._init;try{return b(h(p))}catch(x){}}return null}function y(h){return{current:h}}function v(h){0>Ec||(h.current=Xp[Ec],Xp[Ec]=null,Ec--)}function k(h,p){Ec++,Xp[Ec]=h.current,h.current=p}function A(h){return h>>>=0,h===0?32:31-(xA(h)/AA|0)|0}function T(h){var p=h&42;if(p!==0)return p;switch(h&-h){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return h&261888;case 262144:case 524288:case 1048576:case 2097152:return h&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return h&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return h}}function R(h,p,x){var j=h.pendingLanes;if(j===0)return 0;var V=0,Q=h.suspendedLanes,re=h.pingedLanes;h=h.warmLanes;var Ee=j&134217727;return Ee!==0?(j=Ee&~Q,j!==0?V=T(j):(re&=Ee,re!==0?V=T(re):x||(x=Ee&~h,x!==0&&(V=T(x))))):(Ee=j&~Q,Ee!==0?V=T(Ee):re!==0?V=T(re):x||(x=j&~h,x!==0&&(V=T(x)))),V===0?0:p!==0&&p!==V&&(p&Q)===0&&(Q=V&-V,x=p&-p,Q>=x||Q===32&&(x&4194048)!==0)?p:V}function D(h,p){return(h.pendingLanes&~(h.suspendedLanes&~h.pingedLanes)&p)===0}function U(h,p){switch(h){case 1:case 2:case 4:case 8:case 64:return p+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return p+5000;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Y(){var h=Qu;return Qu<<=1,(Qu&62914560)===0&&(Qu=4194304),h}function X(h){for(var p=[],x=0;31>x;x++)p.push(h);return p}function J(h,p){h.pendingLanes|=p,p!==268435456&&(h.suspendedLanes=0,h.pingedLanes=0,h.warmLanes=0)}function ee(h,p,x,j,V,Q){var re=h.pendingLanes;h.pendingLanes=x,h.suspendedLanes=0,h.pingedLanes=0,h.warmLanes=0,h.expiredLanes&=x,h.entangledLanes&=x,h.errorRecoveryDisabledLanes&=x,h.shellSuspendCounter=0;var{entanglements:Ee,expirationTimes:Ve,hiddenUpdates:it}=h;for(x=re&~x;0<x;){var bt=31-cr(x),lt=1<<bt;Ee[bt]=0,Ve[bt]=-1;var Rt=it[bt];if(Rt!==null)for(it[bt]=null,bt=0;bt<Rt.length;bt++){var hn=Rt[bt];hn!==null&&(hn.lane&=-536870913)}x&=~lt}j!==0&&te(h,j,0),Q!==0&&V===0&&h.tag!==0&&(h.suspendedLanes|=Q&~(re&~p))}function te(h,p,x){h.pendingLanes|=p,h.suspendedLanes&=~p;var j=31-cr(p);h.entangledLanes|=p,h.entanglements[j]=h.entanglements[j]|1073741824|x&261930}function ne(h,p){var x=h.entangledLanes|=p;for(h=h.entanglements;x;){var j=31-cr(x),V=1<<j;V&p|h[j]&p&&(h[j]|=p),x&=~V}}function ie(h,p){var x=p&-p;return x=(x&42)!==0?1:se(x),(x&(h.suspendedLanes|p))!==0?0:x}function se(h){switch(h){case 2:h=1;break;case 8:h=4;break;case 32:h=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:h=128;break;case 268435456:h=134217728;break;default:h=0}return h}function ae(h){return h&=-h,2<h?8<h?(h&134217727)!==0?32:268435456:8:2}function be(h){if(typeof _A==="function"&&IA(h),fr&&typeof fr.setStrictMode==="function")try{fr.setStrictMode(Xf,h)}catch(p){}}function ye(h,p){return h===p&&(h!==0||1/h===1/p)||h!==h&&p!==p}function fe(h){if(Yp===void 0)try{throw Error()}catch(x){var p=x.stack.trim().match(/\n( *(at )?)/);Yp=p&&p[1]||"",f5=-1<x.stack.indexOf(`
2
- at`)?" (<anonymous>)":-1<x.stack.indexOf("@")?"@unknown:0:0":""}return`
3
- `+Yp+h+f5}function le(h,p){if(!h||Qp)return"";Qp=!0;var x=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var j={DetermineComponentFrameRoot:function(){try{if(p){var lt=function(){throw Error()};if(Object.defineProperty(lt.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==="object"&&Reflect.construct){try{Reflect.construct(lt,[])}catch(hn){var Rt=hn}Reflect.construct(h,[],lt)}else{try{lt.call()}catch(hn){Rt=hn}h.call(lt.prototype)}}else{try{throw Error()}catch(hn){Rt=hn}(lt=h())&&typeof lt.catch==="function"&&lt.catch(function(){})}}catch(hn){if(hn&&Rt&&typeof hn.stack==="string")return[hn.stack,Rt.stack]}return[null,null]}};j.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var V=Object.getOwnPropertyDescriptor(j.DetermineComponentFrameRoot,"name");V&&V.configurable&&Object.defineProperty(j.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var Q=j.DetermineComponentFrameRoot(),re=Q[0],Ee=Q[1];if(re&&Ee){var Ve=re.split(`
4
- `),it=Ee.split(`
5
- `);for(V=j=0;j<Ve.length&&!Ve[j].includes("DetermineComponentFrameRoot");)j++;for(;V<it.length&&!it[V].includes("DetermineComponentFrameRoot");)V++;if(j===Ve.length||V===it.length)for(j=Ve.length-1,V=it.length-1;1<=j&&0<=V&&Ve[j]!==it[V];)V--;for(;1<=j&&0<=V;j--,V--)if(Ve[j]!==it[V]){if(j!==1||V!==1)do if(j--,V--,0>V||Ve[j]!==it[V]){var bt=`
6
- `+Ve[j].replace(" at new "," at ");return h.displayName&&bt.includes("<anonymous>")&&(bt=bt.replace("<anonymous>",h.displayName)),bt}while(1<=j&&0<=V);break}}}finally{Qp=!1,Error.prepareStackTrace=x}return(x=h?h.displayName||h.name:"")?fe(x):""}function oe(h,p){switch(h.tag){case 26:case 27:case 5:return fe(h.type);case 16:return fe("Lazy");case 13:return h.child!==p&&p!==null?fe("Suspense Fallback"):fe("Suspense");case 19:return fe("SuspenseList");case 0:case 15:return le(h.type,!1);case 11:return le(h.type.render,!1);case 1:return le(h.type,!0);case 31:return fe("Activity");default:return""}}function Se(h){try{var p="",x=null;do p+=oe(h,x),x=h,h=h.return;while(h);return p}catch(j){return`
7
- Error generating stack: `+j.message+`
8
- `+j.stack}}function we(h,p){if(typeof h==="object"&&h!==null){var x=h5.get(h);if(x!==void 0)return x;return p={value:h,source:p,stack:Se(p)},h5.set(h,p),p}return{value:h,source:p,stack:Se(p)}}function Fe(h,p){jc[_c++]=Kf,jc[_c++]=Zu,Zu=h,Kf=p}function De(h,p,x){Tr[Er++]=Aa,Tr[Er++]=Ta,Tr[Er++]=Ko,Ko=h;var j=Aa;h=Ta;var V=32-cr(j)-1;j&=~(1<<V),x+=1;var Q=32-cr(p)+V;if(30<Q){var re=V-V%5;Q=(j&(1<<re)-1).toString(32),j>>=re,V-=re,Aa=1<<32-cr(p)+V|x<<V|j,Ta=Q+h}else Aa=1<<Q|x<<V|j,Ta=h}function Le(h){h.return!==null&&(Fe(h,1),De(h,1,0))}function Be(h){for(;h===Zu;)Zu=jc[--_c],jc[_c]=null,Kf=jc[--_c],jc[_c]=null;for(;h===Ko;)Ko=Tr[--Er],Tr[Er]=null,Ta=Tr[--Er],Tr[Er]=null,Aa=Tr[--Er],Tr[Er]=null}function Ke(h,p){Tr[Er++]=Aa,Tr[Er++]=Ta,Tr[Er++]=Ko,Aa=p.id,Ta=p.overflow,Ko=h}function at(h,p){k(Yo,p),k(Yf,h),k(vi,null),h=Kk(p),v(vi),k(vi,h)}function tt(){v(vi),v(Yf),v(Yo)}function St(h){h.memoizedState!==null&&k(nd,h);var p=vi.current,x=Yk(p,h.type);p!==x&&(k(Yf,h),k(vi,x))}function jt(h){Yf.current===h&&(v(vi),v(Yf)),nd.current===h&&(v(nd),ho?Ll._currentValue=Ac:Ll._currentValue2=Ac)}function dt(h){var p=Error(i(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Yn(we(p,h)),Jp}function Lt(h,p){if(!Ri)throw Error(i(175));Jx(h.stateNode,h.type,h.memoizedProps,p,h)||dt(h,!0)}function Zt(h){for(Si=h.return;Si;)switch(Si.tag){case 5:case 31:case 13:Cr=!1;return;case 27:case 3:Cr=!0;return;default:Si=Si.return}}function dn(h){if(!Ri||h!==Si)return!1;if(!Tn)return Zt(h),Tn=!0,!1;var p=h.tag;if(li?p!==3&&p!==27&&(p!==5||Qy(h.type)&&!Wu(h.type,h.memoizedProps))&&Fs&&dt(h):p!==3&&(p!==5||Qy(h.type)&&!Wu(h.type,h.memoizedProps))&&Fs&&dt(h),Zt(h),p===13){if(!Ri)throw Error(i(316));if(h=h.memoizedState,h=h!==null?h.dehydrated:null,!h)throw Error(i(317));Fs=sA(h)}else if(p===31){if(h=h.memoizedState,h=h!==null?h.dehydrated:null,!h)throw Error(i(317));Fs=nA(h)}else Fs=li&&p===27?Hx(h.type,Fs):Si?Yy(h.stateNode):null;return!0}function Xt(){Ri&&(Fs=Si=null,Tn=!1)}function on(){var h=Qo;return h!==null&&(Ki===null?Ki=h:Ki.push.apply(Ki,h),Qo=null),h}function Yn(h){Qo===null?Qo=[h]:Qo.push(h)}function We(h,p,x){ho?(k(sd,p._currentValue),p._currentValue=x):(k(sd,p._currentValue2),p._currentValue2=x)}function nt(h){var p=sd.current;ho?h._currentValue=p:h._currentValue2=p,v(sd)}function yt(h,p,x){for(;h!==null;){var j=h.alternate;if((h.childLanes&p)!==p?(h.childLanes|=p,j!==null&&(j.childLanes|=p)):j!==null&&(j.childLanes&p)!==p&&(j.childLanes|=p),h===x)break;h=h.return}}function pt(h,p,x,j){var V=h.child;V!==null&&(V.return=h);for(;V!==null;){var Q=V.dependencies;if(Q!==null){var re=V.child;Q=Q.firstContext;e:for(;Q!==null;){var Ee=Q;Q=V;for(var Ve=0;Ve<p.length;Ve++)if(Ee.context===p[Ve]){Q.lanes|=x,Ee=Q.alternate,Ee!==null&&(Ee.lanes|=x),yt(Q.return,x,h),j||(re=null);break e}Q=Ee.next}}else if(V.tag===18){if(re=V.return,re===null)throw Error(i(341));re.lanes|=x,Q=re.alternate,Q!==null&&(Q.lanes|=x),yt(re,x,h),re=null}else re=V.child;if(re!==null)re.return=V;else for(re=V;re!==null;){if(re===h){re=null;break}if(V=re.sibling,V!==null){V.return=re.return,re=V;break}re=re.return}V=re}}function Nt(h,p,x,j){h=null;for(var V=p,Q=!1;V!==null;){if(!Q){if((V.flags&524288)!==0)Q=!0;else if((V.flags&262144)!==0)break}if(V.tag===10){var re=V.alternate;if(re===null)throw Error(i(387));if(re=re.memoizedProps,re!==null){var Ee=V.type;hr(V.pendingProps.value,re.value)||(h!==null?h.push(Ee):h=[Ee])}}else if(V===nd.current){if(re=V.alternate,re===null)throw Error(i(387));re.memoizedState.memoizedState!==V.memoizedState.memoizedState&&(h!==null?h.push(Ll):h=[Ll])}V=V.return}h!==null&&pt(p,h,x,j),p.flags|=262144}function ln(h){for(h=h.firstContext;h!==null;){var p=h.context;if(!hr(ho?p._currentValue:p._currentValue2,h.memoizedValue))return!0;h=h.next}return!1}function pn(h){Ol=h,mo=null,h=h.dependencies,h!==null&&(h.firstContext=null)}function Yt(h){return os(Ol,h)}function qn(h,p){return Ol===null&&pn(h),os(h,p)}function os(h,p){var x=ho?p._currentValue:p._currentValue2;if(p={context:p,memoizedValue:x,next:null},mo===null){if(h===null)throw Error(i(308));mo=p,h.dependencies={lanes:0,firstContext:p},h.flags|=524288}else mo=mo.next=p;return x}function Tt(){return{controller:new DA,data:new Map,refCount:0}}function ot(h){h.refCount--,h.refCount===0&&qA(MA,function(){h.controller.abort()})}function cn(){}function Bt(h){h!==Ic&&h.next===null&&(Ic===null?id=Ic=h:Ic=Ic.next=h),rd=!0,Zp||(Zp=!0,ir())}function Mn(h,p){if(!eg&&rd){eg=!0;do{var x=!1;for(var j=id;j!==null;){if(!p)if(h!==0){var V=j.pendingLanes;if(V===0)var Q=0;else{var re=j.suspendedLanes,Ee=j.pingedLanes;Q=(1<<31-cr(42|h)+1)-1,Q&=V&~(re&~Ee),Q=Q&201326741?Q&201326741|1:Q?Q|2:0}Q!==0&&(x=!0,Mi(j,Q))}else Q=xn,Q=R(j,j===fs?Q:0,j.cancelPendingCommit!==null||j.timeoutHandle!==Fl),(Q&3)===0||D(j,Q)||(x=!0,Mi(j,Q));j=j.next}}while(x);eg=!1}}function ls(){Ds()}function Ds(){rd=Zp=!1;var h=0;Pl!==0&&rx()&&(h=Pl);for(var p=$i(),x=null,j=id;j!==null;){var V=j.next,Q=Xs(j,p);if(Q===0)j.next=null,x===null?id=V:x.next=V,V===null&&(Ic=x);else if(x=j,h!==0||(Q&3)!==0)rd=!0;j=V}ci!==0&&ci!==5||Mn(h,!1),Pl!==0&&(Pl=0)}function Xs(h,p){for(var{suspendedLanes:x,pingedLanes:j,expirationTimes:V}=h,Q=h.pendingLanes&-62914561;0<Q;){var re=31-cr(Q),Ee=1<<re,Ve=V[re];if(Ve===-1){if((Ee&x)===0||(Ee&j)!==0)V[re]=U(Ee,p)}else Ve<=p&&(h.expiredLanes|=Ee);Q&=~Ee}if(p=fs,x=xn,x=R(h,h===p?x:0,h.cancelPendingCommit!==null||h.timeoutHandle!==Fl),j=h.callbackNode,x===0||h===p&&(Vn===2||Vn===9)||h.cancelPendingCommit!==null)return j!==null&&j!==null&&Wp(j),h.callbackNode=null,h.callbackPriority=0;if((x&3)===0||D(h,x)){if(p=x&-x,p===h.callbackPriority)return p;switch(j!==null&&Wp(j),ae(x)){case 2:case 8:x=CA;break;case 32:x=Kp;break;case 268435456:x=jA;break;default:x=Kp}return j=wa.bind(null,h),x=Ju(x,j),h.callbackPriority=p,h.callbackNode=x,p}return j!==null&&j!==null&&Wp(j),h.callbackPriority=2,h.callbackNode=null,2}function wa(h,p){if(ci!==0&&ci!==5)return h.callbackNode=null,h.callbackPriority=0,null;var x=h.callbackNode;if(zf()&&h.callbackNode!==x)return null;var j=xn;if(j=R(h,h===fs?j:0,h.cancelPendingCommit!==null||h.timeoutHandle!==Fl),j===0)return null;return ly(h,j,p),Xs(h,$i()),h.callbackNode!=null&&h.callbackNode===x?wa.bind(null,h):null}function Mi(h,p){if(zf())return null;ly(h,p,!0)}function ir(){dx?mx(function(){(vn&6)!==0?Ju(l5,ls):Ds()}):Ju(l5,ls)}function Oo(){if(Pl===0){var h=Rc;h===0&&(h=Ku,Ku<<=1,(Ku&261888)===0&&(Ku=256)),Pl=h}return Pl}function jl(h,p){if(Qf===null){var x=Qf=[];tg=0,Rc=Oo(),Dc={status:"pending",value:void 0,then:function(j){x.push(j)}}}return tg++,p.then(rr,rr),p}function rr(){if(--tg===0&&Qf!==null){Dc!==null&&(Dc.status="fulfilled");var h=Qf;Qf=null,Rc=0,Dc=null;for(var p=0;p<h.length;p++)(0,h[p])()}}function to(h,p){var x=[],j={status:"pending",value:null,reason:null,then:function(V){x.push(V)}};return h.then(function(){j.status="fulfilled",j.value=p;for(var V=0;V<x.length;V++)(0,x[V])(p)},function(V){j.status="rejected",j.reason=V;for(V=0;V<x.length;V++)(0,x[V])(void 0)}),j}function ya(){var h=Nl.current;return h!==null?h:fs.pooledCache}function so(h,p){p===null?k(Nl,Nl.current):k(Nl,p.pool)}function va(){var h=ya();return h===null?null:{parent:ho?Ls._currentValue:Ls._currentValue2,pool:h}}function Po(h,p){if(hr(h,p))return!0;if(typeof h!=="object"||h===null||typeof p!=="object"||p===null)return!1;var x=Object.keys(h),j=Object.keys(p);if(x.length!==j.length)return!1;for(j=0;j<x.length;j++){var V=x[j];if(!RA.call(p,V)||!hr(h[V],p[V]))return!1}return!0}function Sa(h){return h=h.status,h==="fulfilled"||h==="rejected"}function No(h,p,x){switch(x=h[x],x===void 0?h.push(p):x!==p&&(p.then(cn,cn),p=x),p.status){case"fulfilled":return p.value;case"rejected":throw h=p.reason,st(h),h;default:if(typeof p.status==="string")p.then(cn,cn);else{if(h=fs,h!==null&&100<h.shellSuspendCounter)throw Error(i(482));h=p,h.status="pending",h.then(function(j){if(p.status==="pending"){var V=p;V.status="fulfilled",V.value=j}},function(j){if(p.status==="pending"){var V=p;V.status="rejected",V.reason=j}})}switch(p.status){case"fulfilled":return p.value;case"rejected":throw h=p.reason,st(h),h}throw Bl=p,qc}}function ar(h){try{var p=h._init;return p(h._payload)}catch(x){if(x!==null&&typeof x==="object"&&typeof x.then==="function")throw Bl=x,qc;throw x}}function Ho(){if(Bl===null)throw Error(i(459));var h=Bl;return Bl=null,h}function st(h){if(h===qc||h===ad)throw Error(i(483))}function gn(h){var p=Zf;return Zf+=1,Mc===null&&(Mc=[]),No(Mc,h,p)}function Jt(h,p){p=p.props.ref,h.ref=p!==void 0?p:null}function ps(h,p){if(p.$$typeof===Gk)throw Error(i(525));throw h=Object.prototype.toString.call(p),Error(i(31,h==="[object Object]"?"object with keys {"+Object.keys(p).join(", ")+"}":h))}function oi(h){function p(He,Pe){if(h){var Ge=He.deletions;Ge===null?(He.deletions=[Pe],He.flags|=16):Ge.push(Pe)}}function x(He,Pe){if(!h)return null;for(;Pe!==null;)p(He,Pe),Pe=Pe.sibling;return null}function j(He){for(var Pe=new Map;He!==null;)He.key!==null?Pe.set(He.key,He):Pe.set(He.index,He),He=He.sibling;return Pe}function V(He,Pe){return He=co(He,Pe),He.index=0,He.sibling=null,He}function Q(He,Pe,Ge){if(He.index=Ge,!h)return He.flags|=1048576,Pe;if(Ge=He.alternate,Ge!==null)return Ge=Ge.index,Ge<Pe?(He.flags|=67108866,Pe):Ge;return He.flags|=67108866,Pe}function re(He){return h&&He.alternate===null&&(He.flags|=67108866),He}function Ee(He,Pe,Ge,ct){if(Pe===null||Pe.tag!==6)return Pe=Rp(Ge,He.mode,ct),Pe.return=He,Pe;return Pe=V(Pe,Ge),Pe.return=He,Pe}function Ve(He,Pe,Ge,ct){var Vt=Ge.type;if(Vt===xc)return bt(He,Pe,Ge.props.children,ct,Ge.key);if(Pe!==null&&(Pe.elementType===Vt||typeof Vt==="object"&&Vt!==null&&Vt.$$typeof===Wo&&ar(Vt)===Pe.type))return Pe=V(Pe,Ge.props),Jt(Pe,Ge),Pe.return=He,Pe;return Pe=Vu(Ge.type,Ge.key,Ge.props,null,He.mode,ct),Jt(Pe,Ge),Pe.return=He,Pe}function it(He,Pe,Ge,ct){if(Pe===null||Pe.tag!==4||Pe.stateNode.containerInfo!==Ge.containerInfo||Pe.stateNode.implementation!==Ge.implementation)return Pe=Dp(Ge,He.mode,ct),Pe.return=He,Pe;return Pe=V(Pe,Ge.children||[]),Pe.return=He,Pe}function bt(He,Pe,Ge,ct,Vt){if(Pe===null||Pe.tag!==7)return Pe=Ml(Ge,He.mode,ct,Vt),Pe.return=He,Pe;return Pe=V(Pe,Ge),Pe.return=He,Pe}function lt(He,Pe,Ge){if(typeof Pe==="string"&&Pe!==""||typeof Pe==="number"||typeof Pe==="bigint")return Pe=Rp(""+Pe,He.mode,Ge),Pe.return=He,Pe;if(typeof Pe==="object"&&Pe!==null){switch(Pe.$$typeof){case $u:return Ge=Vu(Pe.type,Pe.key,Pe.props,null,He.mode,Ge),Jt(Ge,Pe),Ge.return=He,Ge;case kc:return Pe=Dp(Pe,He.mode,Ge),Pe.return=He,Pe;case Wo:return Pe=ar(Pe),lt(He,Pe,Ge)}if(Xu(Pe)||d(Pe))return Pe=Ml(Pe,He.mode,Ge,null),Pe.return=He,Pe;if(typeof Pe.then==="function")return lt(He,gn(Pe),Ge);if(Pe.$$typeof===Xo)return lt(He,qn(He,Pe),Ge);ps(He,Pe)}return null}function Rt(He,Pe,Ge,ct){var Vt=Pe!==null?Pe.key:null;if(typeof Ge==="string"&&Ge!==""||typeof Ge==="number"||typeof Ge==="bigint")return Vt!==null?null:Ee(He,Pe,""+Ge,ct);if(typeof Ge==="object"&&Ge!==null){switch(Ge.$$typeof){case $u:return Ge.key===Vt?Ve(He,Pe,Ge,ct):null;case kc:return Ge.key===Vt?it(He,Pe,Ge,ct):null;case Wo:return Ge=ar(Ge),Rt(He,Pe,Ge,ct)}if(Xu(Ge)||d(Ge))return Vt!==null?null:bt(He,Pe,Ge,ct,null);if(typeof Ge.then==="function")return Rt(He,Pe,gn(Ge),ct);if(Ge.$$typeof===Xo)return Rt(He,Pe,qn(He,Ge),ct);ps(He,Ge)}return null}function hn(He,Pe,Ge,ct,Vt){if(typeof ct==="string"&&ct!==""||typeof ct==="number"||typeof ct==="bigint")return He=He.get(Ge)||null,Ee(Pe,He,""+ct,Vt);if(typeof ct==="object"&&ct!==null){switch(ct.$$typeof){case $u:return He=He.get(ct.key===null?Ge:ct.key)||null,Ve(Pe,He,ct,Vt);case kc:return He=He.get(ct.key===null?Ge:ct.key)||null,it(Pe,He,ct,Vt);case Wo:return ct=ar(ct),hn(He,Pe,Ge,ct,Vt)}if(Xu(ct)||d(ct))return He=He.get(Ge)||null,bt(Pe,He,ct,Vt,null);if(typeof ct.then==="function")return hn(He,Pe,Ge,gn(ct),Vt);if(ct.$$typeof===Xo)return hn(He,Pe,Ge,qn(Pe,ct),Vt);ps(Pe,ct)}return null}function ki(He,Pe,Ge,ct){for(var Vt=null,Os=null,Wt=Pe,Ln=Pe=0,mi=null;Wt!==null&&Ln<Ge.length;Ln++){Wt.index>Ln?(mi=Wt,Wt=null):mi=Wt.sibling;var On=Rt(He,Wt,Ge[Ln],ct);if(On===null){Wt===null&&(Wt=mi);break}h&&Wt&&On.alternate===null&&p(He,Wt),Pe=Q(On,Pe,Ln),Os===null?Vt=On:Os.sibling=On,Os=On,Wt=mi}if(Ln===Ge.length)return x(He,Wt),Tn&&Fe(He,Ln),Vt;if(Wt===null){for(;Ln<Ge.length;Ln++)Wt=lt(He,Ge[Ln],ct),Wt!==null&&(Pe=Q(Wt,Pe,Ln),Os===null?Vt=Wt:Os.sibling=Wt,Os=Wt);return Tn&&Fe(He,Ln),Vt}for(Wt=j(Wt);Ln<Ge.length;Ln++)mi=hn(Wt,He,Ln,Ge[Ln],ct),mi!==null&&(h&&mi.alternate!==null&&Wt.delete(mi.key===null?Ln:mi.key),Pe=Q(mi,Pe,Ln),Os===null?Vt=mi:Os.sibling=mi,Os=mi);return h&&Wt.forEach(function(sl){return p(He,sl)}),Tn&&Fe(He,Ln),Vt}function ah(He,Pe,Ge,ct){if(Ge==null)throw Error(i(151));for(var Vt=null,Os=null,Wt=Pe,Ln=Pe=0,mi=null,On=Ge.next();Wt!==null&&!On.done;Ln++,On=Ge.next()){Wt.index>Ln?(mi=Wt,Wt=null):mi=Wt.sibling;var sl=Rt(He,Wt,On.value,ct);if(sl===null){Wt===null&&(Wt=mi);break}h&&Wt&&sl.alternate===null&&p(He,Wt),Pe=Q(sl,Pe,Ln),Os===null?Vt=sl:Os.sibling=sl,Os=sl,Wt=mi}if(On.done)return x(He,Wt),Tn&&Fe(He,Ln),Vt;if(Wt===null){for(;!On.done;Ln++,On=Ge.next())On=lt(He,On.value,ct),On!==null&&(Pe=Q(On,Pe,Ln),Os===null?Vt=On:Os.sibling=On,Os=On);return Tn&&Fe(He,Ln),Vt}for(Wt=j(Wt);!On.done;Ln++,On=Ge.next())On=hn(Wt,He,Ln,On.value,ct),On!==null&&(h&&On.alternate!==null&&Wt.delete(On.key===null?Ln:On.key),Pe=Q(On,Pe,Ln),Os===null?Vt=On:Os.sibling=On,Os=On);return h&&Wt.forEach(function(PA){return p(He,PA)}),Tn&&Fe(He,Ln),Vt}function Vl(He,Pe,Ge,ct){if(typeof Ge==="object"&&Ge!==null&&Ge.type===xc&&Ge.key===null&&(Ge=Ge.props.children),typeof Ge==="object"&&Ge!==null){switch(Ge.$$typeof){case $u:e:{for(var Vt=Ge.key;Pe!==null;){if(Pe.key===Vt){if(Vt=Ge.type,Vt===xc){if(Pe.tag===7){x(He,Pe.sibling),ct=V(Pe,Ge.props.children),ct.return=He,He=ct;break e}}else if(Pe.elementType===Vt||typeof Vt==="object"&&Vt!==null&&Vt.$$typeof===Wo&&ar(Vt)===Pe.type){x(He,Pe.sibling),ct=V(Pe,Ge.props),Jt(ct,Ge),ct.return=He,He=ct;break e}x(He,Pe);break}else p(He,Pe);Pe=Pe.sibling}Ge.type===xc?(ct=Ml(Ge.props.children,He.mode,ct,Ge.key),ct.return=He,He=ct):(ct=Vu(Ge.type,Ge.key,Ge.props,null,He.mode,ct),Jt(ct,Ge),ct.return=He,He=ct)}return re(He);case kc:e:{for(Vt=Ge.key;Pe!==null;){if(Pe.key===Vt)if(Pe.tag===4&&Pe.stateNode.containerInfo===Ge.containerInfo&&Pe.stateNode.implementation===Ge.implementation){x(He,Pe.sibling),ct=V(Pe,Ge.children||[]),ct.return=He,He=ct;break e}else{x(He,Pe);break}else p(He,Pe);Pe=Pe.sibling}ct=Dp(Ge,He.mode,ct),ct.return=He,He=ct}return re(He);case Wo:return Ge=ar(Ge),Vl(He,Pe,Ge,ct)}if(Xu(Ge))return ki(He,Pe,Ge,ct);if(d(Ge)){if(Vt=d(Ge),typeof Vt!=="function")throw Error(i(150));return Ge=Vt.call(Ge),ah(He,Pe,Ge,ct)}if(typeof Ge.then==="function")return Vl(He,Pe,gn(Ge),ct);if(Ge.$$typeof===Xo)return Vl(He,Pe,qn(He,Ge),ct);ps(He,Ge)}return typeof Ge==="string"&&Ge!==""||typeof Ge==="number"||typeof Ge==="bigint"?(Ge=""+Ge,Pe!==null&&Pe.tag===6?(x(He,Pe.sibling),ct=V(Pe,Ge),ct.return=He,He=ct):(x(He,Pe),ct=Rp(Ge,He.mode,ct),ct.return=He,He=ct),re(He)):x(He,Pe)}return function(He,Pe,Ge,ct){try{Zf=0;var Vt=Vl(He,Pe,Ge,ct);return Mc=null,Vt}catch(Wt){if(Wt===qc||Wt===ad)throw Wt;var Os=n(29,Wt,null,He.mode);return Os.lanes=ct,Os.return=He,Os}finally{}}}function Wr(){for(var h=Fc,p=sg=Fc=0;p<h;){var x=jr[p];jr[p++]=null;var j=jr[p];jr[p++]=null;var V=jr[p];jr[p++]=null;var Q=jr[p];if(jr[p++]=null,j!==null&&V!==null){var re=j.pending;re===null?V.next=V:(V.next=re.next,re.next=V),j.pending=V}Q!==0&&nn(x,V,Q)}}function ze(h,p,x,j){jr[Fc++]=h,jr[Fc++]=p,jr[Fc++]=x,jr[Fc++]=j,sg|=j,h.lanes|=j,h=h.alternate,h!==null&&(h.lanes|=j)}function ft(h,p,x,j){return ze(h,p,x,j),Cn(h)}function _t(h,p){return ze(h,null,null,p),Cn(h)}function nn(h,p,x){h.lanes|=x;var j=h.alternate;j!==null&&(j.lanes|=x);for(var V=!1,Q=h.return;Q!==null;)Q.childLanes|=x,j=Q.alternate,j!==null&&(j.childLanes|=x),Q.tag===22&&(h=Q.stateNode,h===null||h._visibility&1||(V=!0)),h=Q,Q=Q.return;return h.tag===3?(Q=h.stateNode,V&&p!==null&&(V=31-cr(x),h=Q.hiddenUpdates,j=h[V],j===null?h[V]=[p]:j.push(p),p.lane=x|536870912),Q):null}function Cn(h){if(50<rh)throw rh=0,bg=null,Error(i(185));for(var p=h.return;p!==null;)h=p,p=h.return;return h.tag===3?h.stateNode:null}function bn(h){h.updateQueue={baseState:h.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function xs(h,p){h=h.updateQueue,p.updateQueue===h&&(p.updateQueue={baseState:h.baseState,firstBaseUpdate:h.firstBaseUpdate,lastBaseUpdate:h.lastBaseUpdate,shared:h.shared,callbacks:null})}function Nn(h){return{lane:h,tag:0,payload:null,callback:null,next:null}}function zn(h,p,x){var j=h.updateQueue;if(j===null)return null;if(j=j.shared,(vn&2)!==0){var V=j.pending;return V===null?p.next=p:(p.next=V.next,V.next=p),j.pending=p,p=Cn(h),nn(h,null,x),p}return ze(h,j,p,x),Cn(h)}function Qn(h,p,x){if(p=p.updateQueue,p!==null&&(p=p.shared,(x&4194048)!==0)){var j=p.lanes;j&=h.pendingLanes,x|=j,p.lanes=x,ne(h,x)}}function Ws(h,p){var x=h.updateQueue,j=h.alternate;if(j!==null&&(j=j.updateQueue,x===j)){var V=null,Q=null;if(x=x.firstBaseUpdate,x!==null){do{var re={lane:x.lane,tag:x.tag,payload:x.payload,callback:null,next:null};Q===null?V=Q=re:Q=Q.next=re,x=x.next}while(x!==null);Q===null?V=Q=p:Q=Q.next=p}else V=Q=p;x={baseState:j.baseState,firstBaseUpdate:V,lastBaseUpdate:Q,shared:j.shared,callbacks:j.callbacks},h.updateQueue=x;return}h=x.lastBaseUpdate,h===null?x.firstBaseUpdate=p:h.next=p,x.lastBaseUpdate=p}function cs(){if(ig){var h=Dc;if(h!==null)throw h}}function Fi(h,p,x,j){ig=!1;var V=h.updateQueue;Jo=!1;var{firstBaseUpdate:Q,lastBaseUpdate:re}=V,Ee=V.shared.pending;if(Ee!==null){V.shared.pending=null;var Ve=Ee,it=Ve.next;Ve.next=null,re===null?Q=it:re.next=it,re=Ve;var bt=h.alternate;bt!==null&&(bt=bt.updateQueue,Ee=bt.lastBaseUpdate,Ee!==re&&(Ee===null?bt.firstBaseUpdate=it:Ee.next=it,bt.lastBaseUpdate=Ve))}if(Q!==null){var lt=V.baseState;re=0,bt=it=Ve=null,Ee=Q;do{var Rt=Ee.lane&-536870913,hn=Rt!==Ee.lane;if(hn?(xn&Rt)===Rt:(j&Rt)===Rt){Rt!==0&&Rt===Rc&&(ig=!0),bt!==null&&(bt=bt.next={lane:0,tag:Ee.tag,payload:Ee.payload,callback:null,next:null});e:{var ki=h,ah=Ee;Rt=p;var Vl=x;switch(ah.tag){case 1:if(ki=ah.payload,typeof ki==="function"){lt=ki.call(Vl,lt,Rt);break e}lt=ki;break e;case 3:ki.flags=ki.flags&-65537|128;case 0:if(ki=ah.payload,Rt=typeof ki==="function"?ki.call(Vl,lt,Rt):ki,Rt===null||Rt===void 0)break e;lt=Mp({},lt,Rt);break e;case 2:Jo=!0}}Rt=Ee.callback,Rt!==null&&(h.flags|=64,hn&&(h.flags|=8192),hn=V.callbacks,hn===null?V.callbacks=[Rt]:hn.push(Rt))}else hn={lane:Rt,tag:Ee.tag,payload:Ee.payload,callback:Ee.callback,next:null},bt===null?(it=bt=hn,Ve=lt):bt=bt.next=hn,re|=Rt;if(Ee=Ee.next,Ee===null)if(Ee=V.shared.pending,Ee===null)break;else hn=Ee,Ee=hn.next,hn.next=null,V.lastBaseUpdate=hn,V.shared.pending=null}while(1);bt===null&&(Ve=lt),V.baseState=Ve,V.firstBaseUpdate=it,V.lastBaseUpdate=bt,Q===null&&(V.shared.lanes=0),el|=re,h.lanes=re,h.memoizedState=lt}}function Kr(h,p){if(typeof h!=="function")throw Error(i(191,h));h.call(p)}function Df(h,p){var x=h.callbacks;if(x!==null)for(h.callbacks=null,h=0;h<x.length;h++)Kr(x[h],p)}function qf(h,p){h=bo,k(ld,h),k(Lc,p),bo=h|p.baseLanes}function Ks(){k(ld,bo),k(Lc,Lc.current)}function Li(){bo=ld.current,v(Lc),v(ld)}function As(h){var p=h.alternate;k(Qs,Qs.current&1),k(ur,h),Rr===null&&(p===null||Lc.current!==null?Rr=h:p.memoizedState!==null&&(Rr=h))}function bc(h){k(Qs,Qs.current),k(ur,h),Rr===null&&(Rr=h)}function zo(h){h.tag===22?(k(Qs,Qs.current),k(ur,h),Rr===null&&(Rr=h)):Go(h)}function Go(){k(Qs,Qs.current),k(ur,ur.current)}function or(h){v(ur),Rr===h&&(Rr=null),v(Qs)}function Tu(h){for(var p=h;p!==null;){if(p.tag===13){var x=p.memoizedState;if(x!==null&&(x=x.dehydrated,x===null||zp(x)||Vp(x)))return p}else if(p.tag===19&&(p.memoizedProps.revealOrder==="forwards"||p.memoizedProps.revealOrder==="backwards"||p.memoizedProps.revealOrder==="unstable_legacy-backwards"||p.memoizedProps.revealOrder==="together")){if((p.flags&128)!==0)return p}else if(p.child!==null){p.child.return=p,p=p.child;continue}if(p===h)break;for(;p.sibling===null;){if(p.return===null||p.return===h)return null;p=p.return}p.sibling.return=p.return,p=p.sibling}return null}function Gs(){throw Error(i(321))}function Om(h,p){if(p===null)return!1;for(var x=0;x<p.length&&x<h.length;x++)if(!hr(h[x],p[x]))return!1;return!0}function Pm(h,p,x,j,V,Q){return po=Q,mn=p,p.memoizedState=null,p.updateQueue=null,p.lanes=0,Ut.H=h===null||h.memoizedState===null?m5:rg,zl=!1,Q=x(j,V),zl=!1,Oc&&(Q=O2(p,x,j,V)),L2(h),Q}function L2(h){Ut.H=th;var p=Zn!==null&&Zn.next!==null;if(po=0,ei=Zn=mn=null,cd=!1,eh=0,Pc=null,p)throw Error(i(300));h===null||ti||(h=h.dependencies,h!==null&&ln(h)&&(ti=!0))}function O2(h,p,x,j){mn=h;var V=0;do{if(Oc&&(Pc=null),eh=0,Oc=!1,25<=V)throw Error(i(301));if(V+=1,ei=Zn=null,h.updateQueue!=null){var Q=h.updateQueue;Q.lastEffect=null,Q.events=null,Q.stores=null,Q.memoCache!=null&&(Q.memoCache.index=0)}Ut.H=p5,Q=p(x,j)}while(Oc);return Q}function Sk(){var h=Ut.H,p=h.useState()[0];return p=typeof p.then==="function"?Mf(p):p,h=h.useState()[0],(Zn!==null?Zn.memoizedState:null)!==h&&(mn.flags|=1024),p}function Nm(){var h=hd!==0;return hd=0,h}function Bm(h,p,x){p.updateQueue=h.updateQueue,p.flags&=-2053,h.lanes&=~x}function Um(h){if(cd){for(h=h.memoizedState;h!==null;){var p=h.queue;p!==null&&(p.pending=null),h=h.next}cd=!1}po=0,ei=Zn=mn=null,Oc=!1,eh=hd=0,Pc=null}function Bi(){var h={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return ei===null?mn.memoizedState=ei=h:ei=ei.next=h,ei}function Ys(){if(Zn===null){var h=mn.alternate;h=h!==null?h.memoizedState:null}else h=Zn.next;var p=ei===null?mn.memoizedState:ei.next;if(p!==null)ei=p,Zn=h;else{if(h===null){if(mn.alternate===null)throw Error(i(467));throw Error(i(310))}Zn=h,h={memoizedState:Zn.memoizedState,baseState:Zn.baseState,baseQueue:Zn.baseQueue,queue:Zn.queue,next:null},ei===null?mn.memoizedState=ei=h:ei=ei.next=h}return ei}function Cu(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Mf(h){var p=eh;return eh+=1,Pc===null&&(Pc=[]),h=No(Pc,h,p),p=mn,(ei===null?p.memoizedState:ei.next)===null&&(p=p.alternate,Ut.H=p===null||p.memoizedState===null?m5:rg),h}function ju(h){if(h!==null&&typeof h==="object"){if(typeof h.then==="function")return Mf(h);if(h.$$typeof===Xo)return Yt(h)}throw Error(i(438,String(h)))}function zm(h){var p=null,x=mn.updateQueue;if(x!==null&&(p=x.memoCache),p==null){var j=mn.alternate;j!==null&&(j=j.updateQueue,j!==null&&(j=j.memoCache,j!=null&&(p={data:j.data.map(function(V){return V.slice()}),index:0})))}if(p==null&&(p={data:[],index:0}),x===null&&(x=Cu(),mn.updateQueue=x),x.memoCache=p,x=p.data[p.index],x===void 0)for(x=p.data[p.index]=Array(h),j=0;j<h;j++)x[j]=Vk;return p.index++,x}function io(h,p){return typeof p==="function"?p(h):p}function _u(h){var p=Ys();return Gm(p,Zn,h)}function Gm(h,p,x){var j=h.queue;if(j===null)throw Error(i(311));j.lastRenderedReducer=x;var V=h.baseQueue,Q=j.pending;if(Q!==null){if(V!==null){var re=V.next;V.next=Q.next,Q.next=re}p.baseQueue=V=Q,j.pending=null}if(Q=h.baseState,V===null)h.memoizedState=Q;else{p=V.next;var Ee=re=null,Ve=null,it=p,bt=!1;do{var lt=it.lane&-536870913;if(lt!==it.lane?(xn&lt)===lt:(po&lt)===lt){var Rt=it.revertLane;if(Rt===0)Ve!==null&&(Ve=Ve.next={lane:0,revertLane:0,gesture:null,action:it.action,hasEagerState:it.hasEagerState,eagerState:it.eagerState,next:null}),lt===Rc&&(bt=!0);else if((po&Rt)===Rt){it=it.next,Rt===Rc&&(bt=!0);continue}else lt={lane:0,revertLane:it.revertLane,gesture:null,action:it.action,hasEagerState:it.hasEagerState,eagerState:it.eagerState,next:null},Ve===null?(Ee=Ve=lt,re=Q):Ve=Ve.next=lt,mn.lanes|=Rt,el|=Rt;lt=it.action,zl&&x(Q,lt),Q=it.hasEagerState?it.eagerState:x(Q,lt)}else Rt={lane:lt,revertLane:it.revertLane,gesture:it.gesture,action:it.action,hasEagerState:it.hasEagerState,eagerState:it.eagerState,next:null},Ve===null?(Ee=Ve=Rt,re=Q):Ve=Ve.next=Rt,mn.lanes|=lt,el|=lt;it=it.next}while(it!==null&&it!==p);if(Ve===null?re=Q:Ve.next=Ee,!hr(Q,h.memoizedState)&&(ti=!0,bt&&(x=Dc,x!==null)))throw x;h.memoizedState=Q,h.baseState=re,h.baseQueue=Ve,j.lastRenderedState=Q}return V===null&&(j.lanes=0),[h.memoizedState,j.dispatch]}function Vm(h){var p=Ys(),x=p.queue;if(x===null)throw Error(i(311));x.lastRenderedReducer=h;var{dispatch:j,pending:V}=x,Q=p.memoizedState;if(V!==null){x.pending=null;var re=V=V.next;do Q=h(Q,re.action),re=re.next;while(re!==V);hr(Q,p.memoizedState)||(ti=!0),p.memoizedState=Q,p.baseQueue===null&&(p.baseState=Q),x.lastRenderedState=Q}return[Q,j]}function P2(h,p,x){var j=mn,V=Ys(),Q=Tn;if(Q){if(x===void 0)throw Error(i(407));x=x()}else x=p();var re=!hr((Zn||V).memoizedState,x);if(re&&(V.memoizedState=x,ti=!0),V=V.queue,Wm(H2.bind(null,j,V,h),[h]),V.getSnapshot!==p||re||ei!==null&&ei.memoizedState.tag&1){if(j.flags|=2048,wc(9,{destroy:void 0},B2.bind(null,j,V,x,p),null),fs===null)throw Error(i(349));Q||(po&127)!==0||N2(j,p,x)}return x}function N2(h,p,x){h.flags|=16384,h={getSnapshot:p,value:x},p=mn.updateQueue,p===null?(p=Cu(),mn.updateQueue=p,p.stores=[h]):(x=p.stores,x===null?p.stores=[h]:x.push(h))}function B2(h,p,x,j){p.value=x,p.getSnapshot=j,U2(p)&&z2(h)}function H2(h,p,x){return x(function(){U2(p)&&z2(h)})}function U2(h){var p=h.getSnapshot;h=h.value;try{var x=p();return!hr(h,x)}catch(j){return!0}}function z2(h){var p=_t(h,2);p!==null&&Vi(p,h,2)}function $m(h){var p=Bi();if(typeof h==="function"){var x=h;if(h=x(),zl){be(!0);try{x()}finally{be(!1)}}}return p.memoizedState=p.baseState=h,p.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:io,lastRenderedState:h},p}function G2(h,p,x,j){return h.baseState=x,Gm(h,Zn,typeof j==="function"?j:io)}function kk(h,p,x,j,V){if(Du(h))throw Error(i(485));if(h=p.action,h!==null){var Q={payload:V,action:h,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(re){Q.listeners.push(re)}};Ut.T!==null?x(!0):Q.isTransition=!1,j(Q),x=p.pending,x===null?(Q.next=p.pending=Q,V2(p,Q)):(Q.next=x.next,p.pending=x.next=Q)}}function V2(h,p){var{action:x,payload:j}=p,V=h.state;if(p.isTransition){var Q=Ut.T,re={};Ut.T=re;try{var Ee=x(V,j),Ve=Ut.S;Ve!==null&&Ve(re,Ee),$2(h,p,Ee)}catch(it){Xm(h,p,it)}finally{Q!==null&&re.types!==null&&(Q.types=re.types),Ut.T=Q}}else try{Q=x(V,j),$2(h,p,Q)}catch(it){Xm(h,p,it)}}function $2(h,p,x){x!==null&&typeof x==="object"&&typeof x.then==="function"?x.then(function(j){X2(h,p,j)},function(j){return Xm(h,p,j)}):X2(h,p,x)}function X2(h,p,x){p.status="fulfilled",p.value=x,W2(p),h.state=x,p=h.pending,p!==null&&(x=p.next,x===p?h.pending=null:(x=x.next,p.next=x,V2(h,x)))}function Xm(h,p,x){var j=h.pending;if(h.pending=null,j!==null){j=j.next;do p.status="rejected",p.reason=x,W2(p),p=p.next;while(p!==j)}h.action=null}function W2(h){h=h.listeners;for(var p=0;p<h.length;p++)(0,h[p])()}function K2(h,p){return p}function Y2(h,p){if(Tn){var x=fs.formState;if(x!==null){e:{var j=mn;if(Tn){if(Fs){var V=Nx(Fs,Cr);if(V){Fs=Yy(V),j=Bx(V);break e}}dt(j)}j=!1}j&&(p=x[0])}}x=Bi(),x.memoizedState=x.baseState=p,j={pending:null,lanes:0,dispatch:null,lastRenderedReducer:K2,lastRenderedState:p},x.queue=j,x=gw.bind(null,mn,j),j.dispatch=x,j=$m(!1);var Q=Jm.bind(null,mn,!1,j.queue);return j=Bi(),V={state:p,dispatch:null,action:h,pending:null},j.queue=V,x=kk.bind(null,mn,V,Q,x),V.dispatch=x,j.memoizedState=h,[p,x,!1]}function Q2(h){var p=Ys();return J2(p,Zn,h)}function J2(h,p,x){if(p=Gm(h,p,K2)[0],h=_u(io)[0],typeof p==="object"&&p!==null&&typeof p.then==="function")try{var j=Mf(p)}catch(re){if(re===qc)throw ad;throw re}else j=p;p=Ys();var V=p.queue,Q=V.dispatch;return x!==p.memoizedState&&(mn.flags|=2048,wc(9,{destroy:void 0},xk.bind(null,V,x),null)),[j,Q,h]}function xk(h,p){h.action=p}function Z2(h){var p=Ys(),x=Zn;if(x!==null)return J2(p,x,h);Ys(),p=p.memoizedState,x=Ys();var j=x.queue.dispatch;return x.memoizedState=h,[p,j,!1]}function wc(h,p,x,j){return h={tag:h,create:x,deps:j,inst:p,next:null},p=mn.updateQueue,p===null&&(p=Cu(),mn.updateQueue=p),x=p.lastEffect,x===null?p.lastEffect=h.next=h:(j=x.next,x.next=h,h.next=j,p.lastEffect=h),h}function ew(){return Ys().memoizedState}function Iu(h,p,x,j){var V=Bi();mn.flags|=h,V.memoizedState=wc(1|p,{destroy:void 0},x,j===void 0?null:j)}function Ru(h,p,x,j){var V=Ys();j=j===void 0?null:j;var Q=V.memoizedState.inst;Zn!==null&&j!==null&&Om(j,Zn.memoizedState.deps)?V.memoizedState=wc(p,Q,x,j):(mn.flags|=h,V.memoizedState=wc(1|p,Q,x,j))}function tw(h,p){Iu(8390656,8,h,p)}function Wm(h,p){Ru(2048,8,h,p)}function Ak(h){mn.flags|=4;var p=mn.updateQueue;if(p===null)p=Cu(),mn.updateQueue=p,p.events=[h];else{var x=p.events;x===null?p.events=[h]:x.push(h)}}function sw(h){var p=Ys().memoizedState;return Ak({ref:p,nextImpl:h}),function(){if((vn&2)!==0)throw Error(i(440));return p.impl.apply(void 0,arguments)}}function iw(h,p){return Ru(4,2,h,p)}function rw(h,p){return Ru(4,4,h,p)}function aw(h,p){if(typeof p==="function"){h=h();var x=p(h);return function(){typeof x==="function"?x():p(null)}}if(p!==null&&p!==void 0)return h=h(),p.current=h,function(){p.current=null}}function lw(h,p,x){x=x!==null&&x!==void 0?x.concat([h]):null,Ru(4,4,aw.bind(null,p,h),x)}function Km(){}function cw(h,p){var x=Ys();p=p===void 0?null:p;var j=x.memoizedState;if(p!==null&&Om(p,j[1]))return j[0];return x.memoizedState=[h,p],h}function fw(h,p){var x=Ys();p=p===void 0?null:p;var j=x.memoizedState;if(p!==null&&Om(p,j[1]))return j[0];if(j=h(),zl){be(!0);try{h()}finally{be(!1)}}return x.memoizedState=[j,p],j}function Ym(h,p,x){if(x===void 0||(po&1073741824)!==0&&(xn&261930)===0)return h.memoizedState=p;return h.memoizedState=x,h=ay(),mn.lanes|=h,el|=h,x}function hw(h,p,x,j){if(hr(x,p))return x;if(Lc.current!==null)return h=Ym(h,x,j),hr(h,p)||(ti=!0),h;if((po&42)===0||(po&1073741824)!==0&&(xn&261930)===0)return ti=!0,h.memoizedState=x;return h=ay(),mn.lanes|=h,el|=h,p}function uw(h,p,x,j,V){var Q=uo();ui(Q!==0&&8>Q?Q:8);var re=Ut.T,Ee={};Ut.T=Ee,Jm(h,!1,p,x);try{var Ve=V(),it=Ut.S;if(it!==null&&it(Ee,Ve),Ve!==null&&typeof Ve==="object"&&typeof Ve.then==="function"){var bt=to(Ve,j);Ff(h,p,bt,lr(h))}else Ff(h,p,j,lr(h))}catch(lt){Ff(h,p,{then:function(){},status:"rejected",reason:lt},lr())}finally{ui(Q),re!==null&&Ee.types!==null&&(re.types=Ee.types),Ut.T=re}}function dw(h){var p=h.memoizedState;if(p!==null)return p;p={memoizedState:Ac,baseState:Ac,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:io,lastRenderedState:Ac},next:null};var x={};return p.next={memoizedState:x,baseState:x,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:io,lastRenderedState:x},next:null},h.memoizedState=p,h=h.alternate,h!==null&&(h.memoizedState=p),p}function Qm(){return Yt(Ll)}function mw(){return Ys().memoizedState}function pw(){return Ys().memoizedState}function Tk(h){for(var p=h.return;p!==null;){switch(p.tag){case 24:case 3:var x=lr();h=Nn(x);var j=zn(p,h,x);j!==null&&(Vi(j,p,x),Qn(j,p,x)),p={cache:Tt()},h.payload=p;return}p=p.return}}function Ek(h,p,x){var j=lr();x={lane:j,revertLane:0,gesture:null,action:x,hasEagerState:!1,eagerState:null,next:null},Du(h)?bw(p,x):(x=ft(h,p,x,j),x!==null&&(Vi(x,h,j),ww(x,p,j)))}function gw(h,p,x){var j=lr();Ff(h,p,x,j)}function Ff(h,p,x,j){var V={lane:j,revertLane:0,gesture:null,action:x,hasEagerState:!1,eagerState:null,next:null};if(Du(h))bw(p,V);else{var Q=h.alternate;if(h.lanes===0&&(Q===null||Q.lanes===0)&&(Q=p.lastRenderedReducer,Q!==null))try{var re=p.lastRenderedState,Ee=Q(re,x);if(V.hasEagerState=!0,V.eagerState=Ee,hr(Ee,re))return ze(h,p,V,0),fs===null&&Wr(),!1}catch(Ve){}finally{}if(x=ft(h,p,V,j),x!==null)return Vi(x,h,j),ww(x,p,j),!0}return!1}function Jm(h,p,x,j){if(j={lane:2,revertLane:Oo(),gesture:null,action:j,hasEagerState:!1,eagerState:null,next:null},Du(h)){if(p)throw Error(i(479))}else p=ft(h,x,j,2),p!==null&&Vi(p,h,2)}function Du(h){var p=h.alternate;return h===mn||p!==null&&p===mn}function bw(h,p){Oc=cd=!0;var x=h.pending;x===null?p.next=p:(p.next=x.next,x.next=p),h.pending=p}function ww(h,p,x){if((x&4194048)!==0){var j=p.lanes;j&=h.pendingLanes,x|=j,p.lanes=x,ne(h,x)}}function Zm(h,p,x,j){p=h.memoizedState,x=x(j,p),x=x===null||x===void 0?p:Mp({},p,x),h.memoizedState=x,h.lanes===0&&(h.updateQueue.baseState=x)}function yw(h,p,x,j,V,Q,re){return h=h.stateNode,typeof h.shouldComponentUpdate==="function"?h.shouldComponentUpdate(j,Q,re):p.prototype&&p.prototype.isPureReactComponent?!Po(x,j)||!Po(V,Q):!0}function vw(h,p,x,j){h=p.state,typeof p.componentWillReceiveProps==="function"&&p.componentWillReceiveProps(x,j),typeof p.UNSAFE_componentWillReceiveProps==="function"&&p.UNSAFE_componentWillReceiveProps(x,j),p.state!==h&&ag.enqueueReplaceState(p,p.state,null)}function Il(h,p){var x=p;if("ref"in p){x={};for(var j in p)j!=="ref"&&(x[j]=p[j])}if(h=h.defaultProps){x===p&&(x=Mp({},x));for(var V in h)x[V]===void 0&&(x[V]=h[V])}return x}function qu(h,p){try{var x=h.onUncaughtError;x(p.value,{componentStack:p.stack})}catch(j){setTimeout(function(){throw j})}}function Sw(h,p,x){try{var j=h.onCaughtError;j(x.value,{componentStack:x.stack,errorBoundary:p.tag===1?p.stateNode:null})}catch(V){setTimeout(function(){throw V})}}function sp(h,p,x){return x=Nn(x),x.tag=3,x.payload={element:null},x.callback=function(){qu(h,p)},x}function kw(h){return h=Nn(h),h.tag=3,h}function xw(h,p,x,j){var V=x.type.getDerivedStateFromError;if(typeof V==="function"){var Q=j.value;h.payload=function(){return V(Q)},h.callback=function(){Sw(p,x,j)}}var re=x.stateNode;re!==null&&typeof re.componentDidCatch==="function"&&(h.callback=function(){Sw(p,x,j),typeof V!=="function"&&(tl===null?tl=new Set([this]):tl.add(this));var Ee=j.stack;this.componentDidCatch(j.value,{componentStack:Ee!==null?Ee:""})})}function Ck(h,p,x,j,V){if(x.flags|=32768,j!==null&&typeof j==="object"&&typeof j.then==="function"){if(p=x.alternate,p!==null&&Nt(p,x,V,!0),x=ur.current,x!==null){switch(x.tag){case 31:case 13:return Rr===null?Uu():x.alternate===null&&Vs===0&&(Vs=3),x.flags&=-257,x.flags|=65536,x.lanes=V,j===od?x.flags|=16384:(p=x.updateQueue,p===null?x.updateQueue=new Set([j]):p.add(j),_p(h,j,V)),!1;case 22:return x.flags|=65536,j===od?x.flags|=16384:(p=x.updateQueue,p===null?(p={transitions:null,markerInstances:null,retryQueue:new Set([j])},x.updateQueue=p):(x=p.retryQueue,x===null?p.retryQueue=new Set([j]):x.add(j)),_p(h,j,V)),!1}throw Error(i(435,x.tag))}return _p(h,j,V),Uu(),!1}if(Tn)return p=ur.current,p!==null?((p.flags&65536)===0&&(p.flags|=256),p.flags|=65536,p.lanes=V,j!==Jp&&(h=Error(i(422),{cause:j}),Yn(we(h,x)))):(j!==Jp&&(p=Error(i(423),{cause:j}),Yn(we(p,x))),h=h.current.alternate,h.flags|=65536,V&=-V,h.lanes|=V,j=we(j,x),V=sp(h.stateNode,j,V),Ws(h,V),Vs!==4&&(Vs=2)),!1;var Q=Error(i(520),{cause:j});if(Q=we(Q,x),sh===null?sh=[Q]:sh.push(Q),Vs!==4&&(Vs=2),p===null)return!0;j=we(j,x),x=p;do{switch(x.tag){case 3:return x.flags|=65536,h=V&-V,x.lanes|=h,h=sp(x.stateNode,j,h),Ws(x,h),!1;case 1:if(p=x.type,Q=x.stateNode,(x.flags&128)===0&&(typeof p.getDerivedStateFromError==="function"||Q!==null&&typeof Q.componentDidCatch==="function"&&(tl===null||!tl.has(Q))))return x.flags|=65536,V&=-V,x.lanes|=V,V=kw(V),xw(V,h,x,j),Ws(x,V),!1}x=x.return}while(x!==null);return!1}function yi(h,p,x,j){p.child=h===null?d5(p,null,x,j):Hl(p,h.child,x,j)}function Aw(h,p,x,j,V){x=x.render;var Q=p.ref;if("ref"in j){var re={};for(var Ee in j)Ee!=="ref"&&(re[Ee]=j[Ee])}else re=j;if(pn(p),j=Pm(h,p,x,re,Q,V),Ee=Nm(),h!==null&&!ti)return Bm(h,p,V),ro(h,p,V);return Tn&&Ee&&Le(p),p.flags|=1,yi(h,p,j,V),p.child}function Tw(h,p,x,j,V){if(h===null){var Q=x.type;if(typeof Q==="function"&&!Ip(Q)&&Q.defaultProps===void 0&&x.compare===null)return p.tag=15,p.type=Q,Ew(h,p,Q,j,V);return h=Vu(x.type,null,j,p,p.mode,V),h.ref=p.ref,h.return=p,p.child=h}if(Q=h.child,!hp(h,V)){var re=Q.memoizedProps;if(x=x.compare,x=x!==null?x:Po,x(re,j)&&h.ref===p.ref)return ro(h,p,V)}return p.flags|=1,h=co(Q,j),h.ref=p.ref,h.return=p,p.child=h}function Ew(h,p,x,j,V){if(h!==null){var Q=h.memoizedProps;if(Po(Q,j)&&h.ref===p.ref)if(ti=!1,p.pendingProps=j=Q,hp(h,V))(h.flags&131072)!==0&&(ti=!0);else return p.lanes=h.lanes,ro(h,p,V)}return ip(h,p,x,j,V)}function Cw(h,p,x,j){var V=j.children,Q=h!==null?h.memoizedState:null;if(h===null&&p.stateNode===null&&(p.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),j.mode==="hidden"){if((p.flags&128)!==0){if(Q=Q!==null?Q.baseLanes|x:x,h!==null){j=p.child=h.child;for(V=0;j!==null;)V=V|j.lanes|j.childLanes,j=j.sibling;j=V&~Q}else j=0,p.child=null;return jw(h,p,Q,x,j)}if((x&536870912)!==0)p.memoizedState={baseLanes:0,cachePool:null},h!==null&&so(p,Q!==null?Q.cachePool:null),Q!==null?qf(p,Q):Ks(),zo(p);else return j=p.lanes=536870912,jw(h,p,Q!==null?Q.baseLanes|x:x,x,j)}else Q!==null?(so(p,Q.cachePool),qf(p,Q),Go(p),p.memoizedState=null):(h!==null&&so(p,null),Ks(),Go(p));return yi(h,p,V,x),p.child}function Lf(h,p){return h!==null&&h.tag===22||p.stateNode!==null||(p.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),p.sibling}function jw(h,p,x,j,V){var Q=ya();return Q=Q===null?null:{parent:ho?Ls._currentValue:Ls._currentValue2,pool:Q},p.memoizedState={baseLanes:x,cachePool:Q},h!==null&&so(p,null),Ks(),zo(p),h!==null&&Nt(h,p,j,!0),p.childLanes=V,null}function Mu(h,p){return p=Lu({mode:p.mode,children:p.children},h.mode),p.ref=h.ref,h.child=p,p.return=h,p}function _w(h,p,x){return Hl(p,h.child,null,x),h=Mu(p,p.pendingProps),h.flags|=2,or(p),p.memoizedState=null,h}function jk(h,p,x){var j=p.pendingProps,V=(p.flags&128)!==0;if(p.flags&=-129,h===null){if(Tn){if(j.mode==="hidden")return h=Mu(p,j),p.lanes=536870912,Lf(null,h);if(bc(p),(h=Fs)?(h=Yx(h,Cr),h!==null&&(p.memoizedState={dehydrated:h,treeContext:Ko!==null?{id:Aa,overflow:Ta}:null,retryLane:536870912,hydrationErrors:null},x=Cy(h),x.return=p,p.child=x,Si=p,Fs=null)):h=null,h===null)throw dt(p);return p.lanes=536870912,null}return Mu(p,j)}var Q=h.memoizedState;if(Q!==null){var re=Q.dehydrated;if(bc(p),V)if(p.flags&256)p.flags&=-257,p=_w(h,p,x);else if(p.memoizedState!==null)p.child=h.child,p.flags|=128,p=null;else throw Error(i(558));else if(ti||Nt(h,p,x,!1),V=(x&h.childLanes)!==0,ti||V){if(j=fs,j!==null&&(re=ie(j,x),re!==0&&re!==Q.retryLane))throw Q.retryLane=re,_t(h,re),Vi(j,h,re),og;Uu(),p=_w(h,p,x)}else h=Q.treeContext,Ri&&(Fs=Gx(re),Si=p,Tn=!0,Qo=null,Cr=!1,h!==null&&Ke(p,h)),p=Mu(p,j),p.flags|=4096;return p}return h=co(h.child,{mode:j.mode,children:j.children}),h.ref=p.ref,p.child=h,h.return=p,h}function Fu(h,p){var x=p.ref;if(x===null)h!==null&&h.ref!==null&&(p.flags|=4194816);else{if(typeof x!=="function"&&typeof x!=="object")throw Error(i(284));if(h===null||h.ref!==x)p.flags|=4194816}}function ip(h,p,x,j,V){if(pn(p),x=Pm(h,p,x,j,void 0,V),j=Nm(),h!==null&&!ti)return Bm(h,p,V),ro(h,p,V);return Tn&&j&&Le(p),p.flags|=1,yi(h,p,x,V),p.child}function Iw(h,p,x,j,V,Q){if(pn(p),p.updateQueue=null,x=O2(p,j,x,V),L2(h),j=Nm(),h!==null&&!ti)return Bm(h,p,Q),ro(h,p,Q);return Tn&&j&&Le(p),p.flags|=1,yi(h,p,x,Q),p.child}function Rw(h,p,x,j,V){if(pn(p),p.stateNode===null){var Q=Cc,re=x.contextType;typeof re==="object"&&re!==null&&(Q=Yt(re)),Q=new x(j,Q),p.memoizedState=Q.state!==null&&Q.state!==void 0?Q.state:null,Q.updater=ag,p.stateNode=Q,Q._reactInternals=p,Q=p.stateNode,Q.props=j,Q.state=p.memoizedState,Q.refs={},bn(p),re=x.contextType,Q.context=typeof re==="object"&&re!==null?Yt(re):Cc,Q.state=p.memoizedState,re=x.getDerivedStateFromProps,typeof re==="function"&&(Zm(p,x,re,j),Q.state=p.memoizedState),typeof x.getDerivedStateFromProps==="function"||typeof Q.getSnapshotBeforeUpdate==="function"||typeof Q.UNSAFE_componentWillMount!=="function"&&typeof Q.componentWillMount!=="function"||(re=Q.state,typeof Q.componentWillMount==="function"&&Q.componentWillMount(),typeof Q.UNSAFE_componentWillMount==="function"&&Q.UNSAFE_componentWillMount(),re!==Q.state&&ag.enqueueReplaceState(Q,Q.state,null),Fi(p,j,Q,V),cs(),Q.state=p.memoizedState),typeof Q.componentDidMount==="function"&&(p.flags|=4194308),j=!0}else if(h===null){Q=p.stateNode;var Ee=p.memoizedProps,Ve=Il(x,Ee);Q.props=Ve;var it=Q.context,bt=x.contextType;re=Cc,typeof bt==="object"&&bt!==null&&(re=Yt(bt));var lt=x.getDerivedStateFromProps;bt=typeof lt==="function"||typeof Q.getSnapshotBeforeUpdate==="function",Ee=p.pendingProps!==Ee,bt||typeof Q.UNSAFE_componentWillReceiveProps!=="function"&&typeof Q.componentWillReceiveProps!=="function"||(Ee||it!==re)&&vw(p,Q,j,re),Jo=!1;var Rt=p.memoizedState;Q.state=Rt,Fi(p,j,Q,V),cs(),it=p.memoizedState,Ee||Rt!==it||Jo?(typeof lt==="function"&&(Zm(p,x,lt,j),it=p.memoizedState),(Ve=Jo||yw(p,x,Ve,j,Rt,it,re))?(bt||typeof Q.UNSAFE_componentWillMount!=="function"&&typeof Q.componentWillMount!=="function"||(typeof Q.componentWillMount==="function"&&Q.componentWillMount(),typeof Q.UNSAFE_componentWillMount==="function"&&Q.UNSAFE_componentWillMount()),typeof Q.componentDidMount==="function"&&(p.flags|=4194308)):(typeof Q.componentDidMount==="function"&&(p.flags|=4194308),p.memoizedProps=j,p.memoizedState=it),Q.props=j,Q.state=it,Q.context=re,j=Ve):(typeof Q.componentDidMount==="function"&&(p.flags|=4194308),j=!1)}else{Q=p.stateNode,xs(h,p),re=p.memoizedProps,bt=Il(x,re),Q.props=bt,lt=p.pendingProps,Rt=Q.context,it=x.contextType,Ve=Cc,typeof it==="object"&&it!==null&&(Ve=Yt(it)),Ee=x.getDerivedStateFromProps,(it=typeof Ee==="function"||typeof Q.getSnapshotBeforeUpdate==="function")||typeof Q.UNSAFE_componentWillReceiveProps!=="function"&&typeof Q.componentWillReceiveProps!=="function"||(re!==lt||Rt!==Ve)&&vw(p,Q,j,Ve),Jo=!1,Rt=p.memoizedState,Q.state=Rt,Fi(p,j,Q,V),cs();var hn=p.memoizedState;re!==lt||Rt!==hn||Jo||h!==null&&h.dependencies!==null&&ln(h.dependencies)?(typeof Ee==="function"&&(Zm(p,x,Ee,j),hn=p.memoizedState),(bt=Jo||yw(p,x,bt,j,Rt,hn,Ve)||h!==null&&h.dependencies!==null&&ln(h.dependencies))?(it||typeof Q.UNSAFE_componentWillUpdate!=="function"&&typeof Q.componentWillUpdate!=="function"||(typeof Q.componentWillUpdate==="function"&&Q.componentWillUpdate(j,hn,Ve),typeof Q.UNSAFE_componentWillUpdate==="function"&&Q.UNSAFE_componentWillUpdate(j,hn,Ve)),typeof Q.componentDidUpdate==="function"&&(p.flags|=4),typeof Q.getSnapshotBeforeUpdate==="function"&&(p.flags|=1024)):(typeof Q.componentDidUpdate!=="function"||re===h.memoizedProps&&Rt===h.memoizedState||(p.flags|=4),typeof Q.getSnapshotBeforeUpdate!=="function"||re===h.memoizedProps&&Rt===h.memoizedState||(p.flags|=1024),p.memoizedProps=j,p.memoizedState=hn),Q.props=j,Q.state=hn,Q.context=Ve,j=bt):(typeof Q.componentDidUpdate!=="function"||re===h.memoizedProps&&Rt===h.memoizedState||(p.flags|=4),typeof Q.getSnapshotBeforeUpdate!=="function"||re===h.memoizedProps&&Rt===h.memoizedState||(p.flags|=1024),j=!1)}return Q=j,Fu(h,p),j=(p.flags&128)!==0,Q||j?(Q=p.stateNode,x=j&&typeof x.getDerivedStateFromError!=="function"?null:Q.render(),p.flags|=1,h!==null&&j?(p.child=Hl(p,h.child,null,V),p.child=Hl(p,null,x,V)):yi(h,p,x,V),p.memoizedState=Q.state,h=p.child):h=ro(h,p,V),h}function Dw(h,p,x,j){return Xt(),p.flags|=256,yi(h,p,x,j),p.child}function rp(h){return{baseLanes:h,cachePool:va()}}function ap(h,p,x){return h=h!==null?h.childLanes&~x:0,p&&(h|=mr),h}function qw(h,p,x){var j=p.pendingProps,V=!1,Q=(p.flags&128)!==0,re;if((re=Q)||(re=h!==null&&h.memoizedState===null?!1:(Qs.current&2)!==0),re&&(V=!0,p.flags&=-129),re=(p.flags&32)!==0,p.flags&=-33,h===null){if(Tn){if(V?As(p):Go(p),(h=Fs)?(h=Qx(h,Cr),h!==null&&(p.memoizedState={dehydrated:h,treeContext:Ko!==null?{id:Aa,overflow:Ta}:null,retryLane:536870912,hydrationErrors:null},x=Cy(h),x.return=p,p.child=x,Si=p,Fs=null)):h=null,h===null)throw dt(p);return Vp(h)?p.lanes=32:p.lanes=536870912,null}var Ee=j.children;if(j=j.fallback,V)return Go(p),V=p.mode,Ee=Lu({mode:"hidden",children:Ee},V),j=Ml(j,V,x,null),Ee.return=p,j.return=p,Ee.sibling=j,p.child=Ee,j=p.child,j.memoizedState=rp(x),j.childLanes=ap(h,re,x),p.memoizedState=lg,Lf(null,j);return As(p),op(p,Ee)}var Ve=h.memoizedState;if(Ve!==null&&(Ee=Ve.dehydrated,Ee!==null)){if(Q)p.flags&256?(As(p),p.flags&=-257,p=cp(h,p,x)):p.memoizedState!==null?(Go(p),p.child=h.child,p.flags|=128,p=null):(Go(p),Ee=j.fallback,V=p.mode,j=Lu({mode:"visible",children:j.children},V),Ee=Ml(Ee,V,x,null),Ee.flags|=2,j.return=p,Ee.return=p,j.sibling=Ee,p.child=j,Hl(p,h.child,null,x),j=p.child,j.memoizedState=rp(x),j.childLanes=ap(h,re,x),p.memoizedState=lg,p=Lf(null,j));else if(As(p),Vp(Ee))re=Ox(Ee).digest,j=Error(i(419)),j.stack="",j.digest=re,Yn({value:j,source:null,stack:null}),p=cp(h,p,x);else if(ti||Nt(h,p,x,!1),re=(x&h.childLanes)!==0,ti||re){if(re=fs,re!==null&&(j=ie(re,x),j!==0&&j!==Ve.retryLane))throw Ve.retryLane=j,_t(h,j),Vi(re,h,j),og;zp(Ee)||Uu(),p=cp(h,p,x)}else zp(Ee)?(p.flags|=192,p.child=h.child,p=null):(h=Ve.treeContext,Ri&&(Fs=Vx(Ee),Si=p,Tn=!0,Qo=null,Cr=!1,h!==null&&Ke(p,h)),p=op(p,j.children),p.flags|=4096);return p}if(V)return Go(p),Ee=j.fallback,V=p.mode,Ve=h.child,Q=Ve.sibling,j=co(Ve,{mode:"hidden",children:j.children}),j.subtreeFlags=Ve.subtreeFlags&65011712,Q!==null?Ee=co(Q,Ee):(Ee=Ml(Ee,V,x,null),Ee.flags|=2),Ee.return=p,j.return=p,j.sibling=Ee,p.child=j,Lf(null,j),j=p.child,Ee=h.child.memoizedState,Ee===null?Ee=rp(x):(V=Ee.cachePool,V!==null?(Ve=ho?Ls._currentValue:Ls._currentValue2,V=V.parent!==Ve?{parent:Ve,pool:Ve}:V):V=va(),Ee={baseLanes:Ee.baseLanes|x,cachePool:V}),j.memoizedState=Ee,j.childLanes=ap(h,re,x),p.memoizedState=lg,Lf(h.child,j);return As(p),x=h.child,h=x.sibling,x=co(x,{mode:"visible",children:j.children}),x.return=p,x.sibling=null,h!==null&&(re=p.deletions,re===null?(p.deletions=[h],p.flags|=16):re.push(h)),p.child=x,p.memoizedState=null,x}function op(h,p){return p=Lu({mode:"visible",children:p},h.mode),p.return=h,h.child=p}function Lu(h,p){return h=n(22,h,null,p),h.lanes=0,h}function cp(h,p,x){return Hl(p,h.child,null,x),h=op(p,p.pendingProps.children),h.flags|=2,p.memoizedState=null,h}function Mw(h,p,x){h.lanes|=p;var j=h.alternate;j!==null&&(j.lanes|=p),yt(h.return,p,x)}function fp(h,p,x,j,V,Q){var re=h.memoizedState;re===null?h.memoizedState={isBackwards:p,rendering:null,renderingStartTime:0,last:j,tail:x,tailMode:V,treeForkCount:Q}:(re.isBackwards=p,re.rendering=null,re.renderingStartTime=0,re.last=j,re.tail=x,re.tailMode=V,re.treeForkCount=Q)}function Fw(h,p,x){var j=p.pendingProps,V=j.revealOrder,Q=j.tail;j=j.children;var re=Qs.current,Ee=(re&2)!==0;if(Ee?(re=re&1|2,p.flags|=128):re&=1,k(Qs,re),yi(h,p,j,x),j=Tn?Kf:0,!Ee&&h!==null&&(h.flags&128)!==0)e:for(h=p.child;h!==null;){if(h.tag===13)h.memoizedState!==null&&Mw(h,x,p);else if(h.tag===19)Mw(h,x,p);else if(h.child!==null){h.child.return=h,h=h.child;continue}if(h===p)break e;for(;h.sibling===null;){if(h.return===null||h.return===p)break e;h=h.return}h.sibling.return=h.return,h=h.sibling}switch(V){case"forwards":x=p.child;for(V=null;x!==null;)h=x.alternate,h!==null&&Tu(h)===null&&(V=x),x=x.sibling;x=V,x===null?(V=p.child,p.child=null):(V=x.sibling,x.sibling=null),fp(p,!1,V,x,Q,j);break;case"backwards":case"unstable_legacy-backwards":x=null,V=p.child;for(p.child=null;V!==null;){if(h=V.alternate,h!==null&&Tu(h)===null){p.child=V;break}h=V.sibling,V.sibling=x,x=V,V=h}fp(p,!0,x,null,Q,j);break;case"together":fp(p,!1,null,null,void 0,j);break;default:p.memoizedState=null}return p.child}function ro(h,p,x){if(h!==null&&(p.dependencies=h.dependencies),el|=p.lanes,(x&p.childLanes)===0)if(h!==null){if(Nt(h,p,x,!1),(x&p.childLanes)===0)return null}else return null;if(h!==null&&p.child!==h.child)throw Error(i(153));if(p.child!==null){h=p.child,x=co(h,h.pendingProps),p.child=x;for(x.return=p;h.sibling!==null;)h=h.sibling,x=x.sibling=co(h,h.pendingProps),x.return=p;x.sibling=null}return p.child}function hp(h,p){if((h.lanes&p)!==0)return!0;return h=h.dependencies,h!==null&&ln(h)?!0:!1}function _k(h,p,x){switch(p.tag){case 3:at(p,p.stateNode.containerInfo),We(p,Ls,h.memoizedState.cache),Xt();break;case 27:case 5:St(p);break;case 4:at(p,p.stateNode.containerInfo);break;case 10:We(p,p.type,p.memoizedProps.value);break;case 31:if(p.memoizedState!==null)return p.flags|=128,bc(p),null;break;case 13:var j=p.memoizedState;if(j!==null){if(j.dehydrated!==null)return As(p),p.flags|=128,null;if((x&p.child.childLanes)!==0)return qw(h,p,x);return As(p),h=ro(h,p,x),h!==null?h.sibling:null}As(p);break;case 19:var V=(h.flags&128)!==0;if(j=(x&p.childLanes)!==0,j||(Nt(h,p,x,!1),j=(x&p.childLanes)!==0),V){if(j)return Fw(h,p,x);p.flags|=128}if(V=p.memoizedState,V!==null&&(V.rendering=null,V.tail=null,V.lastEffect=null),k(Qs,Qs.current),j)break;else return null;case 22:return p.lanes=0,Cw(h,p,x,p.pendingProps);case 24:We(p,Ls,h.memoizedState.cache)}return ro(h,p,x)}function Lw(h,p,x){if(h!==null)if(h.memoizedProps!==p.pendingProps)ti=!0;else{if(!hp(h,x)&&(p.flags&128)===0)return ti=!1,_k(h,p,x);ti=(h.flags&131072)!==0?!0:!1}else ti=!1,Tn&&(p.flags&1048576)!==0&&De(p,Kf,p.index);switch(p.lanes=0,p.tag){case 16:e:{var j=p.pendingProps;if(h=ar(p.elementType),p.type=h,typeof h==="function")Ip(h)?(j=Il(h,j),p.tag=1,p=Rw(null,p,h,j,x)):(p.tag=0,p=ip(null,p,h,j,x));else{if(h!==void 0&&h!==null){var V=h.$$typeof;if(V===Lp){p.tag=11,p=Aw(null,p,h,j,x);break e}else if(V===Np){p.tag=14,p=Tw(null,p,h,j,x);break e}}throw p=b(h)||h,Error(i(306,p,""))}}return p;case 0:return ip(h,p,p.type,p.pendingProps,x);case 1:return j=p.type,V=Il(j,p.pendingProps),Rw(h,p,j,V,x);case 3:e:{if(at(p,p.stateNode.containerInfo),h===null)throw Error(i(387));var Q=p.pendingProps;V=p.memoizedState,j=V.element,xs(h,p),Fi(p,Q,null,x);var re=p.memoizedState;if(Q=re.cache,We(p,Ls,Q),Q!==V.cache&&pt(p,[Ls],x,!0),cs(),Q=re.element,Ri&&V.isDehydrated)if(V={element:Q,isDehydrated:!1,cache:re.cache},p.updateQueue.baseState=V,p.memoizedState=V,p.flags&256){p=Dw(h,p,Q,x);break e}else if(Q!==j){j=we(Error(i(424)),p),Yn(j),p=Dw(h,p,Q,x);break e}else for(Ri&&(Fs=zx(p.stateNode.containerInfo),Si=p,Tn=!0,Qo=null,Cr=!0),x=d5(p,null,Q,x),p.child=x;x;)x.flags=x.flags&-3|4096,x=x.sibling;else{if(Xt(),Q===j){p=ro(h,p,x);break e}yi(h,p,Q,x)}p=p.child}return p;case 26:if(ta)return Fu(h,p),h===null?(x=Zy(p.type,null,p.pendingProps,null))?p.memoizedState=x:Tn||(p.stateNode=wA(p.type,p.pendingProps,Yo.current,p)):p.memoizedState=Zy(p.type,h.memoizedProps,p.pendingProps,h.memoizedState),null;case 27:if(li)return St(p),h===null&&li&&Tn&&(j=p.stateNode=r5(p.type,p.pendingProps,Yo.current,vi.current,!1),Si=p,Cr=!0,Fs=$x(p.type,j,Fs)),yi(h,p,p.pendingProps.children,x),Fu(h,p),h===null&&(p.flags|=4194304),p.child;case 5:if(h===null&&Tn){if(pA(p.type,p.pendingProps,vi.current),V=j=Fs)j=Xx(j,p.type,p.pendingProps,Cr),j!==null?(p.stateNode=j,Si=p,Fs=Ux(j),Cr=!1,V=!0):V=!1;V||dt(p)}return St(p),V=p.type,Q=p.pendingProps,re=h!==null?h.memoizedProps:null,j=Q.children,Wu(V,Q)?j=null:re!==null&&Wu(V,re)&&(p.flags|=32),p.memoizedState!==null&&(V=Pm(h,p,Sk,null,null,x),ho?Ll._currentValue=V:Ll._currentValue2=V),Fu(h,p),yi(h,p,j,x),p.child;case 6:if(h===null&&Tn){if(gA(p.pendingProps,vi.current),h=x=Fs)x=Kx(x,p.pendingProps,Cr),x!==null?(p.stateNode=x,Si=p,Fs=null,h=!0):h=!1;h||dt(p)}return null;case 13:return qw(h,p,x);case 4:return at(p,p.stateNode.containerInfo),j=p.pendingProps,h===null?p.child=Hl(p,null,j,x):yi(h,p,j,x),p.child;case 11:return Aw(h,p,p.type,p.pendingProps,x);case 7:return yi(h,p,p.pendingProps,x),p.child;case 8:return yi(h,p,p.pendingProps.children,x),p.child;case 12:return yi(h,p,p.pendingProps.children,x),p.child;case 10:return j=p.pendingProps,We(p,p.type,j.value),yi(h,p,j.children,x),p.child;case 9:return V=p.type._context,j=p.pendingProps.children,pn(p),V=Yt(V),j=j(V),p.flags|=1,yi(h,p,j,x),p.child;case 14:return Tw(h,p,p.type,p.pendingProps,x);case 15:return Ew(h,p,p.type,p.pendingProps,x);case 19:return Fw(h,p,x);case 31:return jk(h,p,x);case 22:return Cw(h,p,x,p.pendingProps);case 24:return pn(p),j=Yt(Ls),h===null?(V=ya(),V===null&&(V=fs,Q=Tt(),V.pooledCache=Q,Q.refCount++,Q!==null&&(V.pooledCacheLanes|=x),V=Q),p.memoizedState={parent:j,cache:V},bn(p),We(p,Ls,V)):((h.lanes&x)!==0&&(xs(h,p),Fi(p,null,null,x),cs()),V=h.memoizedState,Q=p.memoizedState,V.parent!==j?(V={parent:j,cache:j},p.memoizedState=V,p.lanes===0&&(p.memoizedState=p.updateQueue.baseState=V),We(p,Ls,j)):(j=Q.cache,We(p,Ls,j),j!==V.cache&&pt(p,[Ls],x,!0))),yi(h,p,p.pendingProps.children,x),p.child;case 29:throw p.pendingProps}throw Error(i(156,p.tag))}function Yr(h){h.flags|=4}function Ou(h){xa&&(h.flags|=8)}function Ow(h,p){if(h!==null&&h.child===p.child)return!1;if((p.flags&16)!==0)return!0;for(h=p.child;h!==null;){if((h.flags&8218)!==0||(h.subtreeFlags&8218)!==0)return!0;h=h.sibling}return!1}function up(h,p,x,j){if(Ii)for(x=p.child;x!==null;){if(x.tag===5||x.tag===6)Hp(h,x.stateNode);else if(!(x.tag===4||li&&x.tag===27)&&x.child!==null){x.child.return=x,x=x.child;continue}if(x===p)break;for(;x.sibling===null;){if(x.return===null||x.return===p)return;x=x.return}x.sibling.return=x.return,x=x.sibling}else if(xa)for(var V=p.child;V!==null;){if(V.tag===5){var Q=V.stateNode;x&&j&&(Q=Wy(Q,V.type,V.memoizedProps)),Hp(h,Q)}else if(V.tag===6)Q=V.stateNode,x&&j&&(Q=Ky(Q,V.memoizedProps)),Hp(h,Q);else if(V.tag!==4){if(V.tag===22&&V.memoizedState!==null)Q=V.child,Q!==null&&(Q.return=V),up(h,V,!0,!0);else if(V.child!==null){V.child.return=V,V=V.child;continue}}if(V===p)break;for(;V.sibling===null;){if(V.return===null||V.return===p)return;V=V.return}V.sibling.return=V.return,V=V.sibling}}function Pw(h,p,x,j){var V=!1;if(xa)for(var Q=p.child;Q!==null;){if(Q.tag===5){var re=Q.stateNode;x&&j&&(re=Wy(re,Q.type,Q.memoizedProps)),$y(h,re)}else if(Q.tag===6)re=Q.stateNode,x&&j&&(re=Ky(re,Q.memoizedProps)),$y(h,re);else if(Q.tag!==4){if(Q.tag===22&&Q.memoizedState!==null)V=Q.child,V!==null&&(V.return=Q),Pw(h,Q,!0,!0),V=!0;else if(Q.child!==null){Q.child.return=Q,Q=Q.child;continue}}if(Q===p)break;for(;Q.sibling===null;){if(Q.return===null||Q.return===p)return V;Q=Q.return}Q.sibling.return=Q.return,Q=Q.sibling}return V}function Nw(h,p){if(xa&&Ow(h,p)){h=p.stateNode;var x=h.containerInfo,j=Vy();Pw(j,p,!1,!1),h.pendingChildren=j,Yr(p),Lx(x,j)}}function dp(h,p,x,j){if(Ii)h.memoizedProps!==j&&Yr(p);else if(xa){var V=h.stateNode,Q=h.memoizedProps;if((h=Ow(h,p))||Q!==j){var re=vi.current;Q=Fx(V,x,Q,j,!h,null),Q===V?p.stateNode=V:(Ou(p),By(Q,x,j,re)&&Yr(p),p.stateNode=Q,h&&up(Q,p,!1,!1))}else p.stateNode=V}}function mp(h,p,x,j,V){if((h.mode&32)!==0&&(x===null?ox(p,j):lx(p,x,j))){if(h.flags|=16777216,(V&335544128)===V||Up(p,j))if(Uy(h.stateNode,p,j))h.flags|=8192;else if(uy())h.flags|=8192;else throw Bl=od,ng}else h.flags&=-16777217}function Bw(h,p){if(vA(p)){if(h.flags|=16777216,!i5(p))if(uy())h.flags|=8192;else throw Bl=od,ng}else h.flags&=-16777217}function Pu(h,p){p!==null&&(h.flags|=4),h.flags&16384&&(p=h.tag!==22?Y():536870912,h.lanes|=p,Uc|=p)}function Of(h,p){if(!Tn)switch(h.tailMode){case"hidden":p=h.tail;for(var x=null;p!==null;)p.alternate!==null&&(x=p),p=p.sibling;x===null?h.tail=null:x.sibling=null;break;case"collapsed":x=h.tail;for(var j=null;x!==null;)x.alternate!==null&&(j=x),x=x.sibling;j===null?p||h.tail===null?h.tail=null:h.tail.sibling=null:j.sibling=null}}function ws(h){var p=h.alternate!==null&&h.alternate.child===h.child,x=0,j=0;if(p)for(var V=h.child;V!==null;)x|=V.lanes|V.childLanes,j|=V.subtreeFlags&65011712,j|=V.flags&65011712,V.return=h,V=V.sibling;else for(V=h.child;V!==null;)x|=V.lanes|V.childLanes,j|=V.subtreeFlags,j|=V.flags,V.return=h,V=V.sibling;return h.subtreeFlags|=j,h.childLanes=x,p}function Ik(h,p,x){var j=p.pendingProps;switch(Be(p),p.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ws(p),null;case 1:return ws(p),null;case 3:if(x=p.stateNode,j=null,h!==null&&(j=h.memoizedState.cache),p.memoizedState.cache!==j&&(p.flags|=2048),nt(Ls),tt(),x.pendingContext&&(x.context=x.pendingContext,x.pendingContext=null),h===null||h.child===null)dn(p)?Yr(p):h===null||h.memoizedState.isDehydrated&&(p.flags&256)===0||(p.flags|=1024,on());return Nw(h,p),ws(p),null;case 26:if(ta){var{type:V,memoizedState:Q}=p;return h===null?(Yr(p),Q!==null?(ws(p),Bw(p,Q)):(ws(p),mp(p,V,null,j,x))):Q?Q!==h.memoizedState?(Yr(p),ws(p),Bw(p,Q)):(ws(p),p.flags&=-16777217):(Q=h.memoizedProps,Ii?Q!==j&&Yr(p):dp(h,p,V,j),ws(p),mp(p,V,Q,j,x)),null}case 27:if(li){if(jt(p),x=Yo.current,V=p.type,h!==null&&p.stateNode!=null)Ii?h.memoizedProps!==j&&Yr(p):dp(h,p,V,j);else{if(!j){if(p.stateNode===null)throw Error(i(166));return ws(p),null}h=vi.current,dn(p)?Lt(p,h):(h=r5(V,j,x,h,!0),p.stateNode=h,Yr(p))}return ws(p),null}case 5:if(jt(p),V=p.type,h!==null&&p.stateNode!=null)dp(h,p,V,j);else{if(!j){if(p.stateNode===null)throw Error(i(166));return ws(p),null}if(Q=vi.current,dn(p))Lt(p,Q),lA(p.stateNode,V,j,Q)&&(p.flags|=64);else{var re=Zk(V,j,Yo.current,Q,p);Ou(p),up(re,p,!1,!1),p.stateNode=re,By(re,V,j,Q)&&Yr(p)}}return ws(p),mp(p,p.type,h===null?null:h.memoizedProps,p.pendingProps,x),null;case 6:if(h&&p.stateNode!=null)x=h.memoizedProps,Ii?x!==j&&Yr(p):xa&&(x!==j?(h=Yo.current,x=vi.current,Ou(p),p.stateNode=Hy(j,h,x,p)):p.stateNode=h.stateNode);else{if(typeof j!=="string"&&p.stateNode===null)throw Error(i(166));if(h=Yo.current,x=vi.current,dn(p)){if(!Ri)throw Error(i(176));if(h=p.stateNode,x=p.memoizedProps,j=null,V=Si,V!==null)switch(V.tag){case 27:case 5:j=V.memoizedProps}Zx(h,x,p,j)||dt(p,!0)}else Ou(p),p.stateNode=Hy(j,h,x,p)}return ws(p),null;case 31:if(x=p.memoizedState,h===null||h.memoizedState!==null){if(j=dn(p),x!==null){if(h===null){if(!j)throw Error(i(318));if(!Ri)throw Error(i(556));if(h=p.memoizedState,h=h!==null?h.dehydrated:null,!h)throw Error(i(557));eA(h,p)}else Xt(),(p.flags&128)===0&&(p.memoizedState=null),p.flags|=4;ws(p),h=!1}else x=on(),h!==null&&h.memoizedState!==null&&(h.memoizedState.hydrationErrors=x),h=!0;if(!h){if(p.flags&256)return or(p),p;return or(p),null}if((p.flags&128)!==0)throw Error(i(558))}return ws(p),null;case 13:if(j=p.memoizedState,h===null||h.memoizedState!==null&&h.memoizedState.dehydrated!==null){if(V=dn(p),j!==null&&j.dehydrated!==null){if(h===null){if(!V)throw Error(i(318));if(!Ri)throw Error(i(344));if(V=p.memoizedState,V=V!==null?V.dehydrated:null,!V)throw Error(i(317));tA(V,p)}else Xt(),(p.flags&128)===0&&(p.memoizedState=null),p.flags|=4;ws(p),V=!1}else V=on(),h!==null&&h.memoizedState!==null&&(h.memoizedState.hydrationErrors=V),V=!0;if(!V){if(p.flags&256)return or(p),p;return or(p),null}}if(or(p),(p.flags&128)!==0)return p.lanes=x,p;return x=j!==null,h=h!==null&&h.memoizedState!==null,x&&(j=p.child,V=null,j.alternate!==null&&j.alternate.memoizedState!==null&&j.alternate.memoizedState.cachePool!==null&&(V=j.alternate.memoizedState.cachePool.pool),Q=null,j.memoizedState!==null&&j.memoizedState.cachePool!==null&&(Q=j.memoizedState.cachePool.pool),Q!==V&&(j.flags|=2048)),x!==h&&x&&(p.child.flags|=8192),Pu(p,p.updateQueue),ws(p),null;case 4:return tt(),Nw(h,p),h===null&&sx(p.stateNode.containerInfo),ws(p),null;case 10:return nt(p.type),ws(p),null;case 19:if(v(Qs),j=p.memoizedState,j===null)return ws(p),null;if(V=(p.flags&128)!==0,Q=j.rendering,Q===null)if(V)Of(j,!1);else{if(Vs!==0||h!==null&&(h.flags&128)!==0)for(h=p.child;h!==null;){if(Q=Tu(h),Q!==null){p.flags|=128,Of(j,!1),h=Q.updateQueue,p.updateQueue=h,Pu(p,h),p.subtreeFlags=0,h=x;for(x=p.child;x!==null;)Ey(x,h),x=x.sibling;return k(Qs,Qs.current&1|2),Tn&&Fe(p,j.treeForkCount),p.child}h=h.sibling}j.tail!==null&&$i()>ih&&(p.flags|=128,V=!0,Of(j,!1),p.lanes=4194304)}else{if(!V)if(h=Tu(Q),h!==null){if(p.flags|=128,V=!0,h=h.updateQueue,p.updateQueue=h,Pu(p,h),Of(j,!0),j.tail===null&&j.tailMode==="hidden"&&!Q.alternate&&!Tn)return ws(p),null}else 2*$i()-j.renderingStartTime>ih&&x!==536870912&&(p.flags|=128,V=!0,Of(j,!1),p.lanes=4194304);j.isBackwards?(Q.sibling=p.child,p.child=Q):(h=j.last,h!==null?h.sibling=Q:p.child=Q,j.last=Q)}if(j.tail!==null)return h=j.tail,j.rendering=h,j.tail=h.sibling,j.renderingStartTime=$i(),h.sibling=null,x=Qs.current,k(Qs,V?x&1|2:x&1),Tn&&Fe(p,j.treeForkCount),h;return ws(p),null;case 22:case 23:return or(p),Li(),j=p.memoizedState!==null,h!==null?h.memoizedState!==null!==j&&(p.flags|=8192):j&&(p.flags|=8192),j?(x&536870912)!==0&&(p.flags&128)===0&&(ws(p),p.subtreeFlags&6&&(p.flags|=8192)):ws(p),x=p.updateQueue,x!==null&&Pu(p,x.retryQueue),x=null,h!==null&&h.memoizedState!==null&&h.memoizedState.cachePool!==null&&(x=h.memoizedState.cachePool.pool),j=null,p.memoizedState!==null&&p.memoizedState.cachePool!==null&&(j=p.memoizedState.cachePool.pool),j!==x&&(p.flags|=2048),h!==null&&v(Nl),null;case 24:return x=null,h!==null&&(x=h.memoizedState.cache),p.memoizedState.cache!==x&&(p.flags|=2048),nt(Ls),ws(p),null;case 25:return null;case 30:return null}throw Error(i(156,p.tag))}function Rk(h,p){switch(Be(p),p.tag){case 1:return h=p.flags,h&65536?(p.flags=h&-65537|128,p):null;case 3:return nt(Ls),tt(),h=p.flags,(h&65536)!==0&&(h&128)===0?(p.flags=h&-65537|128,p):null;case 26:case 27:case 5:return jt(p),null;case 31:if(p.memoizedState!==null){if(or(p),p.alternate===null)throw Error(i(340));Xt()}return h=p.flags,h&65536?(p.flags=h&-65537|128,p):null;case 13:if(or(p),h=p.memoizedState,h!==null&&h.dehydrated!==null){if(p.alternate===null)throw Error(i(340));Xt()}return h=p.flags,h&65536?(p.flags=h&-65537|128,p):null;case 19:return v(Qs),null;case 4:return tt(),null;case 10:return nt(p.type),null;case 22:case 23:return or(p),Li(),h!==null&&v(Nl),h=p.flags,h&65536?(p.flags=h&-65537|128,p):null;case 24:return nt(Ls),null;case 25:return null;default:return null}}function Hw(h,p){switch(Be(p),p.tag){case 3:nt(Ls),tt();break;case 26:case 27:case 5:jt(p);break;case 4:tt();break;case 31:p.memoizedState!==null&&or(p);break;case 13:or(p);break;case 19:v(Qs);break;case 10:nt(p.type);break;case 22:case 23:or(p),Li(),h!==null&&v(Nl);break;case 24:nt(Ls)}}function Pf(h,p){try{var x=p.updateQueue,j=x!==null?x.lastEffect:null;if(j!==null){var V=j.next;x=V;do{if((x.tag&h)===h){j=void 0;var Q=x.create,re=x.inst;j=Q(),re.destroy=j}x=x.next}while(x!==V)}}catch(Ee){Fn(p,p.return,Ee)}}function Vo(h,p,x){try{var j=p.updateQueue,V=j!==null?j.lastEffect:null;if(V!==null){var Q=V.next;j=Q;do{if((j.tag&h)===h){var re=j.inst,Ee=re.destroy;if(Ee!==void 0){re.destroy=void 0,V=p;var Ve=x,it=Ee;try{it()}catch(bt){Fn(V,Ve,bt)}}}j=j.next}while(j!==Q)}}catch(bt){Fn(p,p.return,bt)}}function Uw(h){var p=h.updateQueue;if(p!==null){var x=h.stateNode;try{Df(p,x)}catch(j){Fn(h,h.return,j)}}}function zw(h,p,x){x.props=Il(h.type,h.memoizedProps),x.state=h.memoizedState;try{x.componentWillUnmount()}catch(j){Fn(h,p,j)}}function Nf(h,p){try{var x=h.ref;if(x!==null){switch(h.tag){case 26:case 27:case 5:var j=Gf(h.stateNode);break;case 30:j=h.stateNode;break;default:j=h.stateNode}typeof x==="function"?h.refCleanup=x(j):x.current=j}}catch(V){Fn(h,p,V)}}function ka(h,p){var x=h.ref,j=h.refCleanup;if(x!==null)if(typeof j==="function")try{j()}catch(V){Fn(h,p,V)}finally{h.refCleanup=null,h=h.alternate,h!=null&&(h.refCleanup=null)}else if(typeof x==="function")try{x(null)}catch(V){Fn(h,p,V)}else x.current=null}function Gw(h){var{type:p,memoizedProps:x,stateNode:j}=h;try{Ax(j,p,x,h)}catch(V){Fn(h,h.return,V)}}function pp(h,p,x){try{Tx(h.stateNode,h.type,x,p,h)}catch(j){Fn(h,h.return,j)}}function Vw(h){return h.tag===5||h.tag===3||(ta?h.tag===26:!1)||(li?h.tag===27&&Tc(h.type):!1)||h.tag===4}function gp(h){e:for(;;){for(;h.sibling===null;){if(h.return===null||Vw(h.return))return null;h=h.return}h.sibling.return=h.return;for(h=h.sibling;h.tag!==5&&h.tag!==6&&h.tag!==18;){if(li&&h.tag===27&&Tc(h.type))continue e;if(h.flags&2)continue e;if(h.child===null||h.tag===4)continue e;else h.child.return=h,h=h.child}if(!(h.flags&2))return h.stateNode}}function bp(h,p,x){var j=h.tag;if(j===5||j===6)h=h.stateNode,p?Cx(x,h,p):kx(x,h);else if(j!==4&&(li&&j===27&&Tc(h.type)&&(x=h.stateNode,p=null),h=h.child,h!==null))for(bp(h,p,x),h=h.sibling;h!==null;)bp(h,p,x),h=h.sibling}function Nu(h,p,x){var j=h.tag;if(j===5||j===6)h=h.stateNode,p?Ex(x,h,p):Sx(x,h);else if(j!==4&&(li&&j===27&&Tc(h.type)&&(x=h.stateNode),h=h.child,h!==null))for(Nu(h,p,x),h=h.sibling;h!==null;)Nu(h,p,x),h=h.sibling}function $w(h,p,x){h=h.containerInfo;try{Xy(h,x)}catch(j){Fn(p,p.return,j)}}function Xw(h){var{stateNode:p,memoizedProps:x}=h;try{kA(h.type,x,p,h)}catch(j){Fn(h,h.return,j)}}function Dk(h,p){Qk(h.containerInfo);for(di=p;di!==null;)if(h=di,p=h.child,(h.subtreeFlags&1028)!==0&&p!==null)p.return=h,di=p;else for(;di!==null;){h=di;var x=h.alternate;switch(p=h.flags,h.tag){case 0:if((p&4)!==0&&(p=h.updateQueue,p=p!==null?p.events:null,p!==null))for(var j=0;j<p.length;j++){var V=p[j];V.ref.impl=V.nextImpl}break;case 11:case 15:break;case 1:if((p&1024)!==0&&x!==null){p=void 0,j=h,V=x.memoizedProps,x=x.memoizedState;var Q=j.stateNode;try{var re=Il(j.type,V);p=Q.getSnapshotBeforeUpdate(re,x),Q.__reactInternalSnapshotBeforeUpdate=p}catch(Ee){Fn(j,j.return,Ee)}}break;case 3:(p&1024)!==0&&Ii&&Mx(h.stateNode.containerInfo);break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((p&1024)!==0)throw Error(i(163))}if(p=h.sibling,p!==null){p.return=h.return,di=p;break}di=h.return}}function Ww(h,p,x){var j=x.flags;switch(x.tag){case 0:case 11:case 15:ao(h,x),j&4&&Pf(5,x);break;case 1:if(ao(h,x),j&4)if(h=x.stateNode,p===null)try{h.componentDidMount()}catch(re){Fn(x,x.return,re)}else{var V=Il(x.type,p.memoizedProps);p=p.memoizedState;try{h.componentDidUpdate(V,p,h.__reactInternalSnapshotBeforeUpdate)}catch(re){Fn(x,x.return,re)}}j&64&&Uw(x),j&512&&Nf(x,x.return);break;case 3:if(ao(h,x),j&64&&(j=x.updateQueue,j!==null)){if(h=null,x.child!==null)switch(x.child.tag){case 27:case 5:h=Gf(x.child.stateNode);break;case 1:h=x.child.stateNode}try{Df(j,h)}catch(re){Fn(x,x.return,re)}}break;case 27:li&&p===null&&j&4&&Xw(x);case 26:case 5:if(ao(h,x),p===null){if(j&4)Gw(x);else if(j&64){h=x.type,p=x.memoizedProps,V=x.stateNode;try{iA(V,h,p,x)}catch(re){Fn(x,x.return,re)}}}j&512&&Nf(x,x.return);break;case 12:ao(h,x);break;case 31:ao(h,x),j&4&&Yw(h,x);break;case 13:ao(h,x),j&4&&Qw(h,x),j&64&&(j=x.memoizedState,j!==null&&(j=j.dehydrated,j!==null&&(x=Nk.bind(null,x),Px(j,x))));break;case 22:if(j=x.memoizedState!==null||go,!j){p=p!==null&&p.memoizedState!==null||ni,V=go;var Q=ni;go=j,(ni=p)&&!Q?oo(h,x,(x.subtreeFlags&8772)!==0):ao(h,x),go=V,ni=Q}break;case 30:break;default:ao(h,x)}}function Kw(h){var p=h.alternate;p!==null&&(h.alternate=null,Kw(p)),h.child=null,h.deletions=null,h.sibling=null,h.tag===5&&(p=h.stateNode,p!==null&&ax(p)),h.stateNode=null,h.return=null,h.dependencies=null,h.memoizedProps=null,h.memoizedState=null,h.pendingProps=null,h.stateNode=null,h.updateQueue=null}function Qr(h,p,x){for(x=x.child;x!==null;)wp(h,p,x),x=x.sibling}function wp(h,p,x){if(fr&&typeof fr.onCommitFiberUnmount==="function")try{fr.onCommitFiberUnmount(Xf,x)}catch(Q){}switch(x.tag){case 26:if(ta){ni||ka(x,p),Qr(h,p,x),x.memoizedState?t5(x.memoizedState):x.stateNode&&s5(x.stateNode);break}case 27:if(li){ni||ka(x,p);var j=si,V=Wi;Tc(x.type)&&(si=x.stateNode,Wi=!1),Qr(h,p,x),a5(x.stateNode),si=j,Wi=V;break}case 5:ni||ka(x,p);case 6:if(Ii){if(j=si,V=Wi,si=null,Qr(h,p,x),si=j,Wi=V,si!==null)if(Wi)try{_x(si,x.stateNode)}catch(Q){Fn(x,p,Q)}else try{jx(si,x.stateNode)}catch(Q){Fn(x,p,Q)}}else Qr(h,p,x);break;case 18:Ii&&si!==null&&(Wi?uA(si,x.stateNode):fA(si,x.stateNode));break;case 4:Ii?(j=si,V=Wi,si=x.stateNode.containerInfo,Wi=!0,Qr(h,p,x),si=j,Wi=V):(xa&&$w(x.stateNode,x,Vy()),Qr(h,p,x));break;case 0:case 11:case 14:case 15:Vo(2,x,p),ni||Vo(4,x,p),Qr(h,p,x);break;case 1:ni||(ka(x,p),j=x.stateNode,typeof j.componentWillUnmount==="function"&&zw(x,p,j)),Qr(h,p,x);break;case 21:Qr(h,p,x);break;case 22:ni=(j=ni)||x.memoizedState!==null,Qr(h,p,x),ni=j;break;default:Qr(h,p,x)}}function Yw(h,p){if(Ri&&p.memoizedState===null&&(h=p.alternate,h!==null&&(h=h.memoizedState,h!==null))){h=h.dehydrated;try{aA(h)}catch(x){Fn(p,p.return,x)}}}function Qw(h,p){if(Ri&&p.memoizedState===null&&(h=p.alternate,h!==null&&(h=h.memoizedState,h!==null&&(h=h.dehydrated,h!==null))))try{oA(h)}catch(x){Fn(p,p.return,x)}}function qk(h){switch(h.tag){case 31:case 13:case 19:var p=h.stateNode;return p===null&&(p=h.stateNode=new g5),p;case 22:return h=h.stateNode,p=h._retryCache,p===null&&(p=h._retryCache=new g5),p;default:throw Error(i(435,h.tag))}}function Bu(h,p){var x=qk(h);p.forEach(function(j){if(!x.has(j)){x.add(j);var V=Bk.bind(null,h,j);j.then(V,V)}})}function _i(h,p){var x=p.deletions;if(x!==null)for(var j=0;j<x.length;j++){var V=x[j],Q=h,re=p;if(Ii){var Ee=re;e:for(;Ee!==null;){switch(Ee.tag){case 27:if(li){if(Tc(Ee.type)){si=Ee.stateNode,Wi=!1;break e}break}case 5:si=Ee.stateNode,Wi=!1;break e;case 3:case 4:si=Ee.stateNode.containerInfo,Wi=!0;break e}Ee=Ee.return}if(si===null)throw Error(i(160));wp(Q,re,V),si=null,Wi=!1}else wp(Q,re,V);Q=V.alternate,Q!==null&&(Q.return=null),V.return=null}if(p.subtreeFlags&13886)for(p=p.child;p!==null;)Jw(p,h),p=p.sibling}function Jw(h,p){var x=h.alternate,j=h.flags;switch(h.tag){case 0:case 11:case 14:case 15:_i(p,h),Hi(h),j&4&&(Vo(3,h,h.return),Pf(3,h),Vo(5,h,h.return));break;case 1:_i(p,h),Hi(h),j&512&&(ni||x===null||ka(x,x.return)),j&64&&go&&(h=h.updateQueue,h!==null&&(j=h.callbacks,j!==null&&(x=h.shared.hiddenCallbacks,h.shared.hiddenCallbacks=x===null?j:x.concat(j))));break;case 26:if(ta){var V=na;if(_i(p,h),Hi(h),j&512&&(ni||x===null||ka(x,x.return)),j&4){j=x!==null?x.memoizedState:null;var Q=h.memoizedState;x===null?Q===null?h.stateNode===null?h.stateNode=bA(V,h.type,h.memoizedProps,h):n5(V,h.type,h.stateNode):h.stateNode=e5(V,Q,h.memoizedProps):j!==Q?(j===null?x.stateNode!==null&&s5(x.stateNode):t5(j),Q===null?n5(V,h.type,h.stateNode):e5(V,Q,h.memoizedProps)):Q===null&&h.stateNode!==null&&pp(h,h.memoizedProps,x.memoizedProps)}break}case 27:if(li){_i(p,h),Hi(h),j&512&&(ni||x===null||ka(x,x.return)),x!==null&&j&4&&pp(h,h.memoizedProps,x.memoizedProps);break}case 5:if(_i(p,h),Hi(h),j&512&&(ni||x===null||ka(x,x.return)),Ii){if(h.flags&32){V=h.stateNode;try{Gy(V)}catch(lt){Fn(h,h.return,lt)}}j&4&&h.stateNode!=null&&(V=h.memoizedProps,pp(h,V,x!==null?x.memoizedProps:V)),j&1024&&(cg=!0)}else xa&&h.alternate!==null&&(h.alternate.stateNode=h.stateNode);break;case 6:if(_i(p,h),Hi(h),j&4&&Ii){if(h.stateNode===null)throw Error(i(162));j=h.memoizedProps,x=x!==null?x.memoizedProps:j,V=h.stateNode;try{xx(V,x,j)}catch(lt){Fn(h,h.return,lt)}}break;case 3:if(ta?(yA(),V=na,na=$p(p.containerInfo),_i(p,h),na=V):_i(p,h),Hi(h),j&4){if(Ii&&Ri&&x!==null&&x.memoizedState.isDehydrated)try{rA(p.containerInfo)}catch(lt){Fn(h,h.return,lt)}if(xa){j=p.containerInfo,x=p.pendingChildren;try{Xy(j,x)}catch(lt){Fn(h,h.return,lt)}}}cg&&(cg=!1,Zw(h));break;case 4:ta?(x=na,na=$p(h.stateNode.containerInfo),_i(p,h),Hi(h),na=x):(_i(p,h),Hi(h)),j&4&&xa&&$w(h.stateNode,h,h.stateNode.pendingChildren);break;case 12:_i(p,h),Hi(h);break;case 31:_i(p,h),Hi(h),j&4&&(j=h.updateQueue,j!==null&&(h.updateQueue=null,Bu(h,j)));break;case 13:_i(p,h),Hi(h),h.child.flags&8192&&h.memoizedState!==null!==(x!==null&&x.memoizedState!==null)&&(wd=$i()),j&4&&(j=h.updateQueue,j!==null&&(h.updateQueue=null,Bu(h,j)));break;case 22:V=h.memoizedState!==null;var re=x!==null&&x.memoizedState!==null,Ee=go,Ve=ni;if(go=Ee||V,ni=Ve||re,_i(p,h),ni=Ve,go=Ee,Hi(h),j&8192&&(p=h.stateNode,p._visibility=V?p._visibility&-2:p._visibility|1,V&&(x===null||re||go||ni||Rl(h)),Ii)){e:if(x=null,Ii)for(p=h;;){if(p.tag===5||ta&&p.tag===26){if(x===null){re=x=p;try{Q=re.stateNode,V?Ix(Q):Dx(re.stateNode,re.memoizedProps)}catch(lt){Fn(re,re.return,lt)}}}else if(p.tag===6){if(x===null){re=p;try{var it=re.stateNode;V?Rx(it):qx(it,re.memoizedProps)}catch(lt){Fn(re,re.return,lt)}}}else if(p.tag===18){if(x===null){re=p;try{var bt=re.stateNode;V?dA(bt):mA(re.stateNode)}catch(lt){Fn(re,re.return,lt)}}}else if((p.tag!==22&&p.tag!==23||p.memoizedState===null||p===h)&&p.child!==null){p.child.return=p,p=p.child;continue}if(p===h)break e;for(;p.sibling===null;){if(p.return===null||p.return===h)break e;x===p&&(x=null),p=p.return}x===p&&(x=null),p.sibling.return=p.return,p=p.sibling}}j&4&&(j=h.updateQueue,j!==null&&(x=j.retryQueue,x!==null&&(j.retryQueue=null,Bu(h,x))));break;case 19:_i(p,h),Hi(h),j&4&&(j=h.updateQueue,j!==null&&(h.updateQueue=null,Bu(h,j)));break;case 30:break;case 21:break;default:_i(p,h),Hi(h)}}function Hi(h){var p=h.flags;if(p&2){try{for(var x,j=h.return;j!==null;){if(Vw(j)){x=j;break}j=j.return}if(Ii){if(x==null)throw Error(i(160));switch(x.tag){case 27:if(li){var V=x.stateNode,Q=gp(h);Nu(h,Q,V);break}case 5:var re=x.stateNode;x.flags&32&&(Gy(re),x.flags&=-33);var Ee=gp(h);Nu(h,Ee,re);break;case 3:case 4:var Ve=x.stateNode.containerInfo,it=gp(h);bp(h,it,Ve);break;default:throw Error(i(161))}}}catch(bt){Fn(h,h.return,bt)}h.flags&=-3}p&4096&&(h.flags&=-4097)}function Zw(h){if(h.subtreeFlags&1024)for(h=h.child;h!==null;){var p=h;Zw(p),p.tag===5&&p.flags&1024&&ux(p.stateNode),h=h.sibling}}function ao(h,p){if(p.subtreeFlags&8772)for(p=p.child;p!==null;)Ww(h,p.alternate,p),p=p.sibling}function Rl(h){for(h=h.child;h!==null;){var p=h;switch(p.tag){case 0:case 11:case 14:case 15:Vo(4,p,p.return),Rl(p);break;case 1:ka(p,p.return);var x=p.stateNode;typeof x.componentWillUnmount==="function"&&zw(p,p.return,x),Rl(p);break;case 27:li&&a5(p.stateNode);case 26:case 5:ka(p,p.return),Rl(p);break;case 22:p.memoizedState===null&&Rl(p);break;case 30:Rl(p);break;default:Rl(p)}h=h.sibling}}function oo(h,p,x){x=x&&(p.subtreeFlags&8772)!==0;for(p=p.child;p!==null;){var j=p.alternate,V=h,Q=p,re=Q.flags;switch(Q.tag){case 0:case 11:case 15:oo(V,Q,x),Pf(4,Q);break;case 1:if(oo(V,Q,x),j=Q,V=j.stateNode,typeof V.componentDidMount==="function")try{V.componentDidMount()}catch(it){Fn(j,j.return,it)}if(j=Q,V=j.updateQueue,V!==null){var Ee=j.stateNode;try{var Ve=V.shared.hiddenCallbacks;if(Ve!==null)for(V.shared.hiddenCallbacks=null,V=0;V<Ve.length;V++)Kr(Ve[V],Ee)}catch(it){Fn(j,j.return,it)}}x&&re&64&&Uw(Q),Nf(Q,Q.return);break;case 27:li&&Xw(Q);case 26:case 5:oo(V,Q,x),x&&j===null&&re&4&&Gw(Q),Nf(Q,Q.return);break;case 12:oo(V,Q,x);break;case 31:oo(V,Q,x),x&&re&4&&Yw(V,Q);break;case 13:oo(V,Q,x),x&&re&4&&Qw(V,Q);break;case 22:Q.memoizedState===null&&oo(V,Q,x),Nf(Q,Q.return);break;case 30:break;default:oo(V,Q,x)}p=p.sibling}}function yp(h,p){var x=null;h!==null&&h.memoizedState!==null&&h.memoizedState.cachePool!==null&&(x=h.memoizedState.cachePool.pool),h=null,p.memoizedState!==null&&p.memoizedState.cachePool!==null&&(h=p.memoizedState.cachePool.pool),h!==x&&(h!=null&&h.refCount++,x!=null&&ot(x))}function vp(h,p){h=null,p.alternate!==null&&(h=p.alternate.memoizedState.cache),p=p.memoizedState.cache,p!==h&&(p.refCount++,h!=null&&ot(h))}function ea(h,p,x,j){if(p.subtreeFlags&10256)for(p=p.child;p!==null;)ey(h,p,x,j),p=p.sibling}function ey(h,p,x,j){var V=p.flags;switch(p.tag){case 0:case 11:case 15:ea(h,p,x,j),V&2048&&Pf(9,p);break;case 1:ea(h,p,x,j);break;case 3:ea(h,p,x,j),V&2048&&(h=null,p.alternate!==null&&(h=p.alternate.memoizedState.cache),p=p.memoizedState.cache,p!==h&&(p.refCount++,h!=null&&ot(h)));break;case 12:if(V&2048){ea(h,p,x,j),h=p.stateNode;try{var Q=p.memoizedProps,re=Q.id,Ee=Q.onPostCommit;typeof Ee==="function"&&Ee(re,p.alternate===null?"mount":"update",h.passiveEffectDuration,-0)}catch(Ve){Fn(p,p.return,Ve)}}else ea(h,p,x,j);break;case 31:ea(h,p,x,j);break;case 13:ea(h,p,x,j);break;case 23:break;case 22:Q=p.stateNode,re=p.alternate,p.memoizedState!==null?Q._visibility&2?ea(h,p,x,j):Hf(h,p):Q._visibility&2?ea(h,p,x,j):(Q._visibility|=2,yc(h,p,x,j,(p.subtreeFlags&10256)!==0||!1)),V&2048&&yp(re,p);break;case 24:ea(h,p,x,j),V&2048&&vp(p.alternate,p);break;default:ea(h,p,x,j)}}function yc(h,p,x,j,V){V=V&&((p.subtreeFlags&10256)!==0||!1);for(p=p.child;p!==null;){var Q=h,re=p,Ee=x,Ve=j,it=re.flags;switch(re.tag){case 0:case 11:case 15:yc(Q,re,Ee,Ve,V),Pf(8,re);break;case 23:break;case 22:var bt=re.stateNode;re.memoizedState!==null?bt._visibility&2?yc(Q,re,Ee,Ve,V):Hf(Q,re):(bt._visibility|=2,yc(Q,re,Ee,Ve,V)),V&&it&2048&&yp(re.alternate,re);break;case 24:yc(Q,re,Ee,Ve,V),V&&it&2048&&vp(re.alternate,re);break;default:yc(Q,re,Ee,Ve,V)}p=p.sibling}}function Hf(h,p){if(p.subtreeFlags&10256)for(p=p.child;p!==null;){var x=h,j=p,V=j.flags;switch(j.tag){case 22:Hf(x,j),V&2048&&yp(j.alternate,j);break;case 24:Hf(x,j),V&2048&&vp(j.alternate,j);break;default:Hf(x,j)}p=p.sibling}}function ql(h,p,x){if(h.subtreeFlags&Nc)for(h=h.child;h!==null;)ty(h,p,x),h=h.sibling}function ty(h,p,x){switch(h.tag){case 26:if(ql(h,p,x),h.flags&Nc)if(h.memoizedState!==null)SA(x,na,h.memoizedState,h.memoizedProps);else{var j=h.stateNode,V=h.type;h=h.memoizedProps,((p&335544128)===p||Up(V,h))&&zy(x,j,V,h)}break;case 5:ql(h,p,x),h.flags&Nc&&(j=h.stateNode,V=h.type,h=h.memoizedProps,((p&335544128)===p||Up(V,h))&&zy(x,j,V,h));break;case 3:case 4:ta?(j=na,na=$p(h.stateNode.containerInfo),ql(h,p,x),na=j):ql(h,p,x);break;case 22:h.memoizedState===null&&(j=h.alternate,j!==null&&j.memoizedState!==null?(j=Nc,Nc=16777216,ql(h,p,x),Nc=j):ql(h,p,x));break;default:ql(h,p,x)}}function ny(h){var p=h.alternate;if(p!==null&&(h=p.child,h!==null)){p.child=null;do p=h.sibling,h.sibling=null,h=p;while(h!==null)}}function Uf(h){var p=h.deletions;if((h.flags&16)!==0){if(p!==null)for(var x=0;x<p.length;x++){var j=p[x];di=j,iy(j,h)}ny(h)}if(h.subtreeFlags&10256)for(h=h.child;h!==null;)sy(h),h=h.sibling}function sy(h){switch(h.tag){case 0:case 11:case 15:Uf(h),h.flags&2048&&Vo(9,h,h.return);break;case 3:Uf(h);break;case 12:Uf(h);break;case 22:var p=h.stateNode;h.memoizedState!==null&&p._visibility&2&&(h.return===null||h.return.tag!==13)?(p._visibility&=-3,Hu(h)):Uf(h);break;default:Uf(h)}}function Hu(h){var p=h.deletions;if((h.flags&16)!==0){if(p!==null)for(var x=0;x<p.length;x++){var j=p[x];di=j,iy(j,h)}ny(h)}for(h=h.child;h!==null;){switch(p=h,p.tag){case 0:case 11:case 15:Vo(8,p,p.return),Hu(p);break;case 22:x=p.stateNode,x._visibility&2&&(x._visibility&=-3,Hu(p));break;default:Hu(p)}h=h.sibling}}function iy(h,p){for(;di!==null;){var x=di;switch(x.tag){case 0:case 11:case 15:Vo(8,x,p);break;case 23:case 22:if(x.memoizedState!==null&&x.memoizedState.cachePool!==null){var j=x.memoizedState.cachePool.pool;j!=null&&j.refCount++}break;case 24:ot(x.memoizedState.cache)}if(j=x.child,j!==null)j.return=x,di=j;else e:for(x=h;di!==null;){j=di;var V=j.sibling,Q=j.return;if(Kw(j),j===x){di=null;break e}if(V!==null){V.return=Q,di=V;break e}di=Q}}}function kp(h){var p=nx(h);if(p!=null){if(typeof p.memoizedProps["data-testname"]!=="string")throw Error(i(364));return p}if(h=px(h),h===null)throw Error(i(362));return h.stateNode.current}function xp(h,p){var x=h.tag;switch(p.$$typeof){case ud:if(h.type===p.value)return!0;break;case dd:e:{p=p.value,h=[h,0];for(x=0;x<h.length;){var j=h[x++],V=j.tag,Q=h[x++],re=p[Q];if(V!==5&&V!==26&&V!==27||!$f(j)){for(;re!=null&&xp(j,re);)Q++,re=p[Q];if(Q===p.length){p=!0;break e}else for(j=j.child;j!==null;)h.push(j,Q),j=j.sibling}}p=!1}return p;case md:if((x===5||x===26||x===27)&&wx(h.stateNode,p.value))return!0;break;case bd:if(x===5||x===6||x===26||x===27){if(h=bx(h),h!==null&&0<=h.indexOf(p.value))return!0}break;case pd:if(x===5||x===26||x===27){if(h=h.memoizedProps["data-testname"],typeof h==="string"&&h.toLowerCase()===p.value.toLowerCase())return!0}break;default:throw Error(i(365))}return!1}function Ap(h){switch(h.$$typeof){case ud:return"<"+(b(h.value)||"Unknown")+">";case dd:return":has("+(Ap(h)||"")+")";case md:return'[role="'+h.value+'"]';case bd:return'"'+h.value+'"';case pd:return'[data-testname="'+h.value+'"]';default:throw Error(i(365))}}function ry(h,p){var x=[];h=[h,0];for(var j=0;j<h.length;){var V=h[j++],Q=V.tag,re=h[j++],Ee=p[re];if(Q!==5&&Q!==26&&Q!==27||!$f(V)){for(;Ee!=null&&xp(V,Ee);)re++,Ee=p[re];if(re===p.length)x.push(V);else for(V=V.child;V!==null;)h.push(V,re),V=V.sibling}}return x}function Ep(h,p){if(!Vf)throw Error(i(363));h=kp(h),h=ry(h,p),p=[],h=Array.from(h);for(var x=0;x<h.length;){var j=h[x++],V=j.tag;if(V===5||V===26||V===27)$f(j)||p.push(j.stateNode);else for(j=j.child;j!==null;)h.push(j),j=j.sibling}return p}function lr(){return(vn&2)!==0&&xn!==0?xn&-xn:Ut.T!==null?Oo():ix()}function ay(){if(mr===0)if((xn&536870912)===0||Tn){var h=Yu;Yu<<=1,(Yu&3932160)===0&&(Yu=262144),mr=h}else mr=536870912;return h=ur.current,h!==null&&(h.flags|=32),mr}function Vi(h,p,x){if(h===fs&&(Vn===2||Vn===9)||h.cancelPendingCommit!==null)vc(h,0),$o(h,xn,mr,!1);if(J(h,x),(vn&2)===0||h!==fs)h===fs&&((vn&2)===0&&(Gl|=x),Vs===4&&$o(h,xn,mr,!1)),Bt(h)}function ly(h,p,x){if((vn&6)!==0)throw Error(i(327));var j=!x&&(p&127)===0&&(p&h.expiredLanes)===0||D(h,p),V=j?Lk(h,p):jp(h,p,!0),Q=j;do{if(V===0){Bc&&!j&&$o(h,p,0,!1);break}else{if(x=h.current.alternate,Q&&!Mk(x)){V=jp(h,p,!1),Q=!1;continue}if(V===2){if(Q=p,h.errorRecoveryDisabledLanes&Q)var re=0;else re=h.pendingLanes&-536870913,re=re!==0?re:re&536870912?536870912:0;if(re!==0){p=re;e:{var Ee=h;V=sh;var Ve=Ri&&Ee.current.memoizedState.isDehydrated;if(Ve&&(vc(Ee,re).flags|=256),re=jp(Ee,re,!1),re!==2){if(fg&&!Ve){Ee.errorRecoveryDisabledLanes|=Q,Gl|=Q,V=4;break e}Q=Ki,Ki=V,Q!==null&&(Ki===null?Ki=Q:Ki.push.apply(Ki,Q))}V=re}if(Q=!1,V!==2)continue}}if(V===1){vc(h,0),$o(h,p,0,!0);break}e:{switch(j=h,Q=V,Q){case 0:case 1:throw Error(i(345));case 4:if((p&4194048)!==p)break;case 6:$o(j,p,mr,!Zo);break e;case 2:Ki=null;break;case 3:case 5:break;default:throw Error(i(329))}if((p&62914560)===p&&(V=wd+300-$i(),10<V)){if($o(j,p,mr,!Zo),R(j,0,!0)!==0)break e;wo=p,j.timeoutHandle=ex(cy.bind(null,j,x,Ki,vd,dg,p,mr,Gl,Uc,Zo,Q,"Throttled",-0,0),V);break e}cy(j,x,Ki,vd,dg,p,mr,Gl,Uc,Zo,Q,null,-0,0)}}break}while(1);Bt(h)}function cy(h,p,x,j,V,Q,re,Ee,Ve,it,bt,lt,Rt,hn){if(h.timeoutHandle=Fl,lt=p.subtreeFlags,lt&8192||(lt&16785408)===16785408){lt=cx(),ty(p,Q,lt);var ki=(Q&62914560)===Q?wd-$i():(Q&4194048)===Q?b5-$i():0;if(ki=fx(lt,ki),ki!==null){wo=Q,h.cancelPendingCommit=ki(wy.bind(null,h,p,Q,x,j,V,re,Ee,Ve,bt,lt,null,Rt,hn)),$o(h,Q,re,!it);return}}wy(h,p,Q,x,j,V,re,Ee,Ve)}function Mk(h){for(var p=h;;){var x=p.tag;if((x===0||x===11||x===15)&&p.flags&16384&&(x=p.updateQueue,x!==null&&(x=x.stores,x!==null)))for(var j=0;j<x.length;j++){var V=x[j],Q=V.getSnapshot;V=V.value;try{if(!hr(Q(),V))return!1}catch(re){return!1}}if(x=p.child,p.subtreeFlags&16384&&x!==null)x.return=p,p=x;else{if(p===h)break;for(;p.sibling===null;){if(p.return===null||p.return===h)return!0;p=p.return}p.sibling.return=p.return,p=p.sibling}}return!0}function $o(h,p,x,j){p&=~ug,p&=~Gl,h.suspendedLanes|=p,h.pingedLanes&=~p,j&&(h.warmLanes|=p),j=h.expirationTimes;for(var V=p;0<V;){var Q=31-cr(V),re=1<<Q;j[Q]=-1,V&=~re}x!==0&&te(h,x,p)}function fy(){return(vn&6)===0?(Mn(0,!1),!1):!0}function Cp(){if(Sn!==null){if(Vn===0)var h=Sn.return;else h=Sn,mo=Ol=null,Um(h),Mc=null,Zf=0,h=Sn;for(;h!==null;)Hw(h.alternate,h),h=h.return;Sn=null}}function vc(h,p){var x=h.timeoutHandle;x!==Fl&&(h.timeoutHandle=Fl,tx(x)),x=h.cancelPendingCommit,x!==null&&(h.cancelPendingCommit=null,x()),wo=0,Cp(),fs=h,Sn=x=co(h.current,null),xn=p,Vn=0,dr=null,Zo=!1,Bc=D(h,p),fg=!1,Uc=mr=ug=Gl=el=Vs=0,Ki=sh=null,dg=!1,(p&8)!==0&&(p|=p&32);var j=h.entangledLanes;if(j!==0)for(h=h.entanglements,j&=p;0<j;){var V=31-cr(j),Q=1<<V;p|=h[V],j&=~Q}return bo=p,Wr(),x}function hy(h,p){mn=null,Ut.H=th,p===qc||p===ad?(p=Ho(),Vn=3):p===ng?(p=Ho(),Vn=4):Vn=p===og?8:p!==null&&typeof p==="object"&&typeof p.then==="function"?6:1,dr=p,Sn===null&&(Vs=1,qu(h,we(p,h.current)))}function uy(){var h=ur.current;return h===null?!0:(xn&4194048)===xn?Rr===null?!0:!1:(xn&62914560)===xn||(xn&536870912)!==0?h===Rr:!1}function dy(){var h=Ut.H;return Ut.H=th,h===null?th:h}function my(){var h=Ut.A;return Ut.A=LA,h}function Uu(){Vs=4,Zo||(xn&4194048)!==xn&&ur.current!==null||(Bc=!0),(el&134217727)===0&&(Gl&134217727)===0||fs===null||$o(fs,xn,mr,!1)}function jp(h,p,x){var j=vn;vn|=2;var V=dy(),Q=my();if(fs!==h||xn!==p)vd=null,vc(h,p);p=!1;var re=Vs;e:do try{if(Vn!==0&&Sn!==null){var Ee=Sn,Ve=dr;switch(Vn){case 8:Cp(),re=6;break e;case 3:case 2:case 9:case 6:ur.current===null&&(p=!0);var it=Vn;if(Vn=0,dr=null,Sc(h,Ee,Ve,it),x&&Bc){re=0;break e}break;default:it=Vn,Vn=0,dr=null,Sc(h,Ee,Ve,it)}}Fk(),re=Vs;break}catch(bt){hy(h,bt)}while(1);return p&&h.shellSuspendCounter++,mo=Ol=null,vn=j,Ut.H=V,Ut.A=Q,Sn===null&&(fs=null,xn=0,Wr()),re}function Fk(){for(;Sn!==null;)py(Sn)}function Lk(h,p){var x=vn;vn|=2;var j=dy(),V=my();fs!==h||xn!==p?(vd=null,ih=$i()+500,vc(h,p)):Bc=D(h,p);e:do try{if(Vn!==0&&Sn!==null){p=Sn;var Q=dr;t:switch(Vn){case 1:Vn=0,dr=null,Sc(h,p,Q,1);break;case 2:case 9:if(Sa(Q)){Vn=0,dr=null,gy(p);break}p=function(){Vn!==2&&Vn!==9||fs!==h||(Vn=7),Bt(h)},Q.then(p,p);break e;case 3:Vn=7;break e;case 4:Vn=5;break e;case 7:Sa(Q)?(Vn=0,dr=null,gy(p)):(Vn=0,dr=null,Sc(h,p,Q,7));break;case 5:var re=null;switch(Sn.tag){case 26:re=Sn.memoizedState;case 5:case 27:var Ee=Sn,{type:Ve,pendingProps:it}=Ee;if(re?i5(re):Uy(Ee.stateNode,Ve,it)){Vn=0,dr=null;var bt=Ee.sibling;if(bt!==null)Sn=bt;else{var lt=Ee.return;lt!==null?(Sn=lt,zu(lt)):Sn=null}break t}}Vn=0,dr=null,Sc(h,p,Q,5);break;case 6:Vn=0,dr=null,Sc(h,p,Q,6);break;case 8:Cp(),Vs=6;break e;default:throw Error(i(462))}}Ok();break}catch(Rt){hy(h,Rt)}while(1);if(mo=Ol=null,Ut.H=j,Ut.A=V,vn=x,Sn!==null)return 0;return fs=null,xn=0,Wr(),Vs}function Ok(){for(;Sn!==null&&!TA();)py(Sn)}function py(h){var p=Lw(h.alternate,h,bo);h.memoizedProps=h.pendingProps,p===null?zu(h):Sn=p}function gy(h){var p=h,x=p.alternate;switch(p.tag){case 15:case 0:p=Iw(x,p,p.pendingProps,p.type,void 0,xn);break;case 11:p=Iw(x,p,p.pendingProps,p.type.render,p.ref,xn);break;case 5:Um(p);default:Hw(x,p),p=Sn=Ey(p,bo),p=Lw(x,p,bo)}h.memoizedProps=h.pendingProps,p===null?zu(h):Sn=p}function Sc(h,p,x,j){mo=Ol=null,Um(p),Mc=null,Zf=0;var V=p.return;try{if(Ck(h,V,p,x,xn)){Vs=1,qu(h,we(x,h.current)),Sn=null;return}}catch(Q){if(V!==null)throw Sn=V,Q;Vs=1,qu(h,we(x,h.current)),Sn=null;return}if(p.flags&32768){if(Tn||j===1)h=!0;else if(Bc||(xn&536870912)!==0)h=!1;else if(Zo=h=!0,j===2||j===9||j===3||j===6)j=ur.current,j!==null&&j.tag===13&&(j.flags|=16384);by(p,h)}else zu(p)}function zu(h){var p=h;do{if((p.flags&32768)!==0){by(p,Zo);return}h=p.return;var x=Ik(p.alternate,p,bo);if(x!==null){Sn=x;return}if(p=p.sibling,p!==null){Sn=p;return}Sn=p=h}while(p!==null);Vs===0&&(Vs=5)}function by(h,p){do{var x=Rk(h.alternate,h);if(x!==null){x.flags&=32767,Sn=x;return}if(x=h.return,x!==null&&(x.flags|=32768,x.subtreeFlags=0,x.deletions=null),!p&&(h=h.sibling,h!==null)){Sn=h;return}Sn=h=x}while(h!==null);Vs=6,Sn=null}function wy(h,p,x,j,V,Q,re,Ee,Ve){h.cancelPendingCommit=null;do zf();while(ci!==0);if((vn&6)!==0)throw Error(i(327));if(p!==null){if(p===h.current)throw Error(i(177));if(Q=p.lanes|p.childLanes,Q|=sg,ee(h,x,Q,re,Ee,Ve),h===fs&&(Sn=fs=null,xn=0),zc=p,nl=h,wo=x,pg=Q,gg=V,w5=j,(p.subtreeFlags&10256)!==0||(p.flags&10256)!==0?(h.callbackNode=null,h.callbackPriority=0,Hk(Kp,function(){return xy(),null})):(h.callbackNode=null,h.callbackPriority=0),j=(p.flags&13878)!==0,(p.subtreeFlags&13878)!==0||j){j=Ut.T,Ut.T=null,V=uo(),ui(2),re=vn,vn|=4;try{Dk(h,p,x)}finally{vn=re,ui(V),Ut.T=j}}ci=1,yy(),vy(),Sy()}}function yy(){if(ci===1){ci=0;var h=nl,p=zc,x=(p.flags&13878)!==0;if((p.subtreeFlags&13878)!==0||x){x=Ut.T,Ut.T=null;var j=uo();ui(2);var V=vn;vn|=4;try{Jw(p,h),Jk(h.containerInfo)}finally{vn=V,ui(j),Ut.T=x}}h.current=p,ci=2}}function vy(){if(ci===2){ci=0;var h=nl,p=zc,x=(p.flags&8772)!==0;if((p.subtreeFlags&8772)!==0||x){x=Ut.T,Ut.T=null;var j=uo();ui(2);var V=vn;vn|=4;try{Ww(h,p.alternate,p)}finally{vn=V,ui(j),Ut.T=x}}ci=3}}function Sy(){if(ci===4||ci===3){ci=0,EA();var h=nl,p=zc,x=wo,j=w5;(p.subtreeFlags&10256)!==0||(p.flags&10256)!==0?ci=5:(ci=0,zc=nl=null,ky(h,h.pendingLanes));var V=h.pendingLanes;if(V===0&&(tl=null),ae(x),p=p.stateNode,fr&&typeof fr.onCommitFiberRoot==="function")try{fr.onCommitFiberRoot(Xf,p,void 0,(p.current.flags&128)===128)}catch(Ve){}if(j!==null){p=Ut.T,V=uo(),ui(2),Ut.T=null;try{for(var Q=h.onRecoverableError,re=0;re<j.length;re++){var Ee=j[re];Q(Ee.value,{componentStack:Ee.stack})}}finally{Ut.T=p,ui(V)}}(wo&3)!==0&&zf(),Bt(h),V=h.pendingLanes,(x&261930)!==0&&(V&42)!==0?h===bg?rh++:(rh=0,bg=h):rh=0,Ri&&cA(),Mn(0,!1)}}function ky(h,p){(h.pooledCacheLanes&=p)===0&&(p=h.pooledCache,p!=null&&(h.pooledCache=null,ot(p)))}function zf(){return yy(),vy(),Sy(),xy()}function xy(){if(ci!==5)return!1;var h=nl,p=pg;pg=0;var x=ae(wo),j=32>x?32:x;x=Ut.T;var V=uo();try{ui(j),Ut.T=null,j=gg,gg=null;var Q=nl,re=wo;if(ci=0,zc=nl=null,wo=0,(vn&6)!==0)throw Error(i(331));var Ee=vn;if(vn|=4,sy(Q.current),ey(Q,Q.current,re,j),vn=Ee,Mn(0,!1),fr&&typeof fr.onPostCommitFiberRoot==="function")try{fr.onPostCommitFiberRoot(Xf,Q)}catch(Ve){}return!0}finally{ui(V),Ut.T=x,ky(h,p)}}function Ay(h,p,x){p=we(x,p),p=sp(h.stateNode,p,2),h=zn(h,p,2),h!==null&&(J(h,2),Bt(h))}function Fn(h,p,x){if(h.tag===3)Ay(h,h,x);else for(;p!==null;){if(p.tag===3){Ay(p,h,x);break}else if(p.tag===1){var j=p.stateNode;if(typeof p.type.getDerivedStateFromError==="function"||typeof j.componentDidCatch==="function"&&(tl===null||!tl.has(j))){h=we(x,h),x=kw(2),j=zn(p,x,2),j!==null&&(xw(x,j,p,h),J(j,2),Bt(j));break}}p=p.return}}function _p(h,p,x){var j=h.pingCache;if(j===null){j=h.pingCache=new OA;var V=new Set;j.set(p,V)}else V=j.get(p),V===void 0&&(V=new Set,j.set(p,V));V.has(x)||(fg=!0,V.add(x),h=Pk.bind(null,h,p,x),p.then(h,h))}function Pk(h,p,x){var j=h.pingCache;j!==null&&j.delete(p),h.pingedLanes|=h.suspendedLanes&x,h.warmLanes&=~x,fs===h&&(xn&x)===x&&(Vs===4||Vs===3&&(xn&62914560)===xn&&300>$i()-wd?(vn&2)===0&&vc(h,0):ug|=x,Uc===xn&&(Uc=0)),Bt(h)}function Ty(h,p){p===0&&(p=Y()),h=_t(h,p),h!==null&&(J(h,p),Bt(h))}function Nk(h){var p=h.memoizedState,x=0;p!==null&&(x=p.retryLane),Ty(h,x)}function Bk(h,p){var x=0;switch(h.tag){case 31:case 13:var{stateNode:j,memoizedState:V}=h;V!==null&&(x=V.retryLane);break;case 19:j=h.stateNode;break;case 22:j=h.stateNode._retryCache;break;default:throw Error(i(314))}j!==null&&j.delete(p),Ty(h,x)}function Hk(h,p){return Ju(h,p)}function Uk(h,p,x,j){this.tag=h,this.key=x,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=p,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=j,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ip(h){return h=h.prototype,!(!h||!h.isReactComponent)}function co(h,p){var x=h.alternate;return x===null?(x=n(h.tag,p,h.key,h.mode),x.elementType=h.elementType,x.type=h.type,x.stateNode=h.stateNode,x.alternate=h,h.alternate=x):(x.pendingProps=p,x.type=h.type,x.flags=0,x.subtreeFlags=0,x.deletions=null),x.flags=h.flags&65011712,x.childLanes=h.childLanes,x.lanes=h.lanes,x.child=h.child,x.memoizedProps=h.memoizedProps,x.memoizedState=h.memoizedState,x.updateQueue=h.updateQueue,p=h.dependencies,x.dependencies=p===null?null:{lanes:p.lanes,firstContext:p.firstContext},x.sibling=h.sibling,x.index=h.index,x.ref=h.ref,x.refCleanup=h.refCleanup,x}function Ey(h,p){h.flags&=65011714;var x=h.alternate;return x===null?(h.childLanes=0,h.lanes=p,h.child=null,h.subtreeFlags=0,h.memoizedProps=null,h.memoizedState=null,h.updateQueue=null,h.dependencies=null,h.stateNode=null):(h.childLanes=x.childLanes,h.lanes=x.lanes,h.child=x.child,h.subtreeFlags=0,h.deletions=null,h.memoizedProps=x.memoizedProps,h.memoizedState=x.memoizedState,h.updateQueue=x.updateQueue,h.type=x.type,p=x.dependencies,h.dependencies=p===null?null:{lanes:p.lanes,firstContext:p.firstContext}),h}function Vu(h,p,x,j,V,Q){var re=0;if(j=h,typeof h==="function")Ip(h)&&(re=1);else if(typeof h==="string")re=ta&&li?Jy(h,x,vi.current)?26:o5(h)?27:5:ta?Jy(h,x,vi.current)?26:5:li?o5(h)?27:5:5;else e:switch(h){case Bp:return h=n(31,x,p,V),h.elementType=Bp,h.lanes=Q,h;case xc:return Ml(x.children,V,Q,p);case Fy:re=8,V|=24;break;case Fp:return h=n(12,x,p,V|2),h.elementType=Fp,h.lanes=Q,h;case Op:return h=n(13,x,p,V),h.elementType=Op,h.lanes=Q,h;case Pp:return h=n(19,x,p,V),h.elementType=Pp,h.lanes=Q,h;default:if(typeof h==="object"&&h!==null)switch(h.$$typeof){case Xo:re=10;break e;case Ly:re=9;break e;case Lp:re=11;break e;case Np:re=14;break e;case Wo:re=16,j=null;break e}re=29,x=Error(i(130,h===null?"null":typeof h,"")),j=null}return p=n(re,x,p,V),p.elementType=h,p.type=j,p.lanes=Q,p}function Ml(h,p,x,j){return h=n(7,h,j,p),h.lanes=x,h}function Rp(h,p,x){return h=n(6,h,null,p),h.lanes=x,h}function Cy(h){var p=n(18,null,null,0);return p.stateNode=h,p}function Dp(h,p,x){return p=n(4,h.children!==null?h.children:[],h.key,p),p.lanes=x,p.stateNode={containerInfo:h.containerInfo,pendingChildren:null,implementation:h.implementation},p}function zk(h,p,x,j,V,Q,re,Ee,Ve){this.tag=1,this.containerInfo=h,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=Fl,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=X(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=X(0),this.hiddenUpdates=X(null),this.identifierPrefix=j,this.onUncaughtError=V,this.onCaughtError=Q,this.onRecoverableError=re,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=Ve,this.incompleteTransitions=new Map}function jy(h,p,x,j,V,Q,re,Ee,Ve,it,bt,lt){return h=new zk(h,p,x,re,Ve,it,bt,lt,Ee),p=1,Q===!0&&(p|=24),Q=n(3,null,null,p),h.current=Q,Q.stateNode=h,p=Tt(),p.refCount++,h.pooledCache=p,p.refCount++,Q.memoizedState={element:j,isDehydrated:x,cache:p},bn(Q),h}function _y(h){if(!h)return Cc;return h=Cc,h}function Iy(h){var p=h._reactInternals;if(p===void 0){if(typeof h.render==="function")throw Error(i(188));throw h=Object.keys(h).join(","),Error(i(268,h))}return h=l(p),h=h!==null?c(h):null,h===null?null:Gf(h.stateNode)}function Ry(h,p,x,j,V,Q){V=_y(V),j.context===null?j.context=V:j.pendingContext=V,j=Nn(p),j.payload={element:x},Q=Q===void 0?null:Q,Q!==null&&(j.callback=Q),x=zn(h,j,p),x!==null&&(Vi(x,h,p),Qn(x,h,p))}function qy(h,p){if(h=h.memoizedState,h!==null&&h.dehydrated!==null){var x=h.retryLane;h.retryLane=x!==0&&x<p?x:p}}function qp(h,p){qy(h,p),(h=h.alternate)&&qy(h,p)}var yn={},Mp=Object.assign,Gk=Symbol.for("react.element"),$u=Symbol.for("react.transitional.element"),kc=Symbol.for("react.portal"),xc=Symbol.for("react.fragment"),Fy=Symbol.for("react.strict_mode"),Fp=Symbol.for("react.profiler"),Ly=Symbol.for("react.consumer"),Xo=Symbol.for("react.context"),Lp=Symbol.for("react.forward_ref"),Op=Symbol.for("react.suspense"),Pp=Symbol.for("react.suspense_list"),Np=Symbol.for("react.memo"),Wo=Symbol.for("react.lazy"),Bp=Symbol.for("react.activity"),Vk=Symbol.for("react.memo_cache_sentinel"),Oy=Symbol.iterator,$k=Symbol.for("react.client.reference"),Xu=Array.isArray,Ut=Yi,{rendererVersion:Xk,rendererPackageName:Wk,extraDevToolsConfig:Py,getPublicInstance:Gf,getRootHostContext:Kk,getChildHostContext:Yk,prepareForCommit:Qk,resetAfterCommit:Jk,createInstance:Zk}=e;e.cloneMutableInstance;var{appendInitialChild:Hp,finalizeInitialChildren:By,shouldSetTextContent:Wu,createTextInstance:Hy}=e;e.cloneMutableTextInstance;var{scheduleTimeout:ex,cancelTimeout:tx,noTimeout:Fl,isPrimaryRenderer:ho}=e;e.warnsIfNotActing;var{supportsMutation:Ii,supportsPersistence:xa,supportsHydration:Ri,getInstanceFromNode:nx}=e;e.beforeActiveInstanceBlur;var sx=e.preparePortalMount;e.prepareScopeUpdate,e.getInstanceFromScope;var{setCurrentUpdatePriority:ui,getCurrentUpdatePriority:uo,resolveUpdatePriority:ix}=e;e.trackSchedulerEvent,e.resolveEventType,e.resolveEventTimeStamp;var{shouldAttemptEagerTransition:rx,detachDeletedInstance:ax}=e;e.requestPostPaintCallback;var{maySuspendCommit:ox,maySuspendCommitOnUpdate:lx,maySuspendCommitInSyncRender:Up,preloadInstance:Uy,startSuspendingCommit:cx,suspendInstance:zy}=e;e.suspendOnActiveViewTransition;var fx=e.waitForCommitToBeReady;e.getSuspendedCommitReason;var{NotPendingTransition:Ac,HostTransitionContext:Ll,resetFormInstance:ux}=e;e.bindToConsole;var{supportsMicrotasks:dx,scheduleMicrotask:mx,supportsTestSelectors:Vf,findFiberRoot:px,getBoundingRect:gx,getTextContent:bx,isHiddenSubtree:$f,matchAccessibilityRole:wx,setFocusIfFocusable:yx,setupIntersectionObserver:vx,appendChild:Sx,appendChildToContainer:kx,commitTextUpdate:xx,commitMount:Ax,commitUpdate:Tx,insertBefore:Ex,insertInContainerBefore:Cx,removeChild:jx,removeChildFromContainer:_x,resetTextContent:Gy,hideInstance:Ix,hideTextInstance:Rx,unhideInstance:Dx,unhideTextInstance:qx}=e;e.cancelViewTransitionName,e.cancelRootViewTransitionName,e.restoreRootViewTransitionName,e.cloneRootViewTransitionContainer,e.removeRootViewTransitionClone,e.measureClonedInstance,e.hasInstanceChanged,e.hasInstanceAffectedParent,e.startViewTransition,e.startGestureTransition,e.stopViewTransition,e.getCurrentGestureOffset,e.createViewTransitionInstance;var Mx=e.clearContainer;e.createFragmentInstance,e.updateFragmentInstanceFiber,e.commitNewChildToFragmentInstance,e.deleteChildFromFragmentInstance;var{cloneInstance:Fx,createContainerChildSet:Vy,appendChildToContainerChildSet:$y,finalizeContainerChildren:Lx,replaceContainerChildren:Xy,cloneHiddenInstance:Wy,cloneHiddenTextInstance:Ky,isSuspenseInstancePending:zp,isSuspenseInstanceFallback:Vp,getSuspenseInstanceFallbackErrorDetails:Ox,registerSuspenseInstanceRetry:Px,canHydrateFormStateMarker:Nx,isFormStateMarkerMatching:Bx,getNextHydratableSibling:Yy,getNextHydratableSiblingAfterSingleton:Hx,getFirstHydratableChild:Ux,getFirstHydratableChildWithinContainer:zx,getFirstHydratableChildWithinActivityInstance:Gx,getFirstHydratableChildWithinSuspenseInstance:Vx,getFirstHydratableChildWithinSingleton:$x,canHydrateInstance:Xx,canHydrateTextInstance:Kx,canHydrateActivityInstance:Yx,canHydrateSuspenseInstance:Qx,hydrateInstance:Jx,hydrateTextInstance:Zx,hydrateActivityInstance:eA,hydrateSuspenseInstance:tA,getNextHydratableInstanceAfterActivityInstance:nA,getNextHydratableInstanceAfterSuspenseInstance:sA,commitHydratedInstance:iA,commitHydratedContainer:rA,commitHydratedActivityInstance:aA,commitHydratedSuspenseInstance:oA,finalizeHydratedChildren:lA,flushHydrationEvents:cA}=e;e.clearActivityBoundary;var fA=e.clearSuspenseBoundary;e.clearActivityBoundaryFromContainer;var{clearSuspenseBoundaryFromContainer:uA,hideDehydratedBoundary:dA,unhideDehydratedBoundary:mA,shouldDeleteUnhydratedTailInstances:Qy}=e;e.diffHydratedPropsForDevWarnings,e.diffHydratedTextForDevWarnings,e.describeHydratableInstanceForDevWarnings;var{validateHydratableInstance:pA,validateHydratableTextInstance:gA,supportsResources:ta,isHostHoistableType:Jy,getHoistableRoot:$p,getResource:Zy,acquireResource:e5,releaseResource:t5,hydrateHoistable:bA,mountHoistable:n5,unmountHoistable:s5,createHoistableInstance:wA,prepareToCommitHoistables:yA,mayResourceSuspendCommit:vA,preloadResource:i5,suspendResource:SA,supportsSingletons:li,resolveSingletonInstance:r5,acquireSingletonInstance:kA,releaseSingletonInstance:a5,isHostSingletonType:o5,isSingletonScope:Tc}=e,Xp=[],Ec=-1,Cc={},cr=Math.clz32?Math.clz32:A,{log:xA,LN2:AA}=Math,Ku=256,Yu=262144,Qu=4194304,Ju=zs,Wp=bl,TA=wl,EA=vl,$i=no,l5=_l,CA=yl,Kp=Us,jA=Xi,_A=void 0,IA=void 0,Xf=null,fr=null,hr=typeof Object.is==="function"?Object.is:ye,c5=typeof reportError==="function"?reportError:function(h){if(typeof window==="object"&&typeof window.ErrorEvent==="function"){var p=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof h==="object"&&h!==null&&typeof h.message==="string"?String(h.message):String(h),error:h});if(!window.dispatchEvent(p))return}else if(typeof process==="object"&&typeof process.emit==="function"){process.emit("uncaughtException",h);return}console.error(h)},RA=Object.prototype.hasOwnProperty,Yp,f5,Qp=!1,h5=new WeakMap,jc=[],_c=0,Zu=null,Kf=0,Tr=[],Er=0,Ko=null,Aa=1,Ta="",vi=y(null),Yf=y(null),Yo=y(null),nd=y(null),Si=null,Fs=null,Tn=!1,Qo=null,Cr=!1,Jp=Error(i(519)),sd=y(null),Ol=null,mo=null,DA=typeof AbortController<"u"?AbortController:function(){var h=[],p=this.signal={aborted:!1,addEventListener:function(x,j){h.push(j)}};this.abort=function(){p.aborted=!0,h.forEach(function(x){return x()})}},qA=zs,MA=Us,Ls={$$typeof:Xo,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0},id=null,Ic=null,Zp=!1,rd=!1,eg=!1,Pl=0,Qf=null,tg=0,Rc=0,Dc=null,u5=Ut.S;Ut.S=function(h,p){b5=$i(),typeof p==="object"&&p!==null&&typeof p.then==="function"&&jl(h,p),u5!==null&&u5(h,p)};var Nl=y(null),qc=Error(i(460)),ng=Error(i(474)),ad=Error(i(542)),od={then:function(){}},Bl=null,Mc=null,Zf=0,Hl=oi(!0),d5=oi(!1),jr=[],Fc=0,sg=0,Jo=!1,ig=!1,Lc=y(null),ld=y(0),ur=y(null),Rr=null,Qs=y(0),po=0,mn=null,Zn=null,ei=null,cd=!1,Oc=!1,zl=!1,hd=0,eh=0,Pc=null,FA=0,th={readContext:Yt,use:ju,useCallback:Gs,useContext:Gs,useEffect:Gs,useImperativeHandle:Gs,useLayoutEffect:Gs,useInsertionEffect:Gs,useMemo:Gs,useReducer:Gs,useRef:Gs,useState:Gs,useDebugValue:Gs,useDeferredValue:Gs,useTransition:Gs,useSyncExternalStore:Gs,useId:Gs,useHostTransitionStatus:Gs,useFormState:Gs,useActionState:Gs,useOptimistic:Gs,useMemoCache:Gs,useCacheRefresh:Gs};th.useEffectEvent=Gs;var m5={readContext:Yt,use:ju,useCallback:function(h,p){return Bi().memoizedState=[h,p===void 0?null:p],h},useContext:Yt,useEffect:tw,useImperativeHandle:function(h,p,x){x=x!==null&&x!==void 0?x.concat([h]):null,Iu(4194308,4,aw.bind(null,p,h),x)},useLayoutEffect:function(h,p){return Iu(4194308,4,h,p)},useInsertionEffect:function(h,p){Iu(4,2,h,p)},useMemo:function(h,p){var x=Bi();p=p===void 0?null:p;var j=h();if(zl){be(!0);try{h()}finally{be(!1)}}return x.memoizedState=[j,p],j},useReducer:function(h,p,x){var j=Bi();if(x!==void 0){var V=x(p);if(zl){be(!0);try{x(p)}finally{be(!1)}}}else V=p;return j.memoizedState=j.baseState=V,h={pending:null,lanes:0,dispatch:null,lastRenderedReducer:h,lastRenderedState:V},j.queue=h,h=h.dispatch=Ek.bind(null,mn,h),[j.memoizedState,h]},useRef:function(h){var p=Bi();return h={current:h},p.memoizedState=h},useState:function(h){h=$m(h);var p=h.queue,x=gw.bind(null,mn,p);return p.dispatch=x,[h.memoizedState,x]},useDebugValue:Km,useDeferredValue:function(h,p){var x=Bi();return Ym(x,h,p)},useTransition:function(){var h=$m(!1);return h=uw.bind(null,mn,h.queue,!0,!1),Bi().memoizedState=h,[!1,h]},useSyncExternalStore:function(h,p,x){var j=mn,V=Bi();if(Tn){if(x===void 0)throw Error(i(407));x=x()}else{if(x=p(),fs===null)throw Error(i(349));(xn&127)!==0||N2(j,p,x)}V.memoizedState=x;var Q={value:x,getSnapshot:p};return V.queue=Q,tw(H2.bind(null,j,Q,h),[h]),j.flags|=2048,wc(9,{destroy:void 0},B2.bind(null,j,Q,x,p),null),x},useId:function(){var h=Bi(),p=fs.identifierPrefix;if(Tn){var x=Ta,j=Aa;x=(j&~(1<<32-cr(j)-1)).toString(32)+x,p="_"+p+"R_"+x,x=hd++,0<x&&(p+="H"+x.toString(32)),p+="_"}else x=FA++,p="_"+p+"r_"+x.toString(32)+"_";return h.memoizedState=p},useHostTransitionStatus:Qm,useFormState:Y2,useActionState:Y2,useOptimistic:function(h){var p=Bi();p.memoizedState=p.baseState=h;var x={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return p.queue=x,p=Jm.bind(null,mn,!0,x),x.dispatch=p,[h,p]},useMemoCache:zm,useCacheRefresh:function(){return Bi().memoizedState=Tk.bind(null,mn)},useEffectEvent:function(h){var p=Bi(),x={impl:h};return p.memoizedState=x,function(){if((vn&2)!==0)throw Error(i(440));return x.impl.apply(void 0,arguments)}}},rg={readContext:Yt,use:ju,useCallback:cw,useContext:Yt,useEffect:Wm,useImperativeHandle:lw,useInsertionEffect:iw,useLayoutEffect:rw,useMemo:fw,useReducer:_u,useRef:ew,useState:function(){return _u(io)},useDebugValue:Km,useDeferredValue:function(h,p){var x=Ys();return hw(x,Zn.memoizedState,h,p)},useTransition:function(){var h=_u(io)[0],p=Ys().memoizedState;return[typeof h==="boolean"?h:Mf(h),p]},useSyncExternalStore:P2,useId:mw,useHostTransitionStatus:Qm,useFormState:Q2,useActionState:Q2,useOptimistic:function(h,p){var x=Ys();return G2(x,Zn,h,p)},useMemoCache:zm,useCacheRefresh:pw};rg.useEffectEvent=sw;var p5={readContext:Yt,use:ju,useCallback:cw,useContext:Yt,useEffect:Wm,useImperativeHandle:lw,useInsertionEffect:iw,useLayoutEffect:rw,useMemo:fw,useReducer:Vm,useRef:ew,useState:function(){return Vm(io)},useDebugValue:Km,useDeferredValue:function(h,p){var x=Ys();return Zn===null?Ym(x,h,p):hw(x,Zn.memoizedState,h,p)},useTransition:function(){var h=Vm(io)[0],p=Ys().memoizedState;return[typeof h==="boolean"?h:Mf(h),p]},useSyncExternalStore:P2,useId:mw,useHostTransitionStatus:Qm,useFormState:Z2,useActionState:Z2,useOptimistic:function(h,p){var x=Ys();if(Zn!==null)return G2(x,Zn,h,p);return x.baseState=h,[h,x.queue.dispatch]},useMemoCache:zm,useCacheRefresh:pw};p5.useEffectEvent=sw;var ag={enqueueSetState:function(h,p,x){h=h._reactInternals;var j=lr(),V=Nn(j);V.payload=p,x!==void 0&&x!==null&&(V.callback=x),p=zn(h,V,j),p!==null&&(Vi(p,h,j),Qn(p,h,j))},enqueueReplaceState:function(h,p,x){h=h._reactInternals;var j=lr(),V=Nn(j);V.tag=1,V.payload=p,x!==void 0&&x!==null&&(V.callback=x),p=zn(h,V,j),p!==null&&(Vi(p,h,j),Qn(p,h,j))},enqueueForceUpdate:function(h,p){h=h._reactInternals;var x=lr(),j=Nn(x);j.tag=2,p!==void 0&&p!==null&&(j.callback=p),p=zn(h,j,x),p!==null&&(Vi(p,h,x),Qn(p,h,x))}},og=Error(i(461)),ti=!1,lg={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null},go=!1,ni=!1,cg=!1,g5=typeof WeakSet==="function"?WeakSet:Set,di=null,si=null,Wi=!1,na=null,Nc=8192,LA={getCacheForType:function(h){var p=Yt(Ls),x=p.data.get(h);return x===void 0&&(x=h(),p.data.set(h,x)),x},cacheSignal:function(){return Yt(Ls).controller.signal}},ud=0,dd=1,md=2,pd=3,bd=4;if(typeof Symbol==="function"&&Symbol.for){var nh=Symbol.for;ud=nh("selector.component"),dd=nh("selector.has_pseudo_class"),md=nh("selector.role"),pd=nh("selector.test_id"),bd=nh("selector.text")}var OA=typeof WeakMap==="function"?WeakMap:Map,vn=0,fs=null,Sn=null,xn=0,Vn=0,dr=null,Zo=!1,Bc=!1,fg=!1,bo=0,Vs=0,el=0,Gl=0,ug=0,mr=0,Uc=0,sh=null,Ki=null,dg=!1,wd=0,b5=0,ih=1/0,vd=null,tl=null,ci=0,nl=null,zc=null,wo=0,pg=0,gg=null,w5=null,rh=0,bg=null;return yn.attemptContinuousHydration=function(h){if(h.tag===13||h.tag===31){var p=_t(h,67108864);p!==null&&Vi(p,h,67108864),qp(h,67108864)}},yn.attemptHydrationAtCurrentPriority=function(h){if(h.tag===13||h.tag===31){var p=lr();p=se(p);var x=_t(h,p);x!==null&&Vi(x,h,p),qp(h,p)}},yn.attemptSynchronousHydration=function(h){switch(h.tag){case 3:if(h=h.stateNode,h.current.memoizedState.isDehydrated){var p=T(h.pendingLanes);if(p!==0){h.pendingLanes|=2;for(h.entangledLanes|=2;p;){var x=1<<31-cr(p);h.entanglements[1]|=x,p&=~x}Bt(h),(vn&6)===0&&(ih=$i()+500,Mn(0,!1))}}break;case 31:case 13:p=_t(h,2),p!==null&&Vi(p,h,2),fy(),qp(h,2)}},yn.batchedUpdates=function(h,p){return h(p)},yn.createComponentSelector=function(h){return{$$typeof:ud,value:h}},yn.createContainer=function(h,p,x,j,V,Q,re,Ee,Ve,it){return jy(h,p,!1,null,x,j,Q,null,re,Ee,Ve,it)},yn.createHasPseudoClassSelector=function(h){return{$$typeof:dd,value:h}},yn.createHydrationContainer=function(h,p,x,j,V,Q,re,Ee,Ve,it,bt,lt,Rt,hn){return h=jy(x,j,!0,h,V,Q,Ee,hn,Ve,it,bt,lt),h.context=_y(null),x=h.current,j=lr(),j=se(j),V=Nn(j),V.callback=p!==void 0&&p!==null?p:null,zn(x,V,j),p=j,h.current.lanes=p,J(h,p),Bt(h),h},yn.createPortal=function(h,p,x){var j=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:kc,key:j==null?null:""+j,children:h,containerInfo:p,implementation:x}},yn.createRoleSelector=function(h){return{$$typeof:md,value:h}},yn.createTestNameSelector=function(h){return{$$typeof:pd,value:h}},yn.createTextSelector=function(h){return{$$typeof:bd,value:h}},yn.defaultOnCaughtError=function(h){console.error(h)},yn.defaultOnRecoverableError=function(h){c5(h)},yn.defaultOnUncaughtError=function(h){c5(h)},yn.deferredUpdates=function(h){var p=Ut.T,x=uo();try{return ui(32),Ut.T=null,h()}finally{ui(x),Ut.T=p}},yn.discreteUpdates=function(h,p,x,j,V){var Q=Ut.T,re=uo();try{return ui(2),Ut.T=null,h(p,x,j,V)}finally{ui(re),Ut.T=Q,vn===0&&(ih=$i()+500)}},yn.findAllNodes=Ep,yn.findBoundingRects=function(h,p){if(!Vf)throw Error(i(363));p=Ep(h,p),h=[];for(var x=0;x<p.length;x++)h.push(gx(p[x]));for(p=h.length-1;0<p;p--){x=h[p];for(var j=x.x,V=j+x.width,Q=x.y,re=Q+x.height,Ee=p-1;0<=Ee;Ee--)if(p!==Ee){var Ve=h[Ee],it=Ve.x,bt=it+Ve.width,lt=Ve.y,Rt=lt+Ve.height;if(j>=it&&Q>=lt&&V<=bt&&re<=Rt){h.splice(p,1);break}else if(!(j!==it||x.width!==Ve.width||Rt<Q||lt>re)){lt>Q&&(Ve.height+=lt-Q,Ve.y=Q),Rt<re&&(Ve.height=re-lt),h.splice(p,1);break}else if(!(Q!==lt||x.height!==Ve.height||bt<j||it>V)){it>j&&(Ve.width+=it-j,Ve.x=j),bt<V&&(Ve.width=V-it),h.splice(p,1);break}}}return h},yn.findHostInstance=Iy,yn.findHostInstanceWithNoPortals=function(h){return h=l(h),h=h!==null?f(h):null,h===null?null:Gf(h.stateNode)},yn.findHostInstanceWithWarning=function(h){return Iy(h)},yn.flushPassiveEffects=zf,yn.flushSyncFromReconciler=function(h){var p=vn;vn|=1;var x=Ut.T,j=uo();try{if(ui(2),Ut.T=null,h)return h()}finally{ui(j),Ut.T=x,vn=p,(vn&6)===0&&Mn(0,!1)}},yn.flushSyncWork=fy,yn.focusWithin=function(h,p){if(!Vf)throw Error(i(363));h=kp(h),p=ry(h,p),p=Array.from(p);for(h=0;h<p.length;){var x=p[h++],j=x.tag;if(!$f(x)){if((j===5||j===26||j===27)&&yx(x.stateNode))return!0;for(x=x.child;x!==null;)p.push(x),x=x.sibling}}return!1},yn.getFindAllNodesFailureDescription=function(h,p){if(!Vf)throw Error(i(363));var x=0,j=[];h=[kp(h),0];for(var V=0;V<h.length;){var Q=h[V++],re=Q.tag,Ee=h[V++],Ve=p[Ee];if(re!==5&&re!==26&&re!==27||!$f(Q)){if(xp(Q,Ve)&&(j.push(Ap(Ve)),Ee++,Ee>x&&(x=Ee)),Ee<p.length)for(Q=Q.child;Q!==null;)h.push(Q,Ee),Q=Q.sibling}}if(x<p.length){for(h=[];x<p.length;x++)h.push(Ap(p[x]));return`findAllNodes was able to match part of the selector:
9
- `+(j.join(" > ")+`
10
-
11
- No matching component was found for:
12
- `)+h.join(" > ")}return null},yn.getPublicRootInstance=function(h){if(h=h.current,!h.child)return null;switch(h.child.tag){case 27:case 5:return Gf(h.child.stateNode);default:return h.child.stateNode}},yn.injectIntoDevTools=function(){var h={bundleType:0,version:Xk,rendererPackageName:Wk,currentDispatcherRef:Ut,reconcilerVersion:"19.2.0"};if(Py!==null&&(h.rendererConfig=Py),typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")h=!1;else{var p=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(p.isDisabled||!p.supportsFiber)h=!0;else{try{Xf=p.inject(h),fr=p}catch(x){}h=p.checkDCE?!0:!1}}return h},yn.isAlreadyRendering=function(){return(vn&6)!==0},yn.observeVisibleRects=function(h,p,x,j){if(!Vf)throw Error(i(363));h=Ep(h,p);var V=vx(h,x,j).disconnect;return{disconnect:function(){V()}}},yn.shouldError=function(){return null},yn.shouldSuspend=function(){return!1},yn.startHostTransition=function(h,p,x,j){if(h.tag!==5)throw Error(i(476));var V=dw(h).queue;uw(h,V,p,Ac,x===null?s:function(){var Q=dw(h);return Q.next===null&&(Q=h.alternate.memoizedState),Ff(h,Q.next.queue,{},lr()),x(j)})},yn.updateContainer=function(h,p,x,j){var V=p.current,Q=lr();return Ry(V,Q,h,p,x,j),Q},yn.updateContainerSync=function(h,p,x,j){return Ry(p.current,2,h,p,x,j),2},yn};Kh.exports.default=Kh.exports;Object.defineProperty(Kh.exports,"__esModule",{value:!0})});var M8=w(function(BU,q8){E();q8.exports=function(n,s,i){let r=_("loading"),a=_(),[l,c]=u(0),f=_(),d=_(),b=_();if(f.current!==n||d.current!==s||b.current!==i)r.current="loading",a.current=void 0,f.current=n,d.current=s,b.current=i;return Ue(function(){if(!n)return;var y=document.createElement("img");function v(){y.decode().catch(()=>{}).finally(()=>{r.current="loaded",a.current=y,c(Math.random())})}function k(){r.current="failed",a.current=void 0,c(Math.random())}return y.addEventListener("load",v),y.addEventListener("error",k),s&&(y.crossOrigin=s),i&&(y.referrerPolicy=i),y.src=n,function(){y.removeEventListener("load",v),y.removeEventListener("error",k)}},[n,s,i]),[a.current,r.current]}});var Lb={};qe(Lb,{HostTransitionContext:()=>Dq,NotPendingTransition:()=>Rq,afterActiveInstanceBlur:()=>mq,appendChild:()=>JD,appendChildToContainer:()=>ZD,appendInitialChild:()=>jD,beforeActiveInstanceBlur:()=>dq,cancelTimeout:()=>UD,clearContainer:()=>fq,commitMount:()=>iq,commitTextUpdate:()=>sq,commitUpdate:()=>rq,createInstance:()=>_D,createTextInstance:()=>ID,detachDeletedInstance:()=>hq,finalizeInitialChildren:()=>RD,getChildHostContext:()=>BD,getCurrentEventPriority:()=>pq,getCurrentUpdatePriority:()=>yq,getInstanceFromNode:()=>uq,getInstanceFromScope:()=>bq,getPublicInstance:()=>DD,getRootHostContext:()=>ND,hideInstance:()=>aq,hideTextInstance:()=>oq,idlePriority:()=>Xi,insertBefore:()=>T8,insertInContainerBefore:()=>eq,isPrimaryRenderer:()=>XD,maySuspendCommit:()=>Eq,noTimeout:()=>VD,now:()=>no,preloadInstance:()=>Cq,prepareForCommit:()=>qD,preparePortalMount:()=>MD,prepareScopeUpdate:()=>gq,prepareUpdate:()=>FD,removeChild:()=>tq,removeChildFromContainer:()=>nq,requestPostPaintCallback:()=>Tq,resetAfterCommit:()=>LD,resetFormInstance:()=>qq,resetTextContent:()=>OD,resolveEventTimeStamp:()=>Aq,resolveEventType:()=>xq,resolveUpdatePriority:()=>vq,run:()=>ed,scheduleMicrotask:()=>GD,scheduleTimeout:()=>HD,setCurrentUpdatePriority:()=>wq,shouldAttemptEagerTransition:()=>Sq,shouldDeprioritizeSubtree:()=>PD,shouldSetTextContent:()=>$D,startSuspendingCommit:()=>jq,supportsHydration:()=>QD,supportsMicrotasks:()=>zD,supportsMutation:()=>KD,supportsPersistence:()=>YD,suspendInstance:()=>_q,trackSchedulerEvent:()=>kq,unhideInstance:()=>lq,unhideTextInstance:()=>cq,waitForCommitToBeReady:()=>Iq,warnsIfNotActing:()=>WD});var NA=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]],wg=I("circle-question-mark",NA);var BA=[["path",{d:"M21 5H3",key:"1fi0y6"}],["path",{d:"M15 12H3",key:"6jk70r"}],["path",{d:"M17 19H3",key:"z6ezky"}]],y5=I("text-align-start",BA);var HA=[["path",{d:"M2 10v3",key:"1fnikh"}],["path",{d:"M6 6v11",key:"11sgs0"}],["path",{d:"M10 3v18",key:"yhl04a"}],["path",{d:"M14 8v7",key:"3a1oy3"}],["path",{d:"M18 5v13",key:"123xd1"}],["path",{d:"M22 10v3",key:"154ddg"}]],ts=I("audio-lines",HA);var UA=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}]],v5=I("ban",UA);var zA=[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]],S5=I("hash",zA);var GA=[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3",key:"1dcmit"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3",key:"1e4gt3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3",key:"wsl5sc"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3",key:"18trek"}]],Es=I("maximize",GA);var VA=[["path",{d:"M8 3v3a2 2 0 0 1-2 2H3",key:"hohbtr"}],["path",{d:"M21 8h-3a2 2 0 0 1-2-2V3",key:"5jw1f3"}],["path",{d:"M3 16h3a2 2 0 0 1 2 2v3",key:"198tvr"}],["path",{d:"M16 21v-3a2 2 0 0 1 2-2h3",key:"ph8mxp"}]],Cs=I("minimize",VA);var $A=[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]],Vc=I("pause",$A);var XA=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]],Ea=I("play",XA);var WA=[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]],Sd=I("repeat",WA);var KA=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Pi=I("settings",KA);var YA=[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]],kd=I("star",YA);var JA=[["path",{d:"M13.172 2a2 2 0 0 1 1.414.586l6.71 6.71a2.4 2.4 0 0 1 0 3.408l-4.592 4.592a2.4 2.4 0 0 1-3.408 0l-6.71-6.71A2 2 0 0 1 6 9.172V3a1 1 0 0 1 1-1z",key:"16rjxf"}],["path",{d:"M2 7v6.172a2 2 0 0 0 .586 1.414l6.71 6.71a2.4 2.4 0 0 0 3.191.193",key:"178nd4"}],["circle",{cx:"10.5",cy:"6.5",r:".5",fill:"currentColor",key:"12ikhr"}]],k5=I("tags",JA);var ZA=[["circle",{cx:"9",cy:"12",r:"3",key:"u3jwor"}],["rect",{width:"20",height:"14",x:"2",y:"5",rx:"7",key:"g7kal2"}]],x5=I("toggle-left",ZA);var eT=[["path",{d:"M12 4v16",key:"1654pz"}],["path",{d:"M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2",key:"e0r10z"}],["path",{d:"M9 20h6",key:"s66wpe"}]],Ja=I("type",eT);var tT=[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]],xd=I("volume-2",tT);var nT=[["path",{d:"M11 4.702a.7.7 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.7.7 0 0 0 11 19.298z",key:"1p7khw"}],["path",{d:"m16.5 14.5 5-5",key:"cul3yw"}],["path",{d:"m16.5 9.5 5 5",key:"1akey5"}]],Ad=I("volume-x",nT);function A5(e,n){let{start:s,end:i}=Ul(n?.in,e),r=+s>+i,a=r?+s:+i,l=r?i:s;l.setHours(0,0,0,0);let c=n?.step??1;if(!c)return[];if(c<0)c=-c,r=!r;let f=[];while(+l<=a)f.push(At(s,l)),l.setDate(l.getDate()+c),l.setHours(0,0,0,0);return r?f.reverse():f}function Td(e,n){return xe(e,n?.in).getDate()}function T5(e,n){return xe(e,n?.in).getDay()}function yg(e,n){return xe(e,n?.in).getHours()}function vg(e,n){return xe(e,n?.in).getMinutes()}function sT(e,n,s){let i=e.slice();return i.splice(s,0,i.splice(n,1)[0]),i}function yu(e,n,s,i){if(s===i)return e;let r=sT(n,s,i),a=new Set(n.map((c)=>c.id)),l=0;return e.map((c)=>a.has(c.id)?r[l++]:c)}async function Xa(e){let n=[],s=[],i=e.items;if(i)for(let l=0;l<i.length;l++){let c=i[l];if(c.kind==="file"){let f=c.webkitGetAsEntry?.();if(f)s.push({entry:f,path:""})}}else return Array.from(e.files);let r=(l)=>new Promise((c)=>{l.readEntries((f)=>c(f),()=>c([]))}),a=(l)=>new Promise((c,f)=>{l.file((d)=>c(d),(d)=>f(d))});while(s.length>0){let l=s.shift();if(!l)continue;let{entry:c,path:f}=l;if(c.isFile)try{let d=await a(c),b=f?`${f}/${d.name}`:d.name;Object.defineProperty(d,"webkitRelativePath",{value:b,writable:!1,configurable:!0}),n.push(d)}catch(d){console.error("Error reading file entry:",d)}else if(c.isDirectory){let d=c.createReader(),b=[],y=await r(d);while(y.length>0)b=b.concat(y),y=await r(d);let v=f?`${f}/${c.name}`:c.name;for(let k of b)s.push({entry:k,path:v})}}return n}var Ur=Nr((e)=>({fields:[],loadedProjectId:null,setFields:(n,s)=>e({fields:n,loadedProjectId:s}),updateFields:(n)=>e({fields:n})}));var $l;(function(e){e.Base32IncorrectEncoding="B32_ENC_INVALID",e.DecodeTimeInvalidCharacter="DEC_TIME_CHAR",e.DecodeTimeValueMalformed="DEC_TIME_MALFORMED",e.EncodeTimeNegative="ENC_TIME_NEG",e.EncodeTimeSizeExceeded="ENC_TIME_SIZE_EXCEED",e.EncodeTimeValueMalformed="ENC_TIME_MALFORMED",e.PRNGDetectFailure="PRNG_DETECT",e.ULIDInvalid="ULID_INVALID",e.Unexpected="UNEXPECTED",e.UUIDInvalid="UUID_INVALID"})($l||($l={}));class Xc extends Error{constructor(e,n){super(`${n} (${e})`);this.name="ULIDError",this.code=e}}function iT(e){let n=Math.floor(e()*32)%32;return"0123456789ABCDEFGHJKMNPQRSTVWXYZ".charAt(n)}function rT(e){let n=aT(),s=n&&(n.crypto||n.msCrypto)||null;if(typeof s?.getRandomValues==="function")return()=>{let i=new Uint8Array(1);return s.getRandomValues(i),i[0]/256};else if(typeof s?.randomBytes==="function")return()=>s.randomBytes(1).readUInt8()/256;throw new Xc($l.PRNGDetectFailure,"Failed to find a reliable PRNG")}function aT(){if(cT())return self;if(typeof window<"u")return window;if(typeof global<"u")return global;if(typeof globalThis<"u")return globalThis;return null}function oT(e,n){let s="";for(;e>0;e--)s=iT(n)+s;return s}function lT(e,n=10){if(isNaN(e))throw new Xc($l.EncodeTimeValueMalformed,`Time must be a number: ${e}`);else if(e>281474976710655)throw new Xc($l.EncodeTimeSizeExceeded,`Cannot encode a time larger than 281474976710655: ${e}`);else if(e<0)throw new Xc($l.EncodeTimeNegative,`Time must be positive: ${e}`);else if(Number.isInteger(e)===!1)throw new Xc($l.EncodeTimeValueMalformed,`Time must be an integer: ${e}`);let s,i="";for(let r=n;r>0;r--)s=e%32,i="0123456789ABCDEFGHJKMNPQRSTVWXYZ".charAt(s)+i,e=(e-s)/32;return i}function cT(){return typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope}function Uo(e,n){let s=n||rT(),i=!e||isNaN(e)?Date.now():e;return lT(i,10)+oT(16,s)}E();var ht=Number.isFinite||function(e){return typeof e==="number"&&isFinite(e)},fT=Number.isSafeInteger||function(e){return typeof e==="number"&&Math.abs(e)<=hT},hT=Number.MAX_SAFE_INTEGER||9007199254740991,Dt=function(e){return e.NETWORK_ERROR="networkError",e.MEDIA_ERROR="mediaError",e.KEY_SYSTEM_ERROR="keySystemError",e.MUX_ERROR="muxError",e.OTHER_ERROR="otherError",e}({}),Oe=function(e){return e.KEY_SYSTEM_NO_KEYS="keySystemNoKeys",e.KEY_SYSTEM_NO_ACCESS="keySystemNoAccess",e.KEY_SYSTEM_NO_SESSION="keySystemNoSession",e.KEY_SYSTEM_NO_CONFIGURED_LICENSE="keySystemNoConfiguredLicense",e.KEY_SYSTEM_LICENSE_REQUEST_FAILED="keySystemLicenseRequestFailed",e.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED="keySystemServerCertificateRequestFailed",e.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED="keySystemServerCertificateUpdateFailed",e.KEY_SYSTEM_SESSION_UPDATE_FAILED="keySystemSessionUpdateFailed",e.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED="keySystemStatusOutputRestricted",e.KEY_SYSTEM_STATUS_INTERNAL_ERROR="keySystemStatusInternalError",e.KEY_SYSTEM_DESTROY_MEDIA_KEYS_ERROR="keySystemDestroyMediaKeysError",e.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR="keySystemDestroyCloseSessionError",e.KEY_SYSTEM_DESTROY_REMOVE_SESSION_ERROR="keySystemDestroyRemoveSessionError",e.MANIFEST_LOAD_ERROR="manifestLoadError",e.MANIFEST_LOAD_TIMEOUT="manifestLoadTimeOut",e.MANIFEST_PARSING_ERROR="manifestParsingError",e.MANIFEST_INCOMPATIBLE_CODECS_ERROR="manifestIncompatibleCodecsError",e.LEVEL_EMPTY_ERROR="levelEmptyError",e.PLAYLIST_UNCHANGED_ERROR="playlistUnchangedError",e.LEVEL_LOAD_ERROR="levelLoadError",e.LEVEL_LOAD_TIMEOUT="levelLoadTimeOut",e.LEVEL_PARSING_ERROR="levelParsingError",e.LEVEL_SWITCH_ERROR="levelSwitchError",e.AUDIO_TRACK_LOAD_ERROR="audioTrackLoadError",e.AUDIO_TRACK_LOAD_TIMEOUT="audioTrackLoadTimeOut",e.SUBTITLE_LOAD_ERROR="subtitleTrackLoadError",e.SUBTITLE_TRACK_LOAD_TIMEOUT="subtitleTrackLoadTimeOut",e.FRAG_LOAD_ERROR="fragLoadError",e.FRAG_LOAD_TIMEOUT="fragLoadTimeOut",e.FRAG_DECRYPT_ERROR="fragDecryptError",e.FRAG_PARSING_ERROR="fragParsingError",e.FRAG_GAP="fragGap",e.REMUX_ALLOC_ERROR="remuxAllocError",e.KEY_LOAD_ERROR="keyLoadError",e.KEY_LOAD_TIMEOUT="keyLoadTimeOut",e.BUFFER_ADD_CODEC_ERROR="bufferAddCodecError",e.BUFFER_INCOMPATIBLE_CODECS_ERROR="bufferIncompatibleCodecsError",e.BUFFER_APPEND_ERROR="bufferAppendError",e.BUFFER_APPENDING_ERROR="bufferAppendingError",e.BUFFER_APPEND_NO_PROGRESS="bufferAppendNoProgress",e.BUFFER_STALLED_ERROR="bufferStalledError",e.BUFFER_FULL_ERROR="bufferFullError",e.BUFFER_SEEK_OVER_HOLE="bufferSeekOverHole",e.BUFFER_NUDGE_ON_STALL="bufferNudgeOnStall",e.ASSET_LIST_LOAD_ERROR="assetListLoadError",e.ASSET_LIST_LOAD_TIMEOUT="assetListLoadTimeout",e.ASSET_LIST_PARSING_ERROR="assetListParsingError",e.INTERSTITIAL_ASSET_ITEM_ERROR="interstitialAssetItemError",e.INTERNAL_EXCEPTION="internalException",e.INTERNAL_ABORTED="aborted",e.ATTACH_MEDIA_ERROR="attachMediaError",e.MEDIA_SOURCE_REQUIRES_RESET="mediaSourceRequiresReset",e.UNKNOWN="unknown",e}({}),Z=function(e){return e.MEDIA_ATTACHING="hlsMediaAttaching",e.MEDIA_ATTACHED="hlsMediaAttached",e.MEDIA_DETACHING="hlsMediaDetaching",e.MEDIA_DETACHED="hlsMediaDetached",e.MEDIA_ENDED="hlsMediaEnded",e.STALL_RESOLVED="hlsStallResolved",e.BUFFER_RESET="hlsBufferReset",e.BUFFER_CODECS="hlsBufferCodecs",e.BUFFER_CREATED="hlsBufferCreated",e.BUFFER_APPENDING="hlsBufferAppending",e.BUFFER_APPENDED="hlsBufferAppended",e.BUFFER_EOS="hlsBufferEos",e.BUFFERED_TO_END="hlsBufferedToEnd",e.BUFFER_FLUSHING="hlsBufferFlushing",e.BUFFER_FLUSHED="hlsBufferFlushed",e.MANIFEST_LOADING="hlsManifestLoading",e.MANIFEST_LOADED="hlsManifestLoaded",e.MANIFEST_PARSED="hlsManifestParsed",e.LEVEL_SWITCHING="hlsLevelSwitching",e.LEVEL_SWITCHED="hlsLevelSwitched",e.LEVEL_LOADING="hlsLevelLoading",e.LEVEL_LOADED="hlsLevelLoaded",e.LEVEL_UPDATED="hlsLevelUpdated",e.LEVEL_PTS_UPDATED="hlsLevelPtsUpdated",e.LEVELS_UPDATED="hlsLevelsUpdated",e.AUDIO_TRACKS_UPDATED="hlsAudioTracksUpdated",e.AUDIO_TRACK_SWITCHING="hlsAudioTrackSwitching",e.AUDIO_TRACK_SWITCHED="hlsAudioTrackSwitched",e.AUDIO_TRACK_LOADING="hlsAudioTrackLoading",e.AUDIO_TRACK_LOADED="hlsAudioTrackLoaded",e.AUDIO_TRACK_UPDATED="hlsAudioTrackUpdated",e.SUBTITLE_TRACKS_UPDATED="hlsSubtitleTracksUpdated",e.SUBTITLE_TRACKS_CLEARED="hlsSubtitleTracksCleared",e.SUBTITLE_TRACK_SWITCH="hlsSubtitleTrackSwitch",e.SUBTITLE_TRACK_LOADING="hlsSubtitleTrackLoading",e.SUBTITLE_TRACK_LOADED="hlsSubtitleTrackLoaded",e.SUBTITLE_TRACK_UPDATED="hlsSubtitleTrackUpdated",e.SUBTITLE_FRAG_PROCESSED="hlsSubtitleFragProcessed",e.CUES_PARSED="hlsCuesParsed",e.NON_NATIVE_TEXT_TRACKS_FOUND="hlsNonNativeTextTracksFound",e.INIT_PTS_FOUND="hlsInitPtsFound",e.FRAG_LOADING="hlsFragLoading",e.FRAG_LOAD_EMERGENCY_ABORTED="hlsFragLoadEmergencyAborted",e.FRAG_LOADED="hlsFragLoaded",e.FRAG_DECRYPTED="hlsFragDecrypted",e.FRAG_PARSING_INIT_SEGMENT="hlsFragParsingInitSegment",e.FRAG_PARSING_USERDATA="hlsFragParsingUserdata",e.FRAG_PARSING_METADATA="hlsFragParsingMetadata",e.FRAG_PARSED="hlsFragParsed",e.FRAG_BUFFERED="hlsFragBuffered",e.FRAG_CHANGED="hlsFragChanged",e.FPS_DROP="hlsFpsDrop",e.FPS_DROP_LEVEL_CAPPING="hlsFpsDropLevelCapping",e.MAX_AUTO_LEVEL_UPDATED="hlsMaxAutoLevelUpdated",e.ERROR="hlsError",e.DESTROYING="hlsDestroying",e.KEY_LOADING="hlsKeyLoading",e.KEY_LOADED="hlsKeyLoaded",e.LIVE_BACK_BUFFER_REACHED="hlsLiveBackBufferReached",e.BACK_BUFFER_REACHED="hlsBackBufferReached",e.STEERING_MANIFEST_LOADED="hlsSteeringManifestLoaded",e.ASSET_LIST_LOADING="hlsAssetListLoading",e.ASSET_LIST_LOADED="hlsAssetListLoaded",e.INTERSTITIALS_UPDATED="hlsInterstitialsUpdated",e.INTERSTITIALS_BUFFERED_TO_BOUNDARY="hlsInterstitialsBufferedToBoundary",e.INTERSTITIAL_ASSET_PLAYER_CREATED="hlsInterstitialAssetPlayerCreated",e.INTERSTITIAL_STARTED="hlsInterstitialStarted",e.INTERSTITIAL_ASSET_STARTED="hlsInterstitialAssetStarted",e.INTERSTITIAL_ASSET_ENDED="hlsInterstitialAssetEnded",e.INTERSTITIAL_ASSET_ERROR="hlsInterstitialAssetError",e.INTERSTITIAL_ENDED="hlsInterstitialEnded",e.INTERSTITIALS_PRIMARY_RESUMED="hlsInterstitialsPrimaryResumed",e.PLAYOUT_LIMIT_REACHED="hlsPlayoutLimitReached",e.EVENT_CUE_ENTER="hlsEventCueEnter",e}({});function uT(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Sg={exports:{}},E5;function dT(){if(E5)return Sg.exports;return E5=1,function(e,n){(function(s){var i=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,r=/^(?=([^\/?#]*))\1([^]*)$/,a=/(?:\/|^)\.(?=\/)/g,l=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,c={buildAbsoluteURL:function(f,d,b){if(b=b||{},f=f.trim(),d=d.trim(),!d){if(!b.alwaysNormalize)return f;var y=c.parseURL(f);if(!y)throw Error("Error trying to parse base URL.");return y.path=c.normalizePath(y.path),c.buildURLFromParts(y)}var v=c.parseURL(d);if(!v)throw Error("Error trying to parse relative URL.");if(v.scheme){if(!b.alwaysNormalize)return d;return v.path=c.normalizePath(v.path),c.buildURLFromParts(v)}var k=c.parseURL(f);if(!k)throw Error("Error trying to parse base URL.");if(!k.netLoc&&k.path&&k.path[0]!=="/"){var A=r.exec(k.path);k.netLoc=A[1],k.path=A[2]}if(k.netLoc&&!k.path)k.path="/";var T={scheme:k.scheme,netLoc:v.netLoc,path:null,params:v.params,query:v.query,fragment:v.fragment};if(!v.netLoc){if(T.netLoc=k.netLoc,v.path[0]!=="/")if(!v.path){if(T.path=k.path,!v.params){if(T.params=k.params,!v.query)T.query=k.query}}else{var R=k.path,D=R.substring(0,R.lastIndexOf("/")+1)+v.path;T.path=c.normalizePath(D)}}if(T.path===null)T.path=b.alwaysNormalize?c.normalizePath(v.path):v.path;return c.buildURLFromParts(T)},parseURL:function(f){var d=i.exec(f);if(!d)return null;return{scheme:d[1]||"",netLoc:d[2]||"",path:d[3]||"",params:d[4]||"",query:d[5]||"",fragment:d[6]||""}},normalizePath:function(f){f=f.split("").reverse().join("").replace(a,"");while(f.length!==(f=f.replace(l,"")).length);return f.split("").reverse().join("")},buildURLFromParts:function(f){return f.scheme+f.netLoc+f.path+f.params+f.query+f.fragment}};e.exports=c})()}(Sg),Sg.exports}var A1=dT();class u0{constructor(){this.aborted=!1,this.loaded=0,this.retry=0,this.total=0,this.chunkCount=0,this.bwEstimate=0,this.loading={start:0,first:0,end:0},this.parsing={start:0,end:0},this.buffering={start:0,first:0,end:0}}}var un=function(e){return e.MANIFEST="manifest",e.LEVEL="level",e.AUDIO_TRACK="audioTrack",e.SUBTITLE_TRACK="subtitleTrack",e.MEDIA_FRAGMENT="media-fragment",e.KEY="key",e.STEERING_MANIFEST="steering-manifest",e.SERVER_CERTIFICATE="server-certificate",e.INTERSTITIAL_ASSET_LIST="interstitial-asset-list",e}({}),Ct=function(e){return e.MAIN="main",e.AUDIO="audio",e.SUBTITLE="subtitle",e}({}),ss={AUDIO:"audio",VIDEO:"video",AUDIOVIDEO:"audiovideo"};class T1{constructor(e){if(this._byteRange=null,this._url=null,this._stats=null,this._streams=null,this.base=void 0,this.relurl=void 0,typeof e==="string")e={url:e};this.base=e,mT(this,"stats")}setByteRange(e,n){let s=e.split("@",2),i;if(s.length===1)i=(n==null?void 0:n.byteRangeEndOffset)||0;else i=parseInt(s[1]);this._byteRange=[i,parseInt(s[0])+i]}get baseurl(){return this.base.url}get byteRange(){if(this._byteRange===null)return[];return this._byteRange}get byteRangeStartOffset(){return this.byteRange[0]}get byteRangeEndOffset(){return this.byteRange[1]}get elementaryStreams(){if(this._streams===null)this._streams={[ss.AUDIO]:null,[ss.VIDEO]:null,[ss.AUDIOVIDEO]:null};return this._streams}set elementaryStreams(e){this._streams=e}get hasStats(){return this._stats!==null}get hasStreams(){return this._streams!==null}get stats(){if(this._stats===null)this._stats=new u0;return this._stats}set stats(e){this._stats=e}get url(){if(!this._url&&this.relurl)this._url=A1.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0});return this._url||""}set url(e){this._url=e}clearElementaryStreamInfo(){let{elementaryStreams:e}=this;e[ss.AUDIO]=null,e[ss.VIDEO]=null,e[ss.AUDIOVIDEO]=null,this.url=null}}function Ps(e){return e.sn!=="initSegment"}function hh(e,n){return e.sn===(n==null?void 0:n.sn)&&e.level===n.level}function Yg(e,n){return e.sn===(n==null?void 0:n.sn)&&e.level===n.level&&e.cc===n.cc}class uh extends T1{constructor(e,n){super(n);this._decryptdata=null,this._programDateTime=null,this._ref=null,this._bitrate=void 0,this.rawProgramDateTime=null,this.tagList=[],this.duration=0,this.sn=0,this.levelkeys=void 0,this.type=void 0,this.loader=null,this.keyLoader=null,this.level=-1,this.cc=0,this.startPTS=void 0,this.endPTS=void 0,this.startDTS=void 0,this.endDTS=void 0,this.start=0,this.playlistOffset=0,this.deltaPTS=void 0,this.maxStartPTS=void 0,this.minEndPTS=void 0,this.data=void 0,this.bitrateTest=!1,this.title=null,this.initSegment=null,this.endList=void 0,this.gap=void 0,this.urlId=0,this.type=e}get byteLength(){if(this.hasStats){let e=this.stats.total;if(e)return e}if(this.byteRange.length){let e=this.byteRange[0],n=this.byteRange[1];if(ht(e)&&ht(n))return n-e}return null}get bitrate(){if(this.byteLength)return this.byteLength*8/this.duration;if(this._bitrate)return this._bitrate;return null}set bitrate(e){this._bitrate=e}get decryptdata(){var e;let{levelkeys:n}=this;if(!n||n.NONE)return null;if(n.identity){if(!this._decryptdata)this._decryptdata=n.identity.getDecryptData(this.sn)}else if(!((e=this._decryptdata)!=null&&e.keyId)){let s=Object.keys(n);if(s.length===1){let i=this._decryptdata=n[s[0]]||null;if(i)this._decryptdata=i.getDecryptData(this.sn,n)}}return this._decryptdata}get end(){return this.start+this.duration}get endProgramDateTime(){if(this.programDateTime===null)return null;let e=!ht(this.duration)?0:this.duration;return this.programDateTime+e*1000}get encrypted(){var e;if((e=this._decryptdata)!=null&&e.encrypted)return!0;else if(this.levelkeys){var n;let s=Object.keys(this.levelkeys),i=s.length;if(i>1||i===1&&(n=this.levelkeys[s[0]])!=null&&n.encrypted)return!0}return!1}get programDateTime(){if(this._programDateTime===null&&this.rawProgramDateTime)this.programDateTime=Date.parse(this.rawProgramDateTime);return this._programDateTime}set programDateTime(e){if(!ht(e)){this._programDateTime=this.rawProgramDateTime=null;return}this._programDateTime=e}get ref(){if(!Ps(this))return null;if(!this._ref)this._ref={base:this.base,start:this.start,duration:this.duration,sn:this.sn,programDateTime:this.programDateTime};return this._ref}addStart(e){this.setStart(this.start+e)}setStart(e){if(this.start=e,this._ref)this._ref.start=e}setDuration(e){if(this.duration=e,this._ref)this._ref.duration=e}setKeyFormat(e){let n=this.levelkeys;if(n){var s;let i=n[e];if(i&&!((s=this._decryptdata)!=null&&s.keyId))this._decryptdata=i.getDecryptData(this.sn,n)}}abortRequests(){var e,n;(e=this.loader)==null||e.abort(),(n=this.keyLoader)==null||n.abort()}setElementaryStreamInfo(e,n,s,i,r,a=!1){let{elementaryStreams:l}=this,c=l[e];if(!c){l[e]={startPTS:n,endPTS:s,startDTS:i,endDTS:r,partial:a};return}c.startPTS=Math.min(c.startPTS,n),c.endPTS=Math.max(c.endPTS,s),c.startDTS=Math.min(c.startDTS,i),c.endDTS=Math.max(c.endDTS,r)}}class Q3 extends T1{constructor(e,n,s,i,r){super(s);this.fragOffset=0,this.duration=0,this.independent=!1,this.relurl=void 0,this.fragment=void 0,this.index=void 0,this.gap=!1,this.duration=e.decimalFloatingPoint("DURATION"),this.gap=e.bool("GAP"),this.independent=e.bool("INDEPENDENT"),this.relurl=e.enumeratedString("URI"),this.fragment=n,this.index=i;let a=e.enumeratedString("BYTERANGE");if(a)this.setByteRange(a,r);if(r)this.fragOffset=r.fragOffset+r.duration}get start(){return this.fragment.start+this.fragOffset}get end(){return this.start+this.duration}get loaded(){let{elementaryStreams:e}=this;return!!(e.audio||e.video||e.audiovideo||this.fragment.type===Ct.SUBTITLE&&this.stats.loading.end>0)}}function J3(e,n){let s=Object.getPrototypeOf(e);if(s){let i=Object.getOwnPropertyDescriptor(s,n);if(i)return i;return J3(s,n)}}function mT(e,n){let s=J3(e,n);if(s)s.enumerable=!0,Object.defineProperty(e,n,s)}function pT(e,n,s){return(n=wT(n))in e?Object.defineProperty(e,n,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[n]=s,e}function Un(){return Un=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var s=arguments[n];for(var i in s)({}).hasOwnProperty.call(s,i)&&(e[i]=s[i])}return e},Un.apply(null,arguments)}function C5(e,n){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),s.push.apply(s,i)}return s}function qt(e){for(var n=1;n<arguments.length;n++){var s=arguments[n]!=null?arguments[n]:{};n%2?C5(Object(s),!0).forEach(function(i){pT(e,i,s[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):C5(Object(s)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(s,i))})}return e}function d0(e,n){if(e==null)return{};var s,i,r=gT(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)s=a[i],n.indexOf(s)===-1&&{}.propertyIsEnumerable.call(e,s)&&(r[s]=e[s])}return r}function gT(e,n){if(e==null)return{};var s={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(n.indexOf(i)!==-1)continue;s[i]=e[i]}return s}function bT(e,n){if(typeof e!="object"||!e)return e;var s=e[Symbol.toPrimitive];if(s!==void 0){var i=s.call(e,n);if(typeof i!="object")return i;throw TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}function wT(e){var n=bT(e,"string");return typeof n=="symbol"?n:n+""}function Qd(e){switch(e.details){case Oe.FRAG_LOAD_TIMEOUT:case Oe.KEY_LOAD_TIMEOUT:case Oe.LEVEL_LOAD_TIMEOUT:case Oe.MANIFEST_LOAD_TIMEOUT:case Oe.AUDIO_TRACK_LOAD_TIMEOUT:case Oe.SUBTITLE_TRACK_LOAD_TIMEOUT:case Oe.ASSET_LIST_LOAD_TIMEOUT:return!0}return!1}function Z3(e){return e.details.startsWith("key")}function e9(e){return Z3(e)&&!!e.frag&&!e.frag.decryptdata}function j5(e,n){let s=Qd(n);return e.default[`${s?"timeout":"error"}Retry`]}function E1(e,n){let s=e.backoff==="linear"?1:Math.pow(2,n);return Math.min(s*e.retryDelayMs,e.maxRetryDelayMs)}function _5(e){return qt(qt({},e),{errorRetry:null,timeoutRetry:null})}function vh(e,n,s,i){if(!e)return!1;let r=i==null?void 0:i.code,a=n<e.maxNumRetry&&(yT(r)||!!s);return e.shouldRetry?e.shouldRetry(e,n,s,i,a):a}function yT(e){return Sh(e)||!!e&&(e<400||e>499)}function Sh(e){return e===0&&navigator.onLine===!1}function t9(e,n){return n>0&&e.loadError>0&&e.loadErrorTime!==0&&self.performance.now()-e.loadErrorTime>n}class Ql{constructor(e,n=0,s=0){this.halfLife=void 0,this.alpha_=void 0,this.estimate_=void 0,this.totalWeight_=void 0,this.halfLife=e,this.alpha_=e?Math.exp(Math.log(0.5)/e):0,this.estimate_=n,this.totalWeight_=s}sample(e,n){let s=Math.pow(this.alpha_,e);this.estimate_=n*(1-s)+s*this.estimate_,this.totalWeight_+=e}getTotalWeight(){return this.totalWeight_}getEstimate(){if(this.alpha_){let e=1-Math.pow(this.alpha_,this.totalWeight_);if(e)return this.estimate_/e}return this.estimate_}}class n9{constructor(e,n,s,i=100){this.defaultEstimate_=void 0,this.minWeight_=void 0,this.minDelayMs_=void 0,this.slow_=void 0,this.fast_=void 0,this.defaultTTFB_=void 0,this.ttfb_=void 0,this.defaultEstimate_=s,this.minWeight_=0.001,this.minDelayMs_=50,this.slow_=new Ql(e),this.fast_=new Ql(n),this.defaultTTFB_=i,this.ttfb_=new Ql(e)}update(e,n){let{slow_:s,fast_:i,ttfb_:r}=this;if(s.halfLife!==e)this.slow_=new Ql(e,s.getEstimate(),s.getTotalWeight());if(i.halfLife!==n)this.fast_=new Ql(n,i.getEstimate(),i.getTotalWeight());if(r.halfLife!==e)this.ttfb_=new Ql(e,r.getEstimate(),r.getTotalWeight())}sample(e,n){if(n<=0)return;let s=Math.min(this.minDelayMs_,n/1e5),i=8*n,r=Math.max(e,s)/1000,a=i/r;this.fast_.sample(r,a),this.slow_.sample(r,a)}sampleTTFB(e){let n=e/1000,s=Math.sqrt(2)*Math.exp(-Math.pow(n,2)/2);this.ttfb_.sample(s,Math.max(e,5))}canEstimate(){return this.fast_.getTotalWeight()>=this.minWeight_}getEstimate(){if(this.canEstimate())return Math.min(this.fast_.getEstimate(),this.slow_.getEstimate());else return this.defaultEstimate_}getEstimateTTFB(){if(this.ttfb_.getTotalWeight()>=this.minWeight_)return this.ttfb_.getEstimate();else return this.defaultTTFB_}get defaultEstimate(){return this.defaultEstimate_}destroy(){}}class Zi{constructor(e,n){this.trace=void 0,this.debug=void 0,this.log=void 0,this.warn=void 0,this.info=void 0,this.error=void 0;let s=`[${e}]:`;this.trace=rl,this.debug=n.debug.bind(null,s),this.log=n.log.bind(null,s),this.warn=n.warn.bind(null,s),this.info=n.info.bind(null,s),this.error=n.error.bind(null,s)}}var rl=function(){},vT={trace:rl,debug:rl,log:rl,warn:rl,info:rl,error:rl};function Qg(){return Un({},vT)}function ST(e,n){let s=self.console[e];return s?s.bind(self.console,`${n?"["+n+"] ":""}[${e}] >`):rl}function I5(e,n,s){return n[e]?n[e].bind(n):ST(e,s)}var Jg=Qg();function kT(e,n,s){let i=Qg();if(typeof console==="object"&&e===!0||typeof e==="object"){let r=["debug","log","info","warn","error"];r.forEach((a)=>{i[a]=I5(a,e,s)});try{i.log(`Debug logs enabled for "${n}" in hls.js version 1.7.3`)}catch(a){return Qg()}r.forEach((a)=>{Jg[a]=I5(a,e)})}else Un(Jg,i);return i}var Rn=Jg;function cl(e=!0){if(typeof self>"u")return;return(e||!self.MediaSource)&&self.ManagedMediaSource||self.MediaSource||self.WebKitMediaSource}function xT(e){return typeof self<"u"&&e===self.ManagedMediaSource}function s9(e,n){let s=Object.keys(e),i=Object.keys(n),r=s.length,a=i.length;return!r||!a||r===a&&!s.some((l)=>i.indexOf(l)===-1)}function AT(e){return btoa(String.fromCharCode(...e))}function m0(e){return e instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer}var TT="utf-16",xg="utf-16be",R5="utf-16le",Gd="utf-8";function ET(e,n={}){let s;if(m0(e))s=new DataView(e);else s=new DataView(e.buffer,e.byteOffset,e.byteLength);let i=0,{encoding:r}=n;if(!r){let d=s.getUint8(0),b=s.getUint8(1);if(d==239&&b==187&&s.getUint8(2)==191)r=Gd,i=3;else if(d==254&&b==255)r=xg,i=2;else if(d==255&&b==254)r=R5,i=2;else r=Gd}if(typeof TextDecoder<"u")return new TextDecoder(r).decode(s);let{byteLength:a}=s,l=r!==xg,c="",f;while(i<a){switch(r){case Gd:if(f=s.getUint8(i),f<128)i++;else if(f>=194&&f<=223)if(i+1<a){let d=s.getUint8(i+1);if(d>=128&&d<=191)f=(f&31)<<6|d&63,i+=2;else i++}else i++;else if(f>=224&&f<=239)if(i+2<=a-1){let d=s.getUint8(i+1),b=s.getUint8(i+2);if(d>=128&&d<=191&&b>=128&&b<=191)f=(f&15)<<12|(d&63)<<6|b&63,i+=3;else i++}else i++;else if(f>=240&&f<=244)if(i+3<=a-1){let d=s.getUint8(i+1),b=s.getUint8(i+2),y=s.getUint8(i+3);if(d>=128&&d<=191&&b>=128&&b<=191&&y>=128&&y<=191)f=(f&7)<<18|(d&63)<<12|(b&63)<<6|y&63,i+=4;else i++}else i++;else i++;break;case xg:case TT:case R5:f=s.getUint16(i,l),i+=2;break}c+=String.fromCodePoint(f)}return c}function CT(e){let n=typeof e==="string"?new URL(e):e;return n.origin+n.pathname.substring(0,n.pathname.lastIndexOf("/")+1)}function i9(e,n){if(e<0)return-i9(-e,n);let s=Math.pow(10,n);if(Math.abs(e*s%1-0.5)<Number.EPSILON){let i=Math.floor(e*s);return(i%2===0?i:i+1)/s}else return Math.round(e*s)/s}function jT(e,n){let s;try{s=new URL(e)}catch(c){return e}let i=new URL(n);if(s.origin!==i.origin)return e;let r=s.pathname.split("/").slice(1),a=i.pathname.split("/").slice(1,-1),l=Math.min(r.length,a.length);for(let c=0;c<l;c++){if(r[c]!==a[c])break;r.shift(),a.shift()}while(a.length)a.shift(),r.unshift("..");return r.join("/")+s.search+s.hash}function r9(){try{return crypto.randomUUID()}catch(e){try{let n=URL.createObjectURL(new Blob),s=n.toString();return URL.revokeObjectURL(n),s.slice(s.lastIndexOf("/")+1)}catch(n){let s=new Date().getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(i)=>{let r=(s+Math.random()*16)%16|0;return s=Math.floor(s/16),(i=="x"?r:r&3|8).toString(16)})}}}function C1(e,n){if(n+10<=e.length){if(e[n]===73&&e[n+1]===68&&e[n+2]===51){if(e[n+3]<255&&e[n+4]<255){if(e[n+6]<128&&e[n+7]<128&&e[n+8]<128&&e[n+9]<128)return!0}}}return!1}function p0(e,n){let s=0;return s=(e[n]&127)<<21,s|=(e[n+1]&127)<<14,s|=(e[n+2]&127)<<7,s|=e[n+3]&127,s}function _T(e,n){return C1(e,n)&&p0(e,n+6)+10<=e.length-n}function a9(e,n){if(n+10<=e.length){if(e[n]===51&&e[n+1]===68&&e[n+2]===73){if(e[n+3]<255&&e[n+4]<255){if(e[n+6]<128&&e[n+7]<128&&e[n+8]<128&&e[n+9]<128)return!0}}}return!1}function kh(e,n){let s=n,i=0;while(C1(e,n)){i+=10;let r=p0(e,n+6);if(i+=r,a9(e,n+10))i+=10;n+=i}if(i>0)return e.subarray(s,s+i)}function IT(e){if(m0(e))return e;else{if(e.byteOffset==0&&e.byteLength==e.buffer.byteLength)return e.buffer;return new Uint8Array(e).buffer}}function Ag(e,n=0,s=1/0){return RT(e,n,s,Uint8Array)}function RT(e,n,s,i){let r=DT(e),a=1;if("BYTES_PER_ELEMENT"in i)a=i.BYTES_PER_ELEMENT;let l=qT(e)?e.byteOffset:0,c=(l+e.byteLength)/a,f=(l+n)/a,d=Math.floor(Math.max(0,Math.min(f,c)));return new i(r,d,Math.floor(Math.min(d+Math.max(s,0),c))-d)}function DT(e){if(m0(e))return e;else return e.buffer}function qT(e){return e&&m0(e.buffer)&&e.byteLength!==void 0&&e.byteOffset!==void 0}function br(e,n=!1){let s=n?e.indexOf(0):e.length,i=ET(new DataView(e.buffer,e.byteOffset,s),{encoding:Gd});return n?i:i.replace(/\0/g,"")}function MT(e){let n={key:e.type,description:"",data:"",mimeType:null,pictureType:null},s=3;if(e.size<2)return;if(e.data[0]!==3){console.log("Ignore frame with unrecognized character encoding");return}let i=e.data.subarray(1).indexOf(0);if(i===-1)return;let r=br(Ag(e.data,1,i)),a=e.data[2+i],l=e.data.subarray(3+i).indexOf(0);if(l===-1)return;let c=br(Ag(e.data,3+i,l)),f;if(r==="-->")f=br(Ag(e.data,4+i+l));else f=IT(e.data.subarray(4+i+l));return n.mimeType=r,n.pictureType=a,n.description=c,n.data=f,n}function FT(e){if(e.size<2)return;let n=br(e.data,!0),s=new Uint8Array(e.data.subarray(n.length+1));return{key:e.type,info:n,data:s.buffer}}function LT(e){if(e.size<2)return;if(e.type==="TXXX"){let s=1,{data:i}=e,r=br(i.subarray(s),!0);s+=r.length+1;let a=br(i.subarray(s));return{key:e.type,info:r,data:a}}let n=br(e.data.subarray(1));return{key:e.type,info:"",data:n}}function PT(e){if(e.type==="WXXX"){if(e.size<2)return;let s=1,i=br(e.data.subarray(s),!0);s+=i.length+1;let r=br(e.data.subarray(s));return{key:e.type,info:i,data:r}}let n=br(e.data);return{key:e.type,info:"",data:n}}function NT(e){if(e.type==="PRIV")return FT(e);else if(e.type[0]==="W")return PT(e);else if(e.type==="APIC")return MT(e);return LT(e)}function BT(e){let n=String.fromCharCode(e[0],e[1],e[2],e[3]),s=p0(e,4),i=10;return{type:n,size:s,data:e.subarray(10,10+s)}}var Ed=10,HT=10;function o9(e){let n=0,s=[];while(C1(e,n)){let i=p0(e,n+6);if(e[n+5]>>6&1)n+=Ed;n+=Ed;let r=n+i;while(n+HT<r){let a=BT(e.subarray(n)),l=NT(a);if(l)s.push(l);n+=a.size+Ed}if(a9(e,n))n+=Ed}return s}function l9(e){return e&&e.key==="PRIV"&&e.info==="com.apple.streaming.transportStreamTimestamp"}function UT(e){if(e.data.byteLength===8){let n=new Uint8Array(e.data),s=n[3]&1,i=(n[4]<<23)+(n[5]<<15)+(n[6]<<7)+n[7];if(i/=45,s)i+=47721858.84;return Math.round(i)}}function j1(e){let n=o9(e);for(let s of n)if(l9(s))return UT(s)}function ri(e){let n="";for(let s=0;s<e.length;s++){let i=e[s].toString(16);if(i.length<2)i="0"+i;n+=i}return n}function c9(e){return Uint8Array.from(e.replace(/^0x/,"").replace(/([\da-fA-F]{2}) ?/g,"0x$1 ").replace(/ +$/,"").split(" ")).buffer}function _1(e){return Uint8Array.from(atob(e),(n)=>n.charCodeAt(0))}function ca(e){return String.fromCharCode.apply(null,e)}var Ra=Math.pow(2,32)-1,Ht={avc1:1635148593,avcC:1635148611,hvc1:1752589105,hvcC:1752589123,btrt:1651798644,dinf:1684631142,dref:1685218662,esds:1702061171,free:1718773093,ftyp:1718909296,hdlr:1751411826,mdat:1835295092,mdhd:1835296868,mdia:1835297121,mfhd:1835427940,minf:1835626086,moof:1836019558,moov:1836019574,mp4a:1836069985,".mp3":778924083,dac3:1684103987,"ac-3":1633889587,mvex:1836475768,mvhd:1836476516,pasp:1885434736,sdtp:1935963248,stbl:1937007212,stco:1937007471,stsc:1937011555,stsd:1937011556,stsz:1937011578,stts:1937011827,tfdt:1952867444,tfhd:1952868452,traf:1953653094,trak:1953653099,trun:1953658222,trex:1953654136,tkhd:1953196132,vmhd:1986881636,smhd:1936549988},f9={video:1,audio:2,id3:3,text:4};function h9(e,n){let s=e[n]<<8|e[n+1];return s<0?65536+s:s}function kt(e,n){let s=e[n]<<24|e[n+1]<<16|e[n+2]<<8|e[n+3];return s<0?4294967296+s:s}function D5(e,n){let s=kt(e,n);return s*=Math.pow(2,32),s+=kt(e,n+4),s}function jd(e,n){let s="";for(let i=n;i<e.length;i++)if(s+=String.fromCharCode(e[i]),e[i]===0)return s;return null}function Zg(e,n){return e[n]<<24|e[n+1]<<16|e[n+2]<<8|e[n+3]}function Js(e,n,s){e[n]=s>>24,e[n+1]=s>>16&255,e[n+2]=s>>8&255,e[n+3]=s&255}function q5(e,n,s){let i=n.byteOffset-e.byteOffset-8,r=8+s,a=n.byteLength+8-r;if(a<8)return;Js(e,i,r),Js(e,i+r,a),Js(e,i+r+4,Ht.free)}function e1(e,n){return[e.byteOffset-n-8,e.byteOffset-n+e.byteLength]}function u9(e,n){n.sort((c,f)=>c[0]-f[0]);let s=n.reduce((c,[f,d])=>c+d-f,0),i=new Uint8Array(e.byteLength-s),r=0,a=0;for(let c=0;c<n.length;c++){let[f,d]=n[c];i.set(e.subarray(r,f),a),a+=f-r,r=d}return i.set(e.subarray(r),a),{result:i,dropped:s,droppedBefore:(c)=>n.reduce((f,[d,b])=>b<=c?f+b-d:f,0)}}function zT(e){let n=$t(e,["moov"]);if(n.length!==1||$t(e,["moof"]).length)return null;let s=e.byteOffset,i=[],r=[],a=!1,l=$t(n[0],["trak"]);for(let k=0;k<l.length;k++){let A=l[k],T=$t(A,["mdia","hdlr"])[0];if((T?ca(T.subarray(8,12)):"")==="vide"){a=!0;continue}let D=$t(A,["tkhd"])[0];if(!D)return null;let U=D[0];r.push(kt(D,U===0?12:20)),i.push(e1(A,s))}if(!a||!i.length)return null;let c=$t(n[0],["mvex"])[0],f=0;if(c){let k=$t(c,["trex"]);for(let A=0;A<k.length;A++){let T=k[A];if(r.indexOf(kt(T,4))!==-1)i.push(e1(T,s)),f+=T.byteLength+8}}let{result:d,dropped:b,droppedBefore:y}=u9(e,i),v=n[0].byteOffset-s-8;if(Js(d,v,n[0].byteLength+8-b),c&&f){let k=c.byteOffset-s-8;Js(d,k-y(k),c.byteLength+8-f)}return d}function GT(e,n,s,i,r){if(s<1)return null;let a=$t(e,["moof"]);if(a.length!==1)return null;let l=a[0],c=e.byteOffset,f=[],d=[],b=$t(l,["traf"]),y=!0;for(let T=0;T<b.length;T++){let R=b[T],D=$t(R,["tfhd"])[0];if(!D)return null;if(kt(D,4)===n){if(f.push(R),!(kt(D,0)&131072))y=!1}else d.push(e1(R,c))}if(!f.length)return null;if(d.length&&!y)return null;if(i!==void 0){let T=s;for(let D=0;D<f.length;D++){let U=f[D],Y=0,X=$t(U,["trun"]);for(let te=0;te<X.length;te++){let ne=X[te],ie=Math.min(T,kt(ne,4));if(ie){Js(e,ne.byteOffset-c+4,ie);let se=kt(ne,0)&16777215,ae=(se&256?4:0)+(se&512?4:0)+(se&1024?4:0)+(se&2048?4:0);q5(e,ne,8+(se&1?4:0)+(se&4?4:0)+ie*ae)}else Js(e,ne.byteOffset-c-4,Ht.free);T-=ie,Y+=ie}let J=$t(U,["senc"])[0];if(J)Js(e,J.byteOffset-c+4,Y);let ee=$t(U,["saiz"])[0];if(ee){let te=ee[1]<<16|ee[2]<<8|ee[3],ne=4;if(te&1)ne+=8;let ie=ee[ne];ne+=1,Js(e,ee.byteOffset-c+ne,Y),q5(e,ee,ne+4+(ie===0?Y:0))}}let R=$t(e,["mdat"]);if(R.length===1){let D=R[0].byteOffset-c-8;Js(e,D,i-D)}}let v=e,k=0,A=()=>0;if(d.length){({result:v,dropped:k,droppedBefore:A}=u9(e,d)),Js(v,l.byteOffset-c-8,l.byteLength+8-k);for(let T=0;T<f.length;T++){let R=f[T],D=A(R.byteOffset-c),U=$t(R,["trun"]);for(let Y=0;Y<U.length;Y++){let X=U[Y];if(kt(X,0)&1)Js(v,X.byteOffset-c-D+8,kt(X,8)-k)}if(D){let Y=$t(R,["saio"]);for(let X=0;X<Y.length;X++){let J=Y[X],ee=J[0]===0?4:8,te=kt(J,0)&1?12:4,ne=kt(J,te);for(te+=4;ne--;te+=ee){let ie=te+ee-4;Js(v,J.byteOffset-c-D+ie,kt(J,ie)-D)}}}}}if(r){let{durationOffset:T,value:R}=r;Js(v,T-A(T),R)}return i!==void 0?v.subarray(0,i-k):v}function VT(e,n){let s=e.byteLength;for(let i=0;i<s;){let r=kt(e,i);if(r>8&&kt(e,i+4)===Ht[n])return!0;i=r>1?i+r:s}return!1}function $t(e,n){let s=[];if(!n.length)return s;return d9(e,n,0,0,e.byteLength,s),s}function d9(e,n,s,i,r,a){let l=n[s];if((l==null?void 0:l.length)!==4)return;let c=l.charCodeAt(0),f=l.charCodeAt(1),d=l.charCodeAt(2),b=l.charCodeAt(3),y=n.length-1;for(let v=i;v<r;){let k=v+8<=r,A=v+4<=r?e[v]*16777216+(e[v+1]<<16|e[v+2]<<8|e[v+3]):kt(e,v),T=A>1?v+A:r;if(k&&e[v+4]===c&&e[v+5]===f&&e[v+6]===d&&e[v+7]===b){let R=Math.min(T,r);if(s===y)a.push(e.subarray(v+8,R));else d9(e,n,s+1,v+8,R,a)}v=T}}function $T(e){let n=[],s=e[0],i=8,r=kt(e,i);i+=4;let a=0,l=0;if(s===0)a=kt(e,i),l=kt(e,i+4),i+=8;else a=D5(e,i),l=D5(e,i+8),i+=16;i+=2;let c=e.length+l,f=h9(e,i);i+=2;for(let d=0;d<f;d++){let b=i,y=kt(e,b);b+=4;let v=y&2147483647;if((y&2147483648)>>>31===1)return Rn.warn("SIDX has hierarchical references (not supported)"),null;let A=kt(e,b);b+=4,n.push({referenceSize:v,subsegmentDuration:A,info:{duration:A/r,start:c,end:c+v-1}}),c+=v,b+=4,i=b}return{earliestPresentationTime:a,timescale:r,version:s,referencesCount:f,references:n}}function m9(e){let n=[],s=$t(e,["moov","trak"]);for(let r=0;r<s.length;r++){let a=s[r],l=$t(a,["tkhd"])[0];if(l){let c=l[0],f=kt(l,c===0?12:20),d=$t(a,["mdia","mdhd"])[0];if(d){c=d[0];let b=kt(d,c===0?12:20),y=$t(a,["mdia","hdlr"])[0];if(y){let v=ca(y.subarray(8,12)),k={soun:ss.AUDIO,vide:ss.VIDEO}[v],A=$t(a,["mdia","minf","stbl","stsd"])[0],T=XT(A);if(k)n[f]={timescale:b,type:k,stsd:T},n[k]=qt({timescale:b,id:f},T);else n[f]={timescale:b,type:v,stsd:T}}}}}return $t(e,["moov","mvex","trex"]).forEach((r)=>{let a=kt(r,4),l=n[a];if(l)l.default={duration:kt(r,12),sampleSize:kt(r,16),flags:kt(r,20)}}),n}function XT(e){let n=e.subarray(8),s=n.subarray(86),i=ca(n.subarray(4,8)),r=i,a,l=i==="enca"||i==="encv";if(l){let d=$t(n,[i])[0].subarray(i==="enca"?28:78);$t(d,["sinf"]).forEach((y)=>{let v=$t(y,["schm"])[0];if(v){let k=ca(v.subarray(4,8));if(k==="cbcs"||k==="cenc"){let A=$t(y,["frma"])[0];if(A)r=ca(A)}}})}let c=r;switch(r){case"avc1":case"avc2":case"avc3":case"avc4":{let f=$t(s,["avcC"])[0];if(f&&f.length>3)r+="."+Id(f[1])+Id(f[2])+Id(f[3]),a=_d(c==="avc1"?"dva1":"dvav",s);break}case"mp4a":{let f=$t(n,[i])[0],d=$t(f.subarray(28),["esds"])[0];if(d&&d.length>7){let b=4;if(d[b++]!==3)break;b=Tg(d,b),b+=2;let y=d[b++];if(y&128)b+=2;if(y&64)b+=d[b++];if(d[b++]!==4)break;b=Tg(d,b);let v=d[b++];if(v===64)r+="."+Id(v);else break;if(b+=12,d[b++]!==5)break;b=Tg(d,b);let k=d[b++],A=(k&248)>>3;if(A===31)A+=1+((k&7)<<3)+((d[b]&224)>>5);r+="."+A}break}case"hvc1":case"hev1":{let f=$t(s,["hvcC"])[0];if(f&&f.length>12){let d=f[1],b=["","A","B","C"][d>>6],y=d&31,v=kt(f,2),k=(d&32)>>5?"H":"L",A=f[12],T=f.subarray(6,12);r+="."+b+y,r+="."+WT(v).toString(16).toUpperCase(),r+="."+k+A;let R="";for(let D=T.length;D--;){let U=T[D];if(U||R)R="."+U.toString(16).toUpperCase()+R}r+=R}a=_d(c=="hev1"?"dvhe":"dvh1",s);break}case"dvh1":case"dvhe":case"dvav":case"dva1":case"dav1":{r=_d(r,s)||r;break}case"vp09":{let f=$t(s,["vpcC"])[0];if(f&&f.length>6){let d=f[4],b=f[5],y=f[6]>>4&15;r+="."+Da(d)+"."+Da(b)+"."+Da(y)}break}case"av01":{let f=$t(s,["av1C"])[0];if(f&&f.length>2){let d=f[1]>>>5,b=f[1]&31,y=f[2]>>>7?"H":"M",v=(f[2]&64)>>6,k=(f[2]&32)>>5,A=d===2&&v?k?12:10:v?10:8,T=(f[2]&16)>>4,R=(f[2]&8)>>3,D=(f[2]&4)>>2,U=f[2]&3,Y=1,X=1,J=1,ee=0;r+="."+d+"."+Da(b)+y+"."+Da(A)+"."+T+"."+R+D+U+"."+Da(1)+"."+Da(1)+"."+Da(1)+".0",a=_d("dav1",s)}break}}return{codec:r,encrypted:l,supplemental:a}}function _d(e,n){let s=$t(n,["dvvC"]),i=s.length?s[0]:$t(n,["dvcC"])[0];if(i){let r=i[2]>>1&127,a=i[2]<<5&32|i[3]>>3&31;return e+"."+Da(r)+"."+Da(a)}}function WT(e){let n=0;for(let s=0;s<32;s++)n|=(e>>s&1)<<31-s;return n>>>0}function Tg(e,n){let s=n+5;while(e[n++]&128&&n<s);return n}function Id(e){return("0"+e.toString(16).toUpperCase()).slice(-2)}function Da(e){return(e<10?"0":"")+e}function KT(e,n){if(!e||!n)return;let s=n.keyId;if((s==null?void 0:s.byteLength)===16&&n.isCommonEncryption)p9(e,(i,r)=>{let a=i.subarray(8,24);if(!a.some((l)=>l!==0))Rn.log(`[eme] Patching keyId in 'enc${r?"a":"v"}>sinf>>tenc' box: ${ri(a)} -> ${ri(s)}`),i.set(s,8)})}function YT(e){let n=[];return p9(e,(s)=>n.push(s.subarray(8,24))),n}function p9(e,n){$t(e,["moov","trak"]).forEach((i)=>{let r=$t(i,["mdia","minf","stbl","stsd"])[0];if(!r)return;let a=r.subarray(8),l=$t(a,["enca"]),c=l.length>0;if(!c)l=$t(a,["encv"]);l.forEach((f)=>{let d=c?f.subarray(28):f.subarray(78);$t(d,["sinf"]).forEach((y)=>{let v=g9(y);if(v)n(v,c)})})})}function g9(e){let n=$t(e,["schm"])[0];if(n){let s=ca(n.subarray(4,8));if(s==="cbcs"||s==="cenc"){let i=$t(e,["schi","tenc"])[0];if(i)return i}}}var M5;function QT(e){if(typeof TextDecoder>"u")return br(e);return(M5||(M5=new TextDecoder("utf-8"))).decode(e).replace(/\0/g,"")}function JT(e){let n=e.byteLength,s=[];for(let i=0;i<n;){let r=i+8<=n,a=i+4<=n?e[i]*16777216+(e[i+1]<<16|e[i+2]<<8|e[i+3]):kt(e,i),l=a>1?i+a:n;if(r&&e[i+4]===109&&e[i+5]===111&&e[i+6]===111&&e[i+7]===102){let c=Math.min(l,n);for(let f=i+8;f<c;){let d=f+8<=c,b=f+4<=c?e[f]*16777216+(e[f+1]<<16|e[f+2]<<8|e[f+3]):kt(e,f),y=b>1?f+b:c;if(d&&e[f+4]===116&&e[f+5]===114&&e[f+6]===97&&e[f+7]===102){let v=Math.min(y,c),k,A,T=[];for(let R=f+8;R<v;){let D=R+8<=v,U=R+4<=v?e[R]*16777216+(e[R+1]<<16|e[R+2]<<8|e[R+3]):kt(e,R),Y=U>1?R+U:v;if(D&&e[R+4]===116){let X=Math.min(Y,v);if(e[R+5]===102&&e[R+6]===104&&e[R+7]===100)A||(A=e.subarray(R+8,X));else if(e[R+5]===102&&e[R+6]===100&&e[R+7]===116)k||(k=e.subarray(R+8,X));else if(e[R+5]===114&&e[R+6]===117&&e[R+7]===110)T.push(e.subarray(R+8,X))}R=Y}s.push({moofOffset:e.byteOffset+i,tfdt:k,tfhd:A,truns:T})}f=y}}i=l}return s}function ZT(e,n,s,i,r=!0){return b9(e,n,i,r)}function eE(e,n,s,i,r=!1){let a=[],l=n.samples,c=b9(l,s,i,r,{isHEVCFlavor:Rh(n.codec),samples:a,timeOffset:e,timescale:n.timescale,trackId:n.id});return{samples:a,sampleData:{includeSampleDetails:r,tracks:c}}}function b9(e,n,s,i,r){let a={},l=!1,c=JT(e),f=e.byteLength;for(let y=0;y<c.length;y++){let{moofOffset:v,tfdt:k,tfhd:A,truns:T}=c[y],R=kt(A,4),D=n[R];if(!D)continue;let U=a[R]||(a[R]={start:NaN,duration:0,sampleCount:0,trun:[],timescale:D.timescale,type:D.type}),Y;if(k){let Se=k[0];if(Y=kt(k,4),Se===1)if(Y===Ra)s.warn("[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time");else Y*=Ra+1,Y+=kt(k,8);if(ht(Y)&&(!ht(U.start)||Y<U.start))U.start=Y;if(r&&ht(Y))r.timeOffset=Y/r.timescale}let X=(r==null?void 0:r.trackId)===R&&D.type===ss.VIDEO,J=D.default,ee=kt(A,0)&16777215,te=(J==null?void 0:J.duration)||0,ne,ie=(J==null?void 0:J.sampleSize)||0,se=8;if(ee&1)se+=8;if(ee&2)se+=4;if(ee&8)te=kt(A,se),ne=A.byteOffset-e.byteOffset+se,se+=4;if(ee&16)ie=kt(A,se);let ae=0,be=(ee&1)!==0,ye=!be&&(ee&131072)!==0;if(be)ae=kt(A,8),ae*=Math.pow(2,32),ae+=kt(A,12);else if(ye)ae=v;let fe=Y||0,le=0,oe=te;for(let Se=0;Se<T.length;Se++){let we=T[Se],Fe=kt(we,4),De=U.sampleCount;U.sampleCount+=Fe;let Le=we[3]&1,Be=0,Ke=we[3]&4,at=we[2]&1,tt=we[2]&2,St=we[2]&4,jt=we[2]&8,dt=8;if(Le)Be=Zg(we,dt),dt+=4;if(Ke){if(!(we[dt+1]&1)&&U.keyFrameIndex===void 0)U.keyFrameIndex=De;dt+=4}let Lt=ae+Be;if(!i&&we[1]===0&&we[2]===6&&we[3]===1){var d,b;let on=fe,Yn=Lt,We=dt,nt=-1,yt=0,pt=0,Nt=(d=r==null?void 0:r.timeOffset)!=null?d:0,ln=te/((b=r==null?void 0:r.timescale)!=null?b:1),pn=(r==null?void 0:r.isHEVCFlavor)===!0,Yt=pn?2:1;for(let os=0;os<Fe;os++){let Tt=we[dt]===0?we[dt+1]<<16|we[dt+2]<<8|we[dt+3]:kt(we,dt),ot=nt===-1&&U.keyFrameIndex===void 0&&(we[dt+5]&1)===0;dt+=8;let cn=Lt+Tt;if(X){if(Tt>0){let Bt=Lt;do{let Mn=e[Bt]===0?e[Bt+1]<<16|e[Bt+2]<<8|e[Bt+3]:kt(e,Bt);Bt+=4;let ls=e[Bt],Ds=pn?ls>>1&63:ls&31;if(pn?Ds===39||Ds===40:Ds===6)xh(e.subarray(Bt,Bt+Mn),Yt,Nt,r.samples);Bt+=Mn}while(Bt<cn)}Nt+=ln}if(Lt=cn,ot)nt=os,yt=Lt}if(Lt<=f)pt=Fe;else{let os=Yn,Tt=We;for(let ot=0;ot<Fe;ot++){let cn=we[Tt]===0?we[Tt+1]<<16|we[Tt+2]<<8|we[Tt+3]:kt(we,Tt);if(os+=cn,os>f)break;pt=ot+1,Tt+=8}}if(X)r.timeOffset=Nt;if(nt!==-1&&yt<=f&&U.keyFrameIndex===void 0)U.keyFrameIndex=nt,U.keyFrameStart=on+nt*te;if(pt){if(!ht(U.ptsMin)||on<U.ptsMin)U.ptsMin=on;let os=on+pt*te;if(!ht(U.ptsMax)||os>U.ptsMax)U.ptsMax=os}let qn=te*Fe;fe=on+qn,le+=qn;continue}let Zt,dn;if(i){if(Zt=[],dn={sampleOffset:Lt,samples:Zt,defaultSampleDurationOffset:ne},Lt<=f)U.trun.push(dn)}let Xt;for(let on=0;on<Fe;on++){let Yn;if(at){if(i)Yn=we.byteOffset-e.byteOffset+dt;oe=kt(we,dt),dt+=4}else oe=te;if(tt)Xt=kt(we,dt),dt+=4;else Xt=ie;let We,nt;if(St){if(nt=we[dt+1]&1?1:0,i)We={isNonSync:nt,dependsOn:(we[dt]&3)===1?1:2};dt+=4}let yt=0;if(jt)yt=we[0]===0?kt(we,dt):Zg(we,dt),dt+=4;if(X){let pt=Lt,Nt=0;while(Nt<Xt){let ln=kt(e,pt);if(pt+=4,w9(r.isHEVCFlavor,e[pt]))xh(e.subarray(pt,pt+ln),r.isHEVCFlavor?2:1,r.timeOffset+yt/r.timescale,r.samples);pt+=ln,Nt+=ln+4}r.timeOffset+=oe/r.timescale}if(Lt+=Xt,Lt<=f){if(dn&&Yn!==void 0)dn.lastSampleDurationOffset=Yn;if(nt===0&&U.keyFrameIndex===void 0)U.keyFrameIndex=on,U.keyFrameStart=fe;let pt=fe+yt;if(!ht(U.ptsMin)||pt<U.ptsMin)U.ptsMin=pt;if(!ht(U.ptsMax)||pt+oe>U.ptsMax)U.ptsMax=pt+oe;if(Zt)Zt[on]={cts:yt,duration:oe,flags:We,size:Xt}}fe+=oe,le+=oe}if(!le&&te)le+=te*Fe}if(U.duration+=le,U.duration)l=!0}if(!l){let y=1/0,v=0,k=$t(e,["sidx"]);for(let A=0;A<k.length;A++){let T=$T(k[A]);if(T!=null&&T.references){y=Math.min(y,T.earliestPresentationTime/T.timescale);let R=T.references.reduce((D,U)=>D+U.info.duration||0,0);v=Math.max(v,R+T.earliestPresentationTime/T.timescale)}}if(v&&ht(v))Object.keys(a).forEach((A)=>{if(!a[A].duration)a[A].duration=v*a[A].timescale-a[A].start})}return a}function tE(e){let n={valid:null,remainder:null},s=$t(e,["moof"]);if(s.length<2)return n.remainder=e,n;let i=s[s.length-1];return n.valid=e.slice(0,i.byteOffset-8),n.remainder=e.slice(i.byteOffset-8),n}function qr(e,n){let s=new Uint8Array(e.length+n.length);return s.set(e),s.set(n,e.length),s}function nE(e,n){let s=[],{samples:i,timescale:r,id:a}=n,l=!1;return $t(i,["moof"]).map((f)=>{let d=f.byteOffset-8;$t(f,["traf"]).map((y)=>{let v=$t(y,["tfdt"]).map((k)=>{let A=k[0],T=kt(k,4);if(A===1)T*=Math.pow(2,32),T+=kt(k,8);return T/r})[0];if(v!==void 0)e=v;return $t(y,["tfhd"]).map((k)=>{let A=kt(k,4),T=kt(k,0)&16777215,R=(T&1)!==0,D=0,U=(T&2)!==0,Y=(T&8)!==0,X=0,J=(T&16)!==0,ee=0,te=(T&32)!==0,ne=!R&&(T&131072)!==0,ie=8;if(A===a){if(R)D=kt(k,ie),ie+=4,D*=Math.pow(2,32),D+=kt(k,ie),ie+=4;else if(ne)D=d;if(U)ie+=4;if(Y)X=kt(k,ie),ie+=4;if(J)ee=kt(k,ie),ie+=4;if(te)ie+=4;if(n.type==="video")l=Rh(n.codec);$t(y,["trun"]).map((se)=>{let ae=se[0],be=kt(se,0)&16777215,ye=(be&1)!==0,fe=0,le=(be&4)!==0,oe=(be&256)!==0,Se=0,we=(be&512)!==0,Fe=0,De=(be&1024)!==0,Le=(be&2048)!==0,Be=0,Ke=kt(se,4),at=8;if(ye)fe=kt(se,at),at+=4;if(le)at+=4;let tt=D+fe;for(let St=0;St<Ke;St++){if(oe)Se=kt(se,at),at+=4;else Se=X;if(we)Fe=kt(se,at),at+=4;else Fe=ee;if(De)at+=4;if(Le){if(ae===0)Be=kt(se,at);else Be=Zg(se,at);at+=4}if(n.type===ss.VIDEO){let jt=0;while(jt<Fe){let dt=kt(i,tt);if(tt+=4,w9(l,i[tt])){let Lt=i.subarray(tt,tt+dt);xh(Lt,l?2:1,e+Be/r,s)}tt+=dt,jt+=dt+4}}e+=Se/r}})}})})}),s}function Rh(e){if(!e)return!1;let n=e.substring(0,4);return n==="hvc1"||n==="hev1"||n==="dvh1"||n==="dvhe"}function w9(e,n){if(e){let s=n>>1&63;return s===39||s===40}else return(n&31)===6}function xh(e,n,s,i){let r=y9(e),a=0;a+=n;let l=0,c=0,f=0;while(a<r.length){l=0;do{if(a>=r.length)break;f=r[a++],l+=f}while(f===255);c=0;do{if(a>=r.length)break;f=r[a++],c+=f}while(f===255);let d=r.length-a,b=a;if(c<d)a+=c;else if(c>d){Rn.error(`Malformed SEI payload. ${c} is too small, only ${d} bytes left to parse.`);break}if(l===4){if(r[b++]===181){let v=h9(r,b);if(b+=2,v===49){let k=kt(r,b);if(b+=4,k===1195456820){let A=r[b++];if(A===3){let T=r[b++],R=31&T,D=64&T,U=D?2+R*3:0,Y=new Uint8Array(U);if(D){Y[0]=T;for(let X=1;X<U;X++)Y[X]=r[b++]}i.push({type:A,payloadType:l,pts:s,bytes:Y})}}}}}else if(l===5){if(c>16){let y=[];for(let A=0;A<16;A++){let T=r[b++].toString(16);if(y.push(T.length==1?"0"+T:T),A===3||A===5||A===7||A===9)y.push("-")}let v=c-16,k=new Uint8Array(v);for(let A=0;A<v;A++)k[A]=r[b++];i.push({payloadType:l,pts:s,uuid:y.join(""),userData:QT(k),userDataBytes:k})}}}}function y9(e){let n=e.byteLength,s,i=e.indexOf(3,3);while(i!==-1){if(e[i-1]===0&&e[i-2]===0)(s||(s=[])).push(i);i=e.indexOf(3,i+1)}if(!s)return e;let r=n-s.length,a=new Uint8Array(r),l=0,c=0;for(let f=0;f<r;c++,f++){if(c===s[l])c++,l++;a[f]=e[c]}return a}function sE(e){let n=e[0],s="",i="",r=0,a=0,l,c=0,f=0,d=4;if(n===0){let y=jd(e,d),v=y!==null?jd(e,d+y.length):null;if(y!==null&&v!==null)s=y,i=v,d+=y.length+v.length,r=kt(e,d),d+=4,a=kt(e,d),d+=4,c=kt(e,d),d+=4,f=kt(e,d),d+=4;else Rn.warn(`Unterminated ${y===null?"scheme_id_uri":"value"} in parsing emsg box: version 0 box ends inside a string, dropping all of its fields`),d=e.length}else if(n===1){r=kt(e,d),d+=4;let y=kt(e,d);d+=4;let v=kt(e,d);if(d+=4,l=4294967296*y+v,!fT(l))l=Number.MAX_SAFE_INTEGER,Rn.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box");c=kt(e,d),d+=4,f=kt(e,d),d+=4;let k=jd(e,d),A=k!==null?jd(e,d+k.length):null;if(k!==null)s=k,d+=k.length;if(A!==null)i=A,d+=A.length;else Rn.warn(`Unterminated ${k===null?"scheme_id_uri":"value"} in parsing emsg box: version 1 box ends inside a string, dropping its ${k===null?"strings and payload":"value and payload"}`),d=e.length}let b=e.subarray(d,e.byteLength);return{schemeIdUri:s,value:i,timeScale:r,presentationTime:l,presentationTimeDelta:a,eventDuration:c,id:f,payload:b}}function iE(e,...n){let s=n.length,i=8,r=s;while(r--)i+=n[r].byteLength;let a=new Uint8Array(i);a[0]=i>>24&255,a[1]=i>>16&255,a[2]=i>>8&255,a[3]=i&255,a.set(e,4);for(r=0,i=8;r<s;r++)a.set(n[r],i),i+=n[r].byteLength;return a}function rE(e,n,s){if(e.byteLength!==16)throw RangeError("Invalid system id");let i,r;i=0,r=new Uint8Array;let a;if(i>0){if(a=new Uint8Array(4),n.length>0)new DataView(a.buffer).setUint32(0,n.length,!1)}else a=new Uint8Array;let l=new Uint8Array(4);if(s.byteLength>0)new DataView(l.buffer).setUint32(0,s.byteLength,!1);return iE([112,115,115,104],new Uint8Array([i,0,0,0]),e,a,r,l,s)}function v9(e){let n=[];if(e instanceof ArrayBuffer){let s=e.byteLength,i=0;while(i+32<s){let r=new DataView(e,i),a=oE(r);n.push(a),i+=a.size}}return n}function aE(e){let n=[];for(let s=0;s<e.length;){let i=e[s++],r=i&7;if(r===0){while(e[s++]&128);continue}if(r!==2){s+=r===1?8:4;continue}let a=0;for(let l=0,c=128;c&128;l+=7)a|=((c=e[s++])&127)<<l;if(i>>3===2){if(a===32){let l=new Uint8Array(16);for(let c=0;c<16;c++)l[c]=parseInt(String.fromCharCode(e[s+c*2],e[s+c*2+1]),16);n.push(l)}else if(a===16)n.push(e.subarray(s,s+16))}s+=a}return n}function oE(e){let n=e.getUint32(0),{byteOffset:s,byteLength:i}=e;if(i<n)return{offset:s,size:i};if(e.getUint32(4)!==1886614376)return{offset:s,size:n};let a=e.getUint32(8)>>>24;if(a!==0&&a!==1)return{offset:s,size:n};let l=e.buffer,c=ri(new Uint8Array(l,s+12,16)),f=null,d=null,b=0;if(a===0)b=28;else{let v=e.getUint32(28);if(!v||i<32+v*16)return{offset:s,size:n};f=[];for(let k=0;k<v;k++)f.push(new Uint8Array(l,s+32+k*16,16));b=32+v*16}if(!b)return{offset:s,size:n};let y=e.getUint32(b);if(n-32<y)return{offset:s,size:n};if(d=new Uint8Array(l,s+b+4,y),a===0)f=aE(d);return{version:a,systemId:c,kids:f,data:d,offset:s,size:n}}var cf=S9("userAgent"),lE=S9("vendor"),Eg,Cg,jg;function S9(e){try{return navigator[e]||""}catch(n){}return""}function cE(){if(jg===void 0){let e=cf.match(/Safari\/(\d+)/i);jg=e?parseInt(e[1]):0}return jg}function ph(){if(Eg===void 0){let e=cf.match(/Chrome\/(\d+)/i);Eg=e?parseInt(e[1]):0}return Eg}function fE(){if(Cg===void 0){let e=cf.match(/Firefox\/(\d+)/i);Cg=e?parseInt(e[1]):0}return Cg}function k9(){return/\(Windows.+Firefox\//i.test(cf)}function hE(){return lE.indexOf("Apple")>-1||/iPhone|iPad|iPod/.test(cf)}function uE(){return/Android/.test(cf)}var sf={audio:{a3ds:1,"ac-3":0.95,"ac-4":1,alac:0.9,alaw:1,dra1:1,"dts+":1,"dts-":1,dtsc:1,dtse:1,dtsh:1,"ec-3":0.9,enca:1,fLaC:0.9,flac:0.9,FLAC:0.9,g719:1,g726:1,m4ae:1,mha1:1,mha2:1,mhm1:1,mhm2:1,mlpa:1,mp4a:1,"raw ":1,Opus:1,opus:1,samr:1,sawb:1,sawp:1,sevc:1,sqcp:1,ssmv:1,twos:1,ulaw:1},video:{avc1:1,avc2:1,avc3:1,avc4:1,avcp:1,av01:0.8,dav1:0.8,drac:1,dva1:1,dvav:1,dvh1:0.7,dvhe:0.7,encv:1,hev1:0.75,hvc1:0.75,mjp2:1,mp4v:1,mvc1:1,mvc2:1,mvc3:1,mvc4:1,resv:1,rv60:1,s263:1,svc1:1,svc2:1,"vc-1":1,vp08:1,vp09:0.9},text:{stpp:1,wvtt:1},image:{mjpg:1}};function I1(e,n){let s=sf[n];return!!s&&!!s[e.slice(0,4)]}function Ah(e,n,s=!0){return!e.split(",").some((i)=>!R1(i,n,s))}function R1(e,n,s=!0){var i;let r=cl(s);return(i=r==null?void 0:r.isTypeSupported(Th(e,n)))!=null?i:!1}function Th(e,n){return`${n}/mp4;codecs=${e}`}function F5(e){if(e){let n=e.substring(0,4);return sf.video[n]}return 2}function Jd(e){let n=k9();return e.split(",").reduce((s,i)=>{let a=n&&Rh(i)?9:sf.video[i];if(a)return(a*2+s)/(s?3:2);return(sf.audio[i]+s)/(s?2:1)},0)}var _g={};function dE(e,n=!0){if(_g[e])return _g[e];let s={flac:["flac","fLaC","FLAC"],opus:["opus","Opus"],"mp4a.40.34":["mp3"]}[e];for(let r=0;r<s.length;r++){var i;if(R1(s[r],"audio",n))return _g[e]=s[r],s[r];else if(s[r]==="mp3"&&(i=cl(n))!=null&&i.isTypeSupported("audio/mpeg"))return""}return e}var mE=/flac|opus|mp4a\.40\.34/i;function Zd(e,n=!0){return e.replace(mE,(s)=>dE(s.toLowerCase(),n))}function pE(e,n){let s=[];if(e){let i=e.split(",");for(let r=0;r<i.length;r++)if(!I1(i[r],"video"))s.push(i[r])}if(n)s.push(n);return s.join(",")}function Vd(e,n){if(e&&(e.length>4||["ac-3","ec-3","alac","fLaC","Opus"].indexOf(e)!==-1)){if(L5(e,"audio")||L5(e,"video"))return e}if(n){let s=n.split(",");if(s.length>1){if(e){for(let i=s.length;i--;)if(s[i].substring(0,4)===e.substring(0,4))return s[i]}return s[0]}}return n||e}function L5(e,n){return I1(e,n)&&R1(e,n)}function gE(e){let n=e.split(",");for(let s=0;s<n.length;s++){let i=n[s].split(".");if(i.length>2&&i[0]==="avc1")n[s]=`avc1.${parseInt(i[1]).toString(16)}${("000"+parseInt(i[2]).toString(16)).slice(-4)}`}return n.join(",")}function bE(e){if(e.startsWith("av01.")){let n=e.split("."),s=["0","111","01","01","01","0"];for(let i=n.length;i>4&&i<10;i++)n[i]=s[i-4];return n.join(".")}return e}function O5(e){let n=cl(e)||{isTypeSupported:()=>!1};return{mpeg:n.isTypeSupported("audio/mpeg"),mp3:n.isTypeSupported('audio/mp4; codecs="mp3"'),ac3:n.isTypeSupported('audio/mp4; codecs="ac-3"')}}function t1(e){return e.replace(/^.+codecs=["']?([^"']+).*$/,"$1")}var wE={supported:!0,powerEfficient:!0,smooth:!0},yE={supported:!1,smooth:!1,powerEfficient:!1},x9={supported:!0,configurations:[],decodingInfoResults:[wE]};function A9(e,n){return{supported:!1,configurations:n,decodingInfoResults:[yE],error:e}}function vE(e,n,s,i,r,a){let l=e.videoCodec,c=e.audioCodec?e.audioGroups:null,f=a==null?void 0:a.audioCodec,d=a==null?void 0:a.channels,b=d?parseInt(d):f?1/0:2,y=null;if(c!=null&&c.length)try{if(c.length===1&&c[0])y=n.groups[c[0]].channels;else y=c.reduce((v,k)=>{if(k){let A=n.groups[k];if(!A)throw Error(`Audio track group ${k} not found`);Object.keys(A.channels).forEach((T)=>{v[T]=(v[T]||0)+A.channels[T]})}return v},{2:0})}catch(v){return!0}return l!==void 0&&(l.split(",").some((v)=>Rh(v))||e.width>1920&&e.height>1088||e.height>1920&&e.width>1088||e.frameRate>Math.max(i,30)||e.videoRange!=="SDR"&&e.videoRange!==s||e.bitrate>Math.max(r,8000000))||!!y&&ht(b)&&Object.keys(y).some((v)=>parseInt(v)>b)}function T9(e,n,s,i={}){let r=e.videoCodec;if(!r&&!e.audioCodec||!s)return Promise.resolve(x9);let a=[],l=SE(e),c=l.length,f=kE(e,n,c>0),d=f.length;for(let b=c||1*d||1;b--;){let y={type:"media-source"};if(c)y.video=l[b%c];if(d){y.audio=f[b%d];let v=y.audio.bitrate;if(y.video&&v)y.video.bitrate-=v}a.push(y)}if(r){let b=navigator.userAgent;if(r.split(",").some((y)=>Rh(y))&&k9())return Promise.resolve(A9(Error(`Overriding Windows Firefox HEVC MediaCapabilities result based on user-agent string: (${b})`),a))}return Promise.all(a.map((b)=>{let y=xE(b);return i[y]||(i[y]=s.decodingInfo(b))})).then((b)=>({supported:!b.some((y)=>!y.supported),configurations:a,decodingInfoResults:b})).catch((b)=>({supported:!1,configurations:a,decodingInfoResults:[],error:b}))}function SE(e){var n;let s=(n=e.videoCodec)==null?void 0:n.split(","),i=C9(e),r=e.width||640,a=e.height||480,l=e.frameRate||30,c=e.videoRange.toLowerCase();return s?s.map((f)=>{let d={contentType:Th(bE(f),"video"),width:r,height:a,bitrate:i,framerate:l};if(c!=="sdr")d.transferFunction=c;return d}):[]}function kE(e,n,s){var i;let r=(i=e.audioCodec)==null?void 0:i.split(","),a=C9(e);if(r&&e.audioGroups)return e.audioGroups.reduce((l,c)=>{var f;let d=c?(f=n.groups[c])==null?void 0:f.tracks:null;if(d)return d.reduce((b,y)=>{if(y.groupId===c){let v=parseFloat(y.channels||"");r.forEach((k)=>{let A={contentType:Th(k,"audio"),bitrate:s?E9(k,a):a};if(v)A.channels=""+v;b.push(A)})}return b},l);return l},[]);return[]}function E9(e,n){if(n<=1)return 1;let s=128000;if(e==="ec-3")s=768000;else if(e==="ac-3")s=640000;return Math.min(n/2,s)}function C9(e){return Math.ceil(Math.max(e.bitrate*0.9,e.averageBitrate)/1000)*1000||1}function xE(e){let n="",{audio:s,video:i}=e;if(i){let r=t1(i.contentType);n+=`${r}_r${i.height}x${i.width}f${Math.ceil(i.framerate)}${i.transferFunction||"sd"}_${Math.ceil(i.bitrate/1e5)}`}if(s){let r=t1(s.contentType);n+=`${i?"_":""}${r}_c${s.channels}`}return n}function ol(e,n,s){let i=encodeURIComponent(n),r=`${i}=${encodeURIComponent(s)}`,a=!1,l=[];if(e.search.substring(1).split("&").forEach((c)=>{if(c===i||c.startsWith(i+"=")){if(!a)l.push(r),a=!0}else if(c)l.push(c)}),!a)l.push(r);e.search=l.join("&")}var n1=["NONE","TYPE-0","TYPE-1",null];function AE(e){return n1.indexOf(e)>-1}var e0=["SDR","PQ","HLG"];function TE(e){return!!e&&e0.indexOf(e)>-1}var $d={No:"",Yes:"YES",v2:"v2"};function P5(e){let{canSkipUntil:n,canSkipDateRanges:s,age:i}=e,r=i<n/2;if(n&&r){if(s)return $d.v2;return $d.Yes}return $d.No}class s1{constructor(e,n,s){this.msn=void 0,this.part=void 0,this.skip=void 0,this.msn=e,this.part=n,this.skip=s}addDirectives(e){let n=new self.URL(e);if(this.msn!==void 0)ol(n,"_HLS_msn",this.msn.toString());if(this.part!==void 0)ol(n,"_HLS_part",this.part.toString());if(this.skip)ol(n,"_HLS_skip",this.skip);return n.href}}class rf{constructor(e){if(this._attrs=void 0,this.audioCodec=void 0,this.bitrate=void 0,this.codecSet=void 0,this.url=void 0,this.frameRate=void 0,this.height=void 0,this.id=void 0,this.name=void 0,this.supplemental=void 0,this.videoCodec=void 0,this.width=void 0,this.imageCodec=void 0,this.iframes=void 0,this.details=void 0,this.fragmentError=0,this.loadError=0,this.loadErrorTime=0,this.loaded=void 0,this.realBitrate=0,this.supportedPromise=void 0,this.supportedResult=void 0,this._avgBitrate=0,this._audioGroups=void 0,this._subtitleGroups=void 0,this._urlId=0,this.url=[e.url],this._attrs=[e.attrs],this.bitrate=e.bitrate,e.details)this.details=e.details;if(this.id=e.id||0,this.name=e.name,this.width=e.width||0,this.height=e.height||0,this.frameRate=e.attrs.optionalFloat("FRAME-RATE",0),this._avgBitrate=e.attrs.decimalInteger("AVERAGE-BANDWIDTH"),this.audioCodec=e.audioCodec,this.videoCodec=e.videoCodec,"imageCodec"in e)this.imageCodec=e.imageCodec;if(this.codecSet=[e.videoCodec,e.audioCodec].filter((s)=>!!s).map((s)=>s.substring(0,4)).join(","),"supplemental"in e){var n;this.supplemental=e.supplemental;let s=(n=e.supplemental)==null?void 0:n.videoCodec;if(s&&s!==e.videoCodec)this.codecSet+=`,${s.substring(0,4)}`}if("iframes"in e&&e.iframes)this.iframes=!0;else this.addGroupId("audio",e.attrs.AUDIO),this.addGroupId("text",e.attrs.SUBTITLES)}get maxBitrate(){return Math.max(this.realBitrate,this.bitrate)}get averageBitrate(){return this._avgBitrate||this.realBitrate||this.bitrate}get attrs(){return this._attrs[0]}get codecs(){return this.attrs.CODECS||""}get pathwayId(){return this.attrs["PATHWAY-ID"]||"."}get videoRange(){return this.attrs["VIDEO-RANGE"]||"SDR"}get score(){return this.attrs.optionalFloat("SCORE",0)}get uri(){return this.url[0]||""}hasAudioGroup(e){return N5(this._audioGroups,e)}hasSubtitleGroup(e){return N5(this._subtitleGroups,e)}get audioGroups(){return this._audioGroups}get subtitleGroups(){return this._subtitleGroups}addGroupId(e,n){if(!n)return;if(e==="audio"){let s=this._audioGroups;if(!s)s=this._audioGroups=[];if(s.indexOf(n)===-1)s.push(n)}else if(e==="text"){let s=this._subtitleGroups;if(!s)s=this._subtitleGroups=[];if(s.indexOf(n)===-1)s.push(n)}}get urlId(){return 0}set urlId(e){}get audioGroupIds(){return this.audioGroups?[this.audioGroupId]:void 0}get textGroupIds(){return this.subtitleGroups?[this.textGroupId]:void 0}get audioGroupId(){var e;return(e=this.audioGroups)==null?void 0:e[0]}get textGroupId(){var e;return(e=this.subtitleGroups)==null?void 0:e[0]}addFallback(){}}function N5(e,n){if(!n||!e)return!1;return e.indexOf(n)!==-1}function EE(){if(typeof matchMedia==="function"){let e=matchMedia("(dynamic-range: high)"),n=matchMedia("bad query");if(e.media!==n.media)return e.matches===!0}return!1}function CE(e,n){let s=!1,i=[];if(e)s=e!=="SDR",i=[e];if(n){i=n.allowedVideoRanges||e0.slice(0);let r=i.join("")!=="SDR"&&!n.videoCodec;if(s=n.preferHDR!==void 0?n.preferHDR:r&&EE(),!s)i=["SDR"]}return{preferHDR:s,allowedVideoRanges:i}}var jE=(e)=>{let n=new WeakSet;return(s,i)=>{if(e)i=e(s,i);if(typeof i==="object"&&i!==null){if(n.has(i))return;n.add(i)}return i}},us=(e,n)=>JSON.stringify(e,jE(n));function _E(e,n,s,i,r){let a=Object.keys(e),l=i==null?void 0:i.channels,c=i==null?void 0:i.audioCodec,f=r==null?void 0:r.videoCodec,d=l&&parseInt(l)===2,b=!1,y=!1,v=1/0,k=1/0,A=1/0,T=1/0,R=0,D=[],{preferHDR:U,allowedVideoRanges:Y}=CE(n,r);for(let ne=a.length;ne--;){let ie=e[a[ne]];if(b||(b=ie.channels[2]>0),v=Math.min(v,ie.minHeight),k=Math.min(k,ie.minFramerate),A=Math.min(A,ie.minBitrate),Y.filter((ae)=>ie.videoRanges[ae]>0).length>0)y=!0}v=ht(v)?v:0,k=ht(k)?k:0;let X=Math.max(1080,v),J=Math.max(30,k);if(A=ht(A)?A:s,s=Math.max(A,s),!y)n=void 0;let ee=a.length>1;return{codecSet:a.reduce((ne,ie)=>{let se=e[ie];if(ie===ne)return ne;if(D=y?Y.filter((ae)=>se.videoRanges[ae]>0):[],ee){if(se.minBitrate>s)return Ca(ie,`min bitrate of ${se.minBitrate} > current estimate of ${s}`),ne;if(!se.hasDefaultAudio)return Ca(ie,"no renditions with default or auto-select sound found"),ne;if(c&&ie.indexOf(c.substring(0,4))%5!==0)return Ca(ie,`audio codec preference "${c}" not found`),ne;if(l&&!d){if(!se.channels[l])return Ca(ie,`no renditions with ${l} channel sound found (channels options: ${Object.keys(se.channels)})`),ne}else if((!c||d)&&b&&se.channels["2"]===0)return Ca(ie,"no renditions with stereo sound found"),ne;if(se.minHeight>X)return Ca(ie,`min resolution of ${se.minHeight} > maximum of ${X}`),ne;if(se.minFramerate>J)return Ca(ie,`min framerate of ${se.minFramerate} > maximum of ${J}`),ne;if(!D.some((ae)=>se.videoRanges[ae]>0))return Ca(ie,`no variants with VIDEO-RANGE of ${us(D)} found`),ne;if(f&&ie.indexOf(f.substring(0,4))%5!==0)return Ca(ie,`video codec preference "${f}" not found`),ne;if(se.maxScore<R)return Ca(ie,`max score of ${se.maxScore} < selected max of ${R}`),ne}if(ne&&(Jd(ie)>=Jd(ne)||se.fragmentError>e[ne].fragmentError))return ne;return T=se.minIndex,R=se.maxScore,ie},void 0),videoRanges:D,preferHDR:U,minFramerate:k,minBitrate:A,minIndex:T}}function Ca(e,n){Rn.log(`[abr] start candidates with "${e}" ignored because ${n}`)}function j9(e){return e.reduce((n,s)=>{let i=n.groups[s.groupId];if(!i)i=n.groups[s.groupId]={tracks:[],channels:{2:0},hasDefault:!1,hasAutoSelect:!1};i.tracks.push(s);let r=s.channels||"2";if(i.channels[r]=(i.channels[r]||0)+1,i.hasDefault=i.hasDefault||s.default,i.hasAutoSelect=i.hasAutoSelect||s.autoselect,i.hasDefault)n.hasDefaultAudio=!0;if(i.hasAutoSelect)n.hasAutoSelectAudio=!0;return n},{hasDefaultAudio:!1,hasAutoSelectAudio:!1,groups:{}})}function IE(e,n,s,i){return e.slice(s,i+1).reduce((r,a,l)=>{if(!a.codecSet)return r;let c=a.audioGroups,f=r[a.codecSet];if(!f)r[a.codecSet]=f={minBitrate:1/0,minHeight:1/0,minFramerate:1/0,minIndex:l,maxScore:0,videoRanges:{SDR:0},channels:{"2":0},hasDefaultAudio:!c,fragmentError:0};f.minBitrate=Math.min(f.minBitrate,a.bitrate);let d=Math.min(a.height,a.width);if(f.minHeight=Math.min(f.minHeight,d),f.minFramerate=Math.min(f.minFramerate,a.frameRate),f.minIndex=Math.min(f.minIndex,l),f.maxScore=Math.max(f.maxScore,a.score),f.fragmentError+=a.fragmentError,f.videoRanges[a.videoRange]=(f.videoRanges[a.videoRange]||0)+1,c)c.forEach((b)=>{if(!b)return;let y=n.groups[b];if(!y)return;f.hasDefaultAudio=f.hasDefaultAudio||n.hasDefaultAudio?y.hasDefault:y.hasAutoSelect||!n.hasDefaultAudio&&!n.hasAutoSelectAudio,Object.keys(y.channels).forEach((v)=>{f.channels[v]=(f.channels[v]||0)+y.channels[v]})});return r},{})}function B5(e){if(!e)return e;let{lang:n,assocLang:s,characteristics:i,channels:r,audioCodec:a}=e;return{lang:n,assocLang:s,characteristics:i,channels:r,audioCodec:a}}function Ma(e,n,s){if("attrs"in e){let i=n.indexOf(e);if(i!==-1)return i}for(let i=0;i<n.length;i++){let r=n[i];if(ec(e,r,s))return i}return-1}function ec(e,n,s){let{groupId:i,name:r,lang:a,assocLang:l,default:c}=e,f=e.forced;return(i===void 0||n.groupId===i)&&(r===void 0||n.name===r)&&(a===void 0||RE(a,n.lang))&&(l===void 0||n.assocLang===l)&&(c===void 0||n.default===c)&&(f===void 0||n.forced===f)&&(!("characteristics"in e)||DE(e.characteristics||"",n.characteristics))&&(s===void 0||s(e,n))}function RE(e,n="--"){if(e.length===n.length)return e===n;return e.startsWith(n)||n.startsWith(e)}function DE(e,n=""){let s=e.split(","),i=n.split(",");return s.length===i.length&&!s.some((r)=>i.indexOf(r)===-1)}function Zl(e,n){let{audioCodec:s,channels:i}=e;return(s===void 0||(n.audioCodec||"").substring(0,4)===s.substring(0,4))&&(i===void 0||i===(n.channels||"2"))}function qE(e,n,s,i,r){let a=n[i],c=n.reduce((v,k,A)=>{let T=k.uri;return(v[T]||(v[T]=[])).push(A),v},{})[a.uri];if(c.length>1)i=Math.max.apply(Math,c);let{videoRange:f,frameRate:d}=a,b=a.codecSet.substring(0,4),y=H5(n,i,(v)=>{if(v.videoRange!==f||v.frameRate!==d||v.codecSet.substring(0,4)!==b)return!1;let k=v.audioGroups,A=s.filter((T)=>Eh(T.groupId,k));return Ma(e,A,r)>-1});if(y>-1)return y;return H5(n,i,(v)=>{let k=v.audioGroups,A=s.filter((T)=>Eh(T.groupId,k));return Ma(e,A,r)>-1})}function H5(e,n,s){for(let i=n;i>-1;i--)if(s(e[i]))return i;for(let i=n+1;i<e.length;i++)if(s(e[i]))return i;return-1}function t0(e,n){var s;return!!e&&e!==((s=n.loadLevelObj)==null?void 0:s.uri)}function Eh(e,n){if(!n)return!0;return n.indexOf(e)!==-1}function _9(e,n){if(n||e){let s=Un({},n);if(e){if(e.videoCodec)s.videoCodec=e.videoCodec;if(e.videoRange)s.allowedVideoRanges=[e.videoRange]}return s}}class I9 extends Zi{constructor(e){super("abr",e.logger);this.hls=void 0,this.lastLevelLoadSec=0,this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.firstAutoFloor=-1,this._nextAutoLevel=-1,this.nextAutoLevelKey="",this.audioTracksByGroup=null,this.codecTiers=null,this.timer=-1,this.fragCurrent=null,this.partCurrent=null,this.bitrateTestDelay=0,this.rebufferNotice=-1,this.supportedCache={},this.bwEstimator=void 0,this._abandonRulesCheck=(n)=>{var s;let{fragCurrent:i,partCurrent:r,hls:a}=this;if(!a)return;let{autoLevelEnabled:l,media:c}=a;if(!i||!c)return;let f=performance.now(),d=r?r.stats:i.stats,b=r?r.duration:i.duration,y=f-d.loading.start,v=a.minAutoLevel,k=i.level,A=this._nextAutoLevel;if(d.aborted||d.loaded&&d.loaded===d.total||k<=v){this.clearTimer(),this._nextAutoLevel=-1;return}if(!l)return;let T=A>-1&&A!==k,R=!!n||T;if(!R&&(c.paused||!c.playbackRate||!c.readyState))return;let D=a.mainForwardBufferInfo;if(!R&&D===null)return;let U=this.bwEstimator.getEstimateTTFB(),Y=Math.abs(c.playbackRate);if(y<=Math.max(U,1000*(b/(Y*2))))return;let X=D?D.len/Y:0,J=d.loading.first?d.loading.first-d.loading.start:-1,ee=d.loaded&&J>-1,te=this.getBwEstimate(),ne=a.levels,ie=ne[k],se=Math.max(d.loaded,Math.round(b*(i.bitrate||ie.averageBitrate)/8)),ae=ee?y-J:y;if(ae<1&&ee)ae=Math.min(y,d.loaded*8/te);let be=ee?d.loaded*1000/ae:0,ye=U/1000,fe=be?(se-d.loaded)/be:se*8/te+ye;if(fe<=X)return;let le=be?be*8:te,oe=((s=(n==null?void 0:n.details)||a.latestLevelDetails)==null?void 0:s.live)===!0,Se=a.config.abrBandWidthUpFactor,we=Number.POSITIVE_INFINITY,Fe;for(Fe=k-1;Fe>v;Fe--){let Ke=ne[Fe].maxBitrate,at=!ne[Fe].details||oe;if(we=this.getTimeToLoadFrag(ye,le,b*Ke,at),we<Math.min(X,b+ye))break}if(we>=fe)return;if(we>b*10)return;if(ee)this.bwEstimator.sample(y-Math.min(U,J),d.loaded);else this.bwEstimator.sampleTTFB(y);let De=ne[Fe].maxBitrate;if(this.getBwEstimate()*Se>De)this.firstAutoFloor=Math.min(Fe,a.firstLevel),this.resetEstimator(De);let Le=this.findBestLevel(De,v,Fe,0,X,1,1);if(Le>-1)Fe=Le;this.warn(`Fragment ${i.sn}${r?" part "+r.index:""} of level ${k} is loading too slowly;
13
- Fragment duration: ${i.duration.toFixed(3)}
14
- Time to underbuffer: ${X.toFixed(3)} s
15
- Estimated load time for current fragment: ${fe.toFixed(3)} s
16
- Estimated load time for down switch fragment: ${we.toFixed(3)} s
17
- TTFB estimate: ${J|0} ms
18
- Current BW estimate: ${ht(te)?te|0:"Unknown"} bps
19
- New BW estimate: ${this.getBwEstimate()|0} bps
20
- Switching to level ${Fe} @ ${De|0} bps`),a.nextLoadLevel=a.nextAutoLevel=Fe,this.clearTimer();let Be=()=>{this.clearTimer();let Ke=this.hls;if(this.fragCurrent===i&&Ke.loadLevel===Fe&&Fe>0){let at=this.getStarvationDelay();if(this.warn(`Aborting inflight request ${Fe>0?"and switching down":""}
21
- Fragment duration: ${i.duration.toFixed(3)} s
22
- Time to underbuffer: ${at.toFixed(3)} s`),i.abortRequests(),this.fragCurrent=this.partCurrent=null,Fe>v){let tt=this.findBestLevel(Ke.levels[v].bitrate,v,Fe,0,at,1,1);if(tt===-1)tt=v;Ke.nextLoadLevel=Ke.nextAutoLevel=tt,this.firstAutoFloor=Math.min(tt,Ke.firstLevel),this.resetEstimator(Ke.levels[tt].bitrate)}}};if(T||fe>we*2)Be();else this.timer=self.setInterval(Be,we*1000);a.trigger(Z.FRAG_LOAD_EMERGENCY_ABORTED,{frag:i,part:r,stats:d})},this.hls=e,this.bwEstimator=this.initEstimator(),this.registerListeners()}resetEstimator(e){if(!this.hls)return;if(e)this.log(`setting initial bwe to ${e}`),this.hls.config.abrEwmaDefaultEstimate=e;this.firstSelection=-1,this.bwEstimator=this.initEstimator()}initEstimator(){let e=this.hls.config;return new n9(e.abrEwmaSlowVoD,e.abrEwmaFastVoD,e.abrEwmaDefaultEstimate)}registerListeners(){let e=this.hls;e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.FRAG_LOADING,this.onFragLoading,this),e.on(Z.FRAG_LOADED,this.onFragLoaded,this),e.on(Z.FRAG_BUFFERED,this.onFragBuffered,this),e.on(Z.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(Z.LEVEL_LOADED,this.onLevelLoaded,this),e.on(Z.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(Z.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.on(Z.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;if(!e)return;e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.FRAG_LOADING,this.onFragLoading,this),e.off(Z.FRAG_LOADED,this.onFragLoaded,this),e.off(Z.FRAG_BUFFERED,this.onFragBuffered,this),e.off(Z.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(Z.LEVEL_LOADED,this.onLevelLoaded,this),e.off(Z.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(Z.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.off(Z.ERROR,this.onError,this)}destroy(){this.unregisterListeners(),this.clearTimer(),this.hls=this._abandonRulesCheck=this.supportedCache=null,this.audioTracksByGroup=this.codecTiers=this.fragCurrent=this.partCurrent=null}onManifestLoading(e,n){this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.firstAutoFloor=-1,this.lastLevelLoadSec=0,this.supportedCache={},this.fragCurrent=this.partCurrent=null,this.onLevelsUpdated(),this.clearTimer()}onLevelsUpdated(){if(this.lastLoadedFragLevel>-1&&this.fragCurrent)this.lastLoadedFragLevel=this.fragCurrent.level;this._nextAutoLevel=-1,this.onMaxAutoLevelUpdated(),this.codecTiers=null,this.audioTracksByGroup=null}onMaxAutoLevelUpdated(){this.firstSelection=-1,this.nextAutoLevelKey=""}onFragLoading(e,n){let s=n.frag;if(this.ignoreFragment(s))return;if(!s.bitrateTest){var i;this.fragCurrent=s,this.partCurrent=(i=n.part)!=null?i:null}this.clearTimer(),this.timer=self.setInterval(this._abandonRulesCheck,100)}onLevelSwitching(e,n){this.clearTimer()}onError(e,n){if(n.fatal)return;switch(n.details){case Oe.BUFFER_ADD_CODEC_ERROR:case Oe.BUFFER_APPEND_ERROR:this.lastLoadedFragLevel=-1,this.firstSelection=-1;break;case Oe.FRAG_LOAD_TIMEOUT:{let s=n.frag,{fragCurrent:i,partCurrent:r}=this;if(s&&Yg(s,i)){let a=performance.now(),l=r?r.stats:s.stats,c=a-l.loading.start,f=l.loading.first?l.loading.first-l.loading.start:-1;if(l.loaded&&f>-1){let b=this.bwEstimator.getEstimateTTFB();this.bwEstimator.sample(c-Math.min(b,f),l.loaded)}else this.bwEstimator.sampleTTFB(c)}break}}}getTimeToLoadFrag(e,n,s,i){let r=e+s/n,a=i?e+this.lastLevelLoadSec:0;return r+a}onLevelLoaded(e,n){let s=this.hls.config,{loading:i}=n.stats,r=i.end-i.first;if(ht(r))this.lastLevelLoadSec=r/1000;if(n.details.live)this.bwEstimator.update(s.abrEwmaSlowLive,s.abrEwmaFastLive);else this.bwEstimator.update(s.abrEwmaSlowVoD,s.abrEwmaFastVoD);if(this.timer>-1)this._abandonRulesCheck(n.levelInfo)}onFragLoaded(e,n){var s;let{frag:i,part:r}=n,a=r?r.stats:i.stats;if(i.type===Ct.MAIN)this.bwEstimator.sampleTTFB(a.loading.first-a.loading.start);if(this.ignoreFragment(i))return;if(this.clearTimer(),i.level===this._nextAutoLevel)this._nextAutoLevel=-1;if(this.firstSelection=-1,(s=this.hls)!=null&&s.config.abrMaxWithRealBitrate){let l=r?r.duration:i.duration,c=this.hls.levels[i.level],f=(c.loaded?c.loaded.bytes:0)+a.loaded,d=(c.loaded?c.loaded.duration:0)+l;c.loaded={bytes:f,duration:d},c.realBitrate=Math.round(8*f/d)}if(i.bitrateTest){let l={stats:a,frag:i,part:r,id:i.type};this.onFragBuffered(Z.FRAG_BUFFERED,l),i.bitrateTest=!1}else this.lastLoadedFragLevel=i.level}onFragBuffered(e,n){let{frag:s,part:i}=n,r=i!=null&&i.stats.loaded?i.stats:s.stats;if(r.aborted)return;if(this.ignoreFragment(s))return;let l=((s.bitrate||0)>=1e5?r.parsing.end:r.loading.end)-r.loading.start-Math.min(r.loading.first-r.loading.start,this.bwEstimator.getEstimateTTFB());if(this.bwEstimator.sample(l,r.loaded),r.bwEstimate=this.getBwEstimate(),s.bitrateTest)this.bitrateTestDelay=l/1000;else if(this.bitrateTestDelay=0,this.firstAutoFloor>-1&&this.bwEstimator.canEstimate())this.firstAutoFloor=-1}ignoreFragment(e){return e.type!==Ct.MAIN||e.sn==="initSegment"}clearTimer(){if(this.timer>-1)self.clearInterval(this.timer),this.timer=-1}get firstAutoLevel(){let{hls:e}=this;if(!e)return 0;let{maxAutoLevel:n,minAutoLevel:s}=e,i=this.getBwEstimate(),r=this.getStarvationDelay(),a=e.config.maxStarvationDelay,l=this.findBestLevel(i,s,n,r/2,a,1,1);if(l>-1)return l;let c=e.firstLevel,f=this.firstAutoFloor===-1?1/0:this.firstAutoFloor,d=Math.min(Math.max(c,s),n,f);return this.warn(`Could not find best starting auto level. Defaulting to first in playlist ${c} clamped to ${d}`),d}get forcedAutoLevel(){if(this.nextAutoLevelKey)return-1;return this._nextAutoLevel}get nextAutoLevel(){if(!this.hls)return-1;let e=this.forcedAutoLevel,s=this.bwEstimator.canEstimate(),i=this.lastLoadedFragLevel>-1;if(e!==-1&&(!s||!i||this.nextAutoLevelKey===this.getAutoLevelKey()))return e;let r=s&&i?this.getNextABRAutoLevel():this.firstAutoLevel;if(e!==-1){let a=this.hls.levels;if(a.length>Math.max(e,r)&&a[e].loadError<=a[r].loadError)return e}return this._nextAutoLevel=r,this.nextAutoLevelKey=this.getAutoLevelKey(),r}getAutoLevelKey(){return`${this.getBwEstimate()}_${this.getStarvationDelay().toFixed(2)}`}getNextABRAutoLevel(){let{fragCurrent:e,partCurrent:n,hls:s}=this;if(!s)return-1;if(s.levels.length<=1)return s.loadLevel;let{maxAutoLevel:i,config:r,minAutoLevel:a}=s,l=n?n.duration:e?e.duration:0,c=this.getBwEstimate(),f=this.getStarvationDelay(),{abrBandWidthFactor:d,abrBandWidthUpFactor:b}=r;if(f){let T=this.findBestLevel(c,a,i,f,0,d,b);if(T>=0)return this.rebufferNotice=-1,T}let y=l?Math.min(l,r.maxStarvationDelay):r.maxStarvationDelay;if(!f){let T=this.bitrateTestDelay;if(T)y=(l?Math.min(l,r.maxLoadingDelay):r.maxLoadingDelay)-T,this.info(`bitrate test took ${Math.round(1000*T)}ms, set first fragment max fetchDuration to ${Math.round(1000*y)} ms`),d=b=1}let v=this.findBestLevel(c,a,i,f,y,d,b);if(this.rebufferNotice!==v)this.rebufferNotice=v,this.info(`${f?"rebuffering expected":"buffer is empty"}, optimal quality level ${v}`);if(v>-1)return v;let k=s.levels[a],A=s.loadLevelObj;if(A&&(k==null?void 0:k.bitrate)<A.bitrate)return a;return s.loadLevel}getStarvationDelay(){let e=this.hls,n=e==null?void 0:e.media;if(!n)return 1/0;let s=n&&n.playbackRate!==0?Math.abs(n.playbackRate):1,i=e.mainForwardBufferInfo;return(i?i.len:0)/s}getBwEstimate(){return this.bwEstimator.getEstimate()}findBestLevel(e,n,s,i,r,a,l){let{hls:c,lastLoadedFragLevel:f,fragCurrent:d,partCurrent:b}=this;if(!c)return-1;let y=i+r,v=f===-1?c.firstLevel:f,{levels:k,allAudioTracks:A,loadLevel:T,latestLevelDetails:R,config:D}=c;if(k.length===1)return 0;let U=k[v],Y=!!(R!=null&&R.live),X=T===-1||f===-1,J,ee="SDR",te=(U==null?void 0:U.frameRate)||0,{audioPreference:ne,videoPreference:ie}=D,se=this.audioTracksByGroup||(this.audioTracksByGroup=j9(A)),ae=-1;if(X){if(this.firstSelection!==-1)return this.firstSelection;let oe=this.codecTiers||(this.codecTiers=IE(k,se,n,s)),Se=_E(oe,ee,e,ne,ie),{codecSet:we,videoRanges:Fe,minFramerate:De,minBitrate:Le,minIndex:Be,preferHDR:Ke}=Se;ae=Be,J=we,ee=Ke?Fe[Fe.length-1]:Fe[0],te=De,e=Math.max(e,Le),this.log(`picked start tier ${us(Se)}`)}else J=U==null?void 0:U.codecSet,ee=U==null?void 0:U.videoRange;let be=b?b.duration:d?d.duration:0,ye=this.bwEstimator.getEstimateTTFB()/1000,fe=[];for(let oe=s;oe>=n;oe--){var le;let Se=k[oe],we=oe>v;if(!Se)continue;if(D.useMediaCapabilities&&!Se.supportedResult&&!Se.supportedPromise){let tt=navigator.mediaCapabilities;if(typeof(tt==null?void 0:tt.decodingInfo)==="function"&&vE(Se,se,ee,te,e,ne))Se.supportedPromise=T9(Se,se,tt,this.supportedCache),Se.supportedPromise.then((St)=>{if(!this.hls)return;Se.supportedResult=St;let jt=this.hls.levels,dt=jt.indexOf(Se);if(St.error)this.warn(`MediaCapabilities decodingInfo error: "${St.error}" for level ${dt} ${us(St)}`);else if(!St.supported){if(this.warn(`Unsupported MediaCapabilities decodingInfo result for level ${dt} ${us(St)}`),dt>-1&&jt.length>1){if(this.log(`Removing unsupported level ${dt}`),this.hls.removeLevel(dt),this.hls.loadLevel===-1)this.hls.nextLoadLevel=0}}else if(St.decodingInfoResults.some((Lt)=>Lt.smooth===!1||Lt.powerEfficient===!1))this.log(`MediaCapabilities decodingInfo for level ${dt} not smooth or powerEfficient: ${us(St)}`)}).catch((St)=>{this.warn(`Error handling MediaCapabilities decodingInfo: ${St}`)});else Se.supportedResult=x9}if(J&&Se.codecSet!==J||ee&&Se.videoRange!==ee||we&&te>Se.frameRate||!we&&te>0&&te<Se.frameRate||(le=Se.supportedResult)!=null&&(le=le.decodingInfoResults)!=null&&le.some((tt)=>tt.smooth===!1)){if(!X||oe!==ae){fe.push(oe);continue}}let Fe=Se.details,De=(b?Fe==null?void 0:Fe.partTarget:Fe==null?void 0:Fe.averagetargetduration)||be||1,Le;if(!we)Le=a*e;else Le=l*e;let Be=be&&i>=be*2&&r===0?Se.averageBitrate:Se.maxBitrate,Ke=this.getTimeToLoadFrag(ye,Le,Be*De,!Fe||Fe.live);if(Le>=Be&&(oe===f||Se.loadError===0&&Se.fragmentError===0||t9(Se,D.errorPenaltyExpireMs))&&(Ke<=ye||!ht(Ke)||Y&&!this.bitrateTestDelay||Ke<y)){let tt=this.forcedAutoLevel;if(oe!==T&&(tt===-1||tt!==T)){if(fe.length)this.trace(`Skipped level(s) ${fe.join(",")} of ${s} max with CODECS and VIDEO-RANGE:"${k[fe[0]].codecs}" ${k[fe[0]].videoRange}; not compatible with "${J}" ${ee}`);this.info(`switch candidate:${v}->${oe} adjustedbw(${Math.round(Le)})-bitrate=${Math.round(Le-Be)} ttfb:${ye.toFixed(1)} avgDuration:${De.toFixed(1)} maxFetchDuration:${y.toFixed(1)} fetchDuration:${Ke.toFixed(1)} firstSelection:${X} codecSet:${Se.codecSet} videoRange:${Se.videoRange} hls.loadLevel:${T}`)}if(X)this.firstSelection=oe;return oe}}return-1}set nextAutoLevel(e){let n=this.deriveNextAutoLevel(e);if(this._nextAutoLevel!==n)this.nextAutoLevelKey="",this._nextAutoLevel=n}deriveNextAutoLevel(e){if(!this.hls)return-1;let{maxAutoLevel:n,minAutoLevel:s}=this.hls;return Math.min(Math.max(e,s),n)}}var R9={search:function(e,n){let s=0,i=e.length-1,r=null,a=null;while(s<=i){r=(s+i)/2|0,a=e[r];let l=n(a);if(l>0)s=r+1;else if(l<0)i=r-1;else return a}return null}};function ME(e,n,s){if(n===null||!Array.isArray(e)||!e.length||!ht(n))return null;let i=e[0].programDateTime;if(n<(i||0))return null;let r=e[e.length-1].endProgramDateTime;if(n>=(r||0))return null;for(let a=0;a<e.length;++a){let l=e[a];if(LE(n,s,l))return l}return null}function af(e,n,s=0,i=0,r=0.005){let a=null;if(e){a=n[1+e.sn-n[0].sn]||null;let c=e.endDTS-s;if(c>0&&c<0.0000015)s+=0.0000015;if(a&&e.level!==a.level&&a.end<=e.end)a=n[2+e.sn-n[0].sn]||null}else if(s===0&&n[0].start===0)a=n[0];if(a&&((!e||e.level===a.level)&&U5(s,i,a)===0||FE(a,e,Math.min(r,i))))return a;let l=R9.search(n,U5.bind(null,s,i));if(l&&(l!==e||!a))return l;return a}function FE(e,n,s){if((n==null?void 0:n.start)===0&&n.level<e.level&&(n.endPTS||0)>0){let i=n.tagList.reduce((r,a)=>{if(a[0]==="INF")r+=parseFloat(a[1]);return r},s);return e.start<=i}return!1}function U5(e=0,n=0,s){if(s.start<=e&&s.start+s.duration>e)return 0;let i=Math.min(n,s.duration+(s.deltaPTS?s.deltaPTS:0));if(s.start+s.duration-i<=e)return 1;else if(s.start-i>e&&s.start)return-1;return 0}function LE(e,n,s){let i=Math.min(n,s.duration+(s.deltaPTS?s.deltaPTS:0))*1000;return(s.endProgramDateTime||0)-i>e}function D9(e,n,s){if(e){if(e.startCC<=n&&e.endCC>=n){let i=e.fragments,{fragmentHint:r}=e;if(r)i=i.concat(r);let a;return R9.search(i,(l)=>{if(l.cc<n)return 1;if(l.cc>n)return-1;if(a=l,l.end<=s)return 1;if(l.start>s)return-1;return 0}),a||null}}return null}function q9(e,n){if(n===e.endSN&&e.fragmentHint)return e.fragmentHint;return e.fragments[1+n-e.startSN]||null}var gi={DoNothing:0,SendEndCallback:1,SendAlternateToPenaltyBox:2,RemoveAlternatePermanently:3,InsertDiscontinuity:4,RetryRequest:5},pi={None:0,MoveAllAlternatesMatchingHost:1,MoveAllAlternatesMatchingHDCP:2,MoveAllAlternatesMatchingKey:4,SwitchToSDR:8,ResetMediaSource:16};class M9 extends Zi{constructor(e){super("error-controller",e.logger);this.hls=void 0,this.playlistError=0,this.hls=e,this.registerListeners()}registerListeners(){let e=this.hls;e.on(Z.ERROR,this.onError,this),e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.LEVEL_UPDATED,this.onLevelUpdated,this)}unregisterListeners(){let e=this.hls;if(!e)return;e.off(Z.ERROR,this.onError,this),e.off(Z.ERROR,this.onErrorOut,this),e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.LEVEL_UPDATED,this.onLevelUpdated,this)}destroy(){this.unregisterListeners(),this.hls=null}startLoad(e){}stopLoad(){this.playlistError=0}getVariantLevelIndex(e){if((e==null?void 0:e.type)===Ct.MAIN)return e.level;return this.getVariantIndex()}getVariantIndex(){var e;let n=this.hls,s=n.currentLevel;if((e=n.loadLevelObj)!=null&&e.details||s===-1)return n.loadLevel;return s}variantHasKey(e,n){if(e){var s;if((s=e.details)!=null&&s.hasKey(n))return!0;let i=e.audioGroups;if(i)return this.hls.allAudioTracks.filter((a)=>i.indexOf(a.groupId)>=0).some((a)=>{var l;return(l=a.details)==null?void 0:l.hasKey(n)})}return!1}onManifestLoading(){this.playlistError=0}onLevelUpdated(){this.playlistError=0}onError(e,n){var s;if(n.fatal)return;let i=this.hls,r=n.context;switch(n.details){case Oe.FRAG_LOAD_ERROR:case Oe.FRAG_LOAD_TIMEOUT:case Oe.KEY_LOAD_ERROR:case Oe.KEY_LOAD_TIMEOUT:n.errorAction=this.getFragRetryOrSwitchAction(n);return;case Oe.FRAG_PARSING_ERROR:if((s=n.frag)!=null&&s.gap){n.errorAction=gh();return}case Oe.FRAG_GAP:case Oe.FRAG_DECRYPT_ERROR:{n.errorAction=this.getFragRetryOrSwitchAction(n),n.errorAction.action=gi.SendAlternateToPenaltyBox;return}case Oe.PLAYLIST_UNCHANGED_ERROR:case Oe.LEVEL_EMPTY_ERROR:case Oe.LEVEL_PARSING_ERROR:{var a;let l=n.parent===Ct.MAIN?n.level:i.loadLevel;if(n.details===Oe.LEVEL_EMPTY_ERROR&&!!((a=n.context)!=null&&(a=a.levelDetails)!=null&&a.live))n.errorAction=this.getPlaylistRetryOrSwitchAction(n,l);else n.levelRetry=!1,n.errorAction=this.getLevelSwitchAction(n,l)}return;case Oe.LEVEL_LOAD_ERROR:case Oe.LEVEL_LOAD_TIMEOUT:if(typeof(r==null?void 0:r.level)==="number")n.errorAction=this.getPlaylistRetryOrSwitchAction(n,r.level);return;case Oe.AUDIO_TRACK_LOAD_ERROR:case Oe.AUDIO_TRACK_LOAD_TIMEOUT:case Oe.SUBTITLE_LOAD_ERROR:case Oe.SUBTITLE_TRACK_LOAD_TIMEOUT:if(r){let l=i.loadLevelObj;if(l&&(r.type===un.AUDIO_TRACK&&l.hasAudioGroup(r.groupId)||r.type===un.SUBTITLE_TRACK&&l.hasSubtitleGroup(r.groupId))){n.errorAction=this.getPlaylistRetryOrSwitchAction(n,i.loadLevel),n.errorAction.action=gi.SendAlternateToPenaltyBox,n.errorAction.flags=pi.MoveAllAlternatesMatchingHost;return}}return;case Oe.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:n.errorAction={action:gi.SendAlternateToPenaltyBox,flags:pi.MoveAllAlternatesMatchingHDCP};return;case Oe.KEY_SYSTEM_SESSION_UPDATE_FAILED:case Oe.KEY_SYSTEM_STATUS_INTERNAL_ERROR:case Oe.KEY_SYSTEM_NO_SESSION:n.errorAction={action:gi.SendAlternateToPenaltyBox,flags:pi.MoveAllAlternatesMatchingKey};return;case Oe.BUFFER_ADD_CODEC_ERROR:case Oe.REMUX_ALLOC_ERROR:case Oe.BUFFER_APPEND_ERROR:if(!n.errorAction)n.errorAction=this.getLevelSwitchAction(n,n.level);return;case Oe.MEDIA_SOURCE_REQUIRES_RESET:if(!n.errorAction)n.errorAction=this.getLevelSwitchAction(n,n.level);n.errorAction.flags|=pi.ResetMediaSource|pi.SwitchToSDR;return;case Oe.INTERNAL_EXCEPTION:case Oe.BUFFER_APPENDING_ERROR:case Oe.BUFFER_APPEND_NO_PROGRESS:case Oe.BUFFER_FULL_ERROR:case Oe.LEVEL_SWITCH_ERROR:case Oe.BUFFER_STALLED_ERROR:case Oe.BUFFER_SEEK_OVER_HOLE:case Oe.BUFFER_NUDGE_ON_STALL:n.errorAction=gh();return}if(n.type===Dt.KEY_SYSTEM_ERROR)n.levelRetry=!1,n.errorAction=gh()}getPlaylistRetryOrSwitchAction(e,n){let s=this.hls,i=j5(s.config.playlistLoadPolicy,e),r=this.playlistError++;if(vh(i,r,Qd(e),e.response))return{action:gi.RetryRequest,flags:pi.None,retryConfig:i,retryCount:r};let l=this.getLevelSwitchAction(e,n);if(i)l.retryConfig=i,l.retryCount=r;return l}getFragRetryOrSwitchAction(e){let n=this.hls,s=this.getVariantLevelIndex(e.frag),i=n.levels[s],{fragLoadPolicy:r,keyLoadPolicy:a}=n.config,l=j5(Z3(e)?a:r,e),c=n.levels.reduce((d,b)=>d+b.fragmentError,0);if(i){if(e.details!==Oe.FRAG_GAP)i.fragmentError++;if(!e9(e)){if(vh(l,c,Qd(e),e.response))return{action:gi.RetryRequest,flags:pi.None,retryConfig:l,retryCount:c}}}let f=this.getLevelSwitchAction(e,s);if(l)f.retryConfig=l,f.retryCount=c;return f}getLevelSwitchAction(e,n){let s=this.hls;if(n===null||n===void 0)n=s.loadLevel;let i=this.hls.levels[n];if(i){var r,a;let f=e.details;if(i.loadError++,i.loadErrorTime=self.performance.now(),f===Oe.BUFFER_APPEND_ERROR)i.fragmentError++;let d=-1,{levels:b,loadLevel:y,minAutoLevel:v,maxAutoLevel:k}=s;if(!s.autoLevelEnabled&&!s.config.preserveManualLevelOnError)s.loadLevel=-1;let A=(r=e.frag)==null?void 0:r.type,R=(A===Ct.AUDIO&&f===Oe.FRAG_PARSING_ERROR||e.sourceBufferName==="audio"&&z5(e))&&b.some(({audioCodec:J})=>i.audioCodec!==J),U=e.sourceBufferName==="video"&&z5(e)&&b.some(({codecSet:J,audioCodec:ee})=>i.codecSet!==J&&i.audioCodec===ee),{type:Y,groupId:X}=(a=e.context)!=null?a:{};for(let J=b.length;J--;){let ee=(J+y)%b.length;if(ee!==y&&ee>=v&&ee<=k&&(b[ee].loadError===0||t9(b[ee],s.config.errorPenaltyExpireMs))){var l,c;let te=b[ee];if(f===Oe.FRAG_GAP&&A===Ct.MAIN&&e.frag){let ne=b[ee].details;if(ne){let ie=af(e.frag,ne.fragments,e.frag.start);if(ie!=null&&ie.gap)continue}}else if(Y===un.AUDIO_TRACK&&te.hasAudioGroup(X)||Y===un.SUBTITLE_TRACK&&te.hasSubtitleGroup(X))continue;else if(A===Ct.AUDIO&&(l=i.audioGroups)!=null&&l.some((ne)=>te.hasAudioGroup(ne))||A===Ct.SUBTITLE&&(c=i.subtitleGroups)!=null&&c.some((ne)=>te.hasSubtitleGroup(ne))||R&&i.audioCodec===te.audioCodec||U&&i.codecSet===te.codecSet||!R&&i.audioCodec!==te.audioCodec)continue;d=ee;break}}if(d>-1&&s.loadLevel!==d)return e.levelRetry=!0,this.playlistError=0,{action:gi.SendAlternateToPenaltyBox,flags:pi.None,nextAutoLevel:d}}return{action:gi.SendAlternateToPenaltyBox,flags:pi.MoveAllAlternatesMatchingHost}}onErrorOut(e,n){var s,i;switch((s=n.errorAction)==null?void 0:s.action){case gi.DoNothing:break;case gi.SendAlternateToPenaltyBox:if(this.sendAlternateToPenaltyBox(n),!n.errorAction.resolved&&n.details!==Oe.FRAG_GAP&&n.details!==Oe.PLAYLIST_UNCHANGED_ERROR&&!F9(n))n.fatal=!0;break;case gi.RetryRequest:break}if((((i=n.errorAction)==null?void 0:i.flags)||0)&pi.ResetMediaSource)this.hls.recoverMediaError();if(n.fatal){this.hls.stopLoad();return}}sendAlternateToPenaltyBox(e){let n=this.hls,s=e.errorAction;if(!s)return;let i=s.nextAutoLevel;if(s.flags===pi.None)this.switchLevel(e,i);else if(s.flags&pi.SwitchToSDR){let l=this.hls.levels,c=l.length;for(let f=c;f--;)if(l[f].videoRange!=="SDR")l[f].fragmentError++,l[f].loadError++;else if(i===void 0)i=f}else if(s.flags&pi.MoveAllAlternatesMatchingHDCP){let l=this.getVariantLevelIndex(e.frag),c=n.levels[l],f=c==null?void 0:c.attrs["HDCP-LEVEL"];s.hdcpLevel=f;let d=f==="NONE";if(f&&!d)n.maxHdcpLevel=n1[n1.indexOf(f)-1],s.resolved=!0,this.warn(`Restricting playback to HDCP-LEVEL of "${n.maxHdcpLevel}" or lower`);else{if(d)this.warn("HDCP policy resticted output with HDCP-LEVEL=NONE");s.flags|=pi.MoveAllAlternatesMatchingKey}}if(s.flags&pi.MoveAllAlternatesMatchingKey){let l=e.decryptdata;if(l){let c=this.hls.levels,f=c.length;for(let b=f;b--;)if(this.variantHasKey(c[b],l)){var r,a;this.log(`Banned key found in level ${b} (${c[b].bitrate}bps) or audio group "${(r=c[b].audioGroups)==null?void 0:r.join(",")}" (${(a=e.frag)==null?void 0:a.type} fragment) ${ri(l.keyId||[])}`),c[b].fragmentError++,c[b].loadError++,this.log(`Removing level ${b} with key error (${e.error})`),this.hls.removeLevel(b)}let d=e.frag;if(this.hls.levels.length<f)s.resolved=!0;else if(d&&d.type!==Ct.MAIN){let b=d.decryptdata;if(b&&!l.matches(b))s.resolved=!0}}}if(!s.resolved)this.switchLevel(e,i)}switchLevel(e,n){if(n!==void 0&&e.errorAction){if(this.warn(`switching to level ${n} after ${e.details}`),this.hls.nextAutoLevel=n,e.errorAction.resolved=!0,this.hls.nextLoadLevel=this.hls.nextAutoLevel,e.details===Oe.BUFFER_ADD_CODEC_ERROR&&e.mimeType&&e.sourceBufferName!=="audiovideo"){let s=t1(e.mimeType),i=this.hls.levels;for(let r=i.length;r--;)if(i[r][`${e.sourceBufferName}Codec`]===s)this.log(`Removing level ${r} for ${e.details} ("${s}" not supported)`),this.hls.removeLevel(r)}}}}function z5(e){let n=e.details;if(n===Oe.BUFFER_ADD_CODEC_ERROR||n===Oe.MEDIA_SOURCE_REQUIRES_RESET)return!0;if(n===Oe.BUFFER_APPEND_ERROR){if(!F9(e))return!0}return!1}function F9(e){return e.details===Oe.BUFFER_APPEND_ERROR&&(e.error.name==="QuotaExceededError"||e.error.name==="InvalidStateError")}function gh(e){let n={action:gi.DoNothing,flags:pi.None};if(e)n.resolved=!0;return n}var _s={NOT_LOADED:"NOT_LOADED",APPENDING:"APPENDING",PARTIAL:"PARTIAL",OK:"OK"};class L9{constructor(e){this.activePartLists=Object.create(null),this.endListFragments=Object.create(null),this.fragments=Object.create(null),this.timeRanges=Object.create(null),this.bufferPadding=0.2,this.hls=void 0,this.hasGaps=!1,this.hls=e,this._registerListeners()}_registerListeners(){let{hls:e}=this;if(e)e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.BUFFER_APPENDED,this.onBufferAppended,this),e.on(Z.FRAG_BUFFERED,this.onFragBuffered,this),e.on(Z.FRAG_LOADED,this.onFragLoaded,this)}_unregisterListeners(){let{hls:e}=this;if(e)e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.BUFFER_APPENDED,this.onBufferAppended,this),e.off(Z.FRAG_BUFFERED,this.onFragBuffered,this),e.off(Z.FRAG_LOADED,this.onFragLoaded,this)}destroy(){this._unregisterListeners(),this.hls=this.fragments=this.activePartLists=this.endListFragments=this.timeRanges=null}getAppendedFrag(e,n){let s=this.activePartLists[n];if(s)for(let i=s.length;i--;){let r=s[i];if(!r)break;if(r.start<=e&&e<=r.end&&r.loaded)return r}return this.getBufferedFrag(e,n)}getBufferedFrag(e,n){return this.getFragAtPos(e,n,!0)}getFragAtPos(e,n,s){let{fragments:i}=this,r=Object.keys(i);for(let a=r.length;a--;){let l=i[r[a]];if((l==null?void 0:l.body.type)===n&&(!s||l.buffered)){let c=l.body;if(c.start<=e&&e<=c.end)return c}}return null}detectEvictedFragments(e,n,s,i,r,a){if(this.timeRanges)this.timeRanges[e]=n;let l=(r==null?void 0:r.fragment.sn)||-1;Object.keys(this.fragments).forEach((c)=>{let f=this.fragments[c];if(!f||!this.hls)return;let d=f.body;if(l>=d.sn)return;if(!f.buffered&&(!f.loaded||a)){if(d.type===s)this.removeFragment(d);return}let b=f.range[e];if(!b)return;if(b.time.length===0){this.removeFragment(d);return}if(b.time.some((y)=>{let v=!this.isTimeBuffered(y.startPTS,y.endPTS,n);if(v)this.removeFragment(d);return v}),i&&i!==d&&ph()){let y=i.endPTS,v=d.startPTS;if(y&&v&&f.range.video){let k=v-y;if(k<0&&k>-0.1)this.removeFragment(d),this.hls.trigger(Z.BUFFER_FLUSHING,{startOffset:y+0.004,endOffset:1/0,type:"video"})}}})}detectPartialFragments(e){let n=this.timeRanges,{frag:s,part:i,id:r}=e;if(!n||!Ps(s))return;let a=Wc(s),l=this.fragments[a];if(!l||l.buffered&&s.gap)return;let c=!s.relurl;Object.keys(n).forEach((d)=>{let b=s.elementaryStreams[d];if(!b)return;let y=n[d],v=c||b.partial===!0;l.range[d]=this.getBufferedTimes(s,i,v,y),this.detectEvictedFragments(d,y,r,s,i)}),l.loaded=null;let f=Object.keys(l.range);if(f.length){if(this.bufferedEnd(l,s),!Rd(l))this.removeParts(s.sn-1,s.type);if(!i){let d=Math.min(0.004,s.duration);f.some((b)=>{var y;let v=(y=l.range[b])==null?void 0:y.time,k=v.length===0||v.length===1&&v[0].endPTS-v[0].startPTS<d;if(k)this.addAsGap(s);return k})}}else this.removeFragment(s)}addAsGap(e){e.gap=!0,this.removeFragment(e),this.fragBuffered(e,!0)}bufferedEnd(e,n){if(e.buffered=!0,(e.body.endList=n.endList||e.body.endList)&&!n.gap)this.endListFragments[e.body.type]=e}removeParts(e,n){let s=this.activePartLists[n];if(!s)return;this.activePartLists[n]=G5(s,(i)=>i.fragment.sn>=e)}fragBuffered(e,n){let s=Wc(e),i=this.fragments[s];if(!i&&n){if(i=this.fragments[s]={body:e,appendedPTS:null,loaded:null,buffered:!1,range:Object.create(null)},e.gap)this.hasGaps=!0}if(i)i.loaded=null,this.bufferedEnd(i,e);return i}getBufferedTimes(e,n,s,i){let r={time:[],partial:s},{start:a,end:l}=e,c=e.minEndPTS||l,f=e.maxStartPTS||a;for(let d=0;d<i.length;d++){let b=i.start(d)-this.bufferPadding,y=i.end(d)+this.bufferPadding;if(f>=b&&c<=y){r.time.push({startPTS:Math.max(a,i.start(d)),endPTS:Math.min(l,i.end(d))});break}else if(a<y&&l>b){let v=Math.max(a,i.start(d)),k=Math.min(l,i.end(d));if(k>v)r.partial=!0,r.time.push({startPTS:v,endPTS:k})}else if(l<=b)break}return r}getPartialFragment(e){let n=null,s,i,r,a=0,{bufferPadding:l,fragments:c}=this;return Object.keys(c).forEach((f)=>{let d=c[f];if(!d)return;if(Rd(d)){if(i=d.body.start-l,r=d.body.end+l,e>=i&&e<=r){if(s=Math.min(e-i,r-e),a<=s)n=d.body,a=s}}}),n}isEndListAppended(e){let n=this.endListFragments[e];return n!==void 0&&(n.buffered||Rd(n))}getState(e){let n=Wc(e),s=this.fragments[n];if(s)if(!s.buffered)return _s.APPENDING;else if(Rd(s))return _s.PARTIAL;else return _s.OK;return _s.NOT_LOADED}isTimeBuffered(e,n,s){let i,r;for(let a=0;a<s.length;a++){if(i=s.start(a)-this.bufferPadding,r=s.end(a)+this.bufferPadding,e>=i&&n<=r)return!0;if(n<=i)return!1}return!1}onManifestLoading(){this.removeAllFragments()}onFragLoaded(e,n){if(!Ps(n.frag)||n.frag.bitrateTest)return;let s=n.frag,i=n.part?null:n,r=Wc(s);this.fragments[r]={body:s,appendedPTS:null,loaded:i,buffered:!1,range:Object.create(null)}}onBufferAppended(e,n){let{frag:s,part:i,timeRanges:r}=n;if(!Ps(s))return;let a=s.type;if(i){let l=this.activePartLists[a];if(!l)this.activePartLists[a]=l=[];l.push(i)}this.timeRanges=r}onFragBuffered(e,n){this.detectPartialFragments(n)}hasFragment(e){let n=Wc(e);return!!this.fragments[n]}hasFragments(e){let{fragments:n}=this,s=Object.keys(n);if(!e)return s.length>0;for(let i=s.length;i--;){let r=n[s[i]];if((r==null?void 0:r.body.type)===e)return!0}return!1}hasParts(e){var n;return!!((n=this.activePartLists[e])!=null&&n.length)}getBackBufferEvictionEnd(e,n,s){let{fragments:i}=this,r=0,a=0,l=Object.keys(i);for(let c=0;c<l.length;c++){let f=i[l[c]];if(!f||!f.buffered||f.body.type!==n)continue;let d=f.body;if(d.gap)return 0;let b=d.hasStats&&d.stats.loaded||d.byteLength||d.bitrate&&d.bitrate*8*d.duration;if(d.end<=e&&b){if(r+=b,a=Math.max(a,d.end),r>=s)return a}}return a>0?a:0}removeFragmentsInRange(e,n,s,i,r){if(i&&!this.hasGaps)return;Object.keys(this.fragments).forEach((a)=>{let l=this.fragments[a];if(!l)return;let c=l.body;if(c.type!==s||i&&!c.gap)return;if(c.start<n&&c.end>e&&(l.buffered||r))this.removeFragment(c)})}removeFragment(e){let n=Wc(e);e.clearElementaryStreamInfo();let s=this.activePartLists[e.type];if(s){let i=e.sn;this.activePartLists[e.type]=G5(s,(r)=>r.fragment.sn!==i)}if(delete this.fragments[n],e.endList)delete this.endListFragments[e.type]}removeAllFragments(){var e;this.fragments=Object.create(null),this.endListFragments=Object.create(null),this.activePartLists=Object.create(null),this.hasGaps=!1;let n=(e=this.hls)==null||(e=e.latestLevelDetails)==null?void 0:e.partList;if(n)n.forEach((s)=>s.clearElementaryStreamInfo())}}function Rd(e){var n,s,i,r;return e.buffered&&!!(e.body.gap||(n=e.range.video)!=null&&n.partial||(s=e.range.audio)!=null&&s.partial||(i=e.range.audiovideo)!=null&&i.partial||(r=e.range.subs)!=null&&r.partial)}function Wc(e){return`${e.type}_${e.level}_${e.sn}`}function G5(e,n){return e.filter((s)=>{let i=n(s);if(!i)s.clearElementaryStreamInfo();return i})}var fl={cbc:0,ctr:1};class O9{constructor(e,n,s){this.subtle=void 0,this.aesIV=void 0,this.aesMode=void 0,this.subtle=e,this.aesIV=n,this.aesMode=s}decrypt(e,n){switch(this.aesMode){case fl.cbc:return this.subtle.decrypt({name:"AES-CBC",iv:this.aesIV},n,e);case fl.ctr:return this.subtle.decrypt({name:"AES-CTR",counter:this.aesIV,length:64},n,e);default:throw Error(`[AESCrypto] invalid aes mode ${this.aesMode}`)}}}function OE(e){let n=e.byteLength,s=n&&new DataView(e.buffer).getUint8(n-1);if(s)return e.slice(0,n-s);return e}class P9{constructor(){this.rcon=[0,1,2,4,8,16,32,64,128,27,54],this.subMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.invSubMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.sBox=new Uint32Array(256),this.invSBox=new Uint32Array(256),this.key=new Uint32Array(0),this.ksRows=0,this.keySize=0,this.keySchedule=void 0,this.invKeySchedule=void 0,this.initTable()}uint8ArrayToUint32Array_(e){let n=new DataView(e),s=new Uint32Array(4);for(let i=0;i<4;i++)s[i]=n.getUint32(i*4);return s}initTable(){let e=this.sBox,n=this.invSBox,s=this.subMix,i=s[0],r=s[1],a=s[2],l=s[3],c=this.invSubMix,f=c[0],d=c[1],b=c[2],y=c[3],v=new Uint32Array(256),k=0,A=0,T=0;for(T=0;T<256;T++)if(T<128)v[T]=T<<1;else v[T]=T<<1^283;for(T=0;T<256;T++){let R=A^A<<1^A<<2^A<<3^A<<4;R=R>>>8^R&255^99,e[k]=R,n[R]=k;let D=v[k],U=v[D],Y=v[U],X=v[R]*257^R*16843008;if(i[k]=X<<24|X>>>8,r[k]=X<<16|X>>>16,a[k]=X<<8|X>>>24,l[k]=X,X=Y*16843009^U*65537^D*257^k*16843008,f[R]=X<<24|X>>>8,d[R]=X<<16|X>>>16,b[R]=X<<8|X>>>24,y[R]=X,!k)k=A=1;else k=D^v[v[v[Y^D]]],A^=v[v[A]]}}expandKey(e){let n=this.uint8ArrayToUint32Array_(e),s=!0,i=0;while(i<n.length&&s)s=n[i]===this.key[i],i++;if(s)return;this.key=n;let r=this.keySize=n.length;if(r!==4&&r!==6&&r!==8)throw Error("Invalid aes key size="+r);let a=this.ksRows=(r+6+1)*4,l,c,f=this.keySchedule=new Uint32Array(a),d=this.invKeySchedule=new Uint32Array(a),b=this.sBox,y=this.rcon,v=this.invSubMix,k=v[0],A=v[1],T=v[2],R=v[3],D,U;for(l=0;l<a;l++){if(l<r){D=f[l]=n[l];continue}if(U=D,l%r===0)U=U<<8|U>>>24,U=b[U>>>24]<<24|b[U>>>16&255]<<16|b[U>>>8&255]<<8|b[U&255],U^=y[l/r|0]<<24;else if(r>6&&l%r===4)U=b[U>>>24]<<24|b[U>>>16&255]<<16|b[U>>>8&255]<<8|b[U&255];f[l]=D=(f[l-r]^U)>>>0}for(c=0;c<a;c++){if(l=a-c,c&3)U=f[l];else U=f[l-4];if(c<4||l<=4)d[c]=U;else d[c]=k[b[U>>>24]]^A[b[U>>>16&255]]^T[b[U>>>8&255]]^R[b[U&255]];d[c]=d[c]>>>0}}networkToHostOrderSwap(e){return e<<24|(e&65280)<<8|(e&16711680)>>8|e>>>24}decrypt(e,n,s){let i=this.keySize+6,r=this.invKeySchedule,a=this.invSBox,l=this.invSubMix,c=l[0],f=l[1],d=l[2],b=l[3],y=this.uint8ArrayToUint32Array_(s),v=y[0],k=y[1],A=y[2],T=y[3],R=new Int32Array(e),D=new Int32Array(R.length),U,Y,X,J,ee,te,ne,ie,se,ae,be,ye,fe,le,oe=this.networkToHostOrderSwap;while(n<R.length){se=oe(R[n]),ae=oe(R[n+1]),be=oe(R[n+2]),ye=oe(R[n+3]),ee=se^r[0],te=ye^r[1],ne=be^r[2],ie=ae^r[3],fe=4;for(le=1;le<i;le++)U=c[ee>>>24]^f[te>>16&255]^d[ne>>8&255]^b[ie&255]^r[fe],Y=c[te>>>24]^f[ne>>16&255]^d[ie>>8&255]^b[ee&255]^r[fe+1],X=c[ne>>>24]^f[ie>>16&255]^d[ee>>8&255]^b[te&255]^r[fe+2],J=c[ie>>>24]^f[ee>>16&255]^d[te>>8&255]^b[ne&255]^r[fe+3],ee=U,te=Y,ne=X,ie=J,fe=fe+4;U=a[ee>>>24]<<24^a[te>>16&255]<<16^a[ne>>8&255]<<8^a[ie&255]^r[fe],Y=a[te>>>24]<<24^a[ne>>16&255]<<16^a[ie>>8&255]<<8^a[ee&255]^r[fe+1],X=a[ne>>>24]<<24^a[ie>>16&255]<<16^a[ee>>8&255]<<8^a[te&255]^r[fe+2],J=a[ie>>>24]<<24^a[ee>>16&255]<<16^a[te>>8&255]<<8^a[ne&255]^r[fe+3],D[n]=oe(U^v),D[n+1]=oe(J^k),D[n+2]=oe(X^A),D[n+3]=oe(Y^T),v=se,k=ae,A=be,T=ye,n=n+4}return D.buffer}}class N9{constructor(e,n,s){this.subtle=void 0,this.key=void 0,this.aesMode=void 0,this.subtle=e,this.key=n,this.aesMode=s}expandKey(){let e=PE(this.aesMode);return this.subtle.importKey("raw",this.key,{name:e},!1,["encrypt","decrypt"])}}function PE(e){switch(e){case fl.cbc:return"AES-CBC";case fl.ctr:return"AES-CTR";default:throw Error(`[FastAESKey] invalid aes mode ${e}`)}}var BE=16;class g0{constructor(e,n){if(this.logEnabled=!0,this.decryptRange=void 0,this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null,this.useSoftware=void 0,this.enableSoftwareAES=void 0,this.enableSoftwareAES=e.enableSoftwareAES,n!==!0)try{let s=self.crypto;if(s)this.subtle=s.subtle||s.webkitSubtle}catch(s){}this.useSoftware=!this.subtle}destroy(){this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null}isSync(){return this.useSoftware}flush(){let{currentResult:e,remainderData:n}=this;if(!e||n)return this.reset(),null;let s=new Uint8Array(e);this.reset();let i=this.decryptRange;if(i){if(i.start===0&&i.end>=s.length)return s;return s.slice(i.start,i.end)}return OE(s)}reset(){if(this.currentResult=null,this.currentIV=null,this.remainderData=null,this.softwareDecrypter)this.softwareDecrypter=null}decrypt(e,n,s,i,r){if(this.decryptRange=r,this.useSoftware||r)return new Promise((a,l)=>{let c=ArrayBuffer.isView(e)?e:new Uint8Array(e);this.softwareDecrypt(c,n,s,i);let f=this.flush();if(f)a(f.buffer);else l(Error("[softwareDecrypt] Failed to decrypt data"))});return this.webCryptoDecrypt(new Uint8Array(e),n,s,i)}softwareDecrypt(e,n,s,i){let{currentIV:r,currentResult:a,remainderData:l}=this;if(i!==fl.cbc||n.byteLength!==16)return Rn.warn("SoftwareDecrypt: can only handle AES-128-CBC"),null;if(this.logOnce("JS AES decrypt"),l)e=qr(l,e),this.remainderData=null;let c=this.getValidChunk(e);if(!c.length)return null;if(r)s=r;let f=this.softwareDecrypter;if(!f)f=this.softwareDecrypter=new P9;f.expandKey(n);let d=a;if(this.currentResult=f.decrypt(c.buffer,0,s),this.currentIV=c.slice(-16).buffer,!d)return null;return d}webCryptoDecrypt(e,n,s,i){if(this.key!==n||!this.fastAesKey){if(!this.subtle)return Promise.resolve(this.onWebCryptoError(e,n,s,i));this.key=n,this.fastAesKey=new N9(this.subtle,n,i)}return this.fastAesKey.expandKey().then((r)=>{if(!this.subtle)return Promise.reject(Error("web crypto not initialized"));return this.logOnce("WebCrypto AES decrypt"),new O9(this.subtle,new Uint8Array(s),i).decrypt(e.buffer,r)}).catch((r)=>(Rn.warn(`[decrypter]: WebCrypto Error, disable WebCrypto API, ${r.name}: ${r.message}`),this.onWebCryptoError(e,n,s,i)))}onWebCryptoError(e,n,s,i){let r=this.enableSoftwareAES;if(r){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(e,n,s,i);let a=this.flush();if(a)return a.buffer}throw Error("WebCrypto"+(r?" and softwareDecrypt":"")+": failed to decrypt data")}getValidChunk(e){let n=e,s=e.length-e.length%BE;if(s!==e.length)n=e.slice(0,s),this.remainderData=e.slice(s);return n}logOnce(e){if(!this.logEnabled)return;Rn.log(`[decrypter]: ${e}`),this.logEnabled=!1}}var V5=Math.pow(2,17);class i1{constructor(e){this.config=void 0,this.loader=null,this.partLoadTimeout=-1,this.config=e}destroy(){if(this.loader)this.loader.destroy(),this.loader=null}abort(){if(this.loader)this.loader.abort()}load(e,n,s,i){let r=e.url;if(!r)return Promise.reject(new la({type:Dt.NETWORK_ERROR,details:Oe.FRAG_LOAD_ERROR,fatal:!1,frag:e,error:Error(`Fragment does not have a ${r?"part list":"url"}`),networkDetails:null}));this.abort();let a=this.config,{fLoader:l,loader:c}=a;return new Promise((f,d)=>{if(this.loader)this.loader.destroy();if(e.gap)if(e.tagList.some((T)=>T[0]==="GAP")){d(X5(e));return}else e.gap=!1;let b=this.loader=l?new l(a):new c(a),y=$5(e,null,n);e.loader=b;let v=_5(a.fragLoadPolicy.default),k={loadPolicy:v,timeout:v.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:e.sn==="initSegment"?1/0:V5};b.stats.retry=e.stats.retry,e.stats=b.stats;let A={onSuccess:(T,R,D,U)=>{this.resetLoader(e,b);let Y=T.data;if(D.resetIV&&e.decryptdata)e.decryptdata.iv=new Uint8Array(Y.slice(0,16)),Y=Y.slice(16);f({frag:e,part:null,payload:Y,networkDetails:U})},onError:(T,R,D,U)=>{this.resetLoader(e,b),d(new la({type:Dt.NETWORK_ERROR,details:Oe.FRAG_LOAD_ERROR,fatal:!1,frag:e,response:qt({url:r,data:void 0},T),error:Error(`HTTP Error ${T.code} ${T.text}`),networkDetails:D,stats:U}))},onAbort:(T,R,D)=>{this.resetLoader(e,b),d(new la({type:Dt.NETWORK_ERROR,details:Oe.INTERNAL_ABORTED,fatal:!1,frag:e,error:Error("Aborted"),networkDetails:D,stats:T}))},onTimeout:(T,R,D)=>{this.resetLoader(e,b),d(new la({type:Dt.NETWORK_ERROR,details:Oe.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,error:Error(`Timeout after ${k.timeout}ms`),networkDetails:D,stats:T}))}};if(s){let T=this.gateProgress(s,i);A.onProgress=(R,D,U,Y)=>T({frag:e,part:null,payload:U,networkDetails:Y})}b.load(y,k,A)})}gateProgress(e,n){let s=e;if(n){let i=[],r=!1;n.then(()=>{r=!0,i.forEach((a)=>e(a)),i.length=0}).catch(()=>{}),s=(a)=>{if(r)e(a);else i.push(a)}}return s}loadPart(e,n,s){this.abort();let i=this.config,{fLoader:r,loader:a}=i;return new Promise((l,c)=>{if(this.loader)this.loader.destroy();if(e.gap||n.gap){c(X5(e,n));return}let f=this.loader=r?new r(i):new a(i),d=$5(e,n);e.loader=f;let b=_5(i.fragLoadPolicy.default),y={loadPolicy:b,timeout:b.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:V5};n.stats=f.stats,f.load(d,y,{onSuccess:(v,k,A,T)=>{this.resetLoader(e,f),this.updateStatsFromPart(e,n);let R={frag:e,part:n,payload:v.data,networkDetails:T};s(R),l(R)},onError:(v,k,A,T)=>{this.resetLoader(e,f),c(new la({type:Dt.NETWORK_ERROR,details:Oe.FRAG_LOAD_ERROR,fatal:!1,frag:e,part:n,response:qt({url:d.url,data:void 0},v),error:Error(`HTTP Error ${v.code} ${v.text}`),networkDetails:A,stats:T}))},onAbort:(v,k,A)=>{e.stats.aborted=n.stats.aborted,this.resetLoader(e,f),c(new la({type:Dt.NETWORK_ERROR,details:Oe.INTERNAL_ABORTED,fatal:!1,frag:e,part:n,error:Error("Aborted"),networkDetails:A,stats:v}))},onTimeout:(v,k,A)=>{this.resetLoader(e,f),c(new la({type:Dt.NETWORK_ERROR,details:Oe.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,part:n,error:Error(`Timeout after ${y.timeout}ms`),networkDetails:A,stats:v}))}})})}updateStatsFromPart(e,n){let s=e.stats,i=n.stats,r=i.total;if(s.loaded+=i.loaded,r){let c=Math.round(e.duration/n.duration),f=Math.min(Math.round(s.loaded/r),c),b=(c-f)*Math.round(s.loaded/f);s.total=s.loaded+b}else s.total=Math.max(s.loaded,s.total);let a=s.loading,l=i.loading;if(a.start)a.first+=l.first-l.start;else a.start=l.start,a.first=l.first;a.end=l.end}resetLoader(e,n){if(e.loader=null,e.url=null,this.loader===n)self.clearTimeout(this.partLoadTimeout),this.loader=null;n.destroy()}}function $5(e,n=null,s){let i=n||e,r={type:un.MEDIA_FRAGMENT,frag:e,part:n,responseType:"arraybuffer",url:i.url,headers:{},rangeStart:0,rangeEnd:0},a=n0(e,n,s);if(a.resetIV)r.resetIV=!0;if(a.byteRange)r.rangeStart=a.byteRange.start,r.rangeEnd=a.byteRange.end;return r}function n0(e,n=null,s){let i={},r=n||e,{byteRangeStartOffset:a,byteRangeEndOffset:l}=r;if(ht(a)&&ht(l)){var c;if((e.sn==="initSegment"||s)&&HE((c=e.decryptdata)==null?void 0:c.method)){let f=Math.floor(a/16)*16,d=Math.ceil(l/16)*16;if(i.decryptRange={start:a-f,end:l-f},f>=16)i.resetIV=!0,f=f-16;i.byteRange={start:f,end:d}}else i.byteRange={start:a,end:l}}return i}function X5(e,n){let s=Error(`GAP ${e.gap?"tag":"attribute"} found`),i={type:Dt.MEDIA_ERROR,details:Oe.FRAG_GAP,fatal:!1,frag:e,error:s,networkDetails:null};if(n)i.part=n;return(n?n:e).stats.aborted=!0,new la(i)}function HE(e){return e==="AES-128"||e==="AES-256"}class la extends Error{constructor(e){super(e.error.message);this.data=void 0,this.data=e}}class D1 extends Zi{constructor(e,n){super(e,n);this._boundTick=void 0,this._tickTimer=null,this._tickInterval=null,this._tickCallCount=0,this._boundTick=this.tick.bind(this)}destroy(){this.onHandlerDestroying(),this.onHandlerDestroyed()}onHandlerDestroying(){this.clearNextTick(),this.clearInterval()}onHandlerDestroyed(){}hasInterval(){return!!this._tickInterval}hasNextTick(){return!!this._tickTimer}setInterval(e){if(!this._tickInterval)return this._tickCallCount=0,this._tickInterval=self.setInterval(this._boundTick,e),!0;return!1}clearInterval(){if(this._tickInterval)return self.clearInterval(this._tickInterval),this._tickInterval=null,!0;return!1}clearNextTick(){if(this._tickTimer)return self.clearTimeout(this._tickTimer),this._tickTimer=null,!0;return!1}tick(){if(this._tickCallCount++,this._tickCallCount===1){if(this.doTick(),this._tickCallCount>1)this.tickImmediate();this._tickCallCount=0}else this.log(`possible exception thrown in task-loop (${this.constructor.name}.doTick)`),this._tickCallCount=0}tickImmediate(){this.clearNextTick(),this._tickTimer=self.setTimeout(this._boundTick,0)}doTick(){}}class b0{constructor(e,n,s,i=0,r=-1,a=!1,l,c,f){this.level=void 0,this.sn=void 0,this.part=void 0,this.id=void 0,this.size=void 0,this.partial=void 0,this.iframe=void 0,this.duration=void 0,this.decryptRange=void 0,this.transmuxing=Dd(),this.buffering={audio:Dd(),video:Dd(),audiovideo:Dd()},this.level=e,this.sn=n,this.id=s,this.size=i,this.part=r,this.partial=a,this.duration=l||0,this.decryptRange=f,this.iframe=c||!1}}function Dd(){return{start:0,executeStart:0,executeEnd:0,end:0}}var W5={length:0,start:()=>0,end:()=>0};class Ot{static isBuffered(e,n){if(e){let s=Ot.getBuffered(e);for(let i=s.length;i--;)if(n>=s.start(i)&&n<=s.end(i))return!0}return!1}static bufferedRanges(e){if(e){let n=Ot.getBuffered(e);return Ot.timeRangesToArray(n)}return[]}static timeRangesToArray(e){let n=[];for(let s=0;s<e.length;s++)n.push({start:e.start(s),end:e.end(s)});return n}static bufferInfo(e,n,s){if(e){let i=Ot.bufferedRanges(e);if(i.length)return Ot.bufferedInfo(i,n,s)}return{len:0,start:n,end:n,bufferedIndex:-1}}static bufferedInfo(e,n,s){if(n=Math.max(0,n),e.length>1)e.sort((d,b)=>d.start-b.start||b.end-d.end);let i=-1,r=[];if(s)for(let d=0;d<e.length;d++){if(n>=e[d].start&&n<=e[d].end)i=d;let b=r.length;if(b){let y=r[b-1].end;if(e[d].start-y<s){if(e[d].end>y)r[b-1].end=e[d].end}else r.push(e[d])}else r.push(e[d])}else r=e;let a=0,l,c=n,f=n;for(let d=0;d<r.length;d++){let b=r[d].start,y=r[d].end;if(i===-1&&n>=b&&n<=y)i=d;if(n+s>=b&&n<y)c=b,f=y,a=f-n;else if(n+s<b){l=b;break}}return{len:a,start:c||0,end:f||0,nextStart:l,buffered:e,bufferedIndex:i}}static getBuffered(e){try{return e.buffered||W5}catch(n){return Rn.log("failed to get media.buffered",n),W5}}}var r1=/\{\$([a-zA-Z0-9-_]+)\}/g;function K5(e){return r1.lastIndex=0,r1.test(e)}function q1(e,n){if(e.variableList!==null||e.hasVariableRefs){let s=e.variableList;return n.replace(r1,(i)=>{let r=i.substring(2,i.length-1),a=s==null?void 0:s[r];if(a===void 0)return e.playlistParsingError||(e.playlistParsingError=Error(`Missing preceding EXT-X-DEFINE tag for Variable Reference: "${r}"`)),i;return a})}return n}function Y5(e,n,s){let i=e.variableList;if(!i)e.variableList=i={};let r,a;if("QUERYPARAM"in n){r=n.QUERYPARAM;try{let l=new self.URL(s).searchParams;if(l.has(r))a=l.get(r);else throw Error(`"${r}" does not match any query parameter in URI: "${s}"`)}catch(l){e.playlistParsingError||(e.playlistParsingError=Error(`EXT-X-DEFINE QUERYPARAM: ${l.message}`))}}else r=n.NAME,a=n.VALUE;if(r in i)e.playlistParsingError||(e.playlistParsingError=Error(`EXT-X-DEFINE duplicate Variable Name declarations: "${r}"`));else i[r]=a||""}function UE(e,n,s){let i=n.IMPORT;if(s&&i in s){let r=e.variableList;if(!r)e.variableList=r={};r[i]=s[i]}else e.playlistParsingError||(e.playlistParsingError=Error(`EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "${i}"`))}var zE=/^(\d+)x(\d+)$/,Q5=/(.+?)=(".*?"|.*?)(?:,|$)/g;class js{constructor(e,n){if(typeof e==="string")e=js.parseAttrList(e,n);Un(this,e)}get clientAttrs(){return Object.keys(this).filter((e)=>e.substring(0,2)==="X-")}decimalInteger(e){let n=parseInt(this[e],10);if(n>Number.MAX_SAFE_INTEGER)return 1/0;return n}hexadecimalInteger(e){if(this[e]){let n=(this[e]||"0x").slice(2);n=(n.length&1?"0":"")+n;let s=new Uint8Array(n.length/2);for(let i=0;i<n.length/2;i++)s[i]=parseInt(n.slice(i*2,i*2+2),16);return s}return null}hexadecimalIntegerAsNumber(e){let n=parseInt(this[e],16);if(n>Number.MAX_SAFE_INTEGER)return 1/0;return n}decimalFloatingPoint(e){return parseFloat(this[e])}optionalFloat(e,n){let s=this[e];return s?parseFloat(s):n}enumeratedString(e){return this[e]}enumeratedStringList(e,n){let s=this[e];return(s?s.split(/[ ,]+/):[]).reduce((i,r)=>(i[r.toLowerCase()]=!0,i),n)}bool(e){return this[e]==="YES"}decimalResolution(e){let n=zE.exec(this[e]);if(n===null)return;return{width:parseInt(n[1],10),height:parseInt(n[2],10)}}static parseAttrList(e,n){let s,i={},r='"';Q5.lastIndex=0;while((s=Q5.exec(e))!==null){let a=s[1].trim(),l=s[2],c=l.indexOf('"')===0&&l.lastIndexOf('"')===l.length-1,f=!1;if(c)l=l.slice(1,-1);else switch(a){case"IV":case"SCTE35-CMD":case"SCTE35-IN":case"SCTE35-OUT":f=!0}if(n&&(c||f))l=q1(n,l);else if(!f&&!c)switch(a){case"CLOSED-CAPTIONS":if(l==="NONE")break;case"ALLOWED-CPC":case"CLASS":case"ASSOC-LANGUAGE":case"AUDIO":case"BYTERANGE":case"CHANNELS":case"CHARACTERISTICS":case"CODECS":case"DATA-ID":case"END-DATE":case"GROUP-ID":case"ID":case"IMPORT":case"INSTREAM-ID":case"KEYFORMAT":case"KEYFORMATVERSIONS":case"LANGUAGE":case"NAME":case"PATHWAY-ID":case"QUERYPARAM":case"RECENTLY-REMOVED-DATERANGES":case"SERVER-URI":case"STABLE-RENDITION-ID":case"STABLE-VARIANT-ID":case"START-DATE":case"SUBTITLES":case"SUPPLEMENTAL-CODECS":case"URI":case"VALUE":case"VIDEO":case"X-ASSET-LIST":case"X-ASSET-URI":Rn.warn(`${e}: attribute ${a} is missing quotes`)}i[a]=l}return i}}var GE="com.apple.hls.interstitial";function VE(e){return e!=="ID"&&e!=="CLASS"&&e!=="CUE"&&e!=="START-DATE"&&e!=="DURATION"&&e!=="END-DATE"&&e!=="END-ON-NEXT"}function XE(e){return e==="SCTE35-OUT"||e==="SCTE35-IN"||e==="SCTE35-CMD"}class F1{constructor(e,n,s=0){var i;if(this.attr=void 0,this.tagAnchor=void 0,this.tagOrder=void 0,this._startDate=void 0,this._endDate=void 0,this._dateAtEnd=void 0,this._cue=void 0,this._badValueForSameId=void 0,this.tagAnchor=(n==null?void 0:n.tagAnchor)||null,this.tagOrder=(i=n==null?void 0:n.tagOrder)!=null?i:s,n){let r=n.attr;for(let a in r)if(Object.prototype.hasOwnProperty.call(e,a)&&e[a]!==r[a]){Rn.warn(`DATERANGE tag attribute: "${a}" does not match for tags with ID: "${e.ID}"`),this._badValueForSameId=a;break}e=Un(new js({}),r,e)}if(this.attr=e,n)this._startDate=n._startDate,this._cue=n._cue,this._endDate=n._endDate,this._dateAtEnd=n._dateAtEnd;else this._startDate=new Date(e["START-DATE"]);if("END-DATE"in e){let r=(n==null?void 0:n.endDate)||new Date(e["END-DATE"]);if(ht(r.getTime()))this._endDate=r}}get id(){return this.attr.ID}get class(){return this.attr.CLASS}get cue(){let e=this._cue;if(e===void 0)return this._cue=this.attr.enumeratedStringList(this.attr.CUE?"CUE":"X-CUE",{pre:!1,post:!1,once:!1});return e}get startTime(){let{tagAnchor:e}=this;if(e===null||e.programDateTime===null)return Rn.warn(`Expected tagAnchor Fragment with PDT set for DateRange "${this.id}": ${e}`),NaN;return e.start+(this.startDate.getTime()-e.programDateTime)/1000}get startDate(){return this._startDate}get endDate(){let e=this._endDate||this._dateAtEnd;if(e)return e;let n=this.duration;if(n!==null)return this._dateAtEnd=new Date(this._startDate.getTime()+n*1000);return null}get duration(){if("DURATION"in this.attr){let e=this.attr.decimalFloatingPoint("DURATION");if(ht(e))return e}else if(this._endDate)return(this._endDate.getTime()-this._startDate.getTime())/1000;return null}get plannedDuration(){if("PLANNED-DURATION"in this.attr)return this.attr.decimalFloatingPoint("PLANNED-DURATION");return null}get endOnNext(){return this.attr.bool("END-ON-NEXT")}get isInterstitial(){return this.class===GE}get isValid(){return!!this.id&&!this._badValueForSameId&&ht(this.startDate.getTime())&&(this.duration===null||this.duration>=0)&&(!this.endOnNext||!!this.class)&&(!this.attr.CUE||!this.cue.pre&&!this.cue.post||this.cue.pre!==this.cue.post)&&(!this.isInterstitial||("X-ASSET-URI"in this.attr)||("X-ASSET-LIST"in this.attr))}get invalidReason(){if(!this.id)return"Missing ID";if(this._badValueForSameId)return`Date range ${this._badValueForSameId} mismatch`;if(!ht(this.startDate.getTime()))return"Date range invalid start date";if(this.isInterstitial&&!(("X-ASSET-URI"in this.attr)||("X-ASSET-LIST"in this.attr)))return"Interstitial Date range missing X-ASSET-(LIST|URI)";if(!this.isValid)return"Unknown (check DURATION(|END|NEXT), CLASS, and CUE)";return null}}var B9=10;class H9{constructor(e){this.PTSKnown=!1,this.alignedSliding=!1,this.averagetargetduration=void 0,this.endCC=0,this.endSN=0,this.fragments=void 0,this.fragmentHint=void 0,this.partList=null,this.dateRanges=void 0,this.dateRangeTagCount=0,this.live=!0,this.iframesOnly=!1,this.requestScheduled=-1,this.ageHeader=0,this.advancedDateTime=void 0,this.updated=!0,this.advanced=!0,this.misses=0,this.startCC=0,this.startSN=0,this.startTimeOffset=null,this.targetduration=0,this.totalduration=0,this.type=null,this.url=void 0,this.m3u8="",this.version=null,this.canBlockReload=!1,this.canSkipUntil=0,this.canSkipDateRanges=!1,this.skippedSegments=0,this.recentlyRemovedDateranges=void 0,this.partHoldBack=0,this.holdBack=0,this.partTarget=0,this.preloadHint=void 0,this.renditionReports=void 0,this.tuneInGoal=0,this.deltaUpdateFailed=void 0,this.driftStartTime=0,this.driftEndTime=0,this.driftStart=0,this.driftEnd=0,this.encryptedFragments=void 0,this.playlistParsingError=null,this.variableList=null,this.hasVariableRefs=!1,this.appliedTimelineOffset=void 0,this.fragments=[],this.encryptedFragments=[],this.dateRanges={},this.url=e}reloaded(e){if(!e){this.advanced=!0,this.updated=!0;return}let n=this.lastPartSn-e.lastPartSn,s=this.lastPartIndex-e.lastPartIndex;if(this.updated=this.endSN!==e.endSN||!!s||!!n||!this.live,this.advanced=this.endSN>e.endSN||n>0||n===0&&s>0,this.updated||this.advanced)this.misses=0;else this.misses=e.misses+1}hasKey(e){return this.encryptedFragments.some((n)=>{let s=n.decryptdata;if(!s)n.setKeyFormat(e.keyFormat),s=n.decryptdata;return!!s&&e.matches(s)})}get hasProgramDateTime(){if(this.fragments.length)return ht(this.fragments[this.fragments.length-1].programDateTime);return!1}get levelTargetDuration(){return this.averagetargetduration||this.targetduration||B9}get drift(){let e=this.driftEndTime-this.driftStartTime;if(e>0)return(this.driftEnd-this.driftStart)*1000/e;return 1}get edge(){return this.partEnd||this.fragmentEnd}get partEnd(){var e;if((e=this.partList)!=null&&e.length)return this.partList[this.partList.length-1].end;return this.fragmentEnd}get fragmentEnd(){if(this.fragments.length)return this.fragments[this.fragments.length-1].end;return 0}get fragmentStart(){if(this.fragments.length)return this.fragments[0].start;return 0}get age(){if(this.advancedDateTime)return Math.max(Date.now()-this.advancedDateTime,0)/1000;return 0}get lastPartIndex(){var e;if((e=this.partList)!=null&&e.length)return this.partList[this.partList.length-1].index;return-1}get maxPartIndex(){let e=this.partList;if(e){let n=this.lastPartIndex;if(n!==-1){for(let s=e.length;s--;)if(e[s].index>n)return e[s].index;return n}}return 0}get lastPartSn(){var e;if((e=this.partList)!=null&&e.length)return this.partList[this.partList.length-1].fragment.sn;return this.endSN}get expired(){if(this.live&&this.age&&this.misses<3){let e=this.partEnd-this.fragmentStart;return this.age>Math.max(e,this.totalduration)+this.levelTargetDuration}return!1}}function s0(e,n){if(e.length===n.length)return!e.some((s,i)=>s!==n[i]);return!1}function J5(e,n){if(!e&&!n)return!0;if(!e||!n)return!1;return s0(e,n)}function Zc(e){return e==="AES-128"||e==="AES-256"||e==="AES-256-CTR"}function L1(e){switch(e){case"AES-128":case"AES-256":return fl.cbc;case"AES-256-CTR":return fl.ctr;default:throw Error(`invalid full segment method ${e}`)}}function a1(e){return Uint8Array.from(unescape(encodeURIComponent(e)),(n)=>n.charCodeAt(0))}function WE(e){let n=a1(e).subarray(0,16),s=new Uint8Array(16);return s.set(n,16-n.length),s}function U9(e){let n=function(i,r,a){let l=i[r];i[r]=i[a],i[a]=l};n(e,0,3),n(e,1,2),n(e,4,5),n(e,6,7)}function z9(e){let n=e.split(":"),s=null;if(n[0]==="data"&&n.length===2){let i=n[1].split(";"),r=i[i.length-1].split(",");if(r.length===2){let a=r[0]==="base64",l=r[1];if(a)i.splice(-1,1),s=_1(l);else s=WE(l)}}return s}var i0=typeof self<"u"?self:void 0,ys={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha"},Ai={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.streamingkeydelivery",PLAYREADY:"com.microsoft.playready",WIDEVINE:"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"};function qd(e){switch(e){case Ai.FAIRPLAY:return ys.FAIRPLAY;case Ai.PLAYREADY:return ys.PLAYREADY;case Ai.WIDEVINE:return ys.WIDEVINE;case Ai.CLEARKEY:return ys.CLEARKEY}}var G9={WIDEVINE:"edef8ba979d64acea3c827dcd51d21ed"};function Ig(e){switch(e){case ys.FAIRPLAY:return Ai.FAIRPLAY;case ys.PLAYREADY:return Ai.PLAYREADY;case ys.WIDEVINE:return Ai.WIDEVINE;case ys.CLEARKEY:return Ai.CLEARKEY}}function oh(e){let{drmSystems:n,widevineLicenseUrl:s}=e,i=n?[ys.FAIRPLAY,ys.WIDEVINE,ys.PLAYREADY,ys.CLEARKEY].filter((r)=>!!n[r]):[];if(!i[ys.WIDEVINE]&&s)i.push(ys.WIDEVINE);return i}var V9=function(e){if(i0!=null&&(e=i0.navigator)!=null&&e.requestMediaKeySystemAccess)return self.navigator.requestMediaKeySystemAccess.bind(self.navigator);else return null}();function KE(e,n,s,i){let r;switch(e){case ys.FAIRPLAY:r=["cenc","sinf"];break;case ys.WIDEVINE:case ys.PLAYREADY:r=["cenc"];break;case ys.CLEARKEY:r=["cenc","keyids"];break;default:throw Error(`Unknown key-system: ${e}`)}return YE(r,n,s,i)}function YE(e,n,s,i){return[{initDataTypes:e,persistentState:i.persistentState||"optional",distinctiveIdentifier:i.distinctiveIdentifier||"optional",sessionTypes:i.sessionTypes||[i.sessionType||"temporary"],audioCapabilities:n.map((a)=>({contentType:`audio/mp4; codecs=${a}`,robustness:i.audioRobustness||"",encryptionScheme:i.audioEncryptionScheme||null})),videoCapabilities:s.map((a)=>({contentType:`video/mp4; codecs=${a}`,robustness:i.videoRobustness||"",encryptionScheme:i.videoEncryptionScheme||null}))}]}function QE(e){var n;return!!e&&(e.sessionType==="persistent-license"||!!((n=e.sessionTypes)!=null&&n.some((s)=>s==="persistent-license")))}function O1(e){let n=new Uint16Array(e.buffer,e.byteOffset,e.byteLength/2),s=ca(n),i=s.substring(s.indexOf("<"),s.length),l=new DOMParser().parseFromString(i,"text/xml").getElementsByTagName("KID")[0];if(l){let c=l.childNodes[0]?l.childNodes[0].nodeValue:l.getAttribute("VALUE");if(c){let f=_1(c).subarray(0,16);return U9(f),f}}return null}var Kc={};class ko{static clearKeyUriToKeyIdMap(){Kc={}}static setKeyIdForUri(e,n){Kc[e]=n}static addKeyIdForUri(e){let n=Object.keys(Kc).length%Number.MAX_SAFE_INTEGER,s=new Uint8Array(16);return new DataView(s.buffer,12,4).setUint32(0,n),Kc[e]=s,s}constructor(e,n,s,i=[1],r=null,a){if(this.uri=void 0,this.method=void 0,this.keyFormat=void 0,this.keyFormatVersions=void 0,this.encrypted=void 0,this.isCommonEncryption=void 0,this.iv=null,this.key=null,this.keyId=null,this.pssh=null,this.scheme=void 0,this.method=e,this.uri=n,this.keyFormat=s,this.keyFormatVersions=i,this.iv=r,this.encrypted=e?e!=="NONE":!1,this.isCommonEncryption=this.encrypted&&!Zc(e),a!=null&&a.startsWith("0x"))this.keyId=new Uint8Array(c9(a))}matches(e){return e.uri===this.uri&&e.method===this.method&&e.encrypted===this.encrypted&&e.keyFormat===this.keyFormat&&s0(e.keyFormatVersions,this.keyFormatVersions)&&J5(e.iv,this.iv)&&J5(e.keyId,this.keyId)}isSupported(){if(this.method){if(Zc(this.method)||this.method==="NONE")return!0;if(this.keyFormat==="identity")return this.method==="SAMPLE-AES";else switch(this.keyFormat){case Ai.FAIRPLAY:case Ai.WIDEVINE:case Ai.PLAYREADY:case Ai.CLEARKEY:return["SAMPLE-AES","SAMPLE-AES-CENC","SAMPLE-AES-CTR"].indexOf(this.method)!==-1}}return!1}getDecryptData(e,n){var s;if(!this.encrypted||!this.uri)return null;if(Zc(this.method)){let a=this.iv;if(!a){if(typeof e!=="number")Rn.warn(`missing IV for initialization segment with method="${this.method}" - compliance issue`),e=0;a=ZE(e)}return new ko(this.method,this.uri,"identity",this.keyFormatVersions,a)}if(this.keyId){let a=Kc[this.uri];if(a&&!s0(this.keyId,a))ko.setKeyIdForUri(this.uri,this.keyId);if(this.pssh)return this}let i=z9(this.uri);if(i)switch(this.keyFormat){case Ai.WIDEVINE:if(this.pssh=i,!this.keyId){let a=v9(i.buffer).filter((l)=>l.systemId===G9.WIDEVINE);if(a.length){var r;let l=a[0];this.keyId=(r=l.kids)!=null&&r.length?l.kids[0]:null}}if(!this.keyId)this.keyId=Z5(n);break;case Ai.PLAYREADY:{let a=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=rE(a,null,i),this.keyId=O1(i);break}default:{let a=i.subarray(0,16);if(a.length!==16){let l=new Uint8Array(16);l.set(a,16-a.length),a=l}this.keyId=a;break}}if(((s=this.keyId)==null?void 0:s.byteLength)!==16){let a;if(a=JE(n),!a){if(a=Z5(n),!a)a=Kc[this.uri]}if(a)this.keyId=a,ko.setKeyIdForUri(this.uri,a)}return this}}function JE(e){let n=e==null?void 0:e[Ai.WIDEVINE];if(n)return n.keyId;return null}function Z5(e){let n=e==null?void 0:e[Ai.PLAYREADY];if(n){let s=z9(n.uri);if(s)return O1(s)}return null}function ZE(e){let n=new Uint8Array(16);for(let s=12;s<16;s++)n[s]=e>>8*(15-s)&255;return n}var e3=/#EXT-X-STREAM-INF:([^\r\n]*)(?:[\r\n](?:#[^\r\n]*)?)*([^\r\n]+)|#EXT-X-(I-FRAME-STREAM-INF|SESSION-DATA|SESSION-KEY|DEFINE|CONTENT-STEERING|START):([^\r\n]*)(?:[\r\n]+|$)/g,t3=/#EXT-X-MEDIA:(.*)/g,eC=/^#EXT(?:INF|-X-TARGETDURATION):/m,Rg=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[^\r\n]*)/.source,/#.*/.source].join("|"),"g"),tC=new RegExp([/#EXT-X-(PROGRAM-DATE-TIME|BYTERANGE|DATERANGE|DEFINE|KEY|MAP|PART|PART-INF|PLAYLIST-TYPE|PRELOAD-HINT|RENDITION-REPORT|SERVER-CONTROL|SKIP|START):(.+)/.source,/#EXT-X-(BITRATE|DISCONTINUITY-SEQUENCE|MEDIA-SEQUENCE|TARGETDURATION|VERSION): *(\d+)/.source,/#EXT-X-(DISCONTINUITY|ENDLIST|GAP|INDEPENDENT-SEGMENTS|I-FRAMES-ONLY)/.source,/(#)([^:]*):(.*)/.source,/(#)(.*)(?:.*)\r?\n?/.source].join("|"));class Oa{static findGroup(e,n){for(let s=0;s<e.length;s++){let i=e[s];if(i.id===n)return i}}static resolve(e,n){return A1.buildAbsoluteURL(n,e,{alwaysNormalize:!0})}static isMediaPlaylist(e){return eC.test(e)}static parseMasterPlaylist(e,n){let s=K5(e),i={contentSteering:null,levels:[],iframeVariants:[],playlistParsingError:null,sessionData:null,sessionKeys:null,startTimeOffset:null,variableList:null,hasVariableRefs:s},r=[];if(e3.lastIndex=0,!e.startsWith("#EXTM3U"))return i.playlistParsingError=Error("no EXTM3U delimiter"),i;let a;while((a=e3.exec(e))!=null)if(a[1]){let c=new js(a[1],i),f=n3(c,a[2],n,i,r);if(f)i.levels.push(f)}else if(a[3]){let c=a[3],f=a[4];switch(c){case"I-FRAME-STREAM-INF":{let d=new js(f,i),b=n3(d,d.URI,n,i,r,!0);if(b)i.iframeVariants.push(b)}break;case"SESSION-DATA":{let d=new js(f,i),b=d["DATA-ID"];if(b){if(i.sessionData===null)i.sessionData={};i.sessionData[b]=d}break}case"SESSION-KEY":{let d=s3(f,n,i);if(d.encrypted&&d.isSupported()){if(i.sessionKeys===null)i.sessionKeys=[];i.sessionKeys.push(d)}else Rn.warn(`[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: "${f}"`);break}case"DEFINE":{{let d=new js(f,i);Y5(i,d,n)}break}case"CONTENT-STEERING":{let d=new js(f,i);i.contentSteering={uri:Oa.resolve(d["SERVER-URI"],n),pathwayId:d["PATHWAY-ID"]||"."};break}case"START":{i.startTimeOffset=i3(f);break}}}let l=r.length>0&&r.length<i.levels.length;if(i.levels=l?r:i.levels,i.levels.length===0)i.playlistParsingError=Error("no levels found in manifest");return i}static parseMasterPlaylistMedia(e,n,s){let i,r={},a=s.levels,l={AUDIO:a.map((f)=>({id:f.attrs.AUDIO,audioCodec:f.audioCodec})),SUBTITLES:a.map((f)=>({id:f.attrs.SUBTITLES,textCodec:f.textCodec})),"CLOSED-CAPTIONS":[]},c=0;t3.lastIndex=0;while((i=t3.exec(e))!==null){let f=new js(i[1],s),d=f.TYPE;if(d){let b=l[d],y=r[d]||[];r[d]=y;let v=f.LANGUAGE,k=f["ASSOC-LANGUAGE"],{CHANNELS:A,CHARACTERISTICS:T}=f,R=f["INSTREAM-ID"],D={attrs:f,bitrate:0,id:c++,groupId:f["GROUP-ID"]||"",name:f.NAME||v||"",type:d,default:f.bool("DEFAULT"),autoselect:f.bool("AUTOSELECT"),forced:f.bool("FORCED"),lang:v,url:f.URI?Oa.resolve(f.URI,n):""};if(k)D.assocLang=k;if(A)D.channels=A;if(T)D.characteristics=T;if(R)D.instreamId=R;if(b!=null&&b.length){let U=Oa.findGroup(b,D.groupId)||b[0];a3(D,U,"audioCodec"),a3(D,U,"textCodec")}y.push(D)}}return r}static parseLevelPlaylist(e,n,s,i,r,a){var l;let c={url:n},f=new H9(n),d=f.fragments,b=[],y=null,v=0,k=0,A=0,T=0,R=0,D=null,U=new uh(i,c),Y,X,J,ee=-1,te=!1,ne=null,ie;if(Rg.lastIndex=0,f.m3u8=e,f.hasVariableRefs=K5(e),((l=Rg.exec(e))==null?void 0:l[0])!=="#EXTM3U")return f.playlistParsingError=Error("Missing format identifier #EXTM3U"),f;while((Y=Rg.exec(e))!==null){if(te){if(te=!1,U=new uh(i,c),U.playlistOffset=A,U.setStart(A),U.sn=v,U.cc=T,R)U.bitrate=R;if(U.level=s,y){if(U.initSegment=y,y.rawProgramDateTime)U.rawProgramDateTime=y.rawProgramDateTime,y.rawProgramDateTime=null;if(ne)U.setByteRange(ne),ne=null}}let fe=Y[1];if(fe){U.duration=parseFloat(fe);let le=(" "+Y[2]).slice(1);U.title=le||null,U.tagList.push(le?["INF",fe,le]:["INF",fe])}else if(Y[3]){if(ht(U.duration)){var se;if(U.playlistOffset=A,U.setStart(A),J)l3(U,J,f);U.sn=v,U.level=s,U.cc=T;let le=(" "+Y[3]).slice(1);U.relurl=q1(f,le),o1(U,D,b),D=U,A+=U.duration,v++,k=0;let oe=U.byteRange;if(oe.length===2)U.bitrate=(oe[1]-oe[0])*8/U.duration|0;if(f.iframesOnly&&oe[0]&&((se=y)==null?void 0:se.cc)!==T){let Se=new uh(i,c);if(Se.relurl=U.relurl,Se.setByteRange(`${Math.min(oe[0],1316)}@0`),Se.level=s,Se.sn="initSegment",J){if(Se.levelkeys=J,J.identity)Se._decryptdata=J.identity.getDecryptData(0)}y=Se,U.initSegment=y}d.push(U),te=!0}}else{if(Y=Y[0].match(tC),!Y){Rn.warn("No matches on slow regex match for level playlist!");continue}for(X=1;X<Y.length;X++)if(Y[X]!==void 0)break;let le=(" "+Y[X]).slice(1),oe=(" "+Y[X+1]).slice(1),Se=Y[X+2]?(" "+Y[X+2]).slice(1):null;switch(le){case"BYTERANGE":if(D)U.setByteRange(oe,D);else U.setByteRange(oe);break;case"PROGRAM-DATE-TIME":if(U.rawProgramDateTime=oe,U.tagList.push(["PROGRAM-DATE-TIME",oe]),ee===-1)ee=d.length;break;case"PLAYLIST-TYPE":if(f.type)yo(f,le,Y);f.type=oe.toUpperCase();break;case"MEDIA-SEQUENCE":if(f.startSN!==0)yo(f,le,Y);else if(D!==null)iC(f,le,Y);f.startSN=parseInt(oe),v=f.startSN+f.skippedSegments;break;case"SKIP":{if(f.skippedSegments)yo(f,le,Y);let we=new js(oe,f),Fe=we.decimalInteger("SKIPPED-SEGMENTS");if(ht(Fe)){f.skippedSegments+=Fe;for(let Le=Fe;Le--;)d.push(null);v+=Fe}let De=we.enumeratedString("RECENTLY-REMOVED-DATERANGES");if(De)f.recentlyRemovedDateranges=(f.recentlyRemovedDateranges||[]).concat(De.split("\t"));break}case"TARGETDURATION":if(f.targetduration!==0)yo(f,le,Y);f.targetduration=Math.max(parseInt(oe),1);break;case"VERSION":if(f.version!==null)yo(f,le,Y);f.version=parseInt(oe);break;case"INDEPENDENT-SEGMENTS":break;case"I-FRAMES-ONLY":f.iframesOnly=!0;break;case"ENDLIST":if(!f.live)yo(f,le,Y);f.live=!1;break;case"#":if(oe||Se)U.tagList.push(Se?[oe,Se]:[oe]);break;case"DISCONTINUITY":T++,U.tagList.push(["DIS"]);break;case"GAP":U.gap=!0,U.tagList.push([le]);break;case"BITRATE":if(U.tagList.push([le,oe]),R=parseInt(oe)*1000,ht(R))U.bitrate=R;else R=0;break;case"DATERANGE":{let we=new js(oe,f),Fe=new F1(we,f.dateRanges[we.ID],f.dateRangeTagCount);if(f.dateRangeTagCount++,Fe.isValid||f.skippedSegments)f.dateRanges[Fe.id]=Fe;else Rn.log(`Ignoring invalid DATERANGE tag: ${Fe.invalidReason}: ${oe}`);U.tagList.push(["EXT-X-DATERANGE",oe]);break}case"DEFINE":{{let we=new js(oe,f);if("IMPORT"in we)UE(f,we,a);else Y5(f,we,n)}break}case"DISCONTINUITY-SEQUENCE":if(f.startCC!==0)yo(f,le,Y);f.startCC=T=parseInt(oe),d.forEach((we)=>we&&(we.cc=T));break;case"KEY":{let we=s3(oe,n,f);if(we.isSupported()){if(we.method==="NONE"){J=void 0;break}if(!J)J={};let Fe=J[we.keyFormat];if(!(Fe!=null&&Fe.matches(we))){if(Fe)J=Un({},J);J[we.keyFormat]=we}}else Rn.warn(`[Keys] Ignoring unsupported EXT-X-KEY tag: "${oe}"`);break}case"START":f.startTimeOffset=i3(oe);break;case"MAP":{let we=new js(oe,f);if(U.duration){let Fe=new uh(i,c);if(o3(Fe,we,s,J),y=Fe,U.initSegment=y,y.rawProgramDateTime&&!U.rawProgramDateTime)U.rawProgramDateTime=y.rawProgramDateTime}else{let Fe=U.byteRangeEndOffset;if(Fe){let De=U.byteRangeStartOffset;ne=`${Fe-De}@${De}`}else ne=null;o3(U,we,s,J),y=U,te=!0}y.cc=T;break}case"SERVER-CONTROL":{if(ie)yo(f,le,Y);ie=new js(oe),f.canBlockReload=ie.bool("CAN-BLOCK-RELOAD"),f.canSkipUntil=ie.optionalFloat("CAN-SKIP-UNTIL",0),f.canSkipDateRanges=f.canSkipUntil>0&&ie.bool("CAN-SKIP-DATERANGES"),f.partHoldBack=ie.optionalFloat("PART-HOLD-BACK",0),f.holdBack=ie.optionalFloat("HOLD-BACK",0);break}case"PART-INF":{if(f.partTarget)yo(f,le,Y);let we=new js(oe);f.partTarget=we.decimalFloatingPoint("PART-TARGET");break}case"PART":{let we=f.partList;if(!we)we=f.partList=[];let Fe=k>0?we[we.length-1]:void 0,De=k++,Le=new js(oe,f),Be=new Q3(Le,U,c,De,Fe);we.push(Be),U.duration+=Be.duration;break}case"PRELOAD-HINT":{let we=new js(oe,f);f.preloadHint=we;break}case"RENDITION-REPORT":{let we=new js(oe,f);f.renditionReports=f.renditionReports||[],f.renditionReports.push(we);break}default:Rn.warn(`line parsed but not handled: ${Y}`);break}}}if(D&&!D.relurl){if(d.pop(),A-=D.duration,f.partList)f.fragmentHint=D}else if(f.partList){if(o1(U,D,b),U.cc=T,f.fragmentHint=U,J)l3(U,J,f)}if(!f.targetduration)f.playlistParsingError=Error("Missing Target Duration");let ae=d.length,be=d[0],ye=d[ae-1];if(A+=f.skippedSegments*f.targetduration,A>0&&ae&&ye){f.averagetargetduration=A/ae;let fe=ye.sn;if(f.endSN=fe!=="initSegment"?fe:0,!f.live)ye.endList=!0;if(ee>0){if(sC(d,ee,ee>ae-1?U:null),be)b.unshift(be)}}if(f.fragmentHint)A+=f.fragmentHint.duration;if(f.totalduration=A,b.length&&f.dateRangeTagCount&&be)$9(b,f);return f.endCC=T,f}}function n3(e,n,s,i,r,a){var l;if(n===void 0)return null;let c=q1(i,n),f={attrs:e,bitrate:e.decimalInteger("BANDWIDTH")||e.decimalInteger("AVERAGE-BANDWIDTH"),name:e.NAME,url:Oa.resolve(c,s)},d=e.decimalResolution("RESOLUTION");if(d)f.width=d.width,f.height=d.height;r3(e.CODECS,f);let b=e["SUPPLEMENTAL-CODECS"];if(b)f.supplemental={},r3(b,f.supplemental);if(!((l=f.unknownCodecs)!=null&&l.length))r.push(f);if(a)f.iframes=!0;return f}function $9(e,n){let s=e.length;if(!s)if(n.hasProgramDateTime){let c=n.fragments[n.fragments.length-1];e.push(c),s++}else return;let i=e[s-1],r=n.live?1/0:n.totalduration,a=Object.keys(n.dateRanges);for(let c=a.length;c--;){let f=n.dateRanges[a[c]],d=f.startDate.getTime();f.tagAnchor=i.ref;for(let b=s;b--;){var l;if(((l=e[b])==null?void 0:l.sn)<n.startSN)break;let y=nC(n,d,e,b,r);if(y){f.tagAnchor=y.ref;break}}}}function nC(e,n,s,i,r){let a=s[i];if(a){let c=a.programDateTime;if(n>=c||i===0){var l;let f=(((l=s[i+1])==null?void 0:l.start)||r)-a.start;if(n<=c+f*1000){let d=a.sn-e.startSN,b=e.fragments;if(d>=0&&d<b.length){if(b.length>s.length){let y=s[i+1]||b[b.length-1],v=Math.min(y.sn-e.startSN,b.length-1);for(let k=v;k>d;k--){let A=b[k].programDateTime;if(n>=A&&n<A+b[k].duration*1000)return b[k]}}return b[d]}}}}return null}function s3(e,n,s){var i,r;let a=new js(e,s),l=(i=a.METHOD)!=null?i:"",c=a.URI,f=a.hexadecimalInteger("IV"),d=a.KEYFORMATVERSIONS,b=(r=a.KEYFORMAT)!=null?r:"identity";if(c&&a.IV&&!f)Rn.error(`Invalid IV: ${a.IV}`);let y=c?Oa.resolve(c,n):"",v=(d?d:"1").split("/").map(Number).filter(Number.isFinite);return new ko(l,y,b,v,f,a.KEYID)}function i3(e){let s=new js(e).decimalFloatingPoint("TIME-OFFSET");if(ht(s))return s;return null}function r3(e,n){let s=(e||"").split(/[ ,]+/).filter((i)=>i);["video","audio","text","image"].forEach((i)=>{let r=s.filter((a)=>I1(a,i));if(r.length)n[`${i}Codec`]=r.map((a)=>a.split("/")[0]).join(","),s=s.filter((a)=>r.indexOf(a)===-1)}),n.unknownCodecs=s}function a3(e,n,s){let i=n[s];if(i)e[s]=i}function sC(e,n,s){if(s||(s=e[n]),!s)return;for(let i=n;i--;){let r=e[i];if(!r)return;r.programDateTime=s.programDateTime-r.duration*1000,s=r}}function o1(e,n,s){if(e.rawProgramDateTime)s.push(e);else if(n!=null&&n.programDateTime)e.programDateTime=n.endProgramDateTime}function o3(e,n,s,i){if(e.relurl=n.URI,n.BYTERANGE)e.setByteRange(n.BYTERANGE);if(e.level=s,e.sn="initSegment",i)e.levelkeys=i;e.initSegment=null}function l3(e,n,s){e.levelkeys=n;let{encryptedFragments:i}=s;if((!i.length||i[i.length-1].levelkeys!==n)&&Object.keys(n).some((r)=>n[r].isCommonEncryption))i.push(e)}function yo(e,n,s){e.playlistParsingError=Error(`#EXT-X-${n} must not appear more than once (${s[0]})`)}function iC(e,n,s){e.playlistParsingError=Error(`#EXT-X-${n} must appear before the first Media Segment (${s[0]})`)}function Dg(e,n){let s=n.startPTS;if(ht(s)){let i=0,r;if(n.sn>e.sn)i=s-e.start,r=e;else i=e.start-s,r=n;if(r.duration!==i)r.setDuration(i)}else if(n.sn>e.sn)if(e.cc===n.cc&&e.minEndPTS)n.setStart(e.start+(e.minEndPTS-e.start));else n.setStart(e.start+e.duration);else n.setStart(Math.max(e.start-n.duration,0))}function X9(e,n,s,i,r,a,l,c){if(i-s<=0)c.warn("Fragment should have a positive duration",n),i=s+n.duration,a=r+n.duration;let d=s,b=i,{startPTS:y,endPTS:v}=n;if(ht(y)){let U=Math.abs(y-s);if(e&&U>e.totalduration)c.warn(`media timestamps and playlist times differ by ${U}s for level ${n.level} ${e.url}`);else if(!ht(n.deltaPTS))n.deltaPTS=U;else n.deltaPTS=Math.max(U,n.deltaPTS);d=Math.max(s,y),s=Math.min(s,y),r=n.startDTS!==void 0?Math.min(r,n.startDTS):r,b=Math.min(i,v),i=Math.max(i,v),a=n.endDTS!==void 0?Math.max(a,n.endDTS):a}let k=s-n.start;if(n.start!==0)n.setStart(s);n.setDuration(i-n.start),n.startPTS=s,n.maxStartPTS=d,n.startDTS=r,n.endPTS=i,n.minEndPTS=b,n.endDTS=a;let A=n.sn;if(!e||A<e.startSN||A>e.endSN)return 0;let T,R=A-e.startSN,D=e.fragments;D[R]=n;for(T=R;T>0;T--)Dg(D[T],D[T-1]);for(T=R;T<D.length-1;T++)Dg(D[T],D[T+1]);if(e.fragmentHint)Dg(D[D.length-1],e.fragmentHint);return e.PTSKnown=e.alignedSliding=!0,k}function rC(e,n,s){if(e===n)return;let i=null,r=e.fragments;for(let b=r.length-1;b>=0;b--){let y=r[b].initSegment;if(y){i=y;break}}if(e.fragmentHint)delete e.fragmentHint.endPTS;let a;lC(e,n,(b,y,v,k)=>{if((!n.startCC||n.skippedSegments)&&y.cc!==b.cc){let A=b.cc-y.cc;for(let T=v;T<k.length;T++)k[T].cc+=A;n.endCC=k[k.length-1].cc}if(ht(b.startPTS)&&ht(b.endPTS)){if(y.setStart(y.startPTS=b.startPTS),y.startDTS=b.startDTS,y.maxStartPTS=b.maxStartPTS,y.endPTS=b.endPTS,y.endDTS=b.endDTS,y.minEndPTS=b.minEndPTS,y.setDuration(b.endPTS-b.startPTS),y.duration)a=y;n.PTSKnown=n.alignedSliding=!0}if(b.hasStreams)y.elementaryStreams=b.elementaryStreams;if(y.loader=b.loader,b.hasStats)y.stats=b.stats;if(b.initSegment)y.initSegment=b.initSegment,i=b.initSegment});let l=n.fragments,c=n.fragmentHint?l.concat(n.fragmentHint):l;if(i)c.forEach((b)=>{var y;if(b&&(!b.initSegment||b.initSegment.relurl===((y=i)==null?void 0:y.relurl)))b.initSegment=i});if(n.skippedSegments){if(n.deltaUpdateFailed=l.some((b)=>!b),n.deltaUpdateFailed){s.warn("[level-helper] Previous playlist missing segments skipped in delta playlist");for(let b=n.skippedSegments;b--;)l.shift();n.startSN=l[0].sn}else{if(n.canSkipDateRanges)n.dateRanges=aC(e.dateRanges,n,s);let b=e.fragments.filter((y)=>y.rawProgramDateTime);if(e.hasProgramDateTime&&!n.hasProgramDateTime){for(let y=1;y<c.length;y++)if(c[y].programDateTime===null)o1(c[y],c[y-1],b)}$9(b,n)}n.endCC=l[l.length-1].cc}if(!n.startCC){var f;let b=Y9(e,n.startSN-1);n.startCC=(f=b==null?void 0:b.cc)!=null?f:l[0].cc}if(oC(e.partList,n.partList,(b,y)=>{y.elementaryStreams=b.elementaryStreams,y.stats=b.stats,y.gap=b.gap||y.gap}),a){let b=n.iframesOnly&&a.type===Ct.MAIN;X9(n,a,a.startPTS,a.endPTS,a.startDTS,a.endDTS,b,s)}else W9(e,n);if(l.length)n.totalduration=n.edge-l[0].start;n.driftStartTime=e.driftStartTime,n.driftStart=e.driftStart;let d=n.advancedDateTime;if(n.advanced&&d){let b=n.edge;if(!n.driftStart)n.driftStartTime=d,n.driftStart=b;n.driftEndTime=d,n.driftEnd=b}else n.driftEndTime=e.driftEndTime,n.driftEnd=e.driftEnd,n.advancedDateTime=e.advancedDateTime;if(n.requestScheduled===-1)n.requestScheduled=e.requestScheduled}function aC(e,n,s){let{dateRanges:i,recentlyRemovedDateranges:r}=n,a=Un({},e);if(r)r.forEach((f)=>{delete a[f]});let c=Object.keys(a).length;if(!c)return i;return Object.keys(i).forEach((f)=>{let d=a[f],b=new F1(i[f].attr,d);if(b.isValid){if(a[f]=b,!d)b.tagOrder+=c}else s.warn(`Ignoring invalid Playlist Delta Update DATERANGE tag: "${us(i[f].attr)}"`)}),a}function oC(e,n,s){if(e&&n){let i=0;for(let r=0,a=e.length;r<a;r++){let l=e[r],c=n[r+i];if(l&&c&&l.index===c.index&&l.fragment.sn===c.fragment.sn)s(l,c);else i--}}}function lC(e,n,s){var i;let r=n.skippedSegments,a=Math.max(e.startSN,n.startSN)-n.startSN,l=(e.fragmentHint?1:0)+(r?n.endSN:Math.min(e.endSN,n.endSN))-n.startSN,c=n.startSN-e.startSN,f=n.fragmentHint?n.fragments.concat(n.fragmentHint):n.fragments,d=(i=e.fragmentHint)!=null&&i.duration?e.fragments.concat(e.fragmentHint):e.fragments;for(let b=a;b<=l;b++){let y=d[c+b],v=f[b];if(r&&!v&&y)v=n.fragments[b]=y;if(y&&v){s(y,v,b,f);let k=y.relurl,A=v.relurl;if(k&&fC(k,A)){n.playlistParsingError=c3(`media sequence mismatch ${v.sn}:`,e,n,y,v);return}else if(y.cc!==v.cc){n.playlistParsingError=c3(`discontinuity sequence mismatch (${y.cc}!=${v.cc})`,e,n,y,v);return}}}}function c3(e,n,s,i,r){return Error(`${e} ${r.url}
23
- Playlist starting @${n.startSN}
24
- ${n.m3u8}
25
-
26
- Playlist starting @${s.startSN}
27
- ${s.m3u8}`)}function W9(e,n,s=!0,i){let r=n.startSN+n.skippedSegments-e.startSN,a=e.fragments,l=r>=0,c=0;if(l&&r<a.length)c=a[r].start,i==null||i.log(`Aligning playlists based on SN ${n.startSN} (diff: ${c})`);else if(l&&n.startSN===e.endSN+1)c=e.fragmentEnd,i==null||i.log(`Aligning playlists based on first/last SN ${n.startSN} (diff: ${c})`);else if(l&&s)c=e.fragmentStart+r*n.levelTargetDuration;else if(!n.skippedSegments&&n.fragmentStart===0)c=e.fragmentStart,i==null||i.log(`Aligning playlists based on first SN ${n.startSN} (diff: ${c})`);else return c;return cC(n,c),c}function cC(e,n){if(n){let s=e.fragments;for(let i=e.skippedSegments;i<s.length;i++)s[i].addStart(n);if(e.fragmentHint)e.fragmentHint.addStart(n)}}function K9(e,n=1/0){let s=1000*e.targetduration;if(e.updated){let i=e.fragments,r=4;if(i.length&&s*4>n){let a=i[i.length-1].duration*1000;if(a>0&&a<s)s=a}}else s/=2;return Math.round(s)}function Y9(e,n,s){var i;if(!e)return null;let r=e.fragments[n-e.startSN];if(r)return r;if(r=e.fragmentHint,((i=r)==null?void 0:i.sn)===n)return r;if(s&&n<e.startSN&&s.sn===n)return s;return null}function f3(e,n,s){if(!e)return null;return Q9(e.partList,n,s)}function Q9(e,n,s){if(e)for(let i=e.length;i--;){let r=e[i];if(r.index===s&&r.fragment.sn===n)return r}return null}function J9(e){e.forEach((n,s)=>{var i;(i=n.details)==null||i.fragments.forEach((r)=>{if(r.level=s,r.initSegment)r.initSegment.level=s})})}function fC(e,n){if(e!==n&&n)return h3(e)!==h3(n);return!1}function h3(e){return e.replace(/\?[^?]*$/,"")}function bh(e,n){for(let i=0,r=e.length;i<r;i++){var s;if(((s=e[i])==null?void 0:s.cc)===n)return e[i]}return null}function hC(e,n){if(e){if(n.startCC<e.endCC&&n.endCC>e.startCC)return!0}return!1}function u3(e,n){let s=e.start+n;e.setStart(s)}function Z9(e,n){let s=n.fragments;for(let i=0,r=s.length;i<r;i++)u3(s[i],e);if(n.fragmentHint)u3(n.fragmentHint,e);n.alignedSliding=!0}function r0(e,n,s){if(!e)return;if(uC(n,e,s),!n.alignedSliding)dC(n,e,s);if(!n.alignedSliding&&!n.skippedSegments)W9(e,n,!1,s)}function uC(e,n,s){if(!hC(n,e))return;let i=Math.min(n.endCC,e.endCC),r=bh(n.fragments,i),a=bh(e.fragments,i);if(!r||!a)return;let l=r.start-a.start;s.log(`Aligning playlists using dicontinuity sequence ${i} (diff: ${l})`),Z9(l,e)}function dC(e,n,s){if(!e.hasProgramDateTime||!n.hasProgramDateTime)return;let i=e.fragments,r=n.fragments;if(!i.length||!r.length)return;let a,l,c=Math.min(n.endCC,e.endCC);if(n.startCC<c&&e.startCC<c)a=bh(r,c),l=bh(i,c);if(!a||!l)a=r[Math.floor(r.length/2)]||r.filter((v)=>!!v)[0],l=bh(i,a.cc)||i[Math.floor(i.length/2)];let f=a.programDateTime,d=l.programDateTime;if(!f||!d)return;let b=(d-f)/1000;if(Math.abs(b)>Math.max(60,e.totalduration)){s.log(`Cannot align playlists using PDT without overlap (${Math.abs(b)} > ${e.totalduration})`);return}let y=b-(l.start-a.start);s.log(`Aligning playlists using PDT (diff: ${y})`),Z9(y,e)}function Bn(e,n,s){Pn(e,n,s),e.addEventListener(n,s)}function Pn(e,n,s){e.removeEventListener(n,s)}function a0(e){let n="",s=e.length;for(let i=0;i<s;i++)n+=`[${e.start(i).toFixed(3)}-${e.end(i).toFixed(3)}]`;return n}var $e={STOPPED:"STOPPED",IDLE:"IDLE",KEY_LOADING:"KEY_LOADING",FRAG_LOADING:"FRAG_LOADING",FRAG_LOADING_WAITING_RETRY:"FRAG_LOADING_WAITING_RETRY",WAITING_TRACK:"WAITING_TRACK",PARSING:"PARSING",PARSED:"PARSED",ENDED:"ENDED",ERROR:"ERROR",WAITING_INIT_PTS:"WAITING_INIT_PTS",WAITING_LEVEL:"WAITING_LEVEL"};class w0 extends D1{constructor(e,n,s,i,r){super(i,e.logger);this.hls=void 0,this.fragPrevious=null,this.fragCurrent=null,this.fragPlaying=null,this.fragmentTracker=void 0,this.transmuxer=null,this._state=$e.STOPPED,this.playlistType=void 0,this.media=null,this.mediaBuffer=null,this.config=void 0,this.bitrateTest=!1,this.lastCurrentTime=0,this.nextLoadPosition=0,this.startPosition=-1,this.startTimeOffset=null,this.retryDate=0,this.levels=null,this.fragmentLoader=void 0,this.initFragmentLoader=void 0,this.keyLoader=void 0,this.levelLastLoaded=null,this.startFragRequested=!1,this.decrypter=void 0,this.initPTS=[],this.buffering=!0,this.loadingParts=!1,this.loopSn=void 0,this.onMediaSeeking=()=>{let{config:a,fragCurrent:l,media:c,mediaBuffer:f,state:d}=this,b=c?c.currentTime:0,y=Ot.bufferInfo(f?f:c,b,a.maxBufferHole),v=y.len;if(this.log(`Media seeking to ${b}, state: ${d}, ${!v?"out of":"in"} buffer`),this.state===$e.ENDED)this.resetLoadingState();else if(l){let A=a.maxFragLookUpTolerance,T=l.start-A,R=l.start+l.duration+A;if(!v||R<y.start||T>y.end){let D=b<T,U=b>R;if(D||U)if(l.loader&&(U||!this.isFragmentNearlyDownloaded(l)))this.log(`Cancelling fragment load for seek (sn: ${l.sn}) - ${D?"backward":"forward"} seek`),l.abortRequests(),this.resetLoadingState();else this.fragPrevious=null}}if(c){this.fragmentTracker.removeFragmentsInRange(b,1/0,this.playlistType,!0);let A=this.lastCurrentTime;if(b>A)this.lastCurrentTime=b;if(!this.loadingParts){let T=Math.max(y.end,b),R=this.shouldLoadParts(this.getLevelDetails(),T);if(R)this.log(`LL-Part loading ON after seeking to ${b} with buffer @${T}`),this.loadingParts=R}}let k=!Ot.isBuffered(c,b);if(!this.hls.hasEnoughToStart||k){if(this.log(`Setting ${k?"startPosition":"nextLoadPosition"} to ${b} for seek without enough to start`),this.nextLoadPosition=b,k)this.startPosition=b}if(v<1&&this.state===$e.IDLE)this.tickImmediate()},this.onMediaEnded=()=>{this.log("setting startPosition to 0 because media ended"),this.startPosition=this.lastCurrentTime=0},this.playlistType=r,this.hls=e,this.fragmentLoader=new i1(e.config),this.initFragmentLoader=new i1(e.config),this.keyLoader=s,this.fragmentTracker=n,this.config=e.config,this.decrypter=new g0(e.config)}registerListeners(){let{hls:e}=this;e.on(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(Z.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(Z.ERROR,this.onError,this)}doTick(){this.onTickEnd()}onTickEnd(){}startLoad(e){}stopLoad(){if(this.state===$e.STOPPED)return;this.fragmentLoader.abort(),this.initFragmentLoader.abort(),this.keyLoader.abort(this.playlistType);let e=this.fragCurrent;if(e!=null&&e.loader)e.abortRequests(),this.fragmentTracker.removeFragment(e);this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=$e.STOPPED}get startPositionValue(){let{nextLoadPosition:e,startPosition:n}=this;if(n===-1&&e){let s=this.getLevelDetails();if(s!=null&&s.live)return(this.hls.liveSyncPosition||s.fragmentStart)+this.timelineOffset;return e}return n}get bufferingEnabled(){return this.buffering}get backtrackFragment(){return}set backtrackFragment(e){}get couldBacktrack(){return!1}set couldBacktrack(e){}pauseBuffering(){this.buffering=!1}resumeBuffering(){this.buffering=!0}get inFlightFrag(){return{frag:this.fragCurrent,state:this.state}}_streamEnded(e,n){if(n.live||!this.media)return!1;let s=e.end||0,i=this.config.timelineOffset||0;if(s<=i)return!1;let r=e.buffered;if(this.config.maxBufferHole&&r&&r.length>1)e=Ot.bufferedInfo(r,e.start,0);let a=e.nextStart;if(a&&a>i&&a<n.edge)return!1;if(this.media.currentTime<e.start)return!1;let c=n.partList;if(c!=null&&c.length){let d=c[c.length-1];return Ot.isBuffered(this.media,d.start+d.duration/2)}let f=n.fragments[n.fragments.length-1];return this.fragmentTracker.isEndListAppended(f.type)}getLevelDetails(){if(this.levels&&this.levelLastLoaded!==null)return this.levelLastLoaded.details}get timelineOffset(){let e=this.config.timelineOffset;if(e){var n;return((n=this.getLevelDetails())==null?void 0:n.appliedTimelineOffset)||e}return 0}onMediaAttached(e,n){let s=this.media=this.mediaBuffer=n.media;Bn(s,"seeking",this.onMediaSeeking),Bn(s,"ended",this.onMediaEnded);let i=this.config;if(this.levels&&i.autoStartLoad&&this.state===$e.STOPPED)this.startLoad(i.startPosition)}onMediaDetaching(e,n){this.fragPlaying=null;let s=!!n.transferMedia,i=this.media;if(i===null)return;if(i.ended)this.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0;if(Pn(i,"seeking",this.onMediaSeeking),Pn(i,"ended",this.onMediaEnded),this.media=this.mediaBuffer=null,this.loopSn=void 0,s){this.resetLoadingState(),this.resetTransmuxer();return}this.loadingParts=!1,this.fragmentTracker.removeAllFragments(),this.stopLoad()}onManifestLoading(){this.initPTS=[],this.fragPlaying=this.levels=this.levelLastLoaded=this.fragCurrent=null,this.lastCurrentTime=0,this.startPosition=-1,this.startFragRequested=!1}onError(e,n){}onManifestLoaded(e,n){this.startTimeOffset=n.startTimeOffset}onHandlerDestroying(){if(this.stopLoad(),this.transmuxer)this.transmuxer.destroy(),this.transmuxer=null;super.onHandlerDestroying(),this.hls=this.onMediaSeeking=this.onMediaEnded=null}onHandlerDestroyed(){if(this.state=$e.STOPPED,this.fragmentLoader)this.fragmentLoader.destroy();if(this.initFragmentLoader)this.initFragmentLoader.destroy();if(this.keyLoader)this.keyLoader.destroy();if(this.decrypter)this.decrypter.destroy();this.hls=this.decrypter=this.keyLoader=null,this.fragmentLoader=this.initFragmentLoader=this.fragmentTracker=null,super.onHandlerDestroyed()}loadFragment(e,n,s){this.startFragRequested=!0,this._loadFragForPlayback(e,n,s)}_loadFragForPlayback(e,n,s){let i=(r)=>{let a=r.frag;if(this.fragContextChanged(a)){this.warn(`${a.type} sn: ${a.sn}${r.part?" part: "+r.part.index:""} of ${this.fragInfo(a,!1,r.part)} was dropped during download.`),this.fragmentTracker.removeFragment(a);return}let l=++a.stats.chunkCount;this.log(`load progress ${a.type} sn: ${a.sn}${r.part?" part: "+r.part.index:""} of ${this.fragInfo(a,!1,r.part)} chunk: ${l}`),this._handleFragmentLoadProgress(r)};this._doFragLoad(e,n,s,i).then((r)=>{if(!r)return;let a=this.state,l=r.frag;if(this.fragContextChanged(l)){if(a===$e.FRAG_LOADING||!this.fragCurrent&&a===$e.PARSING)this.fragmentTracker.removeFragment(l),this.state=$e.IDLE;return}if("payload"in r)this.log(`Loaded ${l.type} sn: ${l.sn} of ${this.playlistLabel()} ${l.level} (bytes ${l.stats.loaded})`),this.hls.trigger(Z.FRAG_LOADED,r);this._handleFragmentLoadComplete(r)}).catch((r)=>{if(this.state===$e.STOPPED||this.state===$e.ERROR)return;this.log(`Frag error ${e.type} sn:${e.sn} cc:${e.cc}: ${(r==null?void 0:r.message)||r}`),this.resetFragmentLoading(e)})}clearTrackerIfNeeded(e){var n;let{fragmentTracker:s}=this;if(s.getState(e)===_s.APPENDING){let r=e.type,a=this.getFwdBufferInfo(this.mediaBuffer,r),l=Math.max(e.duration,a?a.len:this.config.maxBufferLength),c=this.backtrackFragment;if((c?e.sn-c.sn:0)===1||this.reduceMaxBufferLength(l,e.duration))s.removeFragment(e)}else if(((n=this.mediaBuffer)==null?void 0:n.buffered.length)===0)s.removeAllFragments();else if(s.hasParts(e.type)){if(s.detectPartialFragments({frag:e,part:null,stats:e.stats,id:e.type}),s.getState(e)===_s.PARTIAL)s.removeFragment(e)}}checkLiveUpdate(e){if(e.updated&&!e.live){let n=this.fragmentTracker,s=e.fragments[e.fragments.length-1];if(s.endList&&!n.isEndListAppended(this.playlistType)){let i=n.getPartialFragment(s.end);if(i)n.removeFragment(i),n.fragBuffered(s,!0)}n.detectPartialFragments({frag:s,part:null,stats:s.stats,id:s.type})}if(!e.fragments[0])e.deltaUpdateFailed=!0}waitForLive(e){let n=e.details;return(n==null?void 0:n.live)&&n.type!=="EVENT"&&(this.levelLastLoaded!==e||n.expired)}flushMainBuffer(e,n,s=null){if(!(e-n))return;let i={startOffset:e,endOffset:n,type:s};this.hls.trigger(Z.BUFFER_FLUSHING,i)}_loadInitSegment(e){let{hls:n}=this;return this.initFragmentLoader.abort(),n.trigger(Z.FRAG_LOADING,{frag:e,targetBufferTime:0}),this.initFragmentLoader.load(e).then((s)=>{var i;let r=s.frag;if(!this.levels||!Yg(r,(i=this.fragCurrent)==null?void 0:i.initSegment))throw new la({type:Dt.NETWORK_ERROR,details:Oe.INTERNAL_ABORTED,error:Error("init load aborted"),fatal:!1,frag:r,networkDetails:null});return s}).then((s)=>{let{frag:i,payload:r}=s,a=i.decryptdata;if(r&&r.byteLength>0&&a!=null&&a.key&&a.iv&&Zc(a.method)){let l=self.performance.now(),{decryptRange:c}=n0(i,null,this.iframesOnly);return this.decrypter.decrypt(new Uint8Array(r),a.key.buffer,a.iv.buffer,L1(a.method),c).catch((f)=>{throw n.trigger(Z.ERROR,{type:Dt.MEDIA_ERROR,details:Oe.FRAG_DECRYPT_ERROR,fatal:!1,error:f,reason:f.message,frag:i}),this.fragmentLoader.abort(),f}).then((f)=>{let d=self.performance.now();return n.trigger(Z.FRAG_DECRYPTED,{frag:i,part:null,payload:f,stats:{tstart:l,tdecrypt:d}}),s.payload=f,this.completeInitSegmentLoad(s)})}return this.completeInitSegmentLoad(s)})}completeInitSegmentLoad(e){let n=e.frag.stats;e.frag.data=new Uint8Array(e.payload),n.parsing.start=n.buffering.start=self.performance.now(),n.parsing.end=n.buffering.end=self.performance.now()}loadInitSegmentIfNeeded(e){let{initSegment:n}=e;if(!this.bitrateTest&&Ps(e)&&n&&!n.data){var s;return(n.encrypted&&!((s=n.decryptdata)!=null&&s.key)?this.keyLoader.load(n).then(()=>this._loadInitSegment(n)):this._loadInitSegment(n)).catch((r)=>{if(this.state===$e.STOPPED||this.state===$e.ERROR)throw r;if("data"in r)r.data.frag=e,this.fragmentLoader.abort(),this.handleFragLoadError(r);throw this.resetFragmentLoading(e),r})}}unhandledEncryptionError(e,n){var s,i;let r=e.tracks;if(r&&!n.encrypted&&((s=r.audio)!=null&&s.encrypted||(i=r.video)!=null&&i.encrypted)&&(!this.config.emeEnabled||!this.keyLoader.emeController)){let a=this.media,l=Error(`Encrypted track with no key in ${this.fragInfo(n)} (media ${a?"attached mediaKeys: "+a.mediaKeys:"detached"})`);if(this.warn(l.message),!a||a.mediaKeys)return!1;return this.hls.trigger(Z.ERROR,{type:Dt.KEY_SYSTEM_ERROR,details:Oe.KEY_SYSTEM_NO_KEYS,fatal:!1,error:l,frag:n}),this.resetTransmuxer(),!0}return!1}fragContextChanged(e){let{fragCurrent:n}=this;return!e||!Yg(e,n)}fragBufferedComplete(e,n){let s=this.mediaBuffer?this.mediaBuffer:this.media;if(this.log(`Buffered ${e.type} sn: ${e.sn}${n?" part: "+n.index:""} of ${this.fragInfo(e,!1,n)} > buffer:${s?a0(Ot.getBuffered(s)):"(detached)"})`),Ps(e)){var i;if(e.type!==Ct.SUBTITLE){let a=e.elementaryStreams;if(!Object.keys(a).some((l)=>!!a[l])){this.state=$e.IDLE;return}}let r=(i=this.levels)==null?void 0:i[e.level];if(r!=null&&r.fragmentError&&(n||this.fragmentTracker.getState(e)!==_s.PARTIAL))this.log(`Resetting level fragment error count of ${r.fragmentError} on frag buffered`),r.fragmentError=0,e.stats.retry=0}this.state=$e.IDLE}_handleFragmentLoadComplete(e){let{transmuxer:n}=this;if(!n)return;let s=e.frag,{part:i,partsLoaded:r}=e,a=!r||r.length===0||r.some((f)=>!f),{decryptRange:l}=n0(s,i),c=new b0(s.level,s.sn,s.stats.chunkCount+1,0,i?i.index:-1,!a,s.duration,this.iframesOnly,l);this.log(`load complete ${s.type} sn: ${s.sn}${i?" part: "+i.index:""} of ${this.fragInfo(s,!1,i)}`),n.flush(c)}_handleFragmentLoadProgress(e){}loadKeyFor(e,n,s){var i;let r=null;if(e.encrypted&&!((i=e.decryptdata)!=null&&i.key))this.log(`Loading key for ${e.sn} of [${n.startSN}-${n.endSN}], ${this.playlistLabel()} ${e.level}`),this.state=$e.KEY_LOADING,r=this.keyLoader.load(e,s).then((a)=>{if(!this.fragContextChanged(a.frag)){if(this.hls.trigger(Z.KEY_LOADED,a),this.state===$e.KEY_LOADING)this.state=$e.IDLE;return a}}),this.hls.trigger(Z.KEY_LOADING,{frag:e});else if(!e.encrypted){if(r=this.keyLoader.loadClear(e,n.encryptedFragments,this.startFragRequested),r)this.log(`[eme] blocking frag sn: ${e.sn} load until media-keys acquired`)}return r}_doFragLoad(e,n,s=null,i){this.fragCurrent=e;let r=n.details;if(!this.levels||!r)throw Error(`frag load aborted, missing level${r?"":" detail"}s`);let a=this.fragPrevious;if(!hh(e,a)){let v=this.shouldLoadParts(n.details,e.end);if(v!==this.loadingParts)this.log(`LL-Part loading ${v?"ON":"OFF"} loading sn ${a==null?void 0:a.sn}->${e.sn}`),this.loadingParts=v}if(s=Math.max(e.start,s||0),this.loadingParts){let v=r.partList;if(v&&i){if(s>r.fragmentEnd&&r.fragmentHint)e=r.fragmentHint;let k=this.getNextPart(v,e,s);if(k>-1){let A=v[k];if(e=this.fragCurrent=A.fragment,!hh(e,a)&&!this.shouldLoadParts(n.details,e.end))return this.log(`LL-Part loading OFF @${this.playhead} next part: ${this.fragInfo(e,!1,A)}`),this.loadingParts=!1,Promise.resolve(null);if(!this.filterReplacedPrimary(A,n.details))return Promise.resolve(null);let T=this.loadKeyFor(e,r);if(this.fragContextChanged(e))return Promise.resolve(null);this.log(`Loading ${e.type} sn: ${e.sn} part: ${A.index} (${k}/${v.length-1}) of ${this.fragInfo(e,!1,A)} cc: ${e.cc} [${r.startSN}-${r.endSN}], target: ${s}${A.byteRange.length?` range:${A.byteRange.join("-")}`:""}`),this.nextLoadPosition=A.start+A.duration,this.state=$e.FRAG_LOADING;let R,D=this.loadInitSegmentIfNeeded(e);if(T||D){let U=!!T;R=Promise.all([T,D]).then(([Y])=>{if(U&&(!Y||this.fragContextChanged(Y.frag)))return null;return this.doFragPartsLoad(e,A,n,i)}).catch((Y)=>this.handleFragLoadError(Y))}else R=this.doFragPartsLoad(e,A,n,i).catch((U)=>this.handleFragLoadError(U));if(this.hls.trigger(Z.FRAG_LOADING,{frag:e,part:A,targetBufferTime:s}),this.fragCurrent===null)return Promise.reject(Error("frag load aborted, context changed in FRAG_LOADING parts"));return R}else if(!e.url||this.loadedEndOfParts(v,s))return Promise.resolve(null)}}if(this.loadingParts){var l;this.log(`LL-Part loading OFF after next part miss @${s} Check buffer at sn: ${e.sn} loaded parts: ${(l=r.partList)==null?void 0:l.filter((v)=>v.loaded).map((v)=>`[${v.start}-${v.end}]`)}`),this.loadingParts=!1}else if(!e.url)return Promise.resolve(null);if(!this.filterReplacedPrimary(e,n.details))return Promise.resolve(null);let c=this.loadInitSegmentIfNeeded(e),f=this.loadKeyFor(e,r,c);if(this.fragContextChanged(e)){var d;return this.log(`Context changed in KEY_LOADING sn: ${e.sn} ${e.relurl} > ${(d=this.fragCurrent)==null?void 0:d.relurl}`),c==null||c.catch(()=>null),f==null||f.catch(()=>null),Promise.resolve(null)}if(this.log(`Loading ${e.type} sn: ${e.sn} of ${this.fragInfo(e,!1)} cc: ${e.cc} ${"["+r.startSN+"-"+r.endSN+"]"}, target: ${s}${e.byteRange.length?` range:${e.byteRange.join("-")}`:""}`),ht(e.sn)&&!this.bitrateTest)this.nextLoadPosition=e.start+e.duration;this.state=$e.FRAG_LOADING;let b=this.config.progressive&&e.type!==Ct.SUBTITLE,y;if(b&&f)y=f.then((v)=>{if(!v||this.fragContextChanged(v.frag))return null;return this.fragmentLoader.load(e,this.iframesOnly,i,c)}).catch((v)=>this.handleFragLoadError(v));else y=Promise.all([this.fragmentLoader.load(e,this.iframesOnly,b?i:void 0,b?c:void 0),f,c]).then(([v])=>{if(!b&&i)i(v);return v}).catch((v)=>this.handleFragLoadError(v));if(this.hls.trigger(Z.FRAG_LOADING,{frag:e,targetBufferTime:s}),this.fragCurrent===null)return Promise.reject(Error("frag load aborted, context changed in FRAG_LOADING"));return Promise.all([y,c]).then(([v])=>v)}doFragPartsLoad(e,n,s,i){return new Promise((r,a)=>{var l;let c=[],f=(l=s.details)==null?void 0:l.partList,d=(b)=>{this.fragmentLoader.loadPart(e,b,i).then((y)=>{c[b.index]=y;let v=y.part;this.hls.trigger(Z.FRAG_LOADED,y);let k=f3(s.details,e.sn,b.index+1)||Q9(f,e.sn,b.index+1);if(k)d(k);else return r({frag:e,part:v,partsLoaded:c})}).catch(a)};d(n)})}handleFragLoadError(e){if("data"in e){let n=e.data;if(n.frag&&n.details===Oe.INTERNAL_ABORTED)this.handleFragLoadAborted(n.frag,n.part);else if(n.frag&&n.type===Dt.KEY_SYSTEM_ERROR&&!n.fatal)n.frag.abortRequests(),this.resetStartWhenNotLoaded(),this.resetFragmentLoading(n.frag);this.hls.trigger(Z.ERROR,n)}else this.hls.trigger(Z.ERROR,{type:Dt.OTHER_ERROR,details:Oe.INTERNAL_EXCEPTION,err:e,error:e,fatal:!0});return null}_handleTransmuxerFlush(e){let n=this.getCurrentContext(e);if(!n||this.state!==$e.PARSING){if(!this.fragCurrent&&this.state!==$e.STOPPED&&this.state!==$e.ERROR)this.state=$e.IDLE;return}let{frag:s,part:i,level:r}=n,a=self.performance.now();if(s.stats.parsing.end=a,i)i.stats.parsing.end=a;let l=this.getLevelDetails(),f=l&&s.sn>l.endSN||this.shouldLoadParts(l,s.end);if(f!==this.loadingParts)this.log(`LL-Part loading ${f?"ON":"OFF"} after parsing segment ending @${s.end}`),this.loadingParts=f;this.updateLevelTiming(s,i,r,e)}shouldLoadParts(e,n){if(this.config.lowLatencyMode){if(!e)return this.loadingParts;if(e.partList&&!this.iframesOnly){var s;let i=e.partList[0],r=i.end+(((s=e.fragmentHint)==null?void 0:s.duration)||0);if(n>=r){if(this.playhead>i.start-i.fragment.duration)return!0}}}return!1}getCurrentContext(e){let{levels:n,fragCurrent:s}=this,{level:i,sn:r,part:a}=e;if(!(n!=null&&n[i]))return this.warn(`Levels object was unset while buffering fragment ${r} of ${this.playlistLabel()} ${i}. The current chunk will not be buffered.`),null;let l=n[i],c=l.details,f=a>-1?f3(c,r,a):null,d=f?f.fragment:Y9(c,r,s);if(!d)return null;if(s&&s!==d)d.stats=s.stats;return{frag:d,part:f,level:l}}bufferFragmentData(e,n,s,i,r){if(this.state!==$e.PARSING)return;if(Ps(n)&&!this.fragContextChanged(n))this.fragPrevious=n;let{data1:a,data2:l}=e,c=a;if(l)c=qr(a,l);if(!c.length)return;let f=this.initPTS[n.cc],d=f?-f.baseTime/f.timescale:void 0,b={type:e.type,frag:n,part:s,chunkMeta:i,offset:d,parent:n.type,data:c};if(this.hls.trigger(Z.BUFFER_APPENDING,b),e.dropped&&e.independent&&!s){if(r)return;this.flushBufferGap(n)}}flushBufferGap(e){let n=this.media;if(!n)return;if(!Ot.isBuffered(n,n.currentTime)){this.flushMainBuffer(0,e.start);return}let s=n.currentTime,i=Ot.bufferInfo(n,s,0),r=e.duration,a=Math.min(this.config.maxFragLookUpTolerance*2,r*0.25),l=Math.max(Math.min(e.start-a,i.end-a),s+a);if(e.start-l>a)this.flushMainBuffer(l,e.start)}getFwdBufferInfo(e,n){var s;let i=this.playhead,a=this.lastCurrentTime>i||(s=this.media)!=null&&s.paused?0:this.config.maxBufferHole;return this.getFwdBufferInfoAtPos(e,i,n,a)}getFwdBufferInfoAtPos(e,n,s,i){let r=Ot.bufferInfo(e,n,i);if(r.len===0&&r.nextStart!==void 0){let a=this.fragmentTracker.getBufferedFrag(n,s);if(a&&(r.nextStart<=a.end||a.gap)){let l=Math.max(Math.min(r.nextStart,a.end)-n,i);return Ot.bufferInfo(e,n,l)}}return r}getMaxBufferLength(e){let{config:n}=this,s;if(e)s=Math.max(8*n.maxBufferSize/e,n.maxBufferLength);else s=n.maxBufferLength;return Math.min(s,n.maxMaxBufferLength)}exceedsMaxBuffer(e,n,s){let i=e.nextStart;if(i&&s.start>i){let r=e.buffered;if(r){let{len:a,bufferedIndex:l}=e;for(let c=r.length-1;c>l;c--)if(r[c].start<s.start)a+=r[c].end-r[c].start;return a>=n}}return!1}reduceMaxBufferLength(e,n){let s=this.config,i=Math.max(Math.min(e-n,s.maxBufferLength),n/2),r=Math.max(e-n*3,s.maxMaxBufferLength/2,i);if(r>=i)return s.maxMaxBufferLength=r,this.warn(`Reduce max buffer length to ${r}s`),!0;return!1}getAppendedFrag(e){let n=this.fragmentTracker?this.fragmentTracker.getAppendedFrag(e,this.playlistType):null;if(n&&"fragment"in n)return n.fragment;return n}getNextFragment(e,n){let s=n.fragments,i=s.length;if(!i)return null;let{config:r}=this,a=n.fragmentStart,l=r.lowLatencyMode&&!!n.partList,c=null;if(n.live){let b=r.initialLiveManifestSize;if(i<b)return this.warn(`Not enough fragments to start playback (have: ${i}, need: ${b})`),null;if(!this.startFragRequested&&l&&!this.loadingParts)this.log("LL-Part loading ON for initial live fragment"),this.loadingParts=!0;if(!n.PTSKnown&&!this.startFragRequested&&this.startPosition===-1||e<a){var f;c=this.getInitialLiveFragment(n);let y=this.config.startPosition,v=this.hls.startPosition,k=this.hls.liveSyncPosition,A=((f=c)==null?void 0:f.start)||0,T,R;if(v!==-1&&v>=a)T=v,R=v===y?"config":"next load start";else if(k)T=k,R="live edge";else T=e,R="buffer pos";if(T<A)T=A,R="live frag start";if(T<a)T=a,R="playlist start";if(this.startPosition!=T||this.nextLoadPosition!=T){let U=n.live&&!this.filterReplacedPrimary(c,n)?-1:T;this.log(`Setting startPosition to ${U} next load ${T} ${v===-1?"":`(from ${y}) `}based on ${R}. live edge: ${k} live frag start: ${A} playlist start: ${a} buffer pos: ${e}`),this.startPosition=U,this.nextLoadPosition=T}}}else if(e<=a)c=s[0];if(!c){let b=this.loadingParts?n.partEnd:n.fragmentEnd;c=this.getFragmentAtPosition(e,b,n)}let d=this.filterReplacedPrimary(c,n);if(!d&&c){if(d=q9(n,c.sn),d)this.nextLoadPosition=d.start}return d}isLoopLoading(e,n){if(this.nextLoadPosition<=n)return!1;let s=this.fragmentTracker.getState(e);if(s===_s.OK)return!0;if(s===_s.PARTIAL){if(e.gap)return!0;if(e.stats.retry>1)return!0}return!1}getNextFragmentLoopLoading(e,n,s,i,r){let a=null;if(e.gap){if(a=this.getNextFragment(this.nextLoadPosition,n),a&&!a.gap&&s.nextStart){let l=this.getFwdBufferInfoAtPos(this.mediaBuffer?this.mediaBuffer:this.media,s.nextStart,i,0);if(l!==null&&s.len+l.len>=r){let c=a.sn;if(this.loopSn!==c)this.log(`buffer full after gaps in "${i}" playlist starting at sn: ${c}`),this.loopSn=c;return null}}}return this.loopSn=void 0,a}get primaryPrefetch(){if(o0(this.config)){var e;if((e=this.hls.interstitialsManager)==null||(e=e.playingItem)==null?void 0:e.event)return!0}return!1}filterReplacedPrimary(e,n){if(!e)return e;if(o0(this.config)&&("type"in e?e:e.fragment).type!==Ct.SUBTITLE){let s=this.hls.interstitialsManager,i=s==null?void 0:s.bufferingItem;if(i){let r=i.event;if(r){if(!r.appendInPlace&&(Math.abs(e.start-i.start)>1||i.start===0))return null}else{if(e.end<=i.start&&(n==null?void 0:n.live)===!1)return null;if(e.start>=i.end&&i.nextEvent){if(i.nextEvent.appendInPlace&&!i.nextEvent.hasPlayed||e.start-i.end>1)return null}}}if(e6(e,s==null?void 0:s.playerQueue,this.playhead))return null}return e}getNextPart(e,n,s){let i=-1,r=!1,a=!0;for(let c=0,f=e.length;c<f;c++){let d=e[c];if(a=a&&!d.independent,i>-1&&s<d.start)break;let b=d.loaded||d.gap;if(b)i=-1;else if(r||(d.independent||a)&&d.fragment===n)i=c;r=b&&!d.gap}let l=e[i];if(l&&l.fragment!==n)this.log(`Need buffer at ${s} but next unloaded part starts at ${l.start} (sn: ${n.sn} -> ${l.fragment.sn})`);return i}loadedEndOfParts(e,n){let s;for(let i=e.length;i--;){if(s=e[i],!s.loaded)return!1;if(n>s.start)return!0}return!1}getInitialLiveFragment(e){let n=e.fragments,s=this.fragPrevious,i=null;if(s){if(e.hasProgramDateTime){if(i=ME(n,s.endProgramDateTime,this.config.maxFragLookUpTolerance),i)this.log(`Live playlist, switching playlist, load frag with same PDT: ${s.programDateTime}`)}if(!i){let r=s.sn+1;if(r>=e.startSN&&r<=e.endSN){let a=n[r-e.startSN];if(s.cc===a.cc)i=a,this.log(`Live playlist, switching playlist, load frag with next SN: ${i.sn}`)}if(!i){if(i=D9(e,s.cc,s.end),i)this.log(`Live playlist, switching playlist, load frag with same CC: ${i.sn}`)}}}else{let r=this.hls.liveSyncPosition;if(r!==null)i=this.getFragmentAtPosition(r,this.bitrateTest?e.fragmentEnd:e.edge,e)}return i}getFragmentAtPosition(e,n,s){let{config:i}=this,{fragPrevious:r}=this,{fragments:a,endSN:l}=s,{fragmentHint:c}=s,{maxFragLookUpTolerance:f}=i,d=s.partList,b=!!(this.loadingParts&&d!=null&&d.length&&c);if(b&&!this.bitrateTest&&d[d.length-1].fragment.sn===c.sn)a=a.concat(c),l=c.sn;if(r&&this.fragmentTracker.getState(r)===_s.NOT_LOADED)r=null;let y;if(e<n){var v;let A=e<this.lastCurrentTime||e>n-f||(v=this.media)!=null&&v.paused||!this.startFragRequested?0:f;y=af(r,a,e,A)}else y=a[a.length-1];if(y){let k=y.sn-s.startSN,A=this.fragmentTracker.getState(y);if(A===_s.OK||A===_s.PARTIAL&&y.gap)r=y;if(hh(y,r)&&(!b||d[0].fragment.sn>y.sn||!s.live)){let T=a[k+1];if(y.sn<l&&this.fragmentTracker.getState(T)!==_s.OK)y=T;else y=null}}return y}alignPlaylists(e,n,s){let i=e.fragments.length;if(!i)return this.warn("No fragments in live playlist"),0;let r=e.fragmentStart,a=!n,l=e.alignedSliding&&ht(r);if(a||!l&&!r){r0(s,e,this);let c=e.fragmentStart;return this.log(`Live playlist sliding: ${c} start-sn: ${n?n.startSN:"na"}->${e.startSN} fragments: ${i}`),c}return r}waitForCdnTuneIn(e){return e.live&&e.canBlockReload&&e.partTarget&&e.tuneInGoal>Math.max(e.partHoldBack,e.partTarget*3)}setStartPosition(e,n){let s=this.startPosition;if(s<n)s=-1;let i=this.timelineOffset;if(s===-1){let r=this.startTimeOffset!==null,a=r?this.startTimeOffset:e.startTimeOffset;if(a!==null&&ht(a)){if(s=n+a,a<0)s+=e.edge;s=Math.min(Math.max(n,s),n+e.totalduration),this.log(`Setting startPosition to ${s} for start time offset ${a} found in ${r?"multivariant":"media"} playlist`),this.startPosition=s}else if(e.live){let l=this.hls.liveSyncPosition;s=l||n,this.log(`Setting startPosition to -1 to start at ${l?"live edge":"playlist start"} ${s}`),this.startPosition=-1}else this.log("setting startPosition to 0 by default"),this.startPosition=s=0;this.lastCurrentTime=s+i}this.nextLoadPosition=s+i}getLoadPosition(){var e;let{media:n}=this,s=0;if((e=this.hls)!=null&&e.hasEnoughToStart&&n&&!this.iframesOnly)s=n.currentTime;else if(this.nextLoadPosition>=0)s=this.nextLoadPosition;return s}get playhead(){var e;if((e=this.hls)!=null&&e.hasEnoughToStart){var n;let s=(n=this.media)==null?void 0:n.currentTime;if(ht(s))return s;return this.lastCurrentTime}return this.getLoadPosition()}get iframesOnly(){var e;if(this.playlistType!==Ct.MAIN)return!1;let n=this.getLevelDetails();if(n)return n.iframesOnly;return(e=this.levelLastLoaded)==null?void 0:e.iframes}handleFragLoadAborted(e,n){if(this.transmuxer&&e.type===this.playlistType&&Ps(e)&&e.stats.aborted)this.log(`Fragment ${e.sn}${n?" part "+n.index:""} of ${this.playlistLabel()} ${e.level} was aborted`),this.resetFragmentLoading(e)}resetFragmentLoading(e){if(!this.fragCurrent||!this.fragContextChanged(e)&&this.state!==$e.FRAG_LOADING_WAITING_RETRY)this.state=$e.IDLE}onFragmentOrKeyLoadError(e,n){if(n.chunkMeta&&!n.frag){let D=this.getCurrentContext(n.chunkMeta);if(D)n.frag=D.frag}let{frag:s,part:i}=n;if(!s||!this.levels||s.type!==e)return;if(this.fragContextChanged(s)){var r;this.warn(`Frag load error must match current frag to retry ${s.relurl} > ${(r=this.fragCurrent)==null?void 0:r.relurl}`);return}let a=n.details===Oe.FRAG_GAP;if(a)this.fragmentTracker.addAsGap(s);let l=n.errorAction;if(!l){this.state=$e.ERROR;return}let{action:c,flags:f,retryCount:d=0,retryConfig:b}=l,y=!!b,v=y&&c===gi.RetryRequest,k=y&&!l.resolved&&f&pi.MoveAllAlternatesMatchingHost,A=this.hls.latestLevelDetails,T=A==null?void 0:A.live;if(!v&&k&&Ps(s)&&T&&s.sn<A.endSN&&!e9(n)){if(this.resetFragmentErrors(e),i)i.gap=!0;else this.treatAsGap(s);l.resolved=!0}else if((v||k)&&d<b.maxNumRetry){var R;let D=Sh((R=n.response)==null?void 0:R.code),U=E1(b,d);if(this.resetStartWhenNotLoaded(),this.retryDate=self.performance.now()+U,this.state=$e.FRAG_LOADING_WAITING_RETRY,l.resolved=!0,D){this.log("Waiting for connection (offline)"),this.retryDate=1/0,n.reason="offline";return}this.warn(`Fragment ${s.sn} of ${e} ${s.level} errored with ${n.details}, retrying loading ${d+1}/${b.maxNumRetry} in ${U}ms`)}else if(b)if(this.resetFragmentErrors(e),d<b.maxNumRetry){if(!a&&c!==gi.RemoveAlternatePermanently)l.resolved=!0}else{this.warn(`${n.details} reached or exceeded max retry (${d})`);return}else if(c===gi.SendAlternateToPenaltyBox)this.state=$e.WAITING_LEVEL;else this.state=$e.ERROR;this.tickImmediate()}checkRetryDate(){let e=self.performance.now(),n=this.retryDate,s=n===1/0;if(!n||e>=n||s&&!Sh(0)){if(s)this.log("Connection restored (online)");this.resetStartWhenNotLoaded(),this.state=$e.IDLE}}reduceLengthAndFlushBuffer(e){if(this.state===$e.PARSING||this.state===$e.PARSED){let{frag:n,parent:s}=e,i=this.getFwdBufferInfo(this.mediaBuffer,s),r=i&&i.len>0.5;if(r)this.reduceMaxBufferLength(i.len,(n==null?void 0:n.duration)||10);let a=!r;if(a)this.warn(`Buffer full error while media.currentTime (${this.playhead}) is not buffered, flush ${s} buffer`);else if(i.nextStart&&n&&i.nextStart>n.start)this.flushMainBuffer(i.nextStart,Number.POSITIVE_INFINITY,s===Ct.AUDIO?s:void 0);if(n)this.fragmentTracker.removeFragment(n),this.nextLoadPosition=n.start;return this.resetLoadingState(),a}return!1}resetFragmentErrors(e){if(e===Ct.AUDIO)this.fragCurrent=null;if(!this.hls.hasEnoughToStart)this.startFragRequested=!1;if(this.state!==$e.STOPPED)this.state=$e.IDLE}afterBufferFlushed(e,n){if(!e)return;let s=Ot.getBuffered(e);if(this.fragmentTracker.detectEvictedFragments(n,s,this.playlistType),this.state===$e.ENDED)this.resetLoadingState()}resetLoadingState(){if(this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state!==$e.STOPPED)this.state=$e.IDLE}resetStartWhenNotLoaded(){if(!this.hls.hasEnoughToStart){this.startFragRequested=!1;let e=this.getLevelDetails();if(e!=null&&e.live)this.log("resetting startPosition for live start"),this.startPosition=-1,this.setStartPosition(e,e.fragmentStart),this.resetLoadingState();else this.nextLoadPosition=this.startPosition}}resetWhenMissingContext(e){this.log(`Loading context changed while buffering sn ${e.sn} of ${this.playlistLabel()} ${e.level===-1?"<removed>":e.level}. This chunk will not be buffered.`),this.removeUnbufferedFrags(),this.resetStartWhenNotLoaded(),this.resetLoadingState()}removeUnbufferedFrags(e=0){this.fragmentTracker.removeFragmentsInRange(e,1/0,this.playlistType,!1,!0)}updateLevelTiming(e,n,s,i){let r=s.details;if(!r){this.warn("level.details undefined");return}if(this.log(`update level timing ${e.type} sn: ${e.sn}${n?" part: "+n.index:""} of ${this.fragInfo(e,!1,n)}`),!Object.keys(e.elementaryStreams).reduce((b,y)=>{let v=e.elementaryStreams[y];if(v){let k=v.endPTS-v.startPTS;if(k<=0)return this.warn(`Could not parse fragment ${e.sn} ${y} duration reliably (${k})`),b||!1;let A=i.partial?0:X9(r,e,v.startPTS,v.endPTS,v.startDTS,v.endDTS,this.iframesOnly,this);return this.hls.trigger(Z.LEVEL_PTS_UPDATED,{details:r,level:s,drift:A,type:y,frag:e,start:v.startPTS,end:v.endPTS}),!0}return b},!1)){var l,c,f,d;let b=((l=this.transmuxer)==null?void 0:l.error)===null,y=((c=this.transmuxer)==null?void 0:c.error)!=null,v=((f=(d=this.levels)==null?void 0:d.length)!=null?f:0)>1;if(s.fragmentError===0||b&&(s.fragmentError<2||e.endList)||y&&v)this.treatAsGap(e,s);if(b){let k=Error(`Found no media in ${this.playlistLabel()} ${e.level} ${n?`part: ${n.index} of `:""}sn: ${e.sn} at playlist time: ${e.start}. Resetting transmuxer to fallback to playlist timing`);if(this.warn(k.message),this.hls.trigger(Z.ERROR,{type:Dt.MEDIA_ERROR,details:Oe.FRAG_PARSING_ERROR,fatal:!1,error:k,frag:e,reason:`Found no media in msn ${e.sn} of ${this.playlistLabel()} "${s.url}"`}),!this.hls)return;this.resetTransmuxer()}}this.state=$e.PARSED,this.log(`Parsed ${e.type} sn: ${e.sn}${n?" part: "+n.index:""} of ${this.fragInfo(e,!1,n)}`),this.hls.trigger(Z.FRAG_PARSED,{frag:e,part:n,chunkMeta:i})}playlistLabel(){return`${this.playlistType} playlist`}fragInfo(e,n=!0,s){var i,r;return`${this.playlistLabel()} ${e.level} (${s?"part":"frag"}:[${(i=n&&!s?e.startPTS:(s||e).start)!=null?i:NaN}-${(r=n&&!s?e.endPTS:(s||e).end)!=null?r:NaN}]${s&&e.type==="main"?"INDEPENDENT="+(s.independent?"YES":"NO"):""})`}treatAsGap(e,n){if(n)n.fragmentError++;this.fragmentTracker.addAsGap(e)}resetTransmuxer(){var e;(e=this.transmuxer)==null||e.reset()}isFragmentNearlyDownloaded(e){var n;let s=(n=e.loader)==null?void 0:n.stats;if(!s)return!1;let i=s.loading.first>0,a=(s.total-s.loaded)/(this.hls.bandwidthEstimate||this.hls.config.abrEwmaDefaultEstimate);return i&&a<=0.15}recoverWorkerError(e){if(e.event==="demuxerWorker"){if(this.fragmentTracker.removeAllFragments(),this.transmuxer)this.transmuxer.destroy(),this.transmuxer=null;this.resetStartWhenNotLoaded(),this.resetLoadingState()}}set state(e){let n=this._state;if(n!==e)this._state=e,this.log(`${n}->${e}`)}get state(){return this._state}calculateOptimalSwitchPoint(e,n){let s=0,{hls:i,media:r,config:a,levels:l,playlistType:c}=this,f=this.getLevelDetails();if(r&&!r.paused&&l){var d;let v=c===Ct.AUDIO?E9(e.audioCodec,128000):e.maxBitrate,k=1+i.ttfbEstimate/1000,A=i.bandwidthEstimate*a.abrBandWidthUpFactor,T=f&&(this.loadingParts?f.partTarget:f.averagetargetduration)||((d=this.fragCurrent)==null?void 0:d.duration)||6;if(s=k+v*T/A,!e.details)s+=k}let b=this.playhead,y=!(f!=null&&f.live)||n.end-b>s*1.5;return{fetchdelay:s,okToFlushForwardBuffer:y}}scheduleTrackSwitch(e,n,s){let{media:i,playlistType:r}=this;if(!i||!e)return;let a=s?this.getBufferedFrag(this.playhead+n):null;if(a){let c=this.followingBufferedFrag(a);if(c){var l;this.abortCurrentFrag();let f=c.maxStartPTS?c.maxStartPTS:c.start,d=c.duration,b=Math.max(a.end,f+Math.min(Math.max(d-this.config.maxFragLookUpTolerance,d*(this.couldBacktrack?0.5:0.125)),d*(this.couldBacktrack?0.75:0.25)));if((((l=this.getLevelDetails())==null?void 0:l.fragmentStart)||0)>b)return;let v=r===Ct.MAIN?null:"audio";this.flushMainBuffer(b,Number.POSITIVE_INFINITY,v),this.cleanupBackBuffer()}}}cleanupBackBuffer(){let{media:e,playlistType:n}=this;if(!e)return;let s=this.getAppendedFrag(this.playhead);if(s&&s.start>1){let i=n===Ct.AUDIO;this.flushMainBuffer(0,s.start-(i?0:1),i?"audio":null)}}getBufferedFrag(e){return this.fragmentTracker.getBufferedFrag(e,this.playlistType)}followingBufferedFrag(e){if(e)return this.getBufferedFrag(e.end+0.5);return null}abortCurrentFrag(){let e=this.fragCurrent;if(this.fragCurrent=null,e)e.abortRequests(),this.fragmentTracker.removeFragment(e);switch(this.state){case $e.KEY_LOADING:case $e.FRAG_LOADING:case $e.FRAG_LOADING_WAITING_RETRY:case $e.PARSING:case $e.PARSED:this.state=$e.IDLE;break}this.nextLoadPosition=this.playhead}checkFragPlaying(){let e=this.media,n=null;if(e&&e.readyState>1&&e.seeking===!1){let s=e.currentTime;if(Ot.isBuffered(e,s))n=this.getAppendedFrag(s);else if(Ot.isBuffered(e,s+0.1))n=this.getAppendedFrag(s+0.1);if(n){if(this.backtrackFragment=void 0,!hh(n,this.fragPlaying))return this.fragPlaying=n,!0}}return!1}getBufferOutput(){return null}nextLevelSwitch(){let{levels:e,media:n,hls:s,config:i,playlistType:r}=this;if(n!=null&&n.readyState&&e&&s&&i){let a=this.getBufferOutput(),l=this.getFwdBufferInfo(a,r);if(!l)return;let c=r===Ct.AUDIO?s.nextAudioTrack:s.nextLoadLevel,f=e[c],{fetchdelay:d,okToFlushForwardBuffer:b}=this.calculateOptimalSwitchPoint(f,l);this.scheduleTrackSwitch(l,d,b)}this.tickImmediate()}}function e6(e,n,s){if(n)for(let i=n.length;i--;){let r=n[i].interstitial,a=r.startTime,l=Math.min(a+r.duration,r.resumeTime);if(r.appendInPlace){if(e.start>=a&&e.end<=l)return!0;if(s>e.start&&e.end>a&&e.start<l)return!0}}return!1}function o0(e){return!!e.interstitialsController&&e.enableInterstitialPlayback!==!1}class P1{constructor(){this.chunks=[],this.dataLength=0}push(e){this.chunks.push(e),this.dataLength+=e.length}flush(){let{chunks:e,dataLength:n}=this,s;if(!e.length)return new Uint8Array(0);else if(e.length===1)s=e[0];else s=mC(e,n);return this.reset(),s}reset(){this.chunks.length=0,this.dataLength=0}}function mC(e,n){let s=new Uint8Array(n),i=0;for(let r=0;r<e.length;r++){let a=e[r];s.set(a,i),i+=a.length}return s}var qg={exports:{}},d3;function pC(){if(d3)return qg.exports;return d3=1,function(e){var n=Object.prototype.hasOwnProperty,s="~";function i(){}if(Object.create){if(i.prototype=Object.create(null),!new i().__proto__)s=!1}function r(f,d,b){this.fn=f,this.context=d,this.once=b||!1}function a(f,d,b,y,v){if(typeof b!=="function")throw TypeError("The listener must be a function");var k=new r(b,y||f,v),A=s?s+d:d;if(!f._events[A])f._events[A]=k,f._eventsCount++;else if(!f._events[A].fn)f._events[A].push(k);else f._events[A]=[f._events[A],k];return f}function l(f,d){if(--f._eventsCount===0)f._events=new i;else delete f._events[d]}function c(){this._events=new i,this._eventsCount=0}c.prototype.eventNames=function(){var d=[],b,y;if(this._eventsCount===0)return d;for(y in b=this._events)if(n.call(b,y))d.push(s?y.slice(1):y);if(Object.getOwnPropertySymbols)return d.concat(Object.getOwnPropertySymbols(b));return d},c.prototype.listeners=function(d){var b=s?s+d:d,y=this._events[b];if(!y)return[];if(y.fn)return[y.fn];for(var v=0,k=y.length,A=Array(k);v<k;v++)A[v]=y[v].fn;return A},c.prototype.listenerCount=function(d){var b=s?s+d:d,y=this._events[b];if(!y)return 0;if(y.fn)return 1;return y.length},c.prototype.emit=function(d,b,y,v,k,A){var T=s?s+d:d;if(!this._events[T])return!1;var R=this._events[T],D=arguments.length,U,Y;if(R.fn){if(R.once)this.removeListener(d,R.fn,void 0,!0);switch(D){case 1:return R.fn.call(R.context),!0;case 2:return R.fn.call(R.context,b),!0;case 3:return R.fn.call(R.context,b,y),!0;case 4:return R.fn.call(R.context,b,y,v),!0;case 5:return R.fn.call(R.context,b,y,v,k),!0;case 6:return R.fn.call(R.context,b,y,v,k,A),!0}for(Y=1,U=Array(D-1);Y<D;Y++)U[Y-1]=arguments[Y];R.fn.apply(R.context,U)}else{var X=R.length,J;for(Y=0;Y<X;Y++){if(R[Y].once)this.removeListener(d,R[Y].fn,void 0,!0);switch(D){case 1:R[Y].fn.call(R[Y].context);break;case 2:R[Y].fn.call(R[Y].context,b);break;case 3:R[Y].fn.call(R[Y].context,b,y);break;case 4:R[Y].fn.call(R[Y].context,b,y,v);break;default:if(!U)for(J=1,U=Array(D-1);J<D;J++)U[J-1]=arguments[J];R[Y].fn.apply(R[Y].context,U)}}}return!0},c.prototype.on=function(d,b,y){return a(this,d,b,y,!1)},c.prototype.once=function(d,b,y){return a(this,d,b,y,!0)},c.prototype.removeListener=function(d,b,y,v){var k=s?s+d:d;if(!this._events[k])return this;if(!b)return l(this,k),this;var A=this._events[k];if(A.fn){if(A.fn===b&&(!v||A.once)&&(!y||A.context===y))l(this,k)}else{for(var T=0,R=[],D=A.length;T<D;T++)if(A[T].fn!==b||v&&!A[T].once||y&&A[T].context!==y)R.push(A[T]);if(R.length)this._events[k]=R.length===1?R[0]:R;else l(this,k)}return this},c.prototype.removeAllListeners=function(d){var b;if(d){if(b=s?s+d:d,this._events[b])l(this,b)}else this._events=new i,this._eventsCount=0;return this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=s,c.EventEmitter=c,e.exports=c}(qg),qg.exports}var gC=pC(),N1=uT(gC),Ch="1.7.3",of={};function bC(){return typeof __HLS_WORKER_BUNDLE__==="function"}function wC(){let e=of[Ch];if(e)return e.clientCount++,e;let n=new self.Blob([`var exports={};var module={exports:exports};function define(f){f()};define.amd=true;(${__HLS_WORKER_BUNDLE__.toString()})(true);`],{type:"text/javascript"}),s=self.URL.createObjectURL(n),r={worker:new self.Worker(s),objectURL:s,clientCount:1};return of[Ch]=r,r}function yC(e){let n=of[e];if(n)return n.clientCount++,n;let s=new self.URL(e,self.location.href).href,r={worker:new self.Worker(s),scriptURL:s,clientCount:1};return of[e]=r,r}function vC(e){let n=of[e||Ch];if(n){if(n.clientCount--===1){let{worker:i,objectURL:r}=n;if(delete of[e||Ch],r)self.URL.revokeObjectURL(r);i.terminate()}}}function SC(e,n,s,i){let r=[96000,88200,64000,48000,44100,32000,24000,22050,16000,12000,11025,8000,7350],a=n[s+2],l=a>>2&15;if(l>12){let R=Error(`invalid ADTS sampling index:${l}`);e.emit(Z.ERROR,Z.ERROR,{type:Dt.MEDIA_ERROR,details:Oe.FRAG_PARSING_ERROR,fatal:!0,error:R,reason:R.message});return}let c=(a>>6&3)+1,f=n[s+3]>>6&3|(a&1)<<2,d=r[l],b=l;if(c===5||c===29)b-=3;let y,v=(b&14)>>1,k=(b&1)<<7|f<<3,A=0;if(c===1&&l>=6){A=5;let R=l-3;y=[A<<3|v,k|(R&14)>>1,(R&1)<<7|8,0]}else y=[c<<3|v,k];let T="mp4a.40."+(A||c);return Rn.log(`manifest codec:${i}, parsed codec:${T}, channels:${f}, rate:${d} (ADTS object type:${c} sampling index:${l} esds config:[${y.join(",")}])`),{config:y,samplerate:d,channelCount:f,codec:T,parsedCodec:T,manifestCodec:i}}function t6(e,n){return e[n]===255&&(e[n+1]&246)===240}function n6(e,n){return e[n+1]&1?7:9}function B1(e,n){return(e[n+3]&3)<<11|e[n+4]<<3|(e[n+5]&224)>>>5}function kC(e,n){return n+5<e.length}function l0(e,n){return n+1<e.length&&t6(e,n)}function xC(e,n){return kC(e,n)&&t6(e,n)&&B1(e,n)<=e.length-n}function AC(e,n){if(l0(e,n)){let s=n6(e,n);if(n+s>=e.length)return!1;let i=B1(e,n);if(i<=s)return!1;let r=n+i;return r===e.length||l0(e,r)}return!1}function s6(e,n,s,i,r){if(!e.samplerate){let a=SC(n,s,i,r);if(!a)return;Un(e,a)}}function i6(e){return 92160000/e}function TC(e,n){let s=n6(e,n);if(n+s<=e.length){let i=B1(e,n)-s;if(i>0)return{headerLength:s,frameLength:i}}}function r6(e,n,s,i,r){let a=i6(e.samplerate),l=i+r*a,c=TC(n,s),f;if(c){let{frameLength:y,headerLength:v}=c,k=v+y,A=Math.max(0,s+k-n.length);if(A)f=new Uint8Array(k-v),f.set(n.subarray(s+v,n.length),0);else f=n.subarray(s+v,s+k);let T={unit:f,pts:l};if(!A)e.samples.push(T);return{sample:T,length:k,missing:A}}let d=n.length-s;return f=new Uint8Array(d),f.set(n.subarray(s,n.length),0),{sample:{unit:f,pts:l},length:d,missing:-1}}var Ui=function(e){return e.audioId3="org.id3",e.dateRange="com.apple.quicktime.HLS",e.emsg="https://aomedia.org/emsg/ID3",e.misbklv="urn:misb:KLV:bin:1910.1",e}({});function qa(e="",n=90000){return{type:e,id:-1,pid:-1,inputTimeScale:n,sequenceNumber:-1,samples:[],dropped:0}}class y0{constructor(){this._audioTrack=void 0,this._id3Track=void 0,this.frameIndex=0,this.cachedData=null,this.basePTS=null,this.initPTS=null,this.lastPTS=null}resetInitSegment(e,n,s,i){this._id3Track={type:"id3",id:3,pid:-1,inputTimeScale:90000,sequenceNumber:0,samples:[],dropped:0}}resetTimeStamp(e){this.initPTS=e,this.resetContiguity()}resetContiguity(){this.basePTS=null,this.lastPTS=null,this.frameIndex=0}canParse(e,n){return!1}appendFrame(e,n,s){}demux(e,n){if(this.cachedData)e=qr(this.cachedData,e),this.cachedData=null;let s=kh(e,0),i=s?s.length:0,r,a=this._audioTrack,l=this._id3Track,c=s?j1(s):void 0,f=e.length;if(this.basePTS===null||this.frameIndex===0&&ht(c))this.basePTS=EC(c,n,this.initPTS),this.lastPTS=this.basePTS;if(this.lastPTS===null)this.lastPTS=this.basePTS;if(s&&s.length>0)l.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:s,type:Ui.audioId3,duration:Number.POSITIVE_INFINITY});while(i<f){if(this.canParse(e,i)){let d=this.appendFrame(a,e,i);if(d)this.frameIndex++,this.lastPTS=d.sample.pts,i+=d.length,r=i;else i=f}else if(_T(e,i))s=kh(e,i),l.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:s,type:Ui.audioId3,duration:Number.POSITIVE_INFINITY}),i+=s.length,r=i;else i++;if(i===f&&r!==f){let d=e.slice(r);if(this.cachedData)this.cachedData=qr(this.cachedData,d);else this.cachedData=d}}return{audioTrack:a,videoTrack:qa(),id3Track:l,textTrack:qa()}}demuxSampleAes(e,n,s){return Promise.reject(Error(`[${this}] This demuxer does not support Sample-AES decryption`))}flush(e){let n=this.cachedData;if(n)this.cachedData=null,this.demux(n,0);return{audioTrack:this._audioTrack,videoTrack:qa(),id3Track:this._id3Track,textTrack:qa()}}destroy(){this.cachedData=null,this._audioTrack=this._id3Track=void 0}}var EC=(e,n,s)=>{if(ht(e))return e*90;let i=s?s.baseTime*90000/s.timescale:0;return n*90000+i},CC=[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160],jC=[44100,48000,32000,22050,24000,16000,11025,12000,8000],_C=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],IC=[0,1,1,4];function a6(e,n,s,i,r){if(s+24>n.length)return;let a=o6(n,s);if(a&&s+a.frameLength<=n.length){let l=a.samplesPerFrame*90000/a.sampleRate,c=i+r*l,f={unit:n.subarray(s,s+a.frameLength),pts:c,dts:c};return e.config=[],e.channelCount=a.channelCount,e.samplerate=a.sampleRate,e.samples.push(f),{sample:f,length:a.frameLength,missing:0}}}function o6(e,n){let s=e[n+1]>>3&3,i=e[n+1]>>1&3,r=e[n+2]>>4&15,a=e[n+2]>>2&3;if(s!==1&&r!==0&&r!==15&&a!==3){let l=e[n+2]>>1&1,c=e[n+3]>>6,f=s===3?3-i:i===3?3:4,d=CC[f*14+r-1]*1000,y=jC[(s===3?0:s===2?1:2)*3+a],v=c===3?1:2,k=_C[s][i],A=IC[i],T=k*8*A,R=Math.floor(k*d/y+l)*A,D=ph();if(!!D&&D<=87&&i===2&&d>=224000&&c===0)e[n+3]=e[n+3]|128;return{sampleRate:y,channelCount:v,frameLength:R,samplesPerFrame:T}}}function H1(e,n){return e[n]===255&&(e[n+1]&224)===224&&(e[n+1]&6)!==0}function l6(e,n){return n+1<e.length&&H1(e,n)}function RC(e,n){return H1(e,n)&&4<=e.length-n}function c6(e,n){if(n+1<e.length&&H1(e,n)){let i=o6(e,n),r=4;if(i!=null&&i.frameLength)r=i.frameLength;let a=n+r;return a===e.length||l6(e,a)}return!1}class U1{constructor(e,n,s){this.keyData=void 0,this.decrypter=void 0,this.keyData=s,this.decrypter=new g0(n,!0)}decryptBuffer(e){return this.decrypter.decrypt(e,this.keyData.key.buffer,this.keyData.iv.buffer,fl.cbc,{start:0,end:e.byteLength})}decryptAacSample(e,n,s){let i=e[n].unit;if(i.length<=16)return;let r=i.subarray(16,i.length-i.length%16),a=r.buffer.slice(r.byteOffset,r.byteOffset+r.length);this.decryptBuffer(a).then((l)=>{let c=new Uint8Array(l);if(i.set(c,16),!this.decrypter.isSync())this.decryptAacSamples(e,n+1,s)}).catch(s)}decryptAacSamples(e,n,s){for(;;n++){if(n>=e.length){s();return}if(e[n].unit.length<32)continue;if(this.decryptAacSample(e,n,s),!this.decrypter.isSync())return}}getAvcEncryptedData(e){let n=Math.floor((e.length-48)/160)*16+16,s=new Int8Array(n),i=0;for(let r=32;r<e.length-16;r+=160,i+=16)s.set(e.subarray(r,r+16),i);return s}getAvcDecryptedUnit(e,n){let s=new Uint8Array(n),i=0;for(let r=32;r<e.length-16;r+=160,i+=16)e.set(s.subarray(i,i+16),r);return e}decryptAvcSample(e,n,s,i,r){let a=y9(r.data),l=this.getAvcEncryptedData(a);this.decryptBuffer(l.buffer).then((c)=>{if(r.data=this.getAvcDecryptedUnit(a,c),!this.decrypter.isSync())this.decryptAvcSamples(e,n,s+1,i)}).catch(i)}decryptAvcSamples(e,n,s,i){if(e instanceof Uint8Array)throw Error("Cannot decrypt samples of type Uint8Array");for(;;n++,s=0){if(n>=e.length){i();return}let r=e[n].units;for(;;s++){if(s>=r.length)break;let a=r[s];if(a.data.length<=48||a.type!==1&&a.type!==5)continue;if(this.decryptAvcSample(e,n,s,i,a),!this.decrypter.isSync())return}}}}class f6 extends y0{constructor(e,n){super();this.observer=void 0,this.config=void 0,this.sampleAes=null,this.observer=e,this.config=n}resetInitSegment(e,n,s,i){super.resetInitSegment(e,n,s,i),this._audioTrack={container:"audio/adts",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"aac",samples:[],manifestCodec:n,duration:i,inputTimeScale:90000,dropped:0}}static probe(e,n){if(!e)return!1;let s=kh(e,0),i=(s==null?void 0:s.length)||0;if(c6(e,i))return!1;for(let r=e.length;i<r;i++)if(AC(e,i))return n.log("ADTS sync word found !"),!0;return!1}canParse(e,n){return xC(e,n)}appendFrame(e,n,s){s6(e,this.observer,n,s,e.manifestCodec);let i=r6(e,n,s,this.basePTS,this.frameIndex);if((i==null?void 0:i.missing)===0)return i}demuxSampleAes(e,n,s){let i=this.demux(e,s),r=this.sampleAes=new U1(this.observer,this.config,n);return new Promise((a)=>{r.decryptAacSamples(i.audioTrack.samples,0,()=>{a(i)})})}}var h6=(e,n)=>{let s=0,i=5;n+=i;let r=new Uint32Array(1),a=new Uint32Array(1),l=new Uint8Array(1);while(i>0){l[0]=e[n];let c=Math.min(i,8),f=8-c;a[0]=4278190080>>>24+f<<f,r[0]=(l[0]&a[0])>>f,s=!s?r[0]:s<<c|r[0],n+=1,i-=c}return s};class u6 extends y0{constructor(e){super();this.observer=void 0,this.observer=e}resetInitSegment(e,n,s,i){super.resetInitSegment(e,n,s,i),this._audioTrack={container:"audio/ac-3",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"ac3",samples:[],manifestCodec:n,duration:i,inputTimeScale:90000,dropped:0}}canParse(e,n){return n+64<e.length}appendFrame(e,n,s){let i=d6(e,n,s,this.basePTS,this.frameIndex);if(i!==-1)return{sample:e.samples[e.samples.length-1],length:i,missing:0}}static probe(e){if(!e)return!1;let n=kh(e,0);if(!n)return!1;let s=n.length;if(e[s]===11&&e[s+1]===119&&j1(n)!==void 0)if(h6(e,s)<16)return!0;else throw Error("Containerless ec-3 is not supported");return!1}}function d6(e,n,s,i,r){if(s+8>n.length)return-1;if(n[s]!==11||n[s+1]!==119)return-1;let a=n[s+4]>>6;if(a>=3)return-1;let c=[48000,44100,32000][a],f=n[s+4]&63,b=[64,69,96,64,70,96,80,87,120,80,88,120,96,104,144,96,105,144,112,121,168,112,122,168,128,139,192,128,140,192,160,174,240,160,175,240,192,208,288,192,209,288,224,243,336,224,244,336,256,278,384,256,279,384,320,348,480,320,349,480,384,417,576,384,418,576,448,487,672,448,488,672,512,557,768,512,558,768,640,696,960,640,697,960,768,835,1152,768,836,1152,896,975,1344,896,976,1344,1024,1114,1536,1024,1115,1536,1152,1253,1728,1152,1254,1728,1280,1393,1920,1280,1394,1920][f*3+a]*2;if(s+b>n.length)return-1;let y=n[s+6]>>5,v=0;if(y===2)v+=2;else{if(y&1&&y!==1)v+=2;if(y&4)v+=2}let k=(n[s+6]<<8|n[s+7])>>12-v&1,T=[2,1,2,3,3,4,4,5][y]+k,R=n[s+5]>>3,D=n[s+5]&7,U=new Uint8Array([a<<6|R<<1|D>>2,(D&3)<<6|y<<3|k<<2|f>>4,f<<4&224]),Y=1536/c*90000,X=i+r*Y,J=n.subarray(s,s+b);return e.config=U,e.channelCount=T,e.samplerate=c,e.samples.push({unit:J,pts:X}),b}class m6 extends y0{resetInitSegment(e,n,s,i){super.resetInitSegment(e,n,s,i),this._audioTrack={container:"audio/mpeg",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"mp3",samples:[],manifestCodec:n,duration:i,inputTimeScale:90000,dropped:0}}static probe(e){if(!e)return!1;let n=kh(e,0),s=(n==null?void 0:n.length)||0;if(n&&e[s]===11&&e[s+1]===119&&j1(n)!==void 0&&h6(e,s)<=16)return!1;for(let i=e.length;s<i;s++)if(c6(e,s))return Rn.log("MPEG Audio sync word found !"),!0;return!1}canParse(e,n){return RC(e,n)}appendFrame(e,n,s){if(this.basePTS===null)return;return a6(e,n,s,this.basePTS,this.frameIndex)}}var DC=/\/emsg[-/]ID3/i;class p6{constructor(e,n,s,i=Rn){this.remainderData=null,this.timeOffset=0,this.config=void 0,this.videoTrack=void 0,this.audioTrack=void 0,this.id3Track=void 0,this.txtTrack=void 0,this.initData=void 0,this.logger=void 0,this.config=n,this.logger=i}resetTimeStamp(){}resetInitSegment(e,n,s,i){let r=this.videoTrack=qa("video",1),a=this.audioTrack=qa("audio",1),l=this.txtTrack=qa("text",1);if(this.id3Track=qa("id3",1),this.initData=void 0,this.timeOffset=0,!(e!=null&&e.byteLength))return;let c=this.initData=m9(e);if(c.video){let{id:f,timescale:d,codec:b,supplemental:y}=c.video;r.id=f,r.timescale=l.timescale=d,r.codec=b,r.supplemental=y}if(c.audio){let{id:f,timescale:d,codec:b}=c.audio;a.id=f,a.timescale=d,a.codec=b}l.id=f9.text,r.sampleDuration=0,r.duration=a.duration=i}resetContiguity(){this.remainderData=null}static probe(e){return VT(e,"moof")}demux(e,n,s){this.timeOffset=n;let i=e,r=this.videoTrack,a=this.txtTrack;if(this.config.progressive){if(this.remainderData)i=qr(this.remainderData,e);let f=tE(i);this.remainderData=f.remainder,r.samples=f.valid||new Uint8Array}else r.samples=i;let l=this.extractID3Track(r,n),c=this.parseFragment(r,a,n,s);return{videoTrack:r,audioTrack:this.audioTrack,id3Track:l,textTrack:this.txtTrack,initData:this.initData,sampleData:c}}flush(e,n){let s=this.timeOffset,i=this.videoTrack,r=this.txtTrack;i.samples=this.remainderData||new Uint8Array,this.remainderData=null;let a=this.extractID3Track(i,this.timeOffset),l=this.parseFragment(i,r,s,n);return{videoTrack:i,audioTrack:qa(),id3Track:a,textTrack:qa(),initData:this.initData,sampleData:l}}parseFragment(e,n,s,i){let r=this.initData;if(r&&i){let{samples:a,sampleData:l}=eE(s,e,r,this.logger,i.iframe);return n.samples=a,l}n.samples=nE(s,e)}extractID3Track(e,n){let s=this.id3Track;if(e.samples.length){let i=$t(e.samples,["emsg"]);if(i)i.forEach((r)=>{let a=sE(r);if(DC.test(a.schemeIdUri)){let l=m3(a,n),c=a.eventDuration===4294967295?Number.POSITIVE_INFINITY:a.eventDuration/a.timeScale;if(c<=0.001)c=Number.POSITIVE_INFINITY;let f=a.payload;s.samples.push({data:f,len:f.byteLength,dts:l,pts:l,type:Ui.emsg,duration:c})}else if(this.config.enableEmsgKLVMetadata){let l=this.config.emsgKLVSchemaUri||Ui.misbklv;if(a.schemeIdUri.startsWith(l)){let c=m3(a,n);s.samples.push({data:a.payload,len:a.payload.byteLength,dts:c,pts:c,type:Ui.misbklv,duration:Number.POSITIVE_INFINITY})}}})}return s}demuxSampleAes(e,n,s){return Promise.reject(Error("The MP4 demuxer does not support SAMPLE-AES decryption"))}destroy(){this.config=null,this.remainderData=null,this.videoTrack=this.audioTrack=this.id3Track=this.txtTrack=void 0,this.initData=void 0}}function m3(e,n){return ht(e.presentationTime)?e.presentationTime/e.timeScale:n+e.presentationTimeDelta/e.timeScale}var qC=1,MC=2,lh=-1;class z1{constructor(){this.VideoSample=null}createVideoSample(e,n,s){return{key:e,frame:!1,pts:n,dts:s,units:[],length:0}}getLastNalUnit(e){var n;let s=this.VideoSample,i;if(!s||s.units.length===0)s=e[e.length-1];if((n=s)!=null&&n.units){let r=s.units;i=r[r.length-1]}return i}pushAccessUnit(e,n){if(e.units.length&&e.frame){if(e.pts===void 0){let s=n.samples,i=s.length;if(i){let r=s[i-1];e.pts=r.pts,e.dts=r.dts}else{n.dropped++;return}}n.samples.push(e)}}parseNALu(e,n,s){let i=n.byteLength;if(i===0)return[];let r=e.naluState||0,a=r===lh?0:r,l=[],c=0,f=0,d=-1,b=0;if(r===lh)d=0,b=this.getNALuType(n,0),f=1;while(f<i){let y=n.indexOf(qC,f);if(y===-1)break;f=y+1;let v=y;while(v>0&&n[v-1]===0)v--;if(y-v+(v===0?a:0)<MC)continue;if(d>=0)l.push({data:n.subarray(d,v),type:b});else{let A=this.getLastNalUnit(e.samples);if(A){if(v>0)A.data=qr(A.data,n.subarray(0,v));else if(a>0)A.data=A.data.subarray(0,A.data.byteLength-a);A.state=0}}if(f<i)d=f,b=this.getNALuType(n,f);else{c=lh,d=-1;break}}if(c!==lh){let y=i;while(y>0&&n[y-1]===0)y--;c=i-y+(y===0?a:0)}if(d>=0)l.push({data:n.subarray(d),type:b,state:c});else if(l.length===0&&c!==lh){let y=this.getLastNalUnit(e.samples);if(y)y.data=qr(y.data,n),y.state=c}return e.naluState=c,l}}class tf{constructor(e){this.data=void 0,this.bytesAvailable=void 0,this.word=void 0,this.bitsAvailable=void 0,this.data=e,this.bytesAvailable=e.byteLength,this.word=0,this.bitsAvailable=0}loadWord(){let e=this.data,n=this.bytesAvailable,s=e.byteLength-n,i=new Uint8Array(4),r=Math.min(4,n);if(r===0)throw Error("no bytes available");i.set(e.subarray(s,s+r)),this.word=new DataView(i.buffer).getUint32(0),this.bitsAvailable=r*8,this.bytesAvailable-=r}skipBits(e){let n;if(e=Math.min(e,this.bytesAvailable*8+this.bitsAvailable),this.bitsAvailable>e)this.word<<=e,this.bitsAvailable-=e;else e-=this.bitsAvailable,n=e>>3,e-=n<<3,this.bytesAvailable-=n,this.loadWord(),this.word<<=e,this.bitsAvailable-=e}readBits(e){let n=Math.min(this.bitsAvailable,e),s=this.word>>>32-n;if(e>32)Rn.error("Cannot read more than 32 bits at a time");if(this.bitsAvailable-=n,this.bitsAvailable>0)this.word<<=n;else if(this.bytesAvailable>0)this.loadWord();else throw Error("no bits available");if(n=e-n,n>0&&this.bitsAvailable)return s<<n|this.readBits(n);else return s}skipLZ(){let e;for(e=0;e<this.bitsAvailable;++e)if((this.word&2147483648>>>e)!==0)return this.word<<=e,this.bitsAvailable-=e,e;return this.loadWord(),e+this.skipLZ()}skipUEG(){this.skipBits(1+this.skipLZ())}skipEG(){this.skipBits(1+this.skipLZ())}readUEG(){let e=this.skipLZ();return this.readBits(e+1)-1}readEG(){let e=this.readUEG();if(1&e)return 1+e>>>1;else return-1*(e>>>1)}readBoolean(){return this.readBits(1)===1}readUByte(){return this.readBits(8)}}class g6 extends z1{parsePES(e,n,s,i,r){let a=r.iframe,l=this.parseNALu(e,s.data,i),c=this.VideoSample,f,d=!1;if(s.data=null,c&&l.length&&!e.audFound)this.pushAccessUnit(c,e),c=this.VideoSample=this.createVideoSample(!1,s.pts,s.dts);if(l.forEach((b)=>{var y,v;switch(b.type){case 1:{if(a)break;let R=!1;f=!0;let D=b.data;if(d&&D.length>4){let U=this.readSliceType(D);if(U===2||U===4||U===7||U===9)R=!0}if(R){var k;if((k=c)!=null&&k.frame&&!c.key)this.pushAccessUnit(c,e),c=this.VideoSample=null}if(!c)c=this.VideoSample=this.createVideoSample(!0,s.pts,s.dts);c.frame=!0,c.key=R;break}case 5:if(f=!0,(y=c)!=null&&y.frame&&!c.key)this.pushAccessUnit(c,e),c=this.VideoSample=null;if(!c)c=this.VideoSample=this.createVideoSample(!0,s.pts,s.dts);c.key=!0,c.frame=!0;break;case 6:{if(a)break;f=!0,xh(b.data,1,s.pts,n.samples);break}case 7:{var A,T;f=!0,d=!0;let R=b.data,D=this.readSPS(R);if(!e.sps||e.width!==D.width||e.height!==D.height||((A=e.pixelRatio)==null?void 0:A[0])!==D.pixelRatio[0]||((T=e.pixelRatio)==null?void 0:T[1])!==D.pixelRatio[1]){e.width=D.width,e.height=D.height,e.pixelRatio=D.pixelRatio,e.sps=[R];let U=R.subarray(1,4),Y="avc1.";for(let X=0;X<3;X++){let J=U[X].toString(16);if(J.length<2)J="0"+J;Y+=J}e.codec=Y}break}case 8:f=!0,e.pps=[b.data];break;case 9:if(f=!0,e.audFound=!0,(v=c)!=null&&v.frame)this.pushAccessUnit(c,e),c=null;if(!c)c=this.VideoSample=this.createVideoSample(!1,s.pts,s.dts);break;case 12:f=!0;break;default:f=!1;break}if(c&&f)c.units.push(b)}),i&&c)this.pushAccessUnit(c,e),this.VideoSample=null}getNALuType(e,n){return e[n]&31}readSliceType(e){let n=new tf(e);return n.readUByte(),n.readUEG(),n.readUEG()}skipScalingList(e,n){let s=8,i=8,r;for(let a=0;a<e;a++){if(i!==0)r=n.readEG(),i=(s+r+256)%256;s=i===0?s:i}}readSPS(e){let n=new tf(e),s=0,i=0,r=0,a=0,l,c,f,d=n.readUByte.bind(n),b=n.readBits.bind(n),y=n.readUEG.bind(n),v=n.readBoolean.bind(n),k=n.skipBits.bind(n),A=n.skipEG.bind(n),T=n.skipUEG.bind(n),R=this.skipScalingList.bind(this);d();let D=d();if(b(5),k(3),d(),T(),D===100||D===110||D===122||D===244||D===44||D===83||D===86||D===118||D===128){let te=y();if(te===3)k(1);if(T(),T(),k(1),v()){c=te!==3?8:12;for(f=0;f<c;f++)if(v())if(f<6)R(16,n);else R(64,n)}}T();let U=y();if(U===0)y();else if(U===1){k(1),A(),A(),l=y();for(f=0;f<l;f++)A()}T(),k(1);let Y=y(),X=y(),J=b(1);if(J===0)k(1);if(k(1),v())s=y(),i=y(),r=y(),a=y();let ee=[1,1];if(v()){if(v())switch(d()){case 1:ee=[1,1];break;case 2:ee=[12,11];break;case 3:ee=[10,11];break;case 4:ee=[16,11];break;case 5:ee=[40,33];break;case 6:ee=[24,11];break;case 7:ee=[20,11];break;case 8:ee=[32,11];break;case 9:ee=[80,33];break;case 10:ee=[18,11];break;case 11:ee=[15,11];break;case 12:ee=[64,33];break;case 13:ee=[160,99];break;case 14:ee=[4,3];break;case 15:ee=[3,2];break;case 16:ee=[2,1];break;case 255:{ee=[d()<<8|d(),d()<<8|d()];break}}}return{width:Math.ceil((Y+1)*16-s*2-i*2),height:(2-J)*(X+1)*16-(J?2:4)*(r+a),pixelRatio:ee}}}class b6 extends z1{constructor(...e){super(...e);this.initVPS=null}parsePES(e,n,s,i){let r=this.parseNALu(e,s.data,i),a=this.VideoSample,l,c=!1;s.data=null;let f=(d)=>(a=this.VideoSample=this.createVideoSample(d,s.pts,s.dts),a);if(r.forEach((d,b)=>{var y,v;if(this.startsNewAccessUnit(a,e,d,b)){this.pushAccessUnit(a,e);let A=d.type>=16&&d.type<=23;a=f(A),c=!1}switch(d.type){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:if(!a)a=f(!1);a.frame=!0,l=!0;break;case 16:case 17:case 18:case 21:case 22:case 23:if(l=!0,c){var k;if((k=a)!=null&&k.frame&&!a.key)this.pushAccessUnit(a,e),a=this.VideoSample=null}if(!a)a=f(!0);a.key=!0,a.frame=!0;break;case 19:case 20:if(l=!0,(y=a)!=null&&y.frame&&!a.key)this.pushAccessUnit(a,e),a=this.VideoSample=null;if(!a)a=f(!0);a.key=!0,a.frame=!0;break;case 39:l=!0,xh(d.data,2,s.pts,n.samples);break;case 32:if(l=!0,!e.vps){if(typeof e.params!=="object")e.params={};e.params=Un(e.params,this.readVPS(d.data)),this.initVPS=d.data}e.vps=[d.data];break;case 33:if(l=!0,c=!0,e.vps!==void 0&&e.vps[0]!==this.initVPS&&e.sps!==void 0&&!this.matchSPS(e.sps[0],d.data))this.initVPS=e.vps[0],e.sps=e.pps=void 0;if(!e.sps){let A=this.readSPS(d.data);if(e.width=A.width,e.height=A.height,e.pixelRatio=A.pixelRatio,e.codec=A.codecString,e.sps=[],typeof e.params!=="object")e.params={};for(let T in A.params)e.params[T]=A.params[T]}if(this.pushParameterSet(e.sps,d.data,e.vps),!a)a=f(!1);break;case 34:if(l=!0,typeof e.params==="object"){if(!e.pps){e.pps=[];let A=this.readPPS(d.data);for(let T in A)e.params[T]=A[T]}this.pushParameterSet(e.pps,d.data,e.vps)}break;case 35:if(l=!0,e.audFound=!0,(v=a)!=null&&v.frame)this.pushAccessUnit(a,e),a=null;if(!a)a=f(!1);break;default:l=!1;break}if(a&&l)a.units.push(d)}),i&&a)this.pushAccessUnit(a,e),this.VideoSample=null}pushParameterSet(e,n,s){if(!!s&&s[0]===this.initVPS||!s&&!e.length)e.push(n)}startsNewAccessUnit(e,n,s,i){if(!e)return!1;if(!n.audFound&&i===0)return!0;if(!e.frame)return!1;let{type:r,data:a}=s;if(r>=32&&r<=35||r===39||r>=41&&r<=44||r>=48&&r<=55)return!0;return r<=31&&a.length>2&&(a[2]&128)!==0}getNALuType(e,n){return(e[n]&126)>>>1}ebsp2rbsp(e){let n=new Uint8Array(e.byteLength),s=0;for(let i=0;i<e.byteLength;i++){if(i>=2){if(e[i]===3&&e[i-1]===0&&e[i-2]===0)continue}n[s]=e[i],s++}return new Uint8Array(n.buffer,0,s)}pushAccessUnit(e,n){if(super.pushAccessUnit(e,n),this.initVPS)this.initVPS=null}readVPS(e){let n=new tf(e);n.readUByte(),n.readUByte(),n.readBits(4),n.skipBits(2),n.readBits(6);let s=n.readBits(3),i=n.readBoolean();return{numTemporalLayers:s+1,temporalIdNested:i}}readSPS(e){let n=new tf(this.ebsp2rbsp(e));n.readUByte(),n.readUByte(),n.readBits(4);let s=n.readBits(3);n.readBoolean();let i=n.readBits(2),r=n.readBoolean(),a=n.readBits(5),l=n.readUByte(),c=n.readUByte(),f=n.readUByte(),d=n.readUByte(),b=n.readUByte(),y=n.readUByte(),v=n.readUByte(),k=n.readUByte(),A=n.readUByte(),T=n.readUByte(),R=n.readUByte(),D=[],U=[];for(let We=0;We<s;We++)D.push(n.readBoolean()),U.push(n.readBoolean());if(s>0)for(let We=s;We<8;We++)n.readBits(2);for(let We=0;We<s;We++){if(D[We])n.readUByte(),n.readUByte(),n.readUByte(),n.readUByte(),n.readUByte(),n.readUByte(),n.readUByte(),n.readUByte(),n.readUByte(),n.readUByte(),n.readUByte();if(U[We])n.readUByte()}n.readUEG();let Y=n.readUEG();if(Y==3)n.skipBits(1);let X=n.readUEG(),J=n.readUEG(),ee=n.readBoolean(),te=0,ne=0,ie=0,se=0;if(ee)te+=n.readUEG(),ne+=n.readUEG(),ie+=n.readUEG(),se+=n.readUEG();let ae=n.readUEG(),be=n.readUEG(),ye=n.readUEG(),fe=n.readBoolean();for(let We=fe?0:s;We<=s;We++)n.skipUEG(),n.skipUEG(),n.skipUEG();if(n.skipUEG(),n.skipUEG(),n.skipUEG(),n.skipUEG(),n.skipUEG(),n.skipUEG(),n.readBoolean()){if(n.readBoolean())for(let nt=0;nt<4;nt++)for(let yt=0;yt<(nt===3?2:6);yt++)if(!n.readBoolean())n.readUEG();else{let Nt=Math.min(64,1<<4+(nt<<1));if(nt>1)n.readEG();for(let ln=0;ln<Nt;ln++)n.readEG()}}if(n.readBoolean(),n.readBoolean(),n.readBoolean())n.readUByte(),n.skipUEG(),n.skipUEG(),n.readBoolean();let Se=n.readUEG(),we=0;for(let We=0;We<Se;We++){let nt=!1;if(We!==0)nt=n.readBoolean();if(nt){if(We===Se)n.readUEG();n.readBoolean(),n.readUEG();let yt=0;for(let pt=0;pt<=we;pt++){let Nt=n.readBoolean(),ln=!1;if(!Nt)ln=n.readBoolean();if(Nt||ln)yt++}we=yt}else{let yt=n.readUEG(),pt=n.readUEG();we=yt+pt;for(let Nt=0;Nt<yt;Nt++)n.readUEG(),n.readBoolean();for(let Nt=0;Nt<pt;Nt++)n.readUEG(),n.readBoolean()}}if(n.readBoolean()){let We=n.readUEG();for(let nt=0;nt<We;nt++){for(let yt=0;yt<ye+4;yt++)n.readBits(1);n.readBits(1)}}let De=0,Le=1,Be=1,Ke=!0,at=1,tt=0;n.readBoolean(),n.readBoolean();let St=!1;if(n.readBoolean()){if(n.readBoolean()){let pn=n.readUByte(),Yt=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2],qn=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1];if(pn>0&&pn<16)Le=Yt[pn-1],Be=qn[pn-1];else if(pn===255)Le=n.readBits(16),Be=n.readBits(16)}if(n.readBoolean())n.readBoolean();if(n.readBoolean()){if(n.readBits(3),n.readBoolean(),n.readBoolean())n.readUByte(),n.readUByte(),n.readUByte()}if(n.readBoolean())n.readUEG(),n.readUEG();if(n.readBoolean(),n.readBoolean(),n.readBoolean(),St=n.readBoolean(),St)n.skipUEG(),n.skipUEG(),n.skipUEG(),n.skipUEG();if(n.readBoolean()){if(at=n.readBits(32),tt=n.readBits(32),n.readBoolean())n.readUEG();if(n.readBoolean()){let qn=n.readBoolean(),os=n.readBoolean(),Tt=!1;if(qn||os){if(Tt=n.readBoolean(),Tt)n.readUByte(),n.readBits(5),n.readBoolean(),n.readBits(5);if(n.readBits(4),n.readBits(4),Tt)n.readBits(4);n.readBits(5),n.readBits(5),n.readBits(5)}for(let ot=0;ot<=s;ot++){Ke=n.readBoolean();let cn=Ke||n.readBoolean(),Bt=!1;if(cn)n.readEG();else Bt=n.readBoolean();let Mn=Bt?1:n.readUEG()+1;if(qn)for(let ls=0;ls<Mn;ls++){if(n.readUEG(),n.readUEG(),Tt)n.readUEG(),n.readUEG();n.skipBits(1)}if(os)for(let ls=0;ls<Mn;ls++){if(n.readUEG(),n.readUEG(),Tt)n.readUEG(),n.readUEG();n.skipBits(1)}}}}if(n.readBoolean())n.readBoolean(),n.readBoolean(),n.readBoolean(),De=n.readUEG()}let dt=X,Lt=J;if(ee){let We=1,nt=1;if(Y===1)We=nt=2;else if(Y==2)We=2;dt=X-We*ne-We*te,Lt=J-nt*se-nt*ie}let Zt=i?["A","B","C"][i]:"",dn=l<<24|c<<16|f<<8|d,Xt=0;for(let We=0;We<32;We++)Xt=(Xt|(dn>>We&1)<<31-We)>>>0;let on=Xt.toString(16);if(a===1&&on==="2")on="6";return{codecString:`hvc1.${Zt}${a}.${on}.${r?"H":"L"}${R}.B0`,params:{general_tier_flag:r,general_profile_idc:a,general_profile_space:i,general_profile_compatibility_flags:[l,c,f,d],general_constraint_indicator_flags:[b,y,v,k,A,T],general_level_idc:R,bit_depth:ae+8,bit_depth_luma_minus8:ae,bit_depth_chroma_minus8:be,min_spatial_segmentation_idc:De,chroma_format_idc:Y,frame_rate:{fixed:Ke,fps:tt/at}},width:dt,height:Lt,pixelRatio:[Le,Be]}}readPPS(e){let n=new tf(this.ebsp2rbsp(e));if(n.readUByte(),n.readUByte(),n.skipUEG(),n.skipUEG(),n.skipBits(2),n.skipBits(3),n.skipBits(2),n.skipUEG(),n.skipUEG(),n.skipEG(),n.skipBits(2),n.readBoolean())n.skipUEG();n.skipEG(),n.skipEG(),n.skipBits(4);let i=n.readBoolean(),r=n.readBoolean(),a=1;if(r&&i)a=0;else if(r)a=3;else if(i)a=2;return{parallelismType:a}}matchSPS(e,n){return ca(e).substring(3)===ca(n).substring(3)}}var ii=188;class So{constructor(e,n,s,i){this.logger=void 0,this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.sampleAes=null,this.pmtParsed=!1,this.audioCodec=void 0,this.videoCodec=void 0,this._pmtId=-1,this._videoTrack=void 0,this._audioTrack=void 0,this._id3Track=void 0,this._txtTrack=void 0,this._klvPid=-1,this.aacOverFlow=null,this.remainderData=null,this.videoParser=void 0,this.videoIntegrityChecker=null,this.observer=e,this.config=n,this.typeSupported=s,this.logger=i,this.videoParser=null}static probe(e,n){let s=So.syncOffset(e);if(s>0)n.warn(`MPEG2-TS detected but first sync word found @ offset ${s}`);return s!==-1}static syncOffset(e){let n=e.length,s=Math.min(ii*5,n-ii)+1,i=0;while(i<s){let r=!1,a=-1,l=0;for(let c=i;c<n;c+=ii)if(e[c]===71&&(n-c===ii||e[c+ii]===71)){if(l++,a===-1){if(a=c,a!==0)s=Math.min(a+ii*99,e.length-ii)+1}if(!r)r=c0(e,c)===0;if(r&&l>1&&(a===0&&l>2||c+ii>s))return a}else if(l)return-1;else break;i++}return-1}static createTrack(e,n){return{container:e==="video"||e==="audio"?"video/mp2t":void 0,type:e,id:f9[e],pid:-1,inputTimeScale:90000,sequenceNumber:0,samples:[],dropped:0,duration:e==="audio"?n:void 0}}resetInitSegment(e,n,s,i,r,a){if(this.pmtParsed=!1,this._pmtId=-1,this._videoTrack=So.createTrack("video"),this._videoTrack.duration=i,this.videoIntegrityChecker=this.config.handleMpegTsVideoIntegrityErrors==="skip"?new w6(this.logger):null,this._audioTrack=So.createTrack("audio",i),this._id3Track=So.createTrack("id3"),this._txtTrack=So.createTrack("text"),this._audioTrack.segmentCodec="aac",this.videoParser=null,this.aacOverFlow=null,this.remainderData=null,this.audioCodec=n,this.videoCodec=s,e)this.demux(e,0,a,(r==null?void 0:r.method)==="SAMPLE-AES")}resetTimeStamp(){}resetContiguity(){let{_audioTrack:e,_videoTrack:n,_id3Track:s}=this;if(e)e.pesData=null;if(n)n.pesData=null;if(s)s.pesData=null;this.aacOverFlow=null,this.remainderData=null}demux(e,n,s,i=!1,r=!1){if(!i)this.sampleAes=null;let a,l=this._videoTrack,c=this.videoIntegrityChecker,f=this._audioTrack,d=this._id3Track,b=this._txtTrack,y=s.iframe,{pid:v,pesData:k}=l,A=f.pid,T=d.pid,R=this._klvPid,D=f.pesData,U=d.pesData,Y=null,X=null,J=this.pmtParsed,ee=this._pmtId,te=e.length;if(this.remainderData)e=qr(this.remainderData,e),te=e.length,this.remainderData=null;if(te<ii&&!r)return this.remainderData=e,{audioTrack:f,videoTrack:l,id3Track:d,textTrack:b};let ne=Math.max(0,So.syncOffset(e));if(te-=(te-ne)%ii,te<e.byteLength&&!r)this.remainderData=new Uint8Array(e.buffer,te,e.buffer.byteLength-te);let ie=0;for(let ae=ne;ae<te;ae+=ii)if(e[ae]===71){let be=!!(e[ae+1]&64),ye=c0(e,ae),fe=(e[ae+3]&48)>>4,le;if(fe>1){if(le=ae+5+e[ae+4],le===ae+ii)continue}else le=ae+4;switch(ye){case v:if(be){if(k&&!(c!=null&&c.isCorrupted)&&(a=Xl(k,this.logger))){if(this.readyVideoParser(l.segmentCodec),this.videoParser!==null)this.videoParser.parsePES(l,b,a,!1,s)}k={data:[],size:0},c==null||c.reset(v)}if(c==null||c.handlePacket(e.subarray(ae)),k)k.data.push(e.subarray(le,ae+ii)),k.size+=ae+ii-le;break;case A:if(y)break;if(be){if(D&&(a=Xl(D,this.logger)))switch(f.segmentCodec){case"aac":this.parseAACPES(f,a,s);break;case"mp3":this.parseMPEGPES(f,a);break;case"ac3":this.parseAC3PES(f,a);break}D={data:[],size:0}}if(D)D.data.push(e.subarray(le,ae+ii)),D.size+=ae+ii-le;break;case T:if(y)break;if(be){if(U&&(a=Xl(U,this.logger)))this.parseID3PES(d,a);U={data:[],size:0}}if(U)U.data.push(e.subarray(le,ae+ii)),U.size+=ae+ii-le;break;case R:if(y)break;if(be){if(Y&&(a=Xl(Y,this.logger)))this.parseKlvPES(d,a);Y={data:[],size:0}}if(Y)Y.data.push(e.subarray(le,ae+ii)),Y.size+=ae+ii-le;break;case 0:if(be)le+=e[le]+1;ee=this._pmtId=FC(e,le);break;case ee:{if(be)le+=e[le]+1;let oe=LC(e,le,this.typeSupported,i,this.observer,this.logger,this.config,s);if(v=oe.videoPid,v>0)l.pid=v,l.segmentCodec=oe.segmentVideoCodec;if(A=oe.audioPid,A>0)f.pid=A,f.segmentCodec=oe.segmentAudioCodec;if(T=oe.id3Pid,T>0)d.pid=T;if(R=oe.klvPid,R>0)this._klvPid=R;if(X!==null&&!J)this.logger.warn(`MPEG-TS PMT found at ${ae} after unknown PID '${X}'. Backtracking to sync byte @${ne} to parse all TS packets.`),X=null,ae=ne-188;J=this.pmtParsed=!0;break}case 17:case 8191:break;default:X=ye;break}}else ie++;if(ie>0)l1(this.observer,Error(`Found ${ie} TS packet/s that do not start with 0x47`),s,void 0,this.logger);l.pesData=k,f.pesData=D,d.pesData=U;let se={audioTrack:f,videoTrack:l,id3Track:d,textTrack:b};if(r)this.extractRemainingSamples(se,s);return se}flush(e,n){let{remainderData:s}=this;this.remainderData=null;let i;if(s)i=this.demux(s,0,n,!1,!0);else i={videoTrack:this._videoTrack,audioTrack:this._audioTrack,id3Track:this._id3Track,textTrack:this._txtTrack};if(this.extractRemainingSamples(i,n),this.sampleAes)return this.decrypt(i,this.sampleAes);return i}extractRemainingSamples(e,n){let{audioTrack:s,videoTrack:i,id3Track:r,textTrack:a}=e,l=i.pesData,c=s.pesData,f=r.pesData,d=this.videoIntegrityChecker,b;if(l&&!(d!=null&&d.isCorrupted)&&(b=Xl(l,this.logger))){if(this.readyVideoParser(i.segmentCodec),this.videoParser!==null)this.videoParser.parsePES(i,a,b,!0,n),i.pesData=null}else i.pesData=l;if(c&&(b=Xl(c,this.logger))){switch(s.segmentCodec){case"aac":this.parseAACPES(s,b,n);break;case"mp3":this.parseMPEGPES(s,b);break;case"ac3":this.parseAC3PES(s,b);break}s.pesData=null}else{if(c!=null&&c.size)this.logger.log("last AAC PES packet truncated,might overlap between fragments");s.pesData=c}if(f&&(b=Xl(f,this.logger)))this.parseID3PES(r,b),r.pesData=null;else r.pesData=f}demuxSampleAes(e,n,s,i){let r=this.demux(e,s,i,!0,!this.config.progressive),a=this.sampleAes=new U1(this.observer,this.config,n);return this.decrypt(r,a)}readyVideoParser(e){if(this.videoParser===null){if(e==="avc")this.videoParser=new g6;else if(e==="hevc")this.videoParser=new b6}}decrypt(e,n){return new Promise((s)=>{let{audioTrack:i,videoTrack:r}=e;if(i.samples&&i.segmentCodec==="aac")n.decryptAacSamples(i.samples,0,()=>{if(r.samples)n.decryptAvcSamples(r.samples,0,0,()=>{s(e)});else s(e)});else if(r.samples)n.decryptAvcSamples(r.samples,0,0,()=>{s(e)})})}destroy(){if(this.observer)this.observer.removeAllListeners();this.config=this.logger=this.observer=null,this.aacOverFlow=this.videoParser=this.remainderData=this.sampleAes=null,this._videoTrack=this._audioTrack=this._id3Track=this._txtTrack=void 0,this.videoIntegrityChecker=null}parseAACPES(e,n,s){let i=0,r=this.aacOverFlow,a=n.data;if(r){this.aacOverFlow=null;let y=r.missing,v=r.sample.unit.byteLength;if(y===-1)a=qr(r.sample.unit,a);else{let k=v-y;r.sample.unit.set(a.subarray(0,y),k),e.samples.push(r.sample),i=r.missing}}let l,c;for(l=i,c=a.length;l<c-1;l++)if(l0(a,l))break;if(l!==i){let y,v=l<c-1;if(v)y=`AAC PES did not start with ADTS header,offset:${l}`;else y="No ADTS header found in AAC PES";if(l1(this.observer,Error(y),s,v,this.logger),!v)return}s6(e,this.observer,a,l,this.audioCodec);let f;if(n.pts!==void 0)f=n.pts;else if(r){let y=i6(e.samplerate);f=r.sample.pts+y}else{this.logger.warn("[tsdemuxer]: AAC PES unknown PTS");return}let d=0,b;while(l<c)if(b=r6(e,a,l,f,d),l+=b.length,!b.missing){d++;for(;l<c-1;l++)if(l0(a,l))break}else{this.aacOverFlow=b;break}}parseMPEGPES(e,n){let s=n.data,i=s.length,r=0,a=0,l=n.pts;if(l===void 0){this.logger.warn("[tsdemuxer]: MPEG PES unknown PTS");return}while(a<i)if(l6(s,a)){let c=a6(e,s,a,l,r);if(c)a+=c.length,r++;else break}else a++}parseAC3PES(e,n){{let{data:s,pts:i}=n;if(i===void 0){this.logger.warn("[tsdemuxer]: AC3 PES unknown PTS");return}let r=s.length,a=0,l=0,c;while(l<r&&(c=d6(e,s,l,i,a++))>0)l+=c}}parseID3PES(e,n){if(n.pts===void 0){this.logger.warn("[tsdemuxer]: ID3 PES unknown PTS");return}let s=Un({},n,{type:this._videoTrack?Ui.emsg:Ui.audioId3,duration:Number.POSITIVE_INFINITY});e.samples.push(s)}parseKlvPES(e,n){var s;let i=(s=n.pts)!=null?s:n.dts;if(i===void 0){this.logger.warn("[tsdemuxer]: KLV PES unknown PTS and DTS");return}let r=n.data;if(r.length<16){this.logger.warn("[tsdemuxer]: KLV PES payload too short");return}let a=0;while(a<r.length){var l;if(a+16>r.length)break;let c=a;if(a+=16,a>=r.length)break;let f=r[a];a+=1;let d=0;if(f&128){let k=f&127;if(k===0||k>4||a+k>r.length){this.logger.warn("[tsdemuxer]: Invalid KLV length encoding");break}for(let A=0;A<k;A++)d=d<<8|r[a+A];a+=k}else d=f;if(a+d>r.length){this.logger.warn("[tsdemuxer]: KLV value extends beyond PES payload");break}let b=a+d,y=r.subarray(c,b),v={data:y,len:y.byteLength,pts:i,dts:(l=n.dts)!=null?l:i,type:Ui.misbklv,duration:Number.POSITIVE_INFINITY};e.samples.push(v),a=b}}}function c0(e,n){return((e[n+1]&31)<<8)+e[n+2]}function FC(e,n){return(e[n+10]&31)<<8|e[n+11]}function LC(e,n,s,i,r,a,l,c){let f={audioPid:-1,videoPid:-1,id3Pid:-1,klvPid:-1,segmentVideoCodec:"avc",segmentAudioCodec:"aac"},d=(e[n+1]&15)<<8|e[n+2],b=n+3+d-4,y=(e[n+10]&15)<<8|e[n+11];n+=12+y;while(n<b){let v=c0(e,n),k=(e[n+3]&15)<<8|e[n+4];switch(e[n]){case 207:if(!i){Mg("ADTS AAC",a);break}case 15:if(f.audioPid===-1)f.audioPid=v;break;case 21:if(f.id3Pid===-1)f.id3Pid=v;break;case 219:if(!i){Mg("H.264",a);break}case 27:if(f.videoPid===-1)f.videoPid=v;break;case 3:case 4:if(!s.mpeg&&!s.mp3)a.log("MPEG audio found, not supported in this browser");else if(f.audioPid===-1)f.audioPid=v,f.segmentAudioCodec="mp3";break;case 193:if(!i){Mg("AC-3",a);break}case 129:if(!s.ac3)a.log("AC-3 audio found, not supported in this browser");else if(f.audioPid===-1)f.audioPid=v,f.segmentAudioCodec="ac3";break;case 6:if(k>0){let A=n+5,T=k;while(T>2){switch(e[A]){case 106:if(f.audioPid===-1)if(s.ac3!==!0)a.log("AC-3 audio found, not supported in this browser for now");else f.audioPid=v,f.segmentAudioCodec="ac3";break;case 5:if(f.klvPid===-1&&l.enableEmsgKLVMetadata)f.klvPid=v,a.log(`KLV metadata PID found: ${v}`);break}let D=e[A+1]+2;A+=D,T-=D}}break;case 194:case 135:return l1(r,Error("Unsupported EC-3 in M2TS found"),c,void 0,a),f;case 36:if(f.videoPid===-1)f.videoPid=v,f.segmentVideoCodec="hevc",a.log("HEVC in M2TS found");break}n+=k+5}return f}function l1(e,n,s,i,r){r.warn(`parsing error: ${n.message}`),e.emit(Z.ERROR,Z.ERROR,{type:Dt.MEDIA_ERROR,details:Oe.FRAG_PARSING_ERROR,fatal:!1,levelRetry:i,chunkMeta:s,error:n,reason:n.message})}function Mg(e,n){n.log(`${e} with AES-128-CBC encryption found in unencrypted stream`)}function Xl(e,n){let s=0,i,r,a,l,c,f=e.data;if(!e||e.size===0)return null;while(f[0].length<19&&f.length>1)f[0]=qr(f[0],f[1]),f.splice(1,1);if(i=f[0],(i[0]<<16)+(i[1]<<8)+i[2]===1){if(r=(i[4]<<8)+i[5],r&&r>e.size-6)return null;let b=i[7];if(b&192)if(l=(i[9]&14)*536870912+(i[10]&255)*4194304+(i[11]&254)*16384+(i[12]&255)*128+(i[13]&254)/2,b&64){if(c=(i[14]&14)*536870912+(i[15]&255)*4194304+(i[16]&254)*16384+(i[17]&255)*128+(i[18]&254)/2,l-c>5400000)n.warn(`${Math.round((l-c)/90000)}s delta between PTS and DTS, align them`),l=c}else c=l;a=i[8];let y=a+9;if(e.size<=y)return null;e.size-=y;let v=new Uint8Array(e.size);for(let k=0,A=f.length;k<A;k++){i=f[k];let T=i.byteLength;if(y)if(y>T){y-=T;continue}else i=i.subarray(y),T-=y,y=0;v.set(i,s),s+=T}if(r)r-=a+3;return{data:v,pts:l,dts:c,len:r}}return null}class w6{constructor(e){this.logger=void 0,this.pid=0,this.lastContinuityCounter=-1,this.integrityState="ok",this.logger=e}get isCorrupted(){return this.integrityState!=="ok"}reset(e){this.pid=e,this.lastContinuityCounter=-1,this.integrityState="ok"}handlePacket(e){if(e.byteLength<4)return;let n=c0(e,0);if(n!==this.pid){this.logger.debug(`Packet PID mismatch, expected ${this.pid} got ${n}`);return}let s=(e[3]&48)>>4;if(s===0)return;let i=e[3]&15,r=this.lastContinuityCounter;this.lastContinuityCounter=i;let a=(s&1)!=0;if((s&2)!=0&&e[4]!=0&&(e[5]&128)!=0)return;if(r<0)return;let f=a?r+1&15:r;if(i!==f){this.logger.warn(`MPEG-TS Continuity Counter check failed for PID='${n}', CC=${i}, Expected-CC=${f} Last-CC=${r}`),this.integrityState="cc-failed";return}if((e[1]&128)!==0){this.logger.warn(`MPEG-TS Packet had TEI flag set for PID='${n}'`),this.integrityState="tei-bit";return}}}class y6{static getSilentFrame(e,n){switch(e){case"mp4a.40.2":if(n===1)return new Uint8Array([0,200,0,128,35,128]);else if(n===2)return new Uint8Array([33,0,73,144,2,25,0,35,128]);else if(n===3)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);else if(n===4)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);else if(n===5)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);else if(n===6)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224]);break;default:if(n===1)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);else if(n===2)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);else if(n===3)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);break}return}}var f0,OC={video:new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),audio:new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0])},Fg=new Uint8Array([0,0,0,0,0,0,0,0]),PC=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),NC=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),BC=new Uint8Array([0,0,0,0,0,0,0,0]),ch=new Uint8Array([0,0,0,0,0,0,0,1]),p3=new Uint8Array([105,115,111,109]),HC=new Uint8Array([97,118,99,49]),UC=new Uint8Array([0,0,0,1]);class gt{static box(e,...n){let s=8,i=n.length,r=i;while(i--)s+=n[i].byteLength;let a=new Uint8Array(s);Js(a,0,s),Js(a,4,e);for(i=0,s=8;i<r;i++)a.set(n[i],s),s+=n[i].byteLength;return a}static hdlr(e){return gt.box(Ht.hdlr,OC[e])}static mdat(e){return gt.box(Ht.mdat,e)}static mdhd(e,n){n*=e;let s=Math.floor(n/(Ra+1)),i=Math.floor(n%(Ra+1));return gt.box(Ht.mdhd,new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,e&255,s>>24,s>>16&255,s>>8&255,s&255,i>>24,i>>16&255,i>>8&255,i&255,85,196,0,0]))}static mdia(e){return gt.box(Ht.mdia,gt.mdhd(e.timescale||0,e.duration||0),gt.hdlr(e.type),gt.minf(e))}static mfhd(e){return gt.box(Ht.mfhd,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,e&255]))}static minf(e){if(e.type==="audio")return gt.box(Ht.minf,gt.box(Ht.smhd,BC),gt.DINF,gt.stbl(e));else return gt.box(Ht.minf,gt.box(Ht.vmhd,NC),gt.DINF,gt.stbl(e))}static moof(e,n,s){return gt.box(Ht.moof,gt.mfhd(e),gt.traf(s,n))}static moov(e){let n=e.length,s=[];while(n--)s[n]=gt.trak(e[n]);return gt.box.apply(null,[Ht.moov,gt.mvhd(e[0].timescale||0,e[0].duration||0)].concat(s).concat(gt.mvex(e)))}static mvex(e){let n=e.length,s=[];while(n--)s[n]=gt.trex(e[n]);return gt.box.apply(null,[Ht.mvex,...s])}static mvhd(e,n){n*=e;let s=Math.floor(n/(Ra+1)),i=Math.floor(n%(Ra+1)),r=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,e&255,s>>24,s>>16&255,s>>8&255,s&255,i>>24,i>>16&255,i>>8&255,i&255,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return gt.box(Ht.mvhd,r)}static sdtp(e){let n=e.samples||[],s=new Uint8Array(4+n.length),i,r;for(i=0;i<n.length;i++)r=n[i].flags,s[i+4]=r.dependsOn<<4|r.isDependedOn<<2|r.hasRedundancy;return gt.box(Ht.sdtp,s)}static stbl(e){return gt.box(Ht.stbl,gt.stsd(e),gt.box(Ht.stts,Fg),gt.box(Ht.stsc,Fg),gt.box(Ht.stsz,PC),gt.box(Ht.stco,Fg))}static avc1(e){let n=[],s=[],i,r,a;for(i=0;i<e.sps.length;i++)r=e.sps[i],a=r.byteLength,n.push(a>>>8&255),n.push(a&255),n=n.concat(Array.prototype.slice.call(r));for(i=0;i<e.pps.length;i++)r=e.pps[i],a=r.byteLength,s.push(a>>>8&255),s.push(a&255),s=s.concat(Array.prototype.slice.call(r));let l=gt.box(Ht.avcC,new Uint8Array([1,n[3],n[4],n[5],255,224|e.sps.length].concat(n).concat([e.pps.length]).concat(s))),{width:c,height:f}=e,d=e.pixelRatio[0],b=e.pixelRatio[1];return gt.box(Ht.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,c>>8&255,c&255,f>>8&255,f&255,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),l,gt.box(Ht.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),gt.box(Ht.pasp,new Uint8Array([d>>24,d>>16&255,d>>8&255,d&255,b>>24,b>>16&255,b>>8&255,b&255])))}static esds(e){let n=e.config,s=n.length;return new Uint8Array([0,0,0,0,3,23+s,0,1,0,4,15+s,64,21,0,0,0,0,0,0,0,0,0,0,0,5,s,...n,6,1,2])}static audioStsd(e){let n=e.samplerate||0;return new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.channelCount||0,0,16,0,0,0,0,n>>8&255,n&255,0,0])}static mp4a(e){return gt.box(Ht.mp4a,gt.audioStsd(e),gt.box(Ht.esds,gt.esds(e)))}static mp3(e){return gt.box(Ht[".mp3"],gt.audioStsd(e))}static ac3(e){return gt.box(Ht["ac-3"],gt.audioStsd(e),gt.box(Ht.dac3,e.config))}static stsd(e){let{segmentCodec:n}=e;if(e.type==="audio"){if(n==="aac")return gt.box(Ht.stsd,ch,gt.mp4a(e));if(n==="ac3"&&e.config)return gt.box(Ht.stsd,ch,gt.ac3(e));if(n==="mp3"&&e.codec==="mp3")return gt.box(Ht.stsd,ch,gt.mp3(e))}else if(e.pps&&e.sps){if(n==="avc")return gt.box(Ht.stsd,ch,gt.avc1(e));if(n==="hevc"&&e.vps)return gt.box(Ht.stsd,ch,gt.hvc1(e))}else throw Error("video track missing pps or sps");throw Error(`unsupported ${e.type} segment codec (${n}/${e.codec})`)}static tkhd(e){let n=e.id,s=(e.duration||0)*(e.timescale||0),i=e.width||0,r=e.height||0,a=Math.floor(s/(Ra+1)),l=Math.floor(s%(Ra+1));return gt.box(Ht.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,n>>24&255,n>>16&255,n>>8&255,n&255,0,0,0,0,a>>24,a>>16&255,a>>8&255,a&255,l>>24,l>>16&255,l>>8&255,l&255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,i>>8&255,i&255,0,0,r>>8&255,r&255,0,0]))}static traf(e,n){let s=gt.sdtp(e),i=e.id,r=Math.floor(n/(Ra+1)),a=Math.floor(n%(Ra+1));return gt.box(Ht.traf,gt.box(Ht.tfhd,new Uint8Array([0,0,0,0,i>>24,i>>16&255,i>>8&255,i&255])),gt.box(Ht.tfdt,new Uint8Array([1,0,0,0,r>>24,r>>16&255,r>>8&255,r&255,a>>24,a>>16&255,a>>8&255,a&255])),gt.trun(e,s.length+16+20+8+16+8+8),s)}static trak(e){return e.duration=e.duration||4294967295,gt.box(Ht.trak,gt.tkhd(e),gt.mdia(e))}static trex(e){let n=e.id;return gt.box(Ht.trex,new Uint8Array([0,0,0,0,n>>24,n>>16&255,n>>8&255,n&255,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}static trun(e,n){let s=e.samples||[],i=s.length,r=12+16*i,a=new Uint8Array(r),l,c,f,d,b,y;n+=8+r,a.set([e.type==="video"?1:0,0,15,1,i>>>24&255,i>>>16&255,i>>>8&255,i&255,n>>>24&255,n>>>16&255,n>>>8&255,n&255],0);for(l=0;l<i;l++)c=s[l],f=c.duration,d=c.size,b=c.flags,y=c.cts,a.set([f>>>24&255,f>>>16&255,f>>>8&255,f&255,d>>>24&255,d>>>16&255,d>>>8&255,d&255,b.isLeading<<2|b.dependsOn,b.isDependedOn<<6|b.hasRedundancy<<4|b.paddingValue<<1|b.isNonSync,b.degradPrio&61440,b.degradPrio&15,y>>>24&255,y>>>16&255,y>>>8&255,y&255],12+16*l);return gt.box(Ht.trun,a)}static initSegment(e){let n=gt.moov(e);return qr(gt.FTYP,n)}static hvc1(e){let n=e.params,s=[e.vps,e.sps,e.pps],i=4,r=new Uint8Array([1,n.general_profile_space<<6|(n.general_tier_flag?32:0)|n.general_profile_idc,n.general_profile_compatibility_flags[0],n.general_profile_compatibility_flags[1],n.general_profile_compatibility_flags[2],n.general_profile_compatibility_flags[3],n.general_constraint_indicator_flags[0],n.general_constraint_indicator_flags[1],n.general_constraint_indicator_flags[2],n.general_constraint_indicator_flags[3],n.general_constraint_indicator_flags[4],n.general_constraint_indicator_flags[5],n.general_level_idc,240|n.min_spatial_segmentation_idc>>8,255&n.min_spatial_segmentation_idc,252|n.parallelismType,252|n.chroma_format_idc,248|n.bit_depth_luma_minus8,248|n.bit_depth_chroma_minus8,0,parseInt(n.frame_rate.fps),3|n.temporal_id_nested<<2|n.num_temporal_layers<<3|(n.frame_rate.fixed?64:0),s.length]),a=r.length;for(let k=0;k<s.length;k+=1){a+=3;for(let A=0;A<s[k].length;A+=1)a+=2+s[k][A].length}let l=new Uint8Array(a);l.set(r,0),a=r.length;let c=s.length-1;for(let k=0;k<s.length;k+=1){l.set(new Uint8Array([32+k|(k===c?128:0),0,s[k].length]),a),a+=3;for(let A=0;A<s[k].length;A+=1)l.set(new Uint8Array([s[k][A].length>>8,s[k][A].length&255]),a),a+=2,l.set(s[k][A],a),a+=s[k][A].length}let f=gt.box(Ht.hvcC,l),{width:d,height:b}=e,y=e.pixelRatio[0],v=e.pixelRatio[1];return gt.box(Ht.hvc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,d>>8&255,d&255,b>>8&255,b&255,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),f,gt.box(Ht.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),gt.box(Ht.pasp,new Uint8Array([y>>24,y>>16&255,y>>8&255,y&255,v>>24,v>>16&255,v>>8&255,v&255])))}}f0=gt;gt.FTYP=f0.box(Ht.ftyp,p3,UC,p3,HC);gt.DINF=f0.box(Ht.dinf,f0.box(Ht.dref,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1])));var v6=90000;function G1(e,n,s=1,i=!1){let r=e*n*s;return i?Math.round(r):r}function zC(e,n,s=1,i=!1){return G1(e,n,1/s,i)}function fh(e,n=!1){return G1(e,1000,1/v6,n)}function GC(e,n=1){return G1(e,v6,1/n)}function g3(e){let{baseTime:n,timescale:s,trackId:i}=e;return`${n/s} (${n}/${s}) trackId: ${i}`}var VC=1e4,$C=1024,XC=1152,WC=1536,c1=8589934592;function b3(e,n,s,i){return{duration:n,size:s,cts:i,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:e?2:1,isNonSync:e?0:1,paddingValue:0}}}class wh extends Zi{constructor(e,n,s,i){super("mp4-remuxer",i);this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.ISGenerated=!1,this._initPTS=null,this._initDTS=null,this.nextVideoTs=null,this.nextAudioTs=null,this.videoSampleDuration=null,this.isAudioContiguous=!1,this.isVideoContiguous=!1,this.videoTrackConfig=void 0,this.observer=e,this.config=n,this.typeSupported=s,this.ISGenerated=!1}destroy(){this.config=this.videoTrackConfig=this._initPTS=this._initDTS=null}resetTimeStamp(e){let n=this._initPTS;if(!n||!e||e.trackId!==n.trackId||e.baseTime!==n.baseTime||e.timescale!==n.timescale)this.log(`Reset initPTS: ${n?g3(n):n} > ${e?g3(e):e}`);this._initPTS=this._initDTS=e}resetNextTimestamp(){this.log("reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1}resetInitSegment(){this.log("ISGenerated flag reset"),this.ISGenerated=!1,this.videoTrackConfig=void 0}getVideoStartPts(e){let n=!1,s=e[0].pts,i=e.reduce((r,a)=>{let l=a.pts,c=l-r;if(c<-4294967296)n=!0,l=gr(l,s),c=l-r;if(c>0)return r;return l},s);if(n)this.debug("PTS rollover detected");return i}remux(e,n,s,i,r,a,l,c,f){let d,b,y,v,k,A,T=r,R=r,U=!f.iframe&&e.pid>-1,Y=n.pid>-1,X=n.samples.length,J=e.samples.length>0,ee=l&&X>0||X>1;if((!U||J)&&(!Y||ee)||this.ISGenerated||l){if(this.ISGenerated){var ne,ie,se,ae;let le=this.videoTrackConfig;if(le&&(n.width!==le.width||n.height!==le.height||((ne=n.pixelRatio)==null?void 0:ne[0])!==((ie=le.pixelRatio)==null?void 0:ie[0])||((se=n.pixelRatio)==null?void 0:se[1])!==((ae=le.pixelRatio)==null?void 0:ae[1]))||!le&&ee||this.nextAudioTs===null&&J)this.resetInitSegment()}if(!this.ISGenerated)y=this.generateIS(e,n,r,a);let be=this.isVideoContiguous,ye=-1,fe;if(ee){if(ye=KC(n.samples),!be&&this.config.forceKeyFrameOnDiscontinuity){if(A=!0,ye>0){this.warn(`Dropped ${ye} out of ${X} video samples due to a missing keyframe`);let le=this.getVideoStartPts(n.samples);n.samples=n.samples.slice(ye),n.dropped+=ye,R+=(n.samples[0].pts-le)/n.inputTimeScale,fe=R}else if(ye===-1)this.warn(`No keyframe found out of ${X} video samples`),A=!1}}if(this.ISGenerated){if(J&&ee&&r){let le=this.getVideoStartPts(n.samples),Se=(gr(e.samples[0].pts,le)-le)/n.inputTimeScale;T+=Math.max(0,Se),R+=Math.max(0,-Se)}if(J){if(!e.samplerate)this.warn("regenerate InitSegment as audio detected"),y=this.generateIS(e,n,r,a);if(b=this.remuxAudio(e,T,this.isAudioContiguous,a,Y||ee||c===Ct.AUDIO?R:void 0,f),ee){let le=b?b.endPTS-b.startPTS:0;if(!n.inputTimeScale)this.warn("regenerate InitSegment as video detected"),y=this.generateIS(e,n,r,a);d=this.remuxVideo(n,R,be,le,f)}}else if(ee)d=this.remuxVideo(n,R,be,0,f);if(d)d.firstKeyFrame=ye,d.independent=ye!==-1,d.firstKeyFramePTS=fe}}if(this.ISGenerated&&this._initPTS&&this._initDTS){if(s.samples.length)k=S6(s,r,this._initPTS,this._initDTS);if(i.samples.length)v=k6(i,r,this._initPTS)}return{audio:b,video:d,initSegment:y,independent:A,text:v,id3:k}}computeInitPts(e,n,s,i){let r=Math.round(s*n),a=gr(e,r);if(a<r){this.log(`Adjusting PTS for rollover in timeline near ${(r-a)/n} ${i}`);while(a<r)a+=c1}return a-r}generateIS(e,n,s,i){let r=e.samples,a=n.samples,l=this.typeSupported,c={},f=this._initPTS,d=!f||i,b="audio/mp4",y,v,k,A=-1;if(d)y=v=1/0;if(e.config&&r.length){switch(e.timescale=e.samplerate,e.segmentCodec){case"mp3":if(l.mpeg)b="audio/mpeg",e.codec="";else if(l.mp3)e.codec="mp3";break;case"ac3":e.codec="ac-3";break}if(c.audio={id:"audio",container:b,codec:e.codec,initSegment:e.segmentCodec==="mp3"&&l.mpeg?new Uint8Array(0):gt.initSegment([e]),metadata:{channelCount:e.channelCount}},d){A=e.id,k=e.inputTimeScale;let T=this.computeInitPts(r[0].pts,k,s,"audio");if(!f||k!==f.timescale||s===0&&T<f.baseTime)y=v=T}}if(n.sps&&n.pps&&a.length){if(n.timescale=n.inputTimeScale,c.video={id:"main",container:"video/mp4",codec:n.codec,initSegment:gt.initSegment([n]),metadata:{width:n.width,height:n.height}},d){A=n.id,k=n.inputTimeScale;let T=this.getVideoStartPts(a),R=gr(a[0].dts,T),D=this.computeInitPts(R,k,s,"video"),U=this.computeInitPts(T,k,s,"video");if(!f||k!==f.timescale||ht(y)||s===0&&U<f.baseTime)v=Math.min(v,D),y=Math.min(y,D)}this.videoTrackConfig={width:n.width,height:n.height,pixelRatio:n.pixelRatio}}if(Object.keys(c).length){if(this.ISGenerated=!0,d&&ht(y)){if(f)this.warn(`Timestamps at playlist time: ${i?"":"~"}${s} ${y/k} != initPTS: ${f.baseTime/f.timescale} (${f.baseTime}/${f.timescale}) trackId: ${f.trackId}`);this.log(`Found initPTS at playlist time: ${s} offset: ${y/k} (${y}/${k}) trackId: ${A}`),this._initPTS={baseTime:y,timescale:k,trackId:A},this._initDTS={baseTime:v,timescale:k,trackId:A}}else y=k=void 0;return{tracks:c,initPTS:y,timescale:k,trackId:A}}}remuxVideo(e,n,s,i,r){let{inputTimeScale:a,samples:l}=e,c=[],f=l.length,d=this._initPTS,b=d.baseTime*a/d.timescale,y=this.nextVideoTs,v=8,k=this.videoSampleDuration,A,T,{POSITIVE_INFINITY:R,NEGATIVE_INFINITY:D}=Number,U=!1;if(!s||y===null){let De=b+n*a,Le=l[0].pts-gr(l[0].dts,l[0].pts);if(ph()&&y!==null&&Math.abs(De-Le-(y+b))<15000)s=!0;else y=De-Le-b}let Y=y+b;for(let De=0;De<f;De++){let Le=l[De];if(Le.pts=gr(Le.pts,Y),Le.dts=gr(Le.dts,Y),Le.dts<l[De>0?De-1:De].dts)U=!0}if(U)l.sort(function(De,Le){let Be=De.dts-Le.dts,Ke=De.pts-Le.pts;return Be||Ke});A=l[0].dts,T=l[l.length-1].dts;let X=T-A,J=X?Math.round(X/(f-1)):k||e.inputTimeScale/30;if(s){let De=A-Y,Le=De>J,Be=De<-1;if(Le||Be){if(Le)this.warn(`${(e.segmentCodec||"").toUpperCase()}: ${fh(De,!0)} ms (${De}dts) hole between fragments detected at ${n.toFixed(3)}`);else this.warn(`${(e.segmentCodec||"").toUpperCase()}: ${fh(-De,!0)} ms (${De}dts) overlapping between fragments detected at ${n.toFixed(3)}`);if(!Be||Y>=l[0].pts||ph()){A=Y;let Ke=l[0].pts-De;if(Le)l[0].dts=A,l[0].pts=Ke;else{let at=!0;for(let tt=0;tt<l.length;tt++){if(l[tt].dts>Ke&&at)break;let St=l[tt].pts;if(l[tt].dts-=De,l[tt].pts-=De,tt<l.length-1){let jt=l[tt+1].pts,dt=l[tt].pts,Lt=jt<=dt,Zt=jt<=St;at=Lt==Zt}}}this.log(`Video: Initial PTS/DTS adjusted: ${fh(Ke,!0)}/${fh(A,!0)}, delta: ${fh(De,!0)} ms`)}}}A=Math.max(0,A);let ee=0,te=0,ne=A;for(let De=0;De<f;De++){let Le=l[De],Be=Le.units,Ke=Be.length,at=0;for(let tt=0;tt<Ke;tt++)at+=Be[tt].data.length;if(te+=at,ee+=Ke,Le.length=at,Le.dts<ne)Le.dts=ne,ne+=J/4|0||1;else ne=Le.dts;R=Math.min(Le.pts,R),D=Math.max(Le.pts,D)}T=l[f-1].dts;let ie=te+4*ee+8,se;try{se=new Uint8Array(ie)}catch(De){this.observer.emit(Z.ERROR,Z.ERROR,{type:Dt.MUX_ERROR,details:Oe.REMUX_ALLOC_ERROR,fatal:!1,chunkMeta:r,error:De,bytes:ie,reason:`fail allocating video mdat ${ie}`});return}Js(se,0,ie),Js(se,4,Ht.mdat);let ae=!1,{POSITIVE_INFINITY:be,POSITIVE_INFINITY:ye,NEGATIVE_INFINITY:fe,NEGATIVE_INFINITY:le}=Number;for(let De=0;De<f;De++){let Le=l[De],Be=Le.units,Ke=0;for(let St=0,jt=Be.length;St<jt;St++){let dt=Be[St],Lt=dt.data,Zt=dt.data.byteLength;Js(se,v,Zt),v+=4,se.set(Lt,v),v+=Zt,Ke+=4+Zt}let at;if(De<f-1)k=l[De+1].dts-Le.dts,at=l[De+1].pts-Le.pts;else{let St=this.config,jt=De>0?Le.dts-l[De-1].dts:J;if(at=De>0?Le.pts-l[De-1].pts:J,St.stretchShortVideoTrack&&this.nextAudioTs!==null){let dt=Math.floor(St.maxBufferHole*a),Lt=(i?R+i*a:this.nextAudioTs+b)-Le.pts;if(Lt>dt){if(k=Lt-jt,k<0)k=jt;else ae=!0;this.log(`It is approximately ${Lt/90} ms to the next segment; using duration ${k/90} ms for the last video frame.`)}else k=jt}else k=jt}let tt=Math.round(Le.pts-Le.dts);if(be=Math.min(be,k),fe=Math.max(fe,k),ye=Math.min(ye,at),le=Math.max(le,at),!s&&De===0&&tt>k){let St=Math.round(tt/J)*J;if(St-tt===1)this.log(`pad first CTS ${tt} -> ${St} of sn: ${r.sn}`),tt=St}c.push(b3(Le.key,k,Ke,tt))}if(c.length){let De=ph();if(De){if(De<70){let Le=c[0].flags;Le.dependsOn=2,Le.isNonSync=0}}else if(cE()){if(le-ye<fe-be&&J/fe<0.025&&c[0].cts===0){this.warn("Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.");let Le=A;for(let Be=0,Ke=c.length;Be<Ke;Be++){let at=Le+c[Be].duration,tt=Le+c[Be].cts;if(Be<Ke-1){let St=at+c[Be+1].cts;c[Be].duration=St-tt}else c[Be].duration=Be?c[Be-1].duration:J;c[Be].cts=0,Le=at}}}}k=ae||!k?J:k;let oe=T+k;if(this.nextVideoTs=y=oe-b,this.videoSampleDuration=k,this.isVideoContiguous=!0,r.iframe)if(c.length===1)c[0].duration=k=r.duration*a,this.nextVideoTs=y=A+k-b;else this.warn(`Not adjusting IFrame duration (sample count ${c.length})`);let Se=gt.moof(r.sn,A,Un(e,{samples:c})),we="video",Fe={data1:Se,data2:se,startPTS:(R-b)/a,endPTS:(D+k-b)/a,startDTS:(A-b)/a,endDTS:y/a,type:we,hasAudio:!1,hasVideo:!0,nb:c.length,dropped:e.dropped};return e.samples=[],e.dropped=0,Fe}getSamplesPerFrame(e){switch(e.segmentCodec){case"mp3":return XC;case"ac3":return WC;default:return $C}}remuxAudio(e,n,s,i,r,a){let l=e.inputTimeScale,c=e.samplerate?e.samplerate:l,f=l/c,d=this.getSamplesPerFrame(e),b=d*f,y=this._initPTS,v=e.segmentCodec==="mp3"&&this.typeSupported.mpeg,k=[],A=r!==void 0,T=e.samples,R=v?0:8,D=this.nextAudioTs||-1,U=y.baseTime*l/y.timescale,Y=U+n*l;if(this.isAudioContiguous=s=s||T.length&&D>0&&(i&&Math.abs(Y-(D+U))<9000||Math.abs(gr(T[0].pts,Y)-(D+U))<20*b),T.forEach(function(oe){oe.pts=gr(oe.pts,Y)}),!s||D<0){let oe=T.length;if(T=T.filter((Se)=>Se.pts>=0),oe!==T.length)this.warn(`Removed ${T.length-oe} of ${oe} samples (initPTS ${U} / ${l})`);if(!T.length)return;if(r===0)D=0;else if(i&&!A)D=Math.max(0,Y-U);else D=T[0].pts-U}if(e.segmentCodec==="aac"){let oe=this.config.maxAudioFramesDrift;for(let Se=0,we=D+U;Se<T.length;Se++){let Fe=T[Se],De=Fe.pts,Le=De-we,Be=Math.abs(1000*Le/l);if(Le<=-oe*b&&A){if(Se===0)this.warn(`Audio frame @ ${(De/l).toFixed(3)}s overlaps marker by ${Math.round(1000*Le/l)} ms.`),this.nextAudioTs=D=De-U,we=De}else if(Le>=oe*b&&Be<VC&&A){let Ke=Math.round(Le/b);we=De-Ke*b;while(we<0&&Ke&&b)Ke--,we+=b;if(Se===0)this.nextAudioTs=D=we-U;this.warn(`Injecting ${Ke} audio frames @ ${((we-U)/l).toFixed(3)}s due to ${Math.round(1000*Le/l)} ms gap.`);for(let at=0;at<Ke;at++){let tt=y6.getSilentFrame(e.parsedCodec||e.manifestCodec||e.codec,e.channelCount);if(!tt)this.log("Unable to get silent frame for given audio codec; duplicating last frame instead."),tt=Fe.unit.subarray();T.splice(Se,0,{unit:tt,pts:we}),we+=b,Se++}}Fe.pts=we,we+=b}}let X=null,J=null,ee,te=0,ne=T.length;while(ne--)te+=T[ne].unit.byteLength;for(let oe=0,Se=T.length;oe<Se;oe++){let we=T[oe],{unit:Fe,pts:De}=we;if(J!==null){let Be=k[oe-1];Be.duration=Math.round((De-J)/f)}else{if(s&&e.segmentCodec==="aac")De=D+U;if(X=De,te>0){te+=R;try{ee=new Uint8Array(te)}catch(Be){this.observer.emit(Z.ERROR,Z.ERROR,{type:Dt.MUX_ERROR,details:Oe.REMUX_ALLOC_ERROR,fatal:!1,chunkMeta:a,error:Be,bytes:te,reason:`fail allocating audio mdat ${te}`});return}if(!v)Js(ee,0,te),Js(ee,4,Ht.mdat)}else return}if(ee)ee.set(Fe,R);let Le=Fe.byteLength;R+=Le,k.push(b3(!0,d,Le,0)),J=De}let ie=k.length;if(!ie)return;let se=k[k.length-1];D=J-U,this.nextAudioTs=D+f*se.duration;let ae=v?new Uint8Array(0):gt.moof(e.sequenceNumber++,X/f,Un({},e,{samples:k}));e.samples=[];let be=(X-U)/l,ye=this.nextAudioTs/l,le={data1:ae,data2:ee,startPTS:be,endPTS:ye,startDTS:be,endDTS:ye,type:"audio",hasAudio:!0,hasVideo:!1,nb:ie};return this.isAudioContiguous=!0,le}}function gr(e,n){let s;if(n===null)return e;if(n<e)s=-c1;else s=c1;while(Math.abs(e-n)>4294967296)e+=s;return e}function KC(e){for(let n=0;n<e.length;n++)if(e[n].key)return n;return-1}function S6(e,n,s,i){let r=e.samples.length;if(!r)return;let a=e.inputTimeScale;for(let c=0;c<r;c++){let f=e.samples[c];f.pts=gr(f.pts-s.baseTime*a/s.timescale,n*a)/a,f.dts=gr(f.dts-i.baseTime*a/i.timescale,n*a)/a}let l=e.samples;return e.samples=[],{samples:l}}function k6(e,n,s){let i=e.samples.length;if(!i)return;let r=e.inputTimeScale;for(let l=0;l<i;l++){let c=e.samples[l];c.pts=gr(c.pts-s.baseTime*r/s.timescale,n*r)/r}e.samples.sort((l,c)=>l.pts-c.pts);let a=e.samples;return e.samples=[],{samples:a}}class x6 extends Zi{constructor(e,n,s,i){super("passthrough-remuxer",i);this.observer=void 0,this.emitInitSegment=!1,this.audioCodec=void 0,this.videoCodec=void 0,this.initData=void 0,this.initPTS=null,this.initTracks=void 0,this.lastEndTime=null,this.isVideoContiguous=!1,this.videoOnlyRemux=!1,this.decryptdata=null,this.pendingInitSegment=void 0,this.observer=e}destroy(){if(this.observer)this.observer.removeAllListeners();this.observer=null}resetTimeStamp(e){this.lastEndTime=null;let n=this.initPTS;if(n&&e){if(n.baseTime===e.baseTime&&n.timescale===e.timescale)return}this.initPTS=e}resetNextTimestamp(){this.isVideoContiguous=!1,this.lastEndTime=null}resetInitSegment(e,n,s,i){this.audioCodec=n,this.videoCodec=s,this.decryptdata=i,this.pendingInitSegment=e,this.videoOnlyRemux=!1,this.initTracks=void 0,this.initData=void 0,this.emitInitSegment=!0}generateInitSegment(e,n,s){this.videoOnlyRemux=!1;let{audioCodec:i,videoCodec:r}=this;if(!(e!=null&&e.byteLength)){this.initTracks=void 0,this.initData=void 0;return}let{audio:a,video:l}=this.initData=s||m9(e);if(n)KT(e,n);else{let f=a||l;if(f!=null&&f.encrypted)this.warn(`Init segment with encrypted track with has no key ("${f.codec}")!`)}if(a)i=w3(a,ss.AUDIO,this);if(l)r=w3(l,ss.VIDEO,this);let c={};if(a&&l)c.audiovideo={container:"video/mp4",codec:i+","+r,supplemental:l.supplemental,encrypted:l.encrypted,initSegment:e,id:"main"};else if(a)c.audio={container:"audio/mp4",codec:i,encrypted:a.encrypted,initSegment:e,id:"audio"};else if(l)c.video={container:"video/mp4",codec:r,supplemental:l.supplemental,encrypted:l.encrypted,initSegment:e,id:"main"};else this.warn("initSegment does not contain moov or trak boxes.");this.initTracks=c}remux(e,n,s,i,r,a,l,c,f,d,b){var y,v;let{initPTS:k,lastEndTime:A}=this,T={audio:void 0,video:void 0,text:void 0,id3:s,initSegment:void 0};if(!ht(A))A=this.lastEndTime=r||0;let R=n.samples;if(!R.length)return T;let D=this.pendingInitSegment;if(D)this.pendingInitSegment=void 0,this.generateInitSegment(D,this.decryptdata,d);let U={initPTS:void 0,timescale:void 0,trackId:void 0},Y=this.initData;if(!((y=Y)!=null&&y.length))this.generateInitSegment(R),Y=this.initData;if(!((v=Y)!=null&&v.length))return this.warn("Failed to generate initSegment."),T;if(f.iframe&&Y.audio&&Y.video){var X;let We=(X=this.initTracks)==null||(X=X.audiovideo)==null?void 0:X.initSegment,nt=We?zT(We):null;if(nt){var J;if(this.log("Converted muxed init segment to video-only for I-Frame playback"),this.generateInitSegment(nt,this.decryptdata),(J=this.initData)!=null&&J.length)Y=this.initData,this.emitInitSegment=!0,this.videoOnlyRemux=!0}}if(this.emitInitSegment)U.tracks=this.initTracks,T.initSegment=U,this.emitInitSegment=!1;let ee=f.iframe,te=b&&(!ee||b.includeSampleDetails)?b.tracks:ZT(R,Y,f,this,ee),ne=Y.audio?te[Y.audio.id]:null,ie=Y.video?te[Y.video.id]:null,se=!!Y.audio,ae=!!Y.video,be="";if(se)be+="audio";if(ae)be+="video";let ye=Md(ie,1/0),fe=Md(ne,1/0),le=Md(ie,0,!0),oe=Md(ne,0,!0),Se=r,we=0;if(ie&&ne&&Y.audio&&(fe>le||ye>oe))this.warn(`audio and video track sample timestamps do not overlap. v: ${ye}-${le} a: ${fe}-${oe}}`,ie,ne);let Fe=!!ne&&(!ie||!k&&fe<ye||!!k&&k.trackId===Y.audio.id),De=Fe?ne:ie;if(!De)return this.log(`No media samples found in ${c} ${f.level} ${f.part===-1?"":`part: ${f.part} of`} sn: ${f.sn} at playlist time: ${r}`),T;let Le=R,Be,Ke;if(ie&&ie.sampleCount>=1&&Y.video&&f.iframe){let{trun:We,start:nt}=ie,yt=We.length===1,pt=!We.length?[]:yt?We[0].samples:We[0].samples.concat(...We.slice(1).map((Nt)=>Nt.samples));if(pt.length){let Nt=We[0],ln=Nt;for(let ot=We.length;ot--;)if(We[ot].samples.length){ln=We[ot];break}let pn=ln.lastSampleDurationOffset,{defaultSampleDurationOffset:Yt}=Nt,qn=Math.abs(f.duration-(le-ye))>0.05,os=pt.length<ie.sampleCount;if(!(qn||os||this.videoOnlyRemux||!yt))we=le-ye;else{let ot=os?ln.sampleOffset+ln.samples.reduce((ls,Ds)=>ls+Ds.size,0):void 0,cn=qn?f.duration:le-ye,Bt=QC(pt,cn*Y.video.timescale,pn,Yt),Mn=GT(R,Y.video.id,pt.length,ot,Bt);if(Mn)Le=Mn,Ke=YC(nt,pt);else this.warn(`IFrame remux skipped (sn ${f.sn}); using native sample duration`);we=Mn&&Bt?cn:le-ye}}else this.warn(`Could not remux IFrame track fragment (no samples in range, trun count ${We.length})`),we=le-ye}else we=Fe?oe-fe:le-ye;if(this.videoOnlyRemux&&Le===R)return this.warn(`Dropping muxed I-Frame fragment that could not be remuxed to video-only (sn: ${f.sn})`),T;let at=De.timescale,tt=De.start-r*at,St=Fe?Y.audio.id:Y.video.id;if(Se=De.start/at,(a||!k)&&(JC(k,Se,r,we)||at!==k.timescale)){let We=!1,nt=Fe?"audio":"video";if(k){let yt=r!==0?Se/r:1+Se/1;We=Se>=0&&Math.abs(1-yt)<0.001,this.log(`${nt} timestamps in track ${St} at playlist time: ${a?"":"~"}${r} maps to ${Se} with initPTS: ${k.baseTime/k.timescale} (${tt/at-k.baseTime/k.timescale}s diff) (${be}) drift estimate: ${yt} ${We?"(ignoring drift)":"remapping timestamps (initPTS)"}`)}if(!We)this.log(`Found initPTS in ${nt} track ${St} at playlist time: ${r} offset: ${Se-r} (${tt}/${at})`),k=null,U.initPTS=tt,U.timescale=at,U.trackId=St}if(!k){if(!U.timescale||U.trackId===void 0||U.initPTS===void 0)this.warn("Could not set initPTS"),U.initPTS=Se,U.timescale=1,U.trackId=-1;this.initPTS=k={baseTime:U.initPTS,timescale:U.timescale,trackId:U.trackId}}else U.initPTS=k.baseTime,U.timescale=k.timescale,U.trackId=k.trackId;let jt=Se-k.baseTime/k.timescale,dt=jt+we,Lt=ae&&(De==null?void 0:De.ptsMin)!==void 0?De.ptsMin/De.timescale-k.baseTime/k.timescale:jt,Zt=Ke!==void 0&&ie?Ke/ie.timescale-k.baseTime/k.timescale:ae&&De!=null&&De.ptsMax?De.ptsMax/De.timescale-k.baseTime/k.timescale:dt;if(we>0)this.lastEndTime=dt;else this.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp();let dn=(Y.audio?Y.audio.encrypted:!1)||(Y.video?Y.video.encrypted:!1),Xt={data1:Le,data2:Be,startPTS:Lt,startDTS:jt,endPTS:Zt,endDTS:dt,type:be,hasAudio:se,hasVideo:ae,nb:1,dropped:0,encrypted:dn};T.audio=se&&!ae?Xt:void 0,T.video=ae?Xt:void 0;let on=this.isVideoContiguous,Yn=ie==null?void 0:ie.sampleCount;if(Yn){let We=ie.keyFrameIndex,nt=We!==-1;if(Xt.nb=Yn,Xt.dropped=We===0||on?0:nt?We:Yn,Xt.independent=nt,Xt.firstKeyFrame=We,nt&&ie.keyFrameStart)Xt.firstKeyFramePTS=(ie.keyFrameStart-k.baseTime)/k.timescale;if(!on)T.independent=nt;if(this.isVideoContiguous||(this.isVideoContiguous=nt),Xt.dropped)this.warn(`fmp4 does not start with IDR: firstIDR ${We}/${Yn} dropped: ${Xt.dropped} start: ${Xt.firstKeyFramePTS||"NA"}`)}if(T.initSegment=U,T.id3=S6(s,r,k,k),i.samples.length)T.text=k6(i,r,k);return T}}function Md(e,n,s=!1){return(e==null?void 0:e.start)!==void 0?(e.start+(s?e.duration:0))/e.timescale:n}function YC(e,n){let s=e,i=e;for(let r=0;r<n.length;r++){let{cts:a,duration:l}=n[r];i=Math.max(i,s+(a||0)+l),s+=l}return i}function QC(e,n,s,i){if(s!==void 0){let a=e[e.length-1],l=n;for(let c=0;c<e.length-1;c++)l-=e[c].duration;if(l<=0)l=a.duration;return a.duration=l,{durationOffset:s,value:l}}if(i===void 0)return;let r=Math.round(n/e.length);for(let a=0;a<e.length;a++)e[a].duration=r;return{durationOffset:i,value:r}}function JC(e,n,s,i){if(e===null)return!0;let r=Math.max(i,1),a=n-e.baseTime/e.timescale;return Math.abs(a-s)>=r}function w3(e,n,s){let i=e.codec;if(i&&i.length>4)return i;if(n===ss.AUDIO){if(i==="ec-3"||i==="ac-3"||i==="alac")return i;if(i==="fLaC"||i==="Opus")return Zd(i,!1);return s.warn(`Unhandled audio codec "${i}" in mp4 MAP`),i||"mp4a"}else if(i==="mjpg")return i;return s.warn(`Unhandled video codec "${i}" in mp4 MAP`),i||"avc1"}var al;try{al=self.performance.now.bind(self.performance)}catch(e){al=Date.now}var Xd=[{demux:p6,remux:x6},{demux:So,remux:wh},{demux:f6,remux:wh},{demux:m6,remux:wh}];Xd.splice(2,0,{demux:u6,remux:wh});class f1{constructor(e,n,s,i,r,a){this.asyncResult=!1,this.logger=void 0,this.observer=void 0,this.typeSupported=void 0,this.config=void 0,this.id=void 0,this.demuxer=void 0,this.remuxer=void 0,this.decrypter=void 0,this.probe=void 0,this.decryptionPromise=null,this.transmuxConfig=void 0,this.currentTransmuxState=void 0,this.observer=e,this.typeSupported=n,this.config=s,this.id=r,this.logger=a}configure(e){if(this.transmuxConfig=e,this.decrypter)this.decrypter.reset()}push(e,n,s,i){if(!this.observer)return Fd(s);let r=s.transmuxing;r.executeStart=al();let a=new Uint8Array(e),{currentTransmuxState:l,transmuxConfig:c}=this;if(i)this.currentTransmuxState=i;let{contiguous:f,discontinuity:d,trackSwitch:b,accurateTimeOffset:y,timeOffset:v,initSegmentChange:k}=i||l,{audioCodec:A,videoCodec:T,defaultInitPts:R,duration:D,initSegmentData:U}=c,Y=ZC(a,n);if(Y&&Zc(Y.method)){let te=this.getDecrypter(),ne=L1(Y.method);return this.asyncResult=!0,this.decryptionPromise=te.decrypt(a,Y.key.buffer,Y.iv.buffer,ne,s.decryptRange).then((ie)=>{let se=this.push(ie,null,s);return this.decryptionPromise=null,se}),this.decryptionPromise}let X=this.needsProbing(d,b);if(X){let te=s.iframe&&U&&So.probe(U,this.logger)?U:a,ne=this.configureTransmuxer(te);if(ne)return this.logger.warn(`[transmuxer] ${ne.message}`),this.observer.emit(Z.ERROR,Z.ERROR,{type:Dt.MEDIA_ERROR,details:Oe.FRAG_PARSING_ERROR,fatal:!1,error:ne,reason:ne.message}),r.executeEnd=al(),Fd(s)}if(d||b||k||X)this.resetInitSegment(U,A,T,D,n,s);if(d||k||X)this.resetInitialTimestamp(R);if(!f)this.resetContiguity();let J=this.transmux(a,Y,v,y,s);this.asyncResult=jh(J);let ee=this.currentTransmuxState;return ee.contiguous=!0,ee.discontinuity=!1,ee.trackSwitch=!1,r.executeEnd=al(),J}flush(e){let n=e.transmuxing;n.executeStart=al();let{decrypter:s,currentTransmuxState:i,decryptionPromise:r}=this;if(r)return this.asyncResult=!0,r.then(()=>this.flush(e));let a=[],{timeOffset:l}=i;if(s){let b=s.flush();if(b)a.push(this.push(b.buffer,null,e))}let{demuxer:c,remuxer:f}=this;if(!c||!f){n.executeEnd=al();let b=[Fd(e)];if(this.asyncResult)return Promise.resolve(b);return b}let d=c.flush(l,e);if(jh(d))return this.asyncResult=!0,d.then((b)=>(this.flushRemux(a,b,e),a));if(this.flushRemux(a,d,e),this.asyncResult)return Promise.resolve(a);return a}flushRemux(e,n,s){if(!this.remuxer)return;let{audioTrack:i,videoTrack:r,id3Track:a,textTrack:l}=n,{accurateTimeOffset:c,timeOffset:f}=this.currentTransmuxState;this.logger.log(`[transmuxer.ts]: Flushed ${this.id} sn: ${s.sn}${s.part>-1?" part: "+s.part:""} of ${this.id} playlist ${s.level}`);let d=this.remuxer.remux(i,r,a,l,f,c,!0,this.id,s,n.initData,n.sampleData);e.push({remuxResult:d,chunkMeta:s}),s.transmuxing.executeEnd=al()}resetInitialTimestamp(e){let{demuxer:n,remuxer:s}=this;if(!n||!s)return;n.resetTimeStamp(e),s.resetTimeStamp(e)}resetContiguity(){let{demuxer:e,remuxer:n}=this;if(!e||!n)return;e.resetContiguity(),n.resetNextTimestamp()}resetInitSegment(e,n,s,i,r,a){let{demuxer:l,remuxer:c}=this;if(!l||!c)return;l.resetInitSegment(e,n,s,i,r,a),c.resetInitSegment(e,n,s,r)}destroy(){if(this.demuxer)this.demuxer.destroy(),this.demuxer=void 0;if(this.remuxer)this.remuxer.destroy(),this.remuxer=void 0;if(this.observer)this.observer.removeAllListeners();this.decryptionPromise=null,this.decrypter=this.observer=void 0,this.logger=this.config=this.probe=void 0}transmux(e,n,s,i,r){let a;if((n==null?void 0:n.method)==="SAMPLE-AES")a=this.transmuxSampleAes(e,n,s,i,r);else a=this.transmuxUnencrypted(e,s,i,r);return a}transmuxUnencrypted(e,n,s,i){let{demuxer:r,remuxer:a}=this;if(!r||!a)return Fd(i);let l=r.demux(e,n,i,!1,!this.config.progressive),{audioTrack:c,videoTrack:f,id3Track:d,textTrack:b}=l;return{remuxResult:a.remux(c,f,d,b,n,s,!1,this.id,i,l.initData,l.sampleData),chunkMeta:i}}transmuxSampleAes(e,n,s,i,r){if(!this.demuxer)return Promise.reject(Error("no demuxer"));return this.demuxer.demuxSampleAes(e,n,s,r).then((a)=>({remuxResult:this.remuxer.remux(a.audioTrack,a.videoTrack,a.id3Track,a.textTrack,s,i,!1,this.id,r,a.initData,a.sampleData),chunkMeta:r}))}configureTransmuxer(e){let{config:n,observer:s,typeSupported:i}=this;if(!s)return;let r;try{for(let b=0,y=Xd.length;b<y;b++){var a;if((a=Xd[b].demux)!=null&&a.probe(e,this.logger)){r=Xd[b];break}}}catch(b){return b}if(!r)return Error("Failed to find demuxer by probing fragment data");let l=this.demuxer,c=this.remuxer,f=r.demux,d=r.remux;if(!l||!(l instanceof f))this.logger.log(`Using ${f.name}`),this.demuxer=new f(s,n,i,this.logger),this.probe=f.probe;if(!c||!(c instanceof d))this.logger.log(`Using ${d.name}`),this.remuxer=new d(s,n,i,this.logger)}needsProbing(e,n){return!this.demuxer||!this.remuxer||e||n}getDecrypter(){let e=this.decrypter;if(!e)e=this.decrypter=new g0(this.config);return e}}function ZC(e,n){let s=null;if(e.byteLength>0&&(n==null?void 0:n.key)!=null&&n.iv!==null&&n.method!=null)s=n;return s}var Fd=(e)=>({remuxResult:{},chunkMeta:e});function jh(e){return"then"in e&&e.then instanceof Function}class A6{constructor(e,n,s,i,r){this.audioCodec=void 0,this.videoCodec=void 0,this.initSegmentData=void 0,this.duration=void 0,this.defaultInitPts=void 0,this.audioCodec=e,this.videoCodec=n,this.initSegmentData=s,this.duration=i,this.defaultInitPts=r||null}}class T6{constructor(e,n,s,i,r,a){this.discontinuity=void 0,this.contiguous=void 0,this.accurateTimeOffset=void 0,this.trackSwitch=void 0,this.timeOffset=void 0,this.initSegmentChange=void 0,this.discontinuity=e,this.contiguous=n,this.accurateTimeOffset=s,this.trackSwitch=i,this.timeOffset=r,this.initSegmentChange=a}}var y3=0;class V1{constructor(e,n,s,i){this.error=null,this.hls=void 0,this.id=void 0,this.instanceNo=y3++,this.observer=void 0,this.frag=null,this.part=null,this.useWorker=void 0,this.workerContext=null,this.transmuxer=null,this.onTransmuxComplete=void 0,this.onFlush=void 0,this.onWorkerMessage=(c)=>{let f=c.data,d=this.hls;if(!d||!(f!=null&&f.event)||f.instanceNo!==this.instanceNo)return;switch(f.event){case"init":{var b;let y=(b=this.workerContext)==null?void 0:b.objectURL;if(y)self.URL.revokeObjectURL(y);break}case"transmuxComplete":{this.handleTransmuxComplete(f.data);break}case"flush":{this.onFlush(f.data);break}case"workerLog":{if(d.logger[f.data.logType])d.logger[f.data.logType](f.data.message);break}default:{f.data=f.data||{},f.data.frag=this.frag,f.data.part=this.part,f.data.id=this.id,d.trigger(f.event,f.data);break}}},this.onWorkerError=(c)=>{if(!this.hls)return;let f=Error(`${c.message} (${c.filename}:${c.lineno})`);this.hls.config.enableWorker=!1,this.hls.logger.warn(`Error in "${this.id}" Web Worker, fallback to inline`),this.hls.trigger(Z.ERROR,{type:Dt.OTHER_ERROR,details:Oe.INTERNAL_EXCEPTION,fatal:!1,event:"demuxerWorker",error:f})};let r=e.config;this.hls=e,this.id=n,this.useWorker=!!r.enableWorker,this.onTransmuxComplete=s,this.onFlush=i;let a=(c,f)=>{if(f=f||{},f.frag=this.frag||void 0,c===Z.ERROR)f=f,f.parent=this.id,f.part=this.part,this.error=f.error;this.hls.trigger(c,f)};this.observer=new N1,this.observer.on(Z.FRAG_DECRYPTED,a),this.observer.on(Z.ERROR,a);let l=O5(r.preferManagedMediaSource);if(this.useWorker&&typeof Worker<"u"){let c=this.hls.logger;if(r.workerPath||bC()){try{if(r.workerPath)c.log(`loading Web Worker ${r.workerPath} for "${n}"`),this.workerContext=yC(r.workerPath);else c.log(`injecting Web Worker for "${n}"`),this.workerContext=wC();let{worker:d}=this.workerContext;d.addEventListener("message",this.onWorkerMessage),d.addEventListener("error",this.onWorkerError),d.postMessage({instanceNo:this.instanceNo,cmd:"init",typeSupported:l,id:n,config:us(r)})}catch(d){c.warn(`Error setting up "${n}" Web Worker, fallback to inline`,d),this.terminateWorker(),this.error=null,this.transmuxer=new f1(this.observer,l,r,"",n,e.logger)}return}}this.transmuxer=new f1(this.observer,l,r,"",n,e.logger)}reset(){if(this.frag=null,this.part=null,this.workerContext){let e=this.instanceNo;this.instanceNo=y3++;let n=this.hls.config,s=O5(n.preferManagedMediaSource);this.workerContext.worker.postMessage({instanceNo:this.instanceNo,cmd:"reset",resetNo:e,typeSupported:s,id:this.id,config:us(n)})}}terminateWorker(){if(this.workerContext){let{worker:e}=this.workerContext;this.workerContext=null,e.removeEventListener("message",this.onWorkerMessage),e.removeEventListener("error",this.onWorkerError),vC(this.hls.config.workerPath)}}destroy(){if(this.workerContext)this.terminateWorker(),this.onWorkerMessage=this.onWorkerError=null;else{let n=this.transmuxer;if(n)n.destroy(),this.transmuxer=null}let e=this.observer;if(e)e.removeAllListeners();this.frag=null,this.part=null,this.observer=null,this.hls=null}push(e,n,s,i,r,a,l,c,f,d){var b,y;f.transmuxing.start=self.performance.now();let{instanceNo:v,transmuxer:k}=this,A=a?a.start:r.start,T=r.decryptdata,R=this.frag,D=R?r.cc!==R.cc:!0,U=R?f.level!==R.level:!0,Y=R?f.sn-R.sn:-1,X=this.part?f.part-this.part.index:-1,J=Y===0&&f.id>1&&f.id===(R==null?void 0:R.stats.chunkCount),ee=!U&&(Y===1||Y===0&&(X===1||J&&X<=0)),te=self.performance.now();if(U||Y||r.stats.parsing.start===0)r.stats.parsing.start=te;if(a&&(X||!ee))a.stats.parsing.start=te;let ne=!(R&&((b=r.initSegment)==null?void 0:b.url)===((y=R.initSegment)==null?void 0:y.url)),ie=new T6(D,ee,c,U,A,ne);if(!ee||D||ne){this.hls.logger.log(`[transmuxer-interface]: Starting new transmux session for ${r.type} sn: ${f.sn}${f.part>-1?" part: "+f.part:""} ${this.id} playlist: ${f.level} id: ${f.id}
28
- discontinuity: ${D}
29
- trackSwitch: ${U}
30
- contiguous: ${ee}
31
- accurateTimeOffset: ${c}
32
- timeOffset: ${A}
33
- initSegmentChange: ${ne}`);let se=new A6(s,i,n,l,d);this.configureTransmuxer(se)}if(this.frag=r,this.part=a,this.workerContext)this.workerContext.worker.postMessage({instanceNo:v,cmd:"demux",data:e,decryptdata:T,chunkMeta:f,state:ie},e instanceof ArrayBuffer?[e]:[]);else if(k){let se=k.push(e,T,f,ie);if(jh(se))se.then((ae)=>{this.handleTransmuxComplete(ae)}).catch((ae)=>{this.transmuxerError(ae,f,"transmuxer-interface push error")});else this.handleTransmuxComplete(se)}}flush(e){e.transmuxing.start=self.performance.now();let{instanceNo:n,transmuxer:s}=this;if(this.workerContext)this.workerContext.worker.postMessage({instanceNo:n,cmd:"flush",chunkMeta:e});else if(s){let i=s.flush(e);if(jh(i))i.then((r)=>{this.handleFlushResult(r,e)}).catch((r)=>{this.transmuxerError(r,e,"transmuxer-interface flush error")});else this.handleFlushResult(i,e)}}transmuxerError(e,n,s){if(!this.hls)return;this.error=e,this.hls.trigger(Z.ERROR,{type:Dt.MEDIA_ERROR,details:Oe.FRAG_PARSING_ERROR,chunkMeta:n,frag:this.frag||void 0,part:this.part||void 0,fatal:!1,error:e,err:e,reason:s})}handleFlushResult(e,n){e.forEach((s)=>{this.handleTransmuxComplete(s)}),this.onFlush(n)}configureTransmuxer(e){let{instanceNo:n,transmuxer:s}=this;if(this.workerContext)this.workerContext.worker.postMessage({instanceNo:n,cmd:"configure",config:e});else if(s)s.configure(e)}handleTransmuxComplete(e){e.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(e)}}var v3=100;class E6 extends w0{constructor(e,n,s){super(e,n,s,"audio-stream-controller",Ct.AUDIO);this.mainAnchor=null,this.mainFragLoading=null,this.audioOnly=!1,this.bufferedTrack=null,this.switchingTrack=null,this.trackId=-1,this.nextTrackId=-1,this.waitingData=null,this.mainDetails=null,this.flushing=!1,this.bufferFlushed=!1,this.cachedTrackLoadedData=null,this.registerListeners()}onHandlerDestroying(){this.unregisterListeners(),super.onHandlerDestroying(),this.resetItem()}resetItem(){this.mainDetails=this.mainAnchor=this.mainFragLoading=this.bufferedTrack=this.switchingTrack=this.waitingData=this.cachedTrackLoadedData=null}registerListeners(){super.registerListeners();let{hls:e}=this;e.on(Z.LEVEL_LOADED,this.onLevelLoaded,this),e.on(Z.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.on(Z.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(Z.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(Z.BUFFER_RESET,this.onBufferReset,this),e.on(Z.BUFFER_CREATED,this.onBufferCreated,this),e.on(Z.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(Z.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(Z.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(Z.FRAG_LOADING,this.onFragLoading,this),e.on(Z.FRAG_BUFFERED,this.onFragBuffered,this)}unregisterListeners(){let{hls:e}=this;if(!e)return;super.unregisterListeners(),e.off(Z.LEVEL_LOADED,this.onLevelLoaded,this),e.off(Z.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.off(Z.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(Z.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(Z.BUFFER_RESET,this.onBufferReset,this),e.off(Z.BUFFER_CREATED,this.onBufferCreated,this),e.off(Z.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(Z.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(Z.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(Z.FRAG_LOADING,this.onFragLoading,this),e.off(Z.FRAG_BUFFERED,this.onFragBuffered,this)}onInitPtsFound(e,n){let{frag:s,id:i,initPTS:r,timescale:a,trackId:l,timestampOffsets:c}=n;if(i===Ct.MAIN){let f=s.cc,d=this.fragCurrent;if(this.initPTS=c,this.log(`InitPTS for cc: ${f} found from main: ${r/a} (${r}/${a}) trackId: ${l}`),this.mainAnchor=s,this.state===$e.WAITING_INIT_PTS){let b=this.waitingData;if(!b&&!this.loadingParts||b&&b.frag.cc!==f)this.syncWithAnchor(s,b==null?void 0:b.frag)}else if(!this.hls.hasEnoughToStart&&d&&d.cc!==f)d.abortRequests(),this.syncWithAnchor(s,d);else if(this.state===$e.IDLE)this.tick()}}getLoadPosition(){var e;if(!this.startFragRequested&&this.nextLoadPosition>=0&&((e=this.switchingTrack)==null?void 0:e.flushImmediate)!==!1)return this.nextLoadPosition;return super.getLoadPosition()}syncWithAnchor(e,n){var s;let i=((s=this.mainFragLoading)==null?void 0:s.frag)||null;if(n){if((i==null?void 0:i.cc)===n.cc)return}let r=(i||e).cc,a=this.getLevelDetails(),l=this.getLoadPosition(),c=D9(a,r,l);if(c){if(this.log(`Syncing with main frag at ${c.start} cc ${c.cc}`),this.startFragRequested=!1,this.nextLoadPosition=c.start,this.resetLoadingState(),this.state===$e.IDLE)this.doTickIdle()}}startLoad(e,n){if(!this.levels){this.startPosition=e,this.state=$e.STOPPED;return}let s=this.lastCurrentTime;if(this.stopLoad(),this.setInterval(v3),s>0&&e===-1&&!n&&this.initPTS.length)this.log(`Override startPosition with lastCurrentTime @${s.toFixed(3)}`),e=s;if(this.state=$e.IDLE,this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=n?-1:e,!n&&!this.fragmentTracker.hasFragments(this.playlistType))this.startFragRequested=!1;this.tick()}doTick(){switch(this.state){case $e.IDLE:this.doTickIdle();break;case $e.WAITING_TRACK:{let{levels:e,trackId:n}=this,s=e==null?void 0:e[n],i=s==null?void 0:s.details;if(i&&!this.waitForLive(s)){if(this.waitForCdnTuneIn(i))break;this.state=$e.WAITING_INIT_PTS}break}case $e.FRAG_LOADING_WAITING_RETRY:{this.checkRetryDate();break}case $e.WAITING_INIT_PTS:{let e=this.waitingData;if(e){let{frag:n,part:s,cache:i,complete:r}=e,a=this.mainAnchor;if(this.initPTS[n.cc]!==void 0){this.waitingData=null,this.state=$e.FRAG_LOADING;let l=i.flush().buffer,c={frag:n,part:s,payload:l,networkDetails:null};if(this._handleFragmentLoadProgress(c),r)super._handleFragmentLoadComplete(c)}else if(a&&a.cc!==e.frag.cc)this.syncWithAnchor(a,e.frag)}else this.state=$e.IDLE}}this.onTickEnd()}resetLoadingState(){let e=this.waitingData;if(e)this.fragmentTracker.removeFragment(e.frag),this.waitingData=null;super.resetLoadingState()}onTickEnd(){let{media:e}=this;if(!(e!=null&&e.readyState))return;this.lastCurrentTime=e.currentTime,this.checkFragmentChanged()}doTickIdle(){var e;let{hls:n,levels:s,media:i,trackId:r}=this,a=n.config;if(!this.buffering||!i&&!this.primaryPrefetch&&(this.startFragRequested||!a.startFragPrefetch)||!(s!=null&&s[r]))return;let l=s[r],c=l.details;if(!c||this.waitForLive(l)||this.waitForCdnTuneIn(c)){this.state=$e.WAITING_TRACK,this.startFragRequested=!1;return}let f=this.getBufferOutput();if(this.bufferFlushed&&f)this.bufferFlushed=!1,this.afterBufferFlushed(f,ss.AUDIO);let d=this.getFwdBufferInfo();if(d===null)return;if(!this.switchingTrack&&this._streamEnded(d,c)){n.trigger(Z.BUFFER_EOS,{type:"audio"}),this.state=$e.ENDED;return}let b=d.len,y=n.maxBufferLength,v=c.fragments,k=v[0].start,A=this.getLoadPosition(),T=this.flushing||this.switchingTrack&&!this.switchingTrack.flushImmediate?A:d.end;if(this.switchingTrack&&i){let U=A;if(c.PTSKnown&&U<k&&U>=this.timelineOffset){if(d.end>k||d.nextStart)this.log(`Alt audio track ahead of main track, seek to start of alt audio track ${U} -> ${k} + 0.05`),i.currentTime=k+0.05}}if(b>=y&&!this.switchingTrack&&T<v[v.length-1].start)return;let R=this.getNextFragment(T,c);if(R&&this.isLoopLoading(R,T))R=this.getNextFragmentLoopLoading(R,c,d,Ct.MAIN,y);if(!R){this.bufferFlushed=!0;return}if(this.exceedsMaxBuffer(d,y,R))return;let D=((e=this.mainFragLoading)==null?void 0:e.frag)||null;if(!this.audioOnly&&this.startFragRequested&&D&&Ps(R)&&!R.endList&&(!c.live||!this.loadingParts&&T<this.hls.liveSyncPosition)){if(this.fragmentTracker.getState(D)===_s.OK)this.mainFragLoading=D=null;if(D&&Ps(D)){if(R.start>D.end){let Y=this.fragmentTracker.getFragAtPos(T,Ct.MAIN);if(Y&&Y.end>D.end)D=Y,this.mainFragLoading={frag:Y,targetBufferTime:null}}if(R.start>D.end)return}}this.loadFragment(R,l,T)}onMediaDetaching(e,n){this.bufferFlushed=this.flushing=!1,super.onMediaDetaching(e,n)}onAudioTracksUpdated(e,{audioTracks:n}){this.resetTransmuxer(),this.levels=n.map((s)=>new rf(s))}onAudioTrackSwitching(e,n){let s=!!n.url;this.trackId=n.id;let{fragCurrent:i}=this;if(i)i.abortRequests(),this.removeUnbufferedFrags(i.start);if(this.resetLoadingState(),s){if(this.switchingTrack=n,!n.flushImmediate)this.nextTrackId=n.id,this.nextLevelSwitch();if(this.flushAudioIfNeeded(n),this.state!==$e.STOPPED)this.setInterval(v3),this.state=$e.IDLE,this.tick()}else this.resetTransmuxer(),this.switchingTrack=null,this.bufferedTrack=n,this.clearInterval()}onManifestLoading(){super.onManifestLoading(),this.bufferFlushed=this.flushing=this.audioOnly=!1,this.resetItem(),this.trackId=-1}onLevelLoaded(e,n){this.mainDetails=n.details;let s=this.cachedTrackLoadedData;if(s)this.cachedTrackLoadedData=null,this.onAudioTrackLoaded(Z.AUDIO_TRACK_LOADED,s)}onAudioTrackLoaded(e,n){var s;let{levels:i}=this,{details:r,id:a,groupId:l,track:c}=n;if(!i){this.warn(`Audio tracks reset while loading track ${a} "${c.name}" of "${l}"`);return}let f=this.mainDetails;if(!f||r.endCC>f.endCC||f.expired){if(this.cachedTrackLoadedData=n,this.state!==$e.STOPPED)this.state=$e.WAITING_TRACK;return}this.cachedTrackLoadedData=null,this.log(`Audio track ${a} "${c.name}" of "${l}" loaded [${r.startSN},${r.endSN}]${r.lastPartSn?`[part-${r.lastPartSn}-${r.lastPartIndex}]`:""},duration:${r.totalduration}`);let d=i[a],b=0;if(r.live||(s=d.details)!=null&&s.live){if(this.checkLiveUpdate(r),r.deltaUpdateFailed)return;if(d.details){var y;b=this.alignPlaylists(r,d.details,(y=this.levelLastLoaded)==null?void 0:y.details)}if(!r.alignedSliding)r0(f,r,this),b=r.fragmentStart}if(d.details=r,this.levelLastLoaded=d,!this.startFragRequested)this.setStartPosition(f,b);if(this.hls.trigger(Z.AUDIO_TRACK_UPDATED,{details:r,id:a,groupId:n.groupId}),this.state===$e.WAITING_TRACK&&!this.waitForCdnTuneIn(r))this.state=$e.IDLE;this.tick()}_handleFragmentLoadProgress(e){var n;let s=e.frag,{part:i,payload:r}=e,{config:a,trackId:l,levels:c}=this;if(!c){this.warn(`Audio tracks were reset while fragment load was in progress. Fragment ${s.sn} of level ${s.level} will not be buffered`);return}let f=c[l];if(!f){this.warn("Audio track is undefined on fragment load progress");return}let d=f.details;if(!d){this.warn("Audio track details undefined on fragment load progress"),this.removeUnbufferedFrags(s.start);return}let b=a.defaultAudioCodec||f.audioCodec||"mp4a.40.2",y=this.transmuxer;if(!y)y=this.transmuxer=new V1(this.hls,Ct.AUDIO,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this));let v=this.initPTS[s.cc],k=(n=s.initSegment)==null?void 0:n.data;if(v!==void 0){let T=i?i.index:-1,R=T!==-1,D=new b0(s.level,s.sn,s.stats.chunkCount,r.byteLength,T,R,s.duration);y.push(r,k,b,"",s,i,d.totalduration,!1,D,v)}else{this.log(`Unknown video PTS for cc ${s.cc}, waiting for video PTS before demuxing audio frag ${s.sn} of [${d.startSN} ,${d.endSN}],track ${l}`);let{cache:A}=this.waitingData=this.waitingData||{frag:s,part:i,cache:new P1,complete:!1};if(A.push(new Uint8Array(r)),this.state!==$e.STOPPED)this.state=$e.WAITING_INIT_PTS}}_handleFragmentLoadComplete(e){if(this.waitingData){this.waitingData.complete=!0;return}super._handleFragmentLoadComplete(e)}onBufferReset(){this.mediaBuffer=null}onBufferCreated(e,n){this.bufferFlushed=this.flushing=!1;let s=n.tracks.audio;if(s)this.mediaBuffer=s.buffer||null}onFragLoading(e,n){if(!this.audioOnly&&n.frag.type===Ct.MAIN&&Ps(n.frag)){if(this.mainFragLoading=n,this.state===$e.IDLE)this.tick()}}onFragBuffered(e,n){let{frag:s,part:i}=n;if(s.type!==Ct.AUDIO){if(!this.audioOnly&&s.type===Ct.MAIN&&!s.elementaryStreams.video&&!s.elementaryStreams.audiovideo)this.audioOnly=!0,this.mainFragLoading=null;return}if(this.fragContextChanged(s)){this.warn(`Fragment ${s.sn}${i?" p: "+i.index:""} of level ${s.level} finished buffering, but was aborted. state: ${this.state}, audioSwitch: ${this.switchingTrack?this.switchingTrack.name:"false"}`);return}if(Ps(s)){let r=this.switchingTrack;if(r)this.bufferedTrack=r}if(this.fragBufferedComplete(s,i),this.media)this.tick()}getFwdBufferInfo(){let e=this.getBufferOutput();return super.getFwdBufferInfo(e,Ct.AUDIO)}getBufferOutput(){return this.mediaBuffer?this.mediaBuffer:this.media}checkFragmentChanged(){let e=this.fragPlaying;if(!this.checkFragPlaying())return!1;let s=this.fragPlaying,i=e==null?void 0:e.level;if(!s||s.level!==i){if(e)this.cleanupBackBuffer();if(this.switchingTrack)this.completeAudioSwitch(this.switchingTrack)}return!0}onError(e,n){var s;if(n.fatal){this.state=$e.ERROR;return}switch(n.details){case Oe.FRAG_GAP:case Oe.FRAG_PARSING_ERROR:case Oe.FRAG_DECRYPT_ERROR:case Oe.FRAG_LOAD_ERROR:case Oe.FRAG_LOAD_TIMEOUT:case Oe.KEY_LOAD_ERROR:case Oe.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(Ct.AUDIO,n);break;case Oe.AUDIO_TRACK_LOAD_ERROR:case Oe.AUDIO_TRACK_LOAD_TIMEOUT:case Oe.LEVEL_PARSING_ERROR:if(!n.levelRetry&&this.state===$e.WAITING_TRACK&&((s=n.context)==null?void 0:s.type)===un.AUDIO_TRACK)this.state=$e.IDLE;break;case Oe.BUFFER_APPEND_NO_PROGRESS:if(n.parent!=="audio")return;if(n.frag&&(n.appendsWithoutProgress||0)>=this.config.appendErrorMaxRetry)this.warn(`Marking fragment ${n.frag.sn} of track ${n.frag.level} as a gap after ${n.appendsWithoutProgress} appends without buffered range growth, to prevent loop loading`),this.fragmentTracker.addAsGap(n.frag);break;case Oe.BUFFER_ADD_CODEC_ERROR:case Oe.BUFFER_APPEND_ERROR:if(n.parent!=="audio")return;if(!this.reduceLengthAndFlushBuffer(n))this.resetLoadingState();break;case Oe.BUFFER_FULL_ERROR:if(n.parent!=="audio")return;if(this.reduceLengthAndFlushBuffer(n))this.bufferedTrack=null,super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio");break;case Oe.INTERNAL_EXCEPTION:this.recoverWorkerError(n);break}}onBufferFlushing(e,{type:n}){if(n!==ss.VIDEO)this.flushing=!0}onBufferFlushed(e,{type:n}){if(n!==ss.VIDEO){if(this.flushing=!1,this.bufferFlushed=!0,this.state===$e.ENDED)this.state=$e.IDLE;let s=this.getBufferOutput();if(s)this.afterBufferFlushed(s,n),this.tick()}}_handleTransmuxComplete(e){var n;let s="audio",{hls:i}=this,{remuxResult:r,chunkMeta:a}=e,l=this.getCurrentContext(a);if(!l){this.resetWhenMissingContext(a);return}let{frag:c,part:f,level:d}=l,{details:b}=d,{audio:y,text:v,id3:k,initSegment:A}=r;if(this.fragContextChanged(c)||!b){if(this.fragmentTracker.removeFragment(c),A!=null&&A.tracks)this.resetTransmuxer();return}if(this.state=$e.PARSING,y&&this.switchingTrack&&!this.switchingTrack.flushImmediate){let{config:T}=this,R=T.nextAudioTrackBufferFlushForwardOffset,D=Math.max(this.getLoadPosition()+R,c.start);super.flushMainBuffer(D,Number.POSITIVE_INFINITY,Ct.AUDIO)}if(A!=null&&A.tracks){let T=c.initSegment||c;if(this.unhandledEncryptionError(A,c))return;this._bufferInitSegment(d,A.tracks,T,a),i.trigger(Z.FRAG_PARSING_INIT_SEGMENT,{frag:T,id:"audio",tracks:A.tracks})}if(y){let{startPTS:T,endPTS:R,startDTS:D,endDTS:U}=y;if(f)f.elementaryStreams[ss.AUDIO]={startPTS:T,endPTS:R,startDTS:D,endDTS:U};c.setElementaryStreamInfo(ss.AUDIO,T,R,D,U),this.bufferFragmentData(y,c,f,a)}if(k!=null&&(n=k.samples)!=null&&n.length){let T=Un({id:"audio",frag:c,details:b},k);i.trigger(Z.FRAG_PARSING_METADATA,T)}if(v){let T=Un({id:"audio",frag:c,details:b},v);i.trigger(Z.FRAG_PARSING_USERDATA,T)}}_bufferInitSegment(e,n,s,i){if(this.state!==$e.PARSING)return;if(n.video)delete n.video;if(n.audiovideo)delete n.audiovideo;if(!n.audio)return;let r=n.audio;r.id=Ct.AUDIO;let a=e.audioCodec;if(this.log(`Init audio buffer, container:${r.container}, codecs[level/parsed]=[${a}/${r.codec}]`),(a==null?void 0:a.split(",").length)===1)r.levelCodec=a;this.hls.trigger(Z.BUFFER_CODECS,n);let l=r.initSegment;if(l!=null&&l.byteLength){let c={type:"audio",frag:s,part:null,chunkMeta:i,parent:s.type,data:l};this.hls.trigger(Z.BUFFER_APPENDING,c)}this.tickImmediate()}loadFragment(e,n,s){let i=this.fragmentTracker.getState(e);if(this.switchingTrack||i===_s.NOT_LOADED||i===_s.PARTIAL){var r;if((r=n.details)!=null&&r.live&&!this.initPTS[e.cc]){this.log(`Waiting for video PTS in continuity counter ${e.cc} of live stream before loading audio fragment ${e.sn} of level ${this.trackId}`),this.state=$e.WAITING_INIT_PTS;let a=this.mainDetails;if(a&&a.fragmentStart!==n.details.fragmentStart)r0(a,n.details,this)}else super.loadFragment(e,n,s)}else this.clearTrackerIfNeeded(e)}flushAudioIfNeeded(e){if(this.media&&this.bufferedTrack&&e.flushImmediate){let{name:n,lang:s,assocLang:i,characteristics:r,audioCodec:a,channels:l}=this.bufferedTrack;if(!ec({name:n,lang:s,assocLang:i,characteristics:r,audioCodec:a,channels:l},e,Zl))if(t0(e.url,this.hls))this.log("Switching audio track : flushing all audio"),super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"),this.bufferedTrack=null;else this.bufferedTrack=e}}completeAudioSwitch(e){let{hls:n}=this;this.bufferedTrack=e,this.switchingTrack=null,n.trigger(Z.AUDIO_TRACK_SWITCHED,qt({},e))}get nextAudioTrack(){return this.nextTrackId}}class v0 extends Zi{constructor(e,n){super(n,e.logger);this.hls=void 0,this.canLoad=!1,this.timer=-1,this.loadingSync=!1,this.hls=e}destroy(){this.clearTimer(),this.hls=null}clearTimer(){if(this.timer!==-1)self.clearTimeout(this.timer),this.timer=-1}startLoad(){this.canLoad=!0,this.loadPlaylist()}stopLoad(){this.canLoad=!1,this.clearTimer()}switchParams(e,n,s){let i=n==null?void 0:n.renditionReports;if(i){let r=-1;for(let a=0;a<i.length;a++){let l=i[a],c;try{c=new self.URL(l.URI,n.url).href}catch(f){this.warn(`Could not construct new URL for Rendition Report: ${f}`),c=l.URI||""}if(c===e){r=a;break}else if(c===e.substring(0,c.length))r=a}if(r!==-1){let a=i[r],l=parseInt(a["LAST-MSN"])||n.lastPartSn,c=parseInt(a["LAST-PART"])||n.lastPartIndex;if(this.hls.config.lowLatencyMode){let d=Math.min(n.age-n.partTarget,n.targetduration);if(c>=0&&d>n.partTarget)c+=1}let f=s&&P5(s);return new s1(l,c>=0?c:void 0,f)}}}loadPlaylist(e){this.clearTimer()}loadingPlaylist(e,n){this.clearTimer()}shouldLoadPlaylist(e){return this.canLoad&&!!e&&!!e.url&&(!e.details||e.details.live)}getUrlWithDirectives(e,n){if(n)try{return n.addDirectives(e)}catch(s){this.warn(`Could not construct new URL with HLS Delivery Directives: ${s}`)}return e}playlistLoaded(e,n,s){let{details:i,stats:r}=n,a=i.fragments,l=self.performance.now(),c=r.loading.first?Math.max(0,Math.floor(l-r.loading.first)):0;i.advancedDateTime=Date.now()-c;let f=this.hls.config.timelineOffset;if(f!==i.appliedTimelineOffset){let b=Math.max(f||0,0);i.appliedTimelineOffset=b,a.forEach((y)=>{y==null||y.setStart(y.playlistOffset+b)})}if(i.live||s!=null&&s.live){var d;let b="levelInfo"in n?n.levelInfo:n.track;i.reloaded(s);let y=(d=a[a.length-1])==null?void 0:d.type;if(i.misses>=this.hls.config.liveMaxUnchangedPlaylistRefresh){let X=Error(`${y} playlist ${b.id} hit max allowed unchanged reloads.`);this.warn(X);let{networkDetails:J,context:ee}=n;this.hls.trigger(Z.ERROR,{type:Dt.NETWORK_ERROR,details:Oe.PLAYLIST_UNCHANGED_ERROR,fatal:!1,url:i.url,error:X,reason:X.message,level:n.level,parent:y,context:ee,networkDetails:J,stats:r});return}if(s){rC(s,i,this);let X=i.playlistParsingError;if(X){this.warn(X);let J=this.hls;if(!J.config.ignorePlaylistParsingErrors){let{networkDetails:ee}=n;J.trigger(Z.ERROR,{type:Dt.NETWORK_ERROR,details:Oe.LEVEL_PARSING_ERROR,fatal:!1,url:i.url,error:X,reason:X.message,level:n.level,parent:y,networkDetails:ee,stats:r});return}i.playlistParsingError=null}}if(i.requestScheduled===-1)i.requestScheduled=r.loading.start;let v=this.hls.mainForwardBufferInfo,k=v?v.end-v.len:0,A=(i.edge-k)*1000,T=K9(i,A);if(i.requestScheduled+T<l)i.requestScheduled=l;else if(i.requestScheduled<=l)i.requestScheduled+=T;let R=n.deliveryDirectives;if(this.log(`live playlist ${e} ${i.advanced?`REFRESHED ${i.lastPartSn} - ${i.lastPartIndex}`:i.updated?"UPDATED":`MISSED (received ${i.lastPartSn} - ${i.lastPartIndex}${R?` | requested ${R.msn} - ${R.part}`:""})`}`),!this.canLoad||!i.live)return;let D,U=void 0,Y=void 0;if(i.canBlockReload&&i.advanced){let X=this.hls.config.lowLatencyMode,{lastPartSn:J,endSN:ee,lastPartIndex:te}=i,ne=te!==-1,ie=J===ee;if(ne)if(ie)U=ee+1,Y=X?0:te;else U=J,Y=X?te+1:i.maxPartIndex;else U=ee+1;let se=i.age,ae=se+i.ageHeader,be=Math.min(ae-i.partTarget,i.targetduration*1.5);if(be>0){if(ae>i.targetduration*3)this.log(`Playlist last advanced ${se.toFixed(2)}s ago. Omitting segment and part directives.`),U=void 0,Y=void 0;else if(s!=null&&s.tuneInGoal&&ae-i.partTarget>s.tuneInGoal)this.warn(`CDN Tune-in goal increased from: ${s.tuneInGoal} to: ${be} with playlist age: ${i.age}`),be=0;else{let ye=Math.floor(be/i.targetduration);if(U+=ye,Y!==void 0){let fe=Math.round(be%i.targetduration/i.partTarget);Y+=fe}this.log(`CDN Tune-in age: ${i.ageHeader}s last advanced ${se.toFixed(2)}s goal: ${be} skip sn ${ye} to part ${Y}`)}i.tuneInGoal=be}if(D=this.getDeliveryDirectives(i,n.deliveryDirectives,U,Y),X||!ie){i.requestScheduled=l,this.loadingPlaylist(b,D);return}}else if(i.canBlockReload||i.canSkipUntil)D=this.getDeliveryDirectives(i,n.deliveryDirectives,U,Y);if(D&&U!==void 0&&i.canBlockReload)i.requestScheduled=r.loading.first+Math.max(T-c*2,T/2);this.scheduleLoading(b,D,i)}else this.clearTimer()}scheduleLoading(e,n,s){let i=s||e.details;if(!i){this.loadingPlaylist(e,n);return}let r=self.performance.now(),a=i.requestScheduled;if(r>=a&&!this.loadingSync){this.loadingSync=!0,this.loadingPlaylist(e,n),this.loadingSync=!1;return}let l=Math.max(a-r,0);this.log(`reload live playlist ${e.name||e.bitrate+"bps"} in ${Math.round(l)} ms`),this.clearTimer(),this.timer=self.setTimeout(()=>this.loadingPlaylist(e,n),l)}getDeliveryDirectives(e,n,s,i){let r=P5(e);if(n!=null&&n.skip&&e.deltaUpdateFailed)s=n.msn,i=n.part,r=$d.No;return new s1(s,i,r)}checkRetry(e){let n=e.details,s=Qd(e),i=e.errorAction,{action:r,retryCount:a=0,retryConfig:l}=i||{},c=!!i&&!!l&&(r===gi.RetryRequest||!i.resolved&&r===gi.SendAlternateToPenaltyBox);if(c){var f;if(a>=l.maxNumRetry)return!1;if(s&&(f=e.context)!=null&&f.deliveryDirectives)this.warn(`Retrying playlist loading ${a+1}/${l.maxNumRetry} after "${n}" without delivery-directives`),this.loadPlaylist();else{var d;let b=Sh((d=e.response)==null?void 0:d.code);if(this.clearTimer(),b)this.log("Waiting for connection (offline)"),e.reason="offline",this.timer=self.setTimeout(()=>this.checkOfflineStatus(),1000);else{let y=E1(l,a);this.warn(`Retrying playlist loading ${a+1}/${l.maxNumRetry} after "${n}" in ${y}ms`),this.timer=self.setTimeout(()=>this.loadPlaylist(),y)}}e.levelRetry=!0,i.resolved=!0}return c}checkOfflineStatus(){if(this.clearTimer(),Sh(0))this.timer=self.setTimeout(()=>this.checkOfflineStatus(),1000);else this.log("Connection restored (online)"),this.loadPlaylist()}}function C6(e,n){if(e.length!==n.length)return!1;for(let s=0;s<e.length;s++)if(!_h(e[s].attrs,n[s].attrs))return!1;return!0}function _h(e,n,s){let i=e["STABLE-RENDITION-ID"];if(i&&!s)return i===n["STABLE-RENDITION-ID"];return!(s||["LANGUAGE","NAME","CHARACTERISTICS","AUTOSELECT","DEFAULT","FORCED","ASSOC-LANGUAGE"]).some((r)=>e[r]!==n[r])}class j6 extends v0{constructor(e){super(e,"audio-track-controller");this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.registerListeners()}registerListeners(){let{hls:e}=this;e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.MANIFEST_PARSED,this.onManifestParsed,this),e.on(Z.LEVEL_LOADING,this.onLevelLoading,this),e.on(Z.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(Z.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(Z.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.MANIFEST_PARSED,this.onManifestParsed,this),e.off(Z.LEVEL_LOADING,this.onLevelLoading,this),e.off(Z.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(Z.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(Z.ERROR,this.onError,this)}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,super.destroy()}onManifestLoading(){this.tracks=[],this.tracksInGroup=[],this.groupIds=null,this.currentTrack=null,this.trackId=-1,this.selectDefaultTrack=!0}onManifestParsed(e,n){this.tracks=n.audioTracks||[]}onAudioTrackLoaded(e,n){let{id:s,groupId:i,details:r}=n,a=this.tracksInGroup[s];if(!a||a.groupId!==i){this.warn(`Audio track with id:${s} and group:${i} not found in active group ${a==null?void 0:a.groupId}`);return}let l=a.details;if(a.details=n.details,this.log(`Audio track ${s} "${a.name}" lang:${a.lang} group:${i} loaded [${r.startSN}-${r.endSN}]`),s===this.trackId)this.playlistLoaded(s,n,l)}onLevelLoading(e,n){this.switchLevel(n.level)}onLevelSwitching(e,n){this.switchLevel(n.level)}switchLevel(e){let n=this.hls.levels[e];if(!n)return;let s=n.audioGroups||null,i=this.groupIds,r=this.currentTrack;if(!s||(i==null?void 0:i.length)!==(s==null?void 0:s.length)||s!=null&&s.some((l)=>(i==null?void 0:i.indexOf(l))===-1)){this.groupIds=s,this.trackId=-1,this.currentTrack=null;let l=this.tracks.filter((y)=>Eh(y.groupId,s));if(l.length){if(this.selectDefaultTrack&&!l.some((y)=>y.default))this.selectDefaultTrack=!1;l.forEach((y,v)=>{y.id=v})}else if(!r&&!this.tracksInGroup.length)return;this.tracksInGroup=l;let c=this.hls.config.audioPreference;if(!r&&c){let y=Ma(c,l,Zl);if(y>-1)r=l[y];else{let v=Ma(c,this.tracks);r=this.tracks[v]}}let f=this.findTrackId(r);if(f===-1&&r)f=this.findTrackId(null);let d={audioTracks:l};this.log(`Updating audio tracks, ${l.length} track(s) found in group(s): ${s==null?void 0:s.join(",")}`),this.hls.trigger(Z.AUDIO_TRACKS_UPDATED,d);let b=this.trackId;if(f!==-1&&b===-1)this.setAudioTrack(f);else if(l.length&&b===-1){var a;let y=Error(`No audio track selected for current audio group-ID(s): ${(a=this.groupIds)==null?void 0:a.join(",")} track count: ${l.length}`);this.warn(y.message),this.hls.trigger(Z.ERROR,{type:Dt.MEDIA_ERROR,details:Oe.AUDIO_TRACK_LOAD_ERROR,fatal:!0,error:y})}}}onError(e,n){if(n.fatal||!n.context)return;if(n.context.type===un.AUDIO_TRACK&&n.context.id===this.trackId&&Eh(n.context.groupId,this.groupIds))this.checkRetry(n)}get allAudioTracks(){return this.tracks}get audioTracks(){return this.tracksInGroup}get audioTrack(){return this.trackId}set audioTrack(e){this.selectDefaultTrack=!1,this.setAudioTrack(e)}get nextAudioTrack(){return this.trackId}set nextAudioTrack(e){this.selectDefaultTrack=!1,this.setAudioTrack(e,!1)}setAudioOption(e){let n=this.hls;if(n.config.audioPreference=e,e){let s=this.allAudioTracks;if(this.selectDefaultTrack=!1,s.length){let i=this.currentTrack;if(i&&ec(e,i,Zl))return i;let r=Ma(e,this.tracksInGroup,Zl);if(r>-1){let a=this.tracksInGroup[r];return this.setAudioTrack(r,"flushImmediate"in e&&e.flushImmediate),a}else if(i){let a=n.loadLevel;if(a===-1)a=n.firstAutoLevel;let l=qE(e,n.levels,s,a,Zl);if(l===-1)return null;n.nextLoadLevel=l}if(e.channels||e.audioCodec){let a=Ma(e,s);if(a>-1)return s[a]}}}return null}setAudioTrack(e,n=!0){let s=this.tracksInGroup;if(e<0||e>=s.length){this.warn(`Invalid audio track id: ${e}`);return}this.selectDefaultTrack=!1;let i=this.currentTrack,r=s[e],a=r.details&&!r.details.live;if(e===this.trackId&&r===i&&a)return;if(this.log(`Switching to audio-track ${e} "${r.name}" lang:${r.lang} group:${r.groupId} channels:${r.channels}`),this.trackId=e,this.currentTrack=r,this.hls.trigger(Z.AUDIO_TRACK_SWITCHING,qt(qt({},r),{},{flushImmediate:n})),a)return;let l=this.switchParams(r.url,i==null?void 0:i.details,r.details);this.loadPlaylist(l)}findTrackId(e){let n=this.tracksInGroup;for(let s=0;s<n.length;s++){let i=n[s];if(this.selectDefaultTrack&&!i.default)continue;if(!e||ec(e,i,Zl))return s}if(e){let{name:s,lang:i,assocLang:r,characteristics:a,audioCodec:l,channels:c}=e;for(let f=0;f<n.length;f++){let d=n[f];if(ec({name:s,lang:i,assocLang:r,characteristics:a,audioCodec:l,channels:c},d,Zl))return f}for(let f=0;f<n.length;f++){let d=n[f];if(_h(e.attrs,d.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return f}for(let f=0;f<n.length;f++){let d=n[f];if(_h(e.attrs,d.attrs,["LANGUAGE"]))return f}}return-1}loadPlaylist(e){super.loadPlaylist();let n=this.currentTrack;if(!this.shouldLoadPlaylist(n))return;if(t0(n.url,this.hls))this.scheduleLoading(n,e)}loadingPlaylist(e,n){super.loadingPlaylist(e,n);let{id:s,groupId:i}=e,r=this.getUrlWithDirectives(e.url,n),a=e.details,l=a==null?void 0:a.age;this.log(`Loading audio-track ${s} "${e.name}" lang:${e.lang} group:${i}${(n==null?void 0:n.msn)!==void 0?" at sn "+n.msn+" part "+n.part:""}${l&&a.live?" age "+l.toFixed(1)+(a.type?" "+a.type||"":""):""} ${r}`),this.hls.trigger(Z.AUDIO_TRACK_LOADING,{url:r,id:s,groupId:i,deliveryDirectives:n||null,track:e})}}class _6{constructor(e){this.tracks=void 0,this.queues={video:[],audio:[],audiovideo:[]},this.tracks=e}destroy(){this.tracks=this.queues=null}append(e,n,s){if(this.queues===null||this.tracks===null)return;let i=this.queues[n];if(i.push(e),i.length===1&&!s)this.executeNext(n)}appendBlocker(e){return new Promise((n)=>{let s={label:"async-blocker",execute:n,onStart:()=>{},onComplete:()=>{},onError:()=>{}};this.append(s,e)})}prependBlocker(e){return new Promise((n)=>{if(this.queues){let s={label:"async-blocker-prepend",execute:n,onStart:()=>{},onComplete:()=>{},onError:()=>{}};this.queues[e].unshift(s)}})}removeBlockers(){if(this.queues===null)return;[this.queues.video,this.queues.audio,this.queues.audiovideo].forEach((e)=>{var n;let s=(n=e[0])==null?void 0:n.label;if(s==="async-blocker"||s==="async-blocker-prepend")e[0].execute(),e.splice(0,1);else if(s==="block-audio")e.splice(0,1)})}insertNext(e,n){if(this.queues===null)return;this.queues[n].splice(1,0,...e)}unblockAudio(){var e;if(this.queues===null)return;if(((e=this.current("audio"))==null?void 0:e.label)==="block-audio")this.shiftAndExecuteNext("audio")}audioBlocking(){if(this.queues===null)return!1;return this.queues.audio.some((e)=>e.label==="block-audio")}executeNext(e){if(this.queues===null||this.tracks===null)return;let n=this.queues[e];if(n.length){let i=n[0];try{i.execute()}catch(r){var s;if(i.onError(r),this.queues===null||this.tracks===null)return;let a=(s=this.tracks[e])==null?void 0:s.buffer;if(!(a!=null&&a.updating))this.shiftAndExecuteNext(e)}}}shiftAndExecuteNext(e){if(this.queues===null)return;this.queues[e].shift(),this.executeNext(e)}current(e){var n;return((n=this.queues)==null?void 0:n[e][0])||null}toString(){let{queues:e,tracks:n}=this;if(e===null||n===null)return"<destroyed>";return`
34
- ${this.list("video")}
35
- ${this.list("audio")}
36
- ${this.list("audiovideo")}}`}list(e){var n,s;return(n=this.queues)!=null&&n[e]||(s=this.tracks)!=null&&s[e]?`${e}: (${this.listSbInfo(e)}) ${this.listOps(e)}`:""}listSbInfo(e){var n;let s=(n=this.tracks)==null?void 0:n[e],i=s==null?void 0:s.buffer;if(!i)return"none";return`SourceBuffer${i.updating?" updating":""}${s.ended?" ended":""}${s.ending?" ending":""}`}listOps(e){var n;return((n=this.queues)==null?void 0:n[e].map((s)=>s.label).join(", "))||""}}var S3=/(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\.[^.,]+)+/,I6="HlsJsTrackRemovedError",ej=0.25,tj=0.001;class R6 extends Error{constructor(e){super(e);this.name=I6}}class D6 extends Zi{constructor(e,n){super("buffer-controller",e.logger);this.hls=void 0,this.fragmentTracker=void 0,this.fragmentAppendProgress=Object.create(null),this.appendsWithoutProgress=Object.create(null),this.details=null,this._objectUrl=null,this.operationQueue=null,this.bufferCodecEventsTotal=0,this.media=null,this.mediaSource=null,this.lastMpegAudioChunk=null,this.lastVideoAppendEnd=0,this.appendSource=void 0,this.transferData=void 0,this.overrides=void 0,this.appendErrors={audio:0,video:0,audiovideo:0},this.appendError=void 0,this._quotaEvictionPending={},this.tracks={},this.sourceBuffers=[[null,null],[null,null]],this._onEndStreaming=(s)=>{var i;if(!this.hls)return;if(((i=this.mediaSource)==null?void 0:i.readyState)!=="open")return;if(!this.media||this.media.seeking)return;this.hls.pauseBuffering()},this._onStartStreaming=(s)=>{if(!this.hls)return;this.hls.resumeBuffering()},this._onMediaSourceOpen=(s)=>{let{media:i,mediaSource:r}=this;if(s)this.log("Media source opened");if(!i||!r)return;if(Pn(r,"sourceopen",this._onMediaSourceOpen),Pn(i,"emptied",this._onMediaEmptied),this.updateDuration(),this.hls.trigger(Z.MEDIA_ATTACHED,{media:i,mediaSource:r}),this.mediaSource!==null)this.checkPendingTracks()},this._onMediaSourceClose=()=>{if(this.log("Media source closed"),this.media){let s=this.media.error,{appendError:i,appendErrors:r}=this,a=!1;if(!i&&s)a=Math.max(++r.audio,++r.video,++r.audiovideo)>=this.hls.config.appendErrorMaxRetry;let l=Error(`MediaSource closed while media attached${x3(a,s)}`);this.warn(l),this.hls.trigger(Z.ERROR,Un({fatal:a},i,{type:Dt.MEDIA_ERROR,details:Oe.MEDIA_SOURCE_REQUIRES_RESET,error:l}))}},this._onMediaSourceEnded=()=>{this.log("Media source ended")},this._onMediaEmptied=()=>{let{mediaSrc:s,_objectUrl:i}=this;if(s!==i)this.error(`Media element src was set while attaching MediaSource (${i} > ${s})`)},this._onMediaError=()=>{let{media:s}=this;if(s){var i,r;this.log(`Media error (code: ${(i=s.error)==null?void 0:i.code}): ${(r=s.error)==null?void 0:r.message}`)}},this.hls=e,this.fragmentTracker=n,this.appendSource=xT(cl(e.config.preferManagedMediaSource)),this.initTracks(),this.registerListeners()}hasSourceTypes(){return Object.keys(this.tracks).length>0}destroy(){if(this.unregisterListeners(),this.details=null,this.lastMpegAudioChunk=null,this.transferData=this.overrides=void 0,this.operationQueue)this.operationQueue.destroy(),this.operationQueue=null;this.hls=this.fragmentTracker=null,this._onMediaSourceOpen=this._onMediaSourceClose=null,this._onMediaSourceEnded=null,this._onStartStreaming=this._onEndStreaming=null,this._onMediaEmptied=this._onMediaError=null}registerListeners(){let{hls:e}=this;e.on(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.MANIFEST_PARSED,this.onManifestParsed,this),e.on(Z.BUFFER_RESET,this.onBufferReset,this),e.on(Z.BUFFER_APPENDING,this.onBufferAppending,this),e.on(Z.BUFFER_CODECS,this.onBufferCodecs,this),e.on(Z.BUFFER_EOS,this.onBufferEos,this),e.on(Z.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(Z.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(Z.FRAG_PARSED,this.onFragParsed,this),e.on(Z.FRAG_CHANGED,this.onFragChanged,this),e.on(Z.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.MANIFEST_PARSED,this.onManifestParsed,this),e.off(Z.BUFFER_RESET,this.onBufferReset,this),e.off(Z.BUFFER_APPENDING,this.onBufferAppending,this),e.off(Z.BUFFER_CODECS,this.onBufferCodecs,this),e.off(Z.BUFFER_EOS,this.onBufferEos,this),e.off(Z.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(Z.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(Z.FRAG_PARSED,this.onFragParsed,this),e.off(Z.FRAG_CHANGED,this.onFragChanged,this),e.off(Z.ERROR,this.onError,this)}transferMedia(){let{media:e,mediaSource:n}=this;if(!e)return null;let s={};if(this.operationQueue){let r=this.isUpdating();if(!r)this.operationQueue.removeBlockers();let a=this.isQueued();if(r||a)this.warn(`Transfering MediaSource with${a?" operations in queue":""}${r?" updating SourceBuffer(s)":""} ${this.operationQueue}`);this.operationQueue.destroy()}let i=this.transferData;if(i&&!this.sourceBufferCount&&i.mediaSource===n)Un(s,i.tracks);else this.sourceBuffers.forEach((r)=>{let[a]=r;if(a)s[a]=Un({},this.tracks[a]),this.removeBuffer(a);r[0]=r[1]=null});return{media:e,mediaSource:n,tracks:s}}initTracks(){let e={};this.resetAppendProgress(),this.sourceBuffers=[[null,null],[null,null]],this.tracks=e,this.resetQueue(),this.lastMpegAudioChunk=null,this.lastVideoAppendEnd=0}onManifestLoading(){this.bufferCodecEventsTotal=0,this.details=null,this.resetAppendErrors(),this.resetAppendProgress()}onManifestParsed(e,n){var s;let i=2;if(n.audio&&!n.video||!n.altAudio)i=1;if(this.bufferCodecEventsTotal=i,this.log(`${i} bufferCodec event(s) expected.`),(s=this.transferData)!=null&&s.mediaSource&&this.sourceBufferCount&&i)this.bufferCreated()}onMediaAttaching(e,n){let s=this.media=n.media;this.transferData=this.overrides=void 0;let i=cl(this.appendSource);if(i){let r=!!n.mediaSource;if(r||n.overrides)this.transferData=n,this.overrides=n.overrides;let a=this.mediaSource=n.mediaSource||new i;if(this.assignMediaSource(a),r)this._objectUrl=s.src,this.attachTransferred();else{let l=this._objectUrl=self.URL.createObjectURL(a);if(this.appendSource)try{s.removeAttribute("src");let c=self.ManagedMediaSource;s.disableRemotePlayback=s.disableRemotePlayback||c&&a instanceof c,k3(s),nj(s,l),s.load()}catch(c){s.src=l}else s.src=l}if(Bn(s,"emptied",this._onMediaEmptied),Bn(s,"error",this._onMediaError),this.appendSource)Bn(s,"seeking",this._onStartStreaming)}}assignMediaSource(e){var n,s;if(this.log(`${((n=this.transferData)==null?void 0:n.mediaSource)===e?"transferred":"created"} media source: ${(s=e.constructor)==null?void 0:s.name}`),Bn(e,"sourceopen",this._onMediaSourceOpen),Bn(e,"sourceended",this._onMediaSourceEnded),Bn(e,"sourceclose",this._onMediaSourceClose),this.appendSource)Bn(e,"startstreaming",this._onStartStreaming),Bn(e,"endstreaming",this._onEndStreaming)}attachTransferred(){let e=this.media,n=this.transferData;if(!n||!e)return;let s=this.tracks,i=n.tracks,r=i?Object.keys(i):null,a=r?r.length:0,l=()=>{Promise.resolve().then(()=>{if(this.media&&this.mediaSourceOpenOrEnded)this._onMediaSourceOpen()})};if(i&&r&&a){if(!this.tracksReady){this.hls.config.startFragPrefetch=!0,this.log("attachTransferred: waiting for SourceBuffer track info");return}if(this.log(`attachTransferred: (bufferCodecEventsTotal ${this.bufferCodecEventsTotal})
37
- required tracks: ${us(s,(c,f)=>c==="initSegment"?void 0:f)};
38
- transfer tracks: ${us(i,(c,f)=>c==="initSegment"?void 0:f)}}`),!s9(i,s)){n.mediaSource=null,n.tracks=void 0;let c=e.currentTime,f=this.details,d=Math.max(c,(f==null?void 0:f.fragments[0].start)||0);if(d-c>1){this.log(`attachTransferred: waiting for playback to reach new tracks start time ${c} -> ${d}`);return}this.warn(`attachTransferred: resetting MediaSource for incompatible tracks ("${Object.keys(i)}"->"${Object.keys(s)}") start time: ${d} currentTime: ${c}`),this.onMediaDetaching(Z.MEDIA_DETACHING,{}),this.onMediaAttaching(Z.MEDIA_ATTACHING,n),e.currentTime=d;return}this.transferData=void 0,r.forEach((c)=>{let f=c,d=i[f];if(d){let b=d.buffer;if(b){let y=this.fragmentTracker,v=d.id;if(y.hasFragments(v)||y.hasParts(v)){let T=Ot.getBuffered(b);y.detectEvictedFragments(f,T,v,null,null,!0)}let k=Lg(f),A=[f,b];if(this.sourceBuffers[k]=A,b.updating&&this.operationQueue)this.operationQueue.prependBlocker(f);this.trackSourceBuffer(f,d)}}}),l(),this.bufferCreated()}else this.log("attachTransferred: MediaSource w/o SourceBuffers"),l()}get mediaSourceOpenOrEnded(){var e;let n=(e=this.mediaSource)==null?void 0:e.readyState;return n==="open"||n==="ended"}onMediaDetaching(e,n){let s=!!n.transferMedia;this.transferData=this.overrides=void 0;let{media:i,mediaSource:r,_objectUrl:a}=this;if(r){if(this.log(`media source ${s?"transferring":"detaching"}`),s)this.sourceBuffers.forEach(([l])=>{if(l)this.removeBuffer(l)}),this.resetQueue();else{if(this.mediaSourceOpenOrEnded){let l=r.readyState==="open";try{let c=r.sourceBuffers;for(let f=c.length;f--;){if(l)c[f].abort();r.removeSourceBuffer(c[f])}if(l)r.endOfStream()}catch(c){this.warn(`onMediaDetaching: ${c.message} while calling endOfStream`)}}if(this.sourceBufferCount)this.onBufferReset()}if(Pn(r,"sourceopen",this._onMediaSourceOpen),Pn(r,"sourceended",this._onMediaSourceEnded),Pn(r,"sourceclose",this._onMediaSourceClose),this.appendSource)Pn(r,"startstreaming",this._onStartStreaming),Pn(r,"endstreaming",this._onEndStreaming);this.mediaSource=null,this._objectUrl=null}if(i){if(Pn(i,"emptied",this._onMediaEmptied),Pn(i,"error",this._onMediaError),Pn(i,"seeking",this._onStartStreaming),!s){if(a)self.URL.revokeObjectURL(a);if(this.mediaSrc===a){if(i.removeAttribute("src"),this.appendSource)k3(i);i.load()}else this.warn("media|source.src was changed by a third party - skip cleanup")}this.media=null}}onBufferReset(){this.sourceBuffers.forEach(([e])=>{if(e)this.resetBuffer(e)}),this.initTracks()}resetBuffer(e){var n;let s=(n=this.tracks[e])==null?void 0:n.buffer;if(this.removeBuffer(e),s)try{var i;if((i=this.mediaSource)!=null&&i.sourceBuffers.length)this.mediaSource.removeSourceBuffer(s)}catch(r){this.warn(`onBufferReset ${e}`,r)}delete this.tracks[e]}removeBuffer(e){this.removeBufferListeners(e),this.sourceBuffers[Lg(e)]=[null,null];let n=this.tracks[e];if(n)this.clearBufferAppendTimeoutId(n),n.buffer=void 0}resetQueue(){if(this.operationQueue)this.operationQueue.destroy();this.operationQueue=new _6(this.tracks)}onBufferCodecs(e,n){var s;let i=this.tracks,r=Object.keys(n);this.log(`BUFFER_CODECS: "${r}" (current SB count ${this.sourceBufferCount})`);let a="audiovideo"in n&&(i.audio||i.video)||i.audiovideo&&(("audio"in n)||("video"in n)),l=!a&&this.sourceBufferCount&&this.media&&r.some((c)=>!i[c]);if(a||l){this.warn(`Unsupported transition between "${Object.keys(i)}" and "${r}" SourceBuffers`);return}if(r.forEach((c)=>{var f,d;let b=n[c],{id:y,codec:v,levelCodec:k,container:A,metadata:T,supplemental:R}=b,D=i[c],U=(f=this.transferData)==null||(f=f.tracks)==null?void 0:f[c],Y=U!=null&&U.buffer?U:D,X=(Y==null?void 0:Y.pendingCodec)||(Y==null?void 0:Y.codec),J=Y==null?void 0:Y.levelCodec;if(!D)D=i[c]={buffer:void 0,listeners:[],codec:v,supplemental:R,container:A,levelCodec:k,metadata:T,id:y};let ee=Vd(X,J),te=ee==null?void 0:ee.replace(S3,"$1"),ne=Vd(v,k),ie=(d=ne)==null?void 0:d.replace(S3,"$1");if(ne&&ee&&te!==ie){if(c.slice(0,5)==="audio")ne=Zd(ne,this.appendSource);if(this.log(`switching codec ${X} to ${ne}`),ne!==(D.pendingCodec||D.codec))D.pendingCodec=ne;D.container=A,this.appendChangeType(c,A,ne)}}),this.tracksReady||this.sourceBufferCount)n.tracks=this.sourceBufferTracks;if(this.sourceBufferCount)return;if(this.bufferCodecEventsTotal>1&&!this.tracks.video&&!n.video&&((s=n.audio)==null?void 0:s.id)==="main")this.log("Main audio-only"),this.bufferCodecEventsTotal=1;if(this.mediaSourceOpenOrEnded)this.checkPendingTracks()}get sourceBufferTracks(){return Object.keys(this.tracks).reduce((e,n)=>{let s=this.tracks[n];return e[n]={id:s.id,container:s.container,codec:s.codec,levelCodec:s.levelCodec},e},{})}appendChangeType(e,n,s){let i=`${n};codecs=${s}`,r={label:`change-type=${i}`,execute:()=>{let a=this.tracks[e];if(a){let l=a.buffer;if(l!=null&&l.changeType)this.log(`changing ${e} sourceBuffer type to ${i}`),l.changeType(i),a.codec=s,a.container=n}this.shiftAndExecuteNext(e)},onStart:()=>{},onComplete:()=>{},onError:(a)=>{this.warn(`Failed to change ${e} SourceBuffer type`,a)}};this.append(r,e,this.isPending(this.tracks[e]))}blockAudio(e){var n;let s=e.start,i=s+e.duration*0.05;if(((n=this.fragmentTracker.getAppendedFrag(s,Ct.MAIN))==null?void 0:n.gap)===!0)return;let a={label:"block-audio",execute:()=>{var l,c;if(this.lastVideoAppendEnd>i||Ot.isBuffered((l=this.tracks.video)==null?void 0:l.buffer,i)||((c=this.fragmentTracker.getAppendedFrag(i,Ct.MAIN))==null?void 0:c.gap)===!0)this.unblockAudio()},onStart:()=>{},onComplete:()=>{},onError:(l)=>{this.warn("Error executing block-audio operation",l)}};this.append(a,"audio",!0)}unblockAudio(){if(this.operationQueue)this.operationQueue.unblockAudio()}onBufferAppending(e,n){let{tracks:s}=this,{data:i,type:r,parent:a,frag:l,part:c,chunkMeta:f,offset:d}=n,b=f.buffering[r],y=Ps(l)&&!c&&!l.gap&&!f.partial&&!f.iframe,v=null,k=!1,{sn:A,cc:T}=l,R=self.performance.now();b.start=R;let D=l.stats.buffering,U=c?c.stats.buffering:null;if(D.start===0)D.start=R;if((U==null?void 0:U.start)===0)U.start=R;let Y=s.audio,X=!1;if(r==="audio"&&(Y==null?void 0:Y.container)==="audio/mpeg")X=!this.lastMpegAudioChunk||f.id===1||this.lastMpegAudioChunk.sn!==f.sn,this.lastMpegAudioChunk=f;let J=s.video,ee=J==null?void 0:J.buffer;if(ee&&A!=="initSegment"&&d!==void 0){let ie=Y==null?void 0:Y.buffer,se=c||l;if(r==="audio"&&a!=="main"&&!(J.ending||J.ended)&&ie&&Ot.getBuffered(ie).length){let be=se.start+se.duration*0.05,ye=Ot.getBuffered(ee),fe=this.currentOp("video");if(!ye.length&&!fe)this.blockAudio(se);else if(!Ot.isBuffered(ee,be)&&this.lastVideoAppendEnd<be)this.blockAudio(se)}else if(r==="video"){let ae=se.end,be=this.lastVideoAppendEnd-ae;if(this.lastVideoAppendEnd=ae,be<0||be>se.duration)this.unblockAudio();else if(this.isAudioBlocked())this.executeNext("audio")}}let te=(c||l).start,ne={label:`append-${r}`,execute:()=>{var ie;b.executeStart=self.performance.now();let se=(ie=this.tracks[r])==null?void 0:ie.buffer;if(se){if(y)v=Ot.timeRangesToArray(Ot.getBuffered(se)),k=T3(Og(v,l),l);if(X)this.updateTimestampOffset(se,te,0.1,r,A,T);else if(d!==void 0&&ht(d))this.updateTimestampOffset(se,d,0.000001,r,A,T)}this.appendExecutor(i,r)},onStart:()=>{},onComplete:()=>{this.clearBufferAppendTimeoutId(this.tracks[r]);let ie=self.performance.now();if(b.executeEnd=b.end=ie,D.first===0)D.first=ie;if((U==null?void 0:U.first)===0)U.first=ie;let se={};if(this.sourceBuffers.forEach(([ae,be])=>{if(ae)se[ae]=Ot.getBuffered(be)}),y){let ae=this.getFragmentAppendProgress(l),be=se[r];if(be&&v){let ye=Ot.timeRangesToArray(be),fe=Og(ye,l);ae.progressed||(ae.progressed=fe-Og(v,l)>tj);let le=k&&T3(fe,l);ae.fullyBuffered[r]=ae.fullyBuffered[r]===void 0?le:ae.fullyBuffered[r]&&le}}this.hls.trigger(Z.BUFFER_APPENDED,{type:r,frag:l,part:c,chunkMeta:f,parent:a,timeRanges:se})},onError:(ie)=>{var se;this.clearBufferAppendTimeoutId(this.tracks[r]);let ae=ie.code===DOMException.QUOTA_EXCEEDED_ERR||ie.name=="QuotaExceededError"||"quota"in ie;if(ae){if(!this._quotaEvictionPending[r]){let le=this.getBackBufferEvictionTarget(r,i.byteLength,l.type);if(le>0){this._quotaEvictionPending[r]=!0,this.log(`QuotaExceededError on "${r}" append sn: ${A} - evicting back buffer to ${le.toFixed(3)}s and retrying`);let oe=this.getFlushOp(r,0,le),Se=this.getClearEvictionPendingOp(r);this.insertNext([oe,ne,Se],r);return}this.warn(`QuotaExceededError on "${r}" sn: ${A} - no back buffer available to evict`)}}if(y)this.getFragmentAppendProgress(l).errored=!0;let be={type:Dt.MEDIA_ERROR,parent:a,details:Oe.BUFFER_APPEND_ERROR,sourceBufferName:r,frag:l,part:c,chunkMeta:f,error:ie,err:ie,fatal:!1},ye=(se=this.media)==null?void 0:se.error;if(ie.name===I6&&this.sourceBufferCount===0&&(!this.media||this.pendingTrackCount===0))be.errorAction=gh(!0);else{var fe;if(ae)be.details=Oe.BUFFER_FULL_ERROR;let le=++this.appendErrors[r],oe=this.hls.config.appendErrorMaxRetry;if(this.warn(`Failed ${le}/${oe+1} times to append segment in "${r}" sourceBuffer with error: ${ie.message}`),le>=oe)be.fatal=!ae;let Se=(fe=this.mediaSource)==null?void 0:fe.readyState;if(Se==="ended"||Se==="closed"||!!ye)this.warn(`MediaSource readyState "${Se}" during SourceBuffer${x3(be.fatal,ye)}`),be.details=Oe.MEDIA_SOURCE_REQUIRES_RESET}if(this.appendError=be,this.hls.trigger(Z.ERROR,be),ae&&this.hls)this.trimBuffers(l.start,1)}};this.log(`queuing "${r}" append sn: ${A}${c?" p: "+c.index:""} of ${a} playlist ${l.level} cc: ${T} offset: ${d} bytes: ${i.byteLength}`),this.append(ne,r,this.isPending(this.tracks[r]))}getClearEvictionPendingOp(e){return{label:"clear",execute:()=>{this._quotaEvictionPending[e]=!1,this.shiftAndExecuteNext(e)},onStart:()=>{},onComplete:()=>{},onError:()=>{}}}getFlushOp(e,n,s){return this.log(`queuing "${e}" remove ${n}-${s}`),{label:"remove",execute:()=>{this.removeExecutor(e,n,s)},onStart:()=>{},onComplete:()=>{var i;let r=(i=this.tracks[e])==null?void 0:i.buffer;this.log(`Remove request ${n}-${s} from ${e} Source Buffer complete > buffer: ${r?a0(Ot.getBuffered(r)):"(detached)"}`),this.hls.trigger(Z.BUFFER_FLUSHED,{type:e,start:n,end:s})},onError:(i)=>{this.warn(`Failed to remove ${n}-${s} from "${e}" SourceBuffer`,i),this.hls.trigger(Z.BUFFER_FLUSHED,{type:e,start:0,end:0,error:i})}}}onBufferFlushing(e,n){let{type:s,startOffset:i,endOffset:r}=n;if(!s||s==="audio")this.unblockAudio();if(s)this.append(this.getFlushOp(s,i,r),s);else this.sourceBuffers.forEach(([a])=>{if(a)this.append(this.getFlushOp(a,i,r),a)})}onFragParsed(e,n){let{frag:s,part:i,chunkMeta:r}=n,a=[],l=i?i.elementaryStreams:s.elementaryStreams;if(l[ss.AUDIOVIDEO])a.push("audiovideo");else{if(l[ss.AUDIO])a.push("audio");if(l[ss.VIDEO])a.push("video")}let c=()=>{let f=self.performance.now();if(s.stats.buffering.end=f,i)i.stats.buffering.end=f;let d=i?i.stats:s.stats;if(this.checkAppendProgress(s,i,r,a),!this.hls)return;if(this.hls.trigger(Z.FRAG_BUFFERED,{frag:s,part:i,stats:d,id:s.type,chunkMeta:r}),!i&&s.gap&&d.retry)this.log(`Nothing buffered for ${s.type} level: ${s.level} sn: ${s.sn} retries ${d.retry}`)};if(a.length===0)this.log(`Fragments must have at least one ElementaryStreamType set. ${s.type} ${s.level} ${i?`part: ${i.index} of `:""}sn: ${s.sn}`);this.blockBuffers(c,a).catch((f)=>{this.warn(`Fragment buffered callback ${f.message}`),this.stepOperationQueue(this.sourceBufferTypes)})}onFragChanged(e,n){var s,i;let r=(s=this.hls)==null?void 0:s.config;if(!r)return;let{backBufferLength:a,frontBufferFlushThreshold:l}=r;this.trimBuffers(l,a,n.frag,n.previousFrag);let c=n.frag.elementaryStreams,{appendErrors:f}=this,d=(i=this.appendError)==null?void 0:i.sourceBufferName;Object.keys(c).forEach((b)=>{if(!c[b])return;if(f[b]=0,b===d)this.appendError=void 0;if(b==="audio"||b==="video"){if(f.audiovideo=0,d==="audiovideo")this.appendError=void 0}else if(f.audio=0,f.video=0,d!=="audiovideo")this.appendError=void 0})}get bufferedToEnd(){return this.sourceBufferCount>0&&!this.sourceBuffers.some(([e])=>{if(e){let n=this.tracks[e];if(n)return!n.ended||n.ending}return!1})}onBufferEos(e,n){var s;this.sourceBuffers.forEach(([a])=>{if(a){let l=this.tracks[a];if(!n.type||n.type===a){if(l.ending=!0,!l.ended)l.ended=!0,this.log(`${a} buffer reached EOS`)}}});let i=((s=this.overrides)==null?void 0:s.endOfStream)!==!1;if(this.sourceBufferCount>0&&!this.sourceBuffers.some(([a])=>{var l;return a&&!((l=this.tracks[a])!=null&&l.ended)}))if(this.unblockAudio(),i)this.log("Queueing EOS"),this.blockUntilOpen(()=>{this.tracksEnded();let{mediaSource:a}=this;if((a==null?void 0:a.readyState)!=="open"){if(a)this.log(`Could not call mediaSource.endOfStream(). mediaSource.readyState: ${a.readyState}`);return}this.log("Calling mediaSource.endOfStream()"),a.endOfStream(),this.hls.trigger(Z.BUFFERED_TO_END,void 0)});else this.tracksEnded(),this.hls.trigger(Z.BUFFERED_TO_END,void 0);else if(n.type==="video")this.unblockAudio()}tracksEnded(){this.sourceBuffers.forEach(([e])=>{if(e!==null){let n=this.tracks[e];if(n)n.ending=!1}})}onLevelUpdated(e,{details:n}){if(!n.fragments.length)return;this.details=n,this.updateDuration()}updateDuration(){this.blockUntilOpen(()=>{let e=this.getDurationAndRange();if(!e)return;this.updateMediaSource(e)})}onError(e,n){if(n.details===Oe.BUFFER_APPEND_ERROR&&n.frag){var s;let i=(s=n.errorAction)==null?void 0:s.nextAutoLevel;if(ht(i)&&i!==n.frag.level)this.resetAppendErrors()}}getBackBufferEvictionTarget(e,n,s){let{media:i}=this;if(!i)return 0;return this.fragmentTracker.getBackBufferEvictionEnd(i.currentTime,s,n)}getFragmentAppendProgress(e){var n;let s=A3(e),i=this.fragmentAppendProgress[s];if(((n=i)==null?void 0:n.stats)!==e.stats)i={stats:e.stats,progressed:!1,errored:!1,fullyBuffered:Object.create(null)},this.fragmentAppendProgress[s]=i;return i}checkAppendProgress(e,n,s,i){if(n||!Ps(e)||e.gap||s.iframe||s.partial)return;let r=A3(e),a=this.fragmentAppendProgress[r];delete this.fragmentAppendProgress[r];let l=e.stats.buffering;if(l.start&&!l.first)return;let c=(a==null?void 0:a.stats)===e.stats?a:void 0;if(c!=null&&c.errored)return;let f=i.length>0&&i.every((v)=>(c==null?void 0:c.fullyBuffered[v])===!0);if(c!=null&&c.progressed||f){delete this.appendsWithoutProgress[r];return}if(!c&&i.length===0)return;let d=(this.appendsWithoutProgress[r]||0)+1,b=this.hls;if(d>=b.config.appendErrorMaxRetry)delete this.appendsWithoutProgress[r];else this.appendsWithoutProgress[r]=d;this.warn(`Fragment ${e.sn} of ${e.type} playlist ${e.level} appended ${d} time${d>1?"s":""} without buffered range growth`),b.trigger(Z.ERROR,{type:Dt.MEDIA_ERROR,details:Oe.BUFFER_APPEND_NO_PROGRESS,fatal:!1,frag:e,chunkMeta:s,parent:e.type,appendsWithoutProgress:d,error:Error(`Fragment append did not increase buffered coverage (${d})`)})}resetAppendProgress(){this.fragmentAppendProgress=Object.create(null),this.appendsWithoutProgress=Object.create(null)}resetAppendErrors(){this.appendErrors={audio:0,video:0,audiovideo:0},this.appendError=void 0}trimBuffers(e,n,s,i){let{hls:r,details:a,media:l}=this;if(!l||a===null)return;if(!this.sourceBufferCount)return;let c=r.config,f=l.currentTime,d=a.levelTargetDuration;n=a.live&&c.liveBackBufferLength!==null?c.liveBackBufferLength:n;let b=-1/0;if(ht(n)&&n>=0){let y=Math.max(n,d);b=Math.floor(f/d)*d-y}if(s){let y=this.getLoopBackBufferFlushEnd(s,i!=null?i:null);if(y>0)b=Math.max(b,y)}if(b>0)this.flushBackBuffer(f,d,b);if(ht(e)&&e>0){let y=Math.max(c.maxBufferLength,e),v=Math.max(y,d),k=Math.floor(f/d)*d+v;this.flushFrontBuffer(f,d,k)}}getLoopBackBufferFlushEnd(e,n){var s;let{media:i}=this;if(((s=this.hls)==null?void 0:s.config.loopBackBufferFlush)===!1||!(i!=null&&i.loop)||!n||e.level<=n.level)return 0;let{video:r,audiovideo:a}=e.elementaryStreams;if(r!=null&&r.partial||a!=null&&a.partial)return 0;let l=this.getEarliestElementaryStreamStart(e)-ej;if(l<=0)return 0;return this.log(`Flushing lower quality back buffer for loop: level ${e.level}, range [0-${l.toFixed(3)}]`),l}getEarliestElementaryStreamStart(e){let{audio:n,video:s,audiovideo:i}=e.elementaryStreams,r=e.start;if(i)r=Math.min(r,i.startDTS);else{if(n)r=Math.min(r,n.startDTS);if(s)r=Math.min(r,s.startDTS)}return r}flushBackBuffer(e,n,s){this.sourceBuffers.forEach(([i,r])=>{if(r){let f=Ot.getBuffered(r);if(f.length>0&&s>f.start(0)){var a,l,c;this.hls.trigger(Z.BACK_BUFFER_REACHED,{bufferEnd:s});let d=this.tracks[i];if((a=this.details)!=null&&a.live)this.hls.trigger(Z.LIVE_BACK_BUFFER_REACHED,{bufferEnd:s});else if(d!=null&&d.ended&&!((l=this.media)!=null&&l.loop&&((c=this.hls)==null?void 0:c.config.loopBackBufferFlush)!==!1)){this.log(`Cannot flush ${i} back buffer while SourceBuffer is in ended state`);return}this.hls.trigger(Z.BUFFER_FLUSHING,{startOffset:0,endOffset:s,type:i})}}})}flushFrontBuffer(e,n,s){this.sourceBuffers.forEach(([i,r])=>{if(r){let a=Ot.getBuffered(r),l=a.length;if(l<2)return;let c=a.start(l-1),f=a.end(l-1);if(s>c||e>=c&&e<=f)return;this.hls.trigger(Z.BUFFER_FLUSHING,{startOffset:c,endOffset:1/0,type:i})}})}getDurationAndRange(){var e;let{details:n,mediaSource:s}=this;if(!n||!this.media||(s==null?void 0:s.readyState)!=="open")return null;let i=n.edge;if(n.live&&this.hls.config.liveDurationInfinity){if(n.fragments.length&&!!s.setLiveSeekableRange){let f=Math.max(0,n.fragmentStart),d=Math.max(f,i);return{duration:1/0,start:f,end:d}}return{duration:1/0}}let r=(e=this.overrides)==null?void 0:e.duration;if(r){if(!ht(r))return null;return{duration:r}}let a=this.media.duration,l=ht(s.duration)?s.duration:0;if(i>l&&i>a||!ht(a))return{duration:i};return null}updateMediaSource({duration:e,start:n,end:s}){let i=this.mediaSource;if(!i||!this.media||i.readyState!=="open")return;if(i.duration!==e){if(ht(e))this.log(`Updating MediaSource duration to ${e.toFixed(3)}`);i.duration=e}if(n!==void 0&&s!==void 0)this.log(`MediaSource duration is set to ${i.duration}. Setting seekable range to ${n}-${s}.`),i.setLiveSeekableRange(n,s)}get tracksReady(){let e=this.pendingTrackCount;return e>0&&(e>=this.bufferCodecEventsTotal||this.isPending(this.tracks.audiovideo))}checkPendingTracks(){let{bufferCodecEventsTotal:e,pendingTrackCount:n,tracks:s}=this;if(this.log(`checkPendingTracks (pending: ${n} codec events expected: ${e}) ${us(s)}`),this.tracksReady){var i;let r=(i=this.transferData)==null?void 0:i.tracks;if(r&&Object.keys(r).length)this.attachTransferred();else this.createSourceBuffers()}}bufferCreated(){if(this.sourceBufferCount){let e={};this.sourceBuffers.forEach(([n,s])=>{if(n){let i=this.tracks[n];e[n]={buffer:s,container:i.container,codec:i.codec,supplemental:i.supplemental,levelCodec:i.levelCodec,id:i.id,metadata:i.metadata}}}),this.hls.trigger(Z.BUFFER_CREATED,{tracks:e}),this.log(`SourceBuffers created. Running queue: ${this.operationQueue}`),this.sourceBuffers.forEach(([n])=>{this.executeNext(n)})}else{let e=Error("could not create source buffer for media codec(s)");this.hls.trigger(Z.ERROR,{type:Dt.MEDIA_ERROR,details:Oe.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,error:e,reason:e.message})}}createSourceBuffers(){let{tracks:e,sourceBuffers:n,mediaSource:s}=this;if(!s)throw Error("createSourceBuffers called when mediaSource was null");for(let r in e){let a=r,l=e[a];if(this.isPending(l)){let c=this.getTrackCodec(l,a),f=`${l.container};codecs=${c}`;l.codec=c,this.log(`creating sourceBuffer(${f})${this.currentOp(a)?" Queued":""} ${us(l)}`);try{let d=s.addSourceBuffer(f),b=Lg(a),y=[a,d];n[b]=y,l.buffer=d}catch(d){var i;this.error(`error while trying to add sourceBuffer: ${d.message}`),this.shiftAndExecuteNext(a),(i=this.operationQueue)==null||i.removeBlockers(),delete this.tracks[a],this.hls.trigger(Z.ERROR,{type:Dt.MEDIA_ERROR,details:Oe.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:d,sourceBufferName:a,mimeType:f,parent:l.id});return}this.trackSourceBuffer(a,l)}}this.bufferCreated()}clearBufferAppendTimeoutId(e){if(!e)return;self.clearTimeout(e.bufferAppendTimeoutId),e.bufferAppendTimeoutId=void 0}getTrackCodec(e,n){let{supplemental:s,codec:i}=e;if(s&&(n==="video"||n==="audiovideo")&&Ah(s,"video"))i=pE(i,s);let r=Vd(i,e.levelCodec);if(r){if(n.slice(0,5)==="audio")return Zd(r,this.appendSource);return r}return""}trackSourceBuffer(e,n){let s=n.buffer;if(!s)return;let i=this.getTrackCodec(n,e);if(this.tracks[e]={buffer:s,codec:i,container:n.container,levelCodec:n.levelCodec,supplemental:n.supplemental,metadata:n.metadata,id:n.id,listeners:[]},this.removeBufferListeners(e),this.addBufferListener(e,"updatestart",this.onSBUpdateStart),this.addBufferListener(e,"updateend",this.onSBUpdateEnd),this.addBufferListener(e,"error",this.onSBUpdateError),this.appendSource)this.addBufferListener(e,"bufferedchange",(r,a)=>{let l=a.removedRanges;if(l!=null&&l.length)this.log(`${r} buffer removed ${a0(l)}`),this.hls.trigger(Z.BUFFER_FLUSHED,{type:r,start:l.start(0),end:l.end(l.length-1)})})}get mediaSrc(){var e,n;let s=((e=this.media)==null||(n=e.querySelector)==null?void 0:n.call(e,"source"))||this.media;return s==null?void 0:s.src}onSBUpdateStart(e){let n=this.currentOp(e);if(!n)return;n.onStart()}onSBUpdateEnd(e){var n,s;if(((n=this.mediaSource)==null?void 0:n.readyState)==="closed"){this.resetBuffer(e);return}let i=this.currentOp(e);if(!i)return;if(i.onComplete(),(s=this.tracks[e])==null||(s=s.buffer)==null?void 0:s.updating){this.log(`${e} SourceBuffer updating on "updateend"`),this.blockUntilOpen(()=>{this.shiftAndExecuteNext(e)});return}this.shiftAndExecuteNext(e)}onSBUpdateError(e,n){var s;let i=(s=this.mediaSource)==null?void 0:s.readyState,r=Error(`${e} SourceBuffer error. MediaSource readyState: ${i}`);this.error(`${r.message}`,n),this.hls.trigger(Z.ERROR,{type:Dt.MEDIA_ERROR,details:Oe.BUFFER_APPENDING_ERROR,sourceBufferName:e,error:r,fatal:!1});let a=this.currentOp(e);if(a)a.onError(r)}updateTimestampOffset(e,n,s,i,r,a){let l=n-e.timestampOffset;if(Math.abs(l)>=s)this.log(`Updating ${i} SourceBuffer timestampOffset to ${n} (sn: ${r} cc: ${a})`),e.timestampOffset=n}removeExecutor(e,n,s){let{media:i,mediaSource:r}=this,a=this.tracks[e],l=a==null?void 0:a.buffer;if(!i||!r||!l)throw Error(`Attempting to remove from the ${e} SourceBuffer, but it does not exist`);let c=ht(i.duration)?i.duration:1/0,f=ht(r.duration)?r.duration:1/0,d=Math.max(0,n);if(d>=f){var b;(b=this.currentOp(e))==null||b.onComplete(),this.shiftAndExecuteNext(e);return}let y=Math.min(s,c,f);if(y>d&&(!a.ending||a.ended))a.ended=!1,this.log(`Removing [${d},${y}] from the ${e} SourceBuffer`),l.remove(d,y);else throw Error(`Cannot remove ${y<=d?`invalid range (${d} >= ${y}) `:""}from the ${e} SourceBuffer${a.ending?" while track ending":""}`)}appendExecutor(e,n){let s=this.tracks[n],i=s==null?void 0:s.buffer;if(!i)throw new R6(`Attempting to append to the ${n} SourceBuffer, but it does not exist`);if(s.ending=!1,s.ended=!1,this.hls.config.appendTimeout!==1/0){let r=this.calculateAppendTimeoutTime(i);s.bufferAppendTimeoutId=self.setTimeout(()=>this.appendTimeoutHandler(n,i,r),r)}i.appendBuffer(e)}appendTimeoutHandler(e,n,s){this.log(`Received timeout after ${s}ms for append on ${e} source buffer. Aborting and triggering error.`);try{n.abort()}catch(r){this.log(`Failed to abort append on ${e} source buffer after timeout.`)}let i=this.currentOp(e);if(i)i.onError(Error(`${e}-append-timeout`))}calculateAppendTimeoutTime(e){let n=B9;if(this.details)n=this.details.levelTargetDuration;let s=2*n*1000;if(this.media===null)return s;let i=Ot.bufferInfo(e,this.media.currentTime,0);if(!i.len)return s;return s=Math.max(i.len*1000,s),Math.max(this.hls.config.appendTimeout,s)}blockUntilOpen(e){if(this.isUpdating()||this.isQueued())this.blockBuffers(e).catch((n)=>{this.warn(`SourceBuffer blocked callback ${n}`),this.stepOperationQueue(this.sourceBufferTypes)});else try{e()}catch(n){this.warn(`Callback run without blocking ${this.operationQueue} ${n}`)}}isUpdating(){return this.sourceBuffers.some(([e,n])=>e&&n.updating)}isQueued(){return this.sourceBuffers.some(([e])=>e&&!!this.currentOp(e))}isPending(e){return!!e&&!e.buffer}isAudioBlocked(){var e;return((e=this.currentOp("audio"))==null?void 0:e.label)==="block-audio"}isAudioBlocking(){if(this.operationQueue)return this.operationQueue.audioBlocking();return!1}blockBuffers(e,n=this.sourceBufferTypes){if(!n.length)return this.log("Blocking operation requested, but no SourceBuffers exist"),Promise.resolve().then(e);let{operationQueue:s}=this,r=n.length===2&&this.isAudioBlocking()?[this.appendBlocker("video")]:n.map((a)=>this.appendBlocker(a));return Promise.all(r).then((a)=>{if(s!==this.operationQueue)return;e(),this.stepOperationQueue(this.sourceBufferTypes)})}stepOperationQueue(e){e.forEach((n)=>{var s;let i=(s=this.tracks[n])==null?void 0:s.buffer;if(!i||i.updating||n==="audio"&&this.isAudioBlocked())return;this.shiftAndExecuteNext(n)})}append(e,n,s){if(this.operationQueue)this.operationQueue.append(e,n,s)}insertNext(e,n){if(this.operationQueue)this.operationQueue.insertNext(e,n)}appendBlocker(e){if(this.operationQueue)return this.operationQueue.appendBlocker(e)}currentOp(e){if(this.operationQueue)return this.operationQueue.current(e);return null}executeNext(e){if(e&&this.operationQueue)this.operationQueue.executeNext(e)}shiftAndExecuteNext(e){if(this.operationQueue)this.operationQueue.shiftAndExecuteNext(e)}get pendingTrackCount(){return Object.keys(this.tracks).reduce((e,n)=>e+(this.isPending(this.tracks[n])?1:0),0)}get sourceBufferCount(){return this.sourceBuffers.reduce((e,[n])=>e+(n?1:0),0)}get sourceBufferTypes(){return this.sourceBuffers.map(([e])=>e).filter((e)=>!!e)}addBufferListener(e,n,s){let i=this.tracks[e];if(!i)return;let r=i.buffer;if(!r)return;let a=s.bind(this,e);i.listeners.push({event:n,listener:a}),Bn(r,n,a)}removeBufferListeners(e){let n=this.tracks[e];if(!n)return;let s=n.buffer;if(!s)return;n.listeners.forEach((i)=>{Pn(s,i.event,i.listener)}),n.listeners.length=0}}function k3(e){let n=e.querySelectorAll("source");[].slice.call(n).forEach((s)=>{e.removeChild(s)})}function nj(e,n){let s=self.document.createElement("source");s.type="video/mp4",s.src=n,e.appendChild(s)}function Lg(e){return e==="audio"?1:0}function x3(e,n){return`${e?"":" - triggering recovery"}${n?" with HTMLMediaElement Error: "+n.message:""}`}function A3(e){return`${e.type}_${e.sn}_${e.level}`}function Og(e,n){let{start:s,end:i}=n,r=0;for(let a=0;a<e.length;a++){let l=e[a];if(l.start>=i)break;let c=Math.max(s,l.start),f=Math.min(i,l.end);if(f>c)r+=f-c}return r}function T3(e,n){return n.duration-e<=0.05}class $1{constructor(e){this.hls=null,this.autoLevelCapping=void 0,this.media=void 0,this.restrictedLevels=void 0,this.timer=void 0,this.observer=void 0,this.clientRect=void 0,this.streamController=void 0,this.hls=e,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.media=null,this.restrictedLevels=[],this.clientRect=null,this.registerListeners()}setStreamController(e){this.streamController=e}destroy(){if(this.hls)this.unregisterListener();if(this.timer||this.observer)this.stopCapping();this.media=this.clientRect=this.hls=null,this.streamController=void 0}registerListeners(){let{hls:e}=this;if(e)e.on(Z.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.on(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(Z.MANIFEST_PARSED,this.onManifestParsed,this),e.on(Z.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(Z.BUFFER_CODECS,this.onBufferCodecs,this),e.on(Z.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListener(){let{hls:e}=this;if(e)e.off(Z.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.off(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(Z.MANIFEST_PARSED,this.onManifestParsed,this),e.off(Z.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(Z.BUFFER_CODECS,this.onBufferCodecs,this),e.off(Z.MEDIA_DETACHING,this.onMediaDetaching,this)}onFpsDropLevelCapping(e,n){if(!this.hls)return;let s=this.hls.levels[n.droppedLevel];if(this.isLevelAllowed(s))this.restrictedLevels.push({bitrate:s.bitrate,height:s.height,width:s.width})}onMediaAttaching(e,n){let s=n.media;if(this.clientRect=null,!this.hls)return;if(s instanceof HTMLVideoElement){if(this.media=s,this.hls.config.capLevelToPlayerSize)this.observe()}else this.media=null;if((this.timer||this.observer)&&this.hls.levels.length>1)this.detectPlayerSize()}onManifestParsed(e,n){if(this.restrictedLevels=[],n.video)this.startCapping();this.onLevelsUpdated()}onLevelsUpdated(){if(!this.hls)return;if((this.timer||this.observer)&&(ht(this.autoLevelCapping)||this.clientRect))this.detectPlayerSize();else if(this.observer===void 0&&this.timer===void 0){let e=this.hls.levels;if(e.length>1&&e.some((n)=>!!n.videoCodec))this.startCapping()}}onBufferCodecs(e,n){if(n.video)this.startCapping()}onMediaDetaching(){this.stopCapping(),this.media=null}detectPlayerSize(){if(this.media){if(this.mediaHeight<=0||this.mediaWidth<=0||!this.hls){this.clientRect=null;return}let e=this.hls.levels;if(e.length>1){let n=this.hls,s=this.getMaxLevel(e.length-1);if(s!==this.autoLevelCapping)n.logger.log(`Setting autoLevelCapping to ${s}: ${e[s].height}p@${e[s].bitrate} for media ${this.mediaWidth}x${this.mediaHeight}`);if(n.autoLevelCapping=s,n.autoLevelEnabled&&n.autoLevelCapping>this.autoLevelCapping&&this.streamController)this.streamController.nextLevelSwitch();this.autoLevelCapping=n.autoLevelCapping}else if(e.length===1)this.stopCapping()}}getMaxLevel(e){if(!this.hls)return-1;let n=this.hls.levels;if(!n.length)return-1;let s=n.filter((i,r)=>this.isLevelAllowed(i)&&r<=e);if(!this.observer)this.clientRect=null;return $1.getMaxLevelByMediaSize(s,this.mediaWidth,this.mediaHeight)}observe(){let e=self.ResizeObserver;if(e)this.observer=new e((n)=>{var s;let i=(s=n[0])==null?void 0:s.contentRect;if(i)this.clientRect=i,this.detectPlayerSize()});if(this.observer&&this.media)this.observer.observe(this.media)}startCapping(){var e;if(this.timer||this.observer||!((e=this.hls)!=null&&e.config.capLevelToPlayerSize))return;if(self.clearInterval(this.timer),this.timer=void 0,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.observe(),!this.observer)this.timer=self.setInterval(this.detectPlayerSize.bind(this),1000);this.detectPlayerSize()}stopCapping(){if(this.restrictedLevels=[],this.autoLevelCapping=Number.POSITIVE_INFINITY,this.timer)self.clearInterval(this.timer),this.timer=void 0;if(this.observer)this.observer.disconnect(),this.observer=void 0}getDimensions(){if(this.clientRect)return this.clientRect;let e=this.media,n={width:0,height:0};if(e){let s=e.getBoundingClientRect();if(n.width=s.width,n.height=s.height,!n.width&&!n.height)n.width=s.right-s.left||e.width||0,n.height=s.bottom-s.top||e.height||0}return this.clientRect=n,n}get mediaWidth(){return this.getDimensions().width*this.contentScaleFactor}get mediaHeight(){return this.getDimensions().height*this.contentScaleFactor}get contentScaleFactor(){let e=1;if(!this.hls)return e;let{ignoreDevicePixelRatio:n,maxDevicePixelRatio:s}=this.hls.config;if(!n)try{e=self.devicePixelRatio}catch(i){}return Math.min(e,s)}isLevelAllowed(e){return!this.restrictedLevels.some((s)=>e.bitrate===s.bitrate&&e.width===s.width&&e.height===s.height)}static getMaxLevelByMediaSize(e,n,s){if(!(e!=null&&e.length))return-1;let i=(l,c)=>{if(!c)return!0;return l.width!==c.width||l.height!==c.height},r=e.length-1,a=Math.max(n,s);for(let l=0;l<e.length;l+=1){let c=e[l];if((c.width>=a||c.height>=a)&&i(c,e[l+1])){r=l;break}}return r}}var Ji=class e{constructor(n,s){if(Array.isArray(n))n=n.map((i)=>i instanceof e?i:new e(i));this.value=n,this.params=s}},sj="Dict";function ij(e){if(Array.isArray(e))return JSON.stringify(e);if(e instanceof Map)return"Map{}";if(e instanceof Set)return"Set{}";if(typeof e==="object")return JSON.stringify(e);return String(e)}function rj(e,n,s,i){return Error(`failed to ${e} "${ij(n)}" as ${s}`,{cause:i})}var E3="Bare Item",aj="Boolean",oj="Byte Sequence",lj="Decimal",cj="Integer";function fj(e){return e<-999999999999999||999999999999999<e}var hj="String",uj=/[\x00-\x1f\x7f]+/,q6=class{constructor(e){this.description=e}},dj="Token",mj="Key";function Pa(e,n,s){return rj("serialize",e,n,s)}function pj(e){if(typeof e!=="boolean")throw Pa(e,aj);return e?"?1":"?0"}function gj(e){if(ArrayBuffer.isView(e)===!1)throw Pa(e,oj);return`:${AT(e)}:`}function M6(e){if(fj(e))throw Pa(e,cj);return e.toString()}function bj(e){return`@${M6(e.getTime()/1000)}`}function wj(e){let n=i9(e,3);if(Math.floor(Math.abs(n)).toString().length>12)throw Pa(e,lj);let s=n.toString();return s.includes(".")?s:`${s}.0`}function yj(e){if(uj.test(e))throw Pa(e,hj);return`"${e.replace(/\\/g,"\\\\").replace(/"/g,"\\\"")}"`}function vj(e){return e.description||e.toString().slice(7,-1)}function C3(e){let n=vj(e);if(/^([a-zA-Z*])([!#$%&'*+\-.^_`|~\w:/]*)$/.test(n)===!1)throw Pa(n,dj);return n}function h1(e){switch(typeof e){case"number":if(!ht(e))throw Pa(e,E3);if(Number.isInteger(e))return M6(e);return wj(e);case"string":return yj(e);case"symbol":return C3(e);case"boolean":return pj(e);case"object":if(e instanceof Date)return bj(e);if(e instanceof Uint8Array)return gj(e);if(e instanceof q6)return C3(e);default:throw Pa(e,E3)}}function u1(e){if(/^[a-z*][a-z0-9\-_.*]*$/.test(e)===!1)throw Pa(e,mj);return e}function X1(e){if(e==null)return"";return Object.entries(e).map(([n,s])=>{if(s===!0)return`;${u1(n)}`;return`;${u1(n)}=${h1(s)}`}).join("")}function F6(e){if(e instanceof Ji)return`${h1(e.value)}${X1(e.params)}`;else return h1(e)}function Sj(e){return`(${e.value.map(F6).join(" ")})${X1(e.params)}`}function kj(e,n={whitespace:!0}){if(typeof e!=="object"||e==null)throw Pa(e,sj);let s=e instanceof Map?e.entries():Object.entries(e),i=n!=null&&n.whitespace?" ":"";return Array.from(s).map(([r,a])=>{if(a instanceof Ji===!1)a=new Ji(a);let l=u1(r);if(a.value===!0)l+=X1(a.params);else if(l+="=",Array.isArray(a.value))l+=Sj(a);else l+=F6(a);return l}).join(`,${i}`)}function L6(e,n){return kj(e,n)}var xj=["url"],Aj=["version","eventTargets","sid","transmissionMode"],Tj=["customData","headers"],j3=(e)=>{if(e instanceof Ji)return new Ji(Math.round(e.value),e.params);return Math.round(e)},Pg=(e)=>{if(Array.isArray(e))return e.map(j3);return j3(e)},d1=(e,n)=>{if(Array.isArray(e))return e.map((s)=>d1(s,n));if(e instanceof Ji&&typeof e.value==="string")return new Ji(d1(e.value,n),e.params);else{if(n.baseUrl)e=jT(e,CT(n.baseUrl));return n.version===1?encodeURIComponent(e):e}},_3=(e)=>{if(e instanceof Ji)return new Ji(Math.round(e.value/100)*100,e.params);return Math.round(e/100)*100},Ld=(e)=>{if(Array.isArray(e))return e.map(_3);return _3(e)},Ej=(e,n)=>{let s=e;if(n.version>=2){if(e instanceof Ji&&typeof e.value==="string")s=new Ji([e]);else if(typeof e==="string")s=[e]}return d1(s,n)},Cj={br:Pg,d:Pg,bl:Ld,dl:Ld,mtp:Ld,nor:Ej,rtp:Ld,tb:Pg},Ih=2,O6="bc",jj="ps",P6="pr",_j="e",I3="t",Ij="c",N6="b",W1="rr",B6="ce",Nd={BITRATE_CHANGE:O6,ERROR:_j,RESPONSE_RECEIVED:W1,CUSTOM_EVENT:B6},H6=new Map([[jj,"sta"],[P6,"pr"],[Ij,"cid"],[N6,"bg"],[O6,"br"]]),K1="event",Y1="request",U6=["cen","e","h","ts"],z6=["ab","bg","bl","br","bs","bsa","bsd","bsda","cdn","cid","cs","d","dfa","dl","ec","lab","lb","ltc","msd","mtp","nor","nr","ot","pb","pr","pt","rtp","sf","sid","sn","st","sta","su","tab","tb","tbl","tpb","v"],Rj=/^[a-zA-Z0-9-.]+-[a-zA-Z0-9-.]+$/;function Q1(e){return Rj.test(e)}var Dj=new Set(z6);function G6(e){return Dj.has(e)||Q1(e)}var V6=["cmsdd","cmsds","rc","smrt","ttfb","ttfbb","ttlb","url"],qj=new Set(V6);function $6(e){return qj.has(e)}var Mj=new Set(U6);function Fj(e){return G6(e)||$6(e)||Mj.has(e)}var Lj=new Set(["ab","bl","br","bsa","bsd","bsda","lab","lb","mtp","pb","tab","tb","tbl","tpb"]),S0=["bl","br","bs","cid","d","dl","mtp","nor","nrr","ot","pr","rtp","sf","sid","st","su","tb","v"],Oj=new Set(S0);function Pj(e){return Oj.has(e)||Q1(e)}var Nj=new Set(["ot","sf","st","e","sta"]);function Bj(e){return Nj.has(e)}function Hj(e){if(typeof e==="number")return ht(e);return e!=null&&e!==""&&e!==!1}var Uj={[K1]:Fj,[Y1]:G6};function X6(e,n){if(Array.isArray(e)){let s;if(n)s=e.find((i)=>{var r;return((r=i.params)==null?void 0:r.ot)===n});if(!s)s=e[0];return X6(s)}if(e instanceof Ji)return e.value;return e}function zj(e){let n={};for(let[i,r]of Object.entries(e)){if(r==null){n[i]=r;continue}if(i==="nor"){let a=(Array.isArray(r)?r:[r])[0];if(a instanceof Ji){var s;if(n.nor=a.value,(s=a.params)!=null&&s.r)n.nrr=a.params.r}else n.nor=a}else if(Lj.has(i))n[i]=X6(r,e.ot);else n[i]=r}return n}function W6(e,n={}){let s={};if(e==null||typeof e!=="object")return s;let i=n.version||e.v||Ih,r=n.reportingMode||Y1,a=i===1?zj(e):e,l=i===1?Pj:Uj[r],c=Object.keys(a).filter(l);if(a.e&&a.e!==W1)c=c.filter((k)=>!$6(k));let f=n.filter;if(typeof f==="function")c=c.filter(f);let d=r===K1;if(d){let k=a.e;if(!c.includes("e")&&k!=null)c.push("e");if(!c.includes("ts"))c.push("ts");if(!c.includes("cen")&&a.cen!=null&&k===B6)c.push("cen");let A=k?H6.get(k):void 0;if(A&&a[A]!=null&&!c.includes(A))c.push(A)}if(c.length===0)return s;if(i>1&&!c.includes("v"))c.push("v");let b={version:i,reportingMode:r,baseUrl:n.baseUrl};c.sort();for(let k of c){var y,v;let A=a[k],T=(y=(v=n.formatters)==null?void 0:v[k])!=null?y:Cj[k];if(typeof T==="function")A=T(A,b);if(k==="v")if(i===1)continue;else A=i;if(k==="pr"&&A===1&&!(d&&a.e===P6))continue;if(d&&k==="ts"&&!ht(A))A=Date.now();let R=d&&A===!1&&k==="bg"&&a.e===N6;if(!Hj(A)&&!R)continue;if(Bj(k)&&typeof A==="string")A=new q6(A);s[k]=A}return s}var vo="CMCD-Object",Qi="CMCD-Request",Yc="CMCD-Session",ia="CMCD-Status",Gj={REQUEST:Qi},Vj={ab:vo,br:vo,d:vo,lab:vo,lb:vo,ot:vo,tab:vo,tb:vo,tpb:vo,bl:Qi,cs:Qi,dfa:Qi,dl:Qi,ltc:Qi,mtp:Qi,nor:Qi,nrr:Qi,pb:Qi,sn:Qi,sta:Qi,su:Qi,tbl:Qi,cid:Yc,msd:Yc,sf:Yc,sid:Yc,st:Yc,v:Yc,bg:ia,bs:ia,bsa:ia,bsd:ia,bsda:ia,cdn:ia,ec:ia,nr:ia,pr:ia,pt:ia,rtp:ia};function $j(e){return Object.keys(e).reduce((n,s)=>{var i;return(i=e[s])==null||i.forEach((r)=>n[r]=s),n},{})}function Xj(e,n){let s={};if(!e)return s;let i=Object.keys(e),r=n?$j(n):{};for(let l of i){var a;let c=Vj[l]||r[l]||Gj.REQUEST,f=(a=s[c])!=null?a:s[c]={};f[l]=e[l]}return s}function Wj(e,n){let s={},i=Xj(e,n);for(let[r,a]of Object.entries(i)){let l=L6(a,{whitespace:!1});if(l)s[r]=l}return s}var R3="CMCD";function K6(e){return L6(e,{whitespace:!1})}function Kj(e,n={}){if(!e)return"";return K6(W6(e,n))}var Yj=30,m1=[...S0,...z6,...V6,...U6].filter((e,n,s)=>s.indexOf(e)===n),Qj="application/cmcd",Jj=1,xi={MANIFEST:"m",AUDIO:"a",VIDEO:"v",MUXED:"av",INIT:"i",CAPTION:"c",TIMED_TEXT:"tt",KEY:"k",OTHER:"o"},ra={STARTING:"s",PLAYING:"p",SEEKING:"k",REBUFFERING:"r",PAUSED:"a",ENDED:"e",FATAL_ERROR:"f",PRELOADING:"d"},J1="query",Y6="headers";function D3(e,n,s){var i;let r=new Set((i=n.enabledKeys)!=null?i:[]);return{version:n.version||Ih,reportingMode:e,filter:(a)=>r.has(a),baseUrl:s}}function Zj(e,n){if(e===n)return!0;if(e.length!==n.length)return!1;for(let s=0;s<e.length;s++){let i=e[s],r=n[s];if(i===r)continue;if(typeof i==="number"||typeof r==="number")return!1;if(i.value!==r.value)return!1;let a=i.params,l=r.params,c=a&&Object.keys(a)[0],f=l&&Object.keys(l)[0];if(c!==f)return!1;if(c!==void 0&&f!==void 0&&a&&l&&a[c]!==l[f])return!1}return!0}var e_=Object.is,t_=(e)=>e,Q6=Array.from(H6,([e,n])=>{if(n==="br")return{event:e,field:n,equal:(s,i)=>s===void 0||i===void 0?s===i:Zj(s,i),snapshot:(s)=>s.slice()};return{event:e,field:n,equal:e_,snapshot:t_}}),n_=new Map(Q6.map((e)=>[e.event,e]));function s_(e){let{url:n}=e,s=d0(e,xj);return fetch(n,s)}function i_(e){let{version:n=Ih,eventTargets:s=[],sid:i=r9(),transmissionMode:r=J1}=e,a=d0(e,Aj);return qt(qt({},a),{},{version:n,transmissionMode:r,sid:i,eventTargets:s.reduce((l,c)=>{var f,d,b;if(c!=null&&c.url&&(f=c.events)!=null&&f.length)l.push({version:c.version||Ih,enabledKeys:((d=c.enabledKeys)==null?void 0:d.slice())||[],url:c.url,events:c.events.slice(),interval:(b=c.interval)!=null?b:Yj,batchSize:c.batchSize||1});return l},[])})}var r_=class{constructor(e,n=s_){var s;this.timeOrigin=performance.timeOrigin||((s=performance.timing)==null?void 0:s.fetchStart)||Date.now()-performance.now(),this.data={},this.msd=NaN,this.eventTargets=new Map,this.lastEmitted={},this.requestTarget={sn:0,msdSent:!1},this.config=i_(e),this.data={cid:this.config.cid,sid:this.config.sid,v:this.config.version},this.requester=n;for(let i of this.config.eventTargets)this.eventTargets.set(i,{intervalId:void 0,sn:0,msdSent:!1,queue:[]})}start(){this.eventTargets.forEach((e,n)=>{if(this.disarmInterval(e),n.interval===0||!n.events.includes(I3))return;let s=()=>{this.recordTargetEvent(e,n,I3),this.processEventTargets()};e.intervalId=setInterval(s,n.interval*1000),s()})}stop(e=!1){if(e)this.flush();this.eventTargets.forEach((n)=>{this.disarmInterval(n)})}flush(){this.processEventTargets(!0)}update(e){if(e.sid&&e.sid!==this.data.sid)this.resetSession();if(e.msd&&!isNaN(e.msd))this.msd=e.msd;this.data=qt(qt(qt({},this.data),e),{},{msd:void 0});for(let n of Q6)if(n.field in e&&!n.equal(this.data[n.field],this.lastEmitted[n.field]))this.recordEvent(n.event)}recordEvent(e,n={}){let s=n_.get(e);if(s){let i=s.field,r=n[i];if(r!==void 0)Un(this.data,{[i]:r});let a=this.data[i];if(a===void 0)return;if(s.equal(a,this.lastEmitted[i]))return;Un(this.lastEmitted,{[i]:s.snapshot(a)})}this.eventTargets.forEach((i,r)=>{this.recordTargetEvent(i,r,e,n)}),this.processEventTargets()}recordTargetEvent(e,n,s,i={}){var r;if(!n.events.includes(s))return;let a=qt(qt(qt({},this.data),i),{},{e:s,ts:(r=i.ts)!=null?r:Date.now(),sn:e.sn++});if(!isNaN(this.msd)&&!e.msdSent)a.msd=this.msd,e.msdSent=!0;e.queue.push(a)}recordResponseReceived(e,n={}){var s,i,r;let{request:a}=e,l=(s=n.url)!=null?s:a==null?void 0:a.url;if(!l)return;let c=new URL(l);c.searchParams.delete(R3);let f={url:c.toString(),rc:e.status},d=e.resourceTiming;if(d){if(d.startTime!=null){if(f.ts=Math.round(this.timeOrigin+d.startTime),d.responseStart!=null)f.ttfb=Math.round(d.responseStart-d.startTime)}if(d.duration!=null)f.ttlb=Math.round(d.duration)}let b=(i=(r=a.customData)==null?void 0:r.cmcd)!=null?i:{};this.recordEvent(W1,qt(qt(qt({},b),f),n))}applyRequestReport(e){var n;return(n=this.createRequestReport(e))!=null?n:e}isRequestReportingEnabled(){var e;return!!((e=this.config.enabledKeys)!=null&&e.length)}createRequestReport(e,n){var s;let{customData:i={},headers:r={}}=e,a=d0(e,Tj),l=qt(qt({},a),{},{headers:qt({},r),customData:qt(qt({},i),{},{cmcd:{}})});if(!((s=this.config.enabledKeys)!=null&&s.length)||!l.url)return l;let c=new URL(l.url),f=qt(qt(qt({},this.data),n),{},{sn:this.requestTarget.sn++}),d=D3(Y1,this.config,l.url);if(!isNaN(this.msd)&&!this.requestTarget.msdSent)f.msd=this.msd,this.requestTarget.msdSent=!0;let b=l.customData.cmcd=W6(f,d);switch(this.config.transmissionMode){case J1:let y=K6(b);if(y)c.searchParams.set(R3,y),l.url=c.toString();break;case Y6:Un(l.headers,Wj(b,d.customHeaderMap));break}return l}processEventTargets(e=!1){let n=!1;if(this.eventTargets.forEach((s,i)=>{let{queue:r}=s;if(!r.length)return;if(r.length<i.batchSize&&!e)return;let a=e?r.length:i.batchSize,l=r.splice(0,a);this.sendEventReport(i,l).catch(()=>{s.queue.unshift(...l)}),n||(n=r.length>0)}),n)this.processEventTargets()}async sendEventReport(e,n){let s=D3(K1,e),{status:i}=await this.requester({url:e.url,method:"POST",headers:{"Content-Type":Qj},body:n.map((r)=>Kj(r,s)).join(`
39
- `)+`
40
- `});if(i===410)this.disposeEventTarget(e);else if(i===429||i>499&&i<600)throw Error(`Event report failed with status ${i}`)}disarmInterval(e){clearInterval(e.intervalId),e.intervalId=void 0}disposeEventTarget(e){let n=this.eventTargets.get(e);if(!n)return;this.disarmInterval(n),this.eventTargets.delete(e)}resetSession(){this.eventTargets.forEach((e)=>e.sn=0),this.requestTarget.sn=0,this.lastEmitted={}}},a_={HLS:"h"},Ng={VOD:"v",LIVE:"l",LOW_LATENCY:"ll"};function o_(e,n){return new Ji(e,n)}new Set(S0);new Set(m1);var l_=["includeKeys"];function q3(e){return Object.keys(e).every(Q1)}class J6{constructor(e){this.hls=void 0,this.config=void 0,this.media=void 0,this.initialized=!1,this.starved=!1,this.buffering=!0,this.playerState=void 0,this.reporter=void 0,this.playheadLevel=void 0,this.onWaiting=()=>{if(this.initialized)this.starved=!0,this.setPlayerState(ra.REBUFFERING);this.buffering=!0},this.onPlay=()=>{if(!this.initialized)this.setPlayerState(ra.STARTING)},this.onPlaying=()=>{if(!this.initialized)this.initialized=!0;this.buffering=!1,this.setPlayerState(ra.PLAYING)},this.onPause=()=>{if(this.media&&!this.media.ended)this.setPlayerState(ra.PAUSED)},this.onSeeking=()=>{if(this.initialized)this.setPlayerState(ra.SEEKING)},this.onSeeked=()=>{var i;if(!this.initialized)return;if((i=this.media)!=null&&i.paused)this.setPlayerState(ra.PAUSED)},this.onRateChange=()=>{if(this.reporter&&this.media)this.reporter.update({pr:this.media.playbackRate})},this.applyPlaylistData=(i)=>{try{this.apply(i,{ot:xi.MANIFEST,su:!this.initialized})}catch(r){this.hls.logger.warn("Could not generate manifest CMCD data.",r)}},this.applyFragmentData=(i)=>{try{let{frag:l,part:c}=i,f=this.hls.levels[l.level],d=this.getObjectType(l,f),b={d:(c||l).duration*1000,ot:d};if(d===xi.VIDEO||d===xi.AUDIO||d===xi.MUXED||d==null&&(l.type==="main"||l.type==="audio")){var r;let v=f.bitrate/1000;b.br=[v];let{cmcd:k}=this.config,A=(r=k==null?void 0:k.rtpSafetyFactor)!=null?r:5;if(b.rtp=Math.round(v*A/100)*100,d===xi.MUXED||d==null&&l.type==="main"){let D=this.getTopBandwidth()/1000;if(ht(D))b.tb=[D];let U=this.getLowestBandwidth()/1000;if(ht(U))b.lb=[U]}let T=this.getBufferLength(l);if(ht(T)){var a;b.bl=[T];let D=((a=this.media)==null?void 0:a.playbackRate)||1;b.dl=Math.round(T/D/100)*100}if(this.playheadLevel)b.pb=[this.playheadLevel.bitrate/1000];let R=this.hls.maxAutoLevel;if(R>=0){let D=this.hls.levels[R];if(D)b.tpb=[D.bitrate/1000]}}let y=c?this.getNextPart(c):this.getNextFrag(l);if(y!=null&&y.url&&y.url!==l.url)if(y.byteRange.length>0)b.nor=[o_(y.url,{r:`${y.byteRange[0]}-${y.byteRange[1]}`})];else b.nor=[y.url];this.apply(i,b)}catch(l){this.hls.logger.warn("Could not generate segment CMCD data.",l)}},this.recordFragmentResponse=(i,r,a)=>{var l;let{cmcd:c}=this.config,f=c==null||(l=c.eventTargets)==null?void 0:l.some((d)=>{var b;return(b=d.events)==null?void 0:b.includes(Nd.RESPONSE_RECEIVED)});if(!this.reporter||!(a.loading.first>0)||!f)return;try{this.reporter.recordResponseReceived({request:{url:i},status:r.code,resourceTiming:{startTime:a.loading.start,responseStart:a.loading.first,duration:a.loading.end-a.loading.start,encodedBodySize:a.total}})}catch(d){this.hls.logger.warn("Could not record fragment response CMCD data.",d)}},this.hls=e;let n=this.config=e.config,{cmcd:s}=n;if(s!=null)n.pLoader=this.createPlaylistLoader(),n.fLoader=this.createFragmentLoader(),this.registerListeners()}createReporter(){var e,n;let{cmcd:s}=this.config;if(s==null)return;let i=s.version||Jj;if(this.reporter=new r_({sid:s.sessionId||this.hls.sessionId,cid:s.contentId,version:i,transmissionMode:s.useHeaders===!0?Y6:J1,enabledKeys:(e=s.includeKeys)!=null?e:[...i>=Ih?m1:S0],eventTargets:((n=s.eventTargets)!=null?n:[]).map((r)=>{let{includeKeys:a}=r,l=d0(r,l_);return qt(qt({},l),{},{enabledKeys:a!=null?a:m1})})},s.loader),this.reporter.update({sf:a_.HLS,sta:this.playerState}),s.reporterCallback){let r=this.reporter,a={updateCustomData:(l)=>{if(q3(l))r.update(l)},recordCustomEvent:(l,c={})=>{if(q3(c))r.recordEvent(Nd.CUSTOM_EVENT,qt({cen:l},c))}};s.reporterCallback(a)}this.reporter.start()}registerListeners(){let e=this.hls;e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(Z.MEDIA_DETACHED,this.onMediaDetached,this),e.on(Z.MEDIA_ENDED,this.onMediaEnded,this),e.on(Z.ERROR,this.onError,this),e.on(Z.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(Z.LEVEL_SWITCHED,this.onLevelSwitched,this),e.on(Z.BUFFER_APPENDED,this.onBufferInfoChange,this),e.on(Z.BUFFER_FLUSHED,this.onBufferInfoChange,this)}unregisterListeners(){let e=this.hls;e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(Z.MEDIA_DETACHED,this.onMediaDetached,this),e.off(Z.MEDIA_ENDED,this.onMediaEnded,this),e.off(Z.ERROR,this.onError,this),e.off(Z.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(Z.LEVEL_SWITCHED,this.onLevelSwitched,this),e.off(Z.BUFFER_APPENDED,this.onBufferInfoChange,this),e.off(Z.BUFFER_FLUSHED,this.onBufferInfoChange,this)}destroy(){if(this.unregisterListeners(),this.onMediaDetached(),this.reporter)this.reporter.stop(!0),this.reporter=void 0;this.hls=this.config=null,this.onWaiting=this.onPlay=this.onPlaying=this.onPause=null,this.onSeeking=this.onSeeked=this.onRateChange=this.media=null}onMediaAttaching(e,n){let s=this.media=n.media;this.setPlayerState(this.media.autoplay?ra.STARTING:ra.PRELOADING),Bn(s,"waiting",this.onWaiting),Bn(s,"play",this.onPlay),Bn(s,"playing",this.onPlaying),Bn(s,"pause",this.onPause),Bn(s,"seeking",this.onSeeking),Bn(s,"seeked",this.onSeeked),Bn(s,"ratechange",this.onRateChange)}onMediaDetached(){let e=this.media;if(!e)return;Pn(e,"waiting",this.onWaiting),Pn(e,"play",this.onPlay),Pn(e,"playing",this.onPlaying),Pn(e,"pause",this.onPause),Pn(e,"seeking",this.onSeeking),Pn(e,"seeked",this.onSeeked),Pn(e,"ratechange",this.onRateChange),this.media=null}onMediaEnded(e,n){this.setPlayerState(ra.ENDED)}onManifestLoading(e,n){if(this.initialized=!1,this.starved=!1,this.buffering=!0,this.reporter)this.reporter.stop(!0),this.reporter=void 0;if(this.createReporter(),!this.media)this.setPlayerState(ra.PRELOADING)}onError(e,n){if(n.fatal){if(this.setPlayerState(ra.FATAL_ERROR),this.reporter)this.reporter.recordEvent(Nd.ERROR,{ec:[n.details]})}}onLevelSwitching(e,n){var s;if(!this.reporter)return;let i={br:[n.bitrate/1000]},r=(s=n.details)==null?void 0:s.fragments[0];if(r)i.ot=this.getObjectType(r,n);this.reporter.recordEvent(Nd.BITRATE_CHANGE,i)}onLevelSwitched(e,n){let s=this.hls.levels[n.level];if(s)this.playheadLevel=s}setPlayerState(e){if(this.playerState=e,this.reporter)this.reporter.update({sta:e})}getStreamType(){let e=this.hls.latestLevelDetails;if(!e)return;if(!e.live)return Ng.VOD;if(!!e.partList&&e.canBlockReload)return Ng.LOW_LATENCY;return Ng.LIVE}apply(e,n={}){var s;if(!this.reporter)return;this.reporter.update({mtp:[this.hls.bandwidthEstimate/1000],pr:(s=this.media)==null?void 0:s.playbackRate,st:this.getStreamType()});let i=n.ot===xi.INIT||n.ot===xi.VIDEO||n.ot===xi.MUXED;if(this.starved&&i)n.bs=!0,n.su=!0,this.starved=!1;if(n.su==null)n.su=this.buffering;let r=this.reporter.createRequestReport({url:e.url,headers:e.headers},n);e.url=r.url,e.headers=r.headers}getNextFrag(e){var n;let s=(n=this.hls.levels[e.level])==null?void 0:n.details;if(s){let i=e.sn-s.startSN;return s.fragments[i+1]}return}getNextPart(e){var n;let{index:s,fragment:i}=e,r=(n=this.hls.levels[i.level])==null||(n=n.details)==null?void 0:n.partList;if(r){let{sn:a}=i;for(let l=r.length-1;l>=0;l--){let c=r[l];if(c.index===s&&c.fragment.sn===a)return r[l+1]}}return}getObjectType(e,n){let{type:s}=e;if(s==="subtitle")return xi.TIMED_TEXT;if(e.sn==="initSegment")return xi.INIT;if(s==="audio")return xi.AUDIO;if(s==="main"){if(e.hasStreams){let i=e.elementaryStreams;if(i.audiovideo)return xi.MUXED;if(i.video)return xi.VIDEO;if(i.audio)return xi.AUDIO}if(n){let{audioCodec:i,videoCodec:r}=n;if(!this.hls.audioTracks.length){if(i&&r)return xi.MUXED;if(i)return xi.AUDIO}if(r)return xi.VIDEO}}return}getTopBandwidth(){let e=0,n=this.hls,s=n.maxAutoLevel,i=s>-1?s+1:n.levels.length;return n.levels.slice(0,i).forEach((a)=>{if(a.bitrate>e)e=a.bitrate}),e>0?e:NaN}getLowestBandwidth(){let e=1/0,n=this.hls,s=n.maxAutoLevel,i=s>-1?s+1:n.levels.length;return n.levels.slice(0,i).forEach((a)=>{if(a.bitrate<e)e=a.bitrate}),ht(e)?e:NaN}getBufferLength(e){if(!this.media)return NaN;let n=e.type==="audio"?this.hls.audioForwardBufferInfo:this.hls.mainForwardBufferInfo;return n?n.len*1000:NaN}getEventBufferLength(){if(!this.media)return NaN;let e=this.hls.mainForwardBufferInfo,n=this.hls.audioForwardBufferInfo;if(e&&n)return Math.min(e.len,n.len)*1000;let s=e||n;return s?s.len*1000:NaN}onBufferInfoChange(e,n){if(!this.reporter)return;let s=this.getEventBufferLength();if(!ht(s))return;this.reporter.update({bl:[s]})}createPlaylistLoader(){let{pLoader:e}=this.config,n=this.applyPlaylistData,s=e||this.config.loader;return class{constructor(r){this.loader=void 0,this.loader=new s(r)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(r,a,l){n(r),this.loader.load(r,a,l)}}}createFragmentLoader(){let{fLoader:e}=this.config,n=this.applyFragmentData,s=this.recordFragmentResponse,i=e||this.config.loader;return class{constructor(a){this.loader=void 0,this.loader=new i(a)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(a,l,c){n(a);let{onSuccess:f}=c;this.loader.load(a,l,qt(qt({},c),{},{onSuccess:(d,b,y,v)=>{f(d,b,y,v),s(a.url,d,b)}}))}}}}var c_=300000;class Z6 extends Zi{constructor(e){super("content-steering",e.logger);this.hls=void 0,this.loader=null,this.uri=null,this.pathwayId=".",this._pathwayPriority=null,this.timeToLoad=300,this.reloadTimer=-1,this.updated=0,this.started=!1,this.enabled=!0,this.levels=null,this.audioTracks=null,this.subtitleTracks=null,this.penalizedPathways={},this.hls=e,this.registerListeners()}registerListeners(){let e=this.hls;e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(Z.MANIFEST_PARSED,this.onManifestParsed,this),e.on(Z.ERROR,this.onError,this)}unregisterListeners(){let e=this.hls;if(!e)return;e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(Z.MANIFEST_PARSED,this.onManifestParsed,this),e.off(Z.ERROR,this.onError,this)}pathways(){return(this.levels||[]).reduce((e,n)=>{if(e.indexOf(n.pathwayId)===-1)e.push(n.pathwayId);return e},[])}get pathwayPriority(){return this._pathwayPriority}set pathwayPriority(e){this.updatePathwayPriority(e)}startLoad(){if(this.started=!0,this.clearTimeout(),this.enabled&&this.uri){if(this.updated){let e=this.timeToLoad*1000-(performance.now()-this.updated);if(e>0){this.scheduleRefresh(this.uri,e);return}}this.loadSteeringManifest(this.uri)}}stopLoad(){if(this.started=!1,this.loader)this.loader.destroy(),this.loader=null;this.clearTimeout()}clearTimeout(){if(this.reloadTimer!==-1)self.clearTimeout(this.reloadTimer),this.reloadTimer=-1}destroy(){this.unregisterListeners(),this.stopLoad(),this.hls=null,this.levels=this.audioTracks=this.subtitleTracks=null}removeLevel(e){let n=this.levels;if(n)this.levels=n.filter((s)=>s!==e)}onManifestLoading(){this.stopLoad(),this.enabled=!0,this.timeToLoad=300,this.updated=0,this.uri=null,this.pathwayId=".",this.levels=this.audioTracks=this.subtitleTracks=null}onManifestLoaded(e,n){let{contentSteering:s}=n;if(s===null)return;if(this.pathwayId=s.pathwayId,this.uri=s.uri,this.started)this.startLoad()}onManifestParsed(e,n){this.audioTracks=n.audioTracks,this.subtitleTracks=n.subtitleTracks}onError(e,n){let{errorAction:s}=n;if((s==null?void 0:s.action)===gi.SendAlternateToPenaltyBox&&s.flags&pi.MoveAllAlternatesMatchingHost){let i=this.levels,r=this._pathwayPriority,a=this.pathwayId;if(n.context){let{groupId:l,pathwayId:c,type:f}=n.context;if(l&&i)a=this.getPathwayForGroupId(l,f,a);else if(c)a=c}if(!(a in this.penalizedPathways))this.penalizedPathways[a]=performance.now();if(!r&&i)r=this.pathways();if(r&&r.length>1){if(this.updatePathwayPriority(r),s.resolved=this.pathwayId!==a,!s.resolved&&(n.details!==Oe.BUFFER_APPEND_ERROR||n.fatal))this.warn(`Could not resolve ${n.details} ("${n.error.message}") with content-steering for Pathway: ${a} levels: ${i?i.length:i} priorities: ${us(r)} penalized: ${us(this.penalizedPathways)}`)}}}filterParsedLevels(e){this.levels=e;let n=this.getLevelsForPathway(this.pathwayId);if(n.length===0){let s=e[0].pathwayId;this.log(`No levels found in Pathway ${this.pathwayId}. Setting initial Pathway to "${s}"`),n=this.getLevelsForPathway(s),this.pathwayId=s}if(n.length!==e.length)this.log(`Found ${n.length}/${e.length} levels in Pathway "${this.pathwayId}"`);return n}getLevelsForPathway(e){if(this.levels===null)return[];return this.levels.filter((n)=>e===n.pathwayId)}updatePathwayPriority(e){this._pathwayPriority=e;let n,s=this.penalizedPathways,i=performance.now();Object.keys(s).forEach((r)=>{if(i-s[r]>c_)delete s[r]});for(let r=0;r<e.length;r++){let a=e[r];if(a in s)continue;if(a===this.pathwayId)return;let l=this.hls.nextLoadLevel,c=this.hls.levels[l];if(n=this.getLevelsForPathway(a),n.length>0){this.log(`Setting Pathway to "${a}"`),this.pathwayId=a,J9(n),this.hls.trigger(Z.LEVELS_UPDATED,{levels:n});let f=this.hls.levels[l];if(c&&f&&this.levels){if(f.attrs["STABLE-VARIANT-ID"]!==c.attrs["STABLE-VARIANT-ID"]&&f.bitrate!==c.bitrate)this.log(`Unstable Pathways change from bitrate ${c.bitrate} to ${f.bitrate}`);this.hls.nextLoadLevel=l}break}}}getPathwayForGroupId(e,n,s){let i=this.getLevelsForPathway(s).concat(this.levels||[]);for(let r=0;r<i.length;r++)if(n===un.AUDIO_TRACK&&i[r].hasAudioGroup(e)||n===un.SUBTITLE_TRACK&&i[r].hasSubtitleGroup(e))return i[r].pathwayId;return s}clonePathways(e){let n=this.levels;if(!n)return;let s={},i={};e.forEach((r)=>{let{ID:a,"BASE-ID":l,"URI-REPLACEMENT":c}=r;if(n.some((d)=>d.pathwayId===a))return;let f=this.getLevelsForPathway(l).map((d)=>{let b=new js(d.attrs);b["PATHWAY-ID"]=a;let y=b.AUDIO&&`${b.AUDIO}_clone_${a}`,v=b.SUBTITLES&&`${b.SUBTITLES}_clone_${a}`;if(y)s[b.AUDIO]=y,b.AUDIO=y;if(v)i[b.SUBTITLES]=v,b.SUBTITLES=v;let k=ev(d.uri,b["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",c),A=new rf({attrs:b,audioCodec:d.audioCodec,bitrate:d.bitrate,height:d.height,name:d.name,url:k,videoCodec:d.videoCodec,width:d.width});if(d.audioGroups)for(let T=1;T<d.audioGroups.length;T++)A.addGroupId("audio",`${d.audioGroups[T]}_clone_${a}`);if(d.subtitleGroups)for(let T=1;T<d.subtitleGroups.length;T++)A.addGroupId("text",`${d.subtitleGroups[T]}_clone_${a}`);return A});n.push(...f),M3(this.audioTracks,s,c,a),M3(this.subtitleTracks,i,c,a)})}loadSteeringManifest(e){let n=this.hls.config,s=n.loader;if(this.loader)this.loader.destroy();this.loader=new s(n);let i;try{i=new self.URL(e)}catch(d){this.enabled=!1,this.log(`Failed to parse Steering Manifest URI: ${e}`);return}if(i.protocol!=="data:"){let d=(this.hls.bandwidthEstimate||n.abrEwmaDefaultEstimate)|0;ol(i,"_HLS_pathway",this.pathwayId),ol(i,"_HLS_throughput",""+d)}let r={type:un.STEERING_MANIFEST,responseType:"json",url:i.href},a=n.steeringManifestLoadPolicy.default,l=a.errorRetry||a.timeoutRetry||{},c={loadPolicy:a,timeout:a.maxLoadTimeMs,maxRetry:l.maxNumRetry||0,retryDelay:l.retryDelayMs||0,maxRetryDelay:l.maxRetryDelayMs||0},f={onSuccess:(d,b,y,v)=>{this.log(`Loaded steering manifest: "${i}"`);let k=d.data;if((k==null?void 0:k.VERSION)!==1){this.log(`Steering VERSION ${k.VERSION} not supported!`);return}this.updated=performance.now(),this.timeToLoad=k.TTL;let{"RELOAD-URI":A,"PATHWAY-CLONES":T,"PATHWAY-PRIORITY":R}=k;if(A)try{this.uri=new self.URL(A,i).href}catch(U){this.enabled=!1,this.log(`Failed to parse Steering Manifest RELOAD-URI: ${A}`);return}if(this.scheduleRefresh(this.uri||y.url),T)this.clonePathways(T);let D={steeringManifest:k,url:i.toString()};if(this.hls.trigger(Z.STEERING_MANIFEST_LOADED,D),R)this.updatePathwayPriority(R)},onError:(d,b,y,v)=>{if(this.log(`Error loading steering manifest: ${d.code} ${d.text} (${b.url})`),this.stopLoad(),d.code===410){this.enabled=!1,this.log(`Steering manifest ${b.url} no longer available`);return}let k=this.timeToLoad*1000;if(d.code===429){let A=this.loader;if(typeof(A==null?void 0:A.getResponseHeader)==="function"){let T=A.getResponseHeader("Retry-After");if(T)k=parseFloat(T)*1000}this.log(`Steering manifest ${b.url} rate limited`);return}this.scheduleRefresh(this.uri||b.url,k)},onTimeout:(d,b,y)=>{this.log(`Timeout loading steering manifest (${b.url})`),this.scheduleRefresh(this.uri||b.url)}};this.log(`Requesting steering manifest: ${i}`),this.loader.load(r,c,f)}scheduleRefresh(e,n=this.timeToLoad*1000){this.clearTimeout(),this.reloadTimer=self.setTimeout(()=>{var s;let i=(s=this.hls)==null?void 0:s.media;if(i&&!i.ended){this.loadSteeringManifest(e);return}this.scheduleRefresh(e,this.timeToLoad*1000)},n)}}function M3(e,n,s,i){if(!e)return;Object.keys(n).forEach((r)=>{let a=e.filter((l)=>l.groupId===r).map((l)=>{let c=Un({},l);return c.details=void 0,c.attrs=new js(c.attrs),c.url=c.attrs.URI=ev(l.url,l.attrs["STABLE-RENDITION-ID"],"PER-RENDITION-URIS",s),c.groupId=c.attrs["GROUP-ID"]=n[r],c.attrs["PATHWAY-ID"]=i,c});e.push(...a)})}function ev(e,n,s,i){if(n){let{[s]:c}=i;if(c){let f=c[n];if(f)return f}}let{HOST:r,PARAMS:a}=i,l=new self.URL(e);if(r)l.hostname=r;if(a)Object.keys(a).sort().forEach((c)=>{if(c)ol(l,c,a[c])});return l.href}class tv{constructor(){this.status="initialized",this.requestErrors=[],this.licenseXhr=void 0,this.onmessage=void 0,this.onkeystatuseschange=void 0,this.emitter=new N1,this.error=void 0,this.ok=void 0}get errored(){return this.error}set errored(e){if(this.error=e,this.emitter.eventNames().length)this.emitter.emit("error",e)}get hasListeners(){return this.emitter.eventNames().length>0}get resolved(){return this.ok}resolve(){this.ok=!0,this.emitter.emit("resolved")}get useable(){if(this.ok)return Promise.resolve();if(this.error)return Promise.reject(this.error);return new Promise((e,n)=>{this.emitter.on("error",n),this.emitter.on("resolved",e)})}reset(){this.emitter.removeAllListeners();let e=this.licenseXhr;if(e){if(e.readyState!==XMLHttpRequest.DONE)e.abort();this.licenseXhr=void 0}this.onmessage=this.onkeystatuseschange=void 0}}class Dr extends Error{constructor(e,n){super(n);this.data=void 0,e.error||(e.error=Error(n)),this.data=e,e.err=e.error}}class nf extends Zi{constructor(e){super("eme",e.logger);this.hls=void 0,this.config=void 0,this.media=null,this.mediaResolved=void 0,this.keyFormatPromise=null,this.keySystemAccessPromises={},this.sessionSetupByUri={},this.mediaKeySessions=[],this.activeKeys={},this.mediaKeys=null,this.setMediaKeysQueue=nf.CDMCleanupPromise?[nf.CDMCleanupPromise]:[],this.onMediaEncrypted=(n)=>{let{initDataType:s,initData:i}=n,r=`"${n.type}" event: init data type: "${s}"`;if(this.log(r),i===null)return;if(!this.keyFormatPromise){let a=Object.keys(this.keySystemAccessPromises);if(!a.length)a=oh(this.config);let l=a.map(Ig).filter((c)=>!!c);this.keyFormatPromise=this.getKeyFormatPromise(l)}this.keyFormatPromise.then((a)=>{let l,c=qd(a),f=this.activeLevelKeys();if(c===ys.FAIRPLAY&&s==="sinf")try{let k=ca(new Uint8Array(i)),A=_1(JSON.parse(k).sinf),T=g9(A);if(!T)throw Error("'schm' box missing or not cbcs/cenc with schi > tenc");l=new Uint8Array(T.subarray(8,24))}catch(k){this.warn(`${r} Failed to parse sinf: ${k}`);return}else if(c===ys.PLAYREADY)l=O1(new Uint8Array(i));else if(c===ys.WIDEVINE){let k=v9(i).filter((A)=>A.systemId===G9.WIDEVINE);if(k.length){var d;let A=k[0];l=(d=A.kids)!=null&&d.length?A.kids[0]:null}}let b;if(l){let k=ri(l);for(let A=0;A<f.length;A++){let T=f[A];if(T.keyId&&(s0(l,T.keyId)||T.uri.replace(/-/g,"").indexOf(k)!==-1)){if(!T.pssh)T.scheme=s,T.pssh=new Uint8Array(i),T.keyId=l,ko.setKeyIdForUri(T.uri,l);b=this.getSessionForKey(T,"encrypted-event-key-match");break}}}if(!b){if(f.length){var y,v;return(y=f[0]).scheme||(y.scheme=s),(v=f[0]).pssh||(v.pssh=new Uint8Array(i)),this.getSessionForKey(f[0],"encrypted-event-no-match")}if(l)throw Error(`Key ID ${ri(l)} not encountered in playlist`);else this.log(`Ignoring "${n.type}" event - could not determine keyId`)}return b}).catch((a)=>this.handleError(a))},this.onWaitingForKey=(n)=>{this.log(`"${n.type}" event`)},this.hls=e,this.config=e.config,this.registerListeners()}destroy(){this.onDestroying(),this.onMediaDetached();let e=this.config;e.requestMediaKeySystemAccessFunc=null,e.licenseXhrSetup=e.licenseResponseCallback=void 0,e.drmSystems=e.drmSystemOptions={},this.hls=this.config=null,this.onMediaEncrypted=this.onWaitingForKey=null}registerListeners(){let{hls:e}=this;if(e)e.on(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(Z.MEDIA_DETACHED,this.onMediaDetached,this),e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(Z.DESTROYING,this.onDestroying,this)}unregisterListeners(){let{hls:e}=this;if(e)e.off(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(Z.MEDIA_DETACHED,this.onMediaDetached,this),e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(Z.DESTROYING,this.onDestroying,this)}attemptKeySystemAccess(e){if(!this.hls)return Promise.reject(Error("destroyed"));let n=this.hls.levels,s=(a,l,c)=>!!a&&c.indexOf(a)===l,i=n.map((a)=>a.audioCodec).filter(s),r=n.map((a)=>a.videoCodec).filter(s);if(i.length+r.length===0)r.push("avc1.42e01e");return new Promise((a,l)=>{let c=(f)=>{let d=f.shift();this.getMediaKeysPromise(d,i,r).then((b)=>a({keySystem:d,mediaKeys:b})).catch((b)=>{if(f.length)c(f);else if(b instanceof Dr)l(b);else l(new Dr({type:Dt.KEY_SYSTEM_ERROR,details:Oe.KEY_SYSTEM_NO_ACCESS,error:b,fatal:!0},b.message))})};c(e)})}requestMediaKeySystemAccess(e,n){let{requestMediaKeySystemAccessFunc:s}=this.config;if(typeof s!=="function"){let i=`Configured requestMediaKeySystemAccess is not a function ${s}`;if(V9===null&&self.location.protocol==="http:")i=`navigator.requestMediaKeySystemAccess is not available over insecure protocol ${location.protocol}`;return Promise.reject(Error(i))}return s(e,n)}getMediaKeysPromise(e,n,s){var i;let r=KE(e,n,s,this.config.drmSystemOptions||{}),a=this.keySystemAccessPromises[e],l=(i=a)==null?void 0:i.keySystemAccess;if(!l){this.log(`Requesting encrypted media "${e}" key-system access with config: ${us(r)}`),l=this.requestMediaKeySystemAccess(e,r);let c=a=this.keySystemAccessPromises[e]={keySystemAccess:l};return l.catch((f)=>{this.log(`Failed to obtain access to key-system "${e}": ${f}`)}),l.then((f)=>{this.throwIfDestroyed(),this.log(`Access for key-system "${f.keySystem}" obtained`);let d=this.fetchServerCertificate(e);this.log(`Create media-keys for "${e}"`);let b=c.mediaKeys=f.createMediaKeys().then((y)=>(this.log(`Media-keys created for "${e}"`),c.hasMediaKeys=!0,d.then((v)=>{if(v)return this.setMediaKeysServerCertificate(y,e,v);return y})));return b.catch((y)=>{this.error(`Failed to create media-keys for "${e}"}: ${y}`)}),b})}return l.then(()=>a.mediaKeys)}getMediaKeySessionContext(e,n,s,i){let{mediaKeySessions:r}=this,a=` key-session "${e}" keyId: ${ri(s.keyId||[])} keyUri: ${s.uri} for "${i}"`;for(let f=0;f<r.length;f++){let d=r[f];if(!d.initialized&&d.createdFor.levelKey.uri===s.uri)return this.log(`Reusing${a}`),d}this.log(`Creating${a}`);let l=n.createSession(),c={keySystem:e,mediaKeys:n,mediaKeysSession:l,keyRequests:{},keyStatuses:{},createdFor:{levelKey:s,reason:i},initialized:!1};return r.push(c),c}resetMediaKeys(){var e;let n=(e=this.mediaKeySessions[0])==null?void 0:e.keySystem,s=this.keySystemAccessPromises[n];if(s)this.log("reset mediaKeys"),this.mediaKeys=null,s.hasMediaKeys=!1,delete s.mediaKeys,delete this.keySystemAccessPromises[n]}updateKeySession(e,n,s){let i=e.mediaKeysSession;return this.log(`Updating key-session "${i.sessionId}" for keyId ${ri(n.keyId||[])}
41
- } (data length: ${s.byteLength})`),i.update(s)}getSelectedKeySystemFormats(){return Object.keys(this.keySystemAccessPromises).map((e)=>({keySystem:e,hasMediaKeys:this.keySystemAccessPromises[e].hasMediaKeys})).filter(({hasMediaKeys:e})=>!!e).map(({keySystem:e})=>Ig(e)).filter((e)=>!!e)}getKeySystemAccess(e){return this.getKeySystemSelectionPromise(e).then(({keySystem:n,mediaKeys:s})=>this.attemptSetMediaKeys(n,s))}selectKeySystem(e){return this.getKeySystemSelectionPromise(e).then(({keySystem:n})=>{let s=Ig(n);if(!s)throw Error(`Unable to find format for key-system "${n}"`);return s})}selectKeySystemFormat(e){let n=Object.keys(e.levelkeys||{});if(!this.keyFormatPromise)this.log(`Selecting key-system from fragment (sn: ${e.sn} ${e.type}: ${e.level}) key formats ${n.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(n);return this.keyFormatPromise}getKeyFormatPromise(e){let n=oh(this.config),s=e.map(qd).filter((i)=>!!i&&n.indexOf(i)!==-1);return this.selectKeySystem(s)}loadClear(e,n,s){if(this.config.emeEnabled&&!this.getSelectedKeySystemFormats().length){if(n.length)for(let i=0,r=n.length;i<r;i++){let a=n[i];if(e.cc<=a.cc&&(!Ps(e)||!Ps(a)||e.sn<a.sn)||!s&&i==r-1)return this.selectKeySystemFormat(a).then((l)=>{if(!this.hls)return;a.setKeyFormat(l);let c=qd(l);if(c)return this.getKeySystemAccess([c])})}if(this.config.requireKeySystemAccessOnStart){let i=oh(this.config);if(i.length)return this.getKeySystemAccess(i)}}return null}getKeyStatus(e){let{mediaKeySessions:n}=this;for(let s=0;s<n.length;s++){let i=Bg(e,n[s]);if(i)return i}return}loadKey(e){let n=e.decryptdata,s=this.getKeyStatus(n);if(s==="internal-error"){let l=F3(s,n);return l.data.frag=e,this.error(`${l.message} (${ri(n.keyId||[])})`),Promise.reject(l)}let i=e.type,r=this.activeKeys,a=r[i];if(a&&!n.matches(a.decryptdata))r.previous||(r.previous=[]),r.previous.push(a),delete r[i];r[i]||(r[i]=e);for(let l=this.mediaKeySessions.length;l--;){let c=this.mediaKeySessions[l];if(n.keyId&&c.keyStatuses[ri(n.keyId)]==="expired")return this.renewKeySession(n,c)}return this.updateUsablePromise(n,"playlist-key",e)}renewKeySession(e,n){return this.resetMediaKeys(),this.removeSession(n).then(()=>(this.throwIfDestroyed(),this.updateUsablePromise(e,"expired")))}updateUsablePromise(e,n,s){let i=this.getSessionForKey(e,n);return i.catch((r)=>this.handleError(r,s)),i.then((r)=>e)}getSessionForKey(e,n){let s=this.findContextForKey(e);if(s!==void 0)return Promise.resolve(s);let i=e.uri,r=this.sessionSetupByUri[i],a;if(r===void 0)a=this.resolveSessionForKey(e,n);else a=r.catch(()=>{return}).then(()=>(this.throwIfDestroyed(),this.resolveSessionForKey(e,n)));this.sessionSetupByUri[i]=a;let l=()=>{if(this.sessionSetupByUri[i]===a)delete this.sessionSetupByUri[i]};return a.then(l,l),a}findContextForKey(e){let{mediaKeySessions:n}=this;for(let s=n.length;s--;){let i=n[s];if(Bg(e,i))return i}return}resolveSessionForKey(e,n){return this.getKeySystemForKeyPromise(e).then(({keySystem:s,mediaKeys:i})=>{this.throwIfDestroyed();for(let r=this.mediaKeySessions.length;r--;){let a=this.mediaKeySessions[r];if(Bg(e,a))return a;let l=this.getUsableKeyPromise(a,e,n);if(l)return l}return this.attemptSetMediaKeys(s,i).then(()=>(this.throwIfDestroyed(),this.getMediaKeySessionContext(s,i,e,n))).then((r)=>{this.throwIfDestroyed();let a=e.scheme||"cenc",l=e.pssh?e.pssh.buffer:null;return this.generateRequestWithPreferredKeySession(r,e,a,l,n)})})}getUsableKeyPromise(e,n,s){let i=e.keyRequests[n.uri];if(i)return this.log(`Waiting for usable key (${s} keyId: ${u_(n)} format: "${n.keyFormat}" URI: ${n.uri})`),i.useable.then(()=>e)}throwIfDestroyed(e="Invalid state"){if(!this.hls)throw Error("invalid state")}handleError(e,n){if(!this.hls)return;if(e instanceof Dr){if(n)e.data.frag=n;let s=e.data.decryptdata;this.error(`${e.message}${s?` (${ri(s.keyId||[])})`:""}`),this.hls.trigger(Z.ERROR,e.data)}else this.error(e.message),this.hls.trigger(Z.ERROR,{type:Dt.KEY_SYSTEM_ERROR,details:Oe.KEY_SYSTEM_NO_KEYS,error:e,fatal:!0})}getKeySystemForKeyPromise(e){let n=qd(e.keyFormat),s=n?[n]:oh(this.config);return this.attemptKeySystemAccess(s)}getKeySystemSelectionPromise(e){if(!e.length)e=oh(this.config);if(e.length===0)throw new Dr({type:Dt.KEY_SYSTEM_ERROR,details:Oe.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},`Missing key-system license configuration options ${us({drmSystems:this.config.drmSystems})}`);return this.attemptKeySystemAccess(e)}activeLevelKeys(){let e=this.activeKeys,n=(e.previous||[]).map((s)=>s.decryptdata);return e.audio&&n.unshift(e.audio.decryptdata),e.main&&n.unshift(e.main.decryptdata),n}attemptSetMediaKeys(e,n){if(this.mediaResolved=void 0,this.mediaKeys===n)return Promise.resolve();let s=this.setMediaKeysQueue.slice();this.log(`Setting media-keys for "${e}"`);let i=Promise.all(s).then(()=>{if(!this.media)return new Promise((r,a)=>{this.mediaResolved=()=>{if(this.mediaResolved=void 0,!this.media)return a(Error("Attempted to set mediaKeys without media element attached"));this.mediaKeys=n,this.media.setMediaKeys(n).then(r).catch(a)}});return this.media.setMediaKeys(n)});return this.mediaKeys=n,this.setMediaKeysQueue.push(i),i.then(()=>{this.log(`Media-keys set for "${e}"`),s.push(i),this.setMediaKeysQueue=this.setMediaKeysQueue.filter((r)=>s.indexOf(r)===-1)})}filterInitData(e,n,s,i,r){var a;let l=(a=this.config.drmSystems)==null||(a=a[e.keySystem])==null?void 0:a.generateRequest;if(l)try{let f=l.call(this.hls,s,i,Un({},e,{decryptdata:n,reason:r}),r);if(!f)throw Error("Invalid response from configured generateRequest filter");n.scheme=f.initDataType?f.initDataType:"cenc";let d=f.initData?f.initData:null;return n.pssh=d?new Uint8Array(d):null,f}catch(f){var c;if(this.warn(f.message),(c=this.hls)!=null&&c.config.debug)throw f}return{initDataType:s,initData:i}}generateRequestWithPreferredKeySession(e,n,s,i,r){let a=this.getUsableKeyPromise(e,n,r);if(a)return a;let l=this.filterInitData(e,n,s,i,r);if(l)i=l.initData?l.initData:null,s=l.initDataType;if(i===null)if(r.startsWith("encrypted-event"))return Promise.reject(Error(`missing initialization data for "${r}"`));else return this.log(`Skipping key-session request for "${r}" (no initData)`),Promise.resolve(e);let c=n.uri,f=new tv;e.keyRequests[c]=f;let d=(y)=>{let v=e.mediaKeysSession;if(!v){let T=Error("invalid state");f.errored=T;return}let{messageType:k,message:A}=y;if(f.status=k,this.log(`"${k}" message event for session "${v.sessionId}" message size: ${A.byteLength}`),k==="license-request"||k==="license-renewal")this.renewLicense(e,n,A).catch((T)=>{if(f.errored=T,!f.hasListeners)this.handleError(T);this.removeSession(e)});else if(k==="license-release"){if(e.keySystem===ys.FAIRPLAY)this.updateKeySession(e,n,a1("acknowledged")).then(()=>this.removeSession(e)).catch((T)=>this.handleError(T))}else this.warn(`unhandled media key message type "${k}"`)};f.onmessage=d,Bn(e.mediaKeysSession,"message",d);let b=!1;return this.generateRequest(e,n,s,i,r,b)}generateRequest(e,n,s,i,r,a){if(a){let v=this.filterInitData(e,n,s,i,r);if(v)i=v.initData?v.initData:i,s=v.initDataType}let l=n.uri,c=e.keyRequests[l],f=ri(n.keyId||[]),d=(v)=>{let k;if(v.startsWith("usable"))c.resolve();else if(v==="internal-error"||v==="output-restricted"||v==="output-downscaled")k=F3(v,n);else if(v==="expired")k=Error(`key expired (keyId: ${f})`);else if(v==="released")k=Error("key released");else if(v==="status-pending");else this.warn(`unhandled key status change "${v}" (keyId: ${f})`);if(k){if(c.errored=k,!c.hasListeners)this.handleError(k)}},b=(v)=>{if(!e.mediaKeysSession){let X=Error("invalid state");c.errored=X;return}let A=e.keyStatuses=this.getKeyStatuses(e);if(!Object.keys(A).some((X)=>A[X]!=="status-pending"))return;let R=this.activeLevelKeys();for(let X=0;X<R.length;X++){let J=ri(R[X].keyId||[]);if(A[J]==="expired"){var D;this.log(`Expired key ${us(A)} in key-session "${(D=e.mediaKeysSession)==null?void 0:D.sessionId}"`),this.renewKeySession(n,e).catch((ee)=>this.handleError(ee));break}}let U=A[f];if(U)d(U);else{var Y;let X=1000;e.keyStatusTimeouts||(e.keyStatusTimeouts={}),(Y=e.keyStatusTimeouts)[f]||(Y[f]=self.setTimeout(()=>{var J;if(!e.mediaKeysSession)return;let ee=this.getKeyStatus(n);if(ee&&ee!=="status-pending"){var te;return this.log(`No status for keyId ${f} in key-session "${(te=e.mediaKeysSession)==null?void 0:te.sessionId}". Using session key-status ${ee} from other session.`),d(ee)}this.log(`key status for ${f} in key-session "${(J=e.mediaKeysSession)==null?void 0:J.sessionId}" timed out after 1000ms`),U="internal-error",d(U)},1000)),this.log(`No status for keyId ${f} (${us(A)}).`)}};c.onkeystatuseschange=b,Bn(e.mediaKeysSession,"keystatuseschange",b);let y=c.useable;return this.log(`Generating key-session request for "${r}" keyId: ${f} URI: ${l} (init data type: ${s} length: ${i.byteLength})`),c.status="started",e.initialized=!0,e.mediaKeysSession.generateRequest(s,i).then(()=>{var v;c.status="generated",this.log(`Request generated for key-session "${(v=e.mediaKeysSession)==null?void 0:v.sessionId}" keyId: ${f} URI: ${l}`)}).catch((v)=>{throw this.log(`mediaKeysSession.generateRequest failed: ${v}`),new Dr({type:Dt.KEY_SYSTEM_ERROR,details:Oe.KEY_SYSTEM_NO_SESSION,error:v,decryptdata:n,fatal:!1},`Error generating key-session request: ${v}`)}).then(()=>y).catch((v)=>{var k;this.log(`mediaKeysSession.generateRequest failed: ${v}`);let A=(k=v.data)==null?void 0:k.details;if((A===Oe.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED||A===Oe.KEY_SYSTEM_STATUS_INTERNAL_ERROR)&&Object.keys(e.keyStatuses).some((T)=>e.keyStatuses[T]==="usable"))return this.handleError(v),e;return this.removeSession(e).then(()=>{throw v})}).then(()=>e)}getKeyStatuses(e){let n={},s=e.mediaKeysSession.sessionId;return e.mediaKeysSession.keyStatuses.forEach((i,r)=>{if(typeof r==="string"&&typeof i==="object"){let c=r;r=i,i=c}let a="buffer"in r?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):new Uint8Array(r);if(e.keySystem===ys.PLAYREADY&&a.length===16){let c=ri(a);n[c]=i,U9(a)}let l=ri(a);this.log(`key status change "${i}" for keyStatuses keyId: ${l} key-session "${s}"`),n[l]=i}),n}fetchServerCertificate(e){let n=this.config,i=new n.loader(n),r=h_(e,n);if(!r)return this.log(`No Server Certificate in config.drmSystems["${e}"]`),Promise.resolve();return this.log(`Fetching server certificate for "${e}"`),new Promise((a,l)=>{let c={type:un.SERVER_CERTIFICATE,responseType:"arraybuffer",url:r},f=n.certLoadPolicy.default,d={loadPolicy:f,timeout:f.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},b={onSuccess:(y,v,k,A)=>{a(y.data)},onError:(y,v,k,A)=>{l(new Dr({type:Dt.KEY_SYSTEM_ERROR,details:Oe.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:k,response:qt({url:c.url,data:void 0},y)},`"${e}" certificate request failed (${r}). Status: ${y.code} (${y.text})`))},onTimeout:(y,v,k)=>{l(new Dr({type:Dt.KEY_SYSTEM_ERROR,details:Oe.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:k,response:{url:c.url,data:void 0}},`"${e}" certificate request timed out (${r})`))},onAbort:(y,v,k)=>{l(Error("aborted"))}};i.load(c,d,b)})}setMediaKeysServerCertificate(e,n,s){return new Promise((i,r)=>{e.setServerCertificate(s).then((a)=>{this.log(`setServerCertificate ${a?"success":"not supported by CDM"} (${s.byteLength}) on "${n}"`),i(e)}).catch((a)=>{r(new Dr({type:Dt.KEY_SYSTEM_ERROR,details:Oe.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:a,fatal:!0},a.message))})})}renewLicense(e,n,s){return this.requestLicense(e,n,new Uint8Array(s)).then((i)=>this.updateKeySession(e,n,new Uint8Array(i)).catch((r)=>{throw new Dr({type:Dt.KEY_SYSTEM_ERROR,details:Oe.KEY_SYSTEM_SESSION_UPDATE_FAILED,decryptdata:n,error:r,fatal:!1},r.message)}))}unpackPlayReadyKeyMessage(e,n){let s=ca(new Uint16Array(n.buffer));if(!s.includes("PlayReadyKeyMessage"))return e.setRequestHeader("Content-Type","text/xml; charset=utf-8"),n;let i=new DOMParser().parseFromString(s,"application/xml"),r=i.querySelectorAll("HttpHeader");if(r.length>0){let d;for(let b=0,y=r.length;b<y;b++){var a,l;d=r[b];let v=(a=d.querySelector("name"))==null?void 0:a.textContent,k=(l=d.querySelector("value"))==null?void 0:l.textContent;if(v&&k)e.setRequestHeader(v,k)}}let c=i.querySelector("Challenge"),f=c==null?void 0:c.textContent;if(!f)throw Error("Cannot find <Challenge> in key message");return a1(atob(f))}setupLicenseXHR(e,n,s,i,r){let a=this.config.licenseXhrSetup;if(!a)return e.open("POST",n,!0),Promise.resolve({xhr:e,licenseChallenge:r});return Promise.resolve().then(()=>(this.throwIfDestroyed(),a.call(this.hls,e,n,qt(qt({},s),{},{decryptdata:i}),r))).catch((l)=>{if(!s.mediaKeysSession)throw l;return e.open("POST",n,!0),a.call(this.hls,e,n,qt(qt({},s),{},{decryptdata:i}),r)}).then((l)=>{if(!e.readyState)e.open("POST",n,!0);return{xhr:e,licenseChallenge:l?l:r}})}requestLicense(e,n,s){return new Promise((i,r)=>{let a=f_(e.keySystem,this.config);if(!a)return r(Error(`no license server URL configured for key-system "${e.keySystem}"`));let l=e.keyRequests[n.uri];if(!l)return r(Error("License emitter removed"));this.log(`Sending license request to URL: ${a}`);let c=this.config.keyLoadPolicy.default,f=new XMLHttpRequest;if(f.responseType="arraybuffer",f.onreadystatechange=()=>{if(!this.hls||!e.mediaKeysSession)return r(Error("invalid state"));if(f.readyState===4)if(f.status===200){l.requestErrors=[];let d=f.response;this.log(`License received ${d instanceof ArrayBuffer?d.byteLength:d}`);let b=this.config.licenseResponseCallback;if(b)try{d=b.call(this.hls,f,a,qt(qt({},e),{},{decryptdata:n}))}catch(y){this.error(y)}i(d)}else{let d=c.errorRetry,b=d?d.maxNumRetry:0;if(l.requestErrors.push({status:f.status,message:f.statusText}),l.requestErrors.length>b||f.status>=400&&f.status<500)r(new Dr({type:Dt.KEY_SYSTEM_ERROR,details:Oe.KEY_SYSTEM_LICENSE_REQUEST_FAILED,decryptdata:n,fatal:!0,networkDetails:f,response:{url:a,data:void 0,code:f.status,text:f.statusText}},`License Request XHR failed (${a}). Status: ${f.status} (${f.statusText})`));else{let y=b-l.requestErrors.length;this.warn(`Retrying license request, ${y} attempts left`),this.requestLicense(e,n,s).then(i,r)}}},l.licenseXhr&&l.licenseXhr.readyState!==XMLHttpRequest.DONE)l.licenseXhr.abort();l.licenseXhr=f,this.setupLicenseXHR(f,a,e,n,s).then(({xhr:d,licenseChallenge:b})=>{if(e.keySystem==ys.PLAYREADY)b=this.unpackPlayReadyKeyMessage(d,b);d.send(b)}).catch(r)})}onDestroying(){this.unregisterListeners(),this._clear()}onMediaAttached(e,n){if(!this.config.emeEnabled)return;let s=n.media;this.media=s,Bn(s,"encrypted",this.onMediaEncrypted),Bn(s,"waitingforkey",this.onWaitingForKey);let i=this.mediaResolved;if(i)i();else this.mediaKeys=s.mediaKeys}onMediaDetached(){let e=this.media;if(e)Pn(e,"encrypted",this.onMediaEncrypted),Pn(e,"waitingforkey",this.onWaitingForKey),this.media=null,this.mediaKeys=null}_clear(){var e;this.keyFormatPromise=null,this.keySystemAccessPromises={},this.activeKeys={},this.sessionSetupByUri={};let n=this.mediaResolved;if(n)n();if(!this.mediaKeys&&!this.mediaKeySessions.length)return;let s=this.media,i=this.mediaKeySessions.slice();this.mediaKeySessions=[],this.mediaKeys=null,ko.clearKeyUriToKeyIdMap();let r=i.length;nf.CDMCleanupPromise=Promise.all(i.map((a)=>this.removeSession(a)).concat((s==null||(e=s.setMediaKeys(null))==null?void 0:e.catch((a)=>{if(this.log(`Could not clear media keys: ${a}`),!this.hls)return;this.hls.trigger(Z.ERROR,{type:Dt.OTHER_ERROR,details:Oe.KEY_SYSTEM_DESTROY_MEDIA_KEYS_ERROR,fatal:!1,error:Error(`Could not clear media keys: ${a}`)})}))||Promise.resolve())).catch((a)=>{if(this.log(`Could not close sessions and clear media keys: ${a}`),!this.hls)return;this.hls.trigger(Z.ERROR,{type:Dt.OTHER_ERROR,details:Oe.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR,fatal:!1,error:Error(`Could not close sessions and clear media keys: ${a}`)})}).then(()=>{if(r)this.log("finished closing key sessions and clearing media keys")})}onManifestLoading(){this._clear(),this.keyFormatPromise=null}onManifestLoaded(e,{sessionKeys:n}){if(!n||!this.config.emeEnabled)return;if(!this.keyFormatPromise){let s=n.reduce((i,r)=>{if(i.indexOf(r.keyFormat)===-1)i.push(r.keyFormat);return i},[]);this.log(`Selecting key-system from session-keys ${s.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(s),this.keyFormatPromise.catch(()=>{})}}removeSession(e){let{mediaKeysSession:n}=e;if(n){this.log(`Remove licenses and keys and close session "${n.sessionId}"`),Object.keys(e.keyRequests).forEach((l)=>{let c=e.keyRequests[l];if(c.onmessage)n.removeEventListener("message",c.onmessage);if(c.onkeystatuseschange)n.removeEventListener("keystatuseschange",c.onkeystatuseschange);c.reset(),e.keyRequests[l]=void 0}),e.mediaKeysSession=void 0;let s=this.mediaKeySessions.indexOf(e);if(s>-1)this.mediaKeySessions.splice(s,1);let{keyStatusTimeouts:i}=e;if(i)Object.keys(i).forEach((l)=>self.clearTimeout(i[l]));let{drmSystemOptions:r}=this.config;return(QE(r)?new Promise((l,c)=>{self.setTimeout(()=>c(Error("MediaKeySession.remove() timeout")),8000),n.remove().then(l).catch(c)}):Promise.resolve()).catch((l)=>{if(this.log(`Could not remove session: ${l}`),!this.hls)return;this.hls.trigger(Z.ERROR,{type:Dt.OTHER_ERROR,details:Oe.KEY_SYSTEM_DESTROY_REMOVE_SESSION_ERROR,fatal:!1,error:Error(`Could not remove session: ${l}`)})}).then(()=>n.close()).then(()=>n.closed).catch((l)=>{if(this.log(`Could not close session: ${l}`),!this.hls)return;this.hls.trigger(Z.ERROR,{type:Dt.OTHER_ERROR,details:Oe.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR,fatal:!1,error:Error(`Could not close session: ${l}`)})})}return Promise.resolve()}}nf.CDMCleanupPromise=void 0;function f_(e,n){let{drmSystems:s,widevineLicenseUrl:i}=n,r=s==null?void 0:s[e];if(r)return r.licenseUrl;if(e===ys.WIDEVINE&&i)return i}function h_(e,n){let{drmSystems:s}=n,i=s==null?void 0:s[e];if(i)return i.serverCertificateUrl}function u_(e){if(e.keyFormat===Ai.FAIRPLAY)return e.uri;if(e.keyId===null)throw Error("keyId is null");return ri(e.keyId)}function Bg(e,n){let s=e.keyId,i=n.mediaKeysSession;if(s&&i){let r=n.mediaKeysSession.keyStatuses;if(r.size){if(r.has(s))return r.get(s);return n.keyStatuses[ri(s)]}}return}function F3(e,n){let s=e==="output-restricted",i=s?Oe.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:Oe.KEY_SYSTEM_STATUS_INTERNAL_ERROR;return new Dr({type:Dt.KEY_SYSTEM_ERROR,details:i,fatal:!1,decryptdata:n},s?"HDCP level output restricted":`key status changed to "${e}"`)}class nv{constructor(e){this.hls=void 0,this.isVideoPlaybackQualityAvailable=!1,this.timer=void 0,this.media=null,this.lastTime=void 0,this.lastDroppedFrames=0,this.lastDecodedFrames=0,this.streamController=void 0,this.hls=e,this.registerListeners()}setStreamController(e){this.streamController=e}registerListeners(){this.hls.on(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),this.hls.on(Z.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListeners(){this.hls.off(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),this.hls.off(Z.MEDIA_DETACHING,this.onMediaDetaching,this)}destroy(){if(this.timer)clearInterval(this.timer);this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null}onMediaAttaching(e,n){let s=this.hls.config;if(s.capLevelOnFPSDrop){let i=n.media instanceof self.HTMLVideoElement?n.media:null;if(this.media=i,i&&typeof i.getVideoPlaybackQuality==="function")this.isVideoPlaybackQualityAvailable=!0;self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),s.fpsDroppedMonitoringPeriod)}}onMediaDetaching(){this.media=null}checkFPS(e,n,s){let i=performance.now();if(n){if(this.lastTime){let r=i-this.lastTime,a=s-this.lastDroppedFrames,l=n-this.lastDecodedFrames,c=1000*a/r,f=this.hls;if(f.trigger(Z.FPS_DROP,{currentDropped:a,currentDecoded:l,totalDroppedFrames:s}),c>0){if(a>f.config.fpsDroppedMonitoringThreshold*l){let d=f.currentLevel;if(f.logger.warn("drop FPS ratio greater than max allowed value for currentLevel: "+d),d>0&&(f.autoLevelCapping===-1||f.autoLevelCapping>=d))d=d-1,f.trigger(Z.FPS_DROP_LEVEL_CAPPING,{level:d,droppedLevel:f.currentLevel}),f.autoLevelCapping=d,this.streamController.nextLevelSwitch()}}}this.lastTime=i,this.lastDroppedFrames=s,this.lastDecodedFrames=n}}checkFPSInterval(){let e=this.media;if(e)if(this.isVideoPlaybackQualityAvailable){let n=e.getVideoPlaybackQuality();this.checkFPS(e,n.totalVideoFrames,n.droppedVideoFrames)}else this.checkFPS(e,e.webkitDecodedFrameCount,e.webkitDroppedFrameCount)}}var Z1=function(){if(i0!=null&&i0.VTTCue)return self.VTTCue;let e=["","lr","rl"],n=["start","middle","end","left","right"];function s(c,f){if(typeof f!=="string")return!1;if(!Array.isArray(c))return!1;let d=f.toLowerCase();if(~c.indexOf(d))return d;return!1}function i(c){return s(e,c)}function r(c){return s(n,c)}function a(c,...f){let d=1;for(;d<arguments.length;d++){let b=arguments[d];for(let y in b)c[y]=b[y]}return c}function l(c,f,d){let b=this,y={enumerable:!0};b.hasBeenReset=!1;let v="",k=!1,A=c,T=f,R=d,D=null,U="",Y=!0,X="auto",J="start",ee=50,te="middle",ne=50,ie="middle";Object.defineProperty(b,"id",a({},y,{get:function(){return v},set:function(se){v=""+se}})),Object.defineProperty(b,"pauseOnExit",a({},y,{get:function(){return k},set:function(se){k=!!se}})),Object.defineProperty(b,"startTime",a({},y,{get:function(){return A},set:function(se){if(typeof se!=="number")throw TypeError("Start time must be set to a number.");A=se,this.hasBeenReset=!0}})),Object.defineProperty(b,"endTime",a({},y,{get:function(){return T},set:function(se){if(typeof se!=="number")throw TypeError("End time must be set to a number.");T=se,this.hasBeenReset=!0}})),Object.defineProperty(b,"text",a({},y,{get:function(){return R},set:function(se){R=""+se,this.hasBeenReset=!0}})),Object.defineProperty(b,"region",a({},y,{get:function(){return D},set:function(se){D=se,this.hasBeenReset=!0}})),Object.defineProperty(b,"vertical",a({},y,{get:function(){return U},set:function(se){let ae=i(se);if(ae===!1)throw SyntaxError("An invalid or illegal string was specified.");U=ae,this.hasBeenReset=!0}})),Object.defineProperty(b,"snapToLines",a({},y,{get:function(){return Y},set:function(se){Y=!!se,this.hasBeenReset=!0}})),Object.defineProperty(b,"line",a({},y,{get:function(){return X},set:function(se){if(typeof se!=="number"&&se!=="auto")throw SyntaxError("An invalid number or illegal string was specified.");X=se,this.hasBeenReset=!0}})),Object.defineProperty(b,"lineAlign",a({},y,{get:function(){return J},set:function(se){let ae=r(se);if(!ae)throw SyntaxError("An invalid or illegal string was specified.");J=ae,this.hasBeenReset=!0}})),Object.defineProperty(b,"position",a({},y,{get:function(){return ee},set:function(se){if(se<0||se>100)throw Error("Position must be between 0 and 100.");ee=se,this.hasBeenReset=!0}})),Object.defineProperty(b,"positionAlign",a({},y,{get:function(){return te},set:function(se){let ae=r(se);if(!ae)throw SyntaxError("An invalid or illegal string was specified.");te=ae,this.hasBeenReset=!0}})),Object.defineProperty(b,"size",a({},y,{get:function(){return ne},set:function(se){if(se<0||se>100)throw Error("Size must be between 0 and 100.");ne=se,this.hasBeenReset=!0}})),Object.defineProperty(b,"align",a({},y,{get:function(){return ie},set:function(se){let ae=r(se);if(!ae)throw SyntaxError("An invalid or illegal string was specified.");ie=ae,this.hasBeenReset=!0}})),b.displayState=void 0}return l.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text)},l}();class sv{decode(e,n){if(!e)return"";if(typeof e!=="string")throw Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(e))}}function iv(e){function n(i,r,a,l){return(i|0)*3600+(r|0)*60+(a|0)+parseFloat(l||0)}let s=e.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);if(!s)return null;if(parseFloat(s[2])>59)return n(s[2],s[3],0,s[4]);return n(s[1],s[2],s[3],s[4])}class rv{constructor(){this.values=Object.create(null)}set(e,n){if(!this.get(e)&&n!=="")this.values[e]=n}get(e,n,s){if(s)return this.has(e)?this.values[e]:n[s];return this.has(e)?this.values[e]:n}has(e){return e in this.values}alt(e,n,s){for(let i=0;i<s.length;++i)if(n===s[i]){this.set(e,n);break}}integer(e,n){if(/^-?\d+$/.test(n))this.set(e,parseInt(n,10))}percent(e,n){if(/^([\d]{1,3})(\.[\d]*)?%$/.test(n)){let s=parseFloat(n);if(s>=0&&s<=100)return this.set(e,s),!0}return!1}}function av(e,n,s,i){let r=i?e.split(i):[e];for(let a in r){if(typeof r[a]!=="string")continue;let l=r[a].split(s);if(l.length!==2)continue;let c=l[0],f=l[1];n(c,f)}}var p1=new Z1(0,0,""),Bd=p1.align==="middle"?"middle":"center";function d_(e,n,s){let i=e;function r(){let c=iv(e);if(c===null)throw Error("Malformed timestamp: "+i);return e=e.replace(/^[^\sa-zA-Z-]+/,""),c}function a(c,f){let d=new rv;av(c,function(v,k){let A;switch(v){case"region":for(let T=s.length-1;T>=0;T--)if(s[T].id===k){d.set(v,s[T].region);break}break;case"vertical":d.alt(v,k,["rl","lr"]);break;case"line":if(A=k.split(","),d.integer(v,A[0]),d.percent(v,A[0]))d.set("snapToLines",!1);if(d.alt(v,A[0],["auto"]),A.length===2)d.alt("lineAlign",A[1],["start",Bd,"end"]);break;case"position":if(A=k.split(","),d.percent(v,A[0]),A.length===2)d.alt("positionAlign",A[1],["start",Bd,"end","line-left","line-right","auto"]);break;case"size":d.percent(v,k);break;case"align":d.alt(v,k,["start",Bd,"end","left","right"]);break}},/:/,/\s/),f.region=d.get("region",null),f.vertical=d.get("vertical","");let b=d.get("line","auto");if(b==="auto"&&p1.line===-1)b=-1;f.line=b,f.lineAlign=d.get("lineAlign","start"),f.snapToLines=d.get("snapToLines",!0),f.size=d.get("size",100),f.align=d.get("align",Bd);let y=d.get("position","auto");if(y==="auto"&&p1.position===50)y=f.align==="start"||f.align==="left"?0:f.align==="end"||f.align==="right"?100:50;f.position=y}function l(){e=e.replace(/^\s+/,"")}if(l(),n.startTime=r(),l(),e.slice(0,3)!=="-->")throw Error("Malformed time stamp (time stamps must be separated by '-->'): "+i);e=e.slice(3),l(),n.endTime=r(),l(),a(e,n)}function ov(e){return e.replace(/<br(?: \/)?>/gi,`
42
- `)}class lv{constructor(){this.state="INITIAL",this.buffer="",this.decoder=new sv,this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0}parse(e){let n=this;if(e)n.buffer+=n.decoder.decode(e,{stream:!0});function s(){let r=n.buffer,a=0;r=ov(r);while(a<r.length&&r[a]!=="\r"&&r[a]!==`
43
- `)++a;let l=r.slice(0,a);if(r[a]==="\r")++a;if(r[a]===`
44
- `)++a;return n.buffer=r.slice(a),l}function i(r){av(r,function(a,l){},/:/)}try{let r="";if(n.state==="INITIAL"){if(!/\r\n|\n/.test(n.buffer))return this;r=s();let l=r.match(/^()?WEBVTT([ \t].*)?$/);if(!(l!=null&&l[0]))throw Error("Malformed WebVTT signature.");n.state="HEADER"}let a=!1;while(n.buffer){if(!/\r\n|\n/.test(n.buffer))return this;if(!a)r=s();else a=!1;switch(n.state){case"HEADER":if(/:/.test(r))i(r);else if(!r)n.state="ID";continue;case"NOTE":if(!r)n.state="ID";continue;case"ID":if(/^NOTE($|[ \t])/.test(r)){n.state="NOTE";break}if(!r)continue;if(n.cue=new Z1(0,0,""),n.state="CUE",r.indexOf("-->")===-1){n.cue.id=r;continue}case"CUE":if(!n.cue){n.state="BADCUE";continue}try{d_(r,n.cue,n.regionList)}catch(l){n.cue=null,n.state="BADCUE";continue}n.state="CUETEXT";continue;case"CUETEXT":{let l=r.indexOf("-->")!==-1;if(!r||l&&(a=!0)){if(n.oncue&&n.cue)n.oncue(n.cue);n.cue=null,n.state="ID";continue}if(n.cue===null)continue;if(n.cue.text)n.cue.text+=`
45
- `;n.cue.text+=r}continue;case"BADCUE":if(!r)n.state="ID"}}}catch(r){if(n.state==="CUETEXT"&&n.cue&&n.oncue)n.oncue(n.cue);n.cue=null,n.state=n.state==="INITIAL"?"BADWEBVTT":"BADCUE"}return this}flush(){let e=this;try{if(e.cue||e.state==="HEADER")e.buffer+=`
46
-
47
- `,e.parse();if(e.state==="INITIAL"||e.state==="BADWEBVTT")throw Error("Malformed WebVTT signature.")}catch(n){if(e.onparsingerror)e.onparsingerror(n)}if(e.onflush)e.onflush();return this}}function yh(e){let n=5381,s=e.length;while(s)n=n*33^e.charCodeAt(--s);return(n>>>0).toString()}var m_=/\r\n|\n\r|\n|\r/g,L3="Missing initPTS for VTT ",p_=function(n){let s=parseInt(n.slice(-3)),i=parseInt(n.slice(-6,-4)),r=parseInt(n.slice(-9,-7)),a=n.length>9?parseInt(n.substring(0,n.indexOf(":"))):0;if(!ht(s)||!ht(i)||!ht(r)||!ht(a))throw Error(`Malformed X-TIMESTAMP-MAP: Local:${n}`);return s+=1000*i,s+=60000*r,s+=3600000*a,s};function eb(e,n,s){return yh(e.toString())+yh(n.toString())+yh(s)}function g_(e,n,s,i,r,a,l){let c=new lv,f=br(new Uint8Array(e)).trim().replace(m_,`
48
- `).split(`
49
- `),d=[],b=n?GC(n.baseTime,n.timescale):0,y="00:00.000",v=0,k=0,A=!1,T,R=!0;c.oncue=function(D){let U=s[i],Y=s.ccOffset,X=(v-b)/90000;if(A){if(U!=null&&U.new)Y=s.ccOffset=U.start;if(X){if(!n){T=Error(L3+"MPEGTS");return}Y=X-s.presentationOffset}}else if(!n){T=Error(L3+"without X-TIMESTAMP-MAP");return}else Y=-n.baseTime/n.timescale;let J=D.endTime-D.startTime,ee=gr((D.startTime+Y-k)*90000,r*90000)/90000;D.startTime=Math.max(ee,0),D.endTime=Math.max(ee+J,0);let te=D.text.trim();if(D.text=decodeURIComponent(encodeURIComponent(te)),!D.id)D.id=eb(D.startTime,D.endTime,te);else if(i)D.id=`hlsjscc${i}_${D.id}`;if(D.endTime>0)d.push(D)},c.onparsingerror=function(D){T=D},c.onflush=function(){if(T){l(T);return}a(d)},f.forEach((D)=>{if(R){if(D.startsWith("X-TIMESTAMP-MAP=")){R=!1,A=!0,D.slice(16).split(",").forEach((U)=>{if(U.startsWith("LOCAL:"))y=U.slice(6);else if(U.startsWith("MPEGTS:"))v=parseInt(U.slice(7))});try{k=p_(y)/1000}catch(U){T=U}return}else if(D==="")R=!1}c.parse(D+`
50
- `)}),c.flush()}var g1="stpp.ttml.im1t",cv=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,fv=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,b_={left:"start",center:"center",right:"end",start:"start",end:"end"};function O3(e,n,s,i){let r=$t(new Uint8Array(e),["mdat"]);if(r.length===0){i(Error("Could not parse IMSC1 mdat"));return}let a=r.map((c)=>br(c)),l=zC(n.baseTime,1,n.timescale);try{a.forEach((c)=>s(w_(c,l)))}catch(c){i(c)}}function w_(e,n){let r=new DOMParser().parseFromString(e,"text/xml").getElementsByTagName("tt")[0];if(!r)throw Error("Invalid ttml");let a={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:1},l=Object.keys(a).reduce((y,v)=>(y[v]=r.getAttribute(`ttp:${v}`)||a[v],y),{});if(!r.getAttribute("ttp:tickRate")&&r.getAttribute("ttp:frameRate"))l.tickRate=Number(l.frameRate)*Number(l.subFrameRate);let c=r.getAttribute("xml:space")!=="preserve",f=P3(Hg(r,"styling","style")),d=P3(Hg(r,"layout","region")),b=Hg(r,"body","[begin]");return[].map.call(b,(y)=>{let v=hv(y,c);if(!v||!y.hasAttribute("begin"))return null;let k=zg(y.getAttribute("begin"),l),A=zg(y.getAttribute("dur"),l),T=zg(y.getAttribute("end"),l);if(k===null)throw N3(y);if(T===null){if(A===null)throw N3(y);T=k+A}let R=new Z1(k-n,T-n,v);R.id=eb(R.startTime,R.endTime,R.text);let D=d[y.getAttribute("region")],U=f[y.getAttribute("style")],Y=y_(D,U,f),{textAlign:X}=Y;if(X){let J=b_[X];if(J)R.lineAlign=J;R.align=X}return Un(R,Y),R}).filter((y)=>y!==null)}function Hg(e,n,s){let i=e.getElementsByTagName(n)[0];if(i)return[].slice.call(i.querySelectorAll(s));return[]}function P3(e){return e.reduce((n,s)=>{let i=s.getAttribute("xml:id");if(i)n[i]=s;return n},{})}function hv(e,n){return[].slice.call(e.childNodes).reduce((s,i,r)=>{var a;if(i.nodeName==="br"&&r)return s+`
51
- `;if((a=i.childNodes)!=null&&a.length)return hv(i,n);else if(n)return s+i.textContent.trim().replace(/\s+/g," ");return s+i.textContent},"")}function y_(e,n,s){let r=null,a=["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"],l=e!=null&&e.hasAttribute("style")?e.getAttribute("style"):null;if(l&&s.hasOwnProperty(l))r=s[l];return a.reduce((c,f)=>{let d=Ug(n,"http://www.w3.org/ns/ttml#styling",f)||Ug(e,"http://www.w3.org/ns/ttml#styling",f)||Ug(r,"http://www.w3.org/ns/ttml#styling",f);if(d)c[f]=d;return c},{})}function Ug(e,n,s){if(!e)return null;return e.hasAttributeNS(n,s)?e.getAttributeNS(n,s):null}function N3(e){return Error(`Could not parse ttml timestamp ${e}`)}function zg(e,n){if(!e)return null;let s=iv(e);if(s===null){if(cv.test(e))s=v_(e,n);else if(fv.test(e))s=S_(e,n)}return s}function v_(e,n){let s=cv.exec(e),i=(s[4]|0)+(s[5]|0)/n.subFrameRate;return(s[1]|0)*3600+(s[2]|0)*60+(s[3]|0)+i/n.frameRate}function S_(e,n){let s=fv.exec(e),i=Number(s[1]);switch(s[2]){case"h":return i*3600;case"m":return i*60;case"ms":return i/1000;case"f":return i/n.frameRate;case"t":return i/n.tickRate}return i}function tb(e,n,s,i="",r="disabled"){let a=e.ownerDocument.createElement("track");if(a.kind=n,a.label=s,i)a.srclang=i;return a.src="data:,WEBVTT",a.track.mode=r,e.appendChild(a),a}function k_(e){if(e.forced&&hE())return"forced";else if(e.characteristics&&/transcribes-spoken-dialog/gi.test(e.characteristics)&&/describes-music-and-sound/gi.test(e.characteristics))return"captions";return"subtitles"}function b1(e,n){let s=e.mode;if(s==="disabled")e.mode="hidden";if(e.cues&&!e.cues.getCueById(n.id))try{if(e.addCue(n),!e.cues.getCueById(n.id))throw Error(`addCue is failed for: ${n}`)}catch(i){Rn.debug(`[texttrack-utils]: ${i}`);try{let r=new self.TextTrackCue(n.startTime,n.endTime,n.text);r.id=n.id,e.addCue(r)}catch(r){Rn.debug(`[texttrack-utils]: Legacy TextTrackCue fallback failed: ${r}`)}}if(s==="disabled")e.mode=s}function w1(e,n,s,i){let r=e.mode;if(r==="disabled")e.mode="hidden";if(e.cues&&e.cues.length>0){let a=A_(e.cues,n,s);for(let l=0;l<a.length;l++)if(!i||i(a[l]))e.removeCue(a[l])}if(r==="disabled")e.mode=r}function x_(e,n){if(n<=e[0].startTime)return 0;let s=e.length-1;if(n>e[s].endTime)return-1;let i=0,r=s,a;while(i<=r)if(a=Math.floor((r+i)/2),n<e[a].startTime)r=a-1;else if(n>e[a].startTime&&i<s)i=a+1;else return a;return e[i].startTime-n<n-e[r].startTime?i:r}function A_(e,n,s){let i=[],r=x_(e,n);if(r>-1)for(let a=r,l=e.length;a<l;a++){let c=e[a];if(c.startTime>=n&&c.endTime<=s)i.push(c);else if(c.startTime>s)return i}return i}class uv extends v0{constructor(e){super(e,"subtitle-track-controller");this.media=null,this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.queuedDefaultTrack=-1,this.useTextTrackPolling=!1,this.subtitlePollingInterval=-1,this._subtitleDisplay=!0,this.asyncPollTrackChange=()=>this.pollTrackChange(0),this.onTextTracksChanged=()=>{if(!this.useTextTrackPolling)self.clearInterval(this.subtitlePollingInterval);if(!this.media||!this.hls.config.renderTextTracksNatively)return;let n=-1,s=!1;if(this.currentTrack){var i;let l=(i=this.currentTrack.trackNode)==null?void 0:i.track.mode;if(l==="showing")n=this.trackId,s=!0;else if(l==="hidden")n=this.trackId}if(!s)for(let l=0;l<this.tracksInGroup.length;l++){var r;let c=(r=this.tracksInGroup[l].trackNode)==null?void 0:r.track.mode;if(c==="showing"){n=l;break}else if(n<0&&c==="hidden")n=l}if(n>-1){var a;this._subtitleDisplay=((a=this.tracksInGroup[n].trackNode)==null?void 0:a.track.mode)==="showing"}this.setSubtitleTrack(n,!0)},this.registerListeners()}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,this.onTextTracksChanged=this.asyncPollTrackChange=null,super.destroy()}get subtitleDisplay(){return this._subtitleDisplay}set subtitleDisplay(e){if(this._subtitleDisplay=e,this.trackId>-1)this.toggleTrackModes()}registerListeners(){let{hls:e}=this;e.on(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.MANIFEST_PARSED,this.onManifestParsed,this),e.on(Z.LEVEL_LOADING,this.onLevelLoading,this),e.on(Z.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(Z.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(Z.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.MANIFEST_PARSED,this.onManifestParsed,this),e.off(Z.LEVEL_LOADING,this.onLevelLoading,this),e.off(Z.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(Z.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(Z.ERROR,this.onError,this)}createTracksInGroup(){var e;if(!this.media||!this.hls.config.renderTextTracksNatively)return;this.tracksInGroup.forEach((s)=>{if(!s.trackNode)s.trackNode=tb(this.media,k_(s),s.name,s.lang)});let n=(e=this.currentTrack)==null||(e=e.trackNode)==null?void 0:e.track;if((n==null?void 0:n.mode)==="disabled")n.mode=this._subtitleDisplay?"showing":"hidden"}onMediaAttached(e,n){let s=n.media;this.media=s;let i=this.trackId;if(this.queuedDefaultTrack>-1)i=this.queuedDefaultTrack,this.queuedDefaultTrack=-1;if(this.setSubtitleTrack(i),this.createTracksInGroup(),this.useTextTrackPolling=!(s.textTracks&&("onchange"in s.textTracks)),this.useTextTrackPolling)this.pollTrackChange(500);else s.textTracks.addEventListener("change",this.asyncPollTrackChange)}pollTrackChange(e){self.clearInterval(this.subtitlePollingInterval),this.subtitlePollingInterval=self.setInterval(this.onTextTracksChanged,e)}onMediaDetaching(e,n){let s=this.media;if(!s)return;let i=!!n.transferMedia;if(self.clearInterval(this.subtitlePollingInterval),!this.useTextTrackPolling)s.textTracks.removeEventListener("change",this.asyncPollTrackChange);if(this.trackId>-1)this.queuedDefaultTrack=this.trackId,this.setSubtitleTrack(-1);if(this.media=null,i)return;if(this.hls.config.renderTextTracksNatively)this.tracksInGroup.forEach((r)=>{let a=r.trackNode;if(a)a.track.mode="hidden",a.remove(),r.trackNode=void 0})}onManifestLoading(){this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0}onManifestParsed(e,n){this.tracks=n.subtitleTracks}onSubtitleTrackLoaded(e,n){let{id:s,groupId:i,details:r}=n,a=this.tracksInGroup[s];if(!a||a.groupId!==i){this.warn(`Subtitle track with id:${s} and group:${i} not found in active group ${a==null?void 0:a.groupId}`);return}let l=a.details;if(a.details=n.details,this.log(`Subtitle track ${s} "${a.name}" lang:${a.lang} group:${i} loaded [${r.startSN}-${r.endSN}]`),s===this.trackId)this.playlistLoaded(s,n,l)}onLevelLoading(e,n){this.switchLevel(n.level)}onLevelSwitching(e,n){this.switchLevel(n.level)}switchLevel(e){let n=this.hls.levels[e];if(!n)return;let s=n.subtitleGroups||null,i=this.groupIds,r=this.currentTrack;if(!s||(i==null?void 0:i.length)!==(s==null?void 0:s.length)||s!=null&&s.some((a)=>(i==null?void 0:i.indexOf(a))===-1)){this.groupIds=s;let a=[];if(this.tracks.forEach((d)=>{if(d.textCodec===g1?this.hls.config.enableIMSC1:this.hls.config.enableWebVTT){if(!s||s.indexOf(d.groupId)>-1)d.id=a.length,a.push(d);else if(d.trackNode)d.trackNode.remove(),d.trackNode=void 0}}),a.length===this.tracksInGroup.length){let d=!1;for(let b=0;b<a.length;b++)if(a[b]!==this.tracksInGroup[b]){d=!0;break}if(!d)return}if(a.length){if(this.selectDefaultTrack&&!a.some((d)=>d.default))this.selectDefaultTrack=!1}this.tracksInGroup=a,this.trackId=-1,this.currentTrack=null;let l=this.hls.config.subtitlePreference;if(!r&&l){this.selectDefaultTrack=!1;let d=Ma(l,a);if(d>-1)r=a[d];else{let b=Ma(l,this.tracks);r=this.tracks[b]}}let c=this.findTrackId(r);if(c===-1&&r)c=this.findTrackId(null);let f={subtitleTracks:a};this.log(`Updating subtitle tracks, ${a.length} track(s) found in "${s==null?void 0:s.join(",")}" group-id`),this.hls.trigger(Z.SUBTITLE_TRACKS_UPDATED,f),this.setSubtitleTrack(c),this.createTracksInGroup()}}findTrackId(e){let n=this.tracksInGroup,s=this.selectDefaultTrack;for(let i=0;i<n.length;i++){let r=n[i];if(s&&!r.default||!s&&!e)continue;if(!e||ec(r,e))return i}if(e){for(let i=0;i<n.length;i++){let r=n[i];if(_h(e.attrs,r.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return i}for(let i=0;i<n.length;i++){let r=n[i];if(_h(e.attrs,r.attrs,["LANGUAGE"]))return i}}return-1}onError(e,n){if(n.fatal||!n.context)return;if(n.context.type===un.SUBTITLE_TRACK&&n.context.id===this.trackId&&Eh(n.context.groupId,this.groupIds))this.checkRetry(n)}get allSubtitleTracks(){return this.tracks}get subtitleTracks(){return this.tracksInGroup}get subtitleTrack(){return this.trackId}set subtitleTrack(e){this.selectDefaultTrack=!1,this.setSubtitleTrack(e,!0)}setSubtitleOption(e){if(this.hls.config.subtitlePreference=e,e){if(e.id===-1)return this.setSubtitleTrack(-1,!0),null;let n=this.allSubtitleTracks;if(this.selectDefaultTrack=!1,n.length){let s=this.currentTrack;if(s&&ec(e,s))return s;let i=Ma(e,this.tracksInGroup);if(i>-1){let r=this.tracksInGroup[i];return this.setSubtitleTrack(i,!0),r}else if(s)return null;else{let r=Ma(e,n);if(r>-1)return n[r]}}}return null}loadPlaylist(e){if(super.loadPlaylist(),this.shouldLoadPlaylist(this.currentTrack))this.scheduleLoading(this.currentTrack,e)}loadingPlaylist(e,n){super.loadingPlaylist(e,n);let{id:s,groupId:i}=e,r=this.getUrlWithDirectives(e.url,n),a=e.details,l=a==null?void 0:a.age;this.log(`Loading subtitle ${s} "${e.name}" lang:${e.lang} group:${i}${(n==null?void 0:n.msn)!==void 0?" at sn "+n.msn+" part "+n.part:""}${l&&a.live?" age "+l.toFixed(1)+(a.type?" "+a.type||"":""):""} ${r}`),this.hls.trigger(Z.SUBTITLE_TRACK_LOADING,{url:r,id:s,groupId:i,deliveryDirectives:n||null,track:e})}toggleTrackModes(){if(!this.media||!this.hls.config.renderTextTracksNatively)return;let e=this.currentTrack;this.tracksInGroup.forEach((n)=>{if(n.trackNode){let s=n===e?this._subtitleDisplay?"showing":"hidden":"disabled",i=n.trackNode.track;if(i.mode!==s)i.mode=s}})}setSubtitleTrack(e,n=!1){let s=this.tracksInGroup;if(!this.media)this.queuedDefaultTrack=e;if(e<-1||e>=s.length||!ht(e)){this.warn(`Invalid subtitle track id: ${e}`);return}let i=this.currentTrack,r=s[e]||null;if(this.trackId=e,this.currentTrack=r,n)this.toggleTrackModes();if(!r){if(i)this.hls.trigger(Z.SUBTITLE_TRACK_SWITCH,{id:e});return}let a=!!r.details&&!r.details.live;if(r===i&&a)return;this.log(`Switching to subtitle-track ${e}`+(r?` "${r.name}" lang:${r.lang} group:${r.groupId}`:""));let{id:l,groupId:c="",name:f,type:d,url:b}=r;this.hls.trigger(Z.SUBTITLE_TRACK_SWITCH,{id:l,groupId:c,name:f,type:d,url:b});let y=this.switchParams(r.url,i==null?void 0:i.details,r.details);this.loadPlaylist(y)}}var Wd=2,T_=100;class dv extends D1{constructor(e,n){super("gap-controller",e.logger);this.hls=void 0,this.fragmentTracker=void 0,this.media=null,this.mediaSource=void 0,this.nudgeRetry=0,this.skipRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.buffered={},this.lastCurrentTime=void 0,this.ended=0,this.waiting=0,this.onMediaPlaying=()=>{this.ended=0,this.waiting=0},this.onMediaWaiting=()=>{var s;if((s=this.media)!=null&&s.seeking)return;this.waiting=self.performance.now(),this.tick()},this.onMediaEnded=()=>{if(this.hls){var s;this.ended=((s=this.media)==null?void 0:s.currentTime)||1,this.hls.trigger(Z.MEDIA_ENDED,{stalled:!1})}},this.hls=e,this.fragmentTracker=n,this.lastCurrentTime=this.getCurrentTime(),this.registerListeners()}registerListeners(){let{hls:e}=this;if(e)e.on(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Z.BUFFER_APPENDED,this.onBufferAppended,this)}unregisterListeners(){let{hls:e}=this;if(e)e.off(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Z.BUFFER_APPENDED,this.onBufferAppended,this)}destroy(){super.destroy(),this.unregisterListeners(),this.media=this.hls=this.fragmentTracker=null,this.mediaSource=void 0}onMediaAttached(e,n){this.setInterval(T_),this.mediaSource=n.mediaSource;let s=this.media=n.media;Bn(s,"playing",this.onMediaPlaying),Bn(s,"waiting",this.onMediaWaiting),Bn(s,"ended",this.onMediaEnded)}onMediaDetaching(e,n){this.clearInterval();let{media:s}=this;if(s)Pn(s,"playing",this.onMediaPlaying),Pn(s,"waiting",this.onMediaWaiting),Pn(s,"ended",this.onMediaEnded),this.media=null;this.mediaSource=void 0}onBufferAppended(e,n){this.buffered=n.timeRanges}get hasBuffered(){return Object.keys(this.buffered).length>0}getCurrentTime(){var e;let n=((e=this.hls)==null?void 0:e.config.timelineOffset)||0;if(this.media)return Math.max(this.media.currentTime,n);return n}tick(){var e;if(!((e=this.media)!=null&&e.readyState)||!this.hasBuffered)return;let n=this.getCurrentTime();if(this.media.currentTime<n)return;this.poll(n,this.lastCurrentTime),this.lastCurrentTime=n}poll(e,n){var s,i;let r=(s=this.hls)==null?void 0:s.config;if(!r)return;let a=this.media;if(!a)return;let{seeking:l}=a,c=this.seeking&&!l,f=!this.seeking&&l,d=a.paused&&!l||a.ended||a.playbackRate===0;if(this.seeking=l,e!==n){if(n)this.ended=0;if(this.moved=!0,!l){if(this.skipRetry=this.nudgeRetry=0,r.nudgeOnVideoHole&&!d&&e>n)this.nudgeOnVideoHole(e,n)}if(this.waiting===0)this.stallResolved(e);return}if(f||c){if(c)this.stallResolved(e);return}if(d){if(this.skipRetry=this.nudgeRetry=0,this.stallResolved(e),!this.ended&&a.ended&&this.hls)this.ended=e||1,this.hls.trigger(Z.MEDIA_ENDED,{stalled:!1});return}if(!Ot.getBuffered(a).length){this.skipRetry=this.nudgeRetry=0;return}let b=Ot.bufferInfo(a,e,0),y=this.fragmentTracker;if(y&&this.hls)U3(b,e,y,this.hls);let v=b.nextStart||0;if(l&&y&&this.hls){let J=B3(this.hls.inFlightFragments,e),ee=b.len>Wd,te=!v||J||v-e>Wd&&!y.getPartialFragment(e);if(ee||te)return;this.moved=!1}let k=(i=this.hls)==null?void 0:i.latestLevelDetails;if(!this.moved&&this.stalled!==null&&y){if(!(b.len>0)&&!v)return;let ee=Math.max(v,b.start||0)-e,ne=k!=null&&k.live?k.targetduration*2:Wd,ie=dh(e,y);if(ee>0&&(ee<=ne||ie)){if(!a.paused)this._trySkipBufferHole(ie);return}}let A=r.detectStallWithCurrentTimeMs,T=self.performance.now(),R=this.waiting,D=this.stalled;if(D===null)if(R>0&&T-R<A)D=this.stalled=R;else{this.stalled=T;return}let U=T-D;if(!l&&(U>=A||R&&this.moved)&&this.hls){var Y;if(((Y=this.mediaSource)==null?void 0:Y.readyState)==="ended"&&!(k!=null&&k.live)&&Math.abs(e-((k==null?void 0:k.edge)||0))<1){if(this.ended)return;this.ended=e||1,this.hls.trigger(Z.MEDIA_ENDED,{stalled:!0});return}if(this._reportStall(b),!this.media||!this.hls)return;if(a.currentTime!==e){let J=e;e=a.currentTime,this.moved=!0,this.log(`currentTime changed ${J} > ${e}`);return}}let X=Ot.bufferInfo(a,e,r.maxBufferHole);this._tryFixBufferStall(X,U,e)}stallResolved(e){let n=this.stalled;if(n&&this.hls){if(this.stalled=null,this.stallReported){let s=self.performance.now()-n;this.log(`playback not stuck anymore @${e}, after ${Math.round(s)}ms`),this.stallReported=!1,this.waiting=0,this.hls.trigger(Z.STALL_RESOLVED,{})}}}nudgeOnVideoHole(e,n){var s;let i=this.buffered.video;if(this.hls&&this.media&&this.fragmentTracker&&(s=this.buffered.audio)!=null&&s.length&&i&&i.length>1&&e>i.end(0)){let r=Ot.bufferedInfo(Ot.timeRangesToArray(this.buffered.audio),e,0);if(r.len>1&&n>=r.start){let a=Ot.timeRangesToArray(i),l=Ot.bufferedInfo(a,n,0).bufferedIndex;if(l>-1&&l<a.length-1){let c=Ot.bufferedInfo(a,e,0).bufferedIndex,f=a[l].end,d=a[l+1].start;if((c===-1||c>l)&&d-f<1&&e-f<2){let b=Error(`nudging playhead to flush pipeline after video hole. currentTime: ${e} hole: ${f} -> ${d} buffered index: ${c}`);this.warn(b.message),this.media.currentTime+=0.000001;let y=dh(e,this.fragmentTracker);if(y&&"fragment"in y)y=y.fragment;else if(!y)y=void 0;let v=Ot.bufferInfo(this.media,e,0);this.hls.trigger(Z.ERROR,{type:Dt.MEDIA_ERROR,details:Oe.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:b,reason:b.message,frag:y,buffer:v.len,bufferInfo:v})}}}}}_tryFixBufferStall(e,n,s){var i,r;let{fragmentTracker:a,media:l}=this,c=(i=this.hls)==null?void 0:i.config;if(!l||!a||!c)return;let f=(r=this.hls)==null?void 0:r.latestLevelDetails,d=dh(s,a);if(d||f!=null&&f.live&&s<f.fragmentStart){if(this._trySkipBufferHole(d)||!this.media)return}let b=e.buffered,y=this.adjacentTraversal(e,s);if((b&&b.length>1&&e.len>c.maxBufferHole||e.nextStart&&(e.nextStart-s<c.maxBufferHole||y))&&(n>c.highBufferWatchdogPeriod*1000||this.waiting))this.warn("Trying to nudge playhead over buffer-hole"),this._tryNudgeBuffer(e)}adjacentTraversal(e,n){let s=this.fragmentTracker,i=e.nextStart;if(s&&i){let r=s.getFragAtPos(n,Ct.MAIN),a=s.getFragAtPos(i,Ct.MAIN);if(r&&a)return a.sn-r.sn<2}return!1}_reportStall(e){let{hls:n,media:s,stallReported:i,stalled:r}=this;if(!i&&r!==null&&s&&n){this.stallReported=!0;let a=Error(`Playback stalling at @${s.currentTime} due to low buffer (${us(e)})`);this.warn(a.message),n.trigger(Z.ERROR,{type:Dt.MEDIA_ERROR,details:Oe.BUFFER_STALLED_ERROR,fatal:!1,error:a,buffer:e.len,bufferInfo:e,stalled:{start:r}})}}_trySkipBufferHole(e){let{fragmentTracker:n,media:s,hls:i}=this,r=i==null?void 0:i.config;if(!s||!n||!r)return 0;let a=s.currentTime,l=Ot.bufferInfo(s,a,0);U3(l,a,n,i);let c=a<l.start?l.start:l.nextStart;if(c){let d=l.len<=r.maxBufferHole,b=l.len>0&&l.len<1&&s.readyState<3,y=c-a;if(y>0&&(d||b)){if(y>r.maxBufferHole){let R=!1;if(a===0){let D=n.getAppendedFrag(0,Ct.MAIN);if(D&&c<D.end)R=!0}if(!R&&e){var f;if(!((f=i.loadLevelObj)!=null&&f.details))return 0;if(B3(i.inFlightFragments,c))return 0;let U=!1,Y=e.end;while(Y<c){let X=dh(Y,n),J=X?X.duration:0;if(J>0)Y+=J;else{U=!0;break}}if(U)return 0}}let{nudgeMaxRetry:v,skipBufferHolePadding:k}=r,A=++this.skipRetry>v,T=Math.max(c,a)+k;if(!A)this.warn(`skipping hole, adjusting currentTime from ${a} to ${T}`),this.moved=!0,s.currentTime=T;if(!(e!=null&&e.gap)||A){let R=Error(A?`Playhead still not moving after seeking over buffer hole from ${a} to ${T} after ${r.nudgeMaxRetry} attempts.`:`fragment loaded with buffer holes, seeking from ${a} to ${T}`),D={type:Dt.MEDIA_ERROR,details:Oe.BUFFER_SEEK_OVER_HOLE,fatal:A,error:R,reason:R.message,buffer:l.len,bufferInfo:l};if(e)if("fragment"in e)D.part=e;else D.frag=e;i.trigger(Z.ERROR,D)}return T}}return 0}_tryNudgeBuffer(e){let{hls:n,media:s,nudgeRetry:i}=this,r=n==null?void 0:n.config;if(!s||!r)return 0;let a=s.currentTime;if(this.nudgeRetry++,i<r.nudgeMaxRetry){let l=a+(i+1)*r.nudgeOffset,c=Error(`Nudging 'currentTime' from ${a} to ${l}`);this.warn(c.message),s.currentTime=l,n.trigger(Z.ERROR,{type:Dt.MEDIA_ERROR,details:Oe.BUFFER_NUDGE_ON_STALL,error:c,fatal:!1,buffer:e.len,bufferInfo:e})}else{let l=Error(`Playhead still not moving while enough data buffered @${a} after ${r.nudgeMaxRetry} nudges`);this.error(l.message),n.trigger(Z.ERROR,{type:Dt.MEDIA_ERROR,details:Oe.BUFFER_STALLED_ERROR,error:l,fatal:!0,buffer:e.len,bufferInfo:e})}}}function B3(e,n){let s=H3(e.main);if(s&&s.start<=n)return s;let i=H3(e.audio);if(i&&i.start<=n)return i;return null}function H3(e){if(!e)return null;switch(e.state){case $e.IDLE:case $e.STOPPED:case $e.ENDED:case $e.ERROR:return null}return e.frag}function dh(e,n){return n.getAppendedFrag(e,Ct.MAIN)||n.getPartialFragment(e)}function U3(e,n,s,i){let r=i.latestLevelDetails,a=dh(n,s);if(o0(i.config)&&!e.nextStart&&r&&a&&i.interstitialsManager){let l="type"in a?a:a.fragment,c=q9(r,l.sn);if((c==null?void 0:c.level)===l.level&&e6(c,i.interstitialsManager.playerQueue,n))e.nextStart=c.start}}var E_=0.25;function y1(){if(typeof self>"u")return;return self.VTTCue||self.TextTrackCue}function Gg(e,n,s,i,r){let a=new e(n,s,"");try{if(a.value=i,r)a.type=r}catch(l){a=new e(n,s,us(r?qt({type:r},i):i))}return a}var Hd=(()=>{let e=y1();try{e&&new e(0,Number.POSITIVE_INFINITY,"")}catch(n){return Number.MAX_VALUE}return Number.POSITIVE_INFINITY})();class mv{constructor(e){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.removeCues=!0,this.assetCue=void 0,this.onEventCueEnter=()=>{if(!this.hls)return;this.hls.trigger(Z.EVENT_CUE_ENTER,{})},this.hls=e,this._registerListeners()}destroy(){this._unregisterListeners(),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=this.onEventCueEnter=null}_registerListeners(){let{hls:e}=this;if(e)e.on(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.on(Z.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(Z.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(Z.LEVEL_PTS_UPDATED,this.onLevelPtsUpdated,this)}_unregisterListeners(){let{hls:e}=this;if(e)e.off(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.off(Z.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(Z.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(Z.LEVEL_PTS_UPDATED,this.onLevelPtsUpdated,this)}onMediaAttaching(e,n){this.media=n.media}onMediaAttached(){var e;let n=(e=this.hls)==null?void 0:e.latestLevelDetails;if(n)this.updateDateRangeCues(n)}onMediaDetaching(e,n){if(this.media=null,!!n.transferMedia)return;if(this.id3Track)this.id3Track.remove(),this.id3Track=null;this.dateRangeCuesAppended={}}onManifestLoading(){this.dateRangeCuesAppended={}}createTrack(e){return tb(e,"metadata","id3","","hidden")}onFragParsingMetadata(e,n){if(!this.media||!this.hls)return;let{enableEmsgMetadataCues:s,enableID3MetadataCues:i}=this.hls.config;if(!s&&!i)return;let{samples:r}=n;if(!this.id3Track)this.id3Track=this.createTrack(this.media);let a=y1();if(!a)return;for(let l=0;l<r.length;l++){let c=r[l].type;if(c===Ui.emsg&&!s||!i)continue;let f=o9(r[l].data),d=r[l].pts,b=d+r[l].duration;if(b>Hd)b=Hd;if(b-d<=0)b=d+E_;for(let v=0;v<f.length;v++){let k=f[v];if(!l9(k)){this.updateId3CueEnds(d,c);let A=Gg(a,d,b,k,c);if(A)this.id3Track.track.addCue(A)}}}}updateId3CueEnds(e,n){var s;let i=(s=this.id3Track)==null?void 0:s.track.cues;if(i)for(let r=i.length;r--;){let a=i[r];if(a.type===n&&a.startTime<e&&a.endTime===Hd)a.endTime=e}}onBufferFlushing(e,{startOffset:n,endOffset:s,type:i}){let{id3Track:r,hls:a}=this;if(!a)return;let{config:{enableEmsgMetadataCues:l,enableID3MetadataCues:c}}=a;if(r&&(l||c)){let f;if(i==="audio")f=(d)=>d.type===Ui.audioId3&&c;else if(i==="video")f=(d)=>d.type===Ui.emsg&&l;else f=(d)=>d.type===Ui.audioId3&&c||d.type===Ui.emsg&&l;w1(r.track,n,s,f)}}onLevelUpdated(e,{details:n}){this.updateDateRangeCues(n,!0)}onLevelPtsUpdated(e,n){if(Math.abs(n.drift)>0.01)this.updateDateRangeCues(n.details)}updateDateRangeCues(e,n){if(!this.hls||!this.media)return;let{assetPlayerId:s,timelineOffset:i,enableDateRangeMetadataCues:r,interstitialsController:a}=this.hls.config;if(!r)return;let l=y1();if(s&&i&&!a){let{fragmentStart:A,fragmentEnd:T}=e,R=this.assetCue;if(R)R.startTime=A,R.endTime=T;else if(l){if(R=this.assetCue=Gg(l,A,T,{assetPlayerId:this.hls.config.assetPlayerId},"hlsjs.interstitial.asset"),R)R.id=s,this.id3Track||(this.id3Track=this.createTrack(this.media)),this.id3Track.track.addCue(R),R.addEventListener("enter",this.onEventCueEnter)}}if(!e.hasProgramDateTime)return;let{id3Track:c}=this,{dateRanges:f}=e,d=Object.keys(f),b=this.dateRangeCuesAppended;if(c&&n){var y;if((y=c.track.cues)!=null&&y.length){let A=Object.keys(b).filter((T)=>d.indexOf(T)===-1);for(let T=A.length;T--;){var v;let R=A[T],D=(v=b[R])==null?void 0:v.cues;if(delete b[R],D)Object.keys(D).forEach((U)=>{let Y=D[U];if(Y){Y.removeEventListener("enter",this.onEventCueEnter);try{c.track.removeCue(Y)}catch(X){}}})}}else b=this.dateRangeCuesAppended={}}let k=e.fragments[e.fragments.length-1];if(d.length===0||!ht(k==null?void 0:k.programDateTime))return;this.id3Track||(this.id3Track=this.createTrack(this.media));for(let A=0;A<d.length;A++){let T=d[A],R=f[T],D=R.startTime,U=b[T],Y=(U==null?void 0:U.cues)||{},X=(U==null?void 0:U.durationKnown)||!1,J=Hd,{duration:ee,endDate:te}=R;if(te&&ee!==null)J=D+ee,X=!0;else if(R.endOnNext&&!X){let ie=d.reduce((se,ae)=>{if(ae!==R.id){let be=f[ae];if(be.class===R.class&&be.startDate>R.startDate&&(!se||R.startDate<se.startDate))return be}return se},null);if(ie)J=ie.startTime,X=!0}let ne=Object.keys(R.attr);for(let ie=0;ie<ne.length;ie++){let se=ne[ie];if(!VE(se))continue;let ae=Y[se];if(ae){if(X&&!(U!=null&&U.durationKnown))ae.endTime=J;else if(Math.abs(ae.startTime-D)>0.01)ae.startTime=D,ae.endTime=J}else if(l){let be=R.attr[se];if(XE(se))be=c9(be);let fe=Gg(l,D,J,{key:se,data:be},Ui.dateRange);if(fe){if(fe.id=T,this.id3Track.track.addCue(fe),Y[se]=fe,a){if(se==="X-ASSET-LIST"||se==="X-ASSET-URL")fe.addEventListener("enter",this.onEventCueEnter)}}}}b[T]={cues:Y,dateRange:R,durationKnown:X}}}}function pv(){return self.SourceBuffer||self.WebKitSourceBuffer}function gv(){if(!cl())return!1;let n=pv();return!n||n.prototype&&typeof n.prototype.appendBuffer==="function"&&typeof n.prototype.remove==="function"}function C_(){if(!gv())return!1;let e=cl();return typeof(e==null?void 0:e.isTypeSupported)==="function"&&(["avc1.42E01E,mp4a.40.2","av01.0.01M.08","vp09.00.50.08"].some((n)=>e.isTypeSupported(Th(n,"video")))||["mp4a.40.2","fLaC"].some((n)=>e.isTypeSupported(Th(n,"audio"))))}function __(){var e;let n=pv();return typeof(n==null||(e=n.prototype)==null?void 0:e.changeType)==="function"}var _a={DISABLED:0,SWITCHING:1,SWITCHED:2},I_=100;class nb extends w0{constructor(e,n,s){super(e,n,s,"stream-controller",Ct.MAIN);this.audioCodecSwap=!1,this.level=-1,this._forceStartLoad=!1,this._hasEnoughToStart=!1,this.altAudio=_a.DISABLED,this.audioOnly=!1,this._couldBacktrack=!1,this._backtrackFragment=void 0,this.audioCodecSwitch=!1,this.videoBuffer=null,this.onMediaPlaying=()=>{this.tick()},this.onMediaSeeked=()=>{let i=this.media,r=i?i.currentTime:null;if(r===null||!ht(r))return;if(this.log(`Media seeked to ${r}`),!this.getBufferedFrag(r))return;let a=this.getFwdBufferInfoAtPos(i,r,Ct.MAIN,0);if(!a||a.len===0){this.log(`Main buffer empty at ${r} on "seeked" event: ${a?a.len:a}`);return}this.tick()},this.registerListeners()}registerListeners(){super.registerListeners();let{hls:e}=this;e.on(Z.MANIFEST_PARSED,this.onManifestParsed,this),e.on(Z.LEVEL_LOADING,this.onLevelLoading,this),e.on(Z.LEVEL_LOADED,this.onLevelLoaded,this),e.on(Z.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.on(Z.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(Z.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.on(Z.BUFFER_CREATED,this.onBufferCreated,this),e.on(Z.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(Z.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(Z.FRAG_BUFFERED,this.onFragBuffered,this)}unregisterListeners(){super.unregisterListeners();let{hls:e}=this;e.off(Z.MANIFEST_PARSED,this.onManifestParsed,this),e.off(Z.LEVEL_LOADED,this.onLevelLoaded,this),e.off(Z.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.off(Z.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(Z.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.off(Z.BUFFER_CREATED,this.onBufferCreated,this),e.off(Z.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(Z.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(Z.FRAG_BUFFERED,this.onFragBuffered,this)}onHandlerDestroying(){this.onMediaPlaying=this.onMediaSeeked=null,this.unregisterListeners(),super.onHandlerDestroying()}startLoad(e,n){if(this.levels){let{lastCurrentTime:s,hls:i}=this;if(this.stopLoad(),this.setInterval(I_),this.level=-1,!this.startFragRequested){let r=i.startLevel;if(r===-1)if(i.config.testBandwidth&&this.levels.length>1)r=0,this.bitrateTest=!0;else r=i.firstAutoLevel;i.nextLoadLevel=r,this.level=i.loadLevel,this._hasEnoughToStart=!!n}if(s>0&&e===-1&&!n&&this.initPTS.length)this.log(`Override startPosition with lastCurrentTime @${s}`),e=s;if(this.state=$e.IDLE,this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=n?-1:e,!n&&!this.fragmentTracker.hasFragments(this.playlistType))this._hasEnoughToStart=this.startFragRequested=!1;this.tick()}else this._forceStartLoad=!0,this.state=$e.STOPPED}stopLoad(){this._forceStartLoad=!1,super.stopLoad()}doTick(){switch(this.state){case $e.WAITING_LEVEL:{let{levels:e,level:n}=this,s=e==null?void 0:e[n],i=s==null?void 0:s.details;if(i&&(!i.live||this.levelLastLoaded===s&&!this.waitForLive(s))){if(this.waitForCdnTuneIn(i))break;this.state=$e.IDLE;break}else if(this.hls.nextLoadLevel!==this.level){this.state=$e.IDLE;break}break}case $e.FRAG_LOADING_WAITING_RETRY:this.checkRetryDate();break}if(this.state===$e.IDLE)this.doTickIdle();this.onTickEnd()}onTickEnd(){var e;if(super.onTickEnd(),(e=this.media)!=null&&e.readyState&&this.media.seeking===!1)this.lastCurrentTime=this.media.currentTime;this.checkFragmentChanged()}doTickIdle(){let{hls:e,levelLastLoaded:n,levels:s,media:i}=this;if(n===null||!i&&!this.primaryPrefetch&&(this.startFragRequested||!e.config.startFragPrefetch))return;if(this.altAudio&&this.audioOnly)return;let r=this.buffering?e.nextLoadLevel:e.loadLevel;if(!(s!=null&&s[r]))return;let a=s[r],l=this.getMainFwdBufferInfo();if(l===null)return;let c=this.getLevelDetails();if(c&&this._streamEnded(l,c)){let A={type:this.targetBufferType()};this.hls.trigger(Z.BUFFER_EOS,A),this.state=$e.ENDED;return}if(!this.buffering)return;if(e.loadLevel!==r&&e.manualLevel===-1)this.log(`Adapting to level ${r} from level ${this.level}`);this.level=e.nextLoadLevel=r;let f=a.details;if(!f||this.state===$e.WAITING_LEVEL||this.waitForLive(a)){this.level=r,this.state=$e.WAITING_LEVEL,this.startFragRequested=!1;return}let d=l.len,b=this.getMaxBufferLength(a.maxBitrate);if(d>=b)return;if(this.backtrackFragment&&this.backtrackFragment.start>l.end)this.backtrackFragment=void 0;let y=this.backtrackFragment?this.backtrackFragment.start:l.end,v=this.getNextFragment(y,f);if(this.couldBacktrack&&!this.fragPrevious&&v&&Ps(v)&&this.fragmentTracker.getState(v)!==_s.OK){var k;let T=((k=this.backtrackFragment)!=null?k:v).sn-f.startSN,R=f.fragments[T-1];if(R&&v.cc===R.cc)v=R,this.fragmentTracker.removeFragment(R)}else if(this.backtrackFragment&&l.len)this.backtrackFragment=void 0;if(v&&this.isLoopLoading(v,y)){if(!v.gap){let T=this.audioOnly&&!this.altAudio?ss.AUDIO:ss.VIDEO,R=(T===ss.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;if(R)this.afterBufferFlushed(R,T)}v=this.getNextFragmentLoopLoading(v,f,l,Ct.MAIN,b)}if(!v)return;if(this.exceedsMaxBuffer(l,b,v))return;this.loadFragment(v,a,y)}loadFragment(e,n,s){let i=this.fragmentTracker.getState(e);if(i===_s.NOT_LOADED||i===_s.PARTIAL)if(this.bitrateTest)this.log(`Fragment ${e.sn} of level ${e.level} is being downloaded to test bitrate and will not be buffered`),this._loadBitrateTestFrag(e,n);else super.loadFragment(e,n,s);else this.clearTrackerIfNeeded(e)}immediateLevelSwitch(){if(this.abortCurrentFrag(),this.flushMainBuffer(0,Number.POSITIVE_INFINITY),this.altAudio!==_a.DISABLED){var e;if((((e=this.getLevelDetails())==null?void 0:e.fragmentStart)||0)>this.lastCurrentTime)super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio")}}getBufferOutput(){if(this.mediaBuffer&&this.altAudio===_a.SWITCHED)return this.mediaBuffer;return this.media}checkFragmentChanged(){let e=this.fragPlaying;if(!this.checkFragPlaying())return!1;let s=this.fragPlaying;if(s){let i=s.level;if(this.hls.trigger(Z.FRAG_CHANGED,{frag:s,previousFrag:e}),(e==null?void 0:e.level)!==i)this.hls.trigger(Z.LEVEL_SWITCHED,{level:i})}return!0}get backtrackFragment(){return this._backtrackFragment}set backtrackFragment(e){this._backtrackFragment=e}get couldBacktrack(){return this._couldBacktrack}set couldBacktrack(e){this._couldBacktrack=e}abortCurrentFrag(){this.backtrackFragment=void 0,super.abortCurrentFrag()}flushMainBuffer(e,n){super.flushMainBuffer(e,n,this.targetBufferType())}targetBufferType(){return this.altAudio===_a.SWITCHED&&!this.audioOnly?"video":null}onMediaAttached(e,n){super.onMediaAttached(e,n);let s=n.media;Bn(s,"playing",this.onMediaPlaying),Bn(s,"seeked",this.onMediaSeeked)}onMediaDetaching(e,n){let{media:s}=this;if(s)Pn(s,"playing",this.onMediaPlaying),Pn(s,"seeked",this.onMediaSeeked);if(this.videoBuffer=null,super.onMediaDetaching(e,n),!!n.transferMedia)return;this._hasEnoughToStart=!1}onManifestLoading(){super.onManifestLoading(),this.log("Trigger BUFFER_RESET"),this.hls.trigger(Z.BUFFER_RESET,void 0),this.couldBacktrack=!1,this.backtrackFragment=void 0,this.altAudio=_a.DISABLED,this.audioOnly=!1}onManifestParsed(e,n){let s=!1,i=!1;for(let r=0;r<n.levels.length;r++){let a=n.levels[r].audioCodec;if(a)s=s||a.indexOf("mp4a.40.2")!==-1,i=i||a.indexOf("mp4a.40.5")!==-1}if(this.audioCodecSwitch=s&&i&&!__(),this.audioCodecSwitch)this.log("Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC");this.levels=n.levels,this.startFragRequested=!1}onLevelLoading(e,n){let{levels:s}=this;if(!s||this.state!==$e.IDLE)return;let i=n.levelInfo;if(!i.details||i.details.live&&(this.levelLastLoaded!==i||i.details.expired)||this.waitForCdnTuneIn(i.details))this.state=$e.WAITING_LEVEL}onLevelLoaded(e,n){var s;let{levels:i,startFragRequested:r}=this,{level:a,details:l}=n,c=l.totalduration;if(!i){this.warn(`Levels were reset while loading level ${a}`);return}this.log(`Level ${a} loaded [${l.startSN},${l.endSN}]${l.lastPartSn?`[part-${l.lastPartSn}-${l.lastPartIndex}]`:""}, cc [${l.startCC}, ${l.endCC}] duration:${c}`);let f=n.levelInfo,d=this.fragCurrent;if(d&&(this.state===$e.FRAG_LOADING||this.state===$e.FRAG_LOADING_WAITING_RETRY)){if(d.level!==n.level&&d.loader)this.abortCurrentFrag()}let b=0;if(l.live||(s=f.details)!=null&&s.live){var y;if(this.checkLiveUpdate(l),l.deltaUpdateFailed)return;b=this.alignPlaylists(l,f.details,(y=this.levelLastLoaded)==null?void 0:y.details)}if(f.details=l,this.levelLastLoaded=f,!r)this.setStartPosition(l,b);if(this.hls.trigger(Z.LEVEL_UPDATED,{details:l,level:a}),this.state===$e.WAITING_LEVEL){if(this.waitForCdnTuneIn(l))return;this.state=$e.IDLE}if(r&&l.live)this.synchronizeToLiveEdge(l);this.initPTS.some((v,k)=>{if(k>=l.startCC)return!0;delete this.initPTS[k]}),this.tick()}synchronizeToLiveEdge(e){let{config:n,media:s}=this;if(!s)return;let i=this.hls.liveSyncPosition,r=this.playhead,{fragmentStart:a,edge:l}=e,c=r>=a-n.maxFragLookUpTolerance&&r<=l;if(i!==null&&s.duration>i&&(r<i||!c)){let d=n.liveMaxLatencyDuration!==void 0?n.liveMaxLatencyDuration:n.liveMaxLatencyDurationCount*e.targetduration;if(!c&&s.readyState<4||r<l-d){if(!this._hasEnoughToStart)this.nextLoadPosition=i;if(s.readyState)if(this.warn(`Playback: ${r} is located too far from the end of live sliding playlist: ${l}, reset currentTime to : ${i}`),this.config.liveSyncMode==="buffered"){var f;let b=Ot.bufferInfo(s,i,0);if(!((f=b.buffered)!=null&&f.length)){s.currentTime=i;return}if(b.start<=r){s.currentTime=i;return}let{nextStart:v}=Ot.bufferedInfo(b.buffered,r,0);if(v)s.currentTime=v}else s.currentTime=i}}}_handleFragmentLoadProgress(e){var n;let s=e.frag,{part:i,payload:r}=e,{levels:a}=this;if(!a){this.warn(`Levels were reset while fragment load was in progress. Fragment ${s.sn} of level ${s.level} will not be buffered`);return}let l=a[s.level];if(!l){this.warn(`Level ${s.level} not found on progress`);return}let c=l.details;if(!c){this.warn(`Dropping fragment ${s.sn} of level ${s.level} after level details were reset`),this.fragmentTracker.removeFragment(s);return}let f=l.videoCodec,d=c.PTSKnown||!c.live,b=(n=s.initSegment)==null?void 0:n.data,y=this._getAudioCodec(l),v=this.transmuxer=this.transmuxer||new V1(this.hls,Ct.MAIN,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),k=i?i.index:-1,A=k!==-1,{decryptRange:T,byteRange:R}=n0(s,i,this.iframesOnly),D=new b0(s.level,s.sn,s.stats.chunkCount,R?R.end-R.start:r.byteLength,k,A,s.duration,this.iframesOnly,T),U=this.initPTS[s.cc];v.push(r,b,y,f,s,i,c.totalduration,d,D,U)}onAudioTrackSwitching(e,n){let s=this.hls,i=this.altAudio!==_a.DISABLED;if(!t0(n.url,s)){if(this.mediaBuffer!==this.media){this.log("Switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media;let a=this.fragCurrent;if(a)this.log("Switching to main audio track, cancel main fragment load"),a.abortRequests(),this.fragmentTracker.removeFragment(a);this.resetTransmuxer(),this.resetLoadingState()}else if(this.audioOnly)this.resetTransmuxer();if(i){this.altAudio=_a.DISABLED,this.fragmentTracker.removeAllFragments(),s.once(Z.BUFFER_FLUSHED,()=>{if(!this.hls)return;this.hls.trigger(Z.AUDIO_TRACK_SWITCHED,n)}),s.trigger(Z.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:null});return}s.trigger(Z.AUDIO_TRACK_SWITCHED,n)}else this.altAudio=_a.SWITCHING}onAudioTrackSwitched(e,n){let s=t0(n.url,this.hls);if(s){let i=this.videoBuffer;if(i&&this.mediaBuffer!==i)this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=i}this.altAudio=s?_a.SWITCHED:_a.DISABLED,this.tick()}onBufferCreated(e,n){let s=n.tracks,i,r,a=!1;for(let l in s){let c=s[l];if(c.id==="main"){if(r=l,i=c,l==="video"){let f=s[l];if(f)this.videoBuffer=f.buffer}}else a=!0}if(a&&i)this.log(`Alternate track found, use ${r}.buffered to schedule main fragment loading`),this.mediaBuffer=i.buffer;else this.mediaBuffer=this.media}onFragBuffered(e,n){let{frag:s,part:i}=n,r=s.type===Ct.MAIN;if(r){if(this.fragContextChanged(s)){if(this.warn(`Fragment ${s.sn}${i?" p: "+i.index:""} of level ${s.level} finished buffering, but was aborted. state: ${this.state}`),this.state===$e.PARSED)this.state=$e.IDLE;return}let c=!1;if(Ps(s))c=!!s.gap&&!s.tagList.some((f)=>f[0]==="GAP");if(this.fragBufferedComplete(s,i),c){var a;s.stats.retry++;let f=(a=this.levels)==null?void 0:a[s.level];if(f)f.fragmentError++}}let l=this.media;if(!l)return;if(!this._hasEnoughToStart&&Ot.getBuffered(l).length)this._hasEnoughToStart=!0,this.seekToStartPos();if(r)this.tick()}get hasEnoughToStart(){return this._hasEnoughToStart}onError(e,n){var s;if(n.fatal){this.state=$e.ERROR;return}switch(n.details){case Oe.FRAG_GAP:case Oe.FRAG_PARSING_ERROR:case Oe.FRAG_DECRYPT_ERROR:case Oe.FRAG_LOAD_ERROR:case Oe.FRAG_LOAD_TIMEOUT:case Oe.KEY_LOAD_ERROR:case Oe.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(Ct.MAIN,n);break;case Oe.LEVEL_LOAD_ERROR:case Oe.LEVEL_LOAD_TIMEOUT:case Oe.LEVEL_PARSING_ERROR:if(!n.levelRetry&&this.state===$e.WAITING_LEVEL&&((s=n.context)==null?void 0:s.type)===un.LEVEL)this.state=$e.IDLE;break;case Oe.BUFFER_APPEND_NO_PROGRESS:if(n.parent!=="main")return;if(n.frag&&(n.appendsWithoutProgress||0)>=this.config.appendErrorMaxRetry)this.warn(`Marking fragment ${n.frag.sn} of level ${n.frag.level} as a gap after ${n.appendsWithoutProgress} appends without buffered range growth, to prevent loop loading`),this.fragmentTracker.addAsGap(n.frag);break;case Oe.BUFFER_ADD_CODEC_ERROR:case Oe.BUFFER_APPEND_ERROR:if(n.parent!=="main")return;if(this.reduceLengthAndFlushBuffer(n))this.resetLoadingState();break;case Oe.BUFFER_FULL_ERROR:if(n.parent!=="main")return;if(this.reduceLengthAndFlushBuffer(n))if(!this.config.interstitialsController&&this.config.assetPlayerId)this._hasEnoughToStart=!0;else this.flushMainBuffer(0,Number.POSITIVE_INFINITY);break;case Oe.INTERNAL_EXCEPTION:this.recoverWorkerError(n);break}}onFragLoadEmergencyAborted(){if(this.state=$e.IDLE,!this._hasEnoughToStart)this.startFragRequested=!1,this.nextLoadPosition=this.lastCurrentTime;this.tickImmediate()}onBufferFlushed(e,{type:n}){if(n!==ss.AUDIO||!this.altAudio){let s=(n===ss.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;if(s)this.afterBufferFlushed(s,n),this.tick()}}onLevelsUpdated(e,n){if(this.level>-1&&this.fragCurrent){if(this.level=this.fragCurrent.level,this.level===-1)this.resetWhenMissingContext(this.fragCurrent)}this.levels=n.levels}swapAudioCodec(){this.audioCodecSwap=!this.audioCodecSwap}seekToStartPos(){let{media:e}=this;if(!e)return;let n=e.currentTime,s=this.startPosition;if(s>=0&&n<s){if(e.seeking){this.log(`could not seek to ${s}, already seeking at ${n}`);return}let i=this.timelineOffset;if(i&&s)s+=i;let r=this.getLevelDetails(),a=Ot.getBuffered(e),l=a.length?a.start(0):0,c=l-s,f=Math.max(this.config.maxBufferHole,this.config.maxFragLookUpTolerance);if(this.config.startOnSegmentBoundary||c>0&&(c<f||this.loadingParts&&c<2*((r==null?void 0:r.partTarget)||0)))this.log(`adjusting start position by ${c} to match buffer start`),s+=c,this.startPosition=s;if(n<s)this.log(`seek to target start position ${s} from current time ${n} buffer start ${l}`),e.currentTime=s}}_getAudioCodec(e){let n=this.config.defaultAudioCodec||e.audioCodec;if(this.audioCodecSwap&&n)if(this.log("Swapping audio codec"),n.indexOf("mp4a.40.5")!==-1)n="mp4a.40.2";else n="mp4a.40.5";return n}_loadBitrateTestFrag(e,n){e.bitrateTest=!0,this._doFragLoad(e,n).then((s)=>{let{hls:i}=this,r=s==null?void 0:s.frag;if(!r||this.fragContextChanged(r))return;n.fragmentError=0,this.state=$e.IDLE,this.startFragRequested=!1,this.bitrateTest=!1;let a=r.stats;a.parsing.start=a.parsing.end=a.buffering.start=a.buffering.end=self.performance.now(),i.trigger(Z.FRAG_LOADED,s),r.bitrateTest=!1}).catch((s)=>{if(this.state===$e.STOPPED||this.state===$e.ERROR)return;this.warn(s),this.resetFragmentLoading(e)})}_handleTransmuxComplete(e){let n=this.playlistType,{hls:s}=this,{remuxResult:i,chunkMeta:r}=e,a=this.getCurrentContext(r);if(!a){this.resetWhenMissingContext(r);return}let{frag:l,part:c,level:f}=a,{video:d,text:b,id3:y,initSegment:v}=i,{details:k}=f,A=this.altAudio?void 0:i.audio;if(this.fragContextChanged(l)){this.fragmentTracker.removeFragment(l);return}if(this.state=$e.PARSING,v){let T=v.tracks;if(T){let Y=l.initSegment||l;if(this.unhandledEncryptionError(v,l))return;this._bufferInitSegment(f,T,Y,r),s.trigger(Z.FRAG_PARSING_INIT_SEGMENT,{frag:Y,id:n,tracks:T})}let{initPTS:R,timescale:D}=v,U=this.initPTS[l.cc];if(ht(R)&&(!U||U.baseTime!==R||U.timescale!==D)){let Y=v.trackId;this.initPTS[l.cc]={baseTime:R,timescale:D,trackId:Y};let X=this.initPTS.slice(0);s.trigger(Z.INIT_PTS_FOUND,{timestampOffsets:X,frag:l,id:n,initPTS:R,timescale:D,trackId:Y})}}if(d&&k){if(A&&d.type==="audiovideo")this.logMuxedErr(l);let T=k.fragments[l.sn-1-k.startSN],R=l.sn===k.startSN,D=!T||l.cc>T.cc;if(i.independent!==!1){let{startPTS:U,endPTS:Y,startDTS:X,endDTS:J}=d;if(c)c.elementaryStreams[d.type]={startPTS:U,endPTS:Y,startDTS:X,endDTS:J};else{if(d.firstKeyFrame&&d.independent&&r.id===1&&!D)this.couldBacktrack=!0;if(d.dropped&&d.independent){let ee=this.getMainFwdBufferInfo(),te=(ee?ee.end:this.getLoadPosition())+this.config.maxBufferHole,ne=d.firstKeyFramePTS?d.firstKeyFramePTS:U;if(!R&&te<ne-this.config.maxBufferHole&&!D){this.backtrack(l);return}else if(D)l.gap=!0;l.setElementaryStreamInfo(d.type,l.start,Y,l.start,J,!0)}else if(R&&U-(k.appliedTimelineOffset||0)>Wd)l.gap=!0}if(l.setElementaryStreamInfo(d.type,U,Y,X,J),this.backtrackFragment)this.backtrackFragment=l;this.bufferFragmentData(d,l,c,r,R||D)}else if(R||D)l.gap=!0;else{this.backtrack(l);return}}if(A){let{startPTS:T,endPTS:R,startDTS:D,endDTS:U}=A;if(c)c.elementaryStreams[ss.AUDIO]={startPTS:T,endPTS:R,startDTS:D,endDTS:U};l.setElementaryStreamInfo(ss.AUDIO,T,R,D,U),this.bufferFragmentData(A,l,c,r)}if(k&&y!=null&&y.samples.length){let T={id:n,frag:l,details:k,samples:y.samples};s.trigger(Z.FRAG_PARSING_METADATA,T)}if(k&&b){let T={id:n,frag:l,details:k,samples:b.samples};s.trigger(Z.FRAG_PARSING_USERDATA,T)}}logMuxedErr(e){this.warn(`${Ps(e)?"Media":"Init"} segment with muxed audiovideo where only video expected: ${e.url}`)}_bufferInitSegment(e,n,s,i){if(this.state!==$e.PARSING)return;if(this.audioOnly=!!n.audio&&!n.video,this.altAudio&&!this.audioOnly){if(delete n.audio,n.audiovideo)this.logMuxedErr(s)}let{audio:r,video:a,audiovideo:l}=n;if(r){let f=e.audioCodec,d=Vd(r.codec,f);if(d==="mp4a")d="mp4a.40.5";if(this.audioCodecSwitch){if(d)if(d.indexOf("mp4a.40.5")!==-1)d="mp4a.40.2";else d="mp4a.40.5";let b=r.metadata;if(b&&"channelCount"in b&&(b.channelCount||1)!==1&&!fE())d="mp4a.40.5"}if(d&&d.indexOf("mp4a.40.5")!==-1&&uE()&&r.container!=="audio/mpeg")d="mp4a.40.2",this.log(`Android: force audio codec to ${d}`);if(f&&f!==d)this.log(`Swapping manifest audio codec "${f}" for "${d}"`);r.levelCodec=d,r.id=Ct.MAIN,this.log(`Init audio buffer, container:${r.container}, codecs[selected/level/parsed]=[${d||""}/${f||""}/${r.codec}]`),delete n.audiovideo}if(a){a.levelCodec=e.videoCodec,a.id=Ct.MAIN;let f=a.codec;if((f==null?void 0:f.length)===4)switch(f){case"hvc1":case"hev1":a.codec="hvc1.1.6.L120.90";break;case"av01":a.codec="av01.0.04M.08";break;case"avc1":a.codec="avc1.42e01e";break}this.log(`Init video buffer, container:${a.container}, codecs[level/parsed]=[${e.videoCodec||""}/${f}]${a.codec!==f?" parsed-corrected="+a.codec:""}${a.supplemental?" supplemental="+a.supplemental:""}`),delete n.audiovideo}if(l){if(this.iframesOnly)this.logMuxedErr(s);this.log(`Init audiovideo buffer, container:${l.container}, codecs[level/parsed]=[${e.codecs}/${l.codec}]`),delete n.video,delete n.audio}let c=Object.keys(n);if(c.length){if(this.hls.trigger(Z.BUFFER_CODECS,n),!this.hls)return;c.forEach((f)=>{let b=n[f].initSegment;if(b!=null&&b.byteLength)this.hls.trigger(Z.BUFFER_APPENDING,{type:f,data:b,frag:s,part:null,chunkMeta:i,parent:s.type})})}this.tickImmediate()}getMainFwdBufferInfo(){let e=this.getBufferOutput();return this.getFwdBufferInfo(e,Ct.MAIN)}get maxBufferLength(){let{levels:e,level:n}=this,s=e==null?void 0:e[n];if(!s)return this.config.maxBufferLength;return this.getMaxBufferLength(s.maxBitrate)}backtrack(e){this.couldBacktrack=!0,this.backtrackFragment=e,this.resetTransmuxer(),this.flushBufferGap(e),this.fragmentTracker.removeFragment(e),this.fragPrevious=null,this.nextLoadPosition=e.start,this.state=$e.IDLE}get nextLevel(){let e=this.nextBufferedFrag;if(e)return e.level;return-1}get currentFrag(){var e;if(this.fragPlaying)return this.fragPlaying;let n=((e=this.media)==null?void 0:e.currentTime)||this.lastCurrentTime;if(ht(n))return this.getAppendedFrag(n);return null}get currentProgramDateTime(){var e;let n=((e=this.media)==null?void 0:e.currentTime)||this.lastCurrentTime;if(ht(n)){let s=this.getLevelDetails(),i=this.currentFrag||(s?af(null,s.fragments,n):null);if(i){let r=i.programDateTime;if(r!==null){let a=r+(n-i.start)*1000;return new Date(a)}}}return null}get currentLevel(){let e=this.currentFrag;if(e)return e.level;return-1}get nextBufferedFrag(){let e=this.currentFrag;if(e)return this.followingBufferedFrag(e);return null}get forceStartLoad(){return this._forceStartLoad}}class sb extends nb{constructor(...e){super(...e);this.currentOp=void 0,this.nextOp=void 0,this.cached=[],this.cachedSize=0,this.cacheFragmentData=!0,this.initDetails=void 0,this.onBufferedToEnd=()=>{let n=this.media;if(n!=null&&n.seeking)n.currentTime=n.currentTime},this.onMediaSeeking=()=>{}}setInitPts(e){this.initPTS=e.slice()}loadMediaAt(e,n){if(!this.hls)return;let{seekOnAppend:s}=n,i=e+this.timelineOffset;switch(this.nextLoadPosition=this.lastCurrentTime=i,this.startPosition=e,this.state){case $e.STOPPED:case $e.ENDED:case $e.ERROR:this.state=$e.IDLE}if(this.state===$e.IDLE)this.hls.resumeBuffering(),this.tick(),this.currentOp=[i,n];else this.nextOp=[i,n];this.hls.off(Z.BUFFERED_TO_END,this.onBufferedToEnd);let r=this.media;if(s&&r){if(this.seekTo(i))this.currentOp=[i,n],this.nextOp=void 0,this.flushPipeline(i,!0)}}seekTo(e){let n=this.media;if(n){var s;let i=(s=this.getLevelDetails())==null?void 0:s.edge,r=i!==void 0?i:n.duration;if(e>=r)e=r-0.01;if(Ot.bufferInfo(n,e,0).len>0&&this.getBufferedAt(e))return n.currentTime=e,!0}return!1}getBufferedAt(e){return this.fragmentTracker.getBufferedFrag(e,Ct.MAIN)}cacheSet(e,n){if(!this.hls)return;e.data=n;let s=this.cached;s.push(e),this.cachedSize+=n.buffer.byteLength;let i=this.hls.config.iframeCacheLimit;while(this.cachedSize>i&&s.length>1){let r=s.shift();if(r.data)this.cachedSize-=r.data.byteLength,r.data=void 0;else{this.cached=s.filter((a)=>!!a.data),this.cachedSize=s.reduce((a,{data:l})=>l?l.buffer.byteLength:0,0);break}}}onHandlerDestroying(){this.cached.length=0,this.cachedSize=0,super.onHandlerDestroying()}_handleFragmentLoadProgress(e){let n=e.frag,{part:s,payload:i}=e;if(this.cacheFragmentData&&!s&&i!=null&&i.byteLength&&!n.data&&Ps(n))this.cacheSet(n,new Uint8Array(i.slice(0)));super._handleFragmentLoadProgress(e)}loadFragment(e,n,s){let i=this.fragmentTracker.getState(e);if((i===_s.NOT_LOADED||i===_s.PARTIAL)&&this.canReplayCached(e)){this.replayCachedFragment(e);return}super.loadFragment(e,n,s)}canReplayCached(e){var n;if(!this.cacheFragmentData||!((n=e.data)!=null&&n.byteLength))return!1;let s=e.decryptdata;return(s==null?void 0:s.keyFormat)!=="identity"||!!s.key}replayCachedFragment(e){let n=e.data.slice().buffer;this.log(`Buffering cached ${e.type} sn: ${e.sn} of level ${e.level} (${n.byteLength} bytes)`),this.fragCurrent=e,this.startFragRequested=!0;let s=e.stats=new u0;s.loading.start=s.loading.first=s.loading.end=self.performance.now(),s.loaded=s.total=n.byteLength,s.chunkCount=1,this.state=$e.FRAG_LOADING;let i={frag:e,part:null,payload:n,networkDetails:null};this._handleFragmentLoadProgress(i),this.hls.trigger(Z.FRAG_LOADED,i),this._handleFragmentLoadComplete(i)}fragBufferedComplete(e,n){super.fragBufferedComplete(e,n);let{currentOp:s,nextOp:i}=this;if(this.currentOp=this.nextOp=void 0,this.state=$e.STOPPED,s!=null&&s[1].seekOnAppend){if(this.flushPipeline(s[0],!i),!this.seekTo(s[0]))this.log(`Could not seek to ${s[0]} after fragment buffered (superseded or flushed) buffer: ${this.media?a0(Ot.getBuffered(this.media)):"none"}`)}if(i)this.loadMediaAt.apply(this,i)}flushPipeline(e,n){if(n){let s=this.media;if(s){let i=Ot.bufferInfo(s,e,0),r=i.len?i.nextStart:0;if(r)this.fragmentTracker.removeFragmentsInRange(r,1/0,Ct.MAIN),this.flushMainBuffer(r,1/0)}this.hls.once(Z.BUFFERED_TO_END,this.onBufferedToEnd)}this.hls.trigger(Z.BUFFER_EOS,{type:"video"})}get playhead(){return this.nextLoadPosition}startLoad(){if(!this.startFragRequested){let e=this.hls;e.nextLoadLevel=e.startLevel===-1?0:e.firstAutoLevel}}seekToStartPos(){}setStartPosition(){}alignPlaylists(e,n,s){let i=this.initDetails;return this.initDetails=null,super.alignPlaylists(e,n,s||i||void 0)}getMainFwdBufferInfo(){let e=this.playhead,n=this.getBufferedAt(e);if(n){let s=n.duration;return{len:s,start:e,end:e+s,bufferedIndex:-1}}return{len:0,start:e,end:e,bufferedIndex:-1}}_streamEnded(){let e=this.playhead,n=this.fragmentTracker.getBufferedFrag(e,Ct.MAIN);return!!(n!=null&&n.endList)}}class bv extends sb{constructor(...e){super(...e);this._img=void 0,this.queued=void 0,this.cacheFragmentData=!1}get image(){return this._img}set image(e){var n;let s=(n=this._img)==null?void 0:n.src;if(s)self.URL.revokeObjectURL(s);this._img=e}loadMediaAt(e){if(!this.hls)return;let n=e+this.timelineOffset;switch(this.nextLoadPosition=this.lastCurrentTime=n,this.startPosition=e,this.state){case $e.STOPPED:case $e.ENDED:case $e.ERROR:this.state=$e.IDLE}if(this.state===$e.IDLE){if(this.hls.resumeBuffering(),this.media||(this.media={}),this.tick(),this.state===$e.IDLE){let s=this.getBufferedAt(e);if(s)this.fragCurrent=s,this.updateImage(s,null)}}else{let s=this.fragCurrent;if(!s||e>=s.start&&e<s.end)this.queued=[n]}}updateImage(e,n,s){let i=e.data;if(!i)this.fragmentTracker.removeFragment(e);let r=this._img;if(r&&i){let a=self.performance.now(),l=n?n.stats:e.stats;l.buffering.start=e.stats.buffering.start=a,r.onload=()=>{if(!this.hls)return;let d=this.hls.levels[e.level];if(d!=null&&d.fragmentError)d.fragmentError=0,e.stats.retry=0;let b=self.performance.now(),y=n?n.stats:e.stats;y.buffering.end=e.stats.buffering.end=b,this.hls.trigger(Z.FRAG_BUFFERED,{frag:e,part:n,stats:y,id:e.type,chunkMeta:s})},r.onerror=()=>{this.handleError("Image decode error",e,n,s)};let c=r.src;if(c)self.URL.revokeObjectURL(c);let f=new Blob([i],{type:"image/jpeg"});r.src=self.URL.createObjectURL(f)}else this.state=$e.STOPPED,this.processQueued()}processQueued(){let e=this.queued;if(this.queued=void 0,e)this.loadMediaAt.apply(this,e)}handleError(e,n,s,i){if(!this.hls)return;let r=Error(e);this.hls.trigger(Z.ERROR,{type:Dt.MEDIA_ERROR,details:Oe.FRAG_PARSING_ERROR,chunkMeta:i,frag:n,part:s,fatal:!1,error:r,err:r})}_bufferInitSegment(){}bufferFragmentData(e,n,s,i){super.bufferFragmentData(e,n,s,i,!0);let r=$t(new Uint8Array(e.data1),["mdat"]);if(r.length===0){this.handleError("Could not find I-Frame mdat",n,s,i);return}let a=n;this.cacheSet(a,r[0]),this.updateImage(a,s,i)}fragBufferedComplete(e,n){this.fragmentTracker.fragBuffered(e,!0),super.fragBufferedComplete(e,n),this.processQueued()}checkFragPlaying(){var e;let n=(e=this.fragPrevious)==null?void 0:e.start;if(n!==void 0){let s=this.getAppendedFrag(n);if(s&&!hh(s,this.fragPlaying))return this.fragPlaying=s,!0}return!1}getMainFwdBufferInfo(){return{len:0,start:this.playhead,end:this.playhead,bufferedIndex:-1}}}var R_=10,D_="Image I-Frame player does not accept HTMLMediaElements",z3={seekOnAppend:!0},Ud,Vg;class wv extends Zi{constructor(e,n){super("iframes",e.logger);this.hls=void 0,this.stats=void 0,this.variableList=null,this.initPTS=[],this.iframeInstances=void 0,this.instanceCounter=0,Ud||(Ud=M_(n)),Vg||(Vg=F_(Ud)),this.hls=e,this.iframeInstances=[],this.registerListeners()}registerListeners(){let e=this.hls;if(e)e.on(Z.MANIFEST_LOADING,this.clearAsset,this),e.on(Z.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(Z.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(Z.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(Z.FRAG_BUFFERED,this.onFragBuffered,this),e.on(Z.DESTROYING,this.onDestroying,this)}unregisterListeners(){let e=this.hls;if(e)e.off(Z.MANIFEST_LOADING,this.clearAsset,this),e.off(Z.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(Z.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(Z.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(Z.FRAG_BUFFERED,this.onFragBuffered,this),e.off(Z.DESTROYING,this.onDestroying,this)}clearAsset(){this.stats=void 0,this.variableList=null,this.initPTS=[],this.iframeInstances.forEach((e)=>e.destroy()),this.iframeInstances.length=0}onDestroying(){this.unregisterListeners(),this.clearAsset(),this.hls=void 0}onManifestLoaded(e,n){this.stats=n.stats,this.variableList=n.variableList}onLevelsUpdated(e,{levels:n}){var s;let i=(s=this.hls)==null?void 0:s.pathwayPriority;if(n.length&&i)this.iframeInstances.forEach((r)=>{r.pathwayPriority=i})}onInitPtsFound(e,{id:n,timestampOffsets:s}){if(n===Ct.MAIN)this.initPTS=s}onFragBuffered(e,n){var s;let i=this.hls;if(!i)return;if(i.hasEnoughToStart&&(((s=i.mainForwardBufferInfo)==null?void 0:s.len)||0)>R_)this.iframeInstances.forEach((r)=>{if(!r.loadingEnabled){var a;r.startLoad(((a=this.hls)==null||(a=a.media)==null?void 0:a.currentTime)||0)}})}createIFramePlayer(e){var n;return this.createInstance(Ud,(n=this.hls)==null?void 0:n.iframeVariants,e)}createImageIFramePlayer(e){var n;let s=(n=this.hls)==null?void 0:n.iframeVariants.filter((i)=>i.imageCodec);return this.createInstance(Vg,s,e,"image-")}createInstance(e,n,s,i){let{hls:r}=this;if(!r)return null;let{url:a,userConfig:l,latestLevelDetails:c,loadLevelObj:f,loadLevel:d,bandwidthEstimate:b,sessionId:y}=r,{stats:v,variableList:k}=this;if(!(n!=null&&n.length)||!v||!a)return null;let A=`${i||""}iframe-player-${this.instanceCounter++}`,T=r.levels,R=f||T[d],D=_9(R,l.videoPreference),U=(R==null?void 0:R.pathwayId)||".",Y=qt(qt({},l),{},{loggerId:A,primarySessionId:y,videoPreference:D,abrEwmaDefaultEstimate:b,streamController:void 0,audioStreamController:void 0,audioTrackController:void 0,subtitleStreamController:void 0,subtitleTrackController:void 0,timelineController:void 0,id3TrackController:void 0,fpsController:void 0,gapController:void 0,iframeController:void 0,cmcd:void 0,interstitialsController:void 0,backBufferLength:1/0,maxMaxBufferLength:1,capLevelToPlayerSize:!0,enableWorker:!1,autoStartLoad:!1,startFragPrefetch:!1,testBandwidth:!1,progressive:!1},s),X=new e(Y,a,this.initPTS,c);return this.iframeInstances=this.iframeInstances.filter((J)=>!J.url),this.iframeInstances.push(X),X.trigger(Z.MANIFEST_LOADED,{levels:n,contentSteering:{uri:"",pathwayId:U},sessionKeys:null,audioTracks:[],iframeVariants:[],sessionData:null,startTimeOffset:null,stats:v,networkDetails:null,url:a,variableList:k}),X}}function M_(e){return class extends e{constructor(s,i,r,a){s.streamController||(s.streamController=sb);super(s);this._url=i,this.streamController.setInitPts(r),this.streamController.initDetails=a}loadSource(){}loadMediaAt(s,i=z3){if(s<0)return;let r=qt(qt({},z3),i);if(!this.loadingEnabled)this.startLoad(s);this.streamController.loadMediaAt(s,r)}}}function F_(e){return class extends e{constructor(s,i,r,a){s.cmcdController=void 0,s.emeController=void 0,s.streamController||(s.streamController=bv),s.capLevelController=void 0,s.bufferController=void 0;super(s,i,r,a)}attachImage(s){this.streamController.image=s}detachImage(){this.streamController.image=void 0}loadSource(){}attachMedia(){throw Error(D_)}detachMedia(){}recoverMediaError(){}transferMedia(){return null}loadMediaAt(s){if(s<0)return null;if(!this.loadingEnabled)this.startLoad(s);this.streamController.loadMediaAt(s)}}}var ll=0.025,h0=function(e){return e[e.Point=0]="Point",e[e.Range=1]="Range",e}({});function L_(e,n,s){return`${e.identifier}-${s+1}-${yh(n)}`}class yv{constructor(e,n){this.base=void 0,this._duration=null,this._timelineStart=null,this.appendInPlaceDisabled=void 0,this.appendInPlaceStarted=void 0,this.dateRange=void 0,this.hasPlayed=!1,this.cumulativeDuration=0,this.resumeOffset=NaN,this.playoutLimit=NaN,this.restrictions={skip:!1,jump:!1},this.snapOptions={out:!1,in:!1},this.assetList=[],this.assetListLoader=void 0,this.assetListResponse=null,this.resumeAnchor=void 0,this.error=void 0,this.resetOnResume=void 0,this.base=n,this.dateRange=e,this.setDateRange(e)}setDateRange(e){this.dateRange=e,this.resumeOffset=e.attr.optionalFloat("X-RESUME-OFFSET",this.resumeOffset),this.playoutLimit=e.attr.optionalFloat("X-PLAYOUT-LIMIT",this.playoutLimit),this.restrictions=e.attr.enumeratedStringList("X-RESTRICT",this.restrictions),this.snapOptions=e.attr.enumeratedStringList("X-SNAP",this.snapOptions)}reset(){var e;if(this.appendInPlaceStarted=!1,(e=this.assetListLoader)==null||e.destroy(),this.assetListLoader=void 0,!this.supplementsPrimary)this.assetListResponse=null,this.assetList=[],this._duration=null}isAssetPastPlayoutLimit(e){var n;if(e>0&&e>=this.assetList.length)return!0;let s=this.playoutLimit;if(e<=0||isNaN(s))return!1;if(s===0)return!0;return(((n=this.assetList[e])==null?void 0:n.startOffset)||0)>s}findAssetIndex(e){return this.assetList.indexOf(e)}get identifier(){return this.dateRange.id}get startDate(){return this.dateRange.startDate}get startTime(){let e=this.dateRange.startTime;if(this.snapOptions.out){let n=this.dateRange.tagAnchor;if(n){if(!G3(n,e))return e;return Kd(e,n)}}return e}get startOffset(){return this.cue.pre?0:this.startTime}get startIsAligned(){if(this.startTime===0||this.snapOptions.out)return!0;let e=this.dateRange.tagAnchor;if(e){let n=this.dateRange.startTime,s=Kd(n,e);return n-s<0.1}return!1}get resumptionOffset(){let e=this.resumeOffset,n=ht(e)?e:this.duration;return this.cumulativeDuration+n}get resumeTime(){let e=this.startOffset+this.resumptionOffset;if(this.snapOptions.in){let n=this.resumeAnchor;if(n){if(!G3(n,e))return e;return Kd(e,n)}}return e}get appendInPlace(){if(this.appendInPlaceStarted)return!0;if(this.appendInPlaceDisabled)return!1;if(!this.cue.once&&!this.cue.pre&&this.startIsAligned&&(isNaN(this.playoutLimit)&&isNaN(this.resumeOffset)||this.resumeOffset&&this.duration&&Math.abs(this.resumeOffset-this.duration)<ll))return!0;return!1}set appendInPlace(e){if(this.appendInPlaceStarted){this.resetOnResume=!e;return}this.appendInPlaceDisabled=!e}get timelineStart(){if(this._timelineStart!==null)return this._timelineStart;return this.startTime}set timelineStart(e){this._timelineStart=e}get duration(){let e=this.playoutLimit,n;if(this._duration!==null)n=this._duration;else if(this.dateRange.duration)n=this.dateRange.duration;else n=this.dateRange.plannedDuration||0;if(!isNaN(e)&&e<n)n=e;return n}set duration(e){this._duration=e}get cue(){return this.dateRange.cue}get timelineOccupancy(){if(this.dateRange.attr["X-TIMELINE-OCCUPIES"]==="RANGE")return h0.Range;return h0.Point}get supplementsPrimary(){return this.dateRange.attr["X-TIMELINE-STYLE"]==="PRIMARY"}get contentMayVary(){return this.dateRange.attr["X-CONTENT-MAY-VARY"]!=="NO"}get assetUrl(){return this.dateRange.attr["X-ASSET-URI"]}get assetListUrl(){return this.dateRange.attr["X-ASSET-LIST"]}get baseUrl(){return this.base.url}get assetListLoaded(){return this.assetList.length>0||this.assetListResponse!==null}toString(){return O_(this)}}function Kd(e,n){return e-n.start<n.duration/2&&!(Math.abs(e-(n.start+n.duration))<ll)?n.start:n.start+n.duration}function G3(e,n){return n>e.start-ll&&n<e.start+e.duration+ll}function vv(e,n,s){let i=new self.URL(e,s);if(i.protocol!=="data:")ol(i,"_HLS_primary_id",n);return i}function $g(e,n){while((s=e.assetList[++n])!=null&&s.error)var s;return n}function O_(e){return`["${e.identifier}" ${e.cue.pre?"<pre>":e.cue.post?"<post>":""}${e.timelineStart.toFixed(2)}-${e.resumeTime.toFixed(2)}]`}function Qc(e){let n=e.timelineStart,s=e.duration||0;return`["${e.identifier}" ${n.toFixed(2)}-${(n+s).toFixed(2)}]`}class Sv{constructor(e,n,s,i){this.hls=void 0,this.interstitial=void 0,this.assetItem=void 0,this.tracks=null,this.hasDetails=!1,this.mediaAttached=null,this._currentTime=void 0,this._bufferedEosTime=void 0,this.checkPlayout=()=>{if(this.reachedPlayout(this.currentTime)&&this.hls)this.hls.trigger(Z.PLAYOUT_LIMIT_REACHED,{})};let r=this.hls=new e(n);this.interstitial=s,this.assetItem=i;let a=()=>{this.hasDetails=!0};r.once(Z.LEVEL_LOADED,a),r.once(Z.AUDIO_TRACK_LOADED,a),r.once(Z.SUBTITLE_TRACK_LOADED,a),r.on(Z.MEDIA_ATTACHING,(l,{media:c})=>{if(this.removeMediaListeners(),this.mediaAttached=c,this.interstitial.playoutLimit){if(c.addEventListener("timeupdate",this.checkPlayout),this.appendInPlace)r.on(Z.BUFFER_APPENDED,()=>{let d=this.bufferedEnd;if(this.reachedPlayout(d))this._bufferedEosTime=d,r.trigger(Z.BUFFERED_TO_END,void 0)})}})}get appendInPlace(){return this.interstitial.appendInPlace}loadSource(){let e=this.hls;if(!e)return;if(!e.url){let n=this.assetItem.uri;try{n=vv(n,e.config.primarySessionId||"").href}catch(s){}e.loadSource(n)}else if(e.levels.length&&!e.started)e.startLoad(-1,!0)}bufferedInPlaceToEnd(e,n){var s;if(!this.appendInPlace)return!1;if((s=this.hls)!=null&&s.bufferedToEnd)return!0;if(!e)return!1;let i=Math.min(this._bufferedEosTime||1/0,this.duration),r=this.timelineOffset+(n||0),a=Ot.bufferInfo(e,r,0.02);return this.getAssetTime(a.end)>=i-0.02}reachedPlayout(e){let s=this.interstitial.playoutLimit;return this.startOffset+e>=s}get destroyed(){var e;return!((e=this.hls)!=null&&e.userConfig)}get assetId(){return this.assetItem.identifier}get interstitialId(){return this.assetItem.parentIdentifier}get media(){var e;return((e=this.hls)==null?void 0:e.media)||null}get bufferedEnd(){let e=this.media||this.mediaAttached;if(!e){if(this._bufferedEosTime)return this._bufferedEosTime;return this.currentTime}let n=Ot.bufferInfo(e,e.currentTime,0.001);return this.getAssetTime(n.end)}get currentTime(){let e=this.media||this.mediaAttached;if(!e)return this._currentTime||0;return this.getAssetTime(e.currentTime)}get duration(){let e=this.assetItem.duration;if(!e)return 0;let n=this.interstitial.playoutLimit;if(n){let s=n-this.startOffset;if(s>0&&s<e)return s}return e}get remaining(){let e=this.duration;if(!e)return 0;return Math.max(0,e-this.currentTime)}get startOffset(){return this.assetItem.startOffset}get timelineOffset(){var e;return((e=this.hls)==null?void 0:e.config.timelineOffset)||0}set timelineOffset(e){let n=this.timelineOffset;if(e!==n){let s=e-n;if(Math.abs(s)>0.000011111111111111112&&this.hls){if(this.hasDetails)throw Error("Cannot set timelineOffset after playlists are loaded");this.hls.config.timelineOffset=e}}}getAssetTime(e){let n=this.timelineOffset,s=this.duration;return Math.min(Math.max(0,e-n),s)}removeMediaListeners(){let e=this.mediaAttached;if(e)this._currentTime=e.currentTime,this.bufferSnapShot(),e.removeEventListener("timeupdate",this.checkPlayout)}bufferSnapShot(){if(this.mediaAttached){var e;if((e=this.hls)!=null&&e.bufferedToEnd)this._bufferedEosTime=this.bufferedEnd}}destroy(){if(this.removeMediaListeners(),this.hls)this.hls.destroy();this.hls=null,this.tracks=this.mediaAttached=this.checkPlayout=null}attachMedia(e){var n;this.loadSource(),(n=this.hls)==null||n.attachMedia(e)}detachMedia(){var e;this.removeMediaListeners(),this.mediaAttached=null,(e=this.hls)==null||e.detachMedia()}resumeBuffering(){var e;(e=this.hls)==null||e.resumeBuffering()}pauseBuffering(){var e;(e=this.hls)==null||e.pauseBuffering()}transferMedia(){var e;return this.bufferSnapShot(),((e=this.hls)==null?void 0:e.transferMedia())||null}resetDetails(){let e=this.hls;if(e&&this.hasDetails){e.stopLoad();let n=(s)=>delete s.details;e.levels.forEach(n),e.allAudioTracks.forEach(n),e.allSubtitleTracks.forEach(n),this.hasDetails=!1}}on(e,n,s){var i;(i=this.hls)==null||i.on(e,n)}once(e,n,s){var i;(i=this.hls)==null||i.once(e,n)}off(e,n,s){var i;(i=this.hls)==null||i.off(e,n)}toString(){var e;return`HlsAssetPlayer: ${Qc(this.assetItem)} ${(e=this.hls)==null?void 0:e.sessionId} ${this.appendInPlace?"append-in-place":""}`}}var Wg=0.033;class kv extends Zi{constructor(e,n){super("interstitials-sched",n);this.onScheduleUpdate=void 0,this.eventMap={},this.events=null,this.items=null,this.durations={primary:0,playout:0,integrated:0},this.onScheduleUpdate=e}destroy(){this.reset(),this.onScheduleUpdate=null}reset(){if(this.eventMap={},this.setDurations(0,0,0),this.events)this.events.forEach((e)=>e.reset());this.events=this.items=null}resetErrorsInRange(e,n){if(this.events)return this.events.reduce((s,i)=>{if(e<=i.startOffset&&n>i.startOffset)return delete i.error,s+1;return s},0);return 0}get duration(){let e=this.items;return e?e[e.length-1].end:0}get length(){return this.items?this.items.length:0}getEvent(e){return e?this.eventMap[e]||null:null}hasEvent(e){return e in this.eventMap}findItemIndex(e,n){if(e.event)return this.findEventIndex(e.event.identifier);let s=-1;if(e.nextEvent)s=this.findEventIndex(e.nextEvent.identifier)-1;else if(e.previousEvent)s=this.findEventIndex(e.previousEvent.identifier)+1;let i=this.items;if(i){if(!i[s]){if(n===void 0)n=e.start;s=this.findItemIndexAtTime(n)}while(s>=0&&(r=i[s])!=null&&r.event){var r;s--}}return s}findItemIndexAtTime(e,n){let s=this.items;if(s)for(let i=0;i<s.length;i++){let r=s[i];if(n&&n!=="primary")r=r[n];let a=r.start,l=s[i].event,c=l!=null&&l.cue.pre?l.duration:r.end;if(e===a||e>a&&e<c)return i}return-1}findJumpRestrictedIndex(e,n){let s=this.items;if(s)for(let i=e;i<=n;i++){if(!s[i])break;let r=s[i].event;if(r!=null&&r.restrictions.jump&&!r.appendInPlace)return i}return-1}findEventIndex(e){let n=this.items;if(n)for(let i=n.length;i--;){var s;if(((s=n[i].event)==null?void 0:s.identifier)===e)return i}return-1}findAssetIndex(e,n){let s=e.assetList,i=s.length;if(i>1)for(let r=0;r<i;r++){let a=s[r];if(!a.error){let l=a.timelineStart;if(n===l||n>l&&(n<l+(a.duration||0)||r===i-1))return r}}return 0}get assetIdAtEnd(){var e;let n=(e=this.items)==null||(e=e[this.length-1])==null?void 0:e.event;if(n){let s=n.assetList,i=s[s.length-1];if(i)return i.identifier}return null}parseInterstitialDateRanges(e,n,s=0){let i=e.main.details,{dateRanges:r}=i,a=this.events,l=this.parseDateRanges(r,{url:i.url},n),c=Object.keys(r),f=a?a.filter((d)=>c.indexOf(d.identifier)===-1):[];if(l.length)l.sort((d,b)=>{let y=d.cue.pre,v=d.cue.post,k=b.cue.pre,A=b.cue.post;if(y&&!k)return-1;if(k&&!y)return 1;if(v&&!A)return 1;if(A&&!v)return-1;if(!y&&!k&&!v&&!A){let T=d.startTime,R=b.startTime;if(T!==R)return T-R}return d.dateRange.tagOrder-b.dateRange.tagOrder});this.events=l,f.forEach((d)=>{this.removeEvent(d)}),this.updateSchedule(e,f,s)}updateSchedule(e,n=[],s=0,i=!1){let r=this.events||[];if(r.length||n.length||this.length<2){let a=this.items,l=this.parseSchedule(r,e,s);if(i||n.length||(a==null?void 0:a.length)!==l.length||l.some((f,d)=>Math.abs(f.playout.start-a[d].playout.start)>0.005||Math.abs(f.playout.end-a[d].playout.end)>0.005))this.items=l,this.onScheduleUpdate(n,a)}}parseDateRanges(e,n,s){let i=[],r=Object.keys(e);for(let a=0;a<r.length;a++){let l=r[a],c=e[l];if(c.isInterstitial){let f=this.eventMap[l];if(f)f.setDateRange(c);else if(f=new yv(c,n),this.eventMap[l]=f,s===!1)f.appendInPlace=s;i.push(f)}}return i}parseSchedule(e,n,s=0){let i=[],r=n.main.details,a=r.live?1/0:r.edge,l=0;if(e=e.filter((f)=>!f.error&&!(f.cue.once&&f.hasPlayed)),e.length){this.resolveOffsets(e,n);let f=0,d=0;if(e.forEach((b,y)=>{let v=b.cue.pre,k=b.cue.post,A=e[y-1]||null,T=b.appendInPlace,R=k?a:b.startOffset,D=b.duration,U=b.timelineOccupancy===h0.Range?D:0,Y=v&&r.live?s+(b.resumeOffset||0):0,X=Y||b.resumptionOffset,J=(A==null?void 0:A.startTime)===R,ee=R+b.cumulativeDuration,te=T?ee+D:R+X;if(v||!k&&R<=0){let ie=d;d+=U,b.timelineStart=ee;let se=l;l+=D,i.push({event:b,start:ee,end:te,playout:{start:se,end:l},integrated:{start:ie,end:d}})}else if(R<=a){if(!J){let ae=R-f;if(ae>Wg){let be=f,ye=d;d+=ae;let fe=l;l+=ae;let le={previousEvent:e[y-1]||null,nextEvent:b,start:be,end:be+ae,playout:{start:fe,end:l},integrated:{start:ye,end:d}};i.push(le)}else if(ae>0&&A)A.cumulativeDuration+=ae,i[i.length-1].end=R}if(k)te=ee;b.timelineStart=ee;let ie=d;d+=U;let se=l;l+=D,i.push({event:b,start:ee,end:te,playout:{start:se,end:l},integrated:{start:ie,end:d}})}else return;let ne=Y||b.resumeTime;if(k||ne>a)f=a;else if(!v&&te&&b.appendInPlaceStarted&&ne-te>Wg)f=te;else f=ne}),f<a){var c;let b=f,y=d,v=a-f;d+=v;let k=l;l+=v,i.push({previousEvent:((c=i[i.length-1])==null?void 0:c.event)||null,nextEvent:null,start:f,end:b+v,playout:{start:k,end:l},integrated:{start:y,end:d}})}this.setDurations(a,l,d)}else i.push({previousEvent:null,nextEvent:null,start:0,end:a,playout:{start:0,end:a},integrated:{start:0,end:a}}),this.setDurations(a,a,a);return i}setDurations(e,n,s){this.durations={primary:e,playout:n,integrated:s}}resolveOffsets(e,n){let s=n.main.details,i=s.live?1/0:s.edge,r=0,a=-1;e.forEach((l,c)=>{let f=l.cue.pre,d=l.cue.post,b=f?0:d?i:l.startTime;if(this.updateAssetDurations(l),a===b)l.cumulativeDuration=r;else r=0,a=b;if(!d&&l.snapOptions.in)l.resumeAnchor=af(null,s.fragments,l.startOffset+l.resumptionOffset,0,0)||void 0;if(l.appendInPlace&&!l.appendInPlaceStarted){if(!this.primaryCanResumeInPlaceAt(l,n))l.appendInPlace=!1}if(!l.appendInPlace&&c+1<e.length){if(e[c+1].startTime-e[c].resumeTime<Wg){if(e[c+1].appendInPlace=!1,e[c+1].appendInPlace)this.warn(`Could not change append strategy for abutting event ${l}`)}}let v=ht(l.resumeOffset)?l.resumeOffset:l.duration;r+=v})}primaryCanResumeInPlaceAt(e,n){let s=e.resumeTime,i=e.startTime+e.resumptionOffset;if(Math.abs(s-i)>ll)return this.log(`"${e.identifier}" resumption ${s} not aligned with estimated timeline end ${i}`),!1;return!Object.keys(n).some((a)=>{let l=n[a].details,c=l.edge;if(s>=c)return this.log(`"${e.identifier}" resumption ${s} past ${a} playlist end ${c}`),!1;let f=af(null,l.fragments,s);if(!f)return this.log(`"${e.identifier}" resumption ${s} does not align with any fragments in ${a} playlist (${l.fragStart}-${l.fragmentEnd})`),!0;let d=a==="audio"?0.175:0;if(!(Math.abs(f.start-s)<ll+d||Math.abs(f.end-s)<ll+d))return this.log(`"${e.identifier}" resumption ${s} not aligned with ${a} fragment bounds (${f.start}-${f.end} sn: ${f.sn} cc: ${f.cc})`),!0;return!1})}updateAssetDurations(e){if(!e.assetListLoaded)return;let n=e.timelineStart,s=0,i=!1,r=!1;for(let a=0;a<e.assetList.length;a++){let l=e.assetList[a],c=n+s;l.startOffset=s,l.timelineStart=c,i||(i=l.duration===null),r||(r=!!l.error);let f=l.error?0:l.duration||0;s+=f}if(i&&!r)e.duration=Math.max(s,e.duration);else e.duration=s}removeEvent(e){e.reset(),delete this.eventMap[e.identifier]}}function pr(e){return`[${e.event?'"'+e.event.identifier+'"':"primary"}: ${e.start.toFixed(2)}-${e.end.toFixed(2)}]`}class xv{constructor(e){this.hls=void 0,this.hls=e}destroy(){this.hls=null}loadAssetList(e,n){let s=e.assetListUrl,i;try{i=vv(s,this.hls.sessionId,e.baseUrl)}catch(y){let v=this.assignAssetListError(e,Oe.ASSET_LIST_LOAD_ERROR,y,s);this.hls.trigger(Z.ERROR,v);return}if(n&&i.protocol!=="data:")ol(i,"_HLS_start_offset",""+n);let r=this.hls.config,l=new r.loader(r),c={type:un.INTERSTITIAL_ASSET_LIST,responseType:"json",url:i.href},f=r.interstitialAssetListLoadPolicy.default,d={loadPolicy:f,timeout:f.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},b={onSuccess:(y,v,k,A)=>{let T=y.data,R=T==null?void 0:T.ASSETS;if(!Array.isArray(R)){let D=this.assignAssetListError(e,Oe.ASSET_LIST_PARSING_ERROR,Error("Invalid interstitial asset list"),k.url,v,A);this.hls.trigger(Z.ERROR,D);return}e.assetListResponse=T,this.hls.trigger(Z.ASSET_LIST_LOADED,{event:e,assetListResponse:T,networkDetails:A})},onError:(y,v,k,A)=>{let T=this.assignAssetListError(e,Oe.ASSET_LIST_LOAD_ERROR,Error(`Error loading X-ASSET-LIST: HTTP status ${y.code} ${y.text} (${v.url})`),v.url,A,k);this.hls.trigger(Z.ERROR,T)},onTimeout:(y,v,k)=>{let A=this.assignAssetListError(e,Oe.ASSET_LIST_LOAD_TIMEOUT,Error(`Timeout loading X-ASSET-LIST (${v.url})`),v.url,y,k);this.hls.trigger(Z.ERROR,A)}};return l.load(c,d,b),this.hls.trigger(Z.ASSET_LIST_LOADING,{event:e}),l}assignAssetListError(e,n,s,i,r,a){return e.error=s,{type:Dt.NETWORK_ERROR,details:n,fatal:!1,interstitial:e,url:i,error:s,networkDetails:a,stats:r}}}function V3(e){var n;e==null||(n=e.play())==null||n.catch(()=>{})}function Wl(e,n){return`[${e}] Advancing timeline position to ${n}`}class Av extends Zi{constructor(e,n){super("interstitials",e.logger);this.HlsPlayerClass=void 0,this.hls=void 0,this.assetListLoader=void 0,this.mediaSelection=null,this.altSelection=null,this.media=null,this.detachedData=null,this.requiredTracks=null,this.manager=null,this.playerQueue=[],this.bufferedPos=-1,this.timelinePos=-1,this.schedule=void 0,this.playingItem=null,this.bufferingItem=null,this.waitingItem=null,this.endedItem=null,this.playingAsset=null,this.endedAsset=null,this.bufferingAsset=null,this.bufferPastEdge=!1,this.shouldPlay=!1,this.onPlay=()=>{this.shouldPlay=!0},this.onPause=()=>{this.shouldPlay=!1},this.onSeeking=()=>{let s=this.currentTime;if(s===void 0||this.playbackDisabled||!this.schedule)return;let i=s-this.timelinePos;if(Math.abs(i)<0.0000000014172335600907028)return;let a=i<=-0.01;if(this.timelinePos===-1&&!this.effectivePlayingItem)this.checkStart();this.timelinePos=s,this.bufferedPos=s;let l=this.playingItem;if(!l){this.checkBuffer();return}if(a){if(this.schedule.resetErrorsInRange(s,s-i))this.updateSchedule(!0)}if(this.checkBuffer(),a&&s<l.start||s>=l.end){var c;let v=this.findItemIndex(l),k=this.schedule.findItemIndexAtTime(s);if(k===-1)k=v+(a?-1:1),this.log(`seeked ${a?"back ":""}to position not covered by schedule ${s} (resolving from ${v} to ${k})`);if(!this.isInterstitial(l)&&(c=this.media)!=null&&c.paused)this.shouldPlay=!1;if(!a){if(k>v){let A=this.schedule.findJumpRestrictedIndex(v+1,k);if(A>v){this.setSchedulePosition(A);return}}}this.setSchedulePosition(k);return}let f=this.playingAsset;if(!f){if(this.playingLastItem&&this.isInterstitial(l)){let v=l.event.assetList[0];if(v)this.endedItem=this.playingItem,this.playingItem=null,this.setScheduleToAssetAtTime(s,v)}return}let d=f.timelineStart,b=f.duration||0;if(a&&s<d||s>=d+b){var y;if((y=l.event)!=null&&y.appendInPlace)this.clearAssetPlayers(l.event,l),this.flushFrontBuffer(s);this.setScheduleToAssetAtTime(s,f)}},this.onTimeupdate=()=>{let s=this.currentTime;if(s===void 0||this.playbackDisabled)return;if(this.timelinePos===-1&&!this.effectivePlayingItem)this.checkStart();if(s>this.timelinePos){if(this.timelinePos=s,s>this.bufferedPos)this.checkBuffer()}else return;let i=this.playingItem;if(!i||this.playingLastItem)return;if(s>=i.end){this.timelinePos=i.end;let l=this.findItemIndex(i);this.setSchedulePosition(l+1)}let r=this.playingAsset;if(!r)return;let a=r.timelineStart+(r.duration||0);if(s>=a)this.setScheduleToAssetAtTime(s,r)},this.onScheduleUpdate=(s,i)=>{let r=this.schedule;if(!r)return;let a=this.playingItem,l=r.events||[],c=r.items||[],f=r.durations,d=s.map((A)=>A.identifier),b=!!(l.length||d.length);if(b||i)this.log(`INTERSTITIALS_UPDATED (${l.length}): ${l}
52
- Schedule: ${c.map((A)=>pr(A))} pos: ${this.timelinePos}`);if(d.length)this.log(`Removed events ${d}`);let y=null,v=null;if(a)if(y=this.updateItem(a,this.timelinePos),this.itemsMatch(a,y))this.playingItem=y;else this.waitingItem=null;this.waitingItem=this.updateItem(this.waitingItem);let k=this.bufferingItem;if(k){if(v=this.updateItem(k,this.bufferedPos),this.itemsMatch(k,v))this.bufferingItem=v;else if(k.event)this.bufferingItem=this.playingItem,this.clearInterstitial(k.event,null)}if(s.forEach((A)=>{A.assetList.forEach((T)=>{this.clearAssetPlayer(T.identifier,null)})}),this.playerQueue.forEach((A)=>{if(A.interstitial.appendInPlace){let T=A.assetItem.timelineStart,R=A.timelineOffset-T;if(R)try{A.timelineOffset=T}catch(D){if(Math.abs(R)>ll)this.warn(`${D} ("${A.assetId}" ${A.timelineOffset}->${T})`)}}}),b||i){if(this.hls.trigger(Z.INTERSTITIALS_UPDATED,{events:l.slice(0),schedule:c.slice(0),durations:f,removedIds:d}),this.isInterstitial(a)&&d.indexOf(a.event.identifier)>-1){this.warn(`Interstitial "${a.event.identifier}" removed while playing`),this.primaryFallback(a.event);return}if(a)this.trimInPlace(y,a);if(k&&v!==y)this.trimInPlace(v,k);this.checkBuffer()}},this.hls=e,this.HlsPlayerClass=n,this.assetListLoader=new xv(e),this.schedule=new kv(this.onScheduleUpdate,e.logger),this.registerListeners()}registerListeners(){let e=this.hls;if(e)e.on(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(Z.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(Z.AUDIO_TRACK_UPDATED,this.onAudioTrackUpdated,this),e.on(Z.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(Z.SUBTITLE_TRACK_UPDATED,this.onSubtitleTrackUpdated,this),e.on(Z.EVENT_CUE_ENTER,this.onInterstitialCueEnter,this),e.on(Z.ASSET_LIST_LOADED,this.onAssetListLoaded,this),e.on(Z.BUFFER_APPENDED,this.onBufferAppended,this),e.on(Z.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(Z.BUFFERED_TO_END,this.onBufferedToEnd,this),e.on(Z.MEDIA_ENDED,this.onMediaEnded,this),e.on(Z.ERROR,this.onError,this),e.on(Z.DESTROYING,this.onDestroying,this)}unregisterListeners(){let e=this.hls;if(e)e.off(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(Z.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(Z.AUDIO_TRACK_UPDATED,this.onAudioTrackUpdated,this),e.off(Z.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(Z.SUBTITLE_TRACK_UPDATED,this.onSubtitleTrackUpdated,this),e.off(Z.EVENT_CUE_ENTER,this.onInterstitialCueEnter,this),e.off(Z.ASSET_LIST_LOADED,this.onAssetListLoaded,this),e.off(Z.BUFFER_CODECS,this.onBufferCodecs,this),e.off(Z.BUFFER_APPENDED,this.onBufferAppended,this),e.off(Z.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(Z.BUFFERED_TO_END,this.onBufferedToEnd,this),e.off(Z.MEDIA_ENDED,this.onMediaEnded,this),e.off(Z.ERROR,this.onError,this),e.off(Z.DESTROYING,this.onDestroying,this)}startLoad(){this.resumeBuffering()}stopLoad(){this.pauseBuffering()}resumeBuffering(){var e;(e=this.getBufferingPlayer())==null||e.resumeBuffering()}pauseBuffering(){var e;(e=this.getBufferingPlayer())==null||e.pauseBuffering()}destroy(){if(this.unregisterListeners(),this.stopLoad(),this.assetListLoader)this.assetListLoader.destroy();if(this.emptyPlayerQueue(),this.clearScheduleState(),this.schedule)this.schedule.destroy();this.media=this.detachedData=this.mediaSelection=this.requiredTracks=this.altSelection=this.schedule=this.manager=null,this.hls=this.HlsPlayerClass=null,this.assetListLoader=null,this.onPlay=this.onPause=this.onSeeking=this.onTimeupdate=null,this.onScheduleUpdate=null}onDestroying(){let e=this.primaryMedia||this.media;if(e)this.removeMediaListeners(e)}removeMediaListeners(e){Pn(e,"play",this.onPlay),Pn(e,"pause",this.onPause),Pn(e,"seeking",this.onSeeking),Pn(e,"timeupdate",this.onTimeupdate)}onMediaAttaching(e,n){let s=this.media=n.media;Bn(s,"seeking",this.onSeeking),Bn(s,"timeupdate",this.onTimeupdate),Bn(s,"play",this.onPlay),Bn(s,"pause",this.onPause)}onMediaAttached(e,n){let s=this.effectivePlayingItem,i=this.detachedData;if(this.detachedData=null,s===null)this.checkStart();else if(!i){this.clearScheduleState();let r=this.findItemIndex(s);this.setSchedulePosition(r)}}clearScheduleState(){this.log("clear schedule state"),this.playingItem=this.bufferingItem=this.waitingItem=this.endedItem=this.playingAsset=this.endedAsset=this.bufferingAsset=null}onMediaDetaching(e,n){let s=!!n.transferMedia,i=this.media;if(this.media=null,s)return;if(i)this.removeMediaListeners(i);if(this.detachedData){let r=this.getBufferingPlayer();if(r)this.log(`Removing schedule state for detachedData and ${r}`),this.playingAsset=this.endedAsset=this.bufferingAsset=this.bufferingItem=this.waitingItem=this.detachedData=null,r.detachMedia();this.shouldPlay=!1}}get interstitialsManager(){if(!this.hls)return null;if(this.manager)return this.manager;let e=this,n=()=>e.bufferingItem||e.waitingItem,s=(b)=>b?e.getAssetPlayer(b.identifier):b,i=(b,y,v,k,A)=>{if(b){let T=b[y].start,R=b.event;if(R){if(y==="playout"||R.timelineOccupancy!==h0.Point){let D=s(v);if((D==null?void 0:D.interstitial)===R)T+=D.assetItem.startOffset+D[A]}}else{let D=k==="bufferedPos"?a():e[k];T+=D-b.start}return T}return 0},r=(b,y)=>{var v;if(b!==0&&y!=="primary"&&(v=e.schedule)!=null&&v.length){var k;let A=e.schedule.findItemIndexAtTime(b),T=(k=e.schedule.items)==null?void 0:k[A];if(T){let R=T[y].start-T.start;return b+R}}return b},a=()=>{let b=e.bufferedPos;if(b===Number.MAX_VALUE)return l("primary");return Math.max(b,0)},l=(b)=>{var y,v;if((y=e.primaryDetails)!=null&&y.live)return e.primaryDetails.edge;return((v=e.schedule)==null?void 0:v.durations[b])||0},c=(b,y)=>{var v,k;let A=e.effectivePlayingItem;if(A!=null&&(v=A.event)!=null&&v.restrictions.skip||!e.schedule)return;e.log(`seek to ${b} "${y}"`);let T=e.effectivePlayingItem,R=e.schedule.findItemIndexAtTime(b,y),D=(k=e.schedule.items)==null?void 0:k[R],U=e.getBufferingPlayer(),Y=U==null?void 0:U.interstitial,X=Y==null?void 0:Y.appendInPlace,J=T&&e.itemsMatch(T,D);if(T&&(X||J)){let ee=s(e.playingAsset),te=(ee==null?void 0:ee.media)||e.primaryMedia;if(te){let ne=y==="primary"?te.currentTime:i(T,y,e.playingAsset,"timelinePos","currentTime"),ie=b-ne,se=(X?ne:te.currentTime)+ie;if(se>=0&&(!ee||X||se<=ee.duration)){te.currentTime=se;return}}}if(D){let ee=b;if(y!=="primary"){let ne=D[y].start,ie=b-ne;ee=D.start+ie}let te=!e.isInterstitial(D);if((!e.isInterstitial(T)||T.event.appendInPlace)&&(te||D.event.appendInPlace)){let ne=e.media||(X?U==null?void 0:U.media:null);if(ne)ne.currentTime=ee}else if(T){let ne=e.findItemIndex(T);if(R>ne){let se=e.schedule.findJumpRestrictedIndex(ne+1,R);if(se>ne){e.setSchedulePosition(se);return}}let ie=0;if(te)e.timelinePos=ee,e.checkBuffer();else{let se=D.event.assetList,ae=b-(D[y]||D).start;for(let be=se.length;be--;){let ye=se[be];if(ye.duration&&ae>=ye.startOffset&&ae<ye.startOffset+ye.duration){ie=be;break}}}e.setSchedulePosition(R,ie)}}},f=()=>{let b=e.effectivePlayingItem;if(e.isInterstitial(b))return b;let y=n();if(e.isInterstitial(y))return y;return null},d={get bufferedEnd(){let b=n(),y=e.bufferingItem;if(y&&y===b){var v;return i(y,"playout",e.bufferingAsset,"bufferedPos","bufferedEnd")-y.playout.start||((v=e.bufferingAsset)==null?void 0:v.startOffset)||0}return 0},get currentTime(){let b=f(),y=e.effectivePlayingItem;if(y&&y===b)return i(y,"playout",e.effectivePlayingAsset,"timelinePos","currentTime")-y.playout.start;return 0},set currentTime(b){let y=f(),v=e.effectivePlayingItem;if(v&&v===y)c(b+v.playout.start,"playout")},get duration(){let b=f();if(b)return b.playout.end-b.playout.start;return 0},get assetPlayers(){var b;let y=(b=f())==null?void 0:b.event.assetList;if(y)return y.map((v)=>e.getAssetPlayer(v.identifier));return[]},get playingIndex(){var b;let y=(b=f())==null?void 0:b.event;if(y&&e.effectivePlayingAsset)return y.findAssetIndex(e.effectivePlayingAsset);return-1},get scheduleItem(){return f()}};return this.manager={get events(){var b;return((b=e.schedule)==null||(b=b.events)==null?void 0:b.slice(0))||[]},get schedule(){var b;return((b=e.schedule)==null||(b=b.items)==null?void 0:b.slice(0))||[]},get interstitialPlayer(){if(f())return d;return null},get playerQueue(){return e.playerQueue.slice(0)},get bufferingAsset(){return e.bufferingAsset},get bufferingItem(){return n()},get bufferingIndex(){let b=n();return e.findItemIndex(b)},get playingAsset(){return e.effectivePlayingAsset},get playingItem(){return e.effectivePlayingItem},get playingIndex(){let b=e.effectivePlayingItem;return e.findItemIndex(b)},primary:{get bufferedEnd(){return a()},get currentTime(){let b=e.timelinePos;return b>0?b:0},set currentTime(b){c(b,"primary")},get duration(){return l("primary")},get seekableStart(){return e.seekableStart}},integrated:{get bufferedEnd(){return i(n(),"integrated",e.bufferingAsset,"bufferedPos","bufferedEnd")},get currentTime(){return i(e.effectivePlayingItem,"integrated",e.effectivePlayingAsset,"timelinePos","currentTime")},set currentTime(b){c(b,"integrated")},get duration(){return l("integrated")},get seekableStart(){return r(e.seekableStart,"integrated")}},skip:()=>{let b=e.effectivePlayingItem,y=b==null?void 0:b.event;if(y&&!y.restrictions.skip){let v=e.findItemIndex(b);if(y.appendInPlace){let k=b.playout.start+b.event.duration;c(k+0.001,"playout")}else e.advanceAfterAssetEnded(y,v,1/0)}}}}get effectivePlayingItem(){return this.waitingItem||this.playingItem||this.endedItem}get effectivePlayingAsset(){return this.playingAsset||this.endedAsset}get playingLastItem(){var e;let n=this.playingItem,s=(e=this.schedule)==null?void 0:e.items;if(!this.playbackStarted||!n||!s)return!1;return this.findItemIndex(n)===s.length-1}get playbackStarted(){return this.effectivePlayingItem!==null}get currentTime(){var e,n;if(this.mediaSelection===null)return;let s=this.waitingItem||this.playingItem;if(this.isInterstitial(s)&&!s.event.appendInPlace)return;let i=this.media;if(!i&&(e=this.bufferingItem)!=null&&(e=e.event)!=null&&e.appendInPlace)i=this.primaryMedia;let r=(n=i)==null?void 0:n.currentTime;if(r===void 0||!ht(r))return;return r}get primaryMedia(){var e;return this.media||((e=this.detachedData)==null?void 0:e.media)||null}isInterstitial(e){return!!(e!=null&&e.event)}retreiveMediaSource(e,n){let s=this.getAssetPlayer(e);if(s)this.transferMediaFromPlayer(s,n)}transferMediaFromPlayer(e,n){let s=e.interstitial.appendInPlace,i=e.media;if(s&&i===this.primaryMedia){if(this.bufferingAsset=null,!n||this.isInterstitial(n)&&!n.event.appendInPlace){if(n&&i){this.detachedData={media:i};return}}let r=e.transferMedia();this.log(`transfer MediaSource from ${e} ${us(r)}`),this.detachedData=r}else if(n&&i)this.shouldPlay||(this.shouldPlay=!i.paused)}transferMediaTo(e,n){var s,i;if(e.media===n)return;let r=null,a=this.hls,l=e!==a,c=l&&e.interstitial.appendInPlace,f=(s=this.detachedData)==null?void 0:s.mediaSource,d;if(a.media){if(c)r=a.transferMedia(),this.detachedData=r;d="Primary"}else{let k=this.getBufferingPlayer();if(k)r=k.transferMedia(),this.detachedData=r,d=`${k}`;else if(f)d="detached MediaSource";else d="detached media"}if(!r){if(f)r=this.detachedData,this.log(`using detachedData: MediaSource ${us(r)}`);else if(!this.detachedData||a.media===n){let k=this.playerQueue;if(k.length>1)k.forEach((A)=>{if(l&&A.interstitial.appendInPlace!==c){let T=A.interstitial;if(this.clearInterstitial(A.interstitial,null),T.appendInPlace=!1,T.appendInPlace)this.warn(`Could not change append strategy for queued assets ${T}`)}});this.hls.detachMedia(),this.detachedData={media:n}}}let b=r&&"mediaSource"in r&&((i=r.mediaSource)==null?void 0:i.readyState)!=="closed";if(this.log(`${b?"transfering MediaSource":"attaching media"} to ${l?e:"Primary"} from ${d} (media.currentTime: ${n.currentTime})`),!b&&!l){e.attachMedia(n);return}let y=b&&r?qt({},r):{media:n},v=this.schedule;if(v&&l){let k=e.assetId===v.assetIdAtEnd;y.overrides={duration:v.duration,endOfStream:k||e.appendInPlace===!1}}if(!b&&c){let k=e,A=k.assetItem.timelineStart;if(A){let T=k.hls,R=Math.max(this.timelinePos-A,Number.EPSILON);if(T.startPosition!==R){if(this.log(`Set ${k} startPosition: ${R}`),T.config.startPosition=R,T.loadingEnabled)T.startLoad(R)}}}e.attachMedia(y)}onInterstitialCueEnter(){this.onTimeupdate()}checkStart(){let e=this.schedule,n=e==null?void 0:e.events,s=this.hls;if(!n||this.playbackDisabled||!this.media||!s)return;if(this.bufferedPos===-1)this.bufferedPos=0;let i=this.timelinePos,r=this.effectivePlayingItem;if(i===-1){if(!s.loadingEnabled){this.log("waiting for startLoad( <startPosition> )");return}let a=s.startPosition;if(this.timelinePos=a,n.length===0)this.setSchedulePosition(0);else if(n[0].cue.pre){this.log(Wl("checkStart (preroll)",a));let l=e.findEventIndex(n[0].identifier);this.setSchedulePosition(l)}else if(a>=0||!this.primaryLive){this.log(Wl("checkStart",a));let l=this.timelinePos=a>0?a:0,c=e.findItemIndexAtTime(l);this.setSchedulePosition(c)}else if(s.liveSyncPosition===0)this.setSchedulePosition(0);else this.log("[checkStart] waiting for live start")}else if(r&&!this.playingItem){this.log(Wl("checkStart (playing item)",r.start));let a=e.findItemIndex(r);this.setSchedulePosition(a)}}advanceAssetBuffering(e,n){let s=e.event,i=s.findAssetIndex(n),r=$g(s,i);if(!s.isAssetPastPlayoutLimit(r))this.bufferedToEvent(e,r);else if(this.schedule){var a;let l=this.getNextItemIndex(e,!0),c=(a=this.schedule.items)==null?void 0:a[l];if(c)this.bufferedToItem(c)}}livePrerollResumption(e,n){if(e.cue.pre&&this.primaryLive&&!ht(e.resumeOffset)&&this.hls){let s=this.getLiveStartPos();if(n){let i=this.getBufferingPlayer(),r=i!=null&&i.interstitial.cue.pre?i.remaining:0;return s+r}return s}}getNextItemIndex(e,n){if(this.schedule){let s=this.livePrerollResumption(e.event,n);if(s!==void 0)return this.log(`find next item index @${s}`),this.schedule.findItemIndexAtTime(s)}return this.findItemIndex(e)+1}advanceAfterAssetEnded(e,n,s){let i=$g(e,s);if(!e.isAssetPastPlayoutLimit(i)){if(e.appendInPlace){let r=e.assetList[i];if(r)this.advanceInPlace(r.timelineStart)}this.setSchedulePosition(n,i)}else if(this.schedule){let r=this.schedule.items;if(r){let a=r[n],l=a.event?this.getNextItemIndex(a):n+1,c=r.length;if(l>=c){this.setSchedulePosition(-1);return}let f=e.resumeTime;if(this.timelinePos<f){if(this.log(Wl("advanceAfterAssetEnded",f)),this.timelinePos=f,e.appendInPlace&&!r[l].event)this.hls.startLoad(f+0.01);this.checkBuffer(this.bufferedPos<f)}this.setSchedulePosition(l)}}}setScheduleToAssetAtTime(e,n){let s=this.schedule;if(!s)return;let i=n.parentIdentifier,r=s.getEvent(i);if(r){let a=s.findEventIndex(i),l=s.findAssetIndex(r,e);this.advanceAfterAssetEnded(r,a,l-1)}}setSchedulePosition(e,n){var s;let i=(s=this.schedule)==null?void 0:s.items;if(!i||this.playbackDisabled)return;let r=e>=0?i[e]:null;this.log(`setSchedulePosition ${e}, ${n} (${r?pr(r):r}) pos: ${this.timelinePos}`);let a=this.waitingItem||this.playingItem,l=this.playingLastItem;if(this.isInterstitial(a)){let b=a.event,y=this.playingAsset,v=y==null?void 0:y.identifier,k=v?this.getAssetPlayer(v):null;if(k&&v&&(!this.eventItemsMatch(a,r)||n!==void 0&&v!==b.assetList[n].identifier)){var c;let A=b.findAssetIndex(y);if(this.log(`INTERSTITIAL_ASSET_ENDED ${A+1}/${b.assetList.length} ${Qc(y)}`),this.endedAsset=y,this.playingAsset=null,this.hls.trigger(Z.INTERSTITIAL_ASSET_ENDED,{asset:y,assetListIndex:A,event:b,schedule:i.slice(0),scheduleIndex:e,player:k}),a!==this.playingItem){if(this.itemsMatch(a,this.playingItem)&&!this.playingAsset)this.advanceAfterAssetEnded(b,this.findItemIndex(this.playingItem),A);return}if(this.retreiveMediaSource(v,r),k.media&&!((c=this.detachedData)!=null&&c.mediaSource))k.detachMedia()}if(!this.eventItemsMatch(a,r)){if(this.endedItem=a,this.playingItem=this.waitingItem=null,this.log(`INTERSTITIAL_ENDED ${b} ${pr(a)}`),b.hasPlayed=!0,this.hls.trigger(Z.INTERSTITIAL_ENDED,{event:b,schedule:i.slice(0),scheduleIndex:e}),b.cue.once&&this.hls){var f;this.updateSchedule();let A=(f=this.schedule)==null?void 0:f.items;if(r&&A){let T=this.findItemIndex(r),R=this.livePrerollResumption(b);if(R!==void 0){let D=R,U=this.getNextItemIndex(a);if(!this.isInterstitial(i[U])){var d;let Y=(d=this.primaryDetails)==null?void 0:d.fragments;if(b.snapOptions.in&&Y){let X=af(null,Y,R);if(X)D=Math.min(Math.max(i[U].start,Kd(D,X)),i[U].end)}}if(this.log(Wl("live join (preroll)",D)),this.timelinePos=D,U!==T&&(U||U===0)){this.advanceSchedule(U,A,void 0,a,l);return}}this.advanceSchedule(T,A,n,a,l)}return}}}this.advanceSchedule(e,i,n,a,l)}advanceSchedule(e,n,s,i,r){let a=this.schedule;if(!a)return;let l=n[e]||null,c=this.primaryMedia,f=this.playerQueue;if(f.length)f.forEach((d)=>{let b=d.interstitial,y=a.findEventIndex(b.identifier);if(y<e||y>e+1)this.clearInterstitial(b,l)});if(this.isInterstitial(l)){this.timelinePos=Math.min(Math.max(this.timelinePos,l.start),l.end);let d=l.event;if(s===void 0){s=d.cue.pre?0:a.findAssetIndex(d,this.timelinePos);let k=$g(d,s-1);if(d.isAssetPastPlayoutLimit(k)||d.appendInPlace&&this.timelinePos===l.end){this.advanceAfterAssetEnded(d,e,s);return}s=k}let b=this.waitingItem;if(!this.assetsBuffered(l,c))this.setBufferingItem(l);let y=this.preloadAssets(d,s);if(!this.eventItemsMatch(l,b||i))this.waitingItem=l,this.log(`INTERSTITIAL_STARTED ${pr(l)} ${d.appendInPlace?"append in place":""}`),d.hasPlayed=!1,this.hls.trigger(Z.INTERSTITIAL_STARTED,{event:d,schedule:n.slice(0),scheduleIndex:e});if(!d.assetListLoaded){this.log(`Waiting for ASSET-LIST to complete loading ${d}`);return}if(d.assetListLoader)d.assetListLoader.destroy(),d.assetListLoader=void 0;if(!c){this.log(`Waiting for attachMedia to start Interstitial ${d}`);return}this.waitingItem=this.endedItem=null,this.playingItem=l;let v=d.assetList[s];if(!v){this.advanceAfterAssetEnded(d,e,s||0);return}if(!y)y=this.getAssetPlayer(v.identifier);if(y===null||y.destroyed){let k=d.assetList.length;this.warn(`asset ${s+1}/${k} player destroyed ${d}`),y=this.createAssetPlayer(d,v,s),y.loadSource()}if(!this.eventItemsMatch(l,this.bufferingItem)){if(d.appendInPlace&&this.isAssetBuffered(v))return}if(this.startAssetPlayer(y,s,n,e,c),this.shouldPlay)V3(y.media)}else if(l){if(this.resumePrimary(l,e,i),this.shouldPlay)V3(this.hls.media)}else if(r&&this.isInterstitial(i)){if(this.endedItem=null,this.playingItem=i,!i.event.appendInPlace)this.attachPrimary(a.durations.primary,null)}}get playbackDisabled(){return this.hls.config.enableInterstitialPlayback===!1}get primaryDetails(){var e;return(e=this.mediaSelection)==null?void 0:e.main.details}get primaryLive(){var e;return!!((e=this.primaryDetails)!=null&&e.live)}resumePrimary(e,n,s){var i,r;this.playingItem=e,this.playingAsset=this.endedAsset=null,this.waitingItem=null,this.bufferedToItem(e),this.endedItem=null,this.log(`resuming ${pr(e)}`);let a=this.timelinePos;if(!((i=this.detachedData)!=null&&i.mediaSource)){if(a<e.start||a>=e.end||a<this.seekableStart)a=this.getPrimaryResumption(e,n),this.log(Wl("resumePrimary",a)),this.timelinePos=a;this.attachPrimary(a,e)}else if(this.primaryLive)this.startLoadingPrimaryAt(a);if(!s)return;let l=(r=this.schedule)==null?void 0:r.items;if(!l)return;this.log(`INTERSTITIALS_PRIMARY_RESUMED ${pr(e)}`),this.hls.trigger(Z.INTERSTITIALS_PRIMARY_RESUMED,{schedule:l.slice(0),scheduleIndex:n}),this.checkBuffer()}get seekableStart(){var e;return this.primaryLive?((e=this.primaryDetails)==null?void 0:e.fragmentStart)||0:0}getPrimaryResumption(e,n,s){let i=e.start;if(this.primaryLive){if(n===0)return this.hls.startPosition;let r=this.endedItem||this.playingItem,a=r!=null&&r.event?this.livePrerollResumption(r.event,s):void 0;if(a!==void 0)return a;let l=this.primaryDetails;if(l){let{fragmentStart:c,edge:f}=l;if(i<c||i>f&&!s){let d=this.hls.liveSyncPosition;return this.log(`primary resumption out of bounds (${i} [${c}-${f}]) snapping to liveSync ${d}`),d||c}}}return this.log(`primary resumption itemStart: ${i}`),i}getLiveStartPos(){var e;let n=this.hls.startPosition,s=this.hls.liveSyncPosition||0,i=(((e=this.primaryDetails)==null?void 0:e.targetduration)||10)*3;if(n===-1||s&&s-n<i)return s||0;return n}isAssetBuffered(e){let n=this.getAssetPlayer(e.identifier);if(n!=null&&n.hls)return n.hls.bufferedToEnd;return Ot.bufferInfo(this.primaryMedia,this.timelinePos,0).end+1>=e.timelineStart+(e.duration||0)}attachPrimary(e,n,s){if(n)this.setBufferingItem(n);else this.bufferingItem=this.playingItem;this.bufferingAsset=null;let i=this.primaryMedia;if(!i)return;let r=this.hls;if(r.media)this.checkBuffer();else if(this.transferMediaTo(r,i),s)this.startLoadingPrimaryAt(e,s);if(!s)this.log(Wl("attachPrimary",e)),this.timelinePos=e,this.startLoadingPrimaryAt(e,s)}startLoadingPrimaryAt(e,n){let s=this.hls,{loadingEnabled:i,bufferingEnabled:r,startPosition:a}=s,l=s.hasEnoughToStart;if(this.log(`Start loading primary @${e} bufferedPos: ${this.bufferedPos} startPosition: ${a} skip seek: ${n} has enough ${l} loadingEnabled: ${i} bufferingEnabled: ${r}`),!n&&l||!i||Math.abs(a-e)>0.1){let c=this.primaryDetails;if(c!=null&&c.live&&e+0.5>=c.edge){let f=this.bufferingItem;this.log(`Resume primary loading when live passes ${e} buffering item: ${f?pr(f):null}`),s.pauseBuffering(),this.bufferPastEdge=!0;return}s.startLoad(e,n)}else if(!r)s.resumeBuffering()}onManifestLoading(){var e;this.stopLoad(),(e=this.schedule)==null||e.reset(),this.emptyPlayerQueue(),this.clearScheduleState(),this.shouldPlay=!1,this.bufferedPos=this.timelinePos=-1,this.mediaSelection=this.altSelection=this.manager=this.requiredTracks=null,this.hls.off(Z.BUFFER_CODECS,this.onBufferCodecs,this),this.hls.on(Z.BUFFER_CODECS,this.onBufferCodecs,this)}onLevelUpdated(e,n){if(n.level===-1||!this.schedule)return;let s=this.hls.levels[n.level];if(!s.details)return;let i=qt(qt({},this.mediaSelection||this.altSelection),{},{main:s});this.mediaSelection=i;let r=this.hls.startPosition;if(this.schedule.parseInterstitialDateRanges(i,this.hls.config.interstitialAppendInPlace,r===-1?0:r),!this.schedule.items)return;if(!this.effectivePlayingItem)this.checkStart();else if(this.bufferPastEdge){let l=this.primaryDetails,c=this.bufferedPos;if(l!=null&&l.live&&c+0.5<l.edge){this.bufferPastEdge=!1;let f=this.bufferingItem;if(this.log(`Live edge ${l.edge} passed buffer: ${c} buffering item: ${f?pr(f):null}`),(f==null?void 0:f.end)===1/0){let b=this.playingItem,y=this.isInterstitial(b)&&b.event.appendInPlace;this.hls.startLoad(Math.max(c,f.start),y)}else{let b=this.getBufferingPlayer();if(b){if(b.bufferedInPlaceToEnd(this.primaryMedia,b.currentTime)&&b.hls)b.hls.trigger(Z.BUFFERED_TO_END,void 0)}}}}}onAudioTrackUpdated(e,n){let s=this.hls.audioTracks[n.id],i=this.mediaSelection;if(!i){this.altSelection=qt(qt({},this.altSelection),{},{audio:s});return}let r=qt(qt({},i),{},{audio:s});this.mediaSelection=r}onSubtitleTrackUpdated(e,n){let s=this.hls.subtitleTracks[n.id],i=this.mediaSelection;if(!i){this.altSelection=qt(qt({},this.altSelection),{},{subtitles:s});return}let r=qt(qt({},i),{},{subtitles:s});this.mediaSelection=r}onAudioTrackSwitching(e,n){let s=B5(n);this.playerQueue.forEach(({hls:i})=>i&&(i.setAudioOption(n)||i.setAudioOption(s)))}onSubtitleTrackSwitch(e,n){let s=B5(n);this.playerQueue.forEach(({hls:i})=>i&&(i.setSubtitleOption(n)||n.id!==-1&&i.setSubtitleOption(s)))}onBufferCodecs(e,n){let s=n.tracks;if(s)this.requiredTracks=s}onBufferAppended(e,n){this.checkBuffer()}onBufferFlushed(e,n){let s=this.playingItem;if(s&&!this.itemsMatch(s,this.bufferingItem)&&!this.isInterstitial(s)){let i=this.timelinePos;this.bufferedPos=i,this.checkBuffer()}}onBufferedToEnd(e){if(!this.schedule)return;let n=this.schedule.events;if(this.bufferedPos<Number.MAX_VALUE&&n){for(let s=0;s<n.length;s++){let i=n[s];if(i.cue.post){let r=this.getEventItem(i.identifier);if(r&&this.eventItemsMatch(r,this.bufferingItem))this.bufferedToItem(r,0);break}}this.bufferedPos=Number.MAX_VALUE}}onMediaEnded(e){let n=this.playingItem;if(!this.playingLastItem&&n){let s=this.findItemIndex(n);this.setSchedulePosition(s+1)}else this.shouldPlay=!1}updateItem(e,n){var s;let i=(s=this.schedule)==null?void 0:s.items;if(e&&i){let r=this.findItemIndex(e,n);return i[r]||null}return null}trimInPlace(e,n){if(this.isInterstitial(e)&&e.event.appendInPlace&&n.end-e.end>0.25){e.event.assetList.forEach((r,a)=>{if(e.event.isAssetPastPlayoutLimit(a))this.clearAssetPlayer(r.identifier,null)});let s=e.end+0.25,i=Ot.bufferInfo(this.primaryMedia,s,0);if(i.end>s||(i.nextStart||0)>s){this.log(`trim buffered interstitial ${pr(e)} (was ${pr(n)})`);let r=!0;this.attachPrimary(s,null,r),this.flushFrontBuffer(s)}}}itemsMatch(e,n){return!!n&&(e===n||e.event&&n.event&&this.eventItemsMatch(e,n)||!e.event&&!n.event&&this.findItemIndex(e)===this.findItemIndex(n))}eventItemsMatch(e,n){var s;return!!n&&(e===n||e.event.identifier===((s=n.event)==null?void 0:s.identifier))}findEventIndex(e){return this.schedule?this.schedule.findEventIndex(e):-1}getEventItem(e){if(this.schedule){var n;let s=(n=this.schedule.items)==null?void 0:n[this.findEventIndex(e)];if(this.isInterstitial(s)&&s.event.identifier===e)return s}}findItemIndex(e,n){return e&&this.schedule?this.schedule.findItemIndex(e,n):-1}updateSchedule(e=!1){var n,s;let i=this.mediaSelection;if(!i)return;let r=((n=this.hls)==null?void 0:n.liveSyncPosition)||0;(s=this.schedule)==null||s.updateSchedule(i,[],r,e)}checkBuffer(e){var n;let s=(n=this.schedule)==null?void 0:n.items;if(!s)return;let i=Ot.bufferInfo(this.primaryMedia,this.timelinePos,0);if(e)this.bufferedPos=this.timelinePos;e||(e=i.len<1),this.updateBufferedPos(i.end,s,e)}updateBufferedPos(e,n,s){let i=this.schedule,r=this.bufferingItem;if(this.bufferedPos>e||!i)return;if(n.length===1&&this.itemsMatch(n[0],r)){this.bufferedPos=e;return}let a=this.playingItem,l=this.findItemIndex(a),c=i.findItemIndexAtTime(e);if(this.bufferedPos<e){var f;let d=this.findItemIndex(r),b=Math.min(d+1,n.length-1),y=n[b];if(c===-1&&r&&e>=r.end||(f=y.event)!=null&&f.appendInPlace&&e+0.01>=y.start)c=b;if(this.isInterstitial(r)){let v=r.event;if(b-l>1&&v.appendInPlace===!1)return;if(v.assetList.length===0&&v.assetListLoader)return}if(this.bufferedPos=e,c>d&&c>l)this.bufferedToItem(y);else{let v=this.primaryDetails;if(this.primaryLive&&v&&e>v.edge-v.targetduration&&y.start<v.edge+this.hls.config.interstitialLiveLookAhead&&this.isInterstitial(y))this.preloadAssets(y.event,0)}}else if(s&&a&&!this.itemsMatch(a,r)){if(c===l)this.bufferedToItem(a);else if(c===l+1)this.bufferedToItem(n[c])}}assetsBuffered(e,n){if(e.event.assetList.length===0)return!1;return!e.event.assetList.some((i)=>{let r=this.getAssetPlayer(i.identifier);return!(r!=null&&r.bufferedInPlaceToEnd(n))})}setBufferingItem(e){let n=this.bufferingItem,s=this.schedule;if(!this.itemsMatch(e,n)&&s){let{items:i,events:r}=s;if(!i||!r)return n;let a=this.isInterstitial(e),l=this.getBufferingPlayer();this.bufferingItem=e,this.bufferedPos=Math.max(e.start,Math.min(e.end,this.timelinePos));let c=l?l.remaining:n?n.end-this.timelinePos:0;if(this.log(`INTERSTITIALS_BUFFERED_TO_BOUNDARY ${pr(e)}`+(n?` (${c.toFixed(2)} remaining)`:"")),!this.playbackDisabled)if(a){let f=s.findAssetIndex(e.event,this.bufferedPos);e.event.assetList.forEach((d,b)=>{let y=this.getAssetPlayer(d.identifier);if(y){if(b===f)y.loadSource();y.resumeBuffering()}})}else this.hls.resumeBuffering(),this.playerQueue.forEach((f)=>f.pauseBuffering());this.hls.trigger(Z.INTERSTITIALS_BUFFERED_TO_BOUNDARY,{events:r.slice(0),schedule:i.slice(0),bufferingIndex:this.findItemIndex(e),playingIndex:this.findItemIndex(this.playingItem)})}else if(this.bufferingItem!==e)this.bufferingItem=e;return n}bufferedToItem(e,n=0){let s=this.setBufferingItem(e);if(this.playbackDisabled)return;if(this.isInterstitial(e))this.bufferedToEvent(e,n);else if(s!==null){this.bufferingAsset=null;let i=this.getPrimaryResumption(e,this.findItemIndex(e),!0),r=this.bufferedPos=Math.max(i,Math.min(this.bufferedPos,e.end),this.timelinePos,e.start),a=this.detachedData;if(a)if(a.mediaSource)this.attachPrimary(r,e,!0);else this.startLoadingPrimaryAt(r);else{let l=this.playingItem,c=this.isInterstitial(l)&&l.event.appendInPlace;this.startLoadingPrimaryAt(r,c)}}}bufferedToEvent(e,n){let s=e.event,i=s.assetList.length===0&&!s.assetListLoader,r=s.cue.once;if(i||!r){let a=this.preloadAssets(s,n);if(a!=null&&a.interstitial.appendInPlace){let l=this.primaryMedia;if(l)this.bufferAssetPlayer(a,l)}}}preloadAssets(e,n){let s=e.assetUrl,i=e.assetList.length,r=i===0&&!e.assetListLoader,a=e.cue.once;if(r){let c=e.timelineStart,f=this.playingItem,d=this.getBufferingPlayer();if(e.appendInPlace){var l;if(!this.isInterstitial(f)&&(f==null||(l=f.nextEvent)==null?void 0:l.identifier)===e.identifier)this.flushFrontBuffer(c+0.25)}let b,y=0;if((!d||d.interstitial.cue.pre)&&this.primaryLive){if(y=this.getLiveStartPos(),d)y+=d.remaining}if(y&&!(e.cue.pre||e.cue.post)){let k=y-c;if(k>0)b=Math.round(k*1000)/1000}if(this.log(`Load interstitial asset ${n+1}/${s?1:i} ${e}${y?` live-start: ${y} start-offset: ${b} (timeline-start: ${c})`:""}`),s)return this.createAsset(e,0,0,c,e.duration,s);let v=this.assetListLoader.loadAssetList(e,b);if(v)e.assetListLoader=v}else if(!a&&i){for(let f=n;f<i;f++){let d=e.assetList[f],b=this.getAssetPlayerQueueIndex(d.identifier);if((b===-1||this.playerQueue[b].destroyed)&&!d.error)this.createAssetPlayer(e,d,f)}let c=e.assetList[n];if(c){let f=this.getAssetPlayer(c.identifier);if(f)f.loadSource();return f}}return null}flushFrontBuffer(e){let n=this.requiredTracks;if(!n)return;let s=this.primaryDetails;if(s&&e>=s.edge)return;this.log(`Removing front buffer starting at ${e}`),Object.keys(n).forEach((r)=>{this.hls.trigger(Z.BUFFER_FLUSHING,{startOffset:e,endOffset:1/0,type:r})})}getAssetPlayerQueueIndex(e){let n=this.playerQueue;for(let s=0;s<n.length;s++)if(e===n[s].assetId)return s;return-1}getAssetPlayer(e){let n=this.getAssetPlayerQueueIndex(e);return this.playerQueue[n]||null}getBufferingPlayer(){let{playerQueue:e,primaryMedia:n}=this;if(n){for(let s=0;s<e.length;s++)if(e[s].media===n)return e[s]}return null}createAsset(e,n,s,i,r,a){let l={parentIdentifier:e.identifier,identifier:L_(e,a,n),duration:r,startOffset:s,timelineStart:i,uri:a};return this.createAssetPlayer(e,l,n)}createAssetPlayer(e,n,s){let i=this.hls,r=i.userConfig,a=i.loadLevelObj||i.levels[i.currentLevel],l=_9(a,r.videoPreference),c=i.audioTracks[i.audioTrack],f=i.subtitleTracks[i.subtitleTrack],d=0;if(this.primaryLive||e.appendInPlace){let Y=this.timelinePos-n.timelineStart;if(Y>=0){let X=n.duration;if(X&&Y<X)d=Y}}let b=n.identifier,y=qt(qt({},r),{},{maxMaxBufferLength:Math.min(15,i.config.maxMaxBufferLength),autoStartLoad:!0,startFragPrefetch:!0,primarySessionId:i.sessionId,assetPlayerId:b,abrEwmaDefaultEstimate:i.bandwidthEstimate,interstitialsController:void 0,startPosition:d,liveDurationInfinity:!1,testBandwidth:!1,videoPreference:l,audioPreference:c||r.audioPreference,subtitlePreference:f||r.subtitlePreference});if(e.appendInPlace){if(e.appendInPlaceStarted=!0,n.timelineStart)y.timelineOffset=n.timelineStart}let v=y.cmcd;if(v!=null&&v.sessionId&&v.contentId)y.cmcd=Un({},v,{contentId:yh(n.uri)});if(this.getAssetPlayer(b))this.warn(`Duplicate date range identifier ${e} and asset ${b}`);let k=new Sv(this.HlsPlayerClass,y,e,n);this.playerQueue.push(k),e.assetList[s]=n;let A=!0,T=(Y)=>{if(Y.live){let ee=Error(`Interstitials MUST be VOD assets ${e}`),te={fatal:!0,type:Dt.OTHER_ERROR,details:Oe.INTERSTITIAL_ASSET_ITEM_ERROR,error:ee},ne=this.findEventIndex(e.identifier);this.handleAssetItemError(te,e,ne,s,ee.message);return}let X=Y.edge-Y.fragmentStart,J=n.duration;if(A||J===null||X>J)A=!1,this.log(`Interstitial asset "${b}" duration change ${J} > ${X}`),n.duration=X,this.updateSchedule()};k.on(Z.LEVEL_UPDATED,(Y,{details:X})=>T(X)),k.on(Z.LEVEL_PTS_UPDATED,(Y,{details:X})=>T(X)),k.on(Z.EVENT_CUE_ENTER,()=>this.onInterstitialCueEnter());let R=(Y,X)=>{let J=this.getAssetPlayer(b);if(J&&X.tracks){J.off(Z.BUFFER_CODECS,R),J.tracks=X.tracks;let ee=this.primaryMedia;if(this.bufferingAsset===J.assetItem&&ee&&!J.media)this.bufferAssetPlayer(J,ee)}};k.on(Z.BUFFER_CODECS,R);let D=()=>{let Y=this.getAssetPlayer(b);if(this.log(`buffered to end of asset ${Y}`),!Y||!this.schedule)return;let X=this.getEventItem(e.identifier);if(X)this.advanceAssetBuffering(X,Y.assetItem)};k.on(Z.BUFFERED_TO_END,D);let U=(Y)=>()=>{if(!this.getAssetPlayer(b)||!this.schedule)return;this.shouldPlay=!0;let J=this.findEventIndex(e.identifier);this.advanceAfterAssetEnded(e,J,Y)};return k.once(Z.MEDIA_ENDED,U(s)),k.once(Z.PLAYOUT_LIMIT_REACHED,U(1/0)),k.on(Z.ERROR,(Y,X)=>{if(!this.schedule)return;let J=this.getAssetPlayer(b);if(X.details===Oe.BUFFER_STALLED_ERROR){if(J!=null&&J.appendInPlace){this.handleInPlaceStall(e);return}this.onTimeupdate(),this.checkBuffer(!0);return}else if(X.details===Oe.BUFFER_SEEK_OVER_HOLE)return;this.handleAssetItemError(X,e,this.findEventIndex(e.identifier),s,`Asset player error ${X.error} ${e}`)}),k.on(Z.DESTROYING,()=>{if(!this.getAssetPlayer(b)||!this.schedule)return;let X=Error(`Asset player destroyed unexpectedly ${b}`),J={fatal:!0,type:Dt.OTHER_ERROR,details:Oe.INTERSTITIAL_ASSET_ITEM_ERROR,error:X};this.handleAssetItemError(J,e,this.findEventIndex(e.identifier),s,X.message)}),this.log(`INTERSTITIAL_ASSET_PLAYER_CREATED ${Qc(n)}`),this.hls.trigger(Z.INTERSTITIAL_ASSET_PLAYER_CREATED,{asset:n,assetListIndex:s,event:e,player:k}),k}clearInterstitial(e,n){this.clearAssetPlayers(e,n),e.reset()}clearAssetPlayers(e,n){e.assetList.forEach((s)=>{this.clearAssetPlayer(s.identifier,n)})}resetAssetPlayer(e){let n=this.getAssetPlayerQueueIndex(e);if(n!==-1){this.log(`reset asset player "${e}" after error`);let s=this.playerQueue[n];this.transferMediaFromPlayer(s,null),s.resetDetails()}}clearAssetPlayer(e,n){let s=this.getAssetPlayerQueueIndex(e);if(s!==-1){let i=this.playerQueue[s];this.log(`clear ${i} toSegment: ${n?pr(n):n}`),this.transferMediaFromPlayer(i,n),this.playerQueue.splice(s,1),i.destroy()}}emptyPlayerQueue(){let e;while(e=this.playerQueue.pop())e.destroy();this.playerQueue=[]}startAssetPlayer(e,n,s,i,r){let{interstitial:a,assetItem:l,assetId:c}=e,f=a.assetList.length,d=this.playingAsset;if(this.endedAsset=null,this.playingAsset=l,(d==null?void 0:d.identifier)!==c){if(d)this.clearAssetPlayer(d.identifier,s[i]),delete d.error;this.log(`INTERSTITIAL_ASSET_STARTED ${n+1}/${f} ${Qc(l)}`),this.hls.trigger(Z.INTERSTITIAL_ASSET_STARTED,{asset:l,assetListIndex:n,event:a,schedule:s.slice(0),scheduleIndex:i,player:e})}this.bufferAssetPlayer(e,r)}bufferAssetPlayer(e,n){var s;if(!this.schedule)return;let{interstitial:i,assetItem:r}=e,a=this.getEventItem(i.identifier);if(!a)return;if(e.loadSource(),this.setBufferingItem(a),this.bufferingAsset=r,e.bufferedInPlaceToEnd(this.primaryMedia,e.currentTime)){this.advanceAssetBuffering(a,r);return}let l=this.getBufferingPlayer();if(l===e)return;let c=i.appendInPlace;if(c&&(l==null?void 0:l.interstitial.appendInPlace)===!1)return;let f=(l==null?void 0:l.tracks)||((s=this.detachedData)==null?void 0:s.tracks)||this.requiredTracks;if(c&&r!==this.playingAsset){if(!e.tracks){this.log(`Waiting for track info before buffering ${e}`);return}if(f&&!s9(f,e.tracks)){let d=Error(`Asset ${Qc(r)} SourceBuffer tracks ('${Object.keys(e.tracks)}') are not compatible with primary content tracks ('${Object.keys(f)}')`),b={fatal:!0,type:Dt.OTHER_ERROR,details:Oe.INTERSTITIAL_ASSET_ITEM_ERROR,error:d},y=i.findAssetIndex(r);this.handleAssetItemError(b,i,this.findEventIndex(i.identifier),y,d.message);return}}this.transferMediaTo(e,n)}handleInPlaceStall(e){let n=this.schedule,s=this.primaryMedia;if(!n||!s)return;let i=s.currentTime,r=n.findAssetIndex(e,i),a=e.assetList[r];if(a){let l=this.getAssetPlayer(a.identifier);if(l){let c=l.currentTime||i-a.timelineStart,f=l.duration-c;if(this.warn(`Stalled at ${c} of ${c+f} in ${l} ${e} (media.currentTime: ${i})`),c&&(f/s.playbackRate<0.5||l.bufferedInPlaceToEnd(s,l.currentTime))&&l.hls){let d=n.findEventIndex(e.identifier);this.advanceAfterAssetEnded(e,d,r)}}}}advanceInPlace(e){let n=this.primaryMedia;if(n&&n.currentTime<e){let s=`advance currentTime to ${e}, duration: ${n.duration}`;if(n.duration>e)this.log(s),n.currentTime=e;else this.log(`Cannot ${s}`)}}handleAssetItemError(e,n,s,i,r){if(e.details===Oe.BUFFER_STALLED_ERROR)return;let a=n.assetList[i]||null;if(this.warn(`INTERSTITIAL_ASSET_ERROR ${a?Qc(a):a} ${e.error}`),!this.schedule)return;let l=(a==null?void 0:a.identifier)||"",c=this.getAssetPlayerQueueIndex(l),f=this.playerQueue[c]||null,d=this.schedule.items,b=Un({},e,{fatal:!1,errorAction:gh(!0),asset:a,assetListIndex:i,event:n,schedule:d,scheduleIndex:s,player:f});if(this.hls.trigger(Z.INTERSTITIAL_ASSET_ERROR,b),!e.fatal)return;let y=this.playingAsset,v=this.bufferingAsset,k=Error(r);if(a)this.clearAssetPlayer(l,null),a.error=k;if(!n.assetList.some((A)=>!A.error))n.error=k;else for(let A=i;A<n.assetList.length;A++)this.resetAssetPlayer(n.assetList[A].identifier);if(this.updateSchedule(!0),n.error)this.primaryFallback(n);else if((y==null?void 0:y.identifier)===l)this.advanceAfterAssetEnded(n,s,i);else if((v==null?void 0:v.identifier)===l&&this.isInterstitial(this.bufferingItem))this.advanceAssetBuffering(this.bufferingItem,v)}primaryFallback(e){let n=e.timelineStart,s=this.effectivePlayingItem,i=this.playingItem,r=this.seekableStart,a=this.hls.startPosition,l=this.timelinePos;if(this.isInterstitial(s)){if(this.log(`Fallback to primary from event "${e.identifier}" start: ${n} pos: ${l} playing: ${pr(s)} startPosition: ${a} seekableStart: ${r} error: ${e.error}`),l===-1)l=a;l=Math.max(l,r);let f=this.updateItem(s,l);if(this.itemsMatch(s,f))this.clearInterstitial(e,null);if(e.appendInPlace)this.attachPrimary(n,null),this.flushFrontBuffer(n)}else if(l===-1){this.checkStart();return}if(!this.schedule)return;if(!this.isInterstitial(i))return;let c=this.schedule.findItemIndexAtTime(l);this.setSchedulePosition(c)}onAssetListLoaded(e,n){var s,i;let r=n.event,a=r.identifier,l=n.assetListResponse.ASSETS;if(!((s=this.schedule)!=null&&s.hasEvent(a)))return;let{timelineStart:c,duration:f}=r,d=0;l.forEach((k,A)=>{let T=parseFloat(k.DURATION);this.createAsset(r,A,d,c+d,T,k.URI),d+=T}),r.duration=d,this.log(`Loaded asset-list with duration: ${d} (was: ${f}) ${r}`);let b=this.waitingItem,y=(b==null?void 0:b.event.identifier)===a;this.updateSchedule();let v=(i=this.bufferingItem)==null?void 0:i.event;if(y){let k=this.findEventIndex(a),A=this.getEventItem(a);if(A){if(!this.playingItem&&this.timelinePos>A.end){if(this.schedule.findItemIndexAtTime(this.timelinePos)!==k){r.error=Error(`Interstitial ${l.length?"no longer within playback range":"asset-list is empty"} ${this.timelinePos} ${r}`),this.log(r.error.message),this.updateSchedule(!0),this.primaryFallback(r);return}}this.setBufferingItem(A)}this.setSchedulePosition(k)}else if((v==null?void 0:v.identifier)===a){let k=r.assetList[0];if(k){let A=this.getAssetPlayer(k.identifier);if(v.appendInPlace){let T=this.primaryMedia;if(A&&T)this.bufferAssetPlayer(A,T)}else if(A)A.loadSource()}}}onError(e,n){if(!this.schedule)return;switch(n.details){case Oe.ASSET_LIST_PARSING_ERROR:case Oe.ASSET_LIST_LOAD_ERROR:case Oe.ASSET_LIST_LOAD_TIMEOUT:{let s=n.interstitial;if(s)this.updateSchedule(!0),this.primaryFallback(s);break}case Oe.BUFFER_STALLED_ERROR:{let s=this.endedItem||this.waitingItem||this.playingItem;if(this.isInterstitial(s)&&s.event.appendInPlace){this.handleInPlaceStall(s.event);return}let i=this.primaryMedia;this.log(`Primary player stall @${this.timelinePos} currentTime: ${i==null?void 0:i.currentTime} bufferedPos: ${this.bufferedPos}`),this.onTimeupdate(),this.checkBuffer(!0);break}}}}class Tv{constructor(e){this.hls=void 0,this.media=null,this.currentTime=0,this.stallCount=0,this._latency=null,this._targetLatencyUpdated=!1,this.onTimeupdate=()=>{var n;let{media:s}=this,i=this.levelDetails;if(!s||!i||!this.hls)return;this.currentTime=s.currentTime;let r=this.hls.config,a=this.computeLatency();if(a===null)return;this._latency=a;let{lowLatencyMode:l,maxLiveSyncPlaybackRate:c}=r;if(!l||c===1||!i.live)return;let f=this.targetLatency;if(f===null)return;let d=a-f,b=Math.min(this.maxLatency,f+i.targetduration),y=d<b,v=o0(r)&&!!((n=this.hls.interstitialsManager)!=null&&(n=n.playingItem)!=null&&n.event);if(y&&d>0.05&&this.forwardBufferLength>1&&!v){let k=Math.min(2,Math.max(1,c)),A=Math.round(2/(1+Math.exp(-0.75*d-this.edgeStalled))*20)/20,T=Math.min(k,Math.max(1,A));this.changeMediaPlaybackRate(s,T)}else if(s.playbackRate!==1&&s.playbackRate!==0)this.changeMediaPlaybackRate(s,1)},this.hls=e,this.registerListeners()}get levelDetails(){var e;return((e=this.hls)==null?void 0:e.latestLevelDetails)||null}get latency(){return this._latency||0}get maxLatency(){var e;let n=(e=this.hls)==null?void 0:e.config;if(!n)return 0;if(n.liveMaxLatencyDuration!==void 0)return n.liveMaxLatencyDuration;let s=this.levelDetails;return s?n.liveMaxLatencyDurationCount*s.targetduration:0}get targetLatency(){let e=this.levelDetails;if(e===null||!this.hls)return null;let n=this.hls.config,{holdBack:s,partHoldBack:i,targetduration:r}=e,{liveSyncDuration:a,liveSyncDurationCount:l,lowLatencyMode:c}=n,f=this.hls.userConfig,d=c?i||s:s;if(this._targetLatencyUpdated||f.liveSyncDuration||f.liveSyncDurationCount||d===0)d=a!==void 0?a:l*r;let b=r;return d+Math.min(this.stallCount*n.liveSyncOnStallIncrease,b)}set targetLatency(e){if(!this.hls)return;this.stallCount=0,this.hls.config.liveSyncDuration=e,this._targetLatencyUpdated=!0}get liveSyncPosition(){let e=this.estimateLiveEdge(),n=this.targetLatency;if(e===null||n===null||!this.hls)return null;let s=this.levelDetails;if(s===null)return null;let i=s.edge,r=e-n-this.edgeStalled,a=i-s.totalduration,l=i-(this.hls.config.lowLatencyMode&&s.partTarget||s.targetduration);return Math.min(Math.max(a,r),l)}get drift(){let e=this.levelDetails;if(e===null)return 1;return e.drift}get edgeStalled(){let e=this.levelDetails;if(e===null||!this.hls)return 0;let n=(this.hls.config.lowLatencyMode&&e.partTarget||e.targetduration)*3;return Math.max(e.age-n,0)}get forwardBufferLength(){let{media:e}=this,n=this.levelDetails;if(!e||!n)return 0;let s=e.buffered.length;return(s?e.buffered.end(s-1):n.edge)-this.currentTime}destroy(){this.unregisterListeners(),this.onMediaDetaching(),this.hls=null}registerListeners(){let{hls:e}=this;if(!e)return;e.on(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(Z.ERROR,this.onError,this),e.on(Z.INTERSTITIAL_ASSET_STARTED,this.onAssetStarted,this)}unregisterListeners(){let{hls:e}=this;if(!e)return;e.off(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(Z.ERROR,this.onError,this),e.off(Z.INTERSTITIAL_ASSET_STARTED,this.onAssetStarted,this)}onMediaAttached(e,n){this.media=n.media,this.media.addEventListener("timeupdate",this.onTimeupdate)}onMediaDetaching(){if(this.media)this.media.removeEventListener("timeupdate",this.onTimeupdate),this.media=null}onManifestLoading(){this._latency=null,this.stallCount=0}onLevelUpdated(e,{details:n}){if(n.advanced)this.onTimeupdate();if(!n.live&&this.media)this.media.removeEventListener("timeupdate",this.onTimeupdate)}onAssetStarted(e,n){var s;let i=this.hls,r=this.media||n.event.appendInPlace&&(i==null||(s=i.interstitialsManager)==null?void 0:s.playerQueue.reduce((a,l)=>a||l.media,null));if(i&&r&&r.playbackRate>1&&r.playbackRate<=i.config.maxLiveSyncPlaybackRate)this.changeMediaPlaybackRate(r,1)}onError(e,n){var s;if(n.details!==Oe.BUFFER_STALLED_ERROR)return;if(this.stallCount++,this.hls&&(s=this.levelDetails)!=null&&s.live)this.hls.logger.warn("[latency-controller]: Stall detected, adjusting target latency")}changeMediaPlaybackRate(e,n){var s,i;if(e.playbackRate===n)return;(s=this.hls)==null||s.logger.debug(`[latency-controller]: latency=${this.latency.toFixed(3)}, targetLatency=${(i=this.targetLatency)==null?void 0:i.toFixed(3)}, forwardBufferLength=${this.forwardBufferLength.toFixed(3)}: adjusting playback rate from ${e.playbackRate} to ${n}`),e.playbackRate=n}estimateLiveEdge(){let e=this.levelDetails;if(e===null)return null;return e.edge+e.age}computeLatency(){let e=this.estimateLiveEdge();if(e===null)return null;return e-this.currentTime}}var $3=500;class Ev extends w0{constructor(e,n,s){super(e,n,s,"subtitle-stream-controller",Ct.SUBTITLE);this.currentTrackId=-1,this.tracksBuffered=[],this.mainDetails=null,this.registerListeners()}onHandlerDestroying(){this.unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null}registerListeners(){super.registerListeners();let{hls:e}=this;e.on(Z.LEVEL_LOADED,this.onLevelLoaded,this),e.on(Z.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(Z.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(Z.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(Z.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.on(Z.BUFFER_FLUSHING,this.onBufferFlushing,this)}unregisterListeners(){super.unregisterListeners();let{hls:e}=this;e.off(Z.LEVEL_LOADED,this.onLevelLoaded,this),e.off(Z.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(Z.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(Z.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(Z.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.off(Z.BUFFER_FLUSHING,this.onBufferFlushing,this)}startLoad(e,n){this.stopLoad(),this.state=$e.IDLE,this.setInterval($3),this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=n?-1:e,this.tick()}onManifestLoading(){super.onManifestLoading(),this.mainDetails=null}onMediaDetaching(e,n){this.tracksBuffered=[],super.onMediaDetaching(e,n)}onLevelLoaded(e,n){this.mainDetails=n.details}onSubtitleFragProcessed(e,n){let{frag:s,part:i,success:r}=n;if(!r)return;let a=this.tracksBuffered[this.currentTrackId];if(!a)return;let l,c=(i||s).start;for(let d=0;d<a.length;d++)if(c>=a[d].start&&c<=a[d].end){l=a[d];break}let f=c+(i||s).duration;if(l)l.end=f;else l={start:c,end:f},a.push(l);if(!i||f>=s.end){let d=this.fragmentTracker.fragBuffered(s);if(i&&d)d.range.subs={time:[{startPTS:s.start,endPTS:f}],partial:!0};if(Ps(s)&&!this.fragContextChanged(s))this.fragPrevious=s;if(this.fragBufferedComplete(s,i),this.media)this.tickImmediate()}}onBufferFlushing(e,n){let{startOffset:s,endOffset:i}=n;if(s===0&&i!==Number.POSITIVE_INFINITY){let r=i-1;if(r<=0)return;n.endOffsetSubtitles=Math.max(0,r),this.tracksBuffered.forEach((a)=>{if(!a)return;for(let l=0;l<a.length;){if(a[l].end<=r){a.shift();continue}else if(a[l].start<r)a[l].start=r;else break;l++}}),this.fragmentTracker.removeFragmentsInRange(s,r,Ct.SUBTITLE)}}onError(e,n){let s=n.frag;if((s==null?void 0:s.type)===Ct.SUBTITLE){if(n.details===Oe.FRAG_GAP)this.fragmentTracker.addAsGap(s);if(this.fragCurrent)this.fragCurrent.abortRequests();if(this.state!==$e.STOPPED)this.state=$e.IDLE}}onSubtitleTracksUpdated(e,{subtitleTracks:n}){if(this.levels&&C6(this.levels,n)){this.levels=n.map((s)=>new rf(s));return}this.tracksBuffered=[],this.levels=n.map((s)=>{let i=new rf(s);return this.tracksBuffered[i.id]=[],i}),this.fragmentTracker.removeFragmentsInRange(0,Number.POSITIVE_INFINITY,Ct.SUBTITLE),this.fragPrevious=null,this.mediaBuffer=null}onSubtitleTrackSwitch(e,n){var s;if(this.currentTrackId=n.id,this.abortCurrentFrag(),!((s=this.levels)!=null&&s.length)||this.currentTrackId===-1){this.clearInterval();return}let i=this.levels[this.currentTrackId];if(!(i!=null&&i.details)){this.mediaBuffer=null;return}if(this.mediaBuffer=this.mediaBufferTimeRanges,this.state!==$e.STOPPED)this.setInterval($3)}onSubtitleTrackLoaded(e,n){var s;let{currentTrackId:i,levels:r}=this,{details:a,id:l}=n;if(!r){this.warn(`Subtitle tracks were reset while loading level ${l}`);return}let c=r[l];if(l>=r.length||!c)return;this.log(`Subtitle track ${l} loaded [${a.startSN},${a.endSN}]${a.lastPartSn?`[part-${a.lastPartSn}-${a.lastPartIndex}]`:""},duration:${a.totalduration}`),this.mediaBuffer=this.mediaBufferTimeRanges;let f=this.mainDetails,d=0;if(a.live||(s=c.details)!=null&&s.live){if(a.deltaUpdateFailed)return;if(!f){this.startFragRequested=!1;return}if(c.details){var b;d=this.alignPlaylists(a,c.details,(b=this.levelLastLoaded)==null?void 0:b.details)}if(!a.alignedSliding)r0(f,a,this),d=a.fragmentStart}if(c.details=a,this.levelLastLoaded=c,f&&!this.startFragRequested)this.setStartPosition(f,d);if(l!==i)return;this.hls.trigger(Z.SUBTITLE_TRACK_UPDATED,{details:a,id:l,groupId:n.groupId}),this.tickImmediate()}_handleFragmentLoadProgress(e){let{frag:n,part:s,payload:i}=e;if(!s||!(i!=null&&i.byteLength)||!this.shouldDecrypt(n))return;this.decryptPayload(i,n,s)}_handleFragmentLoadComplete(e){let{frag:n,payload:s}=e;if(this.fragContextChanged(n)||!(s!=null&&s.byteLength)||!this.shouldDecrypt(n))return;this.decryptPayload(s,n,null)}shouldDecrypt(e){let n=e.decryptdata;return!!(n!=null&&n.key&&n.iv&&Zc(n.method))}decryptPayload(e,n,s){let i=n.decryptdata,r=performance.now();this.decrypter.decrypt(new Uint8Array(e),i.key.buffer,i.iv.buffer,L1(i.method)).then((a)=>{if(this.fragContextChanged(n))return;this.hls.trigger(Z.FRAG_DECRYPTED,{frag:n,part:s,payload:a,stats:{tstart:r,tdecrypt:performance.now()}})}).catch((a)=>{if(this.hls.trigger(Z.ERROR,{type:Dt.MEDIA_ERROR,details:Oe.FRAG_DECRYPT_ERROR,fatal:!1,error:a,reason:a.message,frag:n,part:s}),!s)this.warn(`${a.name}: ${a.message}`),this.state=$e.IDLE})}doTick(){if(this.state===$e.IDLE&&this.levels){var e;if(!this.media&&!this.primaryPrefetch&&(this.startFragRequested||!this.config.startFragPrefetch))return;let{currentTrackId:s,levels:i}=this,r=i[s],a=r==null?void 0:r.details;if(!a||this.waitForLive(r)||this.waitForCdnTuneIn(a)){this.startFragRequested=!1;return}let{config:l}=this,c=this.playhead,f=Ot.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],c,l.maxBufferHole),{end:d,len:b}=f,y=Math.max(this.hls.maxBufferLength+a.levelTargetDuration,((e=this.hls.mainForwardBufferInfo)==null?void 0:e.len)||0);if(b>y||b&&!this.buffering)return;let v=this.getNextFragment(d,a);if(!v)return;if(Ps(v)){var n;let k=v.sn-a.startSN,A=a.fragments[k-1];if(v.cc===(A==null?void 0:A.cc)&&!((n=a.partList)!=null&&n.length)&&this.fragmentTracker.getState(A)===_s.NOT_LOADED)v=A}this.loadFragment(v,r,d)}}loadFragment(e,n,s){let i=this.fragmentTracker.getState(e);if(i===_s.NOT_LOADED||i===_s.PARTIAL)super.loadFragment(e,n,s)}get mediaBufferTimeRanges(){return new Cv(this.tracksBuffered[this.currentTrackId]||[])}}class Cv{constructor(e){this.buffered=void 0;let n=(s,i,r)=>{if(i=i>>>0,i>r-1)throw new DOMException(`Failed to execute '${s}' on 'TimeRanges': The index provided (${i}) is greater than the maximum bound (${r})`);return e[i][s]};this.buffered={get length(){return e.length},end(s){return n("end",s,e.length)},start(s){return n("start",s,e.length)}}}}var P_={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,128:174,129:176,130:189,131:191,132:8482,133:162,134:163,135:9834,136:224,137:32,138:232,139:226,140:234,141:238,142:244,143:251,144:193,145:201,146:211,147:218,148:220,149:252,150:8216,151:161,152:42,153:8217,154:9473,155:169,156:8480,157:8226,158:8220,159:8221,160:192,161:194,162:199,163:200,164:202,165:203,166:235,167:206,168:207,169:239,170:212,171:217,172:249,173:219,174:171,175:187,176:195,177:227,178:205,179:204,180:236,181:210,182:242,183:213,184:245,185:123,186:125,187:92,188:94,189:95,190:124,191:8764,192:196,193:228,194:214,195:246,196:223,197:165,198:164,199:9475,200:197,201:229,202:216,203:248,204:9487,205:9491,206:9495,207:9499},jv=(e)=>String.fromCharCode(P_[e]||e),oa=15,aa=42,N_={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},G_={17:2,18:4,21:6,22:8,23:10,19:13,20:15},V_={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},$_={25:2,26:4,29:6,30:8,31:10,27:13,28:15},X_=["white","green","blue","cyan","red","yellow","magenta","black","transparent"];class _v{constructor(){this.time=null,this.verboseLevel=0}log(e,n){if(this.verboseLevel>=e){let s=typeof n==="function"?n():n;Rn.log(`${this.time} [${e}] ${s}`)}}}var Kl=function(n){let s=[];for(let i=0;i<n.length;i++)s.push(n[i].toString(16));return s},v1=Object.freeze({foreground:"white",underline:!1,italics:!1,background:"black",flash:!1});class ib{constructor(){this.styles=v1}get foreground(){return this.styles.foreground}set foreground(e){let n=this.styles;this.styles={foreground:e,underline:n.underline,italics:n.italics,background:n.background,flash:n.flash}}get underline(){return this.styles.underline}set underline(e){let n=this.styles;this.styles={foreground:n.foreground,underline:e,italics:n.italics,background:n.background,flash:n.flash}}get italics(){return this.styles.italics}set italics(e){let n=this.styles;this.styles={foreground:n.foreground,underline:n.underline,italics:e,background:n.background,flash:n.flash}}get background(){return this.styles.background}set background(e){let n=this.styles;this.styles={foreground:n.foreground,underline:n.underline,italics:n.italics,background:e,flash:n.flash}}get flash(){return this.styles.flash}set flash(e){let n=this.styles;this.styles={foreground:n.foreground,underline:n.underline,italics:n.italics,background:n.background,flash:e}}reset(){this.styles=v1}setStyles(e){let n=this.styles,s=Object.prototype.hasOwnProperty;this.styles={foreground:s.call(e,"foreground")?e.foreground:n.foreground,underline:s.call(e,"underline")?e.underline:n.underline,italics:s.call(e,"italics")?e.italics:n.italics,background:s.call(e,"background")?e.background:n.background,flash:s.call(e,"flash")?e.flash:n.flash}}toString(){return"color="+this.foreground+", underline="+this.underline+", italics="+this.italics+", background="+this.background+", flash="+this.flash}}class Iv{constructor(){this.uchar=" ",this.penState=new ib}reset(){this.uchar=" ",this.penState.reset()}setChar(e,n){this.uchar=e,this.penState.styles=n.styles}setPenState(e){this.penState.styles=e.styles}copy(e){this.uchar=e.uchar,this.penState.styles=e.penState.styles}}class Rv{constructor(e){this.chars=[],this.pos=0,this.currPenState=new ib,this.cueStartTime=null,this.logger=void 0;for(let n=0;n<aa;n++)this.chars.push(new Iv);this.logger=e}equals(e){let n=this.chars,s=e.chars;for(let i=0;i<aa;i++){let r=n[i],a=s[i];if(r.uchar!==a.uchar)return!1;let l=r.penState.styles,c=a.penState.styles;if(l!==c&&(l.foreground!==c.foreground||l.underline!==c.underline||l.italics!==c.italics||l.background!==c.background||l.flash!==c.flash))return!1}return!0}copy(e){for(let n=0;n<aa;n++)this.chars[n].copy(e.chars[n])}isEmpty(){let e=this.chars;for(let n=0;n<aa;n++){let s=e[n];if(s.uchar!==" ")return!1;let i=s.penState.styles;if(i!==v1&&(i.foreground!=="white"||i.underline||i.italics||i.background!=="black"||i.flash))return!1}return!0}setCursor(e){if(this.pos!==e)this.pos=e;if(this.pos<0)this.logger.log(3,"Negative cursor position "+this.pos),this.pos=0;else if(this.pos>=aa)this.logger.log(3,"Too large cursor position "+this.pos),this.pos=aa-1}moveCursor(e){let n=Math.min(this.pos+e,aa);if(e>1)for(let s=this.pos+1;s<n;s++)this.chars[s].setPenState(this.currPenState);this.setCursor(n)}backSpace(){this.moveCursor(-1),this.chars[this.pos].setChar(" ",this.currPenState)}insertChar(e){if(e>=144)this.backSpace();let n=jv(e);if(this.pos>=aa){this.logger.log(0,()=>"Cannot insert "+e.toString(16)+" ("+n+") at position "+this.pos+". Skipping it!");return}this.chars[this.pos].setChar(n,this.currPenState),this.moveCursor(1)}clearFromPos(e){let n;for(n=e;n<aa;n++)this.chars[n].reset()}clear(){this.clearFromPos(0),this.pos=0,this.currPenState.reset()}clearToEndOfRow(){this.clearFromPos(this.pos)}getTextString(){let e=[],n=!0;for(let s=0;s<aa;s++){let i=this.chars[s].uchar;if(i!==" ")n=!1;e.push(i)}if(n)return"";else return e.join("")}setPenStyles(e){this.currPenState.setStyles(e),this.chars[this.pos].setPenState(this.currPenState)}}class Yd{constructor(e){this.rows=[],this.currRow=oa-1,this.nrRollUpRows=null,this.lastOutputScreen=null,this.logger=void 0;for(let n=0;n<oa;n++)this.rows.push(new Rv(e));this.logger=e}reset(){for(let e=0;e<oa;e++)this.rows[e].clear();this.currRow=oa-1}equals(e){let n=!0;for(let s=0;s<oa;s++)if(!this.rows[s].equals(e.rows[s])){n=!1;break}return n}copy(e){for(let n=0;n<oa;n++){let s=this.rows[n].chars,i=e.rows[n].chars;for(let r=0;r<aa;r++){let a=s[r],l=i[r];a.uchar=l.uchar,a.penState.styles=l.penState.styles}}}isEmpty(){let e=!0;for(let n=0;n<oa;n++)if(!this.rows[n].isEmpty()){e=!1;break}return e}backSpace(){this.rows[this.currRow].backSpace()}clearToEndOfRow(){this.rows[this.currRow].clearToEndOfRow()}insertChar(e){this.rows[this.currRow].insertChar(e)}setPen(e){this.rows[this.currRow].setPenStyles(e)}moveCursor(e){this.rows[this.currRow].moveCursor(e)}setCursor(e){this.logger.log(2,"setCursor: "+e),this.rows[this.currRow].setCursor(e)}setPAC(e){this.logger.log(2,()=>"pacData = "+us(e));let n=e.row-1;if(this.nrRollUpRows&&n<this.nrRollUpRows-1)n=this.nrRollUpRows-1;if(this.nrRollUpRows&&this.currRow!==n){for(let l=0;l<oa;l++)this.rows[l].clear();let r=this.currRow+1-this.nrRollUpRows,a=this.lastOutputScreen;if(a){let l=a.rows[r].cueStartTime,c=this.logger.time;if(l!==null&&c!==null&&l<c)for(let f=0;f<this.nrRollUpRows;f++)this.rows[n-this.nrRollUpRows+f+1].copy(a.rows[r+f])}}this.currRow=n;let s=this.rows[this.currRow];if(e.indent!==null){let r=e.indent,a=Math.max(r-1,0);s.setCursor(e.indent),e.color=s.chars[a].penState.foreground}let i={foreground:e.color,underline:e.underline,italics:e.italics,background:"black",flash:!1};this.setPen(i)}setBkgData(e){this.logger.log(2,()=>"bkgData = "+us(e)),this.backSpace(),this.setPen(e),this.insertChar(32)}setRollUpRows(e){this.nrRollUpRows=e}rollUp(){if(this.nrRollUpRows===null){this.logger.log(3,"roll_up but nrRollUpRows not set yet");return}this.logger.log(1,()=>this.getDisplayText());let e=this.currRow+1-this.nrRollUpRows,n=this.rows.splice(e,1)[0];n.clear(),this.rows.splice(this.currRow,0,n),this.logger.log(2,"Rolling up")}getDisplayText(e){e=e||!1;let n=[],s="",i=-1;for(let r=0;r<oa;r++){let a=this.rows[r].getTextString();if(a)if(i=r+1,e)n.push("Row "+i+": '"+a+"'");else n.push(a.trim())}if(n.length>0)if(e)s="["+n.join(" | ")+"]";else s=n.join(`
53
- `);return s}getTextAndFormat(){return this.rows}}class Dv{constructor(e,n,s){this.chNr=void 0,this.outputFilter=void 0,this.mode=void 0,this.verbose=void 0,this.displayedMemory=void 0,this.nonDisplayedMemory=void 0,this.lastOutputScreen=void 0,this.currRollUpRow=void 0,this.writeScreen=void 0,this.cueStartTime=void 0,this.logger=void 0,this.chNr=e,this.outputFilter=n,this.mode=null,this.verbose=0,this.displayedMemory=new Yd(s),this.nonDisplayedMemory=new Yd(s),this.lastOutputScreen=new Yd(s),this.currRollUpRow=this.displayedMemory.rows[oa-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.logger=s}reset(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.outputFilter.reset(),this.currRollUpRow=this.displayedMemory.rows[oa-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null}getHandler(){return this.outputFilter}setHandler(e){this.outputFilter=e}setPAC(e){this.writeScreen.setPAC(e)}setBkgData(e){this.writeScreen.setBkgData(e)}setMode(e){if(e===this.mode)return;if(this.mode=e,this.logger.log(2,()=>"MODE="+e),this.mode==="MODE_POP-ON")this.writeScreen=this.nonDisplayedMemory;else this.writeScreen=this.displayedMemory,this.writeScreen.reset();if(this.mode!=="MODE_ROLL-UP")this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null;this.mode=e}insertChars(e){for(let s=0;s<e.length;s++)this.writeScreen.insertChar(e[s]);let n=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";if(this.logger.log(2,()=>n+": "+this.writeScreen.getDisplayText(!0)),this.mode==="MODE_PAINT-ON"||this.mode==="MODE_ROLL-UP")this.logger.log(1,()=>"DISPLAYED: "+this.displayedMemory.getDisplayText(!0)),this.outputDataUpdate()}ccRCL(){this.logger.log(2,"RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON")}ccBS(){if(this.logger.log(2,"BS - BackSpace"),this.mode==="MODE_TEXT")return;if(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory)this.outputDataUpdate()}ccAOF(){}ccAON(){}ccDER(){this.logger.log(2,"DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate()}ccRU(e){this.logger.log(2,"RU("+e+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(e)}ccFON(){this.logger.log(2,"FON - Flash On"),this.writeScreen.setPen({flash:!0})}ccRDC(){this.logger.log(2,"RDC - Resume Direct Captioning"),this.setMode("MODE_PAINT-ON")}ccTR(){this.logger.log(2,"TR"),this.setMode("MODE_TEXT")}ccRTD(){this.logger.log(2,"RTD"),this.setMode("MODE_TEXT")}ccEDM(){this.logger.log(2,"EDM - Erase Displayed Memory"),this.displayedMemory.reset(),this.outputDataUpdate(!0)}ccCR(){this.logger.log(2,"CR - Carriage Return"),this.writeScreen.rollUp(),this.outputDataUpdate(!0)}ccENM(){this.logger.log(2,"ENM - Erase Non-displayed Memory"),this.nonDisplayedMemory.reset()}ccEOC(){if(this.logger.log(2,"EOC - End Of Caption"),this.mode==="MODE_POP-ON"){let e=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=e,this.writeScreen=this.nonDisplayedMemory,this.logger.log(1,()=>"DISP: "+this.displayedMemory.getDisplayText())}this.outputDataUpdate(!0)}ccTO(e){this.logger.log(2,"TO("+e+") - Tab Offset"),this.writeScreen.moveCursor(e)}ccMIDROW(e){let n={flash:!1};if(n.underline=e%2===1,n.italics=e>=46,!n.italics){let s=Math.floor(e/2)-16,i=["white","green","blue","cyan","red","yellow","magenta"];n.foreground=i[s]}else n.foreground="white";this.logger.log(2,"MIDROW: "+us(n)),this.writeScreen.setPen(n)}outputDataUpdate(e=!1){let n=this.logger.time;if(n===null)return;if(this.outputFilter){if(this.cueStartTime===null&&!this.displayedMemory.isEmpty())this.cueStartTime=n;else if(!this.displayedMemory.equals(this.lastOutputScreen)){if(this.outputFilter.newCue(this.cueStartTime,n,this.lastOutputScreen),e&&this.outputFilter.dispatchCue)this.outputFilter.dispatchCue();this.cueStartTime=this.displayedMemory.isEmpty()?null:n}this.lastOutputScreen.copy(this.displayedMemory)}}cueSplitAtTime(e){if(this.outputFilter){if(!this.displayedMemory.isEmpty()){if(this.outputFilter.newCue)this.outputFilter.newCue(this.cueStartTime,e,this.displayedMemory);this.cueStartTime=e}}}}class S1{constructor(e,n,s){this.channels=[null,null,null],this.currentChannel=0,this.cmdHistory=K_(),this.logger=void 0,this.field=void 0,this.outputFilters=void 0,this.logger=new _v,this.field=e,this.outputFilters=[null,n,s]}getHandler(e){return this.outputFilters[e]}setHandler(e,n){var s;this.outputFilters[e]=n,(s=this.channels[e])==null||s.setHandler(n)}getChannel(e){let n=this.channels[e];if(!n)n=this.channels[e]=new Dv(this.field+e-1,this.outputFilters[e],this.logger);return n}addData(e,n){this.logger.time=e;for(let s=0;s<n.length;s+=2){let i=n[s]&127,r=n[s+1]&127,a=!1,l=null;if(i===0&&r===0)continue;else this.logger.log(3,()=>"["+Kl([n[s],n[s+1]])+"] -> ("+Kl([i,r])+")");let c=this.cmdHistory;if(i>=16&&i<=31){if(W_(i,r,c)){zd(null,null,c),this.logger.log(3,()=>"Repeated command ("+Kl([i,r])+") is dropped");continue}if(zd(i,r,this.cmdHistory),a=this.parseCmd(i,r),!a)a=this.parseMidrow(i,r);if(!a)a=this.parsePAC(i,r);if(!a)a=this.parseBackgroundAttributes(i,r)}else zd(null,null,c);if(!a){if(l=this.parseChars(i,r),l){let d=this.currentChannel;if(d&&d>0)this.getChannel(d).insertChars(l);else this.logger.log(2,"No channel found yet. TEXT-MODE?")}}if(!a&&!l)this.logger.log(2,()=>"Couldn't parse cleaned data "+Kl([i,r])+" orig: "+Kl([n[s],n[s+1]]))}}parseCmd(e,n){let s=(e===20||e===28||e===21||e===29)&&n>=32&&n<=47,i=(e===23||e===31)&&n>=33&&n<=35;if(!(s||i))return!1;let r=e===20||e===21||e===23?1:2,a=this.getChannel(r);if(e===20||e===21||e===28||e===29){if(n===32)a.ccRCL();else if(n===33)a.ccBS();else if(n===34)a.ccAOF();else if(n===35)a.ccAON();else if(n===36)a.ccDER();else if(n===37)a.ccRU(2);else if(n===38)a.ccRU(3);else if(n===39)a.ccRU(4);else if(n===40)a.ccFON();else if(n===41)a.ccRDC();else if(n===42)a.ccTR();else if(n===43)a.ccRTD();else if(n===44)a.ccEDM();else if(n===45)a.ccCR();else if(n===46)a.ccENM();else if(n===47)a.ccEOC()}else a.ccTO(n-32);return this.currentChannel=r,!0}parseMidrow(e,n){let s=0;if((e===17||e===25)&&n>=32&&n<=47){if(e===17)s=1;else s=2;if(s!==this.currentChannel)return this.logger.log(0,"Mismatch channel in midrow parsing"),!1;let i=this.channels[s];if(!i)return!1;return i.ccMIDROW(n),this.logger.log(3,()=>"MIDROW ("+Kl([e,n])+")"),!0}return!1}parsePAC(e,n){let s,i=(e>=17&&e<=23||e>=25&&e<=31)&&n>=64&&n<=127,r=(e===16||e===24)&&n>=64&&n<=95;if(!(i||r))return!1;let a=e<=23?1:2;if(n>=64&&n<=95)s=a===1?N_[e]:V_[e];else s=a===1?G_[e]:$_[e];return this.getChannel(a).setPAC(this.interpretPAC(s,n)),this.currentChannel=a,!0}interpretPAC(e,n){let s,i={color:null,italics:!1,indent:null,underline:!1,row:e};if(n>95)s=n-96;else s=n-64;if(i.underline=(s&1)===1,s<=13)i.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(s/2)];else if(s<=15)i.italics=!0,i.color="white";else i.indent=Math.floor((s-16)/2)*4;return i}parseChars(e,n){let s,i=null,r=null;if(e>=25)s=2,r=e-8;else s=1,r=e;if(r>=17&&r<=19){let a;if(r===17)a=n+80;else if(r===18)a=n+112;else a=n+144;this.logger.log(2,()=>"Special char '"+jv(a)+"' in channel "+s),i=[a]}else if(e>=32&&e<=127)i=n===0?[e]:[e,n];if(i)this.logger.log(3,()=>"Char codes = "+Kl(i).join(","));return i}parseBackgroundAttributes(e,n){let s=(e===16||e===24)&&n>=32&&n<=47,i=(e===23||e===31)&&n>=45&&n<=47;if(!(s||i))return!1;let r,a={};if(e===16||e===24){if(r=Math.floor((n-32)/2),a.background=X_[r],n%2===1)a.background=a.background+"_semi"}else if(n===45)a.background="transparent";else if(a.foreground="black",n===47)a.underline=!0;let l=e<=23?1:2;return this.getChannel(l).setBkgData(a),!0}reset(){for(let e=0;e<Object.keys(this.channels).length;e++){let n=this.channels[e];if(n)n.reset()}zd(null,null,this.cmdHistory)}cueSplitAtTime(e){for(let n=0;n<this.channels.length;n++){let s=this.channels[n];if(s)s.cueSplitAtTime(e)}}}function zd(e,n,s){s.a=e,s.b=n}function W_(e,n,s){return s.a===e&&s.b===n}function K_(){return{a:null,b:null}}class mh{constructor(e,n){this.timelineController=void 0,this.cueRanges=[],this.trackName=void 0,this.startTime=null,this.endTime=null,this.screen=null,this.timelineController=e,this.trackName=n}dispatchCue(){if(this.startTime===null)return;this.timelineController.addCues(this.trackName,this.startTime,this.endTime,this.screen,this.cueRanges),this.startTime=null}newCue(e,n,s){if(this.startTime===null||this.startTime>e)this.startTime=e;this.endTime=n,this.screen=s,this.timelineController.createCaptionsTrack(this.trackName)}reset(){this.cueRanges=[],this.startTime=null}}class qv{constructor(e){this.hls=void 0,this.media=null,this.config=void 0,this.enabled=!0,this.Cues=void 0,this.tracks=[],this.initPTS=[],this.unparsedVttFrags=[],this.captionsTracks={},this.cueCache={},this.nonNativeCaptionsTracks={},this.cea608Parser1=void 0,this.cea608Parser2=void 0,this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=X3(),this.captionsProperties=void 0,this.hls=e,this.config=e.config,this.Cues=e.config.cueHandler,this.cueCache={},this.captionsProperties={textTrack1:{label:this.config.captionsTextTrack1Label,languageCode:this.config.captionsTextTrack1LanguageCode},textTrack2:{label:this.config.captionsTextTrack2Label,languageCode:this.config.captionsTextTrack2LanguageCode},textTrack3:{label:this.config.captionsTextTrack3Label,languageCode:this.config.captionsTextTrack3LanguageCode},textTrack4:{label:this.config.captionsTextTrack4Label,languageCode:this.config.captionsTextTrack4LanguageCode}},e.on(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(Z.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(Z.FRAG_LOADING,this.onFragLoading,this),e.on(Z.FRAG_LOADED,this.onFragLoaded,this),e.on(Z.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(Z.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(Z.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(Z.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(Z.BUFFER_APPENDED,this.onBufferAppended,this),e.on(Z.BUFFER_FLUSHING,this.onBufferFlushing,this)}destroy(){let{hls:e}=this;e.off(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(Z.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(Z.FRAG_LOADING,this.onFragLoading,this),e.off(Z.FRAG_LOADED,this.onFragLoaded,this),e.off(Z.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(Z.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(Z.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(Z.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(Z.BUFFER_APPENDED,this.onBufferAppended,this),e.off(Z.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=this.media=null,this.cea608Parser1=this.cea608Parser2=void 0}initCea608Parsers(){let e=new mh(this,"textTrack1"),n=new mh(this,"textTrack2"),s=new mh(this,"textTrack3"),i=new mh(this,"textTrack4");this.cea608Parser1=new S1(1,e,n),this.cea608Parser2=new S1(3,s,i)}addCues(e,n,s,i,r){let a=!1;for(let c=r.length;c--;){let f=r[c],d=Y_(f[0],f[1],n,s);if(d>=0){if(f[0]=Math.min(f[0],n),f[1]=Math.max(f[1],s),a=!0,d/(s-n)>0.5)return}}if(!a)r.push([n,s]);if(this.config.renderTextTracksNatively){let c=this.cueCache[e];if(c){let f=this.Cues.newCue(null,n,s,i);if(f.length)c.push.apply(c,f)}else{let f=this.captionsTracks[e].track;this.Cues.newCue(f,n,s,i)}}else{var l;let c=this.Cues.newCue(null,n,s,i),f=(l=this.captionsProperties[e])==null?void 0:l.media;this.hls.trigger(Z.CUES_PARSED,{type:"captions",cues:c,track:e,closedCaptions:f})}}onInitPtsFound(e,{id:n,timestampOffsets:s}){let{unparsedVttFrags:i}=this;if(n===Ct.MAIN)this.initPTS=s;if(i.length)this.unparsedVttFrags=[],i.forEach((r)=>{if(this.initPTS[r.frag.cc])this.onFragLoaded(Z.FRAG_LOADED,r);else this.hls.trigger(Z.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:r.frag,part:null,error:Error("Subtitle discontinuity domain does not match main")})})}createCaptionsTrack(e){if(this.config.renderTextTracksNatively)this.createNativeTrack(e);else this.createNonNativeTrack(e)}createNativeTrack(e){if(this.captionsTracks[e])return;let{captionsProperties:n,captionsTracks:s,cueCache:i,media:r}=this,{label:a,languageCode:l}=n[e];if(r)i[e]=[],s[e]=tb(r,"captions",a,l,"hidden")}createNonNativeTrack(e){if(this.nonNativeCaptionsTracks[e])return;let n=this.captionsProperties[e];if(!n)return;let s=n.label,i={_id:e,label:s,kind:"captions",default:n.media?!!n.media.default:!1,closedCaptions:n.media};this.nonNativeCaptionsTracks[e]=i,this.hls.trigger(Z.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:[i]})}onMediaAttaching(e,n){this.media=n.media}onMediaDetaching(e,n){let s=!!n.transferMedia;if(this.media=null,s)return;if(this.config.renderTextTracksNatively){let{captionsTracks:i,cueCache:r}=this;for(let a in i)i[a].remove(),delete r[a]}this.cueCache={},this.captionsTracks={},this.nonNativeCaptionsTracks={}}onManifestLoading(){if(this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=X3(),this.tracks=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.unparsedVttFrags=[],this.initPTS=[],this.cea608Parser1&&this.cea608Parser2)this.cea608Parser1.reset(),this.cea608Parser2.reset()}onSubtitleTracksUpdated(e,n){let s=n.subtitleTracks||[];if(s.length&&!this.config.renderTextTracksNatively&&!C6(this.tracks,s)){let i=s.map((r)=>({label:r.name,kind:r.type.toLowerCase(),default:r.default,subtitleTrack:r}));this.hls.trigger(Z.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:i})}this.tracks=s}onManifestLoaded(e,n){if(this.config.enableCEA708Captions&&n.captions)n.captions.forEach((s)=>{let i=/(?:CC|SERVICE)([1-4])/.exec(s.instreamId);if(!i)return;let r=`textTrack${i[1]}`,a=this.captionsProperties[r];if(!a)return;if(a.label=s.name,s.lang)a.languageCode=s.lang;a.media=s})}closedCaptionsForLevel(e){let n=this.hls.levels[e.level];return n==null?void 0:n.attrs["CLOSED-CAPTIONS"]}onFragLoading(e,n){if(this.enabled&&n.frag.type===Ct.MAIN){var s,i;let{cea608Parser1:r,cea608Parser2:a,lastSn:l}=this,{cc:c,sn:f}=n.frag,d=(s=(i=n.part)==null?void 0:i.index)!=null?s:-1;if(r&&a){if(f!==l+1||f===l&&d!==this.lastPartIndex+1||c!==this.lastCc)r.reset(),a.reset()}this.lastCc=c,this.lastSn=f,this.lastPartIndex=d}}onFragLoaded(e,n){let{frag:s,payload:i}=n;if(s.level<this.tracks.length&&s.type===Ct.SUBTITLE){var r;if(i.byteLength||(r=s.initSegment)!=null&&(r=r.data)!=null&&r.byteLength){let a=s.decryptdata,l="stats"in n;if(a==null||!a.encrypted||l){let c=this.tracks[s.level],f=this.vttCCs;if(!f[s.cc])f[s.cc]={start:s.start,prevCC:this.prevCC,new:!0},this.prevCC=s.cc;if((c==null?void 0:c.textCodec)===g1)this._parseIMSC1(n);else this._parseVTTs(n)}}else{let a="part"in n?n.part:null;this.hls.trigger(Z.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:s,part:a,error:Error("Empty subtitle payload")})}}}_parseIMSC1(e){let{frag:n,payload:s}=e,i="part"in e?e.part:null,r=this.hls;O3(s,this.initPTS[n.cc],(a)=>{this._appendCues(a,n.level),r.trigger(Z.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:n,part:i})},(a)=>{r.logger.log(`Cannot parse IMSC1 (sn: ${n.sn} @${n.start}): ${a}`),r.trigger(Z.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:n,part:i,error:a})})}_parseVTTs(e){var n;let{frag:s,payload:i}=e,r="part"in e?e.part:null,{initPTS:a,unparsedVttFrags:l}=this,c=a.length-1;if(!a[s.cc]&&c===-1){l.push(e);return}let f=this.hls,d=(n=s.initSegment)==null?void 0:n.data,b=d?qr(d,new Uint8Array(i)).buffer:i;g_(b,this.initPTS[s.cc],this.vttCCs,s.cc,(r&&!d?r:s).start,(y)=>{this._appendCues(y,s.level),f.trigger(Z.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:s,part:r})},(y)=>{let v=y.message.startsWith("Missing initPTS");if(f.logger.log(`${v?"Deferred parsing of":"Cannot parse"} VTT cue (sn: ${s.sn} @${s.start}): ${y}`),v){l.push(e);return}else if(this.config.enableIMSC1)this._fallbackToIMSC1(e);f.trigger(Z.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:s,part:r,error:y})})}_fallbackToIMSC1(e){let{frag:n,payload:s}=e,i=this.tracks[n.level];if(!i.textCodec)O3(s,this.initPTS[n.cc],()=>{i.textCodec=g1,this._parseIMSC1(e)},()=>{i.textCodec="wvtt"})}_appendCues(e,n){let s=this.hls;if(this.config.renderTextTracksNatively){var i;let r=(i=this.tracks[n].trackNode)==null?void 0:i.track;if(!r||r.mode==="disabled")return;e.forEach((a)=>b1(r,a))}else{let r=this.tracks[n];if(!r)return;let a=r.default?"default":"subtitles"+n;s.trigger(Z.CUES_PARSED,{type:"subtitles",cues:e,track:a,subtitleTrack:r})}}onFragDecrypted(e,n){let{frag:s}=n;if(s.type===Ct.SUBTITLE)this.onFragLoaded(Z.FRAG_LOADED,n)}onSubtitleTracksCleared(){this.tracks=[],this.captionsTracks={}}onFragParsingUserdata(e,n){if(!this.enabled||!this.config.enableCEA708Captions)return;let{frag:s,samples:i}=n;if(s.type===Ct.MAIN&&this.closedCaptionsForLevel(s)==="NONE")return;for(let r=0;r<i.length;r++){let a=i[r].bytes;if(a){if(!this.cea608Parser1)this.initCea608Parsers();let l=this.extractCea608Data(a);this.cea608Parser1.addData(i[r].pts,l[0]),this.cea608Parser2.addData(i[r].pts,l[1])}}}onBufferAppended(e,n){if(this.config.renderTextTracksNatively){var s;let{type:i,timeRanges:r}=n;if(i==="video"&&(s=r[i])!=null&&s.length){let{captionsTracks:a,cueCache:l}=this;Object.keys(l).forEach((c)=>{var f;let d=(f=a[c])==null?void 0:f.track;if(d){let b=l[c];for(let y=0;y<b.length;y++)b1(d,b[y])}delete l[c]})}}}onBufferFlushing(e,n){let{startOffset:s,endOffset:i,endOffsetSubtitles:r,type:a}=n,{media:l}=this;if(!l||l.currentTime<i)return;if(!a||a==="video"){let{captionsTracks:c,cueCache:f}=this;Object.keys(c).forEach((d)=>w1(c[d].track,s,i)),Object.keys(f).forEach((d)=>{let b=f[d];for(let y=b.length;y--;){let v=b[y];if(v.startTime>=s&&v.endTime<=i)b.splice(y,1)}})}if(this.config.renderTextTracksNatively){if(s===0&&r!==void 0)this.tracks.forEach((c)=>{var f;let d=(f=c.trackNode)==null?void 0:f.track;if(d)w1(d,s,r)})}}extractCea608Data(e){let n=[[],[]],s=e[0]&31,i=2;for(let r=0;r<s;r++){let a=e[i++],l=127&e[i++],c=127&e[i++];if(l===0&&c===0)continue;if((4&a)!==0){let d=3&a;if(d===0||d===1)n[d].push(l),n[d].push(c)}}return n}}function Y_(e,n,s,i){return Math.min(n,i)-Math.max(e,s)}function X3(){return{ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}}}var Q_=/\s/,J_={newCue(e,n,s,i){let r=[],a,l,c,f,d,b=self.VTTCue||self.TextTrackCue;for(let v=0;v<i.rows.length;v++)if(a=i.rows[v],c=!0,f=0,d="",!a.isEmpty()){var y;for(let T=0;T<a.chars.length;T++)if(Q_.test(a.chars[T].uchar)&&c)f++;else d+=a.chars[T].uchar,c=!1;if(a.cueStartTime=n,n===s)s+=0.0001;if(f>=16)f--;else f++;let k=ov(d.trim()),A=eb(n,s,k);if(!(e!=null&&(y=e.cues)!=null&&y.getCueById(A)))l=new b(n,s,k),l.id=A,l.line=v+1,l.align="left",l.position=10+Math.min(80,Math.floor(f*8/32)*10),r.push(l)}if(e&&r.length)r.sort((v,k)=>{if(v.line==="auto"||k.line==="auto")return 0;if(v.line>8&&k.line>8)return k.line-v.line;return v.line-k.line}),r.forEach((v)=>b1(e,v));return r}};class rb{constructor(){this.requestTimeout=void 0,this.retryTimeout=void 0,this.retryDelay=0,this.config=null,this.callbacks=null,this.context=null,this.stats=new u0}destroy(){this.callbacks=this.context=this.config=null,this.abortInternal(),this.stats=null}load(e,n,s){let i=this.stats;if(i.loading.start)throw Error("Loader can only be used once.");i.loading.start=self.performance.now(),this.context=e,this.config=n,this.callbacks=s,this.loadInternal()}abort(){var e;if(this.abortInternal(),(e=this.callbacks)!=null&&e.onAbort)this.callbacks.onAbort(this.stats,this.context,this.getNetworkDetails())}loadtimeout(){if(!this.config)return;let e=this.config.loadPolicy.timeoutRetry,n=this.stats.retry;if(vh(e,n,!0))this.retry(e);else{var s;Rn.warn(`timeout while loading ${(s=this.context)==null?void 0:s.url}`);let i=this.callbacks;if(i)this.abortInternal(),i.onTimeout(this.stats,this.context,this.getNetworkDetails())}}retry(e){let{context:n,stats:s}=this;this.retryDelay=E1(e,s.retry),s.retry++,Rn.warn(`${status?"HTTP Status "+status:"Timeout"} while loading ${n==null?void 0:n.url}, retrying ${s.retry}/${e.maxNumRetry} in ${this.retryDelay}ms`),this.abortInternal(),this.resetInternalLoader(),self.clearTimeout(this.retryTimeout),this.retryTimeout=self.setTimeout(()=>this.loadInternal(),this.retryDelay)}}function eI(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch(e){}return!1}var tI=/(\d+)-(\d+)\/(\d+)/;class k1 extends rb{constructor(e){super();this.fetchSetup=void 0,this.request=null,this.response=null,this.controller=null,this.fetchSetup=e.fetchSetup||rI}destroy(){this.request=null,super.destroy(),this.response=null,this.controller=null,this.fetchSetup=null}abortInternal(){if(self.clearTimeout(this.retryTimeout),this.controller&&!this.stats.loading.end)this.stats.aborted=!0,this.controller.abort()}getNetworkDetails(){return this.response}resetInternalLoader(){this.response=null}loadInternal(){let{config:e,context:n,stats:s}=this;if(!e||!n)return;s.loading.first=0,s.loaded=0,s.aborted=!1,this.controller=new self.AbortController;let i=nI(n,this.controller.signal),r=n.responseType==="arraybuffer",a=r?"byteLength":"length",{maxTimeToFirstByteMs:l,maxLoadTimeMs:c}=e.loadPolicy;this.request=this.fetchSetup(n,i),self.clearTimeout(this.requestTimeout),e.timeout=l&&ht(l)?l:c,this.requestTimeout=self.setTimeout(()=>{this.loadtimeout()},e.timeout),(jh(this.request)?this.request.then(self.fetch):self.fetch(this.request)).then((d)=>{var b;this.response=d;let y=Math.max(self.performance.now(),s.loading.start);if(self.clearTimeout(this.requestTimeout),e.timeout=c,this.requestTimeout=self.setTimeout(()=>{this.loadtimeout()},c-(y-s.loading.start)),!d.ok){let{status:k,statusText:A}=d;throw new Mv(A||"fetch, bad network response",k,d)}s.loading.first=y,s.total=iI(d.headers)||s.total;let v=(b=this.callbacks)==null?void 0:b.onProgress;if(v&&ht(e.highWaterMark))return this.loadProgressively(d,s,n,e.highWaterMark,v);if(r)return d.arrayBuffer();if(n.responseType==="json")return d.json();return d.text()}).then((d)=>{var b,y;let v=this.response;if(!v)throw Error("loader destroyed");self.clearTimeout(this.requestTimeout),s.loading.end=Math.max(self.performance.now(),s.loading.first);let k=d[a];if(k)s.loaded=s.total=k;let A={url:v.url,data:d,code:v.status},T=(b=this.callbacks)==null?void 0:b.onProgress;if(T&&!ht(e.highWaterMark))T(s,n,d,v);(y=this.callbacks)==null||y.onSuccess(A,s,n,v)}).catch((d)=>{if(self.clearTimeout(this.requestTimeout),s.aborted)return;let b=!d?0:d.code||0,y=!d?null:d.message,v=e.loadPolicy.errorRetry,k=s.retry,A={url:n.url,data:void 0,code:b};if(vh(v,k,!1,A))this.retry(v);else{var T;Rn.error(`${b} while loading ${n.url}`),(T=this.callbacks)==null||T.onError({code:b,text:y},n,d?d.details:null,s)}})}getCacheAge(){let e=null;if(this.response){let n=this.response.headers.get("age");e=n?parseFloat(n):null}return e}getResponseHeader(e){return this.response?this.response.headers.get(e):null}loadProgressively(e,n,s,i=0,r){let a=new P1,l=e.body.getReader(),c=()=>l.read().then((f)=>{if(f.done){if(a.dataLength)r(n,s,a.flush().buffer,e);return Promise.resolve(new ArrayBuffer(0))}let d=f.value,b=d.length;if(n.loaded+=b,b<i||a.dataLength){if(a.push(d),a.dataLength>=i)r(n,s,a.flush().buffer,e)}else r(n,s,d.buffer,e);return c()}).catch(()=>Promise.reject());return c()}}function nI(e,n){let s={method:"GET",mode:"cors",credentials:"same-origin",signal:n,headers:new self.Headers(Un({},e.headers))};if(e.rangeEnd)s.headers.set("Range","bytes="+e.rangeStart+"-"+String(e.rangeEnd-1));return s}function sI(e){let n=tI.exec(e);if(n)return parseInt(n[2])-parseInt(n[1])+1}function iI(e){let n=e.get("Content-Range");if(n){let i=sI(n);if(ht(i))return i}let s=e.get("Content-Length");if(s)return parseInt(s)}function rI(e,n){return new self.Request(e.url,n)}class Mv extends Error{constructor(e,n,s){super(e);this.code=void 0,this.details=void 0,this.code=n,this.details=s}}var aI=(e,n,s)=>Math.max(n,Math.min(e,s)),oI=/^age:\s*[\d.]+\s*$/im;class ab extends rb{constructor(e){super();this.xhrSetup=void 0,this.loader=null,this.xhrSetup=e.xhrSetup||null}destroy(){super.destroy(),this.loader=null,this.xhrSetup=null}abortInternal(){let e=this.loader;if(self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),e){if(e.onreadystatechange=null,e.onprogress=null,e.readyState!==4)this.stats.aborted=!0,e.abort()}}getNetworkDetails(){return this.loader}resetInternalLoader(){this.loader=null}loadInternal(){let{config:e,context:n}=this;if(!e||!n)return;let s=this.loader=new self.XMLHttpRequest,i=this.stats;i.loading.first=0,i.loaded=0,i.aborted=!1;let r=this.xhrSetup;if(r)Promise.resolve().then(()=>{if(this.loader!==s||this.stats.aborted)return;return r.call(this,s,n.url,n)}).catch((a)=>{if(this.loader!==s||this.stats.aborted)return;return s.open("GET",n.url,!0),r.call(this,s,n.url,n)}).then(()=>{if(this.loader!==s||this.stats.aborted)return;this.openAndSendXhr(s,n,e)}).catch((a)=>{var l;(l=this.callbacks)==null||l.onError({code:s.status,text:a.message},n,s,i);return});else this.openAndSendXhr(s,n,e)}openAndSendXhr(e,n,s){if(!e.readyState)e.open("GET",n.url,!0);let i=n.headers,{maxTimeToFirstByteMs:r,maxLoadTimeMs:a}=s.loadPolicy;if(i)for(let l in i)e.setRequestHeader(l,i[l]);if(n.rangeEnd)e.setRequestHeader("Range",`bytes=${n.rangeStart}-${n.rangeEnd-1}`);e.onreadystatechange=this.readystatechange.bind(this),e.onprogress=this.loadprogress.bind(this),e.responseType=n.responseType,self.clearTimeout(this.requestTimeout),s.timeout=r&&ht(r)?r:a,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),s.timeout),e.send()}readystatechange(){let{context:e,loader:n,stats:s}=this;if(!e||!n)return;let i=n.readyState,r=this.config;if(s.aborted)return;if(i>=2){if(s.loading.first===0){if(s.loading.first=Math.max(self.performance.now(),s.loading.start),r.timeout!==r.loadPolicy.maxLoadTimeMs)self.clearTimeout(this.requestTimeout),r.timeout=r.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),r.loadPolicy.maxLoadTimeMs-(s.loading.first-s.loading.start))}if(i===4){self.clearTimeout(this.requestTimeout),n.onreadystatechange=null,n.onprogress=null;let f=n.status,d=n.responseType==="text"?n.responseText:null;if(f>=200&&f<300){let k=d!=null?d:n.response;if(k!=null){var a,l;s.loading.end=Math.max(self.performance.now(),s.loading.first);let A=n.responseType==="arraybuffer"?k.byteLength:k.length;s.loaded=s.total=A,s.bwEstimate=s.total*8000/(s.loading.end-s.loading.first);let T=(a=this.callbacks)==null?void 0:a.onProgress;if(T)T(s,e,k,n);let R={url:n.responseURL,data:k,code:f};if(e.rangeEnd&&A!==e.rangeEnd-e.rangeStart)Rn.warn(`Payload length ${A} does not match requested Range: bytes=${e.rangeStart}-${e.rangeEnd-1}`);(l=this.callbacks)==null||l.onSuccess(R,s,e,n);return}}let b=r.loadPolicy.errorRetry,y=s.retry,v={url:e.url,data:void 0,code:f};if(vh(b,y,!1,v))this.retry(b);else{var c;Rn.error(`${f} while loading ${e.url}`),(c=this.callbacks)==null||c.onError({code:f,text:n.statusText},e,n,s)}}}}loadprogress(e){let n=this.stats;if(n.loaded=e.loaded,e.lengthComputable)n.total=e.total}getCacheAge(){let e=null;if(this.loader&&oI.test(this.loader.getAllResponseHeaders())){let n=this.loader.getResponseHeader("age");e=n?parseFloat(n):null}return e}getResponseHeader(e){if(this.loader&&new RegExp(`^${e}:\\s*[\\d.]+\\s*$`,"im").test(this.loader.getAllResponseHeaders()))return this.loader.getResponseHeader(e);return null}}var lI={maxTimeToFirstByteMs:8000,maxLoadTimeMs:20000,timeoutRetry:null,errorRetry:null},cI=qt(qt({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,maxDevicePixelRatio:Number.POSITIVE_INFINITY,preferManagedMediaSource:!1,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,frontBufferFlushThreshold:1/0,loopBackBufferFlush:void 0,startOnSegmentBoundary:!1,nextAudioTrackBufferFlushForwardOffset:0.25,maxBufferSize:60000000,maxFragLookUpTolerance:0.25,maxBufferHole:0.1,detectStallWithCurrentTimeMs:1250,highBufferWatchdogPeriod:2,nudgeOffset:0.1,nudgeMaxRetry:3,nudgeOnVideoHole:!0,skipBufferHolePadding:0.1,liveSyncMode:"edge",liveSyncDurationCount:3,liveSyncOnStallIncrease:1,liveMaxLatencyDurationCount:1/0,liveMaxUnchangedPlaylistRefresh:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxLiveSyncPlaybackRate:1,liveDurationInfinity:!1,liveBackBufferLength:null,maxMaxBufferLength:600,enableWorker:!0,workerPath:null,enableSoftwareAES:!0,startLevel:void 0,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5000,fpsDroppedMonitoringThreshold:0.2,appendErrorMaxRetry:3,appendTimeout:1/0,ignorePlaylistParsingErrors:!1,loader:ab,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,handleMpegTsVideoIntegrityErrors:"process",abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:500000,abrEwmaDefaultEstimateMax:5000000,abrBandWidthFactor:0.95,abrBandWidthUpFactor:0.7,abrMaxWithRealBitrate:!1,abrSwitchInterval:0,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystems:{},drmSystemOptions:{},requestMediaKeySystemAccessFunc:V9,requireKeySystemAccessOnStart:!1,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableEmsgKLVMetadata:!1,enableID3MetadataCues:!0,emsgKLVSchemaUri:void 0,enableInterstitialPlayback:!0,interstitialAppendInPlace:!0,interstitialLiveLookAhead:10,iframeCacheLimit:2097152,useMediaCapabilities:!0,preserveManualLevelOnError:!1,errorPenaltyExpireMs:0,certLoadPolicy:{default:lI},keyLoadPolicy:{default:{maxTimeToFirstByteMs:8000,maxLoadTimeMs:20000,timeoutRetry:{maxNumRetry:1,retryDelayMs:1000,maxRetryDelayMs:20000,backoff:"linear"},errorRetry:{maxNumRetry:8,retryDelayMs:1000,maxRetryDelayMs:20000,backoff:"linear"}}},manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:20000,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1000,maxRetryDelayMs:8000}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:20000,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:2,retryDelayMs:1000,maxRetryDelayMs:8000}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:120000,timeoutRetry:{maxNumRetry:4,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:6,retryDelayMs:1000,maxRetryDelayMs:8000}}},steeringManifestLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:20000,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1000,maxRetryDelayMs:8000}}},interstitialAssetListLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:30000,timeoutRetry:{maxNumRetry:0,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:0,retryDelayMs:1000,maxRetryDelayMs:8000}}},manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1000,manifestLoadingMaxRetryTimeout:64000,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1000,levelLoadingMaxRetryTimeout:64000,fragLoadingTimeOut:20000,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1000,fragLoadingMaxRetryTimeout:64000,streamController:nb,abrController:I9,bufferController:D6,capLevelController:$1,errorController:M9,fpsController:nv,id3TrackController:mv,gapController:dv,latencyController:Tv},fI()),{},{subtitleStreamController:Ev,subtitleTrackController:uv,timelineController:qv,audioStreamController:E6,audioTrackController:j6,emeController:nf,cmcdController:J6,contentSteeringController:Z6,iframeController:wv,interstitialsController:Av});function fI(){return{cueHandler:J_,enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0}}function hI(e,n,s){if((n.liveSyncDurationCount||n.liveMaxLatencyDurationCount)&&(n.liveSyncDuration||n.liveMaxLatencyDuration))throw Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(n.liveMaxLatencyDurationCount!==void 0&&(n.liveSyncDurationCount===void 0||n.liveMaxLatencyDurationCount<=n.liveSyncDurationCount))throw Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(n.liveMaxLatencyDuration!==void 0&&(n.liveSyncDuration===void 0||n.liveMaxLatencyDuration<=n.liveSyncDuration))throw Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');if(n.liveMaxUnchangedPlaylistRefresh!==void 0){let l=n.liveMaxUnchangedPlaylistRefresh,c=aI(l,2,1/0);if(c!==l)s.warn(`hls.js config: "liveMaxUnchangedPlaylistRefresh" clamped from ${l} to ${c}.`);n.liveMaxUnchangedPlaylistRefresh=c}let i=x1(e),r=["manifest","level","frag"],a=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return r.forEach((l)=>{let c=`${l==="level"?"playlist":l}LoadPolicy`,f=n[c]===void 0,d=[];if(a.forEach((b)=>{let y=`${l}Loading${b}`,v=n[y];if(v!==void 0&&f){d.push(y);let k=i[c].default;switch(n[c]={default:k},b){case"TimeOut":k.maxLoadTimeMs=v,k.maxTimeToFirstByteMs=v;break;case"MaxRetry":k.errorRetry.maxNumRetry=v,k.timeoutRetry.maxNumRetry=v;break;case"RetryDelay":k.errorRetry.retryDelayMs=v,k.timeoutRetry.retryDelayMs=v;break;case"MaxRetryTimeout":k.errorRetry.maxRetryDelayMs=v,k.timeoutRetry.maxRetryDelayMs=v;break}}}),d.length)s.warn(`hls.js config: "${d.join('", "')}" setting(s) are deprecated, use "${c}": ${us(n[c])}`)}),qt(qt({},i),n)}function x1(e){if(e&&typeof e==="object"){if(Array.isArray(e))return e.map(x1);return Object.keys(e).reduce((n,s)=>(n[s]=x1(e[s]),n),{})}return e}function uI(e,n){let s=e.loader;if(s!==k1&&s!==ab)n.log("[config]: Custom loader detected, cannot enable progressive streaming"),e.progressive=!1;else if(eI())e.loader=k1,e.progressive=!0,e.enableSoftwareAES=!0,n.log("[config]: Progressive streaming enabled, using FetchLoader")}class Fv extends v0{constructor(e,n){super(e,"level-controller");this._levels=[],this._firstLevel=-1,this._maxAutoLevel=-1,this._startLevel=void 0,this.currentLevel=null,this.currentLevelIndex=-1,this.manualLevelIndex=-1,this.steering=void 0,this.lastABRSwitchTime=-1,this._iframeVariants=[],this.onParsedComplete=void 0,this.steering=n,this._registerListeners()}_registerListeners(){let{hls:e}=this;e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(Z.LEVEL_LOADED,this.onLevelLoaded,this),e.on(Z.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(Z.FRAG_BUFFERED,this.onFragBuffered,this),e.on(Z.ERROR,this.onError,this)}_unregisterListeners(){let{hls:e}=this;e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(Z.LEVEL_LOADED,this.onLevelLoaded,this),e.off(Z.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(Z.FRAG_BUFFERED,this.onFragBuffered,this),e.off(Z.ERROR,this.onError,this)}destroy(){this._unregisterListeners(),this.steering=null,this.resetLevels(),super.destroy()}stopLoad(){this._levels.forEach((n)=>{n.loadError=0,n.fragmentError=0}),super.stopLoad()}resetLevels(){this._startLevel=void 0,this.manualLevelIndex=-1,this.currentLevelIndex=-1,this.currentLevel=null,this._levels=[],this._maxAutoLevel=-1,this._iframeVariants=[]}onManifestLoading(e,n){this.resetLevels()}onManifestLoaded(e,n){let s=this.hls.config.preferManagedMediaSource,i=[],r={},a={},l=!1,c=!1,f=!1,d=!1;n.levels.forEach((b)=>{let y=b.attrs,v=W3(b,s),{audioCodec:k,videoCodec:A,imageCodec:T,width:R,height:D}=b;if(!v){this.log(`Some or all CODECS not supported "${y.CODECS}"`);return}l||(l=!!(R&&D)),c||(c=!!A),f||(f=!!k),d||(d=!!T);let{CODECS:U,"FRAME-RATE":Y,"HDCP-LEVEL":X,"PATHWAY-ID":J,RESOLUTION:ee,"VIDEO-RANGE":te}=y,ie=`${`${J||"."}-`}${b.bitrate}-${ee}-${Y}-${U}-${te}-${X}`;if(!r[ie]){let se=this.createLevel(b);r[ie]=se,a[ie]=1,i.push(se)}else if(r[ie].uri!==b.url&&!b.attrs["PATHWAY-ID"]){let se=a[ie]+=1;b.attrs["PATHWAY-ID"]=Array(se+1).join(".");let ae=this.createLevel(b);r[ie]=ae,i.push(ae)}else if(!b.iframes)r[ie].addGroupId("audio",y.AUDIO),r[ie].addGroupId("text",y.SUBTITLES)}),this.filterAndSortMediaOptions(i,n,l,c,f,d)}createLevel(e){let n=new rf(e),s=e.supplemental;if(s!=null&&s.videoCodec&&!Ov(s.videoCodec,this.hls.config.preferManagedMediaSource)){let i=Error(`SUPPLEMENTAL-CODECS not supported "${s.videoCodec}"`);this.log(i.message),n.supportedResult=A9(i,[])}return n}filterAndSortMediaOptions(e,n,s,i,r,a){var l;let c=[],f=[],d=e,b=((l=n.stats)==null?void 0:l.parsing)||{},y=this.hls.config.preferManagedMediaSource;if((s||i)&&r)d=d.filter(({videoCodec:X,videoRange:J,width:ee,height:te})=>(!!X||!!(ee&&te))&&TE(J));if(i&&a)d=d.filter((X)=>!X.imageCodec);if(d.length===0){Promise.resolve().then(()=>{if(this.hls){let X="no level with compatible codecs found in manifest",J=X;if(n.levels.length)J=`one or more CODECS in variant not supported: ${us(n.levels.map((te)=>te.attrs.CODECS).filter((te,ne,ie)=>ie.indexOf(te)===ne))}`,this.warn(J),X+=` (${J})`;let ee=Error(X);this.hls.trigger(Z.ERROR,{type:Dt.MEDIA_ERROR,details:Oe.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:n.url,error:ee,reason:J})}}),b.end=performance.now();return}if(n.audioTracks)c=n.audioTracks.filter((X)=>!X.audioCodec||Lv(X.audioCodec,y)),K3(c);if(n.subtitles)f=n.subtitles,K3(f);let v=d.slice(0);d.sort((X,J)=>{if(X.attrs["HDCP-LEVEL"]!==J.attrs["HDCP-LEVEL"])return(X.attrs["HDCP-LEVEL"]||"")>(J.attrs["HDCP-LEVEL"]||"")?1:-1;if(s&&X.height!==J.height)return X.height-J.height;if(X.frameRate!==J.frameRate)return X.frameRate-J.frameRate;if(X.videoRange!==J.videoRange)return e0.indexOf(X.videoRange)-e0.indexOf(J.videoRange);if(X.videoCodec!==J.videoCodec){let ee=F5(X.videoCodec),te=F5(J.videoCodec);if(ee!==te)return te-ee}if(X.uri===J.uri&&X.codecSet!==J.codecSet){let ee=Jd(X.codecSet),te=Jd(J.codecSet);if(ee!==te)return te-ee}if(X.averageBitrate!==J.averageBitrate)return X.averageBitrate-J.averageBitrate;return 0});let k=v[0];if(this.steering){if(d=this.steering.filterParsedLevels(d),d.length!==v.length){for(let X=0;X<v.length;X++)if(v[X].pathwayId===d[0].pathwayId){k=v[X];break}}}this._levels=d;for(let X=0;X<d.length;X++)if(d[X]===k){var A;this._firstLevel=X;let J=k.bitrate,ee=this.hls.bandwidthEstimate;if(this.log(`manifest loaded, ${d.length} level(s) found, first bitrate: ${J}`),((A=this.hls.userConfig)==null?void 0:A.abrEwmaDefaultEstimate)===void 0){let te=Math.min(J,this.hls.config.abrEwmaDefaultEstimateMax);if(te>ee&&ee===this.hls.abrEwmaDefaultEstimate)this.hls.bandwidthEstimate=te}break}let T=n.iframeVariants.filter((X)=>W3(X,y));this._iframeVariants=T;let R=r&&!i,D=this.hls.config,U=!!(D.audioStreamController&&D.audioTrackController),Y={levels:d,audioTracks:c,subtitleTracks:f,iframeVariants:T,sessionData:n.sessionData,sessionKeys:n.sessionKeys,firstLevel:this._firstLevel,stats:n.stats,audio:r,video:i,altAudio:U&&!R&&c.some((X)=>!!X.url)};b.end=performance.now(),this.hls.trigger(Z.MANIFEST_PARSED,Y)}get iframeVariants(){if(this._iframeVariants.length===0)return null;return this._iframeVariants}get levels(){if(this._levels.length===0)return null;return this._levels}get loadLevelObj(){return this.currentLevel}get level(){return this.currentLevelIndex}set level(e){let n=this._levels;if(n.length===0)return;if(e<0||e>=n.length){let d=Error("invalid level idx"),b=e<0;if(this.hls.trigger(Z.ERROR,{type:Dt.OTHER_ERROR,details:Oe.LEVEL_SWITCH_ERROR,level:e,fatal:b,error:d,reason:d.message}),b)return;e=Math.min(e,n.length-1)}let s=this.currentLevelIndex,i=this.currentLevel,r=i?i.attrs["PATHWAY-ID"]:void 0,a=n[e],l=a.attrs["PATHWAY-ID"];if(this.currentLevelIndex=e,this.currentLevel=a,s===e&&i&&r===l)return;this.log(`Switching to level ${e} (${a.height?a.height+"p ":""}${a.videoRange?a.videoRange+" ":""}${a.codecSet?a.codecSet+" ":""}@${a.bitrate})${l?" with Pathway "+l:""} from level ${s}${r?" with Pathway "+r:""}`);let c={level:e,attrs:a.attrs,details:a.details,bitrate:a.bitrate,averageBitrate:a.averageBitrate,maxBitrate:a.maxBitrate,realBitrate:a.realBitrate,width:a.width,height:a.height,codecSet:a.codecSet,audioCodec:a.audioCodec,videoCodec:a.videoCodec,audioGroups:a.audioGroups,subtitleGroups:a.subtitleGroups,loaded:a.loaded,loadError:a.loadError,fragmentError:a.fragmentError,name:a.name,id:a.id,uri:a.uri,url:a.url,urlId:0,audioGroupIds:a.audioGroupIds,textGroupIds:a.textGroupIds};this.hls.trigger(Z.LEVEL_SWITCHING,c);let f=a.details;if(!f||f.live){let d=this.switchParams(a.uri,i==null?void 0:i.details,f);this.loadPlaylist(d)}}get manualLevel(){return this.manualLevelIndex}set manualLevel(e){if(this.manualLevelIndex=e,this._startLevel===void 0)this._startLevel=e;if(e!==-1)this.level=e}get firstLevel(){return this._firstLevel}set firstLevel(e){this._firstLevel=e}get startLevel(){if(this._startLevel===void 0){let e=this.hls.config.startLevel;if(e!==void 0)return e;return this.hls.firstAutoLevel}return this._startLevel}set startLevel(e){this._startLevel=e}get pathways(){if(this.steering)return this.steering.pathways();return[]}get pathwayPriority(){if(this.steering)return this.steering.pathwayPriority;return null}set pathwayPriority(e){if(this.steering){let n=this.steering.pathways(),s=e.filter((i)=>n.indexOf(i)!==-1);if(e.length<1){this.warn(`pathwayPriority ${e} should contain at least one pathway from list: ${n}`);return}this.steering.pathwayPriority=s}}onError(e,n){if(n.fatal||!n.context)return;if(n.context.type===un.LEVEL&&n.context.level===this.level)this.checkRetry(n)}onFragBuffered(e,{frag:n}){if(n.type===Ct.MAIN){let s=n.elementaryStreams;if(!Object.keys(s).some((r)=>!!s[r]))return;let i=this._levels[n.level];if(i!=null&&i.loadError)this.log(`Resetting level error count of ${i.loadError} on frag buffered`),i.loadError=0}}onLevelLoaded(e,n){var s;let{level:i,details:r}=n,a=n.levelInfo;if(!a){var l;if(this.warn(`Invalid level index ${i}`),(l=n.deliveryDirectives)!=null&&l.skip)r.deltaUpdateFailed=!0;return}if(a===this.currentLevel||n.withoutMultiVariant){if(a.fragmentError===0)a.loadError=0;let c=a.details;if(c===n.details&&c.advanced)c=void 0;this.playlistLoaded(i,n,c)}else if((s=n.deliveryDirectives)!=null&&s.skip)r.deltaUpdateFailed=!0}loadPlaylist(e){if(super.loadPlaylist(),this.shouldLoadPlaylist(this.currentLevel))this.scheduleLoading(this.currentLevel,e)}loadingPlaylist(e,n){super.loadingPlaylist(e,n);let s=this.getUrlWithDirectives(e.uri,n),i=this.currentLevelIndex,r=e.attrs["PATHWAY-ID"],a=e.details,l=a==null?void 0:a.age;this.log(`Loading level index ${i}${(n==null?void 0:n.msn)!==void 0?" at sn "+n.msn+" part "+n.part:""}${r?" Pathway "+r:""}${l&&a.live?" age "+l.toFixed(1)+(a.type?" "+a.type||"":""):""} ${s}`),this.hls.trigger(Z.LEVEL_LOADING,{url:s,level:i,levelInfo:e,pathwayId:e.attrs["PATHWAY-ID"],id:0,deliveryDirectives:n||null})}get nextLoadLevel(){if(this.manualLevelIndex!==-1)return this.manualLevelIndex;else return this.hls.nextAutoLevel}set nextLoadLevel(e){let n=this.currentLevelIndex;if(this.manualLevelIndex===-1&&e!==n&&e!==-1){let i=this.hls.config.abrSwitchInterval;if(i>0){let r=performance.now(),a=r-this.lastABRSwitchTime,l=i*1000;if(this.lastABRSwitchTime>-1&&a<l){this.warn(`Preventing ABR level switch: ${n} -> ${e} (${Math.round(a)}ms < ${l}ms / ${i}s)`);return}this.lastABRSwitchTime=r,this.log(`Allowing ABR level switch: ${n} -> ${e} (${Math.round(a)}ms >= ${l}ms / ${i}s)`)}}if(this.level=e,this.manualLevelIndex===-1)this.hls.nextAutoLevel=e}removeLevel(e){var n;if(this._levels.length===1)return;let s=this._levels.filter((r,a)=>{if(a!==e)return!0;if(this.steering)this.steering.removeLevel(r);if(r===this.currentLevel){if(this.currentLevel=null,this.currentLevelIndex=-1,r.details)r.details.fragments.forEach((l)=>l.level=-1)}return!1});if(J9(s),this._levels=s,this.currentLevelIndex>-1&&(n=this.currentLevel)!=null&&n.details)this.currentLevelIndex=this.currentLevel.details.fragments[0].level;if(this.manualLevelIndex>-1)this.manualLevelIndex=this.currentLevelIndex;let i=s.length-1;if(this._firstLevel=Math.min(this._firstLevel,i),this._startLevel)this._startLevel=Math.min(this._startLevel,i);this.hls.trigger(Z.LEVELS_UPDATED,{levels:s})}onLevelsUpdated(e,{levels:n}){this._levels=n}checkMaxAutoUpdated(){let{autoLevelCapping:e,maxAutoLevel:n,maxHdcpLevel:s}=this.hls;if(this._maxAutoLevel!==n)this._maxAutoLevel=n,this.hls.trigger(Z.MAX_AUTO_LEVEL_UPDATED,{autoLevelCapping:e,levels:this.levels,maxAutoLevel:n,minAutoLevel:this.hls.minAutoLevel,maxHdcpLevel:s})}}function Lv(e,n){return Ah(e,"audio",n)}function Ov(e,n){return Ah(e,"video",n)}function W3(e,n){let{audioCodec:s,videoCodec:i}=e;if(s)e.audioCodec=s=Zd(s,n)||void 0;if(i)i=e.videoCodec=gE(i);let{unknownCodecs:r}=e;if((r==null?void 0:r.length)||0||s&&!Lv(s,n)||i&&!Ov(i,n))return!1;return!0}function K3(e){let n={};e.forEach((s)=>{let i=s.groupId||"";s.id=n[i]=n[i]||0,n[i]++})}class Pv extends Zi{constructor(e,n){super("key-loader",n);this.config=void 0,this.keyLoaderInfo={},this.emeController=null,this.config=e}abort(e){for(let s in this.keyLoaderInfo){let i=this.keyLoaderInfo[s].loader;if(i){var n;if(e&&e!==((n=i.context)==null?void 0:n.frag.type))return;i.abort()}}}destroy(){for(let e in this.keyLoaderInfo){let n=this.keyLoaderInfo[e].loader;if(n)n.destroy()}this.emeController=null,this.keyLoaderInfo={}}loadClear(e,n,s){if(this.emeController)return this.emeController.loadClear(e,n,s);return null}load(e,n){if(!e.decryptdata&&e.encrypted&&this.emeController&&this.config.emeEnabled)return this.emeController.selectKeySystemFormat(e).then((s)=>this.loadInternal(e,n,s));return this.loadInternal(e,n)}loadInternal(e,n,s){if(s)e.setKeyFormat(s);let i=e.decryptdata;if(!i){let a=Error(s?`Expected frag.decryptdata to be defined after setting format ${s}`:`Missing decryption data on fragment in onKeyLoading (emeEnabled with controller: ${this.emeController&&this.config.emeEnabled})`);return Promise.reject(il(e,Oe.KEY_LOAD_ERROR,a))}let r=e;switch(i.method){case"SAMPLE-AES":case"SAMPLE-AES-CENC":case"SAMPLE-AES-CTR":if(i.keyFormat==="identity")return this.loadKeyHTTP(r);return n?n.then(()=>this.loadKeyEME(r)):this.loadKeyEME(r);case"AES-128":case"AES-256":case"AES-256-CTR":return this.loadKeyHTTP(r);default:return Promise.reject(il(e,Oe.KEY_LOAD_ERROR,Error(`Key supplied with unsupported METHOD: "${i.method}"`)))}}loadKeyEME(e){if(this.emeController&&this.config.emeEnabled){var n;if(!e.decryptdata.keyId&&(n=e.initSegment)!=null&&n.data){let s=YT(e.initSegment.data);if(s.length){let i=s[0],r=e.decryptdata.uri;if(i.some((a)=>a!==0))this.log(`Using keyId found in init segment ${ri(i)} keyUri: ${r}`),ko.setKeyIdForUri(r,i);else{let a=ko.addKeyIdForUri(r);this.log(`Patching empty keyId with ${ri(a)} keyUri: ${r}`),i=a}e.decryptdata.keyId=i}}return this.emeController.loadKey(e).then(()=>({frag:e,keyInfo:{decryptdata:e.decryptdata}}))}return Promise.reject(il(e,Oe.KEY_LOAD_ERROR,Error(`emeEnabled with controller: ${this.emeController&&this.config.emeEnabled})`)))}loadKeyHTTP(e){let n=e.decryptdata,s=n.uri;if(!s)return Promise.reject(il(e,Oe.KEY_LOAD_ERROR,Error(`Invalid key URI: "${s}"`)));let i=this.keyLoaderInfo[s];if(i){if(i.decryptdata.key)return n.key=i.decryptdata.key,i.keyLoadPromise=null,Promise.resolve({frag:e,keyInfo:i});if(i.keyLoadPromise)return i.keyLoadPromise.then((f)=>(n.key=i.decryptdata.key,qt(qt({},f),{},{frag:e})))}this.log(`Loading${n.keyId?" keyId: "+ri(n.keyId):""} URI: ${n.uri} from ${e.type} ${e.level}`);let r=this.config,l=new r.loader(r);e.keyLoader=l;let c=this.keyLoaderInfo[s]={decryptdata:n,keyLoadPromise:null,loader:l};return c.keyLoadPromise=new Promise((f,d)=>{let b={type:un.KEY,keyInfo:c,frag:e,responseType:"arraybuffer",url:s},y=r.keyLoadPolicy.default,v={loadPolicy:y,timeout:y.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},k={onSuccess:(A,T,R,D)=>{let{frag:U,keyInfo:Y,url:X}=R;if(!U.decryptdata||Y!==this.keyLoaderInfo[X])return d(il(U,Oe.KEY_LOAD_ERROR,Error("after key load, decryptdata unset or changed"),D));Y.decryptdata.key=U.decryptdata.key=new Uint8Array(A.data),U.keyLoader=Y.loader=Y.keyLoadPromise=null,f({frag:U,keyInfo:Y})},onError:(A,T,R,D)=>{this.resetLoader(T),d(il(e,Oe.KEY_LOAD_ERROR,Error(`HTTP Error ${A.code} loading key ${A.text}`),R,qt({url:s,data:void 0},A)))},onTimeout:(A,T,R)=>{this.resetLoader(T),d(il(e,Oe.KEY_LOAD_TIMEOUT,Error("key loading timed out"),R))},onAbort:(A,T,R)=>{this.resetLoader(T),d(il(e,Oe.INTERNAL_ABORTED,Error("key loading aborted"),R))}};l.load(b,v,k)})}resetLoader(e){let{frag:n,keyInfo:s,url:i}=e,r=s.loader;if(n.keyLoader===r)n.keyLoader=s.loader=s.keyLoadPromise=null;if(delete this.keyLoaderInfo[i],r)r.destroy()}}function il(e,n=Oe.KEY_LOAD_ERROR,s,i,r){return new la({type:Dt.NETWORK_ERROR,details:n,fatal:!1,frag:e,response:r,error:s,networkDetails:i||null})}function Y3(e){let{type:n}=e;switch(n){case un.AUDIO_TRACK:return Ct.AUDIO;case un.SUBTITLE_TRACK:return Ct.SUBTITLE;default:return Ct.MAIN}}function Kg(e,n){let s=e.url;if(s===void 0||s.indexOf("data:")===0)s=n.url;return s}class Nv{constructor(e){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.onManifestLoaded=this.checkAutostartLoad,this.hls=e,this.registerListeners()}startLoad(e){}stopLoad(){this.destroyInternalLoaders()}registerListeners(){let{hls:e}=this;e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.LEVEL_LOADING,this.onLevelLoading,this),e.on(Z.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.on(Z.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this),e.on(Z.LEVELS_UPDATED,this.onLevelsUpdated,this)}unregisterListeners(){let{hls:e}=this;e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.LEVEL_LOADING,this.onLevelLoading,this),e.off(Z.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.off(Z.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this),e.off(Z.LEVELS_UPDATED,this.onLevelsUpdated,this)}createInternalLoader(e){let n=this.hls.config,{pLoader:s,loader:i}=n,a=new(s||i)(n);return this.loaders[e.type]=a,a}getInternalLoader(e){return this.loaders[e.type]}resetInternalLoader(e){if(this.loaders[e])delete this.loaders[e]}destroyInternalLoaders(){for(let e in this.loaders){let n=this.loaders[e];if(n)n.destroy();this.resetInternalLoader(e)}}destroy(){this.variableList=null,this.unregisterListeners(),this.destroyInternalLoaders()}onManifestLoading(e,n){let{url:s}=n;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:un.MANIFEST,url:s,deliveryDirectives:null,levelOrTrack:null})}onLevelLoading(e,n){let{id:s,level:i,pathwayId:r,url:a,deliveryDirectives:l,levelInfo:c}=n;this.load({id:s,level:i,pathwayId:r,responseType:"text",type:un.LEVEL,url:a,deliveryDirectives:l,levelOrTrack:c})}onAudioTrackLoading(e,n){let{id:s,groupId:i,url:r,deliveryDirectives:a,track:l}=n;this.load({id:s,groupId:i,level:null,responseType:"text",type:un.AUDIO_TRACK,url:r,deliveryDirectives:a,levelOrTrack:l})}onSubtitleTrackLoading(e,n){let{id:s,groupId:i,url:r,deliveryDirectives:a,track:l}=n;this.load({id:s,groupId:i,level:null,responseType:"text",type:un.SUBTITLE_TRACK,url:r,deliveryDirectives:a,levelOrTrack:l})}onLevelsUpdated(e,n){let s=this.loaders[un.LEVEL];if(s){let i=s.context;if(i&&!n.levels.some((r)=>r===i.levelOrTrack))s.abort(),delete this.loaders[un.LEVEL]}}load(e){var n;let s=this.hls.config,i=this.getInternalLoader(e);if(i){let f=this.hls.logger,d=i.context;if((d==null?void 0:d.levelOrTrack)===e.levelOrTrack&&(d.url===e.url||d.deliveryDirectives&&!e.deliveryDirectives)){if(d.url===e.url)f.log(`[playlist-loader]: ignore ${e.url} ongoing request`);else f.log(`[playlist-loader]: ignore ${e.url} in favor of ${d.url}`);return}f.log(`[playlist-loader]: aborting previous loader for type: ${e.type}`),i.abort()}let r;if(e.type===un.MANIFEST)r=s.manifestLoadPolicy.default;else r=Un({},s.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null});if(i=this.createInternalLoader(e),ht((n=e.deliveryDirectives)==null?void 0:n.part)){let f;if(e.type===un.LEVEL&&e.level!==null)f=this.hls.levels[e.level].details;else if(e.type===un.AUDIO_TRACK&&e.id!==null)f=this.hls.audioTracks[e.id].details;else if(e.type===un.SUBTITLE_TRACK&&e.id!==null)f=this.hls.subtitleTracks[e.id].details;if(f){let d=f.partTarget,b=f.targetduration;if(d&&b){let y=Math.max(d*3,b*0.8)*1000;r=Un({},r,{maxTimeToFirstByteMs:Math.min(y,r.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(y,r.maxTimeToFirstByteMs)})}}}let a=r.errorRetry||r.timeoutRetry||{},l={loadPolicy:r,timeout:r.maxLoadTimeMs,maxRetry:a.maxNumRetry||0,retryDelay:a.retryDelayMs||0,maxRetryDelay:a.maxRetryDelayMs||0},c={onSuccess:(f,d,b,y)=>{let v=this.getInternalLoader(b);this.resetInternalLoader(b.type);let k=f.data;if(d.parsing.start=performance.now(),Oa.isMediaPlaylist(k)||b.type!==un.MANIFEST)this.handleTrackOrLevelPlaylist(f,d,b,y||null,v);else this.handleMasterPlaylist(f,d,b,y)},onError:(f,d,b,y)=>{this.handleNetworkError(d,b,!1,f,y)},onTimeout:(f,d,b)=>{this.handleNetworkError(d,b,!0,void 0,f)}};i.load(e,l,c)}checkAutostartLoad(){if(!this.hls)return;let{config:{autoStartLoad:e,startPosition:n},forceStartLoad:s}=this.hls;if(e||s)this.hls.logger.log(`${e?"auto":"force"} startLoad with configured startPosition ${n}`),this.hls.startLoad(n)}handleMasterPlaylist(e,n,s,i){let r=this.hls,a=e.data,l=Kg(e,s),c=Oa.parseMasterPlaylist(a,l);if(c.playlistParsingError){n.parsing.end=performance.now(),this.handleManifestParsingError(e,s,c.playlistParsingError,i,n);return}let{contentSteering:f,levels:d,iframeVariants:b,sessionData:y,sessionKeys:v,startTimeOffset:k,variableList:A}=c;this.variableList=A,d.forEach((U)=>{let{unknownCodecs:Y}=U;if(Y){let{preferManagedMediaSource:X}=this.hls.config,{audioCodec:J,videoCodec:ee}=U;for(let te=Y.length;te--;){let ne=Y[te];if(Ah(ne,"audio",X))U.audioCodec=J=J?`${J},${ne}`:ne,sf.audio[J.substring(0,4)]=2,Y.splice(te,1);else if(Ah(ne,"video",X))U.videoCodec=ee=ee?`${ee},${ne}`:ne,sf.video[ee.substring(0,4)]=2,Y.splice(te,1)}}});let{AUDIO:T=[],SUBTITLES:R,"CLOSED-CAPTIONS":D}=Oa.parseMasterPlaylistMedia(a,l,c);if(T.length){if(!T.some((Y)=>!Y.url)&&d[0].audioCodec&&!d[0].attrs.AUDIO)this.hls.logger.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),T.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new js({}),bitrate:0,url:""})}r.trigger(Z.MANIFEST_LOADED,{levels:d,audioTracks:T,subtitles:R,iframeVariants:b,captions:D,contentSteering:f,url:l,stats:n,networkDetails:i,sessionData:y,sessionKeys:v,startTimeOffset:k,variableList:A})}handleTrackOrLevelPlaylist(e,n,s,i,r){let a=this.hls,{id:l,level:c,type:f}=s,d=Kg(e,s),b=ht(c)?c:ht(l)?l:0,y=Y3(s),v=Oa.parseLevelPlaylist(e.data,d,b,y,0,this.variableList);if(f===un.MANIFEST){let k={attrs:new js({}),bitrate:0,details:v,name:"",url:d};v.requestScheduled=n.loading.start+K9(v,0),a.trigger(Z.MANIFEST_LOADED,{levels:[k],audioTracks:[],iframeVariants:[],url:d,stats:n,networkDetails:i,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}n.parsing.end=performance.now(),s.levelDetails=v,this.handlePlaylistLoaded(v,e,n,s,i,r)}handleManifestParsingError(e,n,s,i,r){this.hls.trigger(Z.ERROR,{type:Dt.NETWORK_ERROR,details:Oe.MANIFEST_PARSING_ERROR,fatal:n.type===un.MANIFEST,url:e.url,err:s,error:s,reason:s.message,response:e,context:n,networkDetails:i,stats:r})}handleNetworkError(e,n,s=!1,i,r){let a=`A network ${s?"timeout":"error"+(i?" (status "+i.code+")":"")} occurred while loading ${e.type}`;if(e.type===un.LEVEL)a+=`: ${e.level} id: ${e.id}`;else if(e.type===un.AUDIO_TRACK||e.type===un.SUBTITLE_TRACK)a+=` id: ${e.id} group-id: "${e.groupId}"`;let l=Error(a);this.hls.logger.warn(`[playlist-loader]: ${a}`);let c=Oe.UNKNOWN,f=!1,d=this.getInternalLoader(e);switch(e.type){case un.MANIFEST:c=s?Oe.MANIFEST_LOAD_TIMEOUT:Oe.MANIFEST_LOAD_ERROR,f=!0;break;case un.LEVEL:c=s?Oe.LEVEL_LOAD_TIMEOUT:Oe.LEVEL_LOAD_ERROR,f=!1;break;case un.AUDIO_TRACK:c=s?Oe.AUDIO_TRACK_LOAD_TIMEOUT:Oe.AUDIO_TRACK_LOAD_ERROR,f=!1;break;case un.SUBTITLE_TRACK:c=s?Oe.SUBTITLE_TRACK_LOAD_TIMEOUT:Oe.SUBTITLE_LOAD_ERROR,f=!1;break}if(d)this.resetInternalLoader(e.type);let b={type:Dt.NETWORK_ERROR,details:c,fatal:f,url:e.url,loader:d,context:e,error:l,networkDetails:n,stats:r};if(i){let y=e.url;if(n&&"url"in n)y=n.url;b.response=qt({url:y,data:void 0},i)}this.hls.trigger(Z.ERROR,b)}handlePlaylistLoaded(e,n,s,i,r,a){let l=this.hls,{type:c,level:f,levelOrTrack:d,id:b,groupId:y,deliveryDirectives:v}=i,k=Kg(n,i),A=Y3(i),T=typeof i.level==="number"&&A===Ct.MAIN?f:void 0;if(d&&"iframes"in d&&d.iframes&&!e.iframesOnly)e.playlistParsingError=Error("EXT-X-I-FRAME-STREAM-INF media playlist MUST contain an EXT-X-I-FRAMES-ONLY tag"),e.iframesOnly=!0;let R=e.playlistParsingError;if(R){if(this.hls.logger.warn(`${R} ${e.url}`),!l.config.ignorePlaylistParsingErrors){l.trigger(Z.ERROR,{type:Dt.NETWORK_ERROR,details:Oe.LEVEL_PARSING_ERROR,fatal:!1,url:k,error:R,reason:R.message,response:n,context:i,level:T,parent:A,networkDetails:r,stats:s});return}e.playlistParsingError=null}if(!e.fragments.length){let D=e.playlistParsingError=Error("No Segments found in Playlist");l.trigger(Z.ERROR,{type:Dt.NETWORK_ERROR,details:Oe.LEVEL_EMPTY_ERROR,fatal:!1,url:k,error:D,reason:D.message,response:n,context:i,level:T,parent:A,networkDetails:r,stats:s});return}if(e.live&&a){if(a.getCacheAge)e.ageHeader=a.getCacheAge()||0;if(!a.getCacheAge||isNaN(e.ageHeader))e.ageHeader=0}switch(c){case un.MANIFEST:case un.LEVEL:if(T){if(!d)T=0;else if(d!==l.levels[T]){let D=l.levels.indexOf(d);if(D>-1)T=D}}l.trigger(Z.LEVEL_LOADED,{details:e,levelInfo:d||l.levels[0],level:T||0,id:b||0,stats:s,networkDetails:r,deliveryDirectives:v,withoutMultiVariant:c===un.MANIFEST,context:i});break;case un.AUDIO_TRACK:l.trigger(Z.AUDIO_TRACK_LOADED,{details:e,track:d,id:b||0,groupId:y||"",stats:s,networkDetails:r,deliveryDirectives:v,context:i});break;case un.SUBTITLE_TRACK:l.trigger(Z.SUBTITLE_TRACK_LOADED,{details:e,track:d,id:b||0,groupId:y||"",stats:s,networkDetails:r,deliveryDirectives:v,context:i});break}}}class is{static get version(){return Ch}static isMSESupported(){return gv()}static isSupported(){return C_()}static getMediaSource(){return cl()}static get Events(){return Z}static get MetadataSchema(){return Ui}static get ErrorTypes(){return Dt}static get ErrorDetails(){return Oe}static get DefaultConfig(){if(!is.defaultConfig)return cI;return is.defaultConfig}static set DefaultConfig(e){is.defaultConfig=e}constructor(e={}){this.config=void 0,this.userConfig=void 0,this.logger=void 0,this._url=null,this.streamController=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this._emitter=new N1,this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.abrController=void 0,this.bufferController=void 0,this.capLevelController=void 0,this.latencyController=void 0,this.levelController=void 0,this.audioStreamController=void 0,this.subtititleStreamController=void 0,this.audioTrackController=void 0,this.subtitleTrackController=void 0,this.interstitialsController=void 0,this.iframeController=void 0,this.gapController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this._sessionId=void 0,this.triggeringException=void 0,this.started=!1;let n=this.logger=kT(e.debug||!1,"Hls instance",e.loggerId||e.assetPlayerId),s=this.config=hI(is.DefaultConfig,e,n);if(this.userConfig=e,s.progressive)uI(s,n);let{streamController:i,abrController:r,bufferController:a,capLevelController:l,errorController:c,fpsController:f,id3TrackController:d,iframeController:b,gapController:y}=s,v=new c(this),k=this.abrController=new r(this),A=new L9(this),T=s.interstitialsController,R=T?this.interstitialsController=new T(this,is):null,D=a?this.bufferController=new a(this,A):null,U=l?this.capLevelController=new l(this):null,Y=f?new f(this):null,X=s.cmcdController,J=X?this.cmcdController=new X(this):null,ee=new Nv(this),te=s.contentSteeringController,ne=te?new te(this):null,ie=this.levelController=new Fv(this,ne),se=d?new d(this):void 0,ae=new Pv(this.config,this.logger),be=this.streamController=new i(this,A,ae),ye=this.gapController=y?new y(this,A):void 0;if(U)U.setStreamController(be);let fe=[ee,ie,be];if(R)fe.splice(1,0,R);if(ne)fe.splice(1,0,ne);this.networkControllers=fe;let le=[k];if(D)le.push(D);if(ye)le.push(ye);if(U)le.push(U);if(Y)Y.setStreamController(be),le.push(Y);if(se)le.push(se);le.push(A),this.audioTrackController=this.createController(s.audioTrackController,fe);let oe=s.audioStreamController;if(oe)fe.push(this.audioStreamController=new oe(this,A,ae));this.subtitleTrackController=this.createController(s.subtitleTrackController,fe);let Se=s.subtitleStreamController;if(Se)fe.push(this.subtititleStreamController=new Se(this,A,ae));if(this.createController(s.timelineController,le),ae.emeController=this.emeController=this.createController(s.emeController,le),J)le.push(J);this.latencyController=this.createController(s.latencyController,le),this.coreComponents=le,this.iframeController=b?new b(this,is):void 0,fe.push(v);let we=v.onErrorOut;if(typeof we==="function")this.on(Z.ERROR,we,v);this.on(Z.MANIFEST_LOADED,ee.onManifestLoaded,ee)}createController(e,n){if(e){let s=new e(this);if(n)n.push(s);return s}return null}on(e,n,s=this){this._emitter.on(e,n,s)}once(e,n,s=this){this._emitter.once(e,n,s)}removeAllListeners(e){this._emitter.removeAllListeners(e)}off(e,n,s=this,i){this._emitter.off(e,n,s,i)}listeners(e){return this._emitter.listeners(e)}emit(e,n,s){return this._emitter.emit(e,n,s)}trigger(e,n){if(this.config.debug)return this.emit(e,e,n);else try{return this.emit(e,e,n)}catch(s){if(this.logger.error("An internal error happened while handling event "+e+'. Error message: "'+s.message+'". Here is a stacktrace:',s),!this.triggeringException){this.triggeringException=!0;let i=e===Z.ERROR;this.trigger(Z.ERROR,{type:Dt.OTHER_ERROR,details:Oe.INTERNAL_EXCEPTION,fatal:i,event:e,error:s}),this.triggeringException=!1}}return!1}listenerCount(e){return this._emitter.listenerCount(e)}destroy(){this.logger.log("destroy"),this.trigger(Z.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this._url=null,this.networkControllers.forEach((n)=>n.destroy()),this.networkControllers.length=0,this.coreComponents.forEach((n)=>n.destroy()),this.coreComponents.length=0,this.iframeController=void 0;let e=this.config;e.xhrSetup=e.fetchSetup=void 0,this.userConfig=null}attachMedia(e){if(!e||"media"in e&&!e.media){let r=Error(`attachMedia failed: invalid argument (${e})`);this.trigger(Z.ERROR,{type:Dt.OTHER_ERROR,details:Oe.ATTACH_MEDIA_ERROR,fatal:!0,error:r});return}if(this.logger.log("attachMedia"),this._media)this.logger.warn("media must be detached before attaching"),this.detachMedia();let n="media"in e,s=n?e.media:e,i=n?e:{media:s};this._media=s,this.trigger(Z.MEDIA_ATTACHING,i)}detachMedia(){this.logger.log("detachMedia");let e={};this.trigger(Z.MEDIA_DETACHING,e),this._media=null,this.trigger(Z.MEDIA_DETACHED,e)}transferMedia(){var e;this._media=null;let n=((e=this.bufferController)==null?void 0:e.transferMedia())||null,s={transferMedia:n};return this.trigger(Z.MEDIA_DETACHING,s),this.trigger(Z.MEDIA_DETACHED,s),n}loadSource(e){var n;this.stopLoad();let s=this.media,i=this._url,r=this._url=A1.buildAbsoluteURL(self.location.href,e,{alwaysNormalize:!0});if(this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.logger.log(`loadSource:${r}`),s&&i&&(i!==r||(n=this.bufferController)!=null&&n.hasSourceTypes()))this.detachMedia(),this.attachMedia(s);this.trigger(Z.MANIFEST_LOADING,{url:e})}get url(){return this._url}get hasEnoughToStart(){return this.streamController.hasEnoughToStart}get startPosition(){return this.streamController.startPositionValue}startLoad(e=-1,n){this.logger.log(`startLoad(${e+(n?", <skip seek to start>":"")})`),this.started=!0,this.resumeBuffering();for(let s=0;s<this.networkControllers.length;s++)if(this.networkControllers[s].startLoad(e,n),!this.started||!this.networkControllers)break}stopLoad(){this.logger.log("stopLoad"),this.started=!1;for(let e=0;e<this.networkControllers.length;e++)if(this.networkControllers[e].stopLoad(),this.started||!this.networkControllers)break}get loadingEnabled(){return this.started&&this.streamController.state!==$e.STOPPED}get bufferingEnabled(){return this.streamController.bufferingEnabled}resumeBuffering(){if(!this.bufferingEnabled)this.logger.log("resume buffering"),this.networkControllers.forEach((e)=>{if(e.resumeBuffering)e.resumeBuffering()})}pauseBuffering(){if(this.bufferingEnabled)this.logger.log("pause buffering"),this.networkControllers.forEach((e)=>{if(e.pauseBuffering)e.pauseBuffering()})}get inFlightFragments(){let e={[Ct.MAIN]:this.streamController.inFlightFrag};if(this.audioStreamController)e[Ct.AUDIO]=this.audioStreamController.inFlightFrag;if(this.subtititleStreamController)e[Ct.SUBTITLE]=this.subtititleStreamController.inFlightFrag;return e}swapAudioCodec(){this.logger.log("swapAudioCodec"),this.streamController.swapAudioCodec()}recoverMediaError(){this.logger.log("recoverMediaError");let e=this._media,n=this.started,s=e==null?void 0:e.currentTime;if(this.detachMedia(),e){if(this.attachMedia(e),n){if(s)this.startLoad(s);else if(!this.config.autoStartLoad)this.startLoad()}}}removeLevel(e){this.levelController.removeLevel(e)}get sessionId(){let e=this._sessionId;if(!e)e=this._sessionId=r9();return e}get levels(){let e=this.levelController.levels;return e?e:[]}get latestLevelDetails(){return this.streamController.getLevelDetails()||null}get loadLevelObj(){return this.levelController.loadLevelObj}get currentLevel(){return this.streamController.currentLevel}set currentLevel(e){this.logger.log(`set currentLevel:${e}`),this.levelController.manualLevel=e,this.streamController.immediateLevelSwitch()}get nextLevel(){return this.streamController.nextLevel}set nextLevel(e){this.logger.log(`set nextLevel:${e}`),this.levelController.manualLevel=e,this.streamController.nextLevelSwitch()}get loadLevel(){return this.levelController.level}set loadLevel(e){this.logger.log(`set loadLevel:${e}`),this.levelController.manualLevel=e}get nextLoadLevel(){return this.levelController.nextLoadLevel}set nextLoadLevel(e){this.levelController.nextLoadLevel=e}get firstLevel(){return Math.max(this.levelController.firstLevel,this.minAutoLevel)}set firstLevel(e){this.logger.log(`set firstLevel:${e}`),this.levelController.firstLevel=e}get startLevel(){let e=this.levelController.startLevel;if(e===-1&&this.abrController.forcedAutoLevel>-1)return this.abrController.forcedAutoLevel;return e}set startLevel(e){if(this.logger.log(`set startLevel:${e}`),e!==-1)e=Math.max(e,this.minAutoLevel);this.levelController.startLevel=e}get capLevelToPlayerSize(){return this.config.capLevelToPlayerSize}set capLevelToPlayerSize(e){let n=this.capLevelController,s=!!e;if(n&&s!==this.config.capLevelToPlayerSize){if(s)n.startCapping();else n.stopCapping(),this.autoLevelCapping=-1,this.streamController.nextLevelSwitch();this.config.capLevelToPlayerSize=s}}get autoLevelCapping(){return this._autoLevelCapping}get bandwidthEstimate(){let{bwEstimator:e}=this.abrController;if(!e)return NaN;return e.getEstimate()}set bandwidthEstimate(e){this.abrController.resetEstimator(e)}get abrEwmaDefaultEstimate(){let{bwEstimator:e}=this.abrController;if(!e)return NaN;return e.defaultEstimate}get ttfbEstimate(){let{bwEstimator:e}=this.abrController;if(!e)return NaN;return e.getEstimateTTFB()}set autoLevelCapping(e){if(this._autoLevelCapping!==e)this.logger.log(`set autoLevelCapping:${e}`),this._autoLevelCapping=e,this.levelController.checkMaxAutoUpdated()}get maxHdcpLevel(){return this._maxHdcpLevel}set maxHdcpLevel(e){if(AE(e)&&this._maxHdcpLevel!==e)this._maxHdcpLevel=e,this.levelController.checkMaxAutoUpdated()}get autoLevelEnabled(){return this.levelController.manualLevel===-1}get manualLevel(){return this.levelController.manualLevel}get minAutoLevel(){let{levels:e,config:{minAutoBitrate:n}}=this;if(!e)return 0;let s=e.length;for(let i=0;i<s;i++)if(e[i].maxBitrate>=n)return i;return 0}get maxAutoLevel(){let{levels:e,autoLevelCapping:n,maxHdcpLevel:s}=this,i;if(n===-1&&e!=null&&e.length)i=e.length-1;else i=n;if(s)for(let r=i;r--;){let a=e[r].attrs["HDCP-LEVEL"];if(a&&a<=s)return r}return i}get firstAutoLevel(){return this.abrController.firstAutoLevel}get nextAutoLevel(){return this.abrController.nextAutoLevel}set nextAutoLevel(e){this.abrController.nextAutoLevel=e}get playingDate(){return this.streamController.currentProgramDateTime}get mainForwardBufferInfo(){return this.streamController.getMainFwdBufferInfo()}get audioForwardBufferInfo(){var e;return((e=this.audioStreamController)==null?void 0:e.getFwdBufferInfo())||null}get maxBufferLength(){return this.streamController.maxBufferLength}setAudioOption(e){var n;return((n=this.audioTrackController)==null?void 0:n.setAudioOption(e))||null}setSubtitleOption(e){var n;return((n=this.subtitleTrackController)==null?void 0:n.setSubtitleOption(e))||null}get allAudioTracks(){let e=this.audioTrackController;return e?e.allAudioTracks:[]}get audioTracks(){let e=this.audioTrackController;return e?e.audioTracks:[]}get audioTrack(){let e=this.audioTrackController;return e?e.audioTrack:-1}set audioTrack(e){let n=this.audioTrackController;if(n)n.audioTrack=e}get nextAudioTrack(){var e,n;return(e=(n=this.audioStreamController)==null?void 0:n.nextAudioTrack)!=null?e:-1}set nextAudioTrack(e){let{audioTrackController:n}=this;if(n)n.nextAudioTrack=e}get allSubtitleTracks(){let e=this.subtitleTrackController;return e?e.allSubtitleTracks:[]}get subtitleTracks(){let e=this.subtitleTrackController;return e?e.subtitleTracks:[]}get subtitleTrack(){let e=this.subtitleTrackController;return e?e.subtitleTrack:-1}get media(){return this._media}set subtitleTrack(e){let n=this.subtitleTrackController;if(n)n.subtitleTrack=e}get subtitleDisplay(){let e=this.subtitleTrackController;return e?e.subtitleDisplay:!1}set subtitleDisplay(e){let n=this.subtitleTrackController;if(n)n.subtitleDisplay=e}get lowLatencyMode(){return this.config.lowLatencyMode}set lowLatencyMode(e){this.config.lowLatencyMode=e}get liveSyncPosition(){var e,n;return(e=(n=this.latencyController)==null?void 0:n.liveSyncPosition)!=null?e:null}get latency(){var e;return((e=this.latencyController)==null?void 0:e.latency)||0}get maxLatency(){var e;return((e=this.latencyController)==null?void 0:e.maxLatency)||0}get targetLatency(){var e;return((e=this.latencyController)==null?void 0:e.targetLatency)||null}set targetLatency(e){if(!this.latencyController)return;this.latencyController.targetLatency=e}get drift(){var e;return((e=this.latencyController)==null?void 0:e.drift)||null}get forceStartLoad(){return this.streamController.forceStartLoad}get pathways(){return this.levelController.pathways}get pathwayPriority(){return this.levelController.pathwayPriority}set pathwayPriority(e){this.levelController.pathwayPriority=e}get bufferedToEnd(){var e;return!!((e=this.bufferController)!=null&&e.bufferedToEnd)}get interstitialsManager(){if(this.interstitialsController)return this.interstitialsController.interstitialsManager;return null}get iframeVariants(){let e=this.levelController.iframeVariants;return e?e:[]}createIFramePlayer(e){if(this._url&&this.iframeController)return this.iframeController.createIFramePlayer(e);return null}createImageIFramePlayer(e){if(this._url&&this.iframeController)return this.iframeController.createImageIFramePlayer(e);return null}getMediaDecodingInfo(e,n=this.allAudioTracks){let s=j9(n);return T9(e,s,navigator.mediaCapabilities)}}is.defaultConfig=void 0;E();var dI=1000;function k0(e,n,s,i){let[r,a]=u(0),l=_(!1),c=_(!1),f=_(null),d=_(r);d.current=r,m(()=>{a(0);let y=e.current;if(!y)return;let v=()=>{c.current=!0},k=()=>{c.current=!1};return y.addEventListener("play",v),y.addEventListener("pause",k),c.current=!y.paused,()=>{y.removeEventListener("play",v),y.removeEventListener("pause",k)}},[e.current]),m(()=>{let y=e.current;if(!y)return;let v=null,k=null,A=!0,T=Date.now(),R=!1,D=-1,U=()=>{T=Date.now(),R=!1,D=-1},Y=()=>{if(!A)return;if(y.paused||y.ended)return;let te=y,ne=!!te.requestVideoFrameCallback,ie=Su(n),se=Date.now()-T,ae=R&&se>ie,be=!R&&se>dI;if(i||!ne||ae||be){let fe=Math.floor(y.currentTime*n+0.45),le=Math.max(0,Math.min(fe,s-1));a(le)}if(k=requestAnimationFrame(Y),te.requestVideoFrameCallback&&v===null)v=te.requestVideoFrameCallback((fe,le)=>{v=null,T=Date.now(),R=!0,D=le.mediaTime;let oe=Math.floor(le.mediaTime*n+0.45),Se=Math.max(0,Math.min(oe,s-1));a(Se)})},X=()=>{U(),Y()},J=()=>{if(v!==null){let be=y;if(be.cancelVideoFrameCallback)try{be.cancelVideoFrameCallback(v)}catch{}v=null}if(k!==null)cancelAnimationFrame(k),k=null;let te=Su(n),ie=R&&D>=0&&Date.now()-T<=te?D:y.currentTime,se=Math.floor(ie*n+0.45),ae=Math.max(0,Math.min(se,s-1));if(a(ae),!y.ended){let be=Oi(ae,n);y.currentTime=be}},ee=()=>{a(s-1)};if(y.addEventListener("play",X),y.addEventListener("pause",J),y.addEventListener("ended",ee),!y.paused)U(),Y();return()=>{if(A=!1,y.removeEventListener("play",X),y.removeEventListener("pause",J),y.removeEventListener("ended",ee),v!==null){let te=y;if(te.cancelVideoFrameCallback)try{te.cancelVideoFrameCallback(v)}catch{}}if(k!==null)cancelAnimationFrame(k)}},[e.current,n,s]);let b=P(async(y)=>{let v=e.current;if(!v)return;let k=Math.round(y),A=Math.max(0,Math.min(k,s-1));if(l.current){f.current=A,a(A);return}l.current=!0,a(A);let T=async(R)=>{let D=Oi(R,n),U=!v.paused;if(v.currentTime=D,await new Promise((ee)=>{let te=null,ne=()=>{if(te)clearTimeout(te);v.removeEventListener("seeked",ne),ee()};v.addEventListener("seeked",ne),te=setTimeout(()=>{v.removeEventListener("seeked",ne),ee()},500)}),!U&&!c.current)v.pause();let Y=Math.floor(v.currentTime*n+0.45),X=Math.max(0,Math.min(Y,s-1));a(X);let J=v;if(J.requestVideoFrameCallback)J.requestVideoFrameCallback((ee,te)=>{let ne=Math.floor(te.mediaTime*n+0.45),ie=Math.max(0,Math.min(ne,s-1));a(ie)});if(f.current!==null){let ee=f.current;f.current=null,await T(ee)}else l.current=!1};await T(A)},[e,n,s]);return m(()=>{let y=(v)=>{let k=v.target;if(k instanceof HTMLInputElement||k instanceof HTMLTextAreaElement||k.isContentEditable)return;if(v.key==="ArrowRight"){v.preventDefault();let A=v.shiftKey?10:1;b(d.current+A)}else if(v.key==="ArrowLeft"){v.preventDefault();let A=v.shiftKey?10:1;b(d.current-A)}};return window.addEventListener("keydown",y),()=>{window.removeEventListener("keydown",y)}},[b]),m(()=>{let y=e.current;if(!y)return;let v=()=>{if(!l.current){let k=Math.floor(y.currentTime*n+0.45),A=Math.max(0,Math.min(k,s-1));a(A);let T=Oi(A,n),R=1/n;if(Math.abs(y.currentTime-T)>R/4)y.currentTime=T}};return y.addEventListener("seeked",v),()=>{y.removeEventListener("seeked",v)}},[e.current,n,s]),{currentFrame:r,setCurrentFrame:a,seekToFrame:b,isSeeking:l}}E();var mI=(e)=>{if(isNaN(e))return"00:00";let n=new Date(e*1000),s=n.getUTCHours(),i=n.getUTCMinutes(),r=n.getUTCSeconds().toString().padStart(2,"0");if(s)return`${s}:${i.toString().padStart(2,"0")}:${r}`;return`${i}:${r}`},pI=({totalFrames:e,currentFrame:n,fps:s,previewUrl:i,onSeek:r,buffered:a=0,metadata:l})=>{let c=_(null),f=_(null),[d,b]=u(null),[y,v]=u(!1),[k,A]=u(!1),T=_(r);m(()=>{T.current=r},[r]),m(()=>{if(f.current&&i)f.current.load()},[i]);let R=P((se)=>{if(!c.current)return 0;let ae=c.current.getBoundingClientRect();return Math.max(0,Math.min(se-ae.left,ae.width))/ae.width},[]),D=P((se)=>{if(k)return;if(!c.current)return;let ae=c.current.getBoundingClientRect(),ye=Math.max(0,Math.min(se.clientX-ae.left,ae.width))/ae.width;if(b(ye),v(!0),f.current&&e){let fe=ye*e,le=1/s,oe=fe*le+le/2,Se=f.current;if(Number.isFinite(oe))Se.currentTime=oe}},[e,s,k]),U=()=>{if(!k)v(!1),b(null)},Y=(se)=>{if(se.button!==0)return;se.preventDefault(),A(!0);let ae=R(se.clientX);b(ae),v(!0),T.current(ae*e)},X=(se)=>{A(!0);let ae=R(se.touches[0].clientX);b(ae),v(!0),T.current(ae*e)};m(()=>{if(!k)return;let se=(fe)=>{let le=R(fe.clientX);if(b(le),v(!0),f.current&&e){let oe=le*e,Se=1/s,we=oe*Se+Se/2,Fe=f.current;if(Number.isFinite(we))Fe.currentTime=we}T.current(le*e)},ae=(fe)=>{A(!1);let le=!1;if(c.current){let Se=c.current.getBoundingClientRect();le=fe.clientX>=Se.left&&fe.clientX<=Se.right&&fe.clientY>=Se.top&&fe.clientY<=Se.bottom}if(!le)v(!1),b(null);let oe=R(fe.clientX);T.current(oe*e)},be=(fe)=>{if(fe.touches.length===0)return;let le=R(fe.touches[0].clientX);if(b(le),v(!0),f.current&&e){let oe=le*e,Se=1/s,we=oe*Se+Se/2,Fe=f.current;if(Number.isFinite(we))Fe.currentTime=we}T.current(le*e)},ye=(fe)=>{A(!1);let le=fe.changedTouches.length>0?fe.changedTouches[0].clientX:null,oe=fe.changedTouches.length>0?fe.changedTouches[0].clientY:null,Se=!1;if(le!==null&&oe!==null&&c.current){let we=c.current.getBoundingClientRect();Se=le>=we.left&&le<=we.right&&oe>=we.top&&oe<=we.bottom}if(!Se)v(!1),b(null);if(le!==null){let we=R(le);T.current(we*e)}};return window.addEventListener("mousemove",se),window.addEventListener("mouseup",ae),window.addEventListener("touchmove",be,{passive:!0}),window.addEventListener("touchend",ye),()=>{window.removeEventListener("mousemove",se),window.removeEventListener("mouseup",ae),window.removeEventListener("touchmove",be),window.removeEventListener("touchend",ye)}},[k,e,s,R]);let J=k&&d!==null?d*100:e>0?n/e*100:0,ee=d!==null?d*100:0,te=()=>{if(d===null)return{};return{left:`${ee}%`,transform:`translateX(-${ee}%)`}},ne=180,ie={width:`${ne}px`,height:"auto"};if(l&&l.originalWidth&&l.originalHeight){let{originalWidth:se,originalHeight:ae}=l;if(se>=ae){let be=ne*ae/se;ie={width:`${ne}px`,height:`${be}px`}}else ie={width:`${ne*se/ae}px`,height:`${ne}px`}}return o("div",{ref:c,className:"group relative h-1.5 w-full cursor-pointer touch-none rounded-full bg-muted transition-colors duration-200",onMouseMove:D,onMouseLeave:U,onMouseDown:Y,onTouchStart:X,"data-testid":"seekbar",children:[t("video",{ref:f,src:i,className:"hidden",preload:"auto",muted:!0,playsInline:!0}),y&&e>0&&t("div",{className:"pointer-events-none absolute bottom-full z-50 mb-3 flex w-max flex-col",style:te(),children:o("div",{className:"relative overflow-hidden rounded-lg border-2 border-border bg-popover shadow-2xl",children:[t("video",{src:i,className:"bg-black object-cover",style:ie,muted:!0,ref:(se)=>{if(se&&f.current)se.currentTime=f.current.currentTime}}),t("div",{className:"absolute bottom-0 w-full bg-popover/80 py-0.5 text-center text-xs font-medium text-popover-foreground",children:mI(d*e/s)})]})}),t("div",{className:"absolute top-0 left-0 h-full rounded-full bg-muted-foreground/30 transition-all duration-200",style:{width:`${a}%`}}),y&&t("div",{className:"absolute top-0 left-0 h-full rounded-full bg-primary/30",style:{width:`${ee}%`}}),t("div",{className:"relative absolute top-0 left-0 h-full rounded-full bg-primary",style:{width:`${J}%`},"data-testid":"seekbar-fill",children:t("div",{className:C("absolute top-1/2 right-0 h-3.5 w-3.5 -translate-y-1/2 translate-x-1/2 rounded-full border border-border bg-primary shadow-md transition-transform duration-100",y||k?"scale-100":"scale-0 group-hover:scale-100")})})]})},x0=pI;var bu=({state:e,zoom:n,isControlsVisible:s,buffered:i,data:r,resolutions:a,togglePlay:l,toggleLoop:c,toggleMute:f,handleVolumeChange:d,changePlaybackRate:b,changeResolution:y,handleDownload:v,toggleFullScreen:k,onZoomChange:A,onZoomReset:T,frameRate:R,totalFrames:D,currentFrame:U,seekToFrame:Y,floatOverlayInFullScreen:X=!0,onMouseEnter:J,onMouseLeave:ee,allowDownload:te=!0,isLoading:ne})=>{let ie=ne??e.isLoading??!1,{videoTimeDisplayMode:se,setVideoTimeDisplayMode:ae}=Gt();if(!r.media?.metadata)return null;let be=e.isFullScreen&&X,ye=r.proxyType==="audio",fe=r.media?.metadata?.startTimecode,le=Math.max(0,D-1),oe=se==="frames"?`${U} / ${le} fr`:se==="standard"?`${In(U,R,"standard")} / ${ks(D/R)}`:`${In(U,R,se,fe)} / ${In(le,R,se,fe)}`;return t("div",{className:C("transition-all duration-300 ease-in-out z-20 text-foreground",be?"absolute bottom-0 left-0 right-0 px-4 py-4 bg-card/90 backdrop-blur-md border-t border-border":"relative w-full bg-card border-t border-border px-4 py-3 z-10 transition-colors duration-200",s?"opacity-100 translate-y-0":"opacity-0 translate-y-4 pointer-events-none"),onMouseEnter:J,onMouseLeave:ee,children:o("div",{className:C("transition-opacity duration-200",ie&&"pointer-events-none opacity-60 select-none"),children:[t("div",{className:"mb-4 px-1",children:t(x0,{totalFrames:D,currentFrame:U,fps:R,buffered:i,previewUrl:r.media.videoPreview?.url,onSeek:Y,metadata:{...r.media.metadata,frameRate:R}})}),o("div",{className:"flex items-center justify-between text-foreground",children:[o("div",{className:"flex items-center gap-4",children:[t("button",{onClick:l,className:"hover:text-primary transition-colors","data-testid":"play-toggle","data-playing":e.isPlaying,"aria-label":e.isPlaying?"Pause":"Play",children:e.isPlaying?t(Vc,{className:"w-6 h-6 fill-current"}):t(Ea,{className:"w-6 h-6 fill-current"})}),t("button",{onClick:c,className:C("transition-colors",e.isLooping?"text-primary":"text-muted-foreground"),title:"Loop",children:t(Sd,{className:"w-5 h-5"})}),o("div",{className:"flex items-center gap-3 group/vol",children:[t("button",{onClick:f,className:"hover:text-primary",children:e.isMuted||e.volume===0?t(Ad,{className:"w-6 h-6"}):t(xd,{className:"w-6 h-6"})}),t("div",{className:"w-0 overflow-hidden group-hover/vol:w-24 transition-all duration-300 ease-in-out",children:t("div",{className:"w-24 px-1",children:t(jo,{value:e.isMuted?[0]:[e.volume],onValueChange:(Se)=>d(Se[0]),max:1,step:0.05})})})]}),o("div",{className:"flex items-center gap-1 text-sm font-medium tabular-nums select-none min-w-[100px]",children:[t("span",{className:"text-muted-foreground font-mono","data-testid":"time-readout",children:oe}),o(ge,{modal:!1,children:[t(Ae,{asChild:!0,children:t("button",{className:"h-6 w-6 inline-flex items-center justify-center rounded-md hover:bg-muted text-muted-foreground hover:text-foreground transition-colors cursor-pointer focus:outline-none",children:t(ve,{className:"h-3.5 w-3.5"})})}),o(_e,{align:"start",className:"w-40 z-30",children:[t(en,{className:"text-[10px] font-bold text-muted-foreground uppercase tracking-wider",children:"Format"}),o(K,{onClick:()=>ae("standard"),className:"flex items-center justify-between cursor-pointer text-xs",children:[t("span",{children:"Standard Time"}),se==="standard"&&t(Me,{className:"h-3.5 w-3.5 text-primary"})]}),o(K,{onClick:()=>ae("frames"),className:"flex items-center justify-between cursor-pointer text-xs",children:[t("span",{children:"Frames"}),se==="frames"&&t(Me,{className:"h-3.5 w-3.5 text-primary"})]}),o(K,{onClick:()=>ae("timecode"),className:"flex items-center justify-between cursor-pointer text-xs",children:[t("span",{children:"Timecode"}),se==="timecode"&&t(Me,{className:"h-3.5 w-3.5 text-primary"})]})]})]})]})]}),o("div",{className:"relative flex items-center gap-3",children:[!ye&&o("div",{className:"flex items-center gap-1",children:[o("div",{className:"flex items-center gap-1 rounded-md bg-muted p-0.5",children:[t("button",{onClick:()=>A(n*0.8),className:"p-1 hover:text-primary rounded",title:um(),children:t(To,{size:14})}),o("span",{className:"text-xs w-8 text-center tabular-nums",children:[Math.round(n*100),"%"]}),t("button",{onClick:()=>A(n*1.2),className:"p-1 hover:text-primary rounded",title:cm(),children:t(pe,{size:14})})]}),t("button",{onClick:T,className:"text-xs font-medium px-2 py-1 rounded bg-muted hover:text-primary transition-colors",children:np()})]}),o(ge,{children:[t(Ae,{asChild:!0,children:o("button",{className:"w-8 text-sm font-bold hover:text-primary",children:[e.playbackRate,"x"]})}),t(_e,{children:[0.5,1,1.5,2].map((Se)=>o(K,{onClick:()=>b(Se),className:C("rounded py-1 px-2 text-left text-xs",e.playbackRate===Se?"bg-primary text-primary-foreground focus:bg-primary focus:text-primary-foreground":"text-foreground"),children:[Se,"x"]},Se))})]}),!ye&&a.length>0&&o(ge,{children:[t(Ae,{asChild:!0,children:o("button",{className:"flex items-center gap-1.5 rounded border border-border px-2 py-0.5 text-sm font-semibold hover:bg-muted transition-colors",children:[t(Pi,{className:"h-3.5 w-3.5"}),o("span",{className:"flex items-center gap-1",children:[t("span",{children:e.currentResolution==="Auto"?e.activeAutoResolution?`${Dl()} (${e.activeAutoResolution})`:Dl():e.currentResolution==="Original"?La():e.currentResolution}),e.isCurrentHdr&&t("span",{className:"px-1 py-0.2 rounded text-[10px] font-bold bg-amber-500/20 text-amber-500 border border-amber-500/30",children:Jc()})]})]})}),o(_e,{children:[t(en,{children:Xg()}),r.media?.isHls&&t(K,{onClick:()=>y({resolution:"Auto",width:r.media?.metadata?.originalWidth??0,height:r.media?.metadata?.originalHeight??0}),className:C("flex w-full items-center justify-between cursor-pointer",e.currentResolution==="Auto"?"text-primary font-medium":"text-foreground"),children:t("span",{children:Dl()})}),a.map((Se)=>{let we=`${Se.resolution}-${Se.hdr?"hdr":"sdr"}`,Fe=e.currentResolution===Se.resolution&&Boolean(e.isCurrentHdr)===Boolean(Se.hdr),De=Boolean(r.media?.isHls)&&e.isHlsManualSupported===!1;return o(K,{disabled:De,onClick:()=>!De&&y(Se),className:C("flex w-full items-center justify-between",Fe?"text-primary font-medium":"text-foreground",De?"opacity-50 cursor-not-allowed":"cursor-pointer"),children:[o("div",{className:"flex items-center gap-1.5",children:[t("span",{children:Se.resolution==="Original"?La():Se.resolution}),Se.hdr&&t("span",{className:"px-1 py-0.2 rounded text-[10px] font-bold bg-amber-500/20 text-amber-500 border border-amber-500/30",children:Jc()})]}),o("span",{className:"pl-5 text-xs text-muted-foreground",children:[Se.width,"x",Se.height]})]},we)})]})]}),te&&(ye?t("button",{onClick:()=>v(r.media?.original?.key||""),className:"transition-colors hover:text-primary",title:_r(),disabled:!r.media?.original?.key,children:t(wt,{className:"h-5 w-5"})}):o(ge,{children:[t(Ae,{asChild:!0,children:t("button",{className:"transition-colors hover:text-primary",title:_r(),children:t(wt,{className:"h-5 w-5"})})}),o(_e,{children:[t(en,{children:_r()}),(r.media?.videoTranscodes&&r.media.videoTranscodes.length>0?r.media.videoTranscodes:a).map((Se)=>{let we=Ss(Se),Fe=Se.key||`${we}-${Se.hdr?"hdr":"sdr"}`;return o(K,{onClick:()=>v(Se.key??""),className:"flex w-full items-center justify-between px-3 py-2 text-left text-sm text-foreground cursor-pointer",children:[o("div",{className:"flex items-center gap-1.5",children:[t("span",{children:we}),Se.hdr&&t("span",{className:"px-1 py-0.2 rounded text-[10px] font-bold bg-amber-500/20 text-amber-500 border border-amber-500/30",children:Jc()})]}),t("span",{className:"text-xs text-muted-foreground",children:"MP4"})]},Fe)}),r.media?.original?.key&&o(L,{children:[t(Kt,{}),o(K,{onClick:()=>v(r.media?.original?.key??""),className:"flex w-full items-center justify-between px-3 py-2 text-left text-sm text-foreground",children:[t("span",{children:La()}),t("span",{className:"text-xs text-muted-foreground",children:r.name?.split(".").pop()?.toUpperCase()||"RAW"})]})]})]})]})),t("button",{onClick:k,className:"transition-colors hover:text-primary",title:Cd(),children:e.isFullScreen?t(Cs,{className:"h-6 w-6"}):t(Es,{className:"h-6 w-6"})})]})]})]})})};var Bv=({state:e,isControlsVisible:n,buffered:s,data:i,resolutions:r,togglePlay:a,toggleLoop:l,toggleMute:c,changePlaybackRate:f,changeResolution:d,toggleFullScreen:b,frameRate:y,totalFrames:v,currentFrame:k,seekToFrame:A,floatOverlayInFullScreen:T=!0,onMouseEnter:R,onMouseLeave:D,isLoading:U})=>{let Y=U??e.isLoading??!1,{videoTimeDisplayMode:X,setVideoTimeDisplayMode:J}=Gt();if(!i.media?.metadata)return null;let ee=e.isFullScreen&&T,te=i.proxyType==="audio",ne=i.media?.metadata?.startTimecode,ie=Math.max(0,v-1),se=X==="frames"?`${k} / ${ie} fr`:X==="standard"?`${In(k,y,"standard")} / ${ks(v/y)}`:`${In(k,y,X,ne)} / ${In(ie,y,X,ne)}`;return t("div",{className:C("transition-all duration-300 ease-in-out z-20 text-foreground",ee?"absolute bottom-0 left-0 right-0 px-3 py-3 bg-card/90 backdrop-blur-md border-t border-border":"relative w-full bg-card border-t border-border px-3 py-2.5 z-10 transition-colors duration-200",n?"opacity-100 translate-y-0":"opacity-0 translate-y-4 pointer-events-none"),onMouseEnter:R,onMouseLeave:D,children:o("div",{className:C("transition-opacity duration-200",Y&&"pointer-events-none opacity-60 select-none"),children:[t("div",{className:"mb-2 px-0.5",children:t(x0,{totalFrames:v,currentFrame:k,fps:y,buffered:s,previewUrl:i.media.videoPreview?.url,onSeek:A,metadata:{...i.media.metadata,frameRate:y}})}),o("div",{className:"flex items-center justify-between text-foreground gap-1 select-none",children:[o("div",{className:"flex items-center gap-2 min-w-0",children:[t("button",{onClick:a,className:"p-1 hover:text-primary transition-colors cursor-pointer shrink-0","data-testid":"play-toggle","data-playing":e.isPlaying,"aria-label":e.isPlaying?"Pause":"Play",children:e.isPlaying?t(Vc,{className:"w-5 h-5 fill-current"}):t(Ea,{className:"w-5 h-5 fill-current"})}),t("button",{onClick:c,className:"p-1 hover:text-primary transition-colors cursor-pointer shrink-0","aria-label":e.isMuted?"Unmute":"Mute",children:e.isMuted||e.volume===0?t(Ad,{className:"w-5 h-5"}):t(xd,{className:"w-5 h-5"})}),o("div",{className:"flex items-center gap-0.5 text-xs font-medium tabular-nums min-w-0",children:[t("span",{className:"text-muted-foreground font-mono truncate text-[11px] sm:text-xs","data-testid":"time-readout",children:se}),o(ge,{modal:!1,children:[t(Ae,{asChild:!0,children:t("button",{className:"h-5 w-5 inline-flex items-center justify-center rounded hover:bg-muted text-muted-foreground hover:text-foreground transition-colors cursor-pointer focus:outline-none shrink-0","aria-label":oy(),children:t(ve,{className:"h-3 w-3"})})}),o(_e,{align:"start",className:"w-40 z-30",children:[t(en,{className:"text-[10px] font-bold text-muted-foreground uppercase tracking-wider",children:nw()}),o(K,{onClick:()=>J("standard"),className:"flex items-center justify-between cursor-pointer text-xs",children:[t("span",{children:OT()}),X==="standard"&&t(Me,{className:"h-3.5 w-3.5 text-primary"})]}),o(K,{onClick:()=>J("frames"),className:"flex items-center justify-between cursor-pointer text-xs",children:[t("span",{children:ow()}),X==="frames"&&t(Me,{className:"h-3.5 w-3.5 text-primary"})]}),o(K,{onClick:()=>J("timecode"),className:"flex items-center justify-between cursor-pointer text-xs",children:[t("span",{children:M1()}),X==="timecode"&&t(Me,{className:"h-3.5 w-3.5 text-primary"})]})]})]})]})]}),o("div",{className:"flex items-center gap-1 shrink-0",children:[o(ge,{modal:!1,children:[t(Ae,{asChild:!0,children:o("button",{className:"flex items-center gap-1 rounded border border-border px-1.5 py-1 text-xs font-semibold hover:bg-muted transition-colors cursor-pointer",title:Gp(),"aria-label":Gp(),children:[t(Pi,{className:"h-3.5 w-3.5"}),o("span",{className:"flex items-center gap-1 text-[11px]",children:[t("span",{children:!te&&e.currentResolution?e.currentResolution==="Auto"?e.activeAutoResolution?`${Dl()} (${e.activeAutoResolution})`:Dl():e.currentResolution==="Original"?La():e.currentResolution:`${e.playbackRate}x`}),!te&&e.isCurrentHdr&&t("span",{className:"px-1 py-0.2 rounded text-[9px] font-bold bg-amber-500/20 text-amber-500 border border-amber-500/30",children:Jc()})]})]})}),o(_e,{align:"end",className:"w-48 z-30",children:[!te&&r.length>0&&o(L,{children:[t(en,{className:"text-[10px] font-bold text-muted-foreground uppercase tracking-wider",children:Xg()}),i.media?.isHls&&t(K,{onClick:()=>d({resolution:"Auto",width:i.media?.metadata?.originalWidth??0,height:i.media?.metadata?.originalHeight??0}),className:C("flex w-full items-center justify-between text-xs cursor-pointer",e.currentResolution==="Auto"?"text-primary font-medium":"text-foreground"),children:t("span",{children:Dl()})}),r.map((ae)=>{let be=`${ae.resolution}-${ae.hdr?"hdr":"sdr"}`,ye=e.currentResolution===ae.resolution&&Boolean(e.isCurrentHdr)===Boolean(ae.hdr),fe=Boolean(i.media?.isHls)&&e.isHlsManualSupported===!1;return o(K,{disabled:fe,onClick:()=>!fe&&d(ae),className:C("flex w-full items-center justify-between text-xs",ye?"text-primary font-medium":"text-foreground",fe?"opacity-50 cursor-not-allowed":"cursor-pointer"),children:[o("div",{className:"flex items-center gap-1.5",children:[t("span",{children:ae.resolution==="Original"?La():ae.resolution}),ae.hdr&&t("span",{className:"px-1 py-0.2 rounded text-[9px] font-bold bg-amber-500/20 text-amber-500 border border-amber-500/30",children:Jc()})]}),o("span",{className:"text-[10px] text-muted-foreground",children:[ae.width,"x",ae.height]})]},be)}),t(Kt,{})]}),t(en,{className:"text-[10px] font-bold text-muted-foreground uppercase tracking-wider",children:$E()}),[0.5,1,1.5,2].map((ae)=>o(K,{onClick:()=>f(ae),className:C("flex items-center justify-between text-xs cursor-pointer",e.playbackRate===ae?"text-primary font-medium":"text-foreground"),children:[o("span",{children:[ae,"x"]}),e.playbackRate===ae&&t(Me,{className:"h-3.5 w-3.5 text-primary"})]},ae)),t(Kt,{}),o(K,{onClick:l,className:"flex items-center justify-between text-xs cursor-pointer",children:[o("span",{className:"flex items-center gap-1.5",children:[t(Sd,{className:"h-3.5 w-3.5"}),t("span",{children:hx()})]}),e.isLooping&&t(Me,{className:"h-3.5 w-3.5 text-primary"})]})]})]}),t("button",{onClick:b,className:"p-1 hover:text-primary transition-colors cursor-pointer shrink-0",title:Cd(),"aria-label":Cd(),children:e.isFullScreen?t(Cs,{className:"h-5 w-5"}):t(Es,{className:"h-5 w-5"})})]})]})]})})};E();var gI=Math.PI/180;function bI(){return typeof window<"u"&&({}.toString.call(window)==="[object Window]"||{}.toString.call(window)==="[object global]")}var hl=typeof global<"u"?global:typeof window<"u"?window:typeof WorkerGlobalScope<"u"?self:{},rt={_global:hl,version:"10.3.2",isBrowser:bI(),isUnminified:/param/.test(function(e){}.toString()),dblClickWindow:400,getAngle(e){return rt.angleDeg?e*gI:e},enableTrace:!1,pointerEventsEnabled:!0,autoDrawEnabled:!0,hitOnDragEnabled:!1,capturePointerEventsEnabled:!1,_mouseListenClick:!1,_touchListenClick:!1,_pointerListenClick:!1,_mouseInDblClickWindow:!1,_touchInDblClickWindow:!1,_pointerInDblClickWindow:!1,_mouseDblClickPointerId:null,_touchDblClickPointerId:null,_pointerDblClickPointerId:null,_renderBackend:"web",legacyTextRendering:!1,pixelRatio:typeof window<"u"&&window.devicePixelRatio||1,dragDistance:3,angleDeg:!0,showWarnings:!0,dragButtons:[0,1],isDragging(){return rt.DD.isDragging},isTransforming(){var e,n;return(n=(e=rt.Transformer)===null||e===void 0?void 0:e.isTransforming())!==null&&n!==void 0?n:!1},isDragReady(){return!!rt.DD.node},releaseCanvasOnDestroy:!0,document:hl.document,_injectGlobal(e){if(typeof hl.Konva<"u")console.error("Several Konva instances detected. It is not recommended to use multiple Konva instances in the same environment.");hl.Konva=e}},sn=(e)=>{rt[e.prototype.getClassName()]=e};rt._injectGlobal(rt);var wI=`Konva.js unsupported environment.
54
-
55
- Looks like you are trying to use Konva.js in Node.js environment. because "document" object is undefined.
56
-
57
- To use Konva.js in Node.js environment, you need to use the "canvas-backend" or "skia-backend" module.
58
-
59
- bash: npm install canvas
60
- js: import "konva/canvas-backend";
61
-
62
- or
63
-
64
- bash: npm install skia-canvas
65
- js: import "konva/skia-backend";
66
- `,Hv=()=>{if(typeof document>"u")throw Error(wI)};class Ti{constructor(e=[1,0,0,1,0,0]){this.dirty=!1,this.m=e&&e.slice()||[1,0,0,1,0,0]}reset(){this.m[0]=1,this.m[1]=0,this.m[2]=0,this.m[3]=1,this.m[4]=0,this.m[5]=0}copy(){return new Ti(this.m)}copyInto(e){e.m[0]=this.m[0],e.m[1]=this.m[1],e.m[2]=this.m[2],e.m[3]=this.m[3],e.m[4]=this.m[4],e.m[5]=this.m[5]}point(e){let n=this.m;return{x:n[0]*e.x+n[2]*e.y+n[4],y:n[1]*e.x+n[3]*e.y+n[5]}}translate(e,n){return this.m[4]+=this.m[0]*e+this.m[2]*n,this.m[5]+=this.m[1]*e+this.m[3]*n,this}scale(e,n){return this.m[0]*=e,this.m[1]*=e,this.m[2]*=n,this.m[3]*=n,this}rotate(e){let n=Math.cos(e),s=Math.sin(e),i=this.m[0]*n+this.m[2]*s,r=this.m[1]*n+this.m[3]*s,a=this.m[0]*-s+this.m[2]*n,l=this.m[1]*-s+this.m[3]*n;return this.m[0]=i,this.m[1]=r,this.m[2]=a,this.m[3]=l,this}getTranslation(){return{x:this.m[4],y:this.m[5]}}skew(e,n){let s=this.m[0]+this.m[2]*n,i=this.m[1]+this.m[3]*n,r=this.m[2]+this.m[0]*e,a=this.m[3]+this.m[1]*e;return this.m[0]=s,this.m[1]=i,this.m[2]=r,this.m[3]=a,this}multiply(e){let n=this.m[0]*e.m[0]+this.m[2]*e.m[1],s=this.m[1]*e.m[0]+this.m[3]*e.m[1],i=this.m[0]*e.m[2]+this.m[2]*e.m[3],r=this.m[1]*e.m[2]+this.m[3]*e.m[3],a=this.m[0]*e.m[4]+this.m[2]*e.m[5]+this.m[4],l=this.m[1]*e.m[4]+this.m[3]*e.m[5]+this.m[5];return this.m[0]=n,this.m[1]=s,this.m[2]=i,this.m[3]=r,this.m[4]=a,this.m[5]=l,this}invert(){let e=1/(this.m[0]*this.m[3]-this.m[1]*this.m[2]),n=this.m[3]*e,s=-this.m[1]*e,i=-this.m[2]*e,r=this.m[0]*e,a=e*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),l=e*(this.m[1]*this.m[4]-this.m[0]*this.m[5]);return this.m[0]=n,this.m[1]=s,this.m[2]=i,this.m[3]=r,this.m[4]=a,this.m[5]=l,this}getMatrix(){return this.m}decompose(){let e=this.m[0],n=this.m[1],s=this.m[2],i=this.m[3],r=this.m[4],a=this.m[5],l=e*i-n*s,c={x:r,y:a,rotation:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(e!=0||n!=0){let f=Math.sqrt(e*e+n*n);c.rotation=n>0?Math.acos(e/f):-Math.acos(e/f),c.scaleX=f,c.scaleY=l/f,c.skewX=(e*s+n*i)/l,c.skewY=0}else if(s!=0||i!=0){let f=Math.sqrt(s*s+i*i);c.rotation=Math.PI/2-(i>0?Math.acos(-s/f):-Math.acos(s/f)),c.scaleX=l/f,c.scaleY=f,c.skewX=0,c.skewY=(e*s+n*i)/l}return c.rotation=je._getRotation(c.rotation),c}}var yI="[object Array]",vI="[object Number]",SI="[object String]",kI="[object Boolean]",xI=Math.PI/180,$v=180/Math.PI,A0="#",AI="",TI="0",EI="Konva warning: ",Uv="Konva error: ",jI={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],transparent:[255,255,255,0],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},Dh=null,_I=typeof window<"u"?window:{},ob=new WeakMap,II=(e,n)=>{if(typeof e.requestAnimationFrame==="function")e.requestAnimationFrame(n);else if(typeof requestAnimationFrame<"u")requestAnimationFrame(n);else setTimeout(n,16)},zv=new Map,Gv=(e)=>{let n=e.trim();return n.indexOf(",")===-1?n.split(/\s*\/\s*|\s+/):n.split(/\s*,\s*/)},Xv="[+-]?(?:\\d+\\.?\\d*|\\.\\d+)(?:e[+-]?\\d+)?",RI=new RegExp(`^(${Xv})(%?)$`,"i"),tc=(e,n)=>{let s=RI.exec(e);if(!s)return NaN;return s[2]?Number(s[1])/100*n:Number(s[1])},T0=/^#[0-9a-f]+$/i,Vv=(e)=>Math.min(Math.max(e,0),1),DI=new RegExp(`^(${Xv})(deg|grad|rad|turn)?$`,"i"),qI={deg:1,grad:0.9,rad:$v,turn:360},je={_isElement(e){return!!(e&&e.nodeType==1)},_isFunction(e){return!!(e&&e.constructor&&e.call&&e.apply)},_isPlainObject(e){return!!e&&e.constructor===Object},_isArray(e){return Object.prototype.toString.call(e)===yI},_isNumber(e){return Object.prototype.toString.call(e)===vI&&!isNaN(e)&&isFinite(e)},_isString(e){return Object.prototype.toString.call(e)===SI},_isBoolean(e){return Object.prototype.toString.call(e)===kI},isObject(e){return e instanceof Object},isValidSelector(e){if(typeof e!=="string")return!1;let n=e[0];return n==="#"||n==="."||n===n.toUpperCase()},_sign(e){if(e===0)return 1;if(e>0)return 1;else return-1},requestAnimFrame(e,n){let s=n&&!n.closed&&n||_I,i=ob.get(s);if(!i)i=[],ob.set(s,i),II(s,function(){ob.delete(s),i.forEach(function(r){r()})});i.push(e)},createCanvasElement(){Hv();let e=document.createElement("canvas");try{e.style=e.style||{}}catch(n){}return e},createImageElement(){return Hv(),document.createElement("img")},_isInDocument(e){return!!e.isConnected},_urlToImage(e,n){let s=je.createImageElement();s.onload=function(){n(s)},s.src=e},_rgbToHex(e,n,s){return(16777216+(e<<16)+(n<<8)+s).toString(16).slice(1)},_hexToRgb(e){e=e.replace(A0,AI);let n=parseInt(e,16);return{r:n>>16&255,g:n>>8&255,b:n&255}},getRandomColor(){let e=(Math.random()*16777215<<0).toString(16);while(e.length<6)e=TI+e;return A0+e},isCanvasFarblingActive(){if(Dh!==null)return Dh;if(typeof document>"u")return Dh=!1,!1;let e=this.createCanvasElement();e.width=10,e.height=10;let n=e.getContext("2d",{willReadFrequently:!0});n.clearRect(0,0,10,10),n.fillStyle="#282828",n.fillRect(0,0,10,10);let s=n.getImageData(0,0,10,10).data,i=!1;for(let r=0;r<100;r++)if(s[r*4]!==40||s[r*4+1]!==40||s[r*4+2]!==40||s[r*4+3]!==255){i=!0;break}return Dh=i,this.releaseCanvas(e),Dh},getHitColor(){let e=this.getRandomColor();return this.isCanvasFarblingActive()?this.getSnappedHexColor(e):e},getHitColorKey(e,n,s){if(this.isCanvasFarblingActive())e=Math.round(e/5)*5,n=Math.round(n/5)*5,s=Math.round(s/5)*5;return A0+this._rgbToHex(e,n,s)},getSnappedHexColor(e){let n=this._hexToRgb(e);return A0+this._rgbToHex(Math.round(n.r/5)*5,Math.round(n.g/5)*5,Math.round(n.b/5)*5)},getRGB(e){var n;let{r:s=0,g:i=0,b:r=0}=(n=je.colorToRGBA(e))!==null&&n!==void 0?n:{};return{r:s,g:i,b:r}},colorToRGBA(e){e=(e||"").trim()||"black";let n=je._namedColorToRBA(e)||je._hex3ColorToRGBA(e)||je._hex4ColorToRGBA(e)||je._hex6ColorToRGBA(e)||je._hex8ColorToRGBA(e)||je._rgbColorToRGBA(e)||je._hslColorToRGBA(e);if(n&&[n.r,n.g,n.b,n.a].every(je._isNumber))return n},_namedColorToRBA(e){let n=jI[e.toLowerCase()];if(!n)return null;return{r:n[0],g:n[1],b:n[2],a:n.length>3?n[3]:1}},_rgbColorToRGBA(e){let n=/^rgba?\(([^)]*)\)$/i.exec(e);if(!n)return;let s=Gv(n[1]);if(s.length<3||s.length>4)return;return{r:tc(s[0],255),g:tc(s[1],255),b:tc(s[2],255),a:s.length>3?tc(s[3],1):1}},_hex8ColorToRGBA(e){if(e.length===9&&T0.test(e))return{r:parseInt(e.slice(1,3),16),g:parseInt(e.slice(3,5),16),b:parseInt(e.slice(5,7),16),a:parseInt(e.slice(7,9),16)/255}},_hex6ColorToRGBA(e){if(e.length===7&&T0.test(e))return{r:parseInt(e.slice(1,3),16),g:parseInt(e.slice(3,5),16),b:parseInt(e.slice(5,7),16),a:1}},_hex4ColorToRGBA(e){if(e.length===5&&T0.test(e))return{r:parseInt(e[1]+e[1],16),g:parseInt(e[2]+e[2],16),b:parseInt(e[3]+e[3],16),a:parseInt(e[4]+e[4],16)/255}},_hex3ColorToRGBA(e){if(e.length===4&&T0.test(e))return{r:parseInt(e[1]+e[1],16),g:parseInt(e[2]+e[2],16),b:parseInt(e[3]+e[3],16),a:1}},_hslColorToRGBA(e){let n=/^hsla?\(([^)]*)\)$/i.exec(e);if(!n)return;let s=Gv(n[1]);if(s.length<3||s.length>4)return;let i=DI.exec(s[0]);if(!i)return;let r=i[2],a=Number(i[1])*(r?qI[r.toLowerCase()]:1);if(!isFinite(a))return;let l=(a%360+360)%360/360,c=Vv(tc(s[1],100)/100),f=Vv(tc(s[2],100)/100),d=s.length>3?tc(s[3],1):1,b=f<0.5?f*(1+c):f+c-f*c,y=2*f-b,v=[0,0,0];for(let k=0;k<3;k++){let A=l+0.3333333333333333*-(k-1);if(A<0)A++;if(A>1)A--;let T;if(6*A<1)T=y+(b-y)*6*A;else if(2*A<1)T=b;else if(3*A<2)T=y+(b-y)*(0.6666666666666666-A)*6;else T=y;v[k]=T*255}return{r:Math.round(v[0]),g:Math.round(v[1]),b:Math.round(v[2]),a:d}},haveIntersection(e,n){return!(n.x>e.x+e.width||n.x+n.width<e.x||n.y>e.y+e.height||n.y+n.height<e.y)},cloneObject(e){let n={};for(let s in e)if(this._isPlainObject(e[s]))n[s]=this.cloneObject(e[s]);else if(this._isArray(e[s]))n[s]=this.cloneArray(e[s]);else n[s]=e[s];return n},cloneArray(e){return e.slice(0)},degToRad(e){return e*xI},radToDeg(e){return e*$v},_degToRad(e){return je.warn("Util._degToRad is removed. Please use public Util.degToRad instead."),je.degToRad(e)},_radToDeg(e){return je.warn("Util._radToDeg is removed. Please use public Util.radToDeg instead."),je.radToDeg(e)},_getRotation(e){return rt.angleDeg?je.radToDeg(e):e},_capitalize(e){let n=zv.get(e);if(n!==void 0)return n;let s=e.charAt(0).toUpperCase()+e.slice(1);return zv.set(e,s),s},throw(e){throw Error(Uv+e)},error(e){console.error(Uv+e)},warn(e){if(!rt.showWarnings)return;console.warn(EI+e)},each(e,n){for(let s in e)n(s,e[s])},_inRange(e,n,s){return n<=e&&e<s},_getProjectionToSegment(e,n,s,i,r,a){let l,c,f,d=(e-s)*(e-s)+(n-i)*(n-i);if(d==0)l=e,c=n,f=(r-s)*(r-s)+(a-i)*(a-i);else{let b=((r-e)*(s-e)+(a-n)*(i-n))/d;if(b<0)l=e,c=n,f=(e-r)*(e-r)+(n-a)*(n-a);else if(b>1)l=s,c=i,f=(s-r)*(s-r)+(i-a)*(i-a);else l=e+b*(s-e),c=n+b*(i-n),f=(l-r)*(l-r)+(c-a)*(c-a)}return[l,c,f]},_getProjectionToLine(e,n,s){let i=je.cloneObject(e),r=Number.MAX_VALUE;return n.forEach(function(a,l){if(!s&&l===n.length-1)return;let c=n[(l+1)%n.length],f=je._getProjectionToSegment(a.x,a.y,c.x,c.y,e.x,e.y),d=f[0],b=f[1],y=f[2];if(y<r)i.x=d,i.y=b,r=y}),i},_prepareArrayForTween(e,n,s){let i=[],r=[];if(e.length>n.length){let l=n;n=e,e=l}for(let l=0;l<e.length;l+=2)i.push({x:e[l],y:e[l+1]});for(let l=0;l<n.length;l+=2)r.push({x:n[l],y:n[l+1]});let a=[];return r.forEach(function(l){let c=je._getProjectionToLine(l,i,s);a.push(c.x),a.push(c.y)}),a},_prepareToStringify(e){let n;e.visitedByCircularReferenceRemoval=!0;for(let s in e){if(!(e.hasOwnProperty(s)&&e[s]&&typeof e[s]=="object"))continue;if(n=Object.getOwnPropertyDescriptor(e,s),e[s].visitedByCircularReferenceRemoval||je._isElement(e[s]))if(n.configurable)delete e[s];else return null;else if(je._prepareToStringify(e[s])===null)if(n.configurable)delete e[s];else return null}return delete e.visitedByCircularReferenceRemoval,e},_assign(e,n){for(let s in n)e[s]=n[s];return e},_getFirstPointerId(e){if(!e.touches)return e.pointerId||999;else return e.changedTouches[0].identifier},releaseCanvas(...e){if(!rt.releaseCanvasOnDestroy)return;e.forEach((n)=>{n.width=0,n.height=0})},drawRoundedRectPath(e,n,s,i){let r=n<0?n:0,a=s<0?s:0;n=Math.abs(n),s=Math.abs(s);let l=0,c=0,f=0,d=0;if(typeof i==="number")l=c=f=d=Math.min(i,n/2,s/2);else l=Math.min(i[0]||0,n/2,s/2),c=Math.min(i[1]||0,n/2,s/2),d=Math.min(i[2]||0,n/2,s/2),f=Math.min(i[3]||0,n/2,s/2);e.moveTo(r+l,a),e.lineTo(r+n-c,a),e.arc(r+n-c,a+c,c,Math.PI*3/2,0,!1),e.lineTo(r+n,a+s-d),e.arc(r+n-d,a+s-d,d,0,Math.PI/2,!1),e.lineTo(r+f,a+s),e.arc(r+f,a+s-f,f,Math.PI/2,Math.PI,!1),e.lineTo(r,a+l),e.arc(r+l,a+l,l,Math.PI,Math.PI*3/2,!1)},drawRoundedPolygonPath(e,n,s,i,r){i=Math.abs(i);for(let a=0;a<s;a++){let l=n[(a-1+s)%s],c=n[a],f=n[(a+1)%s],d={x:c.x-l.x,y:c.y-l.y},b={x:f.x-c.x,y:f.y-c.y},y=Math.hypot(d.x,d.y),v=Math.hypot(b.x,b.y),k;if(typeof r==="number")k=r;else k=a<r.length?r[a]:0;k=i*Math.cos(Math.PI/s)*Math.min(1,k/i*2);let T={x:d.x/y,y:d.y/y},R={x:b.x/v,y:b.y/v},D={x:c.x-T.x*k,y:c.y-T.y*k},U={x:c.x+R.x*k,y:c.y+R.y*k};if(a===0)e.moveTo(D.x,D.y);else e.lineTo(D.x,D.y);e.arcTo(c.x,c.y,U.x,U.y,k)}}};function MI(e){let n=[],s=e.length,i=je;for(let r=0;r<s;r++){let a=e[r];if(i._isNumber(a))a=Math.round(a*1000)/1000;else if(!i._isString(a))a=a+"";n.push(a)}return n}var Wv=",",FI="(",LI=")",PI="([",NI="])",BI=";",HI="()",UI="=",Kv=["arc","arcTo","beginPath","bezierCurveTo","clearRect","clip","closePath","createLinearGradient","createPattern","createRadialGradient","drawImage","ellipse","fill","fillText","getImageData","createImageData","lineTo","moveTo","putImageData","quadraticCurveTo","rect","roundRect","restore","rotate","save","scale","setLineDash","setTransform","stroke","strokeText","transform","translate"],zI=["fillStyle","strokeStyle","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","letterSpacing","lineCap","lineDashOffset","lineJoin","lineWidth","miterLimit","direction","font","textAlign","textBaseline","globalAlpha","globalCompositeOperation","imageSmoothingEnabled","filter"],GI=100,E0=null;function lb(){if(E0!==null)return E0;try{let n=je.createCanvasElement().getContext("2d");if(!n)return E0=!1,!1;return!!n&&"filter"in n}catch(e){return E0=!1,!1}}class ff{constructor(e){if(this.canvas=e,rt.enableTrace)this.traceArr=[],this._enableTrace()}fillShape(e){if(e.fillEnabled())this._fill(e)}_fill(e){}strokeShape(e){if(e.hasStroke())this._stroke(e)}_stroke(e){}fillStrokeShape(e){if(e.attrs.fillAfterStrokeEnabled)this.strokeShape(e),this.fillShape(e);else this.fillShape(e),this.strokeShape(e)}getTrace(e,n){let s=this.traceArr,i=s.length,r="",a,l,c,f;for(a=0;a<i;a++){if(l=s[a],c=l.method,c)if(f=l.args,r+=c,e)r+=HI;else if(je._isArray(f[0]))r+=PI+f.join(Wv)+NI;else{if(n)f=f.map((d)=>typeof d==="number"?Math.floor(d):d);r+=FI+f.join(Wv)+LI}else if(r+=l.property,!e)r+=UI+l.val;r+=BI}return r}clearTrace(){this.traceArr=[]}_trace(e){let n=this.traceArr,s;if(n.push(e),s=n.length,s>=GI)n.shift()}reset(){let e=this.getCanvas().getPixelRatio();this.setTransform(1*e,0,0,1*e,0,0)}getCanvas(){return this.canvas}clear(e){let n=this.getCanvas();if(e)this.clearRect(e.x||0,e.y||0,e.width||0,e.height||0);else this.clearRect(0,0,n.getWidth()/n.pixelRatio,n.getHeight()/n.pixelRatio)}_applyLineCap(e){let n=e.attrs.lineCap;if(n)this.setAttr("lineCap",n)}_applyOpacity(e){let n=e.getAbsoluteOpacity();if(n!==1)this.setAttr("globalAlpha",n)}_applyLineJoin(e){let n=e.attrs.lineJoin;if(n)this.setAttr("lineJoin",n)}_applyMiterLimit(e){let n=e.attrs.miterLimit;if(n!=null)this.setAttr("miterLimit",n)}setAttr(e,n){this._context[e]=n}arc(e,n,s,i,r,a){this._context.arc(e,n,s,i,r,a)}arcTo(e,n,s,i,r){this._context.arcTo(e,n,s,i,r)}beginPath(){this._context.beginPath()}bezierCurveTo(e,n,s,i,r,a){this._context.bezierCurveTo(e,n,s,i,r,a)}clearRect(e,n,s,i){this._context.clearRect(e,n,s,i)}clip(...e){this._context.clip.apply(this._context,e)}closePath(){this._context.closePath()}createImageData(e,n){let s=arguments;if(s.length===2)return this._context.createImageData(e,n);else if(s.length===1)return this._context.createImageData(e)}createLinearGradient(e,n,s,i){return this._context.createLinearGradient(e,n,s,i)}createPattern(e,n){return this._context.createPattern(e,n)}createRadialGradient(e,n,s,i,r,a){return this._context.createRadialGradient(e,n,s,i,r,a)}drawImage(e,n,s,i,r,a,l,c,f){let d=arguments,b=this._context;if(d.length===3)b.drawImage(e,n,s);else if(d.length===5)b.drawImage(e,n,s,i,r);else if(d.length===9)b.drawImage(e,n,s,i,r,a,l,c,f)}ellipse(e,n,s,i,r,a,l,c){this._context.ellipse(e,n,s,i,r,a,l,c)}isPointInPath(e,n,s,i){if(s)return this._context.isPointInPath(s,e,n,i);return this._context.isPointInPath(e,n,i)}fill(...e){this._context.fill.apply(this._context,e)}fillRect(e,n,s,i){this._context.fillRect(e,n,s,i)}strokeRect(e,n,s,i){this._context.strokeRect(e,n,s,i)}fillText(e,n,s,i){if(i)this._context.fillText(e,n,s,i);else this._context.fillText(e,n,s)}measureText(e){return this._context.measureText(e)}getImageData(e,n,s,i){return this._context.getImageData(e,n,s,i)}lineTo(e,n){this._context.lineTo(e,n)}moveTo(e,n){this._context.moveTo(e,n)}rect(e,n,s,i){this._context.rect(e,n,s,i)}roundRect(e,n,s,i,r){this._context.roundRect(e,n,s,i,r)}putImageData(e,n,s){this._context.putImageData(e,n,s)}quadraticCurveTo(e,n,s,i){this._context.quadraticCurveTo(e,n,s,i)}restore(){this._context.restore()}rotate(e){this._context.rotate(e)}save(){this._context.save()}scale(e,n){this._context.scale(e,n)}setLineDash(e){if(this._context.setLineDash)this._context.setLineDash(e);else if("mozDash"in this._context)this._context.mozDash=e;else if("webkitLineDash"in this._context)this._context.webkitLineDash=e}getLineDash(){return this._context.getLineDash()}setTransform(e,n,s,i,r,a){this._context.setTransform(e,n,s,i,r,a)}stroke(e){if(e)this._context.stroke(e);else this._context.stroke()}strokeText(e,n,s,i){this._context.strokeText(e,n,s,i)}transform(e,n,s,i,r,a){this._context.transform(e,n,s,i,r,a)}translate(e,n){this._context.translate(e,n)}_enableTrace(){let e=this,n=Kv.length,s=this.setAttr,i,r,a=function(l){let c=e[l],f;e[l]=function(){return r=MI(Array.prototype.slice.call(arguments,0)),f=c.apply(e,arguments),e._trace({method:l,args:r}),f}};for(i=0;i<n;i++)a(Kv[i]);e.setAttr=function(){s.apply(e,arguments);let l=arguments[0],c=arguments[1];if(l==="shadowOffsetX"||l==="shadowOffsetY"||l==="shadowBlur")c=c/this.canvas.getPixelRatio();e._trace({property:l,val:c})}}_applyGlobalCompositeOperation(e){let n=e.attrs.globalCompositeOperation;if(!(!n||n==="source-over"))this.setAttr("globalCompositeOperation",n)}}zI.forEach(function(e){Object.defineProperty(ff.prototype,e,{get(){return this._context[e]},set(n){this._context[e]=n}})});class cb extends ff{constructor(e,{willReadFrequently:n=!1}={}){super(e);this._context=e._canvas.getContext("2d",{willReadFrequently:n})}_fillColor(e){let n=e.fill();this.setAttr("fillStyle",n),e._fillFunc(this)}_fillPattern(e){let n=this._context;if("patternQuality"in n)n.patternQuality=n.imageSmoothingEnabled?"good":"nearest";this.setAttr("fillStyle",e._getFillPattern()),e._fillFunc(this)}_fillLinearGradient(e){let n=e._getLinearGradient();if(n)this.setAttr("fillStyle",n),e._fillFunc(this)}_fillRadialGradient(e){let n=e._getRadialGradient();if(n)this.setAttr("fillStyle",n),e._fillFunc(this)}_fill(e){let n=e.fill(),s=e.getFillPriority();if(n&&s==="color"){this._fillColor(e);return}let i=e.getFillPatternImage();if(i&&s==="pattern"){this._fillPattern(e);return}let r=e.getFillLinearGradientColorStops();if(r&&s==="linear-gradient"){this._fillLinearGradient(e);return}let a=e.getFillRadialGradientColorStops();if(a&&s==="radial-gradient"){this._fillRadialGradient(e);return}if(n)this._fillColor(e);else if(i)this._fillPattern(e);else if(r)this._fillLinearGradient(e);else if(a)this._fillRadialGradient(e)}_strokeLinearGradient(e){let n=e.getStrokeLinearGradientStartPoint(),s=e.getStrokeLinearGradientEndPoint(),i=e.getStrokeLinearGradientColorStops(),r=this.createLinearGradient(n.x,n.y,s.x,s.y);if(i){for(let a=0;a<i.length;a+=2)r.addColorStop(i[a],i[a+1]);this.setAttr("strokeStyle",r)}}_stroke(e){let n=e.dash(),s=e.getStrokeScaleEnabled();if(e.hasStroke()){if(!s){this.save();let r=this.getCanvas().getPixelRatio();this.setTransform(r,0,0,r,0,0)}if(this._applyLineCap(e),n&&e.dashEnabled())this.setLineDash(n),this.setAttr("lineDashOffset",e.dashOffset());if(this.setAttr("lineWidth",e.strokeWidth()),!e.getShadowForStrokeEnabled())this.setAttr("shadowColor","rgba(0,0,0,0)");if(e.getStrokeLinearGradientColorStops())this._strokeLinearGradient(e);else this.setAttr("strokeStyle",e.stroke());if(e._strokeFunc(this),!s)this.restore()}}_applyShadow(e){var n,s,i;let r=(n=e.getShadowRGBA())!==null&&n!==void 0?n:"black",a=(s=e.getShadowBlur())!==null&&s!==void 0?s:5,l=(i=e.getShadowOffset())!==null&&i!==void 0?i:{x:0,y:0},c=e.getAbsoluteScale(),f=this.canvas.getPixelRatio(),d=c.x*f,b=c.y*f;this.setAttr("shadowColor",r),this.setAttr("shadowBlur",a*Math.min(Math.abs(d),Math.abs(b))),this.setAttr("shadowOffsetX",l.x*d),this.setAttr("shadowOffsetY",l.y*b)}}class fb extends ff{constructor(e){super(e);this._context=e._canvas.getContext("2d",{willReadFrequently:!0})}_fill(e){this.save(),this.setAttr("fillStyle",e.colorKey),e._fillFuncHit(this),this.restore()}strokeShape(e){if(e.hasHitStroke())this._stroke(e)}_stroke(e){if(e.hasHitStroke()){let n=e.getStrokeScaleEnabled();if(!n){this.save();let r=this.getCanvas().getPixelRatio();this.setTransform(r,0,0,r,0,0)}this._applyLineCap(e);let s=e.hitStrokeWidth(),i=s==="auto"?e.strokeWidth():s;if(this.setAttr("lineWidth",i),this.setAttr("strokeStyle",e.colorKey),e._strokeFuncHit(this),!n)this.restore()}}}var C0;function VI(){if(C0)return C0;let e=je.createCanvasElement(),n=e.getContext("2d");return C0=function(){let s=rt._global.devicePixelRatio||1,i=n.webkitBackingStorePixelRatio||n.mozBackingStorePixelRatio||n.msBackingStorePixelRatio||n.oBackingStorePixelRatio||n.backingStorePixelRatio||1;return s/i}(),je.releaseCanvas(e),C0}class qh{constructor(e){this.pixelRatio=1,this.width=0,this.height=0,this.isCache=!1;let s=(e||{}).pixelRatio||rt.pixelRatio||VI();this.pixelRatio=s,this._canvas=je.createCanvasElement(),this._canvas.style.padding="0",this._canvas.style.margin="0",this._canvas.style.border="0",this._canvas.style.background="transparent",this._canvas.style.position="absolute",this._canvas.style.top="0",this._canvas.style.left="0"}getContext(){return this.context}getPixelRatio(){return this.pixelRatio}setPixelRatio(e){let n=this.pixelRatio;this.pixelRatio=e,this.setSize(this.getWidth()/n,this.getHeight()/n)}setWidth(e){this.width=this._canvas.width=e*this.pixelRatio,this._canvas.style.width=e+"px";let n=this.pixelRatio;this.getContext()._context.scale(n,n)}setHeight(e){this.height=this._canvas.height=e*this.pixelRatio,this._canvas.style.height=e+"px";let n=this.pixelRatio;this.getContext()._context.scale(n,n)}getWidth(){return this.width}getHeight(){return this.height}setSize(e,n){this.setWidth(e||0),this.setHeight(n||0)}setSizeIfChanged(e,n){if(this.width!==e*this.pixelRatio||this.height!==n*this.pixelRatio)this.setSize(e,n)}toDataURL(e,n){try{return this._canvas.toDataURL(e,n)}catch(s){try{return this._canvas.toDataURL()}catch(i){return je.error("Unable to get data URL. "+i.message+" For more info read https://konvajs.org/docs/posts/Tainted_Canvas.html."),""}}}}class Mr extends qh{constructor(e={width:0,height:0,willReadFrequently:!1}){super(e);this.context=new cb(this,{willReadFrequently:e.willReadFrequently}),this.setSize(e.width,e.height)}}class nc extends qh{constructor(e={width:0,height:0}){super(e);this.hitCanvas=!0,this.context=new fb(this),this.setSize(e.width,e.height)}}var jn={get isDragging(){let e=!1;return jn._dragElements.forEach((n)=>{if(n.dragStatus==="dragging")e=!0}),e},justDragged:!1,get node(){let e;return jn._dragElements.forEach((n)=>{e=n.node}),e},_dragElements:new Map,_listenToWindow(e){let n=(i)=>jn._endDragBefore(i,e),s=(i)=>jn._drag(i,e);e.addEventListener("mouseup",n,!0),e.addEventListener("touchend",n,!0),e.addEventListener("touchcancel",n,!0),e.addEventListener("mousemove",s),e.addEventListener("touchmove",s),e.addEventListener("mouseup",jn._endDragAfter,!1),e.addEventListener("touchend",jn._endDragAfter,!1),e.addEventListener("touchcancel",jn._endDragAfter,!1)},_drag(e,n){let s=[];jn._dragElements.forEach((i,r)=>{let{node:a}=i,l=a.getStage();if(n&&l._getOwnerWindow()!==n)return;if(l.setPointersPositions(e),i.pointerId===void 0)i.pointerId=je._getFirstPointerId(e);let c=l._changedPointerPositions.find((f)=>f.id===i.pointerId);if(!c)return;if(i.dragStatus!=="dragging"){let f=a.dragDistance();if(Math.max(Math.abs(c.x-i.startPointerPos.x),Math.abs(c.y-i.startPointerPos.y))<f)return;if(a.startDrag({evt:e}),!a.isDragging())return}a._setDragPosition(e,i),s.push(a)}),s.forEach((i)=>{if(!i.getStage())return;i.fire("dragmove",{type:"dragmove",target:i,evt:e},!0)})},_endDragBefore(e,n){let s=[];jn._dragElements.forEach((i)=>{let{node:r}=i,a=r.getStage();if(e&&(!n||a._getOwnerWindow()===n))a.setPointersPositions(e);if(!a._changedPointerPositions.find((f)=>f.id===i.pointerId))return;if(i.dragStatus==="dragging"||i.dragStatus==="stopped")jn.justDragged=!0,rt._mouseListenClick=!1,rt._touchListenClick=!1,rt._pointerListenClick=!1,i.dragStatus="stopped";let c=i.node.getLayer()||i.node instanceof rt.Stage&&i.node;if(c&&s.indexOf(c)===-1)s.push(c)}),s.forEach((i)=>{i.draw()})},_endDragAfter(e){jn._dragElements.forEach((n,s)=>{if(n.dragStatus==="stopped")n.node.fire("dragend",{type:"dragend",target:n.node,evt:e},!0);if(n.dragStatus!=="dragging")jn._dragElements.delete(s)})}};function ul(e){if(je._isString(e))return'"'+e+'"';if(Object.prototype.toString.call(e)==="[object Number]")return e;if(je._isBoolean(e))return e;return Object.prototype.toString.call(e)}function j0(e){if(e>255)return 255;else if(e<0)return 0;return Math.round(e)}function Ye(){if(rt.isUnminified)return function(e,n){if(!je._isNumber(e))je.warn(ul(e)+' is a not valid value for "'+n+'" attribute. The value should be a number.');return e}}function dl(e){if(rt.isUnminified)return function(n,s){let i=je._isNumber(n),r=je._isArray(n)&&n.length==e;if(!i&&!r)je.warn(ul(n)+' is a not valid value for "'+s+'" attribute. The value should be a number or Array<number>('+e+")");return n}}function Mh(){if(rt.isUnminified)return function(e,n){if(!(je._isNumber(e)||e==="auto"))je.warn(ul(e)+' is a not valid value for "'+n+'" attribute. The value should be a number or "auto".');return e}}function Na(){if(rt.isUnminified)return function(e,n){if(!je._isString(e))je.warn(ul(e)+' is a not valid value for "'+n+'" attribute. The value should be a string.');return e}}function hb(){if(rt.isUnminified)return function(e,n){let s=je._isString(e),i=Object.prototype.toString.call(e)==="[object CanvasGradient]"||e&&e.addColorStop;if(!(s||i))je.warn(ul(e)+' is a not valid value for "'+n+'" attribute. The value should be a string or a native gradient.');return e}}function Yv(){if(rt.isUnminified)return function(e,n){let s=Int8Array?Object.getPrototypeOf(Int8Array):null;if(s&&e instanceof s)return e;if(!je._isArray(e))je.warn(ul(e)+' is a not valid value for "'+n+'" attribute. The value should be a array of numbers.');else e.forEach(function(i){if(!je._isNumber(i))je.warn('"'+n+'" attribute has non numeric element '+i+". Make sure that all elements are numbers.")});return e}}function Ei(){if(rt.isUnminified)return function(e,n){if(!(e===!0||e===!1))je.warn(ul(e)+' is a not valid value for "'+n+'" attribute. The value should be a boolean.');return e}}function Qv(e){if(rt.isUnminified)return function(n,s){if(n===void 0||n===null)return n;if(!je.isObject(n))je.warn(ul(n)+' is a not valid value for "'+s+'" attribute. The value should be an object with properties '+e);return n}}var Fh="get",Lh="set",he={addGetterSetter(e,n,s,i,r){he.addGetter(e,n,s),he.addSetter(e,n,i,r),he.addOverloadedGetterSetter(e,n)},addGetter(e,n,s){let i=Fh+je._capitalize(n);e.prototype[i]=e.prototype[i]||function(){let r=this.attrs[n];return r===void 0?s:r}},addSetter(e,n,s,i){let r=Lh+je._capitalize(n);if(!e.prototype[r])he.overWriteSetter(e,n,s,i)},overWriteSetter(e,n,s,i){let r=Lh+je._capitalize(n);e.prototype[r]=function(a){if(s&&a!==void 0&&a!==null)a=s.call(this,a,n);if(this._setAttr(n,a),i)i.call(this);return this}},addComponentsGetterSetter(e,n,s,i,r){let a=s.length,l=je._capitalize,c=Fh+l(n),f=Lh+l(n);e.prototype[c]=function(){let b={};for(let y=0;y<a;y++){let v=s[y];b[v]=this.getAttr(n+l(v))}return b};let d=Qv(s);e.prototype[f]=function(b){let y=this.attrs[n];if(i)b=i.call(this,b,n);if(d)d.call(this,b,n);for(let v in b){if(!b.hasOwnProperty(v))continue;this._setAttr(n+l(v),b[v])}if(!b)s.forEach((v)=>{this._setAttr(n+l(v),void 0)});if(this._fireChangeEvent(n,y,b),r)r.call(this);return this},he.addOverloadedGetterSetter(e,n)},addOverloadedGetterSetter(e,n){let s=je._capitalize(n),i=Lh+s,r=Fh+s;e.prototype[n]=function(){if(arguments.length)return this[i](arguments[0]),this;return this[r]()}},addDeprecatedGetterSetter(e,n,s,i){je.error("Adding deprecated "+n);let r=Fh+je._capitalize(n),a=n+" property is deprecated and will be removed soon. Look at Konva change log for more information.";e.prototype[r]=function(){je.error(a);let l=this.attrs[n];return l===void 0?s:l},he.addSetter(e,n,i,function(){je.error(a)}),he.addOverloadedGetterSetter(e,n)},backCompat(e,n){je.each(n,function(s,i){let r=e.prototype[i],a=Fh+je._capitalize(s),l=Lh+je._capitalize(s);function c(){r.apply(this,arguments),je.error('"'+s+'" method is deprecated and will be removed soon. Use ""'+i+'" instead.')}e.prototype[s]=c,e.prototype[a]=c,e.prototype[l]=c})},afterSetFilter(){this._filterUpToDate=!1}};function $I(e){let n=/(\w+)\(([^)]+)\)/g,s;while((s=n.exec(e))!==null){let[,i,r]=s;switch(i){case"blur":{let a=parseFloat(r.replace("px",""));return function(l){this.blurRadius(a*0.5);let c=rt.Filters;if(c&&c.Blur)c.Blur.call(this,l)}}case"brightness":{let a=r.includes("%")?parseFloat(r)/100:parseFloat(r);return function(l){this.brightness(a);let c=rt.Filters;if(c&&c.Brightness)c.Brightness.call(this,l)}}case"contrast":{let a=parseFloat(r);return function(l){let c=100*(Math.sqrt(a)-1);this.contrast(c);let f=rt.Filters;if(f&&f.Contrast)f.Contrast.call(this,l)}}case"grayscale":return function(a){let l=rt.Filters;if(l&&l.Grayscale)l.Grayscale.call(this,a)};case"sepia":return function(a){let l=rt.Filters;if(l&&l.Sepia)l.Sepia.call(this,a)};case"invert":return function(a){let l=rt.Filters;if(l&&l.Invert)l.Invert.call(this,a)};default:je.warn(`CSS filter "${i}" is not supported in fallback mode. Consider using function filters for better compatibility.`);break}}return()=>{}}var _0="absoluteOpacity",Jv="allEventListeners",Ao="absoluteTransform",Zv="absoluteScale",sc="canvas",XI="Change",WI="children",KI="konva",ub="listening",YI="mouseenter",QI="mouseleave",JI="pointerenter",ZI="pointerleave",eR="touchenter",tR="touchleave";var e4="set",t4="Shape",I0=" ",n4="stage",ml="transform",nR="Stage",db="visible",sR=["xChange.konva","yChange.konva","scaleXChange.konva","scaleYChange.konva","skewXChange.konva","skewYChange.konva","rotationChange.konva","offsetXChange.konva","offsetYChange.konva","transformsEnabledChange.konva"].join(I0),iR=1;class Qe{constructor(e){this._id=iR++,this.eventListeners={},this.attrs={},this.index=0,this._allEventListeners=null,this.parent=null,this._cache=new Map,this._attachedDepsListeners=new Map,this._lastPos=null,this._batchingTransformChange=!1,this._needClearTransformCache=!1,this._filterUpToDate=!1,this._isUnderCache=!1,this._dragEventId=null,this._shouldFireChangeEvents=!1,this.setAttrs(e),this._shouldFireChangeEvents=!0}hasChildren(){return!1}_clearCache(e){if((e===ml||e===Ao)&&this._cache.get(e))this._cache.get(e).dirty=!0;else if(e)this._cache.delete(e);else this._cache.clear()}_getCache(e,n){let s=this._cache.get(e);if(s===void 0||(e===ml||e===Ao)&&s.dirty===!0)s=n.call(this),this._cache.set(e,s);return s}_calculate(e,n,s){if(!this._attachedDepsListeners.get(e)){let i=n.map((r)=>r+"Change.konva").join(I0);this.on(i,()=>{this._clearCache(e)}),this._attachedDepsListeners.set(e,!0)}return this._getCache(e,s)}_getCanvasCache(){return this._cache.get(sc)}_clearSelfAndDescendantCache(e){if(this._clearCache(e),e===Ao)this.fire("absoluteTransformChange")}static _runAfterAbsTransformCascade(e){if(Qe._absTransformCascadeDepth>0)Qe._pendingAfterCascade.push(e);else e()}clearCache(){if(this._cache.has(sc)){let{scene:e,filter:n,hit:s}=this._cache.get(sc);je.releaseCanvas(e._canvas,n._canvas,...s?[s._canvas]:[]),this._cache.delete(sc)}return this._clearSelfAndDescendantCache(),this._requestDraw(),this}cache(e){let n=e||{},s={};if(n.x===void 0||n.y===void 0||n.width===void 0||n.height===void 0)s=this.getClientRect({skipTransform:!0,relativeTo:this.getParent()||void 0});let i=Math.ceil(n.width||s.width),r=Math.ceil(n.height||s.height),a=n.pixelRatio,l=n.x===void 0?Math.floor(s.x):n.x,c=n.y===void 0?Math.floor(s.y):n.y,f=n.offset||0,d=n.drawBorder||!1,b=n.hitCanvasPixelRatio||1;if(!i||!r){je.error("Can not cache the node. Width or height of the node equals 0. Caching is skipped.");return}let y=Math.abs(Math.round(s.x)-l)>0.5?1:0,v=Math.abs(Math.round(s.y)-c)>0.5?1:0;i+=f*2+y,r+=f*2+v,l-=f,c-=f;let k=new Mr({pixelRatio:a,width:i,height:r}),A=new Mr({pixelRatio:a,width:0,height:0,willReadFrequently:!0}),T=k.getContext(),R=new Mr({width:k.width/k.pixelRatio+Math.abs(l),height:k.height/k.pixelRatio+Math.abs(c),pixelRatio:k.pixelRatio}),D=R.getContext();if(k.isCache=!0,this._cache.delete(sc),this._filterUpToDate=!1,n.imageSmoothingEnabled===!1)k.getContext()._context.imageSmoothingEnabled=!1,A.getContext()._context.imageSmoothingEnabled=!1;if(T.save(),D.save(),T.translate(-l,-c),D.translate(-l,-c),R.x=l,R.y=c,this._isUnderCache=!0,this._clearSelfAndDescendantCache(_0),this._clearSelfAndDescendantCache(Zv),this.drawScene(k,this,R),this._isUnderCache=!1,T.restore(),d)T.save(),T.beginPath(),T.rect(0,0,i,r),T.closePath(),T.setAttr("strokeStyle","red"),T.setAttr("lineWidth",5),T.stroke(),T.restore();return je.releaseCanvas(R._canvas),this._cache.set(sc,{scene:k,filter:A,hit:null,hitConfig:{pixelRatio:b,width:i,height:r},x:l,y:c}),this._requestDraw(),this}_getCachedHitCanvas(e){if(e===this)return null;let n=this._getCanvasCache();if(!n)return null;if(n.hit)return n.hit;let s=new nc(n.hitConfig);s.isCache=!0;let i=s.getContext();return i.save(),i.translate(-n.x,-n.y),this.drawHit(s,this),i.restore(),n.hit=s,s}isCached(){return this._cache.has(sc)}getClientRect(e){throw Error('abstract "getClientRect" method call')}_transformedRect(e,n){let s=[{x:e.x,y:e.y},{x:e.x+e.width,y:e.y},{x:e.x+e.width,y:e.y+e.height},{x:e.x,y:e.y+e.height}],i=1/0,r=1/0,a=-1/0,l=-1/0,c=this.getAbsoluteTransform(n);return s.forEach(function(f){let d=c.point(f);if(i===void 0)i=a=d.x,r=l=d.y;i=Math.min(i,d.x),r=Math.min(r,d.y),a=Math.max(a,d.x),l=Math.max(l,d.y)}),{x:i,y:r,width:a-i,height:l-r}}_drawCachedSceneCanvas(e){e.save(),e._applyOpacity(this),e._applyGlobalCompositeOperation(this);let n=this._getCanvasCache();e.translate(n.x,n.y);let s=this._getCachedSceneCanvas(),i=s.pixelRatio;e.drawImage(s._canvas,0,0,s.width/i,s.height/i),e.restore()}_drawCachedHitCanvas(e,n){let s=this._getCanvasCache();e.save(),e.translate(s.x,s.y),e.drawImage(n._canvas,0,0,n.width/n.pixelRatio,n.height/n.pixelRatio),e.restore()}_getCachedSceneCanvas(){let e=this.filters(),n=this._getCanvasCache(),{scene:s,filter:i}=n,r=i.getContext(),a,l,c,f;if(!e||e.length===0)return s;if(this._filterUpToDate)return i;let d=!0;for(let y=0;y<e.length;y++){let v=typeof e[y]==="string"&&!lb();if(typeof e[y]!=="string"||!lb()){d=!1;break}}let b=s.pixelRatio;if(i.setSize(s.width/s.pixelRatio,s.height/s.pixelRatio),d){let y=e.join(" ");return r.save(),r.setAttr("filter",y),r.drawImage(s._canvas,0,0,s.getWidth()/b,s.getHeight()/b),r.restore(),this._filterUpToDate=!0,i}try{a=e.length,r.clear(),r.drawImage(s._canvas,0,0,s.getWidth()/b,s.getHeight()/b),l=r.getImageData(0,0,i.getWidth(),i.getHeight());for(c=0;c<a;c++){if(f=e[c],typeof f==="string")f=$I(f);f.call(this,l),r.putImageData(l,0,0)}}catch(y){je.error("Unable to apply filter. "+y.message+" This post my help you https://konvajs.org/docs/posts/Tainted_Canvas.html.")}return this._filterUpToDate=!0,i}on(...e){let n=e[0],s=e[1],i=e[2];if(this._cache)this._cache.delete(Jv);if(e.length===3)return this._delegate.apply(this,e);let r=n.split(I0);for(let a=0;a<r.length;a++){let c=r[a].split("."),f=c[0],d=c[1]||"";if(!this.eventListeners[f])this.eventListeners[f]=[];this.eventListeners[f].push({name:d,handler:s})}return this}off(e,n){let s=(e||"").split(I0),i=s.length,r,a,l,c,f,d;if(this._cache&&this._cache.delete(Jv),!e)for(a in this.eventListeners)this._off(a);for(r=0;r<i;r++)if(l=s[r],c=l.split("."),f=c[0],d=c[1],f){if(this.eventListeners[f])this._off(f,d,n)}else for(a in this.eventListeners)this._off(a,d,n);return this}dispatchEvent(e){let n={target:this,type:e.type,evt:e};return this.fire(e.type,n),this}addEventListener(e,n){return this.on(e,function(s){n.call(this,s.evt)}),this}removeEventListener(e){return this.off(e),this}_delegate(e,n,s){let i=this;return this.on(e,function(r){let a=r.target.findAncestors(n,!0,i);for(let l=0;l<a.length;l++)r=je.cloneObject(r),r.currentTarget=a[l],s.call(a[l],r)}),this}remove(){if(this.isDragging())this.stopDrag();return jn._dragElements.delete(this._id),jn._dragElements.forEach((e,n)=>{if(this.isAncestorOf(e.node))jn._dragElements.delete(n)}),this._remove(),this}_clearCaches(){this._clearSelfAndDescendantCache(Ao),this._clearSelfAndDescendantCache(_0),this._clearSelfAndDescendantCache(Zv),this._clearSelfAndDescendantCache(n4),this._clearSelfAndDescendantCache(db),this._clearSelfAndDescendantCache(ub)}_remove(){this._clearCaches();let e=this.getParent();if(e&&e.children)e.children.splice(this.index,1),e._setChildrenIndices(),this.parent=null}destroy(){return this.remove(),this.clearCache(),this}getAttr(e){let n="get"+je._capitalize(e);if(je._isFunction(this[n]))return this[n]();return this.attrs[e]}getAncestors(){let e=this.getParent(),n=[];while(e)n.push(e),e=e.getParent();return n}getAttrs(){return this.attrs||{}}setAttrs(e){return this._batchTransformChanges(()=>{let n,s;if(!e)return this;for(n in e){if(n===WI)continue;if(s=e4+je._capitalize(n),je._isFunction(this[s]))this[s](e[n]);else this._setAttr(n,e[n])}}),this}isListening(){return this._getCache(ub,this._isListening)}_isListening(e){if(!this.listening())return!1;let s=this.getParent();if(s&&s!==e&&this!==e)return s._isListening(e);else return!0}isVisible(){return this._getCache(db,this._isVisible)}_isVisible(e){if(!this.visible())return!1;let s=this.getParent();if(s&&s!==e&&this!==e)return s._isVisible(e);else return!0}shouldDrawHit(e,n=!1){if(e)return this._isVisible(e)&&this._isListening(e);let s=this.getLayer(),i=!1;jn._dragElements.forEach((a)=>{if(a.dragStatus!=="dragging")return;else if(a.node.nodeType==="Stage")i=!0;else if(a.node.getLayer()===s)i=!0});let r=!n&&!rt.hitOnDragEnabled&&(i||rt.isTransforming());return this.isListening()&&this.isVisible()&&!r}show(){return this.visible(!0),this}hide(){return this.visible(!1),this}getZIndex(){return this.index||0}getAbsoluteZIndex(){let e=this.getDepth(),n=this,s=0,i,r,a,l;function c(d){i=[],r=d.length;for(a=0;a<r;a++){if(l=d[a],s++,l.nodeType!==t4)i=i.concat(l.getChildren().slice());if(l._id===n._id)a=r}if(i.length>0&&i[0].getDepth()<=e)c(i)}let f=this.getStage();if(n.nodeType!==nR&&f)c(f.getChildren());return s}getDepth(){let e=0,n=this.parent;while(n)e++,n=n.parent;return e}_batchTransformChanges(e){if(this._batchingTransformChange=!0,e(),this._batchingTransformChange=!1,this._needClearTransformCache)this._clearCache(ml),this._clearSelfAndDescendantCache(Ao);this._needClearTransformCache=!1}setPosition(e){return this._batchTransformChanges(()=>{this.x(e.x),this.y(e.y)}),this}getPosition(){return{x:this.x(),y:this.y()}}getRelativePointerPosition(){let e=this.getStage();if(!e)return null;let n=e.getPointerPosition();if(!n)return null;let s=this.getAbsoluteTransform().copy();return s.invert(),s.point(n)}getAbsolutePosition(e){let n=!1,s=this.parent;while(s){if(s.isCached()){n=!0;break}s=s.parent}if(n&&!e)e=!0;let i=this.getAbsoluteTransform(e).getMatrix(),r=new Ti,a=this.offset();return r.m=i.slice(),r.translate(a.x,a.y),r.getTranslation()}setAbsolutePosition(e){let{x:n,y:s,...i}=this._clearTransform();this.attrs.x=n,this.attrs.y=s,this._clearCache(ml);let r=this._getAbsoluteTransform().copy();return r.invert(),r.translate(e.x,e.y),e={x:this.attrs.x+r.getTranslation().x,y:this.attrs.y+r.getTranslation().y},this._setTransform(i),this.setPosition({x:e.x,y:e.y}),this._clearCache(ml),this._clearSelfAndDescendantCache(Ao),this}_setTransform(e){let n;for(n in e)this.attrs[n]=e[n]}_clearTransform(){let e={x:this.x(),y:this.y(),rotation:this.rotation(),scaleX:this.scaleX(),scaleY:this.scaleY(),offsetX:this.offsetX(),offsetY:this.offsetY(),skewX:this.skewX(),skewY:this.skewY()};return this.attrs.x=0,this.attrs.y=0,this.attrs.rotation=0,this.attrs.scaleX=1,this.attrs.scaleY=1,this.attrs.offsetX=0,this.attrs.offsetY=0,this.attrs.skewX=0,this.attrs.skewY=0,e}move(e){let{x:n,y:s}=e,i=this.x(),r=this.y();if(n!==void 0)i+=n;if(s!==void 0)r+=s;return this.setPosition({x:i,y:r}),this}_eachAncestorReverse(e,n){let s=[],i=this.getParent(),r,a;if(n&&n._id===this._id)return;s.unshift(this);while(i&&(!n||i._id!==n._id))s.unshift(i),i=i.parent;r=s.length;for(a=0;a<r;a++)e(s[a])}rotate(e){return this.rotation(this.rotation()+e),this}moveToTop(){if(!this.parent)return je.warn("Node has no parent. moveToTop function is ignored."),!1;let e=this.index,n=this.parent.getChildren().length;if(e<n-1)return this.parent.children.splice(e,1),this.parent.children.push(this),this.parent._setChildrenIndices(),!0;return!1}moveUp(){if(!this.parent)return je.warn("Node has no parent. moveUp function is ignored."),!1;let e=this.index,n=this.parent.getChildren().length;if(e<n-1)return this.parent.children.splice(e,1),this.parent.children.splice(e+1,0,this),this.parent._setChildrenIndices(),!0;return!1}moveDown(){if(!this.parent)return je.warn("Node has no parent. moveDown function is ignored."),!1;let e=this.index;if(e>0)return this.parent.children.splice(e,1),this.parent.children.splice(e-1,0,this),this.parent._setChildrenIndices(),!0;return!1}moveToBottom(){if(!this.parent)return je.warn("Node has no parent. moveToBottom function is ignored."),!1;let e=this.index;if(e>0)return this.parent.children.splice(e,1),this.parent.children.unshift(this),this.parent._setChildrenIndices(),!0;return!1}setZIndex(e){if(!this.parent)return je.warn("Node has no parent. zIndex parameter is ignored."),this;if(e<0||e>=this.parent.children.length)je.warn("Unexpected value "+e+" for zIndex property. zIndex is just index of a node in children of its parent. Expected value is from 0 to "+(this.parent.children.length-1)+".");let n=this.index;return this.parent.children.splice(n,1),this.parent.children.splice(e,0,this),this.parent._setChildrenIndices(),this}getAbsoluteOpacity(){return this._getCache(_0,this._getAbsoluteOpacity)}_getAbsoluteOpacity(){let e=this.opacity(),n=this.getParent();if(n&&!n._isUnderCache)e*=n.getAbsoluteOpacity();return e}moveTo(e){if(this.getParent()!==e)this._remove(),e.add(this);return this}toObject(){let e=this.getAttrs(),n,s,i,r,a,l={attrs:{},className:this.getClassName()};for(n in e){if(s=e[n],a=je.isObject(s)&&!je._isPlainObject(s)&&!je._isArray(s),a)continue;if(i=typeof this[n]==="function"&&this[n],delete e[n],r=i?i.call(this):null,e[n]=s,r!==s)l.attrs[n]=s}return je._prepareToStringify(l)}toJSON(){return JSON.stringify(this.toObject())}getParent(){return this.parent}findAncestors(e,n,s){let i=[];if(n&&this._isMatch(e))i.push(this);let r=this.parent;while(r){if(r===s)return i;if(r._isMatch(e))i.push(r);r=r.parent}return i}isAncestorOf(e){return!1}findAncestor(e,n,s){return this.findAncestors(e,n,s)[0]}_isMatch(e){if(!e)return!1;if(typeof e==="function")return e(this);let n=e.replace(/ /g,"").split(","),s=n.length,i,r;for(i=0;i<s;i++){if(r=n[i],!je.isValidSelector(r))je.warn('Selector "'+r+'" is invalid. Allowed selectors examples are "#foo", ".bar" or "Group".'),je.warn('If you have a custom shape with such className, please change it to start with upper letter like "Triangle".'),je.warn("Konva is awesome, right?");if(r.charAt(0)==="#"){if(this.id()===r.slice(1))return!0}else if(r.charAt(0)==="."){if(this.hasName(r.slice(1)))return!0}else if(this.className===r||this.nodeType===r)return!0}return!1}getLayer(){let e=this.getParent();return e?e.getLayer():null}getStage(){return this._getCache(n4,this._getStage)}_getStage(){let e=this.getParent();if(e)return e.getStage();else return null}fire(e,n={},s){if(n.target=n.target||this,s)this._fireAndBubble(e,n);else this._fire(e,n);return this}getAbsoluteTransform(e){if(e)return this._getAbsoluteTransform(e);else return this._getCache(Ao,this._getAbsoluteTransform)}_getAbsoluteTransform(e){let n;if(e)return n=new Ti,this._eachAncestorReverse(function(s){let i=s.transformsEnabled();if(i==="all")n.multiply(s.getTransform());else if(i==="position")n.translate(s.x()-s.offsetX(),s.y()-s.offsetY())},e),n;else{if(n=this._cache.get(Ao)||new Ti,this.parent)this.parent.getAbsoluteTransform().copyInto(n);else n.reset();let s=this.transformsEnabled();if(s==="all")n.multiply(this.getTransform());else if(s==="position"){let i=this.attrs.x||0,r=this.attrs.y||0,a=this.attrs.offsetX||0,l=this.attrs.offsetY||0;n.translate(i-a,r-l)}return n.dirty=!1,n}}getAbsoluteScale(e){let n=this;while(n){if(n._isUnderCache)e=n;n=n.getParent()}let i=this.getAbsoluteTransform(e).decompose();return{x:i.scaleX,y:i.scaleY}}getAbsoluteRotation(){return this.getAbsoluteTransform().decompose().rotation}getTransform(){return this._getCache(ml,this._getTransform)}_getTransform(){var e,n;let s=this._cache.get(ml)||new Ti;s.reset();let i=this.x(),r=this.y(),a=rt.getAngle(this.rotation()),l=(e=this.attrs.scaleX)!==null&&e!==void 0?e:1,c=(n=this.attrs.scaleY)!==null&&n!==void 0?n:1,f=this.attrs.skewX||0,d=this.attrs.skewY||0,b=this.attrs.offsetX||0,y=this.attrs.offsetY||0;if(i!==0||r!==0)s.translate(i,r);if(a!==0)s.rotate(a);if(f!==0||d!==0)s.skew(f,d);if(l!==1||c!==1)s.scale(l,c);if(b!==0||y!==0)s.translate(-1*b,-1*y);return s.dirty=!1,s}clone(e){let n=je.cloneObject(this.attrs),s,i,r,a,l;for(s in e)n[s]=e[s];let c=new this.constructor(n);for(s in this.eventListeners){i=this.eventListeners[s],r=i.length;for(a=0;a<r;a++)if(l=i[a],l.name.indexOf(KI)<0){if(!c.eventListeners[s])c.eventListeners[s]=[];c.eventListeners[s].push(l)}}return c}_toKonvaCanvas(e){e=e||{};let n=this.getClientRect(),s=this.getStage(),i=e.x!==void 0?e.x:Math.floor(n.x),r=e.y!==void 0?e.y:Math.floor(n.y),a=e.pixelRatio||1,l=new Mr({width:e.width||Math.ceil(n.width)||(s?s.width():0),height:e.height||Math.ceil(n.height)||(s?s.height():0),pixelRatio:a}),c=l.getContext(),f=new Mr({width:l.width/l.pixelRatio+Math.abs(i),height:l.height/l.pixelRatio+Math.abs(r),pixelRatio:l.pixelRatio});if(e.imageSmoothingEnabled===!1)c._context.imageSmoothingEnabled=!1;if(c.save(),i||r)c.translate(-1*i,-1*r);return this.drawScene(l,void 0,f),c.restore(),l}toCanvas(e){return this._toKonvaCanvas(e)._canvas}toDataURL(e){e=e||{};let n=e.mimeType||null,s=e.quality||null,i=this._toKonvaCanvas(e).toDataURL(n,s);if(e.callback)e.callback(i);return i}toImage(e){return new Promise((n,s)=>{try{let i=e===null||e===void 0?void 0:e.callback;if(i)delete e.callback;je._urlToImage(this.toDataURL(e),function(r){n(r),i===null||i===void 0||i(r)})}catch(i){s(i)}})}toBlob(e){return new Promise((n,s)=>{try{let i=e===null||e===void 0?void 0:e.callback;if(i)delete e.callback;this.toCanvas(e).toBlob((r)=>{n(r),i===null||i===void 0||i(r)},e===null||e===void 0?void 0:e.mimeType,e===null||e===void 0?void 0:e.quality)}catch(i){s(i)}})}setSize(e){return this.width(e.width),this.height(e.height),this}getSize(){return{width:this.width(),height:this.height()}}getClassName(){return this.className||this.nodeType}getType(){return this.nodeType}getDragDistance(){if(this.attrs.dragDistance!==void 0)return this.attrs.dragDistance;else if(this.parent)return this.parent.getDragDistance();else return rt.dragDistance}_off(e,n,s){let i=this.eventListeners[e],r,a,l;for(r=0;r<i.length;r++)if(a=i[r].name,l=i[r].handler,(a!=="konva"||n==="konva")&&(!n||a===n)&&(!s||s===l)){if(i.splice(r,1),i.length===0){delete this.eventListeners[e];break}r--}}_fireChangeEvent(e,n,s){this._fire(e+XI,{oldVal:n,newVal:s})}addName(e){if(!this.hasName(e)){let n=this.name(),s=n?n+" "+e:e;this.name(s)}return this}hasName(e){if(!e)return!1;let n=this.name();if(!n)return!1;return(n||"").split(/\s/g).indexOf(e)!==-1}removeName(e){let n=(this.name()||"").split(/\s/g),s=n.indexOf(e);if(s!==-1)n.splice(s,1),this.name(n.join(" "));return this}setAttr(e,n){let s=this[e4+je._capitalize(e)];if(je._isFunction(s))s.call(this,n);else this._setAttr(e,n);return this}_requestDraw(){if(rt.autoDrawEnabled){let e=this.getLayer()||this.getStage();e===null||e===void 0||e.batchDraw()}}_setAttr(e,n){let s=this.attrs[e];if(s===n&&!je.isObject(n))return;if(n===void 0||n===null)delete this.attrs[e];else this.attrs[e]=n;if(this._shouldFireChangeEvents)this._fireChangeEvent(e,s,n);this._requestDraw()}_setComponentAttr(e,n,s){let i;if(s!==void 0){if(i=this.attrs[e],!i)this.attrs[e]=this.getAttr(e);this.attrs[e][n]=s,this._fireChangeEvent(e,i,s)}}_fireAndBubble(e,n,s){if(n&&this.nodeType===t4)n.target=this;let i=[YI,QI,JI,ZI,eR,tR];if(!(i.indexOf(e)!==-1&&(s&&(this===s||this.isAncestorOf&&this.isAncestorOf(s))||this.nodeType==="Stage"&&!s))){this._fire(e,n);let a=i.indexOf(e)!==-1&&s&&s.isAncestorOf&&s.isAncestorOf(this)&&!s.isAncestorOf(this.parent);if((n&&!n.cancelBubble||!n)&&this.parent&&this.parent.isListening()&&!a)if(s&&s.parent)this._fireAndBubble.call(this.parent,e,n,s);else this._fireAndBubble.call(this.parent,e,n)}}_getProtoListeners(e){var n,s;let{nodeType:i}=this,r=Qe.protoListenerMap.get(i)||{},a=r===null||r===void 0?void 0:r[e];if(a===void 0){a=[];let l=new Set,c=Object.getPrototypeOf(this);while(c){let f=(s=(n=c.eventListeners)===null||n===void 0?void 0:n[e])!==null&&s!==void 0?s:[];for(let d=0;d<f.length;d++){let b=f[d];if(!l.has(b))l.add(b),a.push(b)}c=Object.getPrototypeOf(c)}r[e]=a,Qe.protoListenerMap.set(i,r)}return a}_fire(e,n){n=n||{},n.currentTarget=this,n.type=e;let s=this._getProtoListeners(e);if(s)for(let r=0;r<s.length;r++)s[r].handler.call(this,n);let i=this.eventListeners[e];if(i){let r=i.slice(),a=r.length;for(let c=0;c<r.length;c++)r[c].handler.call(this,n);let l=this.eventListeners[e];if(l)for(let c=a;c<l.length;c++)l[c].handler.call(this,n)}}draw(){return this.drawScene(),this.drawHit(),this}_createDragElement(e){let n=e?e.pointerId:void 0,s=this.getStage(),i=this.getAbsolutePosition();if(!s)return;let r=s._getPointerById(n)||s._changedPointerPositions[0]||i;jn._dragElements.set(this._id,{node:this,startPointerPos:r,offset:{x:r.x-i.x,y:r.y-i.y},dragStatus:"ready",pointerId:n,startEvent:e})}startDrag(e,n=!0){if(!jn._dragElements.has(this._id))this._createDragElement(e);let s=jn._dragElements.get(this._id);s.dragStatus="dragging",this.fire("dragstart",{type:"dragstart",target:this,evt:s.startEvent&&s.startEvent.evt||e&&e.evt},n)}_setDragPosition(e,n){let s=this.getStage()._getPointerById(n.pointerId);if(!s)return;let i={x:s.x-n.offset.x,y:s.y-n.offset.y},r=this.dragBoundFunc();if(r!==void 0){let a=r.call(this,i,e);if(!a)je.warn("dragBoundFunc did not return any value. That is unexpected behavior. You must return new absolute position from dragBoundFunc.");else i=a}if(!this._lastPos||this._lastPos.x!==i.x||this._lastPos.y!==i.y)this.setAbsolutePosition(i),this._requestDraw();this._lastPos=i}stopDrag(e){let n=jn._dragElements.get(this._id);if(n)n.dragStatus="stopped";jn._endDragBefore(e),jn._endDragAfter(e)}setDraggable(e){this._setAttr("draggable",e),this._dragChange()}isDragging(){let e=jn._dragElements.get(this._id);return e?e.dragStatus==="dragging":!1}_listenDrag(){this._dragCleanup(),this.on("mousedown.konva touchstart.konva",function(e){if(!(e.evt.button===void 0||rt.dragButtons.indexOf(e.evt.button)>=0))return;if(this.isDragging())return;let i=!1;if(jn._dragElements.forEach((r)=>{if(this.isAncestorOf(r.node))i=!0}),!i)this._createDragElement(e)})}_dragChange(){if(this.attrs.draggable)this._listenDrag();else{if(this._dragCleanup(),!this.getStage())return;let n=jn._dragElements.get(this._id),s=n&&n.dragStatus==="dragging",i=n&&n.dragStatus==="ready";if(s)this.stopDrag();else if(i)jn._dragElements.delete(this._id)}}_dragCleanup(){this.off("mousedown.konva"),this.off("touchstart.konva")}isClientRectOnScreen(e={x:0,y:0}){let n=this.getStage();if(!n)return!1;let s={x:-e.x,y:-e.y,width:n.width()+2*e.x,height:n.height()+2*e.y};return je.haveIntersection(s,this.getClientRect())}static create(e,n){if(je._isString(e))e=JSON.parse(e);return this._createNode(e,n)}static _createNode(e,n){let s=Qe.prototype.getClassName.call(e),i=e.children,r,a,l;if(n)e.attrs.container=n;if(!rt[s])je.warn('Can not find a node with class name "'+s+'". Fallback to "Shape".'),s="Shape";if(r=new rt[s](e.attrs),i){a=i.length;for(l=0;l<a;l++)r.add(Qe._createNode(i[l]))}return r}}Qe._absTransformCascadeDepth=0;Qe._pendingAfterCascade=[];Qe.protoListenerMap=new Map;Qe.prototype.nodeType="Node";Qe.prototype._attrsAffectingSize=[];Qe.prototype.eventListeners={};Qe.prototype.on(sR,function(){if(this._batchingTransformChange){this._needClearTransformCache=!0;return}this._clearCache(ml),this._clearSelfAndDescendantCache(Ao)});Qe.prototype.on("visibleChange.konva",function(){this._clearSelfAndDescendantCache(db)});Qe.prototype.on("listeningChange.konva",function(){this._clearSelfAndDescendantCache(ub)});Qe.prototype.on("opacityChange.konva",function(){this._clearSelfAndDescendantCache(_0)});var ds=he.addGetterSetter;ds(Qe,"zIndex");ds(Qe,"absolutePosition");ds(Qe,"position");ds(Qe,"x",0,Ye());ds(Qe,"y",0,Ye());ds(Qe,"globalCompositeOperation","source-over",Na());ds(Qe,"opacity",1,Ye());ds(Qe,"name","",Na());ds(Qe,"id","",Na());ds(Qe,"rotation",0,Ye());he.addComponentsGetterSetter(Qe,"scale",["x","y"]);ds(Qe,"scaleX",1,Ye());ds(Qe,"scaleY",1,Ye());he.addComponentsGetterSetter(Qe,"skew",["x","y"]);ds(Qe,"skewX",0,Ye());ds(Qe,"skewY",0,Ye());he.addComponentsGetterSetter(Qe,"offset",["x","y"]);ds(Qe,"offsetX",0,Ye());ds(Qe,"offsetY",0,Ye());ds(Qe,"dragDistance",void 0,Ye());ds(Qe,"width",0,Ye());ds(Qe,"height",0,Ye());ds(Qe,"listening",!0,Ei());ds(Qe,"preventDefault",!0,Ei());ds(Qe,"filters",void 0,function(e){return this._filterUpToDate=!1,e});ds(Qe,"visible",!0,Ei());ds(Qe,"transformsEnabled","all",Na());ds(Qe,"size");ds(Qe,"dragBoundFunc");ds(Qe,"draggable",!1,Ei());he.backCompat(Qe,{rotateDeg:"rotate",setRotationDeg:"setRotation",getRotationDeg:"getRotation"});class bi extends Qe{constructor(){super(...arguments);this.children=[]}getChildren(e){let n=this.children||[];if(e)return n.filter(e);return n}hasChildren(){return this.getChildren().length>0}removeChildren(){return this.getChildren().forEach((e)=>{e.parent=null,e.index=0,e.remove()}),this.children=[],this._requestDraw(),this}destroyChildren(){return this.getChildren().forEach((e)=>{e.parent=null,e.index=0,e.destroy()}),this.children=[],this._requestDraw(),this}add(...e){if(e.length===0)return this;if(e.length>1){for(let s=0;s<e.length;s++)this.add(e[s]);return this}let n=e[0];if(n.getParent())return n.moveTo(this),this;return this._validateAdd(n),n.index=this.getChildren().length,n.parent=this,n._clearCaches(),this.getChildren().push(n),this._fire("add",{child:n}),this._requestDraw(),this}destroy(){if(this.hasChildren())this.destroyChildren();return super.destroy(),this}find(e){return this._generalFind(e,!1)}findOne(e){let n=this._generalFind(e,!0);return n.length>0?n[0]:void 0}_generalFind(e,n){let s=[];return this._descendants((i)=>{let r=i._isMatch(e);if(r)s.push(i);if(r&&n)return!0;return!1}),s}_descendants(e){let n=!1,s=this.getChildren();for(let i of s){if(n=e(i),n)return!0;if(!i.hasChildren())continue;if(n=i._descendants(e),n)return!0}return!1}toObject(){let e=Qe.prototype.toObject.call(this);return e.children=[],this.getChildren().forEach((n)=>{e.children.push(n.toObject())}),e}isAncestorOf(e){let n=e.getParent();while(n){if(n._id===this._id)return!0;n=n.getParent()}return!1}clone(e){let n=Qe.prototype.clone.call(this,e);return this.getChildren().forEach(function(s){n.add(s.clone())}),n}getAllIntersections(e){let n=[];return this.find("Shape").forEach((s)=>{if(s.isVisible()&&s.intersects(e))n.push(s)}),n}_clearSelfAndDescendantCache(e){var n;let s=e==="absoluteTransform";if(s)Qe._absTransformCascadeDepth++;try{if(super._clearSelfAndDescendantCache(e),this.isCached())return;(n=this.children)===null||n===void 0||n.forEach(function(i){i._clearSelfAndDescendantCache(e)})}finally{if(s&&--Qe._absTransformCascadeDepth===0){let i=Qe._pendingAfterCascade;if(i.length){Qe._pendingAfterCascade=[];for(let r=0;r<i.length;r++)i[r]()}}}}_setChildrenIndices(){var e;(e=this.children)===null||e===void 0||e.forEach(function(n,s){n.index=s}),this._requestDraw()}drawScene(e,n,s){let i=this.getLayer(),r=e||i&&i.getCanvas(),a=r&&r.getContext(),l=this._getCanvasCache(),c=l&&l.scene,f=r&&r.isCache;if(!this.isVisible()&&!f)return this;if(c){a.save();let d=this.getAbsoluteTransform(n).getMatrix();a.transform(d[0],d[1],d[2],d[3],d[4],d[5]),this._drawCachedSceneCanvas(a),a.restore()}else this._drawChildren("drawScene",r,n,s);return this}drawHit(e,n){if(!this.shouldDrawHit(n))return this;let s=this.getLayer(),i=e||s&&s.hitCanvas,r=i&&i.getContext(),a=this._getCachedHitCanvas(n);if(a){r.save();let l=this.getAbsoluteTransform(n).getMatrix();r.transform(l[0],l[1],l[2],l[3],l[4],l[5]),this._drawCachedHitCanvas(r,a),r.restore()}else this._drawChildren("drawHit",i,n);return this}_drawChildren(e,n,s,i){var r;let a=n&&n.getContext(),l=this.clipWidth(),c=this.clipHeight(),f=this.clipFunc(),d=typeof l==="number"&&typeof c==="number"||f,b=s===this;if(d){a.save();let v=this.getAbsoluteTransform(s),k=v.getMatrix();a.transform(k[0],k[1],k[2],k[3],k[4],k[5]),a.beginPath();let A;if(f)A=f.call(this,a,this);else{let T=this.clipX(),R=this.clipY();a.rect(T||0,R||0,l,c)}a.clip.apply(a,A),k=v.copy().invert().getMatrix(),a.transform(k[0],k[1],k[2],k[3],k[4],k[5])}let y=!b&&this.globalCompositeOperation()!=="source-over"&&e==="drawScene";if(y)a.save(),a._applyGlobalCompositeOperation(this);if((r=this.children)===null||r===void 0||r.forEach(function(v){v[e](n,s,i)}),y)a.restore();if(d)a.restore()}getClientRect(e={}){var n;let{skipTransform:s,relativeTo:i}=e,r,a,l,c,f={x:1/0,y:1/0,width:0,height:0},d=this;(n=this.children)===null||n===void 0||n.forEach(function(v){if(!v.visible())return;let k=v.getClientRect({relativeTo:d,skipShadow:e.skipShadow,skipStroke:e.skipStroke});if(k.width===0&&k.height===0)return;if(r===void 0)r=k.x,a=k.y,l=k.x+k.width,c=k.y+k.height;else r=Math.min(r,k.x),a=Math.min(a,k.y),l=Math.max(l,k.x+k.width),c=Math.max(c,k.y+k.height)});let b=this.find("Shape"),y=!1;for(let v=0;v<b.length;v++)if(b[v]._isVisible(this)){y=!0;break}if(y&&r!==void 0)f={x:r,y:a,width:l-r,height:c-a};else f={x:0,y:0,width:0,height:0};if(!s)return this._transformedRect(f,i);return f}}he.addComponentsGetterSetter(bi,"clip",["x","y","width","height"]);he.addGetterSetter(bi,"clipX",void 0,Ye());he.addGetterSetter(bi,"clipY",void 0,Ye());he.addGetterSetter(bi,"clipWidth",void 0,Ye());he.addGetterSetter(bi,"clipHeight",void 0,Ye());he.addGetterSetter(bi,"clipFunc");var Oh=new Map,s4=rt._global.PointerEvent!==void 0;function R0(e){return Oh.get(e)}function D0(e){return{evt:e,pointerId:e.pointerId}}function q0(e,n){return Oh.get(e)===n}function M0(e,n){var s;ic(e);let i=n.getStage();if(!i)return;if(Oh.set(e,n),s4){try{(s=i.content)===null||s===void 0||s.setPointerCapture(e)}catch(r){}n._fire("gotpointercapture",D0(new PointerEvent("gotpointercapture")))}}function ic(e,n){var s;let i=Oh.get(e);if(!i)return;let r=i.getStage();if(Oh.delete(e),s4){try{(s=r===null||r===void 0?void 0:r.content)===null||s===void 0||s.releasePointerCapture(e)}catch(a){}i._fire("lostpointercapture",D0(new PointerEvent("lostpointercapture")))}}var rR="Stage",aR="string",r4="px",oR="mouseout",c4="mouseleave",f4="mouseover",h4="mouseenter",u4="mousemove",d4="mousedown",m4="mouseup",Ph="pointermove",Nh="pointerdown",uf="pointerup",Bh="pointercancel",lR="lostpointercapture",F0="pointerout",Hh="pointerleave",L0="pointerover",O0="pointerenter",pb="contextmenu",p4="touchstart",g4="touchend",b4="touchmove",w4="touchcancel",gb="wheel",cR=5,fR=[[h4,"_pointerenter"],[d4,"_pointerdown"],[u4,"_pointermove"],[m4,"_pointerup"],[c4,"_pointerleave"],[p4,"_pointerdown"],[b4,"_pointermove"],[g4,"_pointerup"],[w4,"_pointercancel"],[f4,"_pointerover"],[gb,"_wheel"],[pb,"_contextmenu"],[Nh,"_pointerdown"],[Ph,"_pointermove"],[uf,"_pointerup"],[Bh,"_pointercancel"],[Hh,"_pointerleave"],[lR,"_lostpointercapture"]],mb={mouse:{[F0]:oR,[Hh]:c4,[L0]:f4,[O0]:h4,[Ph]:u4,[Nh]:d4,[uf]:m4,[Bh]:"mousecancel",pointerclick:"click",pointerdblclick:"dblclick"},touch:{[F0]:"touchout",[Hh]:"touchleave",[L0]:"touchover",[O0]:"touchenter",[Ph]:b4,[Nh]:p4,[uf]:g4,[Bh]:w4,pointerclick:"tap",pointerdblclick:"dbltap"},pointer:{[F0]:F0,[Hh]:Hh,[L0]:L0,[O0]:O0,[Ph]:Ph,[Nh]:Nh,[uf]:uf,[Bh]:Bh,pointerclick:"pointerclick",pointerdblclick:"pointerdblclick"}},Uh=(e)=>{if(e.indexOf("pointer")>=0)return"pointer";if(e.indexOf("touch")>=0)return"touch";return"mouse"},hf=(e)=>{let n=Uh(e);if(n==="pointer")return rt.pointerEventsEnabled&&mb.pointer;if(n==="touch")return mb.touch;if(n==="mouse")return mb.mouse};function a4(e={}){if(e.clipFunc||e.clipWidth||e.clipHeight)je.warn("Stage does not support clipping. Please use clip for Layers or Groups.");return e}var hR="Pointer position is missing and not registered by the stage. Looks like it is outside of the stage container. You can set it manually from event: stage.setPointersPositions(event);",df=[],o4=new WeakSet,l4=(e)=>{if(!e||o4.has(e))return;o4.add(e),jn._listenToWindow(e),e.document.addEventListener("visibilitychange",()=>{df.forEach((n)=>{n.batchDraw()})})};class mf extends bi{constructor(e){super(a4(e));this._pointerPositions=[],this._changedPointerPositions=[],this._buildDOM(),this._bindContentEvents(),df.push(this),this.on("widthChange.konva heightChange.konva",this._resizeDOM),this.on("visibleChange.konva",this._checkVisibility),this.on("clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva",()=>{a4(this.attrs)}),this._checkVisibility()}_validateAdd(e){let n=e.getType()==="Layer",s=e.getType()==="FastLayer";if(!(n||s))je.throw("You may only add layers to the stage.")}_checkVisibility(){if(!this.content)return;let e=this.visible()?"":"none";this.content.style.display=e}_getOwnerWindow(){var e;let n=this.content||this.container();return((e=n===null||n===void 0?void 0:n.ownerDocument)===null||e===void 0?void 0:e.defaultView)||(rt.isBrowser?window:null)}setContainer(e){if(typeof e===aR){let n;if(e.charAt(0)==="."){let s=e.slice(1);e=document.getElementsByClassName(s)[0]}else{if(e.charAt(0)!=="#")n=e;else n=e.slice(1);e=document.getElementById(n)}if(!e)throw"Can not find container in document with id "+n}if(this._setAttr("container",e),this.content){if(this.content.parentElement)this.content.parentElement.removeChild(this.content);e.appendChild(this.content),l4(this._getOwnerWindow())}return this}shouldDrawHit(){return!0}clear(){let e=this.children,n=e.length;for(let s=0;s<n;s++)e[s].clear();return this}clone(e){if(!e)e={};return e.container=typeof document<"u"&&document.createElement("div"),bi.prototype.clone.call(this,e)}destroy(){super.destroy();let e=this.content;if(e&&je._isInDocument(e))this.container().removeChild(e);let n=df.indexOf(this);if(n>-1)df.splice(n,1);return je.releaseCanvas(this.bufferCanvas._canvas,this.bufferHitCanvas._canvas),this}getPointerPosition(){let e=this._pointerPositions[0]||this._changedPointerPositions[0];if(!e)return je.warn(hR),null;return{x:e.x,y:e.y}}_getPointerById(e){return this._pointerPositions.find((n)=>n.id===e)}getPointersPositions(){return this._pointerPositions}getStage(){return this}getContent(){return this.content}_toKonvaCanvas(e){e={...e},e.x=e.x||0,e.y=e.y||0,e.width=e.width||this.width(),e.height=e.height||this.height();let n=new Mr({width:e.width,height:e.height,pixelRatio:e.pixelRatio||1}),s=n.getContext()._context,i=this.children;if(e.x||e.y)s.translate(-1*e.x,-1*e.y);return i.forEach(function(r){if(!r.isVisible())return;let a=r._toKonvaCanvas(e);s.drawImage(a._canvas,e.x,e.y,a.getWidth()/a.getPixelRatio(),a.getHeight()/a.getPixelRatio())}),n}getIntersection(e){if(!e)return null;let n=this.children,s=n.length,i=s-1;for(let r=i;r>=0;r--){let a=n[r].getIntersection(e);if(a)return a}return null}_resizeDOM(){let e=this.width(),n=this.height();if(this.content)this.content.style.width=e+r4,this.content.style.height=n+r4;this.children.forEach((s)=>{s.setSize({width:e,height:n}),s.draw()})}_syncBufferSize(e){return e.setSizeIfChanged(this.width(),this.height()),e}add(e,...n){if(arguments.length>1){for(let i=0;i<arguments.length;i++)this.add(arguments[i]);return this}super.add(e);let s=this.children.length;if(s>cR)je.warn("The stage has "+s+" layers. Recommended maximum number of layers is 3-5. Adding more layers into the stage may drop the performance. Rethink your tree structure, you can use Konva.Group.");if(e.setSize({width:this.width(),height:this.height()}),e.draw(),rt.isBrowser)this.content.appendChild(e.canvas._canvas);return this}getParent(){return null}getLayer(){return null}hasPointerCapture(e){return q0(e,this)}setPointerCapture(e){M0(e,this)}releaseCapture(e){ic(e,this)}getLayers(){return this.children}_bindContentEvents(){if(!rt.isBrowser)return;fR.forEach(([e,n])=>{this.content.addEventListener(e,(s)=>{this[n](s)},{passive:!1})})}_pointerenter(e){this.setPointersPositions(e);let n=hf(e.type);if(n)this._fire(n.pointerenter,{evt:e,target:this,currentTarget:this})}_pointerover(e){this.setPointersPositions(e);let n=hf(e.type);if(n)this._fire(n.pointerover,{evt:e,target:this,currentTarget:this})}_getTargetShape(e){let n=this[e+"targetShape"];if(n&&!n.getStage())n=null;return n}_pointerleave(e){let n=hf(e.type),s=Uh(e.type);if(!n)return;this.setPointersPositions(e);let i=this._getTargetShape(s),r=!(rt.isDragging()||rt.isTransforming())||rt.hitOnDragEnabled;if(i&&r)i._fireAndBubble(n.pointerout,{evt:e}),i._fireAndBubble(n.pointerleave,{evt:e}),this._fire(n.pointerleave,{evt:e,target:this,currentTarget:this}),this[s+"targetShape"]=null;else if(r)this._fire(n.pointerleave,{evt:e,target:this,currentTarget:this}),this._fire(n.pointerout,{evt:e,target:this,currentTarget:this});this.pointerPos=null,this._pointerPositions=[]}_pointerdown(e){let n=hf(e.type),s=Uh(e.type);if(!n)return;this.setPointersPositions(e);let i=!1;if(this._changedPointerPositions.forEach((r)=>{let a=this.getIntersection(r);if(jn.justDragged=!1,rt["_"+s+"ListenClick"]=!0,!a||!a.isListening()){this[s+"ClickStartShape"]=void 0;return}if(rt.capturePointerEventsEnabled)a.setPointerCapture(r.id);this[s+"ClickStartShape"]=a,a._fireAndBubble(n.pointerdown,{evt:e,pointerId:r.id}),i=!0;let l=e.type.indexOf("touch")>=0;if(a.preventDefault()&&e.cancelable&&l)e.preventDefault()}),!i)this._fire(n.pointerdown,{evt:e,target:this,currentTarget:this,pointerId:this._pointerPositions[0].id})}_pointermove(e){let n=hf(e.type),s=Uh(e.type);if(!n)return;let i=e.type.indexOf("touch")>=0||e.pointerType==="touch";if(rt.isDragging()&&jn.node.preventDefault()&&e.cancelable&&i)e.preventDefault();if(this.setPointersPositions(e),!(!(rt.isDragging()||rt.isTransforming())||rt.hitOnDragEnabled))return;let a={},l=!1,c=this._getTargetShape(s);if(this._changedPointerPositions.forEach((f)=>{let d=R0(f.id)||this.getIntersection(f),b=f.id,y={evt:e,pointerId:b},v=c!==d;if(v&&c)c._fireAndBubble(n.pointerout,{...y},d),c._fireAndBubble(n.pointerleave,{...y},d);if(d){if(a[d._id])return;a[d._id]=!0}if(d&&d.isListening()){if(l=!0,v)d._fireAndBubble(n.pointerover,{...y},c),d._fireAndBubble(n.pointerenter,{...y},c),this[s+"targetShape"]=d;d._fireAndBubble(n.pointermove,{...y})}else if(c)this._fire(n.pointerover,{evt:e,target:this,currentTarget:this,pointerId:b}),this[s+"targetShape"]=null}),!l)this._fire(n.pointermove,{evt:e,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id})}_pointerup(e){let n=hf(e.type),s=Uh(e.type);if(!n)return;this.setPointersPositions(e);let i=jn.justDragged||s==="pointer"&&rt.isDragging(),r=rt["_"+s+"ListenClick"]&&!i,a=this[s+"ClickStartShape"],l=this[s+"ClickEndShape"],c={},f=!1;if(this._changedPointerPositions.forEach((d)=>{let b=R0(d.id)||this.getIntersection(d);if(b){if(b.releaseCapture(d.id),c[b._id])return;c[b._id]=!0}let y=d.id,v={evt:e,pointerId:y},k=!1;if(rt["_"+s+"InDblClickWindow"])k=!0,clearTimeout(this[s+"DblTimeout"]);else if(!i)rt["_"+s+"InDblClickWindow"]=!0,clearTimeout(this[s+"DblTimeout"]);if(this[s+"DblTimeout"]=setTimeout(function(){rt["_"+s+"InDblClickWindow"]=!1},rt.dblClickWindow),b&&b.isListening()){if(f=!0,this[s+"ClickEndShape"]=b,b._fireAndBubble(n.pointerup,{...v}),r&&a===b){if(b._fireAndBubble(n.pointerclick,{...v}),k&&l&&l===b)b._fireAndBubble(n.pointerdblclick,{...v})}}else{if(this[s+"ClickEndShape"]=null,!f)this._fire(n.pointerup,{evt:e,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id}),f=!0;if(r)this._fire(n.pointerclick,{evt:e,target:this,currentTarget:this,pointerId:y});if(k)this._fire(n.pointerdblclick,{evt:e,target:this,currentTarget:this,pointerId:y})}}),!f)this._fire(n.pointerup,{evt:e,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id});if(rt["_"+s+"ListenClick"]=!1,e.cancelable&&s!=="touch"&&s!=="pointer")e.preventDefault()}_contextmenu(e){this.setPointersPositions(e);let n=this.getIntersection(this.getPointerPosition());if(n&&n.isListening())n._fireAndBubble(pb,{evt:e});else this._fire(pb,{evt:e,target:this,currentTarget:this})}_wheel(e){this.setPointersPositions(e);let n=this.getIntersection(this.getPointerPosition());if(n&&n.isListening())n._fireAndBubble(gb,{evt:e});else this._fire(gb,{evt:e,target:this,currentTarget:this})}_pointercancel(e){this.setPointersPositions(e);let n=R0(e.pointerId)||this.getIntersection(this.getPointerPosition());if(n)n._fireAndBubble(uf,D0(e));ic(e.pointerId)}_lostpointercapture(e){ic(e.pointerId)}setPointersPositions(e){let n=this._getContentPosition(),s=null,i=null;if(e=e?e:window.event,e.touches!==void 0)this._pointerPositions=[],this._changedPointerPositions=[],Array.prototype.forEach.call(e.touches,(r)=>{this._pointerPositions.push({id:r.identifier,x:(r.clientX-n.left)/n.scaleX,y:(r.clientY-n.top)/n.scaleY})}),Array.prototype.forEach.call(e.changedTouches||e.touches,(r)=>{this._changedPointerPositions.push({id:r.identifier,x:(r.clientX-n.left)/n.scaleX,y:(r.clientY-n.top)/n.scaleY})});else s=(e.clientX-n.left)/n.scaleX,i=(e.clientY-n.top)/n.scaleY,this.pointerPos={x:s,y:i},this._pointerPositions=[{x:s,y:i,id:je._getFirstPointerId(e)}],this._changedPointerPositions=[{x:s,y:i,id:je._getFirstPointerId(e)}]}_setPointerPosition(e){je.warn('Method _setPointerPosition is deprecated. Use "stage.setPointersPositions(event)" instead.'),this.setPointersPositions(e)}_getContentPosition(){if(!this.content||!this.content.getBoundingClientRect)return{top:0,left:0,scaleX:1,scaleY:1};let e=this.content.getBoundingClientRect();return{top:e.top,left:e.left,scaleX:e.width/this.content.clientWidth||1,scaleY:e.height/this.content.clientHeight||1}}_buildDOM(){if(this.bufferCanvas=new Mr({width:0,height:0}),this.bufferHitCanvas=new nc({pixelRatio:1,width:0,height:0}),!rt.isBrowser)return;let e=this.container();if(!e)throw"Stage has no container. A container is required.";e.innerHTML="",this.content=e.ownerDocument.createElement("div"),this.content.style.position="relative",this.content.style.userSelect="none",this.content.className="konvajs-content",this.content.setAttribute("role","presentation"),e.appendChild(this.content),l4(this._getOwnerWindow()),this._resizeDOM()}cache(){return je.warn("Cache function is not allowed for stage. You may use cache only for layers, groups and shapes."),this}clearCache(){return this}batchDraw(){return this.getChildren().forEach(function(e){e.batchDraw()}),this}}mf.prototype.nodeType=rR;sn(mf);he.addGetterSetter(mf,"container");var y4="hasShadow",v4="shadowRGBA",S4="patternImage",k4="linearGradient",x4="radialGradient",P0;function bb(){if(P0)return P0;return P0=je.createCanvasElement().getContext("2d"),P0}var rc={};function uR(e){let n=this.attrs.fillRule;if(n)e.fill(n);else e.fill()}function dR(e){e.stroke()}function mR(e){let n=this.attrs.fillRule;if(n)e.fill(n);else e.fill()}function pR(e){e.stroke()}function gR(){this._clearCache(y4)}function bR(){this._clearCache(v4)}function wR(){this._clearCache(S4)}function yR(){this._clearCache(k4)}function vR(){this._clearCache(x4)}class Ze extends Qe{constructor(e){super(e);let n,s=0;while(!0){if(n=je.getHitColor(),n&&!(n in rc))break;if(s++,s>=1e4){je.warn("Failed to find a unique color key for a shape. Konva may work incorrectly. Most likely your browser is using canvas farbling. Consider disabling it."),n=je.getRandomColor();break}}this.colorKey=n,rc[n]=this}getContext(){return je.warn("shape.getContext() method is deprecated. Please do not use it."),this.getLayer().getContext()}getCanvas(){return je.warn("shape.getCanvas() method is deprecated. Please do not use it."),this.getLayer().getCanvas()}getSceneFunc(){return this.attrs.sceneFunc||this._sceneFunc}getHitFunc(){return this.attrs.hitFunc||this._hitFunc}hasShadow(){return this._getCache(y4,this._hasShadow)}_hasShadow(){return this.shadowEnabled()&&this.shadowOpacity()!==0&&!!(this.shadowColor()||this.shadowBlur()||this.shadowOffsetX()||this.shadowOffsetY())}_getFillPattern(){return this._getCache(S4,this.__getFillPattern)}__getFillPattern(){if(this.fillPatternImage()){let n=bb().createPattern(this.fillPatternImage(),this.fillPatternRepeat()||"repeat");if(n&&n.setTransform){let s=new Ti;s.translate(this.fillPatternX(),this.fillPatternY()),s.rotate(rt.getAngle(this.fillPatternRotation())),s.scale(this.fillPatternScaleX(),this.fillPatternScaleY()),s.translate(-1*this.fillPatternOffsetX(),-1*this.fillPatternOffsetY());let i=s.getMatrix(),r=typeof DOMMatrix>"u"?{a:i[0],b:i[1],c:i[2],d:i[3],e:i[4],f:i[5]}:new DOMMatrix(i);n.setTransform(r)}return n}}_getLinearGradient(){return this._getCache(k4,this.__getLinearGradient)}__getLinearGradient(){let e=this.fillLinearGradientColorStops();if(e){let n=bb(),s=this.fillLinearGradientStartPoint(),i=this.fillLinearGradientEndPoint(),r=n.createLinearGradient(s.x,s.y,i.x,i.y);for(let a=0;a<e.length;a+=2)r.addColorStop(e[a],e[a+1]);return r}}_getRadialGradient(){return this._getCache(x4,this.__getRadialGradient)}__getRadialGradient(){let e=this.fillRadialGradientColorStops();if(e){let n=bb(),s=this.fillRadialGradientStartPoint(),i=this.fillRadialGradientEndPoint(),r=n.createRadialGradient(s.x,s.y,this.fillRadialGradientStartRadius(),i.x,i.y,this.fillRadialGradientEndRadius());for(let a=0;a<e.length;a+=2)r.addColorStop(e[a],e[a+1]);return r}}getShadowRGBA(){return this._getCache(v4,this._getShadowRGBA)}_getShadowRGBA(){if(!this.hasShadow())return;let e=je.colorToRGBA(this.shadowColor());if(e)return"rgba("+e.r+","+e.g+","+e.b+","+e.a*(this.shadowOpacity()||1)+")"}hasFill(){return this._calculate("hasFill",["fillEnabled","fill","fillPatternImage","fillLinearGradientColorStops","fillRadialGradientColorStops"],()=>this.fillEnabled()&&!!(this.fill()||this.fillPatternImage()||this.fillLinearGradientColorStops()||this.fillRadialGradientColorStops()))}hasStroke(){return this._calculate("hasStroke",["strokeEnabled","strokeWidth","stroke","strokeLinearGradientColorStops"],()=>this.strokeEnabled()&&this.strokeWidth()&&!!(this.stroke()||this.strokeLinearGradientColorStops()))}hasHitStroke(){let e=this.hitStrokeWidth();if(e==="auto")return this.hasStroke();return this.strokeEnabled()&&!!e}intersects(e){let n=this.getStage();if(!n)return!1;let s=n._syncBufferSize(n.bufferHitCanvas);return s.getContext().clear(),this.drawHit(s,void 0,!0),s.context.getImageData(Math.round(e.x),Math.round(e.y),1,1).data[3]>0}destroy(){return Qe.prototype.destroy.call(this),delete rc[this.colorKey],delete this.colorKey,this}_useBufferCanvas(e){var n;if(!((n=this.attrs.perfectDrawEnabled)!==null&&n!==void 0?n:!0))return!1;let i=e||this.hasFill(),r=this.hasStroke(),a=this.getAbsoluteOpacity()!==1;if(i&&r&&a)return!0;let l=this.hasShadow(),c=this.shadowForStrokeEnabled();if(i&&r&&l&&c)return!0;return!1}setStrokeHitEnabled(e){if(je.warn("strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead."),e)this.hitStrokeWidth("auto");else this.hitStrokeWidth(0)}getStrokeHitEnabled(){if(this.hitStrokeWidth()===0)return!1;else return!0}getSelfRect(){let e=this.size();return{x:this._centroid?-e.width/2:0,y:this._centroid?-e.height/2:0,width:e.width,height:e.height}}getClientRect(e={}){let n=!1,s=this.getParent();while(s){if(s.isCached()){n=!0;break}s=s.getParent()}let i=e.skipTransform,r=e.relativeTo||n&&this.getStage()||void 0,a=this.getSelfRect(),c=!e.skipStroke&&this.hasStroke()&&this.strokeWidth()||0,f=a.width+c,d=a.height+c,b=!e.skipShadow&&this.hasShadow(),y=b?this.shadowOffsetX():0,v=b?this.shadowOffsetY():0,k=f+Math.abs(y),A=d+Math.abs(v),T=b&&this.shadowBlur()||0,R=k+T*2,D=A+T*2,U={width:R,height:D,x:-(c/2+T)+Math.min(y,0)+a.x,y:-(c/2+T)+Math.min(v,0)+a.y};if(!i)return this._transformedRect(U,r);return U}drawScene(e,n,s){let i=this.getLayer(),r=e||i.getCanvas(),a=r.getContext(),l=this._getCanvasCache(),c=this.getSceneFunc(),f=this.hasShadow(),d,b=!1,y=n===this;if(!this.isVisible()&&!y)return this;if(l){a.save();let v=this.getAbsoluteTransform(n).getMatrix();return a.transform(v[0],v[1],v[2],v[3],v[4],v[5]),this._drawCachedSceneCanvas(a),a.restore(),this}if(!c)return this;if(a.save(),this._useBufferCanvas()){d=this.getStage();let v=s||d._syncBufferSize(d.bufferCanvas),k=v.getContext();if(s)k.save(),k.setTransform(1,0,0,1,0,0),k.clearRect(0,0,v.width,v.height),k.restore();else k.clear();k.save(),k.imageSmoothingEnabled=a.imageSmoothingEnabled,k._applyLineJoin(this),k._applyMiterLimit(this);let A=this.getAbsoluteTransform(n).getMatrix();k.transform(A[0],A[1],A[2],A[3],A[4],A[5]),c.call(this,k,this),k.restore();let T=v.pixelRatio;if(f)a._applyShadow(this);if(!y)a._applyOpacity(this),a._applyGlobalCompositeOperation(this);a.drawImage(v._canvas,v.x||0,v.y||0,v.width/T,v.height/T)}else{if(a._applyLineJoin(this),a._applyMiterLimit(this),!y){let v=this.getAbsoluteTransform(n).getMatrix();a.transform(v[0],v[1],v[2],v[3],v[4],v[5]),a._applyOpacity(this),a._applyGlobalCompositeOperation(this)}if(f)a._applyShadow(this);c.call(this,a,this)}return a.restore(),this}drawHit(e,n,s=!1){if(!this.shouldDrawHit(n,s))return this;let i=this.getLayer(),r=e||i.hitCanvas,a=r&&r.getContext(),l=this.hitFunc()||this.sceneFunc(),c=this._getCachedHitCanvas(n);if(!this.colorKey)je.warn("Looks like your canvas has a destroyed shape in it. Do not reuse shape after you destroyed it. If you want to reuse shape you should call remove() instead of destroy()");if(c){a.save();let d=this.getAbsoluteTransform(n).getMatrix();return a.transform(d[0],d[1],d[2],d[3],d[4],d[5]),this._drawCachedHitCanvas(a,c),a.restore(),this}if(!l)return this;if(a.save(),a._applyLineJoin(this),a._applyMiterLimit(this),this!==n){let d=this.getAbsoluteTransform(n).getMatrix();a.transform(d[0],d[1],d[2],d[3],d[4],d[5])}return l.call(this,a,this),a.restore(),this}drawHitFromCache(e=0){let n=this._getCachedSceneCanvas(),s=this._getCachedHitCanvas(),i=s.getContext(),r=s.getWidth(),a=s.getHeight();i.clear(),i.drawImage(n._canvas,0,0,r,a);try{let l=i.getImageData(0,0,r,a),c=l.data,f=c.length,d=je._hexToRgb(this.colorKey);for(let b=0;b<f;b+=4)if(c[b+3]>e)c[b]=d.r,c[b+1]=d.g,c[b+2]=d.b,c[b+3]=255;else c[b+3]=0;i.putImageData(l,0,0)}catch(l){je.error("Unable to draw hit graph from cached scene canvas. "+l.message)}return this}hasPointerCapture(e){return q0(e,this)}setPointerCapture(e){M0(e,this)}releaseCapture(e){ic(e,this)}}Ze.prototype._fillFunc=uR;Ze.prototype._strokeFunc=dR;Ze.prototype._fillFuncHit=mR;Ze.prototype._strokeFuncHit=pR;Ze.prototype._centroid=!1;Ze.prototype.nodeType="Shape";sn(Ze);Ze.prototype.eventListeners={};Ze.prototype.on("shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",gR);Ze.prototype.on("shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",bR);Ze.prototype.on("fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva",wR);Ze.prototype.on("fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva",yR);Ze.prototype.on("fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva",vR);he.addGetterSetter(Ze,"stroke",void 0,hb());he.addGetterSetter(Ze,"strokeWidth",2,Ye());he.addGetterSetter(Ze,"fillAfterStrokeEnabled",!1);he.addGetterSetter(Ze,"hitStrokeWidth","auto",Mh());he.addGetterSetter(Ze,"strokeHitEnabled",!0,Ei());he.addGetterSetter(Ze,"perfectDrawEnabled",!0,Ei());he.addGetterSetter(Ze,"shadowForStrokeEnabled",!0,Ei());he.addGetterSetter(Ze,"lineJoin");he.addGetterSetter(Ze,"lineCap");he.addGetterSetter(Ze,"miterLimit");he.addGetterSetter(Ze,"sceneFunc");he.addGetterSetter(Ze,"hitFunc");he.addGetterSetter(Ze,"dash");he.addGetterSetter(Ze,"dashOffset",0,Ye());he.addGetterSetter(Ze,"shadowColor",void 0,Na());he.addGetterSetter(Ze,"shadowBlur",0,Ye());he.addGetterSetter(Ze,"shadowOpacity",1,Ye());he.addComponentsGetterSetter(Ze,"shadowOffset",["x","y"]);he.addGetterSetter(Ze,"shadowOffsetX",0,Ye());he.addGetterSetter(Ze,"shadowOffsetY",0,Ye());he.addGetterSetter(Ze,"fillPatternImage");he.addGetterSetter(Ze,"fill",void 0,hb());he.addGetterSetter(Ze,"fillPatternX",0,Ye());he.addGetterSetter(Ze,"fillPatternY",0,Ye());he.addGetterSetter(Ze,"fillLinearGradientColorStops");he.addGetterSetter(Ze,"strokeLinearGradientColorStops");he.addGetterSetter(Ze,"fillRadialGradientStartRadius",0);he.addGetterSetter(Ze,"fillRadialGradientEndRadius",0);he.addGetterSetter(Ze,"fillRadialGradientColorStops");he.addGetterSetter(Ze,"fillPatternRepeat","repeat");he.addGetterSetter(Ze,"fillEnabled",!0);he.addGetterSetter(Ze,"strokeEnabled",!0);he.addGetterSetter(Ze,"shadowEnabled",!0);he.addGetterSetter(Ze,"dashEnabled",!0);he.addGetterSetter(Ze,"strokeScaleEnabled",!0);he.addGetterSetter(Ze,"fillPriority","color");he.addComponentsGetterSetter(Ze,"fillPatternOffset",["x","y"]);he.addGetterSetter(Ze,"fillPatternOffsetX",0,Ye());he.addGetterSetter(Ze,"fillPatternOffsetY",0,Ye());he.addComponentsGetterSetter(Ze,"fillPatternScale",["x","y"]);he.addGetterSetter(Ze,"fillPatternScaleX",1,Ye());he.addGetterSetter(Ze,"fillPatternScaleY",1,Ye());he.addComponentsGetterSetter(Ze,"fillLinearGradientStartPoint",["x","y"]);he.addComponentsGetterSetter(Ze,"strokeLinearGradientStartPoint",["x","y"]);he.addGetterSetter(Ze,"fillLinearGradientStartPointX",0);he.addGetterSetter(Ze,"strokeLinearGradientStartPointX",0);he.addGetterSetter(Ze,"fillLinearGradientStartPointY",0);he.addGetterSetter(Ze,"strokeLinearGradientStartPointY",0);he.addComponentsGetterSetter(Ze,"fillLinearGradientEndPoint",["x","y"]);he.addComponentsGetterSetter(Ze,"strokeLinearGradientEndPoint",["x","y"]);he.addGetterSetter(Ze,"fillLinearGradientEndPointX",0);he.addGetterSetter(Ze,"strokeLinearGradientEndPointX",0);he.addGetterSetter(Ze,"fillLinearGradientEndPointY",0);he.addGetterSetter(Ze,"strokeLinearGradientEndPointY",0);he.addComponentsGetterSetter(Ze,"fillRadialGradientStartPoint",["x","y"]);he.addGetterSetter(Ze,"fillRadialGradientStartPointX",0);he.addGetterSetter(Ze,"fillRadialGradientStartPointY",0);he.addComponentsGetterSetter(Ze,"fillRadialGradientEndPoint",["x","y"]);he.addGetterSetter(Ze,"fillRadialGradientEndPointX",0);he.addGetterSetter(Ze,"fillRadialGradientEndPointY",0);he.addGetterSetter(Ze,"fillPatternRotation",0);he.addGetterSetter(Ze,"fillRule",void 0,Na());he.backCompat(Ze,{dashArray:"dash",getDashArray:"getDash",setDashArray:"getDash",drawFunc:"sceneFunc",getDrawFunc:"getSceneFunc",setDrawFunc:"setSceneFunc",drawHitFunc:"hitFunc",getDrawHitFunc:"getHitFunc",setDrawHitFunc:"setHitFunc"});var SR="beforeDraw",kR="draw",A4=[{x:0,y:0},{x:-1,y:-1},{x:1,y:-1},{x:1,y:1},{x:-1,y:1}],xR=A4.length;class Ba extends bi{constructor(e){super(e);this.canvas=new Mr,this.hitCanvas=new nc({pixelRatio:1}),this._waitingForDraw=!1,this.on("visibleChange.konva",this._checkVisibility),this._checkVisibility(),this.on("imageSmoothingEnabledChange.konva",this._setSmoothEnabled),this._setSmoothEnabled()}createPNGStream(){return this.canvas._canvas.createPNGStream()}getCanvas(){return this.canvas}getNativeCanvasElement(){return this.canvas._canvas}getHitCanvas(){return this.hitCanvas}getContext(){return this.getCanvas().getContext()}clear(e){return this.getContext().clear(e),this.getHitCanvas().getContext().clear(e),this}setZIndex(e){super.setZIndex(e);let n=this.getStage();if(n&&n.content)if(n.content.removeChild(this.getNativeCanvasElement()),e<n.children.length-1)n.content.insertBefore(this.getNativeCanvasElement(),n.children[e+1].getCanvas()._canvas);else n.content.appendChild(this.getNativeCanvasElement());return this}moveToTop(){Qe.prototype.moveToTop.call(this);let e=this.getStage();if(e&&e.content)e.content.removeChild(this.getNativeCanvasElement()),e.content.appendChild(this.getNativeCanvasElement());return!0}moveUp(){if(!Qe.prototype.moveUp.call(this))return!1;let n=this.getStage();if(!n||!n.content)return!1;if(n.content.removeChild(this.getNativeCanvasElement()),this.index<n.children.length-1)n.content.insertBefore(this.getNativeCanvasElement(),n.children[this.index+1].getCanvas()._canvas);else n.content.appendChild(this.getNativeCanvasElement());return!0}moveDown(){if(Qe.prototype.moveDown.call(this)){let e=this.getStage();if(e){let n=e.children;if(e.content)e.content.removeChild(this.getNativeCanvasElement()),e.content.insertBefore(this.getNativeCanvasElement(),n[this.index+1].getCanvas()._canvas)}return!0}return!1}moveToBottom(){if(Qe.prototype.moveToBottom.call(this)){let e=this.getStage();if(e){let n=e.children;if(e.content)e.content.removeChild(this.getNativeCanvasElement()),e.content.insertBefore(this.getNativeCanvasElement(),n[1].getCanvas()._canvas)}return!0}return!1}getLayer(){return this}remove(){let e=this.getNativeCanvasElement();if(Qe.prototype.remove.call(this),e&&e.parentNode&&je._isInDocument(e))e.parentNode.removeChild(e);return this}getStage(){return this.parent}setSize({width:e,height:n}){return this.canvas.setSize(e,n),this._syncHitCanvasSize(),this._setSmoothEnabled(),this}_syncHitCanvasSize(){let e=this.isListening();this.hitCanvas.setSizeIfChanged((e?this.getWidth():0)||0,(e?this.getHeight():0)||0)}_validateAdd(e){let n=e.getType();if(n!=="Group"&&n!=="Shape")je.throw("You may only add groups and shapes to a layer.")}_toKonvaCanvas(e){return e={...e},e.width=e.width||this.getWidth(),e.height=e.height||this.getHeight(),e.x=e.x!==void 0?e.x:this.x(),e.y=e.y!==void 0?e.y:this.y(),Qe.prototype._toKonvaCanvas.call(this,e)}_checkVisibility(){if(this.visible())this.canvas._canvas.style.display="block";else this.canvas._canvas.style.display="none"}_setSmoothEnabled(){this.getContext()._context.imageSmoothingEnabled=this.imageSmoothingEnabled()}getWidth(){if(this.parent)return this.parent.width()}setWidth(){je.warn('Can not change width of layer. Use "stage.width(value)" function instead.')}getHeight(){if(this.parent)return this.parent.height()}setHeight(){je.warn('Can not change height of layer. Use "stage.height(value)" function instead.')}batchDraw(){var e;if(!this._waitingForDraw)this._waitingForDraw=!0,je.requestAnimFrame(()=>{this.draw(),this._waitingForDraw=!1},(e=this.getStage())===null||e===void 0?void 0:e._getOwnerWindow());return this}getIntersection(e){if(!this.isListening()||!this.isVisible())return null;let n=1,s=!1;while(!0){for(let i=0;i<xR;i++){let r=A4[i],a=this._getIntersection({x:e.x+r.x*n,y:e.y+r.y*n}),l=a.shape;if(l)return l;if(s=!!a.antialiased,!a.antialiased)break}if(s)n+=1;else return null}}_getIntersection(e){if(!this.hitCanvas.width||!this.hitCanvas.height)return{};let n=this.hitCanvas.pixelRatio,s=this.hitCanvas.context.getImageData(Math.round(e.x*n),Math.round(e.y*n),1,1).data,i=s[3];if(i===255){let r=je.getHitColorKey(s[0],s[1],s[2]),a=rc[r];if(a)return{shape:a};return{antialiased:!0}}else if(i>0)return{antialiased:!0};return{}}drawScene(e,n,s){let i=this.getLayer(),r=e||i&&i.getCanvas();if(this._fire(SR,{node:this}),this.clearBeforeDraw())r.getContext().clear();return bi.prototype.drawScene.call(this,r,n,s),this._fire(kR,{node:this}),this}drawHit(e,n){let s=this.getLayer(),i=e||s&&s.hitCanvas;if(!e&&s){if(s._syncHitCanvasSize(),s.clearBeforeDraw())s.getHitCanvas().getContext().clear()}return bi.prototype.drawHit.call(this,i,n),this}enableHitGraph(){return this.hitGraphEnabled(!0),this}disableHitGraph(){return this.hitGraphEnabled(!1),this}setHitGraphEnabled(e){je.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening(e)}getHitGraphEnabled(e){return je.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening()}toggleHitCanvas(){if(!this.parent||!this.parent.content)return;let e=this.parent;if(!!this.hitCanvas._canvas.parentNode)e.content.removeChild(this.hitCanvas._canvas);else e.content.appendChild(this.hitCanvas._canvas)}destroy(){return je.releaseCanvas(this.getNativeCanvasElement(),this.getHitCanvas()._canvas),super.destroy()}}Ba.prototype.nodeType="Layer";sn(Ba);he.addGetterSetter(Ba,"imageSmoothingEnabled",!0);he.addGetterSetter(Ba,"clearBeforeDraw",!0);he.addGetterSetter(Ba,"hitGraphEnabled",!0,Ei());class zh extends Ba{constructor(e){super(e);this.listening(!1),je.warn('Konva.Fast layer is deprecated. Please use "new Konva.Layer({ listening: false })" instead.')}}zh.prototype.nodeType="FastLayer";sn(zh);class Ha extends bi{_validateAdd(e){let n=e.getType();if(n!=="Group"&&n!=="Shape")je.throw("You may only add groups and shapes to groups.")}}Ha.prototype.nodeType="Group";sn(Ha);var wb=function(){if(hl.performance&&hl.performance.now)return function(){return hl.performance.now()};return function(){return new Date().getTime()}}();class zi{constructor(e,n){this.id=zi.animIdCounter++,this.frame={time:0,timeDiff:0,lastTime:wb(),frameRate:0},this.func=e,this.setLayers(n)}setLayers(e){let n=[];if(e)n=Array.isArray(e)?e:[e];return this.layers=n,this}getLayers(){return this.layers}addLayer(e){let n=this.layers,s=n.length;for(let i=0;i<s;i++)if(n[i]._id===e._id)return!1;return this.layers.push(e),!0}isRunning(){let n=zi.animations,s=n.length;for(let i=0;i<s;i++)if(n[i].id===this.id)return!0;return!1}start(){return this.stop(),this.frame.timeDiff=0,this.frame.lastTime=wb(),zi._addAnimation(this),this}stop(){return zi._removeAnimation(this),this}_updateFrameObject(e){this.frame.timeDiff=e-this.frame.lastTime,this.frame.lastTime=e,this.frame.time+=this.frame.timeDiff,this.frame.frameRate=1000/this.frame.timeDiff}static _addAnimation(e){this.animations.push(e),this._handleAnimation()}static _removeAnimation(e){let n=e.id,s=this.animations,i=s.length;for(let r=0;r<i;r++)if(s[r].id===n){this.animations.splice(r,1);break}}static _runFrames(){let e={},n=this.animations;for(let s=0;s<n.length;s++){let i=n[s],{layers:r,func:a}=i;i._updateFrameObject(wb());let l=r.length,c;if(a)c=a.call(i,i.frame)!==!1;else c=!0;if(!c)continue;for(let f=0;f<l;f++){let d=r[f];if(d._id!==void 0)e[d._id]=d}}for(let s in e){if(!e.hasOwnProperty(s))continue;e[s].batchDraw()}}static _animationLoop(){let e=zi;if(e.animations.length)e._runFrames(),je.requestAnimFrame(e._animationLoop);else e.animRunning=!1}static _handleAnimation(){if(!this.animRunning)this.animRunning=!0,je.requestAnimFrame(this._animationLoop)}}zi.animations=[];zi.animIdCounter=0;zi.animRunning=!1;var AR={node:1,duration:1,easing:1,onFinish:1,yoyo:1},TR=1,T4=2,E4=3,C4=["fill","stroke","shadowColor"],ER=0;function N0(e){return je.colorToRGBA(e)||je.throw('can not tween the color "'+e+'", because it is not a valid color.')}class j4{constructor(e,n,s,i,r,a,l){this.prop=e,this.propFunc=n,this.begin=i,this._pos=i,this.duration=a,this._change=0,this.prevPos=0,this.yoyo=l,this._time=0,this._position=0,this._startTime=0,this._finish=0,this.func=s,this._change=r-this.begin,this.pause()}fire(e){let n=this[e];if(n)n()}setTime(e){if(e>this.duration)if(this.yoyo)this._time=this.duration,this.reverse();else this.finish();else if(e<0)if(this.yoyo)this._time=0,this.play();else this.reset();else this._time=e,this.update()}getTime(){return this._time}setPosition(e){this.prevPos=this._pos,this.propFunc(e),this._pos=e}getPosition(e){if(e===void 0)e=this._time;return this.func(e,this.begin,this._change,this.duration)}play(){this.state=T4,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onPlay")}reverse(){this.state=E4,this._time=this.duration-this._time,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onReverse")}seek(e){this.pause(),this._time=e,this.update(),this.fire("onSeek")}reset(){this.pause(),this._time=0,this.update(),this.fire("onReset")}finish(){this.pause(),this._time=this.duration,this.update(),this.fire("onFinish")}update(){this.setPosition(this.getPosition(this._time)),this.fire("onUpdate")}onEnterFrame(){let e=this.getTimer()-this._startTime;if(this.state===T4)this.setTime(e);else if(this.state===E4)this.setTime(this.duration-e)}pause(){this.state=TR,this.fire("onPause")}getTimer(){return new Date().getTime()}}class ms{constructor(e){let n=this,s=e.node,i=s._id,r=e.easing||pf.Linear,a=!!e.yoyo,l,c;if(typeof e.duration>"u")l=0.3;else if(e.duration===0)l=0.001;else l=e.duration;this.node=s,this._id=ER++;let f=s.getLayer()||(s instanceof rt.Stage?s.getLayers():null);if(!f)je.error("Tween constructor have `node` that is not in a layer. Please add node into layer first.");if(this.anim=new zi(function(){n.tween.onEnterFrame()},f),this.tween=new j4(c,function(d){n._tweenFunc(d)},r,0,1,l*1000,a),this._addListeners(),!ms.attrs[i])ms.attrs[i]={};if(!ms.attrs[i][this._id])ms.attrs[i][this._id]={};if(!ms.tweens[i])ms.tweens[i]={};for(c in e)if(AR[c]===void 0)this._addAttr(c,e[c]);this.reset(),this.onFinish=e.onFinish,this.onReset=e.onReset,this.onUpdate=e.onUpdate}_addAttr(e,n){let s=this.node,i=s._id,r,a,l,c,f,d=ms.tweens[i][e];if(d)delete ms.attrs[i][d][e];let b=s.getAttr(e);if(je._isArray(n)){if(r=[],a=Math.max(n.length,b.length),e==="points"&&n.length!==b.length)if(n.length>b.length)c=b,b=je._prepareArrayForTween(b,n,s.closed());else l=n,n=je._prepareArrayForTween(n,b,s.closed());if(e.indexOf("fill")===0)for(let y=0;y<a;y++)if(y%2===0)r.push(n[y]-b[y]);else{let v=N0(b[y]);f=N0(n[y]),b[y]=v,r.push({r:f.r-v.r,g:f.g-v.g,b:f.b-v.b,a:f.a-v.a})}else for(let y=0;y<a;y++)r.push(n[y]-b[y])}else if(C4.indexOf(e)!==-1)b=N0(b),f=N0(n),r={r:f.r-b.r,g:f.g-b.g,b:f.b-b.b,a:f.a-b.a};else r=n-b;ms.attrs[i][this._id][e]={start:b,diff:r,end:n,trueEnd:l,trueStart:c},ms.tweens[i][e]=this._id}_tweenFunc(e){let n=this.node,s=ms.attrs[n._id][this._id],i,r,a,l,c,f,d,b;for(i in s){if(r=s[i],a=r.start,l=r.diff,b=r.end,je._isArray(a))if(c=[],d=Math.max(a.length,b.length),i.indexOf("fill")===0)for(f=0;f<d;f++)if(f%2===0)c.push((a[f]||0)+l[f]*e);else c.push("rgba("+Math.round(a[f].r+l[f].r*e)+","+Math.round(a[f].g+l[f].g*e)+","+Math.round(a[f].b+l[f].b*e)+","+(a[f].a+l[f].a*e)+")");else for(f=0;f<d;f++)c.push((a[f]||0)+l[f]*e);else if(C4.indexOf(i)!==-1)c="rgba("+Math.round(a.r+l.r*e)+","+Math.round(a.g+l.g*e)+","+Math.round(a.b+l.b*e)+","+(a.a+l.a*e)+")";else c=a+l*e;n.setAttr(i,c)}}_addListeners(){this.tween.onPlay=()=>{this.anim.start()},this.tween.onReverse=()=>{this.anim.start()},this.tween.onPause=()=>{this.anim.stop()},this.tween.onFinish=()=>{let e=this.node,n=ms.attrs[e._id][this._id];if(n.points&&n.points.trueEnd)e.setAttr("points",n.points.trueEnd);if(this.onFinish)this.onFinish.call(this)},this.tween.onReset=()=>{let e=this.node,n=ms.attrs[e._id][this._id];if(n.points&&n.points.trueStart)e.points(n.points.trueStart);if(this.onReset)this.onReset()},this.tween.onUpdate=()=>{if(this.onUpdate)this.onUpdate.call(this)}}play(){return this.tween.play(),this}reverse(){return this.tween.reverse(),this}reset(){return this.tween.reset(),this}seek(e){return this.tween.seek(e*1000),this}pause(){return this.tween.pause(),this}finish(){return this.tween.finish(),this}destroy(){let e=this.node._id,n=this._id,s=ms.tweens[e];if(this.pause(),this.anim)this.anim.stop();for(let i in s)delete ms.tweens[e][i];if(delete ms.attrs[e][n],ms.tweens[e]){if(Object.keys(ms.tweens[e]).length===0)delete ms.tweens[e];if(Object.keys(ms.attrs[e]).length===0)delete ms.attrs[e]}}}ms.attrs={};ms.tweens={};Qe.prototype.to=function(e){let n=e.onFinish;e.node=this,e.onFinish=function(){if(this.destroy(),n)n()},new ms(e).play()};var pf={BackEaseIn(e,n,s,i){return s*(e/=i)*e*(2.70158*e-1.70158)+n},BackEaseOut(e,n,s,i){return s*((e=e/i-1)*e*(2.70158*e+1.70158)+1)+n},BackEaseInOut(e,n,s,i){let r=1.70158;if((e/=i/2)<1)return s/2*(e*e*(((r*=1.525)+1)*e-r))+n;return s/2*((e-=2)*e*(((r*=1.525)+1)*e+r)+2)+n},ElasticEaseIn(e,n,s,i,r,a){let l=0;if(e===0)return n;if((e/=i)===1)return n+s;if(!a)a=i*0.3;if(!r||r<Math.abs(s))r=s,l=a/4;else l=a/(2*Math.PI)*Math.asin(s/r);return-(r*Math.pow(2,10*(e-=1))*Math.sin((e*i-l)*(2*Math.PI)/a))+n},ElasticEaseOut(e,n,s,i,r,a){let l=0;if(e===0)return n;if((e/=i)===1)return n+s;if(!a)a=i*0.3;if(!r||r<Math.abs(s))r=s,l=a/4;else l=a/(2*Math.PI)*Math.asin(s/r);return r*Math.pow(2,-10*e)*Math.sin((e*i-l)*(2*Math.PI)/a)+s+n},ElasticEaseInOut(e,n,s,i,r,a){let l=0;if(e===0)return n;if((e/=i/2)===2)return n+s;if(!a)a=i*0.44999999999999996;if(!r||r<Math.abs(s))r=s,l=a/4;else l=a/(2*Math.PI)*Math.asin(s/r);if(e<1)return-0.5*(r*Math.pow(2,10*(e-=1))*Math.sin((e*i-l)*(2*Math.PI)/a))+n;return r*Math.pow(2,-10*(e-=1))*Math.sin((e*i-l)*(2*Math.PI)/a)*0.5+s+n},BounceEaseOut(e,n,s,i){if((e/=i)<0.36363636363636365)return s*(7.5625*e*e)+n;else if(e<0.7272727272727273)return s*(7.5625*(e-=0.5454545454545454)*e+0.75)+n;else if(e<0.9090909090909091)return s*(7.5625*(e-=0.8181818181818182)*e+0.9375)+n;else return s*(7.5625*(e-=0.9545454545454546)*e+0.984375)+n},BounceEaseIn(e,n,s,i){return s-pf.BounceEaseOut(i-e,0,s,i)+n},BounceEaseInOut(e,n,s,i){if(e<i/2)return pf.BounceEaseIn(e*2,0,s,i)*0.5+n;else return pf.BounceEaseOut(e*2-i,0,s,i)*0.5+s*0.5+n},EaseIn(e,n,s,i){return s*(e/=i)*e+n},EaseOut(e,n,s,i){return-s*(e/=i)*(e-2)+n},EaseInOut(e,n,s,i){if((e/=i/2)<1)return s/2*e*e+n;return-s/2*(--e*(e-2)-1)+n},StrongEaseIn(e,n,s,i){return s*(e/=i)*e*e*e*e+n},StrongEaseOut(e,n,s,i){return s*((e=e/i-1)*e*e*e*e+1)+n},StrongEaseInOut(e,n,s,i){if((e/=i/2)<1)return s/2*e*e*e*e*e+n;return s/2*((e-=2)*e*e*e*e+2)+n},Linear(e,n,s,i){return s*e/i+n}};var gf=je._assign(rt,{Util:je,Transform:Ti,Node:Qe,Container:bi,Stage:mf,stages:df,Layer:Ba,FastLayer:zh,Group:Ha,DD:jn,Shape:Ze,shapes:rc,Animation:zi,Tween:ms,Easings:pf,Context:ff,Canvas:qh});class ha extends Ze{_sceneFunc(e){let n=rt.getAngle(this.angle()),s=this.clockwise();e.beginPath(),e.arc(0,0,this.outerRadius(),0,n,s),e.arc(0,0,this.innerRadius(),n,0,!s),e.closePath(),e.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(e){this.outerRadius(e/2)}setHeight(e){this.outerRadius(e/2)}getSelfRect(){let e=this.innerRadius(),n=this.outerRadius(),s=this.clockwise(),i=rt.getAngle(this.angle());if(i%(Math.PI*2)===0)return i!==0?{x:-n,y:-n,width:n*2,height:n*2}:{x:e,y:0,width:n-e,height:0};let r=rt.getAngle(s?360-this.angle():this.angle()),a=Math.cos(Math.min(r,Math.PI)),l=1,c=Math.sin(Math.min(Math.max(Math.PI,r),3*Math.PI/2)),f=Math.sin(Math.min(r,Math.PI/2)),d=a*(a>0?e:n),b=l*(l>0?n:e),y=c*(c>0?e:n),v=f*(f>0?n:e);return{x:d,y:s?-1*v:y,width:b-d,height:v-y}}}ha.prototype._centroid=!0;ha.prototype.className="Arc";ha.prototype._attrsAffectingSize=["innerRadius","outerRadius","angle","clockwise"];sn(ha);he.addGetterSetter(ha,"innerRadius",0,Ye());he.addGetterSetter(ha,"outerRadius",0,Ye());he.addGetterSetter(ha,"angle",0,Ye());he.addGetterSetter(ha,"clockwise",!1,Ei());var CR=[[],[],[-0.5773502691896257,0.5773502691896257],[0,-0.7745966692414834,0.7745966692414834],[-0.33998104358485626,0.33998104358485626,-0.8611363115940526,0.8611363115940526],[0,-0.5384693101056831,0.5384693101056831,-0.906179845938664,0.906179845938664],[0.6612093864662645,-0.6612093864662645,-0.2386191860831969,0.2386191860831969,-0.932469514203152,0.932469514203152],[0,0.4058451513773972,-0.4058451513773972,-0.7415311855993945,0.7415311855993945,-0.9491079123427585,0.9491079123427585],[-0.1834346424956498,0.1834346424956498,-0.525532409916329,0.525532409916329,-0.7966664774136267,0.7966664774136267,-0.9602898564975363,0.9602898564975363],[0,-0.8360311073266358,0.8360311073266358,-0.9681602395076261,0.9681602395076261,-0.3242534234038089,0.3242534234038089,-0.6133714327005904,0.6133714327005904],[-0.14887433898163122,0.14887433898163122,-0.4333953941292472,0.4333953941292472,-0.6794095682990244,0.6794095682990244,-0.8650633666889845,0.8650633666889845,-0.9739065285171717,0.9739065285171717],[0,-0.26954315595234496,0.26954315595234496,-0.5190961292068118,0.5190961292068118,-0.7301520055740494,0.7301520055740494,-0.8870625997680953,0.8870625997680953,-0.978228658146057,0.978228658146057],[-0.1252334085114689,0.1252334085114689,-0.3678314989981802,0.3678314989981802,-0.5873179542866175,0.5873179542866175,-0.7699026741943047,0.7699026741943047,-0.9041172563704749,0.9041172563704749,-0.9815606342467192,0.9815606342467192],[0,-0.2304583159551348,0.2304583159551348,-0.44849275103644687,0.44849275103644687,-0.6423493394403402,0.6423493394403402,-0.8015780907333099,0.8015780907333099,-0.9175983992229779,0.9175983992229779,-0.9841830547185881,0.9841830547185881],[-0.10805494870734367,0.10805494870734367,-0.31911236892788974,0.31911236892788974,-0.5152486363581541,0.5152486363581541,-0.6872929048116855,0.6872929048116855,-0.827201315069765,0.827201315069765,-0.9284348836635735,0.9284348836635735,-0.9862838086968123,0.9862838086968123],[0,-0.20119409399743451,0.20119409399743451,-0.3941513470775634,0.3941513470775634,-0.5709721726085388,0.5709721726085388,-0.7244177313601701,0.7244177313601701,-0.8482065834104272,0.8482065834104272,-0.937273392400706,0.937273392400706,-0.9879925180204854,0.9879925180204854],[-0.09501250983763744,0.09501250983763744,-0.2816035507792589,0.2816035507792589,-0.45801677765722737,0.45801677765722737,-0.6178762444026438,0.6178762444026438,-0.755404408355003,0.755404408355003,-0.8656312023878318,0.8656312023878318,-0.9445750230732326,0.9445750230732326,-0.9894009349916499,0.9894009349916499],[0,-0.17848418149584785,0.17848418149584785,-0.3512317634538763,0.3512317634538763,-0.5126905370864769,0.5126905370864769,-0.6576711592166907,0.6576711592166907,-0.7815140038968014,0.7815140038968014,-0.8802391537269859,0.8802391537269859,-0.9506755217687678,0.9506755217687678,-0.9905754753144174,0.9905754753144174],[-0.0847750130417353,0.0847750130417353,-0.2518862256915055,0.2518862256915055,-0.41175116146284263,0.41175116146284263,-0.5597708310739475,0.5597708310739475,-0.6916870430603532,0.6916870430603532,-0.8037049589725231,0.8037049589725231,-0.8926024664975557,0.8926024664975557,-0.9558239495713977,0.9558239495713977,-0.9915651684209309,0.9915651684209309],[0,-0.16035864564022537,0.16035864564022537,-0.31656409996362983,0.31656409996362983,-0.46457074137596094,0.46457074137596094,-0.600545304661681,0.600545304661681,-0.7209661773352294,0.7209661773352294,-0.8227146565371428,0.8227146565371428,-0.9031559036148179,0.9031559036148179,-0.96020815213483,0.96020815213483,-0.9924068438435844,0.9924068438435844],[-0.07652652113349734,0.07652652113349734,-0.22778585114164507,0.22778585114164507,-0.37370608871541955,0.37370608871541955,-0.5108670019508271,0.5108670019508271,-0.636053680726515,0.636053680726515,-0.7463319064601508,0.7463319064601508,-0.8391169718222188,0.8391169718222188,-0.912234428251326,0.912234428251326,-0.9639719272779138,0.9639719272779138,-0.9931285991850949,0.9931285991850949],[0,-0.1455618541608951,0.1455618541608951,-0.2880213168024011,0.2880213168024011,-0.4243421202074388,0.4243421202074388,-0.5516188358872198,0.5516188358872198,-0.6671388041974123,0.6671388041974123,-0.7684399634756779,0.7684399634756779,-0.8533633645833173,0.8533633645833173,-0.9200993341504008,0.9200993341504008,-0.9672268385663063,0.9672268385663063,-0.9937521706203895,0.9937521706203895],[-0.06973927331972223,0.06973927331972223,-0.20786042668822127,0.20786042668822127,-0.34193582089208424,0.34193582089208424,-0.469355837986757,0.469355837986757,-0.5876404035069116,0.5876404035069116,-0.6944872631866827,0.6944872631866827,-0.7878168059792081,0.7878168059792081,-0.8658125777203002,0.8658125777203002,-0.926956772187174,0.926956772187174,-0.9700604978354287,0.9700604978354287,-0.9942945854823992,0.9942945854823992],[0,-0.1332568242984661,0.1332568242984661,-0.26413568097034495,0.26413568097034495,-0.3903010380302908,0.3903010380302908,-0.5095014778460075,0.5095014778460075,-0.6196098757636461,0.6196098757636461,-0.7186613631319502,0.7186613631319502,-0.8048884016188399,0.8048884016188399,-0.8767523582704416,0.8767523582704416,-0.9329710868260161,0.9329710868260161,-0.9725424712181152,0.9725424712181152,-0.9947693349975522,0.9947693349975522],[-0.06405689286260563,0.06405689286260563,-0.1911188674736163,0.1911188674736163,-0.3150426796961634,0.3150426796961634,-0.4337935076260451,0.4337935076260451,-0.5454214713888396,0.5454214713888396,-0.6480936519369755,0.6480936519369755,-0.7401241915785544,0.7401241915785544,-0.820001985973903,0.820001985973903,-0.8864155270044011,0.8864155270044011,-0.9382745520027328,0.9382745520027328,-0.9747285559713095,0.9747285559713095,-0.9951872199970213,0.9951872199970213]],jR=[[],[],[1,1],[0.8888888888888888,0.5555555555555556,0.5555555555555556],[0.6521451548625461,0.6521451548625461,0.34785484513745385,0.34785484513745385],[0.5688888888888889,0.47862867049936647,0.47862867049936647,0.23692688505618908,0.23692688505618908],[0.3607615730481386,0.3607615730481386,0.46791393457269104,0.46791393457269104,0.17132449237917036,0.17132449237917036],[0.4179591836734694,0.3818300505051189,0.3818300505051189,0.27970539148927664,0.27970539148927664,0.1294849661688697,0.1294849661688697],[0.362683783378362,0.362683783378362,0.31370664587788727,0.31370664587788727,0.22238103445337448,0.22238103445337448,0.10122853629037626,0.10122853629037626],[0.3302393550012598,0.1806481606948574,0.1806481606948574,0.08127438836157441,0.08127438836157441,0.31234707704000286,0.31234707704000286,0.26061069640293544,0.26061069640293544],[0.29552422471475287,0.29552422471475287,0.26926671930999635,0.26926671930999635,0.21908636251598204,0.21908636251598204,0.1494513491505806,0.1494513491505806,0.06667134430868814,0.06667134430868814],[0.2729250867779006,0.26280454451024665,0.26280454451024665,0.23319376459199048,0.23319376459199048,0.18629021092773426,0.18629021092773426,0.1255803694649046,0.1255803694649046,0.05566856711617366,0.05566856711617366],[0.24914704581340277,0.24914704581340277,0.2334925365383548,0.2334925365383548,0.20316742672306592,0.20316742672306592,0.16007832854334622,0.16007832854334622,0.10693932599531843,0.10693932599531843,0.04717533638651183,0.04717533638651183],[0.2325515532308739,0.22628318026289723,0.22628318026289723,0.2078160475368885,0.2078160475368885,0.17814598076194574,0.17814598076194574,0.13887351021978725,0.13887351021978725,0.09212149983772845,0.09212149983772845,0.04048400476531588,0.04048400476531588],[0.2152638534631578,0.2152638534631578,0.2051984637212956,0.2051984637212956,0.18553839747793782,0.18553839747793782,0.15720316715819355,0.15720316715819355,0.12151857068790319,0.12151857068790319,0.08015808715976021,0.08015808715976021,0.03511946033175186,0.03511946033175186],[0.2025782419255613,0.19843148532711158,0.19843148532711158,0.1861610000155622,0.1861610000155622,0.16626920581699392,0.16626920581699392,0.13957067792615432,0.13957067792615432,0.10715922046717194,0.10715922046717194,0.07036604748810812,0.07036604748810812,0.03075324199611727,0.03075324199611727],[0.1894506104550685,0.1894506104550685,0.18260341504492358,0.18260341504492358,0.16915651939500254,0.16915651939500254,0.14959598881657674,0.14959598881657674,0.12462897125553388,0.12462897125553388,0.09515851168249279,0.09515851168249279,0.062253523938647894,0.062253523938647894,0.027152459411754096,0.027152459411754096],[0.17944647035620653,0.17656270536699264,0.17656270536699264,0.16800410215645004,0.16800410215645004,0.15404576107681028,0.15404576107681028,0.13513636846852548,0.13513636846852548,0.11188384719340397,0.11188384719340397,0.08503614831717918,0.08503614831717918,0.0554595293739872,0.0554595293739872,0.02414830286854793,0.02414830286854793],[0.1691423829631436,0.1691423829631436,0.16427648374583273,0.16427648374583273,0.15468467512626524,0.15468467512626524,0.14064291467065065,0.14064291467065065,0.12255520671147846,0.12255520671147846,0.10094204410628717,0.10094204410628717,0.07642573025488905,0.07642573025488905,0.0497145488949698,0.0497145488949698,0.02161601352648331,0.02161601352648331],[0.1610544498487837,0.15896884339395434,0.15896884339395434,0.15276604206585967,0.15276604206585967,0.1426067021736066,0.1426067021736066,0.12875396253933621,0.12875396253933621,0.11156664554733399,0.11156664554733399,0.09149002162245,0.09149002162245,0.06904454273764123,0.06904454273764123,0.0448142267656996,0.0448142267656996,0.019461788229726478,0.019461788229726478],[0.15275338713072584,0.15275338713072584,0.14917298647260374,0.14917298647260374,0.14209610931838204,0.14209610931838204,0.13168863844917664,0.13168863844917664,0.11819453196151841,0.11819453196151841,0.10193011981724044,0.10193011981724044,0.08327674157670475,0.08327674157670475,0.06267204833410907,0.06267204833410907,0.04060142980038694,0.04060142980038694,0.017614007139152118,0.017614007139152118],[0.14608113364969041,0.14452440398997005,0.14452440398997005,0.13988739479107315,0.13988739479107315,0.13226893863333747,0.13226893863333747,0.12183141605372853,0.12183141605372853,0.10879729916714838,0.10879729916714838,0.09344442345603386,0.09344442345603386,0.0761001136283793,0.0761001136283793,0.057134425426857205,0.057134425426857205,0.036953789770852494,0.036953789770852494,0.016017228257774335,0.016017228257774335],[0.13925187285563198,0.13925187285563198,0.13654149834601517,0.13654149834601517,0.13117350478706238,0.13117350478706238,0.12325237681051242,0.12325237681051242,0.11293229608053922,0.11293229608053922,0.10041414444288096,0.10041414444288096,0.08594160621706773,0.08594160621706773,0.06979646842452049,0.06979646842452049,0.052293335152683286,0.052293335152683286,0.03377490158481415,0.03377490158481415,0.0146279952982722,0.0146279952982722],[0.13365457218610619,0.1324620394046966,0.1324620394046966,0.12890572218808216,0.12890572218808216,0.12304908430672953,0.12304908430672953,0.11499664022241136,0.11499664022241136,0.10489209146454141,0.10489209146454141,0.09291576606003515,0.09291576606003515,0.07928141177671895,0.07928141177671895,0.06423242140852585,0.06423242140852585,0.04803767173108467,0.04803767173108467,0.030988005856979445,0.030988005856979445,0.013411859487141771,0.013411859487141771],[0.12793819534675216,0.12793819534675216,0.1258374563468283,0.1258374563468283,0.12167047292780339,0.12167047292780339,0.1155056680537256,0.1155056680537256,0.10744427011596563,0.10744427011596563,0.09761865210411388,0.09761865210411388,0.08619016153195327,0.08619016153195327,0.0733464814110803,0.0733464814110803,0.05929858491543678,0.05929858491543678,0.04427743881741981,0.04427743881741981,0.028531388628933663,0.028531388628933663,0.0123412297999872,0.0123412297999872]],_R=[[1],[1,1],[1,2,1],[1,3,3,1]],vb=(e,n,s)=>{let i,r,a=20,l=s/2;i=0;for(let c=0;c<20;c++)r=l*CR[20][c]+l,i+=jR[20][c]*IR(e,n,r);return l*i},Sb=(e,n,s)=>{if(s===void 0)s=1;let i=e[0]-2*e[1]+e[2],r=n[0]-2*n[1]+n[2],a=2*e[1]-2*e[0],l=2*n[1]-2*n[0],c=4*(i*i+r*r),f=4*(i*a+r*l),d=a*a+l*l;if(c===0)return s*Math.sqrt(Math.pow(e[2]-e[0],2)+Math.pow(n[2]-n[0],2));let b=f/(2*c),y=d/c,v=s+b,k=y-b*b,A=v*v+k>0?Math.sqrt(v*v+k):0,T=b*b+k>0?Math.sqrt(b*b+k):0,R=b+Math.sqrt(b*b+k)!==0?k*Math.log(Math.abs((v+A)/(b+T))):0;return Math.sqrt(c)/2*(v*A-b*T+R)};function IR(e,n,s){let i=yb(1,s,e),r=yb(1,s,n),a=i*i+r*r;return Math.sqrt(a)}var yb=(e,n,s)=>{let i=s.length-1,r,a;if(i===0)return 0;if(e===0){a=0;for(let l=0;l<=i;l++)a+=_R[i][l]*Math.pow(1-n,i-l)*Math.pow(n,l)*s[l];return a}else{r=Array(i);for(let l=0;l<i;l++)r[l]=i*(s[l+1]-s[l]);return yb(e-1,n,r)}},kb=(e,n,s)=>{let i=1,r=e/n,a=(e-s(r))/n,l=0;while(i>0.001){let c=s(r+a),f=Math.abs(e-c)/n;if(f<i)i=f,r+=a;else{let d=s(r-a),b=Math.abs(e-d)/n;if(b<i)i=b,r-=a;else a/=2}if(l++,l>500)break}return r},_4=(e,n,s,i)=>{let r=1-i;return r*r*e+2*r*i*n+i*i*s},B0=(e,n,s,i,r,a)=>{let l=[];for(let c of[[e,s,r],[n,i,a]]){let f=(c[0]-c[1])/(c[0]-2*c[1]+c[2]);if(f>0&&f<1)l.push(_4(e,s,r,f),_4(n,i,a,f))}return l},I4=(e,n,s,i,r)=>{let a=1-r;return a*a*a*e+3*a*a*r*n+3*a*r*r*s+r*r*r*i},Gh=(e,n,s,i,r,a,l,c)=>{let f=[];for(let d of[[e,s,r,l],[n,i,a,c]]){let b=-3*d[0]+9*d[1]-9*d[2]+3*d[3],y=6*d[0]-12*d[1]+6*d[2],v=-3*d[0]+3*d[1],k=y*y-4*b*v;if(k<0)continue;let A=-(y+(y<0?-1:1)*Math.sqrt(k))/2;for(let T of[A/b,v/A])if(T>0&&T<1)f.push(I4(e,s,r,l,T),I4(n,i,a,c,T))}return f};function xb(e,n,s,i,r,a,l){let c=Math.sqrt(Math.pow(s-e,2)+Math.pow(i-n,2)),f=Math.sqrt(Math.pow(r-s,2)+Math.pow(a-i,2)),d=c+f;if(d===0)return[s,i,s,i];let b=l*c/d,y=l*f/d,v=s-b*(r-e),k=i-b*(a-n),A=s+y*(r-e),T=i+y*(a-n);return[v,k,A,T]}function R4(e,n){let s=e.length,i=[];for(let r=2;r<s-2;r+=2){let a=xb(e[r-2],e[r-1],e[r],e[r+1],e[r+2],e[r+3],n);if(isNaN(a[0]))continue;i.push(a[0]),i.push(a[1]),i.push(e[r]),i.push(e[r+1]),i.push(a[2]),i.push(a[3])}return i}function RR(e){let n=[];for(let s=0;s+7<e.length;s+=6)n.push(e[s+6],e[s+7],...Gh(e[s],e[s+1],e[s+2],e[s+3],e[s+4],e[s+5],e[s+6],e[s+7]));return n}class Fr extends Ze{constructor(e){super(e);this.on("pointsChange.konva tensionChange.konva closedChange.konva bezierChange.konva",function(){this._clearCache("tensionPoints")})}_hasTension(){return this.tension()!==0&&this.points().length>4}_eachTensionSegment(e,n){let s=this.points(),i=s.length,r=this.closed(),a=this.getTensionPoints(),l=a.length,c=s[0],f=s[1],d=r?0:4;if(!r)e(c,f,a[0],a[1],a[2],a[3]),c=a[2],f=a[3];while(d<l-2){let b=a[d++],y=a[d++],v=a[d++],k=a[d++],A=a[d++],T=a[d++];n(c,f,b,y,v,k,A,T),c=A,f=T}if(!r)e(c,f,a[l-2],a[l-1],s[i-2],s[i-1])}_sceneFunc(e){let n=this.points(),s=n.length,i=this.closed(),r=this.bezier();if(!s)return;let a=0;if(e.beginPath(),e.moveTo(n[0],n[1]),this._hasTension())this._eachTensionSegment((l,c,f,d,b,y)=>e.quadraticCurveTo(f,d,b,y),(l,c,f,d,b,y,v,k)=>e.bezierCurveTo(f,d,b,y,v,k));else if(r){a=2;while(a<s)e.bezierCurveTo(n[a++],n[a++],n[a++],n[a++],n[a++],n[a++])}else for(a=2;a<s;a+=2)e.lineTo(n[a],n[a+1]);if(i)e.closePath(),e.fillStrokeShape(this);else e.strokeShape(this)}getTensionPoints(){return this._getCache("tensionPoints",this._getTensionPoints)}_getTensionPoints(){if(this.closed())return this._getTensionPointsClosed();else return R4(this.points(),this.tension())}_getTensionPointsClosed(){let e=this.points(),n=e.length,s=this.tension(),i=xb(e[n-2],e[n-1],e[0],e[1],e[2],e[3],s),r=xb(e[n-4],e[n-3],e[n-2],e[n-1],e[0],e[1],s),a=R4(e,s);return[i[2],i[3]].concat(a).concat([r[0],r[1],e[n-2],e[n-1],r[2],r[3],i[0],i[1],e[0],e[1]])}getWidth(){return this.getSelfRect().width}getHeight(){return this.getSelfRect().height}getSelfRect(){let e=this.points();if(e.length<4)return{x:e[0]||0,y:e[1]||0,width:0,height:0};if(this._hasTension()){let c=[e[0],e[1]];this._eachTensionSegment((f,d,b,y,v,k)=>c.push(v,k,...B0(f,d,b,y,v,k)),(f,d,b,y,v,k,A,T)=>c.push(A,T,...Gh(f,d,b,y,v,k,A,T))),e=c}else if(this.bezier())e=[e[0],e[1],...RR(e)];let n=e[0],s=e[0],i=e[1],r=e[1],a,l;for(let c=0;c<e.length/2;c++)a=e[c*2],l=e[c*2+1],n=Math.min(n,a),s=Math.max(s,a),i=Math.min(i,l),r=Math.max(r,l);return{x:n,y:i,width:s-n,height:r-i}}}Fr.prototype.className="Line";Fr.prototype._attrsAffectingSize=["points","bezier","tension"];sn(Fr);he.addGetterSetter(Fr,"closed",!1);he.addGetterSetter(Fr,"bezier",!1);he.addGetterSetter(Fr,"tension",0,Ye());he.addGetterSetter(Fr,"points",[],Yv());class as extends Ze{constructor(e){super(e);this.dataArray=[],this.pathLength=0,this._readDataAttribute(),this.on("dataChange.konva",function(){this._readDataAttribute()})}_readDataAttribute(){this.dataArray=as.parsePathData(this.data()),this.pathLength=as.getPathLength(this.dataArray)}_sceneFunc(e){let n=this.dataArray;e.beginPath();let s=!1;for(let i=0;i<n.length;i++){let r=n[i].command,a=n[i].points;switch(r){case"L":e.lineTo(a[0],a[1]);break;case"M":e.moveTo(a[0],a[1]);break;case"C":e.bezierCurveTo(a[0],a[1],a[2],a[3],a[4],a[5]);break;case"Q":e.quadraticCurveTo(a[0],a[1],a[2],a[3]);break;case"A":let l=a[0],c=a[1],f=a[2],d=a[3],b=a[4],y=a[5],v=a[6],k=a[7],A=f>d?f:d,T=f>d?1:f/d,R=f>d?d/f:1;e.translate(l,c),e.rotate(v),e.scale(T,R),e.arc(0,0,A,b,b+y,1-k),e.scale(1/T,1/R),e.rotate(-v),e.translate(-l,-c);break;case"z":s=!0,e.closePath();break}}if(!s&&!this.hasFill())e.strokeShape(this);else e.fillStrokeShape(this)}getSelfRect(){let e=[];this.dataArray.forEach(function(c){if(c.command==="A"){let f=c.points[4],d=c.points[5],b=c.points[4]+d,y=Math.PI/180;if(Math.abs(f-b)<y)y=Math.abs(f-b);if(d<0)for(let v=f-y;v>b;v-=y){let k=as.getPointOnEllipticalArc(c.points[0],c.points[1],c.points[2],c.points[3],v,0);e.push(k.x,k.y)}else for(let v=f+y;v<b;v+=y){let k=as.getPointOnEllipticalArc(c.points[0],c.points[1],c.points[2],c.points[3],v,0);e.push(k.x,k.y)}}else if(c.command==="C")e.push(c.start.x,c.start.y,c.points[4],c.points[5],...Gh(c.start.x,c.start.y,c.points[0],c.points[1],c.points[2],c.points[3],c.points[4],c.points[5]));else if(c.command==="Q")e.push(c.start.x,c.start.y,c.points[2],c.points[3],...B0(c.start.x,c.start.y,c.points[0],c.points[1],c.points[2],c.points[3]));else e=e.concat(c.points)});let n=e[0],s=e[0],i=e[1],r=e[1],a,l;for(let c=0;c<e.length/2;c++){if(a=e[c*2],l=e[c*2+1],!isNaN(a))n=Math.min(n,a),s=Math.max(s,a);if(!isNaN(l))i=Math.min(i,l),r=Math.max(r,l)}return{x:n,y:i,width:s-n,height:r-i}}getLength(){return this.pathLength}getPointAtLength(e){return as.getPointAtLengthOfDataArray(e,this.dataArray)}static getLineLength(e,n,s,i){return Math.sqrt((s-e)*(s-e)+(i-n)*(i-n))}static getPathLength(e){let n=0;for(let s=0;s<e.length;++s)n+=e[s].pathLength;return n}static getPointAtLengthOfDataArray(e,n){let s,i=0,r=n.length;if(!r)return null;while(i<r&&e>n[i].pathLength)e-=n[i].pathLength,++i;if(i===r){let c=i-1;while(c>0&&n[c].points.length<2)c--;return s=n[c].points.slice(-2),{x:s[0],y:s[1]}}if(e<0.01)if(n[i].command==="M")return s=n[i].points.slice(0,2),{x:s[0],y:s[1]};else return{x:n[i].start.x,y:n[i].start.y};let a=n[i],l=a.points;switch(a.command){case"L":return as.getPointOnLine(e,a.start.x,a.start.y,l[0],l[1]);case"C":return as.getPointOnCubicBezier(kb(e,as.getPathLength(n),(A)=>vb([a.start.x,l[0],l[2],l[4]],[a.start.y,l[1],l[3],l[5]],A)),a.start.x,a.start.y,l[0],l[1],l[2],l[3],l[4],l[5]);case"Q":return as.getPointOnQuadraticBezier(kb(e,as.getPathLength(n),(A)=>Sb([a.start.x,l[0],l[2]],[a.start.y,l[1],l[3]],A)),a.start.x,a.start.y,l[0],l[1],l[2],l[3]);case"A":let c=l[0],f=l[1],d=l[2],b=l[3],y=l[5],v=l[6],k=l[4];return k+=y*e/a.pathLength,as.getPointOnEllipticalArc(c,f,d,b,k,v)}return null}static getPointOnLine(e,n,s,i,r,a,l){a=a!==null&&a!==void 0?a:n,l=l!==null&&l!==void 0?l:s;let c=this.getLineLength(n,s,i,r);if(c<0.0000000001)return{x:n,y:s};if(i===n)return{x:a,y:l+(r>s?e:-e)};let f=(r-s)/(i-n),d=Math.sqrt(e*e/(1+f*f))*(i<n?-1:1),b=f*d;if(Math.abs(l-s-f*(a-n))<0.0000000001)return{x:a+d,y:l+b};let y=((a-n)*(i-n)+(l-s)*(r-s))/(c*c),v=n+y*(i-n),k=s+y*(r-s),A=this.getLineLength(a,l,v,k),T=Math.sqrt(e*e-A*A),R=Math.sqrt(T*T/(1+f*f))*(i<n?-1:1),D=f*R;return{x:v+R,y:k+D}}static getPointOnCubicBezier(e,n,s,i,r,a,l,c,f){function d(T){return T*T*T}function b(T){return 3*T*T*(1-T)}function y(T){return 3*T*(1-T)*(1-T)}function v(T){return(1-T)*(1-T)*(1-T)}let k=c*d(e)+a*b(e)+i*y(e)+n*v(e),A=f*d(e)+l*b(e)+r*y(e)+s*v(e);return{x:k,y:A}}static getPointOnQuadraticBezier(e,n,s,i,r,a,l){function c(v){return v*v}function f(v){return 2*v*(1-v)}function d(v){return(1-v)*(1-v)}let b=a*c(e)+i*f(e)+n*d(e),y=l*c(e)+r*f(e)+s*d(e);return{x:b,y}}static getPointOnEllipticalArc(e,n,s,i,r,a){let l=Math.cos(a),c=Math.sin(a),f={x:s*Math.cos(r),y:i*Math.sin(r)};return{x:e+(f.x*l-f.y*c),y:n+(f.x*c+f.y*l)}}static parsePathData(e){if(!e)return[];let n=e,s=["m","M","l","L","v","V","h","H","z","Z","c","C","q","Q","t","T","s","S","a","A"];n=n.replace(new RegExp(" ","g"),",");for(let b=0;b<s.length;b++)n=n.replace(new RegExp(s[b],"g"),"|"+s[b]);let i=n.split("|"),r=[],a=[],l=0,c=0,f=/([-+]?((\d+\.\d+)|((\d+)|(\.\d+)))(?:e[-+]?\d+)?)/gi,d;for(let b=1;b<i.length;b++){let y=i[b],v=y.charAt(0);y=y.slice(1),a.length=0;while(d=f.exec(y))a.push(d[0]);let k=[],A=v==="A"||v==="a"?0:-1;for(let T=0,R=a.length;T<R;T++){let D=a[T];if(D==="00"){if(k.push(0,0),A>=0){if(A+=2,A>=7)A-=7}continue}if(A>=0){if(A===3){if(/^[01]{2}\d+(?:\.\d+)?$/.test(D)){if(k.push(parseInt(D[0],10)),k.push(parseInt(D[1],10)),k.push(parseFloat(D.slice(2))),A+=3,A>=7)A-=7;continue}if(D==="11"||D==="10"||D==="01"){if(k.push(parseInt(D[0],10)),k.push(parseInt(D[1],10)),A+=2,A>=7)A-=7;continue}if(D==="0"||D==="1"){if(k.push(parseInt(D,10)),A+=1,A>=7)A-=7;continue}}else if(A===4){if(/^[01]\d+(?:\.\d+)?$/.test(D)){if(k.push(parseInt(D[0],10)),k.push(parseFloat(D.slice(1))),A+=2,A>=7)A-=7;continue}if(D==="0"||D==="1"){if(k.push(parseInt(D,10)),A+=1,A>=7)A-=7;continue}}let U=parseFloat(D);if(!isNaN(U))k.push(U);else k.push(0);if(A+=1,A>=7)A-=7}else{let U=parseFloat(D);if(!isNaN(U))k.push(U);else k.push(0)}}while(k.length>0){if(isNaN(k[0]))break;let T="",R=[],D=l,U=c,Y,X,J,ee,te,ne,ie,se,ae,be;switch(v){case"l":l+=k.shift(),c+=k.shift(),T="L",R.push(l,c);break;case"L":l=k.shift(),c=k.shift(),R.push(l,c);break;case"m":let ye=k.shift(),fe=k.shift();if(l+=ye,c+=fe,T="M",r.length>2&&r[r.length-1].command==="z"){for(let le=r.length-2;le>=0;le--)if(r[le].command==="M"){l=r[le].points[0]+ye,c=r[le].points[1]+fe;break}}R.push(l,c),v="l";break;case"M":l=k.shift(),c=k.shift(),T="M",R.push(l,c),v="L";break;case"h":l+=k.shift(),T="L",R.push(l,c);break;case"H":l=k.shift(),T="L",R.push(l,c);break;case"v":c+=k.shift(),T="L",R.push(l,c);break;case"V":c=k.shift(),T="L",R.push(l,c);break;case"C":R.push(k.shift(),k.shift(),k.shift(),k.shift()),l=k.shift(),c=k.shift(),R.push(l,c);break;case"c":R.push(l+k.shift(),c+k.shift(),l+k.shift(),c+k.shift()),l+=k.shift(),c+=k.shift(),T="C",R.push(l,c);break;case"S":if(X=l,J=c,Y=r[r.length-1],Y.command==="C")X=l+(l-Y.points[2]),J=c+(c-Y.points[3]);R.push(X,J,k.shift(),k.shift()),l=k.shift(),c=k.shift(),T="C",R.push(l,c);break;case"s":if(X=l,J=c,Y=r[r.length-1],Y.command==="C")X=l+(l-Y.points[2]),J=c+(c-Y.points[3]);R.push(X,J,l+k.shift(),c+k.shift()),l+=k.shift(),c+=k.shift(),T="C",R.push(l,c);break;case"Q":R.push(k.shift(),k.shift()),l=k.shift(),c=k.shift(),R.push(l,c);break;case"q":R.push(l+k.shift(),c+k.shift()),l+=k.shift(),c+=k.shift(),T="Q",R.push(l,c);break;case"T":if(X=l,J=c,Y=r[r.length-1],Y.command==="Q")X=l+(l-Y.points[0]),J=c+(c-Y.points[1]);l=k.shift(),c=k.shift(),T="Q",R.push(X,J,l,c);break;case"t":if(X=l,J=c,Y=r[r.length-1],Y.command==="Q")X=l+(l-Y.points[0]),J=c+(c-Y.points[1]);l+=k.shift(),c+=k.shift(),T="Q",R.push(X,J,l,c);break;case"A":ee=k.shift(),te=k.shift(),ne=k.shift(),ie=k.shift(),se=k.shift(),ae=l,be=c,l=k.shift(),c=k.shift(),T="A",R=this.convertEndpointToCenterParameterization(ae,be,l,c,ie,se,ee,te,ne);break;case"a":ee=k.shift(),te=k.shift(),ne=k.shift(),ie=k.shift(),se=k.shift(),ae=l,be=c,l+=k.shift(),c+=k.shift(),T="A",R=this.convertEndpointToCenterParameterization(ae,be,l,c,ie,se,ee,te,ne);break}r.push({command:T||v,points:R,start:{x:D,y:U},pathLength:this.calcLength(D,U,T||v,R)})}if(v==="z"||v==="Z")r.push({command:"z",points:[],start:void 0,pathLength:0})}return r}static calcLength(e,n,s,i){let r,a,l,c,f=as;switch(s){case"L":return f.getLineLength(e,n,i[0],i[1]);case"C":return vb([e,i[0],i[2],i[4]],[n,i[1],i[3],i[5]],1);case"Q":return Sb([e,i[0],i[2]],[n,i[1],i[3]],1);case"A":r=0;let d=i[4],b=i[5],y=i[4]+b,v=Math.PI/180;if(Math.abs(d-y)<v)v=Math.abs(d-y);if(a=f.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],d,0),b<0)for(c=d-v;c>y;c-=v)l=f.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],c,0),r+=f.getLineLength(a.x,a.y,l.x,l.y),a=l;else for(c=d+v;c<y;c+=v)l=f.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],c,0),r+=f.getLineLength(a.x,a.y,l.x,l.y),a=l;return l=f.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],y,0),r+=f.getLineLength(a.x,a.y,l.x,l.y),r}return 0}static convertEndpointToCenterParameterization(e,n,s,i,r,a,l,c,f){let d=f*(Math.PI/180),b=Math.cos(d)*(e-s)/2+Math.sin(d)*(n-i)/2,y=-1*Math.sin(d)*(e-s)/2+Math.cos(d)*(n-i)/2,v=b*b/(l*l)+y*y/(c*c);if(v>1)l*=Math.sqrt(v),c*=Math.sqrt(v);let k=Math.sqrt((l*l*(c*c)-l*l*(y*y)-c*c*(b*b))/(l*l*(y*y)+c*c*(b*b)));if(r===a)k*=-1;if(isNaN(k))k=0;let A=k*l*y/c,T=k*-c*b/l,R=(e+s)/2+Math.cos(d)*A-Math.sin(d)*T,D=(n+i)/2+Math.sin(d)*A+Math.cos(d)*T,U=function(ie){return Math.sqrt(ie[0]*ie[0]+ie[1]*ie[1])},Y=function(ie,se){return(ie[0]*se[0]+ie[1]*se[1])/(U(ie)*U(se))},X=function(ie,se){return(ie[0]*se[1]<ie[1]*se[0]?-1:1)*Math.acos(Y(ie,se))},J=X([1,0],[(b-A)/l,(y-T)/c]),ee=[(b-A)/l,(y-T)/c],te=[(-1*b-A)/l,(-1*y-T)/c],ne=X(ee,te);if(Y(ee,te)<=-1)ne=Math.PI;if(Y(ee,te)>=1)ne=0;if(a===0&&ne>0)ne=ne-2*Math.PI;if(a===1&&ne<0)ne=ne+2*Math.PI;return[R,D,l,c,J,ne,d,a]}}as.prototype.className="Path";as.prototype._attrsAffectingSize=["data"];sn(as);he.addGetterSetter(as,"data");class Eo extends Fr{_sceneFunc(e){super._sceneFunc(e);let n=Math.PI*2,s=this.points(),i=s,r=this.tension()!==0&&s.length>4;if(r)i=this.getTensionPoints();let a=this.pointerLength(),l=s.length,c,f;if(r){let y=[i[i.length-4],i[i.length-3],i[i.length-2],i[i.length-1],s[l-2],s[l-1]],v=as.calcLength(i[i.length-4],i[i.length-3],"C",y),k=as.getPointOnQuadraticBezier(Math.min(1,1-a/v),y[0],y[1],y[2],y[3],y[4],y[5]);c=s[l-2]-k.x,f=s[l-1]-k.y}else c=s[l-2]-s[l-4],f=s[l-1]-s[l-3];let d=(Math.atan2(f,c)+n)%n,b=this.pointerWidth();if(this.pointerAtEnding())e.save(),e.beginPath(),e.translate(s[l-2],s[l-1]),e.rotate(d),e.moveTo(0,0),e.lineTo(-a,b/2),e.lineTo(-a,-b/2),e.closePath(),e.restore(),this.__fillStroke(e);if(this.pointerAtBeginning()){if(e.save(),e.beginPath(),e.translate(s[0],s[1]),r)c=(i[0]+i[2])/2-s[0],f=(i[1]+i[3])/2-s[1];else c=s[2]-s[0],f=s[3]-s[1];e.rotate((Math.atan2(-f,-c)+n)%n),e.moveTo(0,0),e.lineTo(-a,b/2),e.lineTo(-a,-b/2),e.closePath(),e.restore(),this.__fillStroke(e)}}__fillStroke(e){let n=this.dashEnabled();if(n)this.attrs.dashEnabled=!1,e.setLineDash([]);if(e.fillStrokeShape(this),n)this.attrs.dashEnabled=!0}getSelfRect(){let e=super.getSelfRect(),n=this.pointerWidth()/2;return{x:e.x,y:e.y-n,width:e.width,height:e.height+n*2}}}Eo.prototype.className="Arrow";sn(Eo);he.addGetterSetter(Eo,"pointerLength",10,Ye());he.addGetterSetter(Eo,"pointerWidth",10,Ye());he.addGetterSetter(Eo,"pointerAtBeginning",!1);he.addGetterSetter(Eo,"pointerAtEnding",!0);class pl extends Ze{_sceneFunc(e){e.beginPath(),e.arc(0,0,this.attrs.radius||0,0,Math.PI*2,!1),e.closePath(),e.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(e){if(this.radius()!==e/2)this.radius(e/2)}setHeight(e){if(this.radius()!==e/2)this.radius(e/2)}}pl.prototype._centroid=!0;pl.prototype.className="Circle";pl.prototype._attrsAffectingSize=["radius"];sn(pl);he.addGetterSetter(pl,"radius",0,Ye());class Ua extends Ze{_sceneFunc(e){let n=this.radiusX(),s=this.radiusY();if(e.beginPath(),e.save(),n!==s)e.scale(1,s/n);e.arc(0,0,n,0,Math.PI*2,!1),e.restore(),e.closePath(),e.fillStrokeShape(this)}getWidth(){return this.radiusX()*2}getHeight(){return this.radiusY()*2}setWidth(e){this.radiusX(e/2)}setHeight(e){this.radiusY(e/2)}}Ua.prototype.className="Ellipse";Ua.prototype._centroid=!0;Ua.prototype._attrsAffectingSize=["radiusX","radiusY"];sn(Ua);he.addComponentsGetterSetter(Ua,"radius",["x","y"]);he.addGetterSetter(Ua,"radiusX",0,Ye());he.addGetterSetter(Ua,"radiusY",0,Ye());class er extends Ze{constructor(e){super(e);this._loadListener=()=>{this._requestDraw()},this.on("imageChange.konva",(n)=>{this._removeImageLoad(n.oldVal),this._setImageLoad()}),this._setImageLoad()}_setImageLoad(){let e=this.image();if(e&&e.complete)return;if(e&&e.readyState===4)return;if(e&&e.addEventListener)e.addEventListener("load",this._loadListener)}_removeImageLoad(e){if(e&&e.removeEventListener)e.removeEventListener("load",this._loadListener)}destroy(){return this._removeImageLoad(this.image()),super.destroy(),this}_useBufferCanvas(){let e=!!this.cornerRadius(),n=this.hasShadow();if(e&&n)return!0;return super._useBufferCanvas(!0)}_sceneFunc(e){let n=this.getWidth(),s=this.getHeight(),i=this.cornerRadius(),r=this.attrs.image,a;if(r){let l=this.attrs.cropWidth,c=this.attrs.cropHeight;if(l&&c)a=[r,this.cropX(),this.cropY(),l,c,0,0,n,s];else a=[r,0,0,n,s]}if(this.hasFill()||this.hasStroke()||i)e.beginPath(),i?je.drawRoundedRectPath(e,n,s,i):e.rect(0,0,n,s),e.closePath(),e.fillStrokeShape(this);if(r){if(i)e.clip();e.drawImage.apply(e,a)}}_hitFunc(e){let n=this.width(),s=this.height(),i=this.cornerRadius();if(e.beginPath(),!i)e.rect(0,0,n,s);else je.drawRoundedRectPath(e,n,s,i);e.closePath(),e.fillStrokeShape(this)}getWidth(){var e,n,s;return(s=(e=this.attrs.width)!==null&&e!==void 0?e:(n=this.image())===null||n===void 0?void 0:n.width)!==null&&s!==void 0?s:0}getHeight(){var e,n,s;return(s=(e=this.attrs.height)!==null&&e!==void 0?e:(n=this.image())===null||n===void 0?void 0:n.height)!==null&&s!==void 0?s:0}static fromURL(e,n,s=null){let i=je.createImageElement();i.onload=function(){let r=new er({image:i});n(r)},i.onerror=s,i.crossOrigin="Anonymous",i.src=e}}er.prototype.className="Image";er.prototype._attrsAffectingSize=["image"];sn(er);he.addGetterSetter(er,"cornerRadius",0,dl(4));he.addGetterSetter(er,"image");he.addComponentsGetterSetter(er,"crop",["x","y","width","height"]);he.addGetterSetter(er,"cropX",0,Ye());he.addGetterSetter(er,"cropY",0,Ye());he.addGetterSetter(er,"cropWidth",0,Ye());he.addGetterSetter(er,"cropHeight",0,Ye());var D4=["fontFamily","fontSize","fontStyle","padding","lineHeight","text","width","height","pointerDirection","pointerWidth","pointerHeight"],DR="Change.konva",qR="none",Ab="up",Tb="right",Eb="down",Cb="left",MR=D4.length;class Vh extends Ha{constructor(e){super(e);this.on("add.konva",function(n){this._addListeners(n.child),this._sync()})}getText(){return this.find("Text")[0]}getTag(){return this.find("Tag")[0]}_addListeners(e){let n=this,s,i=function(){n._sync()};for(s=0;s<MR;s++)e.on(D4[s]+DR,i)}getWidth(){return this.getText().width()}getHeight(){return this.getText().height()}_sync(){let e=this.getText(),n=this.getTag(),s,i,r,a,l,c,f;if(e&&n){switch(s=e.width(),i=e.height(),r=n.pointerDirection(),a=n.pointerWidth(),f=n.pointerHeight(),l=0,c=0,r){case Ab:l=s/2,c=-1*f;break;case Tb:l=s+a,c=i/2;break;case Eb:l=s/2,c=i+f;break;case Cb:l=-1*a,c=i/2;break}n.setAttrs({x:-1*l,y:-1*c,width:s,height:i}),e.setAttrs({x:-1*l,y:-1*c})}}}Vh.prototype.className="Label";sn(Vh);class Co extends Ze{_sceneFunc(e){let n=this.width(),s=this.height(),i=this.pointerDirection(),r=this.pointerWidth(),a=this.pointerHeight(),l=this.cornerRadius(),c=0,f=0,d=0,b=0;if(typeof l==="number")c=f=d=b=Math.min(l,n/2,s/2);else c=Math.min(l[0]||0,n/2,s/2),f=Math.min(l[1]||0,n/2,s/2),b=Math.min(l[2]||0,n/2,s/2),d=Math.min(l[3]||0,n/2,s/2);if(e.beginPath(),e.moveTo(c,0),i===Ab)e.lineTo((n-r)/2,0),e.lineTo(n/2,-1*a),e.lineTo((n+r)/2,0);if(e.lineTo(n-f,0),e.arc(n-f,f,f,Math.PI*3/2,0,!1),i===Tb)e.lineTo(n,(s-a)/2),e.lineTo(n+r,s/2),e.lineTo(n,(s+a)/2);if(e.lineTo(n,s-b),e.arc(n-b,s-b,b,0,Math.PI/2,!1),i===Eb)e.lineTo((n+r)/2,s),e.lineTo(n/2,s+a),e.lineTo((n-r)/2,s);if(e.lineTo(d,s),e.arc(d,s-d,d,Math.PI/2,Math.PI,!1),i===Cb)e.lineTo(0,(s+a)/2),e.lineTo(-1*r,s/2),e.lineTo(0,(s-a)/2);e.lineTo(0,c),e.arc(c,c,c,Math.PI,Math.PI*3/2,!1),e.closePath(),e.fillStrokeShape(this)}getSelfRect(){let e=0,n=0,s=this.pointerWidth(),i=this.pointerHeight(),r=this.pointerDirection(),a=this.width(),l=this.height();if(r===Ab)n-=i,l+=i;else if(r===Eb)l+=i;else if(r===Cb)e-=s*1.5,a+=s;else if(r===Tb)a+=s*1.5;return{x:e,y:n,width:a,height:l}}}Co.prototype.className="Tag";sn(Co);he.addGetterSetter(Co,"pointerDirection",qR);he.addGetterSetter(Co,"pointerWidth",0,Ye());he.addGetterSetter(Co,"pointerHeight",0,Ye());he.addGetterSetter(Co,"cornerRadius",0,dl(4));class gl extends Ze{_sceneFunc(e){let n=this.cornerRadius(),s=this.width(),i=this.height();if(e.beginPath(),!n)e.rect(0,0,s,i);else je.drawRoundedRectPath(e,s,i,n);e.closePath(),e.fillStrokeShape(this)}}gl.prototype.className="Rect";sn(gl);he.addGetterSetter(gl,"cornerRadius",0,dl(4));class za extends Ze{_sceneFunc(e){let n=this._getPoints(),s=this.radius(),i=this.sides(),r=this.cornerRadius();if(e.beginPath(),!r){e.moveTo(n[0].x,n[0].y);for(let a=1;a<n.length;a++)e.lineTo(n[a].x,n[a].y)}else je.drawRoundedPolygonPath(e,n,i,s,r);e.closePath(),e.fillStrokeShape(this)}_getPoints(){let e=this.attrs.sides,n=this.attrs.radius||0,s=[];for(let i=0;i<e;i++)s.push({x:n*Math.sin(i*2*Math.PI/e),y:-1*n*Math.cos(i*2*Math.PI/e)});return s}getSelfRect(){let e=this._getPoints(),n=e[0].x,s=e[0].x,i=e[0].y,r=e[0].y;return e.forEach((a)=>{n=Math.min(n,a.x),s=Math.max(s,a.x),i=Math.min(i,a.y),r=Math.max(r,a.y)}),{x:n,y:i,width:s-n,height:r-i}}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(e){this.radius(e/2)}setHeight(e){this.radius(e/2)}}za.prototype.className="RegularPolygon";za.prototype._centroid=!0;za.prototype._attrsAffectingSize=["radius"];sn(za);he.addGetterSetter(za,"radius",0,Ye());he.addGetterSetter(za,"sides",0,Ye());he.addGetterSetter(za,"cornerRadius",0,dl(4));var q4=Math.PI*2;class _o extends Ze{_sceneFunc(e){e.beginPath(),e.arc(0,0,this.innerRadius(),0,q4,!1),e.moveTo(this.outerRadius(),0),e.arc(0,0,this.outerRadius(),q4,0,!0),e.closePath(),e.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(e){this.outerRadius(e/2)}setHeight(e){this.outerRadius(e/2)}}_o.prototype.className="Ring";_o.prototype._centroid=!0;_o.prototype._attrsAffectingSize=["innerRadius","outerRadius"];sn(_o);he.addGetterSetter(_o,"innerRadius",0,Ye());he.addGetterSetter(_o,"outerRadius",0,Ye());class Lr extends Ze{constructor(e){super(e);this._updated=!0,this.anim=new zi(()=>{let n=this._updated;return this._updated=!1,n}),this.on("animationChange.konva",function(){this.frameIndex(0)}),this.on("frameIndexChange.konva",function(){this._updated=!0}),this.on("frameRateChange.konva",function(){if(!this.anim.isRunning())return;clearInterval(this.interval),this._setInterval()})}_sceneFunc(e){let n=this.animation(),s=this.frameIndex(),i=s*4,r=this.animations()[n],a=this.frameOffsets(),l=r[i+0],c=r[i+1],f=r[i+2],d=r[i+3],b=this.image();if(this.hasFill()||this.hasStroke())e.beginPath(),e.rect(0,0,f,d),e.closePath(),e.fillStrokeShape(this);if(b)if(a){let y=a[n],v=s*2;e.drawImage(b,l,c,f,d,y[v+0],y[v+1],f,d)}else e.drawImage(b,l,c,f,d,0,0,f,d)}_hitFunc(e){let n=this.animation(),s=this.frameIndex(),i=s*4,r=this.animations()[n],a=this.frameOffsets(),l=r[i+2],c=r[i+3];if(e.beginPath(),a){let f=a[n],d=s*2;e.rect(f[d+0],f[d+1],l,c)}else e.rect(0,0,l,c);e.closePath(),e.fillShape(this)}_useBufferCanvas(){return super._useBufferCanvas(!0)}_setInterval(){let e=this;this.interval=setInterval(function(){e._updateIndex()},1000/this.frameRate())}start(){if(this.isRunning())return;let e=this.getLayer();this.anim.setLayers(e),this._setInterval(),this.anim.start()}stop(){this.anim.stop(),clearInterval(this.interval)}isRunning(){return this.anim.isRunning()}_updateIndex(){let e=this.frameIndex(),n=this.animation(),s=this.animations(),i=s[n],r=i.length/4;if(e<r-1)this.frameIndex(e+1);else this.frameIndex(0)}}Lr.prototype.className="Sprite";sn(Lr);he.addGetterSetter(Lr,"animation");he.addGetterSetter(Lr,"animations");he.addGetterSetter(Lr,"frameOffsets");he.addGetterSetter(Lr,"image");he.addGetterSetter(Lr,"frameIndex",0,Ye());he.addGetterSetter(Lr,"frameRate",17,Ye());he.backCompat(Lr,{index:"frameIndex",getIndex:"getFrameIndex",setIndex:"setFrameIndex"});class Va extends Ze{_sceneFunc(e){let n=this.innerRadius(),s=this.outerRadius(),i=this.numPoints();e.beginPath(),e.moveTo(0,0-s);for(let r=1;r<i*2;r++){let a=r%2===0?s:n,l=a*Math.sin(r*Math.PI/i),c=-1*a*Math.cos(r*Math.PI/i);e.lineTo(l,c)}e.closePath(),e.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(e){this.outerRadius(e/2)}setHeight(e){this.outerRadius(e/2)}}Va.prototype.className="Star";Va.prototype._centroid=!0;Va.prototype._attrsAffectingSize=["innerRadius","outerRadius"];sn(Va);he.addGetterSetter(Va,"numPoints",5,Ye());he.addGetterSetter(Va,"innerRadius",0,Ye());he.addGetterSetter(Va,"outerRadius",0,Ye());function wf(e){return[...e].reduce((n,s,i,r)=>{if(/\p{Emoji}/u.test(s)){let a=r[i+1];if(a&&/\p{Emoji_Modifier}|\u200D/u.test(a))n.push(s+a),r[i+1]="";else n.push(s)}else if(/\p{Regional_Indicator}{2}/u.test(s+(r[i+1]||"")))n.push(s+r[i+1]);else if(i>0&&/\p{Mn}|\p{Me}|\p{Mc}/u.test(s))n[n.length-1]+=s;else if(s)n.push(s);return n},[])}var bf="auto",FR="center",P4="inherit",$h="justify",LR="Change.konva",N4="2d",M4="-",B4="left",OR="text",PR="Text",NR="top",BR="bottom",F4="middle",H4="normal",HR="px ",H0=" ",UR="right",L4="rtl",zR="word",GR="char",O4="none",jb="…",U4=["direction","fontFamily","fontSize","fontStyle","fontVariant","padding","align","verticalAlign","lineHeight","text","width","height","wrap","ellipsis","letterSpacing"],VR=U4.length,Xh=null;function $R(){if(Xh!==null)return Xh;Xh=!1;try{let e=document.createElement("canvas");e.width=10,e.height=10;let n=e.getContext(N4);if(n){n.globalAlpha=0,n.shadowColor="black",n.shadowBlur=5,n.shadowOffsetX=5,n.shadowOffsetY=5,n.fillStyle="black",n.font="10px Arial",n.fillText("X",0,10);let s=n.getImageData(0,0,10,10).data;for(let i=3;i<s.length;i+=4)if(s[i]>0){Xh=!0;break}}}catch(e){}return Xh}function XR(e){return e.split(",").map((n)=>{n=n.trim();let s=n.indexOf(" ")>=0,i=n.indexOf('"')>=0||n.indexOf("'")>=0;if(s&&!i)n=`"${n}"`;return n}).join(", ")}var U0;function _b(){if(U0)return U0;return U0=je.createCanvasElement().getContext(N4),U0}function WR(e){if(this._partialFillStyle)e.setAttr("fillStyle",this._partialFillStyle);e.fillText(this._partialText,this._partialTextX,this._partialTextY)}function KR(e){if(e.setAttr("miterLimit",2),this._partialStrokeStyle)e.setAttr("strokeStyle",this._partialStrokeStyle);e.strokeText(this._partialText,this._partialTextX,this._partialTextY)}function YR(e){if(e=e||{},!e.fillLinearGradientColorStops&&!e.fillRadialGradientColorStops&&!e.fillPatternImage)e.fill=e.fill||"black";return e}class $n extends Ze{constructor(e){super(YR(e));this._partialTextX=0,this._partialTextY=0;for(let n=0;n<VR;n++)this.on(U4[n]+LR,this._setTextData);this._setTextData()}_sceneFunc(e){var n,s;let i=this.textArr,r=i.length;if(!this.text())return;let a=this.padding(),l=this.fontSize(),c=this.lineHeight()*l,f=this.verticalAlign(),d=this.direction(),b=0,y=this.align(),v=this.getWidth(),k=this.letterSpacing(),A=this.charRenderFunc(),T=this.fill(),R=this.textDecoration(),D=this.underlineOffset(),U=R.indexOf("underline")!==-1,Y=R.indexOf("line-through")!==-1,X;d=d===P4?e.direction:d;let J=c/2,ee=F4;if(!rt.legacyTextRendering){let ie=this.measureSize("M");ee="alphabetic";let se=(n=ie.fontBoundingBoxAscent)!==null&&n!==void 0?n:ie.actualBoundingBoxAscent,ae=(s=ie.fontBoundingBoxDescent)!==null&&s!==void 0?s:ie.actualBoundingBoxDescent;J=(se-ae)/2+c/2}if(d===L4)e.setAttr("direction",d);if(e.setAttr("font",this._getContextFont()),e.setAttr("textBaseline",ee),e.setAttr("textAlign",B4),f===F4)b=(this.getHeight()-r*c-a*2)/2;else if(f===BR)b=this.getHeight()-r*c-a*2;e.translate(a,b+a);let te=A?e.fillStyle:void 0,ne=A?e.strokeStyle:void 0;for(X=0;X<r;X++){let ie=0,se=0,ae=i[X],{text:be,width:ye,lastInParagraph:fe}=ae;if(e.save(),y===UR)ie+=v-ye-a*2;else if(y===FR)ie+=(v-ye-a*2)/2;if(U){e.save(),e.beginPath();let oe=D!==null&&D!==void 0?D:!rt.legacyTextRendering?Math.round(l/4):Math.round(l/2),Se=ie,we=J+se+oe;e.moveTo(Se,we);let Fe=y===$h&&!fe?v-a*2:ye;e.lineTo(Se+Math.round(Fe),we),e.lineWidth=l/15;let De=this._getLinearGradient();e.strokeStyle=De||T,e.stroke(),e.restore()}let le=ie;if(d!==L4&&(k!==0||y===$h||A)){let oe=be.split(" ").length-1,Se=wf(be);for(let we=0;we<Se.length;we++){let Fe=Se[we];if(Fe===" "&&!fe&&y===$h)ie+=(v-a*2-ye)/oe;if(this._partialTextX=ie,this._partialTextY=J+se,this._partialText=Fe,A){e.save();let Le=i.slice(0,X).reduce((tt,St)=>tt+wf(St.text).length,0),Be=we+Le;A({char:Fe,index:Be,x:ie,y:J+se,lineIndex:X,column:we,isLastInLine:fe,width:this.measureSize(Fe).width,context:e});let Ke=e.fillStyle;if(Ke!==te)this._partialFillStyle=Ke;let at=e.strokeStyle;if(at!==ne)this._partialStrokeStyle=at}if(e.fillStrokeShape(this),A)this._partialFillStyle=void 0,this._partialStrokeStyle=void 0,e.restore();ie+=this.measureSize(Fe).width+k}}else{if(k!==0)e.setAttr("letterSpacing",`${k}px`);this._partialTextX=ie,this._partialTextY=J+se,this._partialText=be,e.fillStrokeShape(this)}if(Y){e.save(),e.beginPath();let oe=!rt.legacyTextRendering?-Math.round(l/4):0,Se=le;e.moveTo(Se,J+se+oe);let we=y===$h&&!fe?v-a*2:ye;e.lineTo(Se+Math.round(we),J+se+oe),e.lineWidth=l/15;let Fe=this._getLinearGradient();e.strokeStyle=Fe||T,e.stroke(),e.restore()}if(e.restore(),r>1)J+=c}}_hitFunc(e){let n=this.getWidth(),s=this.getHeight();e.beginPath(),e.rect(0,0,n,s),e.closePath(),e.fillStrokeShape(this)}setText(e){let n=je._isString(e)?e:e===null||e===void 0?"":e+"";return this._setAttr(OR,n),this}getWidth(){return this.attrs.width===bf||this.attrs.width===void 0?this.getTextWidth()+this.padding()*2:this.attrs.width}getHeight(){return this.attrs.height===bf||this.attrs.height===void 0?this.fontSize()*this.textArr.length*this.lineHeight()+this.padding()*2:this.attrs.height}getTextWidth(){return this.textWidth}getTextHeight(){return je.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."),this.textHeight}measureSize(e){var n,s,i,r,a,l,c,f,d,b,y;let v=_b(),k=this.fontSize(),A;v.save(),v.font=this._getContextFont(),A=v.measureText(e),v.restore();let T=k/100;return{actualBoundingBoxAscent:(n=A.actualBoundingBoxAscent)!==null&&n!==void 0?n:71.58203125*T,actualBoundingBoxDescent:(s=A.actualBoundingBoxDescent)!==null&&s!==void 0?s:0,actualBoundingBoxLeft:(i=A.actualBoundingBoxLeft)!==null&&i!==void 0?i:-7.421875*T,actualBoundingBoxRight:(r=A.actualBoundingBoxRight)!==null&&r!==void 0?r:75.732421875*T,alphabeticBaseline:(a=A.alphabeticBaseline)!==null&&a!==void 0?a:0,emHeightAscent:(l=A.emHeightAscent)!==null&&l!==void 0?l:100*T,emHeightDescent:(c=A.emHeightDescent)!==null&&c!==void 0?c:-20*T,fontBoundingBoxAscent:(f=A.fontBoundingBoxAscent)!==null&&f!==void 0?f:91*T,fontBoundingBoxDescent:(d=A.fontBoundingBoxDescent)!==null&&d!==void 0?d:21*T,hangingBaseline:(b=A.hangingBaseline)!==null&&b!==void 0?b:72.80000305175781*T,ideographicBaseline:(y=A.ideographicBaseline)!==null&&y!==void 0?y:-21*T,width:A.width,height:k}}_getContextFont(){return this.fontStyle()+H0+this.fontVariant()+H0+(this.fontSize()+HR)+XR(this.fontFamily())}_addTextLine(e){if(this.align()===$h)e=e.trim();let s=this._getTextWidth(e);return this.textArr.push({text:e,width:s,lastInParagraph:!1})}_getTextWidth(e){let n=this.letterSpacing(),s=e.length;return _b().measureText(e).width+n*s}_setTextData(){let e=this.text().split(`
67
- `),n=+this.fontSize(),s=0,i=this.lineHeight()*n,r=this.attrs.width,a=this.attrs.height,l=r!==bf&&r!==void 0,c=a!==bf&&a!==void 0,f=this.padding(),d=r-f*2,b=a-f*2,y=0,v=this.wrap(),k=v!==O4,A=v!==GR&&k,T=this.ellipsis();this.textArr=[],_b().font=this._getContextFont();let R=T?this._getTextWidth(jb):0;for(let D=0,U=e.length;D<U;++D){let Y=e[D],X=this._getTextWidth(Y);if(l&&X>d)while(Y.length>0){let J=wf(Y),ee=0,te=J.length,ne="",ie=0;while(ee<te){let se=ee+te>>>1,ae=J.slice(0,se+1).join(""),be=this._getTextWidth(ae);if((T&&c&&y+i>b?be+R:be)<=d)ee=se+1,ne=ae,ie=be;else te=se}if(ne){if(A){let ae=wf(ne),be=J[ae.length],ye=be===H0||be===M4,fe;if(ye&&ie<=d)fe=ae.length;else{let le=ae.lastIndexOf(H0),oe=ae.lastIndexOf(M4);fe=Math.max(le,oe)+1}if(fe>0)ee=fe,ne=J.slice(0,ee).join(""),ie=this._getTextWidth(ne)}if(ne=ne.trimRight(),this._addTextLine(ne),s=Math.max(s,ie),y+=i,this._shouldHandleEllipsis(y)){this._tryToAddEllipsisToLastLine();break}if(Y=J.slice(ee).join("").trimLeft(),Y.length>0){if(X=this._getTextWidth(Y),X<=d){this._addTextLine(Y),y+=i,s=Math.max(s,X);break}}}else break}else if(this._addTextLine(Y),y+=i,s=Math.max(s,X),this._shouldHandleEllipsis(y)&&D<U-1)this._tryToAddEllipsisToLastLine();if(this.textArr[this.textArr.length-1])this.textArr[this.textArr.length-1].lastInParagraph=!0;if(c&&y+i>b)break}this.textHeight=n,this.textWidth=s}_shouldHandleEllipsis(e){let n=+this.fontSize(),s=this.lineHeight()*n,i=this.attrs.height,r=i!==bf&&i!==void 0,a=this.padding(),l=i-a*2;return this.wrap()===O4||r&&e+s>l}_tryToAddEllipsisToLastLine(){let e=this.attrs.width,n=e!==bf&&e!==void 0,s=this.padding(),i=e-s*2,r=this.ellipsis(),a=this.textArr[this.textArr.length-1];if(!a||!r)return;if(n){if(!(this._getTextWidth(a.text+jb)<i))a.text=a.text.slice(0,a.text.length-3)}this.textArr.splice(this.textArr.length-1,1),this._addTextLine(a.text+jb)}getStrokeScaleEnabled(){return!0}_useBufferCanvas(){let e=this.textDecoration().indexOf("underline")!==-1||this.textDecoration().indexOf("line-through")!==-1,n=this.hasShadow();if(e&&n)return!0;if(n&&this.getAbsoluteOpacity()!==1&&$R())return!0;return super._useBufferCanvas()}}$n.prototype._fillFunc=WR;$n.prototype._strokeFunc=KR;$n.prototype.className=PR;$n.prototype._attrsAffectingSize=["text","fontSize","padding","wrap","lineHeight","letterSpacing"];sn($n);he.overWriteSetter($n,"width",Mh());he.overWriteSetter($n,"height",Mh());he.addGetterSetter($n,"direction",P4);he.addGetterSetter($n,"fontFamily","Arial");he.addGetterSetter($n,"fontSize",12,Ye());he.addGetterSetter($n,"fontStyle",H4);he.addGetterSetter($n,"fontVariant",H4);he.addGetterSetter($n,"padding",0,Ye());he.addGetterSetter($n,"align",B4);he.addGetterSetter($n,"verticalAlign",NR);he.addGetterSetter($n,"lineHeight",1,Ye());he.addGetterSetter($n,"wrap",zR);he.addGetterSetter($n,"ellipsis",!1,Ei());he.addGetterSetter($n,"letterSpacing",0,Ye());he.addGetterSetter($n,"text","",Na());he.addGetterSetter($n,"textDecoration","");he.addGetterSetter($n,"underlineOffset",void 0,Ye());he.addGetterSetter($n,"charRenderFunc",void 0);var QR="",z4="normal";function G4(e){e.fillText(this.partialText,0,0)}function V4(e){e.strokeText(this.partialText,0,0)}class $s extends Ze{constructor(e){super(e);this.dummyCanvas=je.createCanvasElement(),this.dataArray=[],this._readDataAttribute(),this.on("dataChange.konva",function(){this._readDataAttribute(),this._setTextData()}),this.on("textChange.konva alignChange.konva letterSpacingChange.konva kerningFuncChange.konva fontSizeChange.konva fontFamilyChange.konva directionChange.konva",this._setTextData),this._setTextData()}_getTextPathLength(){return as.getPathLength(this.dataArray)}_getPointAtLength(e){if(!this.attrs.data)return null;let n=this.pathLength;if(e>n)return null;return as.getPointAtLengthOfDataArray(e,this.dataArray)}_readDataAttribute(){this.dataArray=as.parsePathData(this.attrs.data),this.pathLength=this._getTextPathLength()}_sceneFunc(e){e.setAttr("font",this._getContextFont()),e.setAttr("textBaseline",this.textBaseline()),e.setAttr("textAlign","left"),e.save();let n=this.textDecoration(),s=this.fill(),i=this.fontSize(),r=this.glyphInfo,a=n.indexOf("underline")!==-1,l=n.indexOf("line-through")!==-1;if(a)e.beginPath();for(let c=0;c<r.length;c++){e.save();let f=r[c].p0;if(e.translate(f.x,f.y),e.rotate(r[c].rotation),this.partialText=r[c].text,e.fillStrokeShape(this),a){if(c===0)e.moveTo(0,i/2+1);e.lineTo(r[c].width,i/2+1)}e.restore()}if(a)e.strokeStyle=s,e.lineWidth=i/20,e.stroke();if(l){e.beginPath();for(let c=0;c<r.length;c++){e.save();let f=r[c].p0;if(e.translate(f.x,f.y),e.rotate(r[c].rotation),c===0)e.moveTo(0,0);e.lineTo(r[c].width,0),e.restore()}e.strokeStyle=s,e.lineWidth=i/20,e.stroke()}e.restore()}_hitFunc(e){e.beginPath();let n=this.glyphInfo;if(n.length>=1){let s=n[0].p0;e.moveTo(s.x,s.y)}for(let s=0;s<n.length;s++){let i=n[s].p1;e.lineTo(i.x,i.y)}e.setAttr("lineWidth",this.fontSize()),e.setAttr("strokeStyle",this.colorKey),e.stroke()}getTextWidth(){return this.textWidth}getTextHeight(){return je.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."),this.textHeight}setText(e){return $n.prototype.setText.call(this,e)}_getContextFont(){return $n.prototype._getContextFont.call(this)}_getTextSize(e){let s=this.dummyCanvas.getContext("2d");s.save(),s.font=this._getContextFont();let i=s.measureText(e);return s.restore(),{width:i.width,height:parseInt(`${this.fontSize()}`,10)}}_setTextData(){let e=wf(this.text());if(this.direction()==="rtl")e.reverse();let n=[],s=0;for(let v=0;v<e.length;v++)n.push({char:e[v],width:this._getTextSize(e[v]).width}),s+=n[v].width;let{width:i,height:r}=this._getTextSize(this.attrs.text);if(this.textWidth=s,this.textHeight=r,this.glyphInfo=[],!this.attrs.data)return null;let a=this.letterSpacing(),l=this.align(),c=this.kerningFunc(),f=Math.max(0,s-i),d=Math.max(this.textWidth+((this.attrs.text||"").length-1)*a,0),b=0;if(l==="center")b=Math.max(0,this.pathLength/2-d/2);if(l==="right")b=Math.max(0,this.pathLength-d);let y=b;for(let v=0;v<n.length;v++){let k=this._getPointAtLength(y);if(!k)return;let A=n[v].char,T=n[v].width+a;if(A===" "&&l==="justify"){let ee=this.text().split(" ").length-1;T+=(this.pathLength-d)/ee}let R=y+T,D=this._getPointAtLength(R>this.pathLength&&R-this.pathLength<=f?this.pathLength:R);if(!D)return;let U=as.getLineLength(k.x,k.y,D.x,D.y),Y=0;if(c)try{Y=c(n[v-1].char,A)*this.fontSize()}catch(ee){Y=0}k.x+=Y,D.x+=Y,this.textWidth+=Y;let X=as.getPointOnLine(Y+U/2,k.x,k.y,D.x,D.y),J=Math.atan2(D.y-k.y,D.x-k.x);this.glyphInfo.push({transposeX:X.x,transposeY:X.y,text:e[v],rotation:J,p0:k,p1:D,width:U}),y+=T}}getSelfRect(){if(!this.glyphInfo.length)return{x:0,y:0,width:0,height:0};let e=[];this.glyphInfo.forEach(function(f){e.push(f.p0.x),e.push(f.p0.y),e.push(f.p1.x),e.push(f.p1.y)});let n=e[0]||0,s=e[0]||0,i=e[1]||0,r=e[1]||0,a,l;for(let f=0;f<e.length/2;f++)a=e[f*2],l=e[f*2+1],n=Math.min(n,a),s=Math.max(s,a),i=Math.min(i,l),r=Math.max(r,l);let c=this.fontSize();return{x:n-c/2,y:i-c/2,width:s-n+c,height:r-i+c}}destroy(){return je.releaseCanvas(this.dummyCanvas),super.destroy()}}$s.prototype._fillFunc=G4;$s.prototype._strokeFunc=V4;$s.prototype._fillFuncHit=G4;$s.prototype._strokeFuncHit=V4;$s.prototype.className="TextPath";$s.prototype._attrsAffectingSize=["text","fontSize","data"];sn($s);he.addGetterSetter($s,"data");he.addGetterSetter($s,"fontFamily","Arial");he.addGetterSetter($s,"fontSize",12,Ye());he.addGetterSetter($s,"fontStyle",z4);he.addGetterSetter($s,"align","left");he.addGetterSetter($s,"letterSpacing",0,Ye());he.addGetterSetter($s,"textBaseline","middle");he.addGetterSetter($s,"fontVariant",z4);he.addGetterSetter($s,"text",QR);he.addGetterSetter($s,"textDecoration","");he.addGetterSetter($s,"kerningFunc",void 0);he.addGetterSetter($s,"direction","inherit");var W4="tr-konva",JR=["resizeEnabledChange","rotateAnchorOffsetChange","rotateAnchorAngleChange","rotateEnabledChange","enabledAnchorsChange","anchorSizeChange","borderEnabledChange","borderStrokeChange","borderStrokeWidthChange","borderDashChange","anchorStrokeChange","anchorStrokeWidthChange","anchorFillChange","anchorCornerRadiusChange","ignoreStrokeChange","anchorStyleFuncChange"].map((e)=>e+`.${W4}`).join(" "),$4="nodesRect",ZR=["widthChange","heightChange","scaleXChange","scaleYChange","skewXChange","skewYChange","rotationChange","offsetXChange","offsetYChange","transformsEnabledChange","strokeWidthChange","draggableChange"],eD={"top-left":-45,"top-center":0,"top-right":45,"middle-right":-90,"middle-left":90,"bottom-left":-135,"bottom-center":180,"bottom-right":135},tD="ontouchstart"in rt._global;function nD(e,n,s){if(e==="rotater")return s;n+=je.degToRad(eD[e]||0);let i=(je.radToDeg(n)%360+360)%360;if(je._inRange(i,337.5,360)||je._inRange(i,0,22.5))return"ns-resize";else if(je._inRange(i,22.5,67.5))return"nesw-resize";else if(je._inRange(i,67.5,112.5))return"ew-resize";else if(je._inRange(i,112.5,157.5))return"nwse-resize";else if(je._inRange(i,157.5,202.5))return"ns-resize";else if(je._inRange(i,202.5,247.5))return"nesw-resize";else if(je._inRange(i,247.5,292.5))return"ew-resize";else if(je._inRange(i,292.5,337.5))return"nwse-resize";else return je.error("Transformer has unknown angle for cursor detection: "+i),"pointer"}var z0=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"],X4=1e8;function sD(e){return{x:e.x+e.width/2*Math.cos(e.rotation)+e.height/2*Math.sin(-e.rotation),y:e.y+e.height/2*Math.cos(e.rotation)+e.width/2*Math.sin(e.rotation)}}function K4(e,n,s){let i=s.x+(e.x-s.x)*Math.cos(n)-(e.y-s.y)*Math.sin(n),r=s.y+(e.x-s.x)*Math.sin(n)+(e.y-s.y)*Math.cos(n);return{...e,rotation:e.rotation+n,x:i,y:r}}function iD(e,n){let s=sD(e);return K4(e,n,s)}function rD(e,n,s){let i=n;for(let r=0;r<e.length;r++){let a=rt.getAngle(e[r]),l=Math.abs(a-n)%(Math.PI*2);if(Math.min(l,Math.PI*2-l)<s)i=a}return i}var Ib=0;class wn extends Ha{constructor(e){super(e);if(this._movingAnchorName=null,this._transforming=!1,this._transformWindow=null,this._elementsCreated=!1,this._updateScheduled=!1,this._createElements(),this._handleMouseMove=this._handleMouseMove.bind(this),this._handleMouseUp=this._handleMouseUp.bind(this),this.update=this.update.bind(this),this.on(JR,this.update),this.getNode())this.update()}attachTo(e){return this.setNode(e),this}setNode(e){return je.warn("tr.setNode(shape), tr.node(shape) and tr.attachTo(shape) methods are deprecated. Please use tr.nodes(nodesArray) instead."),this.setNodes([e])}getNode(){return this._nodes&&this._nodes[0]}_getEventNamespace(){return W4+this._id}setNodes(e=[]){if(this._nodes&&this._nodes.length)this.detach();let n=e.filter((i)=>{if(i.isAncestorOf(this))return je.error("Konva.Transformer cannot be an a child of the node you are trying to attach"),!1;return!0});if(this._nodes=e=n,e.length===1&&this.useSingleNodeRotation())this.rotation(e[0].getAbsoluteRotation());else this.rotation(0);if(this._nodes.forEach((i)=>{let r=()=>{if(this._transforming)return;if(this.nodes().length===1&&this.useSingleNodeRotation())this.rotation(this.nodes()[0].getAbsoluteRotation());if(this._resetTransformCache(),!this.isDragging())this._scheduleUpdate()};if(i._attrsAffectingSize.length){let a=i._attrsAffectingSize.map((l)=>l+"Change."+this._getEventNamespace()).join(" ");i.on(a,r)}i.on(ZR.map((a)=>a+`.${this._getEventNamespace()}`).join(" "),r),i.on(`absoluteTransformChange.${this._getEventNamespace()}`,r),this._proxyDrag(i)}),this._resetTransformCache(),!!this.findOne(".top-left"))this.update();return this}_proxyDrag(e){let n;e.on(`dragstart.${this._getEventNamespace()}`,(s)=>{if(n=e.getAbsolutePosition(),!this.isDragging()&&e!==this.findOne(".back"))this.startDrag(s,!1)}),e.on(`dragmove.${this._getEventNamespace()}`,(s)=>{if(!n)return;let i=e.getAbsolutePosition(),r=i.x-n.x,a=i.y-n.y;this.nodes().forEach((l)=>{if(l===e)return;if(l.isDragging())return;let c=l.getAbsolutePosition();l.setAbsolutePosition({x:c.x+r,y:c.y+a}),l.startDrag(s)}),n=null})}getNodes(){return this._nodes||[]}getActiveAnchor(){return this._movingAnchorName}detach(){if(this._nodes)this._nodes.forEach((e)=>{e.off("."+this._getEventNamespace())});this._nodes=[],this._resetTransformCache()}_resetTransformCache(){this._clearCache($4),this._clearCache("transform"),this._clearSelfAndDescendantCache("absoluteTransform")}_getNodeRect(){return this._getCache($4,this.__getNodeRect)}__getNodeShape(e,n=this.rotation(),s){let i=e.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),r=e.getAbsoluteScale(s),a=e.getAbsolutePosition(s),l=i.x*r.x-e.offsetX()*r.x,c=i.y*r.y-e.offsetY()*r.y,f=(rt.getAngle(e.getAbsoluteRotation())+Math.PI*2)%(Math.PI*2),d={x:a.x+l*Math.cos(f)+c*Math.sin(-f),y:a.y+c*Math.cos(f)+l*Math.sin(f),width:i.width*r.x,height:i.height*r.y,rotation:f};return K4(d,-rt.getAngle(n),{x:0,y:0})}__getNodeRect(){if(!this.getNode())return{x:-X4,y:-X4,width:0,height:0,rotation:0};let n=[];this.nodes().map((f)=>{let d=f.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),b=[{x:d.x,y:d.y},{x:d.x+d.width,y:d.y},{x:d.x+d.width,y:d.y+d.height},{x:d.x,y:d.y+d.height}],y=f.getAbsoluteTransform();b.forEach(function(v){let k=y.point(v);n.push(k)})});let s=new Ti;s.rotate(-rt.getAngle(this.rotation()));let i=1/0,r=1/0,a=-1/0,l=-1/0;n.forEach(function(f){let d=s.point(f);if(i===void 0)i=a=d.x,r=l=d.y;i=Math.min(i,d.x),r=Math.min(r,d.y),a=Math.max(a,d.x),l=Math.max(l,d.y)}),s.invert();let c=s.point({x:i,y:r});return{x:c.x,y:c.y,width:a-i,height:l-r,rotation:rt.getAngle(this.rotation())}}getX(){return this._getNodeRect().x}getY(){return this._getNodeRect().y}getWidth(){return this._getNodeRect().width}getHeight(){return this._getNodeRect().height}_createElements(){this._createBack(),z0.forEach((e)=>{this._createAnchor(e)}),this._createAnchor("rotater"),this._elementsCreated=!0}_createAnchor(e){let n=new gl({stroke:"rgb(0, 161, 255)",fill:"white",strokeWidth:1,name:e+" _anchor",dragDistance:0,draggable:!0,hitStrokeWidth:tD?10:"auto"}),s=this;n.on("mousedown touchstart",function(i){s._handleMouseDown(i)}),n.on("dragstart",(i)=>{n.stopDrag(),i.cancelBubble=!0}),n.on("dragend",(i)=>{i.cancelBubble=!0}),n.on("mouseenter",()=>{let i=rt.getAngle(this.rotation()),r=this.rotateAnchorCursor(),a=nD(e,i,r);n.getStage().content&&(n.getStage().content.style.cursor=a),this._cursorChange=!0}),n.on("mouseout",()=>{n.getStage().content&&(n.getStage().content.style.cursor=""),this._cursorChange=!1}),this.add(n)}_createBack(){let e=new Ze({name:"back",width:0,height:0,sceneFunc(n,s){let i=s.getParent(),r=i.padding(),a=s.width(),l=s.height();if(n.beginPath(),n.rect(-r,-r,a+r*2,l+r*2),i.rotateEnabled()&&i.rotateLineVisible()){let c=i.rotateAnchorAngle(),f=i.rotateAnchorOffset(),d=je.degToRad(c),b=Math.sin(d),y=-Math.cos(d),v=a/2,k=l/2,A=1/0;if(y<0)A=Math.min(A,-k/y);else if(y>0)A=Math.min(A,(l-k)/y);if(b<0)A=Math.min(A,-v/b);else if(b>0)A=Math.min(A,(a-v)/b);let T=v+b*A,R=k+y*A,D=je._sign(l),U=T+b*f*D,Y=R+y*f*D;n.moveTo(T,R),n.lineTo(U,Y)}n.fillStrokeShape(s)},hitFunc:(n,s)=>{if(!this.shouldOverdrawWholeArea())return;let i=this.padding();n.beginPath(),n.rect(-i,-i,s.width()+i*2,s.height()+i*2),n.fillStrokeShape(s)}});this.add(e),this._proxyDrag(e),e.on("dragstart",(n)=>{n.cancelBubble=!0}),e.on("dragmove",(n)=>{n.cancelBubble=!0}),e.on("dragend",(n)=>{n.cancelBubble=!0}),this.on("dragmove",(n)=>{this.update()})}_handleMouseDown(e){var n;if(this._transforming)return;this._movingAnchorName=e.target.name().split(" ")[0];let s=this._getNodeRect(),{width:i,height:r}=s,a=Math.sqrt(Math.pow(i,2)+Math.pow(r,2));this.sin=Math.abs(r/a),this.cos=Math.abs(i/a);let l=(n=this.getStage())===null||n===void 0?void 0:n._getOwnerWindow();if(this._transformWindow=l||null,l)l.addEventListener("mousemove",this._handleMouseMove),l.addEventListener("touchmove",this._handleMouseMove),l.addEventListener("mouseup",this._handleMouseUp,!0),l.addEventListener("touchend",this._handleMouseUp,!0);this._transforming=!0;let c=e.target.getAbsolutePosition(),f=e.target.getStage().getPointerPosition();this._anchorDragOffset={x:f.x-c.x,y:f.y-c.y},Ib++,this._fire("transformstart",{evt:e.evt,target:this.getNode()}),this._nodes.forEach((d)=>{d._fire("transformstart",{evt:e.evt,target:d})})}_handleMouseMove(e){let n,s,i,r=this.findOne("."+this._movingAnchorName),a=r.getStage();a.setPointersPositions(e);let l=a.getPointerPosition(),c={x:l.x-this._anchorDragOffset.x,y:l.y-this._anchorDragOffset.y},f=r.getAbsolutePosition();if(this.anchorDragBoundFunc())c=this.anchorDragBoundFunc()(f,c,e);r.setAbsolutePosition(c);let d=r.getAbsolutePosition();if(f.x===d.x&&f.y===d.y)return;if(this._movingAnchorName==="rotater"){let U=this._getNodeRect();n=r.x()-U.width/2,s=-r.y()+U.height/2;let Y=rt.getAngle(this.rotateAnchorAngle()),X=Math.atan2(-s,n)+Math.PI/2-Y;if(U.height<0)X-=Math.PI;let ee=rt.getAngle(this.rotation())+X,te=rt.getAngle(this.rotationSnapTolerance()),ie=rD(this.rotationSnaps(),ee,te)-U.rotation,se=iD(U,ie);this._fitNodesInto(se,e);return}let b=this.shiftBehavior(),y;if(b==="inverted")y=this.keepRatio()&&!e.shiftKey;else if(b==="none")y=this.keepRatio();else y=this.keepRatio()||e.shiftKey;let v=this.centeredScaling()||e.altKey,k=!1;if(this._movingAnchorName==="top-left"){if(y){k=!0;let U=v?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-right").x(),y:this.findOne(".bottom-right").y()};i=Math.sqrt(Math.pow(U.x-r.x(),2)+Math.pow(U.y-r.y(),2));let Y=this.findOne(".top-left").x()>U.x?-1:1,X=this.findOne(".top-left").y()>U.y?-1:1;n=i*this.cos*Y,s=i*this.sin*X,this.findOne(".top-left").x(U.x-n),this.findOne(".top-left").y(U.y-s)}}else if(this._movingAnchorName==="top-center")this.findOne(".top-left").y(r.y());else if(this._movingAnchorName==="top-right"){if(y){k=!0;let U=v?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-left").x(),y:this.findOne(".bottom-left").y()};i=Math.sqrt(Math.pow(r.x()-U.x,2)+Math.pow(U.y-r.y(),2));let Y=this.findOne(".top-right").x()<U.x?-1:1,X=this.findOne(".top-right").y()>U.y?-1:1;n=i*this.cos*Y,s=i*this.sin*X,this.findOne(".top-right").x(U.x+n),this.findOne(".top-right").y(U.y-s)}var A=r.position();this.findOne(".top-left").y(A.y),this.findOne(".bottom-right").x(A.x)}else if(this._movingAnchorName==="middle-left")this.findOne(".top-left").x(r.x());else if(this._movingAnchorName==="middle-right")this.findOne(".bottom-right").x(r.x());else if(this._movingAnchorName==="bottom-left"){if(y){k=!0;let U=v?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-right").x(),y:this.findOne(".top-right").y()};i=Math.sqrt(Math.pow(U.x-r.x(),2)+Math.pow(r.y()-U.y,2));let Y=U.x<r.x()?-1:1,X=r.y()<U.y?-1:1;n=i*this.cos*Y,s=i*this.sin*X,r.x(U.x-n),r.y(U.y+s)}A=r.position(),this.findOne(".top-left").x(A.x),this.findOne(".bottom-right").y(A.y)}else if(this._movingAnchorName==="bottom-center")this.findOne(".bottom-right").y(r.y());else if(this._movingAnchorName==="bottom-right"){if(y){k=!0;let U=v?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-left").x(),y:this.findOne(".top-left").y()};i=Math.sqrt(Math.pow(r.x()-U.x,2)+Math.pow(r.y()-U.y,2));let Y=this.findOne(".bottom-right").x()<U.x?-1:1,X=this.findOne(".bottom-right").y()<U.y?-1:1;n=i*this.cos*Y,s=i*this.sin*X,this.findOne(".bottom-right").x(U.x+n),this.findOne(".bottom-right").y(U.y+s)}}else console.error(Error("Wrong position argument of selection resizer: "+this._movingAnchorName));if(v=this.centeredScaling()||e.altKey,v){let U=this.findOne(".top-left"),Y=this.findOne(".bottom-right"),X=U.x(),J=U.y(),ee=this.getWidth()-Y.x(),te=this.getHeight()-Y.y();Y.move({x:-X,y:-J}),U.move({x:ee,y:te})}let T=this.findOne(".top-left").getAbsolutePosition();n=T.x,s=T.y;let R=this.findOne(".bottom-right").x()-this.findOne(".top-left").x(),D=this.findOne(".bottom-right").y()-this.findOne(".top-left").y();this._fitNodesInto({x:n,y:s,width:R,height:D,rotation:rt.getAngle(this.rotation())},e,k)}_handleMouseUp(e){this._removeEvents(e)}getAbsoluteTransform(){return this.getTransform()}_removeEvents(e){var n;if(this._transforming){this._transforming=!1;let s=this._transformWindow;if(this._transformWindow=null,s)s.removeEventListener("mousemove",this._handleMouseMove),s.removeEventListener("touchmove",this._handleMouseMove),s.removeEventListener("mouseup",this._handleMouseUp,!0),s.removeEventListener("touchend",this._handleMouseUp,!0);let i=this.getNode();if(Ib--,this._fire("transformend",{evt:e,target:i}),(n=this.getLayer())===null||n===void 0||n.batchDraw(),i)this._nodes.forEach((r)=>{var a;r._fire("transformend",{evt:e,target:r}),(a=r.getLayer())===null||a===void 0||a.batchDraw()});this._movingAnchorName=null}}_fitNodesInto(e,n,s=!1){let i=rt.autoDrawEnabled;rt.autoDrawEnabled=!1;try{return this._doFitNodesInto(e,n,s)}finally{rt.autoDrawEnabled=i}}_doFitNodesInto(e,n,s=!1){let i=this._getNodeRect(),r=1;if(je._inRange(e.width,-this.padding()*2-1,1)){this.update();return}if(je._inRange(e.height,-this.padding()*2-1,1)){this.update();return}let a=new Ti;a.rotate(rt.getAngle(this.rotation()));let l=s?0:this.padding()*2,c=null,f=null;if(this._movingAnchorName&&e.width<0&&this._movingAnchorName.indexOf("left")>=0){let R=a.point({x:-l,y:0});e.x+=R.x,e.y+=R.y,e.width+=l,c={axis:"width",from:"left",to:"right",offset:R}}else if(this._movingAnchorName&&e.width<0&&this._movingAnchorName.indexOf("right")>=0){let R=a.point({x:l,y:0});e.width+=l,c={axis:"width",from:"right",to:"left",offset:R}}if(this._movingAnchorName&&e.height<0&&this._movingAnchorName.indexOf("top")>=0){let R=a.point({x:0,y:-l});e.x+=R.x,e.y+=R.y,e.height+=l,f={axis:"height",from:"top",to:"bottom",offset:R}}else if(this._movingAnchorName&&e.height<0&&this._movingAnchorName.indexOf("bottom")>=0){let R=a.point({x:0,y:l});e.height+=l,f={axis:"height",from:"bottom",to:"top",offset:R}}if(this.boundBoxFunc()){let R=this.boundBoxFunc()(i,e);if(R)e=R;else je.warn("boundBoxFunc returned falsy. You should return new bound rect from it!")}for(let R of[c,f])if(R&&e[R.axis]<0&&this._movingAnchorName)this._movingAnchorName=this._movingAnchorName.replace(R.from,R.to),this._anchorDragOffset.x-=R.offset.x,this._anchorDragOffset.y-=R.offset.y;let d=1e7,b=new Ti;b.translate(i.x,i.y),b.rotate(i.rotation),b.scale(i.width/d,i.height/d);let y=new Ti,v=e.width/d,k=e.height/d;if(this.flipEnabled()===!1)y.translate(e.x,e.y),y.rotate(e.rotation),y.translate(e.width<0?e.width:0,e.height<0?e.height:0),y.scale(Math.abs(v),Math.abs(k));else y.translate(e.x,e.y),y.rotate(e.rotation),y.scale(v,k);let A=y.multiply(b.invert()),T=new Set;this._nodes.forEach((R)=>{if(!R.getStage())return;let D=R.getParent().getAbsoluteTransform(),U=R.getTransform().copy();U.translate(R.offsetX(),R.offsetY());let Y=new Ti;Y.multiply(D.copy().invert()).multiply(A).multiply(D).multiply(U);let X=Y.decompose();R.setAttrs(X);let J=R.getLayer();if(J)T.add(J)}),this.rotation(je._getRotation(e.rotation)),this._nodes.forEach((R)=>{this._fire("transform",{evt:n,target:R}),R._fire("transform",{evt:n,target:R})}),this._resetTransformCache(),this.update(),T.add(this.getLayer()),T.forEach((R)=>R&&R.batchDraw())}_scheduleUpdate(){if(this._updateScheduled)return;this._updateScheduled=!0,Qe._runAfterAbsTransformCascade(()=>{var e;if(this._updateScheduled=!1,!((e=this._nodes)===null||e===void 0?void 0:e.length)||this._transforming||this.isDragging())return;this.update()})}forceUpdate(){this._resetTransformCache(),this.update()}_batchChangeChild(e,n){this.findOne(e).setAttrs(n)}update(){var e;let n=this._getNodeRect();this.rotation(je._getRotation(n.rotation));let{width:s,height:i}=n,r=this.enabledAnchors(),a=this.resizeEnabled(),l=this.padding(),c=this.anchorSize(),f=this.find("._anchor");f.forEach((J)=>{J.setAttrs({width:c,height:c,offsetX:c/2,offsetY:c/2,stroke:this.anchorStroke(),strokeWidth:this.anchorStrokeWidth(),fill:this.anchorFill(),cornerRadius:this.anchorCornerRadius()})}),this._batchChangeChild(".top-left",{x:0,y:0,offsetX:c/2+l,offsetY:c/2+l,visible:a&&r.indexOf("top-left")>=0}),this._batchChangeChild(".top-center",{x:s/2,y:0,offsetY:c/2+l,visible:a&&r.indexOf("top-center")>=0}),this._batchChangeChild(".top-right",{x:s,y:0,offsetX:c/2-l,offsetY:c/2+l,visible:a&&r.indexOf("top-right")>=0}),this._batchChangeChild(".middle-left",{x:0,y:i/2,offsetX:c/2+l,visible:a&&r.indexOf("middle-left")>=0}),this._batchChangeChild(".middle-right",{x:s,y:i/2,offsetX:c/2-l,visible:a&&r.indexOf("middle-right")>=0}),this._batchChangeChild(".bottom-left",{x:0,y:i,offsetX:c/2+l,offsetY:c/2-l,visible:a&&r.indexOf("bottom-left")>=0}),this._batchChangeChild(".bottom-center",{x:s/2,y:i,offsetY:c/2-l,visible:a&&r.indexOf("bottom-center")>=0}),this._batchChangeChild(".bottom-right",{x:s,y:i,offsetX:c/2-l,offsetY:c/2-l,visible:a&&r.indexOf("bottom-right")>=0});let d=this.rotateAnchorAngle(),b=this.rotateAnchorOffset(),y=je.degToRad(d),v=Math.sin(y),k=-Math.cos(y),A=s/2,T=i/2,R=1/0;if(k<0)R=Math.min(R,-T/k);else if(k>0)R=Math.min(R,(i-T)/k);if(v<0)R=Math.min(R,-A/v);else if(v>0)R=Math.min(R,(s-A)/v);let D=A+v*R,U=T+k*R,Y=je._sign(i);this._batchChangeChild(".rotater",{x:D+v*b*Y,y:U+k*b*Y-l*k,visible:this.rotateEnabled()}),this._batchChangeChild(".back",{width:s,height:i,visible:this.borderEnabled(),stroke:this.borderStroke(),strokeWidth:this.borderStrokeWidth(),dash:this.borderDash(),draggable:this.nodes().some((J)=>J.draggable()),x:0,y:0});let X=this.anchorStyleFunc();if(X)f.forEach((J)=>{X(J)});(e=this.getLayer())===null||e===void 0||e.batchDraw()}isTransforming(){return this._transforming}stopTransform(){if(this._transforming){this._removeEvents();let e=this.findOne("."+this._movingAnchorName);if(e)e.stopDrag()}}destroy(){if(this.getStage()&&this._cursorChange)this.getStage().content&&(this.getStage().content.style.cursor="");return Ha.prototype.destroy.call(this),this.detach(),this._removeEvents(),this}add(...e){if(this._elementsCreated)return je.error("You cannot add external nodes to the Transformer. Use tr.nodes([node]) instead."),this;return super.add(...e)}toObject(){return Qe.prototype.toObject.call(this)}clone(e){return Qe.prototype.clone.call(this,e)}getClientRect(){if(this.nodes().length>0)return super.getClientRect();else return{x:0,y:0,width:0,height:0}}}wn.isTransforming=()=>Ib>0;function aD(e){if(!(e instanceof Array))je.warn("enabledAnchors value should be an array");if(e instanceof Array)e.forEach(function(n){if(z0.indexOf(n)===-1)je.warn("Unknown anchor name: "+n+". Available names are: "+z0.join(", "))});return e||[]}wn.prototype.className="Transformer";sn(wn);he.addGetterSetter(wn,"enabledAnchors",z0,aD);he.addGetterSetter(wn,"flipEnabled",!0,Ei());he.addGetterSetter(wn,"resizeEnabled",!0);he.addGetterSetter(wn,"anchorSize",10,Ye());he.addGetterSetter(wn,"rotateEnabled",!0);he.addGetterSetter(wn,"rotateLineVisible",!0);he.addGetterSetter(wn,"rotationSnaps",[]);he.addGetterSetter(wn,"rotateAnchorOffset",50,Ye());he.addGetterSetter(wn,"rotateAnchorAngle",0,Ye());he.addGetterSetter(wn,"rotateAnchorCursor","crosshair");he.addGetterSetter(wn,"rotationSnapTolerance",5,Ye());he.addGetterSetter(wn,"borderEnabled",!0);he.addGetterSetter(wn,"anchorStroke","rgb(0, 161, 255)");he.addGetterSetter(wn,"anchorStrokeWidth",1,Ye());he.addGetterSetter(wn,"anchorFill","white");he.addGetterSetter(wn,"anchorCornerRadius",0,Ye());he.addGetterSetter(wn,"borderStroke","rgb(0, 161, 255)");he.addGetterSetter(wn,"borderStrokeWidth",1,Ye());he.addGetterSetter(wn,"borderDash");he.addGetterSetter(wn,"keepRatio",!0);he.addGetterSetter(wn,"shiftBehavior","default");he.addGetterSetter(wn,"centeredScaling",!1);he.addGetterSetter(wn,"ignoreStroke",!1);he.addGetterSetter(wn,"padding",0,Ye());he.addGetterSetter(wn,"nodes");he.addGetterSetter(wn,"node");he.addGetterSetter(wn,"boundBoxFunc");he.addGetterSetter(wn,"anchorDragBoundFunc");he.addGetterSetter(wn,"anchorStyleFunc");he.addGetterSetter(wn,"shouldOverdrawWholeArea",!1);he.addGetterSetter(wn,"useSingleNodeRotation",!0);he.backCompat(wn,{lineEnabled:"borderEnabled",rotateHandlerOffset:"rotateAnchorOffset",enabledHandlers:"enabledAnchors"});class ua extends Ze{_sceneFunc(e){e.beginPath(),e.arc(0,0,this.radius(),0,rt.getAngle(this.angle()),this.clockwise()),e.lineTo(0,0),e.closePath(),e.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(e){this.radius(e/2)}setHeight(e){this.radius(e/2)}}ua.prototype.className="Wedge";ua.prototype._centroid=!0;ua.prototype._attrsAffectingSize=["radius"];sn(ua);he.addGetterSetter(ua,"radius",0,Ye());he.addGetterSetter(ua,"angle",0,Ye());he.addGetterSetter(ua,"clockwise",!1);he.backCompat(ua,{angleDeg:"angle",getAngleDeg:"getAngle",setAngleDeg:"setAngle"});function Y4(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}var oD=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],lD=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function cD(e,n){let{data:s,width:i,height:r}=e,a,l,c,f,d,b,y,v,k,A,T,R,D,U,Y,X,J,ee,te,ne,ie=n+n+1,se=i-1,ae=r-1,be=n+1,ye=be*(be+1)/2,fe=new Y4,le=oD[n],oe=lD[n],Se=null,we=fe,Fe=null,De=null;for(let Le=1;Le<ie;Le++)if(we=we.next=new Y4,Le===be)Se=we;we.next=fe,c=l=0;for(let Le=0;Le<r;Le++){R=D=U=Y=f=d=b=y=0,v=be*(X=s[l]),k=be*(J=s[l+1]),A=be*(ee=s[l+2]),T=be*(te=s[l+3]),f+=ye*X,d+=ye*J,b+=ye*ee,y+=ye*te,we=fe;for(let Be=0;Be<be;Be++)we.r=X,we.g=J,we.b=ee,we.a=te,we=we.next;for(let Be=1;Be<be;Be++)a=l+((se<Be?se:Be)<<2),f+=(we.r=X=s[a])*(ne=be-Be),d+=(we.g=J=s[a+1])*ne,b+=(we.b=ee=s[a+2])*ne,y+=(we.a=te=s[a+3])*ne,R+=X,D+=J,U+=ee,Y+=te,we=we.next;Fe=fe,De=Se;for(let Be=0;Be<i;Be++){if(s[l+3]=te=y*le>>oe,te!==0)te=255/te,s[l]=(f*le>>oe)*te,s[l+1]=(d*le>>oe)*te,s[l+2]=(b*le>>oe)*te;else s[l]=s[l+1]=s[l+2]=0;f-=v,d-=k,b-=A,y-=T,v-=Fe.r,k-=Fe.g,A-=Fe.b,T-=Fe.a,a=c+((a=Be+n+1)<se?a:se)<<2,R+=Fe.r=s[a],D+=Fe.g=s[a+1],U+=Fe.b=s[a+2],Y+=Fe.a=s[a+3],f+=R,d+=D,b+=U,y+=Y,Fe=Fe.next,v+=X=De.r,k+=J=De.g,A+=ee=De.b,T+=te=De.a,R-=X,D-=J,U-=ee,Y-=te,De=De.next,l+=4}c+=i}for(let Le=0;Le<i;Le++){D=U=Y=R=d=b=y=f=0,l=Le<<2,v=be*(X=s[l]),k=be*(J=s[l+1]),A=be*(ee=s[l+2]),T=be*(te=s[l+3]),f+=ye*X,d+=ye*J,b+=ye*ee,y+=ye*te,we=fe;for(let Ke=0;Ke<be;Ke++)we.r=X,we.g=J,we.b=ee,we.a=te,we=we.next;let Be=i;for(let Ke=1;Ke<=n;Ke++)if(l=Be+Le<<2,f+=(we.r=X=s[l])*(ne=be-Ke),d+=(we.g=J=s[l+1])*ne,b+=(we.b=ee=s[l+2])*ne,y+=(we.a=te=s[l+3])*ne,R+=X,D+=J,U+=ee,Y+=te,we=we.next,Ke<ae)Be+=i;l=Le,Fe=fe,De=Se;for(let Ke=0;Ke<r;Ke++){if(a=l<<2,s[a+3]=te=y*le>>oe,te>0)te=255/te,s[a]=(f*le>>oe)*te,s[a+1]=(d*le>>oe)*te,s[a+2]=(b*le>>oe)*te;else s[a]=s[a+1]=s[a+2]=0;f-=v,d-=k,b-=A,y-=T,v-=Fe.r,k-=Fe.g,A-=Fe.b,T-=Fe.a,a=Le+((a=Ke+be)<ae?a:ae)*i<<2,f+=R+=Fe.r=s[a],d+=D+=Fe.g=s[a+1],b+=U+=Fe.b=s[a+2],y+=Y+=Fe.a=s[a+3],Fe=Fe.next,v+=X=De.r,k+=J=De.g,A+=ee=De.b,T+=te=De.a,R-=X,D-=J,U-=ee,Y-=te,De=De.next,l+=i}}}var Q4=function(n){let s=Math.round(this.blurRadius());if(s>0)cD(n,s)};he.addGetterSetter(Qe,"blurRadius",0,Ye(),he.afterSetFilter);var J4=function(e){let n=this.brightness()*255,s=e.data,i=s.length;for(let r=0;r<i;r+=4)s[r]+=n,s[r+1]+=n,s[r+2]+=n};he.addGetterSetter(Qe,"brightness",0,Ye(),he.afterSetFilter);var Z4=function(e){let n=this.brightness(),s=e.data,i=s.length;for(let r=0;r<i;r+=4)s[r]=Math.min(255,s[r]*n),s[r+1]=Math.min(255,s[r+1]*n),s[r+2]=Math.min(255,s[r+2]*n)};var e8=function(e){let n=Math.pow((this.contrast()+100)/100,2),s=e.data,i=s.length,r=150,a=150,l=150;for(let c=0;c<i;c+=4)r=s[c],a=s[c+1],l=s[c+2],r/=255,r-=0.5,r*=n,r+=0.5,r*=255,a/=255,a-=0.5,a*=n,a+=0.5,a*=255,l/=255,l-=0.5,l*=n,l+=0.5,l*=255,r=r<0?0:r>255?255:r,a=a<0?0:a>255?255:a,l=l<0?0:l>255?255:l,s[c]=r,s[c+1]=a,s[c+2]=l};he.addGetterSetter(Qe,"contrast",0,Ye(),he.afterSetFilter);var t8=function(e){var n,s,i,r,a,l,c,f,d;let{data:b,width:y,height:v}=e,k=Math.min(1,Math.max(0,(s=(n=this.embossStrength)===null||n===void 0?void 0:n.call(this))!==null&&s!==void 0?s:0.5)),A=Math.min(1,Math.max(0,(r=(i=this.embossWhiteLevel)===null||i===void 0?void 0:i.call(this))!==null&&r!==void 0?r:0.5)),R=(c={"top-left":315,top:270,"top-right":225,right:180,"bottom-right":135,bottom:90,"bottom-left":45,left:0}[(l=(a=this.embossDirection)===null||a===void 0?void 0:a.call(this))!==null&&l!==void 0?l:"top-left"])!==null&&c!==void 0?c:315,D=!!((d=(f=this.embossBlend)===null||f===void 0?void 0:f.call(this))!==null&&d!==void 0?d:!1),U=k*10,Y=A*255,X=R*Math.PI/180,J=Math.cos(X),ee=Math.sin(X),te=0.12549019607843137*U,ne=new Uint8ClampedArray(b),ie=new Float32Array(y*v);for(let fe=0,le=0;le<b.length;le+=4,fe++)ie[fe]=0.2126*ne[le]+0.7152*ne[le+1]+0.0722*ne[le+2];let se=[-1,0,1,-2,0,2,-1,0,1],ae=[-1,-2,-1,0,0,0,1,2,1],be=[-y-1,-y,-y+1,-1,0,1,y-1,y,y+1],ye=(fe)=>fe<0?0:fe>255?255:fe;for(let fe=1;fe<v-1;fe++)for(let le=1;le<y-1;le++){let oe=fe*y+le,Se=0,we=0;Se+=ie[oe+be[0]]*se[0],we+=ie[oe+be[0]]*ae[0],Se+=ie[oe+be[1]]*se[1],we+=ie[oe+be[1]]*ae[1],Se+=ie[oe+be[2]]*se[2],we+=ie[oe+be[2]]*ae[2],Se+=ie[oe+be[3]]*se[3],we+=ie[oe+be[3]]*ae[3],Se+=ie[oe+be[5]]*se[5],we+=ie[oe+be[5]]*ae[5],Se+=ie[oe+be[6]]*se[6],we+=ie[oe+be[6]]*ae[6],Se+=ie[oe+be[7]]*se[7],we+=ie[oe+be[7]]*ae[7],Se+=ie[oe+be[8]]*se[8],we+=ie[oe+be[8]]*ae[8];let Fe=J*Se+ee*we,De=ye(Y+Fe*te),Le=oe*4;if(D){let Be=De-Y;b[Le]=ye(ne[Le]+Be),b[Le+1]=ye(ne[Le+1]+Be),b[Le+2]=ye(ne[Le+2]+Be),b[Le+3]=ne[Le+3]}else b[Le]=b[Le+1]=b[Le+2]=De,b[Le+3]=ne[Le+3]}for(let fe=0;fe<y;fe++){let le=fe*4,oe=((v-1)*y+fe)*4;b[le]=ne[le],b[le+1]=ne[le+1],b[le+2]=ne[le+2],b[le+3]=ne[le+3],b[oe]=ne[oe],b[oe+1]=ne[oe+1],b[oe+2]=ne[oe+2],b[oe+3]=ne[oe+3]}for(let fe=1;fe<v-1;fe++){let le=fe*y*4,oe=(fe*y+(y-1))*4;b[le]=ne[le],b[le+1]=ne[le+1],b[le+2]=ne[le+2],b[le+3]=ne[le+3],b[oe]=ne[oe],b[oe+1]=ne[oe+1],b[oe+2]=ne[oe+2],b[oe+3]=ne[oe+3]}return e};he.addGetterSetter(Qe,"embossStrength",0.5,Ye(),he.afterSetFilter);he.addGetterSetter(Qe,"embossWhiteLevel",0.5,Ye(),he.afterSetFilter);he.addGetterSetter(Qe,"embossDirection","top-left",void 0,he.afterSetFilter);he.addGetterSetter(Qe,"embossBlend",!1,void 0,he.afterSetFilter);function Rb(e,n,s,i,r){let a=s-n,l=r-i;if(a===0)return i+l/2;if(l===0)return i;let c=(e-n)/a;return c=l*c+i,c}var n8=function(e){let n=e.data,s=n.length,i=n[0],r=i,a,l=n[1],c=l,f,d=n[2],b=d,y,v=this.enhance();if(v===0)return;for(let Y=0;Y<s;Y+=4){if(a=n[Y+0],a<i)i=a;else if(a>r)r=a;if(f=n[Y+1],f<l)l=f;else if(f>c)c=f;if(y=n[Y+2],y<d)d=y;else if(y>b)b=y}if(r===i)r=255,i=0;if(c===l)c=255,l=0;if(b===d)b=255,d=0;let k,A,T,R,D,U;if(v>0)k=r+v*(255-r),A=i-v*(i-0),T=c+v*(255-c),R=l-v*(l-0),D=b+v*(255-b),U=d-v*(d-0);else{let Y=(r+i)*0.5;k=r+v*(r-Y),A=i+v*(i-Y);let X=(c+l)*0.5;T=c+v*(c-X),R=l+v*(l-X);let J=(b+d)*0.5;D=b+v*(b-J),U=d+v*(d-J)}for(let Y=0;Y<s;Y+=4)n[Y+0]=Rb(n[Y+0],i,r,A,k),n[Y+1]=Rb(n[Y+1],l,c,R,T),n[Y+2]=Rb(n[Y+2],d,b,U,D)};he.addGetterSetter(Qe,"enhance",0,Ye(),he.afterSetFilter);var s8=function(e){let n=e.data,s=n.length;for(let i=0;i<s;i+=4){let r=0.34*n[i]+0.5*n[i+1]+0.16*n[i+2];n[i]=r,n[i+1]=r,n[i+2]=r}};he.addGetterSetter(Qe,"hue",0,Ye(),he.afterSetFilter);he.addGetterSetter(Qe,"saturation",0,Ye(),he.afterSetFilter);he.addGetterSetter(Qe,"luminance",0,Ye(),he.afterSetFilter);var i8=function(e){let n=e.data,s=n.length,r=Math.pow(2,this.saturation()),a=Math.abs(this.hue()+360)%360,l=this.luminance()*127,c=1*r*Math.cos(a*Math.PI/180),f=1*r*Math.sin(a*Math.PI/180),d=0.299+0.701*c+0.167*f,b=0.587-0.587*c+0.33*f,y=0.114-0.114*c-0.497*f,v=0.299-0.299*c-0.328*f,k=0.587+0.413*c+0.035*f,A=0.114-0.114*c+0.293*f,T=0.299-0.3*c+1.25*f,R=0.587-0.586*c-1.05*f,D=0.114+0.886*c-0.2*f,U,Y,X,J;for(let ee=0;ee<s;ee+=4)U=n[ee+0],Y=n[ee+1],X=n[ee+2],J=n[ee+3],n[ee+0]=d*U+b*Y+y*X+l,n[ee+1]=v*U+k*Y+A*X+l,n[ee+2]=T*U+R*Y+D*X+l,n[ee+3]=J};var r8=function(e){let n=e.data,s=n.length,i=Math.pow(2,this.value()),r=Math.pow(2,this.saturation()),a=Math.abs(this.hue()+360)%360,l=i*r*Math.cos(a*Math.PI/180),c=i*r*Math.sin(a*Math.PI/180),f=0.299*i+0.701*l+0.167*c,d=0.587*i-0.587*l+0.33*c,b=0.114*i-0.114*l-0.497*c,y=0.299*i-0.299*l-0.328*c,v=0.587*i+0.413*l+0.035*c,k=0.114*i-0.114*l+0.293*c,A=0.299*i-0.3*l+1.25*c,T=0.587*i-0.586*l-1.05*c,R=0.114*i+0.886*l-0.2*c;for(let D=0;D<s;D+=4){let U=n[D+0],Y=n[D+1],X=n[D+2],J=n[D+3];n[D+0]=f*U+d*Y+b*X,n[D+1]=y*U+v*Y+k*X,n[D+2]=A*U+T*Y+R*X,n[D+3]=J}};he.addGetterSetter(Qe,"hue",0,Ye(),he.afterSetFilter);he.addGetterSetter(Qe,"saturation",0,Ye(),he.afterSetFilter);he.addGetterSetter(Qe,"value",0,Ye(),he.afterSetFilter);var a8=function(e){let n=e.data,s=n.length;for(let i=0;i<s;i+=4)n[i]=255-n[i],n[i+1]=255-n[i+1],n[i+2]=255-n[i+2]};var fD=function(e,n,s){let i=e.data,r=n.data,{width:a,height:l}=e,c=s.polarCenterX||a/2,f=s.polarCenterY||l/2,d=Math.sqrt(c*c+f*f),b=a-c,y=l-f,v=Math.sqrt(b*b+y*y);d=v>d?v:d;let k=l,A=a,T=360/A*Math.PI/180;for(let R=0;R<A;R+=1){let D=Math.sin(R*T),U=Math.cos(R*T);for(let Y=0;Y<k;Y+=1){b=Math.floor(c+d*Y/k*U),y=Math.floor(f+d*Y/k*D);let X=(y*a+b)*4,J=i[X+0],ee=i[X+1],te=i[X+2],ne=i[X+3];X=(R+Y*a)*4,r[X+0]=J,r[X+1]=ee,r[X+2]=te,r[X+3]=ne}}},hD=function(e,n,s){let i=e.data,r=n.data,{width:a,height:l}=e,c=s.polarCenterX||a/2,f=s.polarCenterY||l/2,d=Math.sqrt(c*c+f*f),b=a-c,y=l-f,v=Math.sqrt(b*b+y*y);d=v>d?v:d;let k=l,A=a,T=s.polarRotation||0,R,D;for(b=0;b<a;b+=1)for(y=0;y<l;y+=1){let U=b-c,Y=y-f,X=Math.sqrt(U*U+Y*Y)*k/d,J=(Math.atan2(Y,U)*180/Math.PI+360+T)%360;J=J*A/360,R=Math.floor(J),D=Math.floor(X);let ee=(D*a+R)*4,te=i[ee+0],ne=i[ee+1],ie=i[ee+2],se=i[ee+3];ee=(y*a+b)*4,r[ee+0]=te,r[ee+1]=ne,r[ee+2]=ie,r[ee+3]=se}},o8=function(e){let{width:n,height:s}=e,i,r,a,l,c,f,d,b,y,v,k=Math.round(this.kaleidoscopePower()),A=Math.round(this.kaleidoscopeAngle()),T=Math.floor(n*(A%360)/360);if(k<1)return;let R=je.createCanvasElement();R.width=n,R.height=s;let D=R.getContext("2d").getImageData(0,0,n,s);je.releaseCanvas(R),fD(e,D,{polarCenterX:n/2,polarCenterY:s/2});let U=n/Math.pow(2,k);while(U<=8)U=U*2,k-=1;U=Math.ceil(U);let Y=U,X=0,J=Y,ee=1;if(T+U>n)X=Y,J=0,ee=-1;for(r=0;r<s;r+=1)for(i=X;i!==J;i+=ee)a=Math.round(i+T)%n,y=(n*r+a)*4,c=D.data[y+0],f=D.data[y+1],d=D.data[y+2],b=D.data[y+3],v=(n*r+i)*4,D.data[v+0]=c,D.data[v+1]=f,D.data[v+2]=d,D.data[v+3]=b;for(r=0;r<s;r+=1){Y=Math.floor(U);for(l=0;l<k;l+=1){for(i=0;i<Y+1;i+=1)y=(n*r+i)*4,c=D.data[y+0],f=D.data[y+1],d=D.data[y+2],b=D.data[y+3],v=(n*r+Y*2-i-1)*4,D.data[v+0]=c,D.data[v+1]=f,D.data[v+2]=d,D.data[v+3]=b;Y*=2}}hD(D,e,{polarRotation:0})};he.addGetterSetter(Qe,"kaleidoscopePower",2,Ye(),he.afterSetFilter);he.addGetterSetter(Qe,"kaleidoscopeAngle",0,Ye(),he.afterSetFilter);function G0(e,n,s){let i=(s*e.width+n)*4,r=[];return r.push(e.data[i++],e.data[i++],e.data[i++],e.data[i++]),r}function Wh(e,n){return Math.sqrt(Math.pow(e[0]-n[0],2)+Math.pow(e[1]-n[1],2)+Math.pow(e[2]-n[2],2))}function uD(e){let n=[0,0,0];for(let s=0;s<e.length;s++)n[0]+=e[s][0],n[1]+=e[s][1],n[2]+=e[s][2];return n[0]/=e.length,n[1]/=e.length,n[2]/=e.length,n}function dD(e,n){let s=G0(e,0,0),i=G0(e,e.width-1,0),r=G0(e,0,e.height-1),a=G0(e,e.width-1,e.height-1),l=n||10;if(Wh(s,i)<l&&Wh(i,a)<l&&Wh(a,r)<l&&Wh(r,s)<l){let c=uD([i,s,a,r]),f=[];for(let d=0;d<e.width*e.height;d++){let b=Wh(c,[e.data[d*4],e.data[d*4+1],e.data[d*4+2]]);f[d]=b<l?0:255}return f}}function mD(e,n){for(let s=0;s<e.width*e.height;s++)e.data[4*s+3]=n[s]}function pD(e,n,s){let i=[1,1,1,1,0,1,1,1,1],r=Math.round(Math.sqrt(i.length)),a=Math.floor(r/2),l=[];for(let c=0;c<s;c++)for(let f=0;f<n;f++){let d=c*n+f,b=0;for(let y=0;y<r;y++)for(let v=0;v<r;v++){let k=c+y-a,A=f+v-a;if(k>=0&&k<s&&A>=0&&A<n){let T=k*n+A,R=i[y*r+v];b+=e[T]*R}}l[d]=b===2040?255:0}return l}function gD(e,n,s){let i=[1,1,1,1,1,1,1,1,1],r=Math.round(Math.sqrt(i.length)),a=Math.floor(r/2),l=[];for(let c=0;c<s;c++)for(let f=0;f<n;f++){let d=c*n+f,b=0;for(let y=0;y<r;y++)for(let v=0;v<r;v++){let k=c+y-a,A=f+v-a;if(k>=0&&k<s&&A>=0&&A<n){let T=k*n+A,R=i[y*r+v];b+=e[T]*R}}l[d]=b>=1020?255:0}return l}function bD(e,n,s){let i=[0.1111111111111111,0.1111111111111111,0.1111111111111111,0.1111111111111111,0.1111111111111111,0.1111111111111111,0.1111111111111111,0.1111111111111111,0.1111111111111111],r=Math.round(Math.sqrt(i.length)),a=Math.floor(r/2),l=[];for(let c=0;c<s;c++)for(let f=0;f<n;f++){let d=c*n+f,b=0;for(let y=0;y<r;y++)for(let v=0;v<r;v++){let k=c+y-a,A=f+v-a;if(k>=0&&k<s&&A>=0&&A<n){let T=k*n+A,R=i[y*r+v];b+=e[T]*R}}l[d]=b}return l}var l8=function(e){let n=this.threshold(),s=dD(e,n);if(s)s=pD(s,e.width,e.height),s=gD(s,e.width,e.height),s=bD(s,e.width,e.height),mD(e,s);return e};he.addGetterSetter(Qe,"threshold",0,Ye(),he.afterSetFilter);var c8=function(e){let n=this.noise()*255,s=e.data,i=s.length,r=n/2;for(let a=0;a<i;a+=4)s[a+0]+=r-2*r*Math.random(),s[a+1]+=r-2*r*Math.random(),s[a+2]+=r-2*r*Math.random()};he.addGetterSetter(Qe,"noise",0.2,Ye(),he.afterSetFilter);var f8=function(e){let n=Math.ceil(this.pixelSize()),{width:s,height:i}=e,r=Math.ceil(s/n),a=Math.ceil(i/n),l=e.data;if(n<=0){je.error("pixelSize value can not be <= 0");return}for(let c=0;c<r;c+=1)for(let f=0;f<a;f+=1){let d=0,b=0,y=0,v=0,k=c*n,A=k+n,T=f*n,R=T+n,D=0;for(let U=k;U<A;U+=1){if(U>=s)continue;for(let Y=T;Y<R;Y+=1){if(Y>=i)continue;let X=(s*Y+U)*4;d+=l[X+0],b+=l[X+1],y+=l[X+2],v+=l[X+3],D+=1}}d=d/D,b=b/D,y=y/D,v=v/D;for(let U=k;U<A;U+=1){if(U>=s)continue;for(let Y=T;Y<R;Y+=1){if(Y>=i)continue;let X=(s*Y+U)*4;l[X+0]=d,l[X+1]=b,l[X+2]=y,l[X+3]=v}}}};he.addGetterSetter(Qe,"pixelSize",8,Ye(),he.afterSetFilter);var h8=function(e){let n=Math.round(this.levels()*254)+1,s=e.data,i=s.length,r=255/n;for(let a=0;a<i;a+=1)s[a]=Math.floor(s[a]/r)*r};he.addGetterSetter(Qe,"levels",0.5,Ye(),he.afterSetFilter);var u8=function(e){let n=e.data,s=n.length,i=this.red(),r=this.green(),a=this.blue();for(let l=0;l<s;l+=4){let c=(0.34*n[l]+0.5*n[l+1]+0.16*n[l+2])/255;n[l]=c*i,n[l+1]=c*r,n[l+2]=c*a,n[l+3]=n[l+3]}};he.addGetterSetter(Qe,"red",0,function(e){if(this._filterUpToDate=!1,e>255)return 255;else if(e<0)return 0;else return Math.round(e)});he.addGetterSetter(Qe,"green",0,function(e){if(this._filterUpToDate=!1,e>255)return 255;else if(e<0)return 0;else return Math.round(e)});he.addGetterSetter(Qe,"blue",0,j0,he.afterSetFilter);var d8=function(e){let n=e.data,s=n.length,i=this.red(),r=this.green(),a=this.blue(),l=this.alpha();for(let c=0;c<s;c+=4){let f=1-l;n[c]=i*l+n[c]*f,n[c+1]=r*l+n[c+1]*f,n[c+2]=a*l+n[c+2]*f}};he.addGetterSetter(Qe,"red",0,function(e){if(this._filterUpToDate=!1,e>255)return 255;else if(e<0)return 0;else return Math.round(e)});he.addGetterSetter(Qe,"green",0,function(e){if(this._filterUpToDate=!1,e>255)return 255;else if(e<0)return 0;else return Math.round(e)});he.addGetterSetter(Qe,"blue",0,j0,he.afterSetFilter);he.addGetterSetter(Qe,"alpha",1,function(e){if(this._filterUpToDate=!1,e>1)return 1;else if(e<0)return 0;else return e});var m8=function(e){let n=e.data,s=n.length;for(let i=0;i<s;i+=4){let r=n[i+0],a=n[i+1],l=n[i+2];n[i+0]=Math.min(255,r*0.393+a*0.769+l*0.189),n[i+1]=Math.min(255,r*0.349+a*0.686+l*0.168),n[i+2]=Math.min(255,r*0.272+a*0.534+l*0.131)}};var p8=function(e){let s=e.data;for(let i=0;i<s.length;i+=4){let r=s[i],a=s[i+1],l=s[i+2];if(0.2126*r+0.7152*a+0.0722*l>=128)s[i]=255-r,s[i+1]=255-a,s[i+2]=255-l}return e};var g8=function(e){let n=this.threshold()*255,s=e.data,i=s.length;for(let r=0;r<i;r+=1)s[r]=s[r]<n?0:255};he.addGetterSetter(Qe,"threshold",0.5,Ye(),he.afterSetFilter);var wD=gf.Util._assign(gf,{Arc:ha,Arrow:Eo,Circle:pl,Ellipse:Ua,Image:er,Label:Vh,Tag:Co,Line:Fr,Path:as,Rect:gl,RegularPolygon:za,Ring:_o,Sprite:Lr,Star:Va,Text:$n,TextPath:$s,Transformer:wn,Wedge:ua,Filters:{Blur:Q4,Brightness:Z4,Brighten:J4,Contrast:e8,Emboss:t8,Enhance:n8,Grayscale:s8,HSL:i8,HSV:r8,Invert:a8,Kaleidoscope:o8,Mask:l8,Noise:c8,Pixelate:f8,Posterize:h8,RGB:u8,RGBA:d8,Sepia:m8,Solarize:p8,Threshold:g8}});E();var yf=gf;var _8=H(b8());var qb=1;var V0=32,Mb=2;E();var w8={children:!0,ref:!0,key:!0,style:!0,forwardedRef:!0,unstable_applyCache:!0,unstable_applyDrawHitFromCache:!0},y8=!1,v8=!1,vf=".react-konva-event",kD=!1;var xD=`ReactKonva: You have a Konva node with draggable = true and position defined but no onDragMove or onDragEnd events are handled.
68
- Position of a node will be changed during drag&drop, so you should update state of the react app as well.
69
- Consider to add onDragMove or onDragEnd events.
70
- For more info see: https://github.com/konvajs/react-konva/issues/256
71
- `,AD=`ReactKonva: You are using "zIndex" attribute for a Konva node.
72
- react-konva may get confused with ordering. Just define correct order of elements in your render function of a component.
73
- For more info see: https://github.com/konvajs/react-konva/issues/194
74
- `,TD={},S8=()=>{};function k8(e){S8=e}var Fb=!1;function ED(e){return function(...n){let s=e.apply(this,n);if(!Fb){Fb=!0;try{S8()}finally{Fb=!1}}return s}}function Sf(e,n,s=TD){if(!y8&&"zIndex"in n)console.warn(AD),y8=!0;if(!v8&&n.draggable){var i=n.x!==void 0||n.y!==void 0,r=n.onDragEnd||n.onDragMove;if(i&&!r)console.warn(xD),v8=!0}for(var a in s){if(w8[a])continue;var l=a.slice(0,2)==="on",c=s[a]!==n[a];if(l&&c){var f=a.substr(2).toLowerCase();if(f.substr(0,7)==="content")f="content"+f.substr(7,1).toUpperCase()+f.substr(8);e.off(f+vf)}var d=!n.hasOwnProperty(a);if(d)e.setAttr(a,void 0)}var b=kD||n._useStrictMode,y={},v=!1;let k={};for(var a in n){if(w8[a])continue;var l=a.slice(0,2)==="on",A=s[a]!==n[a];if(l&&A){var f=a.substr(2).toLowerCase();if(f.substr(0,7)==="content")f="content"+f.substr(7,1).toUpperCase()+f.substr(8);if(n[a])k[f]=n[a]}if(!l&&(n[a]!==s[a]||b&&n[a]!==e.getAttr(a)))v=!0,y[a]=n[a]}if(v)e.setAttrs(y),Io(e);for(var f in k)e.off(f+vf),e.on(f+vf,ED(k[f]))}function Io(e){if(!rt.autoDrawEnabled){var n=e.getLayer()||e.getStage();n&&n.batchDraw()}}td();var x8={},CD={};yf.Node.prototype._applyProps=Sf;var A8=V0;function jD(e,n){if(typeof n==="string"){console.error(`Do not use plain text as child of Konva.Node. You are using text: ${n}`);return}e.add(n),Io(e)}function _D(e,n,s){let i=yf[e];if(!i)console.error(`Konva has no node with the type ${e}. Group will be used instead. If you use minimal version of react-konva, just import required nodes into Konva: "import "konva/lib/shapes/${e}" If you want to render DOM elements as part of canvas tree take a look into this demo: https://konvajs.github.io/docs/react/DOM_Portal.html`),i=yf.Group;let r={},a={};for(var l in n){if(l==="ref")continue;var c=l.slice(0,2)==="on";if(c)a[l]=n[l];else r[l]=n[l]}let f=new i(r);return Sf(f,a),f}function ID(e,n,s){console.error(`Text components are not supported for now in ReactKonva. Your text is: "${e}"`)}function RD(e,n,s){return!1}function DD(e){return e}function qD(){return null}function MD(){return null}function FD(e,n,s,i){return CD}function LD(){}function OD(e){}function PD(e,n){return!1}function ND(){return x8}function BD(){return x8}var HD=setTimeout,UD=clearTimeout,zD=!0,GD=typeof queueMicrotask==="function"?queueMicrotask:(e)=>Promise.resolve(null).then(e),VD=-1;function $D(e,n){return!1}var XD=!1,WD=!1,KD=!0,YD=!1,QD=!1;function JD(e,n){if(n.parent===e)n.moveToTop();else e.add(n);Io(e)}function ZD(e,n){if(n.parent===e)n.moveToTop();else e.add(n);Io(e)}function T8(e,n,s){n._remove(),e.add(n),n.setZIndex(s.getZIndex()),Io(e)}function eq(e,n,s){T8(e,n,s)}function tq(e,n){n.destroy(),n.off(vf),Io(e)}function nq(e,n){n.destroy(),n.off(vf),Io(e)}function sq(e,n,s){console.error(`Text components are not yet supported in ReactKonva. You text is: "${s}"`)}function iq(e,n,s){}function rq(e,n,s,i){Sf(e,i,s)}function aq(e){e.hide(),Io(e)}function oq(e){}function lq(e,n){if(n.visible==null||n.visible)e.show()}function cq(e,n){}function fq(e){}function hq(){}function uq(){return null}function dq(){}function mq(){}function pq(){return V0}function gq(){}function bq(){return null}function wq(e){A8=e}function yq(){return A8}function vq(){return Mb}function Sq(){return!1}function kq(){}function xq(){return null}function Aq(){return-1.1}function Tq(){}function Eq(){return!1}function Cq(){return!0}function jq(){}function _q(){}function Iq(){return null}var Rq=null,Dq=mt(null);function qq(){}E();function E8(e,n,s){if(!e)return;if(s(e)===!0)return e;let i=n?e.return:e.child;for(;i;){let r=E8(i,n,s);if(r)return r;i=n?null:i.sibling}}function C8(e){try{return Object.defineProperties(e,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch(n){return e}}var Ob=C8(mt(null));class $0 extends Zs{render(){return q(Ob.Provider,{value:this._reactInternals},this.props.children)}}function Mq(){let e=vt(Ob);if(e===null)throw Error("its-fine: useFiber must be called within a <FiberProvider />!");let n=Gu();return N(()=>{for(let s of[e,e==null?void 0:e.alternate]){if(!s)continue;let i=E8(s,!1,(r)=>{let a=r.memoizedState;for(;a;){if(a.memoizedState===n)return!0;a=a.next}});if(i)return i}},[e,n])}var Fq=Symbol.for("react.context"),Lq=(e)=>e!==null&&typeof e=="object"&&("$$typeof"in e)&&e.$$typeof===Fq;function Oq(){let e=Mq(),[n]=u(()=>new Map);n.clear();let s=e;for(;s;){let i=s.type;Lq(i)&&i!==Ob&&!n.has(i)&&n.set(i,Ia(C8(i))),s=s.return}return n}function j8(){let e=Oq();return N(()=>Array.from(e.keys()).reduce((n,s)=>(i)=>q(n,null,q(s.Provider,{...i,value:e.get(s)})),(n)=>q($0,{...n})),[e])}if(Bs.indexOf("19")===-1)throw Error("react-konva version 19 is only compatible with React 19. Make sure to have the last version of react-konva and react or downgrade react-konva to version 18.");function Pq(e){let n=_({});return Ue(()=>{n.current=e}),Ue(()=>()=>{n.current={}},[]),n.current}var Nq=()=>{let e=_(0);return N(()=>{e.current++},[]),e.current>1},Bq=(e)=>{let n=_(null),s=_(null),i=_(null),r=Pq(e),a=j8(),l=_(null),c=(b)=>{let{forwardedRef:y}=e;if(!y)return;if(typeof y==="function")y(b);else y.current=b},f=Nq(),d=()=>{c(null),ac.flushSyncFromReconciler(()=>{ac.updateContainer(null,i.current,null)}),s.current?.destroy(),s.current=null};return Ue(()=>{if(l.current)clearTimeout(l.current),l.current=null;if(s.current)c(s.current);else s.current=new yf.Stage({width:e.width,height:e.height,container:n.current}),c(s.current),i.current=ac.createContainer(s.current,qb,null,!1,null,"",console.error,console.error,console.error,null),ac.updateContainer(q(a,{},e.children),i.current,null,()=>{});return()=>{if(f)l.current=setTimeout(d,0);else d()}},[]),Ue(()=>{c(s.current),Sf(s.current,e,r),ac.updateContainer(q(a,{},e.children),i.current,null),ac.flushSyncWork()}),q("div",{ref:n,id:e.id,accessKey:e.accessKey,className:e.className,role:e.role,style:e.style,tabIndex:e.tabIndex,title:e.title})},I8="Layer";var Pb="Group";var Bb="Rect";var Hb="Line";var R8="Image";var Ub="Arrow";var ac=_8.default(Lb);k8(()=>ac.flushSyncWork());var D8=F((e,n)=>q($0,{},q(Bq,{...e,forwardedRef:n})));var F8=H(M8(),1);var Hq=({width:e,height:n,mediaDimensions:s,imageUrl:i,canvasElement:r,annotations:a,scale:l,offset:c,onPan:f,onClick:d,className:b,isDrawing:y=!1,currentTool:v="arrow",currentColor:k="#ef4444",onAddAnnotation:A})=>{let[T]=F8.default(i||"","anonymous"),R=_(null),D=_(!1),U=_({x:0,y:0}),Y=_(null),X=_(null),J=_(null),ee=_(null);m(()=>{if(r&&R.current)R.current.getLayer()?.batchDraw()},[r]);let te=(be,ye=!1,fe)=>{let le=be.getAbsoluteTransform().copy();le.invert();let oe=fe||be.getStage()?.getPointerPosition();if(oe){let Se=le.point(oe);if(ye)return{x:Math.max(0,Math.min(s.width,Se.x)),y:Math.max(0,Math.min(s.height,Se.y))};return Se}return null},ne=_({isDrawing:y,currentTool:v,currentColor:k,onPan:f,offset:c,scale:l,mediaDimensions:s,onAddAnnotation:A});ne.current={isDrawing:y,currentTool:v,currentColor:k,onPan:f,offset:c,scale:l,mediaDimensions:s,onAddAnnotation:A};let ie=()=>{if(!D.current)return;D.current=!1;let{isDrawing:be,onAddAnnotation:ye,mediaDimensions:fe,currentTool:le,currentColor:oe}=ne.current;if(be&&ye){let{width:Se,height:we}=fe,Fe=(De,Le)=>De/Le;if(le==="freehand"&&X.current){X.current.visible(!1);let De=X.current.points(),Le=[];for(let Be=0;Be<De.length;Be+=2)Le.push([Fe(De[Be],Se),Fe(De[Be+1],we)]);if(Le.length>1)ye({type:"freehand",color:oe,points:Le})}else if(le==="line"&&X.current){X.current.visible(!1);let De=X.current.points(),Le={type:"line",color:oe,points:[[Fe(De[0],Se),Fe(De[1],we)],[Fe(De[2],Se),Fe(De[3],we)]]};ye(Le)}else if(le==="box"&&J.current){J.current.visible(!1);let De=J.current.x(),Le=J.current.y(),Be=J.current.width(),Ke=J.current.height(),at=[Fe(De,Se),Fe(Le,we)],tt=[Fe(De+Be,Se),Fe(Le+Ke,we)];ye({type:"box",color:oe,points:[at,tt]})}else if(le==="arrow"&&ee.current){ee.current.visible(!1);let De=ee.current.points(),Le={type:"arrow",color:oe,points:[[Fe(De[0],Se),Fe(De[1],we)],[Fe(De[2],Se),Fe(De[3],we)]]};ye(Le)}}};m(()=>{let be=(fe)=>{if(!D.current)return;let le=R.current?.getStage();if(!le)return;let Se=le.container().getBoundingClientRect(),we,Fe;if("clientX"in fe)we=fe.clientX,Fe=fe.clientY;else we=fe.touches[0].clientX,Fe=fe.touches[0].clientY;let De={x:we-Se.left,y:Fe-Se.top};if("touches"in fe&&fe.touches.length>1){U.current=De;return}let{isDrawing:Le,currentTool:Be,onPan:Ke,offset:at}=ne.current;if(Le){if(Be==="select")return;let tt=te(R.current,!0,De);if(!tt||!Y.current)return;let St=Y.current,jt=R.current?.getLayer();if(Be==="freehand"&&X.current){let dt=X.current.points().concat([tt.x,tt.y]);X.current.points(dt)}else if(Be==="line"&&X.current)X.current.points([St.x,St.y,tt.x,tt.y]);else if(Be==="box"&&J.current)J.current.width(tt.x-St.x),J.current.height(tt.y-St.y);else if(Be==="arrow"&&ee.current)ee.current.points([St.x,St.y,tt.x,tt.y]);jt?.batchDraw()}else{if(!Ke)return;let tt=De.x-U.current.x,St=De.y-U.current.y;U.current=De,Ke({x:at.x+tt,y:at.y+St})}},ye=(fe)=>{if("touches"in fe&&fe.touches.length>0)return;ie()};return window.addEventListener("mousemove",be),window.addEventListener("mouseup",ye),window.addEventListener("touchmove",be),window.addEventListener("touchend",ye),()=>{window.removeEventListener("mousemove",be),window.removeEventListener("mouseup",ye),window.removeEventListener("touchmove",be),window.removeEventListener("touchend",ye)}},[]);let se=(be)=>{if(y){if(v==="select")return;if(!be.target.getStage())return;let fe=te(R.current);if(!fe)return;if(fe.x<0||fe.x>s.width||fe.y<0||fe.y>s.height)return;D.current=!0,Y.current=fe;let le=R.current?.getLayer();if(!le)return;if(v==="freehand"&&X.current)X.current.points([fe.x,fe.y]),X.current.stroke(k),X.current.visible(!0);else if(v==="line"&&X.current)X.current.points([fe.x,fe.y,fe.x,fe.y]),X.current.stroke(k),X.current.visible(!0);else if(v==="box"&&J.current)J.current.position(fe),J.current.width(0),J.current.height(0),J.current.stroke(k),J.current.visible(!0);else if(v==="arrow"&&ee.current)ee.current.points([fe.x,fe.y,fe.x,fe.y]),ee.current.stroke(k),ee.current.fill(k),ee.current.visible(!0);le.batchDraw()}else{if(!f)return;D.current=!0;let ye=be.target.getStage();if(ye){let fe=ye.getPointerPosition();if(fe)U.current=fe}}},ae=(be,ye)=>{let{width:fe,height:le}=s;switch(be.type){case"box":{let[oe,Se]=be.points,we=Math.min(oe[0],Se[0])*fe,Fe=Math.min(oe[1],Se[1])*le,De=Math.abs(Se[0]-oe[0])*fe,Le=Math.abs(Se[1]-oe[1])*le;return t(Bb,{x:we,y:Fe,width:De,height:Le,stroke:be.color,strokeWidth:2.6/l,listening:!1},ye)}case"arrow":{let oe=be.points.flat().map((Se,we)=>we%2===0?Se*fe:Se*le);return t(Ub,{points:oe,stroke:be.color,strokeWidth:2.6/l,fill:be.color,pointerLength:10/l,pointerWidth:10/l,listening:!1},ye)}case"line":case"freehand":{let oe=be.points.flat().map((Se,we)=>we%2===0?Se*fe:Se*le);return t(Hb,{points:oe,stroke:be.color,strokeWidth:2.6/l,tension:0.5,lineCap:"round",lineJoin:"round",listening:!1},ye)}default:return null}};return t("div",{className:b,style:{width:e,height:n,overflow:"hidden",pointerEvents:!y&&!f?"none":"auto",cursor:y&&v!=="select"?"crosshair":f?D.current?"grabbing":"grab":"default"},children:t(D8,{width:e,height:n,scaleX:l,scaleY:l,x:c.x,y:c.y,onMouseDown:se,onClick:!y?d:void 0,onTap:!y?d:void 0,onTouchStart:se,children:t(I8,{children:o(Pb,{ref:R,width:s.width,height:s.height,children:[(r||T)&&t(R8,{image:r||T,width:s.width,height:s.height}),a.map(ae),o(Pb,{listening:!1,children:[t(Hb,{ref:X,strokeWidth:2.6/l,lineCap:"round",lineJoin:"round",visible:!1}),t(Bb,{ref:J,strokeWidth:2.6/l,visible:!1}),t(Ub,{ref:ee,points:[],strokeWidth:2.6/l,pointerLength:10/l,pointerWidth:10/l,visible:!1})]})]})})})})},Pr=Hq;function Wa(e,n,s,i){if(e<=0||n<=0||s<=0||i<=0)return 1;return Math.min(e/s,n/i)}function Br(e,n,s,i,r){return{x:(e-s*r)/2,y:(n-i*r)/2}}function Yh(e,n,s=0.02){return e>n*(1+s)}function Uq(e,n=0.01,s=50){return Math.min(s,Math.max(n,e))}function da(e,n,s,i,r,a=0.01,l=50){let c=Uq(e*s,a,l),f=c/e;return{zoom:c,pan:{x:i-(i-n.x)*f,y:r-(r-n.y)*f}}}function L8(e,n){let s=n===1?e*16:n===2?e*100:e,i=Math.exp(-s*0.01);return Math.min(2,Math.max(0.5,i))}E();function Sl({containerRef:e,zoom:n,pan:s,baseScale:i,onZoomChange:r,onPanChange:a}){let l=_({zoom:n,pan:s,baseScale:i,onZoomChange:r,onPanChange:a});l.current={zoom:n,pan:s,baseScale:i,onZoomChange:r,onPanChange:a},m(()=>{let c=e.current;if(!c)return;let f=new Map,d=null,b=(R)=>{let D=l.current;if(R.ctrlKey){R.preventDefault();let U=c.getBoundingClientRect(),Y=R.clientX-U.left,X=R.clientY-U.top;D.onZoomChange(da(D.zoom,D.pan,L8(R.deltaY,R.deltaMode),Y,X));return}if(Yh(D.zoom,D.baseScale))R.preventDefault(),D.onPanChange({x:D.pan.x-R.deltaX,y:D.pan.y-R.deltaY})},y=(R,D)=>Math.hypot(D.x-R.x,D.y-R.y),v=(R,D,U)=>({x:(R.x+D.x)/2-U.left,y:(R.y+D.y)/2-U.top}),k=(R)=>{for(let D of Array.from(R.touches))f.set(D.identifier,{x:D.clientX,y:D.clientY});if(f.size===2){R.preventDefault();let D=c.getBoundingClientRect(),[U,Y]=Array.from(f.values());d={lastDist:y(U,Y),lastMid:v(U,Y,D)}}},A=(R)=>{for(let se of Array.from(R.touches))f.set(se.identifier,{x:se.clientX,y:se.clientY});if(!d||f.size<2)return;R.preventDefault();let D=c.getBoundingClientRect(),[U,Y]=Array.from(f.values()),X=v(U,Y,D),J=y(U,Y),ee=l.current,te=d.lastDist>0?J/d.lastDist:1,ne=da(ee.zoom,ee.pan,te,X.x,X.y),ie=ne.pan;if(Yh(ne.zoom,ee.baseScale))ie={x:ie.x+(X.x-d.lastMid.x),y:ie.y+(X.y-d.lastMid.y)};ee.onZoomChange({zoom:ne.zoom,pan:ie}),d.lastDist=J,d.lastMid=X},T=(R)=>{for(let D of Array.from(R.changedTouches))f.delete(D.identifier);if(f.size<2)d=null};return c.addEventListener("wheel",b,{passive:!1}),c.addEventListener("touchstart",k,{passive:!1}),c.addEventListener("touchmove",A,{passive:!1}),c.addEventListener("touchend",T,{passive:!1}),c.addEventListener("touchcancel",T,{passive:!1}),()=>{c.removeEventListener("wheel",b),c.removeEventListener("touchstart",k),c.removeEventListener("touchmove",A),c.removeEventListener("touchend",T),c.removeEventListener("touchcancel",T)}},[e])}var zq=F(({file:e,onPlay:n,onPause:s,onTimeUpdate:i,annotations:r,startTime:a,shareId:l,children:c,allowDownload:f,autoPlay:d},b)=>{let y=_(null),v=_(null),[k,A]=u(void 0),[T,R]=u(!0),D=Boolean(e.media?.isHls&&e.media.hls?.url),Y=(D?e.media?.hls?.resolutions??[]:e.media?.videoTranscodes??[]).map((ze)=>({...ze,resolution:Ss(ze)})),X=(D||Y.length>0)&&!!e.media?.metadata,J=()=>{if(Y.length===0)return null;if(typeof window>"u")return Y[0];let ze=typeof window.matchMedia==="function"&&window.matchMedia("(dynamic-range: high)").matches,ft=Y.some((Nn)=>Nn.hdr),_t=Y.some((Nn)=>!Nn.hdr),nn=Y;if(ze&&ft)nn=Y.filter((Nn)=>Nn.hdr);else if(!ze&&_t)nn=Y.filter((Nn)=>!Nn.hdr);let Cn=window.innerWidth*(window.devicePixelRatio||1),bn=[...nn].sort((Nn,zn)=>{let Qn=Nn.width??0,Ws=zn.width??0;return Qn-Ws});return bn.find((Nn)=>(Nn.width??0)>=Cn)||bn[bn.length-1]},ee=D?null:J(),[te,ne]=u({isPlaying:!1,progress:0,currentTime:0,duration:e.media?.metadata?.duration||0,volume:1,isMuted:!1,isLooping:!1,playbackRate:1,isFullScreen:!1,showFrames:!1,currentResolution:D?"Auto":ee?.resolution??"",currentSrc:D?e.media.hls.url:ee?.url??"",isCurrentHdr:ee?.hdr??!1}),[ie,se]=u(!1),ae=_(null),be=_(null),ye=_(null),fe=_(null);Jr(b,()=>({play:()=>{if(fe.current)fe.current(),fe.current=null;v.current?.play().catch(()=>{})},pause:()=>{v.current?.pause()},seekTo:(ze)=>{if(fe.current)fe.current(),fe.current=null;if(se(!0),v.current)v.current.currentTime=ze},getCurrentTime:()=>(v.current?v.current.currentTime:0)??0,getDuration:()=>(v.current?v.current.duration:0)??0}));let le=_(!1),[oe,Se]=u(1),[we,Fe]=u({x:0,y:0}),[De,Le]=u(!1),[Be,Ke]=u({width:0,height:0});m(()=>{let ze=D?null:J();if(ne((ft)=>({...ft,isPlaying:!1,progress:0,currentTime:0,duration:e.media?.metadata?.duration||0,currentResolution:D?"Auto":ze?.resolution??"",currentSrc:D?e.media?.hls?.url??"":ze?.url??"",isCurrentHdr:ze?.hdr??!1})),A(void 0),Le(!1),qn.current)clearTimeout(qn.current),qn.current=null;ln(!1),Yt(!0),nt(0),os.current=null,se(!1)},[e.id,Boolean(D?e.media?.hls?.url:ee?.url)]);let at=e.media?.metadata?.originalWidth||1920,tt=e.media?.metadata?.originalHeight||1080,St=Wa(Be.width,Be.height,at,tt),jt=(ze)=>{Le(!0);let ft=da(oe,we,ze/oe,Be.width/2,Be.height/2);Se(ft.zoom),Fe(ft.pan)},dt=()=>{if(Le(!1),Be.width>0&&Be.height>0){let ze=Wa(Be.width,Be.height,at,tt);Se(ze),Fe(Br(Be.width,Be.height,at,tt,ze))}},{isDrawing:Lt,currentTool:Zt,currentColor:dn,addAnnotation:Xt,annotations:on}=zr(),Yn=[...r||[],...on];m(()=>{if(!ae.current)return;let ze=new ResizeObserver((ft)=>{let _t=ft[0];if(_t)Ke({width:_t.contentRect.width,height:_t.contentRect.height})});return ze.observe(ae.current),()=>ze.disconnect()},[]),m(()=>{if(Be.width<=0||Be.height<=0)return;if(De)return;let ze=Wa(Be.width,Be.height,at,tt);Se(ze),Fe(Br(Be.width,Be.height,at,tt,ze))},[Be.width,Be.height,at,tt,De]),Sl({containerRef:ae,zoom:oe,pan:we,baseScale:St,onZoomChange:(ze)=>{Le(!0),Se(ze.zoom),Fe(ze.pan)},onPanChange:Fe}),m(()=>()=>{v.current=null},[]);let[We,nt]=u(0),[yt,pt]=u(!0),[Nt,ln]=u(!1),[pn,Yt]=u(!0),qn=_(null),os=_(null),Tt=e.media?.metadata,ot=Tt?.frameRate||30,cn=Tt?.totalFrames||0,Bt=Tt?.duration||0,Mn=e.proxyType==="audio",ls=Eu({dbTotalFrames:cn,containerDuration:Bt,frameRate:ot}),{currentFrame:Ds,seekToFrame:Xs}=k0(v,ot,ls,Mn),wa=P((ze)=>{if(fe.current)fe.current(),fe.current=null;return se(!0),Xs(ze)},[Xs]),Mi=Ds/ot,ir=ls/ot,Oo=ir>0?Mi/ir*100:0,jl={...te,currentTime:Mi,duration:ir,progress:Oo,activeAutoResolution:k,isHlsManualSupported:T,isLoading:pn};m(()=>{if(i)i(Ds/ot)},[Ds,ot,i]);let rr=D?e.media?.hls?.url??"":J()?.url??"";m(()=>{let ze=v.current;if(!ze)return;if(!rr)return;if(y.current)y.current.destroy(),y.current=null;if(qn.current)clearTimeout(qn.current),qn.current=null;ln(!1),Yt(!0),A(void 0);let ft=()=>{let Ks=ze.play();if(Ks!==void 0)Ks.catch(()=>{ze.muted=!0,ne((Li)=>({...Li,isMuted:!0})),ze.play()?.catch(()=>{})})},_t=null;if(D){if(is.isSupported())R(!0),_t=new is({autoStartLoad:!0,startLevel:-1,capLevelToPlayerSize:!1,enableWorker:!0}),y.current=_t,_t.attachMedia(ze),_t.loadSource(rr),_t.on(is.Events.MANIFEST_PARSED,()=>{if(d)if(ze.readyState>=2)ft();else ze.addEventListener("canplay",ft,{once:!0})}),_t.on(is.Events.LEVEL_SWITCHED,(Ks,Li)=>{let As=_t?.levels[Li.level];if(As){let bc=Y.find((zo)=>zo.width===As.width&&zo.height===As.height);if(bc?.resolution)A(bc.resolution);else{let zo=As.width&&As.height?Math.min(As.width,As.height):As.height||As.width;A(zo?`${zo}p`:void 0)}}}),_t.on(is.Events.ERROR,(Ks,Li)=>{if(Li.fatal)switch(Li.type){case is.ErrorTypes.NETWORK_ERROR:_t?.startLoad();break;case is.ErrorTypes.MEDIA_ERROR:_t?.recoverMediaError();break;default:_t?.destroy();break}});else if(ze.canPlayType("application/vnd.apple.mpegurl")){if(R(!1),ze.src=rr,d)if(ze.readyState>=2)ft();else ze.addEventListener("canplay",ft,{once:!0})}}else if(ze.src=rr,d)if(ze.readyState>=2)ft();else ze.addEventListener("canplay",ft,{once:!0});let nn=()=>{if(qn.current)clearTimeout(qn.current),qn.current=null},Cn=()=>{if(nn(),Yt(!1),ln(!0),fe.current)fe.current(),fe.current=null;ne((Ks)=>({...Ks,isPlaying:!0})),se(!0),n?.()},bn=()=>{ne((Ks)=>({...Ks,isPlaying:!1})),s?.()},xs=()=>{nn(),Yt(!1),ne((Ks)=>({...Ks,isPlaying:!1}))},Nn=()=>{nn(),Yt(!1),ln(!0)},zn=()=>{nn(),Yt(!1),ln(!0)},Qn=()=>{nn(),Yt(!1)},Ws=()=>{nn(),qn.current=setTimeout(()=>{Yt(!0)},200)},cs=()=>{nn(),Yt(!0),ln(!1)},Fi=()=>{let Ks=ze.duration||e.media?.metadata?.duration||0;if(Ks>0&&ze.buffered.length>0){let Li=0;for(let As=0;As<ze.buffered.length;As++)if(ze.buffered.start(As)<=ze.currentTime&&ze.currentTime<=ze.buffered.end(As)){Li=ze.buffered.end(As);break}if(Li===0)Li=ze.buffered.end(ze.buffered.length-1);nt(Li/Ks*100)}},Kr=()=>{ne((Ks)=>({...Ks,volume:ze.volume,isMuted:ze.muted}))},Df=()=>{ne((Ks)=>({...Ks,playbackRate:ze.playbackRate}))},qf=()=>{nn(),Yt(!1),console.error("Video Error:",ze.error)};if(ze.readyState>=2)Yt(!1),ln(!0);return ze.addEventListener("play",Cn),ze.addEventListener("pause",bn),ze.addEventListener("ended",xs),ze.addEventListener("loadeddata",Nn),ze.addEventListener("canplay",zn),ze.addEventListener("playing",Qn),ze.addEventListener("waiting",Ws),ze.addEventListener("loadstart",cs),ze.addEventListener("timeupdate",Fi),ze.addEventListener("progress",Fi),ze.addEventListener("volumechange",Kr),ze.addEventListener("ratechange",Df),ze.addEventListener("error",qf),ze.volume=te.volume,()=>{if(nn(),ze.removeEventListener("play",Cn),ze.removeEventListener("pause",bn),ze.removeEventListener("ended",xs),ze.removeEventListener("loadeddata",Nn),ze.removeEventListener("canplay",zn),ze.removeEventListener("playing",Qn),ze.removeEventListener("waiting",Ws),ze.removeEventListener("loadstart",cs),ze.removeEventListener("timeupdate",Fi),ze.removeEventListener("progress",Fi),ze.removeEventListener("volumechange",Kr),ze.removeEventListener("ratechange",Df),ze.removeEventListener("error",qf),y.current)y.current.destroy(),y.current=null}},[e.id,rr,D,d]),m(()=>{if(!Nt)return;if(a!==void 0&&a!==null&&a>0){if(a!==os.current){os.current=a;let ze=Math.floor(a*ot+0.45);se(!0),Xs(ze)}}},[a,ot,Xs,Nt]);let to=P(()=>{if(ye.current)clearTimeout(ye.current);if(te.isFullScreen&&!le.current)ye.current=setTimeout(()=>{pt(!1)},1200)},[te.isFullScreen]),ya=P(()=>{pt(!0),to()},[to]),so=P(()=>{if(le.current=!0,ye.current)clearTimeout(ye.current);pt(!0)},[]),va=P(()=>{le.current=!1,to()},[to]),Po=P(()=>{if(te.isFullScreen){if(ye.current)clearTimeout(ye.current);pt(!1)}},[te.isFullScreen]);m(()=>()=>{if(ye.current)clearTimeout(ye.current)},[]),m(()=>{if(!te.isFullScreen){if(pt(!0),ye.current)clearTimeout(ye.current)}else ya()},[te.isPlaying,te.isFullScreen,ya]);let Sa=P(()=>{if(pn)return;if(zr.getState().isDrawing)return;if(fe.current)fe.current(),fe.current=null;let ze=v.current;if(!ze)return;if(ze.paused||ze.ended){let ft=ze.play();if(ft!==void 0)ft.catch((_t)=>{if(_t.name==="AbortError")return;console.error("Play failed:",_t)})}else ze.pause()},[pn]);m(()=>{let ze=(ft)=>{let _t=document.activeElement;if(_t&&(_t.tagName==="INPUT"||_t.tagName==="TEXTAREA"||_t instanceof HTMLElement&&_t.isContentEditable))return;let nn=ft.key===" ",Cn=_t&&(_t.tagName==="BUTTON"||_t.tagName==="A"||_t.tagName==="SELECT"||_t.tagName==="OPTION"||_t.getAttribute("role")==="button"||_t.getAttribute("role")==="link"||_t.getAttribute("role")==="checkbox"||_t.getAttribute("role")==="radio"||_t.getAttribute("role")==="menuitem");if(nn&&Cn)return;if(ft.key===" "||ft.key.toLowerCase()==="k")ft.preventDefault(),Sa()};return window.addEventListener("keydown",ze),()=>{window.removeEventListener("keydown",ze)}},[Sa]);let No=()=>{let ze=v.current;if(!ze)return;let ft=!te.isLooping;ze.loop=ft,ne((_t)=>({..._t,isLooping:ft}))},ar=(ze)=>{ne((_t)=>({..._t,volume:ze,isMuted:ze===0}));let ft=v.current;if(!ft)return;if(ft.volume=ze,ze>0&&ft.muted)ft.muted=!1;else if(ze===0&&!ft.muted)ft.muted=!0},Ho=()=>{let ze=v.current;if(!ze)return;if(ze.muted){if(ze.muted=!1,ze.volume===0)ze.volume=0.5}else ze.muted=!0},st=(ze)=>{let ft=v.current;if(!ft)return;ft.playbackRate=ze,ne((_t)=>({..._t,playbackRate:ze}))},gn=(ze)=>{let ft=v.current;if(!ft)return;if(fe.current)fe.current(),fe.current=null;if(D&&y.current){let bn=y.current,xs=ft.paused,Nn=Ds;if(ze.resolution==="Auto"){if(te.currentResolution==="Auto"&&bn.currentLevel===-1)return;bn.currentLevel=-1,ne((zn)=>({...zn,currentResolution:"Auto"}))}else{let zn=bn.levels.findIndex((Qn)=>Qn.height===ze.height||Math.max(Qn.width,Qn.height)===Math.max(ze.width,ze.height));if(zn!==-1){if(zn===bn.currentLevel&&te.currentResolution===ze.resolution)return;bn.currentLevel=zn,ne((Qn)=>({...Qn,currentResolution:ze.resolution,isCurrentHdr:ze.hdr??!1}))}}if(xs){let zn=null,Qn=()=>{if(zn)clearTimeout(zn),zn=null;if(ft.removeEventListener("seeked",Ws),bn.off?.(is.Events.ERROR,Qn),fe.current===Qn)fe.current=null},Ws=()=>{Qn();let cs=Oi(Nn,ot),Fi=1/ot;if(Math.abs(ft.currentTime-cs)>Fi/4)ft.currentTime=cs};zn=setTimeout(Qn,1500),fe.current=Qn,ft.addEventListener("seeked",Ws),bn.once?.(is.Events.ERROR,Qn)}return}let _t=!ft.paused,nn=ft.currentTime;ne((bn)=>({...bn,currentResolution:ze.resolution,currentSrc:ze.url,isCurrentHdr:ze.hdr??!1})),ft.src=ze.url||"";let Cn=()=>{if(ft.removeEventListener("loadedmetadata",Cn),ft.currentTime=nn,_t){let bn=ft.play();if(bn!==void 0)bn.catch((xs)=>{if(xs.name!=="AbortError")console.error("Play after seek failed:",xs)})}ft.playbackRate=te.playbackRate};ft.addEventListener("loadedmetadata",Cn)},Jt=()=>{let ze=be.current,ft=v.current;if(ze&&typeof ze.requestFullscreen==="function"){if(!document.fullscreenElement)ze.requestFullscreen().catch(()=>{}),ne((nn)=>({...nn,isFullScreen:!0}));else if(document.exitFullscreen)document.exitFullscreen().catch(()=>{}),ne((nn)=>({...nn,isFullScreen:!1}));return}let _t=ft;if(_t&&typeof _t.webkitEnterFullscreen==="function"){if(!_t.webkitDisplayingFullscreen)try{_t.webkitEnterFullscreen()}catch(nn){console.error("Failed to enter iOS fullscreen:",nn)}else if(typeof _t.webkitExitFullscreen==="function")try{_t.webkitExitFullscreen()}catch(nn){console.error("Failed to exit iOS fullscreen:",nn)}return}ne((nn)=>({...nn,isFullScreen:!nn.isFullScreen}))},ps=async(ze)=>{try{let ft=l?await g.api.shares[":shareId"].files[":fileId"]["download-url"].$post({param:{shareId:l,fileId:e.id},json:{key:ze}}):await g.api.files["download-url"].$post({json:{key:ze,assetId:e.id}});if(!ft.ok)return;let{url:_t}=await ft.json(),nn=document.createElement("a");nn.href=_t,nn.download="",document.body.appendChild(nn),nn.click(),document.body.removeChild(nn)}catch{}};m(()=>{let ze=()=>{ne((Cn)=>({...Cn,isFullScreen:!!document.fullscreenElement}))};document.addEventListener("fullscreenchange",ze);let ft=v.current,_t=()=>{ne((Cn)=>({...Cn,isFullScreen:!0}))},nn=()=>{ne((Cn)=>({...Cn,isFullScreen:!1}))};if(ft)ft.addEventListener("webkitbeginfullscreen",_t),ft.addEventListener("webkitendfullscreen",nn);return()=>{if(document.removeEventListener("fullscreenchange",ze),ft)ft.removeEventListener("webkitbeginfullscreen",_t),ft.removeEventListener("webkitendfullscreen",nn)}},[]);let oi=oe,Wr=Bo();if(!X){if(e.status==="failed"){let ze=e.media?.error;return o("div",{"data-testid":"video-viewer-failed-state",className:"flex h-full w-full flex-col items-center justify-center gap-3 p-6 text-center",children:[t(nr,{className:"h-12 w-12 text-destructive/80"}),o("div",{className:"space-y-1 max-w-md",children:[t("h3",{className:"text-base font-semibold text-foreground",children:mg()}),t("p",{className:"text-sm text-muted-foreground",children:hg()}),ze&&t("div",{title:ze,className:"mt-3 rounded-lg border border-destructive/20 bg-destructive/10 p-3 text-xs text-destructive text-left line-clamp-3 break-words",children:ze})]})]})}return t("div",{className:"flex h-full w-full items-center justify-center",children:t("p",{className:"text-muted-foreground",children:Wx()})})}return o("div",{ref:be,className:C("group shadow-2xl font-sans select-none flex flex-col mx-auto relative",te.isFullScreen?"h-full w-full rounded-none bg-black":"w-full h-full",!yt&&te.isFullScreen?"cursor-none":""),onMouseMove:ya,onMouseLeave:Po,children:[o("div",{className:"flex-1 flex flex-col-reverse md:flex-row min-h-0 relative",children:[!te.isFullScreen&&c,o("div",{ref:ae,className:C("flex-1 bg-black cursor-pointer relative flex items-center justify-center overflow-hidden min-h-0 touch-none"),onClick:Sa,"data-testid":"video-area",children:[!Mn&&t("div",{className:"absolute pointer-events-none overflow-hidden",style:{left:0,top:0,width:at,height:tt,transform:`translate(${we.x}px, ${we.y}px) scale(${oi})`,transformOrigin:"0 0"},children:t("video",{ref:v,className:C("w-full h-full block object-contain pointer-events-none",!ie&&e.preview?.thumbnailUrl&&"blur-md scale-105"),playsInline:!0,preload:"auto",poster:e.preview?.thumbnailUrl||void 0})}),Mn&&t("video",{ref:v,className:"absolute inset-0 pointer-events-none opacity-0",playsInline:!0,preload:"auto"}),Mn?t("div",{className:"flex flex-col items-center justify-center text-muted-foreground w-full h-full pointer-events-none select-none",children:t(ts,{className:C("w-16 h-16 text-foreground/75 transition-transform duration-500",te.isPlaying?"animate-pulse scale-110 text-primary":"")})}):Be.width>0&&t(Pr,{width:Be.width,height:Be.height,mediaDimensions:{width:at,height:tt},annotations:Yn,scale:oi,offset:we,className:"absolute inset-0",isDrawing:Lt,currentTool:Zt,currentColor:dn,onAddAnnotation:Xt}),pn&&t("div",{className:"absolute inset-0 flex items-center justify-center bg-black/20 pointer-events-none z-10 transition-opacity duration-200","data-testid":"video-loading-spinner",children:t("div",{className:"w-16 h-16 bg-white/10 backdrop-blur-sm rounded-full flex items-center justify-center border-2 border-white/30",children:t(O,{className:"w-8 h-8 text-white animate-spin"})})}),!pn&&!ie&&!Lt&&t("div",{className:"absolute inset-0 flex items-center justify-center bg-black/20 pointer-events-none z-10 transition-opacity duration-200","data-testid":"video-play-overlay",children:t("div",{className:"w-20 h-20 bg-white/10 backdrop-blur-sm rounded-full flex items-center justify-center border-2 border-white/30",children:t(Ea,{className:"w-10 h-10 text-white ml-1 fill-white"})})})]})]}),Wr?t(Bv,{state:jl,zoom:oe,isControlsVisible:yt,buffered:We,data:e,resolutions:Y,togglePlay:Sa,toggleLoop:No,toggleMute:Ho,handleVolumeChange:ar,changePlaybackRate:st,changeResolution:gn,handleDownload:ps,toggleFullScreen:Jt,onZoomChange:jt,onZoomReset:dt,frameRate:ot,totalFrames:ls,currentFrame:Ds,seekToFrame:wa,onMouseEnter:so,onMouseLeave:va,allowDownload:f,isLoading:pn}):t(bu,{state:jl,zoom:oe,isControlsVisible:yt,buffered:We,data:e,resolutions:Y,togglePlay:Sa,toggleLoop:No,toggleMute:Ho,handleVolumeChange:ar,changePlaybackRate:st,changeResolution:gn,handleDownload:ps,toggleFullScreen:Jt,onZoomChange:jt,onZoomReset:dt,frameRate:ot,totalFrames:ls,currentFrame:Ds,seekToFrame:wa,onMouseEnter:so,onMouseLeave:va,allowDownload:f,isLoading:pn})]})}),O8=zq;E();function Yl(e){if(!e||e.length<2)return null;let n=[...e].sort((s,i)=>i.version-s.version);return{left:n[0],right:n[1]}}function P8(e,n){return Math.max(0,Math.min(e,Math.max(0,n-1)))}function Gq(e){return(Boolean(e.media?.isHls&&e.media.hls?.url)?e.media?.hls?.resolutions??[]:e.media?.videoTranscodes??[]).map((i)=>({...i,resolution:Ss(i)}))}function N8(e){if(e.length===0)return null;if(typeof window>"u")return e[0];let n=typeof window.matchMedia==="function"&&window.matchMedia("(dynamic-range: high)").matches,s=e.some((f)=>f.hdr),i=e.some((f)=>!f.hdr),r=e;if(n&&s)r=e.filter((f)=>f.hdr);else if(!n&&i)r=e.filter((f)=>!f.hdr);let a=window.innerWidth*(window.devicePixelRatio||1),l=[...r].sort((f,d)=>(f.width??0)-(d.width??0));return l.find((f)=>(f.width??0)>=a)||l[l.length-1]}var B8=F(function({file:n,shareId:s,isActive:i,muted:r=!0,volume:a=1,annotations:l,onStateChange:c,onActivate:f,onRequestTogglePlay:d,onTimeUpdate:b,onPlay:y},v){let k=_(null),A=_(null),T=_(null),{isDrawing:R,currentTool:D,currentColor:U,addAnnotation:Y,annotations:X}=zr(),[J,ee]=u({width:0,height:0}),[te,ne]=u(1),[ie,se]=u(!1),[ae,be]=u(null),[ye,fe]=u(!1),[le,oe]=u(!1),[Se,we]=u(!1),[Fe,De]=u(1),[Le,Be]=u(0),[Ke,at]=u(a),[tt,St]=u(r),[jt,dt]=u(!1),[Lt,Zt]=u(!0),dn=_(null),Xt=n.media?.metadata,on=Xt?.frameRate||30,Yn=Xt?.totalFrames||0,We=Xt?.duration||0,nt=Eu({dbTotalFrames:Yn,containerDuration:We,frameRate:on}),yt=Boolean(n.media?.isHls&&n.media.hls?.url),pt=Gq(n),Nt=yt?null:N8(pt),[ln,pn]=u(yt?"Auto":Nt?.resolution??""),[Yt,qn]=u(Nt?.hdr),[os,Tt]=u(void 0),ot=_(null),cn=!yt||Boolean(is.isSupported()),Bt=_(yt?n.media.hls.url:Nt?.url),Mn=n.proxyType==="audio",{currentFrame:ls,seekToFrame:Ds}=k0(T,on,nt,Mn),Xs=_(te);Xs.current=te;let wa=_(ls);wa.current=ls,m(()=>{if(!A.current)return;let st=new ResizeObserver((gn)=>{let Jt=gn[0];if(Jt)ee({width:Jt.contentRect.width,height:Jt.contentRect.height})});return st.observe(A.current),()=>st.disconnect()},[]);let Mi=Xt?.originalWidth||1920,ir=Xt?.originalHeight||1080;m(()=>{if(J.width>0&&J.height>0&&!ie){let st=Math.min(J.width/Mi,J.height/ir);ne(st)}},[J.width,J.height,Mi,ir,ie]),m(()=>{let st=yt?null:N8(pt);if(pn(yt?"Auto":st?.resolution??""),qn(st?.hdr),Tt(void 0),Bt.current=yt?n.media.hls.url:st?.url,dn.current)clearTimeout(dn.current),dn.current=null;Zt(!0),dt(!1),oe(!1)},[n.id,Boolean(yt?n.media?.hls?.url:Nt?.url)]),m(()=>{let st=T.current;if(!st)return;let gn=yt?n.media.hls.url:Bt.current??"";if(!gn)return;if(k.current)k.current.destroy(),k.current=null;if(dn.current)clearTimeout(dn.current),dn.current=null;dt(!1),Zt(!0);let Jt=null;if(yt){if(is.isSupported())Jt=new is({autoStartLoad:!0,startLevel:-1,capLevelToPlayerSize:!1,enableWorker:!0}),k.current=Jt,Jt.attachMedia(st),Jt.loadSource(gn),Jt.on(is.Events.LEVEL_SWITCHED,(Qn,Ws)=>{let cs=Jt?.levels[Ws.level];if(cs){let Fi=pt.find((Kr)=>Kr.width===cs.width&&Kr.height===cs.height);if(Fi?.resolution)Tt(Fi.resolution);else{let Kr=cs.width&&cs.height?Math.min(cs.width,cs.height):cs.height||cs.width;Tt(Kr?`${Kr}p`:void 0)}}}),Jt.on(is.Events.ERROR,(Qn,Ws)=>{if(Ws.fatal)switch(Ws.type){case is.ErrorTypes.NETWORK_ERROR:Jt?.startLoad();break;case is.ErrorTypes.MEDIA_ERROR:Jt?.recoverMediaError();break;default:Jt?.destroy();break}});else if(st.canPlayType("application/vnd.apple.mpegurl"))st.src=gn}else st.src=gn;let ps=()=>{if(dn.current)clearTimeout(dn.current),dn.current=null},oi=()=>{if(ps(),Zt(!1),dt(!0),ot.current)ot.current(),ot.current=null;fe(!0),oe(!0),y?.()},Wr=()=>fe(!1),ze=()=>{ps(),Zt(!1),fe(!1)},ft=()=>{ps(),Zt(!1),dt(!0)},_t=()=>{ps(),Zt(!1),dt(!0)},nn=()=>{ps(),Zt(!1)},Cn=()=>{ps(),dn.current=setTimeout(()=>{Zt(!0)},200)},bn=()=>{ps(),Zt(!0),dt(!1)},xs=()=>{let Qn=st.duration||We||0;if(Qn>0&&st.buffered.length>0){let Ws=0;for(let cs=0;cs<st.buffered.length;cs++)if(st.buffered.start(cs)<=st.currentTime&&st.currentTime<=st.buffered.end(cs)){Ws=st.buffered.end(cs);break}if(Ws===0)Ws=st.buffered.end(st.buffered.length-1);Be(Ws/Qn*100)}},Nn=()=>{at(st.volume||0),St(st.muted||!1)},zn=()=>De(st.playbackRate||1);if(st.readyState>=2)Zt(!1),dt(!0);return st.addEventListener("play",oi),st.addEventListener("pause",Wr),st.addEventListener("ended",ze),st.addEventListener("loadeddata",ft),st.addEventListener("canplay",_t),st.addEventListener("playing",nn),st.addEventListener("waiting",Cn),st.addEventListener("loadstart",bn),st.addEventListener("timeupdate",xs),st.addEventListener("progress",xs),st.addEventListener("volumechange",Nn),st.addEventListener("ratechange",zn),()=>{if(ps(),st.removeEventListener("play",oi),st.removeEventListener("pause",Wr),st.removeEventListener("ended",ze),st.removeEventListener("loadeddata",ft),st.removeEventListener("canplay",_t),st.removeEventListener("playing",nn),st.removeEventListener("waiting",Cn),st.removeEventListener("loadstart",bn),st.removeEventListener("timeupdate",xs),st.removeEventListener("progress",xs),st.removeEventListener("volumechange",Nn),st.removeEventListener("ratechange",zn),ot.current)ot.current(),ot.current=null;if(k.current)k.current.destroy(),k.current=null}},[n.id]),m(()=>{let st=T.current;if(!st||!jt)return;st.muted=r,st.volume=a},[r,a,jt]),m(()=>{c({kind:"video",zoom:te,video:{frameRate:on,totalFrames:nt,currentFrame:ls,isPlaying:ye,volume:Ke,isMuted:tt,playbackRate:Fe,isLooping:Se,currentResolution:ln,isCurrentHdr:Yt,resolutions:pt,buffered:Le,activeAutoResolution:os,isHlsManualSupported:cn,isLoading:Lt}})},[te,on,nt,ls,ye,Ke,tt,Fe,Se,ln,Yt,Le,os,cn,Lt]),m(()=>{if(i)b?.(ls/on)},[ls,on,i,b]);let Oo=P((st)=>{let Jt=Xs.current*st;if(Jt<0.01||Jt>50)return;ne(Jt),se(!0)},[]),jl=P(()=>{se(!1),be(null)},[]),rr=P((st)=>P8(st,nt),[nt]),to=P(async(st)=>{let gn=st??n.media?.original?.key;if(!gn||!n.id)return;try{let Jt=s?await g.api.shares[":shareId"].files[":fileId"]["download-url"].$post({param:{shareId:s,fileId:n.id},json:{key:gn}}):await g.api.files["download-url"].$post({json:{key:gn,assetId:n.id}});if(!Jt.ok)return;let{url:ps}=await Jt.json(),oi=document.createElement("a");oi.href=ps,oi.download="",document.body.appendChild(oi),oi.click(),document.body.removeChild(oi)}catch{}},[n.id,n.media?.original?.key,s]),ya=P((st,gn)=>{let Jt=T.current;if(!Jt)return;if(ot.current)ot.current(),ot.current=null;if(yt){if(!k.current)return;let ft=k.current,_t=Jt.paused,nn=wa.current;if(st==="Auto"){if(ln==="Auto"&&ft.currentLevel===-1)return;ft.currentLevel=-1,pn("Auto")}else{let Cn=pt.find((bn)=>bn.resolution===st);if(Cn){let bn=ft.levels.findIndex((xs)=>xs.height===Cn.height||Math.max(xs.width,xs.height)===Math.max(Cn.width,Cn.height));if(bn!==-1){if(bn===ft.currentLevel&&ln===st)return;ft.currentLevel=bn,pn(st),qn(Cn.hdr)}}}if(_t){let Cn=null,bn=()=>{if(Cn)clearTimeout(Cn),Cn=null;if(Jt.removeEventListener("seeked",xs),ft.off?.(is.Events.ERROR,bn),ot.current===bn)ot.current=null},xs=()=>{bn();let Nn=Oi(nn,on),zn=1/on;if(Math.abs(Jt.currentTime-Nn)>zn/4)Jt.currentTime=Nn};Cn=setTimeout(bn,1500),ot.current=bn,Jt.addEventListener("seeked",xs),ft.once?.(is.Events.ERROR,bn)}return}let ps=gn!==void 0?pt.find((ft)=>ft.resolution===st&&Boolean(ft.hdr)===Boolean(gn)):pt.find((ft)=>ft.resolution===st);if(!ps)return;let oi=!Jt.paused,Wr=Jt.currentTime;pn(st),qn(ps.hdr),Bt.current=ps.url,Jt.src=ps.url||"";let ze=()=>{if(Jt.removeEventListener("loadedmetadata",ze),Jt.currentTime=Wr,oi){let ft=Jt.play();if(ft!==void 0)ft.catch(()=>{})}Jt.playbackRate=Fe};Jt.addEventListener("loadedmetadata",ze)},[pt,yt,on,Fe,ln]);Jr(v,()=>({getKind:()=>"video",play:()=>{if(ot.current)ot.current(),ot.current=null;let st=T.current?.play();if(st!==void 0)st.catch(()=>{})},pause:()=>T.current?.pause(),togglePlay:()=>{let st=T.current;if(!st)return;if(ot.current)ot.current(),ot.current=null;if(st.paused||st.ended){let gn=st.play();if(gn!==void 0)gn.catch(()=>{})}else st.pause()},seekToFrame:(st)=>{if(ot.current)ot.current(),ot.current=null;return oe(!0),Ds(rr(st))},seekToSecond:(st)=>{if(ot.current)ot.current(),ot.current=null;oe(!0);let gn=Math.floor(st*on+0.45);Ds(rr(gn))},stepFrame:(st)=>{if(ot.current)ot.current(),ot.current=null;return oe(!0),Ds(rr(wa.current+st))},setMuted:(st)=>{if(T.current)T.current.muted=st},setVolume:(st)=>{let gn=T.current;if(!gn)return;if(gn.volume=st,st>0&&gn.muted)gn.muted=!1;else if(st===0&&!gn.muted)gn.muted=!0},setPlaybackRate:(st)=>{if(T.current)T.current.playbackRate=st},toggleLoop:()=>{let st=T.current;if(!st)return;let gn=!st.loop;st.loop=gn,we(gn)},changeResolution:ya,zoomBy:Oo,fit:jl,panBy:(st,gn)=>be((Jt)=>{let ps=Xs.current,oi=Jt??{x:(J.width-Mi*ps)/2,y:(J.height-ir*ps)/2};return{x:oi.x+st,y:oi.y+gn}}),download:(st)=>to(st)}),[Ds,rr,on,Oo,jl,ya,to,J.width,J.height,Mi,ir]);let so=[...l??[],...i?X:[]],va=te,Po=(J.width-Mi*va)/2,Sa=(J.height-ir*va)/2,No=ae?.x??Po,ar=ae?.y??Sa,Ho=P(()=>{if(zr.getState().isDrawing)return;if(!i){f?.();return}if(Lt)return;d?.()},[i,Lt,f,d]);if(!n.media?.metadata||pt.length===0)return t("div",{className:"flex h-full w-full items-center justify-center bg-black",children:t("p",{className:"text-muted-foreground",children:"Media is not available."})});return o("div",{ref:A,className:C("relative flex flex-1 cursor-pointer items-center justify-center overflow-hidden bg-black"),onClick:Ho,"data-testid":"compare-video-area",children:[!Mn&&t("div",{className:"absolute pointer-events-none overflow-hidden",style:{left:0,top:0,width:Mi,height:ir,transform:`translate(${No}px, ${ar}px) scale(${va})`,transformOrigin:"0 0"},children:t("video",{ref:T,className:C("w-full h-full block object-contain pointer-events-none",!le&&n.preview?.thumbnailUrl&&"blur-md scale-105"),playsInline:!0,preload:"auto",poster:n.preview?.thumbnailUrl||void 0})}),Mn&&t("video",{ref:T,className:"absolute inset-0 pointer-events-none opacity-0",playsInline:!0,preload:"auto"}),Mn?t("div",{className:"flex flex-col items-center justify-center text-muted-foreground w-full h-full pointer-events-none select-none",children:t(ts,{className:C("w-16 h-16 text-foreground/75 transition-transform duration-500",ye?"animate-pulse scale-110 text-primary":"")})}):J.width>0&&t(Pr,{width:J.width,height:J.height,mediaDimensions:{width:Mi,height:ir},annotations:so,scale:va,offset:{x:No,y:ar},className:"absolute inset-0",onClick:Ho,isDrawing:i&&R,currentTool:D,currentColor:U,onAddAnnotation:i?Y:void 0}),Lt&&t("div",{className:"pointer-events-none absolute inset-0 z-10 flex items-center justify-center bg-black/20 transition-opacity duration-200","data-testid":"compare-video-loading-spinner",children:t("div",{className:"flex h-14 w-14 items-center justify-center rounded-full border-2 border-white/30 bg-white/10 backdrop-blur-sm",children:t(O,{className:"h-7 w-7 text-white animate-spin"})})}),!Lt&&!le&&!R&&t("div",{className:"pointer-events-none absolute inset-0 z-10 flex items-center justify-center bg-black/20 transition-opacity duration-200","data-testid":"compare-video-play-overlay",children:t("div",{className:"flex h-16 w-16 items-center justify-center rounded-full border-2 border-white/30 bg-white/10 backdrop-blur-sm",children:t(Ea,{className:"ml-1 h-8 w-8 fill-white text-white"})})})]})});var H8={id:"video",name:"Video",match:(e)=>e.proxyType==="video"||e.proxyType==="audio",viewer:O8,comparePane:B8,commentsConfig:{hasTimestamp:!0,hasAnnotations:!0}};E();function X0(){let[e,n]=u({width:window.innerWidth,height:window.innerHeight});return Ue(()=>{function s(){n({width:window.innerWidth,height:window.innerHeight})}return window.addEventListener("resize",s),()=>window.removeEventListener("resize",s)},[]),e}E();function vu({zoom:e,onZoomIn:n,onZoomOut:s,onFit:i,onDownload:r,canDownload:a,onCopy:l,copied:c=!1,canCopy:f=!0,allowDownload:d=!0,fullscreen:b}){return o("div",{className:"relative px-4 py-3 bg-card border-t border-gray-200 dark:border-gray-700 z-10 flex items-center justify-end gap-2 transition-colors duration-200",children:[o("div",{className:"flex items-center gap-1 bg-gray-200/50 dark:bg-white/10 rounded-md p-0.5 mr-auto",children:[t("button",{onClick:s,className:"p-1.5 rounded hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors",title:um(),children:t(To,{size:16})}),o("span",{className:"w-12 text-center text-xs font-mono font-medium text-gray-900 dark:text-gray-100 select-none",children:[Math.round(e*100),"%"]}),t("button",{onClick:n,className:"p-1.5 rounded hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors",title:cm(),children:t(pe,{size:16})})]}),t("button",{onClick:i,className:"text-xs font-medium px-3 py-1.5 rounded bg-gray-200/50 dark:bg-white/10 hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors border border-transparent animate-in fade-in zoom-in-95 duration-200",children:np()}),l&&o("button",{onClick:l,disabled:!f,className:"flex items-center gap-1.5 text-xs font-medium px-3 py-1.5 rounded bg-gray-200/50 dark:bg-white/10 hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors border border-transparent disabled:opacity-50 animate-in fade-in zoom-in-95 duration-200",title:Dy(),children:[c?t(Me,{size:14,className:"text-green-500"}):t(wr,{size:14}),c?My():Ny()]}),d&&o("button",{onClick:r,disabled:!a,className:"flex items-center gap-1.5 text-xs font-medium px-3 py-1.5 rounded bg-gray-200/50 dark:bg-white/10 hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors border border-transparent disabled:opacity-50 animate-in fade-in zoom-in-95 duration-200",title:Db(),children:[t(wt,{size:14}),_r()]}),b&&t("button",{onClick:b.onToggle,className:"p-1.5 rounded hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors",title:Cd(),children:b.isFullScreen?t(Cs,{size:16}):t(Es,{size:16})})]})}var Vq=F(({file:e,annotations:n,shareId:s,children:i,allowDownload:r},a)=>{Jr(a,()=>({play:()=>{},pause:()=>{},seekTo:()=>{}}));let{width:l}=X0(),{isDrawing:c,currentTool:f,currentColor:d,addAnnotation:b,annotations:y}=zr(),[v,k]=u({width:0,height:0}),[A,T]=u(1),[R,D]=u({x:0,y:0}),[U,Y]=u(!1),[X,J]=u(!1),ee=_(null);m(()=>{Y(!1),J(!1)},[e.id]),m(()=>{let we=ee.current;if(!we)return;let Fe=new ResizeObserver((De)=>{let Le=De[0];if(Le)k({width:Le.contentRect.width,height:Le.contentRect.height})});return Fe.observe(we),()=>Fe.disconnect()},[]);let te=e.media?.metadata?.originalWidth??1920,ne=e.media?.metadata?.originalHeight??1080,{width:ie,height:se}=v,ae=Wa(ie,se,te,ne);m(()=>{if(ie<=0||se<=0)return;if(U)return;T(ae),D(Br(ie,se,te,ne,ae))},[ie,se,ae,te,ne,U]);let be=(we)=>{Y(!0);let Fe=da(A,R,we,ie/2,se/2);T(Fe.zoom),D(Fe.pan)},ye=()=>{Y(!1),T(ae),D(Br(ie,se,te,ne,ae))};Sl({containerRef:ee,zoom:A,pan:R,baseScale:ae,onZoomChange:(we)=>{Y(!0),T(we.zoom),D(we.pan)},onPanChange:D});let fe=lf(e.media?.imageTranscodes,l)?.url??"",le=async()=>{let we=e.media?.original?.key;if(!we||!e.id)return;try{let Fe=s?await g.api.shares[":shareId"].files[":fileId"]["download-url"].$post({param:{shareId:s,fileId:e.id},json:{key:we}}):await g.api.files["download-url"].$post({json:{key:we,assetId:e.id}});if(!Fe.ok)return;let{url:De}=await Fe.json(),Le=document.createElement("a");Le.href=De,Le.download="",document.body.appendChild(Le),Le.click(),document.body.removeChild(Le)}catch{}},oe=async()=>{let we=fe;if(!we)return;try{let Fe=(async()=>{let Le=await(await fetch(we)).blob(),Be=new Image;Be.crossOrigin="anonymous";let Ke=URL.createObjectURL(Le);Be.src=Ke;try{await new Promise((jt,dt)=>{Be.onload=jt,Be.onerror=(Lt)=>dt(Error("Failed to load image: "+String(Lt)))});let at=document.createElement("canvas");at.width=Be.width,at.height=Be.height;let tt=at.getContext("2d");if(!tt)throw Error("Could not get canvas context");tt.drawImage(Be,0,0);let St=await new Promise((jt)=>{at.toBlob(jt,"image/png")});if(!St)throw Error("Failed to convert image to PNG");return St}finally{URL.revokeObjectURL(Ke)}})();await navigator.clipboard.write([new ClipboardItem({"image/png":Fe})]),J(!0),setTimeout(()=>J(!1),2000)}catch(Fe){console.error("Failed to copy image to clipboard:",Fe)}},Se=[...n||[],...y];return o("div",{className:"flex flex-col flex-1 h-full overflow-hidden bg-gray-100 dark:bg-gray-950 relative",children:[o("div",{className:"flex-1 flex flex-col-reverse md:flex-row min-h-0 relative",children:[i,t("div",{ref:ee,className:"flex-1 relative overflow-hidden touch-none",children:fe?t(Pr,{width:ie,height:se,mediaDimensions:{width:te,height:ne},imageUrl:fe,annotations:Se,scale:A,offset:R,onPan:Yh(A,ae)?D:void 0,className:"absolute inset-0 z-0",isDrawing:c,currentTool:f,currentColor:d,onAddAnnotation:b}):t("div",{className:"flex h-full w-full items-center justify-center",children:t("p",{className:"text-muted-foreground",children:"Preview unavailable"})})})]}),t(vu,{zoom:A,onZoomIn:()=>be(1.2),onZoomOut:()=>be(0.8),onFit:ye,onDownload:le,canDownload:!!e.media?.original?.key,onCopy:oe,copied:X,canCopy:!!fe,allowDownload:r})]})}),U8=Vq;E();var $q=0.01,Xq=50,z8=F(function({file:n,shareId:s,isActive:i,annotations:r,onStateChange:a,onUserPan:l,onActivate:c},f){let{width:d}=X0(),{isDrawing:b,currentTool:y,currentColor:v,addAnnotation:k,annotations:A}=zr(),[T,R]=u({width:0,height:0}),[D,U]=u(1),[Y,X]=u({x:0,y:0}),J=_(null),ee=_(D);ee.current=D;let te=_(Y);te.current=Y;let ne=P((De)=>{if(J.current)J.current.disconnect(),J.current=null;if(De!==null){let Le=new ResizeObserver((Be)=>{let Ke=Be[0];if(Ke)R({width:Ke.contentRect.width,height:Ke.contentRect.height})});Le.observe(De),J.current=Le}},[]),ie=n.media?.metadata?.originalWidth??1920,se=n.media?.metadata?.originalHeight??1080,{width:ae,height:be}=T,ye=1;if(ae>0&&be>0)ye=Math.min(ae/ie,be/se);m(()=>{if(ae>0&&be>0)U(ye),X({x:(ae-ie*ye)/2,y:(be-se*ye)/2})},[n.id,ae,be,ye,ie,se]);let fe=P((De)=>{let Le=ae/2,Be=be/2,Ke=ee.current,at=Ke*De;if(at<$q||at>Xq)return;let tt=te.current;X({x:Le-(Le-tt.x)*(at/Ke),y:Be-(Be-tt.y)*(at/Ke)}),U(at)},[ae,be]),le=P(()=>{U(ye),X({x:(ae-ie*ye)/2,y:(be-se*ye)/2})},[ye,ae,be,ie,se]),oe=lf(n.media?.imageTranscodes,d)?.url??"",Se=P(async()=>{let De=n.media?.original?.key;if(!De||!n.id)return;try{let Le=s?await g.api.shares[":shareId"].files[":fileId"]["download-url"].$post({param:{shareId:s,fileId:n.id},json:{key:De}}):await g.api.files["download-url"].$post({json:{key:De,assetId:n.id}});if(!Le.ok)return;let{url:Be}=await Le.json(),Ke=document.createElement("a");Ke.href=Be,Ke.download="",document.body.appendChild(Ke),Ke.click(),document.body.removeChild(Ke)}catch{}},[n.id,n.media?.original?.key,s]);Jr(f,()=>({getKind:()=>"image",play:()=>{},pause:()=>{},togglePlay:()=>{},seekToFrame:()=>{},seekToSecond:()=>{},stepFrame:()=>{},setMuted:()=>{},setVolume:()=>{},setPlaybackRate:()=>{},toggleLoop:()=>{},changeResolution:()=>{},zoomBy:(De)=>fe(De),fit:le,panBy:(De,Le)=>X((Be)=>({x:Be.x+De,y:Be.y+Le})),download:Se}),[fe,le,Se]),m(()=>{a({kind:"image",zoom:D})},[D,a]);let we=[...r,...i?A:[]],Fe=P((De)=>{let Le=te.current,Be=De.x-Le.x,Ke=De.y-Le.y;if(X(De),Be!==0||Ke!==0)l?.(Be,Ke)},[l]);if(!oe)return t("div",{className:"flex flex-1 items-center justify-center bg-gray-100 dark:bg-gray-950",children:t("p",{className:"text-muted-foreground",children:"Preview unavailable"})});return t("div",{ref:ne,className:"relative flex-1 overflow-hidden bg-black",onMouseDown:c,children:t(Pr,{width:ae,height:be,mediaDimensions:{width:ie,height:se},imageUrl:oe,annotations:we,scale:D,offset:Y,onPan:Fe,className:"absolute inset-0 z-0",isDrawing:i&&b,currentTool:y,currentColor:v,onAddAnnotation:i?k:void 0})})});var G8={id:"image",name:"Image",match:(e)=>e.proxyType==="image",viewer:U8,comparePane:z8,commentsConfig:{hasTimestamp:!1,hasAnnotations:!0}};var kr=typeof process==="object"&&process+""==="[object process]"&&!process.versions.nw&&!(process.versions.electron&&process.type&&process.type!=="browser"),qo=[1/0,1/0,-1/0,-1/0],fc=new Float32Array(qo),Wb=[0.001,0,0,0.001,0,0];var Sr={ANY:1,DISPLAY:2,PRINT:4,SAVE:8,ANNOTATIONS_FORMS:16,ANNOTATIONS_STORAGE:32,ANNOTATIONS_DISABLE:64,IS_EDITING:128,OPLIST:256},xl={DISABLE:0,ENABLE:1,ENABLE_FORMS:2,ENABLE_STORAGE:3};var rn={DISABLE:-1,NONE:0,FREETEXT:3,HIGHLIGHT:9,STAMP:13,INK:15,POPUP:16,SIGNATURE:101,COMMENT:102},An={RESIZE:1,CREATE:2,FREETEXT_SIZE:11,FREETEXT_COLOR:12,FREETEXT_OPACITY:13,INK_COLOR:21,INK_THICKNESS:22,INK_OPACITY:23,INK_COLOR_AND_OPACITY:24,HIGHLIGHT_COLOR:31,HIGHLIGHT_THICKNESS:32,HIGHLIGHT_FREE:33,HIGHLIGHT_SHOW_ALL:34,DRAW_STEP:41},Wq={PRINT:4,MODIFY_CONTENTS:8,COPY:16,MODIFY_ANNOTATIONS:32,FILL_INTERACTIVE_FORMS:256,COPY_FOR_ACCESSIBILITY:512,ASSEMBLE:1024,PRINT_HIGH_QUALITY:2048};var fi={FILL:0,STROKE:1,FILL_STROKE:2,INVISIBLE:3,FILL_ADD_TO_PATH:4,STROKE_ADD_TO_PATH:5,FILL_STROKE_ADD_TO_PATH:6,ADD_TO_PATH:7,FILL_STROKE_MASK:3,ADD_TO_PATH_FLAG:4},nm={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},Ns={TEXT:1,LINK:2,FREETEXT:3,LINE:4,SQUARE:5,CIRCLE:6,POLYGON:7,POLYLINE:8,HIGHLIGHT:9,UNDERLINE:10,SQUIGGLY:11,STRIKEOUT:12,STAMP:13,CARET:14,INK:15,POPUP:16,FILEATTACHMENT:17,SOUND:18,MOVIE:19,WIDGET:20,SCREEN:21,PRINTERMARK:22,TRAPNET:23,WATERMARK:24,THREED:25,REDACT:26,RICHMEDIA:27};var xf={SOLID:1,DASHED:2,BEVELED:3,INSET:4,UNDERLINE:5};var wm={ERRORS:0,WARNINGS:1,INFOS:5},Za={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotation:80,endAnnotation:81,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91,setStrokeTransparent:92,setFillTransparent:93,rawFillPath:94},Qh={moveTo:0,lineTo:1,curveTo:2,quadraticCurveTo:3,closePath:4},Kq={NEED_PASSWORD:1,INCORRECT_PASSWORD:2},ym=wm.WARNINGS;function Yq(e){if(Number.isInteger(e))ym=e}function Qq(){return ym}function vm(e){if(ym>=wm.INFOS)console.info(`Info: ${e}`)}function fn(e){if(ym>=wm.WARNINGS)console.warn(`Warning: ${e}`)}function Dn(e){throw Error(e)}function Hs(e,n){if(!e)Dn(n)}function Jq(e){switch(e?.protocol){case"http:":case"https:":case"ftp:":case"mailto:":case"tel:":return!0;default:return!1}}function w7(e,n=null,s=null){if(!e)return null;if(s&&typeof e==="string"){if(s.addDefaultProtocol&&e.startsWith("www.")){if(e.match(/\./g)?.length>=2)e=`http://${e}`}if(s.tryConvertEncoding)try{e=eM(e)}catch{}}let i=n?URL.parse(e,n):URL.parse(e);return Jq(i)?i:null}function y7(e,n,s=!1){let i=URL.parse(e);if(i)return i.hash=n,i.href;if(s&&w7(e,"http://example.com"))return e.split("#",1)[0]+`${n?`#${n}`:""}`;return""}function Kb(e){return e.substring(e.lastIndexOf("/")+1)}function Pt(e,n,s,i=!1){return Object.defineProperty(e,n,{value:s,enumerable:!i,configurable:!0,writable:!1}),s}var gc=function(){function n(s,i){this.message=s,this.name=i}return n.prototype=Error(),n.constructor=n,n}();class am extends gc{constructor(e,n){super(e,"PasswordException");this.code=n}}class sm extends gc{constructor(e,n){super(e,"UnknownErrorException");this.details=n}}class om extends gc{constructor(e){super(e,"InvalidPDFException")}}class iu extends gc{constructor(e,n,s){super(e,"ResponseException");this.status=n,this.missing=s}}class v7 extends gc{constructor(e){super(e,"FormatError")}}class Fo extends gc{constructor(e){super(e,"AbortException")}}function Zq(e){if(typeof e!=="object"||e?.length===void 0)Dn("Invalid argument for bytesToString");let n=e.length,s=8192;if(n<s)return String.fromCharCode.apply(null,e);let i=[];for(let r=0;r<n;r+=s){let a=Math.min(r+s,n),l=e.subarray(r,a);i.push(String.fromCharCode.apply(null,l))}return i.join("")}function Sm(e){if(typeof e!=="string")Dn("Invalid argument for stringToBytes");let n=e.length,s=new Uint8Array(n);for(let i=0;i<n;++i)s[i]=e.charCodeAt(i)&255;return s}class Xn{static get isLittleEndian(){let e=new Uint8Array(4);e[0]=1;let n=new Uint32Array(e.buffer,0,1);return Pt(this,"isLittleEndian",n[0]===1)}static get isOffscreenCanvasSupported(){return Pt(this,"isOffscreenCanvasSupported",typeof OffscreenCanvas<"u")}static get isImageDecoderSupported(){return Pt(this,"isImageDecoderSupported",typeof ImageDecoder<"u")}static get isFloat16ArraySupported(){return Pt(this,"isFloat16ArraySupported",typeof Float16Array<"u")}static get isSanitizerSupported(){return Pt(this,"isSanitizerSupported",typeof Sanitizer<"u")}static get platform(){let{platform:e,userAgent:n}=navigator;return Pt(this,"platform",{isAndroid:n.includes("Android"),isLinux:e.includes("Linux"),isMac:e.includes("Mac"),isWindows:e.includes("Win"),isFirefox:n.includes("Firefox")})}static get isCanvasFilterSupported(){let e;if(this.isOffscreenCanvasSupported)e=new OffscreenCanvas(1,1).getContext("2d");else if(typeof document<"u")e=document.createElement("canvas").getContext("2d");return Pt(this,"isCanvasFilterSupported",e?.filter!==void 0)}static get isAlphaColorInputSupported(){if(typeof document>"u")return Pt(this,"isAlphaColorInputSupported",!1);let e=document.createElement("input");return e.type="color",e.setAttribute("alpha",""),e.value="#ff000080",Pt(this,"isAlphaColorInputSupported",e.value!=="#ff0000")}static get isBackdropFilterSupported(){return Pt(this,"isBackdropFilterSupported",typeof CSS<"u"&&CSS.supports("backdrop-filter","blur(1px)"))}}class ut{static get hexNums(){return Pt(this,"hexNums",Array.from({length:256},(e,n)=>n.toString(16).padStart(2,"0")))}static makeHexColor(e,n,s){return`#${this.hexNums[e]}${this.hexNums[n]}${this.hexNums[s]}`}static transform(e,n){return[e[0]*n[0]+e[2]*n[1],e[1]*n[0]+e[3]*n[1],e[0]*n[2]+e[2]*n[3],e[1]*n[2]+e[3]*n[3],e[0]*n[4]+e[2]*n[5]+e[4],e[1]*n[4]+e[3]*n[5]+e[5]]}static multiplyByDOMMatrix(e,n){return[e[0]*n.a+e[2]*n.b,e[1]*n.a+e[3]*n.b,e[0]*n.c+e[2]*n.d,e[1]*n.c+e[3]*n.d,e[0]*n.e+e[2]*n.f+e[4],e[1]*n.e+e[3]*n.f+e[5]]}static applyTransform(e,n,s=0){let i=e[s],r=e[s+1];e[s]=i*n[0]+r*n[2]+n[4],e[s+1]=i*n[1]+r*n[3]+n[5]}static applyTransformToBezier(e,n,s=0){let i=n[0],r=n[1],a=n[2],l=n[3],c=n[4],f=n[5];for(let d=0;d<6;d+=2){let b=e[s+d],y=e[s+d+1];e[s+d]=b*i+y*a+c,e[s+d+1]=b*r+y*l+f}}static applyInverseTransform(e,n){let s=e[0],i=e[1],r=n[0]*n[3]-n[1]*n[2];e[0]=(s*n[3]-i*n[2]+n[2]*n[5]-n[4]*n[3])/r,e[1]=(-s*n[1]+i*n[0]+n[4]*n[1]-n[5]*n[0])/r}static axialAlignedBoundingBox(e,n,s){let i=n[0],r=n[1],a=n[2],l=n[3],c=n[4],f=n[5],d=e[0],b=e[1],y=e[2],v=e[3],k=i*d+c,A=k,T=i*y+c,R=T,D=l*b+f,U=D,Y=l*v+f,X=Y;if(r!==0||a!==0){let J=r*d,ee=r*y,te=a*b,ne=a*v;k+=te,R+=te,T+=ne,A+=ne,D+=J,X+=J,Y+=ee,U+=ee}s[0]=Math.min(s[0],k,T,A,R),s[1]=Math.min(s[1],D,Y,U,X),s[2]=Math.max(s[2],k,T,A,R),s[3]=Math.max(s[3],D,Y,U,X)}static inverseTransform(e){let n=e[0]*e[3]-e[1]*e[2];return[e[3]/n,-e[1]/n,-e[2]/n,e[0]/n,(e[2]*e[5]-e[4]*e[3])/n,(e[4]*e[1]-e[5]*e[0])/n]}static singularValueDecompose2dScale(e,n){let s=e[0],i=e[1],r=e[2],a=e[3],l=s**2+i**2,c=s*r+i*a,f=r**2+a**2,d=(l+f)/2,b=Math.sqrt(d**2-(l*f-c**2));n[0]=Math.sqrt(d+b||1),n[1]=Math.sqrt(d-b||1)}static normalizeRect(e){let n=e.slice(0);if(e[0]>e[2])n[0]=e[2],n[2]=e[0];if(e[1]>e[3])n[1]=e[3],n[3]=e[1];return n}static intersect(e,n){let s=Math.max(Math.min(e[0],e[2]),Math.min(n[0],n[2])),i=Math.min(Math.max(e[0],e[2]),Math.max(n[0],n[2]));if(s>i)return null;let r=Math.max(Math.min(e[1],e[3]),Math.min(n[1],n[3])),a=Math.min(Math.max(e[1],e[3]),Math.max(n[1],n[3]));if(r>a)return null;return[s,r,i,a]}static pointBoundingBox(e,n,s){s[0]=Math.min(s[0],e),s[1]=Math.min(s[1],n),s[2]=Math.max(s[2],e),s[3]=Math.max(s[3],n)}static rectBoundingBox(e,n,s,i,r){r[0]=Math.min(r[0],e,s),r[1]=Math.min(r[1],n,i),r[2]=Math.max(r[2],e,s),r[3]=Math.max(r[3],n,i)}static#e(e,n,s,i,r,a,l,c,f,d){if(f<=0||f>=1)return;let b=1-f,y=f*f,v=y*f,k=b*(b*(b*e+3*f*n)+3*y*s)+v*i,A=b*(b*(b*r+3*f*a)+3*y*l)+v*c;d[0]=Math.min(d[0],k),d[1]=Math.min(d[1],A),d[2]=Math.max(d[2],k),d[3]=Math.max(d[3],A)}static#t(e,n,s,i,r,a,l,c,f,d,b,y){if(Math.abs(f)<0.000000000001){if(Math.abs(d)>=0.000000000001)this.#e(e,n,s,i,r,a,l,c,-b/d,y);return}let v=d**2-4*b*f;if(v<0)return;let k=Math.sqrt(v),A=2*f;this.#e(e,n,s,i,r,a,l,c,(-d+k)/A,y),this.#e(e,n,s,i,r,a,l,c,(-d-k)/A,y)}static bezierBoundingBox(e,n,s,i,r,a,l,c,f){f[0]=Math.min(f[0],e,l),f[1]=Math.min(f[1],n,c),f[2]=Math.max(f[2],e,l),f[3]=Math.max(f[3],n,c),this.#t(e,s,r,l,n,i,a,c,3*(-e+3*(s-r)+l),6*(e-2*s+r),3*(s-e),f),this.#t(e,s,r,l,n,i,a,c,3*(-n+3*(i-a)+c),6*(n-2*i+a),3*(i-n),f)}}function eM(e){return decodeURIComponent(escape(e))}var zb=null,V8=null;function tM(e){if(!zb)zb=/([\u00a0\u00b5\u037e\u0eb3\u2000-\u200a\u202f\u2126\ufb00-\ufb04\ufb06\ufb20-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufba1\ufba4-\ufba9\ufbae-\ufbb1\ufbd3-\ufbdc\ufbde-\ufbe7\ufbea-\ufbf8\ufbfc\ufbfd\ufc00-\ufc5d\ufc64-\ufcf1\ufcf5-\ufd3d\ufd88\ufdf4\ufdfa\ufdfb\ufe71\ufe77\ufe79\ufe7b\ufe7d]+)|(\ufb05+)/gu,V8=new Map([["ſt","ſt"]]);return e.replaceAll(zb,(n,s,i)=>s?s.normalize("NFKC"):V8.get(i))}function S7(){if(typeof crypto.randomUUID==="function")return crypto.randomUUID();let e=new Uint8Array(32);return crypto.getRandomValues(e),Zq(e)}function nM(e,n,s){if(!Array.isArray(s)||s.length<2)return!1;let[i,r,...a]=s;if(!e(i)&&!Number.isInteger(i))return!1;if(!n(r))return!1;let l=a.length,c=!0;switch(r.name){case"XYZ":if(l<2||l>3)return!1;break;case"Fit":case"FitB":return l===0;case"FitH":case"FitBH":case"FitV":case"FitBV":if(l>1)return!1;break;case"FitR":if(l!==4)return!1;c=!1;break;default:return!1}for(let f of a){if(typeof f==="number"||c&&f===null)continue;return!1}return!0}var Cf=()=>[],a2=()=>new Map,Yb=()=>Object.create(null),sM=()=>new Set;if(typeof Iterator.prototype.join!=="function")Iterator.prototype.join=function(e){return[...this].join(e)};function vs(e,n,s){return Math.min(Math.max(e,n),s)}class du{constructor({viewBox:e,userUnit:n,scale:s,rotation:i,offsetX:r=0,offsetY:a=0,dontFlip:l=!1}){this.viewBox=e,this.userUnit=n,this.scale=s,this.rotation=i,this.offsetX=r,this.offsetY=a,s*=n;let c=(e[2]+e[0])/2,f=(e[3]+e[1])/2,d,b,y,v;if(i%=360,i<0)i+=360;switch(i){case 180:d=-1,b=0,y=0,v=1;break;case 90:d=0,b=1,y=1,v=0;break;case 270:d=0,b=-1,y=-1,v=0;break;case 0:d=1,b=0,y=0,v=-1;break;default:throw Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees.")}if(l)y=-y,v=-v;let k,A,T,R;if(d===0)k=Math.abs(f-e[1])*s+r,A=Math.abs(c-e[0])*s+a,T=(e[3]-e[1])*s,R=(e[2]-e[0])*s;else k=Math.abs(c-e[0])*s+r,A=Math.abs(f-e[1])*s+a,T=(e[2]-e[0])*s,R=(e[3]-e[1])*s;this.transform=[d*s,b*s,y*s,v*s,k-d*s*c-y*s*f,A-b*s*c-v*s*f],this.width=T,this.height=R}get rawDims(){let e=this.viewBox;return Pt(this,"rawDims",{pageWidth:e[2]-e[0],pageHeight:e[3]-e[1],pageX:e[0],pageY:e[1]})}clone({scale:e=this.scale,rotation:n=this.rotation,offsetX:s=this.offsetX,offsetY:i=this.offsetY,dontFlip:r=!1}={}){return new du({viewBox:this.viewBox.slice(),userUnit:this.userUnit,scale:e,rotation:n,offsetX:s,offsetY:i,dontFlip:r})}convertToViewportPoint(e,n){let s=[e,n];return ut.applyTransform(s,this.transform),s}convertToPdfPoint(e,n){let s=[e,n];return ut.applyInverseTransform(s,this.transform),s}}class ru{static textContent(e){let n=[],s={items:n,styles:Object.create(null)};function i(r){if(!r)return;let a=null,l=r.name;if(l==="#text")a=r.value;else if(!ru.shouldBuildText(l))return;else if(r?.attributes?.textContent)a=r.attributes.textContent;else if(r.value)a=r.value;if(a!==null)n.push({str:a});if(!r.children)return;for(let c of r.children)i(c)}return i(e),s}static shouldBuildText(e){return!(e==="textarea"||e==="input"||e==="option"||e==="select")}}var iM=/url\(|image-set\(/i,rM=/^on/i;class o2{static get _allowedHtmlElements(){return Pt(this,"_allowedHtmlElements",new Set(["a","b","br","button","div","i","img","input","label","li","ol","option","p","select","span","sub","sup","textarea","ul"]))}static get _allowedSvgElements(){return Pt(this,"_allowedSvgElements",new Set(["ellipse","line","path","rect","svg"]))}static get _allowedRichTextElements(){return Pt(this,"_allowedRichTextElements",new Set(["a","b","br","div","i","li","ol","p","span","sub","sup","ul"]))}static get _allowedRichTextAttributes(){return Pt(this,"_allowedRichTextAttributes",new Set(["class","dir","style"]))}static get _allowedRichTextStyles(){return Pt(this,"_allowedRichTextStyles",new Set(["color","font","fontFamily","fontSize","fontStretch","fontStyle","fontWeight","kerningMode","letterSpacing","lineHeight","margin","marginBottom","marginLeft","marginRight","marginTop","orphans","paddingLeft","paddingRight","breakAfter","breakBefore","breakInside","tabInterval","tabStop","textAlign","textDecoration","textIndent","transform","verticalAlign","widows"]))}static setupStorage(e,n,s,i,r){let a=i.getValue(n,{value:null});switch(s.name){case"textarea":if(a.value!==null)e.textContent=a.value;if(r==="print")break;e.addEventListener("input",(l)=>{i.setValue(n,{value:l.target.value})});break;case"input":if(s.attributes.type==="radio"||s.attributes.type==="checkbox"){if(a.value===s.attributes.xfaOn)e.setAttribute("checked",!0);else if(a.value===s.attributes.xfaOff)e.removeAttribute("checked");if(r==="print")break;e.addEventListener("change",(l)=>{i.setValue(n,{value:l.target.checked?l.target.getAttribute("xfaOn"):l.target.getAttribute("xfaOff")})})}else{if(a.value!==null)e.setAttribute("value",a.value);if(r==="print")break;e.addEventListener("input",(l)=>{i.setValue(n,{value:l.target.value})})}break;case"select":if(a.value!==null){e.setAttribute("value",a.value);for(let l of s.children)if(l.attributes.value===a.value)l.attributes.selected=!0;else if(Object.hasOwn(l.attributes,"selected"))delete l.attributes.selected}e.addEventListener("input",(l)=>{let c=l.target.options,f=c.selectedIndex===-1?"":c[c.selectedIndex].value;i.setValue(n,{value:f})});break}}static setAttributes({html:e,element:n,storage:s=null,intent:i,linkService:r}){let{attributes:a}=n,l=e instanceof HTMLAnchorElement;if(a.type==="radio")a.name=`${a.name}-${i}`;for(let[c,f]of Object.entries(a)){if(f===null||f===void 0)continue;if(rM.test(c))continue;if(i==="richText"&&!this._allowedRichTextAttributes.has(c))continue;switch(c){case"class":if(f.length)e.setAttribute(c,f.join(" "));break;case"dataId":break;case"id":e.setAttribute("data-element-id",f);break;case"style":if(i==="richText"){let d=this._allowedRichTextStyles;for(let[b,y]of Object.entries(f))if(d.has(b)&&!iM.test(y))e.style[b]=y}else Object.assign(e.style,f);break;case"textContent":e.textContent=f;break;default:if(!l||c!=="href"&&c!=="newWindow")e.setAttribute(c,f)}}if(l)r?.addLinkAttributes(e,a.href,a.newWindow);if(s&&a.dataId)this.setupStorage(e,a.dataId,n,s)}static#e(e,n,s){if(s==="richText")return!n&&this._allowedRichTextElements.has(e)?document.createElement(e):null;if(n)return n==="http://www.w3.org/2000/svg"&&this._allowedSvgElements.has(e)?document.createElementNS("http://www.w3.org/2000/svg",e):null;return this._allowedHtmlElements.has(e)?document.createElement(e):null}static render(e){let{annotationStorage:n,linkService:s,xfaHtml:i}=e,r=e.intent||"display",a=this.#e(i.name,i.attributes?.xmlns,r)??document.createElement("div");if(i.attributes)this.setAttributes({html:a,element:i,intent:r,linkService:s});let l=r!=="richText",c=e.div;if(c.append(a),e.viewport){let b=`matrix(${e.viewport.transform.join(",")})`;c.style.transform=b}if(l)c.setAttribute("class","xfaLayer xfaFont");let f=[];if(i.children.length===0){if(i.value){let b=document.createTextNode(i.value);if(a.append(b),l&&ru.shouldBuildText(i.name))f.push(b)}return{textDivs:f}}let d=[[i,-1,a]];while(d.length>0){let[b,y,v]=d.at(-1);if(y+1===b.children.length){d.pop();continue}let k=b.children[++d.at(-1)[1]];if(k===null)continue;let{name:A}=k;if(A==="#text"){let R=document.createTextNode(k.value);f.push(R),v.append(R);continue}let T=this.#e(A,k.attributes?.xmlns,r);if(!T)continue;if(v.append(T),k.attributes)this.setAttributes({html:T,element:k,storage:n,intent:r,linkService:s});if(k.children?.length>0)d.push([k,-1,T]);else if(k.value){let R=document.createTextNode(k.value);if(l&&ru.shouldBuildText(A))f.push(R);T.append(R)}}for(let b of c.querySelectorAll(".xfaNonInteractive input, .xfaNonInteractive textarea"))b.setAttribute("readOnly",!0);return{textDivs:f}}static update(e){let n=`matrix(${e.viewport.transform.join(",")})`;e.div.style.transform=n,e.div.hidden=!1}static getPageViewport(e,{scale:n=1,rotation:s=0}){let{width:i,height:r}=e.attributes.style;return new du({viewBox:[0,0,parseInt(i,10),parseInt(r,10)],userUnit:1,scale:n,rotation:s})}}class dc{static CSS=96;static PDF=72;static PDF_TO_CSS_UNITS=this.CSS/this.PDF}async function l2(e,n="text"){if(tu(e,document.baseURI)){let s=await fetch(e);if(!s.ok)throw Error(s.statusText);switch(n){case"blob":return s.blob();case"bytes":return s.bytes();case"json":return s.json()}return s.text()}return new Promise((s,i)=>{let r=new XMLHttpRequest;r.open("GET",e,!0),r.responseType=n==="bytes"?"arraybuffer":n,r.onreadystatechange=()=>{if(r.readyState!==XMLHttpRequest.DONE)return;if(r.status===200||r.status===0){switch(n){case"bytes":s(new Uint8Array(r.response));return;case"blob":case"json":s(r.response);return}s(r.responseText);return}i(Error(r.statusText))},r.send(null)})}class km extends gc{constructor(e,n=0){super(e,"RenderingCancelledException");this.extraDelay=n}}function xm(e){let n=e.length,s=0;while(s<n&&e[s].trim()==="")s++;return e.substring(s,s+5).toLowerCase()==="data:"}function c2(e){return typeof e==="string"&&/\.pdf$/i.test(e)}function aM(e){return[e]=e.split(/[#?]/,1),Kb(e)}function oM(e,n="document.pdf"){if(typeof e!=="string")return n;if(xm(e))return fn('getPdfFilenameFromUrl: ignore "data:"-URL for performance reasons.'),n;let i=((c)=>{try{return new URL(c)}catch{}try{return new URL(decodeURIComponent(c))}catch{}try{return new URL(c,"https://foo.bar")}catch{}try{return new URL(decodeURIComponent(c),"https://foo.bar")}catch{}return null})(e);if(!i)return n;let r=(c)=>{try{let f=decodeURIComponent(c);if(f.includes("/")){if(f=Kb(f),f.length===4&&a.test(f))return c}return f}catch{return c}},a=/\.pdf$/i,l=Kb(i.pathname);if(a.test(l))return r(l);if(i.searchParams.size>0){let c=(d)=>[...d].findLast((b)=>a.test(b)),f=c(i.searchParams.values())??c(i.searchParams.keys());if(f)return r(f)}if(i.hash){let{hash:c}=i,f=-1;for(let{index:d}of c.matchAll(/\.pdf\b/gi))f=d;if(f>0){let d=f;while(d>0&&!"/?#=".includes(c[d-1]))d--;if(d<f)return r(c.slice(d,f+4))}}return n}class Qb{#e=new Map;times=[];time(e){if(this.#e.has(e))fn(`Timer is already running for ${e}`);this.#e.set(e,Date.now())}timeEnd(e){if(!this.#e.has(e))fn(`Timer has not been started for ${e}`);this.times.push({name:e,start:this.#e.get(e),end:Date.now()}),this.#e.delete(e)}toString(){let e=Math.max(...this.times.map((n)=>n.name.length));return this.times.map((n)=>`${n.name.padEnd(e)} ${n.end-n.start}ms
75
- `).join("")}}function tu(e,n){let s=n?URL.parse(e,n):URL.parse(e);return/https?:/.test(s?.protocol??"")}function ga(e){e.preventDefault()}function hi(e){e.preventDefault(),e.stopPropagation()}class lm{static#e;static toDateObject(e){if(e instanceof Date)return e;if(!e||typeof e!=="string")return null;this.#e||=new RegExp("^D:(\\d{4})(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?([Z|+\\-])?(\\d{2})?'?(\\d{2})?'?");let n=this.#e.exec(e);if(!n)return null;let s=parseInt(n[1],10),i=parseInt(n[2],10);i=i>=1&&i<=12?i-1:0;let r=parseInt(n[3],10);r=r>=1&&r<=31?r:1;let a=parseInt(n[4],10);a=a>=0&&a<=23?a:0;let l=parseInt(n[5],10);l=l>=0&&l<=59?l:0;let c=parseInt(n[6],10);c=c>=0&&c<=59?c:0;let f=n[7]||"Z",d=parseInt(n[8],10);d=d>=0&&d<=23?d:0;let b=parseInt(n[9],10)||0;if(b=b>=0&&b<=59?b:0,f==="-")a+=d,l+=b;else if(f==="+")a-=d,l-=b;return new Date(Date.UTC(s,i,r,a,l,c))}}function mu(e){if(e.startsWith("#")){let s=e.slice(1);return[parseInt(s.slice(0,2),16),parseInt(s.slice(2,4),16),parseInt(s.slice(4,6),16),s.length>=8?parseInt(s.slice(6,8),16)/255:1]}if(e.startsWith("rgb(")){let[s,i,r]=e.slice(4,-1).split(",").map((a)=>parseInt(a,10));return[s,i,r,1]}if(e.startsWith("rgba(")){let s=e.slice(5,-1).split(",");return[parseInt(s[0],10),parseInt(s[1],10),parseInt(s[2],10),parseFloat(s[3])]}let n=e.match(/^color\(srgb\s+([\d.]+)\s+([\d.]+)\s+([\d.]+)(?:\s*\/\s*([\d.]+|none))?\)$/);if(n)return[Math.round(parseFloat(n[1])*255),Math.round(parseFloat(n[2])*255),Math.round(parseFloat(n[3])*255),n[4]!==void 0&&n[4]!=="none"?parseFloat(n[4]):1];return null}function pu(e){let n=mu(e);if(!n)return fn(`Not a valid color format: "${e}"`),[0,0,0];return n.slice(0,3)}function lM(e){let n=document.createElement("span");n.style.visibility="hidden",n.style.colorScheme="only light",document.body.append(n);for(let s of e.keys()){n.style.color=s;let i=window.getComputedStyle(n).color;e.set(s,pu(i))}n.remove()}function gs(e){let{a:n,b:s,c:i,d:r,e:a,f:l}=e.getTransform();return[n,s,i,r,a,l]}function Ka(e){let{a:n,b:s,c:i,d:r,e:a,f:l}=e.getTransform().invertSelf();return[n,s,i,r,a,l]}function mc(e,n,s=!1,i=!0){if(n instanceof du){let{pageWidth:r,pageHeight:a}=n.rawDims,{style:l}=e,c=`round(down, var(--total-scale-factor) * ${r}px, var(--scale-round-x))`,f=`round(down, var(--total-scale-factor) * ${a}px, var(--scale-round-y))`;if(!s||n.rotation%180===0)l.width=c,l.height=f;else l.width=f,l.height=c}if(i)e.setAttribute("data-main-rotation",n.rotation)}class ba{constructor(){let{pixelRatio:e}=ba;this.sx=e,this.sy=e}get scaled(){return this.sx!==1||this.sy!==1}get symmetric(){return this.sx===this.sy}limitCanvas(e,n,s,i,r=-1){let a=1/0,l=1/0,c=1/0;if(s=ba.capPixels(s,r),s>0)a=Math.sqrt(s/(e*n));if(i!==-1)l=i/e,c=i/n;let f=Math.min(a,l,c);if(this.sx>f||this.sy>f)return this.sx=f,this.sy=f,!0;return!1}static get pixelRatio(){return globalThis.devicePixelRatio||1}static capPixels(e,n){if(n>=0){let s=Math.ceil(window.screen.availWidth*window.screen.availHeight*this.pixelRatio**2*(1+n/100));return e>0?Math.min(e,s):s}return e}}var Jb=["image/apng","image/avif","image/bmp","image/gif","image/jpeg","image/png","image/svg+xml","image/webp","image/x-icon"];class k7{static get isDarkMode(){return Pt(this,"isDarkMode",!!window?.matchMedia?.("(prefers-color-scheme: dark)").matches)}}class x7{static get commentForegroundColor(){let e=document.createElement("span");e.classList.add("comment","sidebar");let{style:n}=e;n.width=n.height="0",n.display="none",n.color="var(--comment-fg-color)",document.body.append(e);let{color:s}=window.getComputedStyle(e);return e.remove(),Pt(this,"commentForegroundColor",pu(s))}}function cM(e,n){n=vs(n??1,0,1);let s=255*(1-n);return e.map((i)=>Math.round(i*n+s))}function $8(e,n){let s=e[0]/255,i=e[1]/255,r=e[2]/255,a=Math.max(s,i,r),l=Math.min(s,i,r),c=(a+l)/2;if(a===l)n[0]=n[1]=0;else{let f=a-l;switch(n[1]=c<0.5?f/(a+l):f/(2-a-l),a){case s:n[0]=((i-r)/f+(i<r?6:0))*60;break;case i:n[0]=((r-s)/f+2)*60;break;case r:n[0]=((s-i)/f+4)*60;break}}n[2]=c}function Zb(e,n){let s=e[0],i=e[1],r=e[2],a=(1-Math.abs(2*r-1))*i,l=a*(1-Math.abs(s/60%2-1)),c=r-a/2;switch(Math.floor(s/60)){case 0:n[0]=a+c,n[1]=l+c,n[2]=c;break;case 1:n[0]=l+c,n[1]=a+c,n[2]=c;break;case 2:n[0]=c,n[1]=a+c,n[2]=l+c;break;case 3:n[0]=c,n[1]=l+c,n[2]=a+c;break;case 4:n[0]=l+c,n[1]=c,n[2]=a+c;break;case 5:case 6:n[0]=a+c,n[1]=c,n[2]=l+c;break}}function e2(e){return e<=0.03928?e/12.92:((e+0.055)/1.055)**2.4}function X8(e,n,s){Zb(e,s),s.map(e2);let i=0.2126*s[0]+0.7152*s[1]+0.0722*s[2];Zb(n,s),s.map(e2);let r=0.2126*s[0]+0.7152*s[1]+0.0722*s[2];return i>r?(i+0.05)/(r+0.05):(r+0.05)/(i+0.05)}var W8=new Map;function fM(e,n){let s=e[0]+e[1]*256+e[2]*65536+n[0]*16777216+n[1]*4294967296+n[2]*1099511627776,i=W8.get(s);if(i)return i;let r=new Float32Array(9),a=r.subarray(0,3),l=r.subarray(3,6);$8(e,l);let c=r.subarray(6,9);$8(n,c);let f=c[2]<0.5,d=f?12:4.5;if(l[2]=f?Math.sqrt(l[2]):1-Math.sqrt(1-l[2]),X8(l,c,a)<d){let b,y;if(f)b=l[2],y=1;else b=0,y=l[2];let v=0.005;while(y-b>v){let k=l[2]=(b+y)/2;if(f===X8(l,c,a)<d)b=k;else y=k}l[2]=f?y:b}return Zb(l,a),i=ut.makeHexColor(Math.round(a[0]*255),Math.round(a[1]*255),Math.round(a[2]*255)),W8.set(s,i),i}function A7({html:e,dir:n,className:s},i){let r=document.createDocumentFragment();if(typeof e==="string"){let a=document.createElement("p");a.dir=n||"auto";let l=e.split(/\r\n?|\n/);for(let c=0,f=l.length;c<f;++c){let d=l[c];if(a.append(document.createTextNode(d)),c<f-1)a.append(document.createElement("br"))}r.append(a)}else o2.render({xfaHtml:e,div:r,intent:"richText"});r.firstElementChild.classList.add("richText",s),i.append(r)}function T7(e){let n=new Path2D;if(!e)return n;for(let s=0,i=e.length;s<i;)switch(e[s++]){case Qh.moveTo:n.moveTo(e[s++],e[s++]);break;case Qh.lineTo:n.lineTo(e[s++],e[s++]);break;case Qh.curveTo:n.bezierCurveTo(e[s++],e[s++],e[s++],e[s++],e[s++],e[s++]);break;case Qh.quadraticCurveTo:n.quadraticCurveTo(e[s++],e[s++],e[s++],e[s++]);break;case Qh.closePath:n.closePath();break;default:fn(`Unrecognized drawing path operator: ${e[s-1]}`);break}return n}class nu{#e=null;#t=null;#n;#s=null;#i=null;#a=null;#r=null;#o=null;static#l=null;constructor(e){this.#n=e,nu.#l||=Object.freeze({freetext:"pdfjs-editor-remove-freetext-button",highlight:"pdfjs-editor-remove-highlight-button",ink:"pdfjs-editor-remove-ink-button",stamp:"pdfjs-editor-remove-stamp-button",signature:"pdfjs-editor-remove-signature-button"})}render(){let e=this.#e=document.createElement("div");e.classList.add("editToolbar","hidden"),e.setAttribute("role","toolbar");let n=this.#n._uiManager._signal;if(n instanceof AbortSignal&&!n.aborted)e.addEventListener("contextmenu",ga,{signal:n}),e.addEventListener("pointerdown",nu.#c,{signal:n});let s=this.#s=document.createElement("div");s.className="buttons",e.append(s);let i=this.#n.toolbarPosition;if(i){let{style:r}=e,a=this.#n._uiManager.direction==="ltr"?1-i[0]:i[0];r.insetInlineEnd=`${100*a}%`,r.top=`calc(${100*i[1]}% + var(--editor-toolbar-vert-offset))`}return e}get div(){return this.#e}static#c(e){e.stopPropagation()}#u(e){this.#n._focusEventsAllowed=!1,hi(e)}#h(e){this.#n._focusEventsAllowed=!0,hi(e)}#d(e){let n=this.#n._uiManager._signal;if(!(n instanceof AbortSignal)||n.aborted)return!1;return e.addEventListener("focusin",this.#u.bind(this),{capture:!0,signal:n}),e.addEventListener("focusout",this.#h.bind(this),{capture:!0,signal:n}),e.addEventListener("contextmenu",ga,{signal:n}),!0}hide(){this.#e.classList.add("hidden"),this.#t?.hideDropdown()}show(){this.#e.classList.remove("hidden"),this.#i?.shown(),this.#a?.shown()}addDeleteButton(){let{editorType:e,_uiManager:n}=this.#n,s=document.createElement("button");if(s.classList.add("basic","deleteButton"),s.tabIndex=0,s.setAttribute("data-l10n-id",nu.#l[e]),this.#d(s))s.addEventListener("click",(i)=>{n.delete()},{signal:n._signal});this.#s.append(s)}get#p(){let e=document.createElement("div");return e.className="divider",e}async addAltText(e){let n=await e.render();this.#d(n),this.#s.append(n,this.#p),this.#i=e}addComment(e,n=null){if(this.#a)return;let s=e.renderForToolbar();if(!s)return;this.#d(s);let i=this.#r=this.#p;if(!n)this.#s.append(s,i);else this.#s.insertBefore(s,n),this.#s.insertBefore(i,n);this.#a=e,e.toolbar=this}addColorPicker(e){if(this.#t)return;this.#t=e;let n=e.renderButton();this.#d(n),this.#s.append(n,this.#p)}async addEditSignatureButton(e){let n=this.#o=await e.renderEditButton(this.#n);this.#d(n),this.#s.append(n,this.#p)}removeButton(e){switch(e){case"comment":this.#a?.removeToolbarCommentButton(),this.#a=null,this.#r?.remove(),this.#r=null;break}}async addButton(e,n){switch(e){case"colorPicker":if(n)this.addColorPicker(n);break;case"altText":if(n)await this.addAltText(n);break;case"editSignature":if(n)await this.addEditSignatureButton(n);break;case"delete":this.addDeleteButton();break;case"comment":if(n)this.addComment(n);break}}async addButtonBefore(e,n,s){if(!n&&e==="comment")return;let i=this.#s.querySelector(s);if(!i)return;if(e==="comment")this.addComment(n,i)}updateEditSignatureButton(e){if(this.#o)this.#o.title=e}remove(){this.#e.remove(),this.#t?.destroy(),this.#t=null}}class E7{#e=null;#t=null;#n;constructor(e){this.#n=e}#s(){let e=this.#t=document.createElement("div");e.className="editToolbar",e.setAttribute("role","toolbar"),e.dir=this.#n.direction;let n=this.#n._signal;if(n instanceof AbortSignal&&!n.aborted)e.addEventListener("contextmenu",ga,{signal:n});let s=this.#e=document.createElement("div");if(s.className="buttons",e.append(s),this.#n.hasCommentManager())this.#a("commentButton","pdfjs-comment-floating-button","pdfjs-comment-floating-button-label",()=>{this.#n.commentSelection("floating_button")});return this.#a("highlightButton","pdfjs-highlight-floating-button1","pdfjs-highlight-floating-button-label",()=>{this.#n.highlightSelection("floating_button")}),e}#i(e,n){let s=0,i=0;for(let r of e){let a=r.y+r.height;if(a<s)continue;let l=r.x+(n?r.width:0);if(a>s){i=l,s=a;continue}if(n){if(l>i)i=l}else if(l<i)i=l}return[n?1-i:i,s]}show(e,n,s){let[i,r]=this.#i(n,s),{style:a}=this.#t||=this.#s();e.append(this.#t),a.insetInlineEnd=`${100*i}%`,a.top=`calc(${100*r}% + var(--editor-toolbar-vert-offset))`}hide(){this.#t.remove()}#a(e,n,s,i){let r=document.createElement("button");r.classList.add("basic",e),r.tabIndex=0,r.setAttribute("data-l10n-id",n);let a=document.createElement("span");r.append(a),a.className="visuallyHidden",a.setAttribute("data-l10n-id",s);let l=this.#n._signal;if(l instanceof AbortSignal&&!l.aborted)r.addEventListener("contextmenu",ga,{signal:l}),r.addEventListener("click",i,{signal:l});this.#e.append(r)}}var hM="59968104-cc61-4cf9-b570-014b35b3709c",Gb=Object.freeze({internal:hM});function C7(e,n,s){for(let i of s)n.addEventListener(i,e[i].bind(e))}class Hn{static#e=NaN;static#t=null;static#n=NaN;static#s=null;static initializeAndAddPointerId(e){(Hn.#t||=new Set).add(e)}static setPointer(e,n){Hn.#e||=n,Hn.#s??=e}static setTimeStamp(e){Hn.#n=e}static isSamePointerId(e){return Hn.#e===e}static isSamePointerIdOrRemove(e){if(Hn.#e===e)return!0;return Hn.#t?.delete(e),!1}static isSamePointerType(e){return Hn.#s===e}static isInitializedAndDifferentPointerType(e){return Hn.#s!==null&&!Hn.isSamePointerType(e)}static isSameTimeStamp(e){return Hn.#n===e}static isUsingMultiplePointers(){return Hn.#t?.size>=1}static clearPointerType(){Hn.#s=null}static clearPointerIds(){Hn.#e=NaN,Hn.#t=null}static clearTimeStamp(){Hn.#n=NaN}}class j7{#e=0;get id(){return`pdfjs_internal_editor_${this.#e++}`}}class f2{#e=S7();#t=0;#n=null;static get _isSVGFittingCanvas(){let s=new OffscreenCanvas(1,3).getContext("2d",{willReadFrequently:!0}),i=new Image;i.src='data:image/svg+xml;charset=UTF-8,<svg viewBox="0 0 1 1" width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="1" height="1" style="fill:red;"/></svg>';let r=i.decode().then(()=>(s.drawImage(i,0,0,1,1,0,0,1,3),new Uint32Array(s.getImageData(0,0,1,1).data.buffer)[0]===0));return Pt(this,"_isSVGFittingCanvas",r)}async#s(e,n){this.#n||=new Map;let s=this.#n.get(e);if(s===null)return null;if(s?.bitmap)return s.refCounter+=1,s;try{s||={bitmap:null,id:`image_${this.#e}_${this.#t++}`,refCounter:0,isSvg:!1};let i;if(typeof n==="string")s.url=n,i=await l2(n,"blob");else if(n instanceof File)i=s.file=n;else if(n instanceof Blob)i=n;if(i.type==="image/svg+xml"){let r=f2._isSVGFittingCanvas,a=new FileReader,l=new Image,c=new Promise((f,d)=>{l.onload=()=>{s.bitmap=l,s.isSvg=!0,f()},a.onload=async()=>{let b=s.svgUrl=a.result;l.src=await r?`${b}#svgView(preserveAspectRatio(none))`:b},l.onerror=a.onerror=d});a.readAsDataURL(i),await c}else s.bitmap=await createImageBitmap(i);s.refCounter=1}catch(i){fn(i),s=null}if(this.#n.set(e,s),s)this.#n.set(s.id,s);return s}async getFromFile(e){let{lastModified:n,name:s,size:i,type:r}=e;return this.#s(`${n}_${s}_${i}_${r}`,e)}async getFromUrl(e){return this.#s(e,e)}async getFromBlob(e,n){let s=await n;return this.#s(e,s)}async getFromId(e){this.#n||=new Map;let n=this.#n.get(e);if(!n)return null;if(n.bitmap)return n.refCounter+=1,n;if(n.file)return this.getFromFile(n.file);if(n.blobPromise){let{blobPromise:s}=n;return delete n.blobPromise,this.getFromBlob(n.id,s)}return this.getFromUrl(n.url)}getFromCanvas(e,n){this.#n||=new Map;let s=this.#n.get(e);if(s?.bitmap)return s.refCounter+=1,s;let i=new OffscreenCanvas(n.width,n.height);return i.getContext("2d").drawImage(n,0,0),s={bitmap:i.transferToImageBitmap(),id:`image_${this.#e}_${this.#t++}`,refCounter:1,isSvg:!1},this.#n.set(e,s),this.#n.set(s.id,s),s}getSvgUrl(e){let n=this.#n.get(e);if(!n?.isSvg)return null;return n.svgUrl}deleteId(e){this.#n||=new Map;let n=this.#n.get(e);if(!n)return;if(n.refCounter-=1,n.refCounter!==0)return;let{bitmap:s}=n;if(!n.url&&!n.file){let i=new OffscreenCanvas(s.width,s.height);i.getContext("bitmaprenderer").transferFromImageBitmap(s),n.blobPromise=i.convertToBlob()}s.close?.(),n.bitmap=null}isValidId(e){return e.startsWith(`image_${this.#e}_`)}}class _7{#e=[];#t=!1;#n;#s=-1;constructor(e=128){this.#n=e}add({cmd:e,undo:n,post:s,mustExec:i,type:r=NaN,overwriteIfSameType:a=!1,keepUndo:l=!1}){if(i)e();if(this.#t)return;let c={cmd:e,undo:n,post:s,type:r};if(this.#s===-1){if(this.#e.length>0)this.#e.length=0;this.#s=0,this.#e.push(c);return}if(a&&this.#e[this.#s].type===r){if(l)c.undo=this.#e[this.#s].undo;this.#e[this.#s]=c;return}let f=this.#s+1;if(f===this.#n)this.#e.splice(0,1);else if(this.#s=f,f<this.#e.length)this.#e.splice(f);this.#e.push(c)}undo(){if(this.#s===-1)return;this.#t=!0;let{undo:e,post:n}=this.#e[this.#s];e(),n?.(),this.#t=!1,this.#s-=1}redo(){if(this.#s<this.#e.length-1){this.#s+=1,this.#t=!0;let{cmd:e,post:n}=this.#e[this.#s];e(),n?.(),this.#t=!1}}hasSomethingToUndo(){return this.#s!==-1}hasSomethingToRedo(){return this.#s<this.#e.length-1}cleanType(e){if(this.#s===-1)return;for(let n=this.#s;n>=0;n--)if(this.#e[n].type!==e){this.#e.splice(n+1,this.#s-n),this.#s=n;return}this.#e.length=0,this.#s=-1}destroy(){this.#e=null}}class xr{static ALT=1;static CTRL=2;static META=4;static SHIFT=8;constructor(e){this.callbacks=new Map;let{isMac:n}=Xn.platform;for(let[s,i,r={}]of e){let a=s.some((l)=>l.startsWith("mac+"));for(let l of s){let c=l;if(a){let b=l.startsWith("mac+");if(n!==b)continue;if(b)c=l.slice(4)}let[f,d]=xr.#e(c);if(f===null)continue;this.callbacks.getOrInsertComputed(f,Cf).push({callback:i,options:r,modifiers:d})}}}static#e(e){let n=null,s=0;for(let i of e.split("+")){if(i=i.trim(),!i)continue;let r=i.toUpperCase(),a=xr[r];if(a){s|=a;continue}if(n!==null){fn(`KeyboardManager: multiple keys in shortcut "${e}"`);break}n=r==="SPACE"?" ":i}if(n===null)fn(`KeyboardManager: no key found in shortcut "${e}"`);return[n,s]}static#t(e){let n=/^(?:Key([A-Z])|(?:Digit|Numpad)(\d))$/.exec(e);if(!n)return null;return n[1]?.toLowerCase()??n[2]}exec(e,n){let s=this.callbacks.get(n.key);if(!s){if(/^[a-z]$/i.test(n.key))return;let d=xr.#t(n.code);if(d===null||d===n.key)return;if(s=this.callbacks.get(d),!s)return}let i=(n.altKey?xr.ALT:0)|(n.ctrlKey?xr.CTRL:0)|(n.metaKey?xr.META:0)|(n.shiftKey?xr.SHIFT:0),r=s.find((d)=>d.modifiers===i);if(!r)return;let{callback:a,options:{bubbles:l=!1,args:c=[],checker:f=null}}=r;if(f&&!f(e,n))return;if(a.bind(e,...c,n)(),!l)hi(n)}}class h2{static _colorsMapping=new Map([["CanvasText",[0,0,0]],["Canvas",[255,255,255]]]);get _colors(){let e=new Map([["CanvasText",null],["Canvas",null]]);return lM(e),Pt(this,"_colors",e)}convert(e){let n=pu(e);if(!window.matchMedia("(forced-colors: active)").matches)return n;for(let[s,i]of this._colors)if(i.every((r,a)=>r===n[a]))return h2._colorsMapping.get(s);return n}getHexCode(e){let n=this._colors.get(e);if(!n)return e;return ut.makeHexColor(...n)}}class Al{#e=new AbortController;#t=null;#n=null;#s=new Map;#i=new Map;#a=null;#r=null;#o=null;#l=null;#c=null;#u=new _7;#h=null;#d=null;#p=null;#g=0;#f=new Set;#m=null;#b=null;#w=new Set;_editorUndoBar=null;#y=!1;#v=!1;#x=!1;#k=null;#A=null;#T=null;#I=null;#j=!1;#C=null;#D=new j7;#R=!1;#q=!1;#B=!1;#M=null;#L=null;#G=null;#O=null;#H=null;#E=rn.NONE;#S=new Set;#P=null;#U=null;#V=null;#Y=null;#W=null;#K={isEditing:!1,isEmpty:!0,hasSomethingToUndo:!1,hasSomethingToRedo:!1,hasSelectedEditor:!1,hasSelectedText:!1};#F=[0,0];#$=null;#X=null;#ee=null;#te=null;#N=null;static TRANSLATE_SMALL=1;static TRANSLATE_BIG=10;static get _keyboardManager(){let e=Al.prototype,n=(a)=>a.#X.contains(document.activeElement)&&document.activeElement.tagName!=="BUTTON"&&a.hasSomethingToControl(),s=(a,{target:l})=>{if(l instanceof HTMLInputElement){let{type:c}=l;return c!=="text"&&c!=="number"}return!0},i=this.TRANSLATE_SMALL,r=this.TRANSLATE_BIG;return Pt(this,"_keyboardManager",new xr([[["ctrl+a","mac+meta+a"],e.selectAll,{checker:s}],[["ctrl+z","mac+meta+z"],e.undo,{checker:s}],[["ctrl+y","ctrl+shift+z","mac+meta+shift+z","ctrl+shift+Z","mac+meta+shift+Z"],e.redo,{checker:s}],[["Backspace","alt+Backspace","ctrl+Backspace","shift+Backspace","mac+Backspace","mac+alt+Backspace","mac+ctrl+Backspace","Delete","ctrl+Delete","shift+Delete","mac+Delete"],e.delete,{checker:s}],[["Enter"],e.addNewEditorFromKeyboard,{checker:(a,{target:l})=>!(l instanceof HTMLButtonElement)&&a.#X.contains(l)&&!a.isEnterHandled}],[["Space"],e.addNewEditorFromKeyboard,{checker:(a,{target:l})=>!(l instanceof HTMLButtonElement)&&a.#X.contains(document.activeElement)}],[["Escape"],e.unselectAll],[["ArrowLeft"],e.translateSelectedEditors,{args:[-i,0],checker:n}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],e.translateSelectedEditors,{args:[-r,0],checker:n}],[["ArrowRight"],e.translateSelectedEditors,{args:[i,0],checker:n}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],e.translateSelectedEditors,{args:[r,0],checker:n}],[["ArrowUp"],e.translateSelectedEditors,{args:[0,-i],checker:n}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],e.translateSelectedEditors,{args:[0,-r],checker:n}],[["ArrowDown"],e.translateSelectedEditors,{args:[0,i],checker:n}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],e.translateSelectedEditors,{args:[0,r],checker:n}]]))}constructor(e,n,s,i,r,a,l,c,f,d,b,y,v,k,A,T){let R=this._signal=this.#e.signal;this.#X=e,this.#ee=n,this.#te=s,this.#o=i,this.#h=r,this.#U=a,this.#W=c,this._eventBus=l;let D={signal:R,...Gb};l.on("editingaction",this.onEditingAction.bind(this),D),l.on("pagechanging",this.onPageChanging.bind(this),D),l.on("scalechanging",this.onScaleChanging.bind(this),D),l.on("rotationchanging",this.onRotationChanging.bind(this),D),l.on("setpreference",this.onSetPreference.bind(this),D),l.on("switchannotationeditorparams",(U)=>this.updateParams(U.type,U.value),D),window.addEventListener("pointerdown",()=>{this.#q=!0},{capture:!0,signal:R}),window.addEventListener("pointerup",()=>{this.#q=!1},{capture:!0,signal:R}),window.addEventListener("beforeunload",this.endCurrentEditing.bind(this),{capture:!0,signal:R}),this.#le(),this.#me(),this.#se(),this.#l=c.annotationStorage,this.#k=c.filterFactory,this.#V=f,this.#I=d||null,this.#y=b,this.#v=y,this.#x=v,this.#H=k||null,this.viewParameters={realScale:dc.PDF_TO_CSS_UNITS,rotation:0},this.isShiftKeyDown=!1,this._editorUndoBar=A||null,this._supportsPinchToZoom=T!==!1,r?.setSidebarUiManager(this)}destroy(){this.#N?.resolve(),this.#N=null,this.#e?.abort(),this.#e=null,this._signal=null;for(let e of this.#i.values())e.destroy();if(this.#i.clear(),this.#s.clear(),this.#w.clear(),this.#O?.clear(),this.#t=null,this.#S.clear(),this.#u.destroy(),this.#o?.destroy(),this.#h?.destroy(),this.#U?.destroy(),this.#C?.hide(),this.#C=null,this.#G?.destroy(),this.#G=null,this.#n=null,this.#A)clearTimeout(this.#A),this.#A=null;if(this.#$)clearTimeout(this.#$),this.#$=null;this._editorUndoBar?.destroy(),this.#W=null}combinedSignal(e){return AbortSignal.any([this._signal,e.signal])}get mlManager(){return this.#H}get useNewAltTextFlow(){return this.#v}get useNewAltTextWhenAddingImage(){return this.#x}get hcmFilter(){return Pt(this,"hcmFilter",this.#V?this.#k.addHCMFilter(this.#V.foreground,this.#V.background):"none")}get direction(){return Pt(this,"direction",getComputedStyle(this.#X).direction)}get _highlightColors(){return Pt(this,"_highlightColors",this.#I?new Map(this.#I.split(",").map((e)=>(e=e.split("=").map((n)=>n.trim()),e[1]=e[1].toUpperCase(),e))):null)}get highlightColors(){let{_highlightColors:e}=this;if(!e)return Pt(this,"highlightColors",null);let n=new Map,s=!!this.#V;for(let[i,r]of e){let a=i.endsWith("_HCM");if(s&&a){n.set(i.replace("_HCM",""),r);continue}if(!s&&!a)n.set(i,r)}return Pt(this,"highlightColors",n)}get highlightColorNames(){return Pt(this,"highlightColorNames",this.highlightColors?new Map(Array.from(this.highlightColors,(e)=>e.reverse())):null)}getNonHCMColor(e){if(!this._highlightColors)return e;let n=this.highlightColorNames.get(e);return this._highlightColors.get(n)||e}getNonHCMColorName(e){return this.highlightColorNames.get(e)||e}setCurrentDrawingSession(e){if(e)this.unselectAll(),this.disableUserSelect(!0);else this.disableUserSelect(!1);this.#p=e}setMainHighlightColorPicker(e){this.#G=e}editAltText(e,n=!1){this.#o?.editAltText(this,e,n)}hasCommentManager(){return!!this.#h}editComment(e,n,s,i){this.#h?.showDialog(this,e,n,s,i)}selectComment(e,n){this.#i.get(e)?.getEditorByUID(n)?.toggleComment(!0,!0)}updateComment(e){this.#h?.updateComment(e.getData())}updatePopupColor(e){this.#h?.updatePopupColor(e)}removeComment(e){this.#h?.removeComments([e.uid])}deleteComment(e,n){let s=()=>{e.comment=n},i=()=>{this._editorUndoBar?.show(s,"comment"),this.toggleComment(null),e.comment=null};this.addCommands({cmd:i,undo:s,mustExec:!0})}toggleComment(e,n,s=void 0){this.#h?.toggleCommentPopup(e,n,s)}makeCommentColor(e,n){return e&&this.#h?.makeCommentColor(e,n)||null}getCommentDialogElement(){return this.#h?.dialogElement||null}async waitForEditorsRendered(e){if(this.#i.has(e-1))return;let{resolve:n,promise:s}=Promise.withResolvers(),i=(r)=>{if(r.pageNumber===e)this._eventBus.off("editorsrendered",i),n()};this._eventBus.on("editorsrendered",i,Gb),await s}getSignature(e){this.#U?.getSignature({uiManager:this,editor:e})}get signatureManager(){return this.#U}switchToMode(e,n){this._eventBus.on("annotationeditormodechanged",n,{once:!0,signal:this._signal,...Gb}),this._eventBus.dispatch("showannotationeditorui",{source:this,mode:e})}setPreference(e,n){this._eventBus.dispatch("setpreference",{source:this,name:e,value:n})}onSetPreference({name:e,value:n}){switch(e){case"enableNewAltTextWhenAddingImage":this.#x=n;break}}onPageChanging({pageNumber:e}){this.#g=e-1}deletePage(e){for(let n of this.getEditors(e))n.remove();if(this.#i.delete(e),this.#g===e)this.#g=0}focusMainContainer(){this.#X.focus()}findParent(e,n){for(let s of this.#i.values()){let{x:i,y:r,width:a,height:l}=s.div.getBoundingClientRect();if(e>=i&&e<=i+a&&n>=r&&n<=r+l)return s}return null}disableUserSelect(e=!1){this.#ee.classList.toggle("noUserSelect",e)}addShouldRescale(e){this.#w.add(e)}removeShouldRescale(e){this.#w.delete(e)}onScaleChanging({scale:e}){this.commitOrRemove(),this.viewParameters.realScale=e*dc.PDF_TO_CSS_UNITS;for(let n of this.#w)n.onScaleChanging();this.#p?.onScaleChanging()}onRotationChanging({pagesRotation:e}){this.commitOrRemove(),this.viewParameters.rotation=e}#Z({anchorNode:e}){return e.nodeType===Node.TEXT_NODE?e.parentElement:e}#ne(e){let{currentLayer:n}=this;if(n.hasTextLayer(e))return n;for(let s of this.#i.values())if(s.hasTextLayer(e))return s;return null}highlightSelection(e="",n=!1){let s=document.getSelection();if(!s||s.isCollapsed)return;let{anchorNode:i,anchorOffset:r,focusNode:a,focusOffset:l}=s,c=s.toString(),d=this.#Z(s).closest(".textLayer"),b=this.getSelectionBoxes(d);if(!b)return;s.empty();let y=this.#ne(d),v=this.#E===rn.NONE,k=()=>{let A=y?.createAndAddNewEditor({x:0,y:0},!1,{methodOfCreation:e,boxes:b,anchorNode:i,anchorOffset:r,focusNode:a,focusOffset:l,text:c});if(v)this.showAllEditors("highlight",!0,!0);if(n)A?.editComment()};if(v){this.switchToMode(rn.HIGHLIGHT,k);return}k()}commentSelection(e=""){this.highlightSelection(e,!0)}endCurrentEditing(){this.commitOrRemove(),this.currentLayer?.endDrawingSession(!1)}#ae(){let e=document.getSelection();if(!e||e.isCollapsed)return;let s=this.#Z(e).closest(".textLayer"),i=this.getSelectionBoxes(s);if(!i)return;this.#C||=new E7(this),this.#C.show(s,i,this.direction==="ltr")}getAndRemoveDataFromAnnotationStorage(e){if(!this.#l)return null;let n=`pdfjs_internal_editor_${e}`,s=this.#l.getRawValue(n);if(s)this.#l.remove(n);return s}addToAnnotationStorage(e){if(!e.isEmpty()&&this.#l&&!this.#l.has(e.id))this.#l.setValue(e.id,e)}a11yAlert(e,n=null){let s=this.#te;if(!s)return;if(s.setAttribute("data-l10n-id",e),n)s.setAttribute("data-l10n-args",JSON.stringify(n));else s.removeAttribute("data-l10n-args")}#oe(){let e=document.getSelection();if(!e||e.isCollapsed){if(this.#P)this.#C?.hide(),this.#P=null,this.#_({hasSelectedText:!1});return}let{anchorNode:n}=e;if(n===this.#P)return;let i=this.#Z(e).closest(".textLayer");if(!i){if(this.#P)this.#C?.hide(),this.#P=null,this.#_({hasSelectedText:!1});return}if(this.#C?.hide(),this.#P=n,this.#_({hasSelectedText:!0}),this.#E!==rn.HIGHLIGHT&&this.#E!==rn.NONE)return;if(this.#E===rn.HIGHLIGHT)this.showAllEditors("highlight",!0,!0);if(this.#j=this.isShiftKeyDown,!this.isShiftKeyDown){let r=this.#E===rn.HIGHLIGHT?this.#ne(i):null;if(r?.toggleDrawing(),this.#q){let a=new AbortController,l=this.combinedSignal(a),c=(f)=>{if(f.type==="pointerup"&&f.button!==0)return;if(a.abort(),r?.toggleDrawing(!0),f.type==="pointerup")this.#Q("main_toolbar")};window.addEventListener("pointerup",c,{signal:l}),window.addEventListener("blur",c,{signal:l})}else r?.toggleDrawing(!0),this.#Q("main_toolbar")}}#Q(e=""){if(this.#E===rn.HIGHLIGHT)this.highlightSelection(e);else if(this.#y)this.#ae()}#le(){document.addEventListener("selectionchange",this.#oe.bind(this),{signal:this._signal})}#ce(){if(this.#T)return;this.#T=new AbortController;let e=this.combinedSignal(this.#T);window.addEventListener("focus",this.focus.bind(this),{signal:e}),window.addEventListener("blur",this.blur.bind(this),{signal:e})}#fe(){this.#T?.abort(),this.#T=null}blur(){if(this.isShiftKeyDown=!1,this.#j)this.#j=!1,this.#Q("main_toolbar");if(!this.hasSelection)return;let{activeElement:e}=document;for(let n of this.#S)if(n.div.contains(e)){this.#L=[n,e],n._focusEventsAllowed=!1;break}}focus(){if(!this.#L)return;let[e,n]=this.#L;this.#L=null,n.addEventListener("focusin",()=>{e._focusEventsAllowed=!0},{once:!0,signal:this._signal}),n.focus()}#se(){if(this.#M)return;this.#M=new AbortController;let e=this.combinedSignal(this.#M);window.addEventListener("keydown",this.keydown.bind(this),{signal:e}),window.addEventListener("keyup",this.keyup.bind(this),{signal:e})}#he(){this.#M?.abort(),this.#M=null}#ue(){if(this.#d)return;this.#d=new AbortController;let e=this.combinedSignal(this.#d);document.addEventListener("copy",this.copy.bind(this),{signal:e}),document.addEventListener("cut",this.cut.bind(this),{signal:e}),document.addEventListener("paste",this.paste.bind(this),{signal:e})}#de(){this.#d?.abort(),this.#d=null}#me(){let e=this._signal;document.addEventListener("dragover",this.dragOver.bind(this),{signal:e}),document.addEventListener("drop",this.drop.bind(this),{signal:e})}addEditListeners(){this.#se(),this.setEditingState(!0)}removeEditListeners(){this.#he(),this.setEditingState(!1)}dragOver(e){for(let{type:n}of e.dataTransfer.items)for(let s of this.#b)if(s.isHandlingMimeForPasting(n)){e.dataTransfer.dropEffect="copy",e.preventDefault();return}}drop(e){for(let n of e.dataTransfer.items)for(let s of this.#b)if(s.isHandlingMimeForPasting(n.type)){s.paste(n,this.currentLayer),e.preventDefault();return}}copy(e){if(e.preventDefault(),this.#t?.commitOrRemove(),!this.hasSelection)return;let n=[];for(let s of this.#S){let i=s.serialize(!0);if(i)n.push(i)}if(n.length===0)return;e.clipboardData.setData("application/pdfjs",JSON.stringify(n))}cut(e){this.copy(e),this.delete()}async paste(e){e.preventDefault();let{clipboardData:n}=e;for(let r of n.items)for(let a of this.#b)if(a.isHandlingMimeForPasting(r.type)){a.paste(r,this.currentLayer);return}let s=n.getData("application/pdfjs");if(!s)return;try{s=JSON.parse(s)}catch(r){fn(`paste: "${r.message}".`);return}if(!Array.isArray(s))return;this.unselectAll();let i=this.currentLayer;try{let r=[];for(let c of s){let f=await i.deserialize(c);if(!f)return;r.push(f)}let a=()=>{for(let c of r)this.#ie(c);this.#re(r)},l=()=>{for(let c of r)c.remove()};this.addCommands({cmd:a,undo:l,mustExec:!0})}catch(r){fn(`paste: "${r.message}".`)}}keydown(e){if(!this.isShiftKeyDown&&e.key==="Shift")this.isShiftKeyDown=!0;if(this.#E!==rn.NONE&&!this.isEditorHandlingKeyboard)Al._keyboardManager.exec(this,e)}keyup(e){if(this.isShiftKeyDown&&e.key==="Shift"){if(this.isShiftKeyDown=!1,this.#j)this.#j=!1,this.#Q("main_toolbar")}}onEditingAction({name:e}){switch(e){case"undo":case"redo":case"delete":case"selectAll":this[e]();break;case"highlightSelection":this.highlightSelection("context_menu");break;case"commentSelection":this.commentSelection("context_menu");break}}updatePageIndex(e,n){for(let i of this.#r.get(e)||[])i.pageIndex=n;let s=this.#a.get(e);if(s)if(s.pageIndex=n,this.#i.set(n,s),this.#R)s.enable();else s.disable()}startUpdatePages(){this.#a=new Map(this.#i),this.#i.clear();let e=this.#r=new Map,n=(s)=>{e.getOrInsertComputed(s.pageIndex,Cf).push(s)};for(let s of this.#s.values())n(s);for(let[s,i]of this.#l)if(s.startsWith("pdfjs_internal_editor_")&&!this.#s.has(s)&&Number.isInteger(i?.pageIndex))n(i)}endUpdatePages(){this.#a=null,this.#r=null}clonePage(e,n){for(let s of this.getEditors(e)){let i=s.serialize(s.mode!==rn.HIGHLIGHT);if(!i)continue;i.pageIndex=n,i.id=this.getId(),i.isClone=!0,delete i.popupRef,this.#l.setValue(i.id,i)}}findClonesForPage(e){let n=[],{pageIndex:s}=e;for(let[i,r]of this.#l)if(r.pageIndex===s&&r.isClone)this.#l.remove(i),n.push(e.deserialize(r).then((a)=>{if(a)a.isClone=!0,e.addOrRebuild(a)}));return Promise.all(n)}#_(e){if(Object.entries(e).some(([s,i])=>this.#K[s]!==i)){if(this._eventBus.dispatch("editingstateschanged",{source:this,details:Object.assign(this.#K,e)}),this.#E===rn.HIGHLIGHT&&e.hasSelectedEditor===!1)this.#z([[An.HIGHLIGHT_FREE,!0]])}}#z(e){this._eventBus.dispatch("annotationeditorparamschanged",{source:this,details:e})}setEditingState(e){if(e)this.#ce(),this.#ue(),this.#_({isEditing:this.#E!==rn.NONE,isEmpty:this.#J(),hasSomethingToUndo:this.#u.hasSomethingToUndo(),hasSomethingToRedo:this.#u.hasSomethingToRedo(),hasSelectedEditor:!1});else this.#fe(),this.#de(),this.#_({isEditing:!1}),this.disableUserSelect(!1)}registerEditorTypes(e){if(this.#b)return;this.#b=e;for(let n of this.#b)this.#z(n.defaultPropertiesToUpdate)}getId(){return this.#D.id}get currentLayer(){return this.#i.get(this.#g)}getLayer(e){return this.#i.get(e)}get currentPageIndex(){return this.#g}addLayer(e){if(this.#i.set(e.pageIndex,e),this.#R)e.enable();else e.disable()}removeLayer(e){this.#i.delete(e.pageIndex)}async updateMode(e,n=null,s=!1,i=!1,r=!1,a=!1){if(this.#E===e)return;if(this.#N){if(await this.#N.promise,!this.#N)return}if(this.#N=Promise.withResolvers(),this.#p?.commitOrRemove(),this.#E===rn.POPUP)this.#h?.hideSidebar();if(this.#h?.destroyPopup(),this.#E=e,e===rn.NONE){this.setEditingState(!1),this.#ge();for(let l of this.#s.values())l.hideStandaloneCommentButton();this._editorUndoBar?.hide(),this.toggleComment(null),this.#N.resolve();return}for(let l of this.#s.values())l.addStandaloneCommentButton();if(e===rn.SIGNATURE)await this.#U?.loadSignatures();if(s)Hn.clearPointerType();this.setEditingState(!0),await this.#pe(),this.unselectAll();for(let l of this.#i.values())l.updateMode(e);if(e===rn.POPUP){this.#n||=await this.#W.getAnnotationsByType(new Set(this.#b.map((f)=>f._editorType)));let l=new Set,c=[];for(let f of this.#s.values()){let{annotationElementId:d,hasComment:b,deleted:y}=f;if(d)l.add(d);if(b&&!y)c.push(f.getData())}for(let f of this.#n){let{id:d,popupRef:b,contentsObj:y}=f;if(b&&y?.str&&!l.has(d)&&!this.#f.has(d))c.push(f)}this.#h?.showSidebar(c)}if(!n){if(i)this.addNewEditorFromKeyboard();this.#N.resolve();return}for(let l of this.#s.values())if(l.uid===n)if(this.setSelected(l),a)l.editComment();else if(r)l.enterInEditMode();else l.focus();else l.unselect();this.#N.resolve()}addNewEditorFromKeyboard(){if(this.currentLayer.canCreateNewEmptyEditor())this.currentLayer.addNewEditor()}updateToolbar(e){if(e.mode===this.#E)return;this._eventBus.dispatch("switchannotationeditormode",{source:this,...e})}updateParams(e,n){if(!this.#b)return;switch(e){case An.CREATE:this.currentLayer.addNewEditor(n);return;case An.HIGHLIGHT_SHOW_ALL:this._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:{type:"highlight",action:"toggle_visibility"}}}),(this.#Y||=new Map).set(e,n),this.showAllEditors("highlight",n);break}if(this.hasSelection)for(let s of this.#S)s.updateParams(e,n);else for(let s of this.#b)s.updateDefaultParams(e,n)}showAllEditors(e,n,s=!1){for(let r of this.#s.values())if(r.editorType===e)r.show(n);if((this.#Y?.get(An.HIGHLIGHT_SHOW_ALL)??!0)!==n)this.#z([[An.HIGHLIGHT_SHOW_ALL,n]])}enableWaiting(e=!1){if(this.#B===e)return;this.#B=e;for(let n of this.#i.values()){if(e)n.disableClick();else n.enableClick();n.div.classList.toggle("waiting",e)}}async#pe(){if(!this.#R){this.#R=!0;let e=[];for(let n of this.#i.values())e.push(n.enable());await Promise.all(e);for(let n of this.#s.values())n.enable()}}#ge(){if(this.unselectAll(),this.#R){this.#R=!1;for(let e of this.#i.values())e.disable();for(let e of this.#s.values())e.disable()}}*getEditors(e){for(let n of this.#s.values())if(n.pageIndex===e)yield n}getEditor(e){return this.#s.get(e)}addEditor(e){this.#s.set(e.id,e)}removeEditor(e){if(e.div.contains(document.activeElement)){if(this.#A)clearTimeout(this.#A);this.#A=setTimeout(()=>{this.focusMainContainer(),this.#A=null},0)}if(this.#s.delete(e.id),e.annotationElementId)this.#O?.delete(e.annotationElementId);if(this.unselect(e),!e.annotationElementId||!this.#f.has(e.annotationElementId))this.#l?.remove(e.id)}addDeletedAnnotationElement(e){this.#f.add(e.annotationElementId),this.addChangedExistingAnnotation(e),e.deleted=!0}isDeletedAnnotationElement(e){return this.#f.has(e)}removeDeletedAnnotationElement(e){this.#f.delete(e.annotationElementId),this.removeChangedExistingAnnotation(e),e.deleted=!1}#ie(e){let n=this.#i.get(e.pageIndex);if(n)n.addOrRebuild(e);else this.addEditor(e),this.addToAnnotationStorage(e)}setActiveEditor(e){if(this.#t===e)return;if(this.#t=e,e)this.#z(e.propertiesToUpdate)}get#be(){let e=null;for(e of this.#S);return e}updateUI(e){if(this.#be===e)this.#z(e.propertiesToUpdate)}updateUIForDefaultProperties(e){this.#z(e.defaultPropertiesToUpdate)}toggleSelected(e){if(this.#S.has(e)){this.#S.delete(e),e.unselect(),this.#_({hasSelectedEditor:this.hasSelection});return}this.#S.add(e),e.select(),this.#z(e.propertiesToUpdate),this.#_({hasSelectedEditor:!0})}setSelected(e){this.updateToolbar({mode:e.mode,editId:e.uid}),this.#p?.commitOrRemove();for(let n of this.#S)if(n!==e)n.unselect();this.#h?.destroyPopup(),this.#S.clear(),this.#S.add(e),e.select(),this.#z(e.propertiesToUpdate),this.#_({hasSelectedEditor:!0})}get firstSelectedEditor(){return this.#S.values().next().value}unselect(e){e.unselect(),this.#S.delete(e),this.#_({hasSelectedEditor:this.hasSelection})}get hasSelection(){return this.#S.size!==0}get isEnterHandled(){return this.#S.size===1&&this.firstSelectedEditor.isEnterHandled}undo(){this.#u.undo(),this.#_({hasSomethingToUndo:this.#u.hasSomethingToUndo(),hasSomethingToRedo:!0,isEmpty:this.#J()}),this._editorUndoBar?.hide()}redo(){this.#u.redo(),this.#_({hasSomethingToUndo:!0,hasSomethingToRedo:this.#u.hasSomethingToRedo(),isEmpty:this.#J()})}addCommands(e){this.#u.add(e),this.#_({hasSomethingToUndo:!0,hasSomethingToRedo:!1,isEmpty:this.#J()})}cleanUndoStack(e){this.#u.cleanType(e)}#J(){if(this.#s.size===0)return!0;if(this.#s.size===1)for(let e of this.#s.values())return e.isEmpty();return!1}delete(){this.commitOrRemove();let e=this.currentLayer?.endDrawingSession(!0);if(!this.hasSelection&&!e)return;let n=e?[e]:[...this.#S],s=()=>{this._editorUndoBar?.show(i,n.length===1?n[0].editorType:n.length);for(let r of n)r.remove()},i=()=>{for(let r of n)this.#ie(r)};this.addCommands({cmd:s,undo:i,mustExec:!0})}commitOrRemove(){this.#t?.commitOrRemove()}hasSomethingToControl(){return this.#t||this.hasSelection}#re(e){for(let n of this.#S)n.unselect();this.#S.clear();for(let n of e){if(n.isEmpty())continue;this.#S.add(n),n.select()}this.#_({hasSelectedEditor:this.hasSelection})}selectAll(){for(let e of this.#S)e.commit();this.#re(this.#s.values())}unselectAll(){if(this.#t){if(this.#t.commitOrRemove(),this.#E!==rn.NONE)return}if(this.#p?.commitOrRemove())return;if(this.#h?.destroyPopup(),!this.hasSelection)return;for(let e of this.#S)e.unselect();this.#S.clear(),this.#_({hasSelectedEditor:!1})}translateSelectedEditors(e,n,s=!1){if(!s)this.commitOrRemove();if(!this.hasSelection)return;this.#F[0]+=e,this.#F[1]+=n;let[i,r]=this.#F,a=[...this.#S],l=1000;if(this.#$)clearTimeout(this.#$);this.#$=setTimeout(()=>{this.#$=null,this.#F[0]=this.#F[1]=0,this.addCommands({cmd:()=>{for(let c of a)if(this.#s.has(c.id))c.translateInPage(i,r),c.translationDone()},undo:()=>{for(let c of a)if(this.#s.has(c.id))c.translateInPage(-i,-r),c.translationDone()},mustExec:!1})},l);for(let c of a)c.translateInPage(e,n),c.translationDone()}setUpDragSession(){if(!this.hasSelection)return;this.disableUserSelect(!0),this.#m=new Map;for(let e of this.#S)this.#m.set(e,{savedX:e.x,savedY:e.y,savedPageIndex:e.pageIndex,newX:0,newY:0,newPageIndex:-1})}endDragSession(){if(!this.#m)return!1;this.disableUserSelect(!1);let e=this.#m;this.#m=null;let n=!1;for(let[{x:i,y:r,pageIndex:a},l]of e)l.newX=i,l.newY=r,l.newPageIndex=a,n||=i!==l.savedX||r!==l.savedY||a!==l.savedPageIndex;if(!n)return!1;let s=(i,r,a,l)=>{if(this.#s.has(i.id)){let c=this.#i.get(l);if(c)i._setParentAndPosition(c,r,a);else i.pageIndex=l,i.x=r,i.y=a}};return this.addCommands({cmd:()=>{for(let[i,{newX:r,newY:a,newPageIndex:l}]of e)s(i,r,a,l)},undo:()=>{for(let[i,{savedX:r,savedY:a,savedPageIndex:l}]of e)s(i,r,a,l)},mustExec:!0}),!0}dragSelectedEditors(e,n){if(!this.#m)return;for(let s of this.#m.keys())s.drag(e,n)}rebuild(e){if(e.parent===null){let n=this.getLayer(e.pageIndex);if(n)n.changeParent(e),n.addOrRebuild(e);else this.addEditor(e),this.addToAnnotationStorage(e),e.rebuild()}else e.parent.addOrRebuild(e)}get isEditorHandlingKeyboard(){return this.getActive()?.shouldGetKeyboardEvents()||this.#S.size===1&&this.firstSelectedEditor.shouldGetKeyboardEvents()}isActive(e){return this.#t===e}getActive(){return this.#t}getMode(){return this.#E}isEditingMode(){return this.#E!==rn.NONE}get imageManager(){return Pt(this,"imageManager",new f2)}getSelectionBoxes(e){if(!e)return null;let n=document.getSelection();for(let f=0,d=n.rangeCount;f<d;f++)if(!e.contains(n.getRangeAt(f).commonAncestorContainer))return null;let{x:s,y:i,width:r,height:a}=e.getBoundingClientRect(),l;switch(e.getAttribute("data-main-rotation")){case"90":l=(f,d,b,y)=>({x:(d-i)/a,y:1-(f+b-s)/r,width:y/a,height:b/r});break;case"180":l=(f,d,b,y)=>({x:1-(f+b-s)/r,y:1-(d+y-i)/a,width:b/r,height:y/a});break;case"270":l=(f,d,b,y)=>({x:1-(d+y-i)/a,y:(f-s)/r,width:y/a,height:b/r});break;default:l=(f,d,b,y)=>({x:(f-s)/r,y:(d-i)/a,width:b/r,height:y/a});break}let c=[];for(let f=0,d=n.rangeCount;f<d;f++){let b=n.getRangeAt(f);if(b.collapsed)continue;for(let{x:y,y:v,width:k,height:A}of b.getClientRects()){if(k===0||A===0)continue;c.push(l(y,v,k,A))}}return c.length===0?null:c}addChangedExistingAnnotation({annotationElementId:e,id:n}){(this.#c||=new Map).set(e,n)}removeChangedExistingAnnotation({annotationElementId:e}){this.#c?.delete(e)}renderAnnotationElement(e){let n=this.#c?.get(e.data.id);if(!n)return;let s=this.#l.getRawValue(n);if(!s)return;if(this.#E===rn.NONE&&!s.hasBeenModified)return;s.renderAnnotationElement(e)}setMissingCanvas(e,n,s){let i=this.#O?.get(e);if(!i)return;i.setCanvas(n,s),this.#O.delete(e)}addMissingCanvas(e,n){(this.#O||=new Map).set(e,n)}}class eo{#e=null;#t=!1;#n=null;#s=null;#i=null;#a=null;#r=!1;#o=null;#l=null;#c=null;#u=null;#h=!1;static#d=null;static _l10n=null;constructor(e){this.#l=e,this.#h=e._uiManager.useNewAltTextFlow,eo.#d||=Object.freeze({added:"pdfjs-editor-new-alt-text-added-button","added-label":"pdfjs-editor-new-alt-text-added-button-label",missing:"pdfjs-editor-new-alt-text-missing-button","missing-label":"pdfjs-editor-new-alt-text-missing-button-label",review:"pdfjs-editor-new-alt-text-to-review-button","review-label":"pdfjs-editor-new-alt-text-to-review-button-label"})}static initialize(e){eo._l10n??=e}async render(){let e=this.#n=document.createElement("button");e.className="altText",e.tabIndex="0";let n=this.#s=document.createElement("span");if(e.append(n),this.#h)e.classList.add("new"),e.setAttribute("data-l10n-id",eo.#d.missing),n.setAttribute("data-l10n-id",eo.#d["missing-label"]);else e.setAttribute("data-l10n-id","pdfjs-editor-alt-text-button"),n.setAttribute("data-l10n-id","pdfjs-editor-alt-text-button-label");let s=this.#l._uiManager._signal;e.addEventListener("contextmenu",ga,{signal:s}),e.addEventListener("pointerdown",(r)=>r.stopPropagation(),{signal:s});let i=(r)=>{if(r.preventDefault(),this.#l._uiManager.editAltText(this.#l),this.#h)this.#l._reportTelemetry({action:"pdfjs.image.alt_text.image_status_label_clicked",data:{label:this.#p}})};return e.addEventListener("click",i,{capture:!0,signal:s}),e.addEventListener("keydown",(r)=>{if(r.target===e&&r.key==="Enter")this.#r=!0,i(r)},{signal:s}),await this.#g(),e}get#p(){return this.#e&&"added"||this.#e===null&&this.guessedText&&"review"||"missing"}finish(){if(!this.#n)return;this.#n.focus({focusVisible:this.#r}),this.#r=!1}isEmpty(){return this.#h?this.#e===null:!this.#e&&!this.#t}hasData(){return this.#h?this.#e!==null||!!this.#c:this.isEmpty()}get guessedText(){return this.#c}async setGuessedText(e){if(this.#e!==null)return;this.#c=e,this.#u=await eo._l10n.get("pdfjs-editor-new-alt-text-generated-alt-text-with-disclaimer",{generatedAltText:e}),this.#g()}toggleAltTextBadge(e=!1){if(!this.#h||this.#e){this.#o?.remove(),this.#o=null;return}if(!this.#o){let n=this.#o=document.createElement("div");n.className="noAltTextBadge",this.#l.div.append(n)}this.#o.classList.toggle("hidden",!e)}serialize(e){let n=this.#e;if(!e&&this.#c===n)n=this.#u;return{altText:n,decorative:this.#t,guessedText:this.#c,textWithDisclaimer:this.#u}}get data(){return{altText:this.#e,decorative:this.#t}}set data({altText:e,decorative:n,guessedText:s,textWithDisclaimer:i,cancel:r=!1}){if(s)this.#c=s,this.#u=i;if(this.#e===e&&this.#t===n)return;if(!r)this.#e=e,this.#t=n;this.#g()}toggle(e=!1){if(!this.#n)return;if(!e&&this.#a)clearTimeout(this.#a),this.#a=null;this.#n.disabled=!e}shown(){this.#l._reportTelemetry({action:"pdfjs.image.alt_text.image_status_label_displayed",data:{label:this.#p}})}destroy(){this.#n?.remove(),this.#n=null,this.#s=null,this.#i=null,this.#o?.remove(),this.#o=null}async#g(){let e=this.#n;if(!e)return;if(this.#h){if(e.classList.toggle("done",!!this.#e),e.setAttribute("data-l10n-id",eo.#d[this.#p]),this.#s?.setAttribute("data-l10n-id",eo.#d[`${this.#p}-label`]),!this.#e){this.#i?.remove();return}}else{if(!this.#e&&!this.#t){e.classList.remove("done"),this.#i?.remove();return}e.classList.add("done"),e.setAttribute("data-l10n-id","pdfjs-editor-alt-text-edit-button")}let n=this.#i;if(!n){this.#i=n=document.createElement("span"),n.className="tooltip",n.setAttribute("role","tooltip"),n.id=`alt-text-tooltip-${this.#l.id}`;let i=100,r=this.#l._uiManager._signal;r.addEventListener("abort",()=>{clearTimeout(this.#a),this.#a=null},{once:!0}),e.addEventListener("mouseenter",()=>{this.#a=setTimeout(()=>{this.#a=null,this.#i.classList.add("show"),this.#l._reportTelemetry({action:"alt_text_tooltip"})},i)},{signal:r}),e.addEventListener("mouseleave",()=>{if(this.#a)clearTimeout(this.#a),this.#a=null;this.#i?.classList.remove("show")},{signal:r})}if(this.#t)n.setAttribute("data-l10n-id","pdfjs-editor-alt-text-decorative-tooltip");else n.removeAttribute("data-l10n-id"),n.textContent=this.#e;if(!n.parentNode)e.append(n);this.#l.getElementForAltText()?.setAttribute("aria-describedby",n.id)}}class eu{#e=null;#t=null;#n=!1;#s=null;#i=null;#a=null;#r=null;#o=null;#l=!1;#c=null;constructor(e){this.#s=e}renderForToolbar(){let e=this.#t=document.createElement("button");return e.className="comment",this.#u(e,!1)}renderForStandalone(){let e=this.#e=document.createElement("button");e.className="annotationCommentButton";let n=this.#s.commentButtonPosition;if(n){let{style:s}=e;s.insetInlineEnd=`calc(${100*(this.#s._uiManager.direction==="ltr"?1-n[0]:n[0])}% - var(--comment-button-dim))`,s.top=`calc(${100*n[1]}% - var(--comment-button-dim))`;let i=this.#s.commentButtonColor;if(i)s.backgroundColor=i}return this.#u(e,!0)}focusButton(){setTimeout(()=>{(this.#e??this.#t)?.focus()},0)}onUpdatedColor(){if(!this.#e)return;let e=this.#s.commentButtonColor;if(e)this.#e.style.backgroundColor=e;this.#s._uiManager.updatePopupColor(this.#s)}get commentButtonWidth(){return(this.#e?.getBoundingClientRect().width??0)/this.#s.parent.boundingClientRect.width}get commentPopupPositionInLayer(){if(this.#c)return this.#c;if(!this.#e)return null;let{x:e,y:n,height:s}=this.#e.getBoundingClientRect(),{x:i,y:r,width:a,height:l}=this.#s.parent.boundingClientRect;return[(e-i)/a,(n+s-r)/l]}set commentPopupPositionInLayer(e){this.#c=e}hasDefaultPopupPosition(){return this.#c===null}removeStandaloneCommentButton(){this.#e?.remove(),this.#e=null}removeToolbarCommentButton(){this.#t?.remove(),this.#t=null}setCommentButtonStates({selected:e,hasPopup:n}){if(!this.#e)return;this.#e.classList.toggle("selected",e),this.#e.ariaExpanded=n}#u(e,n){if(!this.#s._uiManager.hasCommentManager())return null;if(e.tabIndex="0",e.ariaHasPopup="dialog",n)e.ariaControls="commentPopup",e.setAttribute("data-l10n-id","pdfjs-show-comment-button");else e.ariaControlsElements=[this.#s._uiManager.getCommentDialogElement()],e.setAttribute("data-l10n-id","pdfjs-editor-add-comment-button");let s=this.#s._uiManager._signal;if(!(s instanceof AbortSignal)||s.aborted)return e;if(e.addEventListener("contextmenu",ga,{signal:s}),n)e.addEventListener("focusin",(r)=>{this.#s._focusEventsAllowed=!1,hi(r)},{capture:!0,signal:s}),e.addEventListener("focusout",(r)=>{this.#s._focusEventsAllowed=!0,hi(r)},{capture:!0,signal:s});e.addEventListener("pointerdown",(r)=>r.stopPropagation(),{signal:s});let i=(r)=>{if(r.preventDefault(),e===this.#t)this.edit();else this.#s.toggleComment(!0)};return e.addEventListener("click",i,{capture:!0,signal:s}),e.addEventListener("keydown",(r)=>{if(r.target===e&&r.key==="Enter")this.#n=!0,i(r)},{signal:s}),e.addEventListener("pointerenter",()=>{this.#s.toggleComment(!1,!0)},{signal:s}),e.addEventListener("pointerleave",()=>{this.#s.toggleComment(!1,!1)},{signal:s}),e}edit(e){let n=this.commentPopupPositionInLayer,s,i;if(n)[s,i]=n;else{[s,i]=this.#s.commentButtonPosition;let{width:d,height:b,x:y,y:v}=this.#s;s=y+s*d,i=v+i*b}let r=this.#s.parent.boundingClientRect,{x:a,y:l,width:c,height:f}=r;this.#s._uiManager.editComment(this.#s,a+s*c,l+i*f,{...e,parentDimensions:r})}finish(){if(!this.#t)return;this.#t.focus({focusVisible:this.#n}),this.#n=!1}isDeleted(){return this.#l||this.#r===""}isEmpty(){return this.#r===null}hasBeenEdited(){return this.isDeleted()||this.#r!==this.#i}serialize(){return this.data}get data(){return{text:this.#r,richText:this.#a,date:this.#o,deleted:this.isDeleted()}}set data(e){if(e!==this.#r)this.#a=null;if(e===null){this.#r="",this.#l=!0;return}this.#r=e,this.#o=new Date,this.#l=!1}restoreData({text:e,richText:n,date:s}){this.#r=e,this.#a=n,this.#o=s,this.#l=!1}setInitialText(e,n=null){this.#i=e,this.data=e,this.#o=null,this.#a=n}shown(){}destroy(){this.#t?.remove(),this.#t=null,this.#e?.remove(),this.#e=null,this.#r="",this.#a=null,this.#o=null,this.#s=null,this.#n=!1,this.#l=!1}}function K8(e){e.preventDefault()}var Y8=0.0001;function Vb(e){if(e.cancelable)return hi(e),!0;return e.stopPropagation(),!1}class u2{#e;#t=!1;#n=null;#s;#i;#a;#r;#o;#l=!1;#c=null;#u;#h=new Set;#d=null;#p;#g=null;#f=0;constructor({container:e,isPinchingDisabled:n=null,isPinchingStopped:s=null,onPinchStart:i=null,onPinching:r=null,onPinchEnd:a=null,onPanning:l=null,signal:c}){this.#e=e,this.#n=s,this.#s=n,this.#i=i,this.#a=r,this.#r=a,this.#o=l,this.#p=new AbortController,this.#u=AbortSignal.any([c,this.#p.signal]),e.addEventListener("touchstart",this.#m.bind(this),{passive:!1,signal:this.#u})}get MIN_TOUCH_DISTANCE_TO_PINCH(){return 35/ba.pixelRatio}get MIN_TOUCH_DISTANCE_TO_SCALE(){return 4/ba.pixelRatio}#m(e){if(this.#s?.())return;this.#w(e);let n=this.#h;for(let{identifier:s}of e.changedTouches)n.add(s);if(n.size===1){this.#b();return}if(!this.#g){this.#g=new AbortController;let s=AbortSignal.any([this.#u,this.#g.signal]),i=this.#e,r={signal:s,capture:!1,passive:!1};i.addEventListener("touchmove",this.#x.bind(this),r);let a=this.#k.bind(this);i.addEventListener("touchend",a,r),i.addEventListener("touchcancel",a,r),r.capture=!0,i.addEventListener("pointerdown",hi,r),i.addEventListener("pointermove",hi,r),i.addEventListener("pointercancel",K8,r),i.addEventListener("pointerup",K8,r),this.#i?.()}this.#l=Vb(e),this.#v(e)}#b(){if(this.#c)return;let e=this.#c=new AbortController,n=AbortSignal.any([this.#u,e.signal]),s=this.#e,i={capture:!0,signal:n,passive:!1},r=(a)=>{if(a.pointerType==="touch")this.#c?.abort(),this.#c=null};s.addEventListener("pointerdown",(a)=>{if(a.pointerType==="touch")hi(a),r(a)},i),s.addEventListener("pointerup",r,i),s.addEventListener("pointercancel",r,i)}#w(e){let n=this.#h;if(n.size===0)return;let s=this.#h=new Set;for(let{identifier:i}of e.touches)if(n.has(i))s.add(i)}#y(e){let n=this.#h,s=[];for(let i of e.touches)if(n.has(i.identifier))s.push(i);return s}#v(e){let n=this.#y(e);if(n.length!==2||this.#n?.()){this.#d=null;return}let[s,i]=n;this.#d={touch0X:s.screenX,touch0Y:s.screenY,touch1X:i.screenX,touch1Y:i.screenY,panX:(s.clientX+i.clientX)/2,panY:(s.clientY+i.clientY)/2,screenPanX:(s.screenX+i.screenX)/2,screenPanY:(s.screenY+i.screenY)/2}}#x(e){if(!this.#d)return;let n=this.#y(e);if(n.length!==2)return;let s=this.#l;if(this.#l=Vb(e),!this.#l)return;if(!s){this.#v(e);return}let[i,r]=n,{screenX:a,screenY:l}=i,{screenX:c,screenY:f}=r,d=this.#d,{touch0X:b,touch0Y:y,touch1X:v,touch1Y:k,panX:A,panY:T}=d,R=v-b,D=k-y,U=c-a,Y=f-l,X=(i.clientX+r.clientX)/2,J=(i.clientY+r.clientY)/2;d.panX=X,d.panY=J;let ee=X-A,te=J-T,ne=(a+c)/2,ie=(l+f)/2,se=Math.hypot(ne-d.screenPanX,ie-d.screenPanY);d.screenPanX=ne,d.screenPanY=ie;let ae=Math.hypot(U,Y),be=Math.hypot(R,D),ye=this.#t?this.MIN_TOUCH_DISTANCE_TO_SCALE:this.MIN_TOUCH_DISTANCE_TO_PINCH+2*se;if(ae<Y8||be<Y8||Math.abs(be-ae)<=ye){if(ee||te)this.#o?.(ee,te);return}d.touch0X=a,d.touch0Y=l,d.touch1X=c,d.touch1Y=f;let fe=Math.sign(ae-be);if(!this.#t){if(this.#t=!0,this.#f=fe,ee||te)this.#o?.(ee,te);return}if(this.#f){let le=this.#f;if(this.#f=0,fe!==le&&Math.abs(ae-be)<=2*se){if(this.#t=!1,ee||te)this.#o?.(ee,te);return}}this.#a?.([A,T],be,ae,ee,te)}#k(e){if(this.#w(e),this.#h.size>=2){this.#v(e);return}let n=!!this.#d;if(this.#A(),this.#h.size===1)this.#b();if(n)Vb(e)}#A(){if(this.#d=null,this.#t=!1,this.#f=0,this.#l=!1,this.#g)this.#g.abort(),this.#g=null,this.#r?.()}destroy(){this.#A(),this.#h.clear(),this.#p?.abort(),this.#p=null,this.#c?.abort(),this.#c=null}}class Ft{#e=null;#t=null;#n=null;#s=null;#i=null;#a=!1;#r=null;#o="";#l=null;#c=null;#u=null;#h=null;#d=null;#p="";#g=!1;#f=null;#m=!1;#b=!1;#w=!1;#y=null;#v=0;#x=0;#k=null;#A=null;isSelected=!1;_isCopy=!1;_editToolbar=null;_initialOptions=Object.create(null);_initialData=null;_isVisible=!0;_uiManager=null;_focusEventsAllowed=!0;static _l10n=null;static _l10nAlert=null;static _l10nResizer=null;#T=!1;#I=Ft._zIndex++;static _borderLineWidth=-1;static _colorManager=new h2;static _zIndex=1;static _telemetryTimeout=1000;static get _resizerKeyboardManager(){let e=Ft.prototype._resizeWithKeyboard,{TRANSLATE_SMALL:n,TRANSLATE_BIG:s}=Al;return Pt(this,"_resizerKeyboardManager",new xr([[["ArrowLeft"],e,{args:[-n,0]}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],e,{args:[-s,0]}],[["ArrowRight"],e,{args:[n,0]}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],e,{args:[s,0]}],[["ArrowUp"],e,{args:[0,-n]}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],e,{args:[0,-s]}],[["ArrowDown"],e,{args:[0,n]}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],e,{args:[0,s]}],[["Escape"],Ft.prototype._stopResizingWithKeyboard]]))}constructor(e){this.parent=e.parent,this.id=e.id,this.width=this.height=null,this.pageIndex=e.parent.pageIndex,this.name=e.name,this.div=null,this._uiManager=e.uiManager,this.annotationElementId=null,this._willKeepAspectRatio=!1,this._initialOptions.isCentered=e.isCentered,this._structTreeParentId=null,this.annotationElementId=e.annotationElementId||null,this.creationDate=e.creationDate||new Date,this.modificationDate=e.modificationDate||null,this.canAddComment=!0;let{rotation:n,rawDims:{pageWidth:s,pageHeight:i,pageX:r,pageY:a}}=this.parent.viewport;this.rotation=n,this.pageRotation=(360+n-this._uiManager.viewParameters.rotation)%360,this.pageDimensions=[s,i],this.pageTranslation=[r,a];let[l,c]=this.parentDimensions;this.x=e.x/l,this.y=e.y/c,this.isAttachedToDOM=!1,this.deleted=!1}updatePageIndex(e){this.pageIndex=e}get editorType(){return Object.getPrototypeOf(this).constructor._type}get mode(){return Object.getPrototypeOf(this).constructor._editorType}static get isDrawer(){return!1}static get _defaultLineColor(){return Pt(this,"_defaultLineColor",this._colorManager.getHexCode("CanvasText"))}static deleteAnnotationElement(e){let n=new I7({id:e._uiManager.getId(),parent:e.parent,uiManager:e._uiManager});n.annotationElementId=e.annotationElementId,n.deleted=!0,n._uiManager.addToAnnotationStorage(n)}static initialize(e,n){if(Ft._l10n??=e,Ft._l10nAlert??=Object.freeze({highlight:"pdfjs-editor-highlight-added-alert",freetext:"pdfjs-editor-freetext-added-alert",ink:"pdfjs-editor-ink-added-alert",stamp:"pdfjs-editor-stamp-added-alert",signature:"pdfjs-editor-signature-added-alert"}),Ft._l10nResizer??=Object.freeze({topLeft:"pdfjs-editor-resizer-top-left",topMiddle:"pdfjs-editor-resizer-top-middle",topRight:"pdfjs-editor-resizer-top-right",middleRight:"pdfjs-editor-resizer-middle-right",bottomRight:"pdfjs-editor-resizer-bottom-right",bottomMiddle:"pdfjs-editor-resizer-bottom-middle",bottomLeft:"pdfjs-editor-resizer-bottom-left",middleLeft:"pdfjs-editor-resizer-middle-left"}),Ft._borderLineWidth!==-1)return;let s=getComputedStyle(document.documentElement);Ft._borderLineWidth=parseFloat(s.getPropertyValue("--outline-width"))||0}static updateDefaultParams(e,n){}static get defaultPropertiesToUpdate(){return[]}static isHandlingMimeForPasting(e){return!1}static paste(e,n){Dn("Not implemented")}get propertiesToUpdate(){return[]}get _isDraggable(){return this.#T}set _isDraggable(e){this.#T=e,this.div?.classList.toggle("draggable",e)}get uid(){return this.annotationElementId||this.id}get isEnterHandled(){return!0}center(){let[e,n]=this.pageDimensions;switch(this.parentRotation){case 90:this.x-=this.height*n/(e*2),this.y+=this.width*e/(n*2);break;case 180:this.x+=this.width/2,this.y+=this.height/2;break;case 270:this.x+=this.height*n/(e*2),this.y-=this.width*e/(n*2);break;default:this.x-=this.width/2,this.y-=this.height/2;break}this.fixAndSetPosition()}addCommands(e){this._uiManager.addCommands(e)}get currentLayer(){return this._uiManager.currentLayer}setInBackground(){this.div.style.zIndex=0}setInForeground(){this.div.style.zIndex=this.#I}setParent(e){if(e!==null)this.pageIndex=e.pageIndex,this.pageDimensions=e.pageDimensions;else this.#F(),this.#h?.remove(),this.#h=null;this.parent=e}focusin(e){if(!this._focusEventsAllowed)return;if(!this.#g)this.parent.setSelected(this);else this.#g=!1}focusout(e){if(!this._focusEventsAllowed)return;if(!this.isAttachedToDOM)return;if(e.relatedTarget?.closest(`#${this.id}`))return;if(e.preventDefault(),!this.parent?.isMultipleSelection)this.commitOrRemove()}commitOrRemove(){if(this.isEmpty())this.remove();else this.commit()}commit(){if(!this.isInEditMode())return;this.addToAnnotationStorage()}addToAnnotationStorage(){this._uiManager.addToAnnotationStorage(this)}setAt(e,n,s,i){let[r,a]=this.parentDimensions;[s,i]=this.screenToPageTranslation(s,i),this.x=(e+s)/r,this.y=(n+i)/a,this.fixAndSetPosition()}_moveAfterPaste(e,n){if(this.isClone){delete this.isClone;return}let[s,i]=this.parentDimensions;this.setAt(e*s,n*i,this.width*s,this.height*i),this._onTranslated()}#j([e,n],s,i){[s,i]=this.screenToPageTranslation(s,i),this.x+=s/e,this.y+=i/n,this._onTranslating(this.x,this.y),this.fixAndSetPosition()}translate(e,n){this.#j(this.parentDimensions,e,n)}translateInPage(e,n){this.#f||=[this.x,this.y,this.width,this.height],this.#j(this.pageDimensions,e,n),this.div.scrollIntoView({block:"nearest"})}translationDone(){this._onTranslated(this.x,this.y)}drag(e,n){this.#f||=[this.x,this.y,this.width,this.height];let{div:s,parentDimensions:[i,r]}=this;if(this.x+=e/i,this.y+=n/r,this.parent&&(this.x<0||this.x>1||this.y<0||this.y>1)){let{x:b,y}=this.div.getBoundingClientRect();if(this.parent.findNewParent(this,b,y))this.x-=Math.floor(this.x),this.y-=Math.floor(this.y)}let{x:a,y:l}=this,[c,f]=this.getBaseTranslation();a+=c,l+=f;let{style:d}=s;d.left=`${(100*a).toFixed(2)}%`,d.top=`${(100*l).toFixed(2)}%`,this._onTranslating(a,l)}_onTranslating(e,n){}_onTranslated(e,n){}get _hasBeenMoved(){return!!this.#f&&(this.#f[0]!==this.x||this.#f[1]!==this.y)}get _hasBeenResized(){return!!this.#f&&(this.#f[2]!==this.width||this.#f[3]!==this.height)}getBaseTranslation(){let[e,n]=this.parentDimensions,{_borderLineWidth:s}=Ft,i=s/e,r=s/n;switch(this.rotation){case 90:return[-i,r];case 180:return[i,r];case 270:return[i,-r];default:return[-i,-r]}}get _mustFixPosition(){return!0}fixAndSetPosition(e=this.rotation){let{div:{style:n},pageDimensions:[s,i]}=this,{x:r,y:a,width:l,height:c}=this;if(l*=s,c*=i,r*=s,a*=i,this._mustFixPosition)switch(e){case 0:r=vs(r,0,s-l),a=vs(a,0,i-c);break;case 90:r=vs(r,0,s-c),a=vs(a,l,i);break;case 180:r=vs(r,l,s),a=vs(a,c,i);break;case 270:r=vs(r,c,s),a=vs(a,0,i-l);break}this.x=r/=s,this.y=a/=i;let[f,d]=this.getBaseTranslation();r+=f,a+=d,n.left=`${(100*r).toFixed(2)}%`,n.top=`${(100*a).toFixed(2)}%`,this.moveInDOM()}static#C(e,n,s){switch(s){case 90:return[n,-e];case 180:return[-e,-n];case 270:return[-n,e];default:return[e,n]}}screenToPageTranslation(e,n){return Ft.#C(e,n,this.parentRotation)}pageTranslationToScreen(e,n){return Ft.#C(e,n,360-this.parentRotation)}#D(e){switch(e){case 90:{let[n,s]=this.pageDimensions;return[0,-n/s,s/n,0]}case 180:return[-1,0,0,-1];case 270:{let[n,s]=this.pageDimensions;return[0,n/s,-s/n,0]}default:return[1,0,0,1]}}get parentScale(){return this._uiManager.viewParameters.realScale}get parentRotation(){return(this._uiManager.viewParameters.rotation+this.pageRotation)%360}get parentDimensions(){let{parentScale:e,pageDimensions:[n,s]}=this;return[n*e,s*e]}setDims(){let{div:{style:e},width:n,height:s}=this;e.width=`${(100*n).toFixed(2)}%`,e.height=`${(100*s).toFixed(2)}%`}getInitialTranslation(){return[0,0]}#R(){if(this.#l)return;this.#l=document.createElement("div"),this.#l.classList.add("resizers");let e=this._willKeepAspectRatio?["topLeft","topRight","bottomRight","bottomLeft"]:["topLeft","topMiddle","topRight","middleRight","bottomRight","bottomMiddle","bottomLeft","middleLeft"],n=this._uiManager._signal;for(let s of e){let i=document.createElement("div");this.#l.append(i),i.classList.add("resizer",s),i.setAttribute("data-resizer-name",s),i.addEventListener("pointerdown",this.#q.bind(this,s),{signal:n}),i.addEventListener("contextmenu",ga,{signal:n}),i.tabIndex=-1}this.div.prepend(this.#l)}#q(e,n){n.preventDefault();let{isMac:s}=Xn.platform;if(n.button!==0||n.ctrlKey&&s)return;this.#n?.toggle(!1);let i=this._isDraggable;this._isDraggable=!1,this.#c=[n.screenX,n.screenY];let r=new AbortController,a=this._uiManager.combinedSignal(r);this.parent.togglePointerEvents(!1),window.addEventListener("pointermove",this.#L.bind(this,e),{passive:!0,capture:!0,signal:a}),window.addEventListener("touchmove",hi,{passive:!1,signal:a}),window.addEventListener("contextmenu",ga,{signal:a}),this.#u={savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height};let l=this.parent.div.style.cursor,c=this.div.style.cursor;this.div.style.cursor=this.parent.div.style.cursor=window.getComputedStyle(n.target).cursor;let f=()=>{r.abort(),this.parent.togglePointerEvents(!0),this.#n?.toggle(!0),this._isDraggable=i,this.parent.div.style.cursor=l,this.div.style.cursor=c,this.#M()};window.addEventListener("pointerup",f,{signal:a}),window.addEventListener("blur",f,{signal:a})}#B(e,n,s,i){this.width=s,this.height=i,this.x=e,this.y=n,this.setDims(),this.fixAndSetPosition(),this._onResized()}_onResized(){}#M(){if(!this.#u)return;let{savedX:e,savedY:n,savedWidth:s,savedHeight:i}=this.#u;this.#u=null;let r=this.x,a=this.y,l=this.width,c=this.height;if(r===e&&a===n&&l===s&&c===i)return;this.addCommands({cmd:this.#B.bind(this,r,a,l,c),undo:this.#B.bind(this,e,n,s,i),mustExec:!0})}static _round(e){return Math.round(e*1e4)/1e4}#L(e,n){let[s,i]=this.parentDimensions,r=this.x,a=this.y,l=this.width,c=this.height,f=Ft.MIN_SIZE/s,d=Ft.MIN_SIZE/i,b=this.#D(this.rotation),y=(le,oe)=>[b[0]*le+b[2]*oe,b[1]*le+b[3]*oe],v=this.#D(360-this.rotation),k=(le,oe)=>[v[0]*le+v[2]*oe,v[1]*le+v[3]*oe],A,T,R=!1,D=!1;switch(e){case"topLeft":R=!0,A=(le,oe)=>[0,0],T=(le,oe)=>[le,oe];break;case"topMiddle":A=(le,oe)=>[le/2,0],T=(le,oe)=>[le/2,oe];break;case"topRight":R=!0,A=(le,oe)=>[le,0],T=(le,oe)=>[0,oe];break;case"middleRight":D=!0,A=(le,oe)=>[le,oe/2],T=(le,oe)=>[0,oe/2];break;case"bottomRight":R=!0,A=(le,oe)=>[le,oe],T=(le,oe)=>[0,0];break;case"bottomMiddle":A=(le,oe)=>[le/2,oe],T=(le,oe)=>[le/2,0];break;case"bottomLeft":R=!0,A=(le,oe)=>[0,oe],T=(le,oe)=>[le,0];break;case"middleLeft":D=!0,A=(le,oe)=>[0,oe/2],T=(le,oe)=>[le,oe/2];break}let U=A(l,c),Y=T(l,c),X=y(...Y),J=Ft._round(r+X[0]),ee=Ft._round(a+X[1]),te=1,ne=1,ie,se;if(!n.fromKeyboard){let{screenX:le,screenY:oe}=n,[Se,we]=this.#c;[ie,se]=this.screenToPageTranslation(le-Se,oe-we),this.#c[0]=le,this.#c[1]=oe}else({deltaX:ie,deltaY:se}=n);if([ie,se]=k(ie/s,se/i),R){let le=Math.hypot(l,c);te=ne=Math.max(Math.min(Math.hypot(Y[0]-U[0]-ie,Y[1]-U[1]-se)/le,1/l,1/c),f/l,d/c)}else if(D)te=vs(Math.abs(Y[0]-U[0]-ie),f,1)/l;else ne=vs(Math.abs(Y[1]-U[1]-se),d,1)/c;let ae=Ft._round(l*te),be=Ft._round(c*ne);X=y(...T(ae,be));let ye=J-X[0],fe=ee-X[1];this.#f||=[this.x,this.y,this.width,this.height],this.width=ae,this.height=be,this.x=ye,this.y=fe,this.setDims(),this.fixAndSetPosition(),this._onResizing()}_onResizing(){}altTextFinish(){this.#n?.finish()}get toolbarButtons(){return null}async addEditToolbar(){if(this._editToolbar||this.#b)return this._editToolbar;this._editToolbar=new nu(this),this.div.append(this._editToolbar.render());let{toolbarButtons:e}=this;if(e)for(let[n,s]of e)await this._editToolbar.addButton(n,s);if(!this.hasComment)this._editToolbar.addButton("comment",this.addCommentButton());return this._editToolbar.addButton("delete"),this._editToolbar}addCommentButtonInToolbar(){this._editToolbar?.addButtonBefore("comment",this.addCommentButton(),".deleteButton")}removeCommentButtonFromToolbar(){this._editToolbar?.removeButton("comment")}removeEditToolbar(){this._editToolbar?.remove(),this._editToolbar=null,this.#n?.destroy()}addContainer(e){let n=this._editToolbar?.div;if(n)n.before(e);else this.div.append(e)}getClientDimensions(){return this.div.getBoundingClientRect()}createAltText(){if(!this.#n){if(eo.initialize(Ft._l10n),this.#n=new eo(this),this.#e)this.#n.data=this.#e,this.#e=null}return this.#n}get altTextData(){return this.#n?.data}set altTextData(e){if(!this.#n)return;this.#n.data=e}get guessedAltText(){return this.#n?.guessedText}async setGuessedAltText(e){await this.#n?.setGuessedText(e)}serializeAltText(e){return this.#n?.serialize(e)}hasAltText(){return!!this.#n&&!this.#n.isEmpty()}hasAltTextData(){return this.#n?.hasData()??!1}focusCommentButton(){this.#s?.focusButton()}addCommentButton(){return this.canAddComment?this.#s||=new eu(this):null}addStandaloneCommentButton(){if(!this._uiManager.hasCommentManager())return;if(this.#i){if(this._uiManager.isEditingMode())this.#i.classList.remove("hidden");return}if(!this.hasComment)return;this.#i=this.#s.renderForStandalone(),this.div.append(this.#i)}removeStandaloneCommentButton(){this.#s.removeStandaloneCommentButton(),this.#i=null}hideStandaloneCommentButton(){this.#i?.classList.add("hidden")}get comment(){if(!this.#s)return null;let{data:{richText:e,text:n,date:s,deleted:i}}=this.#s;return{text:n,richText:e,date:s,deleted:i,color:this.getNonHCMColor(),opacity:this.opacity??1}}set comment(e){if(this.#s||=new eu(this),typeof e==="object"&&e!==null)this.#s.restoreData(e);else this.#s.data=e;if(this.hasComment)this.removeCommentButtonFromToolbar(),this.addStandaloneCommentButton(),this._uiManager.updateComment(this);else this.addCommentButtonInToolbar(),this.removeStandaloneCommentButton(),this._uiManager.removeComment(this)}setCommentData({comment:e,popupRef:n,richText:s}){if(!n)return;if(this.#s||=new eu(this),this.#s.setInitialText(e,s),!this.annotationElementId)return;let i=this._uiManager.getAndRemoveDataFromAnnotationStorage(this.annotationElementId);if(i)this.updateFromAnnotationLayer(i)}get hasEditedComment(){return this.#s?.hasBeenEdited()}get hasDeletedComment(){return this.#s?.isDeleted()}get hasComment(){return!!this.#s&&!this.#s.isEmpty()&&!this.#s.isDeleted()}async editComment(e){this.#s||=new eu(this),this.#s.edit(e)}toggleComment(e,n=void 0){if(this.hasComment)this._uiManager.toggleComment(this,e,n)}setSelectedCommentButton(e){this.#s.setSelectedButton(e)}addComment(e){if(this.hasEditedComment){let[,,,i]=e.rect,[r]=this.pageDimensions,[a]=this.pageTranslation,l=a+r+1,c=i-100,f=l+180;e.popup={contents:this.comment.text,deleted:this.comment.deleted,rect:[l,c,f,i]}}}updateFromAnnotationLayer({popup:{contents:e,deleted:n}}){this.#s.data=n?null:e}get parentBoundingClientRect(){return this.parent.boundingClientRect}render(){let e=this.div=document.createElement("div");if(e.setAttribute("data-editor-rotation",(360-this.rotation)%360),e.className=this.name,e.setAttribute("id",this.id),e.tabIndex=this.#a?-1:0,e.setAttribute("role","application"),this.defaultL10nId)e.setAttribute("data-l10n-id",this.defaultL10nId);if(!this._isVisible)e.classList.add("hidden");this.setInForeground(),this.#P();let[n,s]=this.parentDimensions;if(this.parentRotation%180!==0)e.style.maxWidth=`${(100*s/n).toFixed(2)}%`,e.style.maxHeight=`${(100*n/s).toFixed(2)}%`;let[i,r]=this.getInitialTranslation();return this.translate(i,r),C7(this,e,["keydown","pointerdown","dblclick"]),this.#U(),this.addStandaloneCommentButton(),this._uiManager._editorUndoBar?.hide(),e}#G(){this.#u={savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height},this.#n?.toggle(!1),this.parent.togglePointerEvents(!1)}#O(e,n,s){let r=0.7*(s/n)+1-0.7;if(r===1)return;let a=this.#D(this.rotation),l=(J,ee)=>[a[0]*J+a[2]*ee,a[1]*J+a[3]*ee],[c,f]=this.parentDimensions,d=this.x,b=this.y,y=this.width,v=this.height,k=Ft.MIN_SIZE/c,A=Ft.MIN_SIZE/f;r=Math.max(Math.min(r,1/y,1/v),k/y,A/v);let T=Ft._round(y*r),R=Ft._round(v*r);if(T===y&&R===v)return;this.#f||=[d,b,y,v];let D=l(y/2,v/2),U=Ft._round(d+D[0]),Y=Ft._round(b+D[1]),X=l(T/2,R/2);this.x=U-X[0],this.y=Y-X[1],this.width=T,this.height=R,this.setDims(),this.fixAndSetPosition(),this._onResizing()}#H(){this.#n?.toggle(!0),this.parent.togglePointerEvents(!0),this.#M()}pointerdown(e){let{isMac:n}=Xn.platform;if(e.button!==0||e.ctrlKey&&n){e.preventDefault();return}if(this.#g=!0,this._isDraggable){this.#S(e);return}this.#E(e)}#E(e){let{isMac:n}=Xn.platform;if(e.ctrlKey&&!n||e.shiftKey||e.metaKey&&n)this.parent.toggleSelected(this);else this.parent.setSelected(this)}#S(e){let{isSelected:n}=this;this._uiManager.setUpDragSession();let s=!1,i=new AbortController,r=this._uiManager.combinedSignal(i),a={capture:!0,passive:!1,signal:r},l=(f)=>{if(i.abort(),this.#r=null,this.#g=!1,!this._uiManager.endDragSession())this.#E(f);if(s)this._onStopDragging()};if(n)this.#v=e.clientX,this.#x=e.clientY,this.#r=e.pointerId,this.#o=e.pointerType,window.addEventListener("pointermove",(f)=>{if(!s)s=!0,this._uiManager.toggleComment(this,!0,!1),this._onStartDragging();let{clientX:d,clientY:b,pointerId:y}=f;if(y!==this.#r){hi(f);return}let[v,k]=this.screenToPageTranslation(d-this.#v,b-this.#x);this.#v=d,this.#x=b,this._uiManager.dragSelectedEditors(v,k),this.div.scrollIntoView({block:"nearest"})},a),window.addEventListener("touchmove",hi,a),window.addEventListener("pointerdown",(f)=>{if(f.pointerType===this.#o){if(this.#A||f.isPrimary)l(f)}hi(f)},a);let c=(f)=>{if(!this.#r||this.#r===f.pointerId){l(f);return}hi(f)};window.addEventListener("pointerup",c,{signal:r}),window.addEventListener("blur",c,{signal:r})}_onStartDragging(){}_onStopDragging(){}moveInDOM(){if(this.#y)clearTimeout(this.#y);this.#y=setTimeout(()=>{this.#y=null,this.parent?.moveEditorInDOM(this)},0)}_setParentAndPosition(e,n,s){e.changeParent(this),this.x=n,this.y=s,this.fixAndSetPosition(),this._onTranslated()}getRect(e,n,s=this.rotation){let i=this.parentScale,[r,a]=this.pageDimensions,[l,c]=this.pageTranslation,f=e/i,d=n/i,b=this.x*r,y=this.y*a,v=this.width*r,k=this.height*a;switch(s){case 0:return[b+f+l,a-y-d-k+c,b+f+v+l,a-y-d+c];case 90:return[b+d+l,a-y+f+c,b+d+k+l,a-y+f+v+c];case 180:return[b-f-v+l,a-y+d+c,b-f+l,a-y+d+k+c];case 270:return[b-d-k+l,a-y-f-v+c,b-d+l,a-y-f+c];default:throw Error("Invalid rotation")}}getRectInCurrentCoords(e,n){let[s,i,r,a]=e,l=r-s,c=a-i;switch(this.rotation){case 0:return[s,n-a,l,c];case 90:return[s,n-i,c,l];case 180:return[r,n-i,l,c];case 270:return[r,n-a,c,l];default:throw Error("Invalid rotation")}}getPDFRect(){return this.getRect(0,0)}getNonHCMColor(){return this.color&&Ft._colorManager.convert(this._uiManager.getNonHCMColor(this.color))}onUpdatedColor(){this.#s?.onUpdatedColor()}getData(){let{comment:{text:e,color:n,date:s,opacity:i,deleted:r,richText:a},uid:l,pageIndex:c,creationDate:f,modificationDate:d}=this;return{id:l,pageIndex:c,rect:this.getPDFRect(),richText:a,contentsObj:{str:e},creationDate:f,modificationDate:s||d,popupRef:!r,color:n,opacity:i}}onceAdded(e){}isEmpty(){return!1}enableEditMode(){if(this.isInEditMode())return!1;return this.parent.setEditingState(!1),this.#b=!0,!0}disableEditMode(){if(!this.isInEditMode())return!1;return this.parent.setEditingState(!0),this.#b=!1,!0}isInEditMode(){return this.#b}shouldGetKeyboardEvents(){return this.#w}needsToBeRebuilt(){return this.div&&!this.isAttachedToDOM}get isOnScreen(){let{top:e,left:n,bottom:s,right:i}=this.getClientDimensions(),{innerHeight:r,innerWidth:a}=window;return n<a&&i>0&&e<r&&s>0}#P(){if(this.#d||!this.div)return;this.#d=new AbortController;let e=this._uiManager.combinedSignal(this.#d);this.div.addEventListener("focusin",this.focusin.bind(this),{signal:e}),this.div.addEventListener("focusout",this.focusout.bind(this),{signal:e})}#U(){if(this.#A||!this.div||!this.isResizable||!this._uiManager._supportsPinchToZoom)return;this.#A=new u2({container:this.div,isPinchingDisabled:()=>!this.isSelected,onPinchStart:this.#G.bind(this),onPinching:this.#O.bind(this),onPinchEnd:this.#H.bind(this),signal:this._uiManager._signal})}rebuild(){this.#P(),this.#U()}rotate(e){}resize(){}serializeDeleted(){return{id:this.annotationElementId,deleted:!0,pageIndex:this.pageIndex,popupRef:this._initialData?.popupRef||""}}serialize(e=!1,n=null){return{annotationType:this.mode,pageIndex:this.pageIndex,rect:this.getPDFRect(),rotation:this.rotation,structTreeParentId:this._structTreeParentId,popupRef:this._initialData?.popupRef||""}}static async deserialize(e,n,s){let i=new this.prototype.constructor({parent:n,id:s.getId(),uiManager:s,annotationElementId:e.annotationElementId,creationDate:e.creationDate,modificationDate:e.modificationDate});i.rotation=e.rotation,i.#e=e.accessibilityData,i._isCopy=e.isCopy||!1;let[r,a]=i.pageDimensions,[l,c,f,d]=i.getRectInCurrentCoords(e.rect,a);return i.x=l/r,i.y=c/a,i.width=f/r,i.height=d/a,i}get hasBeenModified(){return!!this.annotationElementId&&(this.deleted||this.serialize()!==null)}remove(){if(this.#d?.abort(),this.#d=null,!this.isEmpty())this.commit();if(this.#A?.destroy(),this.#A=null,this.parent)this.parent.remove(this);else this._uiManager.removeEditor(this);if(this.hideCommentPopup(),this.#y)clearTimeout(this.#y),this.#y=null;if(this.#F(),this.removeEditToolbar(),this.#k){for(let e of this.#k.values())clearTimeout(e);this.#k=null}this.parent=null,this.#h?.remove(),this.#h=null}get isResizable(){return!1}makeResizable(){if(this.isResizable)this.#R(),this.#l.classList.remove("hidden")}get toolbarPosition(){return null}get commentButtonPosition(){return this._uiManager.direction==="ltr"?[1,0]:[0,0]}get commentButtonPositionInPage(){let{commentButtonPosition:[e,n]}=this,[s,i,r,a]=this.getPDFRect();return[Ft._round(s+(r-s)*e),Ft._round(i+(a-i)*(1-n))]}get commentButtonColor(){return this._uiManager.makeCommentColor(this.getNonHCMColor(),this.opacity)}get commentPopupPosition(){return this.#s.commentPopupPositionInLayer}set commentPopupPosition(e){this.#s.commentPopupPositionInLayer=e}hasDefaultPopupPosition(){return this.#s.hasDefaultPopupPosition()}get commentButtonWidth(){return this.#s.commentButtonWidth}get elementBeforePopup(){return this.div}setCommentButtonStates(e){this.#s?.setCommentButtonStates(e)}keydown(e){if(!this.isResizable||e.target!==this.div||e.key!=="Enter")return;this._uiManager.setSelected(this),this.#u={savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height};let n=this.#l.children;if(!this.#t){this.#t=Array.from(n);let a=this.#V.bind(this),l=this.#Y.bind(this),c=this._uiManager._signal;for(let f of this.#t){let d=f.getAttribute("data-resizer-name");f.setAttribute("role","spinbutton"),f.addEventListener("keydown",a,{signal:c}),f.addEventListener("blur",l,{signal:c}),f.addEventListener("focus",this.#W.bind(this,d),{signal:c}),f.setAttribute("data-l10n-id",Ft._l10nResizer[d])}}let s=this.#t[0],i=0;for(let a of n){if(a===s)break;i++}let r=(360-this.rotation+this.parentRotation)%360/90*(this.#t.length/4);if(r!==i){if(r<i)for(let l=0;l<i-r;l++)this.#l.append(this.#l.firstElementChild);else if(r>i)for(let l=0;l<r-i;l++)this.#l.firstElementChild.before(this.#l.lastElementChild);let a=0;for(let l of n){let f=this.#t[a++].getAttribute("data-resizer-name");l.setAttribute("data-l10n-id",Ft._l10nResizer[f])}}this.#K(0),this.#w=!0,this.#l.firstElementChild.focus({focusVisible:!0}),e.preventDefault(),e.stopImmediatePropagation()}#V(e){Ft._resizerKeyboardManager.exec(this,e)}#Y(e){if(this.#w&&e.relatedTarget?.parentNode!==this.#l)this.#F()}#W(e){this.#p=this.#w?e:""}#K(e){if(!this.#t)return;for(let n of this.#t)n.tabIndex=e}_resizeWithKeyboard(e,n){if(!this.#w)return;this.#L(this.#p,{deltaX:e,deltaY:n,fromKeyboard:!0})}#F(){this.#w=!1,this.#K(-1),this.#M()}_stopResizingWithKeyboard(){this.#F(),this.div.focus()}select(){if(this.isSelected&&this._editToolbar){this._editToolbar.show();return}if(this.isSelected=!0,this.makeResizable(),this.div?.classList.add("selectedEditor"),!this._editToolbar){this.addEditToolbar().then(()=>{if(this.div?.classList.contains("selectedEditor"))this._editToolbar?.show()});return}this._editToolbar?.show(),this.#n?.toggleAltTextBadge(!1)}focus(){if(this.div&&!this.div.contains(document.activeElement))setTimeout(()=>this.div?.focus({preventScroll:!0}),0)}unselect(){if(!this.isSelected)return;if(this.isSelected=!1,this.#l?.classList.add("hidden"),this.div?.classList.remove("selectedEditor"),this.div?.contains(document.activeElement))this._uiManager.currentLayer.div.focus({preventScroll:!0});this._editToolbar?.hide(),this.#n?.toggleAltTextBadge(!0),this.hideCommentPopup()}hideCommentPopup(){if(this.hasComment)this._uiManager.toggleComment(null)}updateParams(e,n){}disableEditing(){}enableEditing(){}get canChangeContent(){return!1}enterInEditMode(){if(!this.canChangeContent)return;this.enableEditMode(),this.div.focus()}dblclick(e){if(e.target.nodeName==="BUTTON")return;this.enterInEditMode(),this.parent.updateToolbar({mode:this.constructor._editorType,editId:this.uid})}getElementForAltText(){return this.div}get contentDiv(){return this.div}get isEditing(){return this.#m}set isEditing(e){if(this.#m=e,!this.parent)return;if(e)this.parent.setSelected(this),this.parent.setActiveEditor(this);else this.parent.setActiveEditor(null)}static get MIN_SIZE(){return 16}static canCreateNewEmptyEditor(){return!0}get telemetryInitialData(){return{action:"added"}}get telemetryFinalData(){return null}_reportTelemetry(e,n=!1){if(n){this.#k||=new Map;let{action:s}=e,i=this.#k.get(s);if(i)clearTimeout(i);i=setTimeout(()=>{if(this._reportTelemetry(e),this.#k.delete(s),this.#k.size===0)this.#k=null},Ft._telemetryTimeout),this.#k.set(s,i);return}e.type||=this.editorType,this._uiManager._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:e}})}show(e=this._isVisible){this.div.classList.toggle("hidden",!e),this._isVisible=e}enable(){if(this.div)this.div.tabIndex=0;this.#a=!1}disable(){if(this.div)this.div.tabIndex=-1;this.#a=!0}updateFakeAnnotationElement(e){if(!this.#h&&!this.deleted){this.#h=e.addFakeAnnotation(this);return}if(this.deleted){this.#h.remove(),this.#h=null;return}if(this.hasEditedComment||this._hasBeenMoved||this._hasBeenResized)this.#h.updateEdited({rect:this.getPDFRect(),popup:this.comment})}renderAnnotationElement(e){if(this.deleted)return e.hide(),null;let n=e.container.querySelector(".annotationContent");if(!n)n=document.createElement("div"),n.classList.add("annotationContent",this.editorType),e.container.prepend(n);else if(n.nodeName==="CANVAS"){let s=n;n=document.createElement("div"),n.classList.add("annotationContent",this.editorType),s.before(n)}return n}resetAnnotationElement(e){let{firstElementChild:n}=e.container;if(n?.nodeName==="DIV"&&n.classList.contains("annotationContent"))n.remove()}}class I7 extends Ft{constructor(e){super(e);this.annotationElementId=e.annotationElementId,this.deleted=!0}serialize(){return this.serializeDeleted()}}var Q8=3285377520,Hr=4294901760,Ya=65535;class fm{constructor(e){this.h1=e?e&4294967295:Q8,this.h2=e?e&4294967295:Q8}update(e){let n,s;if(typeof e==="string"){n=new Uint8Array(e.length*2),s=0;for(let A=0,T=e.length;A<T;A++){let R=e.charCodeAt(A);if(R<=255)n[s++]=R;else n[s++]=R>>>8,n[s++]=R&255}}else if(ArrayBuffer.isView(e))n=e.slice(),s=n.byteLength;else throw Error("Invalid data format, must be a string or TypedArray.");let i=s>>2,r=s-i*4,a=new Uint32Array(n.buffer,0,i),l=0,c=0,f=this.h1,d=this.h2,b=3432918353,y=461845907,v=b&Ya,k=y&Ya;for(let A=0;A<i;A++)if(A&1)l=a[A],l=l*b&Hr|l*v&Ya,l=l<<15|l>>>17,l=l*y&Hr|l*k&Ya,f^=l,f=f<<13|f>>>19,f=f*5+3864292196;else c=a[A],c=c*b&Hr|c*v&Ya,c=c<<15|c>>>17,c=c*y&Hr|c*k&Ya,d^=c,d=d<<13|d>>>19,d=d*5+3864292196;switch(l=0,r){case 3:l^=n[i*4+2]<<16;case 2:l^=n[i*4+1]<<8;case 1:if(l^=n[i*4],l=l*b&Hr|l*v&Ya,l=l<<15|l>>>17,l=l*y&Hr|l*k&Ya,i&1)f^=l;else d^=l}this.h1=f,this.h2=d}hexdigest(){let e=this.h1,n=this.h2;return e^=n>>>1,e=e*3981806797&Hr|e*36045&Ya,n=n*4283543511&Hr|((n<<16|e>>>16)*2950163797&Hr)>>>16,e^=n>>>1,e=e*444984403&Hr|e*60499&Ya,n=n*3301882366&Hr|((n<<16|e>>>16)*3120437893&Hr)>>>16,e^=n>>>1,(e>>>0).toString(16).padStart(8,"0")+(n>>>0).toString(16).padStart(8,"0")}}var au=Object.freeze({map:null,hash:"",transfer:void 0});class Am{#e=!1;#t=null;#n=null;#s=new Map;onSetModified=null;onResetModified=null;onAnnotationEditor=null;getValue(e,n){let s=this.#s.get(e);if(s===void 0)return n;return Object.assign(n,s)}getRawValue(e){return this.#s.get(e)}remove(e){let n=this.#s.get(e);if(n===void 0)return;if(n instanceof Ft)this.#n.delete(n.annotationElementId);if(this.#s.delete(e),this.#s.size===0)this.resetModified();if(this.#s.values().some((s)=>s instanceof Ft))return;this.onAnnotationEditor?.(null)}setValue(e,n){let s=this.#s.get(e),i=!1;if(s!==void 0){for(let[r,a]of Object.entries(n))if(s[r]!==a)i=!0,s[r]=a}else i=!0,this.#s.set(e,n);if(i)this.#i();if(n instanceof Ft)(this.#n||=new Map).set(n.annotationElementId,n),this.onAnnotationEditor?.(n.constructor._type)}has(e){return this.#s.has(e)}get size(){return this.#s.size}#i(){if(!this.#e)this.#e=!0,this.onSetModified?.()}resetModified(){if(this.#e)this.#e=!1,this.onResetModified?.()}get print(){return new d2(this)}get serializable(){if(this.#s.size===0)return au;let e=new Map,n=new fm,s=[],i=Object.create(null),r=!1;for(let[a,l]of this.#s){let c=l instanceof Ft?l.serialize(!1,i):l;if(l.page)l.pageIndex=l.page._pageIndex,delete l.page;if(c)e.set(a,c),n.update(`${a}:${JSON.stringify(c)}`),r||=!!c.bitmap}if(r){for(let a of e.values())if(a.bitmap)s.push(a.bitmap)}return e.size>0?{map:e,hash:n.hexdigest(),transfer:s}:au}get editorStats(){let e=null,n=new Map,s=0,i=0;for(let r of this.#s.values()){if(!(r instanceof Ft)){if(r.popup)if(r.popup.deleted)i+=1;else s+=1;continue}if(r.isCommentDeleted)i+=1;else if(r.hasEditedComment)s+=1;let a=r.telemetryFinalData;if(!a)continue;let{type:l}=a;n.getOrInsertComputed(l,()=>Object.getPrototypeOf(r).constructor),e||=Object.create(null);let c=e[l]||=new Map;for(let[f,d]of Object.entries(a)){if(f==="type")continue;let b=c.getOrInsertComputed(f,a2);b.set(d,(b.get(d)??0)+1)}}if(i>0||s>0)e||=Object.create(null),e.comments={deleted:i,edited:s};if(!e)return null;for(let[r,a]of n)e[r]=a.computeTelemetryFinalData(e[r]);return e}resetModifiedIds(){this.#t=null}updateEditor(e,n){let s=this.#n?.get(e);if(s)return s.updateFromAnnotationLayer(n),!0;return!1}getEditor(e){return this.#n?.get(e)||null}get modifiedIds(){if(this.#t)return this.#t;let e=[];if(this.#n)for(let s of this.#n.values()){if(!s.serialize())continue;e.push(s.annotationElementId)}let n="";if(e.length){let s=new fm;s.update(e.join(",")),n=s.hexdigest()}return this.#t={ids:new Set(e),hash:n}}[Symbol.iterator](){return this.#s.entries()}}class d2 extends Am{#e=au;constructor(e){super();let{serializable:n}=e;if(n===au)return;let{map:s,hash:i,transfer:r}=n,a=structuredClone(s,r?{transfer:r}:null);this.#e={map:a,hash:i,transfer:[]}}get print(){Dn("Should not call PrintAnnotationStorage.print")}get serializable(){return this.#e}get modifiedIds(){return Pt(this,"modifiedIds",{ids:new Set,hash:""})}}var kf="__forcedDependency",{floor:J8,ceil:Z8}=Math;function e7(e,n,s,i,r,a){e[n*4+0]=Math.min(e[n*4+0],s),e[n*4+1]=Math.min(e[n*4+1],i),e[n*4+2]=Math.max(e[n*4+2],r),e[n*4+3]=Math.max(e[n*4+3],a)}function uM(e,n,s,i,r){let a;if(e){if(e<0)a=r[0],r[0]=r[2],r[2]=a;if(r[0]*=e,r[2]*=e,n<0)a=r[1],r[1]=r[3],r[3]=a;r[1]*=n,r[3]*=n}else r.fill(0);r[0]+=s,r[1]+=i,r[2]+=s,r[3]+=i}var t2=new Uint32Array(new Uint8Array([255,255,0,0]).buffer)[0];class R7{#e;#t;constructor(e,n){this.#e=e,this.#t=n}get length(){return this.#e.length}isEmpty(e){return this.#e[e]===t2}minX(e){return this.#t[e*4+0]/256}minY(e){return this.#t[e*4+1]/256}maxX(e){return(this.#t[e*4+2]+1)/256}maxY(e){return(this.#t[e*4+3]+1)/256}}var t7=(e,n)=>e?.getOrInsertComputed(n,()=>({dependencies:new Set,isRenderingOperation:!1}));class D7{#e=[[1,0,0,1,0,0]];#t=[-1/0,-1/0,1/0,1/0];#n=new Float64Array(qo);_pendingBBoxIdx=-1;#s;#i;#a;#r;_savesStack=[];_markedContentStack=[];constructor(e,n){this.#s=e.width,this.#i=e.height,this.#o(n)}growOperationsCount(e){if(e>=this.#r.length)this.#o(e,this.#r)}#o(e,n){let s=new ArrayBuffer(e*4);if(this.#a=new Uint8ClampedArray(s),this.#r=new Uint32Array(s),n&&n.length>0)this.#r.set(n),this.#r.fill(t2,n.length);else this.#r.fill(t2)}get clipBox(){return this.#t}save(e){return this.#t={__proto__:this.#t},this._savesStack.push(e),this}restore(e,n){let s=Object.getPrototypeOf(this.#t);if(s===null)return this;this.#t=s;let i=this._savesStack.pop();if(i!==void 0)n?.(i,e),this.#r[e]=this.#r[i];return this}recordOpenMarker(e){return this._savesStack.push(e),this}getOpenMarker(){return this._savesStack.length===0?null:this._savesStack.at(-1)}recordCloseMarker(e,n){let s=this._savesStack.pop();if(s!==void 0)n?.(s,e),this.#r[e]=this.#r[s];return this}beginMarkedContent(e){return this._markedContentStack.push(e),this}endMarkedContent(e,n){let s=this._markedContentStack.pop();if(s!==void 0)n?.(s,e),this.#r[e]=this.#r[s];return this}pushBaseTransform(e){return this.#e.push(ut.multiplyByDOMMatrix(this.#e.at(-1),e.getTransform())),this}popBaseTransform(){if(this.#e.length>1)this.#e.pop();return this}resetBBox(e){if(this._pendingBBoxIdx!==e)this._pendingBBoxIdx=e,this.#n.set(qo,0);return this}recordClipBox(e,n,s,i,r,a){let l=ut.multiplyByDOMMatrix(this.#e.at(-1),n.getTransform()),c=qo.slice();ut.axialAlignedBoundingBox([s,r,i,a],l,c);let f=ut.intersect(this.#t,c);if(f)this.#t[0]=f[0],this.#t[1]=f[1],this.#t[2]=f[2],this.#t[3]=f[3];else this.#t[0]=this.#t[1]=1/0,this.#t[2]=this.#t[3]=-1/0;return this}recordBBox(e,n,s,i,r,a){let l=this.#t;if(l[0]===1/0)return this;let c=ut.multiplyByDOMMatrix(this.#e.at(-1),n.getTransform());if(l[0]===-1/0)return ut.axialAlignedBoundingBox([s,r,i,a],c,this.#n),this;let f=qo.slice();return ut.axialAlignedBoundingBox([s,r,i,a],c,f),this.#n[0]=vs(f[0],l[0],this.#n[0]),this.#n[1]=vs(f[1],l[1],this.#n[1]),this.#n[2]=vs(f[2],this.#n[2],l[2]),this.#n[3]=vs(f[3],this.#n[3],l[3]),this}recordFullPageBBox(e){return this.#n[0]=Math.max(0,this.#t[0]),this.#n[1]=Math.max(0,this.#t[1]),this.#n[2]=Math.min(this.#s,this.#t[2]),this.#n[3]=Math.min(this.#i,this.#t[3]),this}recordOperation(e,n=!1,s){if(this._pendingBBoxIdx!==e)return this;let i=J8(this.#n[0]*256/this.#s),r=J8(this.#n[1]*256/this.#i),a=Z8(this.#n[2]*256/this.#s),l=Z8(this.#n[3]*256/this.#i);if(e7(this.#a,e,i,r,a,l),s){for(let c of s)for(let f of c)if(f!==e)e7(this.#a,f,i,r,a,l)}if(!n)this._pendingBBoxIdx=-1;return this}bboxToClipBoxDropOperation(e){if(this._pendingBBoxIdx===e)this._pendingBBoxIdx=-1,this.#t[0]=Math.max(this.#t[0],this.#n[0]),this.#t[1]=Math.max(this.#t[1],this.#n[1]),this.#t[2]=Math.min(this.#t[2],this.#n[2]),this.#t[3]=Math.min(this.#t[3],this.#n[3]);return this}take(){return new R7(this.#r,this.#a)}takeDebugMetadata(){throw Error("Unreachable")}recordSimpleData(e,n){return this}recordIncrementalData(e,n){return this}resetIncrementalData(e,n){return this}recordNamedData(e,n){return this}recordSimpleDataFromNamed(e,n,s){return this}recordFutureForcedDependency(e,n){return this}inheritSimpleDataAsFutureForcedDependencies(e){return this}inheritPendingDependenciesAsFutureForcedDependencies(){return this}recordCharacterBBox(e,n,s,i=1,r=0,a=0,l){return this}getSimpleIndex(e){return}recordDependencies(e,n){return this}recordNamedDependency(e,n){return this}recordShowTextOperation(e,n=!1){return this}}class q7{#e={__proto__:null};#t={__proto__:null,transform:[],moveText:[],sameLineText:[],[kf]:[]};#n=new Map;#s=new Set;#i=new Map;#a;#r;#o;constructor(e,n=!1){if(this.#o=e,n)this.#a=new Map,this.#r=(s,i)=>{t7(this.#a,i).dependencies.add(s)}}get clipBox(){return this.#o.clipBox}growOperationsCount(e){this.#o.growOperationsCount(e)}save(e){return this.#e={__proto__:this.#e},this.#t={__proto__:this.#t,transform:{__proto__:this.#t.transform},moveText:{__proto__:this.#t.moveText},sameLineText:{__proto__:this.#t.sameLineText},[kf]:{__proto__:this.#t[kf]}},this.#o.save(e),this}restore(e){this.#o.restore(e,this.#r);let n=Object.getPrototypeOf(this.#e);if(n===null)return this;return this.#e=n,this.#t=Object.getPrototypeOf(this.#t),this}recordOpenMarker(e){return this.#o.recordOpenMarker(e,this.#r),this}getOpenMarker(){return this.#o.getOpenMarker()}recordCloseMarker(e){return this.#o.recordCloseMarker(e,this.#r),this}beginMarkedContent(e){return this.#o.beginMarkedContent(e),this}endMarkedContent(e){return this.#o.endMarkedContent(e,this.#r),this}pushBaseTransform(e){return this.#o.pushBaseTransform(e),this}popBaseTransform(){return this.#o.popBaseTransform(),this}recordSimpleData(e,n){return this.#e[e]=n,this}recordIncrementalData(e,n){return this.#t[e].push(n),this}resetIncrementalData(e,n){return this.#t[e].length=0,this}recordNamedData(e,n){return this.#n.set(e,n),this}recordSimpleDataFromNamed(e,n,s){this.#e[e]=this.#n.get(n)??s}recordFutureForcedDependency(e,n){return this.recordIncrementalData(kf,n),this}inheritSimpleDataAsFutureForcedDependencies(e){for(let n of e)if(n in this.#e)this.recordFutureForcedDependency(n,this.#e[n]);return this}inheritPendingDependenciesAsFutureForcedDependencies(){for(let e of this.#s)this.recordFutureForcedDependency(kf,e);return this}resetBBox(e){return this.#o.resetBBox(e),this}recordClipBox(e,n,s,i,r,a){return this.#o.recordClipBox(e,n,s,i,r,a),this}recordBBox(e,n,s,i,r,a){return this.#o.recordBBox(e,n,s,i,r,a),this}recordCharacterBBox(e,n,s,i=1,r=0,a=0,l){let c=s.bbox,f,d;if(c){if(f=c[2]!==c[0]&&c[3]!==c[1]&&this.#i.get(s),f!==!1){if(d=[0,0,0,0],ut.axialAlignedBoundingBox(c,s.fontMatrix,d),i!==1||r!==0||a!==0)uM(i,-i,r,a,d);if(f)return this.recordBBox(e,n,d[0],d[2],d[1],d[3])}}if(!l)return this.recordFullPageBBox(e);let b=l();if(c&&d&&f===void 0){if(f=d[0]<=r-b.actualBoundingBoxLeft&&d[2]>=r+b.actualBoundingBoxRight&&d[1]<=a-b.actualBoundingBoxAscent&&d[3]>=a+b.actualBoundingBoxDescent,this.#i.set(s,f),f)return this.recordBBox(e,n,d[0],d[2],d[1],d[3])}return this.recordBBox(e,n,r-b.actualBoundingBoxLeft,r+b.actualBoundingBoxRight,a-b.actualBoundingBoxAscent,a+b.actualBoundingBoxDescent)}recordFullPageBBox(e){return this.#o.recordFullPageBBox(e),this}getSimpleIndex(e){return this.#e[e]}recordDependencies(e,n){let s=this.#s,i=this.#e,r=this.#t;for(let a of n)if(a in this.#e)s.add(i[a]);else if(a in r)r[a].forEach(s.add,s);return this}recordNamedDependency(e,n){if(this.#n.has(n))this.#s.add(this.#n.get(n));return this}recordOperation(e,n=!1){if(this.recordDependencies(e,[kf]),this.#a){let i=t7(this.#a,e),{dependencies:r}=i;this.#s.forEach(r.add,r),this.#o._savesStack.forEach(r.add,r),this.#o._markedContentStack.forEach(r.add,r),r.delete(e),i.isRenderingOperation=!0}let s=!n&&e===this.#o._pendingBBoxIdx;if(this.#o.recordOperation(e,n,[this.#s,this.#o._savesStack,this.#o._markedContentStack]),s)this.#s.clear();return this}recordShowTextOperation(e,n=!1){let s=Array.from(this.#s);this.recordOperation(e,n),this.recordIncrementalData("sameLineText",e);for(let i of s)this.recordIncrementalData("sameLineText",i);return this}bboxToClipBoxDropOperation(e,n=!1){let s=!n&&e===this.#o._pendingBBoxIdx;if(this.#o.bboxToClipBoxDropOperation(e),s)this.#s.clear();return this}take(){return this.#i.clear(),this.#o.take()}takeDebugMetadata(){return this.#a}}class ou{#e;#t;#n;#s=0;#i=0;constructor(e,n,s){if(e instanceof ou&&e.#n===!!s)return e;this.#e=e,this.#t=n,this.#n=!!s}get clipBox(){return this.#e.clipBox}growOperationsCount(){throw Error("Unreachable")}save(e){return this.#i++,this.#e.save(this.#t),this}restore(e){if(this.#i>0)this.#e.restore(this.#t),this.#i--;return this}recordOpenMarker(e){return this.#s++,this}getOpenMarker(){return this.#s>0?this.#t:this.#e.getOpenMarker()}recordCloseMarker(e){return this.#s--,this}beginMarkedContent(e){return this}endMarkedContent(e){return this}pushBaseTransform(e){return this.#e.pushBaseTransform(e),this}popBaseTransform(){return this.#e.popBaseTransform(),this}recordSimpleData(e,n){return this.#e.recordSimpleData(e,this.#t),this}recordIncrementalData(e,n){return this.#e.recordIncrementalData(e,this.#t),this}resetIncrementalData(e,n){return this.#e.resetIncrementalData(e,this.#t),this}recordNamedData(e,n){return this}recordSimpleDataFromNamed(e,n,s){return this.#e.recordSimpleDataFromNamed(e,n,this.#t),this}recordFutureForcedDependency(e,n){return this.#e.recordFutureForcedDependency(e,this.#t),this}inheritSimpleDataAsFutureForcedDependencies(e){return this.#e.inheritSimpleDataAsFutureForcedDependencies(e),this}inheritPendingDependenciesAsFutureForcedDependencies(){return this.#e.inheritPendingDependenciesAsFutureForcedDependencies(),this}resetBBox(e){if(!this.#n)this.#e.resetBBox(this.#t);return this}recordClipBox(e,n,s,i,r,a){if(!this.#n)this.#e.recordClipBox(this.#t,n,s,i,r,a);return this}recordBBox(e,n,s,i,r,a){if(!this.#n)this.#e.recordBBox(this.#t,n,s,i,r,a);return this}recordCharacterBBox(e,n,s,i,r,a,l){if(!this.#n)this.#e.recordCharacterBBox(this.#t,n,s,i,r,a,l);return this}recordFullPageBBox(e){if(!this.#n)this.#e.recordFullPageBBox(this.#t);return this}getSimpleIndex(e){return this.#e.getSimpleIndex(e)}recordDependencies(e,n){return this.#e.recordDependencies(this.#t,n),this}recordNamedDependency(e,n){return this.#e.recordNamedDependency(this.#t,n),this}recordOperation(e){return this.#e.recordOperation(this.#t,!0),this}recordShowTextOperation(e){return this.#e.recordShowTextOperation(this.#t,!0),this}bboxToClipBoxDropOperation(e){if(!this.#n)this.#e.bboxToClipBoxDropOperation(this.#t,!0);return this}take(){throw Error("Unreachable")}takeDebugMetadata(){throw Error("Unreachable")}}var Gr={stroke:["path","transform","filter","strokeColor","strokeAlpha","lineWidth","lineCap","lineJoin","miterLimit","dash"],fill:["path","transform","filter","fillColor","fillAlpha","globalCompositeOperation","SMask"],imageXObject:["transform","SMask","filter","fillAlpha","strokeAlpha","globalCompositeOperation"],rawFillPath:["filter","fillColor","fillAlpha"],showText:["transform","leading","charSpacing","wordSpacing","hScale","textRise","moveText","textMatrix","font","fontObj","filter","fillColor","textRenderingMode","SMask","fillAlpha","strokeAlpha","globalCompositeOperation","sameLineText"],transform:["transform"],transformAndFill:["transform","fillColor"]};class hm{#e;#t;#n=4;#s=0;#i=new hm.#a(this.#n*6);static#a=Xn.isFloat16ArraySupported?Float16Array:Float32Array;constructor(e){this.#e=e.width,this.#t=e.height}record(e,n,s,i){if(this.#s===this.#n){this.#n*=2;let l=new hm.#a(this.#n*6);l.set(this.#i),this.#i=l}let r=gs(e),a;if(i[0]!==1/0){let l=qo.slice();ut.axialAlignedBoundingBox([0,-s,n,0],r,l);let c=ut.intersect(i,l);if(!c)return;let[f,d,b,y]=c;if(f!==l[0]||d!==l[1]||b!==l[2]||y!==l[3]){let v=Math.atan2(r[1],r[0]),k=Math.abs(Math.sin(v)),A=Math.abs(Math.cos(v));if(k<0.000001||A<0.000001||Math.abs(k-A)<0.000001)a=[f,d,f,y,b,d];else{let T=b-f,R=y-d,D=k*k,U=A*A,Y=A*k,X=U-D,J=(R*U-T*Y)/X,ee=(R*Y-T*D)/X;a=[f+ee,d,f,d+J,b,y-J]}}}if(!a)a=[0,-s,0,0,n,-s],ut.applyTransform(a,r,0),ut.applyTransform(a,r,2),ut.applyTransform(a,r,4);a[0]/=this.#e,a[1]/=this.#t,a[2]/=this.#e,a[3]/=this.#t,a[4]/=this.#e,a[5]/=this.#t,this.#i.set(a,this.#s*6),this.#s++}take(){return this.#i.subarray(0,this.#s*6)}}var n7=/\p{Cc}/u;function dM(e){let n=e[0];if(e.length<2||n!=='"'&&n!=="'"||e.at(-1)!==n)return!1;let s=e.length-1;for(let i=1;i<s;i++){let r=e[i];if(r===n||n7.test(r))return!1;if(r==="\\"){if(++i>=s||n7.test(e[i]))return!1}}return!0}function s7(e){if(dM(e))return e;return`"${e.replaceAll(/["\\\p{Cc}]/gu,(s)=>s==='"'||s==="\\"?`\\${s}`:`\\${s.codePointAt(0).toString(16)} `)}"`}class M7{#e=new Set;#t=null;constructor({ownerDocument:e=globalThis.document,styleElement:n=null}){this._document=e,this.nativeFontFaces=new Set,this.styleElement=null,this.loadingRequests=[],this.loadTestFontId=0}addNativeFontFace(e){this.nativeFontFaces.add(e),this._document.fonts.add(e)}removeNativeFontFace(e){this.nativeFontFaces.delete(e),this._document.fonts.delete(e)}insertRule(e){let n=this.#n();n.insertRule(e,n.cssRules.length)}#n(){if(this.#t)return this.#t;let e=this._document.defaultView?.CSSStyleSheet||globalThis.CSSStyleSheet;if(!this.styleElement&&e){let{adoptedStyleSheets:n}=this._document;if(n){let s=new e;return n.push(s),this.#t=s}}if(!this.styleElement)this.styleElement=this._document.createElement("style"),this._document.documentElement.getElementsByTagName("head")[0].append(this.styleElement);return this.#t=this.styleElement.sheet}clear(){for(let e of this.nativeFontFaces)this._document.fonts.delete(e);if(this.nativeFontFaces.clear(),this.#e.clear(),this.#t){let{adoptedStyleSheets:e}=this._document;if(e?.includes(this.#t))this._document.adoptedStyleSheets=e.filter((n)=>n!==this.#t);this.#t=null}if(this.styleElement)this.styleElement.remove(),this.styleElement=null}async loadSystemFont({systemFontInfo:e,disableFontFace:n,_inspectFont:s}){if(!e||this.#e.has(e.loadedName))return;if(Hs(!n,"loadSystemFont shouldn't be called when `disableFontFace` is set."),this.isFontLoadingAPISupported){let{loadedName:i,src:r,style:a}=e,l=new FontFace(i,r,a);this.addNativeFontFace(l);try{await l.load(),this.#e.add(i),s?.(e)}catch{fn(`Cannot load system font: ${e.baseFontName}, installing it could help to improve PDF rendering.`),this.removeNativeFontFace(l)}return}Dn("Not implemented: loadSystemFont without the Font Loading API.")}async bind(e){if(e.attached||e.missingFile&&!e.systemFontInfo)return;if(e.attached=!0,e.systemFontInfo){await this.loadSystemFont(e);return}if(this.isFontLoadingAPISupported){let s=e.createNativeFontFace();if(s){this.addNativeFontFace(s);try{await s.loaded}catch(i){throw fn(`Failed to load font '${s.family}': '${i}'.`),e.disableFontFace=!0,i}}return}let n=e.createFontFaceRule();if(n){if(this.insertRule(n),this.isSyncFontLoadingSupported)return;await new Promise((s)=>{let i=this._queueLoadingCallback(s);this._prepareFontLoadEvent(e,i)})}}get isFontLoadingAPISupported(){let e=!!this._document?.fonts;return Pt(this,"isFontLoadingAPISupported",e)}get isSyncFontLoadingSupported(){return Pt(this,"isSyncFontLoadingSupported",kr||Xn.platform.isFirefox)}_queueLoadingCallback(e){function n(){Hs(!i.done,"completeRequest() cannot be called twice."),i.done=!0;while(s.length>0&&s[0].done){let r=s.shift();setTimeout(r.callback,0)}}let{loadingRequests:s}=this,i={done:!1,complete:n,callback:e};return s.push(i),i}get _loadTestFont(){let e=atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQAFQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAAALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgAAAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACMAooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4DIP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAAAAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUAAQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgABAAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABYAAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAAAC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAAAAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQACAQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTjFQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==");return Pt(this,"_loadTestFont",e)}_prepareFontLoadEvent(e,n){function s(X,J){return X.charCodeAt(J)<<24|X.charCodeAt(J+1)<<16|X.charCodeAt(J+2)<<8|X.charCodeAt(J+3)&255}function i(X){return String.fromCharCode(X>>24&255,X>>16&255,X>>8&255,X&255)}function r(X,J,ee,te){let ne=X.substring(0,J),ie=X.substring(J+ee);return ne+te+ie}let a,l,c=this._document.createElement("canvas");c.width=1,c.height=1;let f=c.getContext("2d"),d=0;function b(X,J){if(++d>30){fn("Load test font never loaded."),J();return}if(f.font="30px "+X,f.fillText(".",0,20),f.getImageData(0,0,1,1).data[3]>0){J();return}setTimeout(b.bind(null,X,J))}let y=`lt${Date.now()}${this.loadTestFontId++}`,v=this._loadTestFont;v=r(v,976,y.length,y);let A=16,T=1482184792,R=s(v,A);for(a=0,l=y.length-3;a<l;a+=4)R=R-T+s(y,a)|0;if(a<y.length)R=R-T+s(y+"XXX",a)|0;v=r(v,A,4,i(R));let D=`url(data:font/opentype;base64,${btoa(v)});`,U=`@font-face {font-family:"${y}";src:${D}}`;this.insertRule(U);let Y=this._document.createElement("div");Y.style.visibility="hidden",Y.style.width=Y.style.height="10px",Y.style.position="absolute",Y.style.top=Y.style.left="0px";for(let X of[e.loadedName,y]){let J=this._document.createElement("span");J.textContent="Hi",J.style.fontFamily=X,Y.append(J)}this._document.body.append(Y),b(y,()=>{Y.remove(),n.complete()})}}class F7{compiledGlyphs=Object.create(null);#e;constructor(e,n=null,s,i){if(this.#e=e,this._inspectFont=n,s)this.charProcOperatorList=s;if(i)Object.assign(this,i)}createNativeFontFace(){if(!this.data||this.disableFontFace)return null;let e;if(!this.cssFontInfo)e=new FontFace(this.loadedName,this.data,{});else{let n={weight:this.cssFontInfo.fontWeight};if(this.cssFontInfo.italicAngle)n.style=`oblique ${this.cssFontInfo.italicAngle}deg`;e=new FontFace(s7(this.cssFontInfo.fontFamily),this.data,n)}return this._inspectFont?.(this),e}createFontFaceRule(){if(!this.data||this.disableFontFace)return null;let e=`url(data:${this.mimetype};base64,${this.data.toBase64()});`,n;if(!this.cssFontInfo)n=`@font-face {font-family:"${this.loadedName}";src:${e}}`;else{let s=`font-weight: ${this.cssFontInfo.fontWeight};`;if(this.cssFontInfo.italicAngle)s+=`font-style: oblique ${this.cssFontInfo.italicAngle}deg;`;n=`@font-face {font-family:${s7(this.cssFontInfo.fontFamily)};${s}src:${e}}`}return this._inspectFont?.(this,e),n}getPathGenerator(e,n){if(this.compiledGlyphs[n]!==void 0)return this.compiledGlyphs[n];let s=this.loadedName+"_path_"+n,i;try{i=e.get(s)}catch(a){fn(`getPathGenerator - ignoring character: "${a}".`)}let r=T7(i?.path);if(!this.fontExtraProperties)e.delete(s);return this.compiledGlyphs[n]=r}get black(){return this.#e.black}get bold(){return this.#e.bold}get disableFontFace(){return this.#e.disableFontFace}set disableFontFace(e){Pt(this,"disableFontFace",!!e)}get fontExtraProperties(){return this.#e.fontExtraProperties}get isInvalidPDFjsFont(){return this.#e.isInvalidPDFjsFont}get isType3Font(){return this.#e.isType3Font}get italic(){return this.#e.italic}get missingFile(){return this.#e.missingFile}get remeasure(){return this.#e.remeasure}get vertical(){return this.#e.vertical}get ascent(){return this.#e.ascent}get defaultWidth(){return this.#e.defaultWidth}get descent(){return this.#e.descent}get bbox(){return this.#e.bbox}get fontMatrix(){return this.#e.fontMatrix}get fallbackName(){return this.#e.fallbackName}get loadedName(){return this.#e.loadedName}get mimetype(){return this.#e.mimetype}get name(){return this.#e.name}get data(){return this.#e.data}clearData(){this.#e.clearData()}get cssFontInfo(){return this.#e.cssFontInfo}get systemFontInfo(){return this.#e.systemFontInfo}get defaultVMetrics(){return this.#e.defaultVMetrics}}class L7{static strings=["fontFamily","fontWeight","italicAngle"]}class O7{static strings=["css","loadedName","baseFontName","src"]}class $r{static bools=["black","bold","disableFontFace","fontExtraProperties","isInvalidPDFjsFont","isType3Font","italic","missingFile","remeasure","vertical"];static numbers=["ascent","defaultWidth","descent"];static strings=["fallbackName","loadedName","mimetype","name"];static OFFSET_NUMBERS=Math.ceil(this.bools.length*2/8);static OFFSET_BBOX=this.OFFSET_NUMBERS+this.numbers.length*8;static OFFSET_FONT_MATRIX=this.OFFSET_BBOX+1+8;static OFFSET_DEFAULT_VMETRICS=this.OFFSET_FONT_MATRIX+1+48;static OFFSET_STRINGS=this.OFFSET_DEFAULT_VMETRICS+1+6}class kl{static KIND=0;static HAS_BBOX=1;static HAS_BACKGROUND=2;static SHADING_TYPE=3;static N_COORD=4;static N_COLOR=8;static N_STOP=12;static N_FIGURES=16}class fu{static get decoder(){return Pt(this,"decoder",new TextDecoder)}static get encoder(){return Pt(this,"encoder",new TextEncoder)}}class P7{#e;#t;constructor(e){this.#e=e,this.#t=new DataView(e)}#n(e){Hs(e<L7.strings.length,"Invalid string index");let{decoder:n}=fu,s=0;for(let r=0;r<e;r++)s+=this.#t.getUint32(s)+4;let i=this.#t.getUint32(s);return n.decode(new Uint8Array(this.#e,s+4,i))}get fontFamily(){return this.#n(0)}get fontWeight(){return this.#n(1)}get italicAngle(){return this.#n(2)}}class N7{#e;#t;constructor(e){this.#e=e,this.#t=new DataView(e)}get guessFallback(){return this.#t.getUint8(0)!==0}#n(e){Hs(e<O7.strings.length,"Invalid string index");let{decoder:n}=fu,s=5;for(let r=0;r<e;r++)s+=this.#t.getUint32(s)+4;let i=this.#t.getUint32(s);return n.decode(new Uint8Array(this.#e,s+4,i))}get css(){return this.#n(0)}get loadedName(){return this.#n(1)}get baseFontName(){return this.#n(2)}get src(){return this.#n(3)}get style(){let{decoder:e}=fu,n=1;n+=4+this.#t.getUint32(n);let s=this.#t.getUint32(n),i=e.decode(new Uint8Array(this.#e,n+4,s));n+=4+s;let r=this.#t.getUint32(n),a=e.decode(new Uint8Array(this.#e,n+4,r));return{style:i,weight:a}}}class B7{#e;#t;constructor({buffer:e,extra:n}){if(this.#e=e,this.#t=new DataView(e),n)Object.assign(this,n)}#n(e){Hs(e<$r.bools.length,"Invalid boolean index");let n=Math.floor(e/4),s=e*2%8,i=this.#t.getUint8(n)>>s&3;return i===0?void 0:i===2}get black(){return this.#n(0)}get bold(){return this.#n(1)}get disableFontFace(){return this.#n(2)}get fontExtraProperties(){return this.#n(3)}get isInvalidPDFjsFont(){return this.#n(4)}get isType3Font(){return this.#n(5)}get italic(){return this.#n(6)}get missingFile(){return this.#n(7)}get remeasure(){return this.#n(8)}get vertical(){return this.#n(9)}#s(e){return Hs(e<$r.numbers.length,"Invalid number index"),this.#t.getFloat64($r.OFFSET_NUMBERS+e*8)}get ascent(){return this.#s(0)}get defaultWidth(){return this.#s(1)}get descent(){return this.#s(2)}#i(e,n,s,i){let r=this.#t.getUint8(e);if(r===0)return;Hs(r===n,"Invalid array length."),e+=1;let a=Array(r);for(let l=0;l<r;l++)a[l]=this.#t[s](e,!0),e+=i;return a}get bbox(){return this.#i($r.OFFSET_BBOX,4,"getInt16",2)}get fontMatrix(){return this.#i($r.OFFSET_FONT_MATRIX,6,"getFloat64",8)}get defaultVMetrics(){return this.#i($r.OFFSET_DEFAULT_VMETRICS,3,"getInt16",2)}#a(e){Hs(e<$r.strings.length,"Invalid string index");let{decoder:n}=fu,s=$r.OFFSET_STRINGS+4;for(let r=0;r<e;r++)s+=this.#t.getUint32(s)+4;let i=this.#t.getUint32(s);return n.decode(new Uint8Array(this.#e,s+4,i))}get fallbackName(){return this.#a(0)}get loadedName(){return this.#a(1)}get mimetype(){return this.#a(2)}get name(){return this.#a(3)}#r(){let e=$r.OFFSET_STRINGS,n=this.#t.getUint32(e);e+=4+n;let s=this.#t.getUint32(e);e+=4+s;let i=this.#t.getUint32(e);e+=4+i;let r=this.#t.getUint32(e);return{offset:e,length:r}}get data(){let{offset:e,length:n}=this.#r();return n===0?void 0:new Uint8Array(this.#e,e+4,n)}clearData(){let{offset:e,length:n}=this.#r();if(n===0)return;this.#t.setUint32(e,0),this.#e=new Uint8Array(this.#e,0,e+4).slice().buffer,this.#t=new DataView(this.#e)}get cssFontInfo(){let e=$r.OFFSET_STRINGS,n=this.#t.getUint32(e);e+=4+n;let s=this.#t.getUint32(e);e+=4+s;let i=this.#t.getUint32(e);if(i===0)return null;let r=new Uint8Array(i);return r.set(new Uint8Array(this.#e,e+4,i)),new P7(r.buffer)}get systemFontInfo(){let e=$r.OFFSET_STRINGS,n=this.#t.getUint32(e);e+=4+n;let s=this.#t.getUint32(e);if(s===0)return null;let i=new Uint8Array(s);return i.set(new Uint8Array(this.#e,e+4,s)),new N7(i.buffer)}}class H7{constructor(e){this.buffer=e,this.view=new DataView(e),this.data=new Uint8Array(e)}getIR(){let e=this.view,n=this.data[kl.KIND],s=!!this.data[kl.HAS_BBOX],i=!!this.data[kl.HAS_BACKGROUND],r=e.getUint32(kl.N_COORD,!0),a=e.getUint32(kl.N_COLOR,!0),l=e.getUint32(kl.N_STOP,!0),c=20,f=new Float32Array(this.buffer,c,r*2);c+=r*8;let d=new Uint8Array(this.buffer,c,a*4);c+=a*4;let b=[];for(let k=0;k<l;++k){let A=e.getFloat32(c,!0);c+=4;let T=e.getUint32(c,!0);c+=4,b.push([A,`#${T.toString(16).padStart(6,"0")}`])}let y=null;if(s){y=[];for(let k=0;k<4;++k)y.push(e.getFloat32(c,!0)),c+=4}let v=null;if(i)v=new Uint8Array(this.buffer,c,3),c+=3;if(n===1)return["RadialAxial","axial",y,b,Array.from(f.slice(0,2)),Array.from(f.slice(2,4)),null,null];if(n===2)return["RadialAxial","radial",y,b,[f[0],f[1]],[f[3],f[4]],f[2],f[5]];if(n===3){let k=this.data[kl.SHADING_TYPE],A=null;if(f.length>0){A=qo.slice();for(let T=0,R=f.length;T<R;T+=2)ut.pointBoundingBox(f[T],f[T+1],A)}return["Mesh",k,f,d,r,A,y,v]}throw Error(`Unsupported pattern kind: ${n}`)}}class U7{#e;constructor(e){this.#e=e}get path(){if(Xn.isFloat16ArraySupported)return new Float16Array(this.#e);return new Float32Array(this.#e)}}function mM(e){if(e instanceof URL)return e;if(typeof e==="string"){if(kr){if(/^[a-z][a-z0-9\-+.]+:/i.test(e))return new URL(e);let s=process.getBuiltinModule("url");return new URL(s.pathToFileURL(e))}let n=URL.parse(e,window.location);if(n)return n}throw Error("Invalid PDF url data: either string or URL-object is expected in the url property.")}function pM(e){if(kr&&typeof Buffer<"u"&&e instanceof Buffer)throw Error("Please provide binary data as `Uint8Array`, rather than `Buffer`.");if(e instanceof Uint8Array&&e.byteLength===e.buffer.byteLength)return e;if(typeof e==="string")return Sm(e);if(e instanceof ArrayBuffer||ArrayBuffer.isView(e)||typeof e==="object"&&!isNaN(e?.length))return new Uint8Array(e);throw Error("Invalid PDF binary data: either TypedArray, string, or array-like object is expected in the data property.")}function W0(e){if(typeof e!=="string")return null;if(e.endsWith("/"))return e;throw Error(`Invalid factory url: "${e}" must include trailing slash.`)}var n2=(e)=>typeof e==="object"&&Number.isInteger(e?.num)&&e.num>=0&&Number.isInteger(e?.gen)&&e.gen>=0,gM=(e)=>typeof e==="object"&&typeof e?.name==="string",wM=nM.bind(null,n2,gM);class z7{#e=new Map;#t=Promise.resolve();postMessage(e,n){let s={data:structuredClone(e,n?{transfer:n}:null)};this.#t.then(()=>{for(let[i]of this.#e)i.call(this,s)})}addEventListener(e,n,s=null){let i=null;if(s?.signal instanceof AbortSignal){let{signal:r}=s;if(r.aborted){fn("LoopbackPort - cannot use an `aborted` signal.");return}let a=()=>this.removeEventListener(e,n);i=()=>r.removeEventListener("abort",a),r.addEventListener("abort",a)}this.#e.set(n,i)}removeEventListener(e,n){this.#e.get(n)?.(),this.#e.delete(n)}terminate(){for(let[,e]of this.#e)e?.();this.#e.clear()}}var K0={DATA:1,ERROR:2},ai={CANCEL:1,CANCEL_COMPLETE:2,CLOSE:3,ENQUEUE:4,ERROR:5,PULL:6,PULL_COMPLETE:7,START_COMPLETE:8};function i7(){}function tr(e){if(e instanceof Fo||e instanceof om||e instanceof am||e instanceof iu||e instanceof sm)return e;if(!(e instanceof Error||typeof e==="object"&&e!==null))Dn('wrapReason: Expected "reason" to be a (possibly cloned) Error.');switch(e.name){case"AbortException":return new Fo(e.message);case"InvalidPDFException":return new om(e.message);case"PasswordException":return new am(e.message,e.code);case"ResponseException":return new iu(e.message,e.status,e.missing);case"UnknownErrorException":return new sm(e.message,e.details)}return new sm(e.message,e.toString())}class Tf{#e=new AbortController;constructor(e,n,s){this.sourceName=e,this.targetName=n,this.comObj=s,this.callbackId=1,this.streamId=1,this.streamSinks=Object.create(null),this.streamControllers=Object.create(null),this.callbackCapabilities=Object.create(null),this.actionHandler=Object.create(null),s.addEventListener("message",this.#t.bind(this),{signal:this.#e.signal})}#t({data:e}){if(e.targetName!==this.sourceName)return;if(e.stream){this.#s(e);return}if(e.callback){let s=e.callbackId,i=this.callbackCapabilities[s];if(!i)throw Error(`Cannot resolve callback ${s}`);if(delete this.callbackCapabilities[s],e.callback===K0.DATA)i.resolve(e.data);else if(e.callback===K0.ERROR)i.reject(tr(e.reason));else throw Error("Unexpected callback case");return}let n=this.actionHandler[e.action];if(!n)throw Error(`Unknown action from worker: ${e.action}`);if(e.callbackId){let s=this.sourceName,i=e.sourceName,r=this.comObj;Promise.try(n,e.data).then(function(a){r.postMessage({sourceName:s,targetName:i,callback:K0.DATA,callbackId:e.callbackId,data:a})},function(a){r.postMessage({sourceName:s,targetName:i,callback:K0.ERROR,callbackId:e.callbackId,reason:tr(a)})});return}if(e.streamId){this.#n(e);return}n(e.data)}on(e,n){let s=this.actionHandler;if(s[e])throw Error(`There is already an actionName called "${e}"`);s[e]=n}send(e,n,s){this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e,data:n},s)}sendWithPromise(e,n,s){let i=this.callbackId++,r=Promise.withResolvers();this.callbackCapabilities[i]=r;try{this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e,callbackId:i,data:n},s)}catch(a){r.reject(a)}return r.promise}sendWithStream(e,n,s,i){let r=this.streamId++,a=this.sourceName,l=this.targetName,c=this.comObj;return new ReadableStream({start:(f)=>{let d=Promise.withResolvers();return this.streamControllers[r]={controller:f,startCall:d,pullCall:null,cancelCall:null,isClosed:!1},c.postMessage({sourceName:a,targetName:l,action:e,streamId:r,data:n,desiredSize:f.desiredSize},i),d.promise},pull:(f)=>{let d=Promise.withResolvers();return this.streamControllers[r].pullCall=d,c.postMessage({sourceName:a,targetName:l,stream:ai.PULL,streamId:r,desiredSize:f.desiredSize}),d.promise},cancel:(f)=>{Hs(f instanceof Error,"cancel must have a valid reason");let d=Promise.withResolvers();return this.streamControllers[r].cancelCall=d,this.streamControllers[r].isClosed=!0,c.postMessage({sourceName:a,targetName:l,stream:ai.CANCEL,streamId:r,reason:tr(f)}),d.promise}},s)}#n(e){let n=e.streamId,s=this.sourceName,i=e.sourceName,r=this.comObj,a=this,l=this.actionHandler[e.action],c={enqueue(f,d=1,b){if(this.isCancelled)return;let y=this.desiredSize;if(this.desiredSize-=d,y>0&&this.desiredSize<=0)this.sinkCapability=Promise.withResolvers(),this.ready=this.sinkCapability.promise;r.postMessage({sourceName:s,targetName:i,stream:ai.ENQUEUE,streamId:n,chunk:f},b)},close(){if(this.isCancelled)return;this.isCancelled=!0,r.postMessage({sourceName:s,targetName:i,stream:ai.CLOSE,streamId:n}),delete a.streamSinks[n]},error(f){if(Hs(f instanceof Error,"error must have a valid reason"),this.isCancelled)return;this.isCancelled=!0,r.postMessage({sourceName:s,targetName:i,stream:ai.ERROR,streamId:n,reason:tr(f)})},sinkCapability:Promise.withResolvers(),onPull:null,onCancel:null,isCancelled:!1,desiredSize:e.desiredSize,ready:null};c.sinkCapability.resolve(),c.ready=c.sinkCapability.promise,this.streamSinks[n]=c,Promise.try(l,e.data,c).then(function(){r.postMessage({sourceName:s,targetName:i,stream:ai.START_COMPLETE,streamId:n,success:!0})},function(f){r.postMessage({sourceName:s,targetName:i,stream:ai.START_COMPLETE,streamId:n,reason:tr(f)})})}#s(e){let n=e.streamId,s=this.sourceName,i=e.sourceName,r=this.comObj,a=this.streamControllers[n],l=this.streamSinks[n];switch(e.stream){case ai.START_COMPLETE:if(e.success)a.startCall.resolve();else a.startCall.reject(tr(e.reason));break;case ai.PULL_COMPLETE:if(e.success)a.pullCall.resolve();else a.pullCall.reject(tr(e.reason));break;case ai.PULL:if(!l){r.postMessage({sourceName:s,targetName:i,stream:ai.PULL_COMPLETE,streamId:n,success:!0});break}if(l.desiredSize<=0&&e.desiredSize>0)l.sinkCapability.resolve();l.desiredSize=e.desiredSize,Promise.try(l.onPull||i7).then(function(){r.postMessage({sourceName:s,targetName:i,stream:ai.PULL_COMPLETE,streamId:n,success:!0})},function(f){r.postMessage({sourceName:s,targetName:i,stream:ai.PULL_COMPLETE,streamId:n,reason:tr(f)})});break;case ai.ENQUEUE:if(Hs(a,"enqueue should have stream controller"),a.isClosed)break;a.controller.enqueue(e.chunk);break;case ai.CLOSE:if(Hs(a,"close should have stream controller"),a.isClosed)break;a.isClosed=!0,a.controller.close(),this.#i(a,n);break;case ai.ERROR:Hs(a,"error should have stream controller"),a.controller.error(tr(e.reason)),this.#i(a,n);break;case ai.CANCEL_COMPLETE:if(e.success)a.cancelCall.resolve();else a.cancelCall.reject(tr(e.reason));this.#i(a,n);break;case ai.CANCEL:if(!l)break;let c=tr(e.reason);Promise.try(l.onCancel||i7,c).then(function(){r.postMessage({sourceName:s,targetName:i,stream:ai.CANCEL_COMPLETE,streamId:n,success:!0})},function(f){r.postMessage({sourceName:s,targetName:i,stream:ai.CANCEL_COMPLETE,streamId:n,reason:tr(f)})}),l.sinkCapability.reject(c),l.isCancelled=!0,delete this.streamSinks[n];break;default:throw Error("Unexpected stream case")}}async#i(e,n){await Promise.allSettled([e.startCall?.promise,e.pullCall?.promise,e.cancelCall?.promise]),delete this.streamControllers[n]}destroy(){this.#e?.abort(),this.#e=null}}class m2{#e=Object.freeze({cMapUrl:"CMap",standardFontDataUrl:"font",wasmUrl:"wasm"});constructor({cMapUrl:e=null,standardFontDataUrl:n=null,wasmUrl:s=null}){this.cMapUrl=e,this.standardFontDataUrl=n,this.wasmUrl=s}async fetch({kind:e,filename:n}){switch(e){case"cMapUrl":case"standardFontDataUrl":case"wasmUrl":break;default:Dn(`Not implemented: ${e}`)}let s=this[e];if(!s)throw Error(`Ensure that the \`${e}\` API parameter is provided.`);let i=`${s}${n}`;return this._fetch(i,e).catch((r)=>{throw Error(`Unable to load ${this.#e[e]} data at: ${i}`)})}async _fetch(e,n){Dn("Abstract method `_fetch` called.")}}class s2 extends m2{async _fetch(e,n){let s=n==="cMapUrl"&&!e.endsWith(".bcmap")?"text":"bytes",i=await l2(e,s);return i instanceof Uint8Array?i:Sm(i)}}class p2{#e=!1;constructor({enableHWA:e=!1}){this.#e=e}create(e,n){if(e<=0||n<=0)throw Error("Invalid canvas size");let s=this._createCanvas(e,n);return{canvas:s,context:s.getContext("2d",{willReadFrequently:!this.#e})}}reset({canvas:e},n,s){if(!e)throw Error("Canvas is not specified");if(n<=0||s<=0)throw Error("Invalid canvas size");e.width=n,e.height=s}destroy(e){let{canvas:n}=e;if(!n)throw Error("Canvas is not specified");n.width=n.height=0,e.canvas=null,e.context=null}_createCanvas(e,n){Dn("Abstract method `_createCanvas` called.")}}class G7 extends p2{constructor({ownerDocument:e=globalThis.document,enableHWA:n=!1}){super({enableHWA:n});this._document=e}_createCanvas(e,n){let s=this._document.createElement("canvas");return s.width=e,s.height=n,s}}class g2{addFilter(e){return"none"}addHCMFilter(e,n){return"none"}addAlphaFilter(e){return"none"}addLuminosityFilter(e){return"none"}addKnockoutFilter(e=0){return"none"}addHighlightHCMFilter(e,n,s,i,r){return"none"}addSelectionHCMFilter(e,n){return"none"}addSelectionFilter(){return"none"}createSelectionStyle(e=null){return null}destroy(e=!1){}}class V7 extends g2{#e;#t;#n;#s;#i;#a;#r=0;constructor({docId:e,ownerDocument:n=globalThis.document}){super();this.#s=e,this.#i=n}get#o(){return this.#t||=new Map}get#l(){return this.#a||=new Map}get#c(){if(!this.#n){let e=this.#i.createElement("div"),{style:n}=e;n.colorScheme="only light",n.visibility="hidden",n.contain="strict",n.width=n.height=0,n.position="absolute",n.top=n.left=0,n.zIndex=-1;let s=this.#i.createElementNS("http://www.w3.org/2000/svg","svg");s.setAttribute("width",0),s.setAttribute("height",0),this.#n=this.#i.createElementNS("http://www.w3.org/2000/svg","defs"),e.append(s),s.append(this.#n),this.#i.body.append(e)}return this.#n}#u(e){if(e.length===1){let c=e[0],f=Array(256);for(let b=0;b<256;b++)f[b]=c[b]/255;let d=f.join(",");return[d,d,d]}let[n,s,i]=e,r=Array(256),a=Array(256),l=Array(256);for(let c=0;c<256;c++)r[c]=n[c]/255,a[c]=s[c]/255,l[c]=i[c]/255;return[r.join(","),a.join(","),l.join(",")]}#h(e){if(this.#e===void 0){this.#e="";let n=this.#i.URL;if(n!==this.#i.baseURI)if(xm(n))fn('#createUrl: ignore "data:"-URL for performance reasons.');else this.#e=y7(n,"")}return`url(${this.#e}#${e})`}addFilter(e){if(!e)return"none";let n=this.#o.get(e);if(n)return n;let[s,i,r]=this.#u(e),a=e.length===1?s:`${s}${i}${r}`;if(n=this.#o.get(a),n)return this.#o.set(e,n),n;let l=`g_${this.#s}_transfer_map_${this.#r++}`,c=this.#h(l);this.#o.set(e,c),this.#o.set(a,c);let f=this.#g(l);return this.#m(s,i,r,f),c}addHCMFilter(e,n){let s=`${e}-${n}`,i="base",r=this.#l.get("base");if(r?.key===s)return r.url;if(r)r.filter?.remove(),r.key=s,r.url="none",r.filter=null;else r={key:s,url:"none",filter:null},this.#l.set("base",r);if(!e||!n)return r.url;let a=this.#w(e);e=ut.makeHexColor(...a);let l=this.#w(n);if(n=ut.makeHexColor(...l),this.#v(),e==="#000000"&&n==="#ffffff"||e===n)return r.url;let f=Array.from({length:256},(v,k)=>e2(k/255)).join(","),d=`g_${this.#s}_hcm_filter`,b=r.filter=this.#g(d);this.#m(f,f,f,b),this.#p(b);let y=(v,k)=>{let A=a[v]/255,T=l[v]/255,R=Array(k+1);for(let D=0;D<=k;D++)R[D]=A+D/k*(T-A);return R.join(",")};return this.#m(y(0,5),y(1,5),y(2,5),b),r.url=this.#h(d),r.url}addSelectionHCMFilter(e,n){return this.addHighlightHCMFilter("selection",e,n,"HighlightText","Highlight")}addSelectionFilter(){return this.addHighlightHCMFilter("selection_default","black","white","HighlightText","Highlight")}createSelectionStyle(e=null){let n=e?this.addSelectionHCMFilter(e.foreground,e.background):this.addSelectionFilter();if(n==="none"||!Xn.platform.isFirefox)return null;return{"backdrop-filter":n,"background-color":"transparent"}}addAlphaFilter(e){let n=this.#o.get(e);if(n)return n;let[s]=this.#u([e]),i=`alpha_${s}`;if(n=this.#o.get(i),n)return this.#o.set(e,n),n;let r=`g_${this.#s}_alpha_map_${this.#r++}`,a=this.#h(r);this.#o.set(e,a),this.#o.set(i,a);let l=this.#g(r);return this.#b(s,l),a}addLuminosityFilter(e){let n=this.#o.get(e||"luminosity");if(n)return n;let s,i;if(e)[s]=this.#u([e]),i=`luminosity_${s}`;else i="luminosity";if(n=this.#o.get(i),n)return this.#o.set(e,n),n;let r=`g_${this.#s}_luminosity_map_${this.#r++}`,a=this.#h(r);this.#o.set(e,a),this.#o.set(i,a);let l=this.#g(r);if(this.#d(l),e)this.#b(s,l);return a}addKnockoutFilter(e=0){let n=e>0?Math.min(1/e,1e6):1e6,s=`knockout_${n}`,i=this.#o.get(s);if(i)return i;let r=`g_${this.#s}_knockout_filter_${this.#r++}`,a=this.#h(r);this.#o.set(s,a);let l=this.#g(r),c=this.#i.createElementNS("http://www.w3.org/2000/svg","feComponentTransfer");l.append(c);let f=this.#i.createElementNS("http://www.w3.org/2000/svg","feFuncA");return f.setAttribute("type","linear"),f.setAttribute("slope",`${n}`),f.setAttribute("intercept","0"),c.append(f),a}addHighlightHCMFilter(e,n,s,i,r){let a=`${n}-${s}-${i}-${r}`,l=this.#l.get(e);if(l?.key===a)return l.url;if(l)l.filter?.remove(),l.key=a,l.url="none",l.filter=null;else l={key:a,url:"none",filter:null},this.#l.set(e,l);if(!n||!s)return l.url;let[c,f]=[n,s].map(this.#w.bind(this)),d=Math.round(0.2126*c[0]+0.7152*c[1]+0.0722*c[2]),b=Math.round(0.2126*f[0]+0.7152*f[1]+0.0722*f[2]),[y,v]=[i,r].map(this.#x.bind(this));if(b<d)[d,b,y,v]=[b,d,v,y];this.#v();let k=(R,D,U)=>{let Y=Array(256),X=(b-d)/U,J=R/255,ee=(D-R)/(255*U),te=0;for(let ne=0;ne<=U;ne++){let ie=Math.round(d+ne*X),se=J+ne*ee;for(let ae=te;ae<=ie;ae++)Y[ae]=se;te=ie+1}for(let ne=te;ne<256;ne++)Y[ne]=Y[te-1];return Y.join(",")},A=`g_${this.#s}_hcm_${e}_filter`,T=l.filter=this.#g(A);return this.#p(T),this.#m(k(y[0],v[0],5),k(y[1],v[1],5),k(y[2],v[2],5),T),l.url=this.#h(A),l.url}destroy(e=!1){if(e&&this.#a?.size)return;this.#n?.parentNode.parentNode.remove(),this.#n=null,this.#t?.clear(),this.#t=null,this.#a?.clear(),this.#a=null,this.#r=0}#d(e){let n=this.#i.createElementNS("http://www.w3.org/2000/svg","feColorMatrix");n.setAttribute("type","matrix"),n.setAttribute("values","0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0.59 0.11 0 0"),e.append(n)}#p(e){let n=this.#i.createElementNS("http://www.w3.org/2000/svg","feColorMatrix");n.setAttribute("type","matrix"),n.setAttribute("values","0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0"),e.append(n)}#g(e){let n=this.#i.createElementNS("http://www.w3.org/2000/svg","filter");return n.setAttribute("color-interpolation-filters","sRGB"),n.setAttribute("id",e),this.#c.append(n),n}#f(e,n,s){let i=this.#i.createElementNS("http://www.w3.org/2000/svg",n);i.setAttribute("type","discrete"),i.setAttribute("tableValues",s),e.append(i)}#m(e,n,s,i){let r=this.#i.createElementNS("http://www.w3.org/2000/svg","feComponentTransfer");i.append(r),this.#f(r,"feFuncR",e),this.#f(r,"feFuncG",n),this.#f(r,"feFuncB",s)}#b(e,n){let s=this.#i.createElementNS("http://www.w3.org/2000/svg","feComponentTransfer");n.append(s),this.#f(s,"feFuncA",e)}#w(e){return this.#c.style.color="CanvasText",this.#c.style.backgroundColor=e,pu(getComputedStyle(this.#c).getPropertyValue("background-color"))}#y(e){return this.#c.style.color="CanvasText",this.#c.style.backgroundColor=e,mu(getComputedStyle(this.#c).getPropertyValue("background-color"))}#v(){this.#c.style.color="",this.#c.style.backgroundColor=""}#x(e){let[n,s,i,r]=this.#y(e);if(r===1)return[n,s,i];let[a,l,c]=this.#w("Canvas");return[$b(n,a,r),$b(s,l,r),$b(i,c,r)]}}function $b(e,n,s){return Math.round(s*e+(1-s)*n)}if(kr)fn("Please use the `legacy` build in Node.js environments.");async function yM(e){let s=await process.getBuiltinModule("fs/promises").readFile(e);return new Uint8Array(s)}class $7 extends g2{}class X7 extends p2{_createCanvas(e,n){return process.getBuiltinModule("module").createRequire(import.meta.url)("@napi-rs/canvas").createCanvas(e,n)}}class W7 extends m2{async _fetch(e,n){return yM(e)}}function K7({src:e,srcPos:n=0,dest:s,width:i,height:r,nonBlackColor:a=4294967295,inverseDecode:l=!1}){let c=Xn.isLittleEndian?4278190080:255,[f,d]=l?[a,c]:[c,a],b=i>>3,y=i&7,v=f^d,k=e.length;s=new Uint32Array(s.buffer);let A=0;for(let T=0;T<r;++T){for(let D=n+b;n<D;++n,A+=8){let U=e[n];s[A]=f^-(U>>7&1)&v,s[A+1]=f^-(U>>6&1)&v,s[A+2]=f^-(U>>5&1)&v,s[A+3]=f^-(U>>4&1)&v,s[A+4]=f^-(U>>3&1)&v,s[A+5]=f^-(U>>2&1)&v,s[A+6]=f^-(U>>1&1)&v,s[A+7]=f^-(U&1)&v}if(y===0)continue;let R=n<k?e[n++]:255;for(let D=0;D<y;++D,++A)s[A]=f^-(R>>7-D&1)&v}return{srcPos:n,destPos:A}}function vM({src:e,srcPos:n=0,dest:s,destPos:i=0,width:r,height:a}){let l=0,c=r*a*3,f=c>>2,d=new Uint32Array(e.buffer,n,f),b=Xn.isLittleEndian?4278190080:255;if(Xn.isLittleEndian){for(;l<f-2;l+=3,i+=4){let y=d[l],v=d[l+1],k=d[l+2];s[i]=y|b,s[i+1]=y>>>24|v<<8|b,s[i+2]=v>>>16|k<<16|b,s[i+3]=k>>>8|b}for(let y=l*4,v=n+c;y<v;y+=3)s[i++]=e[y]|e[y+1]<<8|e[y+2]<<16|b}else{for(;l<f-2;l+=3,i+=4){let y=d[l],v=d[l+1],k=d[l+2];s[i]=y|b,s[i+1]=y<<24|v>>>8|b,s[i+2]=v<<16|k>>>16|b,s[i+3]=k<<8|b}for(let y=l*4,v=n+c;y<v;y+=3)s[i++]=e[y]<<24|e[y+1]<<16|e[y+2]<<8|b}return{srcPos:n+c,destPos:i}}var SM=`
76
- struct Uniforms {
77
- offsetX : f32,
78
- offsetY : f32,
79
- scaleX : f32,
80
- scaleY : f32,
81
- paddedWidth : f32,
82
- paddedHeight : f32,
83
- borderSize : f32,
84
- _pad : f32,
85
- };
86
-
87
- @group(0) @binding(0) var<uniform> u : Uniforms;
88
-
89
- struct VertexInput {
90
- @location(0) position : vec2<f32>,
91
- @location(1) color : vec4<f32>,
92
- };
93
-
94
- struct VertexOutput {
95
- @builtin(position) position : vec4<f32>,
96
- @location(0) color : vec3<f32>,
97
- };
98
-
99
- @vertex
100
- fn vs_main(in : VertexInput) -> VertexOutput {
101
- var out : VertexOutput;
102
- let cx = (in.position.x + u.offsetX) * u.scaleX;
103
- let cy = (in.position.y + u.offsetY) * u.scaleY;
104
- out.position = vec4<f32>(
105
- ((cx + u.borderSize) / u.paddedWidth) * 2.0 - 1.0,
106
- 1.0 - ((cy + u.borderSize) / u.paddedHeight) * 2.0,
107
- 0.0,
108
- 1.0
109
- );
110
- out.color = in.color.rgb;
111
- return out;
112
- }
113
-
114
- @fragment
115
- fn fs_main(in : VertexOutput) -> @location(0) vec4<f32> {
116
- return vec4<f32>(in.color, 1.0);
117
- }
118
- `;class Y7{#e=null;#t=null;#n=null;#s=null;async#i(){if(!globalThis.navigator?.gpu)return!1;try{let e=await navigator.gpu.requestAdapter();if(!e)return!1;return this.#s=navigator.gpu.getPreferredCanvasFormat(),this.#t=await e.requestDevice(),!0}catch{return!1}}init(){return this.#e||=this.#i()}get isReady(){return this.#t!==null}loadMeshShader(){if(!this.#t||this.#n)return;let e=this.#t.createShaderModule({code:SM});this.#n=this.#t.createRenderPipeline({layout:"auto",vertex:{module:e,entryPoint:"vs_main",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,offset:0,format:"float32x2"}]},{arrayStride:4,attributes:[{shaderLocation:1,offset:0,format:"unorm8x4"}]}]},fragment:{module:e,entryPoint:"fs_main",targets:[{format:this.#s}]},primitive:{topology:"triangle-list"}})}draw(e,n,s,i,r,a,l,c){this.loadMeshShader();let f=this.#t,{offsetX:d,offsetY:b,scaleX:y,scaleY:v}=i,k=f.createBuffer({size:Math.max(e.byteLength,4),usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});if(e.byteLength>0)f.queue.writeBuffer(k,0,e);let A=f.createBuffer({size:Math.max(n.byteLength,4),usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});if(n.byteLength>0)f.queue.writeBuffer(A,0,n);let T=f.createBuffer({size:32,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST});f.queue.writeBuffer(T,0,new Float32Array([d,b,y,v,a,l,c,0]));let R=f.createBindGroup({layout:this.#n.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:T}}]}),D=new OffscreenCanvas(a,l),U=D.getContext("webgpu");U.configure({device:f,format:this.#s,alphaMode:r?"opaque":"premultiplied"});let Y=r?{r:r[0]/255,g:r[1]/255,b:r[2]/255,a:1}:{r:0,g:0,b:0,a:0},X=f.createCommandEncoder(),J=X.beginRenderPass({colorAttachments:[{view:U.getCurrentTexture().createView(),clearValue:Y,loadOp:"clear",storeOp:"store"}]});if(s>0)J.setPipeline(this.#n),J.setBindGroup(0,R),J.setVertexBuffer(0,k),J.setVertexBuffer(1,A),J.draw(s);return J.end(),f.queue.submit([X.finish()]),k.destroy(),A.destroy(),T.destroy(),D.transferToImageBitmap()}}var Tm=new Y7;function kM(){return Tm.init()}function xM(){return Tm.isReady}function AM(){Tm.loadMeshShader()}function TM(e,n,s,i,r,a,l,c){return Tm.draw(e,n,s,i,r,a,l,c)}var ji={FILL:"Fill",STROKE:"Stroke",SHADING:"Shading"};function im(e,n){if(!n)return;let s=n[2]-n[0],i=n[3]-n[1],r=new Path2D;r.rect(n[0],n[1],s,i),e.clip(r)}class Cm{matrix=null;isModifyingCurrentTransform(){return!1}getPattern(){Dn("Abstract method `getPattern` called.")}}class Q7 extends Cm{constructor(e){super();this._type=e[1],this._bbox=e[2],this._colorStops=e[3],this._p0=e[4],this._p1=e[5],this._r0=e[6],this._r1=e[7]}isOriginBased(){return this._p0[0]===0&&this._p0[1]===0&&(!this.isRadial()||this._p1[0]===0&&this._p1[1]===0)}isRadial(){return this._type==="radial"}areConic(){if(!this.isRadial())return!1;let e=Math.hypot(this._p0[0]-this._p1[0],this._p0[1]-this._p1[1]);return e+this._r1>this._r0&&e+this._r0>this._r1}_createGradient(e,n=null){let s,i=this._p0,r=this._p1;if(n)i=i.slice(),r=r.slice(),ut.applyTransform(i,n),ut.applyTransform(r,n);if(this._type==="axial")s=e.createLinearGradient(i[0],i[1],r[0],r[1]);else if(this._type==="radial"){let a=this._r0,l=this._r1;if(n){let c=new Float32Array(2);ut.singularValueDecompose2dScale(n,c),a*=c[0],l*=c[0]}s=e.createRadialGradient(i[0],i[1],a,r[0],r[1],l)}for(let a of this._colorStops)s.addColorStop(a[0],a[1]);return s}_createReversedGradient(e,n=null){let s=this._p1,i=this._p0;if(n)s=s.slice(),i=i.slice(),ut.applyTransform(s,n),ut.applyTransform(i,n);let r=this._r1,a=this._r0;if(n){let f=new Float32Array(2);ut.singularValueDecompose2dScale(n,f),r*=f[0],a*=f[0]}let l=e.createRadialGradient(s[0],s[1],r,i[0],i[1],a),c=this._colorStops.map(([f,d])=>[1-f,d]).reverse();for(let[f,d]of c)l.addColorStop(f,d);return l}getPattern(e,n,s,i){let r;if(i===ji.STROKE||i===ji.FILL){if(this.isOriginBased()){let y=ut.transform(s,n.baseTransform);if(this.matrix)y=ut.transform(y,this.matrix);let v=0.001,k=Math.hypot(y[0],y[1]),A=Math.hypot(y[2],y[3]),T=(y[0]*y[2]+y[1]*y[3])/(k*A);if(Math.abs(T)<v)if(this.isRadial()){if(Math.abs(k-A)<v)return this._createGradient(e,y)}else return this._createGradient(e,y)}let a=n.current.getClippedPathBoundingBox(i,gs(e))||[0,0,0,0],l=Math.ceil(a[2]-a[0])||1,c=Math.ceil(a[3]-a[1])||1,f=n.canvasFactory.create(l,c),d=f.context;if(d.clearRect(0,0,d.canvas.width,d.canvas.height),d.beginPath(),d.rect(0,0,d.canvas.width,d.canvas.height),d.translate(-a[0],-a[1]),s=ut.transform(s,[1,0,0,1,a[0],a[1]]),d.transform(...n.baseTransform),this.matrix)d.transform(...this.matrix);if(im(d,this._bbox),this.areConic())d.fillStyle=this._createReversedGradient(d),d.fill();d.fillStyle=this._createGradient(d),d.fill(),r=e.createPattern(f.canvas,"no-repeat"),n.canvasFactory.destroy(f);let b=new DOMMatrix(s);r.setTransform(b)}else{if(this.areConic())e.save(),im(e,this._bbox),e.fillStyle=this._createReversedGradient(e),e.fillRect(-10000000000,-10000000000,20000000000,20000000000),e.restore();im(e,this._bbox),r=this._createGradient(e)}return r}}function EM(e,n,s,i,r,a,l,c){let{coords:f,colors:d}=n,b=e.data,y=e.width*4,v;if(f[s*2+1]>f[i*2+1])v=s,s=i,i=v,v=a,a=l,l=v;if(f[i*2+1]>f[r*2+1])v=i,i=r,r=v,v=l,l=c,c=v;if(f[s*2+1]>f[i*2+1])v=s,s=i,i=v,v=a,a=l,l=v;let k=(f[s*2]+n.offsetX)*n.scaleX,A=(f[s*2+1]+n.offsetY)*n.scaleY,T=(f[i*2]+n.offsetX)*n.scaleX,R=(f[i*2+1]+n.offsetY)*n.scaleY,D=(f[r*2]+n.offsetX)*n.scaleX,U=(f[r*2+1]+n.offsetY)*n.scaleY;if(A>=U)return;let Y=d[a*4],X=d[a*4+1],J=d[a*4+2],ee=d[l*4],te=d[l*4+1],ne=d[l*4+2],ie=d[c*4],se=d[c*4+1],ae=d[c*4+2],be=Math.round(A),ye=Math.round(U),fe,le,oe,Se,we,Fe,De,Le;for(let Be=be;Be<=ye;Be++){if(Be<R){let jt=Be<A?0:(A-Be)/(A-R);fe=k-(k-T)*jt,le=Y-(Y-ee)*jt,oe=X-(X-te)*jt,Se=J-(J-ne)*jt}else{let jt;if(Be>U)jt=1;else if(R===U)jt=0;else jt=(R-Be)/(R-U);fe=T-(T-D)*jt,le=ee-(ee-ie)*jt,oe=te-(te-se)*jt,Se=ne-(ne-ae)*jt}let Ke;if(Be<A)Ke=0;else if(Be>U)Ke=1;else Ke=(A-Be)/(A-U);we=k-(k-D)*Ke,Fe=Y-(Y-ie)*Ke,De=X-(X-se)*Ke,Le=J-(J-ae)*Ke;let at=Math.round(Math.min(fe,we)),tt=Math.round(Math.max(fe,we)),St=y*Be+at*4;for(let jt=at;jt<=tt;jt++){if(Ke=(fe-jt)/(fe-we),Ke<0)Ke=0;else if(Ke>1)Ke=1;b[St++]=le-(le-Fe)*Ke|0,b[St++]=oe-(oe-De)*Ke|0,b[St++]=Se-(Se-Le)*Ke|0,b[St++]=255}}}class J7 extends Cm{constructor(e){super();this._posData=e[2],this._colData=e[3],this._vertexCount=e[4],this._bounds=e[5],this._bbox=e[6],this._background=e[7],AM()}_createMeshCanvas(e,n,s){let l=Math.floor(this._bounds[0]),c=Math.floor(this._bounds[1]),f=Math.ceil(this._bounds[2])-l,d=Math.ceil(this._bounds[3])-c,b=Math.min(Math.ceil(Math.abs(f*e[0]*1.1)),3000)||1,y=Math.min(Math.ceil(Math.abs(d*e[1]*1.1)),3000)||1,v=f?f/b:1,k=d?d/y:1,A={coords:this._posData,colors:this._colData,offsetX:-l,offsetY:-c,scaleX:1/v,scaleY:1/k},T=b+4,R=y+4,D=s.create(T,R);if(xM()&&this._vertexCount>48)D.context.drawImage(TM(this._posData,this._colData,this._vertexCount,A,n,T,R,2),0,0);else{let U=D.context.createImageData(b,y);if(n){let Y=U.data;for(let X=0,J=Y.length;X<J;X+=4)Y[X]=n[0],Y[X+1]=n[1],Y[X+2]=n[2],Y[X+3]=255}for(let Y=0,X=this._vertexCount;Y<X;Y+=3)EM(U,A,Y,Y+1,Y+2,Y,Y+1,Y+2);D.context.putImageData(U,2,2)}return{canvas:D.canvas,offsetX:l-2*v,offsetY:c-2*k,scaleX:v,scaleY:k}}isModifyingCurrentTransform(){return!0}getPattern(e,n,s,i){im(e,this._bbox);let r=new Float32Array(2);if(i===ji.SHADING)ut.singularValueDecompose2dScale(gs(e),r);else if(this.matrix){ut.singularValueDecompose2dScale(this.matrix,r);let[c,f]=r;ut.singularValueDecompose2dScale(n.baseTransform,r),r[0]*=c,r[1]*=f}else ut.singularValueDecompose2dScale(n.baseTransform,r);let a=this._createMeshCanvas(r,i===ji.SHADING?null:this._background,n.canvasFactory);if(i!==ji.SHADING){if(e.setTransform(...n.baseTransform),this.matrix)e.transform(...this.matrix)}e.translate(a.offsetX,a.offsetY),e.scale(a.scaleX,a.scaleY);let l=e.createPattern(a.canvas,"no-repeat");return n.canvasFactory.destroy(a),l}}class Z7 extends Cm{getPattern(){return"hotpink"}}function CM(e){switch(e[0]){case"RadialAxial":return new Q7(e);case"Mesh":return new J7(e);case"Dummy":return new Z7}throw Error(`Unknown IR type: ${e[0]}`)}var r7={COLORED:1,UNCOLORED:2};class su{static MAX_PATTERN_SIZE=3000;constructor(e,n,s,i){this.color=e[1],this.operatorList=e[2],this.matrix=e[3],this.bbox=e[4],this.xstep=e[5],this.ystep=e[6],this.paintType=e[7],this.tilingType=e[8],this.needsIsolation=e[9]??!0,this.ctx=n,this.canvasGraphicsFactory=s,this.baseTransform=i,this.patternBaseMatrix=this.matrix?ut.transform(i,this.matrix):i}canSkipPatternCanvas([e,n,s,i]){let[r,a,l,c]=this.bbox,f=Math.abs(this.xstep),d=Math.abs(this.ystep);if(e>f+0.000001||n>d+0.000001)return null;let b=Math.floor((s-l)/f)+1,y=Math.ceil((s+e-r)/f)-1,v=Math.floor((i-c)/d)+1,k=Math.ceil((i+n-a)/d)-1;return y<=b&&k<=v?[b,v]:null}updatePatternDims(e,n){let s=ut.inverseTransform(this.patternBaseMatrix),i=[e[0],e[1]],r=[e[2],e[3]];ut.applyTransform(i,s),ut.applyTransform(r,s),n[0]=Math.abs(r[0]-i[0]),n[1]=Math.abs(r[1]-i[1]),n[2]=Math.min(i[0],r[0]),n[3]=Math.min(i[1],r[1])}_renderTileCanvas(e,n,s,i){let[r,a,l,c]=this.bbox,f=e.canvasFactory.create(s.size,i.size),d=f.context,b=this.canvasGraphicsFactory.createCanvasGraphics(d,n);return b.groupLevel=e.groupLevel,this.setFillAndStrokeStyleToContext(b,this.paintType,this.color),d.translate(-s.scale*r,-i.scale*a),b.transform(0,s.scale,0,0,i.scale,0,0),d.save(),b.dependencyTracker?.save(),this.clipBbox(b,r,a,l,c),b.baseTransform=gs(b.ctx),b.executeOperatorList(this.operatorList),b.endDrawing(),b.dependencyTracker?.restore(),d.restore(),f}_getCombinedScales(){let e=new Float32Array(2);ut.singularValueDecompose2dScale(this.matrix,e);let[n,s]=e;return ut.singularValueDecompose2dScale(this.baseTransform,e),[n*e[0],s*e[1]]}drawPattern(e,n,s=!1,[i,r],a){let[l,c,f,d]=this.bbox,b=e.dependencyTracker;if(b)e.dependencyTracker=new ou(b,a);if(e.save(),s)e.ctx.clip(n,"evenodd");else e.ctx.clip(n);if(e.ctx.setTransform(...this.patternBaseMatrix),e.ctx.translate(i*this.xstep,r*this.ystep),this.needsIsolation||e.ctx.globalAlpha!==1||e.ctx.globalCompositeOperation!=="source-over"||e.inSMaskMode){let y=f-l,v=d-c,[k,A]=this._getCombinedScales(),T=this.getSizeAndScale(y,this.ctx.canvas.width,k),R=this.getSizeAndScale(v,this.ctx.canvas.height,A),D=this._renderTileCanvas(e,a,T,R);e.ctx.drawImage(D.canvas,l,c,y,v),e.canvasFactory.destroy(D)}else this.setFillAndStrokeStyleToContext(e,this.paintType,this.color),this.clipBbox(e,l,c,f,d),e.baseTransformStack.push(e.baseTransform),e.baseTransform=gs(e.ctx),e.executeOperatorList(this.operatorList),e.baseTransform=e.baseTransformStack.pop();if(e.restore(),b)e.dependencyTracker=b}createPatternCanvas(e,n){let[s,i,r,a]=this.bbox,l=r-s,c=a-i,{xstep:f,ystep:d}=this;f=Math.abs(f),d=Math.abs(d),vm("TilingType: "+this.tilingType);let[b,y]=this._getCombinedScales(),v=l,k=c,A=!1,T=!1;if(Math.ceil(f*b)>=Math.ceil(l*b))v=f;else A=!0;if(Math.ceil(d*y)>=Math.ceil(c*y))k=d;else T=!0;let R=this.getSizeAndScale(v,this.ctx.canvas.width,b),D=this.getSizeAndScale(k,this.ctx.canvas.height,y),U=this._renderTileCanvas(e,n,R,D);if(A||T){let Y=U.canvas;if(A)v=f;if(T)k=d;let X=this.getSizeAndScale(v,this.ctx.canvas.width,b),J=this.getSizeAndScale(k,this.ctx.canvas.height,y),ee=X.size,te=J.size,ne=e.canvasFactory.create(ee,te),ie=ne.context,se=A?Math.floor(l/f):0,ae=T?Math.floor(c/d):0;for(let be=0;be<=se;be++)for(let ye=0;ye<=ae;ye++)ie.drawImage(Y,ee*be,te*ye,ee,te,0,0,ee,te);return e.canvasFactory.destroy(U),{canvas:ne.canvas,canvasEntry:ne,scaleX:X.scale,scaleY:J.scale,offsetX:s,offsetY:i}}return{canvas:U.canvas,canvasEntry:U,scaleX:R.scale,scaleY:D.scale,offsetX:s,offsetY:i}}getSizeAndScale(e,n,s){let i=Math.max(su.MAX_PATTERN_SIZE,n),r=Math.ceil(e*s);if(r>=i)r=i;else s=r/e;return{scale:s,size:r}}clipBbox(e,n,s,i,r){let a=i-n,l=r-s,c=new Path2D;c.rect(n,s,a,l),ut.axialAlignedBoundingBox([n,s,i,r],gs(e.ctx),e.current.minMax),e.ctx.clip(c),e.current.updateClipFromPath()}setFillAndStrokeStyleToContext(e,n,s){let{ctx:i,current:r}=e;switch(r.patternFill=r.patternStroke=!1,n){case r7.COLORED:let{fillStyle:a,strokeStyle:l}=this.ctx;i.fillStyle=r.fillColor=a,i.strokeStyle=r.strokeColor=l;break;case r7.UNCOLORED:i.fillStyle=i.strokeStyle=s,r.fillColor=r.strokeColor=s;break;default:throw new v7(`Unsupported paint type: ${n}`)}}isModifyingCurrentTransform(){return!1}getPattern(e,n,s,i,r){let a=i!==ji.SHADING?ut.transform(s,this.patternBaseMatrix):s,l=this.createPatternCanvas(n,r),c=new DOMMatrix(a);c=c.translate(l.offsetX,l.offsetY),c=c.scale(1/l.scaleX,1/l.scaleY);let f=e.createPattern(l.canvas,"repeat");return n.canvasFactory.destroy(l.canvasEntry),f.setTransform(c),f}}var jM=16,_M=100,IM=15,a7=10,sr=16,Ar=new Float32Array(2);function o7(e,n){if(e._removeMirroring)throw Error("Context is already forwarding operations.");let s=new Map;for(let i of["save","restore","rotate","scale","translate","transform","setTransform","resetTransform","clip","moveTo","lineTo","bezierCurveTo","quadraticCurveTo","arc","arcTo","ellipse","rect","roundRect","closePath","beginPath"]){let r=e[i];if(typeof r!=="function"||typeof n[i]!=="function")continue;s.set(i,r),e[i]=function(...a){return n[i](...a),r.apply(this,a)}}e._removeMirroring=()=>{for(let[i,r]of s)e[i]=r;delete e._removeMirroring}}function Y0(e,n,s,i,r,a,l,c,f,d){let[b,y,v,k,A,T]=gs(e);if(y===0&&v===0){let U=l*b+A,Y=Math.round(U),X=c*k+T,J=Math.round(X),ee=(l+f)*b+A,te=Math.abs(Math.round(ee)-Y)||1,ne=(c+d)*k+T,ie=Math.abs(Math.round(ne)-J)||1;return e.setTransform(Math.sign(b),0,0,Math.sign(k),Y,J),e.drawImage(n,s,i,r,a,0,0,te,ie),e.setTransform(b,y,v,k,A,T),[te,ie]}if(b===0&&k===0){let U=c*v+A,Y=Math.round(U),X=l*y+T,J=Math.round(X),ee=(c+d)*v+A,te=Math.abs(Math.round(ee)-Y)||1,ne=(l+f)*y+T,ie=Math.abs(Math.round(ne)-J)||1;return e.setTransform(0,Math.sign(y),Math.sign(v),0,Y,J),e.drawImage(n,s,i,r,a,0,0,ie,te),e.setTransform(b,y,v,k,A,T),[ie,te]}e.drawImage(n,s,i,r,a,l,c,f,d);let R=Math.hypot(b,y),D=Math.hypot(v,k);return[R*f,D*d]}class i2{alphaIsShape=!1;fontSize=0;fontSizeScale=1;textMatrix=null;textMatrixScale=1;fontMatrix=Wb;leading=0;x=0;y=0;lineX=0;lineY=0;charSpacing=0;wordSpacing=0;textHScale=1;textRenderingMode=fi.FILL;textRise=0;fillColor="#000000";strokeColor="#000000";tilingPatternDims=null;patternFill=!1;patternStroke=!1;fillAlpha=1;strokeAlpha=1;lineWidth=1;activeSMask=null;transferMaps="none";minMax=fc.slice();constructor(e,n){this.clipBox=new Float32Array([0,0,e,n])}clone(){let e=Object.create(this);return e.clipBox=this.clipBox.slice(),e.minMax=this.minMax.slice(),e.tilingPatternDims=this.tilingPatternDims?.slice(),e}getPathBoundingBox(e=ji.FILL,n=null){let s=this.minMax.slice();if(e===ji.STROKE){if(!n)Dn("Stroke bounding box must include transform.");ut.singularValueDecompose2dScale(n,Ar);let i=Ar[0]*this.lineWidth/2,r=Ar[1]*this.lineWidth/2;s[0]-=i,s[1]-=r,s[2]+=i,s[3]+=r}return s}updateClipFromPath(){let e=ut.intersect(this.clipBox,this.getPathBoundingBox());this.startNewPathAndClipBox(e||[0,0,0,0])}isEmptyClip(){return this.minMax[0]===1/0}startNewPathAndClipBox(e){this.clipBox.set(e,0),this.minMax.set(fc,0)}getClippedPathBoundingBox(e=ji.FILL,n=null){return ut.intersect(this.clipBox,this.getPathBoundingBox(e,n))}}function l7(e,n){let{width:s,height:i,kind:r}=n,a=i%sr,l=(i-a)/sr,c=a===0?l:l+1,f=e.createImageData(s,sr),d=0,b=n.data,y=f.data,v;if(r===nm.GRAYSCALE_1BPP)for(v=0;v<c;v++)({srcPos:d}=K7({src:b,srcPos:d,dest:y,width:s,height:v<l?sr:a})),e.putImageData(f,0,v*sr);else if(r===nm.RGBA_32BPP){let k=0,A=s*sr*4;for(v=0;v<l;v++)y.set(b.subarray(d,d+A)),d+=A,e.putImageData(f,0,k),k+=sr;if(v<c)A=s*a*4,y.set(b.subarray(d,d+A)),e.putImageData(f,0,k)}else if(r===nm.RGB_24BPP)for(v=0;v<c;v++)({srcPos:d}=vM({src:b,srcPos:d,dest:new Uint32Array(y.buffer),width:s,height:v<l?sr:a})),e.putImageData(f,0,v*sr);else throw Error(`bad image kind: ${r}`)}function c7(e,n){if(n.bitmap){e.drawImage(n.bitmap,0,0);return}let{width:s,height:i}=n,r=i%sr,a=(i-r)/sr,l=r===0?a:a+1,c=e.createImageData(s,sr),f=0,d=n.data,b=c.data;for(let y=0;y<l;y++)({srcPos:f}=K7({src:d,srcPos:f,dest:b,width:s,height:y<a?sr:r,nonBlackColor:0})),e.putImageData(c,0,y*sr)}function oc(e,n){let s=["strokeStyle","fillStyle","fillRule","globalAlpha","lineWidth","lineCap","lineJoin","miterLimit","globalCompositeOperation","font","filter"];for(let i of s)if(e[i]!==void 0)n[i]=e[i];if(e.setLineDash!==void 0)n.setLineDash(e.getLineDash()),n.lineDashOffset=e.lineDashOffset}function Q0(e){if(e.strokeStyle=e.fillStyle="#000000",e.fillRule="nonzero",e.globalAlpha=1,e.lineWidth=1,e.lineCap="butt",e.lineJoin="miter",e.miterLimit=10,e.globalCompositeOperation="source-over",e.font="10px sans-serif",e.setLineDash!==void 0)e.setLineDash([]),e.lineDashOffset=0;let{filter:n}=e;if(n!=="none"&&n!=="")e.filter="none"}function f7(e,n){if(n)return!0;ut.singularValueDecompose2dScale(e,Ar);let s=Math.fround(ba.pixelRatio*dc.PDF_TO_CSS_UNITS);return Ar[0]<=s&&Ar[1]<=s}var RM=["butt","round","square"],DM=["miter","round","bevel"],qM={},h7={};class uc{static#e=null;#t=0;#n=0;#s=null;#i=null;#a=null;#r=null;#o=1;#l;#c=null;#u=[];constructor(e,n,s,i,r,{optionalContentConfig:a,markedContentStack:l=null},c,f,d,b){this.ctx=e,this.current=new i2(this.ctx.canvas.width,this.ctx.canvas.height),this.stateStack=[],this.pendingClip=null,this.pendingEOFill=!1,this.commonObjs=n,this.objs=s,this.canvasFactory=i,this.filterFactory=r,this.groupStack=[],this.baseTransform=null,this.baseTransformStack=[],this.groupLevel=0,this.smaskStack=[],this.tempSMask=null,this.smaskGroupCanvases=[],this.smaskPreparedEntry=null,this.smaskPreparedFor=null,this.smaskPreparedOffsetX=0,this.smaskPreparedOffsetY=0,this.smaskPreparedOOBAlpha=null,this.suspendedCtx=null,this.contentVisible=!0,this.markedContentStack=l||[],this.optionalContentConfig=a,this.cachedPatterns=new Map,this.annotationCanvasMap=c,this.viewportScale=1,this.outputScaleX=1,this.outputScaleY=1,this.pageColors=f,this._cachedScaleForStroking=[-1,0],this._cachedGetSinglePixelWidth=null,this._cachedBitmapsMap=new Map,this.dependencyTracker=d??null,this.imagesTracker=b??null}getObject(e,n,s=null){if(typeof n==="string")return this.dependencyTracker?.recordNamedDependency(e,n),n.startsWith("g_")?this.commonObjs.get(n):this.objs.get(n);return s}beginDrawing({transform:e,viewport:n,transparency:s=!1,background:i=null}){let r=this.ctx.canvas.width,a=this.ctx.canvas.height,l=this.ctx.fillStyle;if(this.ctx.fillStyle=i||"#ffffff",this.ctx.fillRect(0,0,r,a),this.ctx.fillStyle=l,s){let c=this.transparentCanvasEntry=this.canvasFactory.create(r,a);this.compositeCtx=this.ctx,{canvas:this.transparentCanvas,context:this.ctx}=c,this.ctx.save(),this.ctx.transform(...gs(this.compositeCtx))}if(this.ctx.save(),Q0(this.ctx),e)this.ctx.transform(...e),this.outputScaleX=e[0],this.outputScaleY=e[3];this.ctx.transform(...n.transform),this.viewportScale=n.scale,this.baseTransform=gs(this.ctx)}executeOperatorList(e,n,s,i,r){let{argsArray:a,fnArray:l}=e,c=n||0,f=a.length;if(f===c)return c;let d=f-c>a7&&typeof s==="function",b=d?Date.now()+IM:0,y=0,v=this.commonObjs,k=this.objs,A,T;while(!0){if(i!==void 0){if(c===i.nextBreakPoint)return i.breakIt(c,s),c;if(i.shouldSkip(c)){if(++c===f)return c;continue}}if(!r||r(c))if(A=l[c],T=a[c]??null,A!==Za.dependency)if(T===null)this[A](c);else this[A](c,...T);else for(let R of T){this.dependencyTracker?.recordNamedData(R,c);let D=R.startsWith("g_")?v:k;if(!D.has(R))return D.get(R,s),c}if(c++,c===f)return c;if(d&&++y>a7){if(Date.now()>b)return s(),c;y=0}}}#h(){while(this.stateStack.length||this.inSMaskMode)this.restore();if(this.current.activeSMask=null,this.ctx.restore(),this.transparentCanvas)this.ctx=this.compositeCtx,this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.drawImage(this.transparentCanvas,0,0),this.ctx.restore(),this.canvasFactory.destroy(this.transparentCanvasEntry),this.transparentCanvas=null,this.transparentCanvasEntry=null}endDrawing(){this.#h();for(let e of this.smaskGroupCanvases)this.canvasFactory.destroy(e);this.smaskGroupCanvases.length=0,this._clearPreparedSMask(),this.tempSMask=null,this.smaskStack.length=0;for(let e of this.#u)this.#v(e);this.#u.length=0,this.#s=null,this.#i=null,this.#a=null,this.#r=null,this.#o=1,this.#c=null,this.#n=0,this.#t=0,this.cachedPatterns.clear();for(let e of this._cachedBitmapsMap.values()){for(let n of e.values())if(typeof HTMLCanvasElement<"u"&&n instanceof HTMLCanvasElement)n.width=n.height=0;e.clear()}this._cachedBitmapsMap.clear(),this.#d()}#d(){if(this.pageColors){let e=this.filterFactory.addHCMFilter(this.pageColors.foreground,this.pageColors.background);if(e!=="none"){let n=this.ctx.filter;this.ctx.filter=e,this.ctx.drawImage(this.ctx.canvas,0,0),this.ctx.filter=n}}}_scaleImage(e,n){let s=e.width??e.displayWidth,i=e.height??e.displayHeight,r=Math.max(Math.hypot(n[0],n[1]),1),a=Math.max(Math.hypot(n[2],n[3]),1),l=[],c=r,f=a,d=s,b=i;while(c>2&&d>1||f>2&&b>1){let R=d,D=b;if(c>2&&d>1)R=Math.ceil(d/2),c/=d/R;if(f>2&&b>1)D=Math.ceil(b/2),f/=b/D;l.push({newWidth:R,newHeight:D}),d=R,b=D}if(l.length===0)return{img:e,paintWidth:s,paintHeight:i,tmpCanvas:null};if(l.length===1){let{newWidth:R,newHeight:D}=l[0],U=this.canvasFactory.create(R,D);return U.context.drawImage(e,0,0,s,i,0,0,R,D),{img:U.canvas,paintWidth:R,paintHeight:D,tmpCanvas:U}}let y=this.canvasFactory.create(1,1),v=this.canvasFactory.create(1,1),k=s,A=i,T=e;for(let{newWidth:R,newHeight:D}of l)this.canvasFactory.reset(v,R,D),v.context.drawImage(T,0,0,k,A,0,0,R,D),[y,v]=[v,y],T=y.canvas,k=R,A=D;return this.canvasFactory.destroy(v),{img:y.canvas,paintWidth:k,paintHeight:A,tmpCanvas:y}}_createMaskCanvas(e,n){let s=this.ctx,{width:i,height:r}=n,a=this.current.fillColor,l=this.current.patternFill,c=gs(s),f,d,b,y;if((n.bitmap||n.data)&&n.count>1){let se=n.bitmap||n.data.buffer;d=JSON.stringify(l?c:[c.slice(0,4),a]),f=this._cachedBitmapsMap.getOrInsertComputed(se,a2);let ae=f.get(d);if(ae&&!l){let be=Math.round(Math.min(c[0],c[2])+c[4]),ye=Math.round(Math.min(c[1],c[3])+c[5]);return this.dependencyTracker?.recordDependencies(e,Gr.transformAndFill),{canvas:ae,offsetX:be,offsetY:ye}}b=ae}if(!b)y=this.canvasFactory.create(i,r),c7(y.context,n);let v=ut.transform(c,[1/i,0,0,-1/r,0,0]);v=ut.transform(v,[1,0,0,1,0,-r]);let k=fc.slice();ut.axialAlignedBoundingBox([0,0,i,r],v,k);let[A,T,R,D]=k,U=Math.round(R-A)||1,Y=Math.round(D-T)||1,X=this.canvasFactory.create(U,Y),J=X.context,ee=A,te=T;J.translate(-ee,-te),J.transform(...v);let ne=null;if(!b){let se=this._scaleImage(y.canvas,Ka(J));if(b=se.img,ne=se.tmpCanvas,b!==y.canvas)this.canvasFactory.destroy(y),y=null;if(f&&l)f.set(d,b),ne=null,y=null}if(J.imageSmoothingEnabled=f7(gs(J),n.interpolate),Y0(J,b,0,0,b.width,b.height,0,0,i,r),ne)this.canvasFactory.destroy(ne);if(y)this.canvasFactory.destroy(y);J.globalCompositeOperation="source-in";let ie=ut.transform(Ka(J),[1,0,0,1,-ee,-te]);if(J.fillStyle=l?a.getPattern(s,this,ie,ji.FILL,e):a,J.fillRect(0,0,i,r),f&&!l)f.set(d,X.canvas);return this.dependencyTracker?.recordDependencies(e,Gr.transformAndFill),{canvas:X.canvas,canvasEntry:f&&!l?null:X,offsetX:Math.round(ee),offsetY:Math.round(te)}}setLineWidth(e,n){if(this.dependencyTracker?.recordSimpleData("lineWidth",e),n!==this.current.lineWidth)this._cachedScaleForStroking[0]=-1;this.current.lineWidth=n,this.ctx.lineWidth=n}setLineCap(e,n){this.dependencyTracker?.recordSimpleData("lineCap",e),this.ctx.lineCap=RM[n]}setLineJoin(e,n){this.dependencyTracker?.recordSimpleData("lineJoin",e),this.ctx.lineJoin=DM[n]}setMiterLimit(e,n){this.dependencyTracker?.recordSimpleData("miterLimit",e),this.ctx.miterLimit=n}setDash(e,n,s){this.dependencyTracker?.recordSimpleData("dash",e);let i=this.ctx;if(i.setLineDash!==void 0)i.setLineDash(n),i.lineDashOffset=s}setRenderingIntent(e,n){}setFlatness(e,n){}setGState(e,n){for(let[s,i]of n)switch(s){case"LW":this.setLineWidth(e,i);break;case"LC":this.setLineCap(e,i);break;case"LJ":this.setLineJoin(e,i);break;case"ML":this.setMiterLimit(e,i);break;case"D":this.setDash(e,i[0],i[1]);break;case"RI":this.setRenderingIntent(e,i);break;case"FL":this.setFlatness(e,i);break;case"Font":this.setFont(e,i[0],i[1]);break;case"CA":this.dependencyTracker?.recordSimpleData("strokeAlpha",e),this.current.strokeAlpha=i;break;case"ca":this.dependencyTracker?.recordSimpleData("fillAlpha",e),this.ctx.globalAlpha=this.current.fillAlpha=i;break;case"BM":this.dependencyTracker?.recordSimpleData("globalCompositeOperation",e),this.ctx.globalCompositeOperation=i;break;case"SMask":if(this.dependencyTracker?.recordSimpleData("SMask",e),this.current.activeSMask=i?this.tempSMask:null,this.current.activeSMask)this.current.activeSMask.blendMode=this.ctx.globalCompositeOperation;this.tempSMask=null,this.checkSMaskState(e);break;case"TR":this.dependencyTracker?.recordSimpleData("filter",e),this.ctx.filter=this.current.transferMaps=this.filterFactory.addFilter(i);break}}get inSMaskMode(){return!!this.suspendedCtx}_clearPreparedSMask(){if(this.smaskPreparedEntry)this.canvasFactory.destroy(this.smaskPreparedEntry),this.smaskPreparedEntry=null;this.smaskPreparedFor=null,this.smaskPreparedOffsetX=0,this.smaskPreparedOffsetY=0,this.smaskPreparedOOBAlpha=null}_ensurePreparedSMask(e){if(e===this.smaskPreparedFor)return;this._clearPreparedSMask(),this._prepareSMaskCanvas(e)}checkSMaskState(e){let n=this.inSMaskMode;if(this.current.activeSMask&&!n)this.beginSMaskMode(e);else if(!this.current.activeSMask&&n)this.endSMaskMode();else if(this.current.activeSMask&&n)this._ensurePreparedSMask(this.current.activeSMask)}_prepareSMaskCanvas(e){let{canvas:n,subtype:s,backdrop:i,transferMap:r}=e,a=s==="Luminosity"||s==="Alpha"&&r;if(!a&&!(s==="Luminosity"&&i)){this.smaskPreparedFor=e;return}let l;if(s==="Luminosity"&&i){let[D,U,Y]=mu(i),X=Math.round(0.3*D+0.59*U+0.11*Y);l=r?.[X]??X}else l=r?.[0]??0;let c=4,{width:f,height:d}=this.ctx.canvas,b=n.width*n.height,y=f*d<c*b,v=a?{url:s==="Alpha"?this.filterFactory.addAlphaFilter(r):this.filterFactory.addLuminosityFilter(r),subtype:s,transferMap:r}:null,k=s==="Luminosity"?i:null,A,T,R;if(y)A=this._bakeSMaskCanvas(n,e.offsetX,e.offsetY,f,d,k,v),T=0,R=0;else A=this._bakeSMaskCanvas(n,0,0,n.width,n.height,k,v),T=e.offsetX,R=e.offsetY;this.smaskPreparedEntry=A,this.smaskPreparedFor=e,this.smaskPreparedOffsetX=T,this.smaskPreparedOffsetY=R,this.smaskPreparedOOBAlpha=!y&&l!==0?l:null}_bakeSMaskCanvas(e,n,s,i,r,a,l){if(!a&&!l)Dn("_bakeSMaskCanvas with neither backdrop nor filter");let c=this.canvasFactory.create(i,r),f=c.context;if(f.drawImage(e,n,s),a)f.globalCompositeOperation="destination-atop",f.fillStyle=a,f.fillRect(0,0,i,r);if(!l)return c;let d=this.canvasFactory.create(i,r),b=d.context;b.filter=l.url;let y=Xn.isCanvasFilterSupported&&b.filter!=="none"&&b.filter!=="";if(b.drawImage(c.canvas,0,0),Xn.isCanvasFilterSupported)b.filter="none";if(!y){let v=b.getImageData(0,0,i,r),{data:k}=v,{transferMap:A}=l;if(l.subtype==="Luminosity")for(let T=0,R=k.length;T<R;T+=4){let D=0.3*k[T]+0.59*k[T+1]+0.11*k[T+2]+0.5|0;k[T]=k[T+1]=k[T+2]=0,k[T+3]=A?.[D]??D}else for(let T=3,R=k.length;T<R;T+=4)k[T]=A[k[T]];b.putImageData(v,0,0)}return this.canvasFactory.destroy(c),d}beginSMaskMode(e){if(this.inSMaskMode)throw Error("beginSMaskMode called while already in smask mode");let{width:n,height:s}=this.ctx.canvas,i=this.canvasFactory.create(n,s);this.smaskScratchCanvas=i,this.suspendedCtx=this.ctx;let r=this.ctx=i.context;r.setTransform(this.suspendedCtx.getTransform()),oc(this.suspendedCtx,r),o7(r,this.suspendedCtx),this._ensurePreparedSMask(this.current.activeSMask),this.setGState(e,[["BM","source-over"]])}endSMaskMode(){if(!this.inSMaskMode)throw Error("endSMaskMode called while not in smask mode");this.ctx._removeMirroring(),oc(this.ctx,this.suspendedCtx),this.ctx=this.suspendedCtx,this.suspendedCtx=null,this.canvasFactory.destroy(this.smaskScratchCanvas),this.smaskScratchCanvas=null,this._clearPreparedSMask()}#p(e,n=null,s=1){let{width:i,height:r}=e,a=n??this.canvasFactory.create(i,r),l=a.context;s=Math.round(s*255)/255;let c=s<1;if(c&&this.#l===void 0)this.#l=Xn.isCanvasFilterSupported?new Map:"none";let f="none";if(c&&this.#l instanceof Map)f=this.#l.getOrInsertComputed(s,()=>this.filterFactory.addKnockoutFilter(s));if(!c||f!=="none"){if(n)l.save(),l.setTransform(1,0,0,1,0,0),l.clearRect(0,0,i,r),l.restore();return l.filter=f,l.drawImage(e,0,0),l.filter="none",a}let d=e.getContext("2d",{willReadFrequently:!0}).getImageData(0,0,i,r),b=l.createImageData(i,r),y=d.data,v=b.data,k=s>0?1/s:1e6;for(let A=3,T=y.length;A<T;A+=4)v[A]=Math.min(Math.round(y[A]*k),255);return l.putImageData(b,0,0),a}#g(e,n,s,i){let r=e?.[n]??null;if(r&&(r.canvas.width!==s||r.canvas.height!==i))this.canvasFactory.destroy(r),r=null;if(!r){if(r=this.canvasFactory.create(s,i),e)e[n]=r;return r}let a=r.context;return a.save(),a.setTransform(1,0,0,1,0,0),a.clearRect(0,0,s,i),a.restore(),r}#f(e,n,s={}){let{backdropCanvas:i=null,destTransform:r=[1,0,0,1,0,0],backdropOffset:a=[0,0],reuseMaskEntry:l=null,poolMeta:c=null,sourceAlpha:f=1,sourceFilter:d="none",knockoutAlpha:b=1}=s,{width:y,height:v}=n,k=this.#p(n,l,b),A=e.globalCompositeOperation;if(e.save(),e.setTransform(...r),e.globalAlpha=1,Xn.isCanvasFilterSupported)e.filter="none";if(e.globalCompositeOperation="destination-out",e.drawImage(k.canvas,0,0),i){let[T,R]=a,D=this.#g(c,"knockoutBackdropEntry",y,v),U=D.context;if(U.drawImage(i,T,R,y,v,0,0,y,v),U.globalCompositeOperation="destination-in",U.drawImage(k.canvas,0,0),U.globalCompositeOperation="source-over",e.globalCompositeOperation="destination-over",e.drawImage(D.canvas,0,0),!c)this.canvasFactory.destroy(D)}if(e.globalCompositeOperation=A,e.globalAlpha=f,Xn.isCanvasFilterSupported)e.filter=d??"none";if(e.drawImage(n,0,0),e.restore(),!l)this.canvasFactory.destroy(k)}#m(e=1){if(this.#t===0||this.#n>0||!this.contentVisible)return!1;this.#n++,this.#o=e;let n=this.#u.at(-1),{canvas:s}=this.ctx,i=this.#g(n,"knockoutTempEntry",s.width,s.height);this.#s=i;let r=i.context;if(r.save(),r.setTransform(this.ctx.getTransform()),oc(this.ctx,r),this.#r=r.globalCompositeOperation,r.globalCompositeOperation="source-over",o7(r,this.ctx),this.#c=n,this.#i=this.ctx,this.#a=this.suspendedCtx,this.ctx=r,this.inSMaskMode)this.suspendedCtx=r;return!0}#b(e){if(!e)return;let n=this.#s,s=this.#i,i=this.#a,r=n.context;if(this.#s=null,this.#i=null,this.#a=null,this.inSMaskMode&&this.suspendedCtx===r&&this.ctx!==r)this.endSMaskMode();if(this.inSMaskMode)this.suspendedCtx=i;this.ctx._removeMirroring(),this.ctx.globalCompositeOperation=this.#r,this.#r=null,oc(this.ctx,s),this.ctx=s;let a=this.#c;this.#c=null;let l=this.#o;this.#o=1;try{this.#f(i??s,n.canvas,{backdropCanvas:a?.backdropCtx?.canvas??null,backdropOffset:a?.backdropCtx?[a.offsetX,a.offsetY]:[0,0],reuseMaskEntry:a?.knockoutMaskEntry??null,poolMeta:a,knockoutAlpha:l})}finally{if(r.restore(),this.#n--,!a)this.canvasFactory.destroy(n)}}compose(e){if(!this.current.activeSMask)return;e=e?[Math.floor(e[0]),Math.floor(e[1]),Math.ceil(e[2]),Math.ceil(e[3])]:[0,0,this.ctx.canvas.width,this.ctx.canvas.height];let n=this.current.activeSMask,s=this.suspendedCtx,i=this.#n>0&&s===this.ctx;if(this.composeSMask(i?null:s,n,this.ctx,e),i)return;this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.ctx.canvas.width,this.ctx.canvas.height),this.ctx.restore()}composeSMask(e,n,s,i){let r=i[0],a=i[1],l=i[2]-r,c=i[3]-a;if(l===0||c===0)return;let f=this.smaskPreparedEntry;if(f){let d=r,b=a,y=l,v=c,k=this.smaskPreparedOOBAlpha,A=k!==null;if(A){d=Math.max(r,n.offsetX),b=Math.max(a,n.offsetY);let T=Math.min(r+l,n.offsetX+n.canvas.width),R=Math.min(a+c,n.offsetY+n.canvas.height);y=T-d,v=R-b}if(y>0&&v>0){let T=d-this.smaskPreparedOffsetX,R=b-this.smaskPreparedOffsetY;s.save(),s.globalAlpha=1,s.setTransform(1,0,0,1,0,0);let D=new Path2D;D.rect(d,b,y,v),s.clip(D),s.globalCompositeOperation="destination-in",s.drawImage(f.canvas,T,R,y,v,d,b,y,v),s.restore()}if(A&&k<255)this._applySMaskOOBAlpha(s,r,a,l,c,d,b,d+y,b+v,k)}else this.genericComposeSMask(n,s,l,c,r,a);if(!e)return;e.save(),e.globalAlpha=1,e.globalCompositeOperation=n.blendMode||"source-over",e.setTransform(1,0,0,1,0,0),e.drawImage(s.canvas,r,a,l,c,r,a,l,c),e.restore()}_applySMaskOOBAlpha(e,n,s,i,r,a,l,c,f,d){let b=a<c&&l<f;if(b&&a===n&&l===s&&c===n+i&&f===s+r)return;let y=new Path2D;if(y.rect(n,s,i,r),b)y.rect(a,l,c-a,f-l);e.save(),e.globalAlpha=d/255,e.setTransform(1,0,0,1,0,0),e.clip(y,"evenodd"),e.globalCompositeOperation="destination-in",e.fillStyle="#000000",e.fillRect(n,s,i,r),e.restore()}genericComposeSMask(e,n,s,i,r,a){let{context:l,offsetX:c,offsetY:f}=e;n.save(),n.globalAlpha=1,n.setTransform(1,0,0,1,0,0);let d=new Path2D;d.rect(r,a,s,i),n.clip(d),n.globalCompositeOperation="destination-in",n.drawImage(l.canvas,r-c,a-f,s,i,r,a,s,i),n.restore()}save(e){if(this.inSMaskMode)oc(this.ctx,this.suspendedCtx);this.ctx.save();let n=this.current;this.stateStack.push(n),this.current=n.clone(),this.dependencyTracker?.save(e)}restore(e){if(this.dependencyTracker?.restore(e),this.stateStack.length===0){if(this.inSMaskMode)this.endSMaskMode();return}if(this.current=this.stateStack.pop(),this.ctx.restore(),this.inSMaskMode)oc(this.suspendedCtx,this.ctx),this.ctx.setTransform(this.suspendedCtx.getTransform());this.checkSMaskState(e),this.pendingClip=null,this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null}transform(e,n,s,i,r,a,l){this.dependencyTracker?.recordIncrementalData("transform",e),this.ctx.transform(n,s,i,r,a,l),this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null}constructPath(e,n,s,i){let[r]=s;if(!i){if(r||=s[0]=new Path2D,n!==Za.stroke&&n!==Za.closeStroke)this.current.tilingPatternDims=null;this[n](e,r);return}if(this.dependencyTracker!==null){let l=n===Za.stroke?this.current.lineWidth/2:0;this.dependencyTracker.resetBBox(e).recordBBox(e,this.ctx,i[0]-l,i[2]+l,i[1]-l,i[3]+l).recordDependencies(e,["transform"])}if(!(r instanceof Path2D))r=s[0]=T7(r);ut.axialAlignedBoundingBox(i,gs(this.ctx),this.current.minMax);let a=this.current.tilingPatternDims;if(a&&n!==Za.stroke&&n!==Za.closeStroke&&this.current.fillColor instanceof su){let l=ut.intersect(this.current.clipBox,this.current.minMax);if(!l)this.current.tilingPatternDims=null;else this.current.fillColor.updatePatternDims(l,a)}this[n](e,r),this._pathStartIdx=e}closePath(e){this.ctx.closePath()}stroke(e,n,s=!0){let i=s&&this.#m(this.current.strokeAlpha),r=this.ctx,a=this.current.strokeColor;if(r.globalAlpha=this.current.strokeAlpha,this.contentVisible)if(typeof a==="object"&&a?.getPattern){let l=a.isModifyingCurrentTransform()?r.getTransform():null;if(r.save(),r.strokeStyle=a.getPattern(r,this,Ka(r),ji.STROKE,e),l){let c=new Path2D;c.addPath(n,r.getTransform().invertSelf().multiplySelf(l)),n=c}this.rescaleAndStroke(n,!1),r.restore()}else this.rescaleAndStroke(n,!0);if(this.dependencyTracker?.recordDependencies(e,Gr.stroke),s)this.consumePath(e,n,this.current.getClippedPathBoundingBox(ji.STROKE,gs(this.ctx)));r.globalAlpha=this.current.fillAlpha,this.#b(i)}closeStroke(e,n){this.stroke(e,n)}fill(e,n,s=!0){let i=s&&this.#m(this.current.fillAlpha),r=this.ctx,a=this.current.fillColor,l=this.current.patternFill,c=!1,f=this.current.getClippedPathBoundingBox();if(this.dependencyTracker?.recordDependencies(e,Gr.fill),l){let d=this.current.tilingPatternDims,b=d&&a.canSkipPatternCanvas(d);if(b){if(a.drawPattern(this,n,this.pendingEOFill,b,e),this.pendingEOFill=!1,s)this.consumePath(e,n,f);this.current.tilingPatternDims=null,this.#b(i);return}let y=a.isModifyingCurrentTransform()?r.getTransform():null;if(this.dependencyTracker?.save(e),r.save(),r.fillStyle=a.getPattern(r,this,Ka(r),ji.FILL,e),y){let v=new Path2D;v.addPath(n,r.getTransform().invertSelf().multiplySelf(y)),n=v}c=!0}if(this.contentVisible&&f!==null)if(this.pendingEOFill)r.fill(n,"evenodd"),this.pendingEOFill=!1;else r.fill(n);if(c)r.restore(),this.dependencyTracker?.restore(e);if(s)this.consumePath(e,n,f);this.#b(i)}eoFill(e,n){this.pendingEOFill=!0,this.fill(e,n)}fillStroke(e,n){let s=this.#m(Math.min(this.current.fillAlpha,this.current.strokeAlpha));this.fill(e,n,!1),this.stroke(e,n,!1),this.consumePath(e,n),this.#b(s)}eoFillStroke(e,n){this.pendingEOFill=!0,this.fillStroke(e,n)}closeFillStroke(e,n){this.fillStroke(e,n)}closeEOFillStroke(e,n){this.pendingEOFill=!0,this.fillStroke(e,n)}endPath(e,n){this.consumePath(e,n)}rawFillPath(e,n){let s=this.#m(this.current.fillAlpha);this.ctx.fill(n),this.dependencyTracker?.recordDependencies(e,Gr.rawFillPath).recordOperation(e),this.#b(s)}clip(e){this.dependencyTracker?.recordFutureForcedDependency("clipMode",e),this.pendingClip=qM}eoClip(e){this.dependencyTracker?.recordFutureForcedDependency("clipMode",e),this.pendingClip=h7}beginText(e){this.current.textMatrix=null,this.current.textMatrixScale=1,this.current.x=this.current.lineX=0,this.current.y=this.current.lineY=0,this.dependencyTracker?.recordOpenMarker(e).resetIncrementalData("sameLineText").resetIncrementalData("moveText",e)}endText(e){let n=this.pendingTextPaths,s=this.ctx;if(this.dependencyTracker){let{dependencyTracker:i}=this;if(n!==void 0)i.recordFutureForcedDependency("textClip",i.getOpenMarker()).recordFutureForcedDependency("textClip",e);i.recordCloseMarker(e)}if(n!==void 0){let i=new Path2D,r=s.getTransform().invertSelf();for(let{transform:a,x:l,y:c,fontSize:f,path:d}of n){if(!d)continue;i.addPath(d,new DOMMatrix(a).preMultiplySelf(r).translate(l,c).scale(f,-f))}s.clip(i)}delete this.pendingTextPaths}setCharSpacing(e,n){this.dependencyTracker?.recordSimpleData("charSpacing",e),this.current.charSpacing=n}setWordSpacing(e,n){this.dependencyTracker?.recordSimpleData("wordSpacing",e),this.current.wordSpacing=n}setHScale(e,n){this.dependencyTracker?.recordSimpleData("hScale",e),this.current.textHScale=n/100}setLeading(e,n){this.dependencyTracker?.recordSimpleData("leading",e),this.current.leading=-n}setFont(e,n,s){this.dependencyTracker?.recordSimpleData("font",e).recordSimpleDataFromNamed("fontObj",n,e);let i=this.commonObjs.get(n),r=this.current;if(!i)throw Error(`Can't find font for ${n}`);if(r.fontMatrix=i.fontMatrix||Wb,r.fontMatrix[0]===0||r.fontMatrix[3]===0)fn("Invalid font matrix for font "+n);if(s<0)s=-s,r.fontDirection=-1;else r.fontDirection=1;if(this.current.font=i,this.current.fontSize=s,i.isType3Font)return;let a=i.loadedName||"sans-serif",l=i.systemFontInfo?.css||`"${a}", ${i.fallbackName}`,c="normal";if(i.black)c="900";else if(i.bold)c="bold";let f=i.italic?"italic":"normal",d=vs(s,jM,_M);this.current.fontSizeScale=s/d,this.ctx.font=`${f} ${c} ${d}px ${l}`}setTextRenderingMode(e,n){this.dependencyTracker?.recordSimpleData("textRenderingMode",e),this.current.textRenderingMode=n}setTextRise(e,n){this.dependencyTracker?.recordSimpleData("textRise",e),this.current.textRise=n}moveText(e,n,s){this.dependencyTracker?.resetIncrementalData("sameLineText").recordIncrementalData("moveText",e),this.current.x=this.current.lineX+=n,this.current.y=this.current.lineY+=s}setLeadingMoveText(e,n,s){this.setLeading(e,-s),this.moveText(e,n,s)}setTextMatrix(e,n){this.dependencyTracker?.resetIncrementalData("sameLineText").recordSimpleData("textMatrix",e);let{current:s}=this;s.textMatrix=n,s.textMatrixScale=Math.hypot(n[0],n[1]),s.x=s.lineX=0,s.y=s.lineY=0}nextLine(e){this.moveText(e,0,this.current.leading),this.dependencyTracker?.recordIncrementalData("moveText",this.dependencyTracker.getSimpleIndex("leading")??e)}#w(e,n,s){let i=new Path2D;return i.addPath(e,new DOMMatrix(s).invertSelf().multiplySelf(n)),i}paintChar(e,n,s,i,r,a){let l=this.ctx,c=this.current,{font:f,textRenderingMode:d}=c,b=c.fontSize/c.fontSizeScale,y=d&fi.FILL_STROKE_MASK,v=!!(d&fi.ADD_TO_PATH_FLAG),k=c.patternFill&&!f.missingFile,A=c.patternStroke&&!f.missingFile,T;if((f.disableFontFace||v||k||A)&&!f.missingFile)T=f.getPathGenerator(this.commonObjs,n);if(T&&(f.disableFontFace||k||A)){l.save(),l.translate(s,i),l.scale(b,-b),this.dependencyTracker?.recordCharacterBBox(e,l,f);let R;if(y===fi.FILL||y===fi.FILL_STROKE)if(r){R=l.getTransform(),l.setTransform(...r);let D=this.#w(T,R,r);l.fill(D)}else l.fill(T);if(y===fi.STROKE||y===fi.FILL_STROKE)if(a){R||=l.getTransform(),l.setTransform(...a);let{a:D,b:U,c:Y,d:X}=R,J=ut.inverseTransform(a),ee=ut.transform([D,U,Y,X,0,0],J);ut.singularValueDecompose2dScale(ee,Ar),l.lineWidth*=Math.max(Ar[0],Ar[1])/b,l.stroke(this.#w(T,R,a))}else l.lineWidth/=b,l.stroke(T);l.restore()}else{if(y===fi.FILL||y===fi.FILL_STROKE)l.fillText(n,s,i),this.dependencyTracker?.recordCharacterBBox(e,l,f,b,s,i,()=>l.measureText(n));if(y===fi.STROKE||y===fi.FILL_STROKE){if(this.dependencyTracker)this.dependencyTracker?.recordCharacterBBox(e,l,f,b,s,i,()=>l.measureText(n)).recordDependencies(e,Gr.stroke);l.strokeText(n,s,i)}}if(v)(this.pendingTextPaths||=[]).push({transform:gs(l),x:s,y:i,fontSize:b,path:T}),this.dependencyTracker?.recordCharacterBBox(e,l,f,b,s,i)}get isFontSubpixelAAEnabled(){let e=this.canvasFactory.create(10,10),n=e.context;n.scale(1.5,1),n.fillText("I",0,10);let s=n.getImageData(0,0,10,10).data;this.canvasFactory.destroy(e);let i=!1;for(let r=3;r<s.length;r+=4)if(s[r]>0&&s[r]<255){i=!0;break}return Pt(this,"isFontSubpixelAAEnabled",i)}showText(e,n){if(this.dependencyTracker){if(this.dependencyTracker.recordDependencies(e,Gr.showText).resetBBox(e),this.current.textRenderingMode&fi.ADD_TO_PATH_FLAG)this.dependencyTracker.recordFutureForcedDependency("textClip",e).inheritPendingDependenciesAsFutureForcedDependencies()}let s=this.current,i=s.font;if(i.isType3Font){let ae=this.#m(s.fillAlpha);this.showType3Text(e,n),this.dependencyTracker?.recordShowTextOperation(e),this.#b(ae);return}let r=s.fontSize;if(r===0){this.dependencyTracker?.recordOperation(e);return}let a=this.#m(s.fillAlpha),l=this.ctx,{fontSizeScale:c,charSpacing:f,wordSpacing:d,fontDirection:b}=s,y=s.textHScale*b,v=n.length,k=i.vertical,A=k?1:-1,T=i.defaultVMetrics,R=r*s.fontMatrix[0],D=s.textRenderingMode===fi.FILL&&!i.disableFontFace&&!s.patternFill;if(l.save(),s.textMatrix)l.transform(...s.textMatrix);if(l.translate(s.x,s.y+s.textRise),b>0)l.scale(y,-1);else l.scale(y,1);let U,Y,X=s.textRenderingMode&fi.FILL_STROKE_MASK,J=X===fi.FILL||X===fi.FILL_STROKE,ee=X===fi.STROKE||X===fi.FILL_STROKE,{lineWidth:te,textMatrixScale:ne}=s;if(ne===0||te===0){if(ee)te=this.getSinglePixelWidth()}else te/=ne;if(c!==1)l.scale(c,c),te/=c;if(l.lineWidth=te,J&&s.patternFill){l.save();let ae=s.fillColor.getPattern(l,this,Ka(l),ji.FILL,e);U=gs(l),l.restore(),l.fillStyle=ae}if(ee&&s.patternStroke){l.save();let ae=s.strokeColor.getPattern(l,this,Ka(l),ji.STROKE,e);Y=gs(l),l.restore(),l.strokeStyle=ae}if(i.isInvalidPDFjsFont){let ae=[],be=0;for(let fe of n)ae.push(fe.unicode),be+=fe.width;let ye=ae.join("");if(l.fillText(ye,0,0),this.dependencyTracker!==null){let fe=l.measureText(ye);this.dependencyTracker.recordBBox(e,this.ctx,-fe.actualBoundingBoxLeft,fe.actualBoundingBoxRight,-fe.actualBoundingBoxAscent,fe.actualBoundingBoxDescent).recordShowTextOperation(e)}s.x+=be*R*y,l.restore(),this.compose(),this.#b(a);return}let ie=0,se;for(se=0;se<v;++se){let ae=n[se];if(typeof ae==="number"){ie+=A*ae*r/1000;continue}let be=!1,ye=(ae.isSpace?d:0)+f,{fontChar:fe,accent:le}=ae,oe,Se,we=ae.width;if(k){let Le=ae.vmetric||T,Be=-(ae.vmetric?Le[1]:we*0.5)*R,Ke=Le[2]*R;we=Le?-Le[0]:we,oe=Be/c,Se=(ie+Ke)/c}else oe=ie/c,Se=0;let Fe;if(i.remeasure&&we>0){Fe=l.measureText(fe);let Le=Fe.width*1000/r*c;if(we<Le&&this.isFontSubpixelAAEnabled){let Be=we/Le;be=!0,l.save(),l.scale(Be,1),oe/=Be}else if(we!==Le)oe+=(we-Le)/2000*r/c}if(this.contentVisible&&(ae.isInFont||i.missingFile)){if(D&&!le)l.fillText(fe,oe,Se),this.dependencyTracker?.recordCharacterBBox(e,l,Fe?{bbox:null}:i,r/c,oe,Se,()=>Fe??l.measureText(fe));else if(this.paintChar(e,fe,oe,Se,U,Y),le){let Le=oe+r*le.offset.x/c,Be=Se-r*le.offset.y/c;this.paintChar(e,le.fontChar,Le,Be,U,Y)}}let De=k?we*R-ye*b:we*R+ye*b;if(ie+=De,be)l.restore()}if(k)s.y-=ie;else s.x+=ie*y;l.restore(),this.compose(),this.dependencyTracker?.recordShowTextOperation(e),this.#b(a)}showType3Text(e,n){let s=this.ctx,i=this.current,{font:r,fontSize:a,fontDirection:l}=i,c=r.vertical?1:-1,{charSpacing:f,wordSpacing:d}=i,b=i.textHScale*l,y=i.fontMatrix||Wb,v=n.length,k=i.textRenderingMode===fi.INVISIBLE,A,T,R,D;if(k||a===0)return;if(this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null,s.save(),i.textMatrix)s.transform(...i.textMatrix);s.translate(i.x,i.y+i.textRise),s.scale(b,l);let U=this.dependencyTracker;this.dependencyTracker=U?new ou(U,e):null;for(A=0;A<v;++A){if(T=n[A],typeof T==="number"){D=c*T*a/1000,this.ctx.translate(D,0),i.x+=D*b;continue}let Y=(T.isSpace?d:0)+f,X=r.charProcOperatorList.get(T.operatorListId);if(!X)fn(`Type3 character "${T.operatorListId}" is not available.`);else if(this.contentVisible){if(this.save(),X.fnArray[0]===Za.setCharWidth)i.fillAlpha=i.strokeAlpha=1,s.globalAlpha=1;s.scale(a,a),s.transform(...y),this.executeOperatorList(X),this.restore()}let J=[T.width,0];ut.applyTransform(J,y),R=J[0]*a+Y,s.translate(R,0),i.x+=R*b}if(s.restore(),U)this.dependencyTracker=U}setCharWidth(e,n,s){}setCharWidthAndBounds(e,n,s,i,r,a,l){let c=new Path2D;c.rect(i,r,a-i,l-r),this.ctx.clip(c),this.dependencyTracker?.recordBBox(e,this.ctx,i,a,r,l).recordClipBox(e,this.ctx,i,a,r,l),this.endPath(e)}getColorN_Pattern(e,n){let s;if(n[0]==="TilingPattern"){let i=this.baseTransform||gs(this.ctx),r={createCanvasGraphics:(a,l)=>new uc(a,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:this.optionalContentConfig,markedContentStack:this.markedContentStack},void 0,void 0,this.dependencyTracker?new ou(this.dependencyTracker,l,!0):null)};s=new su(n,this.ctx,r,i)}else s=this._getPattern(e,n[1],n[2]);return s}setStrokeColorN(e,...n){this.dependencyTracker?.recordSimpleData("strokeColor",e),this.current.strokeColor=this.getColorN_Pattern(e,n),this.current.patternStroke=!0}setFillColorN(e,...n){this.dependencyTracker?.recordSimpleData("fillColor",e);let s=this.current.fillColor=this.getColorN_Pattern(e,n);this.current.patternFill=!0,this.current.tilingPatternDims=s instanceof su?[0,0,0,0]:null}setStrokeRGBColor(e,n){this.dependencyTracker?.recordSimpleData("strokeColor",e),this.ctx.strokeStyle=this.current.strokeColor=n,this.current.patternStroke=!1}setStrokeTransparent(e){this.dependencyTracker?.recordSimpleData("strokeColor",e),this.ctx.strokeStyle=this.current.strokeColor="transparent",this.current.patternStroke=!1}setFillRGBColor(e,n){this.dependencyTracker?.recordSimpleData("fillColor",e),this.ctx.fillStyle=this.current.fillColor=n,this.current.patternFill=!1,this.current.tilingPatternDims=null}setFillTransparent(e){this.dependencyTracker?.recordSimpleData("fillColor",e),this.ctx.fillStyle=this.current.fillColor="transparent",this.current.patternFill=!1,this.current.tilingPatternDims=null}_getPattern(e,n,s=null){let i=this.cachedPatterns.getOrInsertComputed(n,()=>CM(this.getObject(e,n)));if(s)i.matrix=s;return i}shadingFill(e,n){if(!this.contentVisible)return;let s=this.#m(this.current.fillAlpha),i=this.ctx;this.save(e);let r=this._getPattern(e,n);i.fillStyle=r.getPattern(i,this,Ka(i),ji.SHADING,e);let a=Ka(i);if(a){let{width:l,height:c}=i.canvas,f=fc.slice();ut.axialAlignedBoundingBox([0,0,l,c],a,f);let[d,b,y,v]=f;this.ctx.fillRect(d,b,y-d,v-b)}else this.ctx.fillRect(-10000000000,-10000000000,20000000000,20000000000);this.dependencyTracker?.resetBBox(e).recordFullPageBBox(e).recordDependencies(e,Gr.transform).recordDependencies(e,Gr.fill).recordOperation(e),this.compose(this.current.getClippedPathBoundingBox()),this.restore(e),this.#b(s)}beginInlineImage(){Dn("Should not call beginInlineImage")}beginImageData(){Dn("Should not call beginImageData")}paintFormXObjectBegin(e,n,s){if(!this.contentVisible)return;if(this.save(e),this.baseTransformStack.push(this.baseTransform),n)this.transform(e,...n);if(this.baseTransform=gs(this.ctx),s){ut.axialAlignedBoundingBox(s,this.baseTransform,this.current.minMax);let[i,r,a,l]=s,c=new Path2D;c.rect(i,r,a-i,l-r),this.ctx.clip(c),this.dependencyTracker?.recordClipBox(e,this.ctx,i,a,r,l),this.endPath(e)}}paintFormXObjectEnd(e){if(!this.contentVisible)return;this.restore(e),this.baseTransform=this.baseTransformStack.pop()}beginGroup(e,n){if(!this.contentVisible)return;this.save(e);let{inSMaskMode:s}=this;if(s)this.endSMaskMode(),this.current.activeSMask=null;let i=this.ctx;if((!n.needsIsolation||!n.isolated&&!n.hasSoftMask)&&!n.knockout&&!n.isGray&&this.#t===0&&i.globalAlpha===1&&i.globalCompositeOperation==="source-over"&&!s){if(n.bbox){let Y=new Path2D,[X,J,ee,te]=n.bbox;if(Y.rect(X,J,ee-X,te-J),n.matrix){let ne=new Path2D;ne.addPath(Y,new DOMMatrix(n.matrix)),Y=ne}i.clip(Y)}this.groupStack.push(null),this.#u.push(null),this.groupLevel++;return}if(!n.isolated&&!n.knockout&&this.#t===0)vm("TODO: Fully support non-isolated non-knockout groups.");let r=gs(i);if(n.matrix)i.transform(...n.matrix);let a=[0,0,i.canvas.width,i.canvas.height],l;if(n.bbox)l=fc.slice(),ut.axialAlignedBoundingBox(n.bbox,gs(i),l),l=ut.intersect(l,a)||[0,0,0,0];else l=a;let c=Math.floor(l[0]),f=Math.floor(l[1]),d=Math.max(Math.ceil(l[2])-c,1),b=Math.max(Math.ceil(l[3])-f,1);this.current.startNewPathAndClipBox([0,0,d,b]);let y=this.canvasFactory.create(d,b);if(n.smask)this.smaskGroupCanvases.push(y);let v=y.context,k=n.knockout&&!n.isolated?i:null,A=!n.isolated&&!n.knockout&&!n.smask&&n.needsIsolation&&this.#t>0,T=n.knockout?this.canvasFactory.create(d,b):null,R=this.#t;if(n.knockout)this.#t++;else this.#t=0;v.translate(-c,-f),v.transform(...r);let D=!n.isolated&&!n.smask&&n.needsIsolation,U=D&&!s&&R===0&&!n.knockout&&!n.isGray&&n.hasSoftMask&&i.globalAlpha===1&&i.globalCompositeOperation==="source-over"&&this.current.transferMaps==="none";if(D&&(s||U))v.save(),v.setTransform(1,0,0,1,0,0),v.drawImage(i.canvas,-c,-f),v.restore();if(n.bbox){let Y=new Path2D,[X,J,ee,te]=n.bbox;if(Y.rect(X,J,ee-X,te-J),n.matrix){let ne=new Path2D;ne.addPath(Y,new DOMMatrix(n.matrix)),Y=ne}v.clip(Y)}if(n.smask)this.smaskStack.push({canvas:y.canvas,context:v,offsetX:c,offsetY:f,subtype:n.smask.subtype,backdrop:n.smask.backdrop,transferMap:n.smask.transferMap||null});if(!n.smask||this.dependencyTracker)i.setTransform(1,0,0,1,0,0),i.translate(c,f),i.save();oc(i,v),this.ctx=v,this.dependencyTracker?.inheritSimpleDataAsFutureForcedDependencies(["fillAlpha","strokeAlpha","globalCompositeOperation"]).pushBaseTransform(i),this.setGState(e,[["BM","source-over"],["ca",1],["CA",1],["TR",null]]),this.groupStack.push(i),this.#u.push({backdropCtx:k,savedKnockoutLevel:R,offsetX:c,offsetY:f,hasInnerBackdrop:A,replaceBackdrop:U,knockoutMaskEntry:T,knockoutTempEntry:null,knockoutBackdropEntry:null}),this.groupLevel++}endGroup(e,n){if(!this.contentVisible)return;this.groupLevel--;let s=this.ctx,i=this.groupStack.pop(),r=this.#u.pop();if(r)this.#t=r.savedKnockoutLevel;if(i===null){this.restore(e);return}if(n.isGray)this.#y(s);if(this.ctx=i,this.ctx.imageSmoothingEnabled=!1,this.dependencyTracker?.popBaseTransform(),n.smask){if(this.tempSMask=this.smaskStack.pop(),this.restore(e),this.dependencyTracker){if(this.ctx.restore(),this.inSMaskMode)this.ctx.setTransform(this.suspendedCtx.getTransform())}this.#v(r)}else{this.ctx.restore();let a=gs(this.ctx);this.restore(e),this.ctx.save(),this.ctx.setTransform(...a);let l=fc.slice();ut.axialAlignedBoundingBox([0,0,s.canvas.width,s.canvas.height],a,l);let c=this.#u.at(-1);if(this.#t>0)if(r.hasInnerBackdrop){let{width:f,height:d}=s.canvas,b=this.canvasFactory.create(f,d),y=b.context;y.drawImage(i.canvas,r.offsetX,r.offsetY,f,d,0,0,f,d),y.globalCompositeOperation="source-over",y.drawImage(s.canvas,0,0);let v=this.#p(s.canvas);y.globalCompositeOperation="destination-in",y.drawImage(v.canvas,0,0);let k=this.ctx.globalCompositeOperation,A=this.ctx.globalAlpha,T=this.ctx.filter;if(this.ctx.save(),this.ctx.setTransform(...a),this.ctx.globalAlpha=1,Xn.isCanvasFilterSupported)this.ctx.filter="none";if(this.ctx.globalCompositeOperation="destination-out",this.ctx.drawImage(v.canvas,0,0),this.ctx.globalCompositeOperation=k,this.ctx.globalAlpha=A,Xn.isCanvasFilterSupported)this.ctx.filter=T??"none";this.ctx.drawImage(b.canvas,0,0),this.ctx.restore(),this.canvasFactory.destroy(v),this.canvasFactory.destroy(b)}else{let f=c?.backdropCtx??null;this.#f(this.ctx,s.canvas,{backdropCanvas:f?.canvas??null,destTransform:a,backdropOffset:f?[c.offsetX+r.offsetX,c.offsetY+r.offsetY]:[0,0],sourceAlpha:this.ctx.globalAlpha,sourceFilter:this.ctx.filter})}else{if(r.replaceBackdrop){let f=new Path2D;f.rect(0,0,s.canvas.width,s.canvas.height),this.ctx.clip(f),this.ctx.globalCompositeOperation="copy"}this.ctx.drawImage(s.canvas,0,0)}this.ctx.restore(),this.canvasFactory.destroy({canvas:s.canvas,context:s}),this.#v(r),this.compose(l)}}#y(e){let{canvas:n}=e,{width:s,height:i}=n;if(Xn.isCanvasFilterSupported){e.save(),e.setTransform(1,0,0,1,0,0),e.filter="grayscale(1)",e.globalAlpha=1,e.globalCompositeOperation="copy",e.drawImage(n,0,0),e.restore();return}let r=e.getImageData(0,0,s,i),{data:a}=r;for(let l=0,c=a.length;l<c;l+=4){let f=a[l]*0.2126+a[l+1]*0.7152+a[l+2]*0.0722+0.5|0;a[l]=a[l+1]=a[l+2]=f}e.putImageData(r,0,0)}#v(e){if(!e)return;if(e.knockoutMaskEntry)this.canvasFactory.destroy(e.knockoutMaskEntry),e.knockoutMaskEntry=null;if(e.knockoutTempEntry)this.canvasFactory.destroy(e.knockoutTempEntry),e.knockoutTempEntry=null;if(e.knockoutBackdropEntry)this.canvasFactory.destroy(e.knockoutBackdropEntry),e.knockoutBackdropEntry=null}beginAnnotation(e,n,s,i,r,a,l){if(this.#h(),Q0(this.ctx),this.ctx.save(),this.save(e),this.baseTransform)this.ctx.setTransform(...this.baseTransform);if(s){let c=s[2]-s[0],f=s[3]-s[1];if(a&&this.annotationCanvasMap){i=i.slice(),i[4]-=s[0],i[5]-=s[1],ut.singularValueDecompose2dScale(gs(this.ctx),Ar);let{viewportScale:d}=this,b=Math.ceil(c*this.outputScaleX*d),y=Math.ceil(f*this.outputScaleY*d);this.annotationCanvas=this.canvasFactory.create(b,y);let{canvas:v,context:k}=this.annotationCanvas;if(l){let A=this.annotationCanvasMap.getOrInsertComputed(n,Cf);v.setAttribute("data-canvas-name",l);let T=A.findIndex((R)=>R.getAttribute("data-canvas-name")===l);if(T===-1)A.push(v);else A[T]=v}else this.annotationCanvasMap.set(n,v);this.annotationCanvas.savedCtx=this.ctx,this.ctx=k,this.ctx.save(),this.ctx.setTransform(Ar[0],0,0,-Ar[1],0,f*Ar[1]),Q0(this.ctx)}else{Q0(this.ctx),this.endPath(e);let d=new Path2D;d.rect(s[0],s[1],c,f),this.ctx.clip(d)}}this.current=new i2(this.ctx.canvas.width,this.ctx.canvas.height),this.baseTransformStack.push(this.baseTransform),this.transform(e,...i),this.transform(e,...r),this.baseTransform=gs(this.ctx)}endAnnotation(e){if(this.annotationCanvas)this.ctx.restore(),this.#d(),this.ctx=this.annotationCanvas.savedCtx,delete this.annotationCanvas.savedCtx,delete this.annotationCanvas;this.baseTransform=this.baseTransformStack.pop()}paintImageMaskXObject(e,n){if(!this.contentVisible)return;let s=n.count;n=this.getObject(e,n.data,n),n.count=s;let i=this.#m(this.current.fillAlpha),r=this.ctx,a=this._createMaskCanvas(e,n),l=a.canvas;if(r.save(),r.setTransform(1,0,0,1,0,0),r.drawImage(l,a.offsetX,a.offsetY),this.dependencyTracker?.resetBBox(e).recordBBox(e,this.ctx,a.offsetX,a.offsetX+l.width,a.offsetY,a.offsetY+l.height).recordOperation(e),r.restore(),a.canvasEntry)this.canvasFactory.destroy(a.canvasEntry);this.compose(),this.#b(i)}paintImageMaskXObjectRepeat(e,n,s,i=0,r=0,a,l){if(!this.contentVisible)return;n=this.getObject(e,n.data,n);let c=this.#m(this.current.fillAlpha),f=this.ctx;f.save();let d=gs(f);f.transform(s,i,r,a,0,0);let b=this._createMaskCanvas(e,n);f.setTransform(1,0,0,1,b.offsetX-d[4],b.offsetY-d[5]),this.dependencyTracker?.resetBBox(e);for(let y=0,v=l.length;y<v;y+=2){let k=ut.transform(d,[s,i,r,a,l[y],l[y+1]]);f.drawImage(b.canvas,k[4],k[5]),this.dependencyTracker?.recordBBox(e,this.ctx,k[4],k[4]+b.canvas.width,k[5],k[5]+b.canvas.height)}if(f.restore(),b.canvasEntry)this.canvasFactory.destroy(b.canvasEntry);this.compose(),this.dependencyTracker?.recordOperation(e),this.#b(c)}paintImageMaskXObjectGroup(e,n){if(!this.contentVisible)return;let s=this.#m(this.current.fillAlpha),i=this.ctx,r=this.current.fillColor,a=this.current.patternFill;this.dependencyTracker?.resetBBox(e).recordDependencies(e,Gr.transformAndFill);for(let l of n){let{data:c,width:f,height:d,transform:b}=l,y=this.canvasFactory.create(f,d),v=y.context;v.save();let k=this.getObject(e,c,l);c7(v,k),v.globalCompositeOperation="source-in",v.fillStyle=a?r.getPattern(v,this,Ka(i),ji.FILL,e):r,v.fillRect(0,0,f,d),v.restore(),i.save(),i.transform(...b),i.scale(1,-1),Y0(i,y.canvas,0,0,f,d,0,-1,1,1),this.canvasFactory.destroy(y),this.dependencyTracker?.recordBBox(e,i,0,f,0,d),i.restore()}this.compose(),this.dependencyTracker?.recordOperation(e),this.#b(s)}paintImageXObject(e,n){if(!this.contentVisible)return;let s=this.getObject(e,n);if(!s){fn("Dependent image isn't ready yet");return}this.paintInlineImageXObject(e,s)}paintImageXObjectRepeat(e,n,s,i,r){if(!this.contentVisible)return;let a=this.getObject(e,n);if(!a){fn("Dependent image isn't ready yet");return}let{width:l,height:c}=a,f=[];for(let d=0,b=r.length;d<b;d+=2)f.push({transform:[s,0,0,i,r[d],r[d+1]],x:0,y:0,w:l,h:c});this.paintInlineImageXObjectGroup(e,a,f)}applyTransferMapsToCanvas(e){if(this.current.transferMaps!=="none")e.filter=this.current.transferMaps,e.drawImage(e.canvas,0,0),e.filter="none";return e.canvas}applyTransferMapsToBitmap(e){if(this.current.transferMaps==="none")return{img:e.bitmap,canvasEntry:null};let{bitmap:n,width:s,height:i}=e,r=this.canvasFactory.create(s,i),a=r.context;return a.filter=this.current.transferMaps,a.drawImage(n,0,0),a.filter="none",{img:r.canvas,canvasEntry:r}}paintInlineImageXObject(e,n){if(!this.contentVisible)return;let{width:s,height:i}=n,r=this.#m(this.current.fillAlpha),a=this.ctx;this.save(e);let{filter:l}=a;if(l!=="none"&&l!=="")a.filter="none";a.scale(1/s,-1/i);let c,f=null;if(n.bitmap){let b=this.applyTransferMapsToBitmap(n);c=b.img,f=b.canvasEntry}else{let b=this.canvasFactory.create(s,i);l7(b.context,n),c=this.applyTransferMapsToCanvas(b.context),f=b}let d=this._scaleImage(c,Ka(a));if(a.imageSmoothingEnabled=f7(gs(a),n.interpolate),this.dependencyTracker)this.dependencyTracker.resetBBox(e).recordBBox(e,a,0,s,-i,0).recordDependencies(e,Gr.imageXObject).recordOperation(e),this.imagesTracker?.record(a,s,i,this.dependencyTracker.clipBox);if(Y0(a,d.img,0,0,d.paintWidth,d.paintHeight,0,-i,s,i),d.tmpCanvas)this.canvasFactory.destroy(d.tmpCanvas);if(f)this.canvasFactory.destroy(f);this.compose(),this.restore(e),this.#b(r)}paintInlineImageXObjectGroup(e,n,s){if(!this.contentVisible)return;let i=this.#m(this.current.fillAlpha),r=this.ctx,a,l=null;if(n.bitmap)a=n.bitmap;else{let{width:c,height:f}=n,d=this.canvasFactory.create(c,f);l7(d.context,n),a=this.applyTransferMapsToCanvas(d.context),l=d}this.dependencyTracker?.resetBBox(e);for(let c of s)r.save(),r.transform(...c.transform),r.scale(1,-1),Y0(r,a,c.x,c.y,c.w,c.h,0,-1,1,1),this.dependencyTracker?.recordBBox(e,r,0,1,-1,0),r.restore();if(l)this.canvasFactory.destroy(l);this.dependencyTracker?.recordOperation(e),this.compose(),this.#b(i)}paintSolidColorImageMask(e){if(!this.contentVisible)return;let n=this.#m(this.current.fillAlpha);this.dependencyTracker?.resetBBox(e).recordBBox(e,this.ctx,0,1,0,1).recordDependencies(e,Gr.fill).recordOperation(e),this.ctx.fillRect(0,0,1,1),this.compose(),this.#b(n)}markPoint(e,n){}markPointProps(e,n,s){}beginMarkedContent(e,n){this.dependencyTracker?.beginMarkedContent(e),this.markedContentStack.push({visible:!0})}beginMarkedContentProps(e,n,s){if(this.dependencyTracker?.beginMarkedContent(e),n==="OC")this.markedContentStack.push({visible:this.optionalContentConfig.isVisible(s)});else this.markedContentStack.push({visible:!0});this.contentVisible=this.isContentVisible()}endMarkedContent(e){this.dependencyTracker?.endMarkedContent(e),this.markedContentStack.pop(),this.contentVisible=this.isContentVisible()}beginCompat(e){}endCompat(e){}consumePath(e,n,s){let i=this.current.isEmptyClip();if(this.pendingClip)this.current.updateClipFromPath();if(!this.pendingClip)this.compose(s);let r=this.ctx;if(this.pendingClip){if(!i)if(this.pendingClip===h7)r.clip(n,"evenodd");else r.clip(n);this.pendingClip=null,this.dependencyTracker?.bboxToClipBoxDropOperation(e).recordFutureForcedDependency("clipPath",e)}else this.dependencyTracker?.recordOperation(e);this.current.startNewPathAndClipBox(this.current.clipBox)}getSinglePixelWidth(){if(!this._cachedGetSinglePixelWidth){let e=gs(this.ctx);if(e[1]===0&&e[2]===0)this._cachedGetSinglePixelWidth=1/Math.min(Math.abs(e[0]),Math.abs(e[3]));else{let n=Math.abs(e[0]*e[3]-e[2]*e[1]),s=Math.hypot(e[0],e[2]),i=Math.hypot(e[1],e[3]);this._cachedGetSinglePixelWidth=Math.max(s,i)/n}}return this._cachedGetSinglePixelWidth}getScaleForStroking(){if(this._cachedScaleForStroking[0]===-1){let{lineWidth:e}=this.current,{a:n,b:s,c:i,d:r}=this.ctx.getTransform(),a,l;if(s===0&&i===0){let c=Math.abs(n),f=Math.abs(r);if(c===f)if(e===0)a=l=1/c;else{let d=c*e;a=l=d<1?1/d:1}else if(e===0)a=1/c,l=1/f;else{let d=c*e,b=f*e;a=d<1?1/d:1,l=b<1?1/b:1}}else{let c=Math.abs(n*r-s*i),f=Math.hypot(n,s),d=Math.hypot(i,r);if(e===0)a=d/c,l=f/c;else{let b=e*c;a=d>b?d/b:1,l=f>b?f/b:1}}this._cachedScaleForStroking[0]=a,this._cachedScaleForStroking[1]=l}return this._cachedScaleForStroking}rescaleAndStroke(e,n){let{ctx:s,current:{lineWidth:i}}=this,[r,a]=this.getScaleForStroking();if(r===a){s.lineWidth=(i||1)*r,s.stroke(e);return}let l=uc.#e??=new DOMMatrix,c=s.getLineDash();if(n)s.save();s.scale(r,a),l.a=1/r,l.d=1/a;let f=new Path2D;if(f.addPath(e,l),c.length>0){let d=Math.max(r,a);s.setLineDash(c.map((b)=>b/d)),s.lineDashOffset/=d}if(s.lineWidth=i||1,s.stroke(f),n)s.restore()}isContentVisible(){for(let e=this.markedContentStack.length-1;e>=0;e--)if(!this.markedContentStack[e].visible)return!1;return!0}}for(let e in Za)if(uc.prototype[e]!==void 0)uc.prototype[Za[e]]=uc.prototype[e];class gu{#e=null;#t=null;_fullReader=null;_rangeReaders=new Set;_source=null;constructor(e,n,s){this._source=e,this.#e=n,this.#t=s}get _progressiveDataLength(){return this._fullReader?._loaded??0}getFullReader(){return Hs(!this._fullReader,"BasePDFStream.getFullReader can only be called once."),this._fullReader=new this.#e(this)}getRangeReader(e,n){if(n<=this._progressiveDataLength)return null;let s=new this.#t(this,e,n);return this._rangeReaders.add(s),s}cancelAllRequests(e){this._fullReader?.cancel(e);for(let n of new Set(this._rangeReaders))n.cancel(e)}}class ku{onProgress=null;_contentLength=0;_filename=null;_headersCapability=Promise.withResolvers();_isRangeSupported=!1;_isStreamingSupported=!1;_loaded=0;_stream=null;constructor(e){this._stream=e}_callOnProgress(){this.onProgress?.({loaded:this._loaded,total:this._contentLength})}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){Dn("Abstract method `read` called")}cancel(e){Dn("Abstract method `cancel` called")}}class xu{_stream=null;constructor(e,n,s){this._stream=e}async read(){Dn("Abstract method `read` called")}cancel(e){Dn("Abstract method `cancel` called")}}function MM(e){let n=!0,s=i("filename\\*","i").exec(e);if(s){s=s[1];let b=c(s);return b=unescape(b),b=f(b),b=d(b),a(b)}if(s=l(e),s){let b=d(s);return a(b)}if(s=i("filename","i").exec(e),s){s=s[1];let b=c(s);return b=d(b),a(b)}function i(b,y){return new RegExp("(?:^|;)\\s*"+b+'\\s*=\\s*([^";\\s][^;\\s]*|"(?:[^"\\\\]|\\\\"?)+"?)',y)}function r(b,y){if(b){if(!/^[\x00-\xFF]+$/.test(y))return y;try{let v=new TextDecoder(b,{fatal:!0}),k=Sm(y);y=v.decode(k),n=!1}catch{}}return y}function a(b){if(n&&/[\x80-\xff]/.test(b)){if(b=r("utf-8",b),n)b=r("iso-8859-1",b)}return b}function l(b){let y=[],v,k=i("filename\\*((?!0\\d)\\d+)(\\*?)","ig");while((v=k.exec(b))!==null){let[,T,R,D]=v;if(T=parseInt(T,10),T in y){if(T===0)break;continue}y[T]=[R,D]}let A=[];for(let T=0;T<y.length;++T){if(!(T in y))break;let[R,D]=y[T];if(D=c(D),R){if(D=unescape(D),T===0)D=f(D)}A.push(D)}return A.join("")}function c(b){if(b.startsWith('"')){let y=b.slice(1).split("\\\"");for(let v=0;v<y.length;++v){let k=y[v].indexOf('"');if(k!==-1)y[v]=y[v].slice(0,k),y.length=v+1;y[v]=y[v].replaceAll(/\\(.)/g,"$1")}b=y.join('"')}return b}function f(b){let y=b.indexOf("'");if(y===-1)return b;let v=b.slice(0,y),A=b.slice(y+1).replace(/^[^']*'/,"");return r(v,A)}function d(b){if(!b.startsWith("=?")||/[\x00-\x19\x80-\xff]/.test(b))return b;return b.replaceAll(/=\?([\w-]*)\?([QB])\?((?:[^?]|\?(?!=))*)\?=/gi,function(y,v,k,A){if(k==="q"||k==="Q")return A=A.replaceAll("_"," "),A=A.replaceAll(/=([0-9a-f]{2})/gi,function(T,R){return String.fromCharCode(parseInt(R,16))}),r(v,A);try{A=atob(A)}catch{}return r(v,A)})}return""}function eS(e,n){let s=new Headers;if(!e||!n||typeof n!=="object")return s;for(let i in n){let r=n[i];if(r!==void 0)s.append(i,r)}return s}function FM(e){let n=e.length;while(n>0&&e[n-1]!==" "&&/\s/.test(e[n-1]))n--;return e.slice(0,n)}function jm(e){return URL.parse(e)?.origin??null}function tS({responseHeaders:e,isHttp:n,rangeChunkSize:s,disableRange:i}){let r={contentLength:0,isRangeSupported:!1},a=parseInt(e.get("Content-Length"),10);if(!Number.isInteger(a))return r;if(r.contentLength=a,a<=2*s)return r;if(i||!n)return r;if(e.get("Accept-Ranges")!=="bytes")return r;if((e.get("Content-Encoding")||"identity")==="identity")r.isRangeSupported=!0;return r}function nS(e){let n=e.get("Content-Disposition");if(n){let s=MM(n);if(s.includes("%"))try{s=decodeURIComponent(s)}catch{}if(c2(s))return s}return null}function _m(e,n){return new iu(`Unexpected server response (${e}) while retrieving PDF "${n.href}".`,e,e===404||e===0&&n.protocol==="file:")}function sS(e,n){if(e!==n)throw Error(`Expected range response-origin "${e}" to match "${n}".`)}function iS(e,n,s,i){return fetch(e,{method:"GET",headers:n,signal:i.signal,mode:"cors",credentials:s?"include":"same-origin",redirect:"follow"})}function rS(e,n){if(e!==200&&e!==206)throw _m(e,n)}function Im(e){if(e instanceof Uint8Array)return e.buffer;if(e instanceof ArrayBuffer)return e;throw Error(`getArrayBuffer - unexpected data: ${e}`)}class aS extends gu{_responseOrigin=null;constructor(e){super(e,oS,lS);let{httpHeaders:n,url:s}=e;Hs(/https?:/.test(s.protocol),"PDFFetchStream only supports http(s):// URLs."),this.headers=eS(!0,n)}}class oS extends ku{_abortController=new AbortController;_reader=null;constructor(e){super(e);let{disableRange:n,disableStream:s,rangeChunkSize:i,url:r,withCredentials:a}=e._source;this._isStreamingSupported=!s;let l=new Headers(e.headers);iS(r,l,a,this._abortController).then((c)=>{e._responseOrigin=jm(c.url),rS(c.status,r),this._reader=c.body.getReader();let f=c.headers,{contentLength:d,isRangeSupported:b}=tS({responseHeaders:f,isHttp:!0,rangeChunkSize:i,disableRange:n});if(this._contentLength=d,this._isRangeSupported=b,this._filename=nS(f),!this._isStreamingSupported&&this._isRangeSupported)this.cancel(new Fo("Streaming is disabled."));this._headersCapability.resolve()}).catch(this._headersCapability.reject)}async read(){await this._headersCapability.promise;let{value:e,done:n}=await this._reader.read();if(n)return{value:e,done:n};return this._loaded+=e.byteLength,this._callOnProgress(),{value:Im(e),done:!1}}cancel(e){this._reader?.cancel(e),this._abortController.abort()}}class lS extends xu{_abortController=new AbortController;_readCapability=Promise.withResolvers();_reader=null;constructor(e,n,s){super(e,n,s);let{url:i,withCredentials:r}=e._source,a=new Headers(e.headers);a.append("Range",`bytes=${n}-${s-1}`),iS(i,a,r,this._abortController).then((l)=>{let c=jm(l.url);sS(c,e._responseOrigin),rS(l.status,i),this._reader=l.body.getReader(),this._readCapability.resolve()}).catch(this._readCapability.reject)}async read(){await this._readCapability.promise;let{value:e,done:n}=await this._reader.read();if(n)return{value:e,done:n};return{value:Im(e),done:!1}}cancel(e){this._reader?.cancel(e),this._abortController.abort()}}function u7(e){return e instanceof Uint8Array&&e.byteLength===e.buffer.byteLength?e.buffer:new Uint8Array(e).buffer}function Rm(){for(let e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0}class cS extends gu{_progressiveDone=!1;_queuedChunks=[];constructor(e){super(e,fS,hS);let{pdfDataRangeTransport:n}=e,{initialData:s,progressiveDone:i}=n;if(s?.length>0){let a=u7(s);this._queuedChunks.push(a)}this._progressiveDone=i;let r=(a)=>{switch(a.type){case"range":case"progressiveRead":this.#e(a.begin,a.chunk);break;case"progressiveDone":this._fullReader?.progressiveDone(),this._progressiveDone=!0;break}};n.transportReady(r)}#e(e,n){let s=u7(n);if(e===void 0)if(this._fullReader)this._fullReader._enqueue(s);else this._queuedChunks.push(s);else{let i=this._rangeReaders.keys().find((r)=>r._begin===e);Hs(i,"#onReceiveData - no `PDFDataTransportStreamRangeReader` instance found."),i._enqueue(s)}}getFullReader(){let e=super.getFullReader();return this._queuedChunks=null,e}getRangeReader(e,n){let s=super.getRangeReader(e,n);if(s)s.onDone=()=>this._rangeReaders.delete(s),this._source.pdfDataRangeTransport.requestDataRange(e,n);return s}cancelAllRequests(e){super.cancelAllRequests(e),this._source.pdfDataRangeTransport.abort()}}class fS extends ku{#e=Rm.bind(this);_done=!1;_queuedChunks=null;_requests=[];constructor(e){super(e);let{pdfDataRangeTransport:n,disableRange:s,disableStream:i}=e._source,{length:r,contentDispositionFilename:a}=n;this._queuedChunks=e._queuedChunks||[];for(let c of this._queuedChunks)this._loaded+=c.byteLength;if(this._done=e._progressiveDone,this._contentLength=r,this._isStreamingSupported=!i,this._isRangeSupported=!s,c2(a))this._filename=a;this._headersCapability.resolve();let l=this._loaded;Promise.resolve().then(()=>{if(l>0&&this._loaded===l)this._callOnProgress()})}_enqueue(e){if(this._done)return;if(this._requests.length>0)this._requests.shift().resolve({value:e,done:!1});else this._queuedChunks.push(e);this._loaded+=e.byteLength,this._callOnProgress()}async read(){if(this._queuedChunks.length>0)return{value:this._queuedChunks.shift(),done:!1};if(this._done)return{value:void 0,done:!0};let e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0,this.#e()}progressiveDone(){if(this._done||=!0,this._queuedChunks.length===0)this.#e()}}class hS extends xu{#e=Rm.bind(this);onDone=null;_begin=-1;_done=!1;_queuedChunk=null;_requests=[];constructor(e,n,s){super(e,n,s);this._begin=n}_enqueue(e){if(this._done)return;if(this._requests.length===0)this._queuedChunk=e;else this._requests.shift().resolve({value:e,done:!1}),this.#e();this._done=!0,this.onDone?.()}async read(){if(this._queuedChunk){let n=this._queuedChunk;return this._queuedChunk=null,{value:n,done:!1}}if(this._done)return{value:void 0,done:!0};let e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0,this.#e(),this.onDone?.()}}var Xb=200,d7=206;function LM(e){return typeof e!=="string"?e:Sm(e).buffer}class uS extends gu{#e=new WeakMap;_responseOrigin=null;constructor(e){super(e,dS,mS);let{httpHeaders:n,url:s}=e;this.url=s,this.isHttp=/https?:/.test(s.protocol),this.headers=eS(this.isHttp,n)}_request(e){let n=new XMLHttpRequest,s={validateStatus:null,onHeadersReceived:e.onHeadersReceived,onDone:e.onDone,onError:e.onError,onProgress:e.onProgress};this.#e.set(n,s),n.open("GET",this.url),n.withCredentials=this._source.withCredentials;for(let[i,r]of this.headers)n.setRequestHeader(i,r);if(this.isHttp&&"begin"in e&&"end"in e)n.setRequestHeader("Range",`bytes=${e.begin}-${e.end-1}`),s.validateStatus=(i)=>i===d7||i===Xb;else s.validateStatus=(i)=>i===Xb;return n.responseType="arraybuffer",Hs(e.onError,"Expected `onError` callback to be provided."),n.onerror=()=>e.onError(n.status),n.onreadystatechange=this.#n.bind(this,n),n.onprogress=this.#t.bind(this,n),n.send(null),n}#t(e,n){this.#e.get(e)?.onProgress?.(n)}#n(e,n){let s=this.#e.get(e);if(!s)return;if(e.readyState>=2&&s.onHeadersReceived)s.onHeadersReceived(),delete s.onHeadersReceived;if(e.readyState!==4)return;if(!this.#e.has(e))return;if(this.#e.delete(e),e.status===0&&this.isHttp){s.onError(e.status);return}let i=e.status||Xb;if(!s.validateStatus(i)){s.onError(e.status);return}let r=LM(e.response);if(i===d7){let a=e.getResponseHeader("Content-Range");if(/bytes \d+-\d+\/\d+/.test(a))s.onDone(r);else fn('Missing or invalid "Content-Range" header.'),s.onError(0)}else if(r)s.onDone(r);else s.onError(e.status)}_abortRequest(e){if(this.#e.has(e))this.#e.delete(e),e.abort()}getRangeReader(e,n){let s=super.getRangeReader(e,n);if(s)s.onClosed=()=>this._rangeReaders.delete(s);return s}}class dS extends ku{#e=Rm.bind(this);_cachedChunks=[];_done=!1;_requests=[];_storedError=null;constructor(e){super(e);this._fullRequestXhr=e._request({onHeadersReceived:this.#t.bind(this),onDone:this.#n.bind(this),onError:this.#s.bind(this),onProgress:this.#i.bind(this)})}#t(){let e=this._stream,{disableRange:n,rangeChunkSize:s}=e._source,i=this._fullRequestXhr;e._responseOrigin=jm(i.responseURL);let r=i.getAllResponseHeaders(),a=new Headers(r?FM(r.trimStart()).split(/[\r\n]+/).map((f)=>{let[d,...b]=f.split(": ");return[d,b.join(": ")]}):[]),{contentLength:l,isRangeSupported:c}=tS({responseHeaders:a,isHttp:e.isHttp,rangeChunkSize:s,disableRange:n});if(this._contentLength=l,this._isRangeSupported=c,this._filename=nS(a),this._isRangeSupported)e._abortRequest(i);this._headersCapability.resolve()}#n(e){if(this._requests.length>0)this._requests.shift().resolve({value:e,done:!1});else this._cachedChunks.push(e);if(this._done=!0,this._cachedChunks.length===0)this.#e()}#s(e){this._storedError=_m(e,this._stream.url),this._headersCapability.reject(this._storedError);for(let n of this._requests)n.reject(this._storedError);this._requests.length=0,this._cachedChunks.length=0}#i(e){this.onProgress?.({loaded:e.loaded,total:e.lengthComputable?e.total:this._contentLength})}async read(){if(await this._headersCapability.promise,this._storedError)throw this._storedError;if(this._cachedChunks.length>0)return{value:this._cachedChunks.shift(),done:!1};if(this._done)return{value:void 0,done:!0};let e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0,this._headersCapability.reject(e),this.#e(),this._stream._abortRequest(this._fullRequestXhr),this._fullRequestXhr=null}}class mS extends xu{#e=Rm.bind(this);onClosed=null;_done=!1;_queuedChunk=null;_requests=[];_storedError=null;constructor(e,n,s){super(e,n,s);this._requestXhr=e._request({begin:n,end:s,onHeadersReceived:this.#t.bind(this),onDone:this.#n.bind(this),onError:this.#s.bind(this),onProgress:null})}#t(){let e=jm(this._requestXhr?.responseURL);try{sS(e,this._stream._responseOrigin)}catch(n){this._storedError=n,this.#s(0)}}#n(e){if(this._requests.length>0)this._requests.shift().resolve({value:e,done:!1});else this._queuedChunk=e;this._done=!0,this.#e(),this.onClosed?.()}#s(e){this._storedError??=_m(e,this._stream.url);for(let n of this._requests)n.reject(this._storedError);this._requests.length=0,this._queuedChunk=null}async read(){if(this._storedError)throw this._storedError;if(this._queuedChunk!==null){let n=this._queuedChunk;return this._queuedChunk=null,{value:n,done:!1}}if(this._done)return{value:void 0,done:!0};let e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0,this.#e(),this._stream._abortRequest(this._requestXhr),this.onClosed?.()}}function pS(e,n=null){let s=process.getBuiltinModule("fs"),{Readable:i}=process.getBuiltinModule("stream"),r=s.createReadStream(e,n);return i.toWeb(r)}class gS extends gu{constructor(e){super(e,bS,wS);let{url:n}=e;Hs(n.protocol==="file:","PDFNodeStream only supports file:// URLs.")}}class bS extends ku{_reader=null;constructor(e){super(e);let{disableRange:n,disableStream:s,rangeChunkSize:i,url:r}=e._source;this._isStreamingSupported=!s,process.getBuiltinModule("fs/promises").lstat(r).then((l)=>{let c=pS(r);this._reader=c.getReader();let{size:f}=l;if(this._contentLength=f,this._isRangeSupported=!n&&f>2*i,!this._isStreamingSupported&&this._isRangeSupported)this.cancel(new Fo("Streaming is disabled."));this._headersCapability.resolve()}).catch((l)=>{if(l.code==="ENOENT")l=_m(0,r);this._headersCapability.reject(l)})}async read(){await this._headersCapability.promise;let{value:e,done:n}=await this._reader.read();if(n)return{value:e,done:n};return this._loaded+=e.byteLength,this._callOnProgress(),{value:Im(e),done:!1}}cancel(e){this._reader?.cancel(e)}}class wS extends xu{_readCapability=Promise.withResolvers();_reader=null;constructor(e,n,s){super(e,n,s);let{url:i}=e._source;try{let r=pS(i,{start:n,end:s-1});this._reader=r.getReader(),this._readCapability.resolve()}catch(r){this._readCapability.reject(r)}}async read(){await this._readCapability.promise;let{value:e,done:n}=await this._reader.read();if(n)return{value:e,done:n};return{value:Im(e),done:!1}}cancel(e){this._reader?.cancel(e)}}function OM(e){return tu(e)?aS:kr?gS:uS}class Mo{static#e=null;static#t="";static get workerPort(){return this.#e}static set workerPort(e){if(!(typeof Worker<"u"&&e instanceof Worker)&&e!==null)throw Error("Invalid `workerPort` type.");this.#e=e}static get workerSrc(){return this.#t}static set workerSrc(e){if(typeof e!=="string")throw Error("Invalid `workerSrc` type.");this.#t=e}}class yS{#e;#t;constructor({parsedData:e,rawData:n}){this.#e=e,this.#t=n}getRaw(){return this.#t}get(e){return this.#e.get(e)??null}[Symbol.iterator](){return this.#e.entries()}}var lc=Symbol("INTERNAL");class vS{#e=!1;#t=!1;#n=!1;#s=!0;constructor(e,{name:n,intent:s,usage:i,rbGroups:r}){this.#e=!!(e&Sr.DISPLAY),this.#t=!!(e&Sr.PRINT),this.name=n,this.intent=s,this.usage=i,this.rbGroups=r}get visible(){if(this.#n)return this.#s;if(!this.#s)return!1;let{print:e,view:n}=this.usage;if(this.#e)return n?.viewState!=="OFF";else if(this.#t)return e?.printState!=="OFF";return!0}_setVisible(e,n,s=!1){if(e!==lc)Dn("Internal method `_setVisible` called.");this.#n=s,this.#s=n}get serializable(){return{userSet:this.#n,visible:this.#s}}}class b2{#e=null;#t=new Map;#n=null;#s=null;#i;creator=null;name=null;constructor(e,n=Sr.DISPLAY,s=null){if(this.#i=e,this.renderingIntent=n,e===null)return;this.name=e.name,this.creator=e.creator,this.#s=e.order;for(let i of e.groups)this.#t.set(i.id,new vS(n,i));if(s){if(s.size!==this.#t.size)Dn("Incorrect serialized groupState.");for(let[i,r]of s)this.#t.get(i)._setVisible(lc,r.visible,r.userSet)}else{if(e.baseState==="OFF")for(let i of this.#t.values())i._setVisible(lc,!1);for(let i of e.on)this.#t.get(i)._setVisible(lc,!0);for(let i of e.off)this.#t.get(i)._setVisible(lc,!1)}this.#n=this.getHash()}#a(e){let n=e.length;if(n<2)return!0;let s=e[0];for(let i=1;i<n;i++){let r=e[i],a;if(Array.isArray(r))a=this.#a(r);else if(this.#t.has(r))a=this.#t.get(r).visible;else return fn(`Optional content group not found: ${r}`),!0;switch(s){case"And":if(!a)return!1;break;case"Or":if(a)return!0;break;case"Not":return!a;default:return!0}}return s==="And"}isVisible(e){if(this.#t.size===0)return!0;if(!e)return vm("Optional content group not defined."),!0;if(e.type==="OCG"){if(!this.#t.has(e.id))return fn(`Optional content group not found: ${e.id}`),!0;return this.#t.get(e.id).visible}else if(e.type==="OCMD"){if(e.expression)return this.#a(e.expression);if(!e.policy||e.policy==="AnyOn"){for(let n of e.ids){if(!this.#t.has(n))return fn(`Optional content group not found: ${n}`),!0;if(this.#t.get(n).visible)return!0}return!1}else if(e.policy==="AllOn"){for(let n of e.ids){if(!this.#t.has(n))return fn(`Optional content group not found: ${n}`),!0;if(!this.#t.get(n).visible)return!1}return!0}else if(e.policy==="AnyOff"){for(let n of e.ids){if(!this.#t.has(n))return fn(`Optional content group not found: ${n}`),!0;if(!this.#t.get(n).visible)return!0}return!1}else if(e.policy==="AllOff"){for(let n of e.ids){if(!this.#t.has(n))return fn(`Optional content group not found: ${n}`),!0;if(this.#t.get(n).visible)return!1}return!0}return fn(`Unknown optional content policy ${e.policy}.`),!0}return fn(`Unknown group type ${e.type}.`),!0}setVisibility(e,n=!0,s=!0){let i=this.#t.get(e);if(!i){fn(`Optional content group not found: ${e}`);return}if(s&&n&&i.rbGroups.length){for(let r of i.rbGroups)for(let a of r)if(a!==e)this.#t.get(a)?._setVisible(lc,!1,!0)}i._setVisible(lc,!!n,!0),this.#e=null}setOCGState({state:e,preserveRB:n}){let s;for(let i of e){switch(i){case"ON":case"OFF":case"Toggle":s=i;continue}let r=this.#t.get(i);if(!r)continue;switch(s){case"ON":this.setVisibility(i,!0,n);break;case"OFF":this.setVisibility(i,!1,n);break;case"Toggle":this.setVisibility(i,!r.visible,n);break}}this.#e=null}get hasInitialVisibility(){return this.#n===null||this.getHash()===this.#n}getOrder(){if(!this.#t.size)return null;if(this.#s)return this.#s.slice();return[...this.#t.keys()]}getGroup(e){return this.#t.get(e)||null}getHash(){if(this.#e!==null)return this.#e;let e=new fm;for(let[n,s]of this.#t)e.update(`${n}:${s.visible}`);return this.#e=e.hexdigest()}[Symbol.iterator](){return this.#t.entries()}get serializable(){let e=new Map;for(let[n,s]of this.#t)e.set(n,s.serializable);return{data:this.#i,renderingIntent:this.renderingIntent,groupState:e}}static fromSerializable({data:e,renderingIntent:n,groupState:s}){return new b2(e,n,s)}}class SS{#e=null;#t=null;#n=0;#s=null;#i=null;get pagesNumber(){return this.#n}set pagesNumber(e){if(this.#n===e)return;this.#n=e,this.#e=null,this.#t=null}#a(){if(this.#e)return;let e=this.#n,n=this.#e=new Uint32Array(e);for(let s=0;s<e;s++)n[s]=s+1;this.#t=new Int32Array(n)}#r(){let e=new Map,n=this.#e;for(let s=0,i=this.#n;s<i;s++){let r=n[s],a=e.get(r);if(a)a.push(s+1);else e.set(r,[s+1])}return e}movePages(e,n,s){this.#a();let i=this.#e,r=n.length,a=new Uint32Array(r),l=0;for(let y=0;y<r;y++){let v=n[y]-1;if(a[y]=i[v],v<s)l++}let c=this.#n,f=c-r,d=new Int32Array(c),b=vs(s-l,0,f);for(let y=0,v=0;y<c;y++)if(!e.has(y+1))i[v]=i[y],d[v++]=y+1;if(i.copyWithin(b+r,b,f),i.set(a,b),d.copyWithin(b+r,b,f),d.set(n,b),this.#t=d,i.every((y,v)=>y===v+1))this.#e=null}deletePages(e){this.#a();let n=this.#e,s=this.#r();this.#i={pageNumberToId:n.slice(),pagesNumber:this.#n,prevPageNumbers:this.#t.slice()};let i=this.#n-e.length;this.#n=i;let r=this.#e=new Uint32Array(i);this.#t=new Int32Array(i);let a=0,l=0;for(let c of e){let f=c-1;if(f!==a)r.set(n.subarray(a,f),l),l+=f-a;a=f+1}if(a<n.length)r.set(n.subarray(a),l);this.#o(s,new Set(e))}cancelDelete(){if(this.#i)this.#e=this.#i.pageNumberToId,this.#n=this.#i.pagesNumber,this.#t=this.#i.prevPageNumbers,this.#i=null}cleanSavedData(){this.#i=null}copyPages(e){this.#a(),this.#s={pageNumbers:e,pageIds:e.map((n)=>this.#e[n-1])}}cancelCopy(){this.#s=null}pastePages(e){this.#a();let n=this.#e,s=this.#r(),{pageNumbers:i,pageIds:r}=this.#s,a=this.#n+i.length;this.#n=a;let l=this.#e=new Uint32Array(a);this.#t=new Int32Array(a),l.set(n.subarray(0,e),0),l.set(r,e),l.set(n.subarray(e),e+i.length),this.#o(s,null,e,i),this.#s=null}#o(e,n=null,s=-1,i=null){let r=this.#t,a=this.#e,l=s+(i?.length??0),c=new Map;for(let f=0,d=this.#n;f<d;f++){if(f>=s&&f<l){r[f]=-i[f-s];continue}let b=a[f],y=e.get(b),v=c.get(b)||0;if(n&&y)while(v<y.length&&n.has(y[v]))v++;r[f]=y?.[v],c.set(b,v+1)}}hasBeenAltered(){return this.#e!==null}#l(e=null){if(!this.#e)return null;let n=new Int32Array(this.#n).fill(-1),s=new Map;if(e)for(let i of e){let r=this.getPageId(i),a=s.get(r)??0;s.set(r,a+1),n[i-1]=a}else for(let i=0,r=this.#n;i<r;i++){let a=this.#e[i],l=s.get(a)??0;s.set(a,l+1),n[i]=l}return n}getPageMappingForSaving(e=null,n=this.#l()){e??=this.#r();let s=0;for(let r of e.values())s=Math.max(s,r.length);let i=Array(s);for(let r=0;r<s;r++)i[r]={document:null,pageIndices:[],includePages:[]};for(let[r,a]of e)for(let l=0,c=a.length;l<c;l++)i[l].includePages.push([r-1,a[l]-1]);for(let{includePages:r,pageIndices:a}of i){r.sort((l,c)=>l[0]-c[0]);for(let l=0,c=r.length;l<c;l++)a.push(r[l][1]),r[l]=r[l][0]}return{pageInfos:i,copyLevels:n}}extractPages(e){e=Array.from(e).sort((s,i)=>s-i);let n=new Map;for(let s=0,i=e.length;s<i;s++){let r=this.getPageId(e[s]);n.getOrInsertComputed(r,Cf).push(s+1)}return this.getPageMappingForSaving(n,this.#l(e))}getPrevPageNumber(e){return this.#t?.[e-1]??0}getPageNumber(e){if(!this.#e)return e;let n=this.#e;for(let s=0,i=this.#n;s<i;s++)if(n[s]===e)return s+1;return 0}getPageId(e){return this.#e?.[e-1]??e}getMapping(){return this.#e?.subarray(0,this.pagesNumber)}}var Af=Symbol("INITIAL_DATA"),m7=()=>({...Promise.withResolvers(),data:Af});class w2{#e=new Map;get(e,n=null){if(n){let i=this.#e.getOrInsertComputed(e,m7);return i.promise.then(()=>n(i.data)),null}let s=this.#e.get(e);if(!s||s.data===Af)throw Error(`Requesting object that isn't resolved yet ${e}.`);return s.data}has(e){let n=this.#e.get(e);return!!n&&n.data!==Af}delete(e){let n=this.#e.get(e);if(!n||n.data===Af)return!1;return this.#e.delete(e),!0}resolve(e,n=null){let s=this.#e.getOrInsertComputed(e,m7);if(s.data!==Af)throw Error(`Object already resolved ${e}.`);s.data=n,s.resolve()}clear(){for(let{data:e}of this.#e.values())e?.bitmap?.close();this.#e.clear()}*[Symbol.iterator](){for(let[e,{data:n}]of this.#e)if(n!==Af)yield[e,n]}}var PM=1e5,p7=30;class Gi{#e=Promise.withResolvers();#t=null;#n=!1;#s=!!globalThis.FontInspector?.enabled;#i=null;#a=null;#r=null;#o=0;#l=0;#c=null;#u=null;#h=0;#d=0;#p=Object.create(null);#g=[];#f=null;#m=[];#b=new WeakMap;#w=null;static#y=new Map;static#v=new Map;static#x=new WeakMap;static#k=null;static#A=new Set;constructor({textContentSource:e,images:n,container:s,viewport:i}){if(e instanceof ReadableStream)this.#f=e;else if(typeof e==="object")this.#f=new ReadableStream({start(f){f.enqueue(e),f.close()}});else throw Error('No "textContentSource" parameter specified.');this.#t=this.#u=s,this.#i=n,this.#d=i.scale*ba.pixelRatio,this.#h=i.rotation,this.#r={div:null,properties:null,ctx:null};let{pageWidth:r,pageHeight:a,pageX:l,pageY:c}=i.rawDims;this.#w=[1,0,0,-1,-l,c+a],this.#l=r,this.#o=a,Gi.#R(),s.style.setProperty("--min-font-size",Gi.#k),mc(s,i),this.#e.promise.finally(()=>{Gi.#A.delete(this),this.#r=null,this.#p=null}).catch(()=>{})}static get fontFamilyMap(){let{isWindows:e,isFirefox:n}=Xn.platform;return Pt(this,"fontFamilyMap",new Map([["sans-serif",`${e&&n?"Calibri, ":""}sans-serif`],["monospace",`${e&&n?"Lucida Console, ":""}monospace`]]))}render(){if(this.#i)this.#t.append(this.#i.render());let e=()=>{this.#c.read().then(({value:n,done:s})=>{if(s){this.#e.resolve();return}this.#a??=n.lang,Object.assign(this.#p,n.styles),this.#T(n.items),e()},this.#e.reject)};return this.#c=this.#f.getReader(),Gi.#A.add(this),e(),this.#e.promise}update({viewport:e,onBefore:n=null}){let s=e.scale*ba.pixelRatio,i=e.rotation;if(i!==this.#h)n?.(),this.#h=i,mc(this.#u,{rotation:i});if(s!==this.#d){n?.(),this.#d=s;let r={div:null,properties:null,ctx:Gi.#C(this.#a)};for(let a of this.#m)r.properties=this.#b.get(a),r.div=a,this.#j(r)}}cancel(){let e=new Fo("TextLayer task cancelled.");this.#c?.cancel(e).catch(()=>{}),this.#c=null,this.#e.reject(e)}get textDivs(){return this.#m}get textContentItemsStr(){return this.#g}#T(e){if(this.#n)return;this.#r.ctx??=Gi.#C(this.#a);let n=this.#m,s=this.#g;for(let i of e){if(n.length>PM){fn("Ignoring additional textDivs for performance reasons."),this.#n=!0;return}if(i.str===void 0){if(i.type==="beginMarkedContentProps"||i.type==="beginMarkedContent"){let r=this.#t;if(this.#t=document.createElement("span"),this.#t.classList.add("markedContent"),i.id)this.#t.setAttribute("id",i.id);if(i.tag==="Artifact")this.#t.ariaHidden=!0;r.append(this.#t)}else if(i.type==="endMarkedContent")this.#t=this.#t.parentNode;continue}s.push(i.str),this.#I(i)}}#I(e){let n=document.createElement("span"),s={angle:0,canvasWidth:0,hasText:e.str!=="",hasEOL:e.hasEOL,fontSize:0};this.#m.push(n);let i=ut.transform(this.#w,e.transform),r=Math.atan2(i[1],i[0]),a=this.#p[e.fontName];if(a.vertical)r+=Math.PI/2;let l=this.#s&&a.fontSubstitution||a.fontFamily;l=Gi.fontFamilyMap.get(l)||l;let c=Math.hypot(i[2],i[3]),f=c*Gi.#q(l,a,this.#a),d,b;if(r===0)d=i[4],b=i[5]-f;else d=i[4]+f*Math.sin(r),b=i[5]-f*Math.cos(r);let y=n.style;if(y.left=`${(100*d/this.#l).toFixed(2)}%`,y.top=`${(100*b/this.#o).toFixed(2)}%`,y.setProperty("--font-height",`${c.toFixed(2)}px`),y.fontFamily=l,s.fontSize=c,n.setAttribute("role","presentation"),n.textContent=e.str,n.dir=e.dir,this.#s)n.dataset.fontName=a.fontSubstitutionLoadedName||e.fontName;if(r!==0)s.angle=r*(180/Math.PI);let v=!1;if(e.str.length>1)v=!0;else if(e.str!==" "&&e.transform[0]!==e.transform[3]){let k=Math.abs(e.transform[0]),A=Math.abs(e.transform[3]);if(k!==A&&Math.max(k,A)/Math.min(k,A)>1.5)v=!0}if(v)s.canvasWidth=a.vertical?e.height:e.width;if(this.#b.set(n,s),this.#r.div=n,this.#r.properties=s,this.#j(this.#r),s.hasText)this.#t.append(n);if(s.hasEOL){let k=document.createElement("br");k.setAttribute("role","presentation"),this.#t.append(k)}}#j(e){let{div:n,properties:s,ctx:i}=e,{style:r}=n;if(s.canvasWidth!==0&&s.hasText){let{fontFamily:a}=r,{canvasWidth:l,fontSize:c}=s;Gi.#D(i,c*this.#d,a);let{width:f}=i.measureText(n.textContent);if(f>0)r.setProperty("--scale-x",l*this.#d/f)}if(s.angle!==0)r.setProperty("--rotate",`${s.angle}deg`)}static cleanup(){if(this.#A.size>0)return;this.#y.clear();for(let{canvas:e}of this.#v.values())e.remove();this.#v.clear()}static#C(e=null){let n=this.#v.get(e||="");if(!n){let s=document.createElement("canvas");s.style.cssText="position:absolute;top:0;left:0;width:0;height:0;display:none;letter-spacing:normal;word-spacing:normal",s.lang=e,document.body.append(s),n=s.getContext("2d",{alpha:!1,willReadFrequently:!0}),this.#v.set(e,n),this.#x.set(n,{size:0,family:""})}return n}static#D(e,n,s){let i=this.#x.get(e);if(n===i.size&&s===i.family)return;e.font=`${n}px ${s}`,i.size=n,i.family=s}static#R(){if(this.#k!==null)return;let e=document.createElement("div");e.style.opacity=0,e.style.lineHeight=1,e.style.fontSize="1px",e.style.position="absolute",e.textContent="X",document.body.append(e),this.#k=e.getBoundingClientRect().height,e.remove()}static#q(e,n,s){let i=this.#y.get(e);if(i)return i;let r=this.#C(s);r.canvas.width=r.canvas.height=p7,this.#D(r,p7,e);let a=r.measureText(""),l=a.fontBoundingBoxAscent,c=Math.abs(a.fontBoundingBoxDescent);r.canvas.width=r.canvas.height=0;let f=0.8;if(l)f=l/(l+c);else{if(Xn.platform.isFirefox)fn("Enable the `dom.textMetrics.fontBoundingBox.enabled` preference in `about:config` to improve TextLayer rendering.");if(n.ascent)f=n.ascent;else if(n.descent)f=1+n.descent}return this.#y.set(e,f),f}}var NM=100;function y2(e={}){let n=new v2,{docId:s}=n,i=e.url?mM(e.url):null,r=e.data?pM(e.data):null,a=e.httpHeaders||null,l=e.withCredentials===!0,c=e.password??null,f=e.range instanceof S2?e.range:null,d=Number.isInteger(e.rangeChunkSize)&&e.rangeChunkSize>0?e.rangeChunkSize:65536,b=e.worker instanceof Ci?e.worker:null,y=e.verbosity,v=typeof e.docBaseUrl==="string"&&!xm(e.docBaseUrl)?e.docBaseUrl:null,k=W0(e.cMapUrl),A=e.cMapPacked!==!1,T=W0(e.iccUrl),R=W0(e.standardFontDataUrl),D=W0(e.wasmUrl),U=e.stopAtErrors!==!0,Y=Number.isInteger(e.maxImageSize)&&e.maxImageSize>-1?e.maxImageSize:-1,X=typeof e.isOffscreenCanvasSupported==="boolean"?e.isOffscreenCanvasSupported:!kr,J=typeof e.isImageDecoderSupported==="boolean"?e.isImageDecoderSupported:!kr,ee=Number.isInteger(e.canvasMaxAreaInBytes)?e.canvasMaxAreaInBytes:-1,te=typeof e.disableFontFace==="boolean"?e.disableFontFace:kr,ne=e.fontExtraProperties===!0,ie=e.enableXfa===!0,se=e.ownerDocument||globalThis.document,ae=e.disableRange===!0,be=e.disableStream===!0,ye=e.disableAutoFetch===!0,fe=e.pdfBug===!0,le=e.CanvasFactory||(kr?X7:G7),oe=e.FilterFactory||(kr?$7:V7),Se=e.BinaryDataFactory||(kr?W7:s2),we=e.enableHWA===!0,De=e.enableWebGPU===!0?kM():Promise.resolve(!1),Le=e.useWasm!==!1,Be=e.pagesMapper||new SS,Ke=typeof e.useSystemFonts==="boolean"?e.useSystemFonts:!kr&&!te,at=typeof e.useWorkerFetch==="boolean"?e.useWorkerFetch:!!(Se===s2&&k&&A&&R&&D&&tu(k,document.baseURI)&&tu(R,document.baseURI)&&tu(D,document.baseURI)),tt=null;Yq(y);let St={canvasFactory:new le({ownerDocument:se,enableHWA:we}),filterFactory:new oe({docId:s,ownerDocument:se}),binaryDataFactory:at?null:new Se({cMapUrl:k,standardFontDataUrl:R,wasmUrl:D})};if(!b)b=Ci.create({verbosity:y,port:Mo.workerPort}),n._worker=b;let jt={docId:s,apiVersion:"6.3.289",data:r,password:c,disableAutoFetch:ye,rangeChunkSize:d,docBaseUrl:v,enableXfa:ie,evaluatorOptions:{maxImageSize:Y,disableFontFace:te,ignoreErrors:U,isOffscreenCanvasSupported:X,isImageDecoderSupported:J,canvasMaxAreaInBytes:ee,fontExtraProperties:ne,useSystemFonts:Ke,useWasm:Le,useWorkerFetch:at,cMapUrl:k,cMapPacked:A,iccUrl:T,standardFontDataUrl:R,wasmUrl:D,hasGPU:!1}},dt={ownerDocument:se,pdfBug:fe,styleElement:tt,enableHWA:we,loadingParams:{disableAutoFetch:ye,enableXfa:ie}};return Promise.all([b.promise,De]).then(function([,Lt]){if(b.destroyed)throw Error("Worker was destroyed");jt.evaluatorOptions.hasGPU=Lt;let Zt=b.messageHandler.sendWithPromise("GetDocRequest",jt,r?[r.buffer]:null),dn;if(r);else if(f)dn=new cS({pdfDataRangeTransport:f,disableRange:ae,disableStream:be});else if(i)dn=new(OM(i))({url:i,httpHeaders:a,withCredentials:l,rangeChunkSize:d,disableRange:ae,disableStream:be});else throw Error("getDocument - expected either `data`, `range`, or `url` parameter.");return Zt.then((Xt)=>{if(b.destroyed)throw Error("Worker was destroyed");let on=new Tf(s,Xt,b.port),Yn=new xS(on,n,dn,dt,St,Be);if(n._transport=Yn,n.destroyed)throw Error("Loading aborted");on.send("Ready",null)})}).catch(n._capability.reject).finally(n._setupCapability.resolve),n}class v2{static#e=0;_capability=Promise.withResolvers();_setupCapability=Promise.withResolvers();_transport=null;_worker=null;docId=`d${v2.#e++}`;destroyed=!1;onPassword=null;onProgress=null;get promise(){return this._capability.promise}async destroy(){this.destroyed=!0,this._capability.promise.catch(()=>{});try{if(this._worker?.port)this._worker._pendingDestroy=!0;await this._setupCapability.promise,await this._transport?.destroy()}catch(e){if(this._worker?.port)delete this._worker._pendingDestroy;throw e}this._transport=null,this._worker?.destroy(),this._worker=null}async getData(){return this._transport.getData()}}class S2{#e=Promise.withResolvers();#t=null;constructor(e,n,s=!1,i=null){this.length=e,this.initialData=n,this.progressiveDone=s,this.contentDispositionFilename=i}onDataRange(e,n){this.#t({type:"range",begin:e,chunk:n})}onDataProgressiveRead(e){this.#e.promise.then(()=>{this.#t({type:"progressiveRead",chunk:e})})}onDataProgressiveDone(){this.#e.promise.then(()=>{this.#t({type:"progressiveDone"})})}transportReady(e){this.#t=e,this.#e.resolve()}requestDataRange(e,n){Dn("Abstract method PDFDataRangeTransport.requestDataRange")}abort(){}}class kS{constructor(e,n){this._pdfInfo=e,this._transport=n}get pagesMapper(){return this._transport.pagesMapper}get annotationStorage(){return this._transport.annotationStorage}get canvasFactory(){return this._transport.canvasFactory}get filterFactory(){return this._transport.filterFactory}get numPages(){return this._pdfInfo.numPages}get fingerprints(){return this._pdfInfo.fingerprints}get isPureXfa(){return Pt(this,"isPureXfa",!!this._transport._htmlForXfa)}get allXfaHtml(){return this._transport._htmlForXfa}getPage(e){return this._transport.getPage(e)}getPageIndex(e){return this._transport.getPageIndex(e)}getDestinations(){return this._transport.getDestinations()}getDestination(e){return this._transport.getDestination(e)}getPageLabels(){return this._transport.getPageLabels()}getPageLayout(){return this._transport.getPageLayout()}getPageMode(){return this._transport.getPageMode()}getViewerPreferences(){return this._transport.getViewerPreferences()}getOpenAction(){return this._transport.getOpenAction()}getAttachments(){return this._transport.getAttachments()}getAttachmentContent(e){return this._transport.getAttachmentContent(e)}getAnnotationsByType(e,n){return this._transport.getAnnotationsByType(e,n)}getJSActions(){return this._transport.getDocJSActions()}getOutline(){return this._transport.getOutline()}getOptionalContentConfig({intent:e="display"}={}){let{renderingIntent:n}=this._transport.getRenderingIntent(e);return this._transport.getOptionalContentConfig(n)}getPermissions(){return this._transport.getPermissions()}getMetadata(){return this._transport.getMetadata()}getMarkInfo(){return this._transport.getMarkInfo()}getData(){return this._transport.getData()}saveDocument(){return this._transport.saveDocument()}extractPages(e,n=null){return this._transport.extractPages(e,n)}getDownloadInfo(){return this._transport.downloadInfoCapability.promise}cleanup(e=!1){return this._transport.startCleanup(e||this.isPureXfa)}cachedPageNumber(e){return this._transport.cachedPageNumber(e)}get loadingParams(){return this._transport.loadingParams}get loadingTask(){return this._transport.loadingTask}getFieldObjects(){return this._transport.getFieldObjects()}getSignatures(){return this._transport.getSignatures()}getSignatureData(e){return this._transport.getSignatureData(e)}hasJSActions(){return this._transport.hasJSActions()}getCalculationOrderIds(){return this._transport.getCalculationOrderIds()}}class k2{#e=!1;#t=null;constructor(e,n,s,i,r=!1){this._pageIndex=e,this._pageInfo=n,this._transport=s,this._stats=r?new Qb:null,this._pdfBug=r,this.commonObjs=s.commonObjs,this.objs=new w2,this._intentStates=new Map,this.destroyed=!1,this.recordedBBoxes=null,this.#t=i,this.imageCoordinates=null}clone(e){let n=new k2(e,this._pageInfo,this._transport,this.#t,this._pdfBug);return n.clonedFromIndex=this.clonedFromIndex??this._pageIndex,this._transport.updatePage(n),n}get pageNumber(){return this._pageIndex+1}set pageNumber(e){this._pageIndex=e-1,this._transport.updatePage(this)}get rotate(){return this._pageInfo.rotate}get ref(){return this._pageInfo.ref}get userUnit(){return this._pageInfo.userUnit}get view(){return this._pageInfo.view}getViewport({scale:e,rotation:n=this.rotate,offsetX:s=0,offsetY:i=0,dontFlip:r=!1}={}){return new du({viewBox:this.view,userUnit:this.userUnit,scale:e,rotation:n,offsetX:s,offsetY:i,dontFlip:r})}getAnnotations({intent:e="display"}={}){let{renderingIntent:n}=this._transport.getRenderingIntent(e);return this._transport.getAnnotations(this._pageIndex,n)}getJSActions(){return this._transport.getPageJSActions(this._pageIndex)}get filterFactory(){return this._transport.filterFactory}get isPureXfa(){return Pt(this,"isPureXfa",!!this._transport._htmlForXfa)}async getXfa(){return this._transport._htmlForXfa?.children[this._pageIndex]||null}render({canvasContext:e,canvas:n=e.canvas,viewport:s,intent:i="display",annotationMode:r=xl.ENABLE,transform:a=null,background:l=null,optionalContentConfigPromise:c=null,annotationCanvasMap:f=null,pageColors:d=null,printAnnotationStorage:b=null,isEditing:y=!1,recordImages:v=!1,recordOperations:k=!1,operationsFilter:A=null}){this._stats?.time("Overall");let T=this._transport.getRenderingIntent(i,r,b,y),{renderingIntent:R,cacheKey:D}=T;this.#e=!1,c||=this._transport.getOptionalContentConfig(R);let U=this._intentStates.getOrInsertComputed(D,Yb);if(U.streamReaderCancelTimeout)clearTimeout(U.streamReaderCancelTimeout),U.streamReaderCancelTimeout=null;let Y=!!(R&Sr.PRINT);if(!U.displayReadyCapability)U.displayReadyCapability=Promise.withResolvers(),U.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},this._stats?.time("Page Request"),this._pumpOperatorList(T);let X=!!(this._pdfBug&&globalThis.StepperManager?.enabled),J=!!n&&!this.recordedBBoxes&&(k||X),ee=!!n&&!this.imageCoordinates&&v,te=(be)=>{if(U.renderTasks.delete(se),J){let ye=se.gfx?.dependencyTracker.take();if(ye){if(se.stepper?.setOperatorBBoxes(ye,se.gfx.dependencyTracker.takeDebugMetadata()),k)this.recordedBBoxes=ye}}if(ee&&!be)this.imageCoordinates=se.gfx?.imagesTracker.take();if(Y)this.#e=!0;if(this.#n(),be)se.capability.reject(be),this._abortOperatorList({intentState:U,reason:be instanceof Error?be:Error(be)});else se.capability.resolve();if(this._stats){if(this._stats.timeEnd("Rendering"),this._stats.timeEnd("Overall"),globalThis.Stats?.enabled)globalThis.Stats.add(this.pageNumber,this._stats)}},ne=null,ie=null;if(J||ee)ie=new D7(n,U.operatorList.length);if(J)ne=new q7(ie,X);let se=new Ef({callback:te,params:{canvas:n,canvasContext:e,dependencyTracker:ne??ie,imagesTracker:ee?new hm(n):null,viewport:s,transform:a,background:l},objs:this.objs,commonObjs:this.commonObjs,annotationCanvasMap:f,operatorList:U.operatorList,pageIndex:this._pageIndex,canvasFactory:this._transport.canvasFactory,filterFactory:this._transport.filterFactory,useRequestAnimationFrame:!Y,pdfBug:this._pdfBug,pageColors:d,enableHWA:this._transport.enableHWA,operationsFilter:A});(U.renderTasks||=new Set).add(se);let ae=se.task;return Promise.all([U.displayReadyCapability.promise,c]).then(([be,ye])=>{if(this.destroyed){te();return}if(this._stats?.time("Rendering"),!(ye.renderingIntent&R))throw Error("Must use the same `intent`-argument when calling the `PDFPageProxy.render` and `PDFDocumentProxy.getOptionalContentConfig` methods.");se.initializeGraphics({transparency:be,optionalContentConfig:ye}),se.operatorListChanged()}).catch(te),ae}getOperatorList({intent:e="display",annotationMode:n=xl.ENABLE,printAnnotationStorage:s=null,isEditing:i=!1}={}){function r(){if(l.operatorList.lastChunk)l.opListReadCapability.resolve(l.operatorList),l.renderTasks.delete(c)}let a=this._transport.getRenderingIntent(e,n,s,i,!0),l=this._intentStates.getOrInsertComputed(a.cacheKey,Yb),c;if(!l.opListReadCapability)c=Object.create(null),c.operatorListChanged=r,l.opListReadCapability=Promise.withResolvers(),(l.renderTasks||=new Set).add(c),l.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},this._stats?.time("Page Request"),this._pumpOperatorList(a);return l.opListReadCapability.promise}streamTextContent({includeMarkedContent:e=!1,disableNormalization:n=!1}={}){return this._transport.messageHandler.sendWithStream("GetTextContent",{pageId:this.#t.getPageId(this._pageIndex+1)-1,pageIndex:this._pageIndex,includeMarkedContent:e===!0,disableNormalization:n===!0},{highWaterMark:100,size(i){return i.items.length}})}async getTextContent(e={}){if(this._transport._htmlForXfa)return this.getXfa().then((i)=>ru.textContent(i));let n=this.streamTextContent(e),s={items:[],styles:Object.create(null),lang:null};for await(let i of n)s.lang??=i.lang,Object.assign(s.styles,i.styles),s.items.push(...i.items);return s}getStructTree(){return this._transport.getStructTree(this._pageIndex)}_destroy(){this.destroyed=!0;let e=[];for(let n of this._intentStates.values()){if(this._abortOperatorList({intentState:n,reason:Error("Page was destroyed."),force:!0}),n.opListReadCapability)continue;for(let s of n.renderTasks)e.push(s.completed),s.cancel()}return this.objs.clear(),this.#e=!1,Promise.all(e)}cleanup(e=!1){this.#e=!0;let n=this.#n();if(e&&n)this._stats&&=new Qb;return n}#n(){if(!this.#e||this.destroyed)return!1;for(let{renderTasks:e,operatorList:n}of this._intentStates.values())if(e.size>0||!n.lastChunk)return!1;return this._intentStates.clear(),this.objs.clear(),this.#e=!1,!0}_startRenderPage(e,n){let s=this._intentStates.get(n);if(!s)return;this._stats?.timeEnd("Page Request"),s.displayReadyCapability?.resolve(e)}_renderPageChunk(e,n){for(let s=0,i=e.length;s<i;s++)n.operatorList.fnArray.push(e.fnArray[s]),n.operatorList.argsArray.push(e.argsArray[s]);n.operatorList.lastChunk=e.lastChunk,n.operatorList.separateAnnots=e.separateAnnots;for(let s of n.renderTasks)s.operatorListChanged();if(e.lastChunk)this.#n()}_pumpOperatorList({renderingIntent:e,cacheKey:n,annotationStorageSerializable:s,modifiedIds:i}){let{map:r,transfer:a}=s,c=this._transport.messageHandler.sendWithStream("GetOperatorList",{pageId:this.#t.getPageId(this._pageIndex+1)-1,pageIndex:this._pageIndex,intent:e,cacheKey:n,annotationStorage:r,modifiedIds:i},void 0,a).getReader(),f=this._intentStates.get(n);f.streamReader=c;let d=()=>{c.read().then(({value:b,done:y})=>{if(y){f.streamReader=null;return}if(this._transport.destroyed)return;this._renderPageChunk(b,f),d()},(b)=>{if(f.streamReader=null,this._transport.destroyed)return;if(f.operatorList){f.operatorList.lastChunk=!0;for(let y of f.renderTasks)y.operatorListChanged();this.#n()}if(f.displayReadyCapability)f.displayReadyCapability.reject(b);else if(f.opListReadCapability)f.opListReadCapability.reject(b);else throw b})};d()}_abortOperatorList({intentState:e,reason:n,force:s=!1}){if(!e.streamReader)return;if(e.streamReaderCancelTimeout)clearTimeout(e.streamReaderCancelTimeout),e.streamReaderCancelTimeout=null;if(!s){if(e.renderTasks.size>0)return;if(n instanceof km){let i=NM;if(n.extraDelay>0&&n.extraDelay<1000)i+=n.extraDelay;e.streamReaderCancelTimeout=setTimeout(()=>{e.streamReaderCancelTimeout=null,this._abortOperatorList({intentState:e,reason:n,force:!0})},i);return}}if(e.streamReader.cancel(new Fo(n.message)).catch(()=>{}),e.streamReader=null,this._transport.destroyed)return;for(let[i,r]of this._intentStates)if(r===e){this._intentStates.delete(i);break}this.cleanup()}get stats(){return this._stats}}class Ci{#e=Promise.withResolvers();#t=null;#n=null;#s=null;static#i=0;static#a=!1;static#r=new WeakMap;static{if(kr)this.#a=!0,Mo.workerSrc||="./pdf.worker.mjs";this._isSameOrigin=(e,n)=>{let s=URL.parse(e);if(!s?.origin||s.origin==="null")return!1;let i=new URL(n,s);return s.origin===i.origin},this._createCDNWrapper=(e)=>{let n=`await import("${e}");`;return URL.createObjectURL(new Blob([n],{type:"text/javascript"}))}}constructor({name:e=null,port:n=null,verbosity:s=Qq()}={}){if(this.name=e,this.destroyed=!1,this.verbosity=s,n){if(Ci.#r.has(n))throw Error("Cannot use more than one PDFWorker per port.");Ci.#r.set(n,this),this.#l(n)}else this.#c()}get promise(){return this.#e.promise}#o(){this.#e.resolve(),this.#t.send("configure",{verbosity:this.verbosity})}get port(){return this.#n}get messageHandler(){return this.#t}#l(e){this.#n=e,this.#t=new Tf("main","worker",e),this.#t.on("ready",()=>{}),this.#o()}#c(){if(Ci.#a||Ci.#h){this.#u();return}let{workerSrc:e}=Ci;try{if(!Ci._isSameOrigin(window.location,e))e=Ci._createCDNWrapper(new URL(e,window.location).href);let n=new Worker(e,{type:"module"}),s=new Tf("main","worker",n),i=()=>{if(r.abort(),s.destroy(),n.terminate(),this.destroyed)this.#e.reject(Error("Worker was destroyed"));else this.#u()},r=new AbortController;n.addEventListener("error",()=>{if(!this.#s)i()},{signal:r.signal}),s.on("test",(l)=>{if(r.abort(),this.destroyed||!l){i();return}this.#t=s,this.#n=n,this.#s=n,this.#o()}),s.on("ready",(l)=>{if(r.abort(),this.destroyed){i();return}try{a()}catch{this.#u()}});let a=()=>{let l=new Uint8Array;s.send("test",l,[l.buffer])};a();return}catch{vm("The worker has been disabled.")}this.#u()}#u(){if(!Ci.#a)fn("Setting up fake worker."),Ci.#a=!0;Ci._setupFakeWorkerGlobal.then((e)=>{if(this.destroyed){this.#e.reject(Error("Worker was destroyed"));return}let n=new z7;this.#n=n;let s=`fake${Ci.#i++}`,i=new Tf(s+"_worker",s,n);e.setup(i,n),this.#t=new Tf(s,s+"_worker",n),this.#o()}).catch((e)=>{this.#e.reject(Error(`Setting up fake worker failed: "${e.message}".`))})}destroy(){this.destroyed=!0,this.#s?.terminate(),this.#s=null,Ci.#r.delete(this.#n),this.#n=null,this.#t?.destroy(),this.#t=null}static create(e){let n=this.#r.get(e?.port);if(n){if(n._pendingDestroy)throw Error("PDFWorker.create - the worker is being destroyed.\nPlease remember to await `PDFDocumentLoadingTask.destroy()`-calls.");return n}return new Ci(e)}static get workerSrc(){if(Mo.workerSrc)return Mo.workerSrc;throw Error('No "GlobalWorkerOptions.workerSrc" specified.')}static get#h(){try{return globalThis.pdfjsWorker?.WorkerMessageHandler||null}catch{return null}}static get _setupFakeWorkerGlobal(){return Pt(this,"_setupFakeWorkerGlobal",(async()=>{if(this.#h)return this.#h;return(await import(this.workerSrc)).WorkerMessageHandler})())}}class xS{downloadInfoCapability=Promise.withResolvers();#e=null;#t=new Map;#n=null;#s=new Map;#i=new Map;#a=new Map;#r=null;constructor(e,n,s,i,r,a){this.messageHandler=e,this.loadingTask=n,this.#n=s,this.commonObjs=new w2,this.fontLoader=new M7({ownerDocument:i.ownerDocument,styleElement:i.styleElement}),this.enableHWA=i.enableHWA,this.loadingParams=i.loadingParams,this._params=i,this.canvasFactory=r.canvasFactory,this.filterFactory=r.filterFactory,this.binaryDataFactory=r.binaryDataFactory,this.pagesMapper=a,this.destroyed=!1,this.destroyCapability=null,this.setupMessageHandler()}updatePage(e){let{_pageIndex:n}=e;this.#s.set(n,e),this.#i.set(n,Promise.resolve(e))}#o(e,n=null){return this.#t.getOrInsertComputed(e,()=>this.messageHandler.sendWithPromise(e,n))}#l({loaded:e,total:n}){this.loadingTask.onProgress?.({loaded:e,total:n,percent:n?vs(Math.round(e/n*100),0,100):NaN})}get annotationStorage(){return Pt(this,"annotationStorage",new Am)}getRenderingIntent(e,n=xl.ENABLE,s=null,i=!1,r=!1){let a=Sr.DISPLAY,l=au;switch(e){case"any":a=Sr.ANY;break;case"display":break;case"print":a=Sr.PRINT;break;default:fn(`getRenderingIntent - invalid intent: ${e}`)}let c=a&Sr.PRINT&&s instanceof d2?s:this.annotationStorage;switch(n){case xl.DISABLE:a+=Sr.ANNOTATIONS_DISABLE;break;case xl.ENABLE:break;case xl.ENABLE_FORMS:a+=Sr.ANNOTATIONS_FORMS;break;case xl.ENABLE_STORAGE:a+=Sr.ANNOTATIONS_STORAGE,l=c.serializable;break;default:fn(`getRenderingIntent - invalid annotationMode: ${n}`)}if(i)a+=Sr.IS_EDITING;if(r)a+=Sr.OPLIST;let{ids:f,hash:d}=c.modifiedIds,b=[a,l.hash,d];return{renderingIntent:a,cacheKey:b.join("_"),annotationStorageSerializable:l,modifiedIds:f}}destroy(){if(this.destroyCapability)return this.destroyCapability.promise;this.destroyed=!0,this.destroyCapability=Promise.withResolvers(),this.#r?.reject(Error("Worker was destroyed during onPassword callback"));let e=[];for(let s of this.#s.values())e.push(s._destroy());if(this.#s.clear(),this.#i.clear(),this.#a.clear(),Object.hasOwn(this,"annotationStorage"))this.annotationStorage.resetModified();let n=this.messageHandler.sendWithPromise("Terminate",null);return e.push(n),Promise.all(e).then(()=>{this.commonObjs.clear(),this.fontLoader.clear(),this.#t.clear(),this.filterFactory.destroy(),Gi.cleanup(),this.#n?.cancelAllRequests(new Fo("Worker was terminated.")),this.messageHandler?.destroy(),this.messageHandler=null,this.destroyCapability.resolve()},this.destroyCapability.reject),this.destroyCapability.promise}setupMessageHandler(){let{messageHandler:e,loadingTask:n}=this;e.on("GetReader",(s,i)=>{Hs(this.#n,"GetReader - no `BasePDFStream` instance available."),this.#e=this.#n.getFullReader(),this.#e.onProgress=(r)=>this.#l(r),i.onPull=()=>{this.#e.read().then(function({value:r,done:a}){if(a){i.close();return}Hs(r instanceof ArrayBuffer,"GetReader - expected an ArrayBuffer."),i.enqueue(new Uint8Array(r),1,[r])}).catch((r)=>{i.error(r)})},i.onCancel=(r)=>{this.#e.cancel(r),i.ready.catch((a)=>{if(this.destroyed)return;throw a})}}),e.on("ReaderHeadersReady",async(s)=>{await this.#e.headersReady;let{isStreamingSupported:i,isRangeSupported:r,contentLength:a}=this.#e;if(i&&r)this.#e.onProgress=null;return{isStreamingSupported:i,isRangeSupported:r,contentLength:a}}),e.on("GetRangeReader",(s,i)=>{Hs(this.#n,"GetRangeReader - no `BasePDFStream` instance available.");let r=this.#n.getRangeReader(s.begin,s.end);if(!r){i.close();return}i.onPull=()=>{r.read().then(function({value:a,done:l}){if(l){i.close();return}Hs(a instanceof ArrayBuffer,"GetRangeReader - expected an ArrayBuffer."),i.enqueue(new Uint8Array(a),1,[a])}).catch((a)=>{i.error(a)})},i.onCancel=(a)=>{r.cancel(a),i.ready.catch((l)=>{if(this.destroyed)return;throw l})}}),e.on("GetDoc",({pdfInfo:s})=>{this.pagesMapper.pagesNumber=s.numPages,this._numPages=s.numPages,this._htmlForXfa=s.htmlForXfa,delete s.htmlForXfa,n._capability.resolve(new kS(s,this))}),e.on("DocException",(s)=>{n._capability.reject(tr(s))}),e.on("PasswordRequest",(s)=>{this.#r=Promise.withResolvers();try{if(!n.onPassword)throw tr(s);let i=(r)=>{if(r instanceof Error)this.#r.reject(r);else this.#r.resolve({password:r})};n.onPassword(i,s.code)}catch(i){this.#r.reject(i)}return this.#r.promise}),e.on("DataLoaded",(s)=>{this.#l({loaded:s.length,total:s.length}),this.downloadInfoCapability.resolve(s)}),e.on("StartRenderPage",(s)=>{if(this.destroyed)return;this.#s.get(s.pageIndex)._startRenderPage(s.transparency,s.cacheKey)}),e.on("commonobj",([s,i,r])=>{if(this.destroyed)return null;if(this.commonObjs.has(s))return null;switch(i){case"Font":if("error"in r){let b=r.error;fn(`Error during font loading: ${b}`),this.commonObjs.resolve(s,b);break}let a=new B7(r),l=this._params.pdfBug&&globalThis.FontInspector?.enabled?(b,y)=>globalThis.FontInspector.fontAdded(b,y):null,c=new F7(a,l,r.charProcOperatorList,r.extra);this.fontLoader.bind(c).catch(()=>e.sendWithPromise("FontFallback",{id:s})).finally(()=>{if(!c.fontExtraProperties)c.clearData();this.commonObjs.resolve(s,c)});break;case"CopyLocalImage":let{imageRef:f}=r;Hs(f,"The imageRef must be defined.");for(let b of this.#s.values())for(let[,y]of b.objs){if(y?.ref!==f)continue;if(!y.dataLen)return null;let v=structuredClone(y);return this.commonObjs.resolve(s,v),y.dataLen}break;case"FontPath":this.commonObjs.resolve(s,new U7(r));break;case"Image":this.commonObjs.resolve(s,r);break;case"Pattern":let d=new H7(r);this.commonObjs.resolve(s,d.getIR());break;default:throw Error(`Got unknown common object type ${i}`)}return null}),e.on("obj",([s,i,r,a])=>{if(this.destroyed)return;let l=this.#s.get(i);if(l.objs.has(s))return;if(l._intentStates.size===0){a?.bitmap?.close();return}switch(r){case"Image":case"Pattern":l.objs.resolve(s,a);break;default:throw Error(`Got unknown object type ${r}`)}}),e.on("DocProgress",(s)=>{if(this.destroyed)return;this.#l(s)}),e.on("FetchBinaryData",async(s)=>{if(this.destroyed)throw Error("Worker was destroyed.");if(!this.binaryDataFactory)throw Error("`BinaryDataFactory` not initialized, see the `useWorkerFetch` parameter.");return this.binaryDataFactory.fetch(s)})}getData(){return this.messageHandler.sendWithPromise("GetData",null)}saveDocument(){if(this.annotationStorage.size<=0)fn("saveDocument called while `annotationStorage` is empty, please use the getData-method instead.");let{map:e,transfer:n}=this.annotationStorage.serializable;return this.messageHandler.sendWithPromise("SaveDocument",{isPureXfa:!!this._htmlForXfa,numPages:this._numPages,annotationStorage:e,filename:this.#e?.filename??null},n).finally(()=>{this.annotationStorage.resetModified()})}extractPages(e,n=null){let s={pageInfos:e},i,r=globalThis.ImageBitmap;if(typeof r==="function"){let a=Array.isArray(e)?e:[e];for(let l of a)if(l?.image instanceof r)(i||=[]).push(l.image)}if(this.annotationStorage.size>0){let a=this.annotationStorage.serializable,{map:l}=a;if(a.transfer?.length)if(i)i.push(...a.transfer);else i=a.transfer;let c=this.pagesMapper.getMapping();if(c){let f=new Map;for(let[d,b]of l){if(b?.pageIndex!==void 0&&b.pageIndex>=0&&b.pageIndex<c.length){let y=n?.[b.pageIndex]??0,v=c[b.pageIndex]-1;if(v!==b.pageIndex||y!==0){f.set(d,{...b,pageIndex:v,copyLevel:y});continue}}f.set(d,b)}l=f}s.annotationStorage=l}return this.messageHandler.sendWithPromise("ExtractPages",s,i).finally(()=>{this.annotationStorage.resetModified()})}getPage(e){if(!Number.isInteger(e)||e<=0||e>this.pagesMapper.pagesNumber)return Promise.reject(Error("Invalid page request."));let n=e-1,s=this.pagesMapper.getPageId(e)-1,i=this.#i.get(n);if(i)return i;let r=this.messageHandler.sendWithPromise("GetPage",{pageIndex:s}).then((a)=>{if(this.destroyed)throw Error("Transport destroyed");if(a.refStr)this.#a.set(a.refStr,s);let l=new k2(n,a,this,this.pagesMapper,this._params.pdfBug);return this.#s.set(n,l),l});return this.#i.set(n,r),r}async getPageIndex(e){if(!n2(e))throw Error("Invalid pageIndex request.");let n=await this.messageHandler.sendWithPromise("GetPageIndex",{num:e.num,gen:e.gen}),s=this.pagesMapper.getPageNumber(n+1);if(s===0)throw Error("GetPageIndex: page has been removed.");return s-1}getAnnotations(e,n){return this.messageHandler.sendWithPromise("GetAnnotations",{pageIndex:this.pagesMapper.getPageId(e+1)-1,intent:n})}getFieldObjects(){return this.#o("GetFieldObjects")}getSignatures(){return this.#o("GetSignatures")}getSignatureData(e){return this.messageHandler.sendWithPromise("GetSignatureData",e)}hasJSActions(){return this.#o("HasJSActions")}getCalculationOrderIds(){return this.messageHandler.sendWithPromise("GetCalculationOrderIds",null)}getDestinations(){return this.messageHandler.sendWithPromise("GetDestinations",null)}getDestination(e){if(typeof e!=="string")return Promise.reject(Error("Invalid destination request."));return this.messageHandler.sendWithPromise("GetDestination",{id:e})}getPageLabels(){return this.messageHandler.sendWithPromise("GetPageLabels",null)}getPageLayout(){return this.messageHandler.sendWithPromise("GetPageLayout",null)}getPageMode(){return this.messageHandler.sendWithPromise("GetPageMode",null)}getViewerPreferences(){return this.messageHandler.sendWithPromise("GetViewerPreferences",null)}getOpenAction(){return this.messageHandler.sendWithPromise("GetOpenAction",null)}getAttachments(){return this.messageHandler.sendWithPromise("GetAttachments",null)}getAttachmentContent(e){return this.messageHandler.sendWithPromise("GetAttachmentContent",e)}getAnnotationsByType(e,n){return this.messageHandler.sendWithPromise("GetAnnotationsByType",{types:e,pageIndexesToSkip:n})}getDocJSActions(){return this.#o("GetDocJSActions")}getPageJSActions(e){return this.messageHandler.sendWithPromise("GetPageJSActions",{pageIndex:this.pagesMapper.getPageId(e+1)-1})}getStructTree(e){return this.messageHandler.sendWithPromise("GetStructTree",{pageIndex:this.pagesMapper.getPageId(e+1)-1})}getOutline(){return this.messageHandler.sendWithPromise("GetOutline",null)}getOptionalContentConfig(e){return this.#o("GetOptionalContentConfig").then((n)=>new b2(n,e))}getPermissions(){return this.messageHandler.sendWithPromise("GetPermissions",null)}getMetadata(){return this.#t.getOrInsertComputed("GetMetadata",()=>this.messageHandler.sendWithPromise("GetMetadata",null).then((n)=>({info:n[0],metadata:n[1]?new yS(n[1]):null,contentDispositionFilename:this.#e?.filename??null,contentLength:this.#e?.contentLength??null,hasStructTree:n[2]})))}getMarkInfo(){return this.messageHandler.sendWithPromise("GetMarkInfo",null)}async startCleanup(e=!1){if(this.destroyed)return;await this.messageHandler.sendWithPromise("Cleanup",null);for(let n of this.#s.values())if(!n.cleanup())throw Error(`startCleanup: Page ${n.pageNumber} is currently rendering.`);if(this.commonObjs.clear(),!e)this.fontLoader.clear();this.#t.clear(),this.filterFactory.destroy(!0),Gi.cleanup()}cachedPageNumber(e){if(!n2(e))return null;let n=e.gen===0?`${e.num}R`:`${e.num}R${e.gen}`,s=this.#a.get(n);if(s>=0){let i=this.pagesMapper.getPageNumber(s+1);if(i!==0)return i}return null}}class AS{_internalRenderTask=null;onContinue=null;onError=null;constructor(e){this._internalRenderTask=e}get promise(){return this._internalRenderTask.capability.promise}cancel(e=0){this._internalRenderTask.cancel(null,e)}get separateAnnots(){let{separateAnnots:e}=this._internalRenderTask.operatorList;if(!e)return!1;let{annotationCanvasMap:n}=this._internalRenderTask;return e.form||e.canvas&&n?.size>0}get imageCoordinates(){return this._internalRenderTask.imageCoordinates||null}}class Ef{#e=null;static#t=new WeakSet;constructor({callback:e,params:n,objs:s,commonObjs:i,annotationCanvasMap:r,operatorList:a,pageIndex:l,canvasFactory:c,filterFactory:f,useRequestAnimationFrame:d=!1,pdfBug:b=!1,pageColors:y=null,enableHWA:v=!1,operationsFilter:k=null}){this.callback=e,this.params=n,this.objs=s,this.commonObjs=i,this.annotationCanvasMap=r,this.operatorListIdx=null,this.operatorList=a,this._pageIndex=l,this.canvasFactory=c,this.filterFactory=f,this._pdfBug=b,this.pageColors=y,this.running=!1,this.graphicsReadyCallback=null,this.graphicsReady=!1,this._useRequestAnimationFrame=d===!0&&typeof window<"u",this.cancelled=!1,this.capability=Promise.withResolvers(),this.task=new AS(this),this._cancelBound=this.cancel.bind(this),this._continueBound=this._continue.bind(this),this._scheduleNextBound=this._scheduleNext.bind(this),this._nextBound=this._next.bind(this),this._canvas=n.canvas,this._canvasContext=n.canvas?null:n.canvasContext,this._enableHWA=v,this._dependencyTracker=n.dependencyTracker,this._imagesTracker=n.imagesTracker,this._operationsFilter=k}get completed(){return this.capability.promise.catch(function(){})}initializeGraphics({transparency:e=!1,optionalContentConfig:n}){if(this.cancelled)return;if(this._canvas){if(Ef.#t.has(this._canvas))throw Error("Cannot use the same canvas during multiple render() operations. Use different canvas or ensure previous operations were cancelled or completed.");Ef.#t.add(this._canvas)}if(this._pdfBug&&globalThis.StepperManager?.enabled)this.stepper=globalThis.StepperManager.create(this._pageIndex),this.stepper.init(this.operatorList),this.stepper.nextBreakPoint=this.stepper.getNextBreakPoint();let{viewport:s,transform:i,background:r,dependencyTracker:a,imagesTracker:l}=this.params,c=this._canvasContext||this._canvas.getContext("2d",{alpha:!1,willReadFrequently:!this._enableHWA});this.gfx=new uc(c,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:n},this.annotationCanvasMap,this.pageColors,a,l),this.gfx.beginDrawing({transform:i,viewport:s,transparency:e,background:r}),this.operatorListIdx=0,this.graphicsReady=!0,this.graphicsReadyCallback?.()}cancel(e=null,n=0){if(this.running=!1,this.cancelled=!0,this.gfx?.endDrawing(),this.#e)window.cancelAnimationFrame(this.#e),this.#e=null;Ef.#t.delete(this._canvas),e||=new km(`Rendering cancelled, page ${this._pageIndex+1}`,n),this.callback(e),this.task.onError?.(e)}operatorListChanged(){if(!this.graphicsReady){this.graphicsReadyCallback||=this._continueBound;return}if(this.gfx.dependencyTracker?.growOperationsCount(this.operatorList.fnArray.length),this.stepper?.updateOperatorList(this.operatorList),this.running)return;this._continue()}_continue(){if(this.running=!0,this.cancelled)return;if(this.task.onContinue)this.task.onContinue(this._scheduleNextBound);else this._scheduleNext()}_scheduleNext(){if(this._useRequestAnimationFrame)this.#e=window.requestAnimationFrame(()=>{this.#e=null,this._nextBound().catch(this._cancelBound)});else Promise.resolve().then(this._nextBound).catch(this._cancelBound)}async _next(){if(this.cancelled)return;if(this.operatorListIdx=this.gfx.executeOperatorList(this.operatorList,this.operatorListIdx,this._continueBound,this.stepper,this._operationsFilter),this.operatorListIdx===this.operatorList.argsArray.length){if(this.running=!1,this.operatorList.lastChunk)this.gfx.endDrawing(),Ef.#t.delete(this._canvas),this.callback()}}}var BM="6.3.289",HM="1c8020a7d";class Xr{#e=null;#t=null;#n;#s=null;#i=!1;#a=!1;#r=null;#o;#l=null;#c=null;static#u=null;static get _keyboardManager(){return Pt(this,"_keyboardManager",new xr([[["Escape"],Xr.prototype._hideDropdownFromKeyboard],[["Space"],Xr.prototype._colorSelectFromKeyboard],[["ArrowDown","ArrowRight"],Xr.prototype._moveToNext],[["ArrowUp","ArrowLeft"],Xr.prototype._moveToPrevious],[["Home"],Xr.prototype._moveToBeginning],[["End"],Xr.prototype._moveToEnd]]))}constructor({editor:e=null,uiManager:n=null}){if(e)this.#a=!1,this.#r=e;else this.#a=!0;this.#c=e?._uiManager||n,this.#o=this.#c._eventBus,this.#n=e?.color?.toUpperCase()||this.#c?.highlightColors.values().next().value||"#FFFF98",Xr.#u||=Object.freeze({blue:"pdfjs-editor-colorpicker-blue",green:"pdfjs-editor-colorpicker-green",pink:"pdfjs-editor-colorpicker-pink",red:"pdfjs-editor-colorpicker-red",yellow:"pdfjs-editor-colorpicker-yellow"})}renderButton(){let e=this.#e=document.createElement("button");if(e.className="colorPicker",e.tabIndex="0",e.setAttribute("data-l10n-id","pdfjs-editor-colorpicker-button"),e.ariaHasPopup="true",this.#r)e.ariaControls=`${this.#r.id}_colorpicker_dropdown`;let n=this.#c._signal;e.addEventListener("click",this.#g.bind(this),{signal:n}),e.addEventListener("keydown",this.#p.bind(this),{signal:n});let s=this.#t=document.createElement("span");return s.className="swatch",s.ariaHidden="true",s.style.backgroundColor=this.#n,e.append(s),e}renderMainDropdown(){let e=this.#s=this.#h();return e.ariaOrientation="horizontal",e.ariaLabelledBy="highlightColorPickerLabel",e}#h(){let e=document.createElement("div"),n=this.#c._signal;if(e.addEventListener("contextmenu",ga,{signal:n}),e.className="dropdown",e.role="listbox",e.ariaMultiSelectable="false",e.ariaOrientation="vertical",e.setAttribute("data-l10n-id","pdfjs-editor-colorpicker-dropdown"),this.#r)e.id=`${this.#r.id}_colorpicker_dropdown`;for(let[s,i]of this.#c.highlightColors){let r=document.createElement("button");r.tabIndex="0",r.role="option",r.setAttribute("data-color",i),r.title=s,r.setAttribute("data-l10n-id",Xr.#u[s]);let a=document.createElement("span");r.append(a),a.className="swatch",a.style.backgroundColor=i,r.ariaSelected=i===this.#n,r.addEventListener("click",this.#d.bind(this,i),{signal:n}),e.append(r)}return e.addEventListener("keydown",this.#p.bind(this),{signal:n}),e}#d(e,n){n.stopPropagation(),this.#o.dispatch("switchannotationeditorparams",{source:this,type:An.HIGHLIGHT_COLOR,value:e}),this.update(e)}_colorSelectFromKeyboard(e){if(e.target===this.#e){this.#g(e);return}let n=e.target.getAttribute("data-color");if(!n)return;this.#d(n,e)}_moveToNext(e){if(!this.#m){this.#g(e);return}if(e.target===this.#e){this.#s.firstElementChild?.focus();return}e.target.nextSibling?.focus()}_moveToPrevious(e){if(e.target===this.#s?.firstElementChild||e.target===this.#e){if(this.#m)this._hideDropdownFromKeyboard();return}if(!this.#m)this.#g(e);e.target.previousSibling?.focus()}_moveToBeginning(e){if(!this.#m){this.#g(e);return}this.#s.firstElementChild?.focus()}_moveToEnd(e){if(!this.#m){this.#g(e);return}this.#s.lastElementChild?.focus()}#p(e){Xr._keyboardManager.exec(this,e)}#g(e){if(this.#m){this.hideDropdown();return}if(this.#i=e.detail===0,!this.#l)this.#l=new AbortController,window.addEventListener("pointerdown",this.#f.bind(this),{signal:this.#c.combinedSignal(this.#l)});if(this.#e.ariaExpanded="true",this.#s){this.#s.classList.remove("hidden");return}let n=this.#s=this.#h();this.#e.append(n)}#f(e){if(this.#s?.contains(e.target))return;this.hideDropdown()}hideDropdown(){this.#s?.classList.add("hidden"),this.#e.ariaExpanded="false",this.#l?.abort(),this.#l=null}get#m(){return this.#s&&!this.#s.classList.contains("hidden")}_hideDropdownFromKeyboard(){if(this.#a)return;if(!this.#m){this.#r?.unselect();return}this.hideDropdown(),this.#e.focus({preventScroll:!0,focusVisible:this.#i})}update(e){if(this.#t)this.#t.style.backgroundColor=e;if(!this.#s)return;let n=this.#c.highlightColors.values();for(let s of this.#s.children)s.ariaSelected=n.next().value===e.toUpperCase()}destroy(){this.#e?.remove(),this.#e=null,this.#t=null,this.#s?.remove(),this.#s=null}}class hu{#e=null;#t=!1;#n=null;#s=null;static#i=null;constructor(e){this.#n=e,this.#s=e._uiManager,hu.#i||=Object.freeze({freetext:"pdfjs-editor-color-picker-free-text-input",ink:"pdfjs-editor-color-picker-ink-input"})}renderButton(){if(this.#e)return this.#e;let{editorType:e,colorType:n,colorAndOpacityType:s,opacityType:i,color:r,opacity:a}=this.#n,l=this.#t=Xn.isAlphaColorInputSupported&&i!==void 0,c=this.#e=document.createElement("input");if(c.type="color",l){c.setAttribute("alpha","");let f=ut.hexNums[Math.round((a??1)*255)];c.value=(r||"#000000")+f}else c.value=r||"#000000";return c.className="basicColorPicker",c.tabIndex=0,c.setAttribute("data-l10n-id",hu.#i[e]),c.addEventListener("input",()=>{if(l){let f=mu(c.value);if(!f)return;let[d,b,y,v]=f,k=ut.makeHexColor(d,b,y);if(s!==void 0)this.#s.updateParams(s,{color:k,opacity:v});else this.#s.updateParams(n,k),this.#s.updateParams(i,v)}else this.#s.updateParams(n,c.value)},{signal:this.#s._signal}),c}update(e){if(!this.#e)return;if(this.#t){let n=ut.hexNums[Math.round(this.#n.opacity*255)];this.#e.value=e+n}else this.#e.value=e}updateOpacity(e){if(!this.#e||!this.#t)return;let n=ut.hexNums[Math.round(e*255)];this.#e.value=this.#n.color+n}destroy(){this.#e?.remove(),this.#e=null}hideDropdown(){}}function g7(e){return Math.floor(vs(e,0,1)*255).toString(16).padStart(2,"0")}function Jh(e){return vs(e,0,1)*255}class r2{static CMYK_G([e,n,s,i]){return["G",1-Math.min(1,0.3*e+0.59*s+0.11*n+i)]}static G_CMYK([e]){return["CMYK",0,0,0,1-e]}static G_RGB([e]){return["RGB",e,e,e]}static G_rgb([e]){return e=Jh(e),[e,e,e]}static G_HTML([e]){let n=g7(e);return`#${n}${n}${n}`}static RGB_G([e,n,s]){return["G",0.3*e+0.59*n+0.11*s]}static RGB_rgb(e){return e.map(Jh)}static RGB_HTML(e){return`#${e.map(g7).join("")}`}static T_HTML(){return"#00000000"}static T_rgb(){return[null]}static CMYK_RGB([e,n,s,i]){return["RGB",1-Math.min(1,e+i),1-Math.min(1,s+i),1-Math.min(1,n+i)]}static CMYK_rgb([e,n,s,i]){return[Jh(1-Math.min(1,e+i)),Jh(1-Math.min(1,s+i)),Jh(1-Math.min(1,n+i))]}static CMYK_HTML(e){let n=this.CMYK_RGB(e).slice(1);return this.RGB_HTML(n)}static RGB_CMYK([e,n,s]){let i=1-e,r=1-n,a=1-s,l=Math.min(i,r,a);return["CMYK",i,r,a,l]}}class TS{create(e,n,s=!1){if(e<=0||n<=0)throw Error("Invalid SVG dimensions");let i=this._createSVG("svg:svg");if(i.setAttribute("version","1.1"),!s)i.setAttribute("width",`${e}px`),i.setAttribute("height",`${n}px`);return i.setAttribute("preserveAspectRatio","none"),i.setAttribute("viewBox",`0 0 ${e} ${n}`),i}createElement(e){if(typeof e!=="string")throw Error("Invalid SVG element type");return this._createSVG(e)}_createSVG(e){Dn("Abstract method `_createSVG` called.")}}class uu extends TS{_createSVG(e){return document.createElementNS("http://www.w3.org/2000/svg",e)}}var UM=9,pc=new WeakSet,zM=new Date().getTimezoneOffset()*60*1000;class rm{static create(e){switch(e.data.annotationType){case Ns.LINK:return new Dm(e);case Ns.TEXT:return new jS(e);case Ns.WIDGET:switch(e.data.fieldType){case"Tx":return new _S(e);case"Btn":if(e.data.radioButton)return new MS(e);else if(e.data.checkBox)return new qS(e);return new FS(e);case"Ch":return new LS(e);case"Sig":return new DS(e)}return new El(e);case Ns.POPUP:return new dm(e);case Ns.FREETEXT:return new x2(e);case Ns.LINE:return new PS(e);case Ns.SQUARE:return new NS(e);case Ns.CIRCLE:return new BS(e);case Ns.POLYLINE:return new A2(e);case Ns.CARET:return new US(e);case Ns.INK:return new qm(e);case Ns.POLYGON:return new HS(e);case Ns.HIGHLIGHT:return new T2(e);case Ns.UNDERLINE:return new zS(e);case Ns.SQUIGGLY:return new GS(e);case Ns.STRIKEOUT:return new VS(e);case Ns.STAMP:return new E2(e);case Ns.FILEATTACHMENT:return new $S(e);case Ns.RICHMEDIA:case Ns.SCREEN:case Ns.SOUND:return new C2(e);default:return new Rs(e)}}}class Rs{#e=null;#t=!1;#n=null;constructor(e,{isRenderable:n=!1,ignoreBorder:s=!1,createQuadrilaterals:i=!1}={}){if(this.isRenderable=n,this.data=e.data,this.layer=e.layer,this.linkService=e.linkService,this.downloadManager=e.downloadManager,this.imageResourcesPath=e.imageResourcesPath,this.renderForms=e.renderForms,this.svgFactory=e.svgFactory,this.annotationStorage=e.annotationStorage,this.enableComment=e.enableComment,this.enableScripting=e.enableScripting,this.hasJSActions=e.hasJSActions,this._fieldObjects=e.fieldObjects,this.parent=e.parent,this.hasOwnCommentButton=!1,n)this.contentElement=this.container=this._createContainer(s);if(i)this._createQuadrilaterals()}static _hasPopupData({contentsObj:e,richText:n}){return!!(e?.str||n?.str)}get _isEditable(){return this.data.isEditable}get hasPopupData(){return Rs._hasPopupData(this.data)||this.enableComment&&!!this.commentText}get commentData(){let{data:e}=this,n=this.annotationStorage?.getEditor(e.id);if(n)return n.getData();return e}get hasCommentButton(){return this.enableComment&&this.hasPopupElement}get commentButtonPosition(){let e=this.annotationStorage?.getEditor(this.data.id);if(e)return e.commentButtonPositionInPage;let{quadPoints:n,inkLists:s,rect:i}=this.data,r=-1/0,a=-1/0;if(n?.length>=8){for(let l=0;l<n.length;l+=8)if(n[l+1]>a)a=n[l+1],r=n[l+2];else if(n[l+1]===a)r=Math.max(r,n[l+2]);return[r,a]}if(s?.length>=1){for(let l of s)for(let c=0,f=l.length;c<f;c+=2)if(l[c+1]>a)a=l[c+1],r=l[c];else if(l[c+1]===a)r=Math.max(r,l[c]);if(r!==1/0)return[r,a]}if(i)return[i[2],i[3]];return null}_normalizePoint(e){let{page:{view:n},viewport:{rawDims:{pageWidth:s,pageHeight:i,pageX:r,pageY:a}}}=this.parent;return e[1]=n[3]-e[1]+n[1],e[0]=100*(e[0]-r)/s,e[1]=100*(e[1]-a)/i,e}get commentText(){let{data:e}=this;return this.annotationStorage.getRawValue(`pdfjs_internal_editor_${e.id}`)?.popup?.contents||e.contentsObj?.str||""}set commentText(e){let{data:n}=this,s={deleted:!e,contents:e||""};if(!this.annotationStorage.updateEditor(n.id,{popup:s}))this.annotationStorage.setValue(`pdfjs_internal_editor_${n.id}`,{id:n.id,annotationType:n.annotationType,page:this.parent.page,popup:s,popupRef:n.popupRef,modificationDate:new Date});if(!e)this.removePopup()}removePopup(){(this.#n?.popup||this.popup)?.remove(),this.#n=this.popup=null}updateEdited(e){if(!this.container)return;if(e.rect)this.#e||={rect:this.data.rect.slice(0)};let{rect:n,popup:s}=e;if(n)this.#s(n);let i=this.#n?.popup||this.popup;if(!i&&s?.text)this._createPopup(s),i=this.#n.popup;if(!i)return;if(i.updateEdited(e),s?.deleted)i.remove(),this.#n=null,this.popup=null}resetEdited(){if(!this.#e)return;this.#s(this.#e.rect),this.#n?.popup.resetEdited(),this.#e=null}#s(e){let{container:{style:n},data:{rect:s,rotation:i},parent:{viewport:{rawDims:{pageWidth:r,pageHeight:a,pageX:l,pageY:c}}}}=this;if(s?.splice(0,4,...e),n.left=`${100*(e[0]-l)/r}%`,n.top=`${100*(a-e[3]+c)/a}%`,i===0)n.width=`${100*(e[2]-e[0])/r}%`,n.height=`${100*(e[3]-e[1])/a}%`;else this.setRotation(i)}_createContainer(e){let{data:n,parent:{page:s,viewport:i}}=this,r=document.createElement("section");if(r.setAttribute("data-annotation-id",n.id),!(this instanceof El)&&!(this instanceof Dm)&&!(this instanceof C2))r.tabIndex=0;let{style:a}=r;if(a.zIndex=this.parent.zIndex,this.parent.zIndex+=2,n.alternativeText)r.title=n.alternativeText;if(n.noRotate)r.classList.add("norotate");if(!n.rect||this instanceof dm){let{rotation:A}=n;if(!n.hasOwnCanvas&&A!==0)this.setRotation(A,r);return r}let{width:l,height:c}=this;if(!e&&n.borderStyle.width>0){a.borderWidth=`${n.borderStyle.width}px`;let A=n.borderStyle.horizontalCornerRadius,T=n.borderStyle.verticalCornerRadius;if(A>0||T>0){let D=`calc(${A}px * var(--total-scale-factor)) / calc(${T}px * var(--total-scale-factor))`;a.borderRadius=D}switch(n.borderStyle.style){case xf.SOLID:a.borderStyle="solid";break;case xf.DASHED:a.borderStyle="dashed";break;case xf.BEVELED:fn("Unimplemented border style: beveled");break;case xf.INSET:fn("Unimplemented border style: inset");break;case xf.UNDERLINE:a.borderBottomStyle="solid";break;default:break}let R=n.borderColor||null;if(R)this.#t=!0,a.borderColor=ut.makeHexColor(...R);else a.borderWidth=0}let f=ut.normalizeRect([n.rect[0],s.view[3]-n.rect[1]+s.view[1],n.rect[2],s.view[3]-n.rect[3]+s.view[1]]),{pageWidth:d,pageHeight:b,pageX:y,pageY:v}=i.rawDims;a.left=`${100*(f[0]-y)/d}%`,a.top=`${100*(f[1]-v)/b}%`;let{rotation:k}=n;if(n.hasOwnCanvas||k===0)a.width=`${100*l/d}%`,a.height=`${100*c/b}%`;else this.setRotation(k,r);return r}setRotation(e,n=this.container){if(!this.data.rect)return;let{pageWidth:s,pageHeight:i}=this.parent.viewport.rawDims,{width:r,height:a}=this;if(e%180!==0)[r,a]=[a,r];n.style.width=`${100*r/s}%`,n.style.height=`${100*a/i}%`,n.setAttribute("data-main-rotation",(360-e)%360)}get _commonActions(){let e=(n,s,i)=>{let r=i.detail[n],a=r[0],l=r.slice(1);i.target.style[s]=r2[`${a}_HTML`](l),this.annotationStorage.setValue(this.data.id,{[s]:r2[`${a}_rgb`](l)})};return Pt(this,"_commonActions",{display:(n)=>{let{display:s}=n.detail,i=s%2===1;this.container.style.visibility=i?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noView:i,noPrint:s===1||s===2})},print:(n)=>{this.annotationStorage.setValue(this.data.id,{noPrint:!n.detail.print})},hidden:(n)=>{let{hidden:s}=n.detail;this.container.style.visibility=s?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noPrint:s,noView:s})},focus:(n)=>{setTimeout(()=>n.target.focus({preventScroll:!1}),0)},userName:(n)=>{n.target.title=n.detail.userName},readonly:(n)=>{n.target.disabled=n.detail.readonly},required:(n)=>{this._setRequired(n.target,n.detail.required)},bgColor:(n)=>{e("bgColor","backgroundColor",n)},fillColor:(n)=>{e("fillColor","backgroundColor",n)},fgColor:(n)=>{e("fgColor","color",n)},textColor:(n)=>{e("textColor","color",n)},borderColor:(n)=>{e("borderColor","borderColor",n)},strokeColor:(n)=>{e("strokeColor","borderColor",n)},rotation:(n)=>{let s=n.detail.rotation;this.setRotation(s),this.annotationStorage.setValue(this.data.id,{rotation:s})}})}_dispatchEventFromSandbox(e,n){let s=this._commonActions;for(let i of Object.keys(n.detail))(e[i]||s[i])?.(n)}_setDefaultPropertiesFromJS(e){if(!this.enableScripting)return;let n=this.annotationStorage.getRawValue(this.data.id);if(!n)return;let s=this._commonActions;for(let[i,r]of Object.entries(n)){let a=s[i];if(a){let l={detail:{[i]:r},target:e};a(l),delete n[i]}}}_createQuadrilaterals(){if(!this.container)return;let{quadPoints:e}=this.data;if(!e)return;let[n,s,i,r]=this.data.rect.map(Math.fround);if(e.length===8){let[A,T,R,D]=e.subarray(2,6);if(i===A&&r===T&&n===R&&s===D)return}let{style:a}=this.container,l;if(this.#t){let{borderColor:A,borderWidth:T}=a;a.borderWidth=0,l=["url('data:image/svg+xml;utf8,",'<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 1 1">',`<g fill="transparent" stroke="${A}" stroke-width="${T}">`],this.container.classList.add("hasBorder")}let c=i-n,f=r-s,{svgFactory:d}=this,b=d.createElement("svg");b.classList.add("quadrilateralsContainer"),b.setAttribute("width",0),b.setAttribute("height",0),b.role="none";let y=d.createElement("defs");b.append(y);let v=d.createElement("clipPath"),k=`clippath_${this.data.id}`;v.setAttribute("id",k),v.setAttribute("clipPathUnits","objectBoundingBox"),y.append(v);for(let A=2,T=e.length;A<T;A+=8){let R=e[A],D=e[A+1],U=e[A+2],Y=e[A+3],X=d.createElement("rect"),J=(U-n)/c,ee=(r-D)/f,te=(R-U)/c,ne=(D-Y)/f;X.setAttribute("x",J),X.setAttribute("y",ee),X.setAttribute("width",te),X.setAttribute("height",ne),v.append(X),l?.push(`<rect vector-effect="non-scaling-stroke" x="${J}" y="${ee}" width="${te}" height="${ne}"/>`)}if(this.#t)l.push("</g></svg>')"),a.backgroundImage=l.join("");this.container.append(b),this.container.style.clipPath=`url(#${k})`}_createPopup(e=null){let{data:n}=this,s,i;if(e)s={str:e.text},i=e.date;else s=n.contentsObj,i=n.modificationDate;this.#n=new dm({data:{color:n.color,titleObj:n.titleObj,modificationDate:i,contentsObj:s,richText:n.richText,parentRect:n.rect,borderStyle:0,id:`popup_${n.id}`,rotation:n.rotation,noRotate:!0},linkService:this.linkService,parent:this.parent,elements:[this]})}get hasPopupElement(){return!!(this.#n||this.popup||this.data.popupRef)}get extraPopupElement(){return this.#n}render(){Dn("Abstract method `AnnotationElement.render` called")}_getElementsByName(e,n=null){let s=[];if(this._fieldObjects){let i=this._fieldObjects.get(e)||[];for(let{page:r,id:a,exportValues:l}of i){if(r===-1)continue;if(a===n)continue;let c=typeof l==="string"?l:null,f=document.querySelector(`[data-element-id="${a}"]`);if(f&&!pc.has(f)){fn(`_getElementsByName - element not allowed: ${a}`);continue}s.push({id:a,exportValue:c,domElement:f})}return s}for(let i of document.getElementsByName(e)){let{exportValue:r}=i,a=i.getAttribute("data-element-id");if(a===n)continue;if(!pc.has(i))continue;s.push({id:a,exportValue:r,domElement:i})}return s}show(){if(this.container)this.container.hidden=!1;this.popup?.maybeShow()}hide(){if(this.container)this.container.hidden=!0;this.popup?.forceHide()}getElementsToTriggerPopup(){return this.container}addHighlightArea(){let e=this.getElementsToTriggerPopup();if(Array.isArray(e))for(let n of e)n.classList.add("highlightArea");else e.classList.add("highlightArea")}_editOnDoubleClick(){if(!this._isEditable)return;let{annotationEditorType:e,data:{id:n}}=this;this.container.addEventListener("dblclick",()=>{this.linkService.eventBus?.dispatch("switchannotationeditormode",{source:this,mode:e,editId:n,mustEnterInEditMode:!0})})}updateOC(e){if(!this.data.oc||!e)return;if(e.isVisible(this.data.oc))this.show();else this.hide()}get width(){return this.data.rect[2]-this.data.rect[0]}get height(){return this.data.rect[3]-this.data.rect[1]}_setBackgroundColor(e){let n=this.data.backgroundColor||null;e.style.backgroundColor=n===null?"transparent":ut.makeHexColor(...n)}}class ES extends Rs{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0});this.editor=e.editor}render(){return this.container.className="editorAnnotation",this.container}createOrUpdatePopup(){let{editor:e}=this;if(!e.hasComment)return;this._createPopup(e.comment)}get hasCommentButton(){return this.enableComment&&this.editor.hasComment}get commentButtonPosition(){return this.editor.commentButtonPositionInPage}get commentText(){return this.editor.comment.text}set commentText(e){if(this.editor.comment=e,!e)this.removePopup()}get commentData(){return this.editor.getData()}remove(){this.parent.removeAnnotation(this.data.id),this.container.remove(),this.container=null,this.removePopup()}}class Dm extends Rs{constructor(e,n=null){super(e,{isRenderable:!0,ignoreBorder:!!n?.ignoreBorder,createQuadrilaterals:!0});this.isTooltipOnly=e.data.isTooltipOnly}render(){let{data:e,linkService:n}=this,s=document.createElement("a");s.setAttribute("data-element-id",e.id);let i=!1;if(e.url)n.addLinkAttributes(s,e.url,e.newWindow),i=!0;else if(e.action)this._bindNamedAction(s,e.action,e.overlaidText),i=!0;else if(e.attachment)this.#t(s,e.attachmentId,e.attachment,e.overlaidText,e.attachmentDest),i=!0;else if(e.setOCGState)this.#n(s,e.setOCGState,e.overlaidText),i=!0;else if(e.dest)this._bindLink(s,e.dest,e.overlaidText),i=!0;else{if(e.actions&&(e.actions.has("Action")||e.actions.has("Mouse Up")||e.actions.has("Mouse Down"))&&this.enableScripting&&this.hasJSActions)this._bindJSAction(s,e),i=!0;if(e.resetForm)this._bindResetFormAction(s,e.resetForm),i=!0;else if(this.isTooltipOnly&&!i)this._bindLink(s,""),i=!0}if(this.container.classList.add("linkAnnotation"),i)this.contentElement=s,this.container.append(s);return this.container}#e(){this.container.setAttribute("data-internal-link","")}_bindLink(e,n,s=""){if(e.href=this.linkService.getDestinationHash(n),e.onclick=()=>{if(n)this.linkService.goToDestination(n);return!1},n||n==="")this.#e();if(s)e.title=s}_bindNamedAction(e,n,s=""){if(e.href=this.linkService.getAnchorUrl(""),e.onclick=()=>(this.linkService.executeNamedAction(n),!1),s)e.title=s;this.#e()}#t(e,n,s,i="",r=null){if(e.href=this.linkService.getAnchorUrl(""),s.description)e.title=s.description;else if(i)e.title=i;let a=async()=>{let l=await this.linkService.getAttachmentContent(n);if(l)this.downloadManager?.openOrDownloadData(l,s.filename,r)};e.onclick=()=>(a(),!1),this.#e()}#n(e,n,s=""){if(e.href=this.linkService.getAnchorUrl(""),e.onclick=()=>(this.linkService.executeSetOCGState(n),!1),s)e.title=s;this.#e()}_bindJSAction(e,{actions:n,id:s,overlaidText:i}){e.href=this.linkService.getAnchorUrl("");let r=new Map([["Action","onclick"],["Mouse Up","onmouseup"],["Mouse Down","onmousedown"]]);for(let a of n.keys()){let l=r.get(a);if(!l)continue;e[l]=()=>(this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:s,name:a}}),!1)}if(i)e.title=i;e.onclick||=()=>!1,this.#e()}_bindResetFormAction(e,n){let s=e.onclick;if(!s)e.href=this.linkService.getAnchorUrl("");if(this.#e(),!this._fieldObjects){if(fn('_bindResetFormAction - "resetForm" action not supported, ensure that the `fieldObjects` parameter is provided.'),!s)e.onclick=()=>!1;return}e.onclick=()=>{s?.();let{fields:i,refs:r,include:a}=n,l=[];if(i.length!==0||r.length!==0){let d=new Set(r);for(let b of i){let y=this._fieldObjects.get(b)||[];for(let{id:v}of y)d.add(v)}for(let b of this._fieldObjects.values())for(let y of b)if(d.has(y.id)===a)l.push(y)}else for(let d of this._fieldObjects.values())l.push(...d);let c=this.annotationStorage,f=[];for(let d of l){let{id:b}=d;switch(f.push(b),d.type){case"text":{let v=d.defaultValue||"";c.setValue(b,{value:v});break}case"checkbox":case"radiobutton":{let v=d.defaultValue===d.exportValues;c.setValue(b,{value:v});break}case"combobox":case"listbox":{let v=d.defaultValue||"";c.setValue(b,{value:v});break}default:continue}let y=document.querySelector(`[data-element-id="${b}"]`);if(!y)continue;else if(!pc.has(y)){fn(`_bindResetFormAction - element not allowed: ${b}`);continue}y.dispatchEvent(new Event("resetform"))}if(this.enableScripting)this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:"app",ids:f,name:"ResetForm"}});return!1}}}class jS extends Rs{constructor(e){super(e,{isRenderable:!0})}render(){this.container.classList.add("textAnnotation");let e=document.createElement("img");if(e.src=this.imageResourcesPath+"annotation-"+this.data.name.toLowerCase()+".svg",e.setAttribute("data-l10n-id","pdfjs-text-annotation-type"),e.setAttribute("data-l10n-args",JSON.stringify({type:this.data.name})),!this.data.popupRef&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();return this.container.append(e),this.container}}class El extends Rs{render(){return this.container}_getKeyModifier(e){return Xn.platform.isMac?e.metaKey:e.ctrlKey}_setEventListener(e,n,s,i,r){if(s.includes("mouse"))e.addEventListener(s,(a)=>{this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:i,value:r(a),shift:a.shiftKey,modifier:this._getKeyModifier(a)}})});else e.addEventListener(s,(a)=>{if(s==="blur"){if(!n.focused||!a.relatedTarget)return;n.focused=!1}else if(s==="focus"){if(n.focused)return;n.focused=!0}if(!r)return;this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:i,value:r(a)}})})}_setEventListeners(e,n,s,i){let{actions:r}=this.data;for(let[a,l]of s)if(l==="Action"||r?.has(l)){if(l==="Focus"||l==="Blur")n||={focused:!1};if(this._setEventListener(e,n,a,l,i),l==="Focus"&&!r?.has("Blur"))this._setEventListener(e,n,"blur","Blur",null);else if(l==="Blur"&&!r?.has("Focus"))this._setEventListener(e,n,"focus","Focus",null)}}_setTextStyle(e){let n=["left","center","right"],{fontColor:s}=this.data.defaultAppearanceData,i=this.data.defaultAppearanceData.fontSize||UM,r=e.style,a,l=2,c=(f)=>Math.round(10*f)/10;if(this.data.multiLine){let f=Math.abs(this.data.rect[3]-this.data.rect[1]-2),d=Math.round(f/(1.35*i))||1,b=f/d;a=Math.min(i,c(b/1.35))}else{let f=Math.abs(this.data.rect[3]-this.data.rect[1]-2);a=Math.min(i,c(f/1.35))}if(r.fontSize=`calc(${a}px * var(--total-scale-factor))`,r.color=ut.makeHexColor(...s),this.data.textAlignment!==null&&!this.data.comb)r.textAlign=n[this.data.textAlignment]}_setRequired(e,n){if(n)e.setAttribute("required",!0);else e.removeAttribute("required");e.setAttribute("aria-required",n)}}class _S extends El{constructor(e){let n=e.renderForms||e.data.hasOwnCanvas||!e.data.hasAppearance&&!!e.data.fieldValue;super(e,{isRenderable:n})}setPropertyOnSiblings(e,n,s,i){let r=this.annotationStorage;for(let a of this._getElementsByName(e.name,e.id)){if(a.domElement)a.domElement[n]=s;r.setValue(a.id,{[i]:s})}}render(){let e=this.annotationStorage,n=this.data.id;this.container.classList.add("textWidgetAnnotation");let s=null;if(this.renderForms){let i=e.getValue(n,{value:this.data.fieldValue}),r=i.value||"",a=e.getValue(n,{charLimit:this.data.maxLen}).charLimit;if(a&&r.length>a)r=r.slice(0,a);let l=i.formattedValue||this.data.textContent?.join(`
119
- `)||null;if(l&&this.data.comb)l=l.replaceAll(/\s+/g,"");let c={userValue:r,formattedValue:l,lastCommittedValue:null,commitKey:1,focused:!1};if(this.data.multiLine){if(s=document.createElement("textarea"),s.textContent=l??r,this.data.doNotScroll)s.style.overflowY="hidden"}else if(s=document.createElement("input"),s.type=this.data.password?"password":"text",s.setAttribute("value",l??r),this.data.doNotScroll)s.style.overflowX="hidden";if(this.data.hasOwnCanvas){if(this.container.classList.add("hasOwnCanvas"),e.has(n))this.container.classList.add("sandboxModified")}pc.add(s),this.contentElement=s,s.setAttribute("data-element-id",n),s.disabled=this.data.readOnly,s.name=this.data.fieldName,s.tabIndex=0;let{datetimeFormat:f,datetimeType:d,timeStep:b}=this.data,y=!!d&&this.enableScripting;if(f)s.title=f;if(this._setRequired(s,this.data.required),a)s.maxLength=a;s.addEventListener("input",(k)=>{e.setValue(n,{value:k.target.value}),this.setPropertyOnSiblings(s,"value",k.target.value,"value"),c.formattedValue=null}),s.addEventListener("resetform",(k)=>{let A=this.data.defaultFieldValue??"";s.value=c.userValue=A,c.formattedValue=null});let v=(k)=>{let{formattedValue:A}=c;if(A!==null&&A!==void 0)k.target.value=A;k.target.scrollLeft=0};if(this.enableScripting&&this.hasJSActions){s.addEventListener("focus",(A)=>{if(c.focused)return;let{target:T}=A;if(y){if(T.type=d,b)T.step=b}if(c.userValue){let R=c.userValue;if(y)if(d==="time"){let D=new Date(R),U=[D.getHours(),D.getMinutes(),D.getSeconds()];T.value=U.map((Y)=>Y.toString().padStart(2,"0")).join(":")}else T.value=new Date(R-zM).toISOString().split(d==="date"?"T":".",1)[0];else T.value=R}if(c.lastCommittedValue=T.value,c.commitKey=1,!this.data.actions?.has("Focus"))c.focused=!0}),s.addEventListener("updatefromsandbox",(A)=>{this.container.classList.add("sandboxModified");let T={value(R){if(c.userValue=R.detail.value??"",!y)e.setValue(n,{value:c.userValue.toString()});R.target.value=c.userValue},formattedValue(R){let{formattedValue:D}=R.detail;if(c.formattedValue=D,D!==null&&D!==void 0&&R.target!==document.activeElement)R.target.value=D;let U={formattedValue:D};if(y)U.value=D;e.setValue(n,U)},selRange(R){R.target.setSelectionRange(...R.detail.selRange)},charLimit:(R)=>{let{charLimit:D}=R.detail,{target:U}=R;if(D===0){U.removeAttribute("maxLength");return}U.setAttribute("maxLength",D);let Y=c.userValue;if(!Y||Y.length<=D)return;Y=Y.slice(0,D),U.value=c.userValue=Y,e.setValue(n,{value:Y}),this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:n,name:"Keystroke",value:Y,willCommit:!0,commitKey:1,selStart:U.selectionStart,selEnd:U.selectionEnd}})}};this._dispatchEventFromSandbox(T,A)}),s.addEventListener("keydown",(A)=>{c.commitKey=1;let T=-1;if(A.key==="Escape")T=0;else if(A.key==="Enter"&&!this.data.multiLine)T=2;else if(A.key==="Tab")c.commitKey=3;if(T===-1)return;let{value:R}=A.target;if(c.lastCommittedValue===R)return;c.lastCommittedValue=R,c.userValue=R,this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:n,name:"Keystroke",value:R,willCommit:!0,commitKey:T,selStart:A.target.selectionStart,selEnd:A.target.selectionEnd}})});let k=v;if(v=null,s.addEventListener("blur",(A)=>{if(!c.focused||!A.relatedTarget)return;if(!this.data.actions?.has("Blur"))c.focused=!1;let{target:T}=A,{value:R}=T;if(y){if(R&&d==="time"){let D=R.split(":").map((U)=>parseInt(U,10));R=new Date(2000,0,1,D[0],D[1],D[2]||0).valueOf(),T.step=""}else{if(!R.includes("T"))R=`${R}T00:00`;R=new Date(R).valueOf()}T.type="text"}if(c.userValue=R,c.lastCommittedValue!==R)this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:n,name:"Keystroke",value:R,willCommit:!0,commitKey:c.commitKey,selStart:A.target.selectionStart,selEnd:A.target.selectionEnd}});k(A)}),this.data.actions?.has("Keystroke"))s.addEventListener("beforeinput",(A)=>{c.lastCommittedValue=null;let{data:T,target:R}=A,{value:D,selectionStart:U,selectionEnd:Y}=R,X=U,J=Y;switch(A.inputType){case"deleteWordBackward":{let ee=/\w/;while(X>0&&!ee.test(D[X-1]))X--;while(X>0&&ee.test(D[X-1]))X--;break}case"deleteWordForward":{let ee=D.substring(U).match(/^\W*\w*/);if(ee)J+=ee[0].length;break}case"deleteContentBackward":if(U===Y)X-=1;break;case"deleteContentForward":if(U===Y)J+=1;break}A.preventDefault(),this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:n,name:"Keystroke",value:D,change:T||"",willCommit:!1,selStart:X,selEnd:J}})});this._setEventListeners(s,c,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],(A)=>A.target.value)}if(v)s.addEventListener("blur",v);if(this.data.comb){let A=(this.data.rect[2]-this.data.rect[0])/a;s.classList.add("comb"),s.style.setProperty("--comb-width",`calc(${A}px * var(--total-scale-factor))`);let T=this.data.textAlignment;if(T===1||T===2){let R=()=>{let D=a-s.value.length;s.style.setProperty("--comb-offset",`${T===1?D>>1:D}`)};R();for(let D of["input","blur","resetform","updatefromsandbox"])s.addEventListener(D,R)}}}else if(s=document.createElement("div"),s.textContent=this.data.fieldValue,s.style.verticalAlign="middle",s.style.display="table-cell",this.data.hasOwnCanvas)s.hidden=!0;return this._setTextStyle(s),this._setBackgroundColor(s),this._setDefaultPropertiesFromJS(s),this.container.append(s),this.container}}class DS extends El{constructor(e){super(e,{isRenderable:!!e.data.hasOwnCanvas})}}class qS extends El{constructor(e){super(e,{isRenderable:e.renderForms})}render(){let e=this.annotationStorage,n=this.data,s=n.id,i=e.getValue(s,{value:n.exportValue===n.fieldValue}).value;if(typeof i==="string")i=i!=="Off",e.setValue(s,{value:i});this.container.classList.add("buttonWidgetAnnotation","checkBox");let r=document.createElement("input");if(pc.add(r),r.setAttribute("data-element-id",s),r.disabled=n.readOnly,this._setRequired(r,this.data.required),r.type="checkbox",r.name=n.fieldName,i)r.setAttribute("checked",!0);if(r.setAttribute("exportValue",n.exportValue),r.tabIndex=0,r.addEventListener("change",(a)=>{let{name:l,checked:c}=a.target;for(let f of this._getElementsByName(l,s)){let d=c&&f.exportValue===n.exportValue;if(f.domElement)f.domElement.checked=d;e.setValue(f.id,{value:d})}e.setValue(s,{value:c})}),r.addEventListener("resetform",(a)=>{let l=n.defaultFieldValue||"Off";a.target.checked=l===n.exportValue}),this.enableScripting&&this.hasJSActions)r.addEventListener("updatefromsandbox",(a)=>{let l={value(c){c.target.checked=c.detail.value!=="Off",e.setValue(s,{value:c.target.checked})}};this._dispatchEventFromSandbox(l,a)}),this._setEventListeners(r,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],(a)=>a.target.checked);return this._setDefaultPropertiesFromJS(r),this.container.append(r),this.container}}class MS extends El{constructor(e){super(e,{isRenderable:e.renderForms})}render(){this.container.classList.add("buttonWidgetAnnotation","radioButton");let e=this.annotationStorage,n=this.data,s=n.id,i=e.getValue(s,{value:n.buttonValue!==null&&n.fieldValue===n.buttonValue}).value;if(typeof i==="string")i=i!==n.buttonValue,e.setValue(s,{value:i});if(i)for(let a of this._getElementsByName(n.fieldName,s))e.setValue(a.id,{value:!1});let r=document.createElement("input");if(pc.add(r),r.setAttribute("data-element-id",s),r.disabled=n.readOnly,this._setRequired(r,this.data.required),r.type="radio",r.name=n.fieldName,i)r.setAttribute("checked",!0);if(r.tabIndex=0,r.addEventListener("change",(a)=>{let{name:l,checked:c}=a.target;for(let f of this._getElementsByName(l,s))e.setValue(f.id,{value:!1});e.setValue(s,{value:c})}),r.addEventListener("resetform",(a)=>{let l=n.defaultFieldValue;a.target.checked=l!==null&&l!==void 0&&l===n.buttonValue}),this.enableScripting&&this.hasJSActions){let a=n.buttonValue;r.addEventListener("updatefromsandbox",(l)=>{let c={value:(f)=>{let d=a===f.detail.value;for(let b of this._getElementsByName(f.target.name)){let y=d&&b.id===s;if(b.domElement)b.domElement.checked=y;e.setValue(b.id,{value:y})}}};this._dispatchEventFromSandbox(c,l)}),this._setEventListeners(r,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],(l)=>l.target.checked)}return this._setDefaultPropertiesFromJS(r),this.container.append(r),this.container}}class FS extends Dm{constructor(e){super(e,{ignoreBorder:e.data.hasAppearance})}render(){let e=super.render();e.classList.add("buttonWidgetAnnotation","pushButton");let n=e.lastChild;if(this.enableScripting&&this.hasJSActions&&n)this._setDefaultPropertiesFromJS(n),n.addEventListener("updatefromsandbox",(s)=>{this._dispatchEventFromSandbox({},s)});return e}}class LS extends El{constructor(e){super(e,{isRenderable:e.renderForms})}render(){this.container.classList.add("choiceWidgetAnnotation");let e=this.annotationStorage,n=this.data.id,s=e.getValue(n,{value:this.data.fieldValue}),i=document.createElement("select");pc.add(i),i.setAttribute("data-element-id",n),i.disabled=this.data.readOnly,this._setRequired(i,this.data.required),i.name=this.data.fieldName,i.tabIndex=0;let r=this.data.combo&&this.data.options.length>0;if(!this.data.combo){if(i.size=this.data.options.length,this.data.multiSelect)i.multiple=!0}i.addEventListener("resetform",(b)=>{let y=this.data.defaultFieldValue;for(let v of i.options)v.selected=v.value===y});let a=(b,y)=>{let v=y.replaceAll(" "," ");if(b.textContent=v,v!==y)b.setAttribute("display-value",y)};for(let b of this.data.options){let y=document.createElement("option");if(a(y,b.displayValue),y.value=b.exportValue,s.value.includes(b.exportValue))y.setAttribute("selected",!0),r=!1;i.append(y)}let l=null;if(r){let b=document.createElement("option");b.value=" ",b.setAttribute("hidden",!0),b.setAttribute("selected",!0),i.prepend(b),l=()=>{b.remove(),i.removeEventListener("input",l),l=null},i.addEventListener("input",l)}let c=(b)=>{let y=b?"value":"textContent",{options:v,multiple:k}=i;if(!k)return v.selectedIndex===-1?null:v[v.selectedIndex][y];return Array.prototype.filter.call(v,(A)=>A.selected).map((A)=>A[y])},f=c(!1),d=(b)=>{let y=b.target.options;return Array.prototype.map.call(y,(v)=>({displayValue:v.getAttribute("display-value")||v.textContent,exportValue:v.value}))};if(this.enableScripting&&this.hasJSActions)i.addEventListener("updatefromsandbox",(b)=>{let y={value(v){l?.();let k=v.detail.value,A=new Set(Array.isArray(k)?k:[k]);for(let T of i.options)T.selected=A.has(T.value);e.setValue(n,{value:c(!0)}),f=c(!1)},multipleSelection(v){i.multiple=!0},remove(v){let k=i.options,A=v.detail.remove;if(k[A].selected=!1,i.remove(A),k.length>0){if(Array.prototype.findIndex.call(k,(R)=>R.selected)===-1)k[0].selected=!0}e.setValue(n,{value:c(!0),items:d(v)}),f=c(!1)},clear(v){while(i.length!==0)i.remove(0);e.setValue(n,{value:null,items:[]}),f=c(!1)},insert(v){let{index:k,displayValue:A,exportValue:T}=v.detail.insert,R=i.children[k],D=document.createElement("option");if(a(D,A),D.value=T,R)R.before(D);else i.append(D);e.setValue(n,{value:c(!0),items:d(v)}),f=c(!1)},items(v){let{items:k}=v.detail;while(i.length!==0)i.remove(0);for(let A of k){let{displayValue:T,exportValue:R}=A,D=document.createElement("option");a(D,T),D.value=R,i.append(D)}if(i.options.length>0)i.options[0].selected=!0;e.setValue(n,{value:c(!0),items:d(v)}),f=c(!1)},indices(v){let k=new Set(v.detail.indices);for(let A of v.target.options)A.selected=k.has(A.index);e.setValue(n,{value:c(!0)}),f=c(!1)},editable(v){v.target.disabled=!v.detail.editable}};this._dispatchEventFromSandbox(y,b)}),i.addEventListener("input",(b)=>{let y=c(!0),v=c(!1);e.setValue(n,{value:y}),b.preventDefault(),this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:n,name:"Keystroke",value:f,change:v,changeEx:y,willCommit:!1,commitKey:1,keyDown:!1}})}),this._setEventListeners(i,null,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"],["input","Action"],["input","Validate"]],(b)=>b.target.value);else i.addEventListener("input",function(b){e.setValue(n,{value:c(!0)})});if(this.data.combo)this._setTextStyle(i);return this._setBackgroundColor(i),this._setDefaultPropertiesFromJS(i),this.container.append(i),this.container}}class dm extends Rs{constructor(e){let{data:n,elements:s,parent:i}=e,r=!!i._commentManager;super(e,{isRenderable:!r&&Rs._hasPopupData(n)});if(this.elements=s,r&&Rs._hasPopupData(n)){let a=this.popup=this.#e();for(let l of s)l.popup=a}else this.popup=null}#e(){return new OS({container:this.container,color:this.data.color,titleObj:this.data.titleObj,modificationDate:this.data.modificationDate||this.data.creationDate,contentsObj:this.data.contentsObj,richText:this.data.richText,rect:this.data.rect,parentRect:this.data.parentRect||null,parent:this.parent,elements:this.elements,open:this.data.open,commentManager:this.parent._commentManager})}render(){let{container:e}=this;e.classList.add("popupAnnotation"),e.role="comment";let n=this.popup=this.#e(),s=[];for(let i of this.elements)i.popup=n,i.container.ariaHasPopup="dialog",s.push(i.data.id),i.addHighlightArea();return this.container.setAttribute("aria-controls",s.map((i)=>`pdfjs_internal_id_${i}`).join(",")),this.container}}class OS{#e=null;#t=this.#G.bind(this);#n=this.#S.bind(this);#s=this.#E.bind(this);#i=this.#H.bind(this);#a=null;#r=null;#o=null;#l=null;#c=null;#u=null;#h=null;#d=!1;#p=null;#g=null;#f=null;#m=null;#b=null;#w=null;#y=null;#v=null;#x=null;#k=null;#A=!1;#T=null;#I=null;constructor({container:e,color:n,elements:s,titleObj:i,modificationDate:r,contentsObj:a,richText:l,parent:c,rect:f,parentRect:d,open:b,commentManager:y=null}){if(this.#r=e,this.#x=i,this.#o=a,this.#v=l,this.#u=c,this.#a=n,this.#y=f,this.#h=d,this.#c=s,this.#e=y,this.#T=s[0],this.#l=lm.toDateObject(r),this.trigger=s.flatMap((v)=>v.getElementsToTriggerPopup()),!y){if(this.#j(),this.#r.hidden=!0,b)this.#H()}}#j(){if(this.#g)return;this.#g=new AbortController;let{signal:e}=this.#g;for(let n of this.trigger)n.addEventListener("click",this.#i,{signal:e}),n.addEventListener("pointerenter",this.#s,{signal:e}),n.addEventListener("pointerleave",this.#n,{signal:e}),n.classList.add("popupTriggerArea");for(let n of this.#c)n.container?.addEventListener("keydown",this.#t,{signal:e})}#C(){let e=this.#c.find((n)=>n.hasCommentButton);if(!e)return;this.#b=e._normalizePoint(e.commentButtonPosition)}renderCommentButton(){if(this.#m){if(!this.#m.parentNode)this.#T.container.after(this.#m);return}if(!this.#b)this.#C();if(!this.#b)return;let{signal:e}=this.#g=new AbortController,n=this.#T.hasOwnCommentButton,s=()=>{this.#e.toggleCommentPopup(this,!0,void 0,!n)},i=()=>{this.#e.toggleCommentPopup(this,!1,!0,!n)},r=()=>{this.#e.toggleCommentPopup(this,!1,!1)};if(!n){let a=this.#m=document.createElement("button");a.className="annotationCommentButton";let l=this.#T.container;a.style.zIndex=parseInt(l.style.zIndex,10)+1,a.tabIndex=0,a.ariaHasPopup="dialog",a.ariaControls="commentPopup",a.setAttribute("data-l10n-id","pdfjs-show-comment-button"),this.#R(),this.#D(),a.addEventListener("keydown",this.#t,{signal:e}),a.addEventListener("click",s,{signal:e}),a.addEventListener("pointerenter",i,{signal:e}),a.addEventListener("pointerleave",r,{signal:e}),l.after(a)}else{this.#m=this.#T.container;for(let a of this.trigger)a.ariaHasPopup="dialog",a.ariaControls="commentPopup",a.addEventListener("keydown",this.#t,{signal:e}),a.addEventListener("click",s,{signal:e}),a.addEventListener("pointerenter",i,{signal:e}),a.addEventListener("pointerleave",r,{signal:e}),a.classList.add("popupTriggerArea")}}#D(){if(this.#T.extraPopupElement&&!this.#T.editor)return;if(!this.#m)this.renderCommentButton();let[e,n]=this.#b,{style:s}=this.#m;s.left=`calc(${e}%)`,s.top=`calc(${n}% - var(--comment-button-dim))`}#R(){if(this.#T.extraPopupElement)return;if(!this.#m)this.renderCommentButton();this.#m.style.backgroundColor=this.commentButtonColor||""}get commentButtonColor(){let{color:e,opacity:n}=this.#T.commentData;if(!e)return null;return this.#u._commentManager.makeCommentColor(e,n)}focusCommentButton(){setTimeout(()=>{this.#m?.focus()},0)}getData(){let{richText:e,color:n,opacity:s,creationDate:i,modificationDate:r}=this.#T.commentData;return{contentsObj:{str:this.comment},richText:e,color:n,opacity:s,creationDate:i,modificationDate:r}}get elementBeforePopup(){return this.#m}get comment(){return this.#I||=this.#T.commentText,this.#I}set comment(e){if(e===this.comment)return;this.#T.commentText=this.#I=e}focus(){this.#T.container?.focus()}get parentBoundingClientRect(){return this.#T.layer.getBoundingClientRect()}setCommentButtonStates({selected:e,hasPopup:n}){if(!this.#m)return;this.#m.classList.toggle("selected",e),this.#m.ariaExpanded=n}setSelectedCommentButton(e){this.#m.classList.toggle("selected",e)}get commentPopupPosition(){if(this.#w)return this.#w;let{x:e,y:n,height:s}=this.#m.getBoundingClientRect(),{x:i,y:r,width:a,height:l}=this.#T.layer.getBoundingClientRect();return[(e-i)/a,(n+s-r)/l]}set commentPopupPosition(e){this.#w=e}hasDefaultPopupPosition(){return this.#w===null}get commentButtonPosition(){return this.#b}get commentButtonWidth(){return this.#m.getBoundingClientRect().width/this.parentBoundingClientRect.width}editComment(e){let[n,s]=this.#w||this.commentButtonPosition.map((f)=>f/100),i=this.parentBoundingClientRect,{x:r,y:a,width:l,height:c}=i;this.#e.showDialog(null,this,r+n*l,a+s*c,{...e,parentDimensions:i})}render(){if(this.#p)return;let e=this.#p=document.createElement("div");if(e.className="popup",this.#a){let s=e.style.outlineColor=ut.makeHexColor(...this.#a);e.style.backgroundColor=`color-mix(in srgb, ${s} 30%, white)`}let n=document.createElement("span");if(n.className="header",this.#x?.str){let s=document.createElement("span");s.className="title",n.append(s),{dir:s.dir,str:s.textContent}=this.#x}if(e.append(n),this.#l){let s=document.createElement("time");s.className="popupDate",s.setAttribute("data-l10n-id","pdfjs-annotation-date-time-string"),s.setAttribute("data-l10n-args",JSON.stringify({dateObj:this.#l.valueOf()})),s.dateTime=this.#l.toISOString(),n.append(s)}A7({html:this.#q||this.#o.str,dir:this.#o?.dir,className:"popupContent"},e),this.#r.append(e)}get#q(){let e=this.#v,n=this.#o;if(e?.str&&(!n?.str||n.str===e.str))return this.#v.html||null;return null}get#B(){return this.#q?.attributes?.style?.fontSize||0}get#M(){return this.#q?.attributes?.style?.color||null}#L(e){let n=[],s={str:e,html:{name:"div",attributes:{dir:"auto"},children:[{name:"p",children:n}]}},i={style:{color:this.#M,fontSize:this.#B?`calc(${this.#B}px * var(--total-scale-factor))`:""}};for(let r of e.split(`
120
- `))n.push({name:"span",value:r,attributes:i});return s}#G(e){if(e.altKey||e.shiftKey||e.ctrlKey||e.metaKey)return;if(e.key==="Enter"||e.key==="Escape"&&this.#d)this.#H()}updateEdited({rect:e,popup:n,deleted:s}){if(this.#e){if(s)this.remove(),this.#I=null;else if(n)if(n.deleted)this.remove();else this.#R(),this.#I=n.text;if(e)this.#b=null,this.#C(),this.#D();return}if(s||n?.deleted){this.remove();return}if(this.#j(),this.#k||={contentsObj:this.#o,richText:this.#v},e)this.#f=null;if(n&&n.text)this.#v=this.#L(n.text),this.#l=lm.toDateObject(n.date),this.#o=null;this.#p?.remove(),this.#p=null}resetEdited(){if(!this.#k)return;({contentsObj:this.#o,richText:this.#v}=this.#k),this.#k=null,this.#p?.remove(),this.#p=null,this.#f=null}remove(){if(this.#g?.abort(),this.#g=null,this.#p?.remove(),this.#p=null,this.#A=!1,this.#d=!1,this.#m?.remove(),this.#m=null,this.trigger)for(let e of this.trigger)e.classList.remove("popupTriggerArea")}#O(){if(this.#f!==null)return;let{page:{view:e},viewport:{rawDims:{pageWidth:n,pageHeight:s,pageX:i,pageY:r}}}=this.#u,a=!!this.#h,l=a?this.#h:this.#y;for(let k of this.#c)if(!l||ut.intersect(k.data.rect,l)!==null){l=k.data.rect,a=!0;break}let c=ut.normalizeRect([l[0],e[3]-l[1]+e[1],l[2],e[3]-l[3]+e[1]]),f=5,d=a?l[2]-l[0]+f:0,b=c[0]+d,y=c[1];this.#f=[100*(b-i)/n,100*(y-r)/s];let{style:v}=this.#r;v.left=`${this.#f[0]}%`,v.top=`${this.#f[1]}%`}#H(){if(this.#e){this.#e.toggleCommentPopup(this,!1);return}if(this.#d=!this.#d,this.#d)this.#E(),this.#r.addEventListener("click",this.#i),this.#r.addEventListener("keydown",this.#t);else this.#S(),this.#r.removeEventListener("click",this.#i),this.#r.removeEventListener("keydown",this.#t)}#E(){if(!this.#p)this.render();if(!this.isVisible)this.#O(),this.#r.hidden=!1,this.#r.style.zIndex=parseInt(this.#r.style.zIndex,10)+1000;else if(this.#d)this.#r.classList.add("focused")}#S(){if(this.#r.classList.remove("focused"),this.#d||!this.isVisible)return;this.#r.hidden=!0,this.#r.style.zIndex=parseInt(this.#r.style.zIndex,10)-1000}forceHide(){if(this.#A=this.isVisible,!this.#A)return;this.#r.hidden=!0}maybeShow(){if(this.#e)return;if(this.#j(),!this.#A)return;if(!this.#p)this.#E();this.#A=!1,this.#r.hidden=!1}get isVisible(){return!this.#e&&this.#r.hidden===!1}}class x2 extends Rs{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0});this.textContent=e.data.textContent,this.textPosition=e.data.textPosition,this.annotationEditorType=rn.FREETEXT}render(){if(this.container.classList.add("freeTextAnnotation"),this.textContent){let e=this.contentElement=document.createElement("div");e.classList.add("annotationTextContent"),e.setAttribute("role","comment");for(let n of this.textContent){let s=document.createElement("span");s.textContent=n,e.append(s)}this.container.append(e)}if(!this.data.popupRef&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();return this._editOnDoubleClick(),this.container}}class PS extends Rs{#e=null;constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0})}render(){this.container.classList.add("lineAnnotation");let{data:e,width:n,height:s}=this,i=this.svgFactory.create(n,s,!0),r=this.#e=this.svgFactory.createElement("svg:line");if(r.setAttribute("x1",e.rect[2]-e.lineCoordinates[0]),r.setAttribute("y1",e.rect[3]-e.lineCoordinates[1]),r.setAttribute("x2",e.rect[2]-e.lineCoordinates[2]),r.setAttribute("y2",e.rect[3]-e.lineCoordinates[3]),r.setAttribute("stroke-width",e.borderStyle.width||1),r.setAttribute("stroke","transparent"),r.setAttribute("fill","transparent"),i.append(r),this.container.append(i),!e.popupRef&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();return this.container}getElementsToTriggerPopup(){return this.#e}addHighlightArea(){this.container.classList.add("highlightArea")}}class NS extends Rs{#e=null;constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0})}render(){this.container.classList.add("squareAnnotation");let{data:e,width:n,height:s}=this,i=this.svgFactory.create(n,s,!0),r=e.borderStyle.width,a=this.#e=this.svgFactory.createElement("svg:rect");if(a.setAttribute("x",r/2),a.setAttribute("y",r/2),a.setAttribute("width",n-r),a.setAttribute("height",s-r),a.setAttribute("stroke-width",r||1),a.setAttribute("stroke","transparent"),a.setAttribute("fill","transparent"),i.append(a),this.container.append(i),!e.popupRef&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();return this.container}getElementsToTriggerPopup(){return this.#e}addHighlightArea(){this.container.classList.add("highlightArea")}}class BS extends Rs{#e=null;constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0})}render(){this.container.classList.add("circleAnnotation");let{data:e,width:n,height:s}=this,i=this.svgFactory.create(n,s,!0),r=e.borderStyle.width,a=this.#e=this.svgFactory.createElement("svg:ellipse");if(a.setAttribute("cx",n/2),a.setAttribute("cy",s/2),a.setAttribute("rx",n/2-r/2),a.setAttribute("ry",s/2-r/2),a.setAttribute("stroke-width",r||1),a.setAttribute("stroke","transparent"),a.setAttribute("fill","transparent"),i.append(a),this.container.append(i),!e.popupRef&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();return this.container}getElementsToTriggerPopup(){return this.#e}addHighlightArea(){this.container.classList.add("highlightArea")}}class A2 extends Rs{#e=null;constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0});this.containerClassName="polylineAnnotation",this.svgElementName="svg:polyline"}render(){this.container.classList.add(this.containerClassName);let{data:{rect:e,vertices:n,borderStyle:s,popupRef:i},width:r,height:a}=this;if(!n)return this.container;let l=this.svgFactory.create(r,a,!0),c=[];for(let d=0,b=n.length;d<b;d+=2){let y=n[d]-e[0],v=e[3]-n[d+1];c.push(`${y},${v}`)}c=c.join(" ");let f=this.#e=this.svgFactory.createElement(this.svgElementName);if(f.setAttribute("points",c),f.setAttribute("stroke-width",s.width||1),f.setAttribute("stroke","transparent"),f.setAttribute("fill","transparent"),l.append(f),this.container.append(l),!i&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();return this.container}getElementsToTriggerPopup(){return this.#e}addHighlightArea(){this.container.classList.add("highlightArea")}}class HS extends A2{constructor(e){super(e);this.containerClassName="polygonAnnotation",this.svgElementName="svg:polygon"}}class US extends Rs{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0})}render(){if(this.container.classList.add("caretAnnotation"),!this.data.popupRef&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();return this.container}}class qm extends Rs{#e=null;#t=[];constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0});this.containerClassName="inkAnnotation",this.svgElementName="svg:polyline",this.annotationEditorType=this.data.it==="InkHighlight"?rn.HIGHLIGHT:rn.INK}#n(e,n){switch(e){case 90:return{transform:`rotate(90) translate(${-n[0]},${n[1]}) scale(1,-1)`,width:n[3]-n[1],height:n[2]-n[0]};case 180:return{transform:`rotate(180) translate(${-n[2]},${n[1]}) scale(1,-1)`,width:n[2]-n[0],height:n[3]-n[1]};case 270:return{transform:`rotate(270) translate(${-n[2]},${n[3]}) scale(1,-1)`,width:n[3]-n[1],height:n[2]-n[0]};default:return{transform:`translate(${-n[0]},${n[3]}) scale(1,-1)`,width:n[2]-n[0],height:n[3]-n[1]}}}render(){this.container.classList.add(this.containerClassName);let{data:{rect:e,rotation:n,inkLists:s,borderStyle:i,popupRef:r}}=this,{transform:a,width:l,height:c}=this.#n(n,e),f=this.svgFactory.create(l,c,!0),d=this.#e=this.svgFactory.createElement("svg:g");f.append(d),d.setAttribute("stroke-width",i.width||1),d.setAttribute("stroke-linecap","round"),d.setAttribute("stroke-linejoin","round"),d.setAttribute("stroke-miterlimit",10),d.setAttribute("stroke","transparent"),d.setAttribute("fill","transparent"),d.setAttribute("transform",a);for(let b of s){let y=this.svgFactory.createElement(this.svgElementName);this.#t.push(y),y.setAttribute("points",b.join(",")),d.append(y)}if(!r&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();return this.container.append(f),this._editOnDoubleClick(),this.container}updateEdited(e){super.updateEdited(e);let{thickness:n,points:s,rect:i}=e,r=this.#e;if(n>=0)r.setAttribute("stroke-width",n||1);if(s)for(let a=0,l=this.#t.length;a<l;a++)this.#t[a].setAttribute("points",s[a].join(","));if(i){let{transform:a,width:l,height:c}=this.#n(this.data.rotation,i);r.parentElement.setAttribute("viewBox",`0 0 ${l} ${c}`),r.setAttribute("transform",a)}}getElementsToTriggerPopup(){return this.#t}addHighlightArea(){this.container.classList.add("highlightArea")}}class T2 extends Rs{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0});this.annotationEditorType=rn.HIGHLIGHT}render(){let{data:{overlaidText:e,popupRef:n}}=this;if(!n&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();if(this.container.classList.add("highlightAnnotation"),this._editOnDoubleClick(),e){let s=document.createElement("mark");s.classList.add("overlaidText"),s.textContent=e,this.container.append(s)}return this.container}}class zS extends Rs{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){let{data:{overlaidText:e,popupRef:n}}=this;if(!n&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();if(this.container.classList.add("underlineAnnotation"),e){let s=document.createElement("u");s.classList.add("overlaidText"),s.textContent=e,this.container.append(s)}return this.container}}class GS extends Rs{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){let{data:{overlaidText:e,popupRef:n}}=this;if(!n&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();if(this.container.classList.add("squigglyAnnotation"),e){let s=document.createElement("u");s.classList.add("overlaidText"),s.textContent=e,this.container.append(s)}return this.container}}class VS extends Rs{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){let{data:{overlaidText:e,popupRef:n}}=this;if(!n&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();if(this.container.classList.add("strikeoutAnnotation"),e){let s=document.createElement("s");s.classList.add("overlaidText"),s.textContent=e,this.container.append(s)}return this.container}}class E2 extends Rs{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0});this.annotationEditorType=rn.STAMP}render(){if(this.container.classList.add("stampAnnotation"),this.container.setAttribute("role","img"),!this.data.popupRef&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();return this._editOnDoubleClick(),this.container}}class $S extends Rs{#e=null;constructor(e){super(e,{isRenderable:!0});let{fileId:n,file:s}=this.data;this.filename=s.filename,this.content=s.content,this.fileId=n,this.linkService.eventBus?.dispatch("fileattachmentannotation",{source:this,attachmentId:this.fileId,...s})}render(){this.container.classList.add("fileAttachmentAnnotation");let{container:e,data:n}=this,s;if(n.hasAppearance||n.fillAlpha===0)s=document.createElement("div");else if(s=document.createElement("img"),s.src=`${this.imageResourcesPath}annotation-${/paperclip/i.test(n.name)?"paperclip":"pushpin"}.svg`,n.fillAlpha&&n.fillAlpha<1)s.style=`filter: opacity(${Math.round(n.fillAlpha*100)}%);`;s.addEventListener("dblclick",this.#t.bind(this)),this.#e=s;let{isMac:i}=Xn.platform;if(e.addEventListener("keydown",(r)=>{if(r.key==="Enter"&&(i?r.metaKey:r.ctrlKey))this.#t()}),!n.popupRef&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();else s.classList.add("popupTriggerArea");return e.append(s),e}getElementsToTriggerPopup(){return this.#e}addHighlightArea(){this.container.classList.add("highlightArea")}async#t(){let{fileId:e,filename:n,content:s}=this,i=await this.linkService.getAttachmentContent(e)||s;if(i)this.downloadManager?.openOrDownloadData(i,n)}}class C2 extends Rs{#e=new AbortController;#t=null;#n=null;constructor(e){super(e,{isRenderable:!!e.data.richMedia})}render(){this.container.classList.add("mediaAnnotation");let{filename:e}=this.data.richMedia,n=document.createElement("button");return n.className="mediaPlayButton",n.type="button",n.title=n.ariaLabel=e,n.addEventListener("click",()=>this.#s(n),{signal:this.#e.signal}),this.container.append(n),this.container}async#s(e){let{fileId:n,filename:s,contentType:i}=this.data.richMedia;e.disabled=!0;let r;try{r=await this.linkService.getAttachmentContent(n)}catch{return}finally{e.disabled=!1}if(!r||!e.isConnected)return;let{signal:a}=this.#e,l=URL.createObjectURL(new Blob([r],{type:i}));this.#t=l;let c=i.startsWith("audio/"),f=document.createElement(c?"audio":"video");if(this.#n=f,f.className="mediaContent",this._setBackgroundColor(f),f.src=l,f.title=s,f.controls=!0,f.autoplay=!0,f.tabIndex=0,c){let d=!1,b=!1,y=()=>{f.controls=d||b};this.container.addEventListener("pointerenter",()=>{d=!0,y()},{signal:a}),this.container.addEventListener("pointerleave",()=>{d=!1,y()},{signal:a}),this.container.addEventListener("focusin",()=>{b=!0,y()},{signal:a}),this.container.addEventListener("focusout",()=>{b=!1,y()},{signal:a})}f.addEventListener("emptied",()=>this.#i(l),{once:!0,signal:a}),e.replaceWith(f),f.play().catch(()=>{})}#i(e=this.#t){if(e&&e===this.#t)URL.revokeObjectURL(e),this.#t=null}destroy(){if(this.#e.abort(),this.#n)this.#n.pause(),this.#n.removeAttribute("src"),this.#n.load(),this.#n=null;this.#i()}}class j2{#e=null;#t=null;#n=null;#s=new Map;#i=null;#a=null;#r=[];#o=!1;zIndex=0;constructor({div:e,accessibilityManager:n,annotationCanvasMap:s,annotationEditorUIManager:i,page:r,viewport:a,structTreeLayer:l,commentManager:c,linkService:f,annotationStorage:d}){this.div=e,this.#e=n,this.#t=s,this.#i=l||null,this.#a=f||null,this.#n=d||new Am,this.page=r,this.viewport=a,this._annotationEditorUIManager=i,this._commentManager=c||null}hasEditableAnnotations(){return this.#s.size>0}async render(e){let{annotations:n,optionalContentConfig:s}=e,i=this.div;mc(i,this.viewport);let r=new Map,a=[],l={data:null,layer:i,linkService:this.#a,downloadManager:e.downloadManager,imageResourcesPath:e.imageResourcesPath||"",renderForms:e.renderForms!==!1,svgFactory:new uu,annotationStorage:this.#n,enableComment:e.enableComment===!0,enableScripting:e.enableScripting===!0,hasJSActions:e.hasJSActions,fieldObjects:e.fieldObjects,parent:this,elements:null};for(let c of n){if(c.noHTML)continue;let f=c.annotationType===Ns.POPUP;if(!f){if(c.rect[2]===c.rect[0]||c.rect[3]===c.rect[1])continue}else{let y=r.get(c.id);if(!y)continue;if(!this._commentManager){a.push(c);continue}l.elements=y}l.data=c;let d=rm.create(l);if(!d.isRenderable)continue;if(!f){if(this.#r.push(d),c.popupRef)r.getOrInsertComputed(c.popupRef,Cf).push(d)}let b=d.render();if(c.hidden)b.style.visibility="hidden";if(d.updateOC(s),d._isEditable)this.#s.set(d.data.id,d),this._annotationEditorUIManager?.renderAnnotationElement(d)}await this.#l();for(let c of a){let f=l.elements=r.get(c.id);l.data=c;let d=rm.create(l);if(!d.isRenderable)continue;let b=d.render();if(d.contentElement.id=`pdfjs_internal_id_${c.id}`,c.hidden)b.style.visibility="hidden";f.at(-1).container.after(b)}this.#c()}async#l(){if(this.#r.length===0)return;this.div.replaceChildren();let e=[];if(!this.#o){this.#o=!0;for(let{contentElement:s,data:{hidden:i,id:r,oc:a}}of this.#r){let l=s.id=`pdfjs_internal_id_${r}`,c=s.localName==="a"&&!i&&!a;e.push(this.#i?.getAriaAttributes(l,{enableLinkOwnership:c}).then((f)=>{if(f)for(let[d,b]of f)s.setAttribute(d,b)}))}}this.#r.sort(({data:{rect:[s,i,r,a]}},{data:{rect:[l,c,f,d]}})=>{if(s===r&&i===a)return 1;if(l===f&&c===d)return-1;let b=a,y=i,v=(i+a)/2,k=d,A=c,T=(c+d)/2;if(v>=k&&T<=y)return-1;if(T>=b&&v<=A)return 1;let R=(s+r)/2,D=(l+f)/2;return R-D});let n=document.createDocumentFragment();for(let s of this.#r)if(n.append(s.container),this._commentManager)(s.extraPopupElement?.popup||s.popup)?.renderCommentButton();else if(s.extraPopupElement)n.append(s.extraPopupElement.render());if(this.div.append(n),await Promise.all(e),this.#e){let s=await this.#i?.getAnnotationIds();for(let{contentElement:i}of this.#r){if(s?.has(i.id))continue;this.#e.addPointerInTextLayer(i,!1)}}}async addLinkAnnotations(e){let n={data:null,layer:this.div,linkService:this.#a,svgFactory:new uu,parent:this};for(let s of e){s.borderStyle||=j2._defaultBorderStyle,n.data=s;let i=rm.create(n);if(!i.isRenderable)continue;i.render(),i.contentElement.id=`pdfjs_internal_id_${s.id}`,this.#r.push(i)}await this.#l()}update({viewport:e,optionalContentConfig:n}){let s=this.div;this.viewport=e,mc(s,{rotation:e.rotation});for(let i of this.#r)i.updateOC(n);this.#c(),s.hidden=!1}destroy(){for(let e of this.#r)e.destroy?.(),this.#e?.removePointerInTextLayer(e.contentElement);this.#r.length=0,this.#s.clear(),this.div.replaceChildren()}#c(){if(!this.#t)return;let e=this.div;for(let[n,s]of this.#t){let i=e.querySelector(`[data-annotation-id="${n}"]`);if(!i)continue;if(Array.isArray(s))for(let f of s)f.className="annotationContent",f.ariaHidden=!0;else s.className="annotationContent",s.ariaHidden=!0;let r=[];for(let f of i.children)if(f.nodeName==="CANVAS")r.push(f);for(let f of r)f.remove();let a=Array.isArray(s)?s[0]:s,{firstChild:l}=i;if(!l)i.append(a);else if(!l.classList.contains("annotationContent"))l.before(a);else l.after(a);if(Array.isArray(s)){let f=a;for(let d=1,b=s.length;d<b;d++)f.after(s[d]),f=s[d]}this.#t.delete(n);let c=this.#s.get(n);if(!c)continue;if(c._hasNoCanvas)this._annotationEditorUIManager?.setMissingCanvas(n,i.id,s),c._hasNoCanvas=!1;else c.canvas=s}}refreshCanvases(){this.#c()}getEditableAnnotations(){return this.#s.values()}getEditableAnnotation(e){return this.#s.get(e)}addFakeAnnotation(e){let{div:n}=this,{id:s,rotation:i}=e,r=new ES({data:{id:s,rect:e.getPDFRect(),rotation:i},editor:e,layer:n,parent:this,enableComment:!!this._commentManager,linkService:this.#a,annotationStorage:this.#n});return r.render(),r.contentElement.id=`pdfjs_internal_id_${s}`,r.createOrUpdatePopup(),this.#r.push(r),r}removeAnnotation(e){let n=this.#r.findIndex((i)=>i.data.id===e);if(n<0)return;let[s]=this.#r.splice(n,1);this.#e?.removePointerInTextLayer(s.contentElement)}updateFakeAnnotations(e){if(e.length===0)return;for(let n of e)n.updateFakeAnnotationElement(this);this.#l()}togglePointerEvents(e=!1){this.div.classList.toggle("disabled",!e)}static get _defaultBorderStyle(){return Pt(this,"_defaultBorderStyle",Object.freeze({width:1,rawWidth:1,style:xf.SOLID,dashArray:[3],horizontalCornerRadius:0,verticalCornerRadius:0}))}}var J0=/\r\n?|\n/g;class wi extends Ft{#e="";#t=`${this.id}-editor`;#n=null;#s;_colorPicker=null;static _freeTextDefaultContent="";static _internalPadding=0;static _defaultColor=null;static _defaultFontSize=10;static get _keyboardManager(){let e=wi.prototype,n=(r)=>r.isEmpty(),{TRANSLATE_SMALL:s,TRANSLATE_BIG:i}=Al;return Pt(this,"_keyboardManager",new xr([[["ctrl+s","mac+meta+s","ctrl+p","mac+meta+p"],e.commitOrRemove,{bubbles:!0}],[["ctrl+Enter","mac+meta+Enter"],e.commitOrRemove],[["Escape"],e.commitOrRemove],[["ArrowLeft"],e._translateEmpty,{args:[-s,0],checker:n}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],e._translateEmpty,{args:[-i,0],checker:n}],[["ArrowRight"],e._translateEmpty,{args:[s,0],checker:n}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],e._translateEmpty,{args:[i,0],checker:n}],[["ArrowUp"],e._translateEmpty,{args:[0,-s],checker:n}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],e._translateEmpty,{args:[0,-i],checker:n}],[["ArrowDown"],e._translateEmpty,{args:[0,s],checker:n}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],e._translateEmpty,{args:[0,i],checker:n}]]))}static _type="freetext";static _editorType=rn.FREETEXT;constructor(e){super({...e,name:"freeTextEditor"});if(this.color=e.color||wi._defaultColor||Ft._defaultLineColor,this.#s=e.fontSize||wi._defaultFontSize,!this.annotationElementId)this._uiManager.a11yAlert(Ft._l10nAlert.freetext);this.canAddComment=!1}static initialize(e,n){Ft.initialize(e,n);let s=getComputedStyle(document.documentElement);this._internalPadding=parseFloat(s.getPropertyValue("--freetext-padding"))}static updateDefaultParams(e,n){switch(e){case An.FREETEXT_SIZE:wi._defaultFontSize=n;break;case An.FREETEXT_COLOR:wi._defaultColor=n;break}}updateParams(e,n){switch(e){case An.FREETEXT_SIZE:this.#i(n);break;case An.FREETEXT_COLOR:this.#a(n);break}}static get defaultPropertiesToUpdate(){return[[An.FREETEXT_SIZE,wi._defaultFontSize],[An.FREETEXT_COLOR,wi._defaultColor||Ft._defaultLineColor]]}get propertiesToUpdate(){return[[An.FREETEXT_SIZE,this.#s],[An.FREETEXT_COLOR,this.color]]}get toolbarButtons(){return this._colorPicker||=new hu(this),[["colorPicker",this._colorPicker]]}get colorType(){return An.FREETEXT_COLOR}#i(e){let n=(i)=>{this.editorDiv.style.fontSize=`calc(${i}px * var(--total-scale-factor))`,this.translate(0,-(i-this.#s)*this.parentScale),this.#s=i,this.#o()},s=this.#s;this.addCommands({cmd:n.bind(this,e),undo:n.bind(this,s),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:An.FREETEXT_SIZE,overwriteIfSameType:!0,keepUndo:!0})}onUpdatedColor(){this.editorDiv.style.color=this.color,this._colorPicker?.update(this.color),super.onUpdatedColor()}#a(e){let n=(i)=>{this.color=i,this.onUpdatedColor()},s=this.color;this.addCommands({cmd:n.bind(this,e),undo:n.bind(this,s),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:An.FREETEXT_COLOR,overwriteIfSameType:!0,keepUndo:!0})}_translateEmpty(e,n){this._uiManager.translateSelectedEditors(e,n,!0)}getInitialTranslation(){let e=this.parentScale;return[-wi._internalPadding*e,-(wi._internalPadding+this.#s)*e]}rebuild(){if(!this.parent)return;if(super.rebuild(),this.div===null)return;if(!this.isAttachedToDOM)this.parent.add(this)}enableEditMode(){if(!super.enableEditMode())return!1;this.overlayDiv.classList.remove("enabled"),this.editorDiv.contentEditable=!0,this._isDraggable=!1,this.div.removeAttribute("aria-activedescendant"),this.#n=new AbortController;let e=this._uiManager.combinedSignal(this.#n);return this.editorDiv.addEventListener("keydown",this.editorDivKeydown.bind(this),{signal:e}),this.editorDiv.addEventListener("focus",this.editorDivFocus.bind(this),{signal:e}),this.editorDiv.addEventListener("blur",this.editorDivBlur.bind(this),{signal:e}),this.editorDiv.addEventListener("input",this.editorDivInput.bind(this),{signal:e}),this.editorDiv.addEventListener("paste",this.editorDivPaste.bind(this),{signal:e}),!0}disableEditMode(){if(!super.disableEditMode())return!1;return this.overlayDiv.classList.add("enabled"),this.editorDiv.contentEditable=!1,this.div.setAttribute("aria-activedescendant",this.#t),this._isDraggable=!0,this.#n?.abort(),this.#n=null,this.div.focus({preventScroll:!0}),this.isEditing=!1,this.parent.div.classList.add("freetextEditing"),!0}focusin(e){if(!this._focusEventsAllowed)return;if(super.focusin(e),e.target!==this.editorDiv)this.editorDiv.focus()}onceAdded(e){if(this.width)return;if(this.enableEditMode(),e)this.editorDiv.focus();if(this._initialOptions?.isCentered)this.center();this._initialOptions=null}isEmpty(){return!this.editorDiv||this.editorDiv.innerText.trim()===""}remove(){if(this.isEditing=!1,this.parent)this.parent.setEditingState(!0),this.parent.div.classList.add("freetextEditing");super.remove()}#r(){let e=[];this.editorDiv.normalize();let n=null;for(let s of this.editorDiv.childNodes){if(n?.nodeType===Node.TEXT_NODE&&s.nodeName==="BR")continue;e.push(wi.#l(s)),n=s}return e.join(`
121
- `)}#o(){let[e,n]=this.parentDimensions,s;if(this.isAttachedToDOM)s=this.div.getBoundingClientRect();else{let{currentLayer:i,div:r}=this,a=r.style.display,l=r.classList.contains("hidden");r.classList.remove("hidden"),r.style.display="hidden",i.div.append(this.div),s=r.getBoundingClientRect(),r.remove(),r.style.display=a,r.classList.toggle("hidden",l)}if(this.rotation%180===this.parentRotation%180)this.width=s.width/e,this.height=s.height/n;else this.width=s.height/e,this.height=s.width/n;this.fixAndSetPosition()}commit(){if(!this.isInEditMode())return;super.commit(),this.disableEditMode();let e=this.#e,n=this.#e=this.#r().trimEnd();if(e===n)return;let s=(i)=>{if(this.#e=i,!i){this.remove();return}this.#c(),this._uiManager.rebuild(this),this.#o()};this.addCommands({cmd:()=>{s(n)},undo:()=>{s(e)},mustExec:!1}),this.#o()}shouldGetKeyboardEvents(){return this.isInEditMode()}enterInEditMode(){this.enableEditMode(),this.editorDiv.focus()}keydown(e){if(e.target===this.div&&e.key==="Enter")this.enterInEditMode(),e.preventDefault()}editorDivKeydown(e){wi._keyboardManager.exec(this,e)}editorDivFocus(e){this.isEditing=!0}editorDivBlur(e){this.isEditing=!1}editorDivInput(e){this.parent.div.classList.toggle("freetextEditing",this.isEmpty())}disableEditing(){this.editorDiv.setAttribute("role","comment"),this.editorDiv.removeAttribute("aria-multiline")}enableEditing(){this.editorDiv.setAttribute("role","textbox"),this.editorDiv.setAttribute("aria-multiline",!0)}get canChangeContent(){return!0}render(){if(this.div)return this.div;let e,n;if(this._isCopy||this.annotationElementId)e=this.x,n=this.y;super.render(),this.editorDiv=document.createElement("div"),this.editorDiv.className="internal",this.editorDiv.setAttribute("id",this.#t),this.editorDiv.setAttribute("data-l10n-id","pdfjs-free-text2"),this.editorDiv.setAttribute("data-l10n-attrs","default-content"),this.enableEditing(),this.editorDiv.contentEditable=!0;let{style:s}=this.editorDiv;if(s.fontSize=`calc(${this.#s}px * var(--total-scale-factor))`,s.color=this.color,this.div.append(this.editorDiv),this.overlayDiv=document.createElement("div"),this.overlayDiv.classList.add("overlay","enabled"),this.div.append(this.overlayDiv),this._isCopy||this.annotationElementId){let[i,r]=this.parentDimensions;if(this.annotationElementId){let{position:a}=this._initialData,[l,c]=this.getInitialTranslation();[l,c]=this.pageTranslationToScreen(l,c);let[f,d]=this.pageDimensions,[b,y]=this.pageTranslation,v,k;switch(this.rotation){case 0:v=e+(a[0]-b)/f,k=n+this.height-(a[1]-y)/d;break;case 90:v=e+(a[0]-b)/f,k=n-(a[1]-y)/d,[l,c]=[c,-l];break;case 180:v=e-this.width+(a[0]-b)/f,k=n-(a[1]-y)/d,[l,c]=[-l,-c];break;case 270:v=e+(a[0]-b-this.height*d)/f,k=n+(a[1]-y-this.width*f)/d,[l,c]=[-c,l];break}this.setAt(v*i,k*r,l,c)}else this._moveAfterPaste(e,n);this.#c(),this._isDraggable=!0,this.editorDiv.contentEditable=!1}else this._isDraggable=!1,this.editorDiv.contentEditable=!0;return this.div}static#l(e){return(e.nodeType===Node.TEXT_NODE?e.nodeValue:e.innerText).replaceAll(J0,"")}editorDivPaste(e){let n=e.clipboardData||window.clipboardData,{types:s}=n;if(s.length===1&&s[0]==="text/plain")return;e.preventDefault();let i=wi.#h(n.getData("text")||"").replaceAll(J0,`
122
- `);if(!i)return;let r=window.getSelection();if(!r.rangeCount)return;this.editorDiv.normalize(),r.deleteFromDocument();let a=r.getRangeAt(0);if(!i.includes(`
123
- `)){a.insertNode(document.createTextNode(i)),this.editorDiv.normalize(),r.collapseToStart();return}let{startContainer:l,startOffset:c}=a,f=[],d=[];if(l.nodeType===Node.TEXT_NODE){let v=l.parentElement;if(d.push(l.nodeValue.slice(c).replaceAll(J0,"")),v!==this.editorDiv){let k=f;for(let A of this.editorDiv.childNodes){if(A===v){k=d;continue}k.push(wi.#l(A))}}f.push(l.nodeValue.slice(0,c).replaceAll(J0,""))}else if(l===this.editorDiv){let v=f,k=0;for(let A of this.editorDiv.childNodes){if(k++===c)v=d;v.push(wi.#l(A))}}this.#e=`${f.join(`
124
- `)}${i}${d.join(`
125
- `)}`,this.#c();let b=new Range,y=Math.sumPrecise(f.map((v)=>v.length));for(let{firstChild:v}of this.editorDiv.childNodes)if(v.nodeType===Node.TEXT_NODE){let k=v.nodeValue.length;if(y<=k){b.setStart(v,y),b.setEnd(v,y);break}y-=k}r.removeAllRanges(),r.addRange(b)}#c(){if(this.editorDiv.replaceChildren(),!this.#e)return;for(let e of this.#e.split(`
126
- `)){let n=document.createElement("div");n.append(e?document.createTextNode(e):document.createElement("br")),this.editorDiv.append(n)}}#u(){return this.#e.replaceAll(" "," ")}static#h(e){return e.replaceAll(" "," ")}get contentDiv(){return this.editorDiv}getPDFRect(){let e=wi._internalPadding*this.parentScale;return this.getRect(e,e)}static async deserialize(e,n,s){let i=null;if(e instanceof x2){let{data:{defaultAppearanceData:{fontSize:a,fontColor:l},rect:c,rotation:f,id:d,popupRef:b,richText:y,contentsObj:v,creationDate:k,modificationDate:A},textContent:T,textPosition:R,parent:{page:{pageNumber:D}}}=e;if(!T?.length)return null;i=e={annotationType:rn.FREETEXT,color:Array.from(l),fontSize:a,value:T.join(`
127
- `),position:R,pageIndex:D-1,rect:c.slice(0),rotation:f,annotationElementId:d,id:d,deleted:!1,popupRef:b,comment:v?.str||null,richText:y,creationDate:k,modificationDate:A}}let r=await super.deserialize(e,n,s);if(r.#s=e.fontSize,r.color=ut.makeHexColor(...e.color),r.#e=wi.#h(e.value),r._initialData=i,e.comment)r.setCommentData(e);return r}serialize(e=!1){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();let n=Ft._colorManager.convert(this.isAttachedToDOM?getComputedStyle(this.editorDiv).color:this.color),s=Object.assign(super.serialize(e),{color:n,fontSize:this.#s,value:this.#u()});if(this.addComment(s),e)return s.isCopy=!0,s;if(this.annotationElementId&&!this.#d(s))return null;return s.id=this.annotationElementId,s}#d(e){let{value:n,fontSize:s,color:i,pageIndex:r}=this._initialData;return this.hasEditedComment||this._hasBeenMoved||e.value!==n||e.fontSize!==s||e.color.some((a,l)=>a!==i[l])||e.pageIndex!==r}renderAnnotationElement(e){let n=super.renderAnnotationElement(e);if(!n)return null;let{style:s}=n;s.fontSize=`calc(${this.#s}px * var(--total-scale-factor))`,s.color=this.color,n.replaceChildren();for(let i of this.#e.split(`
128
- `)){let r=document.createElement("div");r.append(i?document.createTextNode(i):document.createElement("br")),n.append(r)}return e.updateEdited({rect:this.getPDFRect(),popup:this._uiManager.hasCommentManager()||this.hasEditedComment?this.comment:{text:this.#e}}),n}resetAnnotationElement(e){super.resetAnnotationElement(e),e.resetEdited()}}class Mm{#e=Object.create(null);updateProperty(e,n){this[e]=n,this.updateSVGProperty(e,n)}updateProperties(e){if(!e)return;for(let[n,s]of Object.entries(e))if(!n.startsWith("_"))this.updateProperty(n,s)}updateSVGProperty(e,n){this.#e[e]=n}toSVGProperties(){let e=this.#e;return this.#e=Object.create(null),{root:e}}reset(){this.#e=Object.create(null)}updateAll(e=this){this.updateProperties(e)}clone(){Dn("Not implemented")}}class kn extends Ft{#e=null;#t;_clipPathId=null;_colorPicker=null;_drawId=null;_drawOutlines=null;_focusDrawId=null;static _currentDrawId=-1;static _currentParent=null;static#n=null;static#s=null;static#i=null;static#a=null;static _INNER_MARGIN=3;constructor(e){super(e);this.#t=e.mustBeCommitted||!1,this._addOutlines(e)}onUpdatedColor(){this._colorPicker?.update(this.color),super.onUpdatedColor()}onUpdatedOpacity(){this._colorPicker?.updateOpacity?.(this.opacity)}_addOutlines(e){if(e.drawOutlines)this.#r(e),this.#g()}#r({drawOutlines:e,drawId:n,drawingOptions:s,clipPathId:i}){if(this._drawOutlines=e,this._drawingOptions||=s,!this.annotationElementId)this._uiManager.a11yAlert(Ft._l10nAlert[this.editorType]);if(n>=0)this._drawId=n,this._clipPathId=i??null,this.parent.drawLayer.finalizeDraw(n,e.defaultProperties),this.#l(this.parent);else this._drawId=this.#o(e,this.parent);this.#b(e.box)}#o(e,n){let{id:s,clipPathId:i}=n.drawLayer.draw(kn._mergeSVGProperties(this._drawingOptions.toSVGProperties(),e.defaultSVGProperties),!1,this.constructor._hasClipPath);if(this.constructor._hasClipPath)this._clipPathId=i;return this.#l(n),s}#l(e){let n=this._drawOutlines.getFocusSVGProperties(this.#d);if(n)this._focusDrawId=e.drawLayer.drawOutline(n,this._drawOutlines.focusMustRemoveSelfIntersections)}#c(e=this.#d){if(this._focusDrawId===null)return;this.parent?.drawLayer.updateProperties(this._focusDrawId,this._drawOutlines.getFocusSVGProperties(e))}#u(e){if(this._focusDrawId!==null)this.parent?.drawLayer.updateProperties(this._focusDrawId,{rootClass:e})}#h(){let{parent:e,_drawId:n,_focusDrawId:s,_isVisible:i}=this;if(!e||n===null)return;let r={hidden:!i};if(e.drawLayer.updateProperties(n,{rootClass:r}),s!==null)e.drawLayer.updateProperties(s,{rootClass:r})}static _mergeSVGProperties(e,n){let s=new Set(Object.keys(e));for(let[i,r]of Object.entries(n))if(s.has(i))Object.assign(e[i],r);else e[i]=r;return e}static getDefaultDrawingOptions(e){Dn("Not implemented")}static get typesMap(){Dn("Not implemented")}static get isDrawer(){return!0}static get _hasClipPath(){return!1}static get _hasDrawClass(){return!0}static get supportMultipleDrawings(){return!1}get _drawRotation(){return this.rotation}get _opacityName(){return this.constructor.typesMap.get(this.opacityType)}get#d(){return(this.parentRotation-this._drawRotation+360)%360}static updateDefaultParams(e,n){let s=this.typesMap.get(e);if(s)this._defaultDrawingOptions.updateProperty(s,n);if(this._currentParent)kn.#n.updateProperty(s,n),this._currentParent.drawLayer.updateProperties(this._currentDrawId,this._defaultDrawingOptions.toSVGProperties())}updateParams(e,n){let s=this.constructor.typesMap.get(e);if(s)this._updateProperty(e,s,n)}static get defaultPropertiesToUpdate(){let e=[],n=this._defaultDrawingOptions;for(let[s,i]of this.typesMap)e.push([s,n[i]]);return e}get propertiesToUpdate(){let e=[],{_drawingOptions:n}=this;for(let[s,i]of this.constructor.typesMap)e.push([s,n[i]]);return e}_updateProperty(e,n,s){let i=this._drawingOptions,r=i[n],a=(l)=>{i.updateProperty(n,l);let c=this._drawOutlines.updateProperty(n,l);if(c)this.#b(c);if(this.parent?.drawLayer.updateProperties(this._drawId,i.toSVGProperties()),e===this.colorType)this.onUpdatedColor();else if(e===this.opacityType)this.onUpdatedOpacity()};this.addCommands({cmd:a.bind(this,s),undo:a.bind(this,r),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:e,overwriteIfSameType:!0,keepUndo:!0})}_updateColorAndOpacity(e,n,s=this.colorAndOpacityType){let i=this.constructor.typesMap.get(this.colorType),r=this._opacityName,a=this._drawingOptions,l=a[i],c=a[r],f=(d,b)=>{a.updateProperty(i,d),a.updateProperty(r,b),this._drawOutlines.updateProperty(i,d),this._drawOutlines.updateProperty(r,b),this.parent?.drawLayer.updateProperties(this._drawId,a.toSVGProperties()),this.onUpdatedColor(),this.onUpdatedOpacity()};this.addCommands({cmd:f.bind(this,e,n),undo:f.bind(this,l,c),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:s,overwriteIfSameType:!0,keepUndo:!0})}_onResizing(){this.parent?.drawLayer.updateProperties(this._drawId,kn._mergeSVGProperties(this._drawOutlines.getPathResizingSVGProperties(this.#m()),{bbox:this.#w()}))}_onResized(){this.parent?.drawLayer.updateProperties(this._drawId,kn._mergeSVGProperties(this._drawOutlines.getPathResizedSVGProperties(this.#m()),{bbox:this.#w()})),this.#c()}_onTranslating(e,n){this.parent?.drawLayer.updateProperties(this._drawId,{bbox:this.#w()})}_onTranslated(){this.parent?.drawLayer.updateProperties(this._drawId,kn._mergeSVGProperties(this._drawOutlines.getPathTranslatedSVGProperties(this.#m(),this.parentDimensions),{bbox:this.#w()}))}_onStartDragging(){this.parent?.drawLayer.updateProperties(this._drawId,{rootClass:{moving:!0}})}_onStopDragging(){this.parent?.drawLayer.updateProperties(this._drawId,{rootClass:{moving:!1}})}get _mustBeDisabledOnCommit(){return!0}commit(){if(super.commit(),this._mustBeDisabledOnCommit)this.disableEditMode(),this.disableEditing()}disableEditing(){super.disableEditing(),this.div.classList.toggle("disabled",!0)}enableEditing(){super.enableEditing(),this.div.classList.toggle("disabled",!1)}getBaseTranslation(){return[0,0]}get isResizable(){return!0}onceAdded(e){if(!this.annotationElementId)this.parent.addUndoableEditor(this);if(this._isDraggable=!0,this.#t){if(this.#t=!1,this.commit(),this.parent.setSelected(this),e&&this.isOnScreen)this.div.focus()}}remove(){this._uiManager.removeShouldRescale(this),this.#p(),super.remove()}rebuild(){if(!this.parent)return;if(super.rebuild(),this.div===null)return;if(this.#g(),this.#b(this._drawOutlines.box),!this.isAttachedToDOM)this.parent.add(this)}setParent(e){let n=!1;if(this.parent&&!e)this._uiManager.removeShouldRescale(this),this.#p();else if(e)this._uiManager.addShouldRescale(this),this.#g(e),n=!this.parent&&this.div?.classList.contains("selectedEditor");if(super.setParent(e),this.#h(),n)this.select()}#p(){if(this._drawId===null||!this.parent)return;let{drawLayer:e}=this.parent;if(e.remove(this._drawId),this._drawId=null,this._focusDrawId!==null)e.remove(this._focusDrawId),this._focusDrawId=null;this._drawingOptions.reset()}#g(e=this.parent){if(this._drawId!==null&&this.parent===e)return;if(this._drawId!==null){let{drawLayer:n}=this.parent;if(n.updateParent(this._drawId,e.drawLayer),this._focusDrawId!==null)n.updateParent(this._focusDrawId,e.drawLayer);return}if(this._drawingOptions.updateAll(),this._drawId=this.#o(this._drawOutlines,e),this._clipPathId&&this.#e)this.#e.style.clipPath=this._clipPathId}#f([e,n,s,i]){let{parentDimensions:[r,a],_drawRotation:l}=this;switch(l){case 90:return[n,1-e,s*(a/r),i*(r/a)];case 180:return[1-e,1-n,s,i];case 270:return[1-n,e,s*(a/r),i*(r/a)];default:return[e,n,s,i]}}#m(){let{x:e,y:n,width:s,height:i,parentDimensions:[r,a],_drawRotation:l}=this;switch(l){case 90:return[1-n,e,s*(r/a),i*(a/r)];case 180:return[1-e,1-n,s,i];case 270:return[n,1-e,s*(r/a),i*(a/r)];default:return[e,n,s,i]}}#b(e){if([this.x,this.y,this.width,this.height]=this.#f(e),this.div)this.fixAndSetPosition(),this.setDims();this._onResized()}#w(e=this.parentRotation){let{x:n,y:s,width:i,height:r,_drawRotation:a,parentDimensions:[l,c]}=this;switch((a*4+e)/90){case 1:return[1-s-r,n,r,i];case 2:return[1-n-i,1-s-r,i,r];case 3:return[s,1-n-i,r,i];case 4:return[n,s-i*(l/c),r*(c/l),i*(l/c)];case 5:return[1-s,n,i*(l/c),r*(c/l)];case 6:return[1-n-r*(c/l),1-s,r*(c/l),i*(l/c)];case 7:return[s-i*(l/c),1-n-r*(c/l),i*(l/c),r*(c/l)];case 8:return[n-i,s-r,i,r];case 9:return[1-s,n-i,r,i];case 10:return[1-n,1-s,i,r];case 11:return[s-r,1-n,r,i];case 12:return[n-r*(c/l),s,r*(c/l),i*(l/c)];case 13:return[1-s-i*(l/c),n-r*(c/l),i*(l/c),r*(c/l)];case 14:return[1-n,1-s-i*(l/c),r*(c/l),i*(l/c)];case 15:return[s,1-n,i*(l/c),r*(c/l)];default:return[n,s,i,r]}}rotate(e=this.parentRotation){if(!this.parent||this._drawId===null)return;let n=(e-this._drawRotation+360)%360;this.parent.drawLayer.updateProperties(this._drawId,kn._mergeSVGProperties({bbox:this.#w(e)},this._drawOutlines.updateRotation(n))),this.#c(n)}show(e=this._isVisible){super.show(e),this.#h()}select(){super.select(),this.#u({hovered:!1,selected:!0})}unselect(){super.unselect(),this.#u({selected:!1})}pointerover(){if(!this.isSelected)this.#u({hovered:!0})}pointerleave(){if(!this.isSelected)this.#u({hovered:!1})}onScaleChanging(){if(!this.parent)return;let e=this._drawOutlines.updateParentDimensions(this.parentDimensions,this.parent.scale);if(e)this.#b(e)}static onScaleChangingWhenDrawing(){}render(){if(this.div)return this.div;let e,n;if(this._isCopy)e=this.x,n=this.y;let s=super.render();if(this.constructor._hasDrawClass)s.classList.add("draw");let i=this.#e=document.createElement("div");if(s.append(i),i.setAttribute("aria-hidden","true"),i.className="internal",this._clipPathId)i.style.clipPath=this._clipPathId;if(C7(this,i,["pointerover","pointerleave"]),this.setDims(),this._uiManager.addShouldRescale(this),this.disableEditing(),this._isCopy)this._moveAfterPaste(e,n);return s}static createDrawerInstance(e){Dn("Not implemented")}static _getDrawingTarget(e,{target:n}){return n}static _getPointerCoords({offsetX:e,offsetY:n,clientX:s,clientY:i},r=null){if(!r)return[e,n];let a=s-r.clientX,l=i-r.clientY;switch(this._currentParent.viewport.rotation){case 90:[a,l]=[l,-a];break;case 180:[a,l]=[-a,-l];break;case 270:[a,l]=[-l,a];break}return[r.offsetX+a,r.offsetY+l]}static _addDrawingListeners(e,n){}static _endDrawingSession(e=!1){return this._currentParent.endDrawingSession(e)}static startDrawing(e,n,s,i){let{pointerId:r,pointerType:a}=i;if(Hn.isInitializedAndDifferentPointerType(a))return;let l=this._getDrawingTarget(e,i),[c,f]=this._getPointerCoords(i),{viewport:{rotation:d}}=e,{x:b,y,width:v,height:k}=l.getBoundingClientRect(),A=kn.#s=new AbortController,T=e.combinedSignal(A);if(Hn.setPointer(a,r),window.addEventListener("pointerup",(U)=>{if(Hn.isSamePointerIdOrRemove(U.pointerId))this._endDraw(U)},{signal:T}),window.addEventListener("pointercancel",(U)=>{if(Hn.isSamePointerIdOrRemove(U.pointerId))this._endDrawingSession()},{signal:T}),window.addEventListener("pointerdown",(U)=>{if(!Hn.isSamePointerType(U.pointerType))return;if(Hn.initializeAndAddPointerId(U.pointerId),kn.#n.isCancellable())if(kn.#n.removeLastElement(),kn.#n.isEmpty())this._endDrawingSession(!0);else this._endDraw(null)},{capture:!0,passive:!1,signal:T}),window.addEventListener("contextmenu",ga,{signal:T}),l.addEventListener("pointermove",this._drawMove.bind(this),{signal:T}),l.addEventListener("touchmove",(U)=>{if(Hn.isSameTimeStamp(U.timeStamp))hi(U)},{signal:T}),this._addDrawingListeners(l,T),e.toggleDrawing(),n._editorUndoBar?.hide(),kn.#n){e.drawLayer.updateProperties(this._currentDrawId,kn.#n.startNew(c,f,v,k,d));return}n.updateUIForDefaultProperties(this),kn.#n=this.createDrawerInstance({x:c,y:f,box:[b,y,v,k],rotation:d,parent:e,isLTR:s}),kn.#i=this.getDefaultDrawingOptions(),this._currentParent=e;let{id:R,clipPathId:D}=e.drawLayer.draw(this._mergeSVGProperties(kn.#i.toSVGProperties(),kn.#n.defaultSVGProperties),!0,this._hasClipPath);this._currentDrawId=R,kn.#a=this._hasClipPath?D:null}static _drawMove(e){if(Hn.isSameTimeStamp(e.timeStamp),!kn.#n)return;if(!Hn.isSamePointerId(e.pointerId))return;if(Hn.isUsingMultiplePointers()){this._endDraw(e);return}let n,s=e.getCoalescedEvents?.();if(s?.length){let i=[];for(let r of s)i.push(...this._getPointerCoords(r,e));n=kn.#n.addPoints(i)}else n=kn.#n.add(...this._getPointerCoords(e));this._currentParent.drawLayer.updateProperties(this._currentDrawId,n),Hn.setTimeStamp(e.timeStamp),hi(e)}static _cleanup(e){if(e)this._currentDrawId=-1,this._currentParent=null,kn.#n=null,kn.#i=null,kn.#a=null,Hn.clearTimeStamp();if(kn.#s)kn.#s.abort(),kn.#s=null,Hn.clearPointerIds()}static _endDraw(e){let n=this._currentParent;if(!n)return;if(n.toggleDrawing(!0),this._cleanup(!1),n.drawLayer.updateProperties(this._currentDrawId,e?.target===n.div?kn.#n.end(...this._getPointerCoords(e)):kn.#n.end()),this.supportMultipleDrawings){let s=kn.#n,i=this._currentDrawId,r=s.getLastElement();n.addCommands({cmd:()=>{n.drawLayer.updateProperties(i,s.setLastElement(r))},undo:()=>{n.drawLayer.updateProperties(i,s.removeLastElement())},mustExec:!1,type:An.DRAW_STEP});return}this.endDrawing(!1)}static endDrawing(e){let n=this._currentParent;if(!n)return null;if(n.toggleDrawing(!0),n.cleanUndoStack(An.DRAW_STEP),!kn.#n.isEmpty()){let{pageDimensions:[s,i],scale:r}=n,a=n.createAndAddNewEditor({offsetX:0,offsetY:0},!1,{drawId:this._currentDrawId,clipPathId:kn.#a,drawOutlines:kn.#n.getOutlines(s*r,i*r,r,this._INNER_MARGIN),drawingOptions:kn.#i,mustBeCommitted:!e});return this._cleanup(!0),a}return n.drawLayer.remove(this._currentDrawId),this._cleanup(!0),null}createDrawingOptions(e){}static deserializeDraw(e,n,s,i,r,a,l){Dn("Not implemented")}static async deserialize(e,n,s){let{rawDims:{pageWidth:i,pageHeight:r,pageX:a,pageY:l}}=n.viewport,c=this.deserializeDraw(a,l,i,r,this._INNER_MARGIN,e,s),f=await super.deserialize(e,n,s);return f.createDrawingOptions(e),f.#r({drawOutlines:c}),f.#g(),f.onScaleChanging(),f.rotate(),f}serializeDraw(e){let[n,s]=this.pageTranslation,[i,r]=this.pageDimensions;return this._drawOutlines.serialize([n,s,i,r],e)}renderAnnotationElement(e){return e.updateEdited({rect:this.getPDFRect()}),null}static canCreateNewEmptyEditor(){return!1}}class xt{static PRECISION=0.0001;focusOutline=null;toSVGPath(){Dn("Abstract method `toSVGPath` must be implemented.")}get box(){Dn("Abstract getter `box` must be implemented.")}serialize(e,n){Dn("Abstract method `serialize` must be implemented.")}get defaultSVGProperties(){Dn("Abstract getter `defaultSVGProperties` must be implemented.")}get defaultProperties(){return this.defaultSVGProperties}getFocusSVGProperties(e){return null}get focusMustRemoveSelfIntersections(){return!1}updateProperty(e,n){return null}updateParentDimensions(e,n){return null}serializeQuadPoints(e,n){return null}updateRotation(e){return{}}getPathResizingSVGProperties(e){return{}}getPathResizedSVGProperties(e){return{}}getPathTranslatedSVGProperties(e,n){return{}}static _rotateBox([e,n,s,i],r){switch(r){case 90:return[1-n-i,e,i,s];case 180:return[1-e-s,1-n-i,s,i];case 270:return[n,1-e-s,i,s]}return[e,n,s,i]}static _rescale(e,n,s,i,r,a){a||=new Float32Array(e.length);for(let l=0,c=e.length;l<c;l+=2)a[l]=n+e[l]*i,a[l+1]=s+e[l+1]*r;return a}static _rescaleAndSwap(e,n,s,i,r,a){a||=new Float32Array(e.length);for(let l=0,c=e.length;l<c;l+=2)a[l]=n+e[l+1]*i,a[l+1]=s+e[l]*r;return a}static _translate(e,n,s,i){i||=new Float32Array(e.length);for(let r=0,a=e.length;r<a;r+=2)i[r]=n+e[r],i[r+1]=s+e[r+1];return i}static svgRound(e){return Math.round(e*1e4)}static _normalizePoint(e,n,s,i,r){switch(r){case 90:return[1-n/s,e/i];case 180:return[1-e/s,1-n/i];case 270:return[n/s,1-e/i];default:return[e/s,n/i]}}static createBezierPoints(e,n,s,i,r,a){return[(e+5*s)/6,(n+5*i)/6,(5*s+r)/6,(5*i+a)/6,(s+r)/2,(i+a)/2]}}class hc{#e;#t=[];#n;#s;#i=[];#a=new Float32Array(18);#r;#o;#l;#c;#u;#h;#d=[];static#p=8;static#g=2;static#f=hc.#p+hc.#g;constructor(e,n,s,i,r,a,l=0){this.#e=s,this.#h=r*i,this.#s=a,this.#a.set([NaN,NaN,NaN,NaN,e,n],6),this.#n=l,this.#c=hc.#p*i,this.#l=hc.#f*i,this.#u=i,this.#d.push(e,n)}isEmpty(){return isNaN(this.#a[8])}isCancellable(){return this.#d.length<=10}removeLastElement(){return this.#a.fill(NaN),this.#i.length=this.#t.length=this.#d.length=0,{path:{d:""}}}#m(){let e=this.#a.subarray(4,6),n=this.#a.subarray(16,18),[s,i,r,a]=this.#e;return[(this.#r+(e[0]-n[0])/2-s)/r,(this.#o+(e[1]-n[1])/2-i)/a,(this.#r+(n[0]-e[0])/2-s)/r,(this.#o+(n[1]-e[1])/2-i)/a]}add(e,n){this.#r=e,this.#o=n;let[s,i,r,a]=this.#e,[l,c,f,d]=this.#a.subarray(8,12),b=e-f,y=n-d,v=Math.hypot(b,y);if(v<this.#l)return!1;let k=v-this.#c,A=k/v,T=A*b,R=A*y,D=l,U=c;l=f,c=d,f+=T,d+=R,this.#d?.push(e,n);let Y=-R/k,X=T/k,J=Y*this.#h,ee=X*this.#h;if(this.#a.set(this.#a.subarray(2,8),0),this.#a.set([f+J,d+ee],4),this.#a.set(this.#a.subarray(14,18),12),this.#a.set([f-J,d-ee],16),isNaN(this.#a[6])){if(this.#i.length===0)this.#a.set([l+J,c+ee],2),this.#i.push(NaN,NaN,NaN,NaN,(l+J-s)/r,(c+ee-i)/a),this.#a.set([l-J,c-ee],14),this.#t.push(NaN,NaN,NaN,NaN,(l-J-s)/r,(c-ee-i)/a);return this.#a.set([D,U,l,c,f,d],6),!this.isEmpty()}if(this.#a.set([D,U,l,c,f,d],6),Math.abs(Math.atan2(U-c,D-l)-Math.atan2(R,T))<Math.PI/2)return[l,c,f,d]=this.#a.subarray(2,6),this.#i.push(NaN,NaN,NaN,NaN,((l+f)/2-s)/r,((c+d)/2-i)/a),[l,c,D,U]=this.#a.subarray(14,18),this.#t.push(NaN,NaN,NaN,NaN,((D+l)/2-s)/r,((U+c)/2-i)/a),!0;return[D,U,l,c,f,d]=this.#a.subarray(0,6),this.#i.push(((D+5*l)/6-s)/r,((U+5*c)/6-i)/a,((5*l+f)/6-s)/r,((5*c+d)/6-i)/a,((l+f)/2-s)/r,((c+d)/2-i)/a),[f,d,l,c,D,U]=this.#a.subarray(12,18),this.#t.push(((D+5*l)/6-s)/r,((U+5*c)/6-i)/a,((5*l+f)/6-s)/r,((5*c+d)/6-i)/a,((l+f)/2-s)/r,((c+d)/2-i)/a),!0}toSVGPath(){if(this.isEmpty())return"";let e=this.#i,n=this.#t;if(isNaN(this.#a[6])&&!this.isEmpty())return this.#b();let s=[];s.push(`M${e[4]} ${e[5]}`);for(let i=6;i<e.length;i+=6)if(isNaN(e[i]))s.push(`L${e[i+4]} ${e[i+5]}`);else s.push(`C${e[i]} ${e[i+1]} ${e[i+2]} ${e[i+3]} ${e[i+4]} ${e[i+5]}`);this.#y(s);for(let i=n.length-6;i>=6;i-=6)if(isNaN(n[i]))s.push(`L${n[i+4]} ${n[i+5]}`);else s.push(`C${n[i]} ${n[i+1]} ${n[i+2]} ${n[i+3]} ${n[i+4]} ${n[i+5]}`);return this.#w(s),s.join(" ")}#b(){let[e,n,s,i]=this.#e,[r,a,l,c]=this.#m();return`M${(this.#a[2]-e)/s} ${(this.#a[3]-n)/i} L${(this.#a[4]-e)/s} ${(this.#a[5]-n)/i} L${r} ${a} L${l} ${c} L${(this.#a[16]-e)/s} ${(this.#a[17]-n)/i} L${(this.#a[14]-e)/s} ${(this.#a[15]-n)/i} Z`}#w(e){let n=this.#t;e.push(`L${n[4]} ${n[5]} Z`)}#y(e){let[n,s,i,r]=this.#e,a=this.#a.subarray(4,6),l=this.#a.subarray(16,18),[c,f,d,b]=this.#m();e.push(`L${(a[0]-n)/i} ${(a[1]-s)/r} L${c} ${f} L${d} ${b} L${(l[0]-n)/i} ${(l[1]-s)/r}`)}newFreeDrawOutline(e,n,s,i,r,a){return new _2(e,n,s,i,r,a)}getOutlines(){let e=this.#i,n=this.#t,s=this.#a,[i,r,a,l]=this.#e,c=new Float32Array((this.#d?.length??0)+2);for(let b=0,y=c.length-2;b<y;b+=2)c[b]=(this.#d[b]-i)/a,c[b+1]=(this.#d[b+1]-r)/l;if(c[c.length-2]=(this.#r-i)/a,c[c.length-1]=(this.#o-r)/l,isNaN(s[6])&&!this.isEmpty())return this.#v(c);let f=new Float32Array(this.#i.length+24+this.#t.length),d=e.length;for(let b=0;b<d;b+=2){if(isNaN(e[b])){f[b]=f[b+1]=NaN;continue}f[b]=e[b],f[b+1]=e[b+1]}d=this.#k(f,d);for(let b=n.length-6;b>=6;b-=6)for(let y=0;y<6;y+=2){if(isNaN(n[b+y])){f[d]=f[d+1]=NaN,d+=2;continue}f[d]=n[b+y],f[d+1]=n[b+y+1],d+=2}return this.#x(f,d),this.newFreeDrawOutline(f,c,this.#e,this.#u,this.#n,this.#s)}#v(e){let n=this.#a,[s,i,r,a]=this.#e,[l,c,f,d]=this.#m(),b=new Float32Array(36);return b.set([NaN,NaN,NaN,NaN,(n[2]-s)/r,(n[3]-i)/a,NaN,NaN,NaN,NaN,(n[4]-s)/r,(n[5]-i)/a,NaN,NaN,NaN,NaN,l,c,NaN,NaN,NaN,NaN,f,d,NaN,NaN,NaN,NaN,(n[16]-s)/r,(n[17]-i)/a,NaN,NaN,NaN,NaN,(n[14]-s)/r,(n[15]-i)/a],0),this.newFreeDrawOutline(b,e,this.#e,this.#u,this.#n,this.#s)}#x(e,n){let s=this.#t;return e.set([NaN,NaN,NaN,NaN,s[4],s[5]],n),n+=6}#k(e,n){let s=this.#a.subarray(4,6),i=this.#a.subarray(16,18),[r,a,l,c]=this.#e,[f,d,b,y]=this.#m();return e.set([NaN,NaN,NaN,NaN,(s[0]-r)/l,(s[1]-a)/c,NaN,NaN,NaN,NaN,f,d,NaN,NaN,NaN,NaN,b,y,NaN,NaN,NaN,NaN,(i[0]-r)/l,(i[1]-a)/c],n),n+=24}}class _2 extends xt{#e;#t=new Float32Array(4);#n;#s;#i;#a;#r;constructor(e,n,s,i,r,a){super();this.#r=e,this.#i=n,this.#e=s,this.#a=i,this.#n=r,this.#s=a,this.firstPoint=[NaN,NaN],this.lastPoint=[NaN,NaN],this.#o(a);let[l,c,f,d]=this.#t;for(let b=0,y=e.length;b<y;b+=2)e[b]=(e[b]-l)/f,e[b+1]=(e[b+1]-c)/d;for(let b=0,y=n.length;b<y;b+=2)n[b]=(n[b]-l)/f,n[b+1]=(n[b+1]-c)/d}toSVGPath(){let e=[`M${this.#r[4]} ${this.#r[5]}`];for(let n=6,s=this.#r.length;n<s;n+=6){if(isNaN(this.#r[n])){e.push(`L${this.#r[n+4]} ${this.#r[n+5]}`);continue}e.push(`C${this.#r[n]} ${this.#r[n+1]} ${this.#r[n+2]} ${this.#r[n+3]} ${this.#r[n+4]} ${this.#r[n+5]}`)}return e.push("Z"),e.join(" ")}serialize([e,n,s,i],r){let a=s-e,l=i-n,c,f;switch(r){case 0:c=xt._rescale(this.#r,e,i,a,-l),f=xt._rescale(this.#i,e,i,a,-l);break;case 90:c=xt._rescaleAndSwap(this.#r,e,n,a,l),f=xt._rescaleAndSwap(this.#i,e,n,a,l);break;case 180:c=xt._rescale(this.#r,s,n,-a,l),f=xt._rescale(this.#i,s,n,-a,l);break;case 270:c=xt._rescaleAndSwap(this.#r,s,i,-a,-l),f=xt._rescaleAndSwap(this.#i,s,i,-a,-l);break}return{outline:Array.from(c),points:[Array.from(f)]}}#o(e){let n=this.#r,s=n[4],i=n[5],r=[s,i,s,i],a=s,l=i,c=s,f=i,d=e?Math.max:Math.min,b=new Float32Array(4);for(let v=6,k=n.length;v<k;v+=6){let A=n[v+4],T=n[v+5];if(isNaN(n[v])){if(ut.pointBoundingBox(A,T,r),l>T)a=A,l=T;else if(l===T)a=d(a,A);if(f<T)c=A,f=T;else if(f===T)c=d(c,A)}else{if(b.set(qo,0),ut.bezierBoundingBox(s,i,...n.slice(v,v+6),b),ut.rectBoundingBox(...b,r),l>b[1])a=b[0],l=b[1];else if(l===b[1])a=d(a,b[0]);if(f<b[3])c=b[2],f=b[3];else if(f===b[3])c=d(c,b[2])}s=A,i=T}let y=this.#t;y[0]=r[0]-this.#n,y[1]=r[1]-this.#n,y[2]=r[2]-r[0]+2*this.#n,y[3]=r[3]-r[1]+2*this.#n,this.firstPoint=[a,l],this.lastPoint=[c,f]}get box(){return this.#t}newOutliner(e,n,s,i,r,a,l=0){return new hc(e,n,s,i,r,a,l)}updateThickness(e){let n=this.getNewOutline(e);return this.#r=n.#r,this.#i=n.#i,this.#t.set(n.#t),this.firstPoint=n.firstPoint,this.lastPoint=n.lastPoint,this.#t}getNewOutline(e,n){let[s,i,r,a]=this.#t,[l,c,f,d]=this.#e,b=r*f,y=a*d,v=s*f+l,k=i*d+c,A=this.#i,T=this.newOutliner(A[0]*b+v,A[1]*y+k,this.#e,this.#a,e,this.#s,n??this.#n);for(let R=2,D=A.length;R<D;R+=2)T.add(A[R]*b+v,A[R+1]*y+k);return T.getOutlines()}}function XS(e){return{bbox:e.box,root:{viewBox:"0 0 1 1"},rootClass:{highlight:!0,free:e.isFree},path:{d:e.toSVGPath()}}}function WS(e,n){let{focusOutline:s}=e;return{bbox:xt._rotateBox(s.box,n),root:{"data-main-rotation":n},rootClass:{highlightOutline:!0,free:e.isFree},path:{d:s.toSVGPath()}}}class mm{#e;#t;#n;#s=[];#i=[];constructor(e,n=0,s=0,i=!0){let r=qo.slice(),a=4,l=0.0001;for(let{x:T,y:R,width:D,height:U}of e){let Y=Math.floor((T-n)/0.0001)*0.0001,X=Math.ceil((T+D+n)/0.0001)*0.0001,J=Math.floor((R-n)/0.0001)*0.0001,ee=Math.ceil((R+U+n)/0.0001)*0.0001,te=[Y,J,ee,!0],ne=[X,J,ee,!1];this.#s.push(te,ne),ut.rectBoundingBox(Y,J,X,ee,r)}let c=r[2]-r[0]+2*s,f=r[3]-r[1]+2*s,d=r[0]-s,b=r[1]-s,y=i?-1/0:1/0,v=1/0,k=this.#s.at(i?-1:-2),A=[k[0],k[2]];for(let T of this.#s){let[R,D,U,Y]=T;if(!Y&&i){if(D<v)v=D,y=R;else if(D===v)y=Math.max(y,R)}else if(Y&&!i){if(D<v)v=D,y=R;else if(D===v)y=Math.min(y,R)}T[0]=(R-d)/c,T[1]=(D-b)/f,T[2]=(U-b)/f}this.#e=new Float32Array([d,b,c,f]),this.#t=[y,v],this.#n=A}getOutlines(){this.#s.sort((n,s)=>n[0]-s[0]||n[1]-s[1]||n[2]-s[2]);let e=[];for(let n of this.#s)if(n[3])e.push(...this.#c(n)),this.#o(n);else this.#l(n),e.push(...this.#c(n));return this.#a(e)}#a(e){let n=[],s=new Set;for(let a of e){let[l,c,f]=a;n.push([l,c,a],[l,f,a])}n.sort((a,l)=>a[1]-l[1]||a[0]-l[0]);for(let a=0,l=n.length;a<l;a+=2){let c=n[a][2],f=n[a+1][2];c.push(f),f.push(c),s.add(c),s.add(f)}let i=[],r;while(s.size>0){let a=s.values().next().value,[l,c,f,d,b]=a;s.delete(a);let y=l,v=c;r=[l,f],i.push(r);while(!0){let k;if(s.has(d))k=d;else if(s.has(b))k=b;else break;if(s.delete(k),[l,c,f,d,b]=k,y!==l)r.push(y,v,l,v===c?c:f),y=l;v=v===c?f:c}r.push(y,v)}return new pm(i,this.#e,this.#t,this.#n)}#r(e){let n=this.#i,s=0,i=n.length-1;while(s<=i){let r=s+i>>1,a=n[r][0];if(a===e)return r;if(a<e)s=r+1;else i=r-1}return i+1}#o([,e,n]){let s=this.#r(e);this.#i.splice(s,0,[e,n])}#l([,e,n]){let s=this.#r(e);for(let i=s;i<this.#i.length;i++){let[r,a]=this.#i[i];if(r!==e)break;if(r===e&&a===n){this.#i.splice(i,1);return}}for(let i=s-1;i>=0;i--){let[r,a]=this.#i[i];if(r!==e)break;if(r===e&&a===n){this.#i.splice(i,1);return}}}#c(e){let[n,s,i]=e,r=[[n,s,i]],a=this.#r(i);for(let l=0;l<a;l++){let[c,f]=this.#i[l];for(let d=0,b=r.length;d<b;d++){let[,y,v]=r[d];if(f<=y||v<=c)continue;if(y>=c){if(v>f)r[d][1]=f;else{if(b===1)return[];r.splice(d,1),d--,b--}continue}if(r[d][2]=c,v>f)r.push([n,f,v])}}return r}}class pm extends xt{#e;#t=null;#n;constructor(e,n,s,i){super();this.#n=e,this.#e=n,this.firstPoint=s,this.lastPoint=i}static build(e,n){let s=new mm(e,0.001).getOutlines();return s.#t=e,s.focusOutline=new mm(e,0.0025,0.001,n).getOutlines(),s}get isFree(){return!1}get defaultSVGProperties(){return XS(this)}getFocusSVGProperties(e){return WS(this,e)}updateRotation(e){return{root:{"data-main-rotation":e}}}serializeQuadPoints([e,n],[s,i]){let r=this.#t,a=new Float32Array(r.length*8),l=0;for(let{x:c,y:f,width:d,height:b}of r){let y=c*s+e,v=(1-f)*i+n;a[l]=a[l+4]=y,a[l+1]=a[l+3]=v,a[l+2]=a[l+6]=y+d*s,a[l+5]=a[l+7]=v-b*i,l+=8}return a}toSVGPath(){let e=[];for(let n of this.#n){let[s,i]=n;e.push(`M${s} ${i}`);for(let r=2;r<n.length;r+=2){let a=n[r],l=n[r+1];if(a===s)e.push(`V${l}`),i=l;else if(l===i)e.push(`H${a}`),s=a}e.push("Z")}return e.join(" ")}serialize([e,n,s,i],r){let a=[],l=s-e,c=i-n;for(let f of this.#n){let d=Array(f.length);for(let b=0;b<f.length;b+=2)d[b]=e+f[b]*l,d[b+1]=i-f[b+1]*c;a.push(d)}return a}get box(){return this.#e}}class Fm extends hc{newFreeDrawOutline(e,n,s,i,r,a){return new I2(e,n,s,i,r,a)}}class KS{#e;#t;constructor(e,n,s,i,r,a,l){this.#e=new Fm(e,n,s,i,r,a,l),this.#t=r}add(e,n){return this.#e.add(e,n)?{path:{d:this.#e.toSVGPath()}}:null}addPoints(e){let n=!1;for(let s=0,i=e.length;s<i;s+=2)n=this.#e.add(e[s],e[s+1])||n;return n?{path:{d:this.#e.toSVGPath()}}:null}end(e,n){return e===void 0?null:this.add(e,n)}isEmpty(){return this.#e.isEmpty()}isCancellable(){return this.#e.isCancellable()}removeLastElement(){return this.#e.removeLastElement()}updateProperty(e,n){return null}getOutlines(){let e=this.#e.getOutlines();return e.buildFocusOutline(2*this.#t),e}get defaultSVGProperties(){return{bbox:[0,0,1,1],root:{viewBox:"0 0 1 1"},rootClass:{highlight:!0,free:!0},path:{d:this.#e.toSVGPath()}}}}class I2 extends _2{static#e=1.5;newOutliner(e,n,s,i,r,a,l=0){return new Fm(e,n,s,i,r,a,l)}get isFree(){return!0}buildFocusOutline(e){this.focusOutline=this.getNewOutline(e/2+I2.#e,0.0025)}get defaultSVGProperties(){return XS(this)}getFocusSVGProperties(e){return WS(this,e)}get focusMustRemoveSelfIntersections(){return!0}updateRotation(e){return{root:{"data-main-rotation":e}}}updateProperty(e,n){if(e!=="thickness")return null;let s=this.updateThickness(n/2);return this.buildFocusOutline(n),s}getPathResizedSVGProperties(){return{path:{d:this.toSVGPath()}}}}class R2 extends Mm{constructor(e=null){super();super.updateProperties(e)}updateSVGProperty(e,n){if(e!=="thickness")super.updateSVGProperty(e,n)}clone(){let e=new R2;return e.updateAll(this),e}}class ma extends kn{#e=null;#t=0;#n=null;#s=0;#i="";#a="";static _DEFAULT_OPACITY=1;static _DEFAULT_THICKNESS=12;static _defaultDrawingOptions=null;static _type="highlight";static _editorType=rn.HIGHLIGHT;static get _keyboardManager(){let e=ma.prototype;return Pt(this,"_keyboardManager",new xr([[["ArrowLeft"],e._moveCaret,{args:[0]}],[["ArrowRight"],e._moveCaret,{args:[1]}],[["ArrowUp"],e._moveCaret,{args:[2]}],[["ArrowDown"],e._moveCaret,{args:[3]}]]))}constructor(e){super({...e,name:"highlightEditor"});this.#e=e.anchorNode||null,this.#t=e.anchorOffset||0,this.#n=e.focusNode||null,this.#s=e.focusOffset||0,this.#i=e.methodOfCreation||(this._drawOutlines?.isFree?"main_toolbar":""),this.#a=e.text||"",this._isDraggable=!1,this.defaultL10nId="pdfjs-editor-highlight-editor",this.rotate()}static initialize(e,n){Ft.initialize(e,n),this._defaultDrawingOptions||=new R2({fill:n.highlightColors?.values().next().value||"#fff066","fill-opacity":ma._DEFAULT_OPACITY,thickness:ma._DEFAULT_THICKNESS})}static getDefaultDrawingOptions(e){let n=this._defaultDrawingOptions.clone();return n.updateProperties(e),n}static get typesMap(){return Pt(this,"typesMap",new Map([[An.HIGHLIGHT_COLOR,"fill"],[An.HIGHLIGHT_THICKNESS,"thickness"]]))}static get isDrawer(){return!1}static get _hasClipPath(){return!0}static get _hasDrawClass(){return!1}_addOutlines(e){let{boxes:n,drawOutlines:s}=e;if(!n&&!s)return;if(this._drawingOptions||=e.drawingOptions||ma.getDefaultDrawingOptions(),n)e={...e,drawOutlines:pm.build(n,this._uiManager.direction==="ltr")};super._addOutlines(e)}get colorType(){return An.HIGHLIGHT_COLOR}get color(){return this._drawingOptions.fill}get opacity(){return this._drawingOptions["fill-opacity"]}get _opacityName(){return"fill-opacity"}get _drawRotation(){return this._drawOutlines?.isFree?this.rotation:0}get isResizable(){return!1}get _mustBeDisabledOnCommit(){return!1}get _mustFixPosition(){return!this._drawOutlines?.isFree}get telemetryInitialData(){return{action:"added",type:this._drawOutlines.isFree?"free_highlight":"highlight",color:this._uiManager.getNonHCMColorName(this.color),thickness:this._drawingOptions.thickness,methodOfCreation:this.#i}}get telemetryFinalData(){return{type:"highlight",color:this._uiManager.getNonHCMColorName(this.color)}}static computeTelemetryFinalData(e){return{numberOfColors:e.get("color").size}}translateInPage(e,n){}get toolbarPosition(){return this.#r(this._drawOutlines.focusOutline.lastPoint)}get commentButtonPosition(){return this.#r(this._drawOutlines.firstPoint)}#r([e,n]){let[s,i,r,a]=this._drawOutlines.box;return[(e-s)/r,(n-i)/a]}updateParams(e,n){switch(e){case An.HIGHLIGHT_COLOR:this._updateColorAndOpacity(n,ma._DEFAULT_OPACITY,e),this._reportTelemetry({action:"color_changed",color:this._uiManager.getNonHCMColorName(n)},!0);break;case An.HIGHLIGHT_THICKNESS:super.updateParams(e,n),this._reportTelemetry({action:"thickness_changed",thickness:n},!0);break}}get propertiesToUpdate(){let e=super.propertiesToUpdate;return e.push([An.HIGHLIGHT_FREE,this._drawOutlines.isFree]),e}get toolbarButtons(){if(this._uiManager.highlightColors)return this._colorPicker=new Xr({editor:this}),[["colorPicker",this._colorPicker]];return super.toolbarButtons}fixAndSetPosition(){return super.fixAndSetPosition(this._drawRotation)}getRect(e,n){return super.getRect(e,n,this._drawRotation)}onceAdded(e){if(!this.annotationElementId)this.parent.addUndoableEditor(this);if(e)this.div.focus()}remove(){this._reportTelemetry({action:"deleted"}),super.remove()}render(){if(this.div)return this.div;let e=super.render();if(this.#a)e.setAttribute("aria-label",this.#a),e.setAttribute("role","mark");if(this._drawOutlines.isFree)e.classList.add("free");else e.addEventListener("keydown",this.#o.bind(this),{signal:this._uiManager._signal});return this.enableEditing(),e}#o(e){ma._keyboardManager.exec(this,e)}_moveCaret(e){switch(this.parent.unselect(this),e){case 0:case 2:this.#l(!0);break;case 1:case 3:this.#l(!1);break}}#l(e){if(!this.#e)return;let n=window.getSelection();if(e)n.setPosition(this.#e,this.#t);else n.setPosition(this.#n,this.#s)}unselect(){if(super.unselect(),!this._drawOutlines.isFree)this.#l(!1)}static createDrawerInstance({x:e,y:n,box:s,parent:i,isLTR:r}){return new KS(e,n,s,i.scale,this._defaultDrawingOptions.thickness/2,r,0.001)}static _getDrawingTarget(e,{target:n}){return n.closest(".textLayer")}static _getPointerCoords({x:e,y:n}){return[e,n]}static _addDrawingListeners(e,n){e.classList.add("free"),n.addEventListener("abort",()=>e.classList.remove("free"),{once:!0}),window.addEventListener("blur",()=>this._endDraw(null),{signal:n}),window.addEventListener("pointerdown",hi,{capture:!0,passive:!1,signal:n})}static _endDrawingSession(e=!1){return this.endDrawing(e)}createDrawingOptions({color:e,opacity:n,thickness:s}){let{_defaultDrawingOptions:i,_DEFAULT_OPACITY:r}=ma;this._drawingOptions=ma.getDefaultDrawingOptions({fill:ut.makeHexColor(...e),"fill-opacity":n||r,thickness:s||i.thickness})}static deserializeDraw(e,n,s,i,r,a,l){let{quadPoints:c}=a;if(c){let v=[];for(let k=0,A=c.length;k<A;k+=8)v.push({x:(c[k]-e)/s,y:1-(c[k+1]-n)/i,width:(c[k+2]-c[k])/s,height:(c[k+1]-c[k+5])/i});return pm.build(v,l.direction==="ltr")}let f=a.thickness||this._defaultDrawingOptions.thickness,d=(a.inkLists||a.outlines.points)[0],b=new Fm(d[0]-e,i-(d[1]-n),[0,0,s,i],1,f/2,!0,0.001);for(let v=0,k=d.length;v<k;v+=2)b.add(d[v]-e,i-(d[v+1]-n));let y=b.getOutlines();return y.buildFocusOutline(f),y}static async deserialize(e,n,s){let i=null;if(e instanceof T2){let{data:{quadPoints:a,rect:l,rotation:c,id:f,color:d,opacity:b,popupRef:y,richText:v,contentsObj:k,creationDate:A,modificationDate:T},parent:{page:{pageNumber:R}}}=e;i=e={annotationType:rn.HIGHLIGHT,color:Array.from(d),opacity:b,quadPoints:a,pageIndex:R-1,rect:l.slice(0),rotation:c,annotationElementId:f,id:f,deleted:!1,popupRef:y,richText:v,comment:k?.str||null,creationDate:A,modificationDate:T}}else if(e instanceof qm){let{data:{inkLists:a,rect:l,rotation:c,id:f,color:d,borderStyle:{rawWidth:b},popupRef:y,richText:v,contentsObj:k,creationDate:A,modificationDate:T},parent:{page:{pageNumber:R}}}=e;i=e={annotationType:rn.HIGHLIGHT,color:Array.from(d),thickness:b,inkLists:a,pageIndex:R-1,rect:l.slice(0),rotation:c,annotationElementId:f,id:f,deleted:!1,popupRef:y,richText:v,comment:k?.str||null,creationDate:A,modificationDate:T}}let r=await super.deserialize(e,n,s);if(r._initialData=i,e.comment)r.setCommentData(e);return r}serialize(e=!1){if(this.isEmpty()||e)return null;if(this.deleted)return this.serializeDeleted();let n=super.serialize(e);if(Object.assign(n,{color:Ft._colorManager.convert(this._uiManager.getNonHCMColor(this.color)),opacity:this.opacity,thickness:this._drawingOptions.thickness,quadPoints:this._drawOutlines.serializeQuadPoints(this.pageTranslation,this.pageDimensions),outlines:this._drawOutlines.serialize(n.rect,this._drawRotation)}),this.addComment(n),this.annotationElementId&&!this.#c(n))return null;return n.id=this.annotationElementId,n}#c(e){let{color:n}=this._initialData;return this.hasEditedComment||e.color.some((s,i)=>s!==n[i])}renderAnnotationElement(e){if(this.deleted)return e.hide(),null;return e.updateEdited({rect:this.getPDFRect(),popup:this.comment}),null}}class YS{#e=new Float64Array(6);#t=new Float64Array(2);#n;#s;#i;#a;#r;#o="";#l=0;#c=new jf;#u;#h;constructor(e,n,s,i,r,a){this.#u=s,this.#h=i,this.#i=r,this.#a=a,[e,n]=this.#d(e,n);let l=this.#n=[NaN,NaN,NaN,NaN,e,n];this.#r=[e,n],this.#s=[{line:l,points:this.#r}],this.#e.set(l,0),this.#t.set([e,n],0)}updateProperty(e,n){if(e==="stroke-width")this.#a=n}#d(e,n){return xt._normalizePoint(e,n,this.#u,this.#h,this.#i)}isEmpty(){return!this.#s?.length}isCancellable(){return this.#r.length<=10}add(e,n){if(this.#p(e,n))this.toSVGPath();return{path:{d:this.#g()}}}addPoints(e){let n=!1;for(let s=0,i=e.length;s<i;s+=2){if(!this.#p(e[s],e[s+1]))continue;if(n=!0,this.#r.length<=6)this.toSVGPath(),n=!1}if(n)this.toSVGPath();return{path:{d:this.#g()}}}#p(e,n){[e,n]=this.#d(e,n),this.#t.set([e,n],0);let[s,i,r,a]=this.#e.subarray(2,6),l=e-r,c=n-a;if(Math.hypot(this.#u*l,this.#h*c)<=2)return!1;if(this.#r.push(e,n),isNaN(s))return this.#e.set([r,a,e,n],2),this.#n.push(NaN,NaN,NaN,NaN,e,n),!0;if(isNaN(this.#e[0]))this.#n.splice(6,6);return this.#e.set([s,i,r,a,e,n],0),this.#n.push(...xt.createBezierPoints(s,i,r,a,e,n)),!0}end(e,n){if(e!==void 0&&this.#p(e,n))return{path:{d:this.toSVGPath()}};if(this.#r.length===2)return{path:{d:this.toSVGPath()}};return{path:{d:this.#o}}}startNew(e,n,s,i,r){this.#u=s,this.#h=i,this.#i=r,[e,n]=this.#d(e,n);let a=this.#n=[NaN,NaN,NaN,NaN,e,n];this.#r=[e,n],this.#t.set([e,n],0);let l=this.#s.at(-1);if(l)l.line=new Float32Array(l.line),l.points=new Float32Array(l.points);return this.#s.push({line:a,points:this.#r}),this.#e.set(a,0),this.#l=0,this.toSVGPath(),null}getLastElement(){return this.#s.at(-1)}setLastElement(e){if(!this.#s)return this.#c.setLastElement(e);return this.#s.push(e),this.#n=e.line,this.#r=e.points,this.#l=0,{path:{d:this.toSVGPath()}}}removeLastElement(){if(!this.#s)return this.#c.removeLastElement();this.#s.pop(),this.#o="";for(let e=0,n=this.#s.length;e<n;e++){let{line:s,points:i}=this.#s[e];this.#n=s,this.#r=i,this.#l=0,this.toSVGPath()}return{path:{d:this.#o}}}#g(){let e=xt.svgRound(this.#t[0]),n=xt.svgRound(this.#t[1]);if(this.#r.length===2){let s=xt.svgRound(this.#n[4]),i=xt.svgRound(this.#n[5]);return`${this.#o} M ${s} ${i} L ${e} ${n}`}return`${this.#o} L ${e} ${n}`}toSVGPath(){let e=xt.svgRound(this.#n[4]),n=xt.svgRound(this.#n[5]);if(this.#r.length===2)return this.#o=`${this.#o} M ${e} ${n} Z`,this.#o;if(this.#r.length<=6){let i=this.#o.lastIndexOf("M");this.#o=`${this.#o.slice(0,i)} M ${e} ${n}`,this.#l=6}if(this.#r.length===4){let i=xt.svgRound(this.#n[10]),r=xt.svgRound(this.#n[11]);return this.#o=`${this.#o} L ${i} ${r}`,this.#l=12,this.#o}let s=[];if(this.#l===0)s.push(`M ${e} ${n}`),this.#l=6;for(let i=this.#l,r=this.#n.length;i<r;i+=6){let[a,l,c,f,d,b]=this.#n.slice(i,i+6).map(xt.svgRound);s.push(`C${a} ${l} ${c} ${f} ${d} ${b}`)}return this.#o+=s.join(" "),this.#l=this.#n.length,this.#o}getOutlines(e,n,s,i){let r=this.#s.at(-1);return r.line=new Float32Array(r.line),r.points=new Float32Array(r.points),this.#c.build(this.#s,e,n,s,this.#i,this.#a,i),this.#e=null,this.#n=null,this.#s=null,this.#o=null,this.#c}get defaultSVGProperties(){return{root:{viewBox:"0 0 10000 10000"},rootClass:{draw:!0},bbox:[0,0,1,1]}}}class jf extends xt{#e;#t=0;#n;#s;#i;#a;#r;#o;#l;build(e,n,s,i,r,a,l){this.#i=n,this.#a=s,this.#r=i,this.#o=r,this.#l=a,this.#n=l??0,this.#s=e,this.#h()}get thickness(){return this.#l}setLastElement(e){return this.#s.push(e),{path:{d:this.toSVGPath()}}}removeLastElement(){return this.#s.pop(),{path:{d:this.toSVGPath()}}}toSVGPath(){let e=[];for(let{line:n}of this.#s){if(e.push(`M${xt.svgRound(n[4])} ${xt.svgRound(n[5])}`),n.length===6){e.push("Z");continue}if(n.length===12&&isNaN(n[6])){e.push(`L${xt.svgRound(n[10])} ${xt.svgRound(n[11])}`);continue}for(let s=6,i=n.length;s<i;s+=6){let[r,a,l,c,f,d]=n.subarray(s,s+6).map(xt.svgRound);e.push(`C${r} ${a} ${l} ${c} ${f} ${d}`)}}return e.join("")}serialize([e,n,s,i],r){let a=[],l=[],[c,f,d,b]=this.#u(),y,v,k,A,T,R,D,U,Y;switch(this.#o){case 0:Y=xt._rescale,y=e,v=n+i,k=s,A=-i,T=e+c*s,R=n+(1-f-b)*i,D=e+(c+d)*s,U=n+(1-f)*i;break;case 90:Y=xt._rescaleAndSwap,y=e,v=n,k=s,A=i,T=e+f*s,R=n+c*i,D=e+(f+b)*s,U=n+(c+d)*i;break;case 180:Y=xt._rescale,y=e+s,v=n,k=-s,A=i,T=e+(1-c-d)*s,R=n+f*i,D=e+(1-c)*s,U=n+(f+b)*i;break;case 270:Y=xt._rescaleAndSwap,y=e+s,v=n+i,k=-s,A=-i,T=e+(1-f-b)*s,R=n+(1-c-d)*i,D=e+(1-f)*s,U=n+(1-c)*i;break}for(let{line:X,points:J}of this.#s)a.push(Y(X,y,v,k,A,r?Array(X.length):null)),l.push(Y(J,y,v,k,A,r?Array(J.length):null));return{lines:a,points:l,rect:[T,R,D,U]}}static deserialize(e,n,s,i,r,{paths:{lines:a,points:l},rotation:c,thickness:f}){let d=[],b,y,v,k,A;switch(c){case 0:A=xt._rescale,b=-e/s,y=n/i+1,v=1/s,k=-1/i;break;case 90:A=xt._rescaleAndSwap,b=-n/i,y=-e/s,v=1/i,k=1/s;break;case 180:A=xt._rescale,b=e/s+1,y=-n/i,v=-1/s,k=1/i;break;case 270:A=xt._rescaleAndSwap,b=n/i+1,y=e/s+1,v=-1/i,k=-1/s;break}if(!a){a=[];for(let R of l){let D=R.length;if(D===2){a.push(new Float32Array([NaN,NaN,NaN,NaN,R[0],R[1]]));continue}if(D===4){a.push(new Float32Array([NaN,NaN,NaN,NaN,R[0],R[1],NaN,NaN,NaN,NaN,R[2],R[3]]));continue}let U=new Float32Array(3*(D-2));a.push(U);let[Y,X,J,ee]=R.subarray(0,4);U.set([NaN,NaN,NaN,NaN,Y,X],0);for(let te=4;te<D;te+=2){let ne=R[te],ie=R[te+1];U.set(xt.createBezierPoints(Y,X,J,ee,ne,ie),(te-2)*3),[Y,X,J,ee]=[J,ee,ne,ie]}}}for(let R=0,D=a.length;R<D;R++)d.push({line:A(a[R].map((U)=>U??NaN),b,y,v,k),points:A(l[R].map((U)=>U??NaN),b,y,v,k)});let T=new this.prototype.constructor;return T.build(d,s,i,1,c,f,r),T}#c(e=this.#l){let n=this.#n+e/2*this.#r;return this.#o%180===0?[n/this.#i,n/this.#a]:[n/this.#a,n/this.#i]}#u(){let[e,n,s,i]=this.#e,[r,a]=this.#c(0);return[e+r,n+a,s-2*r,i-2*a]}#h(){let e=this.#e=fc.slice();for(let{line:i}of this.#s){if(i.length<=12){for(let l=4,c=i.length;l<c;l+=6)ut.pointBoundingBox(i[l],i[l+1],e);continue}let r=i[4],a=i[5];for(let l=6,c=i.length;l<c;l+=6){let[f,d,b,y,v,k]=i.subarray(l,l+6);ut.bezierBoundingBox(r,a,f,d,b,y,v,k,e),r=v,a=k}}let[n,s]=this.#c();e[0]=vs(e[0]-n,0,1),e[1]=vs(e[1]-s,0,1),e[2]=vs(e[2]+n,0,1),e[3]=vs(e[3]+s,0,1),e[2]-=e[0],e[3]-=e[1]}get box(){return this.#e}updateProperty(e,n){return e==="stroke-width"?this.#d(n):null}#d(e){let[n,s]=this.#c();this.#l=e;let[i,r]=this.#c(),[a,l]=[i-n,r-s],c=this.#e;return c[0]-=a,c[1]-=l,c[2]+=2*a,c[3]+=2*l,c}updateParentDimensions([e,n],s){let[i,r]=this.#c();this.#i=e,this.#a=n,this.#r=s;let[a,l]=this.#c(),c=a-i,f=l-r,d=this.#e;return d[0]-=c,d[1]-=f,d[2]+=2*c,d[3]+=2*f,d}updateRotation(e){return this.#t=e,{path:{transform:this.rotationTransform}}}get viewBox(){return this.#e.map(xt.svgRound).join(" ")}get defaultProperties(){let[e,n]=this.#e;return{root:{viewBox:this.viewBox},path:{"transform-origin":`${xt.svgRound(e)} ${xt.svgRound(n)}`}}}get rotationTransform(){let[,,e,n]=this.#e,s=0,i=0,r=0,a=0,l=0,c=0;switch(this.#t){case 90:i=n/e,r=-e/n,l=e;break;case 180:s=-1,a=-1,l=e,c=n;break;case 270:i=-n/e,r=e/n,c=n;break;default:return""}return`matrix(${s} ${i} ${r} ${a} ${xt.svgRound(l)} ${xt.svgRound(c)})`}getPathResizingSVGProperties([e,n,s,i]){let[r,a]=this.#c(),[l,c,f,d]=this.#e;if(Math.abs(f-r)<=xt.PRECISION||Math.abs(d-a)<=xt.PRECISION){let A=e+s/2-(l+f/2),T=n+i/2-(c+d/2);return{path:{"transform-origin":`${xt.svgRound(e)} ${xt.svgRound(n)}`,transform:`${this.rotationTransform} translate(${A} ${T})`}}}let b=(s-2*r)/(f-2*r),y=(i-2*a)/(d-2*a),v=f/s,k=d/i;return{path:{"transform-origin":`${xt.svgRound(l)} ${xt.svgRound(c)}`,transform:`${this.rotationTransform} scale(${v} ${k}) translate(${xt.svgRound(r)} ${xt.svgRound(a)}) scale(${b} ${y}) translate(${xt.svgRound(-r)} ${xt.svgRound(-a)})`}}}getPathResizedSVGProperties([e,n,s,i]){let[r,a]=this.#c(),l=this.#e,[c,f,d,b]=l;if(l[0]=e,l[1]=n,l[2]=s,l[3]=i,Math.abs(d-r)<=xt.PRECISION||Math.abs(b-a)<=xt.PRECISION){let T=e+s/2-(c+d/2),R=n+i/2-(f+b/2);for(let{line:D,points:U}of this.#s)xt._translate(D,T,R,D),xt._translate(U,T,R,U);return{root:{viewBox:this.viewBox},path:{"transform-origin":`${xt.svgRound(e)} ${xt.svgRound(n)}`,transform:this.rotationTransform||null,d:this.toSVGPath()}}}let y=(s-2*r)/(d-2*r),v=(i-2*a)/(b-2*a),k=-y*(c+r)+e+r,A=-v*(f+a)+n+a;if(y!==1||v!==1||k!==0||A!==0)for(let{line:T,points:R}of this.#s)xt._rescale(T,k,A,y,v,T),xt._rescale(R,k,A,y,v,R);return{root:{viewBox:this.viewBox},path:{"transform-origin":`${xt.svgRound(e)} ${xt.svgRound(n)}`,transform:this.rotationTransform||null,d:this.toSVGPath()}}}getPathTranslatedSVGProperties([e,n],s){let[i,r]=s,a=this.#e,l=e-a[0],c=n-a[1];if(this.#i===i&&this.#a===r)for(let{line:f,points:d}of this.#s)xt._translate(f,l,c,f),xt._translate(d,l,c,d);else{let f=this.#i/i,d=this.#a/r;this.#i=i,this.#a=r;for(let{line:b,points:y}of this.#s)xt._rescale(b,l,c,f,d,b),xt._rescale(y,l,c,f,d,y);a[2]*=f,a[3]*=d}return a[0]=e,a[1]=n,{root:{viewBox:this.viewBox},path:{d:this.toSVGPath(),"transform-origin":`${xt.svgRound(e)} ${xt.svgRound(n)}`}}}get defaultSVGProperties(){let e=this.#e;return{root:{viewBox:this.viewBox},rootClass:{draw:!0},path:{d:this.toSVGPath(),"transform-origin":`${xt.svgRound(e[0])} ${xt.svgRound(e[1])}`,transform:this.rotationTransform||null},bbox:e}}}class Lm extends Mm{constructor(e){super();this._viewParameters=e,super.updateProperties({fill:"none",stroke:Ft._defaultLineColor,"stroke-opacity":1,"stroke-width":1,"stroke-linecap":"round","stroke-linejoin":"round","stroke-miterlimit":10})}updateSVGProperty(e,n){if(e==="stroke-width")n??=this["stroke-width"],n*=this._viewParameters.realScale;super.updateSVGProperty(e,n)}clone(){let e=new Lm(this._viewParameters);return e.updateAll(this),e}}class D2 extends kn{static _type="ink";static _editorType=rn.INK;static _defaultDrawingOptions=null;constructor(e){super({...e,name:"inkEditor"});this._willKeepAspectRatio=!0,this.defaultL10nId="pdfjs-editor-ink-editor"}static initialize(e,n){Ft.initialize(e,n),this._defaultDrawingOptions=new Lm(n.viewParameters)}static getDefaultDrawingOptions(e){let n=this._defaultDrawingOptions.clone();return n.updateProperties(e),n}static get supportMultipleDrawings(){return!0}static get typesMap(){return Pt(this,"typesMap",new Map([[An.INK_THICKNESS,"stroke-width"],[An.INK_COLOR,"stroke"],[An.INK_OPACITY,"stroke-opacity"]]))}static createDrawerInstance({x:e,y:n,box:[,,s,i],rotation:r}){return new YS(e,n,s,i,r,this._defaultDrawingOptions["stroke-width"])}static deserializeDraw(e,n,s,i,r,a){return jf.deserialize(e,n,s,i,r,a)}static async deserialize(e,n,s){let i=null;if(e instanceof qm){let{data:{inkLists:a,rect:l,rotation:c,id:f,color:d,opacity:b,borderStyle:{rawWidth:y},popupRef:v,richText:k,contentsObj:A,creationDate:T,modificationDate:R},parent:{page:{pageNumber:D}}}=e;i=e={annotationType:rn.INK,color:Array.from(d),thickness:y,opacity:b,paths:{points:a},boxes:null,pageIndex:D-1,rect:l.slice(0),rotation:c,annotationElementId:f,id:f,deleted:!1,popupRef:v,richText:k,comment:A?.str||null,creationDate:T,modificationDate:R}}let r=await super.deserialize(e,n,s);if(r._initialData=i,e.comment)r.setCommentData(e);return r}get toolbarButtons(){return this._colorPicker||=new hu(this),[["colorPicker",this._colorPicker]]}get colorType(){return An.INK_COLOR}get colorAndOpacityType(){return An.INK_COLOR_AND_OPACITY}get opacityType(){return An.INK_OPACITY}updateParams(e,n){if(e===An.INK_COLOR_AND_OPACITY){this._updateColorAndOpacity(n.color,n.opacity);return}super.updateParams(e,n)}static updateDefaultParams(e,n){if(e===An.INK_COLOR_AND_OPACITY){super.updateDefaultParams(An.INK_COLOR,n.color),super.updateDefaultParams(An.INK_OPACITY,n.opacity);return}super.updateDefaultParams(e,n)}get color(){return this._drawingOptions.stroke}get opacity(){return this._drawingOptions["stroke-opacity"]}onScaleChanging(){if(!this.parent)return;super.onScaleChanging();let{_drawId:e,_drawingOptions:n,parent:s}=this;n.updateSVGProperty("stroke-width"),s.drawLayer.updateProperties(e,n.toSVGProperties())}static onScaleChangingWhenDrawing(){let e=this._currentParent;if(!e)return;super.onScaleChangingWhenDrawing(),this._defaultDrawingOptions.updateSVGProperty("stroke-width"),e.drawLayer.updateProperties(this._currentDrawId,this._defaultDrawingOptions.toSVGProperties())}createDrawingOptions({color:e,thickness:n,opacity:s}){this._drawingOptions=D2.getDefaultDrawingOptions({stroke:ut.makeHexColor(...e),"stroke-width":n,"stroke-opacity":s})}serialize(e=!1){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();let{lines:n,points:s}=this.serializeDraw(e),{_drawingOptions:{stroke:i,"stroke-opacity":r,"stroke-width":a}}=this,l=Object.assign(super.serialize(e),{color:Ft._colorManager.convert(i),opacity:r,thickness:a,paths:{lines:n,points:s}});if(this.addComment(l),e)return l.isCopy=!0,l;if(this.annotationElementId&&!this.#e(l))return null;return l.id=this.annotationElementId,l}#e(e){let{color:n,thickness:s,opacity:i,pageIndex:r}=this._initialData;return this.hasEditedComment||this._hasBeenMoved||this._hasBeenResized||e.color.some((a,l)=>a!==n[l])||e.thickness!==s||e.opacity!==i||e.pageIndex!==r}renderAnnotationElement(e){if(this.deleted)return e.hide(),null;let{points:n,rect:s}=this.serializeDraw(!1);return e.updateEdited({rect:s,thickness:this._drawingOptions["stroke-width"],points:n,popup:this.comment}),null}}class gm extends jf{toSVGPath(){let e=super.toSVGPath();if(!e.endsWith("Z"))e+="Z";return e}}var Z0=8,Zh=3;class cc{static#e={maxDim:512,sigmaSFactor:0.02,sigmaR:25,kernelSize:16};static#t(e,n,s,i){if(s-=e,i-=n,s===0)return i>0?0:4;if(s===1)return i+6;return 2-i}static#n=new Int32Array([0,1,-1,1,-1,0,-1,-1,0,-1,1,-1,1,0,1,1]);static#s(e,n,s,i,r,a,l){let c=this.#t(s,i,r,a);for(let f=0;f<8;f++){let d=(-f+c-l+16)%8,b=this.#n[2*d],y=this.#n[2*d+1];if(e[(s+b)*n+(i+y)]!==0)return d}return-1}static#i(e,n,s,i,r,a,l){let c=this.#t(s,i,r,a);for(let f=0;f<8;f++){let d=(f+c+l+16)%8,b=this.#n[2*d],y=this.#n[2*d+1];if(e[(s+b)*n+(i+y)]!==0)return d}return-1}static#a(e,n,s,i){let r=e.length,a=new Int32Array(r);for(let d=0;d<r;d++)a[d]=e[d]<=i?1:0;for(let d=1;d<s-1;d++)a[d*n]=a[d*n+n-1]=0;for(let d=0;d<n;d++)a[d]=a[n*s-1-d]=0;let l=1,c,f=[];for(let d=1;d<s-1;d++){c=1;for(let b=1;b<n-1;b++){let y=d*n+b,v=a[y];if(v===0)continue;let k=d,A=b;if(v===1&&a[y-1]===0)l+=1,A-=1;else if(v>=1&&a[y+1]===0){if(l+=1,A+=1,v>1)c=v}else{if(v!==1)c=Math.abs(v);continue}let T=[b,d],R=A===b+1,D={isHole:R,points:T,id:l,parent:0};f.push(D);let U;for(let se of f)if(se.id===c){U=se;break}if(!U)D.parent=R?c:0;else if(U.isHole)D.parent=R?U.parent:c;else D.parent=R?c:U.parent;let Y=this.#s(a,n,d,b,k,A,0);if(Y===-1){if(a[y]=-l,a[y]!==1)c=Math.abs(a[y]);continue}let X=this.#n[2*Y],J=this.#n[2*Y+1],ee=d+X,te=b+J;k=ee,A=te;let ne=d,ie=b;while(!0){let se=this.#i(a,n,ne,ie,k,A,1);X=this.#n[2*se],J=this.#n[2*se+1];let ae=ne+X,be=ie+J;T.push(be,ae);let ye=ne*n+ie;if(a[ye+1]===0)a[ye]=-l;else if(a[ye]===1)a[ye]=l;if(ae===d&&be===b&&ne===ee&&ie===te){if(a[y]!==1)c=Math.abs(a[y]);break}else k=ne,A=ie,ne=ae,ie=be}}}return f}static#r(e,n,s,i){if(s-n<=4){for(let ee=n;ee<s-2;ee+=2)i.push(e[ee],e[ee+1]);return}let r=e[n],a=e[n+1],l=e[s-4]-r,c=e[s-3]-a,f=Math.hypot(l,c),d=l/f,b=c/f,y=d*a-b*r,v=c/l,k=1/f,A=Math.atan(v),T=Math.cos(A),R=Math.sin(A),D=k*(Math.abs(T)+Math.abs(R)),U=k*(1-D+D**2),Y=Math.max(Math.atan(Math.abs(R+T)*U),Math.atan(Math.abs(R-T)*U)),X=0,J=n;for(let ee=n+2;ee<s-2;ee+=2){let te=Math.abs(y-d*e[ee+1]+b*e[ee]);if(te>X)J=ee,X=te}if(X>(f*Y)**2)this.#r(e,n,J+2,i),this.#r(e,J,s,i);else i.push(r,a)}static#o(e){let n=[],s=e.length;return this.#r(e,0,s,n),n.push(e[s-2],e[s-1]),n.length<=4?null:n}static#l(e,n,s,i,r,a){let l=new Float32Array(a**2),c=-2*i**2,f=a>>1;for(let A=0;A<a;A++){let T=(A-f)**2;for(let R=0;R<a;R++)l[A*a+R]=Math.exp((T+(R-f)**2)/c)}let d=new Float32Array(256),b=-2*r**2;for(let A=0;A<256;A++)d[A]=Math.exp(A**2/b);let y=e.length,v=new Uint8Array(y),k=new Uint32Array(256);for(let A=0;A<s;A++)for(let T=0;T<n;T++){let R=A*n+T,D=e[R],U=0,Y=0;for(let J=0;J<a;J++){let ee=A+J-f;if(ee<0||ee>=s)continue;for(let te=0;te<a;te++){let ne=T+te-f;if(ne<0||ne>=n)continue;let ie=e[ee*n+ne],se=l[J*a+te]*d[Math.abs(ie-D)];U+=ie*se,Y+=se}}let X=v[R]=Math.round(U/Y);k[X]++}return[v,k]}static#c(e){let n=new Uint32Array(256);for(let s of e)n[s]++;return n}static#u(e){let n=e.length,s=new Uint8ClampedArray(n>>2),i=-1/0,r=1/0;for(let l=0,c=s.length;l<c;l++){let f=s[l]=e[l<<2];i=Math.max(i,f),r=Math.min(r,f)}let a=255/(i-r);for(let l=0,c=s.length;l<c;l++)s[l]=(s[l]-r)*a;return s}static#h(e){let n,s=-1/0,i=-1/0,r=e.findIndex((c)=>c!==0),a=r,l=r;for(n=r;n<256;n++){let c=e[n];if(c>s){if(n-a>i)i=n-a,l=n-1;s=c,a=n}}for(n=l-1;n>=0;n--)if(e[n]>e[n+1])break;return n}static#d(e){let n=e,{width:s,height:i}=e,{maxDim:r}=this.#e,a=s,l=i;if(s>r||i>r){let y=s,v=i,k=Math.log2(Math.max(s,i)/r),A=Math.floor(k);k=k===A?A-1:A;for(let R=0;R<k;R++){a=Math.ceil(y/2),l=Math.ceil(v/2);let D=new OffscreenCanvas(a,l);if(D.getContext("2d").drawImage(e,0,0,y,v,0,0,a,l),y=a,v=l,e!==n)e.close();e=D.transferToImageBitmap()}let T=Math.min(r/a,r/l);a=Math.round(a*T),l=Math.round(l*T)}let f=new OffscreenCanvas(a,l).getContext("2d",{willReadFrequently:!0});f.fillStyle="white",f.fillRect(0,0,a,l),f.filter="grayscale(1)",f.drawImage(e,0,0,e.width,e.height,0,0,a,l);let d=f.getImageData(0,0,a,l).data;return[this.#u(d),a,l]}static extractContoursFromText(e,{fontFamily:n,fontStyle:s,fontWeight:i},r,a,l,c){let f=new OffscreenCanvas(1,1),d=f.getContext("2d",{alpha:!1}),b=200,y=d.font=`${s} ${i} ${b}px ${n}`,{actualBoundingBoxLeft:v,actualBoundingBoxRight:k,actualBoundingBoxAscent:A,actualBoundingBoxDescent:T,fontBoundingBoxAscent:R,fontBoundingBoxDescent:D,width:U}=d.measureText(e),Y=1.5,X=Math.ceil(Math.max(Math.abs(v)+Math.abs(k)||0,U)*Y),J=Math.ceil(Math.max(Math.abs(A)+Math.abs(T)||b,Math.abs(R)+Math.abs(D)||b)*Y);f=new OffscreenCanvas(X,J),d=f.getContext("2d",{alpha:!0,willReadFrequently:!0}),d.font=y,d.filter="grayscale(1)",d.fillStyle="white",d.fillRect(0,0,X,J),d.fillStyle="black",d.fillText(e,X*(Y-1)/2,J*(3-Y)/2);let ee=this.#u(d.getImageData(0,0,X,J).data),te=this.#c(ee),ne=this.#h(te),ie=this.#a(ee,X,J,ne);return this.processDrawnLines({lines:{curves:ie,width:X,height:J},pageWidth:r,pageHeight:a,rotation:l,innerMargin:c,mustSmooth:!0,areContours:!0})}static process(e,n,s,i,r){let[a,l,c]=this.#d(e),[f,d]=this.#l(a,l,c,Math.hypot(l,c)*this.#e.sigmaSFactor,this.#e.sigmaR,this.#e.kernelSize),b=this.#h(d),y=this.#a(f,l,c,b);return this.processDrawnLines({lines:{curves:y,width:l,height:c},pageWidth:n,pageHeight:s,rotation:i,innerMargin:r,mustSmooth:!0,areContours:!0})}static processDrawnLines({lines:e,pageWidth:n,pageHeight:s,rotation:i,innerMargin:r,mustSmooth:a,areContours:l}){if(i%180!==0)[n,s]=[s,n];let{curves:c,width:f,height:d}=e,b=e.thickness??0,y=[],v=Math.min(n/f,s/d),k=v/n,A=v/s,T=[];for(let{points:D}of c){let U=a?this.#o(D):D;if(!U)continue;T.push(U);let Y=U.length,X=new Float32Array(Y),J=new Float32Array(3*(Y===2?2:Y-2));if(y.push({line:J,points:X}),Y===2){X[0]=U[0]*k,X[1]=U[1]*A,J.set([NaN,NaN,NaN,NaN,X[0],X[1]],0);continue}let[ee,te,ne,ie]=U;ee*=k,te*=A,ne*=k,ie*=A,X.set([ee,te,ne,ie],0),J.set([NaN,NaN,NaN,NaN,ee,te],0);for(let se=4;se<Y;se+=2){let ae=X[se]=U[se]*k,be=X[se+1]=U[se+1]*A;J.set(xt.createBezierPoints(ee,te,ne,ie,ae,be),(se-2)*3),[ee,te,ne,ie]=[ne,ie,ae,be]}}if(y.length===0)return null;let R=l?new gm:new jf;return R.build(y,n,s,1,i,l?0:b,r),{outline:R,newCurves:T,areContours:l,thickness:b,width:f,height:d}}static async compressSignature({outlines:e,areContours:n,thickness:s,width:i,height:r}){let a=1/0,l=-1/0,c=0;for(let D of e){c+=D.length;for(let U=2,Y=D.length;U<Y;U++){let X=D[U]-D[U-2];a=Math.min(a,X),l=Math.max(l,X)}}let f;if(a>=-128&&l<=127)f=Int8Array;else if(a>=-32768&&l<=32767)f=Int16Array;else f=Int32Array;let d=e.length,b=Z0+Zh*d,y=new Uint32Array(b),v=0;y[v++]=b*Uint32Array.BYTES_PER_ELEMENT+(c-2*d)*f.BYTES_PER_ELEMENT,y[v++]=0,y[v++]=i,y[v++]=r,y[v++]=n?0:1,y[v++]=Math.max(0,Math.floor(s??0)),y[v++]=d,y[v++]=f.BYTES_PER_ELEMENT;for(let D of e)y[v++]=D.length-2,y[v++]=D[0],y[v++]=D[1];let k=new CompressionStream("deflate-raw"),A=k.writable.getWriter();await A.ready,A.write(y);let T=f.prototype.constructor;for(let D of e){let U=new T(D.length-2);for(let Y=2,X=D.length;Y<X;Y++)U[Y-2]=D[Y]-D[Y-2];A.write(U)}return A.close(),(await new Response(k.readable).bytes()).toBase64()}static async decompressSignature(e){try{let n=Uint8Array.fromBase64(e),{readable:s,writable:i}=new DecompressionStream("deflate-raw"),r=i.getWriter();await r.ready,r.write(n).then(async()=>{await r.ready,await r.close()}).catch(()=>{});let a=null,l=0;for await(let U of s)a||=new Uint8Array(new Uint32Array(U.buffer,0,4)[0]),a.set(U,l),l+=U.length;let c=new Uint32Array(a.buffer,0,a.length>>2),f=c[1];if(f!==0)throw Error(`Invalid version: ${f}`);let d=c[2],b=c[3],y=c[4]===0,v=c[5],k=c[6],A=c[7],T=[],R=(Z0+Zh*k)*Uint32Array.BYTES_PER_ELEMENT,D;switch(A){case Int8Array.BYTES_PER_ELEMENT:D=new Int8Array(a.buffer,R);break;case Int16Array.BYTES_PER_ELEMENT:D=new Int16Array(a.buffer,R);break;case Int32Array.BYTES_PER_ELEMENT:D=new Int32Array(a.buffer,R);break}l=0;for(let U=0;U<k;U++){let Y=c[Zh*U+Z0],X=new Float32Array(Y+2);T.push(X);for(let J=0;J<Zh-1;J++)X[J]=c[Zh*U+Z0+J+1];for(let J=0;J<Y;J++)X[J+2]=X[J]+D[l++]}return{areContours:y,thickness:v,outlines:T,width:d,height:b}}catch(n){return fn(`decompressSignature: ${n}`),null}}}class q2 extends Mm{constructor(){super();super.updateProperties({fill:Ft._defaultLineColor,"stroke-width":0})}clone(){let e=new q2;return e.updateAll(this),e}}class M2 extends Lm{constructor(e){super(e);super.updateProperties({stroke:Ft._defaultLineColor,"stroke-width":1})}clone(){let e=new M2(this._viewParameters);return e.updateAll(this),e}}class Qa extends kn{#e=!1;#t=null;#n=null;#s=null;static _type="signature";static _editorType=rn.SIGNATURE;static _defaultDrawingOptions=null;constructor(e){super({...e,mustBeCommitted:!0,name:"signatureEditor"});this._willKeepAspectRatio=!0,this.#n=e.signatureData||null,this.#t=null,this.defaultL10nId="pdfjs-editor-signature-editor1"}static initialize(e,n){Ft.initialize(e,n),this._defaultDrawingOptions=new q2,this._defaultDrawnSignatureOptions=new M2(n.viewParameters)}static getDefaultDrawingOptions(e){let n=this._defaultDrawingOptions.clone();return n.updateProperties(e),n}static get supportMultipleDrawings(){return!1}static get typesMap(){return Pt(this,"typesMap",new Map)}static get isDrawer(){return!1}get telemetryFinalData(){return{type:"signature",hasDescription:!!this.#t}}static computeTelemetryFinalData(e){let n=e.get("hasDescription");return{hasAltText:n.get(!0)??0,hasNoAltText:n.get(!1)??0}}get isResizable(){return!0}onScaleChanging(){if(this._drawId===null)return;super.onScaleChanging()}render(){if(this.div)return this.div;let e,n,{_isCopy:s}=this;if(s)this._isCopy=!1,e=this.x,n=this.y;if(super.render(),this._drawId===null)if(this.#n){let{lines:i,mustSmooth:r,areContours:a,description:l,uuid:c,heightInPage:f}=this.#n,{rawDims:{pageWidth:d,pageHeight:b},rotation:y}=this.parent.viewport,v=cc.processDrawnLines({lines:i,pageWidth:d,pageHeight:b,rotation:y,innerMargin:Qa._INNER_MARGIN,mustSmooth:r,areContours:a});this.addSignature(v,f,l,c)}else this.div.setAttribute("data-l10n-args",JSON.stringify({description:""})),this.div.hidden=!0,this._uiManager.getSignature(this);else this.div.setAttribute("data-l10n-args",JSON.stringify({description:this.#t||""}));if(s)this._isCopy=!0,this._moveAfterPaste(e,n);return this.div}setUuid(e){this.#s=e,this.addEditToolbar()}getUuid(){return this.#s}get description(){return this.#t}set description(e){if(this.#t=e,!this.div)return;this.div.setAttribute("data-l10n-args",JSON.stringify({description:e})),super.addEditToolbar().then((n)=>{n?.updateEditSignatureButton(e)})}getSignaturePreview(){let{newCurves:e,areContours:n,thickness:s,width:i,height:r}=this.#n,a=Math.max(i,r),l=cc.processDrawnLines({lines:{curves:e.map((c)=>({points:c})),thickness:s,width:i,height:r},pageWidth:a,pageHeight:a,rotation:0,innerMargin:0,mustSmooth:!1,areContours:n});return{areContours:n,outline:l.outline}}get toolbarButtons(){return this._uiManager.signatureManager?[["editSignature",this._uiManager.signatureManager]]:super.toolbarButtons}addSignature(e,n,s,i){let{x:r,y:a}=this,{outline:l}=this.#n=e;this.#e=l instanceof gm,this.description=s;let c;if(this.#e)c=Qa.getDefaultDrawingOptions();else c=Qa._defaultDrawnSignatureOptions.clone(),c.updateProperties({"stroke-width":l.thickness});this._addOutlines({drawOutlines:l,drawingOptions:c});let[,f]=this.pageDimensions,d=n/f;if(d=d>=1?0.5:d,this.width*=d/this.height,this.width>=1)d*=0.9/this.width,this.width=0.9;this.height=d,this.setDims(),this.x=r,this.y=a,this.center(),this._onResized(),this.onScaleChanging(),this.rotate(),this._uiManager.addToAnnotationStorage(this),this.setUuid(i),this._reportTelemetry({action:"pdfjs.signature.inserted",data:{hasBeenSaved:!!i,hasDescription:!!s}}),this.div.hidden=!1}getFromImage(e){let{rawDims:{pageWidth:n,pageHeight:s},rotation:i}=this.parent.viewport;return cc.process(e,n,s,i,Qa._INNER_MARGIN)}getFromText(e,n){let{rawDims:{pageWidth:s,pageHeight:i},rotation:r}=this.parent.viewport;return cc.extractContoursFromText(e,n,s,i,r,Qa._INNER_MARGIN)}getDrawnSignature(e){let{rawDims:{pageWidth:n,pageHeight:s},rotation:i}=this.parent.viewport;return cc.processDrawnLines({lines:e,pageWidth:n,pageHeight:s,rotation:i,innerMargin:Qa._INNER_MARGIN,mustSmooth:!1,areContours:!1})}createDrawingOptions({areContours:e,thickness:n}){if(e)this._drawingOptions=Qa.getDefaultDrawingOptions();else this._drawingOptions=Qa._defaultDrawnSignatureOptions.clone(),this._drawingOptions.updateProperties({"stroke-width":n})}serialize(e=!1){if(this.isEmpty())return null;let{lines:n,points:s}=this.serializeDraw(e),{_drawingOptions:{"stroke-width":i}}=this,r=Object.assign(super.serialize(e),{isSignature:!0,areContours:this.#e,color:[0,0,0],thickness:this.#e?0:i});if(this.addComment(r),e)r.paths={lines:n,points:s},r.uuid=this.#s,r.isCopy=!0;else r.lines=n;if(this.#t)r.accessibilityData={type:"Figure",alt:this.#t};return r}static deserializeDraw(e,n,s,i,r,a){if(a.areContours)return gm.deserialize(e,n,s,i,r,a);return jf.deserialize(e,n,s,i,r,a)}static async deserialize(e,n,s){let i=await super.deserialize(e,n,s);return i.#e=e.areContours,i.description=e.accessibilityData?.alt||"",i.#s=e.uuid,i}}class QS extends Ft{#e=null;#t=null;#n=null;#s=null;#i=null;#a="";#r=null;#o=!1;#l=null;#c=!1;#u=!1;static _type="stamp";static _editorType=rn.STAMP;constructor(e){super({...e,name:"stampEditor"});this.#s=e.bitmapUrl,this.#i=e.bitmapFile,this.defaultL10nId="pdfjs-editor-stamp-editor"}static initialize(e,n){Ft.initialize(e,n)}static isHandlingMimeForPasting(e){return Jb.includes(e)}static paste(e,n){n.pasteEditor({mode:rn.STAMP},{bitmapFile:e.getAsFile()})}altTextFinish(){if(this._uiManager.useNewAltTextFlow)this.div.hidden=!1;super.altTextFinish()}get telemetryFinalData(){return{type:"stamp",hasAltText:!!this.altTextData?.altText}}static computeTelemetryFinalData(e){let n=e.get("hasAltText");return{hasAltText:n.get(!0)??0,hasNoAltText:n.get(!1)??0}}#h(e,n=!1){if(!e){this.remove();return}if(this.#e=e.bitmap,!n)this.#t=e.id,this.#c=e.isSvg;if(e.file)this.#a=e.file.name;this.#g()}#d(){if(this.#n=null,this._uiManager.enableWaiting(!1),!this.#r)return;if(this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&this.#e){this.addEditToolbar().then(()=>{this._editToolbar.hide(),this._uiManager.editAltText(this,!0)});return}if(!this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&this.#e){this._reportTelemetry({action:"pdfjs.image.image_added",data:{alt_text_modal:!1,alt_text_type:"empty"}});try{this.mlGuessAltText()}catch{}}this.div.focus()}async mlGuessAltText(e=null,n=!0){if(this.hasAltTextData())return null;let{mlManager:s}=this._uiManager;if(!s)throw Error("No ML.");if(!await s.isEnabledFor("altText"))throw Error("ML isn't enabled for alt text.");let{data:i,width:r,height:a}=e||this.copyCanvas(null,null,!0).imageData,l=await s.guess({name:"altText",request:{data:i,width:r,height:a,channels:i.length/(r*a)}});if(!l)throw Error("No response from the AI service.");if(l.error)throw Error("Error from the AI service.");if(l.cancel)return null;if(!l.output)throw Error("No valid response from the AI service.");let c=l.output;if(await this.setGuessedAltText(c),n&&!this.hasAltTextData())this.altTextData={alt:c,decorative:!1};return c}#p(){if(this.#t){this._uiManager.enableWaiting(!0),this._uiManager.imageManager.getFromId(this.#t).then((s)=>this.#h(s,!0)).finally(()=>this.#d());return}if(this.#s){let s=this.#s;this.#s=null,this._uiManager.enableWaiting(!0),this.#n=this._uiManager.imageManager.getFromUrl(s).then((i)=>this.#h(i)).finally(()=>this.#d());return}if(this.#i){let s=this.#i;this.#i=null,this._uiManager.enableWaiting(!0),this.#n=this._uiManager.imageManager.getFromFile(s).then((i)=>this.#h(i)).finally(()=>this.#d());return}let e=document.createElement("input");e.type="file",e.accept=Jb.join(",");let n=this._uiManager._signal;this.#n=new Promise((s)=>{e.addEventListener("change",async()=>{if(!e.files||e.files.length===0)this.remove();else{this._uiManager.enableWaiting(!0);let i=await this._uiManager.imageManager.getFromFile(e.files[0]);this._reportTelemetry({action:"pdfjs.image.image_selected",data:{alt_text_modal:this._uiManager.useNewAltTextFlow}}),this.#h(i)}s()},{signal:n}),e.addEventListener("cancel",()=>{this.remove(),s()},{signal:n})}).finally(()=>this.#d()),e.click()}remove(){if(this.#t){if(this.#e=null,this._uiManager.imageManager.deleteId(this.#t),this.#r?.remove(),this.#r=null,this.#l)clearTimeout(this.#l),this.#l=null}super.remove()}rebuild(){if(!this.parent){if(this.#t)this.#p();return}if(super.rebuild(),this.div===null)return;if(this.#t&&this.#r===null)this.#p();if(!this.isAttachedToDOM)this.parent.add(this)}onceAdded(e){if(this._isDraggable=!0,e)this.div.focus()}isEmpty(){return!(this.#n||this.#e||this.#s||this.#i||this.#t||this.#o)}get toolbarButtons(){return[["altText",this.createAltText()]]}get isResizable(){return!0}render(){if(this.div)return this.div;let e,n;if(this._isCopy)e=this.x,n=this.y;if(super.render(),this.div.hidden=!0,this.createAltText(),!this.#o)if(this.#e)this.#g();else this.#p();if(this._isCopy)this._moveAfterPaste(e,n);return this._uiManager.addShouldRescale(this),this.div}setCanvas(e,n){let{id:s,bitmap:i}=this._uiManager.imageManager.getFromCanvas(e,n);if(n.remove(),s&&this._uiManager.imageManager.isValidId(s)){if(this.#t=s,i)this.#e=i;this.#o=!1,this.#g()}}_onResized(){this.onScaleChanging()}onScaleChanging(){if(!this.parent)return;if(this.#l!==null)clearTimeout(this.#l);let e=200;this.#l=setTimeout(()=>{this.#l=null,this.#m()},e)}#g(){let{div:e}=this,{width:n,height:s}=this.#e,[i,r]=this.pageDimensions,a=0.75;if(this.width)n=this.width*i,s=this.height*r;else if(n>0.75*i||s>0.75*r){let c=Math.min(0.75*i/n,0.75*r/s);n*=c,s*=c}this._uiManager.enableWaiting(!1);let l=this.#r=document.createElement("canvas");if(l.setAttribute("role","img"),this.addContainer(l),this.width=n/i,this.height=s/r,this.setDims(),this._initialOptions?.isCentered)this.center();else this.fixAndSetPosition();if(this._initialOptions=null,!this._uiManager.useNewAltTextWhenAddingImage||!this._uiManager.useNewAltTextFlow||this.annotationElementId)e.hidden=!1;if(this.#m(),!this.#u)this.parent.addUndoableEditor(this),this.#u=!0;if(this._reportTelemetry({action:"inserted_image"}),this.#a)this.div.setAttribute("aria-description",this.#a);if(!this.annotationElementId)this._uiManager.a11yAlert(Ft._l10nAlert.stamp)}copyCanvas(e,n,s=!1){e||=224;let{width:i,height:r}=this.#e,a=new ba,l=this.#e,c=i,f=r,d=null;if(n){if(i>n||r>n){let J=Math.min(n/i,n/r);c=Math.floor(i*J),f=Math.floor(r*J)}d=document.createElement("canvas");let y=d.width=Math.ceil(c*a.sx),v=d.height=Math.ceil(f*a.sy);if(!this.#c)l=this.#f(y,v);let k=d.getContext("2d");k.filter=this._uiManager.hcmFilter;let A="white",T="#cfcfd8";if(this._uiManager.hcmFilter!=="none")T="black";else if(k7.isDarkMode)A="#8f8f9d",T="#42414d";let R=15,D=R*a.sx,U=R*a.sy,Y=new OffscreenCanvas(D*2,U*2),X=Y.getContext("2d");X.fillStyle=A,X.fillRect(0,0,D*2,U*2),X.fillStyle=T,X.fillRect(0,0,D,U),X.fillRect(D,U,D,U),k.fillStyle=k.createPattern(Y,"repeat"),k.fillRect(0,0,y,v),k.drawImage(l,0,0,l.width,l.height,0,0,y,v)}let b=null;if(s){let y,v;if(a.symmetric&&l.width<e&&l.height<e)y=l.width,v=l.height;else if(l=this.#e,i>e||r>e){let T=Math.min(e/i,e/r);if(y=Math.floor(i*T),v=Math.floor(r*T),!this.#c)l=this.#f(y,v)}let A=new OffscreenCanvas(y,v).getContext("2d",{willReadFrequently:!0});A.drawImage(l,0,0,l.width,l.height,0,0,y,v),b={width:y,height:v,data:A.getImageData(0,0,y,v).data}}return{canvas:d,width:c,height:f,imageData:b}}#f(e,n){let{width:s,height:i}=this.#e,r=s,a=i,l=this.#e;while(r>2*e||a>2*n){let c=r,f=a;if(r>2*e)r=Math.ceil(r/2);if(a>2*n)a=Math.ceil(a/2);let d=new OffscreenCanvas(r,a);d.getContext("2d").drawImage(l,0,0,c,f,0,0,r,a),l=d.transferToImageBitmap()}return l}#m(){let[e,n]=this.parentDimensions,{width:s,height:i}=this,r=new ba,a=Math.ceil(s*e*r.sx),l=Math.ceil(i*n*r.sy),c=this.#r;if(!c||c.width===a&&c.height===l)return;c.width=a,c.height=l;let f=this.#c?this.#e:this.#f(a,l),d=c.getContext("2d");d.filter=this._uiManager.hcmFilter,d.drawImage(f,0,0,f.width,f.height,0,0,a,l)}#b(e){if(e){if(this.#c){let i=this._uiManager.imageManager.getSvgUrl(this.#t);if(i)return i}let n=document.createElement("canvas");return{width:n.width,height:n.height}=this.#e,n.getContext("2d").drawImage(this.#e,0,0),n.toDataURL()}if(this.#c){let[n,s]=this.pageDimensions,i=Math.round(this.width*n*dc.PDF_TO_CSS_UNITS),r=Math.round(this.height*s*dc.PDF_TO_CSS_UNITS),a=new OffscreenCanvas(i,r);return a.getContext("2d").drawImage(this.#e,0,0,this.#e.width,this.#e.height,0,0,i,r),a.transferToImageBitmap()}return structuredClone(this.#e)}static async deserialize(e,n,s){let i=null,r=!1;if(e instanceof E2){let{data:{rect:A,rotation:T,id:R,structParent:D,popupRef:U,richText:Y,contentsObj:X,creationDate:J,modificationDate:ee},container:te,parent:{page:{pageNumber:ne}},canvas:ie}=e,se,ae;if(ie)delete e.canvas,{id:se,bitmap:ae}=s.imageManager.getFromCanvas(te.id,ie),ie.remove();else r=!0,e._hasNoCanvas=!0;let be=(await n._structTree.getAriaAttributes(`pdfjs_internal_id_${R}`))?.get("aria-label")||"";i=e={annotationType:rn.STAMP,bitmapId:se,bitmap:ae,pageIndex:ne-1,rect:A.slice(0),rotation:T,annotationElementId:R,id:R,deleted:!1,accessibilityData:{decorative:!1,altText:be},isSvg:!1,structParent:D,popupRef:U,richText:Y,comment:X?.str||null,creationDate:J,modificationDate:ee}}let a=await super.deserialize(e,n,s),{rect:l,bitmap:c,bitmapUrl:f,bitmapId:d,isSvg:b,accessibilityData:y}=e;if(r)s.addMissingCanvas(e.id,a),a.#o=!0;else if(d&&s.imageManager.isValidId(d)){if(a.#t=d,c)a.#e=c}else a.#s=f;a.#c=b;let[v,k]=a.pageDimensions;if(a.width=(l[2]-l[0])/v,a.height=(l[3]-l[1])/k,y)a.altTextData=y;if(a._initialData=i,e.comment)a.setCommentData(e);return a.#u=!!i,a}serialize(e=!1,n=null){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();let s=Object.assign(super.serialize(e),{bitmapId:this.#t,isSvg:this.#c});if(this.addComment(s),e)return s.bitmapUrl=this.#b(!0),s.accessibilityData=this.serializeAltText(!0),s.isCopy=!0,s;let{decorative:i,altText:r}=this.serializeAltText(!1);if(!i&&r)s.accessibilityData={type:"Figure",alt:r};if(this.annotationElementId){let l=this.#w(s);if(l.isSame)return null;if(l.isSameAltText)delete s.accessibilityData;else s.accessibilityData.structParent=this._initialData.structParent??-1;return s.id=this.annotationElementId,delete s.bitmapId,s}if(n===null)return s;n.stamps||=new Map;let a=this.#c?(s.rect[2]-s.rect[0])*(s.rect[3]-s.rect[1]):null;if(!n.stamps.has(this.#t))n.stamps.set(this.#t,{area:a,serialized:s}),s.bitmap=this.#b(!1);else if(this.#c){let l=n.stamps.get(this.#t);if(a>l.area)l.area=a,l.serialized.bitmap.close(),l.serialized.bitmap=this.#b(!1)}return s}#w(e){let{pageIndex:n,accessibilityData:{altText:s}}=this._initialData,i=e.pageIndex===n,r=(e.accessibilityData?.alt||"")===s;return{isSame:!this.hasEditedComment&&!this._hasBeenMoved&&!this._hasBeenResized&&i&&r,isSameAltText:r}}renderAnnotationElement(e){if(this.deleted)return e.hide(),null;return e.updateEdited({rect:this.getPDFRect(),popup:this.comment}),null}}class Do{#e;#t=!1;#n=null;#s=null;#i=null;#a=new Map;#r=!1;#o=!1;#l=!1;#c=null;#u=null;#h=null;#d=null;#p=null;#g=-1;#f;static _initialized=!1;static#m=new Map([wi,D2,QS,ma,Qa].map((e)=>[e._editorType,e]));constructor({uiManager:e,pageIndex:n,div:s,structTreeLayer:i,accessibilityManager:r,annotationLayer:a,drawLayer:l,textLayer:c,viewport:f,l10n:d}){let b=[...Do.#m.values()];if(!Do._initialized){Do._initialized=!0;for(let y of b)y.initialize(d,e)}e.registerEditorTypes(b),this.#f=e,this.pageIndex=n,this.div=s,this.#e=r,this.#n=a,this.viewport=f,this.#h=c,this.drawLayer=l,this._structTree=i,this.#f.addLayer(this)}get isEmpty(){return this.#a.size===0}get isInvisible(){return this.isEmpty&&this.#f.getMode()===rn.NONE}updateToolbar(e){this.#f.updateToolbar(e)}updateMode(e=this.#f.getMode()){switch(this.#k(),e){case rn.NONE:this.div.classList.toggle("nonEditing",!0),this.disableTextSelection(),this.togglePointerEvents(!1),this.toggleAnnotationLayerPointerEvents(!0),this.disableClick();return;case rn.INK:this.disableTextSelection(),this.togglePointerEvents(!0),this.enableClick();break;case rn.HIGHLIGHT:this.enableTextSelection(),this.togglePointerEvents(!1),this.disableClick();break;default:this.disableTextSelection(),this.togglePointerEvents(!0),this.enableClick()}this.toggleAnnotationLayerPointerEvents(!1);let{classList:n}=this.div;if(n.toggle("nonEditing",!1),e===rn.POPUP)n.toggle("commentEditing",!0);else{n.toggle("commentEditing",!1);for(let s of Do.#m.values())n.toggle(`${s._type}Editing`,e===s._editorType)}this.div.hidden=!1}hasTextLayer(e){return e===this.#h?.div}setEditingState(e){this.#f.setEditingState(e)}addCommands(e){this.#f.addCommands(e)}cleanUndoStack(e){this.#f.cleanUndoStack(e)}toggleDrawing(e=!1){this.div.classList.toggle("drawing",!e)}togglePointerEvents(e=!1){this.div.classList.toggle("disabled",!e)}toggleAnnotationLayerPointerEvents(e=!1){this.#n?.togglePointerEvents(e)}get#b(){return this.#a.size!==0?this.#a.values():this.#f.getEditors(this.pageIndex)}async enable(){this.#l=!0,this.div.tabIndex=0,this.togglePointerEvents(!0),this.div.classList.toggle("nonEditing",!1),this.#p?.abort(),this.#p=null;let e=new Set;for(let s of this.#b)if(s.enableEditing(),s.show(!0),s.annotationElementId)this.#f.removeChangedExistingAnnotation(s),e.add(s.annotationElementId);let n=this.#n;if(n)for(let s of n.getEditableAnnotations()){if(s.hide(),this.#f.isDeletedAnnotationElement(s.data.id))continue;if(e.has(s.data.id))continue;let i=await this.deserialize(s);if(!i)continue;this.addOrRebuild(i),i.enableEditing()}this.#l=!1,this.#f._eventBus.dispatch("editorsrendered",{source:this,pageNumber:this.pageIndex+1})}disable(){if(this.#o=!0,this.div.tabIndex=-1,this.togglePointerEvents(!1),this.div.classList.toggle("nonEditing",!0),this.#h&&!this.#p){this.#p=new AbortController;let i=this.#f.combinedSignal(this.#p);this.#h.div.addEventListener("pointerdown",(r)=>{let{clientX:l,clientY:c,timeStamp:f}=r,d=this.#g;if(f-d>500){this.#g=f;return}this.#g=-1;let{classList:b}=this.div;b.toggle("getElements",!0);let y=document.elementsFromPoint(l,c);if(b.toggle("getElements",!1),!this.div.contains(y[0]))return;let v,k=new RegExp("^pdfjs_internal_editor_[0-9]+$");for(let T of y)if(k.test(T.id)){v=T.id;break}if(!v)return;let A=this.#a.get(v);if(A?.annotationElementId===null)hi(r),A.dblclick(r)},{signal:i,capture:!0})}let e=this.#n,n=[];if(e){let i=new Map,r=new Map;for(let a of this.#b){if(a.disableEditing(),!a.annotationElementId){n.push(a);continue}if(a.serialize()!==null){i.set(a.annotationElementId,a);continue}else r.set(a.annotationElementId,a);this.getEditableAnnotation(a.annotationElementId)?.show(),a.remove()}for(let a of e.getEditableAnnotations()){let{id:l}=a.data;if(this.#f.isDeletedAnnotationElement(l)){a.updateEdited({deleted:!0});continue}let c=r.get(l);if(c){c.resetAnnotationElement(a),c.show(!1),a.show();continue}if(c=i.get(l),c){if(this.#f.addChangedExistingAnnotation(c),c.renderAnnotationElement(a))c.show(!1)}a.show()}}if(this.#k(),this.isEmpty)this.div.hidden=!0;let{classList:s}=this.div;for(let i of Do.#m.values())s.remove(`${i._type}Editing`);this.disableTextSelection(),this.toggleAnnotationLayerPointerEvents(!0),e?.updateFakeAnnotations(n),this.#o=!1}getEditableAnnotation(e){return this.#n?.getEditableAnnotation(e)||null}setActiveEditor(e){if(this.#f.getActive()===e)return;this.#f.setActiveEditor(e)}enableTextSelection(){if(this.div.tabIndex=-1,this.#h?.div&&!this.#d){this.#d=new AbortController;let e=this.#f.combinedSignal(this.#d);this.#h.div.addEventListener("pointerdown",this.#w.bind(this),{signal:e}),this.#h.div.classList.add("highlighting")}}disableTextSelection(){if(this.div.tabIndex=0,this.#h?.div&&this.#d)this.#d.abort(),this.#d=null,this.#h.div.classList.remove("highlighting")}#w(e){this.#f.unselectAll();let{target:n}=e;if(n===this.#h.div||(n.getAttribute("role")==="img"||n.classList.contains("endOfContent")||n.classList.contains("textLayerImages")||n.classList.contains("textLayerImagePlaceholder"))&&this.#h.div.contains(n)){let{isMac:s}=Xn.platform;if(e.button!==0||e.ctrlKey&&s)return;this.#f.showAllEditors("highlight",!0,!0),ma.startDrawing(this,this.#f,this.#f.direction==="ltr",e),e.preventDefault()}}enableClick(){if(this.#s)return;this.#s=new AbortController;let e=this.#f.combinedSignal(this.#s);this.div.addEventListener("pointerdown",this.pointerdown.bind(this),{signal:e});let n=this.pointerup.bind(this);this.div.addEventListener("pointerup",n,{signal:e}),this.div.addEventListener("pointercancel",n,{signal:e})}disableClick(){this.#s?.abort(),this.#s=null}attach(e){this.#a.set(e.id,e);let{annotationElementId:n}=e;if(n&&this.#f.isDeletedAnnotationElement(n))this.#f.removeDeletedAnnotationElement(e)}detach(e){if(this.#a.delete(e.id),this.#e?.removePointerInTextLayer(e.contentDiv),!this.#o&&e.annotationElementId)this.#f.addDeletedAnnotationElement(e)}remove(e){this.detach(e),this.#f.removeEditor(e),e.div.remove(),e.isAttachedToDOM=!1}changeParent(e){if(e.parent===this)return;if(e.parent&&e.annotationElementId)this.#f.addDeletedAnnotationElement(e),Ft.deleteAnnotationElement(e),e.annotationElementId=null;if(this.attach(e),e.parent?.detach(e),e.setParent(this),e.div&&e.isAttachedToDOM)e.div.remove(),this.div.append(e.div)}add(e){if(e.parent===this&&e.isAttachedToDOM)return;if(this.changeParent(e),this.#f.addEditor(e),this.attach(e),!e.isAttachedToDOM){let n=e.render();this.div.append(n),e.isAttachedToDOM=!0}e.fixAndSetPosition(),e.onceAdded(!this.#l),this.#f.addToAnnotationStorage(e),e._reportTelemetry(e.telemetryInitialData)}moveEditorInDOM(e){if(!e.isAttachedToDOM)return;let{activeElement:n}=document;if(e.div.contains(n)&&!this.#i)e._focusEventsAllowed=!1,this.#i=setTimeout(()=>{if(this.#i=null,!e.div.contains(document.activeElement))e.div.addEventListener("focusin",()=>{e._focusEventsAllowed=!0},{once:!0,signal:this.#f._signal}),n.focus();else e._focusEventsAllowed=!0},0);e._structTreeParentId=this.#e?.moveElementInDOM(this.div,e.div,e.contentDiv,!0)}addOrRebuild(e){if(e.needsToBeRebuilt())e.parent||=this,e.rebuild(),e.show();else this.add(e)}addUndoableEditor(e){let n=()=>e._uiManager.rebuild(e),s=()=>{e.remove()};this.addCommands({cmd:n,undo:s,mustExec:!1})}getEditorByUID(e){for(let n of this.#a.values())if(n.uid===e)return n;return null}get#y(){return Do.#m.get(this.#f.getMode())}combinedSignal(e){return this.#f.combinedSignal(e)}#v(e){let n=this.#y;return n?new n.prototype.constructor(e):null}canCreateNewEmptyEditor(){return this.#y?.canCreateNewEmptyEditor()}async pasteEditor(e,n){this.updateToolbar(e),await this.#f.updateMode(e.mode);let{offsetX:s,offsetY:i}=this.#x(),r=this.#f.getId(),a=this.#v({parent:this,id:r,x:s,y:i,uiManager:this.#f,isCentered:!0,...n});if(a)this.add(a)}async deserialize(e){return await Do.#m.get(e.annotationType??e.annotationEditorType)?.deserialize(e,this,this.#f)||null}createAndAddNewEditor(e,n,s={}){let i=this.#f.getId(),r=this.#v({parent:this,id:i,x:e.offsetX,y:e.offsetY,uiManager:this.#f,isCentered:n,...s});if(r)this.add(r);return r}get boundingClientRect(){return this.div.getBoundingClientRect()}#x(){let{x:e,y:n,width:s,height:i}=this.boundingClientRect,r=Math.max(0,e),a=Math.max(0,n),l=Math.min(window.innerWidth,e+s),c=Math.min(window.innerHeight,n+i),f=(r+l)/2-e,d=(a+c)/2-n,[b,y]=this.viewport.rotation%180===0?[f,d]:[d,f];return{offsetX:b,offsetY:y}}addNewEditor(e={}){this.createAndAddNewEditor(this.#x(),!0,e)}setSelected(e){this.#f.setSelected(e)}toggleSelected(e){this.#f.toggleSelected(e)}unselect(e){this.#f.unselect(e)}pointerup(e){let{isMac:n}=Xn.platform;if(e.button!==0||e.ctrlKey&&n)return;if(e.target!==this.div)return;if(!this.#r)return;if(this.#r=!1,this.#y?.isDrawer&&this.#y.supportMultipleDrawings)return;if(!this.#t){this.#t=!0;return}let s=this.#f.getMode();if(s===rn.STAMP||s===rn.POPUP||s===rn.SIGNATURE){this.#f.unselectAll();return}this.createAndAddNewEditor(e,!1)}pointerdown(e){if(this.#f.getMode()===rn.HIGHLIGHT)this.enableTextSelection();if(this.#r){this.#r=!1;return}let{isMac:n}=Xn.platform;if(e.button!==0||e.ctrlKey&&n)return;if(e.target!==this.div)return;if(this.#r=!0,this.#y?.isDrawer){this.startDrawingSession(e);return}let s=this.#f.getActive();this.#t=!s||s.isEmpty()}startDrawingSession(e){if(this.div.focus({preventScroll:!0}),this.#c){this.#y.startDrawing(this,this.#f,!1,e);return}this.#f.setCurrentDrawingSession(this),this.#c=new AbortController;let n=this.#f.combinedSignal(this.#c);this.div.addEventListener("blur",({relatedTarget:s})=>{if(s&&!this.div.contains(s))this.#u=null,this.commitOrRemove()},{signal:n}),this.#y.startDrawing(this,this.#f,!1,e)}pause(e){if(e){let{activeElement:n}=document;if(this.div.contains(n))this.#u=n;return}if(this.#u)setTimeout(()=>{this.#u?.focus(),this.#u=null},0)}endDrawingSession(e=!1){if(!this.#c)return null;return this.#f.setCurrentDrawingSession(null),this.#c.abort(),this.#c=null,this.#u=null,this.#y.endDrawing(e)}findNewParent(e,n,s){let i=this.#f.findParent(n,s);if(i===null||i===this)return!1;return i.changeParent(e),!0}commitOrRemove(){if(this.#c)return this.endDrawingSession(),!0;return!1}onScaleChanging(){if(!this.#c)return;this.#y.onScaleChangingWhenDrawing(this)}destroy(){if(this.commitOrRemove(),this.#f.getActive()?.parent===this)this.#f.commitOrRemove(),this.#f.setActiveEditor(null);if(this.#i)clearTimeout(this.#i),this.#i=null;for(let e of this.#a.values())this.#e?.removePointerInTextLayer(e.contentDiv),e.setParent(null),e.isAttachedToDOM=!1,e.div.remove();this.div=null,this.#a.clear(),this.#f.removeLayer(this)}#k(){for(let e of this.#a.values())if(e.isEmpty())e.remove()}async render({viewport:e}){this.viewport=e,mc(this.div,e);for(let n of this.#f.getEditors(this.pageIndex))this.add(n),n.rebuild();await this.#f.findClonesForPage(this),this.div.hidden=this.isEmpty,this.updateMode()}update({viewport:e}){this.#f.commitOrRemove(),this.#k();let n=this.viewport.rotation,s=e.rotation;if(this.viewport=e,mc(this.div,{rotation:s}),n!==s)for(let i of this.#a.values())i.rotate(s)}get pageDimensions(){let{pageWidth:e,pageHeight:n}=this.viewport.rawDims;return[e,n]}get scale(){return this.#f.viewParameters.realScale}}function GM(e,n){if(e===n)return 0;return e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1}function em(e){if(!e)return null;if(e.nodeType===Node.ELEMENT_NODE)return e.closest(".textLayer");return e.parentElement?.closest(".textLayer")||null}function VM(e,n,s,i){if(e===s)return n<=i;let r=e.compareDocumentPosition(s);if(r&Node.DOCUMENT_POSITION_FOLLOWING)return!0;if(r&Node.DOCUMENT_POSITION_PRECEDING)return!1;return null}function b7(e,n,s){if(e.nodeType!==Node.ELEMENT_NODE||!e.classList.contains("textLayer")||n!==e.childNodes.length)return{container:e,offset:n};let i=e.lastChild;if(i?.nodeType===Node.ELEMENT_NODE&&i.classList.contains("endOfContent"))i=i.previousSibling;if(!i||!s.contains(i))return null;if(i.nodeType===Node.TEXT_NODE)return{container:i,offset:i.textContent.length};return{container:i,offset:i.childNodes.length}}class tn{#e=null;#t=new Map;#n=null;#s=null;#i=null;#a=null;#r=new Map;static#o=0;static#l=0;static#c=null;static#u=new Set;static#h=!1;static#d=new Set;static#p=new WeakMap;constructor({filterFactory:e=null,pageColors:n=null,pageIndex:s,textLayer:i=null}){if(this.pageIndex=s,this.#s=e,this.#i=n,i){let r=tn.#p.get(i);if(r?.selectionDiv)r.selectionDiv.remove(),tn.#u.delete(r.selectionDiv);if(tn.#p.set(i,{drawLayer:this}),tn.#d.add(i),this.#n=i,this.#a=new MutationObserver((a)=>{if(!this.#e||!this.#n?.isConnected||!tn.#f())return;for(let{addedNodes:l}of a)for(let c of l)if(c.nodeType===Node.ELEMENT_NODE&&c.classList.contains("endOfContent")){tn.#b();return}}),this.#a.observe(i,{childList:!0}),tn.#c===null){tn.#c=new AbortController;let{signal:a}=tn.#c;document.addEventListener("selectionchange",tn.#b.bind(tn),{signal:a}),document.addEventListener("pointerdown",()=>{tn.#h=!0},{signal:a}),document.addEventListener("pointerup",()=>{tn.#h=!1},{signal:a}),window.addEventListener("blur",()=>{tn.#h=!1},{signal:a})}}}setParent(e){if(!this.#e){if(this.#e=e,this.#n?.isConnected&&tn.#f())tn.#b();return}if(this.#e!==e){if(this.#t.size>0)for(let n of this.#t.values())n.remove(),e.append(n);this.#e=e}}static#g(e){let n=this.#p.get(e);if(!n?.selectionDiv)return;n.selectionDiv.remove(),this.#u.delete(n.selectionDiv),n.selectionDiv=null,n.path=null}static#f(){let e=document.getSelection();return!!e&&!e.isCollapsed}static#m(){return this.#d.keys().filter((e)=>e.isConnected).toArray().sort(GM)}static#b(){let e=document.getSelection();if(!e||e.isCollapsed){for(let a of this.#u)a.remove();this.#u.clear();return}let n=new WeakMap,s=this.#m(),i=[];for(let a=0,l=e.rangeCount;a<l;a++){let c=e.getRangeAt(a);if(c.collapsed)continue;let{startContainer:f,startOffset:d,endContainer:b,endOffset:y}=c,v=em(f),k=em(b),A=v===null,T=k===null;if(this.#h&&A!==T)return;if(e.rangeCount===1){let{anchorNode:U,anchorOffset:Y,focusNode:X,focusOffset:J}=e,ee=em(U),te=em(X),ne=VM(U,Y,X,J);if(ee&&te&&ne!==null)if(ne)f=U,d=Y,v=ee,b=X,y=J,k=te;else f=X,d=J,v=te,b=U,y=Y,k=ee}let R=s.filter((U)=>c.intersectsNode(U));if(R.length===0)continue;let D=!1;if(!v)v=R[0],f=v,d=0,D=!0;if(!k)k=R.at(-1),b=k,y=k.childNodes.length,D=!0;if(b.nodeType===Node.ELEMENT_NODE){if(b.classList.contains("endOfContent")){let U=b.previousSibling;if(!U)continue;b=U,y=U.nodeType===Node.TEXT_NODE?U.textContent.length:U.childNodes.length}else if(b.classList.contains("textLayer")&&b.childNodes.length===y){let U=b7(b,y,k);if(!U)continue;b=U.container,y=U.offset}}if(f.nodeType===Node.ELEMENT_NODE){let U=b7(f,d,v);if(!U)continue;f=U.container,d=U.offset}if(v===k&&!D&&R.includes(v)){i.push([c,v]);continue}for(let U of R){let Y=U.firstChild;if(!Y)continue;let X=document.createRange();if(U===v)X.setStart(f,d);else X.setStartBefore(Y);if(U===k)X.setEnd(b,y);else{let J=U.lastChild;if(!J)continue;if(J.nodeType===Node.ELEMENT_NODE&&J.classList.contains("endOfContent")){let ee=J.previousSibling;if(!ee)continue;X.setEndAfter(ee)}else X.setEndAfter(J)}if(!X.collapsed)i.push([X,U])}}let r=new Set(i.map((a)=>a[1]));for(let a of this.#d)if(!r.has(a))this.#g(a);for(let[a,l]of i){let c=tn.#p.get(l);if(!c)continue;let f=n.get(l);if(!f){let k=l.getBoundingClientRect();f=(A,T,R,D)=>({x:(A-k.x)/k.width,y:(T-k.y)/k.height,width:R/k.width,height:D/k.height}),n.set(l,f)}let d=[];for(let{x:k,y:A,width:T,height:R}of a.getClientRects()){if(T===0||R===0)continue;if({x:k,y:A,width:T,height:R}=f(k,A,T,R),T===1&&R===1)continue;d.push(`M${k} ${A} h${T} v${R} h-${T} Z`)}if(d.length===0)continue;let{drawLayer:b,selectionDiv:y,path:v}=c;if(!y){let k=`clip_selection_${tn.#l++}`;y=document.createElement("div"),y.className="selection",y.style.clipPath=`url(#${k})`;let A=b.#s?.createSelectionStyle(b.#i);if(A)for(let[D,U]of Object.entries(A))y.style.setProperty(D,U);let T=tn._svgFactory.create(1,1,!0);T.setAttribute("aria-hidden","true"),T.setAttribute("width","100%"),T.setAttribute("height","100%");let R=tn._svgFactory.createElement("clipPath");R.setAttribute("id",k),R.setAttribute("clipPathUnits","objectBoundingBox"),v=tn._svgFactory.createElement("path"),R.append(v),T.append(R),y.append(T),c.path=v,c.selectionDiv=y}if(b.#e&&y.parentNode!==b.#e)b.#e.append(y),this.#u.add(y);v.setAttribute("d",d.join(" "))}}static get _svgFactory(){return Pt(this,"_svgFactory",new uu)}static#w(e,[n,s,i,r]){let{style:a}=e;a.top=`${100*s}%`,a.left=`${100*n}%`,a.width=`${100*i}%`,a.height=`${100*r}%`}#y(){let e=tn._svgFactory.create(1,1,!0);return this.#e.append(e),e.setAttribute("aria-hidden","true"),e}#v(e,n){let s=tn._svgFactory.createElement("clipPath");e.append(s);let i=`clip_${n}`;s.setAttribute("id",i),s.setAttribute("clipPathUnits","objectBoundingBox");let r=tn._svgFactory.createElement("use");return s.append(r),r.setAttribute("href",`#${n}`),r.classList.add("clip"),i}#x(e,n){for(let[s,i]of Object.entries(n))if(i===null)e.removeAttribute(s);else e.setAttribute(s,i)}draw(e,n=!1,s=!1){let i=tn.#o++,r=this.#y(),a=tn._svgFactory.createElement("defs");r.append(a);let l=tn._svgFactory.createElement("path");a.append(l);let c=`path_${i}`;if(l.setAttribute("id",c),l.setAttribute("vector-effect","non-scaling-stroke"),n)this.#r.set(i,l);let f=s?this.#v(a,c):null,d=tn._svgFactory.createElement("use");return r.append(d),d.setAttribute("href",`#${c}`),this.updateProperties(r,e),this.#t.set(i,r),{id:i,clipPathId:`url(#${f})`}}drawOutline(e,n){let s=tn.#o++,i=this.#y(),r=tn._svgFactory.createElement("defs");i.append(r);let a=tn._svgFactory.createElement("path");r.append(a);let l=`path_${s}`;a.setAttribute("id",l),a.setAttribute("vector-effect","non-scaling-stroke");let c;if(n){let b=tn._svgFactory.createElement("mask");r.append(b),c=`mask_${s}`,b.setAttribute("id",c),b.setAttribute("maskUnits","objectBoundingBox");let y=tn._svgFactory.createElement("rect");b.append(y),y.setAttribute("width","1"),y.setAttribute("height","1"),y.setAttribute("fill","white");let v=tn._svgFactory.createElement("use");b.append(v),v.setAttribute("href",`#${l}`),v.setAttribute("stroke","none"),v.setAttribute("fill","black"),v.setAttribute("fill-rule","nonzero"),v.classList.add("mask")}let f=tn._svgFactory.createElement("use");if(i.append(f),f.setAttribute("href",`#${l}`),c)f.setAttribute("mask",`url(#${c})`);let d=f.cloneNode();return i.append(d),f.classList.add("mainOutline"),d.classList.add("secondaryOutline"),this.updateProperties(i,e),this.#t.set(s,i),s}finalizeDraw(e,n){this.#r.delete(e),this.updateProperties(e,n)}updateProperties(e,n){if(!n)return;let{root:s,bbox:i,rootClass:r,path:a}=n,l=typeof e==="number"?this.#t.get(e):e;if(!l)return;if(s)this.#x(l,s);if(i)tn.#w(l,i);if(r){let{classList:c}=l;for(let[f,d]of Object.entries(r))c.toggle(f,d)}if(a){let f=l.firstElementChild.firstElementChild;this.#x(f,a)}}updateParent(e,n){if(n===this)return;let s=this.#t.get(e);if(!s)return;n.#e.append(s),this.#t.delete(e),n.#t.set(e,s)}remove(e){if(this.#r.delete(e),this.#e===null)return;this.#t.get(e).remove(),this.#t.delete(e)}destroy(){this.#e=null;for(let e of this.#t.values())e.remove();if(this.#t.clear(),this.#r.clear(),this.#a?.disconnect(),this.#a=null,this.#n){if(tn.#p.get(this.#n)?.drawLayer===this){if(tn.#g(this.#n),tn.#p.delete(this.#n),tn.#d.delete(this.#n),tn.#d.size===0)tn.#c?.abort(),tn.#c=null,tn.#h=!1}this.#n=null}}}function tm(e){return`${(e*100).toFixed(2)}%`}class bm{#e=[];#t=new Map;#n=null;#s=0;#i=0;#a=0;static#r=null;constructor(e,n,s,i){this.#s=e,this.#e=n,this.#i=s.rawDims.pageWidth,this.#a=s.rawDims.pageHeight,this.#n=i}render(){let e=document.createElement("div");e.className="textLayerImages";for(let n=0;n<this.#e.length;n+=6){let s=this.#o(this.#e.subarray(n,n+6));if(s)e.append(s)}return e.addEventListener("contextmenu",(n)=>{if(!(n.target instanceof HTMLCanvasElement))return;let s=n.target,i=this.#t.get(s);if(!i)return;let r=bm.#r?.deref();if(r===s)return;if(r)r.width=0,r.height=0;bm.#r=new WeakRef(s);let{inverseTransform:a,x1:l,y1:c,width:f,height:d}=i,b=this.#n(),y=Math.ceil(l*b.width),v=Math.ceil(c*b.height),k=Math.floor((l+f/this.#i)*b.width),A=Math.floor((c+d/this.#a)*b.height);s.width=k-y,s.height=A-v;let T=s.getContext("2d");T.setTransform(...a),T.translate(-y,-v),T.drawImage(b,0,0)}),e}#o([e,n,s,i,r,a]){let l=Math.hypot((r-e)*this.#i,(a-n)*this.#a),c=Math.hypot((s-e)*this.#i,(i-n)*this.#a);if(l<this.#s||c<this.#s)return null;let f=[(r-e)*this.#i/l,(a-n)*this.#a/l,(s-e)*this.#i/c,(i-n)*this.#a/c,0,0],d=ut.inverseTransform(f),b=document.createElement("canvas");return b.className="textLayerImagePlaceholder",b.width=0,b.height=0,Object.assign(b.style,{opacity:0,position:"absolute",left:tm(e),top:tm(n),width:tm(l/this.#i),height:tm(c/this.#a),transformOrigin:"0% 0%",transform:`matrix(${f.join(",")})`}),this.#t.set(b,{inverseTransform:d,width:l,height:c,x1:e,y1:n}),b}}globalThis._pdfjsTestingUtils={HighlightOutliner:mm};globalThis.pdfjsLib={AbortException:Fo,AnnotationEditorLayer:Do,AnnotationEditorParamsType:An,AnnotationEditorType:rn,AnnotationEditorUIManager:Al,AnnotationLayer:j2,AnnotationMode:xl,AnnotationType:Ns,applyOpacity:cM,build:HM,ColorPicker:Xr,createValidAbsoluteUrl:w7,CSSConstants:x7,DOMSVGFactory:uu,DrawLayer:tn,FeatureTest:Xn,fetchData:l2,findContrastColor:fM,getDocument:y2,getFilenameFromUrl:aM,getPdfFilenameFromUrl:oM,getRGB:pu,getRGBA:mu,getUuid:S7,GlobalWorkerOptions:Mo,ImageKind:nm,InvalidPDFException:om,isDataScheme:xm,isPdfFile:c2,isValidExplicitDest:wM,makeArr:Cf,makeMap:a2,makeObj:Yb,makeSet:sM,MathClamp:vs,noContextMenu:ga,normalizeUnicode:tM,OPS:Za,OutputScale:ba,PasswordException:am,PasswordResponses:Kq,PDFDataRangeTransport:S2,PDFDateString:lm,PDFWorker:Ci,PermissionFlag:Wq,PixelsPerInch:dc,RenderingCancelledException:km,renderRichText:A7,ResponseException:iu,setLayerDimensions:mc,shadow:Pt,SignatureExtractor:cc,stopEvent:hi,SupportedImageMimeTypes:Jb,TextLayer:Gi,TextLayerImages:bm,TouchManager:u2,updateUrlHash:y7,Util:ut,VerbosityLevel:wm,version:BM,XfaLayer:o2};E();function JS({currentPage:e,totalPages:n,onPageChange:s,zoom:i,onZoomIn:r,onZoomOut:a,onFit:l,onDownload:c,canDownload:f,allowDownload:d=!0}){return o("div",{className:"relative px-2 py-2 sm:px-4 sm:py-3 bg-card border-t border-gray-200 dark:border-gray-700 z-10 flex items-center justify-between gap-1.5 sm:gap-2 transition-colors duration-200 shrink-0",children:[o("div",{className:"flex items-center gap-1 sm:gap-1.5 bg-gray-200/50 dark:bg-white/10 rounded-md p-0.5 shrink-0",children:[t("button",{onClick:()=>s(Math.max(1,e-1)),disabled:e<=1,className:"p-1 sm:p-1.5 rounded hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors disabled:opacity-40",title:Tp(),children:t(an,{size:16})}),o("span",{className:"px-1 sm:px-2 text-xs font-mono font-medium text-gray-900 dark:text-gray-100 select-none whitespace-nowrap",children:[t("span",{className:"hidden sm:inline",children:NE({current:e,total:n||1})}),o("span",{className:"inline sm:hidden",children:[e,"/",n||1]})]}),t("button",{onClick:()=>s(Math.min(n,e+1)),disabled:e>=n,className:"p-1 sm:p-1.5 rounded hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors disabled:opacity-40",title:RS(),children:t(It,{size:16})})]}),o("div",{className:"flex items-center gap-1 sm:gap-2 shrink-0",children:[o("div",{className:"flex items-center gap-0.5 sm:gap-1 bg-gray-200/50 dark:bg-white/10 rounded-md p-0.5",children:[t("button",{onClick:a,className:"p-1 sm:p-1.5 rounded hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors",title:um(),children:t(To,{size:16})}),o("span",{className:"w-10 sm:w-12 text-center text-xs font-mono font-medium text-gray-900 dark:text-gray-100 select-none",children:[Math.round(i*100),"%"]}),t("button",{onClick:r,className:"p-1 sm:p-1.5 rounded hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors",title:cm(),children:t(pe,{size:16})})]}),t("button",{onClick:l,className:"text-xs font-medium px-2 py-1 sm:px-3 sm:py-1.5 rounded bg-gray-200/50 dark:bg-white/10 hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors border border-transparent",children:np()}),d&&o("button",{onClick:c,disabled:!f,className:"flex items-center gap-1 text-xs font-medium px-2 py-1 sm:px-3 sm:py-1.5 rounded bg-gray-200/50 dark:bg-white/10 hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors border border-transparent disabled:opacity-50",title:Nb(),children:[t(wt,{size:14}),t("span",{className:"hidden sm:inline",children:_r()})]})]})]})}var _f="./pdf.worker.min-vf48er29.mjs";var WM=32000000,ZS=16;if(typeof window<"u"&&Mo)try{let e=typeof _f==="string"?_f.startsWith("/")?_f:"/"+_f.replace(/^\.\//,""):_f;if(typeof e==="string")Mo.workerSrc=e}catch{}var KM=F(({file:e,annotations:n,shareId:s,children:i,onPlay:r,onPause:a,onTimeUpdate:l,startTime:c,allowDownload:f},d)=>{let{isDrawing:b,currentTool:y,currentColor:v,addAnnotation:k,annotations:A}=zr(),[T,R]=u(null),[D,U]=u(()=>c&&!isNaN(c)?Math.max(1,Math.round(c)):1),[Y,X]=u(1),[J,ee]=u(null),[te,ne]=u({width:800,height:1000}),[ie,se]=u(2),ae=_(null),[be,ye]=u(!0),[fe,le]=u(null);Jr(d,()=>({play:()=>{r?.()},pause:()=>{a?.()},seekTo:(We)=>{if(We&&!isNaN(We)){let nt=Math.max(1,Math.min(Y,Math.round(We)));U(nt)}}}),[Y,r,a]),m(()=>{l?.(D)},[D,l]),m(()=>{let We=(nt)=>{let yt=document.activeElement;if(yt&&(yt.tagName==="INPUT"||yt.tagName==="TEXTAREA"||yt instanceof HTMLElement&&yt.isContentEditable))return;if(nt.key==="ArrowRight"||nt.key==="ArrowDown"||nt.key==="PageDown")nt.preventDefault(),U((pt)=>{let Nt=Math.min(Y,pt+1);if(Nt!==pt)r?.();return Nt});else if(nt.key==="ArrowLeft"||nt.key==="ArrowUp"||nt.key==="PageUp")nt.preventDefault(),U((pt)=>{let Nt=Math.max(1,pt-1);if(Nt!==pt)r?.();return Nt});else if(nt.key==="Home")nt.preventDefault(),U(1),r?.();else if(nt.key==="End")nt.preventDefault(),U(Y),r?.()};return window.addEventListener("keydown",We),()=>{window.removeEventListener("keydown",We)}},[Y,r]);let[oe,Se]=u({width:0,height:0}),[we,Fe]=u(1),[De,Le]=u({x:0,y:0}),[Be,Ke]=u(!1);m(()=>{Ke(!1)},[e.id]);let at=_(null);m(()=>{let We=at.current;if(!We)return;let nt=new ResizeObserver((yt)=>{let pt=yt[0];if(pt)Se({width:pt.contentRect.width,height:pt.contentRect.height})});return nt.observe(We),()=>nt.disconnect()},[]);let tt=e.media?.pdfTranscode?.url;m(()=>{if(!tt){le("No PDF URL available"),ye(!1);return}let We=!0;ye(!0),le(null);let nt=y2({url:tt});return nt.promise.then((yt)=>{if(!We)return;R(yt),X(yt.numPages),U((pt)=>c&&!isNaN(c)?Math.max(1,Math.min(yt.numPages,Math.round(c))):pt),ye(!1)}).catch((yt)=>{if(!We)return;console.error("Failed to load PDF:",yt),le("Failed to load PDF document"),ye(!1)}),()=>{We=!1,nt.destroy().catch(()=>{})}},[tt,c]),m(()=>{if(!T)return;let We=!0,nt=null;return T.getPage(D).then((yt)=>{if(!We)return;let pt=yt.getViewport({scale:1}),Nt=yt.getViewport({scale:ie}),ln=document.createElement("canvas");ln.width=Nt.width,ln.height=Nt.height;let pn=ln.getContext("2d");if(!pn)return;if(nt=yt.render({canvasContext:pn,viewport:Nt,canvas:ln}),!We){nt.cancel();return}nt.promise.then(()=>{if(!We)return;ee(ln),ne({width:pt.width,height:pt.height})}).catch((Yt)=>{if(!We||Yt&&typeof Yt==="object"&&"name"in Yt&&Yt.name==="RenderingCancelledException")return;console.error("Failed to render page:",Yt)})}).catch((yt)=>{if(!We)return;console.error("Failed to get page:",yt)}),()=>{if(We=!1,nt)nt.cancel()}},[T,D,ie]),m(()=>{let We=window.setTimeout(()=>{let nt=typeof window<"u"?window.devicePixelRatio||1:1,yt=te.width*te.height,pt=yt>0?Math.sqrt(WM/yt):ZS,Nt=Math.min(Math.max(0.5,we*nt),pt,ZS);se(Nt)},150);return()=>window.clearTimeout(We)},[we,te]),m(()=>{let We=ae.current;if(!T||!We)return;let nt=!0,yt=null;return We.innerHTML="",T.getPage(D).then((pt)=>{if(!nt)return;yt=new Gi({textContentSource:pt.streamTextContent(),container:We,viewport:pt.getViewport({scale:1})}),yt.render().catch(()=>{})}).catch((pt)=>{if(!nt)return;console.error("Failed to build text layer:",pt)}),()=>{nt=!1,yt?.cancel()}},[T,D]),m(()=>{let We=ae.current;if(!We)return;We.style.transform=`translate(${De.x}px, ${De.y}px) scale(${we})`},[De,we]);let{width:St,height:jt}=oe,{width:dt,height:Lt}=te,Zt=Wa(St,jt,dt,Lt);m(()=>{if(St<=0||jt<=0||dt<=0||Lt<=0)return;if(Be)return;Fe(Zt),Le(Br(St,jt,dt,Lt,Zt))},[St,jt,Zt,dt,Lt,Be]);let dn=(We)=>{Ke(!0);let nt=da(we,De,We,St/2,jt/2);Fe(nt.zoom),Le(nt.pan)},Xt=()=>{Ke(!1),Fe(Zt),Le(Br(St,jt,dt,Lt,Zt))};Sl({containerRef:at,zoom:we,pan:De,baseScale:Zt,onZoomChange:(We)=>{Ke(!0),Fe(We.zoom),Le(We.pan)},onPanChange:Le});let on=async()=>{let We=e.media?.original?.key;if(!We||!e.id)return;try{let nt=s?await g.api.shares[":shareId"].files[":fileId"]["download-url"].$post({param:{shareId:s,fileId:e.id},json:{key:We}}):await g.api.files["download-url"].$post({json:{key:We,assetId:e.id}});if(!nt.ok)return;let{url:yt}=await nt.json(),pt=document.createElement("a");pt.href=yt,pt.download=e.name||"document.pdf",document.body.appendChild(pt),pt.click(),document.body.removeChild(pt)}catch{}},Yn=[...n||[],...A];return o("div",{className:"flex flex-col flex-1 h-full overflow-hidden bg-gray-100 dark:bg-gray-950 relative",children:[o("div",{className:"flex-1 flex flex-col-reverse md:flex-row min-h-0 relative",children:[i,o("div",{ref:at,className:"flex-1 relative overflow-hidden touch-none",children:[be?t("div",{className:"absolute inset-0 flex items-center justify-center bg-black/40 z-20",children:t("div",{className:"w-8 h-8 border-4 border-white/30 border-t-white rounded-full animate-spin"})}):fe?t("div",{className:"absolute inset-0 flex items-center justify-center text-gray-500 text-sm",children:fe}):t(Pr,{width:St,height:jt,mediaDimensions:te,canvasElement:J,annotations:Yn,scale:we,offset:De,className:"absolute inset-0 z-0",isDrawing:b,currentTool:y,currentColor:v,onAddAnnotation:k}),t("div",{ref:ae,className:"pdf-text-layer",onMouseDown:(We)=>{if(We.target instanceof HTMLElement&&We.target.tagName!=="SPAN")window.getSelection()?.removeAllRanges()},style:{transform:`translate(${De.x}px, ${De.y}px) scale(${we})`,transformOrigin:"0 0",pointerEvents:b?"none":"auto"}})]})]}),t(JS,{currentPage:D,totalPages:Y,onPageChange:(We)=>{U(We),r?.()},zoom:we,onZoomIn:()=>dn(1.2),onZoomOut:()=>dn(0.8),onFit:Xt,onDownload:on,canDownload:!!e.media?.original?.key,allowDownload:f})]})}),ek=KM;var tk={id:"pdf",name:"PDF",match:(e)=>e.proxyType==="pdf",viewer:ek,commentsConfig:{hasTimestamp:!0,hasAnnotations:!0,formatTimestamp:(e)=>`P${Math.round(e)}`}};E();E();var qi=15,YM=20,nk=YM/qi,sk=240,ik=({currentDegree:e,onChange:n,className:s,disabled:i=!1})=>{let r=_(null),[a,l]=u(!1),[c,f]=u(null),d=_({clientX:0,startDegree:0}),b=(Math.round(e/qi)*qi%360+360)%360,y=a&&c!==null?c:b,v=(Math.round(y/qi)*qi%360+360)%360,k=P((J)=>{if(i)return;let ee=((b+J)%360+360)%360;n(ee)},[i,b,n]),A=P((J)=>{if(i||J.button!==0)return;J.preventDefault(),J.stopPropagation();let ee=r.current;if(!ee)return;ee.setPointerCapture(J.pointerId),d.current={clientX:J.clientX,startDegree:e},l(!0),f(e)},[i,e]),T=P((J)=>{if(!a||i)return;let ee=J.clientX-d.current.clientX,te=d.current.startDegree-ee/nk,ne=(Math.round(te/qi)*qi%360+360)%360;f(te),n(ne)},[a,i,n]),R=P((J)=>{if(!a)return;if(l(!1),c!==null){let ee=(Math.round(c/qi)*qi%360+360)%360;n(ee)}f(null);try{r.current?.releasePointerCapture(J.pointerId)}catch{}},[a,c,n]),D=P((J)=>{if(i)return;if(J.key==="ArrowLeft"||J.key==="ArrowDown")J.preventDefault(),J.stopPropagation(),k(-qi);else if(J.key==="ArrowRight"||J.key==="ArrowUp")J.preventDefault(),J.stopPropagation(),k(qi);else if(J.key==="Home")J.preventDefault(),J.stopPropagation(),n(0);else if(J.key==="End")J.preventDefault(),J.stopPropagation(),n(345)},[i,k,n]),U=Math.floor((y-sk)/qi),Y=Math.ceil((y+sk)/qi),X=[];for(let J=U;J<=Y;J++)X.push(J*qi);return o("div",{className:C("relative select-none flex items-center gap-1 sm:gap-2.5 w-full min-w-0 sm:min-w-[140px]",i&&"opacity-50",s),children:[t("button",{type:"button",onClick:()=>k(-qi),disabled:i,title:"Decrease 15°","aria-label":"Decrease 15°","data-testid":"ruler-step-minus",className:"p-0.5 sm:p-1 rounded text-muted-foreground hover:text-foreground transition-colors shrink-0 disabled:opacity-40 disabled:cursor-not-allowed focus:outline-none focus-visible:ring-1 focus-visible:ring-ring",children:t(To,{className:"w-3.5 h-3.5"})}),o("div",{className:"relative flex-1 min-w-0",children:[a&&o("div",{"data-testid":"ruler-slider-tooltip",className:"absolute -top-7 left-1/2 -translate-x-1/2 px-1.5 py-0.5 rounded bg-primary text-primary-foreground text-[10px] font-mono font-medium shadow-md whitespace-nowrap pointer-events-none z-30 animate-in fade-in zoom-in-95 duration-100",children:[v,"°"]}),o("div",{ref:r,role:"slider","aria-label":"Turntable angle","aria-valuemin":0,"aria-valuemax":360,"aria-valuenow":v,"aria-valuetext":`${v}°`,tabIndex:i?-1:0,onPointerDown:A,onPointerMove:T,onPointerUp:R,onPointerCancel:R,onKeyDown:D,className:C("relative w-full h-7 rounded-full bg-muted border border-border overflow-hidden cursor-ew-resize touch-none select-none group focus:outline-none focus-visible:ring-1 focus-visible:ring-ring",i&&"cursor-not-allowed"),children:[t("div",{className:"absolute inset-0 flex items-center justify-center pointer-events-none",children:X.map((J)=>{let ee=(J-y)*nk,te=(J%360+360)%360,ne=te%60===0;return t("div",{"data-testid":`tick-${te}`,"data-major":ne,className:C("absolute top-1/2 -translate-y-1/2 -translate-x-1/2 transition-colors pointer-events-none rounded-[0.5px]",ne?"w-0.5 h-2.5 bg-foreground/75":"w-px h-1.5 bg-muted-foreground/45 group-hover:bg-muted-foreground/65"),style:{left:`calc(50% + ${ee}px)`}},`tick-${J}`)})}),t("div",{"data-testid":"ruler-center-indicator",className:"absolute inset-y-0 left-1/2 -translate-x-1/2 w-0.5 flex items-center justify-center pointer-events-none z-20",children:t("div",{className:"w-full h-full bg-[#ea3349] rounded-full"})})]})]}),t("button",{type:"button",onClick:()=>k(qi),disabled:i,title:"Increase 15°","aria-label":"Increase 15°","data-testid":"ruler-step-plus",className:"p-0.5 sm:p-1 rounded text-muted-foreground hover:text-foreground transition-colors shrink-0 disabled:opacity-40 disabled:cursor-not-allowed focus:outline-none focus-visible:ring-1 focus-visible:ring-ring",children:t(pe,{className:"w-3.5 h-3.5"})})]})};var rk=({isPlaying:e,currentDegree:n,zoom:s,isFullScreen:i,allowDownload:r=!0,onDownload:a,togglePlay:l,onSeekDegree:c,onZoomChange:f,onZoomReset:d,toggleFullScreen:b})=>t("div",{className:C("transition-all duration-300 ease-in-out z-20 text-foreground",i?"absolute bottom-0 left-0 right-0 px-2 py-2 sm:px-4 sm:py-2.5 bg-card/90 backdrop-blur-md border-t border-border":"relative w-full bg-card border-t border-border px-2 py-2 sm:px-4 sm:py-2.5 z-10 transition-colors duration-200"),children:o("div",{className:"flex items-center justify-between text-foreground gap-1.5 sm:gap-3 md:gap-4",children:[o("div",{className:"flex items-center gap-1.5 sm:gap-3 justify-start min-w-0 flex-1",children:[t("button",{type:"button",onClick:l,"aria-label":e?"Pause":"Play",className:"hover:text-primary transition-colors shrink-0 p-0.5 sm:p-1","data-testid":"play-toggle","data-playing":e,children:e?t(Vc,{className:"w-4 h-4 sm:w-5 sm:h-5 fill-current"}):t(Ea,{className:"w-4 h-4 sm:w-5 sm:h-5 fill-current"})}),t("div",{className:"flex items-center text-xs sm:text-sm font-medium tabular-nums select-none shrink-0","data-testid":"degree-readout",children:o("span",{className:"text-muted-foreground font-mono",children:[n,"° / 360°"]})})]}),t("div",{className:"flex items-center w-full max-w-[130px] sm:max-w-[220px] md:max-w-[320px] justify-center mx-auto shrink min-w-0",children:t(ik,{currentDegree:n,onChange:c,className:"w-full"})}),o("div",{className:"flex items-center gap-1 sm:gap-2 justify-end min-w-0 flex-1",children:[o("div",{className:"flex items-center gap-0.5 sm:gap-1 bg-muted/60 rounded-lg p-0.5 border border-border/40 shrink-0",children:[t("button",{type:"button",onClick:()=>f(Math.max(0.2,s-0.2)),"aria-label":"Zoom out",className:"p-1 rounded hover:bg-background/80 text-muted-foreground hover:text-foreground transition-colors",children:t(To,{className:"w-3.5 h-3.5"})}),o("button",{type:"button",onClick:d,"aria-label":"Reset zoom",className:"px-1 sm:px-1.5 py-0.5 text-[10px] sm:text-[11px] font-mono text-muted-foreground hover:text-foreground transition-colors",children:[Math.round(s*100),"%"]}),t("button",{type:"button",onClick:()=>f(Math.min(5,s+0.2)),"aria-label":"Zoom in",className:"p-1 rounded hover:bg-background/80 text-muted-foreground hover:text-foreground transition-colors",children:t(pe,{className:"w-3.5 h-3.5"})})]}),r&&a&&t("button",{type:"button",onClick:a,title:"Download asset","aria-label":"Download asset",className:"p-1 sm:p-1.5 rounded-lg hover:bg-muted text-muted-foreground hover:text-foreground transition-colors shrink-0",children:t(wt,{className:"w-4 h-4"})}),t("button",{type:"button",onClick:b,title:i?"Exit fullscreen":"Fullscreen","aria-label":i?"Exit fullscreen":"Fullscreen",className:"p-1 sm:p-1.5 rounded-lg hover:bg-muted text-muted-foreground hover:text-foreground transition-colors shrink-0",children:i?t(Cs,{className:"w-4 h-4"}):t(Es,{className:"w-4 h-4"})})]})]})});var If=24;var ak=0.16666666666666666;function ok(e){let n=(e%24+24)%24;if(n===23)return n*0.16666666666666666+0.041666666666666664;return(n+0.5)*0.16666666666666666}function Rf(e){return Math.min(Math.max(0,Math.floor(e*6+0.0001)),23)}function Au(e){return Rf(e)*15%360}var lk=F(({file:e,onPlay:n,onPause:s,onTimeUpdate:i,onSeek:r,annotations:a,startTime:l,shareId:c,children:f,allowDownload:d=!0,autoPlay:b=!1},y)=>{let v=_(null),k=_(null),A=_(null),[T,R]=u({width:0,height:0}),[D,U]=u(!1),[Y,X]=u(l||0),[J,ee]=u(!0),[te,ne]=u(null),[ie,se]=u(!1),[ae,be]=u(1),[ye,fe]=u({x:0,y:0}),[le,oe]=u(!1);m(()=>{oe(!1)},[e.id]);let[Se,we]=u(!1),Fe=_({clientX:0,frame:0}),De=_(!1),Le=e.media?.videoTranscodes?.[0]?.url||e.media?.videoPreview?.url||"",Be=async()=>{let Tt=e.media?.original?.key;if(!Tt||!e.id)return;try{let ot=c?await g.api.shares[":shareId"].files[":fileId"]["download-url"].$post({param:{shareId:c,fileId:e.id},json:{key:Tt}}):await g.api.files["download-url"].$post({json:{key:Tt,assetId:e.id}});if(!ot.ok)return;let{url:cn}=await ot.json(),Bt=document.createElement("a");Bt.href=cn,Bt.download=e.name||"model.glb",document.body.appendChild(Bt),Bt.click(),document.body.removeChild(Bt)}catch{}},{isDrawing:Ke,currentTool:at,currentColor:tt,addAnnotation:St,annotations:jt}=zr(),dt=[...a||[],...jt],Lt=Ke,Zt=e.media?.metadata?.originalWidth||1080,dn=e.media?.metadata?.originalHeight||1080,Xt=Wa(T.width,T.height,Zt,dn);m(()=>{if(!A.current)return;let Tt=new ResizeObserver((ot)=>{let cn=ot[0];if(cn)R({width:cn.contentRect.width,height:cn.contentRect.height})});return Tt.observe(A.current),()=>Tt.disconnect()},[]),m(()=>{if(T.width>0&&T.height>0&&!le)be(Xt),fe(Br(T.width,T.height,Zt,dn,Xt))},[T,Zt,dn,Xt,le]),Sl({containerRef:A,zoom:ae,pan:ye,baseScale:Xt,onZoomChange:(Tt)=>{oe(!0),be(Tt.zoom),fe(Tt.pan)},onPanChange:fe});let on=Au(Y),Yn=_(i);m(()=>{Yn.current=i},[i]);let We=_(r);m(()=>{We.current=r},[r]),m(()=>{if(!D)return;let Tt=k.current;if(!Tt)return;let ot=null,cn=null,Bt=!1,Mn=Tt,ls=typeof Mn.requestVideoFrameCallback==="function",Ds=(Xs)=>{if(!Se)X(Xs),Yn.current?.(Xs)};if(ls){let Xs=(wa,Mi)=>{if(Bt)return;Ds(Mi.mediaTime),cn=Mn.requestVideoFrameCallback(Xs)};cn=Mn.requestVideoFrameCallback(Xs)}else{let Xs=()=>{if(Bt)return;if(k.current)Ds(k.current.currentTime);ot=requestAnimationFrame(Xs)};ot=requestAnimationFrame(Xs)}return()=>{if(Bt=!0,cn!==null&&typeof Mn.cancelVideoFrameCallback==="function")Mn.cancelVideoFrameCallback(cn);if(ot!==null)cancelAnimationFrame(ot)}},[D,Se]);let nt=P((Tt)=>{let ot=(Tt%If+If)%If,cn=ot*ak,Bt=ok(ot);if(k.current)k.current.currentTime=Bt;X(cn),i?.(cn)},[i]),yt=P((Tt)=>{We.current?.(),k.current?.pause();let ot=Math.round((Tt%360+360)%360/15)%If;nt(ot)},[nt]),pt=P(()=>{let Tt=k.current;if(!Tt)return;if(Tt.paused||Tt.ended)Tt.play().catch(()=>{});else Tt.pause()},[]);Jr(y,()=>({play:()=>{k.current?.play().catch(()=>{})},pause:()=>{k.current?.pause()},seekTo:(Tt)=>{nt(Rf(Tt))},getCurrentTime:()=>k.current?.currentTime||0,getDuration:()=>4}),[nt]),m(()=>{let Tt=(ot)=>{let cn=document.activeElement;if(cn&&(cn.tagName==="INPUT"||cn.tagName==="TEXTAREA"||cn instanceof HTMLElement&&cn.isContentEditable))return;if(ot.key===" ")ot.preventDefault(),pt();else if(ot.key==="ArrowLeft"){ot.preventDefault(),We.current?.();let Bt=Rf(Y);nt(Bt-1)}else if(ot.key==="ArrowRight"){ot.preventDefault(),We.current?.();let Bt=Rf(Y);nt(Bt+1)}};return window.addEventListener("keydown",Tt),()=>window.removeEventListener("keydown",Tt)},[Y,nt,pt]);let Nt=(Tt)=>{if(Lt||Tt.button!==0)return;Tt.currentTarget.setPointerCapture(Tt.pointerId),k.current?.pause();let cn=Math.round(on/15)%If;Fe.current={clientX:Tt.clientX,frame:cn},De.current=!1,we(!0)},ln=(Tt)=>{if(!Se)return;let ot=Tt.clientX-Fe.current.clientX,cn=Math.round(ot/12);if(cn!==0&&!De.current)De.current=!0,We.current?.();let Bt=Fe.current.frame-cn;nt(Bt)},pn=(Tt)=>{if(!Se)return;De.current=!1,we(!1);try{Tt.currentTarget.releasePointerCapture(Tt.pointerId)}catch{}},Yt=()=>{if(!v.current)return;if(!document.fullscreenElement)v.current.requestFullscreen().catch(()=>{});else document.exitFullscreen().catch(()=>{})};m(()=>{let Tt=()=>{se(Boolean(document.fullscreenElement))};return document.addEventListener("fullscreenchange",Tt),()=>document.removeEventListener("fullscreenchange",Tt)},[]);let qn=(Tt)=>{oe(!0);let ot=da(ae,ye,Tt/ae,T.width/2,T.height/2);be(ot.zoom),fe(ot.pan)},os=()=>{if(oe(!1),T.width>0&&T.height>0)be(Xt),fe(Br(T.width,T.height,Zt,dn,Xt))};return o("div",{ref:v,"data-testid":"model-viewer-container",className:C("group shadow-2xl font-sans select-none flex flex-col mx-auto relative",ie?"h-full w-full rounded-none bg-black":"w-full h-full"),children:[o("div",{className:"flex-1 flex flex-col-reverse md:flex-row min-h-0 relative",children:[!ie&&f,o("div",{ref:A,"data-testid":"model-viewer-surface",onPointerDown:Nt,onPointerMove:ln,onPointerUp:pn,onPointerCancel:pn,className:C("flex-1 bg-black relative flex items-center justify-center overflow-hidden min-h-0 touch-none",Lt?"cursor-crosshair":Se?"cursor-grabbing":"cursor-grab"),children:[t("div",{className:"absolute pointer-events-none",style:{left:0,top:0,width:Zt,height:dn,transform:`translate(${ye.x}px, ${ye.y}px) scale(${ae})`,transformOrigin:"0 0"},children:Le&&t("video",{ref:k,src:Le,playsInline:!0,loop:D,muted:!0,autoPlay:b,preload:"auto",onLoadedData:()=>{if(ee(!1),l&&l>0)nt(Rf(l))},onPlay:()=>{U(!0),n?.()},onPause:()=>{U(!1),s?.()},onEnded:()=>{U(!1)},onError:()=>{ee(!1),ne("Failed to load turntable video")},className:"w-full h-full block object-contain pointer-events-none"})}),T.width>0&&T.height>0&&t(Pr,{width:T.width,height:T.height,mediaDimensions:{width:Zt,height:dn},annotations:dt,scale:ae,offset:ye,className:"absolute inset-0 pointer-events-none",isDrawing:Ke,currentTool:at,currentColor:tt,onAddAnnotation:St}),J&&!te&&t("div",{className:"absolute inset-0 flex items-center justify-center bg-black/20 pointer-events-none z-10",children:t("div",{className:"w-14 h-14 bg-background/80 backdrop-blur-md rounded-full flex items-center justify-center border border-border shadow-lg",children:t(O,{className:"w-7 h-7 text-primary animate-spin"})})}),te&&o("div",{className:"absolute inset-0 flex flex-col items-center justify-center gap-2 text-destructive z-10 bg-background/90 p-4 text-center",children:[t(nr,{className:"w-10 h-10"}),t("p",{className:"text-sm font-medium",children:te})]})]})]}),t(rk,{isPlaying:D,currentDegree:on,zoom:ae,isFullScreen:ie,allowDownload:d,onDownload:e.media?.original?.key?Be:void 0,togglePlay:pt,onSeekDegree:yt,onZoomChange:qn,onZoomReset:os,toggleFullScreen:Yt})]})});lk.displayName="ModelViewer";var ck=lk;var fk={id:"3d",name:"3D Model",match:(e)=>e.proxyType==="3d",viewer:ck,commentsConfig:{hasTimestamp:!0,hasAnnotations:!0,formatTimestamp:(e)=>`${Au(e)}°`}};E();var QM=F(({file:e,shareId:n,children:s,allowDownload:i=!0},r)=>{Jr(r,()=>({play:()=>{},pause:()=>{},seekTo:()=>{}}));let a=async()=>{let f=e.media?.original?.key;if(!f||!e.id)return;try{let d=n?await g.api.shares[":shareId"].files[":fileId"]["download-url"].$post({param:{shareId:n,fileId:e.id},json:{key:f}}):await g.api.files["download-url"].$post({json:{key:f,assetId:e.id}});if(!d.ok)return;let{url:b}=await d.json(),y=document.createElement("a");y.href=b,y.download="",document.body.appendChild(y),y.click(),document.body.removeChild(y)}catch{}},l=e.status==="failed",c=e.media?.error;return o("div",{className:"flex flex-col flex-1 h-full overflow-hidden bg-gray-100 dark:bg-gray-950 relative",children:[o("div",{className:"flex-1 flex flex-col-reverse md:flex-row min-h-0 relative",children:[s,t("div",{className:"flex-1 flex items-center justify-center p-6 text-center",children:l?o("div",{"data-testid":"default-viewer-failed-state",className:"flex flex-col items-center justify-center gap-3 max-w-md",children:[t(nr,{className:"h-12 w-12 text-destructive/80"}),o("div",{className:"space-y-1",children:[t("h3",{className:"text-base font-semibold text-foreground",children:mg()}),t("p",{className:"text-sm text-muted-foreground",children:hg()}),c&&t("div",{title:c,className:"mt-3 rounded-lg border border-destructive/20 bg-destructive/10 p-3 text-xs text-destructive text-left line-clamp-3 break-words",children:c})]})]}):t("p",{className:"text-muted-foreground",children:"Preview unavailable"})})]}),t("div",{className:"relative px-4 py-3 bg-card border-t border-gray-200 dark:border-gray-700 z-10 flex items-center justify-end gap-2 transition-colors duration-200",children:i&&o("button",{onClick:a,disabled:!e.media?.original?.key,className:"flex items-center gap-1.5 text-xs font-medium px-3 py-1.5 rounded bg-gray-200/50 dark:bg-white/10 hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors border border-transparent disabled:opacity-50 animate-in fade-in zoom-in-95 duration-200",title:"Download original file",children:[t(wt,{size:14}),"Download"]})})]})}),hk=QM;var F2={id:"default",name:"Default",match:()=>!0,viewer:hk,commentsConfig:{hasTimestamp:!1,hasAnnotations:!1}};var JM=[fk,tk,H8,G8];function rs(e){if(!e)return F2;return JM.find((s)=>s.match(e))||F2}function ns({file:e,mediaControllerRef:n,onPlay:s,onPause:i,onTimeUpdate:r,onSeek:a,annotations:l,startTime:c,shareId:f,allowDownload:d,autoPlay:b,children:y}){let v=rs(e),k=v.viewer;return t(k,{ref:n,file:e,onPlay:s,onPause:i,onTimeUpdate:r,onSeek:a,annotations:l,startTime:c,shareId:f,allowDownload:d,autoPlay:b,children:y},v.id)}function ZM(e){let n=e.lastIndexOf(".");if(n>0)return[0,n];return[0,e.length]}function Is(e){e.focus();let[n,s]=ZM(e.value);if(typeof e.setSelectionRange==="function")e.setSelectionRange(n,s);else e.select()}E();var eF=({value:e,config:n,onSave:s,readOnly:i})=>{let r=n?.date,[a,l]=u(!1),c=e?new Date(e):new Date,f=sa(c)?c:new Date,[d,b]=u(f);m(()=>{if(a&&e){let ee=new Date(e);if(sa(ee))b(ee)}},[a,e]);let y=()=>{if(!i)l(!0)},v=(ee)=>{if(i)return;l(ee)},k=(ee)=>{if(!ee)return"";let te=new Date(ee);if(!sa(te))return"Invalid Date";let ne="PPP";if(r?.displayFormat==="usa")ne="MM/dd/yyyy";else if(r?.displayFormat==="euro")ne="dd/MM/yyyy";else if(r?.displayFormat==="iso")ne="yyyy-MM-dd";if(r?.includeTime)if(r?.timeFormat==="twenty_four_hour")ne+=" HH:mm";else ne+=" p";let ie=yr(te,ne);if(r?.displayTimezone)ie+=` (${Intl.DateTimeFormat().resolvedOptions().timeZone})`;return ie},A=new Date(d.getFullYear(),d.getMonth(),1),T=ef(d),R=A5({start:A,end:T}),D=T5(A),U=(ee)=>{let te=new Date(ee);if(r?.includeTime)te.setHours(yg(f)),te.setMinutes(vg(f));let ne=te.toISOString();if(s(ne),!r?.includeTime)l(!1)},Y=(ee,te)=>{let ne=e?new Date(e):new Date;if(!sa(ne))ne.setTime(new Date().getTime());if(ee==="hour")ne.setHours(te);if(ee==="minute")ne.setMinutes(te);let ie=ne.toISOString();s(ie)},X=Array.from({length:24},(ee,te)=>te),J=Array.from({length:12},(ee,te)=>te*5);return t("div",{className:"relative w-full",onClick:(ee)=>ee.stopPropagation(),children:o(Je,{open:!i&&a,onOpenChange:v,children:[t(Xe,{asChild:!0,children:t("div",{onClick:y,className:`w-full min-h-[28px] px-2 py-1 text-sm text-foreground rounded truncate border transition-colors ${a?"border-ring bg-background shadow-sm":"border-transparent"} ${!i?"cursor-pointer hover:bg-accent hover:border-border":""}`,children:e?k(e):t("span",{className:"text-muted-foreground italic",children:"Empty"})})}),o(et,{side:"bottom",align:"start",sideOffset:4,className:"p-0 w-auto bg-popover border border-border rounded-lg shadow-xl flex flex-col md:flex-row overflow-hidden",onClick:(ee)=>ee.stopPropagation(),children:[o("div",{className:"p-4 w-64",children:[o("div",{className:"flex justify-between items-center mb-4",children:[t("button",{type:"button",onClick:()=>b(ja(d,-1)),className:"p-1 hover:bg-accent rounded",children:t(an,{className:"w-4 h-4"})}),t("span",{className:"font-semibold text-sm",children:yr(d,"MMMM yyyy")}),t("button",{type:"button",onClick:()=>b(ja(d,1)),className:"p-1 hover:bg-accent rounded",children:t(It,{className:"w-4 h-4"})})]}),t("div",{className:"grid grid-cols-7 gap-1 text-center text-xs mb-2 text-muted-foreground",children:["Su","Mo","Tu","We","Th","Fr","Sa"].map((ee)=>t("div",{children:ee},ee))}),o("div",{className:"grid grid-cols-7 gap-1 text-center text-sm",children:[Array.from({length:D}).map((ee,te)=>t("div",{},`empty-${te}`)),R.map((ee)=>{let te=e?new Date(e):null,ne=te&&sa(te)&&Td(te)===Td(ee)&&lu(te)===lu(ee)&&cu(te)===cu(ee);return t("button",{type:"button",onClick:()=>U(ee),className:`w-8 h-8 rounded-full flex items-center justify-center hover:bg-accent transition-colors ${ne?"bg-primary text-primary-foreground hover:bg-primary/90":"text-foreground"}`,children:Td(ee)},ee.toString())})]})]}),r?.includeTime&&o("div",{className:"border-l border-border bg-muted w-32 flex flex-col",children:[o("div",{className:"p-2 border-b border-border text-xs font-semibold text-muted-foreground flex items-center justify-center gap-1",children:[t(Qt,{className:"w-3 h-3"})," Time"]}),o("div",{className:"flex flex-1 h-64",children:[t("div",{className:"flex-1 overflow-y-auto scrollbar-hide border-r border-border",children:X.map((ee)=>t("div",{"data-testid":`hour-${ee}`,onClick:()=>Y("hour",ee),className:`px-2 py-1 text-center text-sm cursor-pointer hover:bg-accent ${yg(f)===ee?"bg-primary/10 font-medium text-primary":""}`,children:ee.toString().padStart(2,"0")},ee))}),t("div",{className:"flex-1 overflow-y-auto scrollbar-hide",children:J.map((ee)=>t("div",{"data-testid":`minute-${ee}`,onClick:()=>Y("minute",ee),className:`px-2 py-1 text-center text-sm cursor-pointer hover:bg-accent ${vg(f)===ee?"bg-primary/10 font-medium text-primary":""}`,children:ee.toString().padStart(2,"0")},ee))})]})]})]})]})})},uk=eF;E();var tF=({value:e,onSave:n,readOnly:s})=>{let[i,r]=u(!1),[a,l]=u(e||""),c=_(null),f=_(null),d=_(null),[b,y]=u(!1),[v,k]=u(null);m(()=>{l(e||"")},[e]);let A=()=>{if(f.current){let X=f.current.getBoundingClientRect();k({top:X.top,left:X.left,width:X.width,height:X.height})}};Ue(()=>{if(b||i)A()},[b,i]);let T=()=>{if(c.current){c.current.style.height="auto";let X=Math.max(80,v?.height||0),J=Math.min(240,Math.max(X,c.current.scrollHeight));c.current.style.height=`${J}px`}};Ue(()=>{if(i)T()},[i,a]),m(()=>{if(i&&c.current){c.current.focus();let X=c.current.value.length;c.current.setSelectionRange(X,X)}},[i]),m(()=>{let X=(te)=>{let ne=te.target;if(f.current&&!f.current.contains(ne)&&d.current&&!d.current.contains(ne))if(i)R();else y(!1)},J=(te)=>{if(te.key==="Escape")if(i)r(!1),l(e||"");else y(!1)},ee=(te)=>{if(d.current&&d.current.contains(te.target))return;A()};if(b||i)document.addEventListener("mousedown",X),document.addEventListener("keydown",J),window.addEventListener("scroll",ee,!0),window.addEventListener("resize",ee);return()=>{document.removeEventListener("mousedown",X),document.removeEventListener("keydown",J),window.removeEventListener("scroll",ee,!0),window.removeEventListener("resize",ee)}},[b,i,a,e]);let R=()=>{if(r(!1),y(!1),a!==(e||""))n(a)};return o("div",{ref:f,className:"relative w-full text-sm",onClick:(X)=>X.stopPropagation(),children:[t("div",{"data-testid":"long-text-placeholder",onClick:(X)=>{if(X.stopPropagation(),A(),!s)r(!0);else y(!0)},className:`w-full text-foreground rounded border border-transparent transition-all px-2 py-1 h-[48px] line-clamp-2 whitespace-pre-wrap overflow-hidden ${b||i?"invisible pointer-events-none select-none":""} ${!s?"cursor-pointer hover:bg-accent hover:border-border":"cursor-pointer"}`,title:!b&&!i?!s?"Click to edit":"Click to expand":void 0,children:e?e:t("span",{className:"text-muted-foreground italic",children:"Empty"})}),(b||i)&&v&&typeof document<"u"&&hs(i?t("textarea",{ref:(X)=>{c.current=X,d.current=X},"data-testid":"long-text-editing-overlay",value:a,onChange:(X)=>{l(X.target.value),T()},onBlur:R,onKeyDown:(X)=>{if((X.metaKey||X.ctrlKey)&&X.key==="Enter")X.currentTarget.blur()},style:{position:"fixed",top:v.top,left:v.left,width:v.width>0?v.width:"auto",minWidth:v.width>0?v.width:200,minHeight:Math.max(80,v.height),maxHeight:240,zIndex:50},className:"bg-background border border-ring rounded shadow-lg px-2 py-1 text-sm outline-none resize-none overflow-y-auto"}):t("div",{ref:(X)=>{d.current=X},"data-testid":"long-text-expanded-overlay",style:{position:"fixed",top:v.top,left:v.left,width:v.width>0?v.width:"auto",minWidth:v.width>0?v.width:200,minHeight:Math.max(80,v.height),maxHeight:240,zIndex:50},className:"min-h-[80px] bg-background border border-ring rounded shadow-lg px-2 py-1 whitespace-pre-wrap overflow-y-auto text-sm cursor-pointer",children:e?e:t("span",{className:"text-muted-foreground italic",children:"Empty"})}),document.body)]})},dk=tF;E();var nF=({value:e,config:n,onSave:s,readOnly:i})=>{let r=n?.number,[a,l]=u(!1),[c,f]=u(""),d=_(null);m(()=>{f(e!==void 0&&e!==null?e.toString():"")},[e]),m(()=>{if(a&&d.current)d.current.focus()},[a]);let b=(A)=>{if(A.stopPropagation(),!i)l(!0)},y=()=>{if(l(!1),c==="")s(void 0);else{let A=parseFloat(c);s(isNaN(A)?void 0:A)}},v=(A)=>{if(A.key==="Enter")A.stopPropagation(),d.current?.blur();if(A.key==="Escape")A.stopPropagation(),l(!1),f(e!==void 0&&e!==null?e.toString():"")};return t("div",{className:"relative w-full",onClick:(A)=>A.stopPropagation(),onDoubleClick:(A)=>A.stopPropagation(),children:a?t("input",{ref:d,type:"number",step:1/Math.pow(10,r?.scale||0),value:c,onChange:(A)=>f(A.target.value),onBlur:y,onKeyDown:v,onClick:(A)=>A.stopPropagation(),className:"w-full px-2 py-1 border border-ring rounded bg-background text-sm outline-none shadow-sm text-left font-mono"}):t("div",{onClick:b,className:`w-full min-h-[28px] px-2 py-1 text-sm text-foreground rounded border border-transparent transition-colors text-left font-mono ${!i?"cursor-pointer hover:bg-accent hover:border-border":""}`,children:e!==void 0&&e!==null?((A)=>{if(A===void 0||A===null||isNaN(A))return"";return A.toFixed(r?.scale)})(e):t("span",{className:"text-muted-foreground italic font-sans text-left block",children:"Empty"})})})},mk=nF;E();var sF=({value:e,config:n,onSave:s,readOnly:i})=>{let r=n?.rating,a=Math.max(2,Math.min(6,r?.maxValue||5)),[l,c]=u(null),f=(b,y)=>{if(b.stopPropagation(),i)return;let v;if(e===y)v=0;else v=y;s(v)},d=Array.from({length:a},(b,y)=>y+1);return t("div",{className:"flex items-center gap-1 h-[28px]",onClick:(b)=>b.stopPropagation(),onMouseLeave:()=>!i&&c(null),onDoubleClick:(b)=>b.stopPropagation(),children:d.map((b)=>{let y=l!==null?b<=l:b<=(e||0);return t("button",{onClick:(v)=>f(v,b),onMouseEnter:()=>!i&&c(b),className:`focus:outline-none transition-transform ${!i?"cursor-pointer hover:scale-110":"cursor-default"}`,type:"button",disabled:i,children:t(kd,{className:`w-5 h-5 transition-colors ${y?"fill-yellow-400 text-yellow-400":"fill-muted text-muted-foreground/30"}`})},b)})})},wu=sF;E();E();E();function Jl(){let[e,n]=u(!1);return o(de,{open:e,onOpenChange:n,children:[t(QA,{asChild:!0,children:o(S,{type:"button",variant:"ghost",size:"icon",className:"h-4 w-4 p-0 hover:bg-transparent text-muted-foreground hover:text-foreground inline-flex items-center justify-center shrink-0 ml-1",title:Bf(),children:[t(wg,{className:"h-3.5 w-3.5"}),t("span",{className:"sr-only",children:Bf()})]})}),o(ce,{className:"sm:max-w-[500px]",children:[o(me,{children:[o(ue,{className:"flex items-center gap-2",children:[t(wg,{className:"h-5 w-5 text-muted-foreground"}),Bf()]}),t(Et,{children:j_()})]}),o("div",{className:"space-y-4 py-2",children:[o("div",{className:"rounded-lg border p-3.5 space-y-1.5 bg-muted/30",children:[o("div",{className:"flex items-center gap-2 font-medium text-sm",children:[t(v5,{className:"h-4 w-4 text-muted-foreground shrink-0"}),t("span",{children:Gc()})]}),t("p",{className:"text-xs text-muted-foreground leading-relaxed",children:q_()}),t("p",{className:"text-xs italic text-muted-foreground/80",children:H_()})]}),o("div",{className:"rounded-lg border p-3.5 space-y-1.5 bg-muted/30",children:[o("div",{className:"flex items-center gap-2 font-medium text-sm",children:[t(_n,{className:"h-4 w-4 text-amber-500 shrink-0"}),t("span",{children:Hc()})]}),t("p",{className:"text-xs text-muted-foreground leading-relaxed",children:Z_()}),t("p",{className:"text-xs italic text-muted-foreground/80",children:B_()})]}),o("div",{className:"rounded-lg border p-3.5 space-y-1.5 bg-muted/30",children:[o("div",{className:"flex items-center gap-2 font-medium text-sm",children:[t(Mt,{className:"h-4 w-4 text-blue-500 shrink-0"}),t("span",{children:$c()})]}),t("p",{className:"text-xs text-muted-foreground leading-relaxed",children:U_()}),t("p",{className:"text-xs italic text-muted-foreground/80",children:z_()})]})]})]})]})}var fa=["red","orange","yellow","green","blue","purple","gray"],Ni={red:{bg:"rgba(239, 68, 68, 0.15)",text:"#ef4444",hex:"#ef4444"},orange:{bg:"rgba(249, 115, 22, 0.15)",text:"#f97316",hex:"#f97316"},yellow:{bg:"rgba(234, 179, 8, 0.15)",text:"#ca8a04",hex:"#eab308"},green:{bg:"rgba(34, 197, 94, 0.15)",text:"#16a34a",hex:"#22c55e"},blue:{bg:"rgba(59, 130, 246, 0.15)",text:"#2563eb",hex:"#3b82f6"},purple:{bg:"rgba(168, 85, 247, 0.15)",text:"#9333ea",hex:"#a855f7"},gray:{bg:"rgba(128, 128, 128, 0.15)",text:"#4b5563",hex:"#808080"},system:{bg:"rgba(128, 128, 128, 0.1)",text:"#6b7280",hex:"#808080"}};function Ts(e){if(!e)return{backgroundColor:"rgba(128, 128, 128, 0.1)",color:"#6b7280"};let n=e.toLowerCase(),s=Ni[n];if(s)return{backgroundColor:s.bg,color:s.text};if(e.startsWith("#"))return{backgroundColor:`${e}33`,color:e};return{backgroundColor:"rgba(128, 128, 128, 0.1)",color:e}}function Di(e=[]){let n=new Set(e.map((i)=>i.color?.toLowerCase()).filter(Boolean)),s=fa.filter((i)=>!n.has(i.toLowerCase()));if(s.length>0)return s[Math.floor(Math.random()*s.length)];return fa[Math.floor(Math.random()*fa.length)]}var pa={[Or.text]:Ja,[Or.longText]:y5,[Or.select]:Lo,[Or.selectMulti]:k5,[Or.rating]:kd,[Or.number]:S5,[Or.toggle]:x5,[Or.date]:Gn,[Or.user]:Jn,[Or.userMulti]:fo};function iF({field:e,index:n,onVisibilityChange:s}){let{ref:i,handleRef:r}=Ga({id:e.id,index:n}),a=e.config?.type?pa[e.config.type]:null;return o("div",{ref:i,className:"flex items-center justify-between p-2 rounded-md hover:bg-muted",children:[o("div",{className:"flex items-center gap-2",children:[t("div",{ref:r,className:"cursor-grab",children:t(qs,{className:"h-4 w-4 text-muted-foreground"})}),a&&t(a,{className:"h-4 w-4 text-muted-foreground shrink-0"}),e.config?.autofillSource===Ir.CONTENT&&t(_n,{className:"h-4 w-4 text-muted-foreground shrink-0"}),e.config?.autofillSource===Ir.CREATION_CONTEXT&&t(Mt,{className:"h-4 w-4 text-muted-foreground shrink-0"}),t("span",{className:"text-sm truncate",children:e.config?.name})]}),t(ke,{checked:e.visible,onCheckedChange:(l)=>s(e.id,l)})]})}function Em({projectId:e,onManageFields:n,onSave:s}){let{fields:i,updateFields:r}=Ur(),[a,l]=u(""),[c,f]=u("list"),[d,b]=u(""),[y,v]=u(""),[k,A]=u(Ir.NONE),[T,R]=u(""),[D,U]=u([]),Y=G();m(()=>{Y.invalidateQueries({queryKey:["fields",e]})},[e,Y]);let X=g.api.projects[":projectId"].fields.order.$patch,{mutate:J}=B({mutationFn:async(ye)=>{if(!(await X(ye)).ok)throw Error(Jf());return null}}),ee=g.api.projects[":projectId"].fields.$post,{mutate:te}=B({mutationFn:async(ye)=>{let fe=await ee(ye);if(!fe.ok)throw Error(Wf());return await fe.json()},onSuccess:(ye)=>{let fe={...ye,visible:!0},le=[...i,fe];r(le),b(""),U([]),J({param:{projectId:e},json:le.map((oe)=>({fieldId:oe.id,visible:oe.visible||!1}))}),s?.()}}),ne=N(()=>i.filter((ye)=>ye.config?.name?.toLowerCase().includes(a.toLowerCase())),[i,a]),ie=(ye)=>{if(ye.canceled)return;let{source:fe}=ye.operation;if(!lo(fe))return;let{initialIndex:le,index:oe}=fe;if(le===oe)return;let Se=yu(i,ne,le,oe);r(Se),J({param:{projectId:e},json:Se.map((we)=>({fieldId:we.id,visible:we.visible||!1}))})},se=(ye,fe)=>{let le=i.map((oe)=>oe.id===ye?{...oe,visible:fe}:oe);r(le),J({param:{projectId:e},json:le.map((oe)=>({fieldId:oe.id,visible:oe.visible||!1}))})},ae=()=>{if(!d||!y)return;let ye=y===Or.select?{select:{options:D}}:y===Or.selectMulti?{selectMulti:{options:D}}:{};te({param:{projectId:e},json:{config:{name:d,type:y,autofillSource:k,...ye},label:d,description:T}})},be=i.filter((ye)=>ye.visible).length;if(c==="create")return t("div",{className:"w-80 p-4",children:o("div",{className:"space-y-4",children:[o("div",{className:"space-y-2",children:[t(W,{htmlFor:"field-name",children:ep()}),t(z,{id:"field-name",placeholder:IS(),value:d,onChange:(ye)=>b(ye.target.value),autoFocus:!0})]}),o("div",{className:"space-y-2",children:[t(W,{children:tp()}),o(ge,{children:[t(Ae,{asChild:!0,children:o(S,{variant:"outline",className:"w-full justify-between font-normal",children:[y?t("span",{className:"capitalize",children:y.replace(/_/g," ")}):t("span",{className:"text-muted-foreground border-dashed",children:OI()}),t(ve,{className:"ml-2 h-4 w-4 opacity-50"})]})}),t(_e,{className:"w-[--radix-dropdown-menu-trigger-width]",children:Object.values(Or).map((ye)=>t(K,{onClick:()=>{v(ye),U([])},className:"capitalize",children:ye.replace(/_/g," ")},ye))})]})]}),o("div",{className:"space-y-2",children:[t(W,{htmlFor:"field-desc",children:Cl()}),t(z,{id:"field-desc",placeholder:yd(),value:T,onChange:(ye)=>R(ye.target.value)})]}),o("div",{className:"space-y-2",children:[o("div",{className:"flex items-center gap-1",children:[t(W,{children:gd()}),t(Jl,{})]}),o(Ro,{type:"single",value:k,onValueChange:(ye)=>{if(ye)A(ye)},className:"w-full grid grid-cols-3 border rounded-md p-1 gap-1",children:[t(vr,{value:Ir.NONE,className:"text-[11px] leading-tight py-1 px-1 h-auto min-h-[32px] w-full text-center justify-center whitespace-normal font-medium",children:Gc()}),t(vr,{value:Ir.CONTENT,className:"text-[11px] leading-tight py-1 px-1 h-auto min-h-[32px] w-full text-center justify-center whitespace-normal font-medium",children:Hc()}),t(vr,{value:Ir.CREATION_CONTEXT,className:"text-[11px] leading-tight py-1 px-1 h-auto min-h-[32px] w-full text-center justify-center whitespace-normal font-medium",children:$c()})]})]}),(y===Or.select||y===Or.selectMulti)&&o("div",{className:"space-y-2",children:[o("div",{className:"flex items-center justify-between",children:[t(W,{className:"text-sm font-medium",children:Od()}),o(S,{variant:"ghost",size:"sm",className:"h-8 px-2",onClick:()=>{let ye={id:Uo(),displayName:Pd(),color:Di(D)};U([...D,ye])},children:[t(pe,{className:"h-4 w-4 mr-1"})," ",fd()]})]}),t("div",{className:"space-y-2 max-h-40 overflow-y-auto pr-1",children:D.map((ye,fe)=>o("div",{className:"flex items-center gap-2",children:[t(z,{value:ye.displayName,onChange:(le)=>{let oe=[...D];oe[fe]={...ye,displayName:le.target.value},U(oe)},placeholder:Sp(),className:"h-8 flex-1"}),o(Je,{children:[t(Xe,{asChild:!0,children:t("button",{type:"button",className:"w-6 h-6 rounded-full border shrink-0 cursor-pointer focus:outline-none hover:scale-105 transition-transform",style:{backgroundColor:Ni[ye.color||""]?.hex||ye.color||"#808080"}})}),t(et,{className:"p-2 w-auto",align:"end",children:t("div",{className:"flex gap-1",children:fa.map((le)=>t("button",{type:"button",className:"w-5 h-5 rounded-full border cursor-pointer hover:scale-110 transition-transform",style:{backgroundColor:Ni[le]?.hex||le},onClick:()=>{let oe=[...D];oe[fe]={...ye,color:le},U(oe)}},le))})})]}),t(S,{variant:"ghost",size:"icon",className:"h-8 w-8 shrink-0 text-destructive hover:text-destructive hover:bg-destructive/10",onClick:()=>{U(D.filter((le,oe)=>oe!==fe))},children:t(Ne,{className:"h-4 w-4"})})]},ye.id))})]}),o("div",{className:"flex gap-2 pt-2",children:[t(S,{variant:"secondary",className:"flex-1",onClick:()=>{f("list"),b(""),v(""),A(Ir.NONE),R(""),U([])},children:Re()}),t(S,{className:"flex-1",onClick:ae,disabled:!d||!y,children:Kn()})]})]})});return o("div",{className:"w-80 p-4",children:[t("div",{className:"flex items-center justify-between mb-4",children:o("h3",{className:"font-semibold",children:[Fa()," ",t("span",{className:"text-muted-foreground text-sm font-normal",children:bM({count:be})})]})}),o("div",{className:"relative mb-4",children:[t(zt,{className:"absolute left-2 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),t(z,{placeholder:CI(),value:a,onChange:(ye)=>l(ye.target.value),className:"pl-8"})]}),t("div",{className:"max-h-60 overflow-y-auto pr-2",children:t(Wn,{sensors:[En.configure({activationConstraints:[new Zr.Distance({value:8})]}),es],onDragEnd:ie,children:ne.map((ye,fe)=>t(iF,{field:ye,index:fe,onVisibilityChange:se},ye.id))})}),n&&o("div",{className:"mt-4 space-y-2",children:[o(S,{variant:"secondary",className:"w-full",onClick:n,children:[t(Pi,{className:"h-4 w-4 mr-2"}),lp()]}),o(S,{className:"w-full",onClick:()=>f("create"),children:[t(pe,{className:"h-4 w-4 mr-2"}),CS()]})]})]})}var rF=({value:e,config:n,onSave:s,readOnly:i,fieldId:r})=>{let a=n?.select,l=a?.options||[],[c,f]=u(!1),[d,b]=u(""),y=l.find((X)=>X.id===e),v=d.trim(),k=l.filter((X)=>X.displayName.toLowerCase().includes(v.toLowerCase())),A=l.some((X)=>X.displayName.trim().toLowerCase()===v.toLowerCase()||X.id.toLowerCase()===v.toLowerCase()),T=()=>{if(!i)f(!0)},R=(X)=>{s(X),f(!1),b("")},D=(X)=>{if(i)return;if(f(X),!X)b("")},U=async()=>{if(!v)return;let X={id:v.toLowerCase().replace(/\s+/g,"-"),displayName:v,color:Di(l)},J=[...l,X],ee={...n,select:{...a,options:J}};if(r)try{let te=await g.api.fields[":fieldId"].$put({param:{fieldId:r},json:{config:ee}});if(!te.ok){M.error(Tl());return}let ne=await te.json(),se=Ur.getState().fields.map((ae)=>ae.id===ne.id?{...ae,...ne,visible:ae.visible}:ae);Ur.getState().updateFields(se)}catch{M.error(Tl());return}s(X.id),b(""),f(!1)};return t("div",{className:"relative w-full",onClick:(X)=>X.stopPropagation(),children:o(Je,{open:!i&&c,onOpenChange:D,children:[t(Xe,{asChild:!0,children:o("div",{onClick:T,className:`flex items-center justify-between w-full h-[28px] px-2 rounded border border-transparent transition-colors ${!i?"cursor-pointer hover:bg-accent hover:border-border group":""}`,children:[((X)=>{if(!X)return t("span",{className:"text-muted-foreground italic text-sm",children:"Select an option"});return t("span",{className:"inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium h-[22px]",style:Ts(X.color),children:X.displayName})})(y),!i&&t(ve,{className:"w-4 h-4 text-muted-foreground opacity-0 group-hover:opacity-100"})]})}),o(et,{side:"bottom",align:"start",sideOffset:4,className:"p-1.5 w-64 max-h-72 flex flex-col bg-popover border border-border rounded-lg shadow-lg",children:[o("div",{className:"relative pb-1.5 border-b border-border mb-1",onClick:(X)=>X.stopPropagation(),children:[t(zt,{className:"w-3.5 h-3.5 absolute left-2 top-2 text-muted-foreground"}),t("input",{type:"text",className:"w-full pl-7 pr-2 py-1 text-xs bg-muted/50 border border-input rounded-md focus:outline-none focus:ring-1 focus:ring-ring text-foreground",placeholder:hA(),value:d,onChange:(X)=>b(X.target.value),autoFocus:!0})]}),o("div",{className:"overflow-y-auto max-h-48 min-h-[120px] space-y-0.5",children:[d===""&&o("div",{onClick:()=>R(""),className:"px-2.5 py-1.5 text-xs text-muted-foreground hover:bg-accent hover:text-accent-foreground rounded cursor-pointer flex items-center gap-2",children:[t(Ne,{className:"w-3.5 h-3.5"})," Clear"]}),k.map((X)=>t("div",{onClick:()=>R(X.id),className:`px-2.5 py-1.5 text-xs hover:bg-accent rounded cursor-pointer flex items-center justify-between ${e===X.id?"bg-accent/50 font-medium":""}`,children:t("span",{className:"inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium",style:Ts(X.color),children:X.displayName})},X.id)),k.length===0&&!v&&t("div",{className:"px-2.5 py-2 text-xs text-muted-foreground italic text-center",children:kg()}),v!==""&&!A&&o("div",{onClick:U,className:"px-2.5 py-1.5 text-xs text-primary hover:bg-accent rounded cursor-pointer flex items-center gap-1.5 font-medium border-t border-border mt-1 pt-1.5",children:[t(pe,{className:"w-3.5 h-3.5 shrink-0"}),t("span",{className:"truncate",children:Hm({name:v})})]})]})]})]})})},pk=rF;E();var aF=({value:e=[],config:n,onSave:s,readOnly:i,fieldId:r})=>{let a=n?.selectMulti,l=a?.options||[],c=_(null),[f,d]=u(!1),[b,y]=u(e.length),[v,k]=u(""),A=l.filter((te)=>(e||[]).includes(te.id))||[],T=v.trim(),R=l.filter((te)=>te.displayName.toLowerCase().includes(T.toLowerCase())),D=l.some((te)=>te.displayName.trim().toLowerCase()===T.toLowerCase()||te.id.toLowerCase()===T.toLowerCase());Ue(()=>{if(f){y(A.length);return}if(c.current){let te=c.current.clientWidth-8,ie=document.createElement("canvas").getContext("2d");if(ie&&te>0){ie.font="500 12px ui-sans-serif, system-ui, sans-serif";let se=4,ae=A.map((Se)=>Math.ceil(ie.measureText(Se.displayName).width)+18);if(ae.reduce((Se,we)=>Se+we,0)+Math.max(0,ae.length-1)*se<=te){y(A.length);return}let fe=te-32-se,le=0,oe=0;for(let Se=0;Se<ae.length;Se++){let we=oe>0?le+se+ae[Se]:ae[Se];if(we>fe)break;le=we,oe++}y(oe)}}},[A,f,e]);let U=(te)=>{let ne=e||[],ie;if(ne.includes(te))ie=ne.filter((se)=>se!==te);else ie=[...ne,te];s(ie)},Y=async()=>{if(!T)return;let te={id:T.toLowerCase().replace(/\s+/g,"-"),displayName:T,color:Di(l)},ne=[...l,te],ie={...n,selectMulti:{...a,options:ne}};if(r)try{let se=await g.api.fields[":fieldId"].$put({param:{fieldId:r},json:{config:ie}});if(!se.ok){M.error(Tl());return}let ae=await se.json(),ye=Ur.getState().fields.map((fe)=>fe.id===ae.id?{...fe,...ae,visible:fe.visible}:fe);Ur.getState().updateFields(ye)}catch{M.error(Tl());return}s([...e||[],te.id]),k("")},X=(te)=>{if(te.stopPropagation(),!i)d(!0)},J=A.length-b;return t("div",{className:"relative w-full",onClick:(te)=>te.stopPropagation(),children:o(Je,{open:!i&&f,onOpenChange:(te)=>{if(i)return;if(d(te),!te)k("")},children:[t(Xe,{asChild:!0,children:o("div",{ref:c,onClick:X,className:`w-full px-1 py-1 flex flex-wrap gap-1 rounded border border-transparent transition-all box-border h-[32px] overflow-hidden ${!i||J>0?"cursor-pointer hover:bg-accent hover:border-border":""}`,children:[A.length===0&&t("span",{className:"text-muted-foreground text-sm italic px-1 pt-0.5",children:"Empty"}),A.slice(0,b).map((te)=>t("span",{className:"inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium border border-transparent whitespace-nowrap h-[22px]",style:Ts(te.color),children:te.displayName},te.id)),J>0&&o("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded-full text-xs font-medium bg-muted text-muted-foreground h-[22px]",children:["+",J]})]})}),o(et,{side:"bottom",align:"start",sideOffset:4,className:"p-1.5 w-64 max-h-72 flex flex-col bg-popover border border-border rounded-lg shadow-lg",children:[o("div",{className:"relative pb-1.5 border-b border-border mb-1",onClick:(te)=>te.stopPropagation(),children:[t(zt,{className:"w-3.5 h-3.5 absolute left-2 top-2 text-muted-foreground"}),t("input",{type:"text",className:"w-full pl-7 pr-2 py-1 text-xs bg-muted/50 border border-input rounded-md focus:outline-none focus:ring-1 focus:ring-ring text-foreground",placeholder:hA(),value:v,onChange:(te)=>k(te.target.value),autoFocus:!0})]}),o("div",{className:"overflow-y-auto max-h-48 min-h-[120px] space-y-0.5",children:[R.map((te)=>{let ne=(e||[]).includes(te.id);return o("div",{onClick:()=>U(te.id),className:`px-2.5 py-1.5 hover:bg-accent rounded cursor-pointer flex items-center justify-between text-xs ${ne?"bg-accent/30 font-medium":""}`,children:[t("span",{className:"inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium",style:Ts(te.color),children:te.displayName}),ne&&t(Me,{className:"w-3.5 h-3.5 text-primary"})]},te.id)}),R.length===0&&!T&&t("div",{className:"px-2.5 py-2 text-xs text-muted-foreground italic text-center",children:kg()}),T!==""&&!D&&o("div",{onClick:Y,className:"px-2.5 py-1.5 text-xs text-primary hover:bg-accent rounded cursor-pointer flex items-center gap-1.5 font-medium border-t border-border mt-1 pt-1.5",children:[t(pe,{className:"w-3.5 h-3.5 shrink-0"}),t("span",{className:"truncate",children:Hm({name:T})})]})]})]})]})})},gk=aF;E();var oF=({value:e,onSave:n,readOnly:s})=>{let[i,r]=u(!1),[a,l]=u(e||""),c=_(null);return m(()=>{l(e||"")},[e]),m(()=>{if(i&&c.current)c.current.focus()},[i]),t("div",{className:"relative w-full",onClick:(y)=>y.stopPropagation(),onDoubleClick:(y)=>y.stopPropagation(),children:i?t("input",{ref:c,type:"text",value:a,onChange:(y)=>l(y.target.value),onBlur:()=>{if(r(!1),a!==(e||""))n(a)},onKeyDown:(y)=>{if(y.key==="Enter")c.current?.blur();if(y.key==="Escape")r(!1),l(e||"")},onClick:(y)=>y.stopPropagation(),className:"w-full px-2 py-1 border border-ring rounded bg-background text-sm outline-none shadow-sm"}):t("div",{"data-testid":"text-field-display",onClick:(y)=>{if(y.stopPropagation(),!s)r(!0)},className:`w-full min-h-[28px] px-2 py-1 text-sm text-foreground rounded truncate border border-transparent transition-colors ${!s?"cursor-pointer hover:bg-accent hover:border-border":""}`,children:e||t("span",{className:"text-muted-foreground italic",children:"Empty"})})})},bk=oF;var lF=({value:e,onSave:n,readOnly:s})=>t("div",{className:"flex items-center h-[28px] w-full",onClick:(r)=>r.stopPropagation(),children:t(ke,{checked:e,onCheckedChange:(r)=>{if(!s)n(r)},disabled:s,className:"cursor-pointer"})}),wk=lF;E();var cF=({value:e,onSave:n,readOnly:s})=>{let i=bs(),{members:r,fetchMembers:a}=Vr(),[l,c]=u(!1);m(()=>{if(i)a(i)},[i,a]);let f=r.find((A)=>A.id===e),d=()=>{if(!s)c(!0)},b=(A)=>{n(A),c(!1)},y=(A)=>{if(s)return;c(A)},v=(A)=>A.split(" ").map((T)=>T[0]).slice(0,2).join("").toUpperCase();return t("div",{className:"relative w-full",onClick:(A)=>A.stopPropagation(),children:o(Je,{open:!s&&l,onOpenChange:y,children:[t(Xe,{asChild:!0,children:o("div",{onClick:d,className:`flex items-center justify-between w-full h-[28px] px-2 rounded border border-transparent transition-colors ${!s?"cursor-pointer hover:bg-accent hover:border-border group":""}`,children:[((A)=>{if(!A)return t("span",{className:"text-muted-foreground italic text-sm",children:"Select user"});return o("span",{className:"inline-flex items-center gap-1.5 px-2 py-0.5 rounded-full text-xs font-medium bg-muted text-foreground border h-[22px]",children:[o(Ce,{className:"w-4 h-4",children:[t(Ie,{src:A.image,alt:A.name,className:"object-cover"}),t(Te,{className:"text-[8px] bg-rose-400 text-black font-semibold",children:v(A.name)})]}),t("span",{className:"truncate max-w-[120px]",children:A.name})]})})(f),!s&&t(ve,{className:"w-4 h-4 text-muted-foreground opacity-0 group-hover:opacity-100"})]})}),o(et,{className:"p-1 w-[--radix-popover-trigger-width] min-w-[200px] max-h-60 overflow-auto bg-popover border border-border rounded-lg shadow-lg",align:"start",children:[o("div",{onClick:()=>b(""),className:"px-3 py-2 text-sm text-muted-foreground hover:bg-accent cursor-pointer flex items-center gap-2 rounded-sm",children:[t(Ne,{className:"w-3 h-3"})," Clear"]}),r.map((A)=>o("div",{onClick:()=>b(A.id),className:"px-3 py-2 hover:bg-accent cursor-pointer flex items-center gap-2 rounded-sm",children:[o(Ce,{className:"w-5 h-5",children:[t(Ie,{src:A.image,alt:A.name,className:"object-cover"}),t(Te,{className:"text-[10px] bg-rose-400 text-black font-semibold",children:v(A.name)})]}),t("span",{className:"text-sm font-medium text-foreground",children:A.name})]},A.id))]})]})})},yk=cF;E();var fF=({value:e=[],onSave:n,readOnly:s})=>{let i=bs(),{members:r,fetchMembers:a}=Vr(),l=_(null),[c,f]=u(!1),[d,b]=u(e.length);m(()=>{if(i)a(i)},[i,a]);let y=r.filter((U)=>(e||[]).includes(U.id)),v=(U)=>U.split(" ").map((Y)=>Y[0]).slice(0,2).join("").toUpperCase();Ue(()=>{if(c){b(y.length);return}if(l.current){let U=l.current.clientWidth-8,X=document.createElement("canvas").getContext("2d");if(X&&U>0){X.font="500 12px ui-sans-serif, system-ui, sans-serif";let J=4,ee=y.map((be)=>Math.min(100,Math.ceil(X.measureText(be.name).width))+40);if(ee.reduce((be,ye)=>be+ye,0)+Math.max(0,ee.length-1)*J<=U){b(y.length);return}let ie=U-32-J,se=0,ae=0;for(let be=0;be<ee.length;be++){let ye=ae>0?se+J+ee[be]:ee[be];if(ye>ie)break;se=ye,ae++}b(ae)}}},[y,c,e]);let k=(U)=>{let Y=e||[],X;if(Y.includes(U))X=Y.filter((J)=>J!==U);else X=[...Y,U];n(X)},A=(U)=>{if(U.stopPropagation(),!s)f(!0)},T=y.length-d,R=(U)=>{if(s)return;f(U)},D=(U)=>o("span",{className:"inline-flex items-center gap-1.5 px-2 py-0.5 rounded-full text-xs font-medium bg-muted text-foreground border whitespace-nowrap h-[22px]",children:[o(Ce,{className:"w-4 h-4",children:[t(Ie,{src:U.image,alt:U.name,className:"object-cover"}),t(Te,{className:"text-[8px] bg-rose-400 text-black font-semibold",children:v(U.name)})]}),t("span",{className:"truncate max-w-[100px]",children:U.name})]},U.id);return t("div",{className:"relative w-full",onClick:(U)=>U.stopPropagation(),children:o(Je,{open:!s&&c,onOpenChange:R,children:[t(Xe,{asChild:!0,children:o("div",{ref:l,onClick:A,className:`w-full px-1 py-1 flex flex-wrap gap-1 rounded border border-transparent transition-all box-border h-[32px] overflow-hidden ${!s||T>0?"cursor-pointer hover:bg-accent hover:border-border":""}`,children:[y.length===0&&t("span",{className:"text-muted-foreground text-sm italic px-1 pt-0.5",children:"Empty"}),y.slice(0,d).map(D),T>0&&o("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded-full text-xs font-medium bg-muted text-muted-foreground h-[22px]",children:["+",T]})]})}),t(et,{className:"p-1 w-[--radix-popover-trigger-width] min-w-[200px] max-h-60 overflow-auto bg-popover border border-border rounded-lg shadow-lg",align:"start",children:r.map((U)=>{let Y=(e||[]).includes(U.id);return o("div",{onClick:()=>k(U.id),className:"px-3 py-2 hover:bg-accent cursor-pointer flex items-center justify-between rounded-sm",children:[o("div",{className:"flex items-center gap-2",children:[o(Ce,{className:"w-5 h-5",children:[t(Ie,{src:U.image,alt:U.name,className:"object-cover"}),t(Te,{className:"text-[10px] bg-rose-400 text-black font-semibold",children:v(U.name)})]}),t("span",{className:"text-sm font-medium text-foreground",children:U.name})]}),Y&&t(Me,{className:"w-4 h-4 text-primary"})]},U.id)})})]})})},vk=fF;var hF=(e)=>{if(!e.config)return t("div",{children:"Unknown Field Type"});switch(e.config.type){case"text":return t(bk,{...e,value:e.value,onSave:e.onSave});case"longText":return t(dk,{...e,value:e.value,onSave:e.onSave});case"select":return t(pk,{...e,value:e.value,onSave:e.onSave});case"selectMulti":return t(gk,{...e,value:e.value,onSave:e.onSave});case"rating":return t(wu,{...e,value:e.value,onSave:e.onSave});case"number":return t(mk,{...e,value:e.value,onSave:e.onSave});case"toggle":return t(wk,{...e,value:e.value,onSave:e.onSave});case"date":return t(uk,{...e,value:e.value,onSave:e.onSave});case"user":return t(yk,{...e,value:e.value,onSave:e.onSave});case"userMulti":return t(vk,{...e,value:e.value,onSave:e.onSave});default:return t("div",{children:"Unknown Field Type"})}},Ms=hF;
129
- export{ts,Es,Cs,Pi,Ja,yu,Xa,Ur,Uo,bu,Yl,vu,rs,ns,Is,wu,Jl,fa,Ni,Ts,Di,pa,Em,Ms};