{"version":3,"sources":["webpack:///./node_modules/howler/dist/howler.js","webpack:///./src/views/pages/CompanyOrderManagement.vue?3a68","webpack:///src/views/pages/CompanyOrderManagement.vue","webpack:///./src/views/pages/CompanyOrderManagement.vue?9b25","webpack:///./src/views/pages/CompanyOrderManagement.vue"],"names":["HowlerGlobal","this","init","prototype","self","Howler","_counter","_html5AudioPool","html5PoolSize","_codecs","_howls","_muted","_volume","_canPlayEvent","_navigator","window","navigator","masterGain","noAudio","usingWebAudio","autoSuspend","ctx","autoUnlock","_setup","volume","vol","parseFloat","setupAudioContext","gain","setValueAtTime","currentTime","i","length","_webAudio","ids","_getSoundIds","j","sound","_soundById","_node","mute","muted","unload","close","codecs","ext","replace","state","_autoSuspend","Audio","test","oncanplaythrough","e","_setupCodecs","audioTest","err","canPlayType","mpegTest","checkOpera","userAgent","match","isOldOpera","parseInt","split","mp3","mpeg","opus","ogg","oga","wav","aac","caf","m4a","mp4","weba","webm","dolby","flac","_unlockAudio","_audioUnlocked","_mobileUnloaded","sampleRate","_scratchBuffer","createBuffer","unlock","audioNode","_unlocked","_releaseHtml5Audio","load","_autoResume","source","createBufferSource","buffer","connect","destination","start","noteOn","resume","onended","disconnect","document","removeEventListener","_emit","addEventListener","_obtainHtml5Audio","pop","testPlay","play","Promise","then","catch","console","warn","audio","push","suspend","_sounds","_paused","_suspendTimer","clearTimeout","setTimeout","_resumeAfterSuspend","Howl","o","src","error","_autoplay","autoplay","_format","format","_html5","html5","_loop","loop","_pool","pool","_preload","preload","_rate","rate","_sprite","sprite","_src","undefined","_xhrWithCredentials","xhrWithCredentials","_duration","_state","_endTimers","_queue","_playLock","_onend","onend","fn","_onfade","onfade","_onload","onload","_onloaderror","onloaderror","_onplayerror","onplayerror","_onpause","onpause","_onplay","onplay","_onstop","onstop","_onmute","onmute","_onvolume","onvolume","_onrate","onrate","_onseek","onseek","_onunlock","onunlock","_onresume","event","action","url","str","exec","toLowerCase","location","protocol","slice","Sound","loadBuffer","internal","id","num","_ended","_id","_inactiveSound","soundId","_loadQueue","seek","Math","max","_seek","duration","timeout","abs","stop","setParams","_start","_stop","node","playWebAudio","_refreshBuffer","_playStart","bufferSource","noteGrainOn","Infinity","bind","once","_clearTimer","playHtml5","playbackRate","paused","loadedNoReadyState","ejecta","readyState","isCocoonJS","listener","pause","_rateSeek","_stopFade","noteOff","_cleanBuffer","isNaN","arguments","_clearSound","_interval","args","index","indexOf","apply","fade","from","to","len","end","linearRampToValueAtTime","_startFadeInterval","isGroup","diff","steps","stepLen","lastTick","Date","now","_fadeTo","setInterval","tick","min","round","clearInterval","cancelScheduledValues","loopStart","loopEnd","playing","realTime","rateSeek","seekAndEmit","emitSeek","sounds","_errorFn","_loadFn","splice","remCache","cache","on","events","off","isId","keys","Object","Array","isArray","msg","call","task","shift","ended","_drain","reset","limit","cnt","_panner","isIOS","vendor","checkIE","howl","_parent","parent","create","createGain","createGainNode","_errorListener","_loadListener","code","ceil","__default","loadSound","data","atob","dataView","Uint8Array","charCodeAt","decodeAudioData","xhr","XMLHttpRequest","open","withCredentials","responseType","status","response","onerror","safeXhrSend","send","arraybuffer","success","AudioContext","webkitAudioContext","iOS","platform","appVersion","version","safari","standalone","exports","global","_pos","_orientation","stereo","pan","pos","x","y","z","positionX","setTargetAtTime","positionY","positionZ","setPosition","orientation","xUp","yUp","zUp","or","forwardX","forwardY","forwardZ","upX","upY","upZ","setOrientation","_super","_stereo","_pannerAttr","coneInnerAngle","coneOuterAngle","coneOuterGain","distanceModel","maxDistance","panningModel","refDistance","rolloffFactor","_onstereo","onstereo","_onpos","onpos","_onorientation","onorientation","pannerType","createStereoPanner","setupPanner","orientationX","orientationY","orientationZ","pannerAttr","_coneInnerAngle","_coneOuterAngle","_coneOuterGain","_distanceModel","_maxDistance","_refDistance","_rolloffFactor","_panningModel","pa","panner","type","createPanner","render","_vm","_h","$createElement","_c","_self","staticClass","model","value","callback","$$v","showAllOrders","expression","_v","staticStyle","slot","attrs","$event","setWaitTime","averageWaitTime","_l","order","key","moment","order_time","takeOrder","_e","finishOrder","openCancelOrderPrompt","_s","name","phone_number","address","payment_type","food_price","toFixed","shipping_price","total_price","item","food_name","additional_comment","quantity","price","additions","addition","charAt","substring","activeCancelOrderPrompt","cancelOrder","staticRenderFns","component"],"mappings":"sGAAA;;;;;;;;;IAUA,WAEE,aASA,IAAIA,EAAe,WACjBC,KAAKC,QAEPF,EAAaG,UAAY,CAKvBD,KAAM,WACJ,IAAIE,EAAOH,MAAQI,EA8BnB,OA3BAD,EAAKE,SAAW,IAGhBF,EAAKG,gBAAkB,GACvBH,EAAKI,cAAgB,GAGrBJ,EAAKK,QAAU,GACfL,EAAKM,OAAS,GACdN,EAAKO,QAAS,EACdP,EAAKQ,QAAU,EACfR,EAAKS,cAAgB,iBACrBT,EAAKU,WAAgC,qBAAXC,QAA0BA,OAAOC,UAAaD,OAAOC,UAAY,KAG3FZ,EAAKa,WAAa,KAClBb,EAAKc,SAAU,EACfd,EAAKe,eAAgB,EACrBf,EAAKgB,aAAc,EACnBhB,EAAKiB,IAAM,KAGXjB,EAAKkB,YAAa,EAGlBlB,EAAKmB,SAEEnB,GAQToB,OAAQ,SAASC,GACf,IAAIrB,EAAOH,MAAQI,EAQnB,GAPAoB,EAAMC,WAAWD,GAGZrB,EAAKiB,KACRM,IAGiB,qBAARF,GAAuBA,GAAO,GAAKA,GAAO,EAAG,CAItD,GAHArB,EAAKQ,QAAUa,EAGXrB,EAAKO,OACP,OAAOP,EAILA,EAAKe,eACPf,EAAKa,WAAWW,KAAKC,eAAeJ,EAAKpB,EAAOgB,IAAIS,aAItD,IAAK,IAAIC,EAAE,EAAGA,EAAE3B,EAAKM,OAAOsB,OAAQD,IAClC,IAAK3B,EAAKM,OAAOqB,GAAGE,UAKlB,IAHA,IAAIC,EAAM9B,EAAKM,OAAOqB,GAAGI,eAGhBC,EAAE,EAAGA,EAAEF,EAAIF,OAAQI,IAAK,CAC/B,IAAIC,EAAQjC,EAAKM,OAAOqB,GAAGO,WAAWJ,EAAIE,IAEtCC,GAASA,EAAME,QACjBF,EAAME,MAAMf,OAASa,EAAMzB,QAAUa,GAM7C,OAAOrB,EAGT,OAAOA,EAAKQ,SAOd4B,KAAM,SAASC,GACb,IAAIrC,EAAOH,MAAQI,EAGdD,EAAKiB,KACRM,IAGFvB,EAAKO,OAAS8B,EAGVrC,EAAKe,eACPf,EAAKa,WAAWW,KAAKC,eAAeY,EAAQ,EAAIrC,EAAKQ,QAASP,EAAOgB,IAAIS,aAI3E,IAAK,IAAIC,EAAE,EAAGA,EAAE3B,EAAKM,OAAOsB,OAAQD,IAClC,IAAK3B,EAAKM,OAAOqB,GAAGE,UAKlB,IAHA,IAAIC,EAAM9B,EAAKM,OAAOqB,GAAGI,eAGhBC,EAAE,EAAGA,EAAEF,EAAIF,OAAQI,IAAK,CAC/B,IAAIC,EAAQjC,EAAKM,OAAOqB,GAAGO,WAAWJ,EAAIE,IAEtCC,GAASA,EAAME,QACjBF,EAAME,MAAME,QAAQ,GAAiBJ,EAAM1B,QAMnD,OAAOP,GAOTsC,OAAQ,WAGN,IAFA,IAAItC,EAAOH,MAAQI,EAEV0B,EAAE3B,EAAKM,OAAOsB,OAAO,EAAGD,GAAG,EAAGA,IACrC3B,EAAKM,OAAOqB,GAAGW,SAUjB,OANItC,EAAKe,eAAiBf,EAAKiB,KAAiC,qBAAnBjB,EAAKiB,IAAIsB,QACpDvC,EAAKiB,IAAIsB,QACTvC,EAAKiB,IAAM,KACXM,KAGKvB,GAQTwC,OAAQ,SAASC,GACf,OAAQ5C,MAAQI,GAAQI,QAAQoC,EAAIC,QAAQ,MAAO,MAOrDvB,OAAQ,WACN,IAAInB,EAAOH,MAAQI,EASnB,GANAD,EAAK2C,MAAQ3C,EAAKiB,KAAMjB,EAAKiB,IAAI0B,OAAuB,YAGxD3C,EAAK4C,gBAGA5C,EAAKe,cAER,GAAqB,qBAAV8B,MACT,IACE,IAAIC,EAAO,IAAID,MAGsB,qBAA1BC,EAAKC,mBACd/C,EAAKS,cAAgB,WAEvB,MAAMuC,GACNhD,EAAKc,SAAU,OAGjBd,EAAKc,SAAU,EAKnB,IACMgC,EAAO,IAAID,MACXC,EAAKT,QACPrC,EAAKc,SAAU,GAEjB,MAAOkC,IAOT,OAJKhD,EAAKc,SACRd,EAAKiD,eAGAjD,GAOTiD,aAAc,WACZ,IAAIjD,EAAOH,MAAQI,EACfiD,EAAY,KAGhB,IACEA,EAA8B,qBAAVL,MAAyB,IAAIA,MAAU,KAC3D,MAAOM,GACP,OAAOnD,EAGT,IAAKkD,GAA8C,oBAA1BA,EAAUE,YACjC,OAAOpD,EAGT,IAAIqD,EAAWH,EAAUE,YAAY,eAAeV,QAAQ,OAAQ,IAGhEY,EAAatD,EAAKU,YAAcV,EAAKU,WAAW6C,UAAUC,MAAM,kBAChEC,EAAcH,GAAcI,SAASJ,EAAW,GAAGK,MAAM,KAAK,GAAI,IAAM,GAmB5E,OAjBA3D,EAAKK,QAAU,CACbuD,MAASH,IAAeJ,IAAYH,EAAUE,YAAY,cAAcV,QAAQ,OAAQ,KACxFmB,OAAQR,EACRS,OAAQZ,EAAUE,YAAY,4BAA4BV,QAAQ,OAAQ,IAC1EqB,MAAOb,EAAUE,YAAY,8BAA8BV,QAAQ,OAAQ,IAC3EsB,MAAOd,EAAUE,YAAY,8BAA8BV,QAAQ,OAAQ,IAC3EuB,MAAOf,EAAUE,YAAY,yBAAyBV,QAAQ,OAAQ,IACtEwB,MAAOhB,EAAUE,YAAY,cAAcV,QAAQ,OAAQ,IAC3DyB,MAAOjB,EAAUE,YAAY,gBAAgBV,QAAQ,OAAQ,IAC7D0B,OAAQlB,EAAUE,YAAY,iBAAmBF,EAAUE,YAAY,eAAiBF,EAAUE,YAAY,eAAeV,QAAQ,OAAQ,IAC7I2B,OAAQnB,EAAUE,YAAY,iBAAmBF,EAAUE,YAAY,eAAiBF,EAAUE,YAAY,eAAeV,QAAQ,OAAQ,IAC7I4B,OAAQpB,EAAUE,YAAY,+BAA+BV,QAAQ,OAAQ,IAC7E6B,OAAQrB,EAAUE,YAAY,+BAA+BV,QAAQ,OAAQ,IAC7E8B,QAAStB,EAAUE,YAAY,4BAA4BV,QAAQ,OAAQ,IAC3E+B,QAASvB,EAAUE,YAAY,kBAAoBF,EAAUE,YAAY,gBAAgBV,QAAQ,OAAQ,KAGpG1C,GAST0E,aAAc,WACZ,IAAI1E,EAAOH,MAAQI,EAGnB,IAAID,EAAK2E,gBAAmB3E,EAAKiB,IAAjC,CAIAjB,EAAK2E,gBAAiB,EACtB3E,EAAKkB,YAAa,EAKblB,EAAK4E,iBAA2C,QAAxB5E,EAAKiB,IAAI4D,aACpC7E,EAAK4E,iBAAkB,EACvB5E,EAAKsC,UAKPtC,EAAK8E,eAAiB9E,EAAKiB,IAAI8D,aAAa,EAAG,EAAG,OAKlD,IAAIC,EAAS,SAAShC,GAOpB,IAAK,IAAIrB,EAAE,EAAGA,EAAE3B,EAAKI,cAAeuB,IAClC,IACE,IAAIsD,EAAY,IAAIpC,MAIpBoC,EAAUC,WAAY,EAGtBlF,EAAKmF,mBAAmBF,GACxB,MAAOjC,GACPhD,EAAKc,SAAU,EAKnB,IAASa,EAAE,EAAGA,EAAE3B,EAAKM,OAAOsB,OAAQD,IAClC,IAAK3B,EAAKM,OAAOqB,GAAGE,UAKlB,IAHA,IAAIC,EAAM9B,EAAKM,OAAOqB,GAAGI,eAGhBC,EAAE,EAAGA,EAAEF,EAAIF,OAAQI,IAAK,CAC/B,IAAIC,EAAQjC,EAAKM,OAAOqB,GAAGO,WAAWJ,EAAIE,IAEtCC,GAASA,EAAME,QAAUF,EAAME,MAAM+C,YACvCjD,EAAME,MAAM+C,WAAY,EACxBjD,EAAME,MAAMiD,QAOpBpF,EAAKqF,cAGL,IAAIC,EAAStF,EAAKiB,IAAIsE,qBACtBD,EAAOE,OAASxF,EAAK8E,eACrBQ,EAAOG,QAAQzF,EAAKiB,IAAIyE,aAGI,qBAAjBJ,EAAOK,MAChBL,EAAOM,OAAO,GAEdN,EAAOK,MAAM,GAIgB,oBAApB3F,EAAKiB,IAAI4E,QAClB7F,EAAKiB,IAAI4E,SAIXP,EAAOQ,QAAU,WACfR,EAAOS,WAAW,GAGlB/F,EAAK2E,gBAAiB,EAGtBqB,SAASC,oBAAoB,aAAcjB,GAAQ,GACnDgB,SAASC,oBAAoB,WAAYjB,GAAQ,GACjDgB,SAASC,oBAAoB,QAASjB,GAAQ,GAG9C,IAAK,IAAIrD,EAAE,EAAGA,EAAE3B,EAAKM,OAAOsB,OAAQD,IAClC3B,EAAKM,OAAOqB,GAAGuE,MAAM,YAU3B,OAJAF,SAASG,iBAAiB,aAAcnB,GAAQ,GAChDgB,SAASG,iBAAiB,WAAYnB,GAAQ,GAC9CgB,SAASG,iBAAiB,QAASnB,GAAQ,GAEpChF,IAQToG,kBAAmB,WACjB,IAAIpG,EAAOH,MAAQI,EAGnB,GAAID,EAAKG,gBAAgByB,OACvB,OAAO5B,EAAKG,gBAAgBkG,MAI9B,IAAIC,GAAW,IAAIzD,OAAQ0D,OAO3B,OANID,GAA+B,qBAAZE,UAA4BF,aAAoBE,SAAoC,oBAAlBF,EAASG,OAChGH,EAASI,OAAM,WACbC,QAAQC,KAAK,6EAIV,IAAI/D,OAObsC,mBAAoB,SAAS0B,GAC3B,IAAI7G,EAAOH,MAAQI,EAOnB,OAJI4G,EAAM3B,WACRlF,EAAKG,gBAAgB2G,KAAKD,GAGrB7G,GAQT4C,aAAc,WACZ,IAAI5C,EAAOH,KAEX,GAAKG,EAAKgB,aAAgBhB,EAAKiB,KAAmC,qBAArBjB,EAAKiB,IAAI8F,SAA4B9G,EAAOc,cAAzF,CAKA,IAAK,IAAIY,EAAE,EAAGA,EAAE3B,EAAKM,OAAOsB,OAAQD,IAClC,GAAI3B,EAAKM,OAAOqB,GAAGE,UACjB,IAAK,IAAIG,EAAE,EAAGA,EAAEhC,EAAKM,OAAOqB,GAAGqF,QAAQpF,OAAQI,IAC7C,IAAKhC,EAAKM,OAAOqB,GAAGqF,QAAQhF,GAAGiF,QAC7B,OAAOjH,EA4Bf,OAtBIA,EAAKkH,eACPC,aAAanH,EAAKkH,eAIpBlH,EAAKkH,cAAgBE,YAAW,WACzBpH,EAAKgB,cAIVhB,EAAKkH,cAAgB,KACrBlH,EAAK2C,MAAQ,aACb3C,EAAKiB,IAAI8F,UAAUN,MAAK,WACtBzG,EAAK2C,MAAQ,YAET3C,EAAKqH,6BACArH,EAAKqH,oBACZrH,EAAKqF,qBAGR,KAEIrF,IAOTqF,YAAa,WACX,IAAIrF,EAAOH,KAEX,GAAKG,EAAKiB,KAAkC,qBAApBjB,EAAKiB,IAAI4E,QAA2B5F,EAAOc,cAyBnE,MArBmB,YAAff,EAAK2C,OAAuB3C,EAAKkH,eACnCC,aAAanH,EAAKkH,eAClBlH,EAAKkH,cAAgB,MACG,cAAflH,EAAK2C,OACd3C,EAAKiB,IAAI4E,SAASY,MAAK,WACrBzG,EAAK2C,MAAQ,UAGb,IAAK,IAAIhB,EAAE,EAAGA,EAAE3B,EAAKM,OAAOsB,OAAQD,IAClC3B,EAAKM,OAAOqB,GAAGuE,MAAM,aAIrBlG,EAAKkH,gBACPC,aAAanH,EAAKkH,eAClBlH,EAAKkH,cAAgB,OAEC,eAAflH,EAAK2C,QACd3C,EAAKqH,qBAAsB,GAGtBrH,IAKX,IAAIC,EAAS,IAAIL,EASb0H,EAAO,SAASC,GAClB,IAAIvH,EAAOH,KAGN0H,EAAEC,KAAwB,IAAjBD,EAAEC,IAAI5F,OAKpB5B,EAAKF,KAAKyH,GAJRZ,QAAQc,MAAM,+DAMlBH,EAAKvH,UAAY,CAMfD,KAAM,SAASyH,GACb,IAAIvH,EAAOH,KAuEX,OApEKI,EAAOgB,KACVM,IAIFvB,EAAK0H,UAAYH,EAAEI,WAAY,EAC/B3H,EAAK4H,QAA+B,kBAAbL,EAAEM,OAAuBN,EAAEM,OAAS,CAACN,EAAEM,QAC9D7H,EAAK8H,OAASP,EAAEQ,QAAS,EACzB/H,EAAKO,OAASgH,EAAEnF,OAAQ,EACxBpC,EAAKgI,MAAQT,EAAEU,OAAQ,EACvBjI,EAAKkI,MAAQX,EAAEY,MAAQ,EACvBnI,EAAKoI,SAAiC,mBAAdb,EAAEc,SAAyBd,EAAEc,QACrDrI,EAAKsI,MAAQf,EAAEgB,MAAQ,EACvBvI,EAAKwI,QAAUjB,EAAEkB,QAAU,GAC3BzI,EAAK0I,KAAyB,kBAAVnB,EAAEC,IAAoBD,EAAEC,IAAM,CAACD,EAAEC,KACrDxH,EAAKQ,aAAuBmI,IAAbpB,EAAEnG,OAAuBmG,EAAEnG,OAAS,EACnDpB,EAAK4I,oBAAsBrB,EAAEsB,qBAAsB,EAGnD7I,EAAK8I,UAAY,EACjB9I,EAAK+I,OAAS,WACd/I,EAAKgH,QAAU,GACfhH,EAAKgJ,WAAa,GAClBhJ,EAAKiJ,OAAS,GACdjJ,EAAKkJ,WAAY,EAGjBlJ,EAAKmJ,OAAS5B,EAAE6B,MAAQ,CAAC,CAACC,GAAI9B,EAAE6B,QAAU,GAC1CpJ,EAAKsJ,QAAU/B,EAAEgC,OAAS,CAAC,CAACF,GAAI9B,EAAEgC,SAAW,GAC7CvJ,EAAKwJ,QAAUjC,EAAEkC,OAAS,CAAC,CAACJ,GAAI9B,EAAEkC,SAAW,GAC7CzJ,EAAK0J,aAAenC,EAAEoC,YAAc,CAAC,CAACN,GAAI9B,EAAEoC,cAAgB,GAC5D3J,EAAK4J,aAAerC,EAAEsC,YAAc,CAAC,CAACR,GAAI9B,EAAEsC,cAAgB,GAC5D7J,EAAK8J,SAAWvC,EAAEwC,QAAU,CAAC,CAACV,GAAI9B,EAAEwC,UAAY,GAChD/J,EAAKgK,QAAUzC,EAAE0C,OAAS,CAAC,CAACZ,GAAI9B,EAAE0C,SAAW,GAC7CjK,EAAKkK,QAAU3C,EAAE4C,OAAS,CAAC,CAACd,GAAI9B,EAAE4C,SAAW,GAC7CnK,EAAKoK,QAAU7C,EAAE8C,OAAS,CAAC,CAAChB,GAAI9B,EAAE8C,SAAW,GAC7CrK,EAAKsK,UAAY/C,EAAEgD,SAAW,CAAC,CAAClB,GAAI9B,EAAEgD,WAAa,GACnDvK,EAAKwK,QAAUjD,EAAEkD,OAAS,CAAC,CAACpB,GAAI9B,EAAEkD,SAAW,GAC7CzK,EAAK0K,QAAUnD,EAAEoD,OAAS,CAAC,CAACtB,GAAI9B,EAAEoD,SAAW,GAC7C3K,EAAK4K,UAAYrD,EAAEsD,SAAW,CAAC,CAACxB,GAAI9B,EAAEsD,WAAa,GACnD7K,EAAK8K,UAAY,GAGjB9K,EAAK6B,UAAY5B,EAAOc,gBAAkBf,EAAK8H,OAGrB,qBAAf7H,EAAOgB,KAAuBhB,EAAOgB,KAAOhB,EAAOiB,YAC5DjB,EAAOyE,eAITzE,EAAOK,OAAOwG,KAAK9G,GAGfA,EAAK0H,WACP1H,EAAKiJ,OAAOnC,KAAK,CACfiE,MAAO,OACPC,OAAQ,WACNhL,EAAKuG,UAMPvG,EAAKoI,UACPpI,EAAKoF,OAGApF,GAOToF,KAAM,WACJ,IAAIpF,EAAOH,KACPoL,EAAM,KAGV,GAAIhL,EAAOa,QACTd,EAAKkG,MAAM,YAAa,KAAM,yBADhC,CAMyB,kBAAdlG,EAAK0I,OACd1I,EAAK0I,KAAO,CAAC1I,EAAK0I,OAIpB,IAAK,IAAI/G,EAAE,EAAGA,EAAE3B,EAAK0I,KAAK9G,OAAQD,IAAK,CACrC,IAAIc,EAAKyI,EAET,GAAIlL,EAAK4H,SAAW5H,EAAK4H,QAAQjG,GAE/Bc,EAAMzC,EAAK4H,QAAQjG,OACd,CAGL,GADAuJ,EAAMlL,EAAK0I,KAAK/G,GACG,kBAARuJ,EAAkB,CAC3BlL,EAAKkG,MAAM,YAAa,KAAM,0DAC9B,SAIFzD,EAAM,0BAA0B0I,KAAKD,GAChCzI,IACHA,EAAM,aAAa0I,KAAKD,EAAIvH,MAAM,IAAK,GAAG,KAGxClB,IACFA,EAAMA,EAAI,GAAG2I,eAUjB,GALK3I,GACHkE,QAAQC,KAAK,8FAIXnE,GAAOxC,EAAOuC,OAAOC,GAAM,CAC7BwI,EAAMjL,EAAK0I,KAAK/G,GAChB,OAIJ,GAAKsJ,EAuBL,OAlBAjL,EAAK0I,KAAOuC,EACZjL,EAAK+I,OAAS,UAImB,WAA7BpI,OAAO0K,SAASC,UAA6C,UAApBL,EAAIM,MAAM,EAAG,KACxDvL,EAAK8H,QAAS,EACd9H,EAAK6B,WAAY,GAInB,IAAI2J,EAAMxL,GAGNA,EAAK6B,WACP4J,EAAWzL,GAGNA,EAtBLA,EAAKkG,MAAM,YAAa,KAAM,kDA+BlCK,KAAM,SAASkC,EAAQiD,GACrB,IAAI1L,EAAOH,KACP8L,EAAK,KAGT,GAAsB,kBAAXlD,EACTkD,EAAKlD,EACLA,EAAS,SACJ,IAAsB,kBAAXA,GAAuC,WAAhBzI,EAAK+I,SAAwB/I,EAAKwI,QAAQC,GAEjF,OAAO,KACF,GAAsB,qBAAXA,IAEhBA,EAAS,aAIJzI,EAAKkJ,WAAW,CAEnB,IADA,IAAI0C,EAAM,EACDjK,EAAE,EAAGA,EAAE3B,EAAKgH,QAAQpF,OAAQD,IAC/B3B,EAAKgH,QAAQrF,GAAGsF,UAAYjH,EAAKgH,QAAQrF,GAAGkK,SAC9CD,IACAD,EAAK3L,EAAKgH,QAAQrF,GAAGmK,KAIb,IAARF,EACFnD,EAAS,KAETkD,EAAK,MAMX,IAAI1J,EAAQ0J,EAAK3L,EAAKkC,WAAWyJ,GAAM3L,EAAK+L,iBAG5C,IAAK9J,EACH,OAAO,KAWT,GAPI0J,IAAOlD,IACTA,EAASxG,EAAMuG,SAAW,aAMR,WAAhBxI,EAAK+I,OAAqB,CAE5B9G,EAAMuG,QAAUC,EAGhBxG,EAAM4J,QAAS,EAGf,IAAIG,EAAU/J,EAAM6J,IAQpB,OAPA9L,EAAKiJ,OAAOnC,KAAK,CACfiE,MAAO,OACPC,OAAQ,WACNhL,EAAKuG,KAAKyF,MAIPA,EAIT,GAAIL,IAAO1J,EAAMgF,QAMf,OAJKyE,GACH1L,EAAKiM,WAAW,QAGXhK,EAAM6J,IAIX9L,EAAK6B,WACP5B,EAAOoF,cAIT,IAAI6G,EAAOC,KAAKC,IAAI,EAAGnK,EAAMoK,MAAQ,EAAIpK,EAAMoK,MAAQrM,EAAKwI,QAAQC,GAAQ,GAAK,KAC7E6D,EAAWH,KAAKC,IAAI,GAAKpM,EAAKwI,QAAQC,GAAQ,GAAKzI,EAAKwI,QAAQC,GAAQ,IAAM,IAAQyD,GACtFK,EAAsB,IAAXD,EAAmBH,KAAKK,IAAIvK,EAAMqG,OAC7C3C,EAAQ3F,EAAKwI,QAAQC,GAAQ,GAAK,IAClCgE,GAAQzM,EAAKwI,QAAQC,GAAQ,GAAKzI,EAAKwI,QAAQC,GAAQ,IAAM,IACjExG,EAAMuG,QAAUC,EAIhBxG,EAAM4J,QAAS,EAGf,IAAIa,EAAY,WACdzK,EAAMgF,SAAU,EAChBhF,EAAMoK,MAAQH,EACdjK,EAAM0K,OAAShH,EACf1D,EAAM2K,MAAQH,EACdxK,EAAM+F,SAAW/F,EAAM+F,QAAShI,EAAKwI,QAAQC,GAAQ,KAIvD,KAAIyD,GAAQO,GAAZ,CAMA,IAAII,EAAO5K,EAAME,MACjB,GAAInC,EAAK6B,UAAW,CAElB,IAAIiL,EAAe,WACjB9M,EAAKkJ,WAAY,EACjBwD,IACA1M,EAAK+M,eAAe9K,GAGpB,IAAIZ,EAAOY,EAAM1B,QAAUP,EAAKO,OAAU,EAAI0B,EAAMzB,QACpDqM,EAAKrL,KAAKC,eAAeJ,EAAKpB,EAAOgB,IAAIS,aACzCO,EAAM+K,WAAa/M,EAAOgB,IAAIS,YAGS,qBAA5BmL,EAAKI,aAAatH,MAC3B1D,EAAM+F,MAAQ6E,EAAKI,aAAaC,YAAY,EAAGhB,EAAM,OAASW,EAAKI,aAAaC,YAAY,EAAGhB,EAAMI,GAErGrK,EAAM+F,MAAQ6E,EAAKI,aAAatH,MAAM,EAAGuG,EAAM,OAASW,EAAKI,aAAatH,MAAM,EAAGuG,EAAMI,GAIvFC,IAAYY,MACdnN,EAAKgJ,WAAW/G,EAAM6J,KAAO1E,WAAWpH,EAAK6L,OAAOuB,KAAKpN,EAAMiC,GAAQsK,IAGpEb,GACHtE,YAAW,WACTpH,EAAKkG,MAAM,OAAQjE,EAAM6J,KACzB9L,EAAKiM,eACJ,IAIc,YAAjBhM,EAAO0C,MACTmK,KAEA9M,EAAKkJ,WAAY,EAGjBlJ,EAAKqN,KAAK,SAAUP,GAGpB9M,EAAKsN,YAAYrL,EAAM6J,UAEpB,CAEL,IAAIyB,EAAY,WACdV,EAAKnL,YAAcwK,EACnBW,EAAKxK,MAAQJ,EAAM1B,QAAUP,EAAKO,QAAUN,EAAOM,QAAUsM,EAAKxK,MAClEwK,EAAKzL,OAASa,EAAMzB,QAAUP,EAAOmB,SACrCyL,EAAKW,aAAevL,EAAMqG,MAG1B,IACE,IAAI/B,EAAOsG,EAAKtG,OAwChB,GArCIA,GAA2B,qBAAZC,UAA4BD,aAAgBC,SAAgC,oBAAdD,EAAKE,OAEpFzG,EAAKkJ,WAAY,EAGjBwD,IAGAnG,EACGE,MAAK,WACJzG,EAAKkJ,WAAY,EACjB2D,EAAK3H,WAAY,EACZwG,IACH1L,EAAKkG,MAAM,OAAQjE,EAAM6J,KACzB9L,EAAKiM,iBAGRvF,OAAM,WACL1G,EAAKkJ,WAAY,EACjBlJ,EAAKkG,MAAM,YAAajE,EAAM6J,IAAK,+IAInC7J,EAAM4J,QAAS,EACf5J,EAAMgF,SAAU,MAEVyE,IACV1L,EAAKkJ,WAAY,EACjBwD,IACA1M,EAAKkG,MAAM,OAAQjE,EAAM6J,KACzB9L,EAAKiM,cAIPY,EAAKW,aAAevL,EAAMqG,MAGtBuE,EAAKY,OAGP,YAFAzN,EAAKkG,MAAM,YAAajE,EAAM6J,IAAK,+IAMtB,cAAXrD,GAA0BxG,EAAM+F,MAClChI,EAAKgJ,WAAW/G,EAAM6J,KAAO1E,WAAWpH,EAAK6L,OAAOuB,KAAKpN,EAAMiC,GAAQsK,IAEvEvM,EAAKgJ,WAAW/G,EAAM6J,KAAO,WAE3B9L,EAAK6L,OAAO5J,GAGZ4K,EAAK5G,oBAAoB,QAASjG,EAAKgJ,WAAW/G,EAAM6J,MAAM,IAEhEe,EAAK1G,iBAAiB,QAASnG,EAAKgJ,WAAW/G,EAAM6J,MAAM,IAE7D,MAAO3I,GACPnD,EAAKkG,MAAM,YAAajE,EAAM6J,IAAK3I,KAKtB,2FAAb0J,EAAKrF,MACPqF,EAAKrF,IAAMxH,EAAK0I,KAChBmE,EAAKzH,QAIP,IAAIsI,EAAsB/M,QAAUA,OAAOgN,SAAad,EAAKe,YAAc3N,EAAOS,WAAWmN,WAC7F,GAAIhB,EAAKe,YAAc,GAAKF,EAC1BH,QACK,CACLvN,EAAKkJ,WAAY,EAEjB,IAAI4E,EAAW,WAEbP,IAGAV,EAAK5G,oBAAoBhG,EAAOQ,cAAeqN,GAAU,IAE3DjB,EAAK1G,iBAAiBlG,EAAOQ,cAAeqN,GAAU,GAGtD9N,EAAKsN,YAAYrL,EAAM6J,MAI3B,OAAO7J,EAAM6J,IAtJX9L,EAAK6L,OAAO5J,IA8JhB8L,MAAO,SAASpC,GACd,IAAI3L,EAAOH,KAGX,GAAoB,WAAhBG,EAAK+I,QAAuB/I,EAAKkJ,UAQnC,OAPAlJ,EAAKiJ,OAAOnC,KAAK,CACfiE,MAAO,QACPC,OAAQ,WACNhL,EAAK+N,MAAMpC,MAIR3L,EAMT,IAFA,IAAI8B,EAAM9B,EAAK+B,aAAa4J,GAEnBhK,EAAE,EAAGA,EAAEG,EAAIF,OAAQD,IAAK,CAE/B3B,EAAKsN,YAAYxL,EAAIH,IAGrB,IAAIM,EAAQjC,EAAKkC,WAAWJ,EAAIH,IAEhC,GAAIM,IAAUA,EAAMgF,UAElBhF,EAAMoK,MAAQrM,EAAKkM,KAAKpK,EAAIH,IAC5BM,EAAM+L,UAAY,EAClB/L,EAAMgF,SAAU,EAGhBjH,EAAKiO,UAAUnM,EAAIH,IAEfM,EAAME,OACR,GAAInC,EAAK6B,UAAW,CAElB,IAAKI,EAAME,MAAM8K,aACf,SAG2C,qBAAlChL,EAAME,MAAM8K,aAAaR,KAClCxK,EAAME,MAAM8K,aAAaiB,QAAQ,GAEjCjM,EAAME,MAAM8K,aAAaR,KAAK,GAIhCzM,EAAKmO,aAAalM,EAAME,YACdiM,MAAMnM,EAAME,MAAMmK,WAAarK,EAAME,MAAMmK,WAAaa,KAClElL,EAAME,MAAM4L,QAMbM,UAAU,IACbrO,EAAKkG,MAAM,QAASjE,EAAQA,EAAM6J,IAAM,MAI5C,OAAO9L,GASTyM,KAAM,SAASd,EAAID,GACjB,IAAI1L,EAAOH,KAGX,GAAoB,WAAhBG,EAAK+I,QAAuB/I,EAAKkJ,UAQnC,OAPAlJ,EAAKiJ,OAAOnC,KAAK,CACfiE,MAAO,OACPC,OAAQ,WACNhL,EAAKyM,KAAKd,MAIP3L,EAMT,IAFA,IAAI8B,EAAM9B,EAAK+B,aAAa4J,GAEnBhK,EAAE,EAAGA,EAAEG,EAAIF,OAAQD,IAAK,CAE/B3B,EAAKsN,YAAYxL,EAAIH,IAGrB,IAAIM,EAAQjC,EAAKkC,WAAWJ,EAAIH,IAE5BM,IAEFA,EAAMoK,MAAQpK,EAAM0K,QAAU,EAC9B1K,EAAM+L,UAAY,EAClB/L,EAAMgF,SAAU,EAChBhF,EAAM4J,QAAS,EAGf7L,EAAKiO,UAAUnM,EAAIH,IAEfM,EAAME,QACJnC,EAAK6B,UAEHI,EAAME,MAAM8K,eAC+B,qBAAlChL,EAAME,MAAM8K,aAAaR,KAClCxK,EAAME,MAAM8K,aAAaiB,QAAQ,GAEjCjM,EAAME,MAAM8K,aAAaR,KAAK,GAIhCzM,EAAKmO,aAAalM,EAAME,QAEhBiM,MAAMnM,EAAME,MAAMmK,WAAarK,EAAME,MAAMmK,WAAaa,MAClElL,EAAME,MAAMT,YAAcO,EAAM0K,QAAU,EAC1C1K,EAAME,MAAM4L,QAGR9L,EAAME,MAAMmK,WAAaa,KAC3BnN,EAAKsO,YAAYrM,EAAME,SAKxBuJ,GACH1L,EAAKkG,MAAM,OAAQjE,EAAM6J,MAK/B,OAAO9L,GASToC,KAAM,SAASC,EAAOsJ,GACpB,IAAI3L,EAAOH,KAGX,GAAoB,WAAhBG,EAAK+I,QAAsB/I,EAAKkJ,UAQlC,OAPAlJ,EAAKiJ,OAAOnC,KAAK,CACfiE,MAAO,OACPC,OAAQ,WACNhL,EAAKoC,KAAKC,EAAOsJ,MAId3L,EAIT,GAAkB,qBAAP2L,EAAoB,CAC7B,GAAqB,mBAAVtJ,EAGT,OAAOrC,EAAKO,OAFZP,EAAKO,OAAS8B,EASlB,IAFA,IAAIP,EAAM9B,EAAK+B,aAAa4J,GAEnBhK,EAAE,EAAGA,EAAEG,EAAIF,OAAQD,IAAK,CAE/B,IAAIM,EAAQjC,EAAKkC,WAAWJ,EAAIH,IAE5BM,IACFA,EAAM1B,OAAS8B,EAGXJ,EAAMsM,WACRvO,EAAKiO,UAAUhM,EAAM6J,KAGnB9L,EAAK6B,WAAaI,EAAME,MAC1BF,EAAME,MAAMX,KAAKC,eAAeY,EAAQ,EAAIJ,EAAMzB,QAASP,EAAOgB,IAAIS,aAC7DO,EAAME,QACfF,EAAME,MAAME,QAAQpC,EAAOM,QAAgB8B,GAG7CrC,EAAKkG,MAAM,OAAQjE,EAAM6J,MAI7B,OAAO9L,GAWToB,OAAQ,WACN,IAEIC,EAAKsK,EAqBL1J,EAvBAjC,EAAOH,KACP2O,EAAOH,UAIX,GAAoB,IAAhBG,EAAK5M,OAEP,OAAO5B,EAAKQ,QACP,GAAoB,IAAhBgO,EAAK5M,QAAgC,IAAhB4M,EAAK5M,QAAmC,qBAAZ4M,EAAK,GAAoB,CAEnF,IAAI1M,EAAM9B,EAAK+B,eACX0M,EAAQ3M,EAAI4M,QAAQF,EAAK,IACzBC,GAAS,EACX9C,EAAKjI,SAAS8K,EAAK,GAAI,IAEvBnN,EAAMC,WAAWkN,EAAK,SAEfA,EAAK5M,QAAU,IACxBP,EAAMC,WAAWkN,EAAK,IACtB7C,EAAKjI,SAAS8K,EAAK,GAAI,KAKzB,KAAmB,qBAARnN,GAAuBA,GAAO,GAAKA,GAAO,GA2CnD,OADAY,EAAQ0J,EAAK3L,EAAKkC,WAAWyJ,GAAM3L,EAAKgH,QAAQ,GACzC/E,EAAQA,EAAMzB,QAAU,EAzC/B,GAAoB,WAAhBR,EAAK+I,QAAsB/I,EAAKkJ,UAQlC,OAPAlJ,EAAKiJ,OAAOnC,KAAK,CACfiE,MAAO,SACPC,OAAQ,WACNhL,EAAKoB,OAAOuN,MAAM3O,EAAMwO,MAIrBxO,EAIS,qBAAP2L,IACT3L,EAAKQ,QAAUa,GAIjBsK,EAAK3L,EAAK+B,aAAa4J,GACvB,IAAK,IAAIhK,EAAE,EAAGA,EAAEgK,EAAG/J,OAAQD,IAEzBM,EAAQjC,EAAKkC,WAAWyJ,EAAGhK,IAEvBM,IACFA,EAAMzB,QAAUa,EAGXmN,EAAK,IACRxO,EAAKiO,UAAUtC,EAAGhK,IAGhB3B,EAAK6B,WAAaI,EAAME,QAAUF,EAAM1B,OAC1C0B,EAAME,MAAMX,KAAKC,eAAeJ,EAAKpB,EAAOgB,IAAIS,aACvCO,EAAME,QAAUF,EAAM1B,SAC/B0B,EAAME,MAAMf,OAASC,EAAMpB,EAAOmB,UAGpCpB,EAAKkG,MAAM,SAAUjE,EAAM6J,MAQjC,OAAO9L,GAWT4O,KAAM,SAASC,EAAMC,EAAIC,EAAKpD,GAC5B,IAAI3L,EAAOH,KAGX,GAAoB,WAAhBG,EAAK+I,QAAuB/I,EAAKkJ,UAQnC,OAPAlJ,EAAKiJ,OAAOnC,KAAK,CACfiE,MAAO,OACPC,OAAQ,WACNhL,EAAK4O,KAAKC,EAAMC,EAAIC,EAAKpD,MAItB3L,EAIT6O,EAAOvN,WAAWuN,GAClBC,EAAKxN,WAAWwN,GAChBC,EAAMzN,WAAWyN,GAGjB/O,EAAKoB,OAAOyN,EAAMlD,GAIlB,IADA,IAAI7J,EAAM9B,EAAK+B,aAAa4J,GACnBhK,EAAE,EAAGA,EAAEG,EAAIF,OAAQD,IAAK,CAE/B,IAAIM,EAAQjC,EAAKkC,WAAWJ,EAAIH,IAGhC,GAAIM,EAAO,CAOT,GALK0J,GACH3L,EAAKiO,UAAUnM,EAAIH,IAIjB3B,EAAK6B,YAAcI,EAAM1B,OAAQ,CACnC,IAAImB,EAAczB,EAAOgB,IAAIS,YACzBsN,EAAMtN,EAAeqN,EAAM,IAC/B9M,EAAMzB,QAAUqO,EAChB5M,EAAME,MAAMX,KAAKC,eAAeoN,EAAMnN,GACtCO,EAAME,MAAMX,KAAKyN,wBAAwBH,EAAIE,GAG/ChP,EAAKkP,mBAAmBjN,EAAO4M,EAAMC,EAAIC,EAAKjN,EAAIH,GAAkB,qBAAPgK,IAIjE,OAAO3L,GAYTkP,mBAAoB,SAASjN,EAAO4M,EAAMC,EAAIC,EAAKpD,EAAIwD,GACrD,IAAInP,EAAOH,KACPwB,EAAMwN,EACNO,EAAON,EAAKD,EACZQ,EAAQlD,KAAKK,IAAI4C,EAAO,KACxBE,EAAUnD,KAAKC,IAAI,EAAIiD,EAAQ,EAAKN,EAAMM,EAAQN,GAClDQ,EAAWC,KAAKC,MAGpBxN,EAAMyN,QAAUZ,EAGhB7M,EAAMsM,UAAYoB,aAAY,WAE5B,IAAIC,GAAQJ,KAAKC,MAAQF,GAAYR,EACrCQ,EAAWC,KAAKC,MAChBpO,GAAO+N,EAAOQ,EAGdvO,EAAM8K,KAAKC,IAAI,EAAG/K,GAClBA,EAAM8K,KAAK0D,IAAI,EAAGxO,GAGlBA,EAAM8K,KAAK2D,MAAY,IAANzO,GAAa,IAG1BrB,EAAK6B,UACPI,EAAMzB,QAAUa,EAEhBrB,EAAKoB,OAAOC,EAAKY,EAAM6J,KAAK,GAI1BqD,IACFnP,EAAKQ,QAAUa,IAIZyN,EAAKD,GAAQxN,GAAOyN,GAAQA,EAAKD,GAAQxN,GAAOyN,KACnDiB,cAAc9N,EAAMsM,WACpBtM,EAAMsM,UAAY,KAClBtM,EAAMyN,QAAU,KAChB1P,EAAKoB,OAAO0N,EAAI7M,EAAM6J,KACtB9L,EAAKkG,MAAM,OAAQjE,EAAM6J,QAE1BwD,IASLrB,UAAW,SAAStC,GAClB,IAAI3L,EAAOH,KACPoC,EAAQjC,EAAKkC,WAAWyJ,GAc5B,OAZI1J,GAASA,EAAMsM,YACbvO,EAAK6B,WACPI,EAAME,MAAMX,KAAKwO,sBAAsB/P,EAAOgB,IAAIS,aAGpDqO,cAAc9N,EAAMsM,WACpBtM,EAAMsM,UAAY,KAClBvO,EAAKoB,OAAOa,EAAMyN,QAAS/D,GAC3B1J,EAAMyN,QAAU,KAChB1P,EAAKkG,MAAM,OAAQyF,IAGd3L,GAWTiI,KAAM,WACJ,IAEIA,EAAM0D,EAAI1J,EAFVjC,EAAOH,KACP2O,EAAOH,UAIX,GAAoB,IAAhBG,EAAK5M,OAEP,OAAO5B,EAAKgI,MACP,GAAoB,IAAhBwG,EAAK5M,OAAc,CAC5B,GAAuB,mBAAZ4M,EAAK,GAMd,OADAvM,EAAQjC,EAAKkC,WAAWwB,SAAS8K,EAAK,GAAI,OACnCvM,GAAQA,EAAM+F,MALrBC,EAAOuG,EAAK,GACZxO,EAAKgI,MAAQC,OAMU,IAAhBuG,EAAK5M,SACdqG,EAAOuG,EAAK,GACZ7C,EAAKjI,SAAS8K,EAAK,GAAI,KAKzB,IADA,IAAI1M,EAAM9B,EAAK+B,aAAa4J,GACnBhK,EAAE,EAAGA,EAAEG,EAAIF,OAAQD,IAC1BM,EAAQjC,EAAKkC,WAAWJ,EAAIH,IAExBM,IACFA,EAAM+F,MAAQC,EACVjI,EAAK6B,WAAaI,EAAME,OAASF,EAAME,MAAM8K,eAC/ChL,EAAME,MAAM8K,aAAahF,KAAOA,EAC5BA,IACFhG,EAAME,MAAM8K,aAAagD,UAAYhO,EAAM0K,QAAU,EACrD1K,EAAME,MAAM8K,aAAaiD,QAAUjO,EAAM2K,SAMjD,OAAO5M,GAWTuI,KAAM,WACJ,IAEIA,EAAMoD,EAqBN1J,EAvBAjC,EAAOH,KACP2O,EAAOH,UAIX,GAAoB,IAAhBG,EAAK5M,OAEP+J,EAAK3L,EAAKgH,QAAQ,GAAG8E,SAChB,GAAoB,IAAhB0C,EAAK5M,OAAc,CAE5B,IAAIE,EAAM9B,EAAK+B,eACX0M,EAAQ3M,EAAI4M,QAAQF,EAAK,IACzBC,GAAS,EACX9C,EAAKjI,SAAS8K,EAAK,GAAI,IAEvBjG,EAAOjH,WAAWkN,EAAK,SAEA,IAAhBA,EAAK5M,SACd2G,EAAOjH,WAAWkN,EAAK,IACvB7C,EAAKjI,SAAS8K,EAAK,GAAI,KAKzB,GAAoB,kBAATjG,EAwDT,OADAtG,EAAQjC,EAAKkC,WAAWyJ,GACjB1J,EAAQA,EAAMqG,MAAQtI,EAAKsI,MAtDlC,GAAoB,WAAhBtI,EAAK+I,QAAuB/I,EAAKkJ,UAQnC,OAPAlJ,EAAKiJ,OAAOnC,KAAK,CACfiE,MAAO,OACPC,OAAQ,WACNhL,EAAKuI,KAAKoG,MAAM3O,EAAMwO,MAInBxO,EAIS,qBAAP2L,IACT3L,EAAKsI,MAAQC,GAIfoD,EAAK3L,EAAK+B,aAAa4J,GACvB,IAAK,IAAIhK,EAAE,EAAGA,EAAEgK,EAAG/J,OAAQD,IAIzB,GAFAM,EAAQjC,EAAKkC,WAAWyJ,EAAGhK,IAEvBM,EAAO,CAGLjC,EAAKmQ,QAAQxE,EAAGhK,MAClBM,EAAM+L,UAAYhO,EAAKkM,KAAKP,EAAGhK,IAC/BM,EAAM+K,WAAahN,EAAK6B,UAAY5B,EAAOgB,IAAIS,YAAcO,EAAM+K,YAErE/K,EAAMqG,MAAQC,EAGVvI,EAAK6B,WAAaI,EAAME,OAASF,EAAME,MAAM8K,aAC/ChL,EAAME,MAAM8K,aAAaO,aAAa/L,eAAe8G,EAAMtI,EAAOgB,IAAIS,aAC7DO,EAAME,QACfF,EAAME,MAAMqL,aAAejF,GAI7B,IAAI2D,EAAOlM,EAAKkM,KAAKP,EAAGhK,IACpB2K,GAAatM,EAAKwI,QAAQvG,EAAMuG,SAAS,GAAKxI,EAAKwI,QAAQvG,EAAMuG,SAAS,IAAM,IAAQ0D,EACxFK,EAAsB,IAAXD,EAAmBH,KAAKK,IAAIvK,EAAMqG,QAG7CtI,EAAKgJ,WAAW2C,EAAGhK,KAAQM,EAAMgF,UACnCjH,EAAKsN,YAAY3B,EAAGhK,IACpB3B,EAAKgJ,WAAW2C,EAAGhK,IAAMyF,WAAWpH,EAAK6L,OAAOuB,KAAKpN,EAAMiC,GAAQsK,IAGrEvM,EAAKkG,MAAM,OAAQjE,EAAM6J,KAQ/B,OAAO9L,GAWTkM,KAAM,WACJ,IAEIA,EAAMP,EAFN3L,EAAOH,KACP2O,EAAOH,UAIX,GAAoB,IAAhBG,EAAK5M,OAEP+J,EAAK3L,EAAKgH,QAAQ,GAAG8E,SAChB,GAAoB,IAAhB0C,EAAK5M,OAAc,CAE5B,IAAIE,EAAM9B,EAAK+B,eACX0M,EAAQ3M,EAAI4M,QAAQF,EAAK,IACzBC,GAAS,EACX9C,EAAKjI,SAAS8K,EAAK,GAAI,IACdxO,EAAKgH,QAAQpF,SACtB+J,EAAK3L,EAAKgH,QAAQ,GAAG8E,IACrBI,EAAO5K,WAAWkN,EAAK,UAEA,IAAhBA,EAAK5M,SACdsK,EAAO5K,WAAWkN,EAAK,IACvB7C,EAAKjI,SAAS8K,EAAK,GAAI,KAIzB,GAAkB,qBAAP7C,EACT,OAAO3L,EAIT,GAAoB,WAAhBA,EAAK+I,QAAuB/I,EAAKkJ,UAQnC,OAPAlJ,EAAKiJ,OAAOnC,KAAK,CACfiE,MAAO,OACPC,OAAQ,WACNhL,EAAKkM,KAAKyC,MAAM3O,EAAMwO,MAInBxO,EAIT,IAAIiC,EAAQjC,EAAKkC,WAAWyJ,GAE5B,GAAI1J,EAAO,CACT,KAAoB,kBAATiK,GAAqBA,GAAQ,GAwCjC,CACL,GAAIlM,EAAK6B,UAAW,CAClB,IAAIuO,EAAWpQ,EAAKmQ,QAAQxE,GAAM1L,EAAOgB,IAAIS,YAAcO,EAAM+K,WAAa,EAC1EqD,EAAWpO,EAAM+L,UAAY/L,EAAM+L,UAAY/L,EAAMoK,MAAQ,EACjE,OAAOpK,EAAMoK,OAASgE,EAAWD,EAAWjE,KAAKK,IAAIvK,EAAMqG,QAE3D,OAAOrG,EAAME,MAAMT,YA5CrB,IAAIyO,EAAUnQ,EAAKmQ,QAAQxE,GACvBwE,GACFnQ,EAAK+N,MAAMpC,GAAI,GAIjB1J,EAAMoK,MAAQH,EACdjK,EAAM4J,QAAS,EACf7L,EAAKsN,YAAY3B,GAGZ3L,EAAK6B,YAAaI,EAAME,OAAUiM,MAAMnM,EAAME,MAAMmK,YACvDrK,EAAME,MAAMT,YAAcwK,GAI5B,IAAIoE,EAAc,WAChBtQ,EAAKkG,MAAM,OAAQyF,GAGfwE,GACFnQ,EAAKuG,KAAKoF,GAAI,IAKlB,GAAIwE,IAAYnQ,EAAK6B,UAAW,CAC9B,IAAI0O,EAAW,WACRvQ,EAAKkJ,UAGR9B,WAAWmJ,EAAU,GAFrBD,KAKJlJ,WAAWmJ,EAAU,QAErBD,IAaN,OAAOtQ,GAQTmQ,QAAS,SAASxE,GAChB,IAAI3L,EAAOH,KAGX,GAAkB,kBAAP8L,EAAiB,CAC1B,IAAI1J,EAAQjC,EAAKkC,WAAWyJ,GAC5B,QAAO1J,IAASA,EAAMgF,QAIxB,IAAK,IAAItF,EAAE,EAAGA,EAAE3B,EAAKgH,QAAQpF,OAAQD,IACnC,IAAK3B,EAAKgH,QAAQrF,GAAGsF,QACnB,OAAO,EAIX,OAAO,GAQTqF,SAAU,SAASX,GACjB,IAAI3L,EAAOH,KACPyM,EAAWtM,EAAK8I,UAGhB7G,EAAQjC,EAAKkC,WAAWyJ,GAK5B,OAJI1J,IACFqK,EAAWtM,EAAKwI,QAAQvG,EAAMuG,SAAS,GAAK,KAGvC8D,GAOT3J,MAAO,WACL,OAAO9C,KAAKkJ,QAOdzG,OAAQ,WAKN,IAJA,IAAItC,EAAOH,KAGP2Q,EAASxQ,EAAKgH,QACTrF,EAAE,EAAGA,EAAE6O,EAAO5O,OAAQD,IAExB6O,EAAO7O,GAAGsF,SACbjH,EAAKyM,KAAK+D,EAAO7O,GAAGmK,KAIjB9L,EAAK6B,YAER7B,EAAKsO,YAAYkC,EAAO7O,GAAGQ,OAG3BqO,EAAO7O,GAAGQ,MAAM8D,oBAAoB,QAASuK,EAAO7O,GAAG8O,UAAU,GACjED,EAAO7O,GAAGQ,MAAM8D,oBAAoBhG,EAAOQ,cAAe+P,EAAO7O,GAAG+O,SAAS,GAG7EzQ,EAAOkF,mBAAmBqL,EAAO7O,GAAGQ,eAI/BqO,EAAO7O,GAAGQ,MAGjBnC,EAAKsN,YAAYkD,EAAO7O,GAAGmK,KAI7B,IAAI2C,EAAQxO,EAAOK,OAAOoO,QAAQ1O,GAC9ByO,GAAS,GACXxO,EAAOK,OAAOqQ,OAAOlC,EAAO,GAI9B,IAAImC,GAAW,EACf,IAAKjP,EAAE,EAAGA,EAAE1B,EAAOK,OAAOsB,OAAQD,IAChC,GAAI1B,EAAOK,OAAOqB,GAAG+G,OAAS1I,EAAK0I,MAAQ1I,EAAK0I,KAAKgG,QAAQzO,EAAOK,OAAOqB,GAAG+G,OAAS,EAAG,CACxFkI,GAAW,EACX,MAgBJ,OAZIC,GAASD,UACJC,EAAM7Q,EAAK0I,MAIpBzI,EAAOa,SAAU,EAGjBd,EAAK+I,OAAS,WACd/I,EAAKgH,QAAU,GACfhH,EAAO,KAEA,MAWT8Q,GAAI,SAAS/F,EAAO1B,EAAIsC,EAAI0B,GAC1B,IAAIrN,EAAOH,KACPkR,EAAS/Q,EAAK,MAAQ+K,GAM1B,MAJkB,oBAAP1B,GACT0H,EAAOjK,KAAKuG,EAAO,CAAC1B,GAAIA,EAAItC,GAAIA,EAAIgE,KAAMA,GAAQ,CAAC1B,GAAIA,EAAItC,GAAIA,IAG1DrJ,GAUTgR,IAAK,SAASjG,EAAO1B,EAAIsC,GACvB,IAAI3L,EAAOH,KACPkR,EAAS/Q,EAAK,MAAQ+K,GACtBpJ,EAAI,EAQR,GALkB,kBAAP0H,IACTsC,EAAKtC,EACLA,EAAK,MAGHA,GAAMsC,EAER,IAAKhK,EAAE,EAAGA,EAAEoP,EAAOnP,OAAQD,IAAK,CAC9B,IAAIsP,EAAQtF,IAAOoF,EAAOpP,GAAGgK,GAC7B,GAAItC,IAAO0H,EAAOpP,GAAG0H,IAAM4H,IAAS5H,GAAM4H,EAAM,CAC9CF,EAAOJ,OAAOhP,EAAG,GACjB,YAGC,GAAIoJ,EAET/K,EAAK,MAAQ+K,GAAS,OACjB,CAEL,IAAImG,EAAOC,OAAOD,KAAKlR,GACvB,IAAK2B,EAAE,EAAGA,EAAEuP,EAAKtP,OAAQD,IACS,IAA3BuP,EAAKvP,GAAG+M,QAAQ,QAAiB0C,MAAMC,QAAQrR,EAAKkR,EAAKvP,OAC5D3B,EAAKkR,EAAKvP,IAAM,IAKtB,OAAO3B,GAUTqN,KAAM,SAAStC,EAAO1B,EAAIsC,GACxB,IAAI3L,EAAOH,KAKX,OAFAG,EAAK8Q,GAAG/F,EAAO1B,EAAIsC,EAAI,GAEhB3L,GAUTkG,MAAO,SAAS6E,EAAOY,EAAI2F,GAKzB,IAJA,IAAItR,EAAOH,KACPkR,EAAS/Q,EAAK,MAAQ+K,GAGjBpJ,EAAEoP,EAAOnP,OAAO,EAAGD,GAAG,EAAGA,IAE3BoP,EAAOpP,GAAGgK,IAAMoF,EAAOpP,GAAGgK,KAAOA,GAAgB,SAAVZ,IAC1C3D,WAAW,SAASiC,GAClBA,EAAGkI,KAAK1R,KAAM8L,EAAI2F,IAClBlE,KAAKpN,EAAM+Q,EAAOpP,GAAG0H,IAAK,GAGxB0H,EAAOpP,GAAG0L,MACZrN,EAAKgR,IAAIjG,EAAOgG,EAAOpP,GAAG0H,GAAI0H,EAAOpP,GAAGgK,KAQ9C,OAFA3L,EAAKiM,WAAWlB,GAET/K,GASTiM,WAAY,SAASlB,GACnB,IAAI/K,EAAOH,KAEX,GAAIG,EAAKiJ,OAAOrH,OAAS,EAAG,CAC1B,IAAI4P,EAAOxR,EAAKiJ,OAAO,GAGnBuI,EAAKzG,QAAUA,IACjB/K,EAAKiJ,OAAOwI,QACZzR,EAAKiM,cAIFlB,GACHyG,EAAKxG,SAIT,OAAOhL,GAQT6L,OAAQ,SAAS5J,GACf,IAAIjC,EAAOH,KACP4I,EAASxG,EAAMuG,QAKnB,IAAKxI,EAAK6B,WAAaI,EAAME,QAAUF,EAAME,MAAMsL,SAAWxL,EAAME,MAAMuP,OAASzP,EAAME,MAAMT,YAAcO,EAAM2K,MAEjH,OADAxF,WAAWpH,EAAK6L,OAAOuB,KAAKpN,EAAMiC,GAAQ,KACnCjC,EAIT,IAAIiI,KAAUhG,EAAM+F,QAAShI,EAAKwI,QAAQC,GAAQ,IAWlD,GARAzI,EAAKkG,MAAM,MAAOjE,EAAM6J,MAGnB9L,EAAK6B,WAAaoG,GACrBjI,EAAKyM,KAAKxK,EAAM6J,KAAK,GAAMvF,KAAKtE,EAAM6J,KAIpC9L,EAAK6B,WAAaoG,EAAM,CAC1BjI,EAAKkG,MAAM,OAAQjE,EAAM6J,KACzB7J,EAAMoK,MAAQpK,EAAM0K,QAAU,EAC9B1K,EAAM+L,UAAY,EAClB/L,EAAM+K,WAAa/M,EAAOgB,IAAIS,YAE9B,IAAI6K,EAA0C,KAA9BtK,EAAM2K,MAAQ3K,EAAM0K,QAAkBR,KAAKK,IAAIvK,EAAMqG,OACrEtI,EAAKgJ,WAAW/G,EAAM6J,KAAO1E,WAAWpH,EAAK6L,OAAOuB,KAAKpN,EAAMiC,GAAQsK,GAuBzE,OAnBIvM,EAAK6B,YAAcoG,IACrBhG,EAAMgF,SAAU,EAChBhF,EAAM4J,QAAS,EACf5J,EAAMoK,MAAQpK,EAAM0K,QAAU,EAC9B1K,EAAM+L,UAAY,EAClBhO,EAAKsN,YAAYrL,EAAM6J,KAGvB9L,EAAKmO,aAAalM,EAAME,OAGxBlC,EAAO2C,gBAIJ5C,EAAK6B,WAAcoG,GACtBjI,EAAKyM,KAAKxK,EAAM6J,KAAK,GAGhB9L,GAQTsN,YAAa,SAAS3B,GACpB,IAAI3L,EAAOH,KAEX,GAAIG,EAAKgJ,WAAW2C,GAAK,CAEvB,GAAmC,oBAAxB3L,EAAKgJ,WAAW2C,GACzBxE,aAAanH,EAAKgJ,WAAW2C,QACxB,CACL,IAAI1J,EAAQjC,EAAKkC,WAAWyJ,GACxB1J,GAASA,EAAME,OACjBF,EAAME,MAAM8D,oBAAoB,QAASjG,EAAKgJ,WAAW2C,IAAK,UAI3D3L,EAAKgJ,WAAW2C,GAGzB,OAAO3L,GAQTkC,WAAY,SAASyJ,GAInB,IAHA,IAAI3L,EAAOH,KAGF8B,EAAE,EAAGA,EAAE3B,EAAKgH,QAAQpF,OAAQD,IACnC,GAAIgK,IAAO3L,EAAKgH,QAAQrF,GAAGmK,IACzB,OAAO9L,EAAKgH,QAAQrF,GAIxB,OAAO,MAOToK,eAAgB,WACd,IAAI/L,EAAOH,KAEXG,EAAK2R,SAGL,IAAK,IAAIhQ,EAAE,EAAGA,EAAE3B,EAAKgH,QAAQpF,OAAQD,IACnC,GAAI3B,EAAKgH,QAAQrF,GAAGkK,OAClB,OAAO7L,EAAKgH,QAAQrF,GAAGiQ,QAK3B,OAAO,IAAIpG,EAAMxL,IAMnB2R,OAAQ,WACN,IAAI3R,EAAOH,KACPgS,EAAQ7R,EAAKkI,MACb4J,EAAM,EACNnQ,EAAI,EAGR,KAAI3B,EAAKgH,QAAQpF,OAASiQ,GAA1B,CAKA,IAAKlQ,EAAE,EAAGA,EAAE3B,EAAKgH,QAAQpF,OAAQD,IAC3B3B,EAAKgH,QAAQrF,GAAGkK,QAClBiG,IAKJ,IAAKnQ,EAAE3B,EAAKgH,QAAQpF,OAAS,EAAGD,GAAG,EAAGA,IAAK,CACzC,GAAImQ,GAAOD,EACT,OAGE7R,EAAKgH,QAAQrF,GAAGkK,SAEd7L,EAAK6B,WAAa7B,EAAKgH,QAAQrF,GAAGQ,OACpCnC,EAAKgH,QAAQrF,GAAGQ,MAAM4D,WAAW,GAInC/F,EAAKgH,QAAQ2J,OAAOhP,EAAG,GACvBmQ,QAUN/P,aAAc,SAAS4J,GACrB,IAAI3L,EAAOH,KAEX,GAAkB,qBAAP8L,EAAoB,CAE7B,IADA,IAAI7J,EAAM,GACDH,EAAE,EAAGA,EAAE3B,EAAKgH,QAAQpF,OAAQD,IACnCG,EAAIgF,KAAK9G,EAAKgH,QAAQrF,GAAGmK,KAG3B,OAAOhK,EAEP,MAAO,CAAC6J,IASZoB,eAAgB,SAAS9K,GACvB,IAAIjC,EAAOH,KAqBX,OAlBAoC,EAAME,MAAM8K,aAAehN,EAAOgB,IAAIsE,qBACtCtD,EAAME,MAAM8K,aAAazH,OAASqL,EAAM7Q,EAAK0I,MAGzCzG,EAAM8P,QACR9P,EAAME,MAAM8K,aAAaxH,QAAQxD,EAAM8P,SAEvC9P,EAAME,MAAM8K,aAAaxH,QAAQxD,EAAME,OAIzCF,EAAME,MAAM8K,aAAahF,KAAOhG,EAAM+F,MAClC/F,EAAM+F,QACR/F,EAAME,MAAM8K,aAAagD,UAAYhO,EAAM0K,QAAU,EACrD1K,EAAME,MAAM8K,aAAaiD,QAAUjO,EAAM2K,OAAS,GAEpD3K,EAAME,MAAM8K,aAAaO,aAAa/L,eAAeQ,EAAMqG,MAAOrI,EAAOgB,IAAIS,aAEtE1B,GAQTmO,aAAc,SAAStB,GACrB,IAAI7M,EAAOH,KACPmS,EAAQ/R,EAAOS,YAAcT,EAAOS,WAAWuR,OAAOvD,QAAQ,UAAY,EAE9E,GAAIzO,EAAO6E,gBAAkB+H,EAAKI,eAChCJ,EAAKI,aAAanH,QAAU,KAC5B+G,EAAKI,aAAalH,WAAW,GACzBiM,GACF,IAAMnF,EAAKI,aAAazH,OAASvF,EAAO6E,eAAkB,MAAM9B,IAKpE,OAFA6J,EAAKI,aAAe,KAEbjN,GAOTsO,YAAa,SAASzB,GACpB,IAAIqF,EAAU,kBAAkBpP,KAAK7C,EAAOS,YAAcT,EAAOS,WAAW6C,WACvE2O,IACHrF,EAAKrF,IAAM,4FAYjB,IAAIgE,EAAQ,SAAS2G,GACnBtS,KAAKuS,QAAUD,EACftS,KAAKC,QAEP0L,EAAMzL,UAAY,CAKhBD,KAAM,WACJ,IAAIE,EAAOH,KACPwS,EAASrS,EAAKoS,QAqBlB,OAlBApS,EAAKO,OAAS8R,EAAO9R,OACrBP,EAAKgI,MAAQqK,EAAOrK,MACpBhI,EAAKQ,QAAU6R,EAAO7R,QACtBR,EAAKsI,MAAQ+J,EAAO/J,MACpBtI,EAAKqM,MAAQ,EACbrM,EAAKiH,SAAU,EACfjH,EAAK6L,QAAS,EACd7L,EAAKwI,QAAU,YAGfxI,EAAK8L,MAAQ7L,EAAOC,SAGpBmS,EAAOrL,QAAQF,KAAK9G,GAGpBA,EAAKsS,SAEEtS,GAOTsS,OAAQ,WACN,IAAItS,EAAOH,KACPwS,EAASrS,EAAKoS,QACdhR,EAAUnB,EAAOM,QAAUP,EAAKO,QAAUP,EAAKoS,QAAQ7R,OAAU,EAAIP,EAAKQ,QA6B9E,OA3BI6R,EAAOxQ,WAET7B,EAAKmC,MAA0C,qBAA1BlC,EAAOgB,IAAIsR,WAA8BtS,EAAOgB,IAAIuR,iBAAmBvS,EAAOgB,IAAIsR,aACvGvS,EAAKmC,MAAMX,KAAKC,eAAeL,EAAQnB,EAAOgB,IAAIS,aAClD1B,EAAKmC,MAAMsL,QAAS,EACpBzN,EAAKmC,MAAMsD,QAAQxF,EAAOY,aAChBZ,EAAOa,UAEjBd,EAAKmC,MAAQlC,EAAOmG,oBAGpBpG,EAAKyQ,SAAWzQ,EAAKyS,eAAerF,KAAKpN,GACzCA,EAAKmC,MAAMgE,iBAAiB,QAASnG,EAAKyQ,UAAU,GAGpDzQ,EAAK0Q,QAAU1Q,EAAK0S,cAActF,KAAKpN,GACvCA,EAAKmC,MAAMgE,iBAAiBlG,EAAOQ,cAAeT,EAAK0Q,SAAS,GAGhE1Q,EAAKmC,MAAMqF,IAAM6K,EAAO3J,KACxB1I,EAAKmC,MAAMkG,QAAU,OACrBrI,EAAKmC,MAAMf,OAASA,EAASnB,EAAOmB,SAGpCpB,EAAKmC,MAAMiD,QAGNpF,GAOT4R,MAAO,WACL,IAAI5R,EAAOH,KACPwS,EAASrS,EAAKoS,QAgBlB,OAbApS,EAAKO,OAAS8R,EAAO9R,OACrBP,EAAKgI,MAAQqK,EAAOrK,MACpBhI,EAAKQ,QAAU6R,EAAO7R,QACtBR,EAAKsI,MAAQ+J,EAAO/J,MACpBtI,EAAKqM,MAAQ,EACbrM,EAAKgO,UAAY,EACjBhO,EAAKiH,SAAU,EACfjH,EAAK6L,QAAS,EACd7L,EAAKwI,QAAU,YAGfxI,EAAK8L,MAAQ7L,EAAOC,SAEbF,GAMTyS,eAAgB,WACd,IAAIzS,EAAOH,KAGXG,EAAKoS,QAAQlM,MAAM,YAAalG,EAAK8L,IAAK9L,EAAKmC,MAAMsF,MAAQzH,EAAKmC,MAAMsF,MAAMkL,KAAO,GAGrF3S,EAAKmC,MAAM8D,oBAAoB,QAASjG,EAAKyQ,UAAU,IAMzDiC,cAAe,WACb,IAAI1S,EAAOH,KACPwS,EAASrS,EAAKoS,QAGlBC,EAAOvJ,UAAYqD,KAAKyG,KAA2B,GAAtB5S,EAAKmC,MAAMmK,UAAiB,GAGd,IAAvC6E,OAAOD,KAAKmB,EAAO7J,SAAS5G,SAC9ByQ,EAAO7J,QAAU,CAACqK,UAAW,CAAC,EAAsB,IAAnBR,EAAOvJ,aAGpB,WAAlBuJ,EAAOtJ,SACTsJ,EAAOtJ,OAAS,SAChBsJ,EAAOnM,MAAM,QACbmM,EAAOpG,cAITjM,EAAKmC,MAAM8D,oBAAoBhG,EAAOQ,cAAeT,EAAK0Q,SAAS,KAOvE,IAAIG,EAAQ,GAMRpF,EAAa,SAASzL,GACxB,IAAIiL,EAAMjL,EAAK0I,KAGf,GAAImI,EAAM5F,GAOR,OALAjL,EAAK8I,UAAY+H,EAAM5F,GAAKqB,cAG5BwG,EAAU9S,GAKZ,GAAI,sBAAsB8C,KAAKmI,GAAM,CAInC,IAFA,IAAI8H,EAAOC,KAAK/H,EAAItH,MAAM,KAAK,IAC3BsP,EAAW,IAAIC,WAAWH,EAAKnR,QAC1BD,EAAE,EAAGA,EAAEoR,EAAKnR,SAAUD,EAC7BsR,EAAStR,GAAKoR,EAAKI,WAAWxR,GAGhCyR,EAAgBH,EAASzN,OAAQxF,OAC5B,CAEL,IAAIqT,EAAM,IAAIC,eACdD,EAAIE,KAAK,MAAOtI,GAAK,GACrBoI,EAAIG,gBAAkBxT,EAAK4I,oBAC3ByK,EAAII,aAAe,cACnBJ,EAAI5J,OAAS,WAEX,IAAIkJ,GAAQU,EAAIK,OAAS,IAAI,GAChB,MAATf,GAAyB,MAATA,GAAyB,MAATA,EAKpCS,EAAgBC,EAAIM,SAAU3T,GAJ5BA,EAAKkG,MAAM,YAAa,KAAM,0CAA4CmN,EAAIK,OAAS,MAM3FL,EAAIO,QAAU,WAER5T,EAAK6B,YACP7B,EAAK8H,QAAS,EACd9H,EAAK6B,WAAY,EACjB7B,EAAKgH,QAAU,UACR6J,EAAM5F,GACbjL,EAAKoF,SAGTyO,EAAYR,KAQZQ,EAAc,SAASR,GACzB,IACEA,EAAIS,OACJ,MAAO9Q,GACPqQ,EAAIO,YASJR,EAAkB,SAASW,EAAa/T,GAE1C,IAAIyH,EAAQ,WACVzH,EAAKkG,MAAM,YAAa,KAAM,gCAI5B8N,EAAU,SAASxO,GACjBA,GAAUxF,EAAKgH,QAAQpF,OAAS,GAClCiP,EAAM7Q,EAAK0I,MAAQlD,EACnBsN,EAAU9S,EAAMwF,IAEhBiC,KAKmB,qBAAZjB,SAAiE,IAAtCvG,EAAOgB,IAAImS,gBAAgBxR,OAC/D3B,EAAOgB,IAAImS,gBAAgBW,GAAatN,KAAKuN,GAAStN,MAAMe,GAE5DxH,EAAOgB,IAAImS,gBAAgBW,EAAaC,EAASvM,IASjDqL,EAAY,SAAS9S,EAAMwF,GAEzBA,IAAWxF,EAAK8I,YAClB9I,EAAK8I,UAAYtD,EAAO8G,UAIe,IAArC6E,OAAOD,KAAKlR,EAAKwI,SAAS5G,SAC5B5B,EAAKwI,QAAU,CAACqK,UAAW,CAAC,EAAoB,IAAjB7S,EAAK8I,aAIlB,WAAhB9I,EAAK+I,SACP/I,EAAK+I,OAAS,SACd/I,EAAKkG,MAAM,QACXlG,EAAKiM,eAOL1K,EAAoB,WAEtB,GAAKtB,EAAOc,cAAZ,CAKA,IAC8B,qBAAjBkT,aACThU,EAAOgB,IAAM,IAAIgT,aACsB,qBAAvBC,mBAChBjU,EAAOgB,IAAM,IAAIiT,mBAEjBjU,EAAOc,eAAgB,EAEzB,MAAMiC,GACN/C,EAAOc,eAAgB,EAIpBd,EAAOgB,MACVhB,EAAOc,eAAgB,GAKzB,IAAIoT,EAAO,iBAAiBrR,KAAK7C,EAAOS,YAAcT,EAAOS,WAAW0T,UACpEC,EAAapU,EAAOS,YAAcT,EAAOS,WAAW2T,WAAW7Q,MAAM,0BACrE8Q,EAAUD,EAAa3Q,SAAS2Q,EAAW,GAAI,IAAM,KACzD,GAAIF,GAAOG,GAAWA,EAAU,EAAG,CACjC,IAAIC,EAAS,SAASzR,KAAK7C,EAAOS,YAAcT,EAAOS,WAAW6C,UAAU6H,gBACxEnL,EAAOS,YAAcT,EAAOS,WAAW8T,aAAeD,GAAUtU,EAAOS,aAAeT,EAAOS,WAAW8T,aAAeD,KACzHtU,EAAOc,eAAgB,GAKvBd,EAAOc,gBACTd,EAAOY,WAA+C,qBAA1BZ,EAAOgB,IAAIsR,WAA8BtS,EAAOgB,IAAIuR,iBAAmBvS,EAAOgB,IAAIsR,aAC9GtS,EAAOY,WAAWW,KAAKC,eAAexB,EAAOM,OAAS,EAAIN,EAAOO,QAASP,EAAOgB,IAAIS,aACrFzB,EAAOY,WAAW4E,QAAQxF,EAAOgB,IAAIyE,cAIvCzF,EAAOkB,WAKP,EAAO,GAAI,EAAF,WACP,MAAO,CACLlB,OAAQA,EACRqH,KAAMA,IAET,qCAKDmN,EAAQxU,OAASA,EACjBwU,EAAQnN,KAAOA,EAIK,qBAAX3G,QACTA,OAAOf,aAAeA,EACtBe,OAAOV,OAASA,EAChBU,OAAO2G,KAAOA,EACd3G,OAAO6K,MAAQA,GACY,qBAAXkJ,IAChBA,EAAO9U,aAAeA,EACtB8U,EAAOzU,OAASA,EAChByU,EAAOpN,KAAOA,EACdoN,EAAOlJ,MAAQA,IAp7EnB;;;;;;;;;;;;AAq8EA,WAEE,aAGA5L,aAAaG,UAAU4U,KAAO,CAAC,EAAG,EAAG,GACrC/U,aAAaG,UAAU6U,aAAe,CAAC,EAAG,GAAI,EAAG,EAAG,EAAG,GAWvDhV,aAAaG,UAAU8U,OAAS,SAASC,GACvC,IAAI9U,EAAOH,KAGX,IAAKG,EAAKiB,MAAQjB,EAAKiB,IAAI6M,SACzB,OAAO9N,EAIT,IAAK,IAAI2B,EAAE3B,EAAKM,OAAOsB,OAAO,EAAGD,GAAG,EAAGA,IACrC3B,EAAKM,OAAOqB,GAAGkT,OAAOC,GAGxB,OAAO9U,GAWTJ,aAAaG,UAAUgV,IAAM,SAASC,EAAGC,EAAGC,GAC1C,IAAIlV,EAAOH,KAGX,OAAKG,EAAKiB,KAAQjB,EAAKiB,IAAI6M,UAK3BmH,EAAkB,kBAANA,EAAkBjV,EAAK2U,KAAK,GAAKM,EAC7CC,EAAkB,kBAANA,EAAkBlV,EAAK2U,KAAK,GAAKO,EAE5B,kBAANF,EAWFhV,EAAK2U,MAVZ3U,EAAK2U,KAAO,CAACK,EAAGC,EAAGC,GAEwB,qBAAhClV,EAAKiB,IAAI6M,SAASqH,WAC3BnV,EAAKiB,IAAI6M,SAASqH,UAAUC,gBAAgBpV,EAAK2U,KAAK,GAAI1U,OAAOgB,IAAIS,YAAa,IAClF1B,EAAKiB,IAAI6M,SAASuH,UAAUD,gBAAgBpV,EAAK2U,KAAK,GAAI1U,OAAOgB,IAAIS,YAAa,IAClF1B,EAAKiB,IAAI6M,SAASwH,UAAUF,gBAAgBpV,EAAK2U,KAAK,GAAI1U,OAAOgB,IAAIS,YAAa,KAElF1B,EAAKiB,IAAI6M,SAASyH,YAAYvV,EAAK2U,KAAK,GAAI3U,EAAK2U,KAAK,GAAI3U,EAAK2U,KAAK,IAMjE3U,IArBEA,GAsCXJ,aAAaG,UAAUyV,YAAc,SAASR,EAAGC,EAAGC,EAAGO,EAAKC,EAAKC,GAC/D,IAAI3V,EAAOH,KAGX,IAAKG,EAAKiB,MAAQjB,EAAKiB,IAAI6M,SACzB,OAAO9N,EAIT,IAAI4V,EAAK5V,EAAK4U,aAOd,OANAK,EAAkB,kBAANA,EAAkBW,EAAG,GAAKX,EACtCC,EAAkB,kBAANA,EAAkBU,EAAG,GAAKV,EACtCO,EAAsB,kBAARA,EAAoBG,EAAG,GAAKH,EAC1CC,EAAsB,kBAARA,EAAoBE,EAAG,GAAKF,EAC1CC,EAAsB,kBAARA,EAAoBC,EAAG,GAAKD,EAEzB,kBAANX,EAcFY,GAbP5V,EAAK4U,aAAe,CAACI,EAAGC,EAAGC,EAAGO,EAAKC,EAAKC,GAEE,qBAA/B3V,EAAKiB,IAAI6M,SAAS+H,UAC3B7V,EAAKiB,IAAI6M,SAAS+H,SAAST,gBAAgBJ,EAAG/U,OAAOgB,IAAIS,YAAa,IACtE1B,EAAKiB,IAAI6M,SAASgI,SAASV,gBAAgBH,EAAGhV,OAAOgB,IAAIS,YAAa,IACtE1B,EAAKiB,IAAI6M,SAASiI,SAASX,gBAAgBF,EAAGjV,OAAOgB,IAAIS,YAAa,IACtE1B,EAAKiB,IAAI6M,SAASkI,IAAIZ,gBAAgBK,EAAKxV,OAAOgB,IAAIS,YAAa,IACnE1B,EAAKiB,IAAI6M,SAASmI,IAAIb,gBAAgBM,EAAKzV,OAAOgB,IAAIS,YAAa,IACnE1B,EAAKiB,IAAI6M,SAASoI,IAAId,gBAAgBO,EAAK1V,OAAOgB,IAAIS,YAAa,KAEnE1B,EAAKiB,IAAI6M,SAASqI,eAAenB,EAAGC,EAAGC,EAAGO,EAAKC,EAAKC,GAMjD3V,IAWTsH,KAAKvH,UAAUD,KAAO,SAAUsW,GAC9B,OAAO,SAAS7O,GACd,IAAIvH,EAAOH,KAuBX,OApBAG,EAAK4U,aAAerN,EAAEiO,aAAe,CAAC,EAAG,EAAG,GAC5CxV,EAAKqW,QAAU9O,EAAEsN,QAAU,KAC3B7U,EAAK2U,KAAOpN,EAAEwN,KAAO,KACrB/U,EAAKsW,YAAc,CACjBC,eAA4C,qBAArBhP,EAAEgP,eAAiChP,EAAEgP,eAAiB,IAC7EC,eAA4C,qBAArBjP,EAAEiP,eAAiCjP,EAAEiP,eAAiB,IAC7EC,cAA0C,qBAApBlP,EAAEkP,cAAgClP,EAAEkP,cAAgB,EAC1EC,cAA0C,qBAApBnP,EAAEmP,cAAgCnP,EAAEmP,cAAgB,UAC1EC,YAAsC,qBAAlBpP,EAAEoP,YAA8BpP,EAAEoP,YAAc,IACpEC,aAAwC,qBAAnBrP,EAAEqP,aAA+BrP,EAAEqP,aAAe,OACvEC,YAAsC,qBAAlBtP,EAAEsP,YAA8BtP,EAAEsP,YAAc,EACpEC,cAA0C,qBAApBvP,EAAEuP,cAAgCvP,EAAEuP,cAAgB,GAI5E9W,EAAK+W,UAAYxP,EAAEyP,SAAW,CAAC,CAAC3N,GAAI9B,EAAEyP,WAAa,GACnDhX,EAAKiX,OAAS1P,EAAE2P,MAAQ,CAAC,CAAC7N,GAAI9B,EAAE2P,QAAU,GAC1ClX,EAAKmX,eAAiB5P,EAAE6P,cAAgB,CAAC,CAAC/N,GAAI9B,EAAE6P,gBAAkB,GAG3DhB,EAAO7E,KAAK1R,KAAM0H,IAzBP,CA2BnBD,KAAKvH,UAAUD,MAQlBwH,KAAKvH,UAAU8U,OAAS,SAASC,EAAKnJ,GACpC,IAAI3L,EAAOH,KAGX,IAAKG,EAAK6B,UACR,OAAO7B,EAIT,GAAoB,WAAhBA,EAAK+I,OAQP,OAPA/I,EAAKiJ,OAAOnC,KAAK,CACfiE,MAAO,SACPC,OAAQ,WACNhL,EAAK6U,OAAOC,EAAKnJ,MAId3L,EAIT,IAAIqX,EAAuD,qBAAlCpX,OAAOgB,IAAIqW,mBAAsC,UAAY,SAGtF,GAAkB,qBAAP3L,EAAoB,CAE7B,GAAmB,kBAARmJ,EAIT,OAAO9U,EAAKqW,QAHZrW,EAAKqW,QAAUvB,EACf9U,EAAK2U,KAAO,CAACG,EAAK,EAAG,GAQzB,IADA,IAAIhT,EAAM9B,EAAK+B,aAAa4J,GACnBhK,EAAE,EAAGA,EAAEG,EAAIF,OAAQD,IAAK,CAE/B,IAAIM,EAAQjC,EAAKkC,WAAWJ,EAAIH,IAEhC,GAAIM,EAAO,CACT,GAAmB,kBAAR6S,EA4BT,OAAO7S,EAAMoU,QA3BbpU,EAAMoU,QAAUvB,EAChB7S,EAAM0S,KAAO,CAACG,EAAK,EAAG,GAElB7S,EAAME,QAERF,EAAMqU,YAAYM,aAAe,aAG5B3U,EAAM8P,SAAY9P,EAAM8P,QAAQ+C,KACnCyC,EAAYtV,EAAOoV,GAGF,YAAfA,EACqC,qBAA5BpV,EAAM8P,QAAQoD,WACvBlT,EAAM8P,QAAQoD,UAAU1T,eAAeqT,EAAK7U,OAAOgB,IAAIS,aACvDO,EAAM8P,QAAQsD,UAAU5T,eAAe,EAAGxB,OAAOgB,IAAIS,aACrDO,EAAM8P,QAAQuD,UAAU7T,eAAe,EAAGxB,OAAOgB,IAAIS,cAErDO,EAAM8P,QAAQwD,YAAYT,EAAK,EAAG,GAGpC7S,EAAM8P,QAAQ+C,IAAIrT,eAAeqT,EAAK7U,OAAOgB,IAAIS,cAIrD1B,EAAKkG,MAAM,SAAUjE,EAAM6J,MAOjC,OAAO9L,GAWTsH,KAAKvH,UAAUgV,IAAM,SAASC,EAAGC,EAAGC,EAAGvJ,GACrC,IAAI3L,EAAOH,KAGX,IAAKG,EAAK6B,UACR,OAAO7B,EAIT,GAAoB,WAAhBA,EAAK+I,OAQP,OAPA/I,EAAKiJ,OAAOnC,KAAK,CACfiE,MAAO,MACPC,OAAQ,WACNhL,EAAK+U,IAAIC,EAAGC,EAAGC,EAAGvJ,MAIf3L,EAQT,GAJAiV,EAAkB,kBAANA,EAAkB,EAAIA,EAClCC,EAAkB,kBAANA,GAAmB,GAAMA,EAGnB,qBAAPvJ,EAAoB,CAE7B,GAAiB,kBAANqJ,EAGT,OAAOhV,EAAK2U,KAFZ3U,EAAK2U,KAAO,CAACK,EAAGC,EAAGC,GAQvB,IADA,IAAIpT,EAAM9B,EAAK+B,aAAa4J,GACnBhK,EAAE,EAAGA,EAAEG,EAAIF,OAAQD,IAAK,CAE/B,IAAIM,EAAQjC,EAAKkC,WAAWJ,EAAIH,IAEhC,GAAIM,EAAO,CACT,GAAiB,kBAAN+S,EAoBT,OAAO/S,EAAM0S,KAnBb1S,EAAM0S,KAAO,CAACK,EAAGC,EAAGC,GAEhBjT,EAAME,QAEHF,EAAM8P,UAAW9P,EAAM8P,QAAQ+C,KAClCyC,EAAYtV,EAAO,WAGkB,qBAA5BA,EAAM8P,QAAQoD,WACvBlT,EAAM8P,QAAQoD,UAAU1T,eAAeuT,EAAG/U,OAAOgB,IAAIS,aACrDO,EAAM8P,QAAQsD,UAAU5T,eAAewT,EAAGhV,OAAOgB,IAAIS,aACrDO,EAAM8P,QAAQuD,UAAU7T,eAAeyT,EAAGjV,OAAOgB,IAAIS,cAErDO,EAAM8P,QAAQwD,YAAYP,EAAGC,EAAGC,IAIpClV,EAAKkG,MAAM,MAAOjE,EAAM6J,MAO9B,OAAO9L,GAaTsH,KAAKvH,UAAUyV,YAAc,SAASR,EAAGC,EAAGC,EAAGvJ,GAC7C,IAAI3L,EAAOH,KAGX,IAAKG,EAAK6B,UACR,OAAO7B,EAIT,GAAoB,WAAhBA,EAAK+I,OAQP,OAPA/I,EAAKiJ,OAAOnC,KAAK,CACfiE,MAAO,cACPC,OAAQ,WACNhL,EAAKwV,YAAYR,EAAGC,EAAGC,EAAGvJ,MAIvB3L,EAQT,GAJAiV,EAAkB,kBAANA,EAAkBjV,EAAK4U,aAAa,GAAKK,EACrDC,EAAkB,kBAANA,EAAkBlV,EAAK4U,aAAa,GAAKM,EAGnC,qBAAPvJ,EAAoB,CAE7B,GAAiB,kBAANqJ,EAGT,OAAOhV,EAAK4U,aAFZ5U,EAAK4U,aAAe,CAACI,EAAGC,EAAGC,GAQ/B,IADA,IAAIpT,EAAM9B,EAAK+B,aAAa4J,GACnBhK,EAAE,EAAGA,EAAEG,EAAIF,OAAQD,IAAK,CAE/B,IAAIM,EAAQjC,EAAKkC,WAAWJ,EAAIH,IAEhC,GAAIM,EAAO,CACT,GAAiB,kBAAN+S,EAyBT,OAAO/S,EAAM2S,aAxBb3S,EAAM2S,aAAe,CAACI,EAAGC,EAAGC,GAExBjT,EAAME,QAEHF,EAAM8P,UAEJ9P,EAAM0S,OACT1S,EAAM0S,KAAO3U,EAAK2U,MAAQ,CAAC,EAAG,GAAI,KAGpC4C,EAAYtV,EAAO,YAGqB,qBAA/BA,EAAM8P,QAAQyF,cACvBvV,EAAM8P,QAAQyF,aAAa/V,eAAeuT,EAAG/U,OAAOgB,IAAIS,aACxDO,EAAM8P,QAAQ0F,aAAahW,eAAewT,EAAGhV,OAAOgB,IAAIS,aACxDO,EAAM8P,QAAQ2F,aAAajW,eAAeyT,EAAGjV,OAAOgB,IAAIS,cAExDO,EAAM8P,QAAQoE,eAAenB,EAAGC,EAAGC,IAIvClV,EAAKkG,MAAM,cAAejE,EAAM6J,MAOtC,OAAO9L,GAiCTsH,KAAKvH,UAAU4X,WAAa,WAC1B,IAEIpQ,EAAGoE,EAAI1J,EAFPjC,EAAOH,KACP2O,EAAOH,UAIX,IAAKrO,EAAK6B,UACR,OAAO7B,EAIT,GAAoB,IAAhBwO,EAAK5M,OAEP,OAAO5B,EAAKsW,YACP,GAAoB,IAAhB9H,EAAK5M,OAAc,CAC5B,GAAuB,kBAAZ4M,EAAK,GAgCd,OADAvM,EAAQjC,EAAKkC,WAAWwB,SAAS8K,EAAK,GAAI,KACnCvM,EAAQA,EAAMqU,YAActW,EAAKsW,YA/BxC/O,EAAIiH,EAAK,GAGS,qBAAP7C,IACJpE,EAAEoQ,aACLpQ,EAAEoQ,WAAa,CACbpB,eAAgBhP,EAAEgP,eAClBC,eAAgBjP,EAAEiP,eAClBC,cAAelP,EAAEkP,cACjBC,cAAenP,EAAEmP,cACjBC,YAAapP,EAAEoP,YACfE,YAAatP,EAAEsP,YACfC,cAAevP,EAAEuP,cACjBF,aAAcrP,EAAEqP,eAIpB5W,EAAKsW,YAAc,CACjBC,eAAuD,qBAAhChP,EAAEoQ,WAAWpB,eAAiChP,EAAEoQ,WAAWpB,eAAiBvW,EAAK4X,gBACxGpB,eAAuD,qBAAhCjP,EAAEoQ,WAAWnB,eAAiCjP,EAAEoQ,WAAWnB,eAAiBxW,EAAK6X,gBACxGpB,cAAqD,qBAA/BlP,EAAEoQ,WAAWlB,cAAgClP,EAAEoQ,WAAWlB,cAAgBzW,EAAK8X,eACrGpB,cAAqD,qBAA/BnP,EAAEoQ,WAAWjB,cAAgCnP,EAAEoQ,WAAWjB,cAAgB1W,EAAK+X,eACrGpB,YAAiD,qBAA7BpP,EAAEoQ,WAAWhB,YAA8BpP,EAAEoQ,WAAWhB,YAAc3W,EAAKgY,aAC/FnB,YAAiD,qBAA7BtP,EAAEoQ,WAAWd,YAA8BtP,EAAEoQ,WAAWd,YAAc7W,EAAKiY,aAC/FnB,cAAqD,qBAA/BvP,EAAEoQ,WAAWb,cAAgCvP,EAAEoQ,WAAWb,cAAgB9W,EAAKkY,eACrGtB,aAAmD,qBAA9BrP,EAAEoQ,WAAWf,aAA+BrP,EAAEoQ,WAAWf,aAAe5W,EAAKmY,qBAQ/E,IAAhB3J,EAAK5M,SACd2F,EAAIiH,EAAK,GACT7C,EAAKjI,SAAS8K,EAAK,GAAI,KAKzB,IADA,IAAI1M,EAAM9B,EAAK+B,aAAa4J,GACnBhK,EAAE,EAAGA,EAAEG,EAAIF,OAAQD,IAG1B,GAFAM,EAAQjC,EAAKkC,WAAWJ,EAAIH,IAExBM,EAAO,CAET,IAAImW,EAAKnW,EAAMqU,YACf8B,EAAK,CACH7B,eAA4C,qBAArBhP,EAAEgP,eAAiChP,EAAEgP,eAAiB6B,EAAG7B,eAChFC,eAA4C,qBAArBjP,EAAEiP,eAAiCjP,EAAEiP,eAAiB4B,EAAG5B,eAChFC,cAA0C,qBAApBlP,EAAEkP,cAAgClP,EAAEkP,cAAgB2B,EAAG3B,cAC7EC,cAA0C,qBAApBnP,EAAEmP,cAAgCnP,EAAEmP,cAAgB0B,EAAG1B,cAC7EC,YAAsC,qBAAlBpP,EAAEoP,YAA8BpP,EAAEoP,YAAcyB,EAAGzB,YACvEE,YAAsC,qBAAlBtP,EAAEsP,YAA8BtP,EAAEsP,YAAcuB,EAAGvB,YACvEC,cAA0C,qBAApBvP,EAAEuP,cAAgCvP,EAAEuP,cAAgBsB,EAAGtB,cAC7EF,aAAwC,qBAAnBrP,EAAEqP,aAA+BrP,EAAEqP,aAAewB,EAAGxB,cAI5E,IAAIyB,EAASpW,EAAM8P,QACfsG,GACFA,EAAO9B,eAAiB6B,EAAG7B,eAC3B8B,EAAO7B,eAAiB4B,EAAG5B,eAC3B6B,EAAO5B,cAAgB2B,EAAG3B,cAC1B4B,EAAO3B,cAAgB0B,EAAG1B,cAC1B2B,EAAO1B,YAAcyB,EAAGzB,YACxB0B,EAAOxB,YAAcuB,EAAGvB,YACxBwB,EAAOvB,cAAgBsB,EAAGtB,cAC1BuB,EAAOzB,aAAewB,EAAGxB,eAGpB3U,EAAM0S,OACT1S,EAAM0S,KAAO3U,EAAK2U,MAAQ,CAAC,EAAG,GAAI,KAIpC4C,EAAYtV,EAAO,YAKzB,OAAOjC,GAWTwL,MAAMzL,UAAUD,KAAO,SAAUsW,GAC/B,OAAO,WACL,IAAIpW,EAAOH,KACPwS,EAASrS,EAAKoS,QAGlBpS,EAAK4U,aAAevC,EAAOuC,aAC3B5U,EAAKqW,QAAUhE,EAAOgE,QACtBrW,EAAK2U,KAAOtC,EAAOsC,KACnB3U,EAAKsW,YAAcjE,EAAOiE,YAG1BF,EAAO7E,KAAK1R,MAGRG,EAAKqW,QACPhE,EAAOwC,OAAO7U,EAAKqW,SACVrW,EAAK2U,MACdtC,EAAO0C,IAAI/U,EAAK2U,KAAK,GAAI3U,EAAK2U,KAAK,GAAI3U,EAAK2U,KAAK,GAAI3U,EAAK8L,MAlBzC,CAqBpBN,MAAMzL,UAAUD,MAOnB0L,MAAMzL,UAAU6R,MAAQ,SAAUwE,GAChC,OAAO,WACL,IAAIpW,EAAOH,KACPwS,EAASrS,EAAKoS,QAqBlB,OAlBApS,EAAK4U,aAAevC,EAAOuC,aAC3B5U,EAAKqW,QAAUhE,EAAOgE,QACtBrW,EAAK2U,KAAOtC,EAAOsC,KACnB3U,EAAKsW,YAAcjE,EAAOiE,YAGtBtW,EAAKqW,QACPhE,EAAOwC,OAAO7U,EAAKqW,SACVrW,EAAK2U,KACdtC,EAAO0C,IAAI/U,EAAK2U,KAAK,GAAI3U,EAAK2U,KAAK,GAAI3U,EAAK2U,KAAK,GAAI3U,EAAK8L,KACjD9L,EAAK+R,UAEd/R,EAAK+R,QAAQhM,WAAW,GACxB/F,EAAK+R,aAAUpJ,EACf0J,EAAOtF,eAAe/M,IAIjBoW,EAAO7E,KAAK1R,OAxBC,CA0BrB2L,MAAMzL,UAAU6R,OAUnB,IAAI2F,EAAc,SAAStV,EAAOqW,GAChCA,EAAOA,GAAQ,UAGF,YAATA,GACFrW,EAAM8P,QAAU9R,OAAOgB,IAAIsX,eAC3BtW,EAAM8P,QAAQwE,eAAiBtU,EAAMqU,YAAYC,eACjDtU,EAAM8P,QAAQyE,eAAiBvU,EAAMqU,YAAYE,eACjDvU,EAAM8P,QAAQ0E,cAAgBxU,EAAMqU,YAAYG,cAChDxU,EAAM8P,QAAQ2E,cAAgBzU,EAAMqU,YAAYI,cAChDzU,EAAM8P,QAAQ4E,YAAc1U,EAAMqU,YAAYK,YAC9C1U,EAAM8P,QAAQ8E,YAAc5U,EAAMqU,YAAYO,YAC9C5U,EAAM8P,QAAQ+E,cAAgB7U,EAAMqU,YAAYQ,cAChD7U,EAAM8P,QAAQ6E,aAAe3U,EAAMqU,YAAYM,aAER,qBAA5B3U,EAAM8P,QAAQoD,WACvBlT,EAAM8P,QAAQoD,UAAU1T,eAAeQ,EAAM0S,KAAK,GAAI1U,OAAOgB,IAAIS,aACjEO,EAAM8P,QAAQsD,UAAU5T,eAAeQ,EAAM0S,KAAK,GAAI1U,OAAOgB,IAAIS,aACjEO,EAAM8P,QAAQuD,UAAU7T,eAAeQ,EAAM0S,KAAK,GAAI1U,OAAOgB,IAAIS,cAEjEO,EAAM8P,QAAQwD,YAAYtT,EAAM0S,KAAK,GAAI1S,EAAM0S,KAAK,GAAI1S,EAAM0S,KAAK,IAG3B,qBAA/B1S,EAAM8P,QAAQyF,cACvBvV,EAAM8P,QAAQyF,aAAa/V,eAAeQ,EAAM2S,aAAa,GAAI3U,OAAOgB,IAAIS,aAC5EO,EAAM8P,QAAQ0F,aAAahW,eAAeQ,EAAM2S,aAAa,GAAI3U,OAAOgB,IAAIS,aAC5EO,EAAM8P,QAAQ2F,aAAajW,eAAeQ,EAAM2S,aAAa,GAAI3U,OAAOgB,IAAIS,cAE5EO,EAAM8P,QAAQoE,eAAelU,EAAM2S,aAAa,GAAI3S,EAAM2S,aAAa,GAAI3S,EAAM2S,aAAa,MAGhG3S,EAAM8P,QAAU9R,OAAOgB,IAAIqW,qBAC3BrV,EAAM8P,QAAQ+C,IAAIrT,eAAeQ,EAAMoU,QAASpW,OAAOgB,IAAIS,cAG7DO,EAAM8P,QAAQtM,QAAQxD,EAAME,OAGvBF,EAAMgF,SACThF,EAAMmQ,QAAQrE,MAAM9L,EAAM6J,KAAK,GAAMvF,KAAKtE,EAAM6J,KAAK,IAjoB3D,K,iEC/8EA,IAAI0M,EAAS,WAAa,IAAIC,EAAI5Y,KAAS6Y,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,MAAM,CAACE,YAAY,yBAAyB,CAACF,EAAG,MAAM,CAACE,YAAY,yBAAyB,CAACF,EAAG,cAAc,CAACE,YAAY,YAAYC,MAAM,CAACC,MAAOP,EAAiB,cAAEQ,SAAS,SAAUC,GAAMT,EAAIU,cAAcD,GAAKE,WAAW,kBAAkB,CAACX,EAAIY,GAAG,0BAA0B,GAAGT,EAAG,MAAM,CAACE,YAAY,yBAAyB,CAACF,EAAG,IAAI,CAACU,YAAY,CAAC,MAAQ,SAAS,CAACb,EAAIY,GAAG,2BAA2BT,EAAG,MAAMA,EAAG,iBAAiB,CAACE,YAAY,WAAW,CAACF,EAAG,WAAW,CAACW,KAAK,WAAW,CAACX,EAAG,MAAM,CAACE,YAAY,0BAA0B,CAACF,EAAG,YAAY,CAACY,MAAM,CAAC,YAAY,UAAU,KAAO,oBAAoB,MAAQ,WAAW1I,GAAG,CAAC,MAAQ,SAAS2I,GAAQ,OAAOhB,EAAIiB,aAAa,QAAQ,KAAKd,EAAG,WAAW,CAACG,MAAM,CAACC,MAAOP,EAAmB,gBAAEQ,SAAS,SAAUC,GAAMT,EAAIkB,gBAAgBT,GAAKE,WAAW,qBAAqBR,EAAG,WAAW,CAACW,KAAK,UAAU,CAACX,EAAG,MAAM,CAACE,YAAY,yBAAyB,CAACF,EAAG,YAAY,CAACY,MAAM,CAAC,YAAY,UAAU,KAAO,mBAAmB,MAAQ,WAAW1I,GAAG,CAAC,MAAQ,SAAS2I,GAAQ,OAAOhB,EAAIiB,YAAY,QAAQ,MAAM,IAAI,KAAMjB,EAAU,OAAEG,EAAG,MAAM,CAACE,YAAY,mBAAmBL,EAAImB,GAAInB,EAAU,QAAE,SAASoB,GAAO,OAAOjB,EAAG,MAAM,CAACkB,IAAID,EAAMlO,GAAGmN,YAAY,iCAAiC,CAACF,EAAG,UAAU,CAACY,MAAM,CAAC,MAAQf,EAAIsB,OAAOF,EAAMG,YAAYnS,OAAO,sBAAsB,CAAmB,IAAjBgS,EAAMnG,OAAckF,EAAG,YAAY,CAACE,YAAY,YAAYU,MAAM,CAAC,MAAQ,WAAW1I,GAAG,CAAC,MAAQ,SAAS2I,GAAQ,OAAOhB,EAAIwB,UAAUJ,EAAMlO,OAAO,CAAC8M,EAAIY,GAAG,uBAAuBZ,EAAIyB,KAAuB,IAAjBL,EAAMnG,OAAckF,EAAG,YAAY,CAACE,YAAY,YAAYU,MAAM,CAAC,MAAQ,QAAQ1I,GAAG,CAAC,MAAQ,SAAS2I,GAAQ,OAAOhB,EAAI0B,YAAYN,EAAMlO,OAAO,CAAC8M,EAAIY,GAAG,uBAAuBZ,EAAIyB,KAAuB,IAAjBL,EAAMnG,QAAiC,IAAjBmG,EAAMnG,OAAckF,EAAG,YAAY,CAACE,YAAY,YAAYU,MAAM,CAAC,MAAQ,UAAU1I,GAAG,CAAC,MAAQ,SAAS2I,GAAQ,OAAOhB,EAAI2B,sBAAsBP,EAAMlO,OAAO,CAAC8M,EAAIY,GAAG,qBAAqBZ,EAAIyB,KAAKtB,EAAG,IAAI,CAACA,EAAG,IAAI,CAACH,EAAIY,GAAG,UAAUZ,EAAIY,GAAG,IAAIZ,EAAI4B,GAAGR,EAAMS,SAAS1B,EAAG,IAAI,CAACA,EAAG,IAAI,CAACH,EAAIY,GAAG,0BAA0BZ,EAAIY,GAAG,IAAIZ,EAAI4B,GAAGR,EAAMU,iBAAiB3B,EAAG,IAAI,CAACA,EAAG,IAAI,CAACH,EAAIY,GAAG,aAAaZ,EAAIY,GAAG,IAAIZ,EAAI4B,GAAGR,EAAMW,YAAY5B,EAAG,IAAI,CAACA,EAAG,IAAI,CAACH,EAAIY,GAAG,kBAAkBZ,EAAIY,GAAG,IAAIZ,EAAI4B,GAAGR,EAAMY,iBAAiB7B,EAAG,IAAI,CAACA,EAAG,IAAI,CAACH,EAAIY,GAAG,gBAAgBZ,EAAIY,GAAG,IAAIZ,EAAI4B,GAAGR,EAAMa,WAAWC,QAAQ,IAAI,QAAQ/B,EAAG,IAAI,CAACA,EAAG,IAAI,CAACH,EAAIY,GAAG,mBAAmBZ,EAAIY,GAAG,IAAIZ,EAAI4B,GAAGR,EAAMe,eAAeD,QAAQ,IAAI,QAAQ/B,EAAG,IAAI,CAACE,YAAY,QAAQ,CAACF,EAAG,IAAI,CAACH,EAAIY,GAAG,kBAAkBZ,EAAIY,GAAG,IAAIZ,EAAI4B,GAAGR,EAAMgB,YAAYF,QAAQ,IAAI,QAAQ/B,EAAG,IAAI,CAACE,YAAY,QAAQ,CAACF,EAAG,IAAI,CAACE,YAAY,OAAOQ,YAAY,CAAC,MAAQ,SAAS,CAACb,EAAIY,GAAG,sBAAwC,IAAjBQ,EAAMnG,OAAckF,EAAG,UAAU,CAACE,YAAY,OAAOU,MAAM,CAAC,MAAQ,YAAY,CAACf,EAAIY,GAAG,kCAAkCZ,EAAIyB,KAAuB,IAAjBL,EAAMnG,OAAckF,EAAG,UAAU,CAACE,YAAY,OAAOU,MAAM,CAAC,MAAQ,YAAY,CAACf,EAAIY,GAAG,wBAAwBZ,EAAIyB,KAAuB,IAAjBL,EAAMnG,OAAckF,EAAG,UAAU,CAACE,YAAY,OAAOU,MAAM,CAAC,MAAQ,YAAY,CAACf,EAAIY,GAAG,uBAAuBZ,EAAIyB,KAAuB,IAAjBL,EAAMnG,OAAckF,EAAG,UAAU,CAACE,YAAY,OAAOU,MAAM,CAAC,MAAQ,YAAY,CAACf,EAAIY,GAAG,yBAAyBZ,EAAIyB,KAAuB,IAAjBL,EAAMnG,OAAckF,EAAG,UAAU,CAACE,YAAY,OAAOU,MAAM,CAAC,MAAQ,WAAW,CAACf,EAAIY,GAAG,yBAAyBZ,EAAIyB,MAAM,GAAGtB,EAAG,MAAM,CAACE,YAAY,OAAOQ,YAAY,CAAC,MAAQ,UAAUV,EAAG,KAAK,CAACH,EAAIY,GAAG,UAAUT,EAAG,MAAM,CAACE,YAAY,eAAeL,EAAImB,GAAIC,EAAW,OAAE,SAASiB,GAAM,OAAOlC,EAAG,MAAM,CAACkB,IAAIgB,EAAKnP,GAAGmN,YAAY,sBAAsB,CAACF,EAAG,KAAK,CAACE,YAAY,QAAQ,CAACL,EAAIY,GAAG,KAAKZ,EAAI4B,GAAGS,EAAKC,cAAcnC,EAAG,MAAM,CAACE,YAAY,QAAQ,CAAEgC,EAAKE,mBAAmBpZ,OAAS,EAAGgX,EAAG,IAAI,CAACA,EAAG,IAAI,CAACH,EAAIY,GAAG,mBAAmBZ,EAAIY,GAAG,IAAIZ,EAAI4B,GAAGS,EAAKE,uBAAuBvC,EAAIyB,KAAKtB,EAAG,IAAI,CAACA,EAAG,IAAI,CAACH,EAAIY,GAAG,eAAeZ,EAAIY,GAAG,IAAIZ,EAAI4B,GAAGS,EAAKG,aAAarC,EAAG,IAAI,CAACA,EAAG,IAAI,CAACH,EAAIY,GAAG,WAAWZ,EAAIY,GAAG,IAAIZ,EAAI4B,GAAGS,EAAKI,MAAMP,QAAQ,IAAI,QAAQlC,EAAImB,GAAIkB,EAAY,SAAE,SAAS9B,EAAMc,GAAK,OAAOlB,EAAG,IAAI,CAACkB,IAAIA,GAAK,CAAClB,EAAG,IAAI,CAACH,EAAIY,GAAGZ,EAAI4B,GAAGP,GAAK,OAAOrB,EAAIY,GAAG,IAAIZ,EAAI4B,GAAGrB,SAAa8B,EAAKK,UAAUvZ,OAAS,EAAGgX,EAAG,IAAI,CAACA,EAAG,IAAI,CAACH,EAAIY,GAAG,eAAeZ,EAAIyB,KAAMY,EAAKK,UAAUvZ,OAAS,EAAGgX,EAAG,MAAM,CAACE,YAAY,QAAQL,EAAImB,GAAIkB,EAAc,WAAE,SAASM,EAAS3M,GAAO,OAAOmK,EAAG,MAAM,CAACkB,IAAIrL,EAAMqK,YAAY,UAAU,CAAyB,MAAvBsC,EAASC,OAAO,GAAYzC,EAAG,MAAM,CAACA,EAAG,eAAe,CAACU,YAAY,CAAC,MAAQ,QAAQE,MAAM,CAAC,WAAa,2BAA2B,KAAO,WAAWZ,EAAG,IAAI,CAACE,YAAY,OAAOQ,YAAY,CAAC,MAAQ,SAAS,CAACb,EAAIY,GAAGZ,EAAI4B,GAAGe,EAASE,UAAU,EAAGF,EAASxZ,aAAa,GAAGgX,EAAG,MAAM,CAACA,EAAG,eAAe,CAACU,YAAY,CAAC,MAAQ,QAAQE,MAAM,CAAC,WAAa,8BAA8B,KAAO,eAAeZ,EAAG,IAAI,CAACE,YAAY,OAAOQ,YAAY,CAAC,MAAQ,SAAS,CAACb,EAAIY,GAAGZ,EAAI4B,GAAGe,OAAc,QAAO,GAAG3C,EAAIyB,MAAM,QAAO,IAAI,IAAI,MAAK,GAAGzB,EAAIyB,KAAKtB,EAAG,YAAY,CAACY,MAAM,CAAC,MAAQ,oBAAoB,OAASf,EAAI8C,yBAAyBzK,GAAG,CAAC,OAAS2H,EAAI+C,YAAY,gBAAgB,SAAS/B,GAAQhB,EAAI8C,wBAAwB9B,KAAU,CAAChB,EAAIY,GAAG,wGAAwG,IACzlKoC,EAAkB,G,UCoGtB,UAEA,OACE,KADF,WAEI,MAAJ,CAEM,OAAN,KAEM,eAAN,EAEM,kBAAN,GAEM,yBAAN,EACM,cAAN,EAEM,gBAAN,EACM,aAAN,EACM,oBAAN,IAGE,QAAF,CACI,sBADJ,SACA,GACM,KAAN,gBACM,KAAN,4BAEI,YALJ,WAMM,IAAN,OACM,KAAN,cACM,KAAN,yGACA,iBACQ,EAAR,uBACA,mBACQ,EAAR,oBACQ,EAAR,YACU,MAAV,QACU,KAAV,EACU,MAAV,SACU,SAAV,UACU,KAAV,0BAGI,UArBJ,SAqBA,GACM,IAAN,OACM,KAAN,cACM,KAAN,wFACA,iBACQ,EAAR,uBACA,mBACQ,EAAR,oBACQ,EAAR,YACU,MAAV,QACU,KAAV,EACU,MAAV,SACU,SAAV,UACU,KAAV,0BAGI,YArCJ,SAqCA,GACM,IAAN,OACM,KAAN,cACM,KAAN,wFACA,iBACQ,EAAR,uBACA,mBACQ,EAAR,oBACQ,EAAR,YACU,MAAV,QACU,KAAV,EACU,MAAV,SACU,SAAV,UACU,KAAV,0BAGI,aArDJ,WAuDM,IAAN,OAEA,+DACA,qBACQ,EAAR,6DAGM,KAAN,aACA,kBACQ,EAAR,cAEQ,IADA,IAAR,KACA,0BACA,yBACY,GAAZ,GAIQ,GAAR,GACU,GAAV,2BACY,IAAZ,YACc,IAAd,gBACc,OAAd,IAEY,EAAZ,OAEU,EAAV,sBACU,EAAV,kDAEU,EAAV,yBAGA,mBACQ,EAAR,YACU,MAAV,QACU,KAAV,EACU,MAAV,SACU,SAAV,UACU,KAAV,0BAII,YAhGJ,SAgGA,GACM,IAAN,OACM,KAAN,cACM,KAAN,+GACA,iBACQ,EAAR,oBACQ,EAAR,4CACQ,IAAR,YACU,IAAV,aACU,OAAV,IAEQ,EAAR,UACA,mBACQ,EAAR,oBACQ,EAAR,YACU,MAAV,QACU,KAAV,EACU,MAAV,SACU,SAAV,UACU,KAAV,2BAIE,cAzIF,WA0II,cAAJ,yBAEE,QA5IF,WA4II,IAAJ,OACA,OACI,KAAJ,wCACA,kBACM,EAAN,+BACM,EAAN,kBACA,mBACM,EAAN,YACQ,MAAR,QACQ,KAAR,EACQ,MAAR,SACQ,SAAR,UACQ,KAAR,yBAEI,KAAJ,eACI,KAAJ,0CAAM,EAAN,wBClQ+W,I,YCO3WC,EAAY,eACd,EACAlD,EACAiD,GACA,EACA,KACA,KACA,MAIa,aAAAC,E","file":"js/chunk-49879bc8.9fb1653c.js","sourcesContent":["/*!\n * howler.js v2.1.3\n * howlerjs.com\n *\n * (c) 2013-2019, James Simpson of GoldFire Studios\n * goldfirestudios.com\n *\n * MIT License\n */\n\n(function() {\n\n 'use strict';\n\n /** Global Methods **/\n /***************************************************************************/\n\n /**\n * Create the global controller. All contained methods and properties apply\n * to all sounds that are currently playing or will be in the future.\n */\n var HowlerGlobal = function() {\n this.init();\n };\n HowlerGlobal.prototype = {\n /**\n * Initialize the global Howler object.\n * @return {Howler}\n */\n init: function() {\n var self = this || Howler;\n\n // Create a global ID counter.\n self._counter = 1000;\n\n // Pool of unlocked HTML5 Audio objects.\n self._html5AudioPool = [];\n self.html5PoolSize = 10;\n\n // Internal properties.\n self._codecs = {};\n self._howls = [];\n self._muted = false;\n self._volume = 1;\n self._canPlayEvent = 'canplaythrough';\n self._navigator = (typeof window !== 'undefined' && window.navigator) ? window.navigator : null;\n\n // Public properties.\n self.masterGain = null;\n self.noAudio = false;\n self.usingWebAudio = true;\n self.autoSuspend = true;\n self.ctx = null;\n\n // Set to false to disable the auto audio unlocker.\n self.autoUnlock = true;\n\n // Setup the various state values for global tracking.\n self._setup();\n\n return self;\n },\n\n /**\n * Get/set the global volume for all sounds.\n * @param {Float} vol Volume from 0.0 to 1.0.\n * @return {Howler/Float} Returns self or current volume.\n */\n volume: function(vol) {\n var self = this || Howler;\n vol = parseFloat(vol);\n\n // If we don't have an AudioContext created yet, run the setup.\n if (!self.ctx) {\n setupAudioContext();\n }\n\n if (typeof vol !== 'undefined' && vol >= 0 && vol <= 1) {\n self._volume = vol;\n\n // Don't update any of the nodes if we are muted.\n if (self._muted) {\n return self;\n }\n\n // When using Web Audio, we just need to adjust the master gain.\n if (self.usingWebAudio) {\n self.masterGain.gain.setValueAtTime(vol, Howler.ctx.currentTime);\n }\n\n // Loop through and change volume for all HTML5 audio nodes.\n for (var i=0; i=0; i--) {\n self._howls[i].unload();\n }\n\n // Create a new AudioContext to make sure it is fully reset.\n if (self.usingWebAudio && self.ctx && typeof self.ctx.close !== 'undefined') {\n self.ctx.close();\n self.ctx = null;\n setupAudioContext();\n }\n\n return self;\n },\n\n /**\n * Check for codec support of specific extension.\n * @param {String} ext Audio file extention.\n * @return {Boolean}\n */\n codecs: function(ext) {\n return (this || Howler)._codecs[ext.replace(/^x-/, '')];\n },\n\n /**\n * Setup various state values for global tracking.\n * @return {Howler}\n */\n _setup: function() {\n var self = this || Howler;\n\n // Keeps track of the suspend/resume state of the AudioContext.\n self.state = self.ctx ? self.ctx.state || 'suspended' : 'suspended';\n\n // Automatically begin the 30-second suspend process\n self._autoSuspend();\n\n // Check if audio is available.\n if (!self.usingWebAudio) {\n // No audio is available on this system if noAudio is set to true.\n if (typeof Audio !== 'undefined') {\n try {\n var test = new Audio();\n\n // Check if the canplaythrough event is available.\n if (typeof test.oncanplaythrough === 'undefined') {\n self._canPlayEvent = 'canplay';\n }\n } catch(e) {\n self.noAudio = true;\n }\n } else {\n self.noAudio = true;\n }\n }\n\n // Test to make sure audio isn't disabled in Internet Explorer.\n try {\n var test = new Audio();\n if (test.muted) {\n self.noAudio = true;\n }\n } catch (e) {}\n\n // Check for supported codecs.\n if (!self.noAudio) {\n self._setupCodecs();\n }\n\n return self;\n },\n\n /**\n * Check for browser support for various codecs and cache the results.\n * @return {Howler}\n */\n _setupCodecs: function() {\n var self = this || Howler;\n var audioTest = null;\n\n // Must wrap in a try/catch because IE11 in server mode throws an error.\n try {\n audioTest = (typeof Audio !== 'undefined') ? new Audio() : null;\n } catch (err) {\n return self;\n }\n\n if (!audioTest || typeof audioTest.canPlayType !== 'function') {\n return self;\n }\n\n var mpegTest = audioTest.canPlayType('audio/mpeg;').replace(/^no$/, '');\n\n // Opera version <33 has mixed MP3 support, so we need to check for and block it.\n var checkOpera = self._navigator && self._navigator.userAgent.match(/OPR\\/([0-6].)/g);\n var isOldOpera = (checkOpera && parseInt(checkOpera[0].split('/')[1], 10) < 33);\n\n self._codecs = {\n mp3: !!(!isOldOpera && (mpegTest || audioTest.canPlayType('audio/mp3;').replace(/^no$/, ''))),\n mpeg: !!mpegTest,\n opus: !!audioTest.canPlayType('audio/ogg; codecs=\"opus\"').replace(/^no$/, ''),\n ogg: !!audioTest.canPlayType('audio/ogg; codecs=\"vorbis\"').replace(/^no$/, ''),\n oga: !!audioTest.canPlayType('audio/ogg; codecs=\"vorbis\"').replace(/^no$/, ''),\n wav: !!audioTest.canPlayType('audio/wav; codecs=\"1\"').replace(/^no$/, ''),\n aac: !!audioTest.canPlayType('audio/aac;').replace(/^no$/, ''),\n caf: !!audioTest.canPlayType('audio/x-caf;').replace(/^no$/, ''),\n m4a: !!(audioTest.canPlayType('audio/x-m4a;') || audioTest.canPlayType('audio/m4a;') || audioTest.canPlayType('audio/aac;')).replace(/^no$/, ''),\n mp4: !!(audioTest.canPlayType('audio/x-mp4;') || audioTest.canPlayType('audio/mp4;') || audioTest.canPlayType('audio/aac;')).replace(/^no$/, ''),\n weba: !!audioTest.canPlayType('audio/webm; codecs=\"vorbis\"').replace(/^no$/, ''),\n webm: !!audioTest.canPlayType('audio/webm; codecs=\"vorbis\"').replace(/^no$/, ''),\n dolby: !!audioTest.canPlayType('audio/mp4; codecs=\"ec-3\"').replace(/^no$/, ''),\n flac: !!(audioTest.canPlayType('audio/x-flac;') || audioTest.canPlayType('audio/flac;')).replace(/^no$/, '')\n };\n\n return self;\n },\n\n /**\n * Some browsers/devices will only allow audio to be played after a user interaction.\n * Attempt to automatically unlock audio on the first user interaction.\n * Concept from: http://paulbakaus.com/tutorials/html5/web-audio-on-ios/\n * @return {Howler}\n */\n _unlockAudio: function() {\n var self = this || Howler;\n\n // Only run this if Web Audio is supported and it hasn't already been unlocked.\n if (self._audioUnlocked || !self.ctx) {\n return;\n }\n\n self._audioUnlocked = false;\n self.autoUnlock = false;\n\n // Some mobile devices/platforms have distortion issues when opening/closing tabs and/or web views.\n // Bugs in the browser (especially Mobile Safari) can cause the sampleRate to change from 44100 to 48000.\n // By calling Howler.unload(), we create a new AudioContext with the correct sampleRate.\n if (!self._mobileUnloaded && self.ctx.sampleRate !== 44100) {\n self._mobileUnloaded = true;\n self.unload();\n }\n\n // Scratch buffer for enabling iOS to dispose of web audio buffers correctly, as per:\n // http://stackoverflow.com/questions/24119684\n self._scratchBuffer = self.ctx.createBuffer(1, 1, 22050);\n\n // Call this method on touch start to create and play a buffer,\n // then check if the audio actually played to determine if\n // audio has now been unlocked on iOS, Android, etc.\n var unlock = function(e) {\n // Create a pool of unlocked HTML5 Audio objects that can\n // be used for playing sounds without user interaction. HTML5\n // Audio objects must be individually unlocked, as opposed\n // to the WebAudio API which only needs a single activation.\n // This must occur before WebAudio setup or the source.onended\n // event will not fire.\n for (var i=0; i= 55.\n if (typeof self.ctx.resume === 'function') {\n self.ctx.resume();\n }\n\n // Setup a timeout to check that we are unlocked on the next event loop.\n source.onended = function() {\n source.disconnect(0);\n\n // Update the unlocked state and prevent this check from happening again.\n self._audioUnlocked = true;\n\n // Remove the touch start listener.\n document.removeEventListener('touchstart', unlock, true);\n document.removeEventListener('touchend', unlock, true);\n document.removeEventListener('click', unlock, true);\n\n // Let all sounds know that audio has been unlocked.\n for (var i=0; i 0 ? sound._seek : self._sprite[sprite][0] / 1000);\n var duration = Math.max(0, ((self._sprite[sprite][0] + self._sprite[sprite][1]) / 1000) - seek);\n var timeout = (duration * 1000) / Math.abs(sound._rate);\n var start = self._sprite[sprite][0] / 1000;\n var stop = (self._sprite[sprite][0] + self._sprite[sprite][1]) / 1000;\n sound._sprite = sprite;\n\n // Mark the sound as ended instantly so that this async playback\n // doesn't get grabbed by another call to play while this one waits to start.\n sound._ended = false;\n\n // Update the parameters of the sound.\n var setParams = function() {\n sound._paused = false;\n sound._seek = seek;\n sound._start = start;\n sound._stop = stop;\n sound._loop = !!(sound._loop || self._sprite[sprite][2]);\n };\n\n // End the sound instantly if seek is at the end.\n if (seek >= stop) {\n self._ended(sound);\n return;\n }\n\n // Begin the actual playback.\n var node = sound._node;\n if (self._webAudio) {\n // Fire this when the sound is ready to play to begin Web Audio playback.\n var playWebAudio = function() {\n self._playLock = false;\n setParams();\n self._refreshBuffer(sound);\n\n // Setup the playback params.\n var vol = (sound._muted || self._muted) ? 0 : sound._volume;\n node.gain.setValueAtTime(vol, Howler.ctx.currentTime);\n sound._playStart = Howler.ctx.currentTime;\n\n // Play the sound using the supported method.\n if (typeof node.bufferSource.start === 'undefined') {\n sound._loop ? node.bufferSource.noteGrainOn(0, seek, 86400) : node.bufferSource.noteGrainOn(0, seek, duration);\n } else {\n sound._loop ? node.bufferSource.start(0, seek, 86400) : node.bufferSource.start(0, seek, duration);\n }\n\n // Start a new timer if none is present.\n if (timeout !== Infinity) {\n self._endTimers[sound._id] = setTimeout(self._ended.bind(self, sound), timeout);\n }\n\n if (!internal) {\n setTimeout(function() {\n self._emit('play', sound._id);\n self._loadQueue();\n }, 0);\n }\n };\n\n if (Howler.state === 'running') {\n playWebAudio();\n } else {\n self._playLock = true;\n\n // Wait for the audio context to resume before playing.\n self.once('resume', playWebAudio);\n\n // Cancel the end timer.\n self._clearTimer(sound._id);\n }\n } else {\n // Fire this when the sound is ready to play to begin HTML5 Audio playback.\n var playHtml5 = function() {\n node.currentTime = seek;\n node.muted = sound._muted || self._muted || Howler._muted || node.muted;\n node.volume = sound._volume * Howler.volume();\n node.playbackRate = sound._rate;\n\n // Some browsers will throw an error if this is called without user interaction.\n try {\n var play = node.play();\n\n // Support older browsers that don't support promises, and thus don't have this issue.\n if (play && typeof Promise !== 'undefined' && (play instanceof Promise || typeof play.then === 'function')) {\n // Implements a lock to prevent DOMException: The play() request was interrupted by a call to pause().\n self._playLock = true;\n\n // Set param values immediately.\n setParams();\n\n // Releases the lock and executes queued actions.\n play\n .then(function() {\n self._playLock = false;\n node._unlocked = true;\n if (!internal) {\n self._emit('play', sound._id);\n self._loadQueue();\n }\n })\n .catch(function() {\n self._playLock = false;\n self._emit('playerror', sound._id, 'Playback was unable to start. This is most commonly an issue ' +\n 'on mobile devices and Chrome where playback was not within a user interaction.');\n\n // Reset the ended and paused values.\n sound._ended = true;\n sound._paused = true;\n });\n } else if (!internal) {\n self._playLock = false;\n setParams();\n self._emit('play', sound._id);\n self._loadQueue();\n }\n\n // Setting rate before playing won't work in IE, so we set it again here.\n node.playbackRate = sound._rate;\n\n // If the node is still paused, then we can assume there was a playback issue.\n if (node.paused) {\n self._emit('playerror', sound._id, 'Playback was unable to start. This is most commonly an issue ' +\n 'on mobile devices and Chrome where playback was not within a user interaction.');\n return;\n }\n\n // Setup the end timer on sprites or listen for the ended event.\n if (sprite !== '__default' || sound._loop) {\n self._endTimers[sound._id] = setTimeout(self._ended.bind(self, sound), timeout);\n } else {\n self._endTimers[sound._id] = function() {\n // Fire ended on this audio node.\n self._ended(sound);\n\n // Clear this listener.\n node.removeEventListener('ended', self._endTimers[sound._id], false);\n };\n node.addEventListener('ended', self._endTimers[sound._id], false);\n }\n } catch (err) {\n self._emit('playerror', sound._id, err);\n }\n };\n\n // If this is streaming audio, make sure the src is set and load again.\n if (node.src === 'data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA') {\n node.src = self._src;\n node.load();\n }\n\n // Play immediately if ready, or wait for the 'canplaythrough'e vent.\n var loadedNoReadyState = (window && window.ejecta) || (!node.readyState && Howler._navigator.isCocoonJS);\n if (node.readyState >= 3 || loadedNoReadyState) {\n playHtml5();\n } else {\n self._playLock = true;\n\n var listener = function() {\n // Begin playback.\n playHtml5();\n\n // Clear this listener.\n node.removeEventListener(Howler._canPlayEvent, listener, false);\n };\n node.addEventListener(Howler._canPlayEvent, listener, false);\n\n // Cancel the end timer.\n self._clearTimer(sound._id);\n }\n }\n\n return sound._id;\n },\n\n /**\n * Pause playback and save current position.\n * @param {Number} id The sound ID (empty to pause all in group).\n * @return {Howl}\n */\n pause: function(id) {\n var self = this;\n\n // If the sound hasn't loaded or a play() promise is pending, add it to the load queue to pause when capable.\n if (self._state !== 'loaded' || self._playLock) {\n self._queue.push({\n event: 'pause',\n action: function() {\n self.pause(id);\n }\n });\n\n return self;\n }\n\n // If no id is passed, get all ID's to be paused.\n var ids = self._getSoundIds(id);\n\n for (var i=0; i Returns the group's volume value.\n * volume(id) -> Returns the sound id's current volume.\n * volume(vol) -> Sets the volume of all sounds in this Howl group.\n * volume(vol, id) -> Sets the volume of passed sound id.\n * @return {Howl/Number} Returns self or current volume.\n */\n volume: function() {\n var self = this;\n var args = arguments;\n var vol, id;\n\n // Determine the values based on arguments.\n if (args.length === 0) {\n // Return the value of the groups' volume.\n return self._volume;\n } else if (args.length === 1 || args.length === 2 && typeof args[1] === 'undefined') {\n // First check if this is an ID, and if not, assume it is a new volume.\n var ids = self._getSoundIds();\n var index = ids.indexOf(args[0]);\n if (index >= 0) {\n id = parseInt(args[0], 10);\n } else {\n vol = parseFloat(args[0]);\n }\n } else if (args.length >= 2) {\n vol = parseFloat(args[0]);\n id = parseInt(args[1], 10);\n }\n\n // Update the volume or return the current volume.\n var sound;\n if (typeof vol !== 'undefined' && vol >= 0 && vol <= 1) {\n // If the sound hasn't loaded, add it to the load queue to change volume when capable.\n if (self._state !== 'loaded'|| self._playLock) {\n self._queue.push({\n event: 'volume',\n action: function() {\n self.volume.apply(self, args);\n }\n });\n\n return self;\n }\n\n // Set the group volume.\n if (typeof id === 'undefined') {\n self._volume = vol;\n }\n\n // Update one or all volumes.\n id = self._getSoundIds(id);\n for (var i=0; i 0) ? len / steps : len);\n var lastTick = Date.now();\n\n // Store the value being faded to.\n sound._fadeTo = to;\n\n // Update the volume value on each interval tick.\n sound._interval = setInterval(function() {\n // Update the volume based on the time since the last tick.\n var tick = (Date.now() - lastTick) / len;\n lastTick = Date.now();\n vol += diff * tick;\n\n // Make sure the volume is in the right bounds.\n vol = Math.max(0, vol);\n vol = Math.min(1, vol);\n\n // Round to within 2 decimal points.\n vol = Math.round(vol * 100) / 100;\n\n // Change the volume.\n if (self._webAudio) {\n sound._volume = vol;\n } else {\n self.volume(vol, sound._id, true);\n }\n\n // Set the group's volume.\n if (isGroup) {\n self._volume = vol;\n }\n\n // When the fade is complete, stop it and fire event.\n if ((to < from && vol <= to) || (to > from && vol >= to)) {\n clearInterval(sound._interval);\n sound._interval = null;\n sound._fadeTo = null;\n self.volume(to, sound._id);\n self._emit('fade', sound._id);\n }\n }, stepLen);\n },\n\n /**\n * Internal method that stops the currently playing fade when\n * a new fade starts, volume is changed or the sound is stopped.\n * @param {Number} id The sound id.\n * @return {Howl}\n */\n _stopFade: function(id) {\n var self = this;\n var sound = self._soundById(id);\n\n if (sound && sound._interval) {\n if (self._webAudio) {\n sound._node.gain.cancelScheduledValues(Howler.ctx.currentTime);\n }\n\n clearInterval(sound._interval);\n sound._interval = null;\n self.volume(sound._fadeTo, id);\n sound._fadeTo = null;\n self._emit('fade', id);\n }\n\n return self;\n },\n\n /**\n * Get/set the loop parameter on a sound. This method can optionally take 0, 1 or 2 arguments.\n * loop() -> Returns the group's loop value.\n * loop(id) -> Returns the sound id's loop value.\n * loop(loop) -> Sets the loop value for all sounds in this Howl group.\n * loop(loop, id) -> Sets the loop value of passed sound id.\n * @return {Howl/Boolean} Returns self or current loop value.\n */\n loop: function() {\n var self = this;\n var args = arguments;\n var loop, id, sound;\n\n // Determine the values for loop and id.\n if (args.length === 0) {\n // Return the grou's loop value.\n return self._loop;\n } else if (args.length === 1) {\n if (typeof args[0] === 'boolean') {\n loop = args[0];\n self._loop = loop;\n } else {\n // Return this sound's loop value.\n sound = self._soundById(parseInt(args[0], 10));\n return sound ? sound._loop : false;\n }\n } else if (args.length === 2) {\n loop = args[0];\n id = parseInt(args[1], 10);\n }\n\n // If no id is passed, get all ID's to be looped.\n var ids = self._getSoundIds(id);\n for (var i=0; i Returns the first sound node's current playback rate.\n * rate(id) -> Returns the sound id's current playback rate.\n * rate(rate) -> Sets the playback rate of all sounds in this Howl group.\n * rate(rate, id) -> Sets the playback rate of passed sound id.\n * @return {Howl/Number} Returns self or the current playback rate.\n */\n rate: function() {\n var self = this;\n var args = arguments;\n var rate, id;\n\n // Determine the values based on arguments.\n if (args.length === 0) {\n // We will simply return the current rate of the first node.\n id = self._sounds[0]._id;\n } else if (args.length === 1) {\n // First check if this is an ID, and if not, assume it is a new rate value.\n var ids = self._getSoundIds();\n var index = ids.indexOf(args[0]);\n if (index >= 0) {\n id = parseInt(args[0], 10);\n } else {\n rate = parseFloat(args[0]);\n }\n } else if (args.length === 2) {\n rate = parseFloat(args[0]);\n id = parseInt(args[1], 10);\n }\n\n // Update the playback rate or return the current value.\n var sound;\n if (typeof rate === 'number') {\n // If the sound hasn't loaded, add it to the load queue to change playback rate when capable.\n if (self._state !== 'loaded' || self._playLock) {\n self._queue.push({\n event: 'rate',\n action: function() {\n self.rate.apply(self, args);\n }\n });\n\n return self;\n }\n\n // Set the group rate.\n if (typeof id === 'undefined') {\n self._rate = rate;\n }\n\n // Update one or all volumes.\n id = self._getSoundIds(id);\n for (var i=0; i Returns the first sound node's current seek position.\n * seek(id) -> Returns the sound id's current seek position.\n * seek(seek) -> Sets the seek position of the first sound node.\n * seek(seek, id) -> Sets the seek position of passed sound id.\n * @return {Howl/Number} Returns self or the current seek position.\n */\n seek: function() {\n var self = this;\n var args = arguments;\n var seek, id;\n\n // Determine the values based on arguments.\n if (args.length === 0) {\n // We will simply return the current position of the first node.\n id = self._sounds[0]._id;\n } else if (args.length === 1) {\n // First check if this is an ID, and if not, assume it is a new seek position.\n var ids = self._getSoundIds();\n var index = ids.indexOf(args[0]);\n if (index >= 0) {\n id = parseInt(args[0], 10);\n } else if (self._sounds.length) {\n id = self._sounds[0]._id;\n seek = parseFloat(args[0]);\n }\n } else if (args.length === 2) {\n seek = parseFloat(args[0]);\n id = parseInt(args[1], 10);\n }\n\n // If there is no ID, bail out.\n if (typeof id === 'undefined') {\n return self;\n }\n\n // If the sound hasn't loaded, add it to the load queue to seek when capable.\n if (self._state !== 'loaded' || self._playLock) {\n self._queue.push({\n event: 'seek',\n action: function() {\n self.seek.apply(self, args);\n }\n });\n\n return self;\n }\n\n // Get the sound.\n var sound = self._soundById(id);\n\n if (sound) {\n if (typeof seek === 'number' && seek >= 0) {\n // Pause the sound and update position for restarting playback.\n var playing = self.playing(id);\n if (playing) {\n self.pause(id, true);\n }\n\n // Move the position of the track and cancel timer.\n sound._seek = seek;\n sound._ended = false;\n self._clearTimer(id);\n\n // Update the seek position for HTML5 Audio.\n if (!self._webAudio && sound._node && !isNaN(sound._node.duration)) {\n sound._node.currentTime = seek;\n }\n\n // Seek and emit when ready.\n var seekAndEmit = function() {\n self._emit('seek', id);\n\n // Restart the playback if the sound was playing.\n if (playing) {\n self.play(id, true);\n }\n };\n\n // Wait for the play lock to be unset before emitting (HTML5 Audio).\n if (playing && !self._webAudio) {\n var emitSeek = function() {\n if (!self._playLock) {\n seekAndEmit();\n } else {\n setTimeout(emitSeek, 0);\n }\n };\n setTimeout(emitSeek, 0);\n } else {\n seekAndEmit();\n }\n } else {\n if (self._webAudio) {\n var realTime = self.playing(id) ? Howler.ctx.currentTime - sound._playStart : 0;\n var rateSeek = sound._rateSeek ? sound._rateSeek - sound._seek : 0;\n return sound._seek + (rateSeek + realTime * Math.abs(sound._rate));\n } else {\n return sound._node.currentTime;\n }\n }\n }\n\n return self;\n },\n\n /**\n * Check if a specific sound is currently playing or not (if id is provided), or check if at least one of the sounds in the group is playing or not.\n * @param {Number} id The sound id to check. If none is passed, the whole sound group is checked.\n * @return {Boolean} True if playing and false if not.\n */\n playing: function(id) {\n var self = this;\n\n // Check the passed sound ID (if any).\n if (typeof id === 'number') {\n var sound = self._soundById(id);\n return sound ? !sound._paused : false;\n }\n\n // Otherwise, loop through all sounds and check if any are playing.\n for (var i=0; i= 0) {\n Howler._howls.splice(index, 1);\n }\n\n // Delete this sound from the cache (if no other Howl is using it).\n var remCache = true;\n for (i=0; i= 0) {\n remCache = false;\n break;\n }\n }\n\n if (cache && remCache) {\n delete cache[self._src];\n }\n\n // Clear global errors.\n Howler.noAudio = false;\n\n // Clear out `self`.\n self._state = 'unloaded';\n self._sounds = [];\n self = null;\n\n return null;\n },\n\n /**\n * Listen to a custom event.\n * @param {String} event Event name.\n * @param {Function} fn Listener to call.\n * @param {Number} id (optional) Only listen to events for this sound.\n * @param {Number} once (INTERNAL) Marks event to fire only once.\n * @return {Howl}\n */\n on: function(event, fn, id, once) {\n var self = this;\n var events = self['_on' + event];\n\n if (typeof fn === 'function') {\n events.push(once ? {id: id, fn: fn, once: once} : {id: id, fn: fn});\n }\n\n return self;\n },\n\n /**\n * Remove a custom event. Call without parameters to remove all events.\n * @param {String} event Event name.\n * @param {Function} fn Listener to remove. Leave empty to remove all.\n * @param {Number} id (optional) Only remove events for this sound.\n * @return {Howl}\n */\n off: function(event, fn, id) {\n var self = this;\n var events = self['_on' + event];\n var i = 0;\n\n // Allow passing just an event and ID.\n if (typeof fn === 'number') {\n id = fn;\n fn = null;\n }\n\n if (fn || id) {\n // Loop through event store and remove the passed function.\n for (i=0; i=0; i--) {\n // Only fire the listener if the correct ID is used.\n if (!events[i].id || events[i].id === id || event === 'load') {\n setTimeout(function(fn) {\n fn.call(this, id, msg);\n }.bind(self, events[i].fn), 0);\n\n // If this event was setup with `once`, remove it.\n if (events[i].once) {\n self.off(event, events[i].fn, events[i].id);\n }\n }\n }\n\n // Pass the event type into load queue so that it can continue stepping.\n self._loadQueue(event);\n\n return self;\n },\n\n /**\n * Queue of actions initiated before the sound has loaded.\n * These will be called in sequence, with the next only firing\n * after the previous has finished executing (even if async like play).\n * @return {Howl}\n */\n _loadQueue: function(event) {\n var self = this;\n\n if (self._queue.length > 0) {\n var task = self._queue[0];\n\n // Remove this task if a matching event was passed.\n if (task.event === event) {\n self._queue.shift();\n self._loadQueue();\n }\n\n // Run the task if no event type is passed.\n if (!event) {\n task.action();\n }\n }\n\n return self;\n },\n\n /**\n * Fired when playback ends at the end of the duration.\n * @param {Sound} sound The sound object to work with.\n * @return {Howl}\n */\n _ended: function(sound) {\n var self = this;\n var sprite = sound._sprite;\n\n // If we are using IE and there was network latency we may be clipping\n // audio before it completes playing. Lets check the node to make sure it\n // believes it has completed, before ending the playback.\n if (!self._webAudio && sound._node && !sound._node.paused && !sound._node.ended && sound._node.currentTime < sound._stop) {\n setTimeout(self._ended.bind(self, sound), 100);\n return self;\n }\n\n // Should this sound loop?\n var loop = !!(sound._loop || self._sprite[sprite][2]);\n\n // Fire the ended event.\n self._emit('end', sound._id);\n\n // Restart the playback for HTML5 Audio loop.\n if (!self._webAudio && loop) {\n self.stop(sound._id, true).play(sound._id);\n }\n\n // Restart this timer if on a Web Audio loop.\n if (self._webAudio && loop) {\n self._emit('play', sound._id);\n sound._seek = sound._start || 0;\n sound._rateSeek = 0;\n sound._playStart = Howler.ctx.currentTime;\n\n var timeout = ((sound._stop - sound._start) * 1000) / Math.abs(sound._rate);\n self._endTimers[sound._id] = setTimeout(self._ended.bind(self, sound), timeout);\n }\n\n // Mark the node as paused.\n if (self._webAudio && !loop) {\n sound._paused = true;\n sound._ended = true;\n sound._seek = sound._start || 0;\n sound._rateSeek = 0;\n self._clearTimer(sound._id);\n\n // Clean up the buffer source.\n self._cleanBuffer(sound._node);\n\n // Attempt to auto-suspend AudioContext if no sounds are still playing.\n Howler._autoSuspend();\n }\n\n // When using a sprite, end the track.\n if (!self._webAudio && !loop) {\n self.stop(sound._id, true);\n }\n\n return self;\n },\n\n /**\n * Clear the end timer for a sound playback.\n * @param {Number} id The sound ID.\n * @return {Howl}\n */\n _clearTimer: function(id) {\n var self = this;\n\n if (self._endTimers[id]) {\n // Clear the timeout or remove the ended listener.\n if (typeof self._endTimers[id] !== 'function') {\n clearTimeout(self._endTimers[id]);\n } else {\n var sound = self._soundById(id);\n if (sound && sound._node) {\n sound._node.removeEventListener('ended', self._endTimers[id], false);\n }\n }\n\n delete self._endTimers[id];\n }\n\n return self;\n },\n\n /**\n * Return the sound identified by this ID, or return null.\n * @param {Number} id Sound ID\n * @return {Object} Sound object or null.\n */\n _soundById: function(id) {\n var self = this;\n\n // Loop through all sounds and find the one with this ID.\n for (var i=0; i=0; i--) {\n if (cnt <= limit) {\n return;\n }\n\n if (self._sounds[i]._ended) {\n // Disconnect the audio source when using Web Audio.\n if (self._webAudio && self._sounds[i]._node) {\n self._sounds[i]._node.disconnect(0);\n }\n\n // Remove sounds until we have the pool size.\n self._sounds.splice(i, 1);\n cnt--;\n }\n }\n },\n\n /**\n * Get all ID's from the sounds pool.\n * @param {Number} id Only return one ID if one is passed.\n * @return {Array} Array of IDs.\n */\n _getSoundIds: function(id) {\n var self = this;\n\n if (typeof id === 'undefined') {\n var ids = [];\n for (var i=0; i= 0;\n\n if (Howler._scratchBuffer && node.bufferSource) {\n node.bufferSource.onended = null;\n node.bufferSource.disconnect(0);\n if (isIOS) {\n try { node.bufferSource.buffer = Howler._scratchBuffer; } catch(e) {}\n }\n }\n node.bufferSource = null;\n\n return self;\n },\n\n /**\n * Set the source to a 0-second silence to stop any downloading (except in IE).\n * @param {Object} node Audio node to clear.\n */\n _clearSound: function(node) {\n var checkIE = /MSIE |Trident\\//.test(Howler._navigator && Howler._navigator.userAgent);\n if (!checkIE) {\n node.src = 'data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA';\n }\n }\n };\n\n /** Single Sound Methods **/\n /***************************************************************************/\n\n /**\n * Setup the sound object, which each node attached to a Howl group is contained in.\n * @param {Object} howl The Howl parent group.\n */\n var Sound = function(howl) {\n this._parent = howl;\n this.init();\n };\n Sound.prototype = {\n /**\n * Initialize a new Sound object.\n * @return {Sound}\n */\n init: function() {\n var self = this;\n var parent = self._parent;\n\n // Setup the default parameters.\n self._muted = parent._muted;\n self._loop = parent._loop;\n self._volume = parent._volume;\n self._rate = parent._rate;\n self._seek = 0;\n self._paused = true;\n self._ended = true;\n self._sprite = '__default';\n\n // Generate a unique ID for this sound.\n self._id = ++Howler._counter;\n\n // Add itself to the parent's pool.\n parent._sounds.push(self);\n\n // Create the new node.\n self.create();\n\n return self;\n },\n\n /**\n * Create and setup a new sound object, whether HTML5 Audio or Web Audio.\n * @return {Sound}\n */\n create: function() {\n var self = this;\n var parent = self._parent;\n var volume = (Howler._muted || self._muted || self._parent._muted) ? 0 : self._volume;\n\n if (parent._webAudio) {\n // Create the gain node for controlling volume (the source will connect to this).\n self._node = (typeof Howler.ctx.createGain === 'undefined') ? Howler.ctx.createGainNode() : Howler.ctx.createGain();\n self._node.gain.setValueAtTime(volume, Howler.ctx.currentTime);\n self._node.paused = true;\n self._node.connect(Howler.masterGain);\n } else if (!Howler.noAudio) {\n // Get an unlocked Audio object from the pool.\n self._node = Howler._obtainHtml5Audio();\n\n // Listen for errors (http://dev.w3.org/html5/spec-author-view/spec.html#mediaerror).\n self._errorFn = self._errorListener.bind(self);\n self._node.addEventListener('error', self._errorFn, false);\n\n // Listen for 'canplaythrough' event to let us know the sound is ready.\n self._loadFn = self._loadListener.bind(self);\n self._node.addEventListener(Howler._canPlayEvent, self._loadFn, false);\n\n // Setup the new audio node.\n self._node.src = parent._src;\n self._node.preload = 'auto';\n self._node.volume = volume * Howler.volume();\n\n // Begin loading the source.\n self._node.load();\n }\n\n return self;\n },\n\n /**\n * Reset the parameters of this sound to the original state (for recycle).\n * @return {Sound}\n */\n reset: function() {\n var self = this;\n var parent = self._parent;\n\n // Reset all of the parameters of this sound.\n self._muted = parent._muted;\n self._loop = parent._loop;\n self._volume = parent._volume;\n self._rate = parent._rate;\n self._seek = 0;\n self._rateSeek = 0;\n self._paused = true;\n self._ended = true;\n self._sprite = '__default';\n\n // Generate a new ID so that it isn't confused with the previous sound.\n self._id = ++Howler._counter;\n\n return self;\n },\n\n /**\n * HTML5 Audio error listener callback.\n */\n _errorListener: function() {\n var self = this;\n\n // Fire an error event and pass back the code.\n self._parent._emit('loaderror', self._id, self._node.error ? self._node.error.code : 0);\n\n // Clear the event listener.\n self._node.removeEventListener('error', self._errorFn, false);\n },\n\n /**\n * HTML5 Audio canplaythrough listener callback.\n */\n _loadListener: function() {\n var self = this;\n var parent = self._parent;\n\n // Round up the duration to account for the lower precision in HTML5 Audio.\n parent._duration = Math.ceil(self._node.duration * 10) / 10;\n\n // Setup a sprite if none is defined.\n if (Object.keys(parent._sprite).length === 0) {\n parent._sprite = {__default: [0, parent._duration * 1000]};\n }\n\n if (parent._state !== 'loaded') {\n parent._state = 'loaded';\n parent._emit('load');\n parent._loadQueue();\n }\n\n // Clear the event listener.\n self._node.removeEventListener(Howler._canPlayEvent, self._loadFn, false);\n }\n };\n\n /** Helper Methods **/\n /***************************************************************************/\n\n var cache = {};\n\n /**\n * Buffer a sound from URL, Data URI or cache and decode to audio source (Web Audio API).\n * @param {Howl} self\n */\n var loadBuffer = function(self) {\n var url = self._src;\n\n // Check if the buffer has already been cached and use it instead.\n if (cache[url]) {\n // Set the duration from the cache.\n self._duration = cache[url].duration;\n\n // Load the sound into this Howl.\n loadSound(self);\n\n return;\n }\n\n if (/^data:[^;]+;base64,/.test(url)) {\n // Decode the base64 data URI without XHR, since some browsers don't support it.\n var data = atob(url.split(',')[1]);\n var dataView = new Uint8Array(data.length);\n for (var i=0; i 0) {\n cache[self._src] = buffer;\n loadSound(self, buffer);\n } else {\n error();\n }\n };\n\n // Decode the buffer into an audio source.\n if (typeof Promise !== 'undefined' && Howler.ctx.decodeAudioData.length === 1) {\n Howler.ctx.decodeAudioData(arraybuffer).then(success).catch(error);\n } else {\n Howler.ctx.decodeAudioData(arraybuffer, success, error);\n }\n }\n\n /**\n * Sound is now loaded, so finish setting everything up and fire the loaded event.\n * @param {Howl} self\n * @param {Object} buffer The decoded buffer sound source.\n */\n var loadSound = function(self, buffer) {\n // Set the duration.\n if (buffer && !self._duration) {\n self._duration = buffer.duration;\n }\n\n // Setup a sprite if none is defined.\n if (Object.keys(self._sprite).length === 0) {\n self._sprite = {__default: [0, self._duration * 1000]};\n }\n\n // Fire the loaded event.\n if (self._state !== 'loaded') {\n self._state = 'loaded';\n self._emit('load');\n self._loadQueue();\n }\n };\n\n /**\n * Setup the audio context when available, or switch to HTML5 Audio mode.\n */\n var setupAudioContext = function() {\n // If we have already detected that Web Audio isn't supported, don't run this step again.\n if (!Howler.usingWebAudio) {\n return;\n }\n\n // Check if we are using Web Audio and setup the AudioContext if we are.\n try {\n if (typeof AudioContext !== 'undefined') {\n Howler.ctx = new AudioContext();\n } else if (typeof webkitAudioContext !== 'undefined') {\n Howler.ctx = new webkitAudioContext();\n } else {\n Howler.usingWebAudio = false;\n }\n } catch(e) {\n Howler.usingWebAudio = false;\n }\n\n // If the audio context creation still failed, set using web audio to false.\n if (!Howler.ctx) {\n Howler.usingWebAudio = false;\n }\n\n // Check if a webview is being used on iOS8 or earlier (rather than the browser).\n // If it is, disable Web Audio as it causes crashing.\n var iOS = (/iP(hone|od|ad)/.test(Howler._navigator && Howler._navigator.platform));\n var appVersion = Howler._navigator && Howler._navigator.appVersion.match(/OS (\\d+)_(\\d+)_?(\\d+)?/);\n var version = appVersion ? parseInt(appVersion[1], 10) : null;\n if (iOS && version && version < 9) {\n var safari = /safari/.test(Howler._navigator && Howler._navigator.userAgent.toLowerCase());\n if (Howler._navigator && Howler._navigator.standalone && !safari || Howler._navigator && !Howler._navigator.standalone && !safari) {\n Howler.usingWebAudio = false;\n }\n }\n\n // Create and expose the master GainNode when using Web Audio (useful for plugins or advanced usage).\n if (Howler.usingWebAudio) {\n Howler.masterGain = (typeof Howler.ctx.createGain === 'undefined') ? Howler.ctx.createGainNode() : Howler.ctx.createGain();\n Howler.masterGain.gain.setValueAtTime(Howler._muted ? 0 : Howler._volume, Howler.ctx.currentTime);\n Howler.masterGain.connect(Howler.ctx.destination);\n }\n\n // Re-run the setup on Howler.\n Howler._setup();\n };\n\n // Add support for AMD (Asynchronous Module Definition) libraries such as require.js.\n if (typeof define === 'function' && define.amd) {\n define([], function() {\n return {\n Howler: Howler,\n Howl: Howl\n };\n });\n }\n\n // Add support for CommonJS libraries such as browserify.\n if (typeof exports !== 'undefined') {\n exports.Howler = Howler;\n exports.Howl = Howl;\n }\n\n // Define globally in case AMD is not available or unused.\n if (typeof window !== 'undefined') {\n window.HowlerGlobal = HowlerGlobal;\n window.Howler = Howler;\n window.Howl = Howl;\n window.Sound = Sound;\n } else if (typeof global !== 'undefined') { // Add to global in Node.js (for testing, etc).\n global.HowlerGlobal = HowlerGlobal;\n global.Howler = Howler;\n global.Howl = Howl;\n global.Sound = Sound;\n }\n})();\n\n\n/*!\n * Spatial Plugin - Adds support for stereo and 3D audio where Web Audio is supported.\n * \n * howler.js v2.1.3\n * howlerjs.com\n *\n * (c) 2013-2019, James Simpson of GoldFire Studios\n * goldfirestudios.com\n *\n * MIT License\n */\n\n(function() {\n\n 'use strict';\n\n // Setup default properties.\n HowlerGlobal.prototype._pos = [0, 0, 0];\n HowlerGlobal.prototype._orientation = [0, 0, -1, 0, 1, 0];\n\n /** Global Methods **/\n /***************************************************************************/\n\n /**\n * Helper method to update the stereo panning position of all current Howls.\n * Future Howls will not use this value unless explicitly set.\n * @param {Number} pan A value of -1.0 is all the way left and 1.0 is all the way right.\n * @return {Howler/Number} Self or current stereo panning value.\n */\n HowlerGlobal.prototype.stereo = function(pan) {\n var self = this;\n\n // Stop right here if not using Web Audio.\n if (!self.ctx || !self.ctx.listener) {\n return self;\n }\n\n // Loop through all Howls and update their stereo panning.\n for (var i=self._howls.length-1; i>=0; i--) {\n self._howls[i].stereo(pan);\n }\n\n return self;\n };\n\n /**\n * Get/set the position of the listener in 3D cartesian space. Sounds using\n * 3D position will be relative to the listener's position.\n * @param {Number} x The x-position of the listener.\n * @param {Number} y The y-position of the listener.\n * @param {Number} z The z-position of the listener.\n * @return {Howler/Array} Self or current listener position.\n */\n HowlerGlobal.prototype.pos = function(x, y, z) {\n var self = this;\n\n // Stop right here if not using Web Audio.\n if (!self.ctx || !self.ctx.listener) {\n return self;\n }\n\n // Set the defaults for optional 'y' & 'z'.\n y = (typeof y !== 'number') ? self._pos[1] : y;\n z = (typeof z !== 'number') ? self._pos[2] : z;\n\n if (typeof x === 'number') {\n self._pos = [x, y, z];\n\n if (typeof self.ctx.listener.positionX !== 'undefined') {\n self.ctx.listener.positionX.setTargetAtTime(self._pos[0], Howler.ctx.currentTime, 0.1);\n self.ctx.listener.positionY.setTargetAtTime(self._pos[1], Howler.ctx.currentTime, 0.1);\n self.ctx.listener.positionZ.setTargetAtTime(self._pos[2], Howler.ctx.currentTime, 0.1);\n } else {\n self.ctx.listener.setPosition(self._pos[0], self._pos[1], self._pos[2]);\n }\n } else {\n return self._pos;\n }\n\n return self;\n };\n\n /**\n * Get/set the direction the listener is pointing in the 3D cartesian space.\n * A front and up vector must be provided. The front is the direction the\n * face of the listener is pointing, and up is the direction the top of the\n * listener is pointing. Thus, these values are expected to be at right angles\n * from each other.\n * @param {Number} x The x-orientation of the listener.\n * @param {Number} y The y-orientation of the listener.\n * @param {Number} z The z-orientation of the listener.\n * @param {Number} xUp The x-orientation of the top of the listener.\n * @param {Number} yUp The y-orientation of the top of the listener.\n * @param {Number} zUp The z-orientation of the top of the listener.\n * @return {Howler/Array} Returns self or the current orientation vectors.\n */\n HowlerGlobal.prototype.orientation = function(x, y, z, xUp, yUp, zUp) {\n var self = this;\n\n // Stop right here if not using Web Audio.\n if (!self.ctx || !self.ctx.listener) {\n return self;\n }\n\n // Set the defaults for optional 'y' & 'z'.\n var or = self._orientation;\n y = (typeof y !== 'number') ? or[1] : y;\n z = (typeof z !== 'number') ? or[2] : z;\n xUp = (typeof xUp !== 'number') ? or[3] : xUp;\n yUp = (typeof yUp !== 'number') ? or[4] : yUp;\n zUp = (typeof zUp !== 'number') ? or[5] : zUp;\n\n if (typeof x === 'number') {\n self._orientation = [x, y, z, xUp, yUp, zUp];\n\n if (typeof self.ctx.listener.forwardX !== 'undefined') {\n self.ctx.listener.forwardX.setTargetAtTime(x, Howler.ctx.currentTime, 0.1);\n self.ctx.listener.forwardY.setTargetAtTime(y, Howler.ctx.currentTime, 0.1);\n self.ctx.listener.forwardZ.setTargetAtTime(z, Howler.ctx.currentTime, 0.1);\n self.ctx.listener.upX.setTargetAtTime(xUp, Howler.ctx.currentTime, 0.1);\n self.ctx.listener.upY.setTargetAtTime(yUp, Howler.ctx.currentTime, 0.1);\n self.ctx.listener.upZ.setTargetAtTime(zUp, Howler.ctx.currentTime, 0.1);\n } else {\n self.ctx.listener.setOrientation(x, y, z, xUp, yUp, zUp);\n }\n } else {\n return or;\n }\n\n return self;\n };\n\n /** Group Methods **/\n /***************************************************************************/\n\n /**\n * Add new properties to the core init.\n * @param {Function} _super Core init method.\n * @return {Howl}\n */\n Howl.prototype.init = (function(_super) {\n return function(o) {\n var self = this;\n\n // Setup user-defined default properties.\n self._orientation = o.orientation || [1, 0, 0];\n self._stereo = o.stereo || null;\n self._pos = o.pos || null;\n self._pannerAttr = {\n coneInnerAngle: typeof o.coneInnerAngle !== 'undefined' ? o.coneInnerAngle : 360,\n coneOuterAngle: typeof o.coneOuterAngle !== 'undefined' ? o.coneOuterAngle : 360,\n coneOuterGain: typeof o.coneOuterGain !== 'undefined' ? o.coneOuterGain : 0,\n distanceModel: typeof o.distanceModel !== 'undefined' ? o.distanceModel : 'inverse',\n maxDistance: typeof o.maxDistance !== 'undefined' ? o.maxDistance : 10000,\n panningModel: typeof o.panningModel !== 'undefined' ? o.panningModel : 'HRTF',\n refDistance: typeof o.refDistance !== 'undefined' ? o.refDistance : 1,\n rolloffFactor: typeof o.rolloffFactor !== 'undefined' ? o.rolloffFactor : 1\n };\n\n // Setup event listeners.\n self._onstereo = o.onstereo ? [{fn: o.onstereo}] : [];\n self._onpos = o.onpos ? [{fn: o.onpos}] : [];\n self._onorientation = o.onorientation ? [{fn: o.onorientation}] : [];\n\n // Complete initilization with howler.js core's init function.\n return _super.call(this, o);\n };\n })(Howl.prototype.init);\n\n /**\n * Get/set the stereo panning of the audio source for this sound or all in the group.\n * @param {Number} pan A value of -1.0 is all the way left and 1.0 is all the way right.\n * @param {Number} id (optional) The sound ID. If none is passed, all in group will be updated.\n * @return {Howl/Number} Returns self or the current stereo panning value.\n */\n Howl.prototype.stereo = function(pan, id) {\n var self = this;\n\n // Stop right here if not using Web Audio.\n if (!self._webAudio) {\n return self;\n }\n\n // If the sound hasn't loaded, add it to the load queue to change stereo pan when capable.\n if (self._state !== 'loaded') {\n self._queue.push({\n event: 'stereo',\n action: function() {\n self.stereo(pan, id);\n }\n });\n\n return self;\n }\n\n // Check for PannerStereoNode support and fallback to PannerNode if it doesn't exist.\n var pannerType = (typeof Howler.ctx.createStereoPanner === 'undefined') ? 'spatial' : 'stereo';\n\n // Setup the group's stereo panning if no ID is passed.\n if (typeof id === 'undefined') {\n // Return the group's stereo panning if no parameters are passed.\n if (typeof pan === 'number') {\n self._stereo = pan;\n self._pos = [pan, 0, 0];\n } else {\n return self._stereo;\n }\n }\n\n // Change the streo panning of one or all sounds in group.\n var ids = self._getSoundIds(id);\n for (var i=0; i Returns the group's values.\n * pannerAttr(id) -> Returns the sound id's values.\n * pannerAttr(o) -> Set's the values of all sounds in this Howl group.\n * pannerAttr(o, id) -> Set's the values of passed sound id.\n *\n * Attributes:\n * coneInnerAngle - (360 by default) A parameter for directional audio sources, this is an angle, in degrees,\n * inside of which there will be no volume reduction.\n * coneOuterAngle - (360 by default) A parameter for directional audio sources, this is an angle, in degrees,\n * outside of which the volume will be reduced to a constant value of `coneOuterGain`.\n * coneOuterGain - (0 by default) A parameter for directional audio sources, this is the gain outside of the\n * `coneOuterAngle`. It is a linear value in the range `[0, 1]`.\n * distanceModel - ('inverse' by default) Determines algorithm used to reduce volume as audio moves away from\n * listener. Can be `linear`, `inverse` or `exponential.\n * maxDistance - (10000 by default) The maximum distance between source and listener, after which the volume\n * will not be reduced any further.\n * refDistance - (1 by default) A reference distance for reducing volume as source moves further from the listener.\n * This is simply a variable of the distance model and has a different effect depending on which model\n * is used and the scale of your coordinates. Generally, volume will be equal to 1 at this distance.\n * rolloffFactor - (1 by default) How quickly the volume reduces as source moves from listener. This is simply a\n * variable of the distance model and can be in the range of `[0, 1]` with `linear` and `[0, ∞]`\n * with `inverse` and `exponential`.\n * panningModel - ('HRTF' by default) Determines which spatialization algorithm is used to position audio.\n * Can be `HRTF` or `equalpower`.\n *\n * @return {Howl/Object} Returns self or current panner attributes.\n */\n Howl.prototype.pannerAttr = function() {\n var self = this;\n var args = arguments;\n var o, id, sound;\n\n // Stop right here if not using Web Audio.\n if (!self._webAudio) {\n return self;\n }\n\n // Determine the values based on arguments.\n if (args.length === 0) {\n // Return the group's panner attribute values.\n return self._pannerAttr;\n } else if (args.length === 1) {\n if (typeof args[0] === 'object') {\n o = args[0];\n\n // Set the grou's panner attribute values.\n if (typeof id === 'undefined') {\n if (!o.pannerAttr) {\n o.pannerAttr = {\n coneInnerAngle: o.coneInnerAngle,\n coneOuterAngle: o.coneOuterAngle,\n coneOuterGain: o.coneOuterGain,\n distanceModel: o.distanceModel,\n maxDistance: o.maxDistance,\n refDistance: o.refDistance,\n rolloffFactor: o.rolloffFactor,\n panningModel: o.panningModel\n };\n }\n\n self._pannerAttr = {\n coneInnerAngle: typeof o.pannerAttr.coneInnerAngle !== 'undefined' ? o.pannerAttr.coneInnerAngle : self._coneInnerAngle,\n coneOuterAngle: typeof o.pannerAttr.coneOuterAngle !== 'undefined' ? o.pannerAttr.coneOuterAngle : self._coneOuterAngle,\n coneOuterGain: typeof o.pannerAttr.coneOuterGain !== 'undefined' ? o.pannerAttr.coneOuterGain : self._coneOuterGain,\n distanceModel: typeof o.pannerAttr.distanceModel !== 'undefined' ? o.pannerAttr.distanceModel : self._distanceModel,\n maxDistance: typeof o.pannerAttr.maxDistance !== 'undefined' ? o.pannerAttr.maxDistance : self._maxDistance,\n refDistance: typeof o.pannerAttr.refDistance !== 'undefined' ? o.pannerAttr.refDistance : self._refDistance,\n rolloffFactor: typeof o.pannerAttr.rolloffFactor !== 'undefined' ? o.pannerAttr.rolloffFactor : self._rolloffFactor,\n panningModel: typeof o.pannerAttr.panningModel !== 'undefined' ? o.pannerAttr.panningModel : self._panningModel\n };\n }\n } else {\n // Return this sound's panner attribute values.\n sound = self._soundById(parseInt(args[0], 10));\n return sound ? sound._pannerAttr : self._pannerAttr;\n }\n } else if (args.length === 2) {\n o = args[0];\n id = parseInt(args[1], 10);\n }\n\n // Update the values of the specified sounds.\n var ids = self._getSoundIds(id);\n for (var i=0; i 0)?_c('p',[_c('b',[_vm._v(\"Dodatni opis:\")]),_vm._v(\" \"+_vm._s(item.additional_comment))]):_vm._e(),_c('p',[_c('b',[_vm._v(\"Količina:\")]),_vm._v(\" \"+_vm._s(item.quantity))]),_c('p',[_c('b',[_vm._v(\"Cena:\")]),_vm._v(\" \"+_vm._s(item.price.toFixed(2))+\" €\")]),_vm._l((item.options),function(value,key){return _c('p',{key:key},[_c('b',[_vm._v(_vm._s(key)+\":\")]),_vm._v(\" \"+_vm._s(value))])}),(item.additions.length > 0)?_c('p',[_c('b',[_vm._v(\"Dodatki\")])]):_vm._e(),(item.additions.length > 0)?_c('div',{staticClass:\"ml-6\"},_vm._l((item.additions),function(addition,index){return _c('div',{key:index,staticClass:\"vx-row\"},[(addition.charAt(0) === '-')?_c('div',[_c('feather-icon',{staticStyle:{\"float\":\"left\"},attrs:{\"svgClasses\":\"fill-current text-danger\",\"icon\":\"XIcon\"}}),_c('p',{staticClass:\"ml-2\",staticStyle:{\"float\":\"left\"}},[_vm._v(_vm._s(addition.substring(2, addition.length)))])],1):_c('div',[_c('feather-icon',{staticStyle:{\"float\":\"left\"},attrs:{\"svgClasses\":\"stroke-current text-success\",\"icon\":\"CheckIcon\"}}),_c('p',{staticClass:\"ml-2\",staticStyle:{\"float\":\"left\"}},[_vm._v(_vm._s(addition))])],1)])}),0):_vm._e()],2)])}),0)],1)],1)}),0):_vm._e(),_c('vs-prompt',{attrs:{\"title\":\"Prekliči naročilo\",\"active\":_vm.activeCancelOrderPrompt},on:{\"accept\":_vm.cancelOrder,\"update:active\":function($event){_vm.activeCancelOrderPrompt=$event}}},[_vm._v(\"\\n Naročilo bo preklicano in v primeru spletnega plačila bo plačilo vrnjeno stranki!\\n \")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CompanyOrderManagement.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CompanyOrderManagement.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CompanyOrderManagement.vue?vue&type=template&id=15def166&\"\nimport script from \"./CompanyOrderManagement.vue?vue&type=script&lang=js&\"\nexport * from \"./CompanyOrderManagement.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}