UNPKG

dynamsoft-javascript-barcode

Version:

Dynamsoft Barcode Reader JS is a recognition SDK which enables you to embed barcode reading functionality in your web, desktop, and mobile applications. With a few lines of JavaScript code, you can develop a robust application to scan a linear barcode, QR

11 lines 105 kB
/*! * Dynamsoft JavaScript Library * @product Dynamsoft Barcode Reader JS Edition * @website http://www.dynamsoft.com * @copyright Copyright 2024, Dynamsoft Corporation * @author Dynamsoft * @version 9.6.42 (js 20240426) * @fileoverview Dynamsoft JavaScript Library for Barcode Reader * More info on DBR JS: https://www.dynamsoft.com/barcode-reader/sdk-javascript/ */ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("dynamsoft-camera-enhancer")):"function"==typeof define&&define.amd?define(["exports","dynamsoft-camera-enhancer"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).Dynamsoft=e.Dynamsoft||{},e.Dynamsoft.DBR={}))}(this,(function(e){"use strict";const t="undefined"==typeof self,n=t?{}:self;let r,o,i,a,s;"undefined"!=typeof navigator&&(r=navigator,o=r.userAgent,i=r.platform,a=r.mediaDevices),function(){if(!t){const e={Edge:{search:"Edg",verSearch:"Edg"},OPR:null,Chrome:null,Safari:{str:r.vendor,search:"Apple",verSearch:["Version","iPhone OS","CPU OS"]},Firefox:null,Explorer:{search:"MSIE",verSearch:"MSIE"}},t={HarmonyOS:null,Android:null,iPhone:null,iPad:null,Windows:{str:i,search:"Win"},Mac:{str:i},Linux:{str:i}};let n="unknownBrowser",a=0,_="unknownOS";for(let t in e){const r=e[t]||{};let i=r.str||o,s=r.search||t,_=r.verStr||o,d=r.verSearch||t;if(d instanceof Array||(d=[d]),-1!=i.indexOf(s)){n=t;for(let e of d){let t=_.indexOf(e);if(-1!=t){a=parseFloat(_.substring(t+e.length+1));break}}break}}for(let e in t){const n=t[e]||{};let r=n.str||o,i=n.search||e;if(-1!=r.indexOf(i)){_=e;break}}"Linux"==_&&-1!=o.indexOf("Windows NT")&&(_="HarmonyOS"),s={browser:n,version:a,OS:_}}t&&(s={browser:"ssr",version:0,OS:"ssr"})}();const _="undefined"!=typeof WebAssembly&&o&&!(/Safari/.test(o)&&!/Chrome/.test(o)&&/\(.+\s11_2_([2-6]).*\)/.test(o)),d=!("undefined"==typeof Worker),u=!(!a||!a.getUserMedia),l=async()=>{let e=!1;if(u)try{(await a.getUserMedia({video:!0})).getTracks().forEach((e=>{e.stop()})),e=!0}catch(e){}return e};"Chrome"===s.browser&&s.version>66||"Safari"===s.browser&&s.version>13||"OPR"===s.browser&&s.version>43||"Edge"===s.browser&&s.version;const c=(()=>{if(!t&&document.currentScript){let e=document.currentScript.src,t=e.indexOf("?");if(-1!=t)e=e.substring(0,t);else{let t=e.indexOf("#");-1!=t&&(e=e.substring(0,t))}return e.substring(0,e.lastIndexOf("/")+1)}return"./"})(),h=" is not allowed to change after `createInstance` or `loadWasm` is called.",m=!t&&document.currentScript&&(document.currentScript.getAttribute("data-license")||document.currentScript.getAttribute("data-productKeys")||document.currentScript.getAttribute("data-licenseKey")||document.currentScript.getAttribute("data-handshakeCode")||document.currentScript.getAttribute("data-organizationID"))||"",f=!t&&document.currentScript&&document.currentScript.getAttribute("data-sessionPassword")||"",g=e=>{if(null==e)e=[];else{e=e instanceof Array?[...e]:[e];for(let n=0;n<e.length;++n){if(!t){let t=document.createElement("a");t.href=e[n],e[n]=t.href}e[n].endsWith("/")||(e[n]+="/")}}return e};var p,A,E,I,R;e.EnumImagePixelFormat=void 0,(p=e.EnumImagePixelFormat||(e.EnumImagePixelFormat={}))[p.IPF_Binary=0]="IPF_Binary",p[p.IPF_BinaryInverted=1]="IPF_BinaryInverted",p[p.IPF_GrayScaled=2]="IPF_GrayScaled",p[p.IPF_NV21=3]="IPF_NV21",p[p.IPF_RGB_565=4]="IPF_RGB_565",p[p.IPF_RGB_555=5]="IPF_RGB_555",p[p.IPF_RGB_888=6]="IPF_RGB_888",p[p.IPF_ARGB_8888=7]="IPF_ARGB_8888",p[p.IPF_RGB_161616=8]="IPF_RGB_161616",p[p.IPF_ARGB_16161616=9]="IPF_ARGB_16161616",p[p.IPF_ABGR_8888=10]="IPF_ABGR_8888",p[p.IPF_ABGR_16161616=11]="IPF_ABGR_16161616",p[p.IPF_BGR_888=12]="IPF_BGR_888",e.EnumErrorCode=void 0,(A=e.EnumErrorCode||(e.EnumErrorCode={}))[A.DBR_SYSTEM_EXCEPTION=1]="DBR_SYSTEM_EXCEPTION",A[A.DBR_SUCCESS=0]="DBR_SUCCESS",A[A.DBR_UNKNOWN=-1e4]="DBR_UNKNOWN",A[A.DBR_NO_MEMORY=-10001]="DBR_NO_MEMORY",A[A.DBR_NULL_REFERENCE=-10002]="DBR_NULL_REFERENCE",A[A.DBR_LICENSE_INVALID=-10003]="DBR_LICENSE_INVALID",A[A.DBR_LICENSE_EXPIRED=-10004]="DBR_LICENSE_EXPIRED",A[A.DBR_FILE_NOT_FOUND=-10005]="DBR_FILE_NOT_FOUND",A[A.DBR_FILETYPE_NOT_SUPPORTED=-10006]="DBR_FILETYPE_NOT_SUPPORTED",A[A.DBR_BPP_NOT_SUPPORTED=-10007]="DBR_BPP_NOT_SUPPORTED",A[A.DBR_INDEX_INVALID=-10008]="DBR_INDEX_INVALID",A[A.DBR_BARCODE_FORMAT_INVALID=-10009]="DBR_BARCODE_FORMAT_INVALID",A[A.DBR_CUSTOM_REGION_INVALID=-10010]="DBR_CUSTOM_REGION_INVALID",A[A.DBR_MAX_BARCODE_NUMBER_INVALID=-10011]="DBR_MAX_BARCODE_NUMBER_INVALID",A[A.DBR_IMAGE_READ_FAILED=-10012]="DBR_IMAGE_READ_FAILED",A[A.DBR_TIFF_READ_FAILED=-10013]="DBR_TIFF_READ_FAILED",A[A.DBR_QR_LICENSE_INVALID=-10016]="DBR_QR_LICENSE_INVALID",A[A.DBR_1D_LICENSE_INVALID=-10017]="DBR_1D_LICENSE_INVALID",A[A.DBR_DIB_BUFFER_INVALID=-10018]="DBR_DIB_BUFFER_INVALID",A[A.DBR_PDF417_LICENSE_INVALID=-10019]="DBR_PDF417_LICENSE_INVALID",A[A.DBR_DATAMATRIX_LICENSE_INVALID=-10020]="DBR_DATAMATRIX_LICENSE_INVALID",A[A.DBR_PDF_READ_FAILED=-10021]="DBR_PDF_READ_FAILED",A[A.DBR_PDF_DLL_MISSING=-10022]="DBR_PDF_DLL_MISSING",A[A.DBR_PAGE_NUMBER_INVALID=-10023]="DBR_PAGE_NUMBER_INVALID",A[A.DBR_CUSTOM_SIZE_INVALID=-10024]="DBR_CUSTOM_SIZE_INVALID",A[A.DBR_CUSTOM_MODULESIZE_INVALID=-10025]="DBR_CUSTOM_MODULESIZE_INVALID",A[A.DBR_RECOGNITION_TIMEOUT=-10026]="DBR_RECOGNITION_TIMEOUT",A[A.DBR_JSON_PARSE_FAILED=-10030]="DBR_JSON_PARSE_FAILED",A[A.DBR_JSON_TYPE_INVALID=-10031]="DBR_JSON_TYPE_INVALID",A[A.DBR_JSON_KEY_INVALID=-10032]="DBR_JSON_KEY_INVALID",A[A.DBR_JSON_VALUE_INVALID=-10033]="DBR_JSON_VALUE_INVALID",A[A.DBR_JSON_NAME_KEY_MISSING=-10034]="DBR_JSON_NAME_KEY_MISSING",A[A.DBR_JSON_NAME_VALUE_DUPLICATED=-10035]="DBR_JSON_NAME_VALUE_DUPLICATED",A[A.DBR_TEMPLATE_NAME_INVALID=-10036]="DBR_TEMPLATE_NAME_INVALID",A[A.DBR_JSON_NAME_REFERENCE_INVALID=-10037]="DBR_JSON_NAME_REFERENCE_INVALID",A[A.DBR_PARAMETER_VALUE_INVALID=-10038]="DBR_PARAMETER_VALUE_INVALID",A[A.DBR_DOMAIN_NOT_MATCHED=-10039]="DBR_DOMAIN_NOT_MATCHED",A[A.DBR_RESERVEDINFO_NOT_MATCHED=-10040]="DBR_RESERVEDINFO_NOT_MATCHED",A[A.DBR_AZTEC_LICENSE_INVALID=-10041]="DBR_AZTEC_LICENSE_INVALID",A[A.DBR_LICENSE_DLL_MISSING=-10042]="DBR_LICENSE_DLL_MISSING",A[A.DBR_LICENSEKEY_NOT_MATCHED=-10043]="DBR_LICENSEKEY_NOT_MATCHED",A[A.DBR_REQUESTED_FAILED=-10044]="DBR_REQUESTED_FAILED",A[A.DBR_LICENSE_INIT_FAILED=-10045]="DBR_LICENSE_INIT_FAILED",A[A.DBR_PATCHCODE_LICENSE_INVALID=-10046]="DBR_PATCHCODE_LICENSE_INVALID",A[A.DBR_POSTALCODE_LICENSE_INVALID=-10047]="DBR_POSTALCODE_LICENSE_INVALID",A[A.DBR_DPM_LICENSE_INVALID=-10048]="DBR_DPM_LICENSE_INVALID",A[A.DBR_FRAME_DECODING_THREAD_EXISTS=-10049]="DBR_FRAME_DECODING_THREAD_EXISTS",A[A.DBR_STOP_DECODING_THREAD_FAILED=-10050]="DBR_STOP_DECODING_THREAD_FAILED",A[A.DBR_SET_MODE_ARGUMENT_ERROR=-10051]="DBR_SET_MODE_ARGUMENT_ERROR",A[A.DBR_LICENSE_CONTENT_INVALID=-10052]="DBR_LICENSE_CONTENT_INVALID",A[A.DBR_LICENSE_KEY_INVALID=-10053]="DBR_LICENSE_KEY_INVALID",A[A.DBR_LICENSE_DEVICE_RUNS_OUT=-10054]="DBR_LICENSE_DEVICE_RUNS_OUT",A[A.DBR_GET_MODE_ARGUMENT_ERROR=-10055]="DBR_GET_MODE_ARGUMENT_ERROR",A[A.DBR_IRT_LICENSE_INVALID=-10056]="DBR_IRT_LICENSE_INVALID",A[A.DBR_MAXICODE_LICENSE_INVALID=-10057]="DBR_MAXICODE_LICENSE_INVALID",A[A.DBR_GS1_DATABAR_LICENSE_INVALID=-10058]="DBR_GS1_DATABAR_LICENSE_INVALID",A[A.DBR_GS1_COMPOSITE_LICENSE_INVALID=-10059]="DBR_GS1_COMPOSITE_LICENSE_INVALID",A[A.DBR_PANORAMA_LICENSE_INVALID=-10060]="DBR_PANORAMA_LICENSE_INVALID",A[A.DBR_DOTCODE_LICENSE_INVALID=-10061]="DBR_DOTCODE_LICENSE_INVALID",A[A.DBR_PHARMACODE_LICENSE_INVALID=-10062]="DBR_PHARMACODE_LICENSE_INVALID",A[A.DBR_IMAGE_ORIENTATION_INVALID=-10063]="DBR_IMAGE_ORIENTATION_INVALID",A[A.DMERR_NO_LICENSE=-2e4]="DMERR_NO_LICENSE",A[A.DMERR_LICENSE_SYNC_FAILED=-20003]="DMERR_LICENSE_SYNC_FAILED",A[A.DMERR_TRIAL_LICENSE=-20010]="DMERR_TRIAL_LICENSE",A[A.DMERR_FAILED_TO_REACH_LTS=-20200]="DMERR_FAILED_TO_REACH_LTS",e.EnumIMResultDataType=void 0,(E=e.EnumIMResultDataType||(e.EnumIMResultDataType={}))[E.IMRDT_IMAGE=1]="IMRDT_IMAGE",E[E.IMRDT_CONTOUR=2]="IMRDT_CONTOUR",E[E.IMRDT_LINESEGMENT=4]="IMRDT_LINESEGMENT",E[E.IMRDT_LOCALIZATIONRESULT=8]="IMRDT_LOCALIZATIONRESULT",E[E.IMRDT_REGIONOFINTEREST=16]="IMRDT_REGIONOFINTEREST",E[E.IMRDT_QUADRILATERAL=32]="IMRDT_QUADRILATERAL",e.EnumBarcodeFormat=void 0,(I=e.EnumBarcodeFormat||(e.EnumBarcodeFormat={}))[I.BF_ALL=-29360129]="BF_ALL",I[I.BF_ONED=3147775]="BF_ONED",I[I.BF_GS1_DATABAR=260096]="BF_GS1_DATABAR",I[I.BF_CODE_39=1]="BF_CODE_39",I[I.BF_CODE_128=2]="BF_CODE_128",I[I.BF_CODE_93=4]="BF_CODE_93",I[I.BF_CODABAR=8]="BF_CODABAR",I[I.BF_ITF=16]="BF_ITF",I[I.BF_EAN_13=32]="BF_EAN_13",I[I.BF_EAN_8=64]="BF_EAN_8",I[I.BF_UPC_A=128]="BF_UPC_A",I[I.BF_UPC_E=256]="BF_UPC_E",I[I.BF_INDUSTRIAL_25=512]="BF_INDUSTRIAL_25",I[I.BF_CODE_39_EXTENDED=1024]="BF_CODE_39_EXTENDED",I[I.BF_GS1_DATABAR_OMNIDIRECTIONAL=2048]="BF_GS1_DATABAR_OMNIDIRECTIONAL",I[I.BF_GS1_DATABAR_TRUNCATED=4096]="BF_GS1_DATABAR_TRUNCATED",I[I.BF_GS1_DATABAR_STACKED=8192]="BF_GS1_DATABAR_STACKED",I[I.BF_GS1_DATABAR_STACKED_OMNIDIRECTIONAL=16384]="BF_GS1_DATABAR_STACKED_OMNIDIRECTIONAL",I[I.BF_GS1_DATABAR_EXPANDED=32768]="BF_GS1_DATABAR_EXPANDED",I[I.BF_GS1_DATABAR_EXPANDED_STACKED=65536]="BF_GS1_DATABAR_EXPANDED_STACKED",I[I.BF_GS1_DATABAR_LIMITED=131072]="BF_GS1_DATABAR_LIMITED",I[I.BF_PATCHCODE=262144]="BF_PATCHCODE",I[I.BF_PDF417=33554432]="BF_PDF417",I[I.BF_QR_CODE=67108864]="BF_QR_CODE",I[I.BF_DATAMATRIX=134217728]="BF_DATAMATRIX",I[I.BF_AZTEC=268435456]="BF_AZTEC",I[I.BF_MAXICODE=536870912]="BF_MAXICODE",I[I.BF_MICRO_QR=1073741824]="BF_MICRO_QR",I[I.BF_MICRO_PDF417=524288]="BF_MICRO_PDF417",I[I.BF_GS1_COMPOSITE=-2147483648]="BF_GS1_COMPOSITE",I[I.BF_MSI_CODE=1048576]="BF_MSI_CODE",I[I.BF_CODE_11=2097152]="BF_CODE_11",I[I.BF_NULL=0]="BF_NULL",e.EnumIntermediateResultType=void 0,(R=e.EnumIntermediateResultType||(e.EnumIntermediateResultType={}))[R.IRT_NO_RESULT=0]="IRT_NO_RESULT",R[R.IRT_ORIGINAL_IMAGE=1]="IRT_ORIGINAL_IMAGE",R[R.IRT_COLOUR_CLUSTERED_IMAGE=2]="IRT_COLOUR_CLUSTERED_IMAGE",R[R.IRT_COLOUR_CONVERTED_GRAYSCALE_IMAGE=4]="IRT_COLOUR_CONVERTED_GRAYSCALE_IMAGE",R[R.IRT_TRANSFORMED_GRAYSCALE_IMAGE=8]="IRT_TRANSFORMED_GRAYSCALE_IMAGE",R[R.IRT_PREDETECTED_REGION=16]="IRT_PREDETECTED_REGION",R[R.IRT_PREPROCESSED_IMAGE=32]="IRT_PREPROCESSED_IMAGE",R[R.IRT_BINARIZED_IMAGE=64]="IRT_BINARIZED_IMAGE",R[R.IRT_TEXT_ZONE=128]="IRT_TEXT_ZONE",R[R.IRT_CONTOUR=256]="IRT_CONTOUR",R[R.IRT_LINE_SEGMENT=512]="IRT_LINE_SEGMENT",R[R.IRT_FORM=1024]="IRT_FORM",R[R.IRT_SEGMENTATION_BLOCK=2048]="IRT_SEGMENTATION_BLOCK",R[R.IRT_TYPED_BARCODE_ZONE=4096]="IRT_TYPED_BARCODE_ZONE",R[R.IRT_PREDETECTED_QUADRILATERAL=8192]="IRT_PREDETECTED_QUADRILATERAL";const T=e=>e&&"object"==typeof e&&"function"==typeof e.then;class D extends Promise{constructor(e){let t,n;super(((e,r)=>{t=e,n=r})),this._s="pending",this.resolve=e=>{this.isPending&&(T(e)?this.task=e:(this._s="fulfilled",t(e)))},this.reject=e=>{this.isPending&&(this._s="rejected",n(e))},this.task=e}get status(){return this._s}get isPending(){return"pending"===this._s}get isFulfilled(){return"fulfilled"===this._s}get isRejected(){return"rejected"===this._s}get task(){return this._task}set task(e){let t;this._task=e,T(e)?t=e:"function"==typeof e&&(t=new Promise(e)),t&&(async()=>{try{const n=await t;e===this._task&&this.resolve(n)}catch(t){e===this._task&&this.reject(t)}})()}get isEmpty(){return null==this._task}}var S=function(){this.init()};S.prototype={init:function(){var e=this||C;return e._counter=1e3,e._html5AudioPool=[],e.html5PoolSize=10,e._codecs={},e._howls=[],e._muted=!1,e._volume=1,e._canPlayEvent="canplaythrough",e._navigator="undefined"!=typeof window&&window.navigator?window.navigator:null,e.masterGain=null,e.noAudio=!1,e.usingWebAudio=!0,e.autoSuspend=!0,e.ctx=null,e.autoUnlock=!0,e._setup(),e},volume:function(e){var t=this||C;if(e=parseFloat(e),t.ctx||b(),void 0!==e&&e>=0&&e<=1){if(t._volume=e,t._muted)return t;t.usingWebAudio&&t.masterGain.gain.setValueAtTime(e,C.ctx.currentTime);for(var n=0;n<t._howls.length;n++)if(!t._howls[n]._webAudio)for(var r=t._howls[n]._getSoundIds(),o=0;o<r.length;o++){var i=t._howls[n]._soundById(r[o]);i&&i._node&&(i._node.volume=i._volume*e)}return t}return t._volume},mute:function(e){var t=this||C;t.ctx||b(),t._muted=e,t.usingWebAudio&&t.masterGain.gain.setValueAtTime(e?0:t._volume,C.ctx.currentTime);for(var n=0;n<t._howls.length;n++)if(!t._howls[n]._webAudio)for(var r=t._howls[n]._getSoundIds(),o=0;o<r.length;o++){var i=t._howls[n]._soundById(r[o]);i&&i._node&&(i._node.muted=!!e||i._muted)}return t},stop:function(){for(var e=this||C,t=0;t<e._howls.length;t++)e._howls[t].stop();return e},unload:function(){for(var e=this||C,t=e._howls.length-1;t>=0;t--)e._howls[t].unload();return e.usingWebAudio&&e.ctx&&void 0!==e.ctx.close&&(e.ctx.close(),e.ctx=null,b()),e},codecs:function(e){return(this||C)._codecs[e.replace(/^x-/,"")]},_setup:function(){var e=this||C;if(e.state=e.ctx&&e.ctx.state||"suspended",e._autoSuspend(),!e.usingWebAudio)if("undefined"!=typeof Audio)try{void 0===(new Audio).oncanplaythrough&&(e._canPlayEvent="canplay")}catch(t){e.noAudio=!0}else e.noAudio=!0;try{(new Audio).muted&&(e.noAudio=!0)}catch(e){}return e.noAudio||e._setupCodecs(),e},_setupCodecs:function(){var e=this||C,t=null;try{t="undefined"!=typeof Audio?new Audio:null}catch(t){return e}if(!t||"function"!=typeof t.canPlayType)return e;var n=t.canPlayType("audio/mpeg;").replace(/^no$/,""),r=e._navigator?e._navigator.userAgent:"",o=r.match(/OPR\/([0-6].)/g),i=o&&parseInt(o[0].split("/")[1],10)<33,a=-1!==r.indexOf("Safari")&&-1===r.indexOf("Chrome"),s=r.match(/Version\/(.*?) /),_=a&&s&&parseInt(s[1],10)<15;return e._codecs={mp3:!(i||!n&&!t.canPlayType("audio/mp3;").replace(/^no$/,"")),mpeg:!!n,opus:!!t.canPlayType('audio/ogg; codecs="opus"').replace(/^no$/,""),ogg:!!t.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),oga:!!t.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),wav:!!(t.canPlayType('audio/wav; codecs="1"')||t.canPlayType("audio/wav")).replace(/^no$/,""),aac:!!t.canPlayType("audio/aac;").replace(/^no$/,""),caf:!!t.canPlayType("audio/x-caf;").replace(/^no$/,""),m4a:!!(t.canPlayType("audio/x-m4a;")||t.canPlayType("audio/m4a;")||t.canPlayType("audio/aac;")).replace(/^no$/,""),m4b:!!(t.canPlayType("audio/x-m4b;")||t.canPlayType("audio/m4b;")||t.canPlayType("audio/aac;")).replace(/^no$/,""),mp4:!!(t.canPlayType("audio/x-mp4;")||t.canPlayType("audio/mp4;")||t.canPlayType("audio/aac;")).replace(/^no$/,""),weba:!(_||!t.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,"")),webm:!(_||!t.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,"")),dolby:!!t.canPlayType('audio/mp4; codecs="ec-3"').replace(/^no$/,""),flac:!!(t.canPlayType("audio/x-flac;")||t.canPlayType("audio/flac;")).replace(/^no$/,"")},e},_unlockAudio:function(){var e=this||C;if(!e._audioUnlocked&&e.ctx){e._audioUnlocked=!1,e.autoUnlock=!1,e._mobileUnloaded||44100===e.ctx.sampleRate||(e._mobileUnloaded=!0,e.unload()),e._scratchBuffer=e.ctx.createBuffer(1,1,22050);var t=function(n){for(;e._html5AudioPool.length<e.html5PoolSize;)try{var r=new Audio;r._unlocked=!0,e._releaseHtml5Audio(r)}catch(n){e.noAudio=!0;break}for(var o=0;o<e._howls.length;o++)if(!e._howls[o]._webAudio)for(var i=e._howls[o]._getSoundIds(),a=0;a<i.length;a++){var s=e._howls[o]._soundById(i[a]);s&&s._node&&!s._node._unlocked&&(s._node._unlocked=!0,s._node.load())}e._autoResume();var _=e.ctx.createBufferSource();_.buffer=e._scratchBuffer,_.connect(e.ctx.destination),void 0===_.start?_.noteOn(0):_.start(0),"function"==typeof e.ctx.resume&&e.ctx.resume(),_.onended=function(){_.disconnect(0),e._audioUnlocked=!0,document.removeEventListener("touchstart",t,!0),document.removeEventListener("touchend",t,!0),document.removeEventListener("click",t,!0),document.removeEventListener("keydown",t,!0);for(var n=0;n<e._howls.length;n++)e._howls[n]._emit("unlock")}};return document.addEventListener("touchstart",t,!0),document.addEventListener("touchend",t,!0),document.addEventListener("click",t,!0),document.addEventListener("keydown",t,!0),e}},_obtainHtml5Audio:function(){var e=this||C;if(e._html5AudioPool.length)return e._html5AudioPool.pop();var t=(new Audio).play();return t&&"undefined"!=typeof Promise&&(t instanceof Promise||"function"==typeof t.then)&&t.catch((function(){console.warn("HTML5 Audio pool exhausted, returning potentially locked audio object.")})),new Audio},_releaseHtml5Audio:function(e){var t=this||C;return e._unlocked&&t._html5AudioPool.push(e),t},_autoSuspend:function(){var e=this;if(e.autoSuspend&&e.ctx&&void 0!==e.ctx.suspend&&C.usingWebAudio){for(var t=0;t<e._howls.length;t++)if(e._howls[t]._webAudio)for(var n=0;n<e._howls[t]._sounds.length;n++)if(!e._howls[t]._sounds[n]._paused)return e;return e._suspendTimer&&clearTimeout(e._suspendTimer),e._suspendTimer=setTimeout((function(){if(e.autoSuspend){e._suspendTimer=null,e.state="suspending";var t=function(){e.state="suspended",e._resumeAfterSuspend&&(delete e._resumeAfterSuspend,e._autoResume())};e.ctx.suspend().then(t,t)}}),3e4),e}},_autoResume:function(){var e=this;if(e.ctx&&void 0!==e.ctx.resume&&C.usingWebAudio)return"running"===e.state&&"interrupted"!==e.ctx.state&&e._suspendTimer?(clearTimeout(e._suspendTimer),e._suspendTimer=null):"suspended"===e.state||"running"===e.state&&"interrupted"===e.ctx.state?(e.ctx.resume().then((function(){e.state="running";for(var t=0;t<e._howls.length;t++)e._howls[t]._emit("resume")})),e._suspendTimer&&(clearTimeout(e._suspendTimer),e._suspendTimer=null)):"suspending"===e.state&&(e._resumeAfterSuspend=!0),e}};var C=new S,y=function(e){e.src&&0!==e.src.length?this.init(e):console.error("An array of source files must be passed with any new Howl.")};y.prototype={init:function(e){var t=this;return C.ctx||b(),t._autoplay=e.autoplay||!1,t._format="string"!=typeof e.format?e.format:[e.format],t._html5=e.html5||!1,t._muted=e.mute||!1,t._loop=e.loop||!1,t._pool=e.pool||5,t._preload="boolean"!=typeof e.preload&&"metadata"!==e.preload||e.preload,t._rate=e.rate||1,t._sprite=e.sprite||{},t._src="string"!=typeof e.src?e.src:[e.src],t._volume=void 0!==e.volume?e.volume:1,t._xhr={method:e.xhr&&e.xhr.method?e.xhr.method:"GET",headers:e.xhr&&e.xhr.headers?e.xhr.headers:null,withCredentials:!(!e.xhr||!e.xhr.withCredentials)&&e.xhr.withCredentials},t._duration=0,t._state="unloaded",t._sounds=[],t._endTimers={},t._queue=[],t._playLock=!1,t._onend=e.onend?[{fn:e.onend}]:[],t._onfade=e.onfade?[{fn:e.onfade}]:[],t._onload=e.onload?[{fn:e.onload}]:[],t._onloaderror=e.onloaderror?[{fn:e.onloaderror}]:[],t._onplayerror=e.onplayerror?[{fn:e.onplayerror}]:[],t._onpause=e.onpause?[{fn:e.onpause}]:[],t._onplay=e.onplay?[{fn:e.onplay}]:[],t._onstop=e.onstop?[{fn:e.onstop}]:[],t._onmute=e.onmute?[{fn:e.onmute}]:[],t._onvolume=e.onvolume?[{fn:e.onvolume}]:[],t._onrate=e.onrate?[{fn:e.onrate}]:[],t._onseek=e.onseek?[{fn:e.onseek}]:[],t._onunlock=e.onunlock?[{fn:e.onunlock}]:[],t._onresume=[],t._webAudio=C.usingWebAudio&&!t._html5,void 0!==C.ctx&&C.ctx&&C.autoUnlock&&C._unlockAudio(),C._howls.push(t),t._autoplay&&t._queue.push({event:"play",action:function(){t.play()}}),t._preload&&"none"!==t._preload&&t.load(),t},load:function(){var e=this,t=null;if(C.noAudio)e._emit("loaderror",null,"No audio support.");else{"string"==typeof e._src&&(e._src=[e._src]);for(var n=0;n<e._src.length;n++){var r,o;if(e._format&&e._format[n])r=e._format[n];else{if("string"!=typeof(o=e._src[n])){e._emit("loaderror",null,"Non-string found in selected audio sources - ignoring.");continue}(r=/^data:audio\/([^;,]+);/i.exec(o))||(r=/\.([^.]+)$/.exec(o.split("?",1)[0])),r&&(r=r[1].toLowerCase())}if(r||console.warn('No file extension was found. Consider using the "format" property or specify an extension.'),r&&C.codecs(r)){t=e._src[n];break}}if(t)return e._src=t,e._state="loading","https:"===window.location.protocol&&"http:"===t.slice(0,5)&&(e._html5=!0,e._webAudio=!1),new v(e),e._webAudio&&L(e),e;e._emit("loaderror",null,"No codec support for selected audio sources.")}},play:function(e,t){var n=this,r=null;if("number"==typeof e)r=e,e=null;else{if("string"==typeof e&&"loaded"===n._state&&!n._sprite[e])return null;if(void 0===e&&(e="__default",!n._playLock)){for(var o=0,i=0;i<n._sounds.length;i++)n._sounds[i]._paused&&!n._sounds[i]._ended&&(o++,r=n._sounds[i]._id);1===o?e=null:r=null}}var a=r?n._soundById(r):n._inactiveSound();if(!a)return null;if(r&&!e&&(e=a._sprite||"__default"),"loaded"!==n._state){a._sprite=e,a._ended=!1;var s=a._id;return n._queue.push({event:"play",action:function(){n.play(s)}}),s}if(r&&!a._paused)return t||n._loadQueue("play"),a._id;n._webAudio&&C._autoResume();var _=Math.max(0,a._seek>0?a._seek:n._sprite[e][0]/1e3),d=Math.max(0,(n._sprite[e][0]+n._sprite[e][1])/1e3-_),u=1e3*d/Math.abs(a._rate),l=n._sprite[e][0]/1e3,c=(n._sprite[e][0]+n._sprite[e][1])/1e3;a._sprite=e,a._ended=!1;var h=function(){a._paused=!1,a._seek=_,a._start=l,a._stop=c,a._loop=!(!a._loop&&!n._sprite[e][2])};if(!(_>=c)){var m=a._node;if(n._webAudio){var f=function(){n._playLock=!1,h(),n._refreshBuffer(a);var e=a._muted||n._muted?0:a._volume;m.gain.setValueAtTime(e,C.ctx.currentTime),a._playStart=C.ctx.currentTime,void 0===m.bufferSource.start?a._loop?m.bufferSource.noteGrainOn(0,_,86400):m.bufferSource.noteGrainOn(0,_,d):a._loop?m.bufferSource.start(0,_,86400):m.bufferSource.start(0,_,d),u!==1/0&&(n._endTimers[a._id]=setTimeout(n._ended.bind(n,a),u)),t||setTimeout((function(){n._emit("play",a._id),n._loadQueue()}),0)};"running"===C.state&&"interrupted"!==C.ctx.state?f():(n._playLock=!0,n.once("resume",f),n._clearTimer(a._id))}else{var g=function(){m.currentTime=_,m.muted=a._muted||n._muted||C._muted||m.muted,m.volume=a._volume*C.volume(),m.playbackRate=a._rate;try{var r=m.play();if(r&&"undefined"!=typeof Promise&&(r instanceof Promise||"function"==typeof r.then)?(n._playLock=!0,h(),r.then((function(){n._playLock=!1,m._unlocked=!0,t?n._loadQueue():n._emit("play",a._id)})).catch((function(){n._playLock=!1,n._emit("playerror",a._id,"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction."),a._ended=!0,a._paused=!0}))):t||(n._playLock=!1,h(),n._emit("play",a._id)),m.playbackRate=a._rate,m.paused)return void n._emit("playerror",a._id,"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction.");"__default"!==e||a._loop?n._endTimers[a._id]=setTimeout(n._ended.bind(n,a),u):(n._endTimers[a._id]=function(){n._ended(a),m.removeEventListener("ended",n._endTimers[a._id],!1)},m.addEventListener("ended",n._endTimers[a._id],!1))}catch(e){n._emit("playerror",a._id,e)}};"data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA"===m.src&&(m.src=n._src,m.load());var p=window&&window.ejecta||!m.readyState&&C._navigator.isCocoonJS;if(m.readyState>=3||p)g();else{n._playLock=!0,n._state="loading";var A=function(){n._state="loaded",g(),m.removeEventListener(C._canPlayEvent,A,!1)};m.addEventListener(C._canPlayEvent,A,!1),n._clearTimer(a._id)}}return a._id}n._ended(a)},pause:function(e){var t=this;if("loaded"!==t._state||t._playLock)return t._queue.push({event:"pause",action:function(){t.pause(e)}}),t;for(var n=t._getSoundIds(e),r=0;r<n.length;r++){t._clearTimer(n[r]);var o=t._soundById(n[r]);if(o&&!o._paused&&(o._seek=t.seek(n[r]),o._rateSeek=0,o._paused=!0,t._stopFade(n[r]),o._node))if(t._webAudio){if(!o._node.bufferSource)continue;void 0===o._node.bufferSource.stop?o._node.bufferSource.noteOff(0):o._node.bufferSource.stop(0),t._cleanBuffer(o._node)}else isNaN(o._node.duration)&&o._node.duration!==1/0||o._node.pause();arguments[1]||t._emit("pause",o?o._id:null)}return t},stop:function(e,t){var n=this;if("loaded"!==n._state||n._playLock)return n._queue.push({event:"stop",action:function(){n.stop(e)}}),n;for(var r=n._getSoundIds(e),o=0;o<r.length;o++){n._clearTimer(r[o]);var i=n._soundById(r[o]);i&&(i._seek=i._start||0,i._rateSeek=0,i._paused=!0,i._ended=!0,n._stopFade(r[o]),i._node&&(n._webAudio?i._node.bufferSource&&(void 0===i._node.bufferSource.stop?i._node.bufferSource.noteOff(0):i._node.bufferSource.stop(0),n._cleanBuffer(i._node)):isNaN(i._node.duration)&&i._node.duration!==1/0||(i._node.currentTime=i._start||0,i._node.pause(),i._node.duration===1/0&&n._clearSound(i._node))),t||n._emit("stop",i._id))}return n},mute:function(e,t){var n=this;if("loaded"!==n._state||n._playLock)return n._queue.push({event:"mute",action:function(){n.mute(e,t)}}),n;if(void 0===t){if("boolean"!=typeof e)return n._muted;n._muted=e}for(var r=n._getSoundIds(t),o=0;o<r.length;o++){var i=n._soundById(r[o]);i&&(i._muted=e,i._interval&&n._stopFade(i._id),n._webAudio&&i._node?i._node.gain.setValueAtTime(e?0:i._volume,C.ctx.currentTime):i._node&&(i._node.muted=!!C._muted||e),n._emit("mute",i._id))}return n},volume:function(){var e,t,n,r=this,o=arguments;if(0===o.length)return r._volume;if(1===o.length||2===o.length&&void 0===o[1]?r._getSoundIds().indexOf(o[0])>=0?t=parseInt(o[0],10):e=parseFloat(o[0]):o.length>=2&&(e=parseFloat(o[0]),t=parseInt(o[1],10)),!(void 0!==e&&e>=0&&e<=1))return(n=t?r._soundById(t):r._sounds[0])?n._volume:0;if("loaded"!==r._state||r._playLock)return r._queue.push({event:"volume",action:function(){r.volume.apply(r,o)}}),r;void 0===t&&(r._volume=e),t=r._getSoundIds(t);for(var i=0;i<t.length;i++)(n=r._soundById(t[i]))&&(n._volume=e,o[2]||r._stopFade(t[i]),r._webAudio&&n._node&&!n._muted?n._node.gain.setValueAtTime(e,C.ctx.currentTime):n._node&&!n._muted&&(n._node.volume=e*C.volume()),r._emit("volume",n._id));return r},fade:function(e,t,n,r){var o=this;if("loaded"!==o._state||o._playLock)return o._queue.push({event:"fade",action:function(){o.fade(e,t,n,r)}}),o;e=Math.min(Math.max(0,parseFloat(e)),1),t=Math.min(Math.max(0,parseFloat(t)),1),n=parseFloat(n),o.volume(e,r);for(var i=o._getSoundIds(r),a=0;a<i.length;a++){var s=o._soundById(i[a]);if(s){if(r||o._stopFade(i[a]),o._webAudio&&!s._muted){var _=C.ctx.currentTime,d=_+n/1e3;s._volume=e,s._node.gain.setValueAtTime(e,_),s._node.gain.linearRampToValueAtTime(t,d)}o._startFadeInterval(s,e,t,n,i[a],void 0===r)}}return o},_startFadeInterval:function(e,t,n,r,o,i){var a=this,s=t,_=n-t,d=Math.abs(_/.01),u=Math.max(4,d>0?r/d:r),l=Date.now();e._fadeTo=n,e._interval=setInterval((function(){var o=(Date.now()-l)/r;l=Date.now(),s+=_*o,s=Math.round(100*s)/100,s=_<0?Math.max(n,s):Math.min(n,s),a._webAudio?e._volume=s:a.volume(s,e._id,!0),i&&(a._volume=s),(n<t&&s<=n||n>t&&s>=n)&&(clearInterval(e._interval),e._interval=null,e._fadeTo=null,a.volume(n,e._id),a._emit("fade",e._id))}),u)},_stopFade:function(e){var t=this,n=t._soundById(e);return n&&n._interval&&(t._webAudio&&n._node.gain.cancelScheduledValues(C.ctx.currentTime),clearInterval(n._interval),n._interval=null,t.volume(n._fadeTo,e),n._fadeTo=null,t._emit("fade",e)),t},loop:function(){var e,t,n,r=this,o=arguments;if(0===o.length)return r._loop;if(1===o.length){if("boolean"!=typeof o[0])return!!(n=r._soundById(parseInt(o[0],10)))&&n._loop;e=o[0],r._loop=e}else 2===o.length&&(e=o[0],t=parseInt(o[1],10));for(var i=r._getSoundIds(t),a=0;a<i.length;a++)(n=r._soundById(i[a]))&&(n._loop=e,r._webAudio&&n._node&&n._node.bufferSource&&(n._node.bufferSource.loop=e,e&&(n._node.bufferSource.loopStart=n._start||0,n._node.bufferSource.loopEnd=n._stop,r.playing(i[a])&&(r.pause(i[a],!0),r.play(i[a],!0)))));return r},rate:function(){var e,t,n,r=this,o=arguments;if(0===o.length)t=r._sounds[0]._id;else if(1===o.length){r._getSoundIds().indexOf(o[0])>=0?t=parseInt(o[0],10):e=parseFloat(o[0])}else 2===o.length&&(e=parseFloat(o[0]),t=parseInt(o[1],10));if("number"!=typeof e)return(n=r._soundById(t))?n._rate:r._rate;if("loaded"!==r._state||r._playLock)return r._queue.push({event:"rate",action:function(){r.rate.apply(r,o)}}),r;void 0===t&&(r._rate=e),t=r._getSoundIds(t);for(var i=0;i<t.length;i++)if(n=r._soundById(t[i])){r.playing(t[i])&&(n._rateSeek=r.seek(t[i]),n._playStart=r._webAudio?C.ctx.currentTime:n._playStart),n._rate=e,r._webAudio&&n._node&&n._node.bufferSource?n._node.bufferSource.playbackRate.setValueAtTime(e,C.ctx.currentTime):n._node&&(n._node.playbackRate=e);var a=r.seek(t[i]),s=1e3*((r._sprite[n._sprite][0]+r._sprite[n._sprite][1])/1e3-a)/Math.abs(n._rate);!r._endTimers[t[i]]&&n._paused||(r._clearTimer(t[i]),r._endTimers[t[i]]=setTimeout(r._ended.bind(r,n),s)),r._emit("rate",n._id)}return r},seek:function(){var e,t,n=this,r=arguments;if(0===r.length)n._sounds.length&&(t=n._sounds[0]._id);else if(1===r.length){n._getSoundIds().indexOf(r[0])>=0?t=parseInt(r[0],10):n._sounds.length&&(t=n._sounds[0]._id,e=parseFloat(r[0]))}else 2===r.length&&(e=parseFloat(r[0]),t=parseInt(r[1],10));if(void 0===t)return 0;if("number"==typeof e&&("loaded"!==n._state||n._playLock))return n._queue.push({event:"seek",action:function(){n.seek.apply(n,r)}}),n;var o=n._soundById(t);if(o){if(!("number"==typeof e&&e>=0)){if(n._webAudio){var i=n.playing(t)?C.ctx.currentTime-o._playStart:0,a=o._rateSeek?o._rateSeek-o._seek:0;return o._seek+(a+i*Math.abs(o._rate))}return o._node.currentTime}var s=n.playing(t);s&&n.pause(t,!0),o._seek=e,o._ended=!1,n._clearTimer(t),n._webAudio||!o._node||isNaN(o._node.duration)||(o._node.currentTime=e);var _=function(){s&&n.play(t,!0),n._emit("seek",t)};if(s&&!n._webAudio){var d=function(){n._playLock?setTimeout(d,0):_()};setTimeout(d,0)}else _()}return n},playing:function(e){var t=this;if("number"==typeof e){var n=t._soundById(e);return!!n&&!n._paused}for(var r=0;r<t._sounds.length;r++)if(!t._sounds[r]._paused)return!0;return!1},duration:function(e){var t=this,n=t._duration,r=t._soundById(e);return r&&(n=t._sprite[r._sprite][1]/1e3),n},state:function(){return this._state},unload:function(){for(var e=this,t=e._sounds,n=0;n<t.length;n++)t[n]._paused||e.stop(t[n]._id),e._webAudio||(e._clearSound(t[n]._node),t[n]._node.removeEventListener("error",t[n]._errorFn,!1),t[n]._node.removeEventListener(C._canPlayEvent,t[n]._loadFn,!1),t[n]._node.removeEventListener("ended",t[n]._endFn,!1),C._releaseHtml5Audio(t[n]._node)),delete t[n]._node,e._clearTimer(t[n]._id);var r=C._howls.indexOf(e);r>=0&&C._howls.splice(r,1);var o=!0;for(n=0;n<C._howls.length;n++)if(C._howls[n]._src===e._src||e._src.indexOf(C._howls[n]._src)>=0){o=!1;break}return M&&o&&delete M[e._src],C.noAudio=!1,e._state="unloaded",e._sounds=[],e=null,null},on:function(e,t,n,r){var o=this["_on"+e];return"function"==typeof t&&o.push(r?{id:n,fn:t,once:r}:{id:n,fn:t}),this},off:function(e,t,n){var r=this,o=r["_on"+e],i=0;if("number"==typeof t&&(n=t,t=null),t||n)for(i=0;i<o.length;i++){var a=n===o[i].id;if(t===o[i].fn&&a||!t&&a){o.splice(i,1);break}}else if(e)r["_on"+e]=[];else{var s=Object.keys(r);for(i=0;i<s.length;i++)0===s[i].indexOf("_on")&&Array.isArray(r[s[i]])&&(r[s[i]]=[])}return r},once:function(e,t,n){return this.on(e,t,n,1),this},_emit:function(e,t,n){for(var r=this,o=r["_on"+e],i=o.length-1;i>=0;i--)o[i].id&&o[i].id!==t&&"load"!==e||(setTimeout(function(e){e.call(this,t,n)}.bind(r,o[i].fn),0),o[i].once&&r.off(e,o[i].fn,o[i].id));return r._loadQueue(e),r},_loadQueue:function(e){var t=this;if(t._queue.length>0){var n=t._queue[0];n.event===e&&(t._queue.shift(),t._loadQueue()),e||n.action()}return t},_ended:function(e){var t=this,n=e._sprite;if(!t._webAudio&&e._node&&!e._node.paused&&!e._node.ended&&e._node.currentTime<e._stop)return setTimeout(t._ended.bind(t,e),100),t;var r=!(!e._loop&&!t._sprite[n][2]);if(t._emit("end",e._id),!t._webAudio&&r&&t.stop(e._id,!0).play(e._id),t._webAudio&&r){t._emit("play",e._id),e._seek=e._start||0,e._rateSeek=0,e._playStart=C.ctx.currentTime;var o=1e3*(e._stop-e._start)/Math.abs(e._rate);t._endTimers[e._id]=setTimeout(t._ended.bind(t,e),o)}return t._webAudio&&!r&&(e._paused=!0,e._ended=!0,e._seek=e._start||0,e._rateSeek=0,t._clearTimer(e._id),t._cleanBuffer(e._node),C._autoSuspend()),t._webAudio||r||t.stop(e._id,!0),t},_clearTimer:function(e){var t=this;if(t._endTimers[e]){if("function"!=typeof t._endTimers[e])clearTimeout(t._endTimers[e]);else{var n=t._soundById(e);n&&n._node&&n._node.removeEventListener("ended",t._endTimers[e],!1)}delete t._endTimers[e]}return t},_soundById:function(e){for(var t=this,n=0;n<t._sounds.length;n++)if(e===t._sounds[n]._id)return t._sounds[n];return null},_inactiveSound:function(){var e=this;e._drain();for(var t=0;t<e._sounds.length;t++)if(e._sounds[t]._ended)return e._sounds[t].reset();return new v(e)},_drain:function(){var e=this,t=e._pool,n=0,r=0;if(!(e._sounds.length<t)){for(r=0;r<e._sounds.length;r++)e._sounds[r]._ended&&n++;for(r=e._sounds.length-1;r>=0;r--){if(n<=t)return;e._sounds[r]._ended&&(e._webAudio&&e._sounds[r]._node&&e._sounds[r]._node.disconnect(0),e._sounds.splice(r,1),n--)}}},_getSoundIds:function(e){if(void 0===e){for(var t=[],n=0;n<this._sounds.length;n++)t.push(this._sounds[n]._id);return t}return[e]},_refreshBuffer:function(e){return e._node.bufferSource=C.ctx.createBufferSource(),e._node.bufferSource.buffer=M[this._src],e._panner?e._node.bufferSource.connect(e._panner):e._node.bufferSource.connect(e._node),e._node.bufferSource.loop=e._loop,e._loop&&(e._node.bufferSource.loopStart=e._start||0,e._node.bufferSource.loopEnd=e._stop||0),e._node.bufferSource.playbackRate.setValueAtTime(e._rate,C.ctx.currentTime),this},_cleanBuffer:function(e){var t=C._navigator&&C._navigator.vendor.indexOf("Apple")>=0;if(!e.bufferSource)return this;if(C._scratchBuffer&&e.bufferSource&&(e.bufferSource.onended=null,e.bufferSource.disconnect(0),t))try{e.bufferSource.buffer=C._scratchBuffer}catch(e){}return e.bufferSource=null,this},_clearSound:function(e){/MSIE |Trident\//.test(C._navigator&&C._navigator.userAgent)||(e.src="data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA")}};var v=function(e){this._parent=e,this.init()};v.prototype={init:function(){var e=this,t=e._parent;return e._muted=t._muted,e._loop=t._loop,e._volume=t._volume,e._rate=t._rate,e._seek=0,e._paused=!0,e._ended=!0,e._sprite="__default",e._id=++C._counter,t._sounds.push(e),e.create(),e},create:function(){var e=this,t=e._parent,n=C._muted||e._muted||e._parent._muted?0:e._volume;return t._webAudio?(e._node=void 0===C.ctx.createGain?C.ctx.createGainNode():C.ctx.createGain(),e._node.gain.setValueAtTime(n,C.ctx.currentTime),e._node.paused=!0,e._node.connect(C.masterGain)):C.noAudio||(e._node=C._obtainHtml5Audio(),e._errorFn=e._errorListener.bind(e),e._node.addEventListener("error",e._errorFn,!1),e._loadFn=e._loadListener.bind(e),e._node.addEventListener(C._canPlayEvent,e._loadFn,!1),e._endFn=e._endListener.bind(e),e._node.addEventListener("ended",e._endFn,!1),e._node.src=t._src,e._node.preload=!0===t._preload?"auto":t._preload,e._node.volume=n*C.volume(),e._node.load()),e},reset:function(){var e=this,t=e._parent;return e._muted=t._muted,e._loop=t._loop,e._volume=t._volume,e._rate=t._rate,e._seek=0,e._rateSeek=0,e._paused=!0,e._ended=!0,e._sprite="__default",e._id=++C._counter,e},_errorListener:function(){var e=this;e._parent._emit("loaderror",e._id,e._node.error?e._node.error.code:0),e._node.removeEventListener("error",e._errorFn,!1)},_loadListener:function(){var e=this,t=e._parent;t._duration=Math.ceil(10*e._node.duration)/10,0===Object.keys(t._sprite).length&&(t._sprite={__default:[0,1e3*t._duration]}),"loaded"!==t._state&&(t._state="loaded",t._emit("load"),t._loadQueue()),e._node.removeEventListener(C._canPlayEvent,e._loadFn,!1)},_endListener:function(){var e=this,t=e._parent;t._duration===1/0&&(t._duration=Math.ceil(10*e._node.duration)/10,t._sprite.__default[1]===1/0&&(t._sprite.__default[1]=1e3*t._duration),t._ended(e)),e._node.removeEventListener("ended",e._endFn,!1)}};var M={},L=function(e){var t=e._src;if(M[t])return e._duration=M[t].duration,void B(e);if(/^data:[^;]+;base64,/.test(t)){for(var n=atob(t.split(",")[1]),r=new Uint8Array(n.length),o=0;o<n.length;++o)r[o]=n.charCodeAt(o);w(r.buffer,e)}else{var i=new XMLHttpRequest;i.open(e._xhr.method,t,!0),i.withCredentials=e._xhr.withCredentials,i.responseType="arraybuffer",e._xhr.headers&&Object.keys(e._xhr.headers).forEach((function(t){i.setRequestHeader(t,e._xhr.headers[t])})),i.onload=function(){var t=(i.status+"")[0];"0"===t||"2"===t||"3"===t?w(i.response,e):e._emit("loaderror",null,"Failed loading audio file with status: "+i.status+".")},i.onerror=function(){e._webAudio&&(e._html5=!0,e._webAudio=!1,e._sounds=[],delete M[t],e.load())},O(i)}},O=function(e){try{e.send()}catch(t){e.onerror()}},w=function(e,t){var n=function(){t._emit("loaderror",null,"Decoding audio data failed.")},r=function(e){e&&t._sounds.length>0?(M[t._src]=e,B(t,e)):n()};"undefined"!=typeof Promise&&1===C.ctx.decodeAudioData.length?C.ctx.decodeAudioData(e).then(r).catch(n):C.ctx.decodeAudioData(e,r,n)},B=function(e,t){t&&!e._duration&&(e._duration=t.duration),0===Object.keys(e._sprite).length&&(e._sprite={__default:[0,1e3*e._duration]}),"loaded"!==e._state&&(e._state="loaded",e._emit("load"),e._loadQueue())},b=function(){if(C.usingWebAudio){try{"undefined"!=typeof AudioContext?C.ctx=new AudioContext:"undefined"!=typeof webkitAudioContext?C.ctx=new webkitAudioContext:C.usingWebAudio=!1}catch(e){C.usingWebAudio=!1}C.ctx||(C.usingWebAudio=!1);var e=/iP(hone|od|ad)/.test(C._navigator&&C._navigator.platform),t=C._navigator&&C._navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/),n=t?parseInt(t[1],10):null;if(e&&n&&n<9){var r=/safari/.test(C._navigator&&C._navigator.userAgent.toLowerCase());C._navigator&&!r&&(C.usingWebAudio=!1)}C.usingWebAudio&&(C.masterGain=void 0===C.ctx.createGain?C.ctx.createGainNode():C.ctx.createGain(),C.masterGain.gain.setValueAtTime(C._muted?0:C._volume,C.ctx.currentTime),C.masterGain.connect(C.ctx.destination)),C._setup()}};!function(e,t,n,r){var o;e.prototype._pos=[0,0,0],e.prototype._orientation=[0,0,-1,0,1,0],e.prototype.stereo=function(e){var t=this;if(!t.ctx||!t.ctx.listener)return t;for(var n=t._howls.length-1;n>=0;n--)t._howls[n].stereo(e);return t},e.prototype.pos=function(e,n,r){var o=this;return o.ctx&&o.ctx.listener?(n="number"!=typeof n?o._pos[1]:n,r="number"!=typeof r?o._pos[2]:r,"number"!=typeof e?o._pos:(o._pos=[e,n,r],void 0!==o.ctx.listener.positionX?(o.ctx.listener.positionX.setTargetAtTime(o._pos[0],t.ctx.currentTime,.1),o.ctx.listener.positionY.setTargetAtTime(o._pos[1],t.ctx.currentTime,.1),o.ctx.listener.positionZ.setTargetAtTime(o._pos[2],t.ctx.currentTime,.1)):o.ctx.listener.setPosition(o._pos[0],o._pos[1],o._pos[2]),o)):o},e.prototype.orientation=function(e,n,r,o,i,a){var s=this;if(!s.ctx||!s.ctx.listener)return s;var _=s._orientation;return n="number"!=typeof n?_[1]:n,r="number"!=typeof r?_[2]:r,o="number"!=typeof o?_[3]:o,i="number"!=typeof i?_[4]:i,a="number"!=typeof a?_[5]:a,"number"!=typeof e?_:(s._orientation=[e,n,r,o,i,a],void 0!==s.ctx.listener.forwardX?(s.ctx.listener.forwardX.setTargetAtTime(e,t.ctx.currentTime,.1),s.ctx.listener.forwardY.setTargetAtTime(n,t.ctx.currentTime,.1),s.ctx.listener.forwardZ.setTargetAtTime(r,t.ctx.currentTime,.1),s.ctx.listener.upX.setTargetAtTime(o,t.ctx.currentTime,.1),s.ctx.listener.upY.setTargetAtTime(i,t.ctx.currentTime,.1),s.ctx.listener.upZ.setTargetAtTime(a,t.ctx.currentTime,.1)):s.ctx.listener.setOrientation(e,n,r,o,i,a),s)},n.prototype.init=(o=n.prototype.init,function(e){var t=this;return t._orientation=e.orientation||[1,0,0],t._stereo=e.stereo||null,t._pos=e.pos||null,t._pannerAttr={coneInnerAngle:void 0!==e.coneInnerAngle?e.coneInnerAngle:360,coneOuterAngle:void 0!==e.coneOuterAngle?e.coneOuterAngle:360,coneOuterGain:void 0!==e.coneOuterGain?e.coneOuterGain:0,distanceModel:void 0!==e.distanceModel?e.distanceModel:"inverse",maxDistance:void 0!==e.maxDistance?e.maxDistance:1e4,panningModel:void 0!==e.panningModel?e.panningModel:"HRTF",refDistance:void 0!==e.refDistance?e.refDistance:1,rolloffFactor:void 0!==e.rolloffFactor?e.rolloffFactor:1},t._onstereo=e.onstereo?[{fn:e.onstereo}]:[],t._onpos=e.onpos?[{fn:e.onpos}]:[],t._onorientation=e.onorientation?[{fn:e.onorientation}]:[],o.call(this,e)}),n.prototype.stereo=function(e,n){var r=this;if(!r._webAudio)return r;if("loaded"!==r._state)return r._queue.push({event:"stereo",action:function(){r.stereo(e,n)}}),r;var o=void 0===t.ctx.createStereoPanner?"spatial":"stereo";if(void 0===n){if("number"!=typeof e)return r._stereo;r._stereo=e,r._pos=[e,0,0]}for(var a=r._getSoundIds(n),s=0;s<a.length;s++){var _=r._soundById(a[s]);if(_){if("number"!=typeof e)return _._stereo;_._stereo=e,_._pos=[e,0,0],_._node&&(_._pannerAttr.panningModel="equalpower",_._panner&&_._panner.pan||i(_,o),"spatial"===o?void 0!==_._panner.positionX?(_._panner.positionX.setValueAtTime(e,t.ctx.currentTime),_._panner.positionY.setValueAtTime(0,t.ctx.currentTime),_._panner.positionZ.setValueAtTime(0,t.ctx.currentTime)):_._panner.setPosition(e,0,0):_._panner.pan.setValueAtTime(e,t.ctx.currentTime)),r._emit("stereo",_._id)}}return r},n.prototype.pos=function(e,n,r,o){var a=this;if(!a._webAudio)return a;if("loaded"!==a._state)return a._queue.push({event:"pos",action:function(){a.pos(e,n,r,o)}}),a;if(n="number"!=typeof n?0:n,r="number"!=typeof r?-.5:r,void 0===o){if("number"!=typeof e)return a._pos;a._pos=[e,n,r]}for(var s=a._getSoundIds(o),_=0;_<s.length;_++){var d=a._soundById(s[_]);if(d){if("number"!=typeof e)return d._pos;d._pos=[e,n,r],d._node&&(d._panner&&!d._panner.pan||i(d,"spatial"),void 0!==d._panner.positionX?(d._panner.positionX.setValueAtTime(e,t.ctx.currentTime),d._panner.positionY.setValueAtTime(n,t.ctx.currentTime),d._panner.positionZ.setValueAtTime(r,t.ctx.currentTime)):d._panner.setPosition(e,n,r)),a._emit("pos",d._id)}}return a},n.prototype.orientation=function(e,n,r,o){var a=this;if(!a._webAudio)return a;if("loaded"!==a._state)return a._queue.push({event:"orientation",action:function(){a.orientation(e,n,r,o)}}),a;if(n="number"!=typeof n?a._orientation[1]:n,r="number"!=typeof r?a._orientation[2]:r,void 0===o){if("number"!=typeof e)return a._orientation;a._orientation=[e,n,r]}for(var s=a._getSoundIds(o),_=0;_<s.length;_++){var d=a._soundById(s[_]);if(d){if("number"!=typeof e)return d._orientation;d._orientation=[e,n,r],d._node&&(d._panner||(d._pos||(d._pos=a._pos||[0,0,-.5]),i(d,"spatial")),void 0!==d._panner.orientationX?(d._panner.orientationX.setValueAtTime(e,t.ctx.currentTime),d._panner.orientationY.setValueAtTime(n,t.ctx.currentTime),d._panner.orientationZ.setValueAtTime(r,t.ctx.currentTime)):d._panner.setOrientation(e,n,r)),a._emit("orientation",d._id)}}return a},n.prototype.pannerAttr=function(){var e,t,n,r=this,o=arguments;if(!r._webAudio)return r;if(0===o.length)return r._pannerAttr;if(1===o.length){if("object"!=typeof o[0])return(n=r._soundById(parseInt(o[0],10)))?n._pannerAttr:r._pannerAttr;e=o[0],void 0===t&&(e.pannerAttr||(e.pannerAttr={coneInnerAngle:e.coneInnerAngle,coneOuterAngle:e.coneOuterAngle,coneOuterGain:e.coneOuterGain,distanceModel:e.distanceModel,maxDistance:e.maxDistance,refDistance:e.refDistance,rolloffFactor:e.rolloffFactor,panningModel:e.panningModel}),r._pannerAttr={coneInnerAngle:void 0!==e.pannerAttr.coneInnerAngle?e.pannerAttr.coneInnerAngle:r._coneInnerAngle,coneOuterAngle:void 0!==e.pannerAttr.coneOuterAngle?e.pannerAttr.coneOuterAngle:r._coneOuterAngle,coneOuterGain:void 0!==e.pannerAttr.coneOuterGain?e.pannerAttr.coneOuterGain:r._coneOuterGain,distanceModel:void 0!==e.pannerAttr.distanceModel?e.pannerAttr.distanceModel:r._distanceModel,maxDistance:void 0!==e.pannerAttr.maxDistance?e.pannerAttr.maxDistance:r._maxDistance,refDistance:void 0!==e.pannerAttr.refDistance?e.pannerAttr.refDistance:r._refDistance,rolloffFactor:void 0!==e.pannerAttr.rolloffFactor?e.pannerAttr.rolloffFactor:r._rolloffFactor,panningModel:void 0!==e.pannerAttr.panningModel?e.pannerAttr.panningModel:r._panningModel})}else 2===o.length&&(e=o[0],t=parseInt(o[1],10));for(var a=r._getSoundIds(t),s=0;s<a.length;s++)if(n=r._soundById(a[s])){var _=n._pannerAttr;_={coneInnerAngle:void 0!==e.coneInnerAngle?e.coneInnerAngle:_.coneInnerAngle,coneOuterAngle:void 0!==e.coneOuterAngle?e.coneOuterAngle:_.coneOuterAngle,coneOuterGain:void 0!==e.coneOuterGain?e.coneOuterGain:_.coneOuterGain,distanceModel:void 0!==e.distanceModel?e.distanceModel:_.distanceModel,maxDistance:void 0!==e.maxDistance?e.maxDistance:_.maxDistance,refDistance:void 0!==e.refDistance?e.refDistance:_.refDistance,rolloffFactor:void 0!==e.rolloffFactor?e.rolloffFactor:_.rolloffFactor,panningModel:void 0!==e.panningModel?e.panningModel:_.panningModel};var d=n._panner;d||(n._pos||(n._pos=r._pos||[0,0,-.5]),i(n,"spatial"),d=n._panner),d.coneInnerAngle=_.coneInnerAngle,d.coneOuterAngle=_.coneOuterAngle,d.coneOuterGain=_.coneOuterGain,d.distanceModel=_.distanceModel,d.maxDistance=_.maxDistance,d.refDistance=_.refDistance,d.rolloffFactor=_.rolloffFactor,d.panningModel=_.panningModel}return r},r.prototype.init=function(e){return function(){var t=this,n=t._parent;t._orientation=n._orientation,t._stereo=n._stereo,t._pos=n._pos,t._pannerAttr=n._pannerAttr,e.call(this),t._stereo?n.stereo(t._stereo):t._pos&&n.pos(t._pos[0],t._pos[1],t._pos[2],t._id)}}(r.prototype.init),r.prototype.reset=function(e){return function(){var t=this,n=t._parent;return t._orientation=n._orientation,t._stereo=n._stereo,t._pos=n._pos,t._pannerAttr=n._pannerAttr,t._stereo?n.stereo(t._stereo):t._pos?n.pos(t._pos[0],t._pos[1],t._pos[2],t._id):t._panner&&(t._panner.disconnect(0),t._panner=void 0,n._refreshBuffer(t)),e.call(this)}}(r.prototype.reset);var i=function(e,n){"spatial"===(n=n||"spatial")?(e._panner=t.ctx.createPanner(),e._panner.coneInnerAngle=e._pannerAttr.coneInnerAngle,e._panner.coneOuterAngle=e._pannerAttr.coneOuterAngle,e._panner.coneOuterGain=e._pannerAttr.coneOuterGain,e._panner.distanceModel=e._pannerAttr.distanceModel,e._panner.maxDistance=e._pannerAttr.maxDistance,e._panner.refDistance=e._pannerAttr.refDistance,e._panner.rolloffFactor=e._pannerAttr.rolloffFactor,e._panner.panningModel=e._pannerAttr.panningModel,void 0!==e._panner.positionX?(e._panner.positionX.setValueAtTime(e._pos[0],t.ctx.currentTime),e._panner.positionY.setValueAtTime(e._pos[1],t.ctx.currentTime),e._panner.positionZ.setValueAtTime(e._pos[2],t.ctx.currentTime)):e._panner.setPosition(e._pos[0],e._pos[1],e._pos[2]),void 0!==e._panner.orientationX?(e._panner.orientationX.setValueAtTime(e._orientation[0],t.ctx.currentTime),e._panner.orientationY.setValueAtTime(e._orientation[1],t.ctx.currentTime),e._panner.orientationZ.setValueAtTime(e._orientation[2],t.ctx.currentTime)):e._panner.setOrientation(e._orientation[0],e._orientation[1],e._orientation[2])):(e._panner=t.ctx.createStereoPanner(),e._panner.pan.setValueAtTime(e._stereo,t.ctx.currentTime)),e._panner.connect(e._node),e._paused||e._parent.pause(e._id,!0).play(e._id,!0)}}(S,C,y,v);const N=["iPhone","iPad","Android","HarmonyOS"].includes(s.OS)?2048:4096;class P{static get version(){return this._version}static get license(){return this._license}static set license(e){((e,t)=>{const n=e;if(!n._pLoad.isEmpty)throw new Error("`license`"+h);n._license=t})(P,e)}static get productKeys(){return this._license}static set productKeys(e){P.license=e}static get handshakeCode(){return this._license}static set handshakeCode(e){P.license=e}static get organizationID(){return this._license}static set organizationID(e){P.license=e}static set sessionPassword(e){((e,t)=>{const n=e;if(!n._pLoad.isEmpty)throw new Error("`sessionPassword`"+h);n._sessionPassword=t})(P,e)}static get sessionPassword(){return this._sessionPassword}static async detectEnvironment(){return await(async()=>({wasm:_,worker:d,getUserMedia:u,camera:await l(),browser:s.browser,version:s.version,OS:s.OS}))()}static get engineResourcePath(){return this._engineResourcePath}static set engineResourcePath(e){if(!this._pLoad.isEmpty)throw new Error("`engineResourcePath` is not allowed to change after `createInstance` or `loadWasm` is called.");P._engineResourcePath=(e=>{if(null==e&&(e="./"),t);else{let t=document.createElement("a");t.href=e,e=t.href}return e.endsWith("/")||(e+="/"),e})(e)}static get licenseServer(){return this._licenseServer}static set licenseServer(e){((e,t)=>{const n=e;if(!n._pLoad.isEmpty)throw new Error("`licenseServer`"+h);n._licenseServer=g(t)})(P,e)}static get deviceFriendlyName(){return this._deviceFriendlyName}static set deviceFriendlyName(e){((e,t)=>{const n=e;if(!n._pLoad.isEmpty)throw new Error("`deviceFriendlyName`"+h);n._deviceFriendlyName=t||""})(P,e)}static get _bUseFullFeature(){return this.__bUseFullFeature}static set _bUseFullFeature(e){if(!this._pLoad.isEmpty)throw new Error("`_bUseFullFeature` is not allowed to change after `createInstance` or `loadWasm` is called.");P.__bUseFullFeature=e}static isImageSource(e){return!(!e||"object"!=typeof e||Array.isArray(e))&&"getImage"in e}static isDSImage(e){return!(!e||"object"!=typeof e||Array.isArray(e))&&("data"in e&&("width"in e&&("height"in e&&"pixelFormat"in e)))}static isDCEFrame(e){return!(!e||"object"!=typeof e||Array.isArray(e))&&("data"in e&&("region"in e&&("sx"in e&&("sy"in e&&("width"in e&&("height"in e&&(("colorMode"in e||"pixelFormat"in e)&&("timeSpent"in e&&("timeStamp"in e&&("isCropped"in e&&("toCanvas"in e&&("_sWidth"in e&&("_sHeight"in e&&"_bUseWebGL"in e)))))))))))))}get ifSaveOriginalImageInACanvas(){return this._ifSaveOriginalImageInACanvas}set ifSaveOriginalImageInACanvas(e){this._ifSaveOriginalImageInACanvas=e}getOriginalImageInACanvas(){return!this.oriCanvas&&this.oriCanvasData?this.oriCanvasData.toCanvas():this.oriCanvas}set region(e){this._region=e,this.array_decodeFrameTimeCost.length=0,this.array_getFrameTimeCost.length=0,this._intervalGetVideoFrame=0}get region(){return this._region}static isWasmLoaded(){return this._pLoad.isFulfilled}isContextDestroyed(){return this.bDestroyed}static get lastErrorCode(){return this._lastErrorCode}static get lastErrorString(){return this._lastErrorString}get lastErrorCode(){return this._lastErrorCode}get lastErrorString(){return this._lastErrorString}static get defaultUIElementURL(){var e;return null===(e=P._defaultUIElementURL)||void 0===e?void 0:e.replace("@engineResourcePath/",P.engineResourcePath