{"version":3,"sources":["jsdelivr-header.js","/npm/ua-parser-js@0.7.24/src/ua-parser.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;CCGA,SAAW,EAAQ,GAEf,aAOA,IAGI,EAAc,WACd,EAAc,YACd,EAAc,SAGd,EAAc,QACd,EAAc,OACd,EAAc,OACd,EAAc,SACd,EAAc,UACd,EAAc,eACd,EAAc,UACd,EAAc,SACd,EAAc,SACd,EAAc,UACd,EAAc,WASd,EAAO,CACP,OAAS,SAAU,EAAS,GACxB,IAAI,EAAgB,CAAC,EACrB,IAAK,IAAI,KAAK,EACN,EAAW,IAAM,EAAW,GAAG,OAAS,GAAM,EAC9C,EAAc,GAAK,EAAW,GAAG,OAAO,EAAQ,IAEhD,EAAc,GAAK,EAAQ,GAGnC,OAAO,CACX,EACA,IAAM,SAAU,EAAM,GACpB,MAAoB,iBAAT,IACkD,IAApD,EAAK,cAAc,QAAQ,EAAK,cAI3C,EACA,SAAW,SAAU,GACjB,OAAO,EAAI,aACf,EACA,MAAQ,SAAU,GACd,MA5CU,iBA4CG,EAAyB,EAAQ,QAAQ,WAAW,IAAI,MAAM,KAAK,GAAK,CACzF,EACA,KAAO,SAAU,GACf,OAAO,EAAI,QAAQ,qCAAsC,GAC3D,GASA,EAAS,CAET,IAAM,SAAU,EAAI,GAKhB,IAHA,IAAW,EAAG,EAAG,EAAG,EAAG,EAAS,EAA5B,EAAI,EAGD,EAAI,EAAO,SAAW,GAAS,CAElC,IAAI,EAAQ,EAAO,GACf,EAAQ,EAAO,EAAI,GAIvB,IAHA,EAAI,EAAI,EAGD,EAAI,EAAM,SAAW,GAIxB,GAFA,EAAU,EAAM,KAAK,KAAK,GAGtB,IAAK,EAAI,EAAG,EAAI,EAAM,OAAQ,IAC1B,EAAQ,IAAU,UAClB,EAAI,EAAM,MAEO,GAAY,EAAE,OAAS,EACpB,GAAZ,EAAE,cACS,EAAE,IAAM,EAEf,KAAK,EAAE,IAAM,EAAE,GAAG,KAAK,KAAM,GAG7B,KAAK,EAAE,IAAM,EAAE,GAEA,GAAZ,EAAE,cAEE,EAAE,KAAO,GAAe,EAAE,GAAG,MAAQ,EAAE,GAAG,KAKjD,KAAK,EAAE,IAAM,EAAQ,EAAM,QAAQ,EAAE,GAAI,EAAE,IAAM,EAHjD,KAAK,EAAE,IAAM,EAAQ,EAAE,GAAG,KAAK,KAAM,EAAO,EAAE,IAAM,EAKrC,GAAZ,EAAE,SACL,KAAK,EAAE,IAAM,EAAQ,EAAE,GAAG,KAAK,KAAM,EAAM,QAAQ,EAAE,GAAI,EAAE,KAAO,GAG1E,KAAK,GAAK,GAAgB,EAK1C,GAAK,CACT,CACJ,EAEA,IAAM,SAAU,EAAK,GAEjB,IAAK,IAAI,KAAK,EAEV,UAAW,EAAI,KAAO,GAAY,EAAI,GAAG,OAAS,GAC9C,IAAK,IAAI,EAAI,EAAG,EAAI,EAAI,GAAG,OAAQ,IAC/B,GAAI,EAAK,IAAI,EAAI,GAAG,GAAI,GACpB,MA1HN,MA0Hc,EAAiB,EAAY,OAG1C,GAAI,EAAK,IAAI,EAAI,GAAI,GACxB,MA9HE,MA8HM,EAAiB,EAAY,EAG7C,OAAO,CACX,GASA,EAAO,CAEP,QAAU,CACN,UAAY,CACR,QAAU,CACN,MAAU,KACV,IAAU,KACV,IAAU,KACV,MAAU,OACV,QAAU,OACV,QAAU,OACV,QAAU,OACV,IAAU,OAKtB,OAAS,CACL,OAAS,CACL,MAAQ,CACJ,aAAe,CAAC,KAAM,QAG9B,OAAS,CACL,MAAQ,CACJ,eAAiB,UAErB,OAAS,CACL,IAAc,MACd,OAAc,YAK1B,GAAK,CACD,QAAU,CACN,QAAU,CACN,GAAc,OACd,UAAc,SACd,SAAc,QACd,IAAc,SACd,GAAc,CAAC,SAAU,UACzB,MAAc,SACd,EAAc,SACd,EAAc,SACd,IAAc,SACd,GAAc,CAAC,SAAU,WACzB,GAAc,UAY1B,EAAU,CAEV,QAAU,CAAC,CAGP,6BACA,kDACA,+BACA,4BACG,CAAC,EAAM,GAAU,CAEpB,4BACG,CAAC,CAAC,EAAM,cAAe,GAAU,CAEpC,uBACG,CAAC,CAAC,EAAM,SAAU,GAAU,CAG/B,uBACA,+DAGA,uDAEA,8CACA,4BAGA,uBACA,mJAEG,CAAC,EAAM,GAAU,CAEpB,2BACG,CAAC,CAAC,EAAM,aAAc,GAAU,CAEnC,iDACG,CAAC,CAAC,EAAM,MAAO,GAAU,CAE5B,4CACG,CAAC,CAAC,EAAM,QAAS,GAAU,CAE9B,2BACG,CAAC,CAAC,EAAM,UAAW,GAAU,CAEhC,uBACG,CAAC,CAAC,EAAM,wBAAyB,GAAU,CAE9C,qBACG,CAAC,CAAC,EAAM,sBAAuB,GAAU,CAE5C,wBACG,CAAC,CAAC,EAAM,UAAW,GAAU,CAEhC,uBACG,CAAC,CAAC,EAAM,iBAAkB,GAAU,CAEvC,qBACG,CAAC,CAAC,EAAM,eAAgB,GAAU,CAErC,6DACG,CAAC,CAAC,EAAM,aAAc,GAAU,CAEnC,+BACG,CAAC,CAAC,EAAM,KAAM,KAAM,GAAU,CAEjC,sCACG,CAAC,CAAC,EAAM,uBAAwB,GAAU,CAE7C,gCACG,CAAC,CAAC,EAAM,UAAW,GAAU,CAEhC,uBACG,CAAC,CAAC,EAAM,SAAU,GAAU,CAE/B,uBACG,CAAC,CAAC,EAAM,SAAU,GAAU,CAE/B,+BACG,CAAC,EAAM,GAAU,CAEpB,oBACG,CAAC,EAAM,GAAU,CAEpB,kCACG,CAAC,EAAM,GAAU,CAEpB,kCACG,CAAC,EAAM,GAAU,CAEpB,mCACG,CAAC,EAAM,GAAU,CAEpB,6BACG,CAAC,GAAO,CAEX,gBACG,CAAC,GAAO,CAEX,mCACG,CAAC,EAAS,CAAC,EAAM,iBAAkB,CAEtC,sBACG,CAAC,EAAS,CAAC,EAAM,aAAc,CAElC,6BACG,CAAC,CAAC,EAAM,aAAc,CAEzB,6BACA,oCACG,CAAC,EAAM,GAAU,CAEpB,qCACG,CAAC,EAAS,CAAC,EAAM,oBAAqB,CAEzC,gCACG,CAAC,CAAC,EAAM,OAAQ,cAAe,GAAU,CAE5C,2CACG,CAAC,CAAC,EAAM,mBAAoB,SAAU,GAAU,CAEnD,8DACG,CAAC,EAAS,CAAC,EAAM,oBAAqB,CAEzC,iCACG,CAAC,CAAC,EAAM,WAAY,GAAU,CAE/B,iCACC,CAAC,CAAC,EAAM,oBAAqB,GAAU,CAE1C,gEAEG,CAAC,EAAM,GAAU,CAEpB,wBACG,CAAC,CAAC,EAAM,WAAY,GAAU,CAEjC,6CACG,CAAC,CAAC,EAAM,gBAAiB,CAE5B,yCACG,CAAC,CAAC,EAAM,UAAW,GAAU,CAEhC,uBACG,CAAC,CAAC,EAAM,eAAgB,GAAU,CAErC,sBACG,CAAC,EAAS,CAAC,EAAM,YAAa,CAEjC,gDACG,CAAC,EAAS,CAAC,EAAM,kBAAmB,CAEvC,mDACG,CAAC,EAAS,GAAO,CAEpB,qEACG,CAAC,CAAC,EAAM,OAAQ,GAAU,CAE7B,iDACG,CAAC,EAAM,CAAC,EAAS,EAAO,IAAK,EAAK,QAAQ,UAAU,UAAW,CAElE,8BACG,CAAC,EAAM,GAAU,CAGpB,qCACG,CAAC,CAAC,EAAM,YAAa,GAAU,CAClC,cACA,gGAEA,uGAGA,6CACA,4CAGA,8EAEA,wBACA,2BACA,iCACA,4BACG,CAAC,EAAM,IAGd,IAAM,CAAC,CAEH,iDACG,CAAC,CAAC,EAAc,UAAW,CAE9B,gBACG,CAAC,CAAC,EAAc,EAAK,WAAY,CAEpC,0BACG,CAAC,CAAC,EAAc,SAAU,CAG7B,gCACG,CAAC,CAAC,EAAc,QAAS,CAE5B,2CACG,CAAC,CAAC,EAAc,OAAQ,GAAI,EAAK,WAAY,CAEhD,kBACG,CAAC,CAAC,EAAc,UAAW,CAE9B,kHAEG,CAAC,CAAC,EAAc,EAAK,YAG5B,OAAS,CAAC,CAEN,8CACG,CAAC,EAAO,EAAQ,CAAC,EAAM,IAAU,CAEpC,oCACG,CAAC,EAAO,CAAC,EAAQ,SAAU,CAAC,EAAM,IAAU,CAE/C,qBACG,CAAC,CAAC,EAAO,YAAa,CAAC,EAAQ,SAAU,CAAC,EAAM,IAAW,CAE9D,yBACA,oBACA,kBACA,uBACA,+BACA,oCACG,CAAC,EAAQ,EAAO,CAAC,EAAM,IAAU,CAEpC,qCACG,CAAC,EAAO,CAAC,EAAQ,UAAW,CAAC,EAAM,IAAU,CAChD,kDACG,CAAC,CAAC,EAAO,EAAO,IAAK,EAAK,OAAO,OAAO,OAAQ,CAAC,EAAQ,UAAW,CAAC,EAAM,IAAU,CACxF,qCACG,CAAC,EAAO,CAAC,EAAQ,UAAW,CAAC,EAAM,IAAW,CAEjD,mCACG,CAAC,EAAO,EAAQ,CAAC,EAAM,IAAU,CACpC,0BACG,CAAC,EAAO,CAAC,EAAQ,SAAU,CAAC,EAAM,IAAU,CAE/C,2BACA,mGAEA,qBACA,kBACG,CAAC,EAAQ,EAAO,CAAC,EAAM,IAAU,CACpC,mBACG,CAAC,EAAO,CAAC,EAAQ,cAAe,CAAC,EAAM,IAAU,CAEpD,kFACG,CAAC,EAAO,CAAC,EAAQ,QAAS,CAAC,EAAM,IAAU,CAE9C,mCACA,8BACG,CAAC,CAAC,EAAQ,QAAS,CAAC,EAAO,iBAAkB,CAAC,EAAM,IAAU,CACjE,kFACG,CAAC,EAAO,CAAC,EAAQ,QAAS,CAAC,EAAM,IAAU,CAE9C,cACA,4BACG,CAAC,EAAQ,EAAO,CAAC,EAAM,IAAW,CAErC,gCACG,CAAC,EAAO,CAAC,EAAQ,UAAW,CAAC,EAAM,IAAW,CAEjD,mCACG,CAAC,EAAO,CAAC,EAAQ,QAAS,CAAC,EAAM,IAAW,CAE/C,oBACG,CAAC,CAAC,EAAQ,EAAO,IAAK,EAAK,OAAO,OAAO,QAAS,CAAC,EAAO,EAAO,IAAK,EAAK,OAAO,OAAO,OAAQ,CAAC,EAAM,IAAU,CAErH,gDACA,eACA,qEAEG,CAAC,EAAQ,CAAC,EAAO,KAAM,KAAM,CAAC,EAAM,IAAU,CAEjD,eACG,CAAC,EAAO,CAAC,EAAQ,OAAQ,CAAC,EAAM,IAAU,CAE7C,4BACA,0GAEG,CAAC,EAAO,CAAC,EAAQ,UAAW,CAAC,EAAM,IAAU,CAEhD,iCACG,CAAC,EAAO,CAAC,EAAQ,UAAW,CAAC,EAAM,IAAU,CAEhD,iCACG,CAAC,EAAQ,EAAO,CAAC,EAAM,IAAU,CAEpC,mCACG,CAAC,EAAO,CAAC,EAAQ,aAAc,CAAC,EAAM,IAAW,CACpD,sBACG,CAAC,CAAC,EAAO,MAAO,KAAM,CAAC,EAAQ,aAAc,CAAC,EAAM,IAAU,CAGjE,kFACA,kBACA,uBACA,eACG,CAAC,EAAO,CAAC,EAAQ,YAAa,CAAC,EAAM,IAAU,CAClD,gDACG,CAAC,EAAO,CAAC,EAAQ,YAAa,CAAC,EAAM,IAAU,CAElD,0DACG,CAAC,CAAC,EAAQ,EAAK,MAAO,CAAC,EAAO,EAAK,MAAO,CAAC,EAAM,IAAW,CAE/D,uBACG,CAAC,CAAC,EAAO,IAAK,WAAY,CAAC,EAAQ,WAAY,CAAC,EAAM,IAAW,CAEpE,wBACG,CAAC,EAAO,CAAC,EAAQ,SAAU,CAAC,EAAM,IAAW,CAEhD,sGACA,gBACG,CAAC,CAAC,EAAQ,WAAY,EAAO,CAAC,EAAM,IAAU,CACjD,wBACG,CAAC,EAAQ,CAAC,EAAM,GAAU,GAAQ,CACrC,qDACA,mCACA,mBACG,CAAC,CAAC,EAAQ,WAAY,EAAO,CAAC,EAAM,IAAU,CAEjD,cACG,CAAC,EAAO,CAAC,EAAQ,WAAY,CAAC,EAAM,IAAU,CAEjD,oCACA,2BACG,CAAC,CAAC,EAAQ,SAAU,EAAO,CAAC,EAAM,IAAU,CAE/C,mDACG,CAAC,EAAO,CAAC,EAAQ,QAAS,CAAC,EAAM,IAAU,CAE9C,qCACG,CAAC,EAAO,CAAC,EAAQ,MAAO,CAAC,EAAM,IAAU,CAC5C,iDACG,CAAC,CAAC,EAAQ,MAAO,EAAO,CAAC,EAAM,IAAU,CAC5C,4BACA,0BACG,CAAC,CAAC,EAAQ,MAAO,EAAO,CAAC,EAAM,IAAW,CAC7C,iBACA,qBACA,oCACG,CAAC,EAAO,CAAC,EAAQ,MAAO,CAAC,EAAM,IAAU,CAE5C,yDACG,CAAC,EAAQ,EAAO,CAAC,EAAM,IAAU,CACpC,oCACG,CAAC,EAAO,CAAC,EAAQ,UAAW,CAAC,EAAM,IAAU,CAChD,4BACG,CAAC,EAAQ,EAAO,CAAC,EAAM,IAAU,CAEpC,uBACG,CAAC,EAAQ,EAAO,CAAC,EAAM,IAAU,CAEpC,6BACG,CAAC,EAAQ,EAAO,CAAC,EAAM,IAAY,CAEtC,0CACG,CAAC,EAAQ,EAAO,CAAC,EAAM,IAAU,CAEpC,UACG,CAAC,CAAC,EAAO,cAAe,CAAC,EAAQ,UAAW,CAAC,EAAM,IAAW,CAEjE,4BACG,CAAC,EAAO,CAAC,EAAQ,UAAW,CAAC,EAAM,IAAY,CAElD,+BACG,CAAC,EAAO,CAAC,EAAQ,UAAW,CAAC,EAAM,IAAU,CAEhD,8CACG,CAAC,EAAO,CAAC,EAAQ,UAAW,CAAC,EAAM,IAAU,CAEhD,mCACA,oDACA,sEAEA,kGAEG,CAAC,CAAC,EAAO,KAAM,KAAM,CAAC,EAAQ,UAAW,CAAC,EAAM,IAAU,CAC7D,gEACE,CAAC,CAAC,EAAO,KAAM,KAAM,CAAC,EAAQ,UAAW,CAAC,EAAM,IAAU,CAC5D,sCACG,CAAC,EAAO,CAAC,EAAQ,SAAU,CAAC,EAAM,IAAU,CAC/C,qBACG,CAAC,CAAC,EAAQ,SAAU,EAAO,CAAC,EAAM,IAAU,CAE/C,4BACA,oCACG,CAAC,EAAO,CAAC,EAAQ,WAAY,CAAC,EAAM,IAAU,CAEjD,0CACG,CAAC,EAAO,CAAC,EAAQ,OAAQ,CAAC,EAAM,IAAU,CAE7C,+CACG,CAAC,EAAO,CAAC,EAAQ,QAAS,CAAC,EAAM,IAAU,CAE9C,6CACG,CAAC,EAAO,CAAC,EAAQ,WAAY,CAAC,EAAM,IAAU,CAEjD,wEACG,CAAC,CAAC,EAAQ,kBAAmB,EAAO,CAAC,EAAM,IAAU,CAExD,2CACG,CAAC,EAAO,CAAC,EAAQ,YAAa,CAAC,EAAM,IAAU,CAElD,6BACG,CAAC,EAAO,CAAC,EAAQ,OAAQ,CAAC,EAAM,IAAU,CAE7C,6CACG,CAAC,EAAO,CAAC,EAAQ,SAAU,CAAC,EAAM,IAAU,CAE/C,wCACG,CAAC,EAAO,CAAC,EAAQ,SAAU,CAAC,EAAM,IAAU,CAE/C,6CACG,CAAC,EAAO,CAAC,EAAQ,QAAS,CAAC,EAAM,IAAU,CAE9C,0CACA,8DACG,CAAC,CAAC,EAAQ,gBAAiB,EAAO,CAAC,EAAM,IAAU,CAEtD,0CACG,CAAC,EAAO,CAAC,EAAQ,YAAa,CAAC,EAAM,IAAU,CAElD,kDACG,CAAC,EAAO,CAAC,EAAQ,YAAa,CAAC,EAAM,IAAU,CAElD,6EACG,CAAC,CAAC,EAAQ,SAAU,EAAO,CAAC,EAAM,IAAU,CAE/C,gDACG,CAAC,CAAC,EAAQ,SAAU,EAAO,CAAC,EAAM,IAAU,CAE/C,yBACG,CAAC,EAAO,CAAC,EAAQ,aAAc,CAAC,EAAM,IAAU,CAEnD,4DACG,CAAC,EAAO,CAAC,EAAQ,WAAY,CAAC,EAAM,IAAU,CAEjD,4DACG,CAAC,EAAQ,EAAO,CAAC,EAAM,IAAU,CAEpC,+CACG,CAAC,EAAO,CAAC,EAAQ,aAAc,CAAC,EAAM,IAAU,CAEnD,sDACG,CAAC,EAAQ,EAAO,CAAC,EAAM,IAAU,CAEpC,uCACG,CAAC,EAAO,CAAC,EAAQ,SAAU,CAAC,EAAM,IAAU,CAK/C,gDACG,CAAC,EAAQ,EAAO,CAAC,EAAM,IAAU,CAEpC,oEACG,CAAC,EAAO,CAAC,EAAM,IAAU,CAE5B,yEACG,CAAC,EAAO,CAAC,EAAM,IAAU,CAE5B,uBACA,iCACG,CAAC,CAAC,EAAM,EAAK,UAAW,EAAQ,GAAQ,CAE3C,6BACG,CAAC,CAAC,EAAM,IAAW,CAEtB,qCACG,CAAC,EAAO,CAAC,EAAQ,YAAa,CAEjC,YACG,CAAC,CAAC,EAAM,KAGf,OAAS,CAAC,CAEN,+BACG,CAAC,EAAS,CAAC,EAAM,aAAc,CAElC,6CACG,CAAC,EAAS,CAAC,EAAM,UAAW,CAE/B,uBACA,sEAEA,0CACA,gCACG,CAAC,EAAM,GAAU,CAEpB,+BACG,CAAC,EAAS,IAGjB,GAAK,CAAC,CAGF,6BAGA,qCACG,CAAC,EAAM,GAAU,CACpB,+BACA,iDACA,sDACG,CAAC,EAAM,CAAC,EAAS,EAAO,IAAK,EAAK,GAAG,QAAQ,UAAW,CAC3D,wCACG,CAAC,CAAC,EAAM,WAAY,CAAC,EAAS,EAAO,IAAK,EAAK,GAAG,QAAQ,UAAW,CAGxE,gBACG,CAAC,CAAC,EAAM,cAAe,GAAU,CACpC,+BACA,gCACA,8FAEG,CAAC,EAAM,GAAU,CACpB,oDACG,CAAC,CAAC,EAAM,WAAY,GAAU,CACjC,kBACG,CAAC,GAAO,CACX,uCACG,CAAC,CAAC,EAAM,cAAe,GAAU,CAGpC,qBACG,CAAC,EAAS,CAAC,EAAM,eAAgB,CAGpC,iDAGA,wBACA,6BACA,2JAGA,4BACA,sBACG,CAAC,EAAM,GAAU,CAEpB,+BACG,CAAC,CAAC,EAAM,eAAgB,GAAS,CAGpC,0BACG,CAAC,CAAC,EAAM,WAAY,GAAU,CAGjC,kDACG,CAAC,EAAM,GAAS,CAEnB,mBACG,CAAC,EAAM,GAAS,CAEnB,uBACA,yDACG,CAAC,CAAC,EAAS,KAAM,KAAM,CAAC,EAAM,QAAS,CAE1C,8BACA,kCACG,CAAC,CAAC,EAAM,UAAW,CAAC,EAAS,KAAM,MAAO,CAG7C,uCACA,oCACA,uEAEA,uBACG,CAAC,EAAM,KAQd,EAAW,SAAU,EAAU,GAO/B,GALwB,iBAAb,IACP,EAAa,EACb,EAAW,KAGT,gBAAgB,GAClB,OAAO,IAAI,EAAS,EAAU,GAAY,YAG9C,IAAI,EAAK,IAAc,GAAU,EAAO,WAAa,EAAO,UAAU,UAAa,EAAO,UAAU,UA1xBtF,IA2xBV,EAAS,EAAa,EAAK,OAAO,EAAS,GAAc,EA6C7D,OA3CA,KAAK,WAAa,WACd,IAAI,EAAU,CAAE,KAAM,EAAW,QAAS,GAG1C,OAFA,EAAO,IAAI,KAAK,EAAS,EAAI,EAAO,SACpC,EAAQ,MAAQ,EAAK,MAAM,EAAQ,SAC5B,CACX,EACA,KAAK,OAAS,WACV,IAAI,EAAM,CAAE,aAAc,GAE1B,OADA,EAAO,IAAI,KAAK,EAAK,EAAI,EAAO,KACzB,CACX,EACA,KAAK,UAAY,WACb,IAAI,EAAS,CAAE,OAAQ,EAAW,MAAO,EAAW,KAAM,GAE1D,OADA,EAAO,IAAI,KAAK,EAAQ,EAAI,EAAO,QAC5B,CACX,EACA,KAAK,UAAY,WACb,IAAI,EAAS,CAAE,KAAM,EAAW,QAAS,GAEzC,OADA,EAAO,IAAI,KAAK,EAAQ,EAAI,EAAO,QAC5B,CACX,EACA,KAAK,MAAQ,WACT,IAAI,EAAK,CAAE,KAAM,EAAW,QAAS,GAErC,OADA,EAAO,IAAI,KAAK,EAAI,EAAI,EAAO,IACxB,CACX,EACA,KAAK,UAAY,WACb,MAAO,CACH,GAAU,KAAK,QACf,QAAU,KAAK,aACf,OAAU,KAAK,YACf,GAAU,KAAK,QACf,OAAU,KAAK,YACf,IAAU,KAAK,SAEvB,EACA,KAAK,MAAQ,WACT,OAAO,CACX,EACA,KAAK,MAAQ,SAAU,GAEnB,OADA,EAAK,EACE,IACX,EACO,IACX,EAEA,EAAS,QA50BS,SA60BlB,EAAS,QAAU,CACf,KAAU,EACV,MAx0Bc,QAy0Bd,QAAU,GAEd,EAAS,IAAM,CACX,aAAe,GAEnB,EAAS,OAAS,CACd,MAAU,EACV,OAAU,EACV,KAAU,EACV,QAAU,EACV,OAAU,EACV,QAAU,EACV,OAAU,EACV,SAAU,EACV,SA30Bc,YA60BlB,EAAS,OAAS,CACd,KAAU,EACV,QAAU,GAEd,EAAS,GAAK,CACV,KAAU,EACV,QAAU,UASJ,UAAc,UAET,SAAW,GAAc,OAAO,UACvC,QAAU,OAAO,QAAU,GAE/B,QAAQ,SAAW,GAGI,mBAAb,QAA2B,OAAO,IACxC,QAAO,WACH,OAAO,CACX,IACO,IAEP,EAAO,SAAW,GAS1B,IAAI,EAAI,IAAW,EAAO,QAAU,EAAO,OAC3C,GAAI,IAAM,EAAE,GAAI,CACZ,IAAI,EAAS,IAAI,EACjB,EAAE,GAAK,EAAO,YACd,EAAE,GAAG,IAAM,WACP,OAAO,EAAO,OAClB,EACA,EAAE,GAAG,IAAM,SAAU,GACjB,EAAO,MAAM,GACb,IAAI,EAAS,EAAO,YACpB,IAAK,IAAI,KAAQ,EACb,EAAE,GAAG,GAAQ,EAAO,EAE5B,CACJ,CAEH,CA/5BD,CA+5BqB,iBAAX,OAAsB,OAAS","file":"/npm/ua-parser-js@0.7.24/src/ua-parser.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.37.0.\n * Original file: /npm/ua-parser-js@0.7.24/src/ua-parser.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","/*!\n * UAParser.js v0.7.24\n * Lightweight JavaScript-based User-Agent string parser\n * https://github.com/faisalman/ua-parser-js\n *\n * Copyright © 2012-2021 Faisal Salman <f@faisalman.com>\n * Licensed under MIT License\n */\n\n(function (window, undefined) {\n\n    'use strict';\n\n    //////////////\n    // Constants\n    /////////////\n\n\n    var LIBVERSION  = '0.7.24',\n        EMPTY       = '',\n        UNKNOWN     = '?',\n        FUNC_TYPE   = 'function',\n        UNDEF_TYPE  = 'undefined',\n        OBJ_TYPE    = 'object',\n        STR_TYPE    = 'string',\n        MAJOR       = 'major', // deprecated\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\n\n    ///////////\n    // Helper\n    //////////\n\n\n    var util = {\n        extend : function (regexes, extensions) {\n            var mergedRegexes = {};\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            return mergedRegexes;\n        },\n        has : function (str1, str2) {\n          if (typeof str1 === \"string\") {\n            return str2.toLowerCase().indexOf(str1.toLowerCase()) !== -1;\n          } else {\n            return false;\n          }\n        },\n        lowerize : function (str) {\n            return str.toLowerCase();\n        },\n        major : function (version) {\n            return typeof(version) === STR_TYPE ? version.replace(/[^\\d\\.]/g,'').split(\".\")[0] : undefined;\n        },\n        trim : function (str) {\n          return str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n        }\n    };\n\n\n    ///////////////\n    // Map helper\n    //////////////\n\n\n    var mapper = {\n\n        rgx : function (ua, arrays) {\n\n            var i = 0, j, k, p, q, matches, match;\n\n            // loop through all regexes maps\n            while (i < arrays.length && !matches) {\n\n                var regex = arrays[i],       // even sequence (0,2,4,..)\n                    props = arrays[i + 1];   // odd sequence (1,3,5,..)\n                j = k = 0;\n\n                // try matching uastring with regexes\n                while (j < regex.length && !matches) {\n\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];\n                            // check if given property is actually array\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                i += 2;\n            }\n        },\n\n        str : function (str, map) {\n\n            for (var i in map) {\n                // check if array\n                if (typeof map[i] === OBJ_TYPE && map[i].length > 0) {\n                    for (var j = 0; j < map[i].length; j++) {\n                        if (util.has(map[i][j], str)) {\n                            return (i === UNKNOWN) ? undefined : i;\n                        }\n                    }\n                } else if (util.has(map[i], str)) {\n                    return (i === UNKNOWN) ? undefined : i;\n                }\n            }\n            return str;\n        }\n    };\n\n\n    ///////////////\n    // String map\n    //////////////\n\n\n    var maps = {\n\n        browser : {\n            oldsafari : {\n                version : {\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            }\n        },\n\n        device : {\n            amazon : {\n                model : {\n                    'Fire Phone' : ['SD', 'KF']\n                }\n            },\n            sprint : {\n                model : {\n                    'Evo Shift 4G' : '7373KT'\n                },\n                vendor : {\n                    'HTC'       : 'APA',\n                    'Sprint'    : 'Sprint'\n                }\n            }\n        },\n\n        os : {\n            windows : {\n                version : {\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            }\n        }\n    };\n\n\n    //////////////\n    // Regex map\n    /////////////\n\n\n    var regexes = {\n\n        browser : [[\n\n            // Presto based\n            /(opera\\smini)\\/([\\w\\.-]+)/i,                                       // Opera Mini\n            /(opera\\s[mobiletab]{3,6}).+version\\/([\\w\\.-]+)/i,                  // Opera Mobi/Tablet\n            /(opera).+version\\/([\\w\\.]+)/i,                                     // Opera > 9.80\n            /(opera)[\\/\\s]+([\\w\\.]+)/i                                          // Opera < 9.80\n            ], [NAME, VERSION], [\n\n            /(opios)[\\/\\s]+([\\w\\.]+)/i                                          // Opera mini on iphone >= 8.0\n            ], [[NAME, 'Opera Mini'], VERSION], [\n\n            /\\s(opr)\\/([\\w\\.]+)/i                                               // Opera Webkit\n            ], [[NAME, 'Opera'], VERSION], [\n\n            // Mixed\n            /(kindle)\\/([\\w\\.]+)/i,                                             // Kindle\n            /(lunascape|maxthon|netfront|jasmine|blazer)[\\/\\s]?([\\w\\.]*)/i,\n                                                                                // Lunascape/Maxthon/Netfront/Jasmine/Blazer\n            // Trident based\n            /(avant\\s|iemobile|slim)(?:browser)?[\\/\\s]?([\\w\\.]*)/i,\n                                                                                // Avant/IEMobile/SlimBrowser\n            /(bidubrowser|baidubrowser)[\\/\\s]?([\\w\\.]+)/i,                      // Baidu Browser\n            /(?:ms|\\()(ie)\\s([\\w\\.]+)/i,                                        // Internet Explorer\n\n            // Webkit/KHTML based\n            /(rekonq)\\/([\\w\\.]*)/i,                                             // Rekonq\n            /(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon)\\/([\\w\\.-]+)/i\n                                                                                // Chromium/Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon\n            ], [NAME, VERSION], [\n\n            /(konqueror)\\/([\\w\\.]+)/i                                           // Konqueror\n            ], [[NAME, 'Konqueror'], VERSION], [\n\n            /(trident).+rv[:\\s]([\\w\\.]{1,9}).+like\\sgecko/i                     // IE11\n            ], [[NAME, 'IE'], VERSION], [\n\n            /(edge|edgios|edga|edg)\\/((\\d+)?[\\w\\.]+)/i                          // Microsoft Edge\n            ], [[NAME, 'Edge'], VERSION], [\n\n            /(yabrowser)\\/([\\w\\.]+)/i                                           // Yandex\n            ], [[NAME, 'Yandex'], VERSION], [\n\n            /(Avast)\\/([\\w\\.]+)/i                                               // Avast Secure Browser\n            ], [[NAME, 'Avast Secure Browser'], VERSION], [\n\n            /(AVG)\\/([\\w\\.]+)/i                                                 // AVG Secure Browser\n            ], [[NAME, 'AVG Secure Browser'], VERSION], [\n\n            /(puffin)\\/([\\w\\.]+)/i                                              // Puffin\n            ], [[NAME, 'Puffin'], VERSION], [\n\n            /(focus)\\/([\\w\\.]+)/i                                               // Firefox Focus\n            ], [[NAME, 'Firefox Focus'], VERSION], [\n\n            /(opt)\\/([\\w\\.]+)/i                                                 // Opera Touch\n            ], [[NAME, 'Opera Touch'], VERSION], [\n\n            /((?:[\\s\\/])uc?\\s?browser|(?:juc.+)ucweb)[\\/\\s]?([\\w\\.]+)/i         // UCBrowser\n            ], [[NAME, 'UCBrowser'], VERSION], [\n\n            /(comodo_dragon)\\/([\\w\\.]+)/i                                       // Comodo Dragon\n            ], [[NAME, /_/g, ' '], VERSION], [\n\n            /(windowswechat qbcore)\\/([\\w\\.]+)/i                                // WeChat Desktop for Windows Built-in Browser\n            ], [[NAME, 'WeChat(Win) Desktop'], VERSION], [\n\n            /(micromessenger)\\/([\\w\\.]+)/i                                      // WeChat\n            ], [[NAME, 'WeChat'], VERSION], [\n\n            /(brave)\\/([\\w\\.]+)/i                                               // Brave browser\n            ], [[NAME, 'Brave'], VERSION], [\n\n            /(whale)\\/([\\w\\.]+)/i                                               // Whale browser\n            ], [[NAME, 'Whale'], VERSION], [\n\n            /(qqbrowserlite)\\/([\\w\\.]+)/i                                       // QQBrowserLite\n            ], [NAME, VERSION], [\n\n            /(QQ)\\/([\\d\\.]+)/i                                                  // QQ, aka ShouQ\n            ], [NAME, VERSION], [\n\n            /m?(qqbrowser)[\\/\\s]?([\\w\\.]+)/i                                    // QQBrowser\n            ], [NAME, VERSION], [\n\n            /(baiduboxapp)[\\/\\s]?([\\w\\.]+)/i                                    // Baidu App\n            ], [NAME, VERSION], [\n\n            /(2345Explorer)[\\/\\s]?([\\w\\.]+)/i                                   // 2345 Browser\n            ], [NAME, VERSION], [\n\n            /(MetaSr)[\\/\\s]?([\\w\\.]+)/i                                         // SouGouBrowser\n            ], [NAME], [\n\n            /(LBBROWSER)/i                                                      // LieBao Browser\n            ], [NAME], [\n\n            /xiaomi\\/miuibrowser\\/([\\w\\.]+)/i                                   // MIUI Browser\n            ], [VERSION, [NAME, 'MIUI Browser']], [\n\n            /;fbav\\/([\\w\\.]+);/i                                                // Facebook App for iOS & Android with version\n            ], [VERSION, [NAME, 'Facebook']], [\n            \n            /FBAN\\/FBIOS|FB_IAB\\/FB4A/i                                         // Facebook App for iOS & Android without version\n            ], [[NAME, 'Facebook']], [\n\n            /safari\\s(line)\\/([\\w\\.]+)/i,                                       // Line App for iOS\n            /android.+(line)\\/([\\w\\.]+)\\/iab/i                                  // Line App for Android\n            ], [NAME, VERSION], [\n\n            /headlesschrome(?:\\/([\\w\\.]+)|\\s)/i                                 // Chrome Headless\n            ], [VERSION, [NAME, 'Chrome Headless']], [\n\n            /\\swv\\).+(chrome)\\/([\\w\\.]+)/i                                      // Chrome WebView\n            ], [[NAME, /(.+)/, '$1 WebView'], VERSION], [\n\n            /((?:oculus|samsung)browser)\\/([\\w\\.]+)/i\n            ], [[NAME, /(.+(?:g|us))(.+)/, '$1 $2'], VERSION], [                // Oculus / Samsung Browser\n\n            /android.+version\\/([\\w\\.]+)\\s+(?:mobile\\s?safari|safari)*/i        // Android Browser\n            ], [VERSION, [NAME, 'Android Browser']], [\n\n            /(coc_coc_browser)\\/([\\w\\.]+)/i                                     // Coc Coc Browser\n            ], [[NAME, 'Coc Coc'], VERSION], [\n\n              /(sailfishbrowser)\\/([\\w\\.]+)/i                                     // Sailfish Browser\n            ], [[NAME, 'Sailfish Browser'], VERSION], [\n\n            /(chrome|omniweb|arora|[tizenoka]{5}\\s?browser)\\/v?([\\w\\.]+)/i\n                                                                                // Chrome/OmniWeb/Arora/Tizen/Nokia\n            ], [NAME, VERSION], [\n\n            /(dolfin)\\/([\\w\\.]+)/i                                              // Dolphin\n            ], [[NAME, 'Dolphin'], VERSION], [\n\n            /(qihu|qhbrowser|qihoobrowser|360browser)/i                         // 360\n            ], [[NAME, '360 Browser']], [\n\n            /((?:android.+)crmo|crios)\\/([\\w\\.]+)/i                             // Chrome for Android/iOS\n            ], [[NAME, 'Chrome'], VERSION], [\n\n            /(coast)\\/([\\w\\.]+)/i                                               // Opera Coast\n            ], [[NAME, 'Opera Coast'], VERSION], [\n\n            /fxios\\/([\\w\\.-]+)/i                                                // Firefox for iOS\n            ], [VERSION, [NAME, 'Firefox']], [\n\n            /version\\/([\\w\\.]+)\\s.*mobile\\/\\w+\\s(safari)/i                      // Mobile Safari\n            ], [VERSION, [NAME, 'Mobile Safari']], [\n\n            /version\\/([\\w\\.]+)\\s.*(mobile\\s?safari|safari)/i                   // Safari & Safari Mobile\n            ], [VERSION, NAME], [\n\n            /webkit.+?(gsa)\\/([\\w\\.]+)\\s.*(mobile\\s?safari|safari)(\\/[\\w\\.]+)/i // Google Search Appliance on iOS\n            ], [[NAME, 'GSA'], VERSION], [\n\n            /webkit.+?(mobile\\s?safari|safari)(\\/[\\w\\.]+)/i                     // Safari < 3.0\n            ], [NAME, [VERSION, mapper.str, maps.browser.oldsafari.version]], [\n\n            /(webkit|khtml)\\/([\\w\\.]+)/i\n            ], [NAME, VERSION], [\n\n            // Gecko based\n            /(navigator|netscape)\\/([\\w\\.-]+)/i                                 // Netscape\n            ], [[NAME, 'Netscape'], VERSION], [\n            /(swiftfox)/i,                                                      // Swiftfox\n            /(icedragon|iceweasel|camino|chimera|fennec|maemo\\sbrowser|minimo|conkeror)[\\/\\s]?([\\w\\.\\+]+)/i,\n                                                                                // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror\n            /(firefox|seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\/([\\w\\.-]+)$/i,\n\n                                                                                // Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix\n            /(firefox)\\/([\\w\\.]+)\\s[\\w\\s\\-]+\\/[\\w\\.]+$/i,                       // Other Firefox-based\n            /(mozilla)\\/([\\w\\.]+)\\s.+rv\\:.+gecko\\/\\d+/i,                        // Mozilla\n\n            // Other\n            /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir)[\\/\\s]?([\\w\\.]+)/i,\n                                                                                // Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Sleipnir\n            /(links)\\s\\(([\\w\\.]+)/i,                                            // Links\n            /(gobrowser)\\/?([\\w\\.]*)/i,                                         // GoBrowser\n            /(ice\\s?browser)\\/v?([\\w\\._]+)/i,                                   // ICE Browser\n            /(mosaic)[\\/\\s]([\\w\\.]+)/i                                          // Mosaic\n            ], [NAME, VERSION]\n        ],\n\n        cpu : [[\n\n            /(?:(amd|x(?:(?:86|64)[_-])?|wow|win)64)[;\\)]/i                     // AMD64\n            ], [[ARCHITECTURE, 'amd64']], [\n\n            /(ia32(?=;))/i                                                      // IA32 (quicktime)\n            ], [[ARCHITECTURE, util.lowerize]], [\n\n            /((?:i[346]|x)86)[;\\)]/i                                            // IA32\n            ], [[ARCHITECTURE, 'ia32']], [\n\n            // PocketPC mistakenly identified as PowerPC\n            /windows\\s(ce|mobile);\\sppc;/i\n            ], [[ARCHITECTURE, 'arm']], [\n\n            /((?:ppc|powerpc)(?:64)?)(?:\\smac|;|\\))/i                           // PowerPC\n            ], [[ARCHITECTURE, /ower/, '', util.lowerize]], [\n\n            /(sun4\\w)[;\\)]/i                                                    // SPARC\n            ], [[ARCHITECTURE, 'sparc']], [\n\n            /((?:avr32|ia64(?=;))|68k(?=\\))|arm(?:64|(?=v\\d+[;l]))|(?=atmel\\s)avr|(?:irix|mips|sparc)(?:64)?(?=;)|pa-risc)/i\n                                                                                // IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC\n            ], [[ARCHITECTURE, util.lowerize]]\n        ],\n\n        device : [[\n\n            /\\((ipad|playbook);[\\w\\s\\),;-]+(rim|apple)/i                        // iPad/PlayBook\n            ], [MODEL, VENDOR, [TYPE, TABLET]], [\n\n            /applecoremedia\\/[\\w\\.]+ \\((ipad)/                                  // iPad\n            ], [MODEL, [VENDOR, 'Apple'], [TYPE, TABLET]], [\n\n            /(apple\\s{0,1}tv)/i                                                 // Apple TV\n            ], [[MODEL, 'Apple TV'], [VENDOR, 'Apple'], [TYPE, SMARTTV]], [\n\n            /(archos)\\s(gamepad2?)/i,                                           // Archos\n            /(hp).+(touchpad)/i,                                                // HP TouchPad\n            /(hp).+(tablet)/i,                                                  // HP Tablet\n            /(kindle)\\/([\\w\\.]+)/i,                                             // Kindle\n            /\\s(nook)[\\w\\s]+build\\/(\\w+)/i,                                     // Nook\n            /(dell)\\s(strea[kpr\\s\\d]*[\\dko])/i                                  // Dell Streak\n            ], [VENDOR, MODEL, [TYPE, TABLET]], [\n\n            /(kf[A-z]+)(\\sbuild\\/|\\)).+silk\\//i                                 // Kindle Fire HD\n            ], [MODEL, [VENDOR, 'Amazon'], [TYPE, TABLET]], [\n            /(sd|kf)[0349hijorstuw]+(\\sbuild\\/|\\)).+silk\\//i                    // Fire Phone\n            ], [[MODEL, mapper.str, maps.device.amazon.model], [VENDOR, 'Amazon'], [TYPE, MOBILE]], [\n            /android.+aft([\\w])(\\sbuild\\/|\\))/i                                 // Fire TV\n            ], [MODEL, [VENDOR, 'Amazon'], [TYPE, SMARTTV]], [\n\n            /\\((ip[honed|\\s\\w*]+);.+(apple)/i                                   // iPod/iPhone\n            ], [MODEL, VENDOR, [TYPE, MOBILE]], [\n            /\\((ip[honed|\\s\\w*]+);/i                                            // iPod/iPhone\n            ], [MODEL, [VENDOR, 'Apple'], [TYPE, MOBILE]], [\n\n            /(blackberry)[\\s-]?(\\w+)/i,                                         // BlackBerry\n            /(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[\\s_-]?([\\w-]*)/i,\n                                                                                // BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron\n            /(hp)\\s([\\w\\s]+\\w)/i,                                               // HP iPAQ\n            /(asus)-?(\\w+)/i                                                    // Asus\n            ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n            /\\(bb10;\\s(\\w+)/i                                                   // BlackBerry 10\n            ], [MODEL, [VENDOR, 'BlackBerry'], [TYPE, MOBILE]], [\n                                                                                // Asus Tablets\n            /android.+(transfo[prime\\s]{4,10}\\s\\w+|eeepc|slider\\s\\w+|nexus 7|padfone|p00c)/i\n            ], [MODEL, [VENDOR, 'Asus'], [TYPE, TABLET]], [\n\n            /(sony)\\s(tablet\\s[ps])\\sbuild\\//i,                                  // Sony\n            /(sony)?(?:sgp.+)\\sbuild\\//i\n            ], [[VENDOR, 'Sony'], [MODEL, 'Xperia Tablet'], [TYPE, TABLET]], [\n            /android.+\\s([c-g]\\d{4}|so[-l]\\w+)(?=\\sbuild\\/|\\).+chrome\\/(?![1-6]{0,1}\\d\\.))/i\n            ], [MODEL, [VENDOR, 'Sony'], [TYPE, MOBILE]], [\n\n            /\\s(ouya)\\s/i,                                                      // Ouya\n            /(nintendo)\\s([wids3u]+)/i                                          // Nintendo\n            ], [VENDOR, MODEL, [TYPE, CONSOLE]], [\n\n            /android.+;\\s(shield)\\sbuild/i                                      // Nvidia\n            ], [MODEL, [VENDOR, 'Nvidia'], [TYPE, CONSOLE]], [\n\n            /(playstation\\s[34portablevi]+)/i                                   // Playstation\n            ], [MODEL, [VENDOR, 'Sony'], [TYPE, CONSOLE]], [\n\n            /(sprint\\s(\\w+))/i                                                  // Sprint Phones\n            ], [[VENDOR, mapper.str, maps.device.sprint.vendor], [MODEL, mapper.str, maps.device.sprint.model], [TYPE, MOBILE]], [\n\n            /(htc)[;_\\s-]{1,2}([\\w\\s]+(?=\\)|\\sbuild)|\\w+)/i,                    // HTC\n            /(zte)-(\\w*)/i,                                                     // ZTE\n            /(alcatel|geeksphone|nexian|panasonic|(?=;\\s)sony)[_\\s-]?([\\w-]*)/i\n                                                                                // Alcatel/GeeksPhone/Nexian/Panasonic/Sony\n            ], [VENDOR, [MODEL, /_/g, ' '], [TYPE, MOBILE]], [\n\n            /(nexus\\s9)/i                                                       // HTC Nexus 9\n            ], [MODEL, [VENDOR, 'HTC'], [TYPE, TABLET]], [\n\n            /d\\/huawei([\\w\\s-]+)[;\\)]/i,                                        // Huawei\n            /android.+\\s(nexus\\s6p|vog-[at]?l\\d\\d|ane-[at]?l[x\\d]\\d|eml-a?l\\d\\da?|lya-[at]?l\\d[\\dc]|clt-a?l\\d\\di?)/i\n\n            ], [MODEL, [VENDOR, 'Huawei'], [TYPE, MOBILE]], [\n\n            /android.+(bah2?-a?[lw]\\d{2})/i                                     // Huawei MediaPad\n            ], [MODEL, [VENDOR, 'Huawei'], [TYPE, TABLET]], [\n\n            /(microsoft);\\s(lumia[\\s\\w]+)/i                                     // Microsoft Lumia\n            ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n\n            /[\\s\\(;](xbox(?:\\sone)?)[\\s\\);]/i                                   // Microsoft Xbox\n            ], [MODEL, [VENDOR, 'Microsoft'], [TYPE, CONSOLE]], [\n            /(kin\\.[onetw]{3})/i                                                // Microsoft Kin\n            ], [[MODEL, /\\./g, ' '], [VENDOR, 'Microsoft'], [TYPE, MOBILE]], [\n\n                                                                                // Motorola\n            /\\s(milestone|droid(?:[2-4x]|\\s(?:bionic|x2|pro|razr))?:?(\\s4g)?)[\\w\\s]+build\\//i,\n            /mot[\\s-]?(\\w*)/i,\n            /(XT\\d{3,4}) build\\//i,\n            /(nexus\\s6)/i\n            ], [MODEL, [VENDOR, 'Motorola'], [TYPE, MOBILE]], [\n            /android.+\\s(mz60\\d|xoom[\\s2]{0,2})\\sbuild\\//i\n            ], [MODEL, [VENDOR, 'Motorola'], [TYPE, TABLET]], [\n\n            /hbbtv\\/\\d+\\.\\d+\\.\\d+\\s+\\([\\w\\s]*;\\s*(\\w[^;]*);([^;]*)/i            // HbbTV devices\n            ], [[VENDOR, util.trim], [MODEL, util.trim], [TYPE, SMARTTV]], [\n\n            /hbbtv.+maple;(\\d+)/i\n            ], [[MODEL, /^/, 'SmartTV'], [VENDOR, 'Samsung'], [TYPE, SMARTTV]], [\n\n            /\\(dtv[\\);].+(aquos)/i                                              // Sharp\n            ], [MODEL, [VENDOR, 'Sharp'], [TYPE, SMARTTV]], [\n\n            /android.+((sch-i[89]0\\d|shw-m380s|SM-P605|SM-P610|SM-P587|gt-p\\d{4}|gt-n\\d+|sgh-t8[56]9|nexus 10))/i,\n            /((SM-T\\w+))/i\n            ], [[VENDOR, 'Samsung'], MODEL, [TYPE, TABLET]], [                  // Samsung\n            /smart-tv.+(samsung)/i\n            ], [VENDOR, [TYPE, SMARTTV], MODEL], [\n            /((s[cgp]h-\\w+|gt-\\w+|galaxy\\snexus|sm-\\w[\\w\\d]+))/i,\n            /(sam[sung]*)[\\s-]*(\\w+-?[\\w-]*)/i,\n            /sec-((sgh\\w+))/i\n            ], [[VENDOR, 'Samsung'], MODEL, [TYPE, MOBILE]], [\n\n            /sie-(\\w*)/i                                                        // Siemens\n            ], [MODEL, [VENDOR, 'Siemens'], [TYPE, MOBILE]], [\n\n            /(maemo|nokia).*(n900|lumia\\s\\d+)/i,                                // Nokia\n            /(nokia)[\\s_-]?([\\w-]*)/i\n            ], [[VENDOR, 'Nokia'], MODEL, [TYPE, MOBILE]], [\n\n            /android[x\\d\\.\\s;]+\\s([ab][1-7]\\-?[0178a]\\d\\d?)/i                   // Acer\n            ], [MODEL, [VENDOR, 'Acer'], [TYPE, TABLET]], [\n\n            /android.+([vl]k\\-?\\d{3})\\s+build/i                                 // LG Tablet\n            ], [MODEL, [VENDOR, 'LG'], [TYPE, TABLET]], [\n            /android\\s3\\.[\\s\\w;-]{10}(lg?)-([06cv9]{3,4})/i                     // LG Tablet\n            ], [[VENDOR, 'LG'], MODEL, [TYPE, TABLET]], [\n            /linux;\\snetcast.+smarttv/i,                                        // LG SmartTV\n            /lg\\snetcast\\.tv-201\\d/i\n            ], [[VENDOR, 'LG'], MODEL, [TYPE, SMARTTV]], [\n            /(nexus\\s[45])/i,                                                   // LG\n            /lg[e;\\s\\/-]+(\\w*)/i,\n            /android.+lg(\\-?[\\d\\w]+)\\s+build/i\n            ], [MODEL, [VENDOR, 'LG'], [TYPE, MOBILE]], [\n\n            /(lenovo)\\s?(s(?:5000|6000)(?:[\\w-]+)|tab(?:[\\s\\w]+))/i             // Lenovo tablets\n            ], [VENDOR, MODEL, [TYPE, TABLET]], [\n            /android.+(ideatab[a-z0-9\\-\\s]+)/i                                  // Lenovo\n            ], [MODEL, [VENDOR, 'Lenovo'], [TYPE, TABLET]], [\n            /(lenovo)[_\\s-]?([\\w-]+)/i\n            ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n\n            /linux;.+((jolla));/i                                               // Jolla\n            ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n\n            /((pebble))app\\/[\\d\\.]+\\s/i                                         // Pebble\n            ], [VENDOR, MODEL, [TYPE, WEARABLE]], [\n\n            /android.+;\\s(oppo)\\s?([\\w\\s]+)\\sbuild/i                            // OPPO\n            ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n\n            /crkey/i                                                            // Google Chromecast\n            ], [[MODEL, 'Chromecast'], [VENDOR, 'Google'], [TYPE, SMARTTV]], [\n\n            /android.+;\\s(glass)\\s\\d/i                                          // Google Glass\n            ], [MODEL, [VENDOR, 'Google'], [TYPE, WEARABLE]], [\n\n            /android.+;\\s(pixel c)[\\s)]/i                                       // Google Pixel C\n            ], [MODEL, [VENDOR, 'Google'], [TYPE, TABLET]], [\n\n            /android.+;\\s(pixel( [2-9]a?)?( xl)?)[\\s)]/i                        // Google Pixel\n            ], [MODEL, [VENDOR, 'Google'], [TYPE, MOBILE]], [\n\n            /android.+;\\s(\\w+)\\s+build\\/hm\\1/i,                                 // Xiaomi Hongmi 'numeric' models\n            /android.+(hm[\\s\\-_]?note?[\\s_]?(?:\\d\\w)?)\\sbuild/i,                // Xiaomi Hongmi\n            /android.+(redmi[\\s\\-_]?(?:note|k)?(?:[\\s_]?[\\w\\s]+))(?:\\sbuild|\\))/i,      \n                                                                                // Xiaomi Redmi\n            /android.+(mi[\\s\\-_]?(?:a\\d|one|one[\\s_]plus|note lte)?[\\s_]?(?:\\d?\\w?)[\\s_]?(?:plus)?)\\sbuild/i    \n                                                                                // Xiaomi Mi\n            ], [[MODEL, /_/g, ' '], [VENDOR, 'Xiaomi'], [TYPE, MOBILE]], [\n            /android.+(mi[\\s\\-_]?(?:pad)(?:[\\s_]?[\\w\\s]+))(?:\\sbuild|\\))/i     // Mi Pad tablets\n            ],[[MODEL, /_/g, ' '], [VENDOR, 'Xiaomi'], [TYPE, TABLET]], [\n            /android.+;\\s(m[1-5]\\snote)\\sbuild/i                                // Meizu\n            ], [MODEL, [VENDOR, 'Meizu'], [TYPE, MOBILE]], [\n            /(mz)-([\\w-]{2,})/i\n            ], [[VENDOR, 'Meizu'], MODEL, [TYPE, MOBILE]], [\n\n            /android.+a000(1)\\s+build/i,                                        // OnePlus\n            /android.+oneplus\\s(a\\d{4})[\\s)]/i\n            ], [MODEL, [VENDOR, 'OnePlus'], [TYPE, MOBILE]], [\n\n            /android.+[;\\/]\\s*(RCT[\\d\\w]+)\\s+build/i                            // RCA Tablets\n            ], [MODEL, [VENDOR, 'RCA'], [TYPE, TABLET]], [\n\n            /android.+[;\\/\\s](Venue[\\d\\s]{2,7})\\s+build/i                       // Dell Venue Tablets\n            ], [MODEL, [VENDOR, 'Dell'], [TYPE, TABLET]], [\n\n            /android.+[;\\/]\\s*(Q[T|M][\\d\\w]+)\\s+build/i                         // Verizon Tablet\n            ], [MODEL, [VENDOR, 'Verizon'], [TYPE, TABLET]], [\n\n            /android.+[;\\/]\\s+(Barnes[&\\s]+Noble\\s+|BN[RT])(\\S(?:.*\\S)?)\\s+build/i     // Barnes & Noble Tablet\n            ], [[VENDOR, 'Barnes & Noble'], MODEL, [TYPE, TABLET]], [\n\n            /android.+[;\\/]\\s+(TM\\d{3}.*\\b)\\s+build/i                           // Barnes & Noble Tablet\n            ], [MODEL, [VENDOR, 'NuVision'], [TYPE, TABLET]], [\n\n            /android.+;\\s(k88)\\sbuild/i                                         // ZTE K Series Tablet\n            ], [MODEL, [VENDOR, 'ZTE'], [TYPE, TABLET]], [\n\n            /android.+[;\\/]\\s*(gen\\d{3})\\s+build.*49h/i                         // Swiss GEN Mobile\n            ], [MODEL, [VENDOR, 'Swiss'], [TYPE, MOBILE]], [\n\n            /android.+[;\\/]\\s*(zur\\d{3})\\s+build/i                              // Swiss ZUR Tablet\n            ], [MODEL, [VENDOR, 'Swiss'], [TYPE, TABLET]], [\n\n            /android.+[;\\/]\\s*((Zeki)?TB.*\\b)\\s+build/i                         // Zeki Tablets\n            ], [MODEL, [VENDOR, 'Zeki'], [TYPE, TABLET]], [\n\n            /(android).+[;\\/]\\s+([YR]\\d{2})\\s+build/i,\n            /android.+[;\\/]\\s+(Dragon[\\-\\s]+Touch\\s+|DT)(\\w{5})\\sbuild/i        // Dragon Touch Tablet\n            ], [[VENDOR, 'Dragon Touch'], MODEL, [TYPE, TABLET]], [\n\n            /android.+[;\\/]\\s*(NS-?\\w{0,9})\\sbuild/i                            // Insignia Tablets\n            ], [MODEL, [VENDOR, 'Insignia'], [TYPE, TABLET]], [\n\n            /android.+[;\\/]\\s*((NX|Next)-?\\w{0,9})\\s+build/i                    // NextBook Tablets\n            ], [MODEL, [VENDOR, 'NextBook'], [TYPE, TABLET]], [\n\n            /android.+[;\\/]\\s*(Xtreme\\_)?(V(1[045]|2[015]|30|40|60|7[05]|90))\\s+build/i\n            ], [[VENDOR, 'Voice'], MODEL, [TYPE, MOBILE]], [                    // Voice Xtreme Phones\n\n            /android.+[;\\/]\\s*(LVTEL\\-)?(V1[12])\\s+build/i                     // LvTel Phones\n            ], [[VENDOR, 'LvTel'], MODEL, [TYPE, MOBILE]], [\n\n            /android.+;\\s(PH-1)\\s/i\n            ], [MODEL, [VENDOR, 'Essential'], [TYPE, MOBILE]], [                // Essential PH-1\n\n            /android.+[;\\/]\\s*(V(100MD|700NA|7011|917G).*\\b)\\s+build/i          // Envizen Tablets\n            ], [MODEL, [VENDOR, 'Envizen'], [TYPE, TABLET]], [\n\n            /android.+[;\\/]\\s*(Le[\\s\\-]+Pan)[\\s\\-]+(\\w{1,9})\\s+build/i          // Le Pan Tablets\n            ], [VENDOR, MODEL, [TYPE, TABLET]], [\n\n            /android.+[;\\/]\\s*(Trio[\\s\\w\\-\\.]+)\\s+build/i                       // MachSpeed Tablets\n            ], [MODEL, [VENDOR, 'MachSpeed'], [TYPE, TABLET]], [\n\n            /android.+[;\\/]\\s*(Trinity)[\\-\\s]*(T\\d{3})\\s+build/i                // Trinity Tablets\n            ], [VENDOR, MODEL, [TYPE, TABLET]], [\n\n            /android.+[;\\/]\\s*TU_(1491)\\s+build/i                               // Rotor Tablets\n            ], [MODEL, [VENDOR, 'Rotor'], [TYPE, TABLET]], [\n\n            //android.+(KS(.+))\\s+build/i                                        // Amazon Kindle Tablets\n            //], [MODEL, [VENDOR, 'Amazon'], [TYPE, TABLET]], [\n\n            /android.+(Gigaset)[\\s\\-]+(Q\\w{1,9})\\s+build/i                      // Gigaset Tablets\n            ], [VENDOR, MODEL, [TYPE, TABLET]], [\n                                                                                // Android Phones from Unidentified Vendors\n            /android .+?; ([^;]+?)(?: build|\\) applewebkit).+? mobile safari/i\n            ], [MODEL, [TYPE, MOBILE]], [\n                                                                                // Android Tablets from Unidentified Vendors\n            /android .+?;\\s([^;]+?)(?: build|\\) applewebkit).+?(?! mobile) safari/i\n            ], [MODEL, [TYPE, TABLET]], [\n\n            /\\s(tablet|tab)[;\\/]/i,                                             // Unidentifiable Tablet\n            /\\s(mobile)(?:[;\\/]|\\ssafari)/i                                     // Unidentifiable Mobile\n            ], [[TYPE, util.lowerize], VENDOR, MODEL], [\n\n            /[\\s\\/\\(](smart-?tv)[;\\)]/i                                         // SmartTV\n            ], [[TYPE, SMARTTV]], [\n\n            /(android[\\w\\.\\s\\-]{0,9});.+build/i                                 // Generic Android Device\n            ], [MODEL, [VENDOR, 'Generic']], [\n\n            /(phone)/i\n            ], [[TYPE, MOBILE]]\n        ],\n\n        engine : [[\n\n            /windows.+\\sedge\\/([\\w\\.]+)/i                                       // EdgeHTML\n            ], [VERSION, [NAME, 'EdgeHTML']], [\n\n            /webkit\\/537\\.36.+chrome\\/(?!27)([\\w\\.]+)/i                         // Blink\n            ], [VERSION, [NAME, 'Blink']], [\n\n            /(presto)\\/([\\w\\.]+)/i,                                             // Presto\n            /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\\/([\\w\\.]+)/i,\n                                                                                // WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna\n            /(khtml|tasman|links)[\\/\\s]\\(?([\\w\\.]+)/i,                          // KHTML/Tasman/Links\n            /(icab)[\\/\\s]([23]\\.[\\d\\.]+)/i                                      // iCab\n            ], [NAME, VERSION], [\n\n            /rv\\:([\\w\\.]{1,9}).+(gecko)/i                                       // Gecko\n            ], [VERSION, NAME]\n        ],\n\n        os : [[\n\n            // Xbox, consider this before other Windows-based devices\n            /(xbox);\\s+xbox\\s([^\\);]+)/i,                                       // Microsoft Xbox (360, One, X, S, Series X, Series S)\n\n            // Windows based\n            /microsoft\\s(windows)\\s(vista|xp)/i                                 // Windows (iTunes)\n            ], [NAME, VERSION], [\n            /(windows)\\snt\\s6\\.2;\\s(arm)/i,                                     // Windows RT\n            /(windows\\sphone(?:\\sos)*)[\\s\\/]?([\\d\\.\\s\\w]*)/i,                   // Windows Phone\n            /(windows\\smobile|windows)[\\s\\/]?([ntce\\d\\.\\s]+\\w)/i\n            ], [NAME, [VERSION, mapper.str, maps.os.windows.version]], [\n            /(win(?=3|9|n)|win\\s9x\\s)([nt\\d\\.]+)/i\n            ], [[NAME, 'Windows'], [VERSION, mapper.str, maps.os.windows.version]], [\n\n            // Mobile/Embedded OS\n            /\\((bb)(10);/i                                                      // BlackBerry 10\n            ], [[NAME, 'BlackBerry'], VERSION], [\n            /(blackberry)\\w*\\/?([\\w\\.]*)/i,                                     // Blackberry\n            /(tizen|kaios)[\\/\\s]([\\w\\.]+)/i,                                    // Tizen/KaiOS\n            /(android|webos|palm\\sos|qnx|bada|rim\\stablet\\sos|meego|sailfish|contiki)[\\/\\s-]?([\\w\\.]*)/i\n                                                                                // Android/WebOS/Palm/QNX/Bada/RIM/MeeGo/Contiki/Sailfish OS\n            ], [NAME, VERSION], [\n            /(symbian\\s?os|symbos|s60(?=;))[\\/\\s-]?([\\w\\.]*)/i                  // Symbian\n            ], [[NAME, 'Symbian'], VERSION], [\n            /\\((series40);/i                                                    // Series 40\n            ], [NAME], [\n            /mozilla.+\\(mobile;.+gecko.+firefox/i                               // Firefox OS\n            ], [[NAME, 'Firefox OS'], VERSION], [\n\n            // Google Chromecast\n            /crkey\\/([\\d\\.]+)/i                                                 // Google Chromecast\n            ], [VERSION, [NAME, 'Chromecast']], [\n\n            // Console\n            /(nintendo|playstation)\\s([wids34portablevu]+)/i,                   // Nintendo/Playstation\n\n            // GNU/Linux based\n            /(mint)[\\/\\s\\(]?(\\w*)/i,                                            // Mint\n            /(mageia|vectorlinux)[;\\s]/i,                                       // Mageia/VectorLinux\n            /(joli|[kxln]?ubuntu|debian|suse|opensuse|gentoo|(?=\\s)arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk|linpus)[\\/\\s-]?(?!chrom)([\\w\\.-]*)/i,\n                                                                                // Joli/Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware\n                                                                                // Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus\n            /(hurd|linux)\\s?([\\w\\.]*)/i,                                        // Hurd/Linux\n            /(gnu)\\s?([\\w\\.]*)/i                                                // GNU\n            ], [NAME, VERSION], [\n\n            /(cros)\\s[\\w]+\\s([\\w\\.]+\\w)/i                                       // Chromium OS\n            ], [[NAME, 'Chromium OS'], VERSION],[\n\n            // Solaris\n            /(sunos)\\s?([\\w\\.\\d]*)/i                                            // Solaris\n            ], [[NAME, 'Solaris'], VERSION], [\n\n            // BSD based\n            /\\s([frentopc-]{0,4}bsd|dragonfly)\\s?([\\w\\.]*)/i                    // FreeBSD/NetBSD/OpenBSD/PC-BSD/DragonFly\n            ], [NAME, VERSION],[\n\n            /(haiku)\\s(\\w+)/i                                                   // Haiku\n            ], [NAME, VERSION],[\n\n            /cfnetwork\\/.+darwin/i,\n            /ip[honead]{2,4}(?:.*os\\s([\\w]+)\\slike\\smac|;\\sopera)/i             // iOS\n            ], [[VERSION, /_/g, '.'], [NAME, 'iOS']], [\n\n            /(mac\\sos\\sx)\\s?([\\w\\s\\.]*)/i,\n            /(macintosh|mac(?=_powerpc)\\s)/i                                    // Mac OS\n            ], [[NAME, 'Mac OS'], [VERSION, /_/g, '.']], [\n\n            // Other\n            /((?:open)?solaris)[\\/\\s-]?([\\w\\.]*)/i,                             // Solaris\n            /(aix)\\s((\\d)(?=\\.|\\)|\\s)[\\w\\.])*/i,                                // AIX\n            /(plan\\s9|minix|beos|os\\/2|amigaos|morphos|risc\\sos|openvms|fuchsia)/i,\n                                                                                // Plan9/Minix/BeOS/OS2/AmigaOS/MorphOS/RISCOS/OpenVMS/Fuchsia\n            /(unix)\\s?([\\w\\.]*)/i                                               // UNIX\n            ], [NAME, VERSION]\n        ]\n    };\n\n\n    /////////////////\n    // Constructor\n    ////////////////\n    var UAParser = function (uastring, extensions) {\n\n        if (typeof uastring === 'object') {\n            extensions = uastring;\n            uastring = undefined;\n        }\n\n        if (!(this instanceof UAParser)) {\n            return new UAParser(uastring, extensions).getResult();\n        }\n\n        var ua = uastring || ((window && window.navigator && window.navigator.userAgent) ? window.navigator.userAgent : EMPTY);\n        var rgxmap = extensions ? util.extend(regexes, extensions) : regexes;\n\n        this.getBrowser = function () {\n            var browser = { name: undefined, version: undefined };\n            mapper.rgx.call(browser, ua, rgxmap.browser);\n            browser.major = util.major(browser.version); // deprecated\n            return browser;\n        };\n        this.getCPU = function () {\n            var cpu = { architecture: undefined };\n            mapper.rgx.call(cpu, ua, rgxmap.cpu);\n            return cpu;\n        };\n        this.getDevice = function () {\n            var device = { vendor: undefined, model: undefined, type: undefined };\n            mapper.rgx.call(device, ua, rgxmap.device);\n            return device;\n        };\n        this.getEngine = function () {\n            var engine = { name: undefined, version: undefined };\n            mapper.rgx.call(engine, ua, rgxmap.engine);\n            return engine;\n        };\n        this.getOS = function () {\n            var os = { name: undefined, version: undefined };\n            mapper.rgx.call(os, ua, rgxmap.os);\n            return os;\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        this.getUA = function () {\n            return ua;\n        };\n        this.setUA = function (uastring) {\n            ua = uastring;\n            return this;\n        };\n        return this;\n    };\n\n    UAParser.VERSION = LIBVERSION;\n    UAParser.BROWSER = {\n        NAME    : NAME,\n        MAJOR   : MAJOR, // deprecated\n        VERSION : VERSION\n    };\n    UAParser.CPU = {\n        ARCHITECTURE : ARCHITECTURE\n    };\n    UAParser.DEVICE = {\n        MODEL   : MODEL,\n        VENDOR  : VENDOR,\n        TYPE    : TYPE,\n        CONSOLE : CONSOLE,\n        MOBILE  : MOBILE,\n        SMARTTV : SMARTTV,\n        TABLET  : TABLET,\n        WEARABLE: WEARABLE,\n        EMBEDDED: EMBEDDED\n    };\n    UAParser.ENGINE = {\n        NAME    : NAME,\n        VERSION : VERSION\n    };\n    UAParser.OS = {\n        NAME    : NAME,\n        VERSION : VERSION\n    };\n\n    ///////////\n    // Export\n    //////////\n\n\n    // check js environment\n    if (typeof(exports) !== UNDEF_TYPE) {\n        // nodejs env\n        if (typeof module !== UNDEF_TYPE && module.exports) {\n            exports = module.exports = UAParser;\n        }\n        exports.UAParser = UAParser;\n    } else {\n        // requirejs env (optional)\n        if (typeof(define) === 'function' && define.amd) {\n            define(function () {\n                return UAParser;\n            });\n        } else if (window) {\n            // browser env\n            window.UAParser = UAParser;\n        }\n    }\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    var $ = window && (window.jQuery || window.Zepto);\n    if ($ && !$.ua) {\n        var parser = new UAParser();\n        $.ua = parser.getResult();\n        $.ua.get = function () {\n            return parser.getUA();\n        };\n        $.ua.set = function (uastring) {\n            parser.setUA(uastring);\n            var result = parser.getResult();\n            for (var prop in result) {\n                $.ua[prop] = result[prop];\n            }\n        };\n    }\n\n})(typeof window === 'object' ? window : this);\n"]}