@gamelearn/arcade-components 3.33.1 → 3.33.4
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.
|
@@ -31,7 +31,7 @@ Check the top-level render call using <`+Be+">.")}return be}}function qt(de,be){
|
|
|
31
31
|
`),position:ie,pageIndex:le-1,rect:W,rotation:V,id:z,deleted:!1}}const me=super.deserialize(ee,K,ne);return We(me,g,ee.fontSize),We(me,R,t.Util.makeHexColor(...ee.color)),We(me,x,ee.value),me.annotationElementId=ee.id||null,We(me,v,ue),me}serialize(ee=!1){if(this.isEmpty())return null;if(this.deleted)return{pageIndex:this.pageIndex,id:this.annotationElementId,deleted:!0};const K=X._internalPadding*this.parentScale,ne=this.getRect(K,K),ue=o.AnnotationEditor._colorManager.convert(this.isAttachedToDOM?getComputedStyle(this.editorDiv).color:Z(this,R)),me={annotationType:t.AnnotationEditorType.FREETEXT,color:ue,fontSize:Z(this,g),value:Z(this,x),pageIndex:this.pageIndex,rect:ne,rotation:this.rotation,structTreeParentId:this._structTreeParentId};return ee?me:this.annotationElementId&&!Ue(this,M,sy).call(this,me)?null:(me.id=this.annotationElementId,me)}};f=new WeakMap,u=new WeakMap,p=new WeakMap,_=new WeakMap,R=new WeakMap,x=new WeakMap,S=new WeakMap,g=new WeakMap,v=new WeakMap,b=new WeakSet,ry=function(ee){const K=ue=>{this.editorDiv.style.fontSize=`calc(${ue}px * var(--scale-factor))`,this.translate(0,-(ue-Z(this,g))*this.parentScale),We(this,g,ue),Ue(this,N,Lc).call(this)},ne=Z(this,g);this.addCommands({cmd:()=>{K(ee)},undo:()=>{K(ne)},mustExec:!0,type:t.AnnotationEditorParamsType.FREETEXT_SIZE,overwriteIfSameType:!0,keepUndo:!0})},y=new WeakSet,iy=function(ee){const K=Z(this,R);this.addCommands({cmd:()=>{We(this,R,this.editorDiv.style.color=ee)},undo:()=>{We(this,R,this.editorDiv.style.color=K)},mustExec:!0,type:t.AnnotationEditorParamsType.FREETEXT_COLOR,overwriteIfSameType:!0,keepUndo:!0})},C=new WeakSet,ay=function(){const ee=this.editorDiv.getElementsByTagName("div");if(ee.length===0)return this.editorDiv.innerText;const K=[];for(const ne of ee)K.push(ne.innerText.replace(/\r\n?|\n/,""));return K.join(`
|
|
32
32
|
`)},N=new WeakSet,Lc=function(){const[ee,K]=this.parentDimensions;let ne;if(this.isAttachedToDOM)ne=this.div.getBoundingClientRect();else{const{currentLayer:ue,div:me}=this,J=me.style.display;me.style.display="hidden",ue.div.append(this.div),ne=me.getBoundingClientRect(),me.remove(),me.style.display=J}this.rotation%180===this.parentRotation%180?(this.width=ne.width/ee,this.height=ne.height/K):(this.width=ne.height/ee,this.height=ne.width/K),this.fixAndSetPosition()},k=new WeakSet,Km=function(){if(this.editorDiv.replaceChildren(),!!Z(this,x))for(const ee of Z(this,x).split(`
|
|
33
33
|
`)){const K=document.createElement("div");K.append(ee?document.createTextNode(ee):document.createElement("br")),this.editorDiv.append(K)}},M=new WeakSet,sy=function(ee){const{value:K,fontSize:ne,color:ue,rect:me,pageIndex:J}=Z(this,v);return ee.value!==K||ee.fontSize!==ne||ee.rect.some((H,W)=>Math.abs(H-me[W])>=1)||ee.color.some((H,W)=>H!==ue[W])||ee.pageIndex!==J},$=new WeakSet,Xm=function(ee=!1){if(!this.annotationElementId)return;if(Ue(this,N,Lc).call(this),!ee&&(this.width===0||this.height===0)){setTimeout(()=>Ue(this,$,Xm).call(this,!0),0);return}const K=X._internalPadding*this.parentScale;Z(this,v).rect=this.getRect(K,K)},Mn(X,"_freeTextDefaultContent",""),Mn(X,"_internalPadding",0),Mn(X,"_defaultColor",null),Mn(X,"_defaultFontSize",10),Mn(X,"_type","freetext");let h=X;e.FreeTextEditor=h},(l,e,n)=>{var W,z,Uo,ie,oy,fe,ce,ge,Se,Te,Fe,Ne,Qe,st,Ze,yt,Ve,Me,Le,Ke,ke,qe,St,ly,ot,Wf,rt,Ym,Ge,qm,Re,ye,Pe,Xe,Ft,Pt,Ie,Qm,Ct,at,wt,Nt,uy,Oe,Jm;Object.defineProperty(e,"__esModule",{value:!0}),e.StampAnnotationElement=e.InkAnnotationElement=e.FreeTextAnnotationElement=e.AnnotationLayer=void 0;var t=n(1),a=n(6),o=n(3),d=n(30),h=n(31),f=n(32);const u=1e3,p=9,_=new WeakSet;function R(ut){return{width:ut[2]-ut[0],height:ut[3]-ut[1]}}class x{static create(_e){switch(_e.data.annotationType){case t.AnnotationType.LINK:return new g(_e);case t.AnnotationType.TEXT:return new v(_e);case t.AnnotationType.WIDGET:switch(_e.data.fieldType){case"Tx":return new T(_e);case"Btn":return _e.data.radioButton?new C(_e):_e.data.checkBox?new w(_e):new D(_e);case"Ch":return new N(_e);case"Sig":return new y(_e)}return new b(_e);case t.AnnotationType.POPUP:return new P(_e);case t.AnnotationType.FREETEXT:return new F(_e);case t.AnnotationType.LINE:return new M(_e);case t.AnnotationType.SQUARE:return new j(_e);case t.AnnotationType.CIRCLE:return new $(_e);case t.AnnotationType.POLYLINE:return new B(_e);case t.AnnotationType.CARET:return new re(_e);case t.AnnotationType.INK:return new ae(_e);case t.AnnotationType.POLYGON:return new X(_e);case t.AnnotationType.HIGHLIGHT:return new ee(_e);case t.AnnotationType.UNDERLINE:return new K(_e);case t.AnnotationType.SQUIGGLY:return new ne(_e);case t.AnnotationType.STRIKEOUT:return new ue(_e);case t.AnnotationType.STAMP:return new me(_e);case t.AnnotationType.FILEATTACHMENT:return new J(_e);default:return new S(_e)}}}const V=class V{constructor(_e,{isRenderable:te=!1,ignoreBorder:pe=!1,createQuadrilaterals:Ee=!1}={}){Ae(this,W,!1);this.isRenderable=te,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.enableScripting=_e.enableScripting,this.hasJSActions=_e.hasJSActions,this._fieldObjects=_e.fieldObjects,this.parent=_e.parent,te&&(this.container=this._createContainer(pe)),Ee&&this._createQuadrilaterals()}static _hasPopupData({titleObj:_e,contentsObj:te,richText:pe}){return!!(_e!=null&&_e.str||te!=null&&te.str||pe!=null&&pe.str)}get hasPopupData(){return V._hasPopupData(this.data)}_createContainer(_e){const{data:te,parent:{page:pe,viewport:Ee}}=this,we=document.createElement("section");we.setAttribute("data-annotation-id",te.id),this instanceof b||(we.tabIndex=u),we.style.zIndex=this.parent.zIndex++,this.data.popupRef&&we.setAttribute("aria-haspopup","dialog"),te.noRotate&&we.classList.add("norotate");const{pageWidth:de,pageHeight:be,pageX:Be,pageY:tt}=Ee.rawDims;if(!te.rect||this instanceof P){const{rotation:kt}=te;return!te.hasOwnCanvas&&kt!==0&&this.setRotation(kt,we),we}const{width:ht,height:At}=R(te.rect),vt=t.Util.normalizeRect([te.rect[0],pe.view[3]-te.rect[1]+pe.view[1],te.rect[2],pe.view[3]-te.rect[3]+pe.view[1]]);if(!_e&&te.borderStyle.width>0){we.style.borderWidth=`${te.borderStyle.width}px`;const kt=te.borderStyle.horizontalCornerRadius,Mt=te.borderStyle.verticalCornerRadius;if(kt>0||Mt>0){const Kt=`calc(${kt}px * var(--scale-factor)) / calc(${Mt}px * var(--scale-factor))`;we.style.borderRadius=Kt}else if(this instanceof C){const Kt=`calc(${ht}px * var(--scale-factor)) / calc(${At}px * var(--scale-factor))`;we.style.borderRadius=Kt}switch(te.borderStyle.style){case t.AnnotationBorderStyleType.SOLID:we.style.borderStyle="solid";break;case t.AnnotationBorderStyleType.DASHED:we.style.borderStyle="dashed";break;case t.AnnotationBorderStyleType.BEVELED:(0,t.warn)("Unimplemented border style: beveled");break;case t.AnnotationBorderStyleType.INSET:(0,t.warn)("Unimplemented border style: inset");break;case t.AnnotationBorderStyleType.UNDERLINE:we.style.borderBottomStyle="solid";break}const Ut=te.borderColor||null;Ut?(We(this,W,!0),we.style.borderColor=t.Util.makeHexColor(Ut[0]|0,Ut[1]|0,Ut[2]|0)):we.style.borderWidth=0}we.style.left=`${100*(vt[0]-Be)/de}%`,we.style.top=`${100*(vt[1]-tt)/be}%`;const{rotation:gt}=te;return te.hasOwnCanvas||gt===0?(we.style.width=`${100*ht/de}%`,we.style.height=`${100*At/be}%`):this.setRotation(gt,we),we}setRotation(_e,te=this.container){if(!this.data.rect)return;const{pageWidth:pe,pageHeight:Ee}=this.parent.viewport.rawDims,{width:we,height:de}=R(this.data.rect);let be,Be;_e%180===0?(be=100*we/pe,Be=100*de/Ee):(be=100*de/pe,Be=100*we/Ee),te.style.width=`${be}%`,te.style.height=`${Be}%`,te.setAttribute("data-main-rotation",(360-_e)%360)}get _commonActions(){const _e=(te,pe,Ee)=>{const we=Ee.detail[te],de=we[0],be=we.slice(1);Ee.target.style[pe]=d.ColorConverters[`${de}_HTML`](be),this.annotationStorage.setValue(this.data.id,{[pe]:d.ColorConverters[`${de}_rgb`](be)})};return(0,t.shadow)(this,"_commonActions",{display:te=>{const{display:pe}=te.detail,Ee=pe%2===1;this.container.style.visibility=Ee?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noView:Ee,noPrint:pe===1||pe===2})},print:te=>{this.annotationStorage.setValue(this.data.id,{noPrint:!te.detail.print})},hidden:te=>{const{hidden:pe}=te.detail;this.container.style.visibility=pe?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noPrint:pe,noView:pe})},focus:te=>{setTimeout(()=>te.target.focus({preventScroll:!1}),0)},userName:te=>{te.target.title=te.detail.userName},readonly:te=>{te.target.disabled=te.detail.readonly},required:te=>{this._setRequired(te.target,te.detail.required)},bgColor:te=>{_e("bgColor","backgroundColor",te)},fillColor:te=>{_e("fillColor","backgroundColor",te)},fgColor:te=>{_e("fgColor","color",te)},textColor:te=>{_e("textColor","color",te)},borderColor:te=>{_e("borderColor","borderColor",te)},strokeColor:te=>{_e("strokeColor","borderColor",te)},rotation:te=>{const pe=te.detail.rotation;this.setRotation(pe),this.annotationStorage.setValue(this.data.id,{rotation:pe})}})}_dispatchEventFromSandbox(_e,te){const pe=this._commonActions;for(const Ee of Object.keys(te.detail)){const we=_e[Ee]||pe[Ee];we==null||we(te)}}_setDefaultPropertiesFromJS(_e){if(!this.enableScripting)return;const te=this.annotationStorage.getRawValue(this.data.id);if(!te)return;const pe=this._commonActions;for(const[Ee,we]of Object.entries(te)){const de=pe[Ee];if(de){const be={detail:{[Ee]:we},target:_e};de(be),delete te[Ee]}}}_createQuadrilaterals(){if(!this.container)return;const{quadPoints:_e}=this.data;if(!_e)return;const[te,pe,Ee,we]=this.data.rect;if(_e.length===1){const[,{x:Mt,y:Ut},{x:Kt,y:An}]=_e[0];if(Ee===Mt&&we===Ut&&te===Kt&&pe===An)return}const{style:de}=this.container;let be;if(Z(this,W)){const{borderColor:Mt,borderWidth:Ut}=de;de.borderWidth=0,be=["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="${Mt}" stroke-width="${Ut}">`],this.container.classList.add("hasBorder")}const Be=Ee-te,tt=we-pe,{svgFactory:ht}=this,At=ht.createElement("svg");At.classList.add("quadrilateralsContainer"),At.setAttribute("width",0),At.setAttribute("height",0);const vt=ht.createElement("defs");At.append(vt);const gt=ht.createElement("clipPath"),kt=`clippath_${this.data.id}`;gt.setAttribute("id",kt),gt.setAttribute("clipPathUnits","objectBoundingBox"),vt.append(gt);for(const[,{x:Mt,y:Ut},{x:Kt,y:An}]of _e){const _n=ht.createElement("rect"),Bn=(Kt-te)/Be,mi=(we-Ut)/tt,Fr=(Mt-Kt)/Be,Ka=(Ut-An)/tt;_n.setAttribute("x",Bn),_n.setAttribute("y",mi),_n.setAttribute("width",Fr),_n.setAttribute("height",Ka),gt.append(_n),be==null||be.push(`<rect vector-effect="non-scaling-stroke" x="${Bn}" y="${mi}" width="${Fr}" height="${Ka}"/>`)}Z(this,W)&&(be.push("</g></svg>')"),de.backgroundImage=be.join("")),this.container.append(At),this.container.style.clipPath=`url(#${kt})`}_createPopup(){const{container:_e,data:te}=this;_e.setAttribute("aria-haspopup","dialog");const pe=new P({data:{color:te.color,titleObj:te.titleObj,modificationDate:te.modificationDate,contentsObj:te.contentsObj,richText:te.richText,parentRect:te.rect,borderStyle:0,id:`popup_${te.id}`,rotation:te.rotation},parent:this.parent,elements:[this]});this.parent.div.append(pe.render())}render(){(0,t.unreachable)("Abstract method `AnnotationElement.render` called")}_getElementsByName(_e,te=null){const pe=[];if(this._fieldObjects){const Ee=this._fieldObjects[_e];if(Ee)for(const{page:we,id:de,exportValues:be}of Ee){if(we===-1||de===te)continue;const Be=typeof be=="string"?be:null,tt=document.querySelector(`[data-element-id="${de}"]`);if(tt&&!_.has(tt)){(0,t.warn)(`_getElementsByName - element not allowed: ${de}`);continue}pe.push({id:de,exportValue:Be,domElement:tt})}return pe}for(const Ee of document.getElementsByName(_e)){const{exportValue:we}=Ee,de=Ee.getAttribute("data-element-id");de!==te&&_.has(Ee)&&pe.push({id:de,exportValue:we,domElement:Ee})}return pe}show(){var _e;this.container&&(this.container.hidden=!1),(_e=this.popup)==null||_e.maybeShow()}hide(){var _e;this.container&&(this.container.hidden=!0),(_e=this.popup)==null||_e.forceHide()}getElementsToTriggerPopup(){return this.container}addHighlightArea(){const _e=this.getElementsToTriggerPopup();if(Array.isArray(_e))for(const te of _e)te.classList.add("highlightArea");else _e.classList.add("highlightArea")}_editOnDoubleClick(){const{annotationEditorType:_e,data:{id:te}}=this;this.container.addEventListener("dblclick",()=>{var pe;(pe=this.linkService.eventBus)==null||pe.dispatch("switchannotationeditormode",{source:this,mode:_e,editId:te})})}};W=new WeakMap;let S=V;class g extends S{constructor(te,pe=null){super(te,{isRenderable:!0,ignoreBorder:!!(pe!=null&&pe.ignoreBorder),createQuadrilaterals:!0});Ae(this,z);Ae(this,ie);this.isTooltipOnly=te.data.isTooltipOnly}render(){const{data:te,linkService:pe}=this,Ee=document.createElement("a");Ee.setAttribute("data-element-id",te.id);let we=!1;return te.url?(pe.addLinkAttributes(Ee,te.url,te.newWindow),we=!0):te.action?(this._bindNamedAction(Ee,te.action),we=!0):te.attachment?(this._bindAttachment(Ee,te.attachment),we=!0):te.setOCGState?(Ue(this,ie,oy).call(this,Ee,te.setOCGState),we=!0):te.dest?(this._bindLink(Ee,te.dest),we=!0):(te.actions&&(te.actions.Action||te.actions["Mouse Up"]||te.actions["Mouse Down"])&&this.enableScripting&&this.hasJSActions&&(this._bindJSAction(Ee,te),we=!0),te.resetForm?(this._bindResetFormAction(Ee,te.resetForm),we=!0):this.isTooltipOnly&&!we&&(this._bindLink(Ee,""),we=!0)),this.container.classList.add("linkAnnotation"),we&&this.container.append(Ee),this.container}_bindLink(te,pe){te.href=this.linkService.getDestinationHash(pe),te.onclick=()=>(pe&&this.linkService.goToDestination(pe),!1),(pe||pe==="")&&Ue(this,z,Uo).call(this)}_bindNamedAction(te,pe){te.href=this.linkService.getAnchorUrl(""),te.onclick=()=>(this.linkService.executeNamedAction(pe),!1),Ue(this,z,Uo).call(this)}_bindAttachment(te,pe){te.href=this.linkService.getAnchorUrl(""),te.onclick=()=>{var Ee;return(Ee=this.downloadManager)==null||Ee.openOrDownloadData(this.container,pe.content,pe.filename),!1},Ue(this,z,Uo).call(this)}_bindJSAction(te,pe){te.href=this.linkService.getAnchorUrl("");const Ee=new Map([["Action","onclick"],["Mouse Up","onmouseup"],["Mouse Down","onmousedown"]]);for(const we of Object.keys(pe.actions)){const de=Ee.get(we);de&&(te[de]=()=>{var be;return(be=this.linkService.eventBus)==null||be.dispatch("dispatcheventinsandbox",{source:this,detail:{id:pe.id,name:we}}),!1})}te.onclick||(te.onclick=()=>!1),Ue(this,z,Uo).call(this)}_bindResetFormAction(te,pe){const Ee=te.onclick;if(Ee||(te.href=this.linkService.getAnchorUrl("")),Ue(this,z,Uo).call(this),!this._fieldObjects){(0,t.warn)('_bindResetFormAction - "resetForm" action not supported, ensure that the `fieldObjects` parameter is provided.'),Ee||(te.onclick=()=>!1);return}te.onclick=()=>{var At;Ee==null||Ee();const{fields:we,refs:de,include:be}=pe,Be=[];if(we.length!==0||de.length!==0){const vt=new Set(de);for(const gt of we){const kt=this._fieldObjects[gt]||[];for(const{id:Mt}of kt)vt.add(Mt)}for(const gt of Object.values(this._fieldObjects))for(const kt of gt)vt.has(kt.id)===be&&Be.push(kt)}else for(const vt of Object.values(this._fieldObjects))Be.push(...vt);const tt=this.annotationStorage,ht=[];for(const vt of Be){const{id:gt}=vt;switch(ht.push(gt),vt.type){case"text":{const Mt=vt.defaultValue||"";tt.setValue(gt,{value:Mt});break}case"checkbox":case"radiobutton":{const Mt=vt.defaultValue===vt.exportValues;tt.setValue(gt,{value:Mt});break}case"combobox":case"listbox":{const Mt=vt.defaultValue||"";tt.setValue(gt,{value:Mt});break}default:continue}const kt=document.querySelector(`[data-element-id="${gt}"]`);if(kt){if(!_.has(kt)){(0,t.warn)(`_bindResetFormAction - element not allowed: ${gt}`);continue}}else continue;kt.dispatchEvent(new Event("resetform"))}return this.enableScripting&&((At=this.linkService.eventBus)==null||At.dispatch("dispatcheventinsandbox",{source:this,detail:{id:"app",ids:ht,name:"ResetForm"}})),!1}}}z=new WeakSet,Uo=function(){this.container.setAttribute("data-internal-link","")},ie=new WeakSet,oy=function(te,pe){te.href=this.linkService.getAnchorUrl(""),te.onclick=()=>(this.linkService.executeSetOCGState(pe),!1),Ue(this,z,Uo).call(this)};class v extends S{constructor(_e){super(_e,{isRenderable:!0})}render(){this.container.classList.add("textAnnotation");const _e=document.createElement("img");return _e.src=this.imageResourcesPath+"annotation-"+this.data.name.toLowerCase()+".svg",_e.alt="[{{type}} Annotation]",_e.dataset.l10nId="text_annotation_type",_e.dataset.l10nArgs=JSON.stringify({type:this.data.name}),!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.append(_e),this.container}}class b extends S{render(){return this.data.alternativeText&&(this.container.title=this.data.alternativeText),this.container}showElementAndHideCanvas(_e){var te;this.data.hasOwnCanvas&&(((te=_e.previousSibling)==null?void 0:te.nodeName)==="CANVAS"&&(_e.previousSibling.hidden=!0),_e.hidden=!1)}_getKeyModifier(_e){const{isWin:te,isMac:pe}=t.FeatureTest.platform;return te&&_e.ctrlKey||pe&&_e.metaKey}_setEventListener(_e,te,pe,Ee,we){pe.includes("mouse")?_e.addEventListener(pe,de=>{var be;(be=this.linkService.eventBus)==null||be.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:Ee,value:we(de),shift:de.shiftKey,modifier:this._getKeyModifier(de)}})}):_e.addEventListener(pe,de=>{var be;if(pe==="blur"){if(!te.focused||!de.relatedTarget)return;te.focused=!1}else if(pe==="focus"){if(te.focused)return;te.focused=!0}we&&((be=this.linkService.eventBus)==null||be.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:Ee,value:we(de)}}))})}_setEventListeners(_e,te,pe,Ee){var we,de,be;for(const[Be,tt]of pe)(tt==="Action"||(we=this.data.actions)!=null&&we[tt])&&((tt==="Focus"||tt==="Blur")&&(te||(te={focused:!1})),this._setEventListener(_e,te,Be,tt,Ee),tt==="Focus"&&!((de=this.data.actions)!=null&&de.Blur)?this._setEventListener(_e,te,"blur","Blur",null):tt==="Blur"&&!((be=this.data.actions)!=null&&be.Focus)&&this._setEventListener(_e,te,"focus","Focus",null))}_setBackgroundColor(_e){const te=this.data.backgroundColor||null;_e.style.backgroundColor=te===null?"transparent":t.Util.makeHexColor(te[0],te[1],te[2])}_setTextStyle(_e){const te=["left","center","right"],{fontColor:pe}=this.data.defaultAppearanceData,Ee=this.data.defaultAppearanceData.fontSize||p,we=_e.style;let de;const be=2,Be=tt=>Math.round(10*tt)/10;if(this.data.multiLine){const tt=Math.abs(this.data.rect[3]-this.data.rect[1]-be),ht=Math.round(tt/(t.LINE_FACTOR*Ee))||1,At=tt/ht;de=Math.min(Ee,Be(At/t.LINE_FACTOR))}else{const tt=Math.abs(this.data.rect[3]-this.data.rect[1]-be);de=Math.min(Ee,Be(tt/t.LINE_FACTOR))}we.fontSize=`calc(${de}px * var(--scale-factor))`,we.color=t.Util.makeHexColor(pe[0],pe[1],pe[2]),this.data.textAlignment!==null&&(we.textAlign=te[this.data.textAlignment])}_setRequired(_e,te){te?_e.setAttribute("required",!0):_e.removeAttribute("required"),_e.setAttribute("aria-required",te)}}class T extends b{constructor(_e){const te=_e.renderForms||!_e.data.hasAppearance&&!!_e.data.fieldValue;super(_e,{isRenderable:te})}setPropertyOnSiblings(_e,te,pe,Ee){const we=this.annotationStorage;for(const de of this._getElementsByName(_e.name,_e.id))de.domElement&&(de.domElement[te]=pe),we.setValue(de.id,{[Ee]:pe})}render(){var Ee,we;const _e=this.annotationStorage,te=this.data.id;this.container.classList.add("textWidgetAnnotation");let pe=null;if(this.renderForms){const de=_e.getValue(te,{value:this.data.fieldValue});let be=de.value||"";const Be=_e.getValue(te,{charLimit:this.data.maxLen}).charLimit;Be&&be.length>Be&&(be=be.slice(0,Be));let tt=de.formattedValue||((Ee=this.data.textContent)==null?void 0:Ee.join(`
|
|
34
|
-
`))||null;tt&&this.data.comb&&(tt=tt.replaceAll(/\s+/g,""));const ht={userValue:be,formattedValue:tt,lastCommittedValue:null,commitKey:1,focused:!1};this.data.multiLine?(pe=document.createElement("textarea"),pe.textContent=tt??be,this.data.doNotScroll&&(pe.style.overflowY="hidden")):(pe=document.createElement("input"),pe.type="text",pe.setAttribute("value",tt??be),this.data.doNotScroll&&(pe.style.overflowX="hidden")),this.data.hasOwnCanvas&&(pe.hidden=!0),_.add(pe),pe.setAttribute("data-element-id",te),pe.disabled=this.data.readOnly,pe.name=this.data.fieldName,pe.tabIndex=u,this._setRequired(pe,this.data.required),Be&&(pe.maxLength=Be),pe.addEventListener("input",vt=>{_e.setValue(te,{value:vt.target.value}),this.setPropertyOnSiblings(pe,"value",vt.target.value,"value"),ht.formattedValue=null}),pe.addEventListener("resetform",vt=>{const gt=this.data.defaultFieldValue??"";pe.value=ht.userValue=gt,ht.formattedValue=null});let At=vt=>{const{formattedValue:gt}=ht;gt!=null&&(vt.target.value=gt),vt.target.scrollLeft=0};if(this.enableScripting&&this.hasJSActions){pe.addEventListener("focus",gt=>{if(ht.focused)return;const{target:kt}=gt;ht.userValue&&(kt.value=ht.userValue),ht.lastCommittedValue=kt.value,ht.commitKey=1,ht.focused=!0}),pe.addEventListener("updatefromsandbox",gt=>{this.showElementAndHideCanvas(gt.target);const kt={value(Mt){ht.userValue=Mt.detail.value??"",_e.setValue(te,{value:ht.userValue.toString()}),Mt.target.value=ht.userValue},formattedValue(Mt){const{formattedValue:Ut}=Mt.detail;ht.formattedValue=Ut,Ut!=null&&Mt.target!==document.activeElement&&(Mt.target.value=Ut),_e.setValue(te,{formattedValue:Ut})},selRange(Mt){Mt.target.setSelectionRange(...Mt.detail.selRange)},charLimit:Mt=>{var _n;const{charLimit:Ut}=Mt.detail,{target:Kt}=Mt;if(Ut===0){Kt.removeAttribute("maxLength");return}Kt.setAttribute("maxLength",Ut);let An=ht.userValue;!An||An.length<=Ut||(An=An.slice(0,Ut),Kt.value=ht.userValue=An,_e.setValue(te,{value:An}),(_n=this.linkService.eventBus)==null||_n.dispatch("dispatcheventinsandbox",{source:this,detail:{id:te,name:"Keystroke",value:An,willCommit:!0,commitKey:1,selStart:Kt.selectionStart,selEnd:Kt.selectionEnd}}))}};this._dispatchEventFromSandbox(kt,gt)}),pe.addEventListener("keydown",gt=>{var Ut;ht.commitKey=1;let kt=-1;if(gt.key==="Escape"?kt=0:gt.key==="Enter"&&!this.data.multiLine?kt=2:gt.key==="Tab"&&(ht.commitKey=3),kt===-1)return;const{value:Mt}=gt.target;ht.lastCommittedValue!==Mt&&(ht.lastCommittedValue=Mt,ht.userValue=Mt,(Ut=this.linkService.eventBus)==null||Ut.dispatch("dispatcheventinsandbox",{source:this,detail:{id:te,name:"Keystroke",value:Mt,willCommit:!0,commitKey:kt,selStart:gt.target.selectionStart,selEnd:gt.target.selectionEnd}}))});const vt=At;At=null,pe.addEventListener("blur",gt=>{var Mt;if(!ht.focused||!gt.relatedTarget)return;ht.focused=!1;const{value:kt}=gt.target;ht.userValue=kt,ht.lastCommittedValue!==kt&&((Mt=this.linkService.eventBus)==null||Mt.dispatch("dispatcheventinsandbox",{source:this,detail:{id:te,name:"Keystroke",value:kt,willCommit:!0,commitKey:ht.commitKey,selStart:gt.target.selectionStart,selEnd:gt.target.selectionEnd}})),vt(gt)}),(we=this.data.actions)!=null&&we.Keystroke&&pe.addEventListener("beforeinput",gt=>{var mi;ht.lastCommittedValue=null;const{data:kt,target:Mt}=gt,{value:Ut,selectionStart:Kt,selectionEnd:An}=Mt;let _n=Kt,Bn=An;switch(gt.inputType){case"deleteWordBackward":{const Fr=Ut.substring(0,Kt).match(/\w*[^\w]*$/);Fr&&(_n-=Fr[0].length);break}case"deleteWordForward":{const Fr=Ut.substring(Kt).match(/^[^\w]*\w*/);Fr&&(Bn+=Fr[0].length);break}case"deleteContentBackward":Kt===An&&(_n-=1);break;case"deleteContentForward":Kt===An&&(Bn+=1);break}gt.preventDefault(),(mi=this.linkService.eventBus)==null||mi.dispatch("dispatcheventinsandbox",{source:this,detail:{id:te,name:"Keystroke",value:Ut,change:kt||"",willCommit:!1,selStart:_n,selEnd:Bn}})}),this._setEventListeners(pe,ht,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],gt=>gt.target.value)}if(At&&pe.addEventListener("blur",At),this.data.comb){const gt=(this.data.rect[2]-this.data.rect[0])/Be;pe.classList.add("comb"),pe.style.letterSpacing=`calc(${gt}px * var(--scale-factor) - 1ch)`}}else pe=document.createElement("div"),pe.textContent=this.data.fieldValue,pe.style.verticalAlign="middle",pe.style.display="table-cell";return this._setTextStyle(pe),this._setBackgroundColor(pe),this._setDefaultPropertiesFromJS(pe),this.container.append(pe),this.container}}class y extends b{constructor(_e){super(_e,{isRenderable:!!_e.data.hasOwnCanvas})}}class w extends b{constructor(_e){super(_e,{isRenderable:_e.renderForms})}render(){const _e=this.annotationStorage,te=this.data,pe=te.id;let Ee=_e.getValue(pe,{value:te.exportValue===te.fieldValue}).value;typeof Ee=="string"&&(Ee=Ee!=="Off",_e.setValue(pe,{value:Ee})),this.container.classList.add("buttonWidgetAnnotation","checkBox");const we=document.createElement("input");return _.add(we),we.setAttribute("data-element-id",pe),we.disabled=te.readOnly,this._setRequired(we,this.data.required),we.type="checkbox",we.name=te.fieldName,Ee&&we.setAttribute("checked",!0),we.setAttribute("exportValue",te.exportValue),we.tabIndex=u,we.addEventListener("change",de=>{const{name:be,checked:Be}=de.target;for(const tt of this._getElementsByName(be,pe)){const ht=Be&&tt.exportValue===te.exportValue;tt.domElement&&(tt.domElement.checked=ht),_e.setValue(tt.id,{value:ht})}_e.setValue(pe,{value:Be})}),we.addEventListener("resetform",de=>{const be=te.defaultFieldValue||"Off";de.target.checked=be===te.exportValue}),this.enableScripting&&this.hasJSActions&&(we.addEventListener("updatefromsandbox",de=>{const be={value(Be){Be.target.checked=Be.detail.value!=="Off",_e.setValue(pe,{value:Be.target.checked})}};this._dispatchEventFromSandbox(be,de)}),this._setEventListeners(we,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],de=>de.target.checked)),this._setBackgroundColor(we),this._setDefaultPropertiesFromJS(we),this.container.append(we),this.container}}class C extends b{constructor(_e){super(_e,{isRenderable:_e.renderForms})}render(){this.container.classList.add("buttonWidgetAnnotation","radioButton");const _e=this.annotationStorage,te=this.data,pe=te.id;let Ee=_e.getValue(pe,{value:te.fieldValue===te.buttonValue}).value;typeof Ee=="string"&&(Ee=Ee!==te.buttonValue,_e.setValue(pe,{value:Ee}));const we=document.createElement("input");if(_.add(we),we.setAttribute("data-element-id",pe),we.disabled=te.readOnly,this._setRequired(we,this.data.required),we.type="radio",we.name=te.fieldName,Ee&&we.setAttribute("checked",!0),we.tabIndex=u,we.addEventListener("change",de=>{const{name:be,checked:Be}=de.target;for(const tt of this._getElementsByName(be,pe))_e.setValue(tt.id,{value:!1});_e.setValue(pe,{value:Be})}),we.addEventListener("resetform",de=>{const be=te.defaultFieldValue;de.target.checked=be!=null&&be===te.buttonValue}),this.enableScripting&&this.hasJSActions){const de=te.buttonValue;we.addEventListener("updatefromsandbox",be=>{const Be={value:tt=>{const ht=de===tt.detail.value;for(const At of this._getElementsByName(tt.target.name)){const vt=ht&&At.id===pe;At.domElement&&(At.domElement.checked=vt),_e.setValue(At.id,{value:vt})}}};this._dispatchEventFromSandbox(Be,be)}),this._setEventListeners(we,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],be=>be.target.checked)}return this._setBackgroundColor(we),this._setDefaultPropertiesFromJS(we),this.container.append(we),this.container}}class D extends g{constructor(_e){super(_e,{ignoreBorder:_e.data.hasAppearance})}render(){const _e=super.render();_e.classList.add("buttonWidgetAnnotation","pushButton"),this.data.alternativeText&&(_e.title=this.data.alternativeText);const te=_e.lastChild;return this.enableScripting&&this.hasJSActions&&te&&(this._setDefaultPropertiesFromJS(te),te.addEventListener("updatefromsandbox",pe=>{this._dispatchEventFromSandbox({},pe)})),_e}}class N extends b{constructor(_e){super(_e,{isRenderable:_e.renderForms})}render(){this.container.classList.add("choiceWidgetAnnotation");const _e=this.annotationStorage,te=this.data.id,pe=_e.getValue(te,{value:this.data.fieldValue}),Ee=document.createElement("select");_.add(Ee),Ee.setAttribute("data-element-id",te),Ee.disabled=this.data.readOnly,this._setRequired(Ee,this.data.required),Ee.name=this.data.fieldName,Ee.tabIndex=u;let we=this.data.combo&&this.data.options.length>0;this.data.combo||(Ee.size=this.data.options.length,this.data.multiSelect&&(Ee.multiple=!0)),Ee.addEventListener("resetform",ht=>{const At=this.data.defaultFieldValue;for(const vt of Ee.options)vt.selected=vt.value===At});for(const ht of this.data.options){const At=document.createElement("option");At.textContent=ht.displayValue,At.value=ht.exportValue,pe.value.includes(ht.exportValue)&&(At.setAttribute("selected",!0),we=!1),Ee.append(At)}let de=null;if(we){const ht=document.createElement("option");ht.value=" ",ht.setAttribute("hidden",!0),ht.setAttribute("selected",!0),Ee.prepend(ht),de=()=>{ht.remove(),Ee.removeEventListener("input",de),de=null},Ee.addEventListener("input",de)}const be=ht=>{const At=ht?"value":"textContent",{options:vt,multiple:gt}=Ee;return gt?Array.prototype.filter.call(vt,kt=>kt.selected).map(kt=>kt[At]):vt.selectedIndex===-1?null:vt[vt.selectedIndex][At]};let Be=be(!1);const tt=ht=>{const At=ht.target.options;return Array.prototype.map.call(At,vt=>({displayValue:vt.textContent,exportValue:vt.value}))};return this.enableScripting&&this.hasJSActions?(Ee.addEventListener("updatefromsandbox",ht=>{const At={value(vt){de==null||de();const gt=vt.detail.value,kt=new Set(Array.isArray(gt)?gt:[gt]);for(const Mt of Ee.options)Mt.selected=kt.has(Mt.value);_e.setValue(te,{value:be(!0)}),Be=be(!1)},multipleSelection(vt){Ee.multiple=!0},remove(vt){const gt=Ee.options,kt=vt.detail.remove;gt[kt].selected=!1,Ee.remove(kt),gt.length>0&&Array.prototype.findIndex.call(gt,Ut=>Ut.selected)===-1&&(gt[0].selected=!0),_e.setValue(te,{value:be(!0),items:tt(vt)}),Be=be(!1)},clear(vt){for(;Ee.length!==0;)Ee.remove(0);_e.setValue(te,{value:null,items:[]}),Be=be(!1)},insert(vt){const{index:gt,displayValue:kt,exportValue:Mt}=vt.detail.insert,Ut=Ee.children[gt],Kt=document.createElement("option");Kt.textContent=kt,Kt.value=Mt,Ut?Ut.before(Kt):Ee.append(Kt),_e.setValue(te,{value:be(!0),items:tt(vt)}),Be=be(!1)},items(vt){const{items:gt}=vt.detail;for(;Ee.length!==0;)Ee.remove(0);for(const kt of gt){const{displayValue:Mt,exportValue:Ut}=kt,Kt=document.createElement("option");Kt.textContent=Mt,Kt.value=Ut,Ee.append(Kt)}Ee.options.length>0&&(Ee.options[0].selected=!0),_e.setValue(te,{value:be(!0),items:tt(vt)}),Be=be(!1)},indices(vt){const gt=new Set(vt.detail.indices);for(const kt of vt.target.options)kt.selected=gt.has(kt.index);_e.setValue(te,{value:be(!0)}),Be=be(!1)},editable(vt){vt.target.disabled=!vt.detail.editable}};this._dispatchEventFromSandbox(At,ht)}),Ee.addEventListener("input",ht=>{var vt;const At=be(!0);_e.setValue(te,{value:At}),ht.preventDefault(),(vt=this.linkService.eventBus)==null||vt.dispatch("dispatcheventinsandbox",{source:this,detail:{id:te,name:"Keystroke",value:Be,changeEx:At,willCommit:!1,commitKey:1,keyDown:!1}})}),this._setEventListeners(Ee,null,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"],["input","Action"],["input","Validate"]],ht=>ht.target.value)):Ee.addEventListener("input",function(ht){_e.setValue(te,{value:be(!0)})}),this.data.combo&&this._setTextStyle(Ee),this._setBackgroundColor(Ee),this._setDefaultPropertiesFromJS(Ee),this.container.append(Ee),this.container}}class P extends S{constructor(_e){const{data:te,elements:pe}=_e;super(_e,{isRenderable:S._hasPopupData(te)}),this.elements=pe}render(){this.container.classList.add("popupAnnotation");const _e=new k({container:this.container,color:this.data.color,titleObj:this.data.titleObj,modificationDate:this.data.modificationDate,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}),te=[];for(const pe of this.elements)pe.popup=_e,te.push(pe.data.id),pe.addHighlightArea();return this.container.setAttribute("aria-controls",te.map(pe=>`${t.AnnotationPrefix}${pe}`).join(",")),this.container}}class k{constructor({container:_e,color:te,elements:pe,titleObj:Ee,modificationDate:we,contentsObj:de,richText:be,parent:Be,rect:tt,parentRect:ht,open:At}){Ae(this,St);Ae(this,ot);Ae(this,rt);Ae(this,Ge);Ae(this,fe,null);Ae(this,ce,Ue(this,St,ly).bind(this));Ae(this,ge,Ue(this,Ge,qm).bind(this));Ae(this,Se,Ue(this,rt,Ym).bind(this));Ae(this,Te,Ue(this,ot,Wf).bind(this));Ae(this,Fe,null);Ae(this,Ne,null);Ae(this,Qe,null);Ae(this,st,null);Ae(this,Ze,null);Ae(this,yt,null);Ae(this,Ve,!1);Ae(this,Me,null);Ae(this,Le,null);Ae(this,Ke,null);Ae(this,ke,null);Ae(this,qe,!1);var gt;We(this,Ne,_e),We(this,ke,Ee),We(this,Qe,de),We(this,Ke,be),We(this,Ze,Be),We(this,Fe,te),We(this,Le,tt),We(this,yt,ht),We(this,st,pe);const vt=a.PDFDateString.toDateObject(we);vt&&We(this,fe,Be.l10n.get("annotation_date_string",{date:vt.toLocaleDateString(),time:vt.toLocaleTimeString()})),this.trigger=pe.flatMap(kt=>kt.getElementsToTriggerPopup());for(const kt of this.trigger)kt.addEventListener("click",Z(this,Te)),kt.addEventListener("mouseenter",Z(this,Se)),kt.addEventListener("mouseleave",Z(this,ge)),kt.classList.add("popupTriggerArea");for(const kt of pe)(gt=kt.container)==null||gt.addEventListener("keydown",Z(this,ce));Z(this,Ne).hidden=!0,At&&Ue(this,ot,Wf).call(this)}render(){if(Z(this,Me))return;const{page:{view:_e},viewport:{rawDims:{pageWidth:te,pageHeight:pe,pageX:Ee,pageY:we}}}=Z(this,Ze),de=We(this,Me,document.createElement("div"));if(de.className="popup",Z(this,Fe)){const _n=de.style.outlineColor=t.Util.makeHexColor(...Z(this,Fe));CSS.supports("background-color","color-mix(in srgb, red 30%, white)")?de.style.backgroundColor=`color-mix(in srgb, ${_n} 30%, white)`:de.style.backgroundColor=t.Util.makeHexColor(...Z(this,Fe).map(mi=>Math.floor(.7*(255-mi)+mi)))}const be=document.createElement("span");be.className="header";const Be=document.createElement("h1");if(be.append(Be),{dir:Be.dir,str:Be.textContent}=Z(this,ke),de.append(be),Z(this,fe)){const _n=document.createElement("span");_n.classList.add("popupDate"),Z(this,fe).then(Bn=>{_n.textContent=Bn}),be.append(_n)}const tt=Z(this,Qe),ht=Z(this,Ke);if(ht!=null&&ht.str&&(!(tt!=null&&tt.str)||tt.str===ht.str))f.XfaLayer.render({xfaHtml:ht.html,intent:"richText",div:de}),de.lastChild.classList.add("richText","popupContent");else{const _n=this._formatContents(tt);de.append(_n)}let At=!!Z(this,yt),vt=At?Z(this,yt):Z(this,Le);for(const _n of Z(this,st))if(!vt||t.Util.intersect(_n.data.rect,vt)!==null){vt=_n.data.rect,At=!0;break}const gt=t.Util.normalizeRect([vt[0],_e[3]-vt[1]+_e[1],vt[2],_e[3]-vt[3]+_e[1]]),Mt=At?vt[2]-vt[0]+5:0,Ut=gt[0]+Mt,Kt=gt[1],{style:An}=Z(this,Ne);An.left=`${100*(Ut-Ee)/te}%`,An.top=`${100*(Kt-we)/pe}%`,Z(this,Ne).append(de)}_formatContents({str:_e,dir:te}){const pe=document.createElement("p");pe.classList.add("popupContent"),pe.dir=te;const Ee=_e.split(/(?:\r\n?|\n)/);for(let we=0,de=Ee.length;we<de;++we){const be=Ee[we];pe.append(document.createTextNode(be)),we<de-1&&pe.append(document.createElement("br"))}return pe}forceHide(){We(this,qe,this.isVisible),Z(this,qe)&&(Z(this,Ne).hidden=!0)}maybeShow(){Z(this,qe)&&(We(this,qe,!1),Z(this,Ne).hidden=!1)}get isVisible(){return Z(this,Ne).hidden===!1}}fe=new WeakMap,ce=new WeakMap,ge=new WeakMap,Se=new WeakMap,Te=new WeakMap,Fe=new WeakMap,Ne=new WeakMap,Qe=new WeakMap,st=new WeakMap,Ze=new WeakMap,yt=new WeakMap,Ve=new WeakMap,Me=new WeakMap,Le=new WeakMap,Ke=new WeakMap,ke=new WeakMap,qe=new WeakMap,St=new WeakSet,ly=function(_e){_e.altKey||_e.shiftKey||_e.ctrlKey||_e.metaKey||(_e.key==="Enter"||_e.key==="Escape"&&Z(this,Ve))&&Ue(this,ot,Wf).call(this)},ot=new WeakSet,Wf=function(){We(this,Ve,!Z(this,Ve)),Z(this,Ve)?(Ue(this,rt,Ym).call(this),Z(this,Ne).addEventListener("click",Z(this,Te)),Z(this,Ne).addEventListener("keydown",Z(this,ce))):(Ue(this,Ge,qm).call(this),Z(this,Ne).removeEventListener("click",Z(this,Te)),Z(this,Ne).removeEventListener("keydown",Z(this,ce)))},rt=new WeakSet,Ym=function(){Z(this,Me)||this.render(),this.isVisible?Z(this,Ve)&&Z(this,Ne).classList.add("focused"):(Z(this,Ne).hidden=!1,Z(this,Ne).style.zIndex=parseInt(Z(this,Ne).style.zIndex)+1e3)},Ge=new WeakSet,qm=function(){Z(this,Ne).classList.remove("focused"),!(Z(this,Ve)||!this.isVisible)&&(Z(this,Ne).hidden=!0,Z(this,Ne).style.zIndex=parseInt(Z(this,Ne).style.zIndex)-1e3)};class F extends S{constructor(_e){super(_e,{isRenderable:!0,ignoreBorder:!0}),this.textContent=_e.data.textContent,this.textPosition=_e.data.textPosition,this.annotationEditorType=t.AnnotationEditorType.FREETEXT}render(){if(this.container.classList.add("freeTextAnnotation"),this.textContent){const _e=document.createElement("div");_e.classList.add("annotationTextContent"),_e.setAttribute("role","comment");for(const te of this.textContent){const pe=document.createElement("span");pe.textContent=te,_e.append(pe)}this.container.append(_e)}return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this._editOnDoubleClick(),this.container}}e.FreeTextAnnotationElement=F;class M extends S{constructor(te){super(te,{isRenderable:!0,ignoreBorder:!0});Ae(this,Re,null)}render(){this.container.classList.add("lineAnnotation");const te=this.data,{width:pe,height:Ee}=R(te.rect),we=this.svgFactory.create(pe,Ee,!0),de=We(this,Re,this.svgFactory.createElement("svg:line"));return de.setAttribute("x1",te.rect[2]-te.lineCoordinates[0]),de.setAttribute("y1",te.rect[3]-te.lineCoordinates[1]),de.setAttribute("x2",te.rect[2]-te.lineCoordinates[2]),de.setAttribute("y2",te.rect[3]-te.lineCoordinates[3]),de.setAttribute("stroke-width",te.borderStyle.width||1),de.setAttribute("stroke","transparent"),de.setAttribute("fill","transparent"),we.append(de),this.container.append(we),!te.popupRef&&this.hasPopupData&&this._createPopup(),this.container}getElementsToTriggerPopup(){return Z(this,Re)}addHighlightArea(){this.container.classList.add("highlightArea")}}Re=new WeakMap;class j extends S{constructor(te){super(te,{isRenderable:!0,ignoreBorder:!0});Ae(this,ye,null)}render(){this.container.classList.add("squareAnnotation");const te=this.data,{width:pe,height:Ee}=R(te.rect),we=this.svgFactory.create(pe,Ee,!0),de=te.borderStyle.width,be=We(this,ye,this.svgFactory.createElement("svg:rect"));return be.setAttribute("x",de/2),be.setAttribute("y",de/2),be.setAttribute("width",pe-de),be.setAttribute("height",Ee-de),be.setAttribute("stroke-width",de||1),be.setAttribute("stroke","transparent"),be.setAttribute("fill","transparent"),we.append(be),this.container.append(we),!te.popupRef&&this.hasPopupData&&this._createPopup(),this.container}getElementsToTriggerPopup(){return Z(this,ye)}addHighlightArea(){this.container.classList.add("highlightArea")}}ye=new WeakMap;class $ extends S{constructor(te){super(te,{isRenderable:!0,ignoreBorder:!0});Ae(this,Pe,null)}render(){this.container.classList.add("circleAnnotation");const te=this.data,{width:pe,height:Ee}=R(te.rect),we=this.svgFactory.create(pe,Ee,!0),de=te.borderStyle.width,be=We(this,Pe,this.svgFactory.createElement("svg:ellipse"));return be.setAttribute("cx",pe/2),be.setAttribute("cy",Ee/2),be.setAttribute("rx",pe/2-de/2),be.setAttribute("ry",Ee/2-de/2),be.setAttribute("stroke-width",de||1),be.setAttribute("stroke","transparent"),be.setAttribute("fill","transparent"),we.append(be),this.container.append(we),!te.popupRef&&this.hasPopupData&&this._createPopup(),this.container}getElementsToTriggerPopup(){return Z(this,Pe)}addHighlightArea(){this.container.classList.add("highlightArea")}}Pe=new WeakMap;class B extends S{constructor(te){super(te,{isRenderable:!0,ignoreBorder:!0});Ae(this,Xe,null);this.containerClassName="polylineAnnotation",this.svgElementName="svg:polyline"}render(){this.container.classList.add(this.containerClassName);const te=this.data,{width:pe,height:Ee}=R(te.rect),we=this.svgFactory.create(pe,Ee,!0);let de=[];for(const Be of te.vertices){const tt=Be.x-te.rect[0],ht=te.rect[3]-Be.y;de.push(tt+","+ht)}de=de.join(" ");const be=We(this,Xe,this.svgFactory.createElement(this.svgElementName));return be.setAttribute("points",de),be.setAttribute("stroke-width",te.borderStyle.width||1),be.setAttribute("stroke","transparent"),be.setAttribute("fill","transparent"),we.append(be),this.container.append(we),!te.popupRef&&this.hasPopupData&&this._createPopup(),this.container}getElementsToTriggerPopup(){return Z(this,Xe)}addHighlightArea(){this.container.classList.add("highlightArea")}}Xe=new WeakMap;class X extends B{constructor(_e){super(_e),this.containerClassName="polygonAnnotation",this.svgElementName="svg:polygon"}}class re extends S{constructor(_e){super(_e,{isRenderable:!0,ignoreBorder:!0})}render(){return this.container.classList.add("caretAnnotation"),!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container}}class ae extends S{constructor(te){super(te,{isRenderable:!0,ignoreBorder:!0});Ae(this,Ft,[]);this.containerClassName="inkAnnotation",this.svgElementName="svg:polyline",this.annotationEditorType=t.AnnotationEditorType.INK}render(){this.container.classList.add(this.containerClassName);const te=this.data,{width:pe,height:Ee}=R(te.rect),we=this.svgFactory.create(pe,Ee,!0);for(const de of te.inkLists){let be=[];for(const tt of de){const ht=tt.x-te.rect[0],At=te.rect[3]-tt.y;be.push(`${ht},${At}`)}be=be.join(" ");const Be=this.svgFactory.createElement(this.svgElementName);Z(this,Ft).push(Be),Be.setAttribute("points",be),Be.setAttribute("stroke-width",te.borderStyle.width||1),Be.setAttribute("stroke","transparent"),Be.setAttribute("fill","transparent"),!te.popupRef&&this.hasPopupData&&this._createPopup(),we.append(Be)}return this.container.append(we),this.container}getElementsToTriggerPopup(){return Z(this,Ft)}addHighlightArea(){this.container.classList.add("highlightArea")}}Ft=new WeakMap,e.InkAnnotationElement=ae;class ee extends S{constructor(_e){super(_e,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.classList.add("highlightAnnotation"),this.container}}class K extends S{constructor(_e){super(_e,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.classList.add("underlineAnnotation"),this.container}}class ne extends S{constructor(_e){super(_e,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.classList.add("squigglyAnnotation"),this.container}}class ue extends S{constructor(_e){super(_e,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.classList.add("strikeoutAnnotation"),this.container}}class me extends S{constructor(_e){super(_e,{isRenderable:!0,ignoreBorder:!0})}render(){return this.container.classList.add("stampAnnotation"),!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container}}e.StampAnnotationElement=me;class J extends S{constructor(te){var we;super(te,{isRenderable:!0});Ae(this,Ie);Ae(this,Pt,null);const{filename:pe,content:Ee}=this.data.file;this.filename=(0,a.getFilenameFromUrl)(pe,!0),this.content=Ee,(we=this.linkService.eventBus)==null||we.dispatch("fileattachmentannotation",{source:this,filename:pe,content:Ee})}render(){this.container.classList.add("fileAttachmentAnnotation");const{container:te,data:pe}=this;let Ee;pe.hasAppearance||pe.fillAlpha===0?Ee=document.createElement("div"):(Ee=document.createElement("img"),Ee.src=`${this.imageResourcesPath}annotation-${/paperclip/i.test(pe.name)?"paperclip":"pushpin"}.svg`,pe.fillAlpha&&pe.fillAlpha<1&&(Ee.style=`filter: opacity(${Math.round(pe.fillAlpha*100)}%);`)),Ee.addEventListener("dblclick",Ue(this,Ie,Qm).bind(this)),We(this,Pt,Ee);const{isMac:we}=t.FeatureTest.platform;return te.addEventListener("keydown",de=>{de.key==="Enter"&&(we?de.metaKey:de.ctrlKey)&&Ue(this,Ie,Qm).call(this)}),!pe.popupRef&&this.hasPopupData?this._createPopup():Ee.classList.add("popupTriggerArea"),te.append(Ee),te}getElementsToTriggerPopup(){return Z(this,Pt)}addHighlightArea(){this.container.classList.add("highlightArea")}}Pt=new WeakMap,Ie=new WeakSet,Qm=function(){var te;(te=this.downloadManager)==null||te.openOrDownloadData(this.container,this.content,this.filename)};class H{constructor({div:_e,accessibilityManager:te,annotationCanvasMap:pe,l10n:Ee,page:we,viewport:de}){Ae(this,Nt);Ae(this,Oe);Ae(this,Ct,null);Ae(this,at,null);Ae(this,wt,new Map);this.div=_e,We(this,Ct,te),We(this,at,pe),this.l10n=Ee,this.page=we,this.viewport=de,this.zIndex=0,this.l10n||(this.l10n=h.NullL10n)}async render(_e){const{annotations:te}=_e,pe=this.div;(0,a.setLayerDimensions)(pe,this.viewport);const Ee=new Map,we={data:null,layer:pe,linkService:_e.linkService,downloadManager:_e.downloadManager,imageResourcesPath:_e.imageResourcesPath||"",renderForms:_e.renderForms!==!1,svgFactory:new a.DOMSVGFactory,annotationStorage:_e.annotationStorage||new o.AnnotationStorage,enableScripting:_e.enableScripting===!0,hasJSActions:_e.hasJSActions,fieldObjects:_e.fieldObjects,parent:this,elements:null};for(const de of te){if(de.noHTML)continue;const be=de.annotationType===t.AnnotationType.POPUP;if(be){const ht=Ee.get(de.id);if(!ht)continue;we.elements=ht}else{const{width:ht,height:At}=R(de.rect);if(ht<=0||At<=0)continue}we.data=de;const Be=x.create(we);if(!Be.isRenderable)continue;if(!be&&de.popupRef){const ht=Ee.get(de.popupRef);ht?ht.push(Be):Ee.set(de.popupRef,[Be])}Be.annotationEditorType>0&&Z(this,wt).set(Be.data.id,Be);const tt=Be.render();de.hidden&&(tt.style.visibility="hidden"),Ue(this,Nt,uy).call(this,tt,de.id)}Ue(this,Oe,Jm).call(this),await this.l10n.translate(pe)}update({viewport:_e}){const te=this.div;this.viewport=_e,(0,a.setLayerDimensions)(te,{rotation:_e.rotation}),Ue(this,Oe,Jm).call(this),te.hidden=!1}getEditableAnnotations(){return Array.from(Z(this,wt).values())}getEditableAnnotation(_e){return Z(this,wt).get(_e)}}Ct=new WeakMap,at=new WeakMap,wt=new WeakMap,Nt=new WeakSet,uy=function(_e,te){var Ee;const pe=_e.firstChild||_e;pe.id=`${t.AnnotationPrefix}${te}`,this.div.append(_e),(Ee=Z(this,Ct))==null||Ee.moveElementInDOM(this.div,_e,pe,!1)},Oe=new WeakSet,Jm=function(){if(!Z(this,at))return;const _e=this.div;for(const[te,pe]of Z(this,at)){const Ee=_e.querySelector(`[data-annotation-id="${te}"]`);if(!Ee)continue;const{firstChild:we}=Ee;we?we.nodeName==="CANVAS"?we.replaceWith(pe):we.before(pe):Ee.append(pe)}Z(this,at).clear()},e.AnnotationLayer=H},(l,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ColorConverters=void 0;function n(o){return Math.floor(Math.max(0,Math.min(1,o))*255).toString(16).padStart(2,"0")}function t(o){return Math.max(0,Math.min(255,255*o))}class a{static CMYK_G([d,h,f,u]){return["G",1-Math.min(1,.3*d+.59*f+.11*h+u)]}static G_CMYK([d]){return["CMYK",0,0,0,1-d]}static G_RGB([d]){return["RGB",d,d,d]}static G_rgb([d]){return d=t(d),[d,d,d]}static G_HTML([d]){const h=n(d);return`#${h}${h}${h}`}static RGB_G([d,h,f]){return["G",.3*d+.59*h+.11*f]}static RGB_rgb(d){return d.map(t)}static RGB_HTML(d){return`#${d.map(n).join("")}`}static T_HTML(){return"#00000000"}static T_rgb(){return[null]}static CMYK_RGB([d,h,f,u]){return["RGB",1-Math.min(1,d+u),1-Math.min(1,f+u),1-Math.min(1,h+u)]}static CMYK_rgb([d,h,f,u]){return[t(1-Math.min(1,d+u)),t(1-Math.min(1,f+u)),t(1-Math.min(1,h+u))]}static CMYK_HTML(d){const h=this.CMYK_RGB(d).slice(1);return this.RGB_HTML(h)}static RGB_CMYK([d,h,f]){const u=1-d,p=1-h,_=1-f,R=Math.min(u,p,_);return["CMYK",u,p,_,R]}}e.ColorConverters=a},(l,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.NullL10n=void 0,e.getL10nFallback=t;const n={of_pages:"of {{pagesCount}}",page_of_pages:"({{pageNumber}} of {{pagesCount}})",document_properties_kb:"{{size_kb}} KB ({{size_b}} bytes)",document_properties_mb:"{{size_mb}} MB ({{size_b}} bytes)",document_properties_date_string:"{{date}}, {{time}}",document_properties_page_size_unit_inches:"in",document_properties_page_size_unit_millimeters:"mm",document_properties_page_size_orientation_portrait:"portrait",document_properties_page_size_orientation_landscape:"landscape",document_properties_page_size_name_a3:"A3",document_properties_page_size_name_a4:"A4",document_properties_page_size_name_letter:"Letter",document_properties_page_size_name_legal:"Legal",document_properties_page_size_dimension_string:"{{width}} × {{height}} {{unit}} ({{orientation}})",document_properties_page_size_dimension_name_string:"{{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})",document_properties_linearized_yes:"Yes",document_properties_linearized_no:"No",additional_layers:"Additional Layers",page_landmark:"Page {{page}}",thumb_page_title:"Page {{page}}",thumb_page_canvas:"Thumbnail of Page {{page}}",find_reached_top:"Reached top of document, continued from bottom",find_reached_bottom:"Reached end of document, continued from top","find_match_count[one]":"{{current}} of {{total}} match","find_match_count[other]":"{{current}} of {{total}} matches","find_match_count_limit[one]":"More than {{limit}} match","find_match_count_limit[other]":"More than {{limit}} matches",find_not_found:"Phrase not found",page_scale_width:"Page Width",page_scale_fit:"Page Fit",page_scale_auto:"Automatic Zoom",page_scale_actual:"Actual Size",page_scale_percent:"{{scale}}%",loading_error:"An error occurred while loading the PDF.",invalid_file_error:"Invalid or corrupted PDF file.",missing_file_error:"Missing PDF file.",unexpected_response_error:"Unexpected server response.",rendering_error:"An error occurred while rendering the page.",annotation_date_string:"{{date}}, {{time}}",printing_not_supported:"Warning: Printing is not fully supported by this browser.",printing_not_ready:"Warning: The PDF is not fully loaded for printing.",web_fonts_disabled:"Web fonts are disabled: unable to use embedded PDF fonts.",free_text2_default_content:"Start typing…",editor_free_text2_aria_label:"Text Editor",editor_ink2_aria_label:"Draw Editor",editor_ink_canvas_aria_label:"User-created image",editor_alt_text_button_label:"Alt text",editor_alt_text_edit_button_label:"Edit alt text",editor_alt_text_decorative_tooltip:"Marked as decorative"};n.print_progress_percent="{{progress}}%";function t(d,h){switch(d){case"find_match_count":d=`find_match_count[${h.total===1?"one":"other"}]`;break;case"find_match_count_limit":d=`find_match_count_limit[${h.limit===1?"one":"other"}]`;break}return n[d]||""}function a(d,h){return h?d.replaceAll(/\{\{\s*(\w+)\s*\}\}/g,(f,u)=>u in h?h[u]:"{{"+u+"}}"):d}const o={async getLanguage(){return"en-us"},async getDirection(){return"ltr"},async get(d,h=null,f=t(d,h)){return a(f,h)},async translate(d){}};e.NullL10n=o},(l,e,n)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.XfaLayer=void 0;var t=n(25);class a{static setupStorage(d,h,f,u,p){const _=u.getValue(h,{value:null});switch(f.name){case"textarea":if(_.value!==null&&(d.textContent=_.value),p==="print")break;d.addEventListener("input",R=>{u.setValue(h,{value:R.target.value})});break;case"input":if(f.attributes.type==="radio"||f.attributes.type==="checkbox"){if(_.value===f.attributes.xfaOn?d.setAttribute("checked",!0):_.value===f.attributes.xfaOff&&d.removeAttribute("checked"),p==="print")break;d.addEventListener("change",R=>{u.setValue(h,{value:R.target.checked?R.target.getAttribute("xfaOn"):R.target.getAttribute("xfaOff")})})}else{if(_.value!==null&&d.setAttribute("value",_.value),p==="print")break;d.addEventListener("input",R=>{u.setValue(h,{value:R.target.value})})}break;case"select":if(_.value!==null){d.setAttribute("value",_.value);for(const R of f.children)R.attributes.value===_.value?R.attributes.selected=!0:R.attributes.hasOwnProperty("selected")&&delete R.attributes.selected}d.addEventListener("input",R=>{const x=R.target.options,S=x.selectedIndex===-1?"":x[x.selectedIndex].value;u.setValue(h,{value:S})});break}}static setAttributes({html:d,element:h,storage:f=null,intent:u,linkService:p}){const{attributes:_}=h,R=d instanceof HTMLAnchorElement;_.type==="radio"&&(_.name=`${_.name}-${u}`);for(const[x,S]of Object.entries(_))if(S!=null)switch(x){case"class":S.length&&d.setAttribute(x,S.join(" "));break;case"dataId":break;case"id":d.setAttribute("data-element-id",S);break;case"style":Object.assign(d.style,S);break;case"textContent":d.textContent=S;break;default:(!R||x!=="href"&&x!=="newWindow")&&d.setAttribute(x,S)}R&&p.addLinkAttributes(d,_.href,_.newWindow),f&&_.dataId&&this.setupStorage(d,_.dataId,h,f)}static render(d){var g;const h=d.annotationStorage,f=d.linkService,u=d.xfaHtml,p=d.intent||"display",_=document.createElement(u.name);u.attributes&&this.setAttributes({html:_,element:u,intent:p,linkService:f});const R=[[u,-1,_]],x=d.div;if(x.append(_),d.viewport){const v=`matrix(${d.viewport.transform.join(",")})`;x.style.transform=v}p!=="richText"&&x.setAttribute("class","xfaLayer xfaFont");const S=[];for(;R.length>0;){const[v,b,T]=R.at(-1);if(b+1===v.children.length){R.pop();continue}const y=v.children[++R.at(-1)[1]];if(y===null)continue;const{name:w}=y;if(w==="#text"){const D=document.createTextNode(y.value);S.push(D),T.append(D);continue}const C=(g=y==null?void 0:y.attributes)!=null&&g.xmlns?document.createElementNS(y.attributes.xmlns,w):document.createElement(w);if(T.append(C),y.attributes&&this.setAttributes({html:C,element:y,storage:h,intent:p,linkService:f}),y.children&&y.children.length>0)R.push([y,-1,C]);else if(y.value){const D=document.createTextNode(y.value);t.XfaText.shouldBuildText(w)&&S.push(D),C.append(D)}}for(const v of x.querySelectorAll(".xfaNonInteractive input, .xfaNonInteractive textarea"))v.setAttribute("readOnly",!0);return{textDivs:S}}static update(d){const h=`matrix(${d.viewport.transform.join(",")})`;d.div.style.transform=h,d.div.hidden=!1}}e.XfaLayer=a},(l,e,n)=>{var u,p,_,R,x,S,g,v,b,T,y,w,C,D,N,cy,k,dy,M,fy,$,hy,X,Zm,ae,py,K,eg,ue,my,J,gy,W,vy,z,yy,ie,_y,fe,xs,ge,tg,Te,Kf,Ne,Xf,st,ru,yt,ng,Me,Yf,Ke,xy,qe,rg,Ye,Ey,$e,Sy,ft,ig,De,qf,ye,iu;Object.defineProperty(e,"__esModule",{value:!0}),e.InkEditor=void 0;var t=n(1),a=n(4),o=n(29),d=n(6),h=n(5);const Xe=class Xe extends a.AnnotationEditor{constructor(Ie){super({...Ie,name:"inkEditor"});Ae(this,N);Ae(this,k);Ae(this,M);Ae(this,$);Ae(this,X);Ae(this,ae);Ae(this,K);Ae(this,ue);Ae(this,J);Ae(this,W);Ae(this,z);Ae(this,ie);Ae(this,fe);Ae(this,ge);Ae(this,Te);Ae(this,Ne);Ae(this,st);Ae(this,yt);Ae(this,Me);Ae(this,$e);Ae(this,ft);Ae(this,De);Ae(this,ye);Ae(this,u,0);Ae(this,p,0);Ae(this,_,this.canvasPointermove.bind(this));Ae(this,R,this.canvasPointerleave.bind(this));Ae(this,x,this.canvasPointerup.bind(this));Ae(this,S,this.canvasPointerdown.bind(this));Ae(this,g,new Path2D);Ae(this,v,!1);Ae(this,b,!1);Ae(this,T,!1);Ae(this,y,null);Ae(this,w,0);Ae(this,C,0);Ae(this,D,null);this.color=Ie.color||null,this.thickness=Ie.thickness||null,this.opacity=Ie.opacity||null,this.paths=[],this.bezierPath2D=[],this.allRawPaths=[],this.currentPath=[],this.scaleFactor=1,this.translationX=this.translationY=0,this.x=0,this.y=0,this._willKeepAspectRatio=!0}static initialize(Ie){a.AnnotationEditor.initialize(Ie,{strings:["editor_ink_canvas_aria_label","editor_ink2_aria_label"]})}static updateDefaultParams(Ie,mt){switch(Ie){case t.AnnotationEditorParamsType.INK_THICKNESS:Xe._defaultThickness=mt;break;case t.AnnotationEditorParamsType.INK_COLOR:Xe._defaultColor=mt;break;case t.AnnotationEditorParamsType.INK_OPACITY:Xe._defaultOpacity=mt/100;break}}updateParams(Ie,mt){switch(Ie){case t.AnnotationEditorParamsType.INK_THICKNESS:Ue(this,N,cy).call(this,mt);break;case t.AnnotationEditorParamsType.INK_COLOR:Ue(this,k,dy).call(this,mt);break;case t.AnnotationEditorParamsType.INK_OPACITY:Ue(this,M,fy).call(this,mt);break}}static get defaultPropertiesToUpdate(){return[[t.AnnotationEditorParamsType.INK_THICKNESS,Xe._defaultThickness],[t.AnnotationEditorParamsType.INK_COLOR,Xe._defaultColor||a.AnnotationEditor._defaultLineColor],[t.AnnotationEditorParamsType.INK_OPACITY,Math.round(Xe._defaultOpacity*100)]]}get propertiesToUpdate(){return[[t.AnnotationEditorParamsType.INK_THICKNESS,this.thickness||Xe._defaultThickness],[t.AnnotationEditorParamsType.INK_COLOR,this.color||Xe._defaultColor||a.AnnotationEditor._defaultLineColor],[t.AnnotationEditorParamsType.INK_OPACITY,Math.round(100*(this.opacity??Xe._defaultOpacity))]]}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(this.canvas||(Ue(this,Te,Kf).call(this),Ue(this,Ne,Xf).call(this)),this.isAttachedToDOM||(this.parent.add(this),Ue(this,st,ru).call(this)),Ue(this,ye,iu).call(this)))}remove(){this.canvas!==null&&(this.isEmpty()||this.commit(),this.canvas.width=this.canvas.height=0,this.canvas.remove(),this.canvas=null,Z(this,y).disconnect(),We(this,y,null),super.remove())}setParent(Ie){!this.parent&&Ie?this._uiManager.removeShouldRescale(this):this.parent&&Ie===null&&this._uiManager.addShouldRescale(this),super.setParent(Ie)}onScaleChanging(){const[Ie,mt]=this.parentDimensions,Ct=this.width*Ie,at=this.height*mt;this.setDimensions(Ct,at)}enableEditMode(){Z(this,v)||this.canvas===null||(super.enableEditMode(),this._isDraggable=!1,this.canvas.addEventListener("pointerdown",Z(this,S)))}disableEditMode(){!this.isInEditMode()||this.canvas===null||(super.disableEditMode(),this._isDraggable=!this.isEmpty(),this.div.classList.remove("editing"),this.canvas.removeEventListener("pointerdown",Z(this,S)))}onceAdded(){this._isDraggable=!this.isEmpty()}isEmpty(){return this.paths.length===0||this.paths.length===1&&this.paths[0].length===0}commit(){Z(this,v)||(super.commit(),this.isEditing=!1,this.disableEditMode(),this.setInForeground(),We(this,v,!0),this.div.classList.add("disabled"),Ue(this,ye,iu).call(this,!0),this.makeResizable(),this.parent.addInkEditorIfNeeded(!0),this.moveInDOM(),this.div.focus({preventScroll:!0}))}focusin(Ie){this._focusEventsAllowed&&(super.focusin(Ie),this.enableEditMode())}canvasPointerdown(Ie){Ie.button!==0||!this.isInEditMode()||Z(this,v)||(this.setInForeground(),Ie.preventDefault(),Ie.type!=="mouse"&&this.div.focus(),Ue(this,ae,py).call(this,Ie.offsetX,Ie.offsetY))}canvasPointermove(Ie){Ie.preventDefault(),Ue(this,K,eg).call(this,Ie.offsetX,Ie.offsetY)}canvasPointerup(Ie){Ie.preventDefault(),Ue(this,ge,tg).call(this,Ie)}canvasPointerleave(Ie){Ue(this,ge,tg).call(this,Ie)}get isResizable(){return!this.isEmpty()&&Z(this,v)}render(){if(this.div)return this.div;let Ie,mt;this.width&&(Ie=this.x,mt=this.y),super.render(),a.AnnotationEditor._l10nPromise.get("editor_ink2_aria_label").then(qt=>{var Oe;return(Oe=this.div)==null?void 0:Oe.setAttribute("aria-label",qt)});const[Ct,at,wt,Nt]=Ue(this,$,hy).call(this);if(this.setAt(Ct,at,0,0),this.setDims(wt,Nt),Ue(this,Te,Kf).call(this),this.width){const[qt,Oe]=this.parentDimensions;this.setAspectRatio(this.width*qt,this.height*Oe),this.setAt(Ie*qt,mt*Oe,this.width*qt,this.height*Oe),We(this,T,!0),Ue(this,st,ru).call(this),this.setDims(this.width*qt,this.height*Oe),Ue(this,fe,xs).call(this),this.div.classList.add("disabled")}else this.div.classList.add("editing"),this.enableEditMode();return Ue(this,Ne,Xf).call(this),this.div}setDimensions(Ie,mt){const Ct=Math.round(Ie),at=Math.round(mt);if(Z(this,w)===Ct&&Z(this,C)===at)return;We(this,w,Ct),We(this,C,at),this.canvas.style.visibility="hidden";const[wt,Nt]=this.parentDimensions;this.width=Ie/wt,this.height=mt/Nt,this.fixAndSetPosition(),Z(this,v)&&Ue(this,yt,ng).call(this,Ie,mt),Ue(this,st,ru).call(this),Ue(this,fe,xs).call(this),this.canvas.style.visibility="visible",this.fixDims()}static deserialize(Ie,mt,Ct){var we,de,be;if(Ie instanceof o.InkAnnotationElement)return null;const at=super.deserialize(Ie,mt,Ct);at.thickness=Ie.thickness,at.color=t.Util.makeHexColor(...Ie.color),at.opacity=Ie.opacity;const[wt,Nt]=at.pageDimensions,qt=at.width*wt,Oe=at.height*Nt,pt=at.parentScale,ut=Ie.thickness/2;We(at,v,!0),We(at,w,Math.round(qt)),We(at,C,Math.round(Oe));const{paths:_e,rect:te,rotation:pe}=Ie;for(let{bezier:Be}of _e){Be=Ue(we=Xe,Ye,Ey).call(we,Be,te,pe);const tt=[];at.paths.push(tt);let ht=pt*(Be[0]-ut),At=pt*(Be[1]-ut);for(let gt=2,kt=Be.length;gt<kt;gt+=6){const Mt=pt*(Be[gt]-ut),Ut=pt*(Be[gt+1]-ut),Kt=pt*(Be[gt+2]-ut),An=pt*(Be[gt+3]-ut),_n=pt*(Be[gt+4]-ut),Bn=pt*(Be[gt+5]-ut);tt.push([[ht,At],[Mt,Ut],[Kt,An],[_n,Bn]]),ht=_n,At=Bn}const vt=Ue(this,Ke,xy).call(this,tt);at.bezierPath2D.push(vt)}const Ee=Ue(de=at,ft,ig).call(de);return We(at,p,Math.max(a.AnnotationEditor.MIN_SIZE,Ee[2]-Ee[0])),We(at,u,Math.max(a.AnnotationEditor.MIN_SIZE,Ee[3]-Ee[1])),Ue(be=at,yt,ng).call(be,qt,Oe),at}serialize(){if(this.isEmpty())return null;const Ie=this.getRect(0,0),mt=a.AnnotationEditor._colorManager.convert(this.ctx.strokeStyle);return{annotationType:t.AnnotationEditorType.INK,color:mt,thickness:this.thickness,opacity:this.opacity,paths:Ue(this,$e,Sy).call(this,this.scaleFactor/this.parentScale,this.translationX,this.translationY,Ie),pageIndex:this.pageIndex,rect:Ie,rotation:this.rotation,structTreeParentId:this._structTreeParentId}}};u=new WeakMap,p=new WeakMap,_=new WeakMap,R=new WeakMap,x=new WeakMap,S=new WeakMap,g=new WeakMap,v=new WeakMap,b=new WeakMap,T=new WeakMap,y=new WeakMap,w=new WeakMap,C=new WeakMap,D=new WeakMap,N=new WeakSet,cy=function(Ie){const mt=this.thickness;this.addCommands({cmd:()=>{this.thickness=Ie,Ue(this,ye,iu).call(this)},undo:()=>{this.thickness=mt,Ue(this,ye,iu).call(this)},mustExec:!0,type:t.AnnotationEditorParamsType.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0})},k=new WeakSet,dy=function(Ie){const mt=this.color;this.addCommands({cmd:()=>{this.color=Ie,Ue(this,fe,xs).call(this)},undo:()=>{this.color=mt,Ue(this,fe,xs).call(this)},mustExec:!0,type:t.AnnotationEditorParamsType.INK_COLOR,overwriteIfSameType:!0,keepUndo:!0})},M=new WeakSet,fy=function(Ie){Ie/=100;const mt=this.opacity;this.addCommands({cmd:()=>{this.opacity=Ie,Ue(this,fe,xs).call(this)},undo:()=>{this.opacity=mt,Ue(this,fe,xs).call(this)},mustExec:!0,type:t.AnnotationEditorParamsType.INK_OPACITY,overwriteIfSameType:!0,keepUndo:!0})},$=new WeakSet,hy=function(){const{parentRotation:Ie,parentDimensions:[mt,Ct]}=this;switch(Ie){case 90:return[0,Ct,Ct,mt];case 180:return[mt,Ct,mt,Ct];case 270:return[mt,0,Ct,mt];default:return[0,0,mt,Ct]}},X=new WeakSet,Zm=function(){const{ctx:Ie,color:mt,opacity:Ct,thickness:at,parentScale:wt,scaleFactor:Nt}=this;Ie.lineWidth=at*wt/Nt,Ie.lineCap="round",Ie.lineJoin="round",Ie.miterLimit=10,Ie.strokeStyle=`${mt}${(0,h.opacityToHex)(Ct)}`},ae=new WeakSet,py=function(Ie,mt){this.canvas.addEventListener("contextmenu",d.noContextMenu),this.canvas.addEventListener("pointerleave",Z(this,R)),this.canvas.addEventListener("pointermove",Z(this,_)),this.canvas.addEventListener("pointerup",Z(this,x)),this.canvas.removeEventListener("pointerdown",Z(this,S)),this.isEditing=!0,Z(this,T)||(We(this,T,!0),Ue(this,st,ru).call(this),this.thickness||(this.thickness=Xe._defaultThickness),this.color||(this.color=Xe._defaultColor||a.AnnotationEditor._defaultLineColor),this.opacity??(this.opacity=Xe._defaultOpacity)),this.currentPath.push([Ie,mt]),We(this,b,!1),Ue(this,X,Zm).call(this),We(this,D,()=>{Ue(this,W,vy).call(this),Z(this,D)&&window.requestAnimationFrame(Z(this,D))}),window.requestAnimationFrame(Z(this,D))},K=new WeakSet,eg=function(Ie,mt){const[Ct,at]=this.currentPath.at(-1);if(this.currentPath.length>1&&Ie===Ct&&mt===at)return;const wt=this.currentPath;let Nt=Z(this,g);if(wt.push([Ie,mt]),We(this,b,!0),wt.length<=2){Nt.moveTo(...wt[0]),Nt.lineTo(Ie,mt);return}wt.length===3&&(We(this,g,Nt=new Path2D),Nt.moveTo(...wt[0])),Ue(this,z,yy).call(this,Nt,...wt.at(-3),...wt.at(-2),Ie,mt)},ue=new WeakSet,my=function(){if(this.currentPath.length===0)return;const Ie=this.currentPath.at(-1);Z(this,g).lineTo(...Ie)},J=new WeakSet,gy=function(Ie,mt){We(this,D,null),Ie=Math.min(Math.max(Ie,0),this.canvas.width),mt=Math.min(Math.max(mt,0),this.canvas.height),Ue(this,K,eg).call(this,Ie,mt),Ue(this,ue,my).call(this);let Ct;if(this.currentPath.length!==1)Ct=Ue(this,ie,_y).call(this);else{const Oe=[Ie,mt];Ct=[[Oe,Oe.slice(),Oe.slice(),Oe]]}const at=Z(this,g),wt=this.currentPath;this.currentPath=[],We(this,g,new Path2D);const Nt=()=>{this.allRawPaths.push(wt),this.paths.push(Ct),this.bezierPath2D.push(at),this.rebuild()},qt=()=>{this.allRawPaths.pop(),this.paths.pop(),this.bezierPath2D.pop(),this.paths.length===0?this.remove():(this.canvas||(Ue(this,Te,Kf).call(this),Ue(this,Ne,Xf).call(this)),Ue(this,ye,iu).call(this))};this.addCommands({cmd:Nt,undo:qt,mustExec:!0})},W=new WeakSet,vy=function(){if(!Z(this,b))return;We(this,b,!1);const Ie=Math.ceil(this.thickness*this.parentScale),mt=this.currentPath.slice(-3),Ct=mt.map(Nt=>Nt[0]),at=mt.map(Nt=>Nt[1]);Math.min(...Ct)-Ie,Math.max(...Ct)+Ie,Math.min(...at)-Ie,Math.max(...at)+Ie;const{ctx:wt}=this;wt.save(),wt.clearRect(0,0,this.canvas.width,this.canvas.height);for(const Nt of this.bezierPath2D)wt.stroke(Nt);wt.stroke(Z(this,g)),wt.restore()},z=new WeakSet,yy=function(Ie,mt,Ct,at,wt,Nt,qt){const Oe=(mt+at)/2,pt=(Ct+wt)/2,ut=(at+Nt)/2,_e=(wt+qt)/2;Ie.bezierCurveTo(Oe+2*(at-Oe)/3,pt+2*(wt-pt)/3,ut+2*(at-ut)/3,_e+2*(wt-_e)/3,ut,_e)},ie=new WeakSet,_y=function(){const Ie=this.currentPath;if(Ie.length<=2)return[[Ie[0],Ie[0],Ie.at(-1),Ie.at(-1)]];const mt=[];let Ct,[at,wt]=Ie[0];for(Ct=1;Ct<Ie.length-2;Ct++){const[te,pe]=Ie[Ct],[Ee,we]=Ie[Ct+1],de=(te+Ee)/2,be=(pe+we)/2,Be=[at+2*(te-at)/3,wt+2*(pe-wt)/3],tt=[de+2*(te-de)/3,be+2*(pe-be)/3];mt.push([[at,wt],Be,tt,[de,be]]),[at,wt]=[de,be]}const[Nt,qt]=Ie[Ct],[Oe,pt]=Ie[Ct+1],ut=[at+2*(Nt-at)/3,wt+2*(qt-wt)/3],_e=[Oe+2*(Nt-Oe)/3,pt+2*(qt-pt)/3];return mt.push([[at,wt],ut,_e,[Oe,pt]]),mt},fe=new WeakSet,xs=function(){if(this.isEmpty()){Ue(this,Me,Yf).call(this);return}Ue(this,X,Zm).call(this);const{canvas:Ie,ctx:mt}=this;mt.setTransform(1,0,0,1,0,0),mt.clearRect(0,0,Ie.width,Ie.height),Ue(this,Me,Yf).call(this);for(const Ct of this.bezierPath2D)mt.stroke(Ct)},ge=new WeakSet,tg=function(Ie){this.canvas.removeEventListener("pointerleave",Z(this,R)),this.canvas.removeEventListener("pointermove",Z(this,_)),this.canvas.removeEventListener("pointerup",Z(this,x)),this.canvas.addEventListener("pointerdown",Z(this,S)),setTimeout(()=>{this.canvas.removeEventListener("contextmenu",d.noContextMenu)},10),Ue(this,J,gy).call(this,Ie.offsetX,Ie.offsetY),this.addToAnnotationStorage(),this.setInBackground()},Te=new WeakSet,Kf=function(){this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=0,this.canvas.className="inkEditorCanvas",a.AnnotationEditor._l10nPromise.get("editor_ink_canvas_aria_label").then(Ie=>{var mt;return(mt=this.canvas)==null?void 0:mt.setAttribute("aria-label",Ie)}),this.div.append(this.canvas),this.ctx=this.canvas.getContext("2d")},Ne=new WeakSet,Xf=function(){We(this,y,new ResizeObserver(Ie=>{const mt=Ie[0].contentRect;mt.width&&mt.height&&this.setDimensions(mt.width,mt.height)})),Z(this,y).observe(this.div)},st=new WeakSet,ru=function(){if(!Z(this,T))return;const[Ie,mt]=this.parentDimensions;this.canvas.width=Math.ceil(this.width*Ie),this.canvas.height=Math.ceil(this.height*mt),Ue(this,Me,Yf).call(this)},yt=new WeakSet,ng=function(Ie,mt){const Ct=Ue(this,De,qf).call(this),at=(Ie-Ct)/Z(this,p),wt=(mt-Ct)/Z(this,u);this.scaleFactor=Math.min(at,wt)},Me=new WeakSet,Yf=function(){const Ie=Ue(this,De,qf).call(this)/2;this.ctx.setTransform(this.scaleFactor,0,0,this.scaleFactor,this.translationX*this.scaleFactor+Ie,this.translationY*this.scaleFactor+Ie)},Ke=new WeakSet,xy=function(Ie){const mt=new Path2D;for(let Ct=0,at=Ie.length;Ct<at;Ct++){const[wt,Nt,qt,Oe]=Ie[Ct];Ct===0&&mt.moveTo(...wt),mt.bezierCurveTo(Nt[0],Nt[1],qt[0],qt[1],Oe[0],Oe[1])}return mt},qe=new WeakSet,rg=function(Ie,mt,Ct){const[at,wt,Nt,qt]=mt;switch(Ct){case 0:for(let Oe=0,pt=Ie.length;Oe<pt;Oe+=2)Ie[Oe]+=at,Ie[Oe+1]=qt-Ie[Oe+1];break;case 90:for(let Oe=0,pt=Ie.length;Oe<pt;Oe+=2){const ut=Ie[Oe];Ie[Oe]=Ie[Oe+1]+at,Ie[Oe+1]=ut+wt}break;case 180:for(let Oe=0,pt=Ie.length;Oe<pt;Oe+=2)Ie[Oe]=Nt-Ie[Oe],Ie[Oe+1]+=wt;break;case 270:for(let Oe=0,pt=Ie.length;Oe<pt;Oe+=2){const ut=Ie[Oe];Ie[Oe]=Nt-Ie[Oe+1],Ie[Oe+1]=qt-ut}break;default:throw new Error("Invalid rotation")}return Ie},Ye=new WeakSet,Ey=function(Ie,mt,Ct){const[at,wt,Nt,qt]=mt;switch(Ct){case 0:for(let Oe=0,pt=Ie.length;Oe<pt;Oe+=2)Ie[Oe]-=at,Ie[Oe+1]=qt-Ie[Oe+1];break;case 90:for(let Oe=0,pt=Ie.length;Oe<pt;Oe+=2){const ut=Ie[Oe];Ie[Oe]=Ie[Oe+1]-wt,Ie[Oe+1]=ut-at}break;case 180:for(let Oe=0,pt=Ie.length;Oe<pt;Oe+=2)Ie[Oe]=Nt-Ie[Oe],Ie[Oe+1]-=wt;break;case 270:for(let Oe=0,pt=Ie.length;Oe<pt;Oe+=2){const ut=Ie[Oe];Ie[Oe]=qt-Ie[Oe+1],Ie[Oe+1]=Nt-ut}break;default:throw new Error("Invalid rotation")}return Ie},$e=new WeakSet,Sy=function(Ie,mt,Ct,at){var pt,ut;const wt=[],Nt=this.thickness/2,qt=Ie*mt+Nt,Oe=Ie*Ct+Nt;for(const _e of this.paths){const te=[],pe=[];for(let Ee=0,we=_e.length;Ee<we;Ee++){const[de,be,Be,tt]=_e[Ee],ht=Ie*de[0]+qt,At=Ie*de[1]+Oe,vt=Ie*be[0]+qt,gt=Ie*be[1]+Oe,kt=Ie*Be[0]+qt,Mt=Ie*Be[1]+Oe,Ut=Ie*tt[0]+qt,Kt=Ie*tt[1]+Oe;Ee===0&&(te.push(ht,At),pe.push(ht,At)),te.push(vt,gt,kt,Mt,Ut,Kt),pe.push(vt,gt),Ee===we-1&&pe.push(Ut,Kt)}wt.push({bezier:Ue(pt=Xe,qe,rg).call(pt,te,at,this.rotation),points:Ue(ut=Xe,qe,rg).call(ut,pe,at,this.rotation)})}return wt},ft=new WeakSet,ig=function(){let Ie=1/0,mt=-1/0,Ct=1/0,at=-1/0;for(const wt of this.paths)for(const[Nt,qt,Oe,pt]of wt){const ut=t.Util.bezierBoundingBox(...Nt,...qt,...Oe,...pt);Ie=Math.min(Ie,ut[0]),Ct=Math.min(Ct,ut[1]),mt=Math.max(mt,ut[2]),at=Math.max(at,ut[3])}return[Ie,Ct,mt,at]},De=new WeakSet,qf=function(){return Z(this,v)?Math.ceil(this.thickness*this.parentScale):0},ye=new WeakSet,iu=function(Ie=!1){if(this.isEmpty())return;if(!Z(this,v)){Ue(this,fe,xs).call(this);return}const mt=Ue(this,ft,ig).call(this),Ct=Ue(this,De,qf).call(this);We(this,p,Math.max(a.AnnotationEditor.MIN_SIZE,mt[2]-mt[0])),We(this,u,Math.max(a.AnnotationEditor.MIN_SIZE,mt[3]-mt[1]));const at=Math.ceil(Ct+Z(this,p)*this.scaleFactor),wt=Math.ceil(Ct+Z(this,u)*this.scaleFactor),[Nt,qt]=this.parentDimensions;this.width=at/Nt,this.height=wt/qt,this.setAspectRatio(at,wt);const Oe=this.translationX,pt=this.translationY;this.translationX=-mt[0],this.translationY=-mt[1],Ue(this,st,ru).call(this),Ue(this,fe,xs).call(this),We(this,w,at),We(this,C,wt),this.setDims(at,wt);const ut=Ie?Ct/this.scaleFactor/2:0;this.translate(Oe-this.translationX-ut,pt-this.translationY-ut)},Ae(Xe,Ke),Ae(Xe,qe),Ae(Xe,Ye),Mn(Xe,"_defaultColor",null),Mn(Xe,"_defaultOpacity",1),Mn(Xe,"_defaultThickness",1),Mn(Xe,"_type","ink");let f=Xe;e.InkEditor=f},(l,e,n)=>{var f,u,p,_,R,x,S,g,v,b,T,jc,w,Ic,D,Qf,P,ag,F,by,j,Ry,B,sg,re,Jf,ee,Ty;Object.defineProperty(e,"__esModule",{value:!0}),e.StampEditor=void 0;var t=n(1),a=n(4),o=n(6),d=n(29);const ne=class ne extends a.AnnotationEditor{constructor(J){super({...J,name:"stampEditor"});Ae(this,T);Ae(this,w);Ae(this,D);Ae(this,P);Ae(this,F);Ae(this,j);Ae(this,B);Ae(this,re);Ae(this,ee);Ae(this,f,null);Ae(this,u,null);Ae(this,p,null);Ae(this,_,null);Ae(this,R,null);Ae(this,x,null);Ae(this,S,null);Ae(this,g,null);Ae(this,v,!1);Ae(this,b,!1);We(this,_,J.bitmapUrl),We(this,R,J.bitmapFile)}static initialize(J){a.AnnotationEditor.initialize(J)}static get supportedTypes(){const J=["apng","avif","bmp","gif","jpeg","png","svg+xml","webp","x-icon"];return(0,t.shadow)(this,"supportedTypes",J.map(H=>`image/${H}`))}static get supportedTypesStr(){return(0,t.shadow)(this,"supportedTypesStr",this.supportedTypes.join(","))}static isHandlingMimeForPasting(J){return this.supportedTypes.includes(J)}static paste(J,H){H.pasteEditor(t.AnnotationEditorType.STAMP,{bitmapFile:J.getAsFile()})}remove(){var J,H;Z(this,u)&&(We(this,f,null),this._uiManager.imageManager.deleteId(Z(this,u)),(J=Z(this,x))==null||J.remove(),We(this,x,null),(H=Z(this,S))==null||H.disconnect(),We(this,S,null)),super.remove()}rebuild(){if(!this.parent){Z(this,u)&&Ue(this,D,Qf).call(this);return}super.rebuild(),this.div!==null&&(Z(this,u)&&Ue(this,D,Qf).call(this),this.isAttachedToDOM||this.parent.add(this))}onceAdded(){this._isDraggable=!0,this.div.focus()}isEmpty(){return!(Z(this,p)||Z(this,f)||Z(this,_)||Z(this,R))}get isResizable(){return!0}render(){if(this.div)return this.div;let J,H;if(this.width&&(J=this.x,H=this.y),super.render(),this.div.hidden=!0,Z(this,f)?Ue(this,P,ag).call(this):Ue(this,D,Qf).call(this),this.width){const[W,V]=this.parentDimensions;this.setAt(J*W,H*V,this.width*W,this.height*V)}return this.div}static deserialize(J,H,W){if(J instanceof d.StampAnnotationElement)return null;const V=super.deserialize(J,H,W),{rect:z,bitmapUrl:Y,bitmapId:ie,isSvg:le,accessibilityData:fe}=J;ie&&W.imageManager.isValidId(ie)?We(V,u,ie):We(V,_,Y),We(V,v,le);const[ce,ge]=V.pageDimensions;return V.width=(z[2]-z[0])/ce,V.height=(z[3]-z[1])/ge,fe&&(V.altTextData=fe),V}serialize(J=!1,H=null){if(this.isEmpty())return null;const W={annotationType:t.AnnotationEditorType.STAMP,bitmapId:Z(this,u),pageIndex:this.pageIndex,rect:this.getRect(0,0),rotation:this.rotation,isSvg:Z(this,v),structTreeParentId:this._structTreeParentId};if(J)return W.bitmapUrl=Ue(this,re,Jf).call(this,!0),W.accessibilityData=this.altTextData,W;const{decorative:V,altText:z}=this.altTextData;if(!V&&z&&(W.accessibilityData={type:"Figure",alt:z}),H===null)return W;H.stamps||(H.stamps=new Map);const Y=Z(this,v)?(W.rect[2]-W.rect[0])*(W.rect[3]-W.rect[1]):null;if(!H.stamps.has(Z(this,u)))H.stamps.set(Z(this,u),{area:Y,serialized:W}),W.bitmap=Ue(this,re,Jf).call(this,!1);else if(Z(this,v)){const ie=H.stamps.get(Z(this,u));Y>ie.area&&(ie.area=Y,ie.serialized.bitmap.close(),ie.serialized.bitmap=Ue(this,re,Jf).call(this,!1))}return W}};f=new WeakMap,u=new WeakMap,p=new WeakMap,_=new WeakMap,R=new WeakMap,x=new WeakMap,S=new WeakMap,g=new WeakMap,v=new WeakMap,b=new WeakMap,T=new WeakSet,jc=function(J,H=!1){if(!J){this.remove();return}We(this,f,J.bitmap),H||(We(this,u,J.id),We(this,v,J.isSvg)),Ue(this,P,ag).call(this)},w=new WeakSet,Ic=function(){We(this,p,null),this._uiManager.enableWaiting(!1),Z(this,x)&&this.div.focus()},D=new WeakSet,Qf=function(){if(Z(this,u)){this._uiManager.enableWaiting(!0),this._uiManager.imageManager.getFromId(Z(this,u)).then(H=>Ue(this,T,jc).call(this,H,!0)).finally(()=>Ue(this,w,Ic).call(this));return}if(Z(this,_)){const H=Z(this,_);We(this,_,null),this._uiManager.enableWaiting(!0),We(this,p,this._uiManager.imageManager.getFromUrl(H).then(W=>Ue(this,T,jc).call(this,W)).finally(()=>Ue(this,w,Ic).call(this)));return}if(Z(this,R)){const H=Z(this,R);We(this,R,null),this._uiManager.enableWaiting(!0),We(this,p,this._uiManager.imageManager.getFromFile(H).then(W=>Ue(this,T,jc).call(this,W)).finally(()=>Ue(this,w,Ic).call(this)));return}const J=document.createElement("input");J.type="file",J.accept=ne.supportedTypesStr,We(this,p,new Promise(H=>{J.addEventListener("change",async()=>{if(!J.files||J.files.length===0)this.remove();else{this._uiManager.enableWaiting(!0);const W=await this._uiManager.imageManager.getFromFile(J.files[0]);Ue(this,T,jc).call(this,W)}H()}),J.addEventListener("cancel",()=>{this.remove(),H()})}).finally(()=>Ue(this,w,Ic).call(this))),J.click()},P=new WeakSet,ag=function(){const{div:J}=this;let{width:H,height:W}=Z(this,f);const[V,z]=this.pageDimensions,Y=.75;if(this.width)H=this.width*V,W=this.height*z;else if(H>Y*V||W>Y*z){const ce=Math.min(Y*V/H,Y*z/W);H*=ce,W*=ce}const[ie,le]=this.parentDimensions;this.setDims(H*ie/V,W*le/z),this._uiManager.enableWaiting(!1);const fe=We(this,x,document.createElement("canvas"));J.append(fe),J.hidden=!1,Ue(this,B,sg).call(this,H,W),Ue(this,ee,Ty).call(this),Z(this,b)||(this.parent.addUndoableEditor(this),We(this,b,!0)),this._uiManager._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",subtype:this.editorType,data:{action:"inserted_image"}}}),this.addAltTextButton()},F=new WeakSet,by=function(J,H){var Y;const[W,V]=this.parentDimensions;this.width=J/W,this.height=H/V,this.setDims(J,H),(Y=this._initialOptions)!=null&&Y.isCentered?this.center():this.fixAndSetPosition(),this._initialOptions=null,Z(this,g)!==null&&clearTimeout(Z(this,g)),We(this,g,setTimeout(()=>{We(this,g,null),Ue(this,B,sg).call(this,J,H)},200))},j=new WeakSet,Ry=function(J,H){const{width:W,height:V}=Z(this,f);let z=W,Y=V,ie=Z(this,f);for(;z>2*J||Y>2*H;){const le=z,fe=Y;z>2*J&&(z=z>=16384?Math.floor(z/2)-1:Math.ceil(z/2)),Y>2*H&&(Y=Y>=16384?Math.floor(Y/2)-1:Math.ceil(Y/2));const ce=new OffscreenCanvas(z,Y);ce.getContext("2d").drawImage(ie,0,0,le,fe,0,0,z,Y),ie=ce.transferToImageBitmap()}return ie},B=new WeakSet,sg=function(J,H){J=Math.ceil(J),H=Math.ceil(H);const W=Z(this,x);if(!W||W.width===J&&W.height===H)return;W.width=J,W.height=H;const V=Z(this,v)?Z(this,f):Ue(this,j,Ry).call(this,J,H),z=W.getContext("2d");z.filter=this._uiManager.hcmFilter,z.drawImage(V,0,0,V.width,V.height,0,0,J,H)},re=new WeakSet,Jf=function(J){if(J){if(Z(this,v)){const V=this._uiManager.imageManager.getSvgUrl(Z(this,u));if(V)return V}const H=document.createElement("canvas");return{width:H.width,height:H.height}=Z(this,f),H.getContext("2d").drawImage(Z(this,f),0,0),H.toDataURL()}if(Z(this,v)){const[H,W]=this.pageDimensions,V=Math.round(this.width*H*o.PixelsPerInch.PDF_TO_CSS_UNITS),z=Math.round(this.height*W*o.PixelsPerInch.PDF_TO_CSS_UNITS),Y=new OffscreenCanvas(V,z);return Y.getContext("2d").drawImage(Z(this,f),0,0,Z(this,f).width,Z(this,f).height,0,0,V,z),Y.transferToImageBitmap()}return structuredClone(Z(this,f))},ee=new WeakSet,Ty=function(){We(this,S,new ResizeObserver(J=>{const H=J[0].contentRect;H.width&&H.height&&Ue(this,F,by).call(this,H.width,H.height)})),Z(this,S).observe(this.div)},Mn(ne,"_type","stamp");let h=ne;e.StampEditor=h}],__webpack_module_cache__={};function __w_pdfjs_require__(l){var e=__webpack_module_cache__[l];if(e!==void 0)return e.exports;var n=__webpack_module_cache__[l]={exports:{}};return __webpack_modules__[l](n,n.exports,__w_pdfjs_require__),n.exports}var __webpack_exports__={};return(()=>{var l=__webpack_exports__;Object.defineProperty(l,"__esModule",{value:!0}),Object.defineProperty(l,"AbortException",{enumerable:!0,get:function(){return e.AbortException}}),Object.defineProperty(l,"AnnotationEditorLayer",{enumerable:!0,get:function(){return o.AnnotationEditorLayer}}),Object.defineProperty(l,"AnnotationEditorParamsType",{enumerable:!0,get:function(){return e.AnnotationEditorParamsType}}),Object.defineProperty(l,"AnnotationEditorType",{enumerable:!0,get:function(){return e.AnnotationEditorType}}),Object.defineProperty(l,"AnnotationEditorUIManager",{enumerable:!0,get:function(){return d.AnnotationEditorUIManager}}),Object.defineProperty(l,"AnnotationLayer",{enumerable:!0,get:function(){return h.AnnotationLayer}}),Object.defineProperty(l,"AnnotationMode",{enumerable:!0,get:function(){return e.AnnotationMode}}),Object.defineProperty(l,"CMapCompressionType",{enumerable:!0,get:function(){return e.CMapCompressionType}}),Object.defineProperty(l,"DOMSVGFactory",{enumerable:!0,get:function(){return t.DOMSVGFactory}}),Object.defineProperty(l,"FeatureTest",{enumerable:!0,get:function(){return e.FeatureTest}}),Object.defineProperty(l,"GlobalWorkerOptions",{enumerable:!0,get:function(){return f.GlobalWorkerOptions}}),Object.defineProperty(l,"ImageKind",{enumerable:!0,get:function(){return e.ImageKind}}),Object.defineProperty(l,"InvalidPDFException",{enumerable:!0,get:function(){return e.InvalidPDFException}}),Object.defineProperty(l,"MissingPDFException",{enumerable:!0,get:function(){return e.MissingPDFException}}),Object.defineProperty(l,"OPS",{enumerable:!0,get:function(){return e.OPS}}),Object.defineProperty(l,"PDFDataRangeTransport",{enumerable:!0,get:function(){return n.PDFDataRangeTransport}}),Object.defineProperty(l,"PDFDateString",{enumerable:!0,get:function(){return t.PDFDateString}}),Object.defineProperty(l,"PDFWorker",{enumerable:!0,get:function(){return n.PDFWorker}}),Object.defineProperty(l,"PasswordResponses",{enumerable:!0,get:function(){return e.PasswordResponses}}),Object.defineProperty(l,"PermissionFlag",{enumerable:!0,get:function(){return e.PermissionFlag}}),Object.defineProperty(l,"PixelsPerInch",{enumerable:!0,get:function(){return t.PixelsPerInch}}),Object.defineProperty(l,"PromiseCapability",{enumerable:!0,get:function(){return e.PromiseCapability}}),Object.defineProperty(l,"RenderingCancelledException",{enumerable:!0,get:function(){return t.RenderingCancelledException}}),Object.defineProperty(l,"SVGGraphics",{enumerable:!0,get:function(){return n.SVGGraphics}}),Object.defineProperty(l,"UnexpectedResponseException",{enumerable:!0,get:function(){return e.UnexpectedResponseException}}),Object.defineProperty(l,"Util",{enumerable:!0,get:function(){return e.Util}}),Object.defineProperty(l,"VerbosityLevel",{enumerable:!0,get:function(){return e.VerbosityLevel}}),Object.defineProperty(l,"XfaLayer",{enumerable:!0,get:function(){return u.XfaLayer}}),Object.defineProperty(l,"build",{enumerable:!0,get:function(){return n.build}}),Object.defineProperty(l,"createValidAbsoluteUrl",{enumerable:!0,get:function(){return e.createValidAbsoluteUrl}}),Object.defineProperty(l,"getDocument",{enumerable:!0,get:function(){return n.getDocument}}),Object.defineProperty(l,"getFilenameFromUrl",{enumerable:!0,get:function(){return t.getFilenameFromUrl}}),Object.defineProperty(l,"getPdfFilenameFromUrl",{enumerable:!0,get:function(){return t.getPdfFilenameFromUrl}}),Object.defineProperty(l,"getXfaPageViewport",{enumerable:!0,get:function(){return t.getXfaPageViewport}}),Object.defineProperty(l,"isDataScheme",{enumerable:!0,get:function(){return t.isDataScheme}}),Object.defineProperty(l,"isPdfFile",{enumerable:!0,get:function(){return t.isPdfFile}}),Object.defineProperty(l,"loadScript",{enumerable:!0,get:function(){return t.loadScript}}),Object.defineProperty(l,"noContextMenu",{enumerable:!0,get:function(){return t.noContextMenu}}),Object.defineProperty(l,"normalizeUnicode",{enumerable:!0,get:function(){return e.normalizeUnicode}}),Object.defineProperty(l,"renderTextLayer",{enumerable:!0,get:function(){return a.renderTextLayer}}),Object.defineProperty(l,"setLayerDimensions",{enumerable:!0,get:function(){return t.setLayerDimensions}}),Object.defineProperty(l,"shadow",{enumerable:!0,get:function(){return e.shadow}}),Object.defineProperty(l,"updateTextLayer",{enumerable:!0,get:function(){return a.updateTextLayer}}),Object.defineProperty(l,"version",{enumerable:!0,get:function(){return n.version}});var e=__w_pdfjs_require__(1),n=__w_pdfjs_require__(2),t=__w_pdfjs_require__(6),a=__w_pdfjs_require__(26),o=__w_pdfjs_require__(27),d=__w_pdfjs_require__(5),h=__w_pdfjs_require__(29),f=__w_pdfjs_require__(14),u=__w_pdfjs_require__(32)})(),__webpack_exports__})())})(pdf$1);var pdfExports=pdf$1.exports;const pdf=getDefaultExportFromCjs(pdfExports),pdfjsModule=_mergeNamespaces({__proto__:null,default:pdf},[pdfExports]),pdfjs="default"in pdfjsModule?pdf:pdfjsModule;var __spreadArray=function(l,e,n){if(n||arguments.length===2)for(var t=0,a=e.length,o;t<a;t++)(o||!(t in e))&&(o||(o=Array.prototype.slice.call(e,0,t)),o[t]=e[t]);return l.concat(o||Array.prototype.slice.call(e))},clipboardEvents=["onCopy","onCut","onPaste"],compositionEvents=["onCompositionEnd","onCompositionStart","onCompositionUpdate"],focusEvents=["onFocus","onBlur"],formEvents=["onInput","onInvalid","onReset","onSubmit"],imageEvents=["onLoad","onError"],keyboardEvents=["onKeyDown","onKeyPress","onKeyUp"],mediaEvents=["onAbort","onCanPlay","onCanPlayThrough","onDurationChange","onEmptied","onEncrypted","onEnded","onError","onLoadedData","onLoadedMetadata","onLoadStart","onPause","onPlay","onPlaying","onProgress","onRateChange","onSeeked","onSeeking","onStalled","onSuspend","onTimeUpdate","onVolumeChange","onWaiting"],mouseEvents=["onClick","onContextMenu","onDoubleClick","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp"],dragEvents=["onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop"],selectionEvents=["onSelect"],touchEvents=["onTouchCancel","onTouchEnd","onTouchMove","onTouchStart"],pointerEvents=["onPointerDown","onPointerMove","onPointerUp","onPointerCancel","onGotPointerCapture","onLostPointerCapture","onPointerEnter","onPointerLeave","onPointerOver","onPointerOut"],uiEvents=["onScroll"],wheelEvents=["onWheel"],animationEvents=["onAnimationStart","onAnimationEnd","onAnimationIteration"],transitionEvents=["onTransitionEnd"],otherEvents=["onToggle"],changeEvents=["onChange"],allEvents=__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([],clipboardEvents,!0),compositionEvents,!0),focusEvents,!0),formEvents,!0),imageEvents,!0),keyboardEvents,!0),mediaEvents,!0),mouseEvents,!0),dragEvents,!0),selectionEvents,!0),touchEvents,!0),pointerEvents,!0),uiEvents,!0),wheelEvents,!0),animationEvents,!0),transitionEvents,!0),changeEvents,!0),otherEvents,!0);function makeEventProps(l,e){var n={};return allEvents.forEach(function(t){var a=l[t];a&&(e?n[t]=function(o){return a(o,e(t))}:n[t]=a)}),n}function makeCancellablePromise(l){var e=!1,n=new Promise(function(t,a){l.then(function(o){return!e&&t(o)}).catch(function(o){return!e&&a(o)})});return{promise:n,cancel:function(){e=!0}}}function r(l){var e,n,t="";if(typeof l=="string"||typeof l=="number")t+=l;else if(typeof l=="object")if(Array.isArray(l)){var a=l.length;for(e=0;e<a;e++)l[e]&&(n=r(l[e]))&&(t&&(t+=" "),t+=n)}else for(n in l)l[n]&&(t&&(t+=" "),t+=n);return t}function clsx(){for(var l,e,n=0,t="",a=arguments.length;n<a;n++)(l=arguments[n])&&(e=r(l))&&(t&&(t+=" "),t+=e);return t}var isProduction=process.env.NODE_ENV==="production",prefix="Invariant failed";function invariant(l,e){if(!l){if(isProduction)throw new Error(prefix);var n=typeof e=="function"?e():e,t=n?"".concat(prefix,": ").concat(n):prefix;throw new Error(t)}}var __DEV__=process.env.NODE_ENV!=="production",warning=function(){};if(__DEV__){var printWarning=function(e,n){var t=arguments.length;n=new Array(t>1?t-1:0);for(var a=1;a<t;a++)n[a-1]=arguments[a];var o=0,d="Warning: "+e.replace(/%s/g,function(){return n[o++]});typeof console<"u"&&console.error(d);try{throw new Error(d)}catch{}};warning=function(l,e,n){var t=arguments.length;n=new Array(t>2?t-2:0);for(var a=2;a<t;a++)n[a-2]=arguments[a];if(e===void 0)throw new Error("`warning(condition, format, ...args)` requires a warning message argument");l||printWarning.apply(null,[e].concat(n))}}var warning_1=warning;const warning$1=getDefaultExportFromCjs(warning_1);var has=Object.prototype.hasOwnProperty;function find(l,e,n){for(n of l.keys())if(dequal(n,e))return n}function dequal(l,e){var n,t,a;if(l===e)return!0;if(l&&e&&(n=l.constructor)===e.constructor){if(n===Date)return l.getTime()===e.getTime();if(n===RegExp)return l.toString()===e.toString();if(n===Array){if((t=l.length)===e.length)for(;t--&&dequal(l[t],e[t]););return t===-1}if(n===Set){if(l.size!==e.size)return!1;for(t of l)if(a=t,a&&typeof a=="object"&&(a=find(e,a),!a)||!e.has(a))return!1;return!0}if(n===Map){if(l.size!==e.size)return!1;for(t of l)if(a=t[0],a&&typeof a=="object"&&(a=find(e,a),!a)||!dequal(t[1],e.get(a)))return!1;return!0}if(n===ArrayBuffer)l=new Uint8Array(l),e=new Uint8Array(e);else if(n===DataView){if((t=l.byteLength)===e.byteLength)for(;t--&&l.getInt8(t)===e.getInt8(t););return t===-1}if(ArrayBuffer.isView(l)){if((t=l.byteLength)===e.byteLength)for(;t--&&l[t]===e[t];);return t===-1}if(!n||typeof l=="object"){t=0;for(n in l)if(has.call(l,n)&&++t&&!has.call(e,n)||!(n in e)||!dequal(l[n],e[n]))return!1;return Object.keys(e).length===t}}return l!==l&&e!==e}const DocumentContext=React$2.createContext(null);function Message$1({children:l,type:e}){return jsxRuntimeExports.jsx("div",{className:`react-pdf__message react-pdf__message--${e}`,children:l})}const DEFAULT_LINK_REL="noopener noreferrer nofollow";class LinkService{constructor(){this.externalLinkEnabled=!0,this.externalLinkRel=void 0,this.externalLinkTarget=void 0,this.isInPresentationMode=!1,this.pdfDocument=void 0,this.pdfViewer=void 0}setDocument(e){this.pdfDocument=e}setViewer(e){this.pdfViewer=e}setExternalLinkRel(e){this.externalLinkRel=e}setExternalLinkTarget(e){this.externalLinkTarget=e}setHistory(){}get pagesCount(){return this.pdfDocument?this.pdfDocument.numPages:0}get page(){return invariant(this.pdfViewer,"PDF viewer is not initialized."),this.pdfViewer.currentPageNumber||0}set page(e){invariant(this.pdfViewer,"PDF viewer is not initialized."),this.pdfViewer.currentPageNumber=e}get rotation(){return 0}set rotation(e){}goToDestination(e){return new Promise(n=>{invariant(this.pdfDocument,"PDF document not loaded."),invariant(e,"Destination is not specified."),typeof e=="string"?this.pdfDocument.getDestination(e).then(n):Array.isArray(e)?n(e):e.then(n)}).then(n=>{invariant(Array.isArray(n),`"${n}" is not a valid destination array.`);const t=n[0];new Promise(a=>{invariant(this.pdfDocument,"PDF document not loaded."),t instanceof Object?this.pdfDocument.getPageIndex(t).then(o=>{a(o)}).catch(()=>{invariant(!1,`"${t}" is not a valid page reference.`)}):typeof t=="number"?a(t):invariant(!1,`"${t}" is not a valid destination reference.`)}).then(a=>{const o=a+1;invariant(this.pdfViewer,"PDF viewer is not initialized."),invariant(o>=1&&o<=this.pagesCount,`"${o}" is not a valid page number.`),this.pdfViewer.scrollPageIntoView({dest:n,pageIndex:a,pageNumber:o})})})}navigateTo(e){this.goToDestination(e)}goToPage(e){const n=e-1;invariant(this.pdfViewer,"PDF viewer is not initialized."),invariant(e>=1&&e<=this.pagesCount,`"${e}" is not a valid page number.`),this.pdfViewer.scrollPageIntoView({pageIndex:n,pageNumber:e})}addLinkAttributes(e,n,t){e.href=n,e.rel=this.externalLinkRel||DEFAULT_LINK_REL,e.target=t?"_blank":this.externalLinkTarget||""}getDestinationHash(){return"#"}getAnchorUrl(){return"#"}setHash(){}executeNamedAction(){}cachePageRef(){}isPageVisible(){return!0}isPageCached(){return!0}executeSetOCGState(){}}const PasswordResponses={NEED_PASSWORD:1,INCORRECT_PASSWORD:2},isBrowser=typeof document<"u",isLocalFileSystem=isBrowser&&window.location.protocol==="file:";function isDefined(l){return typeof l<"u"}function isProvided(l){return isDefined(l)&&l!==null}function isString(l){return typeof l=="string"}function isArrayBuffer(l){return l instanceof ArrayBuffer}function isBlob(l){return invariant(isBrowser,"isBlob can only be used in a browser environment"),l instanceof Blob}function isDataURI(l){return isString(l)&&/^data:/.test(l)}function dataURItoByteString(l){invariant(isDataURI(l),"Invalid data URI.");const[e="",n=""]=l.split(",");return e.split(";").indexOf("base64")!==-1?atob(n):unescape(n)}function getDevicePixelRatio$1(){return isBrowser&&window.devicePixelRatio||1}const allowFileAccessFromFilesTip="On Chromium based browsers, you can use --allow-file-access-from-files flag for debugging purposes.";function displayCORSWarning(){warning$1(!isLocalFileSystem,`Loading PDF as base64 strings/URLs may not work on protocols other than HTTP/HTTPS. ${allowFileAccessFromFilesTip}`)}function displayWorkerWarning(){warning$1(!isLocalFileSystem,`Loading PDF.js worker may not work on protocols other than HTTP/HTTPS. ${allowFileAccessFromFilesTip}`)}function cancelRunningTask(l){l&&l.cancel&&l.cancel()}function makePageCallback(l,e){return Object.defineProperty(l,"width",{get(){return this.view[2]*e},configurable:!0}),Object.defineProperty(l,"height",{get(){return this.view[3]*e},configurable:!0}),Object.defineProperty(l,"originalWidth",{get(){return this.view[2]},configurable:!0}),Object.defineProperty(l,"originalHeight",{get(){return this.view[3]},configurable:!0}),l}function isCancelException(l){return l.name==="RenderingCancelledException"}function loadFromFile(l){return new Promise((e,n)=>{const t=new FileReader;t.onload=()=>{if(!t.result)return n(new Error("Error while reading a file."));e(t.result)},t.onerror=a=>{if(!a.target)return n(new Error("Error while reading a file."));const{error:o}=a.target;if(!o)return n(new Error("Error while reading a file."));switch(o.code){case o.NOT_FOUND_ERR:return n(new Error("Error while reading a file: File not found."));case o.SECURITY_ERR:return n(new Error("Error while reading a file: Security error."));case o.ABORT_ERR:return n(new Error("Error while reading a file: Aborted."));default:return n(new Error("Error while reading a file."))}},t.readAsArrayBuffer(l)})}function reducer(l,e){switch(e.type){case"RESOLVE":return{value:e.value,error:void 0};case"REJECT":return{value:!1,error:e.error};case"RESET":return{value:void 0,error:void 0};default:return l}}function useResolver(){return React$2.useReducer(reducer,{value:void 0,error:void 0})}var __awaiter=function(l,e,n,t){function a(o){return o instanceof n?o:new n(function(d){d(o)})}return new(n||(n=Promise))(function(o,d){function h(p){try{u(t.next(p))}catch(_){d(_)}}function f(p){try{u(t.throw(p))}catch(_){d(_)}}function u(p){p.done?o(p.value):a(p.value).then(h,f)}u((t=t.apply(l,e||[])).next())})},__rest$2=function(l,e){var n={};for(var t in l)Object.prototype.hasOwnProperty.call(l,t)&&e.indexOf(t)<0&&(n[t]=l[t]);if(l!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,t=Object.getOwnPropertySymbols(l);a<t.length;a++)e.indexOf(t[a])<0&&Object.prototype.propertyIsEnumerable.call(l,t[a])&&(n[t[a]]=l[t[a]]);return n};const{PDFDataRangeTransport}=pdfjs,defaultOnPassword=(l,e)=>{switch(e){case PasswordResponses.NEED_PASSWORD:{const n=prompt("Enter the password to open this PDF file.");l(n);break}case PasswordResponses.INCORRECT_PASSWORD:{const n=prompt("Invalid password. Please try again.");l(n);break}}};function isParameterObject(l){return typeof l=="object"&&l!==null&&("data"in l||"range"in l||"url"in l)}const Document$1=React$2.forwardRef(function l(e,n){var{children:t,className:a,error:o="Failed to load PDF file.",externalLinkRel:d,externalLinkTarget:h,file:f,inputRef:u,imageResourcesPath:p,loading:_="Loading PDF…",noData:R="No PDF file specified.",onItemClick:x,onLoadError:S,onLoadProgress:g,onLoadSuccess:v,onPassword:b=defaultOnPassword,onSourceError:T,onSourceSuccess:y,options:w,renderMode:C,rotate:D}=e,N=__rest$2(e,["children","className","error","externalLinkRel","externalLinkTarget","file","inputRef","imageResourcesPath","loading","noData","onItemClick","onLoadError","onLoadProgress","onLoadSuccess","onPassword","onSourceError","onSourceSuccess","options","renderMode","rotate"]);const[P,k]=useResolver(),{value:F,error:M}=P,[j,$]=useResolver(),{value:B,error:X}=j,re=React$2.useRef(new LinkService),ae=React$2.useRef([]),ee=React$2.useRef(void 0),K=React$2.useRef(void 0);f&&f!==ee.current&&isParameterObject(f)&&(warning$1(!dequal(f,ee.current),`File prop passed to <Document /> changed, but it's equal to previous one. This might result in unnecessary reloads. Consider memoizing the value passed to "file" prop.`),ee.current=f),w&&w!==K.current&&(warning$1(!dequal(w,K.current),`Options prop passed to <Document /> changed, but it's equal to previous one. This might result in unnecessary reloads. Consider memoizing the value passed to "options" prop.`),K.current=w);const ne=React$2.useRef({scrollPageIntoView:Fe=>{const{dest:Ne,pageNumber:Qe,pageIndex:st=Qe-1}=Fe;if(x){x({dest:Ne,pageIndex:st,pageNumber:Qe});return}const Ze=ae.current[st];if(Ze){Ze.scrollIntoView();return}warning$1(!1,`An internal link leading to page ${Qe} was clicked, but neither <Document> was provided with onItemClick nor it was able to find the page within itself. Either provide onItemClick to <Document> and handle navigating by yourself or ensure that all pages are rendered within <Document>.`)}});React$2.useImperativeHandle(n,()=>({linkService:re,pages:ae,viewer:ne}),[]);function ue(){y&&y()}function me(){M&&(warning$1(!1,M.toString()),T&&T(M))}function J(){k({type:"RESET"})}React$2.useEffect(J,[f,k]);const H=React$2.useCallback(()=>__awaiter(this,void 0,void 0,function*(){if(!f)return null;if(typeof f=="string")return isDataURI(f)?{data:dataURItoByteString(f)}:(displayCORSWarning(),{url:f});if(f instanceof PDFDataRangeTransport)return{range:f};if(isArrayBuffer(f))return{data:f};if(isBrowser&&isBlob(f))return{data:yield loadFromFile(f)};if(invariant(typeof f=="object","Invalid parameter in file, need either Uint8Array, string or a parameter object"),invariant(isParameterObject(f),"Invalid parameter object: need either .data, .range or .url"),"url"in f&&typeof f.url=="string"){if(isDataURI(f.url)){const{url:Fe}=f,Ne=__rest$2(f,["url"]),Qe=dataURItoByteString(Fe);return Object.assign({data:Qe},Ne)}displayCORSWarning()}return f}),[f]);React$2.useEffect(()=>{const Fe=makeCancellablePromise(H());return Fe.promise.then(Ne=>{k({type:"RESOLVE",value:Ne})}).catch(Ne=>{k({type:"REJECT",error:Ne})}),()=>{cancelRunningTask(Fe)}},[H,k]),React$2.useEffect(()=>{if(!(typeof F>"u")){if(F===!1){me();return}ue()}},[F]);function W(){B&&(v&&v(B),ae.current=new Array(B.numPages),re.current.setDocument(B))}function V(){X&&(warning$1(!1,X.toString()),S&&S(X))}function z(){$({type:"RESET"})}React$2.useEffect(z,[$,F]);function Y(){if(!F)return;const Fe=Object.assign(Object.assign({},w),{isEvalSupported:!1}),Ne=Object.assign(Object.assign({},F),Fe),Qe=pdfjs.getDocument(Ne);g&&(Qe.onProgress=g),b&&(Qe.onPassword=b);const st=Qe;return st.promise.then(Ze=>{$({type:"RESOLVE",value:Ze})}).catch(Ze=>{st.destroyed||$({type:"REJECT",error:Ze})}),()=>{st.destroy()}}React$2.useEffect(Y,[w,$,F]),React$2.useEffect(()=>{if(!(typeof B>"u")){if(B===!1){V();return}W()}},[B]);function ie(){re.current.setViewer(ne.current),re.current.setExternalLinkRel(d),re.current.setExternalLinkTarget(h)}React$2.useEffect(ie,[d,h]);function le(Fe,Ne){ae.current[Fe]=Ne}function fe(Fe){delete ae.current[Fe]}const ce=React$2.useMemo(()=>({imageResourcesPath:p,linkService:re.current,onItemClick:x,pdf:B,registerPage:le,renderMode:C,rotate:D,unregisterPage:fe}),[p,x,B,C,D]),ge=React$2.useMemo(()=>makeEventProps(N,()=>B),[N,B]);function Se(){return jsxRuntimeExports.jsx(DocumentContext.Provider,{value:ce,children:t})}function Te(){return f?B==null?jsxRuntimeExports.jsx(Message$1,{type:"loading",children:typeof _=="function"?_():_}):B===!1?jsxRuntimeExports.jsx(Message$1,{type:"error",children:typeof o=="function"?o():o}):Se():jsxRuntimeExports.jsx(Message$1,{type:"no-data",children:typeof R=="function"?R():R})}return jsxRuntimeExports.jsx("div",Object.assign({className:clsx("react-pdf__Document",a),ref:u,style:{"--scale-factor":"1"}},ge,{children:Te()}))}),Document$2=Document$1;function useDocumentContext(){return React$2.useContext(DocumentContext)}function mergeRefs(){for(var l=[],e=0;e<arguments.length;e++)l[e]=arguments[e];var n=l.filter(Boolean);if(n.length<=1){var t=n[0];return t||null}return function(o){n.forEach(function(d){typeof d=="function"?d(o):d&&(d.current=o)})}}const PageContext=React$2.createContext(null),PDF_ROLE_TO_HTML_ROLE={Document:null,DocumentFragment:null,Part:"group",Sect:"group",Div:"group",Aside:"note",NonStruct:"none",P:null,H:"heading",Title:null,FENote:"note",Sub:"group",Lbl:null,Span:null,Em:null,Strong:null,Link:"link",Annot:"note",Form:"form",Ruby:null,RB:null,RT:null,RP:null,Warichu:null,WT:null,WP:null,L:"list",LI:"listitem",LBody:null,Table:"table",TR:"row",TH:"columnheader",TD:"cell",THead:"columnheader",TBody:null,TFoot:null,Caption:null,Figure:"figure",Formula:null,Artifact:null},HEADING_PATTERN=/^H(\d+)$/;function isPdfRole(l){return l in PDF_ROLE_TO_HTML_ROLE}function isStructTreeNode(l){return"children"in l}function isStructTreeNodeWithOnlyContentChild(l){return isStructTreeNode(l)?l.children.length===1&&0 in l.children&&"id"in l.children[0]:!1}function getRoleAttributes(l){const e={};if(isStructTreeNode(l)){const{role:n}=l,t=n.match(HEADING_PATTERN);if(t)e.role="heading",e["aria-level"]=Number(t[1]);else if(isPdfRole(n)){const a=PDF_ROLE_TO_HTML_ROLE[n];a&&(e.role=a)}}return e}function getBaseAttributes(l){const e={};if(isStructTreeNode(l)){if(l.alt!==void 0&&(e["aria-label"]=l.alt),l.lang!==void 0&&(e.lang=l.lang),isStructTreeNodeWithOnlyContentChild(l)){const[n]=l.children;if(n){const t=getBaseAttributes(n);return Object.assign(Object.assign({},e),t)}}}else"id"in l&&(e["aria-owns"]=l.id);return e}function getAttributes(l){return l?Object.assign(Object.assign({},getRoleAttributes(l)),getBaseAttributes(l)):null}function StructTreeItem({className:l,node:e}){const n=React$2.useMemo(()=>getAttributes(e),[e]),t=React$2.useMemo(()=>!isStructTreeNode(e)||isStructTreeNodeWithOnlyContentChild(e)?null:e.children.map((a,o)=>jsxRuntimeExports.jsx(StructTreeItem,{node:a},o)),[e]);return jsxRuntimeExports.jsx("span",Object.assign({className:l},n,{children:t}))}function usePageContext(){return React$2.useContext(PageContext)}function StructTree(){const l=usePageContext();invariant(l,"Unable to find Page context.");const{onGetStructTreeError:e,onGetStructTreeSuccess:n}=l,[t,a]=useResolver(),{value:o,error:d}=t,{customTextRenderer:h,page:f}=l;function u(){o&&n&&n(o)}function p(){d&&(warning$1(!1,d.toString()),e&&e(d))}function _(){a({type:"RESET"})}React$2.useEffect(_,[a,f]);function R(){if(h||!f)return;const x=makeCancellablePromise(f.getStructTree()),S=x;return x.promise.then(g=>{a({type:"RESOLVE",value:g})}).catch(g=>{a({type:"REJECT",error:g})}),()=>cancelRunningTask(S)}return React$2.useEffect(R,[h,f,a]),React$2.useEffect(()=>{if(o!==void 0){if(o===!1){p();return}u()}},[o]),o?jsxRuntimeExports.jsx(StructTreeItem,{className:"react-pdf__Page__structTree structTree",node:o}):null}const ANNOTATION_MODE=pdfjs.AnnotationMode;function PageCanvas(l){const e=usePageContext();invariant(e,"Unable to find Page context.");const n=Object.assign(Object.assign({},e),l),{_className:t,canvasBackground:a,devicePixelRatio:o=getDevicePixelRatio$1(),onRenderError:d,onRenderSuccess:h,page:f,renderForms:u,renderTextLayer:p,rotate:_,scale:R}=n,{canvasRef:x}=l;invariant(f,"Attempted to render page canvas, but no page was specified.");const S=React$2.useRef(null);function g(){f&&h&&h(makePageCallback(f,R))}function v(C){isCancelException(C)||(warning$1(!1,C.toString()),d&&d(C))}const b=React$2.useMemo(()=>f.getViewport({scale:R*o,rotation:_}),[o,f,_,R]),T=React$2.useMemo(()=>f.getViewport({scale:R,rotation:_}),[f,_,R]);function y(){if(!f)return;f.cleanup();const{current:C}=S;if(!C)return;C.width=b.width,C.height=b.height,C.style.width=`${Math.floor(T.width)}px`,C.style.height=`${Math.floor(T.height)}px`,C.style.visibility="hidden";const D={annotationMode:u?ANNOTATION_MODE.ENABLE_FORMS:ANNOTATION_MODE.ENABLE,canvasContext:C.getContext("2d",{alpha:!1}),viewport:b};a&&(D.background=a);const N=f.render(D),P=N;return N.promise.then(()=>{C.style.visibility="",g()}).catch(v),()=>cancelRunningTask(P)}React$2.useEffect(y,[a,S,o,f,u,b,T]);const w=React$2.useCallback(()=>{const{current:C}=S;C&&(C.width=0,C.height=0)},[S]);return React$2.useEffect(()=>w,[w]),jsxRuntimeExports.jsx("canvas",{className:`${t}__canvas`,dir:"ltr",ref:mergeRefs(x,S),style:{display:"block",userSelect:"none"},children:p?jsxRuntimeExports.jsx(StructTree,{}):null})}function PageSVG(){const l=usePageContext();invariant(l,"Unable to find Page context.");const{_className:e,onRenderSuccess:n,onRenderError:t,page:a,rotate:o,scale:d}=l;invariant(a,"Attempted to render page SVG, but no page was specified.");const[h,f]=useResolver(),{value:u,error:p}=h;function _(){a&&n&&n(makePageCallback(a,d))}function R(){p&&(isCancelException(p)||(warning$1(!1,p.toString()),t&&t(p)))}const x=React$2.useMemo(()=>a.getViewport({scale:d,rotation:o}),[a,o,d]);function S(){f({type:"RESET"})}React$2.useEffect(S,[a,f,x]);function g(){if(!a)return;const y=makeCancellablePromise(a.getOperatorList());return y.promise.then(w=>{new pdfjs.SVGGraphics(a.commonObjs,a.objs).getSVG(w,x).then(D=>{if(!(D instanceof SVGElement))throw new Error("getSVG returned unexpected result.");f({type:"RESOLVE",value:D})}).catch(D=>{f({type:"REJECT",error:D})})}).catch(w=>{f({type:"REJECT",error:w})}),()=>cancelRunningTask(y)}React$2.useEffect(g,[a,f,x]),React$2.useEffect(()=>{if(u!==void 0){if(u===!1){R();return}_()}},[u]);function v(y){if(!y||!u)return;y.firstElementChild||y.appendChild(u);const{width:w,height:C}=x;u.setAttribute("width",`${w}`),u.setAttribute("height",`${C}`)}const{width:b,height:T}=x;return jsxRuntimeExports.jsx("div",{className:`${e}__svg`,ref:y=>v(y),style:{display:"block",backgroundColor:"white",overflow:"hidden",width:b,height:T,userSelect:"none"}})}function isTextItem(l){return"str"in l}function TextLayer(){const l=usePageContext();invariant(l,"Unable to find Page context.");const{customTextRenderer:e,onGetTextError:n,onGetTextSuccess:t,onRenderTextLayerError:a,onRenderTextLayerSuccess:o,page:d,pageIndex:h,pageNumber:f,rotate:u,scale:p}=l;invariant(d,"Attempted to load page text content, but no page was specified.");const[_,R]=useResolver(),{value:x,error:S}=_,g=React$2.useRef(null),v=React$2.useRef(void 0);warning$1(parseInt(window.getComputedStyle(document.body).getPropertyValue("--react-pdf-text-layer"),10)===1,"TextLayer styles not found. Read more: https://github.com/wojtekmaj/react-pdf#support-for-text-layer");function b(){x&&t&&t(x)}function T(){S&&(warning$1(!1,S.toString()),n&&n(S))}function y(){R({type:"RESET"})}React$2.useEffect(y,[d,R]);function w(){if(!d)return;const M=makeCancellablePromise(d.getTextContent()),j=M;return M.promise.then($=>{R({type:"RESOLVE",value:$})}).catch($=>{R({type:"REJECT",error:$})}),()=>cancelRunningTask(j)}React$2.useEffect(w,[d,R]),React$2.useEffect(()=>{if(x!==void 0){if(x===!1){T();return}b()}},[x]);const C=React$2.useCallback(()=>{o&&o()},[o]),D=React$2.useCallback(M=>{warning$1(!1,M.toString()),a&&a(M)},[a]);function N(){const M=v.current;M&&M.classList.add("active")}function P(){const M=v.current;M&&M.classList.remove("active")}const k=React$2.useMemo(()=>d.getViewport({scale:p,rotation:u}),[d,u,p]);function F(){if(!d||!x)return;const{current:M}=g;if(!M)return;M.innerHTML="";const j=d.streamTextContent({includeMarkedContent:!0}),$={container:M,textContentSource:j,viewport:k},B=pdfjs.renderTextLayer($),X=B;return B.promise.then(()=>{const re=document.createElement("div");re.className="endOfContent",M.append(re),v.current=re;const ae=M.querySelectorAll('[role="presentation"]');if(e){let ee=0;x.items.forEach((K,ne)=>{if(!isTextItem(K))return;const ue=ae[ee];if(!ue)return;const me=e(Object.assign({pageIndex:h,pageNumber:f,itemIndex:ne},K));ue.innerHTML=me,ee+=K.str&&K.hasEOL?2:1})}C()}).catch(D),()=>cancelRunningTask(X)}return React$2.useLayoutEffect(F,[e,D,C,d,h,f,x,k]),jsxRuntimeExports.jsx("div",{className:clsx("react-pdf__Page__textContent","textLayer"),onMouseUp:P,onMouseDown:N,ref:g})}function AnnotationLayer(){const l=useDocumentContext(),e=usePageContext();invariant(e,"Unable to find Page context.");const n=Object.assign(Object.assign({},l),e),{imageResourcesPath:t,linkService:a,onGetAnnotationsError:o,onGetAnnotationsSuccess:d,onRenderAnnotationLayerError:h,onRenderAnnotationLayerSuccess:f,page:u,pdf:p,renderForms:_,rotate:R,scale:x=1}=n;invariant(p,"Attempted to load page annotations, but no document was specified. Wrap <Page /> in a <Document /> or pass explicit `pdf` prop."),invariant(u,"Attempted to load page annotations, but no page was specified."),invariant(a,"Attempted to load page annotations, but no linkService was specified.");const[S,g]=useResolver(),{value:v,error:b}=S,T=React$2.useRef(null);warning$1(parseInt(window.getComputedStyle(document.body).getPropertyValue("--react-pdf-annotation-layer"),10)===1,"AnnotationLayer styles not found. Read more: https://github.com/wojtekmaj/react-pdf#support-for-annotations");function y(){v&&d&&d(v)}function w(){b&&(warning$1(!1,b.toString()),o&&o(b))}function C(){g({type:"RESET"})}React$2.useEffect(C,[g,u]);function D(){if(!u)return;const M=makeCancellablePromise(u.getAnnotations()),j=M;return M.promise.then($=>{g({type:"RESOLVE",value:$})}).catch($=>{g({type:"REJECT",error:$})}),()=>{cancelRunningTask(j)}}React$2.useEffect(D,[g,u,_]),React$2.useEffect(()=>{if(v!==void 0){if(v===!1){w();return}y()}},[v]);function N(){f&&f()}function P(M){warning$1(!1,`${M}`),h&&h(M)}const k=React$2.useMemo(()=>u.getViewport({scale:x,rotation:R}),[u,R,x]);function F(){if(!p||!u||!a||!v)return;const{current:M}=T;if(!M)return;const j=k.clone({dontFlip:!0}),$={accessibilityManager:null,annotationCanvasMap:null,div:M,l10n:null,page:u,viewport:j},B={annotations:v,annotationStorage:p.annotationStorage,div:M,downloadManager:null,imageResourcesPath:t,linkService:a,page:u,renderForms:_,viewport:j};M.innerHTML="";try{new pdfjs.AnnotationLayer($).render(B),N()}catch(X){P(X)}return()=>{}}return React$2.useEffect(F,[v,t,a,u,_,k]),jsxRuntimeExports.jsx("div",{className:clsx("react-pdf__Page__annotations","annotationLayer"),ref:T})}var __rest$1=function(l,e){var n={};for(var t in l)Object.prototype.hasOwnProperty.call(l,t)&&e.indexOf(t)<0&&(n[t]=l[t]);if(l!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,t=Object.getOwnPropertySymbols(l);a<t.length;a++)e.indexOf(t[a])<0&&Object.prototype.propertyIsEnumerable.call(l,t[a])&&(n[t[a]]=l[t[a]]);return n};const defaultScale=1;function Page(l){const e=useDocumentContext(),n=Object.assign(Object.assign({},e),l),{_className:t="react-pdf__Page",_enableRegisterUnregisterPage:a=!0,canvasBackground:o,canvasRef:d,children:h,className:f,customRenderer:u,customTextRenderer:p,devicePixelRatio:_,error:R="Failed to load the page.",height:x,inputRef:S,loading:g="Loading page…",noData:v="No page specified.",onGetAnnotationsError:b,onGetAnnotationsSuccess:T,onGetStructTreeError:y,onGetStructTreeSuccess:w,onGetTextError:C,onGetTextSuccess:D,onLoadError:N,onLoadSuccess:P,onRenderAnnotationLayerError:k,onRenderAnnotationLayerSuccess:F,onRenderError:M,onRenderSuccess:j,onRenderTextLayerError:$,onRenderTextLayerSuccess:B,pageIndex:X,pageNumber:re,pdf:ae,registerPage:ee,renderAnnotationLayer:K=!0,renderForms:ne=!1,renderMode:ue="canvas",renderTextLayer:me=!0,rotate:J,scale:H=defaultScale,unregisterPage:W,width:V}=n,z=__rest$1(n,["_className","_enableRegisterUnregisterPage","canvasBackground","canvasRef","children","className","customRenderer","customTextRenderer","devicePixelRatio","error","height","inputRef","loading","noData","onGetAnnotationsError","onGetAnnotationsSuccess","onGetStructTreeError","onGetStructTreeSuccess","onGetTextError","onGetTextSuccess","onLoadError","onLoadSuccess","onRenderAnnotationLayerError","onRenderAnnotationLayerSuccess","onRenderError","onRenderSuccess","onRenderTextLayerError","onRenderTextLayerSuccess","pageIndex","pageNumber","pdf","registerPage","renderAnnotationLayer","renderForms","renderMode","renderTextLayer","rotate","scale","unregisterPage","width"]),[Y,ie]=useResolver(),{value:le,error:fe}=Y,ce=React$2.useRef(null);invariant(ae,"Attempted to load a page, but no document was specified. Wrap <Page /> in a <Document /> or pass explicit `pdf` prop.");const ge=isProvided(re)?re-1:X??null,Se=re??(isProvided(X)?X+1:null),Te=J??(le?le.rotate:null),Fe=React$2.useMemo(()=>{if(!le)return null;let $e=1;const rt=H??defaultScale;if(V||x){const ft=le.getViewport({scale:1,rotation:Te});V?$e=V/ft.width:x&&($e=x/ft.height)}return rt*$e},[x,le,Te,H,V]);function Ne(){return()=>{isProvided(ge)&&a&&W&&W(ge)}}React$2.useEffect(Ne,[a,ae,ge,W]);function Qe(){if(P){if(!le||!Fe)return;P(makePageCallback(le,Fe))}if(a&&ee){if(!isProvided(ge)||!ce.current)return;ee(ge,ce.current)}}function st(){fe&&(warning$1(!1,fe.toString()),N&&N(fe))}function Ze(){ie({type:"RESET"})}React$2.useEffect(Ze,[ie,ae,ge]);function yt(){if(!ae||!Se)return;const $e=makeCancellablePromise(ae.getPage(Se)),rt=$e;return $e.promise.then(ft=>{ie({type:"RESOLVE",value:ft})}).catch(ft=>{ie({type:"REJECT",error:ft})}),()=>cancelRunningTask(rt)}React$2.useEffect(yt,[ie,ae,ge,Se,ee]),React$2.useEffect(()=>{if(le!==void 0){if(le===!1){st();return}Qe()}},[le,Fe]);const Ve=React$2.useMemo(()=>le&&isProvided(ge)&&Se&&isProvided(Te)&&isProvided(Fe)?{_className:t,canvasBackground:o,customTextRenderer:p,devicePixelRatio:_,onGetAnnotationsError:b,onGetAnnotationsSuccess:T,onGetStructTreeError:y,onGetStructTreeSuccess:w,onGetTextError:C,onGetTextSuccess:D,onRenderAnnotationLayerError:k,onRenderAnnotationLayerSuccess:F,onRenderError:M,onRenderSuccess:j,onRenderTextLayerError:$,onRenderTextLayerSuccess:B,page:le,pageIndex:ge,pageNumber:Se,renderForms:ne,renderTextLayer:me,rotate:Te,scale:Fe}:null,[t,o,p,_,b,T,y,w,C,D,k,F,M,j,$,B,le,ge,Se,ne,me,Te,Fe]),Me=React$2.useMemo(()=>makeEventProps(z,()=>le&&(Fe?makePageCallback(le,Fe):void 0)),[z,le,Fe]),Le=`${ge}@${Fe}/${Te}`,Ke=`${ge}/${Te}`;function ke(){switch(ue){case"custom":return invariant(u,'renderMode was set to "custom", but no customRenderer was passed.'),jsxRuntimeExports.jsx(u,{},`${Le}_custom`);case"none":return null;case"svg":return jsxRuntimeExports.jsx(PageSVG,{},`${Ke}_svg`);case"canvas":default:return jsxRuntimeExports.jsx(PageCanvas,{canvasRef:d},`${Le}_canvas`)}}function qe(){return me?jsxRuntimeExports.jsx(TextLayer,{},`${Le}_text`):null}function St(){return K?jsxRuntimeExports.jsx(AnnotationLayer,{},`${Le}_annotations`):null}function Ye(){return jsxRuntimeExports.jsxs(PageContext.Provider,{value:Ve,children:[ke(),qe(),St(),h]})}function ot(){return Se?ae===null||le===void 0||le===null?jsxRuntimeExports.jsx(Message$1,{type:"loading",children:typeof g=="function"?g():g}):ae===!1||le===!1?jsxRuntimeExports.jsx(Message$1,{type:"error",children:typeof R=="function"?R():R}):Ye():jsxRuntimeExports.jsx(Message$1,{type:"no-data",children:typeof v=="function"?v():v})}return jsxRuntimeExports.jsx("div",Object.assign({className:clsx(t,f),"data-page-number":Se,ref:mergeRefs(S,ce),style:{"--scale-factor":`${Fe}`,backgroundColor:o||"white",position:"relative",minWidth:"min-content",minHeight:"min-content"}},Me,{children:ot()}))}displayWorkerWarning();pdfjs.GlobalWorkerOptions.workerSrc="pdf.worker.js";const DeviceDetection=()=>navigator.userAgent.match(/(android)/i)||["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document,BrowserDetection=()=>{const l=navigator.userAgent.toLowerCase(),e=l.indexOf("firefox")>-1,n=l.indexOf("safari")>-1&&l.indexOf("chrome")<=-1;let t="default";return e?t="firefox":n&&(t="safari"),t};pdfjs.GlobalWorkerOptions.workerSrc=`//unpkg.com/pdfjs-dist@${pdfjs.version}/build/pdf.worker.min.js`;const SCALE_LIMIT=2,maxValues={default:{area:268435456,sideBig:65535},firefox:{area:124992400,sideBig:32767},safari:{area:16777216,sideBig:4194303}},getMaxPermitted=()=>{const l=BrowserDetection();return maxValues[l]},formatScale=l=>l>1?Math.floor(l):Math.floor(l*100)/100,getMaxScaleByArea=(l,e,n)=>{const t=e*n*window.devicePixelRatio**2,a=Math.sqrt(l/t);return formatScale(a)},getMaxScaleBySide=(l,e,n)=>{const t=e>n?e:n,o=l/window.devicePixelRatio/t;return formatScale(o)};function PdfVisor({url:l,endPdf:e,emitNumberOfPages:n,translate:t,soundActions:a,keyboardControl:o}){const d=React$2.useRef(),[h,f]=React$2.useState(1),[u,p]=React$2.useState(!0),[_,R]=React$2.useState(),[x,S]=React$2.useState(1),[g]=a,v=React$2.useCallback(C=>{C.getPage(1).then(N=>{const P=N.getViewport(1),k=P.viewBox[2]-P.viewBox[0],F=P.viewBox[3]-P.viewBox[1],M=getMaxPermitted(),j=getMaxScaleByArea(M.area,k,F),$=getMaxScaleBySide(M.sideBig,k,F),B=j<$?j:$;S(B>SCALE_LIMIT?SCALE_LIMIT:B)}),f(C.numPages),C.numPages&&n({numPages:C.numPages,currentPage:_});const D=()=>(setTimeout(()=>{d.current&&d.current.scrollHeight<=d.current.offsetHeight&&p(!1)},1e3),()=>{D&&clearTimeout(D)});D()},[_,n]);React$2.useEffect(()=>{R(1)},[]);const b={file:l,loading:"Loading file...",onLoadSuccess:v,onLoadError:C=>console.error(C)},T=C=>{g("click-ui"),d.current.scrollTo(0,0),p(!1),R(_+C),n({numPages:h,currentPage:_+C}),_===h-1&&e()},y=o({rewind:h>1&&_!==1?()=>T(-1):null,forward:h>1&&_!==h?()=>T(1):null});React$2.useEffect(()=>y(),[y]);const w=()=>{p(!1)};return jsxRuntimeExports.jsx("div",{className:"full-height",children:jsxRuntimeExports.jsxs("div",{className:"pdf-box",dir:LangIsRtl()?"rtl":"auto",children:[jsxRuntimeExports.jsxs("div",{className:"pdf-box__scrollwrap",children:[jsxRuntimeExports.jsxs("div",{tabIndex:"0",onScroll:w,ref:d,className:`pdf-box__scroll ${u?"pdf-box__scroll--overlay":""}`,children:[jsxRuntimeExports.jsx(Document$2,{...b,children:jsxRuntimeExports.jsx(Page,{renderAnnotationLayer:!1,renderTextLayer:!1,scale:x,pageNumber:_})}),jsxRuntimeExports.jsx("div",{className:"pdf-box__mouse icon-scroll-down-black"})]}),h>1&&jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:jsxRuntimeExports.jsx("div",{className:"pdf-box__paginator",children:jsxRuntimeExports.jsxs("span",{children:[t("storylines.misc.page")," ",_," ",t("storylines.misc.of")," ",h]})})})]}),h>1&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("button",{className:`pdf-box__arrow pdf-box__arrow--left gat--btn__round ${_===1?"pdf-box__arrow--hidden":""}`,type:"button",disabled:_===1,onClick:()=>T(-1),"aria-label":LangIsRtl()?t("storylines.misc.nextPage"):t("storylines.misc.previousPage"),children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-next":"icon-back"})}),jsxRuntimeExports.jsx("button",{className:`pdf-box__arrow pdf-box__arrow--right gat--btn__round ${_===h?"pdf-box__arrow--hidden":""}`,type:"button",disabled:_===h,onClick:()=>T(1),"aria-label":LangIsRtl()?t("storylines.misc.previousPage"):t("storylines.misc.nextPage"),children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-back":"icon-next"})})]})]})})}function PdfComponent({emitEvent:l,getEvent:e,soundActions:n,keyboardControl:t,documentType:a,name:o,required:d,viewed:h,visible:f,documentId:u,documentId_labelId:p,..._}){const R=M=>e({type:"translate",payload:M}),[x]=n,S=_.document,{url:g}=S||"",[v,b]=React$2.useState(!1),T=React$2.useMemo(()=>({documentType:a,name:o,documentId:p,type:"pdf"}),[a,o,p]),y=React$2.useCallback(()=>{l({type:"finishMedia",payload:T})},[T,l]),[w,C]=React$2.useState(!1),[D,N]=React$2.useState(!1);React$2.useEffect(()=>{f||y(),d||b(!0)},[f,y,d]);const P=t({forward:w||!h&&D||D&&!d?y:null,escape:w||!h&&D||!d?y:null});if(React$2.useEffect(()=>P(),[P]),!f)return null;const k=()=>{b(!0)},F=M=>{M.numPages===M.currentPage?N(!0):N(!1),M.numPages===1&&C(!0)};return jsxRuntimeExports.jsxs("div",{className:`${h?"notes--results":"full-height"}`,children:[(w||!h&&v)&&jsxRuntimeExports.jsx("div",{className:"position--absolute top right z-index1",children:jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn__round gat--btn__close",onClick:()=>{y(),x("click-ui")},"aria-label":R("storylines.misc.closePiece"),children:jsxRuntimeExports.jsx("span",{className:"icon-close"})})}),g&&jsxRuntimeExports.jsx(PdfVisor,{soundActions:n,emitNumberOfPages:M=>F(M),url:g,endPdf:k,translate:R,keyboardControl:t})]})}function UrlComponent({emitEvent:l,getEvent:e,name:n,name_labelId:t,link:a,link_labelId:o,text:d,text_labelId:h,textForLink:f,viewed:u,documentType:p,soundActions:_,keyboardControl:R,visible:x,allowContinue:S=!1}){const g=N=>e({type:"translate",payload:N}),v={documentType:p,name:t,text:h,link:o,type:"url"},[b]=_,T=()=>{b("click-ui"),l({type:"finishMedia",payload:v})},[y,w]=React$2.useState(!1),C=R({disabled:u,forward:T,escape:T});React$2.useEffect(()=>C(),[C]);const D=a.indexOf("http")!==0?`http://${a}`:a;return React$2.useEffect(()=>{x||T()}),x&&jsxRuntimeExports.jsx("div",{className:"popup--layer",children:jsxRuntimeExports.jsxs("div",{className:"popup popup--link",children:[!u&&y||S?jsxRuntimeExports.jsx("button",{className:"popup--close unset-button","data-testid":"close",type:"button","aria-label":g("storylines.misc.closePiece"),onClick:()=>T(),children:jsxRuntimeExports.jsx("span",{className:"icon-close"})}):null,jsxRuntimeExports.jsx("span",{className:"popup--link__title",children:n}),jsxRuntimeExports.jsx("span",{className:"popup--link__desc",children:d}),jsxRuntimeExports.jsx("a",{className:"popup--link__lineclamp popup--link__url",href:D,target:"_blank",role:"link",rel:"noopener noreferrer",onClick:()=>{b("click-ui"),w(!0)},children:f||a})]})})}var hls={exports:{}};(function(l,e){typeof window<"u"&&function(t,a){l.exports=a()}(commonjsGlobal,function(){return function(n){var t={};function a(o){if(t[o])return t[o].exports;var d=t[o]={i:o,l:!1,exports:{}};return n[o].call(d.exports,d,d.exports,a),d.l=!0,d.exports}return a.m=n,a.c=t,a.d=function(o,d,h){a.o(o,d)||Object.defineProperty(o,d,{enumerable:!0,get:h})},a.r=function(o){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})},a.t=function(o,d){if(d&1&&(o=a(o)),d&8||d&4&&typeof o=="object"&&o&&o.__esModule)return o;var h=Object.create(null);if(a.r(h),Object.defineProperty(h,"default",{enumerable:!0,value:o}),d&2&&typeof o!="string")for(var f in o)a.d(h,f,(function(u){return o[u]}).bind(null,f));return h},a.n=function(o){var d=o&&o.__esModule?function(){return o.default}:function(){return o};return a.d(d,"a",d),d},a.o=function(o,d){return Object.prototype.hasOwnProperty.call(o,d)},a.p="/dist/",a(a.s="./src/hls.js")}({"./node_modules/eventemitter3/index.js":function(n,t,a){var o=Object.prototype.hasOwnProperty,d="~";function h(){}Object.create&&(h.prototype=Object.create(null),new h().__proto__||(d=!1));function f(R,x,S){this.fn=R,this.context=x,this.once=S||!1}function u(R,x,S,g,v){if(typeof S!="function")throw new TypeError("The listener must be a function");var b=new f(S,g||R,v),T=d?d+x:x;return R._events[T]?R._events[T].fn?R._events[T]=[R._events[T],b]:R._events[T].push(b):(R._events[T]=b,R._eventsCount++),R}function p(R,x){--R._eventsCount===0?R._events=new h:delete R._events[x]}function _(){this._events=new h,this._eventsCount=0}_.prototype.eventNames=function(){var x=[],S,g;if(this._eventsCount===0)return x;for(g in S=this._events)o.call(S,g)&&x.push(d?g.slice(1):g);return Object.getOwnPropertySymbols?x.concat(Object.getOwnPropertySymbols(S)):x},_.prototype.listeners=function(x){var S=d?d+x:x,g=this._events[S];if(!g)return[];if(g.fn)return[g.fn];for(var v=0,b=g.length,T=new Array(b);v<b;v++)T[v]=g[v].fn;return T},_.prototype.listenerCount=function(x){var S=d?d+x:x,g=this._events[S];return g?g.fn?1:g.length:0},_.prototype.emit=function(x,S,g,v,b,T){var y=d?d+x:x;if(!this._events[y])return!1;var w=this._events[y],C=arguments.length,D,N;if(w.fn){switch(w.once&&this.removeListener(x,w.fn,void 0,!0),C){case 1:return w.fn.call(w.context),!0;case 2:return w.fn.call(w.context,S),!0;case 3:return w.fn.call(w.context,S,g),!0;case 4:return w.fn.call(w.context,S,g,v),!0;case 5:return w.fn.call(w.context,S,g,v,b),!0;case 6:return w.fn.call(w.context,S,g,v,b,T),!0}for(N=1,D=new Array(C-1);N<C;N++)D[N-1]=arguments[N];w.fn.apply(w.context,D)}else{var P=w.length,k;for(N=0;N<P;N++)switch(w[N].once&&this.removeListener(x,w[N].fn,void 0,!0),C){case 1:w[N].fn.call(w[N].context);break;case 2:w[N].fn.call(w[N].context,S);break;case 3:w[N].fn.call(w[N].context,S,g);break;case 4:w[N].fn.call(w[N].context,S,g,v);break;default:if(!D)for(k=1,D=new Array(C-1);k<C;k++)D[k-1]=arguments[k];w[N].fn.apply(w[N].context,D)}}return!0},_.prototype.on=function(x,S,g){return u(this,x,S,g,!1)},_.prototype.once=function(x,S,g){return u(this,x,S,g,!0)},_.prototype.removeListener=function(x,S,g,v){var b=d?d+x:x;if(!this._events[b])return this;if(!S)return p(this,b),this;var T=this._events[b];if(T.fn)T.fn===S&&(!v||T.once)&&(!g||T.context===g)&&p(this,b);else{for(var y=0,w=[],C=T.length;y<C;y++)(T[y].fn!==S||v&&!T[y].once||g&&T[y].context!==g)&&w.push(T[y]);w.length?this._events[b]=w.length===1?w[0]:w:p(this,b)}return this},_.prototype.removeAllListeners=function(x){var S;return x?(S=d?d+x:x,this._events[S]&&p(this,S)):(this._events=new h,this._eventsCount=0),this},_.prototype.off=_.prototype.removeListener,_.prototype.addListener=_.prototype.on,_.prefixed=d,_.EventEmitter=_,n.exports=_},"./node_modules/node-libs-browser/node_modules/events/events.js":function(n,t){function a(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}n.exports=a,a.EventEmitter=a,a.prototype._events=void 0,a.prototype._maxListeners=void 0,a.defaultMaxListeners=10,a.prototype.setMaxListeners=function(u){if(!d(u)||u<0||isNaN(u))throw TypeError("n must be a positive number");return this._maxListeners=u,this},a.prototype.emit=function(u){var p,_,R,x,S,g;if(this._events||(this._events={}),u==="error"&&(!this._events.error||h(this._events.error)&&!this._events.error.length)){if(p=arguments[1],p instanceof Error)throw p;var v=new Error('Uncaught, unspecified "error" event. ('+p+")");throw v.context=p,v}if(_=this._events[u],f(_))return!1;if(o(_))switch(arguments.length){case 1:_.call(this);break;case 2:_.call(this,arguments[1]);break;case 3:_.call(this,arguments[1],arguments[2]);break;default:x=Array.prototype.slice.call(arguments,1),_.apply(this,x)}else if(h(_))for(x=Array.prototype.slice.call(arguments,1),g=_.slice(),R=g.length,S=0;S<R;S++)g[S].apply(this,x);return!0},a.prototype.addListener=function(u,p){var _;if(!o(p))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",u,o(p.listener)?p.listener:p),this._events[u]?h(this._events[u])?this._events[u].push(p):this._events[u]=[this._events[u],p]:this._events[u]=p,h(this._events[u])&&!this._events[u].warned&&(f(this._maxListeners)?_=a.defaultMaxListeners:_=this._maxListeners,_&&_>0&&this._events[u].length>_&&(this._events[u].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[u].length),typeof console.trace=="function"&&console.trace())),this},a.prototype.on=a.prototype.addListener,a.prototype.once=function(u,p){if(!o(p))throw TypeError("listener must be a function");var _=!1;function R(){this.removeListener(u,R),_||(_=!0,p.apply(this,arguments))}return R.listener=p,this.on(u,R),this},a.prototype.removeListener=function(u,p){var _,R,x,S;if(!o(p))throw TypeError("listener must be a function");if(!this._events||!this._events[u])return this;if(_=this._events[u],x=_.length,R=-1,_===p||o(_.listener)&&_.listener===p)delete this._events[u],this._events.removeListener&&this.emit("removeListener",u,p);else if(h(_)){for(S=x;S-- >0;)if(_[S]===p||_[S].listener&&_[S].listener===p){R=S;break}if(R<0)return this;_.length===1?(_.length=0,delete this._events[u]):_.splice(R,1),this._events.removeListener&&this.emit("removeListener",u,p)}return this},a.prototype.removeAllListeners=function(u){var p,_;if(!this._events)return this;if(!this._events.removeListener)return arguments.length===0?this._events={}:this._events[u]&&delete this._events[u],this;if(arguments.length===0){for(p in this._events)p!=="removeListener"&&this.removeAllListeners(p);return this.removeAllListeners("removeListener"),this._events={},this}if(_=this._events[u],o(_))this.removeListener(u,_);else if(_)for(;_.length;)this.removeListener(u,_[_.length-1]);return delete this._events[u],this},a.prototype.listeners=function(u){var p;return!this._events||!this._events[u]?p=[]:o(this._events[u])?p=[this._events[u]]:p=this._events[u].slice(),p},a.prototype.listenerCount=function(u){if(this._events){var p=this._events[u];if(o(p))return 1;if(p)return p.length}return 0},a.listenerCount=function(u,p){return u.listenerCount(p)};function o(u){return typeof u=="function"}function d(u){return typeof u=="number"}function h(u){return typeof u=="object"&&u!==null}function f(u){return u===void 0}},"./node_modules/url-toolkit/src/url-toolkit.js":function(n,t,a){(function(o){var d=/^((?:[a-zA-Z0-9+\-.]+:)?)(\/\/[^\/?#]*)?((?:[^\/\?#]*\/)*.*?)??(;.*?)?(\?.*?)?(#.*?)?$/,h=/^([^\/?#]*)(.*)$/,f=/(?:\/|^)\.(?=\/)/g,u=/(?:\/|^)\.\.\/(?!\.\.\/).*?(?=\/)/g,p={buildAbsoluteURL:function(_,R,x){if(x=x||{},_=_.trim(),R=R.trim(),!R){if(!x.alwaysNormalize)return _;var S=p.parseURL(_);if(!S)throw new Error("Error trying to parse base URL.");return S.path=p.normalizePath(S.path),p.buildURLFromParts(S)}var g=p.parseURL(R);if(!g)throw new Error("Error trying to parse relative URL.");if(g.scheme)return x.alwaysNormalize?(g.path=p.normalizePath(g.path),p.buildURLFromParts(g)):R;var v=p.parseURL(_);if(!v)throw new Error("Error trying to parse base URL.");if(!v.netLoc&&v.path&&v.path[0]!=="/"){var b=h.exec(v.path);v.netLoc=b[1],v.path=b[2]}v.netLoc&&!v.path&&(v.path="/");var T={scheme:v.scheme,netLoc:g.netLoc,path:null,params:g.params,query:g.query,fragment:g.fragment};if(!g.netLoc&&(T.netLoc=v.netLoc,g.path[0]!=="/"))if(!g.path)T.path=v.path,g.params||(T.params=v.params,g.query||(T.query=v.query));else{var y=v.path,w=y.substring(0,y.lastIndexOf("/")+1)+g.path;T.path=p.normalizePath(w)}return T.path===null&&(T.path=x.alwaysNormalize?p.normalizePath(g.path):g.path),p.buildURLFromParts(T)},parseURL:function(_){var R=d.exec(_);return R?{scheme:R[1]||"",netLoc:R[2]||"",path:R[3]||"",params:R[4]||"",query:R[5]||"",fragment:R[6]||""}:null},normalizePath:function(_){for(_=_.split("").reverse().join("").replace(f,"");_.length!==(_=_.replace(u,"")).length;);return _.split("").reverse().join("")},buildURLFromParts:function(_){return _.scheme+_.netLoc+_.path+_.params+_.query+_.fragment}};n.exports=p})()},"./node_modules/webworkify-webpack/index.js":function(n,t,a){function o(x){var S={};function g(b){if(S[b])return S[b].exports;var T=S[b]={i:b,l:!1,exports:{}};return x[b].call(T.exports,T,T.exports,g),T.l=!0,T.exports}g.m=x,g.c=S,g.i=function(b){return b},g.d=function(b,T,y){g.o(b,T)||Object.defineProperty(b,T,{configurable:!1,enumerable:!0,get:y})},g.r=function(b){Object.defineProperty(b,"__esModule",{value:!0})},g.n=function(b){var T=b&&b.__esModule?function(){return b.default}:function(){return b};return g.d(T,"a",T),T},g.o=function(b,T){return Object.prototype.hasOwnProperty.call(b,T)},g.p="/",g.oe=function(b){throw console.error(b),b};var v=g(g.s=ENTRY_MODULE);return v.default||v}var d="[\\.|\\-|\\+|\\w|/|@]+",h="\\((/\\*.*?\\*/)?s?.*?("+d+").*?\\)";function f(x){return(x+"").replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}function u(x){return!isNaN(1*x)}function p(x,S,g){var v={};v[g]=[];var b=S.toString(),T=b.match(/^function\s?\(\w+,\s*\w+,\s*(\w+)\)/);if(!T)return v;for(var y=T[1],w=new RegExp("(\\\\n|\\W)"+f(y)+h,"g"),C;C=w.exec(b);)C[3]!=="dll-reference"&&v[g].push(C[3]);for(w=new RegExp("\\("+f(y)+'\\("(dll-reference\\s('+d+'))"\\)\\)'+h,"g");C=w.exec(b);)x[C[2]]||(v[g].push(C[1]),x[C[2]]=a(C[1]).m),v[C[2]]=v[C[2]]||[],v[C[2]].push(C[4]);for(var D=Object.keys(v),N=0;N<D.length;N++)for(var P=0;P<v[D[N]].length;P++)u(v[D[N]][P])&&(v[D[N]][P]=1*v[D[N]][P]);return v}function _(x){var S=Object.keys(x);return S.reduce(function(g,v){return g||x[v].length>0},!1)}function R(x,S){for(var g={main:[S]},v={main:[]},b={main:{}};_(g);)for(var T=Object.keys(g),y=0;y<T.length;y++){var w=T[y],C=g[w],D=C.pop();if(b[w]=b[w]||{},!(b[w][D]||!x[w][D])){b[w][D]=!0,v[w]=v[w]||[],v[w].push(D);for(var N=p(x,x[w][D],w),P=Object.keys(N),k=0;k<P.length;k++)g[P[k]]=g[P[k]]||[],g[P[k]]=g[P[k]].concat(N[P[k]])}}return v}n.exports=function(x,S){S=S||{};var g={main:a.m},v=S.all?{main:Object.keys(g.main)}:R(g,x),b="";Object.keys(v).filter(function(D){return D!=="main"}).forEach(function(D){for(var N=0;v[D][N];)N++;v[D].push(N),g[D][N]="(function(module, exports, __webpack_require__) { module.exports = __webpack_require__; })",b=b+"var "+D+" = ("+o.toString().replace("ENTRY_MODULE",JSON.stringify(N))+")({"+v[D].map(function(P){return""+JSON.stringify(P)+": "+g[D][P].toString()}).join(",")+`});
|
|
34
|
+
`))||null;tt&&this.data.comb&&(tt=tt.replaceAll(/\s+/g,""));const ht={userValue:be,formattedValue:tt,lastCommittedValue:null,commitKey:1,focused:!1};this.data.multiLine?(pe=document.createElement("textarea"),pe.textContent=tt??be,this.data.doNotScroll&&(pe.style.overflowY="hidden")):(pe=document.createElement("input"),pe.type="text",pe.setAttribute("value",tt??be),this.data.doNotScroll&&(pe.style.overflowX="hidden")),this.data.hasOwnCanvas&&(pe.hidden=!0),_.add(pe),pe.setAttribute("data-element-id",te),pe.disabled=this.data.readOnly,pe.name=this.data.fieldName,pe.tabIndex=u,this._setRequired(pe,this.data.required),Be&&(pe.maxLength=Be),pe.addEventListener("input",vt=>{_e.setValue(te,{value:vt.target.value}),this.setPropertyOnSiblings(pe,"value",vt.target.value,"value"),ht.formattedValue=null}),pe.addEventListener("resetform",vt=>{const gt=this.data.defaultFieldValue??"";pe.value=ht.userValue=gt,ht.formattedValue=null});let At=vt=>{const{formattedValue:gt}=ht;gt!=null&&(vt.target.value=gt),vt.target.scrollLeft=0};if(this.enableScripting&&this.hasJSActions){pe.addEventListener("focus",gt=>{if(ht.focused)return;const{target:kt}=gt;ht.userValue&&(kt.value=ht.userValue),ht.lastCommittedValue=kt.value,ht.commitKey=1,ht.focused=!0}),pe.addEventListener("updatefromsandbox",gt=>{this.showElementAndHideCanvas(gt.target);const kt={value(Mt){ht.userValue=Mt.detail.value??"",_e.setValue(te,{value:ht.userValue.toString()}),Mt.target.value=ht.userValue},formattedValue(Mt){const{formattedValue:Ut}=Mt.detail;ht.formattedValue=Ut,Ut!=null&&Mt.target!==document.activeElement&&(Mt.target.value=Ut),_e.setValue(te,{formattedValue:Ut})},selRange(Mt){Mt.target.setSelectionRange(...Mt.detail.selRange)},charLimit:Mt=>{var _n;const{charLimit:Ut}=Mt.detail,{target:Kt}=Mt;if(Ut===0){Kt.removeAttribute("maxLength");return}Kt.setAttribute("maxLength",Ut);let An=ht.userValue;!An||An.length<=Ut||(An=An.slice(0,Ut),Kt.value=ht.userValue=An,_e.setValue(te,{value:An}),(_n=this.linkService.eventBus)==null||_n.dispatch("dispatcheventinsandbox",{source:this,detail:{id:te,name:"Keystroke",value:An,willCommit:!0,commitKey:1,selStart:Kt.selectionStart,selEnd:Kt.selectionEnd}}))}};this._dispatchEventFromSandbox(kt,gt)}),pe.addEventListener("keydown",gt=>{var Ut;ht.commitKey=1;let kt=-1;if(gt.key==="Escape"?kt=0:gt.key==="Enter"&&!this.data.multiLine?kt=2:gt.key==="Tab"&&(ht.commitKey=3),kt===-1)return;const{value:Mt}=gt.target;ht.lastCommittedValue!==Mt&&(ht.lastCommittedValue=Mt,ht.userValue=Mt,(Ut=this.linkService.eventBus)==null||Ut.dispatch("dispatcheventinsandbox",{source:this,detail:{id:te,name:"Keystroke",value:Mt,willCommit:!0,commitKey:kt,selStart:gt.target.selectionStart,selEnd:gt.target.selectionEnd}}))});const vt=At;At=null,pe.addEventListener("blur",gt=>{var Mt;if(!ht.focused||!gt.relatedTarget)return;ht.focused=!1;const{value:kt}=gt.target;ht.userValue=kt,ht.lastCommittedValue!==kt&&((Mt=this.linkService.eventBus)==null||Mt.dispatch("dispatcheventinsandbox",{source:this,detail:{id:te,name:"Keystroke",value:kt,willCommit:!0,commitKey:ht.commitKey,selStart:gt.target.selectionStart,selEnd:gt.target.selectionEnd}})),vt(gt)}),(we=this.data.actions)!=null&&we.Keystroke&&pe.addEventListener("beforeinput",gt=>{var mi;ht.lastCommittedValue=null;const{data:kt,target:Mt}=gt,{value:Ut,selectionStart:Kt,selectionEnd:An}=Mt;let _n=Kt,Bn=An;switch(gt.inputType){case"deleteWordBackward":{const Fr=Ut.substring(0,Kt).match(/\w*[^\w]*$/);Fr&&(_n-=Fr[0].length);break}case"deleteWordForward":{const Fr=Ut.substring(Kt).match(/^[^\w]*\w*/);Fr&&(Bn+=Fr[0].length);break}case"deleteContentBackward":Kt===An&&(_n-=1);break;case"deleteContentForward":Kt===An&&(Bn+=1);break}gt.preventDefault(),(mi=this.linkService.eventBus)==null||mi.dispatch("dispatcheventinsandbox",{source:this,detail:{id:te,name:"Keystroke",value:Ut,change:kt||"",willCommit:!1,selStart:_n,selEnd:Bn}})}),this._setEventListeners(pe,ht,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],gt=>gt.target.value)}if(At&&pe.addEventListener("blur",At),this.data.comb){const gt=(this.data.rect[2]-this.data.rect[0])/Be;pe.classList.add("comb"),pe.style.letterSpacing=`calc(${gt}px * var(--scale-factor) - 1ch)`}}else pe=document.createElement("div"),pe.textContent=this.data.fieldValue,pe.style.verticalAlign="middle",pe.style.display="table-cell";return this._setTextStyle(pe),this._setBackgroundColor(pe),this._setDefaultPropertiesFromJS(pe),this.container.append(pe),this.container}}class y extends b{constructor(_e){super(_e,{isRenderable:!!_e.data.hasOwnCanvas})}}class w extends b{constructor(_e){super(_e,{isRenderable:_e.renderForms})}render(){const _e=this.annotationStorage,te=this.data,pe=te.id;let Ee=_e.getValue(pe,{value:te.exportValue===te.fieldValue}).value;typeof Ee=="string"&&(Ee=Ee!=="Off",_e.setValue(pe,{value:Ee})),this.container.classList.add("buttonWidgetAnnotation","checkBox");const we=document.createElement("input");return _.add(we),we.setAttribute("data-element-id",pe),we.disabled=te.readOnly,this._setRequired(we,this.data.required),we.type="checkbox",we.name=te.fieldName,Ee&&we.setAttribute("checked",!0),we.setAttribute("exportValue",te.exportValue),we.tabIndex=u,we.addEventListener("change",de=>{const{name:be,checked:Be}=de.target;for(const tt of this._getElementsByName(be,pe)){const ht=Be&&tt.exportValue===te.exportValue;tt.domElement&&(tt.domElement.checked=ht),_e.setValue(tt.id,{value:ht})}_e.setValue(pe,{value:Be})}),we.addEventListener("resetform",de=>{const be=te.defaultFieldValue||"Off";de.target.checked=be===te.exportValue}),this.enableScripting&&this.hasJSActions&&(we.addEventListener("updatefromsandbox",de=>{const be={value(Be){Be.target.checked=Be.detail.value!=="Off",_e.setValue(pe,{value:Be.target.checked})}};this._dispatchEventFromSandbox(be,de)}),this._setEventListeners(we,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],de=>de.target.checked)),this._setBackgroundColor(we),this._setDefaultPropertiesFromJS(we),this.container.append(we),this.container}}class C extends b{constructor(_e){super(_e,{isRenderable:_e.renderForms})}render(){this.container.classList.add("buttonWidgetAnnotation","radioButton");const _e=this.annotationStorage,te=this.data,pe=te.id;let Ee=_e.getValue(pe,{value:te.fieldValue===te.buttonValue}).value;typeof Ee=="string"&&(Ee=Ee!==te.buttonValue,_e.setValue(pe,{value:Ee}));const we=document.createElement("input");if(_.add(we),we.setAttribute("data-element-id",pe),we.disabled=te.readOnly,this._setRequired(we,this.data.required),we.type="radio",we.name=te.fieldName,Ee&&we.setAttribute("checked",!0),we.tabIndex=u,we.addEventListener("change",de=>{const{name:be,checked:Be}=de.target;for(const tt of this._getElementsByName(be,pe))_e.setValue(tt.id,{value:!1});_e.setValue(pe,{value:Be})}),we.addEventListener("resetform",de=>{const be=te.defaultFieldValue;de.target.checked=be!=null&&be===te.buttonValue}),this.enableScripting&&this.hasJSActions){const de=te.buttonValue;we.addEventListener("updatefromsandbox",be=>{const Be={value:tt=>{const ht=de===tt.detail.value;for(const At of this._getElementsByName(tt.target.name)){const vt=ht&&At.id===pe;At.domElement&&(At.domElement.checked=vt),_e.setValue(At.id,{value:vt})}}};this._dispatchEventFromSandbox(Be,be)}),this._setEventListeners(we,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],be=>be.target.checked)}return this._setBackgroundColor(we),this._setDefaultPropertiesFromJS(we),this.container.append(we),this.container}}class D extends g{constructor(_e){super(_e,{ignoreBorder:_e.data.hasAppearance})}render(){const _e=super.render();_e.classList.add("buttonWidgetAnnotation","pushButton"),this.data.alternativeText&&(_e.title=this.data.alternativeText);const te=_e.lastChild;return this.enableScripting&&this.hasJSActions&&te&&(this._setDefaultPropertiesFromJS(te),te.addEventListener("updatefromsandbox",pe=>{this._dispatchEventFromSandbox({},pe)})),_e}}class N extends b{constructor(_e){super(_e,{isRenderable:_e.renderForms})}render(){this.container.classList.add("choiceWidgetAnnotation");const _e=this.annotationStorage,te=this.data.id,pe=_e.getValue(te,{value:this.data.fieldValue}),Ee=document.createElement("select");_.add(Ee),Ee.setAttribute("data-element-id",te),Ee.disabled=this.data.readOnly,this._setRequired(Ee,this.data.required),Ee.name=this.data.fieldName,Ee.tabIndex=u;let we=this.data.combo&&this.data.options.length>0;this.data.combo||(Ee.size=this.data.options.length,this.data.multiSelect&&(Ee.multiple=!0)),Ee.addEventListener("resetform",ht=>{const At=this.data.defaultFieldValue;for(const vt of Ee.options)vt.selected=vt.value===At});for(const ht of this.data.options){const At=document.createElement("option");At.textContent=ht.displayValue,At.value=ht.exportValue,pe.value.includes(ht.exportValue)&&(At.setAttribute("selected",!0),we=!1),Ee.append(At)}let de=null;if(we){const ht=document.createElement("option");ht.value=" ",ht.setAttribute("hidden",!0),ht.setAttribute("selected",!0),Ee.prepend(ht),de=()=>{ht.remove(),Ee.removeEventListener("input",de),de=null},Ee.addEventListener("input",de)}const be=ht=>{const At=ht?"value":"textContent",{options:vt,multiple:gt}=Ee;return gt?Array.prototype.filter.call(vt,kt=>kt.selected).map(kt=>kt[At]):vt.selectedIndex===-1?null:vt[vt.selectedIndex][At]};let Be=be(!1);const tt=ht=>{const At=ht.target.options;return Array.prototype.map.call(At,vt=>({displayValue:vt.textContent,exportValue:vt.value}))};return this.enableScripting&&this.hasJSActions?(Ee.addEventListener("updatefromsandbox",ht=>{const At={value(vt){de==null||de();const gt=vt.detail.value,kt=new Set(Array.isArray(gt)?gt:[gt]);for(const Mt of Ee.options)Mt.selected=kt.has(Mt.value);_e.setValue(te,{value:be(!0)}),Be=be(!1)},multipleSelection(vt){Ee.multiple=!0},remove(vt){const gt=Ee.options,kt=vt.detail.remove;gt[kt].selected=!1,Ee.remove(kt),gt.length>0&&Array.prototype.findIndex.call(gt,Ut=>Ut.selected)===-1&&(gt[0].selected=!0),_e.setValue(te,{value:be(!0),items:tt(vt)}),Be=be(!1)},clear(vt){for(;Ee.length!==0;)Ee.remove(0);_e.setValue(te,{value:null,items:[]}),Be=be(!1)},insert(vt){const{index:gt,displayValue:kt,exportValue:Mt}=vt.detail.insert,Ut=Ee.children[gt],Kt=document.createElement("option");Kt.textContent=kt,Kt.value=Mt,Ut?Ut.before(Kt):Ee.append(Kt),_e.setValue(te,{value:be(!0),items:tt(vt)}),Be=be(!1)},items(vt){const{items:gt}=vt.detail;for(;Ee.length!==0;)Ee.remove(0);for(const kt of gt){const{displayValue:Mt,exportValue:Ut}=kt,Kt=document.createElement("option");Kt.textContent=Mt,Kt.value=Ut,Ee.append(Kt)}Ee.options.length>0&&(Ee.options[0].selected=!0),_e.setValue(te,{value:be(!0),items:tt(vt)}),Be=be(!1)},indices(vt){const gt=new Set(vt.detail.indices);for(const kt of vt.target.options)kt.selected=gt.has(kt.index);_e.setValue(te,{value:be(!0)}),Be=be(!1)},editable(vt){vt.target.disabled=!vt.detail.editable}};this._dispatchEventFromSandbox(At,ht)}),Ee.addEventListener("input",ht=>{var vt;const At=be(!0);_e.setValue(te,{value:At}),ht.preventDefault(),(vt=this.linkService.eventBus)==null||vt.dispatch("dispatcheventinsandbox",{source:this,detail:{id:te,name:"Keystroke",value:Be,changeEx:At,willCommit:!1,commitKey:1,keyDown:!1}})}),this._setEventListeners(Ee,null,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"],["input","Action"],["input","Validate"]],ht=>ht.target.value)):Ee.addEventListener("input",function(ht){_e.setValue(te,{value:be(!0)})}),this.data.combo&&this._setTextStyle(Ee),this._setBackgroundColor(Ee),this._setDefaultPropertiesFromJS(Ee),this.container.append(Ee),this.container}}class P extends S{constructor(_e){const{data:te,elements:pe}=_e;super(_e,{isRenderable:S._hasPopupData(te)}),this.elements=pe}render(){this.container.classList.add("popupAnnotation");const _e=new k({container:this.container,color:this.data.color,titleObj:this.data.titleObj,modificationDate:this.data.modificationDate,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}),te=[];for(const pe of this.elements)pe.popup=_e,te.push(pe.data.id),pe.addHighlightArea();return this.container.setAttribute("aria-controls",te.map(pe=>`${t.AnnotationPrefix}${pe}`).join(",")),this.container}}class k{constructor({container:_e,color:te,elements:pe,titleObj:Ee,modificationDate:we,contentsObj:de,richText:be,parent:Be,rect:tt,parentRect:ht,open:At}){Ae(this,St);Ae(this,ot);Ae(this,rt);Ae(this,Ge);Ae(this,fe,null);Ae(this,ce,Ue(this,St,ly).bind(this));Ae(this,ge,Ue(this,Ge,qm).bind(this));Ae(this,Se,Ue(this,rt,Ym).bind(this));Ae(this,Te,Ue(this,ot,Wf).bind(this));Ae(this,Fe,null);Ae(this,Ne,null);Ae(this,Qe,null);Ae(this,st,null);Ae(this,Ze,null);Ae(this,yt,null);Ae(this,Ve,!1);Ae(this,Me,null);Ae(this,Le,null);Ae(this,Ke,null);Ae(this,ke,null);Ae(this,qe,!1);var gt;We(this,Ne,_e),We(this,ke,Ee),We(this,Qe,de),We(this,Ke,be),We(this,Ze,Be),We(this,Fe,te),We(this,Le,tt),We(this,yt,ht),We(this,st,pe);const vt=a.PDFDateString.toDateObject(we);vt&&We(this,fe,Be.l10n.get("annotation_date_string",{date:vt.toLocaleDateString(),time:vt.toLocaleTimeString()})),this.trigger=pe.flatMap(kt=>kt.getElementsToTriggerPopup());for(const kt of this.trigger)kt.addEventListener("click",Z(this,Te)),kt.addEventListener("mouseenter",Z(this,Se)),kt.addEventListener("mouseleave",Z(this,ge)),kt.classList.add("popupTriggerArea");for(const kt of pe)(gt=kt.container)==null||gt.addEventListener("keydown",Z(this,ce));Z(this,Ne).hidden=!0,At&&Ue(this,ot,Wf).call(this)}render(){if(Z(this,Me))return;const{page:{view:_e},viewport:{rawDims:{pageWidth:te,pageHeight:pe,pageX:Ee,pageY:we}}}=Z(this,Ze),de=We(this,Me,document.createElement("div"));if(de.className="popup",Z(this,Fe)){const _n=de.style.outlineColor=t.Util.makeHexColor(...Z(this,Fe));CSS.supports("background-color","color-mix(in srgb, red 30%, white)")?de.style.backgroundColor=`color-mix(in srgb, ${_n} 30%, white)`:de.style.backgroundColor=t.Util.makeHexColor(...Z(this,Fe).map(mi=>Math.floor(.7*(255-mi)+mi)))}const be=document.createElement("span");be.className="header";const Be=document.createElement("h1");if(be.append(Be),{dir:Be.dir,str:Be.textContent}=Z(this,ke),de.append(be),Z(this,fe)){const _n=document.createElement("span");_n.classList.add("popupDate"),Z(this,fe).then(Bn=>{_n.textContent=Bn}),be.append(_n)}const tt=Z(this,Qe),ht=Z(this,Ke);if(ht!=null&&ht.str&&(!(tt!=null&&tt.str)||tt.str===ht.str))f.XfaLayer.render({xfaHtml:ht.html,intent:"richText",div:de}),de.lastChild.classList.add("richText","popupContent");else{const _n=this._formatContents(tt);de.append(_n)}let At=!!Z(this,yt),vt=At?Z(this,yt):Z(this,Le);for(const _n of Z(this,st))if(!vt||t.Util.intersect(_n.data.rect,vt)!==null){vt=_n.data.rect,At=!0;break}const gt=t.Util.normalizeRect([vt[0],_e[3]-vt[1]+_e[1],vt[2],_e[3]-vt[3]+_e[1]]),Mt=At?vt[2]-vt[0]+5:0,Ut=gt[0]+Mt,Kt=gt[1],{style:An}=Z(this,Ne);An.left=`${100*(Ut-Ee)/te}%`,An.top=`${100*(Kt-we)/pe}%`,Z(this,Ne).append(de)}_formatContents({str:_e,dir:te}){const pe=document.createElement("p");pe.classList.add("popupContent"),pe.dir=te;const Ee=_e.split(/(?:\r\n?|\n)/);for(let we=0,de=Ee.length;we<de;++we){const be=Ee[we];pe.append(document.createTextNode(be)),we<de-1&&pe.append(document.createElement("br"))}return pe}forceHide(){We(this,qe,this.isVisible),Z(this,qe)&&(Z(this,Ne).hidden=!0)}maybeShow(){Z(this,qe)&&(We(this,qe,!1),Z(this,Ne).hidden=!1)}get isVisible(){return Z(this,Ne).hidden===!1}}fe=new WeakMap,ce=new WeakMap,ge=new WeakMap,Se=new WeakMap,Te=new WeakMap,Fe=new WeakMap,Ne=new WeakMap,Qe=new WeakMap,st=new WeakMap,Ze=new WeakMap,yt=new WeakMap,Ve=new WeakMap,Me=new WeakMap,Le=new WeakMap,Ke=new WeakMap,ke=new WeakMap,qe=new WeakMap,St=new WeakSet,ly=function(_e){_e.altKey||_e.shiftKey||_e.ctrlKey||_e.metaKey||(_e.key==="Enter"||_e.key==="Escape"&&Z(this,Ve))&&Ue(this,ot,Wf).call(this)},ot=new WeakSet,Wf=function(){We(this,Ve,!Z(this,Ve)),Z(this,Ve)?(Ue(this,rt,Ym).call(this),Z(this,Ne).addEventListener("click",Z(this,Te)),Z(this,Ne).addEventListener("keydown",Z(this,ce))):(Ue(this,Ge,qm).call(this),Z(this,Ne).removeEventListener("click",Z(this,Te)),Z(this,Ne).removeEventListener("keydown",Z(this,ce)))},rt=new WeakSet,Ym=function(){Z(this,Me)||this.render(),this.isVisible?Z(this,Ve)&&Z(this,Ne).classList.add("focused"):(Z(this,Ne).hidden=!1,Z(this,Ne).style.zIndex=parseInt(Z(this,Ne).style.zIndex)+1e3)},Ge=new WeakSet,qm=function(){Z(this,Ne).classList.remove("focused"),!(Z(this,Ve)||!this.isVisible)&&(Z(this,Ne).hidden=!0,Z(this,Ne).style.zIndex=parseInt(Z(this,Ne).style.zIndex)-1e3)};class F extends S{constructor(_e){super(_e,{isRenderable:!0,ignoreBorder:!0}),this.textContent=_e.data.textContent,this.textPosition=_e.data.textPosition,this.annotationEditorType=t.AnnotationEditorType.FREETEXT}render(){if(this.container.classList.add("freeTextAnnotation"),this.textContent){const _e=document.createElement("div");_e.classList.add("annotationTextContent"),_e.setAttribute("role","comment");for(const te of this.textContent){const pe=document.createElement("span");pe.textContent=te,_e.append(pe)}this.container.append(_e)}return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this._editOnDoubleClick(),this.container}}e.FreeTextAnnotationElement=F;class M extends S{constructor(te){super(te,{isRenderable:!0,ignoreBorder:!0});Ae(this,Re,null)}render(){this.container.classList.add("lineAnnotation");const te=this.data,{width:pe,height:Ee}=R(te.rect),we=this.svgFactory.create(pe,Ee,!0),de=We(this,Re,this.svgFactory.createElement("svg:line"));return de.setAttribute("x1",te.rect[2]-te.lineCoordinates[0]),de.setAttribute("y1",te.rect[3]-te.lineCoordinates[1]),de.setAttribute("x2",te.rect[2]-te.lineCoordinates[2]),de.setAttribute("y2",te.rect[3]-te.lineCoordinates[3]),de.setAttribute("stroke-width",te.borderStyle.width||1),de.setAttribute("stroke","transparent"),de.setAttribute("fill","transparent"),we.append(de),this.container.append(we),!te.popupRef&&this.hasPopupData&&this._createPopup(),this.container}getElementsToTriggerPopup(){return Z(this,Re)}addHighlightArea(){this.container.classList.add("highlightArea")}}Re=new WeakMap;class j extends S{constructor(te){super(te,{isRenderable:!0,ignoreBorder:!0});Ae(this,ye,null)}render(){this.container.classList.add("squareAnnotation");const te=this.data,{width:pe,height:Ee}=R(te.rect),we=this.svgFactory.create(pe,Ee,!0),de=te.borderStyle.width,be=We(this,ye,this.svgFactory.createElement("svg:rect"));return be.setAttribute("x",de/2),be.setAttribute("y",de/2),be.setAttribute("width",pe-de),be.setAttribute("height",Ee-de),be.setAttribute("stroke-width",de||1),be.setAttribute("stroke","transparent"),be.setAttribute("fill","transparent"),we.append(be),this.container.append(we),!te.popupRef&&this.hasPopupData&&this._createPopup(),this.container}getElementsToTriggerPopup(){return Z(this,ye)}addHighlightArea(){this.container.classList.add("highlightArea")}}ye=new WeakMap;class $ extends S{constructor(te){super(te,{isRenderable:!0,ignoreBorder:!0});Ae(this,Pe,null)}render(){this.container.classList.add("circleAnnotation");const te=this.data,{width:pe,height:Ee}=R(te.rect),we=this.svgFactory.create(pe,Ee,!0),de=te.borderStyle.width,be=We(this,Pe,this.svgFactory.createElement("svg:ellipse"));return be.setAttribute("cx",pe/2),be.setAttribute("cy",Ee/2),be.setAttribute("rx",pe/2-de/2),be.setAttribute("ry",Ee/2-de/2),be.setAttribute("stroke-width",de||1),be.setAttribute("stroke","transparent"),be.setAttribute("fill","transparent"),we.append(be),this.container.append(we),!te.popupRef&&this.hasPopupData&&this._createPopup(),this.container}getElementsToTriggerPopup(){return Z(this,Pe)}addHighlightArea(){this.container.classList.add("highlightArea")}}Pe=new WeakMap;class B extends S{constructor(te){super(te,{isRenderable:!0,ignoreBorder:!0});Ae(this,Xe,null);this.containerClassName="polylineAnnotation",this.svgElementName="svg:polyline"}render(){this.container.classList.add(this.containerClassName);const te=this.data,{width:pe,height:Ee}=R(te.rect),we=this.svgFactory.create(pe,Ee,!0);let de=[];for(const Be of te.vertices){const tt=Be.x-te.rect[0],ht=te.rect[3]-Be.y;de.push(tt+","+ht)}de=de.join(" ");const be=We(this,Xe,this.svgFactory.createElement(this.svgElementName));return be.setAttribute("points",de),be.setAttribute("stroke-width",te.borderStyle.width||1),be.setAttribute("stroke","transparent"),be.setAttribute("fill","transparent"),we.append(be),this.container.append(we),!te.popupRef&&this.hasPopupData&&this._createPopup(),this.container}getElementsToTriggerPopup(){return Z(this,Xe)}addHighlightArea(){this.container.classList.add("highlightArea")}}Xe=new WeakMap;class X extends B{constructor(_e){super(_e),this.containerClassName="polygonAnnotation",this.svgElementName="svg:polygon"}}class re extends S{constructor(_e){super(_e,{isRenderable:!0,ignoreBorder:!0})}render(){return this.container.classList.add("caretAnnotation"),!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container}}class ae extends S{constructor(te){super(te,{isRenderable:!0,ignoreBorder:!0});Ae(this,Ft,[]);this.containerClassName="inkAnnotation",this.svgElementName="svg:polyline",this.annotationEditorType=t.AnnotationEditorType.INK}render(){this.container.classList.add(this.containerClassName);const te=this.data,{width:pe,height:Ee}=R(te.rect),we=this.svgFactory.create(pe,Ee,!0);for(const de of te.inkLists){let be=[];for(const tt of de){const ht=tt.x-te.rect[0],At=te.rect[3]-tt.y;be.push(`${ht},${At}`)}be=be.join(" ");const Be=this.svgFactory.createElement(this.svgElementName);Z(this,Ft).push(Be),Be.setAttribute("points",be),Be.setAttribute("stroke-width",te.borderStyle.width||1),Be.setAttribute("stroke","transparent"),Be.setAttribute("fill","transparent"),!te.popupRef&&this.hasPopupData&&this._createPopup(),we.append(Be)}return this.container.append(we),this.container}getElementsToTriggerPopup(){return Z(this,Ft)}addHighlightArea(){this.container.classList.add("highlightArea")}}Ft=new WeakMap,e.InkAnnotationElement=ae;class ee extends S{constructor(_e){super(_e,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.classList.add("highlightAnnotation"),this.container}}class K extends S{constructor(_e){super(_e,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.classList.add("underlineAnnotation"),this.container}}class ne extends S{constructor(_e){super(_e,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.classList.add("squigglyAnnotation"),this.container}}class ue extends S{constructor(_e){super(_e,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.classList.add("strikeoutAnnotation"),this.container}}class me extends S{constructor(_e){super(_e,{isRenderable:!0,ignoreBorder:!0})}render(){return this.container.classList.add("stampAnnotation"),!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container}}e.StampAnnotationElement=me;class J extends S{constructor(te){var we;super(te,{isRenderable:!0});Ae(this,Ie);Ae(this,Pt,null);const{filename:pe,content:Ee}=this.data.file;this.filename=(0,a.getFilenameFromUrl)(pe,!0),this.content=Ee,(we=this.linkService.eventBus)==null||we.dispatch("fileattachmentannotation",{source:this,filename:pe,content:Ee})}render(){this.container.classList.add("fileAttachmentAnnotation");const{container:te,data:pe}=this;let Ee;pe.hasAppearance||pe.fillAlpha===0?Ee=document.createElement("div"):(Ee=document.createElement("img"),Ee.src=`${this.imageResourcesPath}annotation-${/paperclip/i.test(pe.name)?"paperclip":"pushpin"}.svg`,pe.fillAlpha&&pe.fillAlpha<1&&(Ee.style=`filter: opacity(${Math.round(pe.fillAlpha*100)}%);`)),Ee.addEventListener("dblclick",Ue(this,Ie,Qm).bind(this)),We(this,Pt,Ee);const{isMac:we}=t.FeatureTest.platform;return te.addEventListener("keydown",de=>{de.key==="Enter"&&(we?de.metaKey:de.ctrlKey)&&Ue(this,Ie,Qm).call(this)}),!pe.popupRef&&this.hasPopupData?this._createPopup():Ee.classList.add("popupTriggerArea"),te.append(Ee),te}getElementsToTriggerPopup(){return Z(this,Pt)}addHighlightArea(){this.container.classList.add("highlightArea")}}Pt=new WeakMap,Ie=new WeakSet,Qm=function(){var te;(te=this.downloadManager)==null||te.openOrDownloadData(this.container,this.content,this.filename)};class H{constructor({div:_e,accessibilityManager:te,annotationCanvasMap:pe,l10n:Ee,page:we,viewport:de}){Ae(this,Nt);Ae(this,Oe);Ae(this,Ct,null);Ae(this,at,null);Ae(this,wt,new Map);this.div=_e,We(this,Ct,te),We(this,at,pe),this.l10n=Ee,this.page=we,this.viewport=de,this.zIndex=0,this.l10n||(this.l10n=h.NullL10n)}async render(_e){const{annotations:te}=_e,pe=this.div;(0,a.setLayerDimensions)(pe,this.viewport);const Ee=new Map,we={data:null,layer:pe,linkService:_e.linkService,downloadManager:_e.downloadManager,imageResourcesPath:_e.imageResourcesPath||"",renderForms:_e.renderForms!==!1,svgFactory:new a.DOMSVGFactory,annotationStorage:_e.annotationStorage||new o.AnnotationStorage,enableScripting:_e.enableScripting===!0,hasJSActions:_e.hasJSActions,fieldObjects:_e.fieldObjects,parent:this,elements:null};for(const de of te){if(de.noHTML)continue;const be=de.annotationType===t.AnnotationType.POPUP;if(be){const ht=Ee.get(de.id);if(!ht)continue;we.elements=ht}else{const{width:ht,height:At}=R(de.rect);if(ht<=0||At<=0)continue}we.data=de;const Be=x.create(we);if(!Be.isRenderable)continue;if(!be&&de.popupRef){const ht=Ee.get(de.popupRef);ht?ht.push(Be):Ee.set(de.popupRef,[Be])}Be.annotationEditorType>0&&Z(this,wt).set(Be.data.id,Be);const tt=Be.render();de.hidden&&(tt.style.visibility="hidden"),Ue(this,Nt,uy).call(this,tt,de.id)}Ue(this,Oe,Jm).call(this),await this.l10n.translate(pe)}update({viewport:_e}){const te=this.div;this.viewport=_e,(0,a.setLayerDimensions)(te,{rotation:_e.rotation}),Ue(this,Oe,Jm).call(this),te.hidden=!1}getEditableAnnotations(){return Array.from(Z(this,wt).values())}getEditableAnnotation(_e){return Z(this,wt).get(_e)}}Ct=new WeakMap,at=new WeakMap,wt=new WeakMap,Nt=new WeakSet,uy=function(_e,te){var Ee;const pe=_e.firstChild||_e;pe.id=`${t.AnnotationPrefix}${te}`,this.div.append(_e),(Ee=Z(this,Ct))==null||Ee.moveElementInDOM(this.div,_e,pe,!1)},Oe=new WeakSet,Jm=function(){if(!Z(this,at))return;const _e=this.div;for(const[te,pe]of Z(this,at)){const Ee=_e.querySelector(`[data-annotation-id="${te}"]`);if(!Ee)continue;const{firstChild:we}=Ee;we?we.nodeName==="CANVAS"?we.replaceWith(pe):we.before(pe):Ee.append(pe)}Z(this,at).clear()},e.AnnotationLayer=H},(l,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ColorConverters=void 0;function n(o){return Math.floor(Math.max(0,Math.min(1,o))*255).toString(16).padStart(2,"0")}function t(o){return Math.max(0,Math.min(255,255*o))}class a{static CMYK_G([d,h,f,u]){return["G",1-Math.min(1,.3*d+.59*f+.11*h+u)]}static G_CMYK([d]){return["CMYK",0,0,0,1-d]}static G_RGB([d]){return["RGB",d,d,d]}static G_rgb([d]){return d=t(d),[d,d,d]}static G_HTML([d]){const h=n(d);return`#${h}${h}${h}`}static RGB_G([d,h,f]){return["G",.3*d+.59*h+.11*f]}static RGB_rgb(d){return d.map(t)}static RGB_HTML(d){return`#${d.map(n).join("")}`}static T_HTML(){return"#00000000"}static T_rgb(){return[null]}static CMYK_RGB([d,h,f,u]){return["RGB",1-Math.min(1,d+u),1-Math.min(1,f+u),1-Math.min(1,h+u)]}static CMYK_rgb([d,h,f,u]){return[t(1-Math.min(1,d+u)),t(1-Math.min(1,f+u)),t(1-Math.min(1,h+u))]}static CMYK_HTML(d){const h=this.CMYK_RGB(d).slice(1);return this.RGB_HTML(h)}static RGB_CMYK([d,h,f]){const u=1-d,p=1-h,_=1-f,R=Math.min(u,p,_);return["CMYK",u,p,_,R]}}e.ColorConverters=a},(l,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.NullL10n=void 0,e.getL10nFallback=t;const n={of_pages:"of {{pagesCount}}",page_of_pages:"({{pageNumber}} of {{pagesCount}})",document_properties_kb:"{{size_kb}} KB ({{size_b}} bytes)",document_properties_mb:"{{size_mb}} MB ({{size_b}} bytes)",document_properties_date_string:"{{date}}, {{time}}",document_properties_page_size_unit_inches:"in",document_properties_page_size_unit_millimeters:"mm",document_properties_page_size_orientation_portrait:"portrait",document_properties_page_size_orientation_landscape:"landscape",document_properties_page_size_name_a3:"A3",document_properties_page_size_name_a4:"A4",document_properties_page_size_name_letter:"Letter",document_properties_page_size_name_legal:"Legal",document_properties_page_size_dimension_string:"{{width}} × {{height}} {{unit}} ({{orientation}})",document_properties_page_size_dimension_name_string:"{{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})",document_properties_linearized_yes:"Yes",document_properties_linearized_no:"No",additional_layers:"Additional Layers",page_landmark:"Page {{page}}",thumb_page_title:"Page {{page}}",thumb_page_canvas:"Thumbnail of Page {{page}}",find_reached_top:"Reached top of document, continued from bottom",find_reached_bottom:"Reached end of document, continued from top","find_match_count[one]":"{{current}} of {{total}} match","find_match_count[other]":"{{current}} of {{total}} matches","find_match_count_limit[one]":"More than {{limit}} match","find_match_count_limit[other]":"More than {{limit}} matches",find_not_found:"Phrase not found",page_scale_width:"Page Width",page_scale_fit:"Page Fit",page_scale_auto:"Automatic Zoom",page_scale_actual:"Actual Size",page_scale_percent:"{{scale}}%",loading_error:"An error occurred while loading the PDF.",invalid_file_error:"Invalid or corrupted PDF file.",missing_file_error:"Missing PDF file.",unexpected_response_error:"Unexpected server response.",rendering_error:"An error occurred while rendering the page.",annotation_date_string:"{{date}}, {{time}}",printing_not_supported:"Warning: Printing is not fully supported by this browser.",printing_not_ready:"Warning: The PDF is not fully loaded for printing.",web_fonts_disabled:"Web fonts are disabled: unable to use embedded PDF fonts.",free_text2_default_content:"Start typing…",editor_free_text2_aria_label:"Text Editor",editor_ink2_aria_label:"Draw Editor",editor_ink_canvas_aria_label:"User-created image",editor_alt_text_button_label:"Alt text",editor_alt_text_edit_button_label:"Edit alt text",editor_alt_text_decorative_tooltip:"Marked as decorative"};n.print_progress_percent="{{progress}}%";function t(d,h){switch(d){case"find_match_count":d=`find_match_count[${h.total===1?"one":"other"}]`;break;case"find_match_count_limit":d=`find_match_count_limit[${h.limit===1?"one":"other"}]`;break}return n[d]||""}function a(d,h){return h?d.replaceAll(/\{\{\s*(\w+)\s*\}\}/g,(f,u)=>u in h?h[u]:"{{"+u+"}}"):d}const o={async getLanguage(){return"en-us"},async getDirection(){return"ltr"},async get(d,h=null,f=t(d,h)){return a(f,h)},async translate(d){}};e.NullL10n=o},(l,e,n)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.XfaLayer=void 0;var t=n(25);class a{static setupStorage(d,h,f,u,p){const _=u.getValue(h,{value:null});switch(f.name){case"textarea":if(_.value!==null&&(d.textContent=_.value),p==="print")break;d.addEventListener("input",R=>{u.setValue(h,{value:R.target.value})});break;case"input":if(f.attributes.type==="radio"||f.attributes.type==="checkbox"){if(_.value===f.attributes.xfaOn?d.setAttribute("checked",!0):_.value===f.attributes.xfaOff&&d.removeAttribute("checked"),p==="print")break;d.addEventListener("change",R=>{u.setValue(h,{value:R.target.checked?R.target.getAttribute("xfaOn"):R.target.getAttribute("xfaOff")})})}else{if(_.value!==null&&d.setAttribute("value",_.value),p==="print")break;d.addEventListener("input",R=>{u.setValue(h,{value:R.target.value})})}break;case"select":if(_.value!==null){d.setAttribute("value",_.value);for(const R of f.children)R.attributes.value===_.value?R.attributes.selected=!0:R.attributes.hasOwnProperty("selected")&&delete R.attributes.selected}d.addEventListener("input",R=>{const x=R.target.options,S=x.selectedIndex===-1?"":x[x.selectedIndex].value;u.setValue(h,{value:S})});break}}static setAttributes({html:d,element:h,storage:f=null,intent:u,linkService:p}){const{attributes:_}=h,R=d instanceof HTMLAnchorElement;_.type==="radio"&&(_.name=`${_.name}-${u}`);for(const[x,S]of Object.entries(_))if(S!=null)switch(x){case"class":S.length&&d.setAttribute(x,S.join(" "));break;case"dataId":break;case"id":d.setAttribute("data-element-id",S);break;case"style":Object.assign(d.style,S);break;case"textContent":d.textContent=S;break;default:(!R||x!=="href"&&x!=="newWindow")&&d.setAttribute(x,S)}R&&p.addLinkAttributes(d,_.href,_.newWindow),f&&_.dataId&&this.setupStorage(d,_.dataId,h,f)}static render(d){var g;const h=d.annotationStorage,f=d.linkService,u=d.xfaHtml,p=d.intent||"display",_=document.createElement(u.name);u.attributes&&this.setAttributes({html:_,element:u,intent:p,linkService:f});const R=[[u,-1,_]],x=d.div;if(x.append(_),d.viewport){const v=`matrix(${d.viewport.transform.join(",")})`;x.style.transform=v}p!=="richText"&&x.setAttribute("class","xfaLayer xfaFont");const S=[];for(;R.length>0;){const[v,b,T]=R.at(-1);if(b+1===v.children.length){R.pop();continue}const y=v.children[++R.at(-1)[1]];if(y===null)continue;const{name:w}=y;if(w==="#text"){const D=document.createTextNode(y.value);S.push(D),T.append(D);continue}const C=(g=y==null?void 0:y.attributes)!=null&&g.xmlns?document.createElementNS(y.attributes.xmlns,w):document.createElement(w);if(T.append(C),y.attributes&&this.setAttributes({html:C,element:y,storage:h,intent:p,linkService:f}),y.children&&y.children.length>0)R.push([y,-1,C]);else if(y.value){const D=document.createTextNode(y.value);t.XfaText.shouldBuildText(w)&&S.push(D),C.append(D)}}for(const v of x.querySelectorAll(".xfaNonInteractive input, .xfaNonInteractive textarea"))v.setAttribute("readOnly",!0);return{textDivs:S}}static update(d){const h=`matrix(${d.viewport.transform.join(",")})`;d.div.style.transform=h,d.div.hidden=!1}}e.XfaLayer=a},(l,e,n)=>{var u,p,_,R,x,S,g,v,b,T,y,w,C,D,N,cy,k,dy,M,fy,$,hy,X,Zm,ae,py,K,eg,ue,my,J,gy,W,vy,z,yy,ie,_y,fe,xs,ge,tg,Te,Kf,Ne,Xf,st,ru,yt,ng,Me,Yf,Ke,xy,qe,rg,Ye,Ey,$e,Sy,ft,ig,De,qf,ye,iu;Object.defineProperty(e,"__esModule",{value:!0}),e.InkEditor=void 0;var t=n(1),a=n(4),o=n(29),d=n(6),h=n(5);const Xe=class Xe extends a.AnnotationEditor{constructor(Ie){super({...Ie,name:"inkEditor"});Ae(this,N);Ae(this,k);Ae(this,M);Ae(this,$);Ae(this,X);Ae(this,ae);Ae(this,K);Ae(this,ue);Ae(this,J);Ae(this,W);Ae(this,z);Ae(this,ie);Ae(this,fe);Ae(this,ge);Ae(this,Te);Ae(this,Ne);Ae(this,st);Ae(this,yt);Ae(this,Me);Ae(this,$e);Ae(this,ft);Ae(this,De);Ae(this,ye);Ae(this,u,0);Ae(this,p,0);Ae(this,_,this.canvasPointermove.bind(this));Ae(this,R,this.canvasPointerleave.bind(this));Ae(this,x,this.canvasPointerup.bind(this));Ae(this,S,this.canvasPointerdown.bind(this));Ae(this,g,new Path2D);Ae(this,v,!1);Ae(this,b,!1);Ae(this,T,!1);Ae(this,y,null);Ae(this,w,0);Ae(this,C,0);Ae(this,D,null);this.color=Ie.color||null,this.thickness=Ie.thickness||null,this.opacity=Ie.opacity||null,this.paths=[],this.bezierPath2D=[],this.allRawPaths=[],this.currentPath=[],this.scaleFactor=1,this.translationX=this.translationY=0,this.x=0,this.y=0,this._willKeepAspectRatio=!0}static initialize(Ie){a.AnnotationEditor.initialize(Ie,{strings:["editor_ink_canvas_aria_label","editor_ink2_aria_label"]})}static updateDefaultParams(Ie,mt){switch(Ie){case t.AnnotationEditorParamsType.INK_THICKNESS:Xe._defaultThickness=mt;break;case t.AnnotationEditorParamsType.INK_COLOR:Xe._defaultColor=mt;break;case t.AnnotationEditorParamsType.INK_OPACITY:Xe._defaultOpacity=mt/100;break}}updateParams(Ie,mt){switch(Ie){case t.AnnotationEditorParamsType.INK_THICKNESS:Ue(this,N,cy).call(this,mt);break;case t.AnnotationEditorParamsType.INK_COLOR:Ue(this,k,dy).call(this,mt);break;case t.AnnotationEditorParamsType.INK_OPACITY:Ue(this,M,fy).call(this,mt);break}}static get defaultPropertiesToUpdate(){return[[t.AnnotationEditorParamsType.INK_THICKNESS,Xe._defaultThickness],[t.AnnotationEditorParamsType.INK_COLOR,Xe._defaultColor||a.AnnotationEditor._defaultLineColor],[t.AnnotationEditorParamsType.INK_OPACITY,Math.round(Xe._defaultOpacity*100)]]}get propertiesToUpdate(){return[[t.AnnotationEditorParamsType.INK_THICKNESS,this.thickness||Xe._defaultThickness],[t.AnnotationEditorParamsType.INK_COLOR,this.color||Xe._defaultColor||a.AnnotationEditor._defaultLineColor],[t.AnnotationEditorParamsType.INK_OPACITY,Math.round(100*(this.opacity??Xe._defaultOpacity))]]}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(this.canvas||(Ue(this,Te,Kf).call(this),Ue(this,Ne,Xf).call(this)),this.isAttachedToDOM||(this.parent.add(this),Ue(this,st,ru).call(this)),Ue(this,ye,iu).call(this)))}remove(){this.canvas!==null&&(this.isEmpty()||this.commit(),this.canvas.width=this.canvas.height=0,this.canvas.remove(),this.canvas=null,Z(this,y).disconnect(),We(this,y,null),super.remove())}setParent(Ie){!this.parent&&Ie?this._uiManager.removeShouldRescale(this):this.parent&&Ie===null&&this._uiManager.addShouldRescale(this),super.setParent(Ie)}onScaleChanging(){const[Ie,mt]=this.parentDimensions,Ct=this.width*Ie,at=this.height*mt;this.setDimensions(Ct,at)}enableEditMode(){Z(this,v)||this.canvas===null||(super.enableEditMode(),this._isDraggable=!1,this.canvas.addEventListener("pointerdown",Z(this,S)))}disableEditMode(){!this.isInEditMode()||this.canvas===null||(super.disableEditMode(),this._isDraggable=!this.isEmpty(),this.div.classList.remove("editing"),this.canvas.removeEventListener("pointerdown",Z(this,S)))}onceAdded(){this._isDraggable=!this.isEmpty()}isEmpty(){return this.paths.length===0||this.paths.length===1&&this.paths[0].length===0}commit(){Z(this,v)||(super.commit(),this.isEditing=!1,this.disableEditMode(),this.setInForeground(),We(this,v,!0),this.div.classList.add("disabled"),Ue(this,ye,iu).call(this,!0),this.makeResizable(),this.parent.addInkEditorIfNeeded(!0),this.moveInDOM(),this.div.focus({preventScroll:!0}))}focusin(Ie){this._focusEventsAllowed&&(super.focusin(Ie),this.enableEditMode())}canvasPointerdown(Ie){Ie.button!==0||!this.isInEditMode()||Z(this,v)||(this.setInForeground(),Ie.preventDefault(),Ie.type!=="mouse"&&this.div.focus(),Ue(this,ae,py).call(this,Ie.offsetX,Ie.offsetY))}canvasPointermove(Ie){Ie.preventDefault(),Ue(this,K,eg).call(this,Ie.offsetX,Ie.offsetY)}canvasPointerup(Ie){Ie.preventDefault(),Ue(this,ge,tg).call(this,Ie)}canvasPointerleave(Ie){Ue(this,ge,tg).call(this,Ie)}get isResizable(){return!this.isEmpty()&&Z(this,v)}render(){if(this.div)return this.div;let Ie,mt;this.width&&(Ie=this.x,mt=this.y),super.render(),a.AnnotationEditor._l10nPromise.get("editor_ink2_aria_label").then(qt=>{var Oe;return(Oe=this.div)==null?void 0:Oe.setAttribute("aria-label",qt)});const[Ct,at,wt,Nt]=Ue(this,$,hy).call(this);if(this.setAt(Ct,at,0,0),this.setDims(wt,Nt),Ue(this,Te,Kf).call(this),this.width){const[qt,Oe]=this.parentDimensions;this.setAspectRatio(this.width*qt,this.height*Oe),this.setAt(Ie*qt,mt*Oe,this.width*qt,this.height*Oe),We(this,T,!0),Ue(this,st,ru).call(this),this.setDims(this.width*qt,this.height*Oe),Ue(this,fe,xs).call(this),this.div.classList.add("disabled")}else this.div.classList.add("editing"),this.enableEditMode();return Ue(this,Ne,Xf).call(this),this.div}setDimensions(Ie,mt){const Ct=Math.round(Ie),at=Math.round(mt);if(Z(this,w)===Ct&&Z(this,C)===at)return;We(this,w,Ct),We(this,C,at),this.canvas.style.visibility="hidden";const[wt,Nt]=this.parentDimensions;this.width=Ie/wt,this.height=mt/Nt,this.fixAndSetPosition(),Z(this,v)&&Ue(this,yt,ng).call(this,Ie,mt),Ue(this,st,ru).call(this),Ue(this,fe,xs).call(this),this.canvas.style.visibility="visible",this.fixDims()}static deserialize(Ie,mt,Ct){var we,de,be;if(Ie instanceof o.InkAnnotationElement)return null;const at=super.deserialize(Ie,mt,Ct);at.thickness=Ie.thickness,at.color=t.Util.makeHexColor(...Ie.color),at.opacity=Ie.opacity;const[wt,Nt]=at.pageDimensions,qt=at.width*wt,Oe=at.height*Nt,pt=at.parentScale,ut=Ie.thickness/2;We(at,v,!0),We(at,w,Math.round(qt)),We(at,C,Math.round(Oe));const{paths:_e,rect:te,rotation:pe}=Ie;for(let{bezier:Be}of _e){Be=Ue(we=Xe,Ye,Ey).call(we,Be,te,pe);const tt=[];at.paths.push(tt);let ht=pt*(Be[0]-ut),At=pt*(Be[1]-ut);for(let gt=2,kt=Be.length;gt<kt;gt+=6){const Mt=pt*(Be[gt]-ut),Ut=pt*(Be[gt+1]-ut),Kt=pt*(Be[gt+2]-ut),An=pt*(Be[gt+3]-ut),_n=pt*(Be[gt+4]-ut),Bn=pt*(Be[gt+5]-ut);tt.push([[ht,At],[Mt,Ut],[Kt,An],[_n,Bn]]),ht=_n,At=Bn}const vt=Ue(this,Ke,xy).call(this,tt);at.bezierPath2D.push(vt)}const Ee=Ue(de=at,ft,ig).call(de);return We(at,p,Math.max(a.AnnotationEditor.MIN_SIZE,Ee[2]-Ee[0])),We(at,u,Math.max(a.AnnotationEditor.MIN_SIZE,Ee[3]-Ee[1])),Ue(be=at,yt,ng).call(be,qt,Oe),at}serialize(){if(this.isEmpty())return null;const Ie=this.getRect(0,0),mt=a.AnnotationEditor._colorManager.convert(this.ctx.strokeStyle);return{annotationType:t.AnnotationEditorType.INK,color:mt,thickness:this.thickness,opacity:this.opacity,paths:Ue(this,$e,Sy).call(this,this.scaleFactor/this.parentScale,this.translationX,this.translationY,Ie),pageIndex:this.pageIndex,rect:Ie,rotation:this.rotation,structTreeParentId:this._structTreeParentId}}};u=new WeakMap,p=new WeakMap,_=new WeakMap,R=new WeakMap,x=new WeakMap,S=new WeakMap,g=new WeakMap,v=new WeakMap,b=new WeakMap,T=new WeakMap,y=new WeakMap,w=new WeakMap,C=new WeakMap,D=new WeakMap,N=new WeakSet,cy=function(Ie){const mt=this.thickness;this.addCommands({cmd:()=>{this.thickness=Ie,Ue(this,ye,iu).call(this)},undo:()=>{this.thickness=mt,Ue(this,ye,iu).call(this)},mustExec:!0,type:t.AnnotationEditorParamsType.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0})},k=new WeakSet,dy=function(Ie){const mt=this.color;this.addCommands({cmd:()=>{this.color=Ie,Ue(this,fe,xs).call(this)},undo:()=>{this.color=mt,Ue(this,fe,xs).call(this)},mustExec:!0,type:t.AnnotationEditorParamsType.INK_COLOR,overwriteIfSameType:!0,keepUndo:!0})},M=new WeakSet,fy=function(Ie){Ie/=100;const mt=this.opacity;this.addCommands({cmd:()=>{this.opacity=Ie,Ue(this,fe,xs).call(this)},undo:()=>{this.opacity=mt,Ue(this,fe,xs).call(this)},mustExec:!0,type:t.AnnotationEditorParamsType.INK_OPACITY,overwriteIfSameType:!0,keepUndo:!0})},$=new WeakSet,hy=function(){const{parentRotation:Ie,parentDimensions:[mt,Ct]}=this;switch(Ie){case 90:return[0,Ct,Ct,mt];case 180:return[mt,Ct,mt,Ct];case 270:return[mt,0,Ct,mt];default:return[0,0,mt,Ct]}},X=new WeakSet,Zm=function(){const{ctx:Ie,color:mt,opacity:Ct,thickness:at,parentScale:wt,scaleFactor:Nt}=this;Ie.lineWidth=at*wt/Nt,Ie.lineCap="round",Ie.lineJoin="round",Ie.miterLimit=10,Ie.strokeStyle=`${mt}${(0,h.opacityToHex)(Ct)}`},ae=new WeakSet,py=function(Ie,mt){this.canvas.addEventListener("contextmenu",d.noContextMenu),this.canvas.addEventListener("pointerleave",Z(this,R)),this.canvas.addEventListener("pointermove",Z(this,_)),this.canvas.addEventListener("pointerup",Z(this,x)),this.canvas.removeEventListener("pointerdown",Z(this,S)),this.isEditing=!0,Z(this,T)||(We(this,T,!0),Ue(this,st,ru).call(this),this.thickness||(this.thickness=Xe._defaultThickness),this.color||(this.color=Xe._defaultColor||a.AnnotationEditor._defaultLineColor),this.opacity??(this.opacity=Xe._defaultOpacity)),this.currentPath.push([Ie,mt]),We(this,b,!1),Ue(this,X,Zm).call(this),We(this,D,()=>{Ue(this,W,vy).call(this),Z(this,D)&&window.requestAnimationFrame(Z(this,D))}),window.requestAnimationFrame(Z(this,D))},K=new WeakSet,eg=function(Ie,mt){const[Ct,at]=this.currentPath.at(-1);if(this.currentPath.length>1&&Ie===Ct&&mt===at)return;const wt=this.currentPath;let Nt=Z(this,g);if(wt.push([Ie,mt]),We(this,b,!0),wt.length<=2){Nt.moveTo(...wt[0]),Nt.lineTo(Ie,mt);return}wt.length===3&&(We(this,g,Nt=new Path2D),Nt.moveTo(...wt[0])),Ue(this,z,yy).call(this,Nt,...wt.at(-3),...wt.at(-2),Ie,mt)},ue=new WeakSet,my=function(){if(this.currentPath.length===0)return;const Ie=this.currentPath.at(-1);Z(this,g).lineTo(...Ie)},J=new WeakSet,gy=function(Ie,mt){We(this,D,null),Ie=Math.min(Math.max(Ie,0),this.canvas.width),mt=Math.min(Math.max(mt,0),this.canvas.height),Ue(this,K,eg).call(this,Ie,mt),Ue(this,ue,my).call(this);let Ct;if(this.currentPath.length!==1)Ct=Ue(this,ie,_y).call(this);else{const Oe=[Ie,mt];Ct=[[Oe,Oe.slice(),Oe.slice(),Oe]]}const at=Z(this,g),wt=this.currentPath;this.currentPath=[],We(this,g,new Path2D);const Nt=()=>{this.allRawPaths.push(wt),this.paths.push(Ct),this.bezierPath2D.push(at),this.rebuild()},qt=()=>{this.allRawPaths.pop(),this.paths.pop(),this.bezierPath2D.pop(),this.paths.length===0?this.remove():(this.canvas||(Ue(this,Te,Kf).call(this),Ue(this,Ne,Xf).call(this)),Ue(this,ye,iu).call(this))};this.addCommands({cmd:Nt,undo:qt,mustExec:!0})},W=new WeakSet,vy=function(){if(!Z(this,b))return;We(this,b,!1);const Ie=Math.ceil(this.thickness*this.parentScale),mt=this.currentPath.slice(-3),Ct=mt.map(Nt=>Nt[0]),at=mt.map(Nt=>Nt[1]);Math.min(...Ct)-Ie,Math.max(...Ct)+Ie,Math.min(...at)-Ie,Math.max(...at)+Ie;const{ctx:wt}=this;wt.save(),wt.clearRect(0,0,this.canvas.width,this.canvas.height);for(const Nt of this.bezierPath2D)wt.stroke(Nt);wt.stroke(Z(this,g)),wt.restore()},z=new WeakSet,yy=function(Ie,mt,Ct,at,wt,Nt,qt){const Oe=(mt+at)/2,pt=(Ct+wt)/2,ut=(at+Nt)/2,_e=(wt+qt)/2;Ie.bezierCurveTo(Oe+2*(at-Oe)/3,pt+2*(wt-pt)/3,ut+2*(at-ut)/3,_e+2*(wt-_e)/3,ut,_e)},ie=new WeakSet,_y=function(){const Ie=this.currentPath;if(Ie.length<=2)return[[Ie[0],Ie[0],Ie.at(-1),Ie.at(-1)]];const mt=[];let Ct,[at,wt]=Ie[0];for(Ct=1;Ct<Ie.length-2;Ct++){const[te,pe]=Ie[Ct],[Ee,we]=Ie[Ct+1],de=(te+Ee)/2,be=(pe+we)/2,Be=[at+2*(te-at)/3,wt+2*(pe-wt)/3],tt=[de+2*(te-de)/3,be+2*(pe-be)/3];mt.push([[at,wt],Be,tt,[de,be]]),[at,wt]=[de,be]}const[Nt,qt]=Ie[Ct],[Oe,pt]=Ie[Ct+1],ut=[at+2*(Nt-at)/3,wt+2*(qt-wt)/3],_e=[Oe+2*(Nt-Oe)/3,pt+2*(qt-pt)/3];return mt.push([[at,wt],ut,_e,[Oe,pt]]),mt},fe=new WeakSet,xs=function(){if(this.isEmpty()){Ue(this,Me,Yf).call(this);return}Ue(this,X,Zm).call(this);const{canvas:Ie,ctx:mt}=this;mt.setTransform(1,0,0,1,0,0),mt.clearRect(0,0,Ie.width,Ie.height),Ue(this,Me,Yf).call(this);for(const Ct of this.bezierPath2D)mt.stroke(Ct)},ge=new WeakSet,tg=function(Ie){this.canvas.removeEventListener("pointerleave",Z(this,R)),this.canvas.removeEventListener("pointermove",Z(this,_)),this.canvas.removeEventListener("pointerup",Z(this,x)),this.canvas.addEventListener("pointerdown",Z(this,S)),setTimeout(()=>{this.canvas.removeEventListener("contextmenu",d.noContextMenu)},10),Ue(this,J,gy).call(this,Ie.offsetX,Ie.offsetY),this.addToAnnotationStorage(),this.setInBackground()},Te=new WeakSet,Kf=function(){this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=0,this.canvas.className="inkEditorCanvas",a.AnnotationEditor._l10nPromise.get("editor_ink_canvas_aria_label").then(Ie=>{var mt;return(mt=this.canvas)==null?void 0:mt.setAttribute("aria-label",Ie)}),this.div.append(this.canvas),this.ctx=this.canvas.getContext("2d")},Ne=new WeakSet,Xf=function(){We(this,y,new ResizeObserver(Ie=>{const mt=Ie[0].contentRect;mt.width&&mt.height&&this.setDimensions(mt.width,mt.height)})),Z(this,y).observe(this.div)},st=new WeakSet,ru=function(){if(!Z(this,T))return;const[Ie,mt]=this.parentDimensions;this.canvas.width=Math.ceil(this.width*Ie),this.canvas.height=Math.ceil(this.height*mt),Ue(this,Me,Yf).call(this)},yt=new WeakSet,ng=function(Ie,mt){const Ct=Ue(this,De,qf).call(this),at=(Ie-Ct)/Z(this,p),wt=(mt-Ct)/Z(this,u);this.scaleFactor=Math.min(at,wt)},Me=new WeakSet,Yf=function(){const Ie=Ue(this,De,qf).call(this)/2;this.ctx.setTransform(this.scaleFactor,0,0,this.scaleFactor,this.translationX*this.scaleFactor+Ie,this.translationY*this.scaleFactor+Ie)},Ke=new WeakSet,xy=function(Ie){const mt=new Path2D;for(let Ct=0,at=Ie.length;Ct<at;Ct++){const[wt,Nt,qt,Oe]=Ie[Ct];Ct===0&&mt.moveTo(...wt),mt.bezierCurveTo(Nt[0],Nt[1],qt[0],qt[1],Oe[0],Oe[1])}return mt},qe=new WeakSet,rg=function(Ie,mt,Ct){const[at,wt,Nt,qt]=mt;switch(Ct){case 0:for(let Oe=0,pt=Ie.length;Oe<pt;Oe+=2)Ie[Oe]+=at,Ie[Oe+1]=qt-Ie[Oe+1];break;case 90:for(let Oe=0,pt=Ie.length;Oe<pt;Oe+=2){const ut=Ie[Oe];Ie[Oe]=Ie[Oe+1]+at,Ie[Oe+1]=ut+wt}break;case 180:for(let Oe=0,pt=Ie.length;Oe<pt;Oe+=2)Ie[Oe]=Nt-Ie[Oe],Ie[Oe+1]+=wt;break;case 270:for(let Oe=0,pt=Ie.length;Oe<pt;Oe+=2){const ut=Ie[Oe];Ie[Oe]=Nt-Ie[Oe+1],Ie[Oe+1]=qt-ut}break;default:throw new Error("Invalid rotation")}return Ie},Ye=new WeakSet,Ey=function(Ie,mt,Ct){const[at,wt,Nt,qt]=mt;switch(Ct){case 0:for(let Oe=0,pt=Ie.length;Oe<pt;Oe+=2)Ie[Oe]-=at,Ie[Oe+1]=qt-Ie[Oe+1];break;case 90:for(let Oe=0,pt=Ie.length;Oe<pt;Oe+=2){const ut=Ie[Oe];Ie[Oe]=Ie[Oe+1]-wt,Ie[Oe+1]=ut-at}break;case 180:for(let Oe=0,pt=Ie.length;Oe<pt;Oe+=2)Ie[Oe]=Nt-Ie[Oe],Ie[Oe+1]-=wt;break;case 270:for(let Oe=0,pt=Ie.length;Oe<pt;Oe+=2){const ut=Ie[Oe];Ie[Oe]=qt-Ie[Oe+1],Ie[Oe+1]=Nt-ut}break;default:throw new Error("Invalid rotation")}return Ie},$e=new WeakSet,Sy=function(Ie,mt,Ct,at){var pt,ut;const wt=[],Nt=this.thickness/2,qt=Ie*mt+Nt,Oe=Ie*Ct+Nt;for(const _e of this.paths){const te=[],pe=[];for(let Ee=0,we=_e.length;Ee<we;Ee++){const[de,be,Be,tt]=_e[Ee],ht=Ie*de[0]+qt,At=Ie*de[1]+Oe,vt=Ie*be[0]+qt,gt=Ie*be[1]+Oe,kt=Ie*Be[0]+qt,Mt=Ie*Be[1]+Oe,Ut=Ie*tt[0]+qt,Kt=Ie*tt[1]+Oe;Ee===0&&(te.push(ht,At),pe.push(ht,At)),te.push(vt,gt,kt,Mt,Ut,Kt),pe.push(vt,gt),Ee===we-1&&pe.push(Ut,Kt)}wt.push({bezier:Ue(pt=Xe,qe,rg).call(pt,te,at,this.rotation),points:Ue(ut=Xe,qe,rg).call(ut,pe,at,this.rotation)})}return wt},ft=new WeakSet,ig=function(){let Ie=1/0,mt=-1/0,Ct=1/0,at=-1/0;for(const wt of this.paths)for(const[Nt,qt,Oe,pt]of wt){const ut=t.Util.bezierBoundingBox(...Nt,...qt,...Oe,...pt);Ie=Math.min(Ie,ut[0]),Ct=Math.min(Ct,ut[1]),mt=Math.max(mt,ut[2]),at=Math.max(at,ut[3])}return[Ie,Ct,mt,at]},De=new WeakSet,qf=function(){return Z(this,v)?Math.ceil(this.thickness*this.parentScale):0},ye=new WeakSet,iu=function(Ie=!1){if(this.isEmpty())return;if(!Z(this,v)){Ue(this,fe,xs).call(this);return}const mt=Ue(this,ft,ig).call(this),Ct=Ue(this,De,qf).call(this);We(this,p,Math.max(a.AnnotationEditor.MIN_SIZE,mt[2]-mt[0])),We(this,u,Math.max(a.AnnotationEditor.MIN_SIZE,mt[3]-mt[1]));const at=Math.ceil(Ct+Z(this,p)*this.scaleFactor),wt=Math.ceil(Ct+Z(this,u)*this.scaleFactor),[Nt,qt]=this.parentDimensions;this.width=at/Nt,this.height=wt/qt,this.setAspectRatio(at,wt);const Oe=this.translationX,pt=this.translationY;this.translationX=-mt[0],this.translationY=-mt[1],Ue(this,st,ru).call(this),Ue(this,fe,xs).call(this),We(this,w,at),We(this,C,wt),this.setDims(at,wt);const ut=Ie?Ct/this.scaleFactor/2:0;this.translate(Oe-this.translationX-ut,pt-this.translationY-ut)},Ae(Xe,Ke),Ae(Xe,qe),Ae(Xe,Ye),Mn(Xe,"_defaultColor",null),Mn(Xe,"_defaultOpacity",1),Mn(Xe,"_defaultThickness",1),Mn(Xe,"_type","ink");let f=Xe;e.InkEditor=f},(l,e,n)=>{var f,u,p,_,R,x,S,g,v,b,T,jc,w,Ic,D,Qf,P,ag,F,by,j,Ry,B,sg,re,Jf,ee,Ty;Object.defineProperty(e,"__esModule",{value:!0}),e.StampEditor=void 0;var t=n(1),a=n(4),o=n(6),d=n(29);const ne=class ne extends a.AnnotationEditor{constructor(J){super({...J,name:"stampEditor"});Ae(this,T);Ae(this,w);Ae(this,D);Ae(this,P);Ae(this,F);Ae(this,j);Ae(this,B);Ae(this,re);Ae(this,ee);Ae(this,f,null);Ae(this,u,null);Ae(this,p,null);Ae(this,_,null);Ae(this,R,null);Ae(this,x,null);Ae(this,S,null);Ae(this,g,null);Ae(this,v,!1);Ae(this,b,!1);We(this,_,J.bitmapUrl),We(this,R,J.bitmapFile)}static initialize(J){a.AnnotationEditor.initialize(J)}static get supportedTypes(){const J=["apng","avif","bmp","gif","jpeg","png","svg+xml","webp","x-icon"];return(0,t.shadow)(this,"supportedTypes",J.map(H=>`image/${H}`))}static get supportedTypesStr(){return(0,t.shadow)(this,"supportedTypesStr",this.supportedTypes.join(","))}static isHandlingMimeForPasting(J){return this.supportedTypes.includes(J)}static paste(J,H){H.pasteEditor(t.AnnotationEditorType.STAMP,{bitmapFile:J.getAsFile()})}remove(){var J,H;Z(this,u)&&(We(this,f,null),this._uiManager.imageManager.deleteId(Z(this,u)),(J=Z(this,x))==null||J.remove(),We(this,x,null),(H=Z(this,S))==null||H.disconnect(),We(this,S,null)),super.remove()}rebuild(){if(!this.parent){Z(this,u)&&Ue(this,D,Qf).call(this);return}super.rebuild(),this.div!==null&&(Z(this,u)&&Ue(this,D,Qf).call(this),this.isAttachedToDOM||this.parent.add(this))}onceAdded(){this._isDraggable=!0,this.div.focus()}isEmpty(){return!(Z(this,p)||Z(this,f)||Z(this,_)||Z(this,R))}get isResizable(){return!0}render(){if(this.div)return this.div;let J,H;if(this.width&&(J=this.x,H=this.y),super.render(),this.div.hidden=!0,Z(this,f)?Ue(this,P,ag).call(this):Ue(this,D,Qf).call(this),this.width){const[W,V]=this.parentDimensions;this.setAt(J*W,H*V,this.width*W,this.height*V)}return this.div}static deserialize(J,H,W){if(J instanceof d.StampAnnotationElement)return null;const V=super.deserialize(J,H,W),{rect:z,bitmapUrl:Y,bitmapId:ie,isSvg:le,accessibilityData:fe}=J;ie&&W.imageManager.isValidId(ie)?We(V,u,ie):We(V,_,Y),We(V,v,le);const[ce,ge]=V.pageDimensions;return V.width=(z[2]-z[0])/ce,V.height=(z[3]-z[1])/ge,fe&&(V.altTextData=fe),V}serialize(J=!1,H=null){if(this.isEmpty())return null;const W={annotationType:t.AnnotationEditorType.STAMP,bitmapId:Z(this,u),pageIndex:this.pageIndex,rect:this.getRect(0,0),rotation:this.rotation,isSvg:Z(this,v),structTreeParentId:this._structTreeParentId};if(J)return W.bitmapUrl=Ue(this,re,Jf).call(this,!0),W.accessibilityData=this.altTextData,W;const{decorative:V,altText:z}=this.altTextData;if(!V&&z&&(W.accessibilityData={type:"Figure",alt:z}),H===null)return W;H.stamps||(H.stamps=new Map);const Y=Z(this,v)?(W.rect[2]-W.rect[0])*(W.rect[3]-W.rect[1]):null;if(!H.stamps.has(Z(this,u)))H.stamps.set(Z(this,u),{area:Y,serialized:W}),W.bitmap=Ue(this,re,Jf).call(this,!1);else if(Z(this,v)){const ie=H.stamps.get(Z(this,u));Y>ie.area&&(ie.area=Y,ie.serialized.bitmap.close(),ie.serialized.bitmap=Ue(this,re,Jf).call(this,!1))}return W}};f=new WeakMap,u=new WeakMap,p=new WeakMap,_=new WeakMap,R=new WeakMap,x=new WeakMap,S=new WeakMap,g=new WeakMap,v=new WeakMap,b=new WeakMap,T=new WeakSet,jc=function(J,H=!1){if(!J){this.remove();return}We(this,f,J.bitmap),H||(We(this,u,J.id),We(this,v,J.isSvg)),Ue(this,P,ag).call(this)},w=new WeakSet,Ic=function(){We(this,p,null),this._uiManager.enableWaiting(!1),Z(this,x)&&this.div.focus()},D=new WeakSet,Qf=function(){if(Z(this,u)){this._uiManager.enableWaiting(!0),this._uiManager.imageManager.getFromId(Z(this,u)).then(H=>Ue(this,T,jc).call(this,H,!0)).finally(()=>Ue(this,w,Ic).call(this));return}if(Z(this,_)){const H=Z(this,_);We(this,_,null),this._uiManager.enableWaiting(!0),We(this,p,this._uiManager.imageManager.getFromUrl(H).then(W=>Ue(this,T,jc).call(this,W)).finally(()=>Ue(this,w,Ic).call(this)));return}if(Z(this,R)){const H=Z(this,R);We(this,R,null),this._uiManager.enableWaiting(!0),We(this,p,this._uiManager.imageManager.getFromFile(H).then(W=>Ue(this,T,jc).call(this,W)).finally(()=>Ue(this,w,Ic).call(this)));return}const J=document.createElement("input");J.type="file",J.accept=ne.supportedTypesStr,We(this,p,new Promise(H=>{J.addEventListener("change",async()=>{if(!J.files||J.files.length===0)this.remove();else{this._uiManager.enableWaiting(!0);const W=await this._uiManager.imageManager.getFromFile(J.files[0]);Ue(this,T,jc).call(this,W)}H()}),J.addEventListener("cancel",()=>{this.remove(),H()})}).finally(()=>Ue(this,w,Ic).call(this))),J.click()},P=new WeakSet,ag=function(){const{div:J}=this;let{width:H,height:W}=Z(this,f);const[V,z]=this.pageDimensions,Y=.75;if(this.width)H=this.width*V,W=this.height*z;else if(H>Y*V||W>Y*z){const ce=Math.min(Y*V/H,Y*z/W);H*=ce,W*=ce}const[ie,le]=this.parentDimensions;this.setDims(H*ie/V,W*le/z),this._uiManager.enableWaiting(!1);const fe=We(this,x,document.createElement("canvas"));J.append(fe),J.hidden=!1,Ue(this,B,sg).call(this,H,W),Ue(this,ee,Ty).call(this),Z(this,b)||(this.parent.addUndoableEditor(this),We(this,b,!0)),this._uiManager._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",subtype:this.editorType,data:{action:"inserted_image"}}}),this.addAltTextButton()},F=new WeakSet,by=function(J,H){var Y;const[W,V]=this.parentDimensions;this.width=J/W,this.height=H/V,this.setDims(J,H),(Y=this._initialOptions)!=null&&Y.isCentered?this.center():this.fixAndSetPosition(),this._initialOptions=null,Z(this,g)!==null&&clearTimeout(Z(this,g)),We(this,g,setTimeout(()=>{We(this,g,null),Ue(this,B,sg).call(this,J,H)},200))},j=new WeakSet,Ry=function(J,H){const{width:W,height:V}=Z(this,f);let z=W,Y=V,ie=Z(this,f);for(;z>2*J||Y>2*H;){const le=z,fe=Y;z>2*J&&(z=z>=16384?Math.floor(z/2)-1:Math.ceil(z/2)),Y>2*H&&(Y=Y>=16384?Math.floor(Y/2)-1:Math.ceil(Y/2));const ce=new OffscreenCanvas(z,Y);ce.getContext("2d").drawImage(ie,0,0,le,fe,0,0,z,Y),ie=ce.transferToImageBitmap()}return ie},B=new WeakSet,sg=function(J,H){J=Math.ceil(J),H=Math.ceil(H);const W=Z(this,x);if(!W||W.width===J&&W.height===H)return;W.width=J,W.height=H;const V=Z(this,v)?Z(this,f):Ue(this,j,Ry).call(this,J,H),z=W.getContext("2d");z.filter=this._uiManager.hcmFilter,z.drawImage(V,0,0,V.width,V.height,0,0,J,H)},re=new WeakSet,Jf=function(J){if(J){if(Z(this,v)){const V=this._uiManager.imageManager.getSvgUrl(Z(this,u));if(V)return V}const H=document.createElement("canvas");return{width:H.width,height:H.height}=Z(this,f),H.getContext("2d").drawImage(Z(this,f),0,0),H.toDataURL()}if(Z(this,v)){const[H,W]=this.pageDimensions,V=Math.round(this.width*H*o.PixelsPerInch.PDF_TO_CSS_UNITS),z=Math.round(this.height*W*o.PixelsPerInch.PDF_TO_CSS_UNITS),Y=new OffscreenCanvas(V,z);return Y.getContext("2d").drawImage(Z(this,f),0,0,Z(this,f).width,Z(this,f).height,0,0,V,z),Y.transferToImageBitmap()}return structuredClone(Z(this,f))},ee=new WeakSet,Ty=function(){We(this,S,new ResizeObserver(J=>{const H=J[0].contentRect;H.width&&H.height&&Ue(this,F,by).call(this,H.width,H.height)})),Z(this,S).observe(this.div)},Mn(ne,"_type","stamp");let h=ne;e.StampEditor=h}],__webpack_module_cache__={};function __w_pdfjs_require__(l){var e=__webpack_module_cache__[l];if(e!==void 0)return e.exports;var n=__webpack_module_cache__[l]={exports:{}};return __webpack_modules__[l](n,n.exports,__w_pdfjs_require__),n.exports}var __webpack_exports__={};return(()=>{var l=__webpack_exports__;Object.defineProperty(l,"__esModule",{value:!0}),Object.defineProperty(l,"AbortException",{enumerable:!0,get:function(){return e.AbortException}}),Object.defineProperty(l,"AnnotationEditorLayer",{enumerable:!0,get:function(){return o.AnnotationEditorLayer}}),Object.defineProperty(l,"AnnotationEditorParamsType",{enumerable:!0,get:function(){return e.AnnotationEditorParamsType}}),Object.defineProperty(l,"AnnotationEditorType",{enumerable:!0,get:function(){return e.AnnotationEditorType}}),Object.defineProperty(l,"AnnotationEditorUIManager",{enumerable:!0,get:function(){return d.AnnotationEditorUIManager}}),Object.defineProperty(l,"AnnotationLayer",{enumerable:!0,get:function(){return h.AnnotationLayer}}),Object.defineProperty(l,"AnnotationMode",{enumerable:!0,get:function(){return e.AnnotationMode}}),Object.defineProperty(l,"CMapCompressionType",{enumerable:!0,get:function(){return e.CMapCompressionType}}),Object.defineProperty(l,"DOMSVGFactory",{enumerable:!0,get:function(){return t.DOMSVGFactory}}),Object.defineProperty(l,"FeatureTest",{enumerable:!0,get:function(){return e.FeatureTest}}),Object.defineProperty(l,"GlobalWorkerOptions",{enumerable:!0,get:function(){return f.GlobalWorkerOptions}}),Object.defineProperty(l,"ImageKind",{enumerable:!0,get:function(){return e.ImageKind}}),Object.defineProperty(l,"InvalidPDFException",{enumerable:!0,get:function(){return e.InvalidPDFException}}),Object.defineProperty(l,"MissingPDFException",{enumerable:!0,get:function(){return e.MissingPDFException}}),Object.defineProperty(l,"OPS",{enumerable:!0,get:function(){return e.OPS}}),Object.defineProperty(l,"PDFDataRangeTransport",{enumerable:!0,get:function(){return n.PDFDataRangeTransport}}),Object.defineProperty(l,"PDFDateString",{enumerable:!0,get:function(){return t.PDFDateString}}),Object.defineProperty(l,"PDFWorker",{enumerable:!0,get:function(){return n.PDFWorker}}),Object.defineProperty(l,"PasswordResponses",{enumerable:!0,get:function(){return e.PasswordResponses}}),Object.defineProperty(l,"PermissionFlag",{enumerable:!0,get:function(){return e.PermissionFlag}}),Object.defineProperty(l,"PixelsPerInch",{enumerable:!0,get:function(){return t.PixelsPerInch}}),Object.defineProperty(l,"PromiseCapability",{enumerable:!0,get:function(){return e.PromiseCapability}}),Object.defineProperty(l,"RenderingCancelledException",{enumerable:!0,get:function(){return t.RenderingCancelledException}}),Object.defineProperty(l,"SVGGraphics",{enumerable:!0,get:function(){return n.SVGGraphics}}),Object.defineProperty(l,"UnexpectedResponseException",{enumerable:!0,get:function(){return e.UnexpectedResponseException}}),Object.defineProperty(l,"Util",{enumerable:!0,get:function(){return e.Util}}),Object.defineProperty(l,"VerbosityLevel",{enumerable:!0,get:function(){return e.VerbosityLevel}}),Object.defineProperty(l,"XfaLayer",{enumerable:!0,get:function(){return u.XfaLayer}}),Object.defineProperty(l,"build",{enumerable:!0,get:function(){return n.build}}),Object.defineProperty(l,"createValidAbsoluteUrl",{enumerable:!0,get:function(){return e.createValidAbsoluteUrl}}),Object.defineProperty(l,"getDocument",{enumerable:!0,get:function(){return n.getDocument}}),Object.defineProperty(l,"getFilenameFromUrl",{enumerable:!0,get:function(){return t.getFilenameFromUrl}}),Object.defineProperty(l,"getPdfFilenameFromUrl",{enumerable:!0,get:function(){return t.getPdfFilenameFromUrl}}),Object.defineProperty(l,"getXfaPageViewport",{enumerable:!0,get:function(){return t.getXfaPageViewport}}),Object.defineProperty(l,"isDataScheme",{enumerable:!0,get:function(){return t.isDataScheme}}),Object.defineProperty(l,"isPdfFile",{enumerable:!0,get:function(){return t.isPdfFile}}),Object.defineProperty(l,"loadScript",{enumerable:!0,get:function(){return t.loadScript}}),Object.defineProperty(l,"noContextMenu",{enumerable:!0,get:function(){return t.noContextMenu}}),Object.defineProperty(l,"normalizeUnicode",{enumerable:!0,get:function(){return e.normalizeUnicode}}),Object.defineProperty(l,"renderTextLayer",{enumerable:!0,get:function(){return a.renderTextLayer}}),Object.defineProperty(l,"setLayerDimensions",{enumerable:!0,get:function(){return t.setLayerDimensions}}),Object.defineProperty(l,"shadow",{enumerable:!0,get:function(){return e.shadow}}),Object.defineProperty(l,"updateTextLayer",{enumerable:!0,get:function(){return a.updateTextLayer}}),Object.defineProperty(l,"version",{enumerable:!0,get:function(){return n.version}});var e=__w_pdfjs_require__(1),n=__w_pdfjs_require__(2),t=__w_pdfjs_require__(6),a=__w_pdfjs_require__(26),o=__w_pdfjs_require__(27),d=__w_pdfjs_require__(5),h=__w_pdfjs_require__(29),f=__w_pdfjs_require__(14),u=__w_pdfjs_require__(32)})(),__webpack_exports__})())})(pdf$1);var pdfExports=pdf$1.exports;const pdf=getDefaultExportFromCjs(pdfExports),pdfjsModule=_mergeNamespaces({__proto__:null,default:pdf},[pdfExports]),pdfjs="default"in pdfjsModule?pdf:pdfjsModule;var __spreadArray=function(l,e,n){if(n||arguments.length===2)for(var t=0,a=e.length,o;t<a;t++)(o||!(t in e))&&(o||(o=Array.prototype.slice.call(e,0,t)),o[t]=e[t]);return l.concat(o||Array.prototype.slice.call(e))},clipboardEvents=["onCopy","onCut","onPaste"],compositionEvents=["onCompositionEnd","onCompositionStart","onCompositionUpdate"],focusEvents=["onFocus","onBlur"],formEvents=["onInput","onInvalid","onReset","onSubmit"],imageEvents=["onLoad","onError"],keyboardEvents=["onKeyDown","onKeyPress","onKeyUp"],mediaEvents=["onAbort","onCanPlay","onCanPlayThrough","onDurationChange","onEmptied","onEncrypted","onEnded","onError","onLoadedData","onLoadedMetadata","onLoadStart","onPause","onPlay","onPlaying","onProgress","onRateChange","onSeeked","onSeeking","onStalled","onSuspend","onTimeUpdate","onVolumeChange","onWaiting"],mouseEvents=["onClick","onContextMenu","onDoubleClick","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp"],dragEvents=["onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop"],selectionEvents=["onSelect"],touchEvents=["onTouchCancel","onTouchEnd","onTouchMove","onTouchStart"],pointerEvents=["onPointerDown","onPointerMove","onPointerUp","onPointerCancel","onGotPointerCapture","onLostPointerCapture","onPointerEnter","onPointerLeave","onPointerOver","onPointerOut"],uiEvents=["onScroll"],wheelEvents=["onWheel"],animationEvents=["onAnimationStart","onAnimationEnd","onAnimationIteration"],transitionEvents=["onTransitionEnd"],otherEvents=["onToggle"],changeEvents=["onChange"],allEvents=__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([],clipboardEvents,!0),compositionEvents,!0),focusEvents,!0),formEvents,!0),imageEvents,!0),keyboardEvents,!0),mediaEvents,!0),mouseEvents,!0),dragEvents,!0),selectionEvents,!0),touchEvents,!0),pointerEvents,!0),uiEvents,!0),wheelEvents,!0),animationEvents,!0),transitionEvents,!0),changeEvents,!0),otherEvents,!0);function makeEventProps(l,e){var n={};return allEvents.forEach(function(t){var a=l[t];a&&(e?n[t]=function(o){return a(o,e(t))}:n[t]=a)}),n}function makeCancellablePromise(l){var e=!1,n=new Promise(function(t,a){l.then(function(o){return!e&&t(o)}).catch(function(o){return!e&&a(o)})});return{promise:n,cancel:function(){e=!0}}}function r(l){var e,n,t="";if(typeof l=="string"||typeof l=="number")t+=l;else if(typeof l=="object")if(Array.isArray(l)){var a=l.length;for(e=0;e<a;e++)l[e]&&(n=r(l[e]))&&(t&&(t+=" "),t+=n)}else for(n in l)l[n]&&(t&&(t+=" "),t+=n);return t}function clsx(){for(var l,e,n=0,t="",a=arguments.length;n<a;n++)(l=arguments[n])&&(e=r(l))&&(t&&(t+=" "),t+=e);return t}var isProduction=process.env.NODE_ENV==="production",prefix="Invariant failed";function invariant(l,e){if(!l){if(isProduction)throw new Error(prefix);var n=typeof e=="function"?e():e,t=n?"".concat(prefix,": ").concat(n):prefix;throw new Error(t)}}var __DEV__=process.env.NODE_ENV!=="production",warning=function(){};if(__DEV__){var printWarning=function(e,n){var t=arguments.length;n=new Array(t>1?t-1:0);for(var a=1;a<t;a++)n[a-1]=arguments[a];var o=0,d="Warning: "+e.replace(/%s/g,function(){return n[o++]});typeof console<"u"&&console.error(d);try{throw new Error(d)}catch{}};warning=function(l,e,n){var t=arguments.length;n=new Array(t>2?t-2:0);for(var a=2;a<t;a++)n[a-2]=arguments[a];if(e===void 0)throw new Error("`warning(condition, format, ...args)` requires a warning message argument");l||printWarning.apply(null,[e].concat(n))}}var warning_1=warning;const warning$1=getDefaultExportFromCjs(warning_1);var has=Object.prototype.hasOwnProperty;function find(l,e,n){for(n of l.keys())if(dequal(n,e))return n}function dequal(l,e){var n,t,a;if(l===e)return!0;if(l&&e&&(n=l.constructor)===e.constructor){if(n===Date)return l.getTime()===e.getTime();if(n===RegExp)return l.toString()===e.toString();if(n===Array){if((t=l.length)===e.length)for(;t--&&dequal(l[t],e[t]););return t===-1}if(n===Set){if(l.size!==e.size)return!1;for(t of l)if(a=t,a&&typeof a=="object"&&(a=find(e,a),!a)||!e.has(a))return!1;return!0}if(n===Map){if(l.size!==e.size)return!1;for(t of l)if(a=t[0],a&&typeof a=="object"&&(a=find(e,a),!a)||!dequal(t[1],e.get(a)))return!1;return!0}if(n===ArrayBuffer)l=new Uint8Array(l),e=new Uint8Array(e);else if(n===DataView){if((t=l.byteLength)===e.byteLength)for(;t--&&l.getInt8(t)===e.getInt8(t););return t===-1}if(ArrayBuffer.isView(l)){if((t=l.byteLength)===e.byteLength)for(;t--&&l[t]===e[t];);return t===-1}if(!n||typeof l=="object"){t=0;for(n in l)if(has.call(l,n)&&++t&&!has.call(e,n)||!(n in e)||!dequal(l[n],e[n]))return!1;return Object.keys(e).length===t}}return l!==l&&e!==e}const DocumentContext=React$2.createContext(null);function Message$1({children:l,type:e}){return jsxRuntimeExports.jsx("div",{className:`react-pdf__message react-pdf__message--${e}`,children:l})}const DEFAULT_LINK_REL="noopener noreferrer nofollow";class LinkService{constructor(){this.externalLinkEnabled=!0,this.externalLinkRel=void 0,this.externalLinkTarget=void 0,this.isInPresentationMode=!1,this.pdfDocument=void 0,this.pdfViewer=void 0}setDocument(e){this.pdfDocument=e}setViewer(e){this.pdfViewer=e}setExternalLinkRel(e){this.externalLinkRel=e}setExternalLinkTarget(e){this.externalLinkTarget=e}setHistory(){}get pagesCount(){return this.pdfDocument?this.pdfDocument.numPages:0}get page(){return invariant(this.pdfViewer,"PDF viewer is not initialized."),this.pdfViewer.currentPageNumber||0}set page(e){invariant(this.pdfViewer,"PDF viewer is not initialized."),this.pdfViewer.currentPageNumber=e}get rotation(){return 0}set rotation(e){}goToDestination(e){return new Promise(n=>{invariant(this.pdfDocument,"PDF document not loaded."),invariant(e,"Destination is not specified."),typeof e=="string"?this.pdfDocument.getDestination(e).then(n):Array.isArray(e)?n(e):e.then(n)}).then(n=>{invariant(Array.isArray(n),`"${n}" is not a valid destination array.`);const t=n[0];new Promise(a=>{invariant(this.pdfDocument,"PDF document not loaded."),t instanceof Object?this.pdfDocument.getPageIndex(t).then(o=>{a(o)}).catch(()=>{invariant(!1,`"${t}" is not a valid page reference.`)}):typeof t=="number"?a(t):invariant(!1,`"${t}" is not a valid destination reference.`)}).then(a=>{const o=a+1;invariant(this.pdfViewer,"PDF viewer is not initialized."),invariant(o>=1&&o<=this.pagesCount,`"${o}" is not a valid page number.`),this.pdfViewer.scrollPageIntoView({dest:n,pageIndex:a,pageNumber:o})})})}navigateTo(e){this.goToDestination(e)}goToPage(e){const n=e-1;invariant(this.pdfViewer,"PDF viewer is not initialized."),invariant(e>=1&&e<=this.pagesCount,`"${e}" is not a valid page number.`),this.pdfViewer.scrollPageIntoView({pageIndex:n,pageNumber:e})}addLinkAttributes(e,n,t){e.href=n,e.rel=this.externalLinkRel||DEFAULT_LINK_REL,e.target=t?"_blank":this.externalLinkTarget||""}getDestinationHash(){return"#"}getAnchorUrl(){return"#"}setHash(){}executeNamedAction(){}cachePageRef(){}isPageVisible(){return!0}isPageCached(){return!0}executeSetOCGState(){}}const PasswordResponses={NEED_PASSWORD:1,INCORRECT_PASSWORD:2},isBrowser=typeof document<"u",isLocalFileSystem=isBrowser&&window.location.protocol==="file:";function isDefined(l){return typeof l<"u"}function isProvided(l){return isDefined(l)&&l!==null}function isString(l){return typeof l=="string"}function isArrayBuffer(l){return l instanceof ArrayBuffer}function isBlob(l){return invariant(isBrowser,"isBlob can only be used in a browser environment"),l instanceof Blob}function isDataURI(l){return isString(l)&&/^data:/.test(l)}function dataURItoByteString(l){invariant(isDataURI(l),"Invalid data URI.");const[e="",n=""]=l.split(",");return e.split(";").indexOf("base64")!==-1?atob(n):unescape(n)}function getDevicePixelRatio$1(){return isBrowser&&window.devicePixelRatio||1}const allowFileAccessFromFilesTip="On Chromium based browsers, you can use --allow-file-access-from-files flag for debugging purposes.";function displayCORSWarning(){warning$1(!isLocalFileSystem,`Loading PDF as base64 strings/URLs may not work on protocols other than HTTP/HTTPS. ${allowFileAccessFromFilesTip}`)}function displayWorkerWarning(){warning$1(!isLocalFileSystem,`Loading PDF.js worker may not work on protocols other than HTTP/HTTPS. ${allowFileAccessFromFilesTip}`)}function cancelRunningTask(l){l&&l.cancel&&l.cancel()}function makePageCallback(l,e){return Object.defineProperty(l,"width",{get(){return this.view[2]*e},configurable:!0}),Object.defineProperty(l,"height",{get(){return this.view[3]*e},configurable:!0}),Object.defineProperty(l,"originalWidth",{get(){return this.view[2]},configurable:!0}),Object.defineProperty(l,"originalHeight",{get(){return this.view[3]},configurable:!0}),l}function isCancelException(l){return l.name==="RenderingCancelledException"}function loadFromFile(l){return new Promise((e,n)=>{const t=new FileReader;t.onload=()=>{if(!t.result)return n(new Error("Error while reading a file."));e(t.result)},t.onerror=a=>{if(!a.target)return n(new Error("Error while reading a file."));const{error:o}=a.target;if(!o)return n(new Error("Error while reading a file."));switch(o.code){case o.NOT_FOUND_ERR:return n(new Error("Error while reading a file: File not found."));case o.SECURITY_ERR:return n(new Error("Error while reading a file: Security error."));case o.ABORT_ERR:return n(new Error("Error while reading a file: Aborted."));default:return n(new Error("Error while reading a file."))}},t.readAsArrayBuffer(l)})}function reducer(l,e){switch(e.type){case"RESOLVE":return{value:e.value,error:void 0};case"REJECT":return{value:!1,error:e.error};case"RESET":return{value:void 0,error:void 0};default:return l}}function useResolver(){return React$2.useReducer(reducer,{value:void 0,error:void 0})}var __awaiter=function(l,e,n,t){function a(o){return o instanceof n?o:new n(function(d){d(o)})}return new(n||(n=Promise))(function(o,d){function h(p){try{u(t.next(p))}catch(_){d(_)}}function f(p){try{u(t.throw(p))}catch(_){d(_)}}function u(p){p.done?o(p.value):a(p.value).then(h,f)}u((t=t.apply(l,e||[])).next())})},__rest$2=function(l,e){var n={};for(var t in l)Object.prototype.hasOwnProperty.call(l,t)&&e.indexOf(t)<0&&(n[t]=l[t]);if(l!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,t=Object.getOwnPropertySymbols(l);a<t.length;a++)e.indexOf(t[a])<0&&Object.prototype.propertyIsEnumerable.call(l,t[a])&&(n[t[a]]=l[t[a]]);return n};const{PDFDataRangeTransport}=pdfjs,defaultOnPassword=(l,e)=>{switch(e){case PasswordResponses.NEED_PASSWORD:{const n=prompt("Enter the password to open this PDF file.");l(n);break}case PasswordResponses.INCORRECT_PASSWORD:{const n=prompt("Invalid password. Please try again.");l(n);break}}};function isParameterObject(l){return typeof l=="object"&&l!==null&&("data"in l||"range"in l||"url"in l)}const Document$1=React$2.forwardRef(function l(e,n){var{children:t,className:a,error:o="Failed to load PDF file.",externalLinkRel:d,externalLinkTarget:h,file:f,inputRef:u,imageResourcesPath:p,loading:_="Loading PDF…",noData:R="No PDF file specified.",onItemClick:x,onLoadError:S,onLoadProgress:g,onLoadSuccess:v,onPassword:b=defaultOnPassword,onSourceError:T,onSourceSuccess:y,options:w,renderMode:C,rotate:D}=e,N=__rest$2(e,["children","className","error","externalLinkRel","externalLinkTarget","file","inputRef","imageResourcesPath","loading","noData","onItemClick","onLoadError","onLoadProgress","onLoadSuccess","onPassword","onSourceError","onSourceSuccess","options","renderMode","rotate"]);const[P,k]=useResolver(),{value:F,error:M}=P,[j,$]=useResolver(),{value:B,error:X}=j,re=React$2.useRef(new LinkService),ae=React$2.useRef([]),ee=React$2.useRef(void 0),K=React$2.useRef(void 0);f&&f!==ee.current&&isParameterObject(f)&&(warning$1(!dequal(f,ee.current),`File prop passed to <Document /> changed, but it's equal to previous one. This might result in unnecessary reloads. Consider memoizing the value passed to "file" prop.`),ee.current=f),w&&w!==K.current&&(warning$1(!dequal(w,K.current),`Options prop passed to <Document /> changed, but it's equal to previous one. This might result in unnecessary reloads. Consider memoizing the value passed to "options" prop.`),K.current=w);const ne=React$2.useRef({scrollPageIntoView:Fe=>{const{dest:Ne,pageNumber:Qe,pageIndex:st=Qe-1}=Fe;if(x){x({dest:Ne,pageIndex:st,pageNumber:Qe});return}const Ze=ae.current[st];if(Ze){Ze.scrollIntoView();return}warning$1(!1,`An internal link leading to page ${Qe} was clicked, but neither <Document> was provided with onItemClick nor it was able to find the page within itself. Either provide onItemClick to <Document> and handle navigating by yourself or ensure that all pages are rendered within <Document>.`)}});React$2.useImperativeHandle(n,()=>({linkService:re,pages:ae,viewer:ne}),[]);function ue(){y&&y()}function me(){M&&(warning$1(!1,M.toString()),T&&T(M))}function J(){k({type:"RESET"})}React$2.useEffect(J,[f,k]);const H=React$2.useCallback(()=>__awaiter(this,void 0,void 0,function*(){if(!f)return null;if(typeof f=="string")return isDataURI(f)?{data:dataURItoByteString(f)}:(displayCORSWarning(),{url:f});if(f instanceof PDFDataRangeTransport)return{range:f};if(isArrayBuffer(f))return{data:f};if(isBrowser&&isBlob(f))return{data:yield loadFromFile(f)};if(invariant(typeof f=="object","Invalid parameter in file, need either Uint8Array, string or a parameter object"),invariant(isParameterObject(f),"Invalid parameter object: need either .data, .range or .url"),"url"in f&&typeof f.url=="string"){if(isDataURI(f.url)){const{url:Fe}=f,Ne=__rest$2(f,["url"]),Qe=dataURItoByteString(Fe);return Object.assign({data:Qe},Ne)}displayCORSWarning()}return f}),[f]);React$2.useEffect(()=>{const Fe=makeCancellablePromise(H());return Fe.promise.then(Ne=>{k({type:"RESOLVE",value:Ne})}).catch(Ne=>{k({type:"REJECT",error:Ne})}),()=>{cancelRunningTask(Fe)}},[H,k]),React$2.useEffect(()=>{if(!(typeof F>"u")){if(F===!1){me();return}ue()}},[F]);function W(){B&&(v&&v(B),ae.current=new Array(B.numPages),re.current.setDocument(B))}function V(){X&&(warning$1(!1,X.toString()),S&&S(X))}function z(){$({type:"RESET"})}React$2.useEffect(z,[$,F]);function Y(){if(!F)return;const Fe=Object.assign(Object.assign({},w),{isEvalSupported:!1}),Ne=Object.assign(Object.assign({},F),Fe),Qe=pdfjs.getDocument(Ne);g&&(Qe.onProgress=g),b&&(Qe.onPassword=b);const st=Qe;return st.promise.then(Ze=>{$({type:"RESOLVE",value:Ze})}).catch(Ze=>{st.destroyed||$({type:"REJECT",error:Ze})}),()=>{st.destroy()}}React$2.useEffect(Y,[w,$,F]),React$2.useEffect(()=>{if(!(typeof B>"u")){if(B===!1){V();return}W()}},[B]);function ie(){re.current.setViewer(ne.current),re.current.setExternalLinkRel(d),re.current.setExternalLinkTarget(h)}React$2.useEffect(ie,[d,h]);function le(Fe,Ne){ae.current[Fe]=Ne}function fe(Fe){delete ae.current[Fe]}const ce=React$2.useMemo(()=>({imageResourcesPath:p,linkService:re.current,onItemClick:x,pdf:B,registerPage:le,renderMode:C,rotate:D,unregisterPage:fe}),[p,x,B,C,D]),ge=React$2.useMemo(()=>makeEventProps(N,()=>B),[N,B]);function Se(){return jsxRuntimeExports.jsx(DocumentContext.Provider,{value:ce,children:t})}function Te(){return f?B==null?jsxRuntimeExports.jsx(Message$1,{type:"loading",children:typeof _=="function"?_():_}):B===!1?jsxRuntimeExports.jsx(Message$1,{type:"error",children:typeof o=="function"?o():o}):Se():jsxRuntimeExports.jsx(Message$1,{type:"no-data",children:typeof R=="function"?R():R})}return jsxRuntimeExports.jsx("div",Object.assign({className:clsx("react-pdf__Document",a),ref:u,style:{"--scale-factor":"1"}},ge,{children:Te()}))}),Document$2=Document$1;function useDocumentContext(){return React$2.useContext(DocumentContext)}function mergeRefs(){for(var l=[],e=0;e<arguments.length;e++)l[e]=arguments[e];var n=l.filter(Boolean);if(n.length<=1){var t=n[0];return t||null}return function(o){n.forEach(function(d){typeof d=="function"?d(o):d&&(d.current=o)})}}const PageContext=React$2.createContext(null),PDF_ROLE_TO_HTML_ROLE={Document:null,DocumentFragment:null,Part:"group",Sect:"group",Div:"group",Aside:"note",NonStruct:"none",P:null,H:"heading",Title:null,FENote:"note",Sub:"group",Lbl:null,Span:null,Em:null,Strong:null,Link:"link",Annot:"note",Form:"form",Ruby:null,RB:null,RT:null,RP:null,Warichu:null,WT:null,WP:null,L:"list",LI:"listitem",LBody:null,Table:"table",TR:"row",TH:"columnheader",TD:"cell",THead:"columnheader",TBody:null,TFoot:null,Caption:null,Figure:"figure",Formula:null,Artifact:null},HEADING_PATTERN=/^H(\d+)$/;function isPdfRole(l){return l in PDF_ROLE_TO_HTML_ROLE}function isStructTreeNode(l){return"children"in l}function isStructTreeNodeWithOnlyContentChild(l){return isStructTreeNode(l)?l.children.length===1&&0 in l.children&&"id"in l.children[0]:!1}function getRoleAttributes(l){const e={};if(isStructTreeNode(l)){const{role:n}=l,t=n.match(HEADING_PATTERN);if(t)e.role="heading",e["aria-level"]=Number(t[1]);else if(isPdfRole(n)){const a=PDF_ROLE_TO_HTML_ROLE[n];a&&(e.role=a)}}return e}function getBaseAttributes(l){const e={};if(isStructTreeNode(l)){if(l.alt!==void 0&&(e["aria-label"]=l.alt),l.lang!==void 0&&(e.lang=l.lang),isStructTreeNodeWithOnlyContentChild(l)){const[n]=l.children;if(n){const t=getBaseAttributes(n);return Object.assign(Object.assign({},e),t)}}}else"id"in l&&(e["aria-owns"]=l.id);return e}function getAttributes(l){return l?Object.assign(Object.assign({},getRoleAttributes(l)),getBaseAttributes(l)):null}function StructTreeItem({className:l,node:e}){const n=React$2.useMemo(()=>getAttributes(e),[e]),t=React$2.useMemo(()=>!isStructTreeNode(e)||isStructTreeNodeWithOnlyContentChild(e)?null:e.children.map((a,o)=>jsxRuntimeExports.jsx(StructTreeItem,{node:a},o)),[e]);return jsxRuntimeExports.jsx("span",Object.assign({className:l},n,{children:t}))}function usePageContext(){return React$2.useContext(PageContext)}function StructTree(){const l=usePageContext();invariant(l,"Unable to find Page context.");const{onGetStructTreeError:e,onGetStructTreeSuccess:n}=l,[t,a]=useResolver(),{value:o,error:d}=t,{customTextRenderer:h,page:f}=l;function u(){o&&n&&n(o)}function p(){d&&(warning$1(!1,d.toString()),e&&e(d))}function _(){a({type:"RESET"})}React$2.useEffect(_,[a,f]);function R(){if(h||!f)return;const x=makeCancellablePromise(f.getStructTree()),S=x;return x.promise.then(g=>{a({type:"RESOLVE",value:g})}).catch(g=>{a({type:"REJECT",error:g})}),()=>cancelRunningTask(S)}return React$2.useEffect(R,[h,f,a]),React$2.useEffect(()=>{if(o!==void 0){if(o===!1){p();return}u()}},[o]),o?jsxRuntimeExports.jsx(StructTreeItem,{className:"react-pdf__Page__structTree structTree",node:o}):null}const ANNOTATION_MODE=pdfjs.AnnotationMode;function PageCanvas(l){const e=usePageContext();invariant(e,"Unable to find Page context.");const n=Object.assign(Object.assign({},e),l),{_className:t,canvasBackground:a,devicePixelRatio:o=getDevicePixelRatio$1(),onRenderError:d,onRenderSuccess:h,page:f,renderForms:u,renderTextLayer:p,rotate:_,scale:R}=n,{canvasRef:x}=l;invariant(f,"Attempted to render page canvas, but no page was specified.");const S=React$2.useRef(null);function g(){f&&h&&h(makePageCallback(f,R))}function v(C){isCancelException(C)||(warning$1(!1,C.toString()),d&&d(C))}const b=React$2.useMemo(()=>f.getViewport({scale:R*o,rotation:_}),[o,f,_,R]),T=React$2.useMemo(()=>f.getViewport({scale:R,rotation:_}),[f,_,R]);function y(){if(!f)return;f.cleanup();const{current:C}=S;if(!C)return;C.width=b.width,C.height=b.height,C.style.width=`${Math.floor(T.width)}px`,C.style.height=`${Math.floor(T.height)}px`,C.style.visibility="hidden";const D={annotationMode:u?ANNOTATION_MODE.ENABLE_FORMS:ANNOTATION_MODE.ENABLE,canvasContext:C.getContext("2d",{alpha:!1}),viewport:b};a&&(D.background=a);const N=f.render(D),P=N;return N.promise.then(()=>{C.style.visibility="",g()}).catch(v),()=>cancelRunningTask(P)}React$2.useEffect(y,[a,S,o,f,u,b,T]);const w=React$2.useCallback(()=>{const{current:C}=S;C&&(C.width=0,C.height=0)},[S]);return React$2.useEffect(()=>w,[w]),jsxRuntimeExports.jsx("canvas",{className:`${t}__canvas`,dir:"ltr",ref:mergeRefs(x,S),style:{display:"block",userSelect:"none"},children:p?jsxRuntimeExports.jsx(StructTree,{}):null})}function PageSVG(){const l=usePageContext();invariant(l,"Unable to find Page context.");const{_className:e,onRenderSuccess:n,onRenderError:t,page:a,rotate:o,scale:d}=l;invariant(a,"Attempted to render page SVG, but no page was specified.");const[h,f]=useResolver(),{value:u,error:p}=h;function _(){a&&n&&n(makePageCallback(a,d))}function R(){p&&(isCancelException(p)||(warning$1(!1,p.toString()),t&&t(p)))}const x=React$2.useMemo(()=>a.getViewport({scale:d,rotation:o}),[a,o,d]);function S(){f({type:"RESET"})}React$2.useEffect(S,[a,f,x]);function g(){if(!a)return;const y=makeCancellablePromise(a.getOperatorList());return y.promise.then(w=>{new pdfjs.SVGGraphics(a.commonObjs,a.objs).getSVG(w,x).then(D=>{if(!(D instanceof SVGElement))throw new Error("getSVG returned unexpected result.");f({type:"RESOLVE",value:D})}).catch(D=>{f({type:"REJECT",error:D})})}).catch(w=>{f({type:"REJECT",error:w})}),()=>cancelRunningTask(y)}React$2.useEffect(g,[a,f,x]),React$2.useEffect(()=>{if(u!==void 0){if(u===!1){R();return}_()}},[u]);function v(y){if(!y||!u)return;y.firstElementChild||y.appendChild(u);const{width:w,height:C}=x;u.setAttribute("width",`${w}`),u.setAttribute("height",`${C}`)}const{width:b,height:T}=x;return jsxRuntimeExports.jsx("div",{className:`${e}__svg`,ref:y=>v(y),style:{display:"block",backgroundColor:"white",overflow:"hidden",width:b,height:T,userSelect:"none"}})}function isTextItem(l){return"str"in l}function TextLayer(){const l=usePageContext();invariant(l,"Unable to find Page context.");const{customTextRenderer:e,onGetTextError:n,onGetTextSuccess:t,onRenderTextLayerError:a,onRenderTextLayerSuccess:o,page:d,pageIndex:h,pageNumber:f,rotate:u,scale:p}=l;invariant(d,"Attempted to load page text content, but no page was specified.");const[_,R]=useResolver(),{value:x,error:S}=_,g=React$2.useRef(null),v=React$2.useRef(void 0);warning$1(parseInt(window.getComputedStyle(document.body).getPropertyValue("--react-pdf-text-layer"),10)===1,"TextLayer styles not found. Read more: https://github.com/wojtekmaj/react-pdf#support-for-text-layer");function b(){x&&t&&t(x)}function T(){S&&(warning$1(!1,S.toString()),n&&n(S))}function y(){R({type:"RESET"})}React$2.useEffect(y,[d,R]);function w(){if(!d)return;const M=makeCancellablePromise(d.getTextContent()),j=M;return M.promise.then($=>{R({type:"RESOLVE",value:$})}).catch($=>{R({type:"REJECT",error:$})}),()=>cancelRunningTask(j)}React$2.useEffect(w,[d,R]),React$2.useEffect(()=>{if(x!==void 0){if(x===!1){T();return}b()}},[x]);const C=React$2.useCallback(()=>{o&&o()},[o]),D=React$2.useCallback(M=>{warning$1(!1,M.toString()),a&&a(M)},[a]);function N(){const M=v.current;M&&M.classList.add("active")}function P(){const M=v.current;M&&M.classList.remove("active")}const k=React$2.useMemo(()=>d.getViewport({scale:p,rotation:u}),[d,u,p]);function F(){if(!d||!x)return;const{current:M}=g;if(!M)return;M.innerHTML="";const j=d.streamTextContent({includeMarkedContent:!0}),$={container:M,textContentSource:j,viewport:k},B=pdfjs.renderTextLayer($),X=B;return B.promise.then(()=>{const re=document.createElement("div");re.className="endOfContent",M.append(re),v.current=re;const ae=M.querySelectorAll('[role="presentation"]');if(e){let ee=0;x.items.forEach((K,ne)=>{if(!isTextItem(K))return;const ue=ae[ee];if(!ue)return;const me=e(Object.assign({pageIndex:h,pageNumber:f,itemIndex:ne},K));ue.innerHTML=me,ee+=K.str&&K.hasEOL?2:1})}C()}).catch(D),()=>cancelRunningTask(X)}return React$2.useLayoutEffect(F,[e,D,C,d,h,f,x,k]),jsxRuntimeExports.jsx("div",{className:clsx("react-pdf__Page__textContent","textLayer"),onMouseUp:P,onMouseDown:N,ref:g})}function AnnotationLayer(){const l=useDocumentContext(),e=usePageContext();invariant(e,"Unable to find Page context.");const n=Object.assign(Object.assign({},l),e),{imageResourcesPath:t,linkService:a,onGetAnnotationsError:o,onGetAnnotationsSuccess:d,onRenderAnnotationLayerError:h,onRenderAnnotationLayerSuccess:f,page:u,pdf:p,renderForms:_,rotate:R,scale:x=1}=n;invariant(p,"Attempted to load page annotations, but no document was specified. Wrap <Page /> in a <Document /> or pass explicit `pdf` prop."),invariant(u,"Attempted to load page annotations, but no page was specified."),invariant(a,"Attempted to load page annotations, but no linkService was specified.");const[S,g]=useResolver(),{value:v,error:b}=S,T=React$2.useRef(null);warning$1(parseInt(window.getComputedStyle(document.body).getPropertyValue("--react-pdf-annotation-layer"),10)===1,"AnnotationLayer styles not found. Read more: https://github.com/wojtekmaj/react-pdf#support-for-annotations");function y(){v&&d&&d(v)}function w(){b&&(warning$1(!1,b.toString()),o&&o(b))}function C(){g({type:"RESET"})}React$2.useEffect(C,[g,u]);function D(){if(!u)return;const M=makeCancellablePromise(u.getAnnotations()),j=M;return M.promise.then($=>{g({type:"RESOLVE",value:$})}).catch($=>{g({type:"REJECT",error:$})}),()=>{cancelRunningTask(j)}}React$2.useEffect(D,[g,u,_]),React$2.useEffect(()=>{if(v!==void 0){if(v===!1){w();return}y()}},[v]);function N(){f&&f()}function P(M){warning$1(!1,`${M}`),h&&h(M)}const k=React$2.useMemo(()=>u.getViewport({scale:x,rotation:R}),[u,R,x]);function F(){if(!p||!u||!a||!v)return;const{current:M}=T;if(!M)return;const j=k.clone({dontFlip:!0}),$={accessibilityManager:null,annotationCanvasMap:null,div:M,l10n:null,page:u,viewport:j},B={annotations:v,annotationStorage:p.annotationStorage,div:M,downloadManager:null,imageResourcesPath:t,linkService:a,page:u,renderForms:_,viewport:j};M.innerHTML="";try{new pdfjs.AnnotationLayer($).render(B),N()}catch(X){P(X)}return()=>{}}return React$2.useEffect(F,[v,t,a,u,_,k]),jsxRuntimeExports.jsx("div",{className:clsx("react-pdf__Page__annotations","annotationLayer"),ref:T})}var __rest$1=function(l,e){var n={};for(var t in l)Object.prototype.hasOwnProperty.call(l,t)&&e.indexOf(t)<0&&(n[t]=l[t]);if(l!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,t=Object.getOwnPropertySymbols(l);a<t.length;a++)e.indexOf(t[a])<0&&Object.prototype.propertyIsEnumerable.call(l,t[a])&&(n[t[a]]=l[t[a]]);return n};const defaultScale=1;function Page(l){const e=useDocumentContext(),n=Object.assign(Object.assign({},e),l),{_className:t="react-pdf__Page",_enableRegisterUnregisterPage:a=!0,canvasBackground:o,canvasRef:d,children:h,className:f,customRenderer:u,customTextRenderer:p,devicePixelRatio:_,error:R="Failed to load the page.",height:x,inputRef:S,loading:g="Loading page…",noData:v="No page specified.",onGetAnnotationsError:b,onGetAnnotationsSuccess:T,onGetStructTreeError:y,onGetStructTreeSuccess:w,onGetTextError:C,onGetTextSuccess:D,onLoadError:N,onLoadSuccess:P,onRenderAnnotationLayerError:k,onRenderAnnotationLayerSuccess:F,onRenderError:M,onRenderSuccess:j,onRenderTextLayerError:$,onRenderTextLayerSuccess:B,pageIndex:X,pageNumber:re,pdf:ae,registerPage:ee,renderAnnotationLayer:K=!0,renderForms:ne=!1,renderMode:ue="canvas",renderTextLayer:me=!0,rotate:J,scale:H=defaultScale,unregisterPage:W,width:V}=n,z=__rest$1(n,["_className","_enableRegisterUnregisterPage","canvasBackground","canvasRef","children","className","customRenderer","customTextRenderer","devicePixelRatio","error","height","inputRef","loading","noData","onGetAnnotationsError","onGetAnnotationsSuccess","onGetStructTreeError","onGetStructTreeSuccess","onGetTextError","onGetTextSuccess","onLoadError","onLoadSuccess","onRenderAnnotationLayerError","onRenderAnnotationLayerSuccess","onRenderError","onRenderSuccess","onRenderTextLayerError","onRenderTextLayerSuccess","pageIndex","pageNumber","pdf","registerPage","renderAnnotationLayer","renderForms","renderMode","renderTextLayer","rotate","scale","unregisterPage","width"]),[Y,ie]=useResolver(),{value:le,error:fe}=Y,ce=React$2.useRef(null);invariant(ae,"Attempted to load a page, but no document was specified. Wrap <Page /> in a <Document /> or pass explicit `pdf` prop.");const ge=isProvided(re)?re-1:X??null,Se=re??(isProvided(X)?X+1:null),Te=J??(le?le.rotate:null),Fe=React$2.useMemo(()=>{if(!le)return null;let $e=1;const rt=H??defaultScale;if(V||x){const ft=le.getViewport({scale:1,rotation:Te});V?$e=V/ft.width:x&&($e=x/ft.height)}return rt*$e},[x,le,Te,H,V]);function Ne(){return()=>{isProvided(ge)&&a&&W&&W(ge)}}React$2.useEffect(Ne,[a,ae,ge,W]);function Qe(){if(P){if(!le||!Fe)return;P(makePageCallback(le,Fe))}if(a&&ee){if(!isProvided(ge)||!ce.current)return;ee(ge,ce.current)}}function st(){fe&&(warning$1(!1,fe.toString()),N&&N(fe))}function Ze(){ie({type:"RESET"})}React$2.useEffect(Ze,[ie,ae,ge]);function yt(){if(!ae||!Se)return;const $e=makeCancellablePromise(ae.getPage(Se)),rt=$e;return $e.promise.then(ft=>{ie({type:"RESOLVE",value:ft})}).catch(ft=>{ie({type:"REJECT",error:ft})}),()=>cancelRunningTask(rt)}React$2.useEffect(yt,[ie,ae,ge,Se,ee]),React$2.useEffect(()=>{if(le!==void 0){if(le===!1){st();return}Qe()}},[le,Fe]);const Ve=React$2.useMemo(()=>le&&isProvided(ge)&&Se&&isProvided(Te)&&isProvided(Fe)?{_className:t,canvasBackground:o,customTextRenderer:p,devicePixelRatio:_,onGetAnnotationsError:b,onGetAnnotationsSuccess:T,onGetStructTreeError:y,onGetStructTreeSuccess:w,onGetTextError:C,onGetTextSuccess:D,onRenderAnnotationLayerError:k,onRenderAnnotationLayerSuccess:F,onRenderError:M,onRenderSuccess:j,onRenderTextLayerError:$,onRenderTextLayerSuccess:B,page:le,pageIndex:ge,pageNumber:Se,renderForms:ne,renderTextLayer:me,rotate:Te,scale:Fe}:null,[t,o,p,_,b,T,y,w,C,D,k,F,M,j,$,B,le,ge,Se,ne,me,Te,Fe]),Me=React$2.useMemo(()=>makeEventProps(z,()=>le&&(Fe?makePageCallback(le,Fe):void 0)),[z,le,Fe]),Le=`${ge}@${Fe}/${Te}`,Ke=`${ge}/${Te}`;function ke(){switch(ue){case"custom":return invariant(u,'renderMode was set to "custom", but no customRenderer was passed.'),jsxRuntimeExports.jsx(u,{},`${Le}_custom`);case"none":return null;case"svg":return jsxRuntimeExports.jsx(PageSVG,{},`${Ke}_svg`);case"canvas":default:return jsxRuntimeExports.jsx(PageCanvas,{canvasRef:d},`${Le}_canvas`)}}function qe(){return me?jsxRuntimeExports.jsx(TextLayer,{},`${Le}_text`):null}function St(){return K?jsxRuntimeExports.jsx(AnnotationLayer,{},`${Le}_annotations`):null}function Ye(){return jsxRuntimeExports.jsxs(PageContext.Provider,{value:Ve,children:[ke(),qe(),St(),h]})}function ot(){return Se?ae===null||le===void 0||le===null?jsxRuntimeExports.jsx(Message$1,{type:"loading",children:typeof g=="function"?g():g}):ae===!1||le===!1?jsxRuntimeExports.jsx(Message$1,{type:"error",children:typeof R=="function"?R():R}):Ye():jsxRuntimeExports.jsx(Message$1,{type:"no-data",children:typeof v=="function"?v():v})}return jsxRuntimeExports.jsx("div",Object.assign({className:clsx(t,f),"data-page-number":Se,ref:mergeRefs(S,ce),style:{"--scale-factor":`${Fe}`,backgroundColor:o||"white",position:"relative",minWidth:"min-content",minHeight:"min-content"}},Me,{children:ot()}))}displayWorkerWarning();pdfjs.GlobalWorkerOptions.workerSrc="pdf.worker.js";const DeviceDetection=()=>navigator.userAgent.match(/(android)/i)||["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document,BrowserDetection=()=>{const l=navigator.userAgent.toLowerCase(),e=l.indexOf("firefox")>-1,n=l.indexOf("safari")>-1&&l.indexOf("chrome")<=-1;let t="default";return e?t="firefox":n&&(t="safari"),t};pdfjs.GlobalWorkerOptions.workerSrc=`//unpkg.com/pdfjs-dist@${pdfjs.version}/build/pdf.worker.min.js`;const SCALE_LIMIT=2,maxValues={default:{area:268435456,sideBig:65535},firefox:{area:124992400,sideBig:32767},safari:{area:16777216,sideBig:4194303}},getMaxPermitted=()=>{const l=BrowserDetection();return maxValues[l]},formatScale=l=>l>1?Math.floor(l):Math.floor(l*100)/100,getMaxScaleByArea=(l,e,n)=>{const t=e*n*window.devicePixelRatio**2,a=Math.sqrt(l/t);return formatScale(a)},getMaxScaleBySide=(l,e,n)=>{const t=e>n?e:n,o=l/window.devicePixelRatio/t;return formatScale(o)};function PdfVisor({url:l,endPdf:e,emitNumberOfPages:n,translate:t,soundActions:a,keyboardControl:o}){const d=React$2.useRef(),[h,f]=React$2.useState(1),[u,p]=React$2.useState(!0),[_,R]=React$2.useState(),[x,S]=React$2.useState(1),[g]=a,v=React$2.useCallback(C=>{C.getPage(1).then(N=>{const P=N.getViewport(1),k=P.viewBox[2]-P.viewBox[0],F=P.viewBox[3]-P.viewBox[1],M=getMaxPermitted(),j=getMaxScaleByArea(M.area,k,F),$=getMaxScaleBySide(M.sideBig,k,F),B=j<$?j:$;S(B>SCALE_LIMIT?SCALE_LIMIT:B)}),f(C.numPages),C.numPages&&n({numPages:C.numPages,currentPage:_});const D=()=>(setTimeout(()=>{d.current&&d.current.scrollHeight<=d.current.offsetHeight&&p(!1)},1e3),()=>{D&&clearTimeout(D)});D()},[_,n]);React$2.useEffect(()=>{R(1)},[]);const b={file:l,loading:"Loading file...",onLoadSuccess:v,onLoadError:C=>console.error(C)},T=C=>{g("click-ui"),d.current.scrollTo(0,0),p(!1),R(_+C),n({numPages:h,currentPage:_+C}),_===h-1&&e()},y=o({rewind:h>1&&_!==1?()=>T(-1):null,forward:h>1&&_!==h?()=>T(1):null});React$2.useEffect(()=>y(),[y]);const w=()=>{p(!1)};return jsxRuntimeExports.jsx("div",{className:"full-height",children:jsxRuntimeExports.jsxs("div",{className:"pdf-box",dir:LangIsRtl()?"rtl":"auto",children:[jsxRuntimeExports.jsxs("div",{className:"pdf-box__scrollwrap",children:[jsxRuntimeExports.jsxs("div",{tabIndex:"0",onScroll:w,ref:d,className:`pdf-box__scroll ${u?"pdf-box__scroll--overlay":""}`,children:[jsxRuntimeExports.jsx(Document$2,{...b,children:jsxRuntimeExports.jsx(Page,{renderAnnotationLayer:!1,renderTextLayer:!1,scale:x,pageNumber:_})}),jsxRuntimeExports.jsx("div",{className:"pdf-box__mouse icon-scroll-down-black"})]}),h>1&&jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:jsxRuntimeExports.jsx("div",{className:"pdf-box__paginator",children:jsxRuntimeExports.jsxs("span",{children:[t("storylines.misc.page")," ",_," ",t("storylines.misc.of")," ",h]})})})]}),h>1&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("button",{className:`pdf-box__arrow pdf-box__arrow--left gat--btn__round ${_===1?"pdf-box__arrow--hidden":""}`,type:"button",disabled:_===1,onClick:()=>T(-1),"aria-label":LangIsRtl()?t("storylines.misc.nextPage"):t("storylines.misc.previousPage"),children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-next":"icon-back"})}),jsxRuntimeExports.jsx("button",{className:`pdf-box__arrow pdf-box__arrow--right gat--btn__round ${_===h?"pdf-box__arrow--hidden":""}`,type:"button",disabled:_===h,onClick:()=>T(1),"aria-label":LangIsRtl()?t("storylines.misc.previousPage"):t("storylines.misc.nextPage"),children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-back":"icon-next"})})]})]})})}function PdfComponent({emitEvent:l,getEvent:e,soundActions:n,keyboardControl:t,documentType:a,name:o,required:d,viewed:h,visible:f,documentId:u,documentId_labelId:p,..._}){const R=M=>e({type:"translate",payload:M}),[x]=n,S=_.document,{url:g}=S||"",[v,b]=React$2.useState(!1),T=React$2.useMemo(()=>({documentType:a,name:o,documentId:p,type:"pdf"}),[a,o,p]),y=React$2.useCallback(()=>{l({type:"finishMedia",payload:T})},[T,l]),[w,C]=React$2.useState(!1),[D,N]=React$2.useState(!1);React$2.useEffect(()=>{f||y(),d||b(!0)},[f,y,d]);const P=t({forward:w||!h&&D||D&&!d?y:null,escape:w||!h&&D||!d?y:null});if(React$2.useEffect(()=>P(),[P]),!f)return null;const k=()=>{b(!0)},F=M=>{M.numPages===M.currentPage?N(!0):N(!1),M.numPages===1&&C(!0)};return jsxRuntimeExports.jsxs("div",{className:`${h?"notes--results":"full-height"}`,children:[(w||!h&&v)&&jsxRuntimeExports.jsx("div",{className:"position--absolute top right z-index1",children:jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn__round gat--btn__close",onClick:()=>{y(),x("click-ui")},"aria-label":R("storylines.misc.closePiece"),children:jsxRuntimeExports.jsx("span",{className:"icon-close"})})}),g&&jsxRuntimeExports.jsx(PdfVisor,{soundActions:n,emitNumberOfPages:M=>F(M),url:g,endPdf:k,translate:R,keyboardControl:t})]})}function UrlComponent({emitEvent:l,getEvent:e,name:n,name_labelId:t,link:a,link_labelId:o,text:d,text_labelId:h,textForLink:f,viewed:u,documentType:p,soundActions:_,keyboardControl:R,visible:x,allowContinue:S=!1}){const g=P=>e({type:"translate",payload:P}),v={documentType:p,name:t,text:h,link:o,type:"url"},[b]=_,T=()=>{b("click-ui"),l({type:"finishMedia",payload:v})},[y,w]=React$2.useState(!1),C=R({disabled:u,forward:T,escape:T});React$2.useEffect(()=>C(),[C]);const D=a.indexOf("http")!==0?`http://${a}`:a,N=React$2.useCallback(()=>{b("click-ui"),window.open(D,"_blank","noopener,noreferrer"),w(!0)},[b,D]);return React$2.useEffect(()=>{x||T()}),x&&jsxRuntimeExports.jsx("div",{className:"popup--layer",children:jsxRuntimeExports.jsxs("div",{className:"popup popup--link",children:[!u&&y||S?jsxRuntimeExports.jsx("button",{className:"popup--close unset-button","data-testid":"close",type:"button","aria-label":g("storylines.misc.closePiece"),onClick:()=>T(),children:jsxRuntimeExports.jsx("span",{className:"icon-close"})}):null,jsxRuntimeExports.jsx("span",{className:"popup--link__title",children:n}),jsxRuntimeExports.jsx("span",{className:"popup--link__desc",children:d}),jsxRuntimeExports.jsx("button",{role:"link",className:"unset-button popup--link__lineclamp popup--link__url",type:"button",onClick:N,children:f||a})]})})}var hls={exports:{}};(function(l,e){typeof window<"u"&&function(t,a){l.exports=a()}(commonjsGlobal,function(){return function(n){var t={};function a(o){if(t[o])return t[o].exports;var d=t[o]={i:o,l:!1,exports:{}};return n[o].call(d.exports,d,d.exports,a),d.l=!0,d.exports}return a.m=n,a.c=t,a.d=function(o,d,h){a.o(o,d)||Object.defineProperty(o,d,{enumerable:!0,get:h})},a.r=function(o){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})},a.t=function(o,d){if(d&1&&(o=a(o)),d&8||d&4&&typeof o=="object"&&o&&o.__esModule)return o;var h=Object.create(null);if(a.r(h),Object.defineProperty(h,"default",{enumerable:!0,value:o}),d&2&&typeof o!="string")for(var f in o)a.d(h,f,(function(u){return o[u]}).bind(null,f));return h},a.n=function(o){var d=o&&o.__esModule?function(){return o.default}:function(){return o};return a.d(d,"a",d),d},a.o=function(o,d){return Object.prototype.hasOwnProperty.call(o,d)},a.p="/dist/",a(a.s="./src/hls.js")}({"./node_modules/eventemitter3/index.js":function(n,t,a){var o=Object.prototype.hasOwnProperty,d="~";function h(){}Object.create&&(h.prototype=Object.create(null),new h().__proto__||(d=!1));function f(R,x,S){this.fn=R,this.context=x,this.once=S||!1}function u(R,x,S,g,v){if(typeof S!="function")throw new TypeError("The listener must be a function");var b=new f(S,g||R,v),T=d?d+x:x;return R._events[T]?R._events[T].fn?R._events[T]=[R._events[T],b]:R._events[T].push(b):(R._events[T]=b,R._eventsCount++),R}function p(R,x){--R._eventsCount===0?R._events=new h:delete R._events[x]}function _(){this._events=new h,this._eventsCount=0}_.prototype.eventNames=function(){var x=[],S,g;if(this._eventsCount===0)return x;for(g in S=this._events)o.call(S,g)&&x.push(d?g.slice(1):g);return Object.getOwnPropertySymbols?x.concat(Object.getOwnPropertySymbols(S)):x},_.prototype.listeners=function(x){var S=d?d+x:x,g=this._events[S];if(!g)return[];if(g.fn)return[g.fn];for(var v=0,b=g.length,T=new Array(b);v<b;v++)T[v]=g[v].fn;return T},_.prototype.listenerCount=function(x){var S=d?d+x:x,g=this._events[S];return g?g.fn?1:g.length:0},_.prototype.emit=function(x,S,g,v,b,T){var y=d?d+x:x;if(!this._events[y])return!1;var w=this._events[y],C=arguments.length,D,N;if(w.fn){switch(w.once&&this.removeListener(x,w.fn,void 0,!0),C){case 1:return w.fn.call(w.context),!0;case 2:return w.fn.call(w.context,S),!0;case 3:return w.fn.call(w.context,S,g),!0;case 4:return w.fn.call(w.context,S,g,v),!0;case 5:return w.fn.call(w.context,S,g,v,b),!0;case 6:return w.fn.call(w.context,S,g,v,b,T),!0}for(N=1,D=new Array(C-1);N<C;N++)D[N-1]=arguments[N];w.fn.apply(w.context,D)}else{var P=w.length,k;for(N=0;N<P;N++)switch(w[N].once&&this.removeListener(x,w[N].fn,void 0,!0),C){case 1:w[N].fn.call(w[N].context);break;case 2:w[N].fn.call(w[N].context,S);break;case 3:w[N].fn.call(w[N].context,S,g);break;case 4:w[N].fn.call(w[N].context,S,g,v);break;default:if(!D)for(k=1,D=new Array(C-1);k<C;k++)D[k-1]=arguments[k];w[N].fn.apply(w[N].context,D)}}return!0},_.prototype.on=function(x,S,g){return u(this,x,S,g,!1)},_.prototype.once=function(x,S,g){return u(this,x,S,g,!0)},_.prototype.removeListener=function(x,S,g,v){var b=d?d+x:x;if(!this._events[b])return this;if(!S)return p(this,b),this;var T=this._events[b];if(T.fn)T.fn===S&&(!v||T.once)&&(!g||T.context===g)&&p(this,b);else{for(var y=0,w=[],C=T.length;y<C;y++)(T[y].fn!==S||v&&!T[y].once||g&&T[y].context!==g)&&w.push(T[y]);w.length?this._events[b]=w.length===1?w[0]:w:p(this,b)}return this},_.prototype.removeAllListeners=function(x){var S;return x?(S=d?d+x:x,this._events[S]&&p(this,S)):(this._events=new h,this._eventsCount=0),this},_.prototype.off=_.prototype.removeListener,_.prototype.addListener=_.prototype.on,_.prefixed=d,_.EventEmitter=_,n.exports=_},"./node_modules/node-libs-browser/node_modules/events/events.js":function(n,t){function a(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}n.exports=a,a.EventEmitter=a,a.prototype._events=void 0,a.prototype._maxListeners=void 0,a.defaultMaxListeners=10,a.prototype.setMaxListeners=function(u){if(!d(u)||u<0||isNaN(u))throw TypeError("n must be a positive number");return this._maxListeners=u,this},a.prototype.emit=function(u){var p,_,R,x,S,g;if(this._events||(this._events={}),u==="error"&&(!this._events.error||h(this._events.error)&&!this._events.error.length)){if(p=arguments[1],p instanceof Error)throw p;var v=new Error('Uncaught, unspecified "error" event. ('+p+")");throw v.context=p,v}if(_=this._events[u],f(_))return!1;if(o(_))switch(arguments.length){case 1:_.call(this);break;case 2:_.call(this,arguments[1]);break;case 3:_.call(this,arguments[1],arguments[2]);break;default:x=Array.prototype.slice.call(arguments,1),_.apply(this,x)}else if(h(_))for(x=Array.prototype.slice.call(arguments,1),g=_.slice(),R=g.length,S=0;S<R;S++)g[S].apply(this,x);return!0},a.prototype.addListener=function(u,p){var _;if(!o(p))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",u,o(p.listener)?p.listener:p),this._events[u]?h(this._events[u])?this._events[u].push(p):this._events[u]=[this._events[u],p]:this._events[u]=p,h(this._events[u])&&!this._events[u].warned&&(f(this._maxListeners)?_=a.defaultMaxListeners:_=this._maxListeners,_&&_>0&&this._events[u].length>_&&(this._events[u].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[u].length),typeof console.trace=="function"&&console.trace())),this},a.prototype.on=a.prototype.addListener,a.prototype.once=function(u,p){if(!o(p))throw TypeError("listener must be a function");var _=!1;function R(){this.removeListener(u,R),_||(_=!0,p.apply(this,arguments))}return R.listener=p,this.on(u,R),this},a.prototype.removeListener=function(u,p){var _,R,x,S;if(!o(p))throw TypeError("listener must be a function");if(!this._events||!this._events[u])return this;if(_=this._events[u],x=_.length,R=-1,_===p||o(_.listener)&&_.listener===p)delete this._events[u],this._events.removeListener&&this.emit("removeListener",u,p);else if(h(_)){for(S=x;S-- >0;)if(_[S]===p||_[S].listener&&_[S].listener===p){R=S;break}if(R<0)return this;_.length===1?(_.length=0,delete this._events[u]):_.splice(R,1),this._events.removeListener&&this.emit("removeListener",u,p)}return this},a.prototype.removeAllListeners=function(u){var p,_;if(!this._events)return this;if(!this._events.removeListener)return arguments.length===0?this._events={}:this._events[u]&&delete this._events[u],this;if(arguments.length===0){for(p in this._events)p!=="removeListener"&&this.removeAllListeners(p);return this.removeAllListeners("removeListener"),this._events={},this}if(_=this._events[u],o(_))this.removeListener(u,_);else if(_)for(;_.length;)this.removeListener(u,_[_.length-1]);return delete this._events[u],this},a.prototype.listeners=function(u){var p;return!this._events||!this._events[u]?p=[]:o(this._events[u])?p=[this._events[u]]:p=this._events[u].slice(),p},a.prototype.listenerCount=function(u){if(this._events){var p=this._events[u];if(o(p))return 1;if(p)return p.length}return 0},a.listenerCount=function(u,p){return u.listenerCount(p)};function o(u){return typeof u=="function"}function d(u){return typeof u=="number"}function h(u){return typeof u=="object"&&u!==null}function f(u){return u===void 0}},"./node_modules/url-toolkit/src/url-toolkit.js":function(n,t,a){(function(o){var d=/^((?:[a-zA-Z0-9+\-.]+:)?)(\/\/[^\/?#]*)?((?:[^\/\?#]*\/)*.*?)??(;.*?)?(\?.*?)?(#.*?)?$/,h=/^([^\/?#]*)(.*)$/,f=/(?:\/|^)\.(?=\/)/g,u=/(?:\/|^)\.\.\/(?!\.\.\/).*?(?=\/)/g,p={buildAbsoluteURL:function(_,R,x){if(x=x||{},_=_.trim(),R=R.trim(),!R){if(!x.alwaysNormalize)return _;var S=p.parseURL(_);if(!S)throw new Error("Error trying to parse base URL.");return S.path=p.normalizePath(S.path),p.buildURLFromParts(S)}var g=p.parseURL(R);if(!g)throw new Error("Error trying to parse relative URL.");if(g.scheme)return x.alwaysNormalize?(g.path=p.normalizePath(g.path),p.buildURLFromParts(g)):R;var v=p.parseURL(_);if(!v)throw new Error("Error trying to parse base URL.");if(!v.netLoc&&v.path&&v.path[0]!=="/"){var b=h.exec(v.path);v.netLoc=b[1],v.path=b[2]}v.netLoc&&!v.path&&(v.path="/");var T={scheme:v.scheme,netLoc:g.netLoc,path:null,params:g.params,query:g.query,fragment:g.fragment};if(!g.netLoc&&(T.netLoc=v.netLoc,g.path[0]!=="/"))if(!g.path)T.path=v.path,g.params||(T.params=v.params,g.query||(T.query=v.query));else{var y=v.path,w=y.substring(0,y.lastIndexOf("/")+1)+g.path;T.path=p.normalizePath(w)}return T.path===null&&(T.path=x.alwaysNormalize?p.normalizePath(g.path):g.path),p.buildURLFromParts(T)},parseURL:function(_){var R=d.exec(_);return R?{scheme:R[1]||"",netLoc:R[2]||"",path:R[3]||"",params:R[4]||"",query:R[5]||"",fragment:R[6]||""}:null},normalizePath:function(_){for(_=_.split("").reverse().join("").replace(f,"");_.length!==(_=_.replace(u,"")).length;);return _.split("").reverse().join("")},buildURLFromParts:function(_){return _.scheme+_.netLoc+_.path+_.params+_.query+_.fragment}};n.exports=p})()},"./node_modules/webworkify-webpack/index.js":function(n,t,a){function o(x){var S={};function g(b){if(S[b])return S[b].exports;var T=S[b]={i:b,l:!1,exports:{}};return x[b].call(T.exports,T,T.exports,g),T.l=!0,T.exports}g.m=x,g.c=S,g.i=function(b){return b},g.d=function(b,T,y){g.o(b,T)||Object.defineProperty(b,T,{configurable:!1,enumerable:!0,get:y})},g.r=function(b){Object.defineProperty(b,"__esModule",{value:!0})},g.n=function(b){var T=b&&b.__esModule?function(){return b.default}:function(){return b};return g.d(T,"a",T),T},g.o=function(b,T){return Object.prototype.hasOwnProperty.call(b,T)},g.p="/",g.oe=function(b){throw console.error(b),b};var v=g(g.s=ENTRY_MODULE);return v.default||v}var d="[\\.|\\-|\\+|\\w|/|@]+",h="\\((/\\*.*?\\*/)?s?.*?("+d+").*?\\)";function f(x){return(x+"").replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}function u(x){return!isNaN(1*x)}function p(x,S,g){var v={};v[g]=[];var b=S.toString(),T=b.match(/^function\s?\(\w+,\s*\w+,\s*(\w+)\)/);if(!T)return v;for(var y=T[1],w=new RegExp("(\\\\n|\\W)"+f(y)+h,"g"),C;C=w.exec(b);)C[3]!=="dll-reference"&&v[g].push(C[3]);for(w=new RegExp("\\("+f(y)+'\\("(dll-reference\\s('+d+'))"\\)\\)'+h,"g");C=w.exec(b);)x[C[2]]||(v[g].push(C[1]),x[C[2]]=a(C[1]).m),v[C[2]]=v[C[2]]||[],v[C[2]].push(C[4]);for(var D=Object.keys(v),N=0;N<D.length;N++)for(var P=0;P<v[D[N]].length;P++)u(v[D[N]][P])&&(v[D[N]][P]=1*v[D[N]][P]);return v}function _(x){var S=Object.keys(x);return S.reduce(function(g,v){return g||x[v].length>0},!1)}function R(x,S){for(var g={main:[S]},v={main:[]},b={main:{}};_(g);)for(var T=Object.keys(g),y=0;y<T.length;y++){var w=T[y],C=g[w],D=C.pop();if(b[w]=b[w]||{},!(b[w][D]||!x[w][D])){b[w][D]=!0,v[w]=v[w]||[],v[w].push(D);for(var N=p(x,x[w][D],w),P=Object.keys(N),k=0;k<P.length;k++)g[P[k]]=g[P[k]]||[],g[P[k]]=g[P[k]].concat(N[P[k]])}}return v}n.exports=function(x,S){S=S||{};var g={main:a.m},v=S.all?{main:Object.keys(g.main)}:R(g,x),b="";Object.keys(v).filter(function(D){return D!=="main"}).forEach(function(D){for(var N=0;v[D][N];)N++;v[D].push(N),g[D][N]="(function(module, exports, __webpack_require__) { module.exports = __webpack_require__; })",b=b+"var "+D+" = ("+o.toString().replace("ENTRY_MODULE",JSON.stringify(N))+")({"+v[D].map(function(P){return""+JSON.stringify(P)+": "+g[D][P].toString()}).join(",")+`});
|
|
35
35
|
`}),b=b+"new (("+o.toString().replace("ENTRY_MODULE",JSON.stringify(x))+")({"+v.main.map(function(D){return""+JSON.stringify(D)+": "+g.main[D].toString()}).join(",")+"}))(self);";var T=new window.Blob([b],{type:"text/javascript"});if(S.bare)return T;var y=window.URL||window.webkitURL||window.mozURL||window.msURL,w=y.createObjectURL(T),C=new window.Worker(w);return C.objectURL=w,C}},"./src/config.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/controller/abr-controller.js"),d=a("./src/controller/buffer-controller.js"),h=a("./src/controller/cap-level-controller.js"),f=a("./src/controller/fps-controller.js"),u=a("./src/utils/xhr-loader.js"),p=a("./src/controller/audio-track-controller.js"),_=a("./src/controller/audio-stream-controller.js"),R=a("./src/utils/cues.js"),x=a("./src/controller/timeline-controller.js"),S=a("./src/controller/subtitle-track-controller.js"),g=a("./src/controller/subtitle-stream-controller.js"),v=a("./src/controller/eme-controller.js"),b=a("./src/utils/mediakeys-helper.js");t.hlsDefaultConfig={autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,initialLiveManifestSize:1,maxBufferLength:30,maxBufferSize:60*1e3*1e3,maxBufferHole:.5,lowBufferWatchdogPeriod:.5,highBufferWatchdogPeriod:3,nudgeOffset:.1,nudgeMaxRetry:3,maxFragLookUpTolerance:.25,liveSyncDurationCount:3,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,liveDurationInfinity:!1,liveBackBufferLength:1/0,maxMaxBufferLength:600,enableWorker:!0,enableSoftwareAES:!0,manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,startLevel:void 0,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,loader:u.default,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,abrController:o.default,bufferController:d.default,capLevelController:h.default,fpsController:f.default,stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,requestMediaKeySystemAccessFunc:b.requestMediaKeySystemAccess},t.hlsDefaultConfig.subtitleStreamController=g.SubtitleStreamController,t.hlsDefaultConfig.subtitleTrackController=S.default,t.hlsDefaultConfig.timelineController=x.default,t.hlsDefaultConfig.cueHandler=R,t.hlsDefaultConfig.enableCEA708Captions=!0,t.hlsDefaultConfig.enableWebVTT=!0,t.hlsDefaultConfig.captionsTextTrack1Label="English",t.hlsDefaultConfig.captionsTextTrack1LanguageCode="en",t.hlsDefaultConfig.captionsTextTrack2Label="Spanish",t.hlsDefaultConfig.captionsTextTrack2LanguageCode="es",t.hlsDefaultConfig.audioStreamController=_.default,t.hlsDefaultConfig.audioTrackController=p.default,t.hlsDefaultConfig.emeController=v.default},"./src/controller/abr-controller.js":function(n,t,a){(function(o){var d=this&&this.__extends||function(){var g=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(v,b){v.__proto__=b}||function(v,b){for(var T in b)b.hasOwnProperty(T)&&(v[T]=b[T])};return function(v,b){g(v,b);function T(){this.constructor=v}v.prototype=b===null?Object.create(b):(T.prototype=b.prototype,new T)}}();Object.defineProperty(t,"__esModule",{value:!0});var h=a("./src/events.js"),f=a("./src/event-handler.js"),u=a("./src/utils/buffer-helper.js"),p=a("./src/errors.js"),_=a("./src/utils/logger.js"),R=a("./src/utils/ewma-bandwidth-estimator.js"),x=window.performance,S=function(g){d(v,g);function v(b){var T=g.call(this,b,h.default.FRAG_LOADING,h.default.FRAG_LOADED,h.default.FRAG_BUFFERED,h.default.ERROR)||this;return T.lastLoadedFragLevel=0,T._nextAutoLevel=-1,T.hls=b,T.timer=null,T._bwEstimator=null,T.onCheck=T._abandonRulesCheck.bind(T),T}return v.prototype.destroy=function(){this.clearTimer(),f.default.prototype.destroy.call(this)},v.prototype.onFragLoading=function(b){var T=b.frag;if(T.type==="main"&&(this.timer||(this.fragCurrent=T,this.timer=setInterval(this.onCheck,100)),!this._bwEstimator)){var y=this.hls,w=y.config,C=T.level,D=y.levels[C].details.live,N=void 0,P=void 0;D?(N=w.abrEwmaFastLive,P=w.abrEwmaSlowLive):(N=w.abrEwmaFastVoD,P=w.abrEwmaSlowVoD),this._bwEstimator=new R.default(y,P,N,w.abrEwmaDefaultEstimate)}},v.prototype._abandonRulesCheck=function(){var b=this.hls,T=b.media,y=this.fragCurrent;if(y){var w=y.loader,C=b.minAutoLevel;if(!w||w.stats&&w.stats.aborted){_.logger.warn("frag loader destroy or aborted, disarm abandonRules"),this.clearTimer(),this._nextAutoLevel=-1;return}var D=w.stats;if(T&&D&&(!T.paused&&T.playbackRate!==0||!T.readyState)&&y.autoLevel&&y.level){var N=x.now()-D.trequest,P=Math.abs(T.playbackRate);if(N>500*y.duration/P){var k=b.levels,F=Math.max(1,D.bw?D.bw/8:D.loaded*1e3/N),M=k[y.level],j=M.realBitrate?Math.max(M.realBitrate,M.bitrate):M.bitrate,$=D.total?D.total:Math.max(D.loaded,Math.round(y.duration*j/8)),B=T.currentTime,X=($-D.loaded)/F,re=(u.BufferHelper.bufferInfo(T,B,b.config.maxBufferHole).end-B)/P;if(re<2*y.duration/P&&X>re){var ae=void 0,ee=void 0;for(ee=y.level-1;ee>C;ee--){var K=k[ee].realBitrate?Math.max(k[ee].realBitrate,k[ee].bitrate):k[ee].bitrate;if(ae=y.duration*K/(8*.8*F),ae<re)break}ae<X&&(_.logger.warn("loading too slow, abort fragment loading and switch to level "+ee+":fragLoadedDelay["+ee+"]<fragLoadedDelay["+(y.level-1)+"];bufferStarvationDelay:"+ae.toFixed(1)+"<"+X.toFixed(1)+":"+re.toFixed(1)),b.nextLoadLevel=ee,this._bwEstimator.sample(N,D.loaded),w.abort(),this.clearTimer(),b.trigger(h.default.FRAG_LOAD_EMERGENCY_ABORTED,{frag:y,stats:D}))}}}}},v.prototype.onFragLoaded=function(b){var T=b.frag;if(T.type==="main"&&o.isFinite(T.sn)){if(this.clearTimer(),this.lastLoadedFragLevel=T.level,this._nextAutoLevel=-1,this.hls.config.abrMaxWithRealBitrate){var y=this.hls.levels[T.level],w=(y.loaded?y.loaded.bytes:0)+b.stats.loaded,C=(y.loaded?y.loaded.duration:0)+b.frag.duration;y.loaded={bytes:w,duration:C},y.realBitrate=Math.round(8*w/C)}if(b.frag.bitrateTest){var D=b.stats;D.tparsed=D.tbuffered=D.tload,this.onFragBuffered(b)}}},v.prototype.onFragBuffered=function(b){var T=b.stats,y=b.frag;if(T.aborted!==!0&&y.type==="main"&&o.isFinite(y.sn)&&(!y.bitrateTest||T.tload===T.tbuffered)){var w=T.tparsed-T.trequest;_.logger.log("latency/loading/parsing/append/kbps:"+Math.round(T.tfirst-T.trequest)+"/"+Math.round(T.tload-T.tfirst)+"/"+Math.round(T.tparsed-T.tload)+"/"+Math.round(T.tbuffered-T.tparsed)+"/"+Math.round(8*T.loaded/(T.tbuffered-T.trequest))),this._bwEstimator.sample(w,T.loaded),T.bwEstimate=this._bwEstimator.getEstimate(),y.bitrateTest?this.bitrateTestDelay=w/1e3:this.bitrateTestDelay=0}},v.prototype.onError=function(b){switch(b.details){case p.ErrorDetails.FRAG_LOAD_ERROR:case p.ErrorDetails.FRAG_LOAD_TIMEOUT:this.clearTimer();break}},v.prototype.clearTimer=function(){clearInterval(this.timer),this.timer=null},Object.defineProperty(v.prototype,"nextAutoLevel",{get:function(){var b=this._nextAutoLevel,T=this._bwEstimator;if(b!==-1&&(!T||!T.canEstimate()))return b;var y=this._nextABRAutoLevel;return b!==-1&&(y=Math.min(b,y)),y},set:function(b){this._nextAutoLevel=b},enumerable:!0,configurable:!0}),Object.defineProperty(v.prototype,"_nextABRAutoLevel",{get:function(){var b=this.hls,T=b.maxAutoLevel,y=b.levels,w=b.config,C=b.minAutoLevel,D=b.media,N=this.lastLoadedFragLevel,P=this.fragCurrent?this.fragCurrent.duration:0,k=D?D.currentTime:0,F=D&&D.playbackRate!==0?Math.abs(D.playbackRate):1,M=this._bwEstimator?this._bwEstimator.getEstimate():w.abrEwmaDefaultEstimate,j=(u.BufferHelper.bufferInfo(D,k,w.maxBufferHole).end-k)/F,$=this._findBestLevel(N,P,M,C,T,j,w.abrBandWidthFactor,w.abrBandWidthUpFactor,y);if($>=0)return $;_.logger.trace("rebuffering expected to happen, lets try to find a quality level minimizing the rebuffering");var B=P?Math.min(P,w.maxStarvationDelay):w.maxStarvationDelay,X=w.abrBandWidthFactor,re=w.abrBandWidthUpFactor;if(j===0){var ae=this.bitrateTestDelay;if(ae){var ee=P?Math.min(P,w.maxLoadingDelay):w.maxLoadingDelay;B=ee-ae,_.logger.trace("bitrate test took "+Math.round(1e3*ae)+"ms, set first fragment max fetchDuration to "+Math.round(1e3*B)+" ms"),X=re=1}}return $=this._findBestLevel(N,P,M,C,T,j+B,X,re,y),Math.max($,0)},enumerable:!0,configurable:!0}),v.prototype._findBestLevel=function(b,T,y,w,C,D,N,P,k){for(var F=C;F>=w;F--){var M=k[F];if(M){var j=M.details,$=j?j.totalduration/j.fragments.length:T,B=j?j.live:!1,X=void 0;F<=b?X=N*y:X=P*y;var re=k[F].realBitrate?Math.max(k[F].realBitrate,k[F].bitrate):k[F].bitrate,ae=re*$/X;if(_.logger.trace("level/adjustedbw/bitrate/avgDuration/maxFetchDuration/fetchDuration: "+F+"/"+Math.round(X)+"/"+re+"/"+$+"/"+D+"/"+ae),X>re&&(!ae||B&&!this.bitrateTestDelay||ae<D))return F}}return-1},v}(f.default);t.default=S}).call(this,a("./src/polyfills/number.js").Number)},"./src/controller/audio-stream-controller.js":function(n,t,a){(function(o){var d=this&&this.__extends||function(){var D=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(N,P){N.__proto__=P}||function(N,P){for(var k in P)P.hasOwnProperty(k)&&(N[k]=P[k])};return function(N,P){D(N,P);function k(){this.constructor=N}N.prototype=P===null?Object.create(P):(k.prototype=P.prototype,new k)}}();Object.defineProperty(t,"__esModule",{value:!0});var h=a("./src/utils/binary-search.js"),f=a("./src/utils/buffer-helper.js"),u=a("./src/demux/demuxer.js"),p=a("./src/events.js"),_=a("./src/controller/level-helper.js"),R=a("./src/utils/time-ranges.js"),x=a("./src/errors.js"),S=a("./src/utils/logger.js"),g=a("./src/utils/discontinuities.js"),v=a("./src/controller/fragment-tracker.js"),b=a("./src/loader/fragment.js"),T=a("./src/controller/base-stream-controller.js"),y=window.performance,w=100,C=function(D){d(N,D);function N(P,k){var F=D.call(this,P,p.default.MEDIA_ATTACHED,p.default.MEDIA_DETACHING,p.default.AUDIO_TRACKS_UPDATED,p.default.AUDIO_TRACK_SWITCHING,p.default.AUDIO_TRACK_LOADED,p.default.KEY_LOADED,p.default.FRAG_LOADED,p.default.FRAG_PARSING_INIT_SEGMENT,p.default.FRAG_PARSING_DATA,p.default.FRAG_PARSED,p.default.ERROR,p.default.BUFFER_RESET,p.default.BUFFER_CREATED,p.default.BUFFER_APPENDED,p.default.BUFFER_FLUSHED,p.default.INIT_PTS_FOUND)||this;return F.fragmentTracker=k,F.config=P.config,F.audioCodecSwap=!1,F._state=T.State.STOPPED,F.initPTS=[],F.waitingFragment=null,F.videoTrackCC=null,F}return N.prototype.onInitPtsFound=function(P){var k=P.id,F=P.frag.cc,M=P.initPTS;k==="main"&&(this.initPTS[F]=M,this.videoTrackCC=F,S.logger.log("InitPTS for cc: "+F+" found from video track: "+M),this.state===T.State.WAITING_INIT_PTS&&this.tick())},N.prototype.startLoad=function(P){if(this.tracks){var k=this.lastCurrentTime;this.stopLoad(),this.setInterval(w),this.fragLoadError=0,k>0&&P===-1?(S.logger.log("audio:override startPosition with lastCurrentTime @"+k.toFixed(3)),this.state=T.State.IDLE):(this.lastCurrentTime=this.startPosition?this.startPosition:P,this.state=T.State.STARTING),this.nextLoadPosition=this.startPosition=this.lastCurrentTime,this.tick()}else this.startPosition=P,this.state=T.State.STOPPED},Object.defineProperty(N.prototype,"state",{get:function(){return this._state},set:function(P){if(this.state!==P){var k=this.state;this._state=P,S.logger.log("audio stream:"+k+"->"+P)}},enumerable:!0,configurable:!0}),N.prototype.doTick=function(){var P,k,F,M=this.hls,j=M.config;switch(this.state){case T.State.ERROR:case T.State.PAUSED:case T.State.BUFFER_FLUSHING:break;case T.State.STARTING:this.state=T.State.WAITING_TRACK,this.loadedmetadata=!1;break;case T.State.IDLE:var $=this.tracks;if(!$||!this.media&&(this.startFragRequested||!j.startFragPrefetch))break;if(this.loadedmetadata)P=this.media.currentTime;else if(P=this.nextLoadPosition,P===void 0)break;var B=this.mediaBuffer?this.mediaBuffer:this.media,X=this.videoBuffer?this.videoBuffer:this.media,re=f.BufferHelper.bufferInfo(B,P,j.maxBufferHole),ae=f.BufferHelper.bufferInfo(X,P,j.maxBufferHole),ee=re.len,K=re.end,ne=this.fragPrevious,ue=Math.min(j.maxBufferLength,j.maxMaxBufferLength),me=Math.max(ue,ae.len),J=this.audioSwitch,H=this.trackId;if((ee<me||J)&&H<$.length){if(F=$[H].details,typeof F>"u"){this.state=T.State.WAITING_TRACK;break}if(!J&&this._streamEnded(re,F)){this.hls.trigger(p.default.BUFFER_EOS,{type:"audio"}),this.state=T.State.ENDED;return}var W=F.fragments,V=W.length,z=W[0].start,Y=W[V-1].start+W[V-1].duration,ie=void 0;if(J){if(F.live&&!F.PTSKnown)S.logger.log("switching audiotrack, live stream, unknown PTS,load first fragment"),K=0;else if(K=P,F.PTSKnown&&P<z)if(re.end>z||re.nextStart)S.logger.log("alt audio track ahead of main track, seek to start of alt audio track"),this.media.currentTime=z+.05;else return}if(F.initSegment&&!F.initSegment.data)ie=F.initSegment;else if(K<=z){if(ie=W[0],this.videoTrackCC!==null&&ie.cc!==this.videoTrackCC&&(ie=g.findFragWithCC(W,this.videoTrackCC)),F.live&&ie.loadIdx&&ie.loadIdx===this.fragLoadIdx){var le=re.nextStart?re.nextStart:z;S.logger.log("no alt audio available @currentTime:"+this.media.currentTime+", seeking @"+(le+.05)),this.media.currentTime=le+.05;return}}else{var fe=void 0,ce=j.maxFragLookUpTolerance,ge=ne?W[ne.sn-W[0].sn+1]:void 0,Se=function(yt){var Ve=Math.min(ce,yt.duration);return yt.start+yt.duration-Ve<=K?1:yt.start-Ve>K&&yt.start?-1:0};K<Y?(K>Y-ce&&(ce=0),ge&&!Se(ge)?fe=ge:fe=h.default.search(W,Se)):fe=W[V-1],fe&&(ie=fe,z=fe.start,ne&&ie.level===ne.level&&ie.sn===ne.sn&&(ie.sn<F.endSN?(ie=W[ie.sn+1-F.startSN],S.logger.log("SN just loaded, load next one: "+ie.sn)):ie=null))}ie&&(ie.encrypted?(S.logger.log("Loading key for "+ie.sn+" of ["+F.startSN+" ,"+F.endSN+"],track "+H),this.state=T.State.KEY_LOADING,M.trigger(p.default.KEY_LOADING,{frag:ie})):(S.logger.log("Loading "+ie.sn+", cc: "+ie.cc+" of ["+F.startSN+" ,"+F.endSN+"],track "+H+", currentTime:"+P+",bufferEnd:"+K.toFixed(3)),this.fragCurrent=ie,(J||this.fragmentTracker.getState(ie)===v.FragmentState.NOT_LOADED)&&(this.startFragRequested=!0,o.isFinite(ie.sn)&&(this.nextLoadPosition=ie.start+ie.duration),M.trigger(p.default.FRAG_LOADING,{frag:ie}),this.state=T.State.FRAG_LOADING)))}break;case T.State.WAITING_TRACK:k=this.tracks[this.trackId],k&&k.details&&(this.state=T.State.IDLE);break;case T.State.FRAG_LOADING_WAITING_RETRY:var Te=y.now(),Fe=this.retryDate;B=this.media;var Ne=B&&B.seeking;(!Fe||Te>=Fe||Ne)&&(S.logger.log("audioStreamController: retryDate reached, switch back to IDLE state"),this.state=T.State.IDLE);break;case T.State.WAITING_INIT_PTS:var Qe=this.videoTrackCC;if(this.initPTS[Qe]===void 0)break;var st=this.waitingFragment;if(st){var Ze=st.frag.cc;Qe!==Ze?(k=this.tracks[this.trackId],k.details&&k.details.live&&(S.logger.warn("Waiting fragment CC ("+Ze+") does not match video track CC ("+Qe+")"),this.waitingFragment=null,this.state=T.State.IDLE)):(this.state=T.State.FRAG_LOADING,this.onFragLoaded(this.waitingFragment),this.waitingFragment=null)}else this.state=T.State.IDLE;break;case T.State.STOPPED:case T.State.FRAG_LOADING:case T.State.PARSING:case T.State.PARSED:case T.State.ENDED:break}},N.prototype.onMediaAttached=function(P){var k=this.media=this.mediaBuffer=P.media;this.onvseeking=this.onMediaSeeking.bind(this),this.onvended=this.onMediaEnded.bind(this),k.addEventListener("seeking",this.onvseeking),k.addEventListener("ended",this.onvended);var F=this.config;this.tracks&&F.autoStartLoad&&this.startLoad(F.startPosition)},N.prototype.onMediaDetaching=function(){var P=this.media;P&&P.ended&&(S.logger.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0),P&&(P.removeEventListener("seeking",this.onvseeking),P.removeEventListener("ended",this.onvended),this.onvseeking=this.onvseeked=this.onvended=null),this.media=this.mediaBuffer=this.videoBuffer=null,this.loadedmetadata=!1,this.stopLoad()},N.prototype.onAudioTracksUpdated=function(P){S.logger.log("audio tracks updated"),this.tracks=P.audioTracks},N.prototype.onAudioTrackSwitching=function(P){var k=!!P.url;this.trackId=P.id,this.fragCurrent=null,this.state=T.State.PAUSED,this.waitingFragment=null,k?this.setInterval(w):this.demuxer&&(this.demuxer.destroy(),this.demuxer=null),k&&(this.audioSwitch=!0,this.state=T.State.IDLE),this.tick()},N.prototype.onAudioTrackLoaded=function(P){var k=P.details,F=P.id,M=this.tracks[F],j=k.totalduration,$=0;if(S.logger.log("track "+F+" loaded ["+k.startSN+","+k.endSN+"],duration:"+j),k.live){var B=M.details;B&&k.fragments.length>0?(_.mergeDetails(B,k),$=k.fragments[0].start,k.PTSKnown?S.logger.log("live audio playlist sliding:"+$.toFixed(3)):S.logger.log("live audio playlist - outdated PTS, unknown sliding")):(k.PTSKnown=!1,S.logger.log("live audio playlist - first load, unknown sliding"))}else k.PTSKnown=!1;if(M.details=k,!this.startFragRequested){if(this.startPosition===-1){var X=k.startTimeOffset;o.isFinite(X)?(S.logger.log("start time offset found in playlist, adjust startPosition to "+X),this.startPosition=X):this.startPosition=0}this.nextLoadPosition=this.startPosition}this.state===T.State.WAITING_TRACK&&(this.state=T.State.IDLE),this.tick()},N.prototype.onKeyLoaded=function(){this.state===T.State.KEY_LOADING&&(this.state=T.State.IDLE,this.tick())},N.prototype.onFragLoaded=function(P){var k=this.fragCurrent,F=P.frag;if(this.state===T.State.FRAG_LOADING&&k&&F.type==="audio"&&F.level===k.level&&F.sn===k.sn){var M=this.tracks[this.trackId],j=M.details,$=j.totalduration,B=k.level,X=k.sn,re=k.cc,ae=this.config.defaultAudioCodec||M.audioCodec||"mp4a.40.2",ee=this.stats=P.stats;if(X==="initSegment")this.state=T.State.IDLE,ee.tparsed=ee.tbuffered=y.now(),j.initSegment.data=P.payload,this.hls.trigger(p.default.FRAG_BUFFERED,{stats:ee,frag:k,id:"audio"}),this.tick();else{this.state=T.State.PARSING,this.appended=!1,this.demuxer||(this.demuxer=new u.default(this.hls,"audio"));var K=this.initPTS[re],ne=j.initSegment?j.initSegment.data:[];if(j.initSegment||K!==void 0){this.pendingBuffering=!0,S.logger.log("Demuxing "+X+" of ["+j.startSN+" ,"+j.endSN+"],track "+B);var ue=!1;this.demuxer.push(P.payload,ne,ae,null,k,$,ue,K)}else S.logger.log("unknown video PTS for continuity counter "+re+", waiting for video PTS before demuxing audio frag "+X+" of ["+j.startSN+" ,"+j.endSN+"],track "+B),this.waitingFragment=P,this.state=T.State.WAITING_INIT_PTS}}this.fragLoadError=0},N.prototype.onFragParsingInitSegment=function(P){var k=this.fragCurrent,F=P.frag;if(k&&P.id==="audio"&&F.sn===k.sn&&F.level===k.level&&this.state===T.State.PARSING){var M=P.tracks,j=void 0;if(M.video&&delete M.video,j=M.audio,j){j.levelCodec=j.codec,j.id=P.id,this.hls.trigger(p.default.BUFFER_CODECS,M),S.logger.log("audio track:audio,container:"+j.container+",codecs[level/parsed]=["+j.levelCodec+"/"+j.codec+"]");var $=j.initSegment;if($){var B={type:"audio",data:$,parent:"audio",content:"initSegment"};this.audioSwitch?this.pendingData=[B]:(this.appended=!0,this.pendingBuffering=!0,this.hls.trigger(p.default.BUFFER_APPENDING,B))}this.tick()}}},N.prototype.onFragParsingData=function(P){var k=this,F=this.fragCurrent,M=P.frag;if(F&&P.id==="audio"&&P.type==="audio"&&M.sn===F.sn&&M.level===F.level&&this.state===T.State.PARSING){var j=this.trackId,$=this.tracks[j],B=this.hls;o.isFinite(P.endPTS)||(P.endPTS=P.startPTS+F.duration,P.endDTS=P.startDTS+F.duration),F.addElementaryStream(b.default.ElementaryStreamTypes.AUDIO),S.logger.log("parsed "+P.type+",PTS:["+P.startPTS.toFixed(3)+","+P.endPTS.toFixed(3)+"],DTS:["+P.startDTS.toFixed(3)+"/"+P.endDTS.toFixed(3)+"],nb:"+P.nb),_.updateFragPTSDTS($.details,F,P.startPTS,P.endPTS);var X=this.audioSwitch,re=this.media,ae=!1;if(X&&re)if(re.readyState){var ee=re.currentTime;S.logger.log("switching audio track : currentTime:"+ee),ee>=P.startPTS&&(S.logger.log("switching audio track : flushing all audio"),this.state=T.State.BUFFER_FLUSHING,B.trigger(p.default.BUFFER_FLUSHING,{startOffset:0,endOffset:o.POSITIVE_INFINITY,type:"audio"}),ae=!0,this.audioSwitch=!1,B.trigger(p.default.AUDIO_TRACK_SWITCHED,{id:j}))}else this.audioSwitch=!1,B.trigger(p.default.AUDIO_TRACK_SWITCHED,{id:j});var K=this.pendingData;if(!K){S.logger.warn("Apparently attempt to enqueue media payload without codec initialization data upfront"),B.trigger(p.default.ERROR,{type:x.ErrorTypes.MEDIA_ERROR,details:null,fatal:!0});return}this.audioSwitch||([P.data1,P.data2].forEach(function(ne){ne&&ne.length&&K.push({type:P.type,data:ne,parent:"audio",content:"data"})}),!ae&&K.length&&(K.forEach(function(ne){k.state===T.State.PARSING&&(k.pendingBuffering=!0,k.hls.trigger(p.default.BUFFER_APPENDING,ne))}),this.pendingData=[],this.appended=!0)),this.tick()}},N.prototype.onFragParsed=function(P){var k=this.fragCurrent,F=P.frag;k&&P.id==="audio"&&F.sn===k.sn&&F.level===k.level&&this.state===T.State.PARSING&&(this.stats.tparsed=y.now(),this.state=T.State.PARSED,this._checkAppendedParsed())},N.prototype.onBufferReset=function(){this.mediaBuffer=this.videoBuffer=null,this.loadedmetadata=!1},N.prototype.onBufferCreated=function(P){var k=P.tracks.audio;k&&(this.mediaBuffer=k.buffer,this.loadedmetadata=!0),P.tracks.video&&(this.videoBuffer=P.tracks.video.buffer)},N.prototype.onBufferAppended=function(P){if(P.parent==="audio"){var k=this.state;(k===T.State.PARSING||k===T.State.PARSED)&&(this.pendingBuffering=P.pending>0,this._checkAppendedParsed())}},N.prototype._checkAppendedParsed=function(){if(this.state===T.State.PARSED&&(!this.appended||!this.pendingBuffering)){var P=this.fragCurrent,k=this.stats,F=this.hls;if(P){this.fragPrevious=P,k.tbuffered=y.now(),F.trigger(p.default.FRAG_BUFFERED,{stats:k,frag:P,id:"audio"});var M=this.mediaBuffer?this.mediaBuffer:this.media;S.logger.log("audio buffered : "+R.default.toString(M.buffered)),this.audioSwitch&&this.appended&&(this.audioSwitch=!1,F.trigger(p.default.AUDIO_TRACK_SWITCHED,{id:this.trackId})),this.state=T.State.IDLE}this.tick()}},N.prototype.onError=function(P){var k=P.frag;if(!(k&&k.type!=="audio"))switch(P.details){case x.ErrorDetails.FRAG_LOAD_ERROR:case x.ErrorDetails.FRAG_LOAD_TIMEOUT:var F=P.frag;if(F&&F.type!=="audio")break;if(!P.fatal){var M=this.fragLoadError;M?M++:M=1;var j=this.config;if(M<=j.fragLoadingMaxRetry){this.fragLoadError=M;var $=Math.min(Math.pow(2,M-1)*j.fragLoadingRetryDelay,j.fragLoadingMaxRetryTimeout);S.logger.warn("AudioStreamController: frag loading failed, retry in "+$+" ms"),this.retryDate=y.now()+$,this.state=T.State.FRAG_LOADING_WAITING_RETRY}else S.logger.error("AudioStreamController: "+P.details+" reaches max retry, redispatch as fatal ..."),P.fatal=!0,this.state=T.State.ERROR}break;case x.ErrorDetails.AUDIO_TRACK_LOAD_ERROR:case x.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT:case x.ErrorDetails.KEY_LOAD_ERROR:case x.ErrorDetails.KEY_LOAD_TIMEOUT:this.state!==T.State.ERROR&&(this.state=P.fatal?T.State.ERROR:T.State.IDLE,S.logger.warn("AudioStreamController: "+P.details+" while loading frag, now switching to "+this.state+" state ..."));break;case x.ErrorDetails.BUFFER_FULL_ERROR:if(P.parent==="audio"&&(this.state===T.State.PARSING||this.state===T.State.PARSED)){var B=this.mediaBuffer,X=this.media.currentTime,re=B&&f.BufferHelper.isBuffered(B,X)&&f.BufferHelper.isBuffered(B,X+.5);if(re){var j=this.config;j.maxMaxBufferLength>=j.maxBufferLength&&(j.maxMaxBufferLength/=2,S.logger.warn("AudioStreamController: reduce max buffer length to "+j.maxMaxBufferLength+"s")),this.state=T.State.IDLE}else S.logger.warn("AudioStreamController: buffer full error also media.currentTime is not buffered, flush audio buffer"),this.fragCurrent=null,this.state=T.State.BUFFER_FLUSHING,this.hls.trigger(p.default.BUFFER_FLUSHING,{startOffset:0,endOffset:o.POSITIVE_INFINITY,type:"audio"})}break}},N.prototype.onBufferFlushed=function(){var P=this,k=this.pendingData;k&&k.length?(S.logger.log("AudioStreamController: appending pending audio data after buffer flushed"),k.forEach(function(F){P.hls.trigger(p.default.BUFFER_APPENDING,F)}),this.appended=!0,this.pendingData=[],this.state=T.State.PARSED):(this.state=T.State.IDLE,this.fragPrevious=null,this.tick())},N}(T.default);t.default=C}).call(this,a("./src/polyfills/number.js").Number)},"./src/controller/audio-track-controller.js":function(n,t,a){var o=this&&this.__extends||function(){var _=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(R,x){R.__proto__=x}||function(R,x){for(var S in x)x.hasOwnProperty(S)&&(R[S]=x[S])};return function(R,x){_(R,x);function S(){this.constructor=R}R.prototype=x===null?Object.create(x):(S.prototype=x.prototype,new S)}}();Object.defineProperty(t,"__esModule",{value:!0});var d=a("./src/events.js"),h=a("./src/task-loop.js"),f=a("./src/utils/logger.js"),u=a("./src/errors.js"),p=function(_){o(R,_);function R(x){var S=_.call(this,x,d.default.MANIFEST_LOADING,d.default.MANIFEST_PARSED,d.default.AUDIO_TRACK_LOADED,d.default.AUDIO_TRACK_SWITCHED,d.default.LEVEL_LOADED,d.default.ERROR)||this;return S._trackId=-1,S._selectDefaultTrack=!0,S.tracks=[],S.trackIdBlacklist=Object.create(null),S.audioGroupId=null,S}return R.prototype.onManifestLoading=function(){this.tracks=[],this._trackId=-1,this._selectDefaultTrack=!0},R.prototype.onManifestParsed=function(x){var S=this.tracks=x.audioTracks||[];this.hls.trigger(d.default.AUDIO_TRACKS_UPDATED,{audioTracks:S})},R.prototype.onAudioTrackLoaded=function(x){if(x.id>=this.tracks.length){f.logger.warn("Invalid audio track id:",x.id);return}if(f.logger.log("audioTrack "+x.id+" loaded"),this.tracks[x.id].details=x.details,x.details.live&&!this.hasInterval()){var S=x.details.targetduration*1e3;this.setInterval(S)}!x.details.live&&this.hasInterval()&&this.clearInterval()},R.prototype.onAudioTrackSwitched=function(x){var S=this.tracks[x.id].groupId;S&&this.audioGroupId!==S&&(this.audioGroupId=S)},R.prototype.onLevelLoaded=function(x){var S=this.hls.levels[x.level];if(S.audioGroupIds){var g=S.audioGroupIds[S.urlId];this.audioGroupId!==g&&(this.audioGroupId=g,this._selectInitialAudioTrack())}},R.prototype.onError=function(x){x.type===u.ErrorTypes.NETWORK_ERROR&&(x.fatal&&this.clearInterval(),x.details===u.ErrorDetails.AUDIO_TRACK_LOAD_ERROR&&(f.logger.warn("Network failure on audio-track id:",x.context.id),this._handleLoadError()))},Object.defineProperty(R.prototype,"audioTracks",{get:function(){return this.tracks},enumerable:!0,configurable:!0}),Object.defineProperty(R.prototype,"audioTrack",{get:function(){return this._trackId},set:function(x){this._setAudioTrack(x),this._selectDefaultTrack=!1},enumerable:!0,configurable:!0}),R.prototype._setAudioTrack=function(x){if(this._trackId===x&&this.tracks[this._trackId].details){f.logger.debug("Same id as current audio-track passed, and track details available -> no-op");return}if(x<0||x>=this.tracks.length){f.logger.warn("Invalid id passed to audio-track controller");return}var S=this.tracks[x];f.logger.log("Now switching to audio-track index "+x),this.clearInterval(),this._trackId=x;var g=S.url,v=S.type,b=S.id;this.hls.trigger(d.default.AUDIO_TRACK_SWITCHING,{id:b,type:v,url:g}),this._loadTrackDetailsIfNeeded(S)},R.prototype.doTick=function(){this._updateTrack(this._trackId)},R.prototype._selectInitialAudioTrack=function(){var x=this,S=this.tracks;if(S.length){var g=this.tracks[this._trackId],v=null;if(g&&(v=g.name),this._selectDefaultTrack){var b=S.filter(function(w){return w.default});b.length?S=b:f.logger.warn("No default audio tracks defined")}var T=!1,y=function(){S.forEach(function(w){T||(!x.audioGroupId||w.groupId===x.audioGroupId)&&(!v||v===w.name)&&(x._setAudioTrack(w.id),T=!0)})};y(),T||(v=null,y()),T||(f.logger.error("No track found for running audio group-ID: "+this.audioGroupId),this.hls.trigger(d.default.ERROR,{type:u.ErrorTypes.MEDIA_ERROR,details:u.ErrorDetails.AUDIO_TRACK_LOAD_ERROR,fatal:!0}))}},R.prototype._needsTrackLoading=function(x){var S=x.details,g=x.url;return!S||S.live?!!g:!1},R.prototype._loadTrackDetailsIfNeeded=function(x){if(this._needsTrackLoading(x)){var S=x.url,g=x.id;f.logger.log("loading audio-track playlist for id: "+g),this.hls.trigger(d.default.AUDIO_TRACK_LOADING,{url:S,id:g})}},R.prototype._updateTrack=function(x){if(!(x<0||x>=this.tracks.length)){this.clearInterval(),this._trackId=x,f.logger.log("trying to update audio-track "+x);var S=this.tracks[x];this._loadTrackDetailsIfNeeded(S)}},R.prototype._handleLoadError=function(){this.trackIdBlacklist[this._trackId]=!0;var x=this._trackId,S=this.tracks[x],g=S.name,v=S.language,b=S.groupId;f.logger.warn("Loading failed on audio track id: "+x+", group-id: "+b+', name/language: "'+g+'" / "'+v+'"');for(var T=x,y=0;y<this.tracks.length;y++)if(!this.trackIdBlacklist[y]){var w=this.tracks[y];if(w.name===g){T=y;break}}if(T===x){f.logger.warn('No fallback audio-track found for name/language: "'+g+'" / "'+v+'"');return}f.logger.log("Attempting audio-track fallback id:",T,"group-id:",this.tracks[T].groupId),this._setAudioTrack(T)},R}(h.default);t.default=p},"./src/controller/base-stream-controller.js":function(n,t,a){(function(o){var d=this&&this.__extends||function(){var R=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(x,S){x.__proto__=S}||function(x,S){for(var g in S)S.hasOwnProperty(g)&&(x[g]=S[g])};return function(x,S){R(x,S);function g(){this.constructor=x}x.prototype=S===null?Object.create(S):(g.prototype=S.prototype,new g)}}();Object.defineProperty(t,"__esModule",{value:!0});var h=a("./src/task-loop.js"),f=a("./src/controller/fragment-tracker.js"),u=a("./src/utils/buffer-helper.js"),p=a("./src/utils/logger.js");t.State={STOPPED:"STOPPED",STARTING:"STARTING",IDLE:"IDLE",PAUSED:"PAUSED",KEY_LOADING:"KEY_LOADING",FRAG_LOADING:"FRAG_LOADING",FRAG_LOADING_WAITING_RETRY:"FRAG_LOADING_WAITING_RETRY",WAITING_TRACK:"WAITING_TRACK",PARSING:"PARSING",PARSED:"PARSED",BUFFER_FLUSHING:"BUFFER_FLUSHING",ENDED:"ENDED",ERROR:"ERROR",WAITING_INIT_PTS:"WAITING_INIT_PTS",WAITING_LEVEL:"WAITING_LEVEL"};var _=function(R){d(x,R);function x(){return R!==null&&R.apply(this,arguments)||this}return x.prototype.doTick=function(){},x.prototype.startLoad=function(){},x.prototype.stopLoad=function(){var S=this.fragCurrent;S&&(S.loader&&S.loader.abort(),this.fragmentTracker.removeFragment(S)),this.demuxer&&(this.demuxer.destroy(),this.demuxer=null),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=t.State.STOPPED},x.prototype._streamEnded=function(S,g){var v=this,b=v.fragCurrent,T=v.fragmentTracker;if(!g.live&&b&&!b.backtracked&&b.sn===g.endSN&&!S.nextStart){var y=T.getState(b);return y===f.FragmentState.PARTIAL||y===f.FragmentState.OK}return!1},x.prototype.onMediaSeeking=function(){var S=this,g=S.config,v=S.media,b=S.mediaBuffer,T=S.state,y=v?v.currentTime:null,w=u.BufferHelper.bufferInfo(b||v,y,this.config.maxBufferHole);if(o.isFinite(y)&&p.logger.log("media seeking to "+y.toFixed(3)),T===t.State.FRAG_LOADING){var C=this.fragCurrent;if(w.len===0&&C){var D=g.maxFragLookUpTolerance,N=C.start-D,P=C.start+C.duration+D;y<N||y>P?(C.loader&&(p.logger.log("seeking outside of buffer while fragment load in progress, cancel fragment load"),C.loader.abort()),this.fragCurrent=null,this.fragPrevious=null,this.state=t.State.IDLE):p.logger.log("seeking outside of buffer but within currently loaded fragment range")}}else T===t.State.ENDED&&(w.len===0&&(this.fragPrevious=null,this.fragCurrent=null),this.state=t.State.IDLE);v&&(this.lastCurrentTime=y),this.loadedmetadata||(this.nextLoadPosition=this.startPosition=y),this.tick()},x.prototype.onMediaEnded=function(){this.startPosition=this.lastCurrentTime=0},x.prototype.onHandlerDestroying=function(){this.stopLoad(),R.prototype.onHandlerDestroying.call(this)},x.prototype.onHandlerDestroyed=function(){this.state=t.State.STOPPED,this.fragmentTracker=null},x}(h.default);t.default=_}).call(this,a("./src/polyfills/number.js").Number)},"./src/controller/buffer-controller.js":function(n,t,a){(function(o){var d=this&&this.__extends||function(){var S=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(g,v){g.__proto__=v}||function(g,v){for(var b in v)v.hasOwnProperty(b)&&(g[b]=v[b])};return function(g,v){S(g,v);function b(){this.constructor=g}g.prototype=v===null?Object.create(v):(b.prototype=v.prototype,new b)}}();Object.defineProperty(t,"__esModule",{value:!0});var h=a("./src/events.js"),f=a("./src/event-handler.js"),u=a("./src/utils/logger.js"),p=a("./src/errors.js"),_=a("./src/utils/mediasource-helper.js"),R=_.getMediaSource(),x=function(S){d(g,S);function g(v){var b=S.call(this,v,h.default.MEDIA_ATTACHING,h.default.MEDIA_DETACHING,h.default.MANIFEST_PARSED,h.default.BUFFER_RESET,h.default.BUFFER_APPENDING,h.default.BUFFER_CODECS,h.default.BUFFER_EOS,h.default.BUFFER_FLUSHING,h.default.LEVEL_PTS_UPDATED,h.default.LEVEL_UPDATED)||this;return b._msDuration=null,b._levelDuration=null,b._levelTargetDuration=10,b._live=null,b._objectUrl=null,b.bufferCodecEventsExpected=0,b.onsbue=b.onSBUpdateEnd.bind(b),b.onsbe=b.onSBUpdateError.bind(b),b.pendingTracks={},b.tracks={},b}return g.prototype.destroy=function(){f.default.prototype.destroy.call(this)},g.prototype.onLevelPtsUpdated=function(v){var b=v.type,T=this.tracks.audio;if(b==="audio"&&T&&T.container==="audio/mpeg"){var y=this.sourceBuffer.audio,w=Math.abs(y.timestampOffset-v.start);if(w>.1){var C=y.updating;try{y.abort()}catch(D){u.logger.warn("can not abort audio buffer: "+D)}C?this.audioTimestampOffset=v.start:(u.logger.warn("change mpeg audio timestamp offset from "+y.timestampOffset+" to "+v.start),y.timestampOffset=v.start)}}},g.prototype.onManifestParsed=function(v){this.bufferCodecEventsExpected=v.altAudio?2:1,u.logger.log(this.bufferCodecEventsExpected+" bufferCodec event(s) expected")},g.prototype.onMediaAttaching=function(v){var b=this.media=v.media;if(b){var T=this.mediaSource=new R;this.onmso=this.onMediaSourceOpen.bind(this),this.onmse=this.onMediaSourceEnded.bind(this),this.onmsc=this.onMediaSourceClose.bind(this),T.addEventListener("sourceopen",this.onmso),T.addEventListener("sourceended",this.onmse),T.addEventListener("sourceclose",this.onmsc),b.src=window.URL.createObjectURL(T),this._objectUrl=b.src}},g.prototype.onMediaDetaching=function(){u.logger.log("media source detaching");var v=this.mediaSource;if(v){if(v.readyState==="open")try{v.endOfStream()}catch(b){u.logger.warn("onMediaDetaching:"+b.message+" while calling endOfStream")}v.removeEventListener("sourceopen",this.onmso),v.removeEventListener("sourceended",this.onmse),v.removeEventListener("sourceclose",this.onmsc),this.media&&(window.URL.revokeObjectURL(this._objectUrl),this.media.src===this._objectUrl?(this.media.removeAttribute("src"),this.media.load()):u.logger.warn("media.src was changed by a third party - skip cleanup")),this.mediaSource=null,this.media=null,this._objectUrl=null,this.pendingTracks={},this.tracks={},this.sourceBuffer={},this.flushRange=[],this.segments=[],this.appended=0}this.onmso=this.onmse=this.onmsc=null,this.hls.trigger(h.default.MEDIA_DETACHED)},g.prototype.onMediaSourceOpen=function(){u.logger.log("media source opened"),this.hls.trigger(h.default.MEDIA_ATTACHED,{media:this.media});var v=this.mediaSource;v&&v.removeEventListener("sourceopen",this.onmso),this.checkPendingTracks()},g.prototype.checkPendingTracks=function(){var v=this,b=v.bufferCodecEventsExpected,T=v.pendingTracks,y=Object.keys(T).length;(y&&!b||y===2)&&(this.createSourceBuffers(T),this.pendingTracks={},this.doAppending())},g.prototype.onMediaSourceClose=function(){u.logger.log("media source closed")},g.prototype.onMediaSourceEnded=function(){u.logger.log("media source ended")},g.prototype.onSBUpdateEnd=function(){if(this.audioTimestampOffset){var v=this.sourceBuffer.audio;u.logger.warn("change mpeg audio timestamp offset from "+v.timestampOffset+" to "+this.audioTimestampOffset),v.timestampOffset=this.audioTimestampOffset,delete this.audioTimestampOffset}this._needsFlush&&this.doFlush(),this._needsEos&&this.checkEos(),this.appending=!1;var b=this.parent,T=this.segments.reduce(function(D,N){return N.parent===b?D+1:D},0),y={},w=this.sourceBuffer;for(var C in w)y[C]=w[C].buffered;this.hls.trigger(h.default.BUFFER_APPENDED,{parent:b,pending:T,timeRanges:y}),this._needsFlush||this.doAppending(),this.updateMediaElementDuration(),T===0&&this.flushLiveBackBuffer()},g.prototype.onSBUpdateError=function(v){u.logger.error("sourceBuffer error:",v),this.hls.trigger(h.default.ERROR,{type:p.ErrorTypes.MEDIA_ERROR,details:p.ErrorDetails.BUFFER_APPENDING_ERROR,fatal:!1})},g.prototype.onBufferReset=function(){var v=this.sourceBuffer;for(var b in v){var T=v[b];try{this.mediaSource.removeSourceBuffer(T),T.removeEventListener("updateend",this.onsbue),T.removeEventListener("error",this.onsbe)}catch{}}this.sourceBuffer={},this.flushRange=[],this.segments=[],this.appended=0},g.prototype.onBufferCodecs=function(v){var b=this;if(!Object.keys(this.sourceBuffer).length){Object.keys(v).forEach(function(y){b.pendingTracks[y]=v[y]});var T=this.mediaSource;this.bufferCodecEventsExpected=Math.max(this.bufferCodecEventsExpected-1,0),T&&T.readyState==="open"&&this.checkPendingTracks()}},g.prototype.createSourceBuffers=function(v){var b=this.sourceBuffer,T=this.mediaSource;for(var y in v)if(!b[y]){var w=v[y],C=w.levelCodec||w.codec,D=w.container+";codecs="+C;u.logger.log("creating sourceBuffer("+D+")");try{var N=b[y]=T.addSourceBuffer(D);N.addEventListener("updateend",this.onsbue),N.addEventListener("error",this.onsbe),this.tracks[y]={codec:C,container:w.container},w.buffer=N}catch(P){u.logger.error("error while trying to add sourceBuffer:"+P.message),this.hls.trigger(h.default.ERROR,{type:p.ErrorTypes.MEDIA_ERROR,details:p.ErrorDetails.BUFFER_ADD_CODEC_ERROR,fatal:!1,err:P,mimeType:D})}}this.hls.trigger(h.default.BUFFER_CREATED,{tracks:v})},g.prototype.onBufferAppending=function(v){this._needsFlush||(this.segments?this.segments.push(v):this.segments=[v],this.doAppending())},g.prototype.onBufferAppendFail=function(v){u.logger.error("sourceBuffer error:",v.event),this.hls.trigger(h.default.ERROR,{type:p.ErrorTypes.MEDIA_ERROR,details:p.ErrorDetails.BUFFER_APPENDING_ERROR,fatal:!1})},g.prototype.onBufferEos=function(v){var b=this.sourceBuffer,T=v.type;for(var y in b)(!T||y===T)&&(b[y].ended||(b[y].ended=!0,u.logger.log(y+" sourceBuffer now EOS")));this.checkEos()},g.prototype.checkEos=function(){var v=this.sourceBuffer,b=this.mediaSource;if(!b||b.readyState!=="open"){this._needsEos=!1;return}for(var T in v){var y=v[T];if(!y.ended)return;if(y.updating){this._needsEos=!0;return}}u.logger.log("all media data are available, signal endOfStream() to MediaSource and stop loading fragment");try{b.endOfStream()}catch{u.logger.warn("exception while calling mediaSource.endOfStream()")}this._needsEos=!1},g.prototype.onBufferFlushing=function(v){this.flushRange.push({start:v.startOffset,end:v.endOffset,type:v.type}),this.flushBufferCounter=0,this.doFlush()},g.prototype.flushLiveBackBuffer=function(){if(this._live){var v=this.hls.config.liveBackBufferLength;if(!(!isFinite(v)||v<0))for(var b=this.media.currentTime,T=this.sourceBuffer,y=Object.keys(T),w=b-Math.max(v,this._levelTargetDuration),C=y.length-1;C>=0;C--){var D=y[C],N=T[D].buffered;N.length>0&&w>N.start(0)&&this.removeBufferRange(D,T[D],0,w)}}},g.prototype.onLevelUpdated=function(v){var b=v.details;b.fragments.length>0&&(this._levelDuration=b.totalduration+b.fragments[0].start,this._levelTargetDuration=b.averagetargetduration||b.targetduration||10,this._live=b.live,this.updateMediaElementDuration())},g.prototype.updateMediaElementDuration=function(){var v=this.hls.config,b;if(!(this._levelDuration===null||!this.media||!this.mediaSource||!this.sourceBuffer||this.media.readyState===0||this.mediaSource.readyState!=="open")){for(var T in this.sourceBuffer)if(this.sourceBuffer[T].updating===!0)return;b=this.media.duration,this._msDuration===null&&(this._msDuration=this.mediaSource.duration),this._live===!0&&v.liveDurationInfinity===!0?(u.logger.log("Media Source duration is set to Infinity"),this._msDuration=this.mediaSource.duration=1/0):(this._levelDuration>this._msDuration&&this._levelDuration>b||!o.isFinite(b))&&(u.logger.log("Updating Media Source duration to "+this._levelDuration.toFixed(3)),this._msDuration=this.mediaSource.duration=this._levelDuration)}},g.prototype.doFlush=function(){for(;this.flushRange.length;){var v=this.flushRange[0];if(this.flushBuffer(v.start,v.end,v.type))this.flushRange.shift(),this.flushBufferCounter=0;else{this._needsFlush=!0;return}}if(this.flushRange.length===0){this._needsFlush=!1;var b=0,T=this.sourceBuffer;try{for(var y in T)b+=T[y].buffered.length}catch{u.logger.error("error while accessing sourceBuffer.buffered")}this.appended=b,this.hls.trigger(h.default.BUFFER_FLUSHED)}},g.prototype.doAppending=function(){var v=this,b=v.hls,T=v.segments,y=v.sourceBuffer;if(Object.keys(y).length){if(this.media.error){this.segments=[],u.logger.error("trying to append although a media error occured, flush segment and abort");return}if(this.appending)return;if(T&&T.length){var w=T.shift();try{var C=w.type,D=y[C];D?D.updating?T.unshift(w):(D.ended=!1,this.parent=w.parent,D.appendBuffer(w.data),this.appendError=0,this.appended++,this.appending=!0):this.onSBUpdateEnd()}catch(P){u.logger.error("error while trying to append buffer:"+P.message),T.unshift(w);var N={type:p.ErrorTypes.MEDIA_ERROR,parent:w.parent};P.code!==22?(this.appendError?this.appendError++:this.appendError=1,N.details=p.ErrorDetails.BUFFER_APPEND_ERROR,this.appendError>b.config.appendErrorMaxRetry?(u.logger.log("fail "+b.config.appendErrorMaxRetry+" times to append segment in sourceBuffer"),this.segments=[],N.fatal=!0,b.trigger(h.default.ERROR,N)):(N.fatal=!1,b.trigger(h.default.ERROR,N))):(this.segments=[],N.details=p.ErrorDetails.BUFFER_FULL_ERROR,N.fatal=!1,b.trigger(h.default.ERROR,N))}}}},g.prototype.flushBuffer=function(v,b,T){var y,w=this.sourceBuffer;if(Object.keys(w).length){if(u.logger.log("flushBuffer,pos/start/end: "+this.media.currentTime.toFixed(3)+"/"+v+"/"+b),this.flushBufferCounter<this.appended){for(var C in w)if(!(T&&C!==T)){if(y=w[C],y.ended=!1,y.updating)return u.logger.warn("cannot flush, sb updating in progress"),!1;if(this.removeBufferRange(C,y,v,b))return this.flushBufferCounter++,!1}}else u.logger.warn("abort flushing too many retries");u.logger.log("buffer flushed")}return!0},g.prototype.removeBufferRange=function(v,b,T,y){try{for(var w=0;w<b.buffered.length;w++){var C=b.buffered.start(w),D=b.buffered.end(w),N=Math.max(C,T),P=Math.min(D,y);if(Math.min(P,D)-N>.5)return u.logger.log("sb remove "+v+" ["+N+","+P+"], of ["+C+","+D+"], pos:"+this.media.currentTime),b.remove(N,P),!0}}catch(k){u.logger.warn("removeBufferRange failed",k)}return!1},g}(f.default);t.default=x}).call(this,a("./src/polyfills/number.js").Number)},"./src/controller/cap-level-controller.js":function(n,t,a){(function(o){var d=this&&this.__extends||function(){var p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(_,R){_.__proto__=R}||function(_,R){for(var x in R)R.hasOwnProperty(x)&&(_[x]=R[x])};return function(_,R){p(_,R);function x(){this.constructor=_}_.prototype=R===null?Object.create(R):(x.prototype=R.prototype,new x)}}();Object.defineProperty(t,"__esModule",{value:!0});var h=a("./src/events.js"),f=a("./src/event-handler.js"),u=function(p){d(_,p);function _(R){var x=p.call(this,R,h.default.FPS_DROP_LEVEL_CAPPING,h.default.MEDIA_ATTACHING,h.default.MANIFEST_PARSED,h.default.BUFFER_CODECS,h.default.MEDIA_DETACHING)||this;return x.autoLevelCapping=o.POSITIVE_INFINITY,x.firstLevel=null,x.levels=[],x.media=null,x.restrictedLevels=[],x.timer=null,x}return _.prototype.destroy=function(){this.hls.config.capLevelToPlayerSize&&(this.media=null,this._stopCapping())},_.prototype.onFpsDropLevelCapping=function(R){_.isLevelAllowed(R.droppedLevel,this.restrictedLevels)&&this.restrictedLevels.push(R.droppedLevel)},_.prototype.onMediaAttaching=function(R){this.media=R.media instanceof window.HTMLVideoElement?R.media:null},_.prototype.onManifestParsed=function(R){var x=this.hls;this.restrictedLevels=[],this.levels=R.levels,this.firstLevel=R.firstLevel,x.config.capLevelToPlayerSize&&R.video&&this._startCapping()},_.prototype.onBufferCodecs=function(R){var x=this.hls;x.config.capLevelToPlayerSize&&R.video&&this._startCapping()},_.prototype.onLevelsUpdated=function(R){this.levels=R.levels},_.prototype.onMediaDetaching=function(){this._stopCapping()},_.prototype.detectPlayerSize=function(){if(this.media){var R=this.levels?this.levels.length:0;if(R){var x=this.hls;x.autoLevelCapping=this.getMaxLevel(R-1),x.autoLevelCapping>this.autoLevelCapping&&x.streamController.nextLevelSwitch(),this.autoLevelCapping=x.autoLevelCapping}}},_.prototype.getMaxLevel=function(R){var x=this;if(!this.levels)return-1;var S=this.levels.filter(function(g,v){return _.isLevelAllowed(v,x.restrictedLevels)&&v<=R});return _.getMaxLevelByMediaSize(S,this.mediaWidth,this.mediaHeight)},_.prototype._startCapping=function(){this.timer||(this.autoLevelCapping=o.POSITIVE_INFINITY,this.hls.firstLevel=this.getMaxLevel(this.firstLevel),clearInterval(this.timer),this.timer=setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize())},_.prototype._stopCapping=function(){this.restrictedLevels=[],this.firstLevel=null,this.autoLevelCapping=o.POSITIVE_INFINITY,this.timer&&(this.timer=clearInterval(this.timer),this.timer=null)},Object.defineProperty(_.prototype,"mediaWidth",{get:function(){var R,x=this.media;return x&&(R=x.width||x.clientWidth||x.offsetWidth,R*=_.contentScaleFactor),R},enumerable:!0,configurable:!0}),Object.defineProperty(_.prototype,"mediaHeight",{get:function(){var R,x=this.media;return x&&(R=x.height||x.clientHeight||x.offsetHeight,R*=_.contentScaleFactor),R},enumerable:!0,configurable:!0}),Object.defineProperty(_,"contentScaleFactor",{get:function(){var R=1;try{R=window.devicePixelRatio}catch{}return R},enumerable:!0,configurable:!0}),_.isLevelAllowed=function(R,x){return x===void 0&&(x=[]),x.indexOf(R)===-1},_.getMaxLevelByMediaSize=function(R,x,S){if(!R||R&&!R.length)return-1;for(var g=function(y,w){return w?y.width!==w.width||y.height!==w.height:!0},v=R.length-1,b=0;b<R.length;b+=1){var T=R[b];if((T.width>=x||T.height>=S)&&g(T,R[b+1])){v=b;break}}return v},_}(f.default);t.default=u}).call(this,a("./src/polyfills/number.js").Number)},"./src/controller/eme-controller.js":function(n,t,a){var o=this&&this.__extends||function(){var v=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,T){b.__proto__=T}||function(b,T){for(var y in T)T.hasOwnProperty(y)&&(b[y]=T[y])};return function(b,T){v(b,T);function y(){this.constructor=b}b.prototype=T===null?Object.create(T):(y.prototype=T.prototype,new y)}}();Object.defineProperty(t,"__esModule",{value:!0});var d=a("./src/event-handler.js"),h=a("./src/events.js"),f=a("./src/errors.js"),u=a("./src/utils/logger.js"),p=window.XMLHttpRequest,_=3,R={WIDEVINE:"com.widevine.alpha",PLAYREADY:"com.microsoft.playready"},x=function(v,b,T){var y={videoCapabilities:[]};return b.forEach(function(w){y.videoCapabilities.push({contentType:'video/mp4; codecs="'+w+'"'})}),[y]},S=function(v,b,T){switch(v){case R.WIDEVINE:return x(b,T);default:throw Error("Unknown key-system: "+v)}},g=function(v){o(b,v);function b(T){var y=v.call(this,T,h.default.MEDIA_ATTACHED,h.default.MANIFEST_PARSED)||this;return y._widevineLicenseUrl=T.config.widevineLicenseUrl,y._licenseXhrSetup=T.config.licenseXhrSetup,y._emeEnabled=T.config.emeEnabled,y._requestMediaKeySystemAccess=T.config.requestMediaKeySystemAccessFunc,y._mediaKeysList=[],y._media=null,y._hasSetMediaKeys=!1,y._isMediaEncrypted=!1,y._requestLicenseFailureCount=0,y}return b.prototype.getLicenseServerUrl=function(T){var y;switch(T){case R.WIDEVINE:y=this._widevineLicenseUrl;break;default:y=null;break}return y||(u.logger.error('No license server URL configured for key-system "'+T+'"'),this.hls.trigger(h.default.ERROR,{type:f.ErrorTypes.KEY_SYSTEM_ERROR,details:f.ErrorDetails.KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:!0})),y},b.prototype._attemptKeySystemAccess=function(T,y,w){var C=this,D=S(T,y,w);if(!D){u.logger.warn("Can not create config for key-system (maybe because platform is not supported):",T);return}u.logger.log("Requesting encrypted media key-system access"),this.requestMediaKeySystemAccess(T,D).then(function(N){C._onMediaKeySystemAccessObtained(T,N)}).catch(function(N){u.logger.error('Failed to obtain key-system "'+T+'" access:',N)})},Object.defineProperty(b.prototype,"requestMediaKeySystemAccess",{get:function(){if(!this._requestMediaKeySystemAccess)throw new Error("No requestMediaKeySystemAccess function configured");return this._requestMediaKeySystemAccess},enumerable:!0,configurable:!0}),b.prototype._onMediaKeySystemAccessObtained=function(T,y){var w=this;u.logger.log('Access for key-system "'+T+'" obtained');var C={mediaKeys:null,mediaKeysSession:null,mediaKeysSessionInitialized:!1,mediaKeySystemAccess:y,mediaKeySystemDomain:T};this._mediaKeysList.push(C),y.createMediaKeys().then(function(D){C.mediaKeys=D,u.logger.log('Media-keys created for key-system "'+T+'"'),w._onMediaKeysCreated()}).catch(function(D){u.logger.error("Failed to create media-keys:",D)})},b.prototype._onMediaKeysCreated=function(){var T=this;this._mediaKeysList.forEach(function(y){y.mediaKeysSession||(y.mediaKeysSession=y.mediaKeys.createSession(),T._onNewMediaKeySession(y.mediaKeysSession))})},b.prototype._onNewMediaKeySession=function(T){var y=this;u.logger.log("New key-system session "+T.sessionId),T.addEventListener("message",function(w){y._onKeySessionMessage(T,w.message)},!1)},b.prototype._onKeySessionMessage=function(T,y){u.logger.log("Got EME message event, creating license request"),this._requestLicense(y,function(w){u.logger.log("Received license data, updating key-session"),T.update(w)})},b.prototype._onMediaEncrypted=function(T,y){u.logger.log('Media is encrypted using "'+T+'" init data type'),this._isMediaEncrypted=!0,this._mediaEncryptionInitDataType=T,this._mediaEncryptionInitData=y,this._attemptSetMediaKeys(),this._generateRequestWithPreferredKeySession()},b.prototype._attemptSetMediaKeys=function(){if(!this._hasSetMediaKeys){var T=this._mediaKeysList[0];if(!T||!T.mediaKeys){u.logger.error("Fatal: Media is encrypted but no CDM access or no keys have been obtained yet"),this.hls.trigger(h.default.ERROR,{type:f.ErrorTypes.KEY_SYSTEM_ERROR,details:f.ErrorDetails.KEY_SYSTEM_NO_KEYS,fatal:!0});return}u.logger.log("Setting keys for encrypted media"),this._media.setMediaKeys(T.mediaKeys),this._hasSetMediaKeys=!0}},b.prototype._generateRequestWithPreferredKeySession=function(){var T=this,y=this._mediaKeysList[0];if(!y){u.logger.error("Fatal: Media is encrypted but not any key-system access has been obtained yet"),this.hls.trigger(h.default.ERROR,{type:f.ErrorTypes.KEY_SYSTEM_ERROR,details:f.ErrorDetails.KEY_SYSTEM_NO_ACCESS,fatal:!0});return}if(y.mediaKeysSessionInitialized){u.logger.warn("Key-Session already initialized but requested again");return}var w=y.mediaKeysSession;w||(u.logger.error("Fatal: Media is encrypted but no key-session existing"),this.hls.trigger(h.default.ERROR,{type:f.ErrorTypes.KEY_SYSTEM_ERROR,details:f.ErrorDetails.KEY_SYSTEM_NO_SESSION,fatal:!0}));var C=this._mediaEncryptionInitDataType,D=this._mediaEncryptionInitData;u.logger.log('Generating key-session request for "'+C+'" init data type'),y.mediaKeysSessionInitialized=!0,w.generateRequest(C,D).then(function(){u.logger.debug("Key-session generation succeeded")}).catch(function(N){u.logger.error("Error generating key-session request:",N),T.hls.trigger(h.default.ERROR,{type:f.ErrorTypes.KEY_SYSTEM_ERROR,details:f.ErrorDetails.KEY_SYSTEM_NO_SESSION,fatal:!1})})},b.prototype._createLicenseXhr=function(T,y,w){var C=new p,D=this._licenseXhrSetup;try{if(D)try{D(C,T)}catch{C.open("POST",T,!0),D(C,T)}C.readyState||C.open("POST",T,!0)}catch(N){u.logger.error("Error setting up key-system license XHR",N),this.hls.trigger(h.default.ERROR,{type:f.ErrorTypes.KEY_SYSTEM_ERROR,details:f.ErrorDetails.KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:!0});return}return C.responseType="arraybuffer",C.onreadystatechange=this._onLicenseRequestReadyStageChange.bind(this,C,T,y,w),C},b.prototype._onLicenseRequestReadyStageChange=function(T,y,w,C){switch(T.readyState){case 4:if(T.status===200)this._requestLicenseFailureCount=0,u.logger.log("License request succeeded"),C(T.response);else{if(u.logger.error("License Request XHR failed ("+y+"). Status: "+T.status+" ("+T.statusText+")"),this._requestLicenseFailureCount++,this._requestLicenseFailureCount<=_){var D=_-this._requestLicenseFailureCount+1;u.logger.warn("Retrying license request, "+D+" attempts left"),this._requestLicense(w,C);return}this.hls.trigger(h.default.ERROR,{type:f.ErrorTypes.KEY_SYSTEM_ERROR,details:f.ErrorDetails.KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:!0})}break}},b.prototype._generateLicenseRequestChallenge=function(T,y){var w;return T.mediaKeySystemDomain===R.PLAYREADY?u.logger.error("PlayReady is not supported (yet)"):T.mediaKeySystemDomain===R.WIDEVINE?w=y:u.logger.error("Unsupported key-system:",T.mediaKeySystemDomain),w},b.prototype._requestLicense=function(T,y){u.logger.log("Requesting content license for key-system");var w=this._mediaKeysList[0];if(!w){u.logger.error("Fatal error: Media is encrypted but no key-system access has been obtained yet"),this.hls.trigger(h.default.ERROR,{type:f.ErrorTypes.KEY_SYSTEM_ERROR,details:f.ErrorDetails.KEY_SYSTEM_NO_ACCESS,fatal:!0});return}var C=this.getLicenseServerUrl(w.mediaKeySystemDomain),D=this._createLicenseXhr(C,T,y);u.logger.log("Sending license request to URL: "+C),D.send(this._generateLicenseRequestChallenge(w,T))},b.prototype.onMediaAttached=function(T){var y=this;if(this._emeEnabled){var w=T.media;this._media=w,w.addEventListener("encrypted",function(C){y._onMediaEncrypted(C.initDataType,C.initData)})}},b.prototype.onManifestParsed=function(T){if(this._emeEnabled){var y=T.levels.map(function(C){return C.audioCodec}),w=T.levels.map(function(C){return C.videoCodec});this._attemptKeySystemAccess(R.WIDEVINE,y,w)}},b}(d.default);t.default=g},"./src/controller/fps-controller.js":function(n,t,a){var o=this&&this.__extends||function(){var _=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(R,x){R.__proto__=x}||function(R,x){for(var S in x)x.hasOwnProperty(S)&&(R[S]=x[S])};return function(R,x){_(R,x);function S(){this.constructor=R}R.prototype=x===null?Object.create(x):(S.prototype=x.prototype,new S)}}();Object.defineProperty(t,"__esModule",{value:!0});var d=a("./src/events.js"),h=a("./src/event-handler.js"),f=a("./src/utils/logger.js"),u=window.performance,p=function(_){o(R,_);function R(x){return _.call(this,x,d.default.MEDIA_ATTACHING)||this}return R.prototype.destroy=function(){this.timer&&clearInterval(this.timer),this.isVideoPlaybackQualityAvailable=!1},R.prototype.onMediaAttaching=function(x){var S=this.hls.config;if(S.capLevelOnFPSDrop){var g=this.video=x.media instanceof window.HTMLVideoElement?x.media:null;typeof g.getVideoPlaybackQuality=="function"&&(this.isVideoPlaybackQualityAvailable=!0),clearInterval(this.timer),this.timer=setInterval(this.checkFPSInterval.bind(this),S.fpsDroppedMonitoringPeriod)}},R.prototype.checkFPS=function(x,S,g){var v=u.now();if(S){if(this.lastTime){var b=v-this.lastTime,T=g-this.lastDroppedFrames,y=S-this.lastDecodedFrames,w=1e3*T/b,C=this.hls;if(C.trigger(d.default.FPS_DROP,{currentDropped:T,currentDecoded:y,totalDroppedFrames:g}),w>0&&T>C.config.fpsDroppedMonitoringThreshold*y){var D=C.currentLevel;f.logger.warn("drop FPS ratio greater than max allowed value for currentLevel: "+D),D>0&&(C.autoLevelCapping===-1||C.autoLevelCapping>=D)&&(D=D-1,C.trigger(d.default.FPS_DROP_LEVEL_CAPPING,{level:D,droppedLevel:C.currentLevel}),C.autoLevelCapping=D,C.streamController.nextLevelSwitch())}}this.lastTime=v,this.lastDroppedFrames=g,this.lastDecodedFrames=S}},R.prototype.checkFPSInterval=function(){var x=this.video;if(x)if(this.isVideoPlaybackQualityAvailable){var S=x.getVideoPlaybackQuality();this.checkFPS(x,S.totalVideoFrames,S.droppedVideoFrames)}else this.checkFPS(x,x.webkitDecodedFrameCount,x.webkitDroppedFrameCount)},R}(h.default);t.default=p},"./src/controller/fragment-finders.js":function(n,t,a){(function(o){Object.defineProperty(t,"__esModule",{value:!0});var d=a("./src/utils/binary-search.js");function h(_,R,x){if(!Array.isArray(_)||!_.length||!o.isFinite(R)||R<_[0].programDateTime||R>=_[_.length-1].endProgramDateTime)return null;x=x||0;for(var S=0;S<_.length;++S){var g=_[S];if(p(R,x,g))return g}return null}t.findFragmentByPDT=h;function f(_,R,x,S){x===void 0&&(x=0),S===void 0&&(S=0);var g=_?R[_.sn-R[0].sn+1]:null;return g&&!u(x,S,g)?g:d.default.search(R,u.bind(null,x,S))}t.findFragmentByPTS=f;function u(_,R,x){_===void 0&&(_=0),R===void 0&&(R=0);var S=Math.min(R,x.duration+(x.deltaPTS?x.deltaPTS:0));return x.start+x.duration-S<=_?1:x.start-S>_&&x.start?-1:0}t.fragmentWithinToleranceTest=u;function p(_,R,x){var S=Math.min(R,x.duration+(x.deltaPTS?x.deltaPTS:0))*1e3;return x.endProgramDateTime-S>_}t.pdtWithinToleranceTest=p}).call(this,a("./src/polyfills/number.js").Number)},"./src/controller/fragment-tracker.js":function(n,t,a){(function(o){var d=this&&this.__extends||function(){var p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(_,R){_.__proto__=R}||function(_,R){for(var x in R)R.hasOwnProperty(x)&&(_[x]=R[x])};return function(_,R){p(_,R);function x(){this.constructor=_}_.prototype=R===null?Object.create(R):(x.prototype=R.prototype,new x)}}();Object.defineProperty(t,"__esModule",{value:!0});var h=a("./src/event-handler.js"),f=a("./src/events.js");t.FragmentState={NOT_LOADED:"NOT_LOADED",APPENDING:"APPENDING",PARTIAL:"PARTIAL",OK:"OK"};var u=function(p){d(_,p);function _(R){var x=p.call(this,R,f.default.BUFFER_APPENDED,f.default.FRAG_BUFFERED,f.default.FRAG_LOADED)||this;return x.bufferPadding=.2,x.fragments=Object.create(null),x.timeRanges=Object.create(null),x.config=R.config,x}return _.prototype.destroy=function(){this.fragments=Object.create(null),this.timeRanges=Object.create(null),this.config=null,h.default.prototype.destroy.call(this),p.prototype.destroy.call(this)},_.prototype.getBufferedFrag=function(R,x){var S=this.fragments,g=Object.keys(S).filter(function(b){var T=S[b];if(T.body.type!==x||!T.buffered)return!1;var y=T.body;return y.startPTS<=R&&R<=y.endPTS});if(g.length===0)return null;var v=g.pop();return S[v].body},_.prototype.detectEvictedFragments=function(R,x){var S=this,g,v;Object.keys(this.fragments).forEach(function(b){var T=S.fragments[b];if(T.buffered===!0){var y=T.range[R];if(y){g=y.time;for(var w=0;w<g.length;w++)if(v=g[w],S.isTimeBuffered(v.startPTS,v.endPTS,x)===!1){S.removeFragment(T.body);break}}}})},_.prototype.detectPartialFragments=function(R){var x=this,S=this.getFragmentKey(R),g=this.fragments[S];g&&(g.buffered=!0,Object.keys(this.timeRanges).forEach(function(v){if(R.hasElementaryStream(v)){var b=x.timeRanges[v];g.range[v]=x.getBufferedTimes(R.startPTS,R.endPTS,b)}}))},_.prototype.getBufferedTimes=function(R,x,S){for(var g=[],v,b,T=!1,y=0;y<S.length;y++)if(v=S.start(y)-this.bufferPadding,b=S.end(y)+this.bufferPadding,R>=v&&x<=b){g.push({startPTS:Math.max(R,S.start(y)),endPTS:Math.min(x,S.end(y))});break}else if(R<b&&x>v)g.push({startPTS:Math.max(R,S.start(y)),endPTS:Math.min(x,S.end(y))}),T=!0;else if(x<=v)break;return{time:g,partial:T}},_.prototype.getFragmentKey=function(R){return R.type+"_"+R.level+"_"+R.urlId+"_"+R.sn},_.prototype.getPartialFragment=function(R){var x=this,S,g,v,b=null,T=0;return Object.keys(this.fragments).forEach(function(y){var w=x.fragments[y];x.isPartial(w)&&(g=w.body.startPTS-x.bufferPadding,v=w.body.endPTS+x.bufferPadding,R>=g&&R<=v&&(S=Math.min(R-g,v-R),T<=S&&(b=w.body,T=S)))}),b},_.prototype.getState=function(R){var x=this.getFragmentKey(R),S=this.fragments[x],g=t.FragmentState.NOT_LOADED;return S!==void 0&&(S.buffered?this.isPartial(S)===!0?g=t.FragmentState.PARTIAL:g=t.FragmentState.OK:g=t.FragmentState.APPENDING),g},_.prototype.isPartial=function(R){return R.buffered===!0&&(R.range.video!==void 0&&R.range.video.partial===!0||R.range.audio!==void 0&&R.range.audio.partial===!0)},_.prototype.isTimeBuffered=function(R,x,S){for(var g,v,b=0;b<S.length;b++){if(g=S.start(b)-this.bufferPadding,v=S.end(b)+this.bufferPadding,R>=g&&x<=v)return!0;if(x<=g)return!1}return!1},_.prototype.onFragLoaded=function(R){var x=R.frag;!o.isFinite(x.sn)||x.bitrateTest||(this.fragments[this.getFragmentKey(x)]={body:x,range:Object.create(null),buffered:!1})},_.prototype.onBufferAppended=function(R){var x=this;this.timeRanges=R.timeRanges,Object.keys(this.timeRanges).forEach(function(S){var g=x.timeRanges[S];x.detectEvictedFragments(S,g)})},_.prototype.onFragBuffered=function(R){this.detectPartialFragments(R.frag)},_.prototype.hasFragment=function(R){var x=this.getFragmentKey(R);return this.fragments[x]!==void 0},_.prototype.removeFragment=function(R){var x=this.getFragmentKey(R);delete this.fragments[x]},_.prototype.removeAllFragments=function(){this.fragments=Object.create(null)},_}(h.default);t.FragmentTracker=u}).call(this,a("./src/polyfills/number.js").Number)},"./src/controller/gap-controller.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/utils/buffer-helper.js"),d=a("./src/errors.js"),h=a("./src/events.js"),f=a("./src/utils/logger.js"),u=1e3,p=.5,_=function(){function R(x,S,g,v){this.config=x,this.media=S,this.fragmentTracker=g,this.hls=v,this.stallReported=!1}return R.prototype.poll=function(x,S){var g=this,v=g.config,b=g.media,T=b.currentTime,y=window.performance.now();if(T!==x){this.stallReported&&(f.logger.warn("playback not stuck anymore @"+T+", after "+Math.round(y-this.stalled)+"ms"),this.stallReported=!1),this.stalled=null,this.nudgeRetry=0;return}if(!(b.ended||!b.buffered.length||b.readyState>2)&&!(b.seeking&&o.BufferHelper.isBuffered(b,T))){var w=y-this.stalled,C=o.BufferHelper.bufferInfo(b,T,v.maxBufferHole);if(this.stalled)w>=u&&this._reportStall(C.len);else{this.stalled=y;return}this._tryFixBufferStall(C,w)}},R.prototype._tryFixBufferStall=function(x,S){var g=this,v=g.config,b=g.fragmentTracker,T=g.media,y=T.currentTime,w=b.getPartialFragment(y);w&&this._trySkipBufferHole(w),x.len>p&&S>v.highBufferWatchdogPeriod*1e3&&(this.stalled=null,this._tryNudgeBuffer())},R.prototype._reportStall=function(x){var S=this,g=S.hls,v=S.media,b=S.stallReported;b||(this.stallReported=!0,f.logger.warn("Playback stalling at @"+v.currentTime+" due to low buffer"),g.trigger(h.default.ERROR,{type:d.ErrorTypes.MEDIA_ERROR,details:d.ErrorDetails.BUFFER_STALLED_ERROR,fatal:!1,buffer:x}))},R.prototype._trySkipBufferHole=function(x){for(var S=this,g=S.hls,v=S.media,b=v.currentTime,T=0,y=0;y<v.buffered.length;y++){var w=v.buffered.start(y);if(b>=T&&b<w){v.currentTime=Math.max(w,v.currentTime+.1),f.logger.warn("skipping hole, adjusting currentTime from "+b+" to "+v.currentTime),this.stalled=null,g.trigger(h.default.ERROR,{type:d.ErrorTypes.MEDIA_ERROR,details:d.ErrorDetails.BUFFER_SEEK_OVER_HOLE,fatal:!1,reason:"fragment loaded with buffer holes, seeking from "+b+" to "+v.currentTime,frag:x});return}T=v.buffered.end(y)}},R.prototype._tryNudgeBuffer=function(){var x=this,S=x.config,g=x.hls,v=x.media,b=v.currentTime,T=(this.nudgeRetry||0)+1;if(this.nudgeRetry=T,T<S.nudgeMaxRetry){var y=b+T*S.nudgeOffset;f.logger.log("adjust currentTime from "+b+" to "+y),v.currentTime=y,g.trigger(h.default.ERROR,{type:d.ErrorTypes.MEDIA_ERROR,details:d.ErrorDetails.BUFFER_NUDGE_ON_STALL,fatal:!1})}else f.logger.error("still stuck in high buffer @"+b+" after "+S.nudgeMaxRetry+", raise fatal error"),g.trigger(h.default.ERROR,{type:d.ErrorTypes.MEDIA_ERROR,details:d.ErrorDetails.BUFFER_STALLED_ERROR,fatal:!0})},R}();t.default=_},"./src/controller/id3-track-controller.js":function(n,t,a){var o=this&&this.__extends||function(){var _=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(R,x){R.__proto__=x}||function(R,x){for(var S in x)x.hasOwnProperty(S)&&(R[S]=x[S])};return function(R,x){_(R,x);function S(){this.constructor=R}R.prototype=x===null?Object.create(x):(S.prototype=x.prototype,new S)}}();Object.defineProperty(t,"__esModule",{value:!0});var d=a("./src/events.js"),h=a("./src/event-handler.js"),f=a("./src/demux/id3.js"),u=a("./src/utils/texttrack-utils.js"),p=function(_){o(R,_);function R(x){var S=_.call(this,x,d.default.MEDIA_ATTACHED,d.default.MEDIA_DETACHING,d.default.FRAG_PARSING_METADATA)||this;return S.id3Track=void 0,S.media=void 0,S}return R.prototype.destroy=function(){h.default.prototype.destroy.call(this)},R.prototype.onMediaAttached=function(x){this.media=x.media,this.media},R.prototype.onMediaDetaching=function(){u.clearCurrentCues(this.id3Track),this.id3Track=void 0,this.media=void 0},R.prototype.getID3Track=function(x){for(var S=0;S<x.length;S++){var g=x[S];if(g.kind==="metadata"&&g.label==="id3")return u.sendAddTrackEvent(g,this.media),g}return this.media.addTextTrack("metadata","id3")},R.prototype.onFragParsingMetadata=function(x){var S=x.frag,g=x.samples;this.id3Track||(this.id3Track=this.getID3Track(this.media.textTracks),this.id3Track.mode="hidden");for(var v=window.WebKitDataCue||window.VTTCue||window.TextTrackCue,b=0;b<g.length;b++){var T=f.default.getID3Frames(g[b].data);if(T){var y=g[b].pts,w=b<g.length-1?g[b+1].pts:S.endPTS;y===w&&(w+=1e-4);for(var C=0;C<T.length;C++){var D=T[C];if(!f.default.isTimeStampFrame(D)){var N=new v(y,w,"");N.value=D,this.id3Track.addCue(N)}}}}},R}(h.default);t.default=p},"./src/controller/level-controller.js":function(n,t,a){var o=this&&this.__extends||function(){var S=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(g,v){g.__proto__=v}||function(g,v){for(var b in v)v.hasOwnProperty(b)&&(g[b]=v[b])};return function(g,v){S(g,v);function b(){this.constructor=g}g.prototype=v===null?Object.create(v):(b.prototype=v.prototype,new b)}}();Object.defineProperty(t,"__esModule",{value:!0});var d=a("./src/events.js"),h=a("./src/event-handler.js"),f=a("./src/utils/logger.js"),u=a("./src/errors.js"),p=a("./src/utils/codecs.js"),_=a("./src/controller/level-helper.js"),R,x=function(S){o(g,S);function g(v){var b=S.call(this,v,d.default.MANIFEST_LOADED,d.default.LEVEL_LOADED,d.default.AUDIO_TRACK_SWITCHED,d.default.FRAG_LOADED,d.default.ERROR)||this;return b.canload=!1,b.currentLevelIndex=null,b.manualLevelIndex=-1,b.timer=null,R=/chrome|firefox/.test(navigator.userAgent.toLowerCase()),b}return g.prototype.onHandlerDestroying=function(){this.clearTimer(),this.manualLevelIndex=-1},g.prototype.clearTimer=function(){this.timer!==null&&(clearTimeout(this.timer),this.timer=null)},g.prototype.startLoad=function(){var v=this._levels;this.canload=!0,this.levelRetryCount=0,v&&v.forEach(function(b){b.loadError=0;var T=b.details;T&&T.live&&(b.details=void 0)}),this.timer!==null&&this.loadLevel()},g.prototype.stopLoad=function(){this.canload=!1},g.prototype.onManifestLoaded=function(v){var b=[],T=[],y,w={},C=null,D=!1,N=!1;if(v.levels.forEach(function(k){var F=k.attrs;k.loadError=0,k.fragmentError=!1,D=D||!!k.videoCodec,N=N||!!k.audioCodec,R&&k.audioCodec&&k.audioCodec.indexOf("mp4a.40.34")!==-1&&(k.audioCodec=void 0),C=w[k.bitrate],C?C.url.push(k.url):(k.url=[k.url],k.urlId=0,w[k.bitrate]=k,b.push(k)),F&&(F.AUDIO&&(N=!0,_.addGroupId(C||k,"audio",F.AUDIO)),F.SUBTITLES&&_.addGroupId(C||k,"text",F.SUBTITLES))}),D&&N&&(b=b.filter(function(k){var F=k.videoCodec;return!!F})),b=b.filter(function(k){var F=k.audioCodec,M=k.videoCodec;return(!F||p.isCodecSupportedInMp4(F,"audio"))&&(!M||p.isCodecSupportedInMp4(M,"video"))}),v.audioTracks&&(T=v.audioTracks.filter(function(k){return!k.audioCodec||p.isCodecSupportedInMp4(k.audioCodec,"audio")}),T.forEach(function(k,F){k.id=F})),b.length>0){y=b[0].bitrate,b.sort(function(k,F){return k.bitrate-F.bitrate}),this._levels=b;for(var P=0;P<b.length;P++)if(b[P].bitrate===y){this._firstLevel=P,f.logger.log("manifest loaded,"+b.length+" level(s) found, first bitrate:"+y);break}this.hls.trigger(d.default.MANIFEST_PARSED,{levels:b,audioTracks:T,firstLevel:this._firstLevel,stats:v.stats,audio:N,video:D,altAudio:T.some(function(k){return!!k.url})})}else this.hls.trigger(d.default.ERROR,{type:u.ErrorTypes.MEDIA_ERROR,details:u.ErrorDetails.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:this.hls.url,reason:"no level with compatible codecs found in manifest"})},Object.defineProperty(g.prototype,"levels",{get:function(){return this._levels},enumerable:!0,configurable:!0}),Object.defineProperty(g.prototype,"level",{get:function(){return this.currentLevelIndex},set:function(v){var b=this._levels;b&&(v=Math.min(v,b.length-1),(this.currentLevelIndex!==v||!b[v].details)&&this.setLevelInternal(v))},enumerable:!0,configurable:!0}),g.prototype.setLevelInternal=function(v){var b=this._levels,T=this.hls;if(v>=0&&v<b.length){if(this.clearTimer(),this.currentLevelIndex!==v){f.logger.log("switching to level "+v),this.currentLevelIndex=v;var y=b[v];y.level=v,T.trigger(d.default.LEVEL_SWITCHING,y)}var w=b[v],C=w.details;if(!C||C.live){var D=w.urlId;T.trigger(d.default.LEVEL_LOADING,{url:w.url[D],level:v,id:D})}}else T.trigger(d.default.ERROR,{type:u.ErrorTypes.OTHER_ERROR,details:u.ErrorDetails.LEVEL_SWITCH_ERROR,level:v,fatal:!1,reason:"invalid level idx"})},Object.defineProperty(g.prototype,"manualLevel",{get:function(){return this.manualLevelIndex},set:function(v){this.manualLevelIndex=v,this._startLevel===void 0&&(this._startLevel=v),v!==-1&&(this.level=v)},enumerable:!0,configurable:!0}),Object.defineProperty(g.prototype,"firstLevel",{get:function(){return this._firstLevel},set:function(v){this._firstLevel=v},enumerable:!0,configurable:!0}),Object.defineProperty(g.prototype,"startLevel",{get:function(){if(this._startLevel===void 0){var v=this.hls.config.startLevel;return v!==void 0?v:this._firstLevel}else return this._startLevel},set:function(v){this._startLevel=v},enumerable:!0,configurable:!0}),g.prototype.onError=function(v){if(v.fatal){v.type===u.ErrorTypes.NETWORK_ERROR&&this.clearTimer();return}var b=!1,T=!1,y;switch(v.details){case u.ErrorDetails.FRAG_LOAD_ERROR:case u.ErrorDetails.FRAG_LOAD_TIMEOUT:case u.ErrorDetails.KEY_LOAD_ERROR:case u.ErrorDetails.KEY_LOAD_TIMEOUT:y=v.frag.level,T=!0;break;case u.ErrorDetails.LEVEL_LOAD_ERROR:case u.ErrorDetails.LEVEL_LOAD_TIMEOUT:y=v.context.level,b=!0;break;case u.ErrorDetails.REMUX_ALLOC_ERROR:y=v.level,b=!0;break}y!==void 0&&this.recoverLevel(v,y,b,T)},g.prototype.recoverLevel=function(v,b,T,y){var w=this,C=this.hls.config,D=v.details,N=this._levels[b],P,k,F;if(N.loadError++,N.fragmentError=y,T)if(this.levelRetryCount+1<=C.levelLoadingMaxRetry)k=Math.min(Math.pow(2,this.levelRetryCount)*C.levelLoadingRetryDelay,C.levelLoadingMaxRetryTimeout),this.timer=setTimeout(function(){return w.loadLevel()},k),v.levelRetry=!0,this.levelRetryCount++,f.logger.warn("level controller, "+D+", retry in "+k+" ms, current retry count is "+this.levelRetryCount);else{f.logger.error("level controller, cannot recover from "+D+" error"),this.currentLevelIndex=null,this.clearTimer(),v.fatal=!0;return}(T||y)&&(P=N.url.length,P>1&&N.loadError<P?(N.urlId=(N.urlId+1)%P,N.details=void 0,f.logger.warn("level controller, "+D+" for level "+b+": switching to redundant URL-id "+N.urlId)):this.manualLevelIndex===-1?(F=b===0?this._levels.length-1:b-1,f.logger.warn("level controller, "+D+": switch to "+F),this.hls.nextAutoLevel=this.currentLevelIndex=F):y&&(f.logger.warn("level controller, "+D+": reload a fragment"),this.currentLevelIndex=null))},g.prototype.onFragLoaded=function(v){var b=v.frag;if(b!==void 0&&b.type==="main"){var T=this._levels[b.level];T!==void 0&&(T.fragmentError=!1,T.loadError=0,this.levelRetryCount=0)}},g.prototype.onLevelLoaded=function(v){var b=this,T=v.level,y=v.details;if(T===this.currentLevelIndex){var w=this._levels[T];if(w.fragmentError||(w.loadError=0,this.levelRetryCount=0),y.live){var C=_.computeReloadInterval(w.details,y,v.stats.trequest);f.logger.log("live playlist, reload in "+Math.round(C)+" ms"),this.timer=setTimeout(function(){return b.loadLevel()},C)}else this.clearTimer()}},g.prototype.onAudioTrackSwitched=function(v){var b=this.hls.audioTracks[v.id].groupId,T=this.hls.levels[this.currentLevelIndex];if(T&&T.audioGroupIds){for(var y=-1,w=0;w<T.audioGroupIds.length;w++)if(T.audioGroupIds[w]===b){y=w;break}y!==T.urlId&&(T.urlId=y,this.startLoad())}},g.prototype.loadLevel=function(){if(f.logger.debug("call to loadLevel"),this.currentLevelIndex!==null&&this.canload){var v=this._levels[this.currentLevelIndex];if(typeof v=="object"&&v.url.length>0){var b=this.currentLevelIndex,T=v.urlId,y=v.url[T];f.logger.log("Attempt loading level index "+b+" with URL-id "+T),this.hls.trigger(d.default.LEVEL_LOADING,{url:y,level:b,id:T})}}},Object.defineProperty(g.prototype,"nextLoadLevel",{get:function(){return this.manualLevelIndex!==-1?this.manualLevelIndex:this.hls.nextAutoLevel},set:function(v){this.level=v,this.manualLevelIndex===-1&&(this.hls.nextAutoLevel=v)},enumerable:!0,configurable:!0}),g}(h.default);t.default=x},"./src/controller/level-helper.js":function(n,t,a){(function(o){Object.defineProperty(t,"__esModule",{value:!0});var d=a("./src/utils/logger.js");function h(g,v,b){switch(v){case"audio":g.audioGroupIds||(g.audioGroupIds=[]),g.audioGroupIds.push(b);break;case"text":g.textGroupIds||(g.textGroupIds=[]),g.textGroupIds.push(b);break}}t.addGroupId=h;function f(g,v,b){var T=g[v],y=g[b],w=y.startPTS;o.isFinite(w)?b>v?(T.duration=w-T.start,T.duration<0&&d.logger.warn("negative duration computed for frag "+T.sn+",level "+T.level+", there should be some duration drift between playlist and fragment!")):(y.duration=T.start-w,y.duration<0&&d.logger.warn("negative duration computed for frag "+y.sn+",level "+y.level+", there should be some duration drift between playlist and fragment!")):b>v?y.start=T.start+T.duration:y.start=Math.max(T.start-y.duration,0)}t.updatePTS=f;function u(g,v,b,T,y,w){var C=b;if(o.isFinite(v.startPTS)){var D=Math.abs(v.startPTS-b);o.isFinite(v.deltaPTS)?v.deltaPTS=Math.max(D,v.deltaPTS):v.deltaPTS=D,C=Math.max(b,v.startPTS),b=Math.min(b,v.startPTS),T=Math.max(T,v.endPTS),y=Math.min(y,v.startDTS),w=Math.max(w,v.endDTS)}var N=b-v.start;v.start=v.startPTS=b,v.maxStartPTS=C,v.endPTS=T,v.startDTS=y,v.endDTS=w,v.duration=T-b;var P=v.sn;if(!g||P<g.startSN||P>g.endSN)return 0;var k,F,M;for(k=P-g.startSN,F=g.fragments,F[k]=v,M=k;M>0;M--)f(F,M,M-1);for(M=k;M<F.length-1;M++)f(F,M,M+1);return g.PTSKnown=!0,N}t.updateFragPTSDTS=u;function p(g,v){v.initSegment&&g.initSegment&&(v.initSegment=g.initSegment);var b=0,T;if(R(g,v,function(C,D){b=C.cc-D.cc,o.isFinite(C.startPTS)&&(D.start=D.startPTS=C.startPTS,D.endPTS=C.endPTS,D.duration=C.duration,D.backtracked=C.backtracked,D.dropped=C.dropped,T=D),v.PTSKnown=!0}),!!v.PTSKnown){if(b){d.logger.log("discontinuity sliding from playlist, take drift into account");for(var y=v.fragments,w=0;w<y.length;w++)y[w].cc+=b}T?u(v,T,T.startPTS,T.endPTS,T.startDTS,T.endDTS):x(g,v),v.PTSKnown=g.PTSKnown}}t.mergeDetails=p;function _(g,v,b){b===void 0&&(b=0);var T=-1;R(g,v,function(C,D,N){D.start=C.start,T=N});var y=v.fragments;if(T<0){y.forEach(function(C){C.start+=b});return}for(var w=T+1;w<y.length;w++)y[w].start=y[w-1].start+y[w-1].duration}t.mergeSubtitlePlaylists=_;function R(g,v,b){if(!(!g||!v))for(var T=Math.max(g.startSN,v.startSN)-v.startSN,y=Math.min(g.endSN,v.endSN)-v.startSN,w=v.startSN-g.startSN,C=T;C<=y;C++){var D=g.fragments[w+C],N=v.fragments[C];if(!D||!N)break;b(D,N,C)}}t.mapFragmentIntersection=R;function x(g,v){var b=v.startSN-g.startSN,T=g.fragments,y=v.fragments;if(!(b<0||b>T.length))for(var w=0;w<y.length;w++)y[w].start+=T[b].start}t.adjustSliding=x;function S(g,v,b){var T=1e3*(v.averagetargetduration?v.averagetargetduration:v.targetduration),y=T/2;return g&&v.endSN===g.endSN&&(T=y),b&&(T=Math.max(y,T-(window.performance.now()-b))),Math.round(T)}t.computeReloadInterval=S}).call(this,a("./src/polyfills/number.js").Number)},"./src/controller/stream-controller.js":function(n,t,a){(function(o){var d=this&&this.__extends||function(){var P=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(k,F){k.__proto__=F}||function(k,F){for(var M in F)F.hasOwnProperty(M)&&(k[M]=F[M])};return function(k,F){P(k,F);function M(){this.constructor=k}k.prototype=F===null?Object.create(F):(M.prototype=F.prototype,new M)}}();Object.defineProperty(t,"__esModule",{value:!0});var h=a("./src/utils/binary-search.js"),f=a("./src/utils/buffer-helper.js"),u=a("./src/demux/demuxer.js"),p=a("./src/events.js"),_=a("./src/controller/fragment-tracker.js"),R=a("./src/loader/fragment.js"),x=a("./src/loader/playlist-loader.js"),S=a("./src/controller/level-helper.js"),g=a("./src/utils/time-ranges.js"),v=a("./src/errors.js"),b=a("./src/utils/logger.js"),T=a("./src/utils/discontinuities.js"),y=a("./src/controller/fragment-finders.js"),w=a("./src/controller/gap-controller.js"),C=a("./src/controller/base-stream-controller.js"),D=100,N=function(P){d(k,P);function k(F,M){var j=P.call(this,F,p.default.MEDIA_ATTACHED,p.default.MEDIA_DETACHING,p.default.MANIFEST_LOADING,p.default.MANIFEST_PARSED,p.default.LEVEL_LOADED,p.default.KEY_LOADED,p.default.FRAG_LOADED,p.default.FRAG_LOAD_EMERGENCY_ABORTED,p.default.FRAG_PARSING_INIT_SEGMENT,p.default.FRAG_PARSING_DATA,p.default.FRAG_PARSED,p.default.ERROR,p.default.AUDIO_TRACK_SWITCHING,p.default.AUDIO_TRACK_SWITCHED,p.default.BUFFER_CREATED,p.default.BUFFER_APPENDED,p.default.BUFFER_FLUSHED)||this;return j.fragmentTracker=M,j.config=F.config,j.audioCodecSwap=!1,j._state=C.State.STOPPED,j.stallReported=!1,j.gapController=null,j}return k.prototype.startLoad=function(F){if(this.levels){var M=this.lastCurrentTime,j=this.hls;if(this.stopLoad(),this.setInterval(D),this.level=-1,this.fragLoadError=0,!this.startFragRequested){var $=j.startLevel;$===-1&&($=0,this.bitrateTest=!0),this.level=j.nextLoadLevel=$,this.loadedmetadata=!1}M>0&&F===-1&&(b.logger.log("override startPosition with lastCurrentTime @"+M.toFixed(3)),F=M),this.state=C.State.IDLE,this.nextLoadPosition=this.startPosition=this.lastCurrentTime=F,this.tick()}else this.forceStartLoad=!0,this.state=C.State.STOPPED},k.prototype.stopLoad=function(){this.forceStartLoad=!1,P.prototype.stopLoad.call(this)},k.prototype.doTick=function(){switch(this.state){case C.State.BUFFER_FLUSHING:this.fragLoadError=0;break;case C.State.IDLE:this._doTickIdle();break;case C.State.WAITING_LEVEL:var F=this.levels[this.level];F&&F.details&&(this.state=C.State.IDLE);break;case C.State.FRAG_LOADING_WAITING_RETRY:var M=window.performance.now(),j=this.retryDate;(!j||M>=j||this.media&&this.media.seeking)&&(b.logger.log("mediaController: retryDate reached, switch back to IDLE state"),this.state=C.State.IDLE);break;case C.State.ERROR:case C.State.STOPPED:case C.State.FRAG_LOADING:case C.State.PARSING:case C.State.PARSED:case C.State.ENDED:break}this._checkBuffer(),this._checkFragmentChanged()},k.prototype._doTickIdle=function(){var F=this.hls,M=F.config,j=this.media;if(!(this.levelLastLoaded===void 0||!j&&(this.startFragRequested||!M.startFragPrefetch))){var $;this.loadedmetadata?$=j.currentTime:$=this.nextLoadPosition;var B=F.nextLoadLevel,X=this.levels[B];if(X){var re=X.bitrate,ae;re?ae=Math.max(8*M.maxBufferSize/re,M.maxBufferLength):ae=M.maxBufferLength,ae=Math.min(ae,M.maxMaxBufferLength);var ee=f.BufferHelper.bufferInfo(this.mediaBuffer?this.mediaBuffer:j,$,M.maxBufferHole),K=ee.len;if(!(K>=ae)){b.logger.trace("buffer length of "+K.toFixed(3)+" is below max of "+ae.toFixed(3)+". checking for more payload ..."),this.level=F.nextLoadLevel=B;var ne=X.details;if(!ne||ne.live&&this.levelLastLoaded!==B){this.state=C.State.WAITING_LEVEL;return}if(this._streamEnded(ee,ne)){var ue={};this.altAudio&&(ue.type="video"),this.hls.trigger(p.default.BUFFER_EOS,ue),this.state=C.State.ENDED;return}this._fetchPayloadOrEos($,ee,ne)}}}},k.prototype._fetchPayloadOrEos=function(F,M,j){var $=this.fragPrevious,B=this.level,X=j.fragments,re=X.length;if(re!==0){var ae=X[0].start,ee=X[re-1].start+X[re-1].duration,K=M.end,ne;if(j.initSegment&&!j.initSegment.data)ne=j.initSegment;else if(j.live){var ue=this.config.initialLiveManifestSize;if(re<ue){b.logger.warn("Can not start playback of a level, reason: not enough fragments "+re+" < "+ue);return}if(ne=this._ensureFragmentAtLivePoint(j,K,ae,ee,$,X,re),ne===null)return}else K<ae&&(ne=X[0]);ne||(ne=this._findFragment(ae,$,re,X,K,ee,j)),ne&&(ne.encrypted?(b.logger.log("Loading key for "+ne.sn+" of ["+j.startSN+" ,"+j.endSN+"],level "+B),this._loadKey(ne)):(b.logger.log("Loading "+ne.sn+" of ["+j.startSN+" ,"+j.endSN+"],level "+B+", currentTime:"+F.toFixed(3)+",bufferEnd:"+K.toFixed(3)),this._loadFragment(ne)))}},k.prototype._ensureFragmentAtLivePoint=function(F,M,j,$,B,X,re){var ae=this.hls.config,ee=this.media,K,ne=ae.liveMaxLatencyDuration!==void 0?ae.liveMaxLatencyDuration:ae.liveMaxLatencyDurationCount*F.targetduration;if(M<Math.max(j-ae.maxFragLookUpTolerance,$-ne)){var ue=this.liveSyncPosition=this.computeLivePosition(j,F);b.logger.log("buffer end: "+M.toFixed(3)+" is located too far from the end of live sliding playlist, reset currentTime to : "+ue.toFixed(3)),M=ue,ee&&ee.readyState&&ee.duration>ue&&(ee.currentTime=ue),this.nextLoadPosition=ue}if(F.PTSKnown&&M>$&&ee&&ee.readyState)return null;if(this.startFragRequested&&!F.PTSKnown){if(B)if(F.hasProgramDateTime)b.logger.log("live playlist, switching playlist, load frag with same PDT: "+B.programDateTime),K=y.findFragmentByPDT(X,B.endProgramDateTime,ae.maxFragLookUpTolerance);else{var me=B.sn+1;if(me>=F.startSN&&me<=F.endSN){var J=X[me-F.startSN];B.cc===J.cc&&(K=J,b.logger.log("live playlist, switching playlist, load frag with next SN: "+K.sn))}K||(K=h.default.search(X,function(H){return B.cc-H.cc}),K&&b.logger.log("live playlist, switching playlist, load frag with same CC: "+K.sn))}K||(K=X[Math.min(re-1,Math.round(re/2))],b.logger.log("live playlist, switching playlist, unknown, load middle frag : "+K.sn))}return K},k.prototype._findFragment=function(F,M,j,$,B,X,re){var ae=this.hls.config,ee;if(B<X){var K=B>X-ae.maxFragLookUpTolerance?0:ae.maxFragLookUpTolerance;ee=y.findFragmentByPTS(M,$,B,K)}else ee=$[j-1];if(ee){var ne=ee.sn-re.startSN,ue=M&&ee.level===M.level,me=$[ne-1],J=$[ne+1];if(M&&ee.sn===M.sn)if(ue&&!ee.backtracked)if(ee.sn<re.endSN){var H=M.deltaPTS;H&&H>ae.maxBufferHole&&M.dropped&&ne?(ee=me,b.logger.warn("SN just loaded, with large PTS gap between audio and video, maybe frag is not starting with a keyframe ? load previous one to try to overcome this")):(ee=J,b.logger.log("SN just loaded, load next one: "+ee.sn,ee))}else ee=null;else ee.backtracked&&(J&&J.backtracked?(b.logger.warn("Already backtracked from fragment "+J.sn+", will not backtrack to fragment "+ee.sn+". Loading fragment "+J.sn),ee=J):(b.logger.warn("Loaded fragment with dropped frames, backtracking 1 segment to find a keyframe"),ee.dropped=0,me?(ee=me,ee.backtracked=!0):ne&&(ee=null)))}return ee},k.prototype._loadKey=function(F){this.state=C.State.KEY_LOADING,this.hls.trigger(p.default.KEY_LOADING,{frag:F})},k.prototype._loadFragment=function(F){var M=this.fragmentTracker.getState(F);this.fragCurrent=F,this.startFragRequested=!0,o.isFinite(F.sn)&&!F.bitrateTest&&(this.nextLoadPosition=F.start+F.duration),F.backtracked||M===_.FragmentState.NOT_LOADED||M===_.FragmentState.PARTIAL?(F.autoLevel=this.hls.autoLevelEnabled,F.bitrateTest=this.bitrateTest,this.hls.trigger(p.default.FRAG_LOADING,{frag:F}),this.demuxer||(this.demuxer=new u.default(this.hls,"main")),this.state=C.State.FRAG_LOADING):M===_.FragmentState.APPENDING&&this._reduceMaxBufferLength(F.duration)&&this.fragmentTracker.removeFragment(F)},Object.defineProperty(k.prototype,"state",{get:function(){return this._state},set:function(F){if(this.state!==F){var M=this.state;this._state=F,b.logger.log("main stream:"+M+"->"+F),this.hls.trigger(p.default.STREAM_STATE_TRANSITION,{previousState:M,nextState:F})}},enumerable:!0,configurable:!0}),k.prototype.getBufferedFrag=function(F){return this.fragmentTracker.getBufferedFrag(F,x.default.LevelType.MAIN)},Object.defineProperty(k.prototype,"currentLevel",{get:function(){var F=this.media;if(F){var M=this.getBufferedFrag(F.currentTime);if(M)return M.level}return-1},enumerable:!0,configurable:!0}),Object.defineProperty(k.prototype,"nextBufferedFrag",{get:function(){var F=this.media;return F?this.followingBufferedFrag(this.getBufferedFrag(F.currentTime)):null},enumerable:!0,configurable:!0}),k.prototype.followingBufferedFrag=function(F){return F?this.getBufferedFrag(F.endPTS+.5):null},Object.defineProperty(k.prototype,"nextLevel",{get:function(){var F=this.nextBufferedFrag;return F?F.level:-1},enumerable:!0,configurable:!0}),k.prototype._checkFragmentChanged=function(){var F,M,j=this.media;if(j&&j.readyState&&j.seeking===!1&&(M=j.currentTime,M>this.lastCurrentTime&&(this.lastCurrentTime=M),f.BufferHelper.isBuffered(j,M)?F=this.getBufferedFrag(M):f.BufferHelper.isBuffered(j,M+.1)&&(F=this.getBufferedFrag(M+.1)),F)){var $=F;if($!==this.fragPlaying){this.hls.trigger(p.default.FRAG_CHANGED,{frag:$});var B=$.level;(!this.fragPlaying||this.fragPlaying.level!==B)&&this.hls.trigger(p.default.LEVEL_SWITCHED,{level:B}),this.fragPlaying=$}}},k.prototype.immediateLevelSwitch=function(){if(b.logger.log("immediateLevelSwitch"),!this.immediateSwitch){this.immediateSwitch=!0;var F=this.media,M=void 0;F?(M=F.paused,F.pause()):M=!0,this.previouslyPaused=M}var j=this.fragCurrent;j&&j.loader&&j.loader.abort(),this.fragCurrent=null,this.flushMainBuffer(0,o.POSITIVE_INFINITY)},k.prototype.immediateLevelSwitchEnd=function(){var F=this.media;F&&F.buffered.length&&(this.immediateSwitch=!1,f.BufferHelper.isBuffered(F,F.currentTime)&&(F.currentTime-=1e-4),this.previouslyPaused||F.play())},k.prototype.nextLevelSwitch=function(){var F=this.media;if(F&&F.readyState){var M=void 0,j=void 0,$=void 0;if(j=this.getBufferedFrag(F.currentTime),j&&j.startPTS>1&&this.flushMainBuffer(0,j.startPTS-1),F.paused)M=0;else{var B=this.hls.nextLoadLevel,X=this.levels[B],re=this.fragLastKbps;re&&this.fragCurrent?M=this.fragCurrent.duration*X.bitrate/(1e3*re)+1:M=0}if($=this.getBufferedFrag(F.currentTime+M),$&&($=this.followingBufferedFrag($),$)){var ae=this.fragCurrent;ae&&ae.loader&&ae.loader.abort(),this.fragCurrent=null,this.flushMainBuffer($.maxStartPTS,o.POSITIVE_INFINITY)}}},k.prototype.flushMainBuffer=function(F,M){this.state=C.State.BUFFER_FLUSHING;var j={startOffset:F,endOffset:M};this.altAudio&&(j.type="video"),this.hls.trigger(p.default.BUFFER_FLUSHING,j)},k.prototype.onMediaAttached=function(F){var M=this.media=this.mediaBuffer=F.media;this.onvseeking=this.onMediaSeeking.bind(this),this.onvseeked=this.onMediaSeeked.bind(this),this.onvended=this.onMediaEnded.bind(this),M.addEventListener("seeking",this.onvseeking),M.addEventListener("seeked",this.onvseeked),M.addEventListener("ended",this.onvended);var j=this.config;this.levels&&j.autoStartLoad&&this.hls.startLoad(j.startPosition),this.gapController=new w.default(j,M,this.fragmentTracker,this.hls)},k.prototype.onMediaDetaching=function(){var F=this.media;F&&F.ended&&(b.logger.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0);var M=this.levels;M&&M.forEach(function(j){j.details&&j.details.fragments.forEach(function($){$.backtracked=void 0})}),F&&(F.removeEventListener("seeking",this.onvseeking),F.removeEventListener("seeked",this.onvseeked),F.removeEventListener("ended",this.onvended),this.onvseeking=this.onvseeked=this.onvended=null),this.media=this.mediaBuffer=null,this.loadedmetadata=!1,this.stopLoad()},k.prototype.onMediaSeeked=function(){var F=this.media,M=F?F.currentTime:void 0;o.isFinite(M)&&b.logger.log("media seeked to "+M.toFixed(3)),this.tick()},k.prototype.onManifestLoading=function(){b.logger.log("trigger BUFFER_RESET"),this.hls.trigger(p.default.BUFFER_RESET),this.fragmentTracker.removeAllFragments(),this.stalled=!1,this.startPosition=this.lastCurrentTime=0},k.prototype.onManifestParsed=function(F){var M=!1,j=!1,$;F.levels.forEach(function(X){$=X.audioCodec,$&&($.indexOf("mp4a.40.2")!==-1&&(M=!0),$.indexOf("mp4a.40.5")!==-1&&(j=!0))}),this.audioCodecSwitch=M&&j,this.audioCodecSwitch&&b.logger.log("both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC"),this.levels=F.levels,this.startFragRequested=!1;var B=this.config;(B.autoStartLoad||this.forceStartLoad)&&this.hls.startLoad(B.startPosition)},k.prototype.onLevelLoaded=function(F){var M=F.details,j=F.level,$=this.levels[this.levelLastLoaded],B=this.levels[j],X=M.totalduration,re=0;if(b.logger.log("level "+j+" loaded ["+M.startSN+","+M.endSN+"],duration:"+X),M.live){var ae=B.details;ae&&M.fragments.length>0?(S.mergeDetails(ae,M),re=M.fragments[0].start,this.liveSyncPosition=this.computeLivePosition(re,ae),M.PTSKnown&&o.isFinite(re)?b.logger.log("live playlist sliding:"+re.toFixed(3)):(b.logger.log("live playlist - outdated PTS, unknown sliding"),T.alignStream(this.fragPrevious,$,M))):(b.logger.log("live playlist - first load, unknown sliding"),M.PTSKnown=!1,T.alignStream(this.fragPrevious,$,M))}else M.PTSKnown=!1;if(B.details=M,this.levelLastLoaded=j,this.hls.trigger(p.default.LEVEL_UPDATED,{details:M,level:j}),this.startFragRequested===!1){if(this.startPosition===-1||this.lastCurrentTime===-1){var ee=M.startTimeOffset;o.isFinite(ee)?(ee<0&&(b.logger.log("negative start time offset "+ee+", count from end of last fragment"),ee=re+X+ee),b.logger.log("start time offset found in playlist, adjust startPosition to "+ee),this.startPosition=ee):M.live?(this.startPosition=this.computeLivePosition(re,M),b.logger.log("configure startPosition to "+this.startPosition)):this.startPosition=0,this.lastCurrentTime=this.startPosition}this.nextLoadPosition=this.startPosition}this.state===C.State.WAITING_LEVEL&&(this.state=C.State.IDLE),this.tick()},k.prototype.onKeyLoaded=function(){this.state===C.State.KEY_LOADING&&(this.state=C.State.IDLE,this.tick())},k.prototype.onFragLoaded=function(F){var M=this,j=M.fragCurrent,$=M.hls,B=M.levels,X=M.media,re=F.frag;if(this.state===C.State.FRAG_LOADING&&j&&re.type==="main"&&re.level===j.level&&re.sn===j.sn){var ae=F.stats,ee=B[j.level],K=ee.details;if(this.bitrateTest=!1,this.stats=ae,b.logger.log("Loaded "+j.sn+" of ["+K.startSN+" ,"+K.endSN+"],level "+j.level),re.bitrateTest&&$.nextLoadLevel)this.state=C.State.IDLE,this.startFragRequested=!1,ae.tparsed=ae.tbuffered=window.performance.now(),$.trigger(p.default.FRAG_BUFFERED,{stats:ae,frag:j,id:"main"}),this.tick();else if(re.sn==="initSegment")this.state=C.State.IDLE,ae.tparsed=ae.tbuffered=window.performance.now(),K.initSegment.data=F.payload,$.trigger(p.default.FRAG_BUFFERED,{stats:ae,frag:j,id:"main"}),this.tick();else{b.logger.log("Parsing "+j.sn+" of ["+K.startSN+" ,"+K.endSN+"],level "+j.level+", cc "+j.cc),this.state=C.State.PARSING,this.pendingBuffering=!0,this.appended=!1,re.bitrateTest&&(re.bitrateTest=!1,this.fragmentTracker.onFragLoaded({frag:re}));var ne=!(X&&X.seeking)&&(K.PTSKnown||!K.live),ue=K.initSegment?K.initSegment.data:[],me=this._getAudioCodec(ee),J=this.demuxer=this.demuxer||new u.default(this.hls,"main");J.push(F.payload,ue,me,ee.videoCodec,j,K.totalduration,ne)}}this.fragLoadError=0},k.prototype.onFragParsingInitSegment=function(F){var M=this.fragCurrent,j=F.frag;if(M&&F.id==="main"&&j.sn===M.sn&&j.level===M.level&&this.state===C.State.PARSING){var $=F.tracks,B=void 0,X=void 0;if($.audio&&this.altAudio&&delete $.audio,X=$.audio,X){var re=this.levels[this.level].audioCodec,ae=navigator.userAgent.toLowerCase();re&&this.audioCodecSwap&&(b.logger.log("swapping playlist audio codec"),re.indexOf("mp4a.40.5")!==-1?re="mp4a.40.2":re="mp4a.40.5"),this.audioCodecSwitch&&X.metadata.channelCount!==1&&ae.indexOf("firefox")===-1&&(re="mp4a.40.5"),ae.indexOf("android")!==-1&&X.container!=="audio/mpeg"&&(re="mp4a.40.2",b.logger.log("Android: force audio codec to "+re)),X.levelCodec=re,X.id=F.id}X=$.video,X&&(X.levelCodec=this.levels[this.level].videoCodec,X.id=F.id),this.hls.trigger(p.default.BUFFER_CODECS,$);for(B in $){X=$[B],b.logger.log("main track:"+B+",container:"+X.container+",codecs[level/parsed]=["+X.levelCodec+"/"+X.codec+"]");var ee=X.initSegment;ee&&(this.appended=!0,this.pendingBuffering=!0,this.hls.trigger(p.default.BUFFER_APPENDING,{type:B,data:ee,parent:"main",content:"initSegment"}))}this.tick()}},k.prototype.onFragParsingData=function(F){var M=this,j=this.fragCurrent,$=F.frag;if(j&&F.id==="main"&&$.sn===j.sn&&$.level===j.level&&!(F.type==="audio"&&this.altAudio)&&this.state===C.State.PARSING){var B=this.levels[this.level],X=j;if(o.isFinite(F.endPTS)||(F.endPTS=F.startPTS+j.duration,F.endDTS=F.startDTS+j.duration),F.hasAudio===!0&&X.addElementaryStream(R.default.ElementaryStreamTypes.AUDIO),F.hasVideo===!0&&X.addElementaryStream(R.default.ElementaryStreamTypes.VIDEO),b.logger.log("Parsed "+F.type+",PTS:["+F.startPTS.toFixed(3)+","+F.endPTS.toFixed(3)+"],DTS:["+F.startDTS.toFixed(3)+"/"+F.endDTS.toFixed(3)+"],nb:"+F.nb+",dropped:"+(F.dropped||0)),F.type==="video")if(X.dropped=F.dropped,X.dropped)if(X.backtracked)b.logger.warn("Already backtracked on this fragment, appending with the gap",X.sn);else{var re=B.details;if(re&&X.sn===re.startSN)b.logger.warn("missing video frame(s) on first frag, appending with gap",X.sn);else{b.logger.warn("missing video frame(s), backtracking fragment",X.sn),this.fragmentTracker.removeFragment(X),X.backtracked=!0,this.nextLoadPosition=F.startPTS,this.state=C.State.IDLE,this.fragPrevious=X,this.tick();return}}else X.backtracked=!1;var ae=S.updateFragPTSDTS(B.details,X,F.startPTS,F.endPTS,F.startDTS,F.endDTS),ee=this.hls;ee.trigger(p.default.LEVEL_PTS_UPDATED,{details:B.details,level:this.level,drift:ae,type:F.type,start:F.startPTS,end:F.endPTS}),[F.data1,F.data2].forEach(function(K){K&&K.length&&M.state===C.State.PARSING&&(M.appended=!0,M.pendingBuffering=!0,ee.trigger(p.default.BUFFER_APPENDING,{type:F.type,data:K,parent:"main",content:"data"}))}),this.tick()}},k.prototype.onFragParsed=function(F){var M=this.fragCurrent,j=F.frag;M&&F.id==="main"&&j.sn===M.sn&&j.level===M.level&&this.state===C.State.PARSING&&(this.stats.tparsed=window.performance.now(),this.state=C.State.PARSED,this._checkAppendedParsed())},k.prototype.onAudioTrackSwitching=function(F){var M=!!F.url,j=F.id;if(!M){if(this.mediaBuffer!==this.media){b.logger.log("switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media;var $=this.fragCurrent;$.loader&&(b.logger.log("switching to main audio track, cancel main fragment load"),$.loader.abort()),this.fragCurrent=null,this.fragPrevious=null,this.demuxer&&(this.demuxer.destroy(),this.demuxer=null),this.state=C.State.IDLE}var B=this.hls;B.trigger(p.default.BUFFER_FLUSHING,{startOffset:0,endOffset:o.POSITIVE_INFINITY,type:"audio"}),B.trigger(p.default.AUDIO_TRACK_SWITCHED,{id:j}),this.altAudio=!1}},k.prototype.onAudioTrackSwitched=function(F){var M=F.id,j=!!this.hls.audioTracks[M].url;if(j){var $=this.videoBuffer;$&&this.mediaBuffer!==$&&(b.logger.log("switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=$)}this.altAudio=j,this.tick()},k.prototype.onBufferCreated=function(F){var M=F.tracks,j,$,B=!1;for(var X in M){var re=M[X];re.id==="main"?($=X,j=re,X==="video"&&(this.videoBuffer=M[X].buffer)):B=!0}B&&j?(b.logger.log("alternate track found, use "+$+".buffered to schedule main fragment loading"),this.mediaBuffer=j.buffer):this.mediaBuffer=this.media},k.prototype.onBufferAppended=function(F){if(F.parent==="main"){var M=this.state;(M===C.State.PARSING||M===C.State.PARSED)&&(this.pendingBuffering=F.pending>0,this._checkAppendedParsed())}},k.prototype._checkAppendedParsed=function(){if(this.state===C.State.PARSED&&(!this.appended||!this.pendingBuffering)){var F=this.fragCurrent;if(F){var M=this.mediaBuffer?this.mediaBuffer:this.media;b.logger.log("main buffered : "+g.default.toString(M.buffered)),this.fragPrevious=F;var j=this.stats;j.tbuffered=window.performance.now(),this.fragLastKbps=Math.round(8*j.total/(j.tbuffered-j.tfirst)),this.hls.trigger(p.default.FRAG_BUFFERED,{stats:j,frag:F,id:"main"}),this.state=C.State.IDLE}this.tick()}},k.prototype.onError=function(F){var M=F.frag||this.fragCurrent;if(!(M&&M.type!=="main")){var j=!!this.media&&f.BufferHelper.isBuffered(this.media,this.media.currentTime)&&f.BufferHelper.isBuffered(this.media,this.media.currentTime+.5);switch(F.details){case v.ErrorDetails.FRAG_LOAD_ERROR:case v.ErrorDetails.FRAG_LOAD_TIMEOUT:case v.ErrorDetails.KEY_LOAD_ERROR:case v.ErrorDetails.KEY_LOAD_TIMEOUT:if(!F.fatal)if(this.fragLoadError+1<=this.config.fragLoadingMaxRetry){var $=Math.min(Math.pow(2,this.fragLoadError)*this.config.fragLoadingRetryDelay,this.config.fragLoadingMaxRetryTimeout);b.logger.warn("mediaController: frag loading failed, retry in "+$+" ms"),this.retryDate=window.performance.now()+$,this.loadedmetadata||(this.startFragRequested=!1,this.nextLoadPosition=this.startPosition),this.fragLoadError++,this.state=C.State.FRAG_LOADING_WAITING_RETRY}else b.logger.error("mediaController: "+F.details+" reaches max retry, redispatch as fatal ..."),F.fatal=!0,this.state=C.State.ERROR;break;case v.ErrorDetails.LEVEL_LOAD_ERROR:case v.ErrorDetails.LEVEL_LOAD_TIMEOUT:this.state!==C.State.ERROR&&(F.fatal?(this.state=C.State.ERROR,b.logger.warn("streamController: "+F.details+",switch to "+this.state+" state ...")):!F.levelRetry&&this.state===C.State.WAITING_LEVEL&&(this.state=C.State.IDLE));break;case v.ErrorDetails.BUFFER_FULL_ERROR:F.parent==="main"&&(this.state===C.State.PARSING||this.state===C.State.PARSED)&&(j?(this._reduceMaxBufferLength(this.config.maxBufferLength),this.state=C.State.IDLE):(b.logger.warn("buffer full error also media.currentTime is not buffered, flush everything"),this.fragCurrent=null,this.flushMainBuffer(0,o.POSITIVE_INFINITY)));break}}},k.prototype._reduceMaxBufferLength=function(F){var M=this.config;return M.maxMaxBufferLength>=F?(M.maxMaxBufferLength/=2,b.logger.warn("main:reduce max buffer length to "+M.maxMaxBufferLength+"s"),!0):!1},k.prototype._checkBuffer=function(){var F=this.media;if(!(!F||F.readyState===0)){var M=this.mediaBuffer?this.mediaBuffer:F,j=M.buffered;!this.loadedmetadata&&j.length?(this.loadedmetadata=!0,this._seekToStartPos()):this.immediateSwitch?this.immediateLevelSwitchEnd():this.gapController.poll(this.lastCurrentTime,j)}},k.prototype.onFragLoadEmergencyAborted=function(){this.state=C.State.IDLE,this.loadedmetadata||(this.startFragRequested=!1,this.nextLoadPosition=this.startPosition),this.tick()},k.prototype.onBufferFlushed=function(){var F=this.mediaBuffer?this.mediaBuffer:this.media;F&&this.fragmentTracker.detectEvictedFragments(R.default.ElementaryStreamTypes.VIDEO,F.buffered),this.state=C.State.IDLE,this.fragPrevious=null},k.prototype.swapAudioCodec=function(){this.audioCodecSwap=!this.audioCodecSwap},k.prototype.computeLivePosition=function(F,M){var j=this.config.liveSyncDuration!==void 0?this.config.liveSyncDuration:this.config.liveSyncDurationCount*M.targetduration;return F+Math.max(0,M.totalduration-j)},k.prototype._seekToStartPos=function(){var F=this.media,M=F.currentTime,j=F.seeking?M:this.startPosition;M!==j&&(b.logger.log("target start position not buffered, seek to buffered.start(0) "+j+" from current time "+M+" "),F.currentTime=j)},k.prototype._getAudioCodec=function(F){var M=this.config.defaultAudioCodec||F.audioCodec;return this.audioCodecSwap&&(b.logger.log("swapping playlist audio codec"),M&&(M.indexOf("mp4a.40.5")!==-1?M="mp4a.40.2":M="mp4a.40.5")),M},Object.defineProperty(k.prototype,"liveSyncPosition",{get:function(){return this._liveSyncPosition},set:function(F){this._liveSyncPosition=F},enumerable:!0,configurable:!0}),k}(C.default);t.default=N}).call(this,a("./src/polyfills/number.js").Number)},"./src/controller/subtitle-stream-controller.js":function(n,t,a){var o=this&&this.__extends||function(){var b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(T,y){T.__proto__=y}||function(T,y){for(var w in y)y.hasOwnProperty(w)&&(T[w]=y[w])};return function(T,y){b(T,y);function w(){this.constructor=T}T.prototype=y===null?Object.create(y):(w.prototype=y.prototype,new w)}}();Object.defineProperty(t,"__esModule",{value:!0});var d=a("./src/events.js"),h=a("./src/utils/logger.js"),f=a("./src/crypt/decrypter.js"),u=a("./src/utils/buffer-helper.js"),p=a("./src/controller/fragment-finders.js"),_=a("./src/controller/fragment-tracker.js"),R=a("./src/controller/base-stream-controller.js"),x=a("./src/controller/level-helper.js"),S=window.performance,g=500,v=function(b){o(T,b);function T(y,w){var C=b.call(this,y,d.default.MEDIA_ATTACHED,d.default.MEDIA_DETACHING,d.default.ERROR,d.default.KEY_LOADED,d.default.FRAG_LOADED,d.default.SUBTITLE_TRACKS_UPDATED,d.default.SUBTITLE_TRACK_SWITCH,d.default.SUBTITLE_TRACK_LOADED,d.default.SUBTITLE_FRAG_PROCESSED,d.default.LEVEL_UPDATED)||this;return C.fragmentTracker=w,C.config=y.config,C.state=R.State.STOPPED,C.tracks=[],C.tracksBuffered=[],C.currentTrackId=-1,C.decrypter=new f.default(y,y.config),C.lastAVStart=0,C._onMediaSeeking=C.onMediaSeeking.bind(C),C}return T.prototype.onSubtitleFragProcessed=function(y){var w=y.frag,C=y.success;if(this.fragPrevious=w,this.state=R.State.IDLE,!!C){var D=this.tracksBuffered[this.currentTrackId];if(D){for(var N,P=w.start,k=0;k<D.length;k++)if(P>=D[k].start&&P<=D[k].end){N=D[k];break}var F=w.start+w.duration;N?N.end=F:(N={start:P,end:F},D.push(N))}}},T.prototype.onMediaAttached=function(y){var w=y.media;this.media=w,w.addEventListener("seeking",this._onMediaSeeking),this.state=R.State.IDLE},T.prototype.onMediaDetaching=function(){this.media.removeEventListener("seeking",this._onMediaSeeking),this.media=null,this.state=R.State.STOPPED},T.prototype.onError=function(y){var w=y.frag;!w||w.type!=="subtitle"||(this.state=R.State.IDLE)},T.prototype.onSubtitleTracksUpdated=function(y){var w=this;h.logger.log("subtitle tracks updated"),this.tracksBuffered=[],this.tracks=y.subtitleTracks,this.tracks.forEach(function(C){w.tracksBuffered[C.id]=[]})},T.prototype.onSubtitleTrackSwitch=function(y){if(this.currentTrackId=y.id,!this.tracks||this.currentTrackId===-1){this.clearInterval();return}var w=this.tracks[this.currentTrackId];w&&w.details&&this.setInterval(g)},T.prototype.onSubtitleTrackLoaded=function(y){var w=y.id,C=y.details,D=this,N=D.currentTrackId,P=D.tracks,k=P[N];w>=P.length||w!==N||!k||(C.live&&x.mergeSubtitlePlaylists(k.details,C,this.lastAVStart),k.details=C,this.setInterval(g))},T.prototype.onKeyLoaded=function(){this.state===R.State.KEY_LOADING&&(this.state=R.State.IDLE)},T.prototype.onFragLoaded=function(y){var w=this.fragCurrent,C=y.frag.decryptdata,D=y.frag,N=this.hls;if(this.state===R.State.FRAG_LOADING&&w&&y.frag.type==="subtitle"&&w.sn===y.frag.sn&&y.payload.byteLength>0&&C&&C.key&&C.method==="AES-128"){var P=S.now();this.decrypter.decrypt(y.payload,C.key.buffer,C.iv.buffer,function(k){var F=S.now();N.trigger(d.default.FRAG_DECRYPTED,{frag:D,payload:k,stats:{tstart:P,tdecrypt:F}})})}},T.prototype.onLevelUpdated=function(y){var w=y.details,C=w.fragments;this.lastAVStart=C.length?C[0].start:0},T.prototype.doTick=function(){if(!this.media){this.state=R.State.IDLE;return}switch(this.state){case R.State.IDLE:{var y=this,w=y.config,C=y.currentTrackId,D=y.fragmentTracker,N=y.media,P=y.tracks;if(!P||!P[C]||!P[C].details)break;var k=w.maxBufferHole,F=w.maxFragLookUpTolerance,M=Math.min(w.maxBufferLength,w.maxMaxBufferLength),j=u.BufferHelper.bufferedInfo(this._getBuffered(),N.currentTime,k),$=j.end,B=j.len,X=P[C].details,re=X.fragments,ae=re.length,ee=re[ae-1].start+re[ae-1].duration;if(B>M)return;var K=void 0,ne=this.fragPrevious;$<ee?(ne&&X.hasProgramDateTime&&(K=p.findFragmentByPDT(re,ne.endProgramDateTime,F)),K||(K=p.findFragmentByPTS(ne,re,$,F))):K=re[ae-1],K&&K.encrypted?(h.logger.log("Loading key for "+K.sn),this.state=R.State.KEY_LOADING,this.hls.trigger(d.default.KEY_LOADING,{frag:K})):K&&D.getState(K)===_.FragmentState.NOT_LOADED&&(this.fragCurrent=K,this.state=R.State.FRAG_LOADING,this.hls.trigger(d.default.FRAG_LOADING,{frag:K}))}}},T.prototype.stopLoad=function(){this.lastAVStart=0,b.prototype.stopLoad.call(this)},T.prototype._getBuffered=function(){return this.tracksBuffered[this.currentTrackId]||[]},T.prototype.onMediaSeeking=function(){this.fragPrevious=null},T}(R.default);t.SubtitleStreamController=v},"./src/controller/subtitle-track-controller.js":function(n,t,a){(function(o){var d=this&&this.__extends||function(){var x=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(S,g){S.__proto__=g}||function(S,g){for(var v in g)g.hasOwnProperty(v)&&(S[v]=g[v])};return function(S,g){x(S,g);function v(){this.constructor=S}S.prototype=g===null?Object.create(g):(v.prototype=g.prototype,new v)}}();Object.defineProperty(t,"__esModule",{value:!0});var h=a("./src/events.js"),f=a("./src/event-handler.js"),u=a("./src/utils/logger.js"),p=a("./src/controller/level-helper.js"),_=function(x){d(S,x);function S(g){var v=x.call(this,g,h.default.MEDIA_ATTACHED,h.default.MEDIA_DETACHING,h.default.MANIFEST_LOADED,h.default.SUBTITLE_TRACK_LOADED)||this;return v.tracks=[],v.trackId=-1,v.media=null,v.stopped=!0,v.subtitleDisplay=!0,v}return S.prototype.destroy=function(){f.default.prototype.destroy.call(this)},S.prototype.onMediaAttached=function(g){var v=this;this.media=g.media,this.media&&(this.queuedDefaultTrack&&(this.subtitleTrack=this.queuedDefaultTrack,delete this.queuedDefaultTrack),this.trackChangeListener=this._onTextTracksChanged.bind(this),this.useTextTrackPolling=!(this.media.textTracks&&"onchange"in this.media.textTracks),this.useTextTrackPolling?this.subtitlePollingInterval=setInterval(function(){v.trackChangeListener()},500):this.media.textTracks.addEventListener("change",this.trackChangeListener))},S.prototype.onMediaDetaching=function(){this.media&&(this.useTextTrackPolling?clearInterval(this.subtitlePollingInterval):this.media.textTracks.removeEventListener("change",this.trackChangeListener),this.media=null)},S.prototype.onManifestLoaded=function(g){var v=this,b=g.subtitles||[];this.tracks=b,this.hls.trigger(h.default.SUBTITLE_TRACKS_UPDATED,{subtitleTracks:b}),b.forEach(function(T){T.default&&(v.media?v.subtitleTrack=T.id:v.queuedDefaultTrack=T.id)})},S.prototype.onSubtitleTrackLoaded=function(g){var v=this,b=g.id,T=g.details,y=this,w=y.trackId,C=y.tracks,D=C[w];if(b>=C.length||b!==w||!D||this.stopped){this._clearReloadTimer();return}if(u.logger.log("subtitle track "+b+" loaded"),T.live){var N=p.computeReloadInterval(D.details,T,g.stats.trequest);u.logger.log("Reloading live subtitle playlist in "+N+"ms"),this.timer=setTimeout(function(){v._loadCurrentTrack()},N)}else this._clearReloadTimer()},S.prototype.startLoad=function(){this.stopped=!1,this._loadCurrentTrack()},S.prototype.stopLoad=function(){this.stopped=!0,this._clearReloadTimer()},Object.defineProperty(S.prototype,"subtitleTracks",{get:function(){return this.tracks},enumerable:!0,configurable:!0}),Object.defineProperty(S.prototype,"subtitleTrack",{get:function(){return this.trackId},set:function(g){this.trackId!==g&&(this._toggleTrackModes(g),this._setSubtitleTrackInternal(g))},enumerable:!0,configurable:!0}),S.prototype._clearReloadTimer=function(){this.timer&&(clearTimeout(this.timer),this.timer=null)},S.prototype._loadCurrentTrack=function(){var g=this,v=g.trackId,b=g.tracks,T=g.hls,y=b[v];v<0||!y||y.details&&!y.details.live||(u.logger.log("Loading subtitle track "+v),T.trigger(h.default.SUBTITLE_TRACK_LOADING,{url:y.url,id:v}))},S.prototype._toggleTrackModes=function(g){var v=this,b=v.media,T=v.subtitleDisplay,y=v.trackId;if(b){var w=R(b.textTracks);if(g===-1)[].slice.call(w).forEach(function(N){N.mode="disabled"});else{var C=w[y];C&&(C.mode="disabled")}var D=w[g];D&&(D.mode=T?"showing":"hidden")}},S.prototype._setSubtitleTrackInternal=function(g){var v=this,b=v.hls,T=v.tracks;!o.isFinite(g)||g<-1||g>=T.length||(this.trackId=g,u.logger.log("Switching to subtitle track "+g),b.trigger(h.default.SUBTITLE_TRACK_SWITCH,{id:g}),this._loadCurrentTrack())},S.prototype._onTextTracksChanged=function(){if(this.media){for(var g=-1,v=R(this.media.textTracks),b=0;b<v.length;b++)if(v[b].mode==="hidden")g=b;else if(v[b].mode==="showing"){g=b;break}this.subtitleTrack=g}},S}(f.default);function R(x){for(var S=[],g=0;g<x.length;g++){var v=x[g];v.kind==="subtitles"&&v.label&&S.push(x[g])}return S}t.default=_}).call(this,a("./src/polyfills/number.js").Number)},"./src/controller/timeline-controller.js":function(n,t,a){(function(o){var d=this&&this.__extends||function(){var b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(T,y){T.__proto__=y}||function(T,y){for(var w in y)y.hasOwnProperty(w)&&(T[w]=y[w])};return function(T,y){b(T,y);function w(){this.constructor=T}T.prototype=y===null?Object.create(y):(w.prototype=y.prototype,new w)}}();Object.defineProperty(t,"__esModule",{value:!0});var h=a("./src/events.js"),f=a("./src/event-handler.js"),u=a("./src/utils/cea-608-parser.js"),p=a("./src/utils/output-filter.js"),_=a("./src/utils/webvtt-parser.js"),R=a("./src/utils/logger.js"),x=a("./src/utils/texttrack-utils.js");function S(b,T){return b&&b.label===T.name&&!(b.textTrack1||b.textTrack2)}function g(b,T,y,w){return Math.min(T,w)-Math.max(b,y)}var v=function(b){d(T,b);function T(y){var w=b.call(this,y,h.default.MEDIA_ATTACHING,h.default.MEDIA_DETACHING,h.default.FRAG_PARSING_USERDATA,h.default.FRAG_DECRYPTED,h.default.MANIFEST_LOADING,h.default.MANIFEST_LOADED,h.default.FRAG_LOADED,h.default.LEVEL_SWITCHING,h.default.INIT_PTS_FOUND)||this;if(w.hls=y,w.config=y.config,w.enabled=!0,w.Cues=y.config.cueHandler,w.textTracks=[],w.tracks=[],w.unparsedVttFrags=[],w.initPTS=[],w.cueRanges=[],w.captionsTracks={},w.captionsProperties={textTrack1:{label:w.config.captionsTextTrack1Label,languageCode:w.config.captionsTextTrack1LanguageCode},textTrack2:{label:w.config.captionsTextTrack2Label,languageCode:w.config.captionsTextTrack2LanguageCode}},w.config.enableCEA708Captions){var C=new p.default(w,"textTrack1"),D=new p.default(w,"textTrack2");w.cea608Parser=new u.default(0,C,D)}return w}return T.prototype.addCues=function(y,w,C,D){for(var N=this.cueRanges,P=!1,k=N.length;k--;){var F=N[k],M=g(F[0],F[1],w,C);if(M>=0&&(F[0]=Math.min(F[0],w),F[1]=Math.max(F[1],C),P=!0,M/(C-w)>.5))return}P||N.push([w,C]),this.Cues.newCue(this.captionsTracks[y],w,C,D)},T.prototype.onInitPtsFound=function(y){var w=this;if(y.id==="main"&&(this.initPTS[y.frag.cc]=y.initPTS),this.unparsedVttFrags.length){var C=this.unparsedVttFrags;this.unparsedVttFrags=[],C.forEach(function(D){w.onFragLoaded(D)})}},T.prototype.getExistingTrack=function(y){var w=this.media;if(w)for(var C=0;C<w.textTracks.length;C++){var D=w.textTracks[C];if(D[y])return D}return null},T.prototype.createCaptionsTrack=function(y){var w=this.captionsProperties[y],C=w.label,D=w.languageCode,N=this.captionsTracks;if(!N[y]){var P=this.getExistingTrack(y);if(P)N[y]=P,x.clearCurrentCues(N[y]),x.sendAddTrackEvent(N[y],this.media);else{var k=this.createTextTrack("captions",C,D);k&&(k[y]=!0,N[y]=k)}}},T.prototype.createTextTrack=function(y,w,C){var D=this.media;if(D)return D.addTextTrack(y,w,C)},T.prototype.destroy=function(){f.default.prototype.destroy.call(this)},T.prototype.onMediaAttaching=function(y){this.media=y.media,this._cleanTracks()},T.prototype.onMediaDetaching=function(){var y=this.captionsTracks;Object.keys(y).forEach(function(w){x.clearCurrentCues(y[w]),delete y[w]})},T.prototype.onManifestLoading=function(){this.lastSn=-1,this.prevCC=-1,this.vttCCs={ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!1}},this._cleanTracks()},T.prototype._cleanTracks=function(){var y=this.media;if(y){var w=y.textTracks;if(w)for(var C=0;C<w.length;C++)x.clearCurrentCues(w[C])}},T.prototype.onManifestLoaded=function(y){var w=this;if(this.textTracks=[],this.unparsedVttFrags=this.unparsedVttFrags||[],this.initPTS=[],this.cueRanges=[],this.config.enableWebVTT){this.tracks=y.subtitles||[];var C=this.media?this.media.textTracks:[];this.tracks.forEach(function(D,N){var P;if(N<C.length){for(var k=null,F=0;F<C.length;F++)if(S(C[F],D)){k=C[F];break}k&&(P=k)}P||(P=w.createTextTrack("subtitles",D.name,D.lang)),D.default?P.mode=w.hls.subtitleDisplay?"showing":"hidden":P.mode="disabled",w.textTracks.push(P)})}},T.prototype.onLevelSwitching=function(){this.enabled=this.hls.currentLevel.closedCaptions!=="NONE"},T.prototype.onFragLoaded=function(y){var w=y.frag,C=y.payload;if(w.type==="main"){var D=w.sn;if(D!==this.lastSn+1){var N=this.cea608Parser;N&&N.reset()}this.lastSn=D}else if(w.type==="subtitle")if(C.byteLength){if(!o.isFinite(this.initPTS[w.cc])){this.unparsedVttFrags.push(y),this.initPTS.length&&this.hls.trigger(h.default.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:w});return}var P=w.decryptdata;(P==null||P.key==null||P.method!=="AES-128")&&this._parseVTTs(w,C)}else this.hls.trigger(h.default.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:w})},T.prototype._parseVTTs=function(y,w){var C=this.vttCCs;C[y.cc]||(C[y.cc]={start:y.start,prevCC:this.prevCC,new:!0},this.prevCC=y.cc);var D=this.textTracks,N=this.hls;_.default.parse(w,this.initPTS[y.cc],C,y.cc,function(P){var k=D[y.level];if(k.mode==="disabled"){N.trigger(h.default.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:y});return}P.forEach(function(F){if(!k.cues.getCueById(F.id))try{k.addCue(F)}catch{var M=new window.TextTrackCue(F.startTime,F.endTime,F.text);M.id=F.id,k.addCue(M)}}),N.trigger(h.default.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:y})},function(P){R.logger.log("Failed to parse VTT cue: "+P),N.trigger(h.default.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:y})})},T.prototype.onFragDecrypted=function(y){var w=y.payload,C=y.frag;if(C.type==="subtitle"){if(!o.isFinite(this.initPTS[C.cc])){this.unparsedVttFrags.push(y);return}this._parseVTTs(C,w)}},T.prototype.onFragParsingUserdata=function(y){if(this.enabled&&this.config.enableCEA708Captions)for(var w=0;w<y.samples.length;w++){var C=this.extractCea608Data(y.samples[w].bytes);this.cea608Parser.addData(y.samples[w].pts,C)}},T.prototype.extractCea608Data=function(y){for(var w=y[0]&31,C=2,D,N,P,k,F,M=[],j=0;j<w;j++)D=y[C++],N=127&y[C++],P=127&y[C++],k=(4&D)!==0,F=3&D,!(N===0&&P===0)&&k&&F===0&&(M.push(N),M.push(P));return M},T}(f.default);t.default=v}).call(this,a("./src/polyfills/number.js").Number)},"./src/crypt/aes-crypto.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function d(h,f){this.subtle=h,this.aesIV=f}return d.prototype.decrypt=function(h,f){return this.subtle.decrypt({name:"AES-CBC",iv:this.aesIV},f,h)},d}();t.default=o},"./src/crypt/aes-decryptor.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});function o(h){var f=h.byteLength,u=f&&new DataView(h).getUint8(f-1);return u?h.slice(0,f-u):h}t.removePadding=o;var d=function(){function h(){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.initTable()}return h.prototype.uint8ArrayToUint32Array_=function(f){for(var u=new DataView(f),p=new Uint32Array(4),_=0;_<4;_++)p[_]=u.getUint32(_*4);return p},h.prototype.initTable=function(){var f=this.sBox,u=this.invSBox,p=this.subMix,_=p[0],R=p[1],x=p[2],S=p[3],g=this.invSubMix,v=g[0],b=g[1],T=g[2],y=g[3],w=new Uint32Array(256),C=0,D=0,N=0;for(N=0;N<256;N++)N<128?w[N]=N<<1:w[N]=N<<1^283;for(N=0;N<256;N++){var P=D^D<<1^D<<2^D<<3^D<<4;P=P>>>8^P&255^99,f[C]=P,u[P]=C;var k=w[C],F=w[k],M=w[F],j=w[P]*257^P*16843008;_[C]=j<<24|j>>>8,R[C]=j<<16|j>>>16,x[C]=j<<8|j>>>24,S[C]=j,j=M*16843009^F*65537^k*257^C*16843008,v[P]=j<<24|j>>>8,b[P]=j<<16|j>>>16,T[P]=j<<8|j>>>24,y[P]=j,C?(C=k^w[w[w[M^k]]],D^=w[w[D]]):C=D=1}},h.prototype.expandKey=function(f){for(var u=this.uint8ArrayToUint32Array_(f),p=!0,_=0;_<u.length&&p;)p=u[_]===this.key[_],_++;if(!p){this.key=u;var R=this.keySize=u.length;if(R!==4&&R!==6&&R!==8)throw new Error("Invalid aes key size="+R);var x=this.ksRows=(R+6+1)*4,S,g,v=this.keySchedule=new Uint32Array(x),b=this.invKeySchedule=new Uint32Array(x),T=this.sBox,y=this.rcon,w=this.invSubMix,C=w[0],D=w[1],N=w[2],P=w[3],k,F;for(S=0;S<x;S++){if(S<R){k=v[S]=u[S];continue}F=k,S%R===0?(F=F<<8|F>>>24,F=T[F>>>24]<<24|T[F>>>16&255]<<16|T[F>>>8&255]<<8|T[F&255],F^=y[S/R|0]<<24):R>6&&S%R===4&&(F=T[F>>>24]<<24|T[F>>>16&255]<<16|T[F>>>8&255]<<8|T[F&255]),v[S]=k=(v[S-R]^F)>>>0}for(g=0;g<x;g++)S=x-g,g&3?F=v[S]:F=v[S-4],g<4||S<=4?b[g]=F:b[g]=C[T[F>>>24]]^D[T[F>>>16&255]]^N[T[F>>>8&255]]^P[T[F&255]],b[g]=b[g]>>>0}},h.prototype.networkToHostOrderSwap=function(f){return f<<24|(f&65280)<<8|(f&16711680)>>8|f>>>24},h.prototype.decrypt=function(f,u,p,_){for(var R=this.keySize+6,x=this.invKeySchedule,S=this.invSBox,g=this.invSubMix,v=g[0],b=g[1],T=g[2],y=g[3],w=this.uint8ArrayToUint32Array_(p),C=w[0],D=w[1],N=w[2],P=w[3],k=new Int32Array(f),F=new Int32Array(k.length),M,j,$,B,X,re,ae,ee,K,ne,ue,me,J,H,W=this.networkToHostOrderSwap;u<k.length;){for(K=W(k[u]),ne=W(k[u+1]),ue=W(k[u+2]),me=W(k[u+3]),X=K^x[0],re=me^x[1],ae=ue^x[2],ee=ne^x[3],J=4,H=1;H<R;H++)M=v[X>>>24]^b[re>>16&255]^T[ae>>8&255]^y[ee&255]^x[J],j=v[re>>>24]^b[ae>>16&255]^T[ee>>8&255]^y[X&255]^x[J+1],$=v[ae>>>24]^b[ee>>16&255]^T[X>>8&255]^y[re&255]^x[J+2],B=v[ee>>>24]^b[X>>16&255]^T[re>>8&255]^y[ae&255]^x[J+3],X=M,re=j,ae=$,ee=B,J=J+4;M=S[X>>>24]<<24^S[re>>16&255]<<16^S[ae>>8&255]<<8^S[ee&255]^x[J],j=S[re>>>24]<<24^S[ae>>16&255]<<16^S[ee>>8&255]<<8^S[X&255]^x[J+1],$=S[ae>>>24]<<24^S[ee>>16&255]<<16^S[X>>8&255]<<8^S[re&255]^x[J+2],B=S[ee>>>24]<<24^S[X>>16&255]<<16^S[re>>8&255]<<8^S[ae&255]^x[J+3],J=J+3,F[u]=W(M^C),F[u+1]=W(B^D),F[u+2]=W($^N),F[u+3]=W(j^P),C=K,D=ne,N=ue,P=me,u=u+4}return _?o(F.buffer):F.buffer},h.prototype.destroy=function(){this.key=void 0,this.keySize=void 0,this.ksRows=void 0,this.sBox=void 0,this.invSBox=void 0,this.subMix=void 0,this.invSubMix=void 0,this.keySchedule=void 0,this.invKeySchedule=void 0,this.rcon=void 0},h}();t.default=d},"./src/crypt/decrypter.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/crypt/aes-crypto.js"),d=a("./src/crypt/fast-aes-key.js"),h=a("./src/crypt/aes-decryptor.js"),f=a("./src/errors.js"),u=a("./src/utils/logger.js"),p=a("./src/events.js"),_=a("./src/utils/get-self-scope.js"),R=_.getSelfScope(),x=function(){function S(g,v,b){var T=(b===void 0?{}:b).removePKCS7Padding,y=T===void 0?!0:T;if(this.logEnabled=!0,this.observer=g,this.config=v,this.removePKCS7Padding=y,y)try{var w=R.crypto;w&&(this.subtle=w.subtle||w.webkitSubtle)}catch{}this.disableWebCrypto=!this.subtle}return S.prototype.isSync=function(){return this.disableWebCrypto&&this.config.enableSoftwareAES},S.prototype.decrypt=function(g,v,b,T){var y=this;if(this.disableWebCrypto&&this.config.enableSoftwareAES){this.logEnabled&&(u.logger.log("JS AES decrypt"),this.logEnabled=!1);var w=this.decryptor;w||(this.decryptor=w=new h.default),w.expandKey(v),T(w.decrypt(g,0,b,this.removePKCS7Padding))}else{this.logEnabled&&(u.logger.log("WebCrypto AES decrypt"),this.logEnabled=!1);var C=this.subtle;this.key!==v&&(this.key=v,this.fastAesKey=new d.default(C,v)),this.fastAesKey.expandKey().then(function(D){var N=new o.default(C,b);N.decrypt(g,D).catch(function(P){y.onWebCryptoError(P,g,v,b,T)}).then(function(P){T(P)})}).catch(function(D){y.onWebCryptoError(D,g,v,b,T)})}},S.prototype.onWebCryptoError=function(g,v,b,T,y){this.config.enableSoftwareAES?(u.logger.log("WebCrypto Error, disable WebCrypto API"),this.disableWebCrypto=!0,this.logEnabled=!0,this.decrypt(v,b,T,y)):(u.logger.error("decrypting error : "+g.message),this.observer.trigger(p.default.ERROR,{type:f.ErrorTypes.MEDIA_ERROR,details:f.ErrorDetails.FRAG_DECRYPT_ERROR,fatal:!0,reason:g.message}))},S.prototype.destroy=function(){var g=this.decryptor;g&&(g.destroy(),this.decryptor=void 0)},S}();t.default=x},"./src/crypt/fast-aes-key.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function d(h,f){this.subtle=h,this.key=f}return d.prototype.expandKey=function(){return this.subtle.importKey("raw",this.key,{name:"AES-CBC"},!1,["encrypt","decrypt"])},d}();t.default=o},"./src/demux/aacdemuxer.js":function(n,t,a){(function(o){Object.defineProperty(t,"__esModule",{value:!0});var d=a("./src/demux/adts.js"),h=a("./src/utils/logger.js"),f=a("./src/demux/id3.js"),u=function(){function p(_,R,x){this.observer=_,this.config=x,this.remuxer=R}return p.prototype.resetInitSegment=function(_,R,x,S){this._audioTrack={container:"audio/adts",type:"audio",id:0,sequenceNumber:0,isAAC:!0,samples:[],len:0,manifestCodec:R,duration:S,inputTimeScale:9e4}},p.prototype.resetTimeStamp=function(){},p.probe=function(_){if(!_)return!1;for(var R=f.default.getID3Data(_,0)||[],x=R.length,S=_.length;x<S;x++)if(d.probe(_,x))return h.logger.log("ADTS sync word found !"),!0;return!1},p.prototype.append=function(_,R,x,S){for(var g=this._audioTrack,v=f.default.getID3Data(_,0)||[],b=f.default.getTimeStamp(v),T=o.isFinite(b)?b*90:R*9e4,y=0,w=T,C=_.length,D=v.length,N=[{pts:w,dts:w,data:v}];D<C-1;)if(d.isHeader(_,D)&&D+5<C){d.initTrackConfig(g,this.observer,_,D,g.manifestCodec);var P=d.appendFrame(g,_,D,T,y);if(P)D+=P.length,w=P.sample.pts,y++;else{h.logger.log("Unable to parse AAC frame");break}}else f.default.isHeader(_,D)?(v=f.default.getID3Data(_,D),N.push({pts:w,dts:w,data:v}),D+=v.length):D++;this.remuxer.remux(g,{samples:[]},{samples:N,inputTimeScale:9e4},{samples:[]},R,x,S)},p.prototype.destroy=function(){},p}();t.default=u}).call(this,a("./src/polyfills/number.js").Number)},"./src/demux/adts.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/utils/logger.js"),d=a("./src/errors.js"),h=a("./src/events.js");function f(T,y,w,C){var D,N,P,k,F,M=navigator.userAgent.toLowerCase(),j=C,$=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];if(D=((y[w+2]&192)>>>6)+1,N=(y[w+2]&60)>>>2,N>$.length-1){T.trigger(h.default.ERROR,{type:d.ErrorTypes.MEDIA_ERROR,details:d.ErrorDetails.FRAG_PARSING_ERROR,fatal:!0,reason:"invalid ADTS sampling index:"+N});return}return k=(y[w+2]&1)<<2,k|=(y[w+3]&192)>>>6,o.logger.log("manifest codec:"+C+",ADTS data:type:"+D+",sampleingIndex:"+N+"["+$[N]+"Hz],channelConfig:"+k),/firefox/i.test(M)?N>=6?(D=5,F=new Array(4),P=N-3):(D=2,F=new Array(2),P=N):M.indexOf("android")!==-1?(D=2,F=new Array(2),P=N):(D=5,F=new Array(4),C&&(C.indexOf("mp4a.40.29")!==-1||C.indexOf("mp4a.40.5")!==-1)||!C&&N>=6?P=N-3:((C&&C.indexOf("mp4a.40.2")!==-1&&(N>=6&&k===1||/vivaldi/i.test(M))||!C&&k===1)&&(D=2,F=new Array(2)),P=N)),F[0]=D<<3,F[0]|=(N&14)>>1,F[1]|=(N&1)<<7,F[1]|=k<<3,D===5&&(F[1]|=(P&14)>>1,F[2]=(P&1)<<7,F[2]|=8,F[3]=0),{config:F,samplerate:$[N],channelCount:k,codec:"mp4a.40."+D,manifestCodec:j}}t.getAudioConfig=f;function u(T,y){return T[y]===255&&(T[y+1]&246)===240}t.isHeaderPattern=u;function p(T,y){return T[y+1]&1?7:9}t.getHeaderLength=p;function _(T,y){return(T[y+3]&3)<<11|T[y+4]<<3|(T[y+5]&224)>>>5}t.getFullFrameLength=_;function R(T,y){return!!(y+1<T.length&&u(T,y))}t.isHeader=R;function x(T,y){if(y+1<T.length&&u(T,y)){var w=p(T,y),C=w;y+5<T.length&&(C=_(T,y));var D=y+C;if(D===T.length||D+1<T.length&&u(T,D))return!0}return!1}t.probe=x;function S(T,y,w,C,D){if(!T.samplerate){var N=f(y,w,C,D);T.config=N.config,T.samplerate=N.samplerate,T.channelCount=N.channelCount,T.codec=N.codec,T.manifestCodec=N.manifestCodec,o.logger.log("parsed codec:"+T.codec+",rate:"+N.samplerate+",nb channel:"+N.channelCount)}}t.initTrackConfig=S;function g(T){return 1024*9e4/T}t.getFrameDuration=g;function v(T,y,w,C,D){var N,P,k,F=T.length;if(N=p(T,y),P=_(T,y),P-=N,P>0&&y+N+P<=F)return k=w+C*D,{headerLength:N,frameLength:P,stamp:k}}t.parseFrameHeader=v;function b(T,y,w,C,D){var N=g(T.samplerate),P=v(y,w,C,D,N);if(P){var k=P.stamp,F=P.headerLength,M=P.frameLength,j={unit:y.subarray(w+F,w+F+M),pts:k,dts:k};return T.samples.push(j),T.len+=M,{sample:j,length:M+F}}}t.appendFrame=b},"./src/demux/demuxer-inline.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/events.js"),d=a("./src/errors.js"),h=a("./src/crypt/decrypter.js"),f=a("./src/demux/aacdemuxer.js"),u=a("./src/demux/mp4demuxer.js"),p=a("./src/demux/tsdemuxer.js"),_=a("./src/demux/mp3demuxer.js"),R=a("./src/remux/mp4-remuxer.js"),x=a("./src/remux/passthrough-remuxer.js"),S=a("./src/utils/get-self-scope.js"),g=a("./src/utils/logger.js"),v=S.getSelfScope(),b;try{b=v.performance.now.bind(v.performance)}catch{g.logger.debug("Unable to use Performance API on this environment"),b=v.Date.now}var T=function(){function y(w,C,D,N){this.observer=w,this.typeSupported=C,this.config=D,this.vendor=N}return y.prototype.destroy=function(){var w=this.demuxer;w&&w.destroy()},y.prototype.push=function(w,C,D,N,P,k,F,M,j,$,B,X){var re=this;if(w.byteLength>0&&C!=null&&C.key!=null&&C.method==="AES-128"){var ae=this.decrypter;ae==null&&(ae=this.decrypter=new h.default(this.observer,this.config));var ee=b();ae.decrypt(w,C.key.buffer,C.iv.buffer,function(K){var ne=b();re.observer.trigger(o.default.FRAG_DECRYPTED,{stats:{tstart:ee,tdecrypt:ne}}),re.pushDecrypted(new Uint8Array(K),C,new Uint8Array(D),N,P,k,F,M,j,$,B,X)})}else this.pushDecrypted(new Uint8Array(w),C,new Uint8Array(D),N,P,k,F,M,j,$,B,X)},y.prototype.pushDecrypted=function(w,C,D,N,P,k,F,M,j,$,B,X){var re=this.demuxer;if(!re||(F||M)&&!this.probe(w)){for(var ae=this.observer,ee=this.typeSupported,K=this.config,ne=[{demux:p.default,remux:R.default},{demux:u.default,remux:x.default},{demux:f.default,remux:R.default},{demux:_.default,remux:R.default}],ue=0,me=ne.length;ue<me;ue++){var J=ne[ue],H=J.demux.probe;if(H(w)){var W=this.remuxer=new J.remux(ae,K,ee,this.vendor);re=new J.demux(ae,W,K,ee),this.probe=H;break}}if(!re){ae.trigger(o.default.ERROR,{type:d.ErrorTypes.MEDIA_ERROR,details:d.ErrorDetails.FRAG_PARSING_ERROR,fatal:!0,reason:"no demux matching with content found"});return}this.demuxer=re}var V=this.remuxer;(F||M)&&(re.resetInitSegment(D,N,P,$),V.resetInitSegment()),F&&(re.resetTimeStamp(X),V.resetTimeStamp(X)),typeof re.setDecryptData=="function"&&re.setDecryptData(C),re.append(w,k,j,B)},y}();t.default=T},"./src/demux/demuxer-worker.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/demux/demuxer-inline.js"),d=a("./src/events.js"),h=a("./src/utils/logger.js"),f=a("./node_modules/node-libs-browser/node_modules/events/events.js"),u=function(p){var _=new f.EventEmitter;_.trigger=function(S){for(var g=[],v=1;v<arguments.length;v++)g[v-1]=arguments[v];_.emit.apply(_,[S,S].concat(g))},_.off=function(S){for(var g=[],v=1;v<arguments.length;v++)g[v-1]=arguments[v];_.removeListener.apply(_,[S].concat(g))};var R=function(x,S){p.postMessage({event:x,data:S})};p.addEventListener("message",function(x){var S=x.data;switch(S.cmd){case"init":var g=JSON.parse(S.config);p.demuxer=new o.default(_,S.typeSupported,g,S.vendor),h.enableLogs(g.debug),R("init",null);break;case"demux":p.demuxer.push(S.data,S.decryptdata,S.initSegment,S.audioCodec,S.videoCodec,S.timeOffset,S.discontinuity,S.trackSwitch,S.contiguous,S.duration,S.accurateTimeOffset,S.defaultInitPTS);break}}),_.on(d.default.FRAG_DECRYPTED,R),_.on(d.default.FRAG_PARSING_INIT_SEGMENT,R),_.on(d.default.FRAG_PARSED,R),_.on(d.default.ERROR,R),_.on(d.default.FRAG_PARSING_METADATA,R),_.on(d.default.FRAG_PARSING_USERDATA,R),_.on(d.default.INIT_PTS_FOUND,R),_.on(d.default.FRAG_PARSING_DATA,function(x,S){var g=[],v={event:x,data:S};S.data1&&(v.data1=S.data1.buffer,g.push(S.data1.buffer),delete S.data1),S.data2&&(v.data2=S.data2.buffer,g.push(S.data2.buffer),delete S.data2),p.postMessage(v,g)})};t.default=u},"./src/demux/demuxer.js":function(n,t,a){(function(o){Object.defineProperty(t,"__esModule",{value:!0});var d=a("./node_modules/webworkify-webpack/index.js"),h=a("./src/events.js"),f=a("./src/demux/demuxer-inline.js"),u=a("./src/utils/logger.js"),p=a("./src/errors.js"),_=a("./src/utils/mediasource-helper.js"),R=a("./src/utils/get-self-scope.js"),x=a("./src/observer.js"),S=R.getSelfScope(),g=_.getMediaSource(),v=function(){function b(T,y){var w=this;this.hls=T,this.id=y;var C=this.observer=new x.Observer,D=T.config,N=function(M,j){j=j||{},j.frag=w.frag,j.id=w.id,T.trigger(M,j)};C.on(h.default.FRAG_DECRYPTED,N),C.on(h.default.FRAG_PARSING_INIT_SEGMENT,N),C.on(h.default.FRAG_PARSING_DATA,N),C.on(h.default.FRAG_PARSED,N),C.on(h.default.ERROR,N),C.on(h.default.FRAG_PARSING_METADATA,N),C.on(h.default.FRAG_PARSING_USERDATA,N),C.on(h.default.INIT_PTS_FOUND,N);var P={mp4:g.isTypeSupported("video/mp4"),mpeg:g.isTypeSupported("audio/mpeg"),mp3:g.isTypeSupported('audio/mp4; codecs="mp3"')},k=navigator.vendor;if(D.enableWorker&&typeof Worker<"u"){u.logger.log("demuxing in webworker");var F=void 0;try{F=this.w=d("./src/demux/demuxer-worker.js"),this.onwmsg=this.onWorkerMessage.bind(this),F.addEventListener("message",this.onwmsg),F.onerror=function(M){T.trigger(h.default.ERROR,{type:p.ErrorTypes.OTHER_ERROR,details:p.ErrorDetails.INTERNAL_EXCEPTION,fatal:!0,event:"demuxerWorker",err:{message:M.message+" ("+M.filename+":"+M.lineno+")"}})},F.postMessage({cmd:"init",typeSupported:P,vendor:k,id:y,config:JSON.stringify(D)})}catch(M){u.logger.warn("Error in worker:",M),u.logger.error("Error while initializing DemuxerWorker, fallback on DemuxerInline"),F&&S.URL.revokeObjectURL(F.objectURL),this.demuxer=new f.default(C,P,D,k),this.w=void 0}}else this.demuxer=new f.default(C,P,D,k)}return b.prototype.destroy=function(){var T=this.w;if(T)T.removeEventListener("message",this.onwmsg),T.terminate(),this.w=null;else{var y=this.demuxer;y&&(y.destroy(),this.demuxer=null)}var w=this.observer;w&&(w.removeAllListeners(),this.observer=null)},b.prototype.push=function(T,y,w,C,D,N,P,k){var F=this.w,M=o.isFinite(D.startPTS)?D.startPTS:D.start,j=D.decryptdata,$=this.frag,B=!($&&D.cc===$.cc),X=!($&&D.level===$.level),re=$&&D.sn===$.sn+1,ae=!X&&re;if(B&&u.logger.log(this.id+":discontinuity detected"),X&&u.logger.log(this.id+":switch detected"),this.frag=D,F)F.postMessage({cmd:"demux",data:T,decryptdata:j,initSegment:y,audioCodec:w,videoCodec:C,timeOffset:M,discontinuity:B,trackSwitch:X,contiguous:ae,duration:N,accurateTimeOffset:P,defaultInitPTS:k},T instanceof ArrayBuffer?[T]:[]);else{var ee=this.demuxer;ee&&ee.push(T,j,y,w,C,M,B,X,ae,N,P,k)}},b.prototype.onWorkerMessage=function(T){var y=T.data,w=this.hls;switch(y.event){case"init":S.URL.revokeObjectURL(this.w.objectURL);break;case h.default.FRAG_PARSING_DATA:y.data.data1=new Uint8Array(y.data1),y.data2&&(y.data.data2=new Uint8Array(y.data2));default:y.data=y.data||{},y.data.frag=this.frag,y.data.id=this.id,w.trigger(y.event,y.data);break}},b}();t.default=v}).call(this,a("./src/polyfills/number.js").Number)},"./src/demux/exp-golomb.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/utils/logger.js"),d=function(){function h(f){this.data=f,this.bytesAvailable=f.byteLength,this.word=0,this.bitsAvailable=0}return h.prototype.loadWord=function(){var f=this.data,u=this.bytesAvailable,p=f.byteLength-u,_=new Uint8Array(4),R=Math.min(4,u);if(R===0)throw new Error("no bytes available");_.set(f.subarray(p,p+R)),this.word=new DataView(_.buffer).getUint32(0),this.bitsAvailable=R*8,this.bytesAvailable-=R},h.prototype.skipBits=function(f){var u;this.bitsAvailable>f?(this.word<<=f,this.bitsAvailable-=f):(f-=this.bitsAvailable,u=f>>3,f-=u>>3,this.bytesAvailable-=u,this.loadWord(),this.word<<=f,this.bitsAvailable-=f)},h.prototype.readBits=function(f){var u=Math.min(this.bitsAvailable,f),p=this.word>>>32-u;return f>32&&o.logger.error("Cannot read more than 32 bits at a time"),this.bitsAvailable-=u,this.bitsAvailable>0?this.word<<=u:this.bytesAvailable>0&&this.loadWord(),u=f-u,u>0&&this.bitsAvailable?p<<u|this.readBits(u):p},h.prototype.skipLZ=function(){var f;for(f=0;f<this.bitsAvailable;++f)if(this.word&2147483648>>>f)return this.word<<=f,this.bitsAvailable-=f,f;return this.loadWord(),f+this.skipLZ()},h.prototype.skipUEG=function(){this.skipBits(1+this.skipLZ())},h.prototype.skipEG=function(){this.skipBits(1+this.skipLZ())},h.prototype.readUEG=function(){var f=this.skipLZ();return this.readBits(f+1)-1},h.prototype.readEG=function(){var f=this.readUEG();return 1&f?1+f>>>1:-1*(f>>>1)},h.prototype.readBoolean=function(){return this.readBits(1)===1},h.prototype.readUByte=function(){return this.readBits(8)},h.prototype.readUShort=function(){return this.readBits(16)},h.prototype.readUInt=function(){return this.readBits(32)},h.prototype.skipScalingList=function(f){var u=8,p=8,_,R;for(_=0;_<f;_++)p!==0&&(R=this.readEG(),p=(u+R+256)%256),u=p===0?u:p},h.prototype.readSPS=function(){var f=0,u=0,p=0,_=0,R,x,S,g,v,b,T,y=this.readUByte.bind(this),w=this.readBits.bind(this),C=this.readUEG.bind(this),D=this.readBoolean.bind(this),N=this.skipBits.bind(this),P=this.skipEG.bind(this),k=this.skipUEG.bind(this),F=this.skipScalingList.bind(this);if(y(),R=y(),w(5),N(3),y(),k(),R===100||R===110||R===122||R===244||R===44||R===83||R===86||R===118||R===128){var M=C();if(M===3&&N(1),k(),k(),N(1),D())for(b=M!==3?8:12,T=0;T<b;T++)D()&&(T<6?F(16):F(64))}k();var j=C();if(j===0)C();else if(j===1)for(N(1),P(),P(),x=C(),T=0;T<x;T++)P();k(),N(1),S=C(),g=C(),v=w(1),v===0&&N(1),N(1),D()&&(f=C(),u=C(),p=C(),_=C());var $=[1,1];if(D()&&D()){var B=y();switch(B){case 1:$=[1,1];break;case 2:$=[12,11];break;case 3:$=[10,11];break;case 4:$=[16,11];break;case 5:$=[40,33];break;case 6:$=[24,11];break;case 7:$=[20,11];break;case 8:$=[32,11];break;case 9:$=[80,33];break;case 10:$=[18,11];break;case 11:$=[15,11];break;case 12:$=[64,33];break;case 13:$=[160,99];break;case 14:$=[4,3];break;case 15:$=[3,2];break;case 16:$=[2,1];break;case 255:{$=[y()<<8|y(),y()<<8|y()];break}}}return{width:Math.ceil((S+1)*16-f*2-u*2),height:(2-v)*(g+1)*16-(v?2:4)*(p+_),pixelRatio:$}},h.prototype.readSliceType=function(){return this.readUByte(),this.readUEG(),this.readUEG()},h}();t.default=d},"./src/demux/id3.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function h(){}return h.isHeader=function(f,u){return u+10<=f.length&&f[u]===73&&f[u+1]===68&&f[u+2]===51&&f[u+3]<255&&f[u+4]<255&&f[u+6]<128&&f[u+7]<128&&f[u+8]<128&&f[u+9]<128},h.isFooter=function(f,u){return u+10<=f.length&&f[u]===51&&f[u+1]===68&&f[u+2]===73&&f[u+3]<255&&f[u+4]<255&&f[u+6]<128&&f[u+7]<128&&f[u+8]<128&&f[u+9]<128},h.getID3Data=function(f,u){for(var p=u,_=0;h.isHeader(f,u);){_+=10;var R=h._readSize(f,u+6);_+=R,h.isFooter(f,u+10)&&(_+=10),u+=_}if(_>0)return f.subarray(p,p+_)},h._readSize=function(f,u){var p=0;return p=(f[u]&127)<<21,p|=(f[u+1]&127)<<14,p|=(f[u+2]&127)<<7,p|=f[u+3]&127,p},h.getTimeStamp=function(f){for(var u=h.getID3Frames(f),p=0;p<u.length;p++){var _=u[p];if(h.isTimeStampFrame(_))return h._readTimeStamp(_)}},h.isTimeStampFrame=function(f){return f&&f.key==="PRIV"&&f.info==="com.apple.streaming.transportStreamTimestamp"},h._getFrameData=function(f){var u=String.fromCharCode(f[0],f[1],f[2],f[3]),p=h._readSize(f,4),_=10;return{type:u,size:p,data:f.subarray(_,_+p)}},h.getID3Frames=function(f){for(var u=0,p=[];h.isHeader(f,u);){var _=h._readSize(f,u+6);u+=10;for(var R=u+_;u+8<R;){var x=h._getFrameData(f.subarray(u)),S=h._decodeFrame(x);S&&p.push(S),u+=x.size+10}h.isFooter(f,u)&&(u+=10)}return p},h._decodeFrame=function(f){if(f.type==="PRIV")return h._decodePrivFrame(f);if(f.type[0]==="T")return h._decodeTextFrame(f);if(f.type[0]==="W")return h._decodeURLFrame(f)},h._readTimeStamp=function(f){if(f.data.byteLength===8){var u=new Uint8Array(f.data),p=u[3]&1,_=(u[4]<<23)+(u[5]<<15)+(u[6]<<7)+u[7];return _/=45,p&&(_+=4772185884e-2),Math.round(_)}},h._decodePrivFrame=function(f){if(!(f.size<2)){var u=h._utf8ArrayToStr(f.data,!0),p=new Uint8Array(f.data.subarray(u.length+1));return{key:f.type,info:u,data:p.buffer}}},h._decodeTextFrame=function(f){if(!(f.size<2))if(f.type==="TXXX"){var u=1,p=h._utf8ArrayToStr(f.data.subarray(u));u+=p.length+1;var _=h._utf8ArrayToStr(f.data.subarray(u));return{key:f.type,info:p,data:_}}else{var R=h._utf8ArrayToStr(f.data.subarray(1));return{key:f.type,data:R}}},h._decodeURLFrame=function(f){if(f.type==="WXXX"){if(f.size<2)return;var u=1,p=h._utf8ArrayToStr(f.data.subarray(u));u+=p.length+1;var _=h._utf8ArrayToStr(f.data.subarray(u));return{key:f.type,info:p,data:_}}else{var R=h._utf8ArrayToStr(f.data);return{key:f.type,data:R}}},h._utf8ArrayToStr=function(f,u){u===void 0&&(u=!1);for(var p=f.length,_,R,x,S="",g=0;g<p;){if(_=f[g++],_===0&&u)return S;if(_===0||_===3)continue;switch(_>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:S+=String.fromCharCode(_);break;case 12:case 13:R=f[g++],S+=String.fromCharCode((_&31)<<6|R&63);break;case 14:R=f[g++],x=f[g++],S+=String.fromCharCode((_&15)<<12|(R&63)<<6|(x&63)<<0);break}}return S},h}(),d=o._utf8ArrayToStr;t.utf8ArrayToStr=d,t.default=o},"./src/demux/mp3demuxer.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/demux/id3.js"),d=a("./src/utils/logger.js"),h=a("./src/demux/mpegaudio.js"),f=function(){function u(p,_,R){this.observer=p,this.config=R,this.remuxer=_}return u.prototype.resetInitSegment=function(p,_,R,x){this._audioTrack={container:"audio/mpeg",type:"audio",id:-1,sequenceNumber:0,isAAC:!1,samples:[],len:0,manifestCodec:_,duration:x,inputTimeScale:9e4}},u.prototype.resetTimeStamp=function(){},u.probe=function(p){var _,R,x=o.default.getID3Data(p,0);if(x&&o.default.getTimeStamp(x)!==void 0){for(_=x.length,R=Math.min(p.length-1,_+100);_<R;_++)if(h.default.probe(p,_))return d.logger.log("MPEG Audio sync word found !"),!0}return!1},u.prototype.append=function(p,_,R,x){for(var S=o.default.getID3Data(p,0),g=o.default.getTimeStamp(S),v=g?90*g:_*9e4,b=S.length,T=p.length,y=0,w=0,C=this._audioTrack,D=[{pts:v,dts:v,data:S}];b<T;)if(h.default.isHeader(p,b)){var N=h.default.appendFrame(C,p,b,v,y);if(N)b+=N.length,w=N.sample.pts,y++;else break}else o.default.isHeader(p,b)?(S=o.default.getID3Data(p,b),D.push({pts:w,dts:w,data:S}),b+=S.length):b++;this.remuxer.remux(C,{samples:[]},{samples:D,inputTimeScale:9e4},{samples:[]},_,R,x)},u.prototype.destroy=function(){},u}();t.default=f},"./src/demux/mp4demuxer.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/utils/logger.js"),d=a("./src/events.js"),h=Math.pow(2,32)-1,f=function(){function u(p,_){this.observer=p,this.remuxer=_}return u.prototype.resetTimeStamp=function(p){this.initPTS=p},u.prototype.resetInitSegment=function(p,_,R,x){if(p&&p.byteLength){var S=this.initData=u.parseInitSegment(p);_==null&&(_="mp4a.40.5"),R==null&&(R="avc1.42e01e");var g={};S.audio&&S.video?g.audiovideo={container:"video/mp4",codec:_+","+R,initSegment:x?p:null}:(S.audio&&(g.audio={container:"audio/mp4",codec:_,initSegment:x?p:null}),S.video&&(g.video={container:"video/mp4",codec:R,initSegment:x?p:null})),this.observer.trigger(d.default.FRAG_PARSING_INIT_SEGMENT,{tracks:g})}else _&&(this.audioCodec=_),R&&(this.videoCodec=R)},u.probe=function(p){return u.findBox({data:p,start:0,end:Math.min(p.length,16384)},["moof"]).length>0},u.bin2str=function(p){return String.fromCharCode.apply(null,p)},u.readUint16=function(p,_){p.data&&(_+=p.start,p=p.data);var R=p[_]<<8|p[_+1];return R<0?65536+R:R},u.readUint32=function(p,_){p.data&&(_+=p.start,p=p.data);var R=p[_]<<24|p[_+1]<<16|p[_+2]<<8|p[_+3];return R<0?4294967296+R:R},u.writeUint32=function(p,_,R){p.data&&(_+=p.start,p=p.data),p[_]=R>>24,p[_+1]=R>>16&255,p[_+2]=R>>8&255,p[_+3]=R&255},u.findBox=function(p,_){var R=[],x,S,g,v,b,T,y;if(p.data?(T=p.start,v=p.end,p=p.data):(T=0,v=p.byteLength),!_.length)return null;for(x=T;x<v;)S=u.readUint32(p,x),g=u.bin2str(p.subarray(x+4,x+8)),y=S>1?x+S:v,g===_[0]&&(_.length===1?R.push({data:p,start:x+8,end:y}):(b=u.findBox({data:p,start:x+8,end:y},_.slice(1)),b.length&&(R=R.concat(b)))),x=y;return R},u.parseSegmentIndex=function(p){var _=u.findBox(p,["moov"])[0],R=_?_.end:null,x=0,S=u.findBox(p,["sidx"]),g;if(!S||!S[0])return null;g=[],S=S[0];var v=S.data[0];x=v===0?8:16;var b=u.readUint32(S,x);x+=4;var T=0,y=0;v===0?x+=8:x+=16,x+=2;var w=S.end+y,C=u.readUint16(S,x);x+=2;for(var D=0;D<C;D++){var N=x,P=u.readUint32(S,N);N+=4;var k=P&2147483647,F=(P&2147483648)>>>31;if(F===1){console.warn("SIDX has hierarchical references (not supported)");return}var M=u.readUint32(S,N);N+=4,g.push({referenceSize:k,subsegmentDuration:M,info:{duration:M/b,start:w,end:w+k-1}}),w+=k,N+=4,x=N}return{earliestPresentationTime:T,timescale:b,version:v,referencesCount:C,references:g,moovEndOffset:R}},u.parseInitSegment=function(p){var _=[],R=u.findBox(p,["moov","trak"]);return R.forEach(function(x){var S=u.findBox(x,["tkhd"])[0];if(S){var g=S.data[S.start],v=g===0?12:20,b=u.readUint32(S,v),T=u.findBox(x,["mdia","mdhd"])[0];if(T){g=T.data[T.start],v=g===0?12:20;var y=u.readUint32(T,v),w=u.findBox(x,["mdia","hdlr"])[0];if(w){var C=u.bin2str(w.data.subarray(w.start+8,w.start+12)),D={soun:"audio",vide:"video"}[C];if(D){var N=u.findBox(x,["mdia","minf","stbl","stsd"]);if(N.length){N=N[0];var P=u.bin2str(N.data.subarray(N.start+12,N.start+16));o.logger.log("MP4Demuxer:"+D+":"+P+" found")}_[b]={timescale:y,type:D},_[D]={timescale:y,id:b}}}}}}),_},u.getStartDTS=function(p,_){var R,x,S;return R=u.findBox(_,["moof","traf"]),x=[].concat.apply([],R.map(function(g){return u.findBox(g,["tfhd"]).map(function(v){var b,T,y;return b=u.readUint32(v,4),T=p[b].timescale||9e4,y=u.findBox(g,["tfdt"]).map(function(w){var C,D;return C=w.data[w.start],D=u.readUint32(w,4),C===1&&(D*=Math.pow(2,32),D+=u.readUint32(w,8)),D})[0],y/T})})),S=Math.min.apply(null,x),isFinite(S)?S:0},u.offsetStartDTS=function(p,_,R){u.findBox(_,["moof","traf"]).map(function(x){return u.findBox(x,["tfhd"]).map(function(S){var g=u.readUint32(S,4),v=p[g].timescale||9e4;u.findBox(x,["tfdt"]).map(function(b){var T=b.data[b.start],y=u.readUint32(b,4);if(T===0)u.writeUint32(b,4,y-R*v);else{y*=Math.pow(2,32),y+=u.readUint32(b,8),y-=R*v,y=Math.max(y,0);var w=Math.floor(y/(h+1)),C=Math.floor(y%(h+1));u.writeUint32(b,4,w),u.writeUint32(b,8,C)}})})})},u.prototype.append=function(p,_,R,x){var S=this.initData;S||(this.resetInitSegment(p,this.audioCodec,this.videoCodec,!1),S=this.initData);var g,v=this.initPTS;if(v===void 0){var b=u.getStartDTS(S,p);this.initPTS=v=b-_,this.observer.trigger(d.default.INIT_PTS_FOUND,{initPTS:v})}u.offsetStartDTS(S,p,v),g=u.getStartDTS(S,p),this.remuxer.remux(S.audio,S.video,null,null,g,R,x,p)},u.prototype.destroy=function(){},u}();t.default=f},"./src/demux/mpegaudio.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o={BitratesMap:[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],SamplingRateMap:[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],SamplesCoefficients:[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],BytesInSlot:[0,1,1,4],appendFrame:function(d,h,f,u,p){if(!(f+24>h.length)){var _=this.parseHeader(h,f);if(_&&f+_.frameLength<=h.length){var R=_.samplesPerFrame*9e4/_.sampleRate,x=u+p*R,S={unit:h.subarray(f,f+_.frameLength),pts:x,dts:x};return d.config=[],d.channelCount=_.channelCount,d.samplerate=_.sampleRate,d.samples.push(S),d.len+=_.frameLength,{sample:S,length:_.frameLength}}}},parseHeader:function(d,h){var f=d[h+1]>>3&3,u=d[h+1]>>1&3,p=d[h+2]>>4&15,_=d[h+2]>>2&3,R=d[h+2]>>1&1;if(f!==1&&p!==0&&p!==15&&_!==3){var x=f===3?3-u:u===3?3:4,S=o.BitratesMap[x*14+p-1]*1e3,g=f===3?0:f===2?1:2,v=o.SamplingRateMap[g*3+_],b=d[h+3]>>6===3?1:2,T=o.SamplesCoefficients[f][u],y=o.BytesInSlot[u],w=T*8*y,C=parseInt(T*S/v+R,10)*y;return{sampleRate:v,channelCount:b,frameLength:C,samplesPerFrame:w}}},isHeaderPattern:function(d,h){return d[h]===255&&(d[h+1]&224)===224&&(d[h+1]&6)!==0},isHeader:function(d,h){return!!(h+1<d.length&&this.isHeaderPattern(d,h))},probe:function(d,h){if(h+1<d.length&&this.isHeaderPattern(d,h)){var f=4,u=this.parseHeader(d,h),p=f;u&&u.frameLength&&(p=u.frameLength);var _=h+p;if(_===d.length||_+1<d.length&&this.isHeaderPattern(d,_))return!0}return!1}};t.default=o},"./src/demux/sample-aes.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/crypt/decrypter.js"),d=function(){function h(f,u,p,_){this.decryptdata=p,this.discardEPB=_,this.decrypter=new o.default(f,u,{removePKCS7Padding:!1})}return h.prototype.decryptBuffer=function(f,u){this.decrypter.decrypt(f,this.decryptdata.key.buffer,this.decryptdata.iv.buffer,u)},h.prototype.decryptAacSample=function(f,u,p,_){var R=f[u].unit,x=R.subarray(16,R.length-R.length%16),S=x.buffer.slice(x.byteOffset,x.byteOffset+x.length),g=this;this.decryptBuffer(S,function(v){v=new Uint8Array(v),R.set(v,16),_||g.decryptAacSamples(f,u+1,p)})},h.prototype.decryptAacSamples=function(f,u,p){for(;;u++){if(u>=f.length){p();return}if(!(f[u].unit.length<32)){var _=this.decrypter.isSync();if(this.decryptAacSample(f,u,p,_),!_)return}}},h.prototype.getAvcEncryptedData=function(f){for(var u=Math.floor((f.length-48)/160)*16+16,p=new Int8Array(u),_=0,R=32;R<=f.length-16;R+=160,_+=16)p.set(f.subarray(R,R+16),_);return p},h.prototype.getAvcDecryptedUnit=function(f,u){u=new Uint8Array(u);for(var p=0,_=32;_<=f.length-16;_+=160,p+=16)f.set(u.subarray(p,p+16),_);return f},h.prototype.decryptAvcSample=function(f,u,p,_,R,x){var S=this.discardEPB(R.data),g=this.getAvcEncryptedData(S),v=this;this.decryptBuffer(g.buffer,function(b){R.data=v.getAvcDecryptedUnit(S,b),x||v.decryptAvcSamples(f,u,p+1,_)})},h.prototype.decryptAvcSamples=function(f,u,p,_){for(;;u++,p=0){if(u>=f.length){_();return}for(var R=f[u].units;!(p>=R.length);p++){var x=R[p];if(!(x.length<=48||x.type!==1&&x.type!==5)){var S=this.decrypter.isSync();if(this.decryptAvcSample(f,u,p,_,x,S),!S)return}}}},h}();t.default=d},"./src/demux/tsdemuxer.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/demux/adts.js"),d=a("./src/demux/mpegaudio.js"),h=a("./src/events.js"),f=a("./src/demux/exp-golomb.js"),u=a("./src/demux/sample-aes.js"),p=a("./src/utils/logger.js"),_=a("./src/errors.js"),R={video:1,audio:2,id3:3,text:4},x=function(){function S(g,v,b,T){this.observer=g,this.config=b,this.typeSupported=T,this.remuxer=v,this.sampleAes=null}return S.prototype.setDecryptData=function(g){g!=null&&g.key!=null&&g.method==="SAMPLE-AES"?this.sampleAes=new u.default(this.observer,this.config,g,this.discardEPB):this.sampleAes=null},S.probe=function(g){var v=S._syncOffset(g);return v<0?!1:(v&&p.logger.warn("MPEG2-TS detected but first sync word found @ offset "+v+", junk ahead ?"),!0)},S._syncOffset=function(g){for(var v=Math.min(1e3,g.length-564),b=0;b<v;){if(g[b]===71&&g[b+188]===71&&g[b+2*188]===71)return b;b++}return-1},S.createTrack=function(g,v){return{container:g==="video"||g==="audio"?"video/mp2t":void 0,type:g,id:R[g],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],len:0,dropped:g==="video"?0:void 0,isAAC:g==="audio"?!0:void 0,duration:g==="audio"?v:void 0}},S.prototype.resetInitSegment=function(g,v,b,T){this.pmtParsed=!1,this._pmtId=-1,this._avcTrack=S.createTrack("video",T),this._audioTrack=S.createTrack("audio",T),this._id3Track=S.createTrack("id3",T),this._txtTrack=S.createTrack("text",T),this.aacOverFlow=null,this.aacLastPTS=null,this.avcSample=null,this.audioCodec=v,this.videoCodec=b,this._duration=T},S.prototype.resetTimeStamp=function(){},S.prototype.append=function(g,v,b,T){var y,w=g.length,C,D,N,P,k,F=!1;this.contiguous=b;var M=this.pmtParsed,j=this._avcTrack,$=this._audioTrack,B=this._id3Track,X=j.pid,re=$.pid,ae=B.pid,ee=this._pmtId,K=j.pesData,ne=$.pesData,ue=B.pesData,me=this._parsePAT,J=this._parsePMT,H=this._parsePES,W=this._parseAVCPES.bind(this),V=this._parseAACPES.bind(this),z=this._parseMPEGPES.bind(this),Y=this._parseID3PES.bind(this),ie=S._syncOffset(g);for(w-=(w+ie)%188,y=ie;y<w;y+=188)if(g[y]===71){if(C=!!(g[y+1]&64),D=((g[y+1]&31)<<8)+g[y+2],N=(g[y+3]&48)>>4,N>1){if(P=y+5+g[y+4],P===y+188)continue}else P=y+4;switch(D){case X:C&&(K&&(k=H(K))&&k.pts!==void 0&&W(k,!1),K={data:[],size:0}),K&&(K.data.push(g.subarray(P,y+188)),K.size+=y+188-P);break;case re:C&&(ne&&(k=H(ne))&&k.pts!==void 0&&($.isAAC?V(k):z(k)),ne={data:[],size:0}),ne&&(ne.data.push(g.subarray(P,y+188)),ne.size+=y+188-P);break;case ae:C&&(ue&&(k=H(ue))&&k.pts!==void 0&&Y(k),ue={data:[],size:0}),ue&&(ue.data.push(g.subarray(P,y+188)),ue.size+=y+188-P);break;case 0:C&&(P+=g[P]+1),ee=this._pmtId=me(g,P);break;case ee:C&&(P+=g[P]+1);var le=J(g,P,this.typeSupported.mpeg===!0||this.typeSupported.mp3===!0,this.sampleAes!=null);X=le.avc,X>0&&(j.pid=X),re=le.audio,re>0&&($.pid=re,$.isAAC=le.isAAC),ae=le.id3,ae>0&&(B.pid=ae),F&&!M&&(p.logger.log("reparse from beginning"),F=!1,y=ie-188),M=this.pmtParsed=!0;break;case 17:case 8191:break;default:F=!0;break}}else this.observer.trigger(h.default.ERROR,{type:_.ErrorTypes.MEDIA_ERROR,details:_.ErrorDetails.FRAG_PARSING_ERROR,fatal:!1,reason:"TS packet did not start with 0x47"});K&&(k=H(K))&&k.pts!==void 0?(W(k,!0),j.pesData=null):j.pesData=K,ne&&(k=H(ne))&&k.pts!==void 0?($.isAAC?V(k):z(k),$.pesData=null):(ne&&ne.size&&p.logger.log("last AAC PES packet truncated,might overlap between fragments"),$.pesData=ne),ue&&(k=H(ue))&&k.pts!==void 0?(Y(k),B.pesData=null):B.pesData=ue,this.sampleAes==null?this.remuxer.remux($,j,B,this._txtTrack,v,b,T):this.decryptAndRemux($,j,B,this._txtTrack,v,b,T)},S.prototype.decryptAndRemux=function(g,v,b,T,y,w,C){if(g.samples&&g.isAAC){var D=this;this.sampleAes.decryptAacSamples(g.samples,0,function(){D.decryptAndRemuxAvc(g,v,b,T,y,w,C)})}else this.decryptAndRemuxAvc(g,v,b,T,y,w,C)},S.prototype.decryptAndRemuxAvc=function(g,v,b,T,y,w,C){if(v.samples){var D=this;this.sampleAes.decryptAvcSamples(v.samples,0,0,function(){D.remuxer.remux(g,v,b,T,y,w,C)})}else this.remuxer.remux(g,v,b,T,y,w,C)},S.prototype.destroy=function(){this._initPTS=this._initDTS=void 0,this._duration=0},S.prototype._parsePAT=function(g,v){return(g[v+10]&31)<<8|g[v+11]},S.prototype._parsePMT=function(g,v,b,T){var y,w,C,D,N={audio:-1,avc:-1,id3:-1,isAAC:!0};for(y=(g[v+1]&15)<<8|g[v+2],w=v+3+y-4,C=(g[v+10]&15)<<8|g[v+11],v+=12+C;v<w;){switch(D=(g[v+1]&31)<<8|g[v+2],g[v]){case 207:if(!T){p.logger.log("unkown stream type:"+g[v]);break}case 15:N.audio===-1&&(N.audio=D);break;case 21:N.id3===-1&&(N.id3=D);break;case 219:if(!T){p.logger.log("unkown stream type:"+g[v]);break}case 27:N.avc===-1&&(N.avc=D);break;case 3:case 4:b?N.audio===-1&&(N.audio=D,N.isAAC=!1):p.logger.log("MPEG audio found, not supported in this browser for now");break;case 36:p.logger.warn("HEVC stream type found, not supported for now");break;default:p.logger.log("unkown stream type:"+g[v]);break}v+=((g[v+3]&15)<<8|g[v+4])+5}return N},S.prototype._parsePES=function(g){var v=0,b,T,y,w,C,D,N,P,k,F=g.data;if(!g||g.size===0)return null;for(;F[0].length<19&&F.length>1;){var M=new Uint8Array(F[0].length+F[1].length);M.set(F[0]),M.set(F[1],F[0].length),F[0]=M,F.splice(1,1)}if(b=F[0],y=(b[0]<<16)+(b[1]<<8)+b[2],y===1){if(w=(b[4]<<8)+b[5],w&&w>g.size-6)return null;T=b[7],T&192&&(N=(b[9]&14)*536870912+(b[10]&255)*4194304+(b[11]&254)*16384+(b[12]&255)*128+(b[13]&254)/2,N>4294967295&&(N-=8589934592),T&64?(P=(b[14]&14)*536870912+(b[15]&255)*4194304+(b[16]&254)*16384+(b[17]&255)*128+(b[18]&254)/2,P>4294967295&&(P-=8589934592),N-P>60*9e4&&(p.logger.warn(Math.round((N-P)/9e4)+"s delta between PTS and DTS, align them"),N=P)):P=N),C=b[8],k=C+9,g.size-=k,D=new Uint8Array(g.size);for(var j=0,$=F.length;j<$;j++){b=F[j];var B=b.byteLength;if(k)if(k>B){k-=B;continue}else b=b.subarray(k),B-=k,k=0;D.set(b,v),v+=B}return w&&(w-=C+3),{data:D,pts:N,dts:P,len:w}}else return null},S.prototype.pushAccesUnit=function(g,v){if(g.units.length&&g.frame){var b=v.samples,T=b.length;!this.config.forceKeyFrameOnDiscontinuity||g.key===!0||v.sps&&(T||this.contiguous)?(g.id=T,b.push(g)):v.dropped++}g.debug.length&&p.logger.log(g.pts+"/"+g.dts+":"+g.debug)},S.prototype._parseAVCPES=function(g,v){var b=this,T=this._avcTrack,y=this._parseAVCNALu(g.data),w,C=this.avcSample,D,N=!1,P,k=this.pushAccesUnit.bind(this),F=function(M,j,$,B){return{key:M,pts:j,dts:$,units:[],debug:B}};g.data=null,C&&y.length&&!T.audFound&&(k(C,T),C=this.avcSample=F(!1,g.pts,g.dts,"")),y.forEach(function(M){switch(M.type){case 1:D=!0,C||(C=b.avcSample=F(!0,g.pts,g.dts,"")),C.frame=!0;var j=M.data;if(N&&j.length>4){var $=new f.default(j).readSliceType();($===2||$===4||$===7||$===9)&&(C.key=!0)}break;case 5:D=!0,C||(C=b.avcSample=F(!0,g.pts,g.dts,"")),C.key=!0,C.frame=!0;break;case 6:D=!0,w=new f.default(b.discardEPB(M.data)),w.readUByte();for(var B=0,X=0,re=!1,ae=0;!re&&w.bytesAvailable>1;){B=0;do ae=w.readUByte(),B+=ae;while(ae===255);X=0;do ae=w.readUByte(),X+=ae;while(ae===255);if(B===4&&w.bytesAvailable!==0){re=!0;var ee=w.readUByte();if(ee===181){var K=w.readUShort();if(K===49){var ne=w.readUInt();if(ne===1195456820){var ue=w.readUByte();if(ue===3){var me=w.readUByte(),J=w.readUByte(),H=31&me,W=[me,J];for(P=0;P<H;P++)W.push(w.readUByte()),W.push(w.readUByte()),W.push(w.readUByte());b._insertSampleInOrder(b._txtTrack.samples,{type:3,pts:g.pts,bytes:W})}}}}}else if(X<w.bytesAvailable)for(P=0;P<X;P++)w.readUByte()}break;case 7:if(D=!0,N=!0,!T.sps){w=new f.default(M.data);var V=w.readSPS();T.width=V.width,T.height=V.height,T.pixelRatio=V.pixelRatio,T.sps=[M.data],T.duration=b._duration;var z=M.data.subarray(1,4),Y="avc1.";for(P=0;P<3;P++){var ie=z[P].toString(16);ie.length<2&&(ie="0"+ie),Y+=ie}T.codec=Y}break;case 8:D=!0,T.pps||(T.pps=[M.data]);break;case 9:D=!1,T.audFound=!0,C&&k(C,T),C=b.avcSample=F(!1,g.pts,g.dts,"");break;case 12:D=!1;break;default:D=!1,C&&(C.debug+="unknown NAL "+M.type+" ");break}if(C&&D){var le=C.units;le.push(M)}}),v&&C&&(k(C,T),this.avcSample=null)},S.prototype._insertSampleInOrder=function(g,v){var b=g.length;if(b>0){if(v.pts>=g[b-1].pts)g.push(v);else for(var T=b-1;T>=0;T--)if(v.pts<g[T].pts){g.splice(T,0,v);break}}else g.push(v)},S.prototype._getLastNalUnit=function(){var g=this.avcSample,v;if(!g||g.units.length===0){var b=this._avcTrack,T=b.samples;g=T[T.length-1]}if(g){var y=g.units;v=y[y.length-1]}return v},S.prototype._parseAVCNALu=function(g){var v=0,b=g.byteLength,T,y,w=this._avcTrack,C=w.naluState||0,D=C,N=[],P,k,F=-1,M;for(C===-1&&(F=0,M=g[0]&31,C=0,v=1);v<b;){if(T=g[v++],!C){C=T?0:1;continue}if(C===1){C=T?0:2;continue}if(!T)C=3;else if(T===1){if(F>=0)P={data:g.subarray(F,v-C-1),type:M},N.push(P);else{var j=this._getLastNalUnit();if(j&&(D&&v<=4-D&&j.state&&(j.data=j.data.subarray(0,j.data.byteLength-D)),y=v-C-1,y>0)){var $=new Uint8Array(j.data.byteLength+y);$.set(j.data,0),$.set(g.subarray(0,y),j.data.byteLength),j.data=$}}v<b?(k=g[v]&31,F=v,M=k,C=0):C=-1}else C=0}if(F>=0&&C>=0&&(P={data:g.subarray(F,b),type:M,state:C},N.push(P)),N.length===0){var j=this._getLastNalUnit();if(j){var $=new Uint8Array(j.data.byteLength+g.byteLength);$.set(j.data,0),$.set(g,j.data.byteLength),j.data=$}}return w.naluState=C,N},S.prototype.discardEPB=function(g){for(var v=g.byteLength,b=[],T=1,y,w;T<v-2;)g[T]===0&&g[T+1]===0&&g[T+2]===3?(b.push(T+2),T+=2):T++;if(b.length===0)return g;y=v-b.length,w=new Uint8Array(y);var C=0;for(T=0;T<y;C++,T++)C===b[0]&&(C++,b.shift()),w[T]=g[C];return w},S.prototype._parseAACPES=function(g){var v=this._audioTrack,b=g.data,T=g.pts,y=0,w=this.aacOverFlow,C=this.aacLastPTS,D,N,P,k,F;if(w){var M=new Uint8Array(w.byteLength+b.byteLength);M.set(w,0),M.set(b,w.byteLength),b=M}for(P=y,F=b.length;P<F-1&&!o.isHeader(b,P);P++);if(P){var j=void 0,$=void 0;if(P<F-1?(j="AAC PES did not start with ADTS header,offset:"+P,$=!1):(j="no ADTS header found in AAC PES",$=!0),p.logger.warn("parsing error:"+j),this.observer.trigger(h.default.ERROR,{type:_.ErrorTypes.MEDIA_ERROR,details:_.ErrorDetails.FRAG_PARSING_ERROR,fatal:$,reason:j}),$)return}if(o.initTrackConfig(v,this.observer,b,P,this.audioCodec),N=0,D=o.getFrameDuration(v.samplerate),w&&C){var B=C+D;Math.abs(B-T)>1&&(p.logger.log("AAC: align PTS for overlapping frames by "+Math.round((B-T)/90)),T=B)}for(;P<F;)if(o.isHeader(b,P)&&P+5<F){var X=o.appendFrame(v,b,P,T,N);if(X)P+=X.length,k=X.sample.pts,N++;else break}else P++;P<F?w=b.subarray(P,F):w=null,this.aacOverFlow=w,this.aacLastPTS=k},S.prototype._parseMPEGPES=function(g){for(var v=g.data,b=v.length,T=0,y=0,w=g.pts;y<b;)if(d.default.isHeader(v,y)){var C=d.default.appendFrame(this._audioTrack,v,y,w,T);if(C)y+=C.length,T++;else break}else y++},S.prototype._parseID3PES=function(g){this._id3Track.samples.push(g)},S}();t.default=x},"./src/errors.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0}),t.ErrorTypes={NETWORK_ERROR:"networkError",MEDIA_ERROR:"mediaError",KEY_SYSTEM_ERROR:"keySystemError",MUX_ERROR:"muxError",OTHER_ERROR:"otherError"},t.ErrorDetails={KEY_SYSTEM_NO_KEYS:"keySystemNoKeys",KEY_SYSTEM_NO_ACCESS:"keySystemNoAccess",KEY_SYSTEM_NO_SESSION:"keySystemNoSession",KEY_SYSTEM_LICENSE_REQUEST_FAILED:"keySystemLicenseRequestFailed",MANIFEST_LOAD_ERROR:"manifestLoadError",MANIFEST_LOAD_TIMEOUT:"manifestLoadTimeOut",MANIFEST_PARSING_ERROR:"manifestParsingError",MANIFEST_INCOMPATIBLE_CODECS_ERROR:"manifestIncompatibleCodecsError",LEVEL_LOAD_ERROR:"levelLoadError",LEVEL_LOAD_TIMEOUT:"levelLoadTimeOut",LEVEL_SWITCH_ERROR:"levelSwitchError",AUDIO_TRACK_LOAD_ERROR:"audioTrackLoadError",AUDIO_TRACK_LOAD_TIMEOUT:"audioTrackLoadTimeOut",FRAG_LOAD_ERROR:"fragLoadError",FRAG_LOAD_TIMEOUT:"fragLoadTimeOut",FRAG_DECRYPT_ERROR:"fragDecryptError",FRAG_PARSING_ERROR:"fragParsingError",REMUX_ALLOC_ERROR:"remuxAllocError",KEY_LOAD_ERROR:"keyLoadError",KEY_LOAD_TIMEOUT:"keyLoadTimeOut",BUFFER_ADD_CODEC_ERROR:"bufferAddCodecError",BUFFER_APPEND_ERROR:"bufferAppendError",BUFFER_APPENDING_ERROR:"bufferAppendingError",BUFFER_STALLED_ERROR:"bufferStalledError",BUFFER_FULL_ERROR:"bufferFullError",BUFFER_SEEK_OVER_HOLE:"bufferSeekOverHole",BUFFER_NUDGE_ON_STALL:"bufferNudgeOnStall",INTERNAL_EXCEPTION:"internalException"}},"./src/event-handler.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/utils/logger.js"),d=a("./src/errors.js"),h=a("./src/events.js"),f={hlsEventGeneric:!0,hlsHandlerDestroying:!0,hlsHandlerDestroyed:!0},u=function(){function p(_){for(var R=[],x=1;x<arguments.length;x++)R[x-1]=arguments[x];this.hls=_,this.onEvent=this.onEvent.bind(this),this.handledEvents=R,this.useGenericHandler=!0,this.registerListeners()}return p.prototype.destroy=function(){this.onHandlerDestroying(),this.unregisterListeners(),this.onHandlerDestroyed()},p.prototype.onHandlerDestroying=function(){},p.prototype.onHandlerDestroyed=function(){},p.prototype.isEventHandler=function(){return typeof this.handledEvents=="object"&&this.handledEvents.length&&typeof this.onEvent=="function"},p.prototype.registerListeners=function(){this.isEventHandler()&&this.handledEvents.forEach(function(_){if(f[_])throw new Error("Forbidden event-name: "+_);this.hls.on(_,this.onEvent)},this)},p.prototype.unregisterListeners=function(){this.isEventHandler()&&this.handledEvents.forEach(function(_){this.hls.off(_,this.onEvent)},this)},p.prototype.onEvent=function(_,R){this.onEventGeneric(_,R)},p.prototype.onEventGeneric=function(_,R){var x=function(S,g){var v="on"+S.replace("hls","");if(typeof this[v]!="function")throw new Error("Event "+S+" has no generic handler in this "+this.constructor.name+" class (tried "+v+")");return this[v].bind(this,g)};try{x.call(this,_,R).call()}catch(S){o.logger.error("An internal error happened while handling event "+_+'. Error message: "'+S.message+'". Here is a stacktrace:',S),this.hls.trigger(h.default.ERROR,{type:d.ErrorTypes.OTHER_ERROR,details:d.ErrorDetails.INTERNAL_EXCEPTION,fatal:!1,event:_,err:S})}},p}();t.default=u},"./src/events.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o={MEDIA_ATTACHING:"hlsMediaAttaching",MEDIA_ATTACHED:"hlsMediaAttached",MEDIA_DETACHING:"hlsMediaDetaching",MEDIA_DETACHED:"hlsMediaDetached",BUFFER_RESET:"hlsBufferReset",BUFFER_CODECS:"hlsBufferCodecs",BUFFER_CREATED:"hlsBufferCreated",BUFFER_APPENDING:"hlsBufferAppending",BUFFER_APPENDED:"hlsBufferAppended",BUFFER_EOS:"hlsBufferEos",BUFFER_FLUSHING:"hlsBufferFlushing",BUFFER_FLUSHED:"hlsBufferFlushed",MANIFEST_LOADING:"hlsManifestLoading",MANIFEST_LOADED:"hlsManifestLoaded",MANIFEST_PARSED:"hlsManifestParsed",LEVEL_SWITCHING:"hlsLevelSwitching",LEVEL_SWITCHED:"hlsLevelSwitched",LEVEL_LOADING:"hlsLevelLoading",LEVEL_LOADED:"hlsLevelLoaded",LEVEL_UPDATED:"hlsLevelUpdated",LEVEL_PTS_UPDATED:"hlsLevelPtsUpdated",AUDIO_TRACKS_UPDATED:"hlsAudioTracksUpdated",AUDIO_TRACK_SWITCHING:"hlsAudioTrackSwitching",AUDIO_TRACK_SWITCHED:"hlsAudioTrackSwitched",AUDIO_TRACK_LOADING:"hlsAudioTrackLoading",AUDIO_TRACK_LOADED:"hlsAudioTrackLoaded",SUBTITLE_TRACKS_UPDATED:"hlsSubtitleTracksUpdated",SUBTITLE_TRACK_SWITCH:"hlsSubtitleTrackSwitch",SUBTITLE_TRACK_LOADING:"hlsSubtitleTrackLoading",SUBTITLE_TRACK_LOADED:"hlsSubtitleTrackLoaded",SUBTITLE_FRAG_PROCESSED:"hlsSubtitleFragProcessed",INIT_PTS_FOUND:"hlsInitPtsFound",FRAG_LOADING:"hlsFragLoading",FRAG_LOAD_PROGRESS:"hlsFragLoadProgress",FRAG_LOAD_EMERGENCY_ABORTED:"hlsFragLoadEmergencyAborted",FRAG_LOADED:"hlsFragLoaded",FRAG_DECRYPTED:"hlsFragDecrypted",FRAG_PARSING_INIT_SEGMENT:"hlsFragParsingInitSegment",FRAG_PARSING_USERDATA:"hlsFragParsingUserdata",FRAG_PARSING_METADATA:"hlsFragParsingMetadata",FRAG_PARSING_DATA:"hlsFragParsingData",FRAG_PARSED:"hlsFragParsed",FRAG_BUFFERED:"hlsFragBuffered",FRAG_CHANGED:"hlsFragChanged",FPS_DROP:"hlsFpsDrop",FPS_DROP_LEVEL_CAPPING:"hlsFpsDropLevelCapping",ERROR:"hlsError",DESTROYING:"hlsDestroying",KEY_LOADING:"hlsKeyLoading",KEY_LOADED:"hlsKeyLoaded",STREAM_STATE_TRANSITION:"hlsStreamStateTransition"};t.default=o},"./src/hls.js":function(n,t,a){var o=this&&this.__extends||function(){var C=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(D,N){D.__proto__=N}||function(D,N){for(var P in N)N.hasOwnProperty(P)&&(D[P]=N[P])};return function(D,N){C(D,N);function P(){this.constructor=D}D.prototype=N===null?Object.create(N):(P.prototype=N.prototype,new P)}}();Object.defineProperty(t,"__esModule",{value:!0});var d=a("./node_modules/url-toolkit/src/url-toolkit.js"),h=a("./src/errors.js"),f=a("./src/loader/playlist-loader.js"),u=a("./src/loader/fragment-loader.js"),p=a("./src/loader/key-loader.js"),_=a("./src/controller/fragment-tracker.js"),R=a("./src/controller/stream-controller.js"),x=a("./src/controller/level-controller.js"),S=a("./src/controller/id3-track-controller.js"),g=a("./src/is-supported.js"),v=a("./src/utils/logger.js"),b=a("./src/config.js"),T=a("./src/events.js"),y=a("./src/observer.js"),w=function(C){o(D,C);function D(N){N===void 0&&(N={});var P=C.call(this)||this,k=D.DefaultConfig;if((N.liveSyncDurationCount||N.liveMaxLatencyDurationCount)&&(N.liveSyncDuration||N.liveMaxLatencyDuration))throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");for(var F in k)F in N||(N[F]=k[F]);if(N.liveMaxLatencyDurationCount!==void 0&&N.liveMaxLatencyDurationCount<=N.liveSyncDurationCount)throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be gt "liveSyncDurationCount"');if(N.liveMaxLatencyDuration!==void 0&&(N.liveMaxLatencyDuration<=N.liveSyncDuration||N.liveSyncDuration===void 0))throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be gt "liveSyncDuration"');v.enableLogs(N.debug),P.config=N,P._autoLevelCapping=-1;var M=P.abrController=new N.abrController(P),j=new N.bufferController(P),$=new N.capLevelController(P),B=new N.fpsController(P),X=new f.default(P),re=new u.default(P),ae=new p.default(P),ee=new S.default(P),K=P.levelController=new x.default(P),ne=new _.FragmentTracker(P),ue=P.streamController=new R.default(P,ne),me=[K,ue],J=N.audioStreamController;J&&me.push(new J(P,ne)),P.networkControllers=me;var H=[X,re,ae,M,j,$,B,ee,ne];if(J=N.audioTrackController,J){var W=new J(P);P.audioTrackController=W,H.push(W)}if(J=N.subtitleTrackController,J){var V=new J(P);P.subtitleTrackController=V,me.push(V)}if(J=N.emeController,J){var z=new J(P);P.emeController=z,H.push(z)}return J=N.subtitleStreamController,J&&me.push(new J(P,ne)),J=N.timelineController,J&&H.push(new J(P)),P.coreComponents=H,P}return Object.defineProperty(D,"version",{get:function(){return"0.12.4"},enumerable:!0,configurable:!0}),D.isSupported=function(){return g.isSupported()},Object.defineProperty(D,"Events",{get:function(){return T.default},enumerable:!0,configurable:!0}),Object.defineProperty(D,"ErrorTypes",{get:function(){return h.ErrorTypes},enumerable:!0,configurable:!0}),Object.defineProperty(D,"ErrorDetails",{get:function(){return h.ErrorDetails},enumerable:!0,configurable:!0}),Object.defineProperty(D,"DefaultConfig",{get:function(){return D.defaultConfig?D.defaultConfig:b.hlsDefaultConfig},set:function(N){D.defaultConfig=N},enumerable:!0,configurable:!0}),D.prototype.destroy=function(){v.logger.log("destroy"),this.trigger(T.default.DESTROYING),this.detachMedia(),this.coreComponents.concat(this.networkControllers).forEach(function(N){N.destroy()}),this.url=null,this.removeAllListeners(),this._autoLevelCapping=-1},D.prototype.attachMedia=function(N){v.logger.log("attachMedia"),this.media=N,this.trigger(T.default.MEDIA_ATTACHING,{media:N})},D.prototype.detachMedia=function(){v.logger.log("detachMedia"),this.trigger(T.default.MEDIA_DETACHING),this.media=null},D.prototype.loadSource=function(N){N=d.buildAbsoluteURL(window.location.href,N,{alwaysNormalize:!0}),v.logger.log("loadSource:"+N),this.url=N,this.trigger(T.default.MANIFEST_LOADING,{url:N})},D.prototype.startLoad=function(N){N===void 0&&(N=-1),v.logger.log("startLoad("+N+")"),this.networkControllers.forEach(function(P){P.startLoad(N)})},D.prototype.stopLoad=function(){v.logger.log("stopLoad"),this.networkControllers.forEach(function(N){N.stopLoad()})},D.prototype.swapAudioCodec=function(){v.logger.log("swapAudioCodec"),this.streamController.swapAudioCodec()},D.prototype.recoverMediaError=function(){v.logger.log("recoverMediaError");var N=this.media;this.detachMedia(),this.attachMedia(N)},Object.defineProperty(D.prototype,"levels",{get:function(){return this.levelController.levels},enumerable:!0,configurable:!0}),Object.defineProperty(D.prototype,"currentLevel",{get:function(){return this.streamController.currentLevel},set:function(N){v.logger.log("set currentLevel:"+N),this.loadLevel=N,this.streamController.immediateLevelSwitch()},enumerable:!0,configurable:!0}),Object.defineProperty(D.prototype,"nextLevel",{get:function(){return this.streamController.nextLevel},set:function(N){v.logger.log("set nextLevel:"+N),this.levelController.manualLevel=N,this.streamController.nextLevelSwitch()},enumerable:!0,configurable:!0}),Object.defineProperty(D.prototype,"loadLevel",{get:function(){return this.levelController.level},set:function(N){v.logger.log("set loadLevel:"+N),this.levelController.manualLevel=N},enumerable:!0,configurable:!0}),Object.defineProperty(D.prototype,"nextLoadLevel",{get:function(){return this.levelController.nextLoadLevel},set:function(N){this.levelController.nextLoadLevel=N},enumerable:!0,configurable:!0}),Object.defineProperty(D.prototype,"firstLevel",{get:function(){return Math.max(this.levelController.firstLevel,this.minAutoLevel)},set:function(N){v.logger.log("set firstLevel:"+N),this.levelController.firstLevel=N},enumerable:!0,configurable:!0}),Object.defineProperty(D.prototype,"startLevel",{get:function(){return this.levelController.startLevel},set:function(N){v.logger.log("set startLevel:"+N);var P=this;N!==-1&&(N=Math.max(N,P.minAutoLevel)),P.levelController.startLevel=N},enumerable:!0,configurable:!0}),Object.defineProperty(D.prototype,"autoLevelCapping",{get:function(){return this._autoLevelCapping},set:function(N){v.logger.log("set autoLevelCapping:"+N),this._autoLevelCapping=N},enumerable:!0,configurable:!0}),Object.defineProperty(D.prototype,"autoLevelEnabled",{get:function(){return this.levelController.manualLevel===-1},enumerable:!0,configurable:!0}),Object.defineProperty(D.prototype,"manualLevel",{get:function(){return this.levelController.manualLevel},enumerable:!0,configurable:!0}),Object.defineProperty(D.prototype,"minAutoLevel",{get:function(){for(var N=this,P=N.levels,k=N.config.minAutoBitrate,F=P?P.length:0,M=0;M<F;M++){var j=P[M].realBitrate?Math.max(P[M].realBitrate,P[M].bitrate):P[M].bitrate;if(j>k)return M}return 0},enumerable:!0,configurable:!0}),Object.defineProperty(D.prototype,"maxAutoLevel",{get:function(){var N=this,P=N.levels,k=N.autoLevelCapping,F;return k===-1&&P&&P.length?F=P.length-1:F=k,F},enumerable:!0,configurable:!0}),Object.defineProperty(D.prototype,"nextAutoLevel",{get:function(){var N=this;return Math.min(Math.max(N.abrController.nextAutoLevel,N.minAutoLevel),N.maxAutoLevel)},set:function(N){var P=this;P.abrController.nextAutoLevel=Math.max(P.minAutoLevel,N)},enumerable:!0,configurable:!0}),Object.defineProperty(D.prototype,"audioTracks",{get:function(){var N=this.audioTrackController;return N?N.audioTracks:[]},enumerable:!0,configurable:!0}),Object.defineProperty(D.prototype,"audioTrack",{get:function(){var N=this.audioTrackController;return N?N.audioTrack:-1},set:function(N){var P=this.audioTrackController;P&&(P.audioTrack=N)},enumerable:!0,configurable:!0}),Object.defineProperty(D.prototype,"liveSyncPosition",{get:function(){return this.streamController.liveSyncPosition},enumerable:!0,configurable:!0}),Object.defineProperty(D.prototype,"subtitleTracks",{get:function(){var N=this.subtitleTrackController;return N?N.subtitleTracks:[]},enumerable:!0,configurable:!0}),Object.defineProperty(D.prototype,"subtitleTrack",{get:function(){var N=this.subtitleTrackController;return N?N.subtitleTrack:-1},set:function(N){var P=this.subtitleTrackController;P&&(P.subtitleTrack=N)},enumerable:!0,configurable:!0}),Object.defineProperty(D.prototype,"subtitleDisplay",{get:function(){var N=this.subtitleTrackController;return N?N.subtitleDisplay:!1},set:function(N){var P=this.subtitleTrackController;P&&(P.subtitleDisplay=N)},enumerable:!0,configurable:!0}),D}(y.Observer);t.default=w},"./src/is-supported.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/utils/mediasource-helper.js");function d(){var h=o.getMediaSource(),f=window.SourceBuffer||window.WebKitSourceBuffer,u=h&&typeof h.isTypeSupported=="function"&&h.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"'),p=!f||f.prototype&&typeof f.prototype.appendBuffer=="function"&&typeof f.prototype.remove=="function";return!!u&&!!p}t.isSupported=d},"./src/loader/fragment-loader.js":function(n,t,a){(function(o){var d=this&&this.__extends||function(){var R=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(x,S){x.__proto__=S}||function(x,S){for(var g in S)S.hasOwnProperty(g)&&(x[g]=S[g])};return function(x,S){R(x,S);function g(){this.constructor=x}x.prototype=S===null?Object.create(S):(g.prototype=S.prototype,new g)}}();Object.defineProperty(t,"__esModule",{value:!0});var h=a("./src/events.js"),f=a("./src/event-handler.js"),u=a("./src/errors.js"),p=a("./src/utils/logger.js"),_=function(R){d(x,R);function x(S){var g=R.call(this,S,h.default.FRAG_LOADING)||this;return g.loaders={},g}return x.prototype.destroy=function(){var S=this.loaders;for(var g in S){var v=S[g];v&&v.destroy()}this.loaders={},R.prototype.destroy.call(this)},x.prototype.onFragLoading=function(S){var g=S.frag,v=g.type,b=this.loaders,T=this.hls.config,y=T.fLoader,w=T.loader;g.loaded=0;var C=b[v];C&&(p.logger.warn("abort previous fragment loader for type: "+v),C.abort()),C=b[v]=g.loader=T.fLoader?new y(T):new w(T);var D,N,P;D={url:g.url,frag:g,responseType:"arraybuffer",progressData:!1};var k=g.byteRangeStartOffset,F=g.byteRangeEndOffset;o.isFinite(k)&&o.isFinite(F)&&(D.rangeStart=k,D.rangeEnd=F),N={timeout:T.fragLoadingTimeOut,maxRetry:0,retryDelay:0,maxRetryDelay:T.fragLoadingMaxRetryTimeout},P={onSuccess:this.loadsuccess.bind(this),onError:this.loaderror.bind(this),onTimeout:this.loadtimeout.bind(this),onProgress:this.loadprogress.bind(this)},C.load(D,N,P)},x.prototype.loadsuccess=function(S,g,v,b){b===void 0&&(b=null);var T=S.data,y=v.frag;y.loader=void 0,this.loaders[y.type]=void 0,this.hls.trigger(h.default.FRAG_LOADED,{payload:T,frag:y,stats:g,networkDetails:b})},x.prototype.loaderror=function(S,g,v){v===void 0&&(v=null);var b=g.frag,T=b.loader;T&&T.abort(),this.loaders[b.type]=void 0,this.hls.trigger(h.default.ERROR,{type:u.ErrorTypes.NETWORK_ERROR,details:u.ErrorDetails.FRAG_LOAD_ERROR,fatal:!1,frag:g.frag,response:S,networkDetails:v})},x.prototype.loadtimeout=function(S,g,v){v===void 0&&(v=null);var b=g.frag,T=b.loader;T&&T.abort(),this.loaders[b.type]=void 0,this.hls.trigger(h.default.ERROR,{type:u.ErrorTypes.NETWORK_ERROR,details:u.ErrorDetails.FRAG_LOAD_TIMEOUT,fatal:!1,frag:g.frag,networkDetails:v})},x.prototype.loadprogress=function(S,g,v,b){b===void 0&&(b=null);var T=g.frag;T.loaded=S.loaded,this.hls.trigger(h.default.FRAG_LOAD_PROGRESS,{frag:T,stats:S,networkDetails:b})},x}(f.default);t.default=_}).call(this,a("./src/polyfills/number.js").Number)},"./src/loader/fragment.js":function(n,t,a){(function(o){Object.defineProperty(t,"__esModule",{value:!0});var d=a("./node_modules/url-toolkit/src/url-toolkit.js"),h=a("./src/loader/level-key.js"),f=function(){function u(){var p;this._url=null,this._byteRange=null,this._decryptdata=null,this.tagList=[],this.programDateTime=null,this.rawProgramDateTime=null,this._elementaryStreams=(p={},p[u.ElementaryStreamTypes.AUDIO]=!1,p[u.ElementaryStreamTypes.VIDEO]=!1,p)}return Object.defineProperty(u,"ElementaryStreamTypes",{get:function(){return{AUDIO:"audio",VIDEO:"video"}},enumerable:!0,configurable:!0}),Object.defineProperty(u.prototype,"url",{get:function(){return!this._url&&this.relurl&&(this._url=d.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url},set:function(p){this._url=p},enumerable:!0,configurable:!0}),Object.defineProperty(u.prototype,"byteRange",{get:function(){if(!this._byteRange&&!this.rawByteRange)return[];if(this._byteRange)return this._byteRange;var p=[];if(this.rawByteRange){var _=this.rawByteRange.split("@",2);if(_.length===1){var R=this.lastByteRangeEndOffset;p[0]=R||0}else p[0]=parseInt(_[1]);p[1]=parseInt(_[0])+p[0],this._byteRange=p}return p},enumerable:!0,configurable:!0}),Object.defineProperty(u.prototype,"byteRangeStartOffset",{get:function(){return this.byteRange[0]},enumerable:!0,configurable:!0}),Object.defineProperty(u.prototype,"byteRangeEndOffset",{get:function(){return this.byteRange[1]},enumerable:!0,configurable:!0}),Object.defineProperty(u.prototype,"decryptdata",{get:function(){return this._decryptdata||(this._decryptdata=this.fragmentDecryptdataFromLevelkey(this.levelkey,this.sn)),this._decryptdata},enumerable:!0,configurable:!0}),Object.defineProperty(u.prototype,"endProgramDateTime",{get:function(){if(!o.isFinite(this.programDateTime))return null;var p=o.isFinite(this.duration)?this.duration:0;return this.programDateTime+p*1e3},enumerable:!0,configurable:!0}),Object.defineProperty(u.prototype,"encrypted",{get:function(){return!!(this.decryptdata&&this.decryptdata.uri!==null&&this.decryptdata.key===null)},enumerable:!0,configurable:!0}),u.prototype.addElementaryStream=function(p){this._elementaryStreams[p]=!0},u.prototype.hasElementaryStream=function(p){return this._elementaryStreams[p]===!0},u.prototype.createInitializationVector=function(p){for(var _=new Uint8Array(16),R=12;R<16;R++)_[R]=p>>8*(15-R)&255;return _},u.prototype.fragmentDecryptdataFromLevelkey=function(p,_){var R=p;return p&&p.method&&p.uri&&!p.iv&&(R=new h.default,R.method=p.method,R.baseuri=p.baseuri,R.reluri=p.reluri,R.iv=this.createInitializationVector(_)),R},u}();t.default=f}).call(this,a("./src/polyfills/number.js").Number)},"./src/loader/key-loader.js":function(n,t,a){var o=this&&this.__extends||function(){var _=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(R,x){R.__proto__=x}||function(R,x){for(var S in x)x.hasOwnProperty(S)&&(R[S]=x[S])};return function(R,x){_(R,x);function S(){this.constructor=R}R.prototype=x===null?Object.create(x):(S.prototype=x.prototype,new S)}}();Object.defineProperty(t,"__esModule",{value:!0});var d=a("./src/events.js"),h=a("./src/event-handler.js"),f=a("./src/errors.js"),u=a("./src/utils/logger.js"),p=function(_){o(R,_);function R(x){var S=_.call(this,x,d.default.KEY_LOADING)||this;return S.loaders={},S.decryptkey=null,S.decrypturl=null,S}return R.prototype.destroy=function(){for(var x in this.loaders){var S=this.loaders[x];S&&S.destroy()}this.loaders={},h.default.prototype.destroy.call(this)},R.prototype.onKeyLoading=function(x){var S=x.frag,g=S.type,v=this.loaders[g],b=S.decryptdata,T=b.uri;if(T!==this.decrypturl||this.decryptkey===null){var y=this.hls.config;v&&(u.logger.warn("abort previous key loader for type:"+g),v.abort()),S.loader=this.loaders[g]=new y.loader(y),this.decrypturl=T,this.decryptkey=null;var w=void 0,C=void 0,D=void 0;w={url:T,frag:S,responseType:"arraybuffer"},C={timeout:y.fragLoadingTimeOut,maxRetry:0,retryDelay:y.fragLoadingRetryDelay,maxRetryDelay:y.fragLoadingMaxRetryTimeout},D={onSuccess:this.loadsuccess.bind(this),onError:this.loaderror.bind(this),onTimeout:this.loadtimeout.bind(this)},S.loader.load(w,C,D)}else this.decryptkey&&(b.key=this.decryptkey,this.hls.trigger(d.default.KEY_LOADED,{frag:S}))},R.prototype.loadsuccess=function(x,S,g){var v=g.frag;this.decryptkey=v.decryptdata.key=new Uint8Array(x.data),v.loader=void 0,this.loaders[v.type]=void 0,this.hls.trigger(d.default.KEY_LOADED,{frag:v})},R.prototype.loaderror=function(x,S){var g=S.frag,v=g.loader;v&&v.abort(),this.loaders[S.type]=void 0,this.hls.trigger(d.default.ERROR,{type:f.ErrorTypes.NETWORK_ERROR,details:f.ErrorDetails.KEY_LOAD_ERROR,fatal:!1,frag:g,response:x})},R.prototype.loadtimeout=function(x,S){var g=S.frag,v=g.loader;v&&v.abort(),this.loaders[S.type]=void 0,this.hls.trigger(d.default.ERROR,{type:f.ErrorTypes.NETWORK_ERROR,details:f.ErrorDetails.KEY_LOAD_TIMEOUT,fatal:!1,frag:g})},R}(h.default);t.default=p},"./src/loader/level-key.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./node_modules/url-toolkit/src/url-toolkit.js"),d=function(){function h(){this.method=null,this.key=null,this.iv=null,this._uri=null}return Object.defineProperty(h.prototype,"uri",{get:function(){return!this._uri&&this.reluri&&(this._uri=o.buildAbsoluteURL(this.baseuri,this.reluri,{alwaysNormalize:!0})),this._uri},enumerable:!0,configurable:!0}),h}();t.default=d},"./src/loader/level.js":function(n,t,a){(function(o){Object.defineProperty(t,"__esModule",{value:!0});var d=function(){function h(f){this.endCC=0,this.endSN=0,this.fragments=[],this.initSegment=null,this.live=!0,this.needSidxRanges=!1,this.startCC=0,this.startSN=0,this.startTimeOffset=null,this.targetduration=0,this.totalduration=0,this.type=null,this.url=f,this.version=null}return Object.defineProperty(h.prototype,"hasProgramDateTime",{get:function(){return!!(this.fragments[0]&&o.isFinite(this.fragments[0].programDateTime))},enumerable:!0,configurable:!0}),h}();t.default=d}).call(this,a("./src/polyfills/number.js").Number)},"./src/loader/m3u8-parser.js":function(n,t,a){(function(o){Object.defineProperty(t,"__esModule",{value:!0});var d=a("./node_modules/url-toolkit/src/url-toolkit.js"),h=a("./src/loader/fragment.js"),f=a("./src/loader/level.js"),u=a("./src/loader/level-key.js"),p=a("./src/utils/attr-list.js"),_=a("./src/utils/logger.js"),R=a("./src/utils/codecs.js"),x=/#EXT-X-STREAM-INF:([^\n\r]*)[\r\n]+([^\r\n]+)/g,S=/#EXT-X-MEDIA:(.*)/g,g=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/|(?!#)([\S+ ?]+)/.source,/|#EXT-X-BYTERANGE:*(.+)/.source,/|#EXT-X-PROGRAM-DATE-TIME:(.+)/.source,/|#.*/.source].join(""),"g"),v=/(?:(?:#(EXTM3U))|(?:#EXT-X-(PLAYLIST-TYPE):(.+))|(?:#EXT-X-(MEDIA-SEQUENCE): *(\d+))|(?:#EXT-X-(TARGETDURATION): *(\d+))|(?:#EXT-X-(KEY):(.+))|(?:#EXT-X-(START):(.+))|(?:#EXT-X-(ENDLIST))|(?:#EXT-X-(DISCONTINUITY-SEQ)UENCE:(\d+))|(?:#EXT-X-(DIS)CONTINUITY))|(?:#EXT-X-(VERSION):(\d+))|(?:#EXT-X-(MAP):(.+))|(?:(#)([^:]*):(.*))|(?:(#)(.*))(?:.*)\r?\n?/,b=/\.(mp4|m4s|m4v|m4a)$/i,T=function(){function C(){}return C.findGroup=function(D,N){if(!D)return null;for(var P=null,k=0;k<D.length;k++){var F=D[k];F.id===N&&(P=F)}return P},C.convertAVC1ToAVCOTI=function(D){var N,P=D.split(".");return P.length>2?(N=P.shift()+".",N+=parseInt(P.shift()).toString(16),N+=("000"+parseInt(P.shift()).toString(16)).substr(-4)):N=D,N},C.resolve=function(D,N){return d.buildAbsoluteURL(N,D,{alwaysNormalize:!0})},C.parseMasterPlaylist=function(D,N){var P=[],k;x.lastIndex=0;function F(B,X){["video","audio"].forEach(function(re){var ae=B.filter(function(K){return R.isCodecType(K,re)});if(ae.length){var ee=ae.filter(function(K){return K.lastIndexOf("avc1",0)===0||K.lastIndexOf("mp4a",0)===0});X[re+"Codec"]=ee.length>0?ee[0]:ae[0],B=B.filter(function(K){return ae.indexOf(K)===-1})}}),X.unknownCodecs=B}for(;(k=x.exec(D))!=null;){var M={},j=M.attrs=new p.default(k[1]);M.url=C.resolve(k[2],N);var $=j.decimalResolution("RESOLUTION");$&&(M.width=$.width,M.height=$.height),M.bitrate=j.decimalInteger("AVERAGE-BANDWIDTH")||j.decimalInteger("BANDWIDTH"),M.name=j.NAME,F([].concat((j.CODECS||"").split(/[ ,]+/)),M),M.videoCodec&&M.videoCodec.indexOf("avc1")!==-1&&(M.videoCodec=C.convertAVC1ToAVCOTI(M.videoCodec)),P.push(M)}return P},C.parseMasterPlaylistMedia=function(D,N,P,k){k===void 0&&(k=[]);var F,M=[],j=0;for(S.lastIndex=0;(F=S.exec(D))!==null;){var $={},B=new p.default(F[1]);if(B.TYPE===P){if($.groupId=B["GROUP-ID"],$.name=B.NAME,$.type=P,$.default=B.DEFAULT==="YES",$.autoselect=B.AUTOSELECT==="YES",$.forced=B.FORCED==="YES",B.URI&&($.url=C.resolve(B.URI,N)),$.lang=B.LANGUAGE,$.name||($.name=$.lang),k.length){var X=C.findGroup(k,$.groupId);$.audioCodec=X?X.codec:k[0].codec}$.id=j++,M.push($)}}return M},C.parseLevelPlaylist=function(D,N,P,k,F){var M=0,j=0,$=new f.default(N),B=new u.default,X=0,re=null,ae=new h.default,ee,K,ne=null;for(g.lastIndex=0;(ee=g.exec(D))!==null;){var ue=ee[1];if(ue){ae.duration=parseFloat(ue);var me=(" "+ee[2]).slice(1);ae.title=me||null,ae.tagList.push(me?["INF",ue,me]:["INF",ue])}else if(ee[3]){if(o.isFinite(ae.duration)){var J=M++;ae.type=k,ae.start=j,ae.levelkey=B,ae.sn=J,ae.level=P,ae.cc=X,ae.urlId=F,ae.baseurl=N,ae.relurl=(" "+ee[3]).slice(1),w(ae,re),$.fragments.push(ae),re=ae,j+=ae.duration,ae=new h.default}}else if(ee[4]){if(ae.rawByteRange=(" "+ee[4]).slice(1),re){var H=re.byteRangeEndOffset;H&&(ae.lastByteRangeEndOffset=H)}}else if(ee[5])ae.rawProgramDateTime=(" "+ee[5]).slice(1),ae.tagList.push(["PROGRAM-DATE-TIME",ae.rawProgramDateTime]),ne===null&&(ne=$.fragments.length);else{for(ee=ee[0].match(v),K=1;K<ee.length&&ee[K]===void 0;K++);var W=(" "+ee[K+1]).slice(1),V=(" "+ee[K+2]).slice(1);switch(ee[K]){case"#":ae.tagList.push(V?[W,V]:[W]);break;case"PLAYLIST-TYPE":$.type=W.toUpperCase();break;case"MEDIA-SEQUENCE":M=$.startSN=parseInt(W);break;case"TARGETDURATION":$.targetduration=parseFloat(W);break;case"VERSION":$.version=parseInt(W);break;case"EXTM3U":break;case"ENDLIST":$.live=!1;break;case"DIS":X++,ae.tagList.push(["DIS"]);break;case"DISCONTINUITY-SEQ":X=parseInt(W);break;case"KEY":var z=W,Y=new p.default(z),ie=Y.enumeratedString("METHOD"),le=Y.URI,fe=Y.hexadecimalInteger("IV");ie&&(B=new u.default,le&&["AES-128","SAMPLE-AES","SAMPLE-AES-CENC"].indexOf(ie)>=0&&(B.method=ie,B.baseuri=N,B.reluri=le,B.key=null,B.iv=fe));break;case"START":var ce=W,ge=new p.default(ce),Se=ge.decimalFloatingPoint("TIME-OFFSET");o.isFinite(Se)&&($.startTimeOffset=Se);break;case"MAP":var Te=new p.default(W);ae.relurl=Te.URI,ae.rawByteRange=Te.BYTERANGE,ae.baseurl=N,ae.level=P,ae.type=k,ae.sn="initSegment",$.initSegment=ae,ae=new h.default,ae.rawProgramDateTime=$.initSegment.rawProgramDateTime;break;default:_.logger.warn("line parsed but not handled: "+ee);break}}}return ae=re,ae&&!ae.relurl&&($.fragments.pop(),j-=ae.duration),$.totalduration=j,$.averagetargetduration=j/$.fragments.length,$.endSN=M-1,$.startCC=$.fragments[0]?$.fragments[0].cc:0,$.endCC=X,!$.initSegment&&$.fragments.length&&$.fragments.every(function(Fe){return b.test(Fe.relurl)})&&(_.logger.warn("MP4 fragments found but no init segment (probably no MAP, incomplete M3U8), trying to fetch SIDX"),ae=new h.default,ae.relurl=$.fragments[0].relurl,ae.baseurl=N,ae.level=P,ae.type=k,ae.sn="initSegment",$.initSegment=ae,$.needSidxRanges=!0),ne&&y($.fragments,ne),$},C}();t.default=T;function y(C,D){for(var N=C[D],P=D-1;P>=0;P--){var k=C[P];k.programDateTime=N.programDateTime-k.duration*1e3,N=k}}function w(C,D){C.rawProgramDateTime?C.programDateTime=Date.parse(C.rawProgramDateTime):D&&D.programDateTime&&(C.programDateTime=D.endProgramDateTime),o.isFinite(C.programDateTime)||(C.programDateTime=null,C.rawProgramDateTime=null)}}).call(this,a("./src/polyfills/number.js").Number)},"./src/loader/playlist-loader.js":function(n,t,a){(function(o){var d=this&&this.__extends||function(){var b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(T,y){T.__proto__=y}||function(T,y){for(var w in y)y.hasOwnProperty(w)&&(T[w]=y[w])};return function(T,y){b(T,y);function w(){this.constructor=T}T.prototype=y===null?Object.create(y):(w.prototype=y.prototype,new w)}}();Object.defineProperty(t,"__esModule",{value:!0});var h=a("./src/events.js"),f=a("./src/event-handler.js"),u=a("./src/errors.js"),p=a("./src/utils/logger.js"),_=a("./src/demux/mp4demuxer.js"),R=a("./src/loader/m3u8-parser.js"),x=window.performance,S={MANIFEST:"manifest",LEVEL:"level",AUDIO_TRACK:"audioTrack",SUBTITLE_TRACK:"subtitleTrack"},g={MAIN:"main",AUDIO:"audio",SUBTITLE:"subtitle"},v=function(b){d(T,b);function T(y){var w=b.call(this,y,h.default.MANIFEST_LOADING,h.default.LEVEL_LOADING,h.default.AUDIO_TRACK_LOADING,h.default.SUBTITLE_TRACK_LOADING)||this;return w.loaders={},w}return Object.defineProperty(T,"ContextType",{get:function(){return S},enumerable:!0,configurable:!0}),Object.defineProperty(T,"LevelType",{get:function(){return g},enumerable:!0,configurable:!0}),T.canHaveQualityLevels=function(y){return y!==S.AUDIO_TRACK&&y!==S.SUBTITLE_TRACK},T.mapContextToLevelType=function(y){var w=y.type;switch(w){case S.AUDIO_TRACK:return g.AUDIO;case S.SUBTITLE_TRACK:return g.SUBTITLE;default:return g.MAIN}},T.getResponseUrl=function(y,w){var C=y.url;return(C===void 0||C.indexOf("data:")===0)&&(C=w.url),C},T.prototype.createInternalLoader=function(y){var w=this.hls.config,C=w.pLoader,D=w.loader,N=C||D,P=new N(w);return y.loader=P,this.loaders[y.type]=P,P},T.prototype.getInternalLoader=function(y){return this.loaders[y.type]},T.prototype.resetInternalLoader=function(y){this.loaders[y]&&delete this.loaders[y]},T.prototype.destroyInternalLoaders=function(){for(var y in this.loaders){var w=this.loaders[y];w&&w.destroy(),this.resetInternalLoader(y)}},T.prototype.destroy=function(){this.destroyInternalLoaders(),b.prototype.destroy.call(this)},T.prototype.onManifestLoading=function(y){this.load(y.url,{type:S.MANIFEST,level:0,id:null})},T.prototype.onLevelLoading=function(y){this.load(y.url,{type:S.LEVEL,level:y.level,id:y.id})},T.prototype.onAudioTrackLoading=function(y){this.load(y.url,{type:S.AUDIO_TRACK,level:null,id:y.id})},T.prototype.onSubtitleTrackLoading=function(y){this.load(y.url,{type:S.SUBTITLE_TRACK,level:null,id:y.id})},T.prototype.load=function(y,w){var C=this.hls.config;p.logger.debug("Loading playlist of type "+w.type+", level: "+w.level+", id: "+w.id);var D=this.getInternalLoader(w);if(D){var N=D.context;if(N&&N.url===y)return p.logger.trace("playlist request ongoing"),!1;p.logger.warn("aborting previous loader for type: "+w.type),D.abort()}var P,k,F,M;switch(w.type){case S.MANIFEST:P=C.manifestLoadingMaxRetry,k=C.manifestLoadingTimeOut,F=C.manifestLoadingRetryDelay,M=C.manifestLoadingMaxRetryTimeout;break;case S.LEVEL:P=0,k=C.levelLoadingTimeOut;break;default:P=C.levelLoadingMaxRetry,k=C.levelLoadingTimeOut,F=C.levelLoadingRetryDelay,M=C.levelLoadingMaxRetryTimeout;break}D=this.createInternalLoader(w),w.url=y,w.responseType=w.responseType||"";var j={timeout:k,maxRetry:P,retryDelay:F,maxRetryDelay:M},$={onSuccess:this.loadsuccess.bind(this),onError:this.loaderror.bind(this),onTimeout:this.loadtimeout.bind(this)};return p.logger.debug("Calling internal loader delegate for URL: "+y),D.load(w,j,$),!0},T.prototype.loadsuccess=function(y,w,C,D){if(D===void 0&&(D=null),C.isSidxRequest){this._handleSidxRequest(y,C),this._handlePlaylistLoaded(y,w,C,D);return}this.resetInternalLoader(C.type);var N=y.data;if(w.tload=x.now(),N.indexOf("#EXTM3U")!==0){this._handleManifestParsingError(y,C,"no EXTM3U delimiter",D);return}N.indexOf("#EXTINF:")>0||N.indexOf("#EXT-X-TARGETDURATION:")>0?this._handleTrackOrLevelPlaylist(y,w,C,D):this._handleMasterPlaylist(y,w,C,D)},T.prototype.loaderror=function(y,w,C){C===void 0&&(C=null),this._handleNetworkError(w,C,!1,y)},T.prototype.loadtimeout=function(y,w,C){C===void 0&&(C=null),this._handleNetworkError(w,C,!0)},T.prototype._handleMasterPlaylist=function(y,w,C,D){var N=this.hls,P=y.data,k=T.getResponseUrl(y,C),F=R.default.parseMasterPlaylist(P,k);if(!F.length){this._handleManifestParsingError(y,C,"no level found in manifest",D);return}var M=F.map(function(X){return{id:X.attrs.AUDIO,codec:X.audioCodec}}),j=R.default.parseMasterPlaylistMedia(P,k,"AUDIO",M),$=R.default.parseMasterPlaylistMedia(P,k,"SUBTITLES");if(j.length){var B=!1;j.forEach(function(X){X.url||(B=!0)}),B===!1&&F[0].audioCodec&&!F[0].attrs.AUDIO&&(p.logger.log("audio codec signaled in quality level, but no embedded audio track signaled, create one"),j.unshift({type:"main",name:"main"}))}N.trigger(h.default.MANIFEST_LOADED,{levels:F,audioTracks:j,subtitles:$,url:k,stats:w,networkDetails:D})},T.prototype._handleTrackOrLevelPlaylist=function(y,w,C,D){var N=this.hls,P=C.id,k=C.level,F=C.type,M=T.getResponseUrl(y,C),j=o.isFinite(P)?P:0,$=o.isFinite(k)?k:j,B=T.mapContextToLevelType(C),X=R.default.parseLevelPlaylist(y.data,M,$,B,j);if(X.tload=w.tload,F===S.MANIFEST){var re={url:M,details:X};N.trigger(h.default.MANIFEST_LOADED,{levels:[re],audioTracks:[],url:M,stats:w,networkDetails:D})}if(w.tparsed=x.now(),X.needSidxRanges){var ae=X.initSegment.url;this.load(ae,{isSidxRequest:!0,type:F,level:k,levelDetails:X,id:P,rangeStart:0,rangeEnd:2048,responseType:"arraybuffer"});return}C.levelDetails=X,this._handlePlaylistLoaded(y,w,C,D)},T.prototype._handleSidxRequest=function(y,w){var C=_.default.parseSegmentIndex(new Uint8Array(y.data));if(C){var D=C.references,N=w.levelDetails;D.forEach(function(P,k){var F=P.info,M=N.fragments[k];M.byteRange.length===0&&(M.rawByteRange=String(1+F.end-F.start)+"@"+String(F.start))}),N.initSegment.rawByteRange=String(C.moovEndOffset)+"@0"}},T.prototype._handleManifestParsingError=function(y,w,C,D){this.hls.trigger(h.default.ERROR,{type:u.ErrorTypes.NETWORK_ERROR,details:u.ErrorDetails.MANIFEST_PARSING_ERROR,fatal:!0,url:y.url,reason:C,networkDetails:D})},T.prototype._handleNetworkError=function(y,w,C,D){C===void 0&&(C=!1),D===void 0&&(D=null),p.logger.info("A network error occured while loading a "+y.type+"-type playlist");var N,P,k=this.getInternalLoader(y);switch(y.type){case S.MANIFEST:N=C?u.ErrorDetails.MANIFEST_LOAD_TIMEOUT:u.ErrorDetails.MANIFEST_LOAD_ERROR,P=!0;break;case S.LEVEL:N=C?u.ErrorDetails.LEVEL_LOAD_TIMEOUT:u.ErrorDetails.LEVEL_LOAD_ERROR,P=!1;break;case S.AUDIO_TRACK:N=C?u.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT:u.ErrorDetails.AUDIO_TRACK_LOAD_ERROR,P=!1;break;default:P=!1}k&&(k.abort(),this.resetInternalLoader(y.type));var F={type:u.ErrorTypes.NETWORK_ERROR,details:N,fatal:P,url:k.url,loader:k,context:y,networkDetails:w};D&&(F.response=D),this.hls.trigger(h.default.ERROR,F)},T.prototype._handlePlaylistLoaded=function(y,w,C,D){var N=C.type,P=C.level,k=C.id,F=C.levelDetails;if(!F.targetduration){this._handleManifestParsingError(y,C,"invalid target duration",D);return}var M=T.canHaveQualityLevels(C.type);if(M)this.hls.trigger(h.default.LEVEL_LOADED,{details:F,level:P||0,id:k||0,stats:w,networkDetails:D});else switch(N){case S.AUDIO_TRACK:this.hls.trigger(h.default.AUDIO_TRACK_LOADED,{details:F,id:k,stats:w,networkDetails:D});break;case S.SUBTITLE_TRACK:this.hls.trigger(h.default.SUBTITLE_TRACK_LOADED,{details:F,id:k,stats:w,networkDetails:D});break}},T}(f.default);t.default=v}).call(this,a("./src/polyfills/number.js").Number)},"./src/observer.js":function(n,t,a){var o=this&&this.__extends||function(){var f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(u,p){u.__proto__=p}||function(u,p){for(var _ in p)p.hasOwnProperty(_)&&(u[_]=p[_])};return function(u,p){f(u,p);function _(){this.constructor=u}u.prototype=p===null?Object.create(p):(_.prototype=p.prototype,new _)}}();Object.defineProperty(t,"__esModule",{value:!0});var d=a("./node_modules/eventemitter3/index.js"),h=function(f){o(u,f);function u(){return f!==null&&f.apply(this,arguments)||this}return u.prototype.trigger=function(p){for(var _=[],R=1;R<arguments.length;R++)_[R-1]=arguments[R];this.emit.apply(this,[p,p].concat(_))},u}(d.EventEmitter);t.Observer=h},"./src/polyfills/number.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/utils/get-self-scope.js"),d=o.getSelfScope(),h=d.Number;t.Number=h,h.isFinite=h.isFinite||function(f){return typeof f=="number"&&isFinite(f)}},"./src/remux/aac-helper.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function d(){}return d.getSilentFrame=function(h,f){switch(h){case"mp4a.40.2":if(f===1)return new Uint8Array([0,200,0,128,35,128]);if(f===2)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(f===3)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(f===4)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(f===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]);if(f===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(f===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]);if(f===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]);if(f===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 null},d}();t.default=o},"./src/remux/mp4-generator.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=Math.pow(2,32)-1,d=function(){function h(){}return h.init=function(){h.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]};var f;for(f in h.types)h.types.hasOwnProperty(f)&&(h.types[f]=[f.charCodeAt(0),f.charCodeAt(1),f.charCodeAt(2),f.charCodeAt(3)]);var u=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]),p=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]);h.HDLR_TYPES={video:u,audio:p};var _=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),R=new Uint8Array([0,0,0,0,0,0,0,0]);h.STTS=h.STSC=h.STCO=R,h.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),h.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),h.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),h.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);var x=new Uint8Array([105,115,111,109]),S=new Uint8Array([97,118,99,49]),g=new Uint8Array([0,0,0,1]);h.FTYP=h.box(h.types.ftyp,x,g,x,S),h.DINF=h.box(h.types.dinf,h.box(h.types.dref,_))},h.box=function(f){for(var u=Array.prototype.slice.call(arguments,1),p=8,_=u.length,R=_,x;_--;)p+=u[_].byteLength;for(x=new Uint8Array(p),x[0]=p>>24&255,x[1]=p>>16&255,x[2]=p>>8&255,x[3]=p&255,x.set(f,4),_=0,p=8;_<R;_++)x.set(u[_],p),p+=u[_].byteLength;return x},h.hdlr=function(f){return h.box(h.types.hdlr,h.HDLR_TYPES[f])},h.mdat=function(f){return h.box(h.types.mdat,f)},h.mdhd=function(f,u){u*=f;var p=Math.floor(u/(o+1)),_=Math.floor(u%(o+1));return h.box(h.types.mdhd,new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,f>>24&255,f>>16&255,f>>8&255,f&255,p>>24,p>>16&255,p>>8&255,p&255,_>>24,_>>16&255,_>>8&255,_&255,85,196,0,0]))},h.mdia=function(f){return h.box(h.types.mdia,h.mdhd(f.timescale,f.duration),h.hdlr(f.type),h.minf(f))},h.mfhd=function(f){return h.box(h.types.mfhd,new Uint8Array([0,0,0,0,f>>24,f>>16&255,f>>8&255,f&255]))},h.minf=function(f){return f.type==="audio"?h.box(h.types.minf,h.box(h.types.smhd,h.SMHD),h.DINF,h.stbl(f)):h.box(h.types.minf,h.box(h.types.vmhd,h.VMHD),h.DINF,h.stbl(f))},h.moof=function(f,u,p){return h.box(h.types.moof,h.mfhd(f),h.traf(p,u))},h.moov=function(f){for(var u=f.length,p=[];u--;)p[u]=h.trak(f[u]);return h.box.apply(null,[h.types.moov,h.mvhd(f[0].timescale,f[0].duration)].concat(p).concat(h.mvex(f)))},h.mvex=function(f){for(var u=f.length,p=[];u--;)p[u]=h.trex(f[u]);return h.box.apply(null,[h.types.mvex].concat(p))},h.mvhd=function(f,u){u*=f;var p=Math.floor(u/(o+1)),_=Math.floor(u%(o+1)),R=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,f>>24&255,f>>16&255,f>>8&255,f&255,p>>24,p>>16&255,p>>8&255,p&255,_>>24,_>>16&255,_>>8&255,_&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 h.box(h.types.mvhd,R)},h.sdtp=function(f){var u=f.samples||[],p=new Uint8Array(4+u.length),_,R;for(R=0;R<u.length;R++)_=u[R].flags,p[R+4]=_.dependsOn<<4|_.isDependedOn<<2|_.hasRedundancy;return h.box(h.types.sdtp,p)},h.stbl=function(f){return h.box(h.types.stbl,h.stsd(f),h.box(h.types.stts,h.STTS),h.box(h.types.stsc,h.STSC),h.box(h.types.stsz,h.STSZ),h.box(h.types.stco,h.STCO))},h.avc1=function(f){var u=[],p=[],_,R,x;for(_=0;_<f.sps.length;_++)R=f.sps[_],x=R.byteLength,u.push(x>>>8&255),u.push(x&255),u=u.concat(Array.prototype.slice.call(R));for(_=0;_<f.pps.length;_++)R=f.pps[_],x=R.byteLength,p.push(x>>>8&255),p.push(x&255),p=p.concat(Array.prototype.slice.call(R));var S=h.box(h.types.avcC,new Uint8Array([1,u[3],u[4],u[5],255,224|f.sps.length].concat(u).concat([f.pps.length]).concat(p))),g=f.width,v=f.height,b=f.pixelRatio[0],T=f.pixelRatio[1];return h.box(h.types.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,g>>8&255,g&255,v>>8&255,v&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]),S,h.box(h.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),h.box(h.types.pasp,new Uint8Array([b>>24,b>>16&255,b>>8&255,b&255,T>>24,T>>16&255,T>>8&255,T&255])))},h.esds=function(f){var u=f.config.length;return new Uint8Array([0,0,0,0,3,23+u,0,1,0,4,15+u,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([u]).concat(f.config).concat([6,1,2]))},h.mp4a=function(f){var u=f.samplerate;return h.box(h.types.mp4a,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,f.channelCount,0,16,0,0,0,0,u>>8&255,u&255,0,0]),h.box(h.types.esds,h.esds(f)))},h.mp3=function(f){var u=f.samplerate;return h.box(h.types[".mp3"],new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,f.channelCount,0,16,0,0,0,0,u>>8&255,u&255,0,0]))},h.stsd=function(f){return f.type==="audio"?!f.isAAC&&f.codec==="mp3"?h.box(h.types.stsd,h.STSD,h.mp3(f)):h.box(h.types.stsd,h.STSD,h.mp4a(f)):h.box(h.types.stsd,h.STSD,h.avc1(f))},h.tkhd=function(f){var u=f.id,p=f.duration*f.timescale,_=f.width,R=f.height,x=Math.floor(p/(o+1)),S=Math.floor(p%(o+1));return h.box(h.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,u>>24&255,u>>16&255,u>>8&255,u&255,0,0,0,0,x>>24,x>>16&255,x>>8&255,x&255,S>>24,S>>16&255,S>>8&255,S&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,_>>8&255,_&255,0,0,R>>8&255,R&255,0,0]))},h.traf=function(f,u){var p=h.sdtp(f),_=f.id,R=Math.floor(u/(o+1)),x=Math.floor(u%(o+1));return h.box(h.types.traf,h.box(h.types.tfhd,new Uint8Array([0,0,0,0,_>>24,_>>16&255,_>>8&255,_&255])),h.box(h.types.tfdt,new Uint8Array([1,0,0,0,R>>24,R>>16&255,R>>8&255,R&255,x>>24,x>>16&255,x>>8&255,x&255])),h.trun(f,p.length+16+20+8+16+8+8),p)},h.trak=function(f){return f.duration=f.duration||4294967295,h.box(h.types.trak,h.tkhd(f),h.mdia(f))},h.trex=function(f){var u=f.id;return h.box(h.types.trex,new Uint8Array([0,0,0,0,u>>24,u>>16&255,u>>8&255,u&255,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))},h.trun=function(f,u){var p=f.samples||[],_=p.length,R=12+16*_,x=new Uint8Array(R),S,g,v,b,T,y;for(u+=8+R,x.set([0,0,15,1,_>>>24&255,_>>>16&255,_>>>8&255,_&255,u>>>24&255,u>>>16&255,u>>>8&255,u&255],0),S=0;S<_;S++)g=p[S],v=g.duration,b=g.size,T=g.flags,y=g.cts,x.set([v>>>24&255,v>>>16&255,v>>>8&255,v&255,b>>>24&255,b>>>16&255,b>>>8&255,b&255,T.isLeading<<2|T.dependsOn,T.isDependedOn<<6|T.hasRedundancy<<4|T.paddingValue<<1|T.isNonSync,T.degradPrio&61440,T.degradPrio&15,y>>>24&255,y>>>16&255,y>>>8&255,y&255],12+16*S);return h.box(h.types.trun,x)},h.initSegment=function(f){h.types||h.init();var u=h.moov(f),p;return p=new Uint8Array(h.FTYP.byteLength+u.byteLength),p.set(h.FTYP),p.set(u,h.FTYP.byteLength),p},h}();t.default=d},"./src/remux/mp4-remuxer.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/remux/aac-helper.js"),d=a("./src/remux/mp4-generator.js"),h=a("./src/events.js"),f=a("./src/errors.js"),u=a("./src/utils/logger.js"),p=10*1e3,_=function(){function R(x,S,g,v){this.observer=x,this.config=S,this.typeSupported=g;var b=navigator.userAgent;this.isSafari=v&&v.indexOf("Apple")>-1&&b&&!b.match("CriOS"),this.ISGenerated=!1}return R.prototype.destroy=function(){},R.prototype.resetTimeStamp=function(x){this._initPTS=this._initDTS=x},R.prototype.resetInitSegment=function(){this.ISGenerated=!1},R.prototype.remux=function(x,S,g,v,b,T,y){if(this.ISGenerated||this.generateIS(x,S,b),this.ISGenerated){var w=x.samples.length,C=S.samples.length,D=b,N=b;if(w&&C){var P=(x.samples[0].pts-S.samples[0].pts)/S.inputTimeScale;D+=Math.max(0,P),N+=Math.max(0,-P)}if(w){x.timescale||(u.logger.warn("regenerate InitSegment as audio detected"),this.generateIS(x,S,b));var k=this.remuxAudio(x,D,T,y);if(C){var F=void 0;k&&(F=k.endPTS-k.startPTS),S.timescale||(u.logger.warn("regenerate InitSegment as video detected"),this.generateIS(x,S,b)),this.remuxVideo(S,N,T,F,y)}}else if(C){var M=this.remuxVideo(S,N,T,0,y);M&&x.codec&&this.remuxEmptyAudio(x,D,T,M)}}g.samples.length&&this.remuxID3(g,b),v.samples.length&&this.remuxText(v,b),this.observer.trigger(h.default.FRAG_PARSED)},R.prototype.generateIS=function(x,S,g){var v=this.observer,b=x.samples,T=S.samples,y=this.typeSupported,w="audio/mp4",C={},D={tracks:C},N=this._initPTS===void 0,P,k;if(N&&(P=k=1/0),x.config&&b.length&&(x.timescale=x.samplerate,u.logger.log("audio sampling rate : "+x.samplerate),x.isAAC||(y.mpeg?(w="audio/mpeg",x.codec=""):y.mp3&&(x.codec="mp3")),C.audio={container:w,codec:x.codec,initSegment:!x.isAAC&&y.mpeg?new Uint8Array:d.default.initSegment([x]),metadata:{channelCount:x.channelCount}},N&&(P=k=b[0].pts-x.inputTimeScale*g)),S.sps&&S.pps&&T.length){var F=S.inputTimeScale;S.timescale=F,C.video={container:"video/mp4",codec:S.codec,initSegment:d.default.initSegment([S]),metadata:{width:S.width,height:S.height}},N&&(P=Math.min(P,T[0].pts-F*g),k=Math.min(k,T[0].dts-F*g),this.observer.trigger(h.default.INIT_PTS_FOUND,{initPTS:P}))}Object.keys(C).length?(v.trigger(h.default.FRAG_PARSING_INIT_SEGMENT,D),this.ISGenerated=!0,N&&(this._initPTS=P,this._initDTS=k)):v.trigger(h.default.ERROR,{type:f.ErrorTypes.MEDIA_ERROR,details:f.ErrorDetails.FRAG_PARSING_ERROR,fatal:!1,reason:"no audio/video samples found"})},R.prototype.remuxVideo=function(x,S,g,v,b){var T=8,y,w,C,D,N,P,k,F=x.timescale,M=x.samples,j=[],$=M.length,B=this._PTSNormalize,X=this._initPTS,re=this.nextAvcDts,ae=this.isSafari;if($!==0){ae&&(g|=M.length&&re&&(b&&Math.abs(S-re/F)<.1||Math.abs(M[0].pts-re-X)<F/5)),g||(re=S*F),M.forEach(function(ke){ke.pts=B(ke.pts-X,re),ke.dts=B(ke.dts-X,re)}),M.sort(function(ke,qe){var St=ke.dts-qe.dts,Ye=ke.pts-qe.pts;return St||Ye||ke.id-qe.id});var ee=M.reduce(function(ke,qe){return Math.max(Math.min(ke,qe.pts-qe.dts),-18e3)},0);if(ee<0){u.logger.warn("PTS < DTS detected in video samples, shifting DTS by "+Math.round(ee/90)+" ms to overcome this issue");for(var K=0;K<M.length;K++)M[K].dts+=ee}var ne=M[0];N=Math.max(ne.dts,0),D=Math.max(ne.pts,0);var ue=Math.round((N-re)/90);g&&ue&&(ue>1?u.logger.log("AVC:"+ue+" ms hole between fragments detected,filling it"):ue<-1&&u.logger.log("AVC:"+-ue+" ms overlapping between fragments detected"),N=re,M[0].dts=N,D=Math.max(D-ue,re),M[0].pts=D,u.logger.log("Video/PTS/DTS adjusted: "+Math.round(D/90)+"/"+Math.round(N/90)+",delta:"+ue+" ms")),ne=M[M.length-1],k=Math.max(ne.dts,0),P=Math.max(ne.pts,0,k),ae&&(y=Math.round((k-N)/(M.length-1)));for(var me=0,J=0,K=0;K<$;K++){for(var H=M[K],W=H.units,V=W.length,z=0,Y=0;Y<V;Y++)z+=W[Y].data.length;J+=z,me+=V,H.length=z,ae?H.dts=N+K*y:H.dts=Math.max(H.dts,N),H.pts=Math.max(H.pts,H.dts)}var ie=J+4*me+8;try{w=new Uint8Array(ie)}catch{this.observer.trigger(h.default.ERROR,{type:f.ErrorTypes.MUX_ERROR,details:f.ErrorDetails.REMUX_ALLOC_ERROR,fatal:!1,bytes:ie,reason:"fail allocating video mdat "+ie});return}var le=new DataView(w.buffer);le.setUint32(0,ie),w.set(d.default.types.mdat,4);for(var K=0;K<$;K++){for(var fe=M[K],ce=fe.units,ge=0,Se=void 0,Y=0,V=ce.length;Y<V;Y++){var Te=ce[Y],Fe=Te.data,Ne=Te.data.byteLength;le.setUint32(T,Ne),T+=4,w.set(Fe,T),T+=Ne,ge+=4+Ne}if(ae)Se=Math.max(0,y*Math.round((fe.pts-fe.dts)/y));else{if(K<$-1)y=M[K+1].dts-fe.dts;else{var Qe=this.config,st=fe.dts-M[K>0?K-1:K].dts;if(Qe.stretchShortVideoTrack){var Ze=Qe.maxBufferHole,yt=Math.floor(Ze*F),Ve=(v?D+v*F:this.nextAudioPts)-fe.pts;Ve>yt?(y=Ve-st,y<0&&(y=st),u.logger.log("It is approximately "+Ve/90+" ms to the next segment; using duration "+y/90+" ms for the last video frame.")):y=st}else y=st}Se=Math.round(fe.pts-fe.dts)}j.push({size:ge,duration:y,cts:Se,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:fe.key?2:1,isNonSync:fe.key?0:1}})}this.nextAvcDts=k+y;var Me=x.dropped;if(x.len=0,x.nbNalu=0,x.dropped=0,j.length&&navigator.userAgent.toLowerCase().indexOf("chrome")>-1){var Le=j[0].flags;Le.dependsOn=2,Le.isNonSync=0}x.samples=j,C=d.default.moof(x.sequenceNumber++,N,x),x.samples=[];var Ke={data1:C,data2:w,startPTS:D/F,endPTS:(P+y)/F,startDTS:N/F,endDTS:this.nextAvcDts/F,type:"video",hasAudio:!1,hasVideo:!0,nb:j.length,dropped:Me};return this.observer.trigger(h.default.FRAG_PARSING_DATA,Ke),Ke}},R.prototype.remuxAudio=function(x,S,g,v){var b=x.inputTimeScale,T=x.timescale,y=b/T,w=x.isAAC?1024:1152,C=w*y,D=this._PTSNormalize,N=this._initPTS,P=!x.isAAC&&this.typeSupported.mpeg,k,F,M,j,$,B,X,re=x.samples,ae=[],ee=this.nextAudioPts;if(g|=re.length&&ee&&(v&&Math.abs(S-ee/b)<.1||Math.abs(re[0].pts-ee-N)<20*C),re.forEach(function(Ve){Ve.pts=Ve.dts=D(Ve.pts-N,S*b)}),re=re.filter(function(Ve){return Ve.pts>=0}),re.length!==0){if(g||(v?ee=S*b:ee=re[0].pts),x.isAAC)for(var K=this.config.maxAudioFramesDrift,ne=0,ue=ee;ne<re.length;){var me=re[ne],J,H=me.pts;J=H-ue;var W=Math.abs(1e3*J/b);if(J<=-K*C)u.logger.warn("Dropping 1 audio frame @ "+(ue/b).toFixed(3)+"s due to "+Math.round(W)+" ms overlap."),re.splice(ne,1),x.len-=me.unit.length;else if(J>=K*C&&W<p&&ue){var V=Math.round(J/C);u.logger.warn("Injecting "+V+" audio frame @ "+(ue/b).toFixed(3)+"s due to "+Math.round(1e3*J/b)+" ms gap.");for(var z=0;z<V;z++){var Y=Math.max(ue,0);M=o.default.getSilentFrame(x.manifestCodec||x.codec,x.channelCount),M||(u.logger.log("Unable to get silent frame for given audio codec; duplicating last frame instead."),M=me.unit.subarray()),re.splice(ne,0,{unit:M,pts:Y,dts:Y}),x.len+=M.length,ue+=C,ne++}me.pts=me.dts=ue,ue+=C,ne++}else me.pts=me.dts=ue,ue+=C,ne++}for(var z=0,ie=re.length;z<ie;z++){var le=re[z],fe=le.unit,H=le.pts;if(X!==void 0)F.duration=Math.round((H-X)/y);else{var ce=Math.round(1e3*(H-ee)/b),ge=0;if(g&&x.isAAC&&ce){if(ce>0&&ce<p)ge=Math.round((H-ee)/C),u.logger.log(ce+" ms hole between AAC samples detected,filling it"),ge>0&&(M=o.default.getSilentFrame(x.manifestCodec||x.codec,x.channelCount),M||(M=fe.subarray()),x.len+=ge*M.length);else if(ce<-12){u.logger.log("drop overlapping AAC sample, expected/parsed/delta:"+(ee/b).toFixed(3)+"s/"+(H/b).toFixed(3)+"s/"+-ce+"ms"),x.len-=fe.byteLength;continue}H=ee}if(B=H,x.len>0){var Se=P?x.len:x.len+8;k=P?0:8;try{j=new Uint8Array(Se)}catch{this.observer.trigger(h.default.ERROR,{type:f.ErrorTypes.MUX_ERROR,details:f.ErrorDetails.REMUX_ALLOC_ERROR,fatal:!1,bytes:Se,reason:"fail allocating audio mdat "+Se});return}if(!P){var Te=new DataView(j.buffer);Te.setUint32(0,Se),j.set(d.default.types.mdat,4)}}else return;for(var ne=0;ne<ge;ne++)M=o.default.getSilentFrame(x.manifestCodec||x.codec,x.channelCount),M||(u.logger.log("Unable to get silent frame for given audio codec; duplicating this frame instead."),M=fe.subarray()),j.set(M,k),k+=M.byteLength,F={size:M.byteLength,cts:0,duration:1024,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:1}},ae.push(F)}j.set(fe,k);var Fe=fe.byteLength;k+=Fe,F={size:Fe,cts:0,duration:0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:1}},ae.push(F),X=H}var Ne=0,Qe=ae.length;if(Qe>=2&&(Ne=ae[Qe-2].duration,F.duration=Ne),Qe){this.nextAudioPts=ee=X+y*Ne,x.len=0,x.samples=ae,P?$=new Uint8Array:$=d.default.moof(x.sequenceNumber++,B/y,x),x.samples=[];var st=B/b,Ze=ee/b,yt={data1:$,data2:j,startPTS:st,endPTS:Ze,startDTS:st,endDTS:Ze,type:"audio",hasAudio:!0,hasVideo:!1,nb:Qe};return this.observer.trigger(h.default.FRAG_PARSING_DATA,yt),yt}return null}},R.prototype.remuxEmptyAudio=function(x,S,g,v){var b=x.inputTimeScale,T=x.samplerate?x.samplerate:b,y=b/T,w=this.nextAudioPts,C=(w!==void 0?w:v.startDTS*b)+this._initDTS,D=v.endDTS*b+this._initDTS,N=1024,P=y*N,k=Math.ceil((D-C)/P),F=o.default.getSilentFrame(x.manifestCodec||x.codec,x.channelCount);if(u.logger.warn("remux empty Audio"),!F){u.logger.trace("Unable to remuxEmptyAudio since we were unable to get a silent frame for given audio codec!");return}for(var M=[],j=0;j<k;j++){var $=C+j*P;M.push({unit:F,pts:$,dts:$}),x.len+=F.length}x.samples=M,this.remuxAudio(x,S,g)},R.prototype.remuxID3=function(x){var S=x.samples.length,g,v=x.inputTimeScale,b=this._initPTS,T=this._initDTS;if(S){for(var y=0;y<S;y++)g=x.samples[y],g.pts=(g.pts-b)/v,g.dts=(g.dts-T)/v;this.observer.trigger(h.default.FRAG_PARSING_METADATA,{samples:x.samples})}x.samples=[]},R.prototype.remuxText=function(x){x.samples.sort(function(y,w){return y.pts-w.pts});var S=x.samples.length,g,v=x.inputTimeScale,b=this._initPTS;if(S){for(var T=0;T<S;T++)g=x.samples[T],g.pts=(g.pts-b)/v;this.observer.trigger(h.default.FRAG_PARSING_USERDATA,{samples:x.samples})}x.samples=[]},R.prototype._PTSNormalize=function(x,S){var g;if(S===void 0)return x;for(S<x?g=-8589934592:g=8589934592;Math.abs(x-S)>4294967296;)x+=g;return x},R}();t.default=_},"./src/remux/passthrough-remuxer.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/events.js"),d=function(){function h(f){this.observer=f}return h.prototype.destroy=function(){},h.prototype.resetTimeStamp=function(){},h.prototype.resetInitSegment=function(){},h.prototype.remux=function(f,u,p,_,R,x,S,g){var v=this.observer,b="";f&&(b+="audio"),u&&(b+="video"),v.trigger(o.default.FRAG_PARSING_DATA,{data1:g,startPTS:R,startDTS:R,type:b,hasAudio:!!f,hasVideo:!!u,nb:1,dropped:0}),v.trigger(o.default.FRAG_PARSED)},h}();t.default=d},"./src/task-loop.js":function(n,t,a){var o=this&&this.__extends||function(){var f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(u,p){u.__proto__=p}||function(u,p){for(var _ in p)p.hasOwnProperty(_)&&(u[_]=p[_])};return function(u,p){f(u,p);function _(){this.constructor=u}u.prototype=p===null?Object.create(p):(_.prototype=p.prototype,new _)}}();Object.defineProperty(t,"__esModule",{value:!0});var d=a("./src/event-handler.js"),h=function(f){o(u,f);function u(p){for(var _=[],R=1;R<arguments.length;R++)_[R-1]=arguments[R];var x=f.apply(this,[p].concat(_))||this;return x._tickInterval=null,x._tickTimer=null,x._tickCallCount=0,x._boundTick=x.tick.bind(x),x}return u.prototype.onHandlerDestroying=function(){this.clearNextTick(),this.clearInterval()},u.prototype.hasInterval=function(){return!!this._tickInterval},u.prototype.hasNextTick=function(){return!!this._tickTimer},u.prototype.setInterval=function(p){return this._tickInterval?!1:(this._tickInterval=setInterval(this._boundTick,p),!0)},u.prototype.clearInterval=function(){return this._tickInterval?(clearInterval(this._tickInterval),this._tickInterval=null,!0):!1},u.prototype.clearNextTick=function(){return this._tickTimer?(clearTimeout(this._tickTimer),this._tickTimer=null,!0):!1},u.prototype.tick=function(){this._tickCallCount++,this._tickCallCount===1&&(this.doTick(),this._tickCallCount>1&&(this.clearNextTick(),this._tickTimer=setTimeout(this._boundTick,0)),this._tickCallCount=0)},u.prototype.doTick=function(){},u}(d.default);t.default=h},"./src/utils/attr-list.js":function(n,t,a){(function(o){Object.defineProperty(t,"__esModule",{value:!0});var d=/^(\d+)x(\d+)$/,h=/\s*(.+?)\s*=((?:\".*?\")|.*?)(?:,|$)/g,f=function(){function u(p){typeof p=="string"&&(p=u.parseAttrList(p));for(var _ in p)p.hasOwnProperty(_)&&(this[_]=p[_])}return u.prototype.decimalInteger=function(p){var _=parseInt(this[p],10);return _>o.MAX_SAFE_INTEGER?1/0:_},u.prototype.hexadecimalInteger=function(p){if(this[p]){var _=(this[p]||"0x").slice(2);_=(_.length&1?"0":"")+_;for(var R=new Uint8Array(_.length/2),x=0;x<_.length/2;x++)R[x]=parseInt(_.slice(x*2,x*2+2),16);return R}else return null},u.prototype.hexadecimalIntegerAsNumber=function(p){var _=parseInt(this[p],16);return _>o.MAX_SAFE_INTEGER?1/0:_},u.prototype.decimalFloatingPoint=function(p){return parseFloat(this[p])},u.prototype.enumeratedString=function(p){return this[p]},u.prototype.decimalResolution=function(p){var _=d.exec(this[p]);if(_!==null)return{width:parseInt(_[1],10),height:parseInt(_[2],10)}},u.parseAttrList=function(p){var _,R={};for(h.lastIndex=0;(_=h.exec(p))!==null;){var x=_[2],S='"';x.indexOf(S)===0&&x.lastIndexOf(S)===x.length-1&&(x=x.slice(1,-1)),R[_[1]]=x}return R},u}();t.default=f}).call(this,a("./src/polyfills/number.js").Number)},"./src/utils/binary-search.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o={search:function(d,h){for(var f=0,u=d.length-1,p=null,_=null;f<=u;){p=(f+u)/2|0,_=d[p];var R=h(_);if(R>0)f=p+1;else if(R<0)u=p-1;else return _}return null}};t.default=o},"./src/utils/buffer-helper.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function d(){}return d.isBuffered=function(h,f){try{if(h){for(var u=h.buffered,p=0;p<u.length;p++)if(f>=u.start(p)&&f<=u.end(p))return!0}}catch{}return!1},d.bufferInfo=function(h,f,u){try{if(h){var p=h.buffered,_=[],R=void 0;for(R=0;R<p.length;R++)_.push({start:p.start(R),end:p.end(R)});return this.bufferedInfo(_,f,u)}}catch{}return{len:0,start:f,end:f,nextStart:void 0}},d.bufferedInfo=function(h,f,u){var p=[],_,R,x,S,g;for(h.sort(function(w,C){var D=w.start-C.start;return D||C.end-w.end}),g=0;g<h.length;g++){var v=p.length;if(v){var b=p[v-1].end;h[g].start-b<u?h[g].end>b&&(p[v-1].end=h[g].end):p.push(h[g])}else p.push(h[g])}for(g=0,_=0,R=x=f;g<p.length;g++){var T=p[g].start,y=p[g].end;if(f+u>=T&&f<y)R=T,x=y,_=x-f;else if(f+u<T){S=T;break}}return{len:_,start:R,end:x,nextStart:S}},d}();t.BufferHelper=o},"./src/utils/cea-608-parser.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o={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},d=function(D){var N=D;return o.hasOwnProperty(D)&&(N=o[D]),String.fromCharCode(N)},h=15,f=100,u={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},p={17:2,18:4,21:6,22:8,23:10,19:13,20:15},_={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},R={25:2,26:4,29:6,30:8,31:10,27:13,28:15},x=["white","green","blue","cyan","red","yellow","magenta","black","transparent"],S={verboseFilter:{DATA:3,DEBUG:3,INFO:2,WARNING:2,TEXT:1,ERROR:0},time:null,verboseLevel:0,setTime:function(D){this.time=D},log:function(D,N){var P=this.verboseFilter[D];this.verboseLevel>=P}},g=function(D){for(var N=[],P=0;P<D.length;P++)N.push(D[P].toString(16));return N},v=function(){function D(N,P,k,F,M){this.foreground=N||"white",this.underline=P||!1,this.italics=k||!1,this.background=F||"black",this.flash=M||!1}return D.prototype.reset=function(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1},D.prototype.setStyles=function(N){for(var P=["foreground","underline","italics","background","flash"],k=0;k<P.length;k++){var F=P[k];N.hasOwnProperty(F)&&(this[F]=N[F])}},D.prototype.isDefault=function(){return this.foreground==="white"&&!this.underline&&!this.italics&&this.background==="black"&&!this.flash},D.prototype.equals=function(N){return this.foreground===N.foreground&&this.underline===N.underline&&this.italics===N.italics&&this.background===N.background&&this.flash===N.flash},D.prototype.copy=function(N){this.foreground=N.foreground,this.underline=N.underline,this.italics=N.italics,this.background=N.background,this.flash=N.flash},D.prototype.toString=function(){return"color="+this.foreground+", underline="+this.underline+", italics="+this.italics+", background="+this.background+", flash="+this.flash},D}(),b=function(){function D(N,P,k,F,M,j){this.uchar=N||" ",this.penState=new v(P,k,F,M,j)}return D.prototype.reset=function(){this.uchar=" ",this.penState.reset()},D.prototype.setChar=function(N,P){this.uchar=N,this.penState.copy(P)},D.prototype.setPenState=function(N){this.penState.copy(N)},D.prototype.equals=function(N){return this.uchar===N.uchar&&this.penState.equals(N.penState)},D.prototype.copy=function(N){this.uchar=N.uchar,this.penState.copy(N.penState)},D.prototype.isEmpty=function(){return this.uchar===" "&&this.penState.isDefault()},D}(),T=function(){function D(){this.chars=[];for(var N=0;N<f;N++)this.chars.push(new b);this.pos=0,this.currPenState=new v}return D.prototype.equals=function(N){for(var P=!0,k=0;k<f;k++)if(!this.chars[k].equals(N.chars[k])){P=!1;break}return P},D.prototype.copy=function(N){for(var P=0;P<f;P++)this.chars[P].copy(N.chars[P])},D.prototype.isEmpty=function(){for(var N=!0,P=0;P<f;P++)if(!this.chars[P].isEmpty()){N=!1;break}return N},D.prototype.setCursor=function(N){this.pos!==N&&(this.pos=N),this.pos<0?(S.log("ERROR","Negative cursor position "+this.pos),this.pos=0):this.pos>f&&(S.log("ERROR","Too large cursor position "+this.pos),this.pos=f)},D.prototype.moveCursor=function(N){var P=this.pos+N;if(N>1)for(var k=this.pos+1;k<P+1;k++)this.chars[k].setPenState(this.currPenState);this.setCursor(P)},D.prototype.backSpace=function(){this.moveCursor(-1),this.chars[this.pos].setChar(" ",this.currPenState)},D.prototype.insertChar=function(N){N>=144&&this.backSpace();var P=d(N);if(this.pos>=f){S.log("ERROR","Cannot insert "+N.toString(16)+" ("+P+") at position "+this.pos+". Skipping it!");return}this.chars[this.pos].setChar(P,this.currPenState),this.moveCursor(1)},D.prototype.clearFromPos=function(N){var P;for(P=N;P<f;P++)this.chars[P].reset()},D.prototype.clear=function(){this.clearFromPos(0),this.pos=0,this.currPenState.reset()},D.prototype.clearToEndOfRow=function(){this.clearFromPos(this.pos)},D.prototype.getTextString=function(){for(var N=[],P=!0,k=0;k<f;k++){var F=this.chars[k].uchar;F!==" "&&(P=!1),N.push(F)}return P?"":N.join("")},D.prototype.setPenStyles=function(N){this.currPenState.setStyles(N);var P=this.chars[this.pos];P.setPenState(this.currPenState)},D}(),y=function(){function D(){this.rows=[];for(var N=0;N<h;N++)this.rows.push(new T);this.currRow=h-1,this.nrRollUpRows=null,this.reset()}return D.prototype.reset=function(){for(var N=0;N<h;N++)this.rows[N].clear();this.currRow=h-1},D.prototype.equals=function(N){for(var P=!0,k=0;k<h;k++)if(!this.rows[k].equals(N.rows[k])){P=!1;break}return P},D.prototype.copy=function(N){for(var P=0;P<h;P++)this.rows[P].copy(N.rows[P])},D.prototype.isEmpty=function(){for(var N=!0,P=0;P<h;P++)if(!this.rows[P].isEmpty()){N=!1;break}return N},D.prototype.backSpace=function(){var N=this.rows[this.currRow];N.backSpace()},D.prototype.clearToEndOfRow=function(){var N=this.rows[this.currRow];N.clearToEndOfRow()},D.prototype.insertChar=function(N){var P=this.rows[this.currRow];P.insertChar(N)},D.prototype.setPen=function(N){var P=this.rows[this.currRow];P.setPenStyles(N)},D.prototype.moveCursor=function(N){var P=this.rows[this.currRow];P.moveCursor(N)},D.prototype.setCursor=function(N){S.log("INFO","setCursor: "+N);var P=this.rows[this.currRow];P.setCursor(N)},D.prototype.setPAC=function(N){S.log("INFO","pacData = "+JSON.stringify(N));var P=N.row-1;if(this.nrRollUpRows&&P<this.nrRollUpRows-1&&(P=this.nrRollUpRows-1),this.nrRollUpRows&&this.currRow!==P){for(var k=0;k<h;k++)this.rows[k].clear();var F=this.currRow+1-this.nrRollUpRows,M=this.lastOutputScreen;if(M){var j=M.rows[F].cueStartTime;if(j&&j<S.time)for(var k=0;k<this.nrRollUpRows;k++)this.rows[P-this.nrRollUpRows+k+1].copy(M.rows[F+k])}}this.currRow=P;var $=this.rows[this.currRow];if(N.indent!==null){var B=N.indent,X=Math.max(B-1,0);$.setCursor(N.indent),N.color=$.chars[X].penState.foreground}var re={foreground:N.color,underline:N.underline,italics:N.italics,background:"black",flash:!1};this.setPen(re)},D.prototype.setBkgData=function(N){S.log("INFO","bkgData = "+JSON.stringify(N)),this.backSpace(),this.setPen(N),this.insertChar(32)},D.prototype.setRollUpRows=function(N){this.nrRollUpRows=N},D.prototype.rollUp=function(){if(this.nrRollUpRows===null){S.log("DEBUG","roll_up but nrRollUpRows not set yet");return}S.log("TEXT",this.getDisplayText());var N=this.currRow+1-this.nrRollUpRows,P=this.rows.splice(N,1)[0];P.clear(),this.rows.splice(this.currRow,0,P),S.log("INFO","Rolling up")},D.prototype.getDisplayText=function(N){N=N||!1;for(var P=[],k="",F=-1,M=0;M<h;M++){var j=this.rows[M].getTextString();j&&(F=M+1,N?P.push("Row "+F+": '"+j+"'"):P.push(j.trim()))}return P.length>0&&(N?k="["+P.join(" | ")+"]":k=P.join(`
|
|
36
36
|
`)),k},D.prototype.getTextAndFormat=function(){return this.rows},D}(),w=function(){function D(N,P){this.chNr=N,this.outputFilter=P,this.mode=null,this.verbose=0,this.displayedMemory=new y,this.nonDisplayedMemory=new y,this.lastOutputScreen=new y,this.currRollUpRow=this.displayedMemory.rows[h-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null}return D.prototype.reset=function(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.currRollUpRow=this.displayedMemory.rows[h-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.lastCueEndTime=null},D.prototype.getHandler=function(){return this.outputFilter},D.prototype.setHandler=function(N){this.outputFilter=N},D.prototype.setPAC=function(N){this.writeScreen.setPAC(N)},D.prototype.setBkgData=function(N){this.writeScreen.setBkgData(N)},D.prototype.setMode=function(N){N!==this.mode&&(this.mode=N,S.log("INFO","MODE="+N),this.mode==="MODE_POP-ON"?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),this.mode!=="MODE_ROLL-UP"&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=N)},D.prototype.insertChars=function(N){for(var P=0;P<N.length;P++)this.writeScreen.insertChar(N[P]);var k=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";S.log("INFO",k+": "+this.writeScreen.getDisplayText(!0)),(this.mode==="MODE_PAINT-ON"||this.mode==="MODE_ROLL-UP")&&(S.log("TEXT","DISPLAYED: "+this.displayedMemory.getDisplayText(!0)),this.outputDataUpdate())},D.prototype.ccRCL=function(){S.log("INFO","RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON")},D.prototype.ccBS=function(){S.log("INFO","BS - BackSpace"),this.mode!=="MODE_TEXT"&&(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory&&this.outputDataUpdate())},D.prototype.ccAOF=function(){},D.prototype.ccAON=function(){},D.prototype.ccDER=function(){S.log("INFO","DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate()},D.prototype.ccRU=function(N){S.log("INFO","RU("+N+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(N)},D.prototype.ccFON=function(){S.log("INFO","FON - Flash On"),this.writeScreen.setPen({flash:!0})},D.prototype.ccRDC=function(){S.log("INFO","RDC - Resume Direct Captioning"),this.setMode("MODE_PAINT-ON")},D.prototype.ccTR=function(){S.log("INFO","TR"),this.setMode("MODE_TEXT")},D.prototype.ccRTD=function(){S.log("INFO","RTD"),this.setMode("MODE_TEXT")},D.prototype.ccEDM=function(){S.log("INFO","EDM - Erase Displayed Memory"),this.displayedMemory.reset(),this.outputDataUpdate(!0)},D.prototype.ccCR=function(){S.log("CR - Carriage Return"),this.writeScreen.rollUp(),this.outputDataUpdate(!0)},D.prototype.ccENM=function(){S.log("INFO","ENM - Erase Non-displayed Memory"),this.nonDisplayedMemory.reset()},D.prototype.ccEOC=function(){if(S.log("INFO","EOC - End Of Caption"),this.mode==="MODE_POP-ON"){var N=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=N,this.writeScreen=this.nonDisplayedMemory,S.log("TEXT","DISP: "+this.displayedMemory.getDisplayText())}this.outputDataUpdate(!0)},D.prototype.ccTO=function(N){S.log("INFO","TO("+N+") - Tab Offset"),this.writeScreen.moveCursor(N)},D.prototype.ccMIDROW=function(N){var P={flash:!1};if(P.underline=N%2===1,P.italics=N>=46,P.italics)P.foreground="white";else{var k=Math.floor(N/2)-16,F=["white","green","blue","cyan","red","yellow","magenta"];P.foreground=F[k]}S.log("INFO","MIDROW: "+JSON.stringify(P)),this.writeScreen.setPen(P)},D.prototype.outputDataUpdate=function(N){N===void 0&&(N=!1);var P=S.time;P!==null&&this.outputFilter&&(this.cueStartTime===null&&!this.displayedMemory.isEmpty()?this.cueStartTime=P:this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue&&(this.outputFilter.newCue(this.cueStartTime,P,this.lastOutputScreen),N===!0&&this.outputFilter.dispatchCue&&this.outputFilter.dispatchCue()),this.cueStartTime=this.displayedMemory.isEmpty()?null:P),this.lastOutputScreen.copy(this.displayedMemory))},D.prototype.cueSplitAtTime=function(N){this.outputFilter&&(this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,N,this.displayedMemory),this.cueStartTime=N))},D}(),C=function(){function D(N,P,k){this.field=N||1,this.outputs=[P,k],this.channels=[new w(1,P),new w(2,k)],this.currChNr=-1,this.lastCmdA=null,this.lastCmdB=null,this.bufferedData=[],this.startTime=null,this.lastTime=null,this.dataCounters={padding:0,char:0,cmd:0,other:0}}return D.prototype.getHandler=function(N){return this.channels[N].getHandler()},D.prototype.setHandler=function(N,P){this.channels[N].setHandler(P)},D.prototype.addData=function(N,P){var k,F,M,j=!1;this.lastTime=N,S.setTime(N);for(var $=0;$<P.length;$+=2){if(F=P[$]&127,M=P[$+1]&127,F===0&&M===0){this.dataCounters.padding+=2;continue}else S.log("DATA","["+g([P[$],P[$+1]])+"] -> ("+g([F,M])+")");if(k=this.parseCmd(F,M),k||(k=this.parseMidrow(F,M)),k||(k=this.parsePAC(F,M)),k||(k=this.parseBackgroundAttributes(F,M)),!k&&(j=this.parseChars(F,M),j))if(this.currChNr&&this.currChNr>=0){var B=this.channels[this.currChNr-1];B.insertChars(j)}else S.log("WARNING","No channel found yet. TEXT-MODE?");k?this.dataCounters.cmd+=2:j?this.dataCounters.char+=2:(this.dataCounters.other+=2,S.log("WARNING","Couldn't parse cleaned data "+g([F,M])+" orig: "+g([P[$],P[$+1]])))}},D.prototype.parseCmd=function(N,P){var k=null,F=(N===20||N===28)&&P>=32&&P<=47,M=(N===23||N===31)&&P>=33&&P<=35;if(!(F||M))return!1;if(N===this.lastCmdA&&P===this.lastCmdB)return this.lastCmdA=null,this.lastCmdB=null,S.log("DEBUG","Repeated command ("+g([N,P])+") is dropped"),!0;N===20||N===23?k=1:k=2;var j=this.channels[k-1];return N===20||N===28?P===32?j.ccRCL():P===33?j.ccBS():P===34?j.ccAOF():P===35?j.ccAON():P===36?j.ccDER():P===37?j.ccRU(2):P===38?j.ccRU(3):P===39?j.ccRU(4):P===40?j.ccFON():P===41?j.ccRDC():P===42?j.ccTR():P===43?j.ccRTD():P===44?j.ccEDM():P===45?j.ccCR():P===46?j.ccENM():P===47&&j.ccEOC():j.ccTO(P-32),this.lastCmdA=N,this.lastCmdB=P,this.currChNr=k,!0},D.prototype.parseMidrow=function(N,P){var k=null;if((N===17||N===25)&&P>=32&&P<=47){if(N===17?k=1:k=2,k!==this.currChNr)return S.log("ERROR","Mismatch channel in midrow parsing"),!1;var F=this.channels[k-1];return F.ccMIDROW(P),S.log("DEBUG","MIDROW ("+g([N,P])+")"),!0}return!1},D.prototype.parsePAC=function(N,P){var k=null,F=null,M=(N>=17&&N<=23||N>=25&&N<=31)&&P>=64&&P<=127,j=(N===16||N===24)&&P>=64&&P<=95;if(!(M||j))return!1;if(N===this.lastCmdA&&P===this.lastCmdB)return this.lastCmdA=null,this.lastCmdB=null,!0;k=N<=23?1:2,P>=64&&P<=95?F=k===1?u[N]:_[N]:F=k===1?p[N]:R[N];var $=this.interpretPAC(F,P),B=this.channels[k-1];return B.setPAC($),this.lastCmdA=N,this.lastCmdB=P,this.currChNr=k,!0},D.prototype.interpretPAC=function(N,P){var k=P,F={color:null,italics:!1,indent:null,underline:!1,row:N};return P>95?k=P-96:k=P-64,F.underline=(k&1)===1,k<=13?F.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(k/2)]:k<=15?(F.italics=!0,F.color="white"):F.indent=Math.floor((k-16)/2)*4,F},D.prototype.parseChars=function(N,P){var k=null,F=null,M=null;if(N>=25?(k=2,M=N-8):(k=1,M=N),M>=17&&M<=19){var j=P;M===17?j=P+80:M===18?j=P+112:j=P+144,S.log("INFO","Special char '"+d(j)+"' in channel "+k),F=[j]}else N>=32&&N<=127&&(F=P===0?[N]:[N,P]);if(F){var $=g(F);S.log("DEBUG","Char codes = "+$.join(",")),this.lastCmdA=null,this.lastCmdB=null}return F},D.prototype.parseBackgroundAttributes=function(N,P){var k,F,M,j,$=(N===16||N===24)&&P>=32&&P<=47,B=(N===23||N===31)&&P>=45&&P<=47;return $||B?(k={},N===16||N===24?(F=Math.floor((P-32)/2),k.background=x[F],P%2===1&&(k.background=k.background+"_semi")):P===45?k.background="transparent":(k.foreground="black",P===47&&(k.underline=!0)),M=N<24?1:2,j=this.channels[M-1],j.setBkgData(k),this.lastCmdA=null,this.lastCmdB=null,!0):!1},D.prototype.reset=function(){for(var N=0;N<this.channels.length;N++)this.channels[N]&&this.channels[N].reset();this.lastCmdA=null,this.lastCmdB=null},D.prototype.cueSplitAtTime=function(N){for(var P=0;P<this.channels.length;P++)this.channels[P]&&this.channels[P].cueSplitAtTime(N)},D}();t.default=C},"./src/utils/codecs.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o={audio:{a3ds:!0,"ac-3":!0,"ac-4":!0,alac:!0,alaw:!0,dra1:!0,"dts+":!0,"dts-":!0,dtsc:!0,dtse:!0,dtsh:!0,"ec-3":!0,enca:!0,g719:!0,g726:!0,m4ae:!0,mha1:!0,mha2:!0,mhm1:!0,mhm2:!0,mlpa:!0,mp4a:!0,"raw ":!0,Opus:!0,samr:!0,sawb:!0,sawp:!0,sevc:!0,sqcp:!0,ssmv:!0,twos:!0,ulaw:!0},video:{avc1:!0,avc2:!0,avc3:!0,avc4:!0,avcp:!0,drac:!0,dvav:!0,dvhe:!0,encv:!0,hev1:!0,hvc1:!0,mjp2:!0,mp4v:!0,mvc1:!0,mvc2:!0,mvc3:!0,mvc4:!0,resv:!0,rv60:!0,s263:!0,svc1:!0,svc2:!0,"vc-1":!0,vp08:!0,vp09:!0}};function d(f,u){var p=o[u];return!!p&&p[f.slice(0,4)]===!0}t.isCodecType=d;function h(f,u){return window.MediaSource.isTypeSupported((u||"video")+'/mp4;codecs="'+f+'"')}t.isCodecSupportedInMp4=h},"./src/utils/cues.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/utils/vttparser.js");function d(h,f,u,p){for(var _,R,x,S,g,v=window.VTTCue||window.TextTrackCue,b=0;b<p.rows.length;b++)if(_=p.rows[b],x=!0,S=0,g="",!_.isEmpty()){for(var T=0;T<_.chars.length;T++)_.chars[T].uchar.match(/\s/)&&x?S++:(g+=_.chars[T].uchar,x=!1);_.cueStartTime=f,f===u&&(u+=1e-4),R=new v(f,u,o.fixLineBreaks(g.trim())),S>=16?S--:S++,navigator.userAgent.match(/Firefox\//)?R.line=b+1:R.line=b>7?b-2:b+1,R.align="left",R.position=Math.max(0,Math.min(100,100*(S/32)+(navigator.userAgent.match(/Firefox\//)?50:0))),h.addCue(R)}}t.newCue=d},"./src/utils/discontinuities.js":function(n,t,a){(function(o){Object.defineProperty(t,"__esModule",{value:!0});var d=a("./src/utils/binary-search.js"),h=a("./src/utils/logger.js");function f(v,b){for(var T=null,y=0;y<v.length;y+=1){var w=v[y];if(w&&w.cc===b){T=w;break}}return T}t.findFirstFragWithCC=f;function u(v,b){return d.default.search(v,function(T){return T.cc<b?1:T.cc>b?-1:0})}t.findFragWithCC=u;function p(v,b,T){var y=!1;return b&&b.details&&T&&(T.endCC>T.startCC||v&&v.cc<T.startCC)&&(y=!0),y}t.shouldAlignOnDiscontinuities=p;function _(v,b){var T=v.fragments,y=b.fragments;if(!y.length||!T.length){h.logger.log("No fragments to align");return}var w=f(T,y[0].cc);if(!w||w&&!w.startPTS){h.logger.log("No frag in previous level to align on");return}return w}t.findDiscontinuousReferenceFrag=_;function R(v,b){b.fragments.forEach(function(T){if(T){var y=T.start+v;T.start=T.startPTS=y,T.endPTS=y+T.duration}}),b.PTSKnown=!0}t.adjustPts=R;function x(v,b,T){S(v,T,b),!T.PTSKnown&&b&&g(T,b.details)}t.alignStream=x;function S(v,b,T){if(p(v,T,b)){var y=_(T.details,b);y&&(h.logger.log("Adjusting PTS using last level due to CC increase within current level"),R(y.start,b))}}t.alignDiscontinuities=S;function g(v,b){if(b&&b.fragments.length){if(!v.hasProgramDateTime||!b.hasProgramDateTime)return;var T=b.fragments[0].programDateTime,y=v.fragments[0].programDateTime,w=(y-T)/1e3+b.fragments[0].start;o.isFinite(w)&&(h.logger.log("adjusting PTS using programDateTime delta, sliding:"+w.toFixed(3)),R(w,v))}}t.alignPDT=g}).call(this,a("./src/polyfills/number.js").Number)},"./src/utils/ewma-bandwidth-estimator.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/utils/ewma.js"),d=function(){function h(f,u,p,_){this.hls=f,this.defaultEstimate_=_,this.minWeight_=.001,this.minDelayMs_=50,this.slow_=new o.default(u),this.fast_=new o.default(p)}return h.prototype.sample=function(f,u){f=Math.max(f,this.minDelayMs_);var p=8e3*u/f,_=f/1e3;this.fast_.sample(_,p),this.slow_.sample(_,p)},h.prototype.canEstimate=function(){var f=this.fast_;return f&&f.getTotalWeight()>=this.minWeight_},h.prototype.getEstimate=function(){return this.canEstimate()?Math.min(this.fast_.getEstimate(),this.slow_.getEstimate()):this.defaultEstimate_},h.prototype.destroy=function(){},h}();t.default=d},"./src/utils/ewma.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function d(h){this.alpha_=h?Math.exp(Math.log(.5)/h):0,this.estimate_=0,this.totalWeight_=0}return d.prototype.sample=function(h,f){var u=Math.pow(this.alpha_,h);this.estimate_=f*(1-u)+u*this.estimate_,this.totalWeight_+=h},d.prototype.getTotalWeight=function(){return this.totalWeight_},d.prototype.getEstimate=function(){if(this.alpha_){var h=1-Math.pow(this.alpha_,this.totalWeight_);return this.estimate_/h}else return this.estimate_},d}();t.default=o},"./src/utils/get-self-scope.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});function o(){return typeof window>"u"?self:window}t.getSelfScope=o},"./src/utils/logger.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/utils/get-self-scope.js");function d(){}var h={trace:d,debug:d,log:d,warn:d,info:d,error:d},f=h;function u(x,S){return S="["+x+"] > "+S,S}var p=o.getSelfScope();function _(x){var S=p.console[x];return S?function(){for(var g=[],v=0;v<arguments.length;v++)g[v]=arguments[v];g[0]&&(g[0]=u(x,g[0])),S.apply(p.console,g)}:d}function R(x){for(var S=[],g=1;g<arguments.length;g++)S[g-1]=arguments[g];S.forEach(function(v){f[v]=x[v]?x[v].bind(x):_(v)})}t.enableLogs=function(x){if(x===!0||typeof x=="object"){R(x,"debug","log","info","warn","error");try{f.log()}catch{f=h}}else f=h},t.logger=f},"./src/utils/mediakeys-helper.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=function(){return typeof window<"u"&&window.navigator&&window.navigator.requestMediaKeySystemAccess?window.navigator.requestMediaKeySystemAccess.bind(window.navigator):null}();t.requestMediaKeySystemAccess=o},"./src/utils/mediasource-helper.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});function o(){if(typeof window<"u")return window.MediaSource||window.WebKitMediaSource}t.getMediaSource=o},"./src/utils/output-filter.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function d(h,f){this.timelineController=h,this.trackName=f,this.startTime=null,this.endTime=null,this.screen=null}return d.prototype.dispatchCue=function(){this.startTime!==null&&(this.timelineController.addCues(this.trackName,this.startTime,this.endTime,this.screen),this.startTime=null)},d.prototype.newCue=function(h,f,u){(this.startTime===null||this.startTime>h)&&(this.startTime=h),this.endTime=f,this.screen=u,this.timelineController.createCaptionsTrack(this.trackName)},d}();t.default=o},"./src/utils/texttrack-utils.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});function o(h,f){var u=null;try{u=new window.Event("addtrack")}catch{u=document.createEvent("Event"),u.initEvent("addtrack",!1,!1)}u.track=h,f.dispatchEvent(u)}t.sendAddTrackEvent=o;function d(h){if(h&&h.cues)for(;h.cues.length>0;)h.removeCue(h.cues[0])}t.clearCurrentCues=d},"./src/utils/time-ranges.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o={toString:function(d){for(var h="",f=d.length,u=0;u<f;u++)h+="["+d.start(u).toFixed(3)+","+d.end(u).toFixed(3)+"]";return h}};t.default=o},"./src/utils/vttcue.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){if(typeof window<"u"&&window.VTTCue)return window.VTTCue;var o="auto",d={"":!0,lr:!0,rl:!0},h={start:!0,middle:!0,end:!0,left:!0,right:!0};function f(R){if(typeof R!="string")return!1;var x=d[R.toLowerCase()];return x?R.toLowerCase():!1}function u(R){if(typeof R!="string")return!1;var x=h[R.toLowerCase()];return x?R.toLowerCase():!1}function p(R){for(var x=1;x<arguments.length;x++){var S=arguments[x];for(var g in S)R[g]=S[g]}return R}function _(R,x,S){var g=this,v=function(){if(!(typeof navigator>"u"))return/MSIE\s8\.0/.test(navigator.userAgent)}(),b={};v?g=document.createElement("custom"):b.enumerable=!0,g.hasBeenReset=!1;var T="",y=!1,w=R,C=x,D=S,N=null,P="",k=!0,F="auto",M="start",j=50,$="middle",B=50,X="middle";if(Object.defineProperty(g,"id",p({},b,{get:function(){return T},set:function(re){T=""+re}})),Object.defineProperty(g,"pauseOnExit",p({},b,{get:function(){return y},set:function(re){y=!!re}})),Object.defineProperty(g,"startTime",p({},b,{get:function(){return w},set:function(re){if(typeof re!="number")throw new TypeError("Start time must be set to a number.");w=re,this.hasBeenReset=!0}})),Object.defineProperty(g,"endTime",p({},b,{get:function(){return C},set:function(re){if(typeof re!="number")throw new TypeError("End time must be set to a number.");C=re,this.hasBeenReset=!0}})),Object.defineProperty(g,"text",p({},b,{get:function(){return D},set:function(re){D=""+re,this.hasBeenReset=!0}})),Object.defineProperty(g,"region",p({},b,{get:function(){return N},set:function(re){N=re,this.hasBeenReset=!0}})),Object.defineProperty(g,"vertical",p({},b,{get:function(){return P},set:function(re){var ae=f(re);if(ae===!1)throw new SyntaxError("An invalid or illegal string was specified.");P=ae,this.hasBeenReset=!0}})),Object.defineProperty(g,"snapToLines",p({},b,{get:function(){return k},set:function(re){k=!!re,this.hasBeenReset=!0}})),Object.defineProperty(g,"line",p({},b,{get:function(){return F},set:function(re){if(typeof re!="number"&&re!==o)throw new SyntaxError("An invalid number or illegal string was specified.");F=re,this.hasBeenReset=!0}})),Object.defineProperty(g,"lineAlign",p({},b,{get:function(){return M},set:function(re){var ae=u(re);if(!ae)throw new SyntaxError("An invalid or illegal string was specified.");M=ae,this.hasBeenReset=!0}})),Object.defineProperty(g,"position",p({},b,{get:function(){return j},set:function(re){if(re<0||re>100)throw new Error("Position must be between 0 and 100.");j=re,this.hasBeenReset=!0}})),Object.defineProperty(g,"positionAlign",p({},b,{get:function(){return $},set:function(re){var ae=u(re);if(!ae)throw new SyntaxError("An invalid or illegal string was specified.");$=ae,this.hasBeenReset=!0}})),Object.defineProperty(g,"size",p({},b,{get:function(){return B},set:function(re){if(re<0||re>100)throw new Error("Size must be between 0 and 100.");B=re,this.hasBeenReset=!0}})),Object.defineProperty(g,"align",p({},b,{get:function(){return X},set:function(re){var ae=u(re);if(!ae)throw new SyntaxError("An invalid or illegal string was specified.");X=ae,this.hasBeenReset=!0}})),g.displayState=void 0,v)return g}return _.prototype.getCueAsHTML=function(){var R=window.WebVTT;return R.convertCueToDOMTree(window,this.text)},_}()},"./src/utils/vttparser.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/utils/vttcue.js"),d=function(){return{decode:function(v){if(!v)return"";if(typeof v!="string")throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(v))}}};function h(){this.window=window,this.state="INITIAL",this.buffer="",this.decoder=new d,this.regionList=[]}function f(g){function v(T,y,w,C){return(T|0)*3600+(y|0)*60+(w|0)+(C|0)/1e3}var b=g.match(/^(\d+):(\d{2})(:\d{2})?\.(\d{3})/);return b?b[3]?v(b[1],b[2],b[3].replace(":",""),b[4]):b[1]>59?v(b[1],b[2],0,b[4]):v(0,b[1],b[2],b[4]):null}function u(){this.values=Object.create(null)}u.prototype={set:function(g,v){!this.get(g)&&v!==""&&(this.values[g]=v)},get:function(g,v,b){return b?this.has(g)?this.values[g]:v[b]:this.has(g)?this.values[g]:v},has:function(g){return g in this.values},alt:function(g,v,b){for(var T=0;T<b.length;++T)if(v===b[T]){this.set(g,v);break}},integer:function(g,v){/^-?\d+$/.test(v)&&this.set(g,parseInt(v,10))},percent:function(g,v){return v.match(/^([\d]{1,3})(\.[\d]*)?%$/)&&(v=parseFloat(v),v>=0&&v<=100)?(this.set(g,v),!0):!1}};function p(g,v,b,T){var y=T?g.split(T):[g];for(var w in y)if(typeof y[w]=="string"){var C=y[w].split(b);if(C.length===2){var D=C[0],N=C[1];v(D,N)}}}var _=new o.default(0,0,0),R=_.align==="middle"?"middle":"center";function x(g,v,b){var T=g;function y(){var D=f(g);if(D===null)throw new Error("Malformed timestamp: "+T);return g=g.replace(/^[^\sa-zA-Z-]+/,""),D}function w(D,N){var P=new u;p(D,function(M,j){switch(M){case"region":for(var $=b.length-1;$>=0;$--)if(b[$].id===j){P.set(M,b[$].region);break}break;case"vertical":P.alt(M,j,["rl","lr"]);break;case"line":var B=j.split(","),X=B[0];P.integer(M,X),P.percent(M,X)&&P.set("snapToLines",!1),P.alt(M,X,["auto"]),B.length===2&&P.alt("lineAlign",B[1],["start",R,"end"]);break;case"position":B=j.split(","),P.percent(M,B[0]),B.length===2&&P.alt("positionAlign",B[1],["start",R,"end","line-left","line-right","auto"]);break;case"size":P.percent(M,j);break;case"align":P.alt(M,j,["start",R,"end","left","right"]);break}},/:/,/\s/),N.region=P.get("region",null),N.vertical=P.get("vertical","");var k=P.get("line","auto");k==="auto"&&_.line===-1&&(k=-1),N.line=k,N.lineAlign=P.get("lineAlign","start"),N.snapToLines=P.get("snapToLines",!0),N.size=P.get("size",100),N.align=P.get("align",R);var F=P.get("position","auto");F==="auto"&&_.position===50&&(F=N.align==="start"||N.align==="left"?0:N.align==="end"||N.align==="right"?100:50),N.position=F}function C(){g=g.replace(/^\s+/,"")}if(C(),v.startTime=y(),C(),g.substr(0,3)!=="-->")throw new Error("Malformed time stamp (time stamps must be separated by '-->'): "+T);g=g.substr(3),C(),v.endTime=y(),C(),w(g,v)}function S(g){return g.replace(/<br(?: \/)?>/gi,`
|
|
37
37
|
`)}t.fixLineBreaks=S,h.prototype={parse:function(g){var v=this;g&&(v.buffer+=v.decoder.decode(g,{stream:!0}));function b(){var N=v.buffer,P=0;for(N=S(N);P<N.length&&N[P]!=="\r"&&N[P]!==`
|
|
@@ -249,7 +249,7 @@ For more info see: https://github.com/konvajs/react-konva/issues/256
|
|
|
249
249
|
`,Z_INDEX_WARNING=`ReactKonva: You are using "zIndex" attribute for a Konva node.
|
|
250
250
|
react-konva may get confused with ordering. Just define correct order of elements in your render function of a component.
|
|
251
251
|
For more info see: https://github.com/konvajs/react-konva/issues/194
|
|
252
|
-
`,EMPTY_PROPS={};function applyNodeProps(l,e,n=EMPTY_PROPS){if(!zIndexWarningShowed&&"zIndex"in e&&(console.warn(Z_INDEX_WARNING),zIndexWarningShowed=!0),!dragWarningShowed&&e.draggable){var t=e.x!==void 0||e.y!==void 0,a=e.onDragEnd||e.onDragMove;t&&!a&&(console.warn(DRAGGABLE_WARNING),dragWarningShowed=!0)}for(var o in n)if(!propsToSkip[o]){var d=o.slice(0,2)==="on",h=n[o]!==e[o];if(d&&h){var f=o.substr(2).toLowerCase();f.substr(0,7)==="content"&&(f="content"+f.substr(7,1).toUpperCase()+f.substr(8)),l.off(f,n[o])}var u=!e.hasOwnProperty(o);u&&l.setAttr(o,void 0)}var p=e._useStrictMode,_={},R=!1;const x={};for(var o in e)if(!propsToSkip[o]){var d=o.slice(0,2)==="on",S=n[o]!==e[o];if(d&&S){var f=o.substr(2).toLowerCase();f.substr(0,7)==="content"&&(f="content"+f.substr(7,1).toUpperCase()+f.substr(8)),e[o]&&(x[f]=e[o])}!d&&(e[o]!==n[o]||p&&e[o]!==l.getAttr(o))&&(R=!0,_[o]=e[o])}R&&(l.setAttrs(_),updatePicture(l));for(var f in x)l.on(f+EVENTS_NAMESPACE,x[f])}function updatePicture(l){if(!Global.Konva.autoDrawEnabled){var e=l.getLayer()||l.getStage();e&&e.batchDraw()}}var schedulerExports=requireScheduler();const NO_CONTEXT={},UPDATE_SIGNAL={};Konva.Node.prototype._applyProps=applyNodeProps;function appendInitialChild(l,e){if(typeof e=="string"){console.error(`Do not use plain text as child of Konva.Node. You are using text: ${e}`);return}l.add(e),updatePicture(l)}function createInstance(l,e,n){let t=Konva[l];t||(console.error(`Konva has no node with the type ${l}. Group will be used instead. If you use minimal version of react-konva, just import required nodes into Konva: "import "konva/lib/shapes/${l}" 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`),t=Konva.Group);const a={},o={};for(var d in e){var h=d.slice(0,2)==="on";h?o[d]=e[d]:a[d]=e[d]}const f=new t(a);return applyNodeProps(f,o),f}function createTextInstance(l,e,n){console.error(`Text components are not supported for now in ReactKonva. Your text is: "${l}"`)}function finalizeInitialChildren(l,e,n){return!1}function getPublicInstance(l){return l}function prepareForCommit(){return null}function preparePortalMount(){return null}function prepareUpdate(l,e,n,t){return UPDATE_SIGNAL}function resetAfterCommit(){}function resetTextContent(l){}function shouldDeprioritizeSubtree(l,e){return!1}function getRootHostContext(){return NO_CONTEXT}function getChildHostContext(){return NO_CONTEXT}const scheduleTimeout=setTimeout,cancelTimeout=clearTimeout,noTimeout=-1;function shouldSetTextContent(l,e){return!1}const isPrimaryRenderer=!1,warnsIfNotActing=!0,supportsMutation=!0;function appendChild(l,e){e.parent===l?e.moveToTop():l.add(e),updatePicture(l)}function appendChildToContainer(l,e){e.parent===l?e.moveToTop():l.add(e),updatePicture(l)}function insertBefore(l,e,n){e._remove(),l.add(e),e.setZIndex(n.getZIndex()),updatePicture(l)}function insertInContainerBefore(l,e,n){insertBefore(l,e,n)}function removeChild(l,e){e.destroy(),e.off(EVENTS_NAMESPACE),updatePicture(l)}function removeChildFromContainer(l,e){e.destroy(),e.off(EVENTS_NAMESPACE),updatePicture(l)}function commitTextUpdate(l,e,n){console.error(`Text components are not yet supported in ReactKonva. You text is: "${n}"`)}function commitMount(l,e,n){}function commitUpdate(l,e,n,t,a){applyNodeProps(l,a,t)}function hideInstance(l){l.hide(),updatePicture(l)}function hideTextInstance(l){}function unhideInstance(l,e){(e.visible==null||e.visible)&&l.show()}function unhideTextInstance(l,e){}function clearContainer(l){}function detachDeletedInstance(){}const getCurrentEventPriority=()=>constantsExports.DefaultEventPriority,HostConfig=Object.freeze(Object.defineProperty({__proto__:null,appendChild,appendChildToContainer,appendInitialChild,cancelTimeout,clearContainer,commitMount,commitTextUpdate,commitUpdate,createInstance,createTextInstance,detachDeletedInstance,finalizeInitialChildren,getChildHostContext,getCurrentEventPriority,getPublicInstance,getRootHostContext,hideInstance,hideTextInstance,idlePriority:schedulerExports.unstable_IdlePriority,insertBefore,insertInContainerBefore,isPrimaryRenderer,noTimeout,now:schedulerExports.unstable_now,prepareForCommit,preparePortalMount,prepareUpdate,removeChild,removeChildFromContainer,resetAfterCommit,resetTextContent,run:schedulerExports.unstable_runWithPriority,scheduleTimeout,shouldDeprioritizeSubtree,shouldSetTextContent,supportsMutation,unhideInstance,unhideTextInstance,warnsIfNotActing},Symbol.toStringTag,{value:"Module"}));var __defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(l,e,n)=>e in l?__defProp(l,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):l[e]=n,__spreadValues=(l,e)=>{for(var n in e||(e={}))__hasOwnProp.call(e,n)&&__defNormalProp(l,n,e[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(e))__propIsEnum.call(e,n)&&__defNormalProp(l,n,e[n]);return l},__spreadProps=(l,e)=>__defProps(l,__getOwnPropDescs(e));function traverseFiber(l,e,n){if(!l)return;if(n(l)===!0)return l;let t=e?l.return:l.child;for(;t;){const a=traverseFiber(t,e,n);if(a)return a;t=e?null:t.sibling}}function wrapContext(l){try{return Object.defineProperties(l,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return l}}const FiberContext=wrapContext(React__namespace.createContext(null));class FiberProvider extends React__namespace.Component{render(){return React__namespace.createElement(FiberContext.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner,ReactCurrentDispatcher}=React__namespace.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function useFiber(){const l=React__namespace.useContext(FiberContext);if(l===null)throw new Error("its-fine: useFiber must be called within a <FiberProvider />!");const e=React__namespace.useId();return React__namespace.useMemo(()=>{for(const t of[ReactCurrentOwner==null?void 0:ReactCurrentOwner.current,l,l==null?void 0:l.alternate]){if(!t)continue;const a=traverseFiber(t,!1,o=>{let d=o.memoizedState;for(;d;){if(d.memoizedState===e)return!0;d=d.next}});if(a)return a}},[l,e])}function useContextMap(){var l,e;const n=useFiber(),[t]=React__namespace.useState(()=>new Map);t.clear();let a=n;for(;a;){const o=(l=a.type)==null?void 0:l._context;o&&o!==FiberContext&&!t.has(o)&&t.set(o,(e=ReactCurrentDispatcher==null?void 0:ReactCurrentDispatcher.current)==null?void 0:e.readContext(wrapContext(o))),a=a.return}return t}function useContextBridge(){const l=useContextMap();return React__namespace.useMemo(()=>Array.from(l.keys()).reduce((e,n)=>t=>React__namespace.createElement(e,null,React__namespace.createElement(n.Provider,__spreadProps(__spreadValues({},t),{value:l.get(n)}))),e=>React__namespace.createElement(FiberProvider,__spreadValues({},e))),[l])}function usePrevious(l){const e=React$2.useRef({});return React$2.useLayoutEffect(()=>{e.current=l}),React$2.useLayoutEffect(()=>()=>{e.current={}},[]),e.current}const StageWrap=l=>{const e=React$2.useRef(),n=React$2.useRef(),t=React$2.useRef(),a=usePrevious(l),o=useContextBridge(),d=h=>{const{forwardedRef:f}=l;f&&(typeof f=="function"?f(h):f.current=h)};return React$2.useLayoutEffect(()=>(n.current=new Konva.Stage({width:l.width,height:l.height,container:e.current}),d(n.current),t.current=KonvaRenderer.createContainer(n.current,constantsExports.LegacyRoot,!1,null),KonvaRenderer.updateContainer(React$2.createElement(o,{},l.children),t.current),()=>{Konva.isBrowser&&(d(null),KonvaRenderer.updateContainer(null,t.current,null),n.current.destroy())}),[]),React$2.useLayoutEffect(()=>{d(n.current),applyNodeProps(n.current,l,a),KonvaRenderer.updateContainer(React$2.createElement(o,{},l.children),t.current,null)}),React$2.createElement("div",{ref:e,id:l.id,accessKey:l.accessKey,className:l.className,role:l.role,style:l.style,tabIndex:l.tabIndex,title:l.title})},Layer="Layer",Group="Group",Rect="Rect",Line="Line",Image$2="Image",Text="Text",KonvaRenderer=ReactFiberReconciler(HostConfig);KonvaRenderer.injectIntoDevTools({findHostInstanceByFiber:()=>null,bundleType:process.env.NODE_ENV!=="production"?1:0,version:React$2.version,rendererPackageName:"react-konva"});const Stage=React$2.forwardRef((l,e)=>React$2.createElement(FiberProvider,{},React$2.createElement(StageWrap,{...l,forwardedRef:e})));var client={},m=require$$0;if(process.env.NODE_ENV==="production")client.createRoot=m.createRoot,client.hydrateRoot=m.hydrateRoot;else{var i=m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;client.createRoot=function(l,e){i.usingClientEntryPoint=!0;try{return m.createRoot(l,e)}finally{i.usingClientEntryPoint=!1}},client.hydrateRoot=function(l,e,n){i.usingClientEntryPoint=!0;try{return m.hydrateRoot(l,e,n)}finally{i.usingClientEntryPoint=!1}}}var __rest=function(l,e){var n={};for(var t in l)Object.prototype.hasOwnProperty.call(l,t)&&e.indexOf(t)<0&&(n[t]=l[t]);if(l!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,t=Object.getOwnPropertySymbols(l);a<t.length;a++)e.indexOf(t[a])<0&&Object.prototype.propertyIsEnumerable.call(l,t[a])&&(n[t[a]]=l[t[a]]);return n};const needForceStyle=l=>{const e=window.getComputedStyle(l).position;return!(e==="absolute"||e==="relative")};function useEvent(l=()=>{}){const e=React$2.useRef(l);return e.current=l,React$2.useCallback((...n)=>e.current.apply(null,n),[])}const Html=({children:l,groupProps:e,divProps:n,transform:t,transformFunc:a})=>{const o=React$2.useRef(null);React$2.useRef();const[d]=React$2.useState(()=>document.createElement("div")),h=React$2.useMemo(()=>client.createRoot(d),[d]),f=t??!0,u=useEvent(()=>{if(f&&o.current){let S=o.current.getAbsoluteTransform().decompose();a&&(S=a(S)),d.style.position="absolute",d.style.zIndex="10",d.style.top="0px",d.style.left="0px",d.style.transform=`translate(${S.x}px, ${S.y}px) rotate(${S.rotation}deg) scaleX(${S.scaleX}) scaleY(${S.scaleY})`,d.style.transformOrigin="top left"}else d.style.position="",d.style.zIndex="",d.style.top="",d.style.left="",d.style.transform="",d.style.transformOrigin="";const p=n||{},{style:_}=p,R=__rest(p,["style"]);Object.assign(d.style,_),Object.assign(d,R)});return React$2.useLayoutEffect(()=>{var p;const _=o.current;if(!_)return;const R=(p=_.getStage())===null||p===void 0?void 0:p.container();if(R)return R.appendChild(d),f&&needForceStyle(R)&&(R.style.position="relative"),_.on("absoluteTransformChange",u),u(),()=>{var x;_.off("absoluteTransformChange",u),(x=d.parentNode)===null||x===void 0||x.removeChild(d)}},[f]),React$2.useLayoutEffect(()=>{u()},[n,a]),React$2.useLayoutEffect(()=>{h.render(l)}),React$2.useLayoutEffect(()=>()=>{setTimeout(()=>{h.unmount()})},[]),React$2.createElement(Group,Object.assign({ref:o},e))};function Area({area:l,finished:e,isClicked:n,isBad:t,hasHighlights:a,completed:o,onClick:d,onClickOutside:h}){const f=React$2.useRef(),[u,p]=React$2.useState(),_=t?"rgba(255, 99, 77, 0.32)":"rgba(75, 215, 169, 0.32)",R=t?"#ff634d":"#4bd7a9",x=DeviceDetection(),S=()=>{var y,w,C;a&&!o&&!n&&((y=f.current)==null||y.setAttr("fill","rgba(130, 134, 142, 0.4)"),(w=f.current)==null||w.setAttr("stroke","rgba(255, 255, 255, 0.3)"),(C=f.current)==null||C.to({duration:.25,opacity:1}))},g=()=>{var y;a&&!o&&!n&&((y=f.current)==null||y.to({duration:.25,opacity:0}))};React$2.useEffect(()=>{var y,w,C;o&&!e&&(t?(C=f.current)==null||C.to({duration:.25,opacity:0}):((y=f.current)==null||y.to({duration:.25,opacity:1}),(w=f.current)==null||w.globalCompositeOperation("destination-out")))},[o,e,t]);const v=()=>{var y,w;o||(t?h(l):d(l),(y=f.current)==null||y.setAttr("fill",_),(w=f.current)==null||w.setAttr("stroke",R))},b=l.scaleX?l.scaleX:1,T=l.scaleY?l.scaleY:1;return React$2.useLayoutEffect(()=>{const y=f.current.getStage();y.on("stage-loaded",()=>{const w=f.current.getClientRect({relativeTo:f.current.getParent()});p({x:w.x+w.width/2,y:w.y+w.height/2}),y.batchDraw()})},[l]),jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[u?jsxRuntimeExports.jsx(Html,{transform:!0,groupProps:{id:"projection",...u},divProps:{style:{pointerEvents:"none"}},children:jsxRuntimeExports.jsx("div",{style:{width:"50px",height:"50px",pointerEvents:"none"},id:l.id})}):null,jsxRuntimeExports.jsx(Line,{name:l.id,ref:f,onFocus:()=>S(),onMouseOver:()=>S(),onMouseLeave:g,onClick:()=>v(),onTap:()=>v(),x:l.x,y:l.y,scale:{x:b,y:T},skew:{x:l.skewX,y:l.skewY},rotation:l.rotation,points:l.points,shape:"poly",fill:e?"":_,stroke:e||n?R:"",strokeWidth:x?10:4,opacity:e||n?1:0,closed:!0})]})}Area.defaultProps={finished:!1,isBad:!1,isClicked:!1,hasHighlights:!1,completed:!1,onClick:()=>{},onClickOutside:()=>{}};const useWindowSize=()=>{const[l,e]=React$2.useState([0,0]);return React$2.useLayoutEffect(()=>{function n(){const t=document.querySelector("#root");e([t.clientWidth,t.clientHeight])}return window.addEventListener("resize",n),n(),()=>window.removeEventListener("resize",n)},[]),l};function KonvaMapper({areas:l,badAreas:e,imageUrl:n,completed:t,onClick:a,onClickOutside:o,hasHighlights:d,clickedZones:h}){const f=React$2.useRef(),u=React$2.useRef(),p=React$2.useRef(),_=React$2.useRef(),R=React$2.useRef(),x=React$2.useRef(),S=React$2.useRef(),[g,v]=React$2.useState(new window.Image),[b,T]=useWindowSize(),y=e.find(D=>D.id==="AllArea")||!1,w=e.filter(D=>D.id!=="AllArea");React$2.useEffect(()=>{S.current&&u.current&&t&&(S.current.to({duration:.25,opacity:.5}),u.current.setAttr("visible",!0))},[t]);const C=D=>{y&&!D.target.attrs.shape&&o(y)};return React$2.useEffect(()=>{g.src=n,g.addEventListener("load",()=>{if(f.current){const D={x:b/2,y:T/2,width:g.width,height:g.height,offsetX:g.width/2,offsetY:g.height/2,scale:{x:Math.min(b/g.width,T/g.height),y:Math.min(b/g.width,T/g.height)}};_.current&&_.current.setAttrs(D),R.current&&R.current.setAttrs(D),u.current&&u.current.setAttrs(D),p.current&&p.current.setAttrs(D),x.current&&x.current.setAttrs(D),f.current.batchDraw(),v(g),f.current.fire("stage-loaded")}})},[g,T,n,b]),jsxRuntimeExports.jsxs(Stage,{ref:f,width:b,height:T,onClick:C,onTouchEnd:C,children:[jsxRuntimeExports.jsx(Layer,{children:jsxRuntimeExports.jsx(Image$2,{ref:x,image:g})}),jsxRuntimeExports.jsxs(Layer,{children:[jsxRuntimeExports.jsx(Rect,{ref:S,width:b,height:T,fill:"black",opacity:0}),jsxRuntimeExports.jsx(Group,{ref:R,children:w.map((D,N)=>jsxRuntimeExports.jsx(Area,{hasHighlights:d,completed:t,onClick:a,onClickOutside:o,area:D,isBad:!0},D.name+"_"+N))}),jsxRuntimeExports.jsx(Group,{ref:_,children:l.map((D,N)=>jsxRuntimeExports.jsx(Area,{hasHighlights:d,completed:t,onClick:a,onClickOutside:o,area:D,isClicked:h.some(P=>P.index===D.index)},D.name+"_"+N))}),jsxRuntimeExports.jsx(Group,{ref:p,visible:!1,children:w.map((D,N)=>jsxRuntimeExports.jsx(Area,{hasHighlights:d,completed:t,onClick:a,onClickOutside:o,area:D,isBad:!0,finished:!0},D.name+"_"+N))}),jsxRuntimeExports.jsx(Group,{ref:u,visible:!1,children:l.map((D,N)=>jsxRuntimeExports.jsx(Area,{hasHighlights:d,completed:t,onClick:a,onClickOutside:o,area:D,finished:!0},D.name+"_"+N))})]})]})}KonvaMapper.defaultProps={hasHighlights:!1,onClick:()=>{},completed:!1,onClickOutside:()=>{}};function TimerDialog({retry:l,translate:e,onInit:n}){return jsxRuntimeExports.jsx("div",{className:"timer-dialog",children:jsxRuntimeExports.jsxs("div",{className:"timer-dialog__container",children:[jsxRuntimeExports.jsx("div",{className:"timer-dialog__title",children:e("storylines.misc.ready")}),jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__primary",onClick:n,children:jsxRuntimeExports.jsx("span",{children:e(l?"storylines.misc.start":"storylines.misc.retry")})})]})})}function CountDown({time:l}){const e=Math.floor(l/60),n=l%60;return jsxRuntimeExports.jsx("div",{className:`count-down count-down--in-puzzle-frame ${l<10?"count-down--finalseconds":""}`,children:jsxRuntimeExports.jsxs("div",{children:[e<10?`0${e}`:e," : ",n<10?`0${Math.floor(n)}`:Math.floor(n)]})})}const defaultImg="https://min.gamelearn.io/css-resources/gamelearn/resources/puzzle-login-low.png";function ImageReview(){return jsxRuntimeExports.jsx("div",{className:"puzzle--image__preview",children:jsxRuntimeExports.jsx("img",{alt:"img",src:"https://min.gamelearn.io/css-resources/gamelearn/resources/image-click.jpg"})})}function ImageClickWrapperComponent(l){var Ge,De,Re;const{soundActions:e,emitEvent:n,getEvent:t,handleClick:a,disableExit:o,setResolveAction:d,info:h,image:f,areas:u,badAreas:p,hasClickOrder:_,timer:R,hasClickOnce:x,hasHighlights:S,hasImageReview:g,defaultCompleted:v,className:b,emitFinish:T,emitResolve:y,translateFromParent:w,specificFeedbacks:C,slideNumber:D,emitResetPuzzle:N,firstTryForFrame:P,puzzlesAutoCompleted:k,emitOpenPopupCounterInfo:F,pause:M,keyboardControl:j}=l,[$,B]=React$2.useState([]),[X,re]=React$2.useState(!1),[ae,ee]=React$2.useState(!1),[K,ne]=React$2.useState({show:!1,success:!1,text:"",rewards:[]}),ue=React$2.useRef(!1),[me,J]=React$2.useState(!0),[H,W]=React$2.useState(!1),V=React$2.useRef(null),z=React$2.useRef(null),Y=React$2.useRef(null),ie=React$2.useRef(null),le=React$2.useRef(null),fe=React$2.useRef(null),ce=React$2.useRef(null),ge=React$2.useRef(null),Se=React$2.useRef(null),[Te,Fe]=React$2.useState(R),Ne=ye=>w?w(ye):t({type:"translate",payload:ye}),[Qe]=e,{solution:st}=h,Ze=((Ge=f==null?void 0:f.img)==null?void 0:Ge.url)||defaultImg,yt=u.map((ye,Pe)=>({index:Pe,shape:"poly",...ye})),Ve=p.map((ye,Pe)=>({index:Pe,shape:"poly",...ye})),Me=React$2.useCallback(()=>{if(!me){const ye=setInterval(()=>{Fe(Pe=>Pe>1?Pe-1:0)},1e3);Se.current=ye}},[me]),Le=React$2.useCallback((ye,Pe)=>{T?T(ye,Pe):n({type:"addPoints",payload:ye})},[n,T]);React$2.useEffect(()=>{X&&o(!0)},[X,o]),React$2.useEffect(()=>{re(v)},[v]);const Ke=React$2.useCallback(()=>{clearInterval(Y.current)},[]),ke=React$2.useCallback(()=>{clearInterval(Se.current)},[]),qe=React$2.useCallback(ye=>{le.current=Date.now(),ie.current?(ce.current=ie.current-le.current,Ke()):(ce.current=le.current-(le.current-ye*1e3),Ke())},[Ke]),St=React$2.useCallback(()=>{ne(()=>{var ye,Pe;return{show:!0,success:!1,text:(ye=h==null?void 0:h.timerFeedback)!=null&&ye.desc?h.timerFeedback.desc:"",rewards:(Pe=h==null?void 0:h.timerFeedback)==null?void 0:Pe.rewards}}),W(!0),ke(),Ke()},[ke,Ke,(De=h.timerFeedback)==null?void 0:De.desc,(Re=h.timerFeedback)==null?void 0:Re.rewards]),Ye=React$2.useCallback(()=>{clearInterval(Y.current),Y.current=setInterval(()=>{z.current=Date.now(),z.current>ie.current&&St()},250)},[St]);React$2.useEffect(()=>{var ye;if((u.length===$.length||x&&$.length>0)&&!X){re(!0);const Pe=$[$.length-1],Xe=C==null?void 0:C.correctFeedbacks.find(Ft=>Ft.id===Pe.id);(!((ye=C==null?void 0:C.correctFeedbacks)!=null&&ye.length)||C!=null&&C.correctFeedbacks.some(Ft=>!Ft.desc)||x)&&(ne(Ft=>({...Ft,show:!0,success:!0,text:Xe?Xe.desc:h.solution.right.desc,rewards:Xe?Xe.rewards:h.solution.right.rewards})),R&&(ke(),qe()))}},[$,u.length,C,x,X,h.solution.right,qe,R,ke]),React$2.useEffect(()=>{d(ye=>{R&&(ke(),J(!1),K.show?ne(Pe=>({...Pe,show:!1,success:!1,text:"",rewards:[]})):Ke()),re(!0),ee(!0),setTimeout(()=>{y?y(ye):ye()},4e3)})},[d,y,Qe,R,K.show,Ke,ke]),React$2.useEffect(()=>{ae&&o(!0)},[ae,o]);const ot=(ye,Pe=!1)=>{var Xe,Ft;if(!X){const{rewards:Pt,desc:Ie}=st.wrong;let mt=Ie,Ct=Pt;const at=(Xe=C==null?void 0:C.wrongFeedbacks)==null?void 0:Xe.find(wt=>wt.id===ye.id);at&&(mt=at.desc,Ct=at.rewards),_&&(B([]),Pe&&(Ft=h==null?void 0:h.orderFeedback)!=null&&Ft.desc&&(mt=h.orderFeedback.desc,Ct=h.orderFeedback.rewards)),R&&(ke(),qe()),ne(wt=>({...wt,show:!0,success:!1,text:mt,rewards:Ct})),Qe("fail")}},$e=React$2.useCallback(()=>{fe.current=Date.now();const ye=fe.current+ce.current;z.current=null,ie.current=ye,(R||H)&&(K.success?u.length===$.length||x&&$.length>0?ke():(Fe(ce.current*.001),Me(),Ye()):(B([]),J(!0),N())),Le(K.rewards,K.success),Qe("click-ui"),ne(Pe=>({...Pe,show:!1,success:!1,text:"",rewards:[]}))},[R,H,Le,K.rewards,K.success,Qe,u.length,$.length,x,N,ke,Me,Ye]),rt=ye=>{var Pe,Xe;if(!$.some(Ft=>Ft.index===ye.index)&&!K.show&&!X){Qe("click-ui");let Ft=st.right.desc,{rewards:Pt}=st.right;const Ie=[...$,ye];if(_&&ye.index===$.length||!_){if(R&&qe(Te),a(),(Pe=C==null?void 0:C.correctFeedbacks)!=null&&Pe.length){const mt=(Xe=C.correctFeedbacks)==null?void 0:Xe.find(Ct=>Ct.id===ye.id);mt&&(Ft=mt.desc,Pt=mt.rewards),!Ft&&u.length>Ie.length&&!x?Le(Pt,!0):Ft&&!x&&(ne(Ct=>({...Ct,show:!0,success:!0,text:Ft,rewards:Pt})),R&&ke())}B(Ie)}else ot(ye,!0)}},ft=React$2.useCallback(()=>{ke(),Fe(R),Me(),!ue.current&&P&&F(),J(!1),V.current=Date.now(),ie.current=V.current+R*1e3,Ye()},[ke,R,Me,P,Ye,F]);return React$2.useEffect(()=>{R&&D>0&&!ge.current&&(P&&Object.keys(k).length&&k[D-1]?(J(!0),ge.current=!0):J(!1))},[v,P,k,D,R]),React$2.useEffect(()=>{R&&Te===0&&St()},[Te,St,R]),React$2.useEffect(()=>{R&&(M?(ke(),qe()):Me())},[ke,Ye,M,qe,Me,R]),jsxRuntimeExports.jsxs("div",{className:b,children:[K.show?jsxRuntimeExports.jsx(FeedbackComponent$1,{playSound:Qe,text:K.text,success:K.success,translate:Ne,hasTimeout:!K.text,delay:R?1e3:2e3,functionOnClose:$e,timeExpired:H,keyboardControl:j}):null,jsxRuntimeExports.jsx(KonvaMapper,{completed:X,imageUrl:Ze,areas:x&&$.length?[$[0]]:yt,badAreas:Ve,clickedZones:$,onClick:rt,onClickOutside:ot,hasHighlights:S,emitEvent:n}),g?jsxRuntimeExports.jsx(ImageReview,{}):null,R&&me?jsxRuntimeExports.jsx(TimerDialog,{retry:P||k[D-1],translate:Ne,onInit:ft}):null,R?jsxRuntimeExports.jsx(CountDown,{time:Te}):null]})}ImageClickWrapperComponent.defaultProps={info:{instructions:"",resolve:{},solution:{},hint:{},title:""},badAreas:[],className:"puzzle--image__click",hasClickOrder:!1,hasClickOnce:!1,hasHighlights:!1,hasImageReview:!1,defaultCompleted:!1,hideContinue:!1,emitAreaClick:()=>{},handleClick:()=>{},getEvent:()=>{}};function ImageClickPuzzleComponent(l){const e=(n,t)=>{t?(l.emitEvent({type:"addPoints",complex:!0,finish:!0,payload:n}),l.emitEvent({type:"passPuzzle"})):(l.emitEvent({type:"addPoints",payload:n,finish:!1}),l.emitEvent({type:"failPuzzle"}))};return jsxRuntimeExports.jsx(ImageClickWrapperComponent,{...l,emitFinish:e,name:"image-click-puzzle"})}const GREEN="#44d7ab",ORANGE="#FFB34B",RED="#FF634D",getDistance=(l,e)=>Math.max(Math.abs(l[0]-e[0]),Math.abs(l[1]-e[1])),generatePasswordPositions=(l,e,n,t)=>{const a=[],o=l;for(const d of e.toLowerCase()){const h=Math.floor(Math.random()*n),f=Math.floor(Math.random()*t);o[h][f].value=d,a.push({char:d,position:[h,f]})}return[o,a]},paintedGridPassword=(l,e,n,t)=>{const a=l;for(let o=0;o<e;o+=1)for(let d=0;d<n;d+=1)switch(t.reduce((f,u)=>{const p=[o,d],_=getDistance(u.position,p);return _<f?_:f},9999)){case 0:a[o][d].hiddenColor=GREEN;break;case 1:a[o][d].hiddenColor=ORANGE;break;case 2:a[o][d].hiddenColor=RED;break}return a},resetColors=(l,e,n)=>{const t=n;for(let a=0;a<l;a+=1)for(let o=0;o<e;o+=1)t[a][o].color="",t[a][o].hiddenColor=RED;return t},repaintGridPassword=(l,e,n,t)=>{const a=resetColors(n,t,l),[o,d]=generatePasswordPositions(a,e,n,t);return paintedGridPassword(o,n,t,d)},prepareAcceptedChars=(l,e)=>e.split("").filter(n=>!l.includes(n)).join(""),generateBasicGrid=(l,e,n)=>{const t=[];for(let a=0;a<l;a+=1){const o=[];for(let d=0;d<e;d+=1){const h={color:"",hiddenColor:RED,value:n[Math.floor(Math.random()*n.length)]};o.push(h)}t.push(o)}return t},makeSomeNoise=({numberOfColumns:l,numberOfRows:e,password:n})=>{const t=LangIsRtl()?"٠١٢٣٤٥٦٧٨٩شزذيثبلاهتنمورخحضقسفعدصطغظ":"0123456789abcdefghijklmnopqrstuvwxyz",a=prepareAcceptedChars(n,t),o=generateBasicGrid(e,l,a),[d,h]=generatePasswordPositions(o,n,e,l);return paintedGridPassword(d,e,l,h)};function DrawItem({item:l,rowIndex:e,columnIndex:n,setCursorPosition:t,cursorPosition:a}){const o=Math.abs(e-a[0])<3&&Math.abs(n-a[1])<3;return jsxRuntimeExports.jsx("span",{className:"puzzle--cracker__item",style:{backgroundColor:`${o?l.hiddenColor:l.color}`,flexGrow:1,textAlign:"center"},onMouseOver:()=>{t([e,n])},onFocus:()=>{t([e,n])},children:l.value})}DrawItem.defaultProps={setCursorPosition:()=>{}};DrawItem.propTypes={item:PropTypes.shape({color:PropTypes.string,hiddenColor:PropTypes.string,value:PropTypes.string}).isRequired,rowIndex:PropTypes.number.isRequired,columnIndex:PropTypes.number.isRequired,cursorPosition:PropTypes.arrayOf(PropTypes.number).isRequired,setCursorPosition:PropTypes.func};function DrawRow({row:l,rowIndex:e,setCursorPosition:n,cursorPosition:t}){return l.length?jsxRuntimeExports.jsx("div",{className:"puzzle--cracker",children:l.map((a,o)=>jsxRuntimeExports.jsx(DrawItem,{item:a,rowIndex:e,columnIndex:o,setCursorPosition:n,cursorPosition:t},o))}):null}DrawRow.defaultProps={row:[]};DrawRow.propTypes={row:PropTypes.arrayOf(PropTypes.shape({})),rowIndex:PropTypes.number.isRequired,setCursorPosition:PropTypes.func.isRequired,cursorPosition:PropTypes.arrayOf(PropTypes.number).isRequired};function DrawGrid({grid:l,cursorPosition:e,setCursorPosition:n}){return jsxRuntimeExports.jsx("div",{className:"puzzle--cracker__canvas",children:l.map((t,a)=>jsxRuntimeExports.jsx(DrawRow,{row:t,rowIndex:a,cursorPosition:e,setCursorPosition:n},a))})}DrawGrid.defaultProps={setCursorPosition:()=>{}};const VELOCITY_MAP={slow:2,fast:5,fastest:10},DIFFICULTY_MAP={easy:{visibleRows:"auto",visibleColumns:40,totalRows:25},medium:{visibleRows:"auto",visibleColumns:40,totalRows:40},hard:{visibleRows:"auto",visibleColumns:40,totalRows:80}};function CrackerPuzzleComponent({emitEvent:l,soundActions:e,info:n,velocity:t,password:a,disableExit:o,difficulty:d,setResolveAction:h,getEvent:f}){const[u]=e,p=J=>f({type:"translate",payload:J}),_=React$2.useRef(),R=React$2.useRef(),{solution:x}=n,[S,g]=React$2.useState(a.toLowerCase()),[v,b]=React$2.useState(),[T,y]=React$2.useState(Array(a.toLowerCase().length).fill("")),[w,C]=React$2.useState(!1),[D,N]=React$2.useState([0,0]),P=p("puzzle.cracker.crackedPassword"),k=n.solution.right.desc&&n.solution.right.desc!==""?n.solution.right.desc:"",F=p("puzzle.cracker.congratulations"),[M,j]=React$2.useState([[]]),{visibleRows:$,visibleColumns:B}=DIFFICULTY_MAP[d];let X=$==="auto"?Math.ceil(window.innerHeight*.025):$;X=X>=20?X:20,React$2.useEffect(()=>{w&&o(!0)},[w,o]),React$2.useEffect(()=>{h(J=>{u("score"),C(!0),setTimeout(()=>{l({type:"hidePuzzleButtons",payload:!1}),J()},0)})},[h,u]);const re=()=>{u("click-ui");const{rewards:J}=x.right;l({type:"addPoints",complex:!0,finish:!0,payload:J}),l({type:"passPuzzle"})},ae=()=>a.toLowerCase().split("").map((H,W)=>({char:H,index:W,used:!1})),ee=J=>J.filter(H=>H.used===!1).map(H=>H.char).join(""),K=J=>{if(J[0].length>0&&!w){const H=[...J];return H.push(H.shift()),H}return J};let ne=0;const ue=J=>{if(R.current!==void 0){const H=J-R.current;ne+=H,ne>1e3/VELOCITY_MAP[t]&&(j(K),ne=0)}R.current=J,_.current=requestAnimationFrame(ue)};React$2.useEffect(()=>{g(a.toLowerCase());const J=makeSomeNoise({numberOfColumns:B,numberOfRows:X,password:a.toLowerCase()});return j(J),b(ae()),_.current=requestAnimationFrame(ue),()=>cancelAnimationFrame(_.current)},[]);const me=()=>{if(M.length<=1)return;const[J,H]=D,W=M[J][H];if(W.hiddenColor===GREEN){const V=v.filter(z=>z.char===W.value.toLowerCase()&&z.used===!1)[0];if(V){const{index:z}=V;u("score");const Y=v;Y[z].used=!0,b(Y);const ie=[...T];ie[z]=W.value;const le=ee(Y);g(le);const fe=repaintGridPassword(M,le,X,B);j(fe),y(ie)}}S<=0&&(u("score"),C(!0))};return React$2.useEffect(()=>{w||me()},[D]),jsxRuntimeExports.jsxs("div",{className:"puzzle--cracker__container",children:[jsxRuntimeExports.jsxs("div",{className:"puzzle--cracker__header",children:[jsxRuntimeExports.jsx("span",{className:"title",children:"Dcoder.exe"}),jsxRuntimeExports.jsx("div",{className:"puzzle--pieces",children:T.map((J,H)=>jsxRuntimeExports.jsx("span",{className:"puzzle--pieces__item",children:J&&jsxRuntimeExports.jsx("span",{className:"character success-transition-animation","data-testid":`solution${H}`,children:J})},`${J+H}`))})]}),jsxRuntimeExports.jsx(DrawGrid,{grid:w?[[]]:M,cursorPosition:D,setCursorPosition:N}),w&&P&&F&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs(Typist,{avgTypingDelay:110,cursor:{hideWhenDone:!0},className:"puzzle--cracker__result",children:[jsxRuntimeExports.jsx(Typist.Delay,{ms:300}),jsxRuntimeExports.jsxs("span",{children:[`${P} ${a.toLowerCase()}`," "]}),jsxRuntimeExports.jsxs("span",{children:[F," "]}),k!==""&&jsxRuntimeExports.jsx("span",{children:k})]}),jsxRuntimeExports.jsx("div",{className:"position--absolute bottom center",children:jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__primary gat--btn__cracker",onClick:re,children:p("screens.continue")})})]})]})}CrackerPuzzleComponent.defaultProps={velocity:"slow",difficulty:"easy",context:{},info:{}};const ARABIC=/[\u0600-\u06FF]/,restrictCharacters=(l,e)=>{let n=!1;return e==="or"&&(n=l===""||l===" "||l===","||l==="."||l==="/"),e==="and"&&(n=l&&l!==" "&&l!==","&&l!=="."&&l!==""&&l!=="/"),n},sortChar=(l,e)=>l.char>e.char?1:l.char<e.char?-1:0,analyzeChars=l=>{const e={anyArabic:!1,anyNumber:!1,anyWestern:!1};for(let n=0;n<l.length;n+=1){const t=l[n].charCodeAt(0);t>=65&&t<=90?e.anyWestern=!0:t>=48&&t<=57?e.anyNumber=!0:ARABIC.test(l[n])&&(e.anyArabic=!0)}return e},makeChar=l=>{const e="شزذيثبلاهتنمورخحضثقسفعدصطغظ",n="ABCDEFGHIJKLMNOPQRSTUVWXYZ",t="0123456789";let a="";return l.anyWestern&&(a+=n),l.anyNumber&&(a+=t),l.anyArabic&&(a+=e),a.charAt(Math.floor(Math.random()*a.length))},MAX_POOL_LETTERS=26,MAX_EXTRA_LETTERS=8,AnswerPanel=({answer:l,flickerPosition:e,show:n=!1,showCorrectSolution:t})=>{const a=[];let o=0;return l.forEach(d=>{a[o]||(a[o]=[]),a[o]=[...a[o],d],d.char===" "&&(o+=1),t||(d.positionInitial=d.index)}),a.map((d,h)=>jsxRuntimeExports.jsx("div",{dir:"auto",className:"puzzle--hanged__word","data-testid":`result-${h}`,children:n?d.map((f,u)=>jsxRuntimeExports.jsx("span",{className:"puzzle--hanged__letter active",children:f},`${f+u}`)):d.filter(({char:f})=>f!==" ").map(({char:f,fixed:u},p)=>jsxRuntimeExports.jsx("span",{className:`puzzle--hanged__letter ${u?"":"active"} ${d[p].positionInitial===e?"fakeFocus":""}`,children:f},`${f+p}`))},`${d+h}`))},defaultImage="https://min.gamelearn.io/css-resources/gamelearn/resources/partenon.jpg";function HangedPuzzleComponent({soundActions:l,emitEvent:e,getEvent:n,disableExit:t,question:a,image:o,info:d,answer:h,hintUsed:f,setResolveAction:u,setHintAction:p,keyboardControl:_}){var fe;const[R]=l,x=((fe=o.img)==null?void 0:fe.url)||defaultImage,[S,g]=React$2.useState(0),[v,b]=React$2.useState(!1),[T,y]=React$2.useState([]),[w,C]=React$2.useState(!1),[D,N]=React$2.useState([]),[P,k]=React$2.useState(""),[F,M]=React$2.useState(!1),[j,$]=React$2.useState([]),[B,X]=React$2.useState(!1),re=h.toUpperCase().split(""),ae=re.filter(ce=>restrictCharacters(ce,"and")),ee=ce=>n({type:"translate",payload:ce}),K=React$2.useCallback(()=>{const ce=ae.map(Te=>({char:Te}));let ge=[];const Se=analyzeChars(ae);for(;ge.length<MAX_EXTRA_LETTERS;){const Te=makeChar(Se);ge=[...ge,{char:Te}]}return[...ce,...ge]},[ae]),ne=h.toUpperCase().split("").map((ce,ge)=>restrictCharacters(ce,"or")?{index:ge,letter:ce,char:ce,fixed:!0}:{index:ge,letter:ce,char:""}),ue=React$2.useCallback(()=>{let ce=K();for(;ce.length>MAX_POOL_LETTERS;){const ge=Math.trunc(Math.random()*(ce.length-1))+1,Se=ce[ge],Te=ne.find((Fe,Ne)=>Se.char===Fe.letter&&!ne[Ne].fixed);Te&&(ce.splice(ge,1),ne[Te.index]={...Te,char:Te.letter,fixed:!0})}f&&(ce=[],ne.forEach(({letter:ge})=>{ge!==" "&&ce.push({char:ge})})),N(ne),y(ce)},[ne,f,K]),me=(ce,ge)=>T.map((Te,Fe)=>Fe===ge?{...Te,deleted:!0}:{...Te}),J=(ce,ge,Se)=>{const Te=ge.map((Ne,Qe)=>Se.find(Ze=>Ze.poolIndex===Qe)?{char:Ne.char}:Ne);y(Te),N(ce);const Fe=ce.find(Ne=>Ne.char==="");g(Fe.index)},H=(ce,ge)=>{R("click-ui");let Se=!1;const Te=D.map(Qe=>!Qe.char&&!Se?(Se=!0,{...Qe,char:ce,poolIndex:ge}):Qe),Fe=me(ce,ge),Ne=Te.filter(Qe=>Qe.char).length;y(Fe),N(Te),W(),Ne===D.length&&ie(Te,Fe)},W=()=>{var ce;if(v){const ge=D.find(Se=>Se.index!==S&&Se.letter!==" "&&Se.char===""&&Se.poolIndex===!1);ge&&g(ge.index)}else{const ge=D.find(Se=>Se.char==="");g(ge.index+1),((ce=D[ge.index+1])==null?void 0:ce.letter)===" "&&g(ge.index+2)}},V=()=>{R("click-ui");const ce=D.map((ge,Se)=>D[D.length-1-Se]).find(ge=>ge.char&&!ge.fixed);if(ce){const ge=D.map(Fe=>Fe.index===ce.index?{...ce,char:""}:Fe);let Se=!1;const Te=T.map((Fe,Ne)=>Ne===ce.poolIndex&&(Fe.deleted||!Se)?(Se=!0,{char:Fe.char}):Fe);y(Te),N(ge),g(ce.index)}},z=()=>{t(!0),k("");const ce=[...j,...d.solution.right.rewards];R("score"),e({type:"hidePuzzleButtons",payload:!1}),e({type:"addPoints",complex:!0,finish:!0,payload:ce}),e({type:"passPuzzle"})},Y=()=>{R("fail"),e({type:"hidePuzzleButtons",payload:!1}),$([...j,...d.solution.wrong.rewards]),k(""),M(!1),e({type:"failPuzzle"}),b(!0)},ie=(ce,ge)=>{let Se=[];M(!0);const Te=ce.map((Ne,Qe)=>re[Qe]===Ne.char?{...Ne,fixed:!0}:(Se=[...Se,Ne],{...Ne,poolIndex:!1,char:""})),Fe=Te.filter(Ne=>Ne.fixed).length;e({type:"hidePuzzleButtons",payload:!0}),Fe===re.length?(k("success"),d.solution.right.desc===""&&setTimeout(()=>{z()},2e3)):(k("failed"),J(Te,ge,Se),d.solution.wrong.desc===""&&setTimeout(()=>{Y()},2e3))},le=()=>{if(P==="success")z();else{Y();const ce=D.find(ge=>ge.char==="");g(ce.index)}};return React$2.useEffect(()=>{w||(C(!0),ue()),u(ce=>{X(!0),setTimeout(()=>{e({type:"hidePuzzleButtons",payload:!1}),ce()},2e3)}),p(ce=>{const ge=[];ne.forEach(({letter:Se})=>{Se!==" "&&ge.push({char:Se})}),y(ge),ce()})},[ue,w,h,u,e,j,d.resolve.rewards,ne,p]),jsxRuntimeExports.jsxs("div",{className:"puzzle--hanged",style:{backgroundImage:`url("${x}")`},children:[P?jsxRuntimeExports.jsx(FeedbackComponent$1,{playSound:R,text:d.solution[P==="success"?"right":"wrong"].desc,success:P==="success",translate:ee,functionOnClose:le,keyboardControl:_}):null,jsxRuntimeExports.jsx("div",{className:"puzzle--hanged__content",children:jsxRuntimeExports.jsxs("div",{className:"puzzle--hanged__controls",children:[jsxRuntimeExports.jsx("div",{dir:"auto",className:"puzzle--hanged__header",children:a}),jsxRuntimeExports.jsx("div",{dir:"auto",className:`puzzle--hanged__solution ${P}`,"data-testid":`${P}`,children:B?jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:jsxRuntimeExports.jsx(AnswerPanel,{showCorrectSolution:B,answer:h.split(""),show:!0})}):jsxRuntimeExports.jsx(AnswerPanel,{showCorrectSolution:B,flickerPosition:S,answer:D})}),jsxRuntimeExports.jsxs("div",{className:"puzzle--hanged__keyboard",children:[T.sort((ce,ge)=>sortChar(ce,ge)).map((ce,ge)=>jsxRuntimeExports.jsx("button",{"data-testid":`key-${ce.char}`,type:"button",onClick:()=>{!ce.deleted&&!P&&!F&&(H(ce.char,ge),R("click-ui"))},className:`puzzle--hanged__keyboard--item ${ce.deleted||F?"disabled":""}`,children:ce.char},`${ce+ge}`)),jsxRuntimeExports.jsx("button",{onClick:F?null:()=>V(),type:"button",disabled:F?"disabled":null,"aria-label":ee("puzzles.hanged-puzzle.deleteButton"),className:`puzzle--hanged__keyboard--item delete ${F?"disabled":""}`,children:jsxRuntimeExports.jsx("span",{className:"icon-delete-keyboard"})})]})]})})]})}HangedPuzzleComponent.defaultProps={question:"",answer:"",image:{},hintBought:!1,info:{description:"",instructions:"",resolve:{},solution:{},hintBought:{}}};function CurrentImageClickPuzzle({list:l,description:e,nodeId:n,setInfo:t,emitEvent:a,getEvent:o,disableExit:d,setResolveAction:h,soundActions:f,setSelected:u,selected:p,pause:_,loadPuzzleStatus:R,index:x,setIndex:S,slidesCompleted:g,setSlidesCompleted:v,keyboardControl:b,totalCorrects:T}){const y=React$2.useRef([]),w=React$2.useRef(0),C=React$2.useRef(0),D=`chained-image-click-puzzle_${x}_${n}`,[N]=f,P=K=>{y.current=[...y.current,...K]},k=React$2.useCallback(K=>{N("score"),a({type:"hidePuzzleButtons",payload:!1}),a({type:"addPoints",complex:!0,finish:!0,payload:[...y.current,...K]}),a({type:"passPuzzle"})},[N,a]),[F,M]=React$2.useState(!1),j=l[x],{info:$,specificFeedbacks:B}=j;$.description=e,React$2.useEffect(()=>{w.current=0,C.current=0,M(!1)},[x]);const X=React$2.useCallback((K,ne=!1)=>{var me;let ue={...g};if(ne){if((me=B==null?void 0:B.correctFeedbacks)!=null&&me.length&&!j.hasClickOnce){const J=B.correctFeedbacks.length;F&&J?(w.current>0?u(p+(J-w.current)):u(p+J),w.current=J):w.current+=1}else{let J=p;C.current&&(J-=C.current),w.current=j.areas.length,u(J+w.current)}w.current===j.areas.length&&(x+1>=l.length?k(K):S(x+1),ue={...ue,[x]:!0},v(ue)),P(K)}else a({type:"addPoints",payload:K,finish:!1}),a({type:"failPuzzle"}),j.hasClickOrder&&(u(p-w.current),w.current===0&&Object.entries(g).length===0?u(0):w.current=0),Object.entries(g).length===0&&j.hasClickOrder&&!p&&u(0)},[g,B,j.hasClickOnce,j.areas.length,j.hasClickOrder,F,u,p,x,l.length,v,k,S,a]),re=()=>{for(let K=0;K<y.current.length;K=K+1)if(y.current[K].points>0)return!0;return!1},ae=()=>{M(!0),x>=l.length-1&&u(T),N("score"),x+1>=l.length&&re()?($.resolve.rewards.forEach(K=>{y.current.forEach(ne=>{ne.id===K.id&&(K.points=K.points+ne.points)})}),a({type:"puzzleAction",action:"resolve",payload:{element:D,rewards:$.resolve.rewards,finish:!0}})):a({type:"puzzleAction",action:"resolve",payload:{element:D,rewards:$.resolve.rewards,finish:x+1>=l.length}})};React$2.useEffect(()=>{t({...$,hintId:D})},[$,D,t]),React$2.useEffect(()=>{R&&x!==l.length-1&&X([],!0)},[x,l.length,R,X]);const ee=()=>{const K=j.hasClickOnce?j.areas.length:1;C.current+=K,u(p+K)};return jsxRuntimeExports.jsx(ImageClickWrapperComponent,{...j,puzzle:{name:D,component:"chained-image-click-puzzle"},specificFeedbacks:B,emitFinish:X,emitError:P,emitResolve:ae,isLast:x+1===l.length,defaultCompleted:g[x]||!!R,hideContinue:x+1!==l.length,handleClick:ee,emitEvent:a,getEvent:o,disableExit:d,soundActions:f,setResolveAction:h,pause:_,keyboardControl:b},x)}function ChainedImageClickPuzzleComponent(l){const{setInfo:e,emitEvent:n,nodeId:t,list:a,description:o,soundActions:d,showFrames:h,disableExit:f,setResolveAction:u,pause:p,keyboardControl:_,getEvent:R}=l,[x,S]=React$2.useState(0),[g,v]=React$2.useState(0),[b,T]=React$2.useState({}),y=`chained-image-click-puzzle_${g}_${t}`,w=React$2.useMemo(()=>R({type:"loadObjectStatus",payload:y}),[R,y]),C=a.reduce((N,P)=>N+P.areas.length,0),D={list:a,description:o,nodeId:t,disableExit:f,setResolveAction:u,emitEvent:n,soundActions:d,setInfo:e,setSelected:S,selected:x,index:g,setIndex:v,slidesCompleted:b,setSlidesCompleted:T,loadPuzzleStatus:w,pause:p,keyboardControl:_,totalCorrects:C};return jsxRuntimeExports.jsxs("div",{className:"puzzle--image__click",children:[h?jsxRuntimeExports.jsxs("div",{className:"puzzle-image__info",children:[jsxRuntimeExports.jsx("span",{className:"info-circle"}),jsxRuntimeExports.jsxs("span",{children:[x," / ",C]})]}):null,jsxRuntimeExports.jsx(CurrentImageClickPuzzle,{...D})]})}function CurrentFramePuzzle({list:l,index:e,puzzlesCompiledRef:n,framesCompleted:t,handleFinish:a,accRewards:o,setRewards:d,setIndex:h,setFramesCompleted:f,loadPuzzleStatus:u,soundActions:p,setResolveAction:_,disableExit:R,description:x,translateFromParent:S,setInfo:g,emitEvent:v,nodeId:b,setSelected:T,selected:y,emitResetPuzzle:w,firstTryForFrame:C,setPuzzlesAutoCompleted:D,puzzlesAutoCompleted:N,emitOpenPopupCounterInfo:P,resetValues:k,setResetValues:F,pause:M,keyboardControl:j,totalCorrects:$,getEvent:B}){var ie;const[X]=p,[re,ae]=React$2.useState(!1),ee=l[e],{info:K,specificFeedbacks:ne}=ee;K.description=x;const ue=React$2.useRef(0),me=React$2.useRef(0),J=`frame-image-click-puzzle_${e}_${b}`;React$2.useEffect(()=>{n.current+=1},[n]),React$2.useEffect(()=>{g({...K,hintId:J})},[g,K,J]),React$2.useEffect(()=>{k&&(me.current=0,ue.current=0,T(0),F(!1))},[k,F,T]),React$2.useEffect(()=>{me.current=0,ue.current=0,ae(!1)},[e]);const H=React$2.useCallback((le,fe=!1)=>{var ge;let ce={...t};if(fe){if((ge=ne==null?void 0:ne.correctFeedbacks)!=null&&ge.length&&!ee.hasClickOnce){const Se=ne.correctFeedbacks.length;re&&Se?(me.current>0?T(y+(Se-me.current)):T(y+Se),me.current=Se):me.current+=1}else{let Se=y;ue.current&&(Se-=ue.current),me.current=ee.areas.length,N[0]&&Object.entries(t).length===0?T(me.current):T(Se+me.current)}me.current===ee.areas.length&&(e+1>=l.length&&a(le),ce={...ce,[e]:!0},f(ce),h(e+1>l.length-1?0:e+1)),d(le)}else v({type:"addPoints",payload:le,finish:!1}),v({type:"failPuzzle"}),ee.hasClickOrder&&(T(y-me.current),me.current=0)},[t,(ie=ne==null?void 0:ne.correctFeedbacks)==null?void 0:ie.length,ee.hasClickOnce,ee.areas.length,ee.hasClickOrder,d,re,T,y,N,e,l.length,f,h,a,v]),W=React$2.useCallback(()=>{for(let le=0;le<o.current.length;le=le+1)if(o.current[le].points>0)return!0;return!1},[o]),V=React$2.useCallback(()=>{ae(!0),e>=l.length-1&&T($),X("score"),v({type:"hidePuzzleButtons",payload:!1}),D(le=>({...le,[e]:!0})),e+1>=l.length&&W()?(K.resolve.rewards.forEach(le=>{o.current.forEach(fe=>{fe.id===le.id&&(le.points=le.points+fe.points)})}),v({type:"puzzleAction",action:"resolve",payload:{element:J,rewards:K.resolve.rewards,finish:!0}})):v({type:"puzzleAction",action:"resolve",payload:{element:J,rewards:K.resolve.rewards,finish:e+1>=l.length}})},[e,l.length,X,v,D,W,T,$,K.resolve.rewards,J,o]),z=React$2.useCallback(()=>{f({}),me.current=0,ue.current=0,w()},[w,f]);React$2.useEffect(()=>{u&&e!==l.length-1&&H([],!0)},[t,e,l.length,u,H]);const Y=()=>{const le=ee.hasClickOnce?ee.areas.length:1;ue.current+=le,T(y+le)};return jsxRuntimeExports.jsx(ImageClickWrapperComponent,{...ee,className:"puzzle-frame__canvas",puzzle:{name:"",component:"frame-click-puzzle"},specificFeedbacks:ne,emitFinish:H,emitResolve:V,hideContinue:!0,disableInfo:n.current>1,defaultCompleted:t[e]||!!u,soundActions:p,setResolveAction:_,disableExit:R,translateFromParent:S,emitEvent:v,getEvent:B,slideNumber:e,handleClick:Y,emitResetPuzzle:z,firstTryForFrame:C,puzzlesAutoCompleted:N,emitOpenPopupCounterInfo:P,pause:M,keyboardControl:j},e)}function Tooltip({getEvent:l}){const e=n=>l({type:"translate",payload:n});return jsxRuntimeExports.jsx("div",{dir:"auto",className:"puzzle-frame__info--tooltip",children:e("puzzles.counterTooltip")})}function Counter({current:l,total:e,tooltip:n,getEvent:t}){return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[n?jsxRuntimeExports.jsx(Tooltip,{getEvent:t}):null,jsxRuntimeExports.jsxs("div",{className:"puzzle-frame__info--frames",children:[jsxRuntimeExports.jsx("span",{className:"info-circle"}),jsxRuntimeExports.jsxs("span",{children:[l," / ",e]})]})]})}function FrameImageClickComponent({emitEvent:l,nodeId:e,list:n,description:t,showFrames:a,soundActions:o,disableExit:d,setResolveAction:h,setInfo:f,getEvent:u,pause:p,keyboardControl:_}){const[R,x]=React$2.useState({}),S=React$2.useRef([]),[g,v]=React$2.useState(0),[b,T]=React$2.useState({}),[y,w]=React$2.useState(0),C=React$2.useRef(0),[D,N]=React$2.useState(!0),[P,k]=React$2.useState(!0),[F,M]=React$2.useState(!1),j=n.reduce((me,J)=>me+J.areas.length,0),$=me=>{S.current=[...S.current,...me]},B=`frame-image-click-puzzle_${g}_${e}`,X=React$2.useMemo(()=>u({type:"loadObjectStatus",payload:B}),[u,B]),re=React$2.useCallback(me=>{l({type:"addPoints",complex:!0,finish:!0,payload:[...S.current,...me]}),l({type:"passPuzzle"})},[l]),ae=React$2.useCallback(()=>{k(!1),S.current=[],w(0),v(0),T({}),N(!0),M(!0)},[]),ee=me=>u({type:"translate",payload:me}),K=()=>{N(!0)},ue={firstTryForFrame:P,list:n,description:t,index:g,puzzlesCompiledRef:C,framesCompleted:b,handleFinish:re,setRewards:$,accRewards:S,setSelected:w,selected:y,setIndex:v,setFramesCompleted:T,loadPuzzleStatus:X,soundActions:o,setResolveAction:h,disableExit:d,translateFromParent:ee,setInfo:f,emitEvent:l,nodeId:e,emitResetPuzzle:ae,resetValues:F,setResetValues:M,setPuzzlesAutoCompleted:x,puzzlesAutoCompleted:R,emitOpenPopupCounterInfo:()=>{g===0&&N(!1)},pause:p,keyboardControl:_,totalCorrects:j,getEvent:u};return jsxRuntimeExports.jsxs("div",{className:"puzzle-frame",children:[jsxRuntimeExports.jsx(CurrentFramePuzzle,{...ue}),jsxRuntimeExports.jsxs("div",{className:"puzzle-frame__content",children:[jsxRuntimeExports.jsx("div",{className:"puzzle-frame__controls",children:jsxRuntimeExports.jsx("div",{className:"puzzle-frame__progress",children:jsxRuntimeExports.jsx("div",{"data-testid":"puzzle-frame-progress",style:{width:`${y/j*100}%`},className:"puzzle-frame__progress--handle"})})}),a?jsxRuntimeExports.jsx("button",{"data-testid":"puzzle-frame-counter-button",disabled:D,"aria-hidden":D,type:"button",className:"puzzle-frame__info",onClick:K,children:jsxRuntimeExports.jsx(Counter,{current:y,total:j,tooltip:!D,getEvent:u})}):null]})]})}FrameImageClickComponent.defaultProps={description:"",context:{},nodeId:0,showFrames:!1};function EditButton({action:l,className:e}){return jsxRuntimeExports.jsx("div",{role:"button",tabIndex:0,"aria-label":`${l} edit button`,onKeyUp:()=>{},className:`puzzle--webBuilder__edit ${e}`,onClick:l,children:jsxRuntimeExports.jsx("span",{className:"icon-fb-edit"})})}EditButton.defaultProps={action:()=>{},className:""};const path="https://min.gamelearn.io/css-resources/gamelearn/resources/",imagesOptions=[{name:"webbuilder.imageOptions.image1",src:"Amor.jpg"},{name:"webbuilder.imageOptions.image2",src:"Bancorp.svg"},{name:"webbuilder.imageOptions.image3",src:"Amanda.jpg"},{name:"webbuilder.imageOptions.image4",src:"keyboard.jpg"},{name:"webbuilder.imageOptions.image5",src:"Melanie.jpg"},{name:"webbuilder.imageOptions.image6",src:"Sharon.jpg"},{name:"webbuilder.imageOptions.image7",src:"Bankex.svg"},{name:"webbuilder.imageOptions.image8",src:"Futbol.jpg"},{name:"webbuilder.imageOptions.image9",src:"GBL.svg"},{name:"webbuilder.imageOptions.image10",src:"Fooder.jpg"},{name:"webbuilder.imageOptions.image11",src:"Corporate.jpg"},{name:"webbuilder.imageOptions.image12",src:"Bank of Zamunda.svg"},{name:"webbuilder.imageOptions.image13",src:"mindfullness.jpg"},{name:"webbuilder.imageOptions.image14",src:"Nature.jpg"},{name:"webbuilder.imageOptions.image15",src:"Shopper.jpg"},{name:"webbuilder.imageOptions.image16",src:"Lab.jpg"}],colorOptions=["#c66a46","#3c9dc0","#6236ff","#21254f"],colorOptions2=["#39b7b9","#25a1d4","#f5a623","#080269"],titleOptions=[{title:"webbuilder.bank.titleOptions.title1.text",desc:"webbuilder.bank.titleOptions.title1.description"},{title:"webbuilder.bank.titleOptions.title2.text",desc:"webbuilder.bank.titleOptions.title2.description"},{title:"webbuilder.bank.titleOptions.title3.text",desc:"webbuilder.bank.titleOptions.title3.description"},{title:"webbuilder.bank.titleOptions.title4.text",desc:"webbuilder.bank.titleOptions.title4.description"},{title:"webbuilder.bank.titleOptions.title5.text",desc:"webbuilder.bank.titleOptions.title5.description"}],bankProps={backgroundImage:imagesOptions[10].src,backgroundLogo:imagesOptions[11].src,backgroundColor:"#21254f",btnColor:"#25a1d4"},BankTemplate={header:{color:bankProps.backgroundColor,logo:bankProps.backgroundLogo},body:{bankTitle:titleOptions[0].title,bankDesc:titleOptions[0].desc,bgImage:bankProps.backgroundImage,btnColor:bankProps.btnColor}};function BankHeader({showingReference:l,usingTemplate:e,openPopup:n,onSave:t,header:a,translate:o}){return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[l?jsxRuntimeExports.jsx("div",{className:"bank--edit__logo",children:jsxRuntimeExports.jsx("img",{src:path+e.header.logo,alt:"",title:""})}):jsxRuntimeExports.jsxs("div",{className:"bank--edit__logo",children:[a.logo?jsxRuntimeExports.jsx("img",{src:path+a.logo,alt:"",title:""}):jsxRuntimeExports.jsxs("span",{children:[jsxRuntimeExports.jsx("b",{children:o("webbuilder.bank.header.title")}),jsxRuntimeExports.jsx("b",{children:o("webbuilder.bank.header.logo")})]}),jsxRuntimeExports.jsx(EditButton,{action:()=>n("PopupImageComponent",{text:"Documents",images:imagesOptions,onSave:d=>t({logo:d})})})]}),jsxRuntimeExports.jsxs("div",{className:"flex align-center",children:[jsxRuntimeExports.jsxs("ul",{className:"bank--navigation",children:[jsxRuntimeExports.jsx("li",{className:"bank-navigation__item",children:o("webbuilder.bank.header.account")}),jsxRuntimeExports.jsx("li",{className:"bank-navigation__item",children:o("webbuilder.bank.header.invest")}),jsxRuntimeExports.jsx("li",{className:"bank-navigation__item",children:o("webbuilder.bank.header.loans")}),jsxRuntimeExports.jsx("li",{className:"bank-navigation__item",children:o("webbuilder.bank.header.mortgage")})]}),l?null:jsxRuntimeExports.jsx(EditButton,{action:()=>n("PopupColorComponent",{colors:colorOptions,onSave:d=>t({color:d})})})]})]})}BankHeader.defaultProps={showingReference:!1,usingTemplate:{},openPopup:()=>{},onSave:()=>{},header:{}};BankHeader.propTypes={showingReference:PropTypes.bool,usingTemplate:PropTypes.shape({}),openPopup:PropTypes.func,onSave:PropTypes.func,header:PropTypes.shape({})};function FacebookHeader({showingReference:l,usingTemplate:e,header:n,translate:t}){const a=l?e.header.userImage:n.userImage,o=l?e.header.username:n.username;return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("span",{className:"facebook--header__logo",children:jsxRuntimeExports.jsx("span",{className:"icon-fb-logo"})}),jsxRuntimeExports.jsxs("span",{className:"facebook--header__user",children:[jsxRuntimeExports.jsx("span",{className:"facebook--header__user--circle",style:{backgroundImage:`url(${path+a})`}}),jsxRuntimeExports.jsx("span",{className:"facebook--header__user--text",children:t(o||"webbuilder.facebook.header.userName")})]})]})}FacebookHeader.defaultProps={showingReference:!1,usingTemplate:{},header:{}};function WebBuilderHeader(l){const{isFacebook:e,header:n,showingReference:t,usingTemplate:a}=l,o=t?a.header.color:n.color;return jsxRuntimeExports.jsx("div",{className:`puzzle--webBuilder__header ${e?"":"bank"}`,style:e?{}:{backgroundColor:`${o}`},children:jsxRuntimeExports.jsx("div",{className:`${e?"facebook":"bank"}--header`,children:e?jsxRuntimeExports.jsx(FacebookHeader,{...l}):jsxRuntimeExports.jsx(BankHeader,{...l})})})}WebBuilderHeader.defaultProps={isFacebook:!1,showingReference:!1,usingTemplate:{},header:{}};WebBuilderHeader.propTypes={isFacebook:PropTypes.bool,showingReference:PropTypes.bool,usingTemplate:PropTypes.shape({}),header:PropTypes.shape({})};const facebookProps={backgroundImage:imagesOptions[12].src,backgroundUser:imagesOptions[5].src},userOptions=["webbuilder.userOptions.user1","webbuilder.userOptions.user2","webbuilder.userOptions.user3"],workOptions=["webbuilder.workOptions.work1","webbuilder.workOptions.work2","webbuilder.workOptions.work3"],studiesOptions=["webbuilder.studiesOptions.study1","webbuilder.studiesOptions.study2","webbuilder.studiesOptions.study3"],mailOptions=["webbuilder.mailOptions.mail1","webbuilder.mailOptions.mail2","webbuilder.mailOptions.mail3"],homeOptions=["webbuilder.homeOptions.home1","webbuilder.homeOptions.home2","webbuilder.homeOptions.home3"],FacebookTemplate={header:{username:userOptions[1],userImage:facebookProps.backgroundUser,bgImage:facebookProps.backgroundImage},body:{work:workOptions[2],home:homeOptions[1],studies:studiesOptions[0],mail:mailOptions[0]}};function WebBuilderFront({showingReference:l,usingTemplate:e,header:n,onSave:t,translate:a,openPopup:o}){const d=l?e.header.userImage:n.userImage,h=l?e.header.username:n.username,f=l?e.header.bgImage:n.bgImage;return jsxRuntimeExports.jsxs("div",{className:"puzzle--webBuilder__front",style:{backgroundImage:`url(${path+f})`},children:[jsxRuntimeExports.jsxs("div",{className:"facebook--user",children:[jsxRuntimeExports.jsx("span",{className:"facebook--user__circle",style:{backgroundImage:`url(${path+d})`},children:l?null:jsxRuntimeExports.jsx(EditButton,{action:()=>{o("PopupImageComponent",{images:imagesOptions,onSave:u=>t({userImage:u})})}})}),jsxRuntimeExports.jsx("span",{className:"facebook--user__text",children:a(h||"webbuilder.facebook.header.userName")}),l?null:jsxRuntimeExports.jsx(EditButton,{action:()=>{o("PopupTextComponent",{options:userOptions,onSave:u=>t({username:u})})}})]}),l?null:jsxRuntimeExports.jsx(EditButton,{className:"position--absolute right top",action:()=>{o("PopupImageComponent",{images:imagesOptions,onSave:u=>t({bgImage:u})})}})]})}WebBuilderFront.defaultProps={showingReference:!1,usingTemplate:{},openPopup:()=>{},onSave:()=>{},header:{}};WebBuilderFront.propTypes={showingReference:PropTypes.bool,usingTemplate:PropTypes.shape({}),openPopup:PropTypes.func,onSave:PropTypes.func,header:PropTypes.shape({})};function FacebookBody({showingReference:l,usingTemplate:e,body:n,onSave:t,openPopup:a,translate:o}){const d=l?e.body.work:n.work,h=l?e.body.studies:n.studies,f=l?e.body.home:n.home,u=l?e.body.mail:n.mail;return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("ul",{className:"facebook--sidebar",dir:"auto",children:[jsxRuntimeExports.jsxs("li",{className:`facebook--sidebar__item ${d||l?"selected":""}`,children:[jsxRuntimeExports.jsxs("div",{className:"flex align-center",children:[jsxRuntimeExports.jsx("span",{className:"icon-fb-work"}),jsxRuntimeExports.jsx("span",{className:"text",children:o(d||"webbuilder.facebook.body.work")})]}),l?null:jsxRuntimeExports.jsx(EditButton,{action:()=>{a("PopupTextComponent",{options:workOptions,onSave:p=>t({work:p})})}})]}),jsxRuntimeExports.jsxs("li",{className:`facebook--sidebar__item ${h||l?"selected":""}`,children:[jsxRuntimeExports.jsxs("div",{className:"flex align-center",children:[jsxRuntimeExports.jsx("span",{className:"icon-fb-education"}),jsxRuntimeExports.jsx("span",{className:"text",children:o(h||"webbuilder.facebook.body.studies")})]}),l?null:jsxRuntimeExports.jsx(EditButton,{action:()=>{a("PopupTextComponent",{options:studiesOptions,onSave:p=>t({studies:p})})}})]}),jsxRuntimeExports.jsxs("li",{className:`facebook--sidebar__item ${f||l?"selected":""}`,children:[jsxRuntimeExports.jsxs("div",{className:"flex align-center",children:[jsxRuntimeExports.jsx("span",{className:"icon-fb-home"}),jsxRuntimeExports.jsx("span",{className:"text",children:o(f||"webbuilder.facebook.body.home")})]}),l?null:jsxRuntimeExports.jsx(EditButton,{action:()=>{a("PopupTextComponent",{options:homeOptions,onSave:p=>t({home:p})})}})]})]}),jsxRuntimeExports.jsxs("div",{className:"facebook--board",children:[jsxRuntimeExports.jsx("div",{className:"facebook--mail__label",children:"E-mail"}),jsxRuntimeExports.jsxs("div",{className:`facebook--mail__box ${u||l?"active":""}`,children:[jsxRuntimeExports.jsxs("div",{className:"flex align-center",children:[jsxRuntimeExports.jsx("span",{className:"icon-fb-mail"}),jsxRuntimeExports.jsx("span",{className:"text",children:o(u||"webbuilder.facebook.body.email")})]}),l?null:jsxRuntimeExports.jsx(EditButton,{action:()=>{a("PopupTextComponent",{options:mailOptions,onSave:p=>t({mail:p})})}})]}),jsxRuntimeExports.jsxs("div",{className:"facebook--tabs",children:[jsxRuntimeExports.jsxs("div",{className:"facebook--tabs__item",children:[jsxRuntimeExports.jsx("span",{className:"icon-fb-edit"}),o("webbuilder.facebook.body.editPost")]}),jsxRuntimeExports.jsxs("div",{className:"facebook--tabs__item",children:[jsxRuntimeExports.jsx("span",{className:"icon-fb-photo"}),o("webbuilder.facebook.body.editPhoto")]}),jsxRuntimeExports.jsxs("div",{className:"facebook--tabs__item",children:[jsxRuntimeExports.jsx("span",{className:"icon-fb-video"}),o("webbuilder.facebook.body.liveVideo")]}),jsxRuntimeExports.jsxs("div",{className:"facebook--tabs__item",children:[jsxRuntimeExports.jsx("span",{className:"icon-fb-events"}),o("webbuilder.facebook.body.facebookEvent")]})]}),jsxRuntimeExports.jsxs("div",{className:"facebook--thinking",children:[jsxRuntimeExports.jsxs("div",{className:"facebook--textarea",children:[jsxRuntimeExports.jsx("div",{className:"facebook--textarea__circle"}),jsxRuntimeExports.jsx("div",{className:"facebook--textarea__placeholder",children:o("webbuilder.facebook.body.think")})]}),jsxRuntimeExports.jsxs("div",{className:"facebook--chips",children:[jsxRuntimeExports.jsx("span",{className:"facebook--chips__item",children:o("webbuilder.facebook.body.photo")}),jsxRuntimeExports.jsx("span",{className:"facebook--chips__item",children:o("webbuilder.facebook.body.label")}),jsxRuntimeExports.jsx("span",{className:"facebook--chips__item",children:o("webbuilder.facebook.body.feeling")})]})]})]})]})}FacebookBody.defaultProps={showingReference:!1,usingTemplate:{},openPopup:()=>{},onSave:()=>{},body:{}};function BankBody({showingReference:l,usingTemplate:e,body:n,onSave:t,openPopup:a,translate:o}){const d=l?e.body.bgImage:n.bgImage,h=l?e.body.btnColor:n.btnColor,f=o(l?e.body.bankTitle:"webbuilder.bank.body.image.title"),u=o(l?e.body.bankDesc:"webbuilder.bank.body.image.description");return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:"bank--image__front",style:{backgroundImage:`url(${path+d})`},children:jsxRuntimeExports.jsxs("div",{className:"bank--image__text",children:[jsxRuntimeExports.jsx("span",{className:"title",children:n.bankTitle&&!l?o(n.bankTitle):f}),jsxRuntimeExports.jsx("span",{children:n.bankDesc&&!l?o(n.bankDesc):u}),l?null:jsxRuntimeExports.jsx(EditButton,{action:()=>{a("PopupTextComponent",{options:titleOptions,onSave:p=>t({bankTitle:p.title,bankDesc:p.desc})})}}),l?null:jsxRuntimeExports.jsx(EditButton,{className:"position--absolute top right",action:()=>{a("PopupImageComponent",{images:imagesOptions,onSave:p=>t({bgImage:p})})}})]})}),jsxRuntimeExports.jsx("div",{dir:"auto",className:"bank--sidebar",children:jsxRuntimeExports.jsxs("div",{className:"bank--form",children:[jsxRuntimeExports.jsx("div",{className:"bank--form__title",children:o("webbuilder.bank.body.password.title")}),jsxRuntimeExports.jsxs("div",{className:"bank--form__group",children:[jsxRuntimeExports.jsx("div",{className:"bank--form__label",children:o("webbuilder.bank.body.password.current")}),jsxRuntimeExports.jsx("input",{disabled:!0,className:"bank--form__input",type:"password",placeholder:"********"}),jsxRuntimeExports.jsx("span",{className:"icon-circle-check"})]}),jsxRuntimeExports.jsxs("div",{className:"bank--form__group",children:[jsxRuntimeExports.jsx("div",{className:"bank--form__label",children:o("webbuilder.bank.body.password.new")}),jsxRuntimeExports.jsx("input",{disabled:!0,className:"bank--form__input",type:"password",placeholder:"********"}),jsxRuntimeExports.jsx("span",{className:"icon-circle-check"})]}),jsxRuntimeExports.jsxs("div",{className:"bank--form__group",children:[jsxRuntimeExports.jsx("div",{className:"bank--form__label",children:o("webbuilder.bank.body.password.confirm")}),jsxRuntimeExports.jsx("input",{disabled:!0,className:"bank--form__input",type:"password",placeholder:"********"}),jsxRuntimeExports.jsx("span",{className:"icon-circle-check"})]}),jsxRuntimeExports.jsxs("div",{className:"bank--form__buttons",children:[jsxRuntimeExports.jsx("button",{type:"button",className:"bank--form__btn",style:{backgroundColor:`${h}`},children:o("webbuilder.save")}),l?null:jsxRuntimeExports.jsx(EditButton,{action:()=>{a("PopupColorComponent",{colors:colorOptions2,onSave:p=>t({btnColor:p})})}})]})]})})]})}function WebBuilderBody(l){const{isFacebook:e}=l;return jsxRuntimeExports.jsx("div",{className:`puzzle--webBuilder__body ${e?"":"bank"}`,children:e?jsxRuntimeExports.jsx(FacebookBody,{...l}):jsxRuntimeExports.jsx(BankBody,{...l})})}WebBuilderBody.defaultProps={isFacebook:!1};WebBuilderBody.propTypes={isFacebook:PropTypes.bool};function CurrentButton({translate:l,backActive:e,action:n}){return jsxRuntimeExports.jsx("div",{className:"puzzle--webBuilder__topbar--buttons",children:jsxRuntimeExports.jsx("button",{type:"button",className:"puzzle--webBuilder__topbar--buttons__item",onClick:n,children:l(`webbuilder.${e?"return":"showReference"}`)})})}function WebBuilderTopBar({backActive:l,displayButton:e,clickAction:n,translate:t}){return jsxRuntimeExports.jsxs("div",{className:"puzzle--webBuilder__topbar",children:[e?jsxRuntimeExports.jsx(CurrentButton,{backActive:l,action:n,translate:t}):null,jsxRuntimeExports.jsx("div",{className:"puzzle--webBuilder__title",children:"web builder 3.0"})]})}function FeedbackResult({onNext:l,success:e,showButton:n,translate:t}){const a=t(e?"webbuilder.feedback.successTitle":"webbuilder.feedback.failTitle"),o=t(e?"webbuilder.feedback.success":"webbuilder.feedback.fail");return jsxRuntimeExports.jsxs("div",{dir:"auto",className:`puzzle--webBuilder__feedback bottom ${e?"success":"failed"}`,style:e?{zIndex:"11"}:{},children:[jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("div",{className:"title",children:a}),jsxRuntimeExports.jsx("div",{className:"description",children:o})]}),n?jsxRuntimeExports.jsx("button",{type:"button",className:`gat--btn gat--btn__secondary ${e?"green":"red"}`,onClick:l,style:{marginRight:"64px"},children:t("webbuilder.continue")}):null]})}FeedbackResult.defaultProps={onNext:()=>{},success:!1,showButton:!0};function PublishButton({onPublish:l,translate:e}){return jsxRuntimeExports.jsx("div",{role:"button",tabIndex:0,onKeyUp:()=>{},"aria-label":"publish",className:"position--absolute bottom center",onClick:l,children:jsxRuntimeExports.jsxs("div",{className:"gat--btn gat--btn__primary",children:[jsxRuntimeExports.jsx("span",{className:"icon-download-cloud"}),e("webbuilder.publish")]})})}PublishButton.defaultProps={onPublish:()=>{}};function PopupColorComponent({colors:l,onSave:e,closingAction:n,translate:t,soundActions:a}){const[o]=a,[d,h]=React$2.useState(),f=d===null;return jsxRuntimeExports.jsx("div",{className:"popup--layer",children:jsxRuntimeExports.jsxs("div",{className:"popup",children:[jsxRuntimeExports.jsx("div",{className:"popup--info",children:jsxRuntimeExports.jsx("span",{className:"popup--info__item",children:jsxRuntimeExports.jsxs("div",{className:"puzzle--webBuilder__colors",children:[jsxRuntimeExports.jsx("div",{className:"puzzle--webBuilder__colors--title",children:jsxRuntimeExports.jsx("span",{children:t("webbuilder.colorSelect.title")})}),jsxRuntimeExports.jsx("div",{className:"puzzle--webBuilder__colors--items",children:l.map(u=>jsxRuntimeExports.jsx("div",{className:`puzzle--webBuilder__color--select ${d===u?"selected":""}`,style:{borderColor:`${u}`},onClick:()=>h(u),children:jsxRuntimeExports.jsx("span",{style:{backgroundColor:`${u}`}})},u+Date.now()))})]})})}),jsxRuntimeExports.jsxs("div",{className:"popup--buttons",children:[jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__secondary",onClick:n,children:jsxRuntimeExports.jsx("span",{children:t("webbuilder.cancel")})}),jsxRuntimeExports.jsx("button",{type:"button",className:`gat--btn gat--btn__primary ${f?"disabled":""}`,onClick:f?null:()=>{o("click-ui"),e(d)},children:t("webbuilder.save")})]})]})})}PopupColorComponent.defaultProps={closingAction:()=>{},onSave:()=>{},colors:{}};PopupColorComponent.propTypes={closingAction:PropTypes.func,onSave:PropTypes.func,colors:PropTypes.arrayOf(PropTypes.string)};function PopupImageComponent({images:l,onSave:e,closingAction:n,translate:t,soundActions:a}){const[o]=a,[d,h]=React$2.useState(),f=!d;return jsxRuntimeExports.jsx("div",{className:"folder-popup",children:jsxRuntimeExports.jsxs("div",{className:"folder-popup__content",children:[jsxRuntimeExports.jsxs("div",{className:"folder-popup__header",children:[jsxRuntimeExports.jsx("div",{}),jsxRuntimeExports.jsxs("div",{className:"folder-popup__title",children:[jsxRuntimeExports.jsx("span",{className:"folder-popup__icon-header icon-fb-search"}),jsxRuntimeExports.jsx("span",{children:t("webbuilder.imageSelect.title")})]}),jsxRuntimeExports.jsx("button",{onClick:n,className:"folder-popup__close",type:"button",children:jsxRuntimeExports.jsx("span",{className:"icon-close-fit"})})]}),jsxRuntimeExports.jsxs("div",{className:"folder-popup__body",children:[jsxRuntimeExports.jsx("div",{className:"folder-popup__scroll",children:jsxRuntimeExports.jsx("ul",{className:"folder-popup__list",children:l.map(u=>jsxRuntimeExports.jsxs("li",{className:"folder-item-file",children:[jsxRuntimeExports.jsx("div",{className:"folder-item-file__imagewrap",onClick:()=>h(u),onKeyUp:()=>{},role:"button",tabIndex:0,children:jsxRuntimeExports.jsx("img",{alt:u.src,src:path+u.src})}),jsxRuntimeExports.jsx("div",{className:"folder-item-file__title",title:u.src,children:u.src})]},u.src+Date.now()))})}),jsxRuntimeExports.jsxs("div",{className:"folder-popup__buttons",children:[jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__secondary",onClick:n,children:t("webbuilder.cancel")}),jsxRuntimeExports.jsx("button",{type:"button",className:`gat--btn gat--btn__primary ${f?"disabled":""}`,onClick:f?null:()=>{o("click-ui"),e(d.src)},children:t("webbuilder.open")})]})]})]})})}PopupImageComponent.defaultProps={closingAction:()=>{},onSave:()=>{},images:[]};function Selected({item:l,translate:e}){return l instanceof Object?e(l.title.toString()):jsxRuntimeExports.jsx("span",{children:e(l||"webbuilder.textSelect.title")})}function PopupTextComponent({closingAction:l,onSave:e,options:n,translate:t,soundActions:a}){const[o]=a,[d,h]=React$2.useState(""),f=d==="",[u,p]=React$2.useState(!1),_=u?"puzzle--webBuilder__select--item open":"puzzle--webBuilder__select--item",R=()=>{p(!u)};return jsxRuntimeExports.jsx("div",{className:"popup--layer",children:jsxRuntimeExports.jsxs("div",{className:"popup",children:[jsxRuntimeExports.jsx("div",{className:"popup--info",children:jsxRuntimeExports.jsx("span",{className:"popup--info__item",children:jsxRuntimeExports.jsxs("div",{className:"puzzle--webBuilder__select",children:[jsxRuntimeExports.jsx("div",{className:"puzzle--webBuilder__select--label",children:jsxRuntimeExports.jsx("div",{dir:"auto",children:t("webbuilder.textSelect.title")})}),jsxRuntimeExports.jsxs("div",{dir:"auto",className:_,onClick:()=>R(),role:"presentation",children:[jsxRuntimeExports.jsx(Selected,{item:d,translate:t}),jsxRuntimeExports.jsx("span",{className:"icon-down-arrow"}),jsxRuntimeExports.jsx("div",{className:"puzzle--webBuilder__dropdown",children:n.map(x=>x instanceof Object?jsxRuntimeExports.jsxs("span",{role:"button",tabIndex:0,onKeyUp:()=>{},className:"puzzle--webBuilder__dropdown--option",onClick:()=>{h(x)},children:[jsxRuntimeExports.jsx("span",{children:t(x.title)}),jsxRuntimeExports.jsx("span",{className:"subtitle",children:t(x.desc)})]},x.title):jsxRuntimeExports.jsx("span",{role:"button",tabIndex:0,onKeyUp:()=>{},className:"puzzle--webBuilder__dropdown--option",onClick:()=>{h(x)},children:t(x)},x))})]})]})})}),jsxRuntimeExports.jsxs("div",{className:"popup--buttons",children:[jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__secondary",onClick:l,children:t("webbuilder.cancel")}),jsxRuntimeExports.jsx("button",{type:"button",className:`gat--btn gat--btn__primary ${f?"disabled":""}`,disabled:f,onClick:()=>{o("click-ui"),e(d)},children:t("webbuilder.save")})]})]})})}const POPUPS=Object.freeze(Object.defineProperty({__proto__:null,PopupColorComponent,PopupImageComponent,PopupTextComponent},Symbol.toStringTag,{value:"Module"})),defaultHeader={username:null,logo:null,userImage:null,bgImage:null,color:""},defaultBody={bankTitle:null,color:"",btnColor:"",work:null,home:null,mail:null,studies:null,bgImage:null};function PopupComponent({type:l,close:e,translate:n,soundActions:t,...a}){const o=POPUPS[l];return o?jsxRuntimeExports.jsx(o,{type:l,...a.props,closingAction:e,translate:n,soundActions:t}):null}function DisplayingFeedback({feed:l,resolved:e,translate:n,onNext:t}){return l==="success"?jsxRuntimeExports.jsx(FeedbackResult,{success:!0,showButton:!e,onNext:t,translate:n}):l==="failed"?jsxRuntimeExports.jsx(FeedbackResult,{onNext:t,translate:n}):null}function WebBuilderPuzzleComponent({type:l,info:e,emitEvent:n,getEvent:t,setResolveAction:a,soundActions:o,disableExit:d,keyboardControl:h}){const[f,u]=React$2.useState(!1),[p,_]=React$2.useState(!1),[R,x]=React$2.useState(!1),[S,g]=React$2.useState(!1),[v,b]=React$2.useState(!1),[T,y]=React$2.useState(null),w=l==="facebook",C=w?FacebookTemplate:BankTemplate,[D,N]=React$2.useState({type:"",props:{}}),[P,k]=React$2.useState(defaultHeader),[F,M]=React$2.useState(defaultBody),[j]=o,$=W=>t({type:"translate",payload:W}),B=()=>{N({type:"",props:{}})},X=(W,V={})=>{N({type:W,props:V})},re=()=>{if(e.solution){const{rewards:W}=e.solution.right,{rewards:V}=e.solution.wrong;j(R?"fail":"score"),n({type:"addPoints",complex:!0,finish:!0,payload:R?V:W}),n({type:"passPuzzle"})}},ae=h({disabled:T!=="success",forward:re,escape:re});React$2.useEffect(()=>ae(),[ae]);const ee=(W,V)=>{const z=Object.keys(W),Y={existing:0,equal:0};return z.forEach(ie=>{V[ie]!==null&&V[ie]!==""&&(Y.existing+=1),W[ie]===V[ie]&&(Y.equal+=1)}),Y},K=(W,V)=>{const z=Object.keys(C.header).length,Y=Object.keys(C.body).length,ie=ee(C.header,W),le=ee(C.body,V),fe=le.existing+ie.existing===z+Y,ce=le.equal+ie.equal===z+Y;return{exist:fe,equal:ce}},ne=()=>{j("click-ui");const{exist:W,equal:V}=K(P,F);n({type:"hidePuzzleButtons",payload:!0}),W&&!V?(v&&b(!1),y("failed"),x(!0),n({type:"failPuzzle"})):W&&V&&(v&&(d(!1),b(!1)),g(!0),y("success"))},ue=W=>{if(Object.keys(W).length>0){const V={...P,...W};k(V),B();const{exist:z}=K(V,F);b(!!z)}},me=W=>{if(Object.keys(W).length>0){const V={...F,...W};M(V),B();const{exist:z}=K(P,V);b(!!z)}};React$2.useEffect(()=>{a(W=>{_(!0),y("success"),u(!1),setTimeout(()=>{y(""),W()},4e3)}),d(!0)},[a,d,e.resolve.rewards,n]);const J={showingReference:f||p,isFacebook:w,openPopup:X,usingTemplate:C,translate:$},H=()=>{T==="failed"?(y(null),n({type:"hidePuzzleButtons",payload:!1})):T==="success"&&re()};return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(PopupComponent,{type:D.type,...D,close:B,soundActions:o,translate:$}),jsxRuntimeExports.jsxs("div",{className:"puzzle--webBuilder",children:[jsxRuntimeExports.jsx(WebBuilderTopBar,{backActive:f,displayButton:!p&&!S,translate:$,clickAction:()=>{j("click-ui"),u(!f)}}),jsxRuntimeExports.jsx(WebBuilderHeader,{...J,header:P,onSave:ue}),w?jsxRuntimeExports.jsx(WebBuilderFront,{...J,header:P,onSave:ue}):null,jsxRuntimeExports.jsx(WebBuilderBody,{...J,body:F,onSave:me})]}),!v&&!f?jsxRuntimeExports.jsx(DisplayingFeedback,{feed:T,onNext:H,resolved:p,translate:$}):null,v&&!f?jsxRuntimeExports.jsx(PublishButton,{onPublish:ne,translate:$}):null]})}function CardImage({img:l}){const n=(l||{}).url;return jsxRuntimeExports.jsx("img",{src:n,alt:""})}function CardText({text:l,hasImage:e}){return l?jsxRuntimeExports.jsx("div",{className:`card-selector-item__textbox ${e?"":"card-selector-item__textbox--noimage"}`,children:jsxRuntimeExports.jsx("div",{className:"card-selector-item__text",children:jsxRuntimeExports.jsx("span",{children:l||"_"})})}):null}function CardNumber({order:l}){return l?jsxRuntimeExports.jsx("div",{className:"card-selector-item__order",children:jsxRuntimeExports.jsx("div",{children:l})}):null}function CardSuccess({order:l}){return jsxRuntimeExports.jsxs("div",{className:"card-selector-item__feedback card-selector-item__feedback--success ",children:[jsxRuntimeExports.jsx(CardNumber,{order:l}),jsxRuntimeExports.jsx("div",{className:"card-selector-item__feedbackicon",children:jsxRuntimeExports.jsx("div",{className:"icon-check-circle-black"})})]})}function CardFail(){return jsxRuntimeExports.jsx("div",{className:"card-selector-item__feedback card-selector-item__feedback--error",children:jsxRuntimeExports.jsx("div",{className:"card-selector-item__feedbackicon",children:jsxRuntimeExports.jsx("div",{className:"icon-error-circle-black"})})})}function CardContainer({flipped:l,correct:e,order:n,wrongOrder:t,isEmpty:a}){return!a&&l&&e&&!t?jsxRuntimeExports.jsx(CardSuccess,{order:n}):!a&&l?jsxRuntimeExports.jsx(CardFail,{}):null}function Card({card:l,handleClick:e,flipped:n,cardIndex:t,wrongOrder:a}){const o=()=>!(l.img||l.text),d=()=>!!(n&&!l.correct||!n);return jsxRuntimeExports.jsxs("button",{"data-testid":`card-${t}`,type:"button",order:l.order,onClick:()=>{!o()&&d()&&e(t)},className:`unset-button card-selector-item ${o()?"card-selector-item--empty":""}`,"aria-label":l.text?l.text:null,children:[jsxRuntimeExports.jsx(CardImage,{img:l.img}),jsxRuntimeExports.jsx(CardText,{text:l.text,hasImage:!!l.img}),jsxRuntimeExports.jsx(CardContainer,{isEmpty:o(),flipped:n,wrongOrder:a,order:l.order,correct:l.correct})]})}Card.defaultProps={handleClick:()=>{},documentsDict:{},card:{},flipped:!1,wrongOrder:!1,cardIndex:0};Card.propTypes={wrongOrder:PropTypes.bool,handleClick:PropTypes.func,cardIndex:PropTypes.number,flipped:PropTypes.bool,documentsDict:PropTypes.shape({}),card:PropTypes.shape({correct:PropTypes.bool,order:PropTypes.number,text:PropTypes.string,imgId:PropTypes.string,status:PropTypes.string})};function Board({cards:l,currentOrder:e,setCurrentOrder:n,handleError:t,feedbackIsShown:a,resolvePuzzle:o,soundActions:d,onFinish:h,handleSuccess:f,resolveWithAnyCard:u}){const[p,_]=React$2.useState(Array(l.length).fill(!1)),[R,x]=React$2.useState(Array(l.length).fill(!1)),[S,g]=React$2.useState(0),[v,b]=React$2.useState(!1),[T]=d,y=l.filter(M=>M.correct===!0).length,w=l.filter(M=>M.order).length>0,C=React$2.useCallback(()=>{_(Array(l.length).fill(!1)),x(Array(l.length).fill(!1)),g(0),n(1)},[l.length,n]),D=()=>{setTimeout(()=>{C()},1e3)};function N(M,j=M){const $=Array.from(p);$[M]=j,_($)}const P=React$2.useCallback(()=>{const M=[];l.forEach((j,$)=>{j.correct===!0&&M.push($)}),_(M)},[l]);React$2.useEffect(()=>{o&&P()},[P,o]),React$2.useEffect(()=>{(u&&S||S===y&&y>0)&&(h(),b(!0),g(0))},[S,h,y,u]);const k=M=>{N(M),f(l[M].id||null),g(S+1)},F=M=>{var j,$;if(!v&&!a)if(T("click-ui"),l[M].correct&&!w)k(M);else if(w){if(l[M].order===e)n(e+1),k(M);else if(N(M),l[M].order!==e){const B=Array.from(R);B[M]=M,x(B),t(((j=l[M])==null?void 0:j.id)||null,l[M].correct),D()}}else t((($=l[M])==null?void 0:$.id)||null),N(M),setTimeout(()=>{N(M,!1)},1e3)};return jsxRuntimeExports.jsx("div",{className:`cards-selector__content cards-selector__content-${l.length}`,children:l&&l.map((M,j)=>jsxRuntimeExports.jsx(Card,{setCurrentOrder:n,card:M,handleClick:()=>F(j),flipped:p.includes(j),wrongOrder:R.includes(j),cardIndex:j},`cardPuzzle ${l.indexOf(M)}`))})}Board.defaultProps={setCurrentOrder:()=>{},handleError:()=>{},onFinish:()=>{},handleSuccess:()=>{},documentsDict:{},cards:[],currentOrder:1,resolvePuzzle:!1,feedbackIsShown:!1,resolveWithAnyCard:!1};function CardsSelectorPuzzleComponent({emitEvent:l,getEvent:e,info:n,cards:t,resolveWithAnyCard:a,specificFeedbacks:o,disableExit:d,setResolveAction:h,soundActions:f,backgroundImage:u,nodeId:p,keyboardControl:_,hideBackgroundImageTheme:R=!1}){var H,W;const[x,S]=React$2.useState(!1),[g,v]=React$2.useState(1),[b,T]=React$2.useState(!1),[y,w]=React$2.useState(!1),[C,D]=React$2.useState(!1),[N,P]=React$2.useState([]),[k,F]=React$2.useState(!1),[M,j]=React$2.useState(""),[$]=f,B=V=>e({type:"translate",payload:V}),X=`cards-selector-puzzle_${p}`,re=React$2.useCallback(V=>{T(!1),D(!1),l({type:"hidePuzzleButtons",payload:!1}),l({type:"addPoints",complex:!0,finish:!0,payload:V}),l({type:"passPuzzle"})},[l]),ae=React$2.useCallback(()=>{var ie,le;l({type:"hidePuzzleButtons",payload:!0}),T(!0);const{rewards:V}=((ie=n==null?void 0:n.solution)==null?void 0:ie.right)||{},z=((le=o==null?void 0:o.correctFeedbacks)==null?void 0:le.map(fe=>fe.rewards).flat())||[],Y=[...N,...V,...z];$("score"),re(Y)},[N,re,l,(H=n==null?void 0:n.solution)==null?void 0:H.right,$,o==null?void 0:o.correctFeedbacks]),ee=()=>{S(!0),n.solution.right.desc&&!(o!=null&&o.specificCorrectFeedbacks)&&j(n.solution.right.desc),D(!0)},K=()=>{b||x?ae():(T(!1),d(!1),D(!1),l({type:"hidePuzzleButtons",payload:!1})),j("")},ne=V=>{if(w(!0),o!=null&&o.specificCorrectFeedbacks){const z=o.correctFeedbacks.find(Y=>Y.id===V);z!=null&&z.desc&&(j(z.desc),D(!0))}$("score"),l({type:"hidePuzzleButtons",payload:!0})},ue=(V,z=!1)=>{var Y,ie;if(w(!1),z)j((Y=n.orderFeedback)==null?void 0:Y.desc),D(!0),P([...N,...((ie=n.orderFeedback)==null?void 0:ie.rewards)||[]]);else if(o!=null&&o.specificWrongFeedbacks){const le=o.wrongFeedbacks.find(fe=>fe.id===V);le!=null&&le.desc?(j(le.desc),D(!0)):(D(!0),setTimeout(()=>{K(),l({type:"hidePuzzleButtons",payload:!1})},2e3)),P([...N,...(le==null?void 0:le.rewards)||[]])}else n.solution.wrong.desc?(j(n.solution.wrong.desc),D(!0)):(D(!0),setTimeout(()=>{K(),l({type:"hidePuzzleButtons",payload:!1})},3e3));d(!0),!(o!=null&&o.specificWrongFeedbacks)&&!z&&P([...N,...n.solution.wrong.rewards]),$("fail"),l({type:"hidePuzzleButtons",payload:!0}),l({type:"failPuzzle"})};React$2.useEffect(()=>{x&&d(!0)},[d,x]),React$2.useEffect(()=>{h(()=>{var z;l({type:"hidePuzzleButtons",payload:!0}),F(!0);const V=[...N,...((z=n==null?void 0:n.resolve)==null?void 0:z.rewards)||{}];setTimeout(()=>{T(!1),D(!1),l({type:"hidePuzzleButtons",payload:!1}),l({type:"puzzleAction",action:"resolve",payload:{element:X,rewards:V,finish:!0}})},2e3)})},[h,d,N,(W=n==null?void 0:n.resolve)==null?void 0:W.rewards,l,X]);const me=React$2.useMemo(()=>{let V="";return V="cards-selector",u!=null&&u.url&&(V+=" cards-selector--with-custom-bg"),R&&(V+=" disable-background-image"),V},[u==null?void 0:u.url,R]),J={backgroundImage:u!=null&&u.url?`url('${u.url}')`:""};return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:me,style:J,children:jsxRuntimeExports.jsx(Board,{setCurrentOrder:v,currentOrder:g,cards:t,onFinish:ee,resolveWithAnyCard:a,handleError:ue,feedbackIsShown:C,resolvePuzzle:k,soundActions:f,handleSuccess:ne})}),C&&jsxRuntimeExports.jsx(FeedbackComponent$1,{success:b||y,text:M,hasTimeout:!M,translate:B,functionOnClose:K,keyboardControl:_})]})}CardsSelectorPuzzleComponent.defaultProps={cards:[],info:{},resolveWithAnyCard:!1,backgroundImage:{url:""}};function Fakecursor(){return jsxRuntimeExports.jsx("span",{className:"fakecursor",children:"|"})}function FixedComponent({delay:l,index:e,length:n,textToPrint:t,setDoneTyping:a,nextParagraphType:o,isWriting:d}){const[h,f]=React$2.useState(!0),[u,p]=React$2.useState(""),[_,R]=React$2.useState(!1);React$2.useEffect(()=>{R(e===n-1)},[e,n]);const x=b=>{if(!b||!b.length)return"";const T=b.replace(/<script.*?>.*?<\/script>/gim,""),y=document.createElement("DIV");return y.innerHTML=T,y.textContent||y.innerText||""};React$2.useEffect(()=>{const b=()=>{const y=t.trim().split(" ");return T(y,y.length-1).join(" ")},T=(y,w)=>{if(w<0)return[""];const C=[...y];if(x(y[w]).length!==0){const D=y[w];return C[w]=`<span class="lastWord" >${D}</span>`,C}return T(y,w-1)};o==="election"?p(b()):setTimeout(()=>{p(t)},200)},[o,t]);const S=()=>{a(!0),f(!1)},g=t.split("<p>");g.shift();const v=g.length>1;return h&&t!==""&&u!==""?jsxRuntimeExports.jsx("span",{className:`writer-inline ${v?"multiple":""} ${_?"Typist":""}`,"data-testid":`result-${e}`,children:jsxRuntimeExports.jsx(Typist,{startDelay:300,avgTypingDelay:l,stdTypingDelay:10,onCharacterTyped:d,onTypingDone:S,cursor:{hideWhenDone:!0,hideWhenDoneDelay:200},blink:!0,children:HTMLReactParser$1(t)})}):jsxRuntimeExports.jsxs("span",{className:`writer-inline ${v?"multiple":""} ${_?"Typist":""}`,"data-testid":`result-${e}`,children:[HTMLReactParser$1(u),o==="election"&&_&&jsxRuntimeExports.jsx(Fakecursor,{})]})}FixedComponent.defaultProps={delay:0,textToPrint:"",setDoneTyping:()=>{},nextParagraphType:"",isWriting:()=>{}};function SingleElection({option:l,decisionInspected:e,setCurrentDecisionSelected:n,index:t,setCurrentDecisionInspected:a,soundActions:o}){const[d]=o,h=R=>R.previewText!==""?HTMLReactParser$1(R.previewText):HTMLReactParser$1(R.fullText),f=R=>R.previewText!==""?e===t?"icon-eye inspected":"icon-eye":"",u=()=>{d("click-ui"),n(t)},p=R=>{R.keyCode===13&&_(R)},_=R=>{R.preventDefault(),R.stopPropagation(),e===t?(R.target.style.background="",a("")):a(t)};return jsxRuntimeExports.jsxs("div",{className:"single-election",children:[jsxRuntimeExports.jsxs("button",{className:"single-election__cta",type:"button",onClick:()=>u(),children:[jsxRuntimeExports.jsx("div",{className:"single-election__btn",children:jsxRuntimeExports.jsx("span",{children:h(l)})}),jsxRuntimeExports.jsx("div",{onClick:_,onKeyDown:p,className:f(l),"aria-label":"Inspect",role:"button",tabIndex:0})]}),e===t&&jsxRuntimeExports.jsx("div",{className:"single-election__complete",children:jsxRuntimeExports.jsx("div",{children:HTMLReactParser$1(l.fullText)})})]})}SingleElection.defaultProps={setCurrentDecisionSelected:()=>{},setCurrentDecisionInspected:()=>{},option:{},index:0};function SingleElectionRender({decisionInspected:l,opt:e,index:n,setCurrentDecisionSelected:t,setCurrentDecisionInspected:a,soundActions:o}){return e&&e.fullText&&e.fullText!==""?jsxRuntimeExports.jsx(SingleElection,{decisionInspected:l,setCurrentDecisionSelected:t,setCurrentDecisionInspected:a,option:e,soundActions:o,index:n}):null}function ElectionComponent({textWithOpts:l,setCurrentDecisionSelected:e,printed:n,soundActions:t}){const[a,o]=React$2.useState("");return React$2.useEffect(()=>{n()},[n]),jsxRuntimeExports.jsx("div",{className:`elections-box pos${a+1}-${l.filter(d=>!!d.fullText).length}`,children:l&&l.map((d,h)=>jsxRuntimeExports.jsx(SingleElectionRender,{opt:d,soundActions:t,index:h,setCurrentDecisionSelected:e,setCurrentDecisionInspected:o,decisionInspected:a},h))})}ElectionComponent.defaultProps={textWithOpts:[],setCurrentDecisionSelected:()=>{},printed:()=>{}};function FeedbackElement({decision:l}){const{title:e,body:n}=l.feedback;return jsxRuntimeExports.jsx("div",{children:n!==""&&jsxRuntimeExports.jsxs("div",{className:"writer-feedback-decision-item",children:[e&&jsxRuntimeExports.jsxs("div",{dir:"auto",className:"writer-feedback-decision-item__title",children:[e," "]}),n&&jsxRuntimeExports.jsxs("div",{dir:"auto",className:"writer-feedback-decision-item__message",children:[l.correct?jsxRuntimeExports.jsx("span",{className:"icon-check-circle-black color--success"}):jsxRuntimeExports.jsx("span",{className:"icon-error-circle-black color--error"}),jsxRuntimeExports.jsx("span",{children:n})]})]})})}FeedbackElement.defaultProps={decision:{}};function FeedbackComponent({getEvent:l,closingAction:e,feedbackIsDone:n,decisionsList:t,texts:a,retryAction:o,retry:d,skip:h,checkCorrect:f,rewardsStack:u,setFailed:p,soundActions:_}){const[R]=_,x=g=>l({type:"translate",payload:g}),S=()=>{R("click-ui"),e(),p(),n()};return jsxRuntimeExports.jsxs("div",{className:`writer-feedback ${u.length?"":"start"}`,children:[jsxRuntimeExports.jsx("div",{className:"writer-feedback__title",children:x("puzzles.feedback")}),jsxRuntimeExports.jsx("div",{className:"writer-feedback__decisions",children:t.map(g=>a[g.currenTextParagraph].electionTexts[g.index].feedback.body?jsxRuntimeExports.jsx(FeedbackElement,{decision:a[g.currenTextParagraph].electionTexts[g.index]},g.index):null)}),jsxRuntimeExports.jsxs("div",{className:"writer-feedback__btns",children:[h&&jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__secondary writer-feedback__btn-mobile",onClick:()=>{S()},children:x("puzzles.skip")}),d&&jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__primary writer-feedback__btn-mobile",onClick:()=>{f()?S():(R("click-ui"),o())},children:x(f()?"puzzles.continue":"puzzles.retry")}),!d&&jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__primary writer-feedback__btn-mobile",onClick:()=>S(),children:x("puzzles.continue")})]})]})}FeedbackComponent.defaultProps={emitEvent:()=>{},closingAction:()=>{},feedbackIsDone:()=>{},decisionsList:[],texts:[],retryAction:()=>{},retry:!1,skip:!1,checkCorrect:()=>{},nodeId:"0"};function FinishedTextComponent({textToPrint:l,correct:e}){const n=l.split("<p>");n.shift();const t=n.length>1;return jsxRuntimeExports.jsx("span",{className:`writer-inline ${t?"multiple":""} ${e}`,children:HTMLReactParser$1(l)})}FinishedTextComponent.defaultProps={correct:"",textToPrint:""};function WriterPuzzleComponent({emitEvent:l,getEvent:e,styles:n,nodeId:t,retry:a,skip:o,type:d,info:h,setResolveAction:f,documentTitle:u,documentTitle_labelId:p,texts:_,soundActions:R,backgroundImage:x,hideBackgroundImageTheme:S=!1}){const g=Ye=>e({type:"translate",payload:Ye}),v=React$2.useRef(),[b,T]=React$2.useState(!1),[y,w]=React$2.useState(!1),[C,D]=React$2.useState(0),[N,P]=React$2.useState({[`text_${C}`]:{..._[C],id:`text_${C}`,correct:""}}),[k,F]=React$2.useState(!1),[M,j]=React$2.useState([]),[$,B]=React$2.useState(!1),[X,re]=React$2.useState(!1),[ae,ee]=React$2.useState(!1),[K,ne]=React$2.useState(!0),[ue,me]=React$2.useState([]),[J,H]=React$2.useState(!0),[W]=R,V=React$2.useRef({}),z=Ye=>{let ot;return Ye.electionTexts.forEach(($e,rt)=>{$e.correct&&(ot=rt)}),ot},Y=React$2.useCallback(Ye=>M.filter($e=>$e.currenTextParagraph===Ye)[0].fullText_labelId,[M]),ie=React$2.useCallback(()=>_.map((Ye,ot)=>{if(Ye.type==="fixed")return Ye.fullText_labelId??Ye.fullText;if(Ye.type==="election"){const $e=z(Ye);return $e>=0?Ye.electionTexts[$e].fullText_labelId:Y(ot)}return""}),[Y,_]),le=12,fe=()=>{if(M){const Ye=M.length;let ot=0;for(let $e=0;$e<Ye;$e+=1)M[$e].isCorrect==="none"&&(ot+=1);return ot===Ye}return!0},ce=React$2.useCallback(()=>{if(M){const Ye=M.length;let ot=0;for(let $e=0;$e<Ye;$e+=1)M[$e].isCorrect==="green"&&(ot+=1);return ot===Ye}return!0},[M]),ge=()=>!!(M&&M.length),Se=()=>M.find(Ye=>{const{feedback:ot}=_[Ye.currenTextParagraph].electionTexts[Ye.index];return ot.body!==""}),Te=React$2.useCallback(()=>{const Ye=ie();l({type:"finishMedia",payload:{name:p,text:Ye,documentType:d,type:"text"}})},[ie,p,l,d]),Fe=React$2.useCallback(Ye=>{const ot=ce();W(y?"fail":ot?"score":"fail"),l({type:"addPoints",complex:!0,finish:!0,payload:Ye||ue,onFinish:d!=="view"?Te:null}),l({type:"passPuzzle"})},[ce,l,y,Te,W,ue,d]);React$2.useEffect(()=>{b&&H(!1),f(()=>{Fe(h.resolve.rewards)})},[l,Fe,b,Te,h.resolve.rewards,f,d]);const Ne=()=>{T(!1),D(0),j([]),me([]),w(!1),ee(!1),F(!1),re(!1),B(!1),P({text_0:{..._[0],id:"text_0",correct:""}}),ne(!0),l({type:"addPoints",complex:!0,finish:!1,payload:ue}),l({type:"failPuzzle"})},Qe=()=>{ge()?fe()&&(B(!0),Fe()):(B(!0),ee(!0),Fe()),$?(ne(!1),ae&&!X?re(!0):(X||!ae&&!X)&&(!ae&&!X&&a?ce()?Fe():Ne():Fe())):(B(!0),Se()&&ee(!0))},st=()=>{const Ye=_[C].electionTexts.filter($e=>$e.correct).length,ot=_[C].electionTexts;return Ye===0||Ye===ot},Ze=Ye=>{const ot=_[C].electionTexts[Ye],$e=ot.feedback.rewards;$e&&$e[0]&&$e[0].points&&(V.current[`t${C}_e${Ye}`]||(ot.correct&&(V.current[`t${C}_e${Ye}`]=!0),me([...ue,...$e])));const rt=()=>st()?"none":ot.correct?"green":"red",ft={currenTextParagraph:C,fullText:ot.fullText,index:Ye,isCorrect:rt()};P({...N,[`text_${C}`]:{type:"fixed",fullText:ot.fullText,correct:ft.isCorrect}}),j([...M,ft])},yt=()=>{v.current.scrollTop=v.current.scrollHeight+100},Ve=()=>{if(v.current.querySelector(".wrapfixed").offsetHeight>v.current.offsetHeight){const Ye=v.current.querySelector(".wrapfixed").offsetHeight;v.current.scrollTo({top:Ye,behavior:"smooth"})}},Me=(Ye,ot,$e)=>{const rt=Ye.fullText,ft=_[$e+1]?_[$e+1].type:"",Ge=N[`text_${$e+1}`]&&N[`text_${$e+1}`].type?N[`text_${$e+1}`].type:ft;return jsxRuntimeExports.jsx(FixedComponent,{length:ot,doneTyping:k,index:$e,delay:le,setDoneTyping:F,nextParagraphType:Ge,isWriting:Ve,textToPrint:rt},$e.toString())},Le=(Ye,ot)=>{const $e=Ye.fullText;return jsxRuntimeExports.jsx(FinishedTextComponent,{textToPrint:$e,correct:Ye.correct},ot)},Ke=Ye=>jsxRuntimeExports.jsx(ElectionComponent,{soundActions:R,textWithOpts:Ye.electionTexts,setCurrentDecisionSelected:Ze,printed:yt,disableExit:J},Ye.electionTexts),ke=(Ye,ot,$e)=>Ye.type==="fixed"?Me(Ye,ot,$e):Ke(Ye);React$2.useEffect(()=>{k===!0&&(()=>{_[C+1]?(P({...N,[`text_${C+1}`]:{..._[C+1],id:`text_${C+1}`,correct:""}}),D(C+1),F(!1)):T(!0)})()},[k,C,N,_]);const qe=React$2.useMemo(()=>{let Ye=`writer-puzzle writer-puzzle--${n}`;return S&&(Ye+=" disable-background-image"),Ye},[S,n]),St={backgroundImage:x!=null&&x.url?`url('${x.url}')`:""};return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:jsxRuntimeExports.jsx("div",{className:qe,style:St,children:jsxRuntimeExports.jsxs("div",{className:"writer-puzzle__overlay",children:[X&&jsxRuntimeExports.jsx(FeedbackComponent,{getEvent:e,texts:_,setFailed:()=>w(!0),decisionsList:M,closingAction:Qe,retry:a,skip:o,checkCorrect:ce,retryAction:Ne,rewardsStack:ue,nodeId:t,soundActions:R}),!X&&jsxRuntimeExports.jsxs("div",{className:"writer-puzzle__container",children:[jsxRuntimeExports.jsx("div",{dir:"auto",className:"writer-puzzle__title",children:u!==""&&u}),jsxRuntimeExports.jsx("div",{className:"writer-puzzle__body",dir:LangIsRtl()?"rtl":"auto",children:jsxRuntimeExports.jsxs("div",{className:"writer-puzzle__scroll",tabIndex:0,style:{overflowX:"hidden",padding:"0 0 20px 0",height:"95%"},ref:v,children:[jsxRuntimeExports.jsx("div",{className:"wrapfixed",children:K&&!$&&Object.values(N).map((Ye,ot)=>ke(Ye,Object.values(N).length-1,ot))}),$&&Object.values(N).map((Ye,ot)=>Le(Ye,ot))]})}),b&&jsxRuntimeExports.jsx("div",{className:"writer-puzzle__footer",children:jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__primary",onClick:Qe,children:g("screens.continue")})})]})]})})})}WriterPuzzleComponent.defaultProps={emitEvent:()=>{},info:{},styles:"",nodeId:"0",retry:!1,skip:!1,type:"",documentTitle:"",texts:[]};function Image$1({document:l,name:e,isWallpaper:n}){const t=(l==null?void 0:l.url)||null;return jsxRuntimeExports.jsx("div",{className:`puzzle--terminal__image ${n?"puzzle--terminal__image--wallpaper":""}`,children:t?jsxRuntimeExports.jsx("img",{src:t,alt:e||""}):null})}const ICONS$1={image:"image-icon",video:"video-icon",embedded_video:"video-icon",pdf:"pdf-icon",terminal:"console-icon",cracker:"cracker-icon",folder:"folder-icon",world:"world-icon"};function Visor({file:l,solution:e,showContinue:n,info:t,resolvePuzzle:a,backFile:o,translate:d,soundActions:h,keyboardControl:f}){var T;const{fileId:u}=l,p=((T=l.document)==null?void 0:T.url)||"",[_]=h,R={image:{component:Image$1,props:{...l,url:p,soundActions:h}},video:{component:VideoVisor,props:{...l,url:p,endVideo:a,soundActions:h,translate:d}},embedded_video:{component:VideoVisor,props:{...l,url:p,soundActions:h}},pdf:{component:PdfVisor,props:{...l,url:p,translate:d,soundActions:h,emitNumberOfPages:()=>{},endPdf:()=>{},keyboardControl:f}},application:{component:PdfVisor,props:{...l,url:p,translate:d,soundActions:h,emitNumberOfPages:()=>{},keyboardControl:f,endPdf:()=>{}}}};if(!R[l.type])return null;const x=R[l.type].component,S=R[l.type].props,v=l.name.replace(/.jpg|.png|.pdf|.mp4/gi,""),b=e.fileId;return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:jsxRuntimeExports.jsxs("div",{className:"puzzle--terminal__visor",children:[jsxRuntimeExports.jsx(FeedbackComponent$1,{playSound:_,shortText:!0,success:u===b,text:u===b?t.solution.right.desc:t.solution.wrong.desc,functionOnClose:u===b?a:o,additionalStyle:ICONS$1[l.type],secondText:v,translate:d,puzzleHeaderClass:"puzzle--terminal__visor--message",keyboardControl:f}),jsxRuntimeExports.jsx("div",{className:"puzzle--terminal__visor--body",children:jsxRuntimeExports.jsx(x,{...S})}),jsxRuntimeExports.jsx("div",{className:"puzzle--terminal__button",children:u===b&&n?jsxRuntimeExports.jsx("button",{className:"gat--btn gat--btn__primary green",type:"button",onClick:a,children:d("screens.continue")}):null})]})})}const ICONS={image:"image-icon",video:"video-icon",embedded_video:"video-icon",pdf:"pdf-icon",terminal:"console-icon",cracker:"cracker-icon",folder:"folder-icon",application:"pdf-icon",world:"world-icon"};function Item({item:l,selectItem:e}){const n=l.name;return jsxRuntimeExports.jsx("li",{className:"puzzle--terminal__folder__list--item",children:jsxRuntimeExports.jsxs("button",{type:"button",title:n,className:`unset-button puzzle--terminal__item id-${l.id}`,onClick:()=>l.fixed?null:e(l),children:[jsxRuntimeExports.jsx("span",{className:`puzzle--terminal__icon ${ICONS[l.type]}`}),jsxRuntimeExports.jsx("span",{children:n})]})})}function FilesGroup({initFile:l,backFile:e,file:n,closeFolder:t,selectItem:a}){return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:n.id==="init"?jsxRuntimeExports.jsx("ul",{className:"puzzle--terminal__folder__list desktop",children:n.children.map((o,d)=>jsxRuntimeExports.jsx(Item,{selectItem:a,item:o},`${`${d}${o.id}`}`))}):jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("ul",{className:"puzzle--terminal__folder__list desktop",children:l.children.map((o,d)=>jsxRuntimeExports.jsx(Item,{selectItem:a,item:o},`${d+o.id}`))}),jsxRuntimeExports.jsxs("div",{className:"puzzle--terminal__folder",children:[jsxRuntimeExports.jsxs("div",{className:"puzzle--terminal__folder--head",children:[jsxRuntimeExports.jsx("span",{role:"button",onKeyUp:()=>{},"aria-label":"back file",tabIndex:0,onClick:()=>e(),className:"puzzle--terminal__folder--back",children:jsxRuntimeExports.jsx("span",{className:"icon-back"})}),jsxRuntimeExports.jsx("span",{className:`puzzle--terminal__folder--head__icon ${ICONS[n.type]}`}),jsxRuntimeExports.jsx("span",{className:"text",children:n.name}),jsxRuntimeExports.jsx("span",{role:"button",tabIndex:0,"aria-label":"close folder",onKeyUp:()=>{},onClick:()=>t(),className:"puzzle--terminal__folder--close",children:jsxRuntimeExports.jsx("span",{className:"icon-close"})})]}),jsxRuntimeExports.jsx("div",{className:"puzzle--terminal__folder--body",children:jsxRuntimeExports.jsx("ul",{className:"puzzle--terminal__folder__list",children:n.children.map((o,d)=>jsxRuntimeExports.jsx(Item,{selectItem:a,item:o},`${d+o.id}`))})})]})]})})}const DEFAULT_IMG="https://min.gamelearn.io/css-resources/gamelearn/resources/cosmos-bg-min.jpg",FIXED_ITEMS=[{fileId:"ids1",type:"world",fixed:!0,name:"Web builder 3.0"},{fileId:"ids2",type:"cracker",fixed:!0,name:"Decoder.exe"},{fileId:"ids3",type:"terminal",fixed:!0,name:"terminal"}];function TerminalPuzzleComponent({emitEvent:l,getEvent:e,items:n,backgroundImage:t,solution:a,info:o,disableExit:d,soundActions:h,setResolveAction:f,nodeId:u,keyboardControl:p}){const[_,R]=React$2.useState({}),[x]=React$2.useState(!1),[S,g]=React$2.useState([]),v=React$2.useRef([]),[b]=h,T=F=>e({type:"translate",payload:F}),y=`terminal-puzzle_${u}`,w=React$2.useMemo(()=>({name:"init",children:[...FIXED_ITEMS,...n],id:"init"}),[n]),C=React$2.useCallback(F=>{b("click-ui"),R(F),g([...S,F]),F.type!=="folder"&&(l({type:"hidePuzzleButtons",payload:!0}),d(!0))},[S,d,l,b]);React$2.useEffect(()=>{R(w),g([w])},[w]),React$2.useEffect(()=>{f(()=>{v.current=[...v.current,...o.resolve.rewards];const F=v.current.map(M=>{var ae;const{name:j,points:$,type:B,id:X}=M,re={name:j,points:$,type:B,id:X};return(ae=M==null?void 0:M.document)!=null&&ae.resourceId&&(re.id=M.document.resourceId),re});l({type:"hidePuzzleButtons",payload:!1}),l({type:"puzzleAction",action:"resolve",payload:{element:y,rewards:F,finish:!0}})})},[f,o.resolve.rewards,l,y]);const D=()=>{v.current=[...v.current,...o.solution.wrong.rewards];const F=S.length-1,M=S.filter((j,$)=>F>$);R(S[F-1]),g(M),d(!1),l({type:"hidePuzzleButtons",payload:!1})},N=()=>{b("click-ui");const F=S[0];R(F),g([F])},P=()=>{v.current=[...v.current,...o.solution.right.rewards];const F=v.current.map(M=>{var ae;const{name:j,points:$,type:B,id:X}=M,re={name:j,points:$,type:B,id:X};return(ae=M==null?void 0:M.document)!=null&&ae.resourceId&&(re.id=M.document.resourceId),re});l({type:"hidePuzzleButtons",payload:!1}),b("score"),l({type:"addPoints",complex:!0,finish:!0,payload:F}),l({type:"passPuzzle"})},k=(t==null?void 0:t.url)||DEFAULT_IMG;return jsxRuntimeExports.jsx("div",{className:"puzzle--terminal",children:_.children?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Image$1,{isWallpaper:!0,document:{url:k}}),jsxRuntimeExports.jsx(FilesGroup,{backFile:D,initFile:w,selectItem:C,breadcrumb:S,closeFolder:N,file:_,translate:T})]}):jsxRuntimeExports.jsx(Visor,{soundActions:h,backFile:D,resolvePuzzle:P,info:o,showContinue:!x,solution:a,file:_,translate:T,keyboardControl:p})})}function DragItemPuzzleComponent({area:l,image:e,resolveObject:n,info:t,hasHighlights:a,getEvent:o,consume:d,disableExit:h,emitEvent:f,soundActions:u,keyboardControl:p}){const{solution:_}=t,R=React$2.useRef(),x=React$2.useRef(),S=React$2.useRef(),g=React$2.useRef(),v=React$2.useRef({}),[b,T]=React$2.useState(""),[y,w]=React$2.useState(!1),[C,D]=React$2.useState(),[N]=React$2.useState(new window.Image),P=React$2.useRef([]),[k]=u,F=J=>o({type:"translate",payload:J});React$2.useEffect(()=>{h(b!=="")},[b,h]);const M=(J,H)=>(J.x+J.width>H.x&&J.x+J.width<=H.x+H.width||H.x+H.width>J.x&&H.x+H.width<=J.x+J.width)&&(J.y+J.height>H.y&&J.y+J.height<=H.y+H.height||H.y+H.height>J.y&&H.y+H.height<=J.y+J.height),j=()=>{R&&a&&(R.current.to({duration:.25,opacity:.75}),x.current.to({duration:.25,opacity:.4}))},$=()=>{R&&a&&(R.current.to({duration:.25,opacity:0}),x.current.to({duration:.25,opacity:0}))},B=React$2.useCallback(J=>{let H=!1;if(J){const W=S.current;W.setPointersPositions(J);const V=W.getPointerPosition(),z=R.current.getClientRect({relativeTo:W});H=M({...V,width:1,height:1},z)}return H},[]),X=React$2.useCallback(J=>J&&n.uid===JSON.parse(J).uid,[n.uid]),re=React$2.useCallback(()=>{T(""),f({type:"hidePuzzleButtons",payload:!1}),f({type:"addPoints",complex:!0,finish:!0,payload:P.current}),f({type:"passPuzzle"}),d&&f({type:"consumeItem",payload:{uid:n.uid,targetId:n.uid,name:n.name}})},[d,f,n.name,n.uid]),ae=React$2.useCallback(()=>{T("success"),f({type:"hidePuzzleButtons",payload:!0}),P.current=[...P.current,..._.right.rewards],setTimeout(()=>{re()},2e3)},[f,re,_.right.rewards]),ee=React$2.useCallback(()=>{T(""),f({type:"hidePuzzleButtons",payload:!1}),f({type:"failPuzzle"}),P.current=[...P.current,..._.wrong.rewards]},[f,_.wrong.rewards]),K=React$2.useCallback(J=>{const H=J.dataTransfer.getData("item");S.current.setPointersPositions(J);const W=B(J);f({type:"hidePuzzleButtons",payload:!0}),W&&X(H)?(T("success"),t.solution.right.desc===""&&ae()):(T("failed"),t.solution.wrong.desc===""&&setTimeout(()=>{ee()},2e3))},[B,X,f,ae,ee,t.solution.right.desc,t.solution.wrong.desc]),ne=()=>{b==="success"?ae():ee()};React$2.useEffect(()=>{const J=e.img.url||"";N.src=J,N.onload=()=>{g.current&&(v.current={x:g.current.clientWidth/2,y:g.current.clientHeight/2,width:N.width,height:N.height,offsetX:N.width/2,offsetY:N.height/2,scale:{x:Math.min(g.current.clientWidth/N.width,g.current.clientHeight/N.height),y:Math.min(g.current.clientWidth/N.width,g.current.clientHeight/N.height)}},w(!0))}},[N,e.img.url]);const ue=J=>{J!==null&&(R.current=J)},me=J=>{if(J!==null&&(x.current=J,R.current)){const{x:H,y:W,width:V,height:z}=R.current.getClientRect();J.setAttr("x",H),J.setAttr("y",W),J.setAttr("height",z),J.setAttr("width",V)}};return React$2.useLayoutEffect(()=>{if(R.current&&y){const J=R.current.getClientRect({relativeTo:R.current.getParent()});D({x:J.x+J.width/2,y:J.y+J.height/2})}},[y]),jsxRuntimeExports.jsxs("div",{className:"puzzle--drag__mask100",onDrop:K,onDragOver:J=>{J.preventDefault()},children:[jsxRuntimeExports.jsx("div",{className:"puzzle--drag__mask",children:jsxRuntimeExports.jsx("div",{ref:g,"data-testid":"mask_canvas",className:"puzzle--drag__mask--canvas",children:y?jsxRuntimeExports.jsx(Stage,{ref:S,width:g.current.clientWidth,height:g.current.clientHeight,children:jsxRuntimeExports.jsxs(Layer,{children:[jsxRuntimeExports.jsx(Image$2,{image:N,...v.current}),jsxRuntimeExports.jsxs(Group,{...v.current,children:[C?jsxRuntimeExports.jsx(Html,{transform:!0,groupProps:{id:"projection",...C},divProps:{style:{pointerEvents:"none"}},children:jsxRuntimeExports.jsx("div",{style:{width:"50px",height:"50px",pointerEvents:"none"},id:"object-area-projection"})}):null,jsxRuntimeExports.jsx(Line,{onMouseEnter:j,onMouseLeave:$,ref:ue,...l,shape:"poly",fill:"#262a31d9",stroke:"white",strokeWidth:1,opacity:0,dash:[3,2],closed:!0,draggable:!1})]}),jsxRuntimeExports.jsx(Text,{onMouseEnter:j,onMouseLeave:$,ref:me,text:F("puzzle.drag.dropzone"),fontSize:12,align:"center",verticalAlign:"middle",fill:"#ffffff",opacity:0})]})}):null})}),b!==""?jsxRuntimeExports.jsx(FeedbackComponent$1,{text:t.solution[b==="success"?"right":"wrong"].desc,success:b==="success",translate:F,playSound:k,functionOnClose:ne,keyboardControl:p}):null]})}const LABELS_INDEX$1=["A","B","C","D","E","F","G","H","I","J"];function Questions({disabled:l,answered:e,question:n,updateForm:t,result:a,correctQuestions:o,translate:d}){const[h,f]=React$2.useState(!1),u=n.answers.filter(v=>v.text),p=v=>{let b=!1;return a[n.id].find(T=>T.id===v)&&(b=!0),b},_=v=>{let b="";return h?(e&&p(v.id)&&(b="selected"),l&&p(v.id)&&o.includes(v.id)&&(b="success"),l&&p(v.id)&&!o.includes(v.id)&&(b="failed")):(e&&v.id===a[n.id][0].id&&(b="selected"),l&&v.id===a[n.id][0].id&&(b=a[n.id][0].isCorrect?"success":"failed")),b},R=v=>{const b=_(v);return b==="selected"?"icon-check-circle-black color--selected":b==="success"?"icon-check-circle-black color--success":b==="failed"?"icon-error-circle-black color--error":""},x=v=>l&&v.feedback&&(h&&p(v.id)||v.id===a[n.id][0].id),S=(v,b)=>b===0?"tooltip--right__top":b===v.length-1?"tooltip--right__bottom":"tooltip--center__right",g=n.answers.filter(v=>v.isCorrect);return React$2.useEffect(()=>{g.length===1?f(!1):f(!0)},[g.length,h,n.answers]),jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:"test--questions__item",children:jsxRuntimeExports.jsx("span",{children:n.text})}),h&&!l?jsxRuntimeExports.jsx("div",{className:"test--questions__intertitle test--questions__intertitle--multiresponse",children:d("tests.chooseMoreOneAnswer")}):null,u.map((v,b)=>jsxRuntimeExports.jsxs("div",{className:"test--response__fakeinput",children:[h?jsxRuntimeExports.jsx("input",{checked:e&&p(v.id),disabled:l&&!p(v.id),readOnly:l,type:"checkbox",id:v.id,onChange:()=>l?null:t(v,n.id,b,"isCheckbox",v.id)}):jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:jsxRuntimeExports.jsx("input",{checked:e&&v.id===a[n.id][0].id,disabled:l&&!_(v),type:"radio",name:"name",id:v.id,onChange:()=>l?null:t(v,n.id,b,"isRadio")})}),jsxRuntimeExports.jsxs("label",{htmlFor:v.id,className:`test--response__item ${_(v)}`,children:[jsxRuntimeExports.jsx("div",{className:"test--response__index",children:LABELS_INDEX$1[b]}),jsxRuntimeExports.jsx("div",{className:"test--response__text",children:jsxRuntimeExports.jsx("span",{children:v.text})}),jsxRuntimeExports.jsx("div",{className:`test--response__icon ${R(v)}`})]}),l?jsxRuntimeExports.jsxs("div",{className:`test--feedback__info ${x(v)?"":"test--feedback__info--hidden"}`,children:[jsxRuntimeExports.jsx("span",{className:`icon-info2 ${_(v)==="success"?"color--success":"color--error"}`}),jsxRuntimeExports.jsxs("div",{id:`tooltipFeedback-${b}`,className:`tooltip ${S(u,b)}`,children:[jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx("b",{children:jsxRuntimeExports.jsx("span",{children:d("test.feedback")})})}),jsxRuntimeExports.jsx("span",{children:jsxRuntimeExports.jsx("span",{children:v.feedback})})]})]}):null]},v.text))]})}const LABELS_INDEX=["A","B","C","D","E","F","G","H","I","J"];function FeedbackItem({selectedAnswers:l,correctQuestions:e,question:n,translate:t}){const a=h=>e.includes(h),o=(h,f)=>h.index<f.index?-1:h.index>f.index?1:0,d=l.sort(o);return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:"test--questions__item",children:jsxRuntimeExports.jsx("span",{children:n})}),d.map(h=>jsxRuntimeExports.jsxs("div",{className:"test--response__itemwrap",children:[jsxRuntimeExports.jsxs("div",{className:`test--response__item ${a(h.id)?"success":"failed"}`,children:[jsxRuntimeExports.jsx("div",{className:"test--response__index",children:LABELS_INDEX[h.index]}),jsxRuntimeExports.jsx("div",{className:"test--response__text",children:jsxRuntimeExports.jsx("span",{children:h.text})}),jsxRuntimeExports.jsx("div",{className:`test--response__icon ${a(h.id)?"icon-check-circle-black color--success":"icon-error-circle-black color--error"}`})]}),jsxRuntimeExports.jsxs("div",{className:"test--feedback",children:[jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx("b",{children:jsxRuntimeExports.jsxs("span",{children:[t("test.feedback")," ",l.length>1?LABELS_INDEX[h.index]:""]})})}),jsxRuntimeExports.jsx("span",{children:h.feedback})]})]},h.text))]})}function Container({questions:l,setTime:e,saveInterval:n,result:t,setTries:a,tries:o,time:d,showResults:h,answered:f,answerPage:u,updateForm:p,disabled:_,translate:R,soundActions:x,paused:S,view:g,correctQuestions:v,feedbacksOnlyWhenReview:b}){const T=document.querySelector(".test--container"),[y,w]=React$2.useState(0),[C,D]=React$2.useState(),N=l[y].id,[P]=x;React$2.useEffect(()=>{if(d>=0&&!_&&!S){const re=setInterval(()=>{C||e(ae=>ae-1)},1e3);return n(re),()=>{clearInterval(re)}}},[_,C,S,n,e,d]);const k=()=>{T.scrollTo(0,0),P("click-ui"),f&&(t[N][0].feedback&&!_&&!b?D(!0):(u(!1),w(y+1)))},F=()=>{P("click-ui"),w(y-1)},M=()=>{T.scrollTo(0,0),l[y+1]?(D(!1),u(!1),w(y+1)):h()},j=()=>{T.scrollTo(0,0),a(o+1),t[N][0].feedback&&!_&&!b?D(!0):h()},$=Math.floor(d/60),B=d%60;React$2.useEffect(()=>{if(g==="review"){const re=t[`q${y}`][0].id,ae=document.querySelector(`#${re}`);T.scrollTo(0,ae.offsetTop)}},[y,T,t,g]);const X=()=>{if(f){const re=v[l[y].id.substring(1)].answers,ae=t[N],ee=ae.find(ne=>ne.isCorrect===!1);let K=0;return ae.forEach(ne=>{re.includes(ne.id)&&(K+=1)}),!ee&&K===re.length}return!1};return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[g==="review"||C?jsxRuntimeExports.jsx("div",{"data-testid":"feedbackWrapper",className:`test-feedback-header ${X()?"success":"failed"}`,children:jsxRuntimeExports.jsxs("h2",{children:[jsxRuntimeExports.jsx("span",{className:`${X()?"icon-correct-thumb":"icon-incorrect-thumb"}`}),jsxRuntimeExports.jsx("span",{className:"test-feedback-header__title",children:X()?R("tests.resolvedQuestion"):R("tests.notResolvedQuestion")})]})}):null,jsxRuntimeExports.jsxs("div",{className:"test--questions",children:[jsxRuntimeExports.jsx("div",{className:"test--questions__container",children:C?jsxRuntimeExports.jsx(FeedbackItem,{selectedAnswers:t[N],correctQuestions:v[l[y].id.substring(1)].answers,question:l[y].text,translate:R}):jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("div",{className:"test--questions__intertitle",children:[jsxRuntimeExports.jsx("div",{children:LangIsRtl()?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[y+1,"/",l.length," ",jsxRuntimeExports.jsx("span",{children:R("tests.question")})]}):jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("span",{children:R("tests.question")})," ",y+1,"/",l.length]})}),g!=="review"&&d>=0?jsxRuntimeExports.jsx("div",{dir:"ltr",className:`count-down ${d<10?"count-down--finalseconds":""}`,children:jsxRuntimeExports.jsxs("div",{id:"test-time",children:[$<10?`0${$}`:$," : ",B<10?`0${B}`:B]})}):null]}),jsxRuntimeExports.jsx(Questions,{result:t,disabled:_,answered:f,updateForm:p,question:l[y],correctQuestions:_?v[l[y].id.substring(1)].answers:[],translate:R},l[y].id)]})}),jsxRuntimeExports.jsxs("div",{className:`test--buttons ${g==="review"?"reviewmode":"next"}`,children:[g==="review"?jsxRuntimeExports.jsx("button",{disabled:y===0,id:"back-button",onClick:()=>F(),type:"button",className:`gat--btn__navigation ${y===0?"disabled":""}`,"aria-label":LangIsRtl()?R("survey.next"):R("survey.previous"),children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-next":"icon-back"})}):null,!C&&l[y+1]?jsxRuntimeExports.jsx("button",{disabled:!f,id:"next-button","data-testid":"nextButton",onClick:()=>k(),type:"button",className:`gat--btn__navigation ${f?"":"disabled"}`,"aria-label":LangIsRtl()?R("survey.previous"):R("survey.next"),children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-back":"icon-next"})}):null,C?jsxRuntimeExports.jsx("button",{id:"next-button","data-testid":"nextFeedbackButton",onClick:()=>M(),type:"button",className:"gat--btn__navigation",children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-back":"icon-next"})}):null,!C&&l[y].id.substring(1)===(l.length-1).toString()?jsxRuntimeExports.jsx("button",{disabled:!f,id:"continue-button","data-testid":"continueButton",onClick:()=>{P("click-ui"),f&&j()},type:"button",className:`gat--btn__navigation ${f?"":"disabled"}`,"aria-label":LangIsRtl()?R("survey.previous"):R("survey.next"),children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-back":"icon-next"})}):null]})]})]})}function ResultsComponent({result:l,time:e,mandatory:n,correctQuestions:t,isFirst:a,reviewTest:o,finishTest:d,restartTest:h,timeOver:f,timeOverText:u,getEvent:p,minimumPercentage:_}){const R=React$2.useRef(),[x,S]=React$2.useState(0),[g,v]=React$2.useState(),[b,T]=React$2.useState([]),[y,w]=React$2.useState([]),[C,D]=React$2.useState(),N=React$2.useCallback(()=>{const K=[];return t.forEach(ne=>K.push(ne.answers)),K},[t]),P=React$2.useCallback(()=>{const K=[];return Object.values(l).forEach(ne=>{if(ne.length>1){const ue=ne.find(J=>J.isCorrect===!1),me=[];ue?K.push([]):(ne.forEach(J=>{J.isCorrect&&me.push(J.id)}),K.push(me))}else ne[0].isCorrect?K.push([ne[0].id]):ne[0].isCorrect===!1&&K.push("")}),K},[l]),k=React$2.useCallback(()=>{let K=0;if(y.length>0)return b.forEach((ne,ue)=>{ne.length>1?ne.every(me=>{var J;return(J=y[ue])==null?void 0:J.includes(me)})&&(K+=1):ne.length===1&&y[ue]&&ne[0]===y[ue][0]&&(K+=1)}),K},[b,y]);React$2.useEffect(()=>{C===void 0&&(T(N),w(P),D(k))},[N,P,k,C]);const F=t.length,M=k()===F,j=C<_,$=C>=_,B=!n||$,X=Math.trunc(x/F*100),re=(K,ne)=>p({type:"translate",payload:K,values:ne}),ae={"--chart-color":"var(--color-error)"};React$2.useEffect(()=>{if(x<C){const K=setInterval(()=>{S(ne=>ne+1)},100);return v(K),()=>{clearInterval(K)}}},[C,x]),React$2.useEffect(()=>{x>=C&&clearInterval(g)},[C,g,x]);const ee=()=>{R.current=!0,d()};return jsxRuntimeExports.jsxs("div",{"data-testid":"resultsWrapper",className:`test--results ${j||f?"test--results--failed":""}`,children:[a&&M?jsxRuntimeExports.jsxs("div",{"data-testid":"fireworks",className:"fireworks",children:[jsxRuntimeExports.jsx("div",{className:"before"}),jsxRuntimeExports.jsx("div",{className:"after"})]}):null,!f&&j?jsxRuntimeExports.jsx("div",{className:"test--results__title",children:jsxRuntimeExports.jsx("span",{children:re("tests.NotFinishedSuccessfully")})}):null,!f&&$||M?jsxRuntimeExports.jsx("div",{className:"test--results__title",children:jsxRuntimeExports.jsx("span",{children:re("tests.finishedSuccessfully")})}):null,f?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:"test--results__title",children:jsxRuntimeExports.jsx("span",{children:u})}),jsxRuntimeExports.jsx("div",{className:"test--results__time",id:"results-time",children:jsxRuntimeExports.jsx("span",{children:re("tests.time",e)})})]}):null,jsxRuntimeExports.jsxs("div",{className:`chart center chart${X}`,children:[jsxRuntimeExports.jsxs("div",{className:"chart-slice",children:[jsxRuntimeExports.jsx("div",{className:"chart-bar",style:j||f?ae:{}}),jsxRuntimeExports.jsx("div",{className:"chart-fill",style:j||f?ae:{}})]}),jsxRuntimeExports.jsxs("span",{className:"chart-value",children:[jsxRuntimeExports.jsxs("div",{className:"test--results__chart",children:[jsxRuntimeExports.jsx("span",{"data-testid":"correctPoints",children:x}),jsxRuntimeExports.jsxs("span",{"data-testid":"totalCorrectAnswers",children:["/",F]})]}),jsxRuntimeExports.jsx("div",{className:"test--results__chart--label",children:jsxRuntimeExports.jsx("span",{children:re("tests.success")})})]})]}),jsxRuntimeExports.jsxs("div",{className:"test--results__minimum",children:[jsxRuntimeExports.jsx("div",{className:"icon-bell"}),jsxRuntimeExports.jsx("div",{children:re("tests.minimumQuestionsMessage",{minimumPercentage:_})})]}),jsxRuntimeExports.jsxs("div",{className:"test--results__buttons",children:[f?null:jsxRuntimeExports.jsx("button",{className:"gat--btn gat--btn__secondary",id:"review-button",onClick:()=>o(),type:"button",children:jsxRuntimeExports.jsx("span",{children:re("tests.review")})}),B?null:jsxRuntimeExports.jsx("button",{className:"gat--btn gat--btn__primary","data-testid":"restartButton",id:"restart-button",onClick:()=>h(),type:"button",children:jsxRuntimeExports.jsx("span",{children:re("tests.restart")})}),B?jsxRuntimeExports.jsx("button",{disabled:R.current===!0,className:`gat--btn gat--btn__primary ${R.current===!0&&"disabled"}`,"data-testid":"finishButton",id:"finish-button",onClick:()=>ee(),type:"button",children:jsxRuntimeExports.jsx("span",{children:re("tests.continue")})}):null]})]})}function TestComponent({test:l,countdown:e={},emitEvent:n,getEvent:t,soundActions:a,audio:o,required:d,pause:h,minimumPercentage:f=100,feedbacksOnlyWhenReview:u}){const{questions:p}=l,[_,R]=React$2.useState({}),[x,S]=React$2.useState(),[g,v]=React$2.useState(0),[b,T]=React$2.useState([]),[y,w]=React$2.useState(e.time),[C,D]=React$2.useState(!1),[N,P]=React$2.useState("test"),[k,F]=React$2.useState(!0),[M,j]=React$2.useState({}),[$,B]=React$2.useState({}),[X,re]=React$2.useState(!1),ae=d||l.required||!1,ee=React$2.useRef({}),[K,ne]=React$2.useState(),[ue,me]=a,J=(ie,le,fe,ce,ge)=>{const Se={...ie,index:fe};if(g>0&&(Se.rewards=Se.rewards.filter(Fe=>!$[ie.id]||Fe.points<0)),_[le]){const Fe=_[le].find(Ne=>Ne.id===ge);if(Fe){if(Fe.id===ie.id){const Ne=_[le].find(st=>st.id===ge),Qe=_[le].indexOf(Ne);if(_[le].splice(Qe,1),_[le].length===0){D(!1);return}}}else _[le].push(Se)}else _[le]=[Se];let Te;ce==="isRadio"?Te={..._,[le]:[Se]}:Te={..._},R(Te),j(Te),B({...$,[ie.id]:{...ie}}),D(!0)};React$2.useEffect(()=>{o!=null&&o.url&&ue(o.url,"tts")},[ue,o]);const H=p.map(ie=>{const le=ie.answers.filter(ce=>ce.isCorrect),fe=[];return le.forEach(ce=>{fe.push(ce.id)}),{question:ie.id,answers:fe}});React$2.useEffect(()=>{b.length===0&&T(H)},[b.length,H]),React$2.useEffect(()=>{if(f){const ie=Math.ceil(p.length*f/100);ne(ie)}},[p.length,f]),React$2.useEffect(()=>{y===0&&(clearInterval(x),D(!1),re(!0),P("results"),me("tts"))},[x,me,y]);const W=()=>{clearInterval(x),D(!1),P("results");const ie={...M};j(ie),me("tts")},V=()=>{const ie={correctQuestions:b.length,result:_,status:"resolved"};Object.keys(_).forEach(fe=>{_[fe].forEach(ce=>{ee.current[ce.id]&&(ce.rewards=[])})}),n({type:"saveTest",payload:ie})},z=()=>{const ie=()=>{j({}),B({}),P("test"),R({}),w(e.time),re(!1),o!=null&&o.url&&ue(o.url,"tts")},le=Object.values(_);le.forEach(ce=>{ce.forEach(ge=>{ge.isCorrect&&(ee.current[ge.id]?ge.rewards=[]:ee.current[ge.id]=!0)})});let fe=le.reduce((ce,ge)=>{const Se=[];return ge.forEach(Te=>{Se.push(Te.rewards)}),[...ce,...Se.flat()]},[]);X&&e.rewards&&(fe=[...fe,...e.rewards]),n({type:"addPoints",payload:fe,complex:!0,finish:!1,onFinish:ie()}),n({type:"failTest"})},Y=(ie,le)=>t({type:"translate",payload:ie,values:le});return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:"test--container__overlay"}),jsxRuntimeExports.jsx("div",{"data-testid":"wrapperTest",className:"test--container",dir:"auto",children:N!=="results"?jsxRuntimeExports.jsx(Container,{result:_,time:y,setTries:v,tries:g,answerPage:D,setTime:w,paused:h,saveInterval:S,disabled:N!=="test",answered:C||N!=="test",questions:p,updateForm:J,showResults:W,translate:Y,soundActions:a,view:N,correctQuestions:b,feedbacksOnlyWhenReview:u}):jsxRuntimeExports.jsx(ResultsComponent,{reviewTest:()=>{F(!1),P("review")},isFirst:k,finishTest:V,time:y,mandatory:ae,restartTest:z,result:_,correctQuestions:b,timeOver:X,timeOverText:e.text,emitEvent:n,getEvent:t,soundActions:a,minimumPercentage:K})})]})}const OPTIONS=["yes","no"],LETTERS=["A","B"];function ApplicableBox({setSurveyData:l,survey:e,id:n,translate:t}){const a=o=>{l({...e,[n]:o})};return jsxRuntimeExports.jsx("div",{className:"survey--page__item",children:OPTIONS.map((o,d)=>jsxRuntimeExports.jsxs("button",{"data-testid":`applicablebox-${OPTIONS[d]}`,type:"button",onClick:()=>a(o),className:`unset-button survey--response__item ${e[n]===o?"selected":""}`,children:[jsxRuntimeExports.jsx("div",{className:"survey--response__index",children:LETTERS[d]}),jsxRuntimeExports.jsx("div",{className:"survey--response__text",children:t(`survey.${o}`)})]},o))})}const OPINION_OPTIONS=[0,1,2,3,4,5,6,7,8,9,10];function OpinionBox({setSurveyData:l,survey:e,id:n,translate:t}){const a=o=>{l({...e,[n]:o})};return jsxRuntimeExports.jsxs("div",{className:"survey--page__item","aria-label":"opinion box",children:[jsxRuntimeExports.jsx("div",{className:"survey--points",children:OPINION_OPTIONS.map(o=>jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>a(o),className:`unset-button survey--points__item survey--points__item--colorized ${e[n]===o?"selected":""}`,children:o},o))}),jsxRuntimeExports.jsxs("div",{className:"survey--points__labels",children:[jsxRuntimeExports.jsx("span",{children:t("survey.bad")}),jsxRuntimeExports.jsx("span",{children:t("survey.excellent")})]})]})}function TextBox({setSurveyData:l,survey:e,id:n,literalLabel:t}){const a=o=>{l({...e,[n]:o})};return jsxRuntimeExports.jsx("div",{className:"survey--page__item",children:jsxRuntimeExports.jsx("textarea",{ref:o=>{o&&o.focus()},className:"survey--textarea",id:t,value:e[n],onChange:o=>a(o.target.value)})})}const INIT_SURVEY={applicable:"",opinion:"",comments:"",suggestions:""},PAGES=[{component:ApplicableBox,id:"applicable"},{component:OpinionBox,id:"opinion"},{component:TextBox,id:"comments"},{component:TextBox,id:"suggestions"}];function SurveyComponent({emitEvent:l,getEvent:e,soundActions:n}){const[t,a]=React$2.useState(INIT_SURVEY),[o,d]=React$2.useState(0),[h,f]=React$2.useState(!1),[u]=n,p=(x,S)=>e({type:"translate",payload:x,values:S}),_=(x=!1)=>{if(u("click-ui"),!x&&o+1>=PAGES.length)f(!0);else{x&&f(!1);const S=x?o-1:o+1;d(S)}},R=PAGES[o].component;return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:"survey--container__overlay"}),jsxRuntimeExports.jsx("div",{className:"survey--container",dir:"auto",children:jsxRuntimeExports.jsxs("div",{className:"survey--questions",children:[jsxRuntimeExports.jsxs("div",{className:"survey--questions__container",children:[jsxRuntimeExports.jsxs("div",{className:"survey--questions__intertitle",children:[jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx("span",{children:p("survey.numQuestion",{init:o+1,page:PAGES.length})})}),jsxRuntimeExports.jsx("div",{children:p("auto-evaluation.allQuestionsMandatory")})]}),jsxRuntimeExports.jsx("label",{className:"survey--questions__item","data-testid":`survey.question${o+1}`,htmlFor:p(`survey.question${o+1}`,{ordinal:o+1}),children:p(`survey.question${o+1}`,{ordinal:o+1})}),jsxRuntimeExports.jsx(R,{setSurveyData:a,id:PAGES[o].id,survey:t,translate:p,literalLabel:p(`survey.question${o+1}`,{ordinal:o+1})})]}),jsxRuntimeExports.jsxs("div",{className:"test--buttons next",children:[jsxRuntimeExports.jsx("button",{"data-testid":"backButton",id:"survey-button-back",type:"button",disabled:o===0,onClick:()=>_(!0),className:`gat--btn__navigation ${o===0?"disabled":""}`,"aria-label":LangIsRtl()?p("survey.next"):p("survey.previous"),children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-next":"icon-back"})}),h&&o===PAGES.length-1?jsxRuntimeExports.jsx("button",{"data-testid":"survey.finish",id:"survey-button",type:"button",disabled:!t[PAGES[o].id],onClick:()=>{u("click-ui"),l({type:"saveSurvey",payload:t})},className:`gat--btn gat--btn__primary ${t[PAGES[o].id]?"":"disabled"} not-transition`,children:p("survey.finish")}):null,!h&&o!==PAGES.length?jsxRuntimeExports.jsx("button",{"data-testid":"nextButton",id:"survey-button",type:"button",disabled:!t[PAGES[o].id],onClick:()=>_(!1),className:`gat--btn__navigation ${t[PAGES[o].id]?"":"disabled"}`,"aria-label":LangIsRtl()?p("survey.previous"):p("survey.next"),children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-back":"icon-next"})}):null]})]})})]})}function EndScreen({onFinish:l,translate:e}){return React$2.useEffect(()=>{let n;return l&&(n=setTimeout(()=>{l()},2e3)),()=>{n&&clearTimeout(n)}},[l]),jsxRuntimeExports.jsx("div",{"data-testid":"endScreen",className:"auto-evaluation__endscreen","aria-label":"auto evaluation endscreen",children:jsxRuntimeExports.jsxs("div",{className:"auto-evaluation__finishband","aria-label":"auto evaluation finishband",children:[jsxRuntimeExports.jsx("span",{className:"icon-check-laptop auto-evaluation__iconendscreen","aria-label":"icon-check",role:"img"}),jsxRuntimeExports.jsx("span",{className:"auto-evaluation__thanks","aria-label":"auto evaluation thanks",role:"contentinfo",children:e("auto-evaluation.thanks")})]})})}function StartScreen({onNext:l,description:e,translate:n}){return jsxRuntimeExports.jsxs("div",{className:"auto-evaluation__startscreen",role:"alertdialog","aria-modal":"true","aria-label":"ae start screen",children:[jsxRuntimeExports.jsx("span",{className:"icon-happy-laptop auto-evaluation__starticon","aria-label":"icon laptop",role:"img"}),jsxRuntimeExports.jsx("div",{className:"auto-evaluation__starttext","aria-label":"desciption",children:jsxRuntimeExports.jsx("span",{children:e})}),jsxRuntimeExports.jsx("button",{"data-testid":"auto-start-button",type:"button",className:"gat--btn gat--btn__primary auto-evaluation__button auto-evaluation__button--start",onClick:l,children:jsxRuntimeExports.jsx("span",{children:n("auto-evaluation.start")})})]})}function AutoEvaluation({description:l,questions:e,type:n,emitEvent:t,getEvent:a,soundActions:o}){var C,D,N;const[d,h]=React$2.useState(null),[f,u]=React$2.useState("start"),[p,_]=React$2.useState(!1),[R,x]=React$2.useState(0),[S,g]=React$2.useState({current:{questions:[],type:n}}),[v]=o,b=P=>a({type:"translate",payload:P}),T=P=>{P.code==="Enter"&&P.target.blur()},y=()=>{v("click-ui"),t({type:"saveSurveyPrePos",payload:S.current})};React$2.useEffect(()=>{!e.length&&f==="questions"&&u("end")},[e,f]);const w=(P,k=!1)=>{var M;const F=P!==null?P:(M=S.current.questions.find(j=>j.id===e[R].id))==null?void 0:M.answer;if(v("click-ui"),k)x(R-1),_(!1);else{const j=S.current.questions.findIndex(B=>B.id===e[R].id),$=[...S.current.questions];j>-1?$.splice(j,1,{id:e[R].id,answer:F}):$.push({id:e[R].id,answer:F}),g({...S,current:{...S.current,questions:$}}),R===e.length-1?_(!0):(x(R+1),_(!1))}};return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:"test--container__overlay","aria-label":"test container overlay"}),jsxRuntimeExports.jsxs("div",{className:"test--container",dir:"auto","aria-label":"test container",children:[f==="start"&&jsxRuntimeExports.jsx(StartScreen,{description:l,onNext:()=>{u("questions"),v("click-ui")},translate:b}),f==="questions"&&jsxRuntimeExports.jsxs("div",{"data-testid":"survey--questions",className:"survey--questions","aria-label":"survey questions",children:[jsxRuntimeExports.jsxs("div",{className:"survey--questions__container","aria-label":"survey questions container",children:[jsxRuntimeExports.jsxs("div",{className:"survey--questions__intertitle",children:[jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsxs("span",{children:[b("auto-evaluation.question")," ",R+1," ",b("storylines.misc.of")," ",e.length]})}),jsxRuntimeExports.jsx("div",{children:b("auto-evaluation.allQuestionsMandatory")})]}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("div",{className:"survey--questions__item","aria-label":"survey questions item",children:(C=e[R])==null?void 0:C.text}),jsxRuntimeExports.jsx("div",{className:"survey--page__item","aria-label":"survey page item",children:jsxRuntimeExports.jsx("div",{className:"survey--points","aria-label":"survey points",children:Array(11).fill(0).map((P,k)=>{var F;return jsxRuntimeExports.jsx("button",{"data-testid":`button-option-${0+k}`,type:"button",onTouchStart:()=>{h(k)},onTouchEnd:()=>{h(null)},onKeyUp:M=>{T(M)},onClick:()=>{w(k,!1)},className:`survey--points__item survey--points__item--simple ${((F=S.current.questions[R])==null?void 0:F.answer)===k||d===k?"selected":""}`,children:k},`${0+k}`)})})})]},`${e[R]}`)]}),jsxRuntimeExports.jsxs("div",{className:"test--buttons next","aria-label":"test buttons",children:[jsxRuntimeExports.jsx("button",{"data-testid":"back-button",type:"button",disabled:R===0,onClick:()=>w(null,!0),"aria-label":LangIsRtl()?b("survey.next"):b("survey.previous"),className:`gat--btn__navigation ${R===0?"disabled":""}`,children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-next":"icon-back","aria-label":"icon button"})}),p?jsxRuntimeExports.jsx("button",{"data-testid":"finish-button",type:"button",onClick:()=>{u("end"),v("click-ui")},className:`gat--btn gat--btn__primary auto-evaluation__button not-transition
|
|
252
|
+
`,EMPTY_PROPS={};function applyNodeProps(l,e,n=EMPTY_PROPS){if(!zIndexWarningShowed&&"zIndex"in e&&(console.warn(Z_INDEX_WARNING),zIndexWarningShowed=!0),!dragWarningShowed&&e.draggable){var t=e.x!==void 0||e.y!==void 0,a=e.onDragEnd||e.onDragMove;t&&!a&&(console.warn(DRAGGABLE_WARNING),dragWarningShowed=!0)}for(var o in n)if(!propsToSkip[o]){var d=o.slice(0,2)==="on",h=n[o]!==e[o];if(d&&h){var f=o.substr(2).toLowerCase();f.substr(0,7)==="content"&&(f="content"+f.substr(7,1).toUpperCase()+f.substr(8)),l.off(f,n[o])}var u=!e.hasOwnProperty(o);u&&l.setAttr(o,void 0)}var p=e._useStrictMode,_={},R=!1;const x={};for(var o in e)if(!propsToSkip[o]){var d=o.slice(0,2)==="on",S=n[o]!==e[o];if(d&&S){var f=o.substr(2).toLowerCase();f.substr(0,7)==="content"&&(f="content"+f.substr(7,1).toUpperCase()+f.substr(8)),e[o]&&(x[f]=e[o])}!d&&(e[o]!==n[o]||p&&e[o]!==l.getAttr(o))&&(R=!0,_[o]=e[o])}R&&(l.setAttrs(_),updatePicture(l));for(var f in x)l.on(f+EVENTS_NAMESPACE,x[f])}function updatePicture(l){if(!Global.Konva.autoDrawEnabled){var e=l.getLayer()||l.getStage();e&&e.batchDraw()}}var schedulerExports=requireScheduler();const NO_CONTEXT={},UPDATE_SIGNAL={};Konva.Node.prototype._applyProps=applyNodeProps;function appendInitialChild(l,e){if(typeof e=="string"){console.error(`Do not use plain text as child of Konva.Node. You are using text: ${e}`);return}l.add(e),updatePicture(l)}function createInstance(l,e,n){let t=Konva[l];t||(console.error(`Konva has no node with the type ${l}. Group will be used instead. If you use minimal version of react-konva, just import required nodes into Konva: "import "konva/lib/shapes/${l}" 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`),t=Konva.Group);const a={},o={};for(var d in e){var h=d.slice(0,2)==="on";h?o[d]=e[d]:a[d]=e[d]}const f=new t(a);return applyNodeProps(f,o),f}function createTextInstance(l,e,n){console.error(`Text components are not supported for now in ReactKonva. Your text is: "${l}"`)}function finalizeInitialChildren(l,e,n){return!1}function getPublicInstance(l){return l}function prepareForCommit(){return null}function preparePortalMount(){return null}function prepareUpdate(l,e,n,t){return UPDATE_SIGNAL}function resetAfterCommit(){}function resetTextContent(l){}function shouldDeprioritizeSubtree(l,e){return!1}function getRootHostContext(){return NO_CONTEXT}function getChildHostContext(){return NO_CONTEXT}const scheduleTimeout=setTimeout,cancelTimeout=clearTimeout,noTimeout=-1;function shouldSetTextContent(l,e){return!1}const isPrimaryRenderer=!1,warnsIfNotActing=!0,supportsMutation=!0;function appendChild(l,e){e.parent===l?e.moveToTop():l.add(e),updatePicture(l)}function appendChildToContainer(l,e){e.parent===l?e.moveToTop():l.add(e),updatePicture(l)}function insertBefore(l,e,n){e._remove(),l.add(e),e.setZIndex(n.getZIndex()),updatePicture(l)}function insertInContainerBefore(l,e,n){insertBefore(l,e,n)}function removeChild(l,e){e.destroy(),e.off(EVENTS_NAMESPACE),updatePicture(l)}function removeChildFromContainer(l,e){e.destroy(),e.off(EVENTS_NAMESPACE),updatePicture(l)}function commitTextUpdate(l,e,n){console.error(`Text components are not yet supported in ReactKonva. You text is: "${n}"`)}function commitMount(l,e,n){}function commitUpdate(l,e,n,t,a){applyNodeProps(l,a,t)}function hideInstance(l){l.hide(),updatePicture(l)}function hideTextInstance(l){}function unhideInstance(l,e){(e.visible==null||e.visible)&&l.show()}function unhideTextInstance(l,e){}function clearContainer(l){}function detachDeletedInstance(){}const getCurrentEventPriority=()=>constantsExports.DefaultEventPriority,HostConfig=Object.freeze(Object.defineProperty({__proto__:null,appendChild,appendChildToContainer,appendInitialChild,cancelTimeout,clearContainer,commitMount,commitTextUpdate,commitUpdate,createInstance,createTextInstance,detachDeletedInstance,finalizeInitialChildren,getChildHostContext,getCurrentEventPriority,getPublicInstance,getRootHostContext,hideInstance,hideTextInstance,idlePriority:schedulerExports.unstable_IdlePriority,insertBefore,insertInContainerBefore,isPrimaryRenderer,noTimeout,now:schedulerExports.unstable_now,prepareForCommit,preparePortalMount,prepareUpdate,removeChild,removeChildFromContainer,resetAfterCommit,resetTextContent,run:schedulerExports.unstable_runWithPriority,scheduleTimeout,shouldDeprioritizeSubtree,shouldSetTextContent,supportsMutation,unhideInstance,unhideTextInstance,warnsIfNotActing},Symbol.toStringTag,{value:"Module"}));var __defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(l,e,n)=>e in l?__defProp(l,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):l[e]=n,__spreadValues=(l,e)=>{for(var n in e||(e={}))__hasOwnProp.call(e,n)&&__defNormalProp(l,n,e[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(e))__propIsEnum.call(e,n)&&__defNormalProp(l,n,e[n]);return l},__spreadProps=(l,e)=>__defProps(l,__getOwnPropDescs(e));function traverseFiber(l,e,n){if(!l)return;if(n(l)===!0)return l;let t=e?l.return:l.child;for(;t;){const a=traverseFiber(t,e,n);if(a)return a;t=e?null:t.sibling}}function wrapContext(l){try{return Object.defineProperties(l,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return l}}const FiberContext=wrapContext(React__namespace.createContext(null));class FiberProvider extends React__namespace.Component{render(){return React__namespace.createElement(FiberContext.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner,ReactCurrentDispatcher}=React__namespace.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function useFiber(){const l=React__namespace.useContext(FiberContext);if(l===null)throw new Error("its-fine: useFiber must be called within a <FiberProvider />!");const e=React__namespace.useId();return React__namespace.useMemo(()=>{for(const t of[ReactCurrentOwner==null?void 0:ReactCurrentOwner.current,l,l==null?void 0:l.alternate]){if(!t)continue;const a=traverseFiber(t,!1,o=>{let d=o.memoizedState;for(;d;){if(d.memoizedState===e)return!0;d=d.next}});if(a)return a}},[l,e])}function useContextMap(){var l,e;const n=useFiber(),[t]=React__namespace.useState(()=>new Map);t.clear();let a=n;for(;a;){const o=(l=a.type)==null?void 0:l._context;o&&o!==FiberContext&&!t.has(o)&&t.set(o,(e=ReactCurrentDispatcher==null?void 0:ReactCurrentDispatcher.current)==null?void 0:e.readContext(wrapContext(o))),a=a.return}return t}function useContextBridge(){const l=useContextMap();return React__namespace.useMemo(()=>Array.from(l.keys()).reduce((e,n)=>t=>React__namespace.createElement(e,null,React__namespace.createElement(n.Provider,__spreadProps(__spreadValues({},t),{value:l.get(n)}))),e=>React__namespace.createElement(FiberProvider,__spreadValues({},e))),[l])}function usePrevious(l){const e=React$2.useRef({});return React$2.useLayoutEffect(()=>{e.current=l}),React$2.useLayoutEffect(()=>()=>{e.current={}},[]),e.current}const StageWrap=l=>{const e=React$2.useRef(),n=React$2.useRef(),t=React$2.useRef(),a=usePrevious(l),o=useContextBridge(),d=h=>{const{forwardedRef:f}=l;f&&(typeof f=="function"?f(h):f.current=h)};return React$2.useLayoutEffect(()=>(n.current=new Konva.Stage({width:l.width,height:l.height,container:e.current}),d(n.current),t.current=KonvaRenderer.createContainer(n.current,constantsExports.LegacyRoot,!1,null),KonvaRenderer.updateContainer(React$2.createElement(o,{},l.children),t.current),()=>{Konva.isBrowser&&(d(null),KonvaRenderer.updateContainer(null,t.current,null),n.current.destroy())}),[]),React$2.useLayoutEffect(()=>{d(n.current),applyNodeProps(n.current,l,a),KonvaRenderer.updateContainer(React$2.createElement(o,{},l.children),t.current,null)}),React$2.createElement("div",{ref:e,id:l.id,accessKey:l.accessKey,className:l.className,role:l.role,style:l.style,tabIndex:l.tabIndex,title:l.title})},Layer="Layer",Group="Group",Rect="Rect",Line="Line",Image$2="Image",Text="Text",KonvaRenderer=ReactFiberReconciler(HostConfig);KonvaRenderer.injectIntoDevTools({findHostInstanceByFiber:()=>null,bundleType:process.env.NODE_ENV!=="production"?1:0,version:React$2.version,rendererPackageName:"react-konva"});const Stage=React$2.forwardRef((l,e)=>React$2.createElement(FiberProvider,{},React$2.createElement(StageWrap,{...l,forwardedRef:e})));var client={},m=require$$0;if(process.env.NODE_ENV==="production")client.createRoot=m.createRoot,client.hydrateRoot=m.hydrateRoot;else{var i=m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;client.createRoot=function(l,e){i.usingClientEntryPoint=!0;try{return m.createRoot(l,e)}finally{i.usingClientEntryPoint=!1}},client.hydrateRoot=function(l,e,n){i.usingClientEntryPoint=!0;try{return m.hydrateRoot(l,e,n)}finally{i.usingClientEntryPoint=!1}}}var __rest=function(l,e){var n={};for(var t in l)Object.prototype.hasOwnProperty.call(l,t)&&e.indexOf(t)<0&&(n[t]=l[t]);if(l!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,t=Object.getOwnPropertySymbols(l);a<t.length;a++)e.indexOf(t[a])<0&&Object.prototype.propertyIsEnumerable.call(l,t[a])&&(n[t[a]]=l[t[a]]);return n};const needForceStyle=l=>{const e=window.getComputedStyle(l).position;return!(e==="absolute"||e==="relative")};function useEvent(l=()=>{}){const e=React$2.useRef(l);return e.current=l,React$2.useCallback((...n)=>e.current.apply(null,n),[])}const Html=({children:l,groupProps:e,divProps:n,transform:t,transformFunc:a})=>{const o=React$2.useRef(null);React$2.useRef();const[d]=React$2.useState(()=>document.createElement("div")),h=React$2.useMemo(()=>client.createRoot(d),[d]),f=t??!0,u=useEvent(()=>{if(f&&o.current){let S=o.current.getAbsoluteTransform().decompose();a&&(S=a(S)),d.style.position="absolute",d.style.zIndex="10",d.style.top="0px",d.style.left="0px",d.style.transform=`translate(${S.x}px, ${S.y}px) rotate(${S.rotation}deg) scaleX(${S.scaleX}) scaleY(${S.scaleY})`,d.style.transformOrigin="top left"}else d.style.position="",d.style.zIndex="",d.style.top="",d.style.left="",d.style.transform="",d.style.transformOrigin="";const p=n||{},{style:_}=p,R=__rest(p,["style"]);Object.assign(d.style,_),Object.assign(d,R)});return React$2.useLayoutEffect(()=>{var p;const _=o.current;if(!_)return;const R=(p=_.getStage())===null||p===void 0?void 0:p.container();if(R)return R.appendChild(d),f&&needForceStyle(R)&&(R.style.position="relative"),_.on("absoluteTransformChange",u),u(),()=>{var x;_.off("absoluteTransformChange",u),(x=d.parentNode)===null||x===void 0||x.removeChild(d)}},[f]),React$2.useLayoutEffect(()=>{u()},[n,a]),React$2.useLayoutEffect(()=>{h.render(l)}),React$2.useLayoutEffect(()=>()=>{setTimeout(()=>{h.unmount()})},[]),React$2.createElement(Group,Object.assign({ref:o},e))};function Area({area:l,finished:e,isClicked:n,isBad:t,hasHighlights:a,completed:o,onClick:d,onClickOutside:h}){const f=React$2.useRef(),[u,p]=React$2.useState(),_=t?"rgba(255, 99, 77, 0.32)":"rgba(75, 215, 169, 0.32)",R=t?"#ff634d":"#4bd7a9",x=DeviceDetection(),S=()=>{var y,w,C;a&&!o&&!n&&((y=f.current)==null||y.setAttr("fill","rgba(130, 134, 142, 0.4)"),(w=f.current)==null||w.setAttr("stroke","rgba(255, 255, 255, 0.3)"),(C=f.current)==null||C.to({duration:.25,opacity:1}))},g=()=>{var y;a&&!o&&!n&&((y=f.current)==null||y.to({duration:.25,opacity:0}))};React$2.useEffect(()=>{var y,w,C;o&&!e&&(t?(C=f.current)==null||C.to({duration:.25,opacity:0}):((y=f.current)==null||y.to({duration:.25,opacity:1}),(w=f.current)==null||w.globalCompositeOperation("destination-out")))},[o,e,t]);const v=()=>{var y,w;o||(t?h(l):d(l),(y=f.current)==null||y.setAttr("fill",_),(w=f.current)==null||w.setAttr("stroke",R))},b=l.scaleX?l.scaleX:1,T=l.scaleY?l.scaleY:1;return React$2.useLayoutEffect(()=>{const y=f.current.getStage();y.on("stage-loaded",()=>{const w=f.current.getClientRect({relativeTo:f.current.getParent()});p({x:w.x+w.width/2,y:w.y+w.height/2}),y.batchDraw()})},[l]),jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[u?jsxRuntimeExports.jsx(Html,{transform:!0,groupProps:{id:"projection",...u},divProps:{style:{pointerEvents:"none"}},children:jsxRuntimeExports.jsx("div",{style:{width:"50px",height:"50px",pointerEvents:"none"},id:l.id})}):null,jsxRuntimeExports.jsx(Line,{name:l.id,ref:f,onFocus:()=>S(),onMouseOver:()=>S(),onMouseLeave:g,onClick:()=>v(),onTap:()=>v(),x:l.x,y:l.y,scale:{x:b,y:T},skew:{x:l.skewX,y:l.skewY},rotation:l.rotation,points:l.points,shape:"poly",fill:e?"":_,stroke:e||n?R:"",strokeWidth:x?10:4,opacity:e||n?1:0,closed:!0})]})}Area.defaultProps={finished:!1,isBad:!1,isClicked:!1,hasHighlights:!1,completed:!1,onClick:()=>{},onClickOutside:()=>{}};const useWindowSize=()=>{const[l,e]=React$2.useState([0,0]);return React$2.useLayoutEffect(()=>{function n(){const t=document.querySelector("#root");e([t.clientWidth,t.clientHeight])}return window.addEventListener("resize",n),n(),()=>window.removeEventListener("resize",n)},[]),l};function KonvaMapper({areas:l,badAreas:e,imageUrl:n,completed:t,onClick:a,onClickOutside:o,hasHighlights:d,clickedZones:h}){const f=React$2.useRef(),u=React$2.useRef(),p=React$2.useRef(),_=React$2.useRef(),R=React$2.useRef(),x=React$2.useRef(),S=React$2.useRef(),[g,v]=React$2.useState(new window.Image),[b,T]=useWindowSize(),y=e.find(D=>D.id==="AllArea")||!1,w=e.filter(D=>D.id!=="AllArea");React$2.useEffect(()=>{S.current&&u.current&&t&&(S.current.to({duration:.25,opacity:.5}),u.current.setAttr("visible",!0))},[t]);const C=D=>{y&&!D.target.attrs.shape&&o(y)};return React$2.useEffect(()=>{g.src=n,g.addEventListener("load",()=>{if(f.current){const D={x:b/2,y:T/2,width:g.width,height:g.height,offsetX:g.width/2,offsetY:g.height/2,scale:{x:Math.min(b/g.width,T/g.height),y:Math.min(b/g.width,T/g.height)}};_.current&&_.current.setAttrs(D),R.current&&R.current.setAttrs(D),u.current&&u.current.setAttrs(D),p.current&&p.current.setAttrs(D),x.current&&x.current.setAttrs(D),f.current.batchDraw(),v(g),f.current.fire("stage-loaded")}})},[g,T,n,b]),jsxRuntimeExports.jsxs(Stage,{ref:f,width:b,height:T,onClick:C,onTouchEnd:C,children:[jsxRuntimeExports.jsx(Layer,{children:jsxRuntimeExports.jsx(Image$2,{ref:x,image:g})}),jsxRuntimeExports.jsxs(Layer,{children:[jsxRuntimeExports.jsx(Rect,{ref:S,width:b,height:T,fill:"black",opacity:0}),jsxRuntimeExports.jsx(Group,{ref:R,children:w.map((D,N)=>jsxRuntimeExports.jsx(Area,{hasHighlights:d,completed:t,onClick:a,onClickOutside:o,area:D,isBad:!0},D.name+"_"+N))}),jsxRuntimeExports.jsx(Group,{ref:_,children:l.map((D,N)=>jsxRuntimeExports.jsx(Area,{hasHighlights:d,completed:t,onClick:a,onClickOutside:o,area:D,isClicked:h.some(P=>P.index===D.index)},D.name+"_"+N))}),jsxRuntimeExports.jsx(Group,{ref:p,visible:!1,children:w.map((D,N)=>jsxRuntimeExports.jsx(Area,{hasHighlights:d,completed:t,onClick:a,onClickOutside:o,area:D,isBad:!0,finished:!0},D.name+"_"+N))}),jsxRuntimeExports.jsx(Group,{ref:u,visible:!1,children:l.map((D,N)=>jsxRuntimeExports.jsx(Area,{hasHighlights:d,completed:t,onClick:a,onClickOutside:o,area:D,finished:!0},D.name+"_"+N))})]})]})}KonvaMapper.defaultProps={hasHighlights:!1,onClick:()=>{},completed:!1,onClickOutside:()=>{}};function TimerDialog({retry:l,translate:e,onInit:n}){return jsxRuntimeExports.jsx("div",{className:"timer-dialog",children:jsxRuntimeExports.jsxs("div",{className:"timer-dialog__container",children:[jsxRuntimeExports.jsx("div",{className:"timer-dialog__title",children:e("storylines.misc.ready")}),jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__primary",onClick:n,children:jsxRuntimeExports.jsx("span",{children:e(l?"storylines.misc.start":"storylines.misc.retry")})})]})})}function CountDown({time:l}){const e=Math.floor(l/60),n=l%60;return jsxRuntimeExports.jsx("div",{className:`count-down count-down--in-puzzle-frame ${l<10?"count-down--finalseconds":""}`,children:jsxRuntimeExports.jsxs("div",{children:[e<10?`0${e}`:e," : ",n<10?`0${Math.floor(n)}`:Math.floor(n)]})})}const defaultImg="https://min.gamelearn.io/css-resources/gamelearn/resources/puzzle-login-low.png";function ImageReview(){return jsxRuntimeExports.jsx("div",{className:"puzzle--image__preview",children:jsxRuntimeExports.jsx("img",{alt:"img",src:"https://min.gamelearn.io/css-resources/gamelearn/resources/image-click.jpg"})})}function ImageClickWrapperComponent(l){var Ge,De,Re;const{soundActions:e,emitEvent:n,getEvent:t,handleClick:a,disableExit:o,setResolveAction:d,info:h,image:f,areas:u,badAreas:p,hasClickOrder:_,timer:R,hasClickOnce:x,hasHighlights:S,hasImageReview:g,defaultCompleted:v,className:b,emitFinish:T,emitResolve:y,translateFromParent:w,specificFeedbacks:C,slideNumber:D,emitResetPuzzle:N,firstTryForFrame:P,puzzlesAutoCompleted:k,emitOpenPopupCounterInfo:F,pause:M,keyboardControl:j}=l,[$,B]=React$2.useState([]),[X,re]=React$2.useState(!1),[ae,ee]=React$2.useState(!1),[K,ne]=React$2.useState({show:!1,success:!1,text:"",rewards:[]}),ue=React$2.useRef(!1),[me,J]=React$2.useState(!0),[H,W]=React$2.useState(!1),V=React$2.useRef(null),z=React$2.useRef(null),Y=React$2.useRef(null),ie=React$2.useRef(null),le=React$2.useRef(null),fe=React$2.useRef(null),ce=React$2.useRef(null),ge=React$2.useRef(null),Se=React$2.useRef(null),[Te,Fe]=React$2.useState(R),Ne=ye=>w?w(ye):t({type:"translate",payload:ye}),[Qe]=e,{solution:st}=h,Ze=((Ge=f==null?void 0:f.img)==null?void 0:Ge.url)||defaultImg,yt=u.map((ye,Pe)=>({index:Pe,shape:"poly",...ye})),Ve=p.map((ye,Pe)=>({index:Pe,shape:"poly",...ye})),Me=React$2.useCallback(()=>{if(!me){const ye=setInterval(()=>{Fe(Pe=>Pe>1?Pe-1:0)},1e3);Se.current=ye}},[me]),Le=React$2.useCallback((ye,Pe)=>{T?T(ye,Pe):n({type:"addPoints",payload:ye})},[n,T]);React$2.useEffect(()=>{X&&o(!0)},[X,o]),React$2.useEffect(()=>{re(v)},[v]);const Ke=React$2.useCallback(()=>{clearInterval(Y.current)},[]),ke=React$2.useCallback(()=>{clearInterval(Se.current)},[]),qe=React$2.useCallback(ye=>{le.current=Date.now(),ie.current?(ce.current=ie.current-le.current,Ke()):(ce.current=le.current-(le.current-ye*1e3),Ke())},[Ke]),St=React$2.useCallback(()=>{ne(()=>{var ye,Pe;return{show:!0,success:!1,text:(ye=h==null?void 0:h.timerFeedback)!=null&&ye.desc?h.timerFeedback.desc:"",rewards:(Pe=h==null?void 0:h.timerFeedback)==null?void 0:Pe.rewards}}),W(!0),ke(),Ke()},[ke,Ke,(De=h.timerFeedback)==null?void 0:De.desc,(Re=h.timerFeedback)==null?void 0:Re.rewards]),Ye=React$2.useCallback(()=>{clearInterval(Y.current),Y.current=setInterval(()=>{z.current=Date.now(),z.current>ie.current&&St()},250)},[St]);React$2.useEffect(()=>{var ye;if((u.length===$.length||x&&$.length>0)&&!X){re(!0);const Pe=$[$.length-1],Xe=C==null?void 0:C.correctFeedbacks.find(Ft=>Ft.id===Pe.id);(!((ye=C==null?void 0:C.correctFeedbacks)!=null&&ye.length)||C!=null&&C.correctFeedbacks.some(Ft=>!Ft.desc)||x)&&(ne(Ft=>({...Ft,show:!0,success:!0,text:Xe?Xe.desc:h.solution.right.desc,rewards:Xe?Xe.rewards:h.solution.right.rewards})),R&&(ke(),qe()))}},[$,u.length,C,x,X,h.solution.right,qe,R,ke]),React$2.useEffect(()=>{d(ye=>{R&&(ke(),J(!1),K.show?ne(Pe=>({...Pe,show:!1,success:!1,text:"",rewards:[]})):Ke()),re(!0),ee(!0),setTimeout(()=>{y?y(ye):ye()},4e3)})},[d,y,Qe,R,K.show,Ke,ke]),React$2.useEffect(()=>{ae&&o(!0)},[ae,o]);const ot=(ye,Pe=!1)=>{var Xe,Ft;if(!X){const{rewards:Pt,desc:Ie}=st.wrong;let mt=Ie,Ct=Pt;const at=(Xe=C==null?void 0:C.wrongFeedbacks)==null?void 0:Xe.find(wt=>wt.id===ye.id);at&&(mt=at.desc,Ct=at.rewards),_&&(B([]),Pe&&(Ft=h==null?void 0:h.orderFeedback)!=null&&Ft.desc&&(mt=h.orderFeedback.desc,Ct=h.orderFeedback.rewards)),R&&(ke(),qe()),ne(wt=>({...wt,show:!0,success:!1,text:mt,rewards:Ct})),Qe("fail")}},$e=React$2.useCallback(()=>{fe.current=Date.now();const ye=fe.current+ce.current;z.current=null,ie.current=ye,(R||H)&&(K.success?u.length===$.length||x&&$.length>0?ke():(Fe(ce.current*.001),Me(),Ye()):(B([]),J(!0),N())),Le(K.rewards,K.success),Qe("click-ui"),ne(Pe=>({...Pe,show:!1,success:!1,text:"",rewards:[]}))},[R,H,Le,K.rewards,K.success,Qe,u.length,$.length,x,N,ke,Me,Ye]),rt=ye=>{var Pe,Xe;if(!$.some(Ft=>Ft.index===ye.index)&&!K.show&&!X){Qe("click-ui");let Ft=st.right.desc,{rewards:Pt}=st.right;const Ie=[...$,ye];if(_&&ye.index===$.length||!_){if(R&&qe(Te),a(),(Pe=C==null?void 0:C.correctFeedbacks)!=null&&Pe.length){const mt=(Xe=C.correctFeedbacks)==null?void 0:Xe.find(Ct=>Ct.id===ye.id);mt&&(Ft=mt.desc,Pt=mt.rewards),!Ft&&u.length>Ie.length&&!x?Le(Pt,!0):Ft&&!x&&(ne(Ct=>({...Ct,show:!0,success:!0,text:Ft,rewards:Pt})),R&&ke())}B(Ie)}else ot(ye,!0)}},ft=React$2.useCallback(()=>{ke(),Fe(R),Me(),!ue.current&&P&&F(),J(!1),V.current=Date.now(),ie.current=V.current+R*1e3,Ye()},[ke,R,Me,P,Ye,F]);return React$2.useEffect(()=>{R&&D>0&&!ge.current&&(P&&Object.keys(k).length&&k[D-1]?(J(!0),ge.current=!0):J(!1))},[v,P,k,D,R]),React$2.useEffect(()=>{R&&Te===0&&St()},[Te,St,R]),React$2.useEffect(()=>{R&&(M?(ke(),qe()):Me())},[ke,Ye,M,qe,Me,R]),jsxRuntimeExports.jsxs("div",{className:b,children:[K.show?jsxRuntimeExports.jsx(FeedbackComponent$1,{playSound:Qe,text:K.text,success:K.success,translate:Ne,hasTimeout:!K.text,delay:R?1e3:2e3,functionOnClose:$e,timeExpired:H,keyboardControl:j}):null,jsxRuntimeExports.jsx(KonvaMapper,{completed:X,imageUrl:Ze,areas:x&&$.length?[$[0]]:yt,badAreas:Ve,clickedZones:$,onClick:rt,onClickOutside:ot,hasHighlights:S,emitEvent:n}),g?jsxRuntimeExports.jsx(ImageReview,{}):null,R&&me?jsxRuntimeExports.jsx(TimerDialog,{retry:P||k[D-1],translate:Ne,onInit:ft}):null,R?jsxRuntimeExports.jsx(CountDown,{time:Te}):null]})}ImageClickWrapperComponent.defaultProps={info:{instructions:"",resolve:{},solution:{},hint:{},title:""},badAreas:[],className:"puzzle--image__click",hasClickOrder:!1,hasClickOnce:!1,hasHighlights:!1,hasImageReview:!1,defaultCompleted:!1,hideContinue:!1,emitAreaClick:()=>{},handleClick:()=>{},getEvent:()=>{}};function ImageClickPuzzleComponent(l){const e=(n,t)=>{t?(l.emitEvent({type:"addPoints",complex:!0,finish:!0,payload:n}),l.emitEvent({type:"passPuzzle"})):(l.emitEvent({type:"addPoints",payload:n,finish:!1}),l.emitEvent({type:"failPuzzle"}))};return jsxRuntimeExports.jsx(ImageClickWrapperComponent,{...l,emitFinish:e,name:"image-click-puzzle"})}const GREEN="#44d7ab",ORANGE="#FFB34B",RED="#FF634D",getDistance=(l,e)=>Math.max(Math.abs(l[0]-e[0]),Math.abs(l[1]-e[1])),generatePasswordPositions=(l,e,n,t)=>{const a=[],o=l;for(const d of e.toLowerCase()){const h=Math.floor(Math.random()*n),f=Math.floor(Math.random()*t);o[h][f].value=d,a.push({char:d,position:[h,f]})}return[o,a]},paintedGridPassword=(l,e,n,t)=>{const a=l;for(let o=0;o<e;o+=1)for(let d=0;d<n;d+=1)switch(t.reduce((f,u)=>{const p=[o,d],_=getDistance(u.position,p);return _<f?_:f},9999)){case 0:a[o][d].hiddenColor=GREEN;break;case 1:a[o][d].hiddenColor=ORANGE;break;case 2:a[o][d].hiddenColor=RED;break}return a},resetColors=(l,e,n)=>{const t=n;for(let a=0;a<l;a+=1)for(let o=0;o<e;o+=1)t[a][o].color="",t[a][o].hiddenColor=RED;return t},repaintGridPassword=(l,e,n,t)=>{const a=resetColors(n,t,l),[o,d]=generatePasswordPositions(a,e,n,t);return paintedGridPassword(o,n,t,d)},prepareAcceptedChars=(l,e)=>e.split("").filter(n=>!l.includes(n)).join(""),generateBasicGrid=(l,e,n)=>{const t=[];for(let a=0;a<l;a+=1){const o=[];for(let d=0;d<e;d+=1){const h={color:"",hiddenColor:RED,value:n[Math.floor(Math.random()*n.length)]};o.push(h)}t.push(o)}return t},makeSomeNoise=({numberOfColumns:l,numberOfRows:e,password:n})=>{const t=LangIsRtl()?"٠١٢٣٤٥٦٧٨٩شزذيثبلاهتنمورخحضقسفعدصطغظ":"0123456789abcdefghijklmnopqrstuvwxyz",a=prepareAcceptedChars(n,t),o=generateBasicGrid(e,l,a),[d,h]=generatePasswordPositions(o,n,e,l);return paintedGridPassword(d,e,l,h)};function DrawItem({item:l,rowIndex:e,columnIndex:n,setCursorPosition:t,cursorPosition:a}){const o=Math.abs(e-a[0])<3&&Math.abs(n-a[1])<3;return jsxRuntimeExports.jsx("span",{className:"puzzle--cracker__item",style:{backgroundColor:`${o?l.hiddenColor:l.color}`,flexGrow:1,textAlign:"center"},onMouseOver:()=>{t([e,n])},onFocus:()=>{t([e,n])},children:l.value})}DrawItem.defaultProps={setCursorPosition:()=>{}};DrawItem.propTypes={item:PropTypes.shape({color:PropTypes.string,hiddenColor:PropTypes.string,value:PropTypes.string}).isRequired,rowIndex:PropTypes.number.isRequired,columnIndex:PropTypes.number.isRequired,cursorPosition:PropTypes.arrayOf(PropTypes.number).isRequired,setCursorPosition:PropTypes.func};function DrawRow({row:l,rowIndex:e,setCursorPosition:n,cursorPosition:t}){return l.length?jsxRuntimeExports.jsx("div",{className:"puzzle--cracker",children:l.map((a,o)=>jsxRuntimeExports.jsx(DrawItem,{item:a,rowIndex:e,columnIndex:o,setCursorPosition:n,cursorPosition:t},o))}):null}DrawRow.defaultProps={row:[]};DrawRow.propTypes={row:PropTypes.arrayOf(PropTypes.shape({})),rowIndex:PropTypes.number.isRequired,setCursorPosition:PropTypes.func.isRequired,cursorPosition:PropTypes.arrayOf(PropTypes.number).isRequired};function DrawGrid({grid:l,cursorPosition:e,setCursorPosition:n}){return jsxRuntimeExports.jsx("div",{className:"puzzle--cracker__canvas",children:l.map((t,a)=>jsxRuntimeExports.jsx(DrawRow,{row:t,rowIndex:a,cursorPosition:e,setCursorPosition:n},a))})}DrawGrid.defaultProps={setCursorPosition:()=>{}};const VELOCITY_MAP={slow:2,fast:5,fastest:10},DIFFICULTY_MAP={easy:{visibleRows:"auto",visibleColumns:40,totalRows:25},medium:{visibleRows:"auto",visibleColumns:40,totalRows:40},hard:{visibleRows:"auto",visibleColumns:40,totalRows:80}};function CrackerPuzzleComponent({emitEvent:l,soundActions:e,info:n,velocity:t,password:a,disableExit:o,difficulty:d,setResolveAction:h,getEvent:f}){const[u]=e,p=J=>f({type:"translate",payload:J}),_=React$2.useRef(),R=React$2.useRef(),{solution:x}=n,[S,g]=React$2.useState(a.toLowerCase()),[v,b]=React$2.useState(),[T,y]=React$2.useState(Array(a.toLowerCase().length).fill("")),[w,C]=React$2.useState(!1),[D,N]=React$2.useState([0,0]),P=p("puzzle.cracker.crackedPassword"),k=n.solution.right.desc&&n.solution.right.desc!==""?n.solution.right.desc:"",F=p("puzzle.cracker.congratulations"),[M,j]=React$2.useState([[]]),{visibleRows:$,visibleColumns:B}=DIFFICULTY_MAP[d];let X=$==="auto"?Math.ceil(window.innerHeight*.025):$;X=X>=20?X:20,React$2.useEffect(()=>{w&&o(!0)},[w,o]),React$2.useEffect(()=>{h(J=>{u("score"),C(!0),setTimeout(()=>{l({type:"hidePuzzleButtons",payload:!1}),J()},0)})},[h,u]);const re=()=>{u("click-ui");const{rewards:J}=x.right;l({type:"addPoints",complex:!0,finish:!0,payload:J}),l({type:"passPuzzle"})},ae=()=>a.toLowerCase().split("").map((H,W)=>({char:H,index:W,used:!1})),ee=J=>J.filter(H=>H.used===!1).map(H=>H.char).join(""),K=J=>{if(J[0].length>0&&!w){const H=[...J];return H.push(H.shift()),H}return J};let ne=0;const ue=J=>{if(R.current!==void 0){const H=J-R.current;ne+=H,ne>1e3/VELOCITY_MAP[t]&&(j(K),ne=0)}R.current=J,_.current=requestAnimationFrame(ue)};React$2.useEffect(()=>{g(a.toLowerCase());const J=makeSomeNoise({numberOfColumns:B,numberOfRows:X,password:a.toLowerCase()});return j(J),b(ae()),_.current=requestAnimationFrame(ue),()=>cancelAnimationFrame(_.current)},[]);const me=()=>{if(M.length<=1)return;const[J,H]=D,W=M[J][H];if(W.hiddenColor===GREEN){const V=v.filter(z=>z.char===W.value.toLowerCase()&&z.used===!1)[0];if(V){const{index:z}=V;u("score");const Y=v;Y[z].used=!0,b(Y);const ie=[...T];ie[z]=W.value;const le=ee(Y);g(le);const fe=repaintGridPassword(M,le,X,B);j(fe),y(ie)}}S<=0&&(u("score"),C(!0))};return React$2.useEffect(()=>{w||me()},[D]),jsxRuntimeExports.jsxs("div",{className:"puzzle--cracker__container",children:[jsxRuntimeExports.jsxs("div",{className:"puzzle--cracker__header",children:[jsxRuntimeExports.jsx("span",{className:"title",children:"Dcoder.exe"}),jsxRuntimeExports.jsx("div",{className:"puzzle--pieces",children:T.map((J,H)=>jsxRuntimeExports.jsx("span",{className:"puzzle--pieces__item",children:J&&jsxRuntimeExports.jsx("span",{className:"character success-transition-animation","data-testid":`solution${H}`,children:J})},`${J+H}`))})]}),jsxRuntimeExports.jsx(DrawGrid,{grid:w?[[]]:M,cursorPosition:D,setCursorPosition:N}),w&&P&&F&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs(Typist,{avgTypingDelay:110,cursor:{hideWhenDone:!0},className:"puzzle--cracker__result",children:[jsxRuntimeExports.jsx(Typist.Delay,{ms:300}),jsxRuntimeExports.jsxs("span",{children:[`${P} ${a.toLowerCase()}`," "]}),jsxRuntimeExports.jsxs("span",{children:[F," "]}),k!==""&&jsxRuntimeExports.jsx("span",{children:k})]}),jsxRuntimeExports.jsx("div",{className:"position--absolute bottom center",children:jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__primary gat--btn__cracker",onClick:re,children:p("screens.continue")})})]})]})}CrackerPuzzleComponent.defaultProps={velocity:"slow",difficulty:"easy",context:{},info:{}};const ARABIC=/[\u0600-\u06FF]/,restrictCharacters=(l,e)=>{let n=!1;return e==="or"&&(n=l===""||l===" "||l===","||l==="."||l==="/"),e==="and"&&(n=l&&l!==" "&&l!==","&&l!=="."&&l!==""&&l!=="/"),n},sortChar=(l,e)=>l.char>e.char?1:l.char<e.char?-1:0,analyzeChars=l=>{const e={anyArabic:!1,anyNumber:!1,anyWestern:!1};for(let n=0;n<l.length;n+=1){const t=l[n].charCodeAt(0);t>=65&&t<=90?e.anyWestern=!0:t>=48&&t<=57?e.anyNumber=!0:ARABIC.test(l[n])&&(e.anyArabic=!0)}return e},makeChar=l=>{const e="شزذيثبلاهتنمورخحضثقسفعدصطغظ",n="ABCDEFGHIJKLMNOPQRSTUVWXYZ",t="0123456789";let a="";return l.anyWestern&&(a+=n),l.anyNumber&&(a+=t),l.anyArabic&&(a+=e),a.charAt(Math.floor(Math.random()*a.length))},MAX_POOL_LETTERS=26,MAX_EXTRA_LETTERS=8,AnswerPanel=({answer:l,flickerPosition:e,show:n=!1,showCorrectSolution:t})=>{const a=[];let o=0;return l.forEach(d=>{a[o]||(a[o]=[]),a[o]=[...a[o],d],d.char===" "&&(o+=1),t||(d.positionInitial=d.index)}),a.map((d,h)=>jsxRuntimeExports.jsx("div",{dir:"auto",className:"puzzle--hanged__word","data-testid":`result-${h}`,children:n?d.map((f,u)=>jsxRuntimeExports.jsx("span",{className:"puzzle--hanged__letter active",children:f},`${f+u}`)):d.filter(({char:f})=>f!==" ").map(({char:f,fixed:u},p)=>jsxRuntimeExports.jsx("span",{className:`puzzle--hanged__letter ${u?"":"active"} ${d[p].positionInitial===e?"fakeFocus":""}`,children:f},`${f+p}`))},`${d+h}`))},defaultImage="https://min.gamelearn.io/css-resources/gamelearn/resources/partenon.jpg";function HangedPuzzleComponent({soundActions:l,emitEvent:e,getEvent:n,disableExit:t,question:a,image:o,info:d,answer:h,hintUsed:f,setResolveAction:u,setHintAction:p,keyboardControl:_}){var fe;const[R]=l,x=((fe=o.img)==null?void 0:fe.url)||defaultImage,[S,g]=React$2.useState(0),[v,b]=React$2.useState(!1),[T,y]=React$2.useState([]),[w,C]=React$2.useState(!1),[D,N]=React$2.useState([]),[P,k]=React$2.useState(""),[F,M]=React$2.useState(!1),[j,$]=React$2.useState([]),[B,X]=React$2.useState(!1),re=h.toUpperCase().split(""),ae=re.filter(ce=>restrictCharacters(ce,"and")),ee=ce=>n({type:"translate",payload:ce}),K=React$2.useCallback(()=>{const ce=ae.map(Te=>({char:Te}));let ge=[];const Se=analyzeChars(ae);for(;ge.length<MAX_EXTRA_LETTERS;){const Te=makeChar(Se);ge=[...ge,{char:Te}]}return[...ce,...ge]},[ae]),ne=h.toUpperCase().split("").map((ce,ge)=>restrictCharacters(ce,"or")?{index:ge,letter:ce,char:ce,fixed:!0}:{index:ge,letter:ce,char:""}),ue=React$2.useCallback(()=>{let ce=K();for(;ce.length>MAX_POOL_LETTERS;){const ge=Math.trunc(Math.random()*(ce.length-1))+1,Se=ce[ge],Te=ne.find((Fe,Ne)=>Se.char===Fe.letter&&!ne[Ne].fixed);Te&&(ce.splice(ge,1),ne[Te.index]={...Te,char:Te.letter,fixed:!0})}f&&(ce=[],ne.forEach(({letter:ge})=>{ge!==" "&&ce.push({char:ge})})),N(ne),y(ce)},[ne,f,K]),me=(ce,ge)=>T.map((Te,Fe)=>Fe===ge?{...Te,deleted:!0}:{...Te}),J=(ce,ge,Se)=>{const Te=ge.map((Ne,Qe)=>Se.find(Ze=>Ze.poolIndex===Qe)?{char:Ne.char}:Ne);y(Te),N(ce);const Fe=ce.find(Ne=>Ne.char==="");g(Fe.index)},H=(ce,ge)=>{R("click-ui");let Se=!1;const Te=D.map(Qe=>!Qe.char&&!Se?(Se=!0,{...Qe,char:ce,poolIndex:ge}):Qe),Fe=me(ce,ge),Ne=Te.filter(Qe=>Qe.char).length;y(Fe),N(Te),W(),Ne===D.length&&ie(Te,Fe)},W=()=>{var ce;if(v){const ge=D.find(Se=>Se.index!==S&&Se.letter!==" "&&Se.char===""&&Se.poolIndex===!1);ge&&g(ge.index)}else{const ge=D.find(Se=>Se.char==="");g(ge.index+1),((ce=D[ge.index+1])==null?void 0:ce.letter)===" "&&g(ge.index+2)}},V=()=>{R("click-ui");const ce=D.map((ge,Se)=>D[D.length-1-Se]).find(ge=>ge.char&&!ge.fixed);if(ce){const ge=D.map(Fe=>Fe.index===ce.index?{...ce,char:""}:Fe);let Se=!1;const Te=T.map((Fe,Ne)=>Ne===ce.poolIndex&&(Fe.deleted||!Se)?(Se=!0,{char:Fe.char}):Fe);y(Te),N(ge),g(ce.index)}},z=()=>{t(!0),k("");const ce=[...j,...d.solution.right.rewards];R("score"),e({type:"hidePuzzleButtons",payload:!1}),e({type:"addPoints",complex:!0,finish:!0,payload:ce}),e({type:"passPuzzle"})},Y=()=>{R("fail"),e({type:"hidePuzzleButtons",payload:!1}),$([...j,...d.solution.wrong.rewards]),k(""),M(!1),e({type:"failPuzzle"}),b(!0)},ie=(ce,ge)=>{let Se=[];M(!0);const Te=ce.map((Ne,Qe)=>re[Qe]===Ne.char?{...Ne,fixed:!0}:(Se=[...Se,Ne],{...Ne,poolIndex:!1,char:""})),Fe=Te.filter(Ne=>Ne.fixed).length;e({type:"hidePuzzleButtons",payload:!0}),Fe===re.length?(k("success"),d.solution.right.desc===""&&setTimeout(()=>{z()},2e3)):(k("failed"),J(Te,ge,Se),d.solution.wrong.desc===""&&setTimeout(()=>{Y()},2e3))},le=()=>{if(P==="success")z();else{Y();const ce=D.find(ge=>ge.char==="");g(ce.index)}};return React$2.useEffect(()=>{w||(C(!0),ue()),u(ce=>{X(!0),setTimeout(()=>{e({type:"hidePuzzleButtons",payload:!1}),ce()},2e3)}),p(ce=>{const ge=[];ne.forEach(({letter:Se})=>{Se!==" "&&ge.push({char:Se})}),y(ge),ce()})},[ue,w,h,u,e,j,d.resolve.rewards,ne,p]),jsxRuntimeExports.jsxs("div",{className:"puzzle--hanged",style:{backgroundImage:`url("${x}")`},children:[P?jsxRuntimeExports.jsx(FeedbackComponent$1,{playSound:R,text:d.solution[P==="success"?"right":"wrong"].desc,success:P==="success",translate:ee,functionOnClose:le,keyboardControl:_}):null,jsxRuntimeExports.jsx("div",{className:"puzzle--hanged__content",children:jsxRuntimeExports.jsxs("div",{className:"puzzle--hanged__controls",children:[jsxRuntimeExports.jsx("div",{dir:"auto",className:"puzzle--hanged__header",children:a}),jsxRuntimeExports.jsx("div",{dir:"auto",className:`puzzle--hanged__solution ${P}`,"data-testid":`${P}`,children:B?jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:jsxRuntimeExports.jsx(AnswerPanel,{showCorrectSolution:B,answer:h.split(""),show:!0})}):jsxRuntimeExports.jsx(AnswerPanel,{showCorrectSolution:B,flickerPosition:S,answer:D})}),jsxRuntimeExports.jsxs("div",{className:"puzzle--hanged__keyboard",children:[T.sort((ce,ge)=>sortChar(ce,ge)).map((ce,ge)=>jsxRuntimeExports.jsx("button",{"data-testid":`key-${ce.char}`,type:"button",onClick:()=>{!ce.deleted&&!P&&!F&&(H(ce.char,ge),R("click-ui"))},className:`puzzle--hanged__keyboard--item ${ce.deleted||F?"disabled":""}`,children:ce.char},`${ce+ge}`)),jsxRuntimeExports.jsx("button",{onClick:F?null:()=>V(),type:"button",disabled:F?"disabled":null,"aria-label":ee("puzzles.hanged-puzzle.deleteButton"),className:`puzzle--hanged__keyboard--item delete ${F?"disabled":""}`,children:jsxRuntimeExports.jsx("span",{className:"icon-delete-keyboard"})})]})]})})]})}HangedPuzzleComponent.defaultProps={question:"",answer:"",image:{},hintBought:!1,info:{description:"",instructions:"",resolve:{},solution:{},hintBought:{}}};function CurrentImageClickPuzzle({list:l,description:e,nodeId:n,setInfo:t,emitEvent:a,getEvent:o,disableExit:d,setResolveAction:h,soundActions:f,setSelected:u,selected:p,pause:_,loadPuzzleStatus:R,index:x,setIndex:S,slidesCompleted:g,setSlidesCompleted:v,keyboardControl:b,totalCorrects:T}){const y=React$2.useRef([]),w=React$2.useRef(0),C=React$2.useRef(0),D=`chained-image-click-puzzle_${x}_${n}`,[N]=f,P=K=>{y.current=[...y.current,...K]},k=React$2.useCallback(K=>{N("score"),a({type:"hidePuzzleButtons",payload:!1}),a({type:"addPoints",complex:!0,finish:!0,payload:[...y.current,...K]}),a({type:"passPuzzle"})},[N,a]),[F,M]=React$2.useState(!1),j=l[x],{info:$,specificFeedbacks:B}=j;$.description=e,React$2.useEffect(()=>{w.current=0,C.current=0,M(!1)},[x]);const X=React$2.useCallback((K,ne=!1)=>{var me;let ue={...g};if(ne){if((me=B==null?void 0:B.correctFeedbacks)!=null&&me.length&&!j.hasClickOnce){const J=B.correctFeedbacks.length;F&&J?(w.current>0?u(p+(J-w.current)):u(p+J),w.current=J):w.current+=1}else{let J=p;C.current&&(J-=C.current),w.current=j.areas.length,u(J+w.current)}w.current===j.areas.length&&(x+1>=l.length?k(K):S(x+1),ue={...ue,[x]:!0},v(ue)),P(K)}else a({type:"addPoints",payload:K,finish:!1}),a({type:"failPuzzle"}),j.hasClickOrder&&(u(p-w.current),w.current===0&&Object.entries(g).length===0?u(0):w.current=0),Object.entries(g).length===0&&j.hasClickOrder&&!p&&u(0)},[g,B,j.hasClickOnce,j.areas.length,j.hasClickOrder,F,u,p,x,l.length,v,k,S,a]),re=()=>{for(let K=0;K<y.current.length;K=K+1)if(y.current[K].points>0)return!0;return!1},ae=()=>{M(!0),x>=l.length-1&&u(T),N("score"),x+1>=l.length&&re()?($.resolve.rewards.forEach(K=>{y.current.forEach(ne=>{ne.id===K.id&&(K.points=K.points+ne.points)})}),a({type:"puzzleAction",action:"resolve",payload:{element:D,rewards:$.resolve.rewards,finish:!0}})):a({type:"puzzleAction",action:"resolve",payload:{element:D,rewards:$.resolve.rewards,finish:x+1>=l.length}})};React$2.useEffect(()=>{t({...$,hintId:D})},[$,D,t]),React$2.useEffect(()=>{R&&x!==l.length-1&&X([],!0)},[x,l.length,R,X]);const ee=()=>{const K=j.hasClickOnce?j.areas.length:1;C.current+=K,u(p+K)};return jsxRuntimeExports.jsx(ImageClickWrapperComponent,{...j,puzzle:{name:D,component:"chained-image-click-puzzle"},specificFeedbacks:B,emitFinish:X,emitError:P,emitResolve:ae,isLast:x+1===l.length,defaultCompleted:g[x]||!!R,hideContinue:x+1!==l.length,handleClick:ee,emitEvent:a,getEvent:o,disableExit:d,soundActions:f,setResolveAction:h,pause:_,keyboardControl:b},x)}function ChainedImageClickPuzzleComponent(l){const{setInfo:e,emitEvent:n,nodeId:t,list:a,description:o,soundActions:d,showFrames:h,disableExit:f,setResolveAction:u,pause:p,keyboardControl:_,getEvent:R}=l,[x,S]=React$2.useState(0),[g,v]=React$2.useState(0),[b,T]=React$2.useState({}),y=`chained-image-click-puzzle_${g}_${t}`,w=React$2.useMemo(()=>R({type:"loadObjectStatus",payload:y}),[R,y]),C=a.reduce((N,P)=>N+P.areas.length,0),D={list:a,description:o,nodeId:t,disableExit:f,setResolveAction:u,emitEvent:n,soundActions:d,setInfo:e,setSelected:S,selected:x,index:g,setIndex:v,slidesCompleted:b,setSlidesCompleted:T,loadPuzzleStatus:w,pause:p,keyboardControl:_,totalCorrects:C};return jsxRuntimeExports.jsxs("div",{className:"puzzle--image__click",children:[h?jsxRuntimeExports.jsxs("div",{className:"puzzle-image__info",children:[jsxRuntimeExports.jsx("span",{className:"info-circle"}),jsxRuntimeExports.jsxs("span",{children:[x," / ",C]})]}):null,jsxRuntimeExports.jsx(CurrentImageClickPuzzle,{...D})]})}function CurrentFramePuzzle({list:l,index:e,puzzlesCompiledRef:n,framesCompleted:t,handleFinish:a,accRewards:o,setRewards:d,setIndex:h,setFramesCompleted:f,loadPuzzleStatus:u,soundActions:p,setResolveAction:_,disableExit:R,description:x,translateFromParent:S,setInfo:g,emitEvent:v,nodeId:b,setSelected:T,selected:y,emitResetPuzzle:w,firstTryForFrame:C,setPuzzlesAutoCompleted:D,puzzlesAutoCompleted:N,emitOpenPopupCounterInfo:P,resetValues:k,setResetValues:F,pause:M,keyboardControl:j,totalCorrects:$,getEvent:B}){var ie;const[X]=p,[re,ae]=React$2.useState(!1),ee=l[e],{info:K,specificFeedbacks:ne}=ee;K.description=x;const ue=React$2.useRef(0),me=React$2.useRef(0),J=`frame-image-click-puzzle_${e}_${b}`;React$2.useEffect(()=>{n.current+=1},[n]),React$2.useEffect(()=>{g({...K,hintId:J})},[g,K,J]),React$2.useEffect(()=>{k&&(me.current=0,ue.current=0,T(0),F(!1))},[k,F,T]),React$2.useEffect(()=>{me.current=0,ue.current=0,ae(!1)},[e]);const H=React$2.useCallback((le,fe=!1)=>{var ge;let ce={...t};if(fe){if((ge=ne==null?void 0:ne.correctFeedbacks)!=null&&ge.length&&!ee.hasClickOnce){const Se=ne.correctFeedbacks.length;re&&Se?(me.current>0?T(y+(Se-me.current)):T(y+Se),me.current=Se):me.current+=1}else{let Se=y;ue.current&&(Se-=ue.current),me.current=ee.areas.length,N[0]&&Object.entries(t).length===0?T(me.current):T(Se+me.current)}me.current===ee.areas.length&&(e+1>=l.length&&a(le),ce={...ce,[e]:!0},f(ce),h(e+1>l.length-1?0:e+1)),d(le)}else v({type:"addPoints",payload:le,finish:!1}),v({type:"failPuzzle"}),ee.hasClickOrder&&(T(y-me.current),me.current=0)},[t,(ie=ne==null?void 0:ne.correctFeedbacks)==null?void 0:ie.length,ee.hasClickOnce,ee.areas.length,ee.hasClickOrder,d,re,T,y,N,e,l.length,f,h,a,v]),W=React$2.useCallback(()=>{for(let le=0;le<o.current.length;le=le+1)if(o.current[le].points>0)return!0;return!1},[o]),V=React$2.useCallback(()=>{ae(!0),e>=l.length-1&&T($),X("score"),v({type:"hidePuzzleButtons",payload:!1}),D(le=>({...le,[e]:!0})),e+1>=l.length&&W()?(K.resolve.rewards.forEach(le=>{o.current.forEach(fe=>{fe.id===le.id&&(le.points=le.points+fe.points)})}),v({type:"puzzleAction",action:"resolve",payload:{element:J,rewards:K.resolve.rewards,finish:!0}})):v({type:"puzzleAction",action:"resolve",payload:{element:J,rewards:K.resolve.rewards,finish:e+1>=l.length}})},[e,l.length,X,v,D,W,T,$,K.resolve.rewards,J,o]),z=React$2.useCallback(()=>{f({}),me.current=0,ue.current=0,w()},[w,f]);React$2.useEffect(()=>{u&&e!==l.length-1&&H([],!0)},[t,e,l.length,u,H]);const Y=()=>{const le=ee.hasClickOnce?ee.areas.length:1;ue.current+=le,T(y+le)};return jsxRuntimeExports.jsx(ImageClickWrapperComponent,{...ee,className:"puzzle-frame__canvas",puzzle:{name:"",component:"frame-click-puzzle"},specificFeedbacks:ne,emitFinish:H,emitResolve:V,hideContinue:!0,disableInfo:n.current>1,defaultCompleted:t[e]||!!u,soundActions:p,setResolveAction:_,disableExit:R,translateFromParent:S,emitEvent:v,getEvent:B,slideNumber:e,handleClick:Y,emitResetPuzzle:z,firstTryForFrame:C,puzzlesAutoCompleted:N,emitOpenPopupCounterInfo:P,pause:M,keyboardControl:j},e)}function Tooltip({getEvent:l}){const e=n=>l({type:"translate",payload:n});return jsxRuntimeExports.jsx("div",{dir:"auto",className:"puzzle-frame__info--tooltip",children:e("puzzles.counterTooltip")})}function Counter({current:l,total:e,tooltip:n,getEvent:t}){return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[n?jsxRuntimeExports.jsx(Tooltip,{getEvent:t}):null,jsxRuntimeExports.jsxs("div",{className:"puzzle-frame__info--frames",children:[jsxRuntimeExports.jsx("span",{className:"info-circle"}),jsxRuntimeExports.jsxs("span",{children:[l," / ",e]})]})]})}function FrameImageClickComponent({emitEvent:l,nodeId:e,list:n,description:t,showFrames:a,soundActions:o,disableExit:d,setResolveAction:h,setInfo:f,getEvent:u,pause:p,keyboardControl:_}){const[R,x]=React$2.useState({}),S=React$2.useRef([]),[g,v]=React$2.useState(0),[b,T]=React$2.useState({}),[y,w]=React$2.useState(0),C=React$2.useRef(0),[D,N]=React$2.useState(!0),[P,k]=React$2.useState(!0),[F,M]=React$2.useState(!1),j=n.reduce((me,J)=>me+J.areas.length,0),$=me=>{S.current=[...S.current,...me]},B=`frame-image-click-puzzle_${g}_${e}`,X=React$2.useMemo(()=>u({type:"loadObjectStatus",payload:B}),[u,B]),re=React$2.useCallback(me=>{l({type:"addPoints",complex:!0,finish:!0,payload:[...S.current,...me]}),l({type:"passPuzzle"})},[l]),ae=React$2.useCallback(()=>{k(!1),S.current=[],w(0),v(0),T({}),N(!0),M(!0)},[]),ee=me=>u({type:"translate",payload:me}),K=()=>{N(!0)},ue={firstTryForFrame:P,list:n,description:t,index:g,puzzlesCompiledRef:C,framesCompleted:b,handleFinish:re,setRewards:$,accRewards:S,setSelected:w,selected:y,setIndex:v,setFramesCompleted:T,loadPuzzleStatus:X,soundActions:o,setResolveAction:h,disableExit:d,translateFromParent:ee,setInfo:f,emitEvent:l,nodeId:e,emitResetPuzzle:ae,resetValues:F,setResetValues:M,setPuzzlesAutoCompleted:x,puzzlesAutoCompleted:R,emitOpenPopupCounterInfo:()=>{g===0&&N(!1)},pause:p,keyboardControl:_,totalCorrects:j,getEvent:u};return jsxRuntimeExports.jsxs("div",{className:"puzzle-frame",children:[jsxRuntimeExports.jsx(CurrentFramePuzzle,{...ue}),jsxRuntimeExports.jsxs("div",{className:"puzzle-frame__content",children:[jsxRuntimeExports.jsx("div",{className:"puzzle-frame__controls",children:jsxRuntimeExports.jsx("div",{className:"puzzle-frame__progress",children:jsxRuntimeExports.jsx("div",{"data-testid":"puzzle-frame-progress",style:{width:`${y/j*100}%`},className:"puzzle-frame__progress--handle"})})}),a?jsxRuntimeExports.jsx("button",{"data-testid":"puzzle-frame-counter-button",disabled:D,"aria-hidden":D,type:"button",className:"puzzle-frame__info",onClick:K,children:jsxRuntimeExports.jsx(Counter,{current:y,total:j,tooltip:!D,getEvent:u})}):null]})]})}FrameImageClickComponent.defaultProps={description:"",context:{},nodeId:0,showFrames:!1};function EditButton({action:l,className:e}){return jsxRuntimeExports.jsx("div",{role:"button",tabIndex:0,"aria-label":`${l} edit button`,onKeyUp:()=>{},className:`puzzle--webBuilder__edit ${e}`,onClick:l,children:jsxRuntimeExports.jsx("span",{className:"icon-fb-edit"})})}EditButton.defaultProps={action:()=>{},className:""};const path="https://min.gamelearn.io/css-resources/gamelearn/resources/",imagesOptions=[{name:"webbuilder.imageOptions.image1",src:"Amor.jpg"},{name:"webbuilder.imageOptions.image2",src:"Bancorp.svg"},{name:"webbuilder.imageOptions.image3",src:"Amanda.jpg"},{name:"webbuilder.imageOptions.image4",src:"keyboard.jpg"},{name:"webbuilder.imageOptions.image5",src:"Melanie.jpg"},{name:"webbuilder.imageOptions.image6",src:"Sharon.jpg"},{name:"webbuilder.imageOptions.image7",src:"Bankex.svg"},{name:"webbuilder.imageOptions.image8",src:"Futbol.jpg"},{name:"webbuilder.imageOptions.image9",src:"GBL.svg"},{name:"webbuilder.imageOptions.image10",src:"Fooder.jpg"},{name:"webbuilder.imageOptions.image11",src:"Corporate.jpg"},{name:"webbuilder.imageOptions.image12",src:"Bank of Zamunda.svg"},{name:"webbuilder.imageOptions.image13",src:"mindfullness.jpg"},{name:"webbuilder.imageOptions.image14",src:"Nature.jpg"},{name:"webbuilder.imageOptions.image15",src:"Shopper.jpg"},{name:"webbuilder.imageOptions.image16",src:"Lab.jpg"}],colorOptions=["#c66a46","#3c9dc0","#6236ff","#21254f"],colorOptions2=["#39b7b9","#25a1d4","#f5a623","#080269"],titleOptions=[{title:"webbuilder.bank.titleOptions.title1.text",desc:"webbuilder.bank.titleOptions.title1.description"},{title:"webbuilder.bank.titleOptions.title2.text",desc:"webbuilder.bank.titleOptions.title2.description"},{title:"webbuilder.bank.titleOptions.title3.text",desc:"webbuilder.bank.titleOptions.title3.description"},{title:"webbuilder.bank.titleOptions.title4.text",desc:"webbuilder.bank.titleOptions.title4.description"},{title:"webbuilder.bank.titleOptions.title5.text",desc:"webbuilder.bank.titleOptions.title5.description"}],bankProps={backgroundImage:imagesOptions[10].src,backgroundLogo:imagesOptions[11].src,backgroundColor:"#21254f",btnColor:"#25a1d4"},BankTemplate={header:{color:bankProps.backgroundColor,logo:bankProps.backgroundLogo},body:{bankTitle:titleOptions[0].title,bankDesc:titleOptions[0].desc,bgImage:bankProps.backgroundImage,btnColor:bankProps.btnColor}};function BankHeader({showingReference:l,usingTemplate:e,openPopup:n,onSave:t,header:a,translate:o}){return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[l?jsxRuntimeExports.jsx("div",{className:"bank--edit__logo",children:jsxRuntimeExports.jsx("img",{src:path+e.header.logo,alt:"",title:""})}):jsxRuntimeExports.jsxs("div",{className:"bank--edit__logo",children:[a.logo?jsxRuntimeExports.jsx("img",{src:path+a.logo,alt:"",title:""}):jsxRuntimeExports.jsxs("span",{children:[jsxRuntimeExports.jsx("b",{children:o("webbuilder.bank.header.title")}),jsxRuntimeExports.jsx("b",{children:o("webbuilder.bank.header.logo")})]}),jsxRuntimeExports.jsx(EditButton,{action:()=>n("PopupImageComponent",{text:"Documents",images:imagesOptions,onSave:d=>t({logo:d})})})]}),jsxRuntimeExports.jsxs("div",{className:"flex align-center",children:[jsxRuntimeExports.jsxs("ul",{className:"bank--navigation",children:[jsxRuntimeExports.jsx("li",{className:"bank-navigation__item",children:o("webbuilder.bank.header.account")}),jsxRuntimeExports.jsx("li",{className:"bank-navigation__item",children:o("webbuilder.bank.header.invest")}),jsxRuntimeExports.jsx("li",{className:"bank-navigation__item",children:o("webbuilder.bank.header.loans")}),jsxRuntimeExports.jsx("li",{className:"bank-navigation__item",children:o("webbuilder.bank.header.mortgage")})]}),l?null:jsxRuntimeExports.jsx(EditButton,{action:()=>n("PopupColorComponent",{colors:colorOptions,onSave:d=>t({color:d})})})]})]})}BankHeader.defaultProps={showingReference:!1,usingTemplate:{},openPopup:()=>{},onSave:()=>{},header:{}};BankHeader.propTypes={showingReference:PropTypes.bool,usingTemplate:PropTypes.shape({}),openPopup:PropTypes.func,onSave:PropTypes.func,header:PropTypes.shape({})};function FacebookHeader({showingReference:l,usingTemplate:e,header:n,translate:t}){const a=l?e.header.userImage:n.userImage,o=l?e.header.username:n.username;return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("span",{className:"facebook--header__logo",children:jsxRuntimeExports.jsx("span",{className:"icon-fb-logo"})}),jsxRuntimeExports.jsxs("span",{className:"facebook--header__user",children:[jsxRuntimeExports.jsx("span",{className:"facebook--header__user--circle",style:{backgroundImage:`url(${path+a})`}}),jsxRuntimeExports.jsx("span",{className:"facebook--header__user--text",children:t(o||"webbuilder.facebook.header.userName")})]})]})}FacebookHeader.defaultProps={showingReference:!1,usingTemplate:{},header:{}};function WebBuilderHeader(l){const{isFacebook:e,header:n,showingReference:t,usingTemplate:a}=l,o=t?a.header.color:n.color;return jsxRuntimeExports.jsx("div",{className:`puzzle--webBuilder__header ${e?"":"bank"}`,style:e?{}:{backgroundColor:`${o}`},children:jsxRuntimeExports.jsx("div",{className:`${e?"facebook":"bank"}--header`,children:e?jsxRuntimeExports.jsx(FacebookHeader,{...l}):jsxRuntimeExports.jsx(BankHeader,{...l})})})}WebBuilderHeader.defaultProps={isFacebook:!1,showingReference:!1,usingTemplate:{},header:{}};WebBuilderHeader.propTypes={isFacebook:PropTypes.bool,showingReference:PropTypes.bool,usingTemplate:PropTypes.shape({}),header:PropTypes.shape({})};const facebookProps={backgroundImage:imagesOptions[12].src,backgroundUser:imagesOptions[5].src},userOptions=["webbuilder.userOptions.user1","webbuilder.userOptions.user2","webbuilder.userOptions.user3"],workOptions=["webbuilder.workOptions.work1","webbuilder.workOptions.work2","webbuilder.workOptions.work3"],studiesOptions=["webbuilder.studiesOptions.study1","webbuilder.studiesOptions.study2","webbuilder.studiesOptions.study3"],mailOptions=["webbuilder.mailOptions.mail1","webbuilder.mailOptions.mail2","webbuilder.mailOptions.mail3"],homeOptions=["webbuilder.homeOptions.home1","webbuilder.homeOptions.home2","webbuilder.homeOptions.home3"],FacebookTemplate={header:{username:userOptions[1],userImage:facebookProps.backgroundUser,bgImage:facebookProps.backgroundImage},body:{work:workOptions[2],home:homeOptions[1],studies:studiesOptions[0],mail:mailOptions[0]}};function WebBuilderFront({showingReference:l,usingTemplate:e,header:n,onSave:t,translate:a,openPopup:o}){const d=l?e.header.userImage:n.userImage,h=l?e.header.username:n.username,f=l?e.header.bgImage:n.bgImage;return jsxRuntimeExports.jsxs("div",{className:"puzzle--webBuilder__front",style:{backgroundImage:`url(${path+f})`},children:[jsxRuntimeExports.jsxs("div",{className:"facebook--user",children:[jsxRuntimeExports.jsx("span",{className:"facebook--user__circle",style:{backgroundImage:`url(${path+d})`},children:l?null:jsxRuntimeExports.jsx(EditButton,{action:()=>{o("PopupImageComponent",{images:imagesOptions,onSave:u=>t({userImage:u})})}})}),jsxRuntimeExports.jsx("span",{className:"facebook--user__text",children:a(h||"webbuilder.facebook.header.userName")}),l?null:jsxRuntimeExports.jsx(EditButton,{action:()=>{o("PopupTextComponent",{options:userOptions,onSave:u=>t({username:u})})}})]}),l?null:jsxRuntimeExports.jsx(EditButton,{className:"position--absolute right top",action:()=>{o("PopupImageComponent",{images:imagesOptions,onSave:u=>t({bgImage:u})})}})]})}WebBuilderFront.defaultProps={showingReference:!1,usingTemplate:{},openPopup:()=>{},onSave:()=>{},header:{}};WebBuilderFront.propTypes={showingReference:PropTypes.bool,usingTemplate:PropTypes.shape({}),openPopup:PropTypes.func,onSave:PropTypes.func,header:PropTypes.shape({})};function FacebookBody({showingReference:l,usingTemplate:e,body:n,onSave:t,openPopup:a,translate:o}){const d=l?e.body.work:n.work,h=l?e.body.studies:n.studies,f=l?e.body.home:n.home,u=l?e.body.mail:n.mail;return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("ul",{className:"facebook--sidebar",dir:"auto",children:[jsxRuntimeExports.jsxs("li",{className:`facebook--sidebar__item ${d||l?"selected":""}`,children:[jsxRuntimeExports.jsxs("div",{className:"flex align-center",children:[jsxRuntimeExports.jsx("span",{className:"icon-fb-work"}),jsxRuntimeExports.jsx("span",{className:"text",children:o(d||"webbuilder.facebook.body.work")})]}),l?null:jsxRuntimeExports.jsx(EditButton,{action:()=>{a("PopupTextComponent",{options:workOptions,onSave:p=>t({work:p})})}})]}),jsxRuntimeExports.jsxs("li",{className:`facebook--sidebar__item ${h||l?"selected":""}`,children:[jsxRuntimeExports.jsxs("div",{className:"flex align-center",children:[jsxRuntimeExports.jsx("span",{className:"icon-fb-education"}),jsxRuntimeExports.jsx("span",{className:"text",children:o(h||"webbuilder.facebook.body.studies")})]}),l?null:jsxRuntimeExports.jsx(EditButton,{action:()=>{a("PopupTextComponent",{options:studiesOptions,onSave:p=>t({studies:p})})}})]}),jsxRuntimeExports.jsxs("li",{className:`facebook--sidebar__item ${f||l?"selected":""}`,children:[jsxRuntimeExports.jsxs("div",{className:"flex align-center",children:[jsxRuntimeExports.jsx("span",{className:"icon-fb-home"}),jsxRuntimeExports.jsx("span",{className:"text",children:o(f||"webbuilder.facebook.body.home")})]}),l?null:jsxRuntimeExports.jsx(EditButton,{action:()=>{a("PopupTextComponent",{options:homeOptions,onSave:p=>t({home:p})})}})]})]}),jsxRuntimeExports.jsxs("div",{className:"facebook--board",children:[jsxRuntimeExports.jsx("div",{className:"facebook--mail__label",children:"E-mail"}),jsxRuntimeExports.jsxs("div",{className:`facebook--mail__box ${u||l?"active":""}`,children:[jsxRuntimeExports.jsxs("div",{className:"flex align-center",children:[jsxRuntimeExports.jsx("span",{className:"icon-fb-mail"}),jsxRuntimeExports.jsx("span",{className:"text",children:o(u||"webbuilder.facebook.body.email")})]}),l?null:jsxRuntimeExports.jsx(EditButton,{action:()=>{a("PopupTextComponent",{options:mailOptions,onSave:p=>t({mail:p})})}})]}),jsxRuntimeExports.jsxs("div",{className:"facebook--tabs",children:[jsxRuntimeExports.jsxs("div",{className:"facebook--tabs__item",children:[jsxRuntimeExports.jsx("span",{className:"icon-fb-edit"}),o("webbuilder.facebook.body.editPost")]}),jsxRuntimeExports.jsxs("div",{className:"facebook--tabs__item",children:[jsxRuntimeExports.jsx("span",{className:"icon-fb-photo"}),o("webbuilder.facebook.body.editPhoto")]}),jsxRuntimeExports.jsxs("div",{className:"facebook--tabs__item",children:[jsxRuntimeExports.jsx("span",{className:"icon-fb-video"}),o("webbuilder.facebook.body.liveVideo")]}),jsxRuntimeExports.jsxs("div",{className:"facebook--tabs__item",children:[jsxRuntimeExports.jsx("span",{className:"icon-fb-events"}),o("webbuilder.facebook.body.facebookEvent")]})]}),jsxRuntimeExports.jsxs("div",{className:"facebook--thinking",children:[jsxRuntimeExports.jsxs("div",{className:"facebook--textarea",children:[jsxRuntimeExports.jsx("div",{className:"facebook--textarea__circle"}),jsxRuntimeExports.jsx("div",{className:"facebook--textarea__placeholder",children:o("webbuilder.facebook.body.think")})]}),jsxRuntimeExports.jsxs("div",{className:"facebook--chips",children:[jsxRuntimeExports.jsx("span",{className:"facebook--chips__item",children:o("webbuilder.facebook.body.photo")}),jsxRuntimeExports.jsx("span",{className:"facebook--chips__item",children:o("webbuilder.facebook.body.label")}),jsxRuntimeExports.jsx("span",{className:"facebook--chips__item",children:o("webbuilder.facebook.body.feeling")})]})]})]})]})}FacebookBody.defaultProps={showingReference:!1,usingTemplate:{},openPopup:()=>{},onSave:()=>{},body:{}};function BankBody({showingReference:l,usingTemplate:e,body:n,onSave:t,openPopup:a,translate:o}){const d=l?e.body.bgImage:n.bgImage,h=l?e.body.btnColor:n.btnColor,f=o(l?e.body.bankTitle:"webbuilder.bank.body.image.title"),u=o(l?e.body.bankDesc:"webbuilder.bank.body.image.description");return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:"bank--image__front",style:{backgroundImage:`url(${path+d})`},children:jsxRuntimeExports.jsxs("div",{className:"bank--image__text",children:[jsxRuntimeExports.jsx("span",{className:"title",children:n.bankTitle&&!l?o(n.bankTitle):f}),jsxRuntimeExports.jsx("span",{children:n.bankDesc&&!l?o(n.bankDesc):u}),l?null:jsxRuntimeExports.jsx(EditButton,{action:()=>{a("PopupTextComponent",{options:titleOptions,onSave:p=>t({bankTitle:p.title,bankDesc:p.desc})})}}),l?null:jsxRuntimeExports.jsx(EditButton,{className:"position--absolute top right",action:()=>{a("PopupImageComponent",{images:imagesOptions,onSave:p=>t({bgImage:p})})}})]})}),jsxRuntimeExports.jsx("div",{dir:"auto",className:"bank--sidebar",children:jsxRuntimeExports.jsxs("div",{className:"bank--form",children:[jsxRuntimeExports.jsx("div",{className:"bank--form__title",children:o("webbuilder.bank.body.password.title")}),jsxRuntimeExports.jsxs("div",{className:"bank--form__group",children:[jsxRuntimeExports.jsx("div",{className:"bank--form__label",children:o("webbuilder.bank.body.password.current")}),jsxRuntimeExports.jsx("input",{disabled:!0,className:"bank--form__input",type:"password",placeholder:"********"}),jsxRuntimeExports.jsx("span",{className:"icon-circle-check"})]}),jsxRuntimeExports.jsxs("div",{className:"bank--form__group",children:[jsxRuntimeExports.jsx("div",{className:"bank--form__label",children:o("webbuilder.bank.body.password.new")}),jsxRuntimeExports.jsx("input",{disabled:!0,className:"bank--form__input",type:"password",placeholder:"********"}),jsxRuntimeExports.jsx("span",{className:"icon-circle-check"})]}),jsxRuntimeExports.jsxs("div",{className:"bank--form__group",children:[jsxRuntimeExports.jsx("div",{className:"bank--form__label",children:o("webbuilder.bank.body.password.confirm")}),jsxRuntimeExports.jsx("input",{disabled:!0,className:"bank--form__input",type:"password",placeholder:"********"}),jsxRuntimeExports.jsx("span",{className:"icon-circle-check"})]}),jsxRuntimeExports.jsxs("div",{className:"bank--form__buttons",children:[jsxRuntimeExports.jsx("button",{type:"button",className:"bank--form__btn",style:{backgroundColor:`${h}`},children:o("webbuilder.save")}),l?null:jsxRuntimeExports.jsx(EditButton,{action:()=>{a("PopupColorComponent",{colors:colorOptions2,onSave:p=>t({btnColor:p})})}})]})]})})]})}function WebBuilderBody(l){const{isFacebook:e}=l;return jsxRuntimeExports.jsx("div",{className:`puzzle--webBuilder__body ${e?"":"bank"}`,children:e?jsxRuntimeExports.jsx(FacebookBody,{...l}):jsxRuntimeExports.jsx(BankBody,{...l})})}WebBuilderBody.defaultProps={isFacebook:!1};WebBuilderBody.propTypes={isFacebook:PropTypes.bool};function CurrentButton({translate:l,backActive:e,action:n}){return jsxRuntimeExports.jsx("div",{className:"puzzle--webBuilder__topbar--buttons",children:jsxRuntimeExports.jsx("button",{type:"button",className:"puzzle--webBuilder__topbar--buttons__item",onClick:n,children:l(`webbuilder.${e?"return":"showReference"}`)})})}function WebBuilderTopBar({backActive:l,displayButton:e,clickAction:n,translate:t}){return jsxRuntimeExports.jsxs("div",{className:"puzzle--webBuilder__topbar",children:[e?jsxRuntimeExports.jsx(CurrentButton,{backActive:l,action:n,translate:t}):null,jsxRuntimeExports.jsx("div",{className:"puzzle--webBuilder__title",children:"web builder 3.0"})]})}function FeedbackResult({onNext:l,success:e,showButton:n,translate:t}){const a=t(e?"webbuilder.feedback.successTitle":"webbuilder.feedback.failTitle"),o=t(e?"webbuilder.feedback.success":"webbuilder.feedback.fail");return jsxRuntimeExports.jsxs("div",{dir:"auto",className:`puzzle--webBuilder__feedback bottom ${e?"success":"failed"}`,style:e?{zIndex:"11"}:{},children:[jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("div",{className:"title",children:a}),jsxRuntimeExports.jsx("div",{className:"description",children:o})]}),n?jsxRuntimeExports.jsx("button",{type:"button",className:`gat--btn gat--btn__secondary ${e?"green":"red"}`,onClick:l,style:{marginRight:"64px"},children:t("webbuilder.continue")}):null]})}FeedbackResult.defaultProps={onNext:()=>{},success:!1,showButton:!0};function PublishButton({onPublish:l,translate:e}){return jsxRuntimeExports.jsx("div",{role:"button",tabIndex:0,onKeyUp:()=>{},"aria-label":"publish",className:"position--absolute bottom center",onClick:l,children:jsxRuntimeExports.jsxs("div",{className:"gat--btn gat--btn__primary",children:[jsxRuntimeExports.jsx("span",{className:"icon-download-cloud"}),e("webbuilder.publish")]})})}PublishButton.defaultProps={onPublish:()=>{}};function PopupColorComponent({colors:l,onSave:e,closingAction:n,translate:t,soundActions:a}){const[o]=a,[d,h]=React$2.useState(),f=d===null;return jsxRuntimeExports.jsx("div",{className:"popup--layer",children:jsxRuntimeExports.jsxs("div",{className:"popup",children:[jsxRuntimeExports.jsx("div",{className:"popup--info",children:jsxRuntimeExports.jsx("span",{className:"popup--info__item",children:jsxRuntimeExports.jsxs("div",{className:"puzzle--webBuilder__colors",children:[jsxRuntimeExports.jsx("div",{className:"puzzle--webBuilder__colors--title",children:jsxRuntimeExports.jsx("span",{children:t("webbuilder.colorSelect.title")})}),jsxRuntimeExports.jsx("div",{className:"puzzle--webBuilder__colors--items",children:l.map(u=>jsxRuntimeExports.jsx("div",{className:`puzzle--webBuilder__color--select ${d===u?"selected":""}`,style:{borderColor:`${u}`},onClick:()=>h(u),children:jsxRuntimeExports.jsx("span",{style:{backgroundColor:`${u}`}})},u+Date.now()))})]})})}),jsxRuntimeExports.jsxs("div",{className:"popup--buttons",children:[jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__secondary",onClick:n,children:jsxRuntimeExports.jsx("span",{children:t("webbuilder.cancel")})}),jsxRuntimeExports.jsx("button",{type:"button",className:`gat--btn gat--btn__primary ${f?"disabled":""}`,onClick:f?null:()=>{o("click-ui"),e(d)},children:t("webbuilder.save")})]})]})})}PopupColorComponent.defaultProps={closingAction:()=>{},onSave:()=>{},colors:{}};PopupColorComponent.propTypes={closingAction:PropTypes.func,onSave:PropTypes.func,colors:PropTypes.arrayOf(PropTypes.string)};function PopupImageComponent({images:l,onSave:e,closingAction:n,translate:t,soundActions:a}){const[o]=a,[d,h]=React$2.useState(),f=!d;return jsxRuntimeExports.jsx("div",{className:"folder-popup",children:jsxRuntimeExports.jsxs("div",{className:"folder-popup__content",children:[jsxRuntimeExports.jsxs("div",{className:"folder-popup__header",children:[jsxRuntimeExports.jsx("div",{}),jsxRuntimeExports.jsxs("div",{className:"folder-popup__title",children:[jsxRuntimeExports.jsx("span",{className:"folder-popup__icon-header icon-fb-search"}),jsxRuntimeExports.jsx("span",{children:t("webbuilder.imageSelect.title")})]}),jsxRuntimeExports.jsx("button",{onClick:n,className:"folder-popup__close",type:"button",children:jsxRuntimeExports.jsx("span",{className:"icon-close-fit"})})]}),jsxRuntimeExports.jsxs("div",{className:"folder-popup__body",children:[jsxRuntimeExports.jsx("div",{className:"folder-popup__scroll",children:jsxRuntimeExports.jsx("ul",{className:"folder-popup__list",children:l.map(u=>jsxRuntimeExports.jsxs("li",{className:"folder-item-file",children:[jsxRuntimeExports.jsx("div",{className:"folder-item-file__imagewrap",onClick:()=>h(u),onKeyUp:()=>{},role:"button",tabIndex:0,children:jsxRuntimeExports.jsx("img",{alt:u.src,src:path+u.src})}),jsxRuntimeExports.jsx("div",{className:"folder-item-file__title",title:u.src,children:u.src})]},u.src+Date.now()))})}),jsxRuntimeExports.jsxs("div",{className:"folder-popup__buttons",children:[jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__secondary",onClick:n,children:t("webbuilder.cancel")}),jsxRuntimeExports.jsx("button",{type:"button",className:`gat--btn gat--btn__primary ${f?"disabled":""}`,onClick:f?null:()=>{o("click-ui"),e(d.src)},children:t("webbuilder.open")})]})]})]})})}PopupImageComponent.defaultProps={closingAction:()=>{},onSave:()=>{},images:[]};function Selected({item:l,translate:e}){return l instanceof Object?e(l.title.toString()):jsxRuntimeExports.jsx("span",{children:e(l||"webbuilder.textSelect.title")})}function PopupTextComponent({closingAction:l,onSave:e,options:n,translate:t,soundActions:a}){const[o]=a,[d,h]=React$2.useState(""),f=d==="",[u,p]=React$2.useState(!1),_=u?"puzzle--webBuilder__select--item open":"puzzle--webBuilder__select--item",R=()=>{p(!u)};return jsxRuntimeExports.jsx("div",{className:"popup--layer",children:jsxRuntimeExports.jsxs("div",{className:"popup",children:[jsxRuntimeExports.jsx("div",{className:"popup--info",children:jsxRuntimeExports.jsx("span",{className:"popup--info__item",children:jsxRuntimeExports.jsxs("div",{className:"puzzle--webBuilder__select",children:[jsxRuntimeExports.jsx("div",{className:"puzzle--webBuilder__select--label",children:jsxRuntimeExports.jsx("div",{dir:"auto",children:t("webbuilder.textSelect.title")})}),jsxRuntimeExports.jsxs("div",{dir:"auto",className:_,onClick:()=>R(),role:"presentation",children:[jsxRuntimeExports.jsx(Selected,{item:d,translate:t}),jsxRuntimeExports.jsx("span",{className:"icon-down-arrow"}),jsxRuntimeExports.jsx("div",{className:"puzzle--webBuilder__dropdown",children:n.map(x=>x instanceof Object?jsxRuntimeExports.jsxs("span",{role:"button",tabIndex:0,onKeyUp:()=>{},className:"puzzle--webBuilder__dropdown--option",onClick:()=>{h(x)},children:[jsxRuntimeExports.jsx("span",{children:t(x.title)}),jsxRuntimeExports.jsx("span",{className:"subtitle",children:t(x.desc)})]},x.title):jsxRuntimeExports.jsx("span",{role:"button",tabIndex:0,onKeyUp:()=>{},className:"puzzle--webBuilder__dropdown--option",onClick:()=>{h(x)},children:t(x)},x))})]})]})})}),jsxRuntimeExports.jsxs("div",{className:"popup--buttons",children:[jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__secondary",onClick:l,children:t("webbuilder.cancel")}),jsxRuntimeExports.jsx("button",{type:"button",className:`gat--btn gat--btn__primary ${f?"disabled":""}`,disabled:f,onClick:()=>{o("click-ui"),e(d)},children:t("webbuilder.save")})]})]})})}const POPUPS=Object.freeze(Object.defineProperty({__proto__:null,PopupColorComponent,PopupImageComponent,PopupTextComponent},Symbol.toStringTag,{value:"Module"})),defaultHeader={username:null,logo:null,userImage:null,bgImage:null,color:""},defaultBody={bankTitle:null,color:"",btnColor:"",work:null,home:null,mail:null,studies:null,bgImage:null};function PopupComponent({type:l,close:e,translate:n,soundActions:t,...a}){const o=POPUPS[l];return o?jsxRuntimeExports.jsx(o,{type:l,...a.props,closingAction:e,translate:n,soundActions:t}):null}function DisplayingFeedback({feed:l,resolved:e,translate:n,onNext:t}){return l==="success"?jsxRuntimeExports.jsx(FeedbackResult,{success:!0,showButton:!e,onNext:t,translate:n}):l==="failed"?jsxRuntimeExports.jsx(FeedbackResult,{onNext:t,translate:n}):null}function WebBuilderPuzzleComponent({type:l,info:e,emitEvent:n,getEvent:t,setResolveAction:a,soundActions:o,disableExit:d,keyboardControl:h}){const[f,u]=React$2.useState(!1),[p,_]=React$2.useState(!1),[R,x]=React$2.useState(!1),[S,g]=React$2.useState(!1),[v,b]=React$2.useState(!1),[T,y]=React$2.useState(null),w=l==="facebook",C=w?FacebookTemplate:BankTemplate,[D,N]=React$2.useState({type:"",props:{}}),[P,k]=React$2.useState(defaultHeader),[F,M]=React$2.useState(defaultBody),[j]=o,$=W=>t({type:"translate",payload:W}),B=()=>{N({type:"",props:{}})},X=(W,V={})=>{N({type:W,props:V})},re=()=>{if(e.solution){const{rewards:W}=e.solution.right,{rewards:V}=e.solution.wrong;j(R?"fail":"score"),n({type:"addPoints",complex:!0,finish:!0,payload:R?V:W}),n({type:"passPuzzle"})}},ae=h({disabled:T!=="success",forward:re,escape:re});React$2.useEffect(()=>ae(),[ae]);const ee=(W,V)=>{const z=Object.keys(W),Y={existing:0,equal:0};return z.forEach(ie=>{V[ie]!==null&&V[ie]!==""&&(Y.existing+=1),W[ie]===V[ie]&&(Y.equal+=1)}),Y},K=(W,V)=>{const z=Object.keys(C.header).length,Y=Object.keys(C.body).length,ie=ee(C.header,W),le=ee(C.body,V),fe=le.existing+ie.existing===z+Y,ce=le.equal+ie.equal===z+Y;return{exist:fe,equal:ce}},ne=()=>{j("click-ui");const{exist:W,equal:V}=K(P,F);n({type:"hidePuzzleButtons",payload:!0}),W&&!V?(v&&b(!1),y("failed"),x(!0),n({type:"failPuzzle"})):W&&V&&(v&&(d(!1),b(!1)),g(!0),y("success"))},ue=W=>{if(Object.keys(W).length>0){const V={...P,...W};k(V),B();const{exist:z}=K(V,F);b(!!z)}},me=W=>{if(Object.keys(W).length>0){const V={...F,...W};M(V),B();const{exist:z}=K(P,V);b(!!z)}};React$2.useEffect(()=>{a(W=>{_(!0),y("success"),u(!1),setTimeout(()=>{y(""),W()},4e3)}),d(!0)},[a,d,e.resolve.rewards,n]);const J={showingReference:f||p,isFacebook:w,openPopup:X,usingTemplate:C,translate:$},H=()=>{T==="failed"?(y(null),n({type:"hidePuzzleButtons",payload:!1})):T==="success"&&re()};return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(PopupComponent,{type:D.type,...D,close:B,soundActions:o,translate:$}),jsxRuntimeExports.jsxs("div",{className:"puzzle--webBuilder",children:[jsxRuntimeExports.jsx(WebBuilderTopBar,{backActive:f,displayButton:!p&&!S,translate:$,clickAction:()=>{j("click-ui"),u(!f)}}),jsxRuntimeExports.jsx(WebBuilderHeader,{...J,header:P,onSave:ue}),w?jsxRuntimeExports.jsx(WebBuilderFront,{...J,header:P,onSave:ue}):null,jsxRuntimeExports.jsx(WebBuilderBody,{...J,body:F,onSave:me})]}),!v&&!f?jsxRuntimeExports.jsx(DisplayingFeedback,{feed:T,onNext:H,resolved:p,translate:$}):null,v&&!f?jsxRuntimeExports.jsx(PublishButton,{onPublish:ne,translate:$}):null]})}function CardImage({img:l}){const n=(l||{}).url;return jsxRuntimeExports.jsx("img",{src:n,alt:""})}function CardText({text:l,hasImage:e}){return l?jsxRuntimeExports.jsx("div",{className:`card-selector-item__textbox ${e?"":"card-selector-item__textbox--noimage"}`,children:jsxRuntimeExports.jsx("div",{className:"card-selector-item__text",children:jsxRuntimeExports.jsx("span",{children:l||"_"})})}):null}function CardNumber({order:l}){return l?jsxRuntimeExports.jsx("div",{className:"card-selector-item__order",children:jsxRuntimeExports.jsx("div",{children:l})}):null}function CardSuccess({order:l}){return jsxRuntimeExports.jsxs("div",{className:"card-selector-item__feedback card-selector-item__feedback--success ",children:[jsxRuntimeExports.jsx(CardNumber,{order:l}),jsxRuntimeExports.jsx("div",{className:"card-selector-item__feedbackicon",children:jsxRuntimeExports.jsx("div",{className:"icon-check-circle-black"})})]})}function CardFail(){return jsxRuntimeExports.jsx("div",{className:"card-selector-item__feedback card-selector-item__feedback--error",children:jsxRuntimeExports.jsx("div",{className:"card-selector-item__feedbackicon",children:jsxRuntimeExports.jsx("div",{className:"icon-error-circle-black"})})})}function CardContainer({flipped:l,correct:e,order:n,wrongOrder:t,isEmpty:a}){return!a&&l&&e&&!t?jsxRuntimeExports.jsx(CardSuccess,{order:n}):!a&&l?jsxRuntimeExports.jsx(CardFail,{}):null}function Card({card:l,handleClick:e,flipped:n,cardIndex:t,wrongOrder:a}){const o=()=>!(l.img||l.text),d=()=>!!(n&&!l.correct||!n);return jsxRuntimeExports.jsxs("button",{"data-testid":`card-${t}`,type:"button",order:l.order,onClick:()=>{!o()&&d()&&e(t)},className:`unset-button card-selector-item ${o()?"card-selector-item--empty":""}`,"aria-label":l.text?l.text:null,children:[jsxRuntimeExports.jsx(CardImage,{img:l.img}),jsxRuntimeExports.jsx(CardText,{text:l.text,hasImage:!!l.img}),jsxRuntimeExports.jsx(CardContainer,{isEmpty:o(),flipped:n,wrongOrder:a,order:l.order,correct:l.correct})]})}Card.defaultProps={handleClick:()=>{},documentsDict:{},card:{},flipped:!1,wrongOrder:!1,cardIndex:0};Card.propTypes={wrongOrder:PropTypes.bool,handleClick:PropTypes.func,cardIndex:PropTypes.number,flipped:PropTypes.bool,documentsDict:PropTypes.shape({}),card:PropTypes.shape({correct:PropTypes.bool,order:PropTypes.number,text:PropTypes.string,imgId:PropTypes.string,status:PropTypes.string})};function Board({cards:l,currentOrder:e,setCurrentOrder:n,handleError:t,feedbackIsShown:a,resolvePuzzle:o,soundActions:d,onFinish:h,handleSuccess:f,resolveWithAnyCard:u}){const[p,_]=React$2.useState(Array(l.length).fill(!1)),[R,x]=React$2.useState(Array(l.length).fill(!1)),[S,g]=React$2.useState(0),[v,b]=React$2.useState(!1),[T]=d,y=l.filter(M=>M.correct===!0).length,w=l.filter(M=>M.order).length>0,C=React$2.useCallback(()=>{_(Array(l.length).fill(!1)),x(Array(l.length).fill(!1)),g(0),n(1)},[l.length,n]),D=()=>{setTimeout(()=>{C()},1e3)};function N(M,j=M){const $=Array.from(p);$[M]=j,_($)}const P=React$2.useCallback(()=>{const M=[];l.forEach((j,$)=>{j.correct===!0&&M.push($)}),_(M)},[l]);React$2.useEffect(()=>{o&&P()},[P,o]),React$2.useEffect(()=>{(u&&S||S===y&&y>0)&&(h(),b(!0),g(0))},[S,h,y,u]);const k=M=>{N(M),f(l[M].id||null),g(S+1)},F=M=>{var j,$;if(!v&&!a)if(T("click-ui"),l[M].correct&&!w)k(M);else if(w){if(l[M].order===e)n(e+1),k(M);else if(N(M),l[M].order!==e){const B=Array.from(R);B[M]=M,x(B),t(((j=l[M])==null?void 0:j.id)||null,l[M].correct),D()}}else t((($=l[M])==null?void 0:$.id)||null),N(M),setTimeout(()=>{N(M,!1)},1e3)};return jsxRuntimeExports.jsx("div",{className:`cards-selector__content cards-selector__content-${l.length}`,children:l&&l.map((M,j)=>jsxRuntimeExports.jsx(Card,{setCurrentOrder:n,card:M,handleClick:()=>F(j),flipped:p.includes(j),wrongOrder:R.includes(j),cardIndex:j},`cardPuzzle ${l.indexOf(M)}`))})}Board.defaultProps={setCurrentOrder:()=>{},handleError:()=>{},onFinish:()=>{},handleSuccess:()=>{},documentsDict:{},cards:[],currentOrder:1,resolvePuzzle:!1,feedbackIsShown:!1,resolveWithAnyCard:!1};function CardsSelectorPuzzleComponent({emitEvent:l,getEvent:e,info:n,cards:t,resolveWithAnyCard:a,specificFeedbacks:o,disableExit:d,setResolveAction:h,soundActions:f,backgroundImage:u,nodeId:p,keyboardControl:_,hideBackgroundImageTheme:R=!1}){var H,W;const[x,S]=React$2.useState(!1),[g,v]=React$2.useState(1),[b,T]=React$2.useState(!1),[y,w]=React$2.useState(!1),[C,D]=React$2.useState(!1),[N,P]=React$2.useState([]),[k,F]=React$2.useState(!1),[M,j]=React$2.useState(""),[$]=f,B=V=>e({type:"translate",payload:V}),X=`cards-selector-puzzle_${p}`,re=React$2.useCallback(V=>{T(!1),D(!1),l({type:"hidePuzzleButtons",payload:!1}),l({type:"addPoints",complex:!0,finish:!0,payload:V}),l({type:"passPuzzle"})},[l]),ae=React$2.useCallback(()=>{var ie,le;l({type:"hidePuzzleButtons",payload:!0}),T(!0);const{rewards:V}=((ie=n==null?void 0:n.solution)==null?void 0:ie.right)||{},z=((le=o==null?void 0:o.correctFeedbacks)==null?void 0:le.map(fe=>fe.rewards).flat())||[],Y=[...N,...V,...z];$("score"),re(Y)},[N,re,l,(H=n==null?void 0:n.solution)==null?void 0:H.right,$,o==null?void 0:o.correctFeedbacks]),ee=()=>{S(!0),n.solution.right.desc&&!(o!=null&&o.specificCorrectFeedbacks)&&j(n.solution.right.desc),D(!0)},K=()=>{b||x?ae():(T(!1),d(!1),D(!1),l({type:"hidePuzzleButtons",payload:!1})),j("")},ne=V=>{if(w(!0),o!=null&&o.specificCorrectFeedbacks){const z=o.correctFeedbacks.find(Y=>Y.id===V);z!=null&&z.desc&&(j(z.desc),D(!0))}$("score"),l({type:"hidePuzzleButtons",payload:!0})},ue=(V,z=!1)=>{var Y,ie;if(w(!1),z)j((Y=n.orderFeedback)==null?void 0:Y.desc),D(!0),P([...N,...((ie=n.orderFeedback)==null?void 0:ie.rewards)||[]]);else if(o!=null&&o.specificWrongFeedbacks){const le=o.wrongFeedbacks.find(fe=>fe.id===V);le!=null&&le.desc?(j(le.desc),D(!0)):(D(!0),setTimeout(()=>{K(),l({type:"hidePuzzleButtons",payload:!1})},2e3)),P([...N,...(le==null?void 0:le.rewards)||[]])}else n.solution.wrong.desc?(j(n.solution.wrong.desc),D(!0)):(D(!0),setTimeout(()=>{K(),l({type:"hidePuzzleButtons",payload:!1})},3e3));d(!0),!(o!=null&&o.specificWrongFeedbacks)&&!z&&P([...N,...n.solution.wrong.rewards]),$("fail"),l({type:"hidePuzzleButtons",payload:!0}),l({type:"failPuzzle"})};React$2.useEffect(()=>{x&&d(!0)},[d,x]),React$2.useEffect(()=>{h(()=>{var z;l({type:"hidePuzzleButtons",payload:!0}),F(!0);const V=[...N,...((z=n==null?void 0:n.resolve)==null?void 0:z.rewards)||{}];setTimeout(()=>{T(!1),D(!1),l({type:"hidePuzzleButtons",payload:!1}),l({type:"puzzleAction",action:"resolve",payload:{element:X,rewards:V,finish:!0}})},2e3)})},[h,d,N,(W=n==null?void 0:n.resolve)==null?void 0:W.rewards,l,X]);const me=React$2.useMemo(()=>{let V="";return V="cards-selector",u!=null&&u.url&&(V+=" cards-selector--with-custom-bg"),R&&(V+=" disable-background-image"),V},[u==null?void 0:u.url,R]),J={backgroundImage:u!=null&&u.url?`url('${u.url}')`:""};return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:me,style:J,children:jsxRuntimeExports.jsx(Board,{setCurrentOrder:v,currentOrder:g,cards:t,onFinish:ee,resolveWithAnyCard:a,handleError:ue,feedbackIsShown:C,resolvePuzzle:k,soundActions:f,handleSuccess:ne})}),C&&jsxRuntimeExports.jsx(FeedbackComponent$1,{success:b||y,text:M,hasTimeout:!M,translate:B,functionOnClose:K,keyboardControl:_})]})}CardsSelectorPuzzleComponent.defaultProps={cards:[],info:{},resolveWithAnyCard:!1,backgroundImage:{url:""}};function Fakecursor(){return jsxRuntimeExports.jsx("span",{className:"fakecursor",children:"|"})}function FixedComponent({delay:l,index:e,length:n,textToPrint:t,setDoneTyping:a,nextParagraphType:o,isWriting:d}){const[h,f]=React$2.useState(!0),[u,p]=React$2.useState(""),[_,R]=React$2.useState(!1);React$2.useEffect(()=>{R(e===n-1)},[e,n]);const x=b=>{if(!b||!b.length)return"";const T=b.replace(/<script.*?>.*?<\/script>/gim,""),y=document.createElement("DIV");return y.innerHTML=T,y.textContent||y.innerText||""};React$2.useEffect(()=>{const b=()=>{const y=t.trim().split(" ");return T(y,y.length-1).join(" ")},T=(y,w)=>{if(w<0)return[""];const C=[...y];if(x(y[w]).length!==0){const D=y[w];return C[w]=`<span class="lastWord" >${D}</span>`,C}return T(y,w-1)};o==="election"?p(b()):setTimeout(()=>{p(t)},200)},[o,t]);const S=()=>{a(!0),f(!1)},g=t.split("<p>");g.shift();const v=g.length>1;return h&&t!==""&&u!==""?jsxRuntimeExports.jsx("span",{className:`writer-inline ${v?"multiple":""} ${_?"Typist":""}`,"data-testid":`result-${e}`,children:jsxRuntimeExports.jsx(Typist,{startDelay:300,avgTypingDelay:l,stdTypingDelay:10,onCharacterTyped:d,onTypingDone:S,cursor:{hideWhenDone:!0,hideWhenDoneDelay:200},blink:!0,children:HTMLReactParser$1(t)})}):jsxRuntimeExports.jsxs("span",{className:`writer-inline ${v?"multiple":""} ${_?"Typist":""}`,"data-testid":`result-${e}`,children:[HTMLReactParser$1(u),o==="election"&&_&&jsxRuntimeExports.jsx(Fakecursor,{})]})}FixedComponent.defaultProps={delay:0,textToPrint:"",setDoneTyping:()=>{},nextParagraphType:"",isWriting:()=>{}};function SingleElection({option:l,decisionInspected:e,setCurrentDecisionSelected:n,index:t,setCurrentDecisionInspected:a,soundActions:o}){const[d]=o,h=R=>R.previewText!==""?HTMLReactParser$1(R.previewText):HTMLReactParser$1(R.fullText),f=R=>R.previewText!==""?e===t?"icon-eye inspected":"icon-eye":"",u=()=>{d("click-ui"),n(t)},p=R=>{R.keyCode===13&&_(R)},_=R=>{R.preventDefault(),R.stopPropagation(),e===t?(R.target.style.background="",a("")):a(t)};return jsxRuntimeExports.jsxs("div",{className:"single-election",children:[jsxRuntimeExports.jsxs("button",{className:"single-election__cta",type:"button",onClick:()=>u(),children:[jsxRuntimeExports.jsx("div",{className:"single-election__btn",children:jsxRuntimeExports.jsx("span",{children:h(l)})}),jsxRuntimeExports.jsx("div",{onClick:_,onKeyDown:p,className:f(l),"aria-label":"Inspect",role:"button",tabIndex:0})]}),e===t&&jsxRuntimeExports.jsx("div",{className:"single-election__complete",children:jsxRuntimeExports.jsx("div",{children:HTMLReactParser$1(l.fullText)})})]})}SingleElection.defaultProps={setCurrentDecisionSelected:()=>{},setCurrentDecisionInspected:()=>{},option:{},index:0};function SingleElectionRender({decisionInspected:l,opt:e,index:n,setCurrentDecisionSelected:t,setCurrentDecisionInspected:a,soundActions:o}){return e&&e.fullText&&e.fullText!==""?jsxRuntimeExports.jsx(SingleElection,{decisionInspected:l,setCurrentDecisionSelected:t,setCurrentDecisionInspected:a,option:e,soundActions:o,index:n}):null}function ElectionComponent({textWithOpts:l,setCurrentDecisionSelected:e,printed:n,soundActions:t}){const[a,o]=React$2.useState("");return React$2.useEffect(()=>{n()},[n]),jsxRuntimeExports.jsx("div",{className:`elections-box pos${a+1}-${l.filter(d=>!!d.fullText).length}`,children:l&&l.map((d,h)=>jsxRuntimeExports.jsx(SingleElectionRender,{opt:d,soundActions:t,index:h,setCurrentDecisionSelected:e,setCurrentDecisionInspected:o,decisionInspected:a},h))})}ElectionComponent.defaultProps={textWithOpts:[],setCurrentDecisionSelected:()=>{},printed:()=>{}};function FeedbackElement({decision:l}){const{title:e,body:n}=l.feedback;return jsxRuntimeExports.jsx("div",{children:n!==""&&jsxRuntimeExports.jsxs("div",{className:"writer-feedback-decision-item",children:[e&&jsxRuntimeExports.jsxs("div",{dir:"auto",className:"writer-feedback-decision-item__title",children:[e," "]}),n&&jsxRuntimeExports.jsxs("div",{dir:"auto",className:"writer-feedback-decision-item__message",children:[l.correct?jsxRuntimeExports.jsx("span",{className:"icon-check-circle-black color--success"}):jsxRuntimeExports.jsx("span",{className:"icon-error-circle-black color--error"}),jsxRuntimeExports.jsx("span",{children:n})]})]})})}FeedbackElement.defaultProps={decision:{}};function FeedbackComponent({getEvent:l,closingAction:e,feedbackIsDone:n,decisionsList:t,texts:a,retryAction:o,retry:d,skip:h,checkCorrect:f,rewardsStack:u,setFailed:p,soundActions:_}){const[R]=_,x=g=>l({type:"translate",payload:g}),S=()=>{R("click-ui"),e(),p(),n()};return jsxRuntimeExports.jsxs("div",{className:`writer-feedback ${u.length?"":"start"}`,children:[jsxRuntimeExports.jsx("div",{className:"writer-feedback__title",children:x("puzzles.feedback")}),jsxRuntimeExports.jsx("div",{className:"writer-feedback__decisions",children:t.map(g=>a[g.currenTextParagraph].electionTexts[g.index].feedback.body?jsxRuntimeExports.jsx(FeedbackElement,{decision:a[g.currenTextParagraph].electionTexts[g.index]},g.index):null)}),jsxRuntimeExports.jsxs("div",{className:"writer-feedback__btns",children:[h&&jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__secondary writer-feedback__btn-mobile",onClick:()=>{S()},children:x("puzzles.skip")}),d&&jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__primary writer-feedback__btn-mobile",onClick:()=>{f()?S():(R("click-ui"),o())},children:x(f()?"puzzles.continue":"puzzles.retry")}),!d&&jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__primary writer-feedback__btn-mobile",onClick:()=>S(),children:x("puzzles.continue")})]})]})}FeedbackComponent.defaultProps={emitEvent:()=>{},closingAction:()=>{},feedbackIsDone:()=>{},decisionsList:[],texts:[],retryAction:()=>{},retry:!1,skip:!1,checkCorrect:()=>{},nodeId:"0"};function FinishedTextComponent({textToPrint:l,correct:e}){const n=l.split("<p>");n.shift();const t=n.length>1;return jsxRuntimeExports.jsx("span",{className:`writer-inline ${t?"multiple":""} ${e}`,children:HTMLReactParser$1(l)})}FinishedTextComponent.defaultProps={correct:"",textToPrint:""};function WriterPuzzleComponent({emitEvent:l,getEvent:e,styles:n,nodeId:t,retry:a,skip:o,type:d,info:h,setResolveAction:f,documentTitle:u,documentTitle_labelId:p,texts:_,soundActions:R,backgroundImage:x,hideBackgroundImageTheme:S=!1}){const g=Ye=>e({type:"translate",payload:Ye}),v=React$2.useRef(),[b,T]=React$2.useState(!1),[y,w]=React$2.useState(!1),[C,D]=React$2.useState(0),[N,P]=React$2.useState({[`text_${C}`]:{..._[C],id:`text_${C}`,correct:""}}),[k,F]=React$2.useState(!1),[M,j]=React$2.useState([]),[$,B]=React$2.useState(!1),[X,re]=React$2.useState(!1),[ae,ee]=React$2.useState(!1),[K,ne]=React$2.useState(!0),[ue,me]=React$2.useState([]),[J,H]=React$2.useState(!0),[W]=R,V=React$2.useRef({}),z=Ye=>{let ot;return Ye.electionTexts.forEach(($e,rt)=>{$e.correct&&(ot=rt)}),ot},Y=React$2.useCallback(Ye=>M.filter($e=>$e.currenTextParagraph===Ye)[0].fullText_labelId,[M]),ie=React$2.useCallback(()=>_.map((Ye,ot)=>{if(Ye.type==="fixed")return Ye.fullText_labelId??Ye.fullText;if(Ye.type==="election"){const $e=z(Ye);return $e>=0?Ye.electionTexts[$e].fullText_labelId:Y(ot)}return""}),[Y,_]),le=12,fe=()=>{if(M){const Ye=M.length;let ot=0;for(let $e=0;$e<Ye;$e+=1)M[$e].isCorrect==="none"&&(ot+=1);return ot===Ye}return!0},ce=React$2.useCallback(()=>{if(M){const Ye=M.length;let ot=0;for(let $e=0;$e<Ye;$e+=1)M[$e].isCorrect==="green"&&(ot+=1);return ot===Ye}return!0},[M]),ge=()=>!!(M&&M.length),Se=()=>M.find(Ye=>{const{feedback:ot}=_[Ye.currenTextParagraph].electionTexts[Ye.index];return ot.body!==""}),Te=React$2.useCallback(()=>{const Ye=ie();l({type:"finishMedia",payload:{name:p,text:Ye,documentType:d,type:"text"}})},[ie,p,l,d]),Fe=React$2.useCallback(Ye=>{const ot=ce();W(y?"fail":ot?"score":"fail"),l({type:"addPoints",complex:!0,finish:!0,payload:Ye||ue,onFinish:d!=="view"?Te:null}),l({type:"passPuzzle"})},[ce,l,y,Te,W,ue,d]);React$2.useEffect(()=>{b&&H(!1),f(()=>{Fe(h.resolve.rewards)})},[l,Fe,b,Te,h.resolve.rewards,f,d]);const Ne=()=>{T(!1),D(0),j([]),me([]),w(!1),ee(!1),F(!1),re(!1),B(!1),P({text_0:{..._[0],id:"text_0",correct:""}}),ne(!0),l({type:"addPoints",complex:!0,finish:!1,payload:ue}),l({type:"failPuzzle"})},Qe=()=>{ge()?fe()&&(B(!0),Fe()):(B(!0),ee(!0),Fe()),$?(ne(!1),ae&&!X?re(!0):(X||!ae&&!X)&&(!ae&&!X&&a?ce()?Fe():Ne():Fe())):(B(!0),Se()&&ee(!0))},st=()=>{const Ye=_[C].electionTexts.filter($e=>$e.correct).length,ot=_[C].electionTexts;return Ye===0||Ye===ot},Ze=Ye=>{const ot=_[C].electionTexts[Ye],$e=ot.feedback.rewards;$e&&$e[0]&&$e[0].points&&(V.current[`t${C}_e${Ye}`]||(ot.correct&&(V.current[`t${C}_e${Ye}`]=!0),me([...ue,...$e])));const rt=()=>st()?"none":ot.correct?"green":"red",ft={currenTextParagraph:C,fullText:ot.fullText,index:Ye,isCorrect:rt()};P({...N,[`text_${C}`]:{type:"fixed",fullText:ot.fullText,correct:ft.isCorrect}}),j([...M,ft])},yt=()=>{v.current.scrollTop=v.current.scrollHeight+100},Ve=()=>{if(v.current.querySelector(".wrapfixed").offsetHeight>v.current.offsetHeight){const Ye=v.current.querySelector(".wrapfixed").offsetHeight;v.current.scrollTo({top:Ye,behavior:"smooth"})}},Me=(Ye,ot,$e)=>{const rt=Ye.fullText,ft=_[$e+1]?_[$e+1].type:"",Ge=N[`text_${$e+1}`]&&N[`text_${$e+1}`].type?N[`text_${$e+1}`].type:ft;return jsxRuntimeExports.jsx(FixedComponent,{length:ot,doneTyping:k,index:$e,delay:le,setDoneTyping:F,nextParagraphType:Ge,isWriting:Ve,textToPrint:rt},$e.toString())},Le=(Ye,ot)=>{const $e=Ye.fullText;return jsxRuntimeExports.jsx(FinishedTextComponent,{textToPrint:$e,correct:Ye.correct},ot)},Ke=Ye=>jsxRuntimeExports.jsx(ElectionComponent,{soundActions:R,textWithOpts:Ye.electionTexts,setCurrentDecisionSelected:Ze,printed:yt,disableExit:J},Ye.electionTexts),ke=(Ye,ot,$e)=>Ye.type==="fixed"?Me(Ye,ot,$e):Ke(Ye);React$2.useEffect(()=>{k===!0&&(()=>{_[C+1]?(P({...N,[`text_${C+1}`]:{..._[C+1],id:`text_${C+1}`,correct:""}}),D(C+1),F(!1)):T(!0)})()},[k,C,N,_]);const qe=React$2.useMemo(()=>{let Ye=`writer-puzzle writer-puzzle--${n}`;return S&&(Ye+=" disable-background-image"),Ye},[S,n]),St={backgroundImage:x!=null&&x.url?`url('${x.url}')`:""};return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:jsxRuntimeExports.jsx("div",{className:qe,style:St,children:jsxRuntimeExports.jsxs("div",{className:"writer-puzzle__overlay",children:[X&&jsxRuntimeExports.jsx(FeedbackComponent,{getEvent:e,texts:_,setFailed:()=>w(!0),decisionsList:M,closingAction:Qe,retry:a,skip:o,checkCorrect:ce,retryAction:Ne,rewardsStack:ue,nodeId:t,soundActions:R}),!X&&jsxRuntimeExports.jsxs("div",{className:"writer-puzzle__container",children:[jsxRuntimeExports.jsx("div",{dir:"auto",className:"writer-puzzle__title",children:u!==""&&u}),jsxRuntimeExports.jsx("div",{className:"writer-puzzle__body",dir:LangIsRtl()?"rtl":"auto",children:jsxRuntimeExports.jsxs("div",{className:"writer-puzzle__scroll",tabIndex:0,style:{overflowX:"hidden",padding:"0 0 20px 0",height:"95%"},ref:v,children:[jsxRuntimeExports.jsx("div",{className:"wrapfixed",children:K&&!$&&Object.values(N).map((Ye,ot)=>ke(Ye,Object.values(N).length-1,ot))}),$&&Object.values(N).map((Ye,ot)=>Le(Ye,ot))]})}),b&&jsxRuntimeExports.jsx("div",{className:"writer-puzzle__footer",children:jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__primary",onClick:Qe,children:g("screens.continue")})})]})]})})})}WriterPuzzleComponent.defaultProps={emitEvent:()=>{},info:{},styles:"",nodeId:"0",retry:!1,skip:!1,type:"",documentTitle:"",texts:[]};function Image$1({document:l,name:e,isWallpaper:n}){const t=(l==null?void 0:l.url)||null;return jsxRuntimeExports.jsx("div",{className:`puzzle--terminal__image ${n?"puzzle--terminal__image--wallpaper":""}`,children:t?jsxRuntimeExports.jsx("img",{src:t,alt:e||""}):null})}const ICONS$1={image:"image-icon",video:"video-icon",embedded_video:"video-icon",pdf:"pdf-icon",terminal:"console-icon",cracker:"cracker-icon",folder:"folder-icon",world:"world-icon"};function Visor({file:l,solution:e,showContinue:n,info:t,resolvePuzzle:a,backFile:o,translate:d,soundActions:h,keyboardControl:f}){var T;const{fileId:u}=l,p=((T=l.document)==null?void 0:T.url)||"",[_]=h,R={image:{component:Image$1,props:{...l,url:p,soundActions:h}},video:{component:VideoVisor,props:{...l,url:p,endVideo:a,soundActions:h,translate:d}},embedded_video:{component:VideoVisor,props:{...l,url:p,soundActions:h}},pdf:{component:PdfVisor,props:{...l,url:p,translate:d,soundActions:h,emitNumberOfPages:()=>{},endPdf:()=>{},keyboardControl:f}},application:{component:PdfVisor,props:{...l,url:p,translate:d,soundActions:h,emitNumberOfPages:()=>{},keyboardControl:f,endPdf:()=>{}}}};if(!R[l.type])return null;const x=R[l.type].component,S=R[l.type].props,v=l.name.replace(/.jpg|.png|.pdf|.mp4/gi,""),b=e.fileId;return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:jsxRuntimeExports.jsxs("div",{className:"puzzle--terminal__visor",children:[jsxRuntimeExports.jsx(FeedbackComponent$1,{playSound:_,shortText:!0,success:u===b,text:u===b?t.solution.right.desc:t.solution.wrong.desc,functionOnClose:u===b?a:o,additionalStyle:ICONS$1[l.type],secondText:v,translate:d,puzzleHeaderClass:"puzzle--terminal__visor--message",keyboardControl:f}),jsxRuntimeExports.jsx("div",{className:"puzzle--terminal__visor--body",children:jsxRuntimeExports.jsx(x,{...S})}),jsxRuntimeExports.jsx("div",{className:"puzzle--terminal__button",children:u===b&&n?jsxRuntimeExports.jsx("button",{className:"gat--btn gat--btn__primary green",type:"button",onClick:a,children:d("screens.continue")}):null})]})})}const ICONS={image:"image-icon",video:"video-icon",embedded_video:"video-icon",pdf:"pdf-icon",terminal:"console-icon",cracker:"cracker-icon",folder:"folder-icon",application:"pdf-icon",world:"world-icon"};function Item({item:l,selectItem:e}){const n=l.name;return jsxRuntimeExports.jsx("li",{className:"puzzle--terminal__folder__list--item",children:jsxRuntimeExports.jsxs("button",{type:"button",title:n,className:`unset-button puzzle--terminal__item id-${l.id}`,onClick:()=>l.fixed?null:e(l),children:[jsxRuntimeExports.jsx("span",{className:`puzzle--terminal__icon ${ICONS[l.type]}`}),jsxRuntimeExports.jsx("span",{children:n})]})})}function FilesGroup({initFile:l,backFile:e,file:n,closeFolder:t,selectItem:a}){return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:n.id==="init"?jsxRuntimeExports.jsx("ul",{className:"puzzle--terminal__folder__list desktop",children:n.children.map((o,d)=>jsxRuntimeExports.jsx(Item,{selectItem:a,item:o},`${`${d}${o.id}`}`))}):jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("ul",{className:"puzzle--terminal__folder__list desktop",children:l.children.map((o,d)=>jsxRuntimeExports.jsx(Item,{selectItem:a,item:o},`${d+o.id}`))}),jsxRuntimeExports.jsxs("div",{className:"puzzle--terminal__folder",children:[jsxRuntimeExports.jsxs("div",{className:"puzzle--terminal__folder--head",children:[jsxRuntimeExports.jsx("span",{role:"button",onKeyUp:()=>{},"aria-label":"back file",tabIndex:0,onClick:()=>e(),className:"puzzle--terminal__folder--back",children:jsxRuntimeExports.jsx("span",{className:"icon-back"})}),jsxRuntimeExports.jsx("span",{className:`puzzle--terminal__folder--head__icon ${ICONS[n.type]}`}),jsxRuntimeExports.jsx("span",{className:"text",children:n.name}),jsxRuntimeExports.jsx("span",{role:"button",tabIndex:0,"aria-label":"close folder",onKeyUp:()=>{},onClick:()=>t(),className:"puzzle--terminal__folder--close",children:jsxRuntimeExports.jsx("span",{className:"icon-close"})})]}),jsxRuntimeExports.jsx("div",{className:"puzzle--terminal__folder--body",children:jsxRuntimeExports.jsx("ul",{className:"puzzle--terminal__folder__list",children:n.children.map((o,d)=>jsxRuntimeExports.jsx(Item,{selectItem:a,item:o},`${d+o.id}`))})})]})]})})}const DEFAULT_IMG="https://min.gamelearn.io/css-resources/gamelearn/resources/cosmos-bg-min.jpg",FIXED_ITEMS=[{fileId:"ids1",type:"world",fixed:!0,name:"Web builder 3.0"},{fileId:"ids2",type:"cracker",fixed:!0,name:"Decoder.exe"},{fileId:"ids3",type:"terminal",fixed:!0,name:"terminal"}];function TerminalPuzzleComponent({emitEvent:l,getEvent:e,items:n,backgroundImage:t,solution:a,info:o,disableExit:d,soundActions:h,setResolveAction:f,nodeId:u,keyboardControl:p}){const[_,R]=React$2.useState({}),[x]=React$2.useState(!1),[S,g]=React$2.useState([]),v=React$2.useRef([]),[b]=h,T=F=>e({type:"translate",payload:F}),y=`terminal-puzzle_${u}`,w=React$2.useMemo(()=>({name:"init",children:[...FIXED_ITEMS,...n],id:"init"}),[n]),C=React$2.useCallback(F=>{b("click-ui"),R(F),g([...S,F]),F.type!=="folder"&&(l({type:"hidePuzzleButtons",payload:!0}),d(!0))},[S,d,l,b]);React$2.useEffect(()=>{R(w),g([w])},[w]),React$2.useEffect(()=>{f(()=>{v.current=[...v.current,...o.resolve.rewards];const F=v.current.map(M=>{var ae;const{name:j,points:$,type:B,id:X}=M,re={name:j,points:$,type:B,id:X};return(ae=M==null?void 0:M.document)!=null&&ae.resourceId&&(re.id=M.document.resourceId),re});l({type:"hidePuzzleButtons",payload:!1}),l({type:"puzzleAction",action:"resolve",payload:{element:y,rewards:F,finish:!0}})})},[f,o.resolve.rewards,l,y]);const D=()=>{v.current=[...v.current,...o.solution.wrong.rewards];const F=S.length-1,M=S.filter((j,$)=>F>$);R(S[F-1]),g(M),d(!1),l({type:"hidePuzzleButtons",payload:!1})},N=()=>{b("click-ui");const F=S[0];R(F),g([F])},P=()=>{v.current=[...v.current,...o.solution.right.rewards];const F=v.current.map(M=>{var ae;const{name:j,points:$,type:B,id:X}=M,re={name:j,points:$,type:B,id:X};return(ae=M==null?void 0:M.document)!=null&&ae.resourceId&&(re.id=M.document.resourceId),re});l({type:"hidePuzzleButtons",payload:!1}),b("score"),l({type:"addPoints",complex:!0,finish:!0,payload:F}),l({type:"passPuzzle"})},k=(t==null?void 0:t.url)||DEFAULT_IMG;return jsxRuntimeExports.jsx("div",{className:"puzzle--terminal",children:_.children?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Image$1,{isWallpaper:!0,document:{url:k}}),jsxRuntimeExports.jsx(FilesGroup,{backFile:D,initFile:w,selectItem:C,breadcrumb:S,closeFolder:N,file:_,translate:T})]}):jsxRuntimeExports.jsx(Visor,{soundActions:h,backFile:D,resolvePuzzle:P,info:o,showContinue:!x,solution:a,file:_,translate:T,keyboardControl:p})})}function DragItemPuzzleComponent({area:l,image:e,resolveObject:n,info:t,hasHighlights:a,getEvent:o,consume:d,disableExit:h,emitEvent:f,soundActions:u,keyboardControl:p}){const{solution:_}=t,R=React$2.useRef(),x=React$2.useRef(),S=React$2.useRef(),g=React$2.useRef(),v=React$2.useRef({}),[b,T]=React$2.useState(""),[y,w]=React$2.useState(!1),[C,D]=React$2.useState(),[N]=React$2.useState(new window.Image),P=React$2.useRef([]),[k]=u,F=J=>o({type:"translate",payload:J});React$2.useEffect(()=>{h(b!=="")},[b,h]);const M=(J,H)=>(J.x+J.width>H.x&&J.x+J.width<=H.x+H.width||H.x+H.width>J.x&&H.x+H.width<=J.x+J.width)&&(J.y+J.height>H.y&&J.y+J.height<=H.y+H.height||H.y+H.height>J.y&&H.y+H.height<=J.y+J.height),j=()=>{R&&a&&(R.current.to({duration:.25,opacity:.75}),x.current.to({duration:.25,opacity:.4}))},$=()=>{R&&a&&(R.current.to({duration:.25,opacity:0}),x.current.to({duration:.25,opacity:0}))},B=React$2.useCallback(J=>{let H=!1;if(J){const W=S.current;W.setPointersPositions(J);const V=W.getPointerPosition(),z=R.current.getClientRect({relativeTo:W});H=M({...V,width:1,height:1},z)}return H},[]),X=React$2.useCallback(J=>J&&n.uid===JSON.parse(J).uid,[n.uid]),re=React$2.useCallback(()=>{T(""),f({type:"hidePuzzleButtons",payload:!1}),f({type:"addPoints",complex:!0,finish:!0,payload:P.current}),f({type:"passPuzzle"}),d&&f({type:"consumeItem",payload:{uid:n.uid,targetId:n.uid,name:n.name}})},[d,f,n.name,n.uid]),ae=React$2.useCallback(()=>{T("success"),f({type:"hidePuzzleButtons",payload:!0}),P.current=[...P.current,..._.right.rewards],t.solution.right.desc===""?setTimeout(()=>{re()},2e3):re()},[f,re,t.solution.right.desc,_.right.rewards]),ee=React$2.useCallback(()=>{T(""),f({type:"hidePuzzleButtons",payload:!1}),f({type:"failPuzzle"}),P.current=[...P.current,..._.wrong.rewards]},[f,_.wrong.rewards]),K=React$2.useCallback(J=>{const H=J.dataTransfer.getData("item");S.current.setPointersPositions(J);const W=B(J);f({type:"hidePuzzleButtons",payload:!0}),W&&X(H)?(T("success"),t.solution.right.desc===""&&ae()):(T("failed"),t.solution.wrong.desc===""&&setTimeout(()=>{ee()},2e3))},[B,X,f,ae,ee,t.solution.right.desc,t.solution.wrong.desc]),ne=()=>{b==="success"?ae():ee()};React$2.useEffect(()=>{const J=e.img.url||"";N.src=J,N.onload=()=>{g.current&&(v.current={x:g.current.clientWidth/2,y:g.current.clientHeight/2,width:N.width,height:N.height,offsetX:N.width/2,offsetY:N.height/2,scale:{x:Math.min(g.current.clientWidth/N.width,g.current.clientHeight/N.height),y:Math.min(g.current.clientWidth/N.width,g.current.clientHeight/N.height)}},w(!0))}},[N,e.img.url]);const ue=J=>{J!==null&&(R.current=J)},me=J=>{if(J!==null&&(x.current=J,R.current)){const{x:H,y:W,width:V,height:z}=R.current.getClientRect();J.setAttr("x",H),J.setAttr("y",W),J.setAttr("height",z),J.setAttr("width",V)}};return React$2.useLayoutEffect(()=>{if(R.current&&y){const J=R.current.getClientRect({relativeTo:R.current.getParent()});D({x:J.x+J.width/2,y:J.y+J.height/2})}},[y]),jsxRuntimeExports.jsxs("div",{className:"puzzle--drag__mask100",onDrop:K,onDragOver:J=>{J.preventDefault()},children:[jsxRuntimeExports.jsx("div",{className:"puzzle--drag__mask",children:jsxRuntimeExports.jsx("div",{ref:g,"data-testid":"mask_canvas",className:"puzzle--drag__mask--canvas",children:y?jsxRuntimeExports.jsx(Stage,{ref:S,width:g.current.clientWidth,height:g.current.clientHeight,children:jsxRuntimeExports.jsxs(Layer,{children:[jsxRuntimeExports.jsx(Image$2,{image:N,...v.current}),jsxRuntimeExports.jsxs(Group,{...v.current,children:[C?jsxRuntimeExports.jsx(Html,{transform:!0,groupProps:{id:"projection",...C},divProps:{style:{pointerEvents:"none"}},children:jsxRuntimeExports.jsx("div",{style:{width:"50px",height:"50px",pointerEvents:"none"},id:"object-area-projection"})}):null,jsxRuntimeExports.jsx(Line,{onMouseEnter:j,onMouseLeave:$,ref:ue,...l,shape:"poly",fill:"#262a31d9",stroke:"white",strokeWidth:1,opacity:0,dash:[3,2],closed:!0,draggable:!1})]}),jsxRuntimeExports.jsx(Text,{onMouseEnter:j,onMouseLeave:$,ref:me,text:F("puzzle.drag.dropzone"),fontSize:12,align:"center",verticalAlign:"middle",fill:"#ffffff",opacity:0})]})}):null})}),b!==""?jsxRuntimeExports.jsx(FeedbackComponent$1,{text:t.solution[b==="success"?"right":"wrong"].desc,success:b==="success",translate:F,playSound:k,functionOnClose:ne,keyboardControl:p}):null]})}const LABELS_INDEX$1=["A","B","C","D","E","F","G","H","I","J"];function Questions({disabled:l,answered:e,question:n,updateForm:t,result:a,correctQuestions:o,translate:d}){const[h,f]=React$2.useState(!1),u=n.answers.filter(v=>v.text),p=v=>{let b=!1;return a[n.id].find(T=>T.id===v)&&(b=!0),b},_=v=>{let b="";return h?(e&&p(v.id)&&(b="selected"),l&&p(v.id)&&o.includes(v.id)&&(b="success"),l&&p(v.id)&&!o.includes(v.id)&&(b="failed")):(e&&v.id===a[n.id][0].id&&(b="selected"),l&&v.id===a[n.id][0].id&&(b=a[n.id][0].isCorrect?"success":"failed")),b},R=v=>{const b=_(v);return b==="selected"?"icon-check-circle-black color--selected":b==="success"?"icon-check-circle-black color--success":b==="failed"?"icon-error-circle-black color--error":""},x=v=>l&&v.feedback&&(h&&p(v.id)||v.id===a[n.id][0].id),S=(v,b)=>b===0?"tooltip--right__top":b===v.length-1?"tooltip--right__bottom":"tooltip--center__right",g=n.answers.filter(v=>v.isCorrect);return React$2.useEffect(()=>{g.length===1?f(!1):f(!0)},[g.length,h,n.answers]),jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:"test--questions__item",children:jsxRuntimeExports.jsx("span",{children:n.text})}),h&&!l?jsxRuntimeExports.jsx("div",{className:"test--questions__intertitle test--questions__intertitle--multiresponse",children:d("tests.chooseMoreOneAnswer")}):null,u.map((v,b)=>jsxRuntimeExports.jsxs("div",{className:"test--response__fakeinput",children:[h?jsxRuntimeExports.jsx("input",{checked:e&&p(v.id),disabled:l&&!p(v.id),readOnly:l,type:"checkbox",id:v.id,onChange:()=>l?null:t(v,n.id,b,"isCheckbox",v.id)}):jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:jsxRuntimeExports.jsx("input",{checked:e&&v.id===a[n.id][0].id,disabled:l&&!_(v),type:"radio",name:"name",id:v.id,onChange:()=>l?null:t(v,n.id,b,"isRadio")})}),jsxRuntimeExports.jsxs("label",{htmlFor:v.id,className:`test--response__item ${_(v)}`,children:[jsxRuntimeExports.jsx("div",{className:"test--response__index",children:LABELS_INDEX$1[b]}),jsxRuntimeExports.jsx("div",{className:"test--response__text",children:jsxRuntimeExports.jsx("span",{children:v.text})}),jsxRuntimeExports.jsx("div",{className:`test--response__icon ${R(v)}`})]}),l?jsxRuntimeExports.jsxs("div",{className:`test--feedback__info ${x(v)?"":"test--feedback__info--hidden"}`,children:[jsxRuntimeExports.jsx("span",{className:`icon-info2 ${_(v)==="success"?"color--success":"color--error"}`}),jsxRuntimeExports.jsxs("div",{id:`tooltipFeedback-${b}`,className:`tooltip ${S(u,b)}`,children:[jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx("b",{children:jsxRuntimeExports.jsx("span",{children:d("test.feedback")})})}),jsxRuntimeExports.jsx("span",{children:jsxRuntimeExports.jsx("span",{children:v.feedback})})]})]}):null]},v.text))]})}const LABELS_INDEX=["A","B","C","D","E","F","G","H","I","J"];function FeedbackItem({selectedAnswers:l,correctQuestions:e,question:n,translate:t}){const a=h=>e.includes(h),o=(h,f)=>h.index<f.index?-1:h.index>f.index?1:0,d=l.sort(o);return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:"test--questions__item",children:jsxRuntimeExports.jsx("span",{children:n})}),d.map(h=>jsxRuntimeExports.jsxs("div",{className:"test--response__itemwrap",children:[jsxRuntimeExports.jsxs("div",{className:`test--response__item ${a(h.id)?"success":"failed"}`,children:[jsxRuntimeExports.jsx("div",{className:"test--response__index",children:LABELS_INDEX[h.index]}),jsxRuntimeExports.jsx("div",{className:"test--response__text",children:jsxRuntimeExports.jsx("span",{children:h.text})}),jsxRuntimeExports.jsx("div",{className:`test--response__icon ${a(h.id)?"icon-check-circle-black color--success":"icon-error-circle-black color--error"}`})]}),jsxRuntimeExports.jsxs("div",{className:"test--feedback",children:[jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx("b",{children:jsxRuntimeExports.jsxs("span",{children:[t("test.feedback")," ",l.length>1?LABELS_INDEX[h.index]:""]})})}),jsxRuntimeExports.jsx("span",{children:h.feedback})]})]},h.text))]})}function Container({questions:l,setTime:e,saveInterval:n,result:t,setTries:a,tries:o,time:d,showResults:h,answered:f,answerPage:u,updateForm:p,disabled:_,translate:R,soundActions:x,paused:S,view:g,correctQuestions:v,feedbacksOnlyWhenReview:b}){const T=document.querySelector(".test--container"),[y,w]=React$2.useState(0),[C,D]=React$2.useState(),N=l[y].id,[P]=x;React$2.useEffect(()=>{if(d>=0&&!_&&!S){const re=setInterval(()=>{C||e(ae=>ae-1)},1e3);return n(re),()=>{clearInterval(re)}}},[_,C,S,n,e,d]);const k=()=>{T.scrollTo(0,0),P("click-ui"),f&&(t[N][0].feedback&&!_&&!b?D(!0):(u(!1),w(y+1)))},F=()=>{P("click-ui"),w(y-1)},M=()=>{T.scrollTo(0,0),l[y+1]?(D(!1),u(!1),w(y+1)):h()},j=()=>{T.scrollTo(0,0),a(o+1),t[N][0].feedback&&!_&&!b?D(!0):h()},$=Math.floor(d/60),B=d%60;React$2.useEffect(()=>{if(g==="review"){const re=t[`q${y}`][0].id,ae=document.querySelector(`#${re}`);T.scrollTo(0,ae.offsetTop)}},[y,T,t,g]);const X=()=>{if(f){const re=v[l[y].id.substring(1)].answers,ae=t[N],ee=ae.find(ne=>ne.isCorrect===!1);let K=0;return ae.forEach(ne=>{re.includes(ne.id)&&(K+=1)}),!ee&&K===re.length}return!1};return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[g==="review"||C?jsxRuntimeExports.jsx("div",{"data-testid":"feedbackWrapper",className:`test-feedback-header ${X()?"success":"failed"}`,children:jsxRuntimeExports.jsxs("h2",{children:[jsxRuntimeExports.jsx("span",{className:`${X()?"icon-correct-thumb":"icon-incorrect-thumb"}`}),jsxRuntimeExports.jsx("span",{className:"test-feedback-header__title",children:X()?R("tests.resolvedQuestion"):R("tests.notResolvedQuestion")})]})}):null,jsxRuntimeExports.jsxs("div",{className:"test--questions",children:[jsxRuntimeExports.jsx("div",{className:"test--questions__container",children:C?jsxRuntimeExports.jsx(FeedbackItem,{selectedAnswers:t[N],correctQuestions:v[l[y].id.substring(1)].answers,question:l[y].text,translate:R}):jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("div",{className:"test--questions__intertitle",children:[jsxRuntimeExports.jsx("div",{children:LangIsRtl()?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[y+1,"/",l.length," ",jsxRuntimeExports.jsx("span",{children:R("tests.question")})]}):jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("span",{children:R("tests.question")})," ",y+1,"/",l.length]})}),g!=="review"&&d>=0?jsxRuntimeExports.jsx("div",{dir:"ltr",className:`count-down ${d<10?"count-down--finalseconds":""}`,children:jsxRuntimeExports.jsxs("div",{id:"test-time",children:[$<10?`0${$}`:$," : ",B<10?`0${B}`:B]})}):null]}),jsxRuntimeExports.jsx(Questions,{result:t,disabled:_,answered:f,updateForm:p,question:l[y],correctQuestions:_?v[l[y].id.substring(1)].answers:[],translate:R},l[y].id)]})}),jsxRuntimeExports.jsxs("div",{className:`test--buttons ${g==="review"?"reviewmode":"next"}`,children:[g==="review"?jsxRuntimeExports.jsx("button",{disabled:y===0,id:"back-button",onClick:()=>F(),type:"button",className:`gat--btn__navigation ${y===0?"disabled":""}`,"aria-label":LangIsRtl()?R("survey.next"):R("survey.previous"),children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-next":"icon-back"})}):null,!C&&l[y+1]?jsxRuntimeExports.jsx("button",{disabled:!f,id:"next-button","data-testid":"nextButton",onClick:()=>k(),type:"button",className:`gat--btn__navigation ${f?"":"disabled"}`,"aria-label":LangIsRtl()?R("survey.previous"):R("survey.next"),children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-back":"icon-next"})}):null,C?jsxRuntimeExports.jsx("button",{id:"next-button","data-testid":"nextFeedbackButton",onClick:()=>M(),type:"button",className:"gat--btn__navigation",children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-back":"icon-next"})}):null,!C&&l[y].id.substring(1)===(l.length-1).toString()?jsxRuntimeExports.jsx("button",{disabled:!f,id:"continue-button","data-testid":"continueButton",onClick:()=>{P("click-ui"),f&&j()},type:"button",className:`gat--btn__navigation ${f?"":"disabled"}`,"aria-label":LangIsRtl()?R("survey.previous"):R("survey.next"),children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-back":"icon-next"})}):null]})]})]})}function ResultsComponent({result:l,time:e,mandatory:n,correctQuestions:t,isFirst:a,reviewTest:o,finishTest:d,restartTest:h,timeOver:f,timeOverText:u,getEvent:p,minimumPercentage:_}){const R=React$2.useRef(),[x,S]=React$2.useState(0),[g,v]=React$2.useState(),[b,T]=React$2.useState([]),[y,w]=React$2.useState([]),[C,D]=React$2.useState(),N=React$2.useCallback(()=>{const K=[];return t.forEach(ne=>K.push(ne.answers)),K},[t]),P=React$2.useCallback(()=>{const K=[];return Object.values(l).forEach(ne=>{if(ne.length>1){const ue=ne.find(J=>J.isCorrect===!1),me=[];ue?K.push([]):(ne.forEach(J=>{J.isCorrect&&me.push(J.id)}),K.push(me))}else ne[0].isCorrect?K.push([ne[0].id]):ne[0].isCorrect===!1&&K.push("")}),K},[l]),k=React$2.useCallback(()=>{let K=0;if(y.length>0)return b.forEach((ne,ue)=>{ne.length>1?ne.every(me=>{var J;return(J=y[ue])==null?void 0:J.includes(me)})&&(K+=1):ne.length===1&&y[ue]&&ne[0]===y[ue][0]&&(K+=1)}),K},[b,y]);React$2.useEffect(()=>{C===void 0&&(T(N),w(P),D(k))},[N,P,k,C]);const F=t.length,M=k()===F,j=C<_,$=C>=_,B=!n||$,X=Math.trunc(x/F*100),re=(K,ne)=>p({type:"translate",payload:K,values:ne}),ae={"--chart-color":"var(--color-error)"};React$2.useEffect(()=>{if(x<C){const K=setInterval(()=>{S(ne=>ne+1)},100);return v(K),()=>{clearInterval(K)}}},[C,x]),React$2.useEffect(()=>{x>=C&&clearInterval(g)},[C,g,x]);const ee=()=>{R.current=!0,d()};return jsxRuntimeExports.jsxs("div",{"data-testid":"resultsWrapper",className:`test--results ${j||f?"test--results--failed":""}`,children:[a&&M?jsxRuntimeExports.jsxs("div",{"data-testid":"fireworks",className:"fireworks",children:[jsxRuntimeExports.jsx("div",{className:"before"}),jsxRuntimeExports.jsx("div",{className:"after"})]}):null,!f&&j?jsxRuntimeExports.jsx("div",{className:"test--results__title",children:jsxRuntimeExports.jsx("span",{children:re("tests.NotFinishedSuccessfully")})}):null,!f&&$||M?jsxRuntimeExports.jsx("div",{className:"test--results__title",children:jsxRuntimeExports.jsx("span",{children:re("tests.finishedSuccessfully")})}):null,f?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:"test--results__title",children:jsxRuntimeExports.jsx("span",{children:u})}),jsxRuntimeExports.jsx("div",{className:"test--results__time",id:"results-time",children:jsxRuntimeExports.jsx("span",{children:re("tests.time",e)})})]}):null,jsxRuntimeExports.jsxs("div",{className:`chart center chart${X}`,children:[jsxRuntimeExports.jsxs("div",{className:"chart-slice",children:[jsxRuntimeExports.jsx("div",{className:"chart-bar",style:j||f?ae:{}}),jsxRuntimeExports.jsx("div",{className:"chart-fill",style:j||f?ae:{}})]}),jsxRuntimeExports.jsxs("span",{className:"chart-value",children:[jsxRuntimeExports.jsxs("div",{className:"test--results__chart",children:[jsxRuntimeExports.jsx("span",{"data-testid":"correctPoints",children:x}),jsxRuntimeExports.jsxs("span",{"data-testid":"totalCorrectAnswers",children:["/",F]})]}),jsxRuntimeExports.jsx("div",{className:"test--results__chart--label",children:jsxRuntimeExports.jsx("span",{children:re("tests.success")})})]})]}),jsxRuntimeExports.jsxs("div",{className:"test--results__minimum",children:[jsxRuntimeExports.jsx("div",{className:"icon-bell"}),jsxRuntimeExports.jsx("div",{children:re("tests.minimumQuestionsMessage",{minimumPercentage:_})})]}),jsxRuntimeExports.jsxs("div",{className:"test--results__buttons",children:[f?null:jsxRuntimeExports.jsx("button",{className:"gat--btn gat--btn__secondary",id:"review-button",onClick:()=>o(),type:"button",children:jsxRuntimeExports.jsx("span",{children:re("tests.review")})}),B?null:jsxRuntimeExports.jsx("button",{className:"gat--btn gat--btn__primary","data-testid":"restartButton",id:"restart-button",onClick:()=>h(),type:"button",children:jsxRuntimeExports.jsx("span",{children:re("tests.restart")})}),B?jsxRuntimeExports.jsx("button",{disabled:R.current===!0,className:`gat--btn gat--btn__primary ${R.current===!0&&"disabled"}`,"data-testid":"finishButton",id:"finish-button",onClick:()=>ee(),type:"button",children:jsxRuntimeExports.jsx("span",{children:re("tests.continue")})}):null]})]})}function TestComponent({test:l,countdown:e={},emitEvent:n,getEvent:t,soundActions:a,audio:o,required:d,pause:h,minimumPercentage:f=100,feedbacksOnlyWhenReview:u}){const{questions:p}=l,[_,R]=React$2.useState({}),[x,S]=React$2.useState(),[g,v]=React$2.useState(0),[b,T]=React$2.useState([]),[y,w]=React$2.useState(e.time),[C,D]=React$2.useState(!1),[N,P]=React$2.useState("test"),[k,F]=React$2.useState(!0),[M,j]=React$2.useState({}),[$,B]=React$2.useState({}),[X,re]=React$2.useState(!1),ae=d||l.required||!1,ee=React$2.useRef({}),[K,ne]=React$2.useState(),[ue,me]=a,J=(ie,le,fe,ce,ge)=>{const Se={...ie,index:fe};if(g>0&&(Se.rewards=Se.rewards.filter(Fe=>!$[ie.id]||Fe.points<0)),_[le]){const Fe=_[le].find(Ne=>Ne.id===ge);if(Fe){if(Fe.id===ie.id){const Ne=_[le].find(st=>st.id===ge),Qe=_[le].indexOf(Ne);if(_[le].splice(Qe,1),_[le].length===0){D(!1);return}}}else _[le].push(Se)}else _[le]=[Se];let Te;ce==="isRadio"?Te={..._,[le]:[Se]}:Te={..._},R(Te),j(Te),B({...$,[ie.id]:{...ie}}),D(!0)};React$2.useEffect(()=>{o!=null&&o.url&&ue(o.url,"tts")},[ue,o]);const H=p.map(ie=>{const le=ie.answers.filter(ce=>ce.isCorrect),fe=[];return le.forEach(ce=>{fe.push(ce.id)}),{question:ie.id,answers:fe}});React$2.useEffect(()=>{b.length===0&&T(H)},[b.length,H]),React$2.useEffect(()=>{if(f){const ie=Math.ceil(p.length*f/100);ne(ie)}},[p.length,f]),React$2.useEffect(()=>{y===0&&(clearInterval(x),D(!1),re(!0),P("results"),me("tts"))},[x,me,y]);const W=()=>{clearInterval(x),D(!1),P("results");const ie={...M};j(ie),me("tts")},V=()=>{const ie={correctQuestions:b.length,result:_,status:"resolved"};Object.keys(_).forEach(fe=>{_[fe].forEach(ce=>{ee.current[ce.id]&&(ce.rewards=[])})}),n({type:"saveTest",payload:ie})},z=()=>{const ie=()=>{j({}),B({}),P("test"),R({}),w(e.time),re(!1),o!=null&&o.url&&ue(o.url,"tts")},le=Object.values(_);le.forEach(ce=>{ce.forEach(ge=>{ge.isCorrect&&(ee.current[ge.id]?ge.rewards=[]:ee.current[ge.id]=!0)})});let fe=le.reduce((ce,ge)=>{const Se=[];return ge.forEach(Te=>{Se.push(Te.rewards)}),[...ce,...Se.flat()]},[]);X&&e.rewards&&(fe=[...fe,...e.rewards]),n({type:"addPoints",payload:fe,complex:!0,finish:!1,onFinish:ie()}),n({type:"failTest"})},Y=(ie,le)=>t({type:"translate",payload:ie,values:le});return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:"test--container__overlay"}),jsxRuntimeExports.jsx("div",{"data-testid":"wrapperTest",className:"test--container",dir:"auto",children:N!=="results"?jsxRuntimeExports.jsx(Container,{result:_,time:y,setTries:v,tries:g,answerPage:D,setTime:w,paused:h,saveInterval:S,disabled:N!=="test",answered:C||N!=="test",questions:p,updateForm:J,showResults:W,translate:Y,soundActions:a,view:N,correctQuestions:b,feedbacksOnlyWhenReview:u}):jsxRuntimeExports.jsx(ResultsComponent,{reviewTest:()=>{F(!1),P("review")},isFirst:k,finishTest:V,time:y,mandatory:ae,restartTest:z,result:_,correctQuestions:b,timeOver:X,timeOverText:e.text,emitEvent:n,getEvent:t,soundActions:a,minimumPercentage:K})})]})}const OPTIONS=["yes","no"],LETTERS=["A","B"];function ApplicableBox({setSurveyData:l,survey:e,id:n,translate:t}){const a=o=>{l({...e,[n]:o})};return jsxRuntimeExports.jsx("div",{className:"survey--page__item",children:OPTIONS.map((o,d)=>jsxRuntimeExports.jsxs("button",{"data-testid":`applicablebox-${OPTIONS[d]}`,type:"button",onClick:()=>a(o),className:`unset-button survey--response__item ${e[n]===o?"selected":""}`,children:[jsxRuntimeExports.jsx("div",{className:"survey--response__index",children:LETTERS[d]}),jsxRuntimeExports.jsx("div",{className:"survey--response__text",children:t(`survey.${o}`)})]},o))})}const OPINION_OPTIONS=[0,1,2,3,4,5,6,7,8,9,10];function OpinionBox({setSurveyData:l,survey:e,id:n,translate:t}){const a=o=>{l({...e,[n]:o})};return jsxRuntimeExports.jsxs("div",{className:"survey--page__item","aria-label":"opinion box",children:[jsxRuntimeExports.jsx("div",{className:"survey--points",children:OPINION_OPTIONS.map(o=>jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>a(o),className:`unset-button survey--points__item survey--points__item--colorized ${e[n]===o?"selected":""}`,children:o},o))}),jsxRuntimeExports.jsxs("div",{className:"survey--points__labels",children:[jsxRuntimeExports.jsx("span",{children:t("survey.bad")}),jsxRuntimeExports.jsx("span",{children:t("survey.excellent")})]})]})}function TextBox({setSurveyData:l,survey:e,id:n,literalLabel:t}){const a=o=>{l({...e,[n]:o})};return jsxRuntimeExports.jsx("div",{className:"survey--page__item",children:jsxRuntimeExports.jsx("textarea",{ref:o=>{o&&o.focus()},className:"survey--textarea",id:t,value:e[n],onChange:o=>a(o.target.value)})})}const INIT_SURVEY={applicable:"",opinion:"",comments:"",suggestions:""},PAGES=[{component:ApplicableBox,id:"applicable"},{component:OpinionBox,id:"opinion"},{component:TextBox,id:"comments"},{component:TextBox,id:"suggestions"}];function SurveyComponent({emitEvent:l,getEvent:e,soundActions:n}){const[t,a]=React$2.useState(INIT_SURVEY),[o,d]=React$2.useState(0),[h,f]=React$2.useState(!1),[u]=n,p=(x,S)=>e({type:"translate",payload:x,values:S}),_=(x=!1)=>{if(u("click-ui"),!x&&o+1>=PAGES.length)f(!0);else{x&&f(!1);const S=x?o-1:o+1;d(S)}},R=PAGES[o].component;return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:"survey--container__overlay"}),jsxRuntimeExports.jsx("div",{className:"survey--container",dir:"auto",children:jsxRuntimeExports.jsxs("div",{className:"survey--questions",children:[jsxRuntimeExports.jsxs("div",{className:"survey--questions__container",children:[jsxRuntimeExports.jsxs("div",{className:"survey--questions__intertitle",children:[jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx("span",{children:p("survey.numQuestion",{init:o+1,page:PAGES.length})})}),jsxRuntimeExports.jsx("div",{children:p("auto-evaluation.allQuestionsMandatory")})]}),jsxRuntimeExports.jsx("label",{className:"survey--questions__item","data-testid":`survey.question${o+1}`,htmlFor:p(`survey.question${o+1}`,{ordinal:o+1}),children:p(`survey.question${o+1}`,{ordinal:o+1})}),jsxRuntimeExports.jsx(R,{setSurveyData:a,id:PAGES[o].id,survey:t,translate:p,literalLabel:p(`survey.question${o+1}`,{ordinal:o+1})})]}),jsxRuntimeExports.jsxs("div",{className:"test--buttons next",children:[jsxRuntimeExports.jsx("button",{"data-testid":"backButton",id:"survey-button-back",type:"button",disabled:o===0,onClick:()=>_(!0),className:`gat--btn__navigation ${o===0?"disabled":""}`,"aria-label":LangIsRtl()?p("survey.next"):p("survey.previous"),children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-next":"icon-back"})}),h&&o===PAGES.length-1?jsxRuntimeExports.jsx("button",{"data-testid":"survey.finish",id:"survey-button",type:"button",disabled:!t[PAGES[o].id],onClick:()=>{u("click-ui"),l({type:"saveSurvey",payload:t})},className:`gat--btn gat--btn__primary ${t[PAGES[o].id]?"":"disabled"} not-transition`,children:p("survey.finish")}):null,!h&&o!==PAGES.length?jsxRuntimeExports.jsx("button",{"data-testid":"nextButton",id:"survey-button",type:"button",disabled:!t[PAGES[o].id],onClick:()=>_(!1),className:`gat--btn__navigation ${t[PAGES[o].id]?"":"disabled"}`,"aria-label":LangIsRtl()?p("survey.previous"):p("survey.next"),children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-back":"icon-next"})}):null]})]})})]})}function EndScreen({onFinish:l,translate:e}){return React$2.useEffect(()=>{let n;return l&&(n=setTimeout(()=>{l()},2e3)),()=>{n&&clearTimeout(n)}},[l]),jsxRuntimeExports.jsx("div",{"data-testid":"endScreen",className:"auto-evaluation__endscreen","aria-label":"auto evaluation endscreen",children:jsxRuntimeExports.jsxs("div",{className:"auto-evaluation__finishband","aria-label":"auto evaluation finishband",children:[jsxRuntimeExports.jsx("span",{className:"icon-check-laptop auto-evaluation__iconendscreen","aria-label":"icon-check",role:"img"}),jsxRuntimeExports.jsx("span",{className:"auto-evaluation__thanks","aria-label":"auto evaluation thanks",role:"contentinfo",children:e("auto-evaluation.thanks")})]})})}function StartScreen({onNext:l,description:e,translate:n}){return jsxRuntimeExports.jsxs("div",{className:"auto-evaluation__startscreen",role:"alertdialog","aria-modal":"true","aria-label":"ae start screen",children:[jsxRuntimeExports.jsx("span",{className:"icon-happy-laptop auto-evaluation__starticon","aria-label":"icon laptop",role:"img"}),jsxRuntimeExports.jsx("div",{className:"auto-evaluation__starttext","aria-label":"desciption",children:jsxRuntimeExports.jsx("span",{children:e})}),jsxRuntimeExports.jsx("button",{"data-testid":"auto-start-button",type:"button",className:"gat--btn gat--btn__primary auto-evaluation__button auto-evaluation__button--start",onClick:l,children:jsxRuntimeExports.jsx("span",{children:n("auto-evaluation.start")})})]})}function AutoEvaluation({description:l,questions:e,type:n,emitEvent:t,getEvent:a,soundActions:o}){var C,D,N;const[d,h]=React$2.useState(null),[f,u]=React$2.useState("start"),[p,_]=React$2.useState(!1),[R,x]=React$2.useState(0),[S,g]=React$2.useState({current:{questions:[],type:n}}),[v]=o,b=P=>a({type:"translate",payload:P}),T=P=>{P.code==="Enter"&&P.target.blur()},y=()=>{v("click-ui"),t({type:"saveSurveyPrePos",payload:S.current})};React$2.useEffect(()=>{!e.length&&f==="questions"&&u("end")},[e,f]);const w=(P,k=!1)=>{var M;const F=P!==null?P:(M=S.current.questions.find(j=>j.id===e[R].id))==null?void 0:M.answer;if(v("click-ui"),k)x(R-1),_(!1);else{const j=S.current.questions.findIndex(B=>B.id===e[R].id),$=[...S.current.questions];j>-1?$.splice(j,1,{id:e[R].id,answer:F}):$.push({id:e[R].id,answer:F}),g({...S,current:{...S.current,questions:$}}),R===e.length-1?_(!0):(x(R+1),_(!1))}};return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:"test--container__overlay","aria-label":"test container overlay"}),jsxRuntimeExports.jsxs("div",{className:"test--container",dir:"auto","aria-label":"test container",children:[f==="start"&&jsxRuntimeExports.jsx(StartScreen,{description:l,onNext:()=>{u("questions"),v("click-ui")},translate:b}),f==="questions"&&jsxRuntimeExports.jsxs("div",{"data-testid":"survey--questions",className:"survey--questions","aria-label":"survey questions",children:[jsxRuntimeExports.jsxs("div",{className:"survey--questions__container","aria-label":"survey questions container",children:[jsxRuntimeExports.jsxs("div",{className:"survey--questions__intertitle",children:[jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsxs("span",{children:[b("auto-evaluation.question")," ",R+1," ",b("storylines.misc.of")," ",e.length]})}),jsxRuntimeExports.jsx("div",{children:b("auto-evaluation.allQuestionsMandatory")})]}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("div",{className:"survey--questions__item","aria-label":"survey questions item",children:(C=e[R])==null?void 0:C.text}),jsxRuntimeExports.jsx("div",{className:"survey--page__item","aria-label":"survey page item",children:jsxRuntimeExports.jsx("div",{className:"survey--points","aria-label":"survey points",children:Array(11).fill(0).map((P,k)=>{var F;return jsxRuntimeExports.jsx("button",{"data-testid":`button-option-${0+k}`,type:"button",onTouchStart:()=>{h(k)},onTouchEnd:()=>{h(null)},onKeyUp:M=>{T(M)},onClick:()=>{w(k,!1)},className:`survey--points__item survey--points__item--simple ${((F=S.current.questions[R])==null?void 0:F.answer)===k||d===k?"selected":""}`,children:k},`${0+k}`)})})})]},`${e[R]}`)]}),jsxRuntimeExports.jsxs("div",{className:"test--buttons next","aria-label":"test buttons",children:[jsxRuntimeExports.jsx("button",{"data-testid":"back-button",type:"button",disabled:R===0,onClick:()=>w(null,!0),"aria-label":LangIsRtl()?b("survey.next"):b("survey.previous"),className:`gat--btn__navigation ${R===0?"disabled":""}`,children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-next":"icon-back","aria-label":"icon button"})}),p?jsxRuntimeExports.jsx("button",{"data-testid":"finish-button",type:"button",onClick:()=>{u("end"),v("click-ui")},className:`gat--btn gat--btn__primary auto-evaluation__button not-transition
|
|
253
253
|
`,children:jsxRuntimeExports.jsx("span",{children:b("auto-evaluation.end")})}):jsxRuntimeExports.jsx("button",{"data-testid":"forward-button",type:"button",onClick:()=>w(null,!1),disabled:((D=S.current.questions[R])==null?void 0:D.answer)===void 0,"aria-label":LangIsRtl()?b("survey.previous"):b("survey.next"),className:`gat--btn__navigation ${((N=S.current.questions[R])==null?void 0:N.answer)===void 0?"disabled":""}`,children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-back":"icon-next"})})]})]}),f==="end"&&jsxRuntimeExports.jsx(EndScreen,{onFinish:y,translate:b})]})]})}function PatternComponent({img:l,name:e,viewed:n,emitEvent:t,getEvent:a,soundActions:o,keyboardControl:d}){const[h]=o,f=R=>a({type:"translate",payload:R}),u=()=>{h("click-ui"),t({type:"savePattern",payload:{imgId:l.resourceId,name:e,viewed:!0,url:_,type:"pattern"}})},p=d({disabled:n,forward:u,escape:u});if(React$2.useEffect(()=>p(),[p]),!l)return null;const _=l.url;return jsxRuntimeExports.jsx("div",{className:n?"notes--results":"readings--container pattern-wrap--overlay",children:jsxRuntimeExports.jsx("div",{className:n?"notes--results__text":"pattern-wrap",children:n?jsxRuntimeExports.jsx("div",{children:_&&jsxRuntimeExports.jsx("img",{src:_,alt:"pattern"})}):jsxRuntimeExports.jsxs("div",{className:"pattern",children:[jsxRuntimeExports.jsxs("div",{className:"pattern__header",children:[jsxRuntimeExports.jsx("div",{className:"pattern__title",children:f("phone.pattern")}),jsxRuntimeExports.jsx("button",{type:"button","aria-label":f("storylines.misc.closePiece"),className:"pattern__close gat--btn__round gat--btn__close",onClick:()=>u(),children:jsxRuntimeExports.jsx("span",{className:"icon-close"})})]}),jsxRuntimeExports.jsx("figure",{className:"pattern__figure",children:_&&jsxRuntimeExports.jsx("img",{src:_,alt:"pattern"})})]})})})}const getRecursiveJSX=(l,e=0,n,t,a)=>{var o,d;if((o=l.props)!=null&&o.children){const h=l.type,{children:f,...u}=l.props;if(l.props["data-text-id"]){if(u.dir="auto",u.onClick=p=>t(p,u["data-text-id"]||-1),n!=null&&n.hasHighlights){const p=[...n.correctTexts,...n.wrongTexts];for(let _=0;_<p.length;_+=1)u["data-text-id"]===p[_].id&&(u.className="text-click__hover-correct")}}else n!=null&&n.allWrong&&!l.props["data-text-id"]&&(u.onClick=p=>t(p,"allWrong"));return Array.isArray(f)?jsxRuntimeExports.jsx(h,{...u,children:f.map((p,_)=>getRecursiveJSX(p,_,n,t))},`${l.type}_${e}`):jsxRuntimeExports.jsx(h,{...u,children:getRecursiveJSX(f,e,n,t)},`${l.type}_${e}`)}return((d=l.props)==null?void 0:d.children)!==null?l.split(" ").filter(h=>h!=="").map(h=>jsxRuntimeExports.jsx("span",{dir:"auto",children:h},h)):null};function TextClickPuzzleComponent({emitEvent:l,getEvent:e,showFrames:n,styles:t,list:a,soundActions:o,description:d,setInfo:h,setResolveAction:f,keyboardControl:u,backgroundImage:p,hideBackgroundImageTheme:_=!1,nodeId:R}){const x=`textclick-puzzle_${R}`,[S,g]=React$2.useState({result:null,show:!1,text:"",timeout:!1}),[v]=o,[b,T]=React$2.useState(0),[y,w]=React$2.useState(0),[C,D]=React$2.useState(0),N=React$2.useRef(0),P=React$2.useRef([]),[k,F]=React$2.useState(0),[M,j]=React$2.useState(),$=React$2.useCallback(z=>e({type:"translate",payload:z}),[e]),B=React$2.useRef(null),X=React$2.useCallback(()=>N.current===a[b].correctTexts.length||a[b].hasClickOnce&&N.current>=1,[b,a]),re=React$2.useCallback((z,Y)=>{z&&l({type:"hidePuzzleButtons",payload:!0}),g(ie=>({...ie,show:z,...Y}))},[l]),ae=React$2.useCallback(()=>{if(X())if(g(z=>({...z,result:!1})),N.current=0,C===y){const z=P.current.reduce((Y,ie)=>{const le=Y.findIndex(fe=>fe.id===ie.id);return le>=0?Y[le].points+=ie.points:Y.push({...ie}),Y},[]);l({type:"addPoints",complex:!0,finish:!0,payload:z}),l({type:"passPuzzle"})}else B.current=null,T(b+1),F(0),j(!0),setTimeout(()=>{j(!1)},1200)},[X,C,y,l,b]),ee=React$2.useCallback(()=>{l({type:"hidePuzzleButtons",payload:!1}),ae(),g(Y=>({...Y,show:!1,text:""}));const z=document.querySelectorAll(".text-click__failed");z.length>0&&z.forEach(Y=>Y.classList.remove("text-click__failed"))},[l,ae]),K=React$2.useCallback((z,Y)=>{var ie,le;z.forEach(fe=>fe.classList.add("text-click__success")),D(C+1),N.current+=1,v("score"),(ie=a[b].info.solution.right)!=null&&ie.desc?X()&&(P.current=[...P.current,...a[b].info.solution.right.rewards],re(!0,{result:!0,text:a[b].info.solution.right.desc,timeout:!1})):a[b].info.solution.right.desc===""&&(Y!=null&&Y.desc)?(P.current=((le=Y==null?void 0:Y.rewards)==null?void 0:le.length)>0?[...P.current,...(Y==null?void 0:Y.rewards)||{}]:[...P.current],re(!0,{result:!0,text:Y.desc,timeout:!1})):a[b].specificFeedbacks.specificCorrectFeedbacks?(P.current=[...P.current,...(Y==null?void 0:Y.rewards)||{}],X()&&re(!0,{result:!0,timeout:!0})):X()&&(P.current=[...P.current,...a[b].info.solution.right.rewards],re(!0,{result:!0,timeout:!0}))},[C,v,a,b,X,re]),ne=React$2.useCallback((z,Y)=>{var ie;z.forEach(le=>le.classList.add("text-click__failed")),v("fail"),l({type:"failPuzzle"}),a[b].info.solution.wrong.desc!==""?(P.current=[...P.current,...a[b].info.solution.wrong.rewards],re(!0,{result:!1,text:a[b].info.solution.wrong.desc,timeout:!1})):a[b].info.solution.wrong.desc===""&&(Y!=null&&Y.desc)?(P.current=(ie=Y==null?void 0:Y.rewards)!=null&&ie.length?[...P.current,...(Y==null?void 0:Y.rewards)||{}]:[...P.current],re(!0,{result:!1,text:Y.desc,timeout:!1})):a[b].specificFeedbacks.specificWrongFeedbacks?(P.current=[...P.current,...(Y==null?void 0:Y.rewards)||{}],re(!0,{result:!1,timeout:!0})):(P.current=[...P.current,...a[b].info.solution.wrong.rewards],re(!0,{result:!1,timeout:!0}))},[v,l,a,b,re]),ue=React$2.useCallback((z,Y)=>{var Te,Fe,Ne,Qe;z.stopPropagation();const ie=document.querySelectorAll(`[data-text-id="${Y}"]`),le=document.querySelectorAll("[data-text-id]"),fe=a[b].correctTexts.find(st=>st.id===Y),ce=a[b].wrongTexts.find(st=>st.id===Y),ge=(Fe=(Te=a[b])==null?void 0:Te.specificFeedbacks)==null?void 0:Fe.correctFeedbacks.find(st=>st.id===Y),Se=(Qe=(Ne=a[b])==null?void 0:Ne.specificFeedbacks)==null?void 0:Qe.wrongFeedbacks.find(st=>st.id===Y);v("click-ui"),a[b].hasClickOrder?a[b].correctTexts[k].id===Y?(F(k+1),K(ie,ge)):a[b].correctTexts.find(st=>st.id===Y)&&a[b].correctTexts[k].id!==Y?(le.forEach(st=>st.classList.remove("text-click__success")),F(0),D(0),N.current=0,re(!0,{result:!1,text:a[b].info.orderFeedback.desc||$("puzzles.incorrectOrder"),timeout:!1}),T(0)):ne(ie,Se):(fe==null?void 0:fe.id)===Y?K(ie,ge):((ce==null?void 0:ce.id)===Y||Y==="allWrong")&&ne(ie,Se)},[a,b,v,k,K,re,$,ne]),me=React$2.useCallback(z=>getRecursiveJSX(z,0,a[b],ue),[b,a,ue]),J=React$2.useCallback(()=>{let z=0;for(let Y=0;Y<a.length;Y+=1)if(a[Y].hasClickOnce)z+=1,w(z);else for(let ie=0;ie<a[Y].correctTexts.length;ie+=1)z+=1,w(z)},[a]);React$2.useEffect(()=>{var z;if(a!=null&&a[b]&&h({...a[b].info,description:d}),(z=a[b])!=null&&z.text){const Y=HTMLReactParser$1(a[b].text);B.current=me(Y),J()}else B.current=""},[b,d,J,a,me,h]);const H=()=>{for(let z=0;z<P.current.length;z=z+1)if(P.current[z].points>0)return!0;return!1};React$2.useEffect(()=>{f(()=>{l({type:"hidePuzzleButtons",payload:!0});const z=document.querySelectorAll(".text-click [data-text-id]"),Y=a[b].correctTexts.map(le=>le.id);z.forEach(le=>{Y.includes(le.getAttribute("data-text-id"))&&le.classList.add("text-click__success")});const ie=a[b].info.resolve.rewards;b+1<a.length?(setTimeout(()=>{l({type:"puzzleAction",action:"addPoints",payload:{element:x,rewards:ie,finish:!1,payload:ie}});let le=0;a.forEach((fe,ce)=>{ce<=b&&(le+=fe.correctTexts.length)}),D(le),B.current=null,N.current=0,j(!0),T(b+1)},2e3),setTimeout(()=>{j(!1),l({type:"hidePuzzleButtons",payload:!1})},3200)):b+1>=a.length&&H()?setTimeout(()=>{ie.forEach(le=>{P.current.forEach(fe=>{fe.id===le.id&&(le.points=le.points+fe.points)})}),l({type:"puzzleAction",action:"resolve",payload:{element:x,rewards:ie,finish:!0}})},2e3):setTimeout(()=>{l({type:"puzzleAction",action:"resolve",payload:{element:x,rewards:ie,finish:b+1>=a.length}})},2e3)})},[f,l,a,b,x]);const W=React$2.useMemo(()=>{let z=`text-click text-click--${t}`;return _&&(z+=" disable-background-image"),z},[_,t]),V={pointerEvents:S.show?"none":null,backgroundImage:p!=null&&p.url?`url('${p.url}')`:""};return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("div",{"data-testid":"wrapperDiv",className:W,style:V,children:[jsxRuntimeExports.jsx("div",{className:"text-click__overlay",children:jsxRuntimeExports.jsx("div",{className:`text-click__container ${M?"slideInLeft":""} `,children:jsxRuntimeExports.jsx("div",{className:"text-click__body",children:jsxRuntimeExports.jsx("div",{className:"text-click__scroll",dir:LangIsRtl()?"rtl":"auto",children:B.current})})})}),n&&jsxRuntimeExports.jsxs("div",{className:"text-click__paginator",children:[jsxRuntimeExports.jsx("div",{className:"text-click__icon-check-circle-black",children:jsxRuntimeExports.jsx("span",{className:"icon-check-circle-black"})}),jsxRuntimeExports.jsxs("span",{"data-testid":"slideCounter",className:"text-click__slide",children:[C," / ",y]})]})]}),S.show&&jsxRuntimeExports.jsx(FeedbackComponent$1,{playSound:v,success:S.result,text:S.text,translate:$,functionOnClose:ee,hasTimeout:S.timeout,keyboardControl:u})]})}function _assertThisInitialized(l){if(l===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return l}function _inheritsLoose(l,e){l.prototype=Object.create(e.prototype),l.prototype.constructor=l,l.__proto__=e}/*!
|
|
254
254
|
* GSAP 3.12.4
|
|
255
255
|
* https://gsap.com
|