{"version":3,"sources":["webpack:///./node_modules/@babel/runtime/regenerator/index.js","webpack:///(webpack)/buildin/amd-define.js","webpack:///./node_modules/ua-parser-js/src/ua-parser.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///(webpack)/buildin/amd-options.js","webpack:///(webpack)/buildin/module.js"],"names":["module","exports","Error","_typeof","Symbol","iterator","obj","constructor","prototype","window","undefined","MODEL","NAME","TYPE","VENDOR","VERSION","MOBILE","TABLET","SMARTTV","enumerize","arr","enums","i","length","toUpperCase","has","str1","str2","lowerize","indexOf","str","toLowerCase","trim","len","replace","substring","rgxMapper","ua","arrays","j","k","p","q","matches","match","regex","props","exec","this","call","test","strMapper","map","windowsVersionMap","regexes","browser","OPERA","FIREFOX","CHROME","cpu","device","APPLE","engine","EDGE","os","UAParser","extensions","getResult","_ua","navigator","userAgent","_rgxmap","mergedRegexes","concat","extend","getBrowser","version","_browser","major","split","getCPU","_cpu","getDevice","_device","getEngine","_engine","getOS","_os","getUA","setUA","BROWSER","CPU","DEVICE","ENGINE","OS","$","jQuery","Zepto","parser","get","set","result","prop","runtime","Op","Object","hasOwn","hasOwnProperty","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","_invoke","state","method","arg","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","type","done","value","makeInvokeMethod","fn","err","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","resolve","reject","invoke","__await","then","unwrapped","error","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","displayName","isGeneratorFunction","genFun","ctor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","toString","keys","object","key","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function","__webpack_amd_options__","webpackPolyfill","deprecate","paths","children","defineProperty","enumerable","l"],"mappings":"2EAAAA,EAAOC,QAAU,EAAQ,K,kBCAzBD,EAAOC,QAAU,WAChB,MAAM,IAAIC,MAAM,oC,oBCDjB,gCAAoW,OAAtOC,EAArD,oBAAXC,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBC,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXF,QAAyBE,EAAIC,cAAgBH,QAAUE,IAAQF,OAAOI,UAAY,gBAAkBF,IAAyBA,IAcnX,SAAWG,EAAQC,GACjB,aAIA,IAQIC,EAAQ,QACRC,EAAO,OACPC,EAAO,OACPC,EAAS,SACTC,EAAU,UAGVC,EAAS,SACTC,EAAS,SACTC,EAAU,UAuCVC,EAAY,SAAmBC,GAGjC,IAFA,IAAIC,EAAQ,GAEHC,EAAI,EAAGA,EAAIF,EAAIG,OAAQD,IAC9BD,EAAMD,EAAIE,GAAGE,eAAiBJ,EAAIE,GAGpC,OAAOD,GAELI,EAAM,SAAaC,EAAMC,GAC3B,MA5Da,WA4DNxB,EAAQuB,KAAiE,IAA5CE,EAASD,GAAME,QAAQD,EAASF,KAElEE,EAAW,SAAkBE,GAC/B,OAAOA,EAAIC,eAKTC,EAAO,SAAcF,EAAKG,GAC5B,GArEa,WAqET9B,EAAQ2B,GAEV,OADAA,EAAMA,EAAII,QAAQ,SA3EV,IA2E2BA,QAAQ,SA3EnC,IAGK,cAyEN/B,EAAQ8B,GAAsBH,EAAMA,EAAIK,UAAU,EAzDzC,MAgEhBC,EAAY,SAAmBC,EAAIC,GASrC,IARA,IACIC,EACAC,EACAC,EACAC,EACAC,EACAC,EANAtB,EAAI,EAQDA,EAAIgB,EAAOf,SAAWoB,GAAS,CACpC,IAAIE,EAAQP,EAAOhB,GAEnBwB,EAAQR,EAAOhB,EAAI,GAInB,IAFAiB,EAAIC,EAAI,EAEDD,EAAIM,EAAMtB,SAAWoB,GAG1B,GAFAA,EAAUE,EAAMN,KAAKQ,KAAKV,GAGxB,IAAKI,EAAI,EAAGA,EAAIK,EAAMvB,OAAQkB,IAC5BG,EAAQD,IAAUH,GApGb,WAuGDrC,EAFJuC,EAAII,EAAML,KAEqBC,EAAEnB,OAAS,EACvB,IAAbmB,EAAEnB,OA1GF,YA2GEpB,EAAQuC,EAAE,IAEZM,KAAKN,EAAE,IAAMA,EAAE,GAAGO,KAAKD,KAAMJ,GAG7BI,KAAKN,EAAE,IAAMA,EAAE,GAEK,IAAbA,EAAEnB,OAlHT,aAoHEpB,EAAQuC,EAAE,KAAuBA,EAAE,GAAGK,MAAQL,EAAE,GAAGQ,KAKrDF,KAAKN,EAAE,IAAME,EAAQA,EAAMV,QAAQQ,EAAE,GAAIA,EAAE,SAjI7D,EA8HkBM,KAAKN,EAAE,IAAME,EAAQF,EAAE,GAAGO,KAAKD,KAAMJ,EAAOF,EAAE,SA9HhE,EAmIsC,IAAbA,EAAEnB,SACXyB,KAAKN,EAAE,IAAME,EAAQF,EAAE,GAAGO,KAAKD,KAAMJ,EAAMV,QAAQQ,EAAE,GAAIA,EAAE,UApI3E,GAuIcM,KAAKN,GAAKE,QAvIxB,EA6IMtB,GAAK,IAGL6B,EAAY,SAAmBrB,EAAKsB,GACtC,IAAK,IAAI9B,KAAK8B,EAEZ,GAzIW,WAyIPjD,EAAQiD,EAAI9B,KAAoB8B,EAAI9B,GAAGC,OAAS,GAClD,IAAK,IAAIgB,EAAI,EAAGA,EAAIa,EAAI9B,GAAGC,OAAQgB,IACjC,GAAId,EAAI2B,EAAI9B,GAAGiB,GAAIT,GACjB,MA/II,MA+IGR,OAtJnB,EAsJ+CA,OAGlC,GAAIG,EAAI2B,EAAI9B,GAAIQ,GACrB,MAnJQ,MAmJDR,OA1Jf,EA0J2CA,EAIvC,OAAOQ,GAiBLuB,EAAoB,CACtB,GAAM,OACN,UAAW,SACX,SAAU,QACV,IAAQ,SACR,GAAM,CAAC,SAAU,UACjB,MAAS,SACT,EAAK,SACL,EAAK,SACL,IAAO,SACP,GAAM,CAAC,SAAU,WACjB,GAAM,OAKJC,EAAU,CACZC,QAAS,CAAC,CAAC,gCACR,CAACxC,EAAS,CAACH,EAAM,WAAY,CAAC,+BAC9B,CAACG,EAAS,CAACH,EAAM,SAAU,CAC9B,4BACA,mDACA,2CACG,CAACA,EAAMG,GAAU,CAAC,yBAClB,CAACA,EAAS,CAACH,EAAM4C,eAAmB,CAAC,qBACrC,CAACzC,EAAS,CAACH,EAjKJ,UAiKmB,CAC7B,uBACA,8DAEA,qDACA,kCACA,2BAEA,oLACA,uBACG,CAACA,EAAMG,GAAU,CAAC,qDAClB,CAACA,EAAS,CAACH,EAAM,cAAkB,CAAC,wBACpC,CAACG,EAAS,CAACH,EAAM,wBAAyB,CAAC,8BAC3C,CAACG,EAAS,CAACH,EAAM,WAAY,CAAC,yBAC9B,CAACG,EAAS,CAACH,EAAM,cAAe,CAAC,+CACjC,CAACG,EAAS,CAACH,EAAM,OAAQ,CAAC,yBAC1B,CAACG,EAAS,CAACH,EAAM,WAAY,CAAC,2BAC9B,CAAC,CAACA,EAAM,OAAQ,qBAAyBG,GAAU,CAAC,uBACpD,CAACA,EAAS,CAACH,EAAM6C,kBAAsB,CAAC,qBACxC,CAAC1C,EAAS,CAACH,EAAM4C,gBAAoB,CAAC,0BACtC,CAACzC,EAAS,CAACH,EAAM,YAAa,CAAC,sBAC/B,CAACG,EAAS,CAACH,EAAM,YAAa,CAAC,qBAC/B,CAACG,EAAS,CAACH,EAAM4C,gBAAoB,CAAC,2BACtC,CAACzC,EAAS,CAACH,EAAM,iBAAqB,CAAC,sBACvC,CAACG,EAAS,CAACH,EA/LF,YA+LmB,CAAC,iCAC7B,CAAC,CAACA,EAAM,gBAAoB,CAAC,gDAAiD,CAAC,CAACA,EAAM,OAAQ,cAAkBG,GAAU,CAC7H,+BACG,CAAC,CAACH,EAAM,KAAM,KAAMG,GAAU,CAAC,gCAClC,iDACA,0DACG,CAACH,EAAMG,GAAU,CAAC,2BACrB,gBACG,CAACH,GAAO,CACX,+DACG,CAAC,CAACA,EA9LQ,YA8LSG,GAAU,CAAC,4BACjC,4BACA,wCACG,CAACH,EAAMG,GAAU,CAAC,gCAClB,CAACA,EAAS,CAACH,EAAM,QAAS,CAAC,oCAC3B,CAACG,EAAS,CAACH,EAAM8C,oBAAwB,CAAC,+BAC1C,CAAC,CAAC9C,EAAM8C,kBAAsB3C,GAAU,CAAC,2DACzC,CAACA,EAAS,CAACH,EAAM,oBAAwB,CAAC,+DAC1C,CAACA,EAAMG,GAAU,CAAC,8CAClB,CAACA,EAAS,CAACH,EAAM,kBAAmB,CAAC,iDACrC,CAACG,EAASH,GAAO,CAAC,gDAClB,CAACA,EAAM,CAACG,EAASoC,EAhFH,CACjB,MAAO,KACP,IAAO,KACP,IAAO,KACP,MAAO,OACP,QAAS,OACT,QAAS,OACT,QAAS,OACT,IAAK,OAwE0C,CAAC,8BAA+B,CAACvC,EAAMG,GAAU,CAChG,wCACG,CAAC,CAACH,EAAM,YAAaG,GAAU,CAAC,uCAChC,CAACA,EAAS,CAACH,EAAM6C,oBAAwB,CAAC,6BAC7C,cACA,mGACA,+FACA,wBACA,2CAEA,wHACA,wBACG,CAAC7C,EAAMG,IACV4C,IAAK,CAAC,CAAC,iDACJ,CAAC,CAjPa,eAiPE,UAAW,CAAC,gBAC5B,CAAC,CAlPa,eAkPE/B,IAAY,CAAC,0BAC7B,CAAC,CAnPa,eAmPE,SAAU,CAAC,oCAC3B,CAAC,CApPa,eAoPE,UAAW,CAAC,mCAC5B,CAAC,CArPa,eAqPE,UAAW,CAC9B,8BAA+B,CAAC,CAtPf,eAsP8B,QAAS,CAAC,0CACtD,CAAC,CAvPa,eAuPE,OAnQT,GAmQwBA,IAAY,CAAC,kBAC5C,CAAC,CAxPa,eAwPE,UAAW,CAAC,2HAC5B,CAAC,CAzPa,eAyPEA,KACnBgC,OAAQ,CAAC,CAKT,kFAAmF,CAACjD,EAAO,CAACG,EAzOhF,WAyOkG,CAACD,EAAMI,IAAU,CAAC,0CAA2C,uBAAwB,iBAAkB,CAACN,EAAO,CAACG,EAzOlN,WAyOoO,CAACD,EAAMG,IAAU,CACjQ,6BACG,CAACL,EAAO,CAACG,EAxPF,SAwPkB,CAACD,EAAMG,IAAU,CAAC,6BAC9C,oCAAqC,kCAAmC,CAACL,EAAO,CAACG,EAzPvE,SAyPuF,CAACD,EAAMI,IAAU,CAClH,+DAAgE,CAACN,EAAO,CAACG,EAlP9D,UAkP+E,CAACD,EAAMI,IAAU,CAAC,kCAAmC,qEAAsE,CAACN,EAAO,CAACG,EAlPnN,UAkPoO,CAACD,EAAMG,IAAU,CAChQ,6BACA,yBACA,uCACA,iDACA,sGACG,CAAC,CAACL,EAAO,KAAM,KAAM,CAACG,EAjPd,UAiP+B,CAACD,EAAMG,IAAU,CAAC,8CACzD,CAAC,CAACL,EAAO,KAAM,KAAM,CAACG,EAlPd,UAkP+B,CAACD,EAAMI,IAAU,CAC3D,sBAAuB,mEAAoE,CAACN,EAAO,CAACG,EAAQ,QAAS,CAACD,EAAMG,IAAU,CACtI,yBAA0B,oCAAqC,CAACL,EAAO,CAACG,EAAQ,QAAS,CAACD,EAAMG,IAAU,CAC1G,kCAAmC,CAACL,EAAO,CAACG,EAAQ,UAAW,CAACD,EAAMG,IAAU,CAChF,iFAAkF,4BAA6B,sDAAuD,CAACL,EAAO,CAACG,EA1PlK,YA0PqL,CAACD,EAAMG,IAAU,CAAC,qCAAsC,CAACL,EAAO,CAACG,EA1PtP,YA0PyQ,CAACD,EAAMI,IAAU,CACvS,iEAAkE,CAACN,EAAO,CAACG,EA7PpE,MA6PiF,CAACD,EAAMI,IAAU,CAAC,sDAAuD,oDAAqD,wBAAyB,CAACN,EAAO,CAACG,EA7PjP,MA6P8P,CAACD,EAAMG,IAAU,CACtR,oBAAqB,qEAAsE,CAACL,EAAO,CAACG,EAAQ,UAAW,CAACD,EAAMI,IAAU,CACxI,qCAAsC,0BAA2B,CAAC,CAACN,EAAO,KAAM,KAAM,CAACG,EAAQ,SAAU,CAACD,EAAMG,IAAU,CAC1H,gBACG,CAACL,EAAO,CAACG,EAnQD,UAmQkB,CAACD,EAAMI,IAAU,CAAC,6CAC5C,CAACN,EAAO,CAACG,EApQD,UAoQkB,CAACD,EAAMG,IAAU,CAC9C,2FAA4F,CAACL,EAAO,CAACG,EA9P5F,QA8P2G,CAACD,EAAMG,IAAU,CAAC,oBAAqB,iCAAkC,CAAC,CAACL,EAAO,iBAAkB,CAACG,EA9PhN,QA8P+N,CAACD,EAAMI,IAAU,CACzP,sCAAuC,0CAA2C,CAACN,EAAO,CAACG,EAAQ,WAAY,CAACD,EAAMG,IAAU,CAChI,eAAgB,2BAChB,gCACG,CAACL,EAAO,CAACG,EAjRD,UAiRkB,CAACD,EAAMI,IAAU,CAAC,iDAC5C,CAAC,CAACN,EAAO,QAAS,iBAAkB,CAACG,EAlR7B,UAkR8C,CAACD,EAAMG,IAAU,CAC1E,gCACG,CAACL,EAAOG,EAAQ,CAACD,EAAMI,IAAU,CAAC,gCAAiC,kBACnE,CAACN,EAAO,CAACG,EAlRG,cAkRkB,CAACD,EAAMG,IAAU,CAClD,qFAAsF,CAACL,EAAO,CAACG,EApRtF,QAoRqG,CAACD,EAAMI,IAAU,CAAC,iDAAkD,CAACN,EAAO,CAACG,EApRlL,QAoRiM,CAACD,EAAMG,IAAU,CAC3N,cACG,CAACL,EAAO,CAACG,EAAQ,OAAQ,CAACD,EAAMI,IAAU,CAAC,2CAE9C,oCAAqC,6DAClC,CAACH,EAAQ,CAACH,EAAO,KAAM,KAAM,CAACE,EAAMG,IAAU,CACjD,uCAAwC,CAACL,EAAO,CAACG,EAAQ,QAAS,CAACD,EAAMI,IAAU,CACnF,8BAA+B,qBAAsB,CAACN,EAAO,CAACG,EAAQ,SAAU,CAACD,EAAMG,IAAU,CACjG,iCAAkC,CAACL,EAAO,CAACG,EAAQ,SAAU,CAACD,EAAMG,IAAU,CAC9E,kGACA,mBACA,iBACA,8BACA,0BACA,WACA,yBACG,CAACF,EAAQH,EAAO,CAACE,EAAMG,IAAU,CAAC,wBACrC,uCACA,uBACA,4BACA,iCACA,kCACA,8BACA,gCACA,mCACG,CAACF,EAAQH,EAAO,CAACE,EAAMI,IAAU,CAAC,kBAClC,CAACN,EAAO,CAACG,EArSE,aAqSkB,CAACD,EAAMI,IAAU,CAAC,qCAC/C,CAACN,EAAO,CAACG,EAAQ,aAAc,CAACD,EAAMG,IAAU,CAAC,aACjD,CAACL,EAAO,CAACG,EAAQ,QAAS,CAACD,EAAMG,IAAU,CAAC,gBAC5C,CAACL,EAAO,CAACG,EAAQ,WAAY,CAACD,EAAMG,IAAU,CAAC,iBAC/C,CAACL,EAAO,CAACG,EAAQ,OAAQ,CAACD,EAAMI,IAAU,CAAC,0BAC3C,CAACN,EAAO,CAACG,EAAQ,QAAS,CAACD,EAAMI,IAAU,CAAC,wBAC5C,CAACN,EAAO,CAACG,EAAQ,WAAY,CAACD,EAAMI,IAAU,CAAC,+CAC/C,CAACN,EAAO,CAACG,EAAQ,kBAAmB,CAACD,EAAMI,IAAU,CAAC,qBAAsB,CAACN,EAAO,CAACG,EAAQ,YAAa,CAACD,EAAMI,IAAU,CAAC,cAC5H,CAACN,EAAO,CAACG,EAAQ,OAAQ,CAACD,EAAMI,IAAU,CAAC,mBAC3C,CAACN,EAAO,CAACG,EAAQ,OAAQ,CAACD,EAAMG,IAAU,CAAC,wBAC3C,CAACL,EAAO,CAACG,EAAQ,SAAU,CAACD,EAAMG,IAAU,CAAC,mBAC7C,CAACL,EAAO,CAACG,EAAQ,SAAU,CAACD,EAAMI,IAAU,CAAC,wBAC7C,CAACN,EAAO,CAACG,EAAQ,QAAS,CAACD,EAAMI,IAAU,CAAC,mBAAoB,sCAChE,CAAC,CAACH,EAAQ,gBAAiBH,EAAO,CAACE,EAAMI,IAAU,CAAC,sBACpD,CAACN,EAAO,CAACG,EAAQ,YAAa,CAACD,EAAMI,IAAU,CAAC,8BAChD,CAACN,EAAO,CAACG,EAAQ,YAAa,CAACD,EAAMI,IAAU,CAAC,oDAChD,CAAC,CAACH,EAAQ,SAAUH,EAAO,CAACE,EAAMG,IAAU,CAAC,2BAC7C,CAAC,CAACF,EAAQ,SAAUH,EAAO,CAACE,EAAMG,IAAU,CAAC,cAC7C,CAACL,EAAO,CAACG,EAAQ,aAAc,CAACD,EAAMG,IAAU,CAAC,uCACjD,CAACL,EAAO,CAACG,EAAQ,WAAY,CAACD,EAAMI,IAAU,CAAC,wBAC/C,CAACN,EAAO,CAACG,EAAQ,aAAc,CAACD,EAAMI,IAAU,CAAC,kBACjD,CAACN,EAAO,CAACG,EAAQ,SAAU,CAACD,EAAMI,IAAU,CAAC,qBAC7C,CAACN,EAAO,CAACG,EAAQ,UAAW,CAACD,EAAMI,IAAU,CAAC,mBAC9C,CAACH,EAAQH,EAAO,CAACE,EAAMG,IAAU,CAAC,sBAClC,CAAC,CAACL,EAAO,MAAO,KAAM,CAACG,EA7TZ,aA6TgC,CAACD,EAAMG,IAAU,CAAC,yDAC7D,CAACL,EAAO,CAACG,EAxTF,SAwTkB,CAACD,EAAMI,IAAU,CAAC,yCAA0C,CAACN,EAAO,CAACG,EAxTvF,SAwTuG,CAACD,EAAMG,IAAU,CAGlI,UACA,8BACG,CAACF,EAAQH,EAAO,CAACE,EArVR,YAqVyB,CAAC,0BACnC,CAACF,EAAO,CAACG,EAAQ,UAAW,CAACD,EAtVpB,YAsVqC,CAAC,mCAC/C,CAACF,EAAO,CAACG,EAjUH,QAiUkB,CAACD,EAvVhB,YAuViC,CAAC,sCAC3C,CAACF,EAAO,CAACG,EAtUE,aAsUkB,CAACD,EAxVrB,YAwVsC,CAGlD,wBACG,CAACC,EAAQ,CAACD,EAAMK,IAAW,CAAC,uBAAwB,CAAC,CAACP,EAAO,IAAK,WAAY,CAACG,EAvUtE,WAuUwF,CAACD,EAAMK,IAAW,CAAC,8DACpH,CAAC,CAACJ,EA5UE,MA4UW,CAACD,EAAMK,IAAW,CAAC,gBAClC,CAACJ,EAAQ,CAACH,EAAOkD,YAAgB,CAAChD,EAAMK,IAAW,CAAC,UACpD,CAAC,CAACP,EAAO+C,cAAkB,CAAC5C,EAhVpB,UAgVqC,CAACD,EAAMK,IAAW,CAAC,4BAChE,CAACP,EAAO,CAACG,EAzVD,UAyVkB,CAACD,EAAMK,IAAW,CAAC,wBAC7C,CAACP,EAAO,CAACG,EAAQ,SAAU,CAACD,EAAMK,IAAW,CAAC,0CACjD,uDACG,CAAC,CAACJ,EAAQkB,GAAO,CAACrB,EAAOqB,GAAO,CAACnB,EAAMK,IAAW,CAAC,mDACnD,CAAC,CAACL,EAAMK,IAAW,CAGtB,kBACG,CAACJ,EAAQH,EAAO,CAACE,EApWP,aAoWyB,CAAC,wBACpC,CAACF,EAAO,CAACG,EA1VD,UA0VkB,CAACD,EArWjB,aAqWmC,CAAC,6BAA8B,CAACF,EAAO,CAACG,EAjV9E,SAiV8F,CAACD,EArW5F,aAqW8G,CAAC,iBACzH,CAACF,EAAO,CAACG,EAjVC,YAiVkB,CAACD,EAtWnB,aAsWqC,CAGlD,wCACG,CAACC,EAAQ,CAACD,EAzWA,aAyWkB,CAG/B,2DACG,CAACF,EAAO,CAACE,EAAMG,IAAU,CAAC,+DAC1B,CAACL,EAAO,CAACE,EAAMI,IAAU,CAAC,gDAC1B,CAAC,CAACJ,EAAMI,IAAU,CAAC,wDACnB,CAAC,CAACJ,EAAMG,IAAU,CAAC,kCACnB,CAACL,EAAO,CAACG,EAAQ,aACpBgD,OAAQ,CAAC,CAAC,8BACP,CAAC/C,EAAS,CAACH,EAAMmD,aAAiB,CAAC,6CACnC,CAAChD,EAAS,CAACH,EAAM,UAAW,CAAC,uBAChC,sEACA,0BACA,yCACA,+BACG,CAACA,EAAMG,GAAU,CAAC,iCAClB,CAACA,EAASH,IACboD,GAAI,CAAC,CACL,mCACG,CAACpD,EAAMG,GAAU,CAAC,4BACrB,wDACA,8CAA+C,CAACH,EAAM,CAACG,EAASoC,EAAWE,IAAqB,CAAC,sCAAuC,CAAC,CAACzC,EAAM,WAAY,CAACG,EAASoC,EAAWE,IAAqB,CACtM,sDACA,wBAAyB,CAAC,CAACtC,EAAS,KAAM,KAAM,CAACH,EAAM,QAAS,CAAC,0BAA2B,yCACzF,CAAC,CAACA,EAAM,UAAW,CAACG,EAAS,KAAM,MAAO,CAC7C,wCACG,CAACA,EAASH,GAAO,CACpB,+EAAgF,8BAChF,+BACA,kBACG,CAACA,EAAMG,GAAU,CAAC,cAClB,CAACA,EAAS,CAACH,EApYC,eAoYmB,CAAC,6DAChC,CAACG,EAAS,CAACH,EAAM,YAAa,CAAC,mFAC/B,CAACG,EAAS,CAACH,EAAM6C,eAAmB,CAAC,kBAAmB,wCACxD,CAAC1C,EAAS,CAACH,EAAM,UAAW,CAC/B,qBACG,CAACG,EAAS,CAACH,EAAM8C,eAAmB,CAAC,6BACrC,CAAC,CAAC9C,EAAM,eAAgBG,GAAU,CACrC,mDACA,2BAEA,wCACA,yBACA,4BACA,8SACA,2BACA,oBACA,6EACA,kBACG,CAACH,EAAMG,GAAU,CAAC,yBAClB,CAAC,CAACH,EAAM,WAAYG,GAAU,CAAC,sCAClC,kCACA,wDACA,sBACG,CAACH,EAAMG,KAKRkD,EAAW,SAASA,EAAS5B,EAAI6B,GAMnC,GAzba,WAobT/D,EAAQkC,KACV6B,EAAa7B,EACbA,OAhcN,KAmcUW,gBAAgBiB,GACpB,OAAO,IAAIA,EAAS5B,EAAI6B,GAAYC,YAGtC,IAAIC,EAAM/B,IA9bK,cA8bElC,EAAQM,IAA0BA,EAAO4D,WAAa5D,EAAO4D,UAAUC,UAAY7D,EAAO4D,UAAUC,UAjc3G,IAmcNC,EAAUL,EAzZH,SAAgBZ,EAASY,GACpC,IAAIM,EAAgB,GAEpB,IAAK,IAAIlD,KAAKgC,EACRY,EAAW5C,IAAM4C,EAAW5C,GAAGC,OAAS,IAAM,EAChDiD,EAAclD,GAAK4C,EAAW5C,GAAGmD,OAAOnB,EAAQhC,IAEhDkD,EAAclD,GAAKgC,EAAQhC,GAI/B,OAAOkD,EA8YoBE,CAAOpB,EAASY,GAAcZ,EAgEzD,OA9DAN,KAAK2B,WAAa,WAChB,IAhY6BC,EAgYzBC,EAAW,GAKf,OAJAA,EAASjE,QA7cf,EA8cMiE,EAAS9D,QA9cf,EA+cMqB,EAAUa,KAAK4B,EAAUT,EAAKG,EAAQhB,SACtCsB,EAASC,MArcE,WAkEN3E,EADwByE,EAoYHC,EAASD,SAnYEA,EAAQ1C,QAAQ,WAvE7C,IAuEgE6C,MAAM,KAAK,QA7EzF,EAidaF,GAGT7B,KAAKgC,OAAS,WACZ,IAAIC,EAAO,CACX,kBAtdN,GAwdM,OADA7C,EAAUa,KAAKgC,EAAMb,EAAKG,EAAQZ,KAC3BsB,GAGTjC,KAAKkC,UAAY,WACf,IAAIC,EAAU,CACd,YA7dN,EA8dM,WA9dN,EA+dM,UA/dN,GAieM,OADA/C,EAAUa,KAAKkC,EAASf,EAAKG,EAAQX,QAC9BuB,GAGTnC,KAAKoC,UAAY,WACf,IAAIC,EAAU,CACd,UAteN,EAueM,aAveN,GAyeM,OADAjD,EAAUa,KAAKoC,EAASjB,EAAKG,EAAQT,QAC9BuB,GAGTrC,KAAKsC,MAAQ,WACX,IAAIC,EAAM,CACV,UA9eN,EA+eM,aA/eN,GAifM,OADAnD,EAAUa,KAAKsC,EAAKnB,EAAKG,EAAQP,IAC1BuB,GAGTvC,KAAKmB,UAAY,WACf,MAAO,CACL9B,GAAIW,KAAKwC,QACTjC,QAASP,KAAK2B,aACdb,OAAQd,KAAKoC,YACbpB,GAAIhB,KAAKsC,QACT1B,OAAQZ,KAAKkC,YACbvB,IAAKX,KAAKgC,WAIdhC,KAAKwC,MAAQ,WACX,OAAOpB,GAGTpB,KAAKyC,MAAQ,SAAUpD,GAErB,OADA+B,EAzfW,WAyfLjE,EAAQkC,IAAoBA,EAAGd,OA3erB,IA2e8CS,EAAKK,EA3enD,KA2ewEA,EACjFW,MAGTA,KAAKyC,MAAMrB,GACJpB,MAGTiB,EAASlD,QAvgBQ,QAwgBjBkD,EAASyB,QAAUvE,EAAU,CAACP,EAAMG,EAjgBxB,UAkgBZkD,EAAS0B,IAAMxE,EAAU,CA5fN,iBA6fnB8C,EAAS2B,OAASzE,EAAU,CAACR,EAAOG,EAAQD,EA5f9B,UA4f6CG,EAAQE,EAASD,EAxf7D,WACA,aAwffgD,EAAS4B,OAAS5B,EAAS6B,GAAK3E,EAAU,CAACP,EAAMG,IAvgBhC,cA4gBmCZ,EAAQF,IA5gB3C,cA8gBoCE,EAAQH,IAA2BA,EAAOC,UAC3FA,EAAUD,EAAOC,QAAUgE,GAG7BhE,EAAQgE,SAAWA,GAnhBL,aAshBqC9D,EAAQ,SAA0B,WA9hBzF,KA+hBM,aACE,OAAO8D,GACR,8BAxhBY,cAyhBJ9D,EAAQM,KAEjBA,EAAOwD,SAAWA,GAStB,IAAI8B,EApiBa,cAoiBT5F,EAAQM,KAA2BA,EAAOuF,QAAUvF,EAAOwF,OAEnE,GAAIF,IAAMA,EAAE1D,GAAI,CACd,IAAI6D,EAAS,IAAIjC,EACjB8B,EAAE1D,GAAK6D,EAAO/B,YAEd4B,EAAE1D,GAAG8D,IAAM,WACT,OAAOD,EAAOV,SAGhBO,EAAE1D,GAAG+D,IAAM,SAAU/D,GACnB6D,EAAOT,MAAMpD,GACb,IAAIgE,EAASH,EAAO/B,YAEpB,IAAK,IAAImC,KAAQD,EACfN,EAAE1D,GAAGiE,GAAQD,EAAOC,KA5jB5B,CAgkBuE,YAAjD,qBAAX7F,OAAyB,YAAcN,EAAQM,SAAwBA,OAASuC,Q,uCCvkB3F,IAAIuD,EAAW,SAAUtG,GACvB,aAEA,IAAIuG,EAAKC,OAAOjG,UACZkG,EAASF,EAAGG,eAEZC,EAA4B,oBAAXxG,OAAwBA,OAAS,GAClDyG,EAAiBD,EAAQvG,UAAY,aACrCyG,EAAsBF,EAAQG,eAAiB,kBAC/CC,EAAoBJ,EAAQK,aAAe,gBAE/C,SAASC,EAAKC,EAASC,EAASC,EAAMC,GAEpC,IAAIC,EAAiBH,GAAWA,EAAQ5G,qBAAqBgH,EAAYJ,EAAUI,EAC/EC,EAAYhB,OAAOiB,OAAOH,EAAe/G,WACzCmH,EAAU,IAAIC,EAAQN,GAAe,IAMzC,OAFAG,EAAUI,QAqMZ,SAA0BV,EAASE,EAAMM,GACvC,IAAIG,EA9KuB,iBAgL3B,OAAO,SAAgBC,EAAQC,GAC7B,GA/KoB,cA+KhBF,EACF,MAAM,IAAI5H,MAAM,gCAGlB,GAlLoB,cAkLhB4H,EAA6B,CAC/B,GAAe,UAAXC,EACF,MAAMC,EAKR,OAAOC,IAMT,IAHAN,EAAQI,OAASA,EACjBJ,EAAQK,IAAMA,IAED,CACX,IAAIE,EAAWP,EAAQO,SACvB,GAAIA,EAAU,CACZ,IAAIC,EAAiBC,EAAoBF,EAAUP,GACnD,GAAIQ,EAAgB,CAClB,GAAIA,IAAmBE,EAAkB,SACzC,OAAOF,GAIX,GAAuB,SAAnBR,EAAQI,OAGVJ,EAAQW,KAAOX,EAAQY,MAAQZ,EAAQK,SAElC,GAAuB,UAAnBL,EAAQI,OAAoB,CACrC,GAlNqB,mBAkNjBD,EAEF,MADAA,EAhNc,YAiNRH,EAAQK,IAGhBL,EAAQa,kBAAkBb,EAAQK,SAEN,WAAnBL,EAAQI,QACjBJ,EAAQc,OAAO,SAAUd,EAAQK,KAGnCF,EA3NkB,YA6NlB,IAAIY,EAASC,EAASxB,EAASE,EAAMM,GACrC,GAAoB,WAAhBe,EAAOE,KAAmB,CAO5B,GAJAd,EAAQH,EAAQkB,KAhOA,YAFK,iBAsOjBH,EAAOV,MAAQK,EACjB,SAGF,MAAO,CACLS,MAAOJ,EAAOV,IACda,KAAMlB,EAAQkB,MAGS,UAAhBH,EAAOE,OAChBd,EA9OgB,YAiPhBH,EAAQI,OAAS,QACjBJ,EAAQK,IAAMU,EAAOV,OA7QPe,CAAiB5B,EAASE,EAAMM,GAE7CF,EAcT,SAASkB,EAASK,EAAI1I,EAAK0H,GACzB,IACE,MAAO,CAAEY,KAAM,SAAUZ,IAAKgB,EAAG/F,KAAK3C,EAAK0H,IAC3C,MAAOiB,GACP,MAAO,CAAEL,KAAM,QAASZ,IAAKiB,IAhBjChJ,EAAQiH,KAAOA,EAoBf,IAOImB,EAAmB,GAMvB,SAASb,KACT,SAAS0B,KACT,SAASC,KAIT,IAAIC,EAAoB,GACxBA,EAAkBvC,GAAkB,WAClC,OAAO7D,MAGT,IAAIqG,EAAW5C,OAAO6C,eAClBC,EAA0BF,GAAYA,EAASA,EAASG,EAAO,MAC/DD,GACAA,IAA4B/C,GAC5BE,EAAOzD,KAAKsG,EAAyB1C,KAGvCuC,EAAoBG,GAGtB,IAAIE,EAAKN,EAA2B3I,UAClCgH,EAAUhH,UAAYiG,OAAOiB,OAAO0B,GAQtC,SAASM,EAAsBlJ,GAC7B,CAAC,OAAQ,QAAS,UAAUmJ,SAAQ,SAAS5B,GAC3CvH,EAAUuH,GAAU,SAASC,GAC3B,OAAOhF,KAAK6E,QAAQE,EAAQC,OAoClC,SAAS4B,EAAcnC,EAAWoC,GAgChC,IAAIC,EAgCJ9G,KAAK6E,QA9BL,SAAiBE,EAAQC,GACvB,SAAS+B,IACP,OAAO,IAAIF,GAAY,SAASG,EAASC,IAnC7C,SAASC,EAAOnC,EAAQC,EAAKgC,EAASC,GACpC,IAAIvB,EAASC,EAASlB,EAAUM,GAASN,EAAWO,GACpD,GAAoB,UAAhBU,EAAOE,KAEJ,CACL,IAAIvC,EAASqC,EAAOV,IAChBc,EAAQzC,EAAOyC,MACnB,OAAIA,GACiB,kBAAVA,GACPpC,EAAOzD,KAAK6F,EAAO,WACde,EAAYG,QAAQlB,EAAMqB,SAASC,MAAK,SAAStB,GACtDoB,EAAO,OAAQpB,EAAOkB,EAASC,MAC9B,SAAShB,GACViB,EAAO,QAASjB,EAAKe,EAASC,MAI3BJ,EAAYG,QAAQlB,GAAOsB,MAAK,SAASC,GAI9ChE,EAAOyC,MAAQuB,EACfL,EAAQ3D,MACP,SAASiE,GAGV,OAAOJ,EAAO,QAASI,EAAON,EAASC,MAvBzCA,EAAOvB,EAAOV,KAiCZkC,CAAOnC,EAAQC,EAAKgC,EAASC,MAIjC,OAAOH,EAaLA,EAAkBA,EAAgBM,KAChCL,EAGAA,GACEA,KAkHV,SAAS3B,EAAoBF,EAAUP,GACrC,IAAII,EAASG,EAAS7H,SAASsH,EAAQI,QACvC,QAvSErH,IAuSEqH,EAAsB,CAKxB,GAFAJ,EAAQO,SAAW,KAEI,UAAnBP,EAAQI,OAAoB,CAE9B,GAAIG,EAAS7H,SAAiB,SAG5BsH,EAAQI,OAAS,SACjBJ,EAAQK,SAlTZtH,EAmTI0H,EAAoBF,EAAUP,GAEP,UAAnBA,EAAQI,QAGV,OAAOM,EAIXV,EAAQI,OAAS,QACjBJ,EAAQK,IAAM,IAAIuC,UAChB,kDAGJ,OAAOlC,EAGT,IAAIK,EAASC,EAASZ,EAAQG,EAAS7H,SAAUsH,EAAQK,KAEzD,GAAoB,UAAhBU,EAAOE,KAIT,OAHAjB,EAAQI,OAAS,QACjBJ,EAAQK,IAAMU,EAAOV,IACrBL,EAAQO,SAAW,KACZG,EAGT,IAAImC,EAAO9B,EAAOV,IAElB,OAAMwC,EAOFA,EAAK3B,MAGPlB,EAAQO,EAASuC,YAAcD,EAAK1B,MAGpCnB,EAAQ+C,KAAOxC,EAASyC,QAQD,WAAnBhD,EAAQI,SACVJ,EAAQI,OAAS,OACjBJ,EAAQK,SAtWVtH,GAgXFiH,EAAQO,SAAW,KACZG,GANEmC,GA3BP7C,EAAQI,OAAS,QACjBJ,EAAQK,IAAM,IAAIuC,UAAU,oCAC5B5C,EAAQO,SAAW,KACZG,GAoDX,SAASuC,EAAaC,GACpB,IAAIC,EAAQ,CAAEC,OAAQF,EAAK,IAEvB,KAAKA,IACPC,EAAME,SAAWH,EAAK,IAGpB,KAAKA,IACPC,EAAMG,WAAaJ,EAAK,GACxBC,EAAMI,SAAWL,EAAK,IAGxB7H,KAAKmI,WAAWC,KAAKN,GAGvB,SAASO,EAAcP,GACrB,IAAIpC,EAASoC,EAAMQ,YAAc,GACjC5C,EAAOE,KAAO,gBACPF,EAAOV,IACd8C,EAAMQ,WAAa5C,EAGrB,SAASd,EAAQN,GAIftE,KAAKmI,WAAa,CAAC,CAAEJ,OAAQ,SAC7BzD,EAAYqC,QAAQiB,EAAc5H,MAClCA,KAAKuI,OAAM,GA8Bb,SAAS/B,EAAOgC,GACd,GAAIA,EAAU,CACZ,IAAIC,EAAiBD,EAAS3E,GAC9B,GAAI4E,EACF,OAAOA,EAAexI,KAAKuI,GAG7B,GAA6B,oBAAlBA,EAASd,KAClB,OAAOc,EAGT,IAAKE,MAAMF,EAASjK,QAAS,CAC3B,IAAID,GAAK,EAAGoJ,EAAO,SAASA,IAC1B,OAASpJ,EAAIkK,EAASjK,QACpB,GAAImF,EAAOzD,KAAKuI,EAAUlK,GAGxB,OAFAoJ,EAAK5B,MAAQ0C,EAASlK,GACtBoJ,EAAK7B,MAAO,EACL6B,EAOX,OAHAA,EAAK5B,WAtdTpI,EAudIgK,EAAK7B,MAAO,EAEL6B,GAGT,OAAOA,EAAKA,KAAOA,GAKvB,MAAO,CAAEA,KAAMzC,GAIjB,SAASA,IACP,MAAO,CAAEa,WAtePpI,EAseyBmI,MAAM,GA+MnC,OA3mBAK,EAAkB1I,UAAYiJ,EAAGlJ,YAAc4I,EAC/CA,EAA2B5I,YAAc2I,EACzCC,EAA2BnC,GACzBkC,EAAkByC,YAAc,oBAYlC1L,EAAQ2L,oBAAsB,SAASC,GACrC,IAAIC,EAAyB,oBAAXD,GAAyBA,EAAOtL,YAClD,QAAOuL,IACHA,IAAS5C,GAG2B,uBAAnC4C,EAAKH,aAAeG,EAAKC,QAIhC9L,EAAQ+L,KAAO,SAASH,GAUtB,OATIpF,OAAOwF,eACTxF,OAAOwF,eAAeJ,EAAQ1C,IAE9B0C,EAAOK,UAAY/C,EACbnC,KAAqB6E,IACzBA,EAAO7E,GAAqB,sBAGhC6E,EAAOrL,UAAYiG,OAAOiB,OAAO+B,GAC1BoC,GAOT5L,EAAQkM,MAAQ,SAASnE,GACvB,MAAO,CAAEmC,QAASnC,IAsEpB0B,EAAsBE,EAAcpJ,WACpCoJ,EAAcpJ,UAAUsG,GAAuB,WAC7C,OAAO9D,MAET/C,EAAQ2J,cAAgBA,EAKxB3J,EAAQmM,MAAQ,SAASjF,EAASC,EAASC,EAAMC,EAAauC,QACxC,IAAhBA,IAAwBA,EAAcwC,SAE1C,IAAIC,EAAO,IAAI1C,EACb1C,EAAKC,EAASC,EAASC,EAAMC,GAC7BuC,GAGF,OAAO5J,EAAQ2L,oBAAoBxE,GAC/BkF,EACAA,EAAK5B,OAAON,MAAK,SAAS/D,GACxB,OAAOA,EAAOwC,KAAOxC,EAAOyC,MAAQwD,EAAK5B,WAuKjDhB,EAAsBD,GAEtBA,EAAGzC,GAAqB,YAOxByC,EAAG5C,GAAkB,WACnB,OAAO7D,MAGTyG,EAAG8C,SAAW,WACZ,MAAO,sBAkCTtM,EAAQuM,KAAO,SAASC,GACtB,IAAID,EAAO,GACX,IAAK,IAAIE,KAAOD,EACdD,EAAKpB,KAAKsB,GAMZ,OAJAF,EAAKG,UAIE,SAASjC,IACd,KAAO8B,EAAKjL,QAAQ,CAClB,IAAImL,EAAMF,EAAKI,MACf,GAAIF,KAAOD,EAGT,OAFA/B,EAAK5B,MAAQ4D,EACbhC,EAAK7B,MAAO,EACL6B,EAQX,OADAA,EAAK7B,MAAO,EACL6B,IAsCXzK,EAAQuJ,OAASA,EAMjB5B,EAAQpH,UAAY,CAClBD,YAAaqH,EAEb2D,MAAO,SAASsB,GAcd,GAbA7J,KAAK8J,KAAO,EACZ9J,KAAK0H,KAAO,EAGZ1H,KAAKsF,KAAOtF,KAAKuF,WAjfjB7H,EAkfAsC,KAAK6F,MAAO,EACZ7F,KAAKkF,SAAW,KAEhBlF,KAAK+E,OAAS,OACd/E,KAAKgF,SAtfLtH,EAwfAsC,KAAKmI,WAAWxB,QAAQ0B,IAEnBwB,EACH,IAAK,IAAId,KAAQ/I,KAEQ,MAAnB+I,EAAKgB,OAAO,IACZrG,EAAOzD,KAAKD,KAAM+I,KACjBL,OAAOK,EAAKiB,MAAM,MACrBhK,KAAK+I,QAhgBXrL,IAsgBFuM,KAAM,WACJjK,KAAK6F,MAAO,EAEZ,IACIqE,EADYlK,KAAKmI,WAAW,GACLG,WAC3B,GAAwB,UAApB4B,EAAWtE,KACb,MAAMsE,EAAWlF,IAGnB,OAAOhF,KAAKmK,MAGd3E,kBAAmB,SAAS4E,GAC1B,GAAIpK,KAAK6F,KACP,MAAMuE,EAGR,IAAIzF,EAAU3E,KACd,SAASqK,EAAOC,EAAKC,GAYnB,OAXA7E,EAAOE,KAAO,QACdF,EAAOV,IAAMoF,EACbzF,EAAQ+C,KAAO4C,EAEXC,IAGF5F,EAAQI,OAAS,OACjBJ,EAAQK,SAjiBZtH,KAoiBY6M,EAGZ,IAAK,IAAIjM,EAAI0B,KAAKmI,WAAW5J,OAAS,EAAGD,GAAK,IAAKA,EAAG,CACpD,IAAIwJ,EAAQ9H,KAAKmI,WAAW7J,GACxBoH,EAASoC,EAAMQ,WAEnB,GAAqB,SAAjBR,EAAMC,OAIR,OAAOsC,EAAO,OAGhB,GAAIvC,EAAMC,QAAU/H,KAAK8J,KAAM,CAC7B,IAAIU,EAAW9G,EAAOzD,KAAK6H,EAAO,YAC9B2C,EAAa/G,EAAOzD,KAAK6H,EAAO,cAEpC,GAAI0C,GAAYC,EAAY,CAC1B,GAAIzK,KAAK8J,KAAOhC,EAAME,SACpB,OAAOqC,EAAOvC,EAAME,UAAU,GACzB,GAAIhI,KAAK8J,KAAOhC,EAAMG,WAC3B,OAAOoC,EAAOvC,EAAMG,iBAGjB,GAAIuC,GACT,GAAIxK,KAAK8J,KAAOhC,EAAME,SACpB,OAAOqC,EAAOvC,EAAME,UAAU,OAG3B,KAAIyC,EAMT,MAAM,IAAIvN,MAAM,0CALhB,GAAI8C,KAAK8J,KAAOhC,EAAMG,WACpB,OAAOoC,EAAOvC,EAAMG,gBAU9BxC,OAAQ,SAASG,EAAMZ,GACrB,IAAK,IAAI1G,EAAI0B,KAAKmI,WAAW5J,OAAS,EAAGD,GAAK,IAAKA,EAAG,CACpD,IAAIwJ,EAAQ9H,KAAKmI,WAAW7J,GAC5B,GAAIwJ,EAAMC,QAAU/H,KAAK8J,MACrBpG,EAAOzD,KAAK6H,EAAO,eACnB9H,KAAK8J,KAAOhC,EAAMG,WAAY,CAChC,IAAIyC,EAAe5C,EACnB,OAIA4C,IACU,UAAT9E,GACS,aAATA,IACD8E,EAAa3C,QAAU/C,GACvBA,GAAO0F,EAAazC,aAGtByC,EAAe,MAGjB,IAAIhF,EAASgF,EAAeA,EAAapC,WAAa,GAItD,OAHA5C,EAAOE,KAAOA,EACdF,EAAOV,IAAMA,EAET0F,GACF1K,KAAK+E,OAAS,OACd/E,KAAK0H,KAAOgD,EAAazC,WAClB5C,GAGFrF,KAAK2K,SAASjF,IAGvBiF,SAAU,SAASjF,EAAQwC,GACzB,GAAoB,UAAhBxC,EAAOE,KACT,MAAMF,EAAOV,IAcf,MAXoB,UAAhBU,EAAOE,MACS,aAAhBF,EAAOE,KACT5F,KAAK0H,KAAOhC,EAAOV,IACM,WAAhBU,EAAOE,MAChB5F,KAAKmK,KAAOnK,KAAKgF,IAAMU,EAAOV,IAC9BhF,KAAK+E,OAAS,SACd/E,KAAK0H,KAAO,OACa,WAAhBhC,EAAOE,MAAqBsC,IACrClI,KAAK0H,KAAOQ,GAGP7C,GAGTuF,OAAQ,SAAS3C,GACf,IAAK,IAAI3J,EAAI0B,KAAKmI,WAAW5J,OAAS,EAAGD,GAAK,IAAKA,EAAG,CACpD,IAAIwJ,EAAQ9H,KAAKmI,WAAW7J,GAC5B,GAAIwJ,EAAMG,aAAeA,EAGvB,OAFAjI,KAAK2K,SAAS7C,EAAMQ,WAAYR,EAAMI,UACtCG,EAAcP,GACPzC,IAKb,MAAS,SAAS0C,GAChB,IAAK,IAAIzJ,EAAI0B,KAAKmI,WAAW5J,OAAS,EAAGD,GAAK,IAAKA,EAAG,CACpD,IAAIwJ,EAAQ9H,KAAKmI,WAAW7J,GAC5B,GAAIwJ,EAAMC,SAAWA,EAAQ,CAC3B,IAAIrC,EAASoC,EAAMQ,WACnB,GAAoB,UAAhB5C,EAAOE,KAAkB,CAC3B,IAAIiF,EAASnF,EAAOV,IACpBqD,EAAcP,GAEhB,OAAO+C,GAMX,MAAM,IAAI3N,MAAM,0BAGlB4N,cAAe,SAAStC,EAAUf,EAAYE,GAa5C,OAZA3H,KAAKkF,SAAW,CACd7H,SAAUmJ,EAAOgC,GACjBf,WAAYA,EACZE,QAASA,GAGS,SAAhB3H,KAAK+E,SAGP/E,KAAKgF,SA1qBPtH,GA6qBO2H,IAQJpI,EA1rBK,CAisBiBD,EAAOC,SAGtC,IACE8N,mBAAqBxH,EACrB,MAAOyH,GAUPC,SAAS,IAAK,yBAAdA,CAAwC1H,K,kBCvtB1C,YACAvG,EAAOC,QAAUiO,I,+BCDjBlO,EAAOC,QAAU,SAAUD,GAsBzB,OArBKA,EAAOmO,kBACVnO,EAAOoO,UAAY,aAEnBpO,EAAOqO,MAAQ,GAEVrO,EAAOsO,WAAUtO,EAAOsO,SAAW,IACxC7H,OAAO8H,eAAevO,EAAQ,SAAU,CACtCwO,YAAY,EACZrI,IAAK,WACH,OAAOnG,EAAOyO,KAGlBhI,OAAO8H,eAAevO,EAAQ,KAAM,CAClCwO,YAAY,EACZrI,IAAK,WACH,OAAOnG,EAAOsB,KAGlBtB,EAAOmO,gBAAkB,GAGpBnO","file":"js/1-65cf054365aeca941a35.chunk.js","sourcesContent":["module.exports = require(\"regenerator-runtime\");\n","module.exports = function() {\n\tthrow new Error(\"define cannot be used indirect\");\n};\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/////////////////////////////////////////////////////////////////////////////////\n\n/* UAParser.js v1.0.2\n Copyright © 2012-2021 Faisal Salman \n MIT License */\n\n/*\nDetect Browser, Engine, OS, CPU, and Device type/model from User-Agent data.\nSupports browser & node.js environment. \nDemo : https://faisalman.github.io/ua-parser-js\nSource : https://github.com/faisalman/ua-parser-js */\n/////////////////////////////////////////////////////////////////////////////////\n(function (window, undefined) {\n 'use strict'; //////////////\n // Constants\n /////////////\n\n var LIBVERSION = '1.0.2',\n EMPTY = '',\n UNKNOWN = '?',\n FUNC_TYPE = 'function',\n UNDEF_TYPE = 'undefined',\n OBJ_TYPE = 'object',\n STR_TYPE = 'string',\n MAJOR = 'major',\n MODEL = 'model',\n NAME = 'name',\n TYPE = 'type',\n VENDOR = 'vendor',\n VERSION = 'version',\n ARCHITECTURE = 'architecture',\n CONSOLE = 'console',\n MOBILE = 'mobile',\n TABLET = 'tablet',\n SMARTTV = 'smarttv',\n WEARABLE = 'wearable',\n EMBEDDED = 'embedded',\n UA_MAX_LENGTH = 255;\n var AMAZON = 'Amazon',\n APPLE = 'Apple',\n ASUS = 'ASUS',\n BLACKBERRY = 'BlackBerry',\n BROWSER = 'Browser',\n CHROME = 'Chrome',\n EDGE = 'Edge',\n FIREFOX = 'Firefox',\n GOOGLE = 'Google',\n HUAWEI = 'Huawei',\n LG = 'LG',\n MICROSOFT = 'Microsoft',\n MOTOROLA = 'Motorola',\n OPERA = 'Opera',\n SAMSUNG = 'Samsung',\n SONY = 'Sony',\n XIAOMI = 'Xiaomi',\n ZEBRA = 'Zebra',\n FACEBOOK = 'Facebook'; ///////////\n // Helper\n //////////\n\n var extend = function extend(regexes, extensions) {\n var mergedRegexes = {};\n\n for (var i in regexes) {\n if (extensions[i] && extensions[i].length % 2 === 0) {\n mergedRegexes[i] = extensions[i].concat(regexes[i]);\n } else {\n mergedRegexes[i] = regexes[i];\n }\n }\n\n return mergedRegexes;\n },\n enumerize = function enumerize(arr) {\n var enums = {};\n\n for (var i = 0; i < arr.length; i++) {\n enums[arr[i].toUpperCase()] = arr[i];\n }\n\n return enums;\n },\n has = function has(str1, str2) {\n return _typeof(str1) === STR_TYPE ? lowerize(str2).indexOf(lowerize(str1)) !== -1 : false;\n },\n lowerize = function lowerize(str) {\n return str.toLowerCase();\n },\n majorize = function majorize(version) {\n return _typeof(version) === STR_TYPE ? version.replace(/[^\\d\\.]/g, EMPTY).split('.')[0] : undefined;\n },\n trim = function trim(str, len) {\n if (_typeof(str) === STR_TYPE) {\n str = str.replace(/^\\s\\s*/, EMPTY).replace(/\\s\\s*$/, EMPTY);\n return _typeof(len) === UNDEF_TYPE ? str : str.substring(0, UA_MAX_LENGTH);\n }\n }; ///////////////\n // Map helper\n //////////////\n\n\n var rgxMapper = function rgxMapper(ua, arrays) {\n var i = 0,\n j,\n k,\n p,\n q,\n matches,\n match; // loop through all regexes maps\n\n while (i < arrays.length && !matches) {\n var regex = arrays[i],\n // even sequence (0,2,4,..)\n props = arrays[i + 1]; // odd sequence (1,3,5,..)\n\n j = k = 0; // try matching uastring with regexes\n\n while (j < regex.length && !matches) {\n matches = regex[j++].exec(ua);\n\n if (!!matches) {\n for (p = 0; p < props.length; p++) {\n match = matches[++k];\n q = props[p]; // check if given property is actually array\n\n if (_typeof(q) === OBJ_TYPE && q.length > 0) {\n if (q.length === 2) {\n if (_typeof(q[1]) == FUNC_TYPE) {\n // assign modified match\n this[q[0]] = q[1].call(this, match);\n } else {\n // assign given value, ignore regex match\n this[q[0]] = q[1];\n }\n } else if (q.length === 3) {\n // check whether function or regex\n if (_typeof(q[1]) === FUNC_TYPE && !(q[1].exec && q[1].test)) {\n // call function (usually string mapper)\n this[q[0]] = match ? q[1].call(this, match, q[2]) : undefined;\n } else {\n // sanitize match using given regex\n this[q[0]] = match ? match.replace(q[1], q[2]) : undefined;\n }\n } else if (q.length === 4) {\n this[q[0]] = match ? q[3].call(this, match.replace(q[1], q[2])) : undefined;\n }\n } else {\n this[q] = match ? match : undefined;\n }\n }\n }\n }\n\n i += 2;\n }\n },\n strMapper = function strMapper(str, map) {\n for (var i in map) {\n // check if current value is array\n if (_typeof(map[i]) === OBJ_TYPE && map[i].length > 0) {\n for (var j = 0; j < map[i].length; j++) {\n if (has(map[i][j], str)) {\n return i === UNKNOWN ? undefined : i;\n }\n }\n } else if (has(map[i], str)) {\n return i === UNKNOWN ? undefined : i;\n }\n }\n\n return str;\n }; ///////////////\n // String map\n //////////////\n // Safari < 3.0\n\n\n var oldSafariMap = {\n '1.0': '/8',\n '1.2': '/1',\n '1.3': '/3',\n '2.0': '/412',\n '2.0.2': '/416',\n '2.0.3': '/417',\n '2.0.4': '/419',\n '?': '/'\n },\n windowsVersionMap = {\n 'ME': '4.90',\n 'NT 3.11': 'NT3.51',\n 'NT 4.0': 'NT4.0',\n '2000': 'NT 5.0',\n 'XP': ['NT 5.1', 'NT 5.2'],\n 'Vista': 'NT 6.0',\n '7': 'NT 6.1',\n '8': 'NT 6.2',\n '8.1': 'NT 6.3',\n '10': ['NT 6.4', 'NT 10.0'],\n 'RT': 'ARM'\n }; //////////////\n // Regex map\n /////////////\n\n var regexes = {\n browser: [[/\\b(?:crmo|crios)\\/([\\w\\.]+)/i // Chrome for Android/iOS\n ], [VERSION, [NAME, 'Chrome']], [/edg(?:e|ios|a)?\\/([\\w\\.]+)/i // Microsoft Edge\n ], [VERSION, [NAME, 'Edge']], [// Presto based\n /(opera mini)\\/([-\\w\\.]+)/i, // Opera Mini\n /(opera [mobiletab]{3,6})\\b.+version\\/([-\\w\\.]+)/i, // Opera Mobi/Tablet\n /(opera)(?:.+version\\/|[\\/ ]+)([\\w\\.]+)/i // Opera\n ], [NAME, VERSION], [/opios[\\/ ]+([\\w\\.]+)/i // Opera mini on iphone >= 8.0\n ], [VERSION, [NAME, OPERA + ' Mini']], [/\\bopr\\/([\\w\\.]+)/i // Opera Webkit\n ], [VERSION, [NAME, OPERA]], [// Mixed\n /(kindle)\\/([\\w\\.]+)/i, // Kindle\n /(lunascape|maxthon|netfront|jasmine|blazer)[\\/ ]?([\\w\\.]*)/i, // Lunascape/Maxthon/Netfront/Jasmine/Blazer\n // Trident based\n /(avant |iemobile|slim)(?:browser)?[\\/ ]?([\\w\\.]*)/i, // Avant/IEMobile/SlimBrowser\n /(ba?idubrowser)[\\/ ]?([\\w\\.]+)/i, // Baidu Browser\n /(?:ms|\\()(ie) ([\\w\\.]+)/i, // Internet Explorer\n // Webkit/KHTML based // Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon\n /(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale|qqbrowserlite|qq)\\/([-\\w\\.]+)/i, // Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ, aka ShouQ\n /(weibo)__([\\d\\.]+)/i // Weibo\n ], [NAME, VERSION], [/(?:\\buc? ?browser|(?:juc.+)ucweb)[\\/ ]?([\\w\\.]+)/i // UCBrowser\n ], [VERSION, [NAME, 'UC' + BROWSER]], [/\\bqbcore\\/([\\w\\.]+)/i // WeChat Desktop for Windows Built-in Browser\n ], [VERSION, [NAME, 'WeChat(Win) Desktop']], [/micromessenger\\/([\\w\\.]+)/i // WeChat\n ], [VERSION, [NAME, 'WeChat']], [/konqueror\\/([\\w\\.]+)/i // Konqueror\n ], [VERSION, [NAME, 'Konqueror']], [/trident.+rv[: ]([\\w\\.]{1,9})\\b.+like gecko/i // IE11\n ], [VERSION, [NAME, 'IE']], [/yabrowser\\/([\\w\\.]+)/i // Yandex\n ], [VERSION, [NAME, 'Yandex']], [/(avast|avg)\\/([\\w\\.]+)/i // Avast/AVG Secure Browser\n ], [[NAME, /(.+)/, '$1 Secure ' + BROWSER], VERSION], [/\\bfocus\\/([\\w\\.]+)/i // Firefox Focus\n ], [VERSION, [NAME, FIREFOX + ' Focus']], [/\\bopt\\/([\\w\\.]+)/i // Opera Touch\n ], [VERSION, [NAME, OPERA + ' Touch']], [/coc_coc\\w+\\/([\\w\\.]+)/i // Coc Coc Browser\n ], [VERSION, [NAME, 'Coc Coc']], [/dolfin\\/([\\w\\.]+)/i // Dolphin\n ], [VERSION, [NAME, 'Dolphin']], [/coast\\/([\\w\\.]+)/i // Opera Coast\n ], [VERSION, [NAME, OPERA + ' Coast']], [/miuibrowser\\/([\\w\\.]+)/i // MIUI Browser\n ], [VERSION, [NAME, 'MIUI ' + BROWSER]], [/fxios\\/([-\\w\\.]+)/i // Firefox for iOS\n ], [VERSION, [NAME, FIREFOX]], [/\\bqihu|(qi?ho?o?|360)browser/i // 360\n ], [[NAME, '360 ' + BROWSER]], [/(oculus|samsung|sailfish)browser\\/([\\w\\.]+)/i], [[NAME, /(.+)/, '$1 ' + BROWSER], VERSION], [// Oculus/Samsung/Sailfish Browser\n /(comodo_dragon)\\/([\\w\\.]+)/i // Comodo Dragon\n ], [[NAME, /_/g, ' '], VERSION], [/(electron)\\/([\\w\\.]+) safari/i, // Electron-based App\n /(tesla)(?: qtcarbrowser|\\/(20\\d\\d\\.[-\\w\\.]+))/i, // Tesla\n /m?(qqbrowser|baiduboxapp|2345Explorer)[\\/ ]?([\\w\\.]+)/i // QQBrowser/Baidu App/2345 Browser\n ], [NAME, VERSION], [/(metasr)[\\/ ]?([\\w\\.]+)/i, // SouGouBrowser\n /(lbbrowser)/i // LieBao Browser\n ], [NAME], [// WebView\n /((?:fban\\/fbios|fb_iab\\/fb4a)(?!.+fbav)|;fbav\\/([\\w\\.]+);)/i // Facebook App for iOS & Android\n ], [[NAME, FACEBOOK], VERSION], [/safari (line)\\/([\\w\\.]+)/i, // Line App for iOS\n /\\b(line)\\/([\\w\\.]+)\\/iab/i, // Line App for Android\n /(chromium|instagram)[\\/ ]([-\\w\\.]+)/i // Chromium/Instagram\n ], [NAME, VERSION], [/\\bgsa\\/([\\w\\.]+) .*safari\\//i // Google Search Appliance on iOS\n ], [VERSION, [NAME, 'GSA']], [/headlesschrome(?:\\/([\\w\\.]+)| )/i // Chrome Headless\n ], [VERSION, [NAME, CHROME + ' Headless']], [/ wv\\).+(chrome)\\/([\\w\\.]+)/i // Chrome WebView\n ], [[NAME, CHROME + ' WebView'], VERSION], [/droid.+ version\\/([\\w\\.]+)\\b.+(?:mobile safari|safari)/i // Android Browser\n ], [VERSION, [NAME, 'Android ' + BROWSER]], [/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\\/v?([\\w\\.]+)/i // Chrome/OmniWeb/Arora/Tizen/Nokia\n ], [NAME, VERSION], [/version\\/([\\w\\.]+) .*mobile\\/\\w+ (safari)/i // Mobile Safari\n ], [VERSION, [NAME, 'Mobile Safari']], [/version\\/([\\w\\.]+) .*(mobile ?safari|safari)/i // Safari & Safari Mobile\n ], [VERSION, NAME], [/webkit.+?(mobile ?safari|safari)(\\/[\\w\\.]+)/i // Safari < 3.0\n ], [NAME, [VERSION, strMapper, oldSafariMap]], [/(webkit|khtml)\\/([\\w\\.]+)/i], [NAME, VERSION], [// Gecko based\n /(navigator|netscape\\d?)\\/([-\\w\\.]+)/i // Netscape\n ], [[NAME, 'Netscape'], VERSION], [/mobile vr; rv:([\\w\\.]+)\\).+firefox/i // Firefox Reality\n ], [VERSION, [NAME, FIREFOX + ' Reality']], [/ekiohf.+(flow)\\/([\\w\\.]+)/i, // Flow\n /(swiftfox)/i, // Swiftfox\n /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\\/ ]?([\\w\\.\\+]+)/i, // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror/Klar\n /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\/([-\\w\\.]+)$/i, // Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix\n /(firefox)\\/([\\w\\.]+)/i, // Other Firefox-based\n /(mozilla)\\/([\\w\\.]+) .+rv\\:.+gecko\\/\\d+/i, // Mozilla\n // Other\n /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\\. ]?browser)[-\\/ ]?v?([\\w\\.]+)/i, // Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Sleipnir/Obigo/Mosaic/Go/ICE/UP.Browser\n /(links) \\(([\\w\\.]+)/i // Links\n ], [NAME, VERSION]],\n cpu: [[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\\)]/i // AMD64 (x64)\n ], [[ARCHITECTURE, 'amd64']], [/(ia32(?=;))/i // IA32 (quicktime)\n ], [[ARCHITECTURE, lowerize]], [/((?:i[346]|x)86)[;\\)]/i // IA32 (x86)\n ], [[ARCHITECTURE, 'ia32']], [/\\b(aarch64|arm(v?8e?l?|_?64))\\b/i // ARM64\n ], [[ARCHITECTURE, 'arm64']], [/\\b(arm(?:v[67])?ht?n?[fl]p?)\\b/i // ARMHF\n ], [[ARCHITECTURE, 'armhf']], [// PocketPC mistakenly identified as PowerPC\n /windows (ce|mobile); ppc;/i], [[ARCHITECTURE, 'arm']], [/((?:ppc|powerpc)(?:64)?)(?: mac|;|\\))/i // PowerPC\n ], [[ARCHITECTURE, /ower/, EMPTY, lowerize]], [/(sun4\\w)[;\\)]/i // SPARC\n ], [[ARCHITECTURE, 'sparc']], [/((?:avr32|ia64(?=;))|68k(?=\\))|\\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\\b|pa-risc)/i // IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC\n ], [[ARCHITECTURE, lowerize]]],\n device: [[//////////////////////////\n // MOBILES & TABLETS\n // Ordered by popularity\n /////////////////////////\n // Samsung\n /\\b(sch-i[89]0\\d|shw-m380s|sm-[pt]\\w{2,4}|gt-[pn]\\d{2,4}|sgh-t8[56]9|nexus 10)/i], [MODEL, [VENDOR, SAMSUNG], [TYPE, TABLET]], [/\\b((?:s[cgp]h|gt|sm)-\\w+|galaxy nexus)/i, /samsung[- ]([-\\w]+)/i, /sec-(sgh\\w+)/i], [MODEL, [VENDOR, SAMSUNG], [TYPE, MOBILE]], [// Apple\n /\\((ip(?:hone|od)[\\w ]*);/i // iPod/iPhone\n ], [MODEL, [VENDOR, APPLE], [TYPE, MOBILE]], [/\\((ipad);[-\\w\\),; ]+apple/i, // iPad\n /applecoremedia\\/[\\w\\.]+ \\((ipad)/i, /\\b(ipad)\\d\\d?,\\d\\d?[;\\]].+ios/i], [MODEL, [VENDOR, APPLE], [TYPE, TABLET]], [// Huawei\n /\\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\\d{2})\\b(?!.+d\\/s)/i], [MODEL, [VENDOR, HUAWEI], [TYPE, TABLET]], [/(?:huawei|honor)([-\\w ]+)[;\\)]/i, /\\b(nexus 6p|\\w{2,4}-[atu]?[ln][01259x][012359][an]?)\\b(?!.+d\\/s)/i], [MODEL, [VENDOR, HUAWEI], [TYPE, MOBILE]], [// Xiaomi\n /\\b(poco[\\w ]+)(?: bui|\\))/i, // Xiaomi POCO\n /\\b; (\\w+) build\\/hm\\1/i, // Xiaomi Hongmi 'numeric' models\n /\\b(hm[-_ ]?note?[_ ]?(?:\\d\\w)?) bui/i, // Xiaomi Hongmi\n /\\b(redmi[\\-_ ]?(?:note|k)?[\\w_ ]+)(?: bui|\\))/i, // Xiaomi Redmi\n /\\b(mi[-_ ]?(?:a\\d|one|one[_ ]plus|note lte|max)?[_ ]?(?:\\d?\\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\\))/i // Xiaomi Mi\n ], [[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, MOBILE]], [/\\b(mi[-_ ]?(?:pad)(?:[\\w_ ]+))(?: bui|\\))/i // Mi Pad tablets\n ], [[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, TABLET]], [// OPPO\n /; (\\w+) bui.+ oppo/i, /\\b(cph[12]\\d{3}|p(?:af|c[al]|d\\w|e[ar])[mt]\\d0|x9007|a101op)\\b/i], [MODEL, [VENDOR, 'OPPO'], [TYPE, MOBILE]], [// Vivo\n /vivo (\\w+)(?: bui|\\))/i, /\\b(v[12]\\d{3}\\w?[at])(?: bui|;)/i], [MODEL, [VENDOR, 'Vivo'], [TYPE, MOBILE]], [// Realme\n /\\b(rmx[12]\\d{3})(?: bui|;|\\))/i], [MODEL, [VENDOR, 'Realme'], [TYPE, MOBILE]], [// Motorola\n /\\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\\b[\\w ]+build\\//i, /\\bmot(?:orola)?[- ](\\w*)/i, /((?:moto[\\w\\(\\) ]+|xt\\d{3,4}|nexus 6)(?= bui|\\)))/i], [MODEL, [VENDOR, MOTOROLA], [TYPE, MOBILE]], [/\\b(mz60\\d|xoom[2 ]{0,2}) build\\//i], [MODEL, [VENDOR, MOTOROLA], [TYPE, TABLET]], [// LG\n /((?=lg)?[vl]k\\-?\\d{3}) bui| 3\\.[-\\w; ]{10}lg?-([06cv9]{3,4})/i], [MODEL, [VENDOR, LG], [TYPE, TABLET]], [/(lm(?:-?f100[nv]?|-[\\w\\.]+)(?= bui|\\))|nexus [45])/i, /\\blg[-e;\\/ ]+((?!browser|netcast|android tv)\\w+)/i, /\\blg-?([\\d\\w]+) bui/i], [MODEL, [VENDOR, LG], [TYPE, MOBILE]], [// Lenovo\n /(ideatab[-\\w ]+)/i, /lenovo ?(s[56]000[-\\w]+|tab(?:[\\w ]+)|yt[-\\d\\w]{6}|tb[-\\d\\w]{6})/i], [MODEL, [VENDOR, 'Lenovo'], [TYPE, TABLET]], [// Nokia\n /(?:maemo|nokia).*(n900|lumia \\d+)/i, /nokia[-_ ]?([-\\w\\.]*)/i], [[MODEL, /_/g, ' '], [VENDOR, 'Nokia'], [TYPE, MOBILE]], [// Google\n /(pixel c)\\b/i // Google Pixel C\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, TABLET]], [/droid.+; (pixel[\\daxl ]{0,6})(?: bui|\\))/i // Google Pixel\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, MOBILE]], [// Sony\n /droid.+ ([c-g]\\d{4}|so[-gl]\\w+|xq-a\\w[4-7][12])(?= bui|\\).+chrome\\/(?![1-6]{0,1}\\d\\.))/i], [MODEL, [VENDOR, SONY], [TYPE, MOBILE]], [/sony tablet [ps]/i, /\\b(?:sony)?sgp\\w+(?: bui|\\))/i], [[MODEL, 'Xperia Tablet'], [VENDOR, SONY], [TYPE, TABLET]], [// OnePlus\n / (kb2005|in20[12]5|be20[12][59])\\b/i, /(?:one)?(?:plus)? (a\\d0\\d\\d)(?: b|\\))/i], [MODEL, [VENDOR, 'OnePlus'], [TYPE, MOBILE]], [// Amazon\n /(alexa)webm/i, /(kf[a-z]{2}wi)( bui|\\))/i, // Kindle Fire without Silk\n /(kf[a-z]+)( bui|\\)).+silk\\//i // Kindle Fire HD\n ], [MODEL, [VENDOR, AMAZON], [TYPE, TABLET]], [/((?:sd|kf)[0349hijorstuw]+)( bui|\\)).+silk\\//i // Fire Phone\n ], [[MODEL, /(.+)/g, 'Fire Phone $1'], [VENDOR, AMAZON], [TYPE, MOBILE]], [// BlackBerry\n /(playbook);[-\\w\\),; ]+(rim)/i // BlackBerry PlayBook\n ], [MODEL, VENDOR, [TYPE, TABLET]], [/\\b((?:bb[a-f]|st[hv])100-\\d)/i, /\\(bb10; (\\w+)/i // BlackBerry 10\n ], [MODEL, [VENDOR, BLACKBERRY], [TYPE, MOBILE]], [// Asus\n /(?:\\b|asus_)(transfo[prime ]{4,10} \\w+|eeepc|slider \\w+|nexus 7|padfone|p00[cj])/i], [MODEL, [VENDOR, ASUS], [TYPE, TABLET]], [/ (z[bes]6[027][012][km][ls]|zenfone \\d\\w?)\\b/i], [MODEL, [VENDOR, ASUS], [TYPE, MOBILE]], [// HTC\n /(nexus 9)/i // HTC Nexus 9\n ], [MODEL, [VENDOR, 'HTC'], [TYPE, TABLET]], [/(htc)[-;_ ]{1,2}([\\w ]+(?=\\)| bui)|\\w+)/i, // HTC\n // ZTE\n /(zte)[- ]([\\w ]+?)(?: bui|\\/|\\))/i, /(alcatel|geeksphone|nexian|panasonic|sony)[-_ ]?([-\\w]*)/i // Alcatel/GeeksPhone/Nexian/Panasonic/Sony\n ], [VENDOR, [MODEL, /_/g, ' '], [TYPE, MOBILE]], [// Acer\n /droid.+; ([ab][1-7]-?[0178a]\\d\\d?)/i], [MODEL, [VENDOR, 'Acer'], [TYPE, TABLET]], [// Meizu\n /droid.+; (m[1-5] note) bui/i, /\\bmz-([-\\w]{2,})/i], [MODEL, [VENDOR, 'Meizu'], [TYPE, MOBILE]], [// Sharp\n /\\b(sh-?[altvz]?\\d\\d[a-ekm]?)/i], [MODEL, [VENDOR, 'Sharp'], [TYPE, MOBILE]], [// MIXED\n /(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\\w]*)/i, // BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron\n /(hp) ([\\w ]+\\w)/i, // HP iPAQ\n /(asus)-?(\\w+)/i, // Asus\n /(microsoft); (lumia[\\w ]+)/i, // Microsoft Lumia\n /(lenovo)[-_ ]?([-\\w]+)/i, // Lenovo\n /(jolla)/i, // Jolla\n /(oppo) ?([\\w ]+) bui/i // OPPO\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [/(archos) (gamepad2?)/i, // Archos\n /(hp).+(touchpad(?!.+tablet)|tablet)/i, // HP TouchPad\n /(kindle)\\/([\\w\\.]+)/i, // Kindle\n /(nook)[\\w ]+build\\/(\\w+)/i, // Nook\n /(dell) (strea[kpr\\d ]*[\\dko])/i, // Dell Streak\n /(le[- ]+pan)[- ]+(\\w{1,9}) bui/i, // Le Pan Tablets\n /(trinity)[- ]*(t\\d{3}) bui/i, // Trinity Tablets\n /(gigaset)[- ]+(q\\w{1,9}) bui/i, // Gigaset Tablets\n /(vodafone) ([\\w ]+)(?:\\)| bui)/i // Vodafone\n ], [VENDOR, MODEL, [TYPE, TABLET]], [/(surface duo)/i // Surface Duo\n ], [MODEL, [VENDOR, MICROSOFT], [TYPE, TABLET]], [/droid [\\d\\.]+; (fp\\du?)(?: b|\\))/i // Fairphone\n ], [MODEL, [VENDOR, 'Fairphone'], [TYPE, MOBILE]], [/(u304aa)/i // AT&T\n ], [MODEL, [VENDOR, 'AT&T'], [TYPE, MOBILE]], [/\\bsie-(\\w*)/i // Siemens\n ], [MODEL, [VENDOR, 'Siemens'], [TYPE, MOBILE]], [/\\b(rct\\w+) b/i // RCA Tablets\n ], [MODEL, [VENDOR, 'RCA'], [TYPE, TABLET]], [/\\b(venue[\\d ]{2,7}) b/i // Dell Venue Tablets\n ], [MODEL, [VENDOR, 'Dell'], [TYPE, TABLET]], [/\\b(q(?:mv|ta)\\w+) b/i // Verizon Tablet\n ], [MODEL, [VENDOR, 'Verizon'], [TYPE, TABLET]], [/\\b(?:barnes[& ]+noble |bn[rt])([\\w\\+ ]*) b/i // Barnes & Noble Tablet\n ], [MODEL, [VENDOR, 'Barnes & Noble'], [TYPE, TABLET]], [/\\b(tm\\d{3}\\w+) b/i], [MODEL, [VENDOR, 'NuVision'], [TYPE, TABLET]], [/\\b(k88) b/i // ZTE K Series Tablet\n ], [MODEL, [VENDOR, 'ZTE'], [TYPE, TABLET]], [/\\b(nx\\d{3}j) b/i // ZTE Nubia\n ], [MODEL, [VENDOR, 'ZTE'], [TYPE, MOBILE]], [/\\b(gen\\d{3}) b.+49h/i // Swiss GEN Mobile\n ], [MODEL, [VENDOR, 'Swiss'], [TYPE, MOBILE]], [/\\b(zur\\d{3}) b/i // Swiss ZUR Tablet\n ], [MODEL, [VENDOR, 'Swiss'], [TYPE, TABLET]], [/\\b((zeki)?tb.*\\b) b/i // Zeki Tablets\n ], [MODEL, [VENDOR, 'Zeki'], [TYPE, TABLET]], [/\\b([yr]\\d{2}) b/i, /\\b(dragon[- ]+touch |dt)(\\w{5}) b/i // Dragon Touch Tablet\n ], [[VENDOR, 'Dragon Touch'], MODEL, [TYPE, TABLET]], [/\\b(ns-?\\w{0,9}) b/i // Insignia Tablets\n ], [MODEL, [VENDOR, 'Insignia'], [TYPE, TABLET]], [/\\b((nxa|next)-?\\w{0,9}) b/i // NextBook Tablets\n ], [MODEL, [VENDOR, 'NextBook'], [TYPE, TABLET]], [/\\b(xtreme\\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i // Voice Xtreme Phones\n ], [[VENDOR, 'Voice'], MODEL, [TYPE, MOBILE]], [/\\b(lvtel\\-)?(v1[12]) b/i // LvTel Phones\n ], [[VENDOR, 'LvTel'], MODEL, [TYPE, MOBILE]], [/\\b(ph-1) /i // Essential PH-1\n ], [MODEL, [VENDOR, 'Essential'], [TYPE, MOBILE]], [/\\b(v(100md|700na|7011|917g).*\\b) b/i // Envizen Tablets\n ], [MODEL, [VENDOR, 'Envizen'], [TYPE, TABLET]], [/\\b(trio[-\\w\\. ]+) b/i // MachSpeed Tablets\n ], [MODEL, [VENDOR, 'MachSpeed'], [TYPE, TABLET]], [/\\btu_(1491) b/i // Rotor Tablets\n ], [MODEL, [VENDOR, 'Rotor'], [TYPE, TABLET]], [/(shield[\\w ]+) b/i // Nvidia Shield Tablets\n ], [MODEL, [VENDOR, 'Nvidia'], [TYPE, TABLET]], [/(sprint) (\\w+)/i // Sprint Phones\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [/(kin\\.[onetw]{3})/i // Microsoft Kin\n ], [[MODEL, /\\./g, ' '], [VENDOR, MICROSOFT], [TYPE, MOBILE]], [/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\\)/i // Zebra\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, TABLET]], [/droid.+; (ec30|ps20|tc[2-8]\\d[kx])\\)/i], [MODEL, [VENDOR, ZEBRA], [TYPE, MOBILE]], [///////////////////\n // CONSOLES\n ///////////////////\n /(ouya)/i, // Ouya\n /(nintendo) ([wids3utch]+)/i // Nintendo\n ], [VENDOR, MODEL, [TYPE, CONSOLE]], [/droid.+; (shield) bui/i // Nvidia\n ], [MODEL, [VENDOR, 'Nvidia'], [TYPE, CONSOLE]], [/(playstation [345portablevi]+)/i // Playstation\n ], [MODEL, [VENDOR, SONY], [TYPE, CONSOLE]], [/\\b(xbox(?: one)?(?!; xbox))[\\); ]/i // Microsoft Xbox\n ], [MODEL, [VENDOR, MICROSOFT], [TYPE, CONSOLE]], [///////////////////\n // SMARTTVS\n ///////////////////\n /smart-tv.+(samsung)/i // Samsung\n ], [VENDOR, [TYPE, SMARTTV]], [/hbbtv.+maple;(\\d+)/i], [[MODEL, /^/, 'SmartTV'], [VENDOR, SAMSUNG], [TYPE, SMARTTV]], [/(nux; netcast.+smarttv|lg (netcast\\.tv-201\\d|android tv))/i // LG SmartTV\n ], [[VENDOR, LG], [TYPE, SMARTTV]], [/(apple) ?tv/i // Apple TV\n ], [VENDOR, [MODEL, APPLE + ' TV'], [TYPE, SMARTTV]], [/crkey/i // Google Chromecast\n ], [[MODEL, CHROME + 'cast'], [VENDOR, GOOGLE], [TYPE, SMARTTV]], [/droid.+aft(\\w)( bui|\\))/i // Fire TV\n ], [MODEL, [VENDOR, AMAZON], [TYPE, SMARTTV]], [/\\(dtv[\\);].+(aquos)/i // Sharp\n ], [MODEL, [VENDOR, 'Sharp'], [TYPE, SMARTTV]], [/\\b(roku)[\\dx]*[\\)\\/]((?:dvp-)?[\\d\\.]*)/i, // Roku\n /hbbtv\\/\\d+\\.\\d+\\.\\d+ +\\([\\w ]*; *(\\w[^;]*);([^;]*)/i // HbbTV devices\n ], [[VENDOR, trim], [MODEL, trim], [TYPE, SMARTTV]], [/\\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\\b/i // SmartTV from Unidentified Vendors\n ], [[TYPE, SMARTTV]], [///////////////////\n // WEARABLES\n ///////////////////\n /((pebble))app/i // Pebble\n ], [VENDOR, MODEL, [TYPE, WEARABLE]], [/droid.+; (glass) \\d/i // Google Glass\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, WEARABLE]], [/droid.+; (wt63?0{2,3})\\)/i], [MODEL, [VENDOR, ZEBRA], [TYPE, WEARABLE]], [/(quest( 2)?)/i // Oculus Quest\n ], [MODEL, [VENDOR, FACEBOOK], [TYPE, WEARABLE]], [///////////////////\n // EMBEDDED\n ///////////////////\n /(tesla)(?: qtcarbrowser|\\/[-\\w\\.]+)/i // Tesla\n ], [VENDOR, [TYPE, EMBEDDED]], [////////////////////\n // MIXED (GENERIC)\n ///////////////////\n /droid .+?; ([^;]+?)(?: bui|\\) applew).+? mobile safari/i // Android Phones from Unidentified Vendors\n ], [MODEL, [TYPE, MOBILE]], [/droid .+?; ([^;]+?)(?: bui|\\) applew).+?(?! mobile) safari/i // Android Tablets from Unidentified Vendors\n ], [MODEL, [TYPE, TABLET]], [/\\b((tablet|tab)[;\\/]|focus\\/\\d(?!.+mobile))/i // Unidentifiable Tablet\n ], [[TYPE, TABLET]], [/(phone|mobile(?:[;\\/]| safari)|pda(?=.+windows ce))/i // Unidentifiable Mobile\n ], [[TYPE, MOBILE]], [/(android[-\\w\\. ]{0,9});.+buil/i // Generic Android Device\n ], [MODEL, [VENDOR, 'Generic']]],\n engine: [[/windows.+ edge\\/([\\w\\.]+)/i // EdgeHTML\n ], [VERSION, [NAME, EDGE + 'HTML']], [/webkit\\/537\\.36.+chrome\\/(?!27)([\\w\\.]+)/i // Blink\n ], [VERSION, [NAME, 'Blink']], [/(presto)\\/([\\w\\.]+)/i, // Presto\n /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\\/([\\w\\.]+)/i, // WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna\n /ekioh(flow)\\/([\\w\\.]+)/i, // Flow\n /(khtml|tasman|links)[\\/ ]\\(?([\\w\\.]+)/i, // KHTML/Tasman/Links\n /(icab)[\\/ ]([23]\\.[\\d\\.]+)/i // iCab\n ], [NAME, VERSION], [/rv\\:([\\w\\.]{1,9})\\b.+(gecko)/i // Gecko\n ], [VERSION, NAME]],\n os: [[// Windows\n /microsoft (windows) (vista|xp)/i // Windows (iTunes)\n ], [NAME, VERSION], [/(windows) nt 6\\.2; (arm)/i, // Windows RT\n /(windows (?:phone(?: os)?|mobile))[\\/ ]?([\\d\\.\\w ]*)/i, // Windows Phone\n /(windows)[\\/ ]?([ntce\\d\\. ]+\\w)(?!.+xbox)/i], [NAME, [VERSION, strMapper, windowsVersionMap]], [/(win(?=3|9|n)|win 9x )([nt\\d\\.]+)/i], [[NAME, 'Windows'], [VERSION, strMapper, windowsVersionMap]], [// iOS/macOS\n /ip[honead]{2,4}\\b(?:.*os ([\\w]+) like mac|; opera)/i, // iOS\n /cfnetwork\\/.+darwin/i], [[VERSION, /_/g, '.'], [NAME, 'iOS']], [/(mac os x) ?([\\w\\. ]*)/i, /(macintosh|mac_powerpc\\b)(?!.+haiku)/i // Mac OS\n ], [[NAME, 'Mac OS'], [VERSION, /_/g, '.']], [// Mobile OSes\n /droid ([\\w\\.]+)\\b.+(android[- ]x86)/i // Android-x86\n ], [VERSION, NAME], [// Android/WebOS/QNX/Bada/RIM/Maemo/MeeGo/Sailfish OS\n /(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\\/ ]?([\\w\\.]*)/i, /(blackberry)\\w*\\/([\\w\\.]*)/i, // Blackberry\n /(tizen|kaios)[\\/ ]([\\w\\.]+)/i, // Tizen/KaiOS\n /\\((series40);/i // Series 40\n ], [NAME, VERSION], [/\\(bb(10);/i // BlackBerry 10\n ], [VERSION, [NAME, BLACKBERRY]], [/(?:symbian ?os|symbos|s60(?=;)|series60)[-\\/ ]?([\\w\\.]*)/i // Symbian\n ], [VERSION, [NAME, 'Symbian']], [/mozilla\\/[\\d\\.]+ \\((?:mobile|tablet|tv|mobile; [\\w ]+); rv:.+ gecko\\/([\\w\\.]+)/i // Firefox OS\n ], [VERSION, [NAME, FIREFOX + ' OS']], [/web0s;.+rt(tv)/i, /\\b(?:hp)?wos(?:browser)?\\/([\\w\\.]+)/i // WebOS\n ], [VERSION, [NAME, 'webOS']], [// Google Chromecast\n /crkey\\/([\\d\\.]+)/i // Google Chromecast\n ], [VERSION, [NAME, CHROME + 'cast']], [/(cros) [\\w]+ ([\\w\\.]+\\w)/i // Chromium OS\n ], [[NAME, 'Chromium OS'], VERSION], [// Console\n /(nintendo|playstation) ([wids345portablevuch]+)/i, // Nintendo/Playstation\n /(xbox); +xbox ([^\\);]+)/i, // Microsoft Xbox (360, One, X, S, Series X, Series S)\n // Other\n /\\b(joli|palm)\\b ?(?:os)?\\/?([\\w\\.]*)/i, // Joli/Palm\n /(mint)[\\/\\(\\) ]?(\\w*)/i, // Mint\n /(mageia|vectorlinux)[; ]/i, // Mageia/VectorLinux\n /([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\\/ ]?(?!chrom|package)([-\\w\\.]*)/i, // Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware/Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus/Raspbian/Plan9/Minix/RISCOS/Contiki/Deepin/Manjaro/elementary/Sabayon/Linspire\n /(hurd|linux) ?([\\w\\.]*)/i, // Hurd/Linux\n /(gnu) ?([\\w\\.]*)/i, // GNU\n /\\b([-frentopcghs]{0,5}bsd|dragonfly)[\\/ ]?(?!amd|[ix346]{1,2}86)([\\w\\.]*)/i, // FreeBSD/NetBSD/OpenBSD/PC-BSD/GhostBSD/DragonFly\n /(haiku) (\\w+)/i // Haiku\n ], [NAME, VERSION], [/(sunos) ?([\\w\\.\\d]*)/i // Solaris\n ], [[NAME, 'Solaris'], VERSION], [/((?:open)?solaris)[-\\/ ]?([\\w\\.]*)/i, // Solaris\n /(aix) ((\\d)(?=\\.|\\)| )[\\w\\.])*/i, // AIX\n /\\b(beos|os\\/2|amigaos|morphos|openvms|fuchsia|hp-ux)/i, // BeOS/OS2/AmigaOS/MorphOS/OpenVMS/Fuchsia/HP-UX\n /(unix) ?([\\w\\.]*)/i // UNIX\n ], [NAME, VERSION]]\n }; /////////////////\n // Constructor\n ////////////////\n\n var UAParser = function UAParser(ua, extensions) {\n if (_typeof(ua) === OBJ_TYPE) {\n extensions = ua;\n ua = undefined;\n }\n\n if (!(this instanceof UAParser)) {\n return new UAParser(ua, extensions).getResult();\n }\n\n var _ua = ua || (_typeof(window) !== UNDEF_TYPE && window.navigator && window.navigator.userAgent ? window.navigator.userAgent : EMPTY);\n\n var _rgxmap = extensions ? extend(regexes, extensions) : regexes;\n\n this.getBrowser = function () {\n var _browser = {};\n _browser[NAME] = undefined;\n _browser[VERSION] = undefined;\n rgxMapper.call(_browser, _ua, _rgxmap.browser);\n _browser.major = majorize(_browser.version);\n return _browser;\n };\n\n this.getCPU = function () {\n var _cpu = {};\n _cpu[ARCHITECTURE] = undefined;\n rgxMapper.call(_cpu, _ua, _rgxmap.cpu);\n return _cpu;\n };\n\n this.getDevice = function () {\n var _device = {};\n _device[VENDOR] = undefined;\n _device[MODEL] = undefined;\n _device[TYPE] = undefined;\n rgxMapper.call(_device, _ua, _rgxmap.device);\n return _device;\n };\n\n this.getEngine = function () {\n var _engine = {};\n _engine[NAME] = undefined;\n _engine[VERSION] = undefined;\n rgxMapper.call(_engine, _ua, _rgxmap.engine);\n return _engine;\n };\n\n this.getOS = function () {\n var _os = {};\n _os[NAME] = undefined;\n _os[VERSION] = undefined;\n rgxMapper.call(_os, _ua, _rgxmap.os);\n return _os;\n };\n\n this.getResult = function () {\n return {\n ua: this.getUA(),\n browser: this.getBrowser(),\n engine: this.getEngine(),\n os: this.getOS(),\n device: this.getDevice(),\n cpu: this.getCPU()\n };\n };\n\n this.getUA = function () {\n return _ua;\n };\n\n this.setUA = function (ua) {\n _ua = _typeof(ua) === STR_TYPE && ua.length > UA_MAX_LENGTH ? trim(ua, UA_MAX_LENGTH) : ua;\n return this;\n };\n\n this.setUA(_ua);\n return this;\n };\n\n UAParser.VERSION = LIBVERSION;\n UAParser.BROWSER = enumerize([NAME, VERSION, MAJOR]);\n UAParser.CPU = enumerize([ARCHITECTURE]);\n UAParser.DEVICE = enumerize([MODEL, VENDOR, TYPE, CONSOLE, MOBILE, SMARTTV, TABLET, WEARABLE, EMBEDDED]);\n UAParser.ENGINE = UAParser.OS = enumerize([NAME, VERSION]); ///////////\n // Export\n //////////\n // check js environment\n\n if ((typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) !== UNDEF_TYPE) {\n // nodejs env\n if ((typeof module === \"undefined\" ? \"undefined\" : _typeof(module)) !== UNDEF_TYPE && module.exports) {\n exports = module.exports = UAParser;\n }\n\n exports.UAParser = UAParser;\n } else {\n // requirejs env (optional)\n if ((typeof define === \"undefined\" ? \"undefined\" : _typeof(define)) === FUNC_TYPE && define.amd) {\n define(function () {\n return UAParser;\n });\n } else if (_typeof(window) !== UNDEF_TYPE) {\n // browser env\n window.UAParser = UAParser;\n }\n } // jQuery/Zepto specific (optional)\n // Note:\n // In AMD env the global scope should be kept clean, but jQuery is an exception.\n // jQuery always exports to global scope, unless jQuery.noConflict(true) is used,\n // and we should catch that.\n\n\n var $ = _typeof(window) !== UNDEF_TYPE && (window.jQuery || window.Zepto);\n\n if ($ && !$.ua) {\n var parser = new UAParser();\n $.ua = parser.getResult();\n\n $.ua.get = function () {\n return parser.getUA();\n };\n\n $.ua.set = function (ua) {\n parser.setUA(ua);\n var result = parser.getResult();\n\n for (var prop in result) {\n $.ua[prop] = result[prop];\n }\n };\n }\n})((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === 'object' ? window : this);","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","/* globals __webpack_amd_options__ */\nmodule.exports = __webpack_amd_options__;\n","module.exports = function (module) {\n if (!module.webpackPolyfill) {\n module.deprecate = function () {};\n\n module.paths = []; // module.parent = undefined by default\n\n if (!module.children) module.children = [];\n Object.defineProperty(module, \"loaded\", {\n enumerable: true,\n get: function get() {\n return module.l;\n }\n });\n Object.defineProperty(module, \"id\", {\n enumerable: true,\n get: function get() {\n return module.i;\n }\n });\n module.webpackPolyfill = 1;\n }\n\n return module;\n};"],"sourceRoot":""}